@nodejs_ru

Страница 699 из 2748
Ches
07.04.2017
20:41:17
всем привет, можете подсказать как быстрее прокачаться в ноде? работаю в конторке, пишем проект на реакте, хотелось бы бек подучить) знаю основы, посмотрел некоторые курсы, нужна практика) возможно есть лучше варианты чем просто взять какой нибудь маленький проект и постараться его сделать одному

т.к будет много вопросов, все затянется и тд

Vadim
07.04.2017
20:44:51
а по-другому что-то выучить сложно на все вопросы может ответить книги/stackoverflow/курсы/гугление, чтение исходников

находишь парочку норм проектов открытых и начинаешь писать свой, посматривая на норм варианты

Google
Ches
07.04.2017
20:58:01
уверен что можно учиться эффективнее)

у кого нибудь)

Vadim
07.04.2017
21:03:51
найми ментора

Mikhail
08.04.2017
06:29:47
уверен что можно учиться эффективнее)
Нет. Чужие исходники, мануалы, гугление и грабли - самый эффективный способ

Ilnur
08.04.2017
08:16:12
Опыт получать, да, только исходники, мануалы и грабли. Но если бы было место где можно получить базовые формализованные знания было бы еще круче.

Таймураз
08.04.2017
09:07:44
Ilnur
08.04.2017
09:13:06
Тебе не столько нода нужна, сколько понимание базовых вещей Нода- инструмент ко всему этому
Это если прям пипец далеко уходить. Мало же кто-то задумывается о теории алгоритмов, о крипто-алгоритмах, или что такое процесс бинаризации и так далее. Под формализацией я как раз подразумеваю о 1/3 третий из теории алгоритмов(ну еще и "что там для супа надо"), паттерны, шаблоны и формализованная тематика общего поведения.

Ilnur
08.04.2017
09:20:02
Тут ничего особого нет
Ну попробуй реализовать на досуге "Алгоритм вычисления спариваний Вейля и Тейта", которые являются базовыми для нашей реальности, поседеешь)

Таймураз
08.04.2017
09:21:08
Google
Ilnur
08.04.2017
09:22:19
А это ты каждый день не явно используешь

Таймураз
08.04.2017
09:22:52
А это ты каждый день не явно используешь
К счастью, не нужно об этом задумываться

Ilnur
08.04.2017
09:23:06
Ну вот и я про это же

Таймураз
08.04.2017
09:24:16
Ну вот и я про это же
Я вот думаю, а к чему ты заговорил по алгоритмы Ты про базовые вещи понял, о чем я?

Ну вот и я про это же
Базовые формализованные- документация Если ты так хорош в базисе, то освоить стримы, сокеты, и прочее из стандартных модулей ноды тебе будет раз плюнуть

Ilnur
08.04.2017
09:34:09
Я вот думаю, а к чему ты заговорил по алгоритмы Ты про базовые вещи понял, о чем я?
Я про общеповеденческие шаблоны, которых так не хватает динамично развивающемуся сообществу, при условии наличия некой базы. И не вижу смысла для работы куда-то далеко вглубь заглядывать, ибо нафиг не нужно. Как у юристов, им сказали что шаг влево или шаг вправо расстрел, вот они и ходят прямо до поры до времени.

Таймураз
08.04.2017
09:35:45
Некоторые специфичные вещи до сих пор реализуются всеми по-своему, тут несколько человек думали над общим решением

Например, логика работы http и сокет запросов чтобы контроллерами одинаково обрабатывалась

Ilnur
08.04.2017
09:41:25
Еще поверх линтер настроить, чтобы по пальцам бил. В последнем не вижу проблем если прописать декораторы.

Mikhail
08.04.2017
13:38:23
всем привет. сделал свой фреймворк для создания ботов ВК на основе лонгпула. буду благодарен конструктивной критике. ? спасибо. http://github.com/bifot/node-vk-bot-api/

Ivan
08.04.2017
13:53:54
Откуда вы лезете?

Zaur
08.04.2017
14:01:17
Идея для нового бота: сделать так чтобы бот под каждым первым сообщением только что прибывших людей показывал кнопки +/-. Если минусов набирается определенное коливество - сразу бан, и не придется ждать админов группы :)

