Принято говорить, что следующий год будет проще, легче, более успешным и всё в таком духе, но давайте будем честны — обычно это неправда.
Мы уже сейчас сильные, стойкие и успешные, раз не сдались и продолжаем работать в той ситуации, которая уже сложилась: найм становится сложнее с каждым годом, покупательская способность снижается, жильё стоит как крыло от боинга, а мы всё тут с вами работаем, учимся не покладая рук и движемся только вперёд.
Ты уже тот самый бронированный поезд, который сносит все преграды на пути, и даже если следующий год будет сложнее, ты уже знаешь, что делать. А если что-то поменяется — ты на коне.
С наступающим! Спасибо, что вы тут. Я постоянно теряюсь, но безумно ценю то, что вы все равно читаете мою писанину, ставите реакции и пишете комментарии ❤️
Мы уже сейчас сильные, стойкие и успешные, раз не сдались и продолжаем работать в той ситуации, которая уже сложилась: найм становится сложнее с каждым годом, покупательская способность снижается, жильё стоит как крыло от боинга, а мы всё тут с вами работаем, учимся не покладая рук и движемся только вперёд.
Ты уже тот самый бронированный поезд, который сносит все преграды на пути, и даже если следующий год будет сложнее, ты уже знаешь, что делать. А если что-то поменяется — ты на коне.
С наступающим! Спасибо, что вы тут. Я постоянно теряюсь, но безумно ценю то, что вы все равно читаете мою писанину, ставите реакции и пишете комментарии ❤️
❤61👍13💯8 2🤔1
Образец собеседования на миддловскую позицию — никаких космических зарплат и именитых брендов. Просто самые типовые вопросы, задачки, ревью кода и оффер на самые обычные деньги — так проходит большинство рутинных собесов. Приятного просмотра 🥰
https://youtu.be/yG3u5Ufl_xs
https://youtu.be/yG3u5Ufl_xs
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Так проверяют Middle Backend-разработчиков на собеседовании
Пример реального и типового собеседования на позицию Middle Backend разработчика: задачи, код ревью и самые типовые вопросы
Помогу найти работу разработчиком - https://devdad.ru/c-sharp
Телеграм канал - https://news.1rj.ru/str/+WhJeXSlGeIQyYjQy
Таймкоды:
00:00 …
Помогу найти работу разработчиком - https://devdad.ru/c-sharp
Телеграм канал - https://news.1rj.ru/str/+WhJeXSlGeIQyYjQy
Таймкоды:
00:00 …
Добрый вечер, коллеги! Напишите статус по задачам
Коллеги, давайте все-таки добьем статусы сегодня 🙂 Мне нужна информация от всех, вне зависимости от дня и времени. Кто еще не ответил — отпишитесь.
С CQRS вечная проблема — его объясняют так, что сразу хочется закрыть статью и пойти деградировать в рилсы.
Команды, запросы, паттерны… А на самом деле всё очень приземлённо: читать данные и менять данные — это вообще не одно и то же.
- Когда ты пишешь — ты боишься что-то сломать.
- Когда читаешь — тебе просто нужен быстрый ответ.
CQRS — это момент, когда ты перестаёшь делать вид, что это одна задача.
В работе видео, в феврале будет на канале🥰
Команды, запросы, паттерны… А на самом деле всё очень приземлённо: читать данные и менять данные — это вообще не одно и то же.
- Когда ты пишешь — ты боишься что-то сломать.
- Когда читаешь — тебе просто нужен быстрый ответ.
CQRS — это момент, когда ты перестаёшь делать вид, что это одна задача.
В работе видео, в феврале будет на канале
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍39❤11 8🤔2
Про CQRS есть ещё один миф, который стабильно пугает людей.
На практике самый полезный CQRS вообще без всего этого.
Один сервис. Одна база. Просто внутри ты перестаёшь мешать запись и чтение в одном месте.
- Для записи — нормальная доменная логика, проверки, транзакции.
- Для чтения — прямые запросы и DTO, без лишней философии.
Никакой магии. Просто код, который наконец-то понятно читать.
Спасибо за реакции. Продолжаем короткие заметки на технические темы 🥰
Если ты полез в CQRS — готовь кафку, микросервисы, отдельные базы и психолога.🥣
На практике самый полезный CQRS вообще без всего этого.
Один сервис. Одна база. Просто внутри ты перестаёшь мешать запись и чтение в одном месте.
- Для записи — нормальная доменная логика, проверки, транзакции.
- Для чтения — прямые запросы и DTO, без лишней философии.
Никакой магии. Просто код, который наконец-то понятно читать.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33👍11🤔4
Очень легко перепутать цель и инструмент.
Если паттерн:
- Убрал боль
- Сделал код понятнее
- Сократил количество "Так, тут не трогай, пока работает"
значит он сработал.
Если нет — значит вы просто применили модную аббревиатуру и теперь можете хвастаться на конференциях🌟 .
CQRS, DDD, event sourcing, SAGA — это не цель.
Цель — чтобы код было не страшно трогать через год разработки.
Если паттерн:
- Убрал боль
- Сделал код понятнее
- Сократил количество "Так, тут не трогай, пока работает"
значит он сработал.
Если нет — значит вы просто применили модную аббревиатуру и теперь можете хвастаться на конференциях
Please open Telegram to view this post
VIEW IN TELEGRAM
Event Sourcing за 10 секунд
Event Sourcing — гит для бизнеса. Ты не можешь удалить или отредактировать события (коммиты), а можешь только добавить новые. Если накосячил, то создаёшь событие, которое будет компенсировать твой косяк (Делаешь новый коммит).
Текущее состояние — это просто результат проигрывания всех событий. Смотри разницу.
Обычный CRUD:
Где деньги?🥣
ES:
Понял🔥
Event Sourcing — гит для бизнеса. Ты не можешь удалить или отредактировать события (коммиты), а можешь только добавить новые. Если накосячил, то создаёшь событие, которое будет компенсировать твой косяк (Делаешь новый коммит).
Текущее состояние — это просто результат проигрывания всех событий. Смотри разницу.
Обычный CRUD:
id | balance
---|---------
42 | -1500
Где деньги?
ES:
balance = 0
+5000 (Пришла зарплата с любимой стажировки)
-3000 (Поел)
-3500 (Попил)
--------
-1500
Понял
Please open Telegram to view this post
VIEW IN TELEGRAM
Играли в геометри даш?
Вот там тыкаешься, страдаешь, кликаешь буквально по памяти и пытаешься дойти до следующей контрольной точки, чтобы страдать уже на следующем участке.
Без них каждый раз:
— Запрос пришёл на Петин баланс
— Баланс Пети на первого января 2017-ого года был 0 рублей, он тогда открыл карту
— До текущей даты было произведено 10к транзакций, надо посчитать, сколько сейчас, потому что циферки баланса нигде нет.
Снапшоты:
— Запрос пришёл на Петин баланс
— Баланс Пети на первого января 2024-ого года был 500 рублей (снапшот)
— До текущей даты было произведено 57 транзакций, надо посчитать сколько сейчас
Есть разница?
Вот там тыкаешься, страдаешь, кликаешь буквально по памяти и пытаешься дойти до следующей контрольной точки, чтобы страдать уже на следующем участке.
Снапшоты в Event Sourcing — контрольная точка в геометри даш.
Без них каждый раз:
— Запрос пришёл на Петин баланс
— Баланс Пети на первого января 2017-ого года был 0 рублей, он тогда открыл карту
— До текущей даты было произведено 10к транзакций, надо посчитать, сколько сейчас, потому что циферки баланса нигде нет.
Снапшоты:
— Запрос пришёл на Петин баланс
— Баланс Пети на первого января 2024-ого года был 500 рублей (снапшот)
— До текущей даты было произведено 57 транзакций, надо посчитать сколько сейчас
Есть разница?
События — истина, которая никогда не меняется
Снапшоты — удобная точка отсчёта, от которой быстрее считать.
Почему нельзя просто отправить сообщение в Kafka?
Не, конечно, можно. Если тебе плевать на консистентность.
Смотри: у тебя транзакция, ты делаешь Save() и потом Publish(). А между ними — пропасть, в которую может упасть что угодно: сеть, брокер, твой сервис.🥣
Transactional Outbox — это когда вместо Publish() ты делаешь ещё один Insert() в таблицу outbox. В той же транзакции. Атомарно.
А потом фоновый процесс читает эту таблицу и рассылает.
Это как записка на холодильник: ты не покупаешь бананы прямо сейчас, а пишешь "купить бананы" и точно не забудешь.
Если честно, я использовал этот подход несколько лет и только потом узнал, что это какой-то популярный паттерн.
Не, конечно, можно. Если тебе плевать на консистентность.
Смотри: у тебя транзакция, ты делаешь Save() и потом Publish(). А между ними — пропасть, в которую может упасть что угодно: сеть, брокер, твой сервис.
Transactional Outbox — это когда вместо Publish() ты делаешь ещё один Insert() в таблицу outbox. В той же транзакции. Атомарно.
using var transaction = await _db.BeginTransactionAsync();
_db.Orders.Add(order);
_db.Outbox.Add(new OutboxMessage(order)); // Вместо _kafka.Publish()
await _db.SaveChangesAsync();
await transaction.CommitAsync();
А потом фоновый процесс читает эту таблицу и рассылает.
Это как записка на холодильник: ты не покупаешь бананы прямо сейчас, а пишешь "купить бананы" и точно не забудешь.
Если честно, я использовал этот подход несколько лет и только потом узнал, что это какой-то популярный паттерн.
Please open Telegram to view this post
VIEW IN TELEGRAM
Давай мок проведём, чтобы понять, сколько денег я стою 🌟
Часто получаю такие запросы и уже даже космическую цену на моки поставил, чтобы не покупали
Почему приходят такие запросы, вполне понятно: на собесы идти страшно, надо ещё подготовиться, чтобы потом вот как выйти и попросить по верхней вилке своих возможностей на первом собесе
Я действительно могу провести мок, спросить про многопоточку, микросервисы и брокеры, но рынок работает не совсем так.
Возможно, ты в подростковом возрасте увлекался покером и по трём картам на столе можешь предсказать вероятность флеш-рояля, но по брокерам хромаешь. Для компании, которая занимается подобным гэмблингом, ты будешь стоить космических денег, а на остальном рынке — «Ой, извините, вакансия встала на холд».
🥣 Стоимость на рынке складывается из множества факторов:
1. Совпадение твоего опыта и того, что конкретная компания считает важным
2. Твоя функция в бизнес-модели. Разработчик на заводе по производству плитки стоит дешевле, чем тот же разработчик в аутсорсе
3. Софты. В тысячный раз, но разработка — командная история, и никому не нужен перформер, который будет портить атмосферу в коллективе
4. Харды. Это та самая многопоточка с архитектурой, на которую обращают больше всего внимания
5. Макроэкономика. Сейчас большая ключевая ставка, дорогие деньги, и бизнес очень избирателен в выборе кандидатов
6. Стадия компании и область деятельности. Стартапы за работу сверхурочно и разного вида гэмблинг, как правило, готовы платить больше денег
Именно поэтому на сопровождении до оффера мы сначала смотрим на весь опыт комплексно, упаковываем его в резюме, работаем над самопрезентацией и просматриваем скрининги с тех. собесами, чтобы корректировать стратегию по факту.
Лучший способ узнать свою фактическую ценность — ходить по реальным собеседованиям — всё. Ходим, озвучиваем ожидания, наблюдаем за реакцией и делаем поправку на ветер. Если совсем страшно, то можно сначала сходить по собеседованиям с фейковыми контактными данными🥰
Часто получаю такие запросы и уже даже космическую цену на моки поставил, чтобы не покупали
Почему приходят такие запросы, вполне понятно: на собесы идти страшно, надо ещё подготовиться, чтобы потом вот как выйти и попросить по верхней вилке своих возможностей на первом собесе
Я действительно могу провести мок, спросить про многопоточку, микросервисы и брокеры, но рынок работает не совсем так.
Это не экзамен, где задают n вопросов и надо ответить на m, чтобы получить x денег в месяц.
Возможно, ты в подростковом возрасте увлекался покером и по трём картам на столе можешь предсказать вероятность флеш-рояля, но по брокерам хромаешь. Для компании, которая занимается подобным гэмблингом, ты будешь стоить космических денег, а на остальном рынке — «Ой, извините, вакансия встала на холд».
1. Совпадение твоего опыта и того, что конкретная компания считает важным
2. Твоя функция в бизнес-модели. Разработчик на заводе по производству плитки стоит дешевле, чем тот же разработчик в аутсорсе
3. Софты. В тысячный раз, но разработка — командная история, и никому не нужен перформер, который будет портить атмосферу в коллективе
4. Харды. Это та самая многопоточка с архитектурой, на которую обращают больше всего внимания
5. Макроэкономика. Сейчас большая ключевая ставка, дорогие деньги, и бизнес очень избирателен в выборе кандидатов
6. Стадия компании и область деятельности. Стартапы за работу сверхурочно и разного вида гэмблинг, как правило, готовы платить больше денег
Именно поэтому на сопровождении до оффера мы сначала смотрим на весь опыт комплексно, упаковываем его в резюме, работаем над самопрезентацией и просматриваем скрининги с тех. собесами, чтобы корректировать стратегию по факту.
Лучший способ узнать свою фактическую ценность — ходить по реальным собеседованиям — всё. Ходим, озвучиваем ожидания, наблюдаем за реакцией и делаем поправку на ветер. Если совсем страшно, то можно сначала сходить по собеседованиям с фейковыми контактными данными
Please open Telegram to view this post
VIEW IN TELEGRAM
Ну что, коллеги, встретимся в максе? 🌟
Please open Telegram to view this post
VIEW IN TELEGRAM
Папочка Разработки
ИИ — мощь, и отрицать это абсолютно глупо. Он может писать код, учитывать достаточно большой контекст проекта и даже принимать архитектурные решения лучше большинства специалистов. Конечно, всей этой генерации нужен хороший контроль, и нетехнический специалист сделать это не сможет. Если вы до сих пор на стадии «ИИ пишет говнокод на уровне джуна», — значит, просто пытаетесь себя обмануть и спрятать голову в песок.
Отец знакомого работает программистом. Сегодня срочно вызвали на совещание, обсуждали GPT4. Вернулся поздно и ничего не объяснил. Сказал лишь собирать вещи и искать диплом фрезеровщика. Сейчас едем куда-то далеко за город. Не знаю что происходит, но мне кажется началось...
Можно говорить, что ему выгодно это рассказывать и вообще то-сё пятое-десятое, но постарайтесь убрать скептицизм и подумать об этом.
Это всё, конечно, весело, но настоятельно рекомендую прочитать статью от Мэта Шумера — CEO of OthersideAI.
Можно говорить, что ему выгодно это рассказывать и вообще то-сё пятое-десятое, но постарайтесь убрать скептицизм и подумать об этом.
🤔16 6👍4 3
Минимум духоты, максимум примеров и простых объяснений: микросервисная архитектура и модульный монолит, сага, аутбокс, гарантии доставкаи и CAP теорема.
Сценарий для ролика был готов ещё пару месяцев назад, но записать удалось только с четвёртого раза. Уверен, что не зря, ведь количество пользы на минуту ролика прям зашкаливает.🌟
Шпаргалка для повторения будет в течении пары дней. Собираю всё только самое нужное в красивом формате
UDP: шпаргалка в следующем посте
https://youtu.be/l1vpKLHp0sQ
Сценарий для ролика был готов ещё пару месяцев назад, но записать удалось только с четвёртого раза. Уверен, что не зря, ведь количество пользы на минуту ролика прям зашкаливает.
Шпаргалка для повторения будет в течении пары дней. Собираю всё только самое нужное в красивом формате
UDP: шпаргалка в следующем посте
https://youtu.be/l1vpKLHp0sQ
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Микросервисная архитектура | Просто о сложном
Если уже смотрели ролики по микросервисам, но понимание в голове не сложилось - велком! Без сложных слов о самом важном
Помогу найти работу C# разработчиком - https://clck.ru/3RrC46
Телеграм канал - https://news.1rj.ru/str/+XJ5R3vWdxS1iZGEy
Разбираем:
— Монолит vs…
Помогу найти работу C# разработчиком - https://clck.ru/3RrC46
Телеграм канал - https://news.1rj.ru/str/+XJ5R3vWdxS1iZGEy
Разбираем:
— Монолит vs…
1 21👍16❤6
Шпаргалка по микросервисам.pdf
78.1 KB
В комментариях сказали, что автор шпаргалки далеко пойдёт, поэтому я решил дойти до отдельного поста!
Надо реакции и буду стараться делать такие классные штуки для всех технических роликов🥰
Надо реакции и буду стараться делать такие классные штуки для всех технических роликов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52❤4 2