Есть метод, который принимает callback:
void Bar::setCallback(const std::function<void(int, int)> &cb) {}
Я туда хочу передать метод класса, соответственно есть два пути:
// Метод, который передаём
void Foo::callback(int a, int b) {}
// Путь первый
bar->setCallback(std::bind(&Foo::callback, this, std::placeholders::_1, std::placeholders::_2);
// Путь второй
bar->setCallback([this] (int a, int b) { callback(a, b); });
Какой путь лучше, если рассмотреть с разных точек зрения: удобство написания, читаемость, может быть быстродействие и размер, если критично? Ваше личное мнение.
Коллеги, всем привет! Столкнулся с такой странной проблемой . Есть домен zapad.ru (МСК) и есть поддомен vl.zapad.ru (ДВ) , в моём владении последний . Издревне на Московском сервере есть почта [email protected] на которую кидают почту (в основном рассылка по филиалам) все , далее эти письма летят на алиас ([email protected]) в котором 4 почты нужных людей . так вот с недавнего времени , если московские коллеги (zapad.ru) или местный домен (vl.zapad.ru) пытается отправить письмо на алиас [email protected] или [email protected] , вылетает reject со следующей ошибкой:
Oct 13 21:51:55 mail2 postfix/smtpd[22431]: Anonymous TLS connection established from mail.zapad.ru[82.138.XX.XX]: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)
Oct 13 21:51:55 mail2 postfix/smtpd[22431]: NOQUEUE: reject: RCPT from mail.zapad.ru[82.138.XX.XX]: 554 5.7.1 <[email protected]>: Recipient address rejected: SMTP AUTH is required for users under this sender domain; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail2.zapad.ru>
Oct 13 21:51:55 mail2 postfix/smtpd[22431]: disconnect from mail.vostok.ru[82.138.XX.XX]
Oct 13 21:51:56 mail2 postfix/postscreen[22427]: CONNECT from [82.138.XX.XX]:43327 to [192.168.116.45]:25
Oct 13 21:51:56 mail2 postfix/postscreen[22427]: PASS OLD [82.138.XX.XX]:43327
Oct 13 21:51:56 mail2 postfix/smtpd[22431]: connect from mail.zapad.ru[82.138.XX.XX]
Oct 13 21:51:56 mail2 postfix/smtpd[22431]: setting up TLS connection from mail.zapad.ru[82.138.XX.XX]
Oct 13 21:51:56 mail2 postfix/smtpd[22431]: mail.zapad.ru[82.138.XX.XX]: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STRENGTH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aE
Oct 13 21:51:56 mail2 postfix/smtpd[22431]: SSL_accept:before/accept initialization
И вот как решить непонятно
https://kde.org/announcements/plasma-5.20.0
Кому надо, пилите новость.
Ну и по традиции: ждём ебилдов!
Лично моё рабочее место - уныло до невозможности, и никого ничем не удивит. Поэтому желания его выкладывать, соответственно, не возникает.
Сегодня, в связи с расширением проекта, слушал «кновледж-трансфер» для «более новых» ньюкамеров (я на проекте где-то с год), узнал много нового в духе «а... вот как это называется... А я думал, программинг мазафака!»
Раньше продавцы историй успешного успеха «оверселлили» словом «вижон». Сейчас услышал что «цель проекта — solidifying of foundation... бла-бла-бла для более лудшых энхансментов кустомер экспириенса».
Кидайте в ответах ваши «любимые» звонкие словечки из насикомой манагер-фени.
Добрый день.
Нужно сократить количество однотипных правил в iptables. Обычно это делаю через ipset но в этот раз не помогает.
в ipset создана таблица, допустим TABLE с типом hash:ip
через ipset в нее заносятся ip ipset -A TABLE ip-адрес
список правил
iptables -A FORWARD –protocol all –destination ip-адрес -m limit –limit 1/s –limit-burst 1 -j ACCEPT
iptables -A FORWARD –destination ip-адрес -j DROP
работает нормально, но их нужно очень много
Пробую ограничить прохождение трафика по одному пакету в секунду двумя правилами:
iptables -A FORWARD -m set –match-set TABLE dst -m limit –limit 1/s –limit-burst 1 -j ACCEPT
iptables -A FORWARD -m set –match-set TABLE dst -j DROP
но вместо того что бы эти два правила работали параллельно они работают как одно, просто учитывают перечисленные в TABLE ip
Возможно это надо делать как-то иначе так что бы не было много правил?
Таки состоялся релиз набора GCC-совместимых инструментов разработки LLVM. В частности, в порядке эксперимента в состав вошёл Flang – фронтэнд для языка Фортран.
Из значимого:
- Начата миграция сборочной системы в сторону использования Python 3. 2-я версия языка, тем не менее, всё ещё поддерживается в качестве «запасного» (fallback) варианта.
- Поддержка восстановления AST, что упрощает поиск ошибок в коде, в том числе и дополнительными утилитами. Пример
- Новые группы предупреждений:
-Wpointer-to-int-cast
,-Wuninitialized-const-reference
и-Wimplicit-const-int-float-conversion
. Последняя включена по умолчанию. - Добавлен набор расширенных целочисленных типов _ExtInt(N), позволяющих создавать типы не кратные степени двойки. Да, теперь можно делать «инты» кратными любому числу!
- Целая куча улучшений в Clang, в частности, новые «фичи» для многих платформ, в том числе x86, ARM и RISC-V, улучшенная производительность, новые функции для работы с OpenCL (и ROCm) и OpenMP.
Полный список изменений, как всегда, в Release Notes:
https://releases.llvm.org/11.0.0/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/flang/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/polly/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/projects/libcxx/docs/ReleaseNotes.html
Пытаюсь писать много данных в redis из python. Отправляю например 10к сообщений в секунду. Проблема в том что первые 2-3к залетают норм, а потом начинает сыпать такую ошибку
redis.exceptions.ConnectionError: Error 10048 connecting to 192.168.1.201:6379. Only one usage of each socket address (protocol/network address/port) is normally permitted.
При этом периодически все равно до 1к пролазит раз в несколько секунд.
делаю так
r = redis.StrictRedis(host=host, port=port, db=db)
r.lpush(redis_key, data)
r.close()
вроде бы закрываю соединение каждый раз. Но из-за этого ли. Читал про пул коннектов, но не очень понимаю как сделать так что бы он висел в памяти при запуске flask и при каждом новом запросе к апи не пересоздавался заново.
Доброго дня.
Настраиваю кеш на Centos7, 2 hdd в raid1 и ssd
По инструкции https://ahelpme.com/linux/lvm/ssd-cache-device-to-a-hard-disk-drive-using-lvm
нужно добавить разделы к устройствам, но так как на raid 1 всё в корне то добавить не получится http://prntscr.com/uydlax
Подскажите как этот момент обойти?
Обычно минорные выпуски предназначены для исправлений ошибок, но Kdenlive 20.08.2 поставляется с набором изменений, достойных основного выпуска.
Kdenlive (KDE Non-Linear Video Editor) — нелинейный видеоредактор с открытым исходным кодом на основе Framework MLT и KDE.
Помимо некоторых исправлений утечки памяти и улучшения удобства использования в этой версии:
- возвращена функция автоматического разделения сцены
- добавлены экспериментальные профили GPU для рендеринга
- добавлено создание прокси и рендеринга предварительного просмотра временной шкалы
- добавлен новый эффект кадрирования
- улучшена обработка проектов с отсутствующими клипами
- улучшена загрузка проекта
- исправлено отображение индикаторов громкости в аудиомикшере
Состоялся стабильный релиз Android Studio 4.1 — интегрированной среды разработки (IDE) для работы с платформой Android. Подробнее об изменениях в описании релиза и в YouTube презентации.
добрый день, уважаемые форумчане. Прошу помощи. Задача следующая, есть роутер на прошивке OpenWRT, в этот роутер вставлен модем 4G, Huawei 3372. Роутер стоит на объекте, есть необходимость удалённо в него заходить, и не только в роутер но и в модем. Поскольку объект находится на территории без проводного интернет, модем принимает сигнал 4G и соответственно я не могу достучаться в роутер используя DynamicDNS, так как у оператора закрыты порты (по крайней мере сначала попробовал это сделать а потом прочитал что бессмысленно). Решил задачу так - этот удалённый роутер стучится на мой домашний по SSH, и я при необходимости войти в него использую проброшенный порт. Таким образом могу без проблем входить в веб-админку OpenWRT. Но возникла проблема со входом в веб-интерфейс модема. Дело в том что в нём жёстко прописан адрес 192.168.8.1, и находясь в локальной сети удалённого роутера (192.168.1.1/24) я ввожу адрес 192.168.8.1 попадаю в веб-интерфейс. Поэтому решил что используя проброс смогу заходить и в модем. пробросил вот так: ssh -g -p 10000 root@localhost -L 12345:192.168.8.1:80, посчитал что теперь «вытянув» порт 12345 в локальную домашнюю сеть я зайдя браузером на этот порт попаду в админку модема. Но нет, ввожу http://192.168.1.1:12345 надеясь таким образом попасть в веб-морду модема, но через пару секунд адрес меняется автоматически на вот такой - http://192.168.8.1/index.html - и я понимаю что так происходит потому что модем на своей заглавной странице имеет ссылки только на адрес 192.168.8.1
как быть в таком случае? можно на OpenWRT организовать openvpn-сервер и подключившись к нему оказаться в локальной сети удалённого роутера, но не хочу так. Хочу методом редиректа или роутинга это сделать, подскажите пожалуйста как)
Например,
# Makefile
%.out: %.o
g++ $^ -o $@
%.o: %.cpp
g++ -c $< -o $@
main.o: main.cpp
a.out: main.o
make не находит шаблона для a.out.
Вопрос: каким образом происходит поиск шаблона в Makefile?
The Document Foundation опубликовали открытое письмо к Apache Foundation. В письме указано, что несмотря на усилия TDF (проведение конференций, содействие коммерческим проектам по поддержке), постоянные релизы и цветущее сообщество вокруг LibreOffice, пользователи по-прежнему не знают о нём, в том числе из-за сложившегося доверия к бренду OpenOffice.
TDF призывает Apache поступить правильно и ответственно, и рассказать пользователям о наличии более современной и функциональной альтернативы AOO.
Как широко сейчас используется WebAssembly? Я помню, что Java-апплеты в своё время закапывали, что проприетарно и небезопасно, потому что исполняется сторонний двоичный код, сейчас же почему-то сторонний двоичный код вопросов не вызывает. Ну и спецификация, я, так понимаю, открытая.
Как может взаимодейтсвовать wasm-приложение со страницей? Апплеты представляли отдельное окошко внутри страницы, а сейчас? Взаимодействуют ли они с содержимым страницы, как работают JS-скрипты?
PHP-разработчик
Требуется PHP-разработчик (PHP 7.*) с опытом работы с API, SQL, знание GIT желательно. Проект уже в продакшене, но требует доработки и поддержки, поэтому нужно будет и разбираться в ранее написанном коде.
Проект на Drupal 7, в перспективе переезд на 9-ю или сразу на Symphpony.
Желателен не формальный подход к решению задач («от и до» строго по ТЗ), а активное включение в процесс разработки, понимание взаимосвязей разрозненных задач в рамках всего проекта.
З/п от 100 т.р. в зависимости от скорости и качества работы. В офисе – чай, кофе, бесплатные обеды.
Звоните +7 966 072 68 98
Привет всем.
Подскажите список регулярных выражений для exim в fail2ban, или как ещё обезопасить почтовый сервер от взлома. Вроде fail2ban работает и блокирует неверно введенный пароли, но каким то образом замечаю, что одна из почт начинает делать массовые рассылки спама, в отправленных письма не сохраняются, вижу только отчеты. Я чищу очередь и меняю пароль (пароли генерирую из не менее 25 знаков), пароль есть только у меня.
Вот правила из fail2ban:
(jail.conf)
enabled = true
filter = exim
action = iptables[name=SMTP, port=25, protocol=tcp]
mail[name=EximAuth, [email protected]]
logpath = /var/log/exim/main.log
maxretry = 3
bantime = 86400
и (exim.conf)
\[<HOST>\] .*(?:rejected by local_scan|Unrouteable address)
\[<HOST>\] I=\[[0-9\.]+\]:25: 535 Incorrect authentication data
TLS error on connection from (.*)\[<HOST>\]
no host name found for IP address <HOST>
\[<HOST>\] .*(?:rejected by local_scan|Unrouteable address)
SMTP syntax error in ".+" H=\[<HOST>\]
SMTP call from \[<HOST>\]
вот несколько строк из лога, как я понял тут даже нет адреса обращения к почтовому серверу:
2020-10-13 08:12:22 1kSCa6-0006yd-DE -> [email protected] R=dnslookup T=remote_smtp H=hotmail-com.olc.protection.outlook.com [104.47.1.33] X=TLSv1:AES256-SHA:256 C="250 2.6.0 <6dc710d1-19da-410b-9905-acd6acfa01a8@VE1EUR01FT019.eop-EUR01.prod.protection.outlook.com>"
2020-10-13 08:12:22 1kSCbm-00079Q-O7 <= <> R=1kSCa6-0006yd-DE U=exim P=local S=2453 from <> for [email protected]
2020-10-13 08:12:22 1kSCa6-0006yd-DE Completed
Перед эти были такие соединения:
<= [email protected] H=([94.102.51.175]) [94.102.51.175] I=[31.72.221.221]:25 P=esmtp S=1145 from <[email protected]> for [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
2020-10-13 08:11:18 1kSCak-0006ye-EH no immediate delivery: more than 10 messages received in one connection
а первое странное напоминания как я понимаю с чего всё началось это вот эти строки:
2020-10-13 00:11:29 no host name found for IP address 36.110.26.10
2020-10-13 00:11:48 1kS56V-0007XQ-6Y <= <> H=(yml-server.lan) [36.110.26.10] I=[31.72.221.221]:25 P=smtp S=32353 [email protected] from <> for [email protected]
2020-10-13 00:11:49 1kS56V-0007XQ-6Y => slog <[email protected]> R=dovecot_user T=dovecot_delivery