Pull to refresh
4
0
Groosha @Groosha

Программист

Send message

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

Level of difficultyMedium
Reading time6 min
Views10K

Всем доброго дня! Я Святослав Ященко, работаю в СберТехе, лидирую команду QA Platform V Kintsugi — это графическая консоль для сопровождения PostgreSQL и Postgres-like СУБД. Развивается вместе с СУБД Pangolin — целевой в Сбере и не только.

У нашего продукта микросервисная архитектура и Web UI. Часто при тестировании фронтенда я имею дело с ещё не дописанной функциональностью API, или же с ситуациями, когда в контракте API есть расхождения с ожиданиями фронтенда.

Хорошо, когда можно заносить моки в окружение или использовать снифферы с возможностью подмены трафика. Но, по разным причинам, не всегда бывает такая возможность. Что остаётся? Ждать, пока разработчик приведёт API в порядок? Но ведь фронтенд-часть готова уже сейчас и ждёт своего тестировщика...

Решение нашлось под рукой — в моём браузере Chrome. Если вы пользуетесь Chrome, то, вероятно, открываете DevTools. Чаще всего нам хватает вкладок Elements, Console, Network и Application. Но так ли прост DevTools? С этой статьи я начинаю цикл коротких руководств, посвящённых скрытым, но крайне полезным фичам Chrome. И начну с подмены входящего трафика.

Прошу под кат.

Читать далее

Гонка вооружений: смертельно опасный тритон и (не)ядовитая змея

Level of difficultyEasy
Reading time7 min
Views5.6K

Пару дней назад я написал пост о тритонах, в котором упомянул чрезвычайно ядовитого американского тритона. Но тогда у меня не было ни места, ни времени объяснить, почему он настолько ядовитый. И, разумеется, меня немедленно забросали кучей* комментариев и писем с вопросами. 

*тремя

Что ж, ладно, расскажу. Самый ядовитый тритон в мире — это Taricha granulosa, желтобрюхий тритон. Скромное маленькое земноводное, эндемичное для северо-запада тихоокеанского побережья Северной Америки, к западу от Каскадных гор примерно от округа Санта-Круз (Калифорния) до Юго-Восточной Аляски.

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

Читать далее

Теория мертвого 2GIS

Level of difficultyEasy
Reading time62 min
Views58K

Выбрали хороший ресторан (врача, СТО, юриста, риэлтора) по отзывам и высокому рейтингу в 2GIS, а оказалось, что там если не ужас-ужас-ужас, то как-то средне, явно не похоже на то, что вы бы ожидали от рейтинга 4.8 или даже 5 баллов. Знакомо?

Все знают, что в 2GIS могут быть накрученные фейковые отзывы (а их там всего 10-20 на весь город или там 99% фейковых? Есть ведь разница!), но не все умеют их легко опознавать. У 2gis, похоже, еще нет антифрода (что вполне нормально для пет-проекта, который делают веб-программисты в свободное время), но вы теперь можете различать ботов-зомби-инопланетян через мой антифрод af2gis, и выбирать себе те заведения, которые нравятся людям, а не ботам.

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

Прочитать и получить волшебные очки!

Откровения трезвого инженера

Reading time3 min
Views70K
image

Ответ на: Откровения пьяного старшего инженера

… Я выскажу свое мнение и значительно короче, наверное.

  1. Работа в нашей отрасли полностью построена на порочных стимулах.
  2. Лучший способ продвинуться по карьерной лестнице — это смена компании. Компании, в которых вы работаете, будут вознаграждать хорошую работу большей работой и ответственностью, а не большим количеством времени и/или денег. Компании, в которые вы переходите, вознаградят вашу предыдущую хорошую работу в других компаниях большими деньгами. На самом деле это не имеет смысла… См. Пункт №1.
  3. Каждый раз, когда я меняю работу, я сокращаю свои обязанности на 50% и увеличиваю зарплату на 50%. На моей первой работе я был очень раздражен, когда новые сотрудники, которые были на моем уровне квалификации, зарабатывали больше, чем я. Теперь другие старожилы в моей компании с таким же уровнем квалификации раздражаются, когда я зарабатываю намного больше, чем они (обратите внимание, что количество смен работы >= 3). На самом деле это не имеет смысла… См. Пункт №1.
Читать дальше →

Апгрейд Хабра: реанимация принцесс

Reading time5 min
Views4K

