Search
Write a publication
Pull to refresh
12
0
Александр Шатилов @alexbraun

Tech Lead using Angular & .net

Send message

Service Discovery в распределенных системах на примере Consul. Александр Сигачев

Reading time8 min
Views49K

Предлагаю ознакомиться с расшифровкой доклада Александра Сигачева Service Discovery в распределенных системах на примере Consul.


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


Укрощаем одноглазого змея. Разбираемся с WireGuard и делаем свой умный VPN

Reading time29 min
Views394K

Забавная ситуация: сайтов и сервисов, доступных только через VPN, все больше, но при этом многие российские компании закрывают доступ из-за границы. В результате приходится целыми днями теребить ползунки «вкл-выкл», что утомительно. Я расскажу, как с помощью магии маршрутов и WireGuard, решить эту проблему и сделать «умный» VPN, который не надо отключать.


Если ты пользуешься VPN, то и сам наверняка сталкиваешься с блокировками зарубежного трафика. К примеру, могут не открываться pochta.ru, leroymerlin.ru, rt.ru, avito.ru.


Получается мем.



Каждый с этим борется как может. Например, на устройствах Apple родными средствами можно настроить автоматизацию, которая будет запускать VPN, когда открываешь определенные приложения (например, Twitter), а когда выходишь из них — выключать обратно. Но это костыль, а хочется все сделать красиво, да еще и прокачать навык работы с сетью.


Поэтому мы сейчас попробуем «включать VPN чуть-чуть».

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

Как мы учили Почту события в календарь добавлять. Часть 1

Level of difficultyMedium
Reading time9 min
Views2.7K

Сегодня очень любят использовать слово «умный»: умный дом, умный телевизор, умный пылесос. Хотя чаще всего речь идёт не о какой-то мифической “умности” прибора или приложения, а об автоматизации каких-то рутинных действий. Вот и мы сделали «умным» наш Календарь: автоматизировали добавление в него событий на основе важных входящих писем. Я - Дима, тимлид команды машинного обучения Почты Mail.ru, и на примере этого функционала хочу рассказать о том, какой путь проходит фича от рождения до передачи в эксплуатацию.

Читать далее

Как издать свою книгу и сколько это стоит

Level of difficultyEasy
Reading time7 min
Views14K

С момента как «Поясняю за Инглиш» была написана и до появления на всех известных маркетплейсах прошло семь месяцев. Что происходило с книгой эти семь месяцев и сколько это стоило я расскажу в статье.

Читать далее

И конфеты за меня есть будете? AutoML в помощь Citizen Data Scientist’у

Level of difficultyEasy
Reading time12 min
Views7.9K

В прошлых статьях мы много рассказывали о том, как Data Science помогает металлургу, что такое Self-Service Analytics и как простой технолог может командовать моделями машинного обучения. В этом посте хочется раскрыть больше технических деталей по последнему пункту.

Хардкорный дата-сайентист может собрать нейросеть даже из спичечных коробков. Однако CDS — это про решение производственных задач малой кровью и в разумные сроки. И для таких решений необходим соответствующий инструментарий.

Привет, на связи снова Андрей Косинцев из ЕВРАЗа, и под катом вы узнаете, как самообучаются ML-модели и самоверстается фронтенд.

Читать далее

Mojo может стать крупнейшим достижением в области разработки языков программирования за последние десятилетия

Level of difficultyMedium
Reading time15 min
Views127K

Mojo — это новый язык программирования, основанный на Python, который устраняет имеющиеся у него проблемы производительности и развёртывания.

Об авторе: Джереми Говард (Jeremy Howard) — Data Scientist, исследователь, разработчик, преподаватель и предприниматель. Джереми является одним из основателей исследовательского института fast.ai, занимающегося тем, чтобы сделать глубокое обучение более доступным, а также он является почётным профессором Университета Квинсленда. Ранее Джереми был выдающимся научным сотрудником в Университете Сан‑Франциско, где он был основателем Инициативы Уиклоу «Искусственный интеллект в медицинских исследованиях».

Mojo – это Python++

Введение в Screen Capture API — Сканируем QR коды в браузере

Reading time6 min
Views13K

Введение


В этой статье мы, как вы уже догадались, поговорим про Screen Capture API. Этот API появился на свет в 2014 году, и новым его назвать сложно, однако поддержка браузерами все еще достаточно слабая. Тем не менее его вполне можно использовать для персональных проектов или там, где эта поддержка не так важна.


Немного ссылок для начала:



На случай если ссылка с демо отвалится (или если вам лень туда перейти) — вот так выглядит готовое демо:



Приступим.

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

Как стартапу получить ранний трэкшн (traction)

Reading time10 min
Views15K

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

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

Прежде чем перейдем к вопросу «как получить трэкшн?», давайте разберемся, что это за трекшн такой, и почему он так важен, как для самого стартапа, так и для инвестора, как его измерить, и показать. Также остановимся на том, как получить трэкшн дешево и увеличить благодаря этому оценку стартапа. Погнали!

Читать далее

Кастомная стратегия виртуального скроллинга для просмотра pdf

Level of difficultyMedium
Reading time13 min
Views3.7K

Angular CDK имеет широкие возможности для скроллинга плоского списка. Если размер каждого элемента одинаков, то можно воспользоваться FixedSizeVirtualScrollStrategy: всего лишь нужно прокинуть размер элемента в пикселях, проитерироваться по данным и виртуальный скроллинг готов. Но что делать, если размер элементов разный? Данную проблему можно решить кастомной стратегией виртуального скроллинга. В данной статье мы рассмотрим как построить такую стратегию для pdf-документов.

Читать далее

CRDT: Conflict-free Replicated Data Types

Reading time10 min
Views53K

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →

CI/CD из GitHub в Яндекс Облако через Docker

Reading time6 min
Views15K

Всем привет!

Будем использовать GitHub Actions. Создадим виртуальную машину в Яндексе. И многое другое.

Сегодня настраиваем деплой из GitHub в Яндекс Облако, используя Docker compose.

Читать далее

Play to earn: как технологии и игры помогают агробизнесу

Reading time6 min
Views1.8K

Итак, представим, то вы находитесь в России и вдруг понимаете, что неплохо было бы купить виноградник в Италии. Безумие? Нет! Сегодня вполне возможно приобрести в метавселенной NFT токен, эквивалентный реальному земельному участку, и заняться хозяйством в игровом мире, майня не только цифровые активы, но и реальные продукты.

Читать далее

Как мы сделали аудиозвонки в приложении для сотрудников

Level of difficultyMedium
Reading time10 min
Views7.4K

Меня зовут Ильдар, я техлид в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. Сегодня расскажу о том, как мы внедрили функцию аудиозвонков в наш корпоративный мессенджер для сотрудников.

Читать далее

Создание кастомизируемого Dropdown для React на TypeScript

Reading time11 min
Views37K

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

В этой статье будет рассмотрен пример создания такого компонента с использованием React, TypeScript и styled-components (замечу, что использование css-in-js - опционально. Вы можете использовать любой способ стилизации, который вам по душе).

Читать далее

5 классных сервисов на основе ИИ (с примерами)

Level of difficultyEasy
Reading time4 min
Views28K

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

Сегодня я бы хотел показать 5 сервисов на основе нейронных сетей, которые не связаны с chatGPT, Midjorney или Stable Diffusion. Эти сервисы помогают обрабатывать аудио, преобразовывать текст в речь и удалять ненужные вещи с картинок.

Ознакомиться

Делаем эффекты в видеосвязи, используя Canvas API и MediaPipe

Reading time7 min
Views4.2K

Привет! На связи Влад из команды видеоплатформы Skyeng. Мы отвечаем за аудио и видео коммуникацию в образовательных продуктах, применяем WebRTC и реализуем фичи вокруг Video Conferencing. О реализации одной из них хочу рассказать: мы сделали видеоэффекты для веба.

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

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

Все сошлось. Решили делать.

Читать далее

Жизнь после Docker: как команда VK Cloud переходила на CRI-O

Reading time7 min
Views20K


Kubernetes прекратил поддержку Docker и отказался от dockershim — прокладки между kubelet и Docker, которая позволяет последнему работать с CRI. В итоге разработчики столкнулись с необходимостью использования новых, совместимых с CRI, движков для запуска контейнеров. Из числа общеизвестных таких два — containerd и CRI-O.

Меня зовут Александр Чадин, я руководитель команды разработки в VK Cloud. Расскажу, как мы искали замену Docker для сервиса Cloud Containers, на что ориентировались при выборе нового движка, как внедряли новое решение и с какими подводными камнями при этом столкнулись. 
Читать дальше →

Гайд по тестированию локализации и интернационализации, а также большой и полезный checklist

Reading time23 min
Views56K

Привет, хабровчане. Сегодня я хочу осветить и обсудить тему локализации (L10N) и интернационализации (I18N). В интернете и, в том числе и на Хабре уже есть полезные и интересные статьи, но часто они дают более-менее общую информацию о подходах, без углубленной информации о том, что и как можно проверить. Я бы хотел с вами поделиться своим опытом, просуммировать кое что из статей, которые вы можете найти в интернете, а также постараюсь описать большой checklist с самыми распространёнными кейсами как для локализации, так и для интернационализации. В чеклистах я буду стараться упоминать только те проверки, которые вы можете сделать сами, без (глубоких) знаний языка новой для вас локали.


image

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

i18n в Angular

Reading time9 min
Views19K

Angular i18n


Цель статьи — это описать детальные шаги интернационализации вашего приложения на Angular с помощью родного функционала.


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

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

Как развернуть свою блокчейн-платформу на базе технологий Web3 Tech

Reading time10 min
Views3.9K

В апреле этого года, после нескольких лет успешного развития платформы Waves Enterprise и ее использования в различных проектах мы решили выпустить её open-source версию, чтобы расширить охват потенциальных пользователей платформы. Мы сохранили в ней почти всю функциональность и классные фичи: это контейнеризированные смарт-контракты на любом языке, поддержка трех разных консенсусов, возможность обмена конфиденциальными данными и не только. Убрали только поддержку ГОСТ-криптографии, TLS и PKI.

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

Читать далее

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity