• Tarantool: нагрузочное тестирование


      В статье "Tarantool: Хороший, Плохой, Злой" был описан простой сервис голосования с действующим примером на PHP. Мы увидели, как легко подключить и использовать эту NoSQL базу данных в своих программах. Однако остался без внимания один важный вопрос – зачем это? Какой выигрыш в производительности дает использование NoSQL по сравнению с обычными базами данных?
      Читать дальше →
    • Tarantool: Хороший, Плохой, Злой

      • Tutorial
      image Многие слышали о NoSQL базе данных Tarantool, знают о том, что она умеет хранить данные в памяти, очень быстро их обрабатывает и обладает высокой производительностью. Тарантул был написан серьезными ребятами, которые обслуживают сервисы с сотнями тысяч запросов в секунду.

      Система кажется сложной. Несмотря на российские корни, изначально даже не было документации на русском языке. Чем же может помочь этот мощный инструмент обычным парням — программистам и начинающим разработчикам? Остальные могут сразу посмотреть результат

      Попробуем написать простой занимательный сервис, способный выдержать большую нагрузку. И никакого SQL!
      Начнем!
    • Проксируем и спасаем

      • Tutorial
      1 ноября мир изменился и больше никогда не будет таким же как прежде. В российском интернете появилась цензура — общеизвестный уже список запрещенных сайтов. Для одних это важнейшая политическая тема, для других повод изучить технологии шифрования и защиты анонимности, для третьих просто очередной странный закон, который приходится исполнять на бегу. Мы же поговорим о технологическом аспекте.

      В данном пособии мы узнаем как быстро и просто сделать рабочее зеркало любого сайта, что позволяет сменить IP и назначить любое доменное имя. Мы даже попробуем спрятать домен в url, после чего можно сохранить локально полную копию сайта. Все упражнения можно сделать на любом виртуальном сервере — лично я использую хостинг Хетцнер и OS Debian. И конечно мы будем использовать лучший веб-сервер всех времен и народов — NGINX!

      К этому абзацу пытливый читатель уже приобрел и настроил какой нибудь выделенный сервер или просто запустил Linux на старом компьютере под столом, а так же запустил Nginx последней версии со страничкой «Save me now».
      Cкорее кого-нибудь спасем
    • Черногория — не Таиланд



        Так получилось, что последние пять месяцев я работаю и проживаю в Черногории. Раньше я жил в московской области, работал инженером-руководителем в небольшой, но успешно российской компании и как многие другие задумывался иногда о лучшей жизни. Лучшая жизнь в моем понимании выглядела в виде небольшого домика в горах, недалеко от моря в месте где всегда хорошая погода, дружелюбные люди, хорошая экология и размеренная жизнь. Но дорога к лучшей жизни выглядела трудной — 20 лет ипотеки на квартиру в Москве, потом 10 лет накоплений на домик в горах, поэтому когда появился шанс пропустить все это и сразу попробовать мечту, то я не сомневался.

        Прошло уже достаточно времени, чтобы немного разобраться в черногорской реальности, но все еще сохраняется контакт с родиной и свежесть восприятия, поэтому надеюсь что мои наблюдения можно считать вполне объективными. Сразу скажу что жизнь в Черногории в умеренных дозах (несколько месяцев) может быть терапевтической процедурой для жителя почти любого российского мегаполиса. Дальше возникает развилка — либо кажется что попал в болото, либо, как Владимир Высоцкий — обретаешь еще одну родину. Но оставим лирику для личных блогов и посмотрим на ситуацию глазами фрилансеров. Я взял за основу интересный пост про Таиланд и решил сравнить с со своими впечатлениям. В Таиланде я был туристом и понимаю что автор хоть и перегибает палку, но многие вещи излагает адекватно.

        Читать дальше →
      • WEB 3.0

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

          В своем обобщении я замахиваюсь ни много ни мало на определение технологии WEB 3.0! После успеха принципов WEB 2.0 было бы странно если бы шильдик 3.0 не растащили на свои определениям разнообразные визионеры. Однако, в своих попытках они нарисовали типичный «более лучший 2.0». Попытка увеличения номера версии с помощью таких эпитетов как «красивый», «профессиональный» является не более чем маркетинговой шелухой!
          Пример такой чепухи — текущая нумерация версий Firefox. Использую я его редко, только для просмотра верстки новых версий проектов. При каждый запуске оказывается что сменилась версия и поменялись местами какие то кнопочки в меню.

          Признание новой версии может быть оправдано исключительно технологическим скачком в ключевой области для веб-сервисов — создания и обработки информации (контента). Этот скачок не может быть «более красивым» или «более профессиональным», он может быть лишь принципиально иным технологически.

          Мое убеждение заключается в том, что ключевой особенностью WEB 3.0 станет «трансформация контента», которая изменит не только принципы проектирования и развития web-приложений, но так же понятия копирайта, и приведет к трансформации бизнес-моделей существующих сервисов.

          Уже захотелось поспорить? Тогда велком под кат!
          Читать дальше →
        • Умри, агент, умри!

            Каждый год тысячи людей впервые в жизни сталкиваются с необходимостью снять квартиру. Честно говоря, бизнес риелторских услуг по сдачи квартир внаем — то еще дерьмо, особенно в таком крупном городе как Москва. Именно по этой причине, каждый год появляется очередной юноша с «горящими глазами», который выдает очередной высер суперпроект помощи в поиске аренды.

            Эти проекты очень похожи на бабочек. Они появляются жарким летом в высокий сезон, и умирают в морозную стужу. Так же как и бабочки красиво и бесполезно машут крыльями и исчезают не оставляя следа. А почему так получается? Некоторые мысли изложены дальше.

            Читать дальше →
          • Шарлотка, а не торт!

              Почему я пишу на Хабре? Потому что это, пожалуй, единственное место где достаточно просто написать хорошую статью и все! Дальше происходит все само. Но так было.

              Некоторое время назад внутренний голос написал:
              Теперь голосовать за карму можно только с кармой не ниже +15, за топики — не ниже +10.

              И кое что изменилось. Что именно? Посмотрите в цифрах:


              Читать дальше →
            • Принимаем платежи на сайте с банковских карт при помощи Skrill



                Платежи по банковским картам в интернете являются самым популярным и наиболее универсальным способом оплаты услуг. Бытует мнение, что организация приема карточных платежей на своем сайте является сложным и затратным делом. На самом деле это совсем не так. Любой грамотный IT-специалист или фрилансер сможет это сделать даже без образования юридического лица! Единственное необходимое условие — иметь свой сайт, остальное постигнем в процессе.
                Подробности
              • Искоренить Пиратство за 7 дней


                  В море синем, как в аптеке,
                  Всё имеет суть и вес -
                  Кораблю, как человеку,
                  Имя нужно позарез.
                  Имя вы не зря даёте,
                  Я скажу вам наперёд:
                  Как вы яхту назовёте,
                  Так она и поплывёт!
                  Как вы яхту назовёте,
                  Так она и поплывёт!
                  



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

                  В этой войне доблестные шпионы сражались на невидимом фронте с коварными разведчиками! Что то не так? Ах, да! Доблестными были именно разведчики, а шпионы были чертовски коварными! Игра слов или умысел пропагандистов?

                  Эта война давно закончилась, но опыт и эффективность ее пропагандистов никуда не делась. Сегодня их знания породили SOPA — Stop Online Piracy Act

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

                  1. Кто и когда решил назвать свободное распространение информации грязным термином «Пиратство» ?



                  2. Чем это грозит?



                  3. Что делать?



                  Всех кто задумался приглашаю под кат
                • Проксируем Cookies на Nginx при помощи модуля lua-nginx



                    Я уже писал о том, как с помощью Nginx трансформировать контент на лету. С момента публикации статьи на базе описанного метода запущен и развивается реальный проект ecommerce. Помимо перевода и трансформации также реализован и SEO рерайт по заветам руководства для начинающих от Google.

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

                    В чем суть проблемы


                    Проблема заключается в том, что любой нормальный сервер приложений всегда выставляет Cookie, например для того, чтобы сохранять сессию клиента или корзину с его товаром. Если этот сервер (точнее его администратор) озабочен поддержанием определенного уровня безопасности, то он выставляет в теле Cookie домен и путь, например domain= backend.org; path=/path1. Наш Nginx запущенный в режиме Reverse Proxy замечательно меняет все ссылки в теле документов с backend.org на frontend.org, но не делает этого для кук! Это означает что браузер клиента отвергнет такие куки.

                    Этот вопрос с давних пор волнует умы администраторов nginx, в рассылках он всплывает по 1-2 раза в год. Большинство вопрошавших, по-видимому, решили свои проблемы подкручивая логику backendа, но не я! После очередного апдейта оригинального сайта стало понятно, что костыль с PHP + Curl тянуть больше невозможно и надо непременно найти решение с помощью Nginx!

                    Я вернул тему в рассылку, попутно перебирая варианты из ngx_http_perl_module и переменной $upstream_http_set_cookie, даже заглянул в дебри сорсов с призрачной надеждой написать модуль самому. Но все было неудачно пока в один прекрасный момент я не получил письмо от Mikhail Mazursky, который дал ценный совет. Благодаря этому совету я не только с легкостью решил задачу проксирования Cookie, но и получил новый инструмент, с помощью которого можно создать версию 2.0 своего проекта.

                    Решение


                    Название этого инструмента lua-nginx-module, который написан еще одним китайским самородком с корнями из Taobao. Из названия легко понять, что речь об языке скриптов Lua встроенном в Nginx — но это больше чем просто интерпретатор! Эти ребята создали полностью неблокируемую реализацию с производительностью десятки тысяч операций в секунду, которая имеет хуки ко всем событиям внутри Nginx. То что раньше можно было реализовать только написав свой модуль на C, теперь можно сделать несколькими строчками на Lua. Заинтересовались?
                    Тогда добро пожаловать под кат!
                  • Жалобы на проблемы с QIWI-кошельками

                      image

                      QIWI является наиболее инновационной IT-компанией в России. В последнее время она совершила настоящий рывок, предложив новые удобные сервисы и технологии. В любом уголке страны можно встретить синий или оранжевый терминал с логотипом QIWI.

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

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

                      Однако, спустя некоторое время, тема попала в поисковики и в нее потянулись обиженные и пострадавшие в надежде на помощь. Ниже оригинальные цитаты пострадавших, грамматика и пунктуация в них сохранена!

                      Update
                      Размещен официальный ответ от QIWI

                      Update2
                      Мой следующий пост будет посвящен платежной системе Манибукерс.

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

                      Читать дальше →
                    • Сверхточный электронный компас и датчик положения



                        У меня возникла задача определения ориентации объекта в пространстве, а именно, создание автоматизированного привода для антенны. Я очень быстро выбрал в качестве основы платформу Arduino.

                        Однако, поиски электронного компаса и датчика угла наклона заняли больше времени. Я знал, что высокоточные датчики стоят сотни долларов, но в конечно итоге был найден новейший (появление апрель 2011г.) датчик с фантастическими свойствами. Устройство CMPS10 всего за 20 фунтов стерлингов обещает точность измерения компаса по азимуту 0,5% и по углу элевации 1% с разрешающей способностью 0,1 градус.

                        Указанной точности достаточно, например, для наведения спутниковой антенны размером 1,5 метров.

                        К сожалению, доставка в россиию заказа из интернет магазина составляет 15 фунтов, т.е. почти равна стоимости датчика. Поэтому я ищу единомышленников из Москвы для совместной закупки и, что даже более важно, написания драйвера для этого датчика под платформу Arduino и дальнейшего обмена опытом. Пишите в комментарии и личную почту.

                        В силу таможенных правил РФ в одной посылке не должно быть более 5 единиц товара.

                        Характеристики модуля
                      • Вышел релиз популярного магазина OpenCart v1.5.0 RC1

                          Один из самых популярных и динамично развивающихся OpenSource проектов для электронной коммерции — OpenCart выпустил новую версию v1.5.0 RC1 для финального тестирования. Я беглым взглядом пробежался по меню настройки и выделил изменения по сравнению с версией 1.4.x.
                          Читать дальше →
                        • Предлагаю помечать автора поста в комментариях

                            Очень простое предложение — в комментариях к посту отмечать комментарии автора особым значком или надписью «авторский комментарий».

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

                            Никаких выдающихся изменений такая отметка принести не может, просто маленькая стимулирующая плюшка.

                            Я бы не отказался, а вы?
                          • Про вред молчания 3: ответы менеджеров

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

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

                              Продолжаем неделю менеджмента на Хабре и попробуем разобраться, почему так мало хороших менеджеров и как с этим можно жить?
                              Читать дальше →
                            • «Враги народа» массовая многопользовательская социально-политическая платформа



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

                                Elevator pitch — 30 секунд чтобы сказать о главном.

                                Практически в любом on-line сообществе возникает своеобразный «политический уголок», место где люди спорят, обсуждают или ругают власти, политиков и жизнь. Суть идеи в том чтобы собрать все эти обсуждения и споры в одном месте. Сделать «Хабрахабр о политике» обобщив опыт ЖЖ, викиликс и методы вовлечения MMORPG. Сверхзадача идеи создать новый канал коммуникации между активными представителями общества и теми кто принимает решения. И начать с игры.

                                Круто? Тогда дальше вас ждет слабоструктурированый поток сознания.
                                Читать дальше →
                              • Что случилось с сайтом фонда «Сколково» — ответы

                                  imageВ прошлом посте я коротко описал ситуацию с сайтом фонда «Сколково» так, как ее было видно со стороны обитателей habrahabr.ru. Кроме того, озвучил вопросы к администрации проекта. К сожалению, какой-либо официальной информации мы так и не увидели, но обнаружилась вот эта тема в ЖЖ. Попробуем сделать из нее интервью.

                                  Важно: В 17:00 14 апреля ответы на вопросы обновлены комментариями официальных лиц.

                                  Читать интервью, которого не было ...
                                • Что случилось с сайтом фонда «Сколково» вкратце

                                    image

                                    Все началось с поста хабраюзера oyaso, в котором он сравнил сумму денег заложенную на разработку сайта фонда инноваций «Сколково» и результатом полученным в виде сайта i-gorod.com

                                    Информация ниже рекомендуется к прочтению журналистам, помощникам всяческих руководителей разных рангов и тем кто ленился читать интересные комментарии к исходному посту.
                                    Читать дальше →
                                  • Создаем точку доступа Wi-Fi под Linux из USB модема

                                      image

                                      Все началось, когда я заменил материнскую плату в своем домашнем компьютере. В старой плате был встроенный USB Wi-Fi адаптер на обычном Realtek 8187, который два года исправно работал точкой доступа под Windows. В новой плате Wi-Fi модуля не было, зато у меня появился целый сервер на замечательном Intel Atom 525 с одним маленьким недостатком — в нем было очень мало PCI слотов.

                                      Немного поразмышляв, я решил сделать невинную, как мне сначала казалось вещь — запустить программную Wi-Fi точку доступа на обычном USB адаптере. Если бы меня предупредили что меня ожидает, я бы отказался от идеи с самого начала! Я раздобыл недорогой адаптер и, только в процессе возни с ним, стал осознавать что использование «неправильного» USB на «неправильном» чипсете это настоящее насилие для Linux! Гуру Линукса отказывались от помощи!

                                      Тем не менее, мне удалось подружить Debian 6.0 с чипсетами Ralink 2870/3070 и Atheros 9170, и я готов раскрыть эту страшную тайну всему миру!
                                      Вперед!