Pull to refresh
43
0
Sergey Ilinsky @ilinsky

Front-end Architect

Send message
Увы, так и есть: выпилив пространства имен из веба, авторы новых технологий (HTML5+ Web Components) никакой альтернативы не предложили. И если раньше в XML словари элементов идентифицировались по URI, то теперь это делается по простому условному префиксу в имени: ни версионности, ни ссылочности, ни уникальности…
Будьте осторожны с использованием ~~ при работы с числами:
function truncated(num, decimalPlaces) {    
    let numPowerConverter = Math.pow(10, decimalPlaces); 
    return ~~(num * numPowerConverter)/numPowerConverter;
}

> truncated(0.12345678912345678, 17)
> 1.578423886e-8


Простая замена ~~ на Math.round возвращает точность:

function truncated(num, decimalPlaces) {    
    let numPowerConverter = Math.pow(10, decimalPlaces); 
    return Math.round(num * numPowerConverter)/numPowerConverter;
}

> truncated(0.12345678912345678, 17)
> 0.12345678912345678
Будьте осторожны с использованием ~~ при работы с числами:
function truncated(num, decimalPlaces) {    
    let numPowerConverter = Math.pow(10, decimalPlaces); 
    return ~~(num * numPowerConverter)/numPowerConverter;
}

> truncated(0.12345678912345678, 17)
> 1.578423886e-8


Простая замена ~~ на Math.round возвращает точность:

function truncated(num, decimalPlaces) {    
    let numPowerConverter = Math.pow(10, decimalPlaces); 
    return Math.round(num * numPowerConverter)/numPowerConverter;
}

> truncated(0.12345678912345678, 17)
> 0.12345678912345678
Выход «из положения» номер 0:
setTimeout(function() {
  feedback.send()
})


Из минусов можно добавить, что серверный рендеринг скорее всего не работает.
Руки отбивать тем кто использует !important
Статья вводит в заблуждение ибо предлагают идею что интерпретаторы JavaScript недостаточно производительны, что в корне не верно. Как и 10 лет назад на десктопе, сегодня в мобильном устройстве основное время (задержка) возникает в отрисовывании.
Хорошая вводная статья. Пара замечаний — первое: если в браузере нет Shadow DOM, то его ничем не заменить и не заполнить: в дереве документа будет присутствовать именно то, что видно в листинге примера с GMail, пересечения CSS не побороть, ну и, понятное дело, скоупы исполнения не изолировать. Второе: технологии компонентизации существовали в браузерах задолго до Web Components, так например в IE5.5 (1999 год) впервые появилась технология HTML Behaviors, а уже в IE6.0 — HTC (HTML Components) (RIP 2013), параллельно с чем в движке Gecko развивалась другая технология компонентизации — XBL (RIP 2012).
$scope.myVar = 2 * 2;
$scope.$watch('myVar', function() {
	alert('myVar has changed!');
});

'myVar' будет высчитываться минимум один-два раза при каждом цикле $digest.

'myVar' будет высчитываться только один раз, а вот проверка изменений $scope.myVar будет происходить, конечно, в каждом цикле.
Опечатка: XBL (2001) и его наследник XML2 XBL2
А книжечка-то под-устарела: акценты, рецепты, проблемы и т.д. во многом переформатированы к сегодняшнему дню. (Disclaimer: делал оригиналу книжечки техническое ревью в том самом 2011-м году по ходу ее написания, и тогда содержание казалось вполне адекватым)
Каких стандартов? Из случайно выбранных для проверки статуса: «Selectors API Level 2» и «CSS 2D Transforms», ни один не является стандартом.
Стоит добавить test runner Karma (бывший Testacular) с неплохими встроенными средствами анализа покрытия кода.
Планирую вернуться до 2017 года
Немного другая [глобальная] статистика тут: marketshare.hitslink.com/browser-market-share.aspx?qprid=2&qpcustomd=0 (IE8 — 23.23%, IE7 — 1,93% etc)
Здорово, конечно. Но маловероятно, что это:
а) есть стандарт и он будет реализован во всех броузерах
а) «может стать трендом в ближайшие несколько лет»

Ни HTC (Internet Explorer <9.0), ни XBL (Gecko <1.9), ни XBL2 (тоже стандарт! и тоже от Google) трендами не стали, выглядили тем не менее более красиво.

Да, похожий велосипед, но работающий во всех броузерах: Ample SDK
Возможно кому-то окажется полезным — библиотека Ample SDK [в числе прочего] рисует SVG как он есть, без промежуточных форматов, а также предоставляет DOM, SMIL и т.д. в IE9.0- пример
На каждом ресурсе в Интернет, а тем более, на новостных, присутствует текст, обрисовывающий условия использования информации, в которых обычно написано, что "… перепечатка материалов с сайта возможна только с разрешения...". Если у Гугл есть разрешение, то к нему не может быть никаких вопросов, иначе — почему бы и не оформить отношения однажды?
Прошу прощения за видимый само-пиар, полная обертка: github.com/ilinsky/xmlhttprequest с фиксацией большинства багов старых и новых браузеров: www.ilinsky.com/articles/XMLHttpRequest/ (memory leaks, status change ordering etc.) Используется в многих проектах с 2007 года.

Information

Rating
Does not participate
Location
Amsterdam, Noord-Holland, Нидерланды
Registered
Activity