
Vladimir
13.09.2016
21:10:28
как и везде

Vladimir
13.09.2016
21:14:23
?
buffer.js:314
throw new TypeError('"list" argument must be an Array of Buffers');
^
TypeError: "list" argument must be an Array of Buffers
Что с этим можно сделать?

Google

Vladimir
13.09.2016
21:39:43
погуглить
и документацию прочитать

Vladimir
13.09.2016
21:46:29
Примерчик такой заделал, но целостность бинарного файла сломалась при получении http://pastebin.com/Z4qNJrs2

Алексей
13.09.2016
21:48:31
Настоящая драма
https://github.com/tc39/proposal-private-fields/issues/14
Ребята из V8 хотят пропихнуть вот ЭТО в стандарт (приватные свойства класса)
class C {
#x;
constructor() {
this.#x = 1;
}
}
отписывайтесь пока у вас есть возможность, ставьте лайки и дислайки пока у вас есть выбор

Vladimir
13.09.2016
21:48:49
да нормально все
но с @ лучше

Алексей
13.09.2016
21:50:37
не дай бог! в Lisp уйду... накой мне это # из Ruby и coffeescript

Vladimir
13.09.2016
21:51:00
да не пользуйся просто
это вообще не нужно в обычном коде

Алексей
13.09.2016
21:52:00
Я то не буду :) но я обычно не 1 в команде, просто накой тогда резервировали слово private?

Vladimir
13.09.2016
21:52:22
на всякий случай
это все таки не тоже самое
private - это для статических типов

Google

Vladimir
13.09.2016
21:53:06
а тут про рантайм

Алексей
13.09.2016
21:53:09
# это такое близарукое решение что просто ужас

Vladimir
13.09.2016
21:54:24
Разобрался. Всем спасибо! :)

Алексей
13.09.2016
21:54:45
что если понадобиться добавить protected internal или еще какой модификатор свойства?
class Test {
#@%fk
constructor() {
this.#@%fk = 1;
}
}
против
class Test {
private static internal fk
constructor() {
this.fk = 1;
}
}

Vladimir
13.09.2016
21:55:03
да не понадобится
это не модфикатор, это принципиально другая вещь

Алексей
13.09.2016
21:56:51

Vladimir
13.09.2016
21:58:00
там же написано все, это сахар для WeakMap
к свойствам не имеет никакого отношения

Алексей
13.09.2016
22:02:18
к свойствам не имеет никакого отношения
тут да - точнее будет сказать что это модификатор полей ( а он может быть private, protected, internal, readonly ) и # не учитывает вообще ничего кроме private. В следующей версии снова будем язык переписывать ибо V8 лень имплементировать нормальные модификаторы?

Paul
13.09.2016
22:03:00
А что такое "нормальные" модификаторы?
Какая разница между соглашением начинать приватные поля с "_" и модификатора private?

Алексей
13.09.2016
22:03:29
class Test {
private static internal fk
constructor() {
this.fk = 1;
}
}
это норма (с)
а вот что предлагают
class C {
#x;
constructor() {
this.#x = 1;
}
}
this.#x

Paul
13.09.2016
22:04:58
А чем символы не устраивают?

Vladimir
13.09.2016
22:05:11
они не приватные

Paul
13.09.2016
22:05:42
Эм.
Добавь "_" и будет тебе приватность, в чём дело?

Google

Paul
13.09.2016
22:06:19
Символы решают проблему уникальности.

Алексей
13.09.2016
22:06:19
А чем символы не устраивают?
что если понадобиться добавить protected internal или еще какой модификатор свойства?
class Test {
#@%fk
constructor() {
this.#@%fk = 1;
}
}

Vladimir
13.09.2016
22:06:20
злесь речь о тру приватности
это НЕ свойства

Paul
13.09.2016
22:06:34
Что такое "тру" приватность?

Vladimir
13.09.2016
22:06:52
private fields

Paul
13.09.2016
22:07:08
Ты ведь в курсе, что инкапсуляция не в этом заключается?

Vladimir
13.09.2016
22:07:08
не private properties

