Интернет, компьютеры, софт и прочий Hi-Tech | |||||||
Избранные докиМетки (все метки)internet, it, интернет, интернет сеть, информационные технологии, ит, по, программное обеспечение, сайт, софт
Подписаться через RSS2Email.ru
Дополнительномониторы, движок, Битрикс, хостинг, сайты, мобильные, электроника, видеокарта, СКС, AXIS |
Публикации для программистовЧто такое рефакторинг?25.01.2012Рефакторинг или реорганизация — это полное или частичное изменение структуры кода программы с помощью ряда преобразований без изменения функциональности программы. Прежде всего рефакторинг повышает степень читабельности кода, облегчает его понимание, а из этого следует повышение производительности программиста. В таком коде удобнее дописывать новую функциональность программы. А главное, что с помощью рефакторинга можно устранять ошибки в коде.
Генерация .lib из DLL с помощью Visual Studio18.01.2012Программисты часто имеют дело со сторонними DLL, написанными третьими лицами, функции которых нужны при разработке. Пока интерфейс DLL остается прежним, слинкованные с ней другие DLL-и могут заменяться без перекомпиляции. Однако, в Visual Studio чтобы прилинковать к коду стороннюю библиотеку, нужно иметь файл .lib, — самой по себе DLL для этой задачи недостаточно. К счастью, существует способ сгенерировать .lib из DLL с помощью Visual Studio. Система конфигурирования и сборки GNU — Часто задаваемые вопросы25.12.2011Рассматриваемые вопросы: Что мне запускать первым, autoconf или automake? Autoconf сообщает что-то о неопределённом макросе. Почему в моем скрипте configure имеются выражения CY_GNU_GETTEXT? Почему приходится запускать и "config.status --recheck", и "config.status"? Что такое дерево Cygnus? Почему мне приходится пересобирать и переустанавливать средства сборки? Почему бы просто не иметь цель make в дереве Cygnus для обновления этих средств? И др. Система конфигурирования и сборки GNU — Multilibs24.12.2011Для некоторых целей gcc может иметь различные требования к процессору в зависимости от опций командной строки. Тривиальным примером является опция `-msoft-float', поддерживаемая некоторыми процессорами. Для таких опций gcc часто конфигурируется так чтобы дважды компилировать целевые библиотеки: один раз с `-msoft-float' и один раз без нее. Если gcc компилирует целевые библиотеки несколько раз, то результирующие библиотеки называются multilibs. Система конфигурирования и сборки GNU — Система конфигурирования Cygnus23.12.2011Скрипт конфигурирования Cygnus является предшественником autoconf. В настоящее время все его значимые возможности включены в autoconf. Новые программы не пишутся с использованием скрипта конфигурирования Cygnus. Тем не менее, он до сих пор кое-где используется: в корне дерева Cygnus и в некоторых целевых библиотеках в дереве Cygnus. И до тех пор, пока это использование не заменено средствами autoconf, данная заметка будет вполне уместна. Система конфигурирования и сборки GNU — Поддержка канадского креста22.12.2011Если вы хотите сделать возможной разработку с использованием канадского креста, вы должны учитывать некоторые особенности при написании своих правил конфигурирования и сборки. Простые случаи, обычно, работают корректно. Тем не менее, совсем нетрудно написать тесты конфигурирования и сборки, которые будут терпеть крах в канадском кресте. В данной главе рассказывается о поддержке канадского креста в скриптах конфигурирования и в Makefile-ах. Система конфигурирования и сборки GNU — Канадский крест и дерево Cygnus21.12.2011Этот раздел описывает конфигурирование и сборку канадского креста при использовании дерева Cygnus. Когда канадский крест конфигурируется в дереве Cygnus, все присущие ему переменные окружения автоматически устанавливаются в "host-tool", где host — это значение, используемое для опции "--host", а tool — имя средства компиляции (например, "gcc", "as" и т.д.). При сборке кросс-хозяйских средств к их имени обычно добавляется префикс "host"... Система конфигурирования и сборки GNU — Канадский крест20.12.2011Сборка канадским крестом часто используется при создании программ, предназначенных работать на не-Unix системах, таких как DOS или Windows. Их конфигурирование и сборка на Unix-системе может оказаться проще, чем поддержка конфигурирования на не-Unix системе. В сборке методом канадского креста участвуют, как минимум, две различные системы: система, на которой собираются нужные средства, и система на которой эти средства будут запускаться. Система конфигурирования и сборки GNU — Скрипты конфигурирования библиотек цели19.12.2011Есть несколько моментов, которые вы должны знать при написании скрипта конфигурирования для целевой библиотеки. Здесь мы набросаем только краткий их обзор и новички не должны рассчитывать, что найдут здесь полную информацию. Целевые библиотеки конфигурируются и собираются с помощью целевого компилятора. Для этого компилятора может не существовать каких либо запускаемых файлов. Эти файлы, возможно, будут собраны как часть целевой библиотеки... Система конфигурирования и сборки GNU — Кросс-инструменты в дереве Cygnus18.12.2011Дерево Cygnus используется для различных пакетов, включая gdb, GNU binutils и egcs. Оно используется и для релизов Cygnus. В этом дереве скрипт configure верхнего уровня используется старой системой конфигурирования Cygnus, а не autoconf. Makefile.in верхнего уровня пишется для сборки пакетов в этом дереве, и поддерживает сборку большого числа утилит за один шаг configure/make. Дерево Cygnus может быть сконфигурировано с опцией `--target'. Система конфигурирования и сборки GNU — Указание цели, Использование типа цели17.12.2011Скрипт `configure' по умолчанию считает, что цель и хост — это одно и то же. Как правило, так оно и есть. Так, например, работает нативный компилятор в отличие от кросс-компилятора. Если же хотите собрать средство кросс-компиляции, можно явно указать цель с помощью опции `--target'. Её аргументом является имя конфигурации системы, для которой генерируется код. Например, собирая утилиты для системы MIPS ELF, нужно использовать `--target mips-elf'. Система конфигурирования и сборки GNU — Средства кросс-компиляции15.12.2011Система конфигурирования и сборки GNU может быть использована средствами кросс-компиляции. Средства кросс-компиляции — это утилиты, которые запускаются на одной системе и создают код, который должен запускаться на другой системе. Например, компилятор, который создает программу, предназначенную запускаться на другой системе, называется кросс-компиляционным компилятором или, проще, кросс-компилятором. Аналогично говорят о кросс-ассемблерах и т.д. Система конфигурирования и сборки GNU — Имена конфигурации12.12.2011Система конфигурирования GNU назначает каждой системе «имя конфигурации». Все имена составляются как триплеты (сейчас, в некоторых случаях, они могут состоять из четырёх частей), и иногда называются «конфигурационными триплетами». Это — строка в форме «cpu-производитель-операционная_система». В некоторых случаях она расширяется до четырех частей: «cpu-производитель-ядро-операционная_система». Обычно в опциях не требуется указывать полное имя... Система конфигурирования и сборки GNU — сборочные файлы и файлы поддержки10.12.2011Опишем файлы, которые создаются во время сборки. Эти файлы будет видеть тот, кто будет собирать пакет. Разумеется, разработчик также будет его собрать. Различие между девелоперскими файлами и сборочными файлами заключается не в том, что разработчик не увидит сборочных файлов, а в том, что человек, который только собирает пакет, не обязан знать о девелоперских файлах. Кроме того, система GNU требует, чтобы в пакет были включены файлы поддержки. Система конфигурирования и сборки GNU — Файлы08.12.2011Как было видно из предыдущей главы, система конфигурирования и сборки GNU использует несколько различных файлов. Разработчик должен написать некоторые из них. Остальные будут сгенерированы с помощью различных утилит. Эта система очень гибка и может быть использована многими способами. В описании используемых файлов будем придерживаться общего способа. Сегодня опишем файлы, которые пишутся или генерируются самим разработчиком программного пакета. Система конфигурирования и сборки GNU — Пример03.12.2011Допустим, вы хотите написать простую версию `touch'. Ваша программа, которую мы будем называть `poke', будет принимать в качестве аргумента имя файла и использует `utime', чтобы установить время модификации и доступа к данному файлу на текущее время. Мы хотим, чтобы эта программа была максимально портируемой. Сначала давайте посмотрим, как это выглядит без использования autoconf и automake, а потом посмотрим что получится при их использовании. Система конфигурирования и сборки GNU — Написание acconfig.h, Генерация файлов30.11.2011Продолжаем перевод мануала «Система конфигурирования и сборки GNU» и предлагаем вниманию читателей очередные подразделы главы «Начало работы». Если вы генерируете портируемый заголовочный файл (используете `AM_CONFIG_HEADER' в `configure.in'), то вам следует написать файл `acconfig.h'. Написав файлы `configure.in', `Makefile.am', `acconfig.h' и, возможно, `acinclude.m4', вы можете использовать autoconf и automake для создания генерируемых файлов. Система конфигурирования и сборки GNU — Написание Makefile.am28.11.2011Продолжаем перевод мануала «Система конфигурирования и сборки GNU» и предлагаем вниманию читателей подраздел главы «Начало работы». `Makefile.am' — это файл, поступающий на вход automake, и мануал automake детально описывает, как этот файл должен выглядеть. Команды в `Makefile.am' обычно выглядят как переменные в `Makefile'. Утилита automake распознает имена специальных переменных и, если нужно, автоматически добавляет в вывод правила make. Система конфигурирования и сборки GNU — Начало работы25.11.2011Решив применить систему конфигурирования и сборки GNU к вашем пакету программ, вы должны написать три файла и вручную запустить несколько утилит для генерации дополнительных файлов. Во-первых, вы должны написать файл `configure.in'. Он является входным для autoconf. В `configure.in' вам следует написать тесты для проверки условий, которые могут изменяться от одной системы к другой. Таких как наличие конкретных заголовочных файлов или функций. Система конфигурирования и сборки GNU23.11.2011Этот документ описывает систему конфигурирования и сборки GNU. Он описывает, как объединяются autoconf, automake, libtool и make. Кроме того, он включает в себя описание старой системы конфигурирования Cygnus. Этот документ детально не описывает, как использовать те или иные утилиты. Зато здесь описывается, какие файлы должен написать разработчик, какие файлы генерируются машиной, как они генерируются и где искать решения известных общих проблем. Теги BBCode из категории Text Decoration16.11.2011Aka Nutty поделился своими очередными разработками для библиотеки xBB. На этот раз речь идет о теге [decor], снабженном целым рядом параметров, позволяющих форматировать текст как надчеркнутый (overline), мерцающий (blink), с двойным подчеркиванием (double), подчеркнутый пунктиром (dashed), с точечным подчеркиванием (dotted), подчеркнутый красной волнистой линией (wavyred) и др. В статье даются соответсвующие коды PHP и CSS, необходимая графика.
Документация для программиста — виды и особенности06.10.2011Нередко на все эти бумажки уходит не меньше времени, чем на создание самой программы. Особенно если заказчик попадается страсть какой привередливый. С другой стороны, если смотреть на жизнь позитивно, эта работа ведь тоже оплачивается. Следовательно, освоить такую сторону деятельности всё же полезно. Поэтому попытаемся сделать небольшой обзор на простом языке, без официозного пафоса и прочей канцелярщины. Итак, какая же бывает документация... Работа с com-портом в Делфи при помощи драйвера AsyncFree10401.10.2011В этой статье рассматривается пример работы с компонентами Delphi для работы с Com-портом из библиотеки AsyncFree104, которые можно скачать с SourceForge.net. Для установки необходимо распаковать файлы и необходимые версии скопировать в папку с установленной Delphi в директорию LIB и запустить AsyncFreeD?.dpk, где ? — ваша версия Delphi. В палитре компонентов появится вкладка с компонентами AfComPort, AfDataDispatcher, AfDataTerminal и др... Кросс-компиляция Mozilla20.09.2011Кросс-компиляция программ — это такая компиляция, результат которой предназначен работать в некоторой («целевой») операционной системе, которая отлична от той («хозяйской»), в которой эта компиляция производится. Например, если Mozilla Firefox, предназначенный для работы в Windows, компилируется в Linux, то мы имеем дело с кросс-компиляцией. Предлагаемая переводная статья является пошаговой инструкцией по кросс-компиляции Mozilla Firefox в Linux. Команды CREATE, ALTER и DROP TABLE с внешними ключами SQLite, пределы и не поддерживаемые возможности18.09.2011Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite версии 3.6.19. Ранее уже были опубликованы четыре главы. Теперь публикуются ещё две главы — окончание перевода. В главе 5 описывается выполнение команд CREATE TABLE, ALTER TABLE и DROP TABLE при наличии внешних ключей SQLite. В заключительной 6 главе перечисляются некоторые предельные ограничения и нереализованные возможности, которые не были упомянуты в других местах. Операции ON DELETE и ON UPDATE для внешних ключей в SQLite18.09.2011Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite версии 3.6.19. Ранее уже были опубликованы 3 главы и первые два параграфа 4-й главы. Глава 4 описывает продвинутые возможности, связанные с внешними ключами, поддерживаемыми в SQLite. Продолжение перевода. Параграф 4.3. «Операции ON DELETE и ON UPDATE». Они выполняются при удалении строк родительской таблицы и изменении родительского ключа. Продолжение перевода следует. Продвинутые возможности внешних ключей в SQLite17.09.2011Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite версии 3.6.19. Ранее уже были опубликованы три главы. Продолжение перевода. Глава 4 описывает продвинутые возможности, связанные с внешними ключами, поддерживаемыми в SQLite. Речь идёт о составных внешних ключах и об отложенных внешних ключах. Параграф «Операции ON DELETE и ON UPDATE» еще не до конца переведён и будет скоро опубликован с последующими главами мануала. Включение поддержки внешних ключей в SQLite, необходимые и желательные индексы базы данных16.09.2011Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite версии 3.6.19. Вторая глава описывает, что необходимо сделать для включения поддержки внешних ключей в SQLite (по умолчанию они отключены). Третья глава описывает, какие индексы должен создавать пользователь для использования внешних ключей, и какие следует создать для повышения эффективности работы внешнего ключа. Продолжение перевода будет опубликовано в ближайшие дни.
Поддержка внешних ключей в SQLite15.09.2011Внешние ключи в SQL используются для принудительного поддержания связей между таблицами в актуальном состоянии. Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite. Первая глава посвящена общей концепции внешних ключей в SQLite, объясняет ее с помощью примеров и определений, необходимых для понимания данного документа. Следующие главы, посвященные отдельным аспектам внешних ключей, будут публиковаться по мере перевода. Исходный код — лучшая документация для программиста31.08.2011Исходный код должен быть внятным, даже если пишете программу для себя. Чтобы потом, через пару лет, когда забудете подробности, не искать долго и мучительно, а где же тот участок, который требует доработки, не напрягать глаза, вникая в ужасную кашу. Ну и, конечно, не следует забывать о комментировании, это само собой разумеется. Существует традиция оформлять исходный код «лесенками». Отдельно следует сказать о названиях функций и переменных... |
||||||
© 2007-2012, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.