Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
🚀 Exciting updates for SingSing Club!
SingSing Mini App has introduced new updates aimed at enhancing the user experience:
1️⃣Utilizing SingSing Bot: Manage your club better with SingSing Bot on Telegram.
2️⃣Update Club Info: Add your Telegram group link in SingSing Club for seamless communication.
3️⃣Club Quick Access: You can access your Club quickly from SingSing Bot without open Mini App.
Learn more and maximize these features in our detailed guide
Read more and open treasure at: X Post
#SingSingClub#Community
🎉 The 2nd RUBY Halving is officially happening at 5:00 AM UTC, Sep 11! 🔥
Get ready to power up and mine more RUBY! 💎 This is your chance to dig deep and earn bigger rewards together! 🚀
#SingSingClub#RUBY#Halving#Blockchain
🎉 The RUBY Halving has officially occurred at 14:00 UTC! 🔥
Get ready to power up and mine even more precious RUBY! 💎 Don’t miss this opportunity to dig deep and earn big rewards together. 🚀
#SingSingClub#RUBY#Halving#Blockchain
🎉 800,000 Web3 users and counting! 🎉
We're beyond thrilled to see so many embracing the power of our SocialFi SDK.
This is just the beginning—let's keep building the future of decentralized social interactions together! 🚀
#SingSingClub#SocialFi#Web3Milestone
🌟 Exciting news! SingSing Mini App has launched Version 2! 🚀
Enjoy these amazing new feature:
🚨Claim RUBY: absolutely gas-free! 🎉 NO FEES, JUST RUBY!
⚠️ Remember, you only need to connect your wallet when minting tokens on-chain and you will soon be able to use RUBY in various games and projects within the SingSing ecosystem.
Also, a friendly reminder: Ruby token halving starts at 14:00 UTC. ⏰
Don't miss out on these upgrades and make the most of your SingSing experience!
#SingSingClub#RubyToken#CryptoUpdate
Don't forget to take care of your club and check your ranking daily!
💎 Your club will be a powerful tool in the exciting activities we have planned for SingSing.
Stay active and keep pushing for the top! 🚀🎉
#SingSingClub#RubyMining#CommunityPower
🚨 ANNOUNCEMENT 🚨
SingSing Quest & Mine Point programs are closing soon to make way for new and exciting reward programs! 🎉💎 Get ready for bigger and better prizes 🔥
⁉️⁉️Explanation
✅SingSing Quest is a program on SingSing's old Dapp, but currently, the Mission part of SingSing Tycoon Mini App is still live.
✅Mine Point on X is a program to interact with Post X to receive Points, now you can do Missions in Tycoon game, interact with X Post and earn $KARA
📌 Note: Points earned so far can still be redeemed as previously announced.
Stay tuned for updates and get ready to level up with our upcoming features! 🚀
#SingSingClub#BigRewards#GetReady
🎤Announcement | Chat | X (Twitter) | Website | Game
🎉 We're excited to announce our partnership with @SocialGrowAI! 🎉
Together, we'll empower our community with advanced AI-driven social growth tools. Get ready for new ways to connect, grow, and thrive in the SingSing ecosystem! 🚀
Stay tuned for more updates and innovations! 💡✨
#Partnership#SingSingClub#SocialGrowAI#AI#Web3
🌟 Exciting News! 🌟
We're thrilled to announce our partnership with @ARCreactorAI - world's best AI model, scoring #1 on the MMLU!
🤝 Together, we'll be taking your SingSing experience to the next level with cutting-edge AI innovations. Stay tuned for more amazing updates! 🚀✨
#SingSingClub#Partnership#ARCReactorAI#Innovation#NFT
🚨 LEAK ALERT 🚨
Big news, SingSingers!
🔥 $KARA is about to get new utilities that will change the game 🎮💎. Ready to unlock even more ways to use your $KARA? 👀
Stay tuned – details dropping soon! 🚀
#SingSingClub#KARA#BigUpdate#NewUtilities
🎤Announcement | Chat | X (Twitter) | Website | Game
🚨 SingSing Mini App Version 2 Update! 🚨
Here's what's new:
The RUBY in the "RUBY Balance" section is now off-chain RUBY, which you can claim completely gas-free! 🎉
1️⃣When you click the "Check Mission" button below the RUBY Balance Section, you'll see a "Mint" button. Hit "Mint" to convert your off-chain RUBY into on-chain RUBY. 🔄
2️⃣Scroll down to your Token List. The RUBY displayed here is your on-chain RUBY balance. After minting, your RUBY from the RUBY Balance section will move to this Token List balance. 💎
3️⃣With this new version, you can earn more RUBY with lower costs. Make the most of it and start stacking up RUBY for upcoming events with SingSing and our partners! 🚀
#SingSingClub#RUBYToken#CryptoUpdate#Version2