Go 語言中嘗試延遲執行一個函數
Go 編程語言提供了豐富的特性,使得像 Google 這樣的大型公司能夠高效地進行軟件開發。它爲許多雲服務提供商和分佈式服務的底層基礎設施提供支持,同時保持了簡單易學的特點。在 Go 中,我們可以根據需要使用指針類型和值類型。在本文中,我們將探討一個有趣的使用場景。函數調用中的切片和映射傳遞————-通常,在 Go 中調用函數時,切片(slice)和映射(map)並不是通過指針傳遞 ⌘ Read more
用 Option 模式和對接層簡化和管理 Go 項目的外部 API
在項目開發實現功能需求的過程中不可避免的要與外部第三方系統進行交互,這些交互大部分是通過請求 API 接口來完成的。前幾節提到但一直沒帶大家用代碼過一遍的 Lib 層就是負責寫第三方對接邏輯的,通過把跟第三方對接的邏輯限制在 Lib 層裏,讓項目的其他部分不需要關注第三方的邏輯,從而達到每部分都職責分明,這樣項目的代碼多起來後纔不會變得臃腫和雜亂。不過在演示 Lib 層的使用前我們需要先一起給項目 ⌘ Read more
Go 源碼是如何解決測試代碼循環依賴問題的?
最近我寫了一篇講解 context 包源碼的文章《Go 併發控制:context 源碼解讀》,在閱讀源碼的過程中,我在 context 包測試代碼中發現了一個解決循環依賴的小技巧,在此分享給大家。xtest.go 解決循環依賴context 包源碼目錄結構如下: https://github.com/golang/go/tree/go1.23.0/src/context$ tree contex ⌘ Read more
Go 語言五種實現 broadcaster 的方法,你喜歡哪一種?
昨天看到 Jaana Dogan 創建了一個 broadcaster 的庫, 話說美女 Jaana Dogan 又回到了 Google 了麼。她的實現我們就當做 broadcaster 的第一個實現吧。什麼是 broadcaster?就是村口的大喇叭,一播音,全村都知道了。Jaana Dogan 實現的這個 broadcaster 只有通知的功能,沒有傳遞消息,也不能重用。我們就以這個庫爲基準,看 ⌘ Read more
since twtxt is based on text files, I think you can consider @domain.tld as an alias of http://domain.com/twtxt.txt (or https://domain.com/tw.txt, among other combinations in the wild).
Or perhaps you can use DNS TXT records?
Although I think that’s a bit more complicated for some environments and users, I’d go with looking for a default /tw*.txt
One benefit with bluesky is your username is also a website. And not a clunky URL with slashes and such. I wish twtxt adopted that. I have advocated for webfinger to for twtxt to let us do something like it with usernames. Nostr has something like it
By default the bsky.social urls all redirect to their feeds like: hmpxvt.bsky.social
Many custom urls will redirect to some kind of linktree or just their feed cwebonline.com or la.bonne.petite.sour.is or if you are a major outlet just to your web presence like https://theonion.com or https://netflix.com
Its just good SEO practice
Do all nostr addresses take you to the person if typed into a browser? That is the secret sauce.
No having to go to some random page first. no accounts. no apps to install. just direct to the person.
One benefit with bluesky is your username is also a website. And not a clunky URL with slashes and such. I wish twtxt adopted that. I have advocated for webfinger to for twtxt to let us do something like it with usernames. Nostr has something like it
By default the bsky.social urls all redirect to their feeds like: hmpxvt.bsky.social
Many custom urls will redirect to some kind of linktree or just their feed cwebonline.com or la.bonne.petite.sour.is or if you are a major outlet just to your web presence like https://theonion.com or https://netflix.com
Its just good SEO practice
Do all nostr addresses take you to the person if typed into a browser? That is the secret sauce.
No having to go to some random page first. no accounts. no apps to install. just direct to the person.
UK Government Announces Plan for 95% Green Energy by 2030
Cristen Hemingway Jaynes, Staff Writer - EcoWatch
Stephan: The science on the negative effects of carbon energy on Earth’s wellbeing is irrefutable. But still, the United States under the worst President in the country’s history is preparing to emphasize its commitment to carbon energy. In contrast the rest of the world’s democracies are going in the opposite direction. Here is the latest from the U.K.
![ … ⌘ Read more
As Trump escalates war on facts, scientists warn “we are going to get screwed”
Matthew Rozsa, Staff Writer - Salon
_Stephan: So many Americans, including a large number of Republican Congress members, led by Trump, are so poorly educated that they have become convinced environmental science is some kind of conspiracy, not the actual truth. Every scientist I know, including myself, sees this Trumpian war on facts as an ongoing catastrophe for Amer … ⌘ Read more
用 Go 實現 TCP 連接的雙向拷貝
在做網絡編程時,我們常常會遇到各種性能問題,尤其是在面對大量連接和高併發的情況下。今天,我就來聊聊如何用 Go 實現一個高效的 TCP 連接的雙向拷貝機制,幫助你減少延遲、提高吞吐量。這篇文章既適合對網絡編程有一定了解的開發者,也適合那些想要進一步提升性能的程序員。首先,給大家簡要介紹一下 “TCP 連接的雙向拷貝” 是什麼意思。簡單來說,這就是將來自一個連接的數據拷貝到另一個連接,通常這種操作是 ⌘ Read more
設計模式 in Go:Prototype
建造模式,處理與創建對象及對象實例化過程相關的問題,通常尋求以分離業務代碼和對象創建邏輯,或將複雜的構造邏輯封裝在可重用組件中的方式。讓我們來探討第四種創建模式——原型模式。問題背景: 我們有一個對象,你要創建它的一個拷貝。您可以採用什麼方法來實現這一點?也許您需要知道該對象所屬的類型,從而能夠創建新的同樣類型的對象,然後將原始對象中每個字段值複製到新對象中。該類包含一些隱藏字段,因此你無法複製 ⌘ Read more
asyncgo,純 Go 編寫的異步執行器
Asyncgo[1] 是純用 Go 編寫的零依賴異步任務執行器,優先考慮速度和易用性。特徵–異步任務執行:提交任務以異步執行並檢索結果。 無需手動管理 Goroutine :抽象化管理 Goroutine 的複雜性,並簡化代碼。 工作池管理:Asyncgo 仔細處理工作池創建和任務執行。 正常關閉:確保在關閉工作線程之前完成所有現有任務。 任務取消:支持終端終止任務。 ⌘ Read more
設計模式 in Go: Memento
行爲模式旨在解決對象間通信和交互相關的問題,專注於定義那些複雜到無法靜態設計的協作策略,這些協作策略使得程序可以在運行時動態地進行職責派遣以實現更好的擴展。今天我們開始第 3 個行爲模式的學習 —— Memento(備忘錄模式)。問題背景:在我們需要記錄和恢復對象的內部狀態,而又不希望破壞封裝原則時,可以使用備忘錄模式。有時,我們需要在特定時間點保存對象的狀態,並能夠在以後恢復該狀態。然而,直接暴 ⌘ Read more
No. 2025 Won’t Be The Year of The Linux Desktop.
Programmers banned. Bankruptcy & Funding problems. Lawsuits galore. 2024 was the worst year for Linux. Ever. And 2025 isn’t going to save us. ⌘ Read more
Here’s what happens when the world’s richest man buys the presidency
Sabrina Haake, Contributing Writer - Raw Story
_Stephan: Here is what I think is a very insightful commentary on what is going to happen starting 21 January when the United STates becomes an authoritarian oligarchy instead of a democracy. All the weak-minded Trump voters are about to discover what they have done to themselves as they, and the rest of us, experience the worst and most bia … ⌘ Read more
(#uipdbaa) @movq If it turns out alright, my daughter is going to do a few more designs for me! You’d be more than welcome to just click and pur …
@movq @www.uninformativ.de If it turns out alright, my daughter is going to do a few more designs for me! You’d be more than welcome to just click and purchase them of my portfolios when ready 🤣 ⌘ Read more
Are posts here still going to twtxt?
haha, that’s gold xD.
#randomMemory I remember when I was starting to code, like 30 years ago, not understanding why my Basic file didn’t run when I renamed it to .exe
And nowadays, I’ve seen a few Go apps in a single executable, so twtxt.exe could be a thing, he!
The Uniform
[Based on a story I wrote during upper-secondary school based on real
events. I translated it recently from Swedish and edited some of it. I
removed most (all?) elements of fiction.
Not a typical night, since it’s at an event in another city, but it
gives a taste of what partying in, say, 1989(?) was like. And yes, I
really usually drank two bottles of wine during a pre-party in those
days. Not unusual in the crowd I was hanging out with, I’m afraid.]
I was maybe 17 or 18. I was going to Härnösand, two train sto … ⌘ Read more
Trump’s policies ‘should be turning off farmers’ – why did so many vote for him?
Stephen Starr, Staff Writer - The Guardian (U.K.)
_Stephan: As I read or watch American journalism media I have been struck by the interviews with Trump voters who, if Trump does what he says he will, are going to be severely impacted, but don’t seem to think that will happen to them. It is very weird, but it seems to be the case. So by March, I think we are going to … ⌘ Read more
Monarch butterflies to be listed as a threatened species in US
Todd Richmond, Reporter - Associated Press
_Stephan: This is good news about a bad situation. The annual Monarch butterfly migration that has been going on for thousands of years in the past several decades was seriously endangered by human greed and stupidity. But these iconic butterflies have now been placed on the endangered species list and will receive protection as described in this article. … ⌘ Read more
HeapMap: 一個混合功能的數據結構 Go 語言實現
今天在準備《祕而不宣》系列下一篇文章時,思緒飄散了,突然想到使用 Heap 的功能再加 HashTable (Map) 的功能,可以構造一種新的數據結構,然後把我聚合程序中的數據聚合數據結構替換掉,總之思緒翩翩。然後在網上搜了一下,這種數據結構其實早就有了,名字叫 HeapMap。HeapMap (也叫做 PriorityMap) 是一種結合了堆和哈希映射的數據結構,常用於需要按鍵排序並進行高效查 ⌘ Read more
Go 高級構建指南
本文將探索 Golang 高級構建技巧,從而有助於創建更高效的二進制文件。原文: Advanced Go Build Techniques[1]構建選項以下是 go build 命令最常用的一些選項:-o: 指定輸出文件名。默認輸出文件名是主軟件包的名稱,在 Windows 系統中會自動添加 .exe 後綴。 -v: 詳細輸出。該選項會在編譯時打印軟件包的名稱。 -work: 打印 ⌘ Read more
Weakened US public broadcasters will fight for their lives in 2025
Max Tani, Staff Writer - SEMAFOR
_Stephan: If you watch PBS/NPR, or listen to it on the radio as my wife and I do, I am sure you have noticed a significant increase in time spent on fundraising. This article describes why this is happening, and where it is headed. The Trump autocracy and their Republican servants in Congress, I think, and this article confirms, are going to try and cut off … ⌘ Read more
ROG:高性能 Go 實現
本文根據字節跳動服務框架團隊研發工程師在 CloudWeGo 技術沙龍暨三週年慶典中演講內容《ROG——高性能 Go 實現》整理。 作者|不願意透露姓名的小劉市民ROG 之緣起ROG 的誕生是因爲我們一部分業務使用 Rust 重寫之後,獲得了非常好的收益,比如 AVG、CPU、MEM、P99,這些數據表現非常好,大約節省了接近 50% 的 CPU,內存大大降低。這個性能數據讓人眼紅,因此 ⌘ Read more
Go - Ollama 在本地構建你的 RAG 應用
這篇文章會引導大家使用 Golang 設置本地大型語言模型 (LLM) 並與之交互,以此在本地構建你的 AI 應用。設置本地 LLM首先,我們需要在本地計算機上運行 LLM。爲此,我們將使用 Ollama(可在 GitHub ollama[1] 上獲取)。雖然本地加載模型有多種選擇,但我發現 Ollama 是相對容易使用的。Ollama 支持 macOS、Linux 和 Windows。本文的代碼 ⌘ Read more
從理論到實踐:Go 項目中的整潔架構設計
前言你維護的Go 項目代碼架構是什麼樣子的?六邊形架構?還是洋蔥架構?亦或者是DDD?無論項目採用的是什麼架構,核心目標都應是一致的:使代碼能夠易於理解、測試和維護。本文將從Bob 大叔的整潔架構(Clean Architecture)出發,簡要解析其核心思想,並結合go-clean-arch 倉庫,深入探討如何在Go 項目中實現這一架構理念。準備好了嗎?準備一杯你最喜歡的咖啡或茶,隨着本文一探究 ⌘ Read more
推薦一個 Go 版本的支付庫
gopay 是一個使用 Golang 編寫的支付庫。現在支持微信、支付寶、QQ、通聯支付、拉卡拉、PayPal。使用方法如下:引入 gopay 庫go get -u github.com/go-pay/gopay使用示例:import ( “github.com/go-pay/gopay” “github.com/go-pay/xlog”)func main() { xlog.I ⌘ Read more
kcp 協議的 Golang 實現庫
kcp-go 是 Golang 實現的 kcp 協議庫,它是可靠的 UDP 庫。該庫 kcp-go 旨在通過 UDP 數據包提供流暢、有彈性、有序、經過錯誤檢查和匿名的流傳遞。該庫和開源項目 kcptun 經過了戰鬥測試。從低端 MIPS 路由器到高端服務器,數以百萬計的設備在各種應用中部署了基於 kcp-go 驅動的程序。包括在線遊戲、直播、文件同步和網絡加速。我們介紹一下 kcp 協議,kcp ⌘ Read more
Go 併發控制:context 源碼解讀
context 是 Go 語言的特色設計之一,主要作用有兩個:控制鏈路和安全傳值,並且 context 是併發安全的。context 在 Go 1.17 版本被引入,經過數年的迭代,在設計和用法上已經趨於穩定,本文以最新的 Go 1.23.0 版本源碼爲基礎,帶你深入理解 context 的設計和實現。context 設計context 被設計爲一個接口,名爲Context。爲了支持不同特性,這個 ⌘ Read more
Borgo:像寫 typescript 一樣來寫 Go,爽飛了
最近,我發現了一個有趣的新編程語言——Borgo。如果你是一個對編程語言感興趣的開發者,或者在使用 Go 開發應用時曾想過 “如果 Go 能多點現代語言特性會怎樣”,那這篇文章一定值得你讀下去!Borgo 的定位非常清晰:它是一種以簡潔和高效爲核心的語言,最終編譯成 Go 代碼。這意味着什麼?你不僅能獲得 Go 語言的性能優勢,還能享受到現代編程語言帶來的靈活性和便捷性。今天我們來聊聊 Borgo ⌘ Read more
fullmetalScience submits CCS proposal for ‘NoShore’ project
fullmetalScience1 has submitted their first CCS proposal2 looking to complete work on NoShore, a project dedicated to on-the-go offline payments:
TL;DR The document proposes a shell-based environment that users can run to enable offline payments with supporting merchants, whereas the actual signing device will be developed separately in an upcoming iteration.
”`
Total funding: 45 XMR.
ETA: Read more”`
Arctic Refuge Is One of Earth’s Last Truly Wild Places. Trump Calls it America’s “Biggest Oil Farm.”
Maanvi Singh, Staff Writer - Mother Jones
_Stephan: The Trump authoritarian oligarchy is going the significantly increase the use of carbon energy and the destruction of the environment. Nothing I am seeing in this transition period suggests the future holds much good news. Quite the contrary. I think by March we are going to se … ⌘ Read more
在 Go 中如果獲取 goroutine 的 id?
如果你使用過如 Python、Java 等主流支持併發的編程語言,那麼通常都能夠比較容易的獲得進程和線程的 id。但是在 Go 語言,沒有直接提供對多進程和多線程的支持,而是提供了 goroutine 來支持併發編程。不過在 Go 中,獲取 goroutine 的 id 並不像其他編程語言那樣容易,但依然有辦法,本文就來介紹下如何實現。獲取當前進程的 id首先,雖然 Go 沒有提供多進程編程,但啓 ⌘ Read more
[ANN] [CCS Draft] NoShore: Groundwork for on-the-go offline payments
Please feel free to review the linked CCS-draft - any workable feedback is welcome!
Link: https://repo.getmonero.org/fullmetalScience/ccs-proposals/-/blob/noshore/fullmetalscience-noshore.md
u/fullmetalScience (monero.town) ⌘ Read more
@bender@twtxt.net I wonder where that dude who was hosting his twtxt feed in a google drive go? 😆 that was hilarious!!
Monero Tech meeting scheduled for 16 December 2024 1800 UTC
The next Monero Tech meeting is scheduled to take place on Monday, December 16 2024 at 18:00 UTC, in the #no-wallet-left-behind 1 IRC-Libera/Matrix channels:
Based on the opinions given here2 I decided to go back to the No Wallet Left Behind Matrix room and IRC channel for the next i.e. coming Monday’s meeting, and to not contiune to hold meetings like the last one in the -dev Matrix room and IRC channel.
This meeting’s c … ⌘ Read more
(#skgn6ea) @bender@bender Already planning on going back to the same place again next year 🤣
@bender Already planning on going back to the same place again next year 🤣 ⌘ Read more
Republican senator prepares ‘DOGE Act’ targeting agencies
Kevin Bogardus, - Politico
_Stephan: Tennessee MAGAt Republican Senator Marsha Blackburn has always been a notably inferior and incompetent member of the Senate, although the people of Tennesse don’t seem to see this. She has also always been a submissive doxy to Trump, and I am not surprised that he chose her to introduce legislation to legalize his previously non-existent DOGE agency that is going to gut d … ⌘ Read more
The Right Has a 150-Page Battle Plan to Shut Down Progressive Civil Society
Negin Owliaei and Maya Schenwar , - truthout
_Stephan: The MAGAt Republicans under Trump’s guidance first with Project 2025 and now with legislation like HR 9495 have made it very clear what they intend, and this is what I think is going to happen to the United States. By March, I think America will have become a plutocracy with Trump as an authoritarian leader. What I w … ⌘ Read more
Editor’s Note – Can You Help
, -
Stephan:
Two readers wrote me, and my wife told me, I should have left this note up for a couple of more days. And so I do.
First of all, I want to thank all who have been sending in monthly contributions or have sent in support over the past two days. This makes a great deal of difference to me. I am going to run this one more day.
I have been doing SR now for 33 years; I give it away freely and don’t permit advertising because I don’t have time to dig out … ⌘ Read more
This is how many animals could go extinct from climate change
Benji Jones, Environmental Correspondent - Vox
_Stephan: Nothing I see suggests to me that the coming christofascist autocracy is going to do anything substantial about protecting the matrix of life from the devastation of climate change. Here is a sense of what is coming. I urge you to get involved with some citizens’ movement that works to protect democracy and prepare meaningfully to change the … ⌘ Read more
How climate risks are driving up insurance premiums around the US – visualized
Oliver Milman , Environment Reporter - The Guardian (U.K.)
_Stephan: I have given you a number of articles about what climate change is doing, and is going to do to the cost of home and business insurance if you can get it at all. The insurance industry, both healthcare and real estate, poured millions of dollars into getting Trump elected, so I doubt he is going to d … ⌘ Read more
Go 語言中的併發模式
Go 語言以其併發性和輕量級的 goroutine 而聞名,學習如何使用和處理它們是最具挑戰性的任務。在本文中,我將展示一些併發模式及其使用場景,以幫助您識別所需場景的模式。Goroutine————package mainimport ( ”fmt” ”time”)func main() { go sayHello() // 啓動goroutine tim ⌘ Read more
Go sync-Pool 性能優化的利器
sync.Pool 簡介————sync.Pool 是什麼sync.Pool 是 Go 語言標準庫中提供的一個用於對象複用的工具,它具有以下特點:對象緩存:使用 Get、Put 方法可以獲取和歸還 sync.Pool 中的數據,從而減輕內存分配與垃圾回收的壓力; 自動回收:sync.Pool 中的對象可能會被自動回收。這意味着即使你將對象放入池中,也不能保證該對象會一直存在於 ⌘ Read more
Walmart rolls back DEI programs after right-wing backlash
y Nathaniel Meyersohn, Reporter - CNN
Stephan: As MAGAt world becomes increasingly dominant in the United States the emerging trend is we are becoming an increasingly nasty country, and I predict it is going to get much worse, particularly in states controlled by the Republican MAGAt Party.
NEW YORK, NEW YORK — Walmart, the largest private employer in the United States, will curb some [diversity, equity … ⌘ Read more
Editor’s Note – Can You Help
, -
Stephan:
First of all, I want to thank all who have been sending in monthly contributions or have sent in support over the past two days. This makes a great deal of difference to me. I am going to run this one more day.
I have been doing SR now for 33 years; I give it away freely and don’t permit advertising because I don’t have time to dig out whether a potential advertiser fosters wellbeing. Over the years it has taken longer and longer each day to researc … ⌘ Read more
Erlang Solutions: Advent of Code 2024
Welcome to Advent of Code 2024!Like every year, I start the challenge with the best attitude and love of being an Elixir programmer. Although I know that at some point, I will go to the “what is this? I hate it” phase, unlike other years, this time, I am committed to finishing Advent of Code and, more importantly, sharing it with you.
I hope you enjoy this series of December posts, where we will discuss the approach for each exercise. … ⌘ Read more
設計模式 in Go: Iterator
行爲模式旨在解決對象間通信和交互相關的問題,專注於定義那些複雜到無法靜態設計的協作策略,這些協作策略使得程序可以在運行時動態地進行職責派遣以實現更好的擴展。今天我們開始第 2 個行爲模式的學習 —— Iterator(迭代器模式)。問題背景:設想我們定義了一個新的數據類型,它包含了一系列數據元素,可能是以 list、array、set 或其他據結構進行存儲,重要的是我們後續會出於性能、功能方面 ⌘ Read more
理解 Go 協程調度的本質
作者:jiayan golang 的一大特色就是 goroutine,它是支持高併發程序的重要保障;通過 go 關鍵字我們就能輕易創建大量的輕量級協程,但它和我們認知中的線程有什麼區別呢,輕量在哪裏,具體是如何進行調度的….. 本文將從涉及到的一些基礎知識開始,逐步介紹到 go 協程調度的核心原理,希望你能有所收穫~ 函數調用棧進程在內存中的佈局首先回顧下進程的內存佈局~ 操作系統把磁盤上 ⌘ Read more
Go 開發者的密碼學導航:crypto 庫使用指南
Go 號稱 “開箱即用”,這與其標準庫的豐富功能和高質量是分不開的。而在 Go 標準庫中,crypto 庫(包括 crypto 包、crypto 目錄下相關包以及 golang.org/x/crypto 下的補充包) 又是 Go 社區最值得稱道的 Go 庫之一。crypto 庫由 Go 核心團隊維護,確保了最高級別的安全標準和及時的漏洞修復,爲開發者提供了可靠的安全保障。crypto 還涵蓋了從基 ⌘ Read more
精通 Go 併發:上下文傳播與取消的奧祕
Go 的併發模型堪稱一場革命,但管理複雜的併發操作並非易事。這時,context 的傳播與取消機制便成爲了強有力的工具。通過這些機制,我們可以構建健壯的、可取消的操作,甚至跨越多個 goroutine 和網絡邊界。基礎知識—-context 包提供了一種方法,用於在 API 邊界和進程之間傳遞截止時間、取消信號以及請求範圍的值。這是控制長時間運行操作和優雅關閉服務的關鍵。以下是一個使用 con ⌘ Read more
使用 Go 開發 AI Agent 的選擇:Genkit for Go
什麼是 Genkit———-Genkit[1] 是一個 Google Firebase 團隊開發的 AI Agent 開發框架,用於構建現代、高效的 AI 應用。它目前包含一個 Node.js 的實現 [2] 和一個 Go 語言的實現 [3]。之所以注意到這個框架是因爲 Go 團隊在他們的十五週年博客 [4] 中提到了它。Go 團隊在博客中提到,他們正在努力使 Go 成爲構建生產 AI ⌘ Read more
**Problem 2: Your SSD-backed database has a usage-pattern that rewards you with a 80% page-cache hit-rate (i.e. 80% of disk reads are served d …**
Problem 2: Your SSD-backed database has a usage-pattern that rewards you with a 80% page-cache hit-rate (i.e. 80% of disk reads are served directly out of memory instead of going to the SSD). The median is 50 distinct disk pages for a query to gather its query results (e.g. InnoDB pages in MySQL). What is the expected average query time from your database?
Share your solution via Twtxt … ⌘ Read more
SNeedlewoods completes first part-time Monero dev work CCS
SNeedlewoods1 has posted a Monero dev update2 after working part-time on Monero development for 1 month (~65 hours) during their first CCS proposal3:
Thanks for all the support from CCS coordinators, upvoters, donors and dev colleagues. It’s an honor to be able to work with you. [..] Will continue to work on the wallet API and will try to solve review comments ASAP, but since I’ll go take some days off … ⌘ Read more
(#v72lwdq)
https://pkg.go.dev/go.mills.io/static ⌘ Read more
**(#dy3n2cq) @bender@bender Thanks! Also very interesting rid bits here 🤣
The author, parent hash, timestamp, and message values go into …**
@bender Thanks! Also very interesting rid bits here 🤣The author, parent hash, timestamp, and message values go into the hash. (see Message Hash for details) ⌘ Read more
5 分鐘搞懂 Golang 數據庫連接管理
本文介紹瞭如何在 Golang 中優化數據庫連接,通過有效管理連接來提高應用程序吞吐量。原文: Optimizing Database Connections in Go: Improving Throughput by Managing Open Connections Efficiently[1]Go 的 database/sql 軟件包提供了自動化數據庫連接池,能夠幫助開發人員有效管理連 ⌘ Read more
用 Go 寫 GUI?這套跨平臺工具箱真香:Tk9-0
大家好!今天我想聊聊用 Go 語言開發 GUI(圖形用戶界面)應用的一個輕量級工具 —— Tk9.0。如果你曾經嘗試用 Go 開發過桌面應用,可能會覺得有些難下手:傳統的工具太 “重”,需要額外安裝依賴,還經常跟操作系統深度綁定,跨平臺開發的成本也不低。而 Tk9.0 正好解決了這些痛點。什麼是 Tk9.0?Tk9.0 是一個 CGo-free(無 C 綁定)、跨平臺的 GUI 工具包,由 mod ⌘ Read more
GORM 分頁新方案
Gorm 是 Go 語言中最常用的 ORM(對象關係映射)包之一,但它在某些功能上仍有不足,其中之一就是分頁。分頁是管理 Web 應用程序中大數據集的基本功能。通過分頁,可以限制和顯示數據庫中的部分數據,而不必一次性檢索整個表的數據。雖然 Gorm 的文檔中介紹瞭如何使用 Scopes 來實現分頁,但在靈活性和可用性上仍有改進空間。本文介紹了一種利用 Gorm 的 Clauses 特性來簡化分頁並 ⌘ Read more
(#pldqlcq) Anyone had a chance to have a go at this problem yet? 🤔I’ll post my solution in a few hours…
Anyone had a chance to have a go at this problem yet? 🤔I’ll post my solution in a few hours… ⌘ Read more
Trump is taking the mask off after lying to us for more than a year
Thom Hartmann, Commentator - Raw Story
Stephan: Thom Hartmann and I usually agree, and we certainly do about this. I think by March we are going to have a pretty good idea whether we will remain a genuine democracy or whether we are on the path to becoming a pseudo-democracy like Hungary and Russia.
。 問題背景: 創建的對象有時比較複雜,可能需要按照特定順序對所有依賴項進行逐一構建,創建依賴項後再最終構建期望的對象。創建這些最終對象及依賴對象,需要很多參數。如果通過構造函數的參數列表 ⌘ Read more
Go 協程正確用法基礎與進階
在 Go(Golang)的世界中,goroutines 是語言的瑰寶之一。它們輕量、高效,使開發者能夠輕鬆編寫併發和並行程序。但正如俗話所說,能力越大,責任越大。濫用 goroutines 可能導致內存泄漏、性能下降,甚至導致生產服務器崩潰。在這篇文章中,我們將介紹 goroutines 的基礎知識、最佳實踐,以及每個開發者應該瞭解的重要 “注意事項”。讓我們深入瞭解吧!Goroutines 概覽 ⌘ Read more
Monero Tech meeting scheduled for 9 December 2024 1800 UTC
The next Monero Tech meeting is scheduled to take place on Monday, December 9 2024 at 18:00 UTC, in the #no-wallet-left-behind 1 IRC-Libera/Matrix channels:
Based on the opinions given here2 I decided to go back to the No Wallet Left Behind Matrix room and IRC channel for the next i.e. coming Monday’s meeting, and to not contiune to hold meetings like the last one in the -dev Matrix room and IRC channel.
This meeting’s chai … ⌘ Read more
Elon Musk Targets Consumer Protection Agency for Deletion
Nicholas Liu , Staff Writer - truthout
Stephan: The oligarchs are becoming more and more explicit in what they are trying to do to America’s democracy. I think that by March we are going to be living in a very different and strange country and the Republican voters are going to be totally unprepared for what they have allowed to happen by how they voted.
。問題背景:我們希望在運行時增強或修改特定對象的功能。由於對象存在一定的類繼承關係,所以開發者可能首先想到通過修改基類的功能來實現,以希望這些修改可以同時在所有 ⌘ Read more
Go 協程與通道
在談論 goroutines 時,我們需要記住 Go 語言的簡潔性,並且它非常強調併發處理。併發是指能夠獨立地處理多個任務,一項接一項地進行,這與並行不同,後者是指任務同時執行。我在之前的文章中已經討論過併發和並行的區別,所以這裏不再深入探討。Goroutines 的基本概念—————-讓我們直接進入 Go 中 goroutines 的主題,這是在代碼中實現併發處理的一種方式。 ⌘ Read more
(#24vrn2q) I think as far as text files go, it’s pretty cool 👌
I think as far as text files go, it’s pretty cool 👌 ⌘ Read more
Go ahead, ban kids from social media, but please outlaw these grown-ups too
Curtail under-16s, by all means, but let’s not forget the adult Insta-imbeciles, LinkedIn humble braggarts, Twitter twits and the rest. ⌘ Read more
Why Mass Deportations Would Cripple California’s Economy
Mark Kreidler, - The American Prospect
_Stephan: When you combine Trump’s tariffs and his deportation schemes, what you get is that you and I are, by Robert Reich’s estimate, going to face about $6,000 in additional annual expenses. It is going to particularly impact Trump working and middle-class voters in Red states. And that doesn’t even address the massive social disruption that will arise from ripping im … ⌘ Read more
NASA Satellites Show Major Drop in Global Freshwater Since 2014
Paige Bennett, Contributing Writer - EcoWatch
_Stephan: Here is an aspect of climate change I have not seen previously. It is going to have a significant impact on countries all over the world, particularly developing nations with poor infrastructure. It will though impact large parts of the United States. Humanity is simply not doing what needs to be done, and Trump doesn’t even seem to think c … ⌘ Read more
The future of customer service is here, and it’s making customers miserable
Emily Stewart, Senior Correspondent - msn | Business Insider
Stephan: Another AI problem. I have personally experienced this problem, have you? Not with insurance, but with medical group practices, setting up appointments. I think this trend is going to get much worse.
… ⌘ Read moreGo 1-23 Timer Channel 的改變
官方的介紹。https://go.dev/wiki/Go123Timer Go 1.23 引入了一個新的實現方案,用於由 time.NewTimer、time.After、time.NewTicker 和 time.Tick 創建的基於通道的定時器。這個新實現帶來了兩項重要改變:未停止但不再被引用的定時器和週期計時器現在可以被垃圾回收。在 Go 1.23 之前,未停止的定時器在觸發之前無法被垃圾回 ⌘ Read more
(#vwnsuia) @slashdot oh now this is going to be a very interesting article…
@slashdot @feeds.twtxt.net oh now this is going to be a very interesting article… ⌘ Read more
Go 語言高性能協程池實現與原理解析
前言—–在 Go 語言中, 雖然協程的創建成本相對較低, 但在高併發場景下, 無限制地創建協程仍可能導致系統資源耗盡。協程池通過複用一組預創建的協程來處理任務, 可以有效控制協程數量, 提升系統性能和穩定性。協程池的核心原理———–協程池的核心思想是維護一個固定大小的協程隊列, 這些協程會持續從任務隊列中獲取任務並執行。主要包含以下組件:任務隊列: 存儲待執行的任務 工 ⌘ Read more
Monero Tech meeting scheduled for 2 December 2024 1800 UTC
The next Monero Tech meeting is scheduled to take place on Monday, December 2 2024 at 18:00 UTC, in the #no-wallet-left-behind 1 IRC-Libera/Matrix channels:
Based on the opinions given here2 I decided to go back to the No Wallet Left Behind Matrix room and IRC channel for the next i.e. coming Monday’s meeting, and to not contiune to hold meetings like the last one in the -dev Matrix room and IRC channel.
This meeting’s chai … ⌘ Read more
The Rise of Trump and the Fall of American Empire
Alfred McCoy, Fred Harvey Harrington Professor of History at the University of Wisconsin–Madison - truthdig
_Stephan: This geopolitical analysis of what is likely to happen during the upcoming Trump administration, in my opinion, is accurate. I think Alfred McCoy describes the American future with brutal insight. Trump and his gang of MAGAt mafioso, I believe are going to leave office with China the leading nation in the … ⌘ Read more
COP29: Key outcomes agreed at the UN climate talks in Baku
, - Carbon Brief
_Stephan: This is by far the best analysis of what happened at the just closed COP29 summit in Baku, Azerbaijan. IT is kind of semi-good news. Rich countries, as the article describes are going to underwrite $300 billion in aid to help developing countries deal with climate change. A not insignificant sum, but a fraction of what is actually needed. Two things stand out for me from COP29: … ⌘ Read more
設計模式 in Go: Flyweight
結構模式關注代碼、組件以及接口的有效組織與調用,主要解決如對象間的關係管理、提供必要抽象與具體實現相分離,以及將多個不同的庫或框架集成爲一個統一且連貫的系統等問題。今天我們開始第 6 個結構模式的學習 —— Flyweight(享元模式)。問題背景:程序執行時會創建太多相似的對象副本,所以內存消耗會非常高。觀察這些這些對象定義發現,它們包含了若干的共同屬性(字段值相同),而其他字段則不同。這些 ⌘ Read more
認識一下 Golang 定時框架
cron,相信玩過 Linux 的朋友應該都對這個很熟悉吧,這不就是計劃任務嘛,當你需要某個時間段去執行某一件事的時候,普通的執行方式已經不能滿足我們的需求了,這個時候就需要一個定時任務了,那麼下面我就來介紹一個 Go 的開源定時任務框架。一、安裝—- 下載go get github.com/robfig/cron/v3@v3.0.0 導入:這裏後面加個v3意味着這是v3版本,注意不要搞錯 ⌘ Read more
一文搞懂如何在 Go 包中支持 Hash-Based Bisect 調試
bisect 是一個英文動詞,意爲 “二分” 或“分成兩部分”。在數學和計算機科學中,通常指將一個區間或一個集合分成兩個相等的部分。對於程序員來說,最熟悉的 bisect 應用莫過於下面兩個:算法中的二分查找 (binary search) 二分查找是一個經典且高效的查找算法,任何一本介紹數據結構或計算機算法的書都會包含對二分查找的系統說明。所謂二分查找就是通過不斷將搜索區間一分爲二來找到目 ⌘ Read more
Last week at The Lunduke Journal (Nov 10 - Nov 23, 2024)
Mozilla Nearing EOL, Linux CoC Insanity, Red Hat Ditching Linux for AI, & … Pokémon Go? ⌘ Read more
Go 併發控制:singleflight 詳解
singleflight 是 Go 官方擴展庫 x 中提供的擴展併發原語,能夠將多個併發請求合併爲一個,降低服務端壓力。本文就來介紹下它的用法和實現原理。請求合併singleflight 主要用於抑制重複的併發調用,從而避免對同一資源進行重複操作,提升系統性能。比如,當我們有多個 goroutine 併發調用一個同一個函數時,singleflight 能夠實現只讓一個 goroutine 發起調用 ⌘ Read more
Go 中祕而不宣的數據結構 maphash:性能之王
哈希算法 (也稱散列算法) 是一種將任意長度的輸入數據轉換成固定長度輸出的數學算法。Hash 算法的應用場景Hash 算法常常用在以下的場景中:數據完整性驗證 可以爲文件生成唯一的哈希值,用於檢測文件是否被篡改 常見場景如軟件下載時的 MD5 校驗、區塊鏈中的數據驗證 密碼存儲安全 不直接存儲用戶密碼原文, 而是存儲密碼的哈希值 即使數據庫被攻破, 黑客也無法直接獲取 ⌘ Read more
Gin 框架 JSON 格式返回結果的使用方式
大家好,我是 frank。「Golang 語言開發棧」公衆號作者。01 介紹Gin 框架爲 JSON、XML 和 HTML 渲染提供了易用的 API。本文我們主要介紹 JSON 的使用方式。02 JSON在 Go 項目開發中,當開發 HTTP API 時,我們通常提供 JSON 格式的返回結果。Go 框架爲 JSON 渲染提供了易用的 API。普通 JSON示例代碼:func main() { ⌘ Read more
(#emr7uva) @movq Oh man that is soooo cool! 😎 I wish I was going to start on-time this year, but I’ll. be away on holidays 😢
@movq @www.uninformativ.de Oh man that is soooo cool! 😎 I wish I was going to start on-time this year, but I’ll. be away on holidays 😢 ⌘ Read more
(#ir3wtza) @doesnm You don’t generally call go build main.go or whatever. You generally call go build . or go build ./cmd/foo/... – Becau …
@doesnm @doesnm.p.psf.lt You don’t generally call go build main.go or whatever. You generally call go build . or go build ./cmd/foo/... – Because you need to tell the compiler to build a whole package or a bunch of sub-packages + main. go run main.go only works for the simplest case. ⌘ Read more
go build is working but not go build main.go
**(#omgac5a) Same here:
$ youtubedr download 'https://www.youtube.com/watch?v=YpiK1FMy2Mg'
2024/11/23 09:01:12 download to directory .
time=2 ...**
Same here:
$ youtubedr download ‘https://www.youtube.com/watch?v=YpiK1FMy2Mg’
2024/11/23 09:01:12 download to directory .
time=2024-11-23T09:01:12.946+10:00 level=INFO msg=“Downloading video” id=YpiK1FMy2Mg quality=medium mimeType=“video/mp4; codecs=\“av01.0.01M.08\””
chunk at offset 0 has invalid size: expected=10485760 actual=0
”`
What I’m seeing is some kind of detection going on … ⌘ Read more”`
(#gwkqnda) @sorenpeter@sorenpeter Post us a link to the livestream as you’re about to go on? 🙏
@sorenpeter @darch.dk@darch.dk Post us a link to the livestream as you’re about to go on? 🙏 ⌘ Read more
Termux same thing @doesnm uses and it worked 👍 Media
@doesnm@doesnm.p.psf.lt No it’s all good… I’ve just rebuilt it from master and it doesn’t look like anything is broken:
~/GitRepos> git clone https://github.com/plomlompom/htwtxt.git
Cloning into 'htwtxt'...
remote: Enumerating objects: 411, done.
remote: Total 411 (delta 0), reused 0 (delta 0), pack-reused 411 (from 1)
Receiving objects: 100% (411/411), 87.89 KiB | 430.00 KiB/s, done.
Resolving deltas: 100% (238/238), done.
~/GitRepos> cd htwtxt
master ~/GitRepos/htwtxt> go mod init htwtxt
go: creating new go.mod: module htwtxt
go: to add module requirements and sums:
go mod tidy
master ~/GitRepos/htwtxt> go mod tidy
go: finding module for package github.com/gorilla/mux
go: finding module for package golang.org/x/crypto/bcrypt
go: finding module for package gopkg.in/gomail.v2
go: finding module for package golang.org/x/crypto/ssh/terminal
go: found github.com/gorilla/mux in github.com/gorilla/mux v1.8.1
go: found golang.org/x/crypto/bcrypt in golang.org/x/crypto v0.29.0
go: found golang.org/x/crypto/ssh/terminal in golang.org/x/crypto v0.29.0
go: found gopkg.in/gomail.v2 in gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
go: finding module for package gopkg.in/alexcesaro/quotedprintable.v3
go: found gopkg.in/alexcesaro/quotedprintable.v3 in gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc
master ~/GitRepos/htwtxt> go build
master ~/GitRepos/htwtxt> ll
.rw-r--r-- aelaraji aelaraji 330 B Fri Nov 22 20:25:52 2024 go.mod
.rw-r--r-- aelaraji aelaraji 1.1 KB Fri Nov 22 20:25:52 2024 go.sum
.rw-r--r-- aelaraji aelaraji 8.9 KB Fri Nov 22 20:25:06 2024 handlers.go
.rwxr-xr-x aelaraji aelaraji 12 MB Fri Nov 22 20:26:18 2024 htwtxt <-------- There's the binary ;)
.rw-r--r-- aelaraji aelaraji 4.2 KB Fri Nov 22 20:25:06 2024 io.go
.rw-r--r-- aelaraji aelaraji 34 KB Fri Nov 22 20:25:06 2024 LICENSE
.rw-r--r-- aelaraji aelaraji 8.5 KB Fri Nov 22 20:25:06 2024 main.go
.rw-r--r-- aelaraji aelaraji 5.5 KB Fri Nov 22 20:25:06 2024 README.md
drwxr-xr-x aelaraji aelaraji 4.0 KB Fri Nov 22 20:25:06 2024 templates
Termux same thing @doesnm uses and it worked 👍 Media
I’m cloned repo and go mod init/go mod tidy/go build, only master are broken?
應用性能優化:如何有效地分析和優化 pprof CPU 性能分析數據
pprof 是一個用於分析 Go 程序性能數據的工具,幫助開發者找出 CPU、內存和其他瓶頸。本文提供了一個詳細的分步指南,介紹如何分析 .pprof 文件,包括設置、生成文件和解釋結果。第一步:安裝必要工具———-要分析 .pprof 文件,請確保安裝以下工具:Go 編程語言: 從官方網站安裝 Go。 驗證安裝:go version pprof 工具: ppr ⌘ Read more
爲 Nintendo Switch™ 編譯 Go 程序
之前,我們將 Go 程序編譯爲 WebAssembly,然後轉換爲 C++ 文件以在 Nintendo Switch 上運行。現在,我已成功將 Go 程序編譯爲 Nintendo Switch 的原生二進制文件,並在那裏運行遊戲。我使用-overlay選項用 C 函數調用替換系統調用。此外,我開發了一個新的包 Hitsumabushi[2] 來生成此內容的 JSON。注意–本文及文中的開源項目僅 ⌘ Read more
⌘