Показаны сообщения с ярлыком javascript. Показать все сообщения
Показаны сообщения с ярлыком javascript. Показать все сообщения

Graphite: отправка данных из Yandex-Танк

Продолжаю коллекционировать интересные штуки про Graphite: вот например, опенсорсная утилита для автоматизированного нагрузочного тестирования Yandex-Tank, разработка программистов Yandex, как можно догадаться из названия, построен на Фантоме. С некоторых пор и в Яндекс-Танке появилась поддержка Graphite. Конфигурационный файл выгрузки позволяет настроить разные префиксы метрик для тестируемых серверов. Подробности по ссылкам внизу статьи. Ну и, чтобы два раза не вставать, немного про, собственно, Яндекс-Танк (вольный перевод Readme.md с гитхаба проекта и немного отсебятины):

.Gadget again: Разные мелочи

Микрософт в своём стиле: при обновлении
не показывается версия установленного гаджета
Продолжаю ковыряться с гаджетами Windows Sidebar.

Обновление гаджета:
Как выясняется, встроенного механизма для обновления гаджета нет. Есть возможность установить новую версию поверх старой, но и здесь не всё гладко, - при установке новой версии поверх в русифицированной версии но отображается информация о старой версии,- только название гаджета, и то в виде имени файла в файлововй системе, а не то название, которое задано в gadget.xml. Такие мелкие и мягкие баги убивают всё впечатление от операционной системы.

Разаботка и дебаг:
Микрософт рекомендовал разрабатывать и дебажить в Visual Studio. По опыту получается, что львиную долю разработки можно сделать в альтернативной системе (я использовал Mac OS X 10.7.5), если говорить о логике изменения UI и получения/обработки данных. Всё что касается работы с настройками,- дело плохо. Данные настроек для гаджетов Windows Sidebar записываются и читаются с помощью javascript-объекта System.Gadget.Settings. Нигде, кроме сайдбара, этого объекта попросту не существует в объектной модели javascript. Реализаций System.Gadget.Settings в виде бибилиотеки для отладки в произвольном браузере (да даже в IE),- попросту не существует и уже не будет существовать.

Кроссплатформенность
В Mac OS X тоже есть гаджеты (ака виджеты). Несмотря на похожесть этих двух представителей ПО,- готовить их нужно по разному. Кроме того, есть ещё расширения для Chrome, которые тоже все из себя HTML, но тоже другие. Готовых инструментов для адаптации одного к другому или изначально кроссплатформенной разработки,- не нашёл, хотя не исключаю, что они могут существовать или кем-то разрабатываются в настоящий момент.

.Gadget: Никаких логов в консоли

Пара стандартных гаджетов-виджетов
 на рабочем столе Windows
Довелось тут делать gadget для Windows Sidebar. Дело оказалось нехитрое, но шибко геморройное, как и всё связанное с Internet Explorer. Краткую инструкцию можно найти по известному адресу или погуглить, информации в сети достаточно.

Вкратце: Gadget для Windows Sidebar представляет из себя HTML-страничку с небольшой дополнительной обвязкой в виде ресурсов (javascript, CSS, графика) и нескольких дополнительных файлов, которые помогают винде понять "что со всем этим делать". Внутри странички может работать уже упомянутый javascript (в том числе всевозможные jQuery и прочие библиотеки с небольшими ограничениями), можно делать ajax-заросы к внешним ресурсам (с учётом Access-Control-Allow-Origin на сервере, конечно), можно прикрутить несколько дополнительных страниц (выезжающая плашка ака flyout и страница настроек). Все эти файлы собираются в одну папку с именем, оканчивающимся на ".gadget" и подкладываются операционной системе. Операционной системе это кажется гаджетом, который можно разместить на рабочем столе (в Vista и Windows7) и быть от этого счастливым.

К сути истории: сам виджет я собирал и тестировал по максимуму на макинтоше и под хромом, решив адаптацию под Windows и IE делать после того, как будет дизайн и будет работать весь javascript. Работающий уже полностью (как казалось) виджет положил на машину с Windows.... и не получил вообще ничего, абсолютно пустая страница в том виде, в котором она есть после загрузки страницы и инициализации скриптов, но без результата выполнения хотя-бы одной функции. Это меня озадачило...

Процесс ошибок был долог, но конечный результат таков:
Несмотря на то, что console.log работает в IE9 с открытым окном "Средства разработчика F12",- не надо использовать console.log в виджетах, ибо в виджете console.log приводит к ошибкам. А ошибки в гаджете,- не отображаются как таковые.

Linux в браузере

Буквально вчера (16 мая 2011 года) в интернете запустился проект jslinux (эмулятор PC с Linux на javascript в браузере) от уважаемого мужчины по имени Фабрис Беллар. Эмулятор для запуска Linux полностью написан на JavaScript. При входе на страницу отображается консоль, на которой начинается загрузка Linux с нуля до момента отображения рутовой консоли. В консоли работает куча стандартных команд, вплоть до компилятора TCC. И всё это работает прямо в браузере. Крутизна необыкновенная.

Подсказки в полях ввода - реализация placeholder на JQuery

Понадобилось сделать небольшую обёртку для полей ввода в HTML, чтобы по умолчанию в пустом поле стоял текст подсказки (ну например, "введите номер телефона"), при входе в поле строка очищалась, при выходе и пустом значении подсказка возвращалась, а если что-то введено,- значение оставалось.
Написал коротенькую функцию на javascript с использованием библиотеки JQuery. На вход подаётся объект JQuery и строка для подсказки, текст подсказки устанавливается в поле и применяется CSS класс "hint" для оформления подсказки.