タグ

ブックマーク / tenntenn.dev (5)

  • メルカリに入社して5年が経って北海道に移住しました - tenntenn.dev

    5年が経ちました 2016年9月1日にメルカリ(ソウゾウ)に入社して、5年が経ちました。 あ。。。Go年が経ちました。 現在の所属はメルペイのエキスパートチームです。入社して2回マネージャが変わりましたが、チーム自体は同じです。メルカリグループにいて、ずっと同じチームなのはかなり稀有な存在じゃないかと思います。 最近やってることは最近Merpay Tech Festでお話したとおり、相変わらずGoコミュニティでワイワイする仕事をしています。Go Conference 2021 Autumnも楽しみですね。そういえば、Google Developers Expert (Go)としても活動しています。 Gopher道場も自習室という取り組みも行っており、Slackの参加者も2000名を超えました。最近は昇段審査という取り組みも行っており、Go仕事をする人が増えるといいなと思って活動しています

  • Goのパッケージドキュメントが便利 - tenntenn.dev

    pkg.go.devへの移行 これまでGoでは標準パッケージのドキュメントはgolang.org/pkgから閲覧できました。また、サードパーティ製のパッケージは、godoc.orgで閲覧できました。Goはソースコードにすべての依存関係をインポートパスとして記述します。そのため、インポートパスさえあれば簡単にパッケージドキュメントが生成でき、https://godoc.org/github.com/tenntenn/greetingのようなURLをブラウザで開くだけで閲覧が可能でした。 godoc.orgの存在によってREADMEにパッケージドキュメントへのリンクを貼るだけで済むようになりました。簡単にドキュメントが生成できるため、ソースコードにドキュメントコメント書く文化の浸透にも寄与したのかなと思います。 Go Modulesが登場し、パッケージを束ね、バージョン管理をする単位としてモジ

  • スレッドセーフなテスト用の時間を固定するライブラリを作った - tenntenn.dev

    はじめに time.Now関数を用いたコードをテストする場合、テスト対象のコードに次のような変更を加える必要があります。 引数に現在時刻を渡す パッケージ変数やフィールドなどに現在時刻を返す関数やインタフェースを設定する context.WithValue関数でコンテキストに現在時刻を設ける どの方法を用いてもプロジェクトの初期から考慮する必要があります。途中で変更するとなると修正が箇所を漏れなく探し出す必要があります。また、パッケージ変数に現在時刻を返す関数を設定した場合、テストを並列に実行することを諦める必要が出てくるでしょう。 このような課題を解決するために、testtimeというライブラリを作成しました。 テストの並列実行と時刻の固定 次のようにパッケージ変数を使ってtime.Now関数のラッパーの挙動を変えてテストする手法があります。 var nowFunc func() tim

  • GraphQLの静的解析基盤を作った - tenntenn.dev

    GraphQLの静的解析ライブラリgqlanalysis 副業をしているAppify TechnologiesにてGraphQLの静的解析ツールをGoで書けるライブラリgqlanalysisを作りました。またそれに合わせクエリのセレクションにidの追加忘れを指摘するlackidとgqlgoオーガナイゼーションで開発した静的解析ツールをまとめて実行できるgqlintも公開されています。 gqlanalysisを用いるとGraphQLのスキーマやクエリファイルに対するLinterを簡単に作ることができます。gqlanalysisはGoの静的解析ツールライブラリのgo/analysisに似た構造で作ってあります。 go/analysisと同様にAnalyzerという単位で解析を行います。Analyzerは別のAnalyzerの解析結果を用いることができるため、静的解析ツールをモジュール化できます

  • Google Developer Expert (Go)になりました - tenntenn.dev

    mattnさんと同様にGoogle Developer Expert (Go)になりました。 私がGoを触り始めたのは2010年くらいで大学の研究で作っていたコンピュータシミュレーションを行うためのプログラムで利用し始めたことがきっかけでした。 はじめのうちはGoについて周りで知っている方はほとんどいなかったので、オンラインのビデオチャットで数名と情報交換をしていました。 その後、ちょっとずつユーザや興味を持つ方が増え、2012年には名古屋や豊橋でGoの勉強会を行うようになりました。 そして、東京に引っ越し、Go Conferenceやgolang.tokyoなどのGoコミュニティを運営してきました。 東京のGoコミュニティがどんどん活発化し、東京以外でも福岡、大阪、仙台、岡山、沖縄など日中で勉強会やコミュニティが活発になってきました。 現在では世界中でGoが利用されるようになり、いたる

  • 1