Arthur
18.09.2017
15:56:36
а вот эти вот монады, позволяют поддерживать код в рабочем состоянии
не увеличивая сложность понимания
Oleksandr
18.09.2017
15:57:12
не надо недооценивать эти "мелочи"
они складываются
Google
Oleksandr
18.09.2017
15:57:57
"ой, а я докуплю лишнюю ноду" кмк непрофессионально
Arthur
18.09.2017
15:58:46
имхо, наша работа делать так что у бизнеса было хорошее соотношение цены/бизнес велью
а дрочить на байты, это к тем кто пишет драйвера или jvmку
Oleksandr
18.09.2017
15:59:18
я ничего не имею против монад, тайпклассов и тд (разве что иногда), я за баланс усилия/профит
стдлиба — одно из тех мест, которое очень выигрывает от микрооптимизаций, тк юзается везде, в тч и в запросах к бд
Arthur
18.09.2017
15:59:59
я уверен что вы найдете куда большие проблемы в своем приложении, чем оверхед на мусор в виде монадок
насчет коллекций, увы, само по себе юзание иммутабельных коллекций даст оверхед если не делать это правильно
Oleksandr
18.09.2017
16:00:32
нет монад — нет оверхеда
Arthur
18.09.2017
16:00:55
ибо тупо добавить елемент в конец списка = переписать всю цепочку указателей
Oleksandr
18.09.2017
16:01:41
ну боксинг туда-сюда — зло же
Arthur
18.09.2017
16:01:55
там специализация вроде как есть
Oleksandr
18.09.2017
16:02:10
Google
Arthur
18.09.2017
16:02:21
диагноз ясен ))))
Oleksandr
18.09.2017
16:02:41
у го свои минусы, у скалы свои
Arthur
18.09.2017
16:03:16
ну просто писать хайлоад байтодроч на скале, это какбы, извращение
в итоге, упретесь в gc джавы
а код превратится в непонятно что
Oleksandr
18.09.2017
16:04:08
да в этом и киллерфича скалы, можно варьировать абстракции от фримонад на шейплесе до подсчета байтиков и полной мутабельности
Daniel
18.09.2017
16:04:29
В Гц? %)
Arthur
18.09.2017
16:05:09
намекаете на отключение gc и покупку 256 гигов оперативки с рестартами раз в день?)
просто gc, это та часть, на перфоманс которой вот уже точно не повлиять, она будет время от времени фризить приложение
как бы у вас еффективно память бы не рассходовалась
Oleksandr
18.09.2017
16:06:15
эм, нет
Daniel
18.09.2017
16:06:20
Намекаю на то что заявление с потолка.
Arthur
18.09.2017
16:06:30
окей
Oleksandr
18.09.2017
16:06:59
не, ну если на каждой итерации по 1000000 списку делать аллокации, то офк будет
но можно же нормально писать
Nikita
18.09.2017
16:08:03
Кто нибудь мапил play-json валидации в wix accord?
Arthur
18.09.2017
16:09:50
Намекаю на то что заявление с потолка.
ну память то надо дефрагментировать как-то, мое заявление сделано на основе опыта компании, пишушей hft на джаве, и отключивших gc в итоге по понятным причинам
Daniel
18.09.2017
16:12:46
Я не говорил что это невозможно. Но это далеко не единственная причина. И зависит очень сильно от конкретного кейса.
Oleksandr
18.09.2017
16:13:23
"в джаве можно упереться в гц, поэтому можно забить на оптимизации" — в корне неверная позиция
Arthur
18.09.2017
16:13:55
моя позиция, что для разных задач есть свой инструмент
Google
Arthur
18.09.2017
16:15:47
и если у вас задача которая требует оптимизации более низкоуровневой чем запросы в разные другие места и обработка промежуточных результатов, то поидее вам нужен другой инструмент, но это мое субьективное мнение о скале
манипулировать миллионными коллекциями, это в принципе не кейс приложения в основном, для этого есть бд с индексами
но если у вас такие задачи, то я по хорошему завидую, это весело должно быть)
Oleksandr
18.09.2017
16:18:26
для каждой задачи кеша будешь поднимать редис?
казалось бы, что может быть сложного у обычного лру кеша
Arthur
18.09.2017
16:19:28
менеджить внутренний стейт = повысить сложность масштабирования
Oleksandr
18.09.2017
16:19:37
то есть да?
Nick
18.09.2017
16:19:51
hazelcast нужно выкинуть значит
Oleksandr
18.09.2017
16:19:52
в какой компании такое происходит?
Arthur
18.09.2017
16:19:53
зависит от того сколько мне кеша надо
Nick
18.09.2017
16:20:34
apache ignite тож на джаве писан - гавно, нужно выкидывать
Arthur
18.09.2017
16:20:45
троли подтянулись)
Nick
18.09.2017
16:20:50
хотя там некоторые террабайты в инмемори хранят
KrivdaTheTriewe
18.09.2017
16:21:52
проще взять мейнфрейм
Arthur
18.09.2017
16:22:00
Nikita
18.09.2017
16:22:04
Arthur
18.09.2017
16:22:21
я думаю редис легче масштабировать и поддерживать чем ваш милый самопис
Oleksandr
18.09.2017
16:22:32
Arthur
18.09.2017
16:22:36
акка позволяет удобно менеджить стейт
Google
Oleksandr
18.09.2017
16:22:45
ну ладно, что
Arthur
18.09.2017
16:23:04
Oleksandr
18.09.2017
16:23:37
да, весело у вас там
Arthur
18.09.2017
16:23:43
Wystan
18.09.2017
16:23:53
>джава выступает сугубо прокладкой между базами
Согласен на 98 процентов.
Arthur
18.09.2017
16:24:37
щас тут начнут вести список формошлепов, пороху не нюхавших)
Wystan
18.09.2017
16:25:13
Это еще у Мартина Одерски так выступление work hard to keep it simple начиналось, что многие приложения - это круд странички, но типа уровень воды поднимается и это будут островки
Да у хорошей CRUD архитектуру порох начинается на таком лоаде, что 90 процентов бизнеса никогда не эволюционирует до него.
Arthur
18.09.2017
16:27:00
люто плюсую, в IT вообще часто любят оверинжинирингом заниматься
споря в какую бд получить свои нещастные 100 гигов данных
Oleksandr
18.09.2017
16:27:23
говорит любитель фримонадок :)
Aleksei
18.09.2017
16:27:35
разговоры какие то, прямо как на собесе у экзанты
Oleksandr
18.09.2017
16:27:46
ничего не имею против них, но забавно слышать "оверинжиниринг" в таком контексте
Arthur
18.09.2017
16:27:46
фримонадки позволяют писать отлично тестируемый код
и это важно для бизнеса
Oleksandr
18.09.2017
16:28:17
да почти что угодно позволяет это делать
Arthur
18.09.2017
16:28:19
в этих вот прекрасных компаниях которые я назвал
qa было по одному на команду из 15-20 девелоперов
и было все прекрасно и радужно
Oleksandr
18.09.2017
16:29:17
на этой чудесной ноте дискуссию можно и прекращать)
Google
Arthur
18.09.2017
16:29:25
моки на каждом шагу, это не хорошое и легкое тестирование
у каждого свое мнение)
Wystan
18.09.2017
16:30:28
Arthur
18.09.2017
16:31:01
этого не случится, если писать тесты, а еще лучше по tdd как викс
ибо сломав что-то не той строчкой кода
Kirill
18.09.2017
16:31:10
Arthur
18.09.2017
16:31:12
ты на тестах увидишь все
Nikita
18.09.2017
16:31:24
у хорошей команды разработчики в oncall находятся
и поэтому сами пишут тесты :)
Arthur
18.09.2017
16:31:47
Kirill
18.09.2017
16:32:36
Oleksandr
18.09.2017
16:32:39
ты на тестах увидишь все
огромный % багов (с тз бизнеса) никак не покрывается тестами
и вообще тесты не столько "проверяют" качество кода, сколько не дают наступить на одни грабли дважды
Arthur
18.09.2017
16:32:49
у вас есть логика приложения и IO
логика приложения кроется тестами на 100%
на IO пишется спека и две реализации, продакшн и для тестов, инмемори
обе реализации тестируются одной и той-же спекой
и в итоге все отлично