Go Http 框架性能測評: Fiber vs- Gin vs- Go 標準庫
本內容是對知名性能評測博主 Anton Putra Fiber vs. Gin vs. Go (stdlib): Performance (Latency - Throughput - Saturation - Availability)[1]: Performance (Latency - Throughput - Saturation - Availability) 內容的翻譯與整理, 有適 ⌘ Read more
@movq@www.uninformativ.de Yeah, most of the graphical applications are actually KDE programs:
- KMail – e-mail client
- Okular – PDF viewer
- Gwenview – image viewer
- Dolphin – file browser
- KWallet – password manager (I want to check out
passone day. The most annoying thing is that when I copy a password, it says that the password has been modified and asks me whether I want to save the changes. I never do, because the password is still the same. I don’t get it.)
- KPatience – card game
- Kdenlive – video editor
- Kleopatra – certificate manager
Qt:
- VLC – video player
- Psi – Jabber client (I happily used Kopete in the past, but that is not supported anymore or so. I don’t remember.)
- sqlitebrowser – SQLite browser
Gtk:
- Firefox – web browser
- Quod Libet – music player (I should look for a better alternative. Can’t remember why I had to move away from Amarok, was it dead? There was a fork Clementine or so, but I had to drop that for some unknown reason, too.)
- Audacity – audio editor
- GIMP – image editor
These are the things that are open right now or that I could think of. Most other stuff I actually do in the terminal.
In the past™, I used the Python KDE4 bindings. That was really nice. I could pass most stuff directly in the constructor and didn’t have to call gazillions of setters improving the experience significantly. If I ever wanted to do GUI programming again, I’d definitely go that route. There are also great Qt bindings for Python if one wanted to avoid the KDE stuff on top. The vast majority I do for myself, though, is either CLI or maybe TUI. A few web shit things, but no GUIs anymore. :-)
@movq@www.uninformativ.de Where can I join your club? Although, most software I use is decentish in that regard.
I just noted today that JetBrains improv^Wcompletely fucked up their new commit dialog. There’s no diff anymore where I would also be able to select which changes to stage. I guess from now on I’m going to exclusively commit from only the shell. No bloody git integration anymore. >:-( This is so useless now, unbelievable.
Security updates for Monday
Security updates have been issued by Debian (libxslt, mercurial, and webkit2gtk), Fedora (chromium, dotnet8.0, ffmpeg, jupyterlab, and kitty), Mageia (expat and libxslt), Red Hat (pcs), SUSE (apptainer, chromium, kernel, libarchive, mercurial, python311, radare2, xorg-x11-server, and zvbi), and Ubuntu (golang-github-cli-go-gh-v2 and nltk). ⌘ Read more
There Are Four Things You Must Do to Save America
Stephan A. Schwartz, Editor - Schwartzreport
_Stephan: As I was researching stories for today’s SR, I did a podcast with a host named Helen Cowan. She asked me what I thought was going on in the United States, and what I thought ordinary people could do to preserve the nation’s democracy and avoid the country being owned by oligarchs. As I answered her I thought that rather than do the usual four trend stories … ⌘ Read more
The best Windows laptop for work has one major letdown
Small, fast and packed with raw AI power, HP’s latest premium productivity laptop hits all the right notes for working on the go. But, there is one quibble. ⌘ Read more
Trump’s funding ax throws colleges into an existential crisis
Erica Pandey, - Axios
_Stephan: The Trumpian authoritarian coup continues, and democracy dissipates; all of this following Hitler’s action list point by point. What stands out for me is how weak the institutional resistance is. Universities are docilely falling to their knees. Law firms are proving equally craven. There is only one way this is going to stop. You – and I mean you – must participate … ⌘ Read more
Ctrl+Left to jump a word left, I get 1;5D in my tt2 message text. My TERM is set to rxvt-unicode-256color. In tt, it works just fine. When I change to TERM=xterm-256color, it also works in tt2. I have to read up on that. Maybe even try to capture these sequences and rewrite them.
Well, some time ago I put this in my ~/.Xdefaults:
URxvt.keysym.Control-Up: \033[1;5A
URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Control-Left: \033[1;5D
URxvt.keysym.Control-Right: \033[1;5C
Probably to behave more like XTerm and fix a few other issues I had with other programs. But, it turns out, tcell expects the original sequence: https://github.com/gdamore/tcell/blob/main/terminfo/r/rxvt/term.go#L487
Hmm.
@movq@www.uninformativ.de hahahah i for one hate sleeping and need to be busy 24/7 or else i go insane so server stuff is awesome for my ADHD ass!!!
IaaS does seem kinda interesting to me, i think i could vibe with that more than full on cloud stuff
i hope i can be one of those people who does the barebones stuff bc i am a rare sicko who finds it fun and cloud stuff scares me LMAOOOO
What to do in London near the KubeCon + CloudNativeCon Europe 2025 Venue, part one
London’s calling and our local CNCF Ambassadors have answered with some great ideas of things to do close to the KubeCon + CloudNativeCon Europe 2025 venue. Cross the river Since our event is going to be… ⌘ Read more
‘Absolute chaos’ at Dept of Agriculture could skyrocket rural grocery prices: report
Brad Reed, Staff Writer - Raw Story
_Stephan: The United States as I predicted is going into recession, and your groceries prices are going to go up. We are at a moment of truth we have not experienced since the Founders created the United States. We are no longer a functioning democracy, and the authoritarian government that now runs the country cares noth … ⌘ Read more
US measles outbreak tops 300 cases — what to know about the disease
Emily Cooke, Staff Writer - Live Science
_Stephan: Because of the destruction of the healthcare agencies in the United States by psychopath Trump, his Frankenstein oligarch Musk, and the flying monkeys of DOGE, I predict we are going to see more pandemics. Measles, now above 300 cases, has spread to a number of states beyond Texas – Alaska, California, Florida, Georgia, Kentucky, Maryland … ⌘ Read more
10 Non-musical Films with Epic Musical Scenes
Generic conventions exist to signpost the kind of movie we are going to see and ensure we aren’t broadsided with teeny-bopper romance in our body horror or explosions and car chases in our period drama. And yet, plenty of filmmakers find subtle ways to break expectations while maintaining their film’s overarching genre. Only a select […]
The post [10 Non-musical Films with Epic Musical Scenes](https://listverse.com/2025/03/21/10-non-musical … ⌘ Read more
從 Shell 到 Go:腳本編寫的優雅進化
你有沒有想過,寫腳本這件事,可能不再需要依賴 Unix Shell 了?別誤會,Shell 確實是個 “魔法工具”,能用一行命令完成許多複雜任務。但如果你是 Go 語言的愛好者,或者正在尋找一種更現代化、更高效的腳本編寫方式,那麼今天這篇文章絕對會讓你眼前一亮!我們將深入探討如何用 Go 語言結合script包,輕鬆實現原本需要 Shell 才能完成的任務。不僅代碼更優雅,還能跨平臺運行,甚至 ⌘ Read more
golang 每日一庫之 gopsutil
shirou/gopsutil 是一個用 Go 語言實現的跨平臺系統信息採集庫,其設計靈感來源於 Python 的 psutil。它爲開發者提供了一套統一、簡潔的 API,用於獲取底層操作系統的各項指標數據,如 CPU、內存、磁盤、網絡、主機信息以及進程狀態等。下面我們將從多個方面詳細介紹這個庫的功能、設計特點、使用示例以及應用場景。庫簡介——跨平臺支持 gopsutil ⌘ Read more
使用 Golang-OpenCV 獲取攝像頭視頻流: 從原理到實踐
在現代計算機視覺應用中,實時視頻處理是一個重要的功能,例如監控系統、人臉識別、手勢檢測等。而 Go 語言結合 OpenCV 可以高效地實現攝像頭數據的採集和處理。在本篇文章將會簡單的講解,OpenCV 處理視頻流的基本步驟,原理和如何使用 gocv 這個庫來讀取攝像頭畫面。安裝 OpenCV因爲我用的是 mac 電腦所以,我使用 homebrew 進行 opencv 的安裝,其他平臺例如 arch ⌘ Read more
Golang 擴展 osquery,讓系統查詢更強大!
在深圳有很多老闆都很奇葩,比如我的前老闆,需求是半夜給的,效果是要早上看到的,我要感謝我的的前老闆,讓我接觸到了聞所未聞的新奇技術。今天要分享的內容是 osquery 這個東西,不知道各位萬能的網友們知不知道。osquery 是一個強大的開源工具,它能讓我們像查詢數據庫一樣獲取操作系統信息。而 osquery-go 則是官方提供的 Golang SDK,可以讓我們擴展 osquery,添加自定義查 ⌘ Read more
@movq@www.uninformativ.de I have no doubt that you’re not seeing the images correctly 😀. It’s just that it’s broken when viewing them, in my case, and analyzing the URLs, I’ve seen everything I mentioned.
Regarding the hash, you’re right. I’ll have to investigate what’s going on. I’m having a hard time getting the hash generation to work properly.
使用 Go 實現 License 認證
在軟件授權管理中,License 機制可以有效防止未授權使用,確保軟件的合法性。本篇文章將講解如何使用 Go 生成機器碼、創建 License、驗證 License 及防止時間篡改,並提供完整可運行代碼示例,以讓您理解其中的邏輯。License 機制概述在軟件授權體系中,License(許可證)是用於驗證軟件的合法使用權限的一種機制。常見 License 設計包含以下關鍵要素:機器碼:用於唯一標識 ⌘ Read more
chromem-go:Go 語言 RAG 應用的高效輕量級向量數據庫
前言在開發 RAG(Retrieval-Augmented Generation)應用時,起初你可能更傾向於選擇一款輕量級的向量數據庫,而非複雜的大型數據庫。例如,在關係型數據庫的選擇上,許多人會更願意使用 SQLite 而不是 PostgreSQL 或 MySQL,以減少額外的配置和維護成本。在 Go 語言中,chromem-go 提供了一種簡潔高效的解決方案——它是一款可嵌入到 Go 程序中的 ⌘ Read more
** A day off **
I didn’t go to work today. Six month ago I took the day off when I made my kids a dentist appointment. So, this morning I took them to the dentist where we played Mario Kart in the waiting room on the Nintendo the dentist keeps set up there.
After that, I dropped them each at school and picked up my dad and took him to Costco and to the Chinese takeaway place. While he gossiped with the folks at the takeaway I started Sally Rooney’s Normal People. I’m late to this book, but enjoying it right away.
After all th … ⌘ Read more
@lyse@lyse.isobeef.org interesting! yeah i figured it was some parsing stuff going on
Found this girl in the undercarriage of my car just over a year ago. How it started and how its going: ⌘ Read more
Trump asks Supreme Court to curb judges’ power to block policies nationwide
Josh Gerstein, Staff Writer - Politico
_Stephan: Trump has taken his authoritarianism to the Supreme Court and I predict we are coming to a moment of truth for the future of the United States. Trump is clearly banking on the corrupt fascists on the Court to rule in his favor, and I understand this thinking. But strangely, I’m not sure it is going to play out as he hopes. I … ⌘ Read more
golang 每日一庫之 volatiletech-authboss
Authboss 是一個強大且可擴展的 Go 語言認證(authentication)和授權(authorization)框架,適用於 Web 應用程序。它提供了一套完整的用戶身份驗證方案,包括用戶註冊、登錄、註銷、賬號恢復、密碼重置、OAuth2、雙因素認證(2FA)等功能,使開發者能夠快速構建安全的身份認證系統。核心特性——–模塊化設計 :Authboss 由多個獨立的 ⌘ Read more
如何使用 go:linkname 指令訪問 Go 包中的私有函數
在 Go 語言的包設計中,函數和變量通過首字母大小寫來嚴格區分導出(exported)與未導出(unexported)的可見性規則。這種機制是 Go 模塊化設計的基石,但同時也爲底層系統級開發帶來了限制。//go:linkname 指令正是 Go 爲突破這一限制預留的「後門」,它通過編譯器的符號重定向能力,允許開發者直接鏈接任意包的未導出符號——無論是標準庫的私有函數,還是第三方包的隱藏變量。本文 ⌘ Read more
Go 語言 TCP 服務構建:原理到工程實踐
在分佈式系統架構中,傳輸層協議扮演着關鍵角色。作爲可靠傳輸的代表,TCP 協議通過三次握手建立連接、滑動窗口流量控制、序列號確認機制等技術,爲上層應用提供了有序且可靠的數據傳輸通道。這種面向連接的協議特性,使其成爲實時通信、文件傳輸、遠程控制等場景的首選方案。Go 語言自誕生之初就將網絡編程能力作爲核心設計目標。其標準庫中完善的 net 包提供了跨平臺的網絡 I/O 接口,結合輕量級線程 goro ⌘ Read more
So annoying to carry all this heavy stuff around, maybe I should go for a Bass Ukulele. 🤣
It Isn’t Just Trump. America’s Whole Reputation Is Shot.
David Brooks, Columnist - The New York Times
_Stephan: We are no longer a functioning democracy. We have one party, the MAGAts (formerly Republican) that is openly fascist, and the other, the Democrats, who are led in Congress by spineless individuals who don’t seem to understand what is going on. And all of this is being observed by all the other countries of the world. As David Brooks describes in his column, f … ⌘ Read more
@kat@yarn.girlonthemoon.xyz Oh, yes, it’s probably going to be something like gotosocial or snac. It’s got to be as lightweight as possible. (I call this whole thing “Mastodon”, but you’re right, that’s not quite correct. 😅)
Ten Movies Overshadowed by Behind-the-Scenes Controversies
The job of Hollywood is to present us with an immaculately presented fantasy with beautiful people and big money. That’s why we can’t look away when things go wrong. For these ten movies, things went so wrong behind the scenes that it overshadowed the Hollywood magic; these ten movies had controversies bigger and more memorable […]
The post [Ten Movies Overshadowed by Behind-the-Scenes Controversies](https://listve … ⌘ Read more
i’m going to k-pop-ify the yarn verse. everyone look at miyawaki sakura or i will uh do server magic to make your CPU run worse or something
Extreme weather and powerful winds predicted for 100m Americans
, - Associated Press
Stephan: Maybe this is getting covered on your local media, but I don’t see much discussion in the national media (this came from A British newspaper). It is, of course, yet another manifestation of the changing climate. Anyway if these storms are headed your way, prepare. This is all just going to get worse and worse.
 but the SQL parts had me suffering
Who wants to go o the Moon on a plasma rocket? 🌕 It’ll only take 3 weeks ⌘ Read more
golang 每日一庫之 fatih-color
fatih/color 是一個流行的 Go 語言庫,用於在終端中輸出彩色文本和樣式化的內容。由開發者 Fatih Arslan 創建,它簡化了 ANSI 轉義碼的使用,使開發者能夠輕鬆爲 CLI 工具、日誌系統等添加顏色和樣式。特點豐富的顏色和樣式支持 顏色 :支持 16 種基礎前景色(如紅色、綠色)和背景色。 樣式 :支持加粗(bold)、斜體(itali ⌘ Read more
用 Go 構建跨平臺桌面應用:Wails 框架的深度實踐指南
在桌面應用開發領域,Electron 等基於 Web 技術的方案長期佔據主導地位,但其資源消耗問題始終是開發者心中的痛點。Go 語言的高效性和簡潔性爲這個問題提供了新的解題思路,而 Wails 框架正是這種思路的具象化體現。Wails 框架的核心價值在於將 Go 的後端能力與現代化前端技術無縫結合。通過內置的 Vite 支持,開發者可以自由選擇 React、Vue 或 Svelte 等前端框架,同 ⌘ Read more
Pokemon Go, the Surveillance Game Financed by the CIA, now Owned by Saudi Arabia
Pokemon Go has been 3D mapping your homes for years, and now it is owned by the Wife-Beating, Jeff Bezos Hacking, Journalist Murdering Crown Prince of Saudi Arabia. ⌘ Read more
@eapl.me@eapl.me @bender@twtxt.net @prologic@twtxt.net Not including a photo was a stupid move, sorry. There you go:
This particular one is 95mm wide and 185mm high. Fairly compact.
I can only use it figure out distances to other dates and to do some basic calendar math. I’m not able to actually schedule anything. But I grew up with a month calendar like you have there where all appointments of the entire family was recorded.
By far most of my paper use is drawing random stuff on scratch paper during meetings. :-D
International Push for Consumer Boycott of US Grows
Julia Conley, Staff Writer - Common Dreams
_Stephan: I predict that anti-Americanism is going to become a prominent view of populations throughout the world, and that this new attitude is going to have a disastrous effect on our economy. People throughout the world will make it a point not to buy anything made in America, and other businesses in other countries, particularly China, will see the opportunity created by p … ⌘ Read more
Go 語言中的 LangGraph:基於 LangGraphgo 的 AI 任務編排
在 AI 任務編排領域,LangChain 提供了 LangGraph,幫助開發者搭建複雜、多步驟、有狀態的 AI 工作流。但這個庫主要基於 Python,而在 Go 語言生態中,如何實現類似的 AI 任務編排呢?今天,我們來介紹 langgraphgo,一個爲 Golang 量身定製的 AI 任務流管理框架。通 langgraphgo,你可以高效地構建 AI 代碼審計、對話系統、多智能體協作等應 ⌘ Read more
golang 每日一庫之 jinzhu-now
jinzhu/now 是一個用於增強 Go 語言時間處理的第三方庫,它基於標準庫 time 進行了擴展,提供了更便捷的時間操作功能,適用於需要頻繁處理時間區間、時區轉換或複雜時間解析的場景。以下是該庫的核心功能和用法詳解:一、核心功能時間區間的便捷計算now 庫提供了快速獲取時間區間(如某分鐘的開始 / 結束、某周的開始 / 結束等)的方法,無需手動計算。例如: import ⌘ Read more
Oops, Scientists May Have Miscalculated Our Global Warming Timeline
Darren Orf, Contributing Writer - Popular Mechanics
_Stephan: The latest research, as this report describes, is that climate change is happening faster than has previously been estimated. I have told you repeatedly, and put up two papers of research showing why I keep saying this, that within 15 years humanity is going to go through a civilization-altering crisis. This prediction is based … ⌘ Read more
How hard will Trump’s immigration raids hit red states?
Myah Ward, - Politico
_Stephan: As this article describes all those farmers and herders, most of whom voted for MAGAts, are now going to face the economic crisis that will come from that decision. For years at our property in rural Tidewater Virginia, my family raised registered purebred Angus cattle, not for meat, but like a dog breeding operation, to improve the herd genetics. It introduced me to a world I ha … ⌘ Read more
gogen:一鍵生成 Go 項目,開發者的效率利器
在 Go 開發中,手動搭建項目結構是不是讓你覺得效率低下?有沒有想過一個工具能一鍵搞定模板生成,像 Rust 的 cargo generate 那樣簡單?我開發的 gogen 就是爲此而生——輕量、靈活,專爲 Go 開發者打造。幾秒鐘內,你就能擁有一個定製化的項目骨架。接下來,讓我帶你看看它有多實用!gogen 是一個 Go 項目生成工具,靈感源自 Rust 的 cargo generate,旨在 ⌘ Read more
No matter the size a cat is going to cat. ⌘ Read more
twtxt is a decentralised, minimalist microblogging service for hackers.
The keyword here is microblogging. But it doesn’t feel like we’ve been (relatively speaking) doing much of that lately… maybe I go the concept of microblogging wrong.
Dow falls by almost 900 points in market rout after Trump says he won’t rule out a recession
John Towfighi and Lucy Bayly, Reporters - CNN
Stephan: I warned you it was going to happen, and two months into this nightmare it is happening. And “king” Trump is admitting the reality. All the men and women who voted for this psychopath I now expect to begin whining because of what is happening to their wellbeing.
、LFU(最少使用頻率)、ARC(自適應緩存替換)等,可以靈活選擇適合的緩存模式。1. 安裝———使用 go get 下載安裝:go get github.com/bluele/gcache然後在代碼中導入:import ”github.com/bluele/gcach ⌘ Read more
如何基於 Go 語言設計一個簡潔優雅的分佈式任務系統
在當今雲計算與微服務盛行的時代,分佈式任務系統已成爲支撐大規模業務的核心基礎設施。今天就來爲大家分享下如何基於 Go 語言從零設計和實現一個架構簡潔且擴展性強的分佈式任務系統。前置概念本文會設計並實現一個分佈式任務系統,這裏我們要先明確兩個概念。• 分佈式:在我們將要實現的分佈式任務系統中,分佈式是指我們的服務可以部署多個副本,這樣才能確保服務更加穩定。 • 任務:這裏的任務是指異步任務,可 ⌘ Read more
【GoAnalysis】大更新,Go 項目源碼褲衩子被脫光了
前提上週,我發佈了 goanalysis 工具的首個版本,並得到了廣大用戶的積極反饋與支持。隨着關注度的增加,許多用戶表達了對如何有效利用該工具的興趣和疑問。經過深入考量後,我決定對 goanalysis 進行重大升級以更好地滿足用戶需求。本文旨在詳細介紹最新版 goanalysis 的功能特性及其使用方法,並引導大家訪問體驗網站。主要功能包括:運行時性能分析:提供應用程序在實際執行過程中性能指標 ⌘ Read more
oh god i have a horrible headache i know it’ll only go away if i sleep but i don’t wanna sleep yet T_T
go-attention:純 Go 語言實現的注意力機制和 Transformer
go-attention[1] 是由 takara.ai[2] 的前沿研究團隊開發的,是第一個純 Go 語言實現的注意力機制和 Transformer 層的庫。它專爲高性能和易用性而設計,目前已開源且經獲得了 291 star。主要特點—-純 Go 實現:無外部依賴,適合邊緣計算和需要依賴管理的場景 完整的注意力機制:包括基本的點積注意力和多頭注意力 完整的 Transformer ⌘ Read more
Go-redis:執行 Lua 腳本
go-redis (github.com/redis/go-redis) 支持 Lua 腳本 redis.Script,本文在這裏簡單展示其在秒殺場景中使用的代碼片段。秒殺場景在秒殺場景中,一個商品的庫存對應了兩個信息,分別是總庫存量和已秒殺量。可以使用一個 Hash 類型的鍵值對來保存庫存的這兩個信息,如下所示:key: productid value: {total: N, ordered: ⌘ Read more
We had a very sunny day, peaking at 19°C. This not only decoyed me out, but also plenty motorcycle terrorists. Eh fuckwits, nobody wants to listen to your bloody engine and exhaust noise, keep it quiet for fuck’s sake! Many of your rider collegues can manage it, too, so should you.
I had some sore muscles after yesterday’s waste paper collection with the scouts. So, I only went for a short trip to my closest backyard mountain. Watching two rock climbers was interesting. That’s not something I see very often.
Thanks, @xuu@txt.sour.is, great explanation. In another project I’ve structured it exactly like you wrote. The mock storage over there extends the SQLite storage and provides mechanism to return errors and such for testing purposes:
- storage/ defines the interface
- sqlite/ implements the storage interface
- mock/ extends the SQLite implementation by some mocking capabilities and assertions
- sqlite/ implements the storage interface
Here, however, there are no storage subpackages. It’s just storage, that’s it. Everything is in there. The only implementation so far is an SQLite backend that resides in storage. My RAM storage is exactly that SQLite storage, but with :memory: instead a backing file on disk. I do not have a mock storage (yet).
I have to think about it a bit more, but I probably have to do exactly that in my tt rewrite, too. Sigh. I just have the feeling that in storage/sqlite/sqlite_test.go I cannot import storage/mock for the helper because storage/mock/mock.go imports and embeds the type from storage/sqlite. But I’m too tired right now to think clearly.
Climate Change Threatens Earth’s Major Crops, Study Finds
Michael Riojas, Reporter and Editorial Assistant - Eco Watch
Stephan: Climate change is going to drastically change agriculture, and that is going to cause enormous migrations both internally and internationally. This will, in turn, massively disrupt nations across Earth. And this crisis is coming very quickly. By 2040 humanity will be in crisis.

- storage/sqlite for the sqlite implementation tests for sqlite directly
- storage/ram for the ram implementation and tests for RAM directly
- storage/sqlite for the sqlite implementation tests for sqlite directly
- controller/ can now import both storage and the implementation as needed.
So now I am guessing you wanted the RAM test for testing queries against sqlite and have it return some query response?
For that I usually would register a driver for SQL that emulates sqlite. Then it’s just a matter of passing the connection string to open the registered driver on setup.
https://github.com/glebarez/go-sqlite?tab=readme-ov-file#connection-string-examples
@lyse@lyse.isobeef.org OK. So how I have worked things like this out is to have the interface in the root package from the implementations. The interface doesn’t need to be tested since it’s just a contract. The implementations don’t need to import storage.Storage
- storage/ defines the
Storageinterface (no tests!)
- storage/sqlite for the sqlite implementation tests for sqlite directly
- storage/ram for the ram implementation and tests for RAM directly
- storage/sqlite for the sqlite implementation tests for sqlite directly
- controller/ can now import both storage and the implementation as needed.
So now I am guessing you wanted the RAM test for testing queries against sqlite and have it return some query response?
For that I usually would register a driver for SQL that emulates sqlite. Then it’s just a matter of passing the connection string to open the registered driver on setup.
https://github.com/glebarez/go-sqlite?tab=readme-ov-file#connection-string-examples
Ontario will tariff electricity going to 3 US states on Monday, premier says
Ashleigh Fields, Staff Writer - The Hill
_Stephan: If you live in Michigan, Minnesota, and New York expect your electric bill to go up significantly, because much of your electricity comes from Canada, and Ontario is now responding to the Trump tariffs. But as bad as that is, I think what criminal Trump is doing is far worse than anyone in media is really talking about. … ⌘ Read more
Donald Trump Approval Rating: Update for March 6 as Numbers Slide
, - Newsweek
_Stephan: Americans still don’t get it. They still don’t properly understand what “king” Trump, his Frankenstein Musk, and his flying monkeys in Congress are doing to their lives. The U.S. economy is headed for a recession, prices are going up not down, the nation’s reputation in the world is in the garbage; and if you need medical attention, you may not be able to get it, you … ⌘ Read more
I’m going to do free doodle😻 ⌘ Read more
golang 每日一庫之 gods
在 Go 語言的生態中,數據結構的選擇和實現往往直接影響程序的性能和代碼的可維護性。今天,我們就來聊聊一個備受開發者喜愛的開源項目 gods,它爲我們提供了豐富且易用的數據結構實現,極大地簡化了開發過程中 “造輪子” 的煩惱。項目背景——-gods 是由 Emir Pasic 開發並維護的一個開源庫,旨在爲 Go 語言提供各種常用數據結構和算法的實現。項目採用 MIT 許可證,鼓勵社區貢獻 ⌘ Read more
Ummm, that toy isn’t going to bounce around on its own. ⌘ Read more
@xuu@txt.sour.is My layout looks like this:
- storage/
- storage.go: defines a
Storageinterface
- sqlite.go: implements the
Storageinterface
- sqlite_test.go: originally had a function to set up a test storage to test the SQLite storage implementation itself:
newRAMStorage(testing.T, $initialData) *Storage
- storage.go: defines a
- controller/
- feeds.go: uses a
Storage
- feeds_test.go: here I wanted to reuse the
newRAMStorage(…)function
- feeds.go: uses a
I then tried to relocate the newRAMStorage(…) into a
- teststorage/
- storage.go: moved here as
NewRAMStorage(…)
- storage.go: moved here as
so that I could just reuse it from both
- storage/
- sqlite_test.go: uses
testutils.NewRAMStorage(…)
- sqlite_test.go: uses
- controller/
- feeds_test.go: uses
testutils.NewRamStorage(…)
- feeds_test.go: uses
But that results into an import cycle, because the teststorage package imports storage for storage.Storage and the storage package imports testutils for testutils.NewRAMStorage(…) in its test. I’m just screwed. For now, I duplicated it as newRAMStorage(…) in controller/feeds_test.go.
I could put NewRAMStorage(…) in storage/testutils.go, which could be guarded with //go:build testutils. With go test -tags testutils …, in storage/sqlite_test.go could just use NewRAMStorage(…) directly and similarly in controller/feeds_test.go I could call storage.NewRamStorage(…). But I don’t know if I would consider this really elegant.
The more I think about it, the more appealing it sounds. Because I could then also use other test-related stuff across packages without introducing other dedicated test packages. Build some assertions, converters, types etc. directly into the same package, maybe even make them methods of types.
If I went that route, I might do the opposite with the build tag and make it something like !prod instead of testing. Only when building the final binary, I would have to specify the tag to exclude all the non-prod stuff. Hmmm.
Poll on Trump’s 2025 joint address to Congress finds large majority of viewers approve
Anthony Salvanto, Reporter - CBS News
Stephan: The fundamental source of the problems with America is Republican frightened, resentful, ignorant Americans. They are the ones who elected this monster, and they are also the ones who are going to be most severely impacted by his greed, corruption, and madness.
yaegi:讓你的 Go 代碼擁有動態腳本能力
在 Go 語言的世界裏,靜態編譯是其一大特色,能夠保證性能和安全性。然而,有些場景下,我們希望像 Python 或 JavaScript 一樣,支持運行時動態執行代碼,比如插件化架構、規則引擎、腳本解釋器等。今天,我們來介紹一個強大的 Go 解釋器庫——yaegi,它能讓 Go 代碼在運行時執行動態腳本。yaegi 簡介yaegi 是一個用 Go 語言編寫的 Go 解釋器。它可以在運行時解析和執行 ⌘ Read more
it seems to be confused with the subject right next to it.. it works better at the end of the twt string.
Yarn won’t display anything. but the parser does add it to the AST in a way that you can parse it out using twt.Attrs().Get("lang")
https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/ast.go#L1270-L1272
https://git.mills.io/yarnsocial/go-types/src/branch/main/twt.go#L473-L478
it seems to be confused with the subject right next to it.. it works better at the end of the twt string.
Yarn won’t display anything. but the parser does add it to the AST in a way that you can parse it out using twt.Attrs().Get("lang")
https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/ast.go#L1270-L1272
https://git.mills.io/yarnsocial/go-types/src/branch/main/twt.go#L473-L478
Tariff War Risks Sinking World Into New Great Depression, International Chamber of Commerce Warns
Joshua Kirby, Economic Reporter - The Wall Street Journal
_Stephan: This is from yesterday’s Murdoch owned The Wall Street Journal, hardly a Democratic or liberal publication. Since I read Project 2025 I have been predicting on SR that the United States is probably going to go into a recession. TWSJ seems to think it may be worse … ⌘ Read more
Analysis Finds Trump Tariffs Will Cost Average US Family $1,600 or More Per Year
Jessica Corbett, Senior Editor - Common Dreams
_Stephan: I have seen several estimates on what the Trump MAGAt Party’s impact on the economy is going to cost each American household; this one seems the most fact-based. Maybe $1,600 this year is not that much to you, but to millions of U.S. families it is going to have a serious impact. And after the State of the U … ⌘ Read more
Go Context 實踐指南:以生產環境問題爲例
背景 Go 語言中的 context(上下文) 對於 Go 程序員來說應該是司空見慣, 很多都會不假思索的將 context 類型入參作爲函數的第一個參數. 最近因爲在生產環境處理過一個和 context 有關的問題, 因此希望可以藉助這個實際問題說說 context 使用上的注意事項. 類似 “context 應該使用參數傳遞不能作爲 struct 成員” 的八股知識不在本文討論範 ⌘ Read more
TwtAttrs
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
Actually it was your old feed on eapl.mx
TwtAttrs
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
Actually it was your old feed on eapl.mx
TwtAttrs
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
Actually it was your old feed on eapl.mx
TwtAttrs
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
Actually it was your old feed on eapl.mx
Trump Reveals Tariffs Plan to Ruin American Farmers’ Lives
Malcolm Ferguson, Associate writer - The New Republic
Stephan: Thanks to the stupidity of “king” Trump, who clearly does not understand what tariffs are, Americans, like you and me, are about to see a number of farmers go broke, and the prices we pay for produce at the grocery go up by as much as 25%
_C … ⌘ Read moregolang 每日一庫之 go-flags
go-flags 是一個用於處理命令行參數和標誌的 Go 庫,它提供了一種簡潔而靈活的方式來定義和解析命令行標誌(flags)和參數。這個庫對於需要處理命令行輸入的 Go 應用程序非常有用,特別是在構建 CLI(命令行工具)時。1. 安裝 go-flags首先,你需要安裝 go-flags 庫。在命令行中運行以下命令:go get github.com/jessevdk/go-flags這個命令會 ⌘ Read more
在 Go 中如何使用分佈式鎖解決併發問題?
在分佈式系統中,協調多個服務實例之間的共享資源訪問是一個經典的挑戰。傳統的單機鎖(如 sync.Mutex)無法實現跨進程工作,此時就需要用到分佈式鎖了。本文將介紹 Go 語言生態中基於 Redis 實現的分佈式鎖庫 redsync,並探討其使用方法和實現原理。分佈式鎖首先我們來探討下爲什麼需要分佈式鎖?當我們編寫的程序出現資源競爭的時候,就需要使用互斥鎖來保證併發安全。而我們的服務很有可能不會單 ⌘ Read more
Go 1-24 中改進的 Finalizer:介紹 runtime-AddCleanup
Go 1.24 通過 runtime.AddCleanup 引入了一個新的、改進的 Finalizer 機制。這個函數是對 runtime.SetFinalizer 的重大改進,提供了更多的靈活性、更好的效率和改進的安全性。Finalizer 在 Go 中扮演着關鍵角色,當對象不再可達時運行清理函數。這允許開發者自動執行諸如關閉文件、釋放內存和註銷資源等重要任務。今天我們將探討 runtime.A ⌘ Read more
New MacBook Air Coming This Week: What to Expect
Apple CEO Tim Cook teased a new product announcement this week, sharing a short video that says “there’s something in the Air.” Based on the “Air” wording and the timing of the launch, it sounds like we’re going to get new M4 [MacBook Air](https://www.macrumors.com/ro … ⌘ Read more
Announcing the Beta Release of OpenTelemetry Go Auto-Instrumentation using eBPF
The OpenTelemetry community is excited to announce the beta release of the OpenTelemetry Go Auto-Instrumentation project! This milestone brings us closer to our mission of making observability simple, accessible, and effective for Go applications. What is… ⌘ Read more
Local and State Police are Joining Trump’s Deportation Force
Francesca D’Annunzio, David McHam Investigative Reporting Fellow - Texas Observer
_Stephan: Here is the fact-based truth about what is going on with deportation. Two things stand out for me. The first is that the Trump coup is actually deporting fewer people than Biden’s presidency did. The second is that Trump is now basically militarizing local and state police exactly as Hitler did. If you track the … ⌘ Read more
Some consumers are not spending money for today’s economic blackout. Here’s what to know.
Betty Lin-Fisher, Customer Reporter - USA Today
Stephan: The 28 February “Don’t Buy for 24 hours” boycott doesn’t seem to have amounted to much. What that tells me is that a large percentage of Americans don’t yet realize what is going in their country with the Trump coup. Very sad.
![Some consumers are participating in a one-day economic blacko … ⌘ Read more
Xid:Go 輕量級 ID 生成器
在分佈式系統中,唯一 ID(GUID)是必不可少的,常見的方案包括 UUID、MongoDB ObjectID 和 Twitter Snowflake。其中 UUID 雖然通用,但長度較長,而 Snowflake 需要額外的機器 / 數據中心配置。xid (github.com/rs/xid) 是一個基於 MongoDB ObjectID 算法的更輕量級、更高效的全局唯一 ID 生成庫,用於生成 ⌘ Read more
golang 每日一庫之 concurrent-map
概述orcaman/concurrent-map/v2 是一個 Go 語言的高性能併發安全哈希表實現。它通過分片鎖(shard locking)策略減少鎖競爭,適用於高併發讀寫場景。與標準庫的 sync.Map 不同,該庫針對通用鍵值類型優化,提供更靈活的 API 和更高性能。項目地址GitHub 倉庫 : https://github.com/orcaman/concurrent- ⌘ Read more
Golang 程序卡死排查指南
我正在幫助某人設置我的 gokrazy/rsync 實現來同步 RPKI 數據(用於保護 BGP 路由基礎設施),當時我們發現,在特定調用方式下,我的 rsync 接收器會無限期掛起。這個問題很快就解決了,但在這個過程中,我意識到我應該記錄下這些年來我所欣賞的一些 Go 調試技巧!場景:Go 程序掛起———-如果你想跟着實驗,可以構建 gokrazy/rsync 的一個較舊版本,就在修 ⌘ Read more
使用 Golang 編寫 2D 遊戲
Ebitengine 是一款基於 Go 語言的 2D 遊戲開發引擎,提供了簡單易用的 API 和跨平臺的支持,開發者可以通過它輕鬆構建遊戲項目。核心特性——-跨平臺支持 Ebitengine 支持多個平臺,包括 Windows、macOS、Linux,以及 WebAssembly(可運行於瀏覽器中)。這使得開發者可以在不同設備上運行同一個遊戲項目,而無需編寫額外的代碼。易用的 API ⌘ Read more
golang 面試題:Goroutinue 什麼時候會被掛起?
今天我們來聊聊一個在 Go 面試中經常遇到的經典問題:Goroutine 什麼時候會被掛起?如果你是一個 Go 程序員,或者正在準備 Go 相關的面試,可能對這個問題有一些疑問。那麼,就讓我從一個資深程序員的角度,帶你們深入淺出地分析這個問題。💡什麼是 Goroutine?首先,咱們得搞清楚什麼是 Goroutine。簡而言之,Goroutine 就是 Go 中的輕量級線程。它讓我們可以用極低的成 ⌘ Read more
Cuts to National Weather Service Leave Forecasters Reeling
, - DNYUZ
_Stephan: The Trump coup is now destroying the National Weather Service, so your weather reports will deteriorate in accuracy. Criminal Trump is going to attempt to privatize the National Weather Service and let one of the oligarchs that bought him his job own the NWS and turn it into a profit-making system for themselves. All you Republican farmers, foresters, and fishermen, hope you love wha … ⌘ Read more
Trump admin plans to ‘permanently cripple’ climate protections in single blow: report
David Edwards, Senior Editor - Raw Story
_Stephan: The Trump coup, as one of its main goals, is eliminating any preparation for climate change, or encouraging transition out of the carbon energy era. I don’t think criminal Trump is smart enough to really understand what climate change is going to mean to the United States. Or, maybe, he just figures he wi … ⌘ Read more
@lyse@lyse.isobeef.org Looks like a nice day. 😊 I tried to go on a quick walk, but it was really cold. And everything’s wet at the moment. Bah.
Clothespins in the woods, who would have thunk? 🥴
Name mi cat ! I found this baby outside the house today and I’m going to keep it🥰. In a few hours I will know if it is female or male. ⌘ Read more
House Republicans are betting big on pain
Hayes Brown, Staff Writer / Editor - MSNBC
_Stephan: The Republican Congress members in subservience to the uber-rich who bought them their seats, and in submission to aspiring dictator Trump, is trashing the U.S. economy. I am sure you have seen some of the video clips of townhall meetings in which the Republicans are booed and challenged. We are going from an economy that was the envy of the world as Biden’s administration ended to an … ⌘ Read more
golang 每日一庫之 gocarina-gocsv
一、爲什麼選擇 gocsv?Go 標準庫 encoding/csv 提供了基礎的 CSV 讀寫能力,但在處理複雜業務時常常需要:手動轉換字符串到具體類型 維護列索引與結構字段的映射關係 處理嵌套結構等複雜數據類型 處理可選字段和默認值 gocarina/gocsv 通過結構體標籤實現了聲明式的 CSV 解析,極大簡化了開發流程。最新統計顯示,該庫在 GitHub 已獲得 1 ⌘ Read more
Go 語言 errgroup 庫:強大的併發控制工具
errgroup 是官方 Go 庫 x 中的一個實用工具,用於併發執行多個 goroutine 並處理錯誤。它基於 sync.WaitGroup 實現了 errgroup.Group,爲併發編程提供了更強大的功能。errgroup 的優勢————與 sync.WaitGroup 相比,errgroup.Group 具有以下優勢:錯誤處理:sync.WaitGroup 只負責等待 g ⌘ Read more
My little girl. 14 years old. She still hates when I have to go to work. Purring like a diesel engine and cuddling, saying “don’t leave”. ⌘ Read more