Код на салфетке
2.39K subscribers
776 photos
21 videos
2 files
814 links
Канал для тех, кому интересно программирование на Python и не только.

Сайт: https://pressanybutton.ru/
Чат: https://t.me/+Li2vbxfWo0Q4ZDk6
Заметки автора: @writeanynotes

Реклама и взаимопиар: @Murzyev1995
Сотрудничество и др.: @proDreams
Download Telegram
Kawai.Focus - приложение для фокусировки внимания (часть 11)
Автор: Eugene Kaddo

Данная статья посвящена:
- Фреймворку Kivy в проекте Kawai.Focus;
- Material Design для Kivy на библиотеке KivyMD 2.0.0;
- Обновлению дизайна экрана "Таймеры";


Читать пост

Файлы к посту, можно получить в боте по коду: 706070

Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот

#Python #Kivy #Open_source #Наши_Open_Source_проекты #Kawai.Focus
🔥411
Приветствую!

Хищник: Убийца убийц (2025)

Новая глава легендарной серии «Хищник» возвращает нас к захватывающей охоте между человеком и инопланетным охотником.

В этом фильме борьба за выживание выходит на новый уровень, а технологии и тактика становятся ключом к победе.

«Хищник: Убийца убийц» обещает зрелищные сцены, напряжённый сюжет и знакомых фанатам серии элементов, которые делают эту франшизу уникальной.

Если любите фантастику, экшен и охоту на самых опасных существ во Вселенной — этот фильм для вас.
🔥5😱21👍1
🔥 Напоминание о стажировке и ответы на ваши вопросы

Недавно я писал о нашем новом сервисе для учёта финансов и приглашал на стажировку. Спасибо всем, кто откликнулся и задал вопросы — отвечаю на самые популярные.

Будет ли оффер или это просто бесплатная стажировка?

На текущем этапе это неоплачиваемая стажировка. Я пока не могу обещать офферы или денежные вознаграждения. Основная цель — прокачка навыков и опыт работы над реальным продуктом.


Кому полезна эта стажировка?

Тем, кто хочет развиваться в веб-разработке на FastAPI, но пока не может пробиться на рынок труда с высокими требованиями. Если вы знаете FastAPI / SQLAlchemy или хотите подтянуть их, получить опыт работы в команде и добавить проект в портфолио — это хороший шанс.


Какие планы на продукт?

Сначала делаем MVP1 и выпускаем его в публичный доступ. Это будет рабочая основа, на которую соберём обратную связь, доработаем функционал и спланируем следующие шаги.


Есть ли планы привлекать инвестора?

Пока нет — сначала нужно показать работающий продукт. После релиза MVP1 будем думать о дальнейшем развитии и возможном финансировании.



🚀 Мы всё ещё ищем:

- Бэкенд-стажёров (FastAPI) — нужно выполнить тестовое задание и прислать решение в личные сообщения канала.
- Фронтенд-стажёров (Nuxt.js SSR).
- Стажёра-проджект-менеджера — помогать вести задачи и контролировать процесс.

Если вы хотите прокачаться, поработать в команде и получить опыт на реальном продукте — пишите в личку канала 💬
🔥101
Привет, друзья!

Прошла еще одна неделя, и у нас накопилось много интересных материалов: статьи, новости и полезные советы. Вот наш недельный дайджест:

Понедельник (29.09.2025) Дайджест

Вторник (30.09.2025) Ищем стажёров на проект, Знаете ли вы, что new создает объект раньше, чем init его инициализирует?

Четверг (02.10.2025) Kawai.Focus - приложение для фокусировки внимания (часть 11)

Пятница (03.10.2025) Пятничный кинорелакс

Воскресенье (05.10.2025) Напоминание о стажировке и ответы на ваши вопросы

Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе!

С уважением,
Команда канала "Код на салфетке".

#дайджест #материалы #новости #код_на_салфетке
🔥3
Всем привет!

У GitVerse совместно с Хабром проходит конкурс Open Source-проектов «Код без границ». Я решил запрыгнуть в этот поезд со своим проектом ReVu, о котором расскажу подробнее уже в этот четверг.

