razbor_poletov_chat | Unsorted

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

1087

Официальный чатик подкаста Разбор Полётов. Кафка, Котлин, Кубернетес, Жава, софт-скиллз, всякое про ИТ, любой флуд про инфотехнологии, мемчики. Политота идёт лесом. Канал с полезняшками https://t.me/razborfeed https://razborpoletov.com/

Subscribe to a channel

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

а в последних идея вроде запилили полиглот

Читать полностью…

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

apache/maven-hocon-extension
https://github.com/apache/maven-hocon-extension

Читать полностью…

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

ясно, хз конечно что по производительности, но в целом схема понятная

Читать полностью…

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

where film_actor.film_id = film.film_id

здесь джойн, не забыть индекс

Читать полностью…

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

где каждый json_object - это колонки из выборки

Читать полностью…

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

ой, а зачем там json?)

Читать полностью…

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

select
film.title,
(
select coalesce(
jsonb_agg(jsonb_build_object(
'first_name', t.first_name,
'last_name', t.last_name
)),
jsonb_build_array()
)
from (
select
alias_78509018.first_name,
alias_78509018.last_name
from (
film_actor
join actor as alias_78509018
on film_actor.actor_id = alias_78509018.actor_id
)
where film_actor.film_id = film.film_id
) as t
) as actors,
(
select coalesce(
jsonb_agg(jsonb_build_object('name', t.name)),
jsonb_build_array()
)
from (
select alias_130639425.name
from (
film_category
join category as alias_130639425
on film_category.category_id = alias_130639425.category_id
)
where film_category.film_id = film.film_id
) as t
) as categories
from film
order by film.title

Читать полностью…

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

рад помочь, если посмотрите, какой sql получается в примере, там все тривиально максимально

Читать полностью…

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

так я тебе говорю, ты не сможешь родить сложный энтити граф, попадаешь на декартово произведение

Читать полностью…

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

если что, михалча выше предлагает ровно тоже самое

Читать полностью…

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

ничего сложного, добавь индексы на внешние ключи, помести мультисет в селект, он сгенерит оптимальный сабселект и упакует результат сразу в json

Читать полностью…

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

отсюда и вопрос - нахуя рвать жопу? когда можно взять дсл

Читать полностью…

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

и если ты хочешь писать перфомансный код на хибере, ты получаешь обрубок аля jdbcTemplate

Читать полностью…

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

https://vladmihalcea.com/hibernate-multiplebagfetchexception/

Читать полностью…

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

так что в сущности, sql не наебать и хибер ничего не облегчает

но это конечно знать надо, какой инструмент юзаешь

Читать полностью…

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

Те, кому не нравится вербозность XML, теперь могут пользоваться другим форматом. Почему бы и нет. Правда IDE скорее всего перестанет помогать в этом случае. По крайней мере в ближайшее время 🙂

Читать полностью…

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

Domain-Driven Design

Новый выпуск подкаста, записан в шумной переговорке в перерыве между конференциями. Вместе с Алексеем Мерсоном, developer advocate в продукте SAGE Т-Банка, обсуждаем DDD. Хвалим новую книгу Хононова и не только .

Слушайте 324 подкаст The Art of Programming.

Подписаться в iTunes
Смотреть на VK
Слушать на Яндекс Музыке

#подкаст #taop

Читать полностью…

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

у тебя связь 1 к n, фильм/актеры, чтобы ты не парсил выборку вручную

Читать полностью…

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

ну и + проверка на пустоту

Читать полностью…

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

а он выборку упаковывает сразу в json_array

Читать полностью…

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

var result =
dsl.select(
FILM.TITLE,
multiset(
select(
FILM_ACTOR.actor().FIRST_NAME,
FILM_ACTOR.actor().LAST_NAME)
.from(FILM_ACTOR)
.where(FILM_ACTOR.FILM_ID.eq(FILM.FILM_ID))
).as("actors"),
multiset(
select(FILM_CATEGORY.category().NAME)
.from(FILM_CATEGORY)
.where(FILM_CATEGORY.FILM_ID.eq(FILM.FILM_ID))
).as("categories")
)
.from(FILM)
.orderBy(FILM.TITLE)
.fetch();

Читать полностью…

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

ну смотря что считать сложным графом, 3-4 уровня сложный?)

Читать полностью…

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

а значит, как говорит Михалча, делать разные запросы

и здесь мультисет ака сабселект выглядит даже лучше

Читать полностью…

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

ток через entityManager

Читать полностью…

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

не, ну одно дело следить за entityGraph, другое дело вот эту магию с multiset

Читать полностью…

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

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

Читать полностью…

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

похоже да, выглядит сложновато конечно, но приятно видеть что это вообще можно

Читать полностью…

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

ну это касается и рукописного sql ровно в той же степени

Читать полностью…

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

если простыми словами - выборка всевозможных комбинаций

Читать полностью…

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

либо вы попадает на cartesian product и вам пизда

Читать полностью…
Subscribe to a channel