Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
📈 Are employers ready to navigate the shifting demands of the economy? Benjamin Chua, Founder & CEO of SPECO, shares an insightful roadmap on for navigating the evolution of the workforce with the Skills Demand for the Future Economy 2023/24 report.
Read more: https://go.gov.sg/20240108tg#SkillsFutureSG#lifelonglearning
🚢 From business graduate to manager in the Maritime industry, Kumaresh pursued a dream that sparked off during his internship. Book a free consultation with a Skills Ambassador today: https://go.gov.sg/ssg-20231113tg#SkillsFutureSG#lifelonglearning
SSG has signed an MOU with the Institute for Adult Learning Singapore and SUTD Singapore University of Technology & Design to drive cyber-physical learning in the fields of higher education and lifelong learning. The collaboration includes a joint Living Lab, which will allow the study of "live" interaction between the instructors and learners, and use the insights to develop andragogies, professional practices and educational innovations for adult educators and CET learners, leading to higher quality and relevant training for Singaporeans.
#SkillsFutureSG#lifelonglearning
🎉 Big thanks to all who joined us the past 7 weeks at SkillsFuture Festival 2023! Let's continue to embrace #lifelonglearning and get ready to join us again next year for more knowledge, skills, and inspiration. 🌟📚
#SkillsFutureFestival#SkillsFutureSG
🚨 Final week alert! 🚨
SkillsFuture Festival 2023 is coming to a close, but the learning activities are as exciting as week 1 ⚡️.
Check out the full lineup here: go.gov.sg/sffest2023
#SkillsFutureFestival#SkillsFutureSG#lifelonglearning
🌟 Weekly Highlights Alert! 🌟 7-13 August: Embrace a week filled with empowering events and activities designed to supercharge your skills and ignite your career!
Check out the full lineup here: go.gov.sg/sffest2023
#SkillsFutureFestival#SkillsFutureSG#lifelonglearning
🌟 Weekly Highlights Alert! 🌟 From July 31st to August 6th, an incredible lineup of exclusive events and activities await you. Embrace the journey of lifelong learning with us!
Check out the full lineup here: go.gov.sg/sffest2023
#SkillsFutureFestival#SkillsFutureSG#lifelonglearning
🤩 From interior design to sound engineering, Chan Chue proves that the pursuit of knowledge knows no age limits. Inspired to learn a new skill?
Filter to your course of interest here: https://go.gov.sg/ssg20240111tg#SkillsFutureSG#lifelonglearning#OwnYourSkills
Announced today by DPM Lawrence Wong, #ForwardSG report unveils more upskilling and reskilling support for mature mid-career Singaporeans to thrive and build career resilience in a fast-changing economy.
#SkillsFutureSG#lifelonglearning
The Industrial Transformation Asia-Pacific 2022 (ITAP 2022) opens today till 20 Oct at the Singapore EXPO Convention & Exhibition Centre.
To encourage enterprises to invest in their workers’ skills development alongside business transformation, @SkillsFutureSG also showcased initiatives, such as the SkillsFuture Queen Bee, SkillsFuture Career Transition Programme and the SkillsFuture Work-Study Programme, alongside Industry Connect talks by partners to share insights and case studies over the 3-day trade event.
DPM Heng also launched the refreshed Industry Transformation Maps across five sectors at ITAP 2022, in line with Singaporeans goal to grow manufacturing value-added (VA) by 50% from 2020 to 2030. This will be done by focusing on innovation, embracing sustainability and training talent to seize job opportunities.
#SkillsFutureSG#ITAP2022#I4.0