LEFログ

:smile

RustでCSVをJSONに変換するツールをリリースしました

概要 最近、Rustを使って、CSVをJSONに変換するツールをリリースしました。 ctj - crates.io: Rust Package Registry cargo install ctjですぐインストールして使うことができます。 2025-07-17現在のバージョンは0.1.8。ちょこちょこ機能を追加しています …

開発生産性Conference 2025に行きました!

グッドハートの法則を説明するKent Beck 開発生産性Conference2025に行きました! 何よりも嬉しかったのが、やはりKent Beckさん御本人にお会いできたことです。自分がプログラミングの学習をし始めてから、アジャイルソフトウェア開発宣言をはじめとして、…

Railsで別ファイルに切り出さずに、Viewのプライベートなpartialを実装する

結論 captureメソッドとprocを使おう! 経緯 部分テンプレート(partial)はとても便利な機能ですが、使いすぎるとコードが少し散らかってしまいます。 たった1つのViewファイルで使うためだけの場合でも、_foo.html.erb や_bar.html.erbといったファイルが…

「私が知る最高のプログラマーの習慣」という記事が良かった

endler.dev The Best Programmers I Know | Matthias Endler こちらの記事、Hacker Newsでたまたま見つけたのですが、とても良かったので紹介します。 素晴らしいプログラマーの習慣として、次の項目が挙げられていました。 公式リファレンスを読もう 使うツ…

【VSCode】erbのコードをctrl + /で簡単にコメントアウトする方法【Ruby on Rails】

結論 この拡張機能を使おう! marketplace.visualstudio.com https://marketplace.visualstudio.com/items?itemName=setobiralo.erb-commenter 経緯 VSCodeでerbのファイル内でRubyの部分を、ctrl + /(もしくはcommand + /)でうまくコメントアウトすること…

過去の Pull Request の diff を CLI 上で確認する方法(マージコミット)

チーム開発をしていて、特定のマージコミットの diff のみを手元で確認したいときがあります。 言い換えると、過去の GitHub の PR の差分だけを表示したいときです。ブラウザ上で見ることはできますが、CLI でも確認したいときがたまにあります。 というわ…

React Tokyo ミートアップ 第1回に参加しました!

先週の金曜日、こちらのイベントに参加しました! React Tokyoミートアップ React Tokyo ミートアップ #1 - connpass Reactに関するミートアップに現地参加したのは初めてだったので、とても楽しめました。 トランジションの仕組みや、最近出たReact 19の新…

Reactなんでも発表会で登壇しました!

概要 2025-01-09開催された「Reactなんでも発表会」で登壇しました! Reactなんでも発表会 Reactなんでも発表会 - connpass スライド 発表で使ったスライドはこちら! speakerdeck.com shadcn/uiを使ってReactでの開発を加速させよう! - Speaker Deck アプ…

MindfulDoという謎のアプリを作りました

MindfulDoのトップ画面 あけましておめでとうございます 新年なので謎のアプリを作りました。 mindfuldo.vercel.app MindfulDo 動画はこちら youtu.be https://youtu.be/dVrHUf09N7g three.jsがブラウザ上で動いていると、往年のFlashアニメーションみがあっ…

【GitHub】2024年 オールグリーン達成

