Bagaimana beberapa orang dapat bekerja di satu situs web?

11

Saya baru-baru ini menonton Jejaring Sosial, dan ini mungkin pertanyaan bodoh, tetapi bagaimana mungkin beberapa orang bekerja di satu situs web? Maksud saya, jika mereka bekerja pada halaman yang sama, bagaimana mungkin? Dan juga, mungkinkah mengunggah file ke host online tanpa membuatnya langsung?

Sam Gabriel
sumber
12
Kontrol sumber. Setiap pengembang bekerja pada file lokal, maka harus memeriksa file yang melarang pengembang lain dari mengganti konten dalam file sampai diperiksa di. En.wikipedia.org/wiki/List_of_revision_control_software
3
Jangan pernah menggunakan fungsionalitas kunci kontrol versi pada file kecuali itu biner.
Colin Goudie
@ gommo: Apa yang Anda maksud dengan 'binary'? Bisakah Anda mengembangkannya?
Kamera
1
@Cam: dalam konteks ini “binary” = “apa pun yang bukan file teks”
Konrad Rudolph

Jawaban:

27

Biasanya ketika banyak orang perlu membuat perubahan pada file yang sama, mereka menggunakan semacam sistem kontrol versi untuk melacak siapa yang membuat perubahan apa. Itu juga memungkinkan mereka menggabungkan dan menyinkronkan perubahan yang dilakukan orang yang berbeda.

FrustratedWithFormsDesigner
sumber
1
Sederhana, namun elegan.
Ryan Hayes
14

Sangat sedikit situs web yang hanya terdiri dari satu "halaman" dan, untuk kasus-kasus di mana banyak orang bekerja pada halaman yang sama, sebagian besar sistem kontrol revisi memiliki mekanisme untuk menggabungkan perubahan kembali menjadi satu file.

Joe Stefanelli
sumber
Hanya untuk pilih-pilih :) kecuali jika itu terjadi pada sistem berbasis CMS, di mana semua halaman virtual dan hanya ada dalam database.
Darknight
6

Banyak orang yang bekerja di file yang sama: Kontrol sumber

Tanpa membuatnya langsung: Server & basis data pengembangan, yang bukan cabang yang sama dengan situs web asli.


sumber
3

Mereka membutuhkan semacam manajer.

Biasanya, tim dipecah menjadi segmen-segmen yang tidak boleh saling mengganggu (kata-kata terakhir yang terkenal). Misalnya, jika API foo bergantung pada penolong dari orang-orang yang kode dalam C, kerusakan harus (tidak pernah terjadi), tetapi jika itu terjadi, itu terjadi karena aplikasi pembantu tidak mengerti apa yang Anda sampaikan.

Itu adalah kasus klasik dari tangan kanan yang tidak tahu apa yang dilakukan tangan kiri, yang dengan jelas menggambarkan kesalahan, yang mungkin milik saya.

Jika Anda mendorong kode tanpa terlebih dahulu menarik dan menyelesaikan gabungan (sambil memecah apa yang dev lain lakukan dengan hanya menghapus apa pun yang tidak Anda tulis), sebelum berkomunikasi dengan orang lain yang mengedit hal yang sama, saya akan memberi Anda dosis tinggi. Setelah itu, saya akan mengajak Anda keluar untuk makan malam (untuk membuat amandemen untuk 1.21 gigawatt) dan memastikan bahwa Anda menelan beberapa jenis makanan yang gila, menjijikkan, dan cukup eksotis. Pikirkan ... Klingon .

Anda kemudian akan berterima kasih kepada saya untuk itu, dan tidak akan pernah melakukannya lagi.

Tentu saja Anda bisa mengganti semacam 'berbicara dengan' yang normal di sini, tetapi apa yang menyenangkan itu?

Pos Tim
sumber
1

Anda mungkin akan menemukan bahwa mereka memiliki pengembang yang bekerja di halaman yang berbeda. Templat atau master situs biasanya dibuat sehingga setiap halaman memiliki tampilan dan nuansa yang sama. Misalnya, jika perusahaan menggunakan Sumber Kontrol seperti Team Foundation Server, setiap pengembang akan memeriksa kode sumber mereka dan ini akan memungkinkan pengembang lain untuk mendapatkan perubahan terbaru mereka.

Neil Knight
sumber
2
TFS adalah yang terbaik yang dapat Anda berikan untuk contoh sistem Manajemen Kontrol Sumber? Ayo sekarang.
Matt Phillips
1

