OOZOU
Hubungi Kami
Wawasan

Today I Learned

Catatan singkat dan praktis dari tim OOZOU: pelajaran cepat dari pekerjaan engineering dan desain sehari-hari.

semua topikshell 30ruby on rails 22ruby 12macos 10vim 7figma 4cli 3javascript 3heroku 1elixir 1
cli16 Februari 2026

Menjalankan Claude Code Sepenuhnya Otonom dengan Alias YOLO

Flag --dangerously-skip-permissions memungkinkan Claude Code menjalankan perintah dan mengedit file tanpa prompt konfirmasi. Mengetiknya setiap kali cepat membuat bosan.

cli20 Maret 2024

Menjalankan Perintah di GPU Nvidia Dedicated pada GNU/Linux (misalnya ollama)

Untuk memastikan sebuah perintah (CLI) memakai GPU NVIDIA Anda di GNU/Linux, Anda dapat memakai environment variable \\NV\PRIME\RENDER\OFFLOAD=1 dan \\GLX\VENDOR\LIBRARY\NAME=nvidiasebelum perintah Anda.

ruby on rails10 Februari 2022

Menggunakan Pundit Policy untuk Mengelola Permitted Parameter, Default dan Per Action

Untuk mengelola permitted params, Anda dapat menambahkan permitted\attributes dan permitted\attributes\for\#{action} di policy Anda, misalnya:

ruby on rails31 Januari 2022

Menggunakan `requestSubmit` untuk Submit Form dengan Turbo

Turbo mendengarkan event submit pada form. Oleh karena itu, selalu gunakan requestSubmit untuk men-submit form menggunakan JS.

ruby on rails19 Januari 2022

Mengabaikan Bundled Gems untuk Rubocop dan ESLint di GitHub Actions

Proyek Rails sering menginstal gem ke direktori vendor di GitHub Actions agar gem tersebut dapat di-cache untuk eksekusi berikutnya.

macos20 Agustus 2021

Menambahkan Drop Shadow ala macOS pada Tangkapan Layar "Parsial" atau Gambar Berbingkai Polos

Secara default, suka atau tidak, kombinasi tombol macOS untuk menangkap layar aplikasi penuh (⇧- ⌘- 5) akan menambahkan bayangan halus di sekitar gambar yang Anda simpan. Ini dapat membuatnya tampak lebih menarik saat…

figma22 Juni 2021

Membuat Layar Monokrom Menggunakan Layer Overlay yang Ditutupi Efek Fill Hue

Membuat layar monokrom menggunakan layer overlay yang ditutupi efek fill hue

figma18 Juni 2021

Tahan ⌥option Sambil Klik & Seret di Input Field untuk Mengatur Ukuran

Tahan ⌥option sambil klik & seret di sepanjang input field untuk mengatur ukuran

cli25 Mei 2021

git check-ignore

Perintah ini memungkinkan Anda men-debug apakah suatu file/path di-ignore dan, dengan flag -v, juga menampilkan pola exclude yang cocok (Docs).

ruby30 April 2021

Mengizinkan Paste Blok Ruby Multibaris di Pry Saat Menggunakan Notasi Titik di Awal

Sekarang kami sering menggunakan notasi titik di awal baris, misalnya:

ruby on rails18 April 2021

Rails 6, Ruby 3, Bootstrap 5, dan Hotwire

Melengkapi blogpost dari Bootrails dengan Hotwire: Semua hal baru yang keren (saat TIL ini ditulis):

figma17 Februari 2021

Mengubah Objek Teks Menjadi Title Case di Figma

Anda dapat mengatur properti Text box agar semua teks otomatis diubah menjadi Title Case (beserta format huruf umum lainnya)

heroku6 Januari 2021

Mengurangi Ukuran Slug Heroku

Pertama, instal plugin Heroku Repo:

shell8 Desember 2020

Menjalankan Perintah Incognito/Privat di Bash dan Zsh

Cukup tambahkan spasi sebelum perintah dan perintah tersebut tidak akan disimpan ke ~/.bash\_history. Contoh: qrencode -o out.png "Some secret text"

macos7 November 2020

Mengonversi SVG ke PNG

Di MacOS, instal inkscape (dengan brew) dan gunakan seperti ini:

figma31 Oktober 2020

Perilaku CMD+Click di Figma

Menahan ⌘CMD sambil Klik Kiri di Designer mode akan memilih layer terdalam di dalam frame/group tersebut, sedangkan melakukannya di inspector/developer mode akan memilih objek/frame/group terluar…

ruby on rails27 Oktober 2020

Cache-Control di Rails

Untuk mengaktifkan pengaturan header cache-control pada aset statis dan menggunakan CDN di Heroku:

shell22 Oktober 2020

Upgrade Database Postgres dengan Homebrew

Untuk melakukan upgrade postgres, Anda dapat menjalankan

ruby on rails14 Oktober 2020

Memperbaiki Input di Rails Console Heroku

Jika Anda menempelkan banyak baris ke rails console di Heroku (atau di tempat lain), Anda mungkin mengalami masalah baris-baris yang "bercampur" satu sama lain.

ruby14 Oktober 2020

Heredoc tanpa Interpolasi

Terkadang Anda ingin menggunakan Heredoc di Ruby tanpa interpolasi ('#{....}'). Anda dapat melakukannya dengan menambahkan tanda kutip tunggal di sekitar kata kunci Anda:

ruby on rails14 Oktober 2020

ID Unik untuk DOM di Rails

Rails memiliki banyak view helper yang hebat, salah satunya adalah dom\id:*

ruby on rails13 Oktober 2020

Menambahkan Tipe Baru ke Attributes API Rails 5

Attributes API di Rails 5 memungkinkan kita membuat form object dengan sangat mudah.

macos13 Oktober 2020

Tambahkan Spacer ke Dock macOS untuk Membuat Grup Aplikasi

Buka term (atau aplikasi sejenis) lalu tempelkan perintah satu baris berikut:

shell13 Oktober 2020

Menyalin dengan Amazon AWS S3 CLI sambil Mengatur Izin

Buka term (atau yang setara) lalu tempelkan perintah berikut:

shell13 Oktober 2020

Membersihkan Docker secara Brutal

Jika Anda mendapatkan error No Space left di Docker, inilah solusi brute force-nya:

ruby on rails13 Oktober 2020

Melampirkan File ke ActiveStorage tanpa HTTP

Jika Anda ingin melampirkan file yang dibuat di disk atau diunduh dari URL yang dikirimkan pengguna, Anda dapat melakukannya seperti ini.

ruby13 Oktober 2020

Hashtable Tingkat Menengah yang Terbentuk Otomatis di Ruby

Semua hashtable tingkat menengah akan dibuat secara otomatis

shell13 Oktober 2020

Mencadangkan File dengan Nama yang Sama + Prefiks

CATATAN: Sebenarnya Anda dapat menggunakan !#:1 di setiap perintah karena itu adalah argumen terakhir yang diberikan ke sebuah perintah.

shell13 Oktober 2020

Alias Bash dan Keajaibannya

Saya punya file terpisah di folder pengguna saya bernama ~/.aliases untuk menyimpan semua alias bash saya. Saya sering memakai alias dan rutin menambahkan yang baru, jadi saya membuat fungsi bash untuk menambahkan alias baru…

elixir13 Oktober 2020

Menghitung Anagram di Elixir

Contohnya:

ruby13 Oktober 2020

Mengganti Versi Ruby untuk Satu Perintah dengan rbenv

Anda dapat mengganti versi Ruby sementara dengan rbenv local

macos13 Oktober 2020

Mengubah Nama Sistem di macOS

Dari term (atau yang setara), salin dan tempelkan:

ruby13 Oktober 2020

Ubah Go to Definition di VS Code menjadi Cmd+Click

Cukup buka file JSON pengaturan pengguna Anda dan gunakan opsi ini:

shell13 Oktober 2020

Memeriksa Ketersediaan Barang IKEA

Jika Anda sedang menunggu stok barang IKEA kembali tersedia, berikut solusi praktis agar Anda selalu mendapat informasi secara otomatis. Panduan ini menjelaskan cara memakai shell script untuk memeriksa ketersediaan stok IKEA dan…

shell13 Oktober 2020

Memeriksa Apakah Sebuah Perintah Tersedia dengan Shell Script

Memeriksa apakah sebuah perintah tersedia dengan shell script

macos13 Oktober 2020

Mengelola Tab di Chrome

Terkadang saya ingin kembali ke halaman terakhir yang saya lihat sambil tetap membiarkan halaman saat ini terbuka. Anda dapat melakukannya dengan sangat mudah menggunakan pintasan

macos13 Oktober 2020

Membersihkan Formula Usang di brew

Gunakan brew cleanup untuk mendapatkan kembali sebagian ruang penyimpanan!

ruby on rails13 Oktober 2020

Membuat Hash dari Enumerable (Rails 6.0)

Method baru yang memungkinkan Anda membuat Hash dari Enumerable:

