Size: a a a

Чат подкаста «Разбор Полётов»

2019 October 23

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in Чат подкаста «Разбор Полётов»
я в общем про то, что эта структура - это не просто статичный лист, это комбинация какой-то более навороченной структуры данных, поверх которой есть некое view которое даёт иллюзию total order, и вот по этому вью уже можно идти итератором
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀
для обычных объектов мы говорим, что есть две сущности и их сравнение даёт расстояние в виде числа (int compareTo).

простое решение само напрашивается, если и аргументы такой функции подобны целым числам. То есть, если для любых a и b мы можем выбрать функцию, которая спроецирует их на целые числа. Например, User.getPenisLength():: (User) -> int.

и дальше мы говорим, что раз у нас теперь всё есть целые числа, а они - это линейно упорядоченное множество, то если a <= b, то sup(a,b) = b, а inf(a,b) = a. По сути, copmpareTo здесь и есть inf.

но представим, что у нас такой домен, когда существуют несравнимые элементы. Из твита: "does not depend on any other and cannot be compared by anything". Их уже не спроецировать на числа, потому что числа всегда можно сравнить друг с другом, это тот самый полный линейный порядок.  И вот тут  inf уже не compareTo:: Pair->Int, а её полная форма, когда она вместо инта должна отдавать compareTo:: Pair->Pair.

пока всё так? :)
вопрос в том, можем ли мы выбрать такую функцию.
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Паша Финкельштейн
@bsideup а у тебя там как, любой объект может понять где он должен стоять относительно дугого объекта?
Типа у нас есть мноество
A-B-C-D
B знает что должен стоять до C. Знает ли он что должен чтоять до D?
то есть утвердителен ли ответ на этот вопрос
источник

II

Ivan Inozemtsev in Чат подкаста «Разбор Полётов»
Sergei Egorov
Цикличные зависимости отсутствуют, кстати
Подозрительно похоже на топологическую сортировку
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Паша Финкельштейн
@bsideup а у тебя там как, любой объект может понять где он должен стоять относительно дугого объекта?
Типа у нас есть мноество
A-B-C-D
B знает что должен стоять до C. Знает ли он что должен чтоять до D?
Есть необходимость объекту В сказать "я хочу идти после А" (конфигурация). Два объекта могут оказаться "на одной позиции", и прыгать от сортировки к сортировке, главное чтобы В всегда был после А
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
В Спринге для этого Ordered есть например
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
Если кто использует ДДД (и пишет на джаве) то такой вопрос - являются ли ваши Энити обьекты Доменными обьектами ? Если нет то как именно создаются домейнные обьекты и как сохраняется нужна информация из них обратно в базу ?
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Sergei Egorov
В Спринге для этого Ordered есть например
Короче мне кажется что написать коллекцию с поддержкой такого поведения проще всего
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Паша Финкельштейн
Короче мне кажется что написать коллекцию с поддержкой такого поведения проще всего
тут же вопрос больше к тому, какой интерфейс сами item-ы должны поддерживать и как
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Sergei Egorov
тут же вопрос больше к тому, какой интерфейс сами item-ы должны поддерживать и как
Ну любой который позволяет выразить то, что тебе надо
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Вот все например кричат что Comparable тут - неправильно, но при этом даже не зная какой контейнер (коллекция) используется, например 😄
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Проекция на целые числа кажется удобной
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Паша Финкельштейн
Ну любой который позволяет выразить то, что тебе надо
а чем Comparable тут не подходит, в таком случае?
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Sergei Egorov
а чем Comparable тут не подходит, в таком случае?
Тем что, если я правильно понял, он у тебя может симметрию поломать
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Но если привести все элементы к целым числам - то не может
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Sergei Egorov
а чем Comparable тут не подходит, в таком случае?
Собственно вопрос который задал Лёша: можешь ли ты тотальный ордеринг?
источник

AA

Alexey Abashev in Чат подкаста «Разбор Полётов»
Artjom Kalita
Если кто использует ДДД (и пишет на джаве) то такой вопрос - являются ли ваши Энити обьекты Доменными обьектами ? Если нет то как именно создаются домейнные обьекты и как сохраняется нужна информация из них обратно в базу ?
По хорошему надо всё отдельно - отдельно транспортные, отдельно ентити, и отдельно доменные. Но все кладут хер, потому что перевод из одного в другой не формализовано и заколебешься обертки писать
источник

AR

Andrei Rebrov in Чат подкаста «Разбор Полётов»
Баш порадовал сегодня https://bash.im/quote/458342
источник

J🎩

JBaruch 🎩 in Чат подкаста «Разбор Полётов»
Ага
источник

AR

Andrei Rebrov in Чат подкаста «Разбор Полётов»
источник