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

Vue.js в действии

Book Cover: Vue.js в действии

Купить:

Vue.js - это популярная библиотека для создания пользовательских интерфейсов. В ней значительно переосмыслены реактивные идеи, впервые появившиеся в React.js.
Книга "Vue.js в действии" рассказывает о создании быстрых и эластичных пользовательских интерфейсов для Интернета. Освоив ее, вы напишете полноценное приложение для интернет-магазина, где будут присутствовать списки товаров, админка, а также организован полноценный процесс онлайнового заказа.

Excerpt:

Для чего нам Vuex

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

Читать далее

Если у вас уже есть опыт работы с другими фреймворками для создания одностраничных приложений, некоторые из этих концепций могут показаться знакомыми. Например, React использует похожую систему управления состоянием под названием Redux. Vuex и Redux созданы под влиянием проекта Flux. Это архитектура, предложенная компанией Facebook, которая призвана упростить построение клиентских веб-приложений. Она способствует движению данных в одном направлении: от действий к диспетчеру, затем к хранилищу и в конце — к представлению. Такой подход позволяет отделить состояние от остальной части приложения и поощряет синхронные обновления. Больше о Flux можно узнать из официальной документации на странице facebook.github.io/flux/docs/overview.html.

Vuex работает по тому же принципу, помогая изменять состояние предсказуемо и синхронно. Разработчикам не нужно беспокоиться о последствиях обновления состояния синхронными и асинхронными функциями. Представьте, что мы взаимодействуем с серверным API, который возвращает данные в формате JSON. Что произойдет, если в тот же момент эти данные будут модифицированы сторонней библиотекой? Мы не хотим получить непредсказуемый результат. Vuex помогает избежать подобных ситуаций, исключая любые асинхронные изменения.
Вам, наверное, интересно, зачем нам вообще нужна библиотека Vuex. В конце концов, Vue.js позволяет передавать информацию в компоненты. Как вы знаете из предыдущих глав, для этого предназначены входные параметры и пользовательские события. Мы даже могли бы создать собственную шину событий для передачи данных и межкомпонентного взаимодействия. Пример такого механизма представлен на рис. 10.1.

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

Как раз для таких ситуаций и создана библиотека Vuex. Она позволяет организовать работу с состоянием в виде централизованного хранилища. Представьте сценарий, в котором стоит задуматься о применении Vuex. Например, мы работаем над блогом со статьями и комментариями, которые можно создавать, редактировать и удалять. При этом у нас есть панель администрирования, позволяющая блокировать и добавлять пользователей.

Посмотрим, как это реализуется с помощью Vuex. На рис. 10.2 видно, что компонент EditBio является дочерним по отношению к панели администратора. Ему нужен доступ к информации о пользователе, чтобы он мог ее обновить. Работая с Vuex, мы можем обратиться к центральному хранилищу, изменить данные и сохранить изменения непосредственно из компонента EditBio. Это намного лучше, чем передавать информацию из корневого экземпляра Vue.js в компонент Admin, а затем в EditBio с помощью входных параметров. Нам было бы сложно уследить за данными, размещенными в разных местах.

Свернуть

Купить:

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

Путь PYTON. Черный пояс по разработке, масштабированию, тестированию и развертыванию

Book Cover: Путь PYTON. Черный пояс по разработке, масштабированию, тестированию и развертыванию

Купить:

"Путь Python" позволяет отточить ваши профессиональные навыки и узнать как можно больше о возможностях самого популярного языка программирования. Эта книга написана для разработчиков и опытных программистов. Вы научитесь писать эффективный код, создавать лучшие программы за минимальное время и избегать распространенных ошибок. Пора познакомиться с многопоточными вычислениями и мемоизацией, получить советы экспертов в области дизайна API и баз данных, а также заглянуть внутрь Python, чтобы расширит понимание языка.
Вам предстоит начать проект, поработать с версиями, организовать автоматическое тестирование и выбрать стиль программирования для конкретной задачи. Потом вы перейдете к изучению эффективного объявления функции, выбору подходящих структур данных и библиотек, созданию безотказных программ, пакетам и оптимизации программ на уровне байт-кода.
Из этой книги вы узнаете как:
- Создавать и использовать эффективные декораторы и методы
- Работать в функциональном стиле
- Расширять flake8 для работы с абстрактным синтаксическим деревом
- Использовать динамический анализ производительности для определения узких мест
Работать с реляционными базами данных и эффективно управлять потоковыми данными с помощью PostgreSQL.
Поднимите навыки владения Python с базового на высокий уровень. Получите советы экспертов и станьте профи!

Excerpt:

Параллельный запуск тестов

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

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

Читать далее

Для этого в pytest есть плагин pytest-xdist, который можно установить с помощью pip. Этот плагин расширяет командную строку pytest аргументом ––numprocesses (сокращенно –n), принимающим в качестве аргумента количество используемых ядер. Запуск pytest –n 4 запустит тестовый набор в четырех параллельных процессах, сохраняя баланс между загруженностью доступных ядер.

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

Создание объектов, используемых в тестах, с помощью фикстур

В модульном тестировании часто придется выполнять набор стандартных операций до и после запуска теста, и эти инструкции задействуют определенные компоненты. Например, может понадобиться объект, который будет выражать состояние конфигурации приложения, и он должен инициализироваться перед каждым тестированием, а потом сбрасываться до начальных значений после выполнения. Аналогично, если тест зависит от временного файла, этот файл должен создаваться перед тестом и удаляться после. Такие компоненты называются фикстурами. Они устанавливаются перед тестированием и пропадают после его выполнения.

В pytest фикстуры объявляются как простые функции. Функция фикстуры должна возвращать желаемый объект, чтобы в тестировании, где она используется, мог использоваться этот объект.

Свернуть

Купить:

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

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

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.