Jadi ini mungkin pertanyaan yang sangat mendasar dan jelas bagi kebanyakan orang, tetapi google-fu saya mengecewakan saya dan sepertinya ada sesuatu yang terjadi di kepala saya. Saya telah mendengar banyak orang menyebut memiliki 'kotak linux khusus' sebagai bagian sentral dari pengaturan pengembang.
Saya telah melakukan pemrograman web-dev selama sekitar satu tahun dan memahami manfaat pemrograman pada sistem Unix / Linux. Tapi sepertinya saya kehilangan peran apa yang dimainkan oleh 'kotak linux khusus' dalam proses pengembangan.
Saya akan berasumsi bahwa itu digunakan sebagai semacam server, tetapi saya belum menjalankan semua kebutuhan untuk memiliki komputer yang didedikasikan untuk menjalankan server linux. Apakah saya hanya merasa dan salah mengartikan kesamaan programmer lebih suka bekerja di linux untuk alat yang digunakan oleh pengembang? Untuk apa kebanyakan pengembang menggunakan 'kotak linux khusus' mereka?
sumber
Jawaban:
Sifat terbuka Linux memungkinkan Anda untuk melakukan berbagai tugas.
Itu bisa bertindak sebagai:
Webserver / repositori kode pribadi
Platform pengujian untuk kode beta sebelum Anda mengunggahnya ke dalam jalinan.
Firewall perangkat keras
Kotak unduhan torrent
Pemutar media yang dimuliakan (menjalankan Boxee atau XBMC)
Stasiun kompilasi kode
Sebuah kotak untuk menjalankan emulator video game saat kode sedang dikompilasi di mesin 'work' Anda.
Tempat untuk mencoba alat pengkodean baru sebelum Anda menambahkannya ke sabuk alat Anda.
Karena Linux gratis dan open source, jika salah satu dari kasus penggunaan ini tidak lagi relevan dengan kebutuhan Anda, Anda dapat memformat kotak dan mulai lagi dengan tujuan yang berbeda. Tidak ada salahnya, tidak busuk.
Mencari lebih banyak kegunaan? Coba periksa Linux Journal , terutama artikel mereka yang berfokus pada pemrograman di Linux.
sumber
Sederhananya, sebuah kotak Linux "khusus" adalah apa pun yang seseorang putuskan untuk didedikasikan! :)
sumber
Saya melakukan pengembangan yang ditargetkan pada perangkat keras yang menjalankan Linux sehingga kotak Linux khusus (yaitu bukan mesin Virtual) sangat penting bagi saya untuk bekerja.
Kami juga memiliki server build linux khusus yang digunakan untuk memastikan semua build kami dibangun dari status sistem yang diketahui.
Tetapi Anda dapat memiliki server database khusus, server web, dll. Tergantung sepenuhnya pada apa yang Anda coba lakukan, apakah Anda memerlukan kotak khusus atau apakah VM akan melakukannya.
sumber
Mesin linux khusus digunakan untuk pengembangan berkelanjutan dan merupakan mesin yang memungkinkan satu atau lebih pengguna untuk menyesuaikan semua perangkat lunak sesuai dengan kebutuhan mereka.
Misalnya, jika kotak linux digunakan untuk pengembangan web, minimal, itu akan menjadi tuan rumah server web (misalnya Apache) dengan semua modul yang diperlukan, akses ke sistem kontrol versi, dan menyediakan akses jarak jauh. Ini menghemat Anda harus menjalankan segala sesuatu di komputer Anda sendiri dan hanya mampu mengembangkan ketika komputer Anda menyala.
Selain menawarkan kenyamanan, ia juga memastikan lingkungan yang sama dengan sistem produksi. Ini menghilangkan masalah yang tidak disengaja yang timbul karena mengutak-atik komputer Anda.
sumber
Kotak Linux khusus pada dasarnya adalah mesin yang menjalankan Linux dan hanya Linux. Dalam konteks pengembangan web, ini mungkin berarti server uji, yang mengemulasi lingkungan target. Dengan kata lain Anda akan mendorong pekerjaan Anda ke kotak Linux, mengujinya di sana dan hanya kemudian mendorongnya ke server produksi.
sumber
Saya belum pernah mendengar ini, tapi saya kira itu berarti memiliki kotak Linux selalu tersedia, sebagai lawan memiliki mesin Windows dengan gambar Linux VM. Ini tidak masuk akal bagi saya, tetapi di mana saya bekerja kami memiliki beberapa server yang sangat besar yang hanya meng-host VM, jadi alih-alih empat server besar kami memiliki tujuh belas +/- lima yang virtual untuk berbagai keperluan dan proyek. Untuk semua tujuan praktis, sebagian besar kotak "khusus", karena selalu berjalan.
Saya kira apa yang sebenarnya dimaksud orang adalah Anda harus memiliki server terpisah (menjalankan apa pun) yang tersedia untuk penerapan pengujian, hosting basis data besar dan tugas intensif sumber daya lainnya yang Anda tidak ingin memperlambat mesin pengembangan Anda.
sumber
Kotak Linux khusus adalah kotak yang menjalankan Linux dan didedikasikan untuk tugas tertentu.
Masukkan dalam konteks pertanyaan Anda ini akan menjadi mesin (bisa jadi VM bisa fisik) yang tersedia untuk pengembang dan pengembang hanya untuk mengembangkan dan menguji aplikasi yang diharapkan berjalan di Linux. Namun yang penting adalah bahwa itu digunakan semata-mata untuk tujuan ini dan tidak akan ada perselisihan dalam hal dibutuhkan oleh orang lain atau untuk hal-hal lain.
Alasan ini berguna / perlu dalam beberapa situasi adalah untuk memaksimalkan produktivitas pengembang Anda tidak perlu menunggu jika Anda perlu menguji sesuatu di Linux, atau khawatir tentang perubahan pemasangan atau konfigurasi yang menyebabkan masalah bagi beberapa pengguna atau aplikasi lain. Pada dasarnya Anda harus bertanggung jawab kepada siapa pun atas apa yang terjadi pada kotak itu.
Jadi kontras dengan memiliki akses ke kotak Linux tetapi harus mengatur waktu untuk menggunakannya, menyetujui perubahan yang bisa dibuat dan sebagainya. Ini bisa dilakukan (biasanya) tetapi akan menghasilkan waktu yang terbuang saat Anda mencoba untuk mendapatkan waktu dan harus mengatasi kendala yang diberikan pada Anda oleh orang lain.
Apakah itu perlu? Tergantung - apakah Anda mengembangkan sesuatu yang diharapkan berjalan di Linux? Jika tidak maka tidak, itu sama sekali tidak relevan, jika demikian maka mungkin ya.
Dan seharusnya tidak ada masalah biaya - Anda dapat menjalankan Linux dengan sangat baik pada kotak $ 500 dan lisensi jelas tidak ada biaya sehingga benar-benar tidak boleh menjadi masalah.
sumber
Dalam konteks pengembangan web, "kotak Linux khusus" biasanya merujuk ke server yang dimiliki oleh orang lain. Anda menyewa perangkat keras dan biasanya beberapa layanan dukungan (seringkali minimal). Anda tidak membagikan perangkat keras dengan orang lain. Anda mungkin atau mungkin tidak diizinkan untuk memilih sistem operasi dan aplikasi.
Server khusus biasanya lebih berkaitan dengan penyebaran daripada pengembangan.
Menentang "server bersama" atau "lingkungan hosting virtual bersama", tempat banyak perusahaan (biasanya memiliki banyak situs web) berbagi perangkat keras, tetapi terisolasi oleh perangkat lunak. Berbagi perangkat keras berarti orang lain (yang biasanya tidak dapat Anda identifikasi atau hubungi) dapat benar-benar menyulitkan Anda dengan memonopoli CPU, disk, dll.
sumber
Jika Anda tidak suka penyebaran yang gagal, Anda ingin salinan terdekat dari lingkungan produksi Anda. Biasanya itu adalah VM, dan menjalankan VM seperti itu pada notebook misalnya biasanya tidak menyenangkan. (Setidaknya, Anda perlu menyimpan gambar untuk digunakan semua orang.) Selain itu, Anda ingin lingkungan integrasi / pengujian yang umum untuk semua orang di tim Anda, mis. Dengan basis data umum, repositori VCS pusat (nyaman bahkan dengan DVCS ), simpan untuk semua dependensi (versi yang tepat), dll.
Ini semua bisa menggunakan kotak khusus, tidak harus Linux, sedangkan Linux paling mudah.
sumber