| Всё для программиста |
| В среде .Net существует рекомендованный механизм сохранения параметров приложения для восстановления их при следующих запусках приложения. Другими словами конфигурационные файлы теперь можно без труда прочитать средствами .Net работая с ними по единой схеме. Вся радужная картина омрачается одним моментом, вы без труда можете прочитать или сохранить любое значение если вы знаете какой именно интерфейс нужно использовать в данный момент. В среде .Net их образовалось неприличное множество. Без предварительной подготовки данный материал не воспринимается на одном дыхании и требует дополнительной проработки для выбора оптимального механизма работы. Поэтому я привожу краткий обзор всех средств работы для желающих лучше ее использовать.
| | | | | | В настоящее время существует достаточно возможностей для создания разнообразных графических приложений на любительском и профессиональном уровне. Однако по-прежнему существует ряд задач, решение которых требует умения работать с видеосистемой на самом низком уровне. К таким задачам, в частности, относится создание драйверов или графических приложений. Разработчики собственных операционных систем и программ также иногда сталкиваются с необходимостью непосредственной работы с регистрами видеокарт. В этой книге кратко рассказывается о способах программирования современных видеоадаптеров. Основной упор сделан на правильном использовании возможностей оборудования, благодаря чему приложение сможет работать на любой видеокарте, т.е. будет переносимым. Совместимость видеокарт существовала не всегда. Были времена, когда приложения, работающие на одной видеокарте, не работали или работали медленно на другой. Решением стал стандарт VBE (VESA BIOS EXTENSION). Его окончательная третья версия вышла в 1998-ом году и с тех пор почти не изменялась. Оригинальный документ VESA vbe.pdf можно легко найти в сети интернет. Благодаря стандартизации появилась возможность создавать графические приложения, совместимые со всеми моделями видеокарт, соответствующих стандарту VBE. В первой части книги будет рассказано о программировании видеокарт в реальном и виртуальном режиме. Такие вопросы, как работа с цветом и рисунками, построение геометрических фигур, а так же работа с DAC-регистрами видеокарты рассматриваться не будут. Все это можно легко найти в соответствующей литературе.
| | | | | | На большинстве сайтов навигационное меню оформляется с помощью обычных текстовых ссылок. Во-первых, такие ссылки хорошо индексируются поисковиками, а во-вторых, это самый простой способ. Но что делать, когда дизайн требует нестандартного решения? В этой статье я поделюсь своим опытом и покажу на примере, как создать навигационное меню, используя изображения, но при этом сохранить.
| | | | | | Платформа 1С:Предприятие 8.0 и 8.1 продолжает завоевывать популярность как средство автоматизации деятельности предприятий. Даже возможностей базовых конфигураций зачастую достаточно для создания хорошей учетной системы предприятия. А расширяемость и настраиватемость 1С:Предприятия 8.х позволяют создавать очень сложные приложения, которые в состоянии удовлетворить любые требования к учетной системе.
| | | | | | В настоящее время разработано большое количество инструментальных средств, предназначенных для автоматизации поиска уязвимостей программ. В данной статье будут рассмотрены некоторые из них.
| | | | | | Многие предприятия, стремящиеся выйти на рынок электронной коммерции, уже имеют учетную систему, построенную на базе популярной платформы 1С:Предприятия 8.0, 8.1 или только выбирают платформу для создания такой учетной системы. Цель предлагаемой статьи - показать, какие возможности предоставляет 1С:Предприятие 8 для создания средств электронной коммерции.
| | | | | | По сути своей CMS - это инструмент для записи в базу данных всей информации о сайте. Все это должно содержаться в таблицах, и у администратора сайта должен быть удобный способ для ввода информации в таблицы, ее изменения или удаления. Если вы не писали программ на языке PHP с поддержкой MySQL, то лучше всего начать работу не на удаленном хосте, а на локальном. Скачайте с сайта http://www.denwer.ru/ дистрибутив "Денвер", установите его у себя на компьютере, и можете приступать к делу!
| | | | | | В наше время многие пользователи Интернета превращаются в его строителей. Насмотревшись на чужие сайты, простой интернетчик начинает задумываться и о собственном "офисе" в этом мегаполисе. Но как? В какой программе? На каком языке? Именно на последний вопрос даёт развёрнутый ответ эта статья.
| | | | | | Как правильно и грамотно написать возраст пользователя на PHP? Например, Сергей, 23 года или Вася, 18 лет. Это не такая уж и простая задача, как может показаться на первый взгляд.
| | | | | | В статье рассматривается проблема превышения сроков создания программ, как результат самообмана, что программирование это просто, и даже еще проще.
| | | | | | В настоящее время существует достаточно возможностей для создания разнообразных графических приложений на любительском и профессиональном уровне. Однако по-прежнему существует ряд задач, решение которых требует умения работать с видеосистемой на самом низком уровне. К таким задачам, в частности, относится создание драйверов или графических приложений. Разработчики собственных операционных систем и программ также иногда сталкиваются с необходимостью непосредственной работы с регистрами видеокарт. В этой книге кратко рассказывается о способах программирования современных видеоадаптеров. Основной упор сделан на правильном использовании возможностей оборудования, благодаря чему приложение сможет работать на любой видеокарте, т.е. будет переносимым.
| | | | | | Использование *.INI - файлов очень удобно и экономично. В данных файлах вы можете хранить настройки вашей программы (именно для этого они и существуют). Тем самым вы не будете захламлять системный реестр. Использовать *.INI - файлы можно и в других случаях, т.к. синтаксис очень прост и удобен в использовании.
| | | | | | В среде .Net существует рекомендованный механизм сохранения параметров приложения для восстановления их при следующих запусках приложения. Другими словами конфигурационные файлы теперь можно без труда прочитать средствами .Net работая с ними по единой схеме. Вся радужная картина омрачается одним моментом, вы без труда можете прочитать или сохранить любое значение если вы знаете какой именно интерфейс нужно использовать в данный момент. В среде .Net их образовалось неприличное множество. Без предварительной подготовки данный материал не воспринимается на одном дыхании и требует дополнительной проработки для выбора оптимального механизма работы. Поэтому я привожу краткий обзор всех средств работы для желающих лучше ее использовать.
| | | | | | Если вы используете собственные курсоры мыши для .Net компонент. Скорей всего вы сталкнетесь с ошибкой которую сгенерирует дизайнер форм при попытке добавить компоненту: Code generation for property 'Cursor' failed. Error was 'CursorConverter' is unable to convert 'System.Windows.Forms.Cursor'...
| | | | | | Немного поигравшись, пришел к реализации свойств в C++, которая обладает некоторыми преимуществами, по сравнению с известными мне реализациями: Свойства не требуют инициализации в конструкторах; Независимо от количества свойств, размер класса увеличивается на константу, связанную с выравниваем членов. У меня, например, на 4 байта.
| | | | | | Статья познакомит разработчиков прикладного программного обеспечения с задачами, которые ставит перед ним массовое внедрение многоядерных 64-битных вычислительных систем, знаменующих революционное увеличение вычислительной мощности, доступное рядовому пользователю. Будут рассмотрены вопросы эффективного использования аппаратных ресурсов для решения повседневных прикладных задач в рамках операционной системы Windows x64.
| | | | | | Дизассемблирование - неотъемлемая часть мира программирования, как археология, история в мире человеческом. И если второе прошло уже несколько этапов развития - от машинного кодирования до блочно- модульного в языках высокого уровня, а теперь перешло и на уровень системного программирования в визуал-языках, то первое до сих пор топчется на первом этапе. Ведь до сих пор вспоминают SOURSER. И в той же IDA PRO, которая считается лучшей, человеку до сих пор приходится решать элементарные задачи - в ручную определять, где байты, а где коды. А ведь пора бы перейти и на блочно-модульное дизассемблирование с выходом на тексты языка высокого уровня. Причиной топтания на месте считаю неудачную идеологию дизассемблирования (линейную) в этих, да и других дизассемблерах тоже. Представляя свой дизассемблер RD16.exe, пытаюсь продемонстрировать и новую идеологию дизассемблирования (мозаичную), которая позволяет более эффективно и более качественно решать те же задачи. Полагаю, что и перспектива развития дизассемблирования открывается иная.
| | | | | | Недавно я прочитал одну статью посвященную экспорту таблиц Paradox в MSWord. Статья вроде бы ничего, но есть одно но, там было описано как вывести только одну конкретную запись из таблицы. Меня это не устраивало (к этому времени я работал над проектом ResCompany) - код на две страницы, а выводит всего лишь одну запись и то надо указать какую. Ну вот очередная пища для "серого вещества" - как сделать так, чтобы вывести все записи таблицы в документ MSWord.
| | | | | | Новый Internet Explorer 8 (IE8) принес с собой одно приятное нововведение, призванное, как когда-то это сделал XMLHttpRequest, облегчить жизнь программистам и дать бОльшие возможности для взаимодействия с пользователем. Новой "фишкой" восьмой версии IE8 является интерфейс XDomainRequest (IHTMLXDomainRequest), с помощью которого, в отличие от XMLHttpRequest, можно делать запросы к различным доменам.
| | | | | | Стандарт MIME определяет 2 метода кодирования - Quoted Printable и Base64. Однако, часто программы поддерживают только один тип кодирования, обычно метод Quoted Printable, поэтому Вы можете быть вынуждены использовать именно его. Например, популярные почтовый сервис GMail неверно отображает темы закодированные Base64.
| | | | | | В статье рассмотрен ряд вопросов связанных с тестированием 64-битного программного обеспечения. Обозначены сложности, с которыми может столкнуться разработчик ресурсоемких 64-битных приложений, и пути их преодоления.
| | | | | | Хотя история развития 64-битных систем составляет более десятилетия, появление 64-битных версий операционной системы Windows поставило перед разработчиками новые задачи в области разработки и тестирования программных решений. В статье рассмотрены некоторые ошибки связанные с разработкой 64-битного Си/Си++ кода под операционную систему Windows. Объяснены причины, по которым данные ошибки не нашли отражения в статьях, посвященных задачам миграции и неудовлетворительно выявляются большинством статических анализаторов.
| | | | | | История развития 64-битных программных систем не нова и составляет уже более десятилетия [1]. В 1991 году был выпущен первый 64-битный микропроцессор MIPS R4000 [2, 3]. С тех пор в форумах и статьях возникали дискуссии, посвященные переносу программ на 64-битные системы. Началось обсуждение проблем, связанных с разработкой 64-битных программ на языке Си. Обсуждались вопросы о том, какая модель данных лучше, что такое
| | | | | | Рассмотрены программные ошибки, проявляющие себя при переносе Си++ - кода с 32-битных платформ на 64-битные платформы. Приведены примеры некорректного кода и способы его исправления. Перечислены методики и средства анализа кода, позволяющие диагностировать обсуждаемые ошибки.
| | | | | | Существует множество способов применения таких механизмов, как листы рассылки: от сообщений пользователям об обновлениях вашего сайта до информирования заинтересованных людей об изменениях, осуществленных вами в процессе работы над некоторым проектом. Однако поддержка такого сложного механизма, как список рассылки, вручную, без соответствующих программных решений, может представлять собой достаточно трудоемкий процесс. В то же время, разработка скриптов, позволяющих вам легко администрировать лист рассылки любой сложности, а посетителям без вашего участия подписываться или отписываться от тех или иных новостей, не является неразрешимой задачей даже для неискушенного в Internet-программировании человека. Наиболее простым решением данной задачи, на мой взгляд, является разработка соответствующих скриптов на языке PHP, поскольку поддержка данного языка входит в комплект услуг практически любой компании, предоставляющей услуги хостинга. С помощью PHP у вас появится возможность разрабатывать полнофункциональные приложения, доступ к которым может быть осуществлен из любой точки земного шара посредством Internet. Конечно, существует множество приложений, способных предоставить вам все необходимые функции для управления листами рассылок, однако все они (если не считать необходимость оплаты их приобретения) обладают следующими недостатком: вы не сможете на 100% настроить работу приложения так, как вам хотелось бы. Всегда вы будете чем-нибудь недовольны. А разработка собственных PHP-скриптов обеспечит вам гарантию того, что в любой момент можно будет модифицировать существующий механизм листа рассылки.
| | | | | | По статистике, около 90% пользователей в наши дни пользуются Internet Explorer (5-й или 6-й версией). В этих браузерах Flash, как правило, уже установлен (если же нет, то, при наличии Интернет-соединения, установить его - дело пары минут). Тем не менее, если вам нужно на 100% быть уверенным в том, что у пользователя всё будет работать "правильно", даже если у него не установлена примочка Flash, нужно определять наличие примочки, и, в зависимости от этого, показывать Flash страничку, или контент, не сожержащий Flash.
| | | | | | Портативные компьютеры становятся всё популярнее, а применяемые в них технологии всё совершеннее. Да и цена на такие устройства заметно упала. Особенно интересен факт появления таких устройств на рынке мобильной связи. Наличие доступа в Интернет делает возможным создание очень широкого круга приложений, от telnet клиента до полноценных многопользовательских игр. Портативные компьютеры становятся всё популярнее, а применяемые в них технологии всё совершеннее. Да и цена на такие устройства заметно упала. Особенно интересен факт появления таких устройств на рынке мобильной связи. Наличие доступа в Интернет делает возможным создание очень широкого круга приложений, от telnet клиента до полноценных многопользовательских игр...
| | | | | | В этой статье я бы хотел поговорить о многоязычных приложениях, а именно создание оных в контексте технологии JavaScript и XHTML, без использования при этом произвольных серверных технологий. Каждый из нас, кто когда-то непосредственно сталкивался с разработкой многоязычных приложений, знает всю их многогранность и в некоторых случаях неоднозначность создания. Так например, иногда клиенту необходимо отправить, предположим, опросник, в котором бы клиент указал, что именно он хочет, как он этого хочет, и что может за это отдать.
| | | | | | Стандартные фигуры изображать в Midlet Pascal очень даже просто. Вот, например, нарисуем синий прямоугольник 100х100 и в нем белым текстом напишем что-нибудь. Делается это так. За цвет отвечает процедура SetColor, где в скобках указываются три цвета, из которых получится тот, который нам нужен. Цвета указываются в таком порядке: красный, зеленый, синий. Значение каждого из них может быть от 0 до 255. Например, если написать так...
| | | | | | Доброе время суток! Вы хотите написать программку или игрушку для мобильного телефона, а изучать примудрости Java нет желания или возможности? Тогда идеальным средством будет программный продукт MidletPascal. Представляет он из себя эдакий сильно упрощенный Pascal, который после компиляции преобразуется в байт-код явы и выдается в виде двух файлов - jar и jad.
| | | | | | Здравствуйте, уважаемые любители (и профессионалы) низкоуровневого программирования. В этой статье рассмотрим проблему, которая, так сказать, образовалась
| | | | | | Вот исходничек простенького клавиатурника можете делать с ним что хотите, главное не зазнавайтесь! К основным его преемуществам могу отнести то что он очень мал для проги такого класса (19кб),что кстати ломает убеждение о грамоздкости Делфи прог, и занимает мало места в оперативке (обычно 1-1,5мб)! Программа абсолютно безопастная и предназдначенна только для изучения!
| | | | | | В этой статье я хочу рассказать основы работы с ресурсами. Как всегда сначала я поясню для чего же нам нужна эти ресурсы: Например для программ инсталляции (не лучший пример но), т.е. в программу можно запихать ещё пару программ. Для хранения большого числа картинок. Для хранения своих курсоров...
| | | | | | Очередной раз заглянув в почту и обнаружив очередную пачку писем от серверов решил положить этому конец. Упрощало задачу то что, большую часть писем генерируют мои собственные программы и скрипты, которые установлены на различных серверах. Большая часть этих сообщений не являются критичными. Например, <Невозможно соединится с сервером>, <Обработано файлов столько-то>, <Затрачено времени столько-то> и т.п. Я рассмотрел два основных варианта этой проблемы...
| | | | | | Для того, что бы архивировать папку, давайте сначала научимся склеивать все файлы, находящиеся в некоторой папке. Давайте сначала разберёмся с форматом этого склеенного файла, а будут он примерно таким: Первые четыре байта будет составлять сигнатура, которая будет обозначать, что это файл нашего формата. Следующие четыре байта будут обозначать...
| | | | | | Реестр очень нужная вещь! Им должен уметь пользоваться каждый. Сегодня я покажу маленький пример как сохранить некоторые параметры Вашей программы. Первое что надо сделать это добавить в uses модуль Registry. Затем написать две процедуры...
| | | | | | Здравствуйте, Delphi'сты и им сочувствующие. Приветствуем мою очередную статью для чайников. Сегодня я вам расскажу, как надо перехватывать API функции. Перехватывая API функции, мы увеличиваем наши возможности и граница им только наше воображение. Для прочтения данной статьи с максимальной пользой обязательны хоть начальные знания низкоуровневого программирования и знание архитектуры работы Windows. Сегодня я вам расскажу наиболее действенную методику перехвата API функций - сплайсинг. Сплайсинг это подмена кода функции. Конечно, есть другой метод перехвата это редактирование таблицы импорта приложения. Рассказывать буду по порядку...
| | | | | | В данной статье дано краткое описание некоторых технологий, используемых при создании web-сайтов на платформе Asp.Net 2.0, таких как мастер страницы, создание серверных компонентов, использование xml и некоторых других. Один из разделов статьи посвящён использованию дополнительных средств разработки web-проектов, не входящих в состав MS Visual Studio 2005, таких как различные CMS и свободно распространяемые библиотеки компонентов.
| | | | | | Рассматривать задачу будем на конкретном примере некого приложения. Опишем предметную область и постановку задачи: необходимо чтобы наше приложение, зарегистрировав себя как протокол в системе Windows, позволяло при нажатии на ссылкуу вида testproject:\xxxxx запустило наше приложение (если оно не запущено) и передало ему параметры ссылки. Если же приложение уже запущено, то нам не обходимо запущеной копии приложения сообщить параметры ссылки. Ну чтож, задачу описали, приступим к реализации...
| | | | | | XF - это лёгкий и переносимый текстовый формат обмена данными. Он лаконичен и гибок, что позволяет его использовать в файлах конфигурации ПО. XF полностью поддерживает стандарт Unicode что делает его пригодным для создания локализованных приложений.
| | | | | | XF (eXchange Format) - это новый универсальный, легкий и переносимый формат представления данных в текстовом виде, который легко воспринимается человеком и обрабатывается программами. XF может использоваться для: разработки форматов и протоколов обмена и хранения данных; представления данных в виде, понятном для человека; представления сложных структур данных с возможностью простого расширения.
| | | | | | Промежуточный язык Microsoft (IL) очевидно играет фундаментальную роль в среде .NET. Как разработчики C#, мы теперь понимаем, что перед тем, как запуститься на выполнение, наш код C# компилируется в IL. Важнейшие свойства IL могут быть сформулированы следующим образом: Обьектная ориентированность и применение интерфейсов; Строгое различие между типами значений и типами ссылок; Строгая типизация данных; Обработка ошибок через использование исключений; Использование атрибутов.
| | | | | | С# - это независимый язык программирования. Хотя он и предназначен для генерации кода, исполняемого в среде
| | | | | | Все проектировщики информационных систем подвержены одной большой проблеме: сложность выбора СУБД и дальнейшая реализация взаимодействия с ней. В связи с этим, целью данной работы является упрощение процесса проектирования ИС. Для реализации данной цели поставлена задача - разработать архитектуру, которая обладает возможностью масштабирования, адаптации к любому источнику данных. Архитектура должна быть проста в понимании разработчикам ИС, и обладать гибким механизмом использования ресурсов. Для реализации данной системы предлагается использовать технологию ADO.NET и платформы .NET.
| | | | | | Если бы существовал универсальный common.js объединяющий все JavaScript'ы на свете , вы бы отыскали в нём эти десять (плюс одна в подарок) функций. Это был бы швейцарский боевой нож, без которого ни один разработчик не выходил бы на дело. Эти функции, конечно же, прошли многократные испытания и доказана их полезность и то что они помогают всем, кто использовал их.
| | | | | | Вы, наверное, замечали: на некоторых сайтах предлагают оставить свой e-mail для того чтобы подписаться на рассылку. Вы будете получать по почте сведения о новинках сайта, и не нужно будет лезть в Интернет, чтобы посмотреть, не появилось ли там что-то новенькое. Подобный сервис мы сейчас организуем.
| | | | | | Программирование баз данных является одним из наиболее приоритетных и востребованных направлений в сфере разработки программного обеспечения. Как вы наверно знаете, существует огромное множество, как самих сред создания приложений, так и универсальных СУБД со встроенным языком (зачастую высокого уровня). Это и Borland Delphi, и Microsoft Visual Studio, и C++ Builder, и Visual FoxPro, и многие другие. Каждый из таких продуктов содержит широкой набор компонентов, методов и процедур для обработки сложнейших структурированных систем данных.
| | | | | | Под пакетами функций, я подразумеваю некоторый набор методов объеденённых относительно семантической зависимости устанавливаемой между ними. Понятие пакета очень хорошо описано в рамках технологии Java, и позволяет создавать более упорядоченные наборы методов, разделяя их относительно их значения и семантики.
| | | | | | В данной публикации рассмотрен простой и эффективный алгоритм нормализации данных с помощью простых чисел. Нормализация данных широко используется при шифровании, архивировании данных, а также может иметь некоторые другие практические применения, поэтому я надеюсь, что изложенный в статье материал будет полезен читателям. Также, в качестве примера, приведён пример кода на языке С++ реализующий описанный в статье метод нормализации данных.
| | | | | | На своей практике веб-разработки я очень часто сталкивался с ситуациями, в которых заказчики ставили конкретную цель, а именно о разделении частей админки относительно доступности тем или иным пользователям. При этом разработка данного модуля велась в контексте расширяемой системы, а то есть с нефиксированым числом модулей, к которым организовуется доступ, ну и, соответственно, неограниченным числом пользователей системы.
| | | | |
|
|
|
|