Одним из условий конкурса является размещение проекта в репозитории на GitVerse.
Я решил воспользоваться ситуацией и «убить двух зайцев»:

- Принять участие в конкурсе
- Интегрировать GitVerse в свой проект

Но, как это часто бывает, всё оказалось не таким простым, как кажется. Об этом — данный пост.


Что понравилось?

1. Своя платформа. Кто бы что ни говорил, но нам нужны собственные аналоги. Сейчас GitHub блокирует доступ для пользователей из Крыма — что мешает однажды расширить эти ограничения? Наличие альтернативы внутри страны — полезно и важно.

2. Облачные раннеры «из коробки». Это удобно: можно запускать простые CI/CD-пайплайны без настройки собственного раннера. Да, есть лимиты, но они есть везде. Плюс — совместимость с GitHub Actions: мои воркфлоу заработали почти без изменений.

3. Приятный интерфейс. Возможно, субъективно, но внешний вид GitVerse современный и аккуратный — работать комфортно, «глаз не режет».

На этом, пожалуй, плюсы заканчиваются. Дальше — обычный git-хостинг без каких-то выдающихся фич.


Что не понравилось?

Здесь уже больше проблем.

1. Ограничения облачных раннеров. Образ сильно урезан: нет даже базовых зависимостей, например Node.js (а он нужен многим Actions). Нет доступа к Docker-сокету — собрать Docker-образ на стандартном раннере невозможно, придётся подключать свой.

2. Вебхуки и безопасность.

2.1. Нет подписи вебхуков. GitHub и Gitea подписывают события через HMAC SHA-256, что позволяет проверить целостность данных. У GitVerse этого нет — можно только добавить заголовок Authorization.

2.2. Некорректные ссылки в вебхуках. Вместо нормальных публичных URL вида https://gitverse.ru/.../... приходят технические вроде http://gitea-http:3000/.../.... Такое ощущение, что «вышли в прод, а настроить забыли».

3. Слабое публичное API. GitVerse основан на Gitea — и это нормально, но при этом доступное API сильно урезано. В Gitea из коробки большой и удобный API, а здесь — «обрезок» без нужных эндпоинтов. К тому же API закрыто по умолчанию: чтобы использовать его, нужно подать заявку. Когда её рассмотрят — неизвестно.

Это то, что я заметил за несколько часов работы. Для кого-то всё перечисленное может быть не критично — основной функционал git-хостинга работает, а я, может, придираюсь.

Я написал письмо в поддержку с описанием проблем и вопросов. Ответ уже пришёл: «взяли в работу и свяжутся позже». Посмотрим, что ответят.
🔥72👎1
Знаете ли вы, что yield from – это не просто сокращение для цикла?

На первый взгляд yield from generator() выглядит как синтаксический сахар для for x in generator(): yield x. Но стоит начать использовать send() для отправки значений в генератор – и разница становится критичной. yield from пробрасывает вызовы напрямую во вложенный генератор, сохраняет return значения и создает полноценную двустороннюю связь. Это не упрощение цикла, а совершенно другой механизм.

Вот обычный yield:

def simple_generator():
yield 1
yield 2
yield 3

for value in simple_generator():
print(value) # 1, 2, 3


Генератор останавливается на каждом yield и возвращает значение.

Теперь делегирование через цикл:

def inner():
yield 1
yield 2

def outer_manual():
for x in inner():
yield x

for value in outer_manual():
print(value) # 1, 2


Кажется, что yield from делает то же самое:

def outer_with_yield_from():
yield from inner()

for value in outer_with_yield_from():
print(value) # 1, 2


Но разница появляется, когда генератор получает значения через send():

def inner():
x = yield 1
print(f"Inner got: {x}")
yield 2

# С обычным циклом
def outer_manual():
for x in inner():
yield x

gen = outer_manual()
next(gen)
gen.send("hello") # возвращает 2, но не пробрасывает значение

# С yield from
def outer_with_yield_from():
yield from inner()

gen = outer_with_yield_from()
next(gen)
gen.send("hello") # Inner got: hello


