Langsung ke konten

Arsip

File I/O

2 artikel
Linux 17 Sep 2026 5 min read

O_APPEND Menggabungkan Posisi Akhir dengan Setiap Write

O_APPEND mengubah write dari dua tindakan yang dapat dipisahkan menjadi satu operasi terpadu: Linux menempatkan open file description pada akhir file saat ini lalu melakukan write sebagai satu langkah atomik. Sifat ini penting ketika beberapa writer menulis ke regular file yang sama. Urutan lseek(fd, 0, SEEK_END) lalu write(fd, ...) tidak memiliki semantik append yang sama karena writer lain dapat mengubah file di antara kedua system call tersebut. Status append berada pada open file description O_APPEND adalah file status flag. File status flag disimpan pada open file description, bukan pada integer file descriptor itu sendiri.

Python 05 Sep 2026 8 min read

Buffer Data Sementara di Python dengan SpooledTemporaryFile

Data sementara sering memiliki profil ukuran yang sulit diprediksi. Sebagian besar request mungkin hanya menghasilkan beberapa kilobyte, sementara sesekali proses import, report, archive, atau upload dapat tumbuh hingga ratusan megabyte. Menggunakan io.BytesIO nyaman untuk kasus kecil, tetapi seluruh isinya tetap berada di memori. Menggunakan temporary file menghindari penyimpanan seluruh payload di memori, tetapi setiap payload memakai storage berbasis filesystem meskipun ukurannya sangat kecil. tempfile.SpooledTemporaryFile dari Python menawarkan jalan tengah. Objek ini berperilaku seperti file sambil menyimpan data di memori hingga threshold yang dikonfigurasi. Ketika data melewati threshold tersebut, data di-roll over ke temporary file dan operasi berlanjut melalui interface yang sama.