TGViewer
Channel Public Channel
Павел Сорокин | Java

Павел Сорокин | Java

@s0r0kln

О том как стать и быть Java разработчиком

Обучение по Java до оффера: https://sorokin.school

По рекламе и сотрудничеству: @pave1s или sorokincompany@rambler.ru
Subscribers
9.16K
Photos
259
Videos
24
Links
208
Recent Posts 10 shown
Post #562 1.43K
Еще пару часов рабочей недели и можно выдохнуть, а пока, уже по традиции: кидай в комменты, какой мем рассмешил тебя на этой неделе больше всего 👇

А может есть и ситуация интересная из жизни 😉
  • 😁 15
  • ❤ 5
  • 🔥 3
  • 👍 2
Post #557 2.07K
Мы уже разбирали паттерны микросервисов, это часть 2

Есть ещё 5 ребят, без которых распределённая система тоже довольно быстро превращается в квест «почему вчера работало, а сегодня 502?»

🟣 API Gateway
Пока у тебя один сервис, всё просто: фронт знает один адрес и ходит туда

Но когда появляются order-service, payment-service и ещё несколько ребят, фронту внезапно нужно знать их адреса, правила авторизации и что делать, если один сервис переехал, тут и нужен API Gateway

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

🆗 Плюсы: единая точка для общих инфраструктурных политик и скрытие топологии

🙅‍♂️ Цена: отдельный критичный сервис, если напихать бизнес-логику - получится монолит на входе

🟣 Service Discovery

В микросервисах сервисы постоянно появляются, масштабируются, переезжают на другие инстансы. Сегодня у payment-service 2 экземпляра, через час - 5, один из них упал, другой задеплоился с новым IP. А order-service всё ещё должен понимать, куда отправлять запрос

Поэтому нужен Service Discovery - телефонная книга сервисов. В варианте с отдельным registry сервисы регистрируют свои адреса, а остальные получают их оттуда

Но если приложение работает в k8s, эту задачу обычно берёт на себя сам кубер: сервису даётся постоянное DNS-имя, а CoreDNS помогает найти его адрес. Экземпляры могут появляться, падать и менять IP - другим сервисам не нужно вручную отслеживать эти изменения

🆗 Плюсы: не прописываем IP руками, проще балансировать нагрузку и переживать деплои

🙅‍♂️ Цена: ещё один инфраструктурный слой, адреса могут устаревать, registry тоже надо мониторить

🟣 Retry
Если запрос не проходит - попробуем ещё раз, ну логично же. Сеть моргнула, сервис кратко завис и повторный вызов действительно может спасти ситуацию, но если сервис уже лежит, а 1000 клиентов делает по 3 повтора, retry превращается в «давайте добьём его окончательно»

Поэтому этот паттерн надо использовать для коротких сбоев, а не как способ бесконечно верить в лучшее. Нормальный retry - это ограниченное число попыток, timeout, exponential backoff и jitter, я кстати подробно о нем рассказывал в этом посте

❗️И ретраить можно ТОЛЬКО идемпотентные операции, иначе повторно выполнится операция (писал тут)

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

❌ Цена: лишняя нагрузка и более долгий ответ пользователю

🟣 Rate Limiting
Есть сервис, который может обработать 1 000 запросов в секунду. И тут приходит один очень мотивированный клиент, бот или просто фронт с багом и начинает присылать 20 000 запросов

На публичном API и тяжёлых операциях вроде логина или построения отчётов это вопрос не «если», а «когда это случится». И тогда rate limiting говорит:
Больше N запросов за период не принимаем


Ограничивать эти запросы можно по IP, пользователю, API key или конкретному endpoint’у. Кстати, в моём курсе по Redis на YouTube мы пишем свой rate limiter

✅ Плюсы: один клиент не съест все ресурсы, нагрузка становится предсказуемее

❌ Цена: нужно решить, кого ограничивать, можно случайно задеть нормального пользователя

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

В сервисе то же самое, например,order-service ходит в платёжку, доставку и рекомендации→ рекомендации начали отвечать по 20 секунд и забили общий пул потоков→ в итоге перестали создаваться заказы

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

🆗 Плюсы: частичная авария не превращается в полную

🙅‍♂️ Цена: больше ресурсов и сложнее настройка, если неправильно нарезать пулы - можно сделать новые бутылочные горлышки

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

#хардовая_польза
  • 🔥 16
  • ✍ 10
  • ❤ 7
  • 👍 5
Post #556 4.28K
Нужна ваша помощь 😐

В общем, я сейчас планирую 2 эфира сделать в сентябре - навалить полезностей, пообщаться с вами на них и презентовать курс по Java Backend

А то последний раз я это делал в декабре, а сейчас у меня несколько раз в неделю спрашивают "Паш, а у тебя есть курс какой-то для начинающих/для ребят на старом стеке?"

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

Я сел писать пост, понял что не влезает по символам

Потом начал писать статью, но быстро понял что она будет скучная, большая и при прочтении по-любому вопросы будут, а задать-то их и некому 👍

Решил в итоге как раз один из эфиров сделать сделать на тему степ-бай-степ плана действий


