Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
Закрой глаза на секунду, я буду стоять перед тобой ~ 🎶
Смотрите, с кем мы сегодня празднуем выход Closer Than This ❤️
Чимин подарил нам самую комфортную и теплую песню на свете, а у нас для вас тоже есть подарочки 👀
Сфоткайся с нашим Чимином в бутике, отметь нас и получи одну из кисточек #crystalcuties, вдохновленных им, прямо на кассе! 🌙
Акция для первых 5 счастливчиков!
🍬 А еще за каждые 500р в чеке по будням и 1000р по выходным вы можете выиграть чудесные подарочки в нашей лотерее!
#sodalovesbts#sodateam
🌟В день рождения Арми мы расскажем о любимых продуктах нашей Арми – Бора Сода-тян! ☺️
💜Фиолетовый маркер: для бора соды – бора маркер!
🌟Хайлайтер Bestie's Smile: это он сверкает у нее на щечках! 😮
🌛Штампик-луна: каждый раз снимаешь колпачок и оттуда раздается And all I see is you ~
🤩Черная тушь Black Swan – любимая легенда does its thang 💅
🤩Фиолетовая тушь Waifu lashes: потому что фиолетового маркера недостаточно, реснички на концах тоже фиолетовые!
💄Кисти:#crystalcuties или #rainbowsmash? Butter или Dynamite? Эти и другие миллионы вопросов, на которые невозможно дать ответы
🤩
🤩Палетка World Is Yours – с фиолетовым отлично сочетаются теплые оттенки, попробуй комбинацию support-youth-idol-spotlight!
🤩Крем-баттер: ощущается как конфетки, мармеладки, солнышко и май..точнее 21 мая, 8 утра, когда впервые включил клип Butter, абсолютное счастье.
💅Лаки для ногтей #starryglow: от Astronaut до Dream Glow. Маникюр зависит от настроения, а настроение зависит от песни. Включай свою любимую
🎶
💞Супер уютные носочки с калико-кошачьим принтом – 니 삼색 고양이 ~
#sodalovesbts#borasoda#sodachan
Романтики, сегодня мы разберем образ Верховного мага Кингу (Син). Таинственный, мрачный, управляет хаосом... Всё как мы любим 😼
Цветовую палитру образа Кингу составляет в основном черный, поэтому нам точно понадобится карандаш для глаз #eyeloveunicorns в оттенке 001 Black heart 🖤 Подчеркнем загадочность героя и избавимся от четких, графичных линий с помощью растушевочной кисти для теней #crystalcuties. Ну и как не выделить такие острые и высокие скулы? С этим точно справится контуринг в стике #easyskinny!
Дерзкие, эффектные аксессуары идеально дополнят образ! Например, серьги Lightning black #sugargem и ожерелье Black chain #sugargem⚡
А еще мы разбирали образы других персонажей истории Цветок из огня Тиамат: Никкаль, Су и Лихы🐾
#sodalovesgames
Если вы проходили Цветок из огня Тиамат, то Лихы как персонаж скорее всего вызывает у вас смешанные чувства… Но какой же красивый у нее образ! Так что сегодня разберем нашу версию ее макияжа 🐾
Лихы буквально светится, и мы будем добиваться того же эффекта с помощью макияжа! Начнем с увлажняющей и освежающей маски для лица Сакура 🌸 Затем кистью для контуринга #crystalcuties нанесем хайлайтер Two sisters one mind — и сияющая база готова! 🌙
Подчеркнем чарующие, зеленовато-голубые глаза Лихы цветным карандашом для глаз #eyeloveunicorns в оттенке 006 Sea lagoon и добавим блеска жидкой подводкой для глаз с блестками #guyliner в оттенке 107 Charlie ✨
Идеальный шиммер-финиш для тела? Парфюмированный мист #darlingshine First crush! ❤
Кстати, мы разбирали образы и других персонажей истории: Никкаль и Су👀
#sodalovesgames