Paul
13.09.2016
22:07:17
И да, в любом языке можно прочитать что хочешь.

Vladimir
13.09.2016
22:07:45

Paul
13.09.2016
22:08:10
Хм. А зачем?

Vladimir
13.09.2016
22:08:28
полезно для платформ, в т. ч. node.js

Алексей
13.09.2016
22:08:30

Paul
13.09.2016
22:08:57
И? Причём тут физическая недоступность?

Vladimir
13.09.2016
22:09:32
при том что js изначально расчитан испольнение небезопасного кода
для этого нужна физическая изоляция
движкам, браузерам

Paul
13.09.2016
22:10:08
Физическая изоляция не нужна и она бесмысленна.
У тебя дебаггер в рантайме, какая изоляция?

Google

Vladimir
13.09.2016
22:10:32
поверь, тебе нужна изоляция

Paul
13.09.2016
22:10:55
Эм. Нет, не нужна
Мой код упакован в модули и прочее, как чужой код доступ к нему получит вообще?

Алексей
13.09.2016
22:11:19
Физическая изоляция не нужна и она бесмысленна.
нужна для разработчиков API - вспомните React и Context - Context API было приватным - им всеравно воспользовались для React Route и теперь не могут выпилить ибо усе - куча софта теперь использует это приватное API

Paul
13.09.2016
22:11:41
Использование приватного API это проблема использующего

Vladimir
13.09.2016
22:12:04

Paul
13.09.2016
22:12:21
Я декларировал, что это приватный интерфейс.

Admin
ERROR: S client not available

Paul
13.09.2016
22:12:28
Этого достаточно

Vladimir
13.09.2016
22:12:34
Если бы внутренности браузеров были бы доступны через _
было бы весело

Алексей
13.09.2016
22:12:38

Paul
13.09.2016
22:12:55
Инкапсуляция это *логическое* деление, а не физическое

Vladimir
13.09.2016
22:13:03
Ребят. Теперь мне нужно заняться профайлингом. А именно хочется заменить время выполнения некоторых функций и прочего. С помощью чего такое можно и лучше сделать?

Алексей
13.09.2016
22:13:37

Vladimir
13.09.2016
22:14:23
generally hidden

Paul
13.09.2016
22:14:52
Физического деления не было и не будет. Внутри одного процесса ты всегда сможешь добраться до нужного участка, из любого ЯП. Откуда ты цитаты кидаешь, я не знаю, но советовал бы таки классиков (GoF, Майер) почитать

Vladimir
13.09.2016
22:14:55
это примерно значит, что нельзя, но очень хочется и есть рефлекшн, то можно

Vladimir
13.09.2016
22:15:08
> Paul
из любого ЯП

Google

Vladimir
13.09.2016
22:15:12
не из любого

Paul
13.09.2016
22:15:38
Пример?

Vladimir
13.09.2016
22:15:49
вот этот пропозал и есть пример
из существующих - не знаю

Paul
13.09.2016
22:16:03
java — reflection, C/C++ — каст к void* и смещение, C# — GetField, Rust — unsafe + mem::transmute

Vladimir
13.09.2016
22:16:37
нечто вроде C++ но без доступа к памяти, я бы сказал

Vladimir
13.09.2016
22:19:56

Vladimir
13.09.2016
22:20:58
Спасибо

Andrey
14.09.2016
04:39:37
или будет такой синтаксис? other.(private) x, определенно, что то не так

Ҫѐҏӗѫӑ
14.09.2016
09:09:59
зачем во всех чатах одно и то же мусолить?

Алексей
14.09.2016
15:57:52

Vasiliy
14.09.2016
16:12:17
))

Oleg
14.09.2016
17:18:32
node -v
v0.10.29
Со мною все впорядке?

Andrey
14.09.2016
17:19:01
Нет

KlonD90
14.09.2016
17:19:05
старый метеор?

Oleg
14.09.2016
17:20:28
Если я поставлю последнюю ноду, то все мои прошлые проекты продолжат работать?

Arseniy
14.09.2016
17:23:12

Andrey
14.09.2016
17:23:19