Ruby on Rails

Ruby on Rails

BACKEND

Framework web full-stack yang dibangun dengan Ruby menawarkan pendekatan "Convention over Configuration" dan "Don't Repeat Yourself" untuk memaksimalkan produktivitas. Arsitektur MVC yang matang dengan Active Record ORM, scaffolding otomatis, sistem migrasi yang robust, dan ekosistem lengkap untuk REST API dan aplikasi web modern.

Apa yang akan Anda pelajari

Ruby modern dengan sintaks elegan, blocks, metaprogramming, dan gems

Active Record ORM dengan associations, validations, callbacks, dan migrasi

Convention over Configuration untuk produktivitas maksimal

Rails generators untuk scaffolding cepat (models, controllers, migrations)

Action Cable untuk WebSockets real-time yang terintegrasi secara native

Active Storage untuk upload file dengan penyimpanan cloud (S3, GCS)

Action Mailer untuk email transaksional dengan template ERB

Active Job untuk background jobs dengan adapters (Sidekiq, Resque, Delayed Job)

Pengujian komprehensif (RSpec, Minitest, fixtures, factories dengan FactoryBot)

Performa dengan caching (Redis, Memcached), eager loading, dan turbo-rails

Topik utama yang harus dikuasai

Konsep terpenting untuk memahami teknologi ini dan berhasil di wawancara

1

Ruby: blocks, procs, lambdas, symbols, metaprogramming, modules dan mixins

2

Arsitektur Rails: pola MVC, config/routes.rb, autoloading, Zeitwerk

3

Active Record: models, associations (has_many, belongs_to, has_and_belongs_to_many)

4

Validasi AR: presence, uniqueness, validator kustom, konteks validasi

5

Callbacks AR: before_save, after_create, around_update, lifecycle hooks

6

Migrations: create_table, add_column, change_column, rollback, schema.rb

7

Routing: resources, nested routes, namespaces, constraints, route helpers

8

Controllers: params, strong parameters, filters (before_action), respond_to

9

Views: template ERB, partials, helpers, layouts, content_for/yield

10

Active Record Query: where, joins, includes, preload, eager_load (pencegahan N+1)

11

Rails API mode: aplikasi API-only, serializers (ActiveModel::Serializers, jbuilder)

12

Autentikasi: Devise gem, has_secure_password, manajemen sesi, cookies

13

Otorisasi: Pundit gem, CanCanCan, policies, kontrol akses berbasis peran

14

Action Cable: channels, streams, broadcasting, koneksi WebSocket

15

Active Job: perform_later, queue adapters (Sidekiq), prioritas job, retry logic

16

Active Storage: attachments (has_one_attached, has_many_attached), variants, direct uploads

17

Pengujian: RSpec (describe, context, it), FactoryBot, fixtures, request specs, system tests

18

Concerns: ActiveSupport::Concern, penggunaan ulang kode, komposisi modul

19

Rails engines: mountable engines, namespacing, pengembangan gem

20

Performa: fragment caching, Russian doll caching, optimisasi query, bullet gem

21

Keamanan: perlindungan CSRF, pencegahan SQL injection, perlindungan mass assignment (strong params)

22

Deployment: Capistrano, Heroku, Docker, server Puma/Unicorn, assets pipeline