プログラミング

Claude Codeで100時間コーディングして分かった、AI開発のポイント

前置き 最近AIに2万円/月の課金をしているやまぐろです。 主に個人開発用にAIを使っており、特にClaude(Claude Code)についてはここ一ヶ月で100hくらいは使い倒しています。たぶん。 実はAIを使った開発でWEBサービスをリリースしたりもしていますが、この話はおいおい。 で、ちょっと触ってみたという人は多くても、自分くらいガッツリAIでシステム開発しリリースまで漕ぎつけた人はそんなにたくさんはいないはず。。 そんな自負もありつつ、今回は「AIで開発してみたいけど、どうすれば効率的に使いこなせるの?」という方に向けて、AIを駆使した開発のコツをまとめました。 ではさっそく! 開発前に準備すること まずは、AIを利用して開発する際に準備しておいたほうがよいことを紹介します! バージョン管理の導入 バージョン管理システムは、ソースコードや設定ファイルなどの変更履歴を管理するためのシステムのことです。複数人開発や長期運用において、変更の追跡・統合・復元が容易になります。 開発者の
4 min ❤️

Angularでリアルタイムバリデーションを実装する

前置き クライアント側での単項目チェックによく使われる「リアルタイムバリデーション」をAngularで実装するためのTIPSです。 実装手順 フォームグループを作る * FormBuilder や FormGroup を使ってコントロールをまとめる form = this.fb.group({ username: ['', []], email: ['', []] }); バリデーションを設定する * 各コントロールに Validators を追加 * 非同期バリデーション(サーバー照会)を使うなら asyncValidators に設定 form = this.fb.group({ username: ['', [Validators.required, Validators.minLength(3)]], email: ['', [Validators.required, Validators.email]] }); HTMLにフォームを描く
2 min ❤️

【PowerShell】テンプレートファイルを、名前リスト分リネームしてコピーする

仕事に使えそうだなあ、というか仕事に使いたいシチュエーションがあるなあと思い、日付が変わってるのにPCに向き合っています。もう今日から仕事だよ! ツールの仕様 * テンプレートファイル をもとに * ファイル名リスト(.txt、改行区切り) に書かれた名前で複製を作成し * 指定した出力フォルダ に一括生成する PowerShell GUI ツール なので、Windows環境であればとりあえず動くはずです。 コード(makefiles.ps1) Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing # -------- 共通ダイアログ関数 -------- function Select-File { param( [string]$Title = "ファイルを選択", [string]$Filter = "すべてのファイル (*.*)|*.*" )
4 min ❤️

簡易的なSEO解析をするツールを作りました

前置き エアコンが壊れたことにより痛風発作を誘発したやまぐろです! まあ足が痛くても座り作業はできるってことで、AIさんと一緒にコーディングしてみました。 そんで完成したのが、URLを指定すると、タイトルやメタ情報、Hタグ、OGPの有無などを静的にチェックできる簡易的なSEOツールです。 こんな感じ↓ SEOスコアチェッカー 作成時にこまったこと ツール自体の使い方はシンプルなので特に説明はしませんが、その代わりにツール作成時に困ったことを上げていこうと思います! 被リンク収集は大手の専売特許 よくあるSEO解析ツールに必ずある被リンク。これを自前でどうにかするのは色々検討した結果無理であると判断しました。 というのも、被リンクってどうやって調べるかって言うと、クローラー(検索エンジンや独自のボット)でWeb全体を巡回してリンクを収集する仕組みなんですよね。なので、やろうと思ったらまずクローラーを作らなければなりません。 技術的にはできそうなんですが、個
3 min ❤️

「営業日カレンダー」を作りました

前回作った稼働時間計算ツールでは、営業日数は計算できるけど、具体的にどの日が休みなのかは分からないようになっていました。なので、営業日に特化したカレンダーを別途用意してしまおうと思い、この土日で完成させました。 https://iris-on-tools.net/business-calendar ツール仕様 シンプルな営業日カレンダーです。また、各祝日にマウスオーバーすると、祝日名が表示されます。月別カレンダーは大き目のビューで選んだ月のカレンダーが表示され、年間カレンダーは3列構成で選んだ年度のカレンダーが表示されます。 作成についてのあれこれ 前回のツール同様、ベースをAIにお願いして細かい部分の修正を自分でやってます。だんだんAIのクセみたいなものが分かってきたのか、前回作った時より開発期間が短くなりました。これは、AIの得意なこと、人間がやったほうが良いこと、みたいなものが何となく分かってきた結果なのかなと思います。あと、AIへの指示だしが上手くなってきているのかも?というのも感じています。 最後
1 min ❤️

客先常駐エンジニア向けに「稼働時間計算ツール」を作りました

