среда, 21 апреля 2010 г.

[life.humour] Мы вам нальем виски онлайн, а вы нам отправите деньги по факсу…

…такой каламбур родился у меня в голове, когда я увидел название раздела на сайте производителя виски Jameson:

PS. На самом деле там видео, на котором какой-то эксперт проводит реальную дегустацию виски. Но крючок для цепляния внимания хороший – онлайн-дегустация – это вам не хухры-мухры :)

[prog.c++] Пример использования указателей на методы в C++

Пару дней назад на работе зашел разговор о том, как можно использовать указатели на методы в C++. Штука это специфическая и применяется мной не часто, реже чем указатели на функции. Да еще, как обычно, когда нужно вспомнить яркий пример чего-нибудь, память не подсказывает ничего путного. Поэтому не смог я тогда вспомнить хорошего и убедительного примера.

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

void
a_cp_service_t::do_all_periodic_actions()
   {
      measure_duration(
            m_monitors.m_avg_time_save_outgoing_pkg,
            this,
            &a_cp_service_t::handle_received_outgoing_packages );

      measure_duration(
            m_monitors.m_avg_time_handle_SR,
            this,
            &a_cp_service_t::handle_received_send_results );

      measure_duration(
            m_monitors.m_avg_time_handle_SR_pkg_ack,
            this,
            &a_cp_service_t::handle_received_SR_package_acks );

Где measure_duration – это очень простая функция-шаблон:

template< class T >
inline void
measure_duration(
   monitor_t & monitor,
   T * object,
   void (T::*method)() )
   {
      ACE_Time_Value s = ACE_OS::gettimeofday();
      (object->*method)();
      ACE_Time_Value f = ACE_OS::gettimeofday();

      monitor.add_time_slice( f - s );
   }

Т.е. указатели на методы в C++ позволили обойтись без определения каких-либо интерфейсов (к чему пришлось бы прибегнуть в Java), либо лямбда-функций-делегатов (C#/D/Scala), либо рефлексии (опять же Java, если интерфейсы не нравятся), либо макросов (если не знать, что такое указатели на методы в C++). А так все просто, прозрачно и эффективно.

вторник, 20 апреля 2010 г.

[prog.d] Язык D обзавелся плагином для Visual Studio

Плагин называется Visual D. Написан на D.

Впечатляет скриншот, который показывает отладку D-шного кода в Visual Studio:

Не могу удержаться, и не спошлить: осталось только нормальный компилятор сделать… :/

[work] Вакансии C++ разработчиков закрыты

Закрыл все вакансии C++ программистов в своей команде. Ура! Нас ждут великие дела! :)))

Еще бы хорошего технического писателя найти…

[prog.c++] Презентация Concurrency in the Real World от Энтони Уильямса

Энтони Уильямс (Anthony Williams, один из активных разработчиков C++0x и автор библиотеки just::thread) опубликовал слайды своего доклада Concurrency in the Real World с прошедшей недавно конференции ACCU 2010.

Это 56-ти страничная PDF-ка весом в 2.5Mb. Интересная в первую очередь 100% ориентацией на возможности C++0x. Но мне показалось, что для такого названия, материала и примеров в ней должно было бы быть побольше.

понедельник, 19 апреля 2010 г.

[work.humour] Дотуп к тестовому…

От клиента сегодня пришло письмо с просьбой уточнить параметры подключения к нашей тестовой системе. Заголовок письма начинался с “Дотуп к тестовому…”

Хорошее такое слово – дотуп. Актуальное :)

воскресенье, 18 апреля 2010 г.

[life.photo] Подводные фотографии Марины Кочетовой

В сегодняшнем выпуске рубрики “Знакомство с фотомастером” фотографии Марины Кочетовой.

Контакт

Знакомство с гигантом

"Гюльчатай, покажи личико!"

Краски моря

Китовая акула

портрет белухи

взгяд

..купаясь в солнечных лучах

Тянутся руки..

геометрия

Портрет креветки

Танцующая медуза

Летающая тарелка

Под сводами

С другими работами Марины Кочетовой можно познакомиться на photosight.ru и photoline.ru. Рекомендую это сделать, т.к. среди ее снимков есть очень приличные фотографии в жанрах “Пейзаж” и “Путешествия”.