This article provides tips and tricks to optimize your development experience for usingGitHub Copilot in Visual Studio Code. Checklist for using Copilot in VS Code Use the following checklist to get the most out of Copilot: Choose the right tool. Use the tool that's optimized for editing, asking questions, or staying in the flow of writing code. Personalize Copilot. Use custom instructions to get
人探し、バスの乗り継ぎ、お買いもの…… 半径3メートルの身近なアルゴリズムはこんなにわかりやすい! さまざまなアルゴリズムの背後で使われる≪木構造≫の解説を増補した第2版! プログラミングにおいてアルゴリズムの知識は欠かせません。しかし、いざアルゴリズムの学習をはじめると、理屈の山と数式の谷間で迷子になることが少なくありません。 そんなときにおすすめなのがこの一冊。本書は、人探しやバスの乗り継ぎなど身近な例を通して、イラストとサンプルプログラムを援用しながらアルゴリズムについて平易に解説してくれます。 読み進めるには、中学レベルの代数の基礎を知っていれば大丈夫。プログラミング言語をどれか1つ知っていれば、さらに理解が深まります。 最後まで読めば、応用範囲の広い重要なアルゴリズムの数々をしっかり理解できます。 [本書は、"Grokking Algorithms, Second Edition
というタイトルで.NETラボで喋ってきました。 スライドはこちら。 登壇のアーカイブはこちら。 30 分程度です。 内容の大筋としては、以下のような感じ。 HttpClient の基礎 HttpClient / HttpMessageInvoker / SocketsHttpHandler のお話 HTTP/2 の stream stream の基礎 stream id が枯渇した場合の C# の HttpClient の挙動 HTTP/2 の Frame Type DATA Frame / HEADERS Frame SETTINGS Frame / PING Frame これらを活用するための C# で気を付けるポイント紹介 Application-Layer Protocol Negotiation の話 h2 (w/ TLS) と h2c (w/o TLS) でどうして port
概要 TaskとWaitEventHandleが混在している場合に、Taskに揃えようとして手軽に「Task.Run()の中でWaitEventHandle.Wait()」という実装にしてしまうと、問題が起きます。ぱっと見ではそんなに問題がありそうなコードには見えないので、意外と引っかかりがちです。 この問題に引っかからずにTaskとWaitEventHandleの混在を解決する方法を紹介します。単に解決方法のコードを貼るだけだと中身が分からなくて不安だと思うので、コードの中身の説明もします。 最初に結論まとめ 次の共通メソッドを作って、これを使ってEventWaitHandleをTaskへ変換すればOKです。 public static Task<bool> WaitHandleAsync(WaitHandle waitHandle, CancellationToken cancelTo
組込みシステムの設計・開発業務に従事する技能・技術者等であって、指導的・中核的な役割を担う者又はその候補者 1.コースの概要及び留意事項 (1)コースの目的 (2)専門的能力の現状確認 (3)安全上の留意事項 2.組込みのためのC言語の知識 (1)C言語プログラムとメモリ配置 (2)C言語とアセンブリ言語の連携 (3)マイコンアーキテクチャを生かしたプログラム 3.プログラム開発技法 (1)プログラム構成とセクション (2)スタートアッププログラムとデバッグ イ.スタックポインタの設定 ロ.BSCの初期化 ハ.セクションの初期化 ニ.Main関数を呼び出すためのデバッグ実習 (3)割込みハンドラの作成方法 イ.例外処理 ロ.割込み(レベル割込み) ハ.ソフトウェア割込みを用いたLED制御プログラミング実習 4.総合実習 (1)I/O制御プログラミング実習 イ.タイマモジュール ロ.タイマ割
AI に自分のスタイルでコードを書かせたい。 自分のコーディングスタイルを端的にまとめると、たぶんこう。 TDD でミニマルにはじめるのが好き でも DDD で段階的にドメインモデリングもしたい 実装は関数型ドメインモデリングに寄せる これをAIに叩き込みたい。資料を読ませてプロンプトを作って、それにそって実装させる。エヴァンスのDDDと軽量DDDの2つでやらせてみる。 コードはここ 自分のコーディングスタイルに合わせたプロンプトを作成する MCPエージェントで検索とURL展開を使える状態で次のように指示をした。(自作ディープサーチみたいなもの) インターネットでDDDについて調べさせる インターネットで関数型ドメインモデリングについて調べさせる インターネットでTDDについて調べさせる プロンプトとして使えるように要点を圧縮しろ 端的に圧縮しろ もっと圧縮しろ で、でてきたのがこれ。こ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに mizchiさんの記事を読んで以下の部分に衝撃を受けた。 ペアプロでいうとClineがドライバーで、ユーザーがナビゲータになる。役割を交代する。 ここ2ヶ月ほどの間自分は生成AIの作ったコードを評価するために 設計,デザインパターン リファクタリング TDD,テストとの向き合い方 を主に学習していたが,これは自分がAIエージェントにサポートを受けることを前提に考えてのことだった。 今後,我々人間がAIのサポートをするような時代がくることを考えると,早いうちにAIエージェントとうまく付き合っていくやり方を考えるのは急務であると思
Cline を使い始めて2ヶ月ぐらい経った。 自分の直感として、Cline は真のイノベーションの入口であり、そして開けてはいけないパンドラの箱でもあったと思う。 ここでいう Cline は Cline型コーディングエージェントであり、広義には Devin / Cursor や Copilot Agent 等を含む話。だが、後述するように Cline でしか見えない世界がある。 その先の未来に、プログラマとしての自分はフルベットする、という話をする。 私たちが知っているプログラミングの終焉 大事なことは次の記事に全部書いてある。まずこれを読んでほしい。 (Google翻訳) Steve Yegge 氏は、置き換えられるのはジュニアおよび中級レベルのプログラマーではなく、新しいプログラミング ツールやパラダイムを受け入れず過去に固執するプログラマーであると指摘しています。 <略> これはプロ
gRPCの概要gRPCはオープンソースのRPCフレームワーク(後述)です。Googleによって開発され、2015年にオープンソースとして公開されました。gRPCは一般的にマイクロサービス間での通信や、モバイルアプリとバックエンドサーバー間の通信で用いられます。 マイクロサービスとは、機能ごとにサービスとして独立させることを指します。マイクロサービスを組み合わせることで、一つの大きなサービスを提供します。マイクロサービスの例としては、決済機能、検索機能などがあります。 (公式サイトより) 図のようにgRPCでは、異なる言語間であっても通信を行うことで、サービス連携を可能とします。例えば、gRPC サーバに実装された関数をクライアント側(図だとRubyやAndroid-Java)で実行するといったことが実現できます。gRPC誕生の背景gRPCはHTTP/2(後述)などの技術の標準化が進ん
はじめに C#の画像処理において、パフォーマンスを追求する際にunsafeコードを使用することは割と一般的ですよね。実際に使われているのをよく目撃します。 今回は、そんなunsafeコードの適切な使用場面と、より安全な代替手段について改めてまとめました。画像処理に限らず、大量のデータ処理や計算集中型の処理にも有用なのでぜひ参考にしてください。 unsafeアプローチについて まずは、unsafeコードについて軽くご紹介します。unsafe(アンセーフ)を日本語にすると「危険」「安全ではない」という意味です・・・ちょっと怖いですよね。 上級言語のC#が低級言語のような直接的なメモリ操作を行えるようになります。メモリを直接操作するため、メモリコピーやポインタ演算が可能となり、高速な処理が期待できるのです。 unsafeコードの特徴
こんにちは、株式会社Berryの浅沼です。 この記事を書いている数週間前くらいから話題のClineを会社で導入し、開発に利用しています。最初はコードの自動生成から試していたのですが、.clinerulesを使ってプロジェクトごとのカスタム設定ができることを知り、どんどん活用の幅を広げていきました。 特に大きかったのが、プロジェクト内のコード構造・コーディングルールの設定に加えて、コミットメッセージやプルリクエストのタイトル・サマリーを生成するルールを追加したことです。これによって、「コードを書く→コミットメッセージを考える→プルリクを書く」という一連の作業がスムーズになり、全体の開発効率が格段に上がりました。 この記事では、実際の.clinerulesの内容も含めて、どのようにルールを作り、育て、活用しているのかを紹介します。特に、コードの自動生成以外の使い方にも触れますので、すでにCli
GitHubは2025年1月15日(米国時間)、レガシーコードを扱うときにAI(人工知能)コーディングアシスタント「GitHub Copilot」がどのように役立つかや、GitHub Copilotを用いてレガシーコードを文書化したり説明したりする方法、これらを実施する際に留意すべきベストプラクティスを公式ブログで解説した。GitHubは、GitHub Copilotが話題に上るときは、新しいコードの作成に焦点が当てられることが多いが、GitHub Copilotは既存のコードを理解するためにも同様に役立つと述べている。GitHub Copilotの自然言語処理機能を利用して、複雑なロジックを文書化したり、分かりにくい関数を説明したり、可読性を高めるための改善点を提案したりできるという。 レガシーコードを扱うときにGitHub Copilotがどう役立つ? 関連記事OpenAIの「o1
やたらawaitしてるコードに出会う 他人が作った業務システムの手直ししているとこんなコードに出会った。 string contents1 = await DoSomething1Async(); string contents2 = await DoSomething2Async(); string contents3 = await DoSomething3Async(); DoSomething*Async()を見るとasync修飾子がついてて、それをawaitで受け止めてる形だ。 なんとなく非同期処理だなぁとは分かるが...恥ずかしながら「重い処理を実行するときにUIスレッドをブロックしないために使うアレね」ぐらいの認識。 これまでは「どうせ読み込み終わるまで次に進めないんだからUIなんてフリーズさせとけ!」の脳筋バカ思考だったので、ちょうどいい機会ということで勉強することに。 と
NuGetにはVisual Studioでパッケージをインストールするときに自動的に実行されるスクリプトの仕組みがあります、それがtools/init.ps1です。 前々からNuGetパッケージインストール時に警告なくスクリプトが実行されて嫌だなぁだと思っていましたが、今回はその理由を考えてみます。 init.ps1とは tools/init.ps1の現状 init.ps1の実行を確認する init.ps1ができること init.ps1の実行を止められるのか init.ps1の懸念 init.ps1を使った攻撃は過去にすでに起こっている init.ps1の代替手段 まとめ init.ps1とは NuGetパッケージにtools/init.ps1というスクリプトを配置することで、パッケージインストール時に任意の処理を実行させることができます。パッケージインストール後の追加処理を自動化する仕組
2024年11月28日紙版発売 2024年11月28日電子版発売 小森裕介 著 B5変形判/528ページ 定価3,960円(本体3,600円+税10%) ISBN 978-4-297-14571-2Amazon楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital PublishingAmazonKindle honto本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 なぜWebシステムをうまく作ることができないのか?――本書は2010年に初版が発行されました。Webに携わるエンジニアだけでなく,Webマーケティング担当者にいたるまでWebの仕組みを根本から理解するための技術書として多くの方々に利用されました。それから10数年の月日が流れ,本書の特徴である技術の根本をていねいに解説するスタイルはそのままにアップデートを図
この記事は C# Advent Calendar 2024 24 日目の記事です。 はじめに ネイティブでの非同期 IO の仕組み I/O Completion Port C# / .NET 上での非同期 IO の仕組み ThreadPoolTypedWorkItemQueue おわりに 非同期・マルチスレッド関連記事 References はじめに C# の async/await の主な用途は主に2つです。 計算待ち 並列/並行問わず非同期に実行される計算待ち IO 待ち 他にもUnity などゲームエンジンやGUI フレームワークでは、フレームの待機なども async/await で表現する事が可能です。 C# の async/await の詳細についてはこちらの記事をご覧ください。 ともあれ async/await を用いた IO についてですが、await で IO を待機し
AI Agent Hackathon withGoogle Cloud🎁 参加者の皆様へ朗報!Google Cloud クーポン 300ドル分をプレゼント! 🖐️ごあいさつZenn は、技術者による技術者のための情報共有コミュニティです。Zenn 上では日々、多くの知識や技術が共有され、活発な交流が生まれています。 そのZenn が、初のオンライン ハッカソンを開催!テーマは「生成AI」です。生成AIは、従来のチャットボットから、より高度な「AI エージェント」へと進化しつつあります。このテクノロジーは、まだ発展途上にあり、大きな可能性を秘めています。GoogleのAI「Gemini」や、Google CloudのAI・コンピューティングプロダクトを活用し、この未開の領域で、あなたのアイデアを形にしてみませんか? ・豪華賞品を用意し、先端ツールをフル活用できるチャンス! ・初心者
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く