Bahasa Pemrograman

Ruby

Jalur lengkap bahasa pemrograman Ruby dari objek dasar, blok dan Enumerable, OOP, gem, pengujian, hingga posisi Rails dalam ekosistemnya.

Jalur Ruby membedah bahasa pemrograman berorientasi objek yang mengutamakan keterbacaan, mulai dari objek dasar, alur kendali, metode, koleksi dan Enumerable, blok, kelas, modul, penanganan exception, gem, hingga pengujian dan metaprogramming. Seluruh contoh dijalankan pada Ruby 3.4 melalui terminal, sehingga setiap konsep langsung terbukti dengan keluaran nyata. Jalur ditutup dengan peta posisi Ruby on Rails, framework web yang paling menonjol di ekosistem Ruby, agar hasil belajar bahasanya terhubung dengan penggunaannya yang paling umum.

Mengenal Ruby 3 pelajaran

Modul pembuka: filosofi bahasa Ruby, cara kerjanya sebagai bahasa interpretatif berorientasi objek, dan penyiapan lingkungan pengembangan.

  1. Apa itu Ruby ?Filosofi kebahagiaan pengembang dari Matz, warisan Rails, dan jangkauan Ruby dari skrip hingga aplikasi web.
  2. Cara kerja RubyRuby sebagai bahasa interpretatif, model segala-sesuatu-adalah-objek, dan eksplorasi kode lewat IRB.
  3. Penyiapan lingkunganMemeriksa versi Ruby, menggunakan IRB, menjalankan berkas .rb, dan mengatur editor teks.
Objek dan dasar-dasar 6 pelajaran

Modul fondasi bahasa: program pertama, variabel, serta tipe data inti Ruby yang semuanya berperilaku sebagai objek.

  1. Program pertamaMenulis dan menjalankan program Ruby pertama dengan puts, disertai aturan penulisan komentar.
  2. VariabelVariabel lokal Ruby, aturan penamaannya, dan sifatnya yang tidak memerlukan deklarasi tipe.
  3. Bilangan adalah objekInteger dan Float sebagai objek penuh: metode 3.times, konversi, dan operator yang sesungguhnya adalah metode.
  4. StringInterpolasi #{}, metode string yang umum digunakan, serta sifat mutabilitas dan frozen string literal.
  5. SymbolPerbedaan :symbol dengan string, jaminan keunikan identitasnya, dan kapan masing-masing digunakan.
  6. nil dan truthinessNilai nil dan aturan truthiness Ruby yang hanya menganggap false dan nil sebagai falsy.
Alur kendali 4 pelajaran

Modul alur kendali: percabangan if dan unless, pencocokan case/when, perulangan, serta pattern matching Ruby 3.

  1. if/elsif/else dan unlessPercabangan if/elsif/else, bentuk modifier X if Y, dan unless sebagai negasi terbaca.
  2. case/whenPencocokan nilai dengan case/when, termasuk rentang, kelas, dan Regexp di dalam when.
  3. Perulangan dan iteratorwhile, until, loop, serta iterator times, each, dan upto yang menjadi gaya Ruby.
  4. Pattern matching (case/in)Pencocokan pola case/in Ruby 3: destructuring array dan hash beserta penggunaan guard.
Metode 5 pelajaran

Modul metode: definisi dengan def, variasi parameter, konvensi penamaan predicate, lingkup variabel, dan rekursi.

  1. Mendefinisikan metodeMendefinisikan metode dengan def/end dan nilai kembalian implisit tanpa return.
  2. ParameterParameter posisi, nilai default, keyword argument, serta splat *args dan **kwargs.
  3. Metode predicateKonvensi metode bertanda tanya (?), tanda seru (!), dan gaya penamaan metode Ruby.
  4. LingkupLingkup variabel lokal, konstanta, dan urutan pencarian metode (method lookup).
  5. RekursiFungsi rekursif dengan kasus dasar dan kasus rekursif, beserta persoalan klasiknya.
Koleksi dan Enumerable 5 pelajaran

Modul koleksi: Array dan Hash secara mendalam, lalu metode Enumerable yang menjadi rutinitas harian Ruby.

  1. Array secara mendalamPembuatan array, pengindeksan termasuk indeks negatif, metode umum, dan array bersarang.
  2. HashPasangan kunci-nilai pada Hash, kunci symbol versus string, dan pengambilan nilai aman dengan fetch.
  3. each dan kerabatnyaMetode each beserta each_with_index, each_slice, dan each_entry untuk iterasi yang rapi.
  4. map, select, rejectPipeline transformasi data dengan map, penyaringan select dan reject, beserta padanan bang!-nya.
  5. reduce dan tallyAgregasi dengan reduce, penghitungan tally, pengelompokan group_by, dan pengurutan sort_by.

