Pull to refresh
0
0
Send message
Как один из разработчиков «медленной» библиотеки позволю себе прокомментировать результаты:

Самописной, не протестированной, не возвращающих статистически значимых результатов «библиотеке» перфоманс тестов, во всяком случае, мы, доверять не смогли бы.

Многие тесты как jQuery так и остальных библиотек написаны довольно спорно, это видно как и по результатам: ванильный джаваскрипт не может быть медленнее библиотечных аналогов; так и по самим тестам: как пример тесты селекторов нужно выполнять в отдельном фрейме, для того что бы обеспечить изолированность выполнения каждого теста, например как сделано у нас – github.com/jquery/sizzle/blob/master/speed/

Скорость имеет значение, но мы так же обязаны балансировать между размером гзипованного кода и стабильностью АПИ библиотеки, как пример: мы думали использовать Element Traversing API и новые ДОМ-методы типа insertAdjacentHTML, в некоторых браузерах прирост был до 80-90%, но в некоторых случаях размер, в других, опасность возникновения появления эджевых багов нас остановили.

Иными словами даже если результаты нового кода хороши, в абсолютных числах производительность будет все еще высока и в старом коде, сравнительная скорость может быть хуже, но это всего лишь детали.

Тем не менее, сейчас, мы разрабатываем возможность автоматического тестирования скорости после каждого коммита, это позволит нам видеть регрессии сразу после их возникновения, надеюсь мы успеем это сделать ко времени выхода 2.1/1.11.
Жаль, что jQuery не поддерживает IE8.
Это не так, вы можете использовать jQuery 2.0 при этом поддерживая пользователей IE6–8. API 1.9 и будущей версии 1.10 никак не отличаются от 2.0, вы можете использовать condition comments для IE, давая пользователю старого браузера загрузить только 1.x, а для современных только 2.0.

