Говоря об оптимизации JavaScript можно увидеть множество примеров того, как следует делать или не делать. Мнения некоторых авторов звучат убедительно, их примеры внушают уверенность. И главным образом, подобных рекомендаций в сети много, но значительно меньше статистики по ним. Вот и сегодня на страницах GitHub'а в поле зрения был пойман ранее знакомый теоретический материал по оптимизации циклов for.
Метка «javascript» - 69
Оптимизация цикла for — миф или реальность?
2012-10-09 в 12:01, admin, рубрики: for, javascript, optimization, оптимизация кода, метки: for, javascript, optimization, оптимизация кодаWeb Standards Days снова в Минске
2012-10-09 в 11:22, admin, рубрики: css 3, html 5, javascript, Веб-разработка, конференция, мероприятие, метки: css 3, html 5, javascript, конференция, мероприятиеКонференц-зал Минского международного образовательного центра имени «Йоханнеса Рау» снова собирает профессионалов веб-разработки и тех, кто только собирается ими стать, а также всех тех, кому просто небезразлична судьба индустрии.Читать полностью »
DBSlayer прокси на BASH за 5 минут или еще один способ отдать JSON из MySQL
2012-10-09 в 11:18, admin, рубрики: bash, javascript, json, linux, mysql, метки: bash, javascript, json, linux, mysql
Дело было вечером, делать было нечего, но дурная голова уркам покоя не давала… Данный пост создан как результат чисто-академического интереса. А началось все с того, что при разработке небольшого клиентского приложения для своих нужд, реализованного на Javascript, появилась необходимость взаимодействовать с уже существующей базой, где хранятся искомые данные. База — MySQL. Один из простых способов — реализация серверного скрипта (на PHP или еще каком языке), который по входящим параметрам делает нужный запрос и возвращает результат в JSON виде.
Другой вариант — это DBSlayer-прокси для MySQL. Кто про него не слышал, рассказываю в крадце: был создан в недрах New York Times как средство абстракции и балансирования нагрузки на БД. Подробнее можно почитать на сайте code.nytimes.com/projects/dbslayer/wiki/WhyUseIt. DBSlayer предоставляет API на основе JSON, известен в кругу NodeJS разработчиков.
Но это тоже не наш метод. Под катом приведено простое решение данной задачи на BASH.
Новые аттачи в Яндекс.Почте
2012-10-09 в 8:06, admin, рубрики: html5, javascript, Блог компании Яндекс, Веб-разработка, почта, метки: html5, javascript, почтаМы стремимся к тому, чтобы все части Яндекс.Почты одинаково хорошо работали у всех пользователей. Сегодня мы расскажем вам о том, как и зачем полностью переписали блок добавления аттачей. В этой статье — про отказ от флеша, поддержку возможностей современных браузеров и, как результат, увеличение скорости и надёжности загрузки файлов.
Проблема
Раньше всю аудиторию Яндекс.Почты мы разделяли на пользователей с флешом и без.
С первыми всё было просто: пользователи с установленным флешом прикрепляли файлы к письму через флеш-загрузчик. Он позволял загрузить сразу несколько файлов, определял их размер и контролировал процесс загрузки.
А вот с пользователями без флеша (8-10% от дневной аудитории) было сложнее. Мы предлагали им загружать файлы через обычную форму с <input type="file"/>
. Файлы из неё отправлялись через iframe вместе с содержимым самого письма, и это занимало много времени. Нажав кнопку «Отправить», пользователь долго ждал, пока загрузятся файлы.
Читать полностью »
Особенности загрузки файлов на HTML5
2012-10-08 в 19:32, admin, рубрики: file reader, html, html5 file api, javascript, метки: file reader, html5 file api, javascriptПосле некоторого, опыта решил написать небольшую статью-шпаргалку о загрузке файлов с использованием возможностей HTML5, а именно File API.
Читайте далее:
- Поддержка браузерами.
- Загрузка через Form Data.
- Загрузка через File Reader.
Пишем сложное приложение на knockoutjs
2012-10-08 в 10:40, admin, рубрики: javascript, knockout, Knockout.js, knockoutjs, requirejs, Веб-разработка, метки: javascript, knockout, Knockout.js, knockoutjs, requirejsЕсть такая библиотека knockout.js. Она отличается от прочих хорошим туториалом для начинающих и кучей понятных рабочих примеров. Еще там стройная MVVC модель, декларативные связи и так далее.
Короче, если вы, как и я, поиграли с этой библиотекой, понаписали красивых формочек, и вам это понравилось, то все это дело захотелось применить на реальном проекте. И тут проблема — в реальном проекте формочек больше чем одна. А раз такие инструменты, то хочется single web page application и никак иначе. А делать один контроллер и все темплейты заверстывать на одну страницу тоже тупо и тормозно.
Под катом приведу основу своего сложного приложения. Само оно совсем не сложное, но модульное и допускает расширения, а темплейты и модели подгружаются динамически. Идея была подсмотрена в этой презентации — http://www.knockmeout.net/2012/08/thatconference-2012-session.html, код презентации выложен на github — https://github.com/rniemeyer/SamplePresentation — на базе этого кода будем писать свой.Читать полностью »
Реализация пошаговой работы PHP-скрипта с помощью AJAX
2012-10-05 в 11:52, admin, рубрики: ajax, javascript, php, метки: ajax, javascript, PHPИскал более-менее простое и универсальное средство для организации пошаговой работы скрипта, но так ничего и не нашел. Даже вопрос в QA задал, везде только общие фразы. Поэтому решил сам сделать такой инструмент.
Для чего это вообще нужно?
Бывает необходимо обработать скриптом какой-то очень уж большой файл, например, для импорта. Естественно, время работы скрипта увеличивается пропорционально размеру файла или количеству строк в нем.
Хотелось бы разбить обработку файла на несколько частей и запускать скрипт в работу уже по частям.
Принцип реализации давно известен — обмен данными между сервером и клиентом:
Клиент запускает скрипт, тот выполняет несколько итераций и возвращает клиенту номер строки, на которой он остановился. После этого клиент делает новый запрос, в котором передает скрипту этот номер и скрипт продолжает работу дальше.
Читать полностью »
Пишем редактор карт изображений (html image map) на javascript / html5 / inline SVG
2012-10-04 в 19:09, admin, рубрики: html, html5, html5 file api, javascript, svg, векторная графика, метки: html5, html5 file api, javascript, svgКарты изображений применяются в том случае, когда требуется создать ссылку формы, отличной от прямоугольной. Например, для презентационных сайтов, отображения планов/схем и т.п.
Раньше создавать такие карты было удобно в Adobe ImageReady, но начиная с версии CS3 эта программа больше не поставляется с Фотошопом. На сегодняшний день подобный функционал есть в Adobe Fireworks, но устанавливать эту программу только из-за редактора карт (для работы мне нужен только Фотошоп) — не очень хорошая идея. Существуют и онлайн-редакторы, которые написаны, в основном, с использованием canvas. В них отсутствует возможность редактировать созданные области на карте. Если ошиблись — придется все переделывать. Да и создавать эти области не слишком удобно. Еще одно неудобство заключается в том, что картинку приходится загружать на сервер. В общем, надо писать что-то свое.
Итак, задача:
— написать на javascript редактор, который позволит создавать карты изображений — загружаем картинку, рисуем области, получаем html-код. Если ошиблись — должна быть возможность отредактировать карту. Редактор должен работать в оффлайн-режиме. Обеспечить поддержку только современных браузеров, в том числе Internet Explorer 9.
ObjectScript — новый язык программирования, быстрее чем PHP и JS
2012-10-04 в 2:52, admin, рубрики: api, javascript, Lua, ObjectScript, objectscript api, open source, php, Программирование, метки: javascript, lua, ObjectScript, objectscript api, open source, PHPObjectScript — новый встраиваемый и очень легкий объектно-ориентированный язык программирования с открытым исходным кодом. ObjectScript расширяет возможности таких языков, как JavaScript, Lua и PHP. Синтаксис в основном взят из JavaScript, множественное присваивание — из Lua, работа со свойствами — из PHP.
ObjectScript 0.97-vm2 быстрее, чем PHP 5.3.3 и JS на 34% и 61% соответственно.
Как тестировалось
Для тестирования был взят алгоритм Fannkuch. Довольно удобный тест, одна функция с параметром, при увеличении параметра на 1, количество вычислений увеличивается примерно в 10 раз.Читать полностью »
Латаем старые браузеры и учим их HTML5
2012-10-03 в 18:58, admin, рубрики: html, html5, internet explorer, javascript, Веб-разработка, метки: html5, Internet Explorer, javascriptДелая ремонт на своем стареньком сайте (т.е. переводя его на HTML5), я обнаружил в стенах и деревянных поверхностях дыры и трещины, которые необходимо было залатать. Для этого я использовал шпатлевку, обеспечивающую гладкую и ровную поверхность. Затем необходимо подкрасить и, конечно же немного магии.
А вот и методы решения проблемы:
- создаем код страницы по правилам стандартных API и тестируем в браузерах, поддерживающих необходимые нам возможности;
- с помощью JavaScript выполняем обнаружение возможностей, которые должны работать на сайте;
- если определенная возможность в браузере не доступна, спокойно загрузите сценарий заполнитель, имитирующий поддержку данной возможности;
- похлопайте себя по плечу, налейте чашку чая и возьмите с полки пирожок.