Zaur
08.04.2017
14:11:29
А как же voteban?
да, уже есть такой? )) ну и хорошо

Mikhail
08.04.2017
14:12:37
Google
Mikhail
08.04.2017
14:12:55
Таймураз
08.04.2017
14:29:43
Ребят, как запретить запросы с другого домена на мой?

В Access-Control-Allow-Origin прописал свой домен- ничего не дало

Paul
08.04.2017
14:32:43
/stat@combot

Combot
08.04.2017
14:32:43
combot.org/chat/-1001041204341

Pavel
08.04.2017
15:13:15
В Access-Control-Allow-Origin прописал свой домен- ничего не дало
Это дает запрет только для браузеров. Любым другим приложениям все равно на эти хедеры.

Pavel
08.04.2017
15:25:05
если тебе для браузеров, то проверь есть ли заголовок Access-Control-Allow-Credentials

он должен быть равен "true"

хотя по идее - CORS вообще не должны работать по умолчанию

=_=
08.04.2017
18:21:39
Привет, кто-нибудь работал с миграциями в sequlize? Использовал umzug?

Я вот читаю про это и не могу понять одного. Миграции должны выполняться последовательно, одна применятся к предыдущей и так далее. Каждая миграция хранится в отдельном файле. Если я хочу зачекаутить какой-то старый коммит и привести базу данных к схеме, которая соответствует этому коммиту, я ведь не смогу последовательно откатить все миграции до состояния этого коммита. Потому что файлов миграций, которые были добавлены после этого коммита не будет существовать после чекаута.

=_=
08.04.2017
18:28:44
можно конечно сначала сделать реверт всех миграций до того коммита, а потом сделать чекаут в VCS

но это неудобно потому что надо смотреть до какой конкретной миграции надо откатываться

Vint
08.04.2017
19:44:17
но это неудобно потому что надо смотреть до какой конкретной миграции надо откатываться
Ну и? Всё так, геморрой. Но можно для дева делать sequelize.sync (смотри доку). Он накатит тебе БД из моделей текущего коммита. seed'ов только не будет, понятное дело.

=_=
08.04.2017
19:45:09
понятно

Ches
08.04.2017
19:47:36
может кто объяснить как запустить node приложение на хероку? вопрос по Procfile и npm командам

Danil
08.04.2017
19:48:11
какое приложение?

Ches
08.04.2017
19:48:53
react c нодой

что то не собирается там

Google
Ches
08.04.2017
19:49:06
наверное с этими командами намудрил

Admin
ERROR: S client not available

Danil
08.04.2017
19:50:27
ошибка какая?

выхлоп кинь

Ches
08.04.2017
19:50:56
у меня залита папка с проектом реакта, и в ней папка с сервером ноды. как я понимаю хероку запускает package.json корневой сразу

в Procfile команда web: sh -c 'cd ./server/ && exec npm i && exec node app.js'

нагуглил ее)

Danil
08.04.2017
19:52:29
а, у тебя сервер в отдельной папке

Ches
08.04.2017
19:52:52
проект вроде собирается, но ничего не отображается потом в браузере, как я понимаю из за того что серверные npm модули не установлены

Danil
08.04.2017
19:53:18
в любом случае нужен выхлоп из git push heroku master

Ches
08.04.2017
19:54:04
$ git push heroku master Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 348 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: Compressing source files... done. remote: Building source: remote: remote: —---> Node.js app detected remote: remote: —---> Creating runtime environment remote: remote: NPM_CONFIG_LOGLEVEL=error remote: NPM_CONFIG_PRODUCTION=false remote: NODE_VERBOSE=false remote: NODE_ENV=production remote: NODE_MODULES_CACHE=true remote: remote: —---> Installing binaries remote: engines.node (package.json): unspecified remote: engines.npm (package.json): unspecified (use default) remote: remote: Resolving node version 6.x via semver.io... remote: Downloading and installing node 6.10.2... remote: Using default npm version: 3.10.10 remote: remote: —---> Restoring cache remote: Loading 2 from cacheDirectories (default): remote: - node_modules remote: - bower_components (not cached - skipping) remote: remote: —---> Building dependencies remote: Installing node modules (package.json) remote: Running heroku-postbuild remote: remote: > my-react-starter-pack@0.1.0 heroku-postbuild /tmp/build_2cbe27a 1c7ec69f6e511c9062f40f1ea remote: > npm run build && sh -c 'cd ./server/ && exec npm i && exec node app.js' remote: remote: remote: > my-react-starter-pack@0.1.0 build /tmp/build_2cbe27a1c7ec69f6e5 11c9062f40f1ea remote: > node scripts/build.js remote: remote: Creating an optimized production build... remote: Compiled successfully. remote: remote: File sizes after gzip: remote: remote: 171.72 KB build/static/js/main.f421d2fe.js remote: 229 B build/static/css/main.59a7a2f2.css remote: remote: The project was built assuming it is hosted at the server root. remote: To override this, specify the homepage in your package.json. remote: For example, add this to build it for GitHub Pages: remote: remote: "homepage": "http://myname.github.io/myapp", remote: remote: The build folder is ready to be deployed. remote: You may also serve it locally with a static server: remote: remote: npm install -g pushstate-server remote: pushstate-server build remote: open http://localhost:9000 remote: remote: chat-node@1.0.0 /tmp/build_2cbe27a1c7ec69f6e511c9062f40f1ea/serve r remote: ├─┬ cors@2.8.3 remote: │ ├── object-assign@4.1.1 remote: │ └── vary@1.1.1 remote: ├─┬ express@4.15.2 remote: │ ├─┬ accepts@1.3.3 remote: │ │ ├─┬ mime-types@2.1.15 remote: │ │ │ └── mime-db@1.27.0 remote: │ │ └── negotiator@0.6.1 remote: │ ├── array-flatten@1.1.1 remote: │ ├── content-disposition@0.5.2 remote: │ ├── content-type@1.0.2 remote: │ ├── cookie@0.3.1 remote: │ ├── cookie-signature@1.0.6 remote: │ ├─┬ debug@2.6.1 remote: │ │ └── ms@0.7.2 remote: │ ├── depd@1.1.0 remote: │ ├── encodeurl@1.0.1 remote: │ ├── escape-html@1.0.3 remote: │ ├── etag@1.8.0 remote: │ ├─┬ finalhandler@1.0.1 remote: │ │ ├── debug@2.6.3

