Rumah  >  Artikel  >  hujung hadapan web  >  Menyumbang kepada expressjs

Menyumbang kepada expressjs

Barbara Streisand
Barbara Streisandasal
2024-11-23 07:07:09260semak imbas

Hai! Nama saya Peter, dan jika anda tidak mengenali saya, saya pelajar sains komputer, sedang mengambil Topik Profesor David Humphrey dalam kelas Sumber Terbuka 2024.

Sejak September 2024, saya telah berusaha untuk membina kehadiran saya dalam komuniti sumber terbuka. Jika anda ingin mengikuti perjalanan saya, anda boleh mencari saya di GitHub:

Contributing to expressjs

peterdanwan (Peter Wan) · GitHub

Pembangun Tindanan Penuh | Permainan dan Peminat AI - peterdanwan

Contributing to expressjs

Memahami skop projek

Langkah pertama: memahami perkara yang saya sedang berusaha. expressjs.com ialah tapak dokumentasi rasmi untuk ekspres, salah satu rangka kerja web paling popular untuk Node.js. Walaupun ini pantas difahami daripada tapak web mereka yang direka dengan cantik, perjalanan itu baru bermula.

Contributing to expressjs

Express - Rangka kerja aplikasi web Node.js

Express ialah rangka kerja web yang pantas, tanpa pendapat, dan minimalis untuk Node.js, menyediakan set ciri yang mantap untuk aplikasi web dan mudah alih.

Menyumbang kepada expressjs expressjs.com

Memahami isu yang dihadapi

Selepas membiasakan diri dengan projek itu, saya mencari isu yang boleh saya tangani. Saya jumpa yang ini:

Menyumbang kepada expressjs Pautan rosak dan halaman hilang #1684

Menyumbang kepada expressjs
chrisdel101 disiarkan pada

Pautan berikut rosak _includes/header/header-id.html

_includes/header/header-th.html

Cadangkan perubahan kepada: Keluarkan Log Perubahan

Halaman yang tiada menyebabkan ralat konsol dalam bahasa UZ: /css/langs/uz.css

Cadangkan menambah halaman ini.

Lihat di GitHub

Saya memilih isu ini kerana ia melibatkan HTML dan CSS - teknologi yang saya selesa dan biasa. Walau bagaimanapun, apa yang nampak mudah sebenarnya mengajar saya satu pengajaran penting tentang pembangunan sumber terbuka:

Malah tugas yang kelihatan biasa boleh melibatkan wilayah yang tidak dikenali.

Repositori menggunakan teknologi yang tidak pernah saya sentuh sebelum ini, dan di situlah pembelajaran sebenar bermula. Saya mengambil masa kira-kira sejam untuk memutuskan sama ada hendak mencuba isu ini - mungkin terlalu lama jika difikirkan semula. Saya teragak-agak kerana projek itu menggunakan Ruby, yang benar-benar baru kepada saya.

Isyarat spoiler: Menyediakan Ruby adalah... satu pengembaraan.

Memahami cara menyediakan projek secara tempatan

Menyediakan persekitaran pembangunan setempat anda selalunya merupakan salah satu bahagian yang paling mendidik bagi sumbangan sumber terbuka.

Saya belajar sedikit tentang Ruby dan Jekyll, hanya dengan cuba menjalankan expressjs.com secara tempatan.

Begini cara perjalanan saya terbongkar:

  1. Kekeliruan Awal: Saya mulakan dengan memasang Ruby terus pada Windows. Walaupun ia berfungsi, ia tidak sesuai, kerana saya menghadapi masalah dengan versi yang saya pasang berbeza daripada yang digunakan dalam projek. Pengurusan versi pada Windows tidak menyeronokkan. Oleh itu, saya menyahpasang pemasangan Ruby pada Windows dan kebergantungannya yang lain dan mencari penyelesaian alternatif.

  2. Penemuan WSL: Penyelidikan saya membawa saya kepada kesimpulan bahawa saya harus menjalankan Ruby pada Windows Subsystem untuk Linux (WSL), kerana ia menawarkan persekitaran pembangunan yang lebih baik dan akses kepada Pengurus Versi Ruby (RVM) yang berkuasa, yang membolehkan saya mengusahakan projek yang menggunakan versi Ruby yang berbeza. Bagi saya, memasang RVM adalah perasaan yang hampir sama, kerana saya menggunakan nvm-windows untuk membenarkan saya bertukar antara versi nod yang berbeza.

  3. Keluk Pembelajaran Pengurusan Versi: Sekali lagi, saya belajar tentang RVM dan persamaannya dengan nvm Node.js. Ini mengajar saya kepentingan pengurusan versi dalam persekitaran pembangunan.

