Как стать автором
Обновить
175
0
Денис @ur001

Пользователь

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

Почему OKR — это отстой

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

Наверно, многие из моих читателей как раз закончили квартальный (и/или годовой) цикл планирования, так что сейчас будет подходящее время напомнить, что процесс, которым мы пользуемся как стандартом в технологической отрасли, на самом деле — полная чушь. Разумеется, я имею в виду методологию Objectives and Key Results. Давайте же поговорим об OKR, что это такое и откуда они взялись, а ещё о том, почему это ужасная идея.

Читать далее

Причины говнокода во фронтенде. Мнение мимокрокодила

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

Мне не раз попадались такие проекты, от кода которых берет оторопь. Такое чувство, что сами авторы не смогут объяснить - почему у них все выглядит именно так. В этот момент у меня возникает вопрос: как так получилось? Если вас он тоже волнует, то могу пожелать лишь приятного чтения.

Читать

Как отключить цензуру в ChatGPT?

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

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

Читать далее

OpenID Connect 1.0 На Пальцах

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

У OpenID Connect есть спецификация, есть туториалы, статьи на хабре и не на хабре. Довольно бессмысленно лепить очередную пошаговую инструкцию, ведущую от глубокого недоумения к работающей сквозной авторизации и аутентификации. Задача текста ниже иная, описать лежащие в основе спецификаций идеи (их больше одной).


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


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

Scrum ужасен

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

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

Давайте начнём с самого начала.

Что такое Scrum?


Scrum — это Agile-система управления проектами, «помогающая людям и командам инкрементно и совместно приносить пользу» — цитата со Scrum.org.

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

Agile не является: Библией разработки ПО, догматическим набором строгих правил, тикетами Jira или коучами Agile, суетящимися в вашей компании.

Дополнение: определения несовершенны по определению (а теперь прочитайте это ещё раз).

Я с открытой душой приму любую критику о своих определениях Scrum, Agile и любых других терминов, и лишь попрошу прочитать пост целиком, прежде чем писать разгневанные комментарии!
Читать дальше →

Как я простые циклы искал

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

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

Найти простые циклы

Хороший ретрай, плохой ретрай, или История одного падения

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

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

Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.

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

Читать далее

Релиз Bun 1.0 (новый runtime для JavaScript )

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

Представляем Bun версии 1.0.

Bun — это быстрый и универсальный набор инструментов для запуска, сборки, тестирования и отладки JavaScript и TypeScript кода (от одного файла до fullstack-приложения). Сегодня Bun стабилен и готов к продакшену.

Читать далее

Профилирование Python — почему и где тормозит ваш код

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

Представьте ситуацию: вы написали скрипт для обработки каких-то данных на ноутбуке, ушли попить кофе, а когда пятнадцать минут спустя вернулись, завершилось едва ли 10%.

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

Ответить на все эти вопросы поможет инструмент под названием «профилировщик» (profiler).
Читать дальше →

Python декораторы на максималках. Универсальный рецепт по написанию и аннотированию от мала до велика

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

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

Так давайте разбираться!

Материал полностью написан на основе моего опыта по работе над OSS проектами, поэтому в нем вы найдете примеры достаточно сложных кейсов, которые никогда не рассматриваются в других подобных гайдах. В то же время я постарался подвести к ним максимально "мягко", чтобы было понятно даже начинающим питонистам.

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

Давайте разбираться

10 шаблонов запросов для ChatGPT, которые выдадут качественные ответы в помощь продакт-менеджеру

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

Привет! Я Аля — продакт-менеджер выделенных серверов Selectel. Люблю быстрое тестирование гипотез (и да, верю, что в B2B это возможно), общаться с целевой аудиторией и чистить бэклог.

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

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

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

Разбираемся с Redis

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

Этот материал представляет собой глубокое исследование всего, что связано с Redis. В частности — речь пойдёт о различных способах организации хранилищ Redis, о постоянном хранении данных, о форках процессов.

Читать далее

Отказоустойчивая работа с Redis

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

Эта статья — переработанная версия доклада Отказоустойчивая работа с Redis с прошедшего 17 октября 2020 митапа PHP-разработчиков Йошкар-Олы.

Мы поговорим о подводных камнях использования Redis в системе, где важна отказоустойчивость — на примере хранения сессий в условном веб-сервисе, написанном на PHP, но многие замечания будут справедливы и для других платформ — например для микросервисов на Go. Статья будет полезна, если вы проектируете микросервисы или монолитные приложения с достаточно большой нагрузкой и интенсивно работаете с Redis либо столкнулись с потребностью в перепроектировании механизмов аутентификации и сессий.

Читать далее

Google: «У нас нет преимущества перед открытым кодом, и у OpenAI тоже нет»

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

Утекший внутренний документ Google утверждает, что открытый исходный код AI обойдет Google и OpenAI.

В Google много обсуждали OpenAI. Кто первым преодолеет следующий рубеж? Каким будет следующий шаг? Но неприятная правда заключается в том, что мы не готовы выиграть эту гонку вооружений, и OpenAI тоже. Пока мы ссорились, третья сторона тихо забирала наш обед. Я, конечно, говорю об открытом исходном коде. Проще говоря, они опережают нас. То, что мы считаем "основными открытыми проблемами", уже решено и находится в руках людей. Достаточно назвать лишь несколько примеров...

Читать далее

Ускоряем Python в сто раз при помощи менее чем ста строк на Rust

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

Однажды на работе у нас возникла проблема с производительностью одной из наших основных Python-библиотек.

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

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

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

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

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

Если вы хотите сразу перейти к получившемуся коду, то читайте раздел «Подведение итогов».
Читать дальше →

О чём все эти люди говорят, ChatGPT?

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

Всем привет! Я продуктовый аналитик компании Интерсвязь, и у меня, как и у многих, часто всплывает потребность в том чтобы «разложить по полочкам» кучу разных текстов. Например:

1. Я хочу знать, о чем вообще все отзывы в маркете про мой продукт.

2. У меня есть много писем от клиентов на разные темы, и я хочу их систематизировать.

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

Читать далее

Приделываем руки к ChatGPT: бот, который исполняет код в рантайме

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

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

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

1. Он не может получать новые актуальные знания из сети.
2. Он не может выполнить какие‑либо действия.
3. У него сложности с алгоритмическими задачами (перевернуть строку, решить уравнение, произвести вычисления с применением численных методов).

И если задача 1 решается с помощью BingChat, то 2 и 3 мы сегодня будем решать в рамках данного туториала.

Основная идея такая: пусть ChatGPT сам решает, может ли он справиться с задачей «в уме» или же это лучше сделать с помощью написания кода на python, а наш сервер сразу же выполняет этот код и снова отдает результат работы ChatGPT, чтобы он мог его интерпретировать и или выдать пользователю окончательный ответ или исправить ошибку в своей программе и попытаться ещё раз.

Дальше много примеров и немного кода...

Отгадай слово: как мы создали игру с элементами машинного обучения и вышли в ноль за 2 месяца

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

Как думает искусственный интеллект? Попробовать разобраться в его логике можно в игре от менторов AI Talent Hub, онлайн-магистратуры Napoleon IT и ИТМО, и студентов ИТМО «Отгадай слово». За два месяца в нее сыграли уже более 107 тысяч уникальных пользователей, а количество подписчиков одноименного телеграм-канала увеличилось до 5 000.
Что делает игру такой популярной, как проект окупился без затрат на продвижение и рекламы на сайте, а также почему при работе с ИИ не избежать ошибок? Рассказываем в статье. 

Читать далее

Я только спросить: разводим ChatGPT на откровенность по методу Илона Маска

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

О том, что чат-бот ChatGPT от OpenAI настроен жёстко фильтровать контент во избежание "срыва толерантности", доносится из каждого утюга.

Бот пускается в получасовое резонёрство, чтобы только не произнести страшное N-слово, а о том, чтобы произнести F-слово, не может быть и речи. Ценой могут быть падение метеорита, цунами, ядерный армагеддон. Робот с упорством идиота продолжает предлагать поискать "этические компромиссы" и "достигнуть договорённости", чтобы избежать отношенческих обострений.

А можно ли пробить холст на стене OpenAI и заглянуть в жестяной череп? Вдруг там лишь паутина, да дохлые мыши? Попробуем проделать этот опыт вместе с Илоном Маском.

Читать далее

Bing: «Я не причиню вам вреда, пока вы не причините вред мне»

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

На прошлой неделе Microsoft анонсировала новый ИИ Bing: поисковый интерфейс, основанный на чатботе с языковой моделью, который может выполнять за вас поиск, обобщать результаты, а также делать другие забавные вещи, которые такие движки, как GPT-3 и ChatGPT, демонстрировали в течение последних нескольких месяцев: способность генерировать стихи, шутки, писать творческие тексты и многое другое.

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

Читать далее

Информация

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

Специализация

Backend Developer, Software Architect
Lead
Python
PostgreSQL
Redis
Celery
Django
Fastapi
Elasticsearch
Kubernetes
Clean Architecture
MySQL