DUICUO

コーディングスキルを向上させる10個のオープンソースツール

翻訳元: コーディングスキルを向上させるオープンソースツール10選[1]

著者: ジャック・ウォーレン

VS Code から Tauri まで、これらのオープンソース開発ツールは、ワークフローを合理化し、反復的なタスクを自動化し、あらゆるスキル レベルの開発者のコ​​ーディング効率を向上させます。

生産性を向上させたいなら、選択肢は豊富です。オープンソースソフトウェアを好む方にとっても、選択肢はそれほど多くありません。実際、多くのオープンソースツールはコーディング効率を向上させるように設計されています。

もちろん、このようなリストには、使用するかどうかは別として、ツールも含まれるでしょう。ワークフローは既に大体構築されていて、生産性を次のレベルに引き上げるにはあと1つのツールを追加するだけで十分だとわかっているかもしれません。このワークフローには、エディタ、IDE[2]、コードレビューと分析、コラボレーションとドキュメント作成、CI/CD[3]、監視、デバッグ[4]、自動化など、あらゆるものが含まれる可能性があります。

ここで重要なのは生産性を向上させることであり、これを支援するツールはまだまだたくさんあります。

ワークフローに追加できるオープンソース ツールを詳しく見てみましょう。

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

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

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

ギット

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

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

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

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

ドッカー/ポッドマン

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

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

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

ジェンキンス

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

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

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

GPTエンジニア

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

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

GPT はエンジニア向けに無料で提供されており、Python または Poetry を使用してインストールできます。

Eclipse IDE

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

Eclipseは非常に柔軟性が高く、プラグインやカスタマイズ設定を駆使してニーズに完璧に応えることができます。Javaビルダー、コード補完、Git統合などのプラグインも用意されています。

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

続く

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

Continu のオートコンプリート機能は、入力時にインラインでコード候補を表示します(Gmail などのオートサジェスト機能に似ています)。また、編集機能(現在開いているファイルを移動せずにコードを修正する方法)とアクション機能(よく使うユースケースへのショートカット)も備えています。

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

タビー

Tabby[15]は、GitHub Copilotの代替として利用可能なセルフホスト型AIコーディングアシスタントです。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 駆動型提案、コード分析などがあり、開発時間の短縮、コード品質の向上、生産性の向上を実現します。

構成

Configu[16]はオープンソースのコード構成プラットフォームであり、構成管理を自動化し、誤った構成を防ぎ、さまざまな環境でのソフトウェアアプリケーションの構成と展開を自動化することで面倒な反復作業を排除します。

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

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

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

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

タウリ 2.0

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

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

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

1. React、Angular、または Vue.js を使用して Web アプリケーションを構築します。

2. Web アプリケーションをネイティブ動作を備えたデスクトップ アプリケーションに変換します。

3. デスクトップ アプリケーションをリリースする前に、さまざまなプラットフォームでテストして改善します。

どのアプリケーションもコーディング効率の向上に役立ちます。さらに良いことに、効率向上に役立つオープンソースアプリケーションは常に存在します。

参考リンク

[1] 10 Open Source Tools to Supercharge Your Coding Game:https://thenewstack.io/10-open-source-tools-to-supercharge-your-coding-game/
[2]IDE:https://thenewstack.io/best-open-source-ides/
[3]CI/CD:https://thenewstack.io/ci-cd/
[4]调试:https://thenewstack.io/how-generative-ai-is-revolutionizing-debugging/
[5]Visual Studio Code:https://code.visualstudio.com/
[6]GitHub:https://github.com/microsoft/vscode
[7]Git:https://git-scm.com/
[8]Docker:https://www.docker.com/
[9]Podman:https://podman.io/
[10]Jenkins:https://www.jenkins.io/
[11]GitHub:https://github.com/jenkinsci/jenkins
[12]GPT-工程师:https://github.com/AntonOsika/gpt-engineer
[13]Eclipse:https://eclipseide.org/
[14]Continu:https://www.continue.dev/
[15]Tabby:https://github.com/TabbyML/tabby
[16]Configu:https://configu.com/
[17]Tauri:https://tauri.app/