Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
👆#Hiring Alert!
Digital India Corporation is looking for experts in various fields. Apply NOW! 👩💻
Visit: dic.gov.in/index.php/notification/openings-main/369-inviting-applications-for-the-position-of-database-administrator-developer-php-designer-web-ui-369
#Hiring in UAE
Position - Sales Executive
Process - Credit Card Sale (Calling)
Salary - 2000 AED + Commission
Visa Provided
*Hindi Speaker Only*
Candidate should be in Dubai for an interview
Send me below details
Qualification -
Languages known -
Nationality -
Are you working in Dubai? -
Visit visa valid till -
Send details👆 on @innovative_media
#Hiring $1500+
Odoo mutaxassis kerak, yakka ishlay oladigan malakali middle+ fullstack dasturchi kerak, ingliz tili boʻlishi shart, iltimos malakali dasturchi boʻlsa ularga ham shu e’lonni ulashinglar.
Avvaldan rahmat.
🚀https://uic.group/vacancy/22
Tell me about a time…
Intervyu jarayonida odamlarning tajribasini bilish nisbatan oson: kod yozdirish yoki rezyume/portfoliosiga qarab bilimini taxminan aniqlasa bo’ladi. Lekin aniqlash nisbatan qiyin bo’lgan narsalardan biri - odam turli vaziyatlarda qanday qaror qabul qilishi.
Buni savollar orqali bilishning usuli “Tell me about a time…” formatida savol berish. O’zbekchasiga: “…(bo’lgan vaqt) haqida aytib bersangiz.” Savol ko’proq aynan o’sha vaqt haqidamas, intervyudan o’tayotgan odamning o’sha holatdagi tajribasi va u qanaqa qarorlar chiqarganini aniqlashga yordam beradi.
Misollar:
- Tell me about a time when you proactively brought a best practice to the team (komandangizga eng yaxshi amaliyotlardan birini olib kelganingiz haqida aytib bersangiz)
- Tell me about a time when you improved a customer experience significantly (foydalanuvchi tajribasini sezilarli ravishda yaxshilagan vaqtingiz haqida so’zlab bersangiz)
- Tell me about a time when you had a conflict with team members on the things that you believe should be different (komanda a’zosi (-lari) bilan siz boshqacha bo’lishi lozim deb hisoblagan narsangiz ustida munozara haqida aytib bersangiz)
- Tell me about a time when you made the biggest failure (eng katta muvaffaqiyatsizlikka uchragan vaqtingiz haqida aytib bersangiz)
Har qanday intervyu ikki tomonlama intervyu bo’lishini hisobga olsak, ishga kirayotgan odam ham xuddi shu formatda kompaniya turli vaziyatlarda qanaqa qarorlar chiqarishini o’rgansa bo’ladi.
@farhodjon#hiring
📣 Exciting news: IRAS is #hiring and looking for forward-thinking software engineers to join us in building the next-generation tax administration system for Singapore!
Keen to find out more about these job prospects? Organised by Open Government Products, you’d be happy to know that we’ll be a part of the hiring info session happening tonight, 12 Dec, 7 to 9 pm!
As a panellist, our Infocomm Specialist Runguang will be sharing more how his role drives impact, leveraging the latest technologies to deliver the best experience for our citizens.
👉🏼 Sign up at go.gov.sg/techforpublicgood and apply today at go.gov.sg/irastechcareers!
📣 Hiring alert - Senior Data Scientist
Yana bir vakansiya. Super Dispatch o’zi ishlab chiqqan Machine Learning modellarini rivojlantirish va yangi modellar qurish uchun Senior Data Scientist izlayapti. Asosiy vazifa: AQShdagi avto transport sohasi uchun kuchli modellar chiqarib, mijozlarga eng yaxshi tajribani yetkazish. Analitik fikrlash, rosa ko’p tajriba qilish sifatlari juda muhim.
Nomzodlar bu yerda qabul qilinyapti:
https://superdispatch.breezy.hr/p/46dc9ae30188-senior-data-scientist
@farhodjon#superdispatch#hiring
📣 Hiring alert - Senior QA Automation Engineer
Super Dispatch QA avtomatizatsiyasi bilan shug’ullanadigan tajribali injener izlayapti. Bu injener Platform jamoasining bir qismi sifatida kompaniyaning QA jarayonlarini avtomatlashtirish uchun qurilgan (va quriladigan) platformaning asosi ustida ishlaydi va boshqa QA injenerlar yangi yo’nalishni o’zlashtirishda yordam beradi.
Nomzodlar bu yerda qabul qilinyapti:
https://superdispatch.breezy.hr/p/40e877318444-senior-qa-automation-engineer
@farhodjon#superdispatch#hiring
📣 Hiring alert - Senior QA Engineer II
Super Dispatch juda tajribali, analitik fikrlaydigan, ingliz tilini juda yaxshi biladigan QA Engineer izlayapti. Bu injener sun’iy intellekt asosida ishlaydigan mahsulotlarning sifatini nazorat qilish, foydalanuvchilarga eng yaxshi tajribani yetkazish bilan shug’ullanadi.
Nomzodlar bu yerda qabul qilinyapti:
https://superdispatch.breezy.hr/p/3fddc0fba578-senior-qa-engineer-ii
* * * * *
Senior QA Engineer II - senior injenerning keyingi darajasi. Dasturchilardan kutiladigan taxminiy talablar bu injenerga ham qo’yiladi. Nisbatan kengroq mas’uliyatni oladi, to’liq avtonom, ishni avtomatlashtirishning yangi usullarini topadi, boshqa jamoalar va odamlar bilan yaxshi kommunikatsiya/munosabat quradi.
@farhodjon#superdispatch#hiring
📣 Hiring alert (October 2025 Edition)
Hozir hamma ham paxta terish bilan band emas, shuning uchun, kuzgi vakansiyalarga nima yetsin?
- Backend Engineer II (Python)
- Director / VP of Engineering
- Senior Product Designer
Odamlarning hayotini va ishini o’zgartirish, professional o’sish, yaxshi komanda bilan ishlash imkoniyati. Tanishlarga yuborganlarga mendan (va Nodirxondan) cheksiz minnatdorlik!
@farhodjon#superdispatch#hiring
📣Hiring Alert
Super Dispatch dizayn komandamizga ikki nafar Senior Product Designer qidirmoqdamiz.
Murakkab muammolarni chuqur tahlil qilib, foydalanuvchilar bilan tadqiqotlar olib borib, oddiy va intuitiv dizayn yechimlar ishlab chiqa oladigan, odamlarga nisbatan kuchli empatiyaga ega dizayner qidiryapmiz.
Dizaynerning har bir qarori odamlar ishini soddalashtirishi va biznes samaradorligini oshirishga xizmat qilishi kerak. Yaxshi komanda bilan ishlash uchun zo’r imkoniyat.
Barcha talablar bilan havola orqali tanishish mumkin:
👉Senior Product Designer
Repostlar uchun cheksiz minnatdorman!
@nodizayn#superdispatch#hiring
📣 Hiring alert (July 2025 Edition)
Tandirdan yaqinda uzilgan yangi vakansiyalar:
- Senior Frontend Engineer
- Senior Backend Engineer (Python)
Odamlarning hayotini va ishini o’zgartirish, professional o’sish, yaxshi komanda bilan ishlash imkoniyati. Tanishlarga yuborganlarga mendan cheksiz minnatdorlik!
@farhodjon#superdispatch#hiring