yield from пробрасывает send() напрямую во вложенный генератор, а обычный цикл – нет.

Еще занятнее return в генераторе:

def inner():
yield 1
yield 2
return "Done"

# С обычным циклом
def outer_manual():
for x in inner():
yield x
# return значение теряется

result = list(outer_manual())
print(result) # [1, 2] - где "Done"?

# С yield from
def outer_with_yield_from():
result = yield from inner()
print(f"Got result: {result}")
yield result

gen = outer_with_yield_from()
print(list(gen))
# Got result: Done
# [1, 2, 'Done']


yield from автоматически достает значение из StopIteration.value, которое содержит результат return.

Вот что на самом деле делает yield from:

def inner():
x = yield 1
print(f"Inner got: {x}")
yield 2
return "Done"

def manual_yield_from(gen):
it = iter(gen)
try:
val = next(it)
while True:
try:
sent = yield val
val = it.send(sent)
except StopIteration as e:
return e.value
except StopIteration as e:
return e.value

def outer():
result = yield from manual_yield_from(inner())
print(f"Got result: {result}")
yield result

gen = outer()
print(next(gen)) # 1
print(gen.send("Hi")) # 2
print(next(gen)) # Done


Это не просто цикл – это полноценная двусторонняя связь между генераторами.

Практический пример – парсинг вложенных структур:

def parse_list(tokens):
result = []
while tokens:
token = tokens.pop(0)
if token == '[':
nested = yield from parse_list(tokens)
result.append(nested)
elif token == ']':
yield result
return result
else:
result.append(token)
yield result
return result

tokens = ['[', '1', '[', '2', '3', ']', '4', ']']
parser = parse_list(tokens)

for step in parser:
print("Step:", step)


С обычным циклом такое не реализовать элегантно.

Когда использовать yield from:
- Делегирование в другой генератор
- Нужна передача через send()/throw()
- Нужно получить return значение

Когда хватит обычного yield:
- Простая генерация значений
- Не нужна двусторонняя связь

yield from это не синтаксический сахар для цикла – это механизм делегирования, который пробрасывает send(), throw(), close() и возвращает результат return из вложенного генератора.

Код на салфетке x Кусочки кода
🔥9🤯32
ReVu — Open Source AI-ревьюер для ваших Pull Request
Автор: Иван Ашихмин

Из случайного разговора родился ReVu — self-hosted инструмент для автоматического код-ревью с помощью ИИ. В статье рассказываю, зачем он нужен, как работает и как запустить его у себя за пару минут.


Читать статью на сайте
Читать статью на Хабр

Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот

#Gitea #FastAPI #OpenAI #GigaChat #YandexGPT #Open_Source #Github #ReVu #AI_code_review #code_review #ИИ_для_код_ревью #self_hosted_code_review #код_ревью #ревью_pull_request
🔥71
Всем привет!

Пункт назначения: Узы крови (2025)

Новая глава культовой серии «Пункт назначения» погружает нас в ещё более мрачную и запутанную игру с судьбой.

В центре сюжета — семья, связанная кровными узами, чьих членов начинает преследовать необъяснимая цепь смертей. Судьба снова доказывает, что избежать её нельзя, и каждая попытка изменить предначертанное приводит к новым ужасам.

Если любите триллеры с элементами сверхъестественного и напряжённые сюжетные повороты — этот фильм точно вас захватит.
🔥411
📊 Почему весь мир всё ещё живёт на Excel

Excel живее всех живых.
Каждый год появляются десятки BI-систем, но в итоге 90% отчётов снова открываются в Excel.
И это не про отсталость. Это про контроль.
Excel даёт ощущение, что ты видишь всё сам: формулы под рукой, цифры можно потрогать.
BI-системы же часто превращаются в «чёрный ящик» - красиво, но непонятно, откуда взялись цифры.
Даже по мировым исследованиям: около 20-30% компаний реально используют BI в работе.
Большинство остальных так и живут в Excel, даже если BI установлен.
Потому что открыть файл быстрее, чем понять, куда в дашборде провалиться.


💡 А нужна ли аналитика везде?

Сейчас модно автоматизировать всё.
Мерить, визуализировать, считать метрики даже там, где и так всё очевидно.
Но не каждому бизнесу это нужно.
Маленькой компании не нужен космический BI-пульт, если она и так понимает, где зарабатывает, а где теряет.
Иногда Excel это просто нож, а не кухонный комбайн.

Проблема не в том, что BI плох, а в том, что его ставят туда, где ещё нет культуры данных.
Если файлы пляшут, формулы плавают, а метрики у всех разные, дашборд только создаст иллюзию порядка.

И даже когда BI внедряют правильно, дашборды часто делают «для галочки».
Выглядят красиво, но смысла в них мало.

Отчёт без чёткого вопроса - это просто картинка.
Хороший дашборд должен отвечать на понятные вещи: почему упали продажи, что приносит прибыль, где провал.
А не просто радовать глаз цветными кругами.

🤪 Как выбрать между Excel и BI

Тут нет универсального рецепта.
Если один человек считает всё вручную и держит цифры в голове, BI не спасёт.
Сначала нужно описать процессы, назвать метрики своими именами и договориться, как считать.

BI имеет смысл, когда Excel начинает мешать.
Когда файлы по 200 МБ, отчёты открываются по минуте, а у всех по десять версий «итог_финал_v3».
Кстати, даже у крупных компаний BI приживается не сразу.
Опросы показывают: около 60% больших организаций действительно используют дашборды для решений,
но при этом Excel остаётся основным инструментом анализа.

Потому что BI удобен для витрин, а Excel для размышлений.

🔄 Идеальная схема

BI и Excel не враги.
Excel это песочница, BI это витрина.
Excel нужен, чтобы думать и проверять гипотезы,
а BI чтобы закрепить правила и обновлять всё по расписанию.
Настоящая проблема не в инструментах, а в моменте, когда их включают.
Если BI появляется раньше, чем порядок в данных, это мёртвый дашборд.

✏️ Подводя итог
Excel всё ещё норм.
BI нужен тогда, когда бизнес реально готов жить по данным, а не просто «поиграть в аналитику».

Если у вас пока всё держится на одной таблице - это не стыдно.
Стыдно, когда BI уже есть, а вы всё равно экспортите отчёты обратно в Excel.


😏 А вы сами больше доверяете живым экселькам или дашбордам с автоподгрузкой? 👇

Код на салфетке x Мозг в данных
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍1👏1
Привет, друзья!

Прошла еще одна неделя, и у нас накопилось много интересных материалов: статьи, новости и полезные советы. Вот наш недельный дайджест:

Понедельник (06.10.2025) Дайджест и У GitVerse совместно с Хабром проходит конкурс

Вторник (07.10.2025) Знаете ли вы, что yield from – это не просто сокращение для цикла?

Четверг (09.10.2025) ReVu — Open Source AI-ревьюер для ваших Pull Request

Пятница (10.10.2025) Пятничный кинорелакс

Воскресенье (12.10.2025) Почему весь мир всё ещё живёт на Excel

Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе!

С уважением,
Команда канала "Код на салфетке".

#дайджест #материалы #новости #код_на_салфетке
🔥311
Знаете ли вы, что rm -rf не удаляет все?

Легенда гласит, что rm -rf / мгновенно уничтожает всю систему без возможности восстановления. Но современные дистрибутивы Linux добавили защиту от этой команды – она просто откажется выполняться. При этом есть куда более опасные варианты, которые работают без предупреждений и реально могут повредить систему.

Попробуем классическую команду:

rm -rf /


В современных системах получим такой вывод:

rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe


GNU coreutils добавили защиту начиная с версии 6.4 (2006 год). Команда просто откажется выполняться.

Но защита работает только для точного пути /:

