tgindex

Road to senior fullstack dev.

описание

пишу про фулстак, основной канал: @unsleeping706

281
подписчиков
Охват к подписчикам
125,3%
ERR
Реакции к просмотрам
0,51%
36 на 19 постов
Пересылки к просмотрам
0,55%
39
Постов в день
0,0
всего 20

Где отзываются чаще

доля реакций к просмотрам
  • 25 июн.без подписи1,98%
  • 17 мар.спустя ровно месяц работы над проектом наша распределенная система (monolith backend + hybrid worker in EKS + agent-gateway in EKS + agent on premise) поехала в прод сегодня колоссальный опыт был получен мной, это такой первый мой бекенд проект (серьезный бекенд проект), получил лестные комментарии от лида и верхушки - приятно! сейчас опубликую последние апдейты1,93%
  • 16 июн.Промо в начале мая получил промо, шел я к этому не сказать что долго, но целился. Собирал историю хороших задач, в них входила таблица, писал про нее много постов тут, линедж (собрали движок с коллегой, я руководил всем фронтом, а потом еще сделал систему откатов ходов и сохранении сессии с чем выступил недавно (ссылка)). Затем произшeл Hybrid Deployment, на котором я очень отличился, получал хорошие комментарии что это первый в истории деплоя здесь распределенный сервис где все прошло гладко, и в целом его на меня сгрузили и я справился самостоятельно (ЛЛМ творит чудеса) с достаточно объемным и сложным сервисом, и вот надо было как-то выравниваться с рыночной зп, возвращать себе сеньора, а то взяли меня на обычную позицию так как я был сеньором фронта (теперь придется закрывать целых два канала, путь же окончен). в общем решил я не ждать чуда и намекнуть самостоятельно на 1:1 встрече с CEO что скоро как бы и год близко и проекты у меня серьезные тут. CEO конечно же расстроился, сказал что он сам любит приходить с такими известиями, а тут я с такими запросами (расчет был на приходящую годовщину + пока все еще помнили успешный успех и надо было фиксировать момент пока послевкусие еще не ушло). Цель была выровнять вилку на рыночную ЗП (брал чуть меньше, чтобы выделиться между кандидатами, так как первая не РФ работа была, другой менталитет, + это нормальная тема здесь), и попробовать вернуть тайтл сеньора. Удовлетворили оба требования, обрадовался и ждал около месяца публичного анонса. Самое смешное что в день анонса я был настолько забит задачами что забыл про встречу (а я живу без нотификаций), сижу, никого не трогаю и тут летят десятки сообщений congrats... Сначала не понял что происходит, а потом даже засмущался. В общем запись запросил и посмотрел после самой встречи, но конфуз вышел веселым1,45%
  • 17 июн.ну, погнали что ли0,97%
  • 27 мар.из последних апдейтов что хотел занести по Hybrid Deployment мы впервые занесли атомик транзакции в MongoDB, странно что их никто до этого не юзал, но мы занесли. посеем зерно, посмотрим как прорастет. пришлось убить стандалон инстанс монги локально и поднять…0,77%
  • 28 июн.pognali x20,72%
  • 19 апр.небольшой приятный апдейт после закрытия большого проекта (который состоял на 99% из бекенда), заметил что прошел некоторый экспериментальный чек. видимо ребята ощутили, что можно давать мне и бекендовые задачи, поэтому начали раздавать задачи из бекенда, в которые раньше особо не пускали (ну или пускали но там чисто простейший патч/расширение функционала). Теперь дают лидить сложные вещи с полным ощущением доверия со стороны и это не может не радовать. (хотя все еще чувствую себя не там из-за отсутствия необходимой экспертизы, благо щупать это теперь куда проще и быстрее, так что перекат считаю удачным0,70%
  • 12 мар.спонтанно сегодня позвал тимлид настроить инфру под наш проект который делаем до этого локально все протестировали и все работало в рамках монолита, пошли деплоить на тестовый стенд и настраивать распределенное окружение тимлид написал хочу ли я присоединиться посмотреть (было уже после рабочего времени). ну мне палец в рот не клади, лишь покажи чего-нибудь интересного на чем можно харды прокачать посидели два часа с ним вместе, показал, рассказал, поэтому делюсь сегодняшним бинго. не то чтобы я стал больше понимать после этой встречи, но теперь хотя бы есть верхнеуровневое понимание (зачатки) alb - application load balancer ec2 ECR EKS route 53 secret manager target group helm chart Cloudfront ArgoCD0,58%
  • 16 июн.если вы тоже близки к промо или собираетесь его обсуждать рекомендую к прочтению этот лист: https://t.me/unsleeping706/1304 https://t.me/unsleeping706/12690,58%
  • 17 мар.я очень много думал о том, как мы можем предупредить ошибки перед релизом, я старался построить хорошие цепочки прокидывания ошибок на границы внутри каждой системы с одним централизованным обработчиков (чтобы не было лишних логов, лишних оберток из try/catch), следил чтобы не везде из catch блока мы перекидывали (rethrow) ошибку дальше так как это могло положить agent-gateway при неудачном коннекте и закрыть его для других подключений, минимизируя случаи unhandled rejections/exceptions мы чуть улучшили секьюрность коммуникаций, у нас есть https/wss (TLS) + encryption/decryption. агент при подключении генерирует пару ключей in-memory, которые нужны для кодирования на стороне agent-gateway с помощью публичного ключа и декодирования приходящих сообщений на стороне агента с помощью приватного чтобы избежать man-in-the-middle перехватов. до этого у нас секреты поставлялись от бекенда в докер/воркер через argv процесса, можно было проинспектить контейнер и найти там все ключи. и когда это живет на твоей инфре и в одном месте это не так страшно. сейчас же у нас распределенная система и мы сделали OTT (one time token) генерацию временных токенов, по которым агент получая сообщения с бекенда после декодирования приватным ключом генерирует под эту полезную нагрузку некоторый временный одноразовый токен, по которому воркер запрашивает данные уже внутри процесса, тем самым мы убираем просвет лишних секретов через docker inspect и все живет in-memory в процессе получил много опыта с winston логером, с ротацией файлов, лимитами, поигрался с разными DI в NestJS, посмотрел на transient/scope, когда внедряемые сущности получают знание о том, в какой класс они встраиваются (в логах это критично, так как мы хотим понимать из какого компонента системы нам пришел лог). логи пишутся в файл с ротацией, по запросу мы их сможем запросить от клиента для дебага. критичные логи с агента у нас идут в облако чтобы мы видели и мониторили ситуацию без зависимости от предоставления логов. так же пришлось попотеть чтобы решить циклическую зависимость нормально, так как сам логер "умный" и помимо записи логов он умеет коммуницировать через вебсокет с agent-gateway (в самом вебсокете тоже есть сущность этого логера)0,54%
  • 24 июл.Ха, подкаст тот это gift that keeps on giving. Слушаю дальше, они там: > Айдентити, логины, текущее состояние это стыд-позор, количество времени, которые даже образованые, технические подкованные люди тратят каждый день на то, чтобы куда-то залогиниться, это какой-то кошмар, это ненормально. Я такой — ну да. А они дальше: > Но это сложная проблема, над ней работают умные люди, она не решена, потому что сложная, к ней так просто не подойти, многие пробовали, ни у кого не получилось. НА ВСЕ ЕСТЬ ПРИЧИНА. И тут я опять закатил глаза так далеко, что они провернулись на 360 градусов. Ну, да, к проблеме так легко не подойти, но не потому что она сложная, а потому всем похуй, более-менее. Ну еще потому что браузер это худшее что случалось с компьютером, концентрация идиотизма и активно анти-пользовательских решений зашкаливает. Заметьте: постоянные перелогины нужны только в браузере. Во всех остальных местах ты один раз зашел и все. У меня есть CLI логин в npm, который я зарегал лет десять назад, наверное, и раз в несколько лет использую. Я компьютеры меняю чаще, чем в npm логинюсь. И он все это время работает! И в куче других сервисов на CI, там есть токены, которые я прописывал так давно, что не помню уже, что и где я брал. Иногда мне надо что-то там подкрутить, я захожу в Github Actions, смотрю как я делал в прошлый раз и понимаю, что ничего не помню, что и как я генерил. А оно до сих пор работает! Более того, во всех этих программных тулах у тебя даже логина как такового нет, просто токен. Последовательность из 30-40 букв и все, и этого достаточно ДЛЯ ВСЕГО. Также никаких идиотских OAuth, никаких редиректов, никаких JWT, никаких флоу. ТЫ ПРОСТО ПОКАЗЫВАЕШЬ ВО ВРЕМЯ ОПЕРАЦИИ КОД И ДЕЛАЕШЬ ВСЕ ЧТО НУЖНО. И только, блядь, в браузере, у тебя все протухает за две недели, а через полгода ты придешь просто в абсолютно новый браузер, который даже как тебя зовут не будет помнить. И редиректы, и многофакторная аутентификация, и письма с подтверждениями, и чего только не. Также безопасность, как известно, рассадник карго-культов. Помните, как всех заставяли пароли менять регулярно, а потом оказалось, что это приводит к менее безопасным паролям? Я чувствую, что оно все такое, просто по многим пунктам никто пока исследований не провел. Вообще легко может оказаться, что протухающие токены никакого статистически важного влияния ни на что не оказывают, или что идея «passkey нельзя экспортировать» никому ни с чем не помогла. Это индустрия, в которой вещи считаются безопасными, если они звучат безопасно. Индустрия, в которой чем больше ты мучаешь людей, тем спокойнее ты себя чувствуешь. Так что нет. Проблема не сложная. Ситуация сложная. Когда компании, владеющей самым большим браузером на планете, не выгодно, чтобы у нас был простой универсальный логин через браузер, его ни у кого и не будет. Будут только конференции, на которых люди будут махать руками, объясняя, почему вы не должны этого хотеть. Ну или я чего-то не понимаю.0,00%
  • 8 июл.https://www.youtube.com/watch?v=5KyfW79Ld4g0,00%