
Вечер пятницы, я собираю вещи в привычную короткую командировку к заказчикам. Её отличает лишь новый маршрут: предстоит побывать в Осло и Стокгольме, плюс пересадка в Амстердаме. Я размышляю о том, какую валюту брать с собой. Представив у себя в кошельке салат из евро, норвежских и шведских крон, я понимаю: возиться с обменом валют мне надоело. В конце концов, Европа, цивилизация и всё такое. Решено: командировка будет безналичной! В посте заодно расскажу о нюансах платёжных карт и платёжных систем, о которых возможно не всем известно.
Итак, вооружившись дебетовой Visa Classic и резервом в евро на «чёрный день», я отправляюсь в дорогу.
Используй то, что под рукою, и не ищи себе другое...
Филеас Фогг
В условиях современного мира безопасность является одним из основополагающих факторов развития бизнеса. Это не требует лишних слов! Темой размышлений здесь может быть только размер инвестиций, которые бизнес готов вложить в построение и поддержание эффективной системы безопасности, гарантирующей защиту от возможных инцидентов.

Данный вопрос не имеет простого решения — ведь для выбора правильной стратегии по защите бизнеса необходимо провести детальный анализ, уточнить цели и выбрать правильный подход для их достижения. Как правило, наиболее оптимальным подходом для средних и крупных компаний будет поэтапное внедрение системы безопасности: начав с защиты наиболее критичных активов, постепенно расширять область, включая менее приоритетные. Большие дела начинаются с малого, и чтобы получить гарантию того, что система безопасности будет развиваться в правильном направлении и достигнет требуемого уровня зрелости к определенному сроку, необходимо уделить особое внимание самим процессам, призванным защищать компанию. Такими процессами являются управление инцидентами, рисками, управление непрерывностью, управление доступом, контроль изменений и многие другие. Если компания уделяет достаточно внимания правильности исполнения таких процессов, то проект по построению системы безопасности практически обречен на успех.

Всем привет.
Начитавшись и насмотревшись роликов и прочих промо-материалов для Photoshop CS6, ощутила недосказанность и решила потестировать самостоятельно.
Поскольку я не понимаю смысла создания специально подогнанных примеров для демонстрации новых возможностей, то и тестировать мы их будем на ежедневных потребностях, а именно:
1) Фотоманипуляции
2) Работа с интерфейсом (сайт и мобильное приложение)
3) Типографика
4) Создание иллюстраций и векторные фишки
UPD 1: Небольшое тестирование производительности и стабильности.
Итак, поехали.
19 апреля 2012, 16:31
125

Итак, вот они результаты нашего
последнего конкурса. Спасибо всем, кто принял участие.
В принципе, задачка была совсем не сложной (она такой и планировалась) и целых 56 человек с ней справились. Вот имена людей, которые сделали это первыми:
Под катом можно найти решение задачи и ссылки по теме.

Итак, дата выхода Diablo III уже отмечена красным в календаре, игровой класс выбран, напарники найдены, а на работе взят отпуск? Если единственное, чего не хватает для счастья — это лицензии на саму игру, то вот он шанс её получить. Мы разыгрываем 3 лицензии на Diablo III и получат их первые трое, кто напишет в твиттер сообщение с определённым текстом и хештегом — куда уж проще, правда? Удачи всем!
Ах да! «А что же писать?» — спросите вы? Текст сообщения и хештег легко можно получить с картинки под катом. Срок конкурса — 2 суток с момента публикации данного топика. Имена победителей будут опубликованы в пятницу, 13-го апреля.
Хуки — это технология перехвата вызовов функций в чужих процессах. Хуки, как и любая достаточно мощная технология, могут быть использованы как в благих целях (снифферы, аудио\видеограбберы, расширения функционала закрытого ПО, логирование, багфиксинг) так и со злым умыслом (трояны, кряки, кейлоггеры). О хуках уже не раз писали и
на Хабре и
не на Хабре. Но вот в чём беда — почему-то каждая статья о хуках буквально со второго абзаца начинает рассказывать о «таблице виртуальных функций», «архитектуре памяти» и предлагает к изучению огромные блоки ассемблерного кода. Известно, что каждая формула в тексте снижает количество читателей вдвое, а уж такие вещи — так и вовсе вчетверо. Поэтому нужна статья, которая расскажет о хуках просто. Под катом нет ассемблера, нет сложных терминов и буквально два десятка строк очень простого кода на С++. Если вы давно хотели изучить хуки, но не знали с чего начать — начните с этой статьи.

