SEARCH KEYWORD -- class box
Understand GoLang WaitGroup internals and how it works
Background Before getting into the main content, let me give a brief introduction to WaitGroup and its related background knowledge. Here, the focus is on the basic usage of WaitGroup and the fundamental knowledge of system semaphores. For those who are familiar with these, you can skip this section directly. WaitGroup WaitGroup is one of the most common concurrency control techniques in Golang, and its function can be roughly compared to the join() in concurrency control of other languages' mul...
GOLANG,WAITGROUP,SOURCE CODE 2023-04-26 08:02:01
Service discovery with etcd
In previous post, we have talked about etcd and its usage. This post we will cover how to implement server discovery with etcd. Service discovery is to solve one of the most commonly seen scenarios in distributed system where how to find the corresponding target service to talk to. In short, it is to find some server which one can talk to based on some service name. A complete service discovery system include below three key functions: Service registration: A service must register itself to so...
ETCD,SERVICE DISCOVERY,DEMO,TUTORIAL 2021-03-08 05:36:29
What have been Facebook’s greatest technical accomplishments?
To maintain a large website which gets billions of requests er day and keeps very fast response speed is not an easy task. Many big companies are trying best to improve user experience by adopting different techniques. There is a question on Quora which asks "What have been Facebook’s greatest technical accomplishments?". There is a person who worked in Facebook before provided an answer which helps us understanding how Facebook handles huge amount of traffic each day. Here is the answer f...
Facebook, Design, Efficiency 2013-01-15 07:32:07
HeartBleed: Inside the heart, what causes the bleeding?
Just after a few weeks since Apple's famous goto fail bug, there is one bug in OpenSSL which catches the attention from the world again. The bug is named HeartBleed, found in OpenSSL library, a famous open source library supporting lots of SSL/TLS communication among server/client applications. The reason why this bug catches the attentions from the world is it affects almost all sites which are using the affected OpenSSL library, these includes many applications like Nginx server, some v...
OpenSSL,HeartBleed 2014-04-09 05:47:30
Tips of Drafting an R Markdown Document
When presenting the data summary and exploratory analysis, we used to copy a lot of tables, charts from Rstudio to PowerPoint, which makes the presentation preparation painful. It becomes essential for data scientists to make use of better reporting tools, such as R markdown, Jupyter notebook to prepare the analysis presentation in a more efficient and organized way. Of course, we want this to be reproducible! In this post, I would like to share some tips of using the right tools to draw tables,...
R PROGRAMMING 2020-11-01 23:09:45
Add Sublime Text to your context menu on right click
When opening a text file, you may be used to right click on the file to be opened and then choose the application which can open the file from the context menu. On the context menu, you may see a menu item like "Edit with Notepad++". Nowadays many people especially programmers like to use Sublime Text, but by default this application will not show on the context menu when you right click on a file. There is now frequent request to add this application to the context menu. Here we show a simple b...
SUBLIME TEXT,CONTEXT MENU,WINDOWS 2015-10-19 08:51:25
Simplify Cloud Data Security: A Deep Dive Into Protecting Sensitive Data in Java
Featuring encryption, anonymization, hashing, and access control Network security incidents occur now and then, mostly caused by data leakage. Data security has aroused widespread concern, and the community keeps working hard on approaches to simplify data security, especially in sensitive data protection. Sensitive data includes but is not limited to personally identifiable information (PII) like names, ID numbers, passport numbers, driver’s license numbers, contact information like addre...
JAVA,SECURITY,ENCRYPTION,DECRYPTION,TOKENIZATION 2023-04-28 21:22:10
The danger of target=_blank and opener
When want to open a new page in a new tab on clicking a link on a page, the usual way of achieving this is to use target="_blank" property in a tag. However, the use of this leaves space for phishing website. Background parent and opener Before talking about the opener object, let's know a bit about parent object when using iframe. HTML provides a parent object which is used to communicate between the parent page and the embedded iframe element. This parent object can be accessed using...
HTML,TARGET BLANK,REL NOOPENER,REL NOREFERRER 2018-09-15 04:53:56
this in JavaScript
this is a keyword in JavaScript. It refers to an internal object created automatically when a function executes, it can only be used in a function. For example: function test(){     this.x = 1;   }The this keyword will change when a function is called in different situations. However, the general rule is : this refers to the object which calls the function.Next we discuss the use of this in 4 different situatio...
this,keyword,use,JavaScript 2012-05-05 12:47:37
Event Loop Mechanism in JavaScript
Introduction The Event Loop Mechanism The event loop mechanism is the core of how JavaScript handles asynchronous operations. It ensures that the execution order of the code aligns with the expected sequence. JavaScript's Single Thread JavaScript is known for being a single-threaded language, meaning it executes one task at a time. This can lead to a significant issue: if a thread is blocked, the entire program becomes unresponsive. To address this, JavaScript introduced the event loop mechanism...
JAVASCRIPT,EVENT MECHANISM,EVENT LOOP 2024-07-03 08:19:09
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>>