Pull to refresh
-18
0
Дмитрий Карловский @vintage

Адвокат Дьявола

Send message

А какая разница будет кука на 15 минут или на 100 лет, если через минуту за комп может сесть другой человек? Для девайсов коллективного пользования должна быть хорошо заметная кнопка "выйти".

Лучше бы это самое API упростили, а то сейчас оно представляет из себя звездолёт из абстракций, в котором даже с помощью документации фиг разберёшься. Она — тот ещё клубок лапши. Про статическую типизацию я даже не заикаюсь..

В $mol нет HTML же. Только view.tree:


$my_heroes $mol_view
    sub /
        <= Title $mol_view
            sub / <= title \
        <= Title_sub $mol_view
            sub / <= title_sub @ \My Heroes
        <= Rows $mol_list
            rows <= rows /
    -
    Row!index $mol_row
        attr * my_heroes_row_selectd <= selected!index false
        event * click!event <=> select!index null
        sub <= item_content!index /
            <= Badge!index $my_badge
                title <= hero_id!index \
            <= hero_name!index \

Плюс логика отдельным скриптом.

Параллельно:


const jins = db.users.find({ name : 'Jin' })
const nins = db.users.find({ name : 'Nin' })
console.log( jins , nins )

Последовательно:


const user = db.users.find({ name : 'Jin' })[0]
const coments = db.comments.find({ author : user.id })
console.log( user , comments )

Ну и последовательно, на случай неявной зависимости:


db.users.populate({ count : 3 , comments : 10 }).valueOf()
const users = db.users.find({ type : 'User' })
console.log( users )
const db = {
    users : {
        find : params => {
            const future = new Future
            setTimeout( ()=> {
                future.return([ { id : 1 , name : 'Jin' } ])
            } , 1000 )
            return new Proxy( [] , { get : ()=> future.wait() } )
        }
    }
}

22 724 downloads in the last day
155 756 downloads in the last week
663 430 downloads in the last month


Из широко известных проектов: meteor и apollo-server


Открытых багов 5
Закрытых — 296


Падение в той задаче воспроизводится в весьма специфических условиях: arch linux + ожидание одновременно нереалистично большого числа задач.

Прочитайте статью внимательно и не говорите глупостей.


Остальной код выглядит примерно так:


function tests( cases ) {
    for( let name in cases ) cases[ name ]()
}

Fiber( tests ).run()

const db = {
    users : {
        find : params => {
            const future = new Future
            setTimeout( ()=> {
                future.return([ { id : 1 , name : 'Jin' } ])
            } , 1000 )
            return future.wait()
        }
    }
}

В этом и вся соль волокон. Ознакомьтесь с ними по внимательнее — это классная штука.

Не помню, чтобы ко мне кто-то приходил и что-то разбивал.

 tests({

    'responds with matching records'() {

        const users = db.users.find({ type: 'User' })
        assert( users.length , 3 )

        for( let user of users ) db.comments.find({ user: user.id })

    }

})

Но вообще это какой-то слишком хрупкий тест. Где создание базы? Где заполнение? Где адекватная проверка возвращаемых значений?

Чудесно. Зависимые от data сущности вы тоже будете заворачивать в IChannel?

Да почти всегда при работе с удалёнными запросами нужны все 4 кейса. Какую абстракцию вы построите?

Что-то я не понял чем ваш алгоритм отличается от суперсемплинга?

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity