Привет! Я Александр Омельяненко, Flutter-разработчик в AGIMA. Недавно мне понадобилось быстро настроить CI/CD на Flutter-проекте. Те несколько руководств, что я нашел в интернете по этой теме, были либо с нерабочими примерами, либо запутанные и просто плохого качества. Но всё же какое-то представление я получил. Плюс задал вопросы коллегам. Набивая шишки по пути, я-таки настроил CI/CD на своем проекте. Но мне тогда очень пригодилась бы четкая инструкция. Поэтому я решил написать ее сам по горячим следам. Сегодня делюсь ею с вами и надеюсь, эта инструкция облегчит жизнь тем, кто настраивает CI/CD на Flutter-проекте прямо сейчас.
Разработчик
Backup and Restore — виртуальные машины в облаках/хостингах
Постановка задачи — есть виртуальная машина в облаке — мы хотим решить две задачи:
1. Резервировать ее по расписанию на наш сервер(а), находящиеся под нашим полным контролем.
2. Иметь возможность в любой момент сконвертировать нужную версию из резервной копии в виртуальную машину (в любом формате) и запустить ее на нашем оборудовании (т. е. приземлить виртуальную машину из облака на грешную...).
И так, поехали!
Как мы описываем требования к REST API для бэкенда в Confluence
У нас в команде два системных аналитика с разным бэкграундом и изначально разными подходами к оформлению требований, в том числе к API. Вначале каждый из нас писал требования по-своему, с разным уровнем проработки и детализации. Но быстро стало понятно, что так дальше не пойдет: это приводило к разночтению требований разработчиками и тормозило реализацию. Поэтому мы в команде решили унифицировать формат описания требований к API.
В статье расскажу, к какому формату описания в итоге мы пришли, и покажу заполнение шаблона на конкретных примерах.
Тест аккумуляторов 18650 EVE
Я протестировал два типа аккумуляторов EVE — обычные и высокотоковые и сравнил их с аккумуляторами, которые считаются эталоном в этой категории.
Как мы наладили процесс разработки внутренних приложений с помощью Appsmith
Привет! Меня зовут Алексей, я аналитик данных в команде BI финансового маркетплейса Банки.ру. Сегодня хочу поделиться опытом работы с Appsmith. Это low-код инструмент для автоматизации бизнес-процессов.
В статье расскажу, зачем вообще нам понадобился подобный инструмент, почему мы выбрали appsmith и чем он нам понравился, а также на кейсах разработки подробнее раскрою его возможности и функциональность.
Если процесс нельзя роботизировать, то он кривой
Последние полтора года я искала дыры в процессах. Принцип очень простой: если у вас достаточно хорошая документация, чтобы взять и переложить процесс на робота, всё ок. Если роботизировать не выйдет — процесс плохой и он сломается.
Почему так? Ну например, уйдёт на больничный единственный человек, который знает, как что-то делать. И всё. Если знания хранятся не только в его голове, это не проблема. То есть должна быть инструкция или что-то похожее — а это значит, что можно роботизировать по такому артефакту.
Если вам тревожно уходить в отпуск — это тоже оно. Это ваши знания куда-то не переложены.
Если вашу работу можно было бы роботизировать (хотя бы в теории), то пускай с качеством ниже, но она выполнялась бы.
Ещё два признака: мелкое изменение приводит к резкому увеличению трудоёмкости — и никто точно не знает, кто и в какой конкретно момент принимает решение.
Попробуйте проверить процесс на роботизируемость:
- Все данные должны быть в электронном виде.
- На входе в процесс каждый раз один и тот же набор данных без творческих дополнений. На выходе тоже всегда одинаковый вывод — без творческих решений.
- Есть чёткий набор действий, которые можно описать алгоритмом.
- Процесс легко поддерживается, то есть не меняется каждый день.
Сразу скажу, компаний без кривых процессов в принципе не бывает, как и компаний без техдолга.
Это примерно одно и то же. И подход один и тот же — надо вовремя что-то с этим делать. Лучше раньше.
Самые частые ситуации в моей практике, когда надо отлаживать такие процессы, — это потому что исторически сложилось, потому что лучше жить в хаосе, чем разбираться, потому что кто-то хочет стать незаменимым. Один большой набор крайне кривых процессов я разбирала после слияния-поглощения компаний, когда одинаковые вещи делались по-разному.
Что важно учитывать при составлении SLA
Если у вас есть продукт, то у вас есть обязательства перед конечными пользователями. В этом случае SLA (соглашение об уровне обслуживания) — это отличный инструмент. Он помогает сфокусировать внимание разработчиков продукта на том, что больше всего нужно вашим клиентам.
Перевели статью, автор который делится практическими советами при создании SLA. Они помогут лучше понять эту задачу. Автор касается вопросов: что измерять, как измерять где и, самое главное, какие целевые пороги установить.
low-code/no-code (LCNC), или как облегчить работу разработчикам
На протяжении многих лет у предприятий было лишь два варианта для разработки софта: приобрести готовые программы у стороннего поставщика или же создать и адаптировать свои силами профессиональных разработчиков. Однако сегодня мы становимся свидетелями возникновения и развития подхода low-code / no-code (LCNC), который позволяет каждому сотруднику компании стать разработчиком.
Этот подход подразумевает использование альтернативных методов разработки, обладающих интуитивно понятными графическими интерфейсами. Они дают возможность пользователям оперативно создавать программы и автоматизировать рабочие процессы без необходимости написания кода. Интеграция простых и доступных LCNC инструментов расширяет возможности пользователей и ускоряет создание инноваций, уменьшая нагрузку на IT-отделы. Переход на платформы LCNC представляет собой следующий шаг к упрощению процесса разработки программ, делая его доступным для всех.
Бауманка, ВШЭ или всё-таки МФТИ? Или как я выполнила пятилетку за 4 года. Часть 1
На самом деле восьмилетку за 6 лет, но пятилетка за 4 года звучит лучше.
История про учебу в трёх лучших технических (почти) вузах страны, а также особенности каждого из личного опыта.
Революция от OpenAI — полный обзор: что означают последние анонсы для продуктовой разработки
Неделю назад я получил уведомление о начале трансляции первой разработческой конференции от OpenAI. Было неудобно смотреть эфир живьём, так что я уложил детей спать, и ночью, заварив себе какао, с предвкушением открыл YouTube.
Конечно, я к тому времени не выдержал и посмотрел краткие описания анонсов, так что был готов к тому, что увижу, но скажу честно: не смотря на презентацию в стиле студенческих конференций (на финальный слайд (под катом) вообще без слёз не взглянешь), чем дольше я слушал об анонсах, тем больше у меня отвисала челюсть.
Это не просто небольшие улучшения; это действительно скачок вперед. Я слушаю про увеличение длины контекста до 128К, обновлении данных до апреля текущего года, об интеграции в API интерпретатора, нового "рисователя" DALLE-3, анализ изображений, извлечение данных из массивов, безлимитных "ассистентов" и чуть ли не подпрыгиваю на стуле от оживления: решилось огромное количество проблем, которые до этого требовали человеко-месяцы доработки довольно квалифицированной командой.
Как только презентация подходит к концу, я судорожно открываю беклог и начинаю записывать и редактировать идеи. Я уверен, что перед разработчиками открыли действительно большие возможности, которые переопределят способ разработки и восприятия продуктов. И если тема AI вас как минимум интересует и вы ещё и занимаетесь продуктовой разработкой, а перепосченных по 150 раз новостей не хватает понять, что это значит лично для вас и команды, этот обзор будет весьма кстати.
Взлом YouTube для быстрого скачивания видео
Но главным врагом для этих программ остаются даже не правообладатели, а злобная корпорация Google, которая постоянно вносит изменения в YouTube API, чтобы
Сами программки — просто технические инструменты для скачивания общедоступного контента, они ничего не воруют и не пиратят. Просто доступ происходит нестандартным способом, который не предусмотрен официально. Посмотрим, как это делается.
Руководство по развертыванию и управлению Linux-сервером без bash и sh с помощью ispmanager
Запуск своего Linux-сервера многие до сих пор видят как работу для владельцев свитера, бороды и толстого тома с инструкциями по Unix/Linux и набором команд в bash/sh-консоли. Возможно вы также считаете работу с командной строкой в терминале чем-то архаичным и неудобным, и вам сложно подключаться, поскольку вы нередко забываете команды и их параметры. Если да — то все нижеперечисленное вам будет интересно. В любом случае вы можете поделиться своим опытом и замечаниями в комментариях.
Мы расскажем, как с нуля развернуть полноценный Linux-сервер на базе Ubuntu 20.04, не вписывая ни единой строчки кода в терминале. Весь процесс будет выполнен исключительно через веб-интерфейс панели управления ispmanager.
Данная инструкция подойдет для виртуальных и обычных выделенных серверов с предустановленной панелью управления ispmanager.
Это база: нюансы работы с Redis. Часть 1
Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.
В серии статей я попытаюсь осветить неочевидные нюансы при работе с Redis и сегодня начну с основных концепций и понятий. А еще в конце статьи приведу небольшой чек-лист, который может помочь вам в оптимизации этого NoSQL решения.
Backend Driven UI с точки зрения бэкенда: к чему готовиться, если вы решили на него перейти
Многим знаком подход Backend Driven UI. С его помощью можно создавать новые страницы, запускать А/B-тесты, легко менять флоу в любое время и сразу на всех платформах. И при этом не надо долго и мучительно перевыкатывать приложение.
Обычно о BDUI рассказывают мобильные разработчики — как они сделали новый парсер или придумали новую схему для элементов, которая лучше, чем предыдущая. Сейчас же хочется поговорить о том, почему в таких проектах лучше сразу закладываться на возможное изменение источника данных и как можно переиспользовать наработки своих коллег и сделать это расширяемым решением.
Расстаемся с облаками на примере Sonoff
Привет всем!
В своем «умном доме» я решил, что все устройства должны быть завязаны на локальном сервере, чтобы без интернета он не превратился в тыкву.
Но почти всё так или иначе привязано к облаку. Этот пост о том, как отвязать устройства Sonoff от облаков.
Да, я знаю, что таких постов очень много и уже все рассказали, как прошить Sonoff. Но я хочу показать как можно отвязать от облака Sonoff DW2, не прошивая его. Прошить его в любом случае не получится, ведь там не ESP8266, а другая микросхема.
Что понадобится для освобождения от облаков:
- Sonoff Basic, Sonoff 4CH — понадобится паяльник и USB-TTL преобразователь;
- Sonoff DW2 — собственный сервер.
В посте я использую ESPHome + Home Assistant + Docker + PHP, вы можете использовать любое другое ПО, тут главное принцип работы.
Использование Istio для управления трафиком и мониторинга в микросервисах
Привет, уважаемые читатели Хабра!
Когда у нас есть десятки, сотни или даже тысячи микросервисов, становится важным уметь управлять трафиком между ними. Это может включать в себя маршрутизацию запросов, балансировку нагрузки, версионирование сервисов и даже внедрение A/B-тестирования. Контроль над трафиком необходим для обеспечения стабильности и производительности системы.
Мониторинг микросервисов и всей инфраструктуры позволяет выявлять и решать проблемы быстро. Это включает в себя сбор метрик, анализ логов и трассировку запросов. В мире микросервисов даже мелкие изменения могут иметь большое воздействие на производительность, и мониторинг помогает быстро реагировать на такие изменения.
И вот здесь на помощь приходит Istio, предоставляя мощные инструменты для управления трафиком и мониторинга в микросервисной архитектуре.
Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще
Привет Хабр! В этой статье мы рассмотрим некоторые полезные библиотеки Python для задач обработки данных, с которыми, возможно, вы еще не знакомы. Хотя для задач машинного обучения на ум приходят такие библиотеки, как pandas, numpy, scikit-learn, keras, tensorflow, matplotlib и т.д., но всегда полезно знать о других предложениях Python, особенно если это поможет улучшить ваши проекты.
Почему профи не пишут статьи? Они работают…
Хороших статей все меньше, вот раньше было ого-го! А сейчас сплошь новости, маркетинг, самопиар. Каждый техно-гик ловил, себя на такой мысли. А вы?
Попробуем разобраться в причинах того, что лишь малая часть профессионалов своего дела пишет статьи.
Установка Deckhouse в kind: пробуем K8s-платформу на ноутбуке — без серверов и облаков
Чтобы попробовать Kubernetes-платформу Deckhouse в деле, придется найти мощный сервер, пространство у облачного провайдера или несколько машин и прокси-сервер. Но что делать, если хочется просто потестировать Deckhouse, а технических возможностей для этого нет? Конечно же, установить Deckhouse в kind — ведь для этой задачи сгодится даже ноутбук, а на выходе у нас будет рабочая инсталляция Kubernetes-платформы, правда, с некоторыми ограничениями.
Альтернатива Zapier, удаленное подписание договоров, обучение дизайну в формате игры и другие российские стартапы
12 участников четвертого набора Product Radar. Битва за «Продукт недели» в самом разгаре!
Product Radar — площадка для продвижения технологических продуктов. «Радар» объединяет 15 медиа-ресурсов для продвижения вашего проекта, проверки гипотезы с MVP или анонса обновления вашего продукта.
Information
- Rating
- 2,329-th
- Location
- Pompano Beach, Florida, США
- Date of birth
- Registered
- Activity