remote: │ │ └── unpipe@1.0.0 remote: │ ├── fresh@0.5.0 remote: │ ├── merge-descriptors@1.0.1 remote: │ ├── methods@1.1.2 remote: │ ├─┬ on-finished@2.3.0 remote: │ │ └── ee-first@1.1.1 remote: │ ├── parseurl@1.3.1 remote: │ ├── path-to-regexp@0.1.7 remote: │ ├─┬ proxy-addr@1.1.4 remote: │ │ ├── forwarded@0.1.0 remote: │ │ └── ipaddr.js@1.3.0 remote: │ ├── qs@6.4.0 remote: │ ├── range-parser@1.2.0 remote: │ ├─┬ send@0.15.1 remote: │ │ ├── destroy@1.0.4 remote: │ │ ├─┬ http-errors@1.6.1 remote: │ │ │ └── inherits@2.0.3 remote: │ │ └── mime@1.3.4 remote: │ ├── serve-static@1.12.1 remote: │ ├── setprototypeof@1.0.3 remote: │ ├── statuses@1.3.1 remote: │ ├─┬ type-is@1.6.15 remote: │ │ └── media-typer@0.3.0 remote: │ └── utils-merge@1.0.0 remote: ├─┬ socket.io@1.7.3 remote: │ ├── debug@2.3.3 remote: │ ├─┬ engine.io@1.8.3 remote: │ │ ├── base64id@1.0.0 remote: │ │ ├── debug@2.3.3 remote: │ │ ├─┬ engine.io-parser@1.3.2 remote: │ │ │ ├── after@0.8.2 remote: │ │ │ ├── arraybuffer.slice@0.0.6 remote: │ │ │ ├── base64-arraybuffer@0.1.5 remote: │ │ │ ├── blob@0.0.4 remote: │ │ │ └── wtf-8@1.0.0 remote: │ │ └─┬ ws@1.1.2 remote: │ │ ├── options@0.0.6 remote: │ │ └── ultron@1.0.2 remote: │ ├─┬ has-binary@0.1.7 remote: │ │ └── isarray@0.0.1 remote: │ ├── object-assign@4.1.0 remote: │ ├─┬ socket.io-adapter@0.5.0 remote: │ │ └── debug@2.3.3 remote: │ ├─┬ socket.io-client@1.7.3 remote: │ │ ├── backo2@1.0.2 remote: │ │ ├── component-bind@1.0.0 remote: │ │ ├── component-emitter@1.2.1 remote: │ │ ├── debug@2.3.3 remote: │ │ ├─┬ engine.io-client@1.8.3 remote: │ │ │ ├── component-emitter@1.2.1 remote: │ │ │ ├── component-inherit@0.0.3 remote: │ │ │ ├── debug@2.3.3 remote: │ │ │ ├── has-cors@1.1.0 remote: │ │ │ ├── parsejson@0.0.3 remote: │ │ │ ├── parseqs@0.0.5 remote: │ │ │ ├── xmlhttprequest-ssl@1.5.3 remote: │ │ │ └── yeast@0.1.2 remote: │ │ ├── indexof@0.0.1 remote: │ │ ├── object-component@0.0.3 remote: │ │ ├─┬ parseuri@0.0.5 remote: │ │ │ └─┬ better-assert@1.0.2 remote: │ │ │ └── callsite@1.0.0 remote: │ │ └── to-array@0.1.4 remote: │ └─┬ socket.io-parser@2.3.1 remote: │ ├── component-emitter@1.1.2 remote: │ ├─┬ debug@2.2.0 remote: │ │ └── ms@0.7.1 remote: │ └── json3@3.3.2 remote: └── underscore@1.8.3 remote: remote: remote: —---> Caching build remote: Clearing previous node cache remote: Saving 2 cacheDirectories (default): remote: - node_modules remote: - bower_components (nothing to cache) remote: remote: —---> Build succeeded! remote: —---> Discovering process types remote: Procfile declares types -> web remote: remote: —---> Compressing... remote: Done: 35.5M remote: —---> Launching... remote: Released v7 remote: https://mypollingsocketapp.herokuapp.com/ deployed to Heroku remote: remote: Verifying deploy.... done. To https://git.heroku.com/mypollingsocketapp.git 6d82691..ddcbebe master -> master

Danil
08.04.2017
19:56:26
а в экспрессе ты статику отдаешь?

Ches
08.04.2017
19:57:22
ага

Danil
08.04.2017
19:58:48
не вижу причин, почему он может не работать :)

Кирилл
08.04.2017
20:00:36
remote: │ │ └── unpipe@1.0.0 remote: │ ├── fresh@0.5.0 remote: │ ├── merge-descriptors@1.0.1 remote: │ ├── methods@1.1.2 remote: │ ├─┬ on-finished@2.3.0 remote: │ │ └── ee-first@1.1.1 remote: │ ├── parseurl@1.3.1 remote: │ ├── path-to-regexp@0.1.7 remote: │ ├─┬ proxy-addr@1.1.4 remote: │ │ ├── forwarded@0.1.0 remote: │ │ └── ipaddr.js@1.3.0 remote: │ ├── qs@6.4.0 remote: │ ├── range-parser@1.2.0 remote: │ ├─┬ send@0.15.1 remote: │ │ ├── destroy@1.0.4 remote: │ │ ├─┬ http-errors@1.6.1 remote: │ │ │ └── inherits@2.0.3 remote: │ │ └── mime@1.3.4 remote: │ ├── serve-static@1.12.1 remote: │ ├── setprototypeof@1.0.3 remote: │ ├── statuses@1.3.1 remote: │ ├─┬ type-is@1.6.15 remote: │ │ └── media-typer@0.3.0 remote: │ └── utils-merge@1.0.0 remote: ├─┬ socket.io@1.7.3 remote: │ ├── debug@2.3.3 remote: │ ├─┬ engine.io@1.8.3 remote: │ │ ├── base64id@1.0.0 remote: │ │ ├── debug@2.3.3 remote: │ │ ├─┬ engine.io-parser@1.3.2 remote: │ │ │ ├── after@0.8.2 remote: │ │ │ ├── arraybuffer.slice@0.0.6 remote: │ │ │ ├── base64-arraybuffer@0.1.5 remote: │ │ │ ├── blob@0.0.4 remote: │ │ │ └── wtf-8@1.0.0 remote: │ │ └─┬ ws@1.1.2 remote: │ │ ├── options@0.0.6 remote: │ │ └── ultron@1.0.2 remote: │ ├─┬ has-binary@0.1.7 remote: │ │ └── isarray@0.0.1 remote: │ ├── object-assign@4.1.0 remote: │ ├─┬ socket.io-adapter@0.5.0 remote: │ │ └── debug@2.3.3 remote: │ ├─┬ socket.io-client@1.7.3 remote: │ │ ├── backo2@1.0.2 remote: │ │ ├── component-bind@1.0.0 remote: │ │ ├── component-emitter@1.2.1 remote: │ │ ├── debug@2.3.3 remote: │ │ ├─┬ engine.io-client@1.8.3 remote: │ │ │ ├── component-emitter@1.2.1 remote: │ │ │ ├── component-inherit@0.0.3 remote: │ │ │ ├── debug@2.3.3 remote: │ │ │ ├── has-cors@1.1.0 remote: │ │ │ ├── parsejson@0.0.3 remote: │ │ │ ├── parseqs@0.0.5 remote: │ │ │ ├── xmlhttprequest-ssl@1.5.3 remote: │ │ │ └── yeast@0.1.2 remote: │ │ ├── indexof@0.0.1 remote: │ │ ├── object-component@0.0.3 remote: │ │ ├─┬ parseuri@0.0.5 remote: │ │ │ └─┬ better-assert@1.0.2 remote: │ │ │ └── callsite@1.0.0 remote: │ │ └── to-array@0.1.4 remote: │ └─┬ socket.io-parser@2.3.1 remote: │ ├── component-emitter@1.1.2 remote: │ ├─┬ debug@2.2.0 remote: │ │ └── ms@0.7.1 remote: │ └── json3@3.3.2 remote: └── underscore@1.8.3 remote: remote: remote: —---> Caching build remote: Clearing previous node cache remote: Saving 2 cacheDirectories (default): remote: - node_modules remote: - bower_components (nothing to cache) remote: remote: —---> Build succeeded! remote: —---> Discovering process types remote: Procfile declares types -> web remote: remote: —---> Compressing... remote: Done: 35.5M remote: —---> Launching... remote: Released v7 remote: https://mypollingsocketapp.herokuapp.com/ deployed to Heroku remote: remote: Verifying deploy.... done. To https://git.heroku.com/mypollingsocketapp.git 6d82691..ddcbebe master -> master
Блять, сотри это и залей на gist.github.com

Danil
08.04.2017
20:00:40
посмотри билдпак под реакт

как вариант можешь попробовать web: npm i ./server/ && node ./server/app.js

Zaur
09.04.2017
09:33:38
всем привет, народ посдкажите как лучше сделать: Есть объект у которого есть основные и расширенные параметры. Объекты с расширенными параметрами создаются не часто. думаю создать в mysql отдельную таблицу для расширенных параметров, и создавать там записи только при необходимости, а с записью из основной таблицы связывать через id. Думается мне, что это ускорит доступ к основной таблице. Вообще такая практика используется? Или можно не заморачиваться и все параметры хранить в одной таблице и в полях где нет данных просто оставить NULL ?

arts
09.04.2017
09:35:03
Зависит от того, насколько часто основные используются без расширенных.

Google
Zaur
09.04.2017
09:38:17
Зависит от того, насколько часто основные используются без расширенных.
Cейчас к основным обращение идет в среднем ~30 000 в день. По расширенные информации пока нет, это новый функционал, еще не готовый. Но думаю это будет не больше 30% от основных.

arts
09.04.2017
09:39:16
Тогда лучше вынести в отдельную таблицу, имхо.

Zaur
09.04.2017
09:42:29
а нет наврал, в среднем за день ~7000 обращений

Никита
09.04.2017
10:32:14
У меня такое ощущение, что в маркдаун никто не умеет.

Zaur
09.04.2017
10:55:33
Дмитрий
09.04.2017
10:58:13
Вот сейчас обидно было

Никита
09.04.2017
13:31:51
А что там сложного?
Да вот и я недоумеваю — чего там сложного-то?

Сделал как угодно, накрутил сверху санитайзер, и вуаля.

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