SEARCH KEYWORD -- Bash script



  A mini post on GoLang context

In a GoLang web server, every request coming in will be handled by a goroutine. In the request handler, the logic may also need to create new goroutine to handle other tasks like RPC call. When the request is processed and response is returned, these goroutines created need to be exited so that no goroutine leak should happen. package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/echo", func(w http.ResponseWriter, r *http.Request) { fmt.Println(&r) w.Write(...

   CONTEXT,GOLANG     2019-12-14 06:21:02

  How to install Oracle database on Linux using response file

There are two ways to install Oracle database on Linux :1). Using GUI; 2). Using response file. In this post, the method for using response file will be introduced. To install Oracle, please first get the Oracle database installation file ready. It can be downloaded from Oracle OTN. You need to have an Oracle account before you can download them. And there are three major components of the Oracle database installation : 1). The installation itself; 2). The network configuration; 3). Database cre...

   LINUX,HOW TO,ORACLE DATABASE     2017-06-03 04:15:49

  Power Grid Simulation System 02 : FDI Power Outage Attack Case Study

We are excited to share that the Power Grid Simulation System we developed was used as part of one red team's targeted critical infrastructure system the international cyber exercise Crossed Swords 2024 which conducted in December 2024. In this article, we will introduce one power outage attack case study which use the Power Grid Simulation System as the demo platform for OT cyber security workshop. Project Design Purpose: This case study demonstrates using the Power Grid Simulation System as a...

       2025-01-11 07:35:45

  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

  Using public key authentication in SSH

SSH is a popular cryptographic network protocol for secure network service operation. It is frequently used in remote server login. For a system administrator or software developer, SSH is frequently used to access remote servers or development servers or testing servers etc.  To login with SSH, there are different authentication mechanisms : password, public key and interactive etc. If a remote server needs to be accessed frequently, password authentication may be too troublesome as p...

   LINUX,DEBUG,SSH,PUBLIC KEY     2016-09-10 05:55:46

  Install Open webOS on Linux

HP has just released its first beta version of the webOS, It is said the user experience of webOS is quite impressive, so I immediately had it installed on my PC. There are two versions of Beta release,one embedded version and one Ubuntu version. I briefly share my installation experience of webOS in Linux. In the official document, it says "By 'Linux' we mean 'Ubuntu Linux'", it doesn't support server version and 64 bit version of Ubuntu. Here I use Mint 13. 1. Clone source code from github Add...

   Linux,webOS,Ubuntu,embedded,HP     2012-09-10 19:36:30

  REST和gRPC对比全知道

长期以来,REST是构建API的唯一“标准”。它取代了混乱的“太多XML”的SOAP。但是近年来,出现了新的替代品。2015 年,Facebook 向公众发布了GraphQL,而 2016 年,Google 推出了gRPC。本文将重点介绍 gRPC,并与仍广泛使用的 REST 进行比较。 概述 以下表格将为您提供讨论点的概述,并显示 REST 和 gRPC 的优劣之处。 主题 REST gRPC 标准化 没有标准 定义明确 范式 基于资源...

   COMPARISON,GRPC,REST     2023-04-29 06:44:09

  A simple tutorial on GoLang connecting to Clickhouse

Go, also known as Golang, is a statically-typed, concurrent programming language created by Google. ClickHouse is a high-performance, column-oriented database management system that can be used for real-time data analysis. This tutorial will provide a deep dive into how to connect to ClickHouse from a Go program, including how to perform common database operations such as SELECT and INSERT statements. Before proceeding, it is assumed that you already have Go and ClickHouse installed on your mach...

   GOLANG,CLICKHOUSE,TUTORIAL     2023-02-11 07:05:36

  Why is single threaded Redis so fast

Redis is a high-performance, in-memory key-value database. According to official test reports, it can support around 100,000 QPS (queries per second) on a single machine. However, Redis uses a single-threaded architecture in its design. Why does Redis still have such high performance with a single-threaded design? Wouldn't it be better to use multiple threads for concurrent request processing? In this article, let's explore why Redis has a single-threaded architecture and still maintains its spe...

   REDIS,SINGLE-THREADED,MULTI-THREADING     2023-02-28 05:16:22

  JavaScript interview questions

This post will cover the JavaScript questions I have encountered and have seen during my programming career. They will mainly focus on vanilla JavaScript though there are lots of excellent frameworks out there and many people are using them in their daily work. this keyword this keyword is an very important but easy to confuse concept in JavaScript since it is always referring to the calling object of the function. 1. What will be the output of below code snippet? function User(name) { this....

   JAVASCRIPT,ALGORITHM,THIS,CLOSURE     2019-03-09 07:05:46