Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
🐇System Update: Energy Boost
- 1 Daily Task to refill energy per day.
- Each Max Energy Upgrade fully restores energy.
- After each upgrade, you unlock 1 refill option.
- Energy can be upgraded unlimited times, and each upgrade grants a refill option.
✍️Mr. X ....... 🐰@FomoHash⌨️
➖➖➖➖➖➖➖➖➖➖
#fomo
Tell us how low your battery % goes before you look for a charger, and what it says about you as a flat buyer.
We promise we won't judge, but if you #FOMO, visit:
💻HDB InfoWEB for our financial calculators
🎨 MyNiceHome for design ideas
Crypto Fear & Greed Index 🔥
The Fear and Greed Index is at 61 right now, which means we're in that sweet spot of moderate greed 📊
People are feeling pretty good about the market, but it’s not complete #FOMO just yet. It’s a decent time to look at some investments, but keep your wits about you!
⚡️ Don’t let that greed take the wheel — stay smart and watch for any signs that things might flip. Happy trading!
💬Do you use the index when trading? ⬇️
🐱🐱🐱🐱🐱🐱🐱🐱👉🏻SUBSCRIBE!
📊Track the best cryptocurrency rates
😰Social Media FOMO
- 1 in 4 global internet users have a 'fear of missing out' on #SocialMedia.
- 51% of these #FOMO Networkers are female.
- Social media FOMO is most prevalent in EMEA (22%) and North America (33%).
🚀@PerspectiveIX via GlobalWebIndex.
❓Have you experienced FOMO during the last 10 days?
#rave#fomo
🔞 FOMO на $870,000…
ОТС-кит, ранее купивший 63,405 ETH ($440m) и 4000 cbBTC ($296m), продал 899,999 RAVE ($229k) 3 недели назад в безубыток.
Сегодня RAVE вырос на 226% – если бы он не слил токен, то получил бы профит в размере $870k.
Crypto Headlines
Who has FOMO? Jump in right now to be among the first on board!
Welcome to #FOMOhash by Bums Game Center. Your device is now the key to creating blocks and minting $FOMO tokens.
#⃣ @FomoHash⌨️
#FOMO#Bums
Вы наверняка замечали, что если по хештегу или геометке в разных социальных сетях искать любой туристический курорт или город, то алгоритмы выдадут совершенно одинаковые фотографии, на одинаковом фоне и в одинаковых позах?
И лица при этом на фотографиях будут с ярчайшими улыбками, и иногда будет подпись в стиле «я сделал это».
Как раз на прошлой неделе обсуждали это явление с одним из тревел-дизайнеров, и называется оно FOMO (fear of missing out) — страх пропустить интересные места или впечатления, вызванный сравнением с фотографиями и видео других путешественников в социальных сетях.
Так вот этот FOMO очень часто буквально крадет ваше путешествие, потому что «нужно обязательно выложить фотографию рассвета на этой горе и успеть на ту самую площадь, позавтракать и сфоткаться в том кафе».
Для своих вкусов, интересов и импровизации тут места нет.
Ты летал во Францию на море и не был на Лазурке? В смысле ты считаешь, что побережье Бордо гораздо красивее и аутентичнее, если все нормальные люди выкладывают видео с магнумами шампанского в Сен-Тропе??
Явление FOMO, по мнению психологов, приводит к тому, что вы коллекционируете фотографии для соцсетей вместо собственных впечатлений из страха, что ваш опыт окажется хуже, чем у других.
Я уже не раз писала, что путешествие не должно превращаться в чек-лист с достопримечательностями и в соревнование по сбору модных локаций. Есть же, в конце концов, кино не для всех, собственный стиль, интересы.
В общем, как говорит наш координатор проекта: «Долой инкубаторский вайб!»
Вы решили отправиться в путешествие — значит вы получили возможность перезагрузиться и узнать что-то новое о мире и о себе.
Я тоже испытываю периодически страх не увидеть что-то важное, особенно часто это случается в тех местах, куда я не планирую возвращаться.
Но знаете, что я все чаще стала замечать?
Самые интересные, аутентичные места, самый красивый вид и яркие воспоминания случаются, когда ты садишься и планируешь маршрут исключительно с оглядкой на себя, а иногда это просто удачная импровизация или совет, полученный от местного.
И надо бы как-то продолжать держаться этого знания и не поддаваться навязываемым извне стереотипам.
В общем, я решила, что видимо, в ближайшее время проведу еще один блиц-опрос авторов маршрутов на этот раз на тему, как связан синдром упущенной выгоды и создание иллюзии и дополненной значимости своего существования в социальных сетях с разочарованием от путешествия и усталостью после.
#МойУмвельт
#FOMO
Как выработать иммунитет против FOMO
FOMO (fear of missing out, страх пропустить что-то интересное) — это психологическое состояние, которое появляется, когда вы чувствуете, что боитесь пропустить что-то значимое в жизни.
Мероприятия, большие скидки, возможности по карьере и т.д.
И у меня так бывает, поэтому я придумала себе технику, которая отрезвляет и помогает «укреплять иммунитет» против FOMO.
Я состою в нескольких чатиках, в каждом из которых по 300-400 человек, генерация контента бешеная и руки чешутся читать эти чатики без остановки — вдруг там что-то для меня важное!
И сообщества, правда, классные, помогают черпать идеи для постов, дают насмотренность и улучшают навык наблюдателя.
Но первое время я была, конечно, в ужасе, и счётчик непрочитанных запускал в моей голове пожарную сирену 😅
«Раз так активно пишут, значит, что-то важное! Надо успеть! Срочно бросаем всё!», — вопили мои когнитивные искажения.
И когда я заходила в чат, у меня было ощущение внутреннего таймера, чтобы прочитать как можно быстрее всё накопленное и вернуться к своим рабочим делам. Из-за спешки возникало ощущение «шума» в голове, когда я, вроде, все слова понимаю, но смысл не складывается и не могу выхватить мысль из текста.
Поймав себя на таких ощущениях пару раз, задумалась, почему.
🌟Я читала чаты, заполняя возникающие паузы между задачами, а так делать нельзя — я «воровала» отдых у мозга.
🌟У меня было ложное ощущение дедлайнов, которое я себе неосознанно навязала — это явный признак FOMO.
🌟Я пыталась читать сообщения по диагонали, не вчитываясь в детали, а это дополнительно перегружает нервную систему.
Начала раскручивать свой глубинный мотив.
Зачем я читаю в перерывах? — Хочу наверстать непрочитанное
Зачем я хочу наверстать? — Боюсь упустить возможность
Была ли хоть одна возможность упущена? — А давай проверим!
И я начала читать сообщения по 10-15 минут в день, отслеживая интересные идеи, запуски проектов, отзывы, которые были бы полезны, как руководство к действию, превратившееся в задачу.
Нашла парочку, посмотрела на дату сообщения, а потом на свой список дел в тот день и прикинула, изменился бы мой план, узнай я про эту возможность в моменте? И оказалось, что нет.
Неизвестное кажется более привлекательным и стимулирует выработку дофамина, но если переборщить, оно «высасывает» энергию и провоцирует апатию. Моё желание быть в курсе без опоры на конкретный план вытягивало драгоценный ресурс.
Отсюда раздражение и ощущение, что без меня происходит что-то интересное, хотя часть сообщений тупо от людей из других часовых поясов, которые пишут, пока я сплю ))
Теперь я отношусь к счётчику непрочитанных как к полезному и важному материалу, но в формате книги — как только ты уходишь, герои замирают и ждут твоего возвращения.
Сейчас это медитативная практика для прокачки силы воли — наблюдать, как сообщений становится больше, но сдерживать свой импульс ворваться в чат и начать запойно всё читать.
По поводу чего переживаете, что «ваш поезд уйдёт»?
Что ещё почитать🧠
🌟Окно фокуса внимания
🌟Учиться нельзя отдыхать
🌟Как принять правильное решение
🌟Как провести праздники без сожалений
#мышление#мотивация#FOMO
🦠Instagram May Offer Clues About the Spread of the Coronavirus
#Instagram is known mainly for stylish selfies and #FOMO-inducing travel pictures. Could the photo-sharing service also be used to track the spread of a pandemic? As governments and health-care providers around the world seek out suspected carriers of the new #coronavirus, the popular social network—which people use to share pictures and videos of places they visit, and more generally to socialise—could prove valuable for tracing the path of the virus.
FOMO: Fear Of Missing Out
𝕭𝖊𝖓
🦅@PerspectiveIX via the Economist.
#fomo
🤑 Трейдер «7Be6hv» превратил $8,5 в $9928 (1169x).
Он купил 6636 #BELIEF за 0,1 #SOL ($8,5) и отправил токены в стейкинг.
В итоге он получил 25,06 SOL ($2,16k) и 2,9m BELIEF ($7,76k) в виде стейкинг-наград.
Crypto Headlines