Избавься от MFC ради размера

Следующий способ уменьшить размер программы заключается в ответе на вопрос: "Из-за чего программа, созданная в Visual C++, получается большой? " Ответ очень прост, С++ является объектным языком. В нем каждый элемент выглядит как объект, который обладает своими свойствами, методами и событиями. Любой объект вполне автономен и многое умеет делать без ваших указаний. Это значит, что вам нужно только подключить его к своей форме, изменить нужным образом свойства, и приложение готово! И оно будет работать без какого-либо прописывания его деятельности.

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

Знание - сила, но есть сила еще круче...

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

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

Стиль программирования

После статьи про нестандартное использование Delphi я наткнулся на блогеров, которые не поленились попинать в мою сторону. Да и в комменты пару раз писали. Смысл наезда прост – это плохой стиль. Интересно, а что они хотели увидеть в статье с таким названием? Это не стандартное использование компонентов, а значит, будет описано не стандартное программирование, которое нельзя применять каждый день. Это очень плохой стиль программирования, но иногда он необходим. Иногда это приносит реальную пользу.

Например, один блоггер написал: «Я понимаю, что иногда это будет полезно, но такие случаи очень-очень редки. А новички, прочтя подобную статью, будут именно так и поступать». Человек понимает и соглашается, что такие случае есть, и иногда необходимо пользоваться плохими приемами. А то, что новички могут использовать мои методы не там, не говорит о том, что нам теперь, нельзя вообще писать об этом? Я описываю нестандартные методы, но не призываю их лепить везде подряд, а только в случаях крайней необходимости, которые существуют.

Компьютеры портят кино

Заметку на эту тему я пишу уже во второй раз, потому что первый вариант потерялся из-за проблем с коннектом. Как назло, последнюю резервную копию базы я делал в пятницу вечером, а данную заметку написал в субботу. Так как два раза написать одно и то же нереально, то это будет что-то похожее на то, что я уже написал, но в то же время, что-то новое. А на будущее, я постараюсь быть аккуратнее и не терять свои мысли.

Итак, сегодня я хочу поговорить о фильме «Путешествие к центру земли», который я недавно посмотрел в кинотеатре. Я люблю компьютерные эффекты, и люблю фильмы с красивыми съемками, но в данном случае, я считаю, что компьютерные эффекты испортили фильм. Нет, они вполне хорошие и вполне качественные, но им уделили слишком большое внимание, даже излишнее, а игра актеров оказалась на втором плане и далека от идеала.

Единственный, кто отыграл на все сто процентов – мой любимый Брендан Фрейзер. Он просто идеален и единственный из актеров, кто играл из трех главных героев. Второй из главных героев Анита Брием играла намного хуже, но там, где она играла плохо, можно было с удовольствием наблюдать за ее прекрасными формами и милым личиком. А что поделаешь, если я мужчина, и люблю красоту и восхищаюсь ею, особенно женской красотой. Имею право, тем более что жена сидела рядом и наслаждалась фильмом. Надеюсь, что именно фильмом, а не Бренданом Фрейзером :).

Linux глазами хакера 2-е издание

Linux глазами хакера 2-е издание появилось!!! Я не думаю, что она реально есть в продаже, скорее она появится через неделю, но заказать уже можно. Во втором издании я исправил косяки, добавил диск с документацией и обновил информацию с учетом современных реалий.

Рассмотрены вопросы настройки ОС Linux на максимальную производительность и безопасность. Описано базовое администрирование и управление доступом, настройка Firewall, файлообменный сервер, WEB-, FTP- и Proxy-серверы, программы для доставки электронной почты, службы DNS, а также политика мониторинга системы и архивирование данных. Приведены потенциальные уязвимости, даны рекомендации по предотвращению возможных атак и показано, как действовать при атаке или взломе системы, чтобы максимально быстро восстановить ее работоспособность и предотвратить потерю данных. Во втором издании материал существенно переработан и дополнен новой информацией в соответствии с современными реалиями. На компакт диске находится дополнительная документация и программы в исходных кодах.

Простая, но страшная уязвимость - значения по умолчанию

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

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

Рецензия: Код Да Винчи

Сегодняшняя рецензия снова будет не о компьютерной книге, а о работе Дэна Брауна - книге Код Да Винчи. Раз уж пошла такая пьянка и при общении по книге Ангелы и Демоны мы все же затронули код, нужно высказать полноценное мнение. Тут реально раз сказал А, придется говорить и Б.

