Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
520 28 144

Java Thread #1.8 Аноним 15/05/19 Срд 23:00:13 14008541
java-snapback-h[...].jpg (23Кб, 600x600)
600x600
marquee-hat.jpg (80Кб, 1000x1000)
1000x1000
P6.jpg (24Кб, 480x480)
480x480
Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?

А: Нет, не поздно.

Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?

A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.

Q: Хули все книги на английском?

A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.

Q: Что скажете за джавараш?

Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.

https://github.com/qqqlll/Java-Thread/wiki
Аноним 15/05/19 Срд 23:15:24 14008572
Вечер в хату метод в анус аноны. Как перестать пилить хелоуворлды и начать делать что-то не нормальное? скорей всего я долбаёб если не понимаю что делать с имеющимися знаниям?
Аноним 15/05/19 Срд 23:41:13 14008723
Вообще ахуели, где мой перекат?
Аноним 15/05/19 Срд 23:47:05 14008734
Нужно реализовать самый простой делете запрос в репо.
Допустим я хочу удалить сообщение. Если я удаляю через бд - то мне сначала надо удалить записи в таблице с лайками, которые относятся к этому сообщению, а потом я могу удалить само сообщение ( может можно сразу и сообщение, я не знаю, но компилятор ругается)

Как реализовать такое через метод ? Надо перед методом прописывать логику удаления лайков из другой таблицы, относящимся к сообщению?(если да то как и на чем ? Или а методе это прописывиь ?) Или можно сразу снести сообщение?
Аноним 15/05/19 Срд 23:51:57 14008775
Сап аноны, помогите. Хочу, чтоб мне выдавало сообщения из репозитория, в которые входит хотя бы одно слово, которое я вбиваю в поиск.
Делаю метод
Find by text Containing Ignore Case - не работает, выводит сообщение, только если я его полностью вбиваю в поиск.
Аноним 16/05/19 Чтв 00:12:36 14008866
>>1400873
Если я правильно тебя понял, то тебе стоить повесить на сущность сообщения что то типа
@OneToMany(cascade = CascadeType.REMOVE)
Параметр говорит о том, что при удалении сообщения будут удаляться все связанные с ним сущности, в данном случае лайки.
Аноним 16/05/19 Чтв 00:23:00 14008947
>>1400877
findByTextContainingIgnoreCase(String word)

text - сообщение, должно быть поле в искомом классе;
word - слово для поиска, приведи к аппер кейсу перед передачей в метод
Аноним 16/05/19 Чтв 00:27:36 14008968
Аноним 16/05/19 Чтв 05:13:28 14009659
Аноним 16/05/19 Чтв 12:20:33 140108610
>>1400886
А если у меня все идёт в такой иерархии : юзер-сообшения-лайки, будет все и о юзерах удаляться с такой аннотацией ?

Я что-то не понял до конца как удалять, если я хочу просто удалять по айдишнику что-то, то мне не надо ничего в сервисах и репах писать, сразу написать логику в контроллере и реализовать отображение на сервере и все ?
Аноним 16/05/19 Чтв 13:13:19 140110111
>>1401086
Set<Likes> likes - такое поле есть в сообщении?
Аноним 16/05/19 Чтв 13:43:20 140110912
>>1401086
Нет, ты будешь удалять только дочерние сущности, как из названия видно Cascade (каскадно). То есть если у тебя буудет удален скажем юзер, который является родительской сущностью для сообщений, которые являются родительской сущностью для лайков, и у тебя будет везде стоять cascade remove, то при удалении юзера, удалятся все мессаджи и при этом при удалении каждого мессаджа удалятся лайки.
Насчет логики в контроллере.
Ну вообще принято всё таки делать сервисный слой который уже будет всю бизнес логику держать и общаться с базой через репу, но хочешь можешь прям в контроллере ебнуть, просто рано или поздно он разрастётся как хер згает что
Аноним 16/05/19 Чтв 13:43:21 140111013
>>1401101
Почти. Сет<User> likes = new HashSet<>.
Мне вообще хоть с каким-то удалением бы сначала разобраться.
Хоть юзера удалять и чтоб потом за собой тянуло и удаляло лайки и сообщения с сессией.
Я гуглю и не понимаю, везде разные варианты.
стандартный метод deleteById в одних ситуациях сразу вставляется в контроллер и все.
В других случаях он почему-то прописыватся сначала в одном сервисе (интерфейсе), потом имплемент в другой сервис, а потом уже контролер
Аноним 16/05/19 Чтв 13:44:46 140111214
Аноним 16/05/19 Чтв 13:46:32 140111315
>>1401109
Спасибо
>>1401110
На это я тогда получил уже ответ

Аноним 16/05/19 Чтв 13:59:06 140111816
>>1401110
Предлагаю создать таблицу like с user_id, message_id.
Тоже сделать в коде. В класс сообщения добавить сет лайков. С аннотацией onetomany cascade remove. И при удалении сообщения будут удаляться все лайки.
Аноним 16/05/19 Чтв 14:37:48 140112717
Есть джва оффера

1. Java 7, Spring, Hiber, React. Пилить только бэк, фронт - если будет желание.
2. Java 8, EJB, JSF. Фулстек.

На какой присесть?
Аноним 16/05/19 Чтв 14:44:22 140113318
Аноним 16/05/19 Чтв 15:36:23 140117219
Аноним 16/05/19 Чтв 16:25:07 140121220
Аноним 16/05/19 Чтв 17:14:01 140124621
>>1401127
Ye xtv nfv djcmvfz jnkbxftncz& Njkmrj kzv,ls? rjnjhst yt ckbirjv-nj dkbz.n yf aeyrwbjyfk b d офмфач ефидуМшуц
Аноним 16/05/19 Чтв 21:52:37 140145722
Есть тут эксперты по Apache CXF и OSGI?
Имею в blueprint.xml одного из бандлов вот такую штуку:

<jaxrs:server id="custom1Service" address="/rest1">
<jaxrs:serviceBeans>
<ref component-id="rest1ServiceImpl"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref component-id="jsonProvider"/>
</jaxrs:providers>
</jaxrs:server>

Хочу заменить blueprint на Bundle Activator, но не знаю как сконфигурировать внутри активатора xml описанный выше. Есть у кого варианты?
Аноним 17/05/19 Птн 10:19:03 140170223
Не мог всю ночь уснуть, а утром решил, что засыпать до вечера будет неправильно, поэтому решил вместо Спринга повспоминать Java Core . Под рукой планшет лежал, а там Stepik установлен. Оказывается, я уже когда-то подписывался на занятия по Java. Ну, думаю, поебланю, потыкаю в кнопочки, может чего вспомню из прочитанного в подготовке к OCA и OCP по-быстрому. Каково же было моё удивление, что буквально первые задачи на работу с битами. Пиздец.
Аноним 17/05/19 Птн 12:11:35 140174224
Помогите, пж.

Хочу удалять аккаунт, когда я уже залогинен на сайте.

@PostMapping("/deleteUser/{id}")
public String delete(@PathVariable Long id, Model model){
userRepo.deleteById(id);
return "redirect:/login";
}

и кнопка <form method="post" action="/deleteUser/${user.id}>

Хочу сделать без сервисов, сделал таким же способом удаления сообщений пользователя - все работает. Тут жму на кнопку - ничего не происходит.
Аноним 17/05/19 Птн 14:43:17 140181525
netbeans641vRuG[...].png (99Кб, 2339x990)
2339x990
1111.png (13Кб, 680x420)
680x420
111.jpg (164Кб, 720x960)
720x960
Привет 2ч. Друг попросил программу, чтоб рисовала диаграму ганта. На самом деле, преподы плохо проверяют, так что делаю под конкретные варианты задач. Думал, что с помощью JFreeChart красиво нарисую, но нет, чёт хуйня.
На фото тетрадочки - то, как должно было быть. В пастбине и первом скрине код. Второй скрин - диаграмма побольше.
https://pastebin.com/uDLE4Tfc

ЧЯДНТ? Почему не получается? Вроде, все цифры передал, обошел, загенерил датасет. А оно друг под другом детальки хуярит.
Аноним 17/05/19 Птн 14:57:22 140182026
>>1401815
А мы в шараге формочки в javafx рисуем с функционалом уровня "заполнить tableview данными из файлика"
Аноним 17/05/19 Птн 14:58:29 140182327
>>1401820
изначально план такой и был. Только в свинге, потому что в нетбинсе удобный встроенный редактор. Но время поджимает
Аноним 17/05/19 Птн 18:45:14 140194828
>>1400854 (OP)
>Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
>
>А: Нет, не поздно.
>
>Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
>
>A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.

Это что получается, начинать не поздно никогда, но в джаве путь только в энтерпрайз? Приходит такой дядя лет сорока на джуна и ему "милости просим!".
Аноним 17/05/19 Птн 20:47:58 140202629
>>1401948
> Приходит такой дядя лет сорока на джуна и ему "милости просим!".

А хули нет?
Аноним 17/05/19 Птн 22:30:34 140210730
заверните пожалуйста в функцию

byte[] bytes = new byte[]{-2,2};
StringBuffer buffer = new StringBuffer();
for(int i=0; i < bytes.length; i++){
buffer.append(Character.forDigit((bytes >> 4) & 0xF, 16));
buffer.append(Character.forDigit((bytes & 0xF), 16));
}
Аноним 17/05/19 Птн 23:47:14 140216731
>>1402107
Что это за ебола? HEX to syting что ли?
Аноним 17/05/19 Птн 23:49:20 140217032
>>1401948
А как ты хочешь, пришел в 40 тебе сразу синьор-програмодор, просто за то что ты дожил до 40?
Аноним 17/05/19 Птн 23:52:32 140217533
>>1401948
У нас так и было в эбаме. Взяли мужика 40 лет после курсов, потому что он со старой работы уволился чтобы вкатиться и надо было семью кормить. Все с ним общались на равных от мала до велика.
Аноним 18/05/19 Суб 00:23:35 140219434
>>1402175
Эбам всех рекрутит, тем более хули тут такого? Что ему 40 лет. Не вижу преград, хоть 50, кодит? -кодит, хули еще нужно?
Где старый тред нахуй? Аноним 18/05/19 Суб 09:31:03 140233635
Что блядь происходит?

Кто там с перекотами нахуярил?
Аноним 18/05/19 Суб 13:10:19 140238636
Твари...
Аноним 18/05/19 Суб 16:04:44 140249737
Что означает @Var в объявлении переменной
@Var ProgramGraph cfg = null;
я из сишарпа
Аноним 18/05/19 Суб 16:11:20 140249938
Аноним 18/05/19 Суб 16:13:03 140250139
>>1402336
Все старое - это хорошо вспомненное новое.
Аноним 18/05/19 Суб 16:26:31 140250440
>>1402499
Схуяли не кодит? Нахуй он тогда нужен? Хотя 90% епама говнокодит и как минимум пол года после курсов сидят без зарплаты на чистке кода.
Аноним 18/05/19 Суб 19:47:38 140258641
Как же меня доебало слово validate. Как его можно разнообразить?
Аноним 18/05/19 Суб 20:18:25 140259842
Аноним 19/05/19 Вск 23:03:57 140352643
Выручайте с maven плиз

Его надо отдельно скачивать и устанавливать, если у тебя идея ультимат?
Пытаюсь деплоить, так у дядек в гайде в проекте в папке таргет уже лежит джарник. А у меня нет джарников в этой папке. Это потому что я не скачал и не установил мавен или не включил его в начале при создании проекта ? Да нет же, включал в спринг инице. И как мне получить такой джарник в таргетах теперь ? Там в названии джарника ещё снапшот написано было
Пробовал билдить по гайду через прожект структуру, но там выходит что-то слегка другое и в папке аутпут, нежели то, что у дядек
Аноним 20/05/19 Пнд 02:52:11 140360544
>>1403526
>Выручайте с maven
>идея ультимат
Аноним 20/05/19 Пнд 08:37:22 140363645
>>1401742
Может, тип кнопки внутри формы неправильный? Должен быть submit, хотя он вроде по дефолту ставится, но попробуй явно указать.
Аноним 20/05/19 Пнд 13:26:52 140374246
Аноним 20/05/19 Пнд 13:32:23 140374547
>>1402107
Функция не подойдёт, надо биКонсюсер:
BiConsumer<Byte[], StringBuffer> zavernitePls = (bytes, buffer) -> {
for(int i=0; i < bytes.length; i++){
buffer.append(Character.forDigit((bytes >> 4) & 0xF, 16));
buffer.append(Character.forDigit((bytes & 0xF), 16));
}
}
Аноним 20/05/19 Пнд 17:25:01 140388148
можно как-то модера призвать, чтобы тег java запилил? оп хуй нихуя не проставил же
Аноним 20/05/19 Пнд 17:26:13 140388449
Аноны, в тестовом задании сказано сделать с использованием SpringBoot framework два варианта REST endpoints - в виде Spring RestController и Java Servlet.
Если с первым все понятно, то как правильно запихнуть в приложение на Spring сервлет? там ведь один-единственный сервлет, насколько я знаю, который перехватывает все запросы и распределяет по контроллерам
Аноним 20/05/19 Пнд 17:37:12 140388850
>>1403881
Чтобы сюда бегали дети из джава для нуба?
Аноним 20/05/19 Пнд 17:40:53 140388951
Аноним 20/05/19 Пнд 17:42:13 140389152
Аноним 20/05/19 Пнд 23:46:13 140404153
>>1403605
What's wrong?

