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?
11
Jawaban:
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.
sumber
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.
sumber
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
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?
sumber
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.
sumber
Mereka dapat:
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:
sumber
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.
sumber
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
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.
sumber
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.
sumber
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.html
halaman baru, unggah dengan nama ituindex2.html
, lalu kunjungihttp://yoursite.com/index2.html
dan periksa apakah berfungsi dengan baik. Setelah Anda puas, ubah nama menjadiindex.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 memilikinyaimage2.png
, makaindex2.html
perbedaan 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.
sumber
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:
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.
sumber