Итак, я сто лет не читал художественной литературы и в основном только компьютерную. Пусть не всю читаю полностью, но раньше я покупал много компьютерных книг. Когда я приехал в Питер, то заказал для жены здесь на books.ru Код Да Винчи. Заказ пришел как раз в тот момент, когда моя жена уехала в Ростов на целый месяц, а я со скуки решил почитать код. Не помню почему, но настроения работать не было. И кто знал, что меня так затянет и после этого я прочитаю все книги Брауна. Хотя нет, одна еще осталась не прочитанной. Не помню, как называется, но ее можно купить только через каталог Мир Книги и это самая старая и ужасная его работа (как я слышал).

Рабочее место программиста и бывшего писателя

Сегодня на одном из форумов увидел, как народ хвастается своими рабочими столами с компьютерами и ноутбуками и захотелось похвастаться своим. Хочу, но не могу, потому что у меня стола нет уже года 4 точно, с того момента, как я купил свой первый ноутбук Fujitsu-Siemens (будь проклят тот день, когда я сел за клавиатуру этого пылесоса) серии AMILO, кажется 6820. Бук этот уже умер и валяется в шифонере на будущие запчасти. С него уже снята клавиатура, и он лишился блока питания и он может быть только донором.

Что-то я ушел от темы. С тех пор, как я сел за ноутбуки, у меня нет рабочего стола. У меня была рабочая кровать, а сейчас рабочий диван, на котором я сижу/лежу или нахожусь в другой неестественной позе и работаю. С появленеим дома WiFi точки, я вообще перестал быть привязанным к определенному месту, но привычка лежать на диване с ноутбуком не отпала. Так что мне теперь фотографировать диван? Не очень эстетичное рабочее место! Недавно купил в IKEA журнальный столик и стал больше времени проводить на нем, но и его трудно назвать рабочим местом для фотографии. Единственное место, похожее на рабочее находится на работе. Вот его я могу показать:

Сервис ABBYY решил мою проблему запуска Lingvo 12

Я тут жаловался вам, что у меня в Windows Vista при старте падал Lingvo 12(смотри заметку Поддержка коммерческого софта, где я описывал проблему). Недавно появилась новость о том, что выходит новая версия Lingvo, но для данной 12-й версии патч так и не вышел. Я снова решил поинтересоваться у поддержки, собираются ли они исправлять недостаток? Ответа я ждал долго, точно не помню сколько, поэтому не буду врать. Ответ пришел неожиданный – мне предложили попробовать скачать и установить Lingvo x3. Я уже думал, что меня заставят снова покупать новую версию, но я скачал и проверил. Новый переводчик заработал нормально, о чем я сообщил поддержке.

Второй раз ответа я ждал меньше, но больше одного дня и слава компьютерному байту, что на этот раз меня не заставили покупать новый продукт, а решили мою проблему. Служба поддержки извинилась за неудобства, и я остался доволен, пусть и долгим, но все же решением проблемы. Самое интересное, что у моей жены точно такой же ноутбук с точно таким же Windows Vista и на нем ошибка исчезла сама, без обновления, хотя раньше она точно там была. Сейчас она доиграет в поселенцев на моем буке, и я проверю его. Попробую вернуть все в изначальное состояние и раскопать проблему более глубоко. Если удастся узнать, что все же было причиной сбоев в переводчике, то я обязательно сообщу.

Сага о потерянном времени

Много постов назад я писал о том, что игры отбирают наше драгоценное время, но они нужны, чтобы отдыхать. Я не играл уже лет пять, а последняя игра, которую я прошел была Luxor. До этого была RPG игра Vampire Masquerade. Я долго искал что-то тоящее и интересное, но как-то ничто не цепляло меня. Пару лет назад попытался поиграть в Готику II (Gothic II), и вроде бы игра меня зацепила, но прошло несколько дней и из-за отсутствия времени я бросил игру. Теперь аж жалко потраченных почти 400 рублей на лицензионный диск. Надо как-нибудь поиграть хоть немного.

Недавно услышал об игре The Settlers. Я еще тот стратег, и от хорошего варианта никогда не откажусь, а тут просто супер хвалебные отзывы и невозможно отказаться. Я посмотрел по инету и пришел к выводу, что нужно брать коллекционное издание за 700 рублей, потому что оно включает игру, дополнение и еще кучку приятных мелочей в красивой упаковке. Я так прикинул, и понял, что если игра мне понравится, то покупка окажется выгодной.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне