DUICUO

プログラミング「ゲーム」をより強力にする 10 個のオープンソース ツール

翻訳者 |静岩

校正者 | Chonglou

コーディング効率を向上させるために、コード編集やバージョン管理から自動ビルド、コンテナ化されたデプロイメントまで、様々なオープンソースツールが市場に出回っています。これらのオープンソースツールを開発ワークフローに統合することで、コーディング効率とコード品質を大幅に向上させることができます。

ここでは、開発者が開発をスピードアップし、コードの品質を向上させ、開発プロセスを最適化するのに役立つ、推奨されるオープンソース ツールをいくつか紹介します。

ビジュアルスタジオコード

Visual Studio Codeは、市場で最も人気のあるIDEの一つです。Microsoftによって開発され、ソースコードはGitHubで公開されています。このIDEは無料で、軽量、柔軟性、拡張性に優れています。VS Codeは、コーディング、デバッグ、テストに最適です。

しかし、このIDEはどのように生産性を向上させるのでしょうか豊富な拡張機能ライブラリ、インテリジェントなコード補完、バージョン管理統合、コード分析と診断、そしてクロスプラットフォーム互換性を考えると、このIDEがワークフロー改善にどのように役立つかは明らかです複数のツールを必要とせず、この単一のアプリケーション内で多くのタスクを処理できます。VS Codeは HTML/CSS JavaScript C/ C ++ C # Objective-C Python PHP、Javaなど、最も人気のある言語もサポートしています。

リンク: https://code.visualstudio.com/

ギット

Gitは、開発者がコードベースの変更を長期にわたって管理するのに役立つバージョン管理システムです。Gitを使用すると、コードの変更を追跡できるだけでなく、ある開発者が別の開発者の変更を上書きしてしまう心配なく、チームとリアルタイムで共同作業できるため、生産性が大幅に向上します。

Git には、変更の追跡、バージョン管理、共同作業、コミット、ブランチ、マージなどの機能が含まれています。

Git は、以下に示すように非常にわかりやすく繰り返し可能なワークフローを通じて生産性の向上に役立ちます

  • ローカルリポジトリの作成:作業ディレクトリにGitリポジトリを初期化します。このリポジトリをLAN上のチームメンバーが利用できるようにすることも、GitHubに移行することもできます
  • 変更とコミット: コードを変更した後、 `git add``git commit`を使用してファイルの新しいバージョンを作成できます。
  • リモート リポジトリにプッシュ: 変更を GitHub などの共有の場所にプッシュして、変更 (コミット) をチーム メンバーと共有します。
  • リモート リポジトリからプル: 最新のコード変更を共有場所から取得し、さらなる作業のためにローカル コピーにマージできます。

リンク: https://git-scm.com/

ドッカー/ポッドマン

コンテナはソフトウェア開発において重要な要素です。コンテナに興味のある方は、 DockerまたはPodmanを試してみることをお勧めします。これら2つのツールは、コンテナの開発とデプロイに最も効率的かつ効果的な方法です。

しかし、なぜコンテナなのでしょうか?

コンテナは環境間で一貫性のある開発を可能にするため、複数のプラットフォーム向けの開発を心配する必要がありません。また、コンテナは開発サイクルの短縮、依存関係管理の簡素化、ビルド時間の短縮、テスト/デバッグの容易化、スケーラビリティの向上、コスト削減といったメリットも提供しますさらに、コンテナは移植性が高いため、選択したオペレーティングシステムで開発を行いコンテナを別のオペレーティングシステムに簡単に移行して、正しく動作させることも可能です。

リンク: Docker https://www.docker.com/

ポッドマン- https://podman.io/

ジェンキンス

Jenkinsは、開発者がアプリケーションを繰り返しかつ確実にビルド、テスト、デプロイできるようにする自動化サーバーです。Jenkinsには、自動ビルド、CI/CDサポート、ジョブスケジューリング、監視とレポート、コードレビュー、デプロイスクリプトなどの機能が含まれています

しかし、なぜ自動化プラットフォームがコーディング効率の向上に役立つのでしょうか Jenkinsの最も重要な点は、反復的なタスクを自動化することで、より重要な業務に集中できるようになることですまた Jenkinsはエラーの削減、コラボレーションの向上、そして新バージョンや機能の市場投入の迅速化にも役立ちます。JenkinsはDockerとKubernetesをサポートし、GitHub Actions、JIRA、Dockerコンテナビルド用のプラグインも提供しています。

Jenkins は無料で使用でき、 GitHubでソースコードを閲覧できます。

リンク: https://www.jenkins.io/

GPTエンジニア

GPT-Engineerは、大規模言語モデル( LLM )をより構造化されたガイド付きの方法で操作するためのテキストベースのツールです。GPT-Engineerを使用すると、自然言語でソフトウェアを指定したり、AIを使用してコードを記述・実行したり、AIにコードの改善を提案するよう依頼したりできます

皆さんが何を考えているかは分かっています AIを使ってコードを書くのは本質的にチート行為です。その点については議論したくありません。しかし、このツールを使えば特定の言語を学習したり、複雑な概念やコード行を理解したりすることができます。GPT - Engineerとローカルフォルダ内のコードを使用し、フォルダ内にプロンプ​​トファイルを作成し、必要な命令を入力してから、 gpte DIRECTORYコマンドを実行できます(DIRECTORYはコードを含むフォルダです)。

