アプリケーション
223 件の記事
Done Log — 毎日のルーティンタスクを管理するiPhoneアプリの紹介
Flutter と Riverpod で開発した習慣トラッカーアプリ「Done Log」の紹介。柔軟な繰り返しルールエンジン(毎日・N日おき・曜日指定・1回のみ)でルーティンタスクを自動リセットする。
AIを使ったコードリーディングの手順について
AIを活用したコードリーディング手順を解説。README・ドキュメント・コールグラフツール活用による全体像把握、読む順序の手順書作成、チェックリスト・メモ活用で複雑なコード理解を効率化する実践的手法を紹介します。
クリーンコードクックブック ―コードの設計と品質を改善するためのレシピ集
『クリーンコードクックブック ―コードの設計と品質を改善するためのレシピ集』の書評。全単射や偶発的複雑さといった概念を軸に、コードの設計と品質を改善するテクニックをレシピ集の形で学べる一冊。よく知られた法則も網羅的にまとまっており、手元に置いておきたくなる。
初めてのGo言語 第2版 ―他言語プログラマーのためのイディオマティックGo実践ガイド
『初めてのGo言語 第2版』の書評。単なる入門書ではなく、Goの思想やイディオムを数多く紹介し、言語への理解を深められる一冊。他の入門書が拾わない細部にも踏み込んでおり、他言語の経験者がGoらしい書き方(イディオマティックGo)を身につけるのに向いている。
継承より委譲について
継承より委譲が推奨される理由を解説。ダックタイピング・リスコフの置換原則(LSP)・Goのインターフェースを通じて、四角形と正方形の例から設計の落とし穴と委譲の利点を示します。
なぜインターフェースの方が実装より変更頻度が低いのか
『クリーンコードクックブック』を読んで気になった、「インターフェースは実装よりも変更頻度が低い」という主張を言語化した記事です。インターフェース(契約)と実装(手段)の役割の違いに着目し、外部に公開する契約は安定的に保ちつつ実装は自由に変える、という設計原則を解説します。
Singletonパターンはなぜアンチパターンなのか
シングルトンパターンはなぜアンチパターンだと言われるのかについて、具体的なGoのコード例を交えて解説する記事です。最もよく知られ広く使われるパターンの1つでありながら、クリーンコードや保守性の観点で抱える問題点を整理し、依存性の注入といった代替となる設計を紹介します。
TUI開発で役立つターミナル仕様の理解
TUI(Terminal User Interface)アプリケーションを開発する基盤となる、ターミナルの仕様について解説する記事です。既存ライブラリの裏でターミナルがどう動作しているのかに踏み込み、Line Disciplineやtermios、ANSIエスケープシーケンス、Raw Modeの動作原理を、Goでの実装を交えて紹介します。
ストリートコーダー
『ストリートコーダー』の書評。現場(ストリート)で役立つtipsを、ジョークを交えて語る一冊。アルゴリズムやテスト、リファクタリングからセキュリティ、性能最適化まで幅広く扱い、現場で遭遇する課題への向き合い方を具体的に示す。初心者にも経験者にも学びがある。
なっとく!関数型プログラミング
『なっとく!関数型プログラミング』の書評。Scalaを題材に関数型プログラミングを丁寧に解説する良書。途中はScalaの言語仕様に寄る部分もあるが、言語に依存しない関数型のエッセンスを、やさしく学べる一冊。
Goでプロセス・goroutine・メモリを覗いてみた
Goを使って、プロセスのアドレス空間・goroutineの動作・スタックとヒープの挙動を軽く覗いてみた記録です。子プロセスとの仮想アドレス空間の違いやメモリ領域の独立性を、os/execなどを用いた実装例を通して確認します。
Prologへの入門
『Prologへの入門』の書評。論理型・宣言型言語であるPrologの基礎に触れる一冊。Regoを学ぶ背景知識を得る目的で読んでも、深い思想までは追いきれずとも、宣言型プログラミングのエッセンスを汲み取れる。
Rego入門
OPA(Open Policy Agent)のポリシー記述言語であるRegoを、入門から実践までひと通り学べるようにまとめた記事です。Regoとは何かという基礎から、宣言型の基本構文とデータ構造、ルールの種類と書き方、制御構造や組み込み関数、内包表記、テストやデバッグの方法までを網羅的に解説します。
x/termで作るTUIアプリケーション開発
Goのx/termパッケージで、ターミナルの状態管理やANSIエスケープシーケンスを扱い、対話的なTUIアプリケーションを開発する方法を解説します。
Goの並行・並列処理モデル|goroutineスケジューリング
Goの並行処理と並列処理の違いを解説。goroutineのスケジューリング、GOMAXPROCS、GMPモデル、OSスレッドとの関係、プリエンプションの仕組みをシーケンス図つきで紹介します。
OPAにおけるページネーションへの影響と解決策に関する検討
OPA(Open Policy Agent)を使ったアクセス制御において、ページネーションがもたらす影響とその解決策を検討した記事です。Regoで記述したポリシーによる許可・拒否の判定と、オフセットやカーソルによるページネーション、アクセス制御でのフィルタリングをどう両立させるかを整理します。
RubyとRailsのIO・CPU特性について
Ruby・RailsのI/O特性とパフォーマンスチューニングについて整理した記事です。RubyのGVL(Global VM Lock)による制約や、Pumaサーバのスレッド・プロセス設計、見かけのI/O待ちの実態、IO/CPUバウンドの捉え方をふまえ、計測にもとづいた適切な最適化の方針を示します。
資産推移シミュレーターを作った
個人の資産形成を考えるためのツールとして開発した「資産推移シミュレーター」を紹介する記事。積立や運用による資産の推移をシミュレーションできるツールをつくった経緯や、その使い方・考え方を整理する。
Open Policy Agent (OPA)とは?ポリシー・アズ・コードの実践ガイド
Open Policy Agent (OPA) とは何か、ポリシー・アズ・コードの仕組み、インフラの認可ロジックを一元管理する実践的な使い方を解説します。
FuelPHPの2025年2月現在の現況 by 生成AI
2025年2月時点でのFuelPHPの現況を整理した記事です。1.x系のEOLや1.9-devにおけるPHP8対応の状況、開発の停滞やコミュニティの移行動向などを、過去のまとめと比較しながら振り返ります。