Шаблоны проектирования: структурные паттерны ч.1

В журнале PC Magazine опубликовали вторую и третью части моей статьи про классические паттерны проектирования. Первую часть я уже опубликовал здесь в виде скана, но этот формат не понравился большинству читателей - с картинок читать неудобно. Так что я решил остальные 2 статьи разделить на 4 части и опубликовать их тут в виде текста.
Напомню, [...]

Поддельные антивирусы

Раз Downadup начал скачивать на зараженные компы поддельные антивирусы, то наверняка скоро многим придется с ними столкнуться.
Да и вообще этот тип “вирусов”, которые притворяются антивирусами, сейчас очень распространен, так что я решил написать про симптомы заражения, про опасности таких поддельных вирусов и про свой опыт лечения одного компьютера, зараженного таким поддельным антивирусом.

Около месяца назад мне [...]

Потоки и память

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

Знай свою память

Очень часто бывает так, что какая-то программа занимает очень много места в памяти.
Например, не закрываешь Firefox час-другой и вот он уже 200-300Мб памяти отъел. Или запустил игру, а она уже на первом уровне занимает 1.5Гб.
Куда? Зачем? Надо ли этим программам столько памяти? Неизвестно.
Ответить на этот вопрос бывает непросто, даже если ты сам написал эту программу.
Но [...]

Мудрость предков

Читаю сейчас книгу Jon Bentley: More programming Pearls (на русском ее не нашёл). Это продолжение его книги Жемчужины программирования. Саму книгу не могу никому посоветовать, так как она мне не очень-то нравится - написана 20 лет назад и большинство проблем, рассматриваемых в книге, уже устарело.
Но есть в этой книге одна глава, которая мне понравилась - [...]

Вопросы и ответы: Conficker и 1 апреля

Сейчас в интернете бродит много слухов про то, что якобы первого апреля случится что-то страшное. Conficker (Downadup, Kido) начнет использовать новый алгоритм определения доменов для рассылки обновлений, поэтому многие придумывают всякие небылицы, вплоть до “конца интернета”. Некоторые товарищи даже советую не выходить в интернет 1-ого апреля.
Вчера наши парни опубликовали FAQ про это в блоге F-Secure, [...]

Модификация червя Downadup - W32.Downadup.C.

Помните червя Downadup (Konficker, Kido)? Думаете это уже дела давно минувших дней и про него можно забыть? Вы ошибаетесь.
Вначале марта авторы этого червя выпустили новую модификацию: W32.Downadup.C. В этой модификации авторы убрали код распространения червя, совсем убрали. Зато он стал гораздо умнее защищаться от обнаружения и получил новые защищенные возможности для распространения новых вирусов в [...]

Интервью с женщинами-программистами

Представляю вашему вниманию праздничное 8-ми мартовское интервью с женщинами-программистами. Основная идея интервью - разбить стереотипы, показать, что женщины-программисты есть и что они ничем не хуже мужчин-программистов.
Оказалось, что найти женщин-программистов в интернете не так просто. Они не любят публичности и не ведут профессиональных блогов. У них другие увлечения и не так уж и сильно желание выделиться [...]

2 признака кода с душком: убей его и лови всё молча

Знакомы ли вы с понятием “Код с душком”? Если нет, то коротко говоря - это плохой код. Термин был введен Мартином Фаулером в его книге Рефакторинг. Улучшение существующего кода и с тех пор очень активно используется в программерских кругах. Да и менеджерам, управляющим разработкой ПО, было бы неплохо знать признаки кода с душком, чтобы уметь [...]

Книги + программисты = деньги

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