TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #239 · 3 мај

Один из самых удобных способов записать данные это использование готовых форматов, такие как 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

Резултати

Пронајдени 2 слични објави

Пребарај: #latinime

当前筛选 #latinime清除筛选

🇷🇺ИНТЕГРАЦИЯ НАШИХ ЯЗЫКОВ В ANDROID: РАСЧЕТ МАСШТАБА Включение Тувинской клавиатуры в AOSP (Android Open Source Project) демонстрирует возможность расширения языковой поддержки Android. Сейчас, когда Тувинская раскладка находится на этапе финального утверждения, необходимо оценить, какой ресурс потребуется для дальнейшего масштабирования — например, для 120 языков, использующих схожий принцип кириллической основы. * Оценка Ресурсов (в Байтах и Строках) Базируясь на фактическом объеме данных Тувинской клавиатуры (36 букв) и с учетом запаса на более сложные алфавиты, мы принимаем средний показатель в 25 КБ на один язык. При масштабировании на 120 языков, это дает следующие результаты: | Показатель | Объем на 1 Язык | Общий Объем для 120 Языков | | Объем данных (для AOSP) | 25 КБ | 3.0 Мегабайта | | Объем кода (добавленные строки) | ≈ 324 строки | ≈ 39 000 строк | | Количество файлов (XML-раскладки) | ≈ 6 файлов | ≈ 720 файлов | Вывод: Общий объем данных составляет всего 3 МБ! С технической точки зрения, такой размер не представляет проблемы для кодовой базы Android. Основная сложность заключается в лингвистической и логистической работе. * Ключевые Аспекты Работы с AOSP Вклад такого масштаба требует строгого подхода к организации процесса: 1. Проектирование Раскладок: Необходимо обеспечить унифицированное и эргономичное размещение уникальных символов (например, их расположение на менее используемых Русских клавишах, как это было сделано для Тувинского языка) для всех 120 алфавитов. 2. Проверка Качества (QA): Каждый из 720 файлов требует проверки на соответствие стандартам кодирования и корректность ввода символов. Этот процесс критически важен для принятия кода. 3. Стратегия Code Review: Для ускорения процесса интеграции через Gerrit, проект необходимо разделить на 20-30 управляемых Pull Request-ов. Это позволит ревьюерам AOSP проводить проверку поэтапно и снизит время ожидания. Резюме: Задача по интеграции 120 языков требует значительной организационной и лингвистической работы, но является технически реализуемой. Этот вклад напрямую обеспечивает доступность родного языка для миллионов пользователей Android. #AOSP#Android#ЯзыковаяПоддержка#LatinIME#OpenSource#Разработка

Раскладка Тувинского языка добавлена в AOSP (Android Open Source Project) Рад сообщить о важном этапе в развитии поддержки языков в Android: Патч, добавляющий раскладку Тувинского языка (Tuvan) в компонент системной клавиатуры LatinIME, был официально объединен (merged) во внутреннюю кодовую базу Android Open Source Project (AOSP). Теперь буду по вашим клавиатурам делать то же самое. Давайте сделаем это совместно – присылайте свои клавиатуры! Изменение получило все необходимые технические (Code-Review) и лицензионные (Open-Source-Licensing) подтверждения от инженеров, курирующих AOSP. Изменение внутренне слито (merged) и готовится к релизу. Что это значит для пользователей: Носители Тувинского языка вскоре получат корректную и удобную раскладку клавиатуры, интегрированную в стандартные средства ввода Android. Даты релиза: Точные сроки выпуска публичного обновления зависят от цикла релиза Android и поставщиков устройств, но, как правило, объединенные изменения появляются в ближайших крупных или ежеквартальных системных обновлениях AOSP. P.S.: В ближайшее время планируется отправка других вариантов Тувинской клавиатуры, чтобы обеспечить максимально разнообразное и удобное использование языка на устройствах Android. #AOSP#Android#LatinIME#ТувинскийЯзык#Tuvan#OpenSource#Разработка