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

Резултати

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

Пребарај: #gradle

当前筛选 #gradle清除筛选
Android Broadcast

@android_broadcast · Post #9980 · 04.05.2026 г., 06:49

🐘 В мире Android и тем более KMP проектов огромное количество зависимостей. Та самая ситуация, когда build зеленый, sync прошел, но приложение падает в рантайме из-за NoSuchMethodError или ClassNotFoundException, знакома многим. Причина — тихий конфликт версий. Gradle по умолчанию старается брать самую новую версию из всех найденных, но срабатывает не всегда. В разных модулях одного проекта могут спокойно жить разные версии одной библиотеки (например, okhttp 4.9.0 в модуле А и 4.11.0 в модуле Б). Gradle не считает это конфликтом, потому что модули изолированы. В рантайме при передаче объекта между модулями — ClassCastException. Особенно больно это бьет в KMP, где общая бизнес-логика связывает всё в единую цепочку. Плагин 🐱Dependency Conflict Analyzer переворачивает подход. Он встраивается в Gradle и каждый раз при синхронизации автоматически анализирует весь граф зависимостей по всем модулям. Не нужно ничего запускать вручную или гадать, кто что подтянул. Если есть расхождение в major-версиях — плагин сразу покажет конфликт в консоли. Причём он найдет даже скрытые расхождения между разными модулями, которые Gradle игнорирует. # Пример работы плагина Version conflict detected: org.slf4j:slf4j-api - version 2.0.17 via: - project :app -> ch.qos.logback:logback-classic:1.4.11 -> org.slf4j:slf4j-api:2.0.17 ... - version 1.7.25 via: - project :app -> org.apache.logging.log4j:log4j-slf4j-impl:2.17.1 -> org.slf4j:slf4j-api:1.7.25 Такая проактивная проверка помогает фиксить конфликты еще на этапе разработки и писать более стабильный код. Попробуйте. #Gradle

Hashtags

Android Broadcast

@android_broadcast · Post #9520 · 22.09.2025 г., 14:24

🐘Вышел Gradle 9.1.0 с поддержкой Java 25 и новыми фичами. Из интересно - "Визуалиация таска графов", но сразу грусть - не ждите картинки 😡 Насыпали везде по немного улучшений, запромоутили фичи в стабильные, поправили баги и на этом всё. #gradle

Hashtags

Android Broadcast

@android_broadcast · Post #9383 · 04.08.2025 г., 06:06

📹 Gradle выложили мини курс по переиспользованию build логики между Gradle модулями (EN, 6 уроков, 30 минут) 00:00 - Папка buildSrc 02:06 - Convention Plugin 09:29 - Version Catalog 15:58 - Общие Task 19:09 - Производительность buildSrc 23:32 - included build #gradle

Hashtags

Android Broadcast

@android_broadcast · Post #9379 · 01.08.2025 г., 09:55

📹Обзор что нового в Gradle 9.0 (EN, 25м) 00:00 – Что нового в Gradle 9 и как обновиться 03:08 – Configuration Cache 08:59 – Поддержка Kotlin 2.2 10:10 – Kotlin build script compilation avoidance 10:46 – Улучшения nullability в Gradle API 14:05 – Gradle теперь требует Java 17 или выше 15:39 – Обновление до Groovy 4 16:43 – Reproducible архивы включены по умолчанию 19:00 – JAVA_HOME теперь может использоваться как источник toolchain в Daemon JVM 21:39 – Gradle Wrapper теперь поддерживает символьные версии и SemVer (например, latest.release) 23:32 – Какие фичи стали стабильными, что устарело и что удалено 25:05 – Полезные ссылки на документацию и ресурсы 26:06 – Рекомендованные best practices для работы с Gradle 9 26:53 – Заключение #gradle

Hashtags

Android Broadcast

@android_broadcast · Post #9378 · 01.08.2025 г., 09:48

🐘Вышел Gradle 9.0 Самое важное в Gradle 9 - ❗️пришло время адаптировать Configuration Cache❗️. Пока его не включили по умолчанию и отложили до 10 версии, но включение режима - рекомендованный подход для всех! Кэш конфигурации очень сильно прокачали и улучшили, он уже готов к использованию! Что еще: 👉 Обновили используемый Kotlin до версии 2.2, а Groovy до версии 4.0 👉 Kotlin build script теперь поддерживают compilation avoidance - будет пропускаться их повторная компиляции, если не найдется значимых изменений. Это положительно скажется на время сборке, если вы используете Kotlin в buildSrc 👉 Перешли на использование JSpecify Nullability аннотаций 👉Минимальная версия Java - 17 👉Улучшения для авторов плагинов Как и с любым мажорным релизом Gradle часть фичей стала стабильной, а deprecated API удалили, так что после миграции ваш проект может потребовать доработки или обновления подключенных Gradle плагинов. #gradle

Hashtags

Android Broadcast

@android_broadcast · Post #9302 · 06.07.2025 г., 19:08

🐘Gradle начиная с версии 8.0. обязательно требует зависимостей между task, если один использует результаты другого Явное объявление зависимостей требуется чтобы корректно выстроить порядок выполнения task-ок, гарантировать воспроизводимость сборки. #gradle

Hashtags

Android Broadcast

@android_broadcast · Post #9057 · 05.05.2025 г., 07:49

🐘Официальные лучшие Gradle практики от Google, JetBrains и разработчиков Gradle #gradle

Hashtags

Android Broadcast

@android_broadcast · Post #8818 · 18.03.2025 г., 11:11

🐘Состояние Gradle Configuration Cache и будущее фичи В больших проектах на Gradle одной из самых долгих является фаза конфигурации проекта, во время которой создаются все задачи и устанавливаются связи между ними. Команда Gradle уже давно работает над решением этой проблемы с помощью Gradle Configuration Cache — возможности сохранять результаты фазы конфигурации и повторно использовать их в последующих запусках. В блоге Gradle вышла подробная статья о текущем состоянии этой функции: State of the Configuration Cache. Согласно статье, начиная с Gradle 9 Configuration Cache будет включён по умолчанию система станет деликатно напоминать о необходимости включения Configuration Cache. В одном из будущих мажорных релизов после Gradle 9, Configuration Cache станет единственным доступным режимом работы — но только после того, как к этому будет готово всё сообщество. До этого момента Gradle будет активно улучшать технологию и сотрудничать с партнёрами для расширения совместимости и интеграций. #gradle

Hashtags

Android Broadcast

@android_broadcast · Post #8732 · 25.02.2025 г., 17:30

🐘ВышелGradle 8.13 🔥Автоматическая загрузка JVM для Gradle Daemon: теперь Gradle может автоматически загружать необходимую версию JVM для работы Daemon, если подходящая версия не найдена локально. 👉 В Scala-плагине появилась возможность явно задавать версию Scala через расширение scala. 👉Точные временные метки в JUnit XML: временные метки в отчетах JUnit XML теперь имеют миллисекундную точность, что улучшает детализацию отчетов. 🛠 Более 700 мелких исправлений и улучшений Кроме того, добавлены улучшения для авторов сборок и разработчиков плагинов, включая улучшенный доступ к директории настроек в скриптах сборки, новый отчет о преобразовании артефактов, возможность создания пользовательских отчетов о тестировании и новый плагин distribution-base - сборка ZIP или TAR с необходимыми артефактами из проекта #gradle

Hashtags

Android Broadcast

@android_broadcast · Post #9949 · 10.04.2026 г., 16:04

🤖androidx.lint — это Jetpack-библиотека с набором lint-проверок специально для авторов Gradle-плагинов. Если ты пишешь Gradle plugin для Android — она ловит ошибки, которые сложно заметить вручную: 👉 использование внутренних API Gradle и AGP (которые могут сломаться в любой момент) 👉 eager task configuration вместо lazy (withType без configureEach) 👉 вызовы, несовместимые с Gradle Project Isolation (getRootProject, findProject, getParent) 👉Provider<String>.toString() — почти всегда баг 👉configurations.create вместо configurations.register (проблема с Gradle 8.14+) 👉System.getenv() напрямую вместо Provider API 👉mustRunAfter / shouldRunAfter — дорогие операции из-за перестройки task graph Сейчас в alpha06 (апрель 2026), стабильного релиза ещё нет, но и в прод этот код не пойдет. #Gradle#Android

Android Broadcast

@android_broadcast · Post #8897 · 04.04.2025 г., 04:51

📹Android Builds: Simple Recipes to Enhance Developer Productivity (26 мин) Видео с Gradle DPE Summit про основные советы по Gradle для Android разработчиков 00:00 Introduction 00:48 About Toast 03:09 Build Growth Challenges 05:21 Reducing Build Times 06:28 Hardware Solutions 08:08 Gradle Properties 11:36 Memory Management 16:05 Dependency Handling 19:40 CI Optimization 23:35 Agent Configuration 25:38 Conclusion #android#gradle

YuKongA | Channel

@YuKongA13579 · Post #2104 · 09.05.2026 г., 08:25

应该是新的 Android R8 DSL build.gradle.kts: -isMinifyEnabled = true -isShrinkResources = true +optimization.enable = true gradle.properties: +android.r8.gradual.support=true 1、默认包含 proguard-android-optimize.txt,不需要再显式设置 (可以设置 includeDefault 禁用) 2、原 */proguard-rules.pro⁠ 现在移动到 */src/main/keepRules/xxx.keep (文件后缀需为 keep) #gradle#misc

Hashtags

ПретходнаСтраница 1 од 4Следна