<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-9195780587536140027</atom:id><lastBuildDate>Fri, 25 Oct 2024 09:15:28 +0000</lastBuildDate><category>программирование</category><category>cpp</category><category>цитаты</category><category>задачи</category><category>собеседования</category><category>gcc</category><category>грабли</category><category>linux</category><category>clang</category><category>ubuntu</category><category>shell</category><category>unix</category><category>тестирование</category><category>exceptions</category><category>ссылки</category><category>юзабилити</category><category>Ada</category><category>STL</category><category>алгоритмы</category><category>Qt</category><category>VC++</category><category>clearcase</category><category>vim</category><category>visual studio</category><category>оптимизация</category><category>IE</category><category>MDA</category><category>kaspersky</category><category>thunderbird</category><category>безопасность</category><category>всякое разное</category><category>документирование</category><category>яндекс</category><category>Firefox</category><category>GPL</category><category>OSS</category><category>UML</category><category>flex</category><category>fuse</category><category>gcov</category><category>googletest</category><category>grep</category><category>grub</category><category>javascript</category><category>memcheck</category><category>mutex</category><category>openssl</category><category>posix</category><category>suncc</category><category>valgrind</category><category>virtualbox</category><category>vmware</category><category>windows</category><category>графы</category><category>книги</category><category>переводы</category><category>синхронизация</category><category>сколково</category><category>шаблоны</category><title>Заметки Белого Рыцаря</title><description>— Откуда вы знаете, что я ненормальная? — спросила Алиса.&lt;br&gt;&#xa;— Потому что ты тут, — просто сказал Кот. — Иначе бы ты сюда не попала.</description><link>http://white-knight-is-alive.blogspot.com/</link><managingEditor>noreply@blogger.com (White Knight)</managingEditor><generator>Blogger</generator><openSearch:totalResults>111</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-8212780699123657341</guid><pubDate>Mon, 21 Mar 2016 11:09:00 +0000</pubDate><atom:updated>2016-03-22T15:25:39.638+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">clang</category><category domain="http://www.blogger.com/atom/ns#">cpp</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>CLang API: связь с реальным миром (clang-3.7)</title><atom:summary type="text">Попробуем теперь использовать получившуюся программу рисования диаграммы наследования с реальным кодом, т.е. взятым из реального мира. Вопрос в том, какой именно код взять? Лучший кандидат для проверки - наша программа рисования, testclang.cpp! Что может быть реальнее? :)


Напоминаю, что эксперименты с CLang API  я провожу на следующей конфигурации: 
SUSE Linux 3.12.39 x86_64 GNU/Linux
gcc </atom:summary><link>http://white-knight-is-alive.blogspot.com/2016/03/clang-api-clang-37.html</link><author>noreply@blogger.com (White Knight)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPN0F7rwJEc2aJBxMv_Db_1dfLUmNApzu1xcUIz8H1iq5XgqefvVZtZxD2jj036U2s_FARzcoZ9S_M-3fa9_n2s7QLn_eTcoywm26yT4gJJhYIGUUlG2SZPrQ8vsojb6y05o2XC3ijM-8/s72-c/ast-diag.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-8178405089482716258</guid><pubDate>Tue, 09 Feb 2016 21:34:00 +0000</pubDate><atom:updated>2016-03-21T10:09:13.175+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">clang</category><category domain="http://www.blogger.com/atom/ns#">cpp</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>CLang API: рисуем диаграмму наследования (clang-3.7)</title><atom:summary type="text">Попробуем использовать CLang API для чего-нибудь полезного, например, для рисования диаграммы наследования.
 
В Clang API уже есть подобный функционал - функция CXXRecordDecl::viewInheritance(). Функция viewInheritance рисует диаграмму наследования для заданного класса используя библиотеку GraphViz. Но делает она это не совсем так, как мне бы хотелось. Поэтому я попробую написать свою собственную</atom:summary><link>http://white-knight-is-alive.blogspot.com/2016/02/clang-api-clang-37.html</link><author>noreply@blogger.com (White Knight)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG1vGjZ_e9oBV6N104LaSQDZWLbUmtwI646JivVedA0VVArKm_L46pUAzCY9Kpfn454s4GmZlaWQPVuoEcCtrSLPjEKM5FCfvuIi6vfAwqoSloVIL_fXZk_MdjZh6SYbgXzPxe9UY3jIU/s72-c/f.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-6801721399942361780</guid><pubDate>Tue, 02 Feb 2016 22:57:00 +0000</pubDate><atom:updated>2016-03-21T10:07:34.662+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">clang</category><category domain="http://www.blogger.com/atom/ns#">cpp</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>CLang API: обход AST (clang-3.7)</title><atom:summary type="text">Попробуем теперь реализовать обход AST встроенными методами (по мотивам статьи &quot;How to write RecursiveASTVisitor based ASTFrontendActions&quot;). На мой взгляд, реализация этой задачи стала намного проще по сравнению с версией 2.8.