Сел уже с ИИшкой накидывать варианты тем и наполнения, но она по пути подкинула хорошую мысль - спросить у вас что вы сами хотите от меня узнать

Напишите в комментах про что хотелось бы от меня послушать в контексте "У меня ещё нет комм. опыта" и "У меня есть комм. опыт, но он не сильно релевантен рынку"

Самые залайканные темы/вопросы постараюсь включить в презу к эфиру 🤝🤝
  • ❤ 23
  • 👍 3
  • 🔥 3
Post #555 3.84K
Я очень много работаю с нейронками. Но есть вещи, которые я им не доверяю

Код написать, ошибку найти, инфу поресерчить, объяснить какой-то фреймворк, варианты реализации предложить - да, да, да и ещё раз ДА.

Кому интересно - чаще юзаю Codex, он по моим ощущениям для кода и других задач и токенов меньше ест


Ещё, разумеется, для обучения ИИ я тоже использую. Но есть ООООЧЕНЬ важная граница 🙅‍♂️

Если мне нужна конкретная информация по какой-то теме, то нейронки топ

НО. ОЧЕНЬ ВАЖНОЕ НО 🔽

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

Ты не знаешь, что и как тебе нужно учить → спрашиваешь нейронку → она выдаёт красивый роадмап → а ты даже не можешь проверить, что там реально нужно, что лишнее, а чего вообще не хватает

То же самое с задачами:
Нейронка выдаёт тебе 3 убедительных варианта решения.

А как собсна говоря из них выбрать-то?

• Если ты уже шаришь, то да, ты отсеешь лишнее и выберешь нормальный вариант

• Если не шаришь, тогда все три выглядят одинаково "правильными"

Причём нейронка ещё и любит соглашаться 👁👁

Предлагаешь решение А, она пишет «да, отличный подход, хотите я помогу...»

Через минуту предлагаешь противоположное решение Б - «о, это решение, даже лучше, с ним не возникает проблемы...»

А как собсна говоря из них выбрать-то? 🤔

Чтобы понять, какой вариант лучше (а тем более для реального проекта), тебе уже нужен тот самый опыт, которого у тебя пока нет - тот самый парадокс 🤷‍♂️🤷‍♂️🤷‍♂️


Отдельно смешно пытаться через ИИ получить себе «продакшн-опыт»

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

Плюс есть ещё одна ловушка из недавнего поста: прочитал объяснение → вроде понял → руками не сделал → на самом деле не научился

Кароче, гоняйте лимиты для обучения осознанно, пацаны и дамы, вы на собесах ещё нужны 🐺☝️
  • 🔥 24
  • ❤ 9
  • 👍 2
  • 😁 1
Post #554 4.62K
Иллюзия понимания.

Мне нередко в комментах на ютубе пишут что-то в духе "Паша, ну ты ваще слоняра, я вот посмотрел видос и всё понял"

И хоть такое и приятно читать как "блоггеру", читать это как учителю-ментору-наставнику мне не очень нравится, и настало время пояснить почему 👇

Очень часто, пока мы потребляем какой-то контент, он кажется нам ну ооочень понятным:

• Смотришь видос, киваешь головой, мысленно думаешь "Во-во я бы так же написал"
• Читаешь статью, тупишь на абзаце, 3 раза его перечитываешь и ловишь то самое "Ааааа, дошло"
• Кидаешь в нейронку запрос и получаешь решение с мыслью "Ну да-да я бы там +- так же начал а там уже решил бы потом че делать"

Так вот - всё это ни что иное как иллюзия "я понял" и лёгкий дофамин на уровне просмотра рилсов


По определению "обучение" - это смена поведения

Но после того как ты просто посмотрел видос, не закрепив ничего, то что ты узнал на самом деле?

Изменится ли после этого хоть как-то твое поведение? Начнешь ли ты лучше проходить собесы или решать лучше технические задачи? 🤔

Если нет, то ты просто посмотрел приятный видосик и все


Потому что оооочень часто после того как ты "всё понял" и решил сам руками написать код внезапно оказывается, что ты уже и забыл что да как там делается 😧

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

Ну а из-за таких ситуаций у тебя в будущем падает что? Правильно, прод уверенность в своих навыках 🙁

Потому что настоящая уверенность появляется не от просмотренных часов, а когда ты сам принимаешь технические решения и сам пишешь код


Ещё сильнее уверенность растёт когда ты на свои решения получаешь НОРМАЛЬНУЮ обратную связь, (а не тот нейрослоп, которым вы заменяете ментора (а то я про вас всё знаю и всё вижу!!!)

А вывод у поста простой: первый шаг на пути к вашей уверенности в своих знаниях - это писать код, а не смотреть на него

Второй шаг - найти откуда брать нормальную обратку. Неважно курс это, разовые консультации или ещё какой формат

Перестаньте относиться к ИИшкам как к идеальному решению всех задач. Они могут выдать вам кучу решений, но так и не выбрать за вас правильное...
  • ❤ 28
  • 🔥 9
  • 💯 6
  • 😁 2
Post #553 4.32K
Памятка по подготовке к собесу
  • 😁 75
  • 🔥 3
  • ❤ 1
Post #552 3.93K
Раскрываю секреты тем, у кого ещё нет коммерческого опыта 🤫

В общем, у вас же главных переживаний по сути две штуки:

1. Что и до какой глубины учить, чтобы наконец-то перестать бесконечно обучаться
2. Как в итоге опыт свой показывать и конкурировать с ребятами с опытом?

Ответ на первый вопрос будет чуть позже, давайте пока ко второму. Если коротко, то поймите, что Стаж != рост рыночной ценности и знаю хардов

Можно три года получать коммерческий опыт, но всё это время делать клепать круды, сидеть на Java EE, Jmix, Cuba, legacy и за всё это время вообще не пощупать современного backend-стека 👍


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

Поэтому, повторюсь, понятие "middle-разработчик" достаточно размытое, и говоря "Я хочу стать миддлом" вы сначала сами определитесь что это для вас значит:

• работать на актуальном стеке?
• получать нормальную middle зарплату 200к+?
• просто "лычку миддла" иметь?

Ну а ребята, у которых уже есть реальный опыт, дайте в комментах советов тем, кто только начинает - за что реально можно не париться, какие лично вы знаете подводные камни ну и так далее, давайте интерактивчик устроим 👌
  • ❤ 21
  • 🔥 4
Post #551 3.79K
Хотите совет от T-Fest'a?

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

– Паш, как новичку начать усерднее учиться, где найти мотивацию?
– Никак, удали нахуй IntelliJ
  • ❤ 25
  • 😁 15
Post #550 3.83K
Когда я впервые почувствовал себя НАСТОЯЩИМ разработчиком?

После вчерашнего поста захотелось самому порефлексировать какие я для себя выделял критерии "готовности" иии.... не вспомнил 🙄

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

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

Вот кстати, пост 2хгодовалой давности про мой путь - t.me/S0R0KlN/143


Да, ясное дело рынок тогда был проще и можно было быстрее получить собесы и понять где твои пробелы, но я ещё раз повторю своё мнение по этому поводу:

КАКАЯ-НАХЕР-РАЗНИЦА-КАКОЙ-СЕЙЧАС-РЫНОК????

Вот те, кто сидит в позиции "Станет рынок получше, тогда и начну фигачить, а то щас сложно" - поймите, что таких 90% рынка

Когда рынку станет легче у вас мало того что конкуренция вырастет в разы, вы ещё и будете конкурировать с теми кто всё это время фигачил


(и это я молчу про тех кто не ждёт, фигачит и получает работу СЕЙЧАС - смотрите скрин к посту)

Да, сложно. Но работа и вакансии ЕСТЬ. Вам какая разница сколько их? Идите и эти старайтесь забрать

Вы бы знали СКОЛЬКО мне приходит рекламных предложений о конференциях/стажка/oneday офферов и прочего...

Кароче, выше нос, господа и дамы, всё у вас будет и ничего вам за это не будет😇
  • ❤ 27
  • 🔥 3
Post #549 4.06K
У меня аудитория воров каких-то собралась, ей-богу


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

Потому что так ФИЛИГРАННО воровать у себя время, деньги и реализацию - это реально ещё уметь надо

Начнём с главного: «я готов к собесам» и «я уже middle-разработчик» - эти вот критерии сейчас здесь, с нами, в одной комнате?

Вы бы знали, НАСКОЛЬКО разнятся ваши представления о готовности к собеседованиям и уровне middle. Причём и те, и другие довольно далеки от реальности 🙄

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

А ещё глубже там сидит:
«Я боюсь, что вложил кучу сил, выйду на рынок - и окажется, что этого всё ещё мало, а я вообще никому не нужен»


У ребят с опытом чуть веселее: они уже прошли первые два этапа и сразу понимают, что никому не нужны:))))

Но по сути и у тех, и у других главная проблема скорее ПСИХОЛОГИЧЕСКАЯ, а не хардовая

Потому что роадмапов о том, что и до какой глубины учить, на YouTube уже гора. Саботаж и откладывание включаются не из-за отсутствия информации, а ровно на уровне: «Я боюсь выйти и оказаться лохом»

Так вот, дорогие мои подписчики, запомните простую мысль: лохом вы будете, если продолжите откладывать РЕАЛЬНО НУЖНЫЕ действия

Выйти на рынок, получить несколько отказов, понять, чего именно вам не хватает для оффера или роста ЗП, и пойти закрывать конкретные дыры в знаниях - это НОР-МАЛЬ-НО 🤷‍♂️🤷‍♂️🤷‍♂️👍

Отказ хотя бы даёт список тем, которые надо повторить, бесконечная дро подготовка без выхода на рынок не даёт вообще ничего
  • ❤ 38
  • 👍 7
  • 🔥 3
  • 😁 3
  • 💯 2
Older posts →

About this channel

How can I read @s0r0kln without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Павел Сорокин | Java: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Павел Сорокин | Java have?
Павел Сорокин | Java (@s0r0kln) has 9.16K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Павел Сорокин | Java know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →