Если ты пишешь свою программу, которую собираешься продавать, то очень важно задуматься о ее интерфейсе. Программу, как и человека, встречают по одежке и если окна вызывают отвращение, а кнопки и меню приводят к конвульсии, то никто не заплатит даже доллара за такой труд. Хотя я видел преценденты, когда за ужасный интерфейс платили, и очень много. Но это уже из серии впаривания. Хороший, красивый и удобный продукт продать намного проще.
Как же сделать что-то привлекательное, чтобы пользователь потратил на ознакомление с программой хотя бы больше пяти минут? Нужно создать интерфейс красивым, удобным и интуитивно понятным, чтобы пользователю не приходилось думать о том, где найти ту или иную возможность. Я далеко не эксперт в этом деле, но постараюсь поделиться некоторым опытом и знаниями, которые успел получить.
Ты можешь прочитать полный вариант статьи про дизайн пользовательского интерфейса в программах здесь: Как правильно оформлять интерфейс своих программ
Вот тут писал про совершенный код и вспомнил, что была у меня статья про рефакторинг, а он относится у полировке, т.е. к улучшению существующего кода. Покапавшись в архивах я нашел эту статью и выкладываю для всеобщего юзания. Она будет интересна программистам, пишущим на любых языках и на сколько я помню, в статье будут примеры с Delphi, Visual Studio и JBuilder.
Что такое рефакторинг? Я видел достаточно много определений этому понятию, но все они сводяться к улучшению существующего кода. Если ты пишешь только идеальный код, который нужно улучшать только в тех случаях, когда он не работает, то сильно заблуждаешся. Улучшения нужны даже тогда, когда код работает вполне корректно. Для чего, когда и как нужно улучшать мы поговорим в этой статье.
Что можно улучшать в коде, который и так уже работает и выполняет возложенные на него функции? Если программу не планируется улучшать и добавлять новые возможности, то можно больше уже ничего не улучшать. Лучше даже удалить исходники, дабы не тытаться разбираться в бардаке или использовать его в будущем. Но если программа нужна не один день, то рефакторинг необходим.
Читать статью полностью: Рефакторинг – необходимость или мода?
Ты когда-нибудь задумывался, как воспроизводится звук? Нет, не на уровне железа. Все мы прекрасно знаем, что звуковая это преобразователь цифры в аналог и тут все достаточно просто. А вот что происходит на уровне софта? Давай рассмотрим самую перспективную библиотеку воспроизведения звука – DirectSound.
Звуковые карты бывают разные и возможности у них отличаются очень сильно. Так ESS может с приемлемым качеством воспроизводить и записывать звук, а Creative Sound Blaster Live 256 уже поддерживает полноценный четырех канальный звук с множеством эффектов, фильтров и 3D. Если написать прогу, которая будет воспроизводить звук через ESS, то она будет работать практически везде. Но если задействовать уникальные возможности определенного железа то где гарантия, что она будет работать и с другой железкой? Конечно же, гарантии нет, и проблем может быть по самый дисковод :). Именно поэтому должна быть какая-то библиотека, которая позволит использовать максимальное количество возможностей различных звуковух.
Читать статью полностью: Все, что необходимо знать про DirectSound
Репликация – это не просто новомодное слово, это совершенно удобный и мощный инструмент в правильно отшлифованных руках. Некоторые считают, что репликация – это синоним синхронизации. Если заглянуть в ABBYY Lingvo, то среди возможных переводов слова replication ты не увидишь синхронизации, зато будут такие слова как: эхо, отражение, дублирование, повторение, размножение... Эти слова хорошо отражают данную технологию и то, что мы будем рассматривать сегодня.
Чаще всего репликацию связывают с базами данных и мы в основном будем говорить о базах данных на примере MS SQL Server. Причем не только с классическими базами, но и такими специализированными, как Active Directory. Но на этом мир не перевернулся, репликацию можно удачно использовать и для простых файлов, главное правильный подход.
Не помню, публиковал я ранее где-то эту статью, но если ты не читал ее, то можешь сделать это сейчас: Репликация баз данных
Сегодня я выложил свою статью по планированию дискового пространства для баз данных. Хотя она написана давно, многие вещи не потеряли своей актуальности.
Задумываетесь ли вы о чем-то, когда создаете новую базу данных? Я думаю, что большинство скажет, что нет (если будет отвечать честно), потому что все мы используем параметры по умолчанию, а ведь они далеки от оптимальных. Одних только дисковых настроек целое море, а ведь они реально позволяют повысить надежность и производительность системы. Нет, мы не будем говорить, что для надежности данных в файловой системе нужно использовать NTFS, хотя имена эта файловая система позволяет MS SQL Server использовать диск максимально эффективно. Нас ждет более интересный и конкретный разговор.
Если не хватает ресурсов и что-то начинает работать медленно, то первое, что приходит в голову – наращивание ресурсов и апгрейд. Но ведь это необходимо далеко не всегда. Можно же обойтись и тюнингом, хотя этим нужно заниматься еще до того, как сервер начал тормозить, а на этапе проектирования и установки. Не надо дожидаться, когда грянет гром, чтобы креститься, ведь все можно сделать заранее.
Читать статью полностью Планирование дискового пространства для баз данных
Графическая система Windows долгое время основывалась на простейших возможностях GDI, которая плохо использует возможности оборудования и ограничивалась простыми функциями рисования. Из-за этих скудных возможностей и элементы управления были серыми, не в смысле цвета, а просто по жизни. Если использовать только стандартные возможности, то интерфейс получается скучным, а для чего-то более серьезного приходиться разрабатывать элементы управления самостоятельно. Исправить положение дел должен WPF (Windows Presentation Foundation), ранее известный как Avalon.
WPF (Windows Presentation Foundation) - это графическая подсистема нового поколения, которая появилась в составе .NET Framework и основана на XAML. Не смотря на то, что .NET создавалась независимой от платформы и должна бы работать на любой системе, WPF скорей всего не сможет жить в любой среде. Может, мы ошибаемся, но слишком сильно прослеживается связь с Windows и DirectX. Уже сейчас есть ограничения на используемую версию ОС Windows - Минимальным требованием является Windows XP SP2. В Windows XP и Windows 2003 требуется отдельная установка, в то время как в Windows Vista данная подсистема уже предоставлена.
Новая графическая система Windows Presentation Foundation позиционируется для создания пользовательских интерфейсов, 2D и 3D графики и т. д. Мощь WPF заключается в том, что 2D графика строится в векторном виде, а это значит, что интерфейсы будут максимально независимы от разрешения экрана и размера окна. Они будут легко масштабироваться без потери качества и быстро работать благодаря максимальному использованию возможностей современных графических ускорителей.
Громадно извиняюсь за все, что написано про Delphi 64. Я даже не обратил внимание на дату поста на блоге, который комментирвал, и спасибо тому, что заметил мою лажу. Дело в том, что отрывок про Delphi 64 был написан на основе заметки с чужого блога, а эта заметка была опубликована 1-го апреля. Я не знаю, шутка это или нет, но я на всякий случай убрал из статьи отрывок по Delphi 64. Еще раз извиняюсь. Впредь постараюсь быть внимательнее. Давно я так не попадался на первоапрельские шутки.
Сегодня выложил еще одну статью из своей класики, написанную уже давно и даже превращавшуюся в одну из частей книги. В ней я даю начальные знания о программировании на С/С++.
В этой статье я хотел бы дать вам базовые знания о программировании Win32 приложений на языке С/С++ в среде Visual Studio 2005. Описанный пример будет прекрасно работать и в более старых или новых версиях Visual Studio, но снимки окон, которые будут даны в статье сделаны именно в Visual Studio 2005.
Если у вас есть Visual Studio, то желательно запустить его, чтобы видеть результат собственными глазами. Итак, откройте проект CTest и посмотрите с правой стороны на панель Solution Explorer. Здесь расположено дерево, в котором по разделам разложено всё, что входит в проект. Моё дерево вы можете увидеть на рисунке выше, и у вас должно быть что-то подобное.
Наиболее сильно недооцененной и не понятой функцией в Windows Vista является User Account Control (UAC). А зря, это очень важная и полезная функция. Долгие годы пользователи были богами в своих системах и работали от имени учетной записи администратора. Так было в Windows 95, 98, ME и даже в 2000 и XP, когда все предупреждают, что это опасно для системы. В конкурирующих системах, например в ОС Linux, запрещено входить в графическую оболочку от имени администратора (root). Если необходимо выполнить действия от имени администратора, пользователь должен переключиться в консоли на учетную запись администратора, но запускать целую оболочку от администратора не нужно.
Компания Microsoft не стала вводить такой категорический запрет ради удобства пользователей и ради большого количества программ, которые могут потребовать выполнения привилегированных операций, но безопасность важнее, поэтому в Windows Vista для нашей защиты была внедрена User Account Control. Не советую ее отключать, ибо это реальная защита, и если какая-то программа не работает корректно с UAC, то это не Windows плохой, это программа не умеет работать в безопасном окружении и я бы не стал работать с такой программой ради собственной безопасности. Такое отношение есть в любой безопасной системе и теперь так есть и скорей всего будет в Windows.
То, что данные нужно защищать, понятно даже ежику в тумане. В особенности это касается баз данных, потому что в корпоративных хранилищах очень часто хранится вся жизнь фирмы. Но защищать нужно не только от хакеров, но и от особо одаренных чайников, которые своими нелепыми ручонками вечно удаляют не то, что нужно.
Во время установки MS SQL Server 7.0 и младше имя администратора по умолчанию выбиралось sa (System Administrator). Пароль можно было не указывать, и система абсолютно без проблем хавала что угодно. В этом MS как всегда выделялась, хотя на каждом углу весят плакаты, что нельзя устанавливать пустые пароли, особенно админским учетным записям.
Начиная с MS SQL Server 2000, установщик уже предупреждает о возможных проблемах, если не указать пароль. Наконец-то кто-то увидел надпись на заборе, что нельзя выбирать простые пароли, а пустой пароль это вообще пробоина в безопасности, как дыра в корпусе Титаника. С такими паролями тонут в первые же дни плаванья.
Читать полный вариант статьи Падение черного ястреба или как обеспечить безопасность данных