Посты канала Типичный программист

сначала новые

#14987Фото
Просмотры2 741−54%к среднему
Пересылки25
Реакции14
Комментарии1
#14986Фото
Просмотры3 679−38%к среднему
Пересылки27
Реакции19
Комментарии2
#14985Видео
Просмотры4 737−21%к среднему
Пересылки49
Реакции21
Комментарии4
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч2 711
16 ч3 464
27 ч4 737
  1. Через 6 часов2 711
  2. Через 24 часа4 737
  3. Всего сейчас4 737
#14984Фото
Просмотры5 297−11%к среднему
Пересылки30
Реакции26
Комментарии2
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
10 ч4 081
33 ч5 297
  1. Всего сейчас5 297
#14983Фото
Просмотры6 061+1%к среднему
Пересылки101
Реакции46
Комментарии5
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч3 044
16 ч4 018
28 ч5 353
51 ч6 061
  1. Через 24 часа5 353
  2. Всего сейчас6 061
#14982Фото
Просмотры6 279+5%к среднему
Пересылки21
Реакции26
Комментарии3
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
9 ч4 259
34 ч5 687
57 ч6 279
  1. Всего сейчас6 279
#14981Текст

Переслано из Нейроканал

В ядре Linux закрыли критическую уязвимость CVE-2026-98432 (CVSS 9,8), обновите ядро на серверах и перезагрузитесь. Anthropic рассказала, что эксплойт для неё написал сам Claude: он удалённо получает выполнение команд от root без учётных данных примерно за 53 минуты попыток. Код не публиковали. Ошибка сидит в обработке TCP-рукопожатия по IPv4 с ядра 4.4 и срабатывает до того, как подключение дойдёт до приложения. Эксплойт бьёт через порты Multipath TCP: в Linux их по умолчанию открывают программы на Go с версии 1.24. Сама ошибка от MPTCP не зависит. Исправления уже есть у Debian, Amazon Linux, Oracle Linux и частично у SUSE, у Ubuntu и RHEL пока нет. До патча Red Hat советует правило nftables, которое отбрасывает TCP-пакеты с опциями IPv4: оно снижает риск, но полностью не защищает. Ненужный MPTCP можно выключить через sysctl net.mptcp.enabled=0 с перезапуском сервисов. Команды и статус по дистрибутивам собрали на сайте. @neuro_channel

Открыть в Telegram
Просмотры6 559+10%к среднему
Пересылки117
Реакции42
Комментарии4
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
1 ч1 858
12 ч3 463
36 ч5 598
71 ч6 559
  1. Через 1 час1 858
  2. Всего сейчас6 559
#14980GIF
Просмотры5 624−6%к среднему
Пересылки36
Реакции27
Комментарии10
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч3 219
15 ч4 317
28 ч5 624
  1. Через 6 часов3 219
  2. Через 24 часа5 624
  3. Всего сейчас5 624
#14979Фото
Просмотры6 265+5%к среднему
Пересылки30
Реакции37
Комментарии2
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
11 ч3 874
34 ч5 532
70 ч6 265
  1. Всего сейчас6 265
#14978Фото
Просмотры6 366+6%к среднему
Пересылки30
Реакции29
Комментарии4
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч2 458
17 ч3 228
29 ч4 775
76 ч6 366
  1. Через 6 часов2 458
  2. Через 24 часа4 775
  3. Всего сейчас6 366
#14977Фото
Просмотры6 009+1%к среднему
Пересылки46
Реакции27
Комментарии4
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
11 ч3 567
70 ч6 009
  1. Всего сейчас6 009
#14976Фотореклама

Что нужно знать для старта в кибербезопасности? Сейчас разберемся 23 ноября Positive Education впервые запускает онлайн-интенсив «Основы практической кибербезопасности». За три месяца участники разберут четыре фундаментальные области ИБ и применят знания в более чем 40 практических кейсах Интенсив подойдет начинающим специалистам по ИБ, сотрудникам ИТ и тем, кто переходит в новое направление кибербезопасности Что внутри • UNIX- и Linux-системы: устройство ОС, процессы, права пользователей и базовая защита • Сети: настройка окружения, анализ трафика, типовые атаки и защита • Windows и Active Directory: компоненты ОС, домен, учетные записи и уязвимости конфигурации • Веб-приложения: архитектура, анализ уязвимостей и безопасная разработка Как пройдет интенсив Из 80 академических часов 60 отведены практике. Участники будут настраивать системы и сети, исследовать атаки, работать с Active Directory и искать уязвимости. Пошаговые кейсы помогут разобраться в новых темах, самостоятельные позволят проверить себя 📄 Кстати, Positive Education получил государственную лицензию на образовательную деятельность. Это значит, что все выпускники программ получат не только цельную техническую базу для развития в SOC, AppSec, пентесте и инфраструктурной безопасности, а также документы установленного образца, а при самостоятельной оплате можно оформить налоговый вычет. Когда 📅 Старт: 23 ноября 2026 ⏳ Длительность: 3 месяца 💻 Формат: онлайн 📚 Объем: 80 академических часов 👉 Подробности и регистрация

Открыть в Telegram
Просмотры4 262−29%к среднему
Пересылки37
Реакции22
Комментарии4
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
2 ч1 625
8 ч2 458
19 ч3 289
28 ч4 262
  1. Через 6 часов2 458
  2. Через 24 часа4 262
  3. Всего сейчас4 262
#14975Фото
Просмотры5 721−4%к среднему
Пересылки29
Реакции33
Комментарии5
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
3 ч2 485
8 ч3 189
20 ч3 818
29 ч4 487
75 ч5 721
  1. Через 24 часа3 818
  2. Всего сейчас5 721
#14974Фото

Дефицит ускорителей не отменяет простой В одном регионе свободен GPU, в другом нужен именно он. Или ускоритель есть, а CPU для подготовки данных уже занят. Поэтому «мощностей не хватает» и «часть железа простаивает» вполне могут быть правдой одновременно. Meta собирает временно свободные мощности для рекламных рекомендаций в общий пул. Если свободны и CPU, и ускорители, можно оценить больше кандидатов. Если в основном ускорители, часть запросов направляют более сильной модели без сопоставимого роста работы на CPU. Самая важная часть тут не раздача бонусов, а их быстрый отзыв. Базовую нагрузку защищают отдельно, дополнительную работу сбрасывают за миллисекунды, пока центральные регуляторы ещё догоняют ситуацию. Такая схема требует работы, которую можно безболезненно сократить. Произвольная LLM-задача этому условию не обязана соответствовать.

Открыть в Telegram
Просмотры5 939−1%к среднему
Пересылки25
Реакции27
Комментарии2
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
9 ч3 935
26 ч4 735
69 ч5 939
  1. Через 24 часа4 735
  2. Всего сейчас5 939
#14973Превью ссылки
Просмотры5 593−6%к среднему
Пересылки18
Реакции102
Комментарии21
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
10 ч3 607
26 ч5 208
44 ч5 593
  1. Через 24 часа5 208
  2. Всего сейчас5 593
#14972Фото
Просмотры5 648−6%к среднему
Пересылки15
Реакции27
Комментарии4
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
10 ч3 962
27 ч5 254
44 ч5 648
  1. Через 24 часа5 254
  2. Всего сейчас5 648
#14971Видео
Просмотры6 091+2%к среднему
Пересылки30
Реакции36
Комментарии5
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
6 ч2 950
16 ч4 615
33 ч5 483
50 ч5 793
71 ч6 091
  1. Через 6 часов2 950
  2. Через 24 часа4 615
  3. Всего сейчас6 091
#14970GIF
Просмотры5 9750%к среднему
Пересылки37
Реакции28
Комментарии9
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
3 ч2 506
9 ч3 192
34 ч5 234
68 ч5 975
  1. Всего сейчас5 975
#14969Фото
Просмотры6 0060%к среднему
Пересылки24
Реакции40
Комментарии6
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
7 ч3 617
28 ч4 901
68 ч6 006
  1. Через 6 часов3 617
  2. Через 24 часа4 901
  3. Всего сейчас6 006
#14968Фото
Просмотры6 085+2%к среднему
Пересылки34
Реакции42
Комментарии2
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
9 ч4 185
30 ч5 137
71 ч6 085
  1. Через 24 часа5 137
  2. Всего сейчас6 085
#14967GIF
Просмотры6 365+6%к среднему
Пересылки83
Реакции43
Комментарии7
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч2 636
5 ч2 936
16 ч3 618
28 ч5 234
75 ч6 365
  1. Через 6 часов2 936
  2. Через 24 часа5 234
  3. Всего сейчас6 365
#14966Фото
Просмотры6 090+2%к среднему
Пересылки29
Реакции30
Комментарии2
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
10 ч2 649
23 ч4 436
34 ч4 741
66 ч6 090
  1. Через 24 часа4 436
  2. Всего сейчас6 090
#14965Текст

Git умеет запоминать ваши решения конфликтов Долгоживущая ветка, очередной rebase и знакомый конфликт в том же участке файла. Кажется, это решение уже набирали. Git умеет его запомнить: механизм rerere сохраняет исходный конфликт и результат ручной правки, если включён rerere.enabled. При следующем подходящем конфликте он пытается применить прежнее решение через трёхстороннее слияние. Это полезно, когда ветку приходится несколько раз сверять с изменяющейся основной веткой. Записывать решение вручную отдельной командой при каждом шаге обычно не нужно: merge, commit и rebase сами вызывают rerere в нужных местах. Но память Git не заменяет проверку смысла. Старый ответ может чисто примениться к коду и всё равно оказаться неверным. В базовом режиме без autoupdate результат остаётся в рабочем дереве, а индекс не меняется. Перед git add остаются просмотр diff и тесты. Экономится повторное редактирование, а ответственность за решение остаётся у разработчика.

Открыть в Telegram
Просмотры6 407+7%к среднему
Пересылки29
Реакции27
Комментарии8
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч2 838
16 ч4 216
28 ч5 022
29 ч5 115
72 ч6 407
  1. Через 24 часа5 022
  2. Всего сейчас6 407
#14964Текст

SQLite может завершить коммит удалением файла Транзакция меняет несколько страниц базы, а питание может пропасть между двумя записями. Как после перезапуска получить «всё или ничего»? В разборе атомарного коммита SQLite важнейший момент выглядит буднично: удаляется файл журнала. Речь о rollback journal в режиме DELETE. Сначала SQLite сохраняет исходные страницы в журнал и сбрасывает его на устойчивый носитель. Затем записывает изменённые страницы базы и тоже синхронизирует их. Только после этого удаляет журнал. Пока он пригоден для восстановления, прерванные изменения можно откатить. После удаления транзакция считается завершённой. При открытии базы SQLite проверяет не просто наличие файла, а признаки «горячего» журнала, включая заголовок и блокировки. Всё это опирается на корректную работу синхронизации и хранилища. У WAL другой протокол. Здесь же эффект «всё или ничего» получается из строгого порядка действий и чёткой границы завершения.

Открыть в Telegram
Просмотры6 489+9%к среднему
Пересылки33
Реакции34
Комментарии5
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
10 ч4 285
34 ч5 630
35 ч5 710
68 ч6 489
  1. Всего сейчас6 489
#14963Текст

Option в Rust не обязательно занимает дополнительное место У значения есть два состояния: оно присутствует или его нет. Кажется, для Option<T> к самому значению придётся добавить отдельный флаг. Но тип NonZeroU32 уже оставляет свободное состояние: число ноль в нём запрещено. Именно ноль можно использовать для None, а остальные значения остаются для Some. Поэтому Option<NonZeroU32> имеет тот же размер и выравнивание, что и NonZeroU32. Это гарантия документации Rust, а не удачное совпадение в одном эксперименте с компилятором. Такой приём называют null pointer optimization, хотя работает он и с числами NonZero. Гарантия распространяется на конкретный список типов, в том числе ссылки и некоторые указатели. Переносить её на любой Option<T> нельзя. Здесь ограничение типа даёт полезный бонус: отсутствие значения помещается в уже свободную комбинацию битов.

Открыть в Telegram
Просмотры6 533+9%к среднему
Пересылки33
Реакции37
Комментарии6
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч2 078
15 ч3 032
27 ч5 108
53 ч5 993
75 ч6 533
  1. Через 24 часа5 108
  2. Всего сейчас6 533
#14962Текст

Кто испортил это поле? В объекте уже лежит неправильное значение. Где его записали, неизвестно, а при следующем запуске ошибка может исчезнуть. Отладчик rr предлагает сначала поймать сбой под записью, а потом сколько угодно раз разбирать один и тот же запуск в gdb. В примере проекта у объекта Firefox неверная ширина. Разработчик ставит watch -l mRect.width и выполняет reverse-cont. Отладчик идёт назад и останавливается на присваивании, которое изменило поле. Адреса объектов и порядок событий при повторном воспроизведении сохраняются, поэтому найденные зацепки не теряются после перезапуска отладки. Это работа с сохранённым исполнением. Для rr нужны Linux и совместимый процессор, в виртуальной машине ещё и доступ к аппаратным счётчикам. Есть ощутимая цена для параллельного кода: rr эмулирует одноядерную машину. Зато пойманный редкий баг больше не приходится ловить заново.

Открыть в Telegram
Просмотры6 213+4%к среднему
Пересылки31
Реакции35
Комментарии5
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
10 ч3 372
33 ч5 397
59 ч6 103
69 ч6 213
  1. Всего сейчас6 213
#14961Текст