Итак, время для верного ответа на ранее опубликованную
задачку. Спасибо всем поучаствовавшим. Первым же комментарием к посту была вывешена вот эта
ссылка. Я, признаться, верил, что она появится не сразу и позволит чуть-чуть продлить интригу. Но Хабр есть Хабр и на каждую хитрую гайку тут найдется свой болт с левой резьбой — и это прекрасно, за то его и любим.
Однако не так был прост конкурс, чтобы его можно было выиграть одной лишь ссылкой на MSDN — там объясняются лишь знаки 1, 2, 3, 7 и 8. А вот что означают и чем друг от друга отличаются 4, 5 и 6 — в этом и была сама задача. К сожалению, многие посчитали первый комментарий верным ответом и отказались от дальнейшего участия. А зря. Прошу под кат.

Многие из вас, возможно, видели всякие загадочные знаки на полях. Нет, не те что на картинке слева :). Я имею в виду значки на полях редактора кода в Visual Studio. Наиболее известными являются иконки точки останова (Breakpoint)

и закладки (Bookmark)

. Но есть и другие. Я предлагаю небольшой конкурс: вот 8 значков, которые могут появиться на полях редактора кода в Visual Studio 2010 (без всяких плагинов). Первый, кто верно объяснит их все, получит от меня инвайт на Хабр.

Пишите ответы комментариями к этому топику, а у кого нету аккаунта на Хабре — пишите куда угодно и бросайте ссылку в твиттер с хештегом #VsMisterySigns — обещаю всё прочитать. Ответы удобно нумеровать в соответствии именам интовских переменных в коде. Срок приёма ответов — сутки с момента публикации. Объявление победителя — в течение суток по окончанию приёма ответов, развёрнутой статьей в этих же хабах.
P.S. Обратите внимание, №4 и №6 — это не глюк в задании, это разные значки, обозначающие разные вещи. Смотрите внимательно. Все претензии — к дизайнерам Visual Studio.
Upd.
Дискуссия в твиттере поактивнее комментов. Дерзайте, друзья, у всех есть шансы.
Upd2. Ставки сделаны, ставок больше нет.
Результаты.
Продолжая тему работы с Windows Installer, сегодня предлагаю поговорить о готовых инсталляторах, предоставляемых производителями ПО – для их обозначения широко применяется термин «vendor MSI».
Как вы помните из
прошлой статьи, Windows Installer является промышленным стандартом установочных файлов и используется в большинстве систем развертывания приложений. Vendor MSI очень удобны для системных администраторов, занимающихся развертыванием ПО в корпоративных сетях. Казалось бы, достаточно взять из документации установочные параметры, использовать их в командной строке или трансформе – и дело сделано. Всё ли так просто?
Предлагаю заглянуть внутрь нескольких vendor MSI и разобраться с их устройством.
Просматривая материалы конференции
GoingNative 2012 (которую всем программистам на С++ очень советую посмотреть), я обратил внимание на один пример кода:
#include <iostream>
struct S { int n; };
struct X { X(int) {} };
void f(void*) {
std::cerr << "Pointer!\n";
}
void f(X) {
std::cerr << "X! \n";
}
int main() {
f(S().n);
}
Сможете ли вы, не подглядывая в ответ, сказать, что напечатает эта программа и самое главное,
почему?
Под катом — предположение разработчика
Clang из Google о том, почему этот код работает так, как он работает. Еще раз, кто не уловил:
разработчик компилятора С++ из Google не знает этого точно, у него всего-лишь есть предположение.
21 февраля 2012, 12:08
60