Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

12.02.2023

Коли розмір даних має значення?

В продовження вчорашньої теми про розмір даних, хочу розглянути, коли це має значення. Перше та очевидне — чим компактніше формат, тим менше витрати оперативної памʼяті. Якщо пишемо сервер — то він буде здатний прийняти більше клієнтів. Якщо це додаток — буде економніше. Мобільні додатки мають жорстку межу по памʼяті, принаймні в iOS, тому реально можна опинитись в ситуації, коли формат подання даних задає планку функціональності додатка.

Але також компактність даних має значення при побудові жетонів. Коротший жетон — завжди краще. Інколи ми робимо з них QR-код; тут чим більше зміст — тим більше деталей матимете QR-код, та тим складніше буде його прочитати. Тому дуже важливо тримати пакет даних для коду якнайкоротшим; брати не JSON, а компактне двійкове подання. Так само важливо тримати короткими жетони для URL-адрес - бо довгі адреси мають ризик бути зіпсованими браузером або мережевою інфраструктурою.

Ну та якщо мова зайшла про подання двійкових даних, то треба памʼятати, що найбільш компактний текстове подання — це Base64; він у півтора раза краще, ніж формат Hex. Для URL-адрес, до речі, є своя варіація - base64url - щоб не кодувати додатково символи + та / як три символи відсоткового кодування. Та, в решті решт, якщо дані не треба передавати текстом — краще над усе залишити їх у двійковому вигляді — це економія у 33%, порівняно з Base64, та у 50%, порівняно з Hex.