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

Резултати

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

Търсене: #gin

当前筛选 #gin清除筛选
Regina Bar

@reginabargin · Post #222 · 13.05.2025 г., 10:29

Во Франции в Коньяке производят не только то, о чем все знают. Мы нашли там органический джин. Просто взгляните на эту керамику. Содержимое не менее прекрасное - листья лайма из Тайланда, можжевельник из Великобритании, кориандр, мандарин, красный перец; все компоненты с экологичных плантаций без использования химических удобрений. Generous! Новый, свежий, яркий уже в Regina bar 🍸 #reginabar#gin#regina

Regina Bar

@reginabargin · Post #221 · 07.05.2025 г., 10:38

Три поколения семьи Друэн занимаются производством превосходного кальвадоса, известного всему миру. Но кальвадос - не единственный прекрасный напиток в их линейке. Мастер-дистиллер Гийом Друэн создал уникальный Le Gin (Джин с большой буквы), на основе дистиллята из яблочного сидра. Помимо традиционного можжевельника в состав вошли еще 7 натуральных растительных ингредиентов, наиболее гармонично сочетающихся с ароматом кальвадоса. Это имбирь, ваниль, лимон, кардамон, корица, лепестки розы и миндаль, причем каждый из них был настоян и дистиллирован отдельно, а затем смешан в определенных пропорциях. Le Gin - единственный в мире джин, в котором соединились ароматы 30 сортов нормандских яблок и 8 растений с разных уголков планеты. В Regina мы делаем с ним White lady, Aviation и Gimlet, хотя с тоником он потрясающий. #gin#reginabar#regina

Regina Bar

@reginabargin · Post #206 · 11.03.2025 г., 17:12

История бренда Mirabeau (Мирабо) связана с именем британца Стивена Кронка и его супруги Джинни, которые в 2009 переехали из Лондона в Прованс и основали компанию по производству розе. Немного от автора: Для начала мы думали, что сможем купить виноградник и делать вино из собственного винограда, но быстро поняли, что на деньги, которые я получил после увольнения, и на деньги от продажи нашего дома этого не сделать. У нас не было — и до сих пор нет — таких ресурсов, как у Джеймса Дайсона, у которого неподалёку есть винодельческое хозяйство, или у Брэда Питта, чей замок находится за холмом. Вместо этого мы арендовали дом в Котиньяке, в получасе езды от Экс-ан-Прованса, и сосредоточились на поиске лучшего винограда у местных виноградарей и его смешивании для создания лучших розовых вин. В 2010 году мы выпустили наше первое отмеченное наградами кюве Mirabeau Classic, а сейчас продаём его в 45 странах мира, выпуская четыре коммерчески доступных вина и 100 000 бутылок в год. Мне до сих пор приходится ущипнуть себя, когда наши вина получают отличные отзывы или завоевывают очередную медаль на дегустации, потому что это воплощение мечты. (С) На основании такой востребованности вина, Кронги, решили создать ультра-премиальный джин, связанный с британским происхождением - London dry, но не так прямолинейно. Для изготовления джина Mirabeau используют виноградный спирт и различные ботаникалы. Напиток был вдохновлён ароматом растений, которые растут в винодельческом поместье недалеко от Сен-Тропе, и всемирно известной парфюмерной историей этого места: Цедра ментонских лимонов, кориандр, корни ириса и дягиля, лепестки роз сорта Rose de Mai, лаванда, жасмин, тимьян и розмарин. Джин Mirabeau Rose Gin Dry имеет множество наград с международных конкурсов: обладатель золотой медали — World Gin Awards 2020 Design; серебряный призёр — World Gin Awards 2020; серебряный призёр — San Francisco World Spirits Competition; обладатель золотой медали «Дизайн» — San Francisco World Spirits Competition; серебряный призёр 90 баллов — IWSC 2020; обладатель золотой медали — Meininger's International Spirits Award ISW 2020. Он розовый, прекрасный, с красивой айдентикой, подчеркивающей его происхождение. И Mirabeau - один из редких джинов, которые мы в Реджине не ротируем от недели к неделе, а держим на полке всегда. #gin#ginplace#regina

Regina Bar

@reginabargin · Post #217 · 25.04.2025 г., 13:03

Посмотрите какого красавчика мы завели в баре прямиком из Австралии. Four Pillars Bloody Shiraz Gin Джин с колоритным названием Bloody Shiraz Gin. Настаивался напиток на винограде Шираз урожая 2019 года. Процесс длился восемь недель, а каждый день жидкость тщательно перемешивали. На финише будущий джин сцедили, а вот фильтровать не стали, чтобы сохранить уникальный вкус и аромат. В результате получился джин насыщенного красного цвета с цитрусово-ягодным ароматом и приятным, пряным послевкусием. Крепость напитка составила 37,8%. Это очень вкусно в гимлете, потрясающе в кловере и неожиданно в негрони. Приходите попробовать) #gin#fourpillars#regina#reginabar#cocktails

GitHub Trends

@githubtrending · Post #14904 · 03.07.2025 г., 12:00

#go#ai_assistant#ai_generated_code#cloud_native#code_generation#custom_templates#developer_tools#development_framework#gin#go_sponge#golang#grpc#grpc_gateway#low_code#microservice#protobuf#restful_api#sponge#web Sponge is a powerful Go development framework that helps you quickly build backend services like RESTful APIs and microservices with minimal coding. It generates modular Go code automatically by parsing SQL, Protobuf, and JSON files, letting you create complete backend projects through a simple web interface without complex commands. Sponge supports custom templates and integrates AI assistants (like ChatGPT) to help write business logic, greatly speeding up development and reducing repetitive work. It also offers full support for testing, API docs, and deployment, making your project more stable, efficient, and easier to maintain. This saves you time and improves code quality. https://github.com/go-dev-frame/sponge