Несколько месяцев назад я написал статью, в которой предлагал несколько идей, как находить на Хабре действительно интересные, но давно забытые статьи. Я сравнил эти статьи с принцессами, затерянными в хранилищах Хабра, с которыми можно встретиться только случайно и то, если поисковик благоволит такой встрече. В первом же комментарии к той статье на связь вышел продакт Хабра и заверил меня, что Хабр уже движется в этом направлении и даже, что мои предложения «утащили в беклог». Однако, как говорится, «обещать — не значит жениться». Спросите у любой принцессы. Каждая подтвердит. Время шло... В общем я почти потерял надежду...

Читать далее

Как сменить технологию и не закопаться в рефакторинге: опыт внедрения DDD в проект на FastAPI — Часть 2

Level of difficultyMedium
Reading time10 min
Views4.8K

Привет, хабравчане!

В первой части были рассмотрены паттерны проектирования Repository и Unit of Work.

Это вторая часть цикла о DDD. В ней расскажу, как добавить к проекту событийно-ориентированную архитектуру.

Код подопытного приложения ищите в репозитории по ссылке. Подробнее о DDD и паттернах Repository и Unit of Work читайте в первой части по ссылке...

Читать далее

Как сменить технологию и не закопаться в рефакторинге: опыт внедрения DDD в проект на FastAPI — Часть 1

Level of difficultyMedium
Reading time15 min
Views11K

Привет, хабравчане!

В серии статей расскажу, что такое DDD (domain-driven design) и какие у него преимущества и недостатки. Разберемся, когда применять подход и как сочетать его с FastAPI, популярным ASGI фреймворком на Python.

В этой части рассмотрим паттерны проектирования Repository и Unit of Work. С их помощью мы работаем через интерфейсы. Паттерны помогают в разделении кода на слои: основная логика приложения представляется внутренними слоями, а используемые технологии - внешними.

Читать далее

Хитрые бактерии и антибиотики

Reading time13 min
Views31K

Аптека в Африке, сейчас пациент получит одну таблетку доксициклина

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

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

Поэтому антибиотики уже через 15 минут после появления начали резко создавать эволюционное давление.

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

В общем, там есть пара суперинтересных историй про то, насколько бактерии хитрые и продуманные. Пора бы в этом разобраться. Сегодня мы это делаем с экспертом — Денисом Кузьминым, к.б.н., директором физтех-школы биологической и медицинской физики МФТИ.
Читать дальше →

Дешево и сердито: геймдев на Godot 4.2 для тех, кто знает Python

Level of difficultyMedium
Reading time9 min
Views30K

Привет, Хабр! Меня зовут Матвей, я уже несколько лет хочу научиться создавать игры. Скажу честно: все никак не хватало времени и, возможно, целеустремленности, чтобы изучить Unreal Engine, Cry Engine и им подобные движки.

Но я знаю Python. Оказывается, для любителей парселтанга есть относительно простой способ вкатиться в геймдев — игровой движок Godot, который поддерживает программирование на синтаксически похожем языке GDScript. Я его изучил и даже создал небольшую игру. В этой статье хочу рассказать об этом решении подробнее.
Читать дальше →

Септик и автономная канализация. Часть 1. Основы

Level of difficultyEasy
Reading time14 min
Views20K

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

Погрузиться в чтение

Как рос мой доход в IT: от 17к до $21000 в месяц

Level of difficultyEasy
Reading time10 min
Views126K

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

Читать далее

Бардак в GNOME — это не случайность

Level of difficultyMedium
Reading time13 min
Views65K

GNOME удалось добиться, казалось бы, невозможного: это самая ограниченная по возможностям и раздутая десктопная среда для Linux. Но это не просто случайность. Это результат высокомерия и дилетантства основных разработчиков, превративших архитектурные решения GNOME в шедевр хаоса. Чтобы лучше понять, что происходит, давайте проанализируем некоторые из примеров. Даже если ни один из них не затрагивает непосредственно вас, стоит понять modus operandi ведения проектов GNOME и то, как они вредят сообществу Linux.
Читать дальше →

Serverless telegram бот в Excel

Level of difficultyEasy
Reading time7 min
Views11K

Это история про камингаут телеграм‑бота, у которого нет VDS и он бомжует: одной ногой — в гугло‑облаке, другой — в Excel.

Да, жизнь бывает сложнее учебника по ботоводству. Например, для целей ботоводства гугло‑облако все еще может выглядеть надежнее, проще и удобнее VDS. И если в мире людей не зазорно бомжевать по съемным хатам, то кто осудит бомжебота за отказ от VDS?

