Pull to refresh
38
Maxim Firsov@FirsofMaxim

Mobile developer, Golang backend developer

35
Subscribers
Habr Career
Send message

Замедляем замедление: как «починить» Telegram

Level of difficultyMedium
Reading time6 min
Reach and readers340K

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

В этой статье мы разберем, как на самом деле работает замедление Telegram, какие методы позволяют вернуть полную скорость работы мессенджера

Читать далее

B4 — обход DPI с веб-интерфейсом

Level of difficultyMedium
Reading time8 min
Reach and readers164K

B4 - инструмент обхода DPI на Go с веб-интерфейсом.

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

Читать далее

Как я получаю зарплату от зарубежных IT-компаний в 2025 году, живя в России

Reading time4 min
Reach and readers66K

Меня зовут Федя. Я впервые на Хабре. С 2020-го работаю SQL-разработчиком на иностранные компании, а с 2022-го подрабатываю агентом 007.

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

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

Как вы получаете валютную зарплату?

Мониторинг изменений на сайтах

Level of difficultyMedium
Reading time8 min
Reach and readers12K

Отслеживать доступность сайтов — стандартная задача любого веб-мастера, который обязательно устанавливает такие «мониторы» на свои ресурсы. Он проверяет, какой контент возвращается по запросу: стандартная веб-страница или сообщение об ошибке. Логично поставить такую проверку в ежеминутном режиме с подачей громкого уведомления в случае инцидента (если сайт недоступен).

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

Но если мониторинг сайтов сделать удобным и простым, то открываются десятки новых, полезных вариантов использования для обычного человека: отслеживание цен, распродаж, покупка товаров на скидках, бронирование билетов и талонов в поликлинику, появление на Хабре статьи по ключевому слову, мониторинг изменений в файлах PDF, поисковой выдаче Google и многое другое...

Читать далее

Сначала они требовали с нас 200 000 рублей, потом 5 000 000, а на суде смеялись нам в лицо

Level of difficultyEasy
Reading time8 min
Reach and readers118K

«Или вы платите мне 200 000 рублей, или весь ваш товар будет уничтожен» — с такого ультиматума началось утро женщины, которая просто продавала пижамы на WB.

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

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

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

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

Я юрист по интеллектуальным правам, патентный поверенный РФ №2151. Давайте сначала расскажу в двух словах о том, как вообще работают эти знаки и кто такие патентные тролли — а потом саму историю.

Читать далее

Про свёрла

Level of difficultyEasy
Reading time10 min
Reach and readers143K

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

Читать далее

Работа с OpenAPI в Go

Level of difficultyEasy
Reading time10 min
Reach and readers14K

Хорошо спроектированные и качественно документированные API — это удовольствие в работе.

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

Читать далее

Разработка высоконагруженных API: проблемы, решения, практические рекомендации

Level of difficultyMedium
Reading time14 min
Reach and readers77K

Ваш проект взлетел. Первые пользователи превратились в тысячи. Тысячи стали десятками тысяч. Метрики в дашбордах рисуют красивую кривую, устремленную вверх. Но есть и другие кривые, которые ползут вверх с не меньшей скоростью. Время ответа сервера. Количество ошибок 502 и 504.

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

Читать далее

Как запустить сервер для Counter-Strike 1.6: инструкция для новичков

Level of difficultyEasy
Reading time12 min
Reach and readers70K

Counter-Strike 1.6 — культовая игра, которая дает возможность создать свой сервер для игры с друзьями или публичных матчей. Если вы хотите настроить его, но не знаете, с чего начать, эта статья вам поможет. Под катом подробно рассмотрим, какие есть способы создания сервера, как выполнить установку, настройку, защиту от DDoS-атак и пригласить других игроков.
Читать дальше →

Подробная инструкция, что нужно сделать, чтобы РКН вас не оштрафовал

Level of difficultyEasy
Reading time8 min
Reach and readers12K

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

Делюсь с вами этим бесплатно. Просто пойдите и сделайте как написано.

Читать далее

Ты решаешь LeetCode неправильно. Как пройти любое собеседование в BigTech?

Level of difficultyEasy
Reading time6 min
Reach and readers97K

Привет! Я ex. Разработчик из VK, сейчас принял оффер от Ozon'a, и за последний месяц я прошел собеседования в 4х бигтех компаниях: Ozon, Avito, Wildberries и T-Bank и везде дошел до финалов/офферов. Пообщавшись во многих группах, посвященных Go-разработке, я понял, что много умных ребят готовясь к собесам не имеют четкой системы подготовки, и из-за этого заваливают технические собесы в компании. Не претендуя на истину в последней инстанции, предлагаю свою методику подготовки к собесам, которая помогла мне и моим знакомым подготовиться к техническим собесам во все популярные ру-бигтехи.

Читать далее

Каждый бэкенд-инженер должен знать, как обрабатывать платежи. Краткое руководство по повторным попыткам платежа

Reading time4 min
Reach and readers64K
Любая система, работающая с платежами, должна быть надежной и отказоустойчивой.

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

Сейчас покажу, как это сделать.
Читать дальше →

Как пройти алгоритмическое собеседование: полный гид по алгоритмам, сложностям и стратегиям

Reading time31 min
Reach and readers94K

Не тратьте время на задачи – сначала разберитесь в основах. В статье:

1. Как проходят собеседования (ВАЖНО!)
2. Big O, оценка сложности алгоритмов
3. Популярные техники: два указателя, DFS, динамическое программирование и другие
4. Какие задачи решать, чтобы пройти в Яндекс

Читаем, практикуемся, получаем оффер!

Читать далее

Постмортем: 4 мои ошибки во время отражения DDOS атаки (спойлер — выкуп в $250 мы все-таки не заплатили)

Level of difficultyMedium
Reading time7 min
Reach and readers38K

Мой обеденный кофе прервался. Начали приходить уведомления от мониторинга, что сайт и API не отвечают, а CloudFlare отдаёт 521-ю ошибку на все запросы. Спустя пять минут ко мне в личку пришли пользователи с жалобами на неработающие приложения. А ещё спустя пять позвонил сооснователь проекта и сказал, что от нас требуют $250 за остановку DDOS'a.

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

Читать далее

Современные подходы к управлению UI: low-сode & Backend-Driven UI

Level of difficultyEasy
Reading time9 min
Reach and readers39K

Привет, меня зовут Михаил Шевченко. В Авито я проектирую и разрабатываю backend low-code платформы Bricks. В этой статье рассказываю о том, почему в Авито было принято решение развивать собственные low-code-решения и Backend-Driven UI, объясняю их устройство и делюсь достигнутыми результатами.

Читать далее

Как отличаются СДВГ люди от обычных людей? И зумеры — это СДВГшники или просто ленивые инфантилы?

Level of difficultyEasy
Reading time20 min
Reach and readers169K

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

Предупреждение: Данная статья написана не квалифицированным врачом-психиатром, а пациентом с СДВГ. И есть основания полагать, что понимаю я в этой теме больше, чем многие психиатры на территории бывшего СССР.

Читать далее

Такие разные Android AppLinks, WebLinks, DeepLinks. Разбираемся и пытаемся сломать

Reading time7 min
Reach and readers12K

Всем привет! На связи Юрий Шабалин и Веселина Зацепина, эксперты по безопасности мобильных приложений в компании Стингрей. С каждым годом мобильные приложения становятся всё более сложными и взаимосвязанными, предлагая пользователям бесшовный опыт взаимодействия. Одной из ключевых частей этого опыта являются ссылки, которые могут направить пользователя прямо на определённый экран приложения или на конкретный контент. Однако многие (как и мы до того, как написать эту статью) путают такие термины, как Deep Links, Web Links и App Links, что может привести к ошибкам в реализации и уязвимостям.

Цель этой статьи — разобраться в различиях между этим похожим функционалом, понять, какие атаки могут быть на них направлены и как ведёт себя Android, если несколько приложений пытаются зарегистрировать одни и те же ссылки. Сразу оговорюсь, что это статья не совсем похожа на наши обычные материалы — она призвана скорее рассказать, что мы узнали в процессе внутреннего исследования и консолидировать эту информацию в небольших "заметках на полях".

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

Читать далее

Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки

Level of difficultyMedium
Reading time43 min
Reach and readers48K

Моя полная петиция на грин-карту по программе талантов EB-1A. 557 страниц, 7 критериев, одобрена с первой попытки без RFE. Все мои рассуждения по выбору критериев, подготовке и описанию доказательств, переводам, оформлению и отправке.

Читать далее

Как перестать бояться Proguard и начать жить

Reading time12 min
Reach and readers72K


Здравствуйте, я Android разработчик и я больше не боюсь ProGuard...


Обычно, об этой утилите вспоминают, когда сталкиваются с dalvik dex-limit issue или с требованием улучшить безопасность приложения. К сожалению, правильно настроить Proguard удается далеко не с первого раза. Я часто наблюдал, как многие, сломав проект, выключают Proguard и включают поддержку Mulditex и каждый раз немножечко грустил по этому поводу, ведь Proguard помогает как сократить размер приложения, так и повысить его производительность.


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

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

Как зажечь на конфе, даже если ты не зажигательный

Reading time7 min
Reach and readers2K

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

Всем привет! Это Игорян, и внезапно для себя за месяц я выступил на четырёх конференциях, иногда по два выступления в неделю в разных городах. Поэтому я решил отдохнуть от темы ПромоСтраниц и сегодня рассказываю вам, как выступать хорошо, а плохо не выступать. Эта статья поможет тем, кто ещё не спикер, но хочет им быть для саморазвития. А ещё и тем, у кого уже был опыт выступлений, но получилось скомканно, душновато, а люди рассосались в процессе. Я начинал так же и кое-что усвоил за свою пару десятков конференций.

Делюсь.

Читать далее
1
23 ...

Information

Rating
6,216-th
Location
Снежинск (Челябинская обл.), Челябинская обл., Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик, Разработчик мобильных приложений
Старший
Android SDK
Kotlin
Java
Golang
PostgreSQL
Swift
Разработка под iOS
Разработка под Android