嬉しいねぇ🌿🤩 2024年のGitHubのcontributions 話変わりますが風邪を引きました……寝正月……(´;ω;`)

最近使っているブラウザ Zen Browser

zen-browser.app Zen Browser 個人的に良いところ OSS Firefoxベース 便利なタブ管理機能 クロスプラットフォーム ☆Vimiumと問題なく連携できる ← これ重要 Arcは自分の環境だとVimiumとの噛み合わせが悪いため、こちらに乗り換えました。 テックブログ等で…

GhosttyをGUIで設定する方法

結論 このサイトを使うだけでOK! ghostty.zerebos.com Ghostty Config GitHubのリンクはこちら github.com zerebos/ghostty-config: A beautiful config generator for Ghostty terminal. 感想 Twitterでも紹介しましたが、このツール、本当に便利です。 Gho…

口頭での情報共有で相手を迷子にさせないフォーマット

これはフィヨルドブートキャンプ Part 2 Advent Calendar 2024の3日目の記事です。 プログラミングをしていると、他の方とボイスチャットをして問題を解決することは多いです。 その際、口頭でも伝わりやすい説明をすることが重要になります。 今回はLEF(筆…

議論が袋小路に入ったときだけ決定権を持つロールを作る

こにふぁーさんのブログ記事が好きなので、自分も考えたことを雑に書いてみようと思いました。 一行まとめ 「議論が袋小路に入ったときだけ決定権を持つロール」を作ると良いかも。 概要 全員で意見を交わすことで議論を深めつつ、意思決定していくのが基本…

Kaigi on Rails 2024 に参加しました!

Kaigi on Rails 2024 Kaigi on Rails 2024 に参加しました! 去年は現地参加できなかったので、今回は実際に足を運んで発表を聞くことができてよかったです。 今回のブログ記事では、自分が会場で聞いた発表の感想を五月雨式に書いていきたいと思います。 (…

dotfiles内のすべてのファイルに対して一括でシンボリックリンクを作成する方法

たまにしか実行せずちょこちょこ忘れるのでメモを兼ねて書きます。自分はいつもターミナル上でこのコマンドを実行しています。 find ~/dotfiles -maxdepth 1 -name '.*' -exec ln -s {} ~/ \; これでdotfiles/内に移動したファイルたちのシンボリックリンク…

世界一わかりやすいGo言語のinterface

結論 Go の interface は型安全にダックタイピングを使いたいときに使おう Go の interface は(implementsのような)キーワードを使うことなく、同じメソッドを実装するだけで暗黙的に決定される はじめに 皆さんは Go の interface を知っていますか? 自…

オンとオフの切り替え方

今日の1on1で島田さんと話した内容が自分にとってとても有用だったので忘れないうちに文章に残したいと思います。 結論から言うと、オフのときにもスケジュールを作ることが重要だと分かりました。これがどういうことが説明していきます。 自分はオンとオフ…

useSyncExternalStore の活用: useEffectの中でsetStateを使うときはアンチパターンを疑おう、についての補足

概要 最近、Zennで次のような記事を書きました。 zenn.dev useEffectの中でsetStateを使うときはアンチパターンを疑おう お盆休みのおかげか思った以上にアクセスが伸び、Zennのトップページ&はてなブックマークのトレンドに掲載されました。読んでくださっ…

ブラウザ上で簡単に動くAudio Visualizerをリリースしました!

概要 ブラウザ上で簡単に動くAudio Visualizerをリリースしました! ソフトウェアをインストールする必要がなく、すぐに使えるのが特徴です。 こちらのリンク先からすぐに使えます。 lef237.github.io https://lef237.github.io/audio-visualizer/ OGPを設定…

WindowsでPowerToysやAutoHotKeyでリマップできないキーに対してはChange Keyを使おう!

概要 Windowsの一部のキーはPowerToysやAutoHotKeyではうまくリマップできないときがあります。そのため、Ctrlが押しっぱなしになってしまう事象が発生します。 この問題を回避するためには、レジストリ内の値を変更し、OSレベルでキーを変更する必要があり…

console.log でデバッグするときの落とし穴とその対処法

JavaScript の console.log() は便利ですが、注意も必要です。 今回は、自分が最近遭遇したコードを元に、具体的な事例を紹介したいと思います。 事例: エスケープ文字 \t に気づかず === で比較 これは実際のコードを単純化したものです。このコードでは、…

えにしテック15周年記念カンファレンスのふりかえり

札幌駅 自分の中でうまく言語化できる自信がなく、ふりかえり記事を書くかどうか迷ったのですが、忘れてしまって永遠に失われるよりは遥かに良いと思ったので記事を書いてみます! カンファレンス前 北海道には前日に着きました。羽田空港ターミナルの一番端…

Denoで変わるランタイムの景色 実践事例 Lunch LT で登壇しました!

概要 Findy様が主催する、こちらのイベントで登壇しました Denoで変わるランタイムの景色 Denoで変わるランタイムの景色 実践事例 Lunch LT - connpass スライド 発表で使ったスライドはこちら! speakerdeck.com Web 開発における Deno Fresh の活用例:ペ…

記事のタイトルに絵文字を入れるとGoogle検索結果に表示されなくなるので注意

きちんと検証したわけではないのですが、記事のタイトルに絵文字を入れていると、関連するワードで検索しても、Googleの検索結果に表示されなくなってしまうことが過去何度もありました。しかも、SEOの順位が下がるのではなく、検索結果そのものに表示されな…

ピクページで自分のサイトを作ったよ

リンク https://piku.page/@lef237 こんな感じ lef237のピクページ デザインやUI/UXがすごくてすごいです。Figmaのように直感的に操作できます。 自分もこんなWebサービスを作れるようになりたいです。

macOSのウィンドウ操作を抜群に使いやすくする方法

結論 Karabiner-Elementsでctrl + wにcommand + wを割り当ててタブを閉じやすくする AltTabというソフトウェアをインストールする 特にこれが大事 追記(2024-07-10) ctrl + wだとVimのウィンドウ操作と被ってしまうので、ctrl + 2かctrl + 3を使ってタブを…

RubyKaigi 2024 Okinawa に行きました

ホール前列からの写真 RubyKaigi 2024に行きました! 今年は沖縄で開催されました。 Ruby & Wasm 自分は最近WebAssembly(Wasm)に興味があり、特にRubyとWasmとの組み合わせに着目して発表内容を聞きました。 RubyGems on ruby.wasm - Speaker Deck An mrub…

Godotチュートリアル2Dを完走した感想

サムネイル サムネ画像 結論 とても良かったです(小並感) 実際のプレイ動画 youtu.be 完成したリポジトリ チュートリアルで詰まった方はぜひ参考にしてください!*1 github.com Godotチュートリアル2Dとは? 最初の2Dゲーム — Godot Engine (4.x)の日本語…

【Godot】The specified Godot executable, 'godot' is invalid. Extension features will not work correctly unless this is fixed. の解決法【VSCode, macOS】

結論 VSCodeの設定で、EditorのPathを次のように設定すればOK! /Applications/Godot.app/Contents/MacOS/Godot Godot Tools の Editor Path: Godot 4に上のパスを設定します 解説 VSCodeのGodotの拡張機能を入れたとき、次のようなエラーが発生していました…