SEARCH KEYWORD -- ABSTRACT CLASS
Gemini Example with Go
To connect and use Gemini with Go, Google's LLM, one can use their official Go SDK for doing this. In this post, we will just show a simple chat example to demonstrate how to make it work with Go. The example is just to ask the model to translate some English to Chinese and get its output. The code actually looks like: var client *genai.Client // geminiOnce.Do(func() { client, err = genai.NewClient(ctx, option.WithAPIKey(string(apiKey))) if err != nil { log.Fatal(err) } model := client.Genera...
EXAMPLE,GO,TRANSLATION,GOLANG,GEMINI 2024-12-14 19:37:23
A simple example on implementing progress bar in GoLang
Sometimes when handling a long running process, there would be need to track the progress so that people know something is still running instead of doubting something goes wrong. In this case, a progress bar which indicates the current status and progress would be desired. This post will show an example on how to implement progress bar using GoLang. Let's take a look at the final outcome first before jumping into the implementation detail. The key in the implementation is actually just the \r ...
TUTORIAL,EXAMPLE,GOLANG,PROGRESS BAR 2020-08-08 23:53:15
Go channel explained
In Go, a channel is a type of concurrent data structure that allows two or more goroutines (Go's term for lightweight threads) to communicate with each other. Channels provide a way for goroutines to send and receive values, and they are an essential part of Go's concurrency model. Here's a simple example that demonstrates how to use channels in Go: package main import ( "fmt" ) func main() { // Create a new channel with the `make` function ch := make(chan int) // Start a new ...
4 ways to obtain access token in OAuth 2.0
OAuth 2.0 is an authorization mechanism, it's ,mainly used for issuing access token. There are 4 ways to obtain access token as per RFC 6749. Authorization code Implicit Password Client credentials The third party application must obtain a client id and client secret from the target service before obtaining access token no matter which method to use. This is to prevent token to be used maliciously. Authorization code With this method, the third party application must first get an authorization...
OAUTH2,ACCESS TOKEN,REFRESH TOKEN 2019-06-29 07:12:03
Understand Virtual DOM
With the popularity of React, the internals and implementation of Virtual DOM has becoming top discussed topic in tech communities and interviews. This post will give an introduction of Virtual DOM and how to implement a simple Virtual DOM logic. How to understand Virtual DOM In early days, front end developers would update a webpage view based on the data status change(usually after making AJAX call). But it brings performance penalties when there is frequent update as it would cause page reflo...
JAVASCRIPT,DOM,VIRTUAL DOM 2019-12-07 23:43:04
Understanding GoLang interface
If goroutine and channel are considered as the foundation for GoLang concurrency, interface would be the key for data types in GoLang. In practical Go programming, almost all data types are built/used around interfaces, interface is the core of GoLang data structures. Go is not a typical OOP language, it has no class and inheritance concept syntactically. But it doesn't mean that there cannot be polymorphism in GoLang. Because of interface, it achieves the same polymorphism effect as in C++, tho...
One Way to Quickly Locate SQL with High CPU Usage in MySQL
When the CPU usage of a MySQL database rises abnormally, it's necessary to quickly identify the problematic SQL statements. In this post, we try to provide one way to achieve this. Below are the actual steps. 1. Use the top command to find the threads with the highest CPU usage in the MySQL process. # Find the MySQL process ID ps -ef | grep mysql # Use the process ID to find the thread IDs with the highest CPU usage: top -H -p In top, press P to sort by CPU usage. Note the thread ID, fo...
MYSQL,DEBUG,HIGH CPU,SLOW QUERY 2024-08-01 21:25:48
Tips to improve JavaScript efficiency
Writing JavaScript code is tedious and error prone. You not only need to implement the necessary functions, but also need to ensure cross browser compatibility. This often causes the low efficiency of JavaScript developers. Here we recommend 12 tips you can benefit from. 1. Remove array element by index If we want to remove one element in an array, we can use splice. function removeByIndex(arr, index) { arr.splice(index, 1); } test = new Array(); test[0] = ’Apple’; test[1] = &rsq...
JavaScript,Tips,Array 2013-07-27 20:50:40
Interesting program comments
With Google Code Search, we can search some interesting code snippets comments. Some of them are interesting. Programming is not a boring task if you have a good attitude. Lets see some funny comments. Have fun.Not very confident :Dragon everywhere :One more angry comment :I told them earlier:F**K:Don't look following programs:Author : 陈皓 Source : http://coolshell.cn/articles/290.html...
Programming,comment,interesting 2012-04-23 06:51:05
10 controversial programming opinions?
Every programmer has his/her own understanding about programming. His/her opinion may or may not be agreed by others since they may face different programming environment. Let's see ten controversial programming opinions. You may agree with these opinions or you may not agree with them or you have your own opinion. You can freely share with others by commenting below.1) The only “best practice†you should be using all the time is “Use Your Brainâ€.2) Programme...
Programming,Opinion,Controversial 2012-05-12 11:02:18
RECENT
- Create Multiple Page PDF with Top and Bottom Margins using jsPDF addImage
- Use a Simple Web Wrapper to Share the Local DeepSeek-R1 Model Service to LAN Users
- Introduction to the pwru Tool and a Case Study
- DeepSeek-R1: The New AI Model Shaking the World
- 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
- more>>