>>1403526
Тебя обезьяны воспитывали, что ты объясняться нихуя не можешь? Джарник у них, потому что они проект сбилдили. И билдили они это вероятно через мавен-вкладочку в идейке (гугли). У тебя помник то хоть есть? Сделать из немавен проекта мавен проект - как нехуй делать, особенно в идейке - достаточно соблюсти файловую структуру правильную и пометить папки в идейке (а как это сделать гугли).
Аноним 21/05/19 Втр 10:28:43 140414554
как блен написать юнит тест для RestController?
делаю по этому гайду
https://www.youtube.com/watch?v=8S8o46avgAw
но в месте, где используется Autowired сущность вылетает NPE.
Аноним 21/05/19 Втр 10:31:25 140414855
>>1404145
чтоб автоваиреды работали нужно весь контекст поднимать, (@SpringBootTest), если хочешь юнит тест то надо мочить депенденси
Аноним 21/05/19 Втр 10:34:41 140415156
>>1404148
мне просто нужно повесить @SpringBootTest над классом-тестом? чото не воркает. И я не понял, что значит "мочить депенденси"(
Аноним 21/05/19 Втр 10:44:55 140415557
>>1404151
короче я заавтовайрил нужные штуки в классе-тесте и сеттерами их добавил тестируемую сущность. пиздос. зато работает
Аноним 21/05/19 Втр 13:20:53 140420558
Хороший полный туториал по Stream API где-нибудь можно раздобыть? Подскажите, пожалуйста, ссылку или даже книгу на тему.
А то зашёл вчера на stepik в курс от jetbrains с задачами по джаве и сильно загрустил.
Аноним 21/05/19 Втр 14:21:15 140423559
>>1404205
посмотри что-нибудь типа modern java in action. мож пойдет
Аноним 21/05/19 Втр 14:24:12 140423760
>>1404205
ну или шилдта смтори. у него последнее издание под 1.5к страниц. думаю, там есть все
Аноним 21/05/19 Втр 14:48:36 140424961
>>1404205
На том же степике есть курс по стримам.
Аноним 21/05/19 Втр 15:39:11 140425962
>2k20
>java
Вы тут все поехавшие.
Аноним 21/05/19 Втр 15:44:01 140426163
Аноним 21/05/19 Втр 15:54:04 140426464
>>1404205
Книжка есть, Лямбда-выражения в Java 8, Ричард Уорбэртон
Тоже нашел её и полистал после разочарования в себе на жидбрейнсском курсе
Аноним 21/05/19 Втр 15:58:22 140426565
Аноним 21/05/19 Втр 20:04:17 140435666
Какими средствами можно быстро реализовать очередь задач?
Сервису приходят сообщения. На основе каждого делается джоб в очереди. Если джоб выполняется, возвращается сообщение об успехе. Если джоб провалился, он попадает в очередь retry, в лог пишется ошибка и возвращается сообщение об ошибке.
Аноним 21/05/19 Втр 20:32:02 140436967
Хелп
Мне надо добавить в свою дипломную докер. Чисто на отьебись. Что можно реализовать ? У меня просто сайт в идейке на буте.

Сделать джарник проекта и сделать какой-то кейс с нужной джавой и бд и попытаться через докер задеплоить это на убунту? Или что? Докер же выполняет деплой ? Или просто какие-то процессы в кейсах развернуть?

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

Алсо видел в идее ультимат моей мелькало пару раз слово докер, что эта шняга делает ? Можно с ее помощью что-то сделать ? Или обязательно скачивать с сайта докера ?
Спасибо всем
Аноним 21/05/19 Втр 21:22:11 140440068
Расскажите про стажировку. У меня только один выход - епам. Назрела куча тупых вопросов.

1) я буду сидеть весь день и гуглить то, что мне сказал ментор утром и потом ему докладывать ?
Или мне надо будет его дергать каждые 5 минут и бегать к нему ? Или меня кинут на какой-то проект, пусть и учебный.
2) я буду сидеть в комнате с мидлами сеньорами и хрюшами, или меня запрут в какой-то подсобке? Как коллектив ? Я могу там пиздеть со всеми ходить, просить у всех помощи, или не имею права ?
3) все ходят со своим железом или там свое ? Если там саое, полная хуйня?
4) могут ли меня выгнать посреди стажировки ?
Будет ли там группа стажёров, или берут только по одному ?
5) можно там бесплатно питаться ?
6) какие шансы на успешную социализацию? Там веселые мужики, которые рофлят с двача, доты, футбола и прочей хуеты, или серьезные щашоренные дауны как в моем вузе, которых только код интересует?
7) каков шанс подкатить яйца к хрюше и выебать ее? Много ли там тян? Могу ли я свысока общаться с хрюшами и прочим скам персоналом ?
Аноним 21/05/19 Втр 21:23:19 140440169
>>1404400
Алсо допилю,
Очень сложно там находиться и выживать ? Если ты никогда целый день не пахал до этого ? Как вы справились
Аноним 21/05/19 Втр 22:00:34 140441370
Аноним 21/05/19 Втр 22:19:32 140441871
>>1404400
Мы вам перезвоним.
1) Он тебе все объяснит, ты же по общению с человеком можешь понять как с ним себя вести?
2) Зависит от офиса;
3) Если со своим железом то просто разворачивайся и уходи, нахуй такое место надо?
4) Ну если ты в реальности такой же долбоеб каким ты показался мне, и ты таким же покажешься там, то вполне;
5) Хз что ты под этим понимаешь, не во всех конторах сотрудникам оплачивают обеды, вряд ли на галерах так принято, но чай/кофе/печеньки вполне, если там их в достатке, а то аборигены могут обидеться;
6) Если ты лох по жизни, то и на галере таким же будешь. Разные люди, тебе сложно представить как разные люди (подпивасные дотеры и олимпиадник-задроты) взаимодействуют с другом? Открой мозг что ли, мысли шире;
7) Здался хрюше за 30 какой-то сопляк-даже-не-джун, ну камон, ну если ты альфая то наверное но что ты тут тогда делаешь? Вообще секас на работе может быстро превратить офис в серпентарий, ну нахуй оно тебе надо?
>Могу ли я свысока общаться с хрюшами и прочим скам персоналом
Охуенно ты о людях думаешь, браво, с таким подходом если ты не какой-то супер-гений-рокстар нахуй ты не нужен.
>Очень сложно там находиться и выживать
Ты в универе 8 пар не сидел что ли никогда? Ну и ты там не в литейном цеху стоишь как бы.
Аноним 21/05/19 Втр 22:19:55 140441972
>>1404413
Не опять, а снова.
Я не помню уже, что мне раньше отвечали. Скорее всего какую-то хуету, раз я вернулся
Аноним 21/05/19 Втр 22:20:10 140442073
Аноним 21/05/19 Втр 22:20:22 140442174
>>1404419
Ты бы быстрее по докам с докером разобрался чем тут спрашивал.
Аноним 21/05/19 Втр 22:20:59 140442275
>>1404356
Ты ограничен полетом фантазии, RabbitMQ, Kafka, Akka, rxjava и тд.
Аноним 21/05/19 Втр 22:24:08 140442476
>>1404422
Задача простая и средства решения должны быть такими же простыми. Не нужна ни кафка, ни пюрефка, когда на рест апи прилетают простые JSON'ы, по ним должна создаваться простая таска и класться в очередь. Надо как-то обойти инкапсуляцию и узнавать об ошибке обработки или успешности таска, и в зависимости от статуса таска выполнять некие действия.
Аноним 21/05/19 Втр 22:28:59 140442577
Аноним 21/05/19 Втр 22:36:33 140442678
>>1404425
Спасибо. Кажется, то что надо. JMS еще не изучал.
Аноним 22/05/19 Срд 09:54:07 140454179
>>1404400
1) ты будешь сидеть весь день и гуглить, а если гугл не помог идти к ментору за советом или рядом сидящим.
2) когда я был в лабе, меня посадили в опенспейс с остальными java-разработчиками, благо было место. Люди из лабытс другим стеком сидели все в одной комнате, на другом этаже.
3) железо не свое. Для работы хвататет с лихвой.
4) выгнать не выгонят, но если будешь не справляться, то намекнут, что как бы можно и получше стажироваться и либо не занимай место либо делай лучше.
5) у нас в офисе был бесплатный чай кофе молоко, фрукты. Хоть упейся этим кофе, всем пох. Плюсом было то, что на свой др каждый покупал пиццу на офис, а ему скидывались деньгами. С меня, как со стажёра, никто денег не брал, а др было чуть ли не каждый день у кого-то.
6) если ты можешь в социализацию, то с этим проблем не будет. Мне попались хорошие, люди всегда готовые помочь. А основном, в опенспейсе сидели все молодые шутливые, помидоры были в отдельной комнате.
7) шанс такой же, как и любую тян, с ними ты будешь пересекаться очень редко. Можешь общаться свысока с любым, но что тебе это даст?
Аноним 22/05/19 Срд 11:54:53 140456480
>>1404369
Есть сайт нужно его просто развернуть докер контейнере.
Тебе нужно написать dockerfile, который является образом(туда твой jar, маппинги портов и прочая чепуха), потом по этому файлу собираешь контейнер и вуаля, у тебя задеплоеное в контейнере прилижуха.
В идее ультимат действительно есть в конфигурациях билда докер, но вроде это всего лишь гуишка для написания вышеуказанного докерфайла и других докер приблуд, так что научившись делать это в консоли, не составит труда разобраться в идее.
Успехов
Аноним 22/05/19 Срд 12:44:13 140458881
>>1404356
>>1404422
>>1404424
>>1404426
Это снова анон, которому надо реализовать асинхронную очередь сообщений. RabbitMQ для нас оверкилл. Начал читать в книге по спрингу о JMS и автор предлагает скачать и установить Apache ActiveMQ. Но задача несложная. Как ее можно решить быстро и качественно без установки дополнительных оперденей?
Аноним 22/05/19 Срд 13:05:39 140459982
>>1403888
Соре, если вопрос тупой, RMI ещё актуальная технология? В "паттернах проектирования" много страниц посвящены этой штуке, я их пролистал, суть примерно понял, стоит углубляться в эту тему?
Аноним 22/05/19 Срд 19:41:09 140487683
>>1404588
Не пойму чо мешает заюзать BlockingQueue и обернуть ее в синглтон? Я же так понимаю, что у тебя очередь задач существует внутри аппликухи
Аноним 22/05/19 Срд 20:07:44 140488284
>>1404876
Ещё эту очередь задач надо сохранять между рестартами аппликухи.
Аноним 22/05/19 Срд 20:32:40 140489485
>>1404882
Бля ну тогда MQ. Или хранить эту очередь в KeyValue базе типа etcd. Совсем ебанутое решение - попробовать сохранять состояние очереди в файл на момент стопа JVM и восстанавливать при старте (но это для совсем отшибленных - я сомневаюсь что очередь успеет сдампиться во время хука да и в случае крэша все по пизде пойдет)
Аноним 22/05/19 Срд 20:46:49 140490486
>>1404588
>ActiveMQ
>быстро и без установки дополнительных
ActiveMQ легко встраивается в приложение
Аноним 22/05/19 Срд 20:49:33 140490587
>>1404882
Если нужно сохранять, то очевидно, что должна быть где то вне приложения, так что без установки доп хуевин предназначенных под эту задачу ты не справишься, можно конечно упороться и взять какую нить nosql базу типа Redis и с ней мучаться, но зачем писать велосипеды из костылей, когда есть хорошие готовые решения?
Аноним 22/05/19 Срд 21:23:05 140491688
>>1404882
Впрочем если тебе пиздец как жмет религия юзать проверенные решения и хочется велосипедов без доп-библиотек, то вот тебе один навскидку. При получении джейсона, создаешь сущность джобы, пишешь ее параметры в файлик (каждая джоба - отдельный файлик, что то типа name_timestamp) а саму джобу пихаешь в конкурентную очередь. Тредик берет джобу - выполняет - если все ок-норм - тредик должен файлик удалить, если нихуя - переносишь файлик в егор-папку, а джобу в другую конкурентную очередь. Если аппликуха наебнулась - первым делом парсишь свои джоб папку и егор-папку и восстанавливаешь очереди по тайму. Мимо >>1404876 анон

>>1404599
Не стоит
Аноним 22/05/19 Срд 22:45:51 140495589
Аноны, которые работают, расскажите, а вы реально по работе юзаете спринг/спринг бут?
Сейчас учусь на 3 курсе, был на нескольких стажировках, и, хоть в вакансиях и указан спринг, там используют в основном кучу всего другого.
Пример: Читаю требования - Spring, Hibernate, Spring Data. На деле стек совсем другой - Apache CXF, Camel, Felix, ActiveMQ.

Складывается ощущение, что на спринге все только учатся чтобы потом идти работать с чем-то более сложным.
Аноним 23/05/19 Чтв 01:18:25 140502590
>>1404955
Это работает вместе с весной.
Аноним 23/05/19 Чтв 09:11:42 140508691
>>1404955
>Apache CXF, Camel, Felix, ActiveMQ
Опять ты про ServiceMix? Не очень тебе повезло со стажировкой, если там ковыряешь эту не особо актуальную ерунду. Но сами CXF или ActiveMQ вполне себе используются вместе со спрингом.
Аноним 23/05/19 Чтв 11:52:44 140513292
>>1400854 (OP)
Подскажите как вкатиться в весну?
Аноним 23/05/19 Чтв 16:16:36 140522993
>>1405086
Да, опять я, двач тесен.
Судя по всему так и есть, не повезло. Хотя, узнал кучу нового, что будет полезно и вне Apache фреймворков. Всё лучше, чем на кровати валяться и деградировать.
Аноним 23/05/19 Чтв 16:29:51 140524594
>>1405132
Надо пережить зиму.
Аноним 23/05/19 Чтв 16:33:50 140524995
Посоветуйте, как реализовать отправку шаблонных емейлов. Суть такова: на апи приходит JSON, в поле данных которого может быть что угодно (он мапится на HashMap). Из этого json'а надо сварить емейл и отправить. Входящие пакеты могут быть разных типов (и разной структуры). Надо легко добавлять обработку новых типов пакетов. Обработка заключается в том, чтобы достать из пакета поля и вставить их в шаблон письма.
Как это можно реализовать ГИБКО и РАСШИРЯЕМО?
Я гуглю создание шаблонных писем на спринг буте, и пока что расширяется только мое очко.
Главное в задаче то, что нужно легко добавлять новые шаблоны писем и типы входящих пакетов.

Во входящем JSON могут быть ВЛОЖЕНИЯ. Их несколько штук. Перед отправкой на мой сервис они кодируются base64. При формировании письма эти вложения нужно декодировать и прикрепить к письму. Как лучше декодировать вложения, чтобы прикрепить к письму: в памяти или сбрасывать во временный файл?
Что делать, если вложение может быть тяжелым, например, 20 мб?
Аноним 24/05/19 Птн 02:02:19 140548996
Блядь, почему же так невыносимо тяжело даётся Stream API. Я вроде читаю документацию и вижу, что все методы выполняют вполне простые задачи, но их такое огромное количество и в построении так легко запутаться, что я в какой-то момент тупо сидел в ступоре некоторое время, стараясь немного разгрузить голову. Главное я вроде чужой код вижу - понимаю что он делает, но как только дело доходит до того, чтобы создать что-то своё - вот тогда начинает скрипеть голова.
Аноним 24/05/19 Птн 03:26:16 140550897
>>1405489
Это нормально, просто постоянно используй и привыкнешь
мимо-тоже-всегда-ебусь-с-ебаным-collect
Аноним 24/05/19 Птн 09:22:06 140556998
>>1405249
>Как это можно реализовать ГИБКО и РАСШИРЯЕМО?
Находишь нужный шаблон по какому-то id из запроса, передаешь в него целиком json (HashMap). В чем сложности?

>Как лучше декодировать вложения, чтобы прикрепить к письму: в памяти или сбрасывать во временный файл?
Только ради декодирования сбрасывать нет смысла, но ты в любом случае не захочешь делать отправку письма синхронно с получением запроса. Тебе нужен какой-то буфер в виде записей в БД и/или очереди, там все и будет храниться.
Аноним 24/05/19 Птн 10:48:37 140560299
>>1405569
У меня все хранится в очереди activemq. Не могу решить, как и куда лучше раскодировать вложения и как сделать шаблоны. Нвгуглил только thymeleaf
Аноним 24/05/19 Птн 11:26:38 1405615100
>>1405602
thymeleaf вполне норм. Вложения в десятки мб activemq может и не прожевать, лучше сохранять их отдельно, да хоть в какой-то обычной бд в блобах.
24/05/19 Птн 11:39:13 1405617101
>>1400854 (OP)
>поздно ли вкатываться в 9001 лет?
Этот вопрос, видимо, следует понимать как "не поздно ли проебать на вышку N лет"?
Куда в Java без вышки-то.
Аноним 24/05/19 Птн 11:44:37 1405618102
сажа случайно приклеилась
Аноним 24/05/19 Птн 12:05:29 1405622103
>>1405617
>Куда в Java без вышки-то.
Толстяк
Аноним 24/05/19 Птн 12:14:18 1405629104
Аноним 24/05/19 Птн 12:40:42 1405645105
Аноним 24/05/19 Птн 12:53:03 1405650106
>>1405617
> Куда в Java без вышки-то
Все правильно сказал, без вышки ты хрюшин фильтр не пройдешь. Им похуй что ты дохуя опытный тимлид в свои 23, для них ты очередной неосилятор и "такие нашей компании не нужны"
Аноним 24/05/19 Птн 13:29:07 1405670107
>>1405569
>>1405602
>>1405615
Задача оказалась сложнее: нужно предусмотреть различные каналы отправки сообщений, а не только емейл. Здесь подошел бы паттерн стратегия, но все мое приложение завязано на ебучем контейнере спринг бута с внедрением зависимостей. То есть, в классе, отвечающем за отправку емейлов, у меня внедряется движок thymeleaf.

