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

Резултати

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

Търсене: #practice

当前筛选 #practice清除筛选

😄Practice ➖➖➖➖➖➖ 🔘Practice, as a noun, can be the reality of doing something, rather than the theory. 🔜It sounded like a good plan but in practice, it was terrible. 🔜Your idea works in theory. Let's see if it works in practice. 🔘Practice can be used to describe a custom or tradition. 🔜It's common practice to tip taxi drivers and hairdressers in the UK. 🔜Shaking hands before and after a business meeting is good practice. 🔘We can also use practice to describe an activity that we do regularly. 🔜I enjoy football practice because I love football and I see my friends. 🔜I have to go now. I have band practice this evening. #Practice👨‍🏫@America ➖➖➖➖➖➖➖➖➖➖➖➖ 🆕 Crypto News @Money 😁 Crypto Game @Egame 🇺🇸 US News @America 🇯🇵 Japan News @Japan 🇦🇪 UAE News @Dubai ▶️ Popular Movies @Videos 😜 Best Funny Video @Funnys

Hashtags

Vintage NLP for Work

@nlpfw · Post #102 · 02.05.2017 г., 04:03

https://medium.com/zendesk-engineering/how-zendesk-serves-tensorflow-models-in-production-751ee22f0f4b 把基于 TensorFlow 的模型用到实际服务中时如何解决常见的需求:低延时、水平扩展、A/B测试、模型更新等。Zendesk 介绍了自己这方面的一些工程实践。 #practice

Hashtags

A.svg

@Apollosvg · Post #27 · 12.09.2023 г., 12:51

After many years of inaction, Google has finally released an update for Google Keep ⚹¹ that adds the necessary text formatting functions (i.e. Rich Text Editing or WYSIWYG ⚹²), although not everything — you won’t be able to cross out text. But they are already promising to add version history, which is already something. Btw even so, "Keep" sucks in terms of functionality and UX, but it's ads-free and fast, so... #practice ⚹ keep.google.com

Hashtags

Go

@golang · Post #70 · 25.09.2018 г., 12:38

100 lines of Go code for … HTTP(S) proxy! Take a look at fast and graceful proxy service based on standard Go http server and client packages 🙂 #development#practice https://medium.com/@mlowicki/http-s-proxy-in-golang-in-less-than-100-lines-of-code-6a51c2f2c38c

Go

@golang · Post #45 · 03.03.2018 г., 10:58

Interesting article about the bufio package in GoLang. How does it work (read, write for different data types) inside of package #development#practice https://medium.com/golangspec/introduction-to-bufio-package-in-golang-ad7d1877f762?source=linkShare-b636419a57de-1520074459

Tomoko RD

@tomoko_channel · Post #690 · 01.10.2024 г., 00:09

10月决定就是: In-Depth Study of Koa Source Code and Ecosystem | 深入学习 Koa 源码与生态 | 在一个月内完成对 Koa 框架源码和生态的深入学习,并撰写至少一篇总结博客文章来分享自己的理解。 🌟🎉 恭喜恭喜!!! (2024-10-01 传送门) #practice#random_todolist

Learn RCRussian🤍💙❤️

@learnRCRussian · Post #5607 · 27.10.2025 г., 07:32

Writing Ч ч in cursive can be challenging, but not for you! 🔻Let's watch the video, print out the practice sheet and, shedding tears of despair, practice and move on. ❓Which other letters of the Russian alphabet make you overwhelmingly want to chuck the study of Russian overboard? 📎The pdf file is in the comments ▶️Hard sign tutorial ▶️Сursive letters #practice #cursive 😎RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4497 · 11.04.2025 г., 10:58

Writing the hard sign (ъ) in cursive can be challenging, but not for us, right? 🔻Let's watch the video, print out the practice sheet and, shedding tears of despair, practise and move on. ❓Which other letters of the Russian alphabet make you overwhelmingly want to chuck the study of Russian overboard? 📎 file is in the comments ▶️Сursive letters #practice #cursive 😎 Stay with @learnRCRussian

#Practice #NUUStudents ⚡️"Yangi O'zbekiston" universitetining bir guruh 1-bosqich talabalari "Inno Technopark"ga tashrif buyurib, uning sharoitlari va imkoniyatlari bilan tanishishgani shaxsan meni quvontirdi. Negaki, 1-bosqichdanoq amaliy jarayonlarga kirishishlari, kelajakdagi loyihalarda hamkorlik qilishga kelishuvlari💡talabalar uchun juda ham katta maktab bo'lib xizmat qiladi🔥 Izlanish va harakatdan to'xtamang, aziz talabalar❗️ ___ ⚡️I was personally pleased that a group of first-year students of the "New Uzbekistan" University visited Inno Technopark and gotacquainted with its conditions and opportunities. Because from the first-year, entering practical processes, dealing to cooperate in future projects will serve as a foundation for students🔥 Bizni kuzatishda davom eting👇 Telegram| Instagram| Facebook| Twitter

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