Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
Japanese from Zero! 1
by George Trombley, Yukari Takenaka
Japanese From Zero! 是由专业日语口译员George Trombley和合著者Yukari Takenaka开发的一种创新和综合的日语学习方法。这一系列的课程和技巧在全球课堂中成功教授了超过十年。使用现代且易于理解的语法,Japanese From Zero! 是目前日语学习者以及完全初学者的理想课程。
Japanese From Zero! 系列的第一本书中,读者将学习新的语法概念、超过800个新单词和表达方式,并掌握平假名书写系统。
———
终于将先前一直感兴趣想尝试的事情提上了日程,那就是把日语也学了。虽然不知道能学到什么程度,能学多少,但是好的开始是成功的一半+兴趣永远是最好的老师。
Japanese From Zero! 整个系列共有5本,我选择这个系列之前也是做了一定的搜索调查,对于日语入门这块的适宜材料,此系列在外网的认知度以及用户群体的评价都是相当可以的。日语词汇分为Hiragana、Katakana以及Kanji。昨天刚把系列第一本看完,整本书会带你学完日语中的所有Hiragana,并且每节课都配有课后练习。
此书在大陆没有上市且没有中文版,遂需要有一定的英文基础才可学习。不过因为是语言教材类书籍,所以本身使用的英文内容也不是非常复杂,还是好入手的。建议使用电子版的用户可以选择打印出来后,进行学习练习,或者像我目前一样,使用带手写笔的设备,直接在PDF上面标注和练习。
咱们下一本再见~
———
- 原版中文实体书:大陆未上市,无中文版
- 原版中英文资源:见评论区分享
- 原版有声书资源:本书无有声书版本
———
频道:xzの小站
#Ebooks#Books
Books change lives. Let us help you find the ones that will change yours. Join us! 🖊️📖📚📊
#booklovers#ebooks#bookrecoumandations
Join us @booksreviewer555
From classics to hidden gems, we review them all! Join and discover your next favorite book. 📚📊#booklovers#ebooks#bookrecoumandations
Join us @booksreviewer555
🏆 Bot of the Day 🏆
@eBukBot brings complete feedbooks (Public Domain) ebook catalog into Telegram. Browse recent additions, search by title, author and/or description, share them on chats sending ebook preview message and download in multiple formats. Just click and start reading!
Search eBooks in English, Spanish, German, Italian or French.
#eBooks#Public#Domain#Books