@frp_ru

Страница 10 из 420
Filipp
17.08.2016
14:47:05
и пишется так же вроде

Ярослав
17.08.2016
14:53:15
в элме есть

Ҫѐҏӗѫӑ
17.08.2016
18:58:23
в хаскеле можно свой написать я думаю
кстати, кто завтра на митап?

Google
Алексей
17.08.2016
18:58:39
что за митап?

Ҫѐҏӗѫӑ
17.08.2016
18:58:47
по хаскелю же

Алексей
17.08.2016
18:58:57
wow.. где когда кто?

Ҫѐҏӗѫӑ
17.08.2016
18:59:11
завтра в касперском. но рега давно закрыта

а хотя вроде нет https://laboratoriya-kasperskogo.timepad.ru/event/356321/

Aldar
17.08.2016
19:08:23
Наверное боян

http://www.confluent.io/blog/turning-the-database-inside-out-with-apache-samza/

Алексей
17.08.2016
19:08:36
а хотя вроде нет https://laboratoriya-kasperskogo.timepad.ru/event/356321/
Подтверждаем, что Ваша регистрация прошла успешно. Yay!

Aldar
17.08.2016
19:08:47
кстати, кто завтра на митап?
я деревенский, не из ДС

хорошо бы трансляцию

Ҫѐҏӗѫӑ
17.08.2016
19:09:06
обещали что будет

Aldar
17.08.2016
19:56:00
https://www.humblebundle.com/books/joy-of-coding-book-bundle

Alex
18.08.2016
07:57:25
Typescript: Если вдруг кому интересно про typescript на rutracker довольно много лежит полных видео-курсов (15-16 годов)

Google
Дмитрий
18.08.2016
09:01:19
Есть объект-хранилище f и есть field, в котором вызывается метод attr с передачей каких-либо полей f Как упростить вызовы attr? field .selectAll(f.type) .data(rects.value) .enter() .append(f.type) .attr('id',f.id) .attr('x',f.x) .attr('y',f.y) .attr('width',f.width) .attr('height',f.height) .attr('rx',f.rx) .attr('ry',f.ry) Можно как то преобразовать его в что-то типа .map(attr, f)?

d3 - это наверное одна из самых странных штук, что я видел в фронтенде ? Там конечно можно конечно передать объект с набором этих свойств, но тут принципиально интересно, можно ли упрощать такую запись

Алексей
18.08.2016
09:42:08
d3 - это наверное одна из самых странных штук, что я видел в фронтенде ? Там конечно можно конечно передать объект с набором этих свойств, но тут принципиально интересно, можно ли упрощать такую запись
ОБОЖАЮ D3 - самое недооценненое произведение искуства Во первых можно писать вот так field .selectAll(f.type) .data(rects.value) .enter() .append(f.type) .attr({ id: f.id x: f.x y: f.y width: f.width height: f.height rx: f.rx ry: f.ry }) Это не короче, но удобнее писать а в это случае можно сделать вообще вот так :) field .selectAll(f.type) .data(rects.value) .enter() .append(f.type) .attr(f)

Алексей
18.08.2016
09:54:28
Дмитрий
18.08.2016
10:03:36
4ой не пользовался - сейчас посмотрю.. пипец если выпилили
Во во. В общем, пока так обошёл const attributor = getter=> d3obj=> R.pipe(R.toPairs,R.reduce( (_d3obj,e)=>_d3obj.attr(e[0],e[1]) ,d3obj))(getter) let setter = attributor(f) //f={x:0,y:1,rx:0,ry:1} setter(obj)

Ҫѐҏӗѫӑ
18.08.2016
10:08:04
д3 с рамдой хреново выглядит

Дмитрий
18.08.2016
10:08:57
д3 с рамдой хреново выглядит
Да, я уже чувствую))

Алексей
18.08.2016
10:09:11
Во во. В общем, пока так обошёл const attributor = getter=> d3obj=> R.pipe(R.toPairs,R.reduce( (_d3obj,e)=>_d3obj.attr(e[0],e[1]) ,d3obj))(getter) let setter = attributor(f) //f={x:0,y:1,rx:0,ry:1} setter(obj)
Вообще D3 очень хорошо экстендиться d3.selection.prototype.styleSS = function(obj) { for (var key in obj) { if (obj.hasOwnProperty(key)) { this.style(key, obj[key]); } } return this; } d3.selection.prototype.attrSS = function(obj) { for (var key in obj) { if (obj.hasOwnProperty(key)) { this.attr(key, obj[key]); } } return this; } d3.select(document.body) .append('div') .styleSS({ color: 'red' }) .text('Hello world')

Ҫѐҏӗѫӑ
18.08.2016
10:09:42
@Ai_boy ты ко скольки в касперский?

я часам к 8 думаю ехать вообще

Filipp
18.08.2016
10:11:31
Кажется, d3 была полезна пока не придумали virtual dom

Алексей
18.08.2016
10:11:38
@Ai_boy ты ко скольки в касперский?
ну наверно также - я если честно хочу только на elm попасть и афтер пати :)

Filipp
18.08.2016
10:11:56
Решает в целом ту же задачу, но сложнее

Алексей
18.08.2016
10:11:59
Кажется, d3 была полезна пока не придумали virtual dom
Я щас часами могу говорить о том как D3 > virtual dom :)

Ҫѐҏӗѫӑ
18.08.2016
10:12:02
Filipp
18.08.2016
10:13:10
Я сейчас не беру всякие библиотечные свг штуки, больше про саму концепцию enter/exit/update

Ҫѐҏӗѫӑ
18.08.2016
10:13:29
там и без свг штук дофига всего

Filipp
18.08.2016
10:13:57
Хелперов много полезных, да

Google
Ҫѐҏӗѫӑ
18.08.2016
10:13:57
ну и концепция норм вроде. чего плохого?

Дмитрий
18.08.2016
10:14:13
Ну да, у них там даже коллекции свои %)

Ҫѐҏӗѫӑ
18.08.2016
10:14:19
можно и свои компоненты на ней построить

Алексей
18.08.2016
10:14:33
+ d3 умеет делать DOM recycle ( повторно использовать DOM элементы ) - умеет virtual dom такое? :)

Filipp
18.08.2016
10:14:54
Часто приходится дублировать код

Дмитрий
18.08.2016
10:15:54
Ну вот я сейчас и строю компоненты) Хочу замутить послойный интерфейс компонентов, для этого нужна связка структур и dom, d3 подходит отлично, но бороться с ним порой ппц сколько надо

Алексей
18.08.2016
10:16:08
Часто приходится дублировать код
смотри выше - очень легко экстендить d3

Filipp
18.08.2016
10:16:10
Дом элемент, который был в одном месте, прицеплять к другому?

Алексей
18.08.2016
10:18:30
Дом элемент, который был в одном месте, прицеплять к другому?
Это нужно Blogpost писать - не для телеграмма это. Если в кратце - можно увеличить отзывчивость UI повторно переиспользуя DOM элементы. Больше никаких remove, append. Только setInnerText и setClassName

Filipp
18.08.2016
10:19:03
Кажется, это основная идея за virtual dom

Смотришь дифф и не пересоздаёшь элементы без необходимости

Ҫѐҏӗѫӑ
18.08.2016
10:20:26
ну наверно также - я если честно хочу только на elm попасть и афтер пати :)
а по элму вроде тот же чувак, что на фп митапе в рамблере был

Алексей
18.08.2016
10:20:32
Кажется, это основная идея за virtual dom
Не путай diff и повторное использование элементов - diff позволяет делать минимальные изменения - повторное использование - избегает эти изменения ( почти совсем )

Ҫѐҏӗѫӑ
18.08.2016
10:20:33
и вроде ты там тоже был

Алексей
18.08.2016
10:20:53
Ҫѐҏӗѫӑ
18.08.2016
10:20:59
может и нет

Filipp
18.08.2016
10:21:09
В смысле избегает — тебе же надо чтоб UI изменился

Ҫѐҏӗѫӑ
18.08.2016
10:21:11
но там чел не ответил на мои вопросы

и я укрепился во мнении что элм не нужен

Google
Ҫѐҏӗѫӑ
18.08.2016
10:21:58
он отвечал точнее, но что-то типа “ну оно будет лучше наверное”

Filipp
18.08.2016
10:23:18
Если брать конкретно snabbdom, то чтоб элемент переиспользовался, тостаточно чтоб новый vnode совпадал селектором и ключом, отдельных дополнительных действий никаких не надо

В других реализациях в целом так же

Filipp
18.08.2016
10:25:15
Не пропишу ключ

И не буду писать класс в селекторе

Алексей
18.08.2016
10:27:18
И не буду писать класс в селекторе
что-то я сильно не уверен что это будет работаь именно так как ты говоришь.. даже React предупреждает что без key он не сможет нормально сделать diff

Filipp
18.08.2016
10:28:11
Нормально = не используя для совершенно разных объектов один элемент

А тут это как раз то что нужно

Алексей
18.08.2016
10:51:50
Alex
18.08.2016
11:02:59
д3 с рамдой хреново выглядит
вы функции выделяйте и обзывайте понятными именами, чтобы было ясно что происходит

Ҫѐҏӗѫӑ
18.08.2016
11:09:19
с д3 все равно будет все плохо выходить

там подход императивный

и чейнинг во все поля

localvoid
18.08.2016
11:24:12
+ d3 умеет делать DOM recycle ( повторно использовать DOM элементы ) - умеет virtual dom такое? :)
умеет и ресайклить и клонировать и много других вещей

Алексей
18.08.2016
11:24:59
localvoid
18.08.2016
11:25:59
https://github.com/localvoid/kivi/blob/master/lib/component.ts#L386-L408

Алексей
18.08.2016
11:28:05
https://github.com/localvoid/kivi/blob/master/lib/component.ts#L386-L408
круто - а есть Virtual Dom имплементации которыми пользуются?

localvoid
18.08.2016
11:28:51
а есть имплементации , которые не копипастили из моей либы?

Google
localvoid
18.08.2016
11:30:18
во всяких preact, inferno, imba, mithril тоже есть ресайклинг

Алексей
18.08.2016
11:31:39
ну на самом деле соглашусь - virtual dom умеет recycle а умеет virtual dom делать декларативную анимацию? :)

localvoid
18.08.2016
11:32:24
оборачивай в компоненту и делай декларативную анимацию

Алексей
18.08.2016
11:34:44
оборачивай в компоненту и делай декларативную анимацию
значит не умеют :) ну хоть 1 ключевое отличие есть

localvoid
18.08.2016
11:35:27
так сложно делать обёртки типа transition container'ов ?

Алексей
18.08.2016
11:37:38
так сложно делать обёртки типа transition container'ов ?
зачем их делать когда есть D3 в котором их делать не нужно :)

localvoid
18.08.2016
11:38:29
я к тому что этого и не должно быть в виртуальном доме, это всё делается всякими hoc'ами

а вот пихать всякихе анимационные хуки, типа как это сделано в snabbdom - вот это большая ошибка, я 2 года назад начал пихать эти хуки, потом идея расползлась, но теперь я отлично понимаю что этого делать не стоит.

Ҫѐҏӗѫӑ
18.08.2016
11:55:26
https://github.com/paldepind/snabbdom/issues/150#issuecomment-240620828

snabbdom будет на ts

Alex
18.08.2016
12:06:16
там подход императивный
запаковываем d3 в драйвер (отделяем императивный код) и используем cycle для декларативного описания логики

Ҫѐҏӗѫӑ
18.08.2016
15:13:24
эх, я из дома буду митап смотреть

не получилось поехать

Alex
18.08.2016
15:14:16
хаскел?

Ҫѐҏӗѫӑ
18.08.2016
15:28:42
да

Andrey
18.08.2016
15:59:00
эх, я из дома буду митап смотреть
трансляция еще не началась? на ютуб канале тихо

Ilya
18.08.2016
15:59:46
10 RxJS функций, которые вы должны знать. Ссылка #RxJS

Ҫѐҏӗѫӑ
18.08.2016
16:00:43
идет

Страница 10 из 420