Langsung ke konten utama

Jurang Pengembangan Software di Dunia Open-Source

     E ra D i srupsi      2 025 ini adalah tahun terpesat dimana dunia A rtificial I ntelligence berkembang pesat, dimana pengerjaan kode sudah terlampaui oleh sistem kecerdasan buatan ini, semua aspek komprehensif didalam dunia programming seperti syntax itu sudah terkuasai oleh data, sehingga memungkinkan penggunanya untuk cukup memerintahkan penulisan kode yang begitu sederhana. Namun, di lain waktu, cara orang untuk mempelajari bahasa pemrograman pun akan terlihat lebih sederhana karena bantuan alat kecerdasan buatan, AI .

Jurang Pengembangan Software di Dunia Open-Source

    Era Disrupsi

    2025 ini adalah tahun terpesat dimana dunia Artificial Intelligence berkembang pesat, dimana pengerjaan kode sudah terlampaui oleh sistem kecerdasan buatan ini, semua aspek komprehensif didalam dunia programming seperti syntax itu sudah terkuasai oleh data, sehingga memungkinkan penggunanya untuk cukup memerintahkan penulisan kode yang begitu sederhana. Namun, di lain waktu, cara orang untuk mempelajari bahasa pemrograman pun akan terlihat lebih sederhana karena bantuan alat kecerdasan buatan, AI.

    Pengenalan Software Programming

    Programming yang akan kita bicarakan ini adalah software programming, saya akan menyingkat kata ini menjadi programming dan programmer saja untuk mempersingkat kalimat; Banyak orang yang sedang belajar bahasa pemrograman, mereka belajar hal-hal dasar seperti variabel, struktur, fungsi, hingga hal-hal yang lebih konseptual seperti syntax, class, dan konsep yang lebih besar lagi seperti object-oriented programming; semua aspek mereka pelajari untuk mengeksekusi pembuatan sistem apa yang akan dibangun oleh sang programmer. Semakin kompleks kebutuhan untuk menyelesaikan masalah dunia nyata, semakin mengikis banyak waktu pula untuk sang programmer membangun semua sistem itu; barulah mereka membuat program dengan file-file yang terstruktur seperti library, atau saya nyaman menyebutnya module.

Sebuah snippet kode Python yang menunjukkan import sebuah objek component_a dan sebuah fungsi function_do_thing dari sebuah module file

    Module ini bisa dijadikan sebuah komponen yang berwujud file, dimana didalamnya terlibat dan terdapat mekanisme semisal import dan export untuk menggunakan ulang variabel, struktur, maupun fungsi atau yang lainnya; Banyak sekali sistem-sistem yang kompleks dapat dipecah dengan salah satu cara ini, hingga banyak juga orang yang mengembangkan berbagai macam pattern atau pola penciptaan sistem ini sebagai model guna mempermudah dan menyederhanakan masalah yang nantinya akan diselesaikan, contohnya semisal pattern yang cukup populer didalam pengembangan web, yaitu Model-View-Controller, dan banyak orang yang membuat sebuah framework sebagai implementasi siap guna dari model pattern ini untuk para programmer.

    Jurang Para Programmer

    Karena banyak programmer yang terkadang sedang belajar; sementara mereka juga terkadang tidak mengetahui dan bodo amat pada module yang mereka instal untuk sistem mereka, yang bahwasanya module itu biasanya mereka instal dari repositori yang siap pakai. Disinilah jurang-jurang dan kecacatan itu dimulai karena segala komponen-komponen yang didalam module terkadang mereka tidak baca, atau bahkan terlalu kompleks hanya untuk membaca sistem didalam kodenya saja. Saya ingat, pernah ada orang yang mengutip seperti ini:

You may not like it, but the truth is you're not a software engineer; you're a "frameworker" or someone who can copy and paste better. - Muneeb Hussain @ Medium

Dan memang itulah kenyataannya yang dibiasakan para programmer, dan sebenarnya tidak hanya itu juga yang menjadi jurang para programmer, melainkan ada pula hal-hal lain seperti ketergantungan update module, dimana keamanan yang telah ada namun belum teridentifikasi menjadi sebuah bencana bagi banyak orang, seperti insiden yang membuka celah Remote Code Execution (eksekusi kode secara remote) pada module Apache Log4j di beberapa tahun yang lalu.

Postingan populer dari blog ini

Linux NAT : Sekedar Coretan Tentang NAT

Kadang orang-orang yang sering ngulik pada konsep jaringan menemukan hal ini, NAT. Mungkin alasannya ketika ingin memblokir atau mencegah koneksi agar supaya tidak masuk ke mesin Linux yang dipakainya, atau mungkin gimana cara jaringan lokal bisa konek ke Internet lewat mesin Linux yang dipakainya. Kepanjangan NAT adalah Network Address Translation , atau bahasanya Translasi Alamat Jaringan. Ya, definisi NAT yang diambil di Wikipedia adalah "A method of remapping one IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device." Yang artinya "Sebuah metode untuk memetakan ulang satu ruang IP address ke IP address yang informasinya dimodifikasi di header paket disaat paket itu sedang transit di perangat perutean lalu lintas". NAT bisa juga dibilang salah satu fungsi dari router, karena memang fungsinya untuk mengubah informasi paket IP address, mulai dari destination ...

SSH : Reverse Tunneling

SSH Reverse Tunneling ini satu cara buat kita yang mau jadikan komputer Linux kita supaya bisa diakses lewat jaringan internet bantuan Alamat IP Public. Reverse SSH Tunneling ini sama dengan SSH Tunneling biasa. Cuma bedanya kalau Reverse SSH Tunneling ini titik aksesnya ada di server SSH itu sendiri supaya host/server tujuan itu bisa diakses di jaringan internet lewat port yang terbuka di server SSH. Reverse SSH Gratis Serveo.net Serveo ini adalah salah satu penyedia Layanan Reverse SSH yang semua orang dapat memakainya secara gratis. Layanan ini dapat kita pakai dengan perintah ssh di OS Linux dengan opsi -R .        ssh -R [Remote Port]:[Destination Address]:[Destination Port] serveo.net -p 22 Disini kita dapat menentukan Remote Port, Destination Address beserta Destination Portnya. Untuk itu, Remote Port adalah nomor port yang akan menjadi titik akses dari server. Destination Address adalah alamat tujuan ketika kita terhubung ke server SSH dengan...