
Rafael
12.02.2017
08:57:51
Middleware?

Rafkat
12.02.2017
08:57:57
https://youtu.be/7pmw5gvWAf8 это может?

Vlad
12.02.2017
08:58:16
Ох, питонячий термин. Дополнительные либы, расширяющие функционал

Rafael
12.02.2017
09:00:07
Ох уж этот сраный питон, все время не нем в универе пишем

Google

Rafael
12.02.2017
09:00:09
Надоел уже

Vlad
12.02.2017
09:01:25
Батарейки = плагины, во
Ну не обижай питон, прошу тебя) чудесный язык

Kelin
12.02.2017
09:13:58
Радуйся
Причём С чистый у нас. Там вообще нихера нет

Rafael
12.02.2017
09:52:47
Я хочу на с++ писать, а у нас его почти нет

Kelin
12.02.2017
10:04:44
Лично я бы предпочел питон плюсам
Давай свапнемся вузами :D

Danil
12.02.2017
10:06:04
В универе можно вообще хоть на чем писать, препода всегда можно убедить что курсовик ему сдашь хоть на clojure

Kelin
12.02.2017
10:08:40
Курсовик-то причём)
Лабы, зачеты и экзамены ведь все равно на том языке, который дают

Danil
12.02.2017
10:13:43
тоже можно договориться

Google

Oleh
12.02.2017
10:28:43
Жесть однако) а как же всесторонне развитие?)

Danil
12.02.2017
10:30:00
а кто сказал что надо себе ограничивать в выборе языка, на котором хочешь писать курсовую/диплом/лабораторную и т.п. ?

Kelin
12.02.2017
10:30:51
лабораторную нет

trilog
12.02.2017
10:31:24

Kelin
12.02.2017
10:31:57
Это шо за звери

trilog
12.02.2017
10:32:00
настолько всесторонне я не разрывал анус.
гугл ит

Vlad
12.02.2017
10:44:55
@Fl0pZz я добрался до дома и нарисовал примерчик с тостами без вотчеров
https://jsfiddle.net/Vhaldemario/76s7rhqe/
Заценивай )
Он умеет убивать тост через 5 секунд или по клику. Остальное расширить - дело техники

Michael
12.02.2017
10:52:31
Отличное, кстати, видео - Lets Vue. Огромный респект Илье Климову, четко, по делу, что редкость нынче. Обычно первые 80% доклада - почти бессмысленое вступление с пересказом со слайдами очевидных вещей, и потом под конец, уже не успевая, парой предложений, полезные вещи. А здесь прям с начала пошло мясо.
Я даже подумал, не стоит ли уйти с react+mobx и попробовать плотно эту штуковину в следующем проекте. )

Ilya
12.02.2017
10:54:54
Отличное, кстати, видео - Lets Vue. Огромный респект Илье Климову, четко, по делу, что редкость нынче. Обычно первые 80% доклада - почти бессмысленое вступление с пересказом со слайдами очевидных вещей, и потом под конец, уже не успевая, парой предложений, полезные вещи. А здесь прям с начала пошло мясо.
Я даже подумал, не стоит ли уйти с react+mobx и попробовать плотно эту штуковину в следующем проекте. )
Какие преимущества у vue?

Stanislav
12.02.2017
10:55:03
@sequeller стоит

Michael
12.02.2017
11:19:08
Какие преимущества у vue?
Меньше бойлерплейта, больше удобных соглашений и изкоробочных решений. Встроенный mobx у стейта компонент и встроенный redux у межкомпонентного стора. Относительно безпроблемная возможность впаять jquery-плагинчик, без которого никак.

Alexandr
12.02.2017
11:32:39

Rafkat
12.02.2017
11:41:37
какой смысл типы мутаций описывать в отдеьно файле?

Vlad
12.02.2017
11:42:03
Инкапсуляция кода
Субъективное удобство
+ если работаешь в большой команде - без стандартов никак

Michael
12.02.2017
11:43:04

Alexandr
12.02.2017
11:44:53
вчера пробовал ее, там очень много разных возможностей с ней

Google

Alexandr
12.02.2017
11:44:55
реально удобно
если лень заморачиваться, можно накидать рабочего кода прямо из документации

Vlad
12.02.2017
11:47:59

Rafkat
12.02.2017
11:48:16
как пример

Vlad
12.02.2017
11:48:39
?

Rafael
12.02.2017
11:56:12

Vlad
12.02.2017
12:07:42
Да без проблем )

Rafkat
12.02.2017
12:22:39
поясните за эту тему
Вызов мутаций из компонентов
Мутации можно вызывать из кода компонентов, используя this.$store.commit('xxx'), или применяя хелпер mapMutations, который проксирует вызовы store.commit через методы компонентов (для этого требуется наличие корневой ссылки на хранилище $store):
...mapMutations я в инстансе стора олжен определить?

Rafael
12.02.2017
12:33:17
так где ты определешь компоненту, испортишь mapMutations и пихаешь в computed вот так:
import { mapMutations } from 'vuex'
// ...
computed: {
...mapMutations(...)
}

Rafael
12.02.2017
12:37:20
просто чтобы это работало, ты должен при созданиии корневого инстанса vue передать сразу это хранилище:
// store.js
...
Vue.use(Vuex)
const store = Vuex.Store(...)
export default store;
//main.js
...
new Vue({
...
store,
...
})

Rafkat
12.02.2017
12:38:21
я понял
в корневой инстанс вью цепляем стор
а в компонент, mapMutations импортируем
как я понял

Rafael
12.02.2017
12:42:48
Да без проблем )
destroy() {
this.$destroyCb && this.$destroyCb();
}
что оно делает?

Illya
12.02.2017
12:42:58
Отличное, кстати, видео - Lets Vue. Огромный респект Илье Климову, четко, по делу, что редкость нынче. Обычно первые 80% доклада - почти бессмысленое вступление с пересказом со слайдами очевидных вещей, и потом под конец, уже не успевая, парой предложений, полезные вещи. А здесь прям с начала пошло мясо.
Я даже подумал, не стоит ли уйти с react+mobx и попробовать плотно эту штуковину в следующем проекте. )
Я старался. На самом деле терпеть не могу гомеопатическуб литературу и гомеопатические доклады где одна мысль на десяток страниц размазана

Vlad
12.02.2017
12:50:40
destroy() {
this.$destroyCb && this.$destroyCb();
}
что оно делает?
Вызывает destroy-callback. Который вызовет какон-то внешнее замыкание, удаляющее этот экземпляр из списка тостов.
Этот коллбек я подсовываю экземпляру в методе setDestroyCb.
Однако могу и не подсунуть. И тогда this.destroyCb будет пустой. И вызвать его нельзя. Поэтому cb && cb();

Google

Rafael
12.02.2017
13:34:29
М, понял, пасиба

Rafkat
12.02.2017
13:39:43
https://github.com/vuejs/vuex/blob/master/examples/shopping-cart/vuex/modules/cart.js
как я понял, в этом примере
мутации модулей cart и js являются глобальынми?

Andrey
12.02.2017
13:41:53

Vlad
12.02.2017
13:42:37

Andrey
12.02.2017
13:45:12
во всем нормальном мире плагины это плагины, и только в мире джанги плагины это батарейки
просто есть термины, которые поймут все, не зависмо от того знают они язык/либу. Например плагин, экстеншен, аддон, дополнение и т.д

Admin
ERROR: S client not available

Vlad
12.02.2017
13:48:44
Понял, значит я ошибочно термин "батарейки" на другие области распространял)

Rafkat
12.02.2017
15:05:05
let new_arr = {}
a.forEach( (el) => {
if(!new_arr[el.category]) {
new_arr[el.category]= [el]
} else {
new_arr[el.category].push(el)
}
})
вот эту штуку как правильнее бы переписать?

Stanislav
12.02.2017
15:09:32
нету правильнее, есть альтернатива
a.reduce( (o, e) => {
if (!o.hasOwnProperty(e.category)) {
o[e.category] = [];
}
o[e.category].push(e);
return o;
}, {});
может даже сработает…

Rafkat
12.02.2017
15:12:07
ад, сработало, спасибо

Stanislav
12.02.2017
15:12:36
u r wlc

Alexandr
12.02.2017
15:12:45
в документации есть пример простого роутера без либ
все понятно, кроме того как собственно навесить переход на элемент

Stanislav
12.02.2017
15:13:47
@click ? или я не понимаю о чем речь?

Rafkat
12.02.2017
15:14:09

Google

Alexandr
12.02.2017
15:14:10
через клик менять window.location.path на нужный роутер?
так это просто переход получается
с перезагрузкой

Stanislav
12.02.2017
15:15:08
а ты через pushState это делай, ну или напиши свой красивый router.go(<path>)

Oleh
12.02.2017
15:15:33
Отличное, кстати, видео - Lets Vue. Огромный респект Илье Климову, четко, по делу, что редкость нынче. Обычно первые 80% доклада - почти бессмысленое вступление с пересказом со слайдами очевидных вещей, и потом под конец, уже не успевая, парой предложений, полезные вещи. А здесь прям с начала пошло мясо.
Я даже подумал, не стоит ли уйти с react+mobx и попробовать плотно эту штуковину в следующем проекте. )
скинь ссылку плс

Stanislav
12.02.2017
15:15:35
транзакцию?
не путайте транзакцию (transaction) и переход (transition)
а то попросят как-нибудь сделать fade transition на балансе пользователя ))

Stanislav
12.02.2017
15:16:59
прямо как у хайдеггера

Alexandr
12.02.2017
15:17:14

Stanislav
12.02.2017
15:18:20
а можешь дать ссылку на пример того роутера? а то я его не помню

Alexandr
12.02.2017
15:18:38
https://ru.vuejs.org/v2/guide/routing.html#Простой-роутер-с-нуля

Stanislav
12.02.2017
15:26:46
ладно, мы не тем путем пошли. в этом случае - никак, кроме перезагрузки страницы
хотя можно вот так обхитрить: …

Alexandr
12.02.2017
15:29:29
а, так это и есть "простой роутинг"?
лол

Michael
12.02.2017
15:29:35

Stanislav
12.02.2017
15:30:06
var app = new Vue({
data: {
currentRoute: window.location.pathname
}
});
window.onpopstate = function() {
app.currentRoute = window.location.pathname;
};
<template>
<a @click="link('/home')">Home</a>
</template>
<script>
…
link: function(path) {
window.history.pushState(null, null, path)
}
…
</script>
как-то так, должно завестись

Kelin
12.02.2017
15:33:18
Когда уже люди начнут юзать pug

Stanislav
12.02.2017
15:33:43
это еще что?