LoFICoder_Python (часть 1).pdf
779.8 KB
Изучаем 😊
Уважаемые подписчики, прикрепляю для Вас и будущих соканальцев файлик.
Решил, что образовательная часть у этого канала какая-никакая, но должна быть. Поэтому под этим тегом буду прикреплять LoFi-кодерские учебные материалы.
Если у Вас есть знакомые, кому это интересно, кто хочет начать заниматься,делитесь с ними 👩❤️👨 .
Уважаемые подписчики, прикрепляю для Вас и будущих соканальцев файлик.
Решил, что образовательная часть у этого канала какая-никакая, но должна быть. Поэтому под этим тегом буду прикреплять LoFi-кодерские учебные материалы.
Если у Вас есть знакомые, кому это интересно, кто хочет начать заниматься,
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Как войти в айти (часть 2)👋 ?
В первой части мы затронули болезненную тему: почему многие из нас загораются идеей начать программировать, но быстро бросают это дело. Сегодня поговорим о том, как преодолеть этот барьер и действительно начать двигаться в сторону IT-карьеры.🐘
Психологические барьеры на пути в IT
😅 Синдром самозванца 😅
Первое, с чем сталкивается практически каждый новичок — ощущение, что ты не достоин находиться в IT. "Я недостаточно умный", "У меня нет математического склада ума", "Я гуманитарий" и тп.
Правда в том, что абсолютно все разработчики когда-то не знали, как написать даже простейшую программу. И даже сейчас, с опытом в 10+ лет, они регулярно гуглят базовые вещи и испытывают неуверенность. Это нормально!
😅 Информационная перегрузка 😅
"С чего начать?", "Python или JavaScript?", "Какой курс выбрать?" — количество информации и возможных путей настолько огромно, что мозг просто отключается. Это называетсяпарадоксом выбора — чем больше опций, тем сложнее принять решение.
😅 Ожидание мгновенных результатов 😅
В эпоху TikTok и Instagram мы привыкли к мгновенным дофаминовым всплескам. Программирование же — это марафон, а не спринт. Первые недели или даже месяцы могут быть особенно трудными, когда ты много вкладываешь, но видимого прогресса мало.
Продолжим в следующем посте под данным тегом👋
В первой части мы затронули болезненную тему: почему многие из нас загораются идеей начать программировать, но быстро бросают это дело. Сегодня поговорим о том, как преодолеть этот барьер и действительно начать двигаться в сторону IT-карьеры.
Психологические барьеры на пути в IT
Первое, с чем сталкивается практически каждый новичок — ощущение, что ты не достоин находиться в IT. "Я недостаточно умный", "У меня нет математического склада ума", "Я гуманитарий" и тп.
Правда в том, что абсолютно все разработчики когда-то не знали, как написать даже простейшую программу. И даже сейчас, с опытом в 10+ лет, они регулярно гуглят базовые вещи и испытывают неуверенность. Это нормально!
"С чего начать?", "Python или JavaScript?", "Какой курс выбрать?" — количество информации и возможных путей настолько огромно, что мозг просто отключается. Это называется
В эпоху TikTok и Instagram мы привыкли к мгновенным дофаминовым всплескам. Программирование же — это марафон, а не спринт. Первые недели или даже месяцы могут быть особенно трудными, когда ты много вкладываешь, но видимого прогресса мало.
Продолжим в следующем посте под данным тегом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2👍1💯1
#Личный_опыт 🤩
Прямо сейчас сижу и довожу до ума самую большую программу, которую приходилось делать.🤪
Изначально она планировалась гораздо проще, но после кучи допиливаний превратилась в программу длинной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-инструментом для отладки и анализа.
Что это значит для нас? 🤪
Если по человечески сказать, то будет легче работать, проще экспериментировать. В общем, немного расширилась зона комфорта, наверное.
Что делать прямо сейчас? - обновляться, ставить лайки и подписываться на этот канал, рассказывать друзьям, везде его распространять, будто он Ваш❤️
Фишечки
Исправления багов и правки сборки.
free-threaded режим — первый шаг к настоящей многопоточности в CPython.
JIT-компиляция — ускорения кода.
Удобство разработки (больше стиля)
Что это значит для нас?
Если по человечески сказать, то будет легче работать, проще экспериментировать. В общем, немного расширилась зона комфорта, наверное.
Что делать прямо сейчас? - обновляться, ставить лайки и подписываться на этот канал, рассказывать друзьям, везде его распространять, будто он Ваш
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯5❤1👍1
Изучаем 😇
Я похож на абонента?❔
Да, сегодня разберем операторы.
Подписывайтесь, чтобы не пропустить полезное 🦈
Я похож на абонента?
Да, сегодня разберем операторы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3⚡1
Программа для подписчиков 👋
Круто, что вы заходите на мой канал, ставите реакции и участвуете в опросе. Я это очень ценю👍
Поэтому, когда Вас станет здесь больше…100, например, я напишу кому-нибудь из Вас программу по Вашему желанию. Или помогу разобраться с Вашим проектом, если Вы начинающий в этой сфере.
Думаю, это будет классно.
Всем удачи❤️ 🐱
Круто, что вы заходите на мой канал, ставите реакции и участвуете в опросе. Я это очень ценю
Поэтому, когда Вас станет здесь больше…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-проекты.
Хотел бы я такой себе? - определенно. И даже не из-за функционала, а стиля. Смотришь на него и кайфуешь😏
Думаю всем уже об этой штуке известно, но тем, кому неизвестно, будет интересно — 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