Как стать автором
Обновить
15
0
Алексей @sajmon

Разработчик

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

Python: Логируем как профессионалы

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

Часто вижу, что помимо обработки исключений, люди мучаются кое с чем еще, а именно с логированием.

Большинство людей не знают, что писать в логи, поэтому решают логировать все, что угодно, думая, что все подряд – это в любом случае лучше, чем ничего, и, в конечном итоге, просто создают шум. А шум – это информация, которая никак не помогает вашей команде понять, в чем дело и как решить проблему.

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

Книги, которые нас выбирают

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

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

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

Я расскажу о тех книгах, что были мне доступны в 1987–1993 гг., т. е. тогда, когда я совмещал работу инженера с программированием. Конечно, я упомяну только те книги, что мне действительно помогли; полный список литературы слишком обширен и упоминание их всех больше походило бы библиотечный каталог, чего я делать не намерен. Условно эти книги можно отнести к одной из нижеследующих категорий. Итак — вот мой «золотой фонд».

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

«Кем я стану, когда вырасту?» Что делать, если вам 30+ и вы до сих пор не знаете, какое дело вам по душе

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

Есть счастливчики, которые с детства знают, кем станут, а есть люди, которые никак не могут определиться, кто они. Они находятся в вечном поиске себя, пробуют то одно, то другое, но никак не могут утвердиться в своем выборе, и это создает им кучу проблем. Что стоит за этим страхом самоопределения?

Читать далее
Всего голосов 39: ↑32 и ↓7 +25
Комментарии 57

Практическое руководство по HashiCorp Consul — Часть 1

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


Это часть 1 из серии 2 частей практического руководства по HashiCorp Consul. Эта часть в первую очередь ориентирована на понимание проблем, которые решает Consul и как он их решает. Вторая часть больше ориентирована на практическое применение Consul в реальном примере и будет опубликована на следующей неделе. Давайте начнем.

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

Практическое руководство по HashiCorp Consul — Часть 2

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


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

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

Consul + iptables = :3

Время на прочтение 14 мин
Количество просмотров 14K
В 2010 году у компании Wargaming было 50 серверов и простая сетевая модель: бэкенд, фронтенд и файрвол. Количество серверов росло, модель усложнялась: стейджинги, изолированные VLAN с ACL, потом VPN с VRF, VLAN c ACL на L2, VRF с ACL на L3. Закружилась голова? Дальше будет веселее.

Когда серверов стало 16 000 работать без слез с таким количеством разнородных сегментов стало невозможно. Поэтому придумали другое решение. Взяли стек Netfilter, добавили к нему Consul как источник данных, получился быстрый распределенный файрвол. Им заменили ACL на роутерах и использовали как внешний и внутренний файрвол. Для динамического управления инструментом разработали систему BEFW, которую применили везде: от управления доступом пользователей в продуктовую сеть до изоляции сегментов сети друг от друга.



Как это все работает и почему вам стоит присмотреться к этой системе, расскажет Иван Агарков (annmuor) — руководитель группы инфраструктурной безопасности подразделения Maintenance в Минском центре разработки компании. Иван — фанат SELinux, любит Perl, пишет код. Как руководитель группы ИБ, регулярно работает с логами, бэкапами и R&D, чтобы защищать Wargaming от хакеров и обеспечивать работу всех игровых серверов в компании.
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 5

Consul.io Часть 1

Время на прочтение 7 мин
Количество просмотров 115K
При разработке приложений необходимо уделять особое внимание архитектуре. Если изначально этого не сделать, проблемы масштабирования могут появиться внезапно (а иногда могут не иметь решения). Масштабирование приложения и эффективное использование ресурсов на начальном этапе — это сэкономленные месяцы работы в дальнейшем.
Для предотвращения подобных проблем часто используют распределенную архитектуру, то есть архитектуру с возможностью горизонтального масштабирования всех компонентов. Но к сожалению, при реализации SOA возникают новые проблемы, а именно: связность и сложность конфигурации сервисов.



В данной статье мы расскажем об одном из discovery-сервисов под названием Consul, с помощью которого можно решить вышеизложенные проблемы и сделать архитектуру более прозрачной и понятной.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 8

Настройка CI/CD глазами разработчика

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

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

Тут кое-что интересное...
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 24

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

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

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

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Всего голосов 216: ↑214 и ↓2 +212
Комментарии 77

Испытания 5 отечественных автомобильных аккумуляторов в корпусе D23. Часть 7: итоги большого теста

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


Привет, Хабр! Сегодня завершается серия экспериментов с российскими и белорусскими аккумуляторами для автомобилей азиатского производства, а именно, АКТЕХ Standart, Тюмень ASIA, АКОМ ASIA, Tubor Classic и ZUBR ASIA.

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

Осталось повторить измерение ёмкости и тока холодной прокрутки, чтобы определить, как экстремальные испытания сказались на динамике этих характеристик. То есть, насколько долговечным и надёжным является каждый из аккумуляторов.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Комментарии 8

Самый простой способ обхода блокировок доступа к сайтам любых стран

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

Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать?

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

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

Так же, этот способ - достаточно дешевый (меньше чашки кофе в день) и очень быстрый с точки зрения реализации (буквально 5 минут).

Интересно?

Читать далее
Всего голосов 107: ↑78 и ↓29 +49
Комментарии 412

Как мы заработали 1700000 руб на Telegram-боте для создания фотокниг с помощью нейросети. Фейлы и выводы

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

Решил сэкономить вам 2 года, и разобрать фейлы, которые мы допустили на этапе запуска и продвижения продукта. Будет полезно, если думаете запустить свой IT продукт.

Читать далее
Всего голосов 145: ↑128 и ↓17 +111
Комментарии 132

Доступная система видеонаблюдения с охраной на дачу за 60 минут

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

Речь пойдет о сборке, настройке и запуске охранной системы с датчиками, камерой, хранением видеозаписей на удаленном домашнем NAS, встроенным UPS, web-интерфейсом и оповещением через Telegram.

Чтобы быть предельно кратким, оформил статью в стилистике hackster.io. Информация рассчитана на читателей с опытом работы с одноплатным компьютером Raspberry и пониманием принципов работы VPN.

Читать далее
Всего голосов 128: ↑125 и ↓3 +122
Комментарии 163

С алгоритмами в духе LeetCode на собеседованиях пора кончать

Время на прочтение 6 мин
Количество просмотров 65K
Современная разработка охватывает широкий диапазон от работы с алгоритмами до системного дизайна. По большей части разработка ПО укладывается в эти рамки. Основная масса разработчиков занимается созданием приложений, что ближе с системному дизайну, чем к низкоуровневым алгоритмам.

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

Такой подход основан на идее, что, если человек знаком с алгоритмами и системным дизайном, то и на разработку приложений ему хватит способностей. Это спорное утверждение. Создание приложений требует обширного набора навыков. Они не нарабатываются сотнями часов заучивания паттернов в решениях задач на алгоритмы. Да и рассматриванием сильно упрощенных версий системного дизайна Netflix, Uber или Twitter Threads делу не поможешь. Навыки разработки приложений оттачиваются путем… ну, разработки приложений. Но часто на технических собеседованиях они даже не принимаются в расчет.
Читать дальше →
Всего голосов 149: ↑138 и ↓11 +127
Комментарии 397

OpenConnect: недетектируемый VPN, который вам понравится

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

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

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Всего голосов 325: ↑324 и ↓1 +323
Комментарии 340

Внутренний Я(ндекс)

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

В этой статье я хочу описать (часть) моего опыта взаимодействия со структурой, именуемой в дальнейшем «яндекс», с точки зрения работника. Опишу собеседования и этап «входа».

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

Читать далее
Всего голосов 469: ↑463 и ↓6 +457
Комментарии 287

Мой опыт собеседования в Google [оффер на L5]

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

Предупреждение: я не смогу привести в статье конкретные вопросы из-за подписанного соглашения о неразглашении (NDA).

Работая в лондонском офисе Facebook в команде Instagram*, я начал задумываться о возвращении в Индию. В ноябре 2022 года со мной связался рекрутер Google. Он сообщил об открытии в Бангалоре должности уровня L5 и спросил, интересно ли мне это.

Так как я уже раздумывал о переезде в Индию, то ранее собеседовался в Google, но мне предложили более низкую должность (L4), чем я хотел; потом я устроился в META* на уровень E5.

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

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

На этот раз в процессе подготовки возникла уникальная для меня сложность — счастливое пополнение в моей семье, дочка. За моё внимание боролись подгузники и кодинг, было очень сложно выделить время на сосредоточенную подготовку! У меня было примерно 25-30 дней на освоение и искусства ухода за ребёнком, и прохождения собеседования.
Читать дальше →
Всего голосов 90: ↑86 и ↓4 +82
Комментарии 95

Эволюция методологий разработки

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

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

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

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

Будущее AI в разработке ПО – интервью с CPO GitHub

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

Два дня назад вышло интересное интервью с CPO GitHub Инбал Шани от Ленни Рачински. Так как GitHub со своим Copilot для разработчиков – один из лидеров внедрения инноваций в кодинг, захотелось законспектировать основные мысли.

Итак, вот они:
Всего голосов 9: ↑4 и ↓5 -1
Комментарии 23

Клиповое мышление: как замедлить цифровое слабоумие

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

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

Читать далее
Всего голосов 134: ↑102 и ↓32 +70
Комментарии 214

Информация

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