Это мешает динамической установке стратегий при помощи ctx.setStrategy(new SMSStrategy()), потому что при этом зависимости не автовайрятся. Я в архитектурном тупике. Уже думаю о том, что лучше было бы вообще не использовать спринг, а все сделать руками, но я уже написал много кода.

Как мне кажется, именно стратегия здесь лучше всего подходит: стратегия создания письма по шаблону, стратегия отправки по нужному каналу связи. Но автовайринг мешает.

Как решить задачу?
Аноним 24/05/19 Птн 14:14:28 1405695108
>>1400854 (OP)
зачем джава,если есть куда более перспективные языкы
Аноним 24/05/19 Птн 16:36:25 1405778109
>>1405670
Я еще подумал. Не обязательно отправлять все вложения в одном json'е. Можно вместе с json отправить список файлов, сохранить их на диск и положить в очередь json с путями к файлам.
Такая идея норм?
Спринг рест умеет получать списки файлов?
Аноним 24/05/19 Птн 16:51:41 1405789110
>>1401086
В этом и есть большая проблема рестов-хуестов и каскадных аннотаций - большая часть пользующих вообще не понимает, ни как это в базе устроено, ни какова семантика, ни как это работает в коде.
Вот без обид, анон, но лучше бы ебануть теорию поглубже, потом сделать руками, потом подумать и решить - нужно ли тебе автоматизитрованное удаление данных из базы?

Чтобы ты не обижался, все-таки, совет от больших пацанов - из базы вообще ни хуя не надо удалять, просто ставить флаг, что запись удалена.
Аноним 24/05/19 Птн 16:51:47 1405791111
>>1405778
Умеет, через multipartfile
Аноним 24/05/19 Птн 16:53:53 1405793112
>>1405789
Ну очень толсто про не надо удалять. Попробуй тоньше.
Аноним 24/05/19 Птн 16:56:10 1405795113
>>1405793
У тебя действительно есть проекты, где ты что-то удаляешь из базы?
Или ты курсачи только писал пока?
Аноним 24/05/19 Птн 17:00:36 1405799114
>>1405795
С нынешними законами имеется и возможности полного удаления, если кто-то попросит. Есть и таблицы для аудита.
Аноним 24/05/19 Птн 17:06:55 1405805115
>>1405799
Да, это так. Но это специальный случай.
Который реализуется специальным алгоритмом, который продумывает и реализует человек (-ки), которые не задаются вопросом "а что у меня произойдет при каскадном удалении из такой-то таблицы".

Оперативное удаление оперативной же информации - это какой-то нонсенс.
Аноним 24/05/19 Птн 17:29:20 1405810116
>>1405791
Нашел, как отправить и принять несколько файлов.
А как вместе с ними отправить данные, нужные для формирования письма?
Аноним 24/05/19 Птн 17:37:18 1405815117
>>1405810
А теперь свой вопрос переведи на английский и в гугл. Первая ссылка.
Аноним 24/05/19 Птн 17:49:13 1405819118
>>1405650
А если я ростом меньше 170, могут взять?
Диплом есть.
Аноним 25/05/19 Суб 00:16:19 1406006119
Аноны, встретил проблема в JDBC. Я хочу просматривать ResultSet (только вниз). Использую while(resultSet.next()), но при использовании .next() я укатываюсь на одну строку ниже. Как лучше всего просматривать ResultSet ?
Аноним 25/05/19 Суб 00:24:51 1406012120
>>1406006
Для чего??
Прежде, чем что-то сделать, ты должен точно понимать, что и для чего ты хочешь сделать.
Подумаешь, глядишь, решишь, что тебе это на хер не надо.
Аноним 25/05/19 Суб 01:07:39 1406031121
Аноним 25/05/19 Суб 01:22:42 1406039122
>>1406006
Двачую, нихуя не понял, насколько не изменяет память, можешь юзнуть метод first(), который переместит курсор на первую строку. Хз это ли ты просил
Аноним 25/05/19 Суб 03:47:09 1406065123
>>1406006
Блядь, ты дебил ёбаный. Я просто не представляю, насколько уёбищным мудаком надо быть, чтобы сформулировать, напечатать, перечитать и отправить настолько бездарно выраженную просьбу. Я не удивлюсь, что и ссылка на ResultSet выше для тебя не нова, но, блядь, она на английском языке и там много букв, поэтому лучше будет - ты решил - прочесть всё это в сжатом виде и на родном языке.
Один только вопрос, сука - какой же для тебя язык родной, если ты так хуёво выражаешься на том, на котором слепил эту мудовую просьбу о помощи.
Аноним 25/05/19 Суб 04:04:34 1406067124
>>1406031
>>1406039
>>1406065
>Я нихуя не понял
>нихуя не понял

Во! О чем я и говорил постом выше - сперва ему надо самостоятельно понять, что и зачем он хочет сделать. Тогда, глядишь, получится и объяснить.

Семантика, блядь!
Аноним 25/05/19 Суб 06:29:09 1406076125
Аноним 26/05/19 Вск 14:02:22 1406695126
Аноны, что за херня, использую HikariCP и PostgreSQL с вот таким вот конфигом:
config.setMinimumIdle(5);
config.setMaximumPoolSize(15);
config.setConnectionTimeout(20000);
config.setIdleTimeout(300000);

При подключении, как и положено, создает 5 idle connection-ов, если аккуратно (медленно) отправлять запросы, то есе норм, это 5 подключений справляются. Но если начать кликать как сумасшедший и отправлять по 2-3 запроса в секунду, то количество Idle connection-ов вырастет до 20 (и выше, если дольше кликать), хотя в setMaximumPoolSize явно сказано 15.

Более того, старые коннекшены спустя время, указанное в setIdleTimeout не будут закрываться.

Что я делаю не так?
Аноним 26/05/19 Вск 14:17:19 1406705127
>>1406695
Начинаю догадываться.
Я создаю новый коннекшн и присваиваю ему тот, что возвращает Hikari. А закрываю как раз первый:

Connection dbConnection = hikariClass.getConnection();
dbConnection.close();

Насколько я понимаю, закрывать нужно именно тот объект, который мне Hikari выдает?
Аноним 27/05/19 Пнд 20:07:59 1407565128
Анон, скинь алгоритм обхода дерева, начиная с листьев. Написал свой, хочу сравнить.
Аноним 27/05/19 Пнд 21:43:03 1407619129
>>1407565
Он же от обычного отличается расположением одной строчки.
Аноним 27/05/19 Пнд 21:49:36 1407620130
image.png (27Кб, 536x317)
536x317
>>1407619
У меня не совсем так.
Аноним 27/05/19 Пнд 21:50:57 1407621131
>>1407620
Ну и там не graph и adjacent, а tree и children должно быть.
Аноним 27/05/19 Пнд 22:38:32 1407647132
>>1407565
Какого, блядь, дерева?
Как ты его хранишь?
В еба-структуре "узел-дети"? В массиве? Обмотанным вокруг хуя?
Аноним 27/05/19 Пнд 22:40:52 1407652133
>>1407647
>В еба-структуре "узел-дети"
Аноним 27/05/19 Пнд 22:46:09 1407656134
>>1407652
Так какое дерево-то?
Бинарное? Черно-красное? Дженерик граф?
Какой обход тебе нужен? Хоть какой-нибудь? По возрастанию?

В коде у тебя ни хера не "узел-дети", а граф какой-то.
Аноним 27/05/19 Пнд 22:48:11 1407657135
Аноним 27/05/19 Пнд 22:52:36 1407660136
>>1407565
Ну дерево это граф, поэтому поиск в глубину/ширину всегда подойдёт.
Аноним 28/05/19 Втр 00:24:31 1407687137
>>1407656
Окей, это даже и не дерево получается. Простой направленный граф. Надо обойти все вершины, начиная с тех, из которых не выходит никаких ребер. Хранится это как

class Node {
    String id;
    Collection<Node> children;
}
Аноним 28/05/19 Втр 02:31:55 1407729138
>>1407687
1. Как только у тебя в графе появится цикл, ты рискуешь его весь не обойти. Я, кстати, так и не очень понял, что у тебя там значит "обойти".
2. сколько раз ты один и тот же узел запихиваешь в стек?
А если поменять его на очередь?
Аноним 28/05/19 Втр 07:47:14 1407771139
>>1407687
Если есть циклы - невозможно, else topological sort.
Аноним 28/05/19 Втр 14:17:05 1407933140
>>1407771
Справедливости ради, он вел речь о дереве, так что циклы - вряд ли.
Но в общем случае - да. Хлебнет горюшка.
Аноним 28/05/19 Втр 14:57:15 1407956141
Есть ли какой-то материал по потокам, и их синхронизации? Вот прям для максимально тупых, на пальцах, на примерах.
Аноним 28/05/19 Втр 15:02:53 1407960142
Аноним 28/05/19 Втр 17:25:45 1408082143
>>1407956
Вы вообще в гугл свой запрос не пробовали хуярить, прежде чем анонов отрывать о катания других анонов на хуях?
Аноним 28/05/19 Втр 20:17:49 1408188144
>>1407729
>Я, кстати, так и не очень понял, что у тебя там значит "обойти"
Проделать какие-то действия с конечными узлами, затем с теми узлами, со всеми детьми которых эти действия уже проделаны и т.д.
>сколько раз ты один и тот же узел запихиваешь в стек
Несколько.
>>1407771
Как раз вспомнил, что там есть двунаправленные связи. По моему это вообще невозможно.
Аноним 28/05/19 Втр 20:35:22 1408203145
>>1408188
А, так это я тупой, циклов там быть не должно. Ну тогда все норм.
Аноним 29/05/19 Срд 00:51:48 1408377146
>>1408188
>>сколько раз ты один и тот же узел запихиваешь в стек
>Несколько.
Ну, меня бы это навело на мысль, что я что-то делаю не так.
Даже если бы оно работало, на первый взгляд, как надо.
Аноним 30/05/19 Чтв 17:24:27 1409294147
>>1400854 (OP)
Как осилить джава канкаренси и джава мемори модел? Как запомнить все эти правила из джиэмэм?
Аноним 30/05/19 Чтв 18:37:13 1409344148
>>1409294
на хуя тебе запоминать эти правила?
Аноним 30/05/19 Чтв 19:16:14 1409383149
>>1409344
Потому что такие вопросы задают на собеседованиях где меня валят по кд. Им видите ли недостаточно того, что я рассказываю про кэши процессоров и необходимость синхронизации с общей памятью (RAM) и что для этого нужно использовать объекты синхронизации и потокобезопасные коллекции. Им видите ли кишочки JVM подавай и рассказывай как все работает под капотом.
Аноним 30/05/19 Чтв 19:23:07 1409391150
>>1408377
Да нет же, все норм. Достаем из стека узел, если у него есть дети - кладем узел обратно и его детей, повторяем. Суть в том, что надо в определенном порядке все делать.
Аноним 30/05/19 Чтв 19:24:59 1409395151
Кто догадается, какой алиас я хотел задать в идее для "soup"? Помню только, чтоэто было похоже на System.out.println().
И еще, какое название больше подойдет методу Function.identity(), чтобы сразу было очевидно, что он делает?
Аноним 30/05/19 Чтв 19:59:22 1409423152
>>1409383
Это ты куда устраиваешься?
В каких задачах надо это знать?
Про кэши процессоров, блядь.
Аноним 30/05/19 Чтв 20:01:27 1409424153
>>1409391
Да нет же, не норм.
Достаем из очереди узел, обрабатываем, детей этого узла добавляем в очередь.
В нужный момент проверяем, в этом узле уже были? Если были, то отбрасываем сразу.
Когда этот нужный момент наступает, догадаешься сам?

И ВСЕ! Каждый объект подержали в руках один раз (не считая момента закладки в очередь).
У тебя - раз достали, посмотрели, положили обратно, два достали, посмотрели.
НА ХЕРА?
Аноним 30/05/19 Чтв 20:05:18 1409427154
>>1409424
>обрабатываем
Начинать обрабатывать надо с узлов, у которых нет детей, либо все дети уже обработаны.
Аноним 30/05/19 Чтв 21:47:42 1409499155
>>1409427
Не было такого условия
Была задача - обойти.

Если у тебя такое условие, иди не вширь, а вглубь.
Тогда доставать будешь заведомо подходящий, не придется обратно запихивать.
Аноним 30/05/19 Чтв 21:51:04 1409502156
>>1409423
>Про кэши процессоров
Там небось спросили почему arraylist лучше linkedlist.
Аноним 30/05/19 Чтв 22:07:34 1409513157
>>1409499
У меня так только с рекурсией получилось сделать.
Аноним 30/05/19 Чтв 22:11:03 1409517158
>>1409513
Ну либо с двумя стеками.
Аноним 31/05/19 Птн 01:46:36 1409626159
>>1409502
Но он же не всегда лучше!
Но иногда я в чужом коде вижу ЛинкдЛист, и сразу начинаю думать - бля, тут какая-то мысль!
Лазаю 10 минут по коду - ни хуя. Просто очередной уебок писал.

Но по сути вопроса - я знаю, что некоторые собесодователи любят эти вопросы. Вот мне интересно, они там прям что-то низкоуровневое пишут, потоками управляют, чи що?
Аноним 31/05/19 Птн 10:48:30 1409776160
>>1409626
>Но он же не всегда лучше!
Угу, например? В теории бывает, но на практике не очень.
Аноним 31/05/19 Птн 10:49:07 1409777161
>>1409626
>Но по сути вопроса - я знаю, что некоторые собесодователи любят эти вопросы. Вот мне интересно, они там прям что-то низкоуровневое пишут, потоками управляют, чи що?
Нет, просто что бы оценить насколько в глубь ты знаешь.
Аноним 31/05/19 Птн 18:56:29 1410035162
>>1409626
Ни разу не видел, чтобы Линкедлист использовался в качестве листа. Только очередь.
Аноним 31/05/19 Птн 18:59:17 1410038163
Аноним 01/06/19 Суб 15:42:00 1410350164
Selection550.png (73Кб, 326x289)
326x289
я околосиниорская FE макака (react, angular). уже немного заебало. на канторе BE на Сисярпе и Джаве.
План такой: прохожу https://www.pluralsight.com/paths/java, и за полтора месяца перекатываюсь на Фул Стак. Норм?
Аноним 01/06/19 Суб 18:35:35 1410405165
>>1410350
Почему не нода? Тебе как минимум не придется менять так много тулзов и привыкать к тому что многие вещи работают совсем не так.
Аноним 01/06/19 Суб 18:40:07 1410406166
>>1410405
как раз и хочется заставить мозги поработать по новому. да и у нас на канторе на ноде не пишут.
Аноним 01/06/19 Суб 20:08:47 1410446167
>>1410406
Вряд ли ты тогда за полтора месяца перекатишься нормально. Хотя конечно зависит от задач, если тебе только и нужно будет что дергать уже существующие сервисы и выплевывать жсон на фронт то получится.
Аноним 01/06/19 Суб 22:33:42 1410507168
>>1410446
дай свой естимейшон, сколько нужно
Аноним 01/06/19 Суб 22:58:07 1410516169
>>1410507
Ну полгодика мб, я сам не пециалист в серверной джавке. Я нормально с разработки под ведро перекатился в разработку под гейось ну года за пол, ну то есть у меня не было времени что я тупо что-то там учил - сел и начал делать таски, просто только через времени что-то более менее красивое стало получаться.
Аноним 02/06/19 Вск 19:14:07 1410899170
>>1409776
>>1410035
Ну, бывает же, что тебе не надо get(i) делать, добавляешь ты всегда только в конец, и итерация у тебя от начала до конца в одном направлении.
АррейЛист будет тебе при превышении размера перехерачивать массив, перевыделять память, копировать. В ЛинкдЛисте этого нет.

