Добавление директории в $PATH

PATH — переменная окружения, которая сообщает shell интерпретатору — в какой директории искать исполняемые файлы, в ответ на команды, введённые пользователем.

Для того, чтобы добавить путь, отредактируйте .bashrc файл в домашней директории и добавьте следующую строку:

export PATH=/path/to/dir:$PATH

Пауза в bash

Для того, чтобы поставить исполнение команды на паузу и запустить другую, можно нажать комбинацию клавиш — CTRL+Z. Для того, чтобы восстановить процесс нужно набрать команду fg.

Redis API — основные возможности

Для взаимодействия между node.js и nosql базой данных — redis, можно воспользоваться модулем node_redis (npm install redis).

Структуры данных поддерживаемые redis’ом:

  • Хеш-таблицы
  • Списки
  • Пары ключ/значение
  • Множества (set)

Читать далее Redis API — основные возможности

vimium — веб серфинг без мыши

vimium — плагин для браузеров на основе chromium, позволяющий совершать основные действия без мыши. Например, для того чтобы открыть ссылку нужно нажать на f, тогда над каждой ссылкой появиться сочетание клавиш, нажатие на которые откроет нужную ссылку. Для скрола страницы, можно использовать клавиши: j, k или d, u и другие, привычные для пользователей vim’а сочетания, такие как gg — промотка к началу документа или G для переход в самый низ.

Стандартные каталоги Linux

/ — корневой каталог.
/bin — содержит стандартные программы (cat, cp, ls, login).
/boot — каталог загрузчика (образы ядра).
/dev — файлы устройств.
/etc — содержит конфигурационные файлы системы.
/home — содержит домашние каталоги пользователей.
/lib — библиотеки и модули.
/last+found — восстановленные после некорректного размонтирования файловой системы файлы и каталоги.
/media — сменные носители (CD, DVD, USB).
/misc — может содержать все, что угодно, равно как и каталог /opt.
/mnt — содержит точки монтирования.
/proc — каталог псевдо файловой системы procfs, предоставляющей информацию о процессах.
/root — каталог супер пользователя.
/sbin — каталог системных утилит, доступных только для root пользователя.
/tmp — каталог для временных файлов.
/usr — содержит пользовательские программы.
/var — изменяющиеся данные системы (протоколы, замки и т.п.)

Как написать postcss плагин

1) Скачиваем postcss (и несколько плагинов, для примера)

npm install gulp-postcss postcss-mixins postcss-simple-vars postcss-nested autoprefixer-core --save-dev

2) Добавляем настройки в gulpfile.js и создаем сам плагин, выглядит это примерно так:

var
    gulp = require('gulp'),
    postcss = require('gulp-postcss'),
    processors = [
        require('postcss-mixins'),
        require('postcss-simple-vars'),
        require('postcss-nested'),
        // Добавляем наш плагин.
                function(css) {
            // sans-serif fallback
            css.eachDecl('font-family', function(decl) {
                decl.value = decl.value + ', sans-serif';
            });
        }
    ];

Плагин это простая JavaScript функция, которая в качестве аргумента принимает css код и имеет собственное API

3) После, вызываем это штуку:

gulp.task('css', function() {
  return gulp.src('source/css/styles.css')
    .pipe(postcss(processors))
    .pipe(gulp.dest('dest/styles/'));
});

4)??????
PROFIT

Как быстро изучить новую технологию. Learn, do, learn, teach.

Это статья посвещена методологии 10 шагов. Основная идея — получить базовое понимание того, что вы пытаетесь изучить. Далее определить масштаб предмета а так же конечный результат.

  1. Получите общую картину.
  2. Определите масштаб.
  3. Определите конечный результат.
  4. Создайте план обучения.
  5. Отфильтруйте ресурсы.
  6. Узнайте достаточно что-бы начать.
  7. Экспериментируйте.
  8. Узнайте достаточно, чтобы начать.
  9. Обучайте

Сниппет для require

Если вы пользуетесь текстовым редактором — sublime text и вам надоело постоянно писать require(…), я предлагаю воспользоваться данным снипетом.
Снипет попытается предложить вам автоматическую подстановку и установит курсор в кавычки, между скобочками — require(‘cursor will be here‘), после повторного нажатия на таб, переведет курсор на новую строку.

<snippet>
    <content><![CDATA[
    require('${1:./}');
    ${2:}
    ]]></content>
    <tabTrigger>req</tabTrigger>
    <description>requre</description>
    <scope>source.js</scope>
</snippet>

Вольный перевод спецификации — Navigation Timing

Общее.

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

1 Введение

Эта секция не является нормативом.

Время ожидания пользователем является важным показателем производительности для Веб приложения. Сценарии на основе механизмов, подобных [JSMEASURE], могут обеспечить всеобъемлющий инструментарий для измерения времени ожидания в пределах приложения, во многих случаях, но они не способны предоставить готовый end-to-end период ожидания картинки.

Пример — скрипт снизу, наивно, пытается измерить время, затраченное на полную загрузку страницы.

<html>
<head>
<script type="text/javascript">

var start = new Date().getTime();
function onLoad() {
  var now = new Date().getTime();
  var latency = now - start;
  alert("page loading time: " + latency);
}

</script>
</head>
<body onload="onLoad()">
<!- Main page body goes from here. -->
</body>
</html>

На самом деле скрипт считает время,  после загрузки  и начала выполнения JavaScript. Но это не дает никакой информации о загрузке страницы с сервера.

Для того чтобы узнать точное время, можно использовать интерфейс под названием PerformanceTiming. Этот интерфейс позволяет узнать точное время ожидания пользователем.

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

<html>
<head>
<script type="text/javascript">
function onLoad() {
  var now = new Date().getTime();
  var page_load_time = now - performance.timing.navigationStart;
  alert("User-perceived page loading time: " + page_load_time);
}

</script>
</head>
<body onload="onLoad()">
<!- Main page body goes from here. -->
</body>
</html>

 

 

Фильмы для elementary

Список фильмов, которые стоит посмотреть тем, кто недавно начал изучать английский язык и сейчас находится на уровне — elementary.

  • Alice In Wonderland
  • Diary of a Wimpy Kid
  • How To Train Your Dragon
  • Percy Jackson and The Olympians