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

Резултати

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

Търсене: #greatlakes

当前筛选 #greatlakes清除筛选

🚢"Ocean7 Ranger" открывает навигационный сезон 2026 в порту Дулут. Многоцелевое судно "Ocean7 Ranger" стало первым океанским судном, прибывшим в порт Дулут (Duluth Seaway Port Authority) в рамках открытия навигационного сезона 2026 года. Судно доставило 33 единицы проектного груза, включая оборудование массой до 130 тонн, в терминал Clure на озере Верхнее. Груз, загруженный в Китае и Южной Корее, был доставлен через Тихий океан, Панамский канал и Атлантику с последующим входом в систему Великих озер и реки Святого Лаврентия. После выгрузки дальнейшую логистику, включая перегрузку и транспортировку в Альберту (Канада), обеспечивает оператор Duluth Cargo Connect. С отраслевой точки зрения событие подчеркивает уникальную роль системы Великих озер как глубинного логистического коридора, позволяющего доставлять океанские грузы вглубь Северной Америки. Такие маршруты особенно востребованы для проектных грузов, где важна минимизация перегрузок и оптимизация логистики. Начало навигационного сезона также отражает сезонную цикличность региона, где открытие портов после зимнего периода формирует важный импульс для грузопотоков и региональной экономики. 📌Duluth Seaway Port Authority — основана в 1955 году, государственная портовая администрация, принадлежит штату Миннесота (США). #projectcargo#GreatLakes#shipping#logistics#USA

🚢Операторы Great Lakes требуют пошлин на иностранные суда для защиты рынка США. Американская отраслевая ассоциация Lake Carriers’ Association обратилась к торговому представителю США с предложением ввести сборы на суда иностранной постройки, работающие в системе Великих озёр. Инициатива направлена прежде всего против канадских операторов, активно использующих суда, построенные за рубежом. Предложение рассматривается в рамках расследования Section 301, охватывающего судостроительные отрасли Китая, Южной Кореи и других стран. Возможные меры включают тарифы и ограничения в случае признания наличия «избыточных мощностей». Инициатива отражает усиление протекционизма в судоходстве, особенно в сегменте внутренней и прибрежной торговли. Американские операторы стремятся защитить флот, построенный в США, который сталкивается с более высокими капитальными затратами. Дополнительно предложение предполагает создание фонда для субсидирования строительства и обслуживания американских судов, что может стимулировать локальное судостроение. Таким образом, рынок Великих озёр становится ареной торгово-промышленного противостояния, где конкуренция смещается от операционных факторов к регуляторным и политическим инструментам. 📌Lake Carriers’ Association — основана в 1880 году, отраслевая ассоциация судовладельцев США, представляет операторов флота на Великих озёрах, принадлежит членам ассоциации. #shipping#GreatLakes#trade#shipbuilding#regulation

🚢Порт Дулута ввёл в эксплуатацию реконструированный тяжеловесный причал с приёмом проектного груза. Duluth Seaway Port Authority завершила ключевой этап 30-летней программы модернизации, официально открыв обновлённый причал Berth 10 на терминале Clure Terminal Expansion. Событие ознаменовано заходом буксира "Meredith Ashton" с 240-футовой баржей для перевозки проектных грузов — первым судозаходом на данный участок за несколько десятилетий. Реконструкция фактически трансформировала устаревшую зерновую инфраструктуру начала XX века в специализированный тяжеловесный хаб. После демонтажа зерновых элеваторов в 1997 году площадка последовательно развивалась, получив импульс за счёт федерального гранта TIGER ($10 млн) и последующих инвестиций. Финальный этап стоимостью $10,5 млн, завершённый в марте 2025 года, обеспечил ввод причалов Berth 10 и 11, расширив портовые мощности по приёму судов и размещению грузов. С инженерной точки зрения, ключевым результатом проекта стало формирование универсального тяжеловесного терминала с четырьмя причалами для обработки тяжелых и проектных грузов, интеграцией ro-ro операций и прямым железнодорожным доступом на причале, что существенно повышает эффективность обработки негабаритных и проектных грузов, снижая перегрузочные операции и время транзита. В стратегическом разрезе Duluth Cargo Connect использует терминал как ядро мультимодальной логистики региона, усиливая роль порта Дулута как центра обработки балкерных и тяжеловесных грузов в центральной части Северной Америки. Диверсификация от традиционных навалочных грузов в сторону проектной логистики отражает общий тренд Great Lakes на расширение номенклатуры и повышение маржинальности портовых операций. 📌Duluth Seaway Port Authority — основана в 1955 году, является государственным портовым органом, управляющим портом Дулут-Супериор (штат Миннесота, США). Находится в публичной собственности и действует как независимая портовая администрация. #ports#heavylift#projectcargo#logistics#GreatLakes

🚢Mainstay Maritime продаёт канадский бизнес Lower Lakes и шесть судов Algoma. Американская Mainstay Maritime договорилась о продаже трёх канадских операционных компаний и шести судов под канадским флагом корпорации Algoma Central Corporation. В сделку входят активы Lower Lakes Towing и суда “Kaministiqua”, “Manitoulin”, “Robert S. Pierson”, “Saginaw”, “Michipicoten” и “Valo”. Закрытие: при стандартных условиях. Продажа позволяет Mainstay (бывшая Rand Logistics) сосредоточиться на рынке США под действием закона Джонса (Jones Act) и реинвестировать в американский флот. Для Algoma приобретение усиливает канадский dry bulk-сегмент на Великих озёрах за счёт расширения флота и команды Lower Lakes. С точки зрения рынка, сделка отражает стратегическую специализацию операторов по юрисдикциям (US Jones Act vs. Канада) и консолидацию регионального тоннажа в бассейне Великих озёр. Ожидается оптимизация маршрутов и повышение операционной эффективности в канадском сегменте. 📌Algoma Central Corporation — канадская судоходная компания, основанная в 1899 году, специализируется на перевозках навалочных грузов, танкерном и морском сервисном флоте. Акции обращаются на Toronto Stock Exchange; компания является публичной и принадлежит институциональным и частным инвесторам. #GreatLakes#JonesAct#DryBulk#Algoma#ShippingDeals