Modul block: yield, menulis metode penerima block, menyimpan block sebagai objek Proc, dan perbedaan proc dengan lambda.

  1. BlockBlock do...end dan { }, mekanika yield, serta argumen block berbentuk |x|.
  2. Menulis metode penerima blockMekanika yield di dalam metode sendiri dan pemeriksaan block_given?.
  3. ProcMenyimpan block menjadi objek Proc lewat Proc.new dan &, lalu memanggilnya dengan .call.
  4. LambdaLambda sebagai Proc ketat: perbedaan aturan arity dan perilaku return dibanding proc.
Kelas dan OOP 6 pelajaran

Modul OOP: mendefinisikan kelas dan instans, metode instans, kontrol akses, pewarisan, dan mekanika objek di Ruby.

  1. Kelas dan instansMendefinisikan kelas dengan initialize, variabel instans @, dan attr_accessor.
  2. Metode instansMetode instans, pemanggilan metode pada objek, dan peran self di dalam kelas.
  3. Getter/setter dan privasiattr_reader dan attr_writer, metode private dan protected, serta alasan enkapsulasi.
  4. PewarisanPewarisan dengan <, memanggil super, dan overriding metode milik kelas induk.
  5. Objek dan kelas secara mendalamMetode kelas, Class sebagai objek, dan mekanika sebenarnya di balik .new.
  6. to_s dan inspectRepresentasi string objek lewat to_s dan inspect, serta metode kesetaraan ==, eql?, dan equal?.
Modul dan mixin 3 pelajaran

Modul tentang module Ruby: sebagai namespace, sebagai mixin dengan include dan extend, serta pemanfaatan Comparable dan Enumerable.

  1. Modul sebagai namespaceMendefinisikan module sebagai namespace dan konstanta bersarang di dalamnya.
  2. MixinBerbagi perilaku dengan include dan extend, serta membaca jalur pencarian metode lewat ancestors.
  3. Comparable dan EnumerableMenyertakan Comparable dan Enumerable untuk mendapat kekuatan pustaka standar secara gratis.

Modul kesiapan produksi: penanganan exception, operasi berkas, penguraian JSON dan CSV, serta Struct dan Data.

  1. ExceptionMenangani error dengan begin/rescue/ensure, memunculkan raise, dan membuat kelas exception kustom.
  2. BerkasMembaca dan menulis berkas dengan File.read, File.write, dan File.open dengan blok.
  3. JSON dan CSVMenguraikan dan menghasilkan data JSON serta CSV menggunakan pustaka standar Ruby.
  4. Struct dan DataTipe record ringan dengan Struct dan Data untuk data terstruktur tanpa menulis kelas penuh.
Gem dan perkakas 4 pelajaran

Modul ekosistem: RubyGems, manajemen dependensi dengan Bundler, pengelola versi RVM dan rbenv, serta penulisan gem.

  1. Gem dan RubyGemsKonsep gem, perintah gem install, dan pemuatan pustaka dengan require.
  2. BundlerMenetapkan dependensi pada Gemfile dan menjalankan proyek dengan bundle exec.
  3. Pengenalan RVM/rbenvPengelola versi Ruby dan penetapan versi Ruby per proyek.
  4. Menulis gemStruktur gem, berkas gemspec, dan gambaran alur publikasi ke RubyGems.

Modul profesional: pengujian dengan Minitest dan RSpec, alur kerja TDD, serta pengenalan metaprogramming.

  1. MinitestMenulis assertion dengan Minitest yang tersedia bawaan Ruby dan disiplin pengujian dasar.
  2. Pengenalan RSpecGaya describe/it dan expectation pada RSpec, framework pengujian paling populer di Ruby.
  3. Alur kerja TDDSiklus red-green-refactor yang dipraktikkan langsung pada sebuah fitur kecil.
  4. Pengenalan metaprogrammingMenulis kode yang menghasilkan kode dengan define_method dan mengenal method_missing.

Modul penutup: mental model framework Rails dan tur pengenalan atas cara Rails bekerja.

  1. Mental model RailsPrinsip convention over configuration dan pemetaan keterampilan Ruby ke arsitektur MVC Rails.
  2. Tur pengenalan RailsTur fitur Rails: scaffolding, struktur proyek, dan hal yang diotomatisasi framework.