Search
Write a publication
Pull to refresh
0
0
Ласкин Дмитрий @eshimischi

Fullstack разработчик

Send message

Развертывание копий Zabbix на Ansible

Level of difficultyMedium
Reading time5 min
Views8.8K

Недавно выпала задача по развертке копий основного Zabbix-server на несколько машин, дабы хранить конфиги на разных серверах, да и еще всунуть это в CI/CD GitLab.

В общем, подробно описал свое решение со ссылкой на репозиторий.

Читать далее

Разворачиваем MySQL: репликации и секционирование

Level of difficultyHard
Reading time6 min
Views6.3K

В этой статье сначала настроим репликацию данных на второй сервер, а затем рассмотрим различные варианты секционирования.

Читать далее

Что может быть проще (сложнее), чем упорядочивание чисел?

Reading time9 min
Views7.2K

Предположим, вы программист и у вас есть два числа. Вы хотите узнать, какое из чисел больше. Если оба числа имеют одинаковый тип, то почти в любом языке программирования решение будет тривиальным. Для этой операции обычно даже есть специальный оператор <=. Вот пример на Python:

>>> "120" <= "1132"
False

Сравнение двух чисел на Brainfuck оставим в качестве упражнения для читателя.

Ой. Ну, строго говоря, это строки, а не числа, а строки обычно сортируются лексикографически. Но это всё-таки числа, хотя и представленные в виде строк. Это может показаться глупым, но такая проблема очень распространена в интерфейсах пользователя, например, в списках файлов. Именно поэтому нужно отбивать числовые имена файлов нулями (frame-00001.png) или использовать описания, сохраняющие лексикографический порядок, например, ISO 8601 для дат.

Впрочем, я отклонился от темы. Предположим, числа действительно представлены числовыми типами. Тогда всё просто и <= отлично работает:

>>> 120 <= 1132
True

Но так ли это?
Читать дальше →

Зарплата по результатам собеседования — лучший способ сократить отклики на вакансию, а тестовые задания — избыточны

Reading time7 min
Views76K

Почему ИТ специалисты на самом деле не любят выполнять тестовые задания? Почему меньше откликов на вакансии без указания зарплаты? Простые ответы на сложные вопросы.

Читать далее

Как написать расширение браузера для замены шрифтов на Quasar и Vue 3

Reading time4 min
Views2.9K

Одни расширения добавляют в браузер новые функции, а другие предоставляют данные о посещаемых веб-страницах:


  • Wappalyzer расскажет о технологиях, которые применялись в разработке сайта.
  • Similar web показывает трафик и ранжировании сайта.
  • Momentum изменяет содержание страниц или заменяет домашнюю страницу.

Я расскажу о разработке расширения для Chrome на Vue 3 и Quasar. Это расширение которое будет изменять размер шрифта на посещаемых веб-страницах. Подробности — к старту нашего курса по Fullstack-разработке на Python.

Читать дальше →

YAML из Ада

Reading time9 min
Views82K

Формат данных YAML чрезвычайно усложнён. Он задумывался как удобный для человека, но в стремлении к этой цели сложность настолько увеличилась, что, по моему мнению, его разработчики достигли противоположного результата. В YAML есть куча возможностей выстрелить себе в ногу, а его дружелюбие обманчиво. В этом посте я хочу продемонстрировать это на примере.

Данный пост является нытьём и он более субъективен, чем мои обычные статьи.
Читать дальше →

Поэтический редактор: Rust + Tauri

Reading time16 min
Views10K

В чём-то сочинение стихов похоже на написание кода — имеет значение только "чистый" текст — и этот текст, как и код, подчиняется определенным правилам. Поэту могли бы пригодиться те самые "автоподсказки" и подсветка кода стихов. Может, даже с какой-то поддержкой рефакторинга, помочь поэту найти слабое место. Но найти что-то подобное (особенно на русском языке) у меня не вышло. Например, на запрос poetry editor в основном выпадают сервисы по найму редакторов-людей. Проекты, конечно, есть, но они либо слабые, либо мёртвые (поправьте меня, если я неправ).

Значит, задумал я на коленках склепать IDE для поэтов…

Читать далее

Как айтишнику из России получить работу в Германии в 2023 году?

Reading time6 min
Views38K

По данным Ассоциации цифровой индустрии Германии Bitcom, в стране наблюдается огромный дефицит IT-специалистов. В 2021 году количество незакрытых вакансий в различных IT-отраслях составляло 96 тыс., и эта цифра с каждым годом демонстрирует рост.

Поэтому именно для айтишников Германия предоставляет самые лояльные программы миграции. Немецкие компании ведут “охоту за талантами”, в том числе и на специалистов из стран СНГ. Кандидатуры россиян также активно рассматривают, несмотря на геополитическую напряженность. 

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

Типы виз, по которым можно переехать

Самая распространенная виза для айтишников-релокантов в Германии называется Blue Card. От остальных типов виз ее отличает упрощенная процедура получения, быстрые сроки выдачи и возможность ускоренного получения ВНЖ. Ее также используют специалисты из других важных сфер, таких как медицина, инженерия и прочее, но именно IT-специалисты - самая большая группа претендентов на Blue Card. Но не одной Blue Card едины, вообще есть три типа виз: 

Читать далее

Крепкие сборки с планировщиками контейнеров, только без контейнеров

Reading time7 min
Views2.9K
image

Если мы с вами похожи, то, всякий раз, когда вы пишете Dockerfile, вам приходится снова следить, что он выкинет. Заходя в какой-то контейнер через+ exec, вы не представляете, будет ли там bash, sh или какая-нибудь другая оболочка. Вы также не знаете, какой контейнерный init сейчас рекомендуется как наилучшая практика. Я определенно до сих пор не знаю, что за фрукт этот Moby.
Читать дальше →

Мастер-контейнер для Docker сети

Reading time3 min
Views9.4K

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

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

Читать далее

Опыт разработки виджетов для Figma. От 0 до 23000 установок за 4 месяца

Reading time9 min
Views8.1K

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

Почти полгода назад, я обсуждал со своим менеджером как можно улучшить различные процессы в дизайн команде. Мы говорили о разном, но очень часто возвращались к проблемам использования основного инструмента – Figma. В какой-то момент, мы затронули тему упрощения для разного рода рутинных задач: чек листы для проектов, организация ревью процессов, написание спецификаций и т.п. А что если бы мы могли разработать какой-то плагин или виджет? Насколько бы это нам помогло? К сожалению, мы так и не смогли выделить время для этого в рамках рабочих задач, но мой интерес к этому вопросу не давал мне покоя.

Я решил исследовать эту тему и попробовать разработать что-нибудь для Figma-сообщества. В течение следующих нескольких месяцев я опубликовал 3 виджета, еще столько же отправил в корзину, выпустил 21 обновление, получил более 23000 установок. Я написал эту статью чтобы поделится своим опытом работы над хобби-проектом, показать что интересного я узнал и какие сложности встретил.

Читать далее

Темная тема = шрифтовой ад / Решение

Reading time3 min
Views8.8K

В предыдущей статье я подробно разобрал проблемы связанные со шрифтами для темной темы и причины их актуальности. В данном материале смотрим на то, какие есть решения и что предлагает индустрия. + figma файл с адаптированным мной под темную тему стандартным текстовым набором стилей Material Design для Roboto.

Читать далее

Оптимизация графики для небольших сайтов: quetzli, webp, avif

Reading time7 min
Views6.4K

Как мы оптимизировали показ изображений на сайте GrinDin.ru.

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

Читать далее

Ansible: 30 самых важных модулей для DevOps-профессионалов (часть 1)

Reading time6 min
Views29K

Модули – это дискретные единицы кода, которые можно запускать с помощью командной строки или с помощью плейбука для того, чтобы вносить определенные изменения в целевой узел или собирать с него информацию. Ansible реализует каждый модуль на удалённом целевом узле, а также собирает ответные значения. Модули Ansible также известны как плагины задач или библиотечные плагины. 

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

В этой части мы рассмотрим модули проверки подключения хоста, а также целевого узла (модуль ping), модуль, который может извлекать информацию с целевого узла (модуль setup), модули управления существующим пакетом и установки новых пакетов (yum, apt, package, pip и npm модули), а также модуль запуска базовых команд и скриптов на целевых узлах (raw, command, shell и script модули).

Итак, начнём..

Читать далее

Гори это ИТ синим пламенем

Reading time5 min
Views122K

Когда-то давно я мечтал стать программистом. Еще со средних класов школы начал ездить на олимпиады по программированию, писал игровые моды и просто нереально кайфовал от того, что делал. Начинал еще с Turbo Pascal, потом С, потом скриптовые языки, в универе математическое моделирование на С++ и matlab. Только в универе пришлось на теор.физике тусоваться, ибо не прошел по балах на программирование, но да ладно. Спустя 3 года я все таки решил кинуть физику, так как просто не видел денег в этой сфере в своей стране, и получил все таки первую долгожданном ИТ. Это была серверная разработка на Python.

С тех пор прошло уже 6 лет. Не могу сказать, что я сверх нерд и мое мнение авторитетное - но какой-то опыт в своей сфере все таки имею. Повидать успел с десяток различных компаний - от крупнейших в СНГ и крупных на диком западе, до мелких стартапов ( не думайте, что я во всех них успел поработать - это тема отдельная). Это печально...

Читать далее

gRPC — альтернатива REST API от Google

Reading time4 min
Views35K

Проблема

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

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

Зачем нужен gRPC

gRPC (Remote Procedure Calls) — это система удалённого вызова процедур (RPC) с открытым исходным кодом, первоначально разработанная в Google. В качестве основного протокола передачи применяется HTTP/2, для описания процедур применяется “Protocol Buffers”. Это в свою очередь приносит дополнительные преимущества: сжатие HTTP-заголовков и мультиплексирование запросов.

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

Читать далее

Как собрать, покрыть тестами и опубликовать TypeScript-пакет в npm в 2022 году

Reading time6 min
Views9.1K

В этой статье мы с вами создадим с нуля и опубликуем в  NPM TypeScript-пакет, не забыв про Jest для покрытия тестами.

Мы инициализируем проект, настроим TypeScript, напишем для него тесты в Jest и опубликуем его в NPM.

Читать далее

Как выучить японский до хорошего разговорного уровня меньше чем за год (зная английский)

Reading time5 min
Views67K

В мире, да и в России в особенности, Япония давно стала этакой обетованной страной с более чем привлекательной для многих культурой. За жизнь я утвердился в том, что план по жизни от любого направления в IT к релокации в Японию стал для многих не столько даже просто целью, сколько мечтой. Конечно, попасть в Японию можно и просто зная английский, но стоит отметить, что знание японского и способность говорить - это более чем весомый плюс. Я прошел через этот путь довольно быстро и хотел бы поделиться своим опытом и советами, пусть станет благодарностью посетителям Хабра за все мои годы здесь как читателя :)

Читать далее

Yandex Object Storage — реализация SignedURL для загрузки данных в bucket на NodeJS

Reading time3 min
Views11K

Доброго времени суток, Хабр!

Несколько лет назад, я участвовал в разработке одного проекта, и как задачу, мне (тогда еще зеленому джуну) поставили реализовать систему загрузки медиа файлов на AWS S3. Важным условием было реализовать конкретно SignedURL.

Спустя несколько лет, я опять столкнулся с такой же задачей, но заказчик настаивал на отечественном облачном хранилище.

Ниже я немного расскажу что вообще такое подписанные ссылки, как перейти на Yandex Object Storage(YOS), и почему YOS и AWS S3 - это одно и то же!

Читать далее

Тестирование gRPC

Reading time3 min
Views25K

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

Все эти потребности удовлетворяют большинство современных технологий таких как REST, SOAP и GraphQL. Наиболее популярная это REST. Однако в последнее время набирает обороты технология gRPC, который обладает высокой производительностью, типизированными данными и отличным инструментарием.

Сегодня мы рассмотрим на конкретном примере как тестировать сервис работающий по технологии gRPC.

Читать далее

Information

Rating
Does not participate
Location
Калининградская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Web Developer