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


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

https://news.1rj.ru/str/+qi3--HrUQKE1MTgy
Download Telegram
#Личный_опыт 🤩

Прямо сейчас сижу и довожу до ума самую большую программу, которую приходилось делать. 🤪

Изначально она планировалась гораздо проще, но после кучи допиливаний превратилась в программу длинной 10 000 строк.

У меня возникает закономерный вопрос... сколько такая крошка может стоить? 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1👏1
Во сколько бы Вы оценили прогу из поста выше👆🏻👆🏻👆🏻?
Anonymous Poll
57%
50000-100000 рублей 😭
21%
100000-300000 рублей 😴
6%
300000-500000 рублей 🤩
16%
Выше 500000 рублей 🤗
😐5🤔1😱1
Всех с праздниками👩‍❤️‍👨
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5
LoFICoder_Python (часть 2).pdf
883.3 KB
Изучаем 😊

Ваш покорный хакер трудится для Вас даже в выходные...

Цените это, дорогие подписчики 😇
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Ну, наконец-то!🤗

В апреле 2025 команда Python выпустила релиз 3.13.3 — поддерживающее обновление с почти 320 исправлениями багов, улучшениями сборки, экспериментальным free-threaded режимом без GIL, прототипом JIT-компилятора, обновлённым интерактивным режимом и переходом на sqlite3-бэкенд в модуле dbm. Это означает более устойчивую и предсказуемую среду для разработки, готовую к многопоточности и ускорению «горячих» участков кода.

Фишечки
😊

Исправления багов и правки сборки.
💃
free-threaded режим — первый шаг к настоящей многопоточности в CPython.
💃
JIT-компиляция — ускорения кода.
💃

Удобство разработки (больше стиля)
😑

😛 Обновлённый REPL: мультистрочное редактирование, подсветка синтаксиса, автодополнение и цветные трассировки ошибок делают работу в интерактивной оболочке более приятной. Можно делать красиво. Маркетологи ликуют.
😇Новый dbm-бэкенд: модуль dbm теперь по умолчанию использует sqlite3-файлы, которые можно открыть любым SQLite-инструментом для отладки и анализа.

Что это значит для нас?
🤪
Если по человечески сказать, то будет легче работать, проще экспериментировать. В общем, немного расширилась зона комфорта, наверное.
Что делать прямо сейчас? - обновляться, ставить лайки и подписываться на этот канал, рассказывать друзьям, везде его распространять, будто он Ваш
❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯51👍1
Изучаем 😇

Я похож на абонента?
Да, сегодня разберем операторы.

Подписывайтесь, чтобы не пропустить полезное 🦈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Программа для подписчиков 👋

Круто, что вы заходите на мой канал, ставите реакции и участвуете в опросе. Я это очень ценю 👍
Поэтому, когда Вас станет здесь больше…100, например, я напишу кому-нибудь из Вас программу по Вашему желанию. Или помогу разобраться с Вашим проектом, если Вы начинающий в этой сфере.
Думаю, это будет классно.
Всем удачи ❤️🐱
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥4👍2
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