Kami menyimpan 'tiada tempoh luput' dan 'belum diperiksa' dalam ruang kosong yang sama
October 6, 2026 · Taro — Pengasas KAZENA
Pada 1 Oktober saya mengira nilai-nilai yang disimpan perisian kami untuk menyambung ke perkhidmatan luar. Ada 11. Bagi 8 daripadanya, kami tidak dapat menjawab bila ia dibuat. Yang memulakan pengiraan itu ialah sebuah pemberitahuan yang sudah sampai 2 minggu sebelumnya.
Pemberitahuan itu sampai pada 16 September. Salah satu perkhidmatan yang kami sambungkan akan menghentikan token yang tidak pernah luput, dan menggantikannya dengan token yang luput dalam 60 hari. Semasa membacanya, saya ingat saya sudah faham apa yang perlu dibuat. Keluarkan token baharu, kemudian siapkan prosedur untuk menggantikannya setiap 60 hari. Kerjanya nampak kecil, jadi saya tandakan untuk dibaca kemudian lalu menutupnya.
Sebab saya menangguhkannya mungkin terletak pada perkataan yang saya guna. Dalam kepala saya, ini saya panggil kerja pembaharuan. Pembaharuan ialah prosedur, dan prosedur boleh menunggu sehingga ada masa lapang. Sebenarnya ia bukan prosedur. Ia berita bahawa satu andaian yang kami biarkan begitu sahaja lebih daripada 2 tahun telah ditarik balik dari luar.
Pada 1 Oktober saya mula mengerjakannya dan berhenti pada soalan pertama. Bila token yang kami guna sekarang dibuat? Saya mencari dalam rekod kami sendiri dan hanya menemui 1 baris dalam dokumen tetapan: tampal nilainya di sini. Tiada tarikh. Akhirnya saya membuka konsol penyedia perkhidmatan untuk memastikannya. Umurnya lebih daripada 2 tahun. Sepanjang 2 tahun itu, kod kami tidak pernah sekali pun bertanya umur nilai tersebut.
Jadi saya memeriksa yang selebihnya dengan cara yang sama. Beginilah pecahan 11 nilai tadi. Penyedia menetapkan tempoh luput bagi 4 nilai dan tidak menetapkannya bagi 7 nilai. Daripada 4 yang bertempoh, tarikh ia dibuat hanya direkodkan bagi 1 sahaja. Yang lain hanya dapat diketahui dengan membuka konsol atau bertanya kepada orang yang membuatnya.
Di tengah-tengah pengiraan, saya menemui 1 yang sudah luput. Bukan nilai sistem sebenar, tetapi yang digunakan oleh sambungan untuk ujian. Ia luput pada akhir Julai. Kami tidak perasan kerana pemeriksaan yang menggunakan nilai itu dibina supaya kegagalan tidak disebut sebagai kegagalan. Apabila pengesahan gagal, pemeriksaan itu dilangkau dan keputusan keseluruhannya tetap tertulis berjaya. Lebih daripada 2 bulan, pemeriksaan itu terus berjaya tanpa memeriksa apa-apa.
Ada sesuatu yang terlintas semula. Pada Ogos, E memberitahu bahawa notifikasi ujian tidak sampai. Dia bersama kami sejak awal penubuhan, tinggal di sebuah pekan kecil agak jauh dari Jakarta, dan sejak dahulu dialah yang menjaga ujian pada peranti sebenar serta penghantaran di lapangan. Kami menghantar semula melalui laluan sistem sebenar, mesejnya sampai ke telefonnya, dan kami menutup perkara itu di situ. Yang sampai itu melalui laluan yang berbeza. Tiada sesiapa bertanya mengapa laluan satu lagi tidak sampai.
Inilah bahagian yang paling penting kali ini. Dalam data kami, kenyataan bahawa penyedia tidak menetapkan tempoh luput dan kenyataan bahawa kami belum memeriksa tempoh luputnya disimpan sebagai ruang kosong yang sama sahaja. Kedua-duanya tiada nilai, jadi tidak dapat dibezakan. Satu ialah kata-kata penyedia, satu lagi ialah pengakuan bahawa kami tidak tahu. Maknanya bertentangan, tetapi disimpan dalam bentuk yang sama.
Boleh digunakan selama-lamanya juga bukan sifat yang kami miliki. Ia janji yang terus dipegang pihak lain, dan janji boleh dihentikan bila-bila masa mereka mahu. Token tanpa tempoh luput bukan bermakna tempoh luputnya tiada, cuma tempohnya belum ditentukan. Dilihat begitu, pemberitahuan tadi bukan kemalangan. Ia perkara yang biasa berlaku.
Ada 3 perkara yang kami betulkan. Pertama, setiap nilai yang kami simpan kini membawa tarikh ia dibuat, tarikh ia luput, dan tempat ia dibuat. Jika penyedia tidak menetapkan tempoh luput, kami menulis tidak ditetapkan, bukan membiarkannya kosong. Dengan itu, yang kosong hanyalah yang belum kami lihat, dan orang yang membacanya kemudian boleh mengira berapa lagi yang tinggal.
Kedua, baki harinya kini dipaparkan di tempat yang dilihat orang. Apabila tinggal kurang daripada 14 hari, 1 baris muncul di bahagian atas skrin tetapan. Tetapi skrin tetapan bukan skrin yang dibuka setiap hari. Meletakkan amaran di tempat yang tiada sesiapa lihat sama sahaja dengan tidak meletakkannya, jadi baris yang sama turut kami masukkan ke dalam e-mel pemeriksaan yang sampai kepada kami setiap pagi.
Ketiga, kami berhenti menganggap kegagalan pengesahan sebagai sesuatu yang boleh dilangkau. Walaupun pada sambungan ujian, kalau kami tidak dapat masuk, kini kami katakan tidak dapat masuk. Binaan yang diam-diam melepasi apa yang sebenarnya tidak lepas itu kami buat dengan niat baik. Mungkin kami tidak mahu mengganggu orang yang sedang menjalankannya. Hakikatnya, ia membuang pemeriksaan selama 2 bulan tanpa sepatah kata.
Kesilapan berfikir yang sama ada juga pada skrin yang dilihat pengguna. Selepas sambungan ke perkhidmatan luar dibuat, kami hanya memaparkan perkataan tersambung. Kami menulisnya sebagai laporan tentang sesuatu yang sudah berlaku, tetapi orang membacanya sebagai kenyataan tentang masa depan. Kini kami memaparkan tarikh sambungan itu terakhir disahkan bersama-samanya, dan jika tempoh luputnya diketahui, tarikh itu juga. Ia lebih panjang dibaca daripada perkataan tersambung, tetapi pembacanya boleh menentukan sendiri bila patut memeriksanya semula.
Akhir sekali, ada yang ingin kami pinta. Jika pada skrin KAZENA ada paparan yang membuatkan anda tidak tahu ia merujuk kepada waktu bila, tolong beritahu kami. Paparan yang hanya bertulis selesai biasanya ialah tempat kami meninggalkan tarikh kami memeriksanya.
Kongsikan pendapat anda
Bagaimana rasa menggunakan aplikasi KAZENA, apa yang patut kami perbaiki, ciri yang anda harapkan wujud — jika anda menjalankan perniagaan kecil atau sederhana atau bekerja secara bebas di Indonesia atau Filipina, suara andalah yang paling ingin kami dengar. Mesej dalam Bahasa Indonesia atau Bahasa Inggeris akan dijawab oleh rakan sepasukan yang memahami pasaran anda dari dalam. KAZENA Books sudah pun ditetapkan untuk dilancarkan di Filipina dan Indonesia — dan jika syarikat anda ingin membawanya ke negara lain sebagai rakan kongsi, atau berminat untuk memperoleh sistem ini, kami juga amat berbesar hati mendengarnya. Kami turut menerima kerja pembangunan sistem baharu. Kami pasukan kecil, jadi kami tidak selalu dapat bermula serta-merta — tetapi apa yang kami bina membawa kualiti buatan Jepun dan sentiasa dekat dengan cara perniagaan benar-benar berjalan di sini, satu projek pada satu masa.
Hubungi kamiLagi daripada blog
Wang tunai bertambah tetapi bulan itu rugi — mengapa ia berlaku
October 23, 2026 · Taro — Pengasas KAZENA
Untung atau rugi: periksa 1 kali sebulan dengan 1 penolakan
October 18, 2026 · Taro — Pengasas KAZENA
Simpan duit perniagaan di tempat yang berasingan daripada dompet sendiri
October 15, 2026 · Taro — Pengasas KAZENA
