Об использовании JavaScript-фреймворка Backbone.js написано много, но просто и кратко — мало. Я постараюсь исправить этот недостаток и рассказать разработчикам web-приложений максимально просто, доступно и кратко о том, зачем им может пригодится этот фреймворк и как, в общих чертах, он работает. Профессионалы и специалисты по Backbone.js: можете не тратить время, этот рассказ для новичков. Если быть честным, то для чтения этой заметки не обязательно быть Rails-developer'ом, надеюсь, статья пригодится всем, кто работает с любым из МVC-фреймворком.
KriMs @KriMs
Пользователь
Как мы обеспечиваем отказоустойчивость работы инфраструктуры наших клиентов
4 min
18KДобрый день, уважаемые Хабраюзеры.
В данном посте я хотел бы рассказать подробнее о том, как мы обеспечиваем отказоустойчивость работы инфраструктуры наших клиентов.
Для примера взят стандартный офис (ПК, IP-телефония, WiFi) с разбивкой на подсистемы: ClientCloud, ClientLan, ClientPhone, ClientWiFi
Подсистема ClientLan предназначена для организации доступа ПК к другим подсистемам.
Подсистема ClientPhone предназначена для организации доступа IP-телефонов к подсистеме ClientCloud (IP-АТС).
Подсистема ClientWiFi предназначена для организации гостевого доступа мобильного оборудования (ноутбуки, коммуникаторы, планшетные компьютеры) к сети Интернет.
Доступ с подсистемы ClientWiFi ко всем подсистемам (ClientCloud, ClientLan, ClientPhone) запрещен настройками коммутатора.

В данном посте я хотел бы рассказать подробнее о том, как мы обеспечиваем отказоустойчивость работы инфраструктуры наших клиентов.
Для примера взят стандартный офис (ПК, IP-телефония, WiFi) с разбивкой на подсистемы: ClientCloud, ClientLan, ClientPhone, ClientWiFi
Подсистема ClientLan предназначена для организации доступа ПК к другим подсистемам.
Подсистема ClientPhone предназначена для организации доступа IP-телефонов к подсистеме ClientCloud (IP-АТС).
Подсистема ClientWiFi предназначена для организации гостевого доступа мобильного оборудования (ноутбуки, коммуникаторы, планшетные компьютеры) к сети Интернет.
Доступ с подсистемы ClientWiFi ко всем подсистемам (ClientCloud, ClientLan, ClientPhone) запрещен настройками коммутатора.

+3
Оптическое кольцо высокой доступности
5 min
21KДобрый день, уважаемые Хабраюзеры.
Хотели бы Вам рассказать о реализованном нашими инженерами проекте по построению оптического кольца высокой доступности между нашими облаками в Москве.

Хотели бы Вам рассказать о реализованном нашими инженерами проекте по построению оптического кольца высокой доступности между нашими облаками в Москве.

+4
Скринкаст по Node.JS
2 min
11KTutorial
Всем привет!
Если вы — разработчик, то вам наверняка известно: большинство полезной документации и скринкастов делается на английском.
Конечно, даже на английском много всего устаревшего, приходится порыться, но на русском — всё гораздо хуже. Многого просто нет.
Хотелось бы поменять эту ситуацию, с вашей помощью, хотя бы в плане Node.JS. Если проект будет успешен, то, возможно, и не только.
Если вы — разработчик, то вам наверняка известно: большинство полезной документации и скринкастов делается на английском.
Конечно, даже на английском много всего устаревшего, приходится порыться, но на русском — всё гораздо хуже. Многого просто нет.
Хотелось бы поменять эту ситуацию, с вашей помощью, хотя бы в плане Node.JS. Если проект будет успешен, то, возможно, и не только.
+59
4 шага на пути в Google, не имея высшего образования
4 min
192KTranslation

