Рубрика «automation»

Привет, %Username%! Меня зовут Михаил Слотин, я главный архитектор в РСХБ-Интех (технологическая дочка Россельхозбанка) и один из создателей Частного Облака (ЧО) РСХБ. Сегодня расскажу вам, как мы работали над ЧО, почему потребовалось создавать новое решение вместо покупки готового и как мы сделали больше, чем планировали. Особо полезна, на мой взгляд, статья будет архитекторам и ИТ-менеджерам. Надеюсь, она поможет определиться, начать свою разработку или нет.

Читать полностью »
Не волнуйтесь за них, мы позаботились об их бэкапе

Не волнуйтесь за них, мы позаботились об их бэкапе

Когда-нибудь в твоей стране запретят IaC и ты вспомнишь про мои бэкапы…
© Джейсон Стетхем

Не так давно мы в компании столкнулись с маленькой проблемкой - RabbitMQ Читать полностью »

Периодически возникает желание получать уведомления, иметь возможность настраивать источник, фильтровать сообщения по темам, и писать как можно меньше кода. Например, присылать себе картинку/цитату/слово дня или дельту по изменениям ордеров на бирже. В результате получился универсальный инструмент - бот и персональное АПИ для отправки сообщений в Telegram. Прошу под кат.

Архитектура

Читать полностью »

End to End Testing c 30DaysOfPlaywright

🔖 | Важные ресурсы:

Всем привет

Не давно понадобилось автоматизировать одно приложение.Мне не хотелось использовать какие то посредники по типу Appium, во-первых, ресурсы были ограничены, на одном компьютере нужно было заставить работать 3-4 эмулятора, во-вторых с adb работать не так уж и трудно, в-третьих я наткнулся на библиотеку SharpAdbClient, в которой были уже реализованы базовые функции, но самых важных мне не хватало, поэтому пришлось дописать их самому.Я подумал почему бы не сделать библиотеку с расширенным функционалом, поэтому в этой статье будет обзор на библиотеку Читать полностью »

Кот на унитазе
Кот на унитазе

Сейчас на Алиэкспрессе продается много приспособленийЧитать полностью »

«Восстание машин» часть 1: continuous delivery для базовых Docker образов - 1

Всем привет! Меня зовут Леонид Талалаев, я работаю в Одноклассниках в команде Платформы. Более 3-х лет назад мы запустили внутреннее облако one-cloud. Сейчас под его управлением находятся тысячи серверов в 4 дата-центрах, сотни сервисов и более десятка тысяч контейнеров.

Наше облако – это технология, проверенная временем и инцидентами — вплоть до пожара в одном из наших дата-центров. По мере роста числа сервисов росла и сложность управления. Задачи, которые раньше выполнялись вручную, начинали отнимать слишком много времени и сил.

В серии статей «Восстание машин» я расскажу, как автоматизация в one-cloud помогает экономить не только время, но и деньги. Сегодня пойдет речь о том, как мы реализовали процесс непрерывной доставки изменений базовых Docker образов.

Читать полностью »

Автоматизированная сборка Delphi-приложения

Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-коленке", хотя продукты бывают весьма серьёзными и продаваемыми. Вероятно, это пошло ещё с тех пор, когда для автоматизации нужно было придумывать свои батнички, которые запускали компилятор командной строки dcc32 с нужными параметрами. Некоторые даже сделали свой "Публикатор" — Delphi-expert, который делает работу сервера сборок: компилирует (правда, открытый в IDE) проект, выставляя ему взятый из какой-то БД инкрементированный номер версии, записывает некий changelog и копирует это куда-то в сетевой каталог.

Я не буду вдаваться в исторический экскурс как было раньше. Я расскажу как есть/можно сейчас, и как это использовать для повышения эффективности своей работы.

Файл проекта современной версии Delphi — это .dproj-файл (здесь и далее я буду ориентироваться на Delphi 10 Rio, но с небольшими отличиями это верно для всех более ранних версий Delphi, начиная с 2007). В нём хранятся все настройки проекта, которые обычно изменяют в IDE (меню Project - Options (Ctrl+Shift+F11)). В рамках данной статьи я сконцентрируюсь на "основных", которые понадобятся для демонстрации общих принципов: это Config — конфигурация, Platform — платформа, OutputDirectory — путь выходного файла и ConditionalDefines (директивы условной компиляции). Остальные настройки, если таковые нужно менять при сборке, я предлагаю выявить самостоятельно. Этот же .dproj-файл, если в него заглянуть обычным текстовым редактором, является ничем иным как скриптом сборки MSBuild (давайте создадим простое консольное приложение и назовём его DelphiAutomatedBuild):

Читать полностью »

Количество запрещенных в России сайтов стабильно растет. От блокировок страдают не только плохие ребята но и рядовые пользователи интернета.

Я как разработчики различных веб-сервисов и ресурсов, периодически сталкиваюсь с недоступностью последних в России. Это создает проблемы как для бизнесов, так и для личных проектов. Нельзя быть уверенным, что завтра ваш сайт откроется у посетителей.

Продвинутые пользователи уже привыкли жить с VPN или прокси. К сожалению, простые смертные зачастую ничего об этом не знают. Заставить всех использовать средства обхода невозможно, в таком случае, я предлагаю взять ответственность за доступность сайта в свои руки.

Есть несколько способов, в том числе официальных, узнать о том что ресурс заблокирован, например Is It Blocked In Russia? — идею которого я позаимствовал. Этого достаточно для ручной проверки сайта. Действие легко воспроизвести, а значит автоматизировать.

В качестве проекта выходного дня, я запилил небольшой сервис, который частично копирует и расширяет возможности оригинального проекта. Для простоты, я добавил отдельный путь вида /ping?url=habr.com, который в виде ответа возвращает HTTP-статус: 200 — сайт доступен в России, 451 — сайт не доступен, 400 — с адресом что-то не так. В таком виде, ссылку можно скормить любому сервису мониторинга, например https://uptimerobot.com.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js