Один из самых удобных способов записать данные это использование готовых форматов, такие как 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
¡¡¡LA FIEBRE AMARILLA HA VUELTO!!!
▪️ Habrá dos cabezas de serie Nº7/Nº8 (Lakers en el oeste y Miami en el este) en las finales de conferencia de una misma temporada por PRIMERA VEZ en TODA la historia de la #NBA.
▪️ Lakers es el SEGUNDO equipo del oeste que llega a las finales… https://t.co/BBQT90Jnivhttps://t.co/26DgtEcEl5
SAC 100-120 GSW (FT)
▪️ Golden State Warriors es el primer vigente campeón en TODA la historia de la #NBA que supera la primera ronda de los playoffs ganando un séptimo partido fuera de casa.
▪️ Los Warriors han ganado un séptimo partido fuera de casa por TERCERA vez en su… https://t.co/pUhVvpterC
Temporadas en las que Detroit Pistons fue el peor equipo de la #NBA 1965-66 (tardaron 23 años en volver a ser campeones) 1979-80 (tardaron 9 años en volver a ser campeones) 2022-23 Temporadas en las que San Antonio Spurs fue el peor equipo del oeste: 2022-23
🏀🇺🇸NBA
El épico nepotismo de LeBron James marca el inicio de la NBA#NBA
La NBA comienza en la madrugada del miércoles (hora española) y ya son toneladas de tinta las que han corrido en las últimas semanas sobre la mejor liga de baloncesto del mundo. Son los Boston Celtics, actuales campeones y equipo más laureado de la competición con 18 anillos, los principales protagonistas de la temporada 2024-25 por su favoritismo para repetir éxito. También los New York Knicks, que tras fichar al ala pívot Karl Anthony Towns pretenden romper la maldición de 51 años sin hacerse con la corona. Incluso los Dallas Mavericks de Luka Doncic levantan extensa expectación después de llegar a las finales de la última edición y haber adquirido a Klay Thompson, uno de los emblemas de la última dinastía de la competición, los Golden State Warriors.
LeBron James será el primer jugador de la historia de la liga en compartir vestuario con su hijo, Bronny James. La estrella de Los Angeles Lakers, tras ganar cinco anillos con cuatro equipos diferentes (dos con los Miami Heat, uno con los Cleveland Cavaliers y el último con los Lakers), buscaba un último desafío legendario, la última frontera. Y dado que tuvo al primero de sus retoños con tan solo 19 años (ahora tiene 39), optó por el nepotismo.
Una realidad que se consumó el pasado julio, cuando el jefe del clan James prolongó su relación con los californianos dos años a cambio de más de 100 millones de dólares y, a cambio, los Lakers seleccionaron en el Draft a su hijo en la posición 55, cifra reservada a jugadores a los que no se les intuye un sólido recorrido en la NBA. El aquelarre era una realidad, padre e hijo compartirían vestuario y jugarían en uno de los equipos más icónicos de la historia del baloncesto.
En uno de los primeros partidos de Bronny James con los Lakers en la liga de verano, competición de pura pretemporada en la que ni siquiera están presentes los mejores jugadores de cada franquicia, las cámaras captaron a Jaylen Brown, estrella de los Celtics, confesar lo siguiente: «No creo que Bronny tenga nivel para ser un profesional». Pidió disculpas el MVP de las últimas finales de la NBA, pero lo cierto es que el de Georgia abrió la veda de los ataques hacia el joven Bronny.
https://www.abc.es/deportes/baloncesto/epico-nepotismo-lebron-james-marca-inicio-nba-20241021042251-nt.html
🏆@Info288_deportes