powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / кодилити литкод и прочее задачки
25 сообщений из 198, страница 2 из 8
кодилити литкод и прочее задачки
    #40039863
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunka
авторОдин из папских посланцев прибыл в город Флоренцию к художнику Джотто ди Бондоне, пообщался с ним и попросил несколько рисунков для демонстрации мастерства. Джотто улыбнулся, взял лист бумаги, макнул кисть в красную краску и одним движением нарисовал абсолютно правильный идеально ровный круг.

- Вот рисунок, отвезите это Его Святейшеству – сказал художник...

Придворного посланника круг не впечатлил. Более того, он решил, что над ним издеваются и насмехаются.

Ему хотелось получить нормальный, классический рисунок, желательно на библейскую тему. Поэтому он стал спорить и требовать что-нибудь посолиднее, чем простой ровный круг. И тогда Джотто сказал:

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

Папа Римский всё понял. И пригласил Джотто участвовать в украшении собора Святого Петра. После чего художник стал знаменит, богат и получил множество заказов на фрески и мозаики в других храмах Италии.


Умение решать задачи с литкода это сродни круга Джотто ди Бондоне
я умею разворачивать листы. да. молодец. а теперь разверни докер. :)

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

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

всё же у меня вопрос. за какой срок на изи вы решаете задачки?

я в гадилити изи решаю от 15ти минут до 3х часов на задачку )))

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

да пошло оно всё.

бомбит.

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

уверен эффект будет тоже как у того итальянца.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40039865
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Lelouch



пропущено...
- только у тебя в вызове второй параметр явно не pageable

P.S. По коду похоже, что ищешь пользователей, которые не участвовали в опросе.

а кто сказал,что я его туда не дабавлю? конечно никто не будет выгружать все и целиком- там по 2-3 млн записей в среднем

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

[/src]


это всё относительно. и надо смотреть конкретный случай ну это мой личный опыт. ты фетчишь с джойном всё что надо для выборки - у тебя запрос играет скажем 10 секунд. ты бежишь по циклу у тебя 10 запросов по секунде.
в итоге задача одного запроса решена. но перформанс чот ни разу лучше не стал :)
но в хибере есть всякие свистелки-перделки которые тебе позволяют вытаскивать только то что надо и тогда выходит малость быстрее.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40039877
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,
>я таки проведу эксперемент все равно
Бла бла бла
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40039900
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У задач с коллекциями есть два аспекта. Первое - это решить корректно . Ну тоесть чтобы ваш
тест-кейс зашел в зеленый сегмент. С этим у вас все чики-пики. Решаете. Вовлекая сущности мира
Collections, Streams e.t.c.

И второй аспект - это оптимизация потребления памяти . Я о нем думаю постоянно. Heap не резиновый.
А коллекции из баз данных обычно во много раз превышают размеры доступной памяти.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40039923
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,

Это хорошо, только в данном коде по прежнему есть проблемы.
Если я правильно помню, hibernate по умолчанию использует передачу параметров с помощью setParameter у PreparedStatement (он умеет еще и инлайнить значения прямо в строку запроса). У баз данных часто есть ограничения на количество параметров в запросе, например ~2000 в MS SQL.
Поэтому, если findAllByPollIdAndDebugFalseOrderByIdAsc может вернуть несколько тысяч записей, необходимо разбивать коллекцию идентификаторов PollChannel на пачки и запрашивать данные для каждой пачки отдельно.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40039962
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос вобщем ко всем участникам.

Zzz79

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 public List<RespondentResponse> response(Long pollId
      , String value) {
    return pollChannelsRepository.findAllByPollIdAndDebugFalseOrderByIdAsc(pollId).stream()
        .map(x -> {
          RespondentResponse resp = new RespondentResponse();
          resp._id(x.getId().toString())
              .createdAt(x.getCreatedAt().getTime())
              .respondents(answerPollsRepository.findAllByPollChannelIdAndStatus(x.getId(), EAnswerPoll.AnswerPollStatus.NOT_STARTED).stream()
                  .map(y ->
                      new RespondentDto<>().email(y.getParameters().get("mail"))
                          .value(y.getParameters().get(value))
                  ).collect(Collectors.toList()));
          return resp;

        })
        .collect(Collectors.toList());
  }




Я желтым маркером отметил подозрительный Performance-smell, который мне не нравится.
Я пока не готов сказать что этот код не проходит review. Если он прошел тестирование - то хорошо.
Но мой вопрос касается философии работы stream-технологий и дополнительных расходов.
Если мы можем уйти от боксинга или от форсирования коллекций и работать только на уровне
стримов - то давайте работать.

Сколько-бы много на серверах у вас не стояло памяти - а при параллельной эксплуатации
запросов мы увеличиваем вероятность OutOfMemoryError.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40039987
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
У задач с коллекциями есть два аспекта. Первое - это решить корректно . Ну тоесть чтобы ваш
тест-кейс зашел в зеленый сегмент. С этим у вас все чики-пики. Решаете. Вовлекая сущности мира
Collections, Streams e.t.c.

И второй аспект - это оптимизация потребления памяти . Я о нем думаю постоянно. Heap не резиновый.
А коллекции из баз данных обычно во много раз превышают размеры доступной памяти.

вроде есть тру стрим интерфейсы которые действительно стримы а не коллекции в стрим-враппере. но это кажется зависит от бд.

в любом случае согласен. ту коллекшн - это должен быть финальный шаг а не два по середине.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40039989
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мой поинт вообще не касается БД. Я просто говорю о философии. Если мы взялись использовать стримы - то зачем
в середину конвейера вставили массив? Просрали все полимеры память.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040065
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,
Ты можешь что угодно писать.
Но тебе говорили выше
- ты не тестировал под нагрузкой
- ты не писал высоконагруженные системы
- ты не закончил курсы по субд
Поэтому код выше это просто прикол про стримы от java8.
Хайп про микросервисы уже прошел.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040070
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,

Он говорил что сам метод должен возвращать не List а Stream
Тогда
Код: java
1.
2.
3.
Stream strim = responseList()
//тут запрос к бд еще не пошел!!! 
myModify(strim) 
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040071
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
PetroNotC Sharp

- ты не тестировал под нагрузкой
.

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

Мы не видели ни разу.
DDL тоже не видели
"тормозит от количества join" твои слова)))))))
22270936
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040134
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,
>запрос к бд идет вне стрима
Переведи фразу
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040141
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Zzz79#22271707]
PetroNotC Sharp
Zzz79,

Он говорил что сам метод должен возвращать не List а Stream
Тогда
Код: java
1.
2.
3.
Stream strim = responseList()
//тут запрос к бд еще не пошел!!! 
myModify(strim) 



и в чем тут смысл? запрос к бд идет вне стрима .Получаем две коллекции и в стриме мапим из них коллекцию нужных объектов


Вообще можно переписать код так, чтобы все обращения к БД были в рамках Stream. И при этом почти полностью избавиться от формирования коллекций внутри стрима (коллекции все-таки потребуются из-за загрузки данных подзапроса)
Например, можно написать примерно такой код:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Stream.of(null)
    .map(ignored -> pollChannelsRepository.findAllByPollIdAndDebugFalseOrderByIdAsc) // Получаем данные первого запроса
    .flatMap(channels -> ListUtils.partition(channels, 1000).stream()) // Разделяем на пачки для подзагрузки ответов
    .map(channels -> Pair.of(channels, channels.stream().map(c -> c.getId()).collect(Collectors.toList())))
    .map(channelsWithIds -> Pair.of(channelsWithIds.getLeft(), answerPollsRepository.findAllByPollChannelIdAndStatus(channelsWithIds.getRight(), EAnswerPoll.AnswerPollStatus.NOT_STARTED)))
    .map(channelsWithAnswers -> Pair.of(channelsWithAnswers.getLeft(), channelsWithAnswers.getRight().stream().collect(Collectors.groupingBy(a -> a.getChannelId()))))
    .flatMap(channelsWithAnswers -> channelsWithAnswers.getLeft().stream(channel -> {
        RespondentResponse resp = new RespondentResponse();
	var respodentsStream -  channelsWithAnswers.getRight().getOrDefault(channel.getId(), List.of())
	                  .stream()
	                  .map(y -> new RespondentDto<>()
	                  		.email(y.getParameters().get("mail"))
	                  		.value(y.getParameters().get(value)))

        return new RespondentResponse()
            ._id(x.getId().toString())
            .createdAt(x.getCreatedAt().getTime())
            .respondents(respodentsStream); // Предположим, что поле имеет тип stream. Если поле имеет тип iterable/collection - можно написать обертку для Stream.
    }));



Правда я не уверен, что это хорошее решение:
- код переусложнен
- запросы к БД в данном случае скорее всего будут выполняться в отдельных транзакциях, что замедлит их выполнение. Чтобы они выполнялись в 1 транзакции - можно открывать и завершать ее в Servlet Filter (ну или использовать Spring open-in-view https://habr.com/ru/post/440734/))
P.S. этот код был бы гораздо мене ужасным, если бы это была не java а условные Kotlin/Scala (как минимум очень не хватает поддержки кортежей)
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040159
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Lelouch,не такое точно делать не надо - куча стримов,обращение к бд внутри стрима опять же,код сложно читается и скорей всего работает еще хуже чем читается.
оптимальный вариант делать 1 запрос и выгребать все рассылки по id опроса
далее запросы с пагинацией по 500 элементов к примеру и далее уже в стриме это размапить в респонс дто

я вот так это сделал
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    return answerPollMap.keySet()
        .stream()
        .map(x -> {
          RespondentResponse resp = new RespondentResponse();
          resp._id(x.toString())
              .createdAt(pollChannelList.stream().filter(y -> x.equals(y.getId())).findFirst().orElseThrow().getCreatedAt().getTime())
              .respondents(answerPollMap.get(x).stream()
                  .map(z -> new RespondentDto().email(z.getParameters().get("mail"))
                      .value(z.getParameters().get(request.getValue())))
                  .collect(Collectors.toList()));
          return resp;
        }).collect(Collectors.toList());
  }


1) как работает - замеры в студию)
2) У вас тут опять O(n * m) - .createdAt(pollChannelList.stream().filter(y -> x.equals(y.getId())).findFirst().orElseThrow().getCreatedAt().getTime()) вот тут линейный поиск, который вызвается N раз. Так что КМК мой вариант будет быстрее)
3)Мой код - это не пример "как надо"
Это пример - как все сделать стримом, не получая ничего до вызова collect на стриме
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040162
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Lelouch

1) как работает - замеры в студию)
2) У вас тут опять O(n * m) - .createdAt(pollChannelList.stream().filter(y -> x.equals(y.getId())).findFirst().orElseThrow().getCreatedAt().getTime()) вот тут линейный поиск, который вызвается N раз. Так что КМК мой вариант будет быстрее)
3)Мой код - это не пример "как надо"
Это пример - как все сделать стримом, не получая ничего до вызова collect на стриме

1.еще раз я не qa - замеры делают они - раз от них нет стонов - значит все норм
у меня бд лежит локально с парой записей для своих тестов - нагрузку делают qa-у них там дампы есть на хулиарды записей и мне оно нах не надо если честно - я не на фрилансе ,чтобы делать все за всех)
2.тут у нас 500 элементов - поверь мне это все будет в рамках одной итерации- так как на каждую рассылку 400к+ ответов
3.твой код это пример оптимизации- которая наглядно показывает,что оптимизаторов нужно бить палками)

4.зачем мне получать стрим и потом его все равно в лист мапить)))

ну и еще конечно вся эта тема цирк- 500 элементов сейчас перварит моя кофеварка - вас оптимзаторов нужно сжигать на костре!!!)


Смешно. Задайте самому себе вопрос - зачем вы собираете Map с соответствием channelId и ответов, чтобы потом линейным поиском искать для них channel? Что мешает сразу итерироваться по каналам?) видимо религия и отсутствие опыта.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040163
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Lelouch

2) У вас тут опять O(n * m) - .createdAt(pollChannelList.stream().filter(y -> x.equals(y.getId())).findFirst().orElseThrow().getCreatedAt().getTime()) вот тут линейный поиск, который вызвается N раз. Так что КМК мой вариант будет быстрее)

ты ошибся) ибо все это будет в рамках одного пол ченела))так что твой вариант априори будет медленней если вообще можно это сравнитвать в рамках обработки коллекции в 500 элементов- я на наших серверах такое могу вертеть и в хвост и в гриву с отликом 2-3 ms


В чем ошибся, в оценке сложности?) ну привели свою оценку и покажи, почему так)
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040168
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Lelouch
пропущено...


В чем ошибся, в оценке сложности?) ну привели свою оценку и покажи, почему так)

потому что O*1=O


То есть вы даже не знаете, что такое O-нотация?) Если что, поиск за константу - это О(1)

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

Обычно клиентам отдают не коллекции, а JSON, XML, etc. Внезапно jaсkson умеет серилизовать стримы: https://github.com/FasterXML/jackson-modules-java8/issues/3. Можешь ворваться к ним и сказать, что они идиоты

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

Жаль за неумение читать вас не били) Вы же до сих пор не поняли, к чему был написан этот код)

Zzz79далее по их id раскидываю ответы в мапу - где ключ это id poll_channel
Что и где вы "раскидываете по мапе"?

Zzz79покажи как бы это сделал ты - только вот без того говнокода что был выше

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 public List<RespondentResponse> responseList(Long pollId, String value) {
    var pollChannelList = pollChannelsRepository.findAllByPollIdAndDebugFalseOrderByIdAsc(pollId);
    var answerPollList = answerPollsRepository.findAllByPollChannelIdInaAndStatus(pollChannelList.stream() // O (N) для получения идентификаторов каналов
        .map(EPollChannel::getId)
        .collect(Collectors.toList()), EAnswerPoll.AnswerPollStatus.NOT_STARTED);
    var pollChannedlIdToAnswerMap = answerPollList.stream().collect(Collectors.groupingBy(y -> y.getPollChannelId()); // O (M) для получения словаря 
    return pollChannelList.stream()
        .map(x -> {
          RespondentResponse resp = new RespondentResponse();
          resp._id(x.getId().toString())
              .createdAt(x.getCreatedAt().getTime())
              .respondents(pollChannedlIdToAnswerMap.getOrDefault(x.getId(), List.of()) // O(1) поиск значения
                  .stream()
                  .map(y ->
                      new RespondentDto<>().email(y.getParameters().get("mail"))
                          .value(y.getParameters().get(value)))
                  .collect(Collectors.toList()))
          ;
          return resp;

        })
        .collect(Collectors.toList());

  }
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040171
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем кто в топике - советую посмотреть примеры работы с Apache Spark.
Это не Java-коллекции. Это специальный API который является дальнейшим развитием Hadoop/BigData
технологий, при том что запросы можно писать в Stream-style.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040172
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Lelouch,все это печально,вы даже не поняли сути)
вы случаем не тот индус-оптимизатор из боинга?особенно после вышего выстера - отдать клиенту стрим)
давайте закончим прения на этом,я вижу что вы являетесь профаном и скорей всего работаете на фрилансе- поэтому нет смысла с вами дальше дискутировать)


Классно сливаетесь) Ни конкретики, ни примеров)
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040173
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Всем кто в топике - советую посмотреть примеры работы с Apache Spark.
Это не Java-коллекции. Это специальный API который является дальнейшим развитием Hadoop/BigData
технологий, при том что запросы можно писать в Stream-style.

Я Flink так-то использую)
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040175
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Lelouch
пропущено...


Классно сливаетесь) Ни конкретики, ни примеров)

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


Тоже самое могу сказать про ваш код) Я тоже не видел, чтобы он работал)
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040180
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79

я вот так это сделал
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    return answerPollMap.keySet()
        .stream()
        .map(x -> {
          RespondentResponse resp = new RespondentResponse();
          resp._id(x.toString())
              .createdAt(pollChannelList.stream().filter(y -> x.equals(y.getId())).findFirst().orElseThrow().getCreatedAt().getTime())
              .respondents(answerPollMap.get(x).stream()
                  .map(z -> new RespondentDto().email(z.getParameters().get("mail"))
                      .value(z.getParameters().get(request.getValue())))
                  .collect(Collectors.toList()));
          return resp;
        }).collect(Collectors.toList());
  }


Я спрашивал простую штуку для джуна и уровня джуна.
При пошаговой отладке на коде выше, на какой строке кода пойдет первый запрос в бд?
ВЫДЕЛИТЕ СТРОКУ ВАШЕГО КОДА
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040183
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz,
Я почему спрашиваю уже второй раз одно и тоже.
Вот тут 22271707 ты не ответил и не объяснил свою фразу "запрос выполняется вне стрима".
НА КАКОЙ СТРОКЕ? Второй раз спрашиваю.
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040190
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Lelouch
пропущено...


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

он работает ) и куа молчат) ваш же пример - полня шляпа
единственно полезное я наверно уберу мапу из моего кода ибо смысла в этом нет -выборка на 500 элеметов и лишние преобразования наборот замедлят респонс

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


Вы ни привели замеров, ни базу, ни ddl, ничего. Применили предвыборку per rectum, получив тот же самый линейный поиск, от которого она избавляла. Не поняли, к чему был код со стримами (кстати, вы о реактивных стримах слышали? Код как раз будет похож). Ну и вам начали видится индусы.)

Я очень рад, что ваши qa молчат, значит вы находитесь в команде своего уровня.

Но я все-таки пожелаю, чтобы объём данных, проходящий через ваш код не увеличился хотя бы на 2 порядка, потому что чинить это будете уже не вы (вы же там в сеньоры собирались через полгода)
...
Рейтинг: 0 / 0
кодилити литкод и прочее задачки
    #40040195
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал тему про литкод а тут какие то базы какие то стримы какие то хиберы. Стасик ты ничего не перепутал? Создал бы свою темку а
...
Рейтинг: 0 / 0
25 сообщений из 198, страница 2 из 8
Форумы / Java [игнор отключен] [закрыт для гостей] / кодилити литкод и прочее задачки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]