Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Logic



  Demo on creating worker pool in GoLang

A worker pool is a pool where a specified number of workers(usually goroutine) created and run to pick up tasks. This can allow multiple tasks to be ran at the same time while keeping the number of workers a fixed number to avoid overuse of resource in the program. There are usually two approaches of creating worker pool. One is with fixed number of workers pre-created One is creating worker when needed until the max number of workers created In this post, we will cover the demonstration of cr...

   WORKER POOL,GOLANG,GOROUTINE     2021-01-24 05:04:00

  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

  Apple share price drops again

According to Sina Financial, Due to worries about mini iPad shipments for the second quarter, investors continued to sell Apple stock (AAPL) on Wednesday, its intraday stock price fell 4.8% to its lowest level for the past year.Beijing time 23:00, Apple shares fell 4.76% to $405.97. DigiTimes reported that due to lack of market demand, mini iPad shipments fell 10% to 20% in the second quarter.Edward Parker from Lazard Capital wrote: "We continue to expect that Apple is at risk, it's mainly on a...

   Apple,Stock price,Drop     2013-04-17 12:04:48

  30 minutes to fix Java vulnerability

On September 25, Adam Gowdiak from the Polish security consulting firm Security Explorations submitted a Java security vulnerability to Oracle and provided a proof-of-concept. The vulnerability exists in Java 5 6,7, once the user accesses hosted malware site, an attacker can remotely control the infected machine.Gowdiak later got in touch again with Oracle and got the response that the fix has reached the final stage. He can expect the patch in four months later. He eventually unbearable Oracle'...

   Java, Vulnerability,Fix     2012-10-29 11:53:43

  Supervisord, God and Monit, which one to choose?

With the popularity of Docker, more and more service have been moved into docker containers and they are easy to build up and maintain for each atomic service(though it's a bit complex to maintain multiple docker containers which contain different service to form a complete solution). Ideally, each docker container should only contain one service which has only one running process. However, in reality there would be cases multiple processes would run in one single docker container and there is a...

   DEVOPS,MONIT,SUPERVISORD,GOD,DOCKER     2017-11-25 12:28:11

  What is Hystrix and How does Hystrix work

Background In distributed systems, there is one effect where the unavailability of one service or some services will lead to the service unavailability of the whole system, this is called service avalanche effect. A common way to prevent service avalanche is do manual service fallback, in fact Hystrix also provides another option beside this. Definition of Service Avalanche Effect Service avalanche effect is a kind of effect where the service provider fails to provide service which causes t...

   AVALANCHE EFFECT,HYSTRIX,DISTRIBUTED SYSTEM     2019-02-04 06:00:38

  What can select do in GoLang

In Go language, select is a keyword used to listen to and perform IO operations related to channels. With the select statement, we can simultaneously listen to multiple channels and perform corresponding operations when any of the channels are ready. This article will summarize the common uses of the select statement and provide some considerations when using it. Basic syntax The basic syntax of the select statement is as follows: select { case <-channel1: // when channel1 has data to ...

   GOLANG,SELECT,USAGE,SYNTAX,TUTORIAL     2023-08-12 20:17:02

  Which programming language should I learn first?

Recently I saw somebody asked a question in a forum, the question is "Which programming language should I learn first?". Then someone answered this question. His answer:Depends. To program in an expressive and powerful language: PythonTo get a website up quickly: PHPTo mingle with programmers who call themselves “rockstars”: Ruby.To really learn to program: C.To achieve enlightenment: Scheme.To feel depressed: SQLTo drop a chromosome: Microsoft Visual BasicTo get a guaranteed, m...

   Programming language,Learn,JavaScript,C     2012-04-29 02:59:17

  Engineer mindset in internet companies

This post tries to list down how we keep engineer mindset while doing development work. We engineers are the ones deliver the actual product by writing each and every line of the code, in order to deliver high quality and less buggy code, we should keep reminding ourselves what needs to be paid attention to during our daily development work.  So what is engineer mindset? Engineer mindset is that we should keep in mind that each and every line of code we write should serve the purpose well a...

   ENGINEER MINDSET,INTERNET COMPANY     2021-10-07 04:09:08

  Testing is not a Feature

I pointed out to someone at work today that PyDev 2.5.0 now offers really cool TDD support. I’m not a huge TDD proponent or anything, but this stirred up a discussion. This guy, let’s call him John, said that â€œTDD may shorten the time it takes to develop a feature, but sometimes a feature is so urgent we may want to deliver it as quickly as possible and test it later”.Sentences like that make me weep. I tried to explain that without testing, the...

   Testing,Feature,Software testing     2012-04-24 06:30:09