Search
Write a publication
Pull to refresh
3
0
Sergei @Julegg

Fullstack (Spring+Kafka+Angular+React)

Send message

Создаю онлайн-плеер с нейросетями и кошкодевочками

Reading time12 min
Views6K
Эта статья о том, как череда не связанных между собой событий привела меня от разработки программы цветомузыки на Arduino к созданию функционального онлайн-плеера, который не только закрыл мои музыкальные потребности, но и заменил мне и моим друзьям ушедшие зарубежные стриминговые площадки.

Всем привет. Меня зовут Владислав. Я работаю в компании NTechLab фронтенд-разработчиком и уже более 10 лет пишу на JavaScript и TypeScript. В своей жизни я часто использую эти навыки для решения различных бытовых задач. Как и в этой истории, например.

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

Spring Security + Telegram Authentication

Level of difficultyMedium
Reading time10 min
Views3.4K

Spring Security + Telegram Auth

Добавить Telegram Auth в Spring Boot приложение оказалось сложнее, чем я ожидал — подробных руководств практически нет. После нескольких дней изучений я создал рабочее решение, которое вы легко сможете адаптировать под свои задачи. В этой статье я покажу, как настроить аутентификацию через Telegram в Spring Security и интегрировать ее с БД, а также протестировать как локально, так и на сервере...

Подробнее

Keycloak ― построение отказоустойчивого кластера

Reading time6 min
Views9.8K

Разворачивая у нас в Туту Keycloak мы столкнулись с необходимостью создания отказоустойчивого кластера. И если с БД всё более менее понятно, то вот реализовать корректный обмен кэшами между Keycloak оказалось довольно непростой для настройки задачей.

Мы упёрлись в то, что в документации Keycloak описано как создать кластер используя UDP мультикаст. И это работает, если у вас все ноды будут находиться в пределах одного сегмента сети (например ЦОДа). Если с этим сегментом что‑то случится, то мы лишимся Keycloak. Нас это не устраивало.

Необходимо сделать так, чтобы ноды приложения были географически распределены между ЦОД, находясь в разных сегментах сети.

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

Бонусом приложу shell скрипт, написанный для Consul, который предназначен для снятия анонсов путём выключения bird и попытки восстановления приложения.

Читать далее

Junior of IntelliJ IDEA

Level of difficultyEasy
Reading time9 min
Views10K

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

Читать далее

Альтернатива нэшвилловскому моду: телекастер с хамбакером в нековой позиции

Level of difficultyEasy
Reading time8 min
Views5.5K


Привет, Хабр! Сегодня я совершенствую дешёвую электрогитару TERRIS TTL-039 YW. Чтобы она не фонила, потребовалось экранирование графитовым лаком, а для комфортной игры пришлось исправить угол установки грифа относительно корпуса.

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

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

Защита своего приложения с помощью JWT и Spring Security

Level of difficultyMedium
Reading time42 min
Views13K

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

Читать далее

Мечта юности — чехословацкая Jolana Disco из 1980-х

Level of difficultyEasy
Reading time8 min
Views12K


Привет, Хабр! Эта винтажная электрогитара с одним огромным звукоснимателем, да ещё и в средней позиции, может похвастаться очень интересной схемой темброблока, которую мы сегодня изучим.

В наши дни высокоточные станки с ЧПУ и передовые технологии обработки древесины сделали хорошие инструменты доступными всем любителям музыки. Может ли недорогая серийная гитара, произведённая почти полвека назад, конкурировать с аналогичными продуктами современности? — Увидим и услышим.
Спойлер: ещё как может, но не для металла

Цикл постов про Keycloak. Часть первая: Внедрение

Reading time18 min
Views85K

Цикл постов про Keycloak (часть 1): Внедрение.

О чем речь?

Это первая часть серии статей о переходе на Keycloak в качестве SSO в условиях кровавого enterprise.

Читать далее

How to: Как быстро и эффективно разместить статичный React app c помощью сервисов AWS + custom domain name + SSL

Reading time4 min
Views1.6K

Приветствую всех любителей кодинга!

Сегодня мы с вами рассмотрим на примере простого React-приложения, как легко и дешево сделать его доступным для пользователей с помощью сервисов AWS.

Читать далее

Создание масштабируемого API на спотовых инстансах AWS

Reading time16 min
Views7.2K

Всем привет! Меня зовут Кирилл, я CTO Adapty Большая часть нашей архитектуры находится на AWS, и сегодня я расскажу о том, как мы сократили расходы на сервера в 3 раза за счёт использования спотовых инстансов на продакшн окружении, а также о том, как настроить их автомасштабирование. Сначала будет обзор того, как это работает, а потом подробная инструкция для запуска.


Что такое спотовые инстансы?


Спотовые инстансы — это сервера других пользователей AWS, которые в данный момент простаивают, и они продают их с большой скидкой (Amazon пишет до 90%, по нашему опыту ~3x, варьируется в зависимости от региона, AZ и типа инстанса). Основное их отличие от обычных в том, что они могут выключиться в любой момент. Поэтому мы долгое время считали, что их нормально использовать для дев окружений, либо для задач по расчёту чего-то, с сохранением промежуточных результатов на S3 или в базу, но не для прода. Существуют сторонние решения, которые позволяют использовать споты на проде, но там для нашего кейса много костылей, поэтому мы не внедряли их. Подход, описанный в статье, работает полностью в рамках стандартного функционала AWS, без дополнительных скриптов, кронов и тд.

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

Список из 100 полезных фраз для IT на английском языке с примерами употребления

Reading time12 min
Views23K

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

Чтобы иметь обоснованное представление об этом, предлагаю воспользоваться гайдом из 100 слов наиболее часто встречающихся в теме IT. Этот список наработан мною за 2 года работы с видео и статьями из таких изданий, как MIT, TechLife News, Bloomberg, Science Today, Harvard Business Review. 

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

Можно ли выучить английский по списку слов? Нет, конечно. Но по нему можно оценить в процентном соотношении, сколько из 100 вам уже известно. 

Важно: не воспринимайте перевод слишком буквально и попробуйте предложить свой, исходя из описания на английском.

Читать далее

Три фичи PostgreSQL, которые будут полезны каждому новичку

Reading time5 min
Views22K

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

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

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

Читать далее

Что такое гексагональная архитектура. Разделение бизнес-логики и инфраструктуры с помощью портов и адаптеров

Level of difficultyMedium
Reading time13 min
Views51K
image

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

Вот как сам Кокберн описывает эту архитектуру одним тезисом:

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

В этой статье мы рассмотрим некоторые задачи, как правило, решаемые в типичных программных проектах. Затем мы поговорим о гексагональной архитектуре и о том, как она призвана решить эти задачи. Мы также рассмотрим некоторые детали реализации такой архитектуры и варианты тестирования.
Читать дальше →

Собираем оптимальный народный ПК за 100 000 рублей

Reading time9 min
Views69K

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

Читать далее

Lombok. Полное руководство

Reading time13 min
Views173K

Здесь изложен необходимый минимум информацию, которую нужно изучить, если хочешь приступить к использованию проекта Lombok. Рассмотрим, как интегрировать его в вашу IDE и использовать, чтобы сократить объем шаблонного кода.  

Java – отличный язык, только многословный. Возможно, вам придется писать много кода, чтобы достичь даже самых простых целей. Кроме того, в Java определенно присутствует повторяющийся код, например, геттеры и сеттеры. Поэтому у вас получаются огромные объемы повторяющегося и необязательного кода. Мало того, что такой код не добавляет ничего нового в бизнес-логику вашего приложения, так и писать его долго и скучно. Именно поэтому следует переходить к использованию библиотек и инструментов – они помогают повысить продуктивность и избежать этой рутины. Именно здесь в игру вступает Lombok!

Это библиотека Java, в которой предоставляется ряд аннотаций, направленных на исключение именно того кода Java, о котором известно, что он часто становится повторяющимся и/или шаблонным. Проект Lombok включается прямо в процесс сборки. Затем Lombok автоматически сгенерирует для Java байт-код, который вставляет в файлы .class, необходимые для реализации желаемого поведения, в зависимости от используемых вами аннотаций. Следовательно, каждая аннотация, предлагаемая в проекте Lombok, позволяет частично обойтись без написания методов и логики, без которых вы хотели бы обойтись. Речь о конструкторах, равенствах и функциях хеш-кода. Так вы сможете сэкономить массу времени и сосредоточиться на бизнес-логике вашего проекта. Кроме того, вы сможете держать базу кода сравнительно компактной, чистой, удобной для чтения и поддержки.

Читать далее

Как управлять Kubernetes с помощью Ansible

Reading time18 min
Views22K

Делимся переводом статьи об интеграции Kubernetes и Ansible. Из статьи вы узнаете, как подготовить среду для работы, как развернуть кластер Kubernetes с помощью Ansible, как управлять ресурсами Kubernetes и автоматизировать обновления. Кроме того, вы узнаете, как развернуть плейбук Ansible в Kubernetes на облачном провайдере и использовать Ansible для CI/CD в Kubernetes.

Читать далее

地形图非线性保密处理算法, или что не так с картами Китая на спутниковых снимках

Reading time8 min
Views123K

Китай — это не просто другая страна. Это другой мир. Необязательно ехать туда, чтобы убедиться в этом. Иногда достаточно зайти в интернет. Например, использовать Google Maps или другие сервисы, чтобы открыть карту Китая. И тогда можно заметить, что расположение объектов (дорог, рек, достопримечательностей и многого другого) на карте и на спутниковых снимках, мягко говоря, не совпадает.

В этой статье хотелось бы рассказать, почему происходит такая путаница и что из этого следует.
Читать дальше →

Памятка пользователям ssh

Reading time13 min
Views1.6M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →

Делаем Jenkins Pipeline: шаг за шагом

Reading time9 min
Views84K

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

Читать далее

Пишем простой docker-compose.yml для контейнеризации приложения (React, Spring Boot, PostgreSQL, pgAdmin)

Level of difficultyEasy
Reading time21 min
Views60K

В данной статье описан простой пример написания docker-compose.yml файла на примере контейнеризации приложения с использованием Spring Boot на бэкенде, React на фронте, PostgreSQL в качестве базы данных и pgAdmin - для просмотра данных в базе.

Читать далее

Information

Rating
Does not participate
Location
Hamburg, Hamburg, Германия
Registered
Activity