LoFiCoder 👨🏼‍💻💎 – Telegram
LoFiCoder 👨🏼‍💻💎
1.69K subscribers
187 photos
24 videos
11 files
45 links
Антибиохакер 🦾


Надеюсь, Вам здесь понравится, обнимаю❤️

https://news.1rj.ru/str/+qi3--HrUQKE1MTgy
Download Telegram
LoFiCoder 👨🏼‍💻💎 pinned «Программа для подписчиков 👋 Круто, что вы заходите на мой канал, ставите реакции и участвуете в опросе. Я это очень ценю 👍 Поэтому, когда Вас станет здесь больше…100, например, я напишу кому-нибудь из Вас программу по Вашему желанию. Или помогу разобраться…»
Что в моей сумке? 🌟

Думаю всем уже об этой штуке известно, но тем, кому неизвестно, будет интересно — Flipper Zero.
Сама идея меня очень впечатлила. Необычный, крутой, стильный гаджет с концепцией тамагочи. Ничего не могу с собой поделать, люблю я такое.

🦕 Flipper Zero родился как краудфандинговый проект в 2020 году и сразу завоевал внимание хакерского комьюнити. Его зовут «цифровым швейцарским ножом»: за скромный размер (примерно как зажигалка) прячется радиомодуль для частот 300–900 МГц, NFC/RFID-считыватель, инфракрасный порт и даже эмулятор USB-клавиатуры. Всё это управляется простым меню на маленьком пиксельном экранчике, а в качестве «маскота» выступает милый дельфин, бодро реагирующий на Ваши эксперименты.

Причем во всей этой истории, мне кажется, этот дельфин - самое крутое. И зная себя, меня бы капец как мотивировало заниматься всеми этими хакерскими экспериментами, лишь бы дельфин был доволен 😇.

Для чего он нам? 🐱🐱

Копировать и эмулировать карты доступа (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
🐳42👍2🤔1
Добрый вечер, друзья!👋

Хочу уделить пару минут тому, как сделать ваши Python-скрипты чуть более шустрыми и надёжными перед тем, как отправиться отдыхать. Рассмотрим джентльменкий набор профилирования и оптимизации кода.

Почему профилирование важно?
😵‍💫

Часто узкое место программы не там, где вы ожидаете. Вместо долгих угадок воспользуйтесь профилировщиком:
🥺Вы увидите, какие функции отнимают наибольшее время.
🐱Сможете обоснованно перераспределить усилия.
🐱Избежите преждевременной оптимизации вслепую.

Инструменты профилирования в стандартной библиотеке 😏

😇cProfile: простой и информативный профайлер:

python -m cProfile -s cumulative my_noscript.py


- s cumulative — сортировка по суммарному времени выполнения.
Следовательно, вывод покажет, сколько раз вызывалась каждая функция и сколько времени она заняла.

🥳 pstats: для интерактивного анализа результатов:

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 явно «тормозит».

🌟Где взять speed?

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.
Использование открытого кода требует взвешенного подхода. Преимущества в виде экономии времени и доступа к экспертным решениям должны оцениваться в контексте потенциальных рисков для безопасности, технической стабильности и юридических аспектов проекта. Осознанное применение открытого кода становится важным профессиональным навыком современного разработчика.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍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 и о подписке на канал🤪.

👍Помните, большая сила - большая ответственность.
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
👍51🥴1
Какой компьютер взять начинающему кодеру? 😑

Знаю, что в этом канале есть люди, которые только начинают или планируют начать свой путь в IT. Поэтому решил написать пост, который будет им полезен 😴.

На самом деле, если Вы только начинаете программировать, не стоит гнаться за топовым железом — обычного ноутбука или ПК с 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, Адресный язык, заложивших основы отечественной школы программирования.

Связь с современными технологиями 🚩
Хотя прямая связь военных разработок с современным программированием не так однозначна, как я думал, можно выделить несколько ключевых наследий. Самое явное — системный подход к решению сложных комплексных задач. Был создан математический фундамент теоретической базы для будущих алгоритмов. Заложена культура инженерной точности и экономикоматематические методы оптимизации. Все это нашло применение в компьютерных науках после.

Поэтому современное программирование во многом обязано тому трудному периоду военных лет. Вспоминая подвиг нашего народа, мы отдаём дань уважения не только солдатам на фронте, но и учёным, чей интеллектуальный труд в тяжелейших условиях войны и послевоенного восстановления заложил фундамент для будущего развития отечественных информационных технологий.

Давайте гордиться достижениями прошлых поколений и продолжать их дело. Всех с праздником 🚩
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)
Под руководством Г. Звенигородского в Новосибирске появился учебный язык РАПИРА, ставший стандартом для школьного образования по информатике.

Даже в условиях закрытости и ограниченных ресурсов советские инженеры и математики создавали уникальные решения, многие из которых повлияли на мировую практику.

Данный пост является продолжением предыдущего 🚩.

Всем хорошего и доброго вечера ❤️
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..."
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍8👏32🗿21🥰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...

🙂Самое крутое - программа реально экономит часы расчетов и может быть использована как в учебных, так и в лабораторно-ориентированных задачах. Да и писать тот же курсач с ней было бы интереснее🐱

Всем успехов в работе и учебе 👋
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍51🙈1