Command Line

Version control system atau disingkat VCS adalah kategori perangkat lunak yang dapat membantu Kamu atau tim Kamu untuk mengelola setiap perubahan yang dilakukan dari waktu ke waktu. VCS merekam setiap perubahan kode yang dilakukan sehingga jika terjadi kesalahan kita dapat melakukan rollback untuk membanding code sebelum dan sesudah perubahan dilakukan sehingga dapat membantu kita dalam meminimalisir kesalahan.

Bagi seorang programmer source yang telah dibuat adalah aset yang berharga karena berisi kumpulan solusi dari masalah yang telah dipecahkan dan diselesaikan. Dengan adanya VCS dapat melindungi source code dari kesalahan yang dilakukan oleh manusia dan dari hal-hal lain yang tidak diinginkan. Tanpa VCS Kamu akan kesulitan dalam mengelola dan berkordinasi dengan tim terkait perubahan yang telah dilakukan sehingga tidak saling timpa-menimpa satu sama lain. Dalam mengembangkan perangkat lunak tanpa menggunakan VCS sangat beresiko, seperti tidak memiliki backup. VCS juga dapat membantu programmer untuk bekerja lebih cepat tanpa harus memikirkan file mana saja yang telah diperbaharui.

Ilustrasi alur managemen versi kode dengan VCS

VCS dikenal juga dengan istilah SCM (Source Code Management) tools atau RCS (Revision Controler System). Salah satu tools VCS yang paling populer dan banyak digunakan adalah Git. Git adalah VCS terdistribusi, bersifat open source dan gratis untuk digunakan. Mengingat pentingnya VCS dalam pengembangan perangkat lunak, menjadikannya salah satu hal yang wajib Kamu pelajari sebagai programmer.

Package manager adalah perangkat lunak atau tools yang digunakan untuk proses otomatisasi melakukan penginstalan, upgrading, konfigurasi dan menghapus program komputer untuk sistem operasi atau library dengan tuntas dengan menggunakan command tertentu. Package manajer menangani package, mendistribusikan perangkat lunak dan data dalam file arsip. Package berisi metadata, seperti nama software, deskripsi, version number, vendor, checksum dan daftar dependensi yang diperlukan agar software dapat berjalan dengan baik

Dalam dunia pemrograman juga terdapat berbagai macam package manager yang dapat digunakan guna menunjang proses development agar menjadi lebih cepat. Sebab kerap kali fitur yang kita inginkan sudah dibuat oleh orang lain menjadi sebuah library, sehingga kita tidak perlu membuat fitur yang serupa dan dapat menggunakan library yang sudah ada untuk diintegrasikan pada project kita.

Berikut beberapa nama package manager dan bahasa pemrograman yang menggunakannya, diantaranya:

  • Cabal (Haskell) : http://www.haskell.org/cabal
  • Composer (PHP) : https://getcomposer.org
  • Go Nuts (Go) : http://www.gonuts.io
  • Gradle (Groovy dan JVM language) : http://www.gradle.org
  • CPAN (Perl) : http://www.cpan.org
  • PIP / PyPI (Python) : https://pip.pypa.io
  • Bower (Js Css) : http://bower.io
  • NuGet (.NET Framework) : https://www.nuget.org
  • CocoaPods (Objective-C dan RubyMotion projects) : http://cocoapods.org
  • LuaRocks (Lua) : http://luarocks.org
  • Maven (Java) : http://maven.apache.org
  • npm (Node.js) : https://www.npmjs.org
  • RubyGems (Ruby) : https://rubygems.org
  • sbt (Scala) : http://www.scala-sbt.org
  • leiningen (Clojure) : http://leiningen.org

Cara menggunakan package manager di masing-masing bahasa pemrograman hampir serupa. Umumnya dengan membuat sebuah file berisi penentuan library apa saja yang dibutuhkan untuk aplikasi yang dikembangkan. File tersebut lantas di simpan bersamaan dengan project kita dan menjadi acuan bila hendak melakukan pembaharuan library.

Security dalam dunia teknologi adalah ide yang diterapkan untuk melindungi software dari serangan berbahaya dan resiko lainnya sehingga software tetap berfungsi sebagaimana mestinya. Security diperlukan untuk memberikan integritas, otentikasi dan availability dari aplikasi Kamu. Sebagai seorang programmer kita harus memikirkan keamanan dari aplikasi yang dibuat, dan seiring berjalannya waktu kita harus memperbaiki celah keamanan yang ditemukan. Celah keamanan dapat mengancam integritas data pengguna, baik terjadi secara tidak sengaja maupun dilakukan oleh orang-orang yang tidak bertanggung jawab untuk mencuri informasi, memantau konten, memanfaatkan celah lainnya bahkan pada tingkat paling parah bisa merusak aplikasi dan data di dalamnya.

Buffer overflow, command injection, SQL Injection adalah beberapa istilah untuk serangan yang paling umum pada perangkat lunak. Seorang IT profesional memahami bahwa setiap jenis perangkat teknologi dan sistem operasi pasti memiliki kerentanan terhadap berbagai masalah keamanan, baik dari internal maupun eksternal. Dengan pemikiran tersebut, prinsip secure coding membantu programmer untuk merancang dan mengembangkan software untuk mencegah berbagai celah keamanan.

Testing dalam sebuah aplikasi merupakan hal yang wajib dilakukan untuk mencari kesalahan yang terdapat dari aplikasi yang telah kita buat, sehingga error yang didapatkan bisa segera diperbaiki. Dalam ruang lingkup aplikasi yang masih sederhana, testing secara manual bukanlah perkara yang menyulitkan meski kadang merepotkan karena harus dilakukan berulang kali. Namun, dalam ruang lingkup aplikasi yang sudah cukup kompleks, testing menggunakan cara manual adalah cara yang tidak efektif karena akan menghabiskan banyak waktu dan tenaga.

Automate testing adalah proses pengujian aplikasi secara otomatis dengan menggunakan tools untuk mencari kesalahan pada code program sebelum berlanjut ke tahap rilis atau production. Berikut beberapa alasan kenapa harus menggunakan automated testing:

  • Sebab pengujian secara manual terhadap alur kerja, semua field, dan kemungkinan negatif yang dapat ditemukan memberlukan waktu dan biaya
  • Sangat merepotkan untuk menguji aplikasi secara manual karena melakukan hal yang sama secara berulang-ulang
  • Automated testing tidak memerlukan campur tangan manusia, Kamu bisa menjalankannya secara otomatis lalu tinggalkan
  • Automated testing meningkatkan kecepatan proses testing.

Komentar

Postingan populer dari blog ini

7+ Tipe Data C++ Berserta Contoh Program dan Jangkauannya

Mengenal Fitur CSS3