Javascript
Найдено: 33 записи
Javascript →
            Оптимизация JavaScript: Scope, Low level ES vs ES5 Array methods
        
                
	Сегодня мы будем тестировать 2 блока кода, выполняющие следующую операцию:
Дается массив, необходимо выбрать все элементы, степень 2 которых больше 5.
В синем углу Вариант А: Низкоуровневый код — старый и страшный (поддающийся частичной оптимизации)
В красном углу Вариант Б: Высокоуровневый код — молодой и красивый (не поддающийся частичной оптимизации)
Битвы будут происходить на 3 аренах.
1. AO args — Параметры объекта активации функции.
2. AO — Локальные переменные объекта активации функции.
3. Global — Глобальные переменные.
        
        
        Дается массив, необходимо выбрать все элементы, степень 2 которых больше 5.
В синем углу Вариант А: Низкоуровневый код — старый и страшный (поддающийся частичной оптимизации)
-    for (i = 0, res = []; i < c; i++) {
-        t = a[i];
-        if (t >= 2.236067) {
-            continue;
-        } else {
-            res.push(t * t);
-        }
-    }
В красном углу Вариант Б: Высокоуровневый код — молодой и красивый (не поддающийся частичной оптимизации)
- a.map(function (t) { return t * t}).filter(function (t) { return t > 5});
Битвы будут происходить на 3 аренах.
1. AO args — Параметры объекта активации функции.
2. AO — Локальные переменные объекта активации функции.
3. Global — Глобальные переменные.
    
      21.12.2010 01:50+0300
    
        
            
            
            
        Ни о чём →
            Javascript: Отправка изображения на канвасе на сервер
        
                
	Здравствуйте хабровчане.
Решил я сделать отправку изображения с канваса на сервер.
А что из этого получилось смотрите под катом.
        
        
        Решил я сделать отправку изображения с канваса на сервер.
А что из этого получилось смотрите под катом.
    
      19.12.2010 22:16+0300
    
        
            
            
            
        JQuery →
            10 интересных jquery плагинов
        
                
Каждый веб-разработчик использует Javascript при создании веб-приложений, а когда дело доходит до отображения нескольких элементов на странице с акцентом на один элемент, без использование слайдеров не обойтись. Слайдеры можно использовать для отображения ленты новостей, изображений или продуктов в той форме, которая была бы удобна пользователям. Ниже представлены несколько интересных решений, которые помогут в создании веб-приложений.
    
      06.10.2010 14:36+0400
    
        
            
            
            
        Ни о чём →
            fxCanvas 0.1a — релиз «эмулятора» тега Canvas для Internet Explorer
        
                
Вышла первая стабильная версия «эмулятора» тега Canvas для Internet Explorer — fxCanvas 0.1a `Mario`.
Самые вкусные особенности:
- в качестве выходного буфера для графики используется флеш, что дает высокую скорость отрисовки;
- близкая к совершенству реализация Canvas API;
- базовая поддержка текста;
- возможность работы с массивом пикселей;
- определение точки-в-контуре;
- возможность загружать картинки в формате data:;
fxCanvas практически полностью реализует Canvas API, но с некоторыми особенностями.
Цепочки комманд и метод invoke
В fxCanvas используется довольно хитрый способ общения с флешом, благодаря которому время, затрачиваемое для передачи буфера с командами, близко к нулю (не буду утомлять техническими подробностями, так как вы можете их узнать, заглянув в исходники). Но как недостаток этого способа — для получения результата контекстной функции нужно вызывать метод через обертку invoke. Взгляните на пример:
var canvas = document.getElementById("cv"),
    ctx = canvas.getContext("2d");
ctx.setFillStyle("#ff0")
    .setStrokeStyle("#0ff")
    .strokeRect(10, 20, 30, 30)
    .fillRect(30, 40, 50, 50)
    .invoke("getImageData", 0, 0, canvas.width, canvas.height, function (imageData) {
        // ... imageData - возвращаемые данные getImageData
    });
Картинки
Для предзагрузки картинок в fxCanvas добавлен метод loadImage:
var canvas = document.getElementById("cv"),
    ctx = canvas.getContext("2d"),
    image_src = "sample.jpg";
canvas.onload = function(img) {
    if (img.src.indexOf(image_src) > -1) {
        ctx.drawImage(img, 10, 10);
    }
}
canvas.loadImage(image_src);
data: URI.Карта пикселей
Карта пикселей (image data), вероятно, одна из самых интересных особенностей fxCanvas, так как эта штука предоставляет разработчикам возможность реализовывать различные эффекты «не выходя из браузера». Например вот так:
var canvas = document.getElementById("cv"),
    ctx = canvas.getContext("2d");
ctx.invoke("getImageData", 0, 0, canvas.width, canvas.height, function(buf)
{
    for (var y = 0; y < canvas.height; y++)
    {
        for (var x = 0; x < canvas.width; x++)
        {
            var ofs = y * canvas.width + x,
                pixelValue = buf.data[ofs],
                red = pixelValue.charCodeAt(0),
                green = pixelValue.charCodeAt(1),
                blue = pixelValue.charCodeAt(2),
                alpha = pixelValue.charCodeAt(3);
            buf.data[ofs] = String.fromCharCode(red % 32, green % 64, blue % 128, alpha);
        }
    }
    ctx.invoke("putImageData", buf, 0, 0, function () {;
        // ... и распечатаем буфер по завершении операции
        console.log("Image data dump:" + buf);
        // Заметьте, Internet Explorer не отображает текст с символом \x00.
    });
});
Кстати, как вы наверно заметили, структура данных отличается от той, что заявлена в спецификации. Новый формат более эффективен по времени обработки и занимаемой памяти.
Точка в контуре?
В Internet Explorer метод
isPointInPath(x, y) возвращает положительное значение если x, y находится в границах контура. В остальных браузерах — если внутри заливки контура.Снимок холста
Можно получить через
toDataURL():var canvas = document.getElementById("cv");
var type = "image/jpg", quality = .4; // качество картинки - необязательный аргумент
canvas.toDataURL(type, quality, function (png_data) {
    // следущий код будет рисовать кусок холста на том же самом холсте
    var ctx = this.getContext("2d");
    this.onload = function (img) {
        ctx.drawImage(img, 0, 0, canvas.width - 100, 0, 100, 100);
    }
    this.loadImage(png_data);
});
Тип картики может быть «image/jpeg» или «image/png» (по умолчанию).
Пример работы с картой пикселей и снимком холста.
Операции смешивания пикселей (composite operations)
В fxCanvas реализованы только
source-over и lighter. Но в будущем будут добавлены остальные.Скачать исходники можно здесь, посмотреть примеры и тесты здесь.
    
      15.04.2010 23:47+0400
    
        
            
            
            
        Ни о чём →
            Бухгалтерия онлайн для малого и среднего бизнеса
        
                
www.schetov.ru
Добрый день,
мы рады представить вам наш продукт. Его можно отнести к модному нынче течению — стартап. Я думаю в основе любого стартапа лежит ИДЕЯ. К этому мы подошли основательно. В нашей команде присутствовали люди разных сфер деятельности (дизайнер, программист, продавец компьютеров), что позволило взглянуть на систему с разных сторон. После довольно таки длительных обсуждений было составлено чёткое представление системы.
    
      23.03.2010 12:31+0300
    
        
            
            
            
        Подсознание →
            Распределенные вычисления на javascript
        
                
	На днях открыл для себя Life with Playstation, но суть не в нем, а в фоновом процессе Folding@home. Проект распределённых вычислений для проведения компьютерной симуляции свёртывания молекул белка. Пока мы читаем новости, смотрим погоду наша PS3 производит вычисления для Folding@home.
И тут мне пришла идея, а почему бы не производить вычисления в браузере, пока пользователь работает на нашем сайте, ведь загрузка процесора при просмотре сайта минимальна.
Долго не мог придумать, что же такое можно вычислять распределенно, дабы материализировать идею… Рендерить 3D сцену — не оправдано для теста и затратно по передаваемым данным. Вспомнилась простая лабораторная работа из студентческих годов по КМФП — визуализация потенциала поля с несколькими зарядами. Предельно просто, можно вычислять распределенно.
        
        
        И тут мне пришла идея, а почему бы не производить вычисления в браузере, пока пользователь работает на нашем сайте, ведь загрузка процесора при просмотре сайта минимальна.
Долго не мог придумать, что же такое можно вычислять распределенно, дабы материализировать идею… Рендерить 3D сцену — не оправдано для теста и затратно по передаваемым данным. Вспомнилась простая лабораторная работа из студентческих годов по КМФП — визуализация потенциала поля с несколькими зарядами. Предельно просто, можно вычислять распределенно.
    
      12.03.2010 14:00+0300
    
        
            
            
            
        Веб разработка →
            Многоуровневое дерево с маркерами (HTML, CSS, jQuery). Запоминаем выбранный узел
        
                 Это продолжение темы про дерево. Хочу его довести до ранга «готов к внедрению». Потому повозился с Javascript и сделал запоминание выбранного узла на основе адреса ссылки.
Это продолжение темы про дерево. Хочу его довести до ранга «готов к внедрению». Потому повозился с Javascript и сделал запоминание выбранного узла на основе адреса ссылки.Если ссылка вложена в поддерево, дерево развернется до её уровня и, если у неё самой есть поддерево — оно тоже будет развернуто.
Javascript сделал как смог, т.к. давно не использовал. Прошу помощи в доработке и оптимизации.
    
      10.04.2009 00:16+0400
    
        
            
            
            
        Javascript →
            White IDE — Браузерная RAD среда разработки на JavaScript
        
                
	Привет, хочу представить одну интересную разработку студии, в которой я работаю. И как ведущий разработчик буду её освещать :)

        
        
        
    
      26.12.2008 19:32+0300
    
        
            
            
            
        Javascript →
            Выбор флага страны по коду.
        
                
        
        
    
      19.12.2008 19:50+0300
    
        
            
            
            
        Javascript →
            GameBox — аркадная игрушка на JavaScript.
        
                
	Привет. 
Решил я познакомится с технологией canvas и написал ардкадную игрушку.
Использовал для старта руководство.
        
        
        Решил я познакомится с технологией canvas и написал ардкадную игрушку.
Использовал для старта руководство.
    
      27.11.2008 18:15+0300
    
        
            
            
            
        JQuery →
            jQuery для начинающих. Часть 3. AJAX
        
                
Представляю Вам третью статью из серии jQuery для начинающих. В этот раз я постараюсь рассказать о реализации AJAX запросов...
    
      15.10.2008 12:32+0400
    
        
            
            
            
        JQuery →
            jQuery для начинающих
        
                
jQuery — это замечательный Javascript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…
    
      27.12.2007 09:49+0300
    
        
            
            
            
        humour →
            Вернуться верно!
        
                
  	Гуглил я что-то по аяксу и наткнулся на некий линк. Захожу, ну там всё цивильно, описание, автор, листинг, комменты. И смотрю, вверху есть кнопочка "Translate". Ну, думаю, дай-ка на русском почитаю, выбираю русский, жму. Начинаю читать, и чувствую - что-то не то. Вчитался - и упал под стол =) JS\HTML переведён на русский, да как!
н var = 'ж' + Мат. слово (скромный случайная () * 99999);
и так далее.
Полностью здесь.
После прочтения вы поймёте смысл названия ;)
        
        н var = 'ж' + Мат. слово (скромный случайная () * 99999);
и так далее.
Полностью здесь.
После прочтения вы поймёте смысл названия ;)
    
      19.10.2007 14:14+0400
    
        
            
            
            
        