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

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

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様が主催する、こちらのイベントで登壇しました findy.connpass.com Denoで変わるランタイムの景色 実践事例 Lunch LT - connpass サムネイル サムネイル画像 スライド 発表で使ったスライドはこちら! speakerdeck.com Web 開発における Deno Fre…

記事のタイトルに絵文字を入れると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の拡張機能を入れたとき、次のようなエラーが発生していました…

【csharp】C#でGodotのチュートリアルを進める場合の注意点

TL;DR ファイル名とクラス名を一致させよう 概要 C#を使ってGodotのチュートリアルを進めていたのですが、地味に分かりづらいポイントがあったので解説していきます。 その1: macOSを使う場合はHomebrew経由で.NETをインストールする 初め、Godotの公式ドキ…

Godotの最初のプロジェクトをGitHubで公開しました

github.com https://github.com/lef237/godot-rotate-lefzou ほぼチュートリアル通りですが、ボタンをトグルして自動直進機能を追加しました。 youtu.be My First Godot Project!!! - YouTube GDScriptはPythonのようなシンプルな書き味でなかなか良いです。…

macbook購入時にAppleCare+に加入するかどうかの損益分岐点

結論 macbookを2年~3年以上使う場合にはAppleCare+への加入がオススメ 概要 AppleCare+に加入すると、バッテリー容量が本来の80%を切ったとき、無料でバッテリーを交換できるらしいです。 自分の使っているmacbook proは現在91%(使用開始から約9ヶ月で9%減…

Chromeの拡張機能「GitHub Prevent Thumbs Down Click」をリリースしました!✨

chromewebstore.google.com GitHub Prevent Thumbs Down Click 上のリンク先の「GitHub Prevent Thumbs Down Click」という拡張機能をリリースしました! この拡張機能をリリースした経緯について今回の記事では書いていきます。 使い方 使い方は簡単です。…

CSSを決めるとコードがシンプルになる

今個人のプロジェクトとしてChrome拡張機能を作っているのだけど、書いていたJavaScriptのコードを全消しした。 理由としては、全く同じ機能をCSSのみで実装できることに気づいたからである。36行もあったJavaScriptのコードが、3行のCSSに収まった。これは…

Next.jsをVercelにデプロイしたとき、OGPを表示するためにはVercel Authenticationの変更が必要かも

結論 Vercel Authenticationの設定をOnly Preview Deploymentsに変えよう! (以下はこまごまとした説明です) 経緯 最近、文字数カウントアプリをVercelにデプロイしました。 github.com lef237/char-count: テキストの文字数をカウントするアプリ Next.js…

既存のDBにPrismaを導入するときはBaselineを設定しよう

結論 既存のDBにPrismaを導入するときはBaselineを設定しよう! 経緯 Prismaのドキュメントを読み進めていたとき、既存のプロジェクトにPrismaを導入するときの手順としてBaseline your databaseという項目が出てきました。 www.prisma.io Baseline your dat…

DebianのGUIでDockを表示する方法

結論 extensions.gnome.org Dash to Dock - GNOME Shell 拡張機能 このサイトでInstallをクリックする GNOMEのサイトでインストールする 細かい設定については、「拡張機能」のアプリから「設定」をクリックする 設定をクリックするとDockの細かな設定ができ…

macOSで特定のアプリごとアクセスできるフォルダを制限する方法

結論 システム設定→プライバシーとセキュリティ→ファイルとフォルダに進む。 そこで、アプリごとのアクセス範囲を制限する。 経緯 ターミナルでfzfを使っていたところ、iCloudのファイルも検索するようになってしまっていました。 以前、何も考えずに「アク…

Remix SPAにshadcn/uiを導入する手順

Remix SPAモードでTailwind CSSを使うときの注意点と同様に、ちょっとだけ注意が必要なのでまとめました📝 github.com Use shadcn/ui by lef237 · Pull Request #5 · lef237/lef237.github.io

Remix SPAモードでTailwind CSSを使うときの注意点

意外と情報が少なく、Remix SPAモードでTailwind CSSを動かすまでに苦労したので記事に残しました ※ページの最後に追記しました!(2024-03-13) 重要なところ ViteとRemixのインストールガイドを組み合わせる必要がある Install Tailwind CSS with Vite - T…

Denoハンズオンに参加しました!🦕

deno-ja.connpass.com Denoハンズオン&もくもく会:Fresh + KV - connpass Denoハンズオンに参加しました! こちらの「Denoハンズオン&もくもく会:Fresh + KV」に参加しました! 2023年の12月(約3か月前)、timer.teamというWebアプリをリリースしたので…

Next.js バージョンアップ時の Error: Parsing error: DeprecationError: 'originalKeywordKind' の対処法

TL;DR(解決法) 最新の@typescript-eslint/parserを明示的にpackage.jsonに入れてからnpm installする npm install @typescript-eslint/parser --save-dev npm install 具体的な経緯 Next.jsのバージョンアップ時に次のようなエラーが出た。 具体的にはnext…