Публикации

KCEPOKC
а если так


а вот с apple music айфремы не работают
Комментарий отредактирован: 29 ноября 2024, 19:06
KCEPOKC
можно айфремом



<iframe width="560" height="315" src="https://www.youtube.com/embed/tDPiLgmhUgE?si=W8ZMRyoBiskiRV-D" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
Комментарий отредактирован: 30 ноября 2024, 00:30 (2 раза)
KCEPOKC
По поводу перфа, можно инлайнить композицию, правда это не динамическая история вообще, нужно будет каждую комбинацию описывать. У меня на проекте я специально делал кодген чтобы заинлайнить массив в класс, типа делал абстрактный MyCoolArray и реализации MyCoolArray0, MyCoolArray1 и тп. Но была цель оптимизироваться по памяти в первую очередь. После 16ти элементов уже была реализация MyCoolArrayN с массивом честным.

Потом это через виртуализацию разруливается на калсайте. Да, сдеградируешь на вызовах функций, но зато выигрываешь по плотности укладки в памяти.

Если совсем с ума сойти, можно ваще сделать «value types у нас дома» через VarHandle + byte[]. Производительность должна быть на уровне, тк JIT потом это всё вклеивает нормально.

конечно, это крайне костыльно, потому что JVM:(
Комментарий отредактирован: 29 ноября 2024, 14:46 (5 раз)
KCEPOKC
да я честно даже не знаю какие ещё скриптовые языки кроме вышеперечисленных есть хоть сколько-нибудь популярные.

Angelscript + C++ очень похож на groovy + java

типа, пара компилируемый и скриптовый языки, которые очень друг на друга похожи. что очень удобно.
KCEPOKC
Надеюсь нет, я боюсь мальчиков в чулках
KCEPOKC
А вообще эта задача уже решена в специализированных языках, волфрам например.

мы же прикладные кодеры народ простой — нам джейсончик переложить и изредка литкод порешать.

а академической работой пусть занимаются учёные на грантах. а от изобретения до индустриального применения проходит какое-то время.

ну к примеру тот же paxos. очень сложный капец, поэтому придумали raft для решения задачек попроще.
KCEPOKC
да, даун, а что??

ну а чё он блицы свои сидит дёргает на дворе уже 2024век все норм ребята уже кодят на расте
KCEPOKC
Нуууу… смотря каким уровнем себя представляют.

Если человек называет себя сеньором но при этом не может атомарно работать с конкурентной мапой, а прод «не упал» только потому что ревьюер уже в сотый раз смог это заметить…

А по поводу второго, это зависит от задач. Я тут задушнил не спорю, потому что в 99% случаев тебе будет достаточно простого решения. но в случае где его недостаточно… из недавних примеров, замена EnumMap на ConcurrentHashMap просто чтобы «па-быстраму» сделать класс тред-сейф положила кластер. А вот это на ревью пролетело к сожалению.

По поводу третьего это прямо моя личная жопоболь, когда ты встречаешь в коде воздушный замок который какой-то челик построил сто лет назад. А тебе нужно там что-то поменять. По итогу проблема добавить одно поле в POJO превращается в путешествие туда и обратно только потому что кто-то до тебя решил что тут нужно байткодогенерацию зафигачить.

Сорри за оффтоп уже конкретный от сабжа.
Комментарий отредактирован: 27 ноября 2024, 19:23 (3 раза)
KCEPOKC
я вот скоко работаю (байесд, не спорю), от чего реально горела жопа и из-за чего людей увольняли:
1) неправильный канкаренси код
2) неэффективные структуры данных
3) решение выдуманных проблем
KCEPOKC
> начинаются извращения с венгерской нотацией типа long timeMs; double speedKmh

А минусы будут?
в джаве тем более это экономия аллокаций.

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

Опять же, имхо, настоящая проблема в ЯП это читаемость кода, а ещё важнее читаемость многопоточного и асинхронного кода. А вот эти все вещи типа «а какой иерархией типов и перегрузками мне выразить мою идеальную модель», за решением таких паззлов это к хаскеллу и прочим функциональщикам. Т.е. кодить не за деньги.

В реальной жизни ты:
1) чтобы не ошибиться в вычислениях тестируешь код
2) если тебе надо вычислить физ величину ты просто её вычисляешь. ты не думаешь.
Комментарий отредактирован: 23 ноября 2024, 18:05
KCEPOKC
прикольно, не знал

но тут же всё логично — так работает линал
KCEPOKC
у перегрузки операторов есть плохое свойство: они вызывают код неявно.

холиварная тема, но именно из-за неё в джаве например от перегрузок отказались.

то есть если ты будешь читать какой-то код без возможности быстро прыгнуть в дефинишены, тебе вариант с конструкторами или методами подойдёт гораздо больше.
KCEPOKC
ты как человек даёшь осмысленность и названия разным комбинациям измерений.
так что логично что тебе нужно их перечислить будет. и самому описать правила их взаимодействия.

кроме того, с конструктором ты получишь как бонус невозможность попутать местами время и расстояние.
KCEPOKC
Очень просто решается проблема — берёшь и прячешь от калсайта конкретную меру а показываешь измерение (прим. `TimeSpan` из c#).
KCEPOKC
капец за что, одна ошибка и я ошибся! я нажал энтер и он сразу опубликовал топик! вот просто так!

а ещё он не дал сделать предпросмотр покуда я не укажу минимум 2 тега
KCEPOKC
Блин копец от этого движка вайбы как от интернета нулевых. Даже не знаю от чего запах старости сильнее — от булки или от этого.

Но прикольно конечно что есть силы развивать булку.

Передаю чаю.