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

Резултати

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

Търсене: #protocols

当前筛选 #protocols清除筛选
Venture Village Wall 🦄

@venturevillagewall · Post #3896 · 16.01.2025 г., 19:00

Tapestry Secures $5.75M for Growth Solana-based social graph protocol Tapestry has successfully raised $5.75 million in Series A funding to boost its development and ecosystem. This funding round aims to enhance the platform's capabilities within the decentralized finance (DeFi) landscape. Read more: The Block #Solana#DeFi#Funding#Protocols#Blockchain#SocialGraphs#Investment#Crypto

djangoproject

@djangoproject · Post #286 · 04.04.2017 г., 20:54

http://www.drdobbs.com/open-source/the-new-asyncio-in-python-34-servers-pro/240168408 In a previous article on the new #asyncio module introduced in Python 3.4, I explained simple use of event loop functions that register, execute, and delay or cancel calls. In this article, I demonstrate more-advanced examples that explore asyncio's support for server and client programming, #protocols, and #transports. #learn

DWF Labs Broadcast

@Dwflabs · Post #177 · 26.01.2023 г., 02:15

[19 Jan to 25 Jan] DWF Crypto Snapshot Our latest #crypto report by DWF Labs Managing Partner Andrei Grachev is up. Check out this week's round up 💫 💠 Bitcoin May See Its Largest #Adoption With Brazil And Argentina #Currency Merger 💠 Vitalik Buterin Addresses Potential #Privacy On Ethereum With Stealth Addresses 💠Ethereum Developers Stress-Test #Network In Anticipation Of ETH Withdrawals 💠DWF Labs Unmask The Potential Of Mask Network With US$5 Million Investment 💠Bridge #Protocols Rise To Prominence With Increased #L2 Solutions Activity 💠SUSHI #Community Stands By The Platform And Gives Up Short Term Gains 💠It’s The Battle Of The Ethereum Scaling Solutions 💠Improved Inflation Sentiment Paves The Way For Female #Crypto Adopters 💠Say Hello To The Future Of #Blockchain-Based Crowdfunded Films Full read here. Missed last week's snapshot? Read here. Follow us on Medium here. Stay up-to-date on the latest DWF Labs updates: Website| Twitter | Linkedin | Telegram

DWF Labs Broadcast

@Dwflabs · Post #139 · 12.01.2023 г., 01:16

[5 Jan to 11 Jan] DWF Crypto Snapshot 🗞️ Our latest #crypto report by DWF Labs Managing Partner Andrei Grachev is up here. Here's your weekly round up 🚀 💠Decentralized Exchange Aggregators See Uptick In Utility 💠Stablecoins Are The New #CBDCs In Hong Kong's Latest Proposal 💠World Mobile Token Launches #EarthNode NFTs On Cardano 💠It's All About The #Experience For The Future Of #NFTs 💠Innovation, #Integration, and Community is Key To A Successful #Blockchain, Says Comparing Layer-1 Platforms: 2022 Edition by The Block 💠Skip The Wait On #NFT Trading With NFT Decentralized Exchanges 💠More Web3 Projects Join Initiatives To Create Safer Blockchain #Ecosystems 💠Ethereum Staking #Protocols Will See A Boom Post-Shanghai Missed last week's snapshot? Read here. Follow us on Medium here. Stay up-to-date on the latest DWF Labs updates: Website| Twitter | Linkedin | Telegram

Venture Village Wall 🦄

@venturevillagewall · Post #4196 · 20.02.2025 г., 04:00

Aptos Accuses Monad of Code Theft Aptos research director Alexander Spiegelman has accused Monad of plagiarizing Aptos' open-source code. Monad co-founder James Hunsaker denied these claims, stating that BlockSTM is an extension and that no Aptos code has been utilized. Meanwhile, Monad recently secured $225M funding led by Paradigm, reaching a $3B valuation. More details: Wu Blockchain News #Aptos#Monad#Blockchain#Investing#Funding#Paradigm#SOL#Ethereum#DeFi#Crypto#VC#Tech#Innovation#OpenSource#FundingRound#Inflation#Protocols#Development#DEX#SecondSwap

Venture Village Wall 🦄

@venturevillagewall · Post #4224 · 23.02.2025 г., 16:00

MCP Revolutionizes AI Tool Integration MCP by Anthropic standardizes AI agents and tools, tackling fragmentation. Over 1,000 MCP servers created, including from companies like Slack and Docusign. Enables seamless functions like airline ticket booking through agents on varied platforms. Supports agent-server chains for contextual decision-making, fostering a cyber-economy where servers and agents can transact. A promising structure for future AI products aiming to innovate search and indexing on MCP rails. 👉 More on MCP: modelcontextprotocol 👉 Join the accelerator for product development: dagihouse #AI#MCP#CyberEconomy#Agents#TechInnovation#SoftwareDevelopment#LLM#Decentralization#Integration#Protocols#DataScience#Research#OpenSource#Finance#Booking#Travel#Server#Economy

