Size: a a a

Kotlin Community

2020 July 01

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Да всё равно боль на каждом шагу
Ну, скажем не боль, а отсутствие привычного комфорта, но я до сих пор горд по поводу того, как я сделал zero-cost-abstraction для двумернух массивов
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
Пусть тогда Iterable/Collection реализовывает
Там ListIterator'а нет.
Я им, правда, ни разу не пользовался, но мне кажется, не надо быть таким категоричным.
источник

AM

Andrew Mikhaylov in Kotlin Community
Quantum Harmonizer
Пусть тогда Iterable/Collection реализовывает
Блин, ты ж недавно LazyList : List тут продавал сам, не?)
источник

QH

Quantum Harmonizer in Kotlin Community
Andrew Mikhaylov
Блин, ты ж недавно LazyList : List тут продавал сам, не?)
Да, он RandomAccess
источник

AM

Andrew Mikhaylov in Kotlin Community
Quantum Harmonizer
Да, он RandomAccess
Лааадно)
источник

AN

Alexander Nozik in Kotlin Community
Можете посмотреть Buffer в kmath кому не лень. Но он ни разу не лист.
источник

SB

Sergey Barmin in Kotlin Community
Вопрос немного не в кассу, но ни у кого идея не стала с 2020.1 считать все градл проекты - андроид проектами?
источник

SB

Sergey Barmin in Kotlin Community
Sergey Barmin
Вопрос немного не в кассу, но ни у кого идея не стала с 2020.1 считать все градл проекты - андроид проектами?
А именно - генерить local.properties как ведро-студия, и совать туда sdk.dir с путем до андроид сдк
источник

IO

Iaroslav Orlov in Kotlin Community
Quantum Harmonizer
Пусть тогда Iterable/Collection реализовывает
а ему надо abstract list
источник

AE

Alexandr Emelyanov in Kotlin Community
Sergey Barmin
А именно - генерить local.properties как ведро-студия, и совать туда sdk.dir с путем до андроид сдк
Нет
источник

QH

Quantum Harmonizer in Kotlin Community
@HeapyHop, можно ревью?
Эта штука оборачивает Undertow, вся суть в методе gatherArgsAndInvoke.
источник
2020 July 02

ch

central hardware in Kotlin Community
источник

RI

Ruslan Ibragimov in Kotlin Community
Ну каких-то явных косяков не видно. Единственное получается что реализация роутинга из undertow протекает в твой API, и получается что он зависит от поведения роутинга в undertow
источник

QH

Quantum Harmonizer in Kotlin Community
Ruslan Ibragimov
Ну каких-то явных косяков не видно. Единственное получается что реализация роутинга из undertow протекает в твой API, и получается что он зависит от поведения роутинга в undertow
Спасибо! Да, я уже даже немного пострадал от этого (с предикатами). Но писать свой роутинг не хочу :)
источник

QH

Quantum Harmonizer in Kotlin Community
Хмм, это я отбираю возможность оборачивать хэндлеры…
источник

RI

Ruslan Ibragimov in Kotlin Community
Ну было бы неплохо еще пробросить возможность задать FallbackHandler, в котором можно накрутить свое поведение (например чтобы добавить своих хендлеров, ну healthcheck там, или метрики, ну или еще какой-то API который для других клиентов). Например часть сервера это Endpoint который я так понимаю шарится между клиентом и сервером, а часть - просто обычные httphandler. Возможно стоит ту часть которая про личи оформить в виде LycheeHandler. Но в таком случае получается что это такой аддон для undertow, а не фреймворк. И HttpExchange протекает сейчас, что тоже наверное не очень.

В итоге, что мне кажется может быть разумным:

1. API который полностью скрывает undertow под собой, удобно если от сервера ничего не нужно кроме тех ендпоинтов которые ты сам дефайнишь. Плюс - можно будет всегда выкинуть undertow и заменить на netty, vert.x, what ever
2. API который предоставляет LycheeHandler (важно передать туда `next: HttpHandler`), и который можно интегрировать в undertow сервер, т.е. для сложных случаев и большей гибкости и свободы.
источник

RI

Ruslan Ibragimov in Kotlin Community
С точки зрения широты использования - 1 приоритет скорее всего, а 2 может быть дополнительной либой для полторы ценителей
источник

QH

Quantum Harmonizer in Kotlin Community
Ruslan Ibragimov
Ну было бы неплохо еще пробросить возможность задать FallbackHandler, в котором можно накрутить свое поведение (например чтобы добавить своих хендлеров, ну healthcheck там, или метрики, ну или еще какой-то API который для других клиентов). Например часть сервера это Endpoint который я так понимаю шарится между клиентом и сервером, а часть - просто обычные httphandler. Возможно стоит ту часть которая про личи оформить в виде LycheeHandler. Но в таком случае получается что это такой аддон для undertow, а не фреймворк. И HttpExchange протекает сейчас, что тоже наверное не очень.

В итоге, что мне кажется может быть разумным:

1. API который полностью скрывает undertow под собой, удобно если от сервера ничего не нужно кроме тех ендпоинтов которые ты сам дефайнишь. Плюс - можно будет всегда выкинуть undertow и заменить на netty, vert.x, what ever
2. API который предоставляет LycheeHandler (важно передать туда `next: HttpHandler`), и который можно интегрировать в undertow сервер, т.е. для сложных случаев и большей гибкости и свободы.
В принципе оно и планировалось как аддон: хочешь — обрабатываешь эндпоинты, а хочешь — рядом ставишь обычные обработчики, хоть в тот же роутер — руки развязаны. По этой же причине не хочу абстрагировать на 146%.

Фолбэк у меня есть для ошибок парсинга запроса, respondBadRequest вроде называется.
источник

RI

Ruslan Ibragimov in Kotlin Community
Quantum Harmonizer
В принципе оно и планировалось как аддон: хочешь — обрабатываешь эндпоинты, а хочешь — рядом ставишь обычные обработчики, хоть в тот же роутер — руки развязаны. По этой же причине не хочу абстрагировать на 146%.

Фолбэк у меня есть для ошибок парсинга запроса, respondBadRequest вроде называется.
respondBadRequest это когда в роут уже зашел, а когда ты рядом хочешь /healthcheck без личи прикрутить? Там для этого есть .fallback(handler)
источник

QH

Quantum Harmonizer in Kotlin Community
Ruslan Ibragimov
respondBadRequest это когда в роут уже зашел, а когда ты рядом хочешь /healthcheck без личи прикрутить? Там для этого есть .fallback(handler)
Да, вот он никуда не делся, т. к. я не прячу роутер.
источник