Umputun
👤 SpeakerAppearances Over Time
Podcast Appearances
В 2019 году, а потом примерно раз в два года я такой же новый заводил по массовой миграции суперсложного проекта, и я никогда не был способен это закончить. То есть самое большее я частично это делал, потом забивал, годы проходили, я новый такой открывал, заново начинал, потому что ситуация поменялась.
Мне это видится большим, большим, big fucking deal. Другой, но это не так, конечно, не так. Я вам просто пример еще покажу в наш чатик, еще такого, от чего ум за разум заходит. Вот посмотрите, дорогие наши слушатели, например, как используются сессии сейчас.
Я помню, у меня вообще в начале три слова, я боялась сказать слово, я боялась, что обо мне подумают. А потом, когда уже просидела тут долго, думаю, что мне терять? Либо разговаривать, либо нет. Правильно, Грей, да кто он такой вообще? Правильно, правильно, так его, так его. А я скажу тебе, Бобу, кто такой Грей, потому что в четвертой части участия вот это меня удивило. Я никогда бы не предположил, что Грей тебя сделал как тебя, Бобу, как Грей сделал как стоячего. По количеству непрерывных выпусков в максимуме сколько был Грей.
А тут час планирования и два часа поездки. Он во время моей поездки все это молотил. И потом еще полчаса наблюдения, как он с кодексом спорит. Я когда вернулся, они через два часа все еще спорили. Результат удивительный. То, что эта балайка смогла такой неочевидный и такой сложный, и такой много зависящий от всего рефакторинг сделать, там 70 файлов.
И скажите мне, если вы не бухие, вспомните, видели ли вы хоть какой-то другой драйвер, который делает нечто подобное? Здесь происходит коллбек, который внутри сессии. То есть это совершенно нормальное дело. Так, по-моему, в SQLite можно делать. Я не помню, в самом ли SQLite драйвере или какой-то вокруг него. Но поглядите, Леха, особенно тебе, погляди, как берется сессия потом из этого коллбека.
Ну, слушай, я как бы довольно часто пропускаю, что тут поделать. Ну, кривулька твоя вот эта разноцветненькая, красненькая, она такая завидная. Прямо хорошо. Плотно сидишь. Но, видишь, позволял себе черненький момент. Позволил? Конечно, конечно. Боба, ты видел, что у нас одинаковое количество выпусков? Мы с тобой такие прогульщики с опытом и со стажем. Я вообще ничего в этом плохого не вижу. Я считаю, что нас тут для того и много, чтобы мы могли пропустить...
Ты делаешь Mongo session from context, передавая ей контекст, который ей передали здесь. У тебя в этом вызове, по сути, три контекста используются. То есть есть контекст, который они зачем-то в виде to-do сделали, который они сами пробрасывают вот в эту функцию контекст, а потом внутри функции из этого контекста опять разворачивают.
пришлось менять разные степени хитрости. И это не технические рефакты. Не то, что что-то на что-то поменять. Там прямо концептуально все другое.
Он сделал на это дело одну ошибку удивительную. То есть ошибка очень человеческая. Я бы точно такую же сделал, потому что я не помнил, как это все там прописывается в другие места. Я бы больше ошибок сделал руками, совершенно точно. И у меня бы это совершенно точно заняло бы недели. Так что это прямо вау. Я впечатлен. Сильно впечатлен.
Конечно. Знаешь, сервер на то сервер, чтобы падать. Женя на то и Женя, чтобы приходить. А все остальные, ну, как могут. Да. Не всегда, кстати говоря. Вы помните, Женя приходил? Ну, у меня 180 дней. Помним, да? Хорошие были выпуски. 180 выпусков максимум по последовательности. Так что есть куда расти. Леха, из этого графика следует, что ты можешь этих Гролопанов, Бобука и Ксюшу догнать. Догнать и перегнать. Если ты 6 выпусков подряд еще придешь,
Вот такие у меня новинки за прошедший сезон. Настолько впечатлило, что даже целую статью написал у себя на бложике. Что, мол, ух, как ваша агентская, ух, агентская, ух. Правда, в контексте опенсорса написал, что ух.
И даже предлагают как это сделать. Это, Грей, я тебе скажу. У меня тоже есть такое. Когда вечером уже сидишь и думаешь, что бы мне такого еще написать. Что бы тут еще подкрутить. Надо бороться с собой. И ждать, пока он вытанцуется у тебя в голове, что он действительно надо.
Слушай, ну и у Ксюши и у Бубука пока что два или три выпуска подают после свежей стейки. Так что... Есть надежда, да, у меня еще. Есть надежда, что ты еще спасешься, да. То, что длительность наших разговоров выросла от получаса до трех с половиной часов в пике, ну, никого это не удивляет, кто этот подкаст слушает. Наверное, удивит те, кто вначале не был. У нас реально были короткие подкасты.
Нет, так он же кандидатов предлагает. Вчера у меня вытанцевался скилл для того, чтобы бранчи чистить, которые обычно засоряются. Где-то там забыл удалить, где-то запушил, замерджил сквашем, а он не понимает, что ты был замердженный, а на самом деле он замердженный. Ну и вот это все. Короче, накапливается всякое говнище.
То есть они рассказывают, как нам сделать это в том виде, в котором в готусовке считается лучше не делать. Но они помогают нам сделать вот таким вот образом. Передавая сложные структуры через контекст. И вот так мы прорабатываем. Ты знаешь, как я люблю ГОИ, всегда его защищаю. Но конкретно здесь я не буду ГОИ защищать. Они передавают транзакции, сессии. Типа так не делать. Но они при этом нам не говорят, как делать.
Ну, единственное, что, конечно, вот это вот состояние разрыва коммуникации, когда он все сделал, не работает. И ты понимаешь, идешь, запускаешь клоун и говоришь так, сначала разберись, а потом теперь давай объясняй. И у него что, конечно, плохо, если он делает в существующем проекте, вот я ему там дал, сделай, переделай флоу, например.
И специальный скилл, чтобы чистить эти авки в конюшне. Вот вчера вечером это был мой последний. Но от нужды. Я случайно глянул, что у меня творится в проекте. Там какие-то десятки этих бранчей, про которые я не помню. Причем все они там. Семь лет назад бранч был сделан. То ли он слит был, то ли не слит. Никто не помнит. Кому это уже помнит? Ну да.
Вот он это все сделал. И меня пока поддаетел. Ай-яй-яй. Надо было это отдельной таской делать. У меня есть документация. А разве у меня нет документационного агента? Я не приложил один из пяти. По-моему, один был про документацию.
То есть других вариантов они не говорят. Ну, типа, давайте аргументом везде передавайте. Ну, конечно, сейчас я размажу вашу транзакцию по всему своему бизнес-коду. Сейчас делать мне больше нечего. Если бы мне надо было передавать контекст вот в таком виде, как здесь передается, ну, в каком это случае? Например, между разными хендлерами и middleware. Где-то надо создал его, потом передал, чтобы он был везде. Для этого есть более традиционные способы. У нас же есть структура, которая оборачивает наш веб-сервер.
Давайте пойдем на тему. Видение у нас затянулось несколько. Затянулось. Почему затянулось? Нормально, 20 минут где-то. На троих. Обычно у нас 15 на пятерых, а тут вот на тебе. Ну, вообще бывает и больше, ну ладно. Ну, давай, пошли на тему. С чего бы начать такого? Да с чего угодно. Я тут накидал какое-то количество, чтобы ты... Ну, давай.