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 [2018/05/13 15:25] – [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 95: 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 200: Line 203:
     * 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/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 266: 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 400: 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 488: 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 497: 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 512: 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 543: Line 557:
   * 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 554: 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 628: 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 677: 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 684: 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