Буквально вчера с братом обсуждали архитектуру приложения, которое придумывал хвалёный Claude Code. Брат у меня в код не очень, а я повидал много систем и быстро вижу к чему ведёт тот или иной подход.
Боже мой, у меня на работе ленивый коллега и то что-то более полезное бы сделал. Столько лишних усложнения, обобщений и бесполезных (и даже вредных) абстракций я увидел, что как будто с джуном общался. Не проект вышел, а какой-то Франкенштейн.
Вывод простой: работы по рефакторингу этого AI-чуда будет очень много.
Сейчас на рынке такой бардак, просто ужас. Видишь вакансии, где прямо уж точно 100% "мэтч" по требованиям и думаешь "ну 99% шанса, что позовут", но ух эти оставшиеся 1% постоянно подводят.
Кажется как будто рынок полон бэкендерами с экспертизой по куберу, RabbitMQ/Kafka, умеющими отлично в PG, docker, пишущими отличный код, <вставить свою экспертизу>, ...
Вот только приходишь на работу, а там совсем другая картина. Как в параллельных мирах живем
К сервису можно подключиться через команду k port-forward service/<servicename> <port>/<port>. Работает также для подов и deploy. И не нужны никакие новомодные штучки
Где-то месяц назад заморачивался правилами роутинга на роутере. Весь ru-трафик направил напрямую, настроил правила-исключения. Как в воду глядел.
Сегодня же сменил порт у прокси, создаваемое приложением КВН и перенес все правила с роутера на приложение КВН. Также пустил трафик ру приложений напрямую. Полезно, когда не используешь роутер.
Предполагаю, что этого достаточно будет. Единственное, не хватает настройки логина и пароля у прокси на телефоне
Тут только добавлять спец символы в текст, чтобы создать уникальное значение. Пробелы, вертикальные слеши и т.п. думаю подойдут, но под это ещё нужно код писать, если речь про БД для приложения
Ну мне понравилось. Я ради некоторых сайтов и назло РКН купил OpenWrt роутер,выучил сети, поднял КВН через туннель, настроил правила по приоритетам. И не сдамся я против этих представителей зарпрещенных меньшинств, которые засели в РКН.
Помню 2 года искал работу и все поголовно искали 3 года опыта в C#, сейчас искал и оказалось что нужно 5 лет опыта многим теперь. Может не в опыте дело, составители вакансий?
И потом приходишь на проект, а там Excel возвращают в виде строки Base64 вместо массива байт. А когда нужно еще и имя возвращать, то этот ответ превращается в JSON из base64 и имени файла. Зато дааааа, такие люди ведь ответят вам для чего нужно 1 и 2 поколение сборщика мусора.
Выглядит всё так, как будто в вопросе "вам шашечки или ехать" компании часто выбирают пункт "шашечки".
Не эксперт по кубернетис в облаке, но что насчёт того, чтобы мастер-ноды разбить по 3 регионам с репликацией БД?
Падение одного региона позволит исключить неработающие инстансы, а почти все ресурсы благодаря репликам будут автоматически переключены на работающий регион
Многие потребители могут независимо читать одни и те же данные
А в RabbitMq параллельное чтение одних и тех же данных уже запретили?
Сообщения хранятся заданное время
То же самое можно реализовать в RabbitMq.
Если почитать внимательнее документацию RabbitMq, то откроются такие интересные вещи как Exchange - Exchange биндинги и Fanout обмен, которые в умелых руках на многое способны.
P.S.: это не отменяет того факта, что Kafka - классная технология, правда, во многих случаях избыточна.
С одной стороны вы говорите про удобство вместо правильности, с другой - про отлавливание секретов, которые тоже надо настраивать (что по моему мнению тоже нужно).
Сотрудник, пришедший на проект, не хочет из-за необходимости установки одного параметра лезть в метод с 7 параметрами и разбираться как это же внутри работает, нужно ли передать null, пустую строку, 0 (для int) и какой параметр передать, если ты его все равно не хочешь менять. И не дай бог придется добавить ещё 3 параметра к этому чудесному методу, который используется в 30 местах. Всё ситуативно, в подавляющем большинстве моих случаев за этим методом скрывалась длинная портянка с высокой сложностью дебага и кучей времени на "разобраться". Рад за вас, что ваши методы содержат много параметров и ещё при этом удобные, простые и понятные
Я при запросе ЗП в 230 мидловскую работу не могу найти, постоянно отказы.
Зато нанимают сотрудников, которые вместо паттерна "Билдер" пишут методы с 7 переменными, спрашивают почему это коммиты не пушатся в dev или вообще секреты в прод пушат.
Кажется бизнес свернул куда-то не туда со своими сосбеседованиями
Остался только вопрос от программиста (меня) с желанием изучить сети до уровня "этого хватит практически для всех задач программиста" какие книги рекомендуете, если не Таненбаум?
Извините, может кого-то оскорблю, но Ваше утверждение ещё раз доказывает, что многие собеседования превратились в абсурд. Кто лучше жонглирует, у кого в правильном порядке стоят навыки в резюме, кто помнит никому ненужный метод, кто умеет лучше петь/танцевать (нужное подчеркнуть).
Человек с 20-летним опытом в большинстве своем должен получать в первую очередь оффер. Иначе потом приходишь на проект, а там методы по 500 строк от программистов, которые щёлкают Leetcode на лёгком уровне или тратят пару дней на высокопроизводительные отчёты, которые открываются раз в пол года.
Представь, идёшь ты по улице и прямо на голову падает деталь от ночного фонаря. Ты в больнице или, возможно в морге. Готов ли ты заплатить больше денег, чтобы с тобой всё было хорошо?
Представь другую ситуацию. Ты ищешь по улице и ничего тебе на голову не упало. Ты не поймёшь, что какой-то Вася потратил на 20% больше времени, чтобы этот фонарь лучше закрепить. Но ты об этом не узнаешь никогда, так как эта ситуация не произошла.
Теперь вопрос: оценит ли бизнес такого сотрудника или посчитает, что он медленно работает или занимается бесполезной работой и постарается заменить?
Как пример, в крупном контроллере может быть одна зависимость, которая сама тянет конфиги через сеть. Сломается одна зависимость и сломаются все endpoint, которые находятся в контроллере.
Или, нужно вывести enum на фронт, а для этого вы тянете 10 дополнительных зависимостей при каждом запросе.
Каждый решает сам, стоит оно того или нет, но мне подход с контроллерами напоминает подход с тяжеловесными сервисами по 20 методов, которые врятли когда-либо будут отрефакторены и навсегда останутся подвержены росту. И поэтому я использую Minimal Api на крупном проекте и доволен удобством
Самый главный вопрос законодатели забыли.
У россиян уже на руках миллиарды или даже триллионы в крипте. Они с теми людьми что будут делать? Простят и дадут обменивать без уплаты налогов?
Буквально вчера с братом обсуждали архитектуру приложения, которое придумывал хвалёный Claude Code. Брат у меня в код не очень, а я повидал много систем и быстро вижу к чему ведёт тот или иной подход.
Боже мой, у меня на работе ленивый коллега и то что-то более полезное бы сделал. Столько лишних усложнения, обобщений и бесполезных (и даже вредных) абстракций я увидел, что как будто с джуном общался. Не проект вышел, а какой-то Франкенштейн.
Вывод простой: работы по рефакторингу этого AI-чуда будет очень много.
Сейчас на рынке такой бардак, просто ужас. Видишь вакансии, где прямо уж точно 100% "мэтч" по требованиям и думаешь "ну 99% шанса, что позовут", но ух эти оставшиеся 1% постоянно подводят.
Кажется как будто рынок полон бэкендерами с экспертизой по куберу, RabbitMQ/Kafka, умеющими отлично в PG, docker, пишущими отличный код, <вставить свою экспертизу>, ...
Вот только приходишь на работу, а там совсем другая картина. Как в параллельных мирах живем
К сервису можно подключиться через команду k port-forward service/<servicename> <port>/<port>. Работает также для подов и deploy. И не нужны никакие новомодные штучки
Где-то месяц назад заморачивался правилами роутинга на роутере. Весь ru-трафик направил напрямую, настроил правила-исключения. Как в воду глядел.
Сегодня же сменил порт у прокси, создаваемое приложением КВН и перенес все правила с роутера на приложение КВН. Также пустил трафик ру приложений напрямую. Полезно, когда не используешь роутер.
Предполагаю, что этого достаточно будет. Единственное, не хватает настройки логина и пароля у прокси на телефоне
Удалено
Тут только добавлять спец символы в текст, чтобы создать уникальное значение. Пробелы, вертикальные слеши и т.п. думаю подойдут, но под это ещё нужно код писать, если речь про БД для приложения
Ну мне понравилось. Я ради некоторых сайтов и назло РКН купил OpenWrt роутер,выучил сети, поднял КВН через туннель, настроил правила по приоритетам. И не сдамся я против этих представителей зарпрещенных меньшинств, которые засели в РКН.
Помню 2 года искал работу и все поголовно искали 3 года опыта в C#, сейчас искал и оказалось что нужно 5 лет опыта многим теперь. Может не в опыте дело, составители вакансий?
И потом приходишь на проект, а там Excel возвращают в виде строки Base64 вместо массива байт. А когда нужно еще и имя возвращать, то этот ответ превращается в JSON из base64 и имени файла. Зато дааааа, такие люди ведь ответят вам для чего нужно 1 и 2 поколение сборщика мусора.
Выглядит всё так, как будто в вопросе "вам шашечки или ехать" компании часто выбирают пункт "шашечки".
Не эксперт по кубернетис в облаке, но что насчёт того, чтобы мастер-ноды разбить по 3 регионам с репликацией БД?
Падение одного региона позволит исключить неработающие инстансы, а почти все ресурсы благодаря репликам будут автоматически переключены на работающий регион
Про Кафку была написано:
А в RabbitMq параллельное чтение одних и тех же данных уже запретили?
То же самое можно реализовать в RabbitMq.
Если почитать внимательнее документацию RabbitMq, то откроются такие интересные вещи как Exchange - Exchange биндинги и Fanout обмен, которые в умелых руках на многое способны.
P.S.: это не отменяет того факта, что Kafka - классная технология, правда, во многих случаях избыточна.
С одной стороны вы говорите про удобство вместо правильности, с другой - про отлавливание секретов, которые тоже надо настраивать (что по моему мнению тоже нужно).
Сотрудник, пришедший на проект, не хочет из-за необходимости установки одного параметра лезть в метод с 7 параметрами и разбираться как это же внутри работает, нужно ли передать null, пустую строку, 0 (для int) и какой параметр передать, если ты его все равно не хочешь менять. И не дай бог придется добавить ещё 3 параметра к этому чудесному методу, который используется в 30 местах. Всё ситуативно, в подавляющем большинстве моих случаев за этим методом скрывалась длинная портянка с высокой сложностью дебага и кучей времени на "разобраться". Рад за вас, что ваши методы содержат много параметров и ещё при этом удобные, простые и понятные
Я при запросе ЗП в 230 мидловскую работу не могу найти, постоянно отказы.
Зато нанимают сотрудников, которые вместо паттерна "Билдер" пишут методы с 7 переменными, спрашивают почему это коммиты не пушатся в dev или вообще секреты в прод пушат.
Кажется бизнес свернул куда-то не туда со своими сосбеседованиями
Что мешало решить (читать как сильно уменьшить) проблему надёжной доставки сообщений через паттерны Outbox/Inbox?
Прочитал весь текст. Было сильно и правдиво.
Остался только вопрос от программиста (меня) с желанием изучить сети до уровня "этого хватит практически для всех задач программиста" какие книги рекомендуете, если не Таненбаум?
Извините, может кого-то оскорблю, но Ваше утверждение ещё раз доказывает, что многие собеседования превратились в абсурд. Кто лучше жонглирует, у кого в правильном порядке стоят навыки в резюме, кто помнит никому ненужный метод, кто умеет лучше петь/танцевать (нужное подчеркнуть).
Человек с 20-летним опытом в большинстве своем должен получать в первую очередь оффер. Иначе потом приходишь на проект, а там методы по 500 строк от программистов, которые щёлкают Leetcode на лёгком уровне или тратят пару дней на высокопроизводительные отчёты, которые открываются раз в пол года.
Или КВН + Squid для Https трафика + Adguard в докере (сюда идёт почти весь трафик от Squid и чистится от мусора) + локальный корневой сертификат
Представь, идёшь ты по улице и прямо на голову падает деталь от ночного фонаря. Ты в больнице или, возможно в морге. Готов ли ты заплатить больше денег, чтобы с тобой всё было хорошо?
Представь другую ситуацию. Ты ищешь по улице и ничего тебе на голову не упало. Ты не поймёшь, что какой-то Вася потратил на 20% больше времени, чтобы этот фонарь лучше закрепить. Но ты об этом не узнаешь никогда, так как эта ситуация не произошла.
Теперь вопрос: оценит ли бизнес такого сотрудника или посчитает, что он медленно работает или занимается бесполезной работой и постарается заменить?
Как пример, в крупном контроллере может быть одна зависимость, которая сама тянет конфиги через сеть. Сломается одна зависимость и сломаются все endpoint, которые находятся в контроллере.
Или, нужно вывести enum на фронт, а для этого вы тянете 10 дополнительных зависимостей при каждом запросе.
Каждый решает сам, стоит оно того или нет, но мне подход с контроллерами напоминает подход с тяжеловесными сервисами по 20 методов, которые врятли когда-либо будут отрефакторены и навсегда останутся подвержены росту. И поэтому я использую Minimal Api на крупном проекте и доволен удобством
Тема
сисекпринципов работы докера не раскрыта. Жаль