
Filip
23.03.2017
15:54:55
потом перетащил несколько групп людей сюда

Max
23.03.2017
15:54:58
ну разные вещи

Evgeny
23.03.2017
15:54:58

Alexander
23.03.2017
15:55:02
Какой лучше sass-loader юзать? А то что-то их прям куча

Google

Max
23.03.2017
15:55:13

Denis
23.03.2017
15:55:24

Evgeny
23.03.2017
15:55:24
Ну кому-то выше нужен был

Max
23.03.2017
15:55:25
я имею в виду фишки слака в телеграме

Evgeny
23.03.2017
15:55:30
Вместо слака

Denis
23.03.2017
15:55:57
Там че то Prices нет

Dmitry
23.03.2017
15:56:16
Там какая-то система: хочешь юзать - напиши нам

Evgeny
23.03.2017
15:56:39
Да
Они про большие компании
Но маленьких тоже подключат
Ну и вроде опенсорс, не помню

Filip
23.03.2017
15:57:41
А чем они лучше слака?

Evgeny
23.03.2017
15:57:45
Денис, я в личку скинул

Google

Denis
23.03.2017
15:57:46
С учётом местной культуры, я бы предпочёл in-house :)

MadMax
23.03.2017
15:57:48
Ребята
А есть у кого проект не нужный, совсем простой
Но правильно построенный?
Что бы было редактирование чего то, удаление, добавление

Filip
23.03.2017
15:58:50
todolist ?)

MadMax
23.03.2017
16:03:36
ну тудулист....
Блин
Есмли связан с редакс и апи
То пойдет

Pavel
23.03.2017
16:07:04
Кстати, вот интересный пример todo - сразу с redux + graphql от моих любимых apollo-stack: https://github.com/apollographql/todos
Ничего что outdated
Нужна же структура! )

Filip
23.03.2017
16:09:21
Я пока о graphql могу только мечтать в реалиях текущего проекта

Pavel
23.03.2017
16:10:24
Ну дело за малым - свои проекты, другие проекты - радость жизни.

Filip
23.03.2017
16:11:43

MadMax
23.03.2017
16:13:57
Павел
Большое спасибо
Огромнейшее

Google

Pavel
23.03.2017
16:14:19
You are welcome.

MadMax
23.03.2017
16:43:03
Совершенно иное, от того, с чем я знаком
потрясающие примеры, Павел.)) плюсов бы вам в репу

Pavel
23.03.2017
16:48:01

Anton
23.03.2017
16:49:35
ребят,вопрос относительно оффтоп
Есть сайт видеочатом, который хорошо работает на ноутах и андроид платформе, но никак не хочет работать на ios
Со стороны это выглядит примерно так->
На анроиде загружается страница(которую даже толком нельзя прокрутить) и делает запрос на доступ к камере и микрофона
На ios странице грузится точно также и видео не работает, но при этом нет запроса на доступ к камере и микрофона
надо ли как-то отдельно прописывать в том же тэмплейт или контроллере запрос на доступ

Alexey
23.03.2017
16:56:18
Для iOS есть React Native

Алексей
23.03.2017
16:57:09
тут сайт, какой RN

Anton
23.03.2017
16:58:07
в сайте дело

morda
23.03.2017
16:59:41
У иос корс честный. Заголовки смотри
Можно с мака зайти сафарей и смотреть че в консоли. Если корс - напишет.

Anton
23.03.2017
17:01:25
зашел на твич и понял,что если там не смогли live video запустить

Anton
23.03.2017
17:01:31
то тут уж точно вряд ли

Антон
23.03.2017
17:24:50
Парни, что интересно было бы послушать на moscowjs? Все темы уже избиты, кому нибудь интересно послушать о том как мы тестируем свое дерьмо или в тысячный раз послушать как какие то чуваки флакс архитектуру у себя сделали без говна на трусах?

Gordey
23.03.2017
17:30:03
интересно смотреть на реальных кейсах что-то

Denis
23.03.2017
17:34:46

Paul
23.03.2017
17:43:25
Расскажи про зарплаты в IT, это всегда актуально

Mike
23.03.2017
17:44:21
так все присутствующие по идее в курсе
зарплат своих
)

Google

Dmitry
23.03.2017
17:44:56
про чужие тогда надо рассказывать

Dream
23.03.2017
17:45:12
мне не интересно

Dmitry
23.03.2017
17:45:28
https://www.youtube.com/watch?v=rete1Wk3TW8

Антон
23.03.2017
18:00:24

Admin
ERROR: S client not available

Petr
23.03.2017
18:07:10
Сервис для проверки уникальности названия вашего нового опенсорс-проекта — https://goo.gl/ZsGqOI
проверил - буду делать библиотеку с именем Retuz!

Denis
23.03.2017
18:22:37
Внимание вопрос! Как лучше организовать приватную npm-registry? Необходимо, чтобы все используемые пакеты были в нём закэшированы и ничего не сломалось, если npm упал, кто-то удалил пакет и т.д.

Petr
23.03.2017
18:29:57
более подробно про npm в частности https://www.jfrog.com/article/npm-registry/

Denis
23.03.2017
18:33:15
А что насчёт sinopia?

N
23.03.2017
18:52:09
гайс, есть проблема
запрос к api отправляется с данными из урла и результат пишется в стор. если делать history.back() или просто браузерный "back" то может так случиться, что последний запрос придет раньше предыдущего.
и в итоге отрендерится тот запрос, который не соответствует урлу. может описал сумбурно, не знаю как понятнее.
или результат писать согласно md5(document.URL) и из него же читать?
что посоветуете?

Mike
23.03.2017
18:53:21
Нумеруй запросы, если пришел не последний, игнорируй

N
23.03.2017
18:55:24
блин. туплю. как понять что ответ (не)от последнего запроса? куда сохранить флаг последнего запроса?

Mike
23.03.2017
18:56:33
fuction callApi() {
Cur = C++;
fetch(..).then((res) => {
If( Cur != C ) return;
...
})
}
Примерно так
С мобилы ниоч набирать такое)

Pavel
23.03.2017
18:57:40

N
23.03.2017
18:57:53
нет

Pavel
23.03.2017
18:58:07
Тогда есть такое понятие, как cancelable Promise

Google

Pavel
23.03.2017
18:58:18
Прделагаю использовать его, чтобы отменить запрос
Делается это примерно так:
const makeCancelable = (promise) => {
let hasCanceled_ = false;
const wrappedPromise = new Promise((resolve, reject) => {
promise.then((val) =>
hasCanceled_ ? reject({isCanceled: true}) : resolve(val)
);
promise.catch((error) =>
hasCanceled_ ? reject({isCanceled: true}) : reject(error)
);
});
return {
promise: wrappedPromise,
cancel() {
hasCanceled_ = true;
},
};
};
let myFakePromise = new Promise((res, rej) => {
setTimeout(res, 1000);
});
var cp = makeCancelable(myFakePromise);
cp.promise.then(() => console.log('resolved')).catch(() => console.log('rejected'));
cp.cancel();

N
23.03.2017
18:58:40
а с async/await это можно сделать?

Pavel
23.03.2017
18:58:59
Не вижу предпятствий

Mike
23.03.2017
18:59:05
Мое решение можно, просто в авейте выбросить, если номер не тот
Павла хз

N
23.03.2017
19:00:13
спасибо большое за подсказку
буду думать

Pavel
23.03.2017
19:00:19
В GraphQL происходит именно так, у unmount компонентов - отменяются все запросы

Ivan
23.03.2017
19:57:53
Есть кто работал с redux-saga?
почему когда я пишу в ватчере
yield take(ACTION_TYPE)
yield call(fn)
то работает
а когда пишу yield takeEvery(ACTION_TYPE, fn) - то уже не работает

Evgeny
23.03.2017
19:59:25
Скорее всего, ты что-то делаешь неправильно

Ivan
23.03.2017
19:59:36
О спс

Evgeny
23.03.2017
19:59:46
Рад помочь
Разбирайся, копай

Denis
23.03.2017
20:02:35

Ivan
23.03.2017
20:06:05
import { call, put, take, takeEvery } from 'redux-saga/effects'
import {
ADD_DEBIT,
} from './constants';
import {
addDebitSuccess,
addDebitFail
} from './actions';
import { configs } from 'utils/configs';
import { post } from 'utils/request';
function* addDebit(action) {
try {
const { data } = action.payload;
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
}
const requestURL = `${configs.apiUrl}/debit`;
const response = yield call(post, requestURL, options, data);
yield put(addDebitSuccess(response));
} catch (err) {
console.log(err)
yield put(addDebitFail(err));
}
}
function* watchAddDebit() {
while(true){
yield takeEvery(ADD_DEBIT, addDebit)
}
}
export default watchAddDebit;