LXML: Быстрая и гибкая обработка XML и HTML в Python

  • Python
  • 3 года назад

Для обработки XML и HTML можно использовать и BeautifulSoup, но эта библиотека использует слишком много памяти и не удовлетворяют требованиям по скорости для больших файлов. Библиотека LXML очень быстро открывает и обрабатывает большие XML или HTML файлы, поэтому мы и будем рассматривать её в этой статье.

Установить её вы можете отсюда. Давайте рассмотрим работу библиотеки на примерах.

Читать далее...

Центрирование элементов по вертикали на чистом CSS

  • CSS
  • 3 года назад

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

~~~{.css} display: block; width: 100%;


Также легко отобразить элементы вдоль горизонтальной оси используя плавающие элементы (float). Однако если вы хотите сделать элементы динамически на обе оси, то у вас будет не так много вариантов для этого. В таком случае вам придётся использовать обходные пути или способы основанные на JavaScript. Но на данный момент новая спецификация CSS column (CSS столбцы) дает нам новую надежду на достижение этой цели используя только чистый CSS. Примечательно, что CSS столбцы отдают приоритет вертикальному выравниванию перед горизонтальным.

### Горизонтальное центрирование

Горизонтальное центрирование сделать очень просто. Существует несколько способов для достижения эффекта горизонтального центрирования элементов:

### Inline-block и Inline элементы с выравниванием текста

Inline-block и Inline элементы, обрабатываются как текст - они рассчитывают свои собственные значения ширины и не реагируют на заявленную ширину, если вы не объявили их как блочные элементы (см. Далее).

~~~{.css}
display: inline; /* [или] display: inline-block; */
text-align: center;
Читать далее...

Начало работы с проектом на Django 1.6

  • Python
  • 3 года назад

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

Читать далее...

Установка Django 1.6 + Apache 2 + mod_wsgi на Ubuntu

  • Python
  • 3 года назад

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

Вы перечитали кучу мануалов, перепробовали всё на свете, но так и не получили работающее приложение. Если вы попали в такую непростую ситуацию, то эта статья расскажет вам, как установить и настроить Django 1.6 с веб-сервером Apache 2 и операционной системой Ubuntu.

Читать далее...

Использование строки в качестве Twig шаблона в Symfony2

  • PHP
  • 3 года назад

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

Для того, чтобы создать twig шаблон требуется экземпляр класса Twig_Environment. Этот класс содержит метод render, который возвращает обработанный результат из twig шаблона (обычно из файла). Twig Environment использует загрузчик классов, который реализует интерфейс Twig_LoaderInterface, этот класс загружает данные из хранилища (файл, база данных) для последующего их анализа шаблонизатором. По умолчанию Symfony2 использует класс Twig_Loader_Filesystem, который загружает данные шаблонов из файлов, для того чтобы создать шаблон из строки нам нужен экземпляр Twig_Environment, который для получения данных, использует класс Twig_Loader_String. Есть несколько способов, как вы можете это сделать, самый простой способ - это создать экземпляр Twig_Environment и и в качестве загрузчика передать ему экземпляр класса Twig_Loader_String (этот код можно поместить внутри вашего контроллера):

Читать далее...

Тестирование веб-приложений с помощью Codeception

  • PHP
  • 3 года назад

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

Читать далее...

Тестирование Symfony 2 приложений с помощью codeception

  • PHP
  • 3 года назад

Какие преимущества вы получаете, используя Codeception с Symfony2? Давайте перечислим все из них:

  • удобный синтаксис для функциональных тестов
  • доступ к контейнеру в юнит-тестах
  • тестирования REST и SOAP сервисов, созданных с помощью Symfony
  • быстрая очистка данных при использовании Doctrine2

Установка очень проста. Вы можете использовать Composer (как вы обычно это делаете), но мы рекомендуем попробовать phar package. В этом случае вы можете избежать ненужных зависимостей. Но оба варианта равнозначны. Чтобы установить codeception через composer необходимо добавить в composer.json следующий код, а затем обновить:

Читать далее...

Создание слайдера используя twitter bootstrap 3

  • CSS
  • 3 года назад

Twitter Bootstrap 3 один из лучших CSS фреймворков для разработки и дизайна систем управления содержимым. С помощью него с лёгкостью можно создавать блоги или страницы портфолио используя систему сеток Twitter Bootstrap (grid layout). В основе многих систем CMS есть базовый компонент “Слайдер” (Carousel), в основном - это последовательное автоматическое отображение изображений, но слайдер может быть каким-угодно: он может отображать последние выполненные проекты, отзывы ваших клиентов, описание специальных предложений, ссылки на новости или последние статьи из вашего блога. В этой статье, мы изучим то, как создать слайдер используя Twitter Bootstrap 3 Carousel компонент.

Читать далее...