Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Публикации для программистов

Система конфигурирования и сборки 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.am
28.11.2011
Продолжаем перевод мануала «Система конфигурирования и сборки GNU» и предлагаем вниманию читателей подраздел главы «Начало работы». `Makefile.am' — это файл, поступающий на вход automake, и мануал automake детально описывает, как этот файл должен выглядеть. Команды в `Makefile.am' обычно выглядят как переменные в `Makefile'. Утилита automake распознает имена специальных переменных и, если нужно, автоматически добавляет в вывод правила make.
Система конфигурирования и сборки GNU — Начало работы
25.11.2011
Решив применить систему конфигурирования и сборки GNU к вашем пакету программ, вы должны написать три файла и вручную запустить несколько утилит для генерации дополнительных файлов. Во-первых, вы должны написать файл `configure.in'. Он является входным для autoconf. В `configure.in' вам следует написать тесты для проверки условий, которые могут изменяться от одной системы к другой. Таких как наличие конкретных заголовочных файлов или функций.
Система конфигурирования и сборки GNU
23.11.2011
Этот документ описывает систему конфигурирования и сборки GNU. Он описывает, как объединяются autoconf, automake, libtool и make. Кроме того, он включает в себя описание старой системы конфигурирования Cygnus. Этот документ детально не описывает, как использовать те или иные утилиты. Зато здесь описывается, какие файлы должен написать разработчик, какие файлы генерируются машиной, как они генерируются и где искать решения известных общих проблем.
Теги BBCode из категории Text Decoration
16.11.2011
Aka Nutty поделился своими очередными разработками для библиотеки xBB. На этот раз речь идет о теге [decor], снабженном целым рядом параметров, позволяющих форматировать текст как надчеркнутый (overline), мерцающий (blink), с двойным подчеркиванием (double), подчеркнутый пунктиром (dashed), с точечным подчеркиванием (dotted), подчеркнутый красной волнистой линией (wavyred) и др. В статье даются соответсвующие коды PHP и CSS, необходимая графика.
Документация для программиста — виды и особенности
06.10.2011
Нередко на все эти бумажки уходит не меньше времени, чем на создание самой программы. Особенно если заказчик попадается страсть какой привередливый. С другой стороны, если смотреть на жизнь позитивно, эта работа ведь тоже оплачивается. Следовательно, освоить такую сторону деятельности всё же полезно. Поэтому попытаемся сделать небольшой обзор на простом языке, без официозного пафоса и прочей канцелярщины. Итак, какая же бывает документация...
Работа с com-портом в Делфи при помощи драйвера AsyncFree104
01.10.2011
В этой статье рассматривается пример работы с компонентами Delphi для работы с Com-портом из библиотеки AsyncFree104, которые можно скачать с SourceForge.net. Для установки необходимо распаковать файлы и необходимые версии скопировать в папку с установленной Delphi в директорию LIB и запустить AsyncFreeD?.dpk, где ? — ваша версия Delphi. В палитре компонентов появится вкладка с компонентами AfComPort, AfDataDispatcher, AfDataTerminal и др...
Кросс-компиляция Mozilla
20.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 для внешних ключей в SQLite
18.09.2011
Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite версии 3.6.19. Ранее уже были опубликованы 3 главы и первые два параграфа 4-й главы. Глава 4 описывает продвинутые возможности, связанные с внешними ключами, поддерживаемыми в SQLite. Продолжение перевода. Параграф 4.3. «Операции ON DELETE и ON UPDATE». Они выполняются при удалении строк родительской таблицы и изменении родительского ключа. Продолжение перевода следует.
Продвинутые возможности внешних ключей в SQLite
17.09.2011
Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite версии 3.6.19. Ранее уже были опубликованы три главы. Продолжение перевода. Глава 4 описывает продвинутые возможности, связанные с внешними ключами, поддерживаемыми в SQLite. Речь идёт о составных внешних ключах и об отложенных внешних ключах. Параграф «Операции ON DELETE и ON UPDATE» еще не до конца переведён и будет скоро опубликован с последующими главами мануала.
Включение поддержки внешних ключей в SQLite, необходимые и желательные индексы базы данных
16.09.2011
Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite версии 3.6.19. Вторая глава описывает, что необходимо сделать для включения поддержки внешних ключей в SQLite (по умолчанию они отключены). Третья глава описывает, какие индексы должен создавать пользователь для использования внешних ключей, и какие следует создать для повышения эффективности работы внешнего ключа. Продолжение перевода будет опубликовано в ближайшие дни.
Поддержка внешних ключей в SQLite
15.09.2011
Внешние ключи в SQL используются для принудительного поддержания связей между таблицами в актуальном состоянии. Этот документ описывает поддержку внешних ключей SQL, реализованных в SQLite. Первая глава посвящена общей концепции внешних ключей в SQLite, объясняет ее с помощью примеров и определений, необходимых для понимания данного документа. Следующие главы, посвященные отдельным аспектам внешних ключей, будут публиковаться по мере перевода.
Исходный код — лучшая документация для программиста
31.08.2011
Исходный код должен быть внятным, даже если пишете программу для себя. Чтобы потом, через пару лет, когда забудете подробности, не искать долго и мучительно, а где же тот участок, который требует доработки, не напрягать глаза, вникая в ужасную кашу. Ну и, конечно, не следует забывать о комментировании, это само собой разумеется. Существует традиция оформлять исходный код «лесенками». Отдельно следует сказать о названиях функций и переменных...
Загружаемые расширения SQLite
31.08.2011
Начиная с версии 3.3.6 SQLite позволяет загружать новые функции SQL и сортирующие последовательности из разделяемых библиотек и DLL. Это означает, что вам больше ненужно перекомпилировать SQLite, чтобы добавлять в него новые функции и сортировки. API является экспериментальным. То есть его дальнейшая поддержка для обеспечения совместимости в будущих релизах не гарантируется. Разработчики оставляют за собой право вносить в него изменения.
PHP — защита скачиваемых файлов
17.08.2011
Хотите предотвратить установку ссылок на файлы для скачивания? Предлагаемый в статье сценарий будет выполнять необходимые проверки доступа перед скачиванием файла. Принцип работы: Для передачи файла используется PHP-скрипт, который при необходимости сформирует необходимые HTTP-заголовки с помощью функции header а затем начинает загрузку файла. В статье также описывается способ отслеживания загрузок файлов и ведения их статистики в базе MySQL.
Компиляция и использование библиотеки libstemmer_c
08.08.2011
Этот документ является переводом файла README, который является частью дистрибутива C-шной версии библиотеки libstemmer. Библиотека предоставляет API для стемминга слов нескольких языков (включая русский). Библиотека широко известна как стеммер Портера, хотя сам Портер предпочитает ее так не называть, ассоциируя свое имя лишь с устаревшим алгоритмом для стемминга английского языка. Библиотека часто применяется в системах полнотекстового поиска.
Автоцензор для парсера BBCode
05.08.2011
Aka Nutty, — один из активных пользователей библиотеки xBB для парсинга BBCode, предложил способ добавить к библиотеке автоматический цензор матерщины. В соответствующей теме форума он описал изменения в PHP-коде библиотеки, которые необходимо сделать для добавления автоцензора. Подробно описана реализация автоцензора без помощи базы данных, и даются наметки по его реализации с помощью базы данных. Приведена структура соответствующей таблицы БД.
Советы по разработке приложений поиска — SQLite: расширения FTS3 и FTS4
04.06.2011
Когда пользователь использует поисковую систему для поиска во всемирной сети, он ожидает, что самые полезные (то-есть «релевантные») документы будут выданы ему на первой странице результатов, и что каждая последующая страница содержит все менее релевантные результаты. Научить машину определять релевантность документов на основе пользовательского запроса — это сложная проблема, которой в настоящее время посвящены многочисленные исследования...
Структуры данных — SQLite: расширения FTS3 и FTS4
04.06.2011
Продолжение мануала о полнотекстовом поиске в SQLite. Этот раздел в общих чертах описывает, как модуль FTS хранит в базе данных свой индекс и данные. Прочтение и понимание этого материала не является обязательным для умения использовать FTS в приложениях. Однако это может быть полезно для тех разработчиков приложений, которые пытаются изучить FTS и улучшить его производительность, и для тех, которые хотят расширить функциональные возможности FTS.
Токенайзеры — SQLite: расширения FTS3 и FTS4
03.06.2011
Токенайзер FTS — это набор правил для извлечения термов из документа или простого полнотекстового запроса FTS. Если при создании таблицы FTS не был указан какой-либо токенайзер, то будет использован умолчальный токенайзер, каковым является «simple». Исходный код FTS содержит также токенайзер на основе стеминга Портера. Если расширение скомпилировано с SQLITE_ENABLE_ICU, то доступен также токенайзер реализованный с помощью библиотеки ICU.
Вспомогательные функции SQLite — Snippet, Offsets и Matchinfo для FTS3 и FTS4
02.06.2011
Модули FTS3 и FTS4 предоставляют три специальные функции SQL, которые могут быть полезны разработчикам систем поиска: «snippet», «offsets» и «matchinfo». Назначение функций «snippet» и «offsets» — дать пользователю возможность узнать местоположение запрашиваемых термов в найденных документах. Функция «matchinfo» предоставляет пользователю набор числовых значений, которые могут быть использованы для сортировки результатов по релевантности.
Компиляция и включение FTS3 и FTS4, запросы по полнотекстовому индексу
01.06.2011
Вторая часть перевода «SQLite: расширения FTS3 и FTS4» содержит две главы: «2. Компиляция и включение FTS3 и FTS4» и «3. Запросы с использованием полнотекстового индекса». Название первой из них говорит само за себя, а во второй рассматриваются общие принципы построения полнотекстовых запросов в SQLite и два варианта синтаксиса языка запросов, стандартный и расширенный наборы теоретико-множественных операций над результатами простых запросов.
SQLite: расширения FTS3 и FTS4
01.06.2011
Начало перевода обширного мануала по полнотекстовому поиску в SQLite. FTS3 и FTS4 — это модули виртуальных таблиц SQLite, которые позволяют пользователям выполнять полнотекстовый поиск на множестве документов. Наиболее общий (и эффективный) способ описать полнотекстовый поиск — следующий: «То, что делают Google, Yahoo и Altavista с документами, находящимися во всемирной сети». Пользователь вводит слово или набор слов и система находит документы.
Простейший способ подружить xBB и CodeIgniter 2
24.05.2011
Библиотека xBB — парсер и редактор языка упрощенной разметки BBCode. CodeIgniter — написанный на PHP фреймворк для разработки веб-приложений. В статье, написанной aka Nutty, описывается, как использовать xBB в коде, написанном под CodeIgniter, а также даются примеры того, как создавать дополнительные теги BBCode для xBB с использованием функциональных возможностей CodeIgniter 2. Статья написана легко и будет понятна любому PHP-программисту.
Альтернативная реализация тега BBCode [spoiler]
23.05.2011
На xBB.uz уже публиковалась однажды статья «Как создать тег BBCode [spoiler]». Теперь aka Nutty предложил иную реализацию с некоторыми улучшениями. Различия между этим спойлером и первым заключается в том, что в новом при загрузке страницы не подгружаются вложенные в него картинки, и, следовательно, пользователь не тратит свой трафик на то, что ему возможно ненужно. Напомним, что тег [spoiler] предназначен для публикации скрытого текста.
Биржа долевых инвестиций SIMEX.

© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.