ruby on rails13 Oktober 2020

Membuat Migration yang Idempoten

Saat menulis migration yang destruktif, gunakan if\exists: true ketika Anda menghapus tabel, dan periksa keberadaan tabel ketika Anda ingin menambah atau menghapus kolom…

shell13 Oktober 2020

Membuat Perintah Git Anda Sendiri (Alias)

Pernah ingin mempersingkat perintah git? Anda tentu bisa menggunakan alias shell, tetapi Anda harus selalu menyertakan konteks agar tidak lupa arti setiap alias. Namun, Anda juga dapat mendefinisikan perintah…

shell13 Oktober 2020

Menghapus Branch yang Sudah Di-merge di Git

Anda dapat menambahkan lebih banyak branch ke daftar aman di egrep -v 'master|develop|foo|bar'

shell13 Oktober 2020

Menghapus Branch git yang Sudah Di-merge

Perintah git praktis untuk menghapus semua branch git lokal yang sudah di-merge git branch --merged | egrep -v "(^\\|master|dev)" | xargs git branch -d*

javascript13 Oktober 2020

Destructuring Assignment di JS

Contoh sederhana javascript const [a, b, ...c] = [10, 20, 100,200] // a= 10, b=20, c=[100,200] const { first, second } = { first: 1, second: 2 } // first = 1, second = 2

shell13 Oktober 2020

Membandingkan File Lokal dengan Versi Remote di Git

Cukup jalankan perintah di bawah ini untuk mendapatkan diff terhadap versi remote

shell13 Oktober 2020

Menemukan Branch Berdasarkan Commit

c198bb715 Make default expired description logic pretty `

shell13 Oktober 2020

Force Push Commit Sebelumnya ke Repo

Jika Anda sudah push kode dan ingin melakukan force push ke commit sebelumnya, Anda dapat melakukannya dengan shell git push origin +commit\sha^:branch\name

shell13 Oktober 2020

Mendapatkan Nama Branch Git Saat Ini

Mendapatkan nama branch git saat ini

macos13 Oktober 2020

Mendapatkan Kata Sandi Wi-Fi yang Sedang Anda Gunakan

password: "!forHackers" `

shell13 Oktober 2020

Menelusuri Riwayat Git Sebuah File (GUI)

Menelusuri riwayat Git sebuah file (GUI)

javascript13 Oktober 2020

Cara Membuat Elemen HTML beserta Atributnya dalam Satu Baris di JavaScript

Saat mengerjakan proyek JavaScript, membuat elemen HTML secara dinamis adalah hal yang umum. Secara tradisional, Anda mungkin memakai beberapa baris kode untuk membuat elemen dan mengatur beberapa atribut…

ruby on rails13 Oktober 2020

Cara Menemukan God Object di Proyek Anda (Rails)

Buka root proyek Anda dan cd ke app/models (tentu saja menggunakan CLI), lalu jalankan wc -lw \ | sort -u*

vim13 Oktober 2020

Cara Keluar dari Vim

1. Instal Vim versi terbaru 2. Buka sebuah file di Vim 3. ⌘-Q dan tutup terminal 4. Buka kembali terminal

vim13 Oktober 2020

Cara Benar-Benar!! Keluar dari vim

Di terminal

vim13 Oktober 2020

Cara Menyimpan File dengan sudo di VIM

Cara menyimpan file dengan sudo di VIM

ruby on rails13 Oktober 2020

Form HTML yang Mengirim ke Action Lain

Sudah lama saya tahu bahwa Anda dapat mengirim nilai melalui tombol submit, sehingga Anda bisa melacak tombol mana yang digunakan untuk mengirim form, misalnya:

ruby on rails13 Oktober 2020

Jika Anda Ingin Menimpa Urutan yang Sudah Diatur Sebelumnya

Jika Anda ingin menimpa urutan yang sudah diatur sebelumnya (bahkan melalui default\_scope), gunakan reorder() sebagai gantinya.

ruby13 Oktober 2020

Meningkatkan Performa Bundler

Tingkatkan performa bundler Anda dengan menjalankan task bundler secara bersamaan dalam beberapa job:

shell13 Oktober 2020

Menghentikan Rails yang Macet

Saya ingin menghentikan rails yang berjalan di port tertentu. (Laptop saya menjalankan beberapa server rails.)

shell13 Oktober 2020

Menghentikan Sesi SSH yang Tidak Merespons

