CodeShadow – Telegram
CodeShadow
76 subscribers
182 photos
11 videos
7 files
128 links
👋 Я Артемий — преподаватель Python и фрилансер.

💻 Показываю, как код и нейросети помогают зарабатывать и упрощать работу.

🚀 Делюсь проектами, опытом и лайфхаками из реальной практики.

✍🏻 Вопросы и идеи: @MifmanRu
Download Telegram
📦 Как создать собственный CLI-инструмент с помощью Click

Click — это удобная библиотека для создания командной строки.

Установка:

pip install click


🔹 Пример:

import click

@click.command()
@click.option('--name', prompt='Ваше имя', help='Имя пользователя.')
def hello(name):
click.echo(f"Привет, {name}!")

if __name__ == '__main__':
hello()


При запуске:

python hello.py


Пользователь будет приглашён ввести имя. Это отличная основа для автоматизаторов, скриптов и утилит.
🛠️ Работа с датами и временем в Python

Python имеет мощный модуль `datetime` для работы с датами и временем.

🔹 Пример:

from datetime import datetime, timedelta

now = datetime.now()
print("Текущее время:", now)

# Прибавим 7 дней
future = now + timedelta(days=7)
print("Через неделю:", future)

# Форматирование
formatted = now.strftime("%d.%m.%Y %H:%M")
print("Отформатировано:", formatted)


Форматы `strftime`:
- `%d` — день
- `%m` — месяц
- `%Y` — год
- `%H:%M` — часы и минуты

Также можно сравнивать даты и парсить строки:

parsed = datetime.strptime("21.05.2025", "%d.%m.%Y")
print(parsed.date())
🔐 Создание системы авторизации на Flask

Flask — лёгкий веб-фреймворк. Давайте создадим простую систему логина.

Установка:

pip install flask


🔹 Пример:

from flask import Flask, request, render_template_string

app = Flask(__name__)

users = {"admin": "1234"}

@app.route("/", methods=["GET", "POST"])
def login():
if request.method == "POST":
username = request.form["username"]
password = request.form["password"]
if users.get(username) == password:
return "Успешный вход!"
return "Неверные данные"
return render_template_string('''
<form method="post">
<input name="username" placeholder="Имя">
<input name="password" type="password" placeholder="Пароль">
<input type="submit">
</form>
''')

app.run(debug=True)


Это базовый пример — используйте `Flask-Login` и `werkzeug.security` для защиты паролей.
📰 Как обучать школьников и студентов ИТ-технологиям обсудили в Омске

Компания РЕД СОФТ, ведущий российский разработчик отечественного программного обеспечения, активно поддержала прошедшую недавно 23-ю открытую Всероссийскую конференцию «Преподавание информационных технологий в Российской Федерации», организованную в городе Омске. Это событие собрало ведущих специалистов в области образования и информационных технологий из разных регионов страны. На конференции «Преподавание информационных технологий в Российской Федерации» эксперты ИТ-компаний и представители системы […]
РЕД СОФТ

🔗 https://www.computerra.ru/314955/kak-obuchat-shkolnikov-i-studentov-it-tehnologiyam-obsudili-v-omske/
📰 ИИ к 2030 году сэкономит до 10,8 трлн ₽ в год и не заменит ни одной профессии

К такому выводу пришли эксперты Университета «Зерокодер», Иннополиса, МГУ им. Ломоносова и Высшей школы менеджмента СПБГУ. Они проанализировали 7800 вакансий, представленных на HH.ru и оценили потециал генеративного ИИ (генИИ) для повышения производительности на рынке труда России. Из исследования следует, что при масштабном внедрении ИИ к 2030 году возможна ежегодная экономия до 10,8 трлн рублей. При […]
Компьютерра

🔗 https://www.computerra.ru/314947/ii-k-2030-godu-sekonomit-do-10-8-trln-v-god-i-ne-zamenit-ni-odnoj-professii/
📰 Билайн и ICL Services обеспечивают технологическую независимость регионального правительства Ленобласти

В Ленинградской области продолжается масштабный проект по переходу органов исполнительной власти на российское программное обеспечение. Решение о замене иностранных ИТ-продуктов принято в соответствии с Указом Президента РФ №166. Заказчиком проекта выступил Оператор электронного правительства Ленинградской области (ОЭП), генеральным подрядчиком — «ВымпелКом» (бренд билайн), технологическим партнером — продуктово-сервисная компания ICL Services. В рамках проекта проводится миграция рабочих станций государственных служащих на […]
ICL Services

