Знаете ли вы, что and и or возвращают не True/False, а сами операнды?
Пишем
Простой пример –
С
Это позволяет делать короткие условные выражения:
Второй операнд
Особенно опасно в словарях и списках:
Пустая строка и
Вот где это полезно – ленивая инициализация:
Операторы
Код на салфетке x Кусочки кода
Пишем
result = x or y, ждем булево значение, а там объект x или y. Или используем value = a and b для проверки, а в переменной оказывается один из операндов, вместо True/False. Дело тут в том, что and и or в Python не преобразуют результат в bool – они возвращают один из операндов как есть, в зависимости от их истинности.Простой пример –
or возвращает первый истинный операнд:result = 5 or 10
print(result) # 5, а не True
result = 0 or 10
print(result) # 10
result = None or "default"
print(result) # "default"
result = "" or "fallback"
print(result) # "fallback"
or проверяет первый операнд – если он правдив (не 0, не None, не пустая строка), то возвращает его. Иначе – вернет второй операнд, не проверяя его на истинность.С
and работает наоборот – он возвращает первый ложный или просто последний операнд:result = 5 and 10
print(result) # 10, а не True
result = 0 and 10
print(result) # 0
result = "hello" and "world"
print(result) # "world"
result = [] and "never evaluated"
print(result) # []
and проверяет первый операнд – если он ложный, возвращает его сразу. Если истинный, возвращает второй операнд как есть, не преобразуя в bool.Это позволяет делать короткие условные выражения:
# Установка значения по умолчанию
name = input("Имя: ") or "Аноним"
print(f"Привет, {name}")
# Если ввели пустую строку, name = "Аноним"
# Безопасное обращение к атрибуту
config = None
debug = config and config.get('debug')
print(debug) # None, без ошибки
# Если config = None, второй операнд не вычисляется
# Выбор первого непустого значения
first_name = ""
last_name = "Петров"
display_name = first_name or last_name or "Неизвестно"
print(display_name) # "Петров"
Второй операнд
and и or не вычисляется если результат уже известен (short-circuit evaluation).Особенно опасно в словарях и списках:
# Устанавливаем значение по умолчанию
data = {'name': ''}
processed = data.get('name') or 'Unknown'
print(processed) # 'Unknown'
# Но если значение может быть 0
scores = {'player1': 0}
score = scores.get('player1') or 100
print(score) # то получится 100 – настоящий 0 утерян
# Правильно через get с дефолтным значением
score = scores.get('player1', 100)
print(score) # 0
Пустая строка и
0 являются ложными, поэтому or их пропускает, хотя это валидные значения.Вот где это полезно – ленивая инициализация:
class Cache:
def __init__(self):
self._data = None
def get_data(self):
# Инициализируем только при первом обращении
self._data = self._data or self._load_expensive_data()
return self._data
def _load_expensive_data(self):
print("Loading...")
return {'key': 'value'}
cache = Cache()
print(cache.get_data()) # Loading... {'key': 'value'}
print(cache.get_data()) # {'key': 'value'} - без Loading
or проверяет кеш, и если он None, вызывает дорогую функцию только один раз.Операторы
and и or возвращают сами операнды, а не True/False. or возвращает первый истинный операнд или последний, and возвращает первый ложный, либо последний. Это полезно для значений по умолчанию и условных выражений, но может создать баги если не учитывать что пустая строка, 0 или пустой список тоже ложны.Код на салфетке x Кусочки кода
🔥14❤2⚡2
Всем доброго вечера пятницы!
«Побег из плена» (2025)
Это военная драма о британском лётчике Джеймсе Райте, который в 1942 году попадает в японский лагерь на Филиппинах. Жизнь там сводится к выживанию и подчинению жестоким правилам охраны.
Офицеры устраивают бои между пленными, превращая их в гладиаторов для развлечения. Райт, сильный и обученный, становится главным бойцом, но втайне готовит побег вместе с другими узниками и местной медсестрой.
Фильм про честь, страх и готовность рискнуть всем ради свободы. Зайдёт, если любите военное кино, лагерные истории и жёсткие, но эмоциональные сюжеты.
Приятного просмотра!
«Побег из плена» (2025)
Это военная драма о британском лётчике Джеймсе Райте, который в 1942 году попадает в японский лагерь на Филиппинах. Жизнь там сводится к выживанию и подчинению жестоким правилам охраны.
Офицеры устраивают бои между пленными, превращая их в гладиаторов для развлечения. Райт, сильный и обученный, становится главным бойцом, но втайне готовит побег вместе с другими узниками и местной медсестрой.
Фильм про честь, страх и готовность рискнуть всем ради свободы. Зайдёт, если любите военное кино, лагерные истории и жёсткие, но эмоциональные сюжеты.
Приятного просмотра!
🔥4✍1
Всем привет!
Как многие из вас знают, я преподаю и менторю в IT-академии Lad. Решили начать февраль активно: запускаем серию открытых практикумов по разным IT-направлениям.
Разумеется, один из них веду я. Тема — «Разработка Telegram-бота с ИИ».
Что будем делать? Не будем грузить вас сложной архитектурой и «умными» терминами. Моя цель — показать то, что реально работает. Мы напишем бота, которого сможет повторить любой новичок, сразу протестировать и получить первый результат в Python-разработке.
Если Python — не единственное, что вам интересно, очень советую заглянуть на эфиры к моим коллегам (это реально крутые практики):
• Frontend-разработка
• UX/UI-дизайн
• Backend на JavaScript
• Управление проектами (PM)
Регистрируйтесь по ссылке и выбирайте интересные темы!
Кстати, новый поток моего курса стартует уже в феврале. Если практикума вам покажется мало и захочется погрузиться в профессию полностью — сейчас самое время.
P.S. По моему личному промокоду
Как многие из вас знают, я преподаю и менторю в IT-академии Lad. Решили начать февраль активно: запускаем серию открытых практикумов по разным IT-направлениям.
Разумеется, один из них веду я. Тема — «Разработка Telegram-бота с ИИ».
Что будем делать? Не будем грузить вас сложной архитектурой и «умными» терминами. Моя цель — показать то, что реально работает. Мы напишем бота, которого сможет повторить любой новичок, сразу протестировать и получить первый результат в Python-разработке.
Приходите кодить и общаться 8 февраля в 13:00.
Если Python — не единственное, что вам интересно, очень советую заглянуть на эфиры к моим коллегам (это реально крутые практики):
• Frontend-разработка
• UX/UI-дизайн
• Backend на JavaScript
• Управление проектами (PM)
Регистрируйтесь по ссылке и выбирайте интересные темы!
Кстати, новый поток моего курса стартует уже в феврале. Если практикума вам покажется мало и захочется погрузиться в профессию полностью — сейчас самое время.
P.S. По моему личному промокоду
press_any_button действует скидка 10 000 рублей на обучение. Он вечный, но лучше успеть к старту группы!🔥11⚡4👍2❤1😱1
This media is not supported in your browser
VIEW IN TELEGRAM
В IT любят красивые слова про "интеллектуальный капитал". Но на деле многими командами управляют как бригадой на заводе. Отчет каждые 15 минут, вопрос "почему задача висит три часа" и прочие радости микроменеджмента. Удаленка эти проблемы только подсветила.
Если вчера вы были крутым разработчиком, а сегодня проснулись тимлидом - вам предстоит сложная трансформация. Иначе вы рискуете стать тем самым начальником, от которого сбегают сеньоры.
Главная ошибка новичка - непонимание времени. Пол Грэм (прим. ред.: американский предприниматель, программист, эссеист, известный сторонник и пропагандист использования языка программирования Lisp) называл это конфликтом расписаний.
У менеджера день нарезан на часовые слоты. Переключиться между задачами каждые полчаса для него нормально. Поговорил с заказчиком, ответил на почту. Он продуктивен именно в переключении.
У Творца (разработчика) все иначе. Ему нужны длинные куски времени, часа по четыре минимум. Чтобы спроектировать архитектуру, надо погрузиться в контекст. Одно "быстрое совещание на 15 минут" в середине дня не просто отнимает время. Оно разбивает день на два бесполезных куска и выбивает человека из потока.
На удаленке начальники теряют визуальный контроль и начинают паниковать, обрывая мессенджеры.
🏃♀️ Совет: Хотите результата - учитесь асинхронности. Не ждите мгновенного ответа, если прод не горит. Дайте людям работать.
В учебниках стили управления раскладывают по полочкам, но в жизни приходится постоянно менять маски.
Используйте ситуационное лидерство. Новичку нужны инструкции. Сомневающемуся - поддержка. А профи нужно просто делегировать полномочия и отойти в сторону.
Переход из инженеров в менеджеры - всегда стресс. Раньше вы отвечали за предсказуемый код, теперь за иррациональных людей.
Стать тимлидом - значит сменить профессию. Теперь ваша работа не писать код, а создавать среду для этого. Убивайте в себе желание контролировать мелочи и защищайте время своих сотрудников.
Помните - вы управляете живыми людьми, а не тикетами в Jira.
Узнали в описании себя или своего босса?😉
Код на салфетке x Мозг в данных
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9💯1
Привет, друзья! 👋
Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе:
📋 Новое на канале:
🔄 Понедельник, 19.01.2026 — Дайджест
🤖 Вторник, 20.01.2026 — Знаете ли вы, что and и or возвращают не True/False, а сами операнды?
🎬 Пятница, 23.01.2026 — Пятничный кинорелакс
⚙️ Воскресенье, 25.01.2026 — Приглашение на практикум по Python
🤖 Воскресенье, 25.01.2026 — Тимлид поневоле: как не задушить команду и не выгореть самому
🔗 Будьте ближе к нам:
🌐 Читайте полные статьи на сайте
💬 Присоединитесь к обсуждению в чате
Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀
#дайджест #код #python #полезное #код_на_салфетке
Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе:
📋 Новое на канале:
🔄 Понедельник, 19.01.2026 — Дайджест
🤖 Вторник, 20.01.2026 — Знаете ли вы, что and и or возвращают не True/False, а сами операнды?
🎬 Пятница, 23.01.2026 — Пятничный кинорелакс
⚙️ Воскресенье, 25.01.2026 — Приглашение на практикум по Python
🤖 Воскресенье, 25.01.2026 — Тимлид поневоле: как не задушить команду и не выгореть самому
🔗 Будьте ближе к нам:
🌐 Читайте полные статьи на сайте
💬 Присоединитесь к обсуждению в чате
Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀
#дайджест #код #python #полезное #код_на_салфетке
🔥6
Знаете ли вы, что copy.copy() не копирует вложенные объекты?
Копируете список со вложенными списками через
Простой пример с мутацией вложенного списка:
Проверим через
Важный нюанс: перезапись не равно изменение. Если заменить весь вложенный список, а не его элемент – оригинал не пострадает:
Для полного копирования всех уровней нужен
Код на салфетке x Кусочки кода
Копируете список со вложенными списками через
copy.copy(), меняете элемент внутреннего списка в копии – а он меняется и в оригинале. Дело в том, что copy.copy() делает shallow copy – копирует только верхний уровень структуры, а вложенные изменяемые объекты остаются общими между оригиналом и копией.Простой пример с мутацией вложенного списка:
import copy
original = [[1, 2, 3], [4, 5, 6]]
shallow = copy.copy(original)
# Изменяем содержимое вложенного списка
shallow[0][0] = 999
print(original) # [[999, 2, 3], [4, 5, 6]]
print(shallow) # [[999, 2, 3], [4, 5, 6]]
# Оба изменились: внутренние списки – один объект
Проверим через
id():import copy
original = [[1, 2], [3, 4]]
shallow = copy.copy(original)
print("Внешний список:", id(original), "vs", id(shallow))
# Разные объекты
print("Внутренний [1,2]:", id(original[0]), "vs", id(shallow[0]))
# Один и тот же объект
Важный нюанс: перезапись не равно изменение. Если заменить весь вложенный список, а не его элемент – оригинал не пострадает:
original = [[1, 2], [3, 4]]
shallow = copy.copy(original)
shallow[0] = [9, 9] # Перезаписываем элемент, а не меняем содержимое
print(original) # [[1, 2], [3, 4]] – без изменений
print(shallow) # [[9, 9], [3, 4]]
Для полного копирования всех уровней нужен
deepcopy:import copy
original = [[1, 2, 3], [4, 5, 6]]
deep = copy.deepcopy(original)
deep[0][0] = 999
print(original) # [[1, 2, 3], [4, 5, 6]]
print(deep) # [[999, 2, 3], [4, 5, 6]]
copy.copy() создает новый контейнер, но делится вложенными изменяемыми объектами. С неизменяемыми вложенными объектами (числа, строки, кортежи) shallow copy работает безопасно. Для полного независимого копирования используйте copy.deepcopy().Код на салфетке x Кусочки кода
🔥8❤6⚡3
Kawai-Focus 2.2: Python-бинарник в Tauri — проблемы и альтернативы
Автор: Eugene Kaddo
Данная статья посвящена:
- Проблемам с текущим бинарником Python в Tauri проекте;
- Поиску лучшего архитектурного решения для бекенд логики;
Читать статью на сайте
Читать статью на Хабр
Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот
#Python #JS #Open_source #Наши_Open_Source_проекты #Rust #Kawai-Focus #Tauri #Ionic #Vue.js
Автор: Eugene Kaddo
Данная статья посвящена:
- Проблемам с текущим бинарником Python в Tauri проекте;
- Поиску лучшего архитектурного решения для бекенд логики;
Читать статью на сайте
Читать статью на Хабр
Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот
#Python #JS #Open_source #Наши_Open_Source_проекты #Rust #Kawai-Focus #Tauri #Ionic #Vue.js
1🔥4❤🔥1
Привет, любители советского кино!
«Курьер» (1986)
Этот фильм — история 17‑летнего Ивана, который после провала экзаменов становится курьером и случайно попадает в интеллигентную среду. Одна доставка — и его жизнь пересекается с семьёй профессора Кузнецова.
Иван знакомится с дочерью профессора, Катей, и между ними завязывается непростое, честное общение. Они из разных миров, с разными возможностями и ожиданиями от будущего, и именно это делает их диалоги такими живыми.
«Курьер» — фильм о взрослении, одиночестве и попытке понять своё место в жизни. Коротко, просто и очень по‑человечески — поэтому он до сих пор цепляет.
Приятного просмотра!
«Курьер» (1986)
Этот фильм — история 17‑летнего Ивана, который после провала экзаменов становится курьером и случайно попадает в интеллигентную среду. Одна доставка — и его жизнь пересекается с семьёй профессора Кузнецова.
Иван знакомится с дочерью профессора, Катей, и между ними завязывается непростое, честное общение. Они из разных миров, с разными возможностями и ожиданиями от будущего, и именно это делает их диалоги такими живыми.
«Курьер» — фильм о взрослении, одиночестве и попытке понять своё место в жизни. Коротко, просто и очень по‑человечески — поэтому он до сих пор цепляет.
Приятного просмотра!
🔥12👎1
Привет, друзья! 👋
Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе:
📋 Новое на канале:
🔄 Понедельник, 26.01.2026 — Дайджест
🤖 Вторник, 27.01.2026 — Знаете ли вы, что copy.copy() не копирует вложенные объекты?
🎬 Пятница, 30.01.2026 — Пятничный кинорелакс
⚙ Пятница, 30.01.2026 — Kawai-Focus 2.2: Python-бинарник в Tauri — проблемы и альтернативы
🔗 Будьте ближе к нам:
🌐 Читайте полные статьи на сайте
💬 Присоединитесь к обсуждению в чате
Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀
#дайджест #код #python #полезное #код_на_салфетке
Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе:
📋 Новое на канале:
🔄 Понедельник, 26.01.2026 — Дайджест
🤖 Вторник, 27.01.2026 — Знаете ли вы, что copy.copy() не копирует вложенные объекты?
🎬 Пятница, 30.01.2026 — Пятничный кинорелакс
⚙ Пятница, 30.01.2026 — Kawai-Focus 2.2: Python-бинарник в Tauri — проблемы и альтернативы
🔗 Будьте ближе к нам:
🌐 Читайте полные статьи на сайте
💬 Присоединитесь к обсуждению в чате
Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀
#дайджест #код #python #полезное #код_на_салфетке
🔥4⚡1
Знаете ли вы, что kill -9 не всегда убивает процесс?
Запускаем
Представим себе такой неубиваемый процесс:
Статус
Но мы можем увидеть ВСЕ процессы в D-состоянии:
Stack trace показывает где именно процесс застрял в ядре. Обычно это функции работы с файловой системой, сетью или устройствами.
Процесс в
Процессы будут убиты, когда NFS отвалится; для сломанного диска – только перезагрузка.
Почему
Процессы в состоянии
Код на салфетке x Кусочки кода
Запускаем
kill -9 <PID>, ждем что процесс будет убит – а он продолжает висеть в ps aux. Пробуем еще раз от рута, с разными сигналами – ничего не помогает. Проблема здесь в том, что процесс в статусе D (uninterruptible sleep) просто игнорирует все сигналы, включая SIGKILL. Это происходит потому что процесс находится в системном вызове ядра и ждет завершения I/O операции – пока ядро не закончит работу, процесс не может быть убит.Представим себе такой неубиваемый процесс:
# Запустим что-то с подвисшим NFS
ls /mnt/broken_nfs &
# Посмотрим на статус процесса
ps aux | grep ls
# USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
# user 1234 0.0 0.1 2345 678 ? D 10:30 0:00 ls /mnt/broken_nfs
# D в STAT означает тот самый uninterruptible sleep
# Попробуем его убить
kill -9 1234
# Но процесс все еще жив:
ps aux | grep 1234
# kill -9 не сработал
Статус
D означает что процесс в системном вызове ядра и не может быть прерван. Обычно это операции ввода-вывода – чтение с диска, сетевой запрос, ожидание блокировки.Но мы можем увидеть ВСЕ процессы в D-состоянии:
# Через ps aux
ps aux | awk '$8 ~ /D/ { print $0 }'
# Или через top/htop
top
# Прожимаем 'o' для фильтра, вводим: S=D
# Покажутся только D-процессы
# Смотрим stack trace процесса
cat /proc/1234/stack
# [<0>] wait_on_page_bit+0x123/0x456
# [<0>] read_pages+0x234/0x567
# [<0>] __do_page_cache_readahead+0x345/0x678
# Будет видно что процесс ждет чтения страницы
Stack trace показывает где именно процесс застрял в ядре. Обычно это функции работы с файловой системой, сетью или устройствами.
Процесс в
D можно убить, но только через перезагрузку или починив то, что он ждет:# Для NFS – размонтировать принудительно
umount -f /mnt/nfs
# Или ленивое размонтирование
umount -l /mnt/nfs
Процессы будут убиты, когда NFS отвалится; для сломанного диска – только перезагрузка.
Почему
SIGKILL не сработает? Потому что сигналы обрабатываются только когда процесс возвращается в user space. D-процесс находится в kernel space системного вызова, а ядро не проверяет сигналы пока вызов не завершится. Но мы можем увидеть где процесс застрял:cat /proc/1234/wchan
# wait_on_page_bit
# Процесс ждет страницу в памяти
Процессы в состоянии
D (uninterruptible sleep) не реагируют на сигналы, включая SIGKILL. Они застревают в системных вызовах ядра, обычно при I/O операциях с зависшими устройствами (NFS, сломанный диск, RAID). Убить такой процесс можно только решив проблему ввода-вывода – размонтировав файловую систему, отключив устройство или через перезагрузку. Проверяйте статус процесса через ps – если в колонке STAT стоит значение D – значит kill -9 не поможет.Код на салфетке x Кусочки кода
🔥11👍5⚡1
Всем доброго вечера пятницы!
«Искусство самообороны» (2019)
«Искусство самообороны» — чёрная комедия о тихом бухгалтере Кейси, которого жестоко избивает банда мотоциклистов. Вместо пистолета он выбирает додзё каратэ и попадает под влияние харизматичного, но очень токсичного сенсея.
Тренировки постепенно превращают его из забитого «офисного мыша» в агрессивного фаната насилия, а додзё — в секту с ночными уроками, жестокими правилами и мрачными секретами. Кейси шаг за шагом узнаёт правду о сенсее, преступлениях школы и своём собственном страхе.
Фильм одновременно высмеивает культ «мужественности на стероидах» и показывает, как легко хрупкого человека сломать под видом «закалки характера». Подойдёт, если любите странное, неловкое кино с юмором на грани и неожиданно жёсткой развязкой.
Приятного просмотра!
«Искусство самообороны» (2019)
«Искусство самообороны» — чёрная комедия о тихом бухгалтере Кейси, которого жестоко избивает банда мотоциклистов. Вместо пистолета он выбирает додзё каратэ и попадает под влияние харизматичного, но очень токсичного сенсея.
Тренировки постепенно превращают его из забитого «офисного мыша» в агрессивного фаната насилия, а додзё — в секту с ночными уроками, жестокими правилами и мрачными секретами. Кейси шаг за шагом узнаёт правду о сенсее, преступлениях школы и своём собственном страхе.
Фильм одновременно высмеивает культ «мужественности на стероидах» и показывает, как легко хрупкого человека сломать под видом «закалки характера». Подойдёт, если любите странное, неловкое кино с юмором на грани и неожиданно жёсткой развязкой.
Приятного просмотра!
🔥3👍2❤1
Всем привет!
Уже завтра в 13:00 МСК, мы встречаемся на практикуме по Python!
Что будем делать?
В прямом эфире, вместе со мной, вы:
👉 Напишете код Telegram-бота.
👉 Подключите к нему искусственный интеллект GigaChat.
👉 Задеплоите его, чтобы он работал.
И всё это — за одну встречу.
Даже если вы никогда раньше не программировали, у вас получится рабочий проект. Это лучший способ понять, подходит ли вам Python.
Как попасть?
Эфир закрытый. Чтобы получить доступ, нужна регистрация:
Зарегистрироваться
ВАЖНО: Подготовка к эфиру
Это не вебинар "послушать под чай", а практикум. Чтобы мы успели всё сделать, нужно подготовить рабочее окружение заранее.
Сразу после регистрации вы попадете в чат участников. Там в закрепе лежит инструкция. Пожалуйста, выполните её сегодня вечером, чтобы завтра в 13:00 мы сразу начали творить магию, а не устанавливать программы.
До встречи завтра в эфире! 🚀
Уже завтра в 13:00 МСК, мы встречаемся на практикуме по Python!
Что будем делать?
В прямом эфире, вместе со мной, вы:
👉 Напишете код Telegram-бота.
👉 Подключите к нему искусственный интеллект GigaChat.
👉 Задеплоите его, чтобы он работал.
И всё это — за одну встречу.
Даже если вы никогда раньше не программировали, у вас получится рабочий проект. Это лучший способ понять, подходит ли вам Python.
Как попасть?
Эфир закрытый. Чтобы получить доступ, нужна регистрация:
Зарегистрироваться
ВАЖНО: Подготовка к эфиру
Это не вебинар "послушать под чай", а практикум. Чтобы мы успели всё сделать, нужно подготовить рабочее окружение заранее.
Сразу после регистрации вы попадете в чат участников. Там в закрепе лежит инструкция. Пожалуйста, выполните её сегодня вечером, чтобы завтра в 13:00 мы сразу начали творить магию, а не устанавливать программы.
До встречи завтра в эфире! 🚀
🔥8❤2❤🔥2👏2⚡1
Привет, друзья! 👋
Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе:
📋 Новое на канале:
🔄 Понедельник, 02.02.2026 — Дайджест
🤖 Вторник, 03.02.2026 — Знаете ли вы, что kill -9 не всегда убивает процесс?
🎬 Пятница, 06.02.2026 — Пятничный кинорелакс
⚙️ Суббота, 07.02.2026 — Практикум по Python
🔗 Будьте ближе к нам:
🌐 Читайте полные статьи на сайте
💬 Присоединитесь к обсуждению в чате
Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀
#дайджест #код #python #полезное #код_на_салфетке
😼 @napkincode
Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе:
📋 Новое на канале:
🔄 Понедельник, 02.02.2026 — Дайджест
🤖 Вторник, 03.02.2026 — Знаете ли вы, что kill -9 не всегда убивает процесс?
🎬 Пятница, 06.02.2026 — Пятничный кинорелакс
⚙️ Суббота, 07.02.2026 — Практикум по Python
🔗 Будьте ближе к нам:
🌐 Читайте полные статьи на сайте
💬 Присоединитесь к обсуждению в чате
Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀
#дайджест #код #python #полезное #код_на_салфетке
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2
Telegram BOT API 9.4: цветные кнопки и премиум эмодзи
Автор: Иван Ашихмин
Вышло обновление BOT API 9.4. Что нового читайте в статье...
Читать статью на сайте
Читать статью на Хабр
Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот
#Telegram #новости #aiogram #UI #UX #Обновление #Telegram_Premium #BOT_API
😼 @napkincode
Автор: Иван Ашихмин
Вышло обновление BOT API 9.4. Что нового читайте в статье...
Читать статью на сайте
Читать статью на Хабр
Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот
#Telegram #новости #aiogram #UI #UX #Обновление #Telegram_Premium #BOT_API
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12
Всем привет!
В это воскресенье прошёл практикум по Разработке Telegram-бота с ИИ.
На практикуме было очень активно! Большинство зрителей повторяли вместе со мной. У кого-то были трудности, но мы их решали вместе. Также было море интересных (а порой и внезапных) вопросов!
Запись практикума доступна на YouTube: смотреть
Буду рад, если лайкнете видео и напишете комментарий как вам практикум. Жду ваши отзывы.
P.S. И подписывайтесь на наш канал, надо его оживлять и делать видео! https://www.youtube.com/@codeonanapkin
😼 @napkincode
В это воскресенье прошёл практикум по Разработке Telegram-бота с ИИ.
На практикуме было очень активно! Большинство зрителей повторяли вместе со мной. У кого-то были трудности, но мы их решали вместе. Также было море интересных (а порой и внезапных) вопросов!
Запись практикума доступна на YouTube: смотреть
Буду рад, если лайкнете видео и напишете комментарий как вам практикум. Жду ваши отзывы.
P.S. И подписывайтесь на наш канал, надо его оживлять и делать видео! https://www.youtube.com/@codeonanapkin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍4👏4🍾3❤🔥2
Знаете ли вы, что > затирает файл до выполнения команды?
Бывает, нужно изменить файл на месте, напишешь
Посмотрим:
Файл обнулился до того как
1. Shell видит
2. Файл обрезается до 0 байт
3. Команда запускается и читает уже пустой файл
Правильно – сделать временный файл:
Shell обрабатывает редиректы до запуска команды – файл обнуляется в момент открытия для записи, еще до выполнения. Для модификации на месте используйте временный файл или утилиты с флагом
Код на салфетке x Кусочки кода
Бывает, нужно изменить файл на месте, напишешь
cat file.txt > file.txt – а файл пустой. Дело в том, что Shell открывает файл для записи и обрезает его в ноль до того, как запустится команда. К моменту когда cat пытается его прочитать, в файле уже ничего нет.Посмотрим:
echo "Hello World" > test.txt
cat test.txt
# Hello World
cat test.txt > test.txt
cat test.txt
# (пусто - ничего не выводит, файл 0 байт)
Файл обнулился до того как
cat успел его прочитать. То же самое с любой командой – grep pattern file.txt > file.txt или sort file.txt > file.txt дадут пустой файл:1. Shell видит
> file.txt и открывает файл для записи2. Файл обрезается до 0 байт
3. Команда запускается и читает уже пустой файл
Правильно – сделать временный файл:
echo -e "3\n1\n2" > numbers.txt
sort numbers.txt > temp.txt && mv temp.txt numbers.txt
cat numbers.txt
# 1
# 2
# 3
Shell обрабатывает редиректы до запуска команды – файл обнуляется в момент открытия для записи, еще до выполнения. Для модификации на месте используйте временный файл или утилиты с флагом
-i типа sed -i.Код на салфетке x Кусочки кода
🔥8👍5👏1
Код на салфетке
Telegram BOT API 9.4: цветные кнопки и премиум эмодзи Автор: Иван Ашихмин Вышло обновление BOT API 9.4. Что нового читайте в статье... Читать статью на сайте Читать статью на Хабр Поддержать проект через YooMoney Поддержать проект через Tribute в Telegram…
Вышло обновление aiogram 3.25.0!
Добавлена полная поддержка Bot API 9.4.
Список изменений:
https://docs.aiogram.dev/en/latest/changelog.html
😼 @napkincode
Добавлена полная поддержка Bot API 9.4.
Список изменений:
https://docs.aiogram.dev/en/latest/changelog.html
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
Forwarded from Заметки на салфетке
Ну штош! Прошёл почти месяц и вот оно, свершилось!
Библиотеку добавили на страницу со сторонними решениями. И не только мою, по всей видимости, раньше тут было меньше.
https://yookassa.ru/developers/using-api/using-sdks#community
Библиотеку добавили на страницу со сторонними решениями. И не только мою, по всей видимости, раньше тут было меньше.
https://yookassa.ru/developers/using-api/using-sdks#community
🔥14👍2
МСР: Трое в лодке, не считая контекста ч.2
Автор: Владимир Пятницкий
Работа с ресурсами в MCP.
Читать статью на сайте
Читать статью на Хабр
Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот
#гайды #python #LLM #ИИ #ИИ_Агенты #ресурсы #mcp #Model_Context_Protocol #Искусственный_интеллект
😼 @napkincode
Автор: Владимир Пятницкий
Работа с ресурсами в MCP.
Читать статью на сайте
Читать статью на Хабр
Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот
#гайды #python #LLM #ИИ #ИИ_Агенты #ресурсы #mcp #Model_Context_Protocol #Искусственный_интеллект
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2👍2
Привет, любители мрачной антиутопии!
«Бегущий человек» (1987)
«Бегущий человек» — бодрый антиутопический боевик с Арнольдом Шварценеггером, который до сих пор смотрится актуально. Действие перенесено в мрачное будущее, где военная диктатура держит страну под контролем с помощью жестокого телешоу: заключённых бросают в смертельную игру, а за ними охотятся яркие, карикатурные киллеры-звезды эфира.
Главный герой Бен Ричардс — пилот, которого власть делает крайним за расстрел голодных бунтующих, а потом использует как «мясо» для рейтингов. Вместе с другими участниками он не только пытается выжить на арене, но и рушит картинку идеального шоу, показывая зрителям правду о режиме и телевидении, которое превратилось в оружие.
Пафосные фразы, гротескные злодеи, критика ТВ и власти — тот редкий случай, когда под «олдскульным» экшеном скрывается довольно злая сатира.
Приятного просмотра!
😼 @napkincode
«Бегущий человек» (1987)
«Бегущий человек» — бодрый антиутопический боевик с Арнольдом Шварценеггером, который до сих пор смотрится актуально. Действие перенесено в мрачное будущее, где военная диктатура держит страну под контролем с помощью жестокого телешоу: заключённых бросают в смертельную игру, а за ними охотятся яркие, карикатурные киллеры-звезды эфира.
Главный герой Бен Ричардс — пилот, которого власть делает крайним за расстрел голодных бунтующих, а потом использует как «мясо» для рейтингов. Вместе с другими участниками он не только пытается выжить на арене, но и рушит картинку идеального шоу, показывая зрителям правду о режиме и телевидении, которое превратилось в оружие.
Пафосные фразы, гротескные злодеи, критика ТВ и власти — тот редкий случай, когда под «олдскульным» экшеном скрывается довольно злая сатира.
Приятного просмотра!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10⚡1