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

Резултати

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

Търсене: #cypherwaller

当前筛选 #cypherwaller清除筛选
Fintech & Banking EU

@bankandfintech · Post #308 · 18.05.2025 г., 13:04

✨Cypher Wallet✨ 🔲Пост написал @DFosB 🔲Итак, Cypher Wallet. Криптофинтех, который не особо чем-то выделяется, но имеет несколько приятных особенностей. Кратко и по существу 🔲Исходно представляет собой криптокошелёк. Можно привязать по сид-фразе к своему кошельку, можно сделать новый - тут каждый сам себе решает (я сделал новый). К функционалу кошелька претензий нет - работает исправно, настроек достаточно для базового уровня использования 🔲Список сетей — приличный: Ethereum, Solana, Polygon, Base, BSC, Arbitrum One, Optimism, Avalanche, zkSync Era, Cosmos, Osmosis, Noble, Coreum, Injective. Более чем 🔲 Верификация ⬇️Карта выпускается Visa - после прохождения KYC ⬇️Кусь делает Persona. Для прохождения достаточно документа, подтверждающего гражданство одной из стран из списка ⬇️Паспорт, ID, права и повертеть головой ⬇️Никаких PoA, PoF - не надо. И да - России и Беларуси нельзя, увы 🔲BIN карты ⬇️Payment System: VISA ⬇️Bank: Reap Technologies Limited ⬇️Card type: Credit - что годно ⬇️Category: Business Enhanced ⬇️Country Name: Hong Kong 🔲Карты ⬇️Виртуалка даётся бесплатно после пополнения на 10 баксов - их можно сразу и потратить или вывести назад ⬇️Физическая стоит денег - 50 баксов плюс стоимость доставки, шлют FedEx'ом с трекинго ⬇️Премиумам шлют металлическую карту бесплатно ⬇️Расчёт картой по курсу Visa. Если расчёт не в долларах — сверху OIF 2% на бесплатном стандартном плане и 1% на Премиуме, хотя тут немного противоречивая информация, потому что при сравнении планов Forex Markup - 1% и 0% соответственно. Для теста купил сертификат на Озоне - 1000 рублей обошлись в $12,12. Кстати, вот плюшки Премиума — если честно, ничего особенного за $199 в год, но может кому-то интересно 🔲Пополнение ⬇️Карту можно пополнять криптой по любой из представленных сетей. Необходимо помнить, что пополнение = криптотранзакция, которая требует плату за газ, а потому просто кидать USDC мало, киньте нативный токен для газа ⬇️Да, из стейблкойнов поддерживается только USDC, USDT не видел ⬇️Из Binance пополнение выполнилось запросто, излишек потом отправил обратно на криптобиржу (карта позволяет менять деньги обратно в крипту от $5) ⬇️Комиссия за пополнение в USDC - 0,5%, у Премиума - бесплатно ⬇️По остальным монетам - 1% и 0,5% соответственно ⬇️Прямо в приложении есть возможность покупки токенов на различных площадках ⬇️Пополнять наличкой карту невозможно. Переводом - съест 3–5% комиссии, собственно, как и любая криптокарта ⬇️MCC 6012 и 4829 не проходят никак - можно не пытаться. То есть если надо вывести деньги - только обратно криптой 🔲Снятие налички в банкоматах ⬇️3% на бесплатном плане и 2% на Премиуме плюс конвертация и комиссия банкомата 🔲Приложение ⬇️Очень порадовала панель управления картой. Лимиты, возможность установки PIN для снятия в банкоматах, ограничения по типу операций и георасположению мерчанта 3DS идёт по умолчанию на почту, но можно настроить и телефон ⬇️Карта спокойно вяжется к GPay и Apple Pay ⬇️Есть вариант временной и постоянной блокировки, экспорт транзакций в файл с полным описанием мерчанта и его локации - короче, в некоторых банках функций меньше ⬇️Несмотря на то, что по каждому пшику на почту приходит уведомление с описанием, поддержка так себе. Написал на днях на почту письмо про MCC 4829, день прошёл и тишина. Хотя, может, просто намекают, чтобы почитал help и сам проникся 😁 ⬇️Есть привязка к Telegram-боту. Не проверял 🔲Итог ⬇️Карта, которую надо сделать хотя бы потому, что это не требует никаких усилий ⬇️Если надумаете то вот рефка (или код YTPJ4198) - получите за регистрацию 50 баллов ⬇️Кстати, 10% от трат по карте в долларах тоже капает в баллы ⬇️Куда и как тратить эти баллы команда Cypher пока не придумала. Говорят сюрприз 😅 #Redot#RedotPay#CypherWaller Консультация | Вступить в чат | Наши посты | Все рефки