Sesekali sesi SSH bisa berhenti merespons. Ini cukup sering terjadi jika saya membuat laptop masuk mode sleep. Daripada menutup tab, Anda dapat menggunakan SSH Escape Characters untuk menghentikan sesi tersebut

ruby on rails13 Oktober 2020

Membatasi Asosiasi has_many

Membatasi asosiasi has_many

shell13 Oktober 2020

Menampilkan Struktur Direktori kecuali Satu atau Beberapa Direktori

Pernah ingin menampilkan struktur direktori saat ini kecuali satu atau dua direktori?

ruby on rails13 Oktober 2020

Menampilkan Daftar Nama Model Anda

CATATAN: RUBYOPT=-W0 menekan peringatan sehingga output tidak terlalu ramai saat menjalankan perintah rails.

shell13 Oktober 2020

Membuat PR dari Command Line Menggunakan hub

instal hub terlebih dahulu dengan brew: brew install hub lalu gunakan perintah sederhana, seperti contoh di bawah ini: hub pull-request -m "best pr ever" -b oozou:develop -h feature/awesome-improvements

macos13 Oktober 2020

Shortcut Slack yang Paling Sering Saya Gunakan

⌘-K (atau T) untuk membuka channel switcher (saya berpindah channel hanya dengan shortcut ini dan mengatur Slack saya agar menyembunyikan semua channel yang tidak memiliki pesan baru)

ruby13 Oktober 2020

Relasi optional + RSpec dengan shoulda-matchers

User 1 - 0..1 Laptop

ruby on rails13 Oktober 2020

Fungsi Postgres & Query Non-sargable

Menggunakan fungsi postgres di dalam klausa where dapat membuat query menjadi non-sargable.

ruby on rails13 Oktober 2020

UPDATE Join di PostgreSQL

Query ini menunjukkan cara menggunakan sintaks UPDATE join di PostgreSQL untuk memperbarui data dalam sebuah tabel berdasarkan nilai di tabel lain. Contohnya:

vim13 Oktober 2020

Memindahkan Baris ke Atas dan ke Bawah dengan Cepat di Mode Vim Apa Pun

Saya sering memindahkan baris di vim, jadi saya membuat mapping untuk mempermudahnya. Mapping ini memakai ⌘-j untuk memindahkan ke bawah dan ⌘-k untuk memindahkan ke atas. Berfungsi di mode normal, insert, dan visual. vim nnoremap <D-j> :m…

ruby13 Oktober 2020

Menghapus Bundler Bawaan Ruby 2.6

Membuat aplikasi Rails 6 dengan Ruby 2.6+ saat Anda sudah menginstal bundler v2 akan menghasilkan binstub yang tidak dapat digunakan. Jika Anda melihat error You must use Bundler 2 or greater with this lockfile. Anda dapat menghapus…

shell13 Oktober 2020

Menghapus Commit yang Tidak Diinginkan dari Branch Anda

Menghapus commit yang tidak diinginkan dari branch Anda

vim13 Oktober 2020

Mengganti Nama File di VIM

Berikut fungsi praktis yang saya gunakan untuk mengganti nama file di VIM (juga berfungsi di MacVIM dan Neovim)

macos13 Oktober 2020

Mereset Sequence Tabel Postgres setelah DELETE

Saat menghapus record terbaru dari sebuah tabel, Anda dapat mereset penghitung sequence-nya jika kesinambungan field auto-increment penting bagi Anda. Perhatikan tindakan pada tabel berikut, users:

shell13 Oktober 2020

Memulihkan File yang Terhapus di Git

Memulihkan file yang terhapus di Git

ruby13 Oktober 2020

Menjalankan Rubocop pada Branch Anda Saat Ini

Menjalankan rubocop pada branch Anda saat ini

ruby13 Oktober 2020

Menjalankan Rubocop sebelum Commit

Git hook sangat ampuh untuk mengotomatiskan tugas dan menegakkan standar penulisan kode di repository Git. Salah satu penggunaan umum Git hook adalah menjalankan test otomatis dan alat analisis kode sebelum…

shell13 Oktober 2020

Menjalankan Perintah yang Sama pada Input yang Berbeda

Jika Anda harus menjalankan perintah yang sama berulang kali pada satu atau beberapa input yang berbeda.

ruby on rails13 Oktober 2020

Menggabungkan Scope dengan or di Rails

