Pull to refresh
0
@Igor_Brylinread⁠-⁠only

User

Send message

Почему перфекционизм и желание делать свое дело хорошо — медленно, но верно крадут ваше счастье?

Reading time8 min
Views41K

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

Читать далее

Я отклоняю комиты с использованием кучи и прошу коллег переписать такую логику

Reading time11 min
Views61K

Хочу поделиться своим опытом разработки крупных игровых проектов на C++, где производительность и стабильность — это не просто приятные бонусы, а абсолютно естественные требования к разработке. За годы работы над движками и играми я понял, что подход к управлению памятью очень сильно влияет на весь проект. В отличие от многих приложений - игры, особенно большие, часто работают часами без прерываний и должны поддерживать стабильный фреймрейт и отзывчивость. Когда проседание fps или фриз происходит на глазах у сотен тысяч игроков, вам уже никто не поможет — ущерб уже нанесен, а в steam полетели отзывы о кривизне рук разработчиков.

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

В разработке для консолей (про мобильные устройства я молчу, потому что игра не влезает по памяти даже в восемь гигов) с ограниченными ресурсами, архитектура с частыми аллокациями не просто неэффективна — она становится реальной угрозой для стабильности проекта. Каждое выделение памяти в куче влечёт за собой накладные расходы: это дополнительные !миллисекунды! (в целом на кадре) задержки, риск большой фрагментации памяти, и непредсказуемое поведение в долгой игровой сессии. После двух часов игры постоянные операции с кучей буквально «сжигают» половину бюджета кадра.

Читать далее

Ещё одно тестирование Angie, HAProxy, Envoy, Caddy и Traefik от Devhands

Level of difficultyMedium
Reading time16 min
Views6.3K

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

Читать далее

Big O

Level of difficultyEasy
Reading time8 min
Views11K

Нотация Big O («О» большое) — это способ описания производительности функции без измерения времени ее выполнения. Вместо того, чтобы засекать, сколько секунд выполняется функция от начала до конца, Big O показывает, как меняется время ее выполнения по мере увеличения размера входных данных. Этот подход помогает понять, как программа будет вести себя при разных объемах входящей информации.

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

Читать далее

Как я воскрешал аккумуляторы шуруповёрта

Level of difficultyMedium
Reading time9 min
Views19K

Ссылка на ролик на YouTube

Недавно я столкнулся с проблемой выхода из строя трёх новеньких аккумуляторов Ryobi. Тогда мне стало интересно, что послужило причиной. В итоге я погрузился в эту кроличью нору довольно глубоко – покупал десятки нерабочих аккумуляторов на eBay, реверсил печатную плату и документировал все этапы ремонта.

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

Читать далее

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

Level of difficultyEasy
Reading time7 min
Views21K

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

Читать далее

Ассемблер: рассматриваем каждый байт «Hello, World!». Как на самом деле работают программы на уровне процессора и ОС

Level of difficultyMedium
Reading time25 min
Views44K

Что на самом деле происходит, когда вы запускаете программу? Мы привыкли воспринимать это как данность, но за кадром скрывается целая вселенная — от регистров процессора и системных вызовов Linux до формата ELF и модели памяти процесса. Присоединяйтесь к погружению, где мы прольём свет на каждый байт программы «Hello, World!» и поймём, каким образом ОС её выполняет.

Читать далее

Оптимизация производительности с помощью логирования PostgreSQL

Level of difficultyMedium
Reading time16 min
Views4.5K

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

Читать далее

Ради чего люди ходят на работу? Пять типов мотивации по Герчикову

Reading time13 min
Views65K

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

Часто в командах вводится универсальная система мотивации, которая не учитывает индивидуальные особенности отдельной рабочей единицы. А зря.

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

Читать далее

Визуализация бухгалтерских проводок в виде диаграммы Сэнкей

Level of difficultyEasy
Reading time2 min
Views8.4K

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

Читать далее

Примеры для вдохновения — оформление README

Level of difficultyEasy
Reading time5 min
Views9.1K

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

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

Читать далее

HAProxy в 2025: от TCP до L7 — балансировка без боли

Level of difficultyMedium
Reading time21 min
Views11K

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

Напомню, HAProxy (High Availability Proxy) — это высокопроизводительный, отказоустойчивый прокси-сервер и балансировщик нагрузки, способный работать как с HTTP(S), так и с TCP-трафиком. Это делает его идеальным решением не только для веб-приложений, но и для баз данных, почтовых систем, брокеров сообщений и других сервисов.

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

