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

Резултати

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

Търсене: #player

当前筛选 #player清除筛选
Libreware

@libreware · Post #1526 · 25.01.2026 г., 17:48

SOUND CROWD (Gnu Gpl 3) #Android#music#player app with support for waveforms, audio tagging via Shazam, and streaming from SoundCloud, YouTube, Spotify, Beatport, and Tidal Details : SoundCrowd is a free, open-source and lightweight music player for Android in modern material design, specialized for playing long music tracks (DJ mixes, live sets, audio books). The app contains build-in plugin modules to support the following online streaming services: 0. SoundCloud (requires free account) 1. YouTube 2. Spotify (requires account with (Optional) active premium subscription) 3. Beatport (requires free account, requires subscription to play full-length tracks) 4. Tidal (requires account with active subscription) Get it on >F-Droid (IZZY repo) - https://apt.izzysoft.de/fdroid/index/apk/com.tiefensuche.soundcrowd > Github - https://github.com/soundcrowd/soundcrowd

Libreware

@libreware · Post #959 · 28.06.2021 г., 08:06

BlackHole Music Player made with Flutter Features Best Streaming Quality (320kbps) Music Search Trending Songs Support 15+ music languages Local and Global Top Spotify songs Add Songs to Favorite Playlists support Import Playlists from Spotify Sleep timer Lyrics Support Listening history record Dark mode / accent color Download for offline play (320kbps with ID3 tags) Play Online as well as Offline Songs Queue Management Auto Update Check Cache support No Subscription No Ads More to come... Download https://github.com/Sangwan5688/BlackHole/releases Channel @blackhole_channel Group https://t.me/joinchat/fHDC1AWnOhw0ZmI9 #BlackHole#Music#Player

💎 Next Player 视频播放器v0.14.0 精简版 9.3 ♻️资源介绍:Next Player是一款用 Kotlin 和 jetpack compose 编写的原生视频播放器,拥有一个简单易用的媒体播放界面 ⬇️本地下载| 🔵网站下载 🔔标签:#安卓软件#Next#Player#视频播放器

💎 MX Player v2.6.0纯净版 85 ♻️资源介绍:安卓最强本地视频播放器,全球知名度都很高。MX Player,安卓平台最受欢迎的本地视频播放器,影音发烧友必备高清播放器,它以超强大的解码性能以及兼容性闻名,对字幕的支持堪称一绝,能够兼容特效字幕,支持在线字幕匹配,看外语片无需找字幕! ⬇️本地下载 🔔标签:#安卓软件#MX#Player#播放器

STAR

@star_pubgm0 · Post #4947 · 02.07.2024 г., 11:20

🤩 Welcome, Star! Понемногу готовимся к предстоящей оффлайн-лиге PMSL CSA 2024: Fall и проводим трансфер молодого киберспортсмена из De Muerte. #GOGOHBT#announcment#player

⭐️【资源名称】: MX Player 🤖【适用平台】: #Andoid 🔄【应用版本】: 2.1.2 🔩【应用大小】:44.6MB 🧱【资源介绍】 安卓最强本地视频播放器,全球知名度都很高 🟢纯净版 🟡在线下载:点击下载(无需密码) 🟡 uc下载:点击下载(无需密码) 🔄迅雷网盘:点击下载(无需密码) 📁#安卓软件#MX#Player#播放器

💎Ghosten Player v2.2.1 支持TV+安卓手机 29 ♻️资源介绍:越来越多人热衷于折腾自己的视频库,不再满足于平台有限的片源,那么一款能打通云盘、本地文件、直播和投屏的全能播放器,才是真正的「数字娱乐枢纽」 ⬇️本地下载| 🔵网站下载 ❤️资源指南: 💠主频道|🧑‍💻合作|🤖游戏|👍群聊 🔔标签:#安卓软件#Ghosten#Player#电视软件

折腾实验室频道

@TossLabChannel · Post #955 · 17.01.2026 г., 07:01

#播放器#Windows#Player#Danmaku#Anime 📺弹弹play (DanDanPlay) 专为动画爱好者打造的本地弹幕播放器。它的核心理念是将“本地硬盘的高画质”与“在线视频的弹幕互动”完美融合。无论你的视频文件藏在哪里,它都能让你重拾追番时的热闹氛围。 ⠀ 🎯智能识别与匹配 全网首创的视频识别引擎,无需手动重命名,能自动忽略文件名中的杂乱信息(如字幕组、分辨率等),精准识别番剧集数并自动加载网络弹幕。 ⠀ 📥内置资源下载 集成了 BT 和磁力链下载功能,支持“边下边看”,还能自动将下载好的动画归类整理,打造整洁的本地媒体库。 ⠀ 📱远程媒体中心 支持开启 Web 远程访问,瞬间将电脑变为家庭媒体服务器。你可以在手机、平板或其他设备上,远程播放和管理电脑中的视频资源。 ⠀ 🤖AI 辅助功能 紧跟时代,内置了 AI 语音识别技术,支持本地视频自动生成字幕以及实时翻译,啃生肉不再困难。 🔘@TossLab🔘@TossLabChannel

ПредишнаСтр. 1 от 3Следваща