TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #practiceeverywhere

当前筛选 #practiceeverywhere清除筛选
CRAFT BAR SKILLS ACADEMY

@craftbarskillsacademy · Post #129 · 21.11.2022 г., 14:43

10 principals of neuroplasticity N5 Intensity matters ⠀ Интенсивность имеет значение При попытке вызвать нейропластические изменения в нервной системе важна интенсивность желаемого упражнения, мысли, движения и т. д. Чем интенсивнее программа тренировок, тем больше вероятность того, что человек не только достигнет результатов, но и создаст долгосрочные изменения в нервной системе. ⠀ «Индукция пластичности требует достаточной интенсивности». Вопрос о надлежащей интенсивности тренировок также следует этой концепции повторения: «Какова необходимая правильная дозировка тренировки? Сколько раз в неделю? Как долго должны длиться эти тренировки?» Исследования показывают, что чем интенсивнее программа тренировок в сочетании с достаточным временем для восстановления, тем больше вероятность того, что человек достигнет результатов, и тем больше вероятность того, что эти изменения будут сохраняться с течением времени. ⠀ Отсюда напрашиваются несколько выводов относительно тренировок с барным инвентарём, что для достижения более быстрых и качественных результатов эффективнее заниматься: во-первых, достаточно часто ( или каждый день, или хотя бы 2 дня через один) в течение достаточного количества времени, чтоб не переутомиться и в то же время устать (1,5-2 часа вполне может быть достаточно); Во-вторых, интенсивно, то есть полностью отдаваясь процессу и постоянно развивая скорость до предельной для себя в разных упражнениях. Сначала учимся понимать, что происходит и как это работает, а дальше -начинаем развивать скорость. ⠀ Если вы тренируете разные движения каждый день и какое-то не очень хорошо получается, сделайте на нем особый акцент и посвятите часть времени ( например, 20-30 минут из 1,5 часовой тренировки) только этому движению на каждой тренировке в течение нескольких дней ( минимум, дней 10) и посмотрите на результат. Да, бывает это скучно и нудно, но когда почувствуете скорость - невозможно остановиться! ⠀ Интенсивных вам тренировок! ⠀ #trainyourbrain#craftbarskills#craftbarskillsonline#craftbarskillsonlineeng#bartendersbrain#practiceeverywhere

CRAFT BAR SKILLS ACADEMY

@craftbarskillsacademy · Post #149 · 04.12.2022 г., 08:38

10 principals of neuroplasticity N6 Time matters 🧠⌛️ ⠀ Продолжаем тему нейропластичности и эффективного использования основных принципов в подходе к тренировкам. Время имеет значение. Этот аспект особенно важен в отношении восстановления каких-либо повреждений мозга - чем раньше, тем лучше. Различные формы пластичности проявляются в разное время во время тренировки. Чем раньше вы сможете начать терапию после травмы нервной системы, тем лучше. Исследования показывают, что вы всегда можете что-то улучшить, но самые большие возможности для изменений в мозгу открываются на раннем этапе. Фактор времени может быть даже более важным после повреждения головного мозга, учитывая динамические изменения в нервной среде, которые происходят независимо от какой-либо реабилитации. ⠀ Но этот аспект также можно и применить к построению тренировочного процесса. ⠀ 1️⃣Во-первых, тренировки будут эффективнее, и мозг будет быстрее формировать движения ( навыки), если тренироваться примерно в один часовой промежуток изо дня в день. 2️⃣Во-вторых, гораздо эффективнее тренироваться на «свежую голову», когда мозг ещё свеж, и психический ресурс не истощён, то есть в первой половине дня после пробуждения. Особенно когда речь идёт о каких-то новых для вас движениях и навыках. Понятно, что не всегда можно для себя организовать такой график. И порой приходится тренироваться тогда, когда есть на это время. И в этом случае будет эффект. Суть в том, что в случае тренировки на «свежую голову», этот эффект значительно сильнее и навыки нарабатываются быстрее. Этот принцип также используется и в планировании других задач, сначала решать самое необходимое, важное и сложное, а дальше - попроще, так как в любом случае от нагрузки мозг устаёт, и просто может не хватить сил и психических резервов на сложные задачи. 3️⃣Третье, выбирайте подходящее для себя время, когда вы сами чувствуете, что тренировки становятся наиболее эффективными. И если ваш график устроен так, что есть время только глубокой ночью, то и забудем про все предыдущие правила -главное, что оно вообще есть! ⠀ Своевременных вам тренировок! ⠀ #trainyourbrain#10принциповнейропластичностивтренировках#craftbarskills#craftbarskillsonline#craftbarskillsonlineeng#bartendersbrain#practiceeverywhere