>Ни разу не видел, чтобы Линкедлист использовался в качестве листа. Только очередь.
Вот видишь, а АррейЛист видал в качестве очереди? Нет? То-то же, не всегда он лучше ЛинкдЛиста.
О чем я и вел речь.
Аноним 02/06/19 Вск 19:28:32 1410911171
>>1410899
Мы говорили про списки, а не очереди. В очередях бывает важна жесткая предсказуемость выполнения операции, а у аррейлиста добавление не постоянно.
Копировать-то он будет, но итерирование будет быстрей, и мусора меньше, смотри бенчмарки.
А еще если у тебя используется только одна-две имплементации интерфейса, JIT может хорошо разрулить и быстрей выкупать какую конкретно реализацию дергать.
Аноним 03/06/19 Пнд 15:42:45 1411288172
>>1410911
Ты уверен, что ты программист?

>Мы говорили про списки, а не очереди.
О чем ВЫ говорили, никого не ебет.

Анон сказал ровно следующее:
>Там небось спросили почему arraylist лучше linkedlist.
На что другой анон ответил:
>Но он же не всегда лучше!

Хули такие простые вещи разжовывать надо?
Ты ТЗ так же читаешь? Жопой? А потом заказчику рассказываешь "мы говорили..."?

Пиздец, это же не жс-тред, ебаный рот этого казино!
Аноним 03/06/19 Пнд 15:46:09 1411289173
>>1411288
>это же не жс-тред
Нет, теперь это тред лучшего языка будующего JavaScript
Аноним 03/06/19 Пнд 15:48:45 1411292174
>>1410911
>итерирование будет быстрей, и мусора меньше, смотри бенчмарки.
Мусора меньше, согласен.
Про итерирование смешно.
Покажешь бенчмарки, посмотрю.
Аноним 03/06/19 Пнд 15:50:02 1411293175
Аноним 03/06/19 Пнд 18:47:52 1411354176
Как при помощи thymeleaf подставить в html-шаблон значение из HashMap? Мне не нужно итерировать по хэш-мапе. Нужно именно подставить значения для некоторых ключей в разных местах страницы.
Аноним 03/06/19 Пнд 20:08:32 1411377177
>>1411354
Первая ссылка в гугле, додик.
Аноним 03/06/19 Пнд 23:15:18 1411456178
Аноним 04/06/19 Втр 01:00:14 1411500179
>>1411456
пиздец....
вопрос "хуже/лучше"
ответ: "блох не использует"

Поэтому, блядь, и говно ваш код. Вы, блядь, говно с мочой путаете постоянно.
А еще ява-тред....
Аноним 04/06/19 Втр 02:56:51 1411514180
>>1401457
var s = new org.apache.cxf.jaxrs.JAXRSServerFactoryBean();
s.setServiceBeans(Arrays.asList(new Foo(), new Bar()));
s.start()
Аноним 04/06/19 Втр 12:28:24 1411639181
>>1411377
Первая ссылка в гугле это типичная задача. Наверное, это такой вид задач, когда у тебя есть Model, и ты ее передаешь в рендер. У меня совсем другое. Мне из очереди приходит пакет с HashMap внутри. В этом HashMap - данные для формирования письма по шаблону. Строка с html-телом письма формируется так: return templateEngine.process("sendErrors", ctx);

Теперь вместо sendErrors мне надо сформировать другой шаблон. Случай sendErrors простой - там надо было просто проитерировать по мапе при помощи th:each.

Сейчас мне надо в разные места шаблона вставить значения из мапы. Но если сделать так: ${map.get('claimNumber')} то подстановка значения не происходит. Письмо приходит с этими канделябрами для движка.

Документацию читать долго. Если у меня мапа с данными письма называется content, как мне связать ее с переменной map в шаблоне?
Аноним 04/06/19 Втр 12:46:37 1411654182
>>1411639
Все, разобрался без токсиков.
Аноним 04/06/19 Втр 13:45:35 1411696183
Почему Clean Architecture не вышла за пределы андроида?
Аноним 04/06/19 Втр 13:51:08 1411699184
>>1411654
Написал бы, раз разобрался, нам же интересно
Аноним 04/06/19 Втр 14:05:21 1411702185
Аноним 04/06/19 Втр 14:21:52 1411709186
>>1411702
Какой нахуй токсик, просто скажи что ты сделал
Аноним 04/06/19 Втр 14:28:05 1411711187
Аноним 04/06/19 Втр 14:49:20 1411718188
>>1411711
Ясно
вроде же золотое правило, спросил, если разобрался сам - напиши
Аноним 04/06/19 Втр 14:54:55 1411722189
>>1411718
Могу только насрать в эту парашу для токсиков.
Аноним 04/06/19 Втр 15:26:33 1411743190
>>1411709
Сделал <span th:text="${content.get('text')}"></span> и передаю шаблонизатору мапу context.
та кодомакака
Аноним 04/06/19 Втр 17:03:59 1411804191
Аноним 04/06/19 Втр 18:26:36 1411840192
Можно ли как-то замедлить вм или саму программу (вин7)? Хочу персональный сервак кубача оставить крутиться афк, но он немало жрет. Пока на ум приходит запустить сервер в виртуалке и ограничить процессорное время, но это такое себе решение.
Аноним 04/06/19 Втр 20:23:13 1411898193
>>1411840
Так крутиться или афк?
Аноним 04/06/19 Втр 21:08:57 1411924194
>>1411898
И то и другое. Надо чтобы сервер замедлялся когда меня нет и работал в полную мощь, когда я подключен.
Я тут погуглил и понял, что управление процессорным временем только к ОС относится. Я бы мог пропускать часть тиков (обновлений игрового цикла) через sleep(), но непропущенные все равно бы считались на процессоре с обычной рабочей частотой, пусть даже и занимали бы меньше процессорного времени.
Аноним 04/06/19 Втр 21:13:01 1411926195
Аноним 04/06/19 Втр 21:37:38 1411958196
>>1411924
В нормальной операционке это решается сгруппой на уровне systemd.
systemctl set-property --runtime minecraft.service CPUQuota=20%
Аноним 04/06/19 Втр 21:41:29 1411963197
>>1411958
>нормальной операционке
>systemd
Выбери одно. Лучше уж окна юзать, прости госсподи, чем шкварить ось системД
Аноним 04/06/19 Втр 22:10:00 1411972198
>>1411958
>>1411926
Дело в том, что это лишь ограничивает процессорное время так, что процессор всего лишь отвлекается от "урезанного" процесса на другие. То есть если я сам добавлю Thread.sleep() это будет тем же самым. Поэтому мой изначальный вопрос был некорректен: ограничить-то использование процессора можно, но это не то, что мне нужно.

А мне нужно управление питанием процессора: в винде, например, есть такая тема, что снижает частоту процессора и тем самым энергопотребление и выделяемое тепло. Но это уже тема не для этого треда и даже не для /pr/. Скорее всего придется ограничиться "сном".
Аноним 05/06/19 Срд 19:55:13 1412389199
Аноним 06/06/19 Чтв 19:18:10 1412972200
Посоны, есть ли варианты отследить все изменения переменных без идешных отладчиков? У меня переменная почему-то постоянно сбрасывается в ноль, даже когда устанавливаю ей приватный доступ. При том что сеттеры для неё не использую и устанавливаю напрямую var = "test".
Аноним 06/06/19 Чтв 20:04:29 1412993201
>>1412972
Весь твой рассказ намекает, что ты выставляешь одну переменную, а в ноль выставляется другая.
Аноним 07/06/19 Птн 11:06:14 1413197202
>>1412993
Да нет, одна и та же. Может, немного криво выразился - не в ноль, а в пустую строку.
Аноним 07/06/19 Птн 14:07:56 1413275203
>>1413197
Еще раз. Твой рассказ намекает, что ты не прав.
Доступ у тебя приватный, сеттеров нет.
Задай себе вопрос - что может ее обнулить?
Только
1. прямое воздействие (ты утверждаешь, что этого не делаешь)
2. переинициализация объекта, в котором ты ее объявляешь и присваеваешь значение. Но в этом случае это уже ДРУГАЯ переменная.
3. какой-нибудь замысловатый рейскондишен, при котором тебе кажется, что чтение произойдет после записи, а на деле происходит наоборот. Думаю, этот вариант можно смело отмести.

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

Но гораздо быстрее будет, если ты внимательно посмотришь на свой код.

может, она кроме private у тебя еще и volatile static?
Аноним 07/06/19 Птн 16:08:05 1413322204
>>1413275
Не, обычный public String.
Нашёл, в чём дело. В конструкторе делаю:

try{
string = new String(string_.getBytes(), "UTF-8");
}catch(Exception e){
System.exit(0);
}

После этого строка безвозвратно портится, даже если ей присвоить другое значение чистой латиницей. Если заменить эту строчку на:

string = "test";

то тогда строка инициализируется нормально. Но потом всё равно не меняется.
Странно то, что ещё неделю-другую назад все эти же функции работали нормально.
Аноним 07/06/19 Птн 23:59:27 1413487205
>>1413322
Ох говнокоды, говнокодеры.
1. вот это new String(string_.getBytes(), "UTF-8"); лютейший говнокод
2. System.exit(0); ты хоть что нибудь напиши в лог, сам же потом прибежишь с вопросом "приложение неожиданно выходит"

>>1413322
>Не, обычный public String.
>>1412972
>даже когда устанавливаю ей приватный доступ
Ты уж определись.

Ну и вообще выложи уже код.
Аноним 08/06/19 Суб 00:49:15 1413501206
>>1413487
>вот это new String(string_.getBytes(), "UTF-8"); лютейший говнокод
Что ты предложишь для конвертации из одной кодировки в другую?

Думаю, конечно, что здесь не в том дело. Но тем не менее.
Аноним 08/06/19 Суб 00:58:09 1413506207
>>1413501
>Что ты предложишь для конвертации из одной кодировки в другую?
1. String это уже UTF-16 строка. Т.е. туда у тебя уже должна попадать правильно декодированная строка. Если есть проблемы с кодировкой, то править их надо на этапе конвертации их байт в строку.
2. string_.getBytes() работает в дефолтной кодировке ОС. Переехал на другую машину с другими региональными уставновками - ловишь загадочные баги.

>>1413501
>Думаю, конечно, что здесь не в том дело. Но тем не менее.
Ну так выложи код, что мы тут гадаем на явовой куче.
Аноним 08/06/19 Суб 02:52:27 1413514208
>>1413506
>уже должна попадать правильно декодированная строка
Не должна.
У тебя чужой проект, где хуй знает что наверчено.

>string_.getBytes() работает в дефолтной кодировке ОС
В принципе, да, без указания в гетБайтс говновато.
НО!
у меня был проект, где несколько предопределенных типов устройств со своими кодировками. И всякая поебень читалась из файлов в их кодировках и, внезапно, оказывалась в строке в дефолтной кодировке этого устройства

Короче, теперь я понял твое негодование.
Но у всякого, на первый взгляд, говнокода бывают разумные объяснения иногда.
Хотя, конечно, у анона, который теряет значение переменной, не тот случай.
Аноним 08/06/19 Суб 02:52:56 1413515209
>>1413506
>Ну так выложи код, что мы тут гадаем на явовой куче.
И да, я не тот, анон, который не может уследить за строкой.
Аноним 08/06/19 Суб 12:14:58 1413573210
>>1413487
Обычно я печатаю исключения в консоль, просто именно тут стало лениво. Когда буду готовить рабочую версию, всё равно пройдусь по всему коду и добавлю всем исключениям вывод в лог-файл.

>вот это new String(string_.getBytes(), "UTF-8"); лютейший говнокод
Не знаю, почему, но без этого кириллица адекватно не выводится. Кодировки - это самая мутная пока для меня тема.

>Ты уж определись.
Она публичная, но приватной (с сеттером) я её делал для теста, чтоб отсечь манипуляции извне. Отсёк, ничего не поменялось.

>>1413506
>Ну так выложи код, что мы тут гадаем на явовой куче.
Код класса с этой переменной?
Аноним 08/06/19 Суб 14:04:30 1413608211
>>1413573
> Код класса с этой переменной?
Нет, блять, сорцы JDK кидай. Я поражаюсь тебе анон, ты бы давно решил свою проблему просто вбросив свой говнокод и спросив "Что за хуйня творится с этой переменной?". Или решить ее самому, отписавшись потом "Я дебил, вот как надо было...". Но ты почему-то решил позаебывать и проверить телепатические способности анонов, написывая в треде
Аноним 08/06/19 Суб 14:55:12 1413641212
>>1413608
А может у него код закрытый, а сам он под анальным нда с товарищем майором кгбзаместителем начальника сб за плечом.
Аноним 08/06/19 Суб 15:05:12 1413649213
image.png (62Кб, 1294x807)
1294x807
>>1413608
Ну, я на доску недавно вкотился, мало ли.

На пикче класс. Вывод в консоль добавил для теста. При вызове сеттера в консоли следующее:

test
test
test
test
string changed to test212313532
test
test
test
test
Аноним 08/06/19 Суб 15:25:33 1413658214
>>1413649
Пиздец какое говнище. Тебе 12 лет и это твоя первая программа?
Аноним 08/06/19 Суб 15:30:31 1413660215
>>1413658
Да, первая. Что не так, кроме того, что можно сделать просто if(!visible) return без блочной конструкции?
Аноним 08/06/19 Суб 15:39:00 1413664216
>>1413649
А теперь ещё код где ты ее сетаешь.
Аноним 08/06/19 Суб 15:47:47 1413668217
Охуеть, с оракла уже без регистрации не скочать?
Аноним 08/06/19 Суб 15:55:47 1413670218
>>1401246
Ты чё написал дибил?!
Аноним 08/06/19 Суб 16:01:26 1413671219
>>1413664
Хотел уже скопипастить, но тут выяснил новую подробность - строка всё-таки меняется. Но позже.
Наверное, ещё немного поотлаживаю, а потом отпишу итт, если там окажется действительно что-то интересное скорее всего я, конечно, просто не замечаю чего-то очевидного. Ну или если всё-таки не получится.
Аноним 08/06/19 Суб 16:09:20 1413675220
image.png (89Кб, 470x258)
470x258
>>1413671
>выяснил новую подробность - строка всё-таки меняется
Аноним 08/06/19 Суб 17:27:00 1413706221
Анчоусы, помогите. Вкатываюсь в джаву и спринг бут (там где в жопу ебут). Испульзую я такой шаблонизатор freemarker значит, с макросами-хуякросами все как положено вообщем. И тут такая хуйня: я не могу раздуплиться как передать в качестве параметра макросу коллекцию. Нихуя не работает. Вот кароч код:
Коллекция формируется в контроллере
Iterable<Message> messages = messageRepo.findAll();

model.addAttribute("messages", messages);

