Как стать автором
Обновить
-1
kibitzer @kibitzerread⁠-⁠only

Пользователь

Отправить сообщение

Rivertrail: параллелизм в JavaScript

Время на прочтение6 мин
Количество просмотров17K


Использование возможностей параллелизма в настоящее время стало уже обычной практикой в программировании. Однако все языки можно разделить на два типа: те, в которых параллельность применяется вовсю и активно (например, С), и те, которые не вкусили еще в полной мере радостей многопоточности. К последним, в частности, относится JavaScript. Чтобы восполнить этот досадный пробел и пополнить копилку прогрессивного опыта, предлагаем вашему вниманию перевод сообщения из блога Ника Матсакиса, программиста Mozilla Foundation, в котором он делится первыми личными впечатлениями от использования Rivertrail — инструмента параллелизации в JavaScript, созданным Intel.
Читать дальше →

Изучение Node.js от начала до конца на практике. Часть 1

Время на прочтение14 мин
Количество просмотров93K

Предыстория


Различной документации по Node.js его модулях огромное количество, всякого рода готовых решений тоже хватает, но начав писать сайт сталкиваешься с проблемой: «А с чего начать?». Хочу вам рассказать свой опыт изучения Node.js на практике. Задача стоит довольно простая и понятная — GPS Трекер с интернет сервисом, отображающим наши передатчики на карте, рисующим маршрут перемещения и т.д., на сколько разгуляется фантазия. Проект не коммерческий и пишется во благо человечества для себя.
Читать дальше →

Оптимизируем производительность JavaScript для V8

Время на прочтение6 мин
Количество просмотров28K

Предисловие


Дэниел Клиффорд сделал на Google I/O прекрасный доклад, посвященный особенностям оптимизации кода JavaSсript для движка V8. Дэниел призвал нас стремиться к большей скорости, тщательно анализировать отличия между С++ и JavaScript, и писать код, помня о том, как работает интерпретатор. Я собрал в этой статье резюме самых главных моментов выступления Дэниела, и буду обновлять её по мере того, как движок будет меняться.
Читать дальше →

Особенности загрузки файлов на HTML5

Время на прочтение5 мин
Количество просмотров60K
После некоторого, опыта решил написать небольшую статью-шпаргалку о загрузке файлов с использованием возможностей HTML5, а именно File API.

Читайте далее:
  1. Поддержка браузерами.
  2. Загрузка через Form Data.
  3. Загрузка через File Reader.

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

Нормальное профилирование node.js приложений

Время на прочтение3 мин
Количество просмотров11K

Предисловие


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

Поиски


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

Первым делом я решил посмотреть не оправился ли node-inspector, который после перехода на node.js 0.6.x перестал поддерживать профилирование CPU и Heap. Оказалось, что в новой версии node-inspector неработающий профайлинг окончательно исключён и теперь это просто debugger. Немного покопавшись в коде старой версии, мне всё же удалось завести профилирование CPU и Heap на node 0.8.x, однако это решение не было идеальным. Чтобы вывести его из состояния «поделки» необходимо было бы заменить устаревший интерфейс WebKit-консоли на современный, переписав приличное количество кода и исправить некоторые проблемы производительности. В целом, решение на основе консоли WebKit мне кажется очень не гибким, поэтому я бросил эту затею и продолжил поиски.

Вот оно


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

JavaScript — полезные материалы

Время на прочтение2 мин
Количество просмотров79K
Хочу поделиться набором ссылок на нексолько полезных, интересных и, возможно, не самых известных материалов по JavaScript. Из них вы узнаете немного больше об истории появления языка, о его настоящем, тонкостях реализации в различных браузерах, и о будущем развития стандарта ECMAScript. О различных способах наследования в том числе об эмуляции «классического» ООП, множественном наследовании и миксинах. О функциональном стиле программирования в JavaScript: чистые функции, map, reduce, частичное применение и композиции функций. И, наконец, что если бы Хемингуэй писал на JavaScript?
Читать дальше →

Ускоряем node.js: нативные модули и CUDA

Время на прочтение11 мин
Количество просмотров24K
Иногда разработчики различных веб-проектов сталкиваются с необходимостью обработки больших объемов данных или использованием ресурсозатратного алгоритма. Старые инструменты уже не дают необходимой производительности, приходится арендовать/покупать дополнительные вычислительные мощности, что подталкивает к мысли переписать медленные участки кода на C++ или других быстрых языках.

В этой статье я расскажу о том, как можно попробовать ускорить работу Node.JS (который сам по себе считается довольно быстрым). Речь пойдет о нативных расширениях, написанных с помощью C++.
Читать дальше →

Philips THE SPECKED с плетеным кабелем: Наушники, которые не путаются?

Время на прочтение2 мин
Количество просмотров87K
Однажды мне надоело каждый раз распутывать головоломку, получающуюся в моем кармане из наушников, и я озаботился поиском таких наушников, которые бы были избавлены от этого недостатка.
В качестве первого тестового экземпляра были выбраны наушники от компании Philips серии THE SPECKED:

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

Подборка CSS3-генераторов для упрощения фронтэнд-разработки

Время на прочтение2 мин
Количество просмотров48K
CSS3 предоставляет много новых возможностей в мире фронтэнд-разработки. Это действительно великолепная вещь, но иногда трудно вспомнить некоторые параметры, особенно, если вы — веб-дизайнер, а не программист. Вот 10 удивительных CSS3-генераторов, которые помогут вам сэкономить время и силы (картинки кликабельны).
Читать дальше →

Умный дом от любителя или HomeMatic & Co

Время на прочтение14 мин
Количество просмотров145K
В этом повествовании я бы хотел описать свой собственный опыт в области домашней автоматизации на уровне любителя. В своих экспериментах я столкнулся с довольно простыми в использовании системами HomeMatic и X10, применение которых и хотел бы здесь затронуть.
В новостях часто появляются сообщения, что можно управлять чайником или новогодней гирляндой с iPhone (причем обязательно с iPhone, а то новость не будет понята воспринята массами). При этом у меня каждый раз появляется негодование: ну почему люди так бурно реагируют на такие сообщения? Ведь уже давно существуют решения, которые позволяют это сделать. При этом управлять домом из любого браузера, и да… с iPhone тоже!


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

The Bricks — фреймворк для создания пользовательского интерфейса

Время на прочтение2 мин
Количество просмотров9.7K


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

Оптимизация длинных списков логических значений на JavaScript

Время на прочтение5 мин
Количество просмотров4.1K
Очень часто в веб-разработке (и в программировании вообще) необходимо сохранить длинный список логических значений (yes/no, true/false, checked/unchecked и подобные) в виде строк. К примеру, вы захотите записать такие данные с помощью localStorage, в cookie, или отправить их в теле HTTP запроса. У меня возникала такая необходимость сотни раз.
Читать дальше →

Профилирование JavaScript с Chrome Developer Tools

Время на прочтение7 мин
Количество просмотров69K
Скорость сайта состоит из 2 частей: как быстро загружается страница и как быстро работает код в ней. Многие сервисы, такие как минификаторы или CDN, помогают ускорить загрузку, но скорость работы кода зависит только от вас.

Небольшие изменения в коде могут давать огромные изменения в производительности. Всего несколько строк могут означать разницу между быстрым сайтом и диалогом “Unresponsive Script”.
Читать дальше →

Пишем простую карту с помощью Nokia Maps JS API

Время на прочтение7 мин
Количество просмотров7.9K
Привет, Хабр!

Сегодня мы расскажем вам как использовать на веб-сайтах карты Nokia с помощью Nokia Maps JS API. Сервис «Карты Nokia» имеет не только очень простой в применении API, но ещё и отличную детализацию карт с огромной базой географических объектов, которая постоянно пополняется.

