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

Резултати

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

Търсене: #enable

当前筛选 #enable清除筛选
Милов. Команда

@team_milov · Post #5071 · 11.08.2024 г., 10:25

❗️Как обойти замедление YouTube. Инструкция. Ограничение скорости загрузки роликов на YouTube коснулось большей части россиян. Смотреть видео стало либо очень сложно, либо вообще невозможно. Но нам с вами уже не привыкать обходить очередные блокировки Роскомнадзора. Помимо VPN-сервисов есть также другие способы посмотреть ролики. Один из них — программа GoodbyeDPI. К сожалению, этот вариант подходит только для пользователей операционной системы Windows. Владельцам MacOS рекомендуем использовать VPN и браузерные расширения для обхода замедления. Как работать с GoodbyeDPI. 1. Необходимо скачать последнюю версию программы со страницы разработчика. На данный момент это v.0.2.2 или 0.2.3.rc1. Это документ в формате zip во вкладке Assets. 2. Далее нужно распаковать архив. Для этого щелкаем правой кнопкой мыши по файлу и выбираем «Извлечь все». 3. Если у вас установлен антивирус, то в его настройках необходимо добавить папку с GoodbyeDPI в список исключений. 4. Приступаем к запуску программы. Открываем папку с программой, находим файл «1_russia_blacklist.cmd» и запускаем его от имени администратора. 5. После запуска программы внизу открывшегося окна должна появиться надпись «Filter activated, GoodbyeDPI is now running». Не закрывайте это окно. Просто сверните его на панель задач. 6. Открываем браузер и смотрим видео как раньше. P.S. Если после запуска программы видео всё ещё грузятся медленно, то необходимо изменить настройки браузера. ▪️Google Chrome Перейдите по ссылке chrome://flags/. Найдите пункт #enable-quic и переведите переключатель в положение Enabled. Повторите то же самое с #enable-tls13-kyber. ▪️Mozilla Firefox Перейдите по ссылке about:config. Найдите пункт network.http.http3.enabled и переведите переключатель в положение True. Повторите то же самое с security.tls.enable_kyber. ▪️Opera Перейдите по ссылке opera://flags/. Найдите пункт #enable-quic и переведите переключатель в положение Enabled. Повторите то же самое с #enable-tls13-kyber.

Hashtags

Android Core

@android_core · Post #983 · 05.05.2019 г., 15:07

В Chrome Beta 75 сделали более-менее адекватную тёмную тему, но активируется она всё ещё с помощью флага. #enable-android-night-mode

Hashtags

BUNKER

@bunkerrvfx · Post #560 · 02.08.2024 г., 12:20

❗️ГАЙД ПО ФИКСУ ЗАМЕДЛЕНИЯ YOUTUBE НА ВСЕХ ПЛАТФОРМАХ: ( ПРОБУЮ САМ, ПОКА ПОЛЕТ НОРМАЛЬНЫЙ) — PC/Android: 1. Открываем браузер 2. Запускаем экспериментальными функции браузера — для этого в адресной строке вводим: Chrome — chrome://flags/#enable​-quic Edge — edge://flags/#enable​-quic Firefox — about:config → network.http.http3.enabled Opera - opera://flags/#enable​-quic 3. Ставим протокол QUIC в положение Default или Enabled. Если он уже Defalt — меняем на Enabled 4. Перезагружаем браузер и смотрим видео без лагов — iOS: 1. Заходим в настройки и там в раздел «Safari» 2. Выбираем «Дополнения» 3. Листаем вниз и тапаем «Experimental Features» 4. Включаем пункт HTTP3

Hashtags

谷歌将为 Android 平台 Chrome 浏览器推出新凭据功能,允许调用第三方密码管理器 谷歌将为 Android 平台 Chrome 浏览器推出新凭据功能,允许调用第三方密码管理器自动填充密码,该功能将与的“自动填充 ”功能配合使用,改善用户密码输入体验。 相关内容已经在 Chrome 119 的“chrome://flags/#enable-autofill-virtual-view-structure”中出现,在启用功能后,Android 平台 Chrome 浏览器设置中出现一个新的“自动填充选项”按钮,其中包含允许第三方密码管理器自动填充账号密码选项。 而根据 X 平台用户 Leopeva64 消息,目前 Chrome Dev 已经可以完整运行新凭据功能。 来源:https://www.ithome.com/0/732/325.htm 投稿:@ZaiHuaBot 频道:@TestFlightCN

Hashtags

Direction的碎碎念

@directionchannel · Post #5278 · 05.09.2021 г., 03:20

#小技巧 浏览器开启多线程下载 Chrome 浏览器,地址栏输入并回车: chrome://flags/#enable-parallel-downloading Edge 新版浏览器,地址栏输入并回车: edge://flags/#enable-parallel-downloading 然后修改Default到Enabled,重启浏览器生效。 ● 频道 @iShareNews

iShare News

@iShareNews · Post #749 · 05.09.2021 г., 03:11

#小技巧 浏览器开启多线程下载 Chrome 浏览器,地址栏输入并回车: chrome://flags/#enable-parallel-downloading Edge 新版浏览器,地址栏输入并回车: edge://flags/#enable-parallel-downloading 然后修改Default到Enabled,重启浏览器生效。 ● 频道 @iShareNews

浮光掠影

@inbox_all · Post #125 · 12.05.2021 г., 02:52

⏳ 开启浏览器多线程下载选项: Chrome 浏览器: 地址栏输入并回车:chrome://flags/#enable-parallel-downloading Edge 新版浏览器 (Chromium 内核): 地址栏输入并回车:edge://flags/#enable-parallel-downloading 将默认的 Default 改成 Enabled 即可!然后点击 Relaunch 重启浏览器,多线程下载的选项就生效了。 #技巧#浏览器

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