Yᴏᴜʀ Pʀᴏᴅᴜᴄᴛ ʜᴇʀᴇ!
Tambahkan tautan ke perusahaan atau proyek Anda di sini: beli sponsor GitHub.
Logika dunia lebih penting daripada kebenaran dan kepalsuan.
— Ludwig Wittgenstein [1]
Daftar kebohongan yang diyakini oleh programmer. Kepalsuan adalah gagasan yang awalnya Anda yakini benar , namun kenyataannya, terbukti salah .
Misalnya sebuah ide : alamat email yang valid hanya memiliki satu karakter @
. Jadi, Anda akan menggunakan aturan ini untuk menerapkan logika validasi bidang email Anda. Benar? Salah! Kenyataannya adalah: email dapat memiliki banyak karakter @
. Oleh karena itu implementasi Anda harus memungkinkan hal ini. Ide awalnya adalah kepalsuan yang Anda yakini.
Artikel-artikel palsu yang tercantum di bawah ini berisi daftar lengkap keyakinan-keyakinan salah yang harus Anda waspadai, untuk membantu Anda menjadi programmer yang lebih baik.
Isi
- Meta
- Seni
- Bisnis
- mata uang kripto
- Tanggal dan Waktu
- Pendidikan
- email
- Geografi
- Identitas Manusia
- Internasionalisasi
- Pengelolaan
- Multimedia
- Jaringan
- Nomor Telepon
- Alamat Pos
- Sains
- Masyarakat
- Rekayasa Perangkat Lunak
- Angkutan
- Tipografi
- Video Game
- jaring
Meta
- Kepalsuan yang Dipercaya Pemrogram - Daftar singkat kebohongan yang umum. Ikhtisar yang bagus dan pengenalan singkat ke dalam dunia kepalsuan.
- Kepalsuan tentang Pemrograman - Daftar sederhana dan menyenangkan tentang pemrograman dan pemrogram itu sendiri.
- Kepalsuan tentang Daftar Kepalsuan - Komentar meta tentang bagaimana kepalsuan ini tidak boleh ditangani.
Seni
- Kepalsuan tentang Musik - Asumsi salah yang mungkin dibuat dalam mengkodifikasi musik.
- Kepalsuan tentang Seni - Kesalahpahaman umum tentang seni.
Bisnis
- Kebohongan tentang Belanja Online - Meliputi harga, mata uang, dan inventaris.
- Kepalsuan tentang Harga - Meliputi mata uang, jumlah dan lokalisasi.
- Kebohongan tentang IBAN - Nomor Rekening Bank Internasional tidak bersifat internasional.
- Kebohongan tentang Ekonomi – Ekonomi tidaklah sederhana atau rasional.
- Kesalahan Titik Desimal dalam Sistem Akuntansi Etsy - Pentingnya tipe dalam perangkat lunak akuntansi: kehilangan titik desimal akan mengakibatkan tagihan berlebih 100x.
- Uang lucu dua puluh lima ribu dolar - Kesalahan yang sama seperti di atas di Google Ads, atau bahaya memisahkan uang Anda dari dolar, saat kupon internal $250 berubah menjadi $25.000. Saran saya: singkirkan bilangan bulat dan float untuk nilai moneter. Gunakan desimal. Atau mundur ke string dan parsing, jangan validasi.
- Karakter
<
dan >
dalam nama perusahaan menyebabkan serangan XSS - Karena Inggris memperbolehkan perusahaan untuk didaftarkan dengan karakter khusus, peretas memanfaatkannya untuk mendaftarkan "><SCRIPT SRC=MJT.XSS.HT></SCRIPT> LTD
, tetapi juga ; DROP TABLE "COMPANIES";-- LTD
BETTS & TWINE LTD
SAFDASD & SFSAF ' SFDAASF" LTD
- Detail nama perusahaan - Bagaimana peraturan Negara Bagian Delaware dan IRS tidak bersinggungan.
- Definisi mata uang CLDR - Rentang tanggal validitas mata uang tumpang tindih karena pemberontakan, invasi, konstitusi baru, dan lambatnya adopsi yang direncanakan.
-
tax
- Perpustakaan manajemen pajak PHP 5.4+.
mata uang kripto
- Kepalsuan tentang Bitcoin - Daftar perspektif yang salah tentang Bitcoin.
- Kepalsuan tentang Ethereum - Kesalahpahaman dan kesalahan umum dalam pemrograman kontrak.
Tanggal dan Waktu
- Kepalsuan tentang Waktu - Artikel penting tentang tanggal dan waktu.
- Lebih Banyak Kebohongan tentang Waktu - Bagian. 2 artikel di atas.
- Kepalsuan tentang Waktu dan Zona Waktu - Kepalsuan lainnya mengenai waktu dan zona waktu, dengan penekanan pada zona waktu.
- Kritik terhadap Kepalsuan tentang Waktu - Mengambil artikel pertama di atas dan memberikan penjelasan untuk setiap kepalsuan, dengan lebih banyak konteks dan sumber daya eksternal.
- Kepalsuan tentang Waktu Unix - Pikirkan detik kabisat!
- Kepalsuan tentang Zona Waktu - Memiliki beberapa poin bagus mengenai kasus tepi transisi DST.
- Kekeliruan Kalender Anda Sedang Berpikir… - Daftar yang mencakup interkalasi dan pengaruh budaya, dibuat oleh komunitas pengembang iOS dan macOS.
- Basis Data Zona Waktu - Kode dan data yang mewakili sejarah waktu lokal untuk banyak lokasi perwakilan di seluruh dunia.
- Sejarah Waktu yang Panjang dan Menyakitkan - Sebagian besar keanehan dalam ketepatan waktu dapat dijelaskan dalam sejarah.
- Anda Menganjurkan Reformasi Kalender - Ide Anda tidak akan berhasil. Artikel ini memberi tahu Anda alasannya.
- Jadi Anda Ingin Menghapus Zona Waktu - Menghapus zona waktu mungkin terdengar seperti ide yang bagus, namun ada beberapa komplikasi yang membuatnya kurang tepat.
- Masalah dengan Waktu & Zona Waktu - Video tentang mengapa Anda tidak boleh berurusan dengan zona waktu jika Anda dapat membantu.
- $26,000 Pengumpulan berlebihan oleh Departemen Tenaga Kerja - Konsekuensi dari pencatatan kalender yang salah.
- RFC-3339 vs ISO-8601 - Daftar besar format dari dua standar, bagaimana keduanya tumpang tindih, dan contoh nyata.
- ISO-8601,
YYYY
, yyyy
, dan mengapa tahun Anda mungkin salah - Pemformatan string tanggal sulit dilakukan. - UTC Cukup untuk semua orang, bukan? - Ada kasus-kasus rumit tentang tanggal dan waktu (khususnya UTC) yang mungkin belum terpikirkan oleh Anda.
- Menyimpan UTC bukanlah solusi yang tepat - “Simpan saja tanggal dalam UTC” tidak selalu merupakan pendekatan yang tepat.
- Cara memilih antara UT1, TAI dan UTC - Tergantung pada prioritas Anda antara detik SI, sinkronisasi rotasi bumi, penghindaran detik kabisat.
- Mengapa pengurangan dua kali ini (pada tahun 1927) memberikan hasil yang aneh? - Jawaban Stack Overflow yang terkenal tentang zona waktu historis yang rumit, dan bagaimana tanggal historis dapat diinterpretasikan ulang oleh versi perangkat lunak yang lebih baru.
- Tanggal Kritis dan Penting - Dari Y2K hingga luapan detik 32-bit dari zaman Unix, daftar tanggal khusus yang harus diperhatikan tergantung pada sistem.
- “Saya akan pergi ke sebuah komune di Vermont dan akan berurusan dengan waktu yang tidak lebih singkat dari satu musim.” - Apakah catatan itu ditinggalkan di terminalnya oleh seorang insinyur yang berhenti bekerja pada tahun 70an, setelah terlalu banyak usaha yang dilakukan untuk masalah waktu sub-detik. Sumber: Jiwa Mesin Baru.
Pendidikan
- Kebohongan Siswa Ilmu Komputer (Masih) Percaya Setelah Lulus - Daftar hal-hal (tidak hanya) yang cenderung diyakini secara keliru oleh para siswa ilmu komputer dan kadang-kadang mengejutkan meskipun mereka (mungkin) seharusnya tahu lebih baik.
- Mitos pascadoktoral - “Banyak hal yang dikatakan, ditulis, dan diyakini tentang peneliti pascadoktoral yang tidak benar.”
email
- Kebohongan tentang Email - Tentang alamat, konten, dan pengiriman.
- Saya Tahu Cara Memvalidasi Alamat Email Sampai Saya Membaca RFC - Memberikan contoh rumit alamat email valid yang tidak diduga menurut RFC-822.
- Jadi menurut Anda Anda dapat memvalidasi alamat email (FOSDEM 2018) - Presentasi alamat email edge-case dan mengapa Anda tidak boleh menggunakan regex untuk menguraikannya.
- Logika Validasi Email Anda Salah - Rangkuman dari berbagai hal mengejutkan yang diperbolehkan dalam sebuah alamat email.
-
libvldmail
- Perpustakaan yang mengimplementasikan pemeriksaan alamat email berbasis RFC.
Geografi
- Kepalsuan tentang Geografi - Mengacu pada tempat, nama dan lokasinya.
- Kebohongan tentang Peta - Meliputi koordinat, proyeksi dan GIS.
- Saya Benci Sistem Koordinat - Panduan bagi praktisi geospasial dalam mendiagnosis dan memperbaiki masalah umum pada sistem koordinat.
- 5 nama tempat kanji paling gila di Jepang - “Ada satu kelompok kanji khusus yang sulit dibaca bahkan oleh orang Jepang: nama tempat.”
Identitas Manusia
- Kebohongan tentang Nama - Artikel yang mengawali semuanya.
- Kebohongan Tentang Nama – Beserta Contohnya – Versi artikel di atas telah ditinjau kembali, kali ini dengan penjelasan detailnya.
- Kebohongan tentang Biometrik - Sidik jari tidaklah unik.
- Kebohongan tentang Keluarga - Anda tidak bisa mendefinisikan keluarga dengan aturan yang ketat.
- Kebohongan tentang Gender: #1 & #2 - Gender adalah bagian dari identitas manusia dan memiliki kehalusan tersendiri.
- Kepalsuan tentang Saya - Isu di persimpangan antara nama, gender, dan internasionalisasi.
- Pernikahan Gay: Perspektif Rekayasa Basis Data - Bagaimana menyimpan pernikahan dalam basis data sambil mengatasi sebagian besar kebohongan tentang gender, penamaan, dan hubungan.
- Nama Pribadi di Seluruh Dunia – Apa perbedaan nama orang di seluruh dunia, dan apa dampaknya terhadap Web?
- XKCD #327: Eksploitasi Seorang Ibu - Pandangan lucu tentang bagaimana penerapan kebohongan dapat menyebabkan lubang keamanan.
- Halo, saya Tuan Null. Nama Saya Membuat Saya Tidak Terlihat oleh Komputer - Contoh kehidupan nyata tentang bagaimana penerapan kebohongan berdampak negatif pada kehidupan seseorang.
- HL7 v3 RIM - Model data fleksibel untuk merepresentasikan nama manusia.
- Apple iOS
NSPersonNameComponentsFormatter
- Representasi lokal dari komponen nama seseorang.
Internasionalisasi
Tentang pengkodean karakter, pemformatan string, unicode dan internasionalisasi.
- Kebohongan tentang Bahasa - Menerjemahkan perangkat lunak dari bahasa Inggris tidaklah semudah kelihatannya.
- Kepalsuan tentang Teks Biasa - Teks biasa tidak dapat memotongnya, yang membuat Unicode semakin luar biasa karena kemampuannya untuk bekerja dengan baik.
- Kepalsuan tentang teks - Bagian dari kebohongan di atas, diilustrasikan dengan beberapa contoh.
- Internationalis(z)ing Code - Video tentang hal-hal yang perlu diingat saat menginternasionalkan kode Anda.
- Pengetahuan Minimal Tentang Unicode dan Kumpulan Karakter - Pengenalan yang baik tentang unicode, konteks historis dan asal-usulnya, diikuti dengan ikhtisar cara kerja bagian dalamnya.
- Unicode Luar Biasa - Daftar kurasi informasi menarik, paket, dan sumber daya Unicode.
- Sudut Gelap Unicode - Unicode sangat luas, inilah naganya.
- Mari Berhenti Menganggap Arti Poin Kode - Menyelami Unicode lebih dalam dan menghilangkan mitos tentang poin kode.
- Kesalahpahaman Unicode - Kumpulan kebohongan tentang kasus, pengkodean, panjang string, dan banyak lagi.
- Melanggar Asumsi
Latin-1
Kita - Kebanyakan programmer menghabiskan begitu banyak waktu dengan Latin-1
sehingga mereka lupa tentang kebiasaan skrip orang lain. - Syair untuk label pengiriman - Pengkodean karakter sulit dilakukan, terlebih lagi jika setiap lapisan input data yang rusak menambahkan bumbunya sendiri.
- Kegagalan Lokalisasi: Suhu Sulit - Anda tidak dapat melokalisasi perbedaan suhu apa adanya.
- Data Pengujian i18n - Kompilasi data nama internasional dan beragam untuk pengujian unit dan QA.
- Daftar Besar String Nakal - Kumpulan string yang sangat besar yang memiliki kemungkinan besar menyebabkan masalah saat digunakan sebagai data masukan pengguna. Serangkaian kasus tepi praktis yang harus dimiliki untuk menguji perangkat lunak Anda.
Pengelolaan
- Kebohongan tentang Pelamar Kerja - Asumsi tentang pelamar kerja dan riwayat pekerjaannya belum tentu benar.
Multimedia
- Kepalsuan tentang Video - Tutupi semuanya: decoding dan pemutaran video, file, penskalaan gambar, ruang warna dan konversi, tampilan dan subtitle.
- Kasus-kasus buruk yang perlu dipertimbangkan ketika berurusan dengan musik - Data katalog musik penuh dengan hal-hal gila.
- Skema database MusicBrainz - Sebuah proyek dan database sumber terbuka yang tampaknya telah memecahkan kompleksitas manajemen katalog musik.
- DDEX - Standar industri untuk metadata musik, termasuk pengarsipan, rekaman suara, pelaporan penjualan dan penggunaan, royalti dan kesepakatan lisensi.
- Panduan Gaya Apple Music - Pedoman asuransi kualitas untuk memformat musik, karya seni, dan metadata guna meningkatkan kemudahan untuk ditemukan.
Jaringan
- Kebohongan tentang Jaringan - Meliputi TCP, DHCP, DNS, VLAN dan IPv4/v6.
- Kekeliruan Komputasi Terdistribusi - Asumsi yang selalu dibuat oleh pemrogram yang baru mengenal aplikasi terdistribusi.
- Ada lebih dari satu cara untuk menulis alamat IP - Beberapa bagian alamat bersifat opsional, perhatikan notasi desimal dan oktal, dan jangan lupa juga IPv6.
- IDN gila - Karakter internasional dalam nama domain berarti dukungan homograf dan heterograf.
-
hostname-validate
- Upaya memvalidasi nama host dengan Python.
Nomor Telepon
- Kebohongan tentang Nomor Telepon - Meliputi nomor telepon, representasi dan artinya.
-
libphonenumber
- Pustaka Java, C++, dan JavaScript umum Google untuk menguraikan, memformat, dan memvalidasi nomor telepon internasional. Juga tersedia untuk C#, Objective-C, Python, Ruby dan PHP.
Alamat Pos
- Kepalsuan tentang Alamat - Meliputi jalan, kode pos, gedung, kota dan negara.
- Kebohongan Tentang Tempat Tinggal - Ini bukan hanya tentang alamat itu sendiri, tetapi hubungan antara seseorang dan tempat tinggalnya.
- Surat Terkirim Meski Tanpa Nama, Tanpa Alamat - Kepalsuan terbesar tentang alamat pos: Anda tidak memerlukannya.
- Keanehan Alamat Inggris - Keanehan diambil dari daftar sebagian besar penjualan properti residensial di Inggris dan Wales sejak 1995.
- Apa Alamat Inggris Minimal yang Mungkin? - Caranya adalah dengan mengandalkan kode pos, yang di Inggris cukup spesifik dan “seringkali mengidentifikasi satu atau beberapa bangunan tertentu, tidak seperti di negara-negara yang kode posnya mewakili seluruh lingkungan”.
- Beruang dengan Kode Posnya Sendiri - Smokey Bear memiliki Kode Posnya sendiri (
20252
) karena dia menerima begitu banyak surat. - Mengapa Kosta Rika tidak menggunakan alamat asli? - Kosta Rika menggunakan sistem alamat istimewa yang mengandalkan landmark, sejarah, dan sedikit tebakan.
- Regex dan Alamat Pos - Mengapa ekspresi reguler dan alamat jalan tidak tercampur.
- Mengurai CSV Pos Jepang yang Terkenal - “Saya melihat banyak hal mengerikan, namun saya belum pernah melihat pilihan format khusus ini di tempat lain.”
- Standar Pengalamatan Pos USPS - Menjelaskan format dan konten alamat standar.
-
libaddressinput
- Pustaka C++ dan Java umum Google untuk menguraikan, memformat, dan memvalidasi alamat pos internasional. -
addressing
- Pustaka pengalamatan PHP 5.4+, didukung oleh kumpulan data Google. -
postal-address
- Modul Python untuk mengurai, menormalkan, dan merender alamat pos. -
address
- Buka perpustakaan untuk memvalidasi dan memformat alamat menggunakan kumpulan data Google.
Sains
- Kepalsuan tentang Sistem Pengukuran - Tentang bekerja dengan sistem pengukuran dan konversi di antara sistem tersebut.
Masyarakat
- Kebohongan Tentang Penunjukan Politik - Merancang sistem pemilu mempunyai trik tersendiri.
- Kebohongan tentang Women In Tech - Mitos tentang perempuan di industri STEM (Sains, Teknologi, Teknik, Matematika).
Rekayasa Perangkat Lunak
- Kepalsuan tentang Versi - Mengaitkan identitas dengan rilis perangkat lunak mungkin lebih sulit dari yang diperkirakan.
- Kebohongan tentang Membangun Sistem - Membangun perangkat lunak itu sulit. Membangun perangkat lunak yang membangun perangkat lunak lebih sulit.
- Kepalsuan tentang Perilaku Tidak Terdefinisi - Menerapkan perilaku tidak terdefinisi dapat menyebabkan apa pun terjadi, untuk definisi "apa pun" yang jauh lebih luas daripada yang diperkirakan.
- Kepalsuan tentang CSV - Meskipun RFC4180 ada, RFC4180 masih jauh dari pasti dan sebagian besar diabaikan.
- Kebohongan tentang Manajer Paket - Mencakup paket dan manajernya.
- Kepalsuan tentang Pengujian - Upaya untuk membuat daftar kebohongan tentang pengujian.
- Kepalsuan tentang Penelusuran - Mengapa penelusuran (termasuk analisis, tokenisasi, penyorotan) tampak rumit.
- Apa yang harus diketahui setiap insinyur perangkat lunak tentang penelusuran - Artikel bersumber lebih baik tentang kesulitan penerapan mesin telusur.
- Kebohongan tentang Pagination - Mengapa algoritma pagination Anda membuat seseorang (mungkin Anda) pusing.
- Kepalsuan tentang pengumpulan sampah - Kesalahpahaman tentang prediktabilitas dan kinerja pengumpulan sampah.
- Mitos tentang Jalur File - Keberagaman sistem file dan OS membuat jalur file sedikit lebih sulit dari yang kita bayangkan.
- Dunia jalur file Windows yang aneh - “Pada sistem turunan Unix mana pun, jalur adalah hal yang sangat sederhana: jika dimulai dengan
/
, itu adalah jalur. Tidak demikian halnya di Windows.” - Mitos tentang Cache CPU - Kesalahpahaman tentang cache sering kali mengarah pada pernyataan yang salah, terutama jika menyangkut kondisi konkurensi dan balapan.
- Mitos tentang
/dev/urandom
- Ada beberapa hal tentang /dev/urandom
dan /dev/random
yang diulang terus menerus. Tetap saja itu salah. - Fakta tentang Mesin Negara - Mesin Negara sering disalahpahami dan kurang diterapkan.
- Hai! Nama saya… - Pembicaraan ini bisa saja disebut kebohongan tentang nama pengguna (dan pengenal lainnya) .
- Kesalahpahaman populer tentang
mtime
- Bagian dari postingan tentang mengapa perbandingan mtime
file dapat dianggap berbahaya. - Aturan untuk Pelengkapan Otomatis - Bukan kebohongan semata , namun masih ada daftar praktik baik yang bagus untuk menerapkan pelengkapan otomatis.
- Floating Point Math - “Bahasa Anda tidak rusak, ia melakukan matematika floating point. (…) Inilah sebabnya, lebih sering daripada tidak,
0.1 + 0.2 != 0.3
.” - Dokumen yaml dari neraka - YAML penuh dengan kompleksitas yang tidak jelas seperti angka yang tidak disengaja dan kunci non-string.
- Saya tak henti-hentinya terpesona dengan sistem penandaan konten - Ada kasus-kasus ekstrem bahkan dalam sistem penandaan yang seharusnya bersifat barebone.
- Kebohongan tentang Teknologi Kuantum - Kesalahpahaman umum tentang teknologi kuantum dan komputer.
- Kepalsuan tentang Sistem Berbasis Peristiwa - Kesalahpahaman tentang sistem berbasis peristiwa dan penyampaian pesan.
Angkutan
- Kebohongan tentang Mobil – Bahkan sesuatu yang umum seperti mendefinisikan mobil pun penuh dengan jebakan.
- Kebohongan tentang Peta Kursi Maskapai Penerbangan - Peta kursi maskapai penerbangan jauh lebih rumit dari sekedar baris dan kolom kursi yang rapi.
- Kekacauan Kode Bandara yang Menjengkelkan - Banyaknya lembaga internasional dan nasional yang mencoba menyelaraskan sejarah, kepraktisan, dan logistik membuat kode tersebut mengikuti aturan yang tidak jelas.
- Nama saya menyebabkan masalah pada pemesanan apa pun! - Sistem reservasi maskapai penerbangan lama menganggap akhiran
MR
sebagai Mister
dan menghapusnya.
Tipografi
- Kepalsuan tentang Font - Asumsi tentang tipografi di web dan aplikasi desktop.
- Kebenaran yang harus diketahui pemrogram tentang huruf besar/kecil - Kebalikan lengkap dari format kesalahan, pada topik huruf besar/kecil (seperti dalam teks huruf besar dan kecil).
Video Game
- Masalah Pintu - Semua hal yang belum Anda pertimbangkan untuk diterapkan pada pintu Anda dalam game.
jaring
- Kepalsuan tentang HTML - “Web itu indah. Web jelek. Web sungguh menakjubkan. Salah satu bagian dari daya tarik ini adalah HTML, dengan keunikan sejarahnya.”
- Kepalsuan tentang REST API - Kesalahan yang harus diperhatikan saat membuat dan mendokumentasikan API.
- URL: Rumit… - Ada banyak komponen dalam sebuah URL, dan semuanya memiliki logikanya sendiri.
- Kompleksitas Tersembunyi dalam Mengunduh Favicon, Diceritakan dalam 15+ Kasus Edge - Mengunduh ikon kecil yang Anda lihat di tab browser seharusnya merupakan latihan sederhana. Ternyata ini jauh lebih rumit dari yang Anda kira. Berhati-hatilah agar Anda tidak mencukur Yak.
Berkontribusi
Kontribusi Anda selalu diterima! Silakan lihat pedoman kontribusi terlebih dahulu.
Catatan kaki
Daftar ini mendapatkan popularitas di media sosial selama beberapa tahun terakhir. Lihat hal itu dibahas dan disebutkan di tempat lain.
Gambar header didasarkan pada foto modifikasi yang diambil pada bulan Februari 2010 oleh Iza Bella, didistribusikan di bawah lisensi Creative Commons BY-SA 2.0 UK.
[1]: Notebooks, 1914-1916 (Liveright, 2022) - sumber: halaman 14e. [↑]