Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Обсуждений тред (https://javascript.ru/forum/offtopic/47364-obsuzhdenijj-tred.html)

cyber 05.06.2015 02:55

Что можно почитать на тему javascript MVC, MVVM ... ?

Gozar 05.06.2015 09:57

Цитата:

Сообщение от cyber
Что можно почитать на тему javascript MVC, MVVM ... ?

Доку реакта и ангуляра или любой другой навороченной либы.

Safort 05.06.2015 20:33

Ребят, посоветуйте какой-нибудь самый-самый фреймворк(и?) для создания клиентсайда? Очень важно, чтобы он удовлетворял следующим условиям:
- поддержка ES6
- сравнительно быстрая разработка(UI/логики)
- активное сообщество

Слышал про Ангуляр 2, но он ещё не релизнулся, на сколько я знаю.

З.Ы. стало мало Реакта, решил расширить знания)

Gozar 05.06.2015 20:57

Цитата:

Сообщение от Safort
стало мало Реакта

Fluxxor :D

ps^ тоже хочу, что-нибудь послушать...

nerv_ 05.06.2015 21:06

Safort, давно хочу попробовать, но руки не доходят http://javascript.ru/forum/offtopic/...tml#post369258 :)

Safort 05.06.2015 22:07

Gozar,
нее, хочется чего-то совсем далёкого от реакта. Просто ради разнообразия)

nerv_,
ок, ушёл туда.

nerv_ 06.06.2015 00:00

Safort, я вообще-то почти прямую ссылку дал)

cyber 08.06.2015 01:39

Лол, должность "инженер HTML" http://www.pracuj.pl/praca/inzynier-...oferta,3919582

Цитата:

-Хорошо знать HTML5 и CSS3
-Базовые знание JS and jQuery
-Знать XML
-Хорошо знать англ
-опыт написания скриптов
-вообще не в тему)

nerv_ 13.06.2015 21:35

Array::contains()
 
Тестирую функцию Array.prototype.contains2() с двунаправленным поиском, что теоретически должно увеличить вероятность/скорость поиска на всем пространстве значений.

Кому не лениво, запустите и напишите результаты сюда.
Код и мои результаты ниже.
Также принимаются замечания :)

/**
 * @param {*} any
 * @returns {Boolean}
 */
// TODO не находит NaN
Array.prototype.contains1 = function(any) {
    return this.indexOf(any) !== -1;
};

/**
 * @param {*} any
 * @returns {Boolean}
 */
// TODO не находит NaN
Array.prototype.contains2 = function(any) {
    var array = this;
    var l = array.length;
    if (l === 0) return false;
    for(var i = 0, j = l - 1; i <= j; i++, j--) {
        if (array[i] === any) return true;
        if (array[j] === any) return true;
    }
    return false;
};


// -------------------------------------

var NEEDLE = {};
var DATA = createDataSet();
console.log('data set was created');
//console.log(DATA);

test(function(array) {
    array.contains1(NEEDLE);
}, 'contains1');

test(function(array) {
    array.contains2(NEEDLE);
}, 'contains2');



function test(cb, msg) {
    var startTimeStamp = Date.now();
    console.log('start::' + msg);
    for(var i = 0, a = DATA, l = a.length; i < l; i++) {
        cb(a[i]);
    }
    var endTimeStamp = Date.now();
    console.log(endTimeStamp - startTimeStamp, msg);
    console.log('end::' + msg);
}


function createDataSet() {
    var EXPONENT = 6; // 1
    var data = [];

    for(var i = 0; i < 10; i++) {
        var array = range(0, Math.pow(10, EXPONENT));
        var needleIndex = Math.pow(10, EXPONENT - 1) * i;
        array[needleIndex] = NEEDLE;
        data.push(array);
    }
    data.push(range(0 ,Math.pow(10, EXPONENT)));

    return data;

    // ----------------------

    function range(from_, to_) {
        for(var a = [], j = from_; j < to_; j++) {
            a[j] = j;
        }
        return a;
    }
}


Windows7 x64

Chrome (last)
115 "contains1"
80 "contains2"

Firefox (last)
23 "contains1"
27 "contains2"

IE 10
139contains1
90contains2

рони 13.06.2015 21:39

nerv_,
Windows8.1 x64
Chrome (last)
58 "contains1"
60 "contains2"

Firefox (last)
8 contains1
10 contains2

IE 11
114 contains1
530 contains2


Часовой пояс GMT +3, время: 07:32.