Китикет
Sunlive
и что я упускаю
J. A. R. Kotlien
Ivan
Default
🦜
Sunlive
спс
Ivan
Выбор яп из-за задачи определяется
Default
Есть std lib
И собсна что дальше? Ещё буст есть и qt
Default
Это никакого отношения к тому, что кресты по прежнему ужасны не имеет
Default
И я вот хоть убей не понимаю, что за инерция мышления заставляет писать на них сейчас при живом-то расте
Ivan
Nikolai
Человек спросил гайды по реакт у и фронтенду - ему посоветовали поучить кресты. Люблю этот чат
Default
Default
И вообще любой язык с развитым метапрограммированием
Ivan
Yury
и снова столкнулся с проблемой редакса)) как заставить обновляться компонент при обновлении хранилища?
Andrey
O Father O Satan
Ну так ты же через connect() редакса мапишь стейт в пропсы?
Yury
const mapStateToProps = state => {
return {
pingout: state.websocket.messages
};
};
export default connect(mapStateToProps) (Ping);
Yury
маплю
Андрей Чайковский
O Father O Satan
Тогда должно всё хорошо быть. А компонент у тебя случайно не Pure?
Yury
render() {
const pingitems = this.props.pingout.ping.map((pingitem, i) => {
return(
<PrintText key={i} textitem={pingitem}/>
);
});
return (
<div>
<div>
{pingitems}
</div>
</div>
)
}
Yury
Yury
ytn
O Father O Satan
А ты dispatch как делаешь?
Yury
редьюсер я определил, но вызов делает либа, через мидлвар
Yury
export const store = createStore(rootReducer, initialState, composeWithDevTools(applyMiddleware(reduxWebsocketMiddleware)));
Yury
и еще:
const initialState = {
default: [],
websocket: {
connected: false,
messages: {
ping: [],
snmp: [],
other: [],
},
url: null,
}
};
если в mapStateToProps пишу:
const mapStateToProps = state => {
return {
pingout: state.websocket.messages.ping
};
};
то ping пустой array, а если
const mapStateToProps = state => {
return {
pingout: state.websocket.messages
};
};
то pingout.ping уже с данными
Dmitriy
Yury
redux devtool видит все события
Yury
если компонент обновить потом самому, то все отображается
Yury
а вот автоапдлейт болт
🅅aleriy
🅅aleriy
🅅aleriy
мы же не говорим о сайтах с повышенными требованиями к безопасности
🦜
допустим и?
И я могу угнав твой токен зайти в приложение_имя
🅅aleriy
для таких сайтов есть 2 фактор и всякое такое
Dmitriy
в смысле? что имеется в виду?
Расширение имеет доступ к локалстореджу, сам факт в утечки токена есть не гуд. А используя куки можно избежать напряжение пользователя 2fa. По хорошему счету нужно давать на выбор метод auth
🅅aleriy
🅅aleriy
можно рпимер кода посмотреть как до localstorage достучаться из расширения в другое приложение с внешнего домена?
🦜
🅅aleriy
🅅aleriy
наверное самого расширения?
🅅aleriy
оно может за последние 4 года сильно изменилось, ровно столько прошло с моего последнего экстеншина под хром
Dmitriy
Default
Ну вот так, например
🅅aleriy
Default
Расширение имеет доступ к стораджу активной страницы
🅅aleriy
Default
Короче, единственный вменяемый вариант – httpOnly куки
Default
Эм
Default
Вообще-то пользователя надо предупреждать о хранении его данных как таковом
Yury
Default
А не о том, что сайт куки использует
Default
Есть даже разъяснение уже, что если ты юзаешь localStorage, то это не значит, что ты не должен пользователя предупредить
🅅aleriy
а так конечно 100% варианта защиты нет
🅅aleriy
даже httpOnly cookie ломают при желании
🅅aleriy
и SSL не спасет
Default
Алсо, с точки зрения GDPR не просто предупредить, а получить явный акцепт типа нажатия на кнопочку «Согласен»
Sergey
Default
А до того, как акцепт получен – ни в коем случае ничего, относящегося к пользователю в стораджи не складывать