TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #884 · 5.10

Роскосмос пару дней назад опубликовал отчёт о том, почему упала "Луна-25". Там конечно канцелярит, но можно примерно понять, что двигатель коррекции получил неверные данные от акселерометра: из-за возможного попадания в один массив данных команд с различными приоритетами их исполнения прибором Это очень похоже на программную ошибку, а это моя сфера, и я решил над ситуацией поразмыслить. Хейтеры сразу стали строчить комментарии в стиле "Ололо, наняли каких-то идиотов, которые простейшие тесты не провели". Тут обычно справедливо вспоминают аварию с европейской ракетой Ариан-5 в 1996 году. Там буквально из-за пары строчек кода в результате неправильного приведения числовых типов ракета за 7 млрд баксов развалилась на куски в воздухе. Бывает. Что касается Роскосмоса, при всей его сомнительной репутации, объяснение "Дураки не провели тесты" звучит лично для меня неправдоподобно. На мой личный взгляд возможны два варианта: 1. Если в описании ошибки слово "приоритет" обозначает какой-то признак внутри объекта команды, значит, на входе в приёмный модуль эти команды не были отфильтрованы. Выглядит как грубая ошибка, целый логический блок упущен. Вряд ли этот блок вообще не написан, скорее всего он не выполнился. Такое бывает, если в тестовой среде есть какое-то условие, которого нет в рабочей, и именно это условие отвечает за выполнение участка кода. Сталкивался с таким миллион раз. Самое дикое из последнего: код парсит эксель-таблицу с числами. Разработчик написал, запустил проверил, прогнал тесты, всё ок. Отправляем в прод — все числа будто бы рандомно меняются на другие. Запускаем снова — у всех разработчиков функционирует нормально, а в проде на сервере нет. Таблица одна и та же. Можете подумать, почему так. Ответ: у разработчиков стоит русская локаль и десятичный разделитесь это запятая, а на проде в докере точка. При парсинге на проде запятая уже интерпретируется как разделитель тысячных разрядов. 2. Куда вероятнее, что слово "приоритет" в описании ошибки обозначает время, а, значит, список команд просто не был отсортирован, и в обработчик уже после актуальных значений попали какие-нибудь начальные нулевые данные, сбившие логику. По косвенному описанию проблемы очень похоже именно на это. Значит, на тестах всегда порядок возникновения команд соответствовал порядку их прихода, а в реальности перестал соответствовать. Вообще, работать с железом очень сложно. Какую-нибудь схемку заглючило от холода, она задержала ответ от датчика на миллисекунду, и всё. Никто не знал, что такая проблема возможна, пока она не возникла. Мне рассказывали о таком случае: юзер логинится на сайт и иногда логин проходит, а иногда нет. Логин и пароль те же самые. Просто в случайные моменты времени ему возвращают токен авторизации, а в другие моменты времени ошибку 403. Никакой закономерности нет вообще. Нет зависимости от времени суток и даты. Сервер точно работает стабильно и не падает все 100% времени. Почему так может быть? Ответ: у сервиса авторизации два инстанса, перед которыми балансировщик нагрузки. В одном инстансе данные для авторизации есть, в другом нет. Балансировщик при примерно одинаковой нагрузке включает просто случайный выбор между ними. В общем, программисты иногда допускают такие косяки, что какая-то мелочь может привести к серьёзной аварии. Это я вам говорю как программист, который пишет для атомных станций :) #dev

Hashtags

Резултати

Намерени 12 подобни публикации

Търсене: #ci

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

@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

Android Broadcast

@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

@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#автоматизация

GitHub Trends

@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

GitHub Trends

@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

Data Science Jobs

@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

GitHub Trends

@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

L'Osservatorio - Italia

@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