Главная страница » Веб-разработка

Алгоритмы: построение и анализ (Томас Кормен, Чарльз Лейзерсон)

3-е издание

Book Cover: Алгоритмы: построение и анализ (Томас Кормен, Чарльз Лейзерсон)

Книга Алгоритмы: построение и анализ удачно объединяет в себе полноту охвата и строгость изложения материала. Много книг, посвященных алгоритмам, отличается строгостью изложения материала, но страдает определенной неполнотой; другие книги охватывают огромный объем материала, но недостаточно строго излагают его. В книге Алгоритмы: построение и анализ описаны самые разнообразные алгоритмы, сочетается широкий диапазон тем с глубиной и полнотой изложения; при этом изложение доступно для читателей самого разного уровня подготовки. Каждая глава книги относительно самодостаточна и может использоваться в качестве отдельной темы для изучения. Алгоритмы в книге Алгоритмы: построение и анализ описаны простым человеческим языком и с применением псевдокода, который понятен любому, кто хоть в небольшой степени знаком с программированием, а пояснения принципов их работы даны без излишней математической строгости и требуют лишь элементарных знаний.

Первое издание книги Алгоритмы: построение и анализ давно стало стандартным справочным руководством для профессионалов и учебным пособием для университетов. Второе издание было дополнено новыми главами, раскрывающими такие темы, как вероятностный анализ и рандомизированные алгоритмы, линейное программирование. Третье издание также существенно дополнено и пересмотрено. В него вошли две совершенно новые главы, посвященные деревьям ван Эмде Боаса и многопоточным алгоритмам, а глава, посвященная рекуррентности, существенно расширена.

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

Фундаментальный труд Алгоритмы: построение и анализ известных специалистов в области информатики достоин занять место на полке любого человека, чья деятельность так или иначе связана с вычислительной техникой и алгоритмами:

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

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

Описание алгоритмов на естественном языке дополняется псевдокодом, который позволяет любому имеющему хотя бы начальные знания и опыт программирования, реализовать алгоритм на используемом им языке программирования. Строгий математический анализ и обилие теорем сопровождаются большим количеством иллюстраций, элементарными рассуждениями и простыми приближенными оценками. Широта охвата материала и степень строгости его изложения дают основания считать эту книгу одной из лучших книг, посвященных разработке и анализу алгоритмов.

Третье издание этого классического труда в большой степени доработано. В нем появились новые главы, в том числе посвященные такой важной в последнее время теме, как многопоточные алгоритмы, а старые подверглись переработке, местами весьма существенной, когда уже имевшийся во втором издании материал излагается с иных позиций, чем ранее.

Данная книга будет не лишней как на столе студента и аспиранта, так и на рабочей полке практикующего программиста.

Об авторах

Томас Кормен - профессор информатики в колледже Дартмута и бывший директор Института литературы и риторики Дартмутского колледжа.

Чарльз Лейзерсон - профессор информатики и электротехники в Массачуссетском технологическом институте, где также работает и профессор Рональд Ривест.

Клиффорд Штайн - профессор организации производства и исследования операций в Колумбийском университете.

Главная страница » Веб-разработка

Командная строка Linux. Полное руководство (Уильям Шоттс)

Book Cover: Командная строка Linux. Полное руководство (Уильям Шоттс)

Уильям Шоттс знакомит вас с истинной философией Linux. Вы уже знакомы с Linux и настала пора нырнуть поглубже и познакомиться с возможностями командной строки. Командная строка - всегда с вами, от первого знакомства до написания полноценных программ в Bash - самой популярной оболочке Linux . Познакомьтесь с основами навигации по файловой системе, настройки среды, последовательностями команд, поиском по шаблону и многим другим. Прочитав эту книгу вы легко научитесь создавать и удалять файлы, каталоги и символьные ссылки; администрировать систему, включая сетевое оборудование, установку пакетов и управление процессами; редактировать файлы; писать скрипты для автоматизации общих или рутинных задач; выполнять любые работы с текстовыми файлами.
Преодолев начальный страх перед оболочкой Linux, вы поймете, что командная строка - это естественный, логичный и простой способ общения с компьютером. И не забывайте протирать пыль с мышки.

Excerpt:

Я хочу поведать вам историю. Нет, не о том, как в 1991-м Линус Торвальдс создал первую версию ядра Linux. Эту историю вы прочитаете в других книгах о Linux. Я не стану рассказывать вам, как несколькими годами ранее Ричард Столлман начал проект GNU по созданию свободной Unix-подобной операционной системы. И эту апокрифическую историю можно узнать из других книг о Linux. Но я хочу рассказать, как можно вернуть управление своим компьютером.
В конце 1970-х, когда я, будучи студентом колледжа, только начинал заниматься компьютерами, еще продолжалась IT-р

Читать далее

еволюция. Появление микропроцессора сделало возможным приобретение компьютеров простыми людьми, такими как вы или я. Сегодня многим трудно представить себе мир, в котором компьютеры (огромные вычислительные машины) принадлежали только крупным компаниям и правительствам, а обычным людям они были недоступны. Современный мир сильно изменился. Компьютеры повсюду, от крошечных на-
ручных часов до гигантских вычислительных центров, разбросанных по всему миру. Вдобавок к вездесущим компьютерам у нас появились и сети, связывающие их друг с другом, и, благодаря всему этому, для нас начался новый век небывалых личных возможностей и творческой свободы. Но обратили ли вы внимание, что за последние два десятилетия стало происходить кое-что еще? Одна гигантская корпорация захватила контроль над большинством компьютеров в мире и стала
решать за вас, что можно и что нельзя делать с ним. Множество людей по всему миру противостоят этому. Они борются за сохранение контроля над своими компьютерами, создавая собственное программное обеспечение. Они строят Linux. Сейчас принято употреблять термин «свобода» в отношении Linux, но я не думаю, что большинство знает, что в действительности подразумевается под свободой. Свобода — это возможность самому решать, что будет делать ваш компьютер, и единственный путь к достижению этой свободы — знание того, что он делает.
Свобода — это компьютер без секретов, в котором все можно узнать, если только не лениться.

Свернуть
Главная страница » Веб-разработка

Git для профессионального программиста (Скотт Чакон, Бен Штрауб)

Book Cover: Git для профессионального программиста (Скотт Чакон, Бен Штрауб)

Эта книга представляет собой обновленное руководство по использованию Git в современных условиях. С тех пор как проект Git - распределенная система управления версиями - был создан Линусом Торвальдсом, прошло много лет, и система Git превратилась в доминирующую систему контроля версий, как для коммерческих целей, так и для проектов с открытым исходным кодом. Эффективный и хорошо реализованный контроль версий необходим для любого успешного веб-проекта. Постепенно эту систему приняли на вооружение практически все сообщества разработчиков ПО с открытым исходным кодом. Появление огромного числа графических интерфейсов для всех платформ и поддержка IDE позволили внедрить Git в операционные системы семейства Windows. Второе издание книги было обновлено для Git-версии 2.0 и уделяет большое внимание GitHub.

Excerpt:

Если ваша цель — приступить к работе с Git, прочитав всего одну главу, то эта глава перед вами. Именно здесь вы найдете описания базовых команд, необходимых для решения подавляющего большинства возникающих в процессе использования Git задач. Прочитав эту главу, вы научитесь настраивать и инициализировать репозитории, начинать и прекращать слежение за файлами, индексировать и фиксировать изменения. Заодно мы покажем вам, как заставить Git игнорировать отдельные файлы и их группы, как быстро и просто отменить ошибочные изменения, как посмотр

Читать далее

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

Свернуть
Главная страница » Веб-разработка

PHP. Объекты, шаблоны и методики программирования (Мэт Зандстра)

4-е издание

Book Cover: PHP. Объекты, шаблоны и методики программирования (Мэт Зандстра)

О книге:

Четвертое издание книги было пересмотрено и дополнено новым материалом. Книга начинается с обзора объектно-ориентированных возможностей PHP, в который включены важные темы, такие как определение классов, наследование, инкапсуляция, рефлексия и многое другое. Этот материал закладывает основы объектно-ориентированного проектирования и программирования на PHP. Вы изучите также некоторые основополагающие принципы проектирования. В этом издании книги также описаны возможности, появившиеся в PHP версии 5.4, такие как трейты, дополнительные расширения на основе рефлексии, уточнения типов параметров методов, улучшенная обработка исключений и много других мелких расширений языка. Следующая часть книги посвящена шаблонам проектирования, которые органически дополняют тему ООП и являются описанием элегантных решений распространенных проблем, возникающих при проектировании программного обеспечения. В ней описываются концепции шаблонов проектирования и показаны способы реализации нескольких важных шаблонов в приложениях на PHP. В этой же части приведен материал, посвященный шаблонам корпоративных приложений и баз данных.
В последней части книги описывается несколько важных утилит и методик, помогающих осуществить успешный проект на основе разрозненных кусков кода. В этой части книги описано, как управлять работой нескольких программистов с помощью Git, как выполнить построение и развертывание проекта с помощью Phing и PEAR.
Вы также изучите стратегии автоматического тестирования и построения проектов. Кроме обсуждения передовых средств построения и тестирования проектов, а также серверов непрерывной интеграции, в последней части книги описаны лучшие методики организации работы на основе системы контроля версий Git. Тем самым была отражена общая тенденция перехода на новую платформу, которая наметилась в среде разработчиков с момента выхода третьего издания книги.
Эта книга посвящена трем важным темам: основам объектов, принципам объектно-ориентированного проектирования и лучшим методикам их применения. Изучив их в комплексе читатель сможет создавать первоклассные и отказоустойчивые программные системы.

Основные темы книги: 
Основы объектов: написание классов и методов, создание объектов, разработка сложной иерархии классов на основе наследования.
Сложные объектно-ориентированные темы, включая статические методы и свойства, обработка ошибочных ситуаций с помощью исключений, создание абстрактных классов и интерфейсов.
Общие сведения об основных принципах объектно-ориентированного проектирования и их использование для создания эффективной структуры классов и объектов приложения.
Изучение базовых шаблонов проектирования, их структуры и основных принципов, положенных в их основу.
Описание ряда основополагающих шаблонов, которые можно применить в собственных проектах.
Изучение методик и средств, гарантирующих успешное выполнение проекта, включая модульное тестирование, контроль версий, построение и развертывание проекта, управление пакетами, а также сервер непрерывной интеграции Jenkins.

Об авторе:
Мэтт Зандстра почти 20 лет проработал веб-программистом, консультантом по PHP и составителем технической документации. Он был старшим разработчиком в компании Yahoo! и работал в офисах компании как в Лондоне, так и в Силиконовой долине. Сейчас он зарабатывает себе на жизнь в качестве свободного консультанта и писателя. До этой книги Мэтт написал книгу Освой самостоятельно PHP за 24 часа (третье издание), выпущенной в ИД "Вильямс" в 2007 году, а также был соавтором книги DHTML Unleashed (издательство SAMS Publishing). Кроме всего прочего он также писал статьи для Linux Magazine, Zend.com, IBM DeveloperWorks и php|architect Magazine. Мэтт также изучает литературу и пишет фантастические рассказы. Он получил степень магистра в области литературного мастерства (creative writing) в университетах Манчестера и Ист-Англии. В те моменты, когда ему не приходится мотаться по всем уголкам Великобритании при изучении литературы или выполнения какой-либо работы, Мэтт живет в Ливерпуле со своей женой Луизой и двумя детьми, Холли и Джейком.

Excerpt:

Когда меня впервые посетила идея написать эту книгу, меня не покидало чув- ство, что я начал плыть против течения. Дело в том, что довольно много реализаций шаблонов проектирования в PHP напоминали популярный обходной маневр в связи с ограничениями, наложенными языком программирования. Хотя сегодня уже до- статочно трудно поспевать за всеми теми нововведениями в области объектно- ориентированного программирования, проектирования и методик ведения проек- тов, которые появились в PHP. Если пер

Читать далее

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

Свернуть
Главная страница » Веб-разработка

PHP 7. В подлиннике (Дмитрий Котеров, Игорь Симдянов)

Book Cover: PHP 7. В подлиннике (Дмитрий Котеров, Игорь Симдянов)

Рассмотрены основы языка PHP и его рабочего окружения в Windows, Mac OS X и Linux. Отражены радикальные изменения в языке PHP, произошедшие с момента выхода предыдущего издания: трейты, пространство имен, анонимные функции, замыкания, элементы строгой типизации, генераторы, встроенный Web-сервер и многие другие возможности. Приведено описание синтаксиса PHP 7, а также функций для работы с массивами, файлами, СУБД MySQL, memcached, регулярными выражениями, графическими примитивами, почтой, сессиями и т. д.
Особое внимание уделено рабочему окружению: сборке PHP-FPM и Web-сервера nginx, СУБД MySQL, протоколу SSH, виртуальным машинам VirtualBox и менеджеру виртуальных машин Vagrant. Рассмотрены современные подходы к Web-разработке, система контроля версий Git, GitHub и другие бесплатные Git-хостинги, новая система распространения программных библиотек и их разработки, сборка Web-приложений менеджером Composer, стандарты PSR и другие инструменты и приемы работы современного PHP-сообщества.
В третьем издании добавлены 24 новые главы, остальные главы обновлены или переработаны.
На сайте издательства находятся исходные коды всех листингов.

Excerpt:

Книга, которую вы держите в руках, является в некотором роде учебником по web-программированию на PHP. Мы сделали попытку написать ее так, чтобы даже плохо
подготовленный читатель, никогда не работавший в Web и владеющий лишь основами
программирования на одном из алгоритмических языков, смог получить большинство
необходимых знаний и в минимальные сроки начать профессиональную работу в Web.