Как получить должность инженера в Google, не имея высшего образования?
Вот вам небольшая история.
+189
Удаленное редактирование файлов в Sublime Text 2 по SSH
1 min
43KTutorial
Речь пойдет об использовании rmate, небольшого скрипта позволяющего из консоли открыть удаленный документ в локальном текстовом редакторе, вместо nano или vim, он был написан для TextMate и те кто перешел на ST2 с этого редактора, наверняка пользуются этим инструментом, да и «матерые разрабы» не найдут в посте много нового, но если вы только начали пользоваться ST2 и единственный инструмент удаленного редактирования о котором вы слышали, это плагин SFTP, добро пожаловать под кат за подробностями.
+16
Используем потоки в Ruby
6 min
27KTutorial
Многие Руби-разработчики игнорируют потоки (threads), хотя это очень полезный инструмент. В данной статье мы рассмотрим создание IO потоков в Руби и покажем как Руби справляется с потоками в которых происходит много вычислительных операций. Попробуем применить альтернативные имплементации Руби, а так же узнаем, каких результатов можно добиться при помощи модуля DRb. В конце статьи посмотрим, как эти принципы используются в различных серверах для приложений на Ruby on Rails.
Рассмотрим небольшой пример:
Если нам надо обратитьcя к двум серверам, например, чтобы очистить кэш, и мы дважды последовательно вызовем эту функцию:
то наша программа будет работать 6 секунд.
Мы можем ускорить исполнение программы, если будем использовать потоки, например, так:
Мы создали два потока, в каждом потоке обратились к своему серверу и командами #join сказали, что главной программе (главному потоку) надо подождать их завершения. Теперь наша программа успешно выполняется в два раза быстрее, за 3 секунды.
IO потоки в Руби
Рассмотрим небольшой пример:
def call_remote(host)
sleep 3 # симулируем долгий запрос к серверу
end
Если нам надо обратитьcя к двум серверам, например, чтобы очистить кэш, и мы дважды последовательно вызовем эту функцию:
call_remote 'host1/clear_caches'
call_remote 'host2/clear_caches'
то наша программа будет работать 6 секунд.
Мы можем ускорить исполнение программы, если будем использовать потоки, например, так:
threads = []
['host1', 'host2'].each do |host|
threads << Thread.new do
call_remote "#{host}/clear_caches"
end
end
threads.each(&:join)
Мы создали два потока, в каждом потоке обратились к своему серверу и командами #join сказали, что главной программе (главному потоку) надо подождать их завершения. Теперь наша программа успешно выполняется в два раза быстрее, за 3 секунды.
+31
Миллион PPS в секунду — связанность и балансировка
7 min
28K
На последней конференции РИТ++ мне посчастливилось стать впервые докладчиком конференции такого масштаба и такой значимости. В этой статье я не просто хочу пересказать всё, о чём я докладывал. Выступать впервые перед такой большой аудиторией для меня было непривычно и я половину забыл рассказать, нервничал немного. Речь пойдет о создании с нуля собственной отказоустойчивой структуры для веб-проектов. Мало кому из системных администраторов дается возможность с нуля запустить в production крупный проект. Мне повезло.
Как я уже написал, я не смог рассказать всё, что планировал со сцены, в этой статье я восполню эти пробелы, да и для того, кто не смог там присутствовать — это будет приятно, видео с конференции так и не дали бесплатно всем. Да и стать пользователем Хабра я хотел давно, вот только не было времени. Майские праздники дали время и силы. Статья будет не столько технической с кучей конфигов и графиков — статья будет принципиальная, все пробелы мелких технических вопросов можно будет восполнить в комментариях.
+42
Коаны Гита
3 min
38KTranslation
По мотивам «Коанов Вима».
Тишина
Что-то одно, но хорошо
Только богам
Хобгоблин
Длинное и короткое
Python-программистка передала свой файл
Мастер Гит кивнул. «
Тишина
Что-то одно, но хорошо
Только богам
Хобгоблин
Длинное и короткое
Тишина
Python-программистка передала свой файл
~/.gitconfig
мастеру Гиту. Среди строчек кода было следующее:[alias]
; Явное лучше подразумеваемового. Если мы хотим выполнить слияние,
; нам следует сделать это самим.
pull = pull --ff-only
Мастер Гит кивнул. «
git pull origin master
», — сказала программистка.+107
Хорошая беседа о борьбе с прокрастинацией
1 min
61KTutorial
Давно знаком и являюсь поклонником Яны Франк (ака Миумау в ЖЖ — www.miumau.lj.ru). Был на ее встрече позавчера, записал всю встречу на видео. Что мне понравилось: много дельных советов о борьбе с творческим кризисом, прокрастинацией в личном развитии и астенизацией. Все эти подходы применимы не только среди «художников», или тех чьи профессии считаются «творческими», но и вообще среди людей, которые хотят получать удовольствие от работы.
Вначале пару минут вступления-хождения.
Вначале пару минут вступления-хождения.
+10
intro.js — пошаговое руководство для веб-страницы
1 min
51K
Эта маленькая библиотека позволяет очень просто создать пошаговое введение для сайта или приложения. Достаточно добавить атрибуты
data-intro
и data-step
с описанием и номером шага соответственно к нужным элементам страницы. Вот так:<a href='http://google.com/' data-intro='Hello step one!' data-step='1'></a>
+129
Записи докладов с конференций по высоким нагрузкам HPC
1 min
17KЗаписи с последней конференции HPC — High Performance Conference, состоявшейся 6 декабря 2012, никак не анонсировались, хотя заслуживают внимания.
Под катом видеозаписи следующих докладов:
и одно видео с фестиваля профессионального развития BitByte:

Под катом видеозаписи следующих докладов:
- Практические вопросы использования NOSQL в высоконагруженном проекте
Дмитрий Ананьев, Руководитель группы разработки новых сервисов, Мамба - Как работает «умная живая миграция» в Jelastic
- Дмитрий Лазаренко, Директор R&D, Jelastic Russia
- Parallels Cloud Server как платформа для высокопроизводительных систем
Дмитрий Мишин, Team-lead отдела серверной виртуализации, Parallels - Облачная платформа Windows Azure для высоконагруженных проектов
Владимир Юнев, Technical evangelist, DPE, Microsoft Russia
и одно видео с фестиваля профессионального развития BitByte:
- Badoo Desktop: оптимизация приложения на миллион юзеров
Руководитель проекта десктопных приложений компании Badoo.

+39
Времена меняются для веб-разработчиков — 6 советов чтобы выжить
4 min
16KRecovery Mode

Контекст данного поста об изменениях для веб-разработчиков, я вижу многих разработчиков которые «застряли», особенно в .NET.
Если вы еще не начали совершенствоваться в Вашем искусстве и адаптироваться к изменяющимся трендам, вы должны начать это делать сегодня.
Подумайте о разработке веб-приложений должным образом. Используйте здравый смысл чтобы смешивать и сочетать основываясь на данных советах.
А теперь 6 советов для веб-разработчиков, чтобы оставаться на пике того что вы делаете.
+4
Тонкости Rails 4 — Thread-Safety
7 min
24KTutorial
Translation

В Rails 4.0 по умолчанию будет включена опция config.threadsafe! и в данном уроке вы узнаете о том, что же она все-таки делает, как влияет на production и как вообще стоит вести себя с потоками.
+34
Многопользовательский видео чат
2 min
37KНедавно столкнулся с несколькими интересными проектами: jssip, node-webkit. Весьма кстати родилась свежая оригинальная тост идея. Так как для ее реализации достаточно лишь соединить готовые компоненты, оперативно написал небольшое кросс-платформенное приложение, исходники открыл. Вот что получилось:
Скачать можно здесь. В статье раскрою некоторые детали.
Скачать можно здесь. В статье раскрою некоторые детали.
+36
Webrtc, Peer Connection — создание полноценного видео чата в браузере
5 min
68KTutorial

Введение
Webrtc на хабре уже неоднократно упоминался, хотелось бы рассказать немного про техническую часть реализации и осветить создание небольшого видео чата. Хочу сразу оговорится, что реализация webrtc постоянно меняется, в том числе названия функций api, их параметры.
Всем, кому просто хотелось бы посмотреть сразу как это все работает, сюда: apprtc.appspot.com демка от гугла все что нужно — это перейти по ссылке и послать её еще кому-нибудь уже с номером комнаты. В конце нужно поменять цифры если окажется что комната переполнена. Кому интересно как это все работает добро пожаловать под кат
+39
Да, но кто сказал, что они купят это?
5 min
82KTranslation
Продолжение перевода серии статей «5 уроков просмотра стартапов»,
прошлая статья Настоящие нечестные конкурентные преимущества
На сотнях стартап питчей в Capital Factory, не нашелся и десяток людей, которые были бы готовы сказать «если вы создадите этот продукт, я дам вам X долларов».

Задумайся над этим: сотни людей готовы уволиться с постоянной работы, потратить свои сбережения, рискнуть личной репутацией, трудиться 70 часов в неделю, пережить такой же стресс, как и рождение ребенка (поверьте мне, я испытал рождение и ребенка, и стартапов)… и все это при том, что нет жалкого десятка людей, действительно готовых заплатить за то, что предлагают стартаперы.
Недальновидно, не правда ли?
прошлая статья Настоящие нечестные конкурентные преимущества
На сотнях стартап питчей в Capital Factory, не нашелся и десяток людей, которые были бы готовы сказать «если вы создадите этот продукт, я дам вам X долларов».

Задумайся над этим: сотни людей готовы уволиться с постоянной работы, потратить свои сбережения, рискнуть личной репутацией, трудиться 70 часов в неделю, пережить такой же стресс, как и рождение ребенка (поверьте мне, я испытал рождение и ребенка, и стартапов)… и все это при том, что нет жалкого десятка людей, действительно готовых заплатить за то, что предлагают стартаперы.
Недальновидно, не правда ли?
+45
Опыт построения бюджетного отказоустойчивого online-сервиса 24х7
6 min
14KTutorial
Проблематика
Итак, мы имеем коммерческий online-сервис, а наши клиенты — это компании, которые используют сервис 24x7. Наша задача, чтобы клиенты были счастливы и наши внутренние проблемы, связанные с отказом оборудования и ПО оставались для клиента максимально незамеченными. Клиенту вовсе не надо знать о том, что у нас сгорел RAID-контроллер, а системный администратор живет в Таиланде и не привык рано вставать.
-3
Основы использования бранчинга для параллельной разработки
9 min
36KВступление
Как справедливо заметил Fred Brooks, серебряной пули, способной поразить зверя разработки программного обеспечения, не существует. Пока возникают новые требования, идеи и находятся новые баги, программы живут и изменяются. Путь, который проходит код от версии к версии, может быть крайне сложен и извилист. К его созданию причастно много людей: разработчики, тестировщики, бизнес-аналитики, заказчики и т.п. Несмотря на то, что существует много разных видов разработки – аутсорсинг, продуктовая разработка, open-source и т.п., проблемы, стоящие перед командой, остаются примерно одинаковыми. Программное обеспечение – вещь сложная, потребитель хочет получить его как можно быстрее (и дешевле). Качество при этом должно быть приемлемым. Перед командой разработки стоит серьезная задача – наладить эффективное взаимодействие. Одним из самых главных средств коллаборации внутри команды разработчиков является сам код, который они пишут.
Как справедливо заметил Fred Brooks, серебряной пули, способной поразить зверя разработки программного обеспечения, не существует. Пока возникают новые требования, идеи и находятся новые баги, программы живут и изменяются. Путь, который проходит код от версии к версии, может быть крайне сложен и извилист. К его созданию причастно много людей: разработчики, тестировщики, бизнес-аналитики, заказчики и т.п. Несмотря на то, что существует много разных видов разработки – аутсорсинг, продуктовая разработка, open-source и т.п., проблемы, стоящие перед командой, остаются примерно одинаковыми. Программное обеспечение – вещь сложная, потребитель хочет получить его как можно быстрее (и дешевле). Качество при этом должно быть приемлемым. Перед командой разработки стоит серьезная задача – наладить эффективное взаимодействие. Одним из самых главных средств коллаборации внутри команды разработчиков является сам код, который они пишут.
+25
Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 10
27 min
88KTutorial
Translation

Весной 2012 г., Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».
Один из студентов лекции записывал и выложил транскипт. В данном хабратопике я перевожу деcятое занятие.
Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
+51
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity