golangとエンジニアに関するu_tisのブックマーク (4)

  • Go言語に出したプロポーザルが通った:{bytes,strings}.ContainsFuncの追加 - プログラムモグモグ

    今年の夏にGo言語に以下のようなプロポーザルを出していたのですが、それが先ほど承認されました。標準パッケージの関数追加になります。 proposal: bytes, strings: add ContainsFunc · Issue #54386 · golang/go · GitHub Go言語のstringsパッケージとbytesパッケージには、文字列から文字や部分文字列を探す関数がいくつかあります。 探す文字の位置を返す関数、最後から探す関数、そういう文字が含まれるかどうかを返す関数を表にまとめると、次のようになります。 Find what? Index* LastIndex* Contains* substr string Index(s, substr string) int LastIndex(s, substr string) int Contains(s, substr s

    Go言語に出したプロポーザルが通った:{bytes,strings}.ContainsFuncの追加 - プログラムモグモグ
    u_tis
    u_tis 2022/12/08
    わかるー!!!あったら手に馴染みそうーー!!! > 過半数が文字が含まれているかの判定で使われていて、位置自体を欲しいケースは半分以下ということですね。
  • Go言語でのテストの並列化 〜t.Parallel()メソッドを理解する〜 | メルカリエンジニアリング

    この記事は、Merpay Tech Openness Month 2020 の6日目の記事です。 メルペイでBackendエンジニアをしている柴田(@yoshiki_shibata)です。この記事では、Go言語のtestingパッケージに用意されている並列化の機能について説明します。 Go言語では、テストコードを作成するためのtestingパッケージが用意されています。一般に開発するソフトウェアの規模が大きくなるに従って、作成されるテストコードの量も多くなり、すべてのテストが終了するまでの時間も長くなっていきます。特に、データベースへアクセスするようなテストでは、データベースへの通信時間がテスト時間の多く占めますので、テストコードを逐次実行するよりは並列実行することで、テスト時間を短縮できます(厳密には用語「並行」ですが、t.Parallel()メソッドの説明なので、この記事では用語「並列

    Go言語でのテストの並列化 〜t.Parallel()メソッドを理解する〜 | メルカリエンジニアリング
    u_tis
    u_tis 2020/08/24
    分かりやすすぎて教科書かと思っちゃったね...
  • Goでheadless browserを用いた動的画像生成|Seiji Takahashi@ベースマキナ

    当ポストはGo Advent Calendar 2019の5日目の記事です。基ポエムを書いていて技術記事を書く感覚が鈍っていますが頑張ります。 今回はGoでheadless browser(Chrome)を用いた、動的な画像生成を行うというテーマで書きたいと思います。 なぜ画像生成したいのか?人はなぜ画像を生成したくなるのでしょうか?僕は漫然と画像を生成するのは、時間に限りがある身としてはよくないな、と思います。ということで理由が必要なのですが、最たる例はOGP画像の生成とかじゃないでしょうか? あるいは任意のLGTM画像を生成したくて、文字を画像にかぶせたり、インスタグラムVer1.1みたいなサービスをローンチしたい時に、フィルター加工を実装したかったりするかもしれません。 Go画像生成するには?Go画像生成する方法に関してはこの1、2年でpo3rinさんや僕がしばしば登壇して解説

    Goでheadless browserを用いた動的画像生成|Seiji Takahashi@ベースマキナ
    u_tis
    u_tis 2019/12/05
    Go Advent Calendar 2019の5日目の記事書きました〜
  • GoとDependency Injectionの現在|Seiji Takahashi@ベースマキナ

    tl;dr・Goの依存性注入は普通に行われるが、DIツールはまだ観測範囲では浸透していない。 ・直近出たGoogleGo向けDIツール「Wire」はシンプルなAPIやツール作成で有用だが、依存オブジェクトの設定が複雑化すると表現性に限界がくる ・Goにおいて、DIツールはある種のフレームワークと認識して慎重に採用すべき前提:Goの依存性注入と課題Goのコードを書く際、特に一定規模を超えたAPIを書く際は、依存するオブジェクトというのが増える。DBクライアントやロガーや各種ビジネスロジックを呼び出すサービス層などがそれに該当する。 レイヤー化されたパッケージ構成の下、こうした依存オブジェクトをトップダウンに注入していくやり方は見通しがよく、テスト時にモックのAPIクライアントを差し込みやすかったりと、テスタビリティを向上させる。ざっくり依存性注入が行われるようなレイヤー化された構成で、なん

    GoとDependency Injectionの現在|Seiji Takahashi@ベースマキナ
  • 1