@nodejs_ru

Страница 119 из 2748
Sander
05.08.2016
20:13:19
сублайм самый нормальный

atom красивый, но тормознутый потому что он же пислася вроде как браузернео приложение, а потом перевели его на desktop

Google
Sander
05.08.2016
20:14:49
через electron

http://electron.atom.io/

Алексей
05.08.2016
20:15:01
vscode быстрее sublime

Sander
05.08.2016
20:15:22
в самом низу страницы можно посмотреть где атом используется

Andrey
05.08.2016
20:15:27
да какбы devtool с —harmony не пашет
ставишь eval и можно через браузер

Sander
05.08.2016
20:15:43
не пробывал

хороший

?

Herman
05.08.2016
20:16:06
@tom910 а подробнее??

это отдельная тулза или примочка?

Andrey
05.08.2016
20:16:44
devtool: ‘eval’

Sander
05.08.2016
20:17:54
visual studio ….

Google
Sander
05.08.2016
20:18:19
для ангуляр девелоперов наверное удобней

Ivan
05.08.2016
20:18:41
атом фигня
а ты чем знаменит чтобы писать что атом фигня

Sander
05.08.2016
20:19:15
я написал почему атом плохой

высказал свое мнение

по ide

я ничем не знаменит, если я вас задел чем-то, то извеняй

Ivan
05.08.2016
20:22:31
надо просто принять что фигни нет ? и что сотни тысяч людей которые выбрали атом наверное этот выбор сделали не так просто ? все мы разные

Sander
05.08.2016
20:23:33
я пользовался атом , vs, subl

Ivan
05.08.2016
20:23:42
аналогично

и остановился на атоме после многих лет в сублиме

Sander
05.08.2016
20:23:59
многие пишут все на vim )

Ivan
05.08.2016
20:24:38
и хотя я vim вообще не понимаю не стоит же назвать его фигней ?

это труд кучи людей

Sander
05.08.2016
20:24:53
atom удобней тем что более настроеный и понятней с подсказками

ну те кто умеет то наверное для них это не заменимо

Ivan
05.08.2016
20:25:43
у меня тупо сломался трекпад - и на обычной дискретной мышке я не вижу разницы по скорости между атомом и сублимом

Sander
05.08.2016
20:25:48
правда без мышки не представляю, сложно если кода много

Ivan
05.08.2016
20:25:52
раньше скрол напрягал

Sander
05.08.2016
20:26:20
самый лучший редактор это на windows notepad стандартный

Ivan
05.08.2016
20:27:00
far + colorer мне его последние много лет не хватает

Google
Sander
05.08.2016
20:41:18
?

Котяй Негодяй
05.08.2016
21:38:57
.bind() полностью пересоздаёт метод? Насколько более ресурсоёмко сделать .bind(), чем просто передать функцию в переменную?

Paul
05.08.2016
21:41:01
"Насколько более ресурсоёмко сделать .bind(), чем просто передать функцию в переменную?" Вопрос не понятен

Котяй Негодяй
05.08.2016
21:44:46
Уже решил.

bind() создаёт обёртку.

По сути, созданная обёртка — есть декоратор, который делает originalMethod.call(cоntext, arg1, arg2, ...)

Я беспокоился о том, насколько повлияет на производительность использование bind() в конструкторе класса для копирования определённых методов в другие объекты с привязкой контекста.

Ведь при создании экземпляра класса, его методы не копируются в экземпляр, а экземпляр получает к ним доступ через другой объект. Серьёзно ли изменится положение в плане производительности, если я начну создавать новые методы при создании экземпляра класса.

KlonD90
05.08.2016
22:13:16
Что исходники v8 говорят об этом?

Котяй Негодяй
05.08.2016
22:57:18
Клёвая шутка. Я не изучал C++.

Котяй Негодяй
05.08.2016
23:00:38
Как это у тебя выглядит?
https://github.com/bigslycat/pbem/blob/master/lib/Block.js#L18

Alxander
05.08.2016
23:03:59
А зачем ты так себе жизнь усложняешь?

Ты решил сделать эти функциями не методами чтобы контекст уж точно не переопределялся или как?

Котяй Негодяй
05.08.2016
23:07:38
Это хелперы, функции внутри шаблона.

Но они работают с контекстом экземляра класса.

Alxander
05.08.2016
23:08:59
Но они работают с контекстом экземляра класса.
Ну так и сделать их методами. Либо явно передавать в них ctx.

Котяй Негодяй
05.08.2016
23:09:28
То бишь, передавать в шаблон сам экземпляр?

Alxander
05.08.2016
23:09:31
А то выглядит будто ты monkey-patching делаешь какой-то.

Котяй Негодяй
05.08.2016
23:09:47
=))

Google
Alxander
05.08.2016
23:10:14
То бишь, передавать в шаблон сам экземпляр?
Ну да. Но лучше, наверное, просто сделать их методами. Они же таковые и есть.

Котяй Негодяй
05.08.2016
23:10:50
Так ведь тогда они потеряют контекст.

Ну, если второе.

Alxander
05.08.2016
23:11:41
Почему вдруг?

Котяй Негодяй
05.08.2016
23:11:43
Если я передам экземпляр, то всё ок. Только в использовании будет уже не так удобно.

Ну, допустим, в шаблоне будет вызов block('header'). Ему потребуется контекст экземляра класса, т.к. он содержит персональные конфиг и данные.

Alxander
05.08.2016
23:13:32
Не понял с чего вдруг методы потеряют контекст.

Class.prototype.func когда вызывается от inst.func всегда имеет this же

Или там у тебя кто-то снаружи контекст портит?

Котяй Негодяй
05.08.2016
23:16:02
Хм. Так. А можно ссылку, чтобы по-подробнее ознакомиться?

Admin
ERROR: S client not available

KlonD90
05.08.2016
23:16:14
Клёвая шутка. Я не изучал C++.
я тоже - там читается довольно просто код

Котяй Негодяй
05.08.2016
23:17:16
this.local({ mod: this.getMod, isMod: this.isMod, element: this.createElement, attributes: this.getAttributes });

Alxander
05.08.2016
23:17:33
Хм. Так. А можно ссылку, чтобы по-подробнее ознакомиться?
Ссылку на что? Есть методы экземпляра, которые ищутся в прототипе и this'ом которых будет сам экземпляр.

Котяй Негодяй
05.08.2016
23:17:43
Контекст в примере выше потерян.

Alxander
05.08.2016
23:17:44
Есть методы "класса"

А что у тебя функция local делает?

Я чёт не нашёл её быстрым взглядом с телефона.

Котяй Негодяй
05.08.2016
23:18:24
Это методы экземпляра класса.

local() устанавливает локальные переменные для шаблона. Таким образом туда попадают и хелперы.

Google
Котяй Негодяй
05.08.2016
23:19:28
Это единственный вариант.

Alxander
05.08.2016
23:19:50
А, я понял. Это какой-то проброс обработчиков в шаблонизатор.

Котяй Негодяй
05.08.2016
23:20:13
Дада.

Alxander
05.08.2016
23:20:28
Ну тогда нормальная практика юзать bind

Котяй Негодяй
05.08.2016
23:21:48
Печаль в том, что это БЭМ, и шаблон состоит из кучи блоков. В норме — каждый ДОМ-элемент — это, в переводе на мою либу, класс.

Пардон, экземпляр класса.

Alxander
05.08.2016
23:22:30
Честно говоря мне сложно было понимать твой код. Много всяких примесей и всего такого. Но может дело в специфике шаблонизатора.

Котяй Негодяй
05.08.2016
23:24:13
Ну, код кое-где снабжён абстракциями. Наверное, не всегда к месту. Ещё есть вопросы к его разбиению по файлам. Шаблонизатор здесь не при чём. =)

Зато здесь есть вариант реализовать кеширование уже отрендеренного вывода отдельно для каждого блока.

KlonD90
05.08.2016
23:41:21
http://benediktmeurer.de/2015/12/25/a-new-approach-to-function-prototype-bind/ 7 месяцев назад вмержили такой подход

но уже походу снова переписали

хотя в ноде может и старее пользоваться или эта версия

Котяй Негодяй
05.08.2016
23:43:39
Там байндинг находится за пределами теста.

А у меня это часть нагрузки.

KlonD90
05.08.2016
23:44:06
дело не в тесте (смотри кот)

Котяй Негодяй
05.08.2016
23:44:07
Сам байндинг в смысле.

KlonD90
05.08.2016
23:45:02
У тебя операция один раз выполняется?

О_о

или тебя интересует кэширование bind функции?

Котяй Негодяй
05.08.2016
23:47:21
Нет. Я говорил о другом кешировании. =)

Это уже другая тема.

Байндинг выполняется при каждом создании экземпляра.

Таких созданий много.

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