🔗 https://www.computerra.ru/314942/bilajn-i-icl-services-obespechivayut-tehnologicheskuyu-nezavisimost-regionalnogo-pravitelstva-lenoblasti/
📰 Кибербезопасность впервые станет одной из ключевых тем конференции ЦИПР

Одним из ключевых треков деловой программы конференциии «Цифровая индустрия промышленной России» (ЦИПР) станет направление по кибербезопасности, разработанное при участии команды Кибердома. В рамках трека «ЦИПР.Кибербезопасность» пройдет 11 сессий. Если раньше кибербезопасность появлялась в программе фрагментарно — в виде отдельных партнерских сессий, — то в 2025 году она вышла на новый уровень. Данный факт подчеркивает, что […]
ЦИПР

🔗 https://www.computerra.ru/314937/kiberbezopasnost-vpervye-stanet-odnoj-iz-klyuchevyh-tem-konferentsii-tsipr/
📰 Доля российского ПО в школьной аттестации по информатике выросла до 20%

Школы России все чаще выбирают отечественный софт для проведения экзаменов по информатике. С 2021 по 2024 год доля российского ПО выросла с 11% до 20%, а зарубежные решения, напротив, теряют позиции. За последние четыре года использование отечественного программного обеспечения при проведении итоговой аттестации по информатике в российских школах увеличилось с 11% до 20%. Соотношение зарубежного […]
Компьютерра

🔗 https://www.computerra.ru/314932/dolya-rossijskogo-po-v-shkolnoj-attestatsii-po-informatike-vyrosla-do-20/
📰 Полностью провалился: новейший Samsung Galaxy S25 Edge сравнили с iPhone 16 Pro Max, Galaxy S25 Ultra, OnePlus 13, Xiaomi 15 Pro и Pixel 9 Pro XL по времени работы

Galaxy S25 Edge провалил тест на автономность среди флагманов YouTube-канал TechDroider провёл сравнительный тест автономности Samsung Galaxy S25 Edge, показав, что сверхтонкий смартфон уступает всем актуальным конкурентам,. Устройство тестировалось в условиях высокой нагрузки: игры, воспроизведение видео, веб-сёрфинг, использование соцсетей и камеры. В испытании участвовали iPhone 16 Pro Max, Galaxy S25 Ultra, OnePlus 13, Xiaomi 15 Pro и Pixel 9 Pro XL. Фото SamMobileTV/YouTube После трёх часов игры в PUBG Mobile на Galaxy S25 Edge осталось 62% заряда, что близко к Pixel 9 Pro XL (64%) и Galaxy S25 Ultra (70%). OnePlus 13 с батареей 6000 мА•ч показал схожий результат, а iPhone 16 Pro Max потерял лишь 20%. После трёх часов воспроизведения видео у Galaxy S25 Edge осталось 43%, у Pixel 9 Pro XL — 45%. Ещё два часа веб-сёрфинга снизили заряд до 32%, тогда как iPhone 16 Pro Max сохранил 60%. Итоговое время работы Galaxy S25 Edge составило 10 часов 40 минут, что на 13 минут меньше, чем у Pixel 9 Pro XL. Galaxy S25 Ultra продержался 11 часов 45 минут, OnePlus 13 — 11 часов 48 минут, Xiaomi 15 Pro — 12 часов 22 минуты, а лидером стал iPhone 16 Pro Max с 12 часами 38 минутами. Ёмкость батареи Galaxy S25 Edge — 3900 мА•ч, что на 20% меньше, чем у Galaxy S25 Ultra. Все конкуренты предлагают батареи от 5000 до 7000 мА•ч.

🔗 https://www.ixbt.com/news/2025/05/23/samsung-galaxy-s25-edge-iphone-16-pro-max-galaxy-s25-ultra-oneplus-13-xiaomi-15-pro-pixel-9-pro-xl.html
🔍 Как работает list comprehension и почему это удобно

List comprehension — это способ создавать списки на лету, лаконично и эффективно. Он заменяет длинные циклы в одну строку.

📌 Пример 1: Создание списка квадратов чисел от 0 до 9
code
squares = [x**2 for x in range(10)]
print(squares)
# ➜ [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


📌 Пример 2: Отфильтровать только чётные числа
code
even = [x for x in range(20) if x % 2 == 0]
print(even)
# ➜ [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]


📌 Пример 3: Вложенные циклы
code
pairs = [(x, y) for x in range(3) for y in range(2)]
print(pairs)
# ➜ [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
💾 Работа с файлами: чтение, запись, добавление

📌 Запись в файл:
code
with open("test.txt", "w", encoding="utf-8") as f:
f.write("Привет, мир!")


