ki9 starts work on XMR price API with data from Bisq, Haveno-reto
Keith Irwin (ki91) has apparently started working on XMR Price F.Y.I. 2 - a new Monero price API with unbiased street price data from multiple sources, including Haveno-reto 3 and Bisq 4:
[X] Domain name service
[X] TLS certs
[X] Nginx proxy
[X] Basic 11ty site
[ ] Basic http API
[ ] Haveno-reto data
[ ] Bisq data
[ ] Coingecko data
[ ] Forex data
[ ] API
[ ] ... ⌘ [Read more](https://monero.observer/ki9-starts-work-xmr-price-api-data-haveno-bisq/)
SNeedlewoods submits CCS proposal for 1 month of part-time Monero dev work
SNeedlewoods1 has submitted their first CCS proposal2 to work part-time on Monero development for 1 month:
For this proposal the focus of work will be on the new wallet API [..] The work is already ongoing since May 2024 [..] This is a “pilot” proposal to see how things work out. [..] Hopefully I will become a long term contributor for general development.
Funding proposed: 2.15 XMR (10-15 hour ... ⌘ [Read more](https://monero.observer/sneedlewoods-submits-monero-dev-work-ccs-proposal/)
Karmada v1.11 version released! New cross-cluster rolling upgrade capability for workload!
Project post by Karmada Maintainers Karmada is an open multi-cloud and multi-cluster container orchestration engine designed to help users deploy and operate business applications in a multi-cloud environment. With its compatibility with the native Kubernetes API, Karmada can… ⌘ Read more
RavenTree:輕量級的 Go HTTP 請求庫,內置重試機制和錯誤處理
RavenTree 是一個輕量級的 Go 庫,旨在通過提供易於使用的接口、內置對各種 HTTP 方法的支持、接受重試處理等功能來簡化 HTTP 請求。它爲開發者提供了一種高效便捷的方式與網絡服務進行交互。RavenTree 的核心功能—————易於使用的接口: RavenTree 提供了一個簡單直觀的 API,可以方便地創建和發送 HTTP 請求。 內置支持各種 HTT ⌘ Read more
構建 Go RESTful API 的終極指南:Fiber、GORM 和 PostgreSQL
本文將帶你一步步構建一個基於 Go、Fiber 和 GORM 的 RESTful API,並使用 PostgreSQL 作爲數據庫。我們將涵蓋從項目搭建、數據庫配置到 API 路由、認證、授權、錯誤處理等關鍵環節,並附有完整代碼示例和詳細解釋,幫助你快速上手 Go RESTful API 開發。項目搭建—-首先,我們需要創建一個新的 Go 項目並安裝必要的依賴包。 初始化 Go 模塊go mo ⌘ Read more
如何用 Go 來構建 LLM 應用
隨着大型語言模型(LLM)及其相關工具(如嵌入模型)在過去一年中能力顯著提升,越來越多的開發者考慮將 LLM 集成到他們的應用程序中。由於 LLM 通常需要專用硬件和大量計算資源,它們通常作爲網絡服務打包,提供 API 供訪問。這就是 OpenAI 和 Google Gemini 等領先 LLM 的 API 工作方式;即使是像 Ollama 這樣的自託管 LLM 工具,也將 LLM 封裝在 RES ⌘ Read more
Go 開發人員開發 WebRTC 的福音
Pion 是 WebRTC API 的純 Golang 實現。開發 WebRTC 應用可以使用該庫,提高開發效率。你可以使用 Pion 去創造一些很棒的東西,以下是一些可以讓你創意源源不斷的想法:發送一個視頻文件到多個瀏覽器,以實現完美同步的電影觀看。 將嵌入式設備上的網絡攝像頭內容發送到瀏覽器,無需額外的服務器。 不需要訂閱發佈,就可以在兩臺服務器之間安全地發送數據。 ⌘ Read more
Go 語言 API 文檔利器:絲襪哥(Swagger)保姆級使用指南大揭祕!
咱們都知道在 API 開發中,文檔是必不可少的一環。swaggo/swag 是一個用於 Go 語言的自動化生成 API 文檔的工具,它可以將代碼註釋轉換爲 Swagger 文檔,方便開發者和用戶理解 API 的使用方法。本文將詳細介紹 swaggo/swag 的使用方式以及它的特性。1. 安裝 Swaggo/Swag先在你的 Go 項目中安裝 swag 命令行工具和 gin-swagger 依賴: ⌘ Read more
構建由大型語言模型(LLM)驅動的 Go 應用程序
隨着過去一年大型語言模型(LLM)及其相關工具(如嵌入模型)的能力顯著增長,越來越多的開發者開始考慮將 LLM 集成到他們的應用程序中。由 於 LLM 通常需要專用硬件和大量的計算資源,它們最常見的形式是作爲提供 API 訪問的網絡服務。這就是領先的 LLM 如 OpenAI 或 Google Gemini 的 API 的工作方式;即使是運行你自己的 LLM 工具,如 Ollama[1],也會將 ⌘ Read more
PEP 756: Add PyUnicode_Export() and PyUnicode_Import() C functions
Add functions to the limited C API version 3.14: ⌘ Read more
@prologic@twtxt.net I believe you when you say registries as designed today do not crawl. But when I first read the spec, it conjured in my mind a search engine. Now I don’t know how things work out in practice, but just based on reading, I don’t see why it can’t be an API for a crawling search engine. (In fact I don’t see anything in the spec indicating registry servers shouldn’t crawl.)
(I also noticed that https://twtxt.readthedocs.io/en/latest/user/registry.html recommends “The registries should sync each others user list by using the users endpoint”. If I understood that right, registering with one should be enough to appear on others, even if they don’t crawl.)
Does yarnd provide an API for finding twts? Is it similar?
@prologic@twtxt.net I guess I thought they were search engines. Anyway, the registry API looks like a decent one for searching for tweets. Could/should yarn.social pods implement the same API?
@prologic@twtxt.net What’s the difference between search.twtxt.net and the /api/plain/tweets endpoint of a registry? In my mind, a registry is a twtxt search engine. Or are registries not supposed to do their own crawling to discover new feeds?
@prologic@twtxt.net How does yarn.social’s API fix the problem of centralization? I still need to know whose API to use.
Say I see a twt beginning (#hash) and I want to look up the start of the thread. Is the idea that if that twt is hosted by a a yarn.social pod, it is likely to know the thread start, so I should query that particular pod for the hash? But what if no yarn.social pods are involved?
The community seems small enough that a registry server should be able to keep up, and I can have a couple of others as backups. Or I could crawl the list of feeds followed by whoever emitted the twt that prompted my query.
I have successfully used registry servers a little bit, e.g. to find a feed that mentioned a tag I was interested in. Was even thinking of making my own, if I get bored of my too many other projects :-)
@prologic@twtxt.net Yes, fetching the twt by hash from some service could be a good alternative, in case the twt I have does not @-mention the source. (Besides yarnd, maybe this should be part of the registry API? I don’t see fetch-by-hash in the registry API docs.)
Go 項目結構的簡潔實現
今天分享一個在 GitHub 上有 3.5k stars 的 Go 項目:go-backend-clean-arch[1]。該項目展示了一個 Golang 後端項目如何設計優雅的項目結構。項目架構——-3.Directory Explanation———————–.├── Dockerfile # Image file├── api│ ⌘ Read more
Go 程序如何實現優雅退出?來看看 K8s 是怎麼做的——下篇
K8s 的優雅退出現在,我們已經掌握了 Go 中 HTTP Server 程序如何實現優雅退出,是時候看一看 K8s 中提供的一種更爲優雅的優雅退出退出方案了😄。這要從 K8s API Server 啓動入口說起: https://github.com/kubernetes/kubernetes/blob/release-1.31/cmd/kube-apiserver/apiserver.gof ⌘ Read more
Automatic Komoot export
While I like Komoot and use it to navigate and record all my tours, whether that are bike tours or hiking trips, it sucks that there’s no option to export all your data. There’s also no official API to easily implement such functionality. ⌘ Read more
golang 做 api 開發離不開簽名驗證- 如何設計?
在 API 開發中,簽名驗證是一種常見的安全措施,用於確保請求的完整性和來源的可靠性。以下是設計一個簽名驗證機制的步驟和示例代碼。設計思路密鑰管理:爲每個客戶端分配一個唯一的 API 密鑰和 API 密鑰。 簽名生成:客戶端在請求 API 時,使用預定義的算法生成簽名,並將簽名和其他必要參數(如時間戳、隨機數等)一起發送到服務器。 簽名驗證:服務器接收到請求後,根據相同的算法重新生成簽 ⌘ Read more
The importance of secrets detection and redaction within the SLSA framework
Member post by Wayne McDaniel, GitGuardian Leaked credentials, aka secrets, are an easy way for bad actors to gain access to your environments and data. While no one intends to leave these valuable API keys, tokens, and passwords… ⌘ Read more
ProcessOne: ejabberd 24.06
This new ejabberd 24.06 includes four months of work, close to 200 commits, including several minor improvements in the core ejabberd, and a lot of improvements in the administrative parts of ejabberd, like the WebAdmin and new API commands.
Brief summary- *Webadmin rework … ⌘ Read more
I have a question for the IndieWeb community: What can we do against Webmention spam, except filter it out, when it fails validation? I receive hundreds of invalid Webmentions a day, and even using a filtering DNS server doesn’t seem to help much. But I also don’t want to waste network traffic to access all those spam sites. Is there any good block list I can check first before doing the request for validation? I thought about Akismet, but the API has no such option to only check the submitted URL. ⌘ Read more
如何架構優秀的 Go 後端 REST API 服務
REST(Representational State Transfer)是 Web 服務中廣泛使用的一種架構風格,其核心思想是使用 HTTP 協議出色地創建、讀取、更新和刪除(CRUD)資源。作爲一種靜態類型、編譯型語言,Go 在構建高效、可靠的 Web 服務時具有顯著優勢。使用 Go 語言構建 REST API 服務需要我們從多個方面入手,包括項目結構、框架選擇、數據庫操作、路由設計等。以下將 ⌘ Read more
ProcessOne: ejabberd 24.06
This new ejabberd 24.06 includes four months of work, close to 200 commits, including several minor improvements in the core ejabberd, and a lot of improvements in the administrative parts of ejabberd, like the WebAdmin and new API commands.
Brief summary- *Webadmin rework … ⌘ Read more
ProcessOne: ejabberd 24.06
This new ejabberd 24.06 includes four months of work, close to 200 commits, including several minor improvements in the core ejabberd, and a lot of improvements in the administrative parts of ejabberd, like the WebAdmin and new API commands.
Brief summary- *Webadmin rework … ⌘ Read more
ProcessOne: ejabberd 24.06
This new ejabberd 24.06 includes four months of work, close to 200 commits, including several minor improvements in the core ejabberd, and a lot of improvements in the administrative parts of ejabberd, like the WebAdmin and new API commands.
Brief summary- *Webadmin rework … ⌘ Read more
萬字長文:Go 語言流行 ORM 框架 GORM 使用詳解
GORM 是 Go 語言中最受歡迎的 ORM 庫之一,它提供了強大的功能和簡潔的 API,讓數據庫操作變得更加簡單和易維護。本文將詳細介紹 GORM 的常見用法,包括數據庫連接、模型定義、CRUD、事務管理等方面,幫助大家快速上手使用 GORM 進行 Web 後端開發。安裝通過如下命令安裝 GORM:$ go get -u gorm.io/gorm你也許見過使用 go get -u github. ⌘ Read more
Ignite Realtime Blog: Openfire restAPI plugin version 1.11.0 release
Earlier today, version 1.11.0 of the REST API plugin for Openfire was released!
The REST API Plugin provides the ability to manage Openfire (the real-time communications server created by the Ignite Realtime community) by sending an REST/HTTP request to the server. This plugin’s functionality is useful for applications that need to administer Openfire outs … ⌘ Read more
PocketBase:一體化的開源 Go 語言實時後端
PocketBase 是一個開源的實時後端解決方案,採用單一文件的形式進行分發。它由嵌入式數據庫 (SQLite) 和實時訂閱功能組成,提供了開箱即用的文件和用戶管理功能、方便的管理儀表板 UI 以及簡單的 REST 風格 API。本文將深入探討 PocketBase 的功能、安裝、示例代碼和一些高級的應用技巧。主要特性—-嵌入式數據庫PocketBase 內嵌 SQLite 數據庫,這意味着 ⌘ Read more
使用 Golang 構建你的第一個 k8s Operator
本文將展示如何使用 Operator SDK[1] 搭建一個基本的 k8s Operator。在本文中,您將瞭解如何創建一個新項目,並通過創建自定義資源定義 (CRD) 和基本控制器來添加 API。我們將在 CRD 中添加字段,以包含一些有關期望狀態和實際狀態的信息,修改控制器以調和新資源的實例,然後將 operator 部署到 Kubernetes 集羣。Prerequisites安裝 Oper ⌘ Read more
如何將圖片編碼成 base64?
圖片的 base64 編碼在多種上下文中都很有用。當需要通過旨在處理文本數據的媒體存儲或傳輸圖片時,它通常會被使用,比如嵌入到網頁或者通過 API 上傳圖片。這篇文章將介紹如何使用 Go 標準庫得到任何圖片的 base64 編碼的值。在 Go 中將圖片轉換爲其 base64 表示很容易。所有你需要做的是將文件讀取爲字節 slice 並使用包 encoding/base64 對其進行編碼。處理本地圖 ⌘ Read more
基於 Go 語言實現的 Ollama 大語言模型框架
大語言模型在現代人工智能領域中扮演着重要角色。Ollama 作爲一個輕量級且可擴展的框架,幫助開發者在本地機器上構建和運行這些模型。Ollama 簡介———Ollama 是一個簡單、可擴展的框架,旨在幫助開發者構建和運行大語言模型。它提供了一個簡潔的 API,用於創建、運行和管理模型。此外,Ollama 附帶了豐富的預構建模型庫,供開發者在各種應用中輕鬆使用。Ollama 的特性包括: ⌘ Read more
Go 語言主流 ORM 框架對比:GORM vs- Ent
GORM 和 Ent 是 Go 語言中使用廣泛的兩種 ORM(對象關係映射)框架。它們都有助於將數據庫操作從底層 SQL 抽象出來,簡化數據庫交互,但它們的設計理念和使用方式有顯著的不同。本文將詳細介紹 GORM 和 Ent 的不同特點、使用示例,並比較它們在不同場景下的優劣。GORM 簡介——-GORM 是一個易於使用的 ORM 庫,旨在提供簡單、乾淨的 API。它通過反射機制動態處理數 ⌘ Read more
全面掌握 GORM 中的遷移系統,實現自動遷移與手動遷移
在 Golang 生態系統中,GORM 作爲一個廣泛使用的 ORM 框架,不僅在數據庫操作方面提供了友好的 API 支持,其遷移系統(Migration System)同樣功能強大且易於使用。在本文中,我們將詳細解析 GORM 中的遷移機制,包括自動遷移和手動遷移,同時提供詳盡的代碼示例,幫助開發者全面掌握這一技術。什麼是數據庫遷移?———在數據庫系統中,遷移是指對數據庫架構進行變更的 ⌘ Read more
Go 語言中,HTTP 請求流式是如何寫入 body 的?
最近在開發一個功能時,需要通過 http 協議上報大量的日誌內容,但是在 Go 標準庫裏的 http client 的 API 是這樣的: http.NewRequest(method, url string, body io.Reader)body 是通過 io.Reader 接口來傳遞,並沒有暴露一個 io.Writer 接口來提供寫入的辦法,先來看看正常情況下怎麼寫入一個 body ,示例 ⌘ Read more
go3d:Go 語言遊戲方向的高性能 2D-3D 數學庫
在面向性能的編程世界中,go3d是爲 Go 語言提供的一款 2D/3D 數學庫,致力於提高圖形計算的效率與速度。適用於那些需要進行向量、矩陣等數學計算以實現圖形處理的應用程序,go3d提供了一套豐富的 API,以支持高效的數學運算。下面,我們將深入瞭解這個庫的主要特性、結構和使用方式,以及如何在項目中有效利用它。主要特性—-高性能設計:go3d庫主要關注於性能,通過優化算法和數據結構來減少計算 ⌘ Read more
Lura:基於 Gin 實現的下一代超高性能 API 網關,支持大量插件!
在快速發展的技術世界中,管理和分發服務變得愈發重要。API 網關作爲一種服務架構模式,爲微服務架構提供了一種高效的管理方式。近年來,Lura(以前稱爲 KrakenD)在開源社區嶄露頭角,以其輕量級和高性能稱爲熱議的焦點。Lura 項目不僅僅是一個 API 網關,它還提供了豐富的中間件,可以幫助開發者在 Linux 環境中更好地管理微服務。接下來我們將深入探討 Lura 的技術架構,以及如何使用其 ⌘ Read more
使用 OpenTelemetry 實現 Golang 服務的可觀測系統
這篇文章中我們會討論可觀測性概念,並瞭解了有關 OpenTelemetry 的一些細節,然後會在 Golang 服務中對接 OpenTelemetry 實現分佈式系統可觀測性。Test Project我們將使用 Go 1.22 開發我們的測試服務。我們將構建一個 API,返回服務的名稱及其版本。我們將把我們的項目分成兩個簡單的文件(main.go 和 info.go)。// file: main. ⌘ Read more
單元測試中如何解決文件依賴問題
現如今的 Web 應用程序往往採用 RESTful API 接口形式對外提供服務,後端接口直接向前端返回 HTML 文件的情況越來越少,所以在程序中操作文件的場景也變少了。不過有些時候還是需要對文件進行操作,比如某個 API 接口需要返回應用程序的 ChangeLog,那麼這個接口就可以通過讀取項目的 CHANGELOG.md 文件內容,將其發送給前端。在編寫單元測試時,文件就成了被測試代碼的外部 ⌘ Read more
用 Go 語言做了一個分佈式限流器, 看看實現的方法與步驟
項目中需要對 api 的接口進行限流,但是麻煩的是,api 可能有多個節點,傳統的本地限流無法處理這個問題。限流的算法有很多,比如計數器法,漏斗法,令牌桶法,等等。各有利弊,相關博文網上很多,這裏不再贅述。項目的要求主要有以下幾點:支持本地 / 分佈式限流,接口統一 支持多種限流算法的切換 方便配置,配置方式不確定 go 語言不是很支持 OOP,我在實現的時候是按 Java 的思 ⌘ Read more
Go 語言實現開源優雅的跨平臺 USDT 收付中間件
Epusdt(全稱:Easy Payment Usdt)是一個由 Go 語言編寫的私有化部署 Usdt 支付中間件 (Trc20 網絡)。站長或開發者可以通過 Epusdt 提供的 http api 集成至任何系統,無需過多的配置,僅僅依賴 mysql 和 redis。通過它,可以實現 USDT 的在線支付和消息回調,均可在優雅和瞬間完成。私有化搭建使得無需額外的手續費和簽約費用,Usdt 代幣直 ⌘ Read more
利用 Go 操控 Etcd:構建強一致性系統的祕訣
etcd 是一個開源的、高可用的分佈式鍵值(key-value)存儲系統,它主要用來共享配置和服務發現。etcd 由 CoreOS 團隊開發,是以 Go 語言編寫的。etcd 採用了 Raft 協議來處理日誌複製以提供強一致性和高可用性,它成爲很多分佈式系統和雲原生技術(如 Kubernetes)中的基礎組件。etcd 的核心特性包括:簡潔的鍵值存儲:etcd 提供 HTTP/JSON API,允 ⌘ Read more
Even though the bridges that #beeper use are AGPL licensed, the beeper client is proprietary software 😭
This is big sad.
They almost had it.
It is also kind of limited on google-free android phones, since the QR code scanner for device verification key-signing depends on a google play services API (which microg doesn’t implement). This means that you can’t share message history between your google-free android and the beeper desktop client. ⌘ Read more
使用 Golang 構建你的 LLM API
大語言模型,像 ChatGPT, Llama 等已經席捲全球,從上圖的數據可以看出,ChatGPT 花了 5 天時間就達到了 100 萬用戶。而 Netflix 則花了近 4 年的時間。本文將使用 Gin 和 Langchain 教你快速構建一套 LLM API。GinGin[1] 是一個用於使用 GoLang 構建 API 的現代、快速的 Web 框架。它被設計爲易於使用、高效且性能出色,利用了 ⌘ Read more
Telegram Premium allows you to convert voice messages to text. But Telegram Premium isn’t officially available in Germany. So why not develop your own solution? That’s exactly what I did this morning: I created a Telegram bot that takes the voice message and transcribes it using OpenAI’s Whisper API. The bot runs as a serverless container on Scaleway. The source code is published on my Gitea instance. ⌘ Read more
Due to OpenAI’s move to prepaid billing, I (finally) had to pay for using the OpenAI API. But this also allows me to finally use the gpt-4-turbo-preview model as I have reached tier 1. Now the AI-generated summaries on this blog will be created using this new model. 😄 ⌘ Read more
Go arena 民間庫來了,可以手動管理內存!
大家好,我是煎魚。上年我們有討論過關於 Go arena 手動管理內存的相關提案。一開始還高歌猛進,但沒想到後面由於嚴重的 API 問題(想把 arena 應用到其他的標準庫中,但會引入大問題):Go 核心團隊中途咕咕咕到現在,沒有新的推動和突破性進展,實屬尷尬。最近有社區的大佬有了新的動作,來自 Grafana 的 @Miguel Ángel Ortuño 開源了一個新的第三方庫 ortuman ⌘ Read more
ProcessOne: Matrix gateway setup with ejabberd
As of version 24.02, ejabberd is shipped with a Matrix gateway and can participate in the Matrix\
\
federation. This means that an XMPP client can exchange messages with Matrix users or rooms.
Let’s see how to configure your ejabberd to enable this gateway.
Configuration in ejabberd HTTPS listenerFirst, add an [HTTP h … ⌘ Read more
PEP 743: Add Py_COMPAT_API_VERSION to the Python C API
Add Py_COMPAT_API_VERSION and Py_COMPAT_API_VERSION_MAX macros to opt-in for planned incompatible C API changes in a C extension. Maintainers can decide when they make their C extension compatible and also decide which future Python version they want to be compatible with. ⌘ Read more
ProcessOne: WebPush support on your fluux.io instance
We’re excited to announce the latest enhancement to Fluux.io services – the integration of WebPush support. This significant update extends our services beyond
FCM/APNs, enabling push notifications for XMPP across various platforms. Now, our push notification capabilities are not li … ⌘ Read more