Mereka dapat:

  • Jadilah pemrograman dalam editor melalui sesi SSH (mis. Vi, vim, nano, emacs).
  • Jadilah mengedit melalui FTP dengan IDE mereka (misalnya emacs, notepad ++).
  • Menggunakan sistem kontrol versi.

Untuk yang terakhir, orang sekarang menggunakan kontrol versi terdistribusi seperti mercurial , git dan bazar , alih-alih kontrol versi terpusat seperti CVS dan subversi. Untuk mercurial, periksa bitbucket.org dan hosting proyek kode google , untuk git, periksa github , yang merupakan situs yang meng-host kode untuk Anda bagikan secara kolaboratif tanpa Anda perlu menyiapkan server.

Juga:

dukeofgaming
sumber
1

Mengembangkan halaman dengan komponen VS Pages secara Keseluruhan

Saya telah bekerja di banyak situs web berskala besar, dan cara beberapa orang bekerja pada halaman yang sama adalah bahwa sebagian besar situs web adalah portal . Secara umum, banyak situs seperti Facebook berisi banyak kontrol, seperti foto, iklan, area uraian kecil, dll. Yang akan digunakan banyak orang. Juga, header dan footer umumnya dipecah menjadi file include yang dapat digunakan kembali. Ini memecah situs menjadi komponen yang tidak hanya dapat dikerjakan secara individual, tetapi juga dapat digunakan kembali di beberapa situs dan area.

Ryan Hayes
sumber
Anda tahu apa itu portal web? (petunjuk, ini bukan mashup. pikirkan dulu Yahoo)
Javier
Ya, saya mencoba menggunakan contoh yang menunjukkan bahwa salah satu teknik adalah memecah halaman menjadi komponen. Contoh yang bagus adalah portal, kecuali pengguna dapat drop-out widget portal, sementara membangun halaman menggunakan komponen hanya dari sisi dev. Portal adalah contoh visual yang bagus.
Ryan Hayes
0

Anda bisa menggunakan semacam sistem sinkronisasi langsung seperti penggunaan OneNote .... Selanjutnya, Anda bisa mengunggah file ke host tetapi tidak membuat tautan domain utama Anda ke mereka.


sumber
0

Jangan lupa bahwa ada juga sistem manajemen konten yang digunakan beberapa situs untuk menyajikan konten sehingga meskipun Anda mungkin berpikir sesuatu adalah halaman web, itu sebenarnya campuran dari berbagai hal.

Banyak sistem manajemen konten akan memiliki fitur pratinjau untuk memungkinkan penulis melihat konten sebelum membuatnya dapat diakses publik.

JB King
sumber
0

Semua alat yang disebutkan ini sangat membantu, tetapi bagi saya kedengarannya lebih seperti OP lebih bertanya bagaimana orang menjaga agar tidak berada di jalur orang lain.

Selain menggunakan alat untuk menyelesaikan konflik tersebut, biasanya ada beberapa divisi menjadi tumpukan atau tingkatan untuk membantu menghindari konflik di tempat pertama.

Dengan pendekatan tumpukan, Anda meminta setiap orang mengerjakan fitur yang tidak terkait (satu orang mungkin melakukan pendaftaran akun dan satu orang dapat melakukan pengiriman konten). Akan ada beberapa konflik di mana keduanya dapat menyeberang (catatan pengguna dalam contoh ini mungkin) dan yang akan ditangani sebagai bagian dari penggabungan ke bangunan berikutnya.

Dengan pendekatan lapis seseorang membangun semua bagian terdalam, ketika mereka menyelesaikan satu bagian orang lain menulis bit yang berada di atas itu dan seterusnya. konflik yang dihasilkan di sini biasanya ketika sesuatu harus dikembalikan ke tingkat yang lebih rendah untuk beberapa modifikasi kemudian yang dapat mempengaruhi tingkat berikutnya di atas dan ditangani dengan cara yang sama sebelum membangun selanjutnya.

Bagian tentang file yang dipromosikan tetapi tidak langsung memiliki beragam jawaban / implementasi, tetapi server terpisah untuk melakukan pratinjau, mode pratinjau tertentu, atau kelas pengguna atau hak yang menarik versi tepi pendarahan sementara pengguna reguler mendapatkan versi stabil. yang paling sering saya lihat.

Tagihan
sumber
0

Untuk menjawab bagian kedua terlebih dahulu, salah satu cara untuk mengunggah file tanpa membuatnya langsung adalah memberi mereka nama yang tidak akan ditautkan. Misalnya untuk membuat versi index.htmlhalaman baru, unggah dengan nama itu index2.html, lalu kunjungi http://yoursite.com/index2.htmldan periksa apakah berfungsi dengan baik. Setelah Anda puas, ubah nama menjadi index.html. Ini benar-benar hanya untuk situs yang sangat kecil, dan akan menjadi sedikit berantakan jika Anda ingin mengubah sesuatu yang eksternal ke halaman, seperti gambar, file CSS atau JavaScript, karena Anda harus memilikinya image2.png, maka index2.htmlperbedaan satu-satunya adalah bahwa itu menunjuk ke gambar baru.

Seorang programmer profesional akan selalu memiliki sistem pengujian untuk bekerja, kemudian mengunggah ke "host online" mereka begitu mereka puas dengan perubahannya. Anda dapat mengatur server web di komputer Anda yang hanya akan melayani halaman di dalam jaringan lokal Anda. Tentu saja Anda juga bisa menggunakan komputer terpisah, atau (seperti yang saya lakukan) mesin virtual yang berjalan di komputer utama Anda.

Ketika beberapa pengembang bekerja bersama, masing-masing akan memiliki sistem pengujian mereka sendiri untuk bekerja, kemudian mengunggah perubahan mereka ke sistem kontrol versi yang melacak semua perubahan dari semua orang yang berbeda. Lihat perumpamaan git untuk cara kerjanya.

Sistem kontrol versi memudahkan untuk melihat siapa yang mengubah apa dan mengapa. Ini dapat diperiksa oleh siapa pun yang bertanggung jawab dan kemudian menggabungkannya ke master, dan menyerahkannya ke departemen pengujian / QA. Setelah mereka sepenuhnya menguji fitur baru, mereka akan menyetujuinya untuk mengunggah ke situs langsung.

rjmunro
sumber
0

Hal pertama yang harus dilakukan adalah bahwa banyak situs bukan kumpulan halaman statis yang dikerjakan oleh satu atau lebih orang.

Halaman yang Anda lihat sebagai pengunjung tidak ada di situs web untuk membuat perubahan seperti pada situs-situs tersebut mereka secara otomatis dikumpulkan dengan cepat oleh sistem manajemen konten - perangkat lunak yang berjalan di server hosting, menggunakan konten yang situs web pemilik telah menghasilkan. CMS merakit halaman dari konten yang ditata menggunakan file template (file konfigurasi CSS dan CMS sendiri) dan halaman yang dihasilkan disajikan ke browser Anda.

Pemilik situs membuat perubahan pada konten dan template layout daripada halaman statis. Memimpin dari jawaban Anda tergantung pada jenis perubahan dan peran orang yang melakukannya:

  1. pengguna situs publik , memposting blog atau komentar
  2. jika Anda mengubah konten di situs (peran penghasil konten, misalnya jurnalis yang bekerja untuk pemilik situs web) atau
  3. menambah dan mengubah fungsionalitas situs (pengembang situs bekerja untuk pemilik situs).

Drupal adalah sistem manajemen konten yang gratis dan tangguh yang menyediakan manajemen multi-pengguna untuk menangani pembaruan konten yang pada gilirannya mempengaruhi apa yang dilihat oleh pengunjung di halaman. Drupal juga akan menyediakan sarana untuk mengubah perilaku halaman, misalnya bagaimana mereka ditata atau jika komitmen pada suatu artikel dapat diposting, mengatasi jenis perubahan 1 dan 2. Jika melakukan perubahan dalam Drupal ini akan disimpan dalam database SQL. Drupal menyediakan beberapa kontrol versi / revisi konten.

Diperlukan sistem kontrol versi lengkap untuk perubahan perilaku situs yang lebih terlibat, tipe perubahan ke-3 misalnya memperkenalkan lebih banyak fitur, menerima pembaruan dari Drupal, atau memperbaiki bug pada kode tambahan sendiri, maka ini berarti mengubah kode dan seperti yang telah diposting orang lain di sini. Sistem kontrol versi seperti GIT, Subversion atau Mercurial - semuanya gratis - digunakan untuk mengelola perubahan yang dibuat oleh beberapa pengembang situs.

therobyouknow
sumber