Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
📱 HMD qaytmoqda: tugmali telefonlar ham aqlli bo‘ladi!
ℹ️ HMD 101 4G taqdim etildi — arzon, lekin zamonaviy funksiyalar bilan:
✅ 4G VoLTE, 2 ta SIM, katta tugmalar
✅ USB-C, fonar, radio, 3.5 mm audio chiqish
✅ AI-assistent (DeepSeek): qo‘ng‘iroq qiladi, ob-havoni aytadi, budilnik qo‘yadi.
💸 Kamerali versiya HMD 102 4G — bor-yo‘g‘i $23.5.
🔁 Xullas, siz bilgan Nokia tugmalaridan tanish bo‘lgan HMD endi o‘z brendi ostida qaytmoqda.
➡️#nokia | Birinchi raqamli IT-Blog
📱Can anyone catch the cell phone king?
—Forbes 2007
In 2007, #Nokia - the cell phone king - had 1 BILLION customers; and now...
🚀@PerspectiveIX
🌀 http://prs.pctvix.co/TelegramIX
❓ Do you have a Nokia phone? Have you had one?
👍🏻 I have a Nokia at the moment.
😉 I've had a Nokia, not anymore.
😎 I've never had a Nokia.
Ещё про одну модель телефона в прозрачном корпусе - и это Nokia 3200, вышедший в 2003-м году.
Телефон из коробки представлял собой прозрачный "скелетон" со стандартными подложками. Но в комплекте шёл трафарет для вырезки своих подложек.
Увы, телефон не стал молодёжным хитом, потому что на старте продаж стоил $300
#Nokia
Начал работу онлайн-архив финского университета Аалто, посвящённый истории и дизайну культовой Nokia.
Экспонатами архива стали не только серийные, но и концептуальные устройства, которые так и не увидели свет.
В онлайн-архиве можно увидеть эскизы, фотографии, макеты устройств и многое другое из того, что было создано Nokia в период с середины 90-х до 2017-го года. Например, наушники и смартфоны необычной формы, различные коммуникаторы и устройства, похожие на современные умные очки.
Уникальность выставки, по словам организаторов, заключается не только в том, чтобы увидеть необычные наработки Nokia, но и в возможности понять, как эти идеи и решения влияли на готовые продукты и развитие бренда.
#Nokia
Вклад Nokia в мир телефонов, коммуникаторов, смартфонов, технологий огромен.
Чтобы вспомнить славные годы Nokia, расположенный в Хельсинки Университет Аалто (это огромная и известная исследовательская школа) с 15 января 2025-го года на своём сайте запускает Архив дизайна Nokia. Университет собирается поддерживать хранилище из 20 000 элементов бренда за период с середины 90-х до 2017 года. Это включает в себя и секретные концепции, и материалы Nokia, сохраненные в цифровом формате. Пользователи также смогут получить доступ к идеям, эскизам и интервью с дизайнерами.
Первоначально, как рассказывают создатели Архива, мотивом этого исследования были объекты, идеи, эскизы, но переход по материалу заставил команду понять, что речь идет больше о людях. На первом этапе онлайн-портал будет содержать часть историй, изображений и прототипов, а позже будет добавлено больше историй Nokia. Цифровые файлы составят 959 ГБ ценного хранилища, которое перенесет преданных поклонников назад во времени.
#Nokia
И в тему по поводу Nokia.
Решил поделиться ссылкой на фанатский сайт, куда юзеры скидывали свои фоточки с разными гаджетами (необязательно Нокии и необязательно N-Gage), как если бы они говорили по ним если бы телефонная часть в них была устроена как в оригинальной Гаге:
https://sidetalking.com/original/
Как я знаю, за давностью лет не все уже помнят этот сайт) сам я долго искал этот сайт и нашел только благодаря одному сообществу по N-Gage)
#Nokia
Новогодний подарок для всех фанатов Nokia 🌲
Финский Университет Аалто с 15-го января 2025-го года запустит онлайн-портал Nokia Design Archive, на котором можно будет увидеть работу дизайнеров компании с 90-х по 2017-й год. В коллекции более 20 000 объектов дизайна: прототипы устройств, эскизы, реклама, презентации и многое другое.
Всё это можно будет найти здесь:
https://www.aalto.fi/en
#Nokia
🤯Top 15 BEST global brands ranking for the last 19 years...
Watch big name tech companies take-over at the end!
Keep an eye on #Apple, #Google, and #Nokia...
Interbrand via Matt Navarra.
🚀@PerspectiveIX
💡 Управление рисками: Сиквел
Всем привет, как обещал в прошлое воскресение, продолжаю исследовать тему управления рисками. Сегодня поговорим о том, как можно если их не избежать, то значительно снизить.
🚨Этот пост ещё больше первой части. Время чтения ≈6 минут ⚠️
Снижение системных рисков 🌎
Системные риски невозможно полностью устранить, так как они зависят от глобальных факторов. Но можно минимизировать:
1️⃣Диверсификация по активам и регионам 🌐
• Распределяйте инвестиции между различными классами активов: акции, облигации, недвижимость, золото. Про простой, как палка-мотыга подход Рэя Далио я писал тут.
• Инвестируйте в компании и фонды из разных стран и регионов, чтобы уменьшить зависимость от одной экономики. Держи я средства в свое время на IB (Interactive Brokers), вместо удобного Тинькова, то не остался бы, как ощипанный павлин, но что былое ворошить.
2️⃣Инвестиции в защитные активы 🛡️
• Защитные активы, такие как золото, облигации с высоким рейтингом или фонды денежного рынка, часто сохраняют стабильность во время кризисов.
3️⃣Стратегия усреднения (DCA) 📈
• Регулярное инвестирование фиксированных сумм (даже при изменении цен) снижает влияние волатильности рынка на долгосрочные результаты.
4️⃣Создание резервного фонда 💼
• Держите ликвидные средства для покрытия непредвиденных расходов. Это позволяет избежать необходимости продавать инвестиции во время рыночного спада. Я вот вчера разбил очки, а на новые пришлось потратить 420 € 🔴 Не будь резервного фонда, пришлось бы несладко.
5️⃣Выбор устойчивых отраслей 🔋
• Инвестируйте в сектора, которые менее подвержены кризисам, например, здравоохранение, коммунальные услуги или потребительские товары первой необходимости.
6️⃣Хеджирование портфеля 🧮
• Используйте (но лучше вообще забудьте о них, если не понимаете, что это) производные инструменты, такие как опционы или фьючерсы, чтобы защититься от рыночных колебаний.
Снижение несистемных рисков 🏦
Несистемные риски связаны с конкретными компаниями, отраслями или регионами, поэтому их нужно эффективно контролировать:
1️⃣Глубокий анализ перед инвестированием 🔍
• Изучайте финансовую отчётность компании, анализируйте ключевые показатели эффективности (P/E, ROE, долг/капитал). Я рекомендую не заниматься «сток пикингом», но если уж очень хочется, то перед этим делать, как минимум, «Кислотный тест» — отношение кассовой наличности и дебиторской задолженности к текущим обязательствам фирмы, согласно которому текущие активы (за исключением товарно-материальных запасов) были бы хотя бы не меньше текущих долговых обязательств. Так завещал Грэм (1934, Анализ ценных бумаг), так работает его ученик У.Баффет.
2️⃣Диверсификация внутри портфеля 🗑— золотое правило для обоих типов рисков, как вы могли заметить.
• Не концентрируйте капитал в одной компании, отрасли или регионе.
• Для диверсификации можно использовать ETF или индексные фонды.
3️⃣Оценка рисков компании 📇
• Учитывайте управление компанией, уровень долговой нагрузки, перспективы отрасли и риски, связанные с продукцией или услугами.
4️⃣Своевременная ребалансировка портфеля 🧘♀️
• Регулярно пересматривайте структуру портфеля, чтобы соответствовать текущим рыночным условиям и своим целям.
5️⃣Инвестиции в компании с устойчивой бизнес-моделью 🏗️
• Выбирайте компании с долгосрочной конкурентоспособностью, инновациями и высокой рентабельностью. Однако всегда помните о #Enron, #Nokia и других «непотопляемых» компаниях, которые в относительно короткий срок внезапно закончились
6️⃣Снижение региональных рисков 🌏
• Избегайте концентрации активов в политически нестабильных или экономически слабых регионах.
7️⃣Следите за новостями и тенденциями 🗞
• Будьте в курсе глобальных изменений, таких как новые законы, санкции, технологические прорывы или изменения предпочтений потребителей.
И помните: по статистике чаще проигрывает тот, кто изо всех сил старается победить, нежели тот, кто всего-навсего пытается избежать ошибок (1997, Т. Галвей — Теннис как внутренняя игра).
Спасибо, что прочитали 😊 Делитесь мыслями 💬 в комментариях и хорошего вечера!
Всем доброе утро.
В общем, купил себе новый телефон, Nokia E50-1. Телефон рабочий, но кнопки очень тугие. Мне телефон очень понравился. В ближайшие 4-5 дней запилю полноценный обзор.
Всем Добра, и не забывайте, что всё самое интересное ещё впереди!
#товары_с_барахолки
#nokia
Здравствуйте. В общем, 30 ноября купил себе новый телефон - лже-Нокию N95 8GB китайского производства. Человек, который продал мне телефон, сказал, что телефон полностью рабочий, даже прислал фотографии. Да ещё и положил второй телефон в качестве подарка. Доставка в Москву по 5post ожидается 11 декабря. Ну что же, жду.
Если получу этот телефон, то я обязательно изучу его и запилю обзор в Рутуб.
#товары_с_барахолки
#nokia