golang.tokyo #17の発表資料です。 https://golangtokyo.connpass.com/event/96200/ Go1.10までのGoのテストの仕様、ノウハウをまとめました。 口頭で説明する内容や、文中のリンクは以下のブログに記載されています。 https://budougumi0617.github.io/2018/08/19/go-testing2018/
October 21, 2017 Japanese translation by frasco Background In this blog post, I would like to describe an extension to the popular “functional options” pattern that has been described by people like Rob Pike and Dave Cheney. I recommend reading one of these articles if you are unfamiliar with this pattern, as it’s very useful in practice. The problem To see the limitations of the pattern, consider
We use the Go programing language for a lot of the high throughput pieces of our infrastructure with SMS Junk Filter - https://smsjunk.com. When we decided to start this project we knew that we would be receiving a lot of traffic from lots of mobile phones when we perform our cloud SMS Spam Filtering. Therefore, we decided from the beginning to leverage once again Amazon Web Services and their inf
devfest 2017 tokyo の発表資料です。 Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える from pospome 当日は入室できない人もいたらしい & 機材トラブルで10minほど開始が遅れてしまった ということで申し訳なく思っています。 また、立ち見する価値がある内容を提供できたのだろうか? とも思っています。 スライドは単体でも発表内容が伝わるように文章を多めに載せているので、 是非確認してみてください。 100ページ越えていますが・・・。 #DevFest_room2 入れなかった。。— t.junichi (@tjun1) 2017年10月9日 ものすごい立ち見人数 #Devfest17 #DevFest_room2— バトルプログラマー柴田智也@少女終末旅行 (@tomoya_shibata) 2017年10月9日 ルーム2これから並ぶ方はま
こんにちは、新規事業開発室のエンジニアの高橋(@__timakin__)です。 今回はDevFest Tokyo 2017というイベントに登壇者として行ってきました。 「golang.tokyo」枠で参加してきまして、一応Go関連の話をするということだったのですが、Goのコードの話はせず、Goを使っているブロックチェーン関連のプロジェクトの話をしました。 発表について スライドは以下です。 Blockchain on Go from Seiji Takahashi www.slideshare.net 発表の冒頭でブロックチェーンそもそもの概要を説明して、そのあとBlockchainとGoの関係について話す、という流れでした。 ブロックチェーンの概要部分について 個人的にはHyperledgerというのが好きなのですが、やはりEthereumが界隈では推されているんでしょうか。 極力その場
“If a Go microservice falls down in the middle of a server farm, does my pager make a sound?” If your service is automatically monitored, then the answer is “yes!”. But what if your service isn’t monitored yet? Or what if your monitors alert you when the server is offline, but not on subtler problems like latency spikes or CPU load? Fortunately, there’s a quick and easy way to get high-resolution
Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 今回は入出力関連のユーティリティ関数が定義されている ioutil パッケージを見ていきます。 インポートパスは "io/ioutil" です。 【この記事の内容】 ioutil パッケージ ioutil.ReadAll, ioutil.ReadFile 関数 ioutil.ReadDir 関数 ioutil.WriteFile 関数 ioutil.TempFile, ioutil.TempDir 関数 ioutil.NopCloser 関数 変数 ioutil.Discard ioutil パッケージioutil パッケージには以下のような関数(と変数)が定義されています: // 一括読み込み func ReadAll(r io.Reader) ([]byte, error) func ReadFile(filename s
Golang, Web Development Building High Performance APIs In Go Using gRPC By Reddy Sai September 25, 2017 5550 Views As web developers we all the know the importance of APIs in web applications, they are considered as the cornerstones of the applications. APIs directs or defines how one application can talk to another application. As the technology advances, the current applications we build will de
Type → What kind of information can be stored inside the variable. Value → The stored value inside the variable. Address → Where the variable can be found in computer memory. Why do we need variables?Without variables, there would be only static-data in our programs that we can’t change. Variables let us do dynamic things, such as getting user feedback and re-using the same value again. How to dec
GraphQL is better than REST for developing and consuming APIs. It lets you query the exact data you need without having to create many overspecific API endpoints. This article describes how to get GraphQL server running on Google App Engine with a "simple social network" data model. This tutorial uses the following technologies: Google Cloud SDK 173.0.0 (Installation instructions, also install goo
Goで書いたツールのバイナリ配布ってどうやれば良いのかなーと思っていたら、goreleaser というツールを見つけたので使ってみた。非常に便利だったのでメモしておく。 goreleaserとは 簡単に言うと、Goのバイナリのクロスコンパイルと、Github Releasesへのデプロイをやってくれる君。詳しくは https://goreleaser.com/ と https://github.com/goreleaser/goreleaser を参照。 goreleaserのインストール https://github.com/goreleaser/goreleaser/releases からバイナリを取ってくるでも良いけど、僕はgo getでインストールした。 $ go get github.com/goreleaser/goreleaser goreleaserの設定を行う まずはリリ
どうも、Gunosyの新規事業開発室エンジニア、高橋(@__timakin__)です。 先日行われたgolang.tokyo#9にて、GoのAPIサーバーの設計についてトークをする機会を頂いたので、いってきました。 スライドはこちらです。全編英語となっておりますが、ご覧頂けると幸いです。 speakerdeck.com 概要 アジェンダの前の序文にも書いてあるのですが、GoのAPIが大企業で試験的に導入するというフェーズを超え、スタートアップなどでも「Goって最近トレンドだよね」という声が聞こえ、小規模のチームでも積極的に登用されるようになってきたように感じます。 あくまで個人の観測範囲での話なのでバイアスがあるとは思いますが、「試してみた」というトークが界隈でも最近少なくなったように思います。 そんな中、参考例となるGoのAPIのOSSは非常に少ないため、新規に始めるハードルは、学習コス
This document contains the transcript from a presentation titled "So You Wanna Go Fast?" by Tyler Treat. Some of the key topics discussed include measuring performance using tools like pprof, how different language features in Go like channels, interfaces, and memory management can impact performance, and techniques for writing concurrent and multi-core friendly code in Go like using read-write mu
とsongmuさんに教えてもらったことを参考に考えてやってみた方法を紹介します。あくまでも自分が考えた方法です。もっといい方法などあればぜひ教えてください。 まずテストの実行前に常に実行する処理を書きたいです。これは*testing.Mを使えばできます。 こう書くことでテストの実行前に setup 関数、全てのテスト終了時に clean 関数を実行できます。tmpのディレクトリ名を渡しているのはあとで解説します。それでは setup 関数と clean 関数はどうすればいいのかという話になりますが、その前にどういうテストを実行すべきかを考えてみます。 今回は外部プログラムの代わりに違うプログラムを実行したいのでそのプログラムを setup 関数で準備します。準備するプログラムは以下のようにしました。 起動したプロセスが突然死んだり、SIGTERMを送ってもなかなか死なないケースのパターンを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く