@nodejs_ru

Страница 1089 из 2748
Ilgiz
14.08.2017
06:20:09
так он не хочет



Andrey ?
14.08.2017
06:20:44
Я на руби парсил

https://github.com/4ndv/pikabuparser/

Google
Алексей
14.08.2017
06:21:42
Всем привет! Есть онлайн конструктор без регистрации и смс, для блок-схем, бизнес-процессов? Киньте ссыль. Можно простенький

Andrey ?
14.08.2017
06:22:11
М, draw.io?

Ilgiz
14.08.2017
06:24:57
Я на руби парсил
я вот так делаю var text = new Buffer(body, 'binary'); var conv = new iconv.Iconv('windows-1251', 'utf-8'); var html = conv.convert(text).toString();

Andrey ?
14.08.2017
06:36:26
А binary точно там нужен?

Дмитрий
14.08.2017
06:40:01
Стандартный диалог на пикабу

Ilgiz
14.08.2017
06:40:09
не правильный

Дмитрий
14.08.2017
06:40:23
— ээээээ э ээ!

Ilgiz
14.08.2017
06:40:48
на сайте другой диалог

Eliajah
14.08.2017
07:11:49
Привет. Есть сервер REST API и фронтенд на реакте, как мне это всё склеить, чтобы можно было задеплоить на хероку или do, например?

Google
Andrey ?
14.08.2017
07:13:53
В случае с хероку

Если на do - настроить nginx

? Snyp
14.08.2017
07:14:07
Народ, есть у кого канал по вакансиям it-специальностей? Если есть - скиньте пожалуйста.

Eliajah
14.08.2017
07:14:30
Если на do - настроить nginx
Что лучше, do или хероку?

Andrey ?
14.08.2017
07:14:55
Что лучше, красное или колючее?

На хероку не надо ручками админить, на do надо

Но на хероку и ограничений полно из-за этого

Хотя, можно на do поставить dokku и, считай, у тебя свой личный хероку

Eliajah
14.08.2017
07:17:10
Сложно nginx настраивается для такого случая? Никогда дела не имел с ним

Andrey ?
14.08.2017
07:17:50
Как я могу ответить на этот вопрос? Мне - не сложно ?

Eliajah
14.08.2017
07:19:03
А есть какие-то примеры или что-то типо того ?

Andrey ?
14.08.2017
07:19:17
Уверен, в гугле их полно

Eliajah
14.08.2017
07:20:41
Мне нужно его установить на ту машину, которую дадут на do, например и настроить?



Dmitry ?
14.08.2017
07:25:44
На самом DO бывают инструкции, уверен есть для nginx

Gleb
14.08.2017
08:02:23
Причесал таки свой шаблончик и вывалил на GitHub. Если не сложно, скажите, что думаете, что/где забыл добавить, какие печеньки? https://github.com/TeslaCtroitel/koa-node8-boilerplate

Eugene
14.08.2017
08:03:06
Выглядит вкусненько!

Таймураз
14.08.2017
08:30:13
я бы добавил хак, чтобы src в NODE_PATH добавить

Konstantin
14.08.2017
08:30:39
Например, дев-докерфайл у меня типа вот такого. У меня нет на сервере транспилинга, т.ч. без него. Конечно, он не без изъянов (например, не удаляется кеш npm). FROM node:8-alpine # Setting environment variables ENV HOME=/home/node NODE_ENV=development # First, installing dependencies into temporary directory COPY ./src/package*.json $HOME/tmp/ RUN cd $HOME/tmp && npm install # Then copy packages to the app's directory RUN mkdir -p $HOME/app \ && cp -a $HOME/tmp/* $HOME/app/ \ && chown -R node:node $HOME/app # Work on behalf of `node` user USER node # Exposing default port for the app, as well as the one for debugger EXPOSE 8080 9229 WORKDIR $HOME/app CMD ["npm", "start"]

Google
Konstantin
14.08.2017
08:31:37
Директория с кодом подрубается как волюм для того, чтобы можно было его менять.

Gleb
14.08.2017
08:42:23
Я бы тоже его с удовольствием переработал, только вот npm@5 сломал npm prune ? Так что там не только ж слои лишние, там зависимости переустанавливаются) Но в общем да, пойду подчищу и добавлю dev version.

Sergey
14.08.2017
09:48:44
кроме чатов и todo какой еще проект можно сделать, чтобы изучить реакт, используя express ?

Ignat
14.08.2017
09:49:03
хм, да любой

по своим нуждам и интересам выбери

сделай какой-нибудь тест по английскому с добавлением слов и etc. — у меня товарищ такой первый проект для себя сделал

Ivan
14.08.2017
09:54:16
Коллега запилил статью на хабре про акторы в NodeJS

Написал статью про Comedy: https://habrahabr.ru/post/334986/

Gleb
14.08.2017
10:50:54
Написал статью про Comedy: https://habrahabr.ru/post/334986/
Это конечно прикольно, один вопрос - нафига? Берёте обычный cluster и форкаете детей сколько угодно. Идея "самобалансировки" и "самомасштабирования" - немного сомнительна, в 2k17 с MQ и Docker/Kubernetes.

Charles
14.08.2017
11:06:38
ребят, кто-нибудь Атом юзает? У меня проблемка - обновился плагин autocomplete+, теперь статус-бар выдает "rebuilding paths cache" и это продолжается с 11 часов утра. Раз в какое-то время говорит "editor not responsing" и там его можно либо заглушить либо подождать. После глушения и запуска та же хрень. Как это безобразие пофиксить?

Charles
14.08.2017
11:12:25
вот такая вот у меня шняга, скрин креплю

