2013-09-06

Корзина и форма заказа на AngularJS и Twitter Bootstrap

Начнем с предыстории

Давно я что-то не писал в блог. А ведь столько всего произошло и продолжает происходить в мире информационных технологий.
Давно уже поверхностно знакомился с фрейворком для верстки Twitter Bootstrap и JavaScript-фреймворком для разработки веб-приложений AngularJS.
Очень интересные штуки и я просто мечтал выкроить время, чтобы хоть где-то на практике их использовать. И вот это день настал - ко мне обратился бывший сокурсник с просьбой разработать сайт интернет-магазин. Сайт ему нужен был полностью, от "а до я". Дизайнер из меня никакой, поэтому сразу в голову пришла идея - использовать готовое решение Twitter Bootstrap, на мой взгляд его компоненты выглядят достаточно приятно и современно, к тому же накануне вышла обновленная 3-я версия с серьезными переработками и улучшениями. Идея попробовать AngularJS пришла уже по ходу разработки функционала корзины.
Да, еще обратил внимание, что у меня блогозаписи практически не проиллюстрированы и поэтому воспринимаются хуже. Исправляюсь - теперь по возможности будет больше картинок. Неужто, красота Twitter Bootstrap дала мне понять насколько скучны мои посты с одним лишь текстом и вкраплениями кусков кода? :-)

2013-07-08

Небольшой опыт работы с LVM

Менеджер логических томов (англ. Logical Volume Manager) - менеджер логических томов операционных систем Linux и OS/2. LVM - это метод распределения пространства жёсткого диска по логическим томам, размер которых можно легко менять, в отличие от разделов.

Уже давно, когда приходится устанавливать Linux, даже если кажется, что раздел будет один, использую разбивку диска с LVM, ведь все может поменяться. Да и home в отдельном разделе - это удобно.
Базовые понятия LVM:
  • Физический том (англ. physical volume [PV]) - физический жесткий диск или раздел.
  • Группа томов (англ. volume group [VG]) - группа физических томов.
  • Логический том (англ. logical volume [LV]) - аналогичен разделу (hda1, sdb3, etc) на не-LVM системах. По привычке, ниже буду называть тома разделами.
Логические разделы можно перемещать по дискам, менять размеры, расширять один раздел на несколько физических дисков (лично мне особенно нравится такая возможность). Так же, пишут, что с LVM проще делать бекапы, но я с этим еще не разбирался. Полная свобода и масса возможностей по сравнению с обычными разделами.

2013-04-22

Веб-боты и защита от них

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

2013-03-31

Об IT-безопасности

Ага! Только что написал 12-ый пост в этот блог. В планах было рассказать интересную историю, недавно случившуюся на работе. Так пусть она будет постом под номером 13!

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

2013-03-30

REST и разделение сервера и клиента

Intro/Trends

В IT-моду входит адаптивный дизайн. Ведь это раньше (давным-давно) у нас, разработчиков сайтов, был только один PC и IE5-6, под которые в основном и готовились сайты. А что сейчас? Куча платформ и разрешений/размеров экранов. Появились и средства для верстки под разные устройства - например, CSS-фича "@media-queries", по сути, ничего сложного, просто теперь необходимо писать отдельные стили под разные разрешения/размеры и ориентации экранов, рутина, одним словом.
В связи со всем этим назрела необходимость бОльшего разделения клиентской и серверной части. Лично я считаю, что имея кучу различных устройств, достаточно под каждое адаптировать клиентское приложение, а серверная часть должна для всех оставаться независимой, то есть возвращать сырые данные без отображения. REST нам в помощь.
Есть у меня старая CMS, ведь большинство разработчиков пробовали в начале карьеры писать свойские CMS и лишь у единиц получилось вывести их на рынок и начать зарабатывать или, хотя бы, сделать известными в мире Open Source. На этой самой морально устаревшей CMS я и решил попрактиковаться. Задача: реализовать REST API и простенькую админку.

2013-02-10

Облако на своем сервере - ownCloud

Наткнулся на интересный проект - http://owncloud.org/. Опишу здесь вкратце, что меня в нем зацепило.

Плюшки

ownCloud написан на php и позволяет развернуть облачное хранилище на своем сервере.

2013-01-07

Знакомство с физическими движками

Давно хотел поразбираться с физическими движками и вот, наконец-то, дошли руки. Все движки похожи друг на дружку, то есть оперируют одинаковыми понятиями - есть физический мир, разные виды тел с физическими характеристиками, соединения, коллизии и прочее. Отличаются API, платформами/языками реализации и возможностями.
Для примера выбрал box2dweb - javascript-клон другого популярного движка.
Начинаем подготовку - подключим на страницу библиотеку и создадим объект canvas, который будет отображать сотворенный нами физический мирок.