Есть вопрос?
Зайди на форум

Поиск:

Denix: русификация Ubuntu и кодеки :: RSS:: Скачать книги Колисниченко в PDF

Англо-русский словарь компьютерных терминов (Д. Колисниченко)

A  B  C  D  E  F  G  H  I  K  L  M  N  O  P  Q  R  S  T  V  W  X  Y  Z 

укрпочта отслеживание посылок перевод денег график отключения света в Кировограде график отключения счета в Киеве график отключения света в Одессе (zip)

Книга Д. Колисниченко IRC, IRC-каналы, IRC-боты: как пользоваться и как сделать самому. Избранные технологии Интернета

15.1. Что мы ищем? Мы и сами не знаем

Предположим, нам нужно написать небольшую программу, которая ищет какое-то слово в файле. Ничего сложно в этом нет, не правда ли? Без разницы – текстовый файл или двоичный. Алгоритм поиска известного значения довольно прост: читаем блок файла (например, строку), сравниваем прочитанный блок с указанным значением, точнее проверяем, есть ли искомое значение в прочитанном блоке. Конечно, при этом могут возникнуть определенные неприятные моменты, например, нам нужно найти строку abc в двоичном в следующем файле:

Gh23abc hkj\34^%<-

Мы читаем его по пять символов сравниваем прочитанный блок с известным нам значением

Первый блок: Gh23a Сравниваем: совпадений нет

Второй блок: bc hk Сравниваем: совпадений нет

...

Последний блок: 4^%<- Сравниваем: совпадений нет

В итоге получается, что искомое значение в файле есть, а результат поиска – совпадений нет. Но это ошибка нашего алгоритма: если его изменить, найти искомое значение будет очень просто, как говорится, это уже нюансы.

Почему я выделил слово «известное»? Да потому что искомая величина может быть неизвестной – это как в математике: мы знаем, что мы должны найти (корень уравнения), мы знаем его характеристики (например, действительное или комплексное число), но мы ведь заранее не знаем его значение? Вот точно такая же ситуация складывается сейчас у нас с вами: нам нужно что-то найти в файле, что именно – мы и сами не знаем. Например, у нас есть файл:

Abs ecu brembo 777

Нам нужно найти последовательности символов, окруженные пробелами (“ecu” и “brembo”). Файл мы не открывали и не знаем заранее, какие именно значения мы получим. Можно, конечно найти первый пробел, запоминать символы до второго пробела, вывести сохраненную последовательность символов и опять искать следующий пробел. Но такой алгоритм будет выглядеть, мягко говоря, неказистым.

Второй пример – найти в файле все URL. Мы знаем, что URL имеют формат:

[http|ftp|gopher]://[узел].[домен][.домен][.домен] [.домен]

Причем первый (в принципе, и второй, и третий, если имеем дело с корпоративной сетью) домен может быть довольно длинной последовательностью символов, а все остальные короткими (точнее, последние два) – от 2 до 4 символов. Попробуйте написать сценарий, выполняющий поиск ссылок, а потом посмотрите какой он компактный, быстрый и эффективный. Шутка.

Еще один пример. Довольно простая задача: программе передается имя файла (file.txt), она записывает резервную копию в файл с расширением .bak (file.bak) и продолжает работу с файлом. Нужно изменить расширение файла. Задача очень простая – на PHP ее можно решить, вызвав всего три оператора: найти позицию точки, скопировать все символы до точки, «приклеить» к полученной последовательности расширение .bak. А потом начинаются нюансы: что если передали файл без расширения (file) или в файле есть более одной точки (report.May.2005.txt)? Тогда уже тремя операторами не обойдешься.

На главную

Мне нравится!

Сегодня: 18/01

Поздравлять сегодня некого

Последние посты форума

Интересная картинка

Samsung Galaxy J2 Prime (SM-G532F)

дааа

Обучение PHP-программированию

Новый дизайн сайта

Возвращение на динамическую страницу сайта

С Новым Годом!

Бесплатный хостинг, SSL сертификат, не ограниченно

капец погода в ноябре у нас

Посоветуйте хостинг

флэшмобы

вот люди где живут... экстрим

авто-дилеры

Программы для Linux

книга Командная строка Linux и автоматизация рутинных задач

Совет:

Книги Д. Колисниченко:

Linux

Ubuntu Linux. Краткое руководство пользователяUbuntu Linux. Краткое руководство пользователя
Книга ориентирована на начинающего пользователя Ubuntu Linux. Книга устарела, вместо нее издана Ubuntu 10. Краткое руководство пользователя (тоже издательство БХВ)                                                                                                                                          

Linux. От новичка к профессионалуLinux. От новичка к профессионалу
Даны ответы на все вопросы, возникающие при работе с Linux: от установки и настройки этой ОС до настройки сервера на базе Linux. Материал книги максимально охватывает все сферы использования Linux                                                                                                         

Руководство по командам и shell-программированию в LinuxРуководство по командам и shell-программированию в Linux
Рассмотрены команды Linux, основы работы в командной строке, а также настройка системы с помощью программ, обладающих только текстовым интерфейсом. Работа с системой выполняется только в режиме консоли, что требует определенной квалификации пользоват                                                   

PHP

PHP 5 в теории и на практикеPHP 5 в теории и на практике
Это продолжение Самоучителя PHP5 с новыми приемами программирования на PHP. Отличный выбор для начинающего PHP-программиста. Книга устарела и не поддерживается.                                                                                                                                            

Профессиональное программирование на PHPПрофессиональное программирование на PHP
Книга рассчитана на программистов, уже освоивших азы программирования на PHP. Приводятся сведения об отладке, анализе и оптимизации кода                                                                                                                                                                     

PHP 5/6 и MySQL 6. Разработка Web-приложений. 2-е издPHP 5/6 и MySQL 6. Разработка Web-приложений. 2-е изд
На практических примерах описана разработка Web-приложений на языке PHP версий 5 и 6. Большая часть кода примеров совместима с обеими версиями PHP, но особое внимание уделено новым функциям PHP 6. Даны начала программирования на PHP: установка и наст                                                   

Интернет/CMS

Drupal 7. Руководство пользователяDrupal 7. Руководство пользователя
Эта книга — простое и эффективное учебное пособие по освоению и использованию системы управления контентом веб-сайта Drupal версии 7.0                                                                                                                                                                       

Выбираем лучший бесплатный движок для сайта. CMS Joomla! и Drupal Выбираем лучший бесплатный движок для сайта. CMS Joomla! и Drupal
Книга ориентирована как на обычных пользователей Интернета, которым нужно в кратчайшие сроки создать свой сайт, так и на разработчиков, которые заинтересованы в построении собственной CMS                                                                                                                  

Самоучитель Joomla!Самоучитель Joomla!
Книга ориентирована как на обычных пользователей Интернета, которым нужно в кратчайшие сроки построить свой сайт, так и на разработчиков, которые заинтересованы в создании собственных расширений и шаблонов для популярной системы управления контентом                                                   

Компьютер/Windows

Новейший самоучитель компьютера и ИнтернетНовейший самоучитель компьютера и Интернет
О такой книге долгие годы мечтали миллионы начинающих пользователей, которые осваивали технику самостоятельно или по непонятным, громоздким руководствам.                                                                                                                                                    

Супер Флешка. 150 лучших программ, игр и утилит, работающих прямо с флешкиСупер Флешка. 150 лучших программ, игр и утилит, работающих прямо с флешки
На сегодняшний день практически у каждого пользователя компьютера имеется флешка, которая используется для переноса файлов                                                                                                                                                                                   

Компьютер. Большой самоучитель по ремонту, сборке и модернизацииКомпьютер. Большой самоучитель по ремонту, сборке и модернизации
Эта книга - самый полный и, по словам экспертов, "самый полезный" самоучитель по ремонту, модернизации и сборке компьютера своими силами.                                                                                                                                                                    

Сети

Самоучитель системного администратора. 4-е изд.Самоучитель системного администратора. 4-е изд.
Изложены основные задачи системного администрирования, описаны базовые протоколы, даны рекомендации по выбору оборудования и проведению ежедневных рутинных операций. Подробно раскрыты технологии, используемые при построении информационных систем, опи                                                   

Беспроводная сеть дома и в офисеБеспроводная сеть дома и в офисе
Книга поможет начинающему администратору домашней или офисной сети в кратчайшие сроки развернуть, настроить или модернизировать беспроводную сеть. Отличный выбор для построения сети SOHO                                                                                                                   

Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.
Книга о настройке сети в Windows (98,NT,XP) и Linux. Является превосходным практическим руководством по созданию и обслуживанию компьютерных сетей.                                                                                                                                                          

Безопасность

Анонимность и безопасность в Интернете. От Анонимность и безопасность в Интернете. От "чайника" к пользователю
Простым и понятным языком рассказано, как скрыть свое местонахождение и IP-адрес, используя анонимные сети Tor и I2P, посетить заблокированные администратором сайты, защитить личную переписку от посторонних глаз                                                                                          

Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.
-                                                                                                                                                                                                                                                                                                            

Автомобили

Особенности безопасной езды в разных условиях (город, бездорожье, гололед, горный серпантин).Особенности безопасной езды в разных условиях (город, бездорожье, гололед, горный серпантин).
Безопасная езда - это когда целы машина, пассажиры, водитель и деньги водителя                                                                                                                                                                                                                               

Перед покупкой авто. Все, что необходимо знать покупателюПеред покупкой авто. Все, что необходимо знать покупателю
Книга отвечает на все вопросы, которые нужно прояснить для себя перед...                                                                                                                                                                                                                                     

Популярный самоучитель безопасного вожденияПопулярный самоучитель безопасного вождения
Ценность этой книги в том, что впервые советы вам будет давать проверенный профи: президент клуба BMW! Как быстро и правильно научиться водить машину, парковаться, разгоняться, тормозить.                                                                                                                  

Переводные книги

Переводные книгиПереводные книги
Данные книги были переведены мною на русский язык (с английского и чешского). Надеюсь качество перевода вам понравится!                                                                                                                                                                                      

Android

Безопасный Android: защищаем свои деньги и данные от кражиБезопасный Android: защищаем свои деньги и данные от кражи
Рассмотрены различные способы обеспечения безопасности Android-устройств: шифрование персональной информации, хранящейся на устройстве, шифрование передаваемых данных, VPN-соединения, анонимизация трафика                                                                                             

Планшет и смартфон на базе Android для ваших родителей, 2-е изд.Планшет и смартфон на базе Android для ваших родителей, 2-е изд.
Книга знакомит читателя с мобильными устройствами на базе Android. Она написана простым и понятным языком для людей среднего и старшего возраста                                                                                                                                                             

Планшет и смартфон на базе Android для ваших родителейПланшет и смартфон на базе Android для ваших родителей
Книга рассчитана на людей среднего и старшего возраста. Она поможет освоить современный «карманный компьютер» на базе Android, в котором все новое и "не так, как в Windows". Доступным языком описывается, как включить и выключить смартфон и т.д.                                                         

Статьи

Rambler's Top100