2024-11-01 Developer Productivity室のWeekly News
2024-11-01 Developer Productivity室のWeekly News
この記事ではDeveloper Productiity室内で直近1週間で注目したソフトウェアエンジニアリング、DevOps、開発生産性などに関連する記事を紹介します!
今週のトピック
サイバーエージェントのDeveloper Productivity室(DP室)は、開発生産性向上のための取り組みを行う横断的なチームです。DevOpsの最前線で、データドリブンな開発や開発者体験の向上に注力し、特にSIG-Build、SIG-Experiment、SIG-Enablingの3つのチームが連携しています。GitHubでは、Pythonが最も使われるプログラミング言語に昇格し、AIの影響を強く受けています。また、GitHub Copilotの機能強化により、エンジニアはより便利な開発環境を享受しています。さらに、AIと生成されるプロジェクトの急増が見られ、開発のトレンドが変化しています。
記事詳細
GitHub Copilotにモデルの選択を導入
GitHubは、開発者が自由に選択できるマルチモデル機能をCopilotに導入し、AnthropicのClaude 3.5 Sonnet、GoogleのGemini 1.5 Pro、OpenAIのo1-previewおよびo1-miniの利用を可能にしたことを発表しました。これにより、開発者は自身のニーズに最も適した言語モデルを選ぶことができます。
新しいモデルの導入により、Copilotはさまざまなプログラミングタスクをより良くサポートできるようになります。具体的には、以下の機能が期待されています:
- Claude 3.5 Sonnet:ソフトウェア開発ライフサイクル全体にわたって高いコーディング能力を発揮します。
- Gemini 1.5 Pro:二百万トークンのコンテキストウィンドウを持ち、マルチモーダルでの処理が可能です。
- o1シリーズ:高い推論能力を備え、コードの制約やエッジケースを深く理解し、高品質な結果を提供します。
また、GitHubは新しいAIツール「GitHub Spark」も発表し、自然言語でアプリケーションを構築できる機能を提供します。これにより、多様なニーズに応えるツールが揃い、開発者は自分に合った環境で作業できるようになります。
2024年版 State of DevOps Reportの内容まとめ
2024年版のState of DevOps Reportが発表され、AIの採用とPlatform Engineeringが特に注目されています。これまでのリポートからのトレンドを引き継ぎながら、エンジニアリング効率や生産性向上に向けた新たな知見が提供されています。
まず、AIの導入が進んでおり、調査参加者の81%が自社の優先事項がAIの統合にシフトしていると回答しました。また、75%がAIによる生産性向上を報告しており、特にコードの記述や情報の要約で効果が見受けられます。しかし、AI生成コードへの信頼感には課題があるようで、多くの回答者がその品質に対して懐疑的です。
一方、Platform Engineeringにおいては、開発者の自立性を高める「ゴールデンパス」が構築されています。しかし同時に、変更の安定性やスループットの低下など、導入に際してのデメリットも見られます。このように、AIやPlatform Engineeringを導入する際は、利点とリスクをしっかりと認識し、戦略的に進めることが重要です。
GitHubデータソースでGrafanaを活用しよう
GitHubデータソースプラグインは、GitHubを使ったプロジェクトやチームの活動を視覚化し、洞察を提供します。2020年に導入され、現在では多くのユーザーによって利用されています。この記事では、プラグインの機能や更新情報、導入方法について詳しく解説します。
このプラグインは、GitHub APIを活用してデータを収集し、Grafanaのダッシュボード上で表示します。これにより、以下のような情報を効果的に視覚化できます:
- コミットの数
- 報告された問題
- プルリクエストの状況
- リリース情報
また、変数やマクロを用いたインタラクティブなダッシュボードの構築が可能で、注釈機能を使えばグラフにイベントを重ね表示できます。
さらに、最近のアップデートではGitHub Appを使用した認証が追加され、セキュリティが強化されました。詳細なセットアップガイドや実際のダッシュボード例が提供されており、使い方を学ぶのも簡単です。GitHubデータソースプラグインを活用して、より効率的なプロジェクト管理を実現しましょう!
GitHubで最も使われている言語、PythonがJavaScriptを抜いて1位に
2024年のGitHubの年次レポート「Octoverse 2024」によると、PythonがJavaScriptを抜いて最も使われているプログラミング言語となりました。この変化は生成AI関連プロジェクトの急増によるもので、2024年には7万件以上の新プロジェクトが立ち上がりました。
2024年のGitHub上のプロジェクト総数は前年から25%増加し、5億1800万に達しました。また、コントリビューションの総数は52億に上ります。この勢いにより、米国の開発者数は2028年にインドに抜かれることが予測されています。
急成長している生成AI関連プロジェクトの中では「AUTOMATIC1111/stable-diffusion-webui」、「Significant-Gravitas/AutoGPT」、「ollama/ollama」が上位を占めています。これらの動向は、今後のプログラミング言語の使用状況にも影響を与えるでしょう。
GitHub CopilotをXcodeで使う
GitHub Universe 2024において、GitHub CopilotのXcode向け機能拡張が公開されました。これにより、SwiftやObjective-Cなどのプログラミング言語を使う際に、Xcode内で直接Copilotが利用できるようになりました。これで、他のエディタを使わずにXcodeだけで開発が可能になります。
GitHub Copilot コードレビューが公開プレビュー開始!
GitHub Copilot コードレビューが本日から一般公開されています。この新機能では、AIによる迅速なフィードバックを受けながら、開発者はプルリクエストのレビューを待っている間もコードの改善を進めることができます。Copilotは、プルリクエストの「レビュアー」メニューから追加でき、コードの特定の行にコメントを付けるなどのサポートをします。
この機能はCopilot Individual、Business、Enterpriseのユーザーが利用できるもので、管理者はリポジトリルールを使って自動レビューを設定することも可能です。さらに、Visual Studio Codeでもコードをプッシュする前にCopilotのレビューを受けることができます。
- 主な機能
- AIによるコードのリアルタイムレビュー
- 一クリック修正の提案
- Copilot Workspaceでの提案の詳細な検討が可能
簡単に使えるこの新しいコードレビュー機能により、開発者はより効率的に作業を進めることができ、AIと人間の協力でさらに品質の高いコードを作成できるようになります!
ChatGPT検索の紹介
OpenAIは、ChatGPTの検索機能を強化し、迅速かつタイムリーな回答を提供できるようになりました。この新機能により、利用者は関連するウェブソースへのリンクを通じて情報を取得することができ、従来の検索エンジンに頼る必要がなくなります。
新しい検索機能では、ユーザーが自ら検索を選択するか、ChatGPTが自動的にウェブ検索を行うことができます。この機能は、ユーザーが自然な会話形式で質問することで、文脈に応じたより良い回答を得ることが可能になります。また、最新のスポーツのスコア、ニュース、株価など、リアルタイムの情報にアクセスできるように、様々なニュースやデータプロバイダーと提携しています。
さらに、ChatGPTはソースリンクを提供し、情報の信頼性を高めることを目指しています。今後は、AIがメディア環境に与える影響を考慮しながら、ユーザーが高品質なコンテンツを効果的に見つけられるような機能の拡充を予定しています。この進化により、情報を探しやすくなるだけでなく、出版社も新たなオーディエンスに接触できる機会が増えることが期待されています。
Linux 6.12-rc4でのロシア系メンテナーの削除問題
Linux 6.12のリリース候補版「6.12-rc4」が10月20日に公開され、同時にカーネルメンテナーのGreg Kroah-Hartman(GKH)がメンテナーリストから12人のロシア系メンテナーを削除したと発表しました。この決定は、さまざまなコンプライアンス要件に基づくものであり、将来的に文書化されれば再掲載の可能性も示唆されています。
この異常事態はコミュニティに衝撃を与え、利用者からは「削除基準は何か?」や「該当メンテナーに連絡は取ったのか?」など、多くの疑問がなされています。さらに、ユニークな立場のLinus Torvalds が反発に対して、「ロシアのトロールが沢山来ている」と述べ、削除の理由は明確で元には戻さない意志を示しました。彼は、これが米国のみに限らず、ロシアへの制裁の影響であることを強調しています。
このような状況は過去にも見られ、特にロシアによるウクライナ侵攻以降、オープンソースプロジェクトからロシア系開発者を隔離する動きが強まっています。今後もこのような対応が続く可能性は高いと考えられます。
Visual Studio Code 1.95 リリースノート(2024年10月)
Visual Studio Codeの新しいバージョン1.95がリリースされ、多くの新機能や修正が含まれています。主な機能として、GitHub Copilot Editsの導入、サイドバーでのCopilot Chatの表示、複数のGitHubアカウントの同時ログインが可能になりました。
新機能の一つ、Copilot Editsは、複数ファイルにわたる大規模なコード変更を迅速に行うためのAIサポート機能です。これにより、ユーザーは簡単にコードを修正し、インラインで提案を確認できます。また、Copilot Chatを使用すると、作業をしながらチャットを行うことが可能になり、よりインタラクティブな開発環境が提供されます。
さらに、VS Codeでは複数のGitHubアカウントに同時にログインできるようになり、設定同期やプルリクエストの管理が容易になりました。これにより、異なるアカウントを使い分ける開発者にとって、非常に便利な機能となっています。新機能を活用して、開発作業をより効率的に進めましょう!
Technology Radar Vol 31
Thoughtworksの「Technology Radar Vol 31」は、2024年10月にリリースされた技術黒丸の解説です。このレポートは、ツール、手法、プラットフォーム、言語、フレームワークに関するインサイトを提供し、開発者がトレンドを把握する手助けをします。
今回のバージョンでは、特に生成AIやロシア語の利用の増加に焦点を当てています。生成AIの利用にあたっては、コード生成時の質の管理や、ペアプログラミングのAIによる代替の危険性が指摘されています。また、Rustが選択される理由としてそのパフォーマンスの高さが挙げられ、システムプログラミング言語としての人気が増しています。
さらに、WASM(WebAssembly)の登場により、ブラウザでの複雑なアプリケーションの実行が可能になり、新たな開発の可能性が開かれています。このように、最新の技術動向を理解するための重要な情報が詰まっています。
GitHub Sparkによる自然言語アプリ作成
GitHubは「GitHub Universe'24」で、自然言語だけでアプリを生成できる「GitHub Spark」のテクニカルプレビューを発表しました。この新機能は、ユーザーがアイデアを自然言語で入力することで、即座に小規模なアプリケーションを生成します。従来のアプリ開発プロセスを大幅に簡素化するものです。
GitHub Sparkでは、例えば「旅行した都市を評価するアプリ」という指示があると、ユーザーはプレビューを確認しながら機能を追加・変更することができます。これにより、アプリのカスタマイズが直感的に行え、プログラミングの知識がなくても使える設計となっています。また、作成したアプリはダッシュボードに保存され、必要に応じて他のユーザーと共有できます。
このサービスは、特にプログラミングに不安のあるユーザーを想定しており、10億人が開発者になるためのサポートを目指しています。CEOのトーマス・ドムケ氏は、GitHub SparkがAI時代のクリエイターネットワークを実現すると述べています。使用するデバイスも多様で、デスクトップからモバイルまで対応しています。
Actions Performance Metricsの一般公開
GitHub Actionsの「Actions Performance Metrics」が一般公開され、ユーザーは自分のワークフローの動作状況を視覚化できるようになりました。この機能は、ワークフローやジョブのパフォーマンスに関する洞察を提供し、組織やリポジトリのパフォーマンスを詳細に分析できます。ホームページの「Insights」からアクセス可能です。
具体的には、以下の質問に対する答えを得ることができます:
- ワークフローやジョブが完了するまでの時間は?
- ワークフローやジョブの待機時間はどの程度か?
- どのワークフローやジョブが繰り返し失敗しているか?
- 最も時間がかかっているワークフローやジョブはどれか?
さらに、パフォーマンスメトリックスは、Free、Pro、およびTeamプランのユーザーにも利用できるようになりました。これまでこの機能はGitHub Enterprise Cloudプランのユーザーのみに提供されていました。詳細な情報や使用方法は、公式ドキュメントを参照してください。
最後に
いかがだったでしょうか?みなさんが気になった記事はありましたか?他にもこれが気になったというトピックがあればぜひコメントで教えてください!
Discussion