What have/are you building with Go?

blov · · 870 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>Been playing around with Go and am enjoying it, but I have noticed due to my web background every idea I can conceive inevitably boils down to a http REST api. This has become quite tedious.</p> <p>Looking to see what people are currently building, or have built with Go for some inspiration and to widen my understanding of what Go is capable of, hopefully allowing me to think outside of the CRUD box.</p> <p>Github links would be appreciated, I would like to start contributing to OS where applicable!</p> <hr/>**评论:**<br/><br/>daniel_chatfield: <pre><p>We are building a bank: <a href="https://monzo.com/" rel="nofollow">https://monzo.com/</a></p></pre>krak3n_: <pre><p>I&#39;m currently writing a music player with sound cloud and Google music, <a href="http://github.com/soon-fm/player" rel="nofollow">http://github.com/soon-fm/player</a> it&#39;s part of a more distrusted system with scoreboards etc for our office music system. It&#39;s early in development, the old player uses Spotify but since libspotify is being shut down this year we need to migrate.</p></pre>beeker1121: <pre><p>Aww yiss, get to post all my Go stuff :)</p> <p><a href="https://maildb.io/" rel="nofollow">MailDB</a> - Current SaaS project. Virtually everything except the front end and MySQL database for member data is written in Go. The server and API are Go, multiple custom packages have been created strictly for the project in Go (some public, such as <a href="https://github.com/beeker1121/mailchimp-go" rel="nofollow">mailchimp-go</a>), the main email database uses the <a href="https://github.com/syndtr/goleveldb" rel="nofollow">Go port of LevelDB</a>, etc. If you or anyone you know spends their time looking for emails, let em know about us! :)</p> <p><a href="http://resounden.com/" rel="nofollow">Resounden</a> (<a href="https://github.com/beeker1121/resounden" rel="nofollow">github</a>) - First Go and React web project. Simple SoundCloud music player. <strong>DO NOT follow this app structure</strong>. I was moving from PHP to Go and still trying to think in terms of MVC when structuring it.</p> <p><a href="https://github.com/beeker1121/goque" rel="nofollow">goque</a> - Persistent stacks, queues, and priority queues for Go backed by LevelDB</p> <p><a href="https://github.com/beeker1121/mailchimp-go" rel="nofollow">mailchimp-go</a> - Client for v3 of the MailChimp API (based on Stripe&#39;s Go client).</p> <p><a href="https://github.com/beeker1121/imup" rel="nofollow">imup</a> - Image upload handler.</p> <p><a href="https://github.com/beeker1121/creek" rel="nofollow">creek</a> - Simple log rotator.</p> <p><a href="https://github.com/beeker1121/nosurfctx" rel="nofollow">nosurfctx</a> - CSRF protection middleware, using Go 1.7 request context.</p> <p>Lot of other stuff for the MailDB project. Will eventually be building a web crawler and plan to make that public.</p> <p>As you can probably tell, I really like Go.</p> <p>I think it&#39;s amazing for web, but I agree that some parts can be a bit tedious. However, once you have a sound structure in place, it becomes much, much easier (minus any possible refactoring from getting it wrong initially). It takes time though. Even with my current app, there&#39;s a couple of things I would like to figure out how to structure better.</p> <p>The simplicity of the language though, mixed with the performance gains, standard lib and tools, etc make it amazing for a lot of things not just the web. You have to weigh the pros and cons though and choose the right tool (language) for the job.</p></pre>sethammons: <pre><p>How is MailDB not a spam engine? Sorry if I am misunderstanding, but you seem to scrape or in some way get likely valid email addresses for a domain (like target-company.com), you then create a list like <a href="mailto:john@target-company.com" rel="nofollow">john@target-company.com</a>, jane@, sales@,... Someone then uses an ESP to send their target marketing email to those addresses (&#34;hi, I am offering a new SaaS, and want to reach your sales department&#34;); however, they have never had any business relationship with the target contacts. The contact is completely unsolicited. If that is not the goal, why also provide the ESP lib? Did I completely misinterpret the goal of MailDB?</p></pre>beeker1121: <pre><p>The goal for MailDB is to make it as easy as possible to find the email address of someone specific at a given company. Usually you&#39;ll browse to the company contact page, or try and search Google, check their LinkedIn, etc. All of this can just end up taking a lot of time.</p> <p>MailDB works by crawling the web looking for publicly posted emails, and then we let you search a domain or for a specific person using that data (webmail such as Gmail is not supported). Each email will then show the source URL(s) it was found on.</p> <p>Sorry, but I&#39;m not quite sure what you mean by ESP, could you clarify?</p> <p>With regards to spamming, people who have the true intention of spamming will most likely not want to pay for our service. They have probably been doing what we do for awhile now on their own and it just wouldn&#39;t make sense for them. Our aim is to help find very specific emails, rather than mass emails.</p></pre>sethammons: <pre><p>Ah, my misunderstanding was I thought you generated a list of all emails you could find for a given domain, as opposed to finding a specific email for an individual. Sorry for the misunderstanding. ESP means &#34;email service provider,&#34; such as MailChimp, SendGrid, etc. Best of luck with your product :)</p></pre>beeker1121: <pre><p>Err we actually do offer that, however the emails listed are only those that can be found publicly on the web. Our second main feature is the person search :)</p> <p>I can definitely see how it could be looked at as a spam tool, but there are some key things we feel that make it pretty unappealing to spammers. For instance, we only crawl pages that give permission for us to do so via their robots.txt file (we cannot legally crawl LinkedIn for example), we do not show results for personal/webmail addresses such as Gmail, and the only way to use our service is via a paid monthly subscription. Every 10 emails in a domain search counts as a request, and you only get so many requests per month on each plan.</p> <p>For spammers, it would just make a lot more sense to buy/build their own crawler that has zero restrictions.</p> <p>Edit: Thank you, wish you the best! :)</p></pre>mofirouz: <pre><p>We are building a high performant open source social and realtime game server in Go - <a href="https://github.com/heroiclabs/nakama" rel="nofollow">https://github.com/heroiclabs/nakama</a></p> <p>Friends at Cockroach Labs are building CockroachDB. An open source, survivable, strongly consistent, scale-out SQL database - <a href="https://github.com/cockroachdb/cockroach" rel="nofollow">https://github.com/cockroachdb/cockroach</a></p> <p>Thing to remember is that Go is like C - in that it is a system language, with similar performance characteristics, that is cross platform and can statically link so you end up with a single binary. This is exceptionally exciting because the barrier to entry is lowered down by a mile. </p></pre>KEANO_: <pre><p>A continuous integration pipeline and a smart home controller with Amazon Alexa integration</p></pre>nerr: <pre><p>Recently, a lot of low level networking things on Linux. Been playing with <a href="https://github.com/mdlayher/netlink" rel="nofollow">netlink</a>, <a href="https://github.com/mdlayher/wifi" rel="nofollow">nl80211</a>, and most recently, <a href="https://github.com/golang/go/issues/19033" rel="nofollow">AF_ALG</a> sockets in Go, for userspace access to the Kernel&#39;s cryptography subsystems.</p></pre>random314: <pre><p>Damn you guys are impressive. I&#39;m just using it for migrations and image processor.</p></pre>jns111: <pre><p>You can build cross platform (iOS/Android) SDK&#39;s / API clients with go mobile.</p></pre>heraclmene: <pre><p>Automated testing tool for people who aren&#39;t developers: <a href="https://github.com/bunsenapp/" rel="nofollow">https://github.com/bunsenapp/</a></p></pre>Pwyll_fr: <pre><p>A text template tool for quick building use case</p></pre>jmank88: <pre><p>Cellular Automata lib/cmd/webapp: <a href="http://jmank88.github.io/ca/" rel="nofollow">http://jmank88.github.io/ca/</a></p></pre>portablejim: <pre><p>I decided to learn go by writing a VLC relauncher that launches VLC for a file with specific arguments (i.e <a href="http://superuser.com/a/193342/81940" rel="nofollow">for showing video on a second monitor</a>) and stores it&#39;s settings in a json file beside itself. This means a user (of the target Windows system) can right click a video file and choose &#34;Present with VLC&#34;.</p> <p>I still haven&#39;t been able to get the exe properties (icon and description, etc) to build from go on Ubuntu, so I added them with an external tool.</p></pre>carsncode: <pre><p>I&#39;ve been working on a monitoring system with the server and agent in go. The server is of course yet another REST CRUD, but the agent isn&#39;t.</p> <p>I&#39;ve done a few simple command line tools in go, the same kind of stuff I used to do in bash, but now it&#39;s faster and cross-platform. Querying elastic, formatting strings, ETL, etc.</p> <p>I also built a custom load balancer with traffic throttling and some custom business logic in go. Beat the pants off our former solution in terms of performance, which was nginx with custom logic in Lua.</p> <p>I started writing a MUD in go, just for shits &amp; giggles. Never went anywhere but I got a better feel for the network and I/O logic.</p> <p>I really wish Unity3D would add Go as a supported language but that will never happen.</p></pre>chuhnk: <pre><p>Trying to simplify distributed systems development <a href="https://github.com/micro" rel="nofollow">https://github.com/micro</a></p></pre>

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

870 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传