SEARCH KEYWORD -- GOOD DESIGN



  First Touch on OpenAI API

It’s been a while since ChatGPT launched, and I’ve been meaning to try out the OpenAI API. Recently, I finally took the plunge, so here’s a walkthrough of my initial experience using it. Objective: I’ve previously used ChatGPT’s interface for language translation tasks between Chinese and English. For this API experiment, I aimed to set up a simple translation function using the OpenAI API. Step 1: Getting the API Key First, to access the API, I created an OpenAI ac...

   TUTORIAL,API,TRANSLATION,OPENAI,FREE ACCOUNT     2024-11-11 22:25:07

  Why using + to concatenate string in Java loop is not a good option

String concatenation is a common operation in Java programming. It is to concatenate multiple strings into a single string. Java provides a String class which is an immutable class which means the object cannot be mutated once instantiated. Once a String object is instantiated, its properties cannot be changed anymore, so when concatenating strings, it's actually create a new String instance to store the concatenated string values. For example, below is a simple string concatenation example. Str...

   JAVA,STRING,JAVA 8     2019-01-18 22:07:12

  JavaScript programming style

Douglas Crockford is a JavaScript expert, he is the inventor of JSON. In November 2011 he made a speech "Youtube", during the speech he talked about what JavaScript programming style is.I recommend this speech to everyone, it not only helps you learn JavaScript but also make you enjoying because Crockford is very humorous and he made audience laugh frequently.Next I will summarize JavaScript programming style according to this speech and his article code convention. The so-called programming ...

   JavaScript, programming style,Curly braces,Equal     2015-10-14 10:16:44

  Why accessing Java HashMap may cause infinite loop in concurrent environment

HashMap in Java is frequently used to handle key/value pairs. But it is not a good candidate to be used in concurrent environment where ConcurrentHashMap should be used instead. If used in concurrent environment, it may cause lots of unexpected behavior even including make the program getting into an infinite loop situation. To understand how this can happen, let's first discuss how HaspMap works internally. In this post we will use implementation of HashMap before Java 8 as example, Java 8 prov...

   JAVA,HASHMAP,INFINITE LOOP     2020-03-29 01:47:00

  Consistency between Redis Cache and SQL Database

Nowadays, Redis has become one of the most popular cache solution in the Internet industry. Although relational database systems (SQL) bring many awesome properties such as ACID, the performance of the database would degrade under high load in order to maintain these properties. In order to fix this problem, many companies & websites have decided to add a cache layer between the application layer (i.e., the backend code which handles the business logic) and the storage layer (i.e., the SQL d...

   REDIS,CACHE,DATABASE     2019-07-07 08:14:16

  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

  Cybersecurity | The New Dangers That Lurk Online and Their Solutions

(Image source: Pexels) Data is one of the most important things to us. While robbers that steal valuables like laptops, phones, or money are still a threat, cybercrimes are also more dangerous than ever. That’s because your data is far more valuable than you might think. Companies benefit from users’ data by applying it for their indexing, marketing, and accumulation needs. They actively use this information to sell you more products. Have you ever visited Amazon and instantly got a ...

   DATA SECURITY,VPN     2020-04-23 06:47:37

  How to play with cross domain request

What is cross domain request In simple, cross domain request is to request resource from other domain in one domain. Note, the "other domain" doesn't just mean domain name only, it includes much more. If the protocol, domain name, port is not the same, two domains will be considered different.  Below example describes what is considered as different domain. http://www.a.com/a.jshttp://www.a.com/b.js               # Same domainhttp://www.a.com/lab/a.js &nb...

   FRONT END,JSONP,CROSS DOMAIN,CROSS ORIGIN,CORS,DOCUMENT.DOMAIN,WINDOW.NAME     2016-11-06 00:48:54

  Performance comparison of string concatenation in Go language

In Go language, string concatenation is an inevitable operation during development, and efficient string concatenation is crucial for improving application performance. This article will delve into several common ways of string concatenation, provide performance comparisons, and offer optimization suggestions aimed at helping developers write more efficient code. Common ways of string concatenation In Go language, common ways of string concatenation include the following: Using the + operator fo...

   COMPARISON,PERFORMANCE,STRING CONCATENATION     2024-05-13 00:33:20

  Google’s BERT - What changed and what didn’t

Most of us should already be aware that Google has updated their algorithm. The new algorithm is called BERT (Bidirectional Encoder Representations from Transformers) and has made at least a couple of modern-day SEO experts scratching their heads trying to figure out what it means.   The good news is that there have been no major changes enough to make SEO experts change their strategies drastically. This means that all of the linking and keyword researching techniques remain the same and w...

   GOOGLE UPDATE,BERT,GOOGLE ALGORITHM,GOOGLE SEARCH     2019-10-30 05:35:05