タグ

Goに関するhamamuratakuoのブックマーク (16)

  • Golang開発者のためのクリーンアーキテクチャ

    はじめに クリーンアーキテクチャは、ソフトウェア設計の分野で非常に重要な概念です。 しかし、その理解は容易ではなく、明確な正解が存在するわけではありません。 多くの人が異なる解釈を持ち、他の設計思想と混在していることもあります。 この記事では、自分なりの視点からクリーンアーキテクチャを解釈し、その整理した内容を共有します。 このアーキテクチャの目的は、システムの各層を独立させ、変更に強く、テストしやすい設計を実現することです。 この記事では、クリーンアーキテクチャの基概念、Golangでの実装方法、およびディレクトリ構成について詳しく説明します。 なお、この記事では個人的な見解を述べており、必ずしも正解を書いているわけではありません。もし誤りがあれば、ぜひご指摘いただけると幸いです。 クリーンアーキテクチャの基概念 クリーンアーキテクチャの元となったのは、ロバート・C・マーチン(通称「

    Golang開発者のためのクリーンアーキテクチャ
  • Go1.21から導入された Go Toolchainの仕組みをまるっと解説

    2023/8/9にリリースされたGo1.21 新たに導入されたツールチェーン(Go Toolchains) 次の内容を知ってもらい、Toolchainを使いこなせるようになること ・導入が必要となった背景 ・導入で期待されること ・具体的にはどう使うのか ・どんな挙動なのか

    Go1.21から導入された Go Toolchainの仕組みをまるっと解説
  • Compile SQL to type-safe code

    You write SQL queries You run sqlc to generate code that presents type-safe interfaces to those queries You write application code calling the methods sqlc generated. Seriously, it's that easy. You don't have to write any boilerplate SQL querying code ever again. See the current list of supported programming languages and databases. Schema updates and poorly-written queries often bring down produc

    Compile SQL to type-safe code
  • 自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理

    切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React

    自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理
    hamamuratakuo
    hamamuratakuo 2024/05/05
    "懸念 ・依存がめちゃくちゃ多くなる ・ライブラリ依存が多いの本当に好きじゃない ・依存によるセキュリティリスク ・正直回避できる気がしない" SQLの隠蔽/分離はAPI化の方が楽では?≒DB自体をマイクロサービス化
  • スレッドとプロセスの違いを完全に理解する


     FarStep      5   🚀     C Java Python Ruby JavaS
    スレッドとプロセスの違いを完全に理解する
    hamamuratakuo
    hamamuratakuo 2024/05/03
       





    Go

  • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita


     API Python Python GoRustPythonAPI API (1) Hello, World!API(2) API(3)1API3 (1)API(2)API(3)API (2)
    Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
    hamamuratakuo
    hamamuratakuo 2024/04/26
    Goに入ってはGoに従え → "Goが最も速いことがわかりました。(1秒=1000ms待つ処理が挟まっているので、待ち時間を除いた純粋な処理時間はGoがRustとPythonよりも1.5倍以上速いと言えます。)" 書きやすさも加味したいね?
  • Go言語のジェネリクス入門


    Go1.1820223Go   2024/01/03: Go1.21(2023-08-08)cmp 2023/02/23: Go1.20(2023-02-01)comparable : The GoBlog - All your comparable types GriesemerGo GoBasic Interfacecomparable() Go1.20
    Go言語のジェネリクス入門
  • RoadRunner : a high-performance PHP application server

    Production Ready RoadRunner can be installed and used in production right away for even the biggest applications under constant load. High Performance RoadRunner utilizes goroutines and the multi-threading capabilities of Golang to bring maximum performance to PHP applications.

    RoadRunner : a high-performance PHP application server
  • Go言語が好きな理由


     Godis Go6 -  GoGo 4Go使GoGo  Go
    Go言語が好きな理由
    hamamuratakuo
    hamamuratakuo 2021/09/23
     GoogleGoC/C++GoRust使OK  

    Go


     
  • Goへのヘイトに対する考え方


    https://www.kbaba1001.com/entry/2021/09/17/073149  RubyGo3  JSON Go Go使  Go Go Go
    Goへのヘイトに対する考え方
    hamamuratakuo
    hamamuratakuo 2021/09/18
    Go言語はベターCの1つという認識。高機能なベターC/C++が欲しいなら、今ならRustでOK?
  • Go言語を嫌う6個の理由 - さめたコーヒー


    RubyGoRubyGoGo 2Go GoGo
    Go言語を嫌う6個の理由 - さめたコーヒー
    hamamuratakuo
    hamamuratakuo 2021/09/18
    Go言語はベターCの1つという認識。高機能なベターC/C++が欲しいなら、今ならRustでOK?
  • GitHub - nakabonne/tstorage: An embedded time-series database

    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 - nakabonne/tstorage: An embedded time-series database
    hamamuratakuo
    hamamuratakuo 2021/07/01
    ゼロから作る時系列データベースエンジン https://b.hatena.ne.jp/entry/s/zenn.dev/nakabonne/articles/d300838a1500c7 Append-only(追記のみ)の時系列DB
  • ゼロから作る時系列データベースエンジン


     Go  Alicli push 使
    ゼロから作る時系列データベースエンジン
    hamamuratakuo
    hamamuratakuo 2021/07/01
    Append-only(追記のみ)の時系列DBとして、Datomic https://www.datomic.com/ とかもあるけど、手軽に使える軽量なDBがなかった?オープンソースでの提供はありがたいです🙌 tstorage https://github.com/nakabonne/tstorage
  • GoでオススメのWebフレームワークを聞かれることが多い - tenntenn.dev


    Web Web使GoWeb Web GoWebWebenv
  • Goバイナリの脆弱性検知 - knqyf263's blog


    Trivyv0.17.0 github.com Go05  GoOSS0OSSOSS調TrivyOSSGo Go
    Goバイナリの脆弱性検知 - knqyf263's blog
    hamamuratakuo
    hamamuratakuo 2021/04/30
    現代のソフトウェア開発にOSSのライブラリが0ということはまれなので、OSSの古いバージョンには既知の脆弱性が含まれる可能性があります。手動で調べて追うのは手間なので最近では脆弱性スキャナを用いて検知が普通
  • セキュアにGoを書くための「ガードレール」を置こう - 安全なGoプロダクト開発に向けた持続可能なアプローチ - Flatt Security Blog

    The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) The design is licensed under the Creative Commons 3.0 Attributions license. 種々の linter が様々なプロダクトの品質を高めてきた、というのは疑う余地のない事実です。実装の初歩的な問題をエディタ内や CI/CD パイプライン中で機械的に検出できる環境を作れば、開発者はコーディングやコードレビューの邪魔になる些末な問題を早期に頭から追い出し、質的な問題に集中できます。 また、そのような環境づくり(e.g. linter のルールセットの定義、組織独自のルールの作成、…)は、まさに開発組織のベースラインを定義する作業として捉えることができます。一度誰かが定義

    セキュアにGoを書くための「ガードレール」を置こう - 安全なGoプロダクト開発に向けた持続可能なアプローチ - Flatt Security Blog
  • 1