自分が客先常駐してるときに、毎月計算してるものをより楽にできるようにツールを作成しました。客先常駐は契約上で稼働時間の縛りがあることが多く(140~180hとか)、それの参考値を出すことができます。 * 今月全部定時上がりすると、どのくらいの稼働? * 有休何日取れる? * どのくらい残業しても大丈夫? などを知りたい時に活用してください。 https://iris-on-tools.net/worktime-tool ツール仕様 稼働時間/日と指定月の営業日数から、総稼働時間/月を計算するツールです。オプションとして営業日数の調整や、残業可能時間の計算も行うことができます。 ポイント 営業日数(基本的には、土日祝日を除く平日)を調べるのって意外と面倒なんだけど、それも自動で算出できるようになっています。また、社休、有休が決まっている場合は、追加の休日を指定することで総稼働を調整でき、逆に休日を営業日扱いにすることもできます。 作成についてのあれこれ 作りかたと
2 min ❤️

【Java】設計書からDTOクラスを生成する【PowerShell】

DTOクラスは基本的にロジックを有さない。なので、実際の開発現場でも「設計書からコードを生成するようにできないか」みたいな話題が良く上がる。 というわけで、ここで仮組みしてることにした。 ざっくり要件 こんな感じでやっていく。 * 設計書に記載されている内容からDTOクラスを生成する * 設計書ファイルの複数入力可能 * Javaファイルの複数出力可能 * setter/getterの出力有無を選べる * 親クラスの指定ができる * importやpackageはEclipseにお願いするので不要 * 設計書のフォーマットがいじられても大丈夫なつくり(努力目標) 入力する設計書ファイルのレイアウト 以下のようなレイアウトにした。DTO設計書ってだいたいこういう感じだよな? また、シート名は「データ項目」固定とした。 シート名が可変になってしまうと、各シートを読み込み→対象のシートであるかどうかを何かしらの色付けして判定、となり面倒じゃね?と思った次第。 実際の
6 min ❤️

WebサイトのUIをコピーしてコード化できるサービス「same.new」がなんかすごい

職業エンジニアなので、Webサイトを作ることはあるし、もちろんその中でUIを作ることもあるんだけど、正直なところあんまり毎回乗り気じゃなかったりする。そう、難しいんだ、クライアント処理は。特にバグ修正が!なるべく担当したくないが、どこ行っても何故か自分がやる事になりがちなので、更に嫌いになってる節が正直ある。 そんな自分のような人の救いになるかも知れないツールを見つけたので、ここで紹介する事にいたす。ちな、自分は縛りによってこの手のツールは使えません。悲C。 same.newってなんぞ? same.newは、既存のウェブサイトのユーザーインターフェース(UI)を複製、コード化できるツールとなっていて、無料で使用可能だ。この時点でなんか凄そうな感じはするよね。 https://same.new できること 任意のウェブサイトのUIを複製 複製したいウェブサイトのURLを入力するだけで、そのサイトのUIをピクセル単位でコピーし、再利用可能なコードにできます。 チャットによる修正指示
3 min ❤️

【SE向け】読みやすく、誤解されない文章を書くためのポイント

設計書における文章の重要性 設計書は、システムの要件定義、機能設計、データベース設計など、開発に必要な情報をまとめたドキュメントです。開発チームだけでなく、顧客や関係部署との情報共有にも利用されるため、その内容が正確かつ分かりやすく記述されていることは非常に重要です。 文章の書き方によって誤解が生まれ、仕様が曖昧になってしまったりしますし、これが原因でシステム障害が発生したりすることもザラにあります。特に要件定義書や基本設計書は顧客との擦り合わせが必要なドキュメントになるため、これらを作成する工程に携わるエンジニアは、ドキュメンテーションのスキルが大きく求められることになるわけです。 はじめに システム開発において、設計書はプログラムの基礎となる重要なドキュメントであり、システムの品質に大きく影響するものです。例えば設計書の記載から仕様を読み取れなければコーディングの遅れが発生しますし、試験シナリオ作成者が設計書を読み違えた結果、誤った試験シナリオが生まれてしまう原因にもなります。 当然、システムエンジニアとして働いている
17 min ❤️

【PowerShell】Excel内の文字列(セル、図形)を置換し、結果をログ出力する

タイトルの通り、業務でExcel内の文字列置換をしたいことがあったので、PowerShellでツールを作ってみました。 この手のツールは探せばいくらでも出てきますが、制限のある環境下においてはファイルのダウンロードができなかったりしますよね。なので、コードで残しておこうと思います。これならダウンロードしなくてもツールが作れるね!やったね! なお、PowerShellはWindowsでしか動かないので、Macユーザの方は利用できません。さーせん。 実現したこと 以下が、今回実現したことになります。 * Excel内のテキスト(セル、図形)の特定の文字列を置換 * 指定したディレクトリ配下を再帰的に処理する * 処理結果をログファイルに出力する これらの動作については、私の環境では軽く確認し正常動作しているのは確認済みです! 実際のコード 拡張子を「.ps1」にしたファイルに以下を書き込めば完成です。 なお、実行は「右クリック→PowerShellで実行」とかでいけます。
2 min ❤️