Both sides previous revisionPrevious revisionNext revision | Previous revision |
go:packages [2017/01/28 15:04] – [Logging] fgm | go:packages [2023/05/17 07:48] (current) – [Dépendances] fgm |
---|
* https://github.com/stathat/jconfig (8/6/14: 41/10) | * https://github.com/stathat/jconfig (8/6/14: 41/10) |
* https://github.com/bashtian/jsonutils génération de struct Go à partir de JSON existants pour faciliter leur utilisation | * https://github.com/bashtian/jsonutils génération de struct Go à partir de JSON existants pour faciliter leur utilisation |
| * [[https://github.com/pquerna/ffjson|FFJSON]]: "faster JSON serialization for Go" |
* TOML | * TOML |
* https://github.com/BurntSushi/toml (8/6/14: 198/145) | * https://github.com/BurntSushi/toml (8/6/14: 198/145) |
* Utilisé par Viper et Hugo | * Utilisé par Viper et Hugo |
* [[https://github.com/LDCS/sflag|SFlag]] Cmdline arg parser using struct syntax | * [[https://github.com/LDCS/sflag|SFlag]] Cmdline arg parser using struct syntax |
| * [[https://github.com/alecthomas/kingpin|Kingpin]] POSIX-compliant (?) arguments handling |
==== Autres ==== | ==== Autres ==== |
| |
* [[https://github.com/laher/goxc|GoXC]] build, déploiement | * [[https://github.com/laher/goxc|GoXC]] build, déploiement |
===== Dépendances ===== | ===== Dépendances ===== |
| |
| Tous ces outils sont obsolètes depuis l'introduction des modules VGO. |
| |
* [[https://github.com/LyricalSecurity/gigo|Gigo]] inspirée par Python pip | * [[https://github.com/LyricalSecurity/gigo|Gigo]] inspirée par Python pip |
* [[https://github.com/tools/godep|GoDep]] le standard de fait ? | * [[https://github.com/tools/godep|GoDep]] le standard de fait ? |
* [[http://www.goinggo.net/2013/10/manage-dependencies-with-godep.html|didacticiel]] | * [[http://www.goinggo.net/2013/10/manage-dependencies-with-godep.html|didacticiel]] |
| * [[https://github.com/kr/goven|Goven]] 2014-08-05: "Goven is deprecated. Please use godep instead." |
* [[https://github.com/mjibson/party|Party]] Réécriture des dépendances lors de l'inclusion locale | * [[https://github.com/mjibson/party|Party]] Réécriture des dépendances lors de l'inclusion locale |
| |
=== Obsolètes === | |
| |
* [[https://github.com/kr/goven|Goven]] 2014-08-05: "Goven is deprecated. Please use godep instead." | |
===== Développement ===== | ===== Développement ===== |
| |
* [[https://github.com/josephspurrier/goversioninfo|Go Version Info]] inclusion des méta d'exécutable dans les programmes Go pour Windows. | * [[https://github.com/josephspurrier/goversioninfo|Go Version Info]] inclusion des méta d'exécutable dans les programmes Go pour Windows. |
* Documentation | * Documentation |
| * [[https://beta.metadoc.io/|Metadoc]] un meilleur générateur de documentation que godoc |
* [[https://github.com/dominikh/implements|Implements]] commande listant les interfaces implémentées par un type, ou les types implémentant une interface | * [[https://github.com/dominikh/implements|Implements]] commande listant les interfaces implémentées par un type, ou les types implémentant une interface |
* [[https://github.com/golang/tools/tree/master/oracle|Go Oracle]] Analyse statique orientée recherche dans le source | * [[https://github.com/golang/tools/tree/master/oracle|Go Oracle]] Analyse statique orientée recherche dans le source |
* [[https://docs.google.com/document/d/1SLk36YRjjMgKqe490mSRzOPYEDe0Y_WQNRv-EiFYUyw/view|Manuel]] | * [[https://docs.google.com/document/d/1SLk36YRjjMgKqe490mSRzOPYEDe0Y_WQNRv-EiFYUyw/view|Manuel]] |
* [[https://docs.google.com/document/d/1WmMHBUjQiuy15JfEnT8YBROQmEv-7K6bV-Y_K53oi5Y/view|Design]] | * [[https://docs.google.com/document/d/1WmMHBUjQiuy15JfEnT8YBROQmEv-7K6bV-Y_K53oi5Y/view|Design]] |
| * [[https://peachdocs.org/docs|Peach]] générateur de document style MkDocs ou ReadTheDocs |
==== Déboguage ==== | ==== Déboguage ==== |
| |
* http://sergiotapia.me/simple-go-logging-using-logrus/ Mode d'emploi | * http://sergiotapia.me/simple-go-logging-using-logrus/ Mode d'emploi |
* Andoine Grondin, Gophercon 2016: "too many features, has printf", "used by Docker and Prometheus" | * Andoine Grondin, Gophercon 2016: "too many features, has printf", "used by Docker and Prometheus" |
| * [[https://github.com/goph/logur|Logur]] 2019-01-13 "opinionated logging library targeted at producing (application) logs" |
| * [[https://grafana.com/loki|Loki]] 2019-02-24 "Logging backend optimized for Prometheus and Kubernetes, to search, visualize and explore your logs natively in Grafana" |
* [[https://github.com/zenazn/slog|Slog]] "Structured logging for golang" | * [[https://github.com/zenazn/slog|Slog]] "Structured logging for golang" |
* [[https://github.com/goinggo/tracelog|Tracelog]] 4 niveaux seulement. | * [[https://github.com/goinggo/tracelog|Tracelog]] 4 niveaux seulement. |
| * [[https://github.com/uber-go/zap|Zap (Uber)]] "Blazing fast, structured, leveled logging in Go" |
| * [[https://github.com/oklog/oklog|OK Log]] Archived. |
| * Interesting design document at https://peter.bourgon.org/ok-log/ |
| * Recommends converting to Loki |
===== Rapports d'erreurs ===== | ===== Rapports d'erreurs ===== |
| |
* http://rogpeppe.wordpress.com/2014/04/23/some-suggested-rules-for-generating-good-errors-in-go/ | * http://rogpeppe.wordpress.com/2014/04/23/some-suggested-rules-for-generating-good-errors-in-go/ |
* [[https://github.com/hwheinzen/mist|Misc]] classe d'erreur étendue | * [[https://github.com/hwheinzen/mist|Misc]] classe d'erreur étendue |
| * [[https://github.com/aybabtme/humanlog|Humanlog]] "Read logs from stdin and prints them back to stdout, but prettier." |
===== Mobiles ===== | ===== Mobiles ===== |
| |
* [[https://github.com/nutrun/lentil|Lentil]] bibliothèque et commande CLI pour Beanstalkd. 2015-08: dernier commit en 2012. | * [[https://github.com/nutrun/lentil|Lentil]] bibliothèque et commande CLI pour Beanstalkd. 2015-08: dernier commit en 2012. |
* RPC | * RPC |
| * [[https://evans.syfm.me/#/demo|Event]] CLI/REPL pour gRPC |
* [[https://github.com/valyala/gorpc|GoRPC]] alternative haute performance net/rpc: 90% de bande passante en moins, réduction du nombre de connexions, d'appels système, etc. | * [[https://github.com/valyala/gorpc|GoRPC]] alternative haute performance net/rpc: 90% de bande passante en moins, réduction du nombre de connexions, d'appels système, etc. |
* RSync/Zsync = copie de fichiers incrémentale | * RSync/Zsync = copie de fichiers incrémentale |
==== Moteurs de stockage ==== | ==== Moteurs de stockage ==== |
| |
| * Badger |
| * [[https://blog.dgraph.io/post/badger/|Intro]] KV-store in Go, same API as RocksDB |
* [[http://github.com/boltdb/bolt|Bolt]] pas de Windows | * [[http://github.com/boltdb/bolt|Bolt]] pas de Windows |
* [[https://github.com/google/cayley|Cayley]] Moteur de graph database natif Go. | * [[https://github.com/google/cayley|Cayley]] Moteur de graph database natif Go. |
==== Test ==== | ==== Test ==== |
| |
| * [[https://github.com/bgadrian/fastfaker|Fast Faker]] 2018-11 Faker |
* [[https://github.com/emicklei/forest|Forest]] test d'API REST | * [[https://github.com/emicklei/forest|Forest]] test d'API REST |
* [[http://ernestmicklei.com/2015/07/04/testing-your-rest-api-in-go-with-forest/|Article d'introduction]] | * [[http://ernestmicklei.com/2015/07/04/testing-your-rest-api-in-go-with-forest/|Article d'introduction]] |
* [[http://labix.org/gocheck|Gocheck]] Fixtures, benchmarks, assertions verbosity. Elabore sur la base de go test | * [[http://labix.org/gocheck|Gocheck]] Fixtures, benchmarks, assertions verbosity. Elabore sur la base de go test |
* [[https://github.com/jstemmer/go-junit-report|Go JUnit report]] convertit la sortie de ''go test'' au format JUnit. | * [[https://github.com/jstemmer/go-junit-report|Go JUnit report]] convertit la sortie de ''go test'' au format JUnit. |
| * [[https://github.com/DATA-DOG/go-sqlmock|Go SQL Mock]] 2018-11 Mock de base SQL |
* [[https://github.com/arschles/gocheck|Gocheck]] Essai de [[http://en.wikipedia.org/wiki/QuickCheck|Quickcheck]] en Go. Comparer avec le package standard testing/quick | * [[https://github.com/arschles/gocheck|Gocheck]] Essai de [[http://en.wikipedia.org/wiki/QuickCheck|Quickcheck]] en Go. Comparer avec le package standard testing/quick |
* [[http://goconvey.co/|Go Convey]] behavioral testing dans le browser, basé sur "testing" | * [[http://goconvey.co/|Go Convey]] behavioral testing dans le browser, basé sur "testing" |
* [[https://github.com/cespare/reflex|Reflex]] Loop on changes, for tests or other needs like live reload | * [[https://github.com/cespare/reflex|Reflex]] Loop on changes, for tests or other needs like live reload |
| |
| |
=== Notes pour une suite de tests qualité pour tout code Go === | === Notes pour une suite de tests qualité pour tout code Go === |
| |
* [[http://blog.riff.org/2014_07_06_golang_tip_of_the_day_admin_dashboard_and_health_checks_in_beego_applications|Admin dashboard]] | * [[http://blog.riff.org/2014_07_06_golang_tip_of_the_day_admin_dashboard_and_health_checks_in_beego_applications|Admin dashboard]] |
* [[https://github.com/yvasiyarov/beego_gorelic|BeeGo NewRelic]] intégration NewRelic | * [[https://github.com/yvasiyarov/beego_gorelic|BeeGo NewRelic]] intégration NewRelic |
| * CLI |
| * [[https://github.com/divan/expvarmon|ExpVarMon]] Surveillance plein écran des métriques applicatives exposées par ''expvar''. Mono- ou multi-application |
* Binaires | * Binaires |
* [[https://github.com/rjeczalik/bin|Bin]] MAJ automatique des binaires Go sur une machine | * [[https://github.com/rjeczalik/bin|Bin]] MAJ automatique des binaires Go sur une machine |
* Divers | * Divers |
* [[https://github.com/yvasiyarov/gorelic|GoRelic]] Instrumentation NewRelic pour applications | * [[https://github.com/yvasiyarov/gorelic|GoRelic]] Instrumentation NewRelic pour applications |
| * [[https://github.com/plutov/gosd|GoSD]] Métriques dans Stackdriver |
* [[https://github.com/alexcesaro/statsd|StatsD]] client statsd | * [[https://github.com/alexcesaro/statsd|StatsD]] client statsd |
| |
==== Tests de performance ==== | ==== Tests de performance ==== |
| |
* [[https://github.com/gizak/termui|TermUI]] alphagraphiques | * [[https://github.com/gizak/termui|TermUI]] alphagraphiques |
* [[https://github.com/gdamore/tcell|TCell]] inspiré de Termbox, mais supposé bien plus évolué | * [[https://github.com/gdamore/tcell|TCell]] inspiré de Termbox, mais supposé bien plus évolué |
| * [[https://github.com/peterh/liner|Liner]] inspiré de Linenoise: imitation Readline |
===== Web ===== | ===== Web ===== |
==== Formulaires ==== | ==== Formulaires ==== |
* [[http://volatile.whitedevops.com/|Volatile]] "Versatile and minimalist web framework", créé en 2015-07 | * [[http://volatile.whitedevops.com/|Volatile]] "Versatile and minimalist web framework", créé en 2015-07 |
* [[https://github.com/go-xweb/xweb/blob/master/README_EN.md|Xweb]] inspiré par Java Struts. | * [[https://github.com/go-xweb/xweb/blob/master/README_EN.md|Xweb]] inspiré par Java Struts. |
| |
| === Frameworks WebAssembly / full stack === |
| |
| * https://qlovaseed.com/ |
| * https://github.com/gopherjs/vecty |
| * https://github.com/maxence-charriere/app |
| * https://gascore.github.io/#/ |
| * https://www.vugu.org/ |
| * https://github.com/norunners/vue |
| * https://github.com/mrmiguu/coco |
==== Clients d'API ==== | ==== Clients d'API ==== |
| |
* [[https://github.com/isa/go-rest-expander|GO REST Expander]] filtrage et expansion des résultats d'API REST | * [[https://github.com/isa/go-rest-expander|GO REST Expander]] filtrage et expansion des résultats d'API REST |
* [[https://github.com/dgrijalva/jwt-go|JWT-Go]] [[http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html|JSON Web Tokens]] | * [[https://github.com/dgrijalva/jwt-go|JWT-Go]] [[http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html|JSON Web Tokens]] |
| * GraphQL |
| * [[https://github.com/99designs/gqlgen|gqlgen]] 2018-12: la page de projet compare avec gophers, graphql-go et thunder. 52 devs |
| * [[https://github.com/graph-gophers/graphql-go|graphql-go]] 2018-12: 35 devs, "under heavy development" |
| * [[https://github.com/graphql-go/graphql|graphql]] 2018-12: 60 devs |
| * [[https://github.com/samsarahq/thunder|thunder]] 2018-12: 17 devs |
| * [[https://github.com/housecanary/gq|gq]] 2018-12: 1 dev, lancé le 03/12/18. |
* [[http://godoc.org/gopkg.in/samegoal/wc.v0|WC]] serveur pour la [[https://developers.google.com/closure/library/|Closure Library]] | * [[http://godoc.org/gopkg.in/samegoal/wc.v0|WC]] serveur pour la [[https://developers.google.com/closure/library/|Closure Library]] |
* Reverse Proxy | * Reverse Proxy |
* [[https://github.com/nf/webfront|WebFront]] Reverse proxy et serveur statique, pour éviter d'avoir à déployer (et configurer) Varnish ou Nginx devant ses applications. | * [[https://github.com/nf/webfront|WebFront]] Reverse proxy et serveur statique, pour éviter d'avoir à déployer (et configurer) Varnish ou Nginx devant ses applications. |
* Clients HTTP améliorés | * Clients HTTP améliorés |
| * [[https://github.com/gocolly/colly|Colly]] framework pour crawlers web |
* [[http://parnurzeal.github.io/gorequest/|Go Request]] Inspiré de [[http://visionmedia.github.io/superagent/|Node.JS SuperAgent]]. | * [[http://parnurzeal.github.io/gorequest/|Go Request]] Inspiré de [[http://visionmedia.github.io/superagent/|Node.JS SuperAgent]]. |
* [[https://github.com/jmcvetta/napping|Naping]] inspiré de [[http://docs.python-requests.org/en/latest/|Python-Requests]] | * [[https://github.com/jmcvetta/napping|Naping]] inspiré de [[http://docs.python-requests.org/en/latest/|Python-Requests]] |