Больше информации про технологические возможности «Карт Nokia» вы можете узнать из выступления Сергея Руденко с Nokia Developer Days 2012 (ссылка), а мы приступим к описанию некоторых возможностей использования именно Nokia Maps JS API на примере интеграции карт и использовании возможностей геолокации и прокладывания маршрута. Выглядеть это будет примерно так:



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

Пять интересных эффектов при наведении с использованием нескольких фоновых изображений

Время на прочтение6 мин
Количество просмотров23K
Сегодня мы рассмотрим все преимущества использования множественных фонов. Изучим базовые основы и создадим крутые эффекты при наведении с помощью CSS свойств hover и transition.

Ниже приведены пять различных примеров, которыми вы можете воспользоваться для создания собственных удивительных эффектов.

Что должно получиться


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

Демонстрация



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

Графический стек Linux

Время на прочтение19 мин
Количество просмотров104K
(оригинал — Jasper St. Pierre, разработчик GNOME Shell, взято отсюда)

Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика)

Я постоянно дёргал их, снова и снова расспрашивал о всяких мелочах, а потом эти мелочи благополучно забывал. В конце концов, я задал им вопрос — а нет ли какого-нибудь обзорного документа, уткнувшись в который я бы избавил ребят от своего назойливого внимания? Не получив утвердительного ответа я решил написать эту статью, которая по завершению была вычитана Эдэмом Джексоном и Дэвидом Эйрли. Они оба работают над этим стеком.
Читать дальше →

Настройка Eclipse для работы с Arduino Uno

Время на прочтение5 мин
Количество просмотров54K

Преамбула


У меня дома стоит масляное отопление. Для измерения уровня масла в баке используется допотопный датчик со стрелкой и поплавком на веревке. Принцип работы датчика поражает свой неточностью. Но так как мы с вами живем в далеком будущем, по отношению к моему детству, то мне захотелось сделать датчик, который выполняет следующие условия:
  • Датчик должен быть цифровым.
  • Его показания должны сохранятся для последующей обработки.
  • Данные должны быть доступны для меня всегда и везде.
  • Все устройство должно быть дешевле 200€.
Вот с такой спецификацией я и начал поиск подходящих компонентов. Выбор довольно быстро упал на платформу Arduino. Само железо устраивало меня полностью, но вот среда разработки была просто ужасна. Поэтому было принято решение перейти на Eclipse.

Можно было, конечно, перейти на горячо любимую Visual Studio, но в данный момент я открываю заново для себя линукс, поэтому виндоуса нет в наличии.

Сегодня, я хочу поделиться с вами о том, как настроить Eclipse для работы с Arduino Uno под Ubuntu 10.10.
Читать дальше →

Grunt, инструмент для сборки javascript проектов

Время на прочтение4 мин
Количество просмотров133K
Grunt — это инструмент для сборки javascript проектов из командной строки с использованием задач. Релиз вышел совсем недавно, автор Ben «Cowboy» Alman, проект есть на github. В этой статье я рассмотрю основы Grunt, его установку и использование.
Читать дальше →

Мышка кликера

Время на прочтение2 мин
Количество просмотров42K
— А нет ли у тебя скрипта, который две тыщи раз кликнет по кнопке «добавить»? — спросил меня наш Инженер по тестированию.
— Нет… —сказал я, — но что-нибудь придумаем.

Писать скрипт — это как-то скучно и неспортивно. Поэтому я решил сделать мышь. Но не простую, а прокачанную:

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

эффективное использование vim: «from the very begining»

Время на прочтение7 мин
Количество просмотров27K
«Для меня vi это Дзен.
Использование vi — это практика дзена.
Каждая команда является коаном.
Полный смысла для пользователя,
Бессмысленный для непосвященного.
Вы познаете истину каждый раз когда вы его используете.»
--reddy@lion.austin.

на сколько хорошо ты знаешь язык vim?
посмотри на клавиатуру,
можешь ли ты сказать что выполняет каждая буква?
как много ты знаешь?
как много используешь?


эффективное использование vim

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность