@jvmchat

Страница 2167 из 2890
sherzod
17.01.2018
21:13:03
ну хотя бы в аргументах надо указать

Arsen
17.01.2018
21:13:08
из-за final var?
а от этого уже добровольно уходят

Mikhail
17.01.2018
21:13:13
из-за stream API

sherzod
17.01.2018
21:13:41
шутки шутками а ведь правда

Google
Vyacheslav
17.01.2018
21:15:04
из-за stream API
До сих пор нормально не знаю стримов

Понимаю, простые писать умею

Но юзать нормально их не умею

sherzod
17.01.2018
21:15:34
темп в ИТ всё таки бешенный, есть же "простые" люди, не сильно замкнутые на этот темп, просто живущие

Oleksandr
17.01.2018
21:16:35
Но юзать нормально их не умею
в джаве апи хреновое, забей, дизайн очень упорот (хотя на то есть причины, и я даже их принимаю)

Mikhail
17.01.2018
21:16:58
Каждый может сделать посильный вклад отказавшись от использования новых API и возможностей языка Java. Давайте покажем, что такие корпорации как Oracle не могут бесконечно преследовать свою выгоду игнорируя интересы сообщества. С любовью, команда Авааз

sherzod
17.01.2018
21:17:04
я помню декана, читал нам лекцию по схемотехнике, сам был прогером, прогал еще на перфокартах. в какой-то момент отстал и выпал из профессии

Oleksandr
17.01.2018
21:17:05
тем не менее, джавовские стримы — отстой

Vyacheslav
17.01.2018
21:17:15
Вполне себе норм. И учитывая что будут релизы через полгода, всё будет ещё лучше становиться

тем не менее, джавовские стримы — отстой
Стримы хорошая тема, но их нужно уметь готовить

sherzod
17.01.2018
21:18:12
да ладно, чего там уметь-то

Oleksandr
17.01.2018
21:18:24
в те редкие случаи, когда мне приходится писать на джаве, я предпочитаю по-старинке с итераторами и циклами, чем ломать голову

Google
Oleksandr
17.01.2018
21:18:45
прекрасно понимаю тех, кто гонит на стримы бочку

Vyacheslav
17.01.2018
21:18:48
да ладно, чего там уметь-то
Да вот такое я сам не напишу return Optional .ofNullable(source) .map(JSONObject::new) .map(Field.wall::optJSONObject) .map(Field.attachments::optJSONArray) .map(JSONArray::toList) .map(List::stream) .orElseGet(Stream::empty) .map(Map.class::cast) .map(JSONObject::new) .map(Field.photo::optJSONObject) .filter(Objects::nonNull) .flatMap(o -> PhotoSize.stream().map(p -> p.optString(o)).filter(Objects::nonNull).limit(1));

Oleksandr
17.01.2018
21:19:24
а че тут сложного-то ?

Oleksandr
17.01.2018
21:19:55
куски типа .map(Map.class::cast) только :trollface: и вызывают

Vyacheslav
17.01.2018
21:20:22
https://github.com/shnaps/Saver/blob/e43ec8fb7710c87ad8f21c8fd4f62c4dfa0f81da/src/main/java/me/shnaps/ParsingService.java#L107

Было такое, стало что я выше кинул

Читабельнее как по мне. Но такой стрим я не напишу

Mikhail
17.01.2018
21:20:46
тем не менее, джавовские стримы — отстой
да кто ж спорит. но даже если в джаве с ее черепашачьей скоростью изменений людям сложно бывает...

Oleksandr
17.01.2018
21:20:47
ох бля

Vyacheslav
17.01.2018
21:20:49
Вот так вот просто

sherzod
17.01.2018
21:21:00
апи всё-таки хреновое простые вещи (типа приведённого) писать легко, сложные в месиво превращаются из-за образующихся глубоких вложений

Vyacheslav
17.01.2018
21:21:28
а матч-кейс нельзя было?
Не, там жсон с большой степенью вложенности. + 3 элемента могли варьироваться

Могли быть, а могли и не быть

Oleksandr
17.01.2018
21:22:25
Vyacheslav
17.01.2018
21:22:47
В итоге теперь это https://github.com/shnaps/Saver/blob/7a23f00f5f1a12f2e1588db7a7567e8fe654dbe9/src/main/java/me/shnaps/ParsingService.java#L38 и https://github.com/shnaps/Saver/blob/master/src/main/java/me/shnaps/PhotoSize.java это

Google
Mikhail
17.01.2018
21:23:31
Я ж говорю, что я не умею готовить стримы
я к тому что и не нужно стремиться писать такое ээ

Vyacheslav
17.01.2018
21:23:53
я к тому что и не нужно стремиться писать такое ээ
Нужно стремиться писать лучше чем ты сейчас умеешь

Я бы дальше этот стрим покрасивше переписал, но у меня лапки

sherzod
17.01.2018
21:24:33
Нужно стремиться писать лучше чем ты сейчас умеешь
да норм написано, просто цепочка слишком длинная, про это говорят но если разбивать в джаве плоховато получится

Mikhail
17.01.2018
21:24:56
чего это?

Oleksandr
17.01.2018
21:25:16
нет компрехеншнов

sherzod
17.01.2018
21:25:16
из-за того что var-а нет еще

Vyacheslav
17.01.2018
21:25:40
Ну почему плохо? По хорошему, я могу прикинуть дезигн, при котором этот стрим на 3 маленьких функции разобьётся

Mikhail
17.01.2018
21:25:42
я не понимать

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

Mikhail
17.01.2018
21:26:47
тот же принцип в скале. там ты можешь не объявлять тип, но в данном случае лучше объяви для читателя

sherzod
17.01.2018
21:28:14
вообще это надо в закладки бросить))

мапмапмапмапмап

Vyacheslav
17.01.2018
21:29:19
А?

Mikhail
17.01.2018
21:29:41
sherzod
17.01.2018
21:30:18
надо andSoOn добавить

Vyacheslav
17.01.2018
21:33:46
НУ ТАК ПОЛУЧИЛОСЬ

ПРОСТО АПИ ПЛОХОЕ

Google
sherzod
17.01.2018
21:36:22
https://github.com/datamoth/datamoth/blob/master/datamot/src/main/scala/io/github/datamoth/dm/Worker.scala#L102

Щытай что мы квиты

Vyacheslav
17.01.2018
21:37:42
Мортал Комбат ин да хаус

Admin
ERROR: S client not available

sherzod
17.01.2018
21:38:07
Зато я иконку красивую нарисовал

Mikhail
17.01.2018
21:38:57
https://github.com/datamoth/datamoth/blob/master/datamot/src/main/scala/io/github/datamoth/dm/Worker.scala#L102
Шерзод, тебе надо еще раз серьезно подумать про выбор профессии

еще не поздно!

sherzod
17.01.2018
21:40:03
я просто еще не знал про мапмап тогда

Vyacheslav
17.01.2018
21:42:46
В общем, выглядит забавно

Но главное чтоб работало

Oleksandr
17.01.2018
21:46:58
*сохранил, буду пугать детей этим

Vyacheslav
17.01.2018
21:47:46
А потом будешь рассказывать страшные сказки про elegant objects?

Oleksandr
17.01.2018
21:48:06
да его забудут через год

там говорить не о чем

type Ok[+A, +B] = Left[A, B] type No[+A, +B] = Right[A, B] бгг

Vyacheslav
17.01.2018
21:48:33
Его забудут, а мемчики останутся

Alexey
17.01.2018
22:20:37
никто случаем не проходил курс grokking the systems design interview ?

Kyrylo
17.01.2018
23:22:23
Про стримы в жабе - есть такая библиотечка vavr.io Не сильвер пуля, но есть интересные пассажи

Kirill
17.01.2018
23:41:54


Baruch
17.01.2018
23:58:27
редкая проницательность!

Google
Vitalii
18.01.2018
05:00:30
ну ок, давайте посчитаем процент коллег с опытом 10+ в индустрии?
Они все в моей компании, видимо, ибо дохрена людей 10+, 12+, 14+. Рядом со мной сидит коллега вообще че-то около 16 лет опыта. Правда не Энтерпрайз и большинство -- не джава. Может это в этом вашем Энтерпрайза народ такой трепетный? ? Ниче, живут, работают, так и не скажешь, что динозавры. В прошлой компании такой был как минимум один, а команда была небольшая.

ds
18.01.2018
05:14:06
в 35 программист почти пенсионер
возраст - это состояние души, а стареть человек начинает, когда перестает учиться)

Vyacheslav
18.01.2018
05:27:41
Лол, взгляните на Баруха

Вот вам человек, у которого всё норм

Andrey
18.01.2018
05:36:47
А он девелопером работает?

Vitalii
18.01.2018
05:55:46
А он девелопером работает?
Говорят, он юрист.

Евгений
18.01.2018
05:58:15
все-таки адвокат

Sergey
18.01.2018
06:07:33
по уголовным делам, когда кто то в очередной раз хоронит груви — Барух будет на месте преступления

Timur
18.01.2018
06:12:13
Andrei
18.01.2018
07:29:11
Ребята, вопрос по best practices в области ORM: вот есть legacy база данных с совершенно уродским с точки зрения гуёв дизайном. Есть классические hibernate entities и удобная gui модель с REST. Как всё это по-хорошему связывается без DTO и мапперов? Наклепать репозиториев для projections, слать их на фронты, получать потом обратно, lazy - фетчить hibernate entities по айди через EntityManager, сетать все значения из проекции и сохранять?

Andrei
18.01.2018
07:37:23
А чем тебя дто и мапперы в этом случае не устраивают?
Ну они нужны будут в итоге всё равно только в 15% случаев, а для остальных 85 создавать объекты 1 в 1. Как-то слишком много тупого кода

Страница 2167 из 2890