Статьи по теме программирование
сделайте ваши страницы 404 интеллектуальными при помощи сопоставления метафонов
2008/06‣программирование
Создайте собственный обработчик сообщения об ошибке 404 для предоставления посетителям полезных ссылок и перенаправления на содержимое вашего сайта. Используйте алгоритм сопоставления метафонов (metaphone matching) и файл простых весовых оценок для перенаправления пользователей при опечатках и орфографических ошибках, а также некорректных ссылках. Настройте варианты выбора на основе содержимого вашего веб-сайта и предпочтительных для ... подробнее
системы управления версиями для программистов, и не только
2008/05‣программирование
Я полагаю, что многие из тех, кто занят в сфере информационных технологий, слышали про системы управления версиями. Вот только список тех, кто активно использует эту технологию в своей практике, гораздо короче. Часто говорят, что системы управления версиями (далее СУВ) нужны только программистам, и только тем из них, кто работает в команде. То есть когда кодом владеет не один “избранный”, а любой программист в команде может взять и внести в ... подробнее
разработка веб-страниц с помощью google gears. Часть 2
2008/03‣программирование
Сегодня я продолжаю рассказ о google gears. В первой статье серии я рассказал о новой идее организации веб-приложений, легшей в основу технологии google gears. Тогда же в качестве примера я решил показать, как создать небольшое приложение “записная книжка”. Затем мне пришлось сделать небольшое отступление от собственно gears и рассказать о sqlite — базе данных, где gears хранит пользовательскую информацию. Сегодня пришло время собрать эти ... подробнее
проект EclipseLink
2008/03‣программирование
В 2007 г. на конференции EclipseCon представители корпорации Oracle анонсировали предложение о создании в сообществе Eclipse открытого (Open Source) проекта подсистемы хранения (Open Source Eclipse Persistence Project) по свободной лицензии Eclipse Public License (EPL), которая позволяет создавать коммерческие продукты. В дополнении к этому предложению корпорация Oracle преподнесла очередной подарок передав хорошо известный Java-фреймворк ... подробнее
разработка веб-страниц с помощью google gears. Часть 1
2008/02‣программирование
В последний год становится все более яркой тенденция сращивать веб-приложения с традиционными настольными версиями программ. Конечно, это уже давно не новость. Если углубиться в историю, то первые решения такого рода появились еще во времена первого бума и последующего краха дот-комов. Но именно сейчас начинает меняться фокус приложения сил. Смотрите: раньше в качестве цели декларировалась доставка в настольную программу содержимого из ... подробнее
изящество и неловкость Python
2008/01‣программирование
По сравнению с "золотым веком" популярности Python 1.5.2 - в течение многих лет стабильной и надежной версии языка - Python приобрел множество новых синтаксических возможностей и встроенных функций и типов. Для каждого изменения в отдельности имелось достаточно веское основание, однако в целом из-за них современный Python - уже не тот язык, который при достаточном опыте можно выучить за один вечер. Помимо этого, с некоторыми изменениями связаны ... подробнее
Linux на борту: Разработка приложений для Nokia N800
2008/01‣программирование
Заглянем внутрь телефона/Интернет-планшета/Web-камеры Nokia N800 и подробнее рассмотрим среду разработки, построенную на базе scratchbox. Linux приобрел заслуженную популярность в мобильных и встроенных приложениях, благодаря его способности сокращаться до небольших размеров, необходимых для эффективной работы на компактных устройствах. Коммуникатор Nokia N800 пользуется этим и предлагает широкий спектр общей функциональности, которую может ... подробнее
кое-что о разработке веб-приложений для локального применения
2007/11‣программирование
Написание локальных веб-приложений может стать быстрым, легким и эффективным способом решения определенных задач во внутренней сети. Узнайте, почему в некоторых случаях веб-браузер предоставляет лучший интерфейс по сравнению с GUI-приложением, а простейшим и наиболее изящным решением может стать CGI-скрипт. Совершенно очевидно, что подавляющее большинство посещаемых вами веб-сайтов доступно через Интернет, однако многие компании пришли к ... подробнее
как отказаться от стиля PHP4 и перейти к стилю PHP5
2007/07‣программирование
Наделите свои приложения на PHP4 преимуществами объектно-ориентированного подхода PHP5. С новыми возможностями PHP5 вы можете значительно повысить многократность использования своего кода и его стабильность. Узнайте, как перейти с программирования на PHP4 к программированию на PHP5, о преимуществах и нововведениях. PHP5 – это большой шаг относительно PHP4. Новые возможности делают его значительно более расширяемым и надежным, а новые ... подробнее
что за зверь Ruby, и с чем его едят?
2007/06‣программирование
Человек создан для творчества, и я всегда знал, что люблю творить. Увы, я обделен талантом художника или музыканта. Зато я умею писать программы. Я хочу, чтобы компьютер был моим слугой, а не господином, поэтому я должен уметь быстро и эффективно объяснить ему, что делать. Юкихиро Мацумото Руби (англ. Ruby — «Рубин») — интерпретируемый язык программирования высокого уровня. Обладает независимой от операционной системы реализацией ... подробнее
автоматический доступ на защищенный веб-сайт с помощью Perl
2007/04‣программирование
Язык Perl и его LWP-модуль облегчают автоматизацию доступа к веб-сайтам; сложности возникают в том случае, если для доступа на веб-сайт необходимо ввести имя пользователя и пароль. К счастью, эту проблему помогают решить Perl-модули. Из статьи Брета Свидена вы почерпнете информацию о том, как найти, установить и использовать модули WWW::Mechanize и Crypt::SSLeay в сценарии Perl, что автоматизирует регистрацию на защищенных веб-сайтах. Должен ... подробнее
Ajax on Rails - почему Ajax так хорошо работает с Ruby
2007/03‣программирование
Об Ajax (технологии создания высоко интерактивных веб-страниц) говорится очень много. Интегрированная среда Ruby on Rails тоже процветает, частично из-за тесной интеграции с Ajax. Узнайте, что делает комбинацию Ajax on Rails такой мощной. определение Ajax Ajax обозначает Asynchronous JavaScript + XML. Этот термин начал использовать в 2005 году Джесс Джеймс Гаррет (Jesse James Garrett), разработчик информационных систем, для описания ... подробнее
о параллелизме в Java: знакомство с пакетом util.concurrent
2007/02‣программирование
Как и многие другие сервисы инфраструктуры приложений, вспомогательные классы для поддержания параллелизма, такие как рабочие очереди и пулы потоков часто без необходимости переписываются с нуля для каждого проекта. В этом материале Брайан Гетц познакомит вас с пакетом util.concurrent Дага Ли - высококачественным, широко используемым пакетом утилит с открытым кодом для поддержки параллелизма. Многие из нас никогда не задумывались о написании ... подробнее
метод виртуального процессора в защите программного обеспечения
2006/07‣программирование
В статье рассматривается метод защиты программного обеспечения от изучения с помощью переноса защищаемого кода в виртуальную среду исполнения. Проводится анализ эффективности, а так же недостатков метода. Предлагается вариант реализации, позволяющий снизить себестоимость разработки. введение Как известно, идеального способа защиты программного обеспечения не существует. В связи с этим разработчики защитных систем не стремятся лишить ... подробнее
управление процессом разработки ПО небольшой командой специалистов
2006/04‣программирование
В любой организации существует необходимость в том, чтобы автоматизировать некоторые, свойственные только ей процессы. В случае, когда потребность в создании специального ПО существенно влияет на бизнес, такое ПО может быть заказано для разработки в сторонних компаниях. Однако зачастую организация вполне способна справится с автоматизацией своими собственными силами - с помощью небольшой группы разработки (от одного до трех человек). Риск ... подробнее
кэширование в PHP
2006/02‣программирование
В старые добрые времена, когда создание веб-сайтов представляло из себя такое простое занятие, как набор нескольких HTML-страниц, отправка веб-страниц в браузер была простой отправкой файла веб-сервером. Посетители сайта могли видеть эти небольшие, исключительно текстовые странички, почти мгновенно (если не считать пользователей медленных модемов). Как только страница была загружена, браузер кэширует ее где-нибудь на локальном компьютере, чтобы ... подробнее
программа для поддержания соединения, работающая где угодно
2006/01‣программирование
редакционное предисловие Несмотря на то, что описываемая в статье программа была призвана решать очень узкую и не бог весть какую на сегодняшний день актуальную проблему вылета с диалапа по таймауту, материал определенно «имеет право на жизнь» :) Это потому, что при должной смекалке такоую софтину можно приспособить и под другие административные задачи. Плюс к статье прилагается готовый код, иллюстрирующий мысль, что иногда нужное решение ... подробнее
настройка защиты приложений .NET на основе прав доступа кода
2005/10‣программирование
Эта информация будет служить в качестве отправной точки для изучения метода защиты на основе прав доступа кода (code access security), основанного на функциональных возможностях, предоставляемых общеязыковой исполняющей средой (CLR, Common Language Runtime). Поэтому, если вы пока не знакомы с .NET Framework, я настоятельно рекомендую вам прочесть что-нибудь на эту тему. Будучи основанной на CLR, защита по правам доступа кода возможна только ... подробнее
используем системный вызов sendfile
2005/09‣программирование
Системный вызов sendfile — это относительно недавнее введение в ядро Linux, предлагающее значительные улучшения производительности приложений вроде FTP- и веб-серверов, которым необходима эффективная передача файлов. Sendfile позволяет производить высокоскоростную передачу данных по сети, что как раз и необходимо для таких приложений, как веб и FTP-серверы. Если вы являетесь разработчиком подобных приложений, вы можете воспользоваться новым ... подробнее
практическое введение в JMX
2005/08‣программирование
Что такое JMX? Если вы думаете, что это еще один побочный фреймворк, не заслуживающий вашего внимания, то вы глубоко заблуждаетесь. Java Management eXtensions (JMX) – это фактически одна из самых основных функциональных частей современного процесса разработки и управления приложениями. Эту технологию сегодня используют такие производители J2EE-серверов, как JBoss, WebLogic и многие другие. Ниже мы рассмотрим структуру JMX и примеры ... подробнее
обработка запросов в Apache
2005/05‣программирование
Обработка НТТР-запросов - это основная задача большинства сетевых программ. В этой статье мы расскажем об обработке запросов в Apache, и о том, как модули могут вставлять собственные хуки в обработку запроса при создании различных прикладных программ и компонентов. Статья должна помочь разработчикам в освоении работы с модулями Apache, и дать необходимые знания для лучшей работы с документированным API и кодом Apache. введение В ... подробнее
типичные проблемы с безопасностью PHP-программ
2005/04‣программирование
Цель этой статьи - обратить внимание PHP-программистов на общие ошибки безопасности, которые легко допустить в PHP-скриптах. В то время как многое из нижеследующего кажется очевидным, на практике эти вещи нередко попросту забываются. Используя следующие советы, вы убережетесь от подавляющего большинства ошибок безопасности, поразивших громадное количество скриптов. Многие из описываемых ошибок были найдены в широко используемых открытых ... подробнее
основы управления ресурсами в Apache: APR-пулы (pools)
2005/04‣программирование
APR пулы (pools) - это основные строительные блоки в APR (Apache Portable Runtime, подробности на apr.apache.org) и Apache, а также основа для всего управления ресурсами. Они служат для выделения памяти, либо напрямую (на malloc-подобный манер), либо косвенно (как, например, в операциях со строками), и гарантируют полное высвобождение памяти после использования. Также они гарантируют, что для таких ресурсов, как, например, файлы или мьютексы, ... подробнее
сравнительный тест эффективности языков программирования для web
2004/09‣программирование
Сравнивать всегда интересно и сложно одновременно - особенно в случае, когда сравниваемые системы выполняют одинаковые функции, но делают это по-разному. Современные веб-приложения становятся все более изощренными и все более перегружаются сложной логикой. Раньше производительность таких приложений определялась, в основном, скоростью работы того или иного SQL-сервера и тем, существует ли для него достаточно эффективная реализация ... подробнее
Oracle и Perl – это очень просто
2004/08‣программирование
... «Нужен мне работник: Повар, конюх и плотник. А где найти мне такого Служителя не слишком дорогого ?» А. С. Пушкин, «Сказка о попе и его работнике Балде». введение Perl – общедоступный язык программирования, существующий на разных платформах. Общедоступность его заключается как в возможности любого желающего законно и даром получить программы и сопутствующие материалы по Интернету, чтобы использовать как угодно, так и в возможности ... подробнее
разработка DNS-приложений: не так страшен черт, как его малюют
2004/04‣программирование
Общий принцип работы системы доменных имен (DNS) понятен и довольно прост. Поэтому предполагается, что вы уже знакомы с доменами, зонами и подобными терминами и понимаете, как они работают. Хотелось бы сосредоточиться на практической реализации протокола, с точки зрения администратора, использующего сетевые мониторы, или программиста. Примеры кода, иллюстрирующие работу протокола, приведены на Java, но легко могут быть перенесены на ... подробнее
сетевое программирование в Unix. Часть 4: копаем глубже
2004/03‣программирование
Настойчиво преодолевайте невежество, прививаемое высшим образованием. пролог В жизни программиста, пишущего для интерфейса сокетов, через некоторое время неотвратимо наступает переломный момент. Написание приложения, обрабатывающего несколько подключений одновременно, или работающего под серьезной нагрузкой. Или хитрого клиента, который одновременно общается с несколькими серверами. Существует N-ое количество способов организации ... подробнее
сетевое программирование в Unix. Часть 3. UDP
2004/02‣программирование
(спокойно) Светлое небо, зеленые ели Тихий капель стук по ступенькам крыльца... (экспрессивно, с надрывом) А в полях пожелтевшего белого снега Озверевший конвой доедает з/к Они его ручки — ам, они его ручки — ам (шепотом) Вот так совсем человечка физически уничтожили. (король русского шансона Михаил Брюк, из КВН ) Вот мы и подошли к финальной части букваря, к протоколу UDP и методам работы с ним. Начнем традиционно, с клиента, и закончим, ... подробнее
шесть вещей, которые должен знать новичок-администратор Squid
2004/02‣программирование
Новички часто сталкиваются с одними и теми же проблемами в администрировании Squid. В этой статье я подробно опишу шесть вещей, которые вам следует знать, прежде чем начинать работать со Squid’ом. Но даже будучи опытным Squid-администратором, вы, возможно, захотите познакомиться с этими подсказками для самопроверки. предельное число дескрипторов файлов Общей проблемой для новичков-пользователей Squid является предельное число ... подробнее
сетевое программирование в Unix. Часть 2. TCP
2004/01‣программирование
Характерная особенность сокетов в том, что их можно объяснять на пальцах часами. А потом слушатель все равно вынужден сам пройти по граблям. Или, может, я рассказчик фиговый?.. :) ...Есть в БГУИР такая кафедра — "Экономическая информатика". Дает весьма эклектичное образование. Многие примеры из этой части взяты в материалах одного курсового этой кафедры. Название его звучало как "Лабораторный практикум: сетевое программирование на С++". ... подробнее
сетевое программирование в Unix. Часть 1
2003/12‣программирование
Полудохлому высшему техническому образованию Беларуси посвящается... редакционное предисловие Опять сокетное программирование?!? Сколько можно?!? — слышу я возгласы некоторых старых читателей СР. Можно было бы, конечно, в ответ на это ограничиться старым добрым «повторением-мать-учением», но я все-таки приведу несколько развернутых доводов, почему мы решили опять (или снова :) вернуться к этой теме. Да, кстати, СР вообще пора бы ... подробнее
безопасное веб-программирование на языке Perl
2003/11‣программирование
Данная статья посвящена проблемам безопасности cgi-приложений и рассказывает о типовых ошибках разработчиков, предлагая возможные пути их устранения. Подаваемый материал большей частью ориентирован на Perl, но во многом применим и к другим языкам. Материал рассчитан на веб-мастеров, администраторов веб-узлов, программистов средней квалификации и новичков, имеющих общее представление о языке Perl и устройстве операционной системы. Да и ... подробнее
Програмирование IPX/SPX-сокетов
2003/08‣программирование
Когда пишут про сокетное программирование, конечно-же подразумевают TCP/IP. Вот тут мы и отступимся от правил и поговорим про IPX/SPX. Многие либо давно забыли это, либо даже и не знали о существовании данных протоколов. Даже Novell в последние годы открещивается от своего детища. Может оно и к лучшему, но тем не менее еще многие программные модули и системы до сих пор используют IPX/SPX. Стало быть, если в общем и целом эти старые ... подробнее
Lisp: побеждая посредственность
2003/07‣программирование
Летом 1995 года мой друг Роберт Моррис и я основали компанию под названием Viaweb. Наш план заключался в разработке программного обеспечения, которое позволило бы пользователю создавать свой онлайновый магазин. Новизна этого софта на тот момент заключалась в том, что он работал на сервере, используя web-страницы как интерфейс. У многих в то время была та же идея, но, насколько я знаю, Viaweb была первым web-приложением. Идея показалась нам ... подробнее
СGI программирование вывода в клиентскую среду
2003/02‣программирование
введение Взаимодействие между пользовательской интерактивной HTML-страницей (среда браузера, клиент) и сервером обслуживается протоколом CGI. При передаче данных от клиентской формы серверу, последний кодирует входные данные, а сценарий CGI декодирует их, а затем функционально обрабатывает и возвращает выходные данные браузеру. Судя по литератере, вопросам передачи и обработки данных, включая их запись на диск или в базу данных уделено ... подробнее