Потом попадает в шаблон где без макроса спокойно доступна, но если передать ее в макрос вот так:
<@messages.messages messages />
то все - хуй. Вот сам макрос:
<#macro messages messages>
<#list messages as message>
<div>
<span>${message.id}</span>
<b>${message.text}</b>
<i>${message.tag}</i>
<strong>${message.authorName}</strong>
</div>
<#else>
<div>No messages!</div>
</#list>
</#macro>

Вот ошибка:

FreeMarker template error (DEBUG mode; use RETHROW in production!): The value you try to list is a namespace (wrapper: f.c.Environment$Namespace), thus you must specify two loop variables after the "as"; one for the key, and another for the value, like <#... as k, v>). ---- FTL stack trace ("~" means nesting-related): - Failed at: #list-#else-container [in template "parts/messages.ftl" in macro "messages" at line 2, column 5] - Reached through: @messages.messages messages [in template "greeting.ftl" at line 26, column 5] ~ Reached through: #nested [in template "parts/common.ftl" in macro "page" at line 8, column 1]

Если я делаю как пишет ошибка, то есть типа чере ключ значение:
<#macro messages messages>
<#list messages as k, message>
<div>
<span>${message.id}</span>
<b>${message.text}</b>
<i>${message.tag}</i>
<strong>${message.authorName}</strong>
</div>
<#else>
<div>No messages!</div>
</#list>
</#macro>

То получаю за щеку вот что:

FreeMarker template error (DEBUG mode; use RETHROW in production!): For "." left-hand operand: Expected a hash, but this has evaluated to a macro+misc_template_model (wrapper: f.c.Macro): ==> message [in template "parts/messages.ftl" at line 4, column 21] ---- FTL stack trace ("~" means nesting-related): - Failed at: ${message.id} [in template "parts/messages.ftl" in macro "messages" at line 4, column 19] - Reached through: @messages.messages messages [in template "greeting.ftl" at line 26, column 5] ~ Reached through: #nested [in template "parts/common.ftl" in macro "page" at line 8, column 1]
Аноним 08/06/19 Суб 18:01:36 1413722222
>>1413660
1) name_, зачем? Если это перекрывает видимость поля ты всегда можешь использовать this.name;
2) Game.bg_layer, подозреваю это своего рода синглтон, такое дело не оттестить + сильная связанность, почему не передавать объект над которым будет происходить какое-то изенение в качестве параметра?
3) Систем экзит убери, можешь честно взять случившийся эксепшн и завернув его в RuntimeException кинуть дальше, и зачем ты трай свернул в одну нечитаемую кишку?
4) Название string конечно очень хуевое для поля/переменной;
5) Ну и в данном коде нечему менять значенеи строки на null; Показывай как было изначально;
Аноним 08/06/19 Суб 18:14:12 1413730223
Аноним 08/06/19 Суб 18:14:39 1413731224
>>1413671
>строка всё-таки меняется
БВАХАХАХАХАХАХАХА
Аноним 08/06/19 Суб 18:17:14 1413733225
>>1413730
Джавку.
>>1413668
Качай опенждк и не еби мозг, если работодателю важна ораклавская, то пусть платит.
Аноним 08/06/19 Суб 18:17:21 1413734226
>>1413730
Документацию к ж2се 8. Перекидывает на логин страницу.
Аноним 08/06/19 Суб 18:52:41 1413757227
>>1413731
Что ха-ха? "Позже" - это значит не тогда, когда я её изменяю на самом деле.
Аноним 08/06/19 Суб 19:16:04 1413766228
>>1413757
Что ты подразумеваешь под меняется? Случайно не то что нарисуется в окошке? Я вижу ты с каким-то ui говном играешься. Тогда ничего удивительного, твоя смена значения не тригерит перерисовку.
Аноним 08/06/19 Суб 19:23:57 1413769229
>>1413766
Нет, не это. Оно и в консоли не меняется.
Аноним 08/06/19 Суб 19:26:18 1413770230
>>1413769
Какой консоли, дебагера?
Аноним 08/06/19 Суб 19:28:08 1413772231
>>1413770
В обычной System.out. Я же постил чуть выше код и то, что в его результате выводится в консоль.
Аноним 08/06/19 Суб 19:32:14 1413773232
>>1413772
То есть ты утверждаешь что после вызова setString
у тебя выведется не "string changed to test212313532"?
Аноним 08/06/19 Суб 19:33:54 1413775233
>>1413772
Лучше закинь уже всю свою лабу1 на pastebin, нихуя непонятно че за хуйню ты там делаешь.
Аноним 08/06/19 Суб 19:34:48 1413776234
>>1413773
Нет, это и выведется. Но потом продолжит выводиться изначальное значение.
Аноним 08/06/19 Суб 19:52:01 1413780235
>>1413775
Там несколько классов сотен на 4-5 строк. Это из того, что непосредственно контактирует с этим объектом и влияет на его обработчиков.
Аноним 08/06/19 Суб 19:55:48 1413782236
>>1413780
Значит воспользуйся гитом.
Аноним 08/06/19 Суб 20:49:40 1413800237
>>1413706
хуй знает бля, попробуй jtwig
Аноним 08/06/19 Суб 20:58:20 1413803238
>>1413706
Кароче ты либо долбоеб и передаешь туда мапу, либо ты долбоеб и используешь Iterable вместо Collection, у меня аналогичный код работает.
Аноним 08/06/19 Суб 21:38:47 1413824239
>>1413757
БВАХАХАХАХАХА
это какой-то пиздец.
Говоря коротко: иди ты на хуй.
Ты уже заебал.
Тебе сказали раз сто - хочешь помощи, покажи исходники.
Но уже не делай этого, просто иди на хуй!
Аноним 08/06/19 Суб 22:04:13 1413844240
>>1413824
Мать твою ебал.
Бамп.
Аноним 08/06/19 Суб 22:05:24 1413847241
>>1413844
Че ты бампаешь, долбоеб?
Аноним 08/06/19 Суб 22:06:14 1413848242
>>1413847
Анус твой.
Проблемы?
Аноним 08/06/19 Суб 22:06:29 1413849243
>>1413824
Чего злой такой? Я чуть выше написал, почему не выложил весь код сразу.
А с гитом тогда завтра буду разбираться. Всё равно давно уже надо было.
Аноним 08/06/19 Суб 22:08:29 1413850244
я не понял он в метод передаёт строку и удивляется что строка не изменяется что ли или что
Аноним 08/06/19 Суб 22:09:47 1413852245
>>1413850
>я не понял
Когда поймешь - тогда возвращайся а пока уроки делай
Аноним 08/06/19 Суб 22:16:20 1413855246
>>1413772
Нахуя system.out? Ты дебагом пользоваться умеешь? В курсе что есть conditional breakpoints? Впиши туда условие со своими злоебучими строками, отладка остановится и ты уже по стеку увидишь какое говно меняет твою переменную
Аноним 08/06/19 Суб 22:19:37 1413858247
>>1413706
>>1413800
>>1413803
Нашел ошибку. Оказывается, при импорте макроса ему нельзя давать алиас совпадающий с названием переменной доступной в вызывающем шаблоне, которая будет передаваться этому макросу.
Аноним 08/06/19 Суб 22:47:06 1413871248
>>1413852
ты блядь

кексу со строками настоятельно советую в мейне создать объект, сменить ему строку и сымитировав логику не связанную со строкой запустить любимый им систем.аут и удивиться
Аноним 08/06/19 Суб 22:50:24 1413873249
>>1413871
Это его первая программа а он уже игру пишет, GameObject, лол, а вы ему про дебаг, про тестирование.
Аноним 08/06/19 Суб 23:13:50 1413884250
Я не в иде пишу, в этом основная загвоздка. Поэтому делаю без инструментов отладки. Так бы залез в conditional breakpoints.

>>1413871
Хорошо, попробую.

>>1413873
Что плохого в игре? По-моему, хороший способ освоить гуи и заодно закрепить Core.
Аноним 08/06/19 Суб 23:14:34 1413885251
>>1413873
Наверняка что-то с жавараша. Там есть комплекс задач по построению логики игр из готовых классов. Базовые классы вроде гамеобжект и есть.
Аноним 08/06/19 Суб 23:15:37 1413886252
А, отмена, там авт.
Аноним 08/06/19 Суб 23:25:17 1413889253
>>1413884
>По-моему, хороший способ освоить гуи и заодно закрепить Core.
Нет. В играх зачастую используется паттерн Entity-Component-System, который достаточно сложный и в типовых проектах редко встречается.
Аноним 08/06/19 Суб 23:33:35 1413892254
>>1413889
Ну, значит, в моей его либо нет, либо я его более-менее нормально применил.
Аноним 08/06/19 Суб 23:36:41 1413894255
>>1413884
>Я не в иде пишу, в этом основная загвоздка
Нет.
Основная загвоздка в том, что ты не умеешь читать.
А сразу пишешь.
Но писать ты тоже не умеешь.
То, что ты пишешь не в ИДЕ, это просто вишенка на торте.
Твой ИДЕ, судя по всему, это двач, который должен найти у тебя ошибки и исправить их.
Тебе 12 лет или 13?
Аноним 09/06/19 Вск 08:04:21 1413950256
>>1413884
Гуи пишут либо на C#, либо на Qt, либо на Electron, но никак не на ебаной Джаве. Даже с Андроида Джава была выдавлена Котлином и React Native.
Иди лучше JS учи для таких целей. Или C#/C++, если хочешь быть геймдевом.
Аноним 09/06/19 Вск 10:45:29 1413974257
>>1413894
Не понимаю тебя. Что тебя не устроило? Я прошу помощи на дваче, потому что не смог разобраться с проблемой, а не потому, что мне лень с ней разбираться.
Иде мне просто пока не нужен, я кроме компиляции ничего сейчас не делаю.

>>1413950
Ну, лишним в любом случае не будет, думаю. Потом проще будет вкатываться в другие гуи библиотеки. Да и игру эту я уже давно хотел написать.
Аноним 09/06/19 Вск 14:53:07 1414056258
Кажется, у меня есть версия.

Объекты со строкой я сначала добываю даункастом из GameObject, а потом из результата каста читаю строку. Тогда она не меняется.
Когда сохраняю объект сразу в переменной StringObject, то строка из него читается нормально и все изменения тоже видятся.
Логики я в этом по-прежнему не вижу, но теперь, вроде, хотя бы примерно понятно, в каком направлении думать.
Аноним 09/06/19 Вск 15:36:54 1414068259
>>1414056
Нет, если это один и тот же объект разницы не было бы. Вероятно тебе разные объекты приходят и в каком-то значение менялось, но в других нет.
Аноним 09/06/19 Вск 15:38:47 1414070260
>>1414056
Напечатай хеш код объекта которому делается setString и на котором вызывается process(). Вангую что выше правильно сказали - это разные объекты будут.
Аноним 09/06/19 Вск 16:13:51 1414092261
db.jpg (238Кб, 1680x1050)
1680x1050
Спасите, помогите!!! Чего не хватает идее, чтобы открыть базу? Собрал ее в воркбенче, из командной строки ее видно. Никаких настроек нигде при установке не менял.
Аноним 09/06/19 Вск 16:17:34 1414093262
>>1414092
По-моему нужно указать в user и в password строчку "mysql", если никаких настроек не менял
Аноним 09/06/19 Вск 16:18:59 1414095263
>>1414093
я не очень понял, это как?
Аноним 09/06/19 Вск 16:19:47 1414096264
Аноним 09/06/19 Вск 16:53:25 1414109265
>>1413974
>Не понимаю тебя. Что тебя не устроило?
Меня не устроило, что ты не знаешь своего собственного кода.
И неделю срешь в тред глупыми вопросами.
На которые ИДЕ отвечает примерно за то время, что ты нажимаешь кнопки, чтобы набрать String.
Короче, хуй с тобой.
Не выгонишь же тебя с двача.
Аноним 09/06/19 Вск 16:53:56 1414110266
>>1414092
А чо, код ошибки погуглить не осилил?
Аноним 09/06/19 Вск 16:58:07 1414114267
>>1414109
Прости, больше не буду.
Аноним 09/06/19 Вск 18:35:22 1414161268
Ладно, кажется, я выяснил, в чём дело. Ничего интересного или фундаментального там не оказалось, с даункастом это тоже связано не было. Просто я недоглядел.
Спасибо анонам, за это время я взял на вооружение несколько новых способов отладки.
Аноним 09/06/19 Вск 18:43:57 1414169269
1558032279.jpg (49Кб, 583x583)
583x583
>>1414161
> Ладно, кажется, я выяснил, в чём дело. Ничего интересного или фундаментального там не оказалось, с даункастом это тоже связано не было. Просто я недоглядел.
> Спасибо анонам, за это время я взял на вооружение несколько новых способов отладки.
Аноним 09/06/19 Вск 18:55:53 1414177270
Что с производительностью стримов и форичей в 11 версии джавы? Где-то давно видел картинку со сравнением 8, 9 и 10, а сейчас не могу найти.
Аноним 09/06/19 Вск 19:11:39 1414184271
>>1414161
Ты бы хоть сказал в чем дело.
Аноним 09/06/19 Вск 19:27:56 1414191272
>>1400854 (OP)
Через какую либу нынче принято ходить в HTTP/Websocket сервисы на Java? Глянул на retrofit и feign - но там какая-то срань с генерацией кода в рантайме. Мне этого говна было достаточно в Spring Data. Еще есть AsyncHttpClient - вроде неплохо, правда хз, на сколько оно живое.
Аноним 09/06/19 Вск 19:30:03 1414193273
Аноним 09/06/19 Вск 19:35:37 1414195274
>>1414191
В чем проблема генерации кода в рантайме? У Спринга ещё так АОП работает, насколько я помню.
мимо-вкатыш
Аноним 09/06/19 Вск 20:09:51 1414216275
>>1414191
Retrofit это фасад поверх OkHttp - вот его глянь.
А вообще подумай может тебе и GRPC норм будет.
Аноним 09/06/19 Вск 20:50:40 1414232276
>>1414110
Спасибо, бро. В итоге заработал только драйвер версии 5.1.47. Все которые нашел 8-ые не конектились, как такое может быть!?
09/06/19 Вск 22:11:28 1414241277
>>1414195
Потому что это не настоящее программирование, а говно. Дал методу нужное имя и машина сама сгенерирует реализацию — ну это же пиздец полный, лол, говно для казуальных детей. Медленно работающее, к тому же. Какой дурак будет этим пользоваться?
Аноним 09/06/19 Вск 22:51:21 1414257278
>>1414184
Я при каждой смене экрана (уровня) очищаю список объектов, кроме игрока. А объект-обработчик строки забыл, и он тоже очищался. В итоге изменял я одну строку, а переборщик объектов выводил совсем другую.
Аноним 09/06/19 Вск 23:08:02 1414269279
>>1414241
Лол, щас бы засирать бандл туевой кучей сгенеренных классов.
В данном случае проседания по скорости не заметны банально потому что время работы запроса намного больше.
Аноним 10/06/19 Пнд 00:43:30 1414301280
>>1414169
> взял на вооружение несколько новых способов отладки
без IDE, ахахахахаха
Аноним 10/06/19 Пнд 00:54:34 1414307281
>>1414257
Я представляю какое у тебя там ведро говна. И уже вижу как ты его отмоешь, оставив самые въевшиеся части в стыке дна и стенок, и будешь гордиться собой - ну вот, чистое ведро. Хотя в него можно было просто не срать.

Но опыт есть опыт, его не отнять.
Аноним 10/06/19 Пнд 05:47:22 1414335282
>>1414193
Не, это говно спринговое. Тем более не асинхронное. Нахуй тащить спринг, когда можно отделаться какой-нибудь легковесной библиотекой? Тем более у меня нет спринга в проекте, слава богу.
Аноним 10/06/19 Пнд 05:48:36 1414336283
>>1414216
Ок, посмотрю. Только GRPC мне точно не подойдет, т.к. мне нужно ходить в сторонние сервисы, которые предоставляют HTTP/Websocket API. А GRPC - это немного другая тема.
Аноним 10/06/19 Пнд 05:50:37 1414337284
>>1414195
Потому, что я хочу быть уверенным, что когда я запущу приложение, оно будет работать так как я задумал (тесты конечно никто не отменял). Зачем перекладывать подобную задачу в рантайм, когда это можно проверить в компайл тайме? Мы же не на джаваскрипте пишем, в самом-то деле!
Аноним 10/06/19 Пнд 15:33:48 1414517285
>>1414070
хэш-код не показатель
разные объекты могут иметь одинаковый хэш-код
Аноним 10/06/19 Пнд 15:36:37 1414519286
>>1414337
Ээээээ....
Может, ты и селекты все руками пишешь?
И инсерты с делитами?
Может, ты вообще ОРМ не пользуешься, а напрямую, кодишь через ждбц?
Аноним 10/06/19 Пнд 17:32:40 1414564287
Снимок экрана о[...].png (358Кб, 1920x1080)
1920x1080
Снимок экрана о[...].png (434Кб, 1920x1080)
1920x1080
ребята, помогите, пожалуйста, найти ошибку.
В общем, я ковыряюсь в java concurrency. Решил потестить асинхронность в гуи (javaFx). Написал, как мне кажется, потокобезопасный код, но он, сука, периодически падает, да так, что гуи сходит с ума (пикрил). если убираю тред.слип(), падает чаще, но с другой ошибкой
https://pastebin.com/9DjjpeUQ
Аноним 10/06/19 Пнд 20:29:30 1414615288
Аноним 10/06/19 Пнд 20:32:50 1414616289
Думать в джаву Аноним 11/06/19 Втр 00:22:11 1414704290
Untitled.gif (80Кб, 1157x962)
1157x962
Норм или кал?
Вводная: знание английского, говновышка откуда я нихуя не извлёк и эмайтишный сишный курс (введение в информатику).
Задача: не сосать хуи при взгляде на код модов к майнкрафту.
Аноним 11/06/19 Втр 03:03:01 1414721291
>>1414704
Хорошая книга.
Но Thinking in C++ была охуеннее.
Аноним 11/06/19 Втр 03:50:38 1414733292
>>1414517
какой же ты душный, пиздец. У человека написавшего первую программу разные объекты будут иметь одинаковый хеш код ага
Аноним 11/06/19 Втр 04:52:29 1414739293
>>1414704
> Задача: не сосать хуи при взгляде на код модов к манкрафту
Вряд ли эта книга сильно поможет. Ну если у тебя даже базовых знаний нет, то ок. А так мне кажется, что даже опытный разработчик будет какое-то время сосать хуи при взгляде на код модов к Майнкрафту, ибо геймдев на Джаве это нифига не стандартная практика.
Аноним 11/06/19 Втр 10:25:11 1414773294
Аноним 11/06/19 Втр 10:35:48 1414776295
>>1414773
Подозреваю, так, что он не переопределял хешкод -> вероятность совпадения ~0.0000000000000001, что норм для разового дебага
Аноним 11/06/19 Втр 10:40:37 1414779296
>>1414739
>Ну если у тебя даже базовых знаний нет
Нет базовых знаний ООП, чего нет того нет.
Совсем базовая хрень уровня ветвление-цикл-хуикл есть.
Могу пузырьком массив отсортировать https://ideone.com/dMas4l , не знаю как это отложилось в голове но могу.
>А так мне кажется, что даже опытный разработчик будет какое-то время сосать хуи при взгляде на код модов к Майнкрафту
Но я его даже разобрать не могу, т.к. не знаю синтаксиса и ооп.
Аноним 11/06/19 Втр 16:34:16 1414861297
>>1414733
>душный
Это не питоно- и не жс-тред. Съеби туда с таким лексиконом

>У человека написавшего первую программу разные объекты будут иметь одинаковый хеш код ага

return 1;
Как тебе такое, Илон Маск?

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

Иди на хуй, короче
Аноним 11/06/19 Втр 16:35:59 1414863298
>>1414779
Выйди с двача, читай книжку свою.
Она тебе все, что надо, даст.
Включая базовый ООП и т. д. Там все это есть, насколько я помню.

Заметь, что с тобой все пытаются поговорить о чем угодно, а не о том, о чем ты спрашиваешь.
Это хороший показатель, что с тобой разговаривает мудак, которого надо слать на хуй без лишних слов.
Аноним 11/06/19 Втр 16:37:11 1414864299
>>1414773
Никак.
Какой-то уебан решил рассказать всем о своих фантазиях.
С другой стороны, отвечал он другому уебану, который вторую неделю не разберется, почему у него переменная меняет значения.
К концу лета, даст бог, они поебутся.
12/06/19 Срд 02:45:44 1415038300
>>1414861
Ебал твой рот, петушок опущенный :)
Аноним 12/06/19 Срд 03:21:06 1415042301
В чем эффект делать класс A Runnablе и вызывать new A().run() ? run() же в том же треде запустится, нет?
Аноним 12/06/19 Срд 06:32:26 1415050302
>>1415042
Да, запустится в том же потоке. Если нужно запустить в отдельном, то можешь написать new Thread(() -> {}).start. Но лучше используй пулы потоков (см. класс Executors).
Аноним 12/06/19 Срд 08:07:05 1415061303
image.png (5Кб, 328x168)
328x168
>>1415050
Для чего тогда челик сделал так?
Аноним 12/06/19 Срд 08:19:30 1415063304
>>1415061
Мало ли долбаебов. Что теперь, за каждым бегать и думать почему это он решил вот так написать, а не по другому, лол? Читай документацию к классам, которые ты собираешься использовать и уже решай как писать код исходя из задачи, которую собираешься решить.
Аноним 12/06/19 Срд 11:16:13 1415120305
Screenshot2019-[...].png (117Кб, 1080x2160)
1080x2160
Сап петушач, почему такой ответ?
Аноним 12/06/19 Срд 11:27:19 1415125306
Аноним 12/06/19 Срд 11:42:25 1415138307
>>1415125
Расширение типа до дабла же
Аноним 12/06/19 Срд 11:48:07 1415144308
>>1415138
А потом расширение типа.
Аноним 12/06/19 Срд 11:49:57 1415146309
Аноним 12/06/19 Срд 11:54:11 1415149310
>>1415061
Как вариант, слишком много кода, чтобы выносить это в методы.
Аноним 12/06/19 Срд 11:54:39 1415150311
Аноним 12/06/19 Срд 14:06:10 1415237312
>>1415138
Ну так результат деления и расширяется.

>>1415149
Так run() - тоже метод, только оверрайденный, не?
Аноним 12/06/19 Срд 15:09:47 1415267313
Вернулся с собеса, пососал хуй когда спрросили про нативные методы из си/сипп, пососал хуй на том как работает очередь у методов класса обжект. Поясните за все плиз
Аноним 12/06/19 Срд 15:37:56 1415296314
>>1415267
Я хуею с того, какой же ты ленивый, анон. Ты же знаешь где обосрался, гуглишь и разбираешь эти моменты, пока сам не поймешь, иначе так и будешь посасывать хуйцы на собесах
Аноним 12/06/19 Срд 15:52:08 1415311315
>>1415267
>пососал хуй на том как работает очередь у методов класса обжект
Лучше поясните, где все это говно используется. Это очередной способ прогнуть по ЗП? Нативные си методы в джаве, охуеть вообще.
Аноним 12/06/19 Срд 15:55:09 1415315316
>>1415311
у тебя есть длл, которую надо дергать из явы
хули тебе непонятно, где это используется?

COM-объекты ты как будешь вызывать, когда понадобится?
Аноним 12/06/19 Срд 15:56:08 1415317317
>>1415267
>очередь у методов класса обжект
чёбля?
Аноним 12/06/19 Срд 16:01:45 1415325318
>>1415317
Вангую, что этот даунич спрашивает про wait, notify, notifyAll
Аноним 12/06/19 Срд 16:06:04 1415329319
>>1415038
Речь не мальчика, но мужа.
Сразу видно специалиста с большой зарплатой.
Аноним 12/06/19 Срд 16:07:31 1415332320
>>1415120
Тебе кто-то мешает первые две главы "ява для чайников за 24 простых урока" прочесть?
Аноним 12/06/19 Срд 16:09:24 1415333321
>>1415150
Петух закукарекал заместо Авроры
>>1415237
В жаве же типы сами расширяются при математике, чтобы результат точным был, точно где то об этом читал
Аноним 12/06/19 Срд 16:09:53 1415334322
Аноним 12/06/19 Срд 16:10:15 1415336323
>>1415333
>В жаве же типы сами расширяются при математике
Расширяются, но не так, как тебе кажется
Аноним 12/06/19 Срд 16:11:18 1415338324
>>1415333
Ты пришел на двач за помощью.
С абсолютно мудацким вопросом.
И выебываешься.
Сразу видно, что тебя ждет прекрасная карьера в программировании на яве. Так держать!
Аноним 12/06/19 Срд 16:17:46 1415341325
>>1415338
> пук
По делу есть что сказать, вскудахт?

>>1415336
Короче расширяются только тогда, когда результат вычисления больше типа переменной. Так?
Аноним 12/06/19 Срд 17:00:20 1415371326
>>1415315
>COM-объекты ты как будешь вызывать, когда понадобится?
Когда понадобится, тогда и вызову. Единственный раз, когда одним из способом решения задачи было обращение к ком-объекту, был проект, в котором надо было запрашивать данные из уебищного совкового долгостроя.
Аноним 12/06/19 Срд 17:20:21 1415373327
>>1415341
Что вычислению до окончания самого вычисления расскажет, каким типом должен быть результат вычисления?
Аноним 12/06/19 Срд 19:36:46 1415440328
>>1415237
>Так run() - тоже метод, только оверрайденный, не?
Чтобы один класс не засирать огромными методами.
Аноним 12/06/19 Срд 21:07:24 1415478329
scrin3.png (53Кб, 1112x566)
1112x566
Является ли это утечкой памяти?
Аноним 12/06/19 Срд 21:24:22 1415486330
>>1415311
Ну wait/notify только студенты на лабах используют, а нативные методы много где, в netty например, в андроиде часто.
Аноним 12/06/19 Срд 21:25:05 1415488331
>>1415478
Где, вон же после гс все вернулось на круги своя.
Аноним 12/06/19 Срд 22:10:56 1415505332
Аноны, есть ли какие нибудь общие рекомендации и советы как дебажить огромные ентерпрайз приложения?
Ошибка вылетает с редкой периодичностью, не ебу как репродьюсить ее, знаю только стектрейс ошибки.
Аноним 12/06/19 Срд 23:44:58 1415530333
>>1415341
>Я мудак и не могу прочесть спецификацию
>Буду срать в тред гринтекстом и посылать вас на хуй
>Срочно объясните мне, почему инт/инт=инт, а то я вас второй раз на хуй пошлю
Аноним 12/06/19 Срд 23:46:24 1415531334
>>1415371
>Лучше поясните, где все это говно используется.
Я тебе пояснил
>Когда понадобится, тогда и вызову.
>Рррряяя нинунжна!

Тебя не берут на работу не потому, что ты чего-то не знаешь, а потому что ты мудак, и со второго предложения в любом разговоре об этом громко заявляешь.
Аноним 13/06/19 Чтв 02:43:36 1415580335
>>1415440
Не понял. Если у этих классов методы переименовать и их вызвать, ничего же не изменится.
Аноним 13/06/19 Чтв 05:46:47 1415599336
image.png (553Кб, 610x434)
610x434
image.png (389Кб, 500x333)
500x333
image.png (1216Кб, 1024x576)
1024x576
image.png (370Кб, 480x318)
480x318
>2k20
>java
Аноним 13/06/19 Чтв 09:54:02 1415631337
>>1415599
Котлино-даун, это ты?
Аноним 13/06/19 Чтв 14:53:28 1415808338
>>1415631
Судя по
>2k20
это даже не котлино-даун, а какой-то питонопетух.
Аноним 13/06/19 Чтв 15:58:31 1415858339
return someMethod(someArgs).thenApplyAsync(v -> SOME_CONST);
может быть такое, что someMethod выбросил исключение и метод вернул null, а не SOME_CONST?
Аноним 13/06/19 Чтв 16:22:17 1415883340
где взять бесплатно ултимейт едишн идеи, бесплатно?
Аноним 13/06/19 Чтв 16:41:46 1415895341
>>1415883
используй своё студенческое мыло. реактивные мозги дают свои продукты студентам бесплатно на год. а там уже бабосика на лицензию накопишт
Аноним 13/06/19 Чтв 16:50:00 1415899342
>>1415883
На три месяца можешь получить лицензию после частичного (малой части) прохождения курса на stepik, посвященном Java. Там ещё неприятный молодой человек ближе к тридцати пяти годам ведёт, а стоит он так, будто пытается произвести впечатление на девушку своей отсутствующей мускулатурой.
Аноним 13/06/19 Чтв 16:51:32 1415902343
>>1415858
Может, если соответствующим образом обрабатывается исключение. В чем проблема?
Аноним 13/06/19 Чтв 16:55:33 1415905344
>>1415902
А если это единственный return в методе?
Не обернутый в трайкеч соответственно
Аноним 13/06/19 Чтв 22:42:54 1416053345
Почему идея ругается на опционал в качестве параметра метода? Что в этом плохого, если этот опционал мне приходит откуда-то?
Аноним 13/06/19 Чтв 22:53:31 1416057346
>>1416053
Это грубейший анти-паттерн.
Аноним 13/06/19 Чтв 22:55:31 1416058347
>>1416057
Почему? Смысл мне писать в методе if (smth != null) {...} else {...} если я могу написать optValue.map(...).orElse(...)?
Аноним 13/06/19 Чтв 23:22:20 1416073348
>>1416053
Там написано, опшионал не для этого задумывался.
Аноним 13/06/19 Чтв 23:45:29 1416087349
>>1416073
Да по хуй.
Любой не примитивный объект може быть налл.
Хули она на Опшионал ругается, а на Интеджер не ругается?
Аноним 14/06/19 Птн 00:20:16 1416097350
>>1416058
А ты ьак не пиши, пиши optional.ofnullable.orelse... и дальше по твоей логике
Аноним 14/06/19 Птн 00:22:42 1416098351
>>1416097
Опционал мне возвращает другой метод, который не знает ничего о том, какое должно быть дефолтное значение.
Аноним 14/06/19 Птн 00:24:19 1416100352
>>1416098
Зачем ему об этом знать?
Аноним 14/06/19 Птн 00:25:16 1416101353
>>1416100
Ну допустим, так все равно слишком громоздко.
Аноним 14/06/19 Птн 00:26:36 1416102354
>>1416101
Добавляется только два слова. И идея не ругается и всем хорошо.
Аноним 14/06/19 Птн 00:27:22 1416103355
>>1416101
Ебучая макаба, не дописал.
getOptValueMethodWithLongName(someData).map(SomeClass::methodRef).orElse(defaultValue);
Против
parseValue(getOptValueMethodWithLongName(someData))
Аноним 14/06/19 Птн 00:33:56 1416107356
>>1416098
что будет, если этот другой метод вернет тебе налл вместо опционала, мкей?
Аноним 14/06/19 Птн 00:35:53 1416109357
Аноним 14/06/19 Птн 01:16:14 1416118358
>>1416109
ну вот. а ты ждешь, что там не налл, ты же для этого опшенал и заводил
и все равно надо проверять на налл.
так какого хуя тогда опшенал туда гнать?
Аноним 14/06/19 Птн 01:25:04 1416122359
Потому что от лукавого. Даже var++ не нужно (кроме как параметра цикла, но в идеале и он ненужон), когда есть var = var + 1.
Аноним 14/06/19 Птн 09:16:52 1416181360
14/06/19 Птн 10:32:14 1416214361
Screenshot2019-[...].png (110Кб, 1080x2160)
1080x2160
Сап петушач, почему такой ответ?
Аноним 14/06/19 Птн 12:24:34 1416294362
>>1416087
Ты видимо не то читал. Optional предназначен для того что бы его возвращать внешним потребителям, а не хранить в полях или создавать из него что-то.
Аноним 14/06/19 Птн 12:58:14 1416304363
>>1416214
Что за приложение? А вообще byte хранит значения от -128 до 127, т.е. 1 байт, а инт - 4 байта. Поэтому в переменной b сохраняется только младший байт инта. Посчитать что получится очень просто для байта 127+1=-128 ; -128+2=-126.
Аноним 14/06/19 Птн 13:38:49 1416319364
>>1416294
Может, ты не то читал?
https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html
Где тут "предназначен для"?
Для чего я решу его использовать, для того он и предназначен.
Что вы как пионеры все? Если дедушка Ленин не велел дрочить, то и не будем, мол, хуй не для того предназначен.
Заебали.
Аноним 14/06/19 Птн 13:48:26 1416338365
>>1416319
> я закон, мне похуй на всех, пишу как хочу
Да похуй на тебя чепушило, коллег твоих жаль.
Аноним 14/06/19 Птн 14:23:29 1416363366
Нужна ваша помощь, ананасы.
Епам проводит отбор на полугодовые курсы, после которых будет стажировка. Как не зафейлить и попасть ? Там будет собес по англ и тесты.
Я хорошо читаю документацию уже и все понимаю, но разговорной практики у меня не было очень долго, что-то простое может вогнать меня в ступор. Что они там будут спрашивать? Какие темы заранее подготовить ?

И ещё такой вопрос, если я свалю от них посреди курсов в другую компанию или захочу в стажировку епама, скипая курсы, я не буду там считаться врагом народа и не попаду в Бэн?
Дайте советов, пж
Аноним 14/06/19 Птн 15:06:13 1416389367
>>1416363
Все будет хорошо. Не переживай. Иди по зову сердца.
Аноним 14/06/19 Птн 15:27:17 1416400368
>>1416363
Я был на таких курсах. Туда вообще берут кого угодно, зафейлить невозможно.
Аноним 14/06/19 Птн 16:31:34 1416440369
>>1416338
Охуенный аргумент.
Напиши еще пару раз, как тебе похуй.
Особенно после твоих рассказов про анти-паттерны и "я точно знаю, что для чего предназначено".
Пиздец, скорей бы у вас каникулы кончились.
14/06/19 Птн 16:54:25 1416448370
>>1416304
Обнял. Sololearn - качать строго ради интри левельных поединков
Аноним 14/06/19 Птн 16:57:11 1416451371
>>1416400
Полезно в итоге оказалось ? Я не то, чтобы рассчитываю на них прям сильно, просто поставил задачу оторваться от стула и попасть на них, ну а дальше дома доучиваться на стажёра тому, чего не знаю
Аноним 14/06/19 Птн 17:37:55 1416468372
>>1416451
У нас курсы были рассчитаны прям на нубов, так что для меня они были не особо полезны, потому что у меня базовые знания были.
Но это 2 года назад было, к тому же я у мухосрани живу. А если ты из Киева там какого-нибудь, то у вас может и отбор жёстче, но и знаний больше дают.
Аноним 15/06/19 Суб 11:08:11 1416766373
Что ждет жаву в будущем? Сисярп и дотнет там развиваются нехилыми темпами.
Аноним 15/06/19 Суб 11:23:01 1416767374
>>1416766
Языки (платформы) с вендорлоком. Шо то шо это.
Аноним 15/06/19 Суб 14:06:06 1416821375
>>1416766
Джава тоже нормально развивается, быстрее чем раньше, нужно только потерпеть пока начнется реальная миграция на пост 8.
Аноним 15/06/19 Суб 14:08:45 1416823376
>>1416821
Я боюсь пакетов и вырезания Unsafe.
Аноним 15/06/19 Суб 14:40:45 1416834377
>>1416823
Допустим пакеты больно, ладно, но unsafe то вам нахуя? Для него и замены подвезли, и вообще зачастую его суют просто потому что.
Аноним 15/06/19 Суб 14:41:45 1416835378
Аноним 15/06/19 Суб 14:43:21 1416836379
>>1416835
Самое время обновляться ИЛИ платить сотни денег вендорам.
Аноним 15/06/19 Суб 14:44:44 1416837380
>>1416836
Я имею в виду чужое легаси в библиоткеках.
Аноним 15/06/19 Суб 14:59:27 1416843381
>>1416821
>реальная миграция на пост 8
А что там кроме G1?
Аноним 15/06/19 Суб 15:02:35 1416845382
После того как ознакомился с основами core и более-менее ориентируюсь в примитивных задачах, которые можно реализовать spring'ом, чем дальше нарабатывать навык, что дальше делать самостоятельно?

Просто вчера получил тестовое, которое надо было сделать в течение восьми часов, из них часть, которая отведена бэку, была выполнена мною за час дай бог, а всё остальное время я пытался решить проблемы вывода всё это на экран, потому что я даже элементарного html не знаю. В итоге в обозначенный срок не уложился. Может этот самый html с javascript начальным подучить, практикуясь в создании более-менее динамичных страниц? Хотелось бы, конечно, больше самой java заниматься.
Аноним 15/06/19 Суб 15:04:46 1416846383
>>1416845
Основы html css js надо знать, если с jquery чото можешь делать, то вообще норм. А на работе тебе скорее всего еще и с разворачиванием/настройкой окружения придется ебаться, так что linux/docker тоже лишним не будет.
Аноним 15/06/19 Суб 15:12:24 1416848384
>>1416846
> linux/docker
Вот, кстати, да, я в их сторону тоже смотрел просто потому что про docker на каждом шагу слышно, ну а linux иногда даже в вакансиях пишут, хотя это, кажется, само собою разумеющееся.
Спасибо.

А с самой java и фреймворком что дальше делать? Я до сих пор имею крайне смутное представление о том, что придётся делать на работе, потому вчера немного погуглил, но там ничего кроме баз данных, дёрганья json, реализации rest толком ничего нет.
Аноним 15/06/19 Суб 15:20:45 1416850385
>>1416848
>баз данных, дёрганья json, реализации rest
Это самое и есть. Можешь алгоритмы подтянуть, время от времени будет нужно.
Аноним 15/06/19 Суб 17:34:56 1416888386
>>1416843
Компактные строки, шенанда, новый хттп клиент, локальный вывод типов, VarHandlы, Constant API, CDS, превью паттерн матчинга, ZGC, нормальные иннер классы (без генерации доп. кода для доступа к приватным), по криптографии всякой добавки, TLS 1.3. ну и всяких хелпер/дефолт методов добавлено. И старые говна вроде аплетов вырезаны.
Аноним 15/06/19 Суб 21:28:28 1416969387
>>1416888
Ебучую джаву надо облегчить, выкинув все легаси. Старперы поначалу будут сосать хуи на старых проектах, но постепенно все станет хорошо.
Аноним 15/06/19 Суб 21:44:21 1416975388
>>1416969
>Ебучую джаву надо облегчить, выкинув все легаси.
Ты совершенно не понимаешь суть джавы.
Аноним 15/06/19 Суб 21:50:13 1416976389
>>1416969
Модный молодежный уже может собирать свой кастомный образ содержащий только то что юзается.
Аноним 15/06/19 Суб 23:44:33 1417003390
pull.png (2Кб, 32x32)
32x32
commitgray.png (3Кб, 32x32)
32x32
В новой идее иконки commit и pull так намозолили глаза, что я решил повасянить и нарисовать свои. У кого та же проблема, пользуйтесь.
Аноним 15/06/19 Суб 23:59:37 1417007391
>>1417003
Твоё сообщение выглядит как какой-то гомосексуальный шифр.
Аноним 16/06/19 Вск 00:02:03 1417010392
>>1417007
Если ты везде видишь гомосексуальные шифры, то тебе стоит задуматься.
Аноним 16/06/19 Вск 00:06:55 1417015393
>>1417010
Я только начинаю напрягать извилину, а тут как раз твои картинки... или ещё какие картинки или сообщения, а они меня наводят на эти странные мысли. Не могу и в голову взять мысли о том, что здесь причина во мне. Себя я вдоль и поперёк знаю - каждый сантиметр своего грубого, волосатого тела.
Аноним 16/06/19 Вск 00:08:44 1417017394
Внимание, в треде гей, вероятно из JS треда, возможно просто забрел не туда и потерялся. Сохраняйте спокойствие, из треда выходите по одному.
Аноним 16/06/19 Вск 02:08:05 1417037395
4110.jpg (505Кб, 700x910)
700x910
Здарова, бандиты. Можно ли как-то собрать прогу на жабе в ехе, чтобы при этом она не весила 50 млрд Гб? В тырнете в основном находятся древние форумы. Может есть какие-то изменения с тех времен?
Аноним 16/06/19 Вск 03:32:04 1417058396
>>1416888
Ну и зачем это нужно? Без этого не обойтись или сторонние либы при нужде не использовать?
Аноним 16/06/19 Вск 03:56:56 1417062397
>>1417037
Тебе надо либо чтобы JRE был на машине, либо тащить с собой, либо компилять под винду.
Для первого есть launch4j
Для второго нужно первое + ставить JRE через свой инсталлятор, либо как-то пердолиться и писать свой лаунчер.
Для третьего нужна AOT конпеляция, которая экспериментальная, полноценно работающей GraalVM для винды пока нет, и не известно как это все работать с gc, рефлектами и прочими темами работать будет.

В этом и есть огромный минус перед сисярпом: экзешники собираются по дефолту и дотнет фреймворк есть на каждом утюге с виндой.
Просить пользователя накатить JRE в 2019 для чего-то не крупного, да еще и надеясь, что никаких проблем с установкой и пропиской путей не возникнет, - извращение.
Аноним 16/06/19 Вск 04:16:35 1417072398
>>1417062
Хотя вроде есть варианты, типа javapackager.
16/06/19 Вск 13:11:01 1417150399
Screenshot2019-[...].png (131Кб, 1080x2160)
1080x2160
Сап петушач. Почему такой ответ?
В строке кода синим по серому написано " b = 2, b-- "
Так хуль не 1?
Аноним 16/06/19 Вск 13:16:01 1417153400
>>1417150
Потому что второе условие (там где b--) не вычисляется, так как зафейлилось первое и используется && (тоесть результат выражения известен сразу после вычисления первой части).
Аноним 16/06/19 Вск 13:32:35 1417169401
Сап. Это нормально, что я будучи джуном, уже месяц занимаюсь правкой багов на проекте. Функционал писать не дают.
16/06/19 Вск 14:06:41 1417183402
>>1417153
Большое спасибо, обнял
Аноним 16/06/19 Вск 14:13:42 1417189403
>>1417169
> будучи джуном
> Функционал писать не дают
А ты как думал? Ты сейчас разгребаешь всю ту накопившуюся хуету, для которой нет времени у мидлов, это распространенная практика. Через пару месяцев, если не обосрешься, то доверят какую-нибудь мелкую фичу самому сделать
Аноним 16/06/19 Вск 14:26:57 1417195404
>>1417058
Многие из этих улучшений находятся на уровне jvm. Конечно ты их либами не получишь. Ну и никто не будет поддерживать восьмерку вечно.
Аноним 16/06/19 Вск 14:37:48 1417205405
13-25-23-1200px[...].jpg (314Кб, 1200x1200)
1200x1200
13-26-22-600px-[...].jpg (34Кб, 600x600)
600x600
давайте немного отвлечемся и попиздим
Аноны, которые уже выше джунов, расскажите, как изменилась ваша жизнь ? Буст деньгами сильно стал заметен ? Повлияло это на общую удовлетворённость от жизни? Какие новые хобби появились? Какие вообще есть кроме кода ?
Пилите стори истори ыыы блять, хватит только на вопросы ньюдаунов отвечать, время отвлечься !
Аноним 16/06/19 Вск 14:43:39 1417218406
>>1417205
Всегда было интересно, что это за животное такое, кодер.
Думает ли он о чем-то кроме кампутеров, может ли быть социоблядью, или всегда это забитое в угол омежье существо ? По мифам это всегда такое существо и в жизни я только таких и встречал только
Аноним 16/06/19 Вск 14:45:25 1417220407
>>1417218
Сам я пока стажер, прыгаю с тянкой на дудке каждые выходные, но вот в офисе все какие-то очень странные и угрюмые, может, я пока не сильно хорошо узнал их
Это везде так ?
Аноним 16/06/19 Вск 14:46:50 1417223408
>>1417220
Я развиваюсь через аниму. На улицу не выхожу без надобности. У нас все такие .
24 лвл мидл листва
16/06/19 Вск 14:52:59 1417225409
>>1417220
>Прыгаю на дудке
Куколдам в /ga
Аноним 16/06/19 Вск 17:33:37 1417277410
>>1417225
Омежа, как ты дошел до такого умозаключения?
Аноним 16/06/19 Вск 19:09:30 1417350411
> Fatal error compiling: invalid target release: 1.11

Как правильно задать версию в мавен компилер плагине? 1.11 и 11 не подходят.
Аноним 16/06/19 Вск 19:11:44 1417356412
>>1417350
11
source и target Должны совпадать
Аноним 17/06/19 Пнд 12:25:02 1417601413
public class Main {
public static void main() {
ClassA a = new ClassA();
a.methodA();
}
}

public class ClassA {
public static final ClassB b = new classB();
public void methodA() {
b.methodB();
}
}

Как перехватить метод methodB() и выполнить код перед и после его вызова? b заменить и оверрайдить не могу.
Аноним 17/06/19 Пнд 12:28:24 1417602414
Аноним 17/06/19 Пнд 12:29:33 1417604415
>>1417220
Из-за такого быдла я боюсь на улицу ночью выходить
Аноним 17/06/19 Пнд 12:32:45 1417608416
>>1417602
Охуел? Мне префикс и постфикс сделать надо, чтобы время замерить.
Аноним 17/06/19 Пнд 12:53:27 1417626417
Аноним 17/06/19 Пнд 16:15:30 1417766418
Аноним 17/06/19 Пнд 17:04:31 1417800419
>>1417766
А без аспектов никак? Ведь аспекты - та же жава. Плюс там, вроде, нужные классы генерируются при компиляции, а мне нужно подгружаться в реалтайме.
Аноним 17/06/19 Пнд 18:44:34 1417869420
>>1417601
Не можешь по условию что ли? Чем рефлексию и раз-раз поехал. Еще можно A расширить.
Аноним 17/06/19 Пнд 18:54:43 1417880421
>>1417869
По какому условию? Чужая программа загружает мой код и иногда дает ему выполняться. В сишарпе я такое делал через Гармони.
А смысла нет расширять, так как объект создается в методе как локальный.
Аноним 17/06/19 Пнд 21:02:30 1417994422
Зачем нужен Supplier?
Аноним 17/06/19 Пнд 21:22:23 1418007423
>>1417994
Абстракция создания объекта. Например ленивое создание.
Аноним 18/06/19 Втр 19:36:49 1418451424
Поделитесь мыслями, пожалуйста - о чем может пойти речь на собеседовании junior'а, претендующего на проект, где web-разработка идёт на java, а бэк - на ruby? Я, честно, когда услышал, сразу в замешательство не впал, но напрасно - мне в голову не приходит, что может означать такое разделение. Использование сервлетов для установки соединения, откуда данные передаются в логику, написанную на ruby, после чего объект возвращается сервлету и выдаётся на фронт? Или имеется в виду что-то другое? Гугл мне ответов не дал - просто предлагаются сравнения использования java и ruby в качестве бэка.
Просто хочется понять, что лучше повторить перед собеседованием, учитывая, что спрашивать меня будут скорее по основам языка Java и непосредственной web-составляющей, так как о моём абсолютном незнании ruby собеседующие будут в курсе.
Аноним 18/06/19 Втр 19:39:08 1418453425
>>1418451
Может там жабу с джаваскриптом попутали?
Аноним 18/06/19 Втр 19:46:14 1418456426
>>1418453
Ну я завтра первым делом спрошу, но мне первое, что пришло в голову - именно то, что перепутали. Но кадровик сказала, примерно дословно: "У нас web и mobile разработка на java, бэкенд - ruby". Сходу отказываться не стал, потому что условия в плане принципа трудоустройства для меня очень привлекательны, хотя на предложения от других языков я сразу отказывался.
Аноним 18/06/19 Втр 19:47:00 1418457427
>>1418451
Надо было спросить сразу. А вообще скорее всего >>1418453
Аноним 18/06/19 Втр 19:54:50 1418459428
С чего пошло использование обратных доменных имен в названии пакетов?
Аноним 18/06/19 Втр 20:18:06 1418475429
>>1418459
Просто придумали, может подсмотрели где. Доменные имена потому что гарантировано уникальные, обратные потому что более привычный для неймспейсов порядок от общего к частному (тогда как в домене идет от частного к общему, тоесть сначала суб домен, потом домен более всыкого уровня).
Аноним 18/06/19 Втр 21:31:21 1418511430
>>1418459
Это не обратные доменные имена, а самые что ни на есть прямые.
Пошло с того, что это удобно и обеспечивает достаточно разумную защиту от нейм-клешинга.
Аноним 18/06/19 Втр 21:33:36 1418513431
>>1418456
>Но кадровик сказала
>кадровик сказала
>кадровик
И у тебя еще есть какие-то сомнения?

Мне, например, однажды кадровик "але, нам нужны программисты" на вопрос "и на чем надо программировать?" ответила "как на чем? на компьютере!"
Аноним 18/06/19 Втр 21:36:32 1418517432
>>1418513
Я нашёл двух сотрудников этой компании, и у обоих помимо ruby on rail есть ещё и java в навыках. Это, конечно, ни о чём конкретном не говорит, но в недоумении оставляет.
Про кадровика в Интернете нашёл отзыв, что она до этого набирала ещё и менеджерский персонал, то бишь ошибка почти стопроцентная.

Ладно, завтра всё узнаю. В любом случае мне с первого собеседования сразу на второе - готовиться так и так придётся.
Аноним 18/06/19 Втр 22:00:10 1418536433
>>1418007
По моему он полностью заменяем методом, нет?
Аноним 18/06/19 Втр 22:39:46 1418555434
>>1418536
Каким?
А когда тебе надо будет поменять, будешь метод переписывать, или второй сделаешь?
Аноним 18/06/19 Втр 22:42:49 1418558435
>>1418555
Supplier<Object> a = () -> ...
Object getObject() {...}
Аноним 18/06/19 Втр 22:51:52 1418560436
>>1418558
Т.е. на самом деле ты спрашиваешь, зачем нужен интерфейс, когда ты своему классу можешь метод приделать?

public class Coitus {
static public void ebites(Supplier<? extends Huy> papa, Supplier<? extends Pizda> mama){
papa.ebi(mama);
}
}
.......
Supplier<MalenkiyHuy> anon1 = () -> new MalenkiyHuy();
Supplier<BolshoyHuy> anon2 = () -> new BolshoyHuy();
Supplier<KrivoyHuy> anon3 -> new KrivoyHuy();
Supplier<VonyuchayaPizda> tvoyaMamasha = () -> VonyuchayaPizda.getInstance();

Coitus.ebites(anon1,tvoyaMamasha);
Coitus.ebites(anon2,tvoyaMamasha);
Coitus.ebites(anon3,tvoyaMamasha);

Дальше пояснять надо?
Аноним 18/06/19 Втр 22:56:16 1418562437
>>1418560
Ну так в данном случае все сапплаеры можно спокойно заменить на методы. Но видимо дело в скоупе применения, ок.
Аноним 18/06/19 Втр 23:04:09 1418568438
>>1418562
Замени, посмотрим, что ты имеешь в виду
Только не забывай, что потом придут еще пара анонов с хуями.
Учти в своем решении и это
Аноним 18/06/19 Втр 23:46:28 1418590439
1560706637884.jpg (186Кб, 1440x1800)
1440x1800
Добил Шилдата руководство для начинающих, терь думаю что дальше читаь: Spring in action инглиш не очень хорош, но если попотеть, то не проблемa или Блох Java Эффективное программирование.

Алсо, перед изучением спринга нужно знать java ee?
Алсо2, я фанат по книгам изучать все, но вот не раз видел, что многие пишут "смотри код, я по ним выучил все", бля, а где мне его смотреть? Типа в поисковике java github искать анонов и смотреть их код?
Аноним 18/06/19 Втр 23:51:24 1418593440
>>1418590
думаешь выучишь джаву и сможешь позвоить себе таких негритянок? ошибаешься
Аноним 18/06/19 Втр 23:54:45 1418596441
1560875959911.jpg (241Кб, 1024x1024)
1024x1024
>>1418593
К сожалению они мне светят только в мечтах. Чтоб с такими быть, надо в швятых родиться =(
Аноним 19/06/19 Срд 01:21:41 1418617442
Пиздец, видимо я зря так волновался по поводу фразы "веб на джава, бэк на руби" - сейчас на хедхантере буквально две вакансии подряд встретил с подобным разделением - одна от Сбербанка, другая от разработчиков портала Госуслуги. Не думал, что такое разделение действительно актуально.
Аноним 19/06/19 Срд 01:22:36 1418619443
>>1418617
Я, конечно, имею в виду, что в вакансиях выделяется бэк из веба, а не то, что кто-то пишет их на двух разных языках.
Аноним 19/06/19 Срд 02:57:38 1418624444
14finvs[1].jpg (71Кб, 1024x576)
1024x576
>>1418596
да ладно, в африке их целое море
захочешь женишься
вот например русский с женой африканкой
Аноним 19/06/19 Срд 03:00:17 1418626445
tenor[1].gif (980Кб, 500x375)
500x375
>>1418596
алсо ногти как в том пассажа из фэмили гай про афроамериканок в колл-центре лол
Аноним 19/06/19 Срд 07:11:46 1418644446
>>1418560
public class Coitus {
static public void ebites(IHuemraz papa, IDirka mama){
papa.ebi(mama);
}
}

IHuemraz anon1 = new MelkoHuy();
IHuemraz anon2 = new SredneHuy();
IHuemraz anon3 = new MikroHuy();
IDirka tvoyaMamasha = new Vedro();

Coitus.ebites(anon1, tvoyaMamasha);
Coitus.ebites(anon2, tvoyaMamasha);
Coitus.ebites(anon3, tvoyaMamasha);

И зачем сапплаеры?
Аноним 19/06/19 Срд 07:43:11 1418648447
>>1418644
А ебутся только люди? Давно кино азиатское не смотрел?
Аноним 19/06/19 Срд 08:21:11 1418658448
>>1418648
А ебутся только хуями и вдвоем?
Аноним 19/06/19 Срд 08:33:09 1418660449
XUemRoAg[1].jpg (40Кб, 728x476)
728x476
>>1418658
некоторые даже хуя не имеет и все-равно ебутся
и даже не вдвоем
Аноним 19/06/19 Срд 09:59:59 1418680450
>>1418658
Так о том и речь. И интерфейсы тут проигрывают.
Аноним 19/06/19 Срд 10:51:44 1418694451
>>1418680
Ну так сделай интерфейс IEblivi, тогда ебаться сможет и один, и группа, и с хуем, и с двумя, и со страпонами, и кулаком, и ногой.

И дело тут вовсе не в интерфейсе, а в нужности сапплаера. Все, что делает сапплаер можно и без его применения сделать тоже касается и остальных свистоперделок.
Аноним 19/06/19 Срд 15:31:09 1418835452
15525801976420.gif (1997Кб, 500x750)
500x750
>>1418626
>>1418624
Да я же не жениться хочу. в швятых они цивилизованные, а в африках я не ебу чо ожидать, но как вариант - да
Аноним 19/06/19 Срд 15:41:48 1418848453
Продолжаю вопросы по думанью в джаву.

>Using the class name is the preferred way to refer to a static variable. Not only does it
emphasize that variable’s static nature, but in some cases it gives the compiler better
opportunities for optimization
.
В каких именно случаях и как это выглядит? Стаковерфлоу или не знает или я не знаю по какому запросу гуглить.
Аноним 19/06/19 Срд 15:42:39 1418850454
Сишный багаж у меня есть если что, я пойму объяснение.
Аноним 19/06/19 Срд 16:47:31 1418883455
>>1418848
>Using the class name is the preferred way to refer to a static variable
А можно еще как-то?
Аноним 19/06/19 Срд 18:05:28 1418903456
Зачем нужен HashSet? Тупа чтобы проверять, есть ли уже объект в сете?
Аноним 19/06/19 Срд 18:15:58 1418909457
>>1418883
Да, можно через любой объект класса.
Ну ладно, не буду пока голову морочить этой хуйнёй.
Аноним 19/06/19 Срд 19:31:14 1418942458
>>1418644
ну, твой смешной код сам это объясняет:
Сапплаер дан свыше. Он есть у всех. Про него всем все понятно.
Что у тебя за ихуемраз и идырка, и зачем вообще они нужны - непонятно никому
Если ты хочешь писать так, что из жре ты будешь испльзовать только ява.ланг.*, то твой подход охуенно работает.

Но кроме тебя так писать, а тем более читать, никто не хочет.
Аноним 19/06/19 Срд 19:32:27 1418943459
>>1418658
А ты код не видел?
Да, ебутся только хуй с пиздой вдвоем.
Или ты еще не научился отличать написанный код от своих фантазий?
Аноним 19/06/19 Срд 19:33:37 1418945460
>>1418694
>Все, что делает сапплаер можно и без его применения сделать
Все, уболтал, чертяка языкастый.
Сапплаер не нужен.
Никогда его не используй.
Каждое собеседование прям с этого и начинай, не дожидаясь вопросов - Сапплаер не нужен, я лучше придумаю!
Аноним 19/06/19 Срд 19:35:06 1418946461
>>1418848
Поверь мне, ты не хочешь СЕЙЧАС выяснять, как работает оптимизация в компиляторе (и даже не в компиляторе, а в ЖВМ).

Просто всегда пиши КлассНейм.ПеремНейм, чтобы всем сразу было понятно, что это за переменная, и откуда она растет.
Аноним 19/06/19 Срд 19:36:40 1418947462
>>1418903
Правильный вопрос - зачем нужен Сет.
Да, в том числе и для того, чтобы проверять.
Или чтобы из миллиона повторений сделать набор уникальных объектов. Без всяких проверок.
Аноним 19/06/19 Срд 19:54:16 1418955463
>>1418942
>Что у тебя за ихуемраз и идырка, и зачем вообще они нужны - непонятно никому
>Supplier<? extends Huy> papa, Supplier<? extends Pizda>
Ты ебобо? У тебя то же самое в коде.
Аноним 19/06/19 Срд 20:43:53 1418992464
Жабо-джуны присутствуют?
Аноним 19/06/19 Срд 20:45:06 1418994465
Аноним 19/06/19 Срд 22:14:21 1419054466
Кто может обьективно считаться джуном?
Аноним 19/06/19 Срд 22:17:40 1419058467
>>1419054
Человек, занимающий должность "младший программист"?
Аноним 19/06/19 Срд 22:19:28 1419059468
>>1419058
Я имею ввиду какой объем знаний должен иметь человек, что бы успешно устроится джуном.
Аноним 19/06/19 Срд 23:54:29 1419107469
>>1418994
Запили прохладную плес. Резюме/собеседования/первые месяцы
Аноним 20/06/19 Чтв 00:18:52 1419121470
>>1418955
Пиздец, ты даже свой собственный код прочесть не можешь, не то, что мой.
Повторяю - оставь попытки понять, что люди с полноценным мозгом реализуют в языке для других людей с полноценным мозгом.
Тебе это не нужно. Иди своей дорогой.
Аноним 20/06/19 Чтв 00:25:23 1419124471
Аноним 20/06/19 Чтв 01:14:20 1419138472
>>1419124
Все долбоебы, кроме тебя. Успокойся, Антоша.
Иди напиши Laba2.java без непонятных тебе интерфейсов, и все пройдет.
А долбоебы пусть пользуются всякой хуйней из стандартной поставки, поделом им.
Аноним 20/06/19 Чтв 07:17:39 1419175473
Аноним 20/06/19 Чтв 07:28:31 1419178474
>>1419175
Просто ты дебил даже по меркам /зк.
Это нормально.
Аноним 20/06/19 Чтв 07:29:41 1419179475
Аноним 20/06/19 Чтв 07:39:52 1419180476
>>1419059
Бери любую вакансию на мидла/сеньора и убирай оттуда пункт о наличии опыта.
Аноним 20/06/19 Чтв 14:18:03 1419398477
>>1419175
Тебе так нравится прыгать, когда тебе ссут в рот?
Что ты не успокоишься?
Тебя уже послали на хуй, сказали, что ты во всем прав, и что аргументы можешь искать за щекой.
Но ты не унимаешься.
Ну, давай еще и насру за шиворот тебе, мне не жалко.
Прыгай дальше
Аноним 20/06/19 Чтв 14:22:42 1419401478
>>1419398
Конструктивно и по существу.
Аноним 21/06/19 Птн 00:09:27 1419663479
>>1418942
Какие же джуны дегенераты, пиздец просто.
Аноним 21/06/19 Птн 01:19:40 1419691480
>>1419401
>>1419663
Семен Семеныч угощает сам себя голубцами с говном.
Сеня, хули ты никак не успокоишься-то?
Этот тред бампать не надо, он без тебя жил, без тебя дальше проживет.
Аноним 21/06/19 Птн 01:31:01 1419696481
>>1419691
Ты долго еще зарывать себя будешь?
Аноним 22/06/19 Суб 02:04:29 1420257482
Ой пиздец, и зачем я создавал свои контролы для javafx, если все уже есть готовое?
Аноним 22/06/19 Суб 04:38:06 1420283483
>>1420257
А ну покажи? Что там за готовые контроллы в JavaFX?
Аноним 22/06/19 Суб 04:41:16 1420284484
>>1420283
Сорри анон, но годноту быдлу палить не буду :)
Аноним 22/06/19 Суб 05:56:30 1420289485