Блог

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

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

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

Настройка прав доступа на базу данных

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

Почему-то под безопасностью базы данных подразумевается защита от вторжения извне, т.е. совершенное злостным хакером, напившимся бочкой пива :). Нет, такие взломы происходят слишком редко. Я работаю сейчас программистом в достаточно крупной конторе, и администратор вообще не задумывается о защите портов сервака, на котором открыто все, что угодно. На одном сервере крутится куча баз, программ и даже FTP сервер и за 5 лет его ни разу не взломали :). Благо я уломал этого админа установить WEB сервер на отдельное железо, а то если бы народ узнал IP адрес нашего главного сервера, то его любой ламер смог бы проскриптить. Ни база данных, ни Windows не патчились уже несколько лет.

Читать полный вариант статьи Разрешите войти или настройка прав доступа на базу данных

Введение в DirectX

Со времен, когда MS Windows еще не был операционной системой, а только надстройкой для MS DOS, в качестве программной основы для работы с графикой использовался интерфейс GDI. На то время это была действительно удачная технология, с помощью которой можно было работать с любой видеокартой. На платформе PC было слишком большое разнообразие видео чипов с различными возможностями, и GDI предоставлял универсальный способ доступа к видео функциям. Эта технология до сих пор используется в Windows, но в значительно переработанном виде.

Универсальность – это хорошо, но производительность видео оставляла желать лучшего. Когда я впервые увидел игру Doom, то поразился, почему игра может создавать сложнейшие сцены на компьютере с 386-м процессором, а Windows не может? Конечно же, разрешение игры ниже, но и сцены трехмерного мира намного сложнее. Производительность GDI это черепаха по сравнению с прямым доступом к памяти. Основная проблема GDI кроется в том, что ни одно приложение не может получить прямой доступ к видеокарте и видео буферу, иначе очень сложно будет реализовать многооконную систему, да и универсальность добавляет ложку дегтя и возможности хорошего видео чипа используются не на все 100%.

Читать статью полностью: Введение в DirectX

Нестандартное использование компонентов

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

Заинтересовался? Читай полную версию статьи в разделе избранного: Нестандартное использование компонентов

Введение в .NET 1.4. ООП

Мы уже немного затронули тему объектно-ориентированного программирования (ООП) в разделе 1.3.3 и выяснили, что такое класс. Сейчас нам предстоит познакомиться с ним более подробно. Язык С# является полностью объектным, поэтому понимание основных принципов этой технологии является обязательным для понимания материала книги и языка С#.

Основная задача ООП упростить и ускорить разработку программ и с этой задачей он великолепно справляется. Когда я впервые познакомился с этой технологией в С++, то первое время не мог её понять, но когда понял, то ощутил всю мощь и не представляю, как я жил раньше.

Читать полностью статью: Введение в .NET 1.4. Объектно-ориентированное программирование в C#

C vs Delphi

Уже долгое время идет борьба между двумя кланами С/С++ и Delphi. Каждый из них пытается доказать, что его язык кодинга лучше и что все должны кодить именно на нем. Сегодня мы решили провести эксперимент и посадить напротив друг друга по одному представителю из каждого клана и устроить битву титанов.

C++: Язык Си является стандартом, поэтому он существует практически во всех ОС, а Delphi только для Windows и Linux, и то Linux поддерживается только последними версиями. Старые ОС просто позабыты и позаброшены (проступают капли слез на глазах :)).

Delphi: Ничего, все еще впереди. Delphi - быстро развивающийся язык, и когда он получит должную распространенность, его варианты будут на всех ОС.

Полную статью читай на Hackish Code здесь: C vs Delphi

Demoscene

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

Здесь меня могут упрекнуть в искажении фактов, ведь даже в 80-е годы были компьютеры, которые могли воспроизводить достаточно качественный по сравнению с PC Speaker звук. Да, были платформы типа Amiga, которые также оказали на демо-сцену серьезное влияние, но мы рассматриваем именно PC-платформу, а она не была предназначена для игр и графики, и изначально здесь все ограничивалось ASCII-графикой и примитивным звуком.

Первые ролики создавали в основном крэкеры (взломщики программ) или профессиональные программисты (хакеры). Крэкеры создавали небольшие ролики, которые содержали информацию о самом крэкере или группе. Такие демо-ролики вставлялись во взломанные программы, и любой пользователь мог увидеть, благодаря кому программа стала бесплатной. Эти демо-ролики были максимально простыми, потому что основным их требованием было — минимальное количество места при максимальном эффекте (производительности и красоты). Именно крэкеров считают основателями культуры демо-сцены, по крайней мере на платформе PC.

Читать полную статью включая историю Demoscene

Введение в .NET 1.3 Простейший пример

Большинство мануалов и книг начинается с описания простого примера, который чаще всего называют Hallo World. Честно сказать, название не имеет особого значения, главное показать простоту создания проекта и при этом показать основы. Начинать с чего-то более сложного и интересного нет смысла, потому что программирование – занятие не из простых и необходимо рассказать очень многое.

В этой главе мы создадим простое приложение на двух языках – C++ и C# для платформы .NET. С помощью этих двух примеров мы рассмотрим основы новой платформы, а потом уже начнём усложнять задачу.

Читать статью полностью: Введение в .NET 1.3 Простейший пример

Сжатие исполняемых файлов

Самый простой способ уменьшить размер приложения — использование программы для сжатия файлов. Лично я очень люблю ASPack, которую вы можете скачать в Интернете по адресу http:/www.aspack.com или скопировать с компакт-диска из директории Programs (файл установки называется ASPack.exe). Она прекрасно сжимает исполняемые файлы *.exe и динамические библиотеки *.dll.

Запустите программу ASPack.exe и перед вами откроется окно приглашения к установке. Здесь достаточно выбрать путь, куда будут скопированы файлы, и нажать кнопку Next. Через пару секунд программа будет установлена на компьютере, и запуститься.

Резервное копирование сайта

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

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

О блоге

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

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

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

Пишите мне