Search
Write a publication
Pull to refresh
4
0
Michael Elin @vanelm

Consulting Network Engineer

Send message

Священная война языков программирования или опыт неудачного переезда с Python на Golang

Level of difficultyEasy
Reading time7 min
Views16K

Что же меня побудило перейти на Golang? В то время я сидел на Python ещё версии 2.7.9 — это примерно 2017 год. Потом вышла версия Python 3. Оказалось, что несмотря на множество обещаний, что теперь всё будет работать из коробки, начались дикие конфликты при переходе с 2.7 на новую третью версию. Я тогда немного разочаровался и начал смотреть, что ещё есть интересное, чтобы поработать с сетями. 

Под мои задачи всегда подходил Python. И в работе с Python я себя чувствовал примерно так: это огромная, очень добрая, очень хорошая, почти пушистая черепаха, но при этом ужасно неповоротливая. Очень тяжело с ней путешествовать, очень тяжело порой заставить её сделать то, что мне нужно. В то же время расширение PyPy разгоняло её очень сильно — условно, с 9 до 0,2 секунд.

Читать далее

Как в разы увеличить дальность приема WiFi / BT при помощи паяльника

Level of difficultyEasy
Reading time3 min
Views58K

Ну или точнее при помощи двух паяльников. Несколько простых и эффективных решений, подходящих для компактных модулей с чип антенной.

Читать далее

Ищем адекватную замену ChromeOS для устаревшего Chromebook. Несколько интересных экспериментов

Level of difficultyEasy
Reading time8 min
Views11K

Привет, Хабр! Это Кирилл из МТС Диджитал. Недавно я опубликовал пост Chromebook: жизнь после EOS. Сегодня возвращаюсь с продолжением.

Мне стало интересно, сложно ли подобрать операционную систему, с которой все устройства Chromebook будут работать в штатном режиме. И какие проблемы по ходу этого дела возникнут. Я попробовал установить несколько операционных систем — оказалось, тут есть о чем рассказать. Так что заварите себе чаю, приятного чтения!

Читать далее

Обнаружение DNS туннелей

Reading time12 min
Views11K

В современном мире, где цифровые технологии проникают во все сферы нашей жизни, обеспечение безопасности данных становится важной задачей.

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

Читать далее

Автоматизация тестирования API посредством Postman

Level of difficultyMedium
Reading time5 min
Views8.3K

Добрый День! Меня зовут Галактион, я — QA, в этой статье я собираюсь поделиться с Вами опытом автоматизации API посредством Postman, используя язык программирования — JavaScript.

Проект, о котором пойдет речь — региональный портал государственных и муниципальных услуг, в котором интегрированы следующие сервисы (все перечислять не буду, т.к. их множество).

Читать далее

aldaas — БД с заготовлеными данными для разработки, CI/CD и всех-всех-всех

Level of difficultyMedium
Reading time8 min
Views3.3K

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

Читать далее

Фокус в Android TV

Level of difficultyMedium
Reading time20 min
Views28K

Разработчики начинающие писать приложения под Android TV часто сталкиваются с непониманием того, как работает фокус. По моему опыту, и по опыту коллег часто приходится сталкиваться с непонятными костылями в Android TV проектах, результатом которых является поломанный фокус, потому что ребята не осознают, как изящно решать проблемы. К сожалению разбираться в таком случае приходится самостоятельно, т.к. погуглив вы вряд ли найдете инфу на эту тему.

В данной статье мы рассмотрим как работает фокус в Android, по какому принципу он передается, какие существуют методы для работы с ним, и другие нюансы. Фокус будем рассматривать в рамках Android View, по компоузу статью возможно напишу позже.

Читать далее

Flutter vs Kotlin Multiplatform: что выбрать

Level of difficultyEasy
Reading time10 min
Views13K

Мобильный разработчик Droids On Roids сравнил два кроссплатформенных фреймворка, Kotlin Multiplatform и Flutter, и рассказал, для каких проектов каждый из них подходит. 

Я, Flutter Tech в Friflex Lead Юра Петров, перевел эту статью и предлагаю сообществу обсудить особенности фреймворков.

Читать далее

Настройка self-hosted K8s кластера с помощью RKE2 (Rancher)

Level of difficultyMedium
Reading time12 min
Views9K

Имея за плечами опыт работы с Kubernetes в различных облачных провайдерах вроде AWS и Yandex Cloud я столкнулся с необходимостью развертывания кластера вне облака на виртуальных машинах. 

В статье расскажу про то, как подготовить high-availability кластер, используя инструмент под названием RKE2 - Rancher Kubernetes Engine.

Читать далее

Как оптимизировать размер контейнерного образа в Docker

Reading time6 min
Views6.9K

Введение


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

Я для сравнения покажу различные варианты Dockerfile, а в конце этой статьи приведу таблицу, в которой будет показано, образы какого размера получаются из каждого файла. Так вам будет проще оценить, каково влияние от каждого варианта оптимизации.
Читать дальше →

Как простой Python-скрипт с использованием ИИ может оптимизировать ваш рабочий процесс

