и посмотреть медиа
Код на салфетке - Python кодинг
и посмотреть медиа
Канал о программировании на Python и других языках. Простые объяснения и коды.
Канал о программировании на Python и других языках. Простые объяснения и коды.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Ресурс для интересующихся программированием. Фокус на Python, но охватывает и другие темы. Простые примеры и разборы.
Знаете ли вы, почему rm *.log не удалит все log-файлы? Если в каталоге лежат app.log и .debug.log, логика команды rm *.log выглядит, на первый взгляд, очевидно: она должна удалить все файлы с таким суффиксом. Но на самом деле, скрытый файл останется на месте – rm получает уже раскрытый shell-список файлов, а не шаблон, и в этот список скрытые имена не попадают. mkdir -p demo && cd demo touch app.log .debug.log printf "%s\n" *.log # app.log rm *.log ls -a # . # .. # .debug.log Shell раскрывает *.log до запуска rm: смотрит в текущий каталог, выбирает имена, подходящие под шаблон, и подставляет их в команду. В примере под шаблон подходит app.log, поэтому запускается rm app.log. .debug.log начинается с точки, а такие имена попадают только в шаблоны, где точка написана явно. Чтобы скрытый файл попал в glob, точку нужно написать явно: touch app.log .debug.log printf "%s\n" *.log .*.log # app.log # .debug.log rm *.log .*.log ls -a # . # .. Но .* как универсальный паттерн для удаления лучше не использовать вслепую: он слишком широкий и цепляет не только нужные файлы. Для конкретной задачи безопаснее писать конкретный суффикс, например .*.log, или сначала посмотреть раскрытие через printf "%s\n" .... Glob раскрывается до запуска команды. rm *.log удаляет только те пути, которые shell подставил вместо *.log. Скрытые имена начинаются с точки, поэтому для них точка должна быть в шаблоне явно. Код на салфетке x Кусочки кода
Открыть канал и посмотреть медиаПривет, друзья! 👋 Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе: 📋 Новое на канале: 🔄 Понедельник, 24.08.2026 — Дайджест ⚙️ Среда, 26.08.2026 — Знаете ли вы, почему файл из .gitignore все равно попадает в коммиты? ☕️ Пятница, 28.08.2026 — Бесплатный практический воркшоп по Python-бэкенду. 🎬 Пятница, 28.08.2026 — Пятничный кинорелакс 🔗 Будьте ближе к нам: 🌐 Читайте полные статьи на сайте 💬 Присоединитесь к обсуждению в чате Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀 #дайджест #код #python #полезное #код_на_салфетке 😼 @napkincode
Открыть канал и посмотреть медиаВсем доброго вечера пятницы! «Основатель» (2016) «Основатель» — биографическая драма о Рэе Кроке, коммивояжёре, который случайно находит небольшую, но идеально организованную закусочную братьев Макдоналд. Впечатлённый скоростью обслуживания и простотой системы, он предлагает превратить семейный бизнес в огромную сеть. Постепенно рестораны появляются по всей стране, а Рэй всё сильнее стремится получить полный контроль над компанией. Его амбиции сталкиваются с осторожностью братьев, которые хотят сохранить качество и первоначальные принципы своего дела. Фильм показывает, как мечта о большом бизнесе превращается в историю жёсткой конкуренции, давления и предательства. Подойдёт, если интересны реальные истории, предпринимательство и цена успеха, который достаётся далеко не всем его создателям. Приятного просмотра!
Открыть канал и посмотреть медиаВсем привет! Уже завтра проведу бесплатный практический воркшоп по Python-бэкенду. Если вы ещё не записались, торопитесь: 👉 ЗАПИСАТЬСЯ 👈 Будем собирать бэкенд для интерактивного квиза («Распределяющая IT-шляпа») — сервиса, который подбирает подходящую IT-профессию по ответам пользователя. Никакого учебного кода в одном файле main.py — сразу разберем взрослую слоистую архитектуру (presentation / application / infrastructure) и актуальный стек: • FastAPI + Pydantic v2 — эндпоинты, валидация входных данных и контракты API • SQLAlchemy 2.0 (Async) + aiosqlite — современные паттерны работы с ORM, репозитории и модели • Alembic — управление структурой и миграциями БД • Pydantic Settings — правильная работа с конфигурацией и окружением Покажу, как бэкенд проектируется и пишется на практике: от логики сервисов до запуска и связки с базой. Подойдёт тем, кто хочет пощупать реальный Python-стек в деле и посмотреть на нормальные инженерные подходы. Эфир уже завтра, участие бесплатное. 👉 ЗАПИСАТЬСЯ 👈
Открыть канал и посмотреть медиаЗнаете ли вы, почему файл из .gitignore все равно попадает в коммиты? Бывает, файл уже лежит в репозитории, а потом его добавляют в .gitignore. Кажется, все просто: строчка в .gitignore, коммит, и файл больше не должен попадать в изменения. Но git status продолжает показывать его при каждой правке, а git add . снова кладет изменение в индекс. Правила игнора применяются только к путям, которых еще нет в индексе. Между рабочим каталогом и историей находится индекс Гита: файл .git/index со списком отслеживаемых путей и хешей их содержимого. git status сравнивает HEAD с индексом, чтобы показать подготовленное к коммиту, и индекс с рабочим каталогом, чтобы показать неподготовленные правки. Отдельным проходом Git ищет пути, которых в индексе нет. Вот этот список и фильтруется через .gitignore. Путь с записью в индексе в такой проход не попадает. git init -q demo && cd demo echo "line=1" > debug.log git add debug.log && git commit -qm "add debug log" echo "debug.log" > .gitignore git add .gitignore && git commit -qm "add gitignore" echo "line=2" >> debug.log git status --short # M debug.log git check-ignore -v debug.log # пусто, код возврата 1 git check-ignore --no-index -v debug.log # .gitignore:1:debug.log debug.log git check-ignore по умолчанию тоже учитывает индекс. Для отслеживаемого debug.log он молчит и завершается с кодом 1. Флаг --no-index проверяет только правила игнора и показывает совпавшую строку. Правило в .gitignore есть, просто к уже отслеживаемому файлу оно не применяется. git rm --cached -q debug.log git commit -qm "untrack debug log" echo "line=3" >> debug.log git status --short # пусто git rm --cached удаляет запись из индекса, но оставляет файл на диске. После коммита debug.log становится неотслеживаемым, и .gitignore начинает работать: новые правки больше не попадают в git status. Из истории файл при этом не исчезает. git rm --cached меняет состояние индекса и следующих коммитов, но не переписывает прошлые. С каталогами похоже – правило logs/ игнорирует сам каталог, поэтому Git не спускается внутрь и не видит !logs/keep.log. А правило logs/* игнорирует содержимое, но оставляет каталог доступным для обхода, поэтому отрицание для конкретного файла сработает. .gitignore работает только для неотслеживаемых путей. Если файл уже попал в индекс, сначала уберите его оттуда через git rm --cached, а потом коммитьте правило игнора. Код на салфетке x Кусочки кода
Открыть канал и посмотреть медиаПривет, друзья! 👋 Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе: 📋 Новое на канале: 🔄 Понедельник, 17.08.2026 — Дайджест 🚀 Понедельник, 17.08.2026 — Бесплатный тест-драйв IT-профессий ⚙️ Среда, 19.08.2026 — Знаете ли вы, что флаг -O вырезает из программы все assert? 🔧 Четверг, 20.08.2026 — BM25 против эмбеддингов, Protocol против наследования: как рождался фреймворк WhyTrend ☕️ Пятница, 21.08.2026 — Хагрид знал: ошибаться — это нормально, главное — не сдаваться и не притворяться кем-то другим. 🎬 Пятница, 21.08.2026 — Пятничный кинорелакс 🌀 Воскресенье, 23.08.2026 — «Нас всех могли убить... или, что ещё хуже, исключить из школы!» 😄 🔗 Будьте ближе к нам: 🌐 Читайте полные статьи на сайте 💬 Присоединитесь к обсуждению в чате Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀 #дайджест #код #python #полезное #код_на_салфетке 😼 @napkincode
Открыть канал и посмотреть медиа«Нас всех могли убить... или, что ещё хуже, исключить из школы!» 😄 В IT-академии Lad мы, конечно, никого не убиваем и не исключаем. Но страх перед новой профессией бывает не меньше, чем перед тёмными искусствами и трёхголовыми псами. Особенно когда речь заходит о дизайне. Многим кажется: нужно быть художником, разбираться в композиции, чувствовать стиль... Но это неправда! Дизайн — это не рисование картин, а понимание логики пользователей. Главное — сделать так, чтобы сайт был одинаково удобен и для Дамблдора, и для Волан-де-Морта (зачем бы им ни понадобилось заходить на маггловский сайт). 😉 Сегодня, 24 августа в 19:00, на практикуме по UI/UX-дизайну вы увидите профессию изнутри и попробуете свои силы. Поможет вам в этом Анна Жукова, Senior UX/UI-дизайнер с 8-летним опытом. Приходите — мы докажем, что дизайн не страшнее полуночной прогулки по Хогвартсу: ✨ Ссылка скрыта
Открыть канал и посмотреть медиаПриветствую! «Игра в имитацию» (2014) «Игра в имитацию» — биографическая драма про Алана Тьюринга, математика, который во время Второй мировой пытался взломать код немецкой шифровальной машины «Энигма». Группа английских криптографов работает в строжайшей секретности, пытаясь создать машину, которая сможет читать зашифрованные сообщения немцев и тем самым спасать тысячи жизней. Это фильм одновременно про гениальность, травлю и цену, которую платит человек, слишком отличающийся от остальных. Подойдёт, если вам нравятся исторические драмы с сильным эмоциональным финалом и темой, где «герой» — не солдаты на поле боя, а учёный за пишущей машинкой и головоломками. Приятного просмотра!
Открыть канал и посмотреть медиаХагрид знал: ошибаться — это нормально, главное — не сдаваться и не притворяться кем-то другим. 🧙♂«Никогда не стыдись сам себя, — говорил он. — Всегда найдутся те, кто будет против, только тебе до них дела нет». И это правда! Кто-то может сомневаться в вас, но главное — а верите ли вы в себя? Сегодня, 21 августа в 19:00, у вас есть шанс примерить роль системного и бизнес-аналитика — даже если страшно, даже если кажется, что ничего не получится. Не попробуете — не узнаете! 👨🏫 Наш Хагрид — Игорь Фрелих — научит вас собирать требования заказчика, рисовать схемы и описывать логику сайта. И всё это легко, с улыбкой — ведь он и сам был новичком. Ему тоже было неловко задавать вопросы, он тоже колебался, его это профессия или нет. ✨ Приходите — будем разбираться вместе, шаг за шагом: Ссылка скрыта
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!