Go Code http://golangnews.com Jobs, Code, Videos and News for Go hackers - everything about the go programming language Sun, 18 Jun 2023 23:43:00 +0000 sqs-to-sns 1.5.4: utility written in Go to forward messages from AWS SQS Queues to AWS SNS Topics 1 points posted by Everton Marques https://github.com/udhos/sqs-to-sns/releases 4809 Sun, 18 Jun 2023 23:43:00 +0000 phoo - a very simple high performance PHP application server and php-fpm supervisor 1 points posted by Mohammed Al Ashaal https://github.com/alash3al/phoo?v2.1 4807 Wed, 14 Jun 2023 06:36:00 +0000 gateboard provides autodiscovery for API IDs in AWS API Gateway private APIs. 1 points posted by Everton Marques https://github.com/udhos/gateboard 4804 Sun, 28 May 2023 03:39:00 +0000 DI Container IziDIC v0.0.3 easier to test, better documented #releases #dependencyinjection <div>The <a href="https://github.com/fgm/izidic">fgm/izidic </a>dependency injection container (DIC) just got its firsts official release instead of just a tag: tag v0.0.3 contains a feature and documentation improvements.</div><div> <ul style="margin: 1rem 0px;"> <li>feature: the `Container`type is now an interface, to ease Service testing, instead of a concrete struct</li> <li>doc: a complete application is now available, demonstrating how to set up an application in practice for dependency injection using IziDIC</li> <li>doc: the README has been expanded and clarified.</li> <li>doc: a discussion issue is available on https://github.com/fgm/izidic/discussions/10</li> <li>qa: test coverage stable at 100%</li> </ul> 1 points posted by FGM https://github.com/fgm/izidic/releases/tag/v0.0.3 4800 Fri, 28 Apr 2023 12:12:00 +0000 sqs-to-sns: an utility to forward messages from AWS SQS Queues to AWS SNS Topics 1 points posted by Everton Marques https://github.com/udhos/sqs-to-sns 4799 Sat, 15 Apr 2023 03:54:00 +0000 Show: testcerts - Go package with an easy-to-use suite of functions for generating test certificates 1 points posted by madflojo https://github.com/madflojo/testcerts 4797 Sat, 08 Apr 2023 11:12:00 +0000 Excelize 2.7.0 Released – Go API for spreadsheet (Excel) #golang #Excel #excelize #spreadsheet 1 points posted by xuri https://github.com/xuri/excelize/releases/tag/v2.7.0 4785 Sun, 08 Jan 2023 16:27:00 +0000 IziDIC v0.0.2 : new features and QA #dependencyinjection #releases <div>The tiny <a href="https://github.com/fgm/izidic">fgm/izidic</a> dependency injection container just got a new release: v0.0.2 contains new features and QA improvements.</div><div> <ul><li>feature: new method Container.Names to list container keys</li> <li>feature: circular dependency detection, avoiding stack overflows</li> <li>qa: moved to new domain github.com/fgm/izidic to support Github actions</li> <li>qa: added linting checks: gofmt, go vet, staticcheck</li> <li>qa: added security scanning: CodeQL</li> <li>qa: expanded test coverage to 100% C0.</li> <li>qa: added test coverage reporting</li> </ul></div><div><br></div> 1 points posted by FGM https://github.com/fgm/izidic/releases/tag/v0.0.2 4776 Sat, 22 Oct 2022 15:42:00 +0000 echo-middleware - Go package that provides multiple middlewares for Echo Framework. 1 points posted by faabiosr https://github.com/faabiosr/echo-middleware 4761 Sun, 07 Aug 2022 10:14:00 +0000 Event: Go 1.8 Release Party #releases #🎉 To celebrate the release of Go 1.8 we're to organising a world wide release party on February the 16th, 2017. 37 points posted by kenny https://github.com/golang/go/wiki/Go-1.8-Release-Party 1470 Wed, 04 Jan 2017 21:11:00 +0000 c2go - ⚖️ A tool for converting C to Go, in Go. 20 points posted by daenney https://github.com/elliotchance/c2go 2091 Sun, 16 Apr 2017 11:32:00 +0000 Buffalo - a web framework for Go #web #frameworks <a href="http://gobuffalo.io/docs/getting-started">Read the Documentation</a>&nbsp;Buffalo is Go web framework. Buffalo doesn't want to re-invent wheels like routing and templating. Buffalo is glue that wraps all of the best packages available and makes them all play nicely together. 19 points posted by andythomas https://github.com/gobuffalo/buffalo 1477 Thu, 05 Jan 2017 20:41:00 +0000 Gonews - CLI to browser HackerNews stories #web It's one of my first projects in Golang. I'll work for more features like show story content on terminal. 18 points posted by drgarcia1986 https://github.com/drgarcia1986/gonews 1435 Sat, 31 Dec 2016 02:11:00 +0000 Show: Vibrant #graphics #ui A go port of the awesome Android Palette class aka Vibrant.js 18 points posted by tso https://github.com/generaltso/vibrant 232 Tue, 13 Oct 2015 04:56:00 +0000 ⛈ gobetween - a modern & minimalistic load balancer for the Сloud era A modern & minimalistic load balancer and reverse-proxy for the ☁️ Cloud era. Under active development and currently in use in several highly loaded production environments. 17 points posted by kenny https://github.com/yyyar/gobetween 2050 Fri, 07 Apr 2017 08:09:00 +0000 Bild - image processing in Go #images 17 points posted by kenny https://github.com/anthonynsimon/bild 989 Thu, 11 Aug 2016 21:13:00 +0000 G.E.R.T - go on bare metal 16 points posted by gopher https://github.com/ycoroneos/G.E.R.T 2874 Tue, 31 Oct 2017 10:03:00 +0000 🔐 upspin - a global name space to name all your files <div><i>By Andrew Gerrand, Eric Grosse, Rob Pike, Eduardo Pinheiro and Dave Presotto, Google Software Engineers<br></i></div><div><br></div>Existing mechanisms for file sharing are so fragmented that people waste time on multi-step copying and repackaging. With the new project Upspin, we aim to improve the situation by providing a global name space to name all your files. Given an Upspin name, a file can be shared securely, copied efficiently without "download" and "upload", and accessed by anyone with permission from anywhere with a network connection. 16 points posted by kenny https://github.com/upspin/upspin 1790 Tue, 21 Feb 2017 23:14:00 +0000 Gitgo - a Go implementation of Git functions #gothamgo 15 points posted by kenny https://github.com/ChimeraCoder/gitgo 1239 Fri, 18 Nov 2016 17:15:00 +0000 A network stack written in Go 15 points posted by lolly https://github.com/google/netstack 1157 Sat, 22 Oct 2016 13:08:00 +0000 Examples using Go's standard package library A large repository of code and documented examples for Go's standard package library. 15 points posted by radovskyb https://github.com/radovskyb/go-packages 1082 Sun, 18 Sep 2016 06:08:00 +0000 Workq - a job server in Go Workq is a job scheduling server strictly focused on simplifying job processing and streamlining coordination. It can run jobs in blocking foreground or non-blocking background mode. Workq runs as a standalone TCP server and implements a simple, text based protocol. Clients interact with Workq over a TCP socket in a request/response model with text commands. Please refer to the full protocol doc for details. 15 points posted by kenny https://github.com/iamduo/workq 1008 Tue, 23 Aug 2016 12:26:00 +0000 Go SDK for AWS Mechanical Turk #aws 15 points posted by jjeffery https://github.com/jjeffery/mechturk 1006 Tue, 23 Aug 2016 01:54:00 +0000 A merkle tree in Go #hash 15 points posted by kenny https://github.com/keybase/go-merkle-tree 622 Tue, 23 Feb 2016 08:52:00 +0000 sky-island - a FaaS platform for running raw Go functions <p>Sky Island is a FaaS platform built utilizing FreeBSD jails, on ZFS, for running raw Go functions, with interaction through a REST API.</p> <p>A request comes in to run a function. The request contains a Github URL to a Go repository containing the function. The request also contains the "call". The call is what will be run including the arguments necessary to run the function.</p><div><br></div> 14 points posted by tollela https://github.com/briandowns/sky-island 3057 Sat, 30 Dec 2017 16:07:00 +0000 matcha - a framework for building iOS and Android apps in Go #mobile Matcha is a package for building iOS and Android applications and frameworks in Go. Matcha provides a UI compenent library similar to ReactNative and exposes bindings to Objective-C and Java code through reflection. The library also provides Go APIs for common app tasks. 14 points posted by norbertfuhs https://github.com/gomatcha/matcha 2707 Wed, 27 Sep 2017 18:00:00 +0000 clex - A C11 positional lexer with error reporting written in Go Clex is a handwritten C11 positional lexer with error reporting written in Go by me. It's made to be used as a library and eventually as a standalone input into other stages. It allows the user to see exactly where an error occurred in a file by line and column with detailed error messages. I'd love any feedback on the code. What do you think? 14 points posted by DenzelM https://github.com/denzel-morris/clex 2057 Fri, 07 Apr 2017 22:40:00 +0000 Gocyclo - measure the complexity of go functions <p>Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules:</p> <pre><code>1 is the base complexity of a function<br></code><code>+1 for each if, for, case, &amp;&amp; or || </code></pre> <p> </p> 14 points posted by kenny https://github.com/fzipp/gocyclo 1504 Tue, 10 Jan 2017 16:31:00 +0000 rclone - rsync for cloud storage 14 points posted by Tim Donell https://github.com/ncw/rclone 1173 Wed, 26 Oct 2016 22:30:00 +0000 A Golang SDK for Medium's OAuth2 API #web #oauth To help your users participate in the Medium network, they have built a Publishing API, using OAuth2 for authentication, through which you can seamlessly publish to your users’ Medium profiles. 14 points posted by Satish Talim https://github.com/Medium/medium-sdk-go 192 Fri, 09 Oct 2015 02:37:00 +0000 Go Best Practices at Joyent by Sean Chittenden This is now abandoned and contains some defunct references (GOPATH for example), but is of historical interest I think.&nbsp; 13 points posted by kenny https://github.com/joyent/rfd/blob/master/rfd/0106/README.adoc 3870 Sat, 23 Mar 2019 17:08:00 +0000 Moving from Go 1 to Go 2 13 points posted by kenny https://github.com/golang/proposal/blob/master/design/28221-go2-transitions.md 3624 Wed, 24 Oct 2018 08:59:00 +0000 strace - add tracing to go programs #profiling #debugging <h3>tracing for go programs</h3> <p>gotrace annotates function calls in go source files with log statements on entry and exit.</p> 13 points posted by kenny https://github.com/jbardin/gotrace 2970 Tue, 28 Nov 2017 16:20:00 +0000 evio - fast event loop networking for Go <p><code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0px; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;">evio</code>&nbsp;is an event loop networking framework that is fast and small. It makes direct <a href="https://en.wikipedia.org/wiki/Epoll" style="box-sizing: border-box; color: rgb(3, 102, 214);">epoll</a>&nbsp;and <a href="https://en.wikipedia.org/wiki/Kqueue" style="box-sizing: border-box; color: rgb(3, 102, 214);">kqueue</a>&nbsp;syscalls rather than using the standard Go <a href="https://golang.org/pkg/net/" style="box-sizing: border-box; color: rgb(3, 102, 214);">net</a>&nbsp;package, and works in a similar manner as <a href="https://github.com/libuv/libuv" style="box-sizing: border-box; color: rgb(3, 102, 214);">libuv</a>&nbsp;and <a href="https://github.com/libevent/libevent" style="box-sizing: border-box; color: rgb(3, 102, 214);">libevent</a>.</p> <p>The goal of this project is to create a server framework for Go that performs on par with <a href="http://redis.io/" style="box-sizing: border-box; color: rgb(3, 102, 214);">Redis</a>&nbsp;and <a href="http://www.haproxy.org/" style="box-sizing: border-box; color: rgb(3, 102, 214);">Haproxy</a>&nbsp;for packet handling. My hope is to use this as a foundation for <a href="https://github.com/tidwall/tile38" style="box-sizing: border-box; color: rgb(3, 102, 214);">Tile38</a>&nbsp;and a future L7 proxy for Go... and a bunch of other stuff.</p> <h2><a href="https://github.com/tidwall/evio#features" aria-hidden="true" class="anchor" id="user-content-features" style="box-sizing: border-box; color: rgb(3, 102, 214); float: left; padding-right: 4px; margin-left: -20px; line-height: 1;"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a></h2> 13 points posted by tomf https://github.com/tidwall/evio 2890 Sat, 04 Nov 2017 00:48:00 +0000 statik - Embed static files into a Go executable Embed static files into a Go executable by rakyll 13 points posted by kenny https://github.com/rakyll/statik 2038 Tue, 04 Apr 2017 12:49:00 +0000 Practice Go: Calculate the Jaro distance #challenge #practicego The Jaro distance is a measure of similarity between two strings. The higher the Jaro distance for two strings is, the more similar the strings are. The score is normalized such that 0 equates to no similarity and 1 is an exact match. 13 points posted by kenny https://github.com/plutov/practice-go/tree/master/jaro 1855 Fri, 03 Mar 2017 08:56:00 +0000 Zap: Fast, structured, leveled logging in Go #logging 13 points posted by daenney https://github.com/uber-go/zap 1540 Sun, 15 Jan 2017 00:44:00 +0000 Code: 💧 In memory dataset filtering #web #data #filtering 13 points posted by Matt Evans https://github.com/mattevans/distil 1385 Mon, 19 Dec 2016 06:08:00 +0000 Csvplus Package csvplus extends the standard Go encoding/csv package with fluent interface, lazy stream operations, indices and joins. 13 points posted by clogg https://github.com/maxim2266/csvplus 1093 Wed, 21 Sep 2016 16:44:00 +0000 Gjson - faster JSON parsing in Go 13 points posted by kenny https://github.com/tidwall/gjson 988 Thu, 11 Aug 2016 21:08:00 +0000 Groupcache - memcached in Go <div>groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases, for API docs and examples, see http://godoc.org/github.com/golang/groupcache</div> <h2>Comparison to memcached</h2> <h3>Like memcached, groupcache:</h3><div> <ul><li>shards by key to select which peer is responsible for that key</li> </ul></div> <h3>Unlike memcached, groupcache:</h3><div> <ul><li>does not require running a separate set of servers, thus massively reducing deployment/configuration pain. groupcache is a client library as well as a server. It connects to its own peers.</li> <li>comes with a cache filling mechanism. Whereas memcached just says "Sorry, cache miss", often resulting in a thundering herd of database (or whatever) loads from an unbounded number of clients (which has resulted in several fun outages), groupcache coordinates cache fills such that only one load in one process of an entire replicated set of processes populates the cache, then multiplexes the loaded value to all callers.</li> <li>does not support versioned values. If key "foo" is value "bar", key "foo" must always be "bar". There are neither cache expiration times, nor explicit cache evictions. Thus there is also no CAS, nor Increment/Decrement. This also means that groupcache....</li> <li>... supports automatic mirroring of super-hot items to multiple processes. This prevents memcached hot spotting where a machine's CPU and/or NIC are overloaded by very popular keys/values.</li> </ul></div> 13 points posted by kenny https://github.com/golang/groupcache 816 Sun, 08 May 2016 10:21:00 +0000 Acmewrapper - add https to any go server #net 13 points posted by kenny https://github.com/dkumor/acmewrapper 714 Fri, 18 Mar 2016 15:01:00 +0000 Motion - navigation and insight in go source files Motion is a tool that was designed to work with editors. It is providing contextual information for a given offset(option) from a file or directory of files. Editors can use these informations to implement navigation, text editing, etc... that are specific to a Go source code. 13 points posted by andythomas https://github.com/fatih/motion 703 Tue, 15 Mar 2016 08:42:00 +0000 Kingshard – A high performance proxy for MySQL powered by Go #mysql #data Kingshard is a high-performance proxy for MySQL powered by Go. Just like other mysql proxies, you can use it to split the read/write sqls. Now it supports basic SQL statements (select, insert, update, replace, delete). The most important feature is the sharding function. Kingshard aims to simplify the sharding solution of MySQL. 13 points posted by flike https://github.com/flike/kingshard 306 Mon, 19 Oct 2015 03:19:00 +0000 Proposal: A built-in Go error check function, try #errors <p>We propose a new built-in function called <code>try</code>, designed specifically to eliminate the boilerplate <code>if</code>&nbsp;statements typically associated with error handling in Go. No other language changes are suggested. We advocate using the existing <code>defer</code>&nbsp;statement and standard library functions to help with augmenting or wrapping of errors. This minimal approach addresses most common scenarios while adding very little complexity to the language. The <code>try</code>&nbsp;built-in is easy to explain, straightforward to implement, orthogonal to other language constructs, and fully backward-compatible. It also leaves open a path to extending the mechanism, should we wish to do so in the future.</p> 12 points posted by kenny https://github.com/golang/proposal/blob/master/design/32437-try-builtin.md#proposal-a-built-in-go-error-check-function-try 3992 Wed, 05 Jun 2019 05:52:00 +0000 superstellar - a multiplayer galactic game written in Go #games 12 points posted by lolly https://github.com/u2i/superstellar 2967 Tue, 28 Nov 2017 14:13:00 +0000 graphql - An implementation of GraphQL for Go #data A <em style="box-sizing: border-box; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &quot;Segoe UI&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 16px; background-color: rgb(255, 255, 255);">work-in-progress</em>&nbsp;implementation of GraphQL in Go. Its currently a port of <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0px; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; color: rgb(36, 41, 46);">graphql-js</code> <a href="https://github.com/graphql/graphql-js/releases/tag/v0.6.0" style="box-sizing: border-box; background-color: rgb(255, 255, 255); color: rgb(3, 102, 214); font-family: -apple-system, system-ui, &quot;Segoe UI&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 16px;">v0.6.0</a>&nbsp;which is based on the <a href="https://github.com/facebook/graphql/releases/tag/April2016" style="box-sizing: border-box; background-color: rgb(255, 255, 255); color: rgb(3, 102, 214); font-family: -apple-system, system-ui, &quot;Segoe UI&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 16px;">April 2016</a>&nbsp;GraphQL specification. Future efforts will be guided directly by the <a href="https://github.com/facebook/graphql/releases" style="box-sizing: border-box; background-color: rgb(255, 255, 255); color: rgb(3, 102, 214); font-family: -apple-system, system-ui, &quot;Segoe UI&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 16px;">latest formal GraphQL specification</a>(currently: <a href="https://github.com/facebook/graphql/releases/tag/October2016" style="box-sizing: border-box; background-color: rgb(255, 255, 255); color: rgb(3, 102, 214); font-family: -apple-system, system-ui, &quot;Segoe UI&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 16px;">October 2016</a>). 12 points posted by Donutloop https://github.com/graphql-go/graphql 2898 Sun, 05 Nov 2017 17:05:00 +0000 slacker - Library to easily create Slack bots in Go 12 points posted by daenney https://github.com/shomali11/slacker 2235 Sun, 21 May 2017 17:20:00 +0000 go-linq - .NET LINQ-like query methods for Go 12 points posted by tollela https://github.com/ahmetb/go-linq 2096 Mon, 17 Apr 2017 23:28:00 +0000 Task - Simple "Make" alternative Task is a simple tool that allows you to easily run development and build tasks. Task is written in Go, but can be used to develop any language. It aims to be simpler and easier to use then GNU Make. 12 points posted by andreynering https://github.com/go-task/task 1832 Tue, 28 Feb 2017 13:35:00 +0000