Архив метки: JavaScript

collectd: используем JavaScript для сбора метрик

Graphite-график, собранный из JavaScript-данных

Exec плагин

Среди всего разнообразия плагинов в collectd есть один особенный: если из-за какой-нибудь техногенной катастрофы у collectd останется только Exec, то им вполне можно заменить все остальные.

Как следует из названия, Exec запускает стороннее приложение или скрипт и интерпретирует её вывод в качестве данных для себя. Если быть точным, то он ищет строки вроде таких:

Что самое прекрасное, Exec абсолютно по барабану, на каком языке написан скормленный ему скрипт.  Хоть на JavaScript. В принципе, в некоторых сценариях использовать JavaScript было бы очень хорошей затеей. Например, когда приходится иметь дело с RESTful сервисом возвращающим JSON.

Но прежде чем мы попробуем скормить collectd данные из JavaScript приложения, стоит присмотреться поближе к формату PUTVAL-строк. Читать далее collectd: используем JavaScript для сбора метрик

Immutable данные и немного JavaScript

HanSolo

Обычно чаще, чем реже, мы объявляем переменные из расчёта, что их значение будет меняться: счётчики будут увеличиваться, массивы дополняться, объект типа Person поменяет богопротивное имя Джон на Аркадий, и т.д. Всё меняется, а  const  и   readonly нужны только жмотам и студентам, начитавшимся Макконела. Читать далее Immutable данные и немного JavaScript

IO — добрый брат-близнец JavaScript

Seven languages in seven weeks: Ruby, IO, Prolog, Scala, Erlang, Closure, Haskell

Читаю прелюбопытнейшую книжку — «Семь языков за семь недель«. Языков программирования, разумеется. Читаю и пребываю в перманентном восторге. По списку идут Ruby, IO, Prolog, Scala, Closure, Erlang и Haskell, и я только-только добрался до Scala. Prolog, разумеется, здорово прошелся по психике в шипастых сапожищах, но больше всего в душу запал IO. Читать далее IO — добрый брат-близнец JavaScript

В чем прелесть test-driven development

Test-Driven Development

Как я уже писал раньше, одно из первых болезненных откровений по прибытию на канадскую контору было то, что я пишу отвратительный и никому не понятный код. С тех пор прошло некоторое время, я прочитал стопку профессиональной литературы, и.. продолжил писать отвратительный и никому не понятный код. В чем засада? Читать далее В чем прелесть test-driven development

Моя первая канадская IT конференция

На прошлой неделе попал на первую в своей жизни канадскую программерскую конференцию — WebUnleashed 2015. Просто по конференциям я и в Минске шастал, но тут было как минимум 2 отличия не в пользу последнего. Читать далее Моя первая канадская IT конференция

Типизированные массивы в JavaScript

Typed arraysРешил собрать волю в кулак и прочитать-таки документацию про ArrayBuffer, Uint8Array, DataView и всех их родственников. Оказалось, что типизированные массивы это милая и широко-используемая штука по всему фронту JS/HTML5, и я — последний человек на земле, который ими не пользуется.

Читать далее Типизированные массивы в JavaScript

Sorting JavaScript Array Of Objects

Out of the box JavaScript Array.prototype.sort method uses simple yet effective approach — it converts every item to Unicode string and orders them by comparing respective code point values. That explains, why [1, 2, 10].sort() produces [1, 10, 2], instead of more logical  [1, 2, 10]. If you want more, e.g. sort in descending order or by object property name, Array.prototype.sort accepts custom comparer function that allows you to implement your own sorting logic.

Читать далее Sorting JavaScript Array Of Objects

Simplest Chrome Extension: Content Script

I really like the concept of browser extensions. Especially for Chrome. Surprisingly, though, I never remember Chrome Extensions being a hot topic. Why? If you’re front-end developer like I am, chances are that you spend most of your time in the browser. Why not to fix a thing or two?
What’s more interesting, writing extensions is not that difficult. In common scenario it’s manifest and JS file with logic. Just another JavaScript application.

Let’s take the simplest one: content script. Читать далее Simplest Chrome Extension: Content Script

When Server-Sent Events (SSE) is much better choice than WebSocket

Many web apps nowadays, including project I’m working on, rely on real time notifications from the server. GMail instantaneously adds incoming mail, Facebook shows chat messages and likes, list can go on.

My app does the same: it subscribes to certain topics and keeps open channel for server updates. Traditionally, we’ve been using long polling for that, but it felt like a hack, so we decided to switch to web sockets and fall back to long polling for legacy browsers. It took me 2 years to get to Ilya Grigorik’s «High Performance Browser Networking» book and realise that Server-Sent Events was much better choice. Here’s why. Читать далее When Server-Sent Events (SSE) is much better choice than WebSocket

Простейшее расширение для Google Chrome: content script

Меня, почему-то, очень воодушевляет возможность писать расширения для хрома. Это не значит, что я этим воодушевлением как-то пользуюсь, но тем не менее. Задачи я получаю через Chrome, в нем же их потом тестирую, в нем же читаю (не)довольные письма от заказчиков после коммита, и на каждой стадии хватает мелочей, которые можно улучшить.

А расширение — оно простое. Манифест + какой-нибудь js файл с логикой — и всё.

Читать далее Простейшее расширение для Google Chrome: content script