@YuKongA13579 · Post #1973 · 02.04.2026 г., 09:56
如果你遇到升级 Android SDK 37 后构建失败 对于 library,可以使用: compileSdk { version = release(37) { minorApiLevel = 0 } } 对于 application,可以使用: compileSdk = 37 compileSdkMinor = 0 #android#github#ci
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #1084 · 9.04
В общем, была задача на оптимизацию плана работ: есть набор заказов, и в каждом N тасков. Таски могут зависеть друг от друга или нет, имеют длительность и тип. Ещё есть M работников, каждый из которых может выполнять таски только определённых типов, причём, у каждого своя скорость. Если все таски в заказе выполнены, фирма получает сколько-то денег. У заказа есть дедлайн, за просрочку штраф (за каждый день просрочки), который вычитается из цены заказа. И ещё фирма тратит деньги за каждый день своей работы независимо от того, как загружены её сотрудники (то есть просто платит зарплаты по сути). Ещё важен учёт праздников и выходных. Нужно заработать на определённом наборе заказов и работников как можно больше денег. Полный текст задачи и код программы проверки есть в репозитории. Эта задача является изменённым заказом, который мы с напарником решали в реальной жизни: оптимизация работы печатных станков для типографии. Правда, тогда и мы справились так себе, и заказчик в итоге сначала захотел всё вручную сам делать, а потом и вовсе похоронил проект при смене директора. !!! Не читайте дальше, если хотите сначала попробовать решить самостоятельно, потому что я сейчас опишу эффективные подходы и результаты. ________________________________________ Так вот. Мы с другим экспертом Андреем сразу сели и написали разные варианты, чтобы задать шкалу, по которой будем оценивать решения команд. За пару часов я собрал примитивный жадный алгоритм, который сортировал заказы по прибыльности и укладывал в сетку кое-как, это дало нам нижнюю оценку. Мой алгоритм заработал ~75 млн виртуальных рублей, мы решили для оценки поставить нижней границей 40 млн. То есть всё, что ещё ниже, оценивалось в ноль баллов за качество оптимизации. Затем Андрей закрылся дома на три дня и вышел на свет со сложным жадным алгоритмом, который очень хитро сортировал заказы и очень хитро укладывал их в сетку, попутно выбирая разные способы этой укладки в зависимости от конкретного заказа. Это позволило заработать ~275 млн рублей. Мы сделали верхней границей для оценки 280 млн. К сожалению, в итоге только две команды из десяти прошли нижнюю границу, заработав, соответственно, ~91 и ~105 млн. К верхней границе не приблизился никто. И у четырёх команд алгоритм вообще не смог уложить без нарушений задачи в сетку (то есть, например, произвольно менял длительности, накладывал задачи друг на друга, давал одному работнику две задачи в один момент и так далее). Важной ошибкой команд, на мой взгляд, являлся тот факт, что никто не воспользовался возможностью запустить алгоритм на несколько минут и дать ему поработать. По условиям задания, можно было тянуть до 5 минут на одну оптимизацию, но по факту решения команд отрабатывали за единицы и десятки секунд. На самом конкурсе, пока команды работали, я решил попробовать сделать быстрое (по времени написания) но эффективное решение. Сначала попробовал жадную сортировку + доведение до лучшего варианта методом имитации отжига. В качестве нового состояния я просто менял местами заказы целиком. Этот вариант работал пару минут и дал мне около ~200 млн дохода. К слову, команда-лидер использовала такой же подход, просто не докрутила число итераций и температуру. Ну и потом я взял готовую либу по реализации классической генетики с особями и скрещиванием. Особью был массив с приоритетами заказов (которые конечно же нужно было аккуратно уложить чистым алгоритмом). Тип скрещивания: scattered. Всего 15 поколений по 20 особей, и это за минуту-полторы давало ~230-240 млн. Считаю, что для конкурса это самый лучший выбор: пишется одним человеком за день и даёт почти максимум, при этом легко настраивается на нужную длительность работы, легко параллелится. Ну а потом уже дома я посидел и накодил свой вариант сложного жадного с плавающим окном перебора отсортированных заказов и плавающей же укладкой по работникам. Такая штука за две минуты зарабатывает ~281 млн. Но за три дня в условиях стресса я бы такое не сделал, скорее всего. #dev
Hashtags
Търсене: #ci
@YuKongA13579 · Post #1973 · 02.04.2026 г., 09:56
如果你遇到升级 Android SDK 37 后构建失败 对于 library,可以使用: compileSdk { version = release(37) { minorApiLevel = 0 } } 对于 application,可以使用: compileSdk = 37 compileSdkMinor = 0 #android#github#ci
@Grasscutter_CN · Post #50 · 04.06.2022 г., 14:19
#tips#ci 如何更新到最新版开发版 jar ? 进入 @GrasscutterArchives ,搜索 #development ,选择最新的 Grasscutter.zip 解压到服务端目录即可
@android_broadcast · Post #9404 · 09.08.2025 г., 08:13
💡Надо регулярно следить за выполнением правил и лучших практик в коде За годы работы в IT в разных компаниях и командах я понял одну простую вещь: даже лучшие правила и практики будут нарушаться, если нет автоматической системы, которая их регулярно проверяет. Сегодня поделюсь, как я подхожу к автоматизации контроля качества кода Android-проектов на Kotlin. Рассматривать будем только статический анализ — когда код не выполняется, а анализируется как текст. 🛠 Инструменты для анализа кода • Detekt — статический анализатор Kotlin-кода. Работает быстро, так как проверяет файлы по отдельности, без учёта зависимостей между ними. • KtLint — проверка стиля кода. Настроек немного, но работает с конфигом .editorconfig, что удобно для командной разработки. • Android Lint — мощный инструмент для Android-проектов. Может анализировать разные типы исходников и проверять сразу несколько файлов по одному правилу. ⚠️ Запуск из Android Studio и через Gradle может иметь разные настройки. Полный контроль — через Gradle ⚙️Дополнительно для Compose: • Compose Rules — правила для Detekt или KtLint, проверяющие соответствие best-practice работы с Compose. • Compose Rules от Slack — набор правил для Android Lint (частично пересекается с предыдущим, но есть уникальные). 🔐Безопасность: • GitLeaks — поиск в коде секретов и данных, которые не должны попасть в репозиторий. Можно смело комбинировать несколько линтеров. Лучше перебдеть, чем недопроверить. 🚀Как запускать проверки Я использую три уровня автоматизации: 1. Перед пушем кода — быстрые проверки (Detekt, KtLint) в pre-push hook. ⏱️ Цель — не больше 30 секунд, чтобы не раздражать разработчиков, но сразу отсеивать очевидные ошибки. 2. На CI/CD — полная проверка. ⏱️ Лимит — 10 минут. Обычно сюда входят все линтеры, кроме Android Lint, который может сильно замедлить процесс. 3. Ночные прогоны — расширенный Android Lint и тяжёлые правила, если в проекте были изменения. 🛠Собственные правила Стандартные линтеры могут покрыть только общие случае и правила, но если есть практики, которые надо форсировать для вашего кода то тут надо будет писать собственные правила. Для анализа Kotlin кода я пишу расширения для Detekt, а во всех остальных случаях - для Android Lint, но довольно редко. 📌 Бонус: AAR-библиотеки могут содержать свои Lint-правила, которые автоматически подключаются при их использовании. 💬Делитесь в комментариях как вы следите за качеством вашего кода на регулярной основе и какие инструментыиспользуете. #android#compose#инструменты#ci
Hashtags
@tomoko_channel · Post #887 · 02.01.2025 г., 12:35
🔖 What are your pre-commit hooks? : r/ExperiencedDevs #pinboard#ci#git#evergreen Pre-commit vs CI ? https://www.reddit.com/r/ExperiencedDevs/comments/144fcqo/what_are_your_precommit_hooks/
Hashtags
@android_broadcast · Post #8624 · 31.01.2025 г., 06:00
Как команда Контура объединила CI/CD для мобильных платформ(5м) Команда мобильной разработки Контура столкнулась с проблемой разного CI/CD для Android и iOS. Разные пайплайны, gitflow, подходы к секретам и использование сабмодулей создавали сложности в сопровождении и развитии инфраструктуры. Как было: 👉 Разные процессы CI для Android и iOS 👉 Submodules, не подтягивающие обновления 👉 Дублирование кода 👉 Сложности с мультиплатформенным подходом Как стало: 👉 Перевели CI на единый шаблон 👉 Отказались от сабмодулей 👉 Унифицировали работу с секретами 👉 Перешли на модульную структуру fastlane Теперь CI/CD работает как сервис: разработчики могут быстро подключать обновления и собирать пайплайны под новые платформы. Даже после ухода ключевых инженеров система продолжает стабильно работать. UPD1: Этот процесс был выполнен давно и в Контур уже отказались от Fastlane. #fastlane#android#ios#ci#автоматизация
@android_broadcast · Post #9311 · 10.07.2025 г., 13:27
🦊 Настройка автоматизация проверки качества, сборки и запуск тестов Android проекта в Gitlab CI/CD - неотъемлемая часть любого мобильного и не только проекта! Даже если вы делаете всё один, вас стоит настроить CI/CD. GitHub, Gitlac, Jenkins и множество других решений подойдут для решения задачи. Если вы решили использовать CI/CD от Gitlab, тогда вам может пригодиться серия статей: 1️⃣Планирование, настройка Gitlab файла, публикация в Telegram сборок 2️⃣Запуск Android-тестов: Marathon Labs, Firebase Test Lab 3️⃣Автоматизация публикации версий в Play Store с помощью Gradle Play Publisher plugin и Fastlane, а также собственного Docker образа для сборки #andorid#ci#gitlab#автоматизация
Hashtags
@githubtrending · Post #15481 · 09.02.2026 г., 11:30
#go#actions#cai#ci#claude_code#codex#copilot#gh_extension#github_actions GitHub Agentic Workflows let you write simple markdown instructions in natural language to automate repo tasks like triaging issues, fixing CI failures, generating reports, and improving code—running safely as GitHub Actions with AI like Copilot or Claude. Strong guardrails ensure read-only access by default, sandboxed execution, and human-reviewed outputs via pull requests. This saves you time on repetitive work, boosts efficiency with adaptive AI decisions, and keeps everything secure without complex YAML coding. https://github.com/github/gh-aw
@storage_qi · Post #1244 · 15.02.2026 г., 12:50
#GitLab#CI#CD#SchemaMigration#BackwardCompatibility#MultiVersionSupport#ZeroDowntimeMigration#RollingUpgrade https://about.gitlab.com/blog/continuously-deploying-the-largest-gitlab-instance
@githubtrending · Post #14929 · 08.07.2025 г., 13:00
#swift#ci#cli#generator#specification#swift#xcode#xcodeproj#xcodeproject#yaml XcodeGen is a Swift command-line tool that automatically creates your Xcode project based on your folder structure and a simple YAML or JSON configuration file. This means you don’t have to manually manage your Xcode project files, avoiding merge conflicts in Git and keeping your project files always in sync with your folders. It supports complex setups, multiple targets, build settings, and schemes, and works well with CI systems. Using XcodeGen saves you time, reduces errors, and makes collaboration easier by letting you generate and update projects on demand without opening Xcode manually. This helps you focus more on coding and less on project setup. https://github.com/yonaskolb/XcodeGen
@datasciencejobs · Post #2243 · 02.08.2024 г., 12:34
#вакансия#nlp#llm#senior Senior QA Automation (LLM, NLP) Требуемый опыт работы: 3–6 лет Полная занятость, полный рабочий день Мы — АТОМ. Разрабатываем электромобиль-гаджет и его версии для семьи, такси, каршеринга и службы доставки, а также собственный маркетплейс приложений и другие сервисы. Ищем Senior QA Automation в команду AI, LLM-Lab, которая работает над рядом проектов: Голосовой ассистент для заказа товаров и услуг, в котором используются передовые технологии распознавания и синтеза речи, понимания естественного языка на основе нейросетевых моделей. Разработка умных чат-ботов и других проектов в домене LLM/NLP. Ваши задачи: - налаживать процесс автоматизации тестирования; - проводить тестирование - регрессионное, интеграционное и функциональное; - тестировать ML-системы; - анализировать функциональные требования и результаты тестирования на соответствие этим требованиям; - исследовать проблемы, возникающих в работе сервисов; - анализировать проблемы и запросы пользователей, ставить задачи разработчикам; - вести тест-кейсы в системе управления тестами (Allure TestOps). Стек: Python, PostgreSQL, PyTorch, Ray/Triton Inference Server, k8s, redis Наши ожидания: - опыт построения систем автоматизированного тестирования; - умение читать и писать код на Python; - опыт работы/тестирования ML-систем (NLP/LLM-моделей); - опыт работы с CI/CD инструментами; - опыт работы с Allure TestOps; - Fiddler, Swagger, Postman; - опыт оценки задач на тестирование с учетом ресурсов и рисков; - знание английского языка на уровне, необходимом для чтения технической литературы. Будет плюсом: - опыт работы с системами оркестрации контейнеров - OS/K8s на уровне пользователя; - опыт работы с GraphQL; - опыт работы с брокерами сообщений Kafka/Rabbit; - опыт работы auto-QA в команде GigaChat, YaLM , YandexGPT; - опыт работы auto-QA в голосовых ассистентах Маруся, Алиса, Салют. Мы предлагаем: - высокотехнологичный, интересный продукт, возможность создавать новые процессы и влиять на развитие; - работа в команде высококвалифицированных профессионалов из России, Китая, Европы; - корпоративная культура, выстраиваемая в духе инноваций, открытые горизонтальные коммуникации; - конкурентная официальная белая заработная плата; - годовой бонус; - кафетерий льгот (“плюшки”) - ДМС со стоматологией, питание, транспорт, страхование жизни и имущества, фитнес, обучение и многое другое; - бесплатный доступ к платформе с обучающими курсами iSpring, корпоративное обучение китайскому языку, спортивные командные игры и другие приятные мелочи; корпоративное оборудование; - гибридный или удаленный формат работы; - трудоустройство в аккредитованной ИТ-компании. Пройди вместе с нами крутой кейс по созданию электромобиля с нуля! ✍️По всем вопросам, а также для отправки резюме/cv обращайтесь: @tanya_yuu #CI#CD#Allure#TestOps#SQL#Fiddler#Swagger#Postman#QA#Python#LLM#NLP#ML#DataScience#AutomationQA#NaturalLanguageProcessing
@githubtrending · Post #14768 · 31.05.2025 г., 12:00
#typescript#ci#ci_cd#cicd#evaluation#evaluation_framework#llm#llm_eval#llm_evaluation#llm_evaluation_framework#llmops#pentesting#prompt_engineering#prompt_testing#prompts#rag#red_teaming#testing#vulnerability_scanners Promptfoo is a tool that helps developers test and improve AI applications using Large Language Models (LLMs). It allows you to **test prompts and models** automatically, **secure your apps** by finding vulnerabilities, and **compare different models** side-by-side. You can use it on your computer or integrate it into your development workflow. This tool helps you make sure your AI apps work well and are secure before you release them. It saves time and ensures quality by using data instead of guessing. https://github.com/promptfoo/promptfoo
@Osservatorioitaliano · Post #25137 · 09.04.2026 г., 07:49
#Italia#Comunali#Veneto Comunali di #Venezia, candidature ufficiali fin'ora: 📌 Simone #Venturini, sostenuto da #FdI, #Lega, #FI-#UdC, #PdV e #SVS (comprende #Azione e #CI) 📌 Andrea #Martella, sostenuto da #PD, #AVS, #VVP, #M5S, #TeA, #VèT, #VR (comprende #IV, #PiùE, #RI e #PSI) e #PRC 📌 Michele #Boldrin, sostenuto da #ORA 📌 Claudio #Vernier, sostenuto da #CV (comprende #Volt) 📌 Pierangelo #DelZotto, sostenuto da #PiV 📌 Giovanni Andrea #Martini, sostenuto da #TlCI, #LCcV e #VPL @Osservatorioitaliano