Как стать автором
Обновить
8
0
Станислав Гамаюнов @happyproff

Веб-разработчик

Отправить сообщение

Отказоустойчивая работа с клиентами: архитектура, немного кода, разбор проблем и асинхронные подходы

Время на прочтение8 мин
Количество просмотров3.2K

Мы в Юле применяем подходы и паттерны, которые позволяют нам избегать проблем, связанных с интеграциями: создаем абстракции, где размещаем транспортный протокол и логирование, используем circuit breaker, обращаемся к асинхронным подходам, используя Kafka как шину данных. Предлагаем погрузиться на несколько слоев абстракции и вместе решить любые проблемы интеграций: от тайм-аута до кэширования.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

Sampler. Консольная утилита для визуализации результата любых shell команд

Время на прочтение5 мин
Количество просмотров84K

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


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →
Всего голосов 298: ↑297 и ↓1+296
Комментарии54

Опросил больше 1000 айтишников: вранье в резюме и котируемость курсов по «вкатыванию в IT»

Время на прочтение7 мин
Количество просмотров127K

Получилось отследить довольно интересные тренды: как размер стажа в индустрии коррелирует с отношением к выдумыванию опыта в резюме, как в IT-среде на самом деле относятся к выпускникам школ в стиле «стань айтишником за год», а также рейтинг самых ненавидимых и респектуемых в среде профи школ.

Читать далее
Всего голосов 189: ↑168 и ↓21+147
Комментарии318

Применение DDD. От моделей до EDM — поиск новых форм и архитектурные излишества

Время на прочтение14 мин
Количество просмотров5.9K

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



DDD не на коленке, а за дорого ;)

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии6

Как содержать пароли. Мой сетап

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров51K

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

Меня интересовало, как я могу залогиниться туда, где многофакторная авторизация через телефон, в случае потери телефона. 

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

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

Читать далее
Всего голосов 69: ↑69 и ↓0+69
Комментарии184

Любимая задачка на знание React

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров20K

Всем привет! Меня зовут Олег и я fullstack-программист в компании Тензор. Опыт в разработке, без малого, 20 лет (как-то раз батя спаял на кухне ZX Spectrum и все заверте..., сам не понял как так вышло). В данный момент являюсь тимлидом собственной команды разработчиков, которая периодически нуждается в пополнении толковыми программистами.

Как и многие руководители, я активно принимаю участие в подборе сотрудников для себя и помогаю на собесах коллегам соседних отделов.

Наша команда занимается разработкой веб-приложения на React. Соответственно, мне важно найти программистов уверенно владеющих основами (!) этого фреймворка. Есть много способов проверки компетенций на собеседовании, один из любимых - задача по написанию hook для загрузки данных.

Если вы тоже в вечном поиске классных фронтендеров или сами часто проходите собесы - велком в эту статью :)

Итак, задачка...
Всего голосов 23: ↑23 и ↓0+23
Комментарии56

Как я с 0 поднял свой уровень английского до B2 и подтвердил этот уровень на экзамене IELTS Academic

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров152K

Привет, Хабр!

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

Начнем с бекграунда и причин.

Я – инженер машиностроитель (мой профиль – торцевые уплотнения вращающихся валов). Я начал работать в своей отрасли сразу после бакалавра, параллельно заканчивая магистратуру, и как только я начал работать, я стал стараться впитать как можно больше теоретических знаний по моей специальности из академических источников. Достаточно бысто я понял, что последняя серьезная книга по моей специальности на русском языке была написана в 1978 году. И спустя больше чем 40 лет технологии сильно поменялись, а вот их описание на русском языке отсутствовает. Зато я нашел на reddit людей работающих в штатах в моей же отрасли. Они мне насоветовали кучу классной литературы. Разумееется, она вся на английском, и русского перевода не имеет.

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

Конечно, перед началом обучения я прочитал много статей на хабре о том как люди учат языки. Некоторые из них поражали скоростью овладения материалом (что-то вроде с нуля до fluent за 4 месяца). Но одна вещь была неизменна – у всех был какой-то план изучения языка.

Читать далее
Всего голосов 173: ↑169 и ↓4+165
Комментарии220

Message broker per service

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.4K

Задумывались ли вы, почему мы используем отдельную базу данных для каждого сервиса, но при этом один общий брокер для нескольких сервисов? Ведь вполне возможно использовать базу данных в роли брокера сообщений. Однако, если мы попробуем заменить RabbitMQ на Redis, то натолкнемся на проблему общего использования базы данных. Это станет проблемой, потому что общее использование базы данных является антипаттерном.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии5

Коллеги, вы меня огорчаете

Время на прочтение12 мин
Количество просмотров169K
В июле и августе 2020 года я, с подачи Григория Петрова, проводил для компании Evrone технические интервью на позицию Senior Golang Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Go». То есть, сформулирована она была по-человечески, перевод на канцелярит — мой. Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько лет — старый был с жестким закосом под DevOps. Методику, которой я пользуюсь для создания опросников и количественной оценки соответствия кандидатов, я излагал в своем докладе «Техническое интервью как инженерная задача» на конференции Saint TeamLead 2019.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.


Читать дальше →
Всего голосов 181: ↑137 и ↓44+93
Комментарии1152

Автоматический обход блокировок

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров51K

Описание работы программы для автоматического обхода блокировок в интернете, код программы лежит на репозитории antiblock.

Читать далее
Всего голосов 51: ↑51 и ↓0+51
Комментарии64

Защита персональных данных. Часть 2

Время на прочтение6 мин
Количество просмотров4.9K

В этой статье мы продолжим рассмотрение процесса построения системы защиты персональных данных. В предыдущей статье мы остановились на определении Уровня защищенности персональных данных.

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Прекратите звать (не) меня на работу

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров53K

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

Начну очень издалека. Видите мой ник? Его опосредованный источник — давно забытый одноимённый криминальный фильм двадцатилетней давности; когда мне нужно было придумать позывной для регистрации в местной локалке, забавное сочетание букв само выпрыгнуло из извилин на клавиатуру. И с тех пор кочует вслед за мной, не считаясь с моими желаниями, в том числе — и в одном из созданных ещё на заре gmail почтовых ящиков, используемых для всяких регистраций, подписок, и прочего спама.

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

Читать чужие письма
Всего голосов 157: ↑153 и ↓4+149
Комментарии147

Поставил OKR, а что дальше? Или как провести мониторинг на 12 команд

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.6K

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

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии5

Что такое Lean Canvas?

Время на прочтение5 мин
Количество просмотров48K
Продакт-менеджеры, планирующие запуск нового продукта, не всегда понимают его до конца и не могут грамотно презентовать другим. Тогда берутся за составление большой презентации с кучей графиков и текста в PowerPoint. Но нужно ли тратить на это время, если в первую очередь понять суть проекта надо самому?

Есть отличная альтернатива — сжатие большого плана на один лист, распределение основной информации на несколько блоков. Такой инструмент называется Lean Canvas.

image
Читать дальше →
Всего голосов 3: ↑2 и ↓1+1
Комментарии1

Выбираем протокол для умной дачи

Время на прочтение9 мин
Количество просмотров19K

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

Читать далее
Всего голосов 14: ↑5 и ↓9-4
Комментарии44

Теория и практика unattended upgrades в Ubuntu

Время на прочтение6 мин
Количество просмотров48K
Unattended upgrades — это родной для Debian/Ubuntu (и других основанных на них дистрибутивов GNU/Linux) механизм автоматических обновлений. По умолчанию он включён в системе благодаря наличию установленного пакета unattended-upgrades и конфигурационного файла /etc/apt/apt.conf.d/50unattended-upgrades, а настроен на обновления пакетов только из security-репозитория, куда попадают, например, критичные исправления для пакета libssl, которые выходят в результате очередного пополнения базы уязвимостей CVE.


Примечание: здесь и далее рассматриваются unattended upgrades в контексте серверных редакций Ubuntu, что скорее всего применимо «как есть» и к другим дистрибутивам, но могут встречаться свои особенности, оставшиеся вне рамок статьи.

Итак, какие дополнительные возможности предоставляют unattended upgrades (помимо включённых по умолчанию security updates) и к каким проблемам они могут привести?
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии9

Теория и практика бэкапов с Borg

Время на прочтение11 мин
Количество просмотров58K


К нашему огромному удивлению на хабре не оказалось ни одного материала про замечательный Open Source-инструмент для резервного копирования данных ­— Borg (не путать с одноимённым прародителем Kubernetes!). Поскольку уже более года мы с удовольствием используем его в production, в этой статье я поделюсь накопленными у нас «впечатлениями» о Borg.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии46

Конечные автоматы на практике: Symfony Workflow

Время на прочтение10 мин
Количество просмотров5.7K

В университетские времена я столкнулся с такой математической абстракцией, как конечный автомат (КА). Эта модель была полезна для понимания и создания комбинированной логики. Спустя 15 лет КА вернулся в мою жизнь в виде компонента Symfony Workflow. В этой статье я расскажу, как наша команда при помощи Symfony Workflow улучшила код продукта Links.Sape, переводя его с legacy.

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии0

Откуда что берется: интеграция с ЕСИА на языке PHP

Время на прочтение9 мин
Количество просмотров10K

Как мы в банке внедряли интеграцию с Единой системой идентификации и аутентификации (ЕСИА) на PHP и какие проблемы пришлось решать.

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии9

Как россиянину открыть банковский счет и карту в Турции?

Время на прочтение11 мин
Количество просмотров59K

Турция наряду с Арменией стала одним из самых посещаемых стран в 2022 году. Многие фрилансеры, самозанятые IT-сферы, рантье выбрали Турцию в качестве места для удаленной работы. Среди главных преимуществ: близко к РФ, море, возможность прямых и бюджетных перелетов в любую точку мира, и самое главное, возможность перевода денежных средств в том числе рублей.

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

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

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

Читать далее
Всего голосов 18: ↑14 и ↓4+10
Комментарии23
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность