MessageBox

Простой Message Box без обработки вариантов ответа:

«Умный» Message Box с обработкой вариантов ответа:

Несколько «быстрых» вариантов создания MessageBox:

Qt5 static с драйвером PostgreSQL

В данной статье я опишу как собрать статический Qt5 с драйвером PostgreSQL.

Скажу сразу, что с Qt5.8 у меня собрать статическую сборку с поддержкой PostgreSQL не получилось. Поэтому взял предыдущую версию Qt 5.7.1 с официального сайта.
Для сборки Qt также понадобится Perl.

Сборка PostgreSQL

Чтобы драйвер PostgreSQL собрался, нам понадобятся библиотеки libpq и h-файлы (использовал эту статью), поэтому:
1. Качаем исходные коды PostgreSQL.
2. Собираем их компилятором mingw32, для чего:
2.1. Ставим утилиту msys, которая входит в состав MinGW.
2.2. В папке с msys заходим в папку etc/ и открываем файл fstab. В этом файле вы увидите строчку формата: C:/mingw /mingw
Первую часть необходимо заменить на ваш путь до MinGW, в моём случае эта строка стала выглядеть следующим образом: C:/QtDyn58/Tools/mingw530_32 /mingw
Сохраняем изменения и запускаем MSYS (файл msys.bat).
2.3. Переходим в папку с postgreSQL, в моём случае это выглядит так:
cd /с/PG963dev
2.4. Запускаем конфигурирование postgreSQL, в моем случае:
configure --without-zlib --prefix=/c/PG963inst (руководствовался этим)
2.5. Далее make && make install

В результате должны появиться папки:
C:\PG963inst\include
C:\PG963inst\lib

В папке lib появятся библиотеки libpq.a и libpq.dll, которые нам понадобятся дальше.

Сборка Qt
Для сборки Qt рекомендую создать bat файл.
Подключить собранный postgresq строчками -I C:\PG963inst\include -L C:\PG963inst\lib у меня не получилось.
Поэтому в файле (руководствовался этим этим)
C:\qt-everywhere-opensource-src-5.7.1\qtbase\src\sql\drivers\psql\qsql_psql.pri
я добавил следующие строчки:
INCLUDEPATH += "C:\PG963inst\include"
LIBS += -L"C:\PG963inst\lib" -llibpq

Bat-файл взял здесь) .
Важно не забыть прописать пути к Perl и использовать ключ -qt-sql-psql при конфигурировании.
У меня он получился такой:

После успешной сборки в статическом проекте добавляем строчку в .pro файл
QMAKE_LFLAGS_RELEASE += -static -static-libgcc и кладем файл libpq.dll в папку с исполняемым файлом.

Cisco VPN

Установка Cisco VPN Client на Windows 10

  1. Удалить если проинсталлированы SonicWALL VPN Client & Cisco VPN client
  2. Скачать (при переходе на сайт Mega для скачивания выбирите Загрузить в браузере)
    SonicWall(32 bit) или SonicWall(64 bit) и Cisco VPN Client (32 bit) или Cisco VPN Client (64 bit) в зависимости от разрядности вашей OS
  3. Установить сначала SonicWall, потом распаковать, но не устанавливать Cisco VPN Client, запомнить путь к распакованной папке
  4. Открыть распакованную папку с Cisco VPN Client, запустить не EXE-файл, а MSI для обхода ошибки Reason 442: Failed to enable Virtual Adapter on Windows 10
    cisco_win10_problems_installing
  5. Установить Cisco VPN Client из MSI
  6. Опционально. Можно удалить SonicWALL VPN Client, оставив галочки отключенными (по умолчанию)
  7. Запустить regedit
  8. В ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CVirtA найти запись DisplayName, правой кнопкой нажать редактировать и вписать вместо старого значения новое:
    Для Windows 10 32bit (x86) со старого “@oem8.inf,%CVirtA_Desc%;Cisco Systems VPN Adapter” на “Cisco Systems VPN Adapter”. Для Windows 10 64bit (x64) со старого “@oem8.inf,%CVirtA_Desc%;Cisco Systems VPN Adapter for 64-bit Windows” на “Cisco Systems VPN Adapter for 64-bit Windowscisco-vpn-client-regedit
  9. Проверьте что значение DisplayName изменилось
  10. Client & Cisco VPN client должен работать

Оригинал статьи:

http://www.firewall.cx/cisco-technical-knowledgebase/cisco-services-tech/1127-cisco-vpn-client-windows-10-install-fix-442-failed-to-enable-virtual-adapter.html

Canon G3400

Может я слепой, конечно. Но посмотрел эти две простыни два раза и не нашёл того, что нужно. А именно , как подключить его к роутеру через WPS.
Вставьте головы , залейте краску, ставьте драйвера , следуйте инструкциям при установке , пользуйтесь.

Ну ОК. Ладно.
Драйвер выдаёт пустой список,
Ваше устройство есть ?
Нет.
Тогда нажмите кнопку wifi на принтере и держите, потом нажмите color и снова wifi. После этого нажмите WPS на роутере.
ОК не дурак. Не подключается.

После этого было 1,5 часа махинаций с настройками роутера, без результата. Ну думаю WPS не работает у меня, наверное, дай ка мобилой попробую подключится по wps. Смотрю в список доступных сетей на мобильнике и вижу, CANON*****.
И тут до меня доперает. Нажать wifi держать, потом color и снова wifi, это перевод принтера в режим wps. То есть это не он подключается, а он ждёт подключений. Должно быть? чтобы принтер подключился должна быть другая комбинация. Но драйвера говорят только «нажмите кнопку wifi на принтере и держите, потом нажмите color и снова wifi. После этого нажмите WPS на роутере» Ладно , думаю, ну ка по аналогии , сделаем нажмём wifi подержим , потом нажмём не color (как просят драйвера) а black , и потом снова wifi. Сделал и, о чудо! принтер подключился.
Так что , чтобы подключить его к сети, жмём wifi ждём , потом жмём BLACK и снова wifi. потом wps на роутере.

Источник: http://www.citilink.ru/catalog/computers_and_notebooks/monitors_and_office/ink_mfu/353821/otzyvy/

Web chmod

The other answers are correct, in that chmod -R 755 will set this as permissions to all files and folders in the tree. But why on earth would you want to? It might make sense for the directories, but why set the execute bit on all the files?

I suspect what you really want to do is set the directories to 755 and either leave the files alone or set them to 644. For this, you can use the find command. For example:

To change all the directories to 755 (-rwxr-xr-x):

To change all the files to 644 (-rw-r—r—):

Определение открытых портов

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

Просмотреть открытые порты можно двумя способами. Менее надёжный способ — опросить сетевой стек с помощью команды netstat -an или lsof -i. Этот способ не очень надёжен, так как эти программы не подключаются к компьютеру по сети, а просто определяют, что происходит в системе. По этой причине, эти приложения часто подменяются нападающими. Таким способом взломщики пытаются скрыть свои следы, если они незаконно открыли порты.

Другим более надёжным способом проверки открытых портов является использование сканера портов, например nmap.

Следующая команда, запущенная с консоли, определяет, какие порты ждут TCP-соединений из сети:

 

Установка прав 755 на папки и 644 на файлы

При переносе сайта на другой хостинг столкнулся с проблемой: надо поставить права 755 на все папки (включая вложенные) и 644 на файлы в этих папках.
Решение:

Персональная страничка