Предыдущая статья
CLang API: минимальный проект (clang-3.7)

Минимальный код

Как следует из текста статьи &quot;How to write RecursiveASTVisitor based ASTFrontendActions&quot;, </atom:summary><link>http://white-knight-is-alive.blogspot.com/2016/02/clang-api-ast-clang-37.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-936805659396700041</guid><pubDate>Wed, 20 Jan 2016 19:27:00 +0000</pubDate><atom:updated>2016-03-21T10:14:17.210+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">clang</category><category domain="http://www.blogger.com/atom/ns#">cpp</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>CLang API: минимальный проект (clang-3.7)</title><atom:summary type="text">После долгого перерыва я решил вернуться к попыткам использования clang API по нескольким причинам. Во-первых, clang API за это время продвинулся довольно далеко и стал &quot;мощнее&quot;, так что хочется попробовать новые версии. Во-вторых, в старых статьях используется более ранние версии clang, а мне регулярно задают вопросы типа &quot;почему у меня не компилируется/линкуется&quot;, поэтому хочется и обновить </atom:summary><link>http://white-knight-is-alive.blogspot.com/2016/01/clang-api_20.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-7307696588722696315</guid><pubDate>Fri, 23 Aug 2013 14:09:00 +0000</pubDate><atom:updated>2013-08-23T18:11:35.271+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">программирование</category><category domain="http://www.blogger.com/atom/ns#">ссылки</category><category domain="http://www.blogger.com/atom/ns#">цитаты</category><category domain="http://www.blogger.com/atom/ns#">юзабилити</category><title>Цитата: Купер</title><atom:summary type="text">
Примечательная статья на Хабре про то, как дети не умеют пользоваться компьютерами, и про то, что это (почему-то) должно нас беспокоить. Это крик души человека, которого достали тупые пользователи, не умеющие настроить браузер для работы через прокси-сервер, а он один тут в белой тунике стоит. Напоминает анекдот про сантехника&amp;nbsp;&amp;mdash; &quot;Учись! А то так и будешь всю жизнь ключи подавать.&quot;
Всё</atom:summary><link>http://white-knight-is-alive.blogspot.com/2013/08/blog-post.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-8999905733597013183</guid><pubDate>Wed, 14 Aug 2013 11:13:00 +0000</pubDate><atom:updated>2013-08-14T15:13:28.619+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><category domain="http://www.blogger.com/atom/ns#">virtualbox</category><category domain="http://www.blogger.com/atom/ns#">ссылки</category><title>Оптимизация Ubuntu под VirtualBox</title><atom:summary type="text">
Статья на askubuntu.com о том, как повысить производительность Ubuntu при работе в VirtualBox.

How to improve performance of VirtualBox when UNITY_LOW_GFX_MODE is not working?


</atom:summary><link>http://white-knight-is-alive.blogspot.com/2013/08/ubuntu-virtualbox.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-2538131022555792143</guid><pubDate>Tue, 11 Jun 2013 09:28:00 +0000</pubDate><atom:updated>2016-03-21T09:44:17.079+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cpp</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><category domain="http://www.blogger.com/atom/ns#">ссылки</category><title>Десять очень полезных возможностей C++11</title><atom:summary type="text">
Хорошая статья на Хабре: Десять возможностей C++11, которые должен использовать каждый C++ разработчик. Название, правда, слегка преувеличенное, хотя менее полезной статья от этого не становится.
В статье обсуждаются такие возможности как:

auto
nullptr
range-based циклы
override и final
строго-типизированный enum
интеллектуальные указатели
лямбды
non-member begin() и end()
static_assert и </atom:summary><link>http://white-knight-is-alive.blogspot.com/2013/06/c11.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-5535911050373871220</guid><pubDate>Tue, 05 Jun 2012 18:43:00 +0000</pubDate><atom:updated>2012-06-06T15:21:38.209+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">алгоритмы</category><category domain="http://www.blogger.com/atom/ns#">задачи</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>String Similarity</title><atom:summary type="text">Очень долго долбался с задачей &quot;String Similarity&quot; с сайта InterviewStreet. И так, и эдак ковырял, но удавалось уложиться только в 8 тестов из 10. 

А на самом деле оказалось, что нужно просто применить Z-функцию. Мда, пошел читать букварь... Кстати, не могу найти английское название Z-функции. Если кто знает, напишите, плз.

