Что в моей сумке? 🌟
Думаю всем уже об этой штуке известно, но тем, кому неизвестно, будет интересно — Flipper Zero.
Сама идея меня очень впечатлила. Необычный, крутой, стильный гаджет с концепцией тамагочи. Ничего не могу с собой поделать, люблю я такое.
🦕 Flipper Zero родился как краудфандинговый проект в 2020 году и сразу завоевал внимание хакерского комьюнити. Его зовут «цифровым швейцарским ножом»: за скромный размер (примерно как зажигалка) прячется радиомодуль для частот 300–900 МГц, NFC/RFID-считыватель, инфракрасный порт и даже эмулятор USB-клавиатуры. Всё это управляется простым меню на маленьком пиксельном экранчике, а в качестве «маскота» выступает милый дельфин, бодро реагирующий на Ваши эксперименты.
Причем во всей этой истории, мне кажется, этот дельфин - самое крутое. И зная себя, меня бы капец как мотивировало заниматься всеми этими хакерскими экспериментами, лишь бы дельфин был доволен😇 .
Для чего он нам?🐱 🐱
Копировать и эмулировать карты доступа (NFC и RFID). Полезно иметь резервную копию своих пропусков, просто выбрав нужный протокол в меню.
Управлять пультами — от телевизоров до кондиционеров. Flipper запоминает инфракрасные сигналы и потом может воспроизводить их одним нажатием.
Сканировать радиосигналы гаражных ворот, беспроводных датчиков и прочих «умных» устройств на частотах Sub-1 GHz.
Эмулировать BadUSB: подключив Flipper к компьютеру как клавиатуру, можно отправлять заранее записанные сочетания клавиш — забавная фича для автоматизации рутины (но использовать аккуратно).
Расширять функционал через слот microSD и пины GPIO: писать свои сценарии, подключать датчики, сохранять логи и даже строить мини-IoT-проекты.
Хотел бы я такой себе? - определенно. И даже не из-за функционала, а стиля. Смотришь на него и кайфуешь😏
Думаю всем уже об этой штуке известно, но тем, кому неизвестно, будет интересно — Flipper Zero.
Сама идея меня очень впечатлила. Необычный, крутой, стильный гаджет с концепцией тамагочи. Ничего не могу с собой поделать, люблю я такое.
Причем во всей этой истории, мне кажется, этот дельфин - самое крутое. И зная себя, меня бы капец как мотивировало заниматься всеми этими хакерскими экспериментами, лишь бы дельфин был доволен
Для чего он нам?
Копировать и эмулировать карты доступа (NFC и RFID). Полезно иметь резервную копию своих пропусков, просто выбрав нужный протокол в меню.
Управлять пультами — от телевизоров до кондиционеров. Flipper запоминает инфракрасные сигналы и потом может воспроизводить их одним нажатием.
Сканировать радиосигналы гаражных ворот, беспроводных датчиков и прочих «умных» устройств на частотах Sub-1 GHz.
Эмулировать BadUSB: подключив Flipper к компьютеру как клавиатуру, можно отправлять заранее записанные сочетания клавиш — забавная фича для автоматизации рутины (но использовать аккуратно).
Расширять функционал через слот microSD и пины GPIO: писать свои сценарии, подключать датчики, сохранять логи и даже строить мини-IoT-проекты.
Хотел бы я такой себе? - определенно. И даже не из-за функционала, а стиля. Смотришь на него и кайфуешь
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳4❤2👍2🤔1
Добрый вечер, друзья!👋
Хочу уделить пару минут тому, как сделать ваши Python-скрипты чуть более шустрыми и надёжными перед тем, как отправиться отдыхать. Рассмотрим джентльменкий набор профилирования и оптимизации кода.
Почему профилирование важно?😵💫
Часто узкое место программы не там, где вы ожидаете. Вместо долгих угадок воспользуйтесь профилировщиком:
🥺 Вы увидите, какие функции отнимают наибольшее время.
🐱 Сможете обоснованно перераспределить усилия.
🐱 Избежите преждевременной оптимизации вслепую.
Инструменты профилирования в стандартной библиотеке😏
😇 cProfile: простой и информативный профайлер:
- s cumulative — сортировка по суммарному времени выполнения.
Следовательно, вывод покажет, сколько раз вызывалась каждая функция и сколько времени она заняла.
🥳 pstats: для интерактивного анализа результатов:
strip_dirs() убирает лишние пути из имён модулей.
print_stats(10) — показывает топ-10 «тягучек».
🍄 Пример:
1) Кодим:
2) Профилируем:
Вы увидите, что slow_function явно «тормозит».
🌟 Где взять speed?
1) Использовать встроенные функции вместо ручного цикла:
это часто быстрее за счёт C-реализации sum.
2) NumPy для численных расчётов Если у вас большие векторы:
— в десятки раз быстрее чистого Python.
3) Мемоизация Для функций с повторяющимися вызовами:
4) Асинхронность и многопоточность Подойдут для I/O-bound задач:
❤️ Что по итогу?
Не гонитесь за микрооптимизациями😏 : начните с измерений, выявите узкие места и примените подходящий инструмент.
На этом всё! Желаю продуктивного кода и спокойного вечера.😉
Хочу уделить пару минут тому, как сделать ваши Python-скрипты чуть более шустрыми и надёжными перед тем, как отправиться отдыхать. Рассмотрим джентльменкий набор профилирования и оптимизации кода.
Почему профилирование важно?
Часто узкое место программы не там, где вы ожидаете. Вместо долгих угадок воспользуйтесь профилировщиком:
Инструменты профилирования в стандартной библиотеке
python -m cProfile -s cumulative my_noscript.py
- s cumulative — сортировка по суммарному времени выполнения.
Следовательно, вывод покажет, сколько раз вызывалась каждая функция и сколько времени она заняла.
import pstats
p = pstats.Stats('profile.out')
p.strip_dirs().sort_stats('cumulative').print_stats(10)
strip_dirs() убирает лишние пути из имён модулей.
print_stats(10) — показывает топ-10 «тягучек».
1) Кодим:
import time
def slow_function(n):
total = 0
for i in range(n):
total += i ** 2
return total
def main():
start = time.time() print(slow_function(1_000_000))
print('Elapsed:', time.time() - start)
if __name__ == '__main__':
main()
2) Профилируем:
python -m cProfile -o profile.out example.py
import pstats
p = pstats.Stats('profile.out') p.sort_stats('cumulative').print_stats(5)
Вы увидите, что slow_function явно «тормозит».
1) Использовать встроенные функции вместо ручного цикла:
total = sum(i*i for i in range(n))
это часто быстрее за счёт C-реализации sum.
2) NumPy для численных расчётов Если у вас большие векторы:
import numpy as np arr = np.arange(n) total = np.dot(arr, arr)
— в десятки раз быстрее чистого Python.
3) Мемоизация Для функций с повторяющимися вызовами:
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
4) Асинхронность и многопоточность Подойдут для I/O-bound задач:
import asyncio
async def fetch_data():
# имитируем запрос
await asyncio.sleep(1)
return 'data'
async def main():
results = await asyncio.gather(*(fetch_data() for _ in range(5)))
print(results)
asyncio.run(main())
Не гонитесь за микрооптимизациями
На этом всё! Желаю продуктивного кода и спокойного вечера.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤪1🙉1
Github быть или не быть 😑
Современная разработка программного обеспечения существенно опирается на использование открытого кода. GitHub, как крупнейшая платформа для хостинга кода, предоставляет разработчикам доступ к миллионам готовых решений. Это явление имеет как положительные, так и отрицательные аспекты, которые необходимо учитывать в профессиональной практике.
Использование открытого кода значительно ускоряет процесс разработки. Вместо создания функционала с нуля, разработчики могут интегрировать готовые решения, реализованные и протестированные сообществом. Это особенно ценно при работе со сложными алгоритмами или специфическими задачами, требующими глубокого понимания предметной области. Открытый код также предоставляет возможность изучения профессиональных подходов к решению задач.
Однако существуют серьезные риски (киски 😋 ).
Проблемы безопасности — один из ключевых аспектов. Известны случаи внедрения вредоносного кода в популярные библиотеки, как произошло с пакетом event-stream в экосистеме Node.js, когда злоумышленники добавили функционал для сбора данных криптовалютных кошельков пользователей (да, история давно минувших дней, но мне все равно https://snyk.io/blog/malicious-code-found-in-npm-package-event-stream/ ). Тысячи проектов оказались под угрозой до обнаружения проблемы.
Лицензирование представляет другую проблему. Разница между лицензиями MIT, Apache и GPL может иметь критическое значение для проекта. Например, GPL требует открытия исходного кода всего проекта при использовании библиотеки под этой лицензией, что может противоречить коммерческим интересам. Неосведомленность в вопросах лицензирования потенциально ведет к юридическим последствиям.
Зависимость от сторонних библиотек создает технические риски. Прекращение поддержки или кардинальное изменение API в новых версиях может существенно усложнить процесс обновления и поддержки проекта. При выборе библиотеки необходимо также оценивать не только популярность, но и качество кода, архитектурные решения, масштабируемость и производительность.
Для минимизации рисков рекомендуется следовать проверенным практикам. 🐱
Анализируйте репутацию проекта: активность разработки, количество решенных проблем, качество документации. Проводите анализ кода перед интеграцией и тестируйте решение в условиях, приближенных к продакшну. Используйте инструменты мониторинга уязвимостей, такие как Dependabot, Snyk или npm audit.
Использование открытого кода требует взвешенного подхода. Преимущества в виде экономии времени и доступа к экспертным решениям должны оцениваться в контексте потенциальных рисков для безопасности, технической стабильности и юридических аспектов проекта. Осознанное применение открытого кода становится важным профессиональным навыком современного разработчика.
Использование открытого кода значительно ускоряет процесс разработки. Вместо создания функционала с нуля, разработчики могут интегрировать готовые решения, реализованные и протестированные сообществом. Это особенно ценно при работе со сложными алгоритмами или специфическими задачами, требующими глубокого понимания предметной области. Открытый код также предоставляет возможность изучения профессиональных подходов к решению задач.
Однако существуют серьезные риски (киски
Проблемы безопасности — один из ключевых аспектов. Известны случаи внедрения вредоносного кода в популярные библиотеки, как произошло с пакетом event-stream в экосистеме Node.js, когда злоумышленники добавили функционал для сбора данных криптовалютных кошельков пользователей (да, история давно минувших дней, но мне все равно
Лицензирование представляет другую проблему. Разница между лицензиями MIT, Apache и GPL может иметь критическое значение для проекта. Например, GPL требует открытия исходного кода всего проекта при использовании библиотеки под этой лицензией, что может противоречить коммерческим интересам. Неосведомленность в вопросах лицензирования потенциально ведет к юридическим последствиям.
Зависимость от сторонних библиотек создает технические риски. Прекращение поддержки или кардинальное изменение API в новых версиях может существенно усложнить процесс обновления и поддержки проекта. При выборе библиотеки необходимо также оценивать не только популярность, но и качество кода, архитектурные решения, масштабируемость и производительность.
Для минимизации рисков рекомендуется следовать проверенным практикам.
Анализируйте репутацию проекта: активность разработки, количество решенных проблем, качество документации. Проводите анализ кода перед интеграцией и тестируйте решение в условиях, приближенных к продакшну. Используйте инструменты мониторинга уязвимостей, такие как Dependabot, Snyk или npm audit.
Использование открытого кода требует взвешенного подхода. Преимущества в виде экономии времени и доступа к экспертным решениям должны оцениваться в контексте потенциальных рисков для безопасности, технической стабильности и юридических аспектов проекта. Осознанное применение открытого кода становится важным профессиональным навыком современного разработчика.
Please open Telegram to view this post
VIEW IN TELEGRAM
Snyk
Malicious code found in npm package event-stream downloaded 8 million times in the past 2.5 months | Snyk
An overview of how the malicious flatmap-stream npm package operates, and remediation steps to follow if you've been affected.
👍5🤔1🤓1
Добиваем Github 🐾
Думаю, надо раскрыть кое-какие моменты из предыдущего поста❔
💃 MIT лицензия – одна из самых либеральных. Ты можешь делать с кодом практически всё: модифицировать, распространять, использовать в коммерческих проектах. Единственное требование – указать автора оригинального кода и включить текст лицензии в свой проект.
💃 Apache License 2.0 – похожа на MIT, но добавляет защиту от патентных исков. Если ты используешь код под этой лицензией и имеешь патенты, связанные с этим кодом, ты автоматически предоставляешь бесплатную лицензию на эти патенты другим пользователям кода.
💃 GNU General Public License (GPL) – "вирусная" лицензия. Если ты используешь код под GPL в своем проекте, ты обязан выпустить весь проект также под GPL и предоставить его исходный код. Это может быть проблематично для коммерческих продуктов, где исходный код – жеская тайна.
💃 LGPL (Lesser GPL) – смягченная версия GPL. Позволяет использовать библиотеку в закрытом проекте без необходимости открывать весь код, но модификации самой библиотеки должны распространяться под LGPL.
В общем, если собрались использовать код с GitHuba в своем стартапе, то убедитесь, что библиотеки под MIT или Apache.
😛 Dependabot интегрирован прямо в GitHub. Он автоматически сканирует зависимости Вашего проекта, проверяя их на наличие известных уязвимостей. Когда находит проблему, создает pull-request с обновлением уязвимой библиотеки до безопасной версии.
🐱 Snyk – более продвинутый инструмент. Он не только находит уязвимости в зависимостях, но и сканирует твой собственный код на предмет безопасности, может блокировать деплой, если находит критические уязвимости. Работает через анализ абстрактного синтаксического дерева (AST) кода и сравнение паттернов с известными уязвимостями.
😊 npm audit / yarn audit – встроенные в пакетные менеджеры JavaScript инструменты. При установке зависимостей они автоматически проверяют их на уязвимости. Технически они отправляют список зависимостей и их версий в централизованную базу данных уязвимостей и получают отчет о проблемах.
Посыл: лучше всегда проверить активность библиотеки, изучить документацию, с самого начала позаботиться о Dependabot или Snyk и о подписке на канал 🤪 .
👍 Помните, большая сила - большая ответственность.
Думаю, надо раскрыть кое-какие моменты из предыдущего поста
В общем, если собрались использовать код с GitHuba в своем стартапе, то убедитесь, что библиотеки под MIT или Apache.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👏3🤪3👍1
LoFICoder_Python_Условные_конструкции_часть_4.pdf
1.2 MB
Изучаем 👋
Условные конструкции - это баааза🥺 🐱
Условные конструкции
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🥴1
Какой компьютер взять начинающему кодеру? 😑
Знаю, что в этом канале есть люди, которые только начинают или планируют начать свой путь в IT. Поэтому решил написать пост, который будет им полезен 😴 .
На самом деле, если Вы только начинаете программировать, не стоит гнаться за топовым железом — обычного ноутбука или ПК с SSD и 8 ГБ оперативки сполна хватит для старта, и он мгновенно запустит любой редактор кода. Даже четырёхядерный процессор среднего уровня справится с компиляцией простых проектов без задержек, а встроенная графика позволит освоить веб-разработку на начальных этапах. Секрет здесь в том, что код — это просто текст. Грубо говоря Вы будете просто работать с текстовым редактором.
По мере того как Ваши программы станут сложнее, всегда можно добавить ещё пару планок оперативки или сменить накопитель на более ёмкий SSD — всё это легко сделать и несложно найти инструкции в интернете. Главное, что действительно влияет на продуктивность, — это удобная клавиатура и достаточное разрешение экрана (и подписка на этот канал 👩❤️👨 ), чтобы код комфортно читался без лишней усталости глаз. Помните, что Ваше зрение, дороже любого компьютера. 😘
Несколько мониторов на первом этапе тоже не нужно. Про нюансы их использования будет отдельный пост.
Поэтому любая современная машина способная открыть перед Вами мир программирования — куда важнее начать писать код, чем ждать идеального компьютера (мака, например). Просто возьмите то, что у Вас есть под рукой, и погружайтесь в обучение. Главное — сделать первый шаг.👍
PS: нас набралось уже 50, причем так быстро! Благодарю каждого😇 . Вижу, что часто пересылаются сообщения с курсом, это здорово. Делитесь им со своими друзьями и знакомыми, так Вы поможете каналу стать больше, а мне подарите позитивный настрой ❤️ .Ваша поддержка очень важна. ❤️ 🐱
Пусть этот пост будет Вам полезен этим вечером. С наступающим😊
На самом деле, если Вы только начинаете программировать, не стоит гнаться за топовым железом — обычного ноутбука или ПК с SSD и 8 ГБ оперативки сполна хватит для старта, и он мгновенно запустит любой редактор кода. Даже четырёхядерный процессор среднего уровня справится с компиляцией простых проектов без задержек, а встроенная графика позволит освоить веб-разработку на начальных этапах. Секрет здесь в том, что код — это просто текст. Грубо говоря Вы будете просто работать с текстовым редактором.
По мере того как Ваши программы станут сложнее, всегда можно добавить ещё пару планок оперативки или сменить накопитель на более ёмкий SSD — всё это легко сделать и несложно найти инструкции в интернете. Главное, что действительно влияет на продуктивность, — это удобная клавиатура и достаточное разрешение экрана (и подписка на этот канал
Несколько мониторов на первом этапе тоже не нужно. Про нюансы их использования будет отдельный пост.
Поэтому любая современная машина способная открыть перед Вами мир программирования — куда важнее начать писать код, чем ждать идеального компьютера (мака, например). Просто возьмите то, что у Вас есть под рукой, и погружайтесь в обучение. Главное — сделать первый шаг.
PS: нас набралось уже 50, причем так быстро! Благодарю каждого
Пусть этот пост будет Вам полезен этим вечером. С наступающим
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🗿1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10😁6🐳4🤪1
Видимо, этот канал будет первым, из всех IT-каналов, который напишет об этом...🚩
Дорогие подписчики! Сегодня, 9 мая, в День Победы, предлагаю Вам погрузиться в историю отечественной вычислительной техники, уделив особое внимание вкладу советских учёных в годы Великой Отечественной войны и тому, как их работа повлияла на последующее развитие информационных технологий.
Довоенные разработки и их значение🚩
Ещё до войны в СССР (1938-1940 гг.) были заложены основы будущего прогресса в области вычислительной техники. Исаак Брук руководил созданием механических и электронных дифференциальных анализаторов — аналоговых вычислительных устройств, которые позже нашли применение в военное время.
Академик Леонид Канторович в этот период разработал математический аппарат оптимального распределения ресурсов, ставший впоследствии частью линейного программирования — важнейшего инструмента современной компьютерной науки.
Вклад учёных в годы войны🚩
С началом Великой Отечественной войны советские учёные переориентировали свои исследования на решение оборонных задач. В 1941-1942 гг. Академик Андрей Колмогоров с коллегами работал над баллистическими задачами по заказу Главного артиллерийского управления. Их расчёты помогали оптимизировать рассеивание снарядов и повышать эффективность артиллерийского огня.
Математики Академии наук, эвакуированные в Казань, решали сложные задачи для оборонной промышленности — расчёты прочности конструкций, оптимизацию производственных процессов, создание таблиц стрельбы.
В 1943-1944 гг. Владимир Котельников, выдающийся радиофизик, работал над системами секретной связи, применяя свою теорему дискретизации (известную также как теорема Найквиста–Шеннона). Эти работы стали важным вкладом в развитие теории передачи информации.
Послевоенное развитие🚩
Именно после войны произошёл настоящий прорыв в советской вычислительной технике, во многом опиравшийся на опыт военных лет:
Исаак Брук и Башир Рамеев получили авторское свидетельство на проект цифровой ЭВМ. В том же году (1948 г.) Сергей Лебедев начал работу над МЭСМ (Малой электронной счётной машиной). А уже в 1950 г. она, первая полноценная советская ЭВМ , была запущена под его руководством. Чуть позже Алексей Ляпунов разработал операторный метод программирования, который действительно стал одним из прообразов современных языков программирования высокого уровня. Так, появились первые языки программирования в СССР — ПП-1, ПП-2, Адресный язык, заложивших основы отечественной школы программирования.
Связь с современными технологиями🚩
Хотя прямая связь военных разработок с современным программированием не так однозначна, как я думал, можно выделить несколько ключевых наследий. Самое явное — системный подход к решению сложных комплексных задач. Был создан математический фундамент теоретической базы для будущих алгоритмов. Заложена культура инженерной точности и экономикоматематические методы оптимизации. Все это нашло применение в компьютерных науках после.
Поэтому современное программирование во многом обязано тому трудному периоду военных лет. Вспоминая подвиг нашего народа, мы отдаём дань уважения не только солдатам на фронте, но и учёным, чей интеллектуальный труд в тяжелейших условиях войны и послевоенного восстановления заложил фундамент для будущего развития отечественных информационных технологий.
Давайте гордиться достижениями прошлых поколений и продолжать их дело. Всех с праздником🚩
Дорогие подписчики! Сегодня, 9 мая, в День Победы, предлагаю Вам погрузиться в историю отечественной вычислительной техники, уделив особое внимание вкладу советских учёных в годы Великой Отечественной войны и тому, как их работа повлияла на последующее развитие информационных технологий.
Довоенные разработки и их значение
Ещё до войны в СССР (1938-1940 гг.) были заложены основы будущего прогресса в области вычислительной техники. Исаак Брук руководил созданием механических и электронных дифференциальных анализаторов — аналоговых вычислительных устройств, которые позже нашли применение в военное время.
Академик Леонид Канторович в этот период разработал математический аппарат оптимального распределения ресурсов, ставший впоследствии частью линейного программирования — важнейшего инструмента современной компьютерной науки.
Вклад учёных в годы войны
С началом Великой Отечественной войны советские учёные переориентировали свои исследования на решение оборонных задач. В 1941-1942 гг. Академик Андрей Колмогоров с коллегами работал над баллистическими задачами по заказу Главного артиллерийского управления. Их расчёты помогали оптимизировать рассеивание снарядов и повышать эффективность артиллерийского огня.
Математики Академии наук, эвакуированные в Казань, решали сложные задачи для оборонной промышленности — расчёты прочности конструкций, оптимизацию производственных процессов, создание таблиц стрельбы.
В 1943-1944 гг. Владимир Котельников, выдающийся радиофизик, работал над системами секретной связи, применяя свою теорему дискретизации (известную также как теорема Найквиста–Шеннона). Эти работы стали важным вкладом в развитие теории передачи информации.
Послевоенное развитие
Именно после войны произошёл настоящий прорыв в советской вычислительной технике, во многом опиравшийся на опыт военных лет:
Исаак Брук и Башир Рамеев получили авторское свидетельство на проект цифровой ЭВМ. В том же году (1948 г.) Сергей Лебедев начал работу над МЭСМ (Малой электронной счётной машиной). А уже в 1950 г. она, первая полноценная советская ЭВМ , была запущена под его руководством. Чуть позже Алексей Ляпунов разработал операторный метод программирования, который действительно стал одним из прообразов современных языков программирования высокого уровня. Так, появились первые языки программирования в СССР — ПП-1, ПП-2, Адресный язык, заложивших основы отечественной школы программирования.
Связь с современными технологиями
Хотя прямая связь военных разработок с современным программированием не так однозначна, как я думал, можно выделить несколько ключевых наследий. Самое явное — системный подход к решению сложных комплексных задач. Был создан математический фундамент теоретической базы для будущих алгоритмов. Заложена культура инженерной точности и экономикоматематические методы оптимизации. Все это нашло применение в компьютерных науках после.
Поэтому современное программирование во многом обязано тому трудному периоду военных лет. Вспоминая подвиг нашего народа, мы отдаём дань уважения не только солдатам на фронте, но и учёным, чей интеллектуальный труд в тяжелейших условиях войны и послевоенного восстановления заложил фундамент для будущего развития отечественных информационных технологий.
Давайте гордиться достижениями прошлых поколений и продолжать их дело. Всех с праздником
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17
Решил сегодня наиболее полно раскрыть тему Советской школы программирования 👍 .
Наткнулся на очень крутые статьи на Хабре (https://habr.com/ru/amp/publications/751132/ и https://habr.com/ru/companies/eaeconsult/articles/786324/) . Очень рекомендую их к прочтению целиком. Я же сделал для Вас выдержку основных реперных точек👋 .
❔ Ретроспектива ключевых советских языков программирования:
😑 ПП-1 и ПП-2 (1954–1955)
Под руководством А. А. Ляпунова в МГУ был создан первый в СССР транслятор «Программирующая программа» – ПП-1 в 1954 году, а уже в 1955-м – его расширенная версия ПП-2 с загрузчиком, отладчиком и библиотекой стандартных процедур.
😑 Адресный язык (1955–1958)
В АН УССР при С. А. Лебедеве Екатерина Ющенко и Владимир Королюк разработали высокоуровневый «Адресный язык», основная версия которого завершилась к 1958 году.
😑 Транслятор Ершова (1957–1958)
А. П. Ершов для БЭСМ создал транслятор с адресной кодировкой объектов и в 1958 году опубликовал первую в мире монографию по автоматизации программирования.
😑 АЛМО (1965–1966)
«Абстрактная машина АЛМО» стала первой виртуальной средой в СССР для унифицированной трансляции разных языков на машинах М-20, БЭСМ-6, «Урал» и других.
😑 ЛЯПАС (1962)
Аркадий Закревский представил язык ЛЯПАС для логического синтеза релейных систем, положив начало советским работам по аппаратному программированию.
😑 Эль-76 (1972–1973)
Для суперкомпьютеров «Эльбрус» В. Пентковский разработал язык «Эль-76» с поддержкой структурного программирования и кириллической кодировкой.
😑 РАПИРА (с 1981)
Под руководством Г. Звенигородского в Новосибирске появился учебный язык РАПИРА, ставший стандартом для школьного образования по информатике.
Даже в условиях закрытости и ограниченных ресурсов советские инженеры и математики создавали уникальные решения, многие из которых повлияли на мировую практику.
Данный пост является продолжением предыдущего🚩 .
Всем хорошего и доброго вечера❤️
Наткнулся на очень крутые статьи на Хабре (https://habr.com/ru/amp/publications/751132/ и https://habr.com/ru/companies/eaeconsult/articles/786324/) . Очень рекомендую их к прочтению целиком. Я же сделал для Вас выдержку основных реперных точек
Под руководством А. А. Ляпунова в МГУ был создан первый в СССР транслятор «Программирующая программа» – ПП-1 в 1954 году, а уже в 1955-м – его расширенная версия ПП-2 с загрузчиком, отладчиком и библиотекой стандартных процедур.
В АН УССР при С. А. Лебедеве Екатерина Ющенко и Владимир Королюк разработали высокоуровневый «Адресный язык», основная версия которого завершилась к 1958 году.
А. П. Ершов для БЭСМ создал транслятор с адресной кодировкой объектов и в 1958 году опубликовал первую в мире монографию по автоматизации программирования.
«Абстрактная машина АЛМО» стала первой виртуальной средой в СССР для унифицированной трансляции разных языков на машинах М-20, БЭСМ-6, «Урал» и других.
Аркадий Закревский представил язык ЛЯПАС для логического синтеза релейных систем, положив начало советским работам по аппаратному программированию.
Для суперкомпьютеров «Эльбрус» В. Пентковский разработал язык «Эль-76» с поддержкой структурного программирования и кириллической кодировкой.
Под руководством Г. Звенигородского в Новосибирске появился учебный язык РАПИРА, ставший стандартом для школьного образования по информатике.
Даже в условиях закрытости и ограниченных ресурсов советские инженеры и математики создавали уникальные решения, многие из которых повлияли на мировую практику.
Данный пост является продолжением предыдущего
Всем хорошего и доброго вечера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🤣1
Apple продает не технологии, а иллюзии: вскрываем механику желания 😵💫
Первый раз я посмотрел "Бойцовский клуб", когда был слишком юн. Тогда он мне показался слишком непонятным. Тем не менее на протяжении многих лет после я слышал только хвалебные отзывы об этом фильме. Недавно я решил познакомиться с ним заново...
Французский философ Жан Бодрийяр предсказал наше время, описав мир симулякров — копий без оригинала, знаков без реального значения. В эпоху, когда Instagram-фотография важнее самого момента, а цифровой образ заменяет личность, мы живем в гиперреальности, где символы и бренды создают собственную вселенную смыслов. Современные бренды больше не продают функции, они торгуют симулякрами: образами успеха, креативности, принадлежности к "правильной" группе. И никто не освоил искусство создания симулякров лучше, чем Apple.
От функции к символу🐱
В "Бойцовском клубе" герой Эдварда Нортона одержим каталогом IKEA, его личность определяется через вещи: "Какой обеденный сервиз определяет меня как личность?" Это та же логика, по которой работает Apple — их продукты давно перестали быть просто инструментами.
🐱 Парадокс избыточности
iPhone может делать тысячи вещей, но большинство использует 5-10% возможностей. Люди покупают новые модели не потому, что старые перестали работать, а потому что новая модель — это обновление их социального статуса и самоидентификации.
🐱 Симулякры Apple
Философ Жан Бодрийяр описывал симулякры — копии без оригинала, знаки без референта. Продукты Apple стали именно такими симулякрами:
😵💫 MacBook как образ креативности
Реальность: текстовый редактор работает одинаково на любом компьютере.
Симулякр: Мак в кофейне = "я креативный профессионал".
Покупается не функция, а образ себя.
😵💫 iPhone как символ современности
Реальность: базовые функции смартфона идентичны у всех брендов.
Симулякр: "Sent from my iPhone" подпись = профессионализм и деловой статус.
Покупается принадлежность к "правильной" группе.
🐱 Психологическая ловушка
Как и герой "Бойцовского клуба", современный человек попадает в ловушку:
Иллюзия выбора: кажется, что выбираешь технологию, но на самом деле выбираешь идентичность.
Бесконечное обновление: новая модель обесценивает предыдущую, создавая искусственную неполноценность.
🐱 Создание искусственных потребностей
Apple мастерски создает проблемы, которых не существовало:
"Проблема" проводных наушников → решение AirPods
"Проблема" часов, которые только показывают время → Apple Watch
"Проблема" реальности → Vision Pro
Каждый продукт создает новую "необходимость", которая на самом деле является психологической, а не практической.
🐱 Ритуализация потребления
Как в "Бойцовском клубе" покупка мебели становится ритуалом самоопределения, так и у Apple:
Презентации как религиозные собрания
Распаковка как священный ритуал
Apple Store как храмы потребления
Обновление iOS как обряд обновления личности
Иллюзия индивидуальности 🐾 🐾 🐾 🥺 🥺
Парадокс: миллионы людей покупают одинаковые устройства, чтобы подчеркнуть свою уникальность. Это массовая индивидуальность — оксюморон современного общества.
Выводы
Почему вообще в посте выше про выбор нового компьютера я упомянул Мак?
Apple — это квинтэссенция того, о чем предупреждал "Бойцовский клуб". Бренд продает не технологии, а образы, статусы, иллюзии. Практическая ценность устройств давно вторична по отношению к их символической функции.
Мы покупаем не то, что нам нужно, а то, кем хотим казаться. И в этом смысле Apple создал идеальную систему психологического потребления, где каждая покупка — это попытка купить лучшую версию себя, которая всегда остается недостижимой, требуя следующей покупки.
Но я не отговариваю Вас от покупки! Ахахха, этот канал не про теории заговоров. Под впечатлением захотел сделать крутой пост. У Apple по-прежнему качественные и крутые устройства. Захотелось немного раздуть эту историю с яблочной гонкой. Покупайте, то, что действительно хотите👍 .
"Когда освоение космоса пойдет вовсю, названия будут присваиваться в честь корпораций. Созвездие IBM... Галактика Microsoft... Планета Starbucks..."
Первый раз я посмотрел "Бойцовский клуб", когда был слишком юн. Тогда он мне показался слишком непонятным. Тем не менее на протяжении многих лет после я слышал только хвалебные отзывы об этом фильме. Недавно я решил познакомиться с ним заново...
Французский философ Жан Бодрийяр предсказал наше время, описав мир симулякров — копий без оригинала, знаков без реального значения. В эпоху, когда Instagram-фотография важнее самого момента, а цифровой образ заменяет личность, мы живем в гиперреальности, где символы и бренды создают собственную вселенную смыслов. Современные бренды больше не продают функции, они торгуют симулякрами: образами успеха, креативности, принадлежности к "правильной" группе. И никто не освоил искусство создания симулякров лучше, чем Apple.
От функции к символу
В "Бойцовском клубе" герой Эдварда Нортона одержим каталогом IKEA, его личность определяется через вещи: "Какой обеденный сервиз определяет меня как личность?" Это та же логика, по которой работает Apple — их продукты давно перестали быть просто инструментами.
iPhone может делать тысячи вещей, но большинство использует 5-10% возможностей. Люди покупают новые модели не потому, что старые перестали работать, а потому что новая модель — это обновление их социального статуса и самоидентификации.
Философ Жан Бодрийяр описывал симулякры — копии без оригинала, знаки без референта. Продукты Apple стали именно такими симулякрами:
Реальность: текстовый редактор работает одинаково на любом компьютере.
Симулякр: Мак в кофейне = "я креативный профессионал".
Покупается не функция, а образ себя.
Реальность: базовые функции смартфона идентичны у всех брендов.
Симулякр: "Sent from my iPhone" подпись = профессионализм и деловой статус.
Покупается принадлежность к "правильной" группе.
Как и герой "Бойцовского клуба", современный человек попадает в ловушку:
Иллюзия выбора: кажется, что выбираешь технологию, но на самом деле выбираешь идентичность.
Бесконечное обновление: новая модель обесценивает предыдущую, создавая искусственную неполноценность.
Apple мастерски создает проблемы, которых не существовало:
"Проблема" проводных наушников → решение AirPods
"Проблема" часов, которые только показывают время → Apple Watch
"Проблема" реальности → Vision Pro
Каждый продукт создает новую "необходимость", которая на самом деле является психологической, а не практической.
Как в "Бойцовском клубе" покупка мебели становится ритуалом самоопределения, так и у Apple:
Презентации как религиозные собрания
Распаковка как священный ритуал
Apple Store как храмы потребления
Обновление iOS как обряд обновления личности
Иллюзия индивидуальности
Парадокс: миллионы людей покупают одинаковые устройства, чтобы подчеркнуть свою уникальность. Это массовая индивидуальность — оксюморон современного общества.
Выводы
Почему вообще в посте выше про выбор нового компьютера я упомянул Мак?
Apple — это квинтэссенция того, о чем предупреждал "Бойцовский клуб". Бренд продает не технологии, а образы, статусы, иллюзии. Практическая ценность устройств давно вторична по отношению к их символической функции.
Мы покупаем не то, что нам нужно, а то, кем хотим казаться. И в этом смысле Apple создал идеальную систему психологического потребления, где каждая покупка — это попытка купить лучшую версию себя, которая всегда остается недостижимой, требуя следующей покупки.
Но я не отговариваю Вас от покупки! Ахахха, этот канал не про теории заговоров. Под впечатлением захотел сделать крутой пост. У Apple по-прежнему качественные и крутые устройства. Захотелось немного раздуть эту историю с яблочной гонкой. Покупайте, то, что действительно хотите
"Когда освоение космоса пойдет вовсю, названия будут присваиваться в честь корпораций. Созвездие IBM... Галактика Microsoft... Планета Starbucks..."
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍8👏3✍2🗿2❤1🥰1💯1
LoFICoder_Python_Циклы_и_итерации_занятие_5.pdf
1.1 MB
#Изучаем ❔
Для тех, кто хочет вечерком позаниматься с кодом❤️
Делитесь с друзьями, кодеры.
Хорошего вечера 👍
Для тех, кто хочет вечерком позаниматься с кодом
Хорошего вечера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4
#Личный_опыт 👍
Моя первая серьезная программа, была создана вместе со студентами инженерной специальности.
Думаю, ученики всех технических ВУЗов 100% узнают эту штуковину, потому что им хоть раз, но приходилось проектировать и рассчитывать теплообменники. Конкретно этот - кожухотрубчатый - популярный аппарат на многих производствах. Часто проектирование подобных устройств ложится в основу курсовых или дипломных работ будущих технологов.
Идея была в том, чтобы написать программу, которая бы моделировала процессы теплообмена и позволяла рассчитывать параметры системы. Получилось что-то вроде CAD, только специализированного для теплотехников. Программа автоматизирует весь расчетный процесс: от ввода исходных данных (расход пара, температуры, давление) до выдачи готовых чертежей и 3D-визуализации.
Фишечки:
🐾 Полный тепловой и гидравлический расчет
🐱 Графики (температурные поля, 3D модель, эффективность...)
🐱 Автоматический подбор оптимальной конфигурации
🐱 Расчет теплоизоляции и экономической эффективности
🐱 Экспорт результатов в отчеты
🤪 Применял tkinter, matplotlib, numpy...
🙂 Самое крутое - программа реально экономит часы расчетов и может быть использована как в учебных, так и в лабораторно-ориентированных задачах. Да и писать тот же курсач с ней было бы интереснее 🐱
Всем успехов в работе и учебе👋
Моя первая серьезная программа, была создана вместе со студентами инженерной специальности.
Думаю, ученики всех технических ВУЗов 100% узнают эту штуковину, потому что им хоть раз, но приходилось проектировать и рассчитывать теплообменники. Конкретно этот - кожухотрубчатый - популярный аппарат на многих производствах. Часто проектирование подобных устройств ложится в основу курсовых или дипломных работ будущих технологов.
Идея была в том, чтобы написать программу, которая бы моделировала процессы теплообмена и позволяла рассчитывать параметры системы. Получилось что-то вроде CAD, только специализированного для теплотехников. Программа автоматизирует весь расчетный процесс: от ввода исходных данных (расход пара, температуры, давление) до выдачи готовых чертежей и 3D-визуализации.
Фишечки:
Всем успехов в работе и учебе
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍5❤1🙈1