
Dima
09.08.2016
21:23:16
и еще к нему (imagemagic) на npm мал выбор на ресайз/кроп из буфера: native/stream всем ссылки на фаил давай(
ссылки всмысле path
imagemagic-native-2 прям близко к идеалу, но толи у нас толи у них, что то не то и не работает
завтра еще про jimp отпишусь: подошло / не подошло

Google

Dima
09.08.2016
21:30:34
а ведь многого и не требуется: получить put в буфер, перевести в png, и ресайз

KlonD90
09.08.2016
21:38:00
так просто :(

Roman
09.08.2016
21:44:45
Всем доброй ночи. Стоит задача при деплое проекта не пересобирать каждый раз все npm и bower зависимости, а если только действительно есть изменения в их списке в bower.json/package.json. То что есть сейчас - teamcity, который делает pull из git, делает npm i && gulp build, копирует билд в папку N и линкует htdocs на нее. В тупейшем варианте можно написать скрипт который делает diff bower.json/package.json между двумя последними прогонами деплоя и решает что делать зависимостями. А папки node_modules и bower_components тоже выставляются симлинками. Но может есть решения из коробки или просто более правильные подходы?

Дмитрий
09.08.2016
21:46:38
Если их там нет, то логично, что они не поменялись)


Roman
09.08.2016
21:47:20
как вариант
я видел еще решение, на прошлом месте работы моем админы паковали билды приложений в rpm пакеты и клали в локальный rpm. Плюсы что я вижу - возможность развернуть быстро на любой сервер с идентичным окружением. Насколько такое решение имеет право на жизнь?
Еще плюс что пакет обновлялся сразу по хуку на пуш в мастер. А когда обновлять продакшен - решаешь уже сам. Но пакет уже есть, что ускоряет процесс обновления. И есть старые версии пакетов что позволяет быстро откатиться
Но возможно есть решения лучше

Denis
09.08.2016
23:08:37
Гриша отлично рассказал про сетевое тестирование через VirtualBox https://m.youtube.com/watch?feature=share&v=rilKfmbeqaA

マイク
09.08.2016
23:12:01
https://nodejs.org/api/child_process.html
какие-то либо модули с бинарной линковкой к либе мэджика тоже не нужны, потому что память вытекает

Google

マイク
09.08.2016
23:14:27
сразу предугадывая, что запускать бинарник некошерно — это полный бред
более чем кошерно
если же стримы актуальны прям невозможно — можно заюзать системные named pipes

Никита
10.08.2016
06:40:26
Он через child_process работает, кстати
Это просто удобная обвязка поверх.

マイク
10.08.2016
06:43:53
Ну он обратно совместим
Не дыряв
По сути то же

Никита
10.08.2016
06:44:21
Ну да. Плюс там можно совсем руками параметры указать.
А можно методами, кому как нравится.
А ввод-вывод там удобный.
Я про https://www.npmjs.com/package/gm, если что

Paul
10.08.2016
07:04:32
Да, gm хорош. Но в итоге все равно его не хватает для чего-нибудь и проще вызывать напрямую, да

Александр Щедрин
10.08.2016
07:59:36
Подскажите примеров Node+Express на TypeScript

Konstantin
10.08.2016
08:01:49
Гайз, вот есть Zombie, Casper, PhantomJS и все такое. Что из этого самое быстрое, открывать странички, парсить, файрить какие-то браузерные эвенты

Никита
10.08.2016
08:04:40
В гм можно передавать аргументы напрямую.
А работа с вводом-выводом там удобная.
image = gm(file);
image.out('-auto-orient', '-strip');
image.out('…
image.setFormat(format);
image.write(…

Google

Никита
10.08.2016
08:06:36
Как-то так.

Sergey
10.08.2016
08:09:29

Никита
10.08.2016
08:10:10
https://www.npmjs.com/package/gm#custom-arguments
Но, говорят, глючил и падал.
Не знаю, как сейчас.

Sergey
10.08.2016
08:12:56
но пока альтернатив фантому нет

Никита
10.08.2016
08:13:58
Кстати, фантом потихоньку пилят.
Там сейчас дело в том, что фантом построен на QtWebKit, который умер.

Sergey
10.08.2016
08:14:59
когда выйдет headless хром фантом умрет

Никита
10.08.2016
08:15:19
Но человек пилит форк, и он вроде даже договаривался с кутэшниками о том, чтобы сохранить название QtWebKit. Не знаю.

Никита
10.08.2016
08:15:29
В фантом недавно смерджили поддержку, вроде.
https://github.com/ariya/phantomjs/pull/14386
На репозиторий.

Sergey
10.08.2016
08:16:50
ссылочку можно?
https://bugs.chromium.org/p/chromium/issues/list?q=label:Proj-Headless

Никита
10.08.2016
08:17:08
А, ясно.
Это в хроме пилят

Sergey
10.08.2016
08:18:39
ага, с гуглом конкурировать будет сложно

Google

Konstantin
10.08.2016
08:22:01
Т.е. сейчас лучше всего фантом?

Sergey
10.08.2016
08:22:45
смотря для чего

Konstantin
10.08.2016
08:23:51
Мне не для тестирования. Краулер и файрить браузерные эвенты
На разные урлы.

Admin
ERROR: S client not available

Sergey
10.08.2016
08:24:57
тогда да, используй фантом

Никита
10.08.2016
08:29:13
Впрочем, как и остальные хеадлесс кравлеры, что есть сейчас.

Дмитрий
10.08.2016
08:30:18
Что, даже за юзерагентами распознают?

Никита
10.08.2016
08:30:32

Дмитрий
10.08.2016
08:30:53
а скрыть его есть хоть какая-то возможность
или осложнить детект

Никита
10.08.2016
08:31:12
Осложнить совсем простые методы — да, сложные — маловероятно.
http://www.slideshare.net/SergeyShekyan/shekyan-zhang-owasp
Вот же.

Konstantin
10.08.2016
08:32:25
Крутяк, почитаю
Спасибо

Дмитрий
10.08.2016
08:32:32
Ну я глубоко не копал в эту сторону
Спасибо за информацию, погрызем

Никита
10.08.2016
08:33:58
Там начиная от торчащего наружу window._phantom и до особенностей реализации кукижара в Qt.
А, ну и в стектрейсах тоже уши фантома торчат отовсюду.

Дмитрий
10.08.2016
08:36:12
Понятно. жЫзньБоль

Google

Никита
10.08.2016
08:37:32
А, заодно вспомнил название гековского порта.
SlimerJS. Но с ним та же картина и хз, насколько он стабилен.
Он не совсем хеадлесс, правда.

Vladimir
10.08.2016
09:20:28
Ну то есть, будет хэдлесс хром, то в принципе уже особо не распознаешь

Никита
10.08.2016
09:27:42
Он вполне может таймингами отличаться.
Относительными чего-нибудь к чему-нибудь.

Vladimir
10.08.2016
09:32:30
Ну этот уже больший риск по таким признакам блокировать

MaXG
10.08.2016
09:57:58
knex.js
помогите, плиз, заколдовать в него строчку
insert into subscriptions (login, room_id) values ('www', (select id from chat_rooms where `name`='rr'));

Никита
10.08.2016
10:17:25

MaXG
10.08.2016
10:59:27
knex('subscriptions').insert(knex.raw('(login, room_id) values (:login , (select id from chat_rooms where `name`=:room_name))',{login: 'www',room_name: 'rr'}));

Никита
10.08.2016
11:52:58
видели пост про модули?
https://medium.com/friendship-dot-js/i-peeked-into-my-node-modules-directory-and-you-wont-believe-what-happened-next-b89f63d21558

Алексей
10.08.2016
11:53:59
да.. ничего удивительного ( хотя читать было интересно )