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 подобни публикации

Търсене: #serve

当前筛选 #serve清除筛选
Полный беспилот

@polnybespilot · Post #677 · 02.01.2025 г., 10:28

Роботакси и робокурьер столкнулись в США. И поехали дальше. Роботакси Waymo врезалось в робота-доставщика Sеrve, который переезжал пешеходный переход на запрещающий сигнал светофора в Западном Голливуде в Лос-Анджелесе. На видео – робокурьер не доезжает около метра до конца пешеходного перехода и сдаёт назад (возможно, чтобы ему было удобнее заехать на бордюр). В этот момент справа поворачивает автономный автомобиль и задевает робота. Вскоре после этого робот уезжает. В Waymo заявили, что автомобиль верно распознал «неживой объект» и совершил экстренное торможение. В реальности мы видим ДТП, к которому без видео с компьютера автомобиля возникает очень много вопросов. Мог ли робокурьер оказаться в слепой зоне роботакси? Почему робот, двигаясь на красный, совершает такие странные действия? Serve Robotics – один из партнёров Uber Eats в Лос-Анджелесе. Компании начали сотрудничать в мае. Waymo в ноябре открыла сервис роботакси в Лос-Анджелесе для всех желающих. #waymo#serve

Hashtags

Полный беспилот

@polnybespilot · Post #609 · 01.10.2024 г., 14:49

В США тестируют доставку еды дронами и роботами-курьерами одновременно. Пилотный проект запустили в Сан-Франциско разработчик роботов-доставщиков Serve Robotics и оператор дронодоставки Wing (Alphabet). Робот-доставщик Serve будет забирать еду из ресторанов и везти к автопогрузчику, откуда её заберут беспилотные летательные аппараты Wing. Загружать заказ в контейнер робот будет сам, с помощью манипулятора. Тестирование продлится несколько месяцев. В Serve Robotics рассчитывают, что общее время доставки не превысит 30 минут, а зона доставки расширится до 10 километров. #wing#serve

Hashtags

浮光絮语: Name: 大尺度《为人民服务》Serve the People(2022)[1080P].[韩语中字] 挑战韩国电影尺度的浪漫激情唯美之作 Size: 1GB 武光(延玗臻饰)以模范士兵的身分至师团长家担任伙房兵,他的目标就只有一个——为了妻小努力出人头地。然而,在师团长出差时,年轻貌美的夫人秀莲(智眼饰)竟对武光展开危险 ... Link: 👉Press me and click START to get the hidden link #大尺度#为人民服务#Serve#the#People#韩国电影尺度#延玗臻#情色#Quark#求转存 ♾@gdsharing♾Telegram/电报/纸飞机的网页端:可能无法点击链接 #1 xin: 为人民服务 💬 #2 66: 为人民服务 #3 66: 为人民服务资源