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

Търсене: #agc

当前筛选 #agc清除筛选
折腾实验室频道

@TossLabChannel · Post #488 · 06.01.2025 г., 14:47

#AGC#视频播放器#全平台支持 AGC Player:全功能视频播放神器 AGC Player 是一款高效强大的视频播放器,适用于 Windows、Mac、iOS 和 Android 平台,满足不同用户的播放需求。它支持主流的视频格式,提供流畅的视频播放体验,且具备以下特色功能: • 多格式支持:兼容 MP4、MKV、AVI 等常见格式,无需额外解码器。 • 云端同步:支持多设备间播放记录与列表同步,随时无缝衔接观看。 • 播放增强:支持倍速播放、字幕加载及画质优化,体验更加个性化。 • 简单易用:直观的操作界面,即使是新手用户也能快速上手。 点击下载组件 到手机直接上传到播放器 AGC Player 是一款适合家庭娱乐、教育学习甚至专业视频需求的必备工具! 📢 群聊: @TossLab 🎈 频道: @TossLabChannel ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ 🔘折腾系列频道 - 全面介绍 🔘境外离岸银行教程合集目录 🔘折腾实验室优质Github项目合集

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #735 · 01.05.2026 г., 18:00

Volcarona - AGC Config | Nothing Phone 2 (Pong) ✍️ Details: - Supports AGC 8.4 & 9.2 - Config can be downloaded from AGC Toolkit or Telegram ⬇️ GCAM: 8.4 | 9.2 ⬇️ Toolkit Link for the Config : ToolKit 📮 Original Post: Here 📝 Changelogs: * Initial Release for pong ⚙️ Installation 8.4 1. Copy the config inside Download/AGC.8.4/configs (create folder if it doesn't exist) 2. Open GCam then swipe down to open the top menu 3. Click on "Load Configs" > select the config > load 9.2 1. Copy the config inside Download/AGC.9.2/configs (create folder if it doesn't exist) 2. Open GCam then click on the profile icon on the app right 3. Click on "Load Configs" > select the config > load ⚠️ Notes - Use lite configs if the profiles list does not load all the profiles in regular version 👨‍💻 Adapted by: @Abdulhubbali 🌐 Discussion: @NothingPhone2Photography 🔖 Tags: #agc#gcam#config

Oneplus 13 Updates

@OnePlus13Series · Post #369 · 15.01.2026 г., 09:19

LM.CCD config adapted for OnePlus 13 ⬇️ Download Gcam App (pick aweme variant) What's Working : Main, Telephoto, Selfie, UW, Night Sight, Portrait, Videography (4k 60fps + Stabilization) Changelogs : • Based on LM.CCD_v3_Sabre config by LaoMa • Upscaling is enabled by default for Selfie Camera • Removed extra profiles (which i felt useless) • Miscellaneous small tweaks done by me. XML (.agc) Save Directory: /Download/AGC 9.2/configs All credit goes to the original creator of the config. #gcam#xml#agc 👤 Adapted by: @pulkittg 🔔 Updates: @OnePlus13Series 💬 Discussion: @OnePlus13SeriesChatRoom

小小溪部落

@Tribebrook · Post #45 · 24.06.2025 г., 08:31

#抽奖预告 #AGC - Video Player #播放器#emby#jellyfin AGC - Video Player是一款由 Zetao Yang 开发的媒体播放器应用,可在 Mac App Store 上获取。这款应用旨在通过自定义小组件、高级流媒体功能以及无缝的隔空播放和字幕支持来提升媒体体验。 主要功能包括: * 自定义小组件: 提供个性化体验。 * AI 驱动的媒体库管理: 组织视频文件并抓取元数据。 * 多视频格式支持: 支持多种视频格式,并支持杜比® 和 DTS 音频。 * 直接流媒体播放: 可直接从其他设备和云服务进行流媒体播放。 安排时间抽两个iOS终身版 一个安卓端终身版 Tips:先下载 再激活 Apple Store下载地址:https://agcplayer.com/?inviteid=236514