Итак, чем же хорош HAProxy как балансировщик и что интересного появилось в новых версиях?

Читать далее

Ожидания и Реальность от Роли Архитектора

Reading time6 min
Views11K

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

Читать далее

Как и зачем инженерам уровня Senior развивать стратегическое мышление

Level of difficultyMedium
Reading time13 min
Views3.7K

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

В этой статье — мой личный фреймворк стратегического мышления, применимый на любом этапе карьеры, особенно полезный для Senior и Senior+ инженеров. Он основан на почти 20 годах опыта работы с платформами, продуктами и командами в сферах облачной инфраструктуры и сетей — от гиперскейлеров до стартапов (и до, и после IPO), а также крупных корпораций.

Читать далее

Искусство убивать процессы: как я сократил 17 ритуалов и вернул командам 900 ч/год

Level of difficultyMedium
Reading time11 min
Views22K

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

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

Поехали!

11 диаграмм, которые помогут избежать кризисов и переработок

Level of difficultyEasy
Reading time12 min
Views20K

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

Читать далее

JavaScript для детей: изучение разработки сайтов

Level of difficultyEasy
Reading time4 min
Views2.8K

Мы в Pixel используем JavaScript как составной элемент курса, посвященного разработке сайтов — комплексному направлению, требующему понимания, помимо остального, HTML и CSS. Роль первого как языка программирования в создании веб‑проектов не стоит умалять: ДжаваСкрипт обеспечивает функциональность и интерактивность сайтов, а также буквально управляет структурой и стилем, связывает их.

Считаем, что вопреки сложности направления, уроки JavaScript для детей будут уместны уже в подростковом возрасте, а если конкретно, то с 12 лет. Особенно при условии, что сам ребенок тяготеет к IT‑обучению и хочет не просто писать код, но и создавать структуру страниц, управлять их стилем, для чего и нужны HTML и CSS соответственно.

Читать далее

Localhost-атака: как Meta* и Яндекс следят за пользователями Android через localhost

Level of difficultyMedium
Reading time14 min
Views95K

Мы раскрыли новый метод отслеживания, используемый компаниями Meta* и Яндекс, который потенциально затрагивает миллиарды пользователей Android. Мы обнаружили, что нативные приложения Android — включая Facebook, Instagram и несколько приложений Яндекса, таких как Карты и Браузер — незаметно слушают определенные локальные порты в целях отслеживания.

Эти нативные приложения Android получают метаданные браузеров, куки и команды от скриптов Meta* Pixel и Яндекс.Метрики, встроенных на тысячи веб-сайтов. Эти скрипты загружаются в мобильных браузерах пользователей и незаметно связываются с нативными приложениями, работающими на том же устройстве, через локальные сокеты (localhost). Так как нативные приложения программно получают доступ к идентификаторам устройства, таким как рекламный идентификатор Android (AAID), или обрабатывают идентификацию пользователя, как в случае приложений Meta, этот метод позволяет этим организациям связывать сессии мобильного браузера и веб-куки с личностью пользователя, тем самым деанонимизируя посетителей сайтов, на которых размещены их скрипты.

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

Читать далее

VPN включил — подозрение получил: анонимность становится красным флагом

Level of difficultyMedium
Reading time6 min
Views149K

Раньше VPN был как шапка-невидимка. А теперь — как табличка на лбу: «Я скрываюсь, спросите меня за что».

В России готовится закон: поиск запрещенных материалов + VPN = отягчающее. Это значит, что мы подходим к черте когда сам факт анонимности будет поводом для расследования. В будущем мы будем платить за то, чтобы оставаться анонимными.

На примере «Моя борьба» разберем примеры запросов, за которые тебе ничего не будет, и случаи, когда за ту же тему могут наказать.

В статье:
– Какие формулировки в поиске считаются «плохими»
– Как написать «Mein Kampf» так, чтобы не словить протокол
Как извне определить, что ты используешь VPN?

ТОП-бонус внутри:
Технические данные для распознавания VPN, как построить твой уникальный UserID: пример кода и логика работы.

Читать далее

10 книг, к которым возвращаются тимлиды, когда всё идёт не по плану

Level of difficultyEasy
Reading time7 min
Views39K

Собрали 10 книг по управлению проектами. Каждая с выводами, которые руководители применяли на практике. Здесь — результаты от внедрения знаний из книг и подводные камни. 

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

Information

Rating
Does not participate
Registered
Activity