Как стать автором
Обновить
11
0

Backend software engineer and tech lead

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

Типичные ошибки архитектора, или Как перестать бояться и полюбить RFC

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

Всем привет! С вами Женя, разработчик Dodo Engineering и один из ведущих подкаста «Читаем вместе». Он посвящен IT-книгам. В каждом сезоне мы планируем читать и разбирать одну книгу. Уже подходит к концу первый сезон, который мы посвятили книге Fundamentals of Software Architecture. Она написана архитекторами для архитекторов, но разработчикам, особенно тем, которые интересуются, как создавать работающие системы, тоже может быть очень интересна и полезна.

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

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

Знакомо? Нам тоже. Но мы смогли победить эти проблемы.

Под катом выжимка из главы и нашего выпуска, а также практический опыт Dodo Engineering, как правильно оформлять и хранить архитектурные решения.

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

Инструментарий для нагрузочного тестирования и не только

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


Мы в Altenar разрабатываем программное обеспечение для обработки спортивных данных. Как и для многих разработчиков для нас очень важна производительность, в связи с этим особое внимание мы уделяем нагрузочному тестированию. Под катом подробный рассказ про наш опыт от инженера по автоматизации тестирования Даниила Матафонова (QA Automation Engineer) daniilmatafonov.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии1

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

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


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

Если вы давно хотели разобраться в CORS и вас достали постоянные ошибки, добро пожаловать под кат.

Ошибка в консоли вашего браузера


No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/

Access to fetch at ‘https://example.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy.


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

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

Но давайте-ка пойдем к истокам…
Читать дальше →
Всего голосов 41: ↑40 и ↓1+57
Комментарии14

Как мы работаем с логами (сбор, хранение, анализ при помощи Graylog)

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

Всем привет! В этой статье мы хотим поделиться нашим опытом использования полезной платформы Graylog, которая ежедневно помогает собирать, надежно хранить и анализировать логи с десятков серверов, окутанных заботой нашей поддержки :)

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

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

«Рабочие места» для цифровых кочевников: реализация прагматичного API

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

Ещё один небольшой pet-проект: про кафе и коворкинги на солнечном Кипре. "Рабочие места" для цифровых кочевников ヽ(。_°)ノ

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

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

Основы контейнеризации (обзор Docker и Podman)

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

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

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

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

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

15 нейросетей в один Telegram-бот: история успеха и реализация помощника для создателей контента

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

Всем привет! Я занимаюсь NLP в сфере Data Science и хочу поделиться результатами разработки Telegram-бота, у которого под капотом уже 15 нейросетей. Речь идёт о TurboText_bot. Он будет полезен всем, кто причастен к созданию контента. К таким можно отнести блогеров, журналистов, копирайтеров и многих других специалистов.. Даже бабушек у подъезда, ведь бот способен генерировать и обрабатывать новости.

Что удалось реализовать?

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

Уроки компьютерного зрения. Оглавление

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

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 1.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 2.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 3.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 4.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 5.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 6.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 7.

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 8.

Читать далее
Всего голосов 15: ↑13 и ↓2+14
Комментарии4

Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana

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

Туториалы делятся на две больших категории: либо "как нарисовать сову", либо подробно расписанные тысячи шагов в формате "напиши туториал для дурака - и только дурак захочет его читать".

Как какой из двух категорий относится эта статья — решать вам.

В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.

Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним.

Текст написан на основе текстов и демо-проекта microservice-customer за авторством @kamaruzzaman. Если вы потеряли нить повествования, всегда можно зайти на GitHub и найти весь код в пригодном для запуска виде. Если захочется закопаться в тему, то бро Дима Чуйко (@Teapot) написал вам ещё две части статьи "Микросервисы: от CRUD до Native Image" (раз, два).

Последняя важная оговорка. В этом гайде будут использоваться технологии Amazon и обычные дистрибутивы OpenJDK. Автор осознает, что мы живём в России, и возможно, вместо Amazon куда лучше подойдет что-то вроде SberCloud или MTS Cloud, а вместо обычного OpenJDK - Axiom JDK с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях.

Читать далее
Всего голосов 66: ↑65 и ↓1+83
Комментарии27

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

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

Я написал популярную статью с разоблачением финансового инфоцыгана, который выдавал себя за бывшего советника Набиуллиной. После этого моему каналу объявили настоящую войну: десятки тысяч ботов устраивают бесчинство в комментариях, а самому блогу пытаются создать репутацию «токсичного». Делюсь своим опытом: что делать в такой ситуации, и как защитить свой Телеграм-канал.

Читать далее
Всего голосов 318: ↑290 и ↓28+331
Комментарии143

Маски, картины, тайные покупатели и анализ продаж: разбираем решения задач для Go-разработчиков

Время на прочтение10 мин
Количество просмотров12K
3 апреля на платформе All Cups прошло отборочное соревнование на курс «Продвинутая разработка микросервисов на Go» — это уже второй поток бесплатных курсов для разработчиков от Ozon Tech. Программа предназначена для мидлов, поэтому нужно было придумать задания и провести контест, чтобы отобрать релевантных участников.

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


Поехали!
Всего голосов 16: ↑13 и ↓3+23
Комментарии25

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

Время на прочтение7 мин
Количество просмотров6.6K
Что такое разработка в Сбере? В глазах обычного айтишника: «Вот где код написали, туда и идите!». Но это давно уже стереотип, а они хорошими не бывают. Стремительное развитие open source доказывает, что такая культура давно себя изжила, и энтерпрайз (если он умный) давно пересмотрел silo-based подход к разработке.



Публикация всего банковского ПО в open source — эффектный способ самоубийства довольно спорное решение, и нужен какой-то промежуточный этап. C масштабами банка мы можем запустить свой внутренний open source, а не пытаться проверить, что можно показать всем и трястись от страха за наши маленькие большие секреты.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии3

Главная ложь SCRUM. Откуда берётся карго-культ

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

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

Читать далее
Всего голосов 139: ↑119 и ↓20+118
Комментарии177

Почему никто не понимает REST

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

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

Читать далее
Всего голосов 26: ↑21 и ↓5+20
Комментарии26

Возможна ли анонимная оплата в Apple Pay?

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

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

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

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

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

Привет! Меня зовут Женя Голева, я занимаюсь developer relations с 2016 года, и постоянно вижу профессиональных чатах холивары о нашей работе. Люди спорят, кто такие деврелы, кто занимается не деврелом, а какие виды деврелов наоборот имеют право на существование и очень нужны в команде. 

Ответы на многие похожие вопросы уже есть — в книге Мэри Тенгвал “The Business Value of Developer Relations”.  Я заручилась поддержкой автора и издательства-правообладателя и перевела главу “Building a Developer Relations Team / What’s in a name?” для русскоязычного сообщества. У вас впереди 10 коротких и ёмких разделов про цели и задачи всей команды Developer Relations на старте и в процессе развития, про то, какие роли и специализации могут быть востребованы на разных этапах, что кандидатам необходимо знать и уметь на входе, а что — вовсе не обязательно и можно добрать в процессе работы.

Эта статья будет полезна в первую очередь тем, кто хочет разобраться в специфике направления developer relations: если вы СТО или СЕО, то вам скорее будут полезны первые несколько разделов и последний, если вы уже занимаетесь деврелом или очень хотите начать, здесь будут ответы на вопросы, как войти в профессию или куда в ней развиваться дальше.

Приглашаю под кат
Всего голосов 18: ↑16 и ↓2+23
Комментарии5

«Рост зарплат в IT это плохо? Вы же шутите, да?»

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

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

Читать далее
Всего голосов 84: ↑65 и ↓19+58
Комментарии322

TON: Telegram Open Network. Часть 1: Вступление, сетевой уровень, ADNL, DHT, оверлейные сети

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

TON: Telegram Open Network


Уже две недели Рунет шумит про Telegram и ситуацию с его бессмысленной и беспощадной блокировкой Роскомнадзором. Рикошетом задело многих, но всё это — темы для постов на Geektimes. Меня же удивило другое — я до сих пор не видел на Хабре ни одного разбора запланированной к выходу на базе Telegram сети TON — Telegram Open Network. Мне захотелось восполнить этот недостаток, ибо поизучать там есть что — даже несмотря на отсутствие официальных заявлений о нём.


Напомню — ходят слухи о том, что Telegram запустил очень масштабное закрытое ICO, уже собрав в нём невероятные суммы. Предполагается, что уже в этом году будет запущена собственная криптовалюта Gram — и у каждого пользователя Телеграма автоматически появится кошелёк, что само по себе создает немалое преимущество перед остальными криптовалютами.


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


Что же говорится в этом документе? Я попробую пересказать его своими словами, близко к тексту, но по-русски и чуть более человечно (да простит меня Николай со своей склонностью уходить в формальную математику). Имейте в виду, что даже в случае его подлинности, это черновое описание системы и оно, весьма вероятно, изменится к моменту публичного запуска.

Итак, приступим
Всего голосов 84: ↑83 и ↓1+82
Комментарии129

Как ManyChat на PHP8 переезжал

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

Привет, меня зовут Максим, я бэкенд-разработчик в ManyChat. 

Эта статья – о нашем переходе на PHP8. Однажды мы решили немного поисследовать – посмотреть, чего нам будет стоить возможный переход на новую версию, и запланировать эти работы на следующий год, сразу на 8.1. Перспектива переезда тогда вызывала у нас чувства примерно как на КДПВ: от мыслей обо всех тестах и внешних зависимостях было немного неуютно.

Однако в процессе исследования выяснилось, что нельзя просто так взять и остановиться. Одно за другим, и вот мы уже полностью на PHP 8. 

Эта статья – о шагах, из которых складывался переезд, и проблемах, которые мы встретили в процессе. Надеюсь, статья будет полезна для тех, кому ещё только предстоить перейти на PHP 8 – поможет подготовиться хотя бы морально. Для всех остальных (кто уже на PHP 8 или не собирается) – давайте сверимся по ощущениям.

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

Без тимлида не обойтись, а что насчет техлида?

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

Привет, Хабр! Меня зовут Ваня Антипин, я Deputy CTO в компании AGIMA. Сегодня я постараюсь вам рассказать про роль техлида в компании. Напомню, что в октябре 2020 года мы говорили о роли тимлида в компании и команде. Если кратко, пришли к тому, что от него зависит многое, включая эффективность команды, достижение поставленных целей, оперативное решение рабочих тасков. 

Читать далее
Всего голосов 8: ↑7 и ↓1+12
Комментарии20

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Chief Technology Officer (CTO)
Lead
PHP
Laravel
Project management