📌 Чтение файла:
code
with open("test.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)


📌 Построчное чтение:
code
with open("test.txt", "r") as f:
for line in f:
print(line.strip())


📌 Добавление строки:
code
with open("test.txt", "a") as f:
f.write("\nДобавлена новая строка.")
📦 pip и requirements.txt: управление зависимостями

📌 Создать файл зависимостей:
code
pip freeze > requirements.txt


📌 Установить зависимости из файла:
code
pip install -r requirements.txt


📌 Установка конкретной версии:
code
pip install numpy==1.23.5


📌 Удаление библиотеки:
code
pip uninstall pandas
🧰 Модуль itertools — мощный инструмент работы с итерациями

📌 Пример 1: product — декартово произведение
code
from itertools import product

for p in product([1, 2], ['a', 'b']):
print(p)


📌 Пример 2: permutations — все перестановки
code
from itertools import permutations

for p in permutations('abc'):
print(''.join(p))


📌 Пример 3: groupby — группировка элементов
code
from itertools import groupby

data = "aaabbbbccaaa"
for k, g in groupby(data):
print(k, list(g))
📅 Работа с календарём в Python: модуль calendar

📌 Показать календарь месяца:
code
import calendar
print(calendar.month(2025, 5))


📌 Проверка високосного года:
code
print(calendar.isleap(2024)) # True


📌 Первый день недели и количество дней:
code
first, days = calendar.monthrange(2025, 5)
print(first, days)


📌 Имена дней недели:
code
for day in calendar.day_name:
print(day)
📂 pathlib: современная работа с путями

📌 Путь к текущему файлу:
code
from pathlib import Path

print(Path(__file__).resolve())


📌 Список .py файлов:
code
for file in Path(".").glob("*.py"):
print(file)


📌 Создание и удаление:
code
path = Path("demo.txt")
path.write_text("Hello, pathlib!")
print(path.read_text())
path.unlink()
🧮 Основы numpy: векторные вычисления

📌 Создание массива и операция:
code
import numpy as np

a = np.array([1, 2, 3])
print(a * 2)


📌 Нули и случайные значения:
code
zeros = np.zeros((2, 3))
rand = np.random.randint(0, 10, size=(3, 3))
print(zeros)
print(rand)
🔐 Хеширование данных: безопасное хранение паролей

📌 Установка:
code
pip install bcrypt


📌 Пример:
code
import bcrypt

password = b"secret123"
hashed = bcrypt.hashpw(password, bcrypt.gensalt())

print(hashed)
print(bcrypt.checkpw(password, hashed)) # True
📡 Telegram Bot API с requests

📌 Пример:
code
import requests

TOKEN = "YOUR_BOT_TOKEN"
chat_id = "YOUR_CHAT_ID"
text = "Привет от Python!"

url = f"
params = {"chat_id": chat_id, "text": text}

res = requests.get(url, params=params)
print(res.json())
🧩 Как использовать assert

📌 Пример:
code
def divide(a, b):
assert b != 0, "Деление на ноль недопустимо"
return a / b

print(divide(10, 2))
# print(divide(10, 0)) # AssertionError


assert удобно использовать при тестировании и отладке.
📰 Павел Дуров анонсировал партнерство Telegram с xAI Илона Маска

Основатель Telegram Павел Дуров заключил годовое соглашение с компанией xAI Илона Маска. В рамках сотрудничества в мессенджере появится чат-бот Grok, а Telegram получит $300 млн и половину доходов от подписок xAI. Основатель Telegram Павел Дуров объявил о годовом сотрудничестве с компанией xAI Илона Маска. В рамках партнерства в мессенджере появится чат-бот Grok, а Telegram получит $300 […]
Компьютерра

🔗 https://www.computerra.ru/315315/pavel-durov-anonsiroval-partnerstvo-telegram-s-xai-ilona-maska/
🔹 ПОЛЕЗНЫЙ СКРИПТ НА PYTHON: Автоматическое переименование файлов

Храните кучу файлов с непонятными названиями вроде `IMG_20210405_123456.jpg`? Сделаем скрипт, который переименует их в нормальный вид.

python
import os

folder = "photos"
files = os.listdir(folder)

for i, filename in enumerate(files, start=1):
ext = os.path.splitext(filename)[1]
new_name = f"photo_{i}{ext}"
os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

print("Готово!")


🔍 Как работает:
1. Считываем список файлов в папке `photos`.
2. Проходимся по ним с помощью `enumerate()`, чтобы получить и индекс, и имя.
3. Формируем новое имя вида `photo_1.jpg`, `photo_2.jpg` и т.д.
4. Переименовываем файл через `os.rename`.

📂 Теперь ваши файлы не в хаосе, а в порядке!