• На чем (за счет чего) рендерится html? Почему svg рендерится не с помощью видеокарты?

    Drovosek01, когда GIF-ки только появились в ВК в 2013-ом, такого не было. Сейчас проверил - Вы правы, наверное недавно эту возможность добавили, как раз ради повышения производительности. Но кстати если убрать в конце ссылки параметр &mp4=1 и открыть источник в новой вкладке - то будет именно GIF.
  • На чем (за счет чего) рендерится html? Почему svg рендерится не с помощью видеокарты?

    на большей части сервисов - нет
    Сорри, не знал. Я говорю про те, что в вк кидают, там в основном гифки)

    я уверен, что гугл будет рад вашим практическим советам по ускорению хромиума. Мозилла также
    Они же и так работают довольно быстро) Не верите - скачайте Оперу Presto или откройте IE8 или даже IE9, и сравните с Chrome даже допустим версий 38-40 (не самых новых). Неужели не ощущаете разницу? У Mozilla всё печальнее было до версии 57, тут согласен. Да и сейчас есть проблемы, но скорее с совместимостью, чем со скоростью.

    Средний гиф - 10-50 сек
    Да, я видел гифки и на 40-50 секунд. Но всё-таки там имхо не так много динамики, часто много планов, которые длятся относительно долго почти без изменений. В GIF же можно задавать произвольную задержку перед отображением следующего кадра (пруф). В любом случае, видео-кодек такой контент жмёт лучше (причём не портя цветность), тут спорить не с чем :)
  • Почему MySQL работает медленно на локальной машине (windows)?

    Извиняюсь за некропостинг, но мне тоже стало интересно. Нашёл вот эту статью. Читаю следующее:

    По тестам разработчиков OLS обходит примерно на 20% FastCGI, на 50% — mod_php и на 75% связку nginx + PHP-FPM.

    А теперь глупый вопрос: разве FastCGI быстрее чем mod_php для Apache? В той литературе, что я читал (правда, те книги были года 2005-ого) утверждалось ровно обратное, что Apache Module - менее стабильный и надёжный способ (в случае чего может упасть весь веб-сервер, плюс возможны проблемы с выводом ошибок в браузер), но существенно более быстрый, поскольку в этом случае php работает как часть процесса Apache, а не общается через сокет, или что-то вроде того.

    Какой способ всё-таки правильнее для Apache, FastCGI или подключение модуля? Лично я под виндой для разработки всегда использовал второй, однако на современных вебхостигах часто вижу подключение через FastCGI как единственный доступный вариант.
  • На чем (за счет чего) рендерится html? Почему svg рендерится не с помощью видеокарты?

    они у вас, уважаемый, не тормозят потому как они все в мп4

    Простите, кто в mp4 у меня?.. Мы про гифки изначально говорили. Они именно в GIF

    Проблемы в том, что гиф не видео, и обрабатывается как набор картинок

    Да, я в курсе. И всё же, если размер кадра небольшой, и сама гифка небольшая по длине, а также на странице всего 1-2 гифки, то тормозить там нечему, если код браузера адекватно написан.

    В ие6-7 тормозило если жс криво написали.

    Гифки там тормозили всегда. Как и JS, активно работающий с DOM (например, переставляющий на лету строки в большой таблице).

    гиф в 50мб ~ 1Mb mp4 === средненький гиф

    Простите, ЧТО?.. Даже 5-6 Mb - это уже ОГРОМНЫЙ гиф. Средненький - это 1-2 метра. Вы не забывайте, что в GIF обычно небольшой размер кадра и сильно порезанная палитра (обычно 256 цветов).
  • На чем (за счет чего) рендерится html? Почему svg рендерится не с помощью видеокарты?

    А что такого браузер с картинкой сделать может? Если б мог, то гифки б не тормозили как ад

    Простите, но они вроде и не тормозят, если их не очень много на странице)
    Вообще говоря, проигрывание гифки - это простая и лёгкая по нагрузке операция для процессора, если сравнивать, например, с воспроизведением полноценного видео в 48 или 60 fps (потому что там довольно тяжёлый декодинг и в разы большее разрешение). Но даже такое видео неплохо проигрывается на не самых мощных компах, если видеоплеер "умный" и грамотно работает с видеокартой и её возможностями по ускорению отрисовки/декодирования. Да даже при программном декодировании на CPU можно смотреть видео в 60 fps Full HD абсолютно без фризов на Intel Core i5 2500K (4 ядра по 3.3 GHz). Фризы начнутся только тогда, когда проц сильно загружен, напимер в фоне висит свёрнутая игра и жрёт 40-50 процентов CPU. В самом деле, для плавного воспроизведения гифки нужно просто создать буфер в RAM, где будет храниться каждый следующий кадр (можно имхо даже не париться с перенесением этих битмапов в память видеокарты, 60 fps должно потянуть и так).

    Проблемы скорее всего возникают потому, что когда гифок много, и они не синхронизированы (а браузер такие вещи обычно не синхронизирует), получается много-много таймеров, и итоговый фреймрейт (то есть частота, с которой нужно перерисовать весь экран) начинает сильно превышать 60 раз в секунду. Либо могут быть просто плохо настроены размеры кэшей разработчиком (никто их не настраивает под такой редкий кейс, когда на странице разом 200-300 анимаций крутится разом, настраивают под повседневное использование).

    Вот если вспомнить времена IE 7-8 - там вообще тормозило всё жуть. Даже при том, что браузер пытался всё синхронизировать. В новых браузерах с этим вроде почти ок (но я не говорю про гиф-видео, когда размеры гифок по 5-7 мегабайт).
  • С какой книги начать изучение javascript?

    есть ли разница читать книгу 15 года

    Я начинал вообще по книге 2004-ого года :) Остальное добирал по ходу дела. И да, когда я изучал, было начало 2008-ого, но я бы не сказал, чтобы этот срок как-то очень ощущался.
  • Хорошие книжки по JavaScript?

    а в том, что знание ES6 необходимо для прохождения собеседования

    Да знаю я его. Только вот пользоваться на практике - крайне не рекомендую. А зачем это на собеседованиях - вопрос к собеседующим :)

    Можно и на PHP 5, и на Java 6 писать.

    Так я и пишу. В чём проблема-то?

    Код чаще приходится читать, а не писать.

    Печальная у вас работа, если чаще приходится читать. Такое обычно касается тимлидов или людей, часто делающих код-ревью. Чужой код воспринимается плохо, намного хуже чем свой - даже если он хорошо или почти хорошо написан. Это по моему опыту) Ну и ещё это касается ленивых программистов, страдающих любовью к использованию сторонних библиотек и фреймворков - там да, часто что-то работает не так, как хочется, приходится вникать и допиливать.

    А стандарт вышел достаточно давно, чтобы на нем успели написать мегатонны кода.

    Согласен, но никто не мешает использовать более старые версии продуктов, которые выходили (и до сих пор работают на любых браузерах) до появления ES6.

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

    То есть? Суицид в чём именно? Назовите хоть одну задачу, которую нельзя решить на ES5 (или которая решается в несколько раз или на порядок сложнее). Тогда у нас будет более предметный разговор. Пока вы просто сотрясаете воздух :) Такое ощущение, что вы больше теоретик, чем практик. Практику никогда не мешает отсутствие каких-то новых модных плюшек, потому что у него цель - сделать результат, а не наслаждаться процессом и собственной крутостью. И да, если текущая версия языка что-то делает плохо или не делает совсем - есть сторонние библиотеки, которые делают это, и делают хорошо. jQuery, loDash, mooTools, Ember, Angular, etc.
  • Хорошие книжки по JavaScript?

    Человек банально не устроится на работу - на каждом собеседовании на позиции JS/fullstack Developer задают вопросы по ES6

    ну так откуда ж я знаю, зачем они это делают. Можно вполне нормально и на ES5 писать код, там нет особых проблем. Хотя промисы конечно порой очень выручают.

    А вообще непонятна неприязнь к стандарту, вышедшему три с половиной года назад

    так дело не в том, когда он вышел, а в том, что он слишком многие концепции изменил в языке. Которые изначально делали JS тем, чем он был. Например, попытка запихнуть синтаксис наследования на классах, как в Java, и лямбды как в Haskell/F#.
  • Хорошие книжки по JavaScript?

    Strannyk, "поддержка старых браузеров требуется все реже" - в целом согласен. Но проблема в том, что тут старые - это не старьё-старьё вроде IE8 или Opera Presto. А даже, например, Chrome 48 и ниже (всё, что вышло до января 2016-ого). То есть уже в браузерах трёхлетней давности расчудесный код с let и const вне strict режима безнадёжно зафейлится, превратив весь ваш суперсовременный и динамический сайт в "кирпич" в виде белого полотна. Транспайлер для профи подключить несложно, но тут встаёт вопрос, как много фич от ES6 нам реально нужно. Если это замена var на const в 2-3 местах и всё - то имхо игра вообще не стоит свеч.

    "а насущная необходимость" - а вот тут несогласен абсолютно. Нет такой необходимости вообще ни разу. Хотя для анализа чужого кода, конечно, бывает полезно знать, что такое стрелочная функция и Promise.

    "(фреймворки и пр.) заточены под ES6" - тоже не соглашусь. Когда мы пишем на фреймворке, мы используем синтаксис фреймворка (в основном), а не синтаксис чистого ES5 или ES6. А если фреймворк тупо требует новый браузер для работы, потому что сам написан с использованием ES6 - тут конечно печалька. Или искать более старую версию для кроссбраузерности, или пытаться прогонять через транспайлер сам фреймворк... Я лично таким не занимался, слава Богу.
  • Почему говорят, что Javascript сделан на коленке?

    makarychev13, ну вот видите, сколько разных сущностей. Ещё и кортежи)

    А ведь в жизни намного чаще нужна именно переменная длина. Вы сами сказали, что есть списки - окей, но тогда не проще ли пользоваться ими всегда? Я вот иногда для себя что-то пишу на Java SE, так я уже не помню, когда в последний раз использовал обычный массив. Как правило нужны именно Vector или ArrayList коллекции. Там длина как раз переменная.
  • Как создать подобный слайдер?

    Максим Тимофеев, "Тогда что Вы преподаете? Что-то совершенно другое?" - да нет, как раз HTML, CSS и JavaScript. Но именно сам язык, а не либы. Уровень владения - довольно хороший. Я даже год назад написал работающий интерпретатор JS с полной поддержкой возможностей ES5 и частичной - ES6. Ну и опыт программирования на JavaScript и PHP года с 2009-ого примерно.

    "Я не видел нормального мидла в web, который бы получал меньше 10-15$ в час" - я не говорю про компании, я писал про фрилансерские сайты. Там всегда платят меньше :)
    Что до компаний... Туда не всегда так уж просто устроиться. Хотя бы из-за больших требований по знанию больших библиотек уровня jQuery и сложнее.
  • Почему говорят, что Javascript сделан на коленке?

    Сергей delphinpro, так, апдейт - это работает только в IE :) Не знал. А примерчик вот:
    bourabai.kz/alg/vbs-html.htm
    UPD: хм, оно даже в IE8 глючит. Нажатие на кнопку не работает, угловые скобки элемента <script> с VBScript скриптом заменены на безопасные последовательности. Походу, можно использовать в документе либо только JS, либо только VBS, но не вместе. На отдельной странице - пример работает.
  • Как создать подобный слайдер?

    Максим Тимофеев, это хорошо если день. Я вот фреймворки пока толком не освоил, пилю всё ручками. Там если делать на совесть, можно и 3-4 дня просидеть. Собственно потому и считаю, что фриланс не особо рентабелен... Чёрт возьми, я за трёхчасовое занятие индивидуальное получаю 15-20 долларов (смотря как, в центре веду или на дому у себя), это даже не полный день работы. А тут за 50 долларов столько геморроя выходит.

    P.S. Я собственно к тому и вёл - было бы здорово, если бы за слайдер платили столько. Но увы) С другой стороны - если писать такое самому, то оно пишется один раз в жизни, и потом уже подключается в пару строк в любой проект, там уже вообще затрат ноль. Но мы же про реализацию говорили. И кстати да, если слайдер - крутой, с поддержкой touch events и полной кроссбраузерностью, то это стоит куда дороже 20 долларов. Но проблема в том, что опять же, заказчик столько платить не готов за такую "мелочь".
  • IE 11 - почему ошибка в объявлении метода?

    А я вот тоже не понял первую форму записи, что там происходит вообще? Мы полю объекта присвоили функцию? Тогда почему запись такая, как будто функция - член массива
  • Хорошие книжки по JavaScript?

    WebDev, да ES6 вообще не особо нужен. Новичку точно. Да и не новичку... Как минимум поддержки старых браузеров лишаемся, либо нужно использовать транспайлер.
  • Почему говорят, что Javascript сделан на коленке?

    Я бы сказал, вот этот вот всё наоборот его испортило. Как минимум, чрезмерно усложнив для понимания. Не то чтобы я против этих механизмов, где-то они могут быть полезны, где-то им вообще нет вменяемой альтернативы... Но в любом случае, когда доходит до них - начинается трэш и угар. Хуже только реактивное программирование (вот уж точно где с Lisp парадигма слизана с его списками) :)
  • Почему говорят, что Javascript сделан на коленке?

    Сергей delphinpro, ещё браузер понимает Visual Basic (неспроста же атрибуты language и type существуют!). Только вот популярность околонулевая у него... Да и я бы не сказал, что такая альтернатива - лучше.
  • Почему говорят, что Javascript сделан на коленке?

    Владислав Лысков, я бы поспорил. На JS неплохо пишутся игры, да и вообще любые интерфейсы. Хотя конечно много зависит от задач. Асинхронный подход JS не везде может быть удобен.
  • Почему говорят, что Javascript сделан на коленке?

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

    "То, что называется массивом в js, есть обычный объект с полями 0,1,2 и пр" - но синтаксис доступа при этом как у массива, тем не менее. К тому же, как по мне - наличие плоского массива, многомерного массива, и массива массивов, если я верно вас понял - это какой-то переизбыток сущностей. Тем более, как я понимаю, в языке со строгой типизацией будет очень непросто либо практически невозможно поменять глубину вложенности массива в рантайме (то есть в массив одномерных массивов вложить двумерный массив в качестве одного из элементов, или даже заменить все элементы на двумерные массивы). И да, массив со значениями разных типов, хоть и выглядит как грязный хак, в 3-5% случаев может таки пригодиться. В языке со строгой типизацией это в принципе невозможно :)