Не станем особо заморачиваться на сравнении преимуществ и недостатков хостинга с и без VDS. Только напомним не только лишь для школьников, что у гугло‑сервисов все еще весомые бесплатные лимиты и их датацентрам пока еще не грозят негативные последствия того‑чего‑нельзя‑называть.

Читать далее

Serverless-телеграм-бот с s3 на Python или как я научился играть в пинг-понг

Level of difficultyEasy
Reading time8 min
Views6K

Настольный теннис - самый популярный рекреационный вид спорта на сегодняшний день. Минимум экипировки, короткие партии, все “как-то давно не играли”. Возможно здесь есть какая-то связь, но во всех 6 командах, где я работал с с 2012-го года, в перерывах, мы с коллегами играли именно в настольный теннис. Иногда стол стоял прямо у нас в офисе, иногда мы выходили к ближайшему уличному столу, иногда даже устраивали небольшие тимбилдинги на арендованных столах.

У меня сформировалось устойчивое мнение, что любовь к настольному теннису - повсеместное явление в этой нашей IT-сфере. Товарищи, кто в юношестве посещали математические и программистские сборы, это только подтверждали. А в какой-то момент наличие стола даже заняло место в списке преимуществ работы “именно у нас” где-то между белой зарплатой и дружным коллективом. И вообще, это индикатор финансовой успешности вашей корпорации. 

Читать далее

Как IT-специалисты помогли выиграть суд у банка

Level of difficultyEasy
Reading time5 min
Views26K

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

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

Читать далее

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficultyEasy
Reading time7 min
Views134K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее

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

Level of difficultyEasy
Reading time8 min
Views58K

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

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

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

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

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

На этот раз в процессе подготовки возникла уникальная для меня сложность — счастливое пополнение в моей семье, дочка. За моё внимание боролись подгузники и кодинг, было очень сложно выделить время на сосредоточенную подготовку! У меня было примерно 25-30 дней на освоение и искусства ухода за ребёнком, и прохождения собеседования.
Читать дальше →

Парадокс видеоигрового «Вархаммера», или Почему стоит уважать Games Workshop

Level of difficultyEasy
Reading time11 min
Views17K
image

Каждый геймер в какой-то момент фантазировал на тему видеоигровой интерпретации своей любимой франшизы фильмов или необычного спин-оффа в уже существующей игровой вселенной. Со вселенными, мир и персонажей которых ты полюбил, и хитросплетения лора коих ты выучил наизусть, хочется соприкоснуться хоть в какой-нибудь новой оболочке, не засматривая и переигрывая до дыр старые тайтлы. Вот поэтому Hogwarts Legacy стала одной из главных игр года в плане популярности и выручки, для Half-Life 2 до сих пор делают моды, а ремейк первого «Котора» ждут затаив дыхание.

И где-то в стороне от этих ждущих по крупицам новый контент фанатов каких-нибудь Gears of War или «Гарри Поттера» заседают гордые ценители вселенной Warhammer, которые играют одновременно в свежевышедшие арена-шутер и RTS, скачивают дополнения для идейного наследника Left 4 Dead и магического американского футбола, потирают руки в предвкушении RPG от самих создателей серии Pathfinder и новой части экшена Space Marine. Как так получилось и какие плюсы и последствия для игроков от такой «раздачи» лицензии на вселенную «мрачной тьмы далёкого будущего»?
Читать дальше →

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

Level of difficultyMedium
Reading time5 min
Views42K

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

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

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →

Собеседование в Яндекс: театр абсурда :/

Reading time14 min
Views598K

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

В прошлой статье меня знатно разбомбили в комментариях, где-то за дело, где-то я считаю, что нет. Так или иначе, я выжил, и у меня есть чем с вами поделиться >:)

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

Как вы думаете, что делают рекрутеры, когда видят "Alexandr, NOT OPEN FOR WORK"? Правильно, пишут "Алексей, рассматриваете вариант работать в X?" Я обычно игнорирую это, но тут мне предложили попытать счастья с Яндекс.Лавкой, и я не смог пройти мимо - интересно было, смогу ли я устроиться куда-нибудь, когда введут великий российский файерволл. К тому же за последние 3 года я проходил только два интервью, и мне показалось, что я не в теме, что нынче требуется индустрии. Блин, я оказался и вправду не в теме. И вы, скорей всего, тоже - об этом и статья.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity