
KlonD90
25.07.2016
12:37:38
@ChALkeR объясните плиз а зачем нужен slow buffer и может ли он мне пригодится в коннекторе до тарантула? О_о

Никита
25.07.2016
12:41:13
То есть если выделения мелкие, то Buffer выделит один большой кусок и будет его нарезать, а SlowBuffer выделит много мелких.
Но и Buffer() и SlowBuffer() уже deprecated.

Google

KlonD90
25.07.2016
12:43:03
т.е. Buffer в принципе быстрее должен быть быстрее за счет своего механизма? А сейчас что тогда? alloc/allocUnsafe?

Никита
25.07.2016
12:43:25
Buffer.alloc() и Buffer.from() не пулятся и так, разница есть только у Buffer.allocUnsafe() (аналог `Buffer(number)`) — для него есть Buffer.allocUnsafeSlow() (аналог `SlowBuffer(number)`).
Про коннектор до тарантула ничего не скажу — не видел, не тыкал.

Andrey
25.07.2016
12:45:00

Никита
25.07.2016
12:45:22
@klond90 Я бы посоветовал использовать Buffer.alloc() и Buffer.from(), пока не упрётся в скорость именно создания буферов.

KlonD90
25.07.2016
12:45:46
ну я сейчас сильно сократил аллокации как мог

Никита
25.07.2016
12:45:47

KlonD90
25.07.2016
12:45:54
дало в 2 раза прирост скорости
но мб можно еще как-то более правильно алоцировать. заметил unsafe ок пашет для меня. хз не уверен что я баферы в принципе упираюсь а не в кодирование/раскодирование msgpack’а


Никита
25.07.2016
12:49:23
@klond90 Так, ещё раз:
Buffer.from() — не пулится, создаёт буфер с фиксированным значением.
Buffer.alloc() — не пулится, создаёт буфер фиксированной длины, забивает его переданным значением (по умолчанию нулями).
Buffer.allocUnsafe() — пулится, создаёт буфер фиксированной длины, память оставляет как была (и в ней содержатся чувствительные данные, так что всегда надо гарантировать его очистку от них ручками, например, скопировать туда что-нибудь на всю длину)
Buffer.allocUnsafeSlow() — не пулится, в остальном как Buffer.allocUnsafe().
Если у в коде мы заранее знаем длину данных и пишем их в буфер так, что оно никогда не сделает return с середины и не кинет ошибку, вернув частично заполненный буфер — тогда можно использовать allocUnsafe.
То есть в том случае, если наш код в любом случае или перезапишет его весь до конца или не вернёт.
(ну или обрежет незаполненный конец, что тоже ок)

Google

Никита
25.07.2016
12:53:06
Иначе — в Buffer.allocUnsafe(number) все ваши исходники, настройки, приватные ключи, и http трафик =)

KlonD90
25.07.2016
12:53:34
ну вообщем я понял примерно в чем разница между тем и другим - спасибо. я сейчас unsafe использую где могу, а там где не могу просто Buffer но если я тебя правильно понял то это тоже пулинг будет только с нулями

Никита
25.07.2016
12:54:21
Buffer(number) аналогичен Buffer.allocUnsafe(number)
Он не заполняет нулями.
SlowBuffer(number) аналогичен Buffer.allocUnsafeSlow(number)
Кстати, в 4.5 и 6.x уже есть новый API. C 0.10 и 0.12 давно пора слезать. 4.5 скоро выйдет.

KlonD90
25.07.2016
12:56:41
Кстати такой еще вопрос. Вот я к примеру отправляю эти данные сразу в socket.write
чтобы лишний раз эти данные постоянно не алоцировать можно ли сразу переиспользовать эти же буферы?

Vitalik
25.07.2016
13:05:36
Что лучше node js или python?

Roman
25.07.2016
13:05:55
пхп

Artur
25.07.2016
13:06:28
Что лучше, кабриолет или мопед?

Vitalik
25.07.2016
13:06:45
мопед
не нравится мне кабриолет

Anton
25.07.2016
13:07:17
Что больше, метр или килограмм?

Andrey
25.07.2016
13:09:12

