Kali Linux (ru)
前往频道在 Telegram
Взломы, вирусописательство и борьба со зверками, криптография, информационная безопасность. Для получения возможности писать вобсуждениях введите пароль h3V1PFK8
显示更多9 038
订阅者
+524 小时
+37 天
-1230 天
数据加载中...
吸引订阅者
九月 '26
九月 '26
+21
在0个频道中
八月 '26
+67
在0个频道中
Get PRO
七月 '26
+57
在0个频道中
Get PRO
六月 '26
+69
在0个频道中
Get PRO
五月 '26
+51
在0个频道中
Get PRO
四月 '26
+61
在0个频道中
Get PRO
三月 '26
+72
在0个频道中
Get PRO
二月 '26
+108
在0个频道中
Get PRO
一月 '26
+139
在0个频道中
Get PRO
十二月 '25
+148
在0个频道中
Get PRO
十一月 '25
+127
在0个频道中
Get PRO
十月 '25
+194
在0个频道中
Get PRO
九月 '25
+222
在0个频道中
Get PRO
八月 '25
+222
在0个频道中
Get PRO
七月 '25
+205
在0个频道中
Get PRO
六月 '25
+179
在0个频道中
Get PRO
五月 '25
+107
在0个频道中
Get PRO
四月 '25
+132
在0个频道中
Get PRO
三月 '25
+126
在0个频道中
Get PRO
二月 '25
+167
在0个频道中
Get PRO
一月 '25
+161
在0个频道中
Get PRO
十二月 '24
+157
在0个频道中
Get PRO
十一月 '24
+161
在0个频道中
Get PRO
十月 '24
+302
在1个频道中
Get PRO
九月 '24
+127
在0个频道中
Get PRO
八月 '24
+121
在0个频道中
Get PRO
七月 '24
+120
在0个频道中
Get PRO
六月 '24
+80
在0个频道中
Get PRO
五月 '24
+78
在0个频道中
Get PRO
四月 '24
+109
在0个频道中
Get PRO
三月 '24
+121
在0个频道中
Get PRO
二月 '24
+123
在0个频道中
Get PRO
一月 '24
+120
在0个频道中
Get PRO
十二月 '23
+120
在0个频道中
Get PRO
十一月 '23
+121
在0个频道中
Get PRO
十月 '23
+158
在0个频道中
Get PRO
九月 '23
+152
在0个频道中
Get PRO
八月 '23
+145
在0个频道中
Get PRO
七月 '23
+133
在0个频道中
Get PRO
六月 '23
+103
在0个频道中
Get PRO
五月 '23
+152
在0个频道中
Get PRO
四月 '23
+116
在0个频道中
Get PRO
三月 '23
+158
在0个频道中
Get PRO
二月 '23
+180
在0个频道中
Get PRO
一月 '23
+132
在0个频道中
Get PRO
十二月 '22
+152
在0个频道中
Get PRO
十一月 '22
+198
在0个频道中
Get PRO
十月 '22
+183
在0个频道中
Get PRO
九月 '22
+152
在0个频道中
Get PRO
八月 '22
+117
在0个频道中
Get PRO
七月 '22
+164
在0个频道中
Get PRO
六月 '22
+165
在0个频道中
Get PRO
五月 '22
+200
在0个频道中
Get PRO
四月 '22
+302
在0个频道中
Get PRO
三月 '22
+387
在0个频道中
Get PRO
二月 '22
+149
在0个频道中
Get PRO
一月 '22
+260
在0个频道中
Get PRO
十二月 '21
+252
在0个频道中
Get PRO
十一月 '21
+179
在0个频道中
Get PRO
十月 '21
+273
在0个频道中
Get PRO
九月 '21
+207
在0个频道中
Get PRO
八月 '21
+234
在0个频道中
Get PRO
七月 '21
+236
在0个频道中
Get PRO
六月 '21
+219
在0个频道中
Get PRO
五月 '21
+180
在0个频道中
Get PRO
四月 '21
+294
在0个频道中
Get PRO
三月 '21
+295
在0个频道中
Get PRO
二月 '21
+301
在0个频道中
Get PRO
一月 '21
+337
在0个频道中
Get PRO
十二月 '20
+6 510
在0个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 05 九月 | +3 | |||
| 04 九月 | +6 | |||
| 03 九月 | +4 | |||
| 02 九月 | +2 | |||
| 01 九月 | +6 |
频道帖子
Оптимизация кода с помощью генераторов в Python
Сегодня хочу показать вам, как использование генераторов может сделать ваш код быстрее, экономнее по памяти и элегантнее.
Что такое генераторы?
Генераторы — это функции, которые используют yield вместо return. Они не возвращают сразу все значения, а запоминают своё состояние и отдают результат по мере необходимости. Это особенно полезно при обработке больших объемов данных, так как позволяет не загружать всю информацию в память сразу.
Пример: экономия памяти
Допустим, нам нужно обработать миллион чисел и взять из них только четные. Обычный способ:
def get_even_numbers(n):
result = []
for i in range(n):
if i % 2 == 0:
result.append(i)
return result
numbers = get_even_numbers(10**6)
print(len(numbers)) # 500000
Такой код загружает в память весь список, что может быть проблемой при больших данных.
А теперь переделаем на генератор:
def get_even_numbers_gen(n):
for i in range(n):
if i % 2 == 0:
yield i
numbers = get_even_numbers_gen(10**6)
print(sum(1 for _ in numbers)) # 500000
Здесь список не создается, а элементы выдаются по одному. Это экономит память и ускоряет обработку!
Где применять?
✔ Чтение больших файлов построчно (yield line)
✔ Работа с потоками данных
✔ Генерация последовательностей без создания списков
| 2 | +1 AmneziaVPN_5.0.1.5_macos_x64.pkg | 695 |
| 3 | +9 amnezia-client-5.0.1.5.tar.gz | 698 |
| 4 | 🖥 Linux 7.3 может стать одним из самых производительных релизов ядра за последние годы
Главный упор - не на новые фичи, а на ускорение уже существующего стека.
Btrfs получает прирост в 3–5 раз в отдельных сценариях: logging, fsync, tracking extent buffers и direct I/O. Плюс free-space cache по умолчанию переезжает с v1 на v2.
EXT4 тоже ускоряют: параллельные direct I/O writes, улучшения allocator через fallocate() и рост IOPS на Gen5 NVMe примерно с 1,92 млн до 2,19 млн.
Планировщик переработан ради более ровного frame pacing, особенно на слабом железе.
В памяти тоже есть серьёзные цифры: фиксы contention в zsmalloc дают до 1,83×, а lock time в KSM reverse mapping сокращается с 500+ мс до менее 2 мс.
Для real-time workloads тоже мощный прирост: P99 latency на SMP снижается примерно с 17 мс до 1,5 мс.
А владельцы Intel hybrid CPU — Alder Lake, Lunar Lake и Panther Lake — получают лучшее распределение нагрузки между P-cores и E-cores.
Если всё это дойдёт до стабильного релиза без регрессий, Linux 7.3 будет очень интересным обновлением именно для производительности. | 911 |
| 5 | https://habr.com/p/1073200/ | 1 094 |
| 6 | https://mobaxterm.mobatek.net/ | 1 159 |
| 7 | 没有文字... | 1 110 |
| 8 | Как работает HTTPS?
Безопасный протокол передачи гипертекста
(HTTPS) - это расширение протокола передачи гипертекста (HTTP). HTTPS передает зашифрованные данные с использованием транспортного уровня безопасности (TLS). Если данные будут перехвачены в Интернете, все, что получит угонщик, - это двоичный код.
Как шифруются и дешифруются данные?
Шаг 1 - Клиент (браузер) и сервер устанавливают TCP-соединение.
Шаг 2 - Клиент отправляет серверу " client hello". Сообщение содержит набор необходимых алгоритмов шифрования (наборов шифров) и последнюю версию TLS, которую он может поддерживать. Сервер отвечает " server hello", чтобы браузер знал, может ли он поддерживать алгоритмы и версию TLS.
Затем сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, дату истечения срока действия и т. д. Клиент проверяет сертификат.
Шаг 3. После проверки SSL-сертификата клиент генерирует ключ сессии и шифрует его с помощью открытого ключа. Сервер получает зашифрованный ключ сеанса и расшифровывает его с помощью закрытого ключа.
Шаг 4 - Теперь, когда клиент и сервер владеют одним и тем же сеансовым ключом (симметричное шифрование), зашифрованные данные передаются по защищенному двунаправленному каналу.
Почему HTTPS переключается на симметричное шифрование при передаче данных? Есть две основные причины:
1. Безопасность: Асимметричное шифрование работает только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой сможет расшифровать их с помощью открытого ключа.
2. Ресурсы сервера: Асимметричное шифрование добавляет довольно много математических накладных расходов. Оно не подходит для передачи данных в длительных сессиях. | 960 |
| 9 | Иногда вам может понадобиться проверить синтаксис Python-файла без его запуска. Такая простая проверка может быть полезна, например, в качестве хука перед коммитом или быстрой проверки в рамках непрерывной интеграции (CI).
Прямого способа сделать это нет. Вы можете запустить файл с помощью команды python -m module.py, что предотвратит выполнение блока if name == 'main'. Однако все импорты всё равно будут выполнены, и это может привести к ошибкам, если вы хотите проверить синтаксис в среде, где модуль не может и не должен быть запущен.
Тем не менее, стандартная библиотека Python содержит модуль py_compile, который генерирует байт-код из исходного файла Python без его выполнения. Это именно то, что нам нужно:
$ python -m py_compile test.c
File "test.c", line 1
int main() {
^
SyntaxError: invalid syntax | 905 |
| 10 | https://habr.com/ru/posts/1070812/ | 1 204 |
| 11 | В ящике вашего стола лежит сервер, за который вы уже заплатили
Возьмём характеристики не очень старого смартфона: восемь ARM-ядер, 8 ГБ памяти, 128 ГБ флеша, свой модем и аккумулятор, работающий как ИБП без всякого ИБП. За VPS с такими параметрами вы бы платили ежемесячно, а этот уже оплачен и пылится. Особенно обидно сейчас, когда память подорожала и собирать мини-ПК под пет-проекты откровенно невыгодно.
Один разработчик решил пойти по пути осознанного потребления и приспособил свой Android-смартфон под серверные задачи.
В материале (https://seg6.space/posts/phone-server/) он рассказывает:
— как уговорил систему, вся суть которой в засыпании, не спать сутками;
— чем заменил systemd;
— как гоняет обычные Linux-образы без Docker.
Кстати, всё получилось. VPS отключён, а сервисы переехали на телефон.
Кто-нибудь уже пробовал так? | 1 207 |
| 12 | 🌀 upmd превращает обычный Markdown в исполняемый workflow
Можно держать инструкции, команды, зависимости и вывод терминала прямо в одном .md-файле, а code blocks запускать как связанные между собой задачи.
Получается что-то между документацией, task runner и живым dev-ноутбуком без отдельного YAML-конфига.
Проект написан на Rust и построен на Ratatui.
⭐ GitHub: github.com/rezigned/upmd | 1 000 |
| 13 | https://habr.com/p/1070740/ | 950 |
| 14 | https://habr.com/p/1068204/ | 1 425 |
| 15 | https://habr.com/p/1067178/ | 1 377 |
| 16 | +8 amnezia-client-5.0.0.5.tar.gz | 2 101 |
| 17 | https://habr.com/p/1064518/ | 1 663 |
| 18 | https://habr.com/p/1063114/ | 1 523 |
| 19 | NetworkManager 1.58 научился показывать QR-коды и эмулировать IPv4
Разработчики выкатили NetworkManager 1.58.0. В 2026 году индустрия все еще вынуждена городить лютые костыли ради старого протокола IPv4. Новый механизм CLAT позволяет хостам на чистом IPv6 запускать легаси-приложения через виртуальный интерфейс на базе BPF. Пакеты на лету заворачиваются в новый формат и летят на шлюз NAT64. До кучи в релиз завезли поддержку туннелей GENEVE для построения виртуальных сетей поверх физических, чтобы сисадминам было еще проще запутаться в собственной маршрутизации.
Но настоящий прорыв случился в текстовом конфигураторе nmtui. Спустя десятилетия развития консольных интерфейсов там наконец-то появилась кнопка Select для выбора сетевой карты из списка. В меню добавили поиск в стиле текстового редактора vim и кнопку для повторного сканирования беспроводных сетей. А главным киберпанком стала возможность вывести пароль от Wi-Fi в виде огромного пиксельного QR-кода прямо в окно терминала. Также авторы окончательно закопали древний бэкенд dhclient и вырезали поддержку устаревшего API Wext. | 1 482 |
| 20 | https://habr.com/ru/companies/cloud4y/articles/712640/ | 1 196 |
