User Tools

Site Tools


go:packages

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
go:packages [2017/01/28 15:02] – [Logging] fgmgo:packages [2020/11/23 17:23] – external edit 127.0.0.1
Line 43: Line 43:
     * 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)
Line 64: Line 65:
       * 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 ====
  
Line 94: Line 96:
     * [[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 ====
  
Line 198: Line 202:
   * [[https://github.com/Sirupsen/logrus|Logrus]] "Structured, pluggable logging for Go."   * [[https://github.com/Sirupsen/logrus|Logrus]] "Structured, pluggable logging for Go."
     * 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"+    * 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 =====
  
Line 206: Line 216:
     * 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 =====
  
Line 263: Line 274:
       * [[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
Line 397: Line 409:
 ==== 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.
Line 485: Line 499:
 ==== 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]]
Line 494: Line 509:
   * [[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"
Line 509: Line 525:
   * [[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 ===
  
Line 534: Line 551:
     * [[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 ====
  
Line 549: Line 570:
     * [[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 ====
Line 623: Line 645:
   * [[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 ====
  
Line 672: Line 704:
   * [[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
Line 679: Line 717:
     * [[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]]
go/packages.txt · Last modified: 2023/05/17 07:48 by fgm