В оригинальном посте все это есть, опущение упоминания этой возможности в этом посте довольно прискорбно.
При это, в оригинале сказано правильно, но в здесь ошибка, статья хороша, а перевод вольного качества :-(
Вы ударяетесь в крайности, отсутствие поддержки css и js? Сколько у вас таких пользователей? Сколько у вас пользователей с «бортовыми компьютерами»?

Определение модного слова 2003 года, не значит что у вас должна быть поддержка таких пользователей, если у вас их нет, для стартапа, такой конъектуры пользователей не существует.

Кстати грейсфул деградатион, не так что бы противоположна прогрессив энчатменту,
у вас может быть два разных сайта с одним контентом (или почти одним), для пользователей с ограниченными возможностями (как вы сделали для ie6) и пользователей с расширенными — это прогрессив, при этом в расширенной версии может использоваться концепция грейсфулла.

Вы не поняли, это правда, если картинке выставить дисплей нон, то запрос на нее все равно пойдет. Но пожалуйста, прочитайте второй абзац моего прошлого комментария, я же не просто так про врапперы вам написал. Воспользовавшись описанным мною способом, для скрытой картинки запроса не будет, но при условии, если вы задаете картинку через бэкраунд. Это одна из особенностей работы с медиа куиррисами. Поэтому в скрипте будет достаточно строчки с new Image.

Цикл, сейчас, вам не нужен, об этом стоит задуматься только когда вероятность нескольких логотипов станет реальностью. Из-за того что у вас используется цикл, стили у элемента спрашиваются дважды, когда достаточно и одного раза.
Прелоадер логотипа у вас мог бы выглядить проще.

Вставляйте картинки сразу, без джаваскрипта, но не через img, а через тэг с бэкраундом,
оберните эти тэги во врапперы, у этих врапперов, для нужного логотипа, в медиа куиррисах поставьте дисплей нон, в этом случае браузеры не будут подгружать не нужную картинку. В том же скрипте, что смотрит на скрытый/показанный логотип, делайте просто new Image().src = «путь до картинки». Если большой/маленький логотип будет показан, то он будет взят из кеша.

В некоторых браузерах бэкраунд будет рендериться медленнее, чем img, но в данном случае разница минимальна.

Цикл вам не нужен, как и getElementsByTagName, firstChild, lastChild будет быстрее. В ифе на проверку показаности логотипа не используйте currentStyle, только getComputedStyle, в ie8 нет поддержки медиа куиррисов. А если и была бы, то нужно было бы использовать грейсфул деградйшен. То есть сначала
должен был бы идти стандартизованный метод – getComputedStyle и только после него уже альтернатива – currentStyle. Из-за невнимания к этой технике вы используете устаревший интерфейс получения стилей в ie9.

noscript вам будет не нужен, для определения того какую картинку показать используйте ваш jsHtml, у тэга html, камел кейс кстати, для классов – плохой тон, так же как это и противоречит концепции бэма, вообще концепцию эту, вы как-то странно используете.

Удачи! Но маил.ру все равно говно.
> У Гугла патентов — кот наплакал.

В сравнении с кем? С Фейсбоком или с Cамсунгом? Относительно Самсунга — не много, в сравнении с Фейсбуком — на порядоки больше.

> Поэтому они купили Моторолу Мобилити. Как только антимонопольный комитет разрешил слияние, Моторола Мобилити тут же подала в суд на Apple

Все верно, только не после одобрения, а до.

> (а делать так она по условиям контракт может только с разрешения Гугла).

Спекулятивное утверждение, все издания дающее такую оценку, базируют это мнение на трактовке контракта все одного аналитика, когда Гугл заявлял о полной независимости MMI от него. Желтый цвет иногда бывает крайне неприятен.
Я фигею от этого комментария, но более сильньные и ужасные впечатления у меня вызывают положительная реакция сообщества на него.

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

Вы знаете что у Гугла огромное количество патентов и целая армия патентных юристов… и не одного патентного иска? Вы знаете что Гугл постарался привнести новые концепции и идеи в социальные сети? Он попытался создать что-то новое и улучшить старое, он не пытался сделать своего соперника хуже него, он попытался стать лучше него.

Патентные войны, копирастия – пример предлагаемой вами политики. Я вас презираю и ненавижу, и всех тех кто с вами согласен, хотя при этом, я даже не зная вашего имени.
На мой взгляд у вас получилась не очень хорошая статья.
Вы излишне многословны, большинство метафор витиеваты и туманы, некоторые же и вовсе не верны, при этом у вас сохраняется зависимость определения одних метафор от других.

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

Помимо упомянутой в комментариях выше книге, есть так же статья 1997 года — www.cours.polymtl.ca/inf3700/divers/nonSoftwareExample/patexamples.html, рекомендую.
habrahabr.ru/blogs/css/136037/#comment_4527216

@rsboarder прежде чем публиковать обновление статьи на основе комментариев, советую вам сначала проверять сказанное в них.

Вы ошибаетесь, поддержка webkit-touch-callout в iOS заявлена начания со второй версии

Я же проверял до версии 3.2, все работает исправно.
На адройдах это свойство не может работать в принципе, это расширение функционала вебкита для Safari и только для iOS.

Включаем и настраиваем легенду (по умолчанию она выключена). Вывел наверх, так как вывод под графиком пока работает коряво

Поиграйтесь со значением «spacingBottom» в свойстве «chart», выставите его в 40 например, должно помочь, про это был вопрос на форуме хайчарта, ссылку сейчас не найду.

А графики глючные, даже очень, но пока это, кажется, лучшее решение на джаваскрипте.
Вы не могли бы дать ссылку на определение Аббревиатуры «Ajax», в которой говориться что «Ajax» это только XHR (Как я понимаю вы только этот способ назвали айяксом).

В самой аббревиатуре про объект XHR нет ни слова, английская википедия называет айяксом группу асинхронных методов обмена с сервером, из которых самым частым транспортом выступает XHR, при этом про эксклюзивность этого объекта на аббревиатуру ничего не говориться. Кстати определение JSONP, находиться в категории айякса.

Русская же википедия называет три «технологии динамического обращения к серверу „на лету“», называя их одним из принципов аяйкса.

Jesse James Garrett впервые использовав эту аббревиатуру называл ею целую группу технологий. Тип данных, например, исходя из той статьи, всегда должен был быть XML, а XML всегда должен обрабатываться через XSLT

Цитата Nicholas C. Zakas
By now, nearly everyone who works in web development has heard of the term Ajax, which is simply a term to describe client-server communication achieved without reloading the current page. Most articles on Ajax have focused on using XMLHttp as the means to achieving such communication, but Ajax techniques aren't limited to just XMLHttp. There are several other methods.


Если a = 2
a==1||console.log("not one") // до
~-a||console.log("not one")  // после

Вывод «not one» будет только в первом случае

Наверное имелось ввиду что-то подобное:
if(a!=1) console.log("not one") // до
if(~-a) console.log("not one")  // после

Тогда в обоих случаях будет вывод «not one»
IndexOf быстрее чем search, как я понимаю это из-за того что в search'е можно использовать регулярные выражения.

Если экономите на спичках или искать нужно в большой строке indexOf использовать правильней.
Пару замечаний —

Исправьте опечатки (фунционально, селетор и т.д.).

$('#my_form input[type=«hidden»]')
$('#my_form input[type=hidden]')
Оба селектора будут использовать qSA, во втором случае sizzle перепишет
не валидное в валидное.

getElementByTagName -> getElementsByTagName
getElementByClass -> getElementsByClassName

В большинстве случаев их хватает, но (sic!) в IE7 getElementByClass() поломана и использование селектора по классу приведёт к польному перебору элементов в этом браузере.
getElementsByClassName, был добавлен только в девятом ie (sic!).

Контекст, не дает выигрыша в производительности с qSA, но он есть без его использования.

$('.divs', document.getElementById('wrapper'));
document.getElementById('wrapper').querySelectorAll('.divs'); // при наличии возможности использовать querySelectorAll()
В спецификации querySelectorAll есть своеобразный баг —
ejohn.org/blog/thoughts-on-queryselectorall/, поэтому, ваше выражение в jquery, будет выглядить так —

document.getElementById('wrapper').querySelectorAll('#wrapper .divs');

$('.child', $('.root')[0]); // использование контекста не облегчит поиск
Облегчит.

$('.root').children('.child'); // самый правильный вариант
Это не самый правильный вариант, это единственно правильный вариант.
Только оно эквивалентно выражению —
$('.root > .child')


В дела компаний подобного масштаба должно вмешиваться государство, как это происходит с любой компанией-гигантом, оказывающей сопоставимое влияние на общество.

Выбор браузера — не маразм, но поддержание конкуренции против монополии, ведь не важно насколько лучше браузер конкурента, никакая рекламная компания или супер-клевые возможности альтернативного продукта не могут тягаться с «выбором по дефаулту». Какой процент браузеров занимал бы сейчас IE, без этого выбора? В 2002-2003 доля IE6 составляла 80 процентов, а все версии IE брали 95 процентов рынка. Вряд ли потому что он был лучше или хуже чем его конкуренты, но он был по дефаулту. Этот старикан до сих про популярен, а ему уже 11 лет.

Насколько сильно разработчики IE7-9 прислушивались бы к консорциуму w3c, если бы сейчас цифры были бы такими же?
Появлялись бы вообще новые версии этого браузера, ведь зачем что-то менять, если «пипал хавает»? Было бы еще больше ужасных несовместимостей всего и вся и костыли для того что бы реализовать, казалось бы, простые вещи. Никаких HTML5 или CSS3, было бы только то, что придумали и навязали нам разработчики Майкрософт.

Но все это — предположения, сейчас же доля IE, по разным подсчетам, только 50 процентов и для того что бы соревноваться, они обязаны создавать и улучшать возможности их детища, если хотят сохранить доминирующее положение на рынке.

Я сожалею о том, что требование возможности выбора браузера не было выдвинуто еще 12 лет назад. И я рад этим выкрикам конкурентов, что звучат сейчас. С антивирусами должно быть так же, у нас должен быть выбор. Явный и очевидный выбор. И судя по тексту статьи — у нас он есть.

Ага, я тоже далеко не являюсь фанатом MS :-)
Сразу видно в насколько типизированном языке вы программируете.

А разве белый цвет белый? Например #f0ecec, это какой цвет? Вы скажете белый, я скажу серый. Кто-то третий скажет что это ни то ни другое.

Любой цвет вы можете получить смешав красный, зеленый и синий. Так может быть белый цвет это и синий, красный и зеленый вместе? А для собаки или быка насколько белым является красная тряпка?

Язык Руби, к примеру, родился только потому что его автор, Юкихиро Мацумото считал что не существует настоящего объектно-ориентированого языка. Поэтому решил сделать свой — настоящий. Тем не менее если мы посмотрим на список ооп-языков в википедии, разве мы найдем там один лишь Руби?

Information

Rating
Does not participate
Registered
Activity