2022年1月29日のブックマーク (8件)

  • Go言語でのエラーハンドリング方法 - Qiita

    Go言語でコードを書く際によく使うエラーハンドリング方法をまとめます。 エラーハンドリングといったら大げさに聞こえますが、シンプルに普通のエラー処理です。 普段Go言語をいじっている方からすればです。 Goの処理は基エラーがつきもの 初めてGoを触った時の感想ですが、例外処理はなく常にエラーを持ち回る印象を受けています。 関数はメソッドは正常値とエラーをセットで返していて、コール元はその戻り値よりエラーチェックをしてから、正常処理か異常処理のいずれかを実施する流れがスタンダードになっています。 https://go.dev/play/p/RI6w5doxZZh package main import ( "errors" "log" ) func main() { s, err := doSomething() if err != nil { doErrorProcess(err) re

    Go言語でのエラーハンドリング方法 - Qiita
    yfnt
    yfnt 2022/01/29
  • GitHub - ariga/atlas: Manage your database schema as code

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ariga/atlas: Manage your database schema as code
    yfnt
    yfnt 2022/01/29
  • Atlas | Manage your database schema as code

    Define database schemas in declarative code. Use HCL, SQL or any ORM or language. Supports all popular ORMs, such as GORM, Sequelize, Django, SQLAlchemy, Hibernate, and more. Test your schemas and migrations using the Atlas testing framework.

    Atlas | Manage your database schema as code
    yfnt
    yfnt 2022/01/29
  • 技術を的に当てる技術について - GraphQL を入れ直した話 / 吉祥寺.pm28

    吉祥寺.pm28 でお話ししました https://kichijojipm.connpass.com/event/236031/ 追記:Podcast で解説した https://anchor.fm/wantedly-dev/episodes/--GraphQL--w-Altech-e1edkrv

    技術を的に当てる技術について - GraphQL を入れ直した話 / 吉祥寺.pm28
    yfnt
    yfnt 2022/01/29
  • Goのロギングライブラリ 2021年冬

    この記事ははてなブログからの筆者自身による転載です。 総論: なぜログが必要か 可観測性 たとえ目的は自明でも、その動作までが自明なアプリケーションというものはほぼ存在しません。現実の世界のアプリケーションというものは、動作パラメータだったり実行環境だったり、起動時点でのさまざまな要因によって挙動を変えるものだからです。そして、そうしたアプリケーションにはライフサイクルというものがあります。ここでいうライフサイクルは、アプリケーションの処理が実行されるにつれ、アプリケーションの内外との情報のやりとりで生じる大局的な状態の変化のことです。アプリケーションが並行処理を行うようなものであれば、個々の並行処理の単位にもライフサイクルがあることでしょう。アプリケーションはそれ単独で複雑な系であるということです。 また、現実の世界においては、単一のソフトウェアで自己完結するということも非常にまれなこと

    Goのロギングライブラリ 2021年冬
    yfnt
    yfnt 2022/01/29
  • rjとtとjqコマンドでHTTPレスポンスを試験する - ゆーすけべー日記

    Web 開発者は HTTP レスポンスをよく見る。 以前 CDN を導入する際に、キャッシュがヒットしているかどうか、どこのエッジがキャッシュを返しているかを確認するためにヘッダをよく見ていた。また、ヘッダだけではなく、TTFB といったレスポンスタイムも気にしている。とにかく HTTP レスポンスをよく見る。 HTTP レスポンスを確認する3つの方法 Chrome さえあれば DevTools を見て一目瞭然である。 とはいえ、コマンドラインで確認したい時がしばしばある。 GUI を操作するよりも手軽である。 その場合はcurlコマンドを叩けばよい。 これでプロトコル、ステータス、ヘッダが分かる。 また、レスポンスタイムを測りたければ、その名もttfb.shというcurlをラップしたコマンドラインツールがある。 https://github.com/jaygooby/ttfb.sh この

    rjとtとjqコマンドでHTTPレスポンスを試験する - ゆーすけべー日記
    yfnt
    yfnt 2022/01/29
  • Goで知らないフィールドのあるJSONを取り扱う - 詩と創作・思索のひろば

    野良 HTTP JSON API クライアントを作ってると、API が返してくる JSON の形に確信が持てないし、「これ何に使うんだろ」みたいなフィールドもあったりして struct にエンコードするのをサボったりする。 そういったコードがライブラリとして使われる余地を残すとすると、struct で表現されていないデータにも何らかの方法でアクセスできるようにしておきたい。こういうパターンあるんじゃないかと思うが、みんなどうやってるのか分からなかったのでメモ。 まあ素直に、json.RawMessage を struct に持たせておくのが一番よいだろう。冗長にはなるが、構造体の定義されたフィールドに便利なデータはあるし、より詳細に見たいなら RawMessage 経由で生データを見ればよい。ということにする。また、RawMessage を保持している場合は JSON 化したときにこれをそ

    Goで知らないフィールドのあるJSONを取り扱う - 詩と創作・思索のひろば
    yfnt
    yfnt 2022/01/29
  • 表示順という属性を別テーブルに分ける - そーだいなるらくがき帳

    最近、この説明を複数回したので記事にする。 要約 普段は 今北産業 派なのだが、3行考えるのが面倒なため、今後は大人の表現を使う。 「今北産業」をスタートアップ語にすると「マジ価値サマリー」になるらしい ちなみにここだけの話ですが、大人語にすると「要約」になります pic.twitter.com/Q8SflvBX7c— ところてん (@tokoroten) 2022年1月24日 画面に表示したい順(以下、表示順)は振る舞いの属性なので分ける 似たような振る舞いに関わる属性は別テーブルにわけると良い 普通に正規化しましょうって話。 表示順をカラムを追加して表現する よくあるテーブルは画面情報と合わせて表示順カラムがあるパターン。 こういうテーブルを作って SELECT * FROM items ORDER BY display_order_number; で表示順に取り出すパターン。 表示順

    表示順という属性を別テーブルに分ける - そーだいなるらくがき帳
    yfnt
    yfnt 2022/01/29