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
Kons
… это сравнение?
Michael
всё в рамках погрешностей
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
))
Kanat
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);
};
Дёргать фс на каждой отправке фото не очень разумно
Kanat
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 и однопоточность. :)
Anonymous
Denis
~10K запросов в секунду? Будет hell
Andrey
однопоточной это о другом )
Denis
Да
Denis
Node.js - это про Front-end сервер, для рендеринга, авторизации, вот этого верхнего слоя.
Anonymous
мне предлагали писать на ноде хайлоад просто, я отказался ( ну так как на ней не пишу)
Andrey
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 хитов в день?