KlonD90
25.07.2016
13:09:18
шутки шутеечки :( лучше оба попробовать и выбрать что удобнее. ну вообще спрашивать в чатике под названием нодежс я бы сомневался в ответе :о

Vitalik
25.07.2016
13:09:49

kaflan
25.07.2016
13:46:51
я выбераю политра водки

Oleh
25.07.2016
14:00:31
я выбираю пикачу

Google

kaflan
25.07.2016
14:02:02
хитрец

Джон
25.07.2016
14:54:11
Народ, есть тут кто с метеором работает и использует stylus?
Интересует простой способ использования переменных во всех файлах приложения без игр с путями для каждого файла.
Пробовал разместить файл с переменными в папку public и импортировать через @import '/variables.styl', но оттуда файлик не видно.. Есть какие-то варианты?

KlonD90
25.07.2016
14:55:40
а зачем в паблик?
О_о
в клиент размещай

Brs
25.07.2016
14:55:54
а при сборке заимпортить?
а, простити, метеор

Джон
25.07.2016
14:57:42
в клиент размещай
в клиент? и как их импортировать если у меня сами стили на разных уровнях лежат?

KlonD90
25.07.2016
14:57:51
у меня в client/styles лежат стул файлы
стулья целы

Джон
25.07.2016
14:58:38
но я просто в папке imports пишу компоненты и хочу хранить там и стили к ним

Джон
25.07.2016
14:58:51
и импортировать в само приложение по мере надобности

KlonD90
25.07.2016
14:58:59
Типа внешняя styl либа?
Ну так ты в любом случае в шаблоне конкретные стулы подключаешь

Джон
25.07.2016
14:59:15
эмм.. нет
сек

KlonD90
25.07.2016
14:59:45
делаешь app.styl подключаешь его в шаблоне. сами стили хранишь где-нибудь в client/imports
и в app.styl подключаешь компоненты по мере надобности
на всякий случай посоветую удалить метеор

Google

KlonD90
25.07.2016
15:00:53
._.
беги пока не поздно

Джон
25.07.2016
15:01:19
такая структура

KlonD90
25.07.2016
15:01:47
ага ну вон там где у тебя main.js делай main.styl и импортируй

Джон
25.07.2016
15:03:03
всмысле импортировать все стили?

KlonD90
25.07.2016
15:04:04
ну те что тебе нужны

Джон
25.07.2016
15:04:07
я же говорю, что они у меня импортируются по мере надобности. Когда компонент запрашивается при смене роута, импортируется сам тимплейт и все, что с ним связано..

Admin
ERROR: S client not available

KlonD90
25.07.2016
15:04:21
Аа ок.
Понял
Тебе нужно это все в client затащить тогда однозначно
потому что оно компилит в client

Джон
25.07.2016
15:05:17
короче стили лучше грузить сразу все при загрузке приложения?

KlonD90
25.07.2016
15:05:22
а router видимо в both хотя тут на твой вкус
Лучше сразу все конечно

Джон
25.07.2016
15:05:49
понял..
не, роутер у меня flow

KlonD90
25.07.2016
15:05:59
а какой роутер? от реакта или flow-router?

Джон
25.07.2016
15:06:07
он же только клиентский
Вообще я читал, что все приложение должно быть в папке imports

Google

KlonD90
25.07.2016
15:07:12
О_о
все приложение метеора нужно куда-то в /dev/null ложить
вот так получше будет

Джон
25.07.2016
15:09:51
чтоб не мешало
и импортировать в комнату по мере надобности
на гиттере советуют воспользоваться папкой packages

KlonD90
25.07.2016
15:13:23
?
а есть ли разница?

Джон
25.07.2016
15:13:50
ага
ща скажу какая
да, это решение для меня как раз. Создается локальный пакет и добавляется ву проект. А потом во всем приложении можно импортировать файл, обращаясь только через название директории пакета, по типу @import '{пакет}/переменные.стул'
и типа будет работать в любом месте приложения
збс )

Vitalik
25.07.2016
17:17:42
кто как начинал писать на node js??
какие были ваши первые проекты?

Vladimir
25.07.2016
17:22:21

Джон
25.07.2016
17:22:56
мой первый и последний проект

Vitalik
25.07.2016
17:23:22
почему?