Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
📱 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