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

Резултати

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

Търсене: #unlock

当前筛选 #unlock清除筛选
Libreware

@libreware · Post #1170 · 01.09.2023 г., 02:27

#Xiaomi#Bootloader#Unlock without PC (Phone-To-Phone) Note: We are not responsible for any data loss or corrupt devices. Proceed at your own risk. This procedure requires the use of 2 Android phones and an OTG cable for ADB debugging. If this is your first time unlocking the bootloader or your device is using a new MIUI account, proceed with Step 2 after 7 days Step 1 [Configuring Settings] [Primary Phone]: » Go to Settings > About Phone: Click on MIUI Version multiple times until developer options are enabled » Go to Settings Homepage > Additional Settings > Developer Options: Enable OEM Unlocking and USB Debugging » Then go to Mi Unlock Status: Click on Add account and device Step 2 [Installing Flash scripts] [Secondary Phone]: » Download and install these 3 APKs on your secondary phone: https://github.com/RohitVerma882/termux-miunlock/ (outdated?) https://github.com/termux/termux-app/releases/ https://github.com/termux/termux-api/releases/ » Connect the primary phone to the secondary phone via OTG » Boot the primary phone into fastboot mode » Open the Termux app: Follow and run these commands one by one according to the instructions 👤Credits Techbuzznet (Video instructions for Indians) RohitVerma888 @WildWaze ( thx for help and banner) https://t.me/popMODS/3621

Libreware

@libreware · Post #1334 · 25.09.2024 г., 15:38

#Unlock#bootloader#xiaomi#Android HyperSploit Bypass HyperOS restrictions on bootloader unlocking https://github.com/TheAirBlow/HyperSploit/ https://xdaforums.com/t/hypersploit-bypass-hyperos-bootloader-unlocking-restrictions.4668775/ MiUnlockTool Retrieve encryptData (token) for Xiaomi devices to unlock bootloader, it is compatible with all platforms. https://github.com/offici5l/MiUnlockTool termux-miunlock A program that can be used to retrieve the bootloader unlock token for Xiaomi devices (and unlock the bootloader) using Termux https://github.com/RohitVerma882/termux-miunlock/

Libreware

@libreware · Post #1020 · 26.12.2021 г., 19:24

XiaomiTool V2 fixed PC software to unlock bootloader and mod xiaomi devices MariosK239/XMT_V2-linux-fixed https://github.com/MariosK239/XMT_V2-linux-fixed You can git clone the repo and then follow the readme to compile and start the program Forked the repository and applied all pull requests to the Linux branch, for ease of use from https://github.com/francescotescari/XiaoMiToolV2 #xiaomitool#xiaomi#unlock#bootloader

Crypto M - Crypto News

@CryptoM · Post #64494 · 09.04.2026 г., 03:15

🚀 VANA Token Unlock Scheduled for April 16 VANA is set to unlock approximately 2.57 million tokens on April 16 at 19:00 UTC+8. According to ChainCatcher, this token release is valued at around $3.36 million, based on data from the Web3 asset data platform RootData. #VANA#Token#Unlock#April16#Crypto#Blockchain#Web3#RootData#ChainCatcher