Level of difficultyEasy
Reading time6 min
Views24K

Программисты не понаслышке знают, как важно периодически давать отдых уставшим запястьям. И в этом случае возможность диктовки текста – будь то во время длительных сессий программирования или в стремлении к более эргономичной организации работы – может стать настоящим спасением. В данном туториале я вместе с вами подробно рассмотрю процесс создания современного инструмента для транскрибации речи в текст на языке Python, отличающегося высокой скоростью и точностью благодаря использованию ИИ, а именно API Whisper от Groq.

Наша цель – разработать скрипт, работающий в фоновом режиме и позволяющий активировать голосовой ввод в любом приложении простым нажатием кнопки. После отпускания кнопки скрипт мгновенно преобразует речь в текст и автоматически вставит его в активное поле ввода. Таким образом, мы получаем возможность голосового ввода практически в любом вашем приложении.

Приятного прочтения!

Читать далее

Hono.js: Легкий Путь к Эффективным API

Level of difficultyMedium
Reading time5 min
Views7.1K

Когда речь идет о разработке простого бэкенда, то в голову приходит Express.js. Однако в 2024 году он считается устаревшим, так как есть шустрые альтернативы. Приветствую вас, дорогие читатели и сегодня расскажу о Hono.js.

Читать далее

Как мы переехали с Greenplum на Delta Table

Level of difficultyMedium
Reading time6 min
Views4.2K

У нас было 2 кластера Clickhouse, 1 кластер GreenPlum’a, 1 кластер Kubernetes’a, DataVault 2.0, гора dbt витрин и всего такого, а еще Dagster. Не то чтобы это все было нужно в архитектуре, но раз начал коллекционировать сервисы, то иди в своем увлечении до конца. Единственное, что нас беспокоило - это стоимость. 

Решение о полной переделке архитектуры пришло внезапно, как галлюцинация в ночной пустыне - мы поняли, что больше нельзя ждать. Теперь наши данные обрабатываются быстрее, чем мысли в голове на ЛСД, и мы можем персонализировать клиентский опыт так, что он становится почти реальным. 

Читать далее

Домашние шпионы: как поставщики WiFi-оборудования следят за вашей личной жизнью

Level of difficultyEasy
Reading time9 min
Views20K

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

Речь идёт о WiFi-узлах (WiFi-pods), производимых такими компаниями, как Plume Design Inc. Эта компания заняла значительную долю рынка WiFi-устройств, охватив своими продуктами с возможностью слежки более 60 миллионов домашних систем по всему миру.
Читать дальше →

Продвинутые структуры Redis

Level of difficultyMedium
Reading time7 min
Views5.9K

Редис – это кеш? А, может быть, это основная база данных? Так мы и живём в Мойре – опенсорс-системе реалтайм-алёртинга, родом из компании Контур. Расскажу вам про плюсы и минусы такого подхода, про жизнь в Редисе при 3 миллионах RPS, про миграции данных и оптимизацию базы.

Читать далее

Гайд: создаем функционального Telegram-бота на Dart

Level of difficultyMedium
Reading time5 min
Views4.3K

Привет! Я Саша Омельяненко, тимлид в отделе Flutter в AGIMA. На одном из наших проектов нужно было сделать бота для Telegram. Я нашел инструкции, как создать только базового бота. Но как оформить его, добавить кнопки и повесить на них Listener, я не нашел.

Пришлось разбираться с документацией Telegram, а это занятие не из приятных. Чтобы избавить вас от этого удовольствия, я решил написать гайд по разработке функционального Telegram-бота на Dart. Мы пройдем весь процесс от регистрации бота до его развертывания на удаленном сервере. Эта инструкция будет полезна Flutter-разработчикам уровня Junior и Middle.

Читать далее

Просто выберите Postgres

Level of difficultyMedium
Reading time6 min
Views30K

Отчасти это действенный совет, отчасти — вопрос к читателям.

Совет: при создании нового приложения, требующего постоянного хранения данных, как это и бывает в случае большинства веб-приложений, по умолчанию следует выбирать Postgres.

Читать далее

Телеграм-бот магазин на Python. Создание с нуля

Level of difficultyHard
Reading time20 min
Views39K

В этой статье я покажу, как сделать Telegram-бота для онлайн-магазина на Python, который позволяет пользователям просматривать каталог товаров, добавлять их в корзину и оформлять заказы. Мы также рассмотрим, как интегрировать платежи и работать с базой данных для хранения информации о товарах и корзинах пользователей.

Читать далее

Информатор для стиральной машины

Level of difficultyEasy
Reading time7 min
Views6.2K

Когда увлекаюсь работой, забываю обо всём, есть такое. Но бытовые проблемы никуда не исчезают и дают о себе знать. Лет десять назад осознал, что в век интернета уже надо что-то делать с тем, что я постоянно забываю вытащить бельё из стиральной машины. Приспособил к ней систему уведомления. Всё было хорошо, но век гаджетов не долог – нужно было обновить решение, что я и сделал с помощью ESP32 и небольшой программы на Rust. Интересующимся добро пожаловать под кат.

Читать далее

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Registered
Activity