... -3bb0bb1f86bdLarge.jpg" alt="
Rigged prehistoric dino ... 3d model of
Rigged is a ...
The 3d model of Spinosaurus Rigged is a high quality model that will enhance detail and realism to your rendering projects. The model has a fully textured design that allows for close-up renders, and was originally modeled in 3ds Max 2012 and rendered with V-Ray.
Если вы уже знаете, что такое B+tree, Fractal tree, LSM, SSTable, columnar storage, Bloom filter, read/write amplification, что значат буквы No в слове NoSQL, каким чудом поколоночные базы жмут данные в 100+ раз, и почему файл на диске тоже NoSQL, только маленький и злой, вам совершенно нечего делать на этом докладе. Для всех остальных мы устроим краткий обзор всего цветничка разных структур хранения данных, использующихся в современных постреляционных БД и, понятное дело, попытаемся еще сильнее запутать ответы на главные вопросы бытия («Так все же SQL или NoSQL победит?», «Какую базу брать?» и т.д. )
Если Вам интересна эта тема — голосуйте за эту заявку на DevConf::Storage!
Изначально я разрабатывал этот проект для родной веб-студии. ...
Вступительное слово
Изначально я разрабатывал этот проект для родной веб-студии. Я начинал разработку со следующими принципами:
- Среда должна разворачиваться максимально просто, с этим должен справиться любой новичок-стажер или даже менеджер, если понадобится.
- Среда должна обеспечивать меня и любого разработчика всем необходимым серверным ПО, при этом инкапсулируя его в виртуальной среде.
- Сами файлы проектов должны находиться в каталоге, разделяемом хостом и виртуальной машиной, а именно в каталоге проектов IDE. Даже если разработчик — ярый сторонник текстовых редакторов и поклялся на крови, что никогда его жесткий диск не примет в себя ни одной IDE, ему этот принцип так же будет на руку.
- Хост должен иметь доступ к СУБД, Memcache и Sphinx, запущенным на виртуальной машине, для проведения работ, не требующих «тяжелой артиллерии», а значит проводящихся прямо на машине разработчика — например, для разработки на Django или разработки утилит, общающихся с этими сервисами.
- Должен быть легкий способ сделать резервную копию данных, спрятанных в виртуальной машине.
Но позже я понял, что наши потребности не слишком расходятся с потребностями других веб-разработчиков, а значит, не будет лишним поделиться с народом этим проектом. К тому же, если к нему будет проявлен интерес, и я получу фидбек, а то и пул-реквесты (а я буду несказанно счастлив, если получу все это), это несомненно повысит качество разработки. К тому же, даже если кому-то сама данная разработка покажется неинтересной, описанные мной детали могут помочь в создании собственной среды на базе выбранных мной технологий.
Для достижения поставленных целей я выбрал Vagrant, так как нет по моему скромному мнению более удачной утилиты для распространения виртуальных машин для разработки. Из списка базовых боксов я выбрал машину на моем любимом и очень популярном Debian Wheezy, к тому же размер выбранного бокса всего 295 Мб.
Проект находится на GitHub'е и ждет своего часа. Он обеспечивает:
- Веб-сервер (Apache 2.2 + PHP 5.4),
- Xdebug с возможностями удаленной отладки, профилирования и создания трейсов по триггеру,
- СУБД: MySQL, PostgreSQL, Redis,
- Memcache,
- Sphinx с организацией удобной конфигурации с помощью
conf.d
.
Так же внутри установлены PHPUnit + DBUnit, Python 2, SQLite и еще некоторое количество приятных вещей. Этот набор сервисов обусловлен нашими потребностями, но если сообществу будет интересно видеть что-то еще — не думаю, что будет проблемой добавить это.
Не будет лишним упомянуть, что в каталоге bin имеются различные утилиты для повышения удобства работы и для управления состоянием виртуальной машины.
VagrantWebdev был протестирован на Windows и на Ubuntu 13.10, и я был бы очень благодарен за помощь в тестировании на других платформах.
Далее я хочу поделиться подробностями о разработке и возможностях VagrantWebdev, которые могут быть просто интересны, могут помочь в использовании или при разработке собственного проекта на базе тех же технологий.
Читать дальше →