djangoproject

@djangoproject · Post #298 · 17.04.2017 г., 07:42

#AI#Artificial_Intelligence #aiohttp #API #AWS #asyncio #audio #automated_testing #automation #atexit #BeeWare #button #client #concurrency #cron #Coroutine #data_analysis #data_mining #data_processing #database #Deep_Learning #Debian #decorator #dispatch #django #dropdownbox #Docker #event #Firefox #form #freeze #functool #Generator #GeoDjango #Google #GPU #Gym #learn #Image_processing #intelligence #input #IOT #lambda #lists #machine_learning #Magenta #map #Metaprogramming #Micro_services #mind #monitoring #MongoDB #Mozilla #Multipart #multi_touch_apps #multiprocessing #Nodes #NoSQL #numeric_computation #numerical #NumPy #OAuth #object_serialization #OCR #overloading #package #parallel #pipeline #protocols #PostGIS #pyAudioAnalysis #PyInstaller #PySide #PyTorch #pytest #python #Pyvideo_archives #Qt #Redis #random #request #REST #satellite #scrapy #scikit_learn #SciPy #searching #submit #selectbox #Selenium #serialization #server #session #socket #sound #task #TensorFlow #text_boxes #text #test #telegram #Thread #transport #tuples #Universe #Unix #urllib #upload #Web

djangoproject

@djangoproject · Post #425 · 28.08.2017 г., 03:37

#AI#Artificial_Intelligence #aiohttp #AngularJS #API #AWS #asyncio #audio #automated_testing #automation #atexit #BeeWare #button #client #concurrency #Coroutine #cron #curl #data_analysis #data_mining #data_processing #database #Deep_Learning #Debian #decorator #dict #dispatch #django #django_cms #dropdownbox #Docker #event #Firefox #form #Generator #GeoDjango #git #Google #GPU #Gym #learn #Image_processing #intelligence #input #IOT #lambda #learn #lists #machine_learning #Magenta #map #Metaprogramming #Micro_services #mind #monitoring #MongoDB #Mozilla #Multipart #multi_touch_apps #multiprocessing #Nodes #NoSQL #numeric_computation #numerical #NumPy #OAuth #object_serialization #OCR #overloading #package #parallel #pipeline #protocols #PostGIS #pyAudioAnalysis #pycon #Pyflakes #PyInstaller #PySide #PyTorch #pytest #python #Pyvideo_archives #Qt #React #Redis #random #request #REST #satellite #scrapy #scikit_learn #SciPy #searching #submit #selectbox #Selenium #serialization #server #socket #task #telegram #TensorFlow #test #text_boxes #text #tuples #unicode #Universe #Unix #urllib #upload #Web

djangoproject

@djangoproject · Post #513 · 30.11.2017 г., 22:00

#AI#Artificial_Intelligence #AJAX #aiohttp #Anaconda #AngularJS #API #Atom #AWS #asyncio (#Asynchronous) #audio #automated_testing #automation #atexit #BeeWare #Big_Data #bitcoin #blockchain #Bluemix #Brython #button #Celery #client #class #classmethod #concurrency #Coroutine #cron #CSS #curl #data_analysis #data_mining #data_processing #database #Deep_Learning#deep_learning #Debian #decorator #deploy #dict #dispatch #django #django_cms #Django_REST_Framework #dropdownbox #Docker #event #Firefox #Flask #form #functions #Generator #GeoDjango #git #Google #GPU #GUI #Gym #host #HTML #httplib #learn #Image_processing #intelligence #input #Instagram #IOT #iPython #Jupyter #lambda #learn #License #Linux #lists #machine_learning #Magenta #map #Matplotlib #Metaprogramming #Micro_services #Micropython #mind #monitoring #MongoDB #modules #Mozilla #Multipart #multi_touch_apps #multiprocessing #Nodes #NoSQL #numeric_computation #numerical #NumPy #network #neural_network #OAuth #object_serialization #OCR #overloading #package #parallel #pipeline #protocols #PostGIS #pyAudioAnalysis #pycon #Pyflakes #PyInstaller #PyPI #PyQt #PySide #PyTorch #pytest #python #Pyvideo_archives #Qt #Raspberry_Pi #React #Redis #random #request #Regular_Expressions (#re) #REST #RSS #satellite #scikit_learn #SciPy #scrapy #searching #selectbox #Selenium #serialization #server #sessions #single_responsibility_principle #socket #Spark #str #submit #task #telegram #template #TensorFlow #test #text_boxes #text #tuples #unicode #Universe #Unix #unit_test #urllib #upload #uWSGI #Web #WSGI