Go Agent, Go
Discuss on Hacker News 10gen introduced MongoDB Backup Service in early May. Creating a backup service for MongoDB was a new challenge, and we used the opportunity to explore new technologies for our stack. The final implementation of the
Discuss on Hacker News
10gen introduced MongoDB Backup Service in early May. Creating a backup service for MongoDB was a new challenge, and we used the opportunity to explore new technologies for our stack. The final implementation of the MongoDB Backup Service agent is written in Go, an open-source, natively executable language initiated and maintained by Google.
Why did we Go with Go?
The Backup Service started as a Java project, but as the project matured, the team wanted to move to a language that compiled natively on the machine. After considering a few options, the team decided that Go was the best fit for its C-like syntax, strong standard library, the resolution of concurrency problems via goroutines, and painless multi-platform distribution.
mgo
As an open-source company, 10gen is fortunate to work with MongoDB developers around the world who build open-source tools for new and emerging languages to provide users with a breadth of options to access MongoDB. One of the MongoDB Masters, Gustavo Niemeyer, has spent over two years building mgo, the MongoDB driver for Go. In that time he’s developed a great framework for accessing MongoDB through Go and Gustavo has been a valuable resource as we’ve built out the Backup Service. In his own words:
“It’s great to see not only 10gen making good use of the Go language for first-class services, but contributing to that community of developers by providing its support for the development of the Go driver in multiple ways.”
Programming the backup agent in Go and the mgo driver has been extremely satisfying. Between the lightweight syntax, the first-class concurrency and the well documented, idiomatic libraries such as mgo, Go is a great choice for writing anything from small scripts to large distributed applications.
Starting a Java project often begins with a group debate: “Maven or Ant? JUnit or TestNG? Spring or Guice?” Go has a number of conventions through which Go team has created a sensible, uniform development experience with the holy trinity of tools: go build, test and fmt.
-
The organization of source code and libraries is standardized to allow using the
go build
tool. See details here -
Name test files as XXX_test.go with functions named TestXXX can be run automatically with
go test
-
Braces are required on if statements and the first brace goes along with the if condition. E.g.
if x { doSomething() }
instead of:
if x { doSomething() }
- Methods that end with an f (e.g. Printf, Fatalf) means a string formatted method will be validated in
go vet
that the number of substitutions (e.g. %v) matches the number of inputs to the function.
mgo is a real pleasure to use with high-quality code, thorough documentation and an API that is a thoughtful, natural blend of idiomatic Go and MongoDB.?Our team owes a lot of thanks to Gustavo for his hard work on this project.
There are other Go projects being explored at the moment and we hope to see more people using mgo in production going forward.
By the 10gen Backup Team
原文地址:Go Agent, Go, 感谢原作者分享。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Kürzlich hat das Natural Language Processing Team (FudanNLP) der Fudan University einen Übersichtsartikel zu LLM-basierten Agenten veröffentlicht. Der vollständige Text ist 86 Seiten lang und enthält mehr als 600 Referenzen! Ausgehend von der Geschichte von AIAgent haben die Autoren den aktuellen Status intelligenter Agenten basierend auf großen Sprachmodellen umfassend geklärt, einschließlich: Hintergrund, Zusammensetzung, Anwendungsszenarien von LLM-basierten Agenten und der Agentengesellschaft, die viel Aufmerksamkeit erregt hat. Gleichzeitig diskutierten die Autoren zukunftsweisende und offene Fragen im Zusammenhang mit Agent, die für die zukünftigen Entwicklungstrends verwandter Bereiche von großem Wert sind. Papierlink: https://arxiv.org/pdf/2309.07864.pdfLLM-basedAgent-Papierliste:

Das Sicherheitsunternehmen PeckShield stellte fest, dass der Hacker 1.155 Ether an Tornado Cash, einen unregulierten Krypto-Mixer, abgehoben hat. Diese Plattform nutzt kryptografische Methoden, um sicherzustellen, dass die Transaktionen nicht leicht nachvollziehbar sind.

Einführung in die JavaAgent-Technologie JavaAgent wird wörtlich als Java-Agent übersetzt und oft als Java-Probe-Technologie bezeichnet. JavaAgent wurde in JDK1.5 eingeführt und ist eine Technologie, die Java-Bytecode dynamisch ändern kann. Klassen in Java werden zu Bytecodes kompiliert, die von der JVM ausgeführt werden, bevor sie diese Bytecodes ausführen, und diese Bytecodes über einen Bytecode-Konverter ändern, um den Prozess abzuschließen. JavaAgent ist ein JAR-Paket, das nicht unabhängig ausgeführt werden kann. Es funktioniert über den JVM-Prozess, der an das Zielprogramm angehängt ist. Beim Start müssen Sie nur den Parameter -javaagent zu den Startparametern des Zielprogramms hinzufügen, um Cla hinzuzufügen

Hallo zusammen, ich bin Laodu. Gestern habe ich mir die KI-Krankenhausstadt angehört, die das Intelligent Industry Research Institute der Tsinghua University im Unternehmen teilt. Bild: Dies ist eine virtuelle Welt. Alle Ärzte, Krankenschwestern und Patienten sind von LLM gesteuerte Agenten und können unabhängig voneinander interagieren. Sie simulierten den gesamten Diagnose- und Behandlungsprozess und erreichten eine hochmoderne Genauigkeit von 93,06 % bei einem Teilsatz des MedQA-Datensatzes, der schwere Atemwegserkrankungen abdeckt. Ein ausgezeichneter intelligenter Agent ist untrennbar mit hervorragenden Entwurfsmustern verbunden. Nachdem ich diesen Fall gelesen hatte, las ich schnell die vier wichtigsten Agent-Designmuster, die kürzlich von Herrn Andrew Ng veröffentlicht wurden. Andrew Ng ist einer der maßgeblichsten Wissenschaftler der Welt auf dem Gebiet der künstlichen Intelligenz und des maschinellen Lernens. Dann habe ich es schnell zusammengestellt und mit allen geteilt. Modus 1. Reflexion

Laut Arkham Intelligence schickten die Wallets des Hackers, beginnend mit den Zeichen „0xc9E“, die Gelder zurück an die Wallet der US-Regierung.

Dieser jüngste Vorfall macht Schwachstellen in der Sicherheit digitaler Vermögenswerte deutlich. Es veranschaulicht auch den allgemeinen Trend, dass die Zahl der Opfer von Cyberkriminalität im Web3-Bereich zunimmt.

Der Hacker, der diese Woche Kryptowährungen im Wert von fast 22 Millionen US-Dollar aus einer Brieftasche der US-Regierung erbeutete, scheint den Großteil der Gelder zurückgegeben zu haben

Der Xbox Cloud Gaming-Dienst von Microsoft ist auf verschiedenen Geräten verfügbar, darunter PCs, Telefone und ausgewählte Fernseher. Dank einer Zusammenarbeit zwischen Microsoft und Amazon.Working For wird der Dienst nun für viel mehr Benutzer über Fire TV Sticks verfügbar sein
