ブックマーク / debimate.jp (3)

  • 【Golang】fe3dback/go-arch-lintでアーキテクチャの破壊を防ぐ

    Golang】fe3dback/go-arch-lintでアーキテクチャの破壊を防ぐ by nao · 公開済み 2025年2月13日 · 更新済み 2025年2月13日 前書き:アーキテクチャは容易に壊される アーキテクチャリンターであるfe3dback/go-arch-lintをnao1215/sqlyに導入したので、使用方法のメモを記事として残します。結論としては、初期設定が面倒ですが、期待通りの効果が得られました。なお、既存コードがカオスなアーキテクチャの場合、go-arch-lintを採用できないと思われます。 まず、アーキテクチャをリンターでチェックする発想に至った理由から、説明します。以前、ペアプロ中にドライバ側(実装する人)がアーキテクチャルールに反しているのを偶然目撃しました。違反内容は、「外部サービス操作用パッケージ内でのみ使用できる構造体をユースケースレイヤーから呼

    【Golang】fe3dback/go-arch-lintでアーキテクチャの破壊を防ぐ
    tmatsuu
    tmatsuu 2025/02/16
    アーキテクチャのリンターであるgo-arch-lint。クリーンアーキテクチャに則っているかなどのチェックが可能。ほう
  • 【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい

    golangsqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい by nao · 2022年6月25日 前書き:sqlcとは 記事は、kyleconroy/sqlcの基的な情報を紹介します。 sqlcは、DBスキーマ(DBテーブル定義)、SQLクエリ定義、設定ファイルの3点をインプットとして、型安全なCRUDコード + DBテーブルに対応したモデル(構造体)を自動生成します。ここでのモデルの自動生成には、複数テーブルをJOINしたクエリ用の構造体も含まれます。 個人的な視点では、sqlcは「SQLクエリを検証してから、そのクエリを実行するGolangコードを書いて、クエリ結果を受け取るための構造体を書くのが大変」という課題を解決するツールです。独自のDSL(Domain Specific Language)は殆ど登場しないので、SQLをゴリゴリ書ける

    【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい
    tmatsuu
    tmatsuu 2022/06/29
    ほう。現時点でMySQLとPostgreSQLをサポート。Golang以外にKotlinとPythonも対応。将来的にはC#やTypeScriptもサポート予定。わいわい
  • 「Log4j2の脆弱性から垣間見えたOSS開発の厳しさ」と「OSS開発者に投げ銭する文化(未来)」について

    Log4j2の脆弱性から垣間見えたOSS開発の厳しさ」と「OSS開発者に投げ銭する文化(未来)」について by nao · 公開済み 2021年12月12日 · 更新済み 2021年12月13日 前書き:災害レベルの脆弱性 記事は、紛うことなきポエム記事です。Log4j2の脆弱性問題を追っている間に「OSS開発の醜い部分」を目の当たりにしたので、記事では「せめてOSS開発者が金銭的もしくは他の手段で報われればいいのに」と主張します。 2021年12月10日、Javaのロギングライブラリであるlog4j2は任意コード実行の脆弱性(CVE-2021-44228、内容は以下の引用文を参照)が見つかり、その実行方法の容易さから話題となりました。 Apache Log4jにはLookupと呼ばれる機能があり、ログとして記録された文字列から、一部の文字列を変数として置換します。その内、JNDI

    「Log4j2の脆弱性から垣間見えたOSS開発の厳しさ」と「OSS開発者に投げ銭する文化(未来)」について
    tmatsuu
    tmatsuu 2021/12/23
    金銭で報われると責任のようなものが発生するから自分は消極的。「オープンソースなんだから脆弱性も皆がそれぞれで直せばええんやで」というスタンスには持っていけないものか。
  • 1