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

Резултати

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

Търсене: #violin

当前筛选 #violin清除筛选

Xiaomi Pad 7S Pro 12.5 - China - OS3.0.302.0.WOTCNXM (Android 16) 📆2026/03/31 #release📱#violin 📥Recovery ROM 📝Changelog: [System] Updated the security patch to August 2025. Increased system security. 🔗@xiaomiui | @miui_download | @hyperosfirmware | HyperOS Updates | XiaomiTime

Classical Music

@exploreclassical · Post #124 · 11.12.2020 г., 11:57

今天和大家分享Violin Sonata Op 30. No.9,也是贝多芬最长的,最难的,最宏大的Violin Sonata,Kreutzer(克莱采)。这首是开启贝多芬middle period创作的曲目之一,在写完这首后他就开始写Eroica Symphony了。 本来这首是献给小提琴家George Bridgetower的,首演也由他演奏,但是首演之后两人闹掰了,于是贝多芬转头决定这首献给Rodolphe Kreutzer, 然而Kreutzer从来没有演出过这首,并且认为它"outrageously unintelligible”. 第一乐章开头是Adagio,后面是能量很强,“怒气冲冲”的Presto,感觉小提琴和钢琴仿佛在激烈交火。第二乐章是变奏曲式,钢琴引入主题,后面跟着四个变奏曲,整体非常平静。第三乐章finale,开头一个A major chord,然后回归第一乐章的能量炸弹。这个finale其实是之前就写好的,本来准备放在violin sonata op 30 no.1里的,但是不太搭,所以贝多芬可以算是为了这个finale写了前两个乐章。 另外列夫·托尔斯泰有一本以此为灵感的小说,《克莱采奏鸣曲》,据说可能是他最奇特的作品~准备找来看看~ 今天分享小提琴大师Nathan Milstein的一个版本,是他生前最后一次公开演出: https://www.youtube.com/watch?v=uSC4W1qWMp4 #Beethoven#Beethember#violin ref: 1. https://www.laphil.com/musicdb/pieces/4968/violin-sonata-no-9-in-a-major-op-47-kreutzer 2. https://www.laphil.com/musicdb/pieces/4604/violin-sonata-no-9-kreutzer 想加入我们群聊的朋友请戳这里:https://t.me/exploreclassicalchat

Classical Music

@exploreclassical · Post #123 · 10.12.2020 г., 19:18

今天分享一首贝多芬的String Quartet No.13,是他的晚期作品。和一般的string quartet为四乐章不同,这首有六个乐章,和Symphony No.9的形制(opening, dance movement, slow movement, finale)类似,但是中间两个movement重复了一遍(即opening, dance movement, slow movement, dance movement, slow movement, finale)。本来finale是一首大fugue,但出版商觉得不太搭,于是写了一首新的finale,原来的finale作为Große Fuge单独发表。 有几位musicologist认为,可以把把这首作为divertimento或者suite来欣赏,还有人认为贝多芬在这首作品里试图使用文艺复兴时的canzona的形式。 另外这首的第五乐章Cavatina被收录在了Voyager Golden Record中,在太空中遨游~~ #Beethember#Beethoven#violin https://www.youtube.com/watch?v=cSyh0KoB-D4 ref: https://www.earsense.org/chamber-music/Ludwig-van-Beethoven-String-Quartet-No-13-in-B-flat-major-Op-130/?ri=7 P.S 想加入我们群聊的朋友请戳这里:https://t.me/exploreclassicalchat

Classical Music

@exploreclassical · Post #110 · 02.12.2020 г., 12:44

今天分享一首Violin Sonata No.5, "Spring"~听的时候觉得和Pastoral Symphony跟姐妹似的,都非常lyrical,而且都是F major~说是Violin Sonata,其实原题是Sonatas for Piano and Violin,钢琴的角色也很重要~ #Beethember#Beethoven#violin https://www.youtube.com/watch?v=tERwEDWh-ko

Classical Music

@exploreclassical · Post #378 · 07.05.2022 г., 15:49

今天是勃拉姆斯和柴可夫斯基的生日~今天分享的是大家耳熟能详的勃拉姆斯的Violin Sonata No.1 in G Major第一乐章。这首Violin Sonata 又叫做 Regensonate,是因为取材于他自己的一首艺术歌曲Regenlied,虽然旋律上的运用在第三乐章中更多,在第一乐章中我们多次听到的有三个音符组成的长短长的motif也是来自于Regenlied,成为贯穿全曲的线索。 https://www.youtube.com/watch?v=TbgknpFu8Mw #yearOfWonder#brahms#violin ref: Kelly Dean Hansen对于这首作品的细节分析 http://www.kellydeanhansen.com/opus78.html

Tibicen

@world_music_geek · Post #827 · 02.12.2024 г., 17:01

The Handover — The Handover (Sublime Frequencies, 2024) #oud#violin#synth#Egypt The Handover — проект Али Иссы, Аймана Асфура и Йонаса Камбиена, исследующий связь между египетской музыкальной традицией и современными импровизационными подходами. Одноименный их коллективу альбом музыканты записанный в Александрии в январе 2023 года. 🔗Bandcamp

Tibicen

@world_music_geek · Post #24 · 19.09.2020 г., 09:53

Perelaar — De Ridder In Het Riet (Stoof, 1981) #traditional#flute#mandolin#accordion#violin#Netherlands Продолжаем рубрику «забытые европейские исполнители». Perelaar — голландская группа, исполнявшая традиционную музыку. Группа черпала вдохновение из рукописей фризского драматурга Андриса Кирса 19 века, а также из старых источников, таких как Amsterdams Liedboek (1655 г.) и фермерского фольклора 18 века. Этот акцент на аутентичном голландском репертуаре в основном связан с Маритой Круийсвейк, которая играла в Perelaar с 1976 года. Сейчас группа продолжает существовать под названием Pekel. Telgram

ПредишнаСтр. 1 от 3Следваща