Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
#jlm
Всем привет! Остался всего месяц для экзаменов и пора готовиться. И даже если у вас их нет, самое время добраться до изучения того, что давно откладывали. В честь этого мы устроим прогульный коворкинг в Национальной Библиотеке в Иерусалиме. Мы познакомимся с разными техниками обучения, поделимся целями и научим друг друга всяким интересным штукам! Ну и поработаем, конечно!
Ждем всех 7 мая в 17:00!
https://maps.app.goo.gl/dLx6GzKJT6VKp8q17?g_st=ic
Если хотите присоединиться, пишите @fuftatfuf
А авторка идеи и ведущая коворкинга @riceflourpack
#jlm
Зачем люди отправляются в путь? И что за разбитые сосуды и искры святости, которые можно собирать? Куда ушла Шхина и вернется ли однажды?
Звучит немножко как игра-бродилка…
Поэтому мы решили не просто сделать бейт-мидраш, но придумать и нарисовать на нем свою философскую игру-бродилку. А потом вместе в нее поиграть. Собственно, общей игрой и закончится цикл бейт-мидрашей.
Встречу будут вести философ и историк Катя Малахова и привычная прогулочная ведущая Настя Рябцева.
Если хотите прийти, пишите @fuftatfuf
19 февраля, 18:00, Bezalel 43
https://maps.app.goo.gl/wBGBJpgXFoLShZp3A?g_st=ic
#jlm
Это last call!
Завтра в 18 встретимся в Иерусалиме, чтобы приступить к финальным репетициям пуримского оркестра.
Будем шить костюмы, стучать ритмы, дуть в трубы.
Пока получается очень круто (на последней встрече нас уже почти позвали играть на корпоративах), но хочется, чтоб нас было чуть побольше. Поэтому ооочень ждем ещё участников!
https://maps.app.goo.gl/ZUvz7rBrttMYWoQ68
#jlm анонс к анонсу!
Кроме репетиции оркестра из этого анонса https://t.me/dikieprogulki/1569
в 20:00 будем снимать клип в заброшенной библиотеке! Зовем всех желающих.
Клип режиссирует @daamndany
А писать, что придете, лучше @fuftatfuf
#jlm
Последняя опция побродить по заброшенной бывшей библиотеке и поиграть там на трубах (водопроводных) и на ударных инструментах — это в четверг, 12 февраля!
Потом пуримский оркестр будет переезжать в ангар. В этот раз будем не только репетировать оркестром, но и придумывать костюмы на Пуримский парад.
Если вы до сих пор до нас не доехали, мы с легкостью придумаем, на чем вам играть! Приезжайте!
18:00 https://maps.app.goo.gl/ZUvz7rBrttMYWoQ68
Пишите @fuftatfuf
#jlm
5 февраля
Звуковой тренинг с композитором и саунддизайнером, с Даней Коронкевичем и Мишей Марушкиным.
Начнем со всяческой сонастройки, продолжим всяческой импровизацией. Будем кидать/ловить мячики, фразы, ритмы, звуки, звучать/стучать/звенеть/дудеть из разных углов подземного этажа бывшего библиотечного хранилища, а еще сделаем каждый свой несложный (но рабочий и удивительный!) музыкальный инструмент.
Это открытая встреча в рамках цикла подготовки к Пуримскому параду. На неё можно прийти даже если вы вовсе не собираетесь на парад.
Если хотите прийти, пишите @fuftatfuf
18:00, четверг, Гиват Рам, https://maps.app.goo.gl/ZUvz7rBrttMYWoQ68
#jlm
Привет, это расписание того, что мы будем делать в Иерусалиме в ближайшие полтора месяца или история о том, как мы придумали курс своей мечты!
Мастерская экспериментальных музыкальных инструментов и оркестр к Пуримскому параду.
Зовем участников от 12 до 20 лет на курс встреч о звуке, импровизации, экспериментальной музыке, который закончится выступлением на городском пуримском параде в Иерусалиме.
🎹 Ведущие курса:
Миша Марушкин — sound-дизайнер, экспериментальный музыкант, видеограф, учится в школе Мусрара на факультете Новой Музыки
Настя Рябцева — ведущая прогулок, педагог, импровизаторка и выдумщица
Настя Иванова — ведущая прогулок, художница, архитекторка, создательница удивительных пространств и объектов
Даня Коронкевич — театральный композитор, музыкант, sound-дизайнер, преподаватель музыки, выпускник Школы Мусрара
Даша Шерман — художница в разных медиа, педагог
🥁Программа встреч:
22 января, четверг, 17:30, Гиват Рам, здание бывшей библиотеки
Познакомимся и сходим в экспедицию за звуками по Старой Библиотеке. Миша расскажет нам про самодельные инструменты и покажет референсы со всего мира. Определимся с тем, что будем делать и начнем искать материалы вокруг себя.
29 января, четверг, 17:30, Гиват Рам, здание бывшей библиотеки
Поговорим про технику безопасности и работу с инструментами, вместе позвучим и начнем строить музыкальные инструменты.
5 февраля, четверг, 17:30, Гиват Рам, здание бывшей библиотеки
Позвучим, доделаем музыкальные инструменты и вместе придумаем костюмы.
12 февраля, четверг, 17:30, Гиват Рам
Даня и Миша проведут участникам звуковой тренинг. Как слышать другого? Как играть вместе? Как импровизировать? Как играть в музыку?
15 февраля, воскресенье, Гиват Рам
Первая репетиция оркестра
22 февраля, воскресенье, Первая Станция, Шатер
Вторая репетиция оркестра
1 марта, воскресенье
Генеральная репетиция оркестра в Театрон Ха-Карон
4 марта, центр города
Пурим! Финал! Выступление!
🪗Чему можно научиться в рамках курса:
— совместной работе и реализации своих идей
— основам акустики
— основам импровизации
— опыту выступлений на городских ивентах
А еще можно очень вдохновиться, довольно особенно провести время и познакомиться с классными людьми.
Участие бесплатное. Можно участвовать не во всех встречах.
Ссылка на регистрацию в программе тут — https://docs.google.com/forms/d/e/1FAIpQLSe1Fubdg2AiJd10cDItbQLZhH_v-O_SU8PNFCpVh13kt1KI8w/viewform
#jlm В этот четверг будем делать музыкальные инструменты, звучать и учиться работать со строительными инструментами.
Приходите!
Решили начать в 18, потому что так лучше успевают ребята из других городов.
Подробности ниже.
#jlm
Четверг, 22 января, 17:30. Первая встреча мастерской самодельных музыкальных инструментов.
Гиват Рам. Здание бывшей Национальной Библиотеки. https://maps.app.goo.gl/ZUvz7rBrttMYWoQ68
Будем знакомиться, ходить по потрясающему пространству бывшей библиотеки и искать там звучащее. Миша покажет нам примеры того, какими могут быть самодельные инструменты. И мы вместе немножко позвучим и начнем придумывать свои будущие инструменты.
Чтобы участвовать, нужно зарегистрироваться https://docs.google.com/forms/d/e/1FAIpQLSe1Fubdg2AiJd10cDItbQLZhH_v-O_SU8PNFCpVh13kt1KI8w/viewform
C вопросами можно писать @fuftatfuf
#jlm
Привет, это расписание того, что мы будем делать в Иерусалиме в ближайшие полтора месяца или история о том, как мы придумали курс своей мечты!
Мастерская экспериментальных музыкальных инструментов и оркестр к Пуримскому параду.
Зовем участников от 12 до 20 лет на курс встреч о звуке, импровизации, экспериментальной музыке, который закончится выступлением на городском пуримском параде в Иерусалиме.
🎹 Ведущие курса:
Миша Марушкин — sound-дизайнер, экспериментальный музыкант, видеограф, учится в школе Мусрара на факультете Новой Музыки
Настя Рябцева — ведущая прогулок, педагог, импровизаторка и выдумщица
Настя Иванова — ведущая прогулок, художница, архитекторка, создательница удивительных пространств и объектов
Даня Коронкевич — театральный композитор, музыкант, sound-дизайнер, преподаватель музыки, выпускник Школы Мусрара
Даша Шерман — художница в разных медиа, педагог
🥁Программа встреч:
22 января, четверг, 17:30, Гиват Рам, здание бывшей библиотеки
Познакомимся и сходим в экспедицию за звуками по Старой Библиотеке. Миша расскажет нам про самодельные инструменты и покажет референсы со всего мира. Определимся с тем, что будем делать и начнем искать материалы вокруг себя.
29 января, четверг, 17:30, Гиват Рам, здание бывшей библиотеки
Поговорим про технику безопасности и работу с инструментами, вместе позвучим и начнем строить музыкальные инструменты.
5 февраля, четверг, 17:30, Гиват Рам, здание бывшей библиотеки
Позвучим, доделаем музыкальные инструменты и вместе придумаем костюмы.
12 февраля, четверг, 17:30, Гиват Рам
Даня и Миша проведут участникам звуковой тренинг. Как слышать другого? Как играть вместе? Как импровизировать? Как играть в музыку?
15 февраля, воскресенье, Гиват Рам
Первая репетиция оркестра
22 февраля, воскресенье, Первая Станция, Шатер
Вторая репетиция оркестра
1 марта, воскресенье
Генеральная репетиция оркестра в Театрон Ха-Карон
4 марта, центр города
Пурим! Финал! Выступление!
🪗Чему можно научиться в рамках курса:
— совместной работе и реализации своих идей
— основам акустики
— основам импровизации
— опыту выступлений на городских ивентах
А еще можно очень вдохновиться, довольно особенно провести время и познакомиться с классными людьми.
Участие бесплатное. Можно участвовать не во всех встречах.
Ссылка на регистрацию в программе тут — https://docs.google.com/forms/d/e/1FAIpQLSe1Fubdg2AiJd10cDItbQLZhH_v-O_SU8PNFCpVh13kt1KI8w/viewform
#jlm
Привет!
С вами вестник иерусалимских бейт-мидрашей.
В грядущую среду 24/12 в 17:30 проводим четвертую встречу цикла. Её название «Ибо в образе ходит человек» с Леей Типисевой.
На встрече будем читать европейские философские и традиционные еврейские тексты и ловить образ человека и бога в них. Будем искать, как мыслители описывали и передавали образ.
В заключении встречи составим наш собственный образ, основываясь на текстах, прочтениях, наших выводах и буквах.
Для записи на встречу пишите в личные сообщения @n4sti4i
Встреча пройдет по адресу: Aharon Rabinovich 33
https://maps.app.goo.gl/kXrBg7UtZJLrL4HV8?g_st=ipc
#jlm
Есть традиции, которые нам очень-очень нравятся.
Традиция есть пончики-суфганиёт и готовить картофельные оладьи «латкес» (и есть их), конечно, из таких.
Свечи зажигать и думать о свете нам тоже очень нравится!
А есть вещи, для которых вообще не нужен повод, они всегда уместны и хороши. Например, играть в настольные игры. И ходить в гости.
Наш участник Саша Л. зовет нас в гости (и неважно, насколько вы знакомы, а может вообще собираетесь на Прогулку впервые).
Будем жарить латкес, есть пончики, зажигать свечи, играть в игры.
Количество участников ограничено размером дома. Если хотите прийти, вам от 12 до 20 лет, то запишитесь личным сообщением @fuftatfuf
Прогулка будет в четверг, в 17:00 18 декабря на улице haTsfira 23 в Иерусалиме.