З.Ы. На Хабре можно почитать хороший разбор алгоритмов поиска подстрок.</atom:summary><link>http://white-knight-is-alive.blogspot.com/2012/06/string-similarity.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-4499699915391158748</guid><pubDate>Mon, 23 Apr 2012 17:07:00 +0000</pubDate><atom:updated>2012-04-23T21:07:01.134+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">цитаты</category><category domain="http://www.blogger.com/atom/ns#">юзабилити</category><title>Цитата: Линдхольм</title><atom:summary type="text">Взято отсюда. На языке оригинала цитата звучит лучше, чем в переводе, поэтому оставляю как есть.

Most companies (including web startups) are looking to “wow” with their products, when in reality what they should be looking for is an ‘of course’ reaction from their users. Christian Lindholm, Chief Innovation Officer at Fjord

В двух словах смысл следующий: хорошо спроектированный продукт в первую</atom:summary><link>http://white-knight-is-alive.blogspot.com/2012/04/blog-post_23.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-6711828836262706950</guid><pubDate>Tue, 17 Apr 2012 10:31:00 +0000</pubDate><atom:updated>2012-04-17T14:31:11.835+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">googletest</category><category domain="http://www.blogger.com/atom/ns#">visual studio</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><category domain="http://www.blogger.com/atom/ns#">тестирование</category><title>Visual Studio и googletest</title><atom:summary type="text">В инете довольно много вопросов типа &quot;как перенаправить вывод googletest с консоли в окно VS Output&quot; от людей, которые пытаются подружить Visual Studio и googletest. Советы им дают самые разные, например, использовать PostBuildEvent или установить какой-нибудь плагин к Студии.

Хотя на мой взгляд самый удобный (гибкий, масштабируемый, переносимый) способ - это создать свою реализацию класса </atom:summary><link>http://white-knight-is-alive.blogspot.com/2012/04/visual-studio-googletest.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-3160301390317369993</guid><pubDate>Fri, 06 Apr 2012 14:29:00 +0000</pubDate><atom:updated>2012-04-06T18:29:59.925+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">задачи</category><category domain="http://www.blogger.com/atom/ns#">оптимизация</category><category domain="http://www.blogger.com/atom/ns#">собеседования</category><title>Задачи на собеседованиях: оптимизация</title><atom:summary type="text">Часто встречающаяся задача на оптимизацию.

Есть два шарика и небоскрёб в 100 этажей. Если бросать шарики из окон небоскрёба, то начиная с какого-то этажа они будут разбиваться вдребезги (и после этого разбившийся шарик уже нельзя будет использовать). Нужно предложить алгоритм, который поможет найти этот роковой этаж за оптимальное число итераций. Шарики не обязательно сохранять целыми к концу </atom:summary><link>http://white-knight-is-alive.blogspot.com/2012/04/blog-post.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-8575531038446356625</guid><pubDate>Mon, 26 Mar 2012 12:27:00 +0000</pubDate><atom:updated>2012-03-26T16:27:46.673+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">mutex</category><category domain="http://www.blogger.com/atom/ns#">posix</category><category domain="http://www.blogger.com/atom/ns#">windows</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>Проблемы переносимости: mutex</title><atom:summary type="text">О проблемах переносимости приложений с использованием мьютексов. Мьютексы есть и в Windows и в POSIX, только работают они по-разному. 

В Windows мьютексы позволяют выполнять рекурсивные локи из одного и того же потока без каких-либо deadlock&#39;ов. В этом случае просто инкрементируется счетчик рекурсивных локов. Соответственно, чтобы освободить мьютекс для других потоков нужно будет столько же раз </atom:summary><link>http://white-knight-is-alive.blogspot.com/2012/03/mutex.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-567963291217939043</guid><pubDate>Mon, 19 Mar 2012 18:21:00 +0000</pubDate><atom:updated>2012-03-19T22:21:00.379+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">цитаты</category><title>Цитата: Фридман</title><atom:summary type="text">Девочки, когда мне было столько лет, сколько вам, мои родители говорили: &quot;Том, доедай свой завтрак - люди в Китае и Индии умирают с голоду&quot;. А сегодня я говорю вам: &quot;Девочки, доделывайте ваше домашнее задание&amp;nbsp;&amp;mdash; люди в Китае и Индии умирают от желания получить вашу работу&quot;.
В современном Китае Билл Гейтс&amp;nbsp;&amp;mdash; это Бритни Спирс. В современной Америке Бритни Спирс&amp;nbsp;&amp;mdash; это </atom:summary><link>http://white-knight-is-alive.blogspot.com/2012/03/blog-post_19.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-8898994003919360931</guid><pubDate>Sun, 11 Mar 2012 07:08:00 +0000</pubDate><atom:updated>2012-03-15T16:24:24.850+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">memcheck</category><category domain="http://www.blogger.com/atom/ns#">valgrind</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>Бесплатная альтернатива valgrind под Windows</title><atom:summary type="text">Бесплатная утилита с функциональностью memcheck&amp;nbsp;&amp;mdash; Dr.Memory. Я давно такую искал, наконец-то она появилась.

Работает под Windows и Linux. Запускается из консоли, довольно легко настраивается (например, на отсеивание ненужных срабатываний). Отслеживает утечки памяти, неправильное освобожение, чтение/запись в &quot;неправильные&quot; области и т.п. 

При этом позиционируется как самый быстрый, </atom:summary><link>http://white-knight-is-alive.blogspot.com/2012/03/valgrind-windows.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-898749346772103054</guid><pubDate>Tue, 06 Mar 2012 13:58:00 +0000</pubDate><atom:updated>2012-04-26T16:15:21.673+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VC++</category><category domain="http://www.blogger.com/atom/ns#">visual studio</category><category domain="http://www.blogger.com/atom/ns#">грабли</category><title>Шовинизм от Майкрософт</title><atom:summary type="text">Помню давным-давно в далекой далекой галактике в MS Visual C++ 6 был пункт меню &quot;Generate Makefile&quot;, который делал возможным сборку C++-проектов без запуска IDE. Правда, Makefile использовал какие-то свои правила только частично похожие на обычные posixсовые, и вместо make был NMAKE. Но это мелочи.
Недавно обнаружил, что MS на этом не остановилась. Сейчас в VC++ 2010 еще пока есть NMAKE, но </atom:summary><link>http://white-knight-is-alive.blogspot.com/2012/03/blog-post.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-6379265798726022559</guid><pubDate>Mon, 26 Dec 2011 14:31:00 +0000</pubDate><atom:updated>2011-12-26T18:31:54.416+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>Как получить системную строку форматирования времени</title><atom:summary type="text">Получение системной строки форматирования даты и/или времени:

В Linux:

char *nl_langinfo(nl_item item);

в параметре item задать значения D_T_FMT, D_FMT или T_FMT.

В Windows:

int GetLocaleInfo(
&amp;nbsp;&amp;nbsp;__in   LCID Locale,
&amp;nbsp;&amp;nbsp;__in   LCTYPE LCType,
&amp;nbsp;&amp;nbsp;__out  LPTSTR lpLCData,
&amp;nbsp;&amp;nbsp;__in   int cchData);

в параметре LCType задать значения LOCALE_SSHORTDATE, </atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/12/blog-post.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-3680337699032621502</guid><pubDate>Tue, 20 Dec 2011 09:51:00 +0000</pubDate><atom:updated>2011-12-20T13:52:58.686+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">задачи</category><category domain="http://www.blogger.com/atom/ns#">собеседования</category><category domain="http://www.blogger.com/atom/ns#">яндекс</category><title>Code @ C++: Find sum of elements in the array</title><atom:summary type="text">Code @ C++: Find sum of elements in the array: Наткнулся на задачу, которую предлагают в Yandex на собеседовании:  Ниже приведены три варианта суммирования чисел с плавающей точкой (предполагается, что числа в массиве только положительные)...</atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/12/code-c-find-sum-of-elements-in-array.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-7045793835887755654</guid><pubDate>Fri, 21 Oct 2011 05:30:00 +0000</pubDate><atom:updated>2011-10-21T09:30:14.753+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>Как вернуться к интерфейсу Gnome Classic в Ubuntu 11.10</title><atom:summary type="text">Новый интерфейс Ubuntu мне очень нравится, и он даже работает в режиме интеграции дисплея на VirtualBox. Но всё же на VirtualBox новый интерфейс подтормаживает, поэтому я вынужден вернуться на старый добрый Gnome Classic:

Установить пакет gnome-session-fallback: sudo apt-get install gnome-session-fallback
Выйти из текущей сессии (log out)
На экране ввода пароля нужно в Настройках выбрать тип </atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/10/gnome-classic-ubuntu-1110.html</link><author>noreply@blogger.com (White Knight)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRspZEG72ny8Me5ZZJTrx6HWpUcItTtqmffWAOJyjDGRNP2lhc0h10GBP1QcJWWvT3mWTDSxnsrB1hx6kHIdLIeJK_iPOTB7LQvnVAmFqCaRdlaY94iYsD8KEctgJyPoEgh7b6RFN1UFuq/s72-c/login-screen-gnome-classic.png" height="72" width="72"/><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-5620468272263546906</guid><pubDate>Mon, 19 Sep 2011 07:59:00 +0000</pubDate><atom:updated>2011-09-19T11:59:00.596+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">openssl</category><category domain="http://www.blogger.com/atom/ns#">грабли</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>Выключение компрессии в OpenSSL 0.9.8</title><atom:summary type="text">В OpenSSL реализована встроенная поддержка zlib и по умолчанию включена компрессия пересылаемых пакетов данных. Причем при сжатии очередного пакета используется информация об уже сжатых и отосланых пакетах. Например, если вы отсылаете три одинаковых пакета по 400 байт, и первый пакет сжимается до 275 байт, то второй и третий пакеты в сжатом виде займут всего по 12 байт. Такой подход очень </atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/09/openssl-098.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-8567618921464844361</guid><pubDate>Mon, 12 Sep 2011 05:57:00 +0000</pubDate><atom:updated>2011-09-12T09:57:00.624+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">flex</category><category domain="http://www.blogger.com/atom/ns#">грабли</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>Этот загадочный SecurityError (Flex 3)</title><atom:summary type="text">После очередной порции изменений моё Flash-приложение, загруженное на сервер, перестало работать. То есть не совсем перестало, потому что по click-событиям выполнялось то, что нужно, но визуальные элементы вообще перестали хоть как-то отображаться&amp;nbsp;&amp;mdash; кнопки не хайлайтились, текст не скроллился, картинки не отображались... Сложилось такое ощущение, что перестали обрабатываться сообщения,</atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/09/securityerror-flex-3.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-1538369368282794299</guid><pubDate>Mon, 05 Sep 2011 06:46:00 +0000</pubDate><atom:updated>2011-09-05T11:56:36.790+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">безопасность</category><title>Выбор реализации DTLS</title><atom:summary type="text">Как мне удалось выяснить, использование протокола DTLS для защиты UDP трафика требует минимальных трудозатрат при максимальной эффективности. К тому же еще и является платформонезависимым. В общем, встал вопрос о выборе существующей реализации этого протокола для использования в проекте. 

К сожалению, удалось найти только три библиотеки, поддерживающие DTLS, и это при том, что протокол TSL, </atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/09/dtls.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-5356226000955897929</guid><pubDate>Thu, 25 Aug 2011 12:05:00 +0000</pubDate><atom:updated>2016-03-21T09:44:29.774+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cpp</category><category domain="http://www.blogger.com/atom/ns#">программирование</category><title>Наши герои</title><atom:summary type="text">Мейерс, Александреску и Саттер дают интервью Channel 9. Рассуждают на тему C++, D, международных стандартов и вообще о программировании.

ЗЫ. Что-то я не смог вставить сюда HTML5, так что вот iframe.

</atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/08/blog-post_25.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-3442830749436288966</guid><pubDate>Tue, 23 Aug 2011 07:00:00 +0000</pubDate><atom:updated>2011-08-23T11:00:27.311+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">безопасность</category><title>Безопасность UDP трафика</title><atom:summary type="text">Столкнулся с проблемой защиты UDP трафика в приложении. Оказалось, что  вариантов не так уж много.

1) Ipsec. Не нужно делать никаких изменений в коде. Вся настройка происходит на уровне операционой системы и маршрутизаторов. Недостатки: Вероятные проблемы с установкой и настройкой IPsec в системе. Нужен админ, который бы всё время администрировал IPsec на обоих концах. Кроме этого, IPsec скорее </atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/08/udp.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-3890441217588096325</guid><pubDate>Sat, 13 Aug 2011 08:05:00 +0000</pubDate><atom:updated>2016-03-21T09:44:41.334+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cpp</category><title>Саттер рапортует: Стандарт одобрен!</title><atom:summary type="text">Как сообщил Саттер новый Стандарт C++ был принят единогласно, и теперь он является полноценным Международным Стандартом. Если никаких проволочек не будет, мы имеем все шансы до конца года получить C++11. Ура, товарищи! :)</atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/08/blog-post_13.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9195780587536140027.post-1811088735106193992</guid><pubDate>Mon, 08 Aug 2011 11:29:00 +0000</pubDate><atom:updated>2011-08-08T15:29:00.656+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">цитаты</category><title>Цитаты: Берра</title><atom:summary type="text">В теории нет различия между теорией и практикой. На практике есть.Йоги Берра</atom:summary><link>http://white-knight-is-alive.blogspot.com/2011/08/blog-post.html</link><author>noreply@blogger.com (White Knight)</author><thr:total>0</thr:total></item></channel></rss>