SEARCH KEYWORD -- Error handling style
Guide to Implement an SSH Client Using Golang
SSH, short for Secure Shell, is a network protocol used for securely remote logging into other computers on a network. I believe most backend developers are familiar with SSH. Common shell tools used for logging into servers, such as Xshell, SecureCRT, and iTerm2, are all based on the SSH protocol. In Golang, the crypto/ssh package provides functionality for implementing an SSH client. In this article, we will explain in detail how to implement an SSH client using Golang. Creating SSH Client Con...
SSH CLIENT,GUIDE,SSH,GOLANG 2023-11-11 09:19:29
Restore mocked variables in GoLang unit test
One of the guarding principles of writing unit test is that there should be no real external calls for dependant services. Unit test should run by its own and can run without issues on any environment including local, build, test environment. This indicates there should be some mock responses whenever an external call is needed so that different unit test scenarios can be covered. How can this be done in GoLang? In GoLang, anything can be assigned to a variable even including functions. A variab...
GOLANG,UNIT TEST,MOCK FUNCTION,RESTORE MOCK 2021-12-10 20:43:00
Fix could not read Username for 'https://xxx.com': terminal prompts disabled
Recently was working on a project which needed to build a docker image, but unfortunately it kept failing as below error was seen. fatal: could not read Username for 'https://xxx.com': terminal prompts disabled Based on the error, it looked like it was trying to pull code from remote Gitlab repository but failed as the terminal prompt is disabled. At first glance, have a doubt why it needs terminal prompt to be enabled? It should just succeed and without prompting for anything. The only reason...
GIT,TERMINAL PROMPTS DISABLED,DOCKER 2020-12-13 04:43:12
errGroup in GoLang explained
Today, let's talk about the usage and applicable scenarios of errGroup, which is often used. Why is it useful? Generally, when we use goroutine, we cannot return a value. If you want to pass out the result of the goroutine execution, you usually have to use the channel. The errGroup package is suitable if you want to know when the goroutine you opened encounters an error during execution and stop working, and I need to know the error value. errGroup usage The package needs to be downloaded and i...
GOLANG,ERRGROUP,WAITHROUP,CONCURRENCY 2023-05-27 23:58:20
Handle NXDomain error when resolving IP address in Ruby DNS resolver
In another post, we covered how to resolve SystemStackError when resolving IP address in Ruby. In this post, we would cover another common issue where a NXDomain error is returned when resolving an IP address. The NXDomain error means that the queried domain name does not exist in the DNS. In Ruby, DNS resolver library will use /etc/resolv.conf by default get the name servers to resolve the domain name. There are multiple DNS name servers can be specified in /etc/resolv.conf with below format. ...
RUBY,RUBY ON RAILS,NETWORK,DNS,NXDOMAIN 2017-07-16 01:39:23
“Experience says it allâ€- Pentaho ETL Developers’ Comment on the Use of ETL Tools
Since months Pentaho ETL developers have been juggling with three distinct tools- Pentaho DI, SSIS, and PowerShell. Their experience has provided them new perspective on the cons and pros of every tool. In this post, they are sharing their experience with these tools and explain their significance. Before getting started, they first would like to explain ETL in brief and how the tools suits ETL landscape. ETL is Extract Transform Load. Informatica was the initial ETL tool introduced in the mid n...
Pentaho BI ETL tools 2015-05-13 01:14:57
The basics of Client/Server socket programming
While Client/Server communication model is ubiquitous nowadays, most of them involve socket programming knowledge. In this post, I will introduce some rudimentary aspects of it: (1) Short/Long-lived TCP connection.Short-lived TCP connection refers to following pattern: Client creates a connection to server; send message, then close the connection. If Client wants to transmit information again, repeat the above steps. Because establishing and destroying TCP s...
Strict mode in JavaScript
1. Introduction In addition to normal mode, ECMAScript 5 includes the other mode : strict mode. It means it will make JavaScript codes execute in a more strict environment. The purposes to have strict mode are: Remove some unreasonable and parts of JavaScript syntax. Reduce some of the quirk behaviors. Remove some insecure parts of code execution. Make the execution environment more secure Improve interpret efficiency and increase the execution speed Build foundation for future JavaScript versi...
JavaScript, Strict mode. Introduction 2013-01-17 05:00:26
Fix issue where no Java virtual machine found when launching Eclipse
In cases where a new Eclipse is installed or the location of the Java virtual machine binaries has been changed, you may face issue when launching Eclipse. The error would look like. And if you go to the location specified in the error message, there is no such path indeed. And when clicks OK, the program just exits. The issue here is that it tries to find the java.exe binary and launch the program but it failed to locate it and hence exits. To fix this, you first need to ensure you have...
ECLIPSE,JAVA,LAUNCH,ECLIPSE.INI 2019-09-07 05:31:27
How to check whether a struct implements an interface in GoLang
Unlike other programming languages like Java, when implementing an interface in GoLang, there is no syntax like below to explicit tell the relationship: type I interface { } type A struct implements I { } When looking at the code or running the code in GoLang, it might lead to a case one doesn't know whether a struct implements interface before trying to use it as some interface. According to GoLang spec, as long as a struct implements all functions of an interface, it is considered as having i...
GOLANG,INTERFACE,IMPLEMENTATION,CHECK 2020-05-03 00:05:54
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>