Сниппет для require

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




req
requre
source.js

Вольный перевод спецификации — 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

Как исключить каталог из git diff

Если вам по какой-то причине необходимо убрать из вывода команды git show, изменения в определенной папке (например путь к каталогу с чужими модулями), данная команда должна помочь.


git diff origin/master --name-only | grep -v "^node_modules/" | xargs git diff -M origin/master HEAD --

7 навыков высокоэффективных людей

(По мнению Ствена Кови)

1) Успешные люди инициативны. Их поступки — сознательный выбор.
2) Они ясно представляют свои жизненные цели.
3) Они умеют отличать важное от срочного, расставлять приоритеты
4) Сотрудничество — основа их побед.
5) В общении они стремятся понять других, а только затем быть понятыми.
6) Они ищут поводы для сотрудничества и увеличивают свою эффективность, добиваясь синергии.
7) Они умеют анализировать свои недостатки и устранять их.

Модули для node.JS

В node.js модуль — это файл, который можно подключить при помощи require();
Переменные:
var — обычная переменная,
export — переменная, которая передает объект из модуля в то место где его вызывают,
global — глобальный объект, аналог браузерного window, не рекомендуется использовать его в своих скриптах.

Модуль можно объявить в директории, создав в ней файл index.js.

Promise

Promise (обычно их так и называют «промис») это объект позволяющий удобно организовать работу с асинхронным кодом в JavaScript.

Тело promise — это функция, из которой можно выйти, вызвав второй или первый ее аргумент:


let promise = new Promise((resolve, reject)=> {
setTimeout(()=>{
console.log(1000);
// Вызываем resolve, отвечающий за успех.
resolve();
}, 1000)
})

// Навешиваем обработчики, первый для вызова resolve, отвечающего за успех, второй для второго, вызывается в случае если произошла ошибка и был
// вызван reject.

promise.then(() => {
console.log('resolve')
}, () => {
console.log('reject')
})

Тренировка корпуса (из серии 7 минут)

Тренировка нацелена на мышцы пресса и спины. Каждое упражнение необходимо выполнять в течении 30 секунд с 10 секундными перерывами.
Читать далее Тренировка корпуса (из серии 7 минут)

ECMASCRIPT-2015: Объекты

Короткие свойства.

Свойства можно задать используя переменную.


let x = 1;
let y = 2;

var o = {
x,
y
}

console.log(o.x + o.y) // 3

Вычисляемые имена свойств

let o = {
['x'+'y']: 1
}

console.log(o.xy) // 1

Object.assign

Получает список объектов и записывает их свойства в первый.


let x = {
x:1
}
let y = {
y:1
}
let z = {
z:1
}

var o = Object.assign(x,y,z);
console.log(o); // {"x":1,"y":1,"z":1}

Методы

Теперь методы можно записывать сразу:

var o = {
meth() {
return 10
}
}
console.log(o.meth())