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

Резултати

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

Търсене: #soft

当前筛选 #soft清除筛选
senk0n blog

@s0blog · Post #930 · 29.03.2021 г., 19:42

Там оказывается летом активно начали разработку Sandboxie с уже открытым исходным кодом Радует что такой #soft подхватили и не дали умереть, именно он позволяет не пользоваться антивирусом и спокойно открывать неизвестные файлы/приложения

Hashtags

senk0n blog

@s0blog · Post #856 · 06.09.2020 г., 23:31

#soft | AnyDesk Актуализировал самые важные для меня результаты, плавность и задержку, с тестов на сайте AnyDesk. По итогу, оно таки безоговорочно лучшее решение для удалённого управления.. наглядно • local network –Test 1: Framerate AnyDesk - 60 fps Chrome - 30 fps RDP - 25.2 fps –Test 2: Latency (avg of 10 results) AnyDesk - 13 ms Chrome - 68 ms • mobile LTE (85/60Mbps) –Test 1: Framerate AnyDesk - 60 fps Chrome - 30 fps –Test 2: Latency (avg of 10 results) AnyDesk - 29 ms Chrome - 102 ms P.S. но управление с тел, особенно хостом с несколькими экранами, нравится больше таки у хрома

Hashtags

senk0n blog

@s0blog · Post #850 · 25.08.2020 г., 20:39

Обнова W10T и обзор нового, чертовски полезного, сайта - win10tweaker.pro Крайне советую ознакомиться с данным твикером, и плейлистами Хачатура #soft

Hashtags

senk0n blog

@s0blog · Post #834 · 31.07.2020 г., 09:24

Жест двойного нажатия по задней панели like Pixels на Android 11 Офигенный порт фичи, работает даже на моём RN5.. TapTap.apk | last release at GitHub#soft

Hashtags

senk0n blog

@s0blog · Post #831 · 29.07.2020 г., 22:00

Дубзек о5 радует офигенными #softнаходками > ModernFlyouts для замены всплывашек громкости/яркости/капса и билд готовящейся к релизуверсии 0.3.0 upd: 0.3.0 уже релизнули, с установщиком нормальным даж..

Hashtags

senk0n blog

@s0blog · Post #766 · 21.05.2020 г., 01:20

Мелкомягкиепредставили некий PowerToys Run (аналог Spotlight на максось) Релиз запланирован на сентябрь, а пока тестим отсюда#soft

Hashtags

senk0n blog

@s0blog · Post #765 · 19.05.2020 г., 16:22

#Soft под Windows, которым я пользуюсь 👌 • ShareX – лучший комбайн для скрин&записи (my_cfg, yourls) • Snipaste – удобнейшая скринилка, но не заменяет и половины ShareX • Clipdiary – менеджер буфера обмена • QTTabBar – вкладки в проводнике (my_cfg, жду нативныеUWP Files) • QuickLook – аналог “Quick Look” в macOS • IObit Unlocker – жёсткое удаление файлов (фикс для Shift+ПКМ) • TaskbarX – анимированные иконки на taskbar по центру • TranslucentTB – прозрачный taskbar • Inspired by Adobe by XpucT – любимый курсор (цвета в комментах) upd: senk.one/winsoft

Hashtags

senk0n blog

@s0blog · Post #749 · 05.05.2020 г., 06:43

Наконец-то сделал на своём домене senk.one нормальную штуку для сокращенных ссылок - YOURLS Офигеть как удобно, а с темой даже красиво. Есть готовый конфиг для ShareX. Использую эти плагины: Sleeky (тема), 302-instead, 404 If Not Found , Expiry, Don't Log Health Checker, No-Tracking-Admins, AuthMgrPlus. и для фана - Typer🌚 Спасибо @keimoger за идею. #soft

Hashtags

senk0n blog

@s0blog · Post #742 · 29.04.2020 г., 06:12

Instander @thedise выпустил свой мод инсты без рекламы и со скачиванием, чего ещё можно желать? Наконец-то всегда свежая версия.. спасиба Дися Скачать новую версию можно на его канале по хэштегу thedise.ru/instander #soft upd: офф канал @instander

Hashtags

senk0n blog

@s0blog · Post #648 · 24.02.2020 г., 10:39

Эксклюзив от Утки, калькулятор с флайма (мейзу) Постить повторно не буду, качаем у Дайса #soft

Hashtags

123•••78
ПредишнаСтр. 1 от 8Следваща