Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
🗓️82 года назад: арктический конвой PQ-14 и героический путь
8 апреля 1942 года из порта Исландии вышел арктический конвой PQ-14: 24 торговых судна под охраной военных кораблей. Никто не мог предугадать, что впереди их ждал один из самых опасных морских маршрутов в истории войны.
Почти сразу после отплытия конвой столкнулся с жесточайшим арктическим штормом. Ураганные ветры и волны высотой с многоэтажный дом разметали корабли. 16 судов были вынуждены вернуться в Исландию из-за повреждений.
Но 8 кораблей продолжили свой путь. Моряки работали посменно, сбивая лед с палуб и надстроек при температуре -30°C, чтобы суда не перевернулись. Обмороженные пальцы, обледеневшая одежда, постоянная угроза атак немецких подводных лодок и самолетов – но они шли вперед наперекор всем вызовам.
Каждое судно, которое доплыло до Мурманска, доставило жизненно важные для советского фронта танки, самолеты, боеприпасы, продовольствие и медикаменты. Эти грузы стали вкладом в будущую победу.
Арктические конвои – один из самых ярких примеров сотрудничества союзников во Второй мировой войне. Свыше 3000 британских моряков отдали свои жизни, чтобы доставить помощь на восточный фронт.
В годовщину 80-летия Победы в Европе мы вспоминаем всех тех, кто, преодолевая невероятные трудности, приближал день мира в Европе.
#VE80#АрктическиеКонвои#ArcticConvoys
📅 84-ая годовщина отбытия Арктических конвоев 📅
«Сегодня я нахожусь в Шотландии, чтобы отметить 84-ую годовщину отбытия Северных конвоев и почтить память более чем 3 тысяч британских военнослужащих и моряков, которые отдали свои жизни, чтобы доставить важную помощь Советскому Союзу во время войны.
Конвои — это очень важная часть нашей общей истории. Мы вспоминаем тех, которые отдали свои жизни в общей борьбе против нацизма», — сказал атташе по вопросам обороны посольства Великобритании в России капитан 1 ранга Адриан Когхилл.
Капитан Когхилл сегодня в 🏴 Шотландии отдал честь всем участникам Арктических конвоев, которые в критически важное время принесли самую большую жертву в борьбе за свободу в Европе. Атташе также примет участие в мемориальном мероприятии.
Арктические конвои – один из самых ⚡ярких примеров сотрудничества союзников во #WW2 Второй мировой войне, символ международного сотрудничества перед лицом общей угрозы. Свыше 3000 британских моряков отдали свои жизни, чтобы доставить помощь на восточный фронт.
За годы войны через Арктические конвои в СССР было доставлено более 4 миллионов тонн грузов, включая 7,000 самолетов, 5,000 танков, тысячи грузовиков, сотни тысяч тонн топлива и продовольствия. Этот 🔗 поток помощи составил около четверти всей поддержки, оказанной Советскому Союзу союзниками.
В годовщину 80-летия Победы в Европе #VEDay80 мы вспоминаем всех тех, кто, преодолевая невероятные трудности, приближал день 🌏 мира в Европе.
#VE80#ArcticConvoys
#OTD 84 года назад 🥇 из арктических конвоев вышел из Хвалфьорда в Исландии в Россию и через 🔟 дней прибыл в Архангельск.
С августа 1941 года по май 1945 года было проведено 78 конвоев, и условия этих миссий были одними из самых тяжелых, с которыми сталкивались моряки антигитлеровской коалиции. Помимо немецких подводных лодок и авиации, они столкнулись с экстремальным холодом, штормами и льдом.
Уровень потерь судов в арктических конвоях был выше, чем на любом другом маршруте союзников. За всю кампанию арктических конвоев из-за немецких подводных лодок и авиации 🩸погибло более 3 тысяч человек.
Арктические конвои доказали, что союзники намерены помогать Советскому Союзу 👊 сопротивляться, тем самым временем готовясь к открытию Западного фронта в Европе.
Сегодня, как и каждый год, мы отдаем дань 🙏 уважения всем храбрым военнослужащим, которые участвовали в Арктических конвоях и отдали свои жизни.
#VEDay80#VE80#ArcticConvoys#VJDay#theUK
🪖Чествуем век мужества: ветерану Арктических конвоев Эрни Дэвису сегодня исполняется 100 лет 🪖
Сегодня мы отмечаем особую веху — 100-летний юбилей героя Арктических конвоев Эрни Дэвиса.
В ходе трогательной церемонии г-ну Дэвису была вручена бутылка рома Pusser’s представителями отдела по вопросам обороны Великобритании, медали гордо сияли на его груди. Oн — живое свидетельство исторической миссии Конвоев, объединившей наши народы.
Будучи добровольцем, вступившим в Королевский военно-морской флот в 1943 году, Эрни служил на фрегате HMS Cotton во время последних двух Арктических конвоев 1945 года.
За своe мужество Эрни получил британские награды «Звезда 1939-1945», «Атлантическая звезда», «Французская и германская звезда», «Арктическая звезда», а также был награжден медалью Ушакова (Россия).
После войны этот необыкновенный человек вернулся к гражданской жизни, проработав много лет инструктором по вождению — продолжая указывать путь другим в мирное время.
🫡 Отдаем честь ветерану Эрни Дэвису! 🫡
#АрктическиеКонвои#ArcticConvoys#VEDay80#ПомнимВместе#RememberTogether
🎂 18 марта ветерану арктических конвоев #WW2 Эрни Дэвису исполнился 101 год, и мы очень рады, что Минобороны передало ему личное поздравление от посла Найджела Кейси.
В 1943 году Эрни добровольно вступил в Королевский флот Великобритании и служил на корабле HMS Cotton, участвуя в арктических конвоях — одном из самых опасных маршрутов войны.
Через ледяные моря союзники доставляли в советские порты продовольствие и технику, от которых зависела победа в Европе.
В день «Д» он патрулировал Ла-Манш, защищая войска союзников от немецких подводных лодок. Важно помнить такие истории.
С днём рождения, Эрни! И спасибо.
#ArcticConvoys#UKRussia#VEDay81#VE81
⚡Когда море становится полем битвы: HMS Trinidad и конвой PQ13⚡
#OTD 30 марта 1942 года, после жестокой битвы в ледяных водах Арктики, поврежденный британский
крейсер HMS Trinidad вошел в Кольский залив. Это был кульминационный момент одной из самых драматических историй Арктических конвоев.
Конвой PQ13, отправившийся в Мурманск с критически
важными грузами для СССР, столкнулся со всеми ужасами арктической войны — сначала страшный шторм разбросал корабли, затем последовали атаки немецких подводных лодок и авиации.
В разгар боя HMS Trinidad выпустил торпеду по немецкому эсминцу, но арктический холод привел к трагедии: торпеда сделала круг и поразила сам британский корабль. Несмотря на пробоину и гибель 32 моряков, экипаж продолжал сражаться.
Несмотря на все испытания, большинство судов конвоя PQ13 достигло цели, доставив танки, самолеты и другие грузы для Советского Союза. Моряки знали, что каждый успешно доставленный конвой — это тысячи спасенных жизней на Восточном фронте.
За годы войны через Арктические конвои в СССР было доставлено более 4 миллионов тонн грузов, включая 7,000 самолетов, 5,000 танков, тысячи грузовиков, сотни тысяч тонн топлива и продовольствия. Этот поток помощи составил около четверти всей поддержки, оказанной Советскому Союзу союзниками.
Путь через Северную Атлантику Черчилль назвал «самым страшным путешествием в мире». Температура опускалась до -60°C, волны высотой с пятиэтажный дом обрушивались на корабли, лед сковывал палубы, а немецкие самолеты и подводные лодки атаковали практически непрерывно.
Сегодня, вспоминая подвиг экипажа HMS Trinidad и других моряков Арктических конвоев, мы отдаем дань уважения этим отважным морякам. История PQ13 – только одна из многих героических историй, а за каждой из них – люди, которые сделали невозможное возможным.
#ArcticConvoys#PQ13#АрктическиеКонвои#VE80#VEDay80#WW2
Фото: HMS Trinidad покидает Хвальфьордюр (Исландия), отправляясь в опасное путешествие, картина Гордона Фрикерса «Холодная ярость»