Охапка дров и плов готов 😂, молодец, круто объяснил. Спасибо! 🎉
@shortyshort1832 ай бұрын
Супер. Никак не мог структурировать правильно интерфейсы и классы. Спасибо огромное
@AleksandrSerov-rn2cn2 ай бұрын
Какие зарплаты в IT Китая? На что можно рассчитывать?
@ketch-dev3 ай бұрын
Вот это действительно годное видео на тему SRP. Отличные примеры и определение принципа соответствует определению Роберта Мартина
@rubyxanax42393 ай бұрын
А в чем проблема? Первое и самое главной свойство архитектуры - в архитектуре нет верных или неверных ответов, есть только компромиссы. То есть наилучшая архитектура это не то, что можно загуглить или прочитать в книге, это то что определяется конкретным контекстом. А такие книги помогают развивать именно техническую широту знаний разработчика, то есть они расширяют этот спектр известных ему компромиссов, которые можно использовать при архитектурном решении в конкретном контексте.
@umidibragimov93104 ай бұрын
Balshoy spasibo brat
@channel-yg2xc4 ай бұрын
Спасибо за видео, интересная тема. Могли бы вы уточнить один момент: если у сегмента с бизнес-логикой в большинстве своём нет интерфейсов, может ли это быть нарушением чистой/гексагональной архитектуры при условии, что предметная область декомпозирована нормально и её реализация соответствует практикам low coupling & high cohesion? Просто складывается впечатление, что чуть ли не основной идеей описанных архитектурных подходов является выделение интерфейсов даже там, где это, казалось бы, смысла не имеет. Например, не понятна польза от интерфейсов для рядовых crud-операций или даже core бизнес логики, если в настоящее время существует единая реализация конкретного процесса, - на мой взгляд, наличие интерфейсов с единой реализацией скорее привносит сложность в проект, к тому же, если у процесса единая реализация, возникает сложность с наименованием интерфейсов и имплементаций, вроде BuisnessProcess и BuisnessProcessImpl.
@stringconcat4 ай бұрын
Очень хороший вопрос! На все подряд конечно интерфейсы плодить не надо. Я выработал 2 принципа: 1) Интерфейс нужен когда нужно перепрыгнуть из внутреннего круга во внешний. Ну к примеру, если нужно вызвать хранилище из слоя Бизнес логики. Там же без интерфейса не получится, иначе Бизнесу придется зависить от слоя доступа к данным 2) Когда нам нужно несколько реализаций. При этом тесты считаются здесь тоже. К примеру у вас есть какая-то жутко сложная вычислялка процента в бизнес-логике, которая его вычисляет по многим параметрам, включая фазу Луны и индекс Доу-джонса. А вы тестируете, к примеру как вы письмо клиенту составляете автоматически, и вот эту вычислялку задействуете. Но вам абсолютно все равно какое значение она вернет. хоть 0, хоть 100500. И вот в этом случае имеет смысл заменить ее на Fake Implementation. Которая, скажем, всегда будет возвращать 15%
@duoduoo67324 ай бұрын
есть ли там шанс найти работу не программиста, а сисадмина?
@stringconcat4 ай бұрын
Классическим сис-админом наверное сложновато. Но можно попробовать в Акронис. А вот Dev-ops новомодным вполне можно
@duoduoo67324 ай бұрын
спасибо за видео. самую конкретную информацию только у вас в этом видео нашел
@duoduoo67324 ай бұрын
1. рабочая виза это понятно. какие там есть программы иммиграции или их нет? 2. допустим работаю там но компания закрылась или меня уволили. тогда сколько времени дается найти новую работу и есть ли какое то содействие в этом? или надо быть всегда готовым покинуть страну в любой момент изза банкротства компании в любой момент?
@stringconcat4 ай бұрын
1. Программ иммиграции нет :( тут вообще не то что сильно хотят нас-снежков тут оставлять на всегда. 2. Это большая проблема. В худшем случае будет месяц на поиски работы. в Лучшем месяца 3. Но и 3 месяца в Сингапуре протянуть без ЗП сложно
@masserrackheim53584 ай бұрын
чувак, ты бы еще на туалетной бумаге или салфетке рисовал. вроде че то по делу говоришь, но подача это просто ппц - какие то кракозябры непонятные, генерирование текста на ходу. тебе настолько пох на твоих подписчиков что ты нормальные слайды поленился сделать?
@user-hg8mk8tb2r5 ай бұрын
Плагин - это отдельная сборка ? Тогда все зависимости собираем в корневом приложении , например , используя DI контейнер ? И если требуется подключить другой плагин, то решаем это изменением ссылки из корневого проекта ?
@stringconcat4 ай бұрын
В терминах JVM, плагин -- это как минимум maven\gradle submodule. В других экосистемах по-другому. Но не обязательно что плагин живет прямо совсем отдельно, скажем в отдельном репозитории. И да, если нужно поменять реализацию, топ меняем ее в корневом приложении
@katacode5 ай бұрын
Ну многие программисты чтото делают просто потому что это модно. Микросервисы - это модно, поэтому они будут делать их везде, даже там где это не нужно. Читать книгу с кабанчиком это модно, потому что все альфа программисты ее читают
@stringconcat4 ай бұрын
Люто плюсую!
@predok_mif5 ай бұрын
Серый, го бухать! Сорян за каламбур xD
@user-qd4cl9dj4u5 ай бұрын
Chatter, don't listen to him. A very closed city-state.
@NikolayMishin6 ай бұрын
Потрясающая трансляция! Мартин Фаулер Патрик Куа Сэм Ньюман собираюсь купить все их книжки))
@nicamelschannel2276 ай бұрын
Подскажите пожалуйста, курс поваренной книги дядюшки Боба еще проверяется? Если уже нет, то можете снять блокеры в виде обязательных заданий? Хочется все лекции посмотреть
@user-zt2ob3le7e6 ай бұрын
Да с чего вы все решаете, что отсутствие кода это в плюс!? Наоборот, два три слайда с примерами более информативны чем растекание по древу!
@batazor2 ай бұрын
Тут еще вопрос в сложности написания тестов, проверки ревью
@user-cc9lq6un4b6 ай бұрын
А почему application business layer не является отдельным сервисом? Просто сперва вы выносили Data access layer в отдельный кружок, а потом App layer как обертку бизнес логики. Как действовать, есди у меня есть приложение и сайт и у них слегка разная логика? Делать два сервиса: syte и application, которые зависят от контрактов сервиса с бизнес логикой?
@user-sr8zf3zy4g6 ай бұрын
чет мне кажется ты китай с японией перепутал. пойду посмотрю на других каналах лучше
@sergeyplotnikov43036 ай бұрын
Без кода непонятно
@alevyts35236 ай бұрын
ООП поддерживает идиомы ФП на уровне дизайна языка, уровень синтаксиса и уровень вычислителя (компилятор или интерпретатор). Например: функции/методы - объекты первого класса, замыкания, неизменяемость, lambda, функциональные структуры данных и т.д.
@user-jp8ds3we3t6 ай бұрын
ПАРЕНЬ ТЫ НЕ ПРАВ--ДЕТИ ЖИВУТ В ГУАНДЖОУ--В ШКОЛАХ ИЗУЧАЮТ И МОЛОДЁЖЬ УЧИТ ЯЗЫКИ
@dwaynebarry0075 ай бұрын
Ты простой рабочий иван город Тверь?
@arvpro89707 ай бұрын
А где должен храниться bull process который выполняет таски? Грубо говоря фоновые службы
@stringconcat6 ай бұрын
Если я правильно понял, то какой нибудь Scheduler? Если так, то он концептуально не сильно отличается от какого-ниубдь контроллера: и тот и другой дергает бизнес логику. Контроллер когда его самомго кто-то подергает. А Шедулер, когда наступит определенно время. таким образом, я бы создал отдельный модуль schedule, который бы и дергал useCase
@looksonkarl7 ай бұрын
12:00 думаю срок визы определяется не тем кто с кем дружит, а договорённостями между странами. В руководстве Китая сидят не глупые люди, и прекрасно понимают что с капиталистической Россией надо дружить осторожно. Как в принципе и со всеми кап. странами.
@LekunaLekuna13 күн бұрын
Капиталистической??
@andrexxelles7 ай бұрын
Чем слоеная архитектура отличается от чистой ?
@inquisitor48946 ай бұрын
Слоеная - размыты границы и не знаешь, что куда пихать. Чистая - все правила четко прописаны. А вообще это подробно описано в 3х видеороликах данного канала
@jellyfish62657 ай бұрын
сорри, что это за бред? где слои?
@user-cc9lq6un4b6 ай бұрын
Слои то есть, просто они не нарисованы концентрическими окружностями. Сверху вниз: app layer, business, data access. То, что app layer окружает бизнес, может означать, что извне можно получить доступ только к app слою. Я так это интерпретировал.
@nicamelschannel2277 ай бұрын
Что-то не пришло ничего
@stringconcat7 ай бұрын
Странно. Извиняюсь. Возможно вы коже были зарегистрированы в не курсе. Попробуйте войдите course.stringconcat.com/ возможно там уже доступен курс
@nicamelschannel2277 ай бұрын
@@stringconcat да, может быть, получилось через восстановление пароля войти в кабинет
@StormB877 ай бұрын
@@nicamelschannel227тогда приятного просмотра!
@developmentapp7 ай бұрын
Всё относительно с той точкой с которой стартуешь.
@user-yd9xy3rb4x7 ай бұрын
00:15 clean architecture и что еще?
@iteospace7 ай бұрын
Зная чистую архитектуру и DDD ты можешь адаптировать их под себя. Например взять от них деление на контексты и выделение домена, инфрастуктуры и юзкейзов внутри контекста. Это значительно упрощает поддержку кода, но при этом не требует больших дополнительных затрат.
@iteospace7 ай бұрын
джун - конвертор))
@DzhigurdaAnton7 ай бұрын
вот тут согласен, постоянно хотят натянуть на проект требования бездарные архитекторы, которые не нужны, потому что всё в оперативку 1000 раз помещается и роста быть не может)
@user-rf8mq7cf7y7 ай бұрын
Не, ну за гачи мучи однозначно лайк! 🤣🤣🤣
@senin247 ай бұрын
Мне лично для лучшего понимания как всю это красивую теорию "Clean Architecture" перенести в код, хорошо помогла книга "Get Your Hands Dirty on Clean Architecture" - небольшая книга с конкретными примерами и пояснениями. Доступна на Озоне (печать по требованию)