Архив за 22 января 2013

Пол Грэм: Как найти идею для стартапа (часть вторая)
Данный пост является продолжением первой части перевода одной большой статьи Пола Грэма о том, как найти свою стартап-идею. Это не пошаговая инструкция, а скорее глубокое философское эссе Грема, основанное на его богатом опыте в качестве основателя YCombinator — самом успешном стартап-акселераторе. Продолжаем:

Сознание

Но как определить, есть ли путь «наружу» у идеи? Как понять, является ли это зачатком большой компании или всего лишь продуктом, обреченным на узкую нишу? Часто это не возможно сделать. Фаундеры AirBnb не осознавали в начале, на рынок какого масштаба они покусились. Изначально у них была более узкая идея. Они собирались позволить владельцам сдавать свое пространство во время выставок, конференций. Они не предвидели экспансию этой идеи; она сама себя навязывала постепенно. Все что они знали в начале, что на крючке какая-то рыба. Возможно, это столько же, сколько знали изначально Билл Гейтс и Марк Цукерберг.
Читать полностью »

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

Сегодня поговорим о том, какие внутри OpenStack есть варианты планирования виртуальных сетей, подсетей, внутренних IP-адресов виртуальных машин, способов трансляции их в реальные IP-адреса и обеспечения безопасности разделения сред между ВМ разных клиентов.
За работу с сетевой частью OpenStack отвечает библиотека Quantum, которая обеспечивает функцию «сеть как сервис» между сетевыми интерфейсами ВМ (vNIC) под управлением других сервисов OpenStack, фактически предоставляя API, позволяющее управлять всей сетевой частью облака. В зависимости от поставленных задач и спроектированной целевой конфигурации облака, к Quantum можно подключать плагины, обеспечивающие те или иные сетевые функции. Обязательно стоит внимательно рассмотреть такие плагины, как Open vSwith, Cisco UCS/Nexus, Linux Brige, NEC OpenFlow, Nicira Network Virtualization Platform (NVP) и некоторые другие. После чего станет понятно, как именно вы будете проектировать сеть своего Cloud’а. Более подробно о конфигурации Quantum можно прочитать, например, в Administration Guide по Quantum — написано хорошо и достаточно полно. Цель сегодняшнего поста в том, чтобы осветить возможности проектирования различных вариантов построения виртуальной сетевой инфраструктуры OpenStack’а и их основных отличий друг от друга.

Вариант 1. Общая сеть

Самый простой вариант – одна общая подсеть для размещения ВМ.

image

Каждая ВМ находится в собственном тенанте с IP-адресом из общей сети, которая может быть только одна. Понятно, что данные на всех интерфейсах ВМ доступны на всех других сетевых интерфейсах, подключенных в эту сеть. Tcpdump рулит. Это скорее тестовая среда, нежели реальный рабочий workaround.
Читать полностью »

И снова о… LAMP и базово защищённый мини хостинг своими рукамиУвидев в очередной раз презренный посыл в Google в ответ на вопрос о том, как развернуть собственную LAMP'у, решил написать данный пост. Чтобы хоть как-то разбавить тонны радостных отчётов об успешной установке из блогов, суть которых сводится к одной команде aptitude install bla-bla.

Нет, ну конечно понятно, PHP самый надёжный язык, а все движки сайтов, на нём написанные, являются живым воплощением непробиваемой защиты от взлома. Тогда да — aptitude install apache2 — и будет вам счастье. Не забудьте оставить phpmyadmin по дефолтному адресу, да поставьте какое-нибудь дырявое FTP решето.

Вообще, как оказалось, многие даже не в курсе, что взломав сайт и получив возможность исполнять свой PHP код, злоумышленник на системе с дефотными настройками сможет как минимум прочитать в вашей системе почти что угодно. Оно и понятно — работая с Linux привыкаешь как-то, что по дефолту безопасность находится на вполне достаточном уровне. А тут такая дыра…

В общем — в этой статье в очередной раз описывается банальщина на тему как развернуть LAMP и дать доступ внешним пользователям к файлам и базам ваших сайтов. Т.е. как быстро сделать мини-хостинг своими руками. Однако, в отличие от, хостинг у нас будет хотя бы базово защищённым.

Те, кому тема веб-серверов надоела, возможно смогут найти в статье интересные приёмы многопользовательского ограниченного доступа к серверу по SFTP.
Читать полностью »

На php отправка mail реализуется одной строчкой кода! А на java- нужно 3 недели??!
(из разговоров с разработчиками и менеджерами)

Трудозатраты на реализацию «простого» модуля отправки Email в приложении с модульной архитектурой
Статья не о том, как отправлять почту на java. Моя цель — показать сложности модульной разработки больших приложений (на примере разработки ERP River).

Итак, задача: реализовать сервис отправки по email (war).

Этапы разработки:

Читать полностью »

«И эти дурацкие иконки! Пиктограмма — это знак, который ни на одном человеческом языке невозможно объяснить. Не зря же появилась речь!»
Джеф Раскин.

Сегодня, какой бы продукт не проектировался, почти всегда уместно или нет — используются иконки. Заказчики требующие использования иконок в интерфейсе настолько свыклись с ментальностью повсеместного использования иконок, что это обстоятельство можно принимать за культурный феномен. Того же принципа придерживаются почти все разработчики.
Почему так получилось? Что в иконках не так? Можно ли без них обойтись?
Давайте попробуем разобраться.

Читать полностью »

image

Activision Blizzard проведет на Game Developers Conference в марте презентацию, на которой расскажет о технологиях следующего поколения для рендеринга персонажей.

Хорхе Хименес (Jorge Jimenez), занимающийся научными исследованиями в области реал-тайм графики в Activision Blizzard, проведет часовую презентацию под названием «Фотореалистичный рендеринг глаз и их деформаций», на которой он собирается поделиться продвинутыми техниками по «созданию фотореалистичных персонажей для „железа“ и игр следующего поколения».
Читать полностью »

Приветствую!

Рад сообщить, что в прошедшие выходные, после долгого затишья, состоялся релиз моей небольшой, но смею надеяться, полезной поделки — гема TheSortableTree (rails 3, rails 4).

TheSortableTree — это гем, который помогает организовать отрисовку Nested Set деревьев. Но самое главное то, что он позволяет легко и просто управлять вашим Nested Set деревом с помощью удобного перетаскивания элементов в нужное место.

image

В текущей версии гема решена самая главная проблема — скорость отрисовки. Раньше она была чудовищно медленной. Сейчас (в среднем) можно получить скорость отрисовки 1500-2000 узлов в секунду. Я считаю эту скорость приемлемой и достаточной для большинства прикладных нужд.

Ниже (если вам интересно) немного истории создания гема, благодарности, планы, и рассказ о том, как на open source проекты влияет распитие крепкого черного чая вечером после работы.

P.S:

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

Читать полностью »

Как сообщается в блоге Mozilla, первая партия смартфонов под управлением мобильной операционной система Firefox OS будет доступна для разработчиков уже в феврале.
Анонсирован выход смартфонов «Firefox OS developer preview»
Читать полностью »

image

Поступил интересный заказ — сделать аналог chatroulette.com для узкого круга людей, но это не важно, основная задача — это реализовать сервис вещания аудио и видео peer to peer. Велосипедописание сразу же ушло на задний план, была конечно идейка если не найду подходящий бесплатный медиасервер, более того, была даже загатовка для реализации этой задани на AutoIT, заключалась она в следующем:

  • Ожидание движения перед камерой
  • Запись звука во время движения
  • Снимок движения и отправка на сервер почтойftp всех созданных файлов

Но всё это очень кустарно и развивать эту идею не хотелось даже как запасную… День был сложным и я уже был готов отказаться от проекта, но как оказалось даже гугл порой в моменты отчаяния способен проявить сострадание. Вышло так, что послал он меня читать о Red5.
Читать полностью »

После публикации на Хабре своей первой статьи, об одном из способов организации иерархии в реляционной БД, у меня осталось чувство не доведенного до конца дела.
Судя по комментариям, кто-то принимал предложенный метод за другой, спрашивали чем не устраивает “django-mttp”, рассказывали о поддержке деревьев в PostgreSQL…
Спасибо всем отписавшимся, но из-за сумбурного изложения в самой статье, думаю, что я не сумел донести до читателя то, что хотел. А “если я чего решил, то выпью обязательно”(с)

Поэтому, я решился на еще одну попытку изложения интересующего меня подхода. А именно — хранение иерархии в числовом коде, вычисляемом на основании данных о размерности дерева. То есть, заранее определены максимальные количество Уровней и количество Детей у каждого Родителя (возможные диапазоны достаточно велики, поэтому, заранее пугаться этого не стоит). При таких вводных, код, каждого иерархического элемента, будет являться и путем до него, и включать диапазон всех Детей. А это сулит скорость, и много еще чего…
Далее — с картинками и таблицами, без привязки к какой-либо БД (ибо это не важно). В конце статьи есть ссылки на реализацию на Django. Читать полностью »