<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>Sergey Svistunov&#039;s blog</title>
        <link>https://svistunov.dev/ru/blog</link>
        <description>Sergey Svistunov&#039;s blog</description>
        <language>ru-ru</language>
        <pubDate>2026-04-21 20:35:19</pubDate>

                    <item>
                <title><![CDATA[Как подключить пакет NuGet в нативное С++ приложение, использующее CMake и Visual Studio]]></title>
                <link>https://svistunov.dev/ru/blog/2024/06/24/how-to-link-webview2-statically-to-a-native-c-application-using-cmake-26</link>
                <description><![CDATA[<p>Первый способ<br />
Можно запускать команду nuget из CMakeLists.txt, устанавливать пакеты в какую-нибудь директорию и подключить файлы .targets.<br />
find_program(NUGET_EXE NAMES nuget)<br />
if(NOT NUGET_EXE)<br />
message("NUGET.EXE not found.")<br />
message(FATAL_ERROR "Please install this executable, and run CMake again.")<br />
endif()<br />
execute_process(COMMAND ${NUGET_EXE} install "Microsoft.Web.WebView2" -Version 1.0.2592.51 -ExcludeVersion -OutputDirectory ${CMAKE_BINARY_DIR}/packages)<br />
execute_process(COMMAND ${NUGET_EXE} install "Microsoft.Windows.ImplementationLibrary" -Version&nbsp;1.0.240122.1...</p>]]></description>
                <category>C++</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2024/06/24/how-to-link-webview2-statically-to-a-native-c-application-using-cmake-26</guid>
                <pubDate>Mon, 24 Jun 2024 19:44:44 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Как собрать Image Uploader (GUI) v1.3.3 из исходников на Windows]]></title>
                <link>https://svistunov.dev/ru/blog/2022/02/16/kak-sobrat-image-uploader-gui-iz-ishodnikov-25</link>
                <description><![CDATA[<p>Сборка программы<br />
Cкачайте исходники с помощью git:<br />
git clone https://github.com/zenden2k/image-uploader.git<br />
Скопируйте файл "Source\versioninfo.h.dist" в "Source\versioninfo.h".<br />
Запустите программу cmake-gui, выберите директорию image-uploader\Source. Также создайте и выберите директорию, в которой будет происходить процесс сборки.<br />
Для начала процесса настройки нужно нажать кнопку Configure, выбрать нужный компилятор (Visual Studio), платформу (Win32).<br />
Описание опций&nbsp;CMake:...</p>]]></description>
                <category>Image Uploader</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2022/02/16/kak-sobrat-image-uploader-gui-iz-ishodnikov-25</guid>
                <pubDate>Wed, 16 Feb 2022 20:00:38 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Мониторинг внешнего интерфейса  (UL/DL)  роутера  Keenetic с помощью виджета рабочего стола (плагин Rainmeter)]]></title>
                <link>https://svistunov.dev/ru/blog/2021/03/08/monitoring-the-external-interface-ul-dl-of-a-keenetic-router-using-a-widget-on-the-windows-desktop-23</link>
                <description><![CDATA[<p>Чтобы он заработал, нужно указать в файле настроек Rainmeter.dat пароль от роутера (знаю, что небезопасно хранить пароль в открытом виде).<br />
[KeeneticPlugin]<br />
Password=qwerty1234<br />
;Login=admin<br />
;URL=http://192.168.1.1<br />
Вот как выглядит виджет у меня (самый нижний). Остальные виджеты - из коллекции Win10 Widgets.<br />
 </p>

<p> <br />
Готовый скин (виджет) для Rainmeter можно скачать здесь: https://github.com/zenden2k/KeeneticRainmeterPlugin/releases<br />
P.S.&nbsp;Не...</p>]]></description>
                <category>C++</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2021/03/08/monitoring-the-external-interface-ul-dl-of-a-keenetic-router-using-a-widget-on-the-windows-desktop-23</guid>
                <pubDate>Mon, 08 Mar 2021 10:03:11 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Консольная утилита imgupload]]></title>
                <link>https://svistunov.dev/ru/blog/2018/10/29/konsolnaya-utilita-imgupload-19</link>
                <description><![CDATA[]]></description>
                <category>Image Uploader</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2018/10/29/konsolnaya-utilita-imgupload-19</guid>
                <pubDate>Mon, 29 Oct 2018 13:29:37 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Знания никогда не бывают лишними, или как Unchecky с Punto Switcher-ом не подружились]]></title>
                <link>https://svistunov.dev/ru/blog/2015/07/26/znaniya-nikogda-ne-byivayut-lishnimi-ili-kak-unchecky-s-punto-switcher-om-ne-podrujilis-11</link>
                <description><![CDATA[<p>И вот уже сегодня получаю от пользователя жалобу на глюки при отображении окна Image Uploader под бетой Windows 10:</p>

<p>По специфике артефактов видно, что Unchecky (возможно, в сочетании с Punto Switcher) негативно влияет на отображение диалоговых окон winapi (а в Image Uploader они используются повсеместно для построения интерфейса, в&nbsp;т.ч....</p>]]></description>
                <category>Мысли вслух</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2015/07/26/znaniya-nikogda-ne-byivayut-lishnimi-ili-kak-unchecky-s-punto-switcher-om-ne-podrujilis-11</guid>
                <pubDate>Sun, 26 Jul 2015 18:34:02 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Как передать множество файлов одной команде из контекстного меню проводника Windows]]></title>
                <link>https://svistunov.dev/ru/blog/2015/07/26/how-to-pass-multiple-files-to-shell-context-menu-command-windows-explorer-10</link>
                <description><![CDATA[<p>Do not forget to set option MultiSelectModel=Player, otherwise number of files will be limited.<br />
Usage:<br />
Usage: singleinstance.exe "%1" {command} $files [arguments]</p>

<p>Optional arguments for singleinstance (not passed to command):</p>

<p>--si-timeout {time to wait in msecs}<br />
Sample registry file:<br />
Windows Registry Editor Version 5.00</p>

<p>[HKEY_CLASSES_ROOT\SystemFileAssociations\.txt\Shell\p4merge]<br />
"MultiSelectModel"="Player"</p>

<p>[HKEY_CLASSES_ROOT\SystemFileAssociations\.txt\Shell\p4merge\Command]<br />
@="\"d:\\singleinstance.exe\" %1 \"C:\\Program&nbsp;Files\\Perforce\\p4merge.exe\"...</p>]]></description>
                <category>C++</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2015/07/26/how-to-pass-multiple-files-to-shell-context-menu-command-windows-explorer-10</guid>
                <pubDate>Sun, 26 Jul 2015 16:03:05 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Что должен знать идеальный C++ программист в вакууме]]></title>
                <link>https://svistunov.dev/ru/blog/2015/05/03/chto-doljen-znat-idealnyiy-cpp-programmist-v-vakuume-8</link>
                <description><![CDATA[<p>4. Язык ассемблера x86, Зубков/Хайд/Дреппер/Касперски/Фог/Абраш, AT&T и Intel-синтаксис, masm32, макросы, стек, куча/менеджеры кучи, соглашения вызова, hex-коды, машинное представление данных, IEEE754, little/big endian, SIMD, аппаратные исключения, прерывания, виртуальная память, реверсинг, срыв стека и кучи, return oriented programming, alphanumeric shellcode, L1/L2/RAM/page fault и их тайминг<br />
5. Аппаратное обеспечение, Хоровиц-Хилл, полупроводниковая электроника/спинтроника/фотоника,&nbsp;транзистор,...</p>]]></description>
                <category>C++</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2015/05/03/chto-doljen-znat-idealnyiy-cpp-programmist-v-vakuume-8</guid>
                <pubDate>Sun, 03 May 2015 20:07:42 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Resharper C++, впечатления]]></title>
                <link>https://svistunov.dev/ru/blog/2015/04/20/resharper-c-vpechatleniya-7</link>
                <description><![CDATA[<p>Порадовала возможность настроить до мелочей Naming style для генерируемого кода и подсказок:</p>

<p>Не обошлось и без небольшой ложки дегтя. Resharper периодически зависал при регенерации кэша на моем проекте, пришлось отправить репорт вместе с архивом проекта в YouTrack. На удивление оперативно починили (в тот же вечер). Но есть положительная сторона:&nbsp;попутно...</p>]]></description>
                <category>C++</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2015/04/20/resharper-c-vpechatleniya-7</guid>
                <pubDate>Mon, 20 Apr 2015 10:39:31 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Ссылки на разные open source проекты на C++]]></title>
                <link>https://svistunov.dev/ru/blog/2015/04/12/ssyilki-na-raznyie-open-source-proektyi-na-c--6/</link>
                <description><![CDATA[<p>InfraRecorder - CD/DVD burning solution for Microsoft Windows.<br />
Автор программы  - Christian Kindahl, он также написал кросс-платформенную библиотеку ckCore.Код у него очень чистый, GUI, также как в Image Uploader, написан с использованием библиотеки WTL. Не секрет, что идея начальной страницы (welcome page) для Image Uploader-a у меня возникла после&nbsp;использования...</p>]]></description>
                <category>C++</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2015/04/12/ssyilki-na-raznyie-open-source-proektyi-na-c--6/</guid>
                <pubDate>Sun, 12 Apr 2015 01:14:19 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Распространение Windows приложений в Linux (Wine) при помощи InnoSetup]]></title>
                <link>https://svistunov.dev/ru/blog/2015/03/28/rasprostranenie-windows-prilojeniy-v-linux-wine-pri-pomoschi-innosetup-5</link>
                <description><![CDATA[<p>The IsWine function returns true, if the installer is launched under Wine. My application (Image Uploader) is extensively using Microsoft Gdi+ library, but Wine's implementation of this library is incomplete, so I had no other choice but to install the native version of gdiplus.dll. The important thing is to&nbsp;tell...</p>]]></description>
                <category>C++</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2015/03/28/rasprostranenie-windows-prilojeniy-v-linux-wine-pri-pomoschi-innosetup-5</guid>
                <pubDate>Sat, 28 Mar 2015 14:20:59 +0300</pubDate>
            </item>
                    <item>
                <title><![CDATA[Маленький плагин для поддержки Kohana в PHPStorm]]></title>
                <link>https://svistunov.dev/ru/blog/2014/03/19/malenkiy-plagin-dlya-podderjki-kohana-v-phpstorm-2</link>
                <description><![CDATA[<p>Переход к экшену по URL:</p>

<p>Для того, чтобы эта фича работала, нужно добавить следующий код в bootstrap.php<br />
if ( !empty( $_GET['ks_secret_key'] ) && ($_SERVER['REMOTE_ADDR'] == '127.0.0.1'<br />
|| $_GET['ks_secret_key'] == 'your Secret Key' ) ){<br />
$req = Request::factory();<br />
die( 'KS;1;'.$req->directory().';'.$req->controller() .';'.$req->action() );<br />
}<br />
Для старых версий Kohana:<br />
if ( (&nbsp;!empty(...</p>]]></description>
                <category>PHP</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2014/03/19/malenkiy-plagin-dlya-podderjki-kohana-v-phpstorm-2</guid>
                <pubDate>Wed, 19 Mar 2014 22:45:54 +0400</pubDate>
            </item>
                    <item>
                <title><![CDATA[Создание плагина разрешения ссылок для PhpStorm (IntelliJ IDEA)]]></title>
                <link>https://svistunov.dev/ru/blog/2012/12/08/sozdanie-plagina-razresheniya-ssyilok-dlya-phpstorm-intellij-idea-4</link>
                <description><![CDATA[<p>Подготовка окружения<br />
Нам потребуются: — IntelliJ IDEA Community Edition или Ultimate. — JDK ( необходимо скачать версию, с которой собран PhpStorm, иначе плагин не запустится, в моем случае это была Java 1.6); Поскольку документация по созданию плагинов IDEA очень скудна, рекомендуется также обзавестись копией исходных кодов Intellij IDEA, и&nbsp;использовать...</p>]]></description>
                <category>Java</category>
                <author>Sergey Svistunov</author>
                <guid>https://svistunov.dev/ru/blog/2012/12/08/sozdanie-plagina-razresheniya-ssyilok-dlya-phpstorm-intellij-idea-4</guid>
                <pubDate>Sat, 08 Dec 2012 14:51:43 +0400</pubDate>
            </item>
            </channel>
</rss>
