Pull to refresh
60
0
Дмитрий Филюшин @Filyushin

Разработчик

Send message

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

Reading time3 min
Views4.9K

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

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

Amazon: обратимые и необратимые решения
Матрица "Ценность vs. Затраты"
Матрица Эйзенхауэра

Читать далее
Total votes 8: ↑7 and ↓1+13
Comments6

Учимся (не) проходить финалы на стажировку в Яндекс

Level of difficultyEasy
Reading time13 min
Views29K

Об этом не пишут в рекламных постах. Здесь не будет призыва идти на стажировку и восторженных отзывов, только бесконечные отказы и поиски решений данной проблемы. Я покажу путь от «достаточно спорный» до «достаточно хороший» кандидат, который уже 8 месяцев сидит на финалах. В статье будут вопросы из собеседований, фидбеки и мои мысли на этот счет

Читать далее
Total votes 35: ↑29 and ↓6+35
Comments26

SQL HowTo: 1000 и один способ агрегации

Reading time5 min
Views15K
Наш СБИС, как и другие системы управления бизнесом, не обходится без формирования отчетов — каждый руководитель любит сводные цифры, особенно всякие суммы по разделам и красивые "Итого".

А чтобы эти итоги собрать, необходимо по исходным данным вычислить значение некоторой агрегатной функции: количество, сумма, среднее, минимум, максимум,… — и, как правило, не одной.


Сегодня мы рассмотрим некоторые способы, с помощью которых можно вычислить агрегаты в PostgreSQL или ускорить выполнение SQL-запроса.
Читать дальше →
Total votes 12: ↑11 and ↓1+12
Comments1

Уменьшать срок или платёж, что выгоднее: наглядное сравнение способов досрочного погашения кредита

Level of difficultyEasy
Reading time12 min
Views105K

Большинство из нас так или иначе сталкивается с кредитами, а потом и с досрочными платежами по ним. Эта статья в блоге ЛАНИТ на Хабре посвящена подробному сравнению двух способов внесения частичных досрочных платежей по кредиту: с уменьшением срока и с уменьшением платежа.

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

Читать далее
Total votes 83: ↑73 and ↓10+85
Comments325

Быстрее пули: как найти счастье с PostgreSQL

Level of difficultyEasy
Reading time24 min
Views7.5K

В этой статье мы расскажем о том, как эффективно реализовать полнотекстовый поиск с помощью PostgreSQL. Узнайте, как улучшить скорость и точность поиска по текстовым данным, используя такие инструменты, как tsvector, tsquery и индексы GIN, и как эти возможности могут значительно повысить производительность вашего приложения.

Читать далее
Total votes 29: ↑28 and ↓1+40
Comments11

Как дедуля Сунь-Цзы помогает в переговорах

Level of difficultyEasy
Reading time6 min
Views11K

Мой папа всегда был увлечён Китаем и китайской культурой. Например, когда мне было 16 лет, он ненавязчиво заменял журналы «Cool Girl» (Журнал для настоящих девчонок!) и «Все звёзды» (12 постеров и 2 суперпостера внутри!) на классические произведения китайской литературы. 

Одной из подложенных папой книг был древнекитайский трактат Сунь-Цзы под названием «Искусство войны». Это небольшое по объёму, но плотное по панчам произведение, в котором мысли и рекомендации автора изложены в афористичной манере. Как будто на обложке Esquire Сунь-Цзы в бежевом кашемировом свитере и твидовых брюках-чинос, а внутри — «25 правил жизни китайского полководца».

Когда мне было 18 лет, бормоча про себя цитату «Война — это путь обмана», мне удалось: уговорить маму отпустить ночевать на дачу к одногруппникам, убедить, что чёрный оверсайз балахон — это модно и нарядно, и доказать родителям, что ещё одна собака дома — это не псарня, а гармоничный комплект. 

А теперь перейдём от моего папы и его псарни к рассказу о том, зачем мудрость Сунь-Цзы нужна именно вам.

Читать далее
Total votes 54: ↑46 and ↓8+47
Comments18

Введение в Traefik 2.0

Reading time13 min
Views154K

Traefik — это обратный прокси-сервер с открытым исходным кодом, обеспечивающий простую работу с микросервисами и/или просто контейнерами с вашими приложениями.


Обратный прокси-сервер (reverse proxy, реверс-прокси) служит для ретрансляции запросов из внешней сети к каким-либо серверам/сервисам внутренней сети (например веб-сервера, БД или файловые хранилища) и позволяет:


  • обеспечить сокрытие структуры внутренней сети и подробностей о находящейся в ней сервисах;
  • осуществлять балансировку нагрузки (load balancing) между экземплярами одного и того же сервиса или серверами с одинаковыми задачами;
  • обеспечить зашифрованное (HTTPS) соединение между клиентом и любым сервисом, в таком случае SSL сессия создается между клиентом и прокси, а между прокси и сервисом во внутренней сети устанавливается незашифрованное HTTP соединение, если сервис поддерживает HTTPS то можно организовать зашифрованное соединение и во внутренней сети;
  • организовать контроль доступа к сервисам (аутентификацию клиента), а также установить файрвол (брандмауэр).

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


image

Читать дальше →
Total votes 13: ↑12 and ↓1+16
Comments31

Профилирование и трейсинг с perf

Reading time1 min
Views28K
Учимся дебажить с perf — целых 18 страниц про основные подкоманды, фичи и устройство инструмента. Джулия рекомендует; “Я даже использовала его несколько раз для профилирования Ruby программ!”

Уровень сложности — для суперпродвинутого администратора.

Когда нужно отыскать причину сбоя, не имея доступа к исходным кодам. Все логи уже просмотрены, все debug и verbose-ключи включены, а причина проблем так и не обнаружена — используйте perf. Потребуется навык кодинга на языках типа Си.


Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments13

Настройка аутентификации JWT в новом проекте Django

Reading time28 min
Views94K

Данная статья является сборкой-компиляцией нескольких (основано на первой) статей, как результат моих изучений по теме jwt аутентификации в джанге со всем вытекающим. Так и не удалось (по крайней мере в рунете) найти нормальную статью, в которой рассказывается от этапа создания проекта, startproject, прикручивание jwt аутентификации.

Читать далее
Total votes 7: ↑6 and ↓1+10
Comments13

Почему вам лучше не работать проджектом

Level of difficultyEasy
Reading time4 min
Views65K

Часто слышу от людей, которые только хотят войти в IT, что “если ты гуманитарий, а в QA идти не хочется, то есть один путь – в менеджеры проектов”. Им кажется, что рабочий день выглядит так: провел 2-3 встречи, выпил 3 чашки кофе, построил Гант, промотивировал команду и можно идти домой.

Я уже больше 10 лет работаю менеджером проектов и в видел много коллег, которые бросали профессию и уходили заниматься всем чем угодно, только лишь бы потушить вечно горящую задницу. Я утешал рыдающих коллег-проджектов, меня выгоняли охранники из офисного здания заказчика с фонариками, потому что оно закрывалось в 11 вечера, а мне надо было еще работать.

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

Читать далее
Total votes 48: ↑43 and ↓5+45
Comments88

Прочти меня: код, который не выбесит соседа

Reading time10 min
Views28K


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

Я расскажу о подходах, которые мы используем в Яндекс.Такси для написания читаемого кода на C++, Python, JavaScript и других языках.
Читать дальше →
Total votes 51: ↑42 and ↓9+49
Comments75

Как мы трижды меняли формат «Ретро» и какие проблемы хотели решить

Level of difficultyEasy
Reading time7 min
Views3.4K
image

Привет! Я — Таня Афанасьева, менеджер продукта в Selectel. Наш отдел занимается разработкой и поддержанием внешних сетевых сервисов. Команда состоит из десяти человек, среди них — team lead, product-менеджер, UX-специалист, разработчики, DevOps-инженеры и другие. Основной состав сформировался два года назад, когда компания объединила несколько продуктов в один сервис. Большинство приходили из других отделов или компаний, поэтому коллеги изначально не были знакомы друг с другом.

Со временем мы начали сталкиваться с типичными проблемами развития проектов, которые негативно влияли на результаты продукта и общую атмосферу в команде. Коллеги не понимали, какая цель у задачи, почему важно выполнить в определенный срок и зачем синхронизироваться с другими. Чтобы решить эти проблемы, нужно было наладить коммуникацию и отрефлексировать предыдущий опыт. Тогда мы и решили использовать ретроспективу. В тексте расскажем, что у нас получилось.
Читать дальше →
Total votes 37: ↑35 and ↓2+44
Comments1

«Всегда закрывай за собой двери!»: краткое пособие по работе с портами

Reading time9 min
Views28K

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

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

Привет! Меня зовут Иван, я ведущий инженер по информационной безопасности в Selectel. Давно хотели научиться настраивать сетевые интерфейсы? Хорошая новость: мы в Selectel запускаем цикл статей по работе с портами в разрезе ИБ. В этом материале разберем, как с помощью различных межсетевых экранов: локальных, облачных и МСЭ в составе NGFW — обеспечить дополнительную защиту сервисов. Подробности под катом!
Читать дальше →
Total votes 38: ↑37 and ↓1+54
Comments6

Как я делаю 70 млн в год на футболках с принтами и почти без маркетплейсов

Level of difficultyEasy
Reading time16 min
Views69K

На бизнес я отложил 100 000 ₽ и сначала не уходил с работы. Я думал, что сделаю 5 коллекций, но деньги закончились уже на второй. Когда я начал зарабатывать в 2 раза больше, чем на основной работе, я ушел в бизнес, и это было страшно.  

Читать далее
Total votes 82: ↑58 and ↓24+53
Comments106

Как Notion обрабатывает 200 миллиардов объектов данных

Level of difficultyEasy
Reading time3 min
Views7.4K

Переход от PosgreSQL-only решения к собственному DataLake для отделения read нагрузки под нужды аналитики и AI.

Читать далее
Total votes 13: ↑10 and ↓3+12
Comments9

Реймонд Хилл и его блокировщик uBlock Origin

Level of difficultyMedium
Reading time6 min
Views24K


Реймонд Хилл (gorhill) — автор и мейнтейнер оригинального блокировщика рекламы uBlock и нынешнего uBlock Origin. Признанный авторитет в сообществе, каждая его статья или твит имеет большой вес. В последние годы он часто высказывается о лицемерной политике компании Google, которая под видом заботы о пользователях ужесточает требования к расширениям для браузера Chrome, что в первую очередь затрагивает блокировщики рекламы.

К сожалению, в ближайшие месяцы расширение uBlock Origin окончательно перестанет работать в браузере Chrome.

Отдельная головная боль — видеохостинг YouTube, который тоже объявил «священную войну» блокировщикам рекламы, пытается их идентифицировать и помешать работе, придумывая всё новые способы внедрения неудаляемой рекламы.
Читать дальше →
Total votes 106: ↑102 and ↓4+131
Comments69

Сколько получают тестировщики в 2024 году на самом деле

Level of difficultyEasy
Reading time8 min
Views45K

Нет, это не очередной обзор зарплат по вакансиям.

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

Читать далее
Total votes 12: ↑7 and ↓5+5
Comments29

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

Level of difficultyMedium
Reading time8 min
Views105K

Кто ходил на собеседования по устройству на работу, тот знает, спрашивают там всякое и странное. Нередко можно встретить задачу SQL по нахождению сотрудников с максимальной зарплатой в отделе. Причем ваш потенциальный начальник считает, что у этой задачи есть только одно «правильное решение», то, про которое он прочитал в Интернете. Так ли это?

Любопытно...
Total votes 98: ↑87 and ↓11+97
Comments198

REDIS: такой простой и такой сложный

Level of difficultyMedium
Reading time10 min
Views23K

Меня зовут Андрей Комягин, я СТО компании STM Labs. Мы занимаемся разработкой очень больших распределённых высоконагруженных систем для различных отраслей и в своей работе широко используем open-source решения, в том числе СУБД Redis. Недавно я подробно рассказывал об этой системе на конференции Saint HighLoad++, а теперь с удовольствием поделюсь основной информацией с читателями Хабра. Итак, поехали.

Читать далее
Total votes 50: ↑49 and ↓1+60
Comments28
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead
Python
MongoDB
PostgreSQL
Software development
Database design
Designing application architecture