asisakov
Открыть в Telegram
Канал про Python, Data Science, SQL, AI, vibecoding, промпты, карьеру, собеседования и немного про жизнь в IT По вопросам сотрудничества: @asisakov Чат: https://t.me/asisakov_chat
Больше3 596
Подписчики
+8324 часа
+757 дней
+5330 день
Архив постов
3 599
Про тестовое окружение
Можно, а зачем?
Вроде собираешь модельку в ноутбуке, все работает отлично, метрики просто офигеннейшие. Сидишь смотришь в окошко на проезжающую Ламборгини и думаешь, на что потратить премию за эту разработку. Запустились в проде - и за день все сломалося. Моделька вроде ок, окружение тоже вроде нужное поставили, версии либ не менялись, переменные окружения ок, но что-то не робит. А окружение действительно идентично?
Что могло быть по-другому, если бы мы сначала катнулись на тестинг? Мы могли бы отловить несколько типов проблем, которые в локальных тестах обычно не встретишь:
1️⃣Инфра
Версии зависимостей, переменные окружения, доступы к базам, сертификаты. На локалке мы работаем с давно преднастроенным окружением и все срабатывает чисто, но в продовой поде может лежать старая версия сервиса и следовательно питончика. Соттветственно, модель не грузится. Допустим, у нас работает скрапер Дерибита, и нужно убедиться, что это работает быстро. На ноутбуке то оно быстро. Но на машинке в облаке может быть буквально другая история. Сетевые задержки, I/O, ну и ограничения на RPS
2️⃣Данные в реальном времени
В Юпитере вы работаете с историческими данными, которые вы уже знаете, и которые возможно уже предварительно обработаны. В проде приходят новые данные, может случиться неожиданный пропуск, может быть лютый выброс, может случиться дата дрифт (про PSI в курсе?). Когда мы работаем над постановкой задачи: пусть это будет прогнозирование заказов в Лавке - желательно все же учесть все вероятные сценарии. В тестовом окружении мы все это можем проверить в реальных условиях на реальных данных. Допустим, мы забыли про VIF, при этом наши метрики не разлетелись на валидации, и при переобучении модельки в проде у нас внезапно просочилась мультиколлинеарность. И это можно будет отследить на разлетевшихся весах. В проде ведь признаки могут быть коррелированы совсем по-другому.
3️⃣Интеграция
Наша модель работает. Но для полноценной работы возможны походы в соседние сервисы. Допустим там с CRM, с DWH, с биллингом. В тестовом окружении легко отследить, что в одном месте таймаутит, в другом упираемся в rate limit, а где-то просто тупо отвалился API.
Пока не проживешь на своем опыте эти вещи, звучит не особо страшно
Реальный процесс необязательно выглядит имнно так. Если вы запустите код прямо на проде без теста, не будет гарантированного попадания в один из трех сценариев, случиться может полный рандом. И именнно поэтому мы сначала выкатываемся на тестинг и живем некоторое время там.
▫️Вдруг код упадёт за 10 минут, и мы теряем время на откат и срочный фикс
▫️Или код будет работать верно, но медленно (повезет, если мы это заметим не через неделю)
▫️А может моделька будет работать, но будет дата-лик
▫️Хуже всего, если это одновременно нарушит работу соседнего сервиса
Про дроп базы уже пошутили?
Можно сказать, что тестовое окружение это одновременно и копия прода, и одновременно не его копия. Это скорее контролируемое пространство, где можно отработать разные режимы, сценарии, реальные данные, реальные объёмы, реальные интеграции и ломать все в спокойствии.
Хотя конечно хотелось бы в 3 часа ночи в пятницу! Как же круто сразу посмотреть, как соделька ведет себя под нагрузкой на проде!
А дальше что? А дальше просто смотрим, как код падает на базовом конфиге. Видим, что запрос к БД выполняется в 100 раз медленнее, чем локально. Видим, что логи должны были уезжать в S3, но конфиг не подхватился, и они за час забили локальный диск. Ну или видим, что нам не хватает прав на чтение файла.
Главное, что этого не увидят наши пользователи
Кидайте в комментарии: как вы обычно организуете тестовые окружения? Используете контейнеры, или поднимаете отдельные сервачки? И самое главное, какие проблемы успели поймать на тесте до прода?
#development #python
3 599
+1
Жил сегодня настоящим и побывал в аквагримошной - там мне сделали смываемую татуировку
Кстати, рядом с большим пальцем можно увидеть ровера
#life
3 599
Пытаться в будущее в настоящем
Я вообще довольно долго жил в режиме будущего. Это такое состояние, когда ты вроде бы находишься в моменте и проживаешь свою жизнь, но на самом деле тебя здесь нет. Ты сидишь за столом, разговариваешь с близкими, но параллельно в голове у тебя обрабатывается несколько потоков в ядрах твоего мозга, вообще не связанных с разговором. Похоже на просчет ходов в шахматах:
❓Что будет в одном сценарии развития (взять фигуру пешкой)
❓Что будет в другом сценарии (побить слоном)
❓А как это повлияет на деньги?
❓А как это повлияет на личный бренд?
❓Как это скажется на отношениях?
Блин, а если через полгода все сильно перевернется с ног на голову?
Всегда ли это плохо? Да нет. Более того, часто именно это и помогает рефлексировать, расти, строить карьеру, зарабатывать, избегать глупых рисков. Очевидно, что прокручивать эти сценарии, пока проводишь время с близкими, не самое удачное решение, но почему бы не потратить немного энергии на это потом?
Ведь этом состоянии есть энергия! Там много дофамина - и не в смысле радости, как принято говорить, а в смысле ожидания, предвкушения, движения к чему-то. Ты как будто постоянно тянешься рукой в будущее и пытаешься нащупать там окно в Европу. Классно же понять заранее, где находится это будущее?
А какая это энергия?
Рядом с пряником в виде дофамина может быть и кнут в виде кортизола. Если что, тут я слегка упростил суть этих гормонов, потому что там в разы сложнее. Наш мозг может воспринимать будущее и через риски - все может получиться, но все может и сломаться. И если слишком долго жить только в будущем, то в какой-то момент планирование становится способом тревожиться более интеллектуально. Рационально мы видим это как оценку сценариев. Успокаиваем себя даже тем, что не тревожимся в лишний раз, и просто прикидываем вероятности.
А телу без разницы, как это называет мозг - оно пропускает через себя это напряжение
Вынырнув из будущего, я обнаружил, что настоящее оказалось вообще другим миром. Типа настолько преисполнился, что внезапно стал просветленным человеком, который просчитал столько сценариев, что забил и стал принимать все события безоценочно.
❗️Появился маленький человек, рядом с которым невозможно все время быть стратегом
Когда держишь ребенка на руках, в какой-то момент становится безразлично на все эти ходы конями и пешками. С другой стороны, особо тревожные могут кстати эти размышления переложить на детей.
❓А какой смысл этой песенки?
❓А как это повлияет на развитие?
❓А если я сейчас неправильно поиграю, что будет через десять лет?
Конечно, такие мысли тоже могут появляться. Особенно если очень захотеть превратить родительство в инвестицию.
Я заметил, что в живом контакте есть что-то, что ломает это
Ты просто поешь. Не всегда идеально и иногда возможно даже плохо. Не помнишь слова и придумываешь их на ходу. Иногда играешь не в развивающую игру, а просто в какую-то ерунду. И эта ерунда внезапно оказывается не ерундой, потому что в ней есть контакт. Есть смех. Есть глубокий взгляд. Есть чувство, что кажется прямо сейчас ничего не надо улучшать.
И мне кажется, что это состояние связано уже не столько с дофамином, сколько с окситоцином, серотонином, эндорфинами - с биохимией привязанности между людьми, и ощущениями спокойствия и безопасности. В крупицы тех моментов, когда ты не бежишь к результату, а находишься в отношениях. Не обязательно с ребенком, можно и с собой. Любой разговор с близким человеком, прогулка, еда, обнимашки, баня, спорт, музыка, сон.
И не поверите - обычный день без попытки загрузить мозг
❓Что если будущее дает нам точку на карте, а настоящее возвращает нам тело?
Сегодня в завтрашний день мы часто смотрим своей рациональностью и рассуждаем буквально головой. Голова думает, голова считает, голова прогнозирует, голова сомневается, голова защищается. Настоящее же возвращает нам руки, ноги, туловище, голос, дыхание, усталость, удовольствие, запахи, эмоции. И смешные моменты, которые невозможно объяснить с точки зрения пользы
👍 Лайки за будущее
❤️ Сердечки за настоящее
#softskills
3 599
Очень долго пытался
Я вообще довольно долго жил в режиме будущего. Это такое состояние, когда ты вроде бы находишься в моменте и проживаешь свою жизнь, но на самом деле тебя здесь нет. Ты сидишь за столом, разговариваешь с женой, пьешь кофе, но параллельно в голове у тебя обрабатывается несколько вкладок, вообще не связанных с разговором. Похоже даже на просчет ходов в шахматах:
▫️Что будет в одном сценарии развития (взять фигуру пешкой)
▫️Что будет в другом сценарии (побить слоном)
А как это повлияет на деньги? А как это повлияет на личный бренд? Как это скажется на отношениях?
Блин, а если через полгода все сильно перевернется с ног на голову?
Всегда ли это плохо? Да нет. Более того, часто именно это и помогает рефлексировать, расти, строить карьеру, зарабатывать, избегать глупых рисков. Очевидно, что прокручивать эти сценарии, пока проводишь время с близкими, не самое удоачное решение, но почему бы не потратить немного энергии на это потом?
Ведь этом состоянии есть энергия! Там много дофамина - и не в смысле радости, как принято говорить, а в смысле ожидания, предвкушения, движения к чему-то. Ты как будто постоянно тянешься рукой в будущее и пытаешься нащупать там окно в Европу. Классно же понять заранее, где находится это будущее? А после вернуться из воображаемого обратно в реальный мир и дать себе понять - туда точно стоит идти.
А какая
Но рядом с дофамином часто стоит кортизол. Потому что будущее — это не только возможность, но и угроза. Это пространство, где всё может получиться, но всё может и сломаться. И если слишком долго жить только в будущем, то в какой-то момент планирование превращается не в инструмент, а в способ тревожиться более интеллектуально. Ты вроде бы не переживаешь, ты «считаешь сценарии». Ты не боишься, ты «оцениваешь риски». Ты не прокручиваешь тревогу, ты «моделируешь вероятности». Но телу, если честно, всё равно, как ты это назвал. Оно всё равно сидит в напряжении.
Есть второй способ проживания — настоящее. И он для меня оказался вообще другим миром. Не потому, что я внезапно стал просветленным человеком, который умеет медитировать на дыхание и принимать все события безоценочно. Нет. Просто появился маленький человек, рядом с которым невозможно всё время быть стратегом.
Когда ты держишь ребёнка на руках, в какой-то момент становится бессмысленно думать: а какой ROI у этой песенки? А как это повлияет на её развитие? А если я сейчас неправильно с ней поиграю, что будет через десять лет? Конечно, такие мысли тоже могут появляться. Особенно если очень захотеть превратить родительство в проект. Но в живом контакте есть что-то, что ломает эту рамку.
Ты просто поёшь. Причём иногда плохо. Иногда не помнишь слова и придумываешь их на ходу. Иногда играешь не в развивающую игру, а просто в какую-то ерунду. И эта ерунда внезапно оказывается не ерундой, потому что в ней есть контакт. Есть смех. Есть взгляд. Есть тёплое чувство, что прямо сейчас ничего не надо улучшать.
И мне кажется, что это состояние связано уже не столько с дофамином, сколько с окситоцином, серотонином, эндорфинами — с гормональной и нервной химией привязанности, спокойствия, телесности, безопасности. Когда ты не бежишь к результату, а находишься в отношениях. Не обязательно с ребёнком. Это может быть разговор с близким человеком, прогулка, еда, объятие, баня, спорт, музыка, сон, обычный день без попытки его монетизировать.
И вот здесь появляется интересная мысль: возможно, будущее даёт нам направление, а настоящее возвращает нам тело.
Потому что в будущем очень легко стать головой. Сплошной головой. Голова думает, считает, прогнозирует, сомневается, защищается. А настоящее возвращает обратно руки, голос, дыхание, усталость, удовольствие, запахи, смешные моменты, которые невозможно объяснить с точки зрения пользы.
3 599
Уже как-то рассказывал про «Поступашки» — тогда делился их роадмапом по аналитике.
Продолжаю следить за каналом, и ребята регулярно выкладывают новые материалы по ML и Data Science.
Они решают задачи с реальных собеседований, контесты, вопросы интервьюеров и подборки задач.
Из полезного, что можно сразу сохранить:
— roadmap по Data Science и roadmap по ML
— Разбор собеседования на DS в Яндекс, DS в Авито, DS в МТС
— большая подборка задач прошлых лет из ШАД и Академии Авито
Если интересны не только теория, но и реальные требования рынка — рекомендую подписаться Поступашки
3 599
Repost from MILANRODD👨🏾💻
Был крутой стрим где мы в браузере делали нейронку распознающую цифру и ее можно было обучать всем желающим. Но не вся выборка была релевантно, зато милой :)
3 599
Repost from БАЗА Яндекса
ВАЙБКОДИМ И ВАЙБКРАФТИМ ИГРУ ВМЕСТЕ С @milanrodd и @asisakov
ни один фрукт не пострадает!
twitch.tv/yandex
twitch.tv/yandex
twitch.tv/yandex
Подписывайся 👉 @streambyyandex
3 599
Repost from Young&&Yandex
Катя, спускайся! Мы привезли твою машину 🚗
На Young Con разыграли электромобиль UMO 5 среди 10 тысяч участников, а теперь доставили его Кате прямо к дому.
Узнали, как всё было на фесте, поболтали и немножко покатались 🦖
Поздравляем! Верьте в себя
3 599
Тут на ЯнгКоне был розыгрыш новой машины от Яндекса - UMO 5.
Кстати, я мб когда-нибудь придет время и я сниму для вас обзор машины, а пока про это можно почитать например тут
Ну и кому интересно, есть еще доклад (3:41:52) от Тембота Керефова на самом ЯнгКоне
Короче, там участники проходили оффлайн и отвечали на вопросы по мотивам докладов - девушка-победительница Катя смогла затащить лучше всех и ей реально пригнали автомобиль!
Чем не мотивация ходить на конференции и внимательно слушать доклады?
3 599
Фантазер
Я за собой замечаю то, что я люблю прокручивать кучу сценариев у себя в голове и пытаться из них сделать какие-то выводы.
Допустим, как могла бы ситуация пойти по-другому, какой бы я мог получить новый опыт и как вообще коллективно мы могли бы перепрожить это событие. Можно даже дойти до коллективного развития событий в целом. Типа сидишь и пишешь книжку в вымышленной Вселенной, которая полностью повторяет нашу.
Что вымышлено - то не реально
На это довольно сильно сказывается бэкграунд, в котором я занимался прогнозами и рисками. Когда ты постоянно считаешь различные сценарии отклонения, думаешь о том, а как же все-таки мы можем промоделировать будущее так, чтобы в него попасть. Что-то оценить, что-то взвесить, пересмотреть вероятности, или принять некоторые допущения.
В будущем мы уже будем пытаться убедиться в том, что все-таки мы сделали точный прогноз. Потом внезапно поймем, что все-таки не докрутили какой-то неочевидный параметр, либо не узнали вовремя о чем-то важном. И с опытом приходит понимание, что это будущее, и кажется оно управляемо. Не оно управляет, это мы управляем и видим последствия наших решений. Буквально пытаемся провести нить через точнайшее иголочное ушко (как в Гарри Поттере и методах рационального мышления от Элиезера Юдковского, кстати, щелкните пальцами по огонечку, если читали).
Превращаем вымысел в реальность
Невозможно управлять тем, что уже прошло, но можно управлять будущим:
▫️Допустим, у нас есть немного денег. Мы можем их сразу потратить на что-то приятное: сходить в ресторан, купить новые кроссовки, и получить кайф прямо сейчас. А можно отложить и купить курсы или абонемент в спортзал на год вперёд, не получив никакого удовольствия сегодня. Зато через полгодааааа... новый скилл или бицуха побольше
▫️Можно резко сесть на жёсткую диету, скинуть вес быстро, но потом потолстеть обратно, потому что организм такое не выдерживает. А можно наоборот, не худеть быстро, а перестроить привычки: меньше сахара, больше движения. И к сожалению, не увидеть результата ни через неделю, ни через месяц. Зато через полгода получить устойчивый вес, который не вернется назад после капельки колы. Это тоже типа планирование - краткосрочное и долгосрочное
▫️Или такой трейдофф: за ночь перед экзаменом все зазубрить, сдать, получить оценку и забыть. Ну или весь семестр потихоньку разбираться, не получая никакого результата в виде сданного экзамена сразу, но зато можно увидеть результат в понимании - ведб знания останутся с нами надолго
И вот смысл в том, что мы каждый день так же выбираем, где работать, с кем работать, зачем вообще туда ходить. Возможно, ради зарплаты или ради опыта, ради атмосферы или ради тех же сырков по средам.
Проблема же еще в том, что у нас никогда нет полной картины - мы не знаем все заранее: вырастет ли доллар в 2014 или обвалится ли биткоин в 2018. Но при этом я верю в одно: в момент нашего выбора, мы выбираем максимально лучшее из того, что видим или можем представить.
Но возможно мы мало фантазируем
И не даем этим вымыслам воплотиться в реальность.
Го в комментарии с вашими историями, как внезапно ваши вымыслы стали реальными⬇️
#softskills
3 599
Как аналитику выжить в неопределенности
Вы выходите на новую работу, предвкушаете крутые задачи, а по факту выясняется, что ключевой кусок бизнес-логики работает как черный ящик. Данных нет, пайплайнов нет, гипотезы проверять не на чем, а бизнес при этом очевидно требует выполнить задачу. Тут уже не напишешь обычный SELECT по чужому ТЗ, тут буквально может не быть нужных инструментов.
Даже если запас мотивации бьет ключом, он не бесконечен. Да, можно идти долго и упорно, но нужных данных нет, а продакты могут бесконечно заваливать адхоками - можно очень быстро потерять все силы и выгореть.
Ребята из karpovꓸcourses, которые известны своим качеством и подходом к практике, уже не первый год обучают работе с данными, и в этот раз они предлагают разобраться на вебинаре, как не утонуть в такой неопределенности и начать приносить реальную пользу.
В четверг, 23 июля, они проводят открытый эфир с Ильей Шведовым (Senior-аналитиком Авиасейлс). И там будет реальный жесткий кейс: Илья разберет технологию комбинирования билетов, где ключевая метрика отставала от OKR на 10%. А где терялся каждый процент - никто не понимал. Как вы поняли, ни данных, ни пайплайнов не было.
Что вы узнаете на вебинаре:
▫️Как заходить в незнакомый технический домен и быстро понимать устройство системы
▫️Как декомпозировать сложную метрику на управляемые компоненты
▫️Как выстроить инструменты, которые навсегда освобождают от потока адхоков
▫️Как превращать сырые данные в бизнес-инсайты
▫️Как связать свою аналитическую работу с реальным бизнес-результатом и OKR
Советую не тратить кучу времени и сил на то, чтобы самому набивать шишки и собирать информацию по крупицам. Давайте впитывать большой опыт знаний от человека, который этот путь уже прошел. Залетайте на вебинар и сами все увидите.
👉 Ссылка на регистрацию тут: https://clc.to/erid_2W5zFJ96HJ1
Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFJ96HJ1
3 599
Терминал
Помните фильм Терминал? Там чел прилетает в Нью-Йорк, но пока он был в полете, на его родине Кракожии происходит переворот. Его страны юридически больше не существует. И самый прикол в том, что он не может ни войти в США, ни вернуться домой. И он застревает в терминале аэропорта.
В пространстве между отправлением и прибытием, или инпутом или аутпутом
Я решил провести аналогию вместе с Клод Код агентом, который буквально живёт в терминале командной строки - и оказалось, что параллелей тут больше, чем кажется.
1️⃣Жизнь в замкнутом пространстве
▫️Виктор не может выйти за пределы терминала. Весь его мир состоит из зала ожидания, магазинов, неудобных сидений. Он может пользоваться только теми инструментами, что есть внутри
▫️Вселенная агента Claude Code - это shell, открытые каталоги файловой системы, доступные команды для выполнения. Он может выйти наружу только с дозволения юзера. А куда нельзя, просто не попадет. Также и работает он с тем, что доступно в его окружении: либо читает файлы, либо запускает команды, либо редактирует код в разрешенных репозиториях
2️⃣Языковой барьер и входные данные
▫️В начале фильма Виктор почти не говорит по-английски. Он получает обрывочные входные данные: жесты, обрывки фраз, картинки по телевизору. Ему приходится собирать смысл по крупицам, восстанавливать общую картину из фрагментов.
▫️Так и агент в терминале получает вводные: команду пользователя (иногда чёткую, иногда - "брат, почини"), вывод программ в виде аутпута или логов, ну и содержимое файлов
3️⃣Вечный недостаток контекста
Вообще касается всех нас - даже в наших жизнях не всегда доступен полный контекст
▫️Виктор не знает всей картины. Он не понимает, почему его не пускают, что творится на Родине, кому можно верить. Начальник терминала буквально манипулирует им, потому что у Виктора нет полного контекста происходящего.
▫️Агент СС сталкивается с тем же. Видит только то, что успел прочитать (не доходит например до EOF). Не помнит вчерашний разговор. Ну и очевидно контекстное окно ограничено, как в принципе кратковременная память человека, застрявшего в одном терминале аэропорта
И кстати нам есть чему у них поучиться: при недостатке контекста нужно исследовать, а не выдумывать. Виктор не сидит на месте, он изучает терминал, знакомится с людьми, собирает информацию. Хороший агент делает то же: перед тем как что-то менять, он читает файлы, пишет тесты, собирает полную картину. Ну иногда может конечно немного обмануть
4️⃣Изобретательность в ограничениях
▫️Виктор находит способ зарабатывать (тележки за монетки), обустраивает себе спальное место, даже участвует в ремонте. Он постоянно борется с ограничениями и превращает их в возможности.
▫️Агент в терминале также вынужден импровизировать. Нет нужного инструмента? Напишет скрипт. Не хватает информации? Соберёт её командами и запросами доступов. Ограничения среды не парализуют его, а заставляют находить обходные пути.
5️⃣Цель важнее всего
Виктор всё это время шёл к одной маленькой цели - получить тот самый автограф джазового музыканта для отца. И это, пожалуй, главная параллель. В чем смысл жить в терминале? Точно не ради самого терминала, ведь это тоже инструмент, временное пространство между постановкой задачи и её решением. Суть в цели, которую нужно довести до конца, несмотря на неполные данные, недостаток контекста и кучу ограничений.
Чему мы можем научиться? Если мы в терминале между нашими желаниями и целью, то может стоит терпеливо собирая контекст, изобретательно используя доступное и не теряя из виду конечную цель, уже в конце концов идти к ней?
Иногда лучшее, что можно сделать при недостатке информации - это перестать гадать и пойти восполнить контекст, а потом просто взять и сделать.
#softskills
