Нельзя в Environment положить протокол и то, что туда кладется должно быть Observable.
Немного напрягает, хочется в самом начале (App) настраивать конкретные инстанции, а дальше везде работать через абстракции (интерфейс / протокол) и ничего не менять.
Делаете свое или пользуетесь чем-то готовым типа Factory?
[Removing the M from MVVM with SwiftUI](https://blog.stackademic.com/removing-the-m-from-mvvm-with-swiftui-a58b239e9e3e)
[The Dark Side of Unidirectional Architectures in Swift](https://medium.com/the-swift-cooperative/the-dark-side-of-unidirectional-architectures-in-swift-e4acf243ff1c)
А тут вообще красиво получается с декоратором
[Aspect-Oriented Programming in Swift](https://medium.com/the-swift-cooperative/aspect-oriented-programming-in-swift-f2366350c527)
А еще не понятно, как допустим таймер, который из REST данные вытаскивает делать.
В Clean это допустим UseCase, GetDataEvery10sUseCase и сразу понятно, где он должен быть и что делать.
Ну и вот можно подумать.
Цель
Mediator pattern: в первую очередь предназначен для управления сложными связями между несколькими объектами.
UseCase больше ориентирован на инкапсуляцию конкретного варианта использования или бизнес-логики.
Cвязи.
Mediator: объекты часто взаимодействуют двунаправленно через посредник.
UseCase обычно имеет однонаправленный поток (ViewModel -> [[UseCase]] -> Репозиторий).
Scope
Mediator: часто управляет набором связанных объектов.
Я пишу под .Net, но тут одна фигня, поэтому задам парочку вопросов :)
1. «толстые» тесты лично у меня как правило получаются когда метод делает много операций, типа «ReadAndApply»: public DoMagic()
{
DoAbra();
DoCadabra();
}
Но внутренние методы не хочется показывать наружу тк их могут использовать (а не надо). Поэтому приходится делать наследника и тюкать их как protected. Что иногда «доставляет». Или делать 100500 хелперов.
2. Как не писать фригильные тесты это целая наука и нигде толком не описано. В один прекрасный день одно небольшое изменение можеть сломать столько тестов, которые компилиться откажутся, не то, что проходить :) Постигается только потом и болью (и переписыванием фикстур).
3. Вопрос знатокам. В .Net чтобы мокить класс должен или быть абстрактным или интерфейсным.
В MVVM понятно как тестировать модель. InMemory база и все летает. Тестировать ViewModel даже на такой датабазе кажется странной идей поэтому у меня каждая модель имплементирует свой интерфейс и он соотв. мокится. Это нормально или я усложняю?
Я вот закончил не топовый (KTH, LiU, Chalmers), но сейчас в Стокгольме (högskoleingenjör).
Курс не очень большой, но 50%+ во время обучения работали на PostNord/Ikea/etc. ибо работы в городе нет. Есть только konsultföretag типа i3tech и AcademicWork на которую все уже плюются. Раздницы между höing/civil особой небыло. Те тоже хотят стаж 5+ лет.
Сразу нашли работу только отличники. Остальные искали до 2х лет. Рекорд кажется 4 года. Поэтому когдя я слышу про нехватку инженеров по разработке ПО у меня начинается небольшой butthurt.
Исходя из опыта (моего в том числе) искать имеет смысл только через Arbetsförmedlingen (при наеме иностранца — требование №1). Все большие компании полюбому сделают экспорт аннонса туда (опять же правило №1).
Сейчас, кто работает начинал так:
— мы нанимаем тебя писать на языке Х который ты учил в универе (3 месяца, хаха)
— Первый день. Сениор: на этом языке у нас какой-то легаси, мы даже сами не помним как оно работает. Сейчас нам нужно на языке Y поправить формочку/добавить кнопочку/и тд. С этим будут проблемы?
У парня тестовый период и первая работа. Он конечно говорит «все будет». Быстренько вдупляет где в новом языке ставятся точки/запятые и есть ли пробел в ifelse.
Через 3 месяца он уже внурил все стандартные библиотеки Y и пишет новые фичи.
Билды так же начинали все писать :) Мы вот вообще CMake не используем ибо MSBUILD вечен )
Так что по собранному опыту… кто заморочился с поиском прогеров, тот их и нашел. Мне вот 1/3 компаний просто не ответила.
Опять же есть YrkesHögskola (YH), там народ тренят под конкретные вещи и народ там идет «снизу» и очень мотивирован.
Тут вы понимаете, что юристы берут до 900SEK/час и в большинстве своем занимаются именно беженцами, поэтому будут читать ваше решение о высылке и офигивать.
Вы поймете, что большинство документов на шведском и тд :)
А со знанием английского достаточного для работе в Швеции вполне можно найти работу в той же самой Дании.
То, что условия для иммигрантов могут быть жёстче, чем для местных — да, c'est la vie.
Ирония в том, что это законодательство должно защищать вас, чтобы у вас условия работы были не хуже чем у шведов и небыло демпинга.
Но на данный момент используется против, для высылки из страны.
If the company you are working at changes its corporate identity number, you change employers, are given new duties, or the conditions of your employment change, your work permit will no longer be valid.
Все понятно? :) Те есть у вас в заявлении написано что вы фронт-енд/ Angular то вы можете заниматься только им.
В иммиграции на данный момент небольшой кадровый кризис.
И ваш куратор не будет смотреть законы, а «Migrationverkts handbok». Т.е справочник куратора.
Есть трудовое законодательство со своими судами и практикой. И есть иммиграционное со своими судами и практиками.
На данный момент иммиграция забила на практику трудового и делает свое толкование законов.
Я на .NET (nunit, moq &Co) и должен сказать что он развивается и нужно постоянно читать чтобы быть «в теме». Остальные тоже не стоят на месте.
Посмеялся с пункта «Linux, macos, Windows»
Поэтому я не представляю сколько нужно читать чтобы знать новости в полном списке.
В теории я конечно могу писать на Питоне и С++, но на практике меня туда ставить на время не выгодно :)
Да ладно? Я тоже как очевидец знаю что он работает не очень хорошо :)
Хватит если ваш работодатель зафейлит один раз. Вы об этом узнаете когда вам прийдет отказ. На этом как правило народ сейчас и вылетает.
Большинсто IT фирм частные. В профсоюзе не состоят, поэтому нужно платить пенсию, страховки от несчастного случая и тд.
На данный момент почень популярно высылать из-за отпуска. www.svd.se/han-hotas-med-utvisning--for-att-han-tog-for-lite-semester
Он все правильно написал, не там смотрите. Еще можно вылететь за слишком короткий отпуск.
Все это стоит в зарплатной ведомости которую надо посылать за все время работы.
Причем смотрится не только нынешний работодатель, но и все предыдущие.
Вы понимаете почему не находите? :)
Предлагаю добавить в список еще Angular, Go, Rust и.
Попробуйте брать 2/3 списка и аннонсировать на Arbetsförmedlingen. Кодеров с стране дофига.
Кстати в Стокгольме и окрестностях находятся самые топовые универы страны. Не расскажите почему выпускников не берете? :)
lgorSL, скажите, а кнопки в режиме планшета не цепляются за стол и тд?
Как я понимаю они не сворачиваются как у ноутов с одним креплением посередине.
Держать не мешают? Кнопки не вылетают?
Ну основное преимущество NLog для обычного человека в том, что он все нужные файлы добавляет сам.
Включая сниппет для студии для более удобного использования, «nlogger».
Ну смысл был ближе к вашему тексту, может плохо выразился. Я вот в музыкалку бегал в юности.
Научить-то можно и взрослого, но будете сидеть и по 5 минут думать как одновременно 3 кнопки на инструменте нажать. А ребенок просто нажмет. Про сложность произведений тактично умолчим )
Ну и да… не всех.
Хотя вот петь начинать во взрослом возрасте очень даже норм.
Но на скрипке даже в 18 я бы лично не стал )
Не только. У нас вообще мало говорят о болячках сидячих людей. Это у более «физических» профессиях все переломы, растяжения и сотрясения видны сразу и хорошо диагностируются.
А вот если сидя криво за компом вы зажмете себе какой-нибудь нерв или еще что, то вы сначала будете лечиться сами, потом вас сначала будут лечить обезболивающими (ну голова болит), а поставят ли вам правильный диагноз вообще неизвестно.
Совершенно ненужно получать это в раннем возрасте :)
@eeemp
Расскажите. как вы делаете DI?
Нельзя в Environment положить протокол и то, что туда кладется должно быть Observable.
Немного напрягает, хочется в самом начале (App) настраивать конкретные инстанции, а дальше везде работать через абстракции (интерфейс / протокол) и ничего не менять.
Делаете свое или пользуетесь чем-то готовым типа Factory?
По-моему можно проще:
[Removing the M from MVVM with SwiftUI](https://blog.stackademic.com/removing-the-m-from-mvvm-with-swiftui-a58b239e9e3e)
[The Dark Side of Unidirectional Architectures in Swift](https://medium.com/the-swift-cooperative/the-dark-side-of-unidirectional-architectures-in-swift-e4acf243ff1c)
А тут вообще красиво получается с декоратором
[Aspect-Oriented Programming in Swift](https://medium.com/the-swift-cooperative/aspect-oriented-programming-in-swift-f2366350c527)
А еще не понятно, как допустим таймер, который из REST данные вытаскивает делать.
В Clean это допустим UseCase, GetDataEvery10sUseCase и сразу понятно, где он должен быть и что делать.
Ну и вот можно подумать.
Цель
Mediator pattern: в первую очередь предназначен для управления сложными связями между несколькими объектами.
UseCase больше ориентирован на инкапсуляцию конкретного варианта использования или бизнес-логики.
Cвязи.
Mediator: объекты часто взаимодействуют двунаправленно через посредник.
UseCase обычно имеет однонаправленный поток (ViewModel -> [[UseCase]] -> Репозиторий).
Scope
Mediator: часто управляет набором связанных объектов.
UseCase ориентирован на одну операцию.
1. «толстые» тесты лично у меня как правило получаются когда метод делает много операций, типа «ReadAndApply»:
public DoMagic()
{
DoAbra();
DoCadabra();
}
Но внутренние методы не хочется показывать наружу тк их могут использовать (а не надо). Поэтому приходится делать наследника и тюкать их как protected. Что иногда «доставляет». Или делать 100500 хелперов.
2. Как не писать фригильные тесты это целая наука и нигде толком не описано. В один прекрасный день одно небольшое изменение можеть сломать столько тестов, которые компилиться откажутся, не то, что проходить :) Постигается только потом и болью (и переписыванием фикстур).
3. Вопрос знатокам. В .Net чтобы мокить класс должен или быть абстрактным или интерфейсным.
В MVVM понятно как тестировать модель. InMemory база и все летает. Тестировать ViewModel даже на такой датабазе кажется странной идей поэтому у меня каждая модель имплементирует свой интерфейс и он соотв. мокится. Это нормально или я усложняю?
Курс не очень большой, но 50%+ во время обучения работали на PostNord/Ikea/etc. ибо работы в городе нет. Есть только konsultföretag типа i3tech и AcademicWork на которую все уже плюются. Раздницы между höing/civil особой небыло. Те тоже хотят стаж 5+ лет.
Сразу нашли работу только отличники. Остальные искали до 2х лет. Рекорд кажется 4 года. Поэтому когдя я слышу про нехватку инженеров по разработке ПО у меня начинается небольшой butthurt.
Исходя из опыта (моего в том числе) искать имеет смысл только через Arbetsförmedlingen (при наеме иностранца — требование №1). Все большие компании полюбому сделают экспорт аннонса туда (опять же правило №1).
Сейчас, кто работает начинал так:
— мы нанимаем тебя писать на языке Х который ты учил в универе (3 месяца, хаха)
— Первый день. Сениор: на этом языке у нас какой-то легаси, мы даже сами не помним как оно работает. Сейчас нам нужно на языке Y поправить формочку/добавить кнопочку/и тд. С этим будут проблемы?
У парня тестовый период и первая работа. Он конечно говорит «все будет». Быстренько вдупляет где в новом языке ставятся точки/запятые и есть ли пробел в ifelse.
Через 3 месяца он уже внурил все стандартные библиотеки Y и пишет новые фичи.
Билды так же начинали все писать :) Мы вот вообще CMake не используем ибо MSBUILD вечен )
Так что по собранному опыту… кто заморочился с поиском прогеров, тот их и нашел. Мне вот 1/3 компаний просто не ответила.
Опять же есть YrkesHögskola (YH), там народ тренят под конкретные вещи и народ там идет «снизу» и очень мотивирован.
Вы поймете, что большинство документов на шведском и тд :)
А со знанием английского достаточного для работе в Швеции вполне можно найти работу в той же самой Дании.
Ирония в том, что это законодательство должно защищать вас, чтобы у вас условия работы были не хуже чем у шведов и небыло демпинга.
Но на данный момент используется против, для высылки из страны.
Все понятно? :) Те есть у вас в заявлении написано что вы фронт-енд/ Angular то вы можете заниматься только им.
lifos.migrationsverket.se
Это из верховного суда.
И ваш куратор не будет смотреть законы, а «Migrationverkts handbok». Т.е справочник куратора.
Есть трудовое законодательство со своими судами и практикой. И есть иммиграционное со своими судами и практиками.
На данный момент иммиграция забила на практику трудового и делает свое толкование законов.
Посмеялся с пункта «Linux, macos, Windows»
Поэтому я не представляю сколько нужно читать чтобы знать новости в полном списке.
В теории я конечно могу писать на Питоне и С++, но на практике меня туда ставить на время не выгодно :)
Хватит если ваш работодатель зафейлит один раз. Вы об этом узнаете когда вам прийдет отказ. На этом как правило народ сейчас и вылетает.
Большинсто IT фирм частные. В профсоюзе не состоят, поэтому нужно платить пенсию, страховки от несчастного случая и тд.
На данный момент почень популярно высылать из-за отпуска.
www.svd.se/han-hotas-med-utvisning--for-att-han-tog-for-lite-semester
Или еще чего.
www.breakit.se/artikel/6564/15-spotify-anstallda-riskerar-utvisning-efter-tidigare-misstag
В общем нынешний тренд — высылать всех кого можно.
Все это стоит в зарплатной ведомости которую надо посылать за все время работы.
Причем смотрится не только нынешний работодатель, но и все предыдущие.
www.migrationsverket.se/English/Private-individuals/Working-in-Sweden/Extending-a-permit.html
Вы понимаете почему не находите? :)
Предлагаю добавить в список еще Angular, Go, Rust и.
Попробуйте брать 2/3 списка и аннонсировать на Arbetsförmedlingen. Кодеров с стране дофига.
Кстати в Стокгольме и окрестностях находятся самые топовые универы страны. Не расскажите почему выпускников не берете? :)
Видели эту статью?
http://mattwarren.org/2016/11/23/open-source-net-2-years-later/
Как я понимаю они не сворачиваются как у ноутов с одним креплением посередине.
Держать не мешают? Кнопки не вылетают?
Включая сниппет для студии для более удобного использования, «nlogger».
Плюс lifetime подхватывать. Не так уж и просто.
Научить-то можно и взрослого, но будете сидеть и по 5 минут думать как одновременно 3 кнопки на инструменте нажать. А ребенок просто нажмет. Про сложность произведений тактично умолчим )
Ну и да… не всех.
Хотя вот петь начинать во взрослом возрасте очень даже норм.
Но на скрипке даже в 18 я бы лично не стал )
А вот если сидя криво за компом вы зажмете себе какой-нибудь нерв или еще что, то вы сначала будете лечиться сами, потом вас сначала будут лечить обезболивающими (ну голова болит), а поставят ли вам правильный диагноз вообще неизвестно.
Совершенно ненужно получать это в раннем возрасте :)