• Россия II: великаны и малыши програмстроя
    –1
    «Вода лежит», кто знает тот поймет.
  • Определение размеров текста
    0
    дезинформация.
  • Определение размеров текста
    0
    Давным давно поставили мне задачу резать длинные слова не помещающиеся в контейнер открытки, для этого нужно было определять ширину неразрываемой последовательности символов. Для IE это пара пустяков там есть свойство у обьекта TextRange, а вот для других пришлось извращаться. Вставлял в цикле маркер после каждого символа и вычислял его смещение, так находил длинну.
    Код можно в раблер открытках подглядеть… только сильно не критикуйте я был молод и горяч :)
  • Range, TextRange и Selection
    0
    реальная задача, разбить длинное (в пикселях) слово, чоб не уползало за экран.
    Это вам кажется что удобно, привязка текста к DOM элементам. Это две независящие друг от друга стихии… вот удалите вы DOM элемент в котором стартует выделение и что? придется сохраненный ранее бекап выделения придется переосмысливать.
  • Range, TextRange и Selection
    0
    В IE реализация работы с выделениями лучше.
    Легко посчитать размеры в пикселях занятые под выделение.
    Одинаковая логика работы с выделениями что внутри input-ах с textarea-ми, что вне их.
    Единственный минус тот же что и в innerHTML — не работает правильно вставка содержимого внутри таблиц, списков и т.п. и возвращает творчески переосмысленный html код выделенного.
  • Сравнение производительности браузеров при обработке JSON-строк
    +1
    var o;
    function(){
    var o;
    function(){

    function(){
    var o = new Function(..)
    или
    var o = eval(...)
    }

    }
    }
    еще наверняка от длины самого JSON-а может зависить, потому как создание обекта-функции конечно долго но парсинг длинной строки js кода в eval с учетом всех видмых переменных и в замкниях… хотя конечно их в json не будет, но парсер то об этом не знает.
    кстати врапер тут плохо написан отвратительно не проверяет стоку на предмет а похоже ли на json оно вообще. да еще туда сюда native метод JSON() перезаписывает — безсмысленно и безобразно.
  • Сравнение производительности браузеров при обработке JSON-строк
    0
    Чота я сомневаюсь в адекватности этого теста.
    Смотря в каких условиях eval быстрее новой функции, если это делать в десять раз вложенной функции думается мне результаты будут иными.
  • Белорусы создали самолёт с овальным крылом
    0
    Сочувствую, эксплуатационным службам… техническое обслуживание такого чуда на порядок будет сложнее чем у Ан2
  • MyRambler — тестовая версия
    0
    Если будет готовая реализация, что останется делать? только повторять и клонировать.
    Тоже дело но удовольствие уже не то :)

    Медиасапенс это типа Писатель какойто скандальный придумал Минаев чоли непомню. Вообщем типа щас такая эра наступила, люди погрязли в информационном шумопотоке где реальность не существует а создается причем фальшивая медийная… ну это не в тему тут будет.
  • MyRambler — тестовая версия
    –1
    Вы переживаете за мифического среднестатистического пользователя?
    Он взаимностью ответит едвали.
    Абстракция в суждениях важна но не до абсурда. Разговор напоминает прием у доктора: «знаете у одного моего друга...»
  • MyRambler — тестовая версия
    0
    Говоришь как один из наших руководителей, тут самое трудно придумать описать как оно должно быть. Хорошо поставленная задача половина решения. Не в движке дело. Вайбс написан кстати отвратительно, но идея продуманная завершенная и как то работает людям даже нравится, даже мне нравится. Только этот сервис не для меня я не такой медиасапенс.
  • MyRambler — тестовая версия
    +1
    вот из-за таких суждений имеем то что имеем. конечно влом пересадить своих знакомых на чтото получше типа скайпа или гуголтолка, гораздо проще жаловатцо на тяжолую судьбу и козни врагов, продолжая приносить им дань.
  • MyRambler — тестовая версия
    0
    Ребят а вы темой не ошиблись? создайте голосовалку Кто за то чтобы Рамблер сдох и гадьте там. Какая польза великой вселенной? не нравится ICQ не пользуйтесь.
  • MyRambler — тестовая версия
    0
    была у нас ошибка с формой у которой было поле с именем «set» выносило мозг IE
    ошибка именно в mootools, дебажил. Вина в том что свойства .set .get .class и прочие как бы зарезервированы в js для личного использования и IE выкидывает error при попытке mootools их узать в хвост и гриву.
  • MyRambler — тестовая версия
    0
    У Netvibesесть свободно распространяемая версия. Урезанная конечно.
    А вы с какой целью интересуетесь?
    Насколько я знаю над движком все еще работают.
    Тут ведь не столько в быстром двиганье блоков вся работа заключается, дофига всего еще другого.
    Репозиторий просто огромный, я когда его увидал в пал в великую скорбь.
    Хорошо что мне ковыряться с ним не особо приходится.
  • MyRambler — тестовая версия
    +1
    mootools используется. буть он трижды неладен.
    «Боремся» с ним изо всех сил.
    Тут же написано продукт разработан на основе NetVibes
  • Архитектура YASS. Часть 3: проблема выбора
    0
    .test не запоминает найденные подстроки в круглых скобках (переменные RexExp.$1..n), отсюда и экономия, тоже самое в .match
    К тому же вообще не запоминает найденную строку.
    Для ускорения регулярок можно «не запоминающие скобки» делать /(?:\d|-)*/ вместо «запоминающих» /(\d|-)*/
    Это лишь пример, понятно что регулярка глупая.

    Судя по всему .match любые скобки не запоминяет в отличии от .exec? что объясняет разницу производительности.
  • Производительность простых и сложных конструкций в JavaScript
    0
    Хотел я про это же написать, но подумал что тема тут поставлена чётко, про производительность js, а не производительность браузера, пропускной скорости канала, и пробках на дорогах.
    Наверно, судя по плюсам, я подумал неправильно. Ну что же держите еще плюс.
  • Производительность простых и сложных конструкций в JavaScript
    0
    Ну протестируйте еще что быстрее
    if (my == 'раз' || my == 'два' || my == 'три')…
    или
    if ({'раз',1;'два':1,'три':1}[my])…

    еще я замечал
    my = myArray.shift();
    работает медленнее чем
    myArray.reverse(); my = myArray[myArray.length-1]; myArray.length--; myArray.reverse();
    вот это действительно странно, в отличии от того почему myArray.push(my) медленнее myArray[myArray.length]=my
    Чтобы вызвать метод объекта нужно больше «Ку» сделать чем прочитать и записать его свойство
  • Классы в MooTools.
    –1
    Пришлось влезть в проект на этом движке… и как на нем переопределить метод из наследуемого класса?
    пипец… ну нафига пихать ооп основанное на классах в язык ооп у которого основан на прототипах.
    Если делать муляж так муляж полный, чоб можно было метод родительского класса вызвать в переопределенном методе.

    а ведь в родном js всо просто

    ChildConstructor.prototype.myMethod=function(){
    чота до
    ParentConstructor.prototype.myMethod.apply(this,arguments)
    чота после
    }
  • Замыкания в JavaScript
    0
    dev.opera.com/articles/view/efficient-javascript/? page=2#avoidglobal
    web.archive.org/web/20071206145017/http://www.jorendorff.com/articles/javascript/speed-test.html
  • Замыкания в JavaScript
    0
    Доступ к переменным не локальной области видимости требует больших затрат… не увлекайтесь замыканиями без надобности… хотя на простеньких задачах, коих большинство это неважно.
    Кстати прятать код с локальными переменными и обьектами можно не только в анонимной функции

    (function(){
    //ваш спрятанный код
    }();

    но и в анонимном конструкторе обьекта два байта короче :-) и читается легче

    new function(){
    //ваш спрятанный код
    };

    точку с запятой не забывайте иначе при сжатии кода могут быть проблемы.
  • Удобная навигация по тэгам
    0
    получение тегов встречающихся в цепочке выбранных тегов весьма сложна для базы данных, я не видел реализации которая достоверно фильтровала бы цепочки длиннее двух - трех тегов. Для маленьких объемов записи можно сделать. Для больших башковитые дядьки говорят база умрет под приличным напором.
  • JS-PHP MVC интерфейс — cобираем всё вместе
    +1
    eval выполняется учитывая контекст в котором его вызывают, видя локальные переменные и переменный в замыкании, лучше создававть через конструктор анонимную функцию. Она быстрее работает:
    var ret = (new Function('return '+reg.responseText))();
  • Яндекс.Интернет, как верстали макет
    0
    Удобнее былобы включать режим с сеткой не через query-srting, а якорем.
    Чоб страница не перезагружалась. Ну и для такой бодяги совсем не нужно заводить не анонимную функцию в глобальной видимости.
  • Пространство имён в Javascript-коде 2
    0
    можно еще проще
    Еще проще.
    window.App = new function(){
    ...
    };
    так можно присваивать внутри функции, чтоб глобально видать было, в том числе анонимных - не пачкающих глобальное пространство имен
  • Компромисс между жадностью и удобством
    –1
    вместо ссылок можно использовать submit формы. и никакого js
  • JavaScript — быстрый старт для Perl-разработчиков
    0
    >и JavaScript
    >
    >var $f = function($a, $b)
    >{
    >return $a * $b;
    >};
    >
    >
    > Небольшое отличие: при такой форме определения функции в JavaScript после закрывающей фигурной скобки точка с запятой не обязательна.
    ---
    Обязательна точка с запятой, потому что тут переменной присваивается объект-функция, точказапятая не нужна когда создаешь именованую функцию.

    Еще перловики удивляются что хеши в js сохраняют последовательность значений, т.е. в цикле for(key in obj) порядок будет тотже что и в присваивании.

    >(доступен оператор проверки наличия ключа 'b' in a)
    ---
    в IE5 недоступен. но можно проверить на undefined а еще в нутри условия if(a.b) если это свойство не может быть пустой строкой, null, 0 или false
  • русские блоги о javascript
    0
    хотите ссылку http://clubs.ya.ru/4611686018427388103/
    это клуб в котором должны писать по интересующей вас теме, во всяком случае я пишу. И можно людей в нем состоящих прочесать, у каждого блог есть.
  • Если браузеры были бы женщинами
    0
    FireFox - склонна к полноте, никогда не кормите ее вспышками, у нее от них со временем чудовищное ожирение наступает. Так что даже в окошках свободного воздуха не остается остальным домашним.
  • Если браузеры были бы женщинами
    0
    да не умеет носить любое тряпье так чоб выглядеть как конфетка, зато умеет делать такие штуки о которых другие даже не слыхали. У нее научились модной технике адджакс, экспершенсы бехейворсы и много всего прочего, короче взрослая женщина которую незаслуженно презирают всякие юнцы. Не знают что Аллах сотворил не зря ее он как и зрелые мужчины любит разнообразие.
  • Практический JS: ускоряем обработку событий
    0
    могу выложить код как я это сделал, один раз сделал, несколько раз правил, и везде использую.. куда выложить только? я щас переосмысливаю свои наработки и выкладывать в свой гуглкод не хочется, чтобы не запутать.
    В сущности такая байда нужна только для проверки вводимых в форму полей.. вот я и забацал валидатор, ну он еще кое чо может делать во время проверки
  • Практический JS: ускоряем обработку событий
    +1
    Можно смотреть за всплывающими событиями: keyup','mousedown','activate'.
    Если обработчик сработает на элементе form или у которой есть предок form, подключаем к этой form нужный нам обработчик. Конечно надо следить чоб на одну и туже форму не навесить несколько обработчиков.
  • Практический JS: ускоряем обработку событий
    0
    в jsx другая идея, там вся фишка в произвольных событиях на произвольных объектах, а обработку всплывающих обектов я у него не видел, внимательнее чтоли посмотреть.. да он сам на конференции говорил что его движок использует джиквари или бейс2, в этих движках обработчики событий навешиваются на каждый элемент. Если в последнее время ничто не поменялось. У них все шикарно работает до тех пор пока элементы вставлять не начнешь.
    После подключения обработчика события на элементы определенной категории вставленные элементы с такой же категорией небудут обработаны, их снова нужно будет подключать.

    Насчет проработанности, я еще не дорос до создания супер пупер библиотеки, я только предлагаю компактные решения конкретной проблемы.
  • Практический JS: ускоряем обработку событий
    0
    абалдеть html теги не сработали, вообщем ссылка по теме в моем профиле
  • Практический JS: ускоряем обработку событий
    0
    Посмотрите еще одно решение по отслеживанию событий на странице.
    Вообще свойство "всплывать" у некоторых событий удобно использовать во многих задачах.