@nodejs_ru

Страница 197 из 2748
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
это не модфикатор, это принципиально другая вещь
private - это модификатор свойства. проблема какраз в том что люди из V8 тоже думают что это "принципиально" другая вещь - это не так

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
Ты ведь в курсе, что инкапсуляция не в этом заключается?
Encapsulation can be used to hide data members and members function. ...offer the programmer a degree of control over what is hidden, typically via keywords like public and private

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
Использование приватного API это проблема использующего
это твоя проблема, если ты хочешь, чтобы его не использовали

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
Использование приватного API это проблема использующего
Увы нет.. инкапсуляцию не просто так придумали. А чтобы защитить от ошибок.

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

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

Алексей
13.09.2016
22:13:37
Инкапсуляция это *логическое* деление, а не физическое
Under this definition, encapsulation means that the internal representation of an object is generally hidden from view outside of the object's definition физическое

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:20:58
Спасибо

Andrey
14.09.2016
04:39:37
class Test { private static internal fk constructor() { this.fk = 1; } }
Так там есть другие примеры, где private a уже не получится использовать)

или будет такой синтаксис? 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

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