タグ

developmentとProgrammingに関するch1248のブックマーク (101)

  • AI エージェント実践ガイドブック

    アイスランドアイルランドアセンション島アゼルバイジャンアフガニスタンアメリカ合衆国アラブ首長国連邦アルジェリアアルゼンチンアルバアルバニアアルメニアアンギラアンゴラアンティグア・バーブーダアンドライエメンイギリスイスラエルイタリアイラクインドインドネシアウォリス・フツナウガンダウクライナウズベキスタンウルグアイエクアドルエジプトエストニアエスワティニエチオピアエリトリアエルサルバドルオマーンオランダオーストラリアオーストリアカザフスタンカタールカナダカメルーンカンボジアカーボベルデガイアナガボンガンビアガーナキプロスキュラソーキリバスキルギスギニアギニアビサウギリシャクウェートクック諸島クリスマス島クロアチアグアテマラグアドループグアムグリーンランドグレナダケイマン諸島ケニアココス(キーリング)諸島コスタリカコモロコロンビアコンゴ共和国(ブラザビル)コンゴ民主共和国(キンシャサ)コートジボ

    AI エージェント実践ガイドブック
  • 同じ5行のコードが全く違って見える12の瞬間、なぜ私たちは学ぶのか?

    最近、ふとした気づきがありました。 それは、「同じものを見ていても、過去と現在の自分では見えている世界がまったく違っている」ということです。 みなさんには、このコードからどんな世界が見えますか? async function getUserName(userId) { const response = await fetch(`https://api.example.com/users/${userId}`); const user = await response.json(); return user.name; } はじめに こんにちは、株式会社ココナラ在籍のKです。 記事では、冒頭の5行のコードを通して、私たちが学ぶ理由について考えてみたいと思います。 TL;DR 同じコードを見ても、人によって見えるものが違っている 学習を重ねることで、それまで見えなかった世界が見えてくる 学習

    同じ5行のコードが全く違って見える12の瞬間、なぜ私たちは学ぶのか?
  • Windows標準だけでGUIを作成 ― PowerShell+.NET Framework

    はじめに Windows環境では、Visual Studioなど特別な開発環境を用意しなくても、標準搭載されている PowerShell 5.x と .NET Framework 4.x を使って簡単にGUIアプリケーションを作ることができる。 例えば、業務ツールにちょっとした入力フォームやボタンを追加したい場合、PowerShellでWinFormsやWPFを利用すれば数行のコードで実現可能。 さらに、同梱されている csc.exe(C#コンパイラ) を使えば、C#のコードを書く必要はあるが EXE化 することも可能。 記事では、 PowerShell + WinForms PowerShell + WPF C#をcsc.exeでコンパイル(WinForms版) C#をPowerShellでインプロセス実行(Add-Type) の順で、「Windows標準だけ」で完結するGUI作成方法

    Windows標準だけでGUIを作成 ― PowerShell+.NET Framework
    ch1248
    ch1248 2025/08/19
    なるほど、標準環境だけでGUI作れるんだな。PowerShellは.bat内で実行できたり、diskpartの一部実行できたりと黒魔術感が前より増してる。
  • 生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025

    登壇資料 HackFes.2025 | 日ハッカー協会 https://hackfes2025.hacker.or.jp/

    生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
    ch1248
    ch1248 2025/08/14
    収束……というよりは現状まとめで、よくまとまってる。
  • Kiroとコンテキストエンジニアリングの時流

    Kiro(kiro.dev)は、AWSが開発したIDE型のコーディングエージェントです。CursorやWindsurfのようなVS Codeフォークエディタに分類されます。現在はパブリックプレビュー中で、サインアップするとKiroでClaude Sonnet 3.7 とClaude 4 Sonnetを利用できます。 KiroThe AI IDE for prototype to productionKiroKiroの特徴は、スペック駆動開発、エージェントフック、ステアリングファイルといった独自の機能を通じて、ソフトウェア開発のライフサイクル全体を支援します。それぞれ見ていきましょう。 スペック (Specs)駆動開発Kiroの中核をなすのが「スペック=仕様書」機能です。これは、ユーザーが入力した大まかな指示(例:「ユーザー認証機能を追加して」)をもとに、AIが「要件定義」「設計」「タスクリ

    Kiroとコンテキストエンジニアリングの時流
    ch1248
    ch1248 2025/07/20
    非常に面白い。「スペック駆動開発」か。
  • 速習 Claude Code

    講習会用にまとめたもの。可能なら公式ドキュメントを参照するのを推奨するが、この資料ではサッと使いはじめるために要点を絞って解説する。 claude-code は claude-code 自身で開発されており、恐ろしい速度で更新されてる点に注意。この資料は一瞬で古くなる。 アカウントの契約等は省略 インストールと実行

    速習 Claude Code
  • Gemini CLI の簡単チュートリアル

    この記事はほぼすべて Gemini CLI に書いてみてもらいました。ただし、ファクトチェック&手修正済みです。もし間違えていたらこっそり教えてください。さいごにとおまけは人力です。 Gemini CLI チュートリアル tl;dr コマンドラインで対話的に使えるオープンソースのAIエージェント。 npx https://github.com/google-gemini/gemini-cli ですぐに利用開始。 @ でローカルファイルやディレクトリをAIのコンテキストに追加。 ! でシェルコマンドを直接実行、シェルモードへの切り替えも可能。 GEMINI.md ファイルでプロジェクト毎のカスタム指示をAIに記憶させる。 Google検索との連携、安全なサンドボックスでの実行、ツールの自作など高い拡張性。 1. はじめに Gemini CLI へようこそ! このドキュメントは、Google

    Gemini CLI の簡単チュートリアル
  • ティム・オライリー曰く、ソフトウェア開発者がAIに職を奪われることはない

    ティム・オライリーといえば、世界中のプログラマに信奉されているオライリー・メディアの創業者で、「Web 2.0」という言葉を広めたことでも知られる人物だ。 そのオライリー氏は、今年2月に、プログラミングが完全に新しい時代に入りつつあることを書いていた。同社のRadar Blogというページで読める「The End of Programming as We Know It」(私たちが知っているプログラミングの終焉)である。 オライリーの「Coding with AI: The End of Software Development as We Know It」の記事。映画『マトリックス』的ビジュアルもマッチしている。 5月8日には、同社のAI Codeconカンファレンスが、そのまま「Coding with AI: The End of Software Development as We

    ティム・オライリー曰く、ソフトウェア開発者がAIに職を奪われることはない
    ch1248
    ch1248 2025/06/08
    良いエントリだった
  • コーディングエージェントの現状の整理とエンジニアの仕事の変化について

    AI によるコーディングの支援はコード補完型からチャット型、そして自律型へと進化しています。この記事では現時点で主流となっているコーディングエージェントの種類とその特徴を整理したうえで、エンジニア仕事の変化について考察します。 コーディングの仕事における AI 技術の関わりといえば、GitHub Copilot を代表するエディタ補完型が主たるものとして認識されてきました。補完型の AI はユーザーが途中まで書いたコードを補完する形で提案を行うことから、ペアプログラムの相方のような存在として捉えられていました。例えば function add と書き始めると、AI は (a: number, b: number): number { return a + b; } といった形で関数の定義を提案します。ユーザーは Tab キーを押すことで提案を受け入れたり、提案が気に入らなければそのままコ

    コーディングエージェントの現状の整理とエンジニアの仕事の変化について
  • TS特化Clineプログラミング

    Previous slideNext slideToggle fullscreenOpen presenter view TS特化Clineプログラミング mizchi / tskaigi 2025 mizchi: パフォーマンスチューニングの傭兵 一ヶ月で御社のプロダクトをコスパよく高速化します フロントエンド視点のE2Eチューニング(Lighthouse) CI/CD 高速化 (Linux, GitHub Actions) New プロンプトエンジニアリングでワークフロー自動化 主な環境 VSCode + RooCode (ほぼ常に Orchestrator モード) Claude 3.7 + Gemini 2.5 (約2~3万円/月) TypeScript / Node / Deno / Cloudflare あらすじ 2014: なぜ仮想DOMという概念が俺達の魂を震えさせるのか

  • コードの寿命・データの寿命・互換性の寿命

    これを記事にしている 2025 年 5 月の二年ほど前 (2023-06-02) に、縁あって明治大学 情報科学科での特別講義 [1] を担当させてもらいました。 身内の評判は悪くなかったのでスライドは公開していたんですが、単に Google Slides を公開状態にしただけだったんですね。 [2] これではあとから参照・引用するのも難しく、ちょっともったいないかと思ったので、いまさらながら記事の形でまとめなおしておくことにしました。 一年も経てば情報が古くなってしまうコの業界です。賞味期限切れの話もあると思いますが、話のネタにでもしてもらえれば幸いです。 講義の対象と目的 この講義、目的は2つあって、まず「最新の情報科学トピックに触れる」こと。 それから、就職活動が始まる3年生がメインの対象者なので、 今後のキャリアプランとか人生指針に関するいろいろな視点を持ってもらうことです。 この

    コードの寿命・データの寿命・互換性の寿命
    ch1248
    ch1248 2025/05/23
    すごく良い教材だ。
  • バイブスでコーディングする難しさ - ABAの日誌

    Vibe Codingとは、AIに身を委ねて、バイブス、感覚でコーディングする手法のことだ。LLMの生成するコードを無条件に信じ、その積み重ねでソフトウェアを作る。理想的には、「こんなものを、いい感じで」とAIに頼むだけでコードができあがる、夢のノーコード開発環境のことを指すのだろう。 現実としては、そんな簡単にはいかない。AIは私たちの心を読む超能力者ではない。「いい感じ」と言っただけではAIはただ適当に振る舞う。まず実現したいことの明確なビジョンと、それを支えるしっかりした設計が必要になる。それをAIが理解できる言葉で、適切にタスク分解して伝えなければならない。今のところ、ただ要望を並べただけでまともなコードができあがることはまれだ。 Thoughtworksが行った実験が、この現実をよく示している。彼らは「システム更新プランナー」というアプリケーションをAIに作らせる実験を、3つのア

    バイブスでコーディングする難しさ - ABAの日誌
    ch1248
    ch1248 2025/05/06
    「正しい業務委託の扱い」みたくなってきた
  • 「クラス設計の鉄則」執筆ノート - ソフトウェア設計を考える

    『Software Design 5月号』の第2特集「クラス設計の鉄則」を寄稿しました。 gihyo.jp 第2特集の概要と、今回はとりあげなかった、SOLIDGoFデザインパターン、凝集度と結合度について、私がどう捉えているかを説明します。 概要 第2特集のクラス設計の鉄則は3章で構成されています。概要は次の通りです。 第1章:クラス設計再入門 モジュール性・関心の分離・依存関係を意識する 第2章:迷わないクラス設計の指針 アプリケーション開発の実践例から考える現代的な設計方針 第3章:設計の落とし穴対策 コードから問題を検知する着眼点と改善方法 第1章:クラス設計再入門 この章は、クラス設計の基礎として、ソフトウェア設計の三つの視点を紹介しています。 ソフトウェアシステム構築の基課題として「複雑さ」と「変更容易性」に焦点を合わせ、二つの課題に取り組むための考え方として、「モジュール

    「クラス設計の鉄則」執筆ノート - ソフトウェア設計を考える
    ch1248
    ch1248 2025/04/23
    SOLID原則とGoFがこのように言われる日が来て、若干の感銘がある。買ってみるか。
  • 最近1行もコードを書いていない

    最近のAIの進化は目覚ましく、コーディングにおいても、もはや人間が一切を関知せず"ノリ"で全てを完成させるvibe codingなる概念まで登場しました。 しかし、現実の業務にこれを適用すると、まあ、上手くいきません。 1ファイルで完結するようなスクリプトであれば上手くいきます。驚くほど上手くいってびっくりします。テトリスを書いて、と指示したらテトリスは完成するでしょう。 しかし現実のコーディングは素朴なテトリスを実装するほど単純ではありません。 LLMの限界 ここで一つの問いを考えます。 「入社初日の知識豊富なエンジニア」と「ここ数ヶ月の間、機能Aの開発に携わっている普通のエンジニア」、どちらが5分で機能Aの開発を進められるか? おそらく、答えは後者になると思います。 これがまさにAIによるコーディングに起こっていることで、 どれだけLLMの性能が向上したところで、実装に関する知識(コン

    最近1行もコードを書いていない
  • MCPサーバをつくって学ぶ | ダーシノ(@bc_rikko)

    MCPサーバをつくって学ぶ 最近、AIアシスタントの文脈で「MCP」や「MCPサーバー」という用語を聞くようになった。 MCP(Model Cotext Protocol)とは? Model Context Protocolとは、AIとアプリケーションとの間で情報を効率的にやり取りするためのプロトコル。 簡単に説明すると、AIが自分の作ったアプリケーションを操作できるように、データを提供したり、機能を公開したりして、扱いやすくするための方法を定義したもの(プロトコル)。 MCPを使うことで、AIがアプリケーションのコンテキストを理解できるようになる。 たとえば、いままで手動でデータを貼り付けたり、プロンプトを書いてコンテキストを補っていたりしたものが、AIが直接アプリケーションから取得できるようになる。 MCPサーバー 主に3つの機能を提供する。 Resources … クライアントが読み

    MCPサーバをつくって学ぶ | ダーシノ(@bc_rikko)
  • Reactチームが見てる世界、Reactユーザーが見てる世界

    Reactはシンプルなサイトから複雑なアプリケーションまで、非常に幅広く採用されている人気のフレームワークです。OSS化から10年以上の歴史がありながら、昨今もReact Server Componentsなど革新的なアイディアを我々に提案し続けています。 一方で、React Server Componentsへの批判的意見やBoomer Fetching問題などを見ていると、Reactチームと一部Reactユーザーの間には意見の相違が見て取れます。この意見の相違はそれぞれが置かれた状況の違いから生じるもの、つまり「見てる世界が違う」ことに起因してると筆者は感じています。 稿では「Reactチームの見てる世界」を歴史的経緯を踏まえながら考察し、Reactの根にある思想やコンセプトに対する読者の理解を深めることを目指します。 要約 ReactはMetaの大規模開発を支えるべく開発され、シ

    Reactチームが見てる世界、Reactユーザーが見てる世界
    ch1248
    ch1248 2025/02/15
    面白いな
  • 良いコードレビューとは

    コードレビューする時、自分がどんなことに気を付けているか (当は気をつけたいか)みたいなポイントをまとめてみた。 コードレビューの目的 プロダクトの品質を担保するため 人は基的にミスをするもの 1人で考えたものより、2人、3人集まって考えたものの方が良いことが多い 知識をチーム内でシェアするため チームでコードに関する知識を常に共有し続けることで、「この機能はAさんしか知らない」といった属人化問題を防ぐ Aさんが有休取った時に限って障害が起きたりするんですよね。分かります 他の人が書いたコードを読み、さらに分からないことは質問できる、素晴らしい学びの場だと捉える 責任をチーム内でシェアするため 何か問題が起きた時に関連するコードを書いた人間だけが責められるようなことは決してあってはならない レビュー時 (又はそのコードがデプロイされるまで)に問題に気づけなかったチーム全体の責任なので、

    良いコードレビューとは
    ch1248
    ch1248 2024/12/10
  • 脳に収まるコードの書き方 - hitode909の日記

    アーキテクチャを理解可能にするために、同時に見るべき関心事は最大7個にしよう、という話がよかった。 よくわからない難しいコンポーネントの話をしてると、「これってこういうこと?」「それは〇〇という概念があって…」というのが延々と続いて、話が全然進まない、ということがある。 そういうときは、抽象を見つけるのに失敗していて、フラットに様々な概念を並べてしまっている、と言える。 適切に意味をまとめていって、中心概念と、それの付随する概念が最大6個となるように、六角形の花、ヘックスフラワーにプロットしよう、というアイデア。で、そのフラワーの1セルを拡大すると、さらに、中心概念と付随する概念6個、というかたちで、入れ子にしていく。 ソフトウェアの分割統治っていうと新しい話ではないけど、フラットな20個の概念に分割されても、覚えてられない。 このでは人間が一度に覚えていられるマジカルナンバーを参照して

    脳に収まるコードの書き方 - hitode909の日記
    ch1248
    ch1248 2024/12/01
    ヘックスフラワー、良さそうな概念だ
  • 📗 なぜ依存を注入するのか DIの原理・原則とパターンを読んだ感想 | Happy developing

    なぜ依存を注入するのか DIの原理・原則とパターン 著者: Steven van Deursen, Mark Seemann 訳者: 須田智之 表紙には.NETやC#の文字はないのですが、前の版は"Dependency Injection in .NET"で.NETを前提したのようでした。 ただ、はじめにで 書では、.NETとC#を用いて、依存注入に関する用語や指針を包括的に紹介し、描写しているのですが、書の価値が.NETの外の世界にも届くことを望んでいます。 とありました。 RustのDIでなにか活かせる教えを期待して、読んでみました。 第1部 依存注入 (Dependency Injection: DI) の役割第1章 依存注入 (Dependency Injection: DI) の基: 依存注入とは何なのか? なぜ使うのか? どのように使うのか?まず、保守容易性(maint

    📗 なぜ依存を注入するのか DIの原理・原則とパターンを読んだ感想 | Happy developing
  • データベース中心の設計になってしまう問題と闘う - laiso

    『手を動かしてわかるクリーンアーキテクチャ 』の第二章の冒頭に登場する話題に共感したので紹介。 従来の多層アーキテクチャでは、データベースを中心にアプリケーションの 開発が行なわれます。この場合、Web 層はドメイン層に依存し、ドメイン層は 永続化層、つまり、データベースに依存することになります。そうなると、す べてのものは永続化層上に構築されることになり、その結果、いくつかの要因 が絡まり合って、問題が起きやすくなります。 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 20p 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 作者:Tom Hombergs,須田 智之インプレスAmazon 著者によれば、機能開発をデータベース中心に設計すると、ドメイン層と永続化層の密結合が

    データベース中心の設計になってしまう問題と闘う - laiso
    ch1248
    ch1248 2024/08/11
    2回実装、なるほど。書籍の方に興味が出た。