все, atom —clear-window-state помогло

Gleb
14.08.2017
11:57:59
Об этом я написал в комментариях: https://habrahabr.ru/post/334986/#comment_10359678
Хотя да, в SocketIO это может иногда пригодится, но опять же, я уверен, что даже на вашем кейсе это можно заменить толстой шиной на Kafka и пачках воркеров. А ваша либа нормально сможет отмасштабироваться на 20 серверов? 40?

Виктор
14.08.2017
12:07:32
Хотя да, в SocketIO это может иногда пригодится, но опять же, я уверен, что даже на вашем кейсе это можно заменить толстой шиной на Kafka и пачках воркеров. А ваша либа нормально сможет отмасштабироваться на 20 серверов? 40?
Шина на Kafka с воркерами - это другой подход, тоже рабочий но менее привлекательный для нас. Он не позволяет к нашей существующей ООП-структуре добавить масштабирование так же просто. Насчёт масштабирования на 20-40 серверов - не вижу препятствий.

Max
14.08.2017
12:23:57
Народ, объясните пожалуйста почему все топят за горизонтальное маштабирование и микросервисы? Как по мне до определенной степени нагрузки поставить более мощный сервер будет дешевле (вертикальное маштабирование), и я не понимаю как можно маштабировать ту же базу данных и транзакции где операция проверки и принятия решения должна выполнятся анатомически исключая любое параллельное считывание и запись в базу. А если нельзя отмаштабировать базу данных то какой смысл в n серверах если им всем нужно будет работать с одной базой данных и будут выстраиваться в очередь и ждать

Google
Konstantin
14.08.2017
12:34:02
Ну и да, у апгрейда оборудования есть физический предел.

Vsevolod
14.08.2017
12:48:32
К тому же иногда дешевле 2 сервера маломощных, чем 1 более мощный :)

Konstantin
14.08.2017
12:52:56
(В)опрос: Есть функция, которая проверяет строку на наличие «плохих» символов с помощью RegExp. Как бы вы написали: 1) объявил бы константу вне функции и использовал бы её: const RE_BAD_SYMBOLS = /[#%$]/; 2) использовал бы регексп-литерал инлайн: if (/[#%$]/i.test(str)

Charles
14.08.2017
12:59:01
люди, вопрос в плане дизайна немного. смотрите, есть вот такая вот простецкая функция loop = setInterval(() => { let date = new Date(); if (date.getHours() == 0 && date.getMinutes() == 0 && date.getSeconds() == 1) { tick(); } }, 1000); не очень выглядит конечно, но делает то что надо, тикает раз в день в 00.00.01. Вопрос следующий - как вам кажется, так оставить или все таки заюзать крон и подрубить либу которая на него смотрит и запускает tick() вместо setInterval?

Charles
14.08.2017
13:02:07
хорошо, а в чем преимущество/недостатки и того и другого?

Charles
14.08.2017
13:02:37
как минимум я б переделал на оценку времени до старта и установку таймаута на это время
ну так оценку времени до старта один хрен ведь в цикле придется делать

Evgeny
14.08.2017
13:02:56
не то чтобы очень понял

Charles
14.08.2017
13:04:29
ээ.... ну придется в цикле проверять на то что время == 00.00.01 и стартовать интервал именно в этот момент, если я правильно вас понял. это два цикла вместо одного) или я не так понял?

ща

Evgeny
14.08.2017
13:05:09
settimmeout на оставшееся до 00-00-01 время

Charles
14.08.2017
13:05:38
checkLoop = setInterval(() => { let date = new Date(); if (date.getHours() == 0 && date.getMinutes() == 0 && date.getSeconds() == 1) { loop = setInterval(() => { tick(); }, 1000); clearInterval(checkLoop); } }, 1000);

ну или таймаут как вы говорите, да

ну а все таки более обзорно (реализации на вкус и цвет) - вы могли бы сказать какие плюсы-минусы первого и второго подхода? может просто реализовывали уже подобное, знаете подводные камни. я прост в первый раз такое делаю)

знаю что у системного времени всегда может быть задница с рассинхроном - но это в общем-то в данном конкретном случае в обоих вариантах возможно (если только не провязываться с NTP)

Alex
14.08.2017
13:24:07
эм, там еще и не сработать может в теории

если например было 00:00:00.999, а потом там что-то заело и оно сработало через 1002 миллисекунды или fs.readFileSync('10TbOfLogs.txt')

https://www.npmjs.com/search?q=cron

Charles
14.08.2017
13:39:58
Ну, таких операций по идее не предполагается) задержка в несколько минут и даже час тоже в принципе не критична

Google
Evgeny
14.08.2017
13:47:36
Вопрос не в этом, а в том приведенное выше решение не сработает

Eliajah
14.08.2017
13:52:18
Как можно отследить каждый запрос к api?

Что бы записать логи, например

Vsevolod
14.08.2017
13:52:55
что для апи используется?

Evgeny
14.08.2017
13:52:56
nginx

Vsevolod
14.08.2017
13:53:07
и на каком уровне логи надо

Eliajah
14.08.2017
13:53:13
и на каком уровне логи надо
Это как понять? Пользователь зашёл, вышел, оставил сообщение, добавил в друзбя...

Vsevolod
14.08.2017
13:54:05
Это как понять? Пользователь зашёл, вышел, оставил сообщение, добавил в друзбя...
всмысле тебе нужна информация о запросах только или какя-то доп информация типа userId и тп

если ниче не надо, то можешь в логи нгинкса

если надо доп инфа

то можешь посмотреть на morgan

доп инфа из самого приложения

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