Vlad
Dan
у тебя аватарка новая? ты какой-то побритый там ))))
Denis
Andrey
Denis
Breaking changes between v5 and v6 https://github.com/nodejs/node/wiki/Breaking-changes-between-v5-and-v6
Vlad
Denis
https://www.redfin.com/blog/2016/04/es6-in-node-v6.html
Vlad
yep
Vlad
нет смысла оптимизировать сборку на тревисе подбирая релевантные версии ноды бэйбел пресеты
Vlad
и это хорошо
Kons
… это сравнение?
Michael
всё в рамках погрешностей
Denis
Что показывает
Babel переехал внутрь ноды :)
Kanat
const assert = require('assert'); assert.ok(true); // OK assert.ok(1); // OK assert.ok(false); // throws "AssertionError: false == true" assert.ok(0); // throws "AssertionError: 0 == true" assert.ok(false, 'it\'s false'); // throws "AssertionError: it's false"
Vlad
/fix import assert from 'assert';
Kons
нативной поддержки модулей в формате ES2015 пока нет )
Vlad
ты прав
Vlad
как найти ирк чатик ноды?
ViruSkin
а мб тут есть irc://freenode.org/#node.js
ViruSkin
ой irc://irc.freenode.net/#node.js
Vlad
babel-eslint ищат мейнтейнеров https://github.com/babel/babel-eslint/issues/88
Рубикон
Утро
Anonymous
Охаё
Andrey
оригато
Kons
Нода обновилась в homebrew. Можно ставить. Мой проект запустился нормально за исключением того, что heapdump пришлось отрубить.
Vlad
в n было доступно всё ещё вчера
Kons
Естественно )
Kanat
А как этот метод использовать то? new_chat_memberUserOptional. A new member was added to the group, information about them (this member may be the bot itself)
Kanat
Чтобы вышло так Новый еблан Ебланович зашел в чат или так пришел новый еблан
Dima
Kanat
/** * METHOD: sendPhoto * PARAMS: * chat_id Unique identifier for the message recepient — User or GroupChat id * photo Photo to send. You can either pass a file_id as String to resend * a photo that is already on the Telegram servers, or upload * a new photo using multipart/form-data. * caption Photo caption (may also be used when resending photos by file_id) * reply_to_message_id If the message is a reply, ID of the original message * reply_markup Additional interface options. A JSON-serialized object for a custom * reply keyboard, instructions to hide keyboard or to force a reply from the user. */ this.sendPhoto = function (params, cb) { return new Promise(function(resolve, reject) { // Act different depending on value params.photo fs.exists(params.photo, function (exists) { var photo = null; if (exists) { // params.photo is path to file photo = fs.createReadStream(params.photo); } else { // params.photo is not a file, simply pass it to POST photo = params.photo; } var args = { chat_id: params.chat_id, photo: photo }; if (params.caption !== undefined) { args.caption = params.caption; } if (params.reply_to_message_id !== undefined) { args.reply_to_message_id = params.reply_to_message_id; } if (params.reply_markup !== undefined) { args.reply_markup = params.reply_markup; } _rest({ method: 'POST', json: true, formData: args, uri: _baseurl + 'sendPhoto' }) .then(function(body) { return commonResponseHandler(body); }) .then(function(data) { resolve(data); }) .catch(function(err) { reject(err); }); }); }).nodeify(cb); };
Kanat
Это для sendphoto
Denis
Это что делает?
Kanat
отправляет фото
Kanat
Vlad
Имейте совесть постить полный код в чат
Denis
))
Michael
/** * METHOD: sendPhoto * PARAMS: * chat_id Unique identifier for the message recepient — User or GroupChat id * photo Photo to send. You can either pass a file_id as String to resend * a photo that is already on the Telegram servers, or upload * a new photo using multipart/form-data. * caption Photo caption (may also be used when resending photos by file_id) * reply_to_message_id If the message is a reply, ID of the original message * reply_markup Additional interface options. A JSON-serialized object for a custom * reply keyboard, instructions to hide keyboard or to force a reply from the user. */ this.sendPhoto = function (params, cb) { return new Promise(function(resolve, reject) { // Act different depending on value params.photo fs.exists(params.photo, function (exists) { var photo = null; if (exists) { // params.photo is path to file photo = fs.createReadStream(params.photo); } else { // params.photo is not a file, simply pass it to POST photo = params.photo; } var args = { chat_id: params.chat_id, photo: photo }; if (params.caption !== undefined) { args.caption = params.caption; } if (params.reply_to_message_id !== undefined) { args.reply_to_message_id = params.reply_to_message_id; } if (params.reply_markup !== undefined) { args.reply_markup = params.reply_markup; } _rest({ method: 'POST', json: true, formData: args, uri: _baseurl + 'sendPhoto' }) .then(function(body) { return commonResponseHandler(body); }) .then(function(data) { resolve(data); }) .catch(function(err) { reject(err); }); }); }).nodeify(cb); };
Дёргать фс на каждой отправке фото не очень разумно
Michael
Не дёргать фс, если не надо читать файл. Явно передавать файл/буффер.
Denis
и контрпропозал https://twitter.com/littlecalculist/status/725228101400072193
Denis
Denis
MoscowJS будет здесь
Denis
Node 5 работала
Denis
Так и эта тоже
Kanat
Искусственный интеллект. Алгоритмы которые играют в игры. Лекторы: Степулёнок Денис, Кольцов Максим #data_analysis #novice Ссылка на пост https://vk.com/wall-54530371_67930
Anonymous
Друзья, добрый день, не холивара ради, поясните за ноду пожалуйста, какие преимущества даёт нода при разработке крупных проектов, скажите пожалуйста. Интересуют только плюсы
Denis
C++? :)
Anonymous
ANSI C
Kons
Что такое «крупный проект»? )
Anonymous
Denis
Главный плюс - портабельность кода и переносимость членов команды, когда команда работает в одном языке и экосистеме. Главный минус - memory leak и однопоточность. :)
Denis
~10K запросов в секунду? Будет hell
Andrey
однопоточной это о другом )
Denis
Да
Denis
Node.js - это про Front-end сервер, для рендеринга, авторизации, вот этого верхнего слоя.
Anonymous
мне предлагали писать на ноде хайлоад просто, я отказался ( ну так как на ней не пишу)
Andrey
мне предлагали писать на ноде хайлоад просто, я отказался ( ну так как на ней не пишу)
А на чем пишешь? если не пишешь на js, то нода не нужна тебе )
Denis
Правда это будет как слоны в посудной лавке :)
Kons
Названные минусы являются минусами разработчиков, имхо
Anonymous
я просто думал, что есть какие то скажем преимущества именно в этом типе проектов
Denis
От типа проекта зависит
Anonymous
я сейчас скаллу с ее аккой ковыряю, хотелось бы посмотреть что ц других платформ
Denis
Это может быть и плюсом и минусом
Kons
Нода хороша для отдачи из базы с минимумом бизнес-логики
Антон
Нода прекрасна на все 100.0000000001%
Denis
https://www.youtube.com/watch?v=PbK5xLmS0MU
Kons
При правильном подходе легко масштабируется горизонтально: при увеличении нагрузки можно запустить дополнительные процессы и балансить между ними
Denis
Горизонтальное масштабирование да
Denis
Просто за счёт того, что ты в здравом уме там монолит не будешь делать :)
Denis
1. ACL (аутентификация, авторизация) 2. Получение данных 3. Агрегация и простая обработка 4. Server-side Rendering (видео доклада выше) 5. Быстро сервис набросать
Kons
👍🏼
Denis
Когда растёт нагрузка, то уже лучше смотреть на что-нибудь в стиле Golang
Denis
Ходят слухи, что они впилили многопоточный GC, у них отсутствует memory leak и производительность C++
Anonymous
Скажите лучше где прочитать про горизонтальную масштабируемость на ноже пожалуйста
Vlad
50kreq/minute = 833rps = 71.9Mreq/day
Vlad
что вы там пишете для 72 хитов в день?