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, 感谢原作者分享。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Récemment, l'équipe de traitement du langage naturel de l'Université de Fudan (FudanNLP) a lancé un article de synthèse sur les agents basés sur LLM. Le texte intégral compte 86 pages et contient plus de 600 références ! À partir de l'histoire d'AIAgent, les auteurs ont examiné de manière exhaustive l'état actuel des agents intelligents basés sur de grands modèles de langage, notamment : l'arrière-plan, la composition, les scénarios d'application de l'agent basé sur LLM et la société des agents qui a beaucoup attiré l'attention. Dans le même temps, les auteurs ont discuté de questions prospectives et ouvertes liées à Agent, qui sont d'une grande valeur pour les tendances de développement futures des domaines connexes. Lien papier : https://arxiv.org/pdf/2309.07864.pdfListe des documents LLM-basedAgent :

La société de sécurité PeckShield a noté que le pirate informatique avait retiré 1 155 Ether vers Tornado Cash, un mélangeur crypto non réglementé. Cette plateforme utilise des méthodes cryptographiques pour garantir que les transactions ne sont pas facilement traçables.

Introduction à la technologie JavaAgent JavaAgent est littéralement traduit par agent Java et est souvent appelé technologie de sonde Java. JavaAgent a été introduit dans JDK1.5 et est une technologie qui peut modifier dynamiquement le bytecode Java. Les classes en Java sont compilées pour former des bytecodes qui sont exécutés par la JVM. La JVM obtient les informations de ces bytecodes avant d'exécuter ces bytecodes et modifie ces bytecodes via un convertisseur de bytecode pour terminer le processus. JavaAgent est un package jar qui ne peut pas s'exécuter indépendamment. Il fonctionne via le processus JVM attaché au programme cible. Au démarrage, il vous suffit d'ajouter le paramètre -javaagent aux paramètres de démarrage du programme cible pour ajouter Cla

Bonjour à tous, je m'appelle Laodu. Hier, j'ai écouté la ville-hôpital d'IA partagée par l'Institut de recherche sur l'industrie intelligente de l'Université Tsinghua au sein de l'entreprise. Image : Il s'agit d'un monde virtuel. Tous les médecins, infirmières et patients sont des agents pilotés par LLM et peuvent interagir de manière indépendante. Ils ont simulé l’ensemble du processus de diagnostic et de traitement et ont atteint une précision de pointe de 93,06 % sur un sous-ensemble de données MedQA couvrant les principales maladies respiratoires. Un excellent agent intelligent est indissociable d’excellents modèles de conception. Après avoir lu ce cas, j'ai rapidement lu les quatre principaux modèles de conception d'agents récemment publiés par M. Andrew Ng. Andrew Ng est l'un des chercheurs les plus réputés au monde dans le domaine de l'intelligence artificielle et de l'apprentissage automatique. Ensuite, je l'ai rapidement compilé et partagé avec tout le monde. Mode 1. Réflexion

Selon Arkham Intelligence, les portefeuilles des pirates informatiques, commençant par les caractères « 0xc9E », renvoyaient les fonds vers le portefeuille du gouvernement américain.

Cet incident récent met en évidence des vulnérabilités dans la sécurité des actifs numériques. Cela illustre également la tendance plus large à l’augmentation du nombre de victimes de cybercriminalité dans le domaine Web3.

Le pirate informatique qui a pillé cette semaine près de 22 millions de dollars de crypto dans un portefeuille du gouvernement américain semble avoir restitué la grande majorité des fonds.

Le service Xbox Cloud Gaming de Microsoft est disponible sur divers appareils, notamment les PC, les téléphones et certains téléviseurs. Désormais, le service sera disponible pour beaucoup plus d'utilisateurs via Fire TV Sticks, grâce à une collaboration entre Microsoft et Amazon.
