• NodeSchool — интерактивные уроки по Node.Js

      image

      Все мы знаем теоретический курс по node.js, недавно выпущенный Ильей Кантором. Отличный материал, свежий, полный и к тому же на русском. Но он теоретический, а нам-то хочется все потрогать, попробовать самим, получая реальный опыт. В этом нам поможет, недавно стартовавший, бесплатный проект NodeSchool.
      Читать дальше →
      • +34
      • 37.4k
      • 5
    • Highly Available кластер RabbitMQ

      • Tutorial
      Знакомимся с RabbitMQ

      Переводы на хабре:
      RabbitMQ tutorial 1 — Hello World
      RabbitMQ tutorial 2 — Очередь задач
      RabbitMQ tutorial 3 — Публикация/Подписка

      Сразу дополню некоторые недочеты. И кратко повторю основные термины.

      Принцип работы архитектуры использующей rabbitMq

      image

      Читать дальше →
    • Развёртывание приложений node.js


        Деплоймент приложения всегда является критической точкой цикла разработки… и никогда не бывает лёгким. Если Вы пользуетесь услугами хостинговых провайдеров, то вероятнее всего Вам уже предоставили достаточный всяческих удобств сервис. В данной статье я расскажу про развёртывание приложений без создания сложной хостинговой инфраструктуры…
        буквально две команды
      • Как нанять программиста с закрытыми глазами

          Найти хорошего программиста – это большая проблема. За свою жизнь мы наняли около 50 программистов исходя из интервью и только интервью. Редкий случай был успехом.Проблемы начинались оттуда, откуда их не ждешь.

          • Один не мылся и вонял так, что в комнату не зайти. Я угрожал поставить вытяжку и вычесть из зарплаты; это помогало на один душ, не больше.
          • Другой пил запоем и врал, что отравился брюшками семги.
          • И все, почти все затягивали сроки.


          Каждый из тех, кого мы наняли, казался отличным профессионалом. И только опыт работы показывал, насколько ошибочным было первое впечатление. Как в браке: стоит пожить вместе, как понимаешь, чем именно тебя бесят.




          Поиск кандидатов



          Очередного программиста я нашел так: отобрал несколько откликов на HeadHunter.ru и попросил их посмотреть, чем они займутся. Вот что я написал:

          Читать дальше →
        • Пианино в 24 строки на Javascript: если играть, то музыку

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

            Я тоже решил принять участие в этой специальной спонтанной олимпиаде кодерского мастерства, и вспомнил фразу одной моей подруги-музыканта: «Если уж играть, то на пианино». И решил: да будет так. Вместо игры напишу пианино. И написал.

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

            Итак, начнем.

            Клавиатура классического фортепиано состоит из 88 клавиш, покрывающих диапазон от A0 (Ля суб-контр-октавы, частота звучания 27.5 Гц) до C8 (До пятой октавы, частота 4186 Гц). Каждая октава на клавиатуре состоит из двенадцати нот:
            До, До-диез, Ре, Ре-диез, Ми, Фа, Фа-диез, Соль, Соль-диез, Ля, Ля-диез/Си-бемоль, Си. Жирным выделены клавиши верхнего ряда, они на клавиатуре обычно бывают черного цвета.

            Собственно, вот так выглядит одна октава:

            image

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

            Nx = N1 × 2x-1, где:
            • N – название ноты;
            • x — номер октавы (от 0 до 8);
            • Nx, соответственно, частота звука, соответствующая ноте N октавы x;

            В формуле фигурирует N1 вместо N0 лишь потому, что часть нот суб-контр-октавы (N0) имеет частоту звучания ниже порога слышимости человеческим ухом (< 20 Hz).

            Чтобы ноты получались чистыми, нам нужны достаточно точные значения частот нот контроктавы, от которой мы начинаем считать. Собственно, вот они:
            Читать дальше →
          • Tetris на javascript (в 30+ строк)

              Решил поддержать тему!
              image
              Тетрис в 30+ строк js кода.
              • Знает все фигуры тетриса
              • Управление с клавиатуры
              • ВВЕРХ — фигурки крутятся по часовой стрелке
              • ВНИЗ — ускорить падение
              • Скорость падания постепенно увеличивается
              • Очки подсчитываются

              ссылка на jsfiddle
              Читать дальше →
            • Pong на javascript

                Решил поддержать серию постов «Делаем XXX на JS в 30 строк». Взял для примера Pong в приближенному к классическому оформлении:

                Вышло не совсем в 30 строк, а целых 38, т.к. логики вышло прилично, а совсем убивать читаемость или сжимать минимизаторами/обфускаторами не хотелось.

                В демке:
                • Управление по Up/Down;
                • ИИ противника;
                • Ускорение мяча с каждым отскоком;
                • Обработка клавиатуры, не зависящая от перемещения мяча;
                • Ожидание нажатия клавиш для запуска мяча;
                • Поддержка практически любого размера поля и высоты «игроков»;
                • Ведение статистики.

                Читать дальше →
              • Продвинутая JavaScript отладка при помощи console.table()

                • Translation
                Вчера узнал об одной изящной возможности отладки в «Инструментах разработчика Chrome». На конференции "Web Developer Conference Compact" Маркус Росс (Marcus Ross — @zahlenhelfer) рассказывал о различных инструментах отладки, реализованных в Chrome, об одном из который я хочу рассказать.
                Читать дальше →
                • +116
                • 37.4k
                • 7
              • Крошечный Excel на чистом JavaScript (30 строк кода)

                • Translation
                Особенности:
                • Около 30 строк обычного JavaScript
                • Использованные библиотеки: отсутствуют
                • Синтаксис как в Excel (формулы начинаются с "=")
                • Поддерживаются произвольные выражения(=A1+B2*C3)
                • Обнаруживаются циклические ссылки
                • Автоматическое сохранение в localStorage

                image
                Читать дальше →
              • Крошечная змейка на JavaScript (30 строк кода)

                  Прочитав статью про excel в 30 строк, я загорелся глупой идеей — написать что-нибудь на 30 строк. Не долго думая остановился на змейке.

                  Особенности:
                  • 30 строк необычного JavaScript (задача была уместить в 30 строк, так что код похлеще чем на ночных хакатонах)
                  • Использованные библиотеки: отсутствуют



                  Читать дальше →
                • Гоночка на JavaScript (30 строк кода)

                    В продолжение недели ненормального программирования (как заметил phpcmsdev) решил написать игру в 30 строк кода. Так как тетрис, змейка и арканоид уже были сделаны, выбор пал на гоночки, которые входили в стандартный набор портативной игры.



                    Ссылка на fiddle.
                    Читать дальше →
                  • Изменение коммитов в Git

                      Это пост для тех, кто начинает работу с Git. Все, что здесь написано по частям можно найти в многочисленных простынях о Git на Хабре. Но я подумал, что неплохо было бы иметь отдельный предельно понятный топик, который бы гуглился по запросу «git изменение коммитов».
                      Читать дальше →
                    • Сделай свой AngularJS: Часть 1 — Scope и Digest

                      • Translation
                      • Tutorial
                      Angular — зрелый и мощный JavaScript-фреймворк. Он довольно большой и основан на множестве новых концепций, которые необходимо освоить, чтобы работать с ним эффективно. Большинство разработчиков, знакомясь с Angular, сталкиваются с одними и теми же трудностями. Что конкретно делает функция digest? Какие существуют способы создания директив? Чем отличается сервис от провайдера?

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

                      В этой серии статей я собираюсь воссоздать AngularJS с нуля. Мы сделаем это вместе шаг за шагом, в процессе чего, вы намного глубже поймете внутреннее устройство Angular.
                      Сделаем Angular вместе
                    • Подробное руководство по разработке мобильных приложений AngularJS

                      • Translation
                      • Tutorial
                      Мобильные приложения, это не будущее разработки, это уже настоящее. В настоящее время пользователей мобильных приложений уже 1.2 млрд. человек, и это количество постоянно растет (Wikipedia). Вскоре количество мобильных устройств превзойдет количество людей на планете. Если скорость роста количества мобильных устройств останется неизменной, то к 2017 году ими будут пользоваться 5.1 млрд. человек.
                      Для нас, как для разработчиков приложений, важно разрабатывать свои приложение с учетом мобильных пользователей, если мы хотим чтобы они были востребованы. В AngularJS реализована поддержка мобильных устройств, написанная как командой AngularJS, так и сообществом.
                      В этой статье мы будем работать с двумя различными способами, чтобы дать читателям опыт в разработке мобильных приложений.
                      Читать дальше →
                      • +33
                      • 42.9k
                      • 9
                    • Симпсоны на чистом CSS

                        image

                        Chris Pattle, web-разработчик из Великобритании, сделал потрясающую вещь — нарисовал персонажей всеми любимого мультсериала «Симпсоны» на чистом CSS. Код можно посмотреть в его аккаунте на github, или тут, под катом.
                        Читать дальше →
                      • Вариант условного роутинга в AngularJS

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

                          На сколько я понимаю, это задача достаточно распространенная, тем не менее я не нашел простого готового способа сделать это из коробки. Потратив изрядное количество времени на гугление, чтение документации и эксперименты, я в итоге нашел достаточно элегантное решение для моего случая. Спешу поделиться своим велосипедом, надеюсь, это поможет сэкономить время таким же начинающим пользователям AngularJS. Возможно, найдется гуру, который укажет на то самое стандартное решение, которое я почему-то не нашел. Я, например, еще не разбирался с ui-router.
                          Читать дальше →
                        • Кэш для фильтров AngularJS с помощью Lo-Dash

                          AngularJS как быстрый тигр ^.^

                          Пишу диплом где решаю одну из задач — реализация анонимного быстрого веб чата. Быстрого во всех смыслах — загрузка, работа приложения, использование (прочь авторизацию). Выбор остановил на связке: Node.js фреймворк SocketStream и AngularJS на стороне клиента. В процессе работы столкнулся с проблемой — повторные расчёты производимые фильтрами на одной и той же модели. Детали проблемы и решение под катом.
                          Читать дальше →
                        • Разработка клиент-серверной инфраструктуры на javascript (часть 1 — клиент)

                            image

                            О чем эта статья. Я хочу поделиться опытом разработки мобильного приложения на phonegap. В итоге получился целый програмный комплекс с RESTfull сервером, клиентами, да еще хостится на PaaS. Поэтому я опишу отдельно архитектуру клиентского приложения (html5 single page app, завернутое в phonegap), серверного (nodejs с swagger-node-express + node-orm2), и как разместить все это на openshift PaaS.
                            Читать дальше →
                          • Яндекс карты для angular.js

                            image

                            Приветствую всех, уважаемые харбажители!
                            В данном посте речь идет о том, как подружить карты яндекса и javascript framework angular.js для их совместной работы. Можно, конечно, использовать и google map, но для стран СНГ их качество оставляет желать лучшего.
                            Немного погуглив, и не найдя готового решения, пришлось писать свое. Кому интересно, добро пожаловать под кат.
                            Читать дальше →