enjoydarts

技術

reCAPTCHAからの移行にも最適!Cloudflare TurnstileをRailsとLaravelで使う方法

はじめにWebアプリのセキュリティ対策として、スパムや不正ログインを防ぐ仕組みは欠かせません。長年の定番は Google reCAPTCHA でしたが、実際に使ってみると「画像パズルを解かされる煩わしさ」や「Google によるトラッキング懸念」がつきまといます。ユーザー体験を損なうこともしばしばあり、特に商用サービスでは離脱につながる要因になりかねません。そこで注目されているのが Cloudfl...
RailsからLaravelを眺める

RailsとLaravelでどう書く?配列・コレクション操作の実装パターンまとめ

※本記事は「RailsからLaravelを眺める」シリーズの第8回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにフリーランスエンジニアとして日々さまざまな案件に携わっていると、Rails案件、Laravel案件の両方に関わる機会が訪れます。どちらも優れたフレームワークですが、同じような処理を実装する際に「Railsならこう書ける...
技術

AI時代に価値を発揮するエンジニアとは|仕事を奪われないために磨くべき3つの力

はじめに「正直、簡単な機能追加ならChatGPTに聞いて、うちの新人でもできちゃうんですよね」クライアントからこう言われることは、もはや珍しくない。実際、GitHub Copilot、Cursor、Claude、ChatGPTなどのAIツールを組み合わせれば、ジュニアエンジニアでも以前のシニア並みのコードを生み出せるようになっている。では、エンジニアはどう進化すべきか。半年間AIを使いながら「AI...
音楽

Spotifyロスレス音質を試してみた|Apple MusicやQobuzとどこが違う?

はじめに長らく「いつ来るのか」と言われ続けてきた Spotify のロスレス配信が、ついにスタートしました。Apple Music や Amazon Music がすでにロスレス・ハイレゾを標準搭載していた中で、Spotify だけが遅れていた状況。ようやく Premium 会員向けに FLAC 24bit / 44.1kHz のロスレスが解禁され、業界標準に追いついた格好です。普段から複数の I...
ガジェット

Apple 2025年9月発表会まとめ|5分で理解するiPhone 17 / iPhone Air / Apple Watch Series 11・Ultra 3 / AirPods Pro 3 / Final Cut Camera の新機能と進化点

はじめに2025年9月9日、Appleが“全部盛り”の発表を実施。iPhoneの新カテゴリ「Air」、A19/A19 Proチップで明確に差をつけたiPhone 17シリーズ、健康管理を本気で強化したApple Watch、翻訳までこなすAirPods Pro 3、そしてiPhoneを映像制作機材に変えるFinal Cut Camera 2.0。この記事では、国内価格・チップ差分・健康通知の実装状...
RailsからLaravelを眺める

RailsエンジニアがまとめるDBマイグレーションの今|積み上げ式と状態ベース、Rails migrate・RidgepoleとLaravel migrate・sqldefの整理

※本記事は「RailsからLaravelを眺める」シリーズの第7回です。Rails出身の私がLaravelを触りながら、Railsと比較して違いを整理していく連載になります。はじめにRailsでもLaravelでも、アプリ開発を始めると必ず登場するのが DBマイグレーション。テーブルやカラムをコードで管理できるのは便利ですが、数年単位で運用すると マイグレーションファイルが雪だるま式に膨れる とい...

ノマドは心のモチベーション|旅をしながら一週間ごとに街を変えて暮らすフリーランスエンジニアの本音

はじめにフリーランスのWebエンジニアとして、旅をしながらコードを書く生活を続けています。今のスタイルは「1週間ごとに街を変える」暮らし。平日は仕事、土曜日は撤収と移動、日曜日は観光。このサイクルを繰り返す日々は刺激的で楽しい一方、心理的にも体力的にもさまざまな影響があります。自宅でリモート作業をしていると、どうしても「一日中こもっている」という閉塞感が強くなりがちです。でも、旅をしながら同じよう...
技術

参拝記録をデジタル管理|Obsidian×DataviewJSで御朱印データベース化と検索術

はじめに御朱印帳は、神社や寺院を参拝した証としていただける大切な記録です。その一枚一枚には参拝した日の思い出や、その土地の歴史や雰囲気が宿っています。ただ、旅を重ねて御朱印を集めていくと「いつ・どこで・どんな御朱印をいただいたか」を後から探すのが意外と大変です。御朱印帳が複数冊になっていくと、さらに管理が難しくなります。そこで僕は Obsidian × DataviewJS を使って「御朱印データ...
技術

ARIA属性とは?初心者でもわかるWebアクセシビリティ対応の基本と実装の第一歩

はじめにWebサイトやアプリを作っていると、画面上ではうまく動いて見えるのに、スクリーンリーダーなどの支援技術を利用する人には正しく伝わらないことがあります。例えば、見た目では「閉じるボタン」とわかるアイコンも、音声で読み上げると単なる「×」としか認識されず、ユーザーは「このボタンが何をするのか」理解できません。こうした「見た目と実際に伝わる情報のズレ」を解消するために設計された仕組みが ARIA...

デジタルノマド生活と通信環境|旅を続けて分かったこと

はじめにフリーランスとして旅をしながら仕事をする生活を始めて、半年ちょっとが経ちました。毎週のように拠点を変える暮らしはとても新鮮で、朝起きて窓の外に見える景色が違うだけで気分が変わります。ただ、どこにいても変わらない「必須条件」があります。それが通信環境です。パソコンもあって、静かな作業環境もあっても、回線が不安定だと一気にすべてが崩れます。箱根でSoftBankが沈黙箱根を旅したときのこと。山...
技術

作って学ぶRails 8入門・後日談|Claude Codeとバイブコーディングで進化するShlink-UI-Rails(実践編)

はじめに前篇(環境構築編)では、要件をObsidianでMarkdownにまとめ、それをClaude Codeに読み込ませることで「実装 → RSpec → Rubocop」という流れをAIに任せる体制を作りました。人間はレビューと判断に集中し、AIは実装とテストを回す。これがいわゆる“バイブコーディング”の基本形です。今回の後篇(実践編)では、Claude Codeと一緒に進めたShlink-U...
技術

作って学ぶRails 8入門・後日談|Claude Codeとバイブコーディングで進化するShlink-UI-Rails(環境構築編)

はじめに前シリーズ「作って学ぶRails 8入門(環境構築編/実践編)」では、Docker Compose で Rails 8 + MySQL 環境を整え、セルフホスト型URL短縮サービス Shlink のAPIと連携し、Rails標準の Turbo / Stimulus / importmap / Tailwind を活用して最小限のUIを作りました。これで一応の完成形にはなったのですが、どうし...
技術

フリーWi-Fiは信用できない。ノマドエンジニアが辿り着いた答えはNordVPNとProtonVPNでした。

はじめに旅先でのフリーWi-Fiは、とても甘い誘惑です。カフェ、ホテル、駅、空港。「無料で繋げる」「通信量を気にしなくていい」「誰でもすぐ使える」。ノマド生活をしていると、ありがたい存在に見える瞬間は確かにあります。でも同時に、僕はいつもこう思います。「このWi-Fi、本当に信用して大丈夫か?」セキュリティに神頼みはできません。だから僕は、旅先では必ずVPNを起動してからネットに繋ぎます。フリーW...
技術

作って学ぶRails 8入門|Shlink APIとつないでSPA風のURL短縮UIを実装する(実践編)

はじめに前編の記事では、Docker Compose を使って Rails 8 + MySQL の環境を整え、さらに importmap / Turbo / Stimulus / Tailwind を導入してモダンな開発基盤を作りました。後編となる今回は、いよいよ Shlink API と連携して URL 短縮 UI を実装します。ただし普通に「フォーム送信 → 結果ページへ遷移」といった従来型の...
技術

YubiKeyで変わるセキュリティ生活|GitHub署名・SSH・PGP鍵、そしてGoogle・Amazonまで

はじめにパスワードを入力してログインする時代は、もう過去になりつつあります。フィッシングや情報漏洩、リスト攻撃…インターネット生活に潜むリスクはどんどん増えているのに、SMSや認証アプリでは守り切れない。そこで僕が選んだのが YubiKey 5C NFC。USB-CとNFCに対応したハードウェアセキュリティキーです。導入してみると、「差してタッチするだけ」でログインができるシンプルさと安心感に驚き...
スポンサー
タイトルとURLをコピーしました