GPT-Engineer は無料で使用でき Python または Poetryを使用してインストールできます

リンク: https://github.com/AntonOsika/gpt-engineer

Eclipse IDE

Eclipseは、Javaプロジェクト向けの無料のオープンソースIDEです。Linux、macOS、Windowsで利用可能で、幅広いプラグインエコシステムを備え、モジュール型アーキテクチャを採用し、コード補完とコードインスペクション機能、高度なデバッグ機能を備えています

Eclipseは非常に柔軟性が高いため、プラグインやカスタマイズ機能を使ってIDEをカスタマイズし、ニーズに合わせてより適切にカスタマイズできますさらに Javaビルダーコード補完、Git統合などのプラグインも用意されています。

しかし、IDEはどのように生産性の向上に役立つのでしょうか豊富なプラグインライブラリと優れた機能セットを備えたIDEは、エラーを減らし、コード全体の品質を向上させることでワークフロー合理化しデバッグプロセスを簡素化・短縮します。

リンク: https://eclipseide.org/

続く

Continu は、GitHub Copilot のオープンソース代替ツールであり、 VS Code および JetBrains IDE向けにAI駆動型コード補完とインラインヘルプを提供します。Continu使用すると任意の LLM に接続、Chat と連携させることで、 IDE を離れることなくAI によるヘルプを求めるプロセスを効率化できます

Continuuのオートコンプリート機能は、入力時にインラインコード候補を表示します(Gmail のオートサジェスト機能に似ています)。さらに編集機能(現在開いているファイルを開いたままコードを変更できる機能)やアクション機能(よく使う例へのショートカット)などの機能備えています

Connectinu はユーザーフレンドリーな UI を備えており、IDE プラグイン マーケットプレイスから無料でインストールできます

リンク: https://www.continue.dev/

タビー

Tabby は、GitHub リポジトリとして使用できるセルフホスト型の AI コーディング アシスタントです Copilot のもう一つの代替として、Tabby があります。ローカルにインストールし使用できるためサードパーティに頼る必要がなく(つまりプライバシーが確保されます)、コンシューマーグレードのGPUをサポートしています

次のコマンドを使用すると、1 分以内に Tabby を Docker コンテナとしてデプロイできます

docker run -it –gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve –model StarCoder-1B –device cuda –chat-model Qwen2-1.5B-Instruct

Tabby の機能には、コード補完、コンテキスト理解、AI 駆動型提案、コード分析などがあり、開発時間の短縮、コード品質の向上、生産性の向上を実現します

リンク: https://github.com/TabbyML/tabby

構成

Configu はさまざまな環境にわたってソフトウェア アプリケーションの展開を構成および自動化することで、構成管理を自動化し、構成ミスを防ぎ、面倒で反復的なタスクを排除するための、オープン ソースの構成-コードとしてのプラットフォームです。

Configu を使用すると、エンジニアリングチーム、あらゆる環境において環境変数、シークレット、関数フラグなどをシームレスに管理し、共同作業を行うことができます。このツールは既存のシステムやワークフローに簡単に統合でき、小規模、シンプル、複雑、反復的なタスクまで拡張可能です

Configuは、環境管理、構成自動化、インフラストラクチャオーケストレーションに使用されます。ワークフローConfiguを追加すると、スピードと効率が向上し、一貫性が向上し、構成管理が簡素化されます。

Configu は次のコマンドを使用して簡単にインストールできます

カール https://files.configu.com/cli/install.sh | sh

リンク: https://configu.com/

タウリ 2.0

Tauri、React、Angular、Vue.jsといった最新のWebベース技術を用いてデスクトップアプリケーションを開発できるオープンソースツールです。Tauriは、ウィンドウ、メニュー、ファイルダイアログといった機能を備えたElectronライクな環境を提供します。Tauriを使えば、 Linux、macOS、その他のLinuxディストリビューションにネイティブなルック&フィールを持つアプリケーションを作成できます。Tauriは一般的なWebベースのフレームワークとライブラリを使用しているため、デスクトップアプリケーションの構築時間を短縮できます。

Tauri を使用すると、開発者は、事前に構築された UI コンポーネント Webベースの構成ファイルネイティブ アプリケーション パフォーマンスの最適化などの機能により、開発時間の短縮、アプリケーションのメンテナンスの容易化、クロスプラットフォームの互換性の向上を実現できます

典型的な Tauriワークフローを以下に示します

  1. React、Angular、または Vue.js を使用してWebアプリケーションを構築します。
  2. Webアプリケーションをネイティブのような動作を持つデスクトップアプリケーション変換します
  3. リリース前に、デスクトップ アプリケーションはさまざまなプラットフォームでテストされ、改善されました

リンク: https://tauri.app/

結論

上記のアプリケーションはどれも、コーディング効率向上に役立ちます。さらに良いことに、効率向上に役立つオープンソースアプリケーションは常に増え続けています

原題: 10 Open Source Tools to Supercharge Your Coding Game 、著者: Jack Wallen