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

Резултати

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

Търсене: #ssp

当前筛选 #ssp清除筛选

🔥 技术总监(广告商业化)招聘 | 100k-150k+ | 远程办公 📍 岗位:远程技术总监(广告商业化方向) 💰 薪资:100k-150k+ 👥 人数:1人 📍 地点:远程/在家办公 💼 核心职责: • 负责广告商业化核心技术平台的整体架构设计与演进 • 规划并建设广告数据平台,完善数据采集、清洗、分析全链路 • 搭建SSP、DSP、DMP、Ad Exchange、RTB、反作弊等核心模块 • 带领广告技术团队,推动广告投放效率与流量变现能力提升 ✅ 任职要求: • 10年+互联网技术研发经验,5年+广告技术/程序化广告管理经验 • 有从0到1搭建核心系统或技术团队的成功经验 • 精通Java/Go/Python等主流后端开发语言 • 具备良好的英文读写能力 ⭐️ 加分项: • 有AppLovin、Google Ads、Meta、TikTok for Business等公司工作经验 • 有头部Ad Network、Ad Exchange程序化广告平台核心系统研发或架构经验 📬 投递:简历投递:@foya010 #招聘#远程工作#技术总监#广告技术#程序化广告#AdNetwork#DSP#SSP

Libertà è ragione

@libertaeragione · Post #4455 · 11.03.2026 г., 11:11

#Elezioni#Nepal Risultati definitivi: Affluenza: 58,07% (-3,34 rispetto al 2022, proporzionale) #RSP|Centro-sinistra: 182 seggi (+162 rispetto al 2022) #NC|Centro-sinistra: 38 (-51) #CPNUML|Sinistra: 25 (-53) #NCP|Sinistra radicale: 17 (-28) #SSP|Populisti per la democrazia di base: 7 (+7) #RPP|Destra monarchica indù: 5 (-9) Indipendenti: 1 (-2) #PSPN|Centro-sinistra federalista: 0 (-12) #JP|Sinistra del Terai: 0 (-12) #NWPP|Juche: 0 (-1) #RJ|Estrema sinistra anti-federalista: 0 (-1) Totale seggi: 275 Maggioranza: 138 In foto, la mappa del voto. @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #3982 · 06.10.2023 г., 00:56

#Elezioni#RegnoUnito#Suppletive#RutherglenHamiltonWest Risultati definitivi: Michael #Shanks (#LAB|S&D): 58,6% Katy #Loudon (#SNP|G/EFA): 27,6% Thomas #Kerr (#CON|Centro-destra): 3,9% Gloria #Adebo (#LDEM|RE): 2,9% Cameron #Eadie (#Greens/#ScotsGreens|G/EFA): 2% David #Stark (#Reform|Destra populista): 1,3% Niall #Fraser (#SFP|Destra familiarista cristiana): 1% Bill #Bonnar (#SSP|Sinistra indipendentista): 0,9% Colette #Walker (#ISP|Indipendentisti): 0,7% Christopher #Sermanni (#TUSC|Sinistra): 0,6% Andrew #Daly: 0,3% Ewan #Hoyle (#Volt|G/EFA): 0,2% Prince Ankit #Love, Emperor of India: 0,1% Garry #Cooke: 0% LAB GUADAGNA su SNP. @OsservatorioEsteri