Pull to refresh
19
0
Alex Kup @Lifailon

Системный администратор и инженер по автоматизации

Send message

Путь миграции с go build на Bazel

Reading time6 min
Views2.8K

При поиске решений для сборки больших проектов на Go с завидной регулярностью попадались отсылки на статьи про Bazel.

К сожалению, понимания того, как должна выглядеть разработка после миграции на Bazel они не давали. Попробуем разобраться...

Читать дальше →
Total votes 11: ↑7 and ↓4+5
Comments14

Jenkinsfile – это не Groovy

Level of difficultyEasy
Reading time4 min
Views4.3K

Я не нашел в документации к Jenkins утверждения, что Jenkinsfile пишется на Groovy, но количество отсылок к Groovy столь велико, что у многих людей создаются ложные ожидания.

Я решил написать этот пост после многократного объяснения коллегам отличий скрипта Jenkinsfile от Groovy.

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments15

Учебное пособие: Файл Jenkins Pipeline с Apache Groovy

Reading time12 min
Views11K

Этот учебник по Groovy для Jenkins покажет вам, как использовать скрипт Apache Groovy для построения пайплайна Jenkins. Groovy подойдет для начинающих и является хорошим выбором при объединении командных скриптов.

Читать далее
Total votes 9: ↑8 and ↓1+10
Comments1

Jenkins pipelines с Groovy

Reading time8 min
Views18K

Добрый день, коллеги. Jenkins является одной из самых популярных систем CI/CD, которая применяется для построения пайплайнов сборки и доставки.

Jenkins поддерживает построение пайплайнов на основе Groovy скриптов. Использование Groovy дает возможность очень гибко настраивать пайплайны под нужды конкретного проекта.

Рассмотрим основы построения пайплайнов в Jenkins с использованием Groovy скриптов.

Groovy - это объектно-ориентированный язык программирования, использующий платформу JVM. Этот динамический язык имеет множество возможностей, вдохновленных Python, Smalltalk и Ruby. Он также предлагает множество функций для повышения скорости и удобства написания кода, таких как поддержка DSL, замыкания и динамическая типизация.

Почему стоит использовать Groovy в Jenkins?

Читать далее
Total votes 10: ↑8 and ↓2+9
Comments10

NativeScript в мире кроссплатформенной разработки

Level of difficultyMedium
Reading time7 min
Views5.3K

Давайте знакомиться! Меня зовут Игорь. Я разработчик кроссплатформенных мобильных приложений в компании Smartex. В этой статье я расскажу о NativeScript, основных преимуществах платформы и ее недостатках.

Материал будет полезен не только разработчикам, которые уже пишут приложения на React Native, Ionic, Framework7, а также тем, кто собирается погрузиться в разработку кроссплатформенных мобильных приложений на JavaScript.

Погнали!

Свой путь в кроссплатформенную разработку я начал за пределами Smartex, с Cordova + Framework7.

Framework7 это как и Ionic просто UI-библиотека для создания интерфейса которая в последующим просто отрисовывается через WebView. Само приложение (общение с API платформы) создается на платформе Cordova или Capacitor, как раз они и создают экран с WebView и транслирует туда HTML.

Framework7 прекрасно работает с Vue, но по ряду причин он начал меня подбешивать. Я хотел найти инструмент именно для нативной разработки, а не на технологии основанной на WebView. Стал смотреть в сторону Angular, и какие вообще есть на рынке технологии для разработки нативных кроссплатформенных приложений с Angular под капотом. Так я и познакомился с NativeScript.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments15

Как приручить Charles Proxy?

Reading time10 min
Views346K
Привет! Многие из тех, кто приходит к нам на собеседование на должность тестировщика, с гордостью заверяют, что они могут пользоваться Charles Proxy. Но когда погружаешься в техническую часть, то становится очевидно, что кандидат только слышал об этом инструменте. Давайте уже наконец скорее приручим эту вазу!


Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments25

Первые шаги с Fiddler Classic

Reading time6 min
Views137K
Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэтому давайте рассмотрим базовые возможности, которыми мы пользуемся каждый день.


Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments5

Пишем бота-кликера на Python для Lineage 2

Reading time7 min
Views170K


Предисловие


Как можно развлечься в новогодние праздники? Поиграть в компьютерные игры? Нет! Лучше написать бота, который это будет делать за тебя, а самому пойти лепить снеговика и пить глинтвейн.


Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).


В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.

Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments76

Kafka для самых маленьких разработчиков, аналитиков и тестировщиков

Level of difficultyEasy
Reading time11 min
Views27K

Несколько лет назад произошел Kafka-хайп. Kafka хотели использовать все, не всегда понимая, для чего конкретно она им нужна. И сегодня многие продолжают брать Kafka в свои проекты, зачастую ожидая, что её применение само по себе сделает всё лучше.

С одной стороны, это может быть и хорошо. Такие шаги стимулируют индустрию. Но всё же лучше понимать, что ты делаешь, иначе проекту можно сделать только хуже. В этой статье я обращаюсь к разработчикам, аналитикам и тестировщикам, которые еще не сталкивались с Kafka по работе. Помогу понять, почему все же в микросервисной среде многие не ходят просто по REST, а используют этот инструмент - что конкретно делает Kafka и когда есть смысл её применять.

Читать далее
Total votes 34: ↑33 and ↓1+40
Comments15

Основы Postman для самых маленьких

Reading time8 min
Views318K

В этой статье поговорю про основы работы с Postman для начинающих тестировщиков. Сама я столкнулась с этим инструментом как раз на последнем проекте. 

Расскажу, как с его помощью создавать простейшие автотесты и уменьшать объем рутины с помощью переменных.

Читать далее
Total votes 32: ↑32 and ↓0+32
Comments7

Go: жарим общие данные. Атомно, быстро и без мьютексов

Level of difficultyMedium
Reading time8 min
Views9.4K


Как правило, в Go для безопасного доступа к общим данным используются мьютексы. Да, каналы тоже можно приспособить для изменения общих данных, так как они потокобезопасны, но это усложняет и замедляет логику.

Но в этой статье мы поговорим о другом. Современные процессоры имеют поддержку атомарных операций, что позволяет на основе них организовывать работу с общими данными до нескольких раз быстрее, чем с помощью общепринятых вариантов. Так как мьютексы реализованы на основе ОС, каналы сделаны на основе внутреннего кода Go с использованием тех же мьютексов из ОС под капотом, а атомарные операции делает сам процессор аппаратно за существенно меньшее количество тактов.
Пожарим омлет по атомному?
Total votes 41: ↑40 and ↓1+52
Comments29

WebTorrent: торренты через браузер. Без плагинов, чистый JavaScript

Reading time2 min
Views480K


Теперь для скачивания и просмотра фильмов с торрентов не нужен отдельный торрент-клиент. Также как и для раздачи файлов по протоколу BitTorrent тоже не нужен отдельный клиент. Достаточно обычного браузера, поддерживаются Chrome, Firefox и Opera (десктоп и Android).

Всё это благодаря WebTorrent — гибриду BitTorrent и WebRTC. Скачивание и раздача происходят прямо через сайт. Встроенный плеер начинает показ фильма, как только скачано несколько процентов.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments26

Утилита для человеческого shadow подключения неадмина к RDP сессиям пользователей в WinServer 2012R2

Reading time4 min
Views50K
Проблема в период карантинной работы предприятия стала следующей: действительно нужно минимизировать количество посещений кабинетов специалистами, обслуживающими и консультирующими по прикладному ПО, да и сказать откровенно, пользователи частенько злоупотребляют помощью специалистов не желая вникать в сам вопрос, мол «придут — помогут — сделают, а я пока покурю/попью кофе и т.п.». Консультация по телефону при совместном доступе к серверу эффективнее, если просматривать удаленный экран.


Читать дальше →
Total votes 5: ↑4 and ↓1+9
Comments12

Лучшие эмуляторы игровых консолей для Windows

Reading time10 min
Views266K
image

Это уже вторая часть подборки по эмуляторам игровых приставок. В первой части были собраны наиболее популярные и работоспособные эмуляторы под Android. Там же был размещен и опрос о тематике следующей подборки. С большим отрывом победил вариант создания подборки эмуляторов приставок для Windows.



В этом материале я постарался собрать большое количество проверенных временем эмуляторов игровых приставок под Windows. При помощи этих программ можно с легкостью превратить свой ПК в ретро игровую консоль, и наслаждаться классическими играми, от которых остались только лучшие впечатления.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments39

Github Actions. Простой пример для уверенного знакомства

Reading time7 min
Views49K

Здесь я буду расссказывать о моем опыте настройки CI/CD c помощью GitHub Actions.

Эта статья поможет тем, кто хочет настроить автоматический деплой для личного/учебного проекта на свой удаленный сервер, пользуясь бесплатным сервисов GitHub Actions. Причем этим сервисом можно пользоваться бесплатно даже с приватным репозиторием (на момент написания статьи).

Акцентирую на тех моментах, которые для меня оказались не самыми очевидными, читая краткое руководство от Github.

Предполагается, что вы уже знаете, как пользоваться Github. По большому счету, не важно, какой у вас язык программирования или стек: главное - понять, как работают Github Actions и уметь применить его для любого проекта.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments9

Лучшие альтернативы ChatGPT для QA

Level of difficultyEasy
Reading time3 min
Views25K

Привет, Хабр! Меня зовут Иван, я Full Stack QA. Сегодня поговорим про альтернативы ChatGPT, которые работают на территории РФ без костылей и совершенно бесплатно.

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

Главное правило ручного тестировщика - для начала нагугли проблему спроси у GPT и только после обращайся с вопросом к ментору.

🤖 Первый аналог - Coze.com | Открыть модель

Первый ИИ работает в телеграм-боте и всегда будет у вас под рукой...

Читать далее
Total votes 14: ↑13 and ↓1+15
Comments17

Особенности национального DevOps: йети, опенсорс и тяга к облакам

Reading time18 min
Views17K

Привет, Хабр! Меня зовут Марат Цконян, я из солнечной Испании, университет Аликанте. Компьютерный инженер по образованию, по опыту работы — системный администратор.

В прошлом году я наткнулся на исследование отечественного DevOps-рынка за 2022 год: там Холдинг Т1 проводил аналитику трендов, а также формализовал проблематику индустрии. Теперь же благодаря Хабру мне предоставилась возможность обсудить накопившиеся вопросы непосредственно с авторами этой работы. 

Я поговорил с Евгением Калашниковым, соавтором исследования и директором по продуктам инженерных инструментов платформы «Сфера». Мы обсудили исследование, поняли, что такое DevOps и кто такие девопсеры, порассуждали, существуют ли DevSecOps и зачем компаниям облака. Заодно заглянули в будущее, узнав, что нас ждёт в исследовании за 2023 год.

В итоге всё это из приключения на 20 минут вылилось в эпопею с погружением в особенности DevOps-ремесла, загадок функционирования индустрии, а также почти философских дебатов о том, насколько отдельные решения имеют право на существование.

Читать далее
Total votes 10: ↑7 and ↓3+11
Comments5

ReactJS для глупых людей

Reading time5 min
Views486K
Пытаясь разобраться с библиотекой от Facebook ReactJS и продвигаемой той же компанией архитектурой «Flux», наткнулся на просторах интернета на две занимательные статьи: «ReactJS For Stupid People» и «Flux For Stupid People». Решил поделиться с хабравчанами переводом первой (а чуть позже и второй) статьи. Итак, поехали.

ReactJS для глупых людей


TL;DR В течении долгого времени я пытался понять, что такое React и как он вписывается в структуру приложения. Это статья, которой мне в свое время не хватало.

Что такое React?


Чем отличается React от Angular, Ember, Backbone и других? Как управлять данными? Как взаимодействовать с сервером? Что, черт возьми, такое JSX? Что такое «component»?

СТОП.

Остановитесь прямо сейчас.

React — это ТОЛЬКО УРОВЕНЬ ПРЕДСТАВЛЕНИЯ.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments17

От установки AWX до запуска первого плейбука — настройка централизованного управления Ansible

Reading time9 min
Views120K


Количество серверов в нашей инфраструктуре уже перевалило за 800, хотя еще год назад их было около 500. Для работы с этим всем активно используются решения от Red Hat. Про FreeIPA — для организации и управления доступами для Linux-серверов — мы уже писали, сейчас же я хочу затронуть тему управления конфигурациями. Для этих целей у нас юзается Ansible, а с недавних пор к нему добавился AWX — представленное полгода назад решение для централизованного управления плейбуками, расписанием их запусков, управления инвентори, учетными данными для доступа к серверам, а также механизм callback'ов для запроса конфигураций со стороны сервера.

Из-за ряда вещей мы не сразу смогли интегрировать его для работы с нашим основным проектом War Robots, но полей для проверки AWX нашлось предостаточно. Во-первых, в компании ведутся разработки новых проектов, которым нужны dev/stage-окружения и, само собой, production-окружения в перспективе. А недавно к этому добавился еще и проект для внутренней аналитики, которому потребовался полностью новый кластер.

Итак, начнём!
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments11

Rollup: уже можно собирать приложения

Reading time9 min
Views36K
Rollup — это сборщик javascript приложений и библиотек нового поколения. Многим он давно знаком как перспективный сборщик, который хорошо подходит для сборки библиотек, но плохо подходит для сборки приложений. Однако время идет, продукт активно развивается.

Я впервые попробовал его в начале 2017 года. Он сразу понравился мне за поддержку компиляции в ES2015, treeshaking, отсутствием модулей в сборке и конечно простым конфигом. Но тогда это был сырой продукт, с небольшим числом плагинов и очень ограниченной функциональностью, и я решил оставить его на потом и продолжил собирать через browserify. Вторая попытка была в 2018 году, тогда он уже значительно оброс комьюнити, плагинами и функционалом, но все еще не хватало качества в некоторых функциях, включая watcher. И вот наконец в начале 2019 года можно смело сказать — с помощью Rollup можно просто и удобно собирать современные приложения.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments15

Information

Rating
Does not participate
Registered
Activity

Specialization

System Administration, DevOps
Lead
PowerShell
Bash
.NET
Node.js
Express
Swagger
Selenium
Docker
GitHub Actions
Zabbix