タグ

k1LoWのブックマーク (5,079)

  • Introducing the next generation of the Buf CLI: still v1 and backwards-compatible

    Introducing the next generation of the Buf CLI: still v1 and backwards-compatible The Buf CLI and its associated configuration have been completely overhauled to support monorepos as first-class citizens. We'd call it a v2 of buf, but it's not. Buf is enterprise-grade software, and we want you to be minimally impacted. The v1.32.0 release of buf introduces v2 config formats for both buf.yaml and b

    Introducing the next generation of the Buf CLI: still v1 and backwards-compatible
    k1LoW
    k1LoW 2024/06/10
  • Abstracting database/sql boilerplate with Go generics

    An abstract vision of abstracting database/sql boilerplateIntroductionThis post is part of the Eureka Advent Calendar 2022. database/sql provides everything needed to work with SQL in Go, yet there’s an ever-growing list of query builders, ORMs and database utilities being developed by the community. Is database/sql really so bad? In this post we’ll explore what can be achieved using Go generics w

    Abstracting database/sql boilerplate with Go generics
    k1LoW
    k1LoW 2024/06/10
  • メッセージとイベントを中核に置いたシステム設計の有用性について

    現代のシステム設計において、メッセージとイベント駆動のアプローチは、即応性、スケーラビリティ、耐障害性を実現するための重要な要素です。セッションでは、その有用性と具体的な適用方法について解説します。

    メッセージとイベントを中核に置いたシステム設計の有用性について
    k1LoW
    k1LoW 2024/06/05
  • 【資料公開】ステークホルダーとの付き合い方を考える

    みなさんこんにちは。@ryuzeeです。 2024年6月3日に行われたソニー主催、Forkwell共催の勉強会「TechLovers #2」の登壇資料を公開します。 プロダクト開発には、さまざまなステークホルダーが登場します。 プロダクトのフェーズや開発の状況によってステークホルダーの重要度は変わります。そしてステークホルダーごとに持っている権限の強さや権限が及ぶ範囲も違います。 これらを無視して開発を進めると、プロダクトに大きな影響を及ぼすようなことが起こりかねません(メテオフォールなるものもその1例です)。 つまり、戦略的にステークホルダーと付き合っていかなければいけません。 この資料では、フレームワークを活用してステークホルダーを分類し、分類に応じた接し方を紹介しています。 プロダクト開発においては、常にやりたいことややらなければいけないことがたくさんあり、時間や人は足りません。 そ

    【資料公開】ステークホルダーとの付き合い方を考える
    k1LoW
    k1LoW 2024/06/04
  • Adding new language - LSP Mode - LSP support for Emacs

    k1LoW
    k1LoW 2024/05/31
  • 優れた仕様を決定するために必要なこと - GoTheDistance

    たまにはブログ更新したいから、ついさっき流れてきたエントリにいついちゃうよー。 ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か | Social Change! 工程の分断はあり得ません ソフトウエアの設計に実装経験が要るか要らないかというのはそもそも議論にならない。「ソフトウエアの設計=仕様の設計+コードの設計」なんだから、例えればコインの表と裏。それらは引き離すことは出来ないのに引き離して分業しようとするからよろしくないことが起きてしまうというのが、上記記事の主題かと思います。簡単に言えば。 僕もこの点については「工程の分断」という言葉で何度も書いています。コインの表と裏であるべきものを分断してしまうと、互いのフィードバックを得る術を無くしてしまいます。そうなったら良いことは無い。ここは誰でも納得がいく所でしょう。 仕様を設計するチャンスって超少ないんじゃない?

    優れた仕様を決定するために必要なこと - GoTheDistance
    k1LoW
    k1LoW 2024/05/31
  • getとfindの使い分け - 日々常々

    メソッド名の getXXX と findXXX どっちがいいの?みたいな話になることがある。 この手の話ができるだけでもいい感じだと思います。名前が記号化していないってことなので。 世の中には名前に力を割くのが無駄な文脈もあって、そう言うのに晒されて続けると当然そこに力をかけなくなります。 その文脈では最適解だけど、私は名前が重要だと思っているし、その価値観を土台に他のものを積み上げていきたい。 ということで話を戻す。 「得る」と「探す」のようなものを意図して使い分けるとコードが読みやすくなります。 使い分け方によって読みやすさは変わりはするのですが、「意図して使い分けている」だけでも十分変わります。 その意図に共感できたり汲み取れたりすればさらに読みやすくなりますが、その前段階として意図の有無が重要だと思ってます。 私の基的な使い分け getHoge(条件): Hoge findHog

    getとfindの使い分け - 日々常々
    k1LoW
    k1LoW 2024/05/30
  • Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ

    Goで単体テストを実装する場合、動的な言語のように「テスト実行中に外部への依存を置き換える」といったことはできません。代わりに、 外部への依存を引数で渡す 外部への依存をインターフェイスで渡す のように、テスト対象をテスト可能な実装に変更しておき、テストの時は外部への依存をモック等に置き換えて実行する場合が多いのではないかと思います。 個人的な体験でいえば、テスト可能な実装に置き換えていく過程で設計が洗練されていく*1ことは度々あるので、面倒を強制されているというよりは設計を整理するための道具といった捉え方をしているのですが、そうは言っても動的な言語に比べると面倒だなと感じるときは少なからずあります。既存の実装がテスト可能になっておらず、変更するコストが高い場合は特にそうですね。 そんなとき、気軽にモンキーパッチできると嬉しいんじゃないかと思って、テストの時だけ関数を置き換えられるようなラ

    Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ
    k1LoW
    k1LoW 2024/05/29
  • 優先順位が口癖になる危機感 - ジンジャー研究室

    開発サイクルの終盤に近づくと「今回は優先順位の高いここまでを実装して、残りは優先順位が低いのでまたの機会にしましょう」という話になりがちだ。自分もこれまで何度もそうしてきたし、その場の判断としては正しい。が、このやり方に味をしめて常にこの調子で進めて、なんとなく上手く仕事をこなしている気になってしまうことには危機感がある。 以下、普段考えていることを自戒を込めてメモしておく。(なお、筆者の経験は toB ・Web 系・自社開発が中心なので読者の置かれている状況とは一致しないかもしれない) 優先度が低いタスクに着手する機会が一生訪れない 仮にあるタスクの優先度を下げたとする。バックログを眺めるとそのタスクに着手できそうなのは3ヶ月後だ。そして3ヶ月後、やっとそのタスクに着手できるかというと、そんなことは決してない。3ヶ月の間にそれよりも優先度の高いタスクが積まれているからだ。タスクを消化する

    優先順位が口癖になる危機感 - ジンジャー研究室
    k1LoW
    k1LoW 2024/05/28
  • Road to SRE NEXT@福岡に参加してきたのと、LT発表しました #srenext - stefafafan の fa は3つです

    Mackerel Drink Up 出張版@福岡に参加してきた #mackerelio - stefafafan の fa は3つです に続いて、翌日福岡で開催されたRoad to SRE NEXT@福岡に参加しました。 sre-lounge.connpass.com Road to SRE NEXT とは? 元々SRE NEXTという東京で開催されている大きめのイベントがありますが(自分はまだ参加したことはありません)、東京にとどまらず地方のSREコミュニティも活性化したいというものだそうです。 blog.sre-next.dev 「Road to SRE NEXT」は、SREの普及とコミュニティの活性化を目的としたイベントシリーズです。このイベントは、SRE NEXT 2024の運営メンバーによって計画されています。イベントの主な目的は、地方におけるSREコミュニティの発掘と支援、SR

    Road to SRE NEXT@福岡に参加してきたのと、LT発表しました #srenext - stefafafan の fa は3つです
    k1LoW
    k1LoW 2024/05/28
  • OTel Collectorでrunnによるシナリオテストの結果を投稿できるrunnreceiverを作りました - Diary of a Perpetual Student

    blog.arthur1.dev の続編です。今回はrunnによるシナリオテストの結果を投稿するツールをOpenTelemetry CollectorのReceiver (Scraper)として作ってみました。 リポジトリ 以下のリポジトリで id:arthur-1 によるOpenTelemetry Collectorの自作Component群を公開しています。 github.com 使い方 ビルド ocb (builder)によってOpenTelemetry Collectorをカスタムビルドする必要があります。カスタムビルドの方法は公式のドキュメントBuilding a custom collector | OpenTelemetryを参照してください。 runnreceivcerをビルドに含める場合には、ocbのconfig YAMLのreceivers部分に、以下のように行を追加し

    OTel Collectorでrunnによるシナリオテストの結果を投稿できるrunnreceiverを作りました - Diary of a Perpetual Student
    k1LoW
    k1LoW 2024/05/27
  • Makefile – makeコマンドのサブコマンド複数を引数として利用することは出来るがコマンド干渉に注意

    のようにサブコマンドは「複数のMakeを実行する」という意味なので、ここを引数として使うことは想定されていない。 だがハック的に対応することは出来る。 Makefileの例 $(filter-out $@,$(MAKECMDGOALS)) にサブコマンドの中身が入っている

    Makefile – makeコマンドのサブコマンド複数を引数として利用することは出来るがコマンド干渉に注意
    k1LoW
    k1LoW 2024/05/23
  • makeコマンドで複数引数を取れるようにする

    概要 makeコマンドで複数引数を取れるようにする方法があったので記録する。 Dockerコマンドを集約するときに使うと便利。 結論 makeコマンドが受け取った、2番目の引数以降の値をすべて対象のコマンドに渡せばOK。 hogehoge: <引数を渡したいコマンド> $(wordlist 2, $(words $(MAKECMDGOALS) - 2), $(MAKECMDGOALS))

    makeコマンドで複数引数を取れるようにする
    k1LoW
    k1LoW 2024/05/23
  • Defer, Panic, and Recover - The Go Programming Language

    Andrew Gerrand 4 August 2010 Go has the usual mechanisms for control flow: if, for, switch, goto. It also has the go statement to run code in a separate goroutine. Here I’d like to discuss some of the less common ones: defer, panic, and recover. A defer statement pushes a function call onto a list. The list of saved calls is executed after the surrounding function returns. Defer is commonly used t

    Defer, Panic, and Recover - The Go Programming Language
    k1LoW
    k1LoW 2024/05/21
  • protocプラグインとカスタムオプション - Qiita

    以前の記事ではprotocプラグインの書き方を紹介したが、実は1つ問題があった。 実用的なプラグインを書こうとした場合に、しばしば生成時に必要な、ドメイン固有の情報が足りないのである。稿ではそれを補うカスタムオプションの話をする。 ここでもう一度確認しよう。protocのプラグインはProtocol Buffersのスキーマを読んで任意の処理を行える仕組みだ。それはCodeGeneratorRequest内のFileDescriptorProto messageを読み取って任意のバイト列を出力し、出力を受け取ったprotocが指定通りにファイルにバイト列を書き込んでくれる。 ただ、FileDescriptorProtoはprotobufのスキーマ言語の文法をprotobufメッセージとして表現したものに過ぎないから、極めて一般的なデータ構造とサービス定義を表現する能力しか持たない。プログ

    protocプラグインとカスタムオプション - Qiita
    k1LoW
    k1LoW 2024/05/15
    知りたかったやつだ
  • GitHub - kxxt/tracexec: A small utility for tracing execve{,at} and pre-exec behavior.

    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 - kxxt/tracexec: A small utility for tracing execve{,at} and pre-exec behavior.
    k1LoW
    k1LoW 2024/05/12
  • Building an OpenAPI compatible API for Cloudflare Workers in Go

    k1LoW
    k1LoW 2024/05/11
  • 組織に“できたてホヤホヤの暗黙知”をシェアする仕組みをどうつくるか?子どもの「逆上がり」習得過程を見て気づいたこと|安斎勇樹

    組織に“できたてホヤホヤの暗黙知”をシェアする仕組みをどうつくるか?子どもの「逆上がり」習得過程を見て気づいたこと 今日は「子どもの日」ということで、個人的な話になりますが、先日、5歳の娘が「逆上がり」を習得しました。 一人の親として感動を覚える瞬間だったことはもちろん、習得のプロセスがまさにヴィゴツキーの言う「ZPD(Zone of Proximal Development、最近接発達領域)」そのもので、親としても、研究者としても非常に感激してしまいました。 そこで記事では、「娘の『逆上がり』習得」というきわめて身近なエピソードを通じて私が感じた、ナレッジマネジメントにおける「できたてホヤホヤの暗黙知」の重要性と、「ZPD」を学びにつなげるためのポイントについて、書いてみたいと思います。 ある日の公園での「驚き」の出来事ある日、保育園の帰り道に寄った公園にて。5歳になったばかりの娘が、

    組織に“できたてホヤホヤの暗黙知”をシェアする仕組みをどうつくるか?子どもの「逆上がり」習得過程を見て気づいたこと|安斎勇樹
    k1LoW
    k1LoW 2024/05/05
  • もう人間がクエリを書く時代じゃない!SQLクエリの組み立てを自動化するSlack botを開発・導入しました - Pepabo Tech Portal

    こんにちは。SUZURI事業部の@kromiiiと申します。 私のメインの業務はWebアプリケーションの開発ですが、大学院時代のスキルを活かして並行してデータ分析業務も行っています。 データ分析業務ではデータベースのクエリを書くことが多いのですが、私自身SUZURI事業部に配属されたばかりで、テーブルの名前やリレーションを覚えるのが大変でした。そこでクエリの設計を自動化するツールをSlackに導入しました。 その名も tbls-ask bot です。どのようなものか先に見てみましょう。 ユーザーはSlackでメンションする形で、どのようなクエリを実行したいのか自然言語で入力します。 メンションされるとSlack botが起動し、どのDBスキーマを利用するかを尋ねます。 ユーザーがDBスキーマを選択すると、自然言語からSQLクエリを生成し、Slackに返答します。 今回はパブリックに公開する

    もう人間がクエリを書く時代じゃない!SQLクエリの組み立てを自動化するSlack botを開発・導入しました - Pepabo Tech Portal
    k1LoW
    k1LoW 2024/05/03
  • Googleスライドにソースコードをシンタックスハイライトして貼り付け

    どうも、クラゲジュニアです。 Googleスライドにソースコードを貼り付ける前に、シンタックスハイライトで色付けしてくれるWebツールを紹介します。 SlidesCodeHighlighter インストールやログイン等は不要で、こちらにアクセスするだけで使えます。 https://romannurik.github.io/SlidesCodeHighlighter/ 使い方 左側にコードを貼り付けるか記入 右側をクリックすると全選択されるのでコピー Googleスライドに貼り付けて、サイズなどを整えて終了 ダークテーマでの具体例 ThemeをDarkで選ぶ 挿入 > テキストボックスで作ったテキストボックスに貼り付ける ※既存のテキストボックスを使うと、文字の行間隔が広いので注意 フォントサイズを変更する 暗いグレーで塗りつぶす 以上です。

    Googleスライドにソースコードをシンタックスハイライトして貼り付け
    k1LoW
    k1LoW 2024/05/03
    Keynoteでもある程度つかえた。便利