scope :human, -> { user.or(author) } scope :terminator, -> { admin.or(robot) } `

shell13 Oktober 2020

Melihat File yang Terhapus di Commit Sebelumnya [git]

Melihat file yang terhapus di commit sebelumnya [git]

shell13 Oktober 2020

Mengirim Pesan ke Slack Menggunakan cURL

Slack memungkinkan Anda mengirim pesan melalui layanan Webhooks

shell13 Oktober 2020

Shallow Clone Repo Lama

Jika Anda tidak memerlukan riwayat git lengkap dari repo yang akan Anda kerjakan, Anda dapat menentukan clone depth agar hanya meng-clone x revisi dari repo tersebut.

ruby on rails13 Oktober 2020

Menampilkan TODO dan Catatan Lainnya di Aplikasi Rails Anda

Tahukah Anda bahwa Anda dapat menampilkan semua TODO/OPTIMIZE/FIXME di aplikasi Rails Anda dengan rails notes?

javascript13 Oktober 2020

Arsitektur Flux Sederhana dengan Vue.js

Untuk aplikasi kecil yang hanya memerlukan pola state management sederhana, saya selalu menggunakan satu komponen untuk menyimpan state aplikasi, yaitu sebuah container. Container ini berfungsi sebagai single source of truth yang menjadi acuan aplikasi…

ruby13 Oktober 2020

Menyembunyikan Warning rspec

$ RUBYOPT=W0 bundle exec rspec spec/ ...

ruby on rails13 Oktober 2020

Menandai Log Rails dengan Informasi yang Berguna

Baru saja belajar tentang tagged logging di rails. Tahukah Anda bahwa Anda dapat menandai log dengan menggunakan

vim13 Oktober 2020

Menggunakan Huruf Kapital di Mapping VIM

CATATAN: @joe ini menyelesaikan masalah Anda :D

macos13 Oktober 2020

Menggunakan FFmpeg dan Apple Script untuk Mengompres Video

Buat aplikasi tempat Anda dapat drag-and-drop video untuk mengompresnya secara signifikan:

shell13 Oktober 2020

Menggunakan `host` untuk Mendapatkan Informasi Lebih Lanjut tentang Domain

Anda mungkin menggunakan dig untuk mencari record A/CNAME/MX dan lainnya dari sebuah domain di server DNS. Namun, jika Anda hanya ingin gambaran singkat, gunakan host:

ruby on rails13 Oktober 2020

Gunakan minItems/maxItems di JSON Schema Koleksi

Agar JSON schema koleksi Anda lebih andal, gunakan minItems dan maxItems sehingga Anda dapat memercayai API Anda.

vim13 Oktober 2020

Menggunakan Neovim sebagai git difftool

Cukup tempelkan ini ke ~/.gitconfig Anda

shell13 Oktober 2020

Menggunakan Fitur Alias di Git

Git memungkinkan Anda membuat alias secara internal melalui config. Config global Anda seharusnya berada di ~/.gitconfig

shell13 Oktober 2020

Memantau Status CI di Github

Jika Anda sudah memasang hub dari Github, Anda dapat melihat ci-status branch Anda saat ini seperti ini:

ruby13 Oktober 2020

Anda Dapat Menggunakan FactoryBot untuk Model Non-ActiveRecord

Anda dapat menggunakan method initialize\with* dari FactoryBot untuk menginisialisasi objek dengan cara apa pun yang Anda inginkan, sehingga Anda bisa membuat factory untuk objek apa pun sesuka hati

shell13 Oktober 2020

Fungsi Zsh untuk Menampilkan Pohon File

Saat menjelajahi direktori di command line, sering kali berguna untuk melihat struktur direktori dan subdirektori dalam format "pohon". Meskipun ada banyak alat yang tersedia, seperti…

Punya proyek yang ingin diwujudkan?

Kami ingin mendengar apa yang sedang Anda bangun.

Mulai Percakapanhello@oozou.com
OOZOU Logo

Bangkok · Singapura · Hong Kong

X
Facebook
Instagram
LinkedIn
OOZOU Co., Ltd.
548 One City Centre
Ploenchit Road
Bangkok 10330
Thailand
+66 2544 0000
hello@oozou.com

Layanan

  • Pengembangan Web
  • Agen AI & Generative AI
  • Pengembangan Aplikasi Mobile
  • Analitik Data & Data Engineering
  • Desain UI/UX & Produk
  • Transformasi Digital

Perusahaan

  • Tentang Kami
  • Karier
  • Blog
  • Studi Kasus
  • Demo Langsung
  • Today I Learned
  • Hubungi Kami

Lainnya

  • Industri
  • Jaringan Mitra
© 2026 OOZOU. Hak cipta dilindungi undang-undang.
Kebijakan PrivasiKode EtikKebijakan ABAC