Один из самых удобных способов записать данные это использование готовых форматов, такие как JSON или YAML.
Из плюсов такого подхода стоит отметить вот что:
🔸 готовый, повсеместно используемый и поддерживаемый формат
🔸 простой и понятный файл, удобочитаемый для человека
🔸 можно легко редактировать в любом текстовом редакторе без специальных программ и библиотек
Но есть и минусы
🔹 затраты времени при записи файла (кодирование данных в нужный формат строки)
🔹 затраты времени при чтении файла (декодирование данных в Python объекты)
🔹 размер файла увеличивается из-за разметки данных (скобки, запятые, переносы, отступы...)
🔹 перед записью все данные должны быть помещены в память в полном объёме (не всегда)
🔹 при чтении необходимо считать весь файл в память и только потом декодировать данные
Если нужно писать немного данных в несколько файлов, то затраты по времени не ощутимы. Обычно это файлы конфига или какие-либо метаданные. Это отличный вариант под такие задачи.
Есть и другой поход к записи файлов - это бинарные файлы. Используется, когда данных достаточно много и никто их не собирается читать глазками😳.
🔸 очень быстрая запись
🔸 чтение значительно быстрей чем JSON, YAML итд
🔸 размер файла значительно меньше, так как нет разметки
🔸 можно записывать данные по мере поступления не загружая всё в память
🔸 можно извлечь любую часть данных независимо
Из минусов
🔹 нужно определить свой формат записи данных (если не используете готовую спецификацию определённого формата)
🔹 не получится открыть файл и визуально понять что там записано, а для чтения файла потребуется знать его спецификацию.
🔹 не так-то просто создать такой файл без специальной библиотеки
В таком виде удобно записывать большой массив любых однородных данных. Например, мониторинг валютной биржи или кэшированная анимация 3D геометрии.
(Это не означает что нельзя записать данные разного типа, просто это будет не так удобно)
Представьте себе JPG-картинку. По сути это немного мета-информации и большой массив пикселей. Тоже самое со звуком или видео файлом. Поэтому, если вы попробуете открыть картинку в текстовом редакторе вы увидите что-то вроде такого
f15d cd29 a564 4578 ...
09e2 9bc4 a696 1253 ...
84e9 4de1 3b23 c24a ...
2534 5161 28e0 709d ...
...
Это и есть записанные байтики. И для их чтения требуется определённый софт который знает что с ними делать. Под каждый тип файла.
К чему это я? Читайте в следующем посте...
#tricks#basic
Review of Glutinous Rice Ball Workshops and Tea Parties in Aberdeen & Glasgow
花崗岩城與格拉斯哥湯圓製作工作坊及茶聚 回顧
#花崗岩城#Aberdeen 與 #格拉斯哥#Glasgow 湯圓製作工作坊及茶敘,旨在讓參加者有機會了解香港的冬季節日文化,以及自製糯米 湯圓。這是Mission Perm計劃在 Aberdeen舉辦的首次面對面活動⋯⋯使新到埗港人有更多社群參與,讓他們進一步融入社區。兩場活動都有多位蘇格蘭本地非華裔人士參與,活動讓他們了解香港節慶文化。促進香港人和蘇格蘭人之間的文化互動⋯⋯
⋯⋯以上應該係我哋2023年最後嘅實體活動。祝大家冬至平安、#聖誕快樂 同 #新年快樂!
Glutinous Rice Ball Workshops and Tea Parties in Aberdeen & Glasgow, which aimed to offer participants a chance to learn about the Winter festival culture of Hong Kong, and homemade glutinous rice ball. This is the first in-person activity occurring in Aberdeen. In both sessions, there were several native Scots to join and learn about Hong Kong Festival Culture. It enhanced the cultural diversity and interaction between Hongkongers and Scots.
These should be our last physical activities in 2023. We wish you all a safe winter solstice, a merry Christmas and a happy New Year!
閱讀報告全文,
請訂閱Patreon,同時請支持我哋日常運作!
https://www.patreon.com/posts/94874815
Thanks to the Govan & Linthouse Parish Church for co-organising this event.
特別鳴謝Govan & Linthouse Parish Church協辦是次活動。
假如身在蘇格蘭嘅你錯過咗 呢次活動,請唔使失望,我哋喺1月、2月分別有香港開埠紀念同農曆新年節慶活動!歡迎留言或者inbox同我哋講你所在嘅城市,讓我哋更能夠掌握大家參與活動嘅意向!
—
單次捐款支持我哋
https://thehongkongscots.sumupstore.com
喺蘇格蘭,有嘢要搵我哋幫手?即填:
https://forms.gle/n8cSUkW2HS19BRVg7
想同我哋並肩作戰,參與我哋日常運作?
Get Involved!
https://forms.gle/HCvXDXrpUMa2TtwB9