Один зашифрованный архив, несколько получателей и никакого общего пароля Нужно передать архив нескольким коллегам. Можно завести общий пароль и потом разбираться, кому его уже переслали. У утилиты age есть другой вариант: один файл шифруется на несколько публичных ключей, и каждый получатель открывает его своим секретным ключом. Список адресатов задаётся повторением -r или файлом с ключами через -R recipients.txt. Сами секретные ключи друг другу передавать не нужно. А благодаря обычным потокам Unix вывод tar можно сразу направить в age, без промежуточного незашифрованного архива на диске. Есть важная граница: шифрование само по себе не подтверждает личность отправителя. Принадлежность публичных ключей тоже нужно проверить отдельно. Удобство здесь вполне конкретное: несколько человек читают один архив, а передавать друг другу личные секретные ключи не приходится.

Открыть в Telegram
Просмотры6 181+3%к среднему
Пересылки59
Реакции39
Комментарии5
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
5 ч2 157
17 ч2 918
28 ч4 386
75 ч6 181
  1. Через 6 часов2 157
  2. Через 24 часа4 386
  3. Всего сейчас6 181
#14960Текст

Как поймать причину торможения, которое уже закончилось Запрос иногда зависает, но к моменту включения трассировки всё снова работает. Тут полезен flight recorder из Go 1.25: он заранее собирает недавние события runtime в буфер в памяти. Когда программа замечает проблему, из буфера можно сохранить предшествующий ей фрагмент. В примере команды Go снимок запускается после первого ответа дольше 100 мс. Трасса приводит к неожиданному виновнику: defer b.mu.Unlock() внутри цикла. Блокировки снимаются только при выходе из функции, а та ещё успевает отправить HTTP-запрос. Всё это время другие горутины ждут. Самописец здесь помогает сохранить именно момент ожидания, который иначе легко пропустить. Порог в 100 мс относится к примеру, а буфер и сбор событий расходуют ресурсы. Зато не нужно копить трассу за несколько дней работы сервера ради одного редкого сбоя.

Открыть в Telegram
Просмотры6 051+1%к среднему
Пересылки33
Реакции24
Комментарии10
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
11 ч3 352
34 ч4 835
69 ч6 051
  1. Всего сейчас6 051
#14959Фото

Сколько ключей придётся помнить ради дедупликации потока? Найти повторное событие по ключу легко, пока можно помнить все ключи за всё время. В непрерывном потоке такое состояние растёт без конца. В разборе дедупликации через Flink SQL автор сравнивает варианты с разными ограничениями. Срок хранения состояния, TTL, ограничивает память, но меняет поведение: после удаления ключа старый дубль снова может пройти как новое событие. Важен и результат запроса. Один вариант сразу выдаёт строку, а позже присылает её обновление. Другой ждёт, чтобы учесть запоздавшие события. Получатель должен уметь работать с выбранным режимом. Даже настройка TTL требует проверки: в рассмотренной версии подсказка STATE_TTL не применяется к оператору дедупликации. До запуска стоит прогнать поздний дубль, истечение срока хранения и обновление результата — именно на них короткий SQL начинает вести себя неожиданно.

Открыть в Telegram
Просмотры6 030+1%к среднему
Пересылки38
Реакции27
Комментарии2
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
4 ч2 430
8 ч2 950
22 ч3 969
29 ч4 549
75 ч6 030
  1. Через 24 часа3 969
  2. Всего сейчас6 030
#14958Фото

Проверенный бот тоже может перегрузить сайт Известный поисковый робот может ходить только по разрешённым страницам и всё равно создавать слишком большую нагрузку. Проверка владельца бота сама по себе этого не предотвращает. Cloudflare описала подход к постоянной оценке проверенных ботов. Среди сигналов — соблюдение robots.txt и реакция на HTTP 429: снижает ли робот частоту запросов, учитывает ли указание подождать. Так доверие к боту должно зависеть от наблюдаемого поведения после проверки его личности. Владельцу сайта нужна возможность понять, за что робот получил определённую оценку. Публичные оценки в Cloudflare Radar пока заявлены как следующий шаг. Уже сейчас при разборе нагрузки полезно смотреть, что происходит после ответа «слишком много запросов»: клиент действительно отступает или немедленно приходит снова.

Открыть в Telegram
Просмотры5 555−7%к среднему
Пересылки18
Реакции27
Комментарии2
Динамика просмотровСкрыть динамику

Рост просмотров

Часов после публикации

Показать таблицей
Часов после публикацииПросмотры
0 ч0
7 ч3 279
25 ч4 357
66 ч5 555
  1. Через 6 часов3 279
  2. Через 24 часа4 357
  3. Всего сейчас5 555