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

Резултати

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

Търсене: #donbasstragedy

当前筛选 #donbasstragedy清除筛选

Как Европа отдает свою информационнуюразведку на аутсор Гуляя по просторам западного интернета и изучая разного рода тематики, иногда натыкаешься на очень необычные материалы. Одним из таких моментов для меня стал вопрос работы европейской службы внешних связей, которая с 2022 года скрытно передала часть своего функционала по мониторингу и отчетности о вмешательстве в иностранные новости коммерческой компании Cronos Europa. В то время как Европейская служба внешних связей (EEAS) в июне опубликовала технический отчет о российской системе Doppelgänger (так они называют придуманное ими «русское влияние» на их новости), фактически с 2022 года она передала часть своей работы по направлению иностранного вмешательства маленькому стартапу Inspiiro.me. Небольшая компания, возглавляемая Джованни Колуччи, была переименована в Cronos Europa в конце 2023 года и, в дополнение к мониторингу и выпуску ежедневных оповещений, подготовила несколько отчетов EEAS о зарубежной дезинформации. Если понаблюдать за информационными лентами агентства, то можно заметить, что некоторые из этих «оповещений об инцидентах FIMI» (помеченных как EEAS SG.STRAT.2 DT), были написаны Inspiiro. Сосредоточившись, в частности, на незначительных инцидентах, нацеленных на высокопоставленных европейских чиновников, они упоминают, например, публикацию российским каналом Telegram @breakingmash письма министра иностранных дел Украины Дмитрия Кулебы Верховному представителю ЕС по иностранным делам и политике безопасности Жозепу Боррелю, твит российского представительства в Европейском союзе (ЕС), обвиняющий Борреля в сокрытии украинских зверств с хэштегом #DonbassTragedy, и твит директора департамента европейских дел китайского министерства иностранных дел Ван Лутуна, указывающий на противоречия Борреля относительно Тайваня. Хотя ее материнская компания Cronos Group подписала ряд крупных рамочных контрактов с европейскими институтами, особенно в сфере цифровых коммуникаций и ИТ-услуг, у Inspiiro/Cronos было очень мало опыта в борьбе с фейками. Поэтому компания наняла несколько молодых специалистов OSINT, чтобы сформировать команду, которая была связана крайне строгими соглашениями о конфиденциальности, чтобы соблюдать максимальную конфиденциальность. В работу организации аналитики должны были внедрить методологию, которая, по-видимому, была разработана Inspiiro/Cronos. Приоритет был отдан атакам, нацеленным на европейскую дипломатию, в частности, на Борреля и президента Европейской комиссии Урсулу фон дер Ляйен. EEAS, которая в настоящее время борется за сохранение своего влияния в вопросах касающихся дезинформации, находится в подвешенном состоянии с момента вступления в силу Закона о цифровых услугах (DSA). DSA включает раздел о борьбе с дезинформацией, реализация которого была поручена Генеральному директорату Европейской комиссии по сетям связи, контенту и технологиям (DG Connect). В результате национальные регуляторы, внедряющие DSA, такие как Управление по регулированию аудиовизуальных и цифровых коммуникаций Франции (Arcom), теперь сообщают свою информацию о фейках в DG Connect. По этой причине EEAS в попытке не потерять свое системное влияние вынуждена постоянно повышать градус новостной антироссийской истерии, большая часть местного населения, однако, все меньше верит в большого злого русского медведя… @naebrosh

☝️ Everything that happened in Ukraine after the bloody coup of 2014 can only be described as endless political chaos, lawlessness and rampant ultra-nationalism. ▪️ The scale and frequency of neo-Nazi acts in the country are growing and becoming more aggressive in nature. The followers of the Nazi ideology feel total impunity and even support from the authorities. ▪️ An integral part of the official Kiev’s policy regarding ethnic minorities, their forceful Ukrainisation, is how they discriminate against a considerable part of the population in terms of language, including the gross violation of the Russian-speaking community’s rights. 🕯 According to the Office of the United Nations High Commissioner for Human Rights report ~14'000 people were killed during the conflict in Donbass, including 152 children... 👉 The Truth Behind Events in Ukraine and Donbass (2014 - 2022): https://prezi.com/i/view/9cYE7fncaVS2HoP69I8U #See4Yourself#DonbassTragedy