Di bawah ialah arahan sebenar yang saya gunakan untuk menyediakan persekitaran pembangunan saya:

## 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

Menangani isu tersebut

Dengan persekitaran pembangunan saya dikonfigurasikan, saya dapat mula menangani isu yang dihadapi, iaitu hanya mengemas kini
tag sauh yang mengandungi pautan rosak ke versi bahasa Inggeris pautan (kerana pautan versi Inggeris tidak rosak).

Itulah bahagian paling mudah dari keseluruhan sumbangan ini.

Saya juga memastikan untuk melihat beberapa log untuk melihat sama ada terdapat sebarang ralat untuk diperbaiki. Saya mencadangkan menambah satu lagi fail css/id.css, yang mengikuti fail yang sama
format pengekodan fail yang telah ditambahkan, kerana saya mempunyai firasat yang akan menyelesaikan beberapa log ralat.

Salah seorang penyelenggara expressjs.com Chris Del, memberikan maklum balas segera yang menyatakan bahawa perkara yang perlu dilakukan (terima kasih Chris!).

Oleh itu, saya turut menambahkan perubahan ini pada permintaan tarik saya.

Menunggu untuk menggabungkan perubahan dan belajar untuk terlibat dengan perbincangan

Dengan itu, perubahan yang saya buat kini sedang menunggu untuk digabungkan menjadi cawangan utama expressjs.com.
Isu susulan telah dibuat untuk membincangkan piawaian laman web expressjs.com. Iaitu:

perlukah pengguna dialihkan ke halaman bahasa Inggeris yang berfungsi berbanding pautan terputus dalam bahasa yang betul?

Itu bukan terpulang kepada saya untuk membuat keputusan, tetapi saya mahu menjadi sebahagian daripada perbincangan. Anda boleh mengikuti perbincangan di sini.

Belajar untuk Berkembang sebagai Pembangun Sumber Terbuka

Perkara yang bermula sebagai pembetulan HTML/CSS yang mudah bertukar menjadi perjalanan yang mengajar saya pelajaran berharga tentang pembangunan sumber terbuka:

  1. Melangkah Keluar dari Zon Selesa: Semasa saya memilih isu yang melibatkan teknologi biasa (HTML/CSS), saya akhirnya mempelajari susunan teknologi baharu (Ruby/Jekyll). Ini mengajar saya bahawa pertumbuhan berlaku apabila kita bersedia untuk menangani perkara yang tidak dikenali.

  2. Pertumbuhan Teknikal: Menyediakan persekitaran pembangunan, mengurus versi dan bekerja dengan alatan baharu semuanya merupakan kemahiran penting. Setiap cabaran menjadikan cabaran seterusnya lebih mudah untuk didekati.

  3. Penglibatan Komuniti: Melalui perbincangan seperti perbincangan ubah hala bahasa, saya mengetahui bahawa sumber terbuka bukan hanya mengenai kod - ia mengenai penyertaan dalam perbincangan bermakna yang membentuk keputusan projek.

Melihat ke hadapan, saya merancang untuk menambah baik dengan:

  • Menghadapi isu yang semakin mencabar
  • Belajar untuk bekerja dengan susunan teknologi dan persekitaran pembangunan yang berbeza
  • Melibatkan diri secara lebih aktif dalam perbincangan projek dan membuat keputusan
  • Menyumbang kepada dokumentasi dan membantu pendatang baharu yang lain
  • Membina hubungan dalam komuniti sumber terbuka

Paling penting, saya telah belajar bahawa menjadi pembangun sumber terbuka yang berkesan bukan tentang mengetahui segala-galanya - ia tentang kesediaan mempelajari apa sahaja. Setiap sumbangan, tidak kira betapa kecilnya, adalah peluang untuk berkembang dan memberi impak positif kepada projek yang kami minati.

Jika anda sedang mempertimbangkan untuk terlibat dalam sumber terbuka, ingat: mulakan dari kecil, rasa ingin tahu dan jangan takut untuk belajar semasa anda pergi. Komuniti sedia membantu anda berkembang.

Atas ialah kandungan terperinci Menyumbang kepada expressjs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn