@nodejs_ru

Страница 126 из 2748
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 тоже выставляются симлинками. Но может есть решения из коробки или просто более правильные подходы?

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
Был ещё как фантом, но поверх геко.
да много чего есть, в том числе пилят нативный headless хром

но пока альтернатив фантому нет

Никита
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
да.. ничего удивительного ( хотя читать было интересно )

Страница 126 из 2748