rm -rf /*  # Сработает и удалит все в корне
rm -rf /home/../* # Тоже сработает


Эти команды выполнятся без предупреждений и начнут удалять систему.

А вот так сработает под sudo:

sudo rm -rf /var  # Удалит системные логи и базы данных
sudo rm -rf /etc # Удалит все конфиги системы
sudo rm -rf /boot # Система не загрузится


Никаких предупреждений, просто удаляет. Система может продолжать работать до перезагрузки, а потом не запустится.

Подставить могут и случайные ошибки:

# Хотели написать:
rm -rf ./tmp/cache

# Написали (пробел после точки):
rm -rf . /tmp/cache # Удалит текущую папку!

# Или забыли переменную:
rm -rf $TMPDIR/* # Если $TMPDIR пустая = rm -rf /*


Реальный случай из истории – Steam на Linux в 2015. Баг в скрипте steam.sh с пустой переменной $STEAMROOT приводил к выполнению rm -rf /*, удаляя все пользовательские файлы.

Что действительно удаляется при rm -rf /*:

- /home – все пользовательские данные
- /etc – конфиги системы
- /var – логи, базы данных
- /usr – программы

Что может остаться:

- Примонтированные разделы (если не размонтированы)
- Файлы открытые процессами (удалятся при закрытии)
- /proc, /sys - виртуальные файловые системы

Как защититься:

# В .bashrc добавить alias
alias rm='rm -i' # Будет спрашивать подтверждение

# Или использовать trash вместо rm
alias rm='trash' # Файлы идут в корзину

# Проверять переменные перед удалением
[ -z "$VAR" ] && echo "Variable empty!" && exit 1
rm -rf "$VAR"/*


Современная защита помогает от прямого rm -rf /, но не спасает от опечаток, пустых переменных и удаления критичных системных папок. Всегда проверяйте команды перед выполнением, особенно под sudo.

Код на салфетке x Кусочки кода
6👍4🔥21
FastAPI 12. Интеграция Starlette Admin
Автор: Иван Ашихмин

В этой статье узнаем про админ панели для FastAPI и интегрируем в проект библиотеку Starlette Admin.


Читать статью

Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот

#Python #Гайды #FastAPI #CRUDAdmin #SQLAdmin #Админ_панель #админка #Starlette_Admin
🔥41
Приветствую!

Стекло (2019)

Финал эпической трилогии, объединяющей миры супергероев и обычных людей с необычными способностями.

«Стекло» рассказывает о столкновении трёх персонажей: человека с неуязвимой кожей, человека с сверхчеловеческой силой и гениального маньяка с раздвоением личности. Их судьбы переплетаются в клинике, где решается, кто из них действительно герой, а кто — злодей.

Фильм сочетает психологическую драму, напряжённый сюжет и глубокие размышления о природе силы и человечности.
👍2🔥21
This media is not supported in your browser
VIEW IN TELEGRAM
☁️ Kubernetes: когда инфраструктура перестала быть «железом»

Был недавно на Selectel Tech Day.
Почти весь день говорили про ИИ: как ускорить, как обезопасить, как внедрить.
Особенно зацепила часть про безопасность - там реально начали думать не только о возможностях, но и о рисках.

Но вот что я заметил между строк.
Пока все обсуждают, как ИИ меняет работу с данными,
Kubernetes уже стал абсолютной нормой.
Никто не спорит, «нужен он или нет».
Это как интернет - просто есть.

Раньше инфраструктура напоминала старый грузовик.
Едет, пока не перегреется.
Если в кузов положить чуть больше, чем обычно - двигатель задыхается.
Хочешь быстрее - покупай ещё один, держи про запас.

Kubernetes сделал всё иначе.
Теперь это не грузовик, а транспортная система:
где-то добавляется вагон, где-то уходит лишний,
и движение не останавливается ни на секунду.


💡 Что он делает

Если по сути - Kubernetes управляет приложениями и серверами так, чтобы всё работало ровно под текущую нагрузку.

⚡️ Когда пользователей становится больше - он поднимает дополнительные копии приложения.
⚡️ Когда всё стихает - аккуратно сворачивает лишнее.
⚡️ Если один сервер упал - просто переносит работу на другой.

Это не один большой сервер, который работает «на износ»,
а сеть, где нагрузка распределяется автоматически.

⚙️ Как это выглядит в жизни
Допустим, у тебя онлайн-магазин.
Обычно трафик спокойный - сервер отдыхает.
Наступает акция - заходит тысяча человек одновременно.

Раньше сервер бы лёг.
Теперь Kubernetes сам масштабирует приложение,
запускает больше контейнеров, распределяет нагрузку по узлам.

Когда всё утихает - он возвращает всё как было.
Ты не держишь «железо про запас» и не теряешь клиентов в пике.


💰 Почему это выгодно

⤵️Экономия.
↕️Платишь за реальные часы работы,
↕️а не за «про запас».
↕️Скорость.
↕️Обновления можно выкатывать
↕️без остановки сервиса.
↕️Стабильность.
↕️Даже при сбоях
↕️система продолжает жить.
↕️Контроль.
↕️Админ не спасает сервер ночью -
↕️автоматика делает всё сама.
➡️

Kubernetes не урезает мощность -
он просто учит инфраструктуру быть умной и экономной.


⚠️ Но важно одно

Без порядка в DevOps всё это быстро превращается в хаос.
⚡️ Кубер любит чёткие правила: метрики, мониторинг, документацию.
Без этого автоматика может начать жить своей жизнью - и не в твою пользу.

➡️➡️➡️➡️➡️➡️➡️➡️➡️➡️
✏️ Подводя итог

Kubernetes - это не хайп, а новый уровень зрелости инфраструктуры.
Он даёт стабильность, гибкость и экономию без потери скорости.

Когда нагрузка растёт - система масштабируется.
Когда всё спокойно - ресурсы отдыхают.

Инфраструктура перестала быть просто «железом».
Теперь она - партнёр, который работает по уму.

➡️➡️➡️➡️➡️➡️➡️➡️➡️➡️
Код на салфетке x Мозг в данных
➡️➡️➡️➡️➡️➡️➡️➡️➡️➡️
😏 А у вас приложения ещё просто крутятся - или уже умеют думать? 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥411
Привет, друзья!

Прошла еще одна неделя, и у нас накопилось много интересных материалов: статьи, новости и полезные советы. Вот наш недельный дайджест:

Понедельник (15.10.2025) Дайджест

Вторник (14.10.2025) Знаете ли вы, что rm -rf не удаляет все?

Четверг (16.10.2025) FastAPI 12. Интеграция Starlette Admin

Пятница (17.10.2025) Пятничный кинорелакс

Воскресенье (19.10.2025) Kubernetes: когда инфраструктура перестала быть «железом»

Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе!

С уважением,
Команда канала "Код на салфетке".

#дайджест #материалы #новости #код_на_салфетке
🔥31👍1
Знаете ли вы, что можно создать 10-гигабайтный файл, который не займет место на диске?

Sparse files – это файлы с "дырками", которые не занимают реальное место на диске. Файловая система помечает пустые блоки специальным образом вместо записи нулей, экономя место и время.

Создадим sparse file:

truncate -s 10G bigfile.img


Проверим размер:

ls -lh bigfile.img
# -rw-r--r-- 1 user user 10G Jan 1 12:00 bigfile.img

du -h bigfile.img
# 0 bigfile.img


ls показывает 10GB, du показывает 0 – файл существует, но не занимает место на диске.

truncate создает sparse-файл, и когда потом он будет заполняться данными, его логический объем останется прежним, а физический начнет расти.

Зачем это нужно:

- Виртуальные машины создают диски на 100GB, но реально используют 20GB. Зачем выделять все 100GB сразу?
- Торрент-клиенты резервируют место под файл 50GB, но пока файл не скачан – место не занято.
- Базы данных создают файлы таблиц с запасом, но не пишут гигабайты нулей на диск.

При копировании таких файлов есть подвох: копия может занять весь физический размер. В современных системах cp чаще сохраняет sparse-структуру автоматически, но для гарантии лучше использовать --sparse=always.

cp bigfile.img copy.img
# copy.img может занять полный размер

# Для гарантии лучше так:
cp --sparse=always bigfile.img copy.img


С rsync та же история:

rsync bigfile.img remote:/  # Передаст все 10GB нулей

rsync --sparse bigfile.img remote:/ # Передаст только данные


Также не все файловые системы поддерживают sparse:

- Поддерживают: ext4, XFS, Btrfs, NTFS, APFS
- Не поддерживают: FAT32, exFAT

Проверить sparse это или нет:

stat bigfile.img
# Size: 10737418240 Blocks: 0


Size показывает логический размер файла (10GB), Blocks показывает количество физически выделенных блоков на диске. Реальный размер вычисляется как Blocks * 512 байт. В этом примере 0 * 512 = 0 байт на диске, при логическом размере 10GB – это sparse file.

Код на салфетке x Кусочки кода
👍7🔥42😱2
Kawai.Focus - приложение для фокусировки внимания (часть 12)
Автор: Eugene Kaddo

Данная статья посвящена:
- Фреймворку Kivy в проекте Kawai.Focus;
- Material Design для Kivy на библиотеке KivyMD 2.0.0;
- Внедрению панели навигации;
- Добавлению новых кнопок на экран «Таймеры».


Читать статью на сайте

Файлы к посту, можно получить в боте по коду: 588600

Поддержать проект через YooMoney
Поддержать проект через Tribute в Telegram
Поддержать проект через наш Telegram-бот

#Python #Kivy #Open_source #Наши_Open_Source_проекты #Kawai.Focus
🔥31
Всем привет!

Неуязвимый (2000)

Начало уникальной трилогии от М. Найта Шьямалана, где реальность переплетается с комиксной мифологией.

История Дэвида Данна — обычного мужчины, который после страшной аварии обнаруживает, что его тело практически неуязвимо. Вместе с таинственным Илайдой Прайсом, который страдает от редкого заболевания, они начинают понимать, что их судьбы связаны гораздо глубже, чем кажется.

Фильм сочетает в себе психологический триллер и супергеройскую драму, заставляя задуматься о природе силы и предназначения.
🔥7
Media is too big
VIEW IN TELEGRAM
🤖 Нейросети повсюду.

И это уже не «когда-нибудь потом», а прямо сейчас.
Роботы звонят и предлагают услуги - это не фантастика, а просто связка LLM и голосовых моделей.
🎨 Дизайнеры генерят фоны и элементы интерфейсов.
🎬 Фильмы, да даже реклама, уже делаются с участием ИИ.

💭 Но если вспомнить, с чего всё начиналось…
С попытки учёного доказать, что божественное не нужно, если можно описать всё формулами и вероятностями.
Прогресс пошёл быстрее:
ещё недавно мы печатали по Т9 и писали сообщения на кнопочных телефонах вслепую.
Затем поисковики начали использовать статистику, потом - сбор данных, и дальше уже лавина.
Мы создавали цифровой мир, где данные - это топливо.

📈 И вот сейчас, на основе этих данных, нейросети предсказывают, что ты напишешь дальше, что посоветуешь, что купишь.
Пропустим новости о появлениях ИИ и вот мы тут.
ChatGPT, Claude, Gemini и куча других LLM встроены почти в каждое приложение.
В разработке - нажал Tab, и код сам дописался. Но теперь мы шагнули дальше.

⚙️ Агенты.
Ты даёшь задачу - они сами всё делают: пишут код, запускают команды, ходят по API, лазают по твоим папкам.
А ты только подтверждаешь.
И тут начинается самое интересное - момент, когда твой компьютер, интернет и модель становятся одной системой.

🧠 Не секрет, что все сервисы хотят улучшать свои модели.
А значит - им нужны данные.
И данных нужно всё больше.
Люди голосуют рублём - выбирают тот ИИ, который делает больше и лучше.
Вот и начинается массовая раздача «бесплатных» сервисов: китайские платформы, зеркала, неофициальные клиенты.
Удобно, правда? Только никто не думает, куда уходит ключ, токен, лог или запрос.
А на деле эти ребята просто собирают всё подряд, обучая свои модели на реальных данных, пользователях и диалогах.
🤨 Даже у OpenAI в правилах чёрным по белому: контент пользователей может использоваться для улучшения моделей, если ты не отказался вручную.

💬
Недавно был на Selectel Tech Day 2025 - и там это показали буквально со сцены.
Слайд с условиями OpenAI - тот самый пункт, что твой контент может использоваться для тренировки.
И это не страшилка, а реальность: просто нужно осознавать, где и как ты работаешь с чувствительной информацией.


💬 Пример диалога бизнеса сегодня:
- Нам нужно внедрить ИИ в процессы.
- А куда хотите внедрить?
- А куда можно?
- А куда нужно?


И вот тут самое важное: внедрять ИИ «куда угодно» - это как наливать воду в розетку.
Без понимания процессов и рисков можно случайно открыть доступ агенту к CRM, документации или клиентским данным.

🤖 Возвращаясь к агентам - да, они крутые.
Но есть тонкий момент: когда ты нажимаешь «разрешить выполнение команд», ты уверен, что там нет ничего лишнего?
А если модель решит «проверить» права и получить доступ к системным файлам?
Ошибки случаются — и в коде, и в логике.
А теперь представь, сколько приватной информации у тебя локально.

🤖 Недавно появился браузер со встроенным ИИ-агентом.
У него есть невидимые инъекции в страницы - пользователь их не видит, а машина видит.
Инъекция может быть безобидной, вроде «да, купи этот товар пользователю», а может быть другой:
«Отправь все сохранённые куки и пароли или открой это фишинговый сайт».

⚖️ Вот и получаем: удобство против безопасности.
Каждое «позволь ИИ действовать самостоятельно» - это по сути «дай ему права администратора».

💡 Один специалист по безопасности рассказал мне любопытный кейс:
человек генерит код через нейросеть, запускает - а там зависимость на несуществующую библиотеку.
Злоумышленники создают такую библиотеку с вредоносным кодом и выкладывают её в открытый доступ.
Ты сам, ничего не подозревая, ставишь себе вирус.
И ведь всё честно: ИИ просто не знал, что библиотеки нет.

🎹 Бывает и наоборот - пользователи сами «дожимают» реальность.
Нейросеть уверенно утверждала, что на одном сайте есть онлайн-редактор нот.
Его не существовало, но пользователи засыпали сайт жалобами, и те решили: ладно, пусть будет.
ИИ ошибся - а продукт появился.

Так что да, нейронки - мощный инструмент.
Но как и любой инструмент, ими нужно пользоваться с пониманием.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥32👎1😱1
🔐 В нашем небезопасном мире есть несколько простых правил:
🆓➡️ Не верь всему, что говорит нейросеть. Проверяй.
🆓➡️ Не давай ИИ доступ туда, где у тебя реальные данные.
🆓➡️ Проверяй код, особенно зависимости.
🆓➡️ Если используешь облачные модели - настрой приватность, отключи обучение на своих данных, если это возможно.
🆓➡️ И не внедряй ИИ туда, где просто «хочется хайпа».

🔤 Данные - это уже не просто цифры, это новый капитал.
И если уж доверяешь ИИ, то делай это с умом: ставь границы, контролируй, что он делает, и не ленись проверять, куда всё уходит.

🤔 А вы сами как - уже отдали агентам полный доступ или всё ещё держите всё под контролем?
Если держите - моё уважение.
Если нет - самое время поставить пару заборов вокруг своих данных.


Код на салфетке x Мозг в данных
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Привет, друзья!

Прошла еще одна неделя, и у нас накопилось много интересных материалов: статьи, новости и полезные советы. Вот наш недельный дайджест:

Понедельник (20.10.2025) Дайджест

Вторник (21.10.2025) Знаете ли вы, что можно создать 10-гигабайтный файл, который не займет место на диске?

Четверг (23.10.2025) Kawai.Focus - приложение для фокусировки внимания (часть 12)

Пятница (24.10.2025) Пятничный кинорелакс

Воскресенье (26.10.2025) Нейросети повсюду

Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе!

С уважением,
Команда канала "Код на салфетке".

#дайджест #материалы #новости #код_на_салфетке
3🔥31👌1