Сообщения

Fedora 21 минификация JavaScript

При разработке сайтов иногда удобно конечный результат сжать в размере. На компьютере web-разработчика с ОС Fedora 21 можно установить для этого специальный инструмент: sudo dnf install closure-compiler.noarch jarjar.noarch Без установки пакета jarjar  выходит ошибка: /usr/bin/build-classpath: Could not find jarjar Java extension for this JVM /usr/bin/build-classpath: error: Some specified jars were not found После установки можно из консоли сжимать .js файлы. Для текущего каталога команда у меня выглядит так (для файла calculation.js): closure-compiler --compilation_level SIMPLE_OPTIMIZATIONS --js calculation.js --js_output_file calculation-compiled.js В результате мы получим непонятный для человека, но подготовленный для компьютера файл calculation-compiled.js, который по размеру будет почти вдвое легче исходного. Если требуется только проверить файл на наличие ошибок, то можно запустить со следующими параметрами: closure-compiler --compilation_level WHITESPACE_ONLY --js...

Подключение к Arduino различных элементов

Изображение
RGB светодиод с общим катодом Самая длинная ножка - катод, его подключаем на GND (земля). Остальные ножки отвечают за конкретный свет; их подключаем через резистор на 1 КОм на ШИМ (PWM) выход. Слева от катода одна ножка; отвечает за красный свет; подключаем через резистор, например, на D11. Справа от катода ножка, отвечающая за зелёный свет; подключаем через резистор, например, на D10. Последня ножка отвечает за синий свет; подключаем через резистор, например, на D9. Пример плавного зажигания (и гашение) красного света: int ledRed = 11; int ledGreen = 10; int ledBlue = 9; int brightness = 0;    // how bright the LED is int fadeAmount = 5;    // how many points to fade the LED by // the setup routine runs once when you press reset: void setup()  {   pinMode(ledRed, OUTPUT);   pinMode(ledGreen, OUTPUT);   pinMode(ledBlue, OUTPUT); } // the loop routine runs over and over again forever: void loop() {   // set the brightness o...

Mint 16 + Arduino Pro Mini + переходник FT232RL

Изображение
Для большего удобства программирования Arduino Pro Mini приобрёл переходник "5V 3.3V FT232RL USB To Serial 232 Adapter Download Cable Module For Arduino" в замен "PL2303HX USB To RS232 TTL Auto Converter Adapter Module For arduino", соединение через который я описал ранее . Этот переходник позволяет заливать программу сразу без ручного нажимания кнопки Reset на Arduino Pro Mini. Сначала переходник FT232RL подключал к компьютеру через провод USB-удлинитель. Программа прошилась разок-другой, но как-то не всегда сразу. Выходила ошибка "stk500_recv(): programmer is not responding". Посмотрел, как определяется переходник компьютером: sudo mc а потом /var/log/syslog. Увидел, что при подключении к USB компьютера без USB-удлинителя устройство опознаётся правильно и подключается на /dev/ttyUSB0, а вот через удлинитель что-то не так. Теперь про непосредственно подключение переходника FT232RL к плате Arduino Pro Mini. На снимке ниже: FT232RL - DTR -> ...

Красивое оформление CSS

Изображение
Мне часто приходится работать с CSS-файлами. Нашёлся удобный и быстрый способ приводить эти файлы в единообразный и удобный вид. По инструкции с сайта http://csscomb.com был установлен пакет csscomb: sudo npm --proxy http://<myProxyIP>:<myProxyPort> install csscomb -g Потом сохранил себе созданный на мой вкус файл настроек /home/oleg/Documents/.csscomb.json: { "exclude": ["node_modules/**", "vendor/**"], "verbose": true, "remove-empty-rulesets": true, "always-semicolon": true, "color-case": "lower", "block-indent": " ", "color-shorthand": false, "element-case": "lower", "eof-newline": true, "leading-zero": false, "quotes": "double", "sort-order-fallback": "abc", "space-before-colon": "", "space-after...

Подсветка лестницы. Продолжение 1

Изображение
Собираем первую версию прототипа автоматической подсветки лестницы на макетной плате. Эта версия почти полностью соответствует схеме из статьи Автоматическая подсветка лестницы с помощью Arduino . Скетч так же подойдёт тот же за исключением своих показаний освещённости (измеряется в "попугаях"). Что может этот прототип Прототип позволяет зажигать и тушить светодиоды с заданной задержкой при определённом уровне освещённости (не загораются, если светло) и срабатывании одного из двух ультразвуковых дальномеров. Что ещё предстоит добавить Необходимо доработать прототип, чтобы светодиоды загорались плавно (прикрутить ШИМ управление). Нужно сделать режим дежурного света, когда первый и последний светодиоды загораются при снижении освещённости до определённого уровня. Неплохо бы добавить кнопку для переключения режимов работы: всё выключено, полностью включено, автоматический режим, "весёлый" режим мигания (на случай праздника). Самое главное, что выяснилось в пр...

Подсветка лестницы

Изображение
Вступление По мотивам проекта автоматической подсветки лестницы с помощью Arduino , который, в свою очередь, создан по мотивам другого проекта , я дополнил и модернизировал схему и код и получил свой вариант. Это мой первый проект на Arduino, поэтому буду описывать всё "для чайников", т.е. что бы мне же было понятно, если позже захочу к этому вернуться. Цель проекта Сделать красивую и функциональную подсветку под ступеньками лестницы на второй этаж в частном доме. В тёмное время суток должна загораться "дежурная" подсветка на первой и последней ступеньке, чтобы их было видно. Во время начала подъёма или спуска кого-либо по лестнице должна загораться подсветка всей лестницы. Также захотелось "весёлый" режим работы подсветки на случай праздника. Что требуется Я использовал китайский аналог Arduino PRO Mini ATMEGA328P 5V 16MHZ в качестве центрального мозга. Датчики: фоторезистор для замера освещённости (у меня Photoresistor GL5516 LDR ), два ульт...

Yii 1. Авторизация - пользователи и роли в базе данных

Изображение
Введение Процесс настройки аутентификации и авторизации расписан в нескольких официальных и полуофициальных источниках: http://www.yiiframework.com/doc/guide/1.1/ru/topics.auth http://yiiframework.ru/doc/guide/ru/topics.auth http://yiiframework.ru/doc/cookbook/ru/access.rbac.file Но ни в одном из этих источников нет исчерпывающих рекомендаций для построения авторизации для случая, когда пользователи, роли и прочие правила хранятся в базе данных. Хотя схема для базы данных MySQL входит в поставку Yii: framework/web/auth/schema-mysql.sql Эта схема содержит описание трёх таблиц: AuthAssignment, AuthItem и AuthItemChild. Схема: До этого я завёл таблицы для пользоватлей и ролей: user и user_role: Базовая настройка прав доступа Модель User у меня такая: <?php /**  * This is the model class for table "user".  *  * The followings are the available columns in table 'user':  * @property integer $id  * @property string $username  * ...