Обновить
256K+

JavaScript *

Прототипно-ориентированный язык программирования

270,5
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Вышел Meteor версии 0.7.0

Время на прочтение1 мин
Охват и читатели4.9K

Meteor.js — открытый (MIT) фулстек JavaScript фреймворк (и клиент и сервер). Сегодня вышла версия 0.7.0 (в начале 2014 выйдет версия 1.0).

Основное изменение — поддержка MongoDb OpLog. Это дает возможность полноценного горизонтального масштабирования (см. мой перевод). В предыдущей версии Метеора, в случае нескольких серверов, обновления данных могли приходить с задержкой до 10 секунд — теперь такой проблемы нет.

Полный список изменений смотрите здесь.

П.С. На хабре появился новый хаб: Meteor.JS — подписывайтесь.

Как масштабировать Meteor

Время на прочтение4 мин
Охват и читатели7.7K
От переводчика: MeteorJS — открытый (MIT) фулстек JavaScript фреймворк (и клиент и сервер). Текущая версия 0.7.0 — в начале 2014 планируется выход версии 1.0. Публикации на хабре: 1, 2, 3.

Подготовка к масштабированию


Диаграмма компонентов:
image
Здесь три сервера Метеор, один MongoDb-сервер и HaProxy-сервер, как балансировщик нагрузки. Для поддержки SSL поставим Stud перед HaProxy.

Давайте обсудим компоненты и их настройку.
Читать дальше →

Отладка Chrome Dev Tools из Chrome Dev Tools

Время на прочтение1 мин
Охват и читатели4.5K
Привет, Друзья.

Просто хотел поделиться небольшим советом: Если вам когда-нибудь будет любопытно почитать исходники Google Chrome Dev Tools, то к ним можно подцепиться средствами самого Хрома.

Откройте Dev Tools в плавающем окне и нажмите Ctrl + Shift + J (на макоси Cmd + Option + J). Вот скринкаст:



Понимаю, что это очевидно. Но вдруг кому-то пригодится!

Feathers.js — реактивный JavaScript-фреймворк поверх Express

Время на прочтение2 мин
Охват и читатели16K
image
Feathers.js — реактивный JavaScript фреймворк вдохновленный Sails, Flatiron и Derby. Приложение на feathers.js напоминает обычное expressjs приложение, только вместо
var app = require('express')();
нужно будет написать
var app = require('feathers')();

Для коллекций создается полноценный RESTful API, синхронизация ведется через события SocketIO.
Читать дальше →

Ход конем с использованием canvas

Время на прочтение6 мин
Охват и читатели8.5K
image
Посмотреть.

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

Одно из такой задач стала — Ход конем. Суть ее в том, что необходимо найти маршрут шахматного коня, проходящего через все поля доски по одному разу. Реализовать задачу решил с использованием canvas, немного jQuery, с учетом в будущем сделать плагин.
Подробности

Видео-курс по JavaScript на русском языке

Время на прочтение1 мин
Охват и читатели219K
Здравствуй, Хабр!

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



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →

Как устроен Meteor изнутри

Время на прочтение3 мин
Охват и читатели16K
От переводчика: MeteorJS — открытый (MIT) фулстек JavaScript фреймворк (и клиент и сервер). Текущая версия 0.6.6.3 — в начале 2014 планируется выход версии 1.0. Публикации на хабре: 1, 2, 3.

В статье обзор сетевой архитектуры Метеор-приложения.

Метеор как сервер, Метеор как клиент


Приложение Метеор, с точки зрения браузеров, прокси-серверов, маршрутизаторов и других сетевых компонентов, является, по сути, обычным веб-приложением. Хотя, на самом деле, Метеор-приложение состоит из двух главных частей: часть, которая работает внутри браузера и часть, которая работает как сервер. Эти две части настроены таким образом, чтобы взаимодействовать друг с другом способом, характерным для многих современных веб-приложений (таких, как Gmail или Trello)

image
Метеор позволяет разработчикам создавать приложения не заботясь о сложностях клиент-серверного взаимодействия.
Читать дальше →

Акция невиданной щедрости. 6 месяцев подписки COLT бесплатно. Осталось 2 дня

Время на прочтение1 мин
Охват и читатели8.2K
Всем подписчикам твиттера @code_orchestra выдадим бесплатную 6 месячную лицензию.
Спешите подписаться. Это просто. Можете завести пустой аккаунт, мы не обидимся.
Акция продлится до 20 числа. Купон будет выслан как direct message твиттера в течении дня.
Кто не знает что такое COLT — посмотрите статью на Хабре, о том что мы добавили для Sublime Text и скоро добавим для WebStorm.

UPD: мы продлили акцию еще на неделю — до 20 числа.

yo n — быстрое начало для нового node.js проекта

Время на прочтение1 мин
Охват и читатели5.2K
Привет, Друзья!

Я просто хотел поделиться с вами простым проектом, который, надеюсь, поможет сохранить несколько минут при создании очередного node.js пакета. Вот все, что сделает проект, после набора в командной строке yo n:

1. Запустит «npm init»
2. На основе ваших ответов из package.json, создаст файл с лицензией, readme, начальный файл и включит тестовый фреймворк.
3. Создаст и опубликует проект на GitHub'e.

А вот и видео всего описанного выше в действии:



Исходники на гитхабе: github.com/anvaka/generator-n

Надеюсь, пригодится :)!

PS: «yo n» в два раза короче, чем «npm init»

Мы потеряли тот Веб

Время на прочтение10 мин
Охват и читатели31K
Кратко: после браузерных войн организация W3C и группы разработчиков, такие как Web Standards Project, долго и упорно работали, чтобы восстановить единый нефрагментированный Веб. Но в последние несколько лет мы, разработчики, взяли, и заново всё зафрагментировали… Наверное, нам надо понять, что мы теряем, прежде чем потеряем этот Веб навсегда.

Ровно год назад патриарх веб-индустрии Anil Dash написал: "Мы потеряли Веб", скорбя по ранней, «досоциальной» блогосфере, до всех этих наших постингов фото, видео и мыслей, находящих последний приют в катакомбах Фейсбука, Твиттера, Инстаграма и Ютуба. Это вызвало отклик у многих, кто застал те дни; многих, кто по иронии судьбы затем ушёл работать в эти катакомбы.
Читать дальше →

Хватит быть милым и умным

Время на прочтение11 мин
Охват и читатели69K
Этот текст является переводом статьи 'Stop Being Cute and Clever' небезызвестного (по крайней мере, в Python-комьюнити) Армина Ронахера.

Последние дни в свободное время я занимался созданием планировщика. Идея была простой: создать некий клон worldtime buddy c использованием AngularJS и некоторых других JavaScript-библиотек.

И знаете что? Это было отнюдь не весело. Я уже давно так сильно не злился, работая над чем-либо, а это что-то значит, потому что обычно я быстро высказываю своё недовольство (прошу прощения у моих фолловеров в Twitter).

Я регулярно использую JavaScript, но мне редко приходилось сталкиваться с кодом других людей. Обычно я привязан только к jQuery, underscore и иногда AngularJS. Однако в этот раз я пошел ва-банк и решил использовать различные сторонние библиотеки.

Для данного проекта я использовал jQuery, без которого уже нельзя обойтись (да и зачем?), и AngularJS с некоторыми UI-компонентами (angular-ui и биндинги к jQuery UI). Для работы с часовыми поясами использовался moment.js.

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

Однако я заметил тревожную тенденцию появления кода ужасного качества в JavaScript-библиотеках (по крайней мере в тех, которые я использую), и задумался о том, почему так происходит.
Читать дальше →

Переменное количество аргументов: проблемы и решения

Время на прочтение4 мин
Охват и читатели16K
Речь пойдет о написании на JavaScript функций с переменным количеством аргументов, возникающих в процессе проблемах и способах решения этих проблем.
Читать дальше →

Windows Azure Mobile Services custom API на примере скрам-доски

Время на прочтение11 мин
Охват и читатели5.5K
В этой статье я хочу поделиться опытом создания велосипеда простой скрам-доски с бекендом в облаке на базе Windows Azure Mobile Services и Azure Cloud Storage.
Читать дальше →

Ближайшие события

IT квест-марафон для хабра-хабра

Время на прочтение2 мин
Охват и читатели5.1K
Затекли? Хотите размять мозги? Вперед!
Hand-tailored специально для вас. Одним из вас.
Мы любим головоломки. Мы любим интересные конкурсы и терпеть не можем яблоки (поэтому будем их солить и выбрасывать в окно).
Это уже не первый наш опыт.
Предыдущий эксперимент увенчался успехом, но мы хотим большего.
Мы хотим проводить конкурсы регулярно. И хотим чтобы участие в них было захватывающим. И хотим чтобы у вас было время к ним подготовиться.
Анонсы и сломанные головы!

Прототип необычной надстройки для GitHub, система подготовки веб-справки с использованием GitHub Pages

Время на прочтение5 мин
Охват и читатели8K
Продолжая свои рискованные и бесчеловечные эксперименты в области веб-проектирования, сегодня я предлагаю вашему вниманию дальнейшее развитие Markdown webdocs и его интеграцию с сервисом GitHub.
Что получилось: достаточно простая, несколько вики-подобная (в подходе к редактированию), с форматированием текста markdown + html + компоненты, с встроенным редактором (и не только текста страницы, но и структуры сайта), без дополнительных сервисов/серверов/базы данных, основанная на Git(Hub) и файлах, фактически CMS система ориентированная на создание документации, простых сайтов или веб-приложений, с возможностью распределенной работы с общим репозиторием (читаемые диффы, автоматические коммиты, возможны пул-реквесты).
Активировать портал к новой технологии

Лучший учебник по Meteor — «Discover Meteor» — один день бесплатно

Время на прочтение1 мин
Охват и читатели19K

Саша Гриф (Sacha Greif), автор книги "Discover Meteor" в следующую субботу (14 декабря) в Сан Франциско проводит обучающий семинар по MeteorJS. Для тех же, кто не может лично прийти параллельно стартовала маркетинговая акция: "бесплатный доступ к книге на 1 день" — зарегистрироваться можно здесь (UPD: регистрироваться не нужно — доступ будет свободный по ссылке — http://free.discovermeteor.com/).
Читать дальше →

Совершеннолетие JavaScript

Время на прочтение1 мин
Охват и читатели19K
image Доброго времени суток, уважаемые хабравчане. На этой неделе мы с вами упустили одно событие. 4 декабря прошло ровно 18 лет с публикации пресс-релиза от Netscape Communications Corporation и Sun Microsystems о появлении JavaSript «открытого, кросс-платформенного, объектно-ориентированного скриптового языка для корпоративных сетей и интернета». Подзаголовок документа: «28 ведущих в данной отрасли компаний одобрили JavaScript в качестве дополнения к JAVA для простой разработки онлайн приложений».

Язык был разработан Брендоном Айком за 10 дней. Самые интересные факты о его труде собраны в статье «История создания Javascript» хабраюзера kmike.

Несколько значимых событий связанных с JavaScript

Редактор HTML+CSS+JS в стиле JSfiddle, код которого состоит из 230 символов

Время на прочтение1 мин
Охват и читатели21K
Хотя неделя 30-строчников закончилась, рискну привести ещё один пример сверхлаконичного кода JavaScript, который я нашёл в сети. Встречайте четырёхпанельный редактор HTML/CSS/JS, с превью в реальном времени, код которого умещается в 230 символов:

<x id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea id=t'+i:'<iframe')+' style=width:49%;height:48% oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>

Посмотреть демо можно по этой ссылке. А можно просто вставить вот этот текст с кодом в адресную строку браузера:

data:text/html,%20<x%20id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea%20id=t'+i:'<iframe')+'%20style=width:49%;height:48%%20oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>

Читать дальше →

Почему Meteor погубит Ruby on Rails

Время на прочтение5 мин
Охват и читатели19K

От переводчика: перевожу не ради холивара, сам RoR не знаю, но чувствую исходящее от специалистов по RoR положительное к нему отношение, мельком видел красоту и самого языка и фреймворка, но здесь не об этом. Цель перевода еще раз обратить внимание на Meteor, который развивается семимильными шагами — в начале 2014 ждем релиз 1.0. В англоязычном Интернете все кипит, а у нас тишина — лишь несколько статей.

Почему Meteor?


Помню как начинал заниматься Rails в 2004 году — это было «волшебное время» — и, конечно, я помню, что меня по крайней мере раз в неделю спрашивали, почему же стоит использовать rails. Я всегда отвечал одинаково: разработчикам нравится этот фреймворк, потому что он позволяет делать работу быстро и с удовольствием. К этому моменту я чуть больше месяца вплотную проработал с Meteor и готов ответить на вопрос: «Почему Meteor?» — который мне тоже часто стали задавать.
Читать дальше →

Windows Azure Blob-storage: поддержка CORS

Время на прочтение6 мин
Охват и читатели6.1K
Недавно вышло много обновлений Windows Azure. Среди них долгожданная поддержка Cross-Origin Resource Sharing для хранилищ. Я плотно использую в работе blob-storage (файловое хранилище) и в этом посте опишу как сделать загрузку файлов простой и приятной.
хочу стать счастливым