こんにちは!私の名前はピーターです。私のことをご存じない方もいると思いますが、私はコンピューター サイエンスの学生で、現在 David Humphrey 教授の Topics in Open Source 2024 クラスを受講しています。
2024 年の 9 月以来、私はオープンソース コミュニティでの存在感を高めることに取り組んできました。私の旅をフォローしたい場合は、GitHub で私を見つけることができます:

ピーターダンワン (ピーター ワン) · GitHub
フルスタック開発者 |ゲームとAIの愛好家 - ピーターダンワン

プロジェクトの範囲を理解する
最初のステップ: 自分が取り組んでいることを理解する。 Expressjs.com は、Node.js で最も人気のある Web フレームワークの 1 つである Express の公式ドキュメント サイトです。これは、美しくデザインされたウェブサイトからすぐに理解できましたが、旅はまだ始まったばかりです。

Express - Node.js Web アプリケーション フレームワーク
Express は、Node.js 用の高速で固定観念にとらわれないシンプルな Web フレームワークであり、Web およびモバイル アプリケーションに堅牢な機能セットを提供します。
当面の問題を理解する
現状のプロジェクトに慣れた後、私は取り組める問題を探しました。こんなものを見つけました:
リンク切れとページの欠落
#1684
次のリンクは壊れています _includes/header/header-id.html
_includes/header/header-th.html
変更を提案: 変更ログをリリース
ページが見つからないと、UZ 言語でコンソール エラーが発生します: /css/langs/uz.css
このページの追加を提案します。
私がこの問題を選んだのは、HTML と CSS という、私が使い慣れているテクノロジが関係しているからです。しかし、単純そうに見えたは、実際にはオープンソース開発についての重要な教訓を私に教えてくれました:
見慣れたタスクであっても、なじみのない分野が含まれる場合があります。
リポジトリでは、私がこれまで触れたことのないテクノロジーが使用されており、そこから本当の学習が始まりました。この問題を試すかどうか決めるだけで 1 時間ほどかかりましたが、今にして思えば長すぎたかもしれません。 Ruby を使ったプロジェクトは私にとって全く初めてのことでしたので、躊躇しました。
ネタバレ注意: Ruby のセットアップは... 冒険でした。
プロジェクトをローカルでセットアップする方法を理解する
ローカル開発環境のセットアップは、多くの場合、オープンソースの貢献において最も教育的な部分の 1 つです。
ローカルで Expressjs.com を実行してみるだけで、Ruby と Jekyll について少し学びました。
これが私の旅の展開です:
最初の混乱: まず、Ruby を Windows に直接インストールしました。これは機能しましたが、インストールしたバージョンがプロジェクトで使用されているバージョンと異なるという問題が発生したため、理想的なものではありませんでした。 Windows でのバージョン管理は面白くありませんでした。そのため、私は Windows 上の Ruby のインストールとその他の依存関係をアンインストールし、代替ソリューションを探しました。
WSL の発見: 研究の結果、Linux 用 Windows サブシステム (WSL) 上で Ruby を実行する必要があるという結論に達しました。WSL は、はるかに優れた開発環境とアクセスを提供するからです。強力な Ruby バージョン マネージャー (RVM) により、Ruby のさまざまなバージョンを使用するプロジェクトに取り組むことができます。私にとって、RVM のインストールは非常によく似た感覚でした。なぜなら、異なるノードのバージョンを切り替えるために nvm-windows を使用しているからです。
バージョン管理学習曲線: 改めて、RVM と Node.js の nvm との類似点について学びました。このことから、開発環境におけるバージョン管理の重要性を学びました。
以下は、開発環境を準備するために使用した実際のコマンドです:
## 1. Installing RVM (Ruby Version Manager) # First, import GPG keys needed to verify RVM installation gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB # Download and install RVM \curl -sSL https://get.rvm.io | bash -s stable # Verify RVM is installed and get its path which rvm # Load RVM into your current shell session source /home/peter/.rvm/scripts/rvm ## 2. Installing Ruby # Install Ruby version 3.3.5 (latest stable as of early 2024) rvm install 3.3.5 # Set 3.3.5 as your default Ruby version rvm use 3.3.5 # Verify RVM and Ruby installations rvm -v ruby -v ## 3. Setting up Jekyll # Install Jekyll and Bundler gems gem install bundler jekyll # Install project dependencies from Gemfile (must be within the target directory with the Gemfile) bundle install # Start the Jekyll server with live reload and external access # --host 0.0.0.0 allows access from other devices on your network # --livereload automatically refreshes your browser when files change bundle exec jekyll serve --host 0.0.0.0 --livereload
問題に取り組む
開発環境を構成したので、当面の問題に対処し始めることができました。つまり、
を更新するだけです。
英語版のリンクへの壊れたリンクを含むアンカー タグ (英語版のリンクは壊れていないため)。
これは、この貢献全体の中で最も簡単な部分でした。
また、いくつかのログを確認して、修正すべきエラーがないかどうかを確認しました。同じものに続く別のファイル css/id.css を追加することを提案しました
エラー ログの一部を解決できる予感があったので、すでに追加されているファイルのコーディング形式を修正しました。
expressjs.com のメンテナの 1 人、Chris Del は、それがやるべきことであると非常にすぐにフィードバックを提供してくれました (Chris に感謝します!)。
そのため、この変更もプル リクエストに追加しました。
変更がマージされるのを待ち、ディスカッションに参加する方法を学んでいます
そうは言っても、私が行った変更は現在、expressjs.com のメイン ブランチにマージされるのを待っています。
フォローアップ問題は、expressjs.com Web サイトの標準について議論するために作成されました。つまり:
ユーザーは、正しい言語の壊れたリンクではなく、機能する英語のページにリダイレクトされるべきですか?
それを決めるのは私ではありませんが、私も議論に参加したかったのです。ここでのディスカッションをフォローできます。
オープンソース開発者として成長する方法を学ぶ
単純な HTML/CSS 修正として始まったことが、オープンソース開発についての貴重な教訓を私に教えてくれる旅になりました。
コンフォート ゾーンからの脱出: 馴染みのあるテクノロジー (HTML/CSS) に関する問題を選択しましたが、最終的にはまったく新しいテクノロジー スタック (Ruby/Jekyll) を学ぶことになりました。このことから、不慣れなことに喜んで取り組むときに成長が起こるということを学びました。
技術的な成長: 開発環境のセットアップ、バージョンの管理、新しいツールの使用はすべて重要なスキルです。それぞれの課題により、次の課題に取り組みやすくなります。
コミュニティへの関与: 言語リダイレクトのディスカッションなどのディスカッションを通じて、オープンソースとは単なるコードのことではなく、プロジェクトの決定を形作る有意義なディスカッションに参加することであることを学びました。
将来を見据えて、次のことを改善する予定です。
- ますます困難な課題への挑戦
- さまざまな技術スタックや開発環境の操作方法を学ぶ
- プロジェクトの議論や意思決定にもっと積極的に参加する
- ドキュメントに貢献し、他の新人を支援する
- オープンソース コミュニティ内での関係の構築
最も重要なことは、有能なオープンソース開発者になるということは、すべてを知っていることではなく、何でも喜んで学ぶことであるということを学びました。どんなに小さな貢献であっても、あらゆる貢献は成長し、私たちが関心を持っているプロジェクトにプラスの影響を与える機会となります。
オープンソースへの参加を検討している場合は、小さなことから始め、好奇心を持ち、学びながら学ぶことを恐れないことを覚えておいてください。コミュニティはあなたの成長を支援するためにここにあります。
以上がExpressjs への貢献の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

メモ帳++7.3.1
使いやすく無料のコードエディター

ホットトピック









