Vladimir
Я кстати насчет полезности коммитов фишрока тоже не уверен
Vladimir
Да, доки и тесты в основном
Anonymous
https://github.com/ayojs/ayo/issues/13#issuecomment-324443057
Дима
ауе
Ilya
вечер в хату
Ilya
Egor
ммм, использует кто в js блок finally ?
Egor
или в нем нет надобности?
Evgeny
Да кто только не использует.
Egor
ну вот только не могу понять для чего-ж он может пригодится
Egor
в JS конкректно
Vladimir
Для того же, для чего и не в js
Evgeny
Выполнять какие-то действия в конце блока
Egor
gc есть (т.е. в конце блока не придется что-то удалять из памяти), а вот хендел или сокет или еще что-то можем в callback'е закрыть
Egor
хм..
Egor
Дима
Не знаешь зачем он тебе — не юзай, всё просто
Egor
ну на самом деле я нашел ему применение в js, и не знаю, грязный хак это или что-то нормальное
Дима
У меня как-то не находится кейсов для него, ну не нужен мне — ну и ладно
А так вполне нормальная конструкция в языке
Egor
code example
router.get('/users/:id', async ctx => {
try {
var user = await User.findById(ctx.params.id);
// ---
// два кейса:
// 1. id валидный, но юзера нет -
// ошибка НЕ вываливается
// 2. id невалидный, поэтому вываливается ошибка
// в итоге все-равно user = null в любой из ситуаций,
// чтобы не заниматься фигней, пришлось сделать так,
// нормально ли?
// -----
} finally {
if (!user) {
ctx.throw(404, 'Not found');
}
ctx.body = user;
}
});
Aleksand
Egor
вот так
Aleksand
Aleksand
Дима
Egor
Почему-то просто в доке ноды не форсят finally
Egor
вот как-то и задаюсь к вам таким вопросиком
Aleksand
Это как? Не шарю в питоне
особый класс с методами __enter__ и __exit__ которым можно готовить и убирать контекст.
with my_stuff as stuff:
# do something
Дима
Дима
В bluebird тоже что-то подобное есть, емнип
Aleksand
Дима
Ага
Алексей
Эгей, есть боги вебпака? Пишу конфиг для версии 3.х, как отключить минификацию js из коробки?
Алексей
В доках про это ничего
Алексей
uglifyJS настраивал - ничего
Egor
@AlexQuidditch минутку, каким образом она из коробки сама что-то сжимает? вроде минификация по дефолту отключена
Алексей
Неа, он по дефолту минифицирует
Nikolay
Aleksand
Ага
вообще надо побольше воровать фич, вон в питон привезут скоро супергибкие замыкания, можно будет руками создавать контекстное окружение, идея из js, там парни копируют и развивают сильно сами
Алексей
Нет, он на рабочей пекарне. Там примитивщина, entry и output, есть чанки, и вытаскивание CSS, gzip, и ещё пара мелочей. Нигде явно не указано минифицировать js. Пробовал отключать все плагины, то же самое
Nikolay
он как раз может быть и виноват
Sparrow
Nikolay
который могут в лоадере по умолчанию включить
Алексей
Sparrow
это тоже самое
Алексей
Sparrow
попробуй без -p или пиши конфиги уже
Алексей
Попробую без -p)
Alexander
Доброй ночи всем)
Может кто-то сталкивался... Мобильное приложение с сервером на spring-е(java). Используется либа socket.io. Эвенты по сокетам меняют состояния мобильного приложения. Изменения состояний являются критическими для приложения, но сокеты не гарантируют же доставку. Вариант везде заюзать Ack-и не подходит, потому что состояние и вся с ним логика на сервере должна измениться сразу же, как придёт тригер из вне, и я не могу ждать Ack-а от другого мобильного клиента... Тут нужна какая-то очередь не доставленных евентов, либо какая-то другая обёртка поверх всего(насколько я понимаю). Есть у кого-то опыт/идеи по этому поводу?
Andrew
Доброй ночи всем)
Может кто-то сталкивался... Мобильное приложение с сервером на spring-е(java). Используется либа socket.io. Эвенты по сокетам меняют состояния мобильного приложения. Изменения состояний являются критическими для приложения, но сокеты не гарантируют же доставку. Вариант везде заюзать Ack-и не подходит, потому что состояние и вся с ним логика на сервере должна измениться сразу же, как придёт тригер из вне, и я не могу ждать Ack-а от другого мобильного клиента... Тут нужна какая-то очередь не доставленных евентов, либо какая-то другая обёртка поверх всего(насколько я понимаю). Есть у кого-то опыт/идеи по этому поводу?
каждый запрос нумеруй и номера с таймстампами складывай в очередь, а сервер пусть шлет
подтверждение с этим номером, что доставлено, по мере доставки удаляй номера из очереди, и в ней останутся только те, что не были доставлены с таймстампом.
Aleksand
Aleksand
они и порядок фреймов и доставку гарантируют
Alexander
Хм, да, верно, данная либа юзает только tcp протокол. Но на практике, при тестировании прототипа, относительно часто не доходят эвенты до клиента при базовой отправке их посредством этой либы с сервера. Часть не доставленных точно из-за отсутствия интернет соединения на мобильном приложении, но в данном случае поможет только повторная отправка по таймауту.
Идея с номерами хорошая кстати, спасибо.
А вот вторая часть похоже теряется по дороге. Возможно ли, что соединение является не стабильным и эвент отправляется в тот момент, когда сокет соединение временно потерянно? Т.е., фактически в момент реконнектов.
Aleksand
Хм, да, верно, данная либа юзает только tcp протокол. Но на практике, при тестировании прототипа, относительно часто не доходят эвенты до клиента при базовой отправке их посредством этой либы с сервера. Часть не доставленных точно из-за отсутствия интернет соединения на мобильном приложении, но в данном случае поможет только повторная отправка по таймауту.
Идея с номерами хорошая кстати, спасибо.
А вот вторая часть похоже теряется по дороге. Возможно ли, что соединение является не стабильным и эвент отправляется в тот момент, когда сокет соединение временно потерянно? Т.е., фактически в момент реконнектов.
вы разберитесь с библиотекой, состоянием соединения и протоколом вебсокетс, у них все это решено. не нужно выдумывать дурацкие схемы стабилизирующие плохой код
Aleksand
Хм, да, верно, данная либа юзает только tcp протокол. Но на практике, при тестировании прототипа, относительно часто не доходят эвенты до клиента при базовой отправке их посредством этой либы с сервера. Часть не доставленных точно из-за отсутствия интернет соединения на мобильном приложении, но в данном случае поможет только повторная отправка по таймауту.
Идея с номерами хорошая кстати, спасибо.
А вот вторая часть похоже теряется по дороге. Возможно ли, что соединение является не стабильным и эвент отправляется в тот момент, когда сокет соединение временно потерянно? Т.е., фактически в момент реконнектов.
нет, невозможно. вебсокетс ничего по дороге потерять не может. доставку пакетов гарантирует tcp, последовательность фреймов гарантирует вебсокетс. остальное всего лишь ваш плохой код
Cenator 🐈
Правильно ли при ошибке авторизации указывать, в чем конкретно юзер не прав? Например, если логин верный, то писать, что пароль не верный, а не просто "ошибка"
Alexander
Aleksand
Nikolay
интересный график
Nikolay
Aleksand
Nikolay
да вот видосик пырю https://www.youtube.com/watch?v=SmsX4dE_k5s
Aleksand
на видосе тоже не видно
Антон
кто-то юзает sequelize-typescript?
Co(n)stantine👨🔬
ikasymov
Ребята тут есть кто шарит в django ORM и Sequelize ORM nodejs?
Deenya
Aleksandr а можно как-то в селениуме проверить элемент на видимость, но исключая транспарентность? Т. е. дождаться пока элемент становится кликабельным
ikasymov
Ребят вопрос, база пустая ничего нет не переживайте на счет сохранности данных, я обновил модели я хочу удалить текущие миграции и заного создать их как это сделать? база mysql, ORM sequelize, надо через sequelize cli
ikasymov
Пробовал sequelize db:migrate:undo:all
говорит
No executed migrations found.
Anonymous
Ребяятаааа, как к вам в секту вступить?
Evgeny
Ты уже
Anonymous
но я ещё ни разу не запускал ноду