タグ

programmingに関するwhaleboneのブックマーク (214)

  • AIによる実装の品質が微妙で毎回自分で指摘しまくる必要があったので、確認前に自動で品質を上げさせるようにした - $shibayu36->blog;

    Claude Codeに実装させた後、毎回自分でコードレビューして突っ込みを入れるのが大変だった。そこで、実装後に自動でセルフレビューと修正をする仕組みを作ったので紹介する。 課題: Claude Codeで出力されたコードの品質が自分の基準を満たさない Claude Codeで一気に実装ができるようになった反面、出力されたコードの品質が自分の基準を満たさないことが多かった。そのため、変更のたびに毎回ツッコミを入れていて、かなりの手間がかかっていた。プランモードで事前にちゃんと設計したとしても、コードレベルでは満足いかないことが多かった。 じゃあサブエージェントやCodex CLIで先にレビューして直し切ってもらってから確認すれば良いのでは?と思ってやってみた。しかし、AIのレビュー指摘には的外れなものや過剰なものも混じるため、全部対応させるとかえってコードが散らかってしまうこともあった。

    AIによる実装の品質が微妙で毎回自分で指摘しまくる必要があったので、確認前に自動で品質を上げさせるようにした - $shibayu36->blog;
  • UUIDはなぜ重複しないのか?

    UUIDはなぜ重複しないのか? Webアプリケーションなどのシステム開発では、データに一意の識別子を付与する必要があります。たとえば データベースの主キー は、ジムでいうところの「会員カード番号」。誰かと同じ番号だとパーソナルトレーナーの予約を取り違えるような事故が起きます。 他にも「ロッカーの鍵」「筋トレ記録ノートのページ番号」「プロテインシェイカーの名前シール」など、「絶対にダブってはいけない」ものがあることは、筋肉系エンジニアの皆さんも想像に難くないことでしょう。 そんな時に役立つのが UUID(Universally Unique Identifier)です。これは、ほぼ重複しないIDを生成できる仕組みです。記事ではUUIDの仕組みを解説し、Pythonでの実装を通じて「なぜUUIDはほとんど重複しないのか?」を見ていきます。 UUIDとは? UUIDは、IETF(Interne

    UUIDはなぜ重複しないのか?
  • Claude Code に向いているプログラミング言語

    ターン数とは、1 回のプロンプト実行中に Claude が何回 API ラウンドトリップ(ツール呼び出し → 結果受け取り → 次の応答)を繰り返したかの回数です。 v1(新規作成)の所要時間 v1 では言語間の差が大きく出ています。Python(32.9 秒)と Ruby(33.2 秒)が僅差でトップ、JavaScript(36.0 秒)が続きます。一方、Ruby/Steep は 105.0 秒と Ruby の約 3.2 倍。Lua(96.4 秒)や OCaml(80.9 秒)も遅め。 v1 は空のディレクトリからスタートするので、Cargo.toml や package.json などのプロジェクト設定ファイルを生成するコストが含まれます。Python/Ruby/JavaScript などは minigit ファイル 1 つを生成するだけで済むので、差が大きくなっている可能性があります

    Claude Code に向いているプログラミング言語
  • 人生で一度もプログラムをしたことのない人間が最近はchatGPTを使って小さいプログラムを作っている - orangestar2

    今までの人生でプログラムとかした事なかったんですが、chatGPTが簡単に作ってくれるというので、自分もやってみることにした。とりあえずpythonという言語が一番わかりやすいということなのでそれを使ってみた。 作ったのは、 画像を適当に放り込むと全部順番でpdfにしてくれるのとか(そのサイズ指定もできる!) ファイル名を一括で変換してくれるのとか 日記を書くのに使ってるフォーマットを一瞬で生成してくれるのとか 画像を入れると真ん中から二分割して、新しくナンバリングしてくれるのとか 整ってないタテヨコの画像を整形して同じサイズにしてくれるやつとか 手動でやってやれないことも無いが、その作業がめんどくさいやつをプログラムで自動でできるようにしてくれた。 こういう作業をするためのソフトは、市販していたり配布していたりもするけれども、わざわざそういうのをダウンロード、購入して使うほどでもないし、

    人生で一度もプログラムをしたことのない人間が最近はchatGPTを使って小さいプログラムを作っている - orangestar2
  • プログラミングの知識は「書くため」ではなく「導くため」になった — AIエージェント並列オーケストレーションの先にあったもの

    告知 実際にオーケストレーションする様子をデモしたり、使い方をお話するイベントをすることにしました! オンラインで行いますので是非お越しください! はじめに 以前、AIエージェントが言うことを聞かない問題を解決するために「takt」というマルチエージェントオーケストレーションツールを作った話をしました。 前回の記事では、taktを使い始めてから世界が変わった話をしました。タスクを投げれば、計画、実装、レビュー、修正のサイクルが自動で回る。これまでの大量の粗悪なコードに向き合う必要がない。3つのプロジェクトを並行して進められるようになった。素晴らしい日々です。 ところが、使い込んでいくうちに、新しい不満が生まれてきました。 taktが安定してきた まずは嬉しい話からしましょう。 taktがだいぶ安定してきました。いまのv0.3.2がいい感じです。日々の開発に使い込んでいるうちに、ワークフロー

    プログラミングの知識は「書くため」ではなく「導くため」になった — AIエージェント並列オーケストレーションの先にあったもの
  • AIのやりすぎで頭がおかしくなっている - 運河

    最近AIをやりすぎている。自分でもわかるくらい頭がおかしくなっている。 まともな状態ではないから、来は人に見える場所に文章を書いたりするべきではない。ただ、自分の状態を精神状態を記録するために書いておきたい。 初めに書いておくが、この文章では一切AIを使っていない。というのもAI使うと、さらにおかしくなりそうだからだ。調査にも構成にも使っていない。100%生身、ピュアで粗雑な状態で僕が言葉を選んで書いている。 これまでもテクノロジー全般は好きで、これまでもChatGPTなどを使って仕事の調査をしたり引っ越しをしたり英語学習に活用したりしてきた。今年のAIは、昨年までとは一味違う人間の気を狂わせる何かがあると感じている。 仕事でのソフトウェア開発の話を最初にする。多少技術的になってしまうけど、これが入り口で僕はおかしくなったし、最も急激に変化している部分なので話さないといけない。 AIコー

    AIのやりすぎで頭がおかしくなっている - 運河
  • なぜ、AIで生産性があがっていると錯覚してしまうのか

    1983年生まれ。筑波大学大学院を卒業後、2008年に新卒第1期として株式会社ミクシィに入社。アーキテクトとして、技術戦略から組織構築などに携わる。同社メディア開発部長、開発部部長、サービス部長執行役員を務めた後、2015年退社。現在は、株式会社レクターを創業し、技術と経営をつなぐ技術組織のアドバイザリーとして、多数の会社の経営支援を行っている。一般社団法人日CTO協会理事、朝日新聞社社外CTO。

    なぜ、AIで生産性があがっていると錯覚してしまうのか
  • 動的型付け - Wikipedia

    動的型付け(どうてきかたづけ、英: Dynamic typing)とは、値やオブジェクトの型安全性を、実行時に検証するというコンピュータプログラミングの型システムの方法である。型の検査は実行時のプロセス上で行われて、ランタイムシステムの実行時型情報(RTTI)が照会されるなどして解析される。 動的な型チェックは、代入、束縛、関数適用、ダウンキャスト、ディスパッチ、バインディングといった所で行われる。なお、コンパイル時やインタプリタ開始時の最適化によってすでに型安全性が保証されている所は省略される。動的型付けの言語では、引数や返り値や変数宣言への型注釈が省略されやすくなる。 対義語は静的型付けであり、こちらでは値やオブジェクトの型安全性をコンパイル時に検証する。型の検査はソースコードの解析によって行われる。 動的型付けのルーツはLISPにさかのぼる。LISPは、同時期のFORTRANやCOB

  • よわよわエンジニアがTAPL(型システム入門)を読んだら

    こんにちは,sititou70です.私は社会人2年目のよわよわWebフロントエンドエンジニアであり,「数学」とか「証明」とは無縁の人生を送っています. そんな私ですが,がんばって型システム入門(通称:TAPL)というを読み終えました.全32章,503ページ,牛乳パック1分の重さがあり, 自立します. 自立するは大抵やばいです. TAPLの序文を見ると,想定読者は プログラミング言語と型理論を専門とする大学院生および研究者 プログラミング言語の鍵となる概念に触れたい,計算機科学の全分野の大学院生および習熟度の高い学部生1 となっています.記事では 「そんなを,学生や専門家でない人間(私)が読んだらどうなるのか」 について書きます.専門的な用語は避けますので,TAPLの雰囲気だけでも感じ取ってもらえたら嬉しいです. どうなったのか 宇宙語が読めるようになった 「型安全」を説明できるよ

    よわよわエンジニアがTAPL(型システム入門)を読んだら
  • カリー=ハワード同型対応 - Wikipedia

    関数型プログラムとして書かれた証明:自然数の加法に関する交換律のCoqによる証明。 カリー=ハワード同型対応(カリー=ハワードどうけいたいおう、英語: Curry–Howard correspondence)とは、プログラミング言語理論と証明論において、計算機プログラムと証明との間の直接的な対応関係のことである。「プログラム=証明」(proofs-as-programs)・「型=命題」(formulae-as-types)などとしても知られる。これはアメリカ数学者ハスケル・カリーと論理学者ウィリアム・アルヴィン・ハワード(英語版)により最初に発見された形式論理の体系とある種の計算の体系との構文論的なアナロジーを一般化した概念である。通常はこの論理と計算の関連性はカリーとハワードに帰属される。しかしながら、このアイデアはブラウワー、ハイティング、コルモゴロフらが定式化した直観主義論理の操作

    カリー=ハワード同型対応 - Wikipedia
  • AIエージェント時代、正直しんどい話

    AIエージェント時代、正直しんどい話 2025年12月31日 年末やし、今年AIと格闘してきた感想を正直に書いておこうと思う。 今日、Qiitaで「Agent OS」っていうClaude Codeの拡張ツールの記事を読んだ。仕様駆動開発をAIエージェントで回せますよ、サブエージェントに仕事振れますよ、みたいな話。 一見ええやんって思うやん? でもな、冷静に考えたら、束になってかかってくるAIエージェント全員と対話せなあかんってことやねん。 人間の組織ってよくできてる 普通の会社やったら、部長は課長と話すだけでええねん。課長は部下の面倒見てくれる。リーダーがメンバー管理してくれる。 信頼があるから「任せる」ができる。見なくてええ範囲が生まれる。 でもAIエージェントは違う。 backend-specialistの成果物チェックして、test-engineerの成果物チェックして、fronte

    AIエージェント時代、正直しんどい話
  • RAGの精度が73%から100%に向上した話 ─ チャンキング戦略の比較検証

    はじめに RAG(Retrieval-Augmented Generation)システムを構築していると、「なぜか精度が上がらない」という壁にぶつかることがあります。 記事では、社内規程文書を対象としたRAGシステムで、回答精度を73.3%から100%に改善した過程を紹介します。検証した複数のチャンキング戦略の中で、意外にも最もシンプルな解決策が最も効果的だったという結果になりました。 また、「Re-rankingを導入すれば精度が上がる」と思っていたのですが、逆に精度が下がるという予想外の結果も得られました。その理由についても考察します。 プロジェクト構成 技術スタック レイヤー 技術

    RAGの精度が73%から100%に向上した話 ─ チャンキング戦略の比較検証
  • 状態、結合、複雑性、コード量の順に最適化する - valid,invalid

    There’s No Such Thing as Clean CodeのHacker Newsコメント経由でコードやシステム設計・最適化についての良いコメントを見つけた。どうやらHacker Newsで何度も引用されているらしいが日語で言及された記事が見つからなかったので取り上げてみる。 コメントは2016年のSandi MetzのThe Wrong Abstractionに関するもので、発言者のcurun1rいわく「私は設計の優先順位をこの順序で学習することで、優れた開発者になれた」。*1 4つの基準と優先順位のガイドライン 状態 > 結合 > 複雑性 > コード量 私は状態 (state)、結合 (coupling)、複雑性 (complexity)、コード量 (code) の順に削減することでコードを最適化する。 コードがよりステートレスになるなら、結合を増やすこともいとわない 結

    状態、結合、複雑性、コード量の順に最適化する - valid,invalid
  • もうこれ以下は無理というぐらい最低限なバージョン管理

    いいからgit使え もうファイル名に日付とか「最終」とか付けるな.文字しか書いてないWordファイルとかExcel方眼紙とかはこの際目をつぶる.それはもう仕方ない.だがファイル名によるバージョン管理だけは駄目だ. まずGitHubにアカウントを作れ.そんな名前も知らない会社のウェブサービスは使いたくないだって?お前Word使ってるだろ. それからSourceTreeをインストールしろ.そんな名前も知らない(略)お前Trello使ってるだろ.使ってない?今すぐ使え. よし,準備は出来たな. 新しい仕事を始める時,まず何をする?そう,空のフォルダを作るよな.ちょっと待った.今後は手元のコンピュータ上に空のフォルダを作るんじゃなくて,GitHubに作るんだ.GitHubに作るフォルダはリポジトリと言うぞ.リポジトリはただのフォルダじゃなくて,ファイルの履歴を管理できるんだ.うっかり全世界公開して

    もうこれ以下は無理というぐらい最低限なバージョン管理
  • Home | nand2tetris

    This website contains all the lectures, project materials and tools necessary for building a general-purpose computer system and a modern software hierarchy from the ground up. The materials are aimed at students, instructors, and self-learners. Everything is free and open-source, as long as you operate in a non-profit setting. Here is a recent CACM article about the course: text / video. The mate

  • Gemini 3 による知性の新時代

    Google and Alphabet CEO スンダー ピチャイからのメッセージ約 2 年前、これまで会社として取り組んできた中で最も科学的であり、プロダクトの一つである Gemini 時代が始まりました。それ以来、皆さんにこれほどご活用いただいていることに、喜びを感じています。AI による概要の月間利用者は現在、 20 億人に達し、Gemini アプリの月間ユーザー数は 6 億 5,000 万人を超え、Google Cloud のお客様の 70 %以上が GoogleAI を活用しています。また、1,300 万人の開発者が Google の生成モデルを基盤に開発を進めています。これらは私たちが目の当たりにしているインパクトのほんの一端に過ぎません。 最先端のインフラから世界トップクラスの研究、モデル、ツール、そして世界中の何十億もの人々に届く製品に至るまで、AI イノベーションに

    Gemini 3 による知性の新時代
  • 仕様駆動開発の理想と現実、そして向き合い方

    AIコーディングにおいて「Vibe Coding」から脱却し、確実な成果を出すための「Spec-Driven Development (SDD / 仕様駆動開発)」について、その理想的なフローと現場で直面する現実(Specの巨大化、検証の難しさ)を紹介。 OSSの仕様駆動開発ツール「cc-sdd」…

    仕様駆動開発の理想と現実、そして向き合い方
  • 乱雑なコードの整理から学ぶ設計の初歩

    JJUG CCC 2025 Fall 発表資料 1. 良い設計とはなにか 2. 設計スキルを身に付けるコツ 3. 乱雑なコードを整理する実践技法 - 小さな設計改善 - 大きな設計改善 - 戦略的な設計改善

    乱雑なコードの整理から学ぶ設計の初歩
  • Spec-Driven Development: The Waterfall Strikes Back

    Spec-Driven Development (SDD) revives the old idea of heavy documentation before coding — an echo of the Waterfall era. While it promises structure for AI-driven programming, it risks burying agility under layers of Markdown. This post explores why a more iterative, natural-language approach may better fit modern development. The Rise of Specification Coding assistants are intimidating: instead of

  • MCP サーバーの基礎から実践レベルの知識まで

    この発表では MCP サーバーの基礎的な知識から入り、ハンズオン形式で実施に MCP サーバーを自分の手で構築する体験を通じて理解を深めていきます。後半パートでは実際に番レベルで MCP サーバーを開発した経験を元に、実践的な知識や失敗談などを共有します。

    MCP サーバーの基礎から実践レベルの知識まで