Этого треда уже нет.
Это копия, сохраненная 10 февраля 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java thread #79 /java/ wolches 1319608 В конец треда | Веб
Прошлый >>1308356 (OP)

Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?

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

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

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

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

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

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

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

https://github.com/qqqlll/Java-Thread/wiki
sage 2 1319629
Мне не нравится второй пик. Считаю перекат нелегитимным
3 1319638
>>19629
Твоё мнение никому неинтересно, питухан.
4 1319641
>>19608 (OP)
Мужики, разъясните, что значит ЗНАТЬ алгоритмы. Ну вот, к примеру, я представляю, как работает сортировка слиянием. Нарисую картинку, объясню сложность, но вот так сходу на джаве я ее НЕ РЕАЛИЗУЮ. Я знаю сортировку слиянием или нет?
5 1319644
>>19641
Нихуя ты не знаешь, нахуй вообще на собеседование пришел?
6 1319646
>>19644
Ты тред перепутал, джаваскрипт находится ниже.
sage 7 1319655
>>19638

>отсылается к параше


>оскорбляет петухом


Ты еблан или боевой петушок?
8 1319659
>>19655
Я не ОП, долбаёб. Пошёл нахуй.
sage 9 1319660
>>19659
Так ты отчима попроси перестать ебать тебя в глаза и посмотри на второй ОП-пик, петушок.
10 1319791
>>19641
бамп вопросу
11 1319820
Палю быдлу годноту.
https://exercism.io/tracks/java
В 10 раз пизже обоссаного джавараша и в 10 раз полезнее + у вас есть персональный ментор, которого можно иногда подзаебать.
мимо из го- треда
12 1320002
>>19820
Плотить нада?
13 1320010
Как же быть тогда?
14 1320015
>>19820
Да та же олимпиадная хуйня как и везде. Нужно что-то поближе к реальности, но не слишком элементарное.
15 1320021
>>19820
И че там за херня с настройкой CLI, они че в браузере песочницу не могли запилить как обычно?
16 1320104
>>20015
Там все задания из реальности. По- крайне мере, я прошел весь курс по Go. Каждое новое задание - новый экспириенс. Ты осваиваешь язык, а не матан. Мне суперзашло. Я думаю, курс по жабе - не хуже.
>>20002
Ничего платить не надо. Все бесплатно. Причем, можешь рандомно получить какого- нибудь известного в мире жабы чувака, нахаляву.
>>20021
Добавить в рут - слишком сложно ?
1546487187148.png212 Кб, 1324x1584
17 1320105
>>20104

> все задания из реальности

18 1320173
>>20104
Я под виндой, у меня параноя всякие левые екзешники добавлять куда не надо. Я даже кряков для идеи боюсь.
image.png282 Кб, 529x604
19 1320292
Реквестирую опытного писателя юниттестов в этот итт тред. Будь добр, опиши вкратце как ты работаешь. Скорее всего, у тебя есть наработанный подход, и меня интересует примерное его описание на примерекоторый ты выберешь сам для своего удобства.
20 1320298
>>20292
//Given
init();
mock.whatever();
Object exp = xxx;
//When
Object res = testedClass.everever(Object wtf);
//Then
assertEquals(res, exp);

Что-то в этом духе
21 1320301
>>19641
За время собеседования практически невозможно написать алгоритм из головы, только если ты писал его заранее.
22 1320359
хочу вкатиться в джаву
знаю с#, но не глубоко
насколько джава и с# похожи?
есть рекомендации, чтобы одно и тоже два раза не читать?
23 1320377
Насколько нормально делать такое?
Есстественно это пример говнокода но смысл думаю ясен.
С учетом того, что раз,два, три это сложные конструкции, например забит путь до папки вида Paths.get(FileSystemView.getFileSystemView().getHomeDirectory().getAbsolutePath())...
public class A{
final int one = 1;
final int two = one + 1;
final int three = one + two +1;
//Getters
}
public class B{
final int number;
final A a;
pubic B(final A a){
this.a = a
number = a.getThree
}
}
24 1320378
Как мне разбить строку на токены по пробелам, кроме тех пробелов, которые внутри кавычек? Например из 'а б "в г" д' надо получить а, б, "в г", д. Это вообще возможно только с помощью регулярных выражений?
25 1320380
>>20292
>>20298
Ну впринципе да оно так все и пишется. Рекомендую баедулга навернуть и полистать гитхаб.
27 1320392
хотел бота для телеги накатать. Возникли проблемы с проксёй, сел читать вики по библиотеке (ну, TelegramBots, вы знаете), увидел про то, что теперь есть какие-то Ability Bots и решил заодно попробовать. Но, сука, там нет jar библиотеки. Только через gradle или maven подключать репозитории. Я с ними не работал никогда. Пробовал сделать по инструкции - хуйня какая-то получается.
А кроме тго, что хуйня градл перед тем, как это сказать, что вышла хуйня, ещё и собирает все по 5 минут. Хелловорд ебаный 5 минут.

Вопросы:
1) Что делать когда нет jar-файла библиотеки? Только через этих уёбищ что-то собирать?
2) Не уже ли вообще никуда без этих уёбищ нельзя? В андроиде,тоже градл, ок. Но я не понимаю зачем они нужны, если честно. Разве все эти зависимости так нужны? А если да, то почему их не нужно при обычных jar библиотеках? Я просто запутался
28 1320404
>>20392
А по мне так удобней мейвен/грейдел. После работы со спринг бутом/докером вообще кажется ахуительно все. Хотя немного напоминает xmlns.
29 1320410
>>20404
Очень уж они все огромные для одного несчастного бота
30 1320412
>>20381
Сайт, конечно, годный, но не совсем. Я подобрал там нужный паттерн, но для Java он не подходит.
31 1320418
>>20412
Почему не подходит для джавы? Аргументируйте, Сэр.
32 1320420
>>20418

>* repetition is not allowed inside lookbehind


>Look-behind group does not have an obvious maximum length

33 1320422
>>20410
Че огромного? У тебя в ide уже все есть, пока ты тут семенишь, мог уже за час этот несчастный мавен выучить
34 1320439
Почему java так сильно уступает языку пхп, когда необходимо сделать веб-сайт/веб-приложение?
Ведь java же очевидно намного лучше чем пхп!
35 1320442
Почему молоток так сильно уступает пиле, когда необходимо отпилить доску?
Ведь молоток же очевидно намного лучше чем пила!
36 1320449
>>20439
Чем уступает-то?
37 1320460
>>20439
Потому что пыха изначально создавалась для интеграции с хттп. В категории "щлёпнуть сайт" пыха ебёт весь мир.
38 1320548
>>20377
Меня смущает вот это:
inal int number;
final A a;
pubic B(final A a){
this.a = a
number = a.getThree
}
может для number сделать
public int getNumber(){
return a.getThree
}
39 1320661
>>19660
Тебе уже четко и ясно русским языком сказали чтобы ты шёл нахуй. Почему ты все еще здесь?
40 1320734
>>20377
Обычно все константы широкого доступа, типа адресов или путей, пихают в один статик класс. А уже потом из него дергают когда необходимо.
Если что то сложное нужно присвоить то делать это лучше в конструкторе или в блоке инициализации. Там уже можно и проверки делать и ошибочку выкинуть не делай так
41 1320760
>>19608 (OP)

>15443151557260.png


Креведка ебет пограммиста
42 1320804
>>20734
Ну я так и хочу. Только там в

>один статик класс


уже есть необходимость вот в такой фигне для читаемости больше даже.
Чтобы не ебенить путь до десктопа каждый раз в просто сделать
putiDoDesktopa.resolve("vasha papka"). не транслитом кончено это я так
Ну и статик классы в целом это тоже такое себе...
>>20548
Да может быть. Я ищу бест практис. Один хуй это говно работает как его не пиши. Не хочу плодить говнокод.
jpg.jpg41 Кб, 997x120
43 1320808
Есть ли способ цветного отображения в винде log4j2 в консольке идеи?
Я пробовал через jansi, но почему то не работает. Хотя сама jansi работает. Вон хеловорд разноцветный.
44 1320813
>>20808
Ухебать. Если кому интересно я р\нашел решение но какое то внезапное блять.

It seems like some default is broken in 2.10.0. By adding disableAnsi options, I could get the colors back with the last release.

<PatternLayout pattern="%highlight{...}" disableAnsi="false"/>

In the docs, it is said to default to false but it doesn't seem the case

https://stackoverflow.com/questions/48472049/how-to-colorize-log4j2-output-on-console-in-intellij
45 1321016
>>20813
лол, классика
46 1321017
D
47 1321148
Что лучше использовать в спринге 2,0+?
Новый ResponseStatusException или по старому через @ControllerAdvice + ентети под error?
48 1321349
Ребят, помогите плиз.
Есть у меня задание по потокам. И один из них должен находить в строке самую длинную повторяющуюся подстроку.

Нашёл на сайте паскаль реализацию, но чёт не одупляю.

Function Rep(s : String) : String;
Var i,j,k : Byte;
Begin
For i:=Length(s) div 2 downto 2 do
For j:=1 to Length(s)-i+1 do
For k:=j+i to Length(s) do
If Copy(s,j,i)=Copy(s,k,i) then
Begin
Rep:=Copy(s,j,i);
Exit;
end;
end;
49 1321429
>>19641
Никто не отменял псевдокод
50 1321466
Васян, почему ява обсирается с такого:

double dx, dy, sx, sy, mx, my = 0 ;

и нужно делать это так:

double dx = 0;
double dy = 0;
double sx = 0;
double sy = 0;
double mx = 0;
double my = 0;


ну что за засада? в jshell это отлично срабатывает в одну строчку.
51 1321492
>>21349
Там довольно сложный алгоритм - https://en.wikipedia.org/wiki/Longest_repeated_substring_problem
С наскока хуй напишешь.

>>21466
Потому что жаба это топовый обфускатор.
52 1321647
>>21466

>double dx, dy, sx, sy, mx, my = 0 ;


Потому что так делают пидорасы?
53 1321673
>>21466
Потому что ты хуесос и не знаешь основ.
Неинициализированная переменная примитивного типа это 0 или false для boolean. В своем говнокоде из jshell ты нормально задаешь только последнюю из них.

>double dx = 0, dy = 0, sx = 0, sy = 0, mx = 0, my = 0;


Вот так пиши, если уж хочется в одну строку, жуебок.
sage 54 1321774
Если я хочу сделать свои йоба-экспешоны какие лучше делать?
Чекд или нет?
55 1321800
>>21774
Лучше не делай чекед эксепшны, эксперимент провалился.
sage 56 1321819
>>21800
Окей спасибо. Видимо те что во многих апи приходиться ловить легаси херь?
57 1321979
>>21819
Проблема в том что понаобъявляли чекд эксепшнов, но многие специально пишут код который игнорирует их throw, так как в их методе они ничего осмысленного с экспешном сделать не могут, приходится заворачивать в какой-нибудь свой эксепшн, который при этом не должен быть чекед.
58 1322014
Ждёт меня обучение этому языку.
Если кто на крестах писал, есть для жабы годное чтиво наподобие Мейерса или Саттера в крестах?
59 1322022
>>22014
"Thinking in Java" позволяет понять как писать на языке так чтобы это соответствовало основным парадигмам и общепринятым стандартам джавы. Хортсман неплох ещё говорят, но я не читал.
sage 60 1322201
>>21979
Я прям JDBC сейчас вспомнил. Куча ексепшинов которые не делают ничиго и их надо все ловить. Кто то еще пользуется этим говном?
61 1322280
>>21979
То есть я могу делать что то типо:
public Object checkIfNull(Object o){
if(o==null)throw MyCustomException("We got null")
return o;
}

Или суда еще try/catch все таки нужен? Поймать нульпоинтер в трайкетче напримре и пробросить опять мой эксепшн.
62 1322313
Если пошло про эксепшены, нормально ли давать редирект на /error из @ControlerAdvice и через модель атрибут передать сообщение из эксепшена, чтобы отобразить его юзеру?
В ресте ессно есть класс под это дело который возвращает читабельный джейсон в случае чего.
63 1322314
Ребят подскажите новичку.
Есть 2 энтити Продукт и его наследник ПкПродукт.(пик1 и пик2)
Есть 2 недофабрики пик3 и пик4. Фабрика ПкПродукта как видно наследуется от фабрики Продукта.

Ну и чтоб код для ПкПродукта не копипастить, я вызываю super.create() в нём. Однако он возвращает мне Продукт.
Норм ли я сделал, что написал конструктор в наследнике, которые принимает этот продукт, и сетает из него все поля? Или дичь полная? Как лучше можно?
64 1322316
>>22313
Смотря что за проект.
65 1322317
>>22314

>2019


>писать дефолтные конструкторы руками

66 1322319
>>22314
Тебе здесь больше паттерн Builder подходит. И id лучше генерировать, а не указывать руками.
67 1322328
да
68 1322368
>>22316
Юзер например сохраняет файлы на сервер через браузер, сервер говорит иди нахуй ваш файл слишком большой/пустой/что то еще. Прокидывается внутренний эксепшн аля "Пизда рулю вася что ты делаешь прекрати". Ну и отображаешь месседж юзеру.
Я пока как то не придумал как это по другому сделать.
69 1322370
>>22319
Можно ид вообще статический сделать. Может быть там не БД,
70 1322371
В чем космический смысл добавлять ВЕЗДЕ ид вида йоба хуйба файнал лонг = 8949849Л. Я понимаю для БД надо но даже в эксепшенах народ их хуярит даже в небе у аллаха есть.
71 1322380
>>22371
Что блет?
72 1322383
>>22313
А зачем в 2к19 использовать mvc вместо rest?
is-diz-bait.jpg7 Кб, 329x329
73 1322394
>>22383
Потому что это разные вещи?
74 1322422
Как создавать дто и сущности для юнит тестов: в @Before все поля вручную заполнять в каждом тесте, или может лучше создать один раз в виде бинов и инжектить в тесты? А может фабрику создать...
75 1322452
>>22368
Это получается ты логику работы реализуешь через ексепшены а хуёвое решение.
Проверил файл на размер, пустоту (удалил нахуй если нужно) и прост без задней мысли говоришь тупому юзеру чтоб нахуй двигал!
76 1322454
>>22371
Встречал такое, для сериализации вроде
77 1322457
>>22422
Да как проще так и делай. Главное что бы было понятно что конкретный тест делает.
78 1322458
>>22452
Ну там скорее не стал сохранять если файл валидацию не прошел.
Не прошел валидацию - по идее ошибка же - показать пользователю где он ошибся. А эксепшн так и так будет пробрасываться, почему бы не взять с него месагу и не показать пользователю. Там же просто страница в браузере.
79 1322459
>>22454
Ога, оно самое. Хотя бы иде генерить умеет и то хорошо.
80 1322472
>>22371
Сериализация. Эклипс создает автоматом. Вроде можно самому не писать. Он автоматом генерится.
81 1322498
>>22458
Дык может пользователю вернуть не страницу с ошибкой, а через AJAX закинуть результат и показать к примеру модальное окно (там у тебя йоба фреймфорк поди какой) с сообщением об ошибке
82 1322502
>>22498
Юзабилити там, хуёмоё. Негоже на каждый чих пользователя нахуй посылать!
83 1322546
>>22280
NullPointerException не я вляется checked, его нет смысла ловить, это ошибка предположения. А вот с каким-нибудь IOException бывает такое говно:
...
File f = ...;
try {
return doSomething(f);
} catch (IOException e) {
throw new BadFileException(f, e);
}
84 1322808
>>21673

>Неинициализированная переменная примитивного типа это 0



за основы чего ты мне затераешь, петушок? основы бейсика? в яве нельзя не инициализировать переменные, иначе у тебя сразу выйдет error: variable might not have been initialized

>>21647

>Потому что так делают пидорасы?


ты так говоришь пидорасы, словно это хуже колбасы из дублирующихся строк. хотя может ты оплату построчно получаешь, но это, конечно, ещё хуже.
85 1322905
Хочу нахуячить петпроектов. Где взять тз или какую-нибудь инфу по тому, что является актуальным и какие вещи должны быть в проекте.. Чтобы залупу всякую не делать.
Допустим, веб-приложение. А блять какое именно? Нужно кароч расписанное тз с используемым стеком, а не моя больная фантазия. Есть такое в интернетах?
86 1322912
>>21673

>неинициализированная переменная примитивного типа это 0 или false для boolean


неа, иди чекай.
вот если массив не заполнить ничем, то там нулики будут.
sage 87 1322972
>>22912
Соси.
88 1323012
>>22808

>error: variable might not have been initialized


Это ведь тебе идея подсветила final поле, а ты уже спизданул как долбоеб?
89 1323025
>>23012
http://tpcg.io/QuBcYr
проходил мимо
90 1323049
>>23012
ахахахахахахаххахахахахаха, вот ты долбоёб, васяня.
91 1323054
>>22808 >>23012
Вдогонку, ты наверное и NPE ловишь когда явно null в переменную пишешь.
92 1323089
Так, блэт.
Паесните за будущее джавы. Интерпрайз сейчас весь на восьмёрке, а чё будет, когда её поддержка закончится? Оракл обещал, что бесплатная поддержка будет только у последнего майлстоуна а.к.а. последний мажорный релиз. Катиться на 11-12ую или как? Или башлять за поддержку с каждого процессора? Что же делать, как же быть?
93 1323093
>>23089
А зачем тебе поддержка?
94 1323096
>>23093
Чтоб когда очередной брич в тлсе случится, чтоб его запатчили по-быстрому.
95 1323192
если есть нубы - джуны, давайте кооперироваться, вместе лернить
qwertygoogANUSgmailPUNCTUMcom
96 1323193
>>23192
мб чятик в телеге запилить?
97 1323202
>>23192
Ты бы еще аську кинул.
98 1323203
>>23054
я, конечно не >>23012, но рассказывай, как теперь модно NPE ловить.
99 1323221
>>23203

>как теперь модно NPE ловить


ртом
100 1323232
>>23192
что конкретно предлагаешь? не в попку же жахаться
101 1323304
>>19608 (OP)
Сап, двач. Здесь же есть автоматизаторы тестирования? Какой проект с selenium webdriver можно сделать, чтобы и самому хорошо разобраться, и показать потом работодателям как пример того, что можешь? Т.е. что-то или приближенное к работе, или просто сложного уровня. В wrk треда нет...
102 1323321
>>23304
Оставить комментарий на дваче в разделе pr в треде java с твоим вопросом.
103 1323374
>>23193
Было бы очень даже неплохо. Как сделаешь - обязательно поделись инвайтом
104 1323379
>>23089
Покупать поддержку у другого вендора/пользоваться openjdk/использовать промежуточные релизы оракла, они вроде бесплатные, и каждые полгода пересажываться.
105 1323380
>>21673

> Неинициализированная переменная примитивного типа это 0 или false для boolean



Если ты говоришь в контексте поля класса - то да, ведь оные дефолтно инициализируются конструктором. Если ты говоришь про переменную внутри метода/блока - то бред. В Си, например, неинициализированная переменная заполняется мусором из памяти, а в Джаве запрещено использовать "пустую" переменную.

Джава - она как твои учителя в школе, подавляют любую попытку выйти за границы правил :)
106 1323382
Реально часто используют эклипс на работе? Типо много кому влом платить за идею.
107 1323383
>>22912

> вот если массив не заполнить ничем, то там нулики будут.



Массив - это объект, а не примитивный тип. В этом и отличие. Содержимое объекта (его поля) как раз и инициализируются дефолтно.

Но это не столь важно, ведь в джаве многие фичи SE инициализированы через native (http://www.quizful.net/interview/java/native-keyword).
108 1323384
>>23382
Такой себе экспирианс. Нормальные PM'ы выделяют бюджет на покупку лицензии.

Идея в разы удобнее и имеет куда больше фич.

Правда есть моменты, когда приходится её юзать. У нас на работе чувак реализовывал кастомный JBPM, а плагинов в идеи не было, ему и пришлось использовать Jboss'овскую тулзу в эклипсе
109 1323432
Няшы, хочу осилить небольшой проект с JPA и Hibernate, но застрял на связи двух таблицы:

таблица книг [books]
id(int) | title(str) | genre (int)
1 | Bolshoy Yoba | 1
2 | Maly Yoba | 2
3 | Ogromny Yoba | 1
...

таблица жанров[genres]
id (int) | genre(str)
1 | drama
2 | action
...

Цель - заджойнить текстовый вариант написания жанра к таблице с книгами
Делаю следующее
====================================================
====Books.java (таблица: books)=========================
_@OneToOne(cascade = CascadeType.ALL)
_@JoinTable(name = "genres",
________joinColumns = @JoinColumn(name="genre"), // берем id жанра?
________inverseJoinColumns = @JoinColumn(name="id")) // берем текстовый вид жанра?
_private Genres typed;

_public Type getTyped() {
________return typed;
_}
====================================================
==Genres.java (таблица: genres)=========================
_@OneToOne(mappedBy = "typed")
_private Books books;

_public Books getBooks() {
________return books;
_}
====================================================
Но получаю: ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-1) ERROR: operator does not exist: bigint = character varying
Очевидная несовместимость типов, но я не понимаю почему это происходит, вроде все как надо написал.
109 1323432
Няшы, хочу осилить небольшой проект с JPA и Hibernate, но застрял на связи двух таблицы:

таблица книг [books]
id(int) | title(str) | genre (int)
1 | Bolshoy Yoba | 1
2 | Maly Yoba | 2
3 | Ogromny Yoba | 1
...

таблица жанров[genres]
id (int) | genre(str)
1 | drama
2 | action
...

Цель - заджойнить текстовый вариант написания жанра к таблице с книгами
Делаю следующее
====================================================
====Books.java (таблица: books)=========================
_@OneToOne(cascade = CascadeType.ALL)
_@JoinTable(name = "genres",
________joinColumns = @JoinColumn(name="genre"), // берем id жанра?
________inverseJoinColumns = @JoinColumn(name="id")) // берем текстовый вид жанра?
_private Genres typed;

_public Type getTyped() {
________return typed;
_}
====================================================
==Genres.java (таблица: genres)=========================
_@OneToOne(mappedBy = "typed")
_private Books books;

_public Books getBooks() {
________return books;
_}
====================================================
Но получаю: ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-1) ERROR: operator does not exist: bigint = character varying
Очевидная несовместимость типов, но я не понимаю почему это происходит, вроде все как надо написал.
110 1323456
>>23382
Идея бесплатная.
111 1323471
>>23456
ибать ты довен
112 1323472
>>23432

> operator does not exist: bigint = character varying



Ты неправильно джойнишь. У тебя энтити Book имеет поле-класс энтити Genres. Внутри энтити Genres, по всей видимости, есть необходимый тебе genre (string'а).

Сделай @JoinColumn(name = "genre", referencedColumnName = "id").

Так же, это будет работать лишь при uni-directional связке.

И ещё, у тебя архитектурная связка энтити неправильная. У книжки должна быть множественная реляция к жанрам (One-to-many).

И ещё один момент. Если ты хочешь из Genre вытащить только стрингу жанра, то хибер тебе это так гибко не пропишет. используй DTO, которое ты будешь маппить.

class BookDTO {
privare String genre;
...
// Setters & Getters
}

И потом в маппере будешь инициализировать genre значением энтити -> bookDTO.setGenre(genre.getGenre())
113 1323501
>>23321
В чем проблема, если на Java пишу, клоун?
114 1323505
>>23501
Что? Я тебе пример проекта дал.
115 1323506
>>23505
ну выглядело не как пример.
да и хуёвый ты пример ему дал, там блять пару строк всего получится.
116 1323507
>>23506
Ну да, лучше делать это на каком-то сайте с авторизацией, чтобы предварительно надо было заполнить формочку. Все равно в большинстве случаев ничем сложнее не придется заниматься.
117 1323508
>>23507
Но это ведь слишком легко, нет? Ладно еще там взять валидные и не валидные данные для регистрации из какого excel(?) и после попыток регистрации помечать, где прошло успешно, а где нет. Но даже это еще легким кажется
118 1323514
>>23221
Получается? Рот рабочий?
119 1323515
Поясните за JPA. Когда использовать EntityManagerFactory, а когда SessionFactory?
Я понял,что первый это реализация JPA с провайдером hibernate. Второй - реализация hibernate API. Так?
120 1323555
>>23232
>>23232

>1323192


>что конкретно предлагаешь? не в попку же жахаться


>попку


Скайп, вместе можно быстрее разобрать непонятные вещи. Конфа в скуйпе-телеге.
121 1323589
Ребяты выручайте. Наблюдаю в последний месяц, что, спустя примерно неделю я ловлю из DriverManager.getConnection null, когда пытаюсь подключиться к удаленной БД через jdbc. С чем это может быть связано?

Бтв сейчас поставил такую строчку Сlass.forName("com.mysql.jdbc.Driver").newInstance();

Посмотрим что будет.
122 1323629
>>23589
Весьма странно, getConnection по документации кидает эксепшн, а не налл вовзращает. Какой конкретно метод ты используешь?
Да и Class.forName вроде уже делать не нужно и если драйвер правильно упакован, то все само найдется по субсхеме.
123 1323643
за аннотации вопрос. создаёте ли сами их и коли да, для чего?
124 1323649
>>23629
Ну т.е. да, меня кидает в экспеншен и сам метод возвращает нул. Только я не понимаю почему неделю воркает а потом падает.

>Какой конкретно метод ты используешь?


Метод чего?
125 1323682
>>23456
С торрента.
126 1323729
>>23682
с официального сайта. а через левое мыло какого-нибудь пердольского вуза в кекестане так и про версия. как тебе так, иван?
127 1323984
>>23649
Покажи код, возвращает null и кидает эксепшн это взаимоисключающие вещи. Ну епт что написано в эксепшне? Может там сервак перезагружают/инетренет переподключался/луна в другой фазе.
128 1323985
Написал парсер на регекспах, на каком моменте я обосрусь?
129 1323987
>>23985
на лекции
130 1324043
Как тестить кастомный ResponseEntityExceptionHandler (@ControllerAdvice)?
131 1324101
>>23515
SessionFactory - Hibernate specific API. EntityManager - стандартная джавовская спецификация так что да. Если есть выбор, не стоит юзать проприетарное Api , то есть однозначно EntityManager. Кстати, если я правильно помню, из него можно получить сессию но не наоборот. Да и нахуй это тебе, когда можно юзать репозитории в Спринг дата?
132 1324148
>>23985
на вложенности. кури что такое грамматика
133 1324149
>>23984

>Ну епт что написано в эксепшне?


НУЛ и написан!

В методе сказано что кидается когда:
- if a database access error occurs or the url is

Но у меня юрл то рабочая, и падает спустя неделю.
134 1324271
Парни, имеется веб-сервис на спрингбуте, в котором через activexobject реализована прозрачная авторизация. Т е. пользователь входит на сайт, берётся автоматически имя его компа и вуаля. Как сделать это не в ебаном IE?
135 1324339
>>24149
Так у тебя не налл возвращается, ты просто налл записал, а DriverManager.getConnection ничего не возвращал, вот как был вместо connetion null, так и остался, а ты его вернул и у тебя где-то далеко далеко потом об этот налл кто-то споткнулся.
Это не тот стектрейс что тебе нужен. Подключи sl4j или что там у спринга легко подцепится и нормально логни SQLException через logger.error.
136 1324347
Зачем джава, когда есть котлин?
137 1324373
>>24347
Зачем молоток если есть топор?
138 1324377
Это нормальная идея сделать промежуточный класс модели для перевода ентити в джейсон?
Или забить и хуярить как есть?
139 1324381
>>24347
хуй его знает, нормальные люди пишут на питоне, для дегенератов и пидорасов есть всё остальное. так что ответ какбы лежит на поверхности.
140 1324383
>>24381

>Нормальные люди все строят с помощью гигтанского розового дилдо, а остальные используют инструменты.

141 1324389
>>24377
Плодить дохуя классов на одну сущности изначально хуёвая идея, потому что потому, если придётся расшить модель, то придётся вносить правки в 150 разных классов добавляя геттеры и сеттеры.
На мой взгляд, на одну сущность можно сделать максимум два класса: модель(ДТОха, ЖПАшный бин) и представление(уже классик, который ты будешь сериализовать уже и в джейсон и во что хочешь, хоть в жпс возвращать).
142 1324391
>>24389
Хотя, если следить за посдении веяниями, все отказываются даже от представления и работают сразу с ДТОхой, обмазывая её аннотациями.
143 1324396
>>24271
Так, в общем я допер до того, что нужно использовать ActiveDirectory. Суть в том, что некоторые сервисы в нашей корпоративной сети уже используют такой подход. Мой компьютер также подключен к ActiveDirectory сервера. Могу ли я реализовать прозрачную авторизацию, не запуская свой сервис на сервере сети, а запустив его на своей локальной тачке?
144 1324409
>>24396
Ебаные двачеры тупорылые. Как обсуждать круды с дебилами и простейшие маппинги через спрингбут - так обсуждение на пару тредов, а как помочь с реальной задачей, так хуй кто что знает.
145 1324452
>>24389
Последними веяниями в хеллоу ворлдах?
146 1324463
>>24148
Хуй знает, у меня не возникло с этим проблем, если я правильно понял о чем ты. Правда сегодня я сделал то же самое на Antlr, получилось быстрее.
147 1324465
>>24409
А хули ты ждал, двач это тебе не форум для синьоров помидоров.
148 1324500
>>24452
Веяниями здравого смысла в тырпрайзе.
149 1324514
>>24463
я не знаю, что ты парсишь. так что может и не обосрёшься. но загугли что такое иерархия чомского и какие грамматики он различает. можешь даже для быстрого понимания на ютубе ликбез посмотреть. если совсем на пальцах, ты, скорее всего, пытаешься обработать контексно-свободный язык методами для регулярных языков (последнее это лишь собственное подмножество первого) и обосрёшься, если будешь открывать/закрывать скобочки или другие попарные символы. но это не единственное место, конечно.
150 1324520
>>24514
Как же все это тяжело воспринимается, если в вузе я изучал другую специальность. Вообще не понимаю эти грамматики. С вложенными выражениями никаких проблем не было, там все очень просто. Находится закрывающая скобка, а все выражения внутри скобок добавляются как дочерние к выражению, которое было перед скобками. Все рекурсивно, разумеется.
151 1324524
Сегодня за 12 часов (с 8 утра) по трехчасовому видеокурсу изучил JavaFX (на обычном уровне) до самостоятельного написания Flappy Bird за полчаса. Это заебись результат или так, ничего особенного?
До сегодняшнего дня только лениво читал Шилтда, дошел до 300 страницы.
152 1324525
>>24524
Это результат больше чем у меня за три года.
153 1324528
>>24525
Ты, наверное, просто себя ни разу в руки не взял и не работал целый день, как я сегодня.
Тебе стоит попробовать видеолекции.
154 1324536
>>24520
добро пожаловать в теоритическую информатику. макаки в этом треде даже и не слышали про такое, не то чтобы разбирались. так что не унывай.

ещё интересный случай: "((")"")"
155 1324537
>>24524
оставь ссылу, поизучаемс
156 1324543
>>24536

>"((")"")"


Не понел
арт-девушка-красивые-картинки-Krakenkatz-artist-2814570.jpeg506 Кб, 707x1000
157 1324546
Аноны, посоветуйте идею простого проекта, который бы продемонстрировал бы работу с SQL, Spring и Hibernate. Хочу написать и опубликовать для резюме.
158 1324547
>>24524

>Flappy Bird


Пиши игры на C# + Unity3d.
159 1324565
>>24546
Простая система библиотечного учета. Есть книги. Есть посетители. Посетители берут книги. Нужно знать какая книга у кого. Если он просрачил сдачу книги, начислять ему штраф. Есть два типа ролей - пользователь и библиотекарь. Первый может онли брать-сдавать книги и видеть список книг который у него. Библиотекарь, например прощать штрафы. Естественно есть регистрация. По желанию OAuth. Ну и веб-интерфейс - можно по православному на JSP, можно на Thymeleaf, можно на Ангуляре
160 1324574
>>24547
Двачаю. Жава не для игорей в виду необходимости установки жава машины. Максимум под андройид что то.
161 1324576
>>24565>>24546
И всё это сделай с помощью jHipster, простой монолит апликухой, с мордой на реакте.
Отвечаю, если разберёшься и сделаешь, возьмут изи в любую крупную контору.
162 1324578
>>24524
Четко. 12 часов на нигде ненужную хуйню
164 1324581
>>24576
Я сделол похожее без морды на реакте/хипстера в виду того что учил питон а не ЖС. Сейчас понимаю что питон нахуй никому не всрался.
165 1324583
>>24579
В любом правиле есть исключения. Еще 5 примеров хотя бы.
166 1324584
>>24581
Причём тут блять вообще питон?
167 1324586
Как делается вопрос в рест сервисе(любом)?
Забавно, что я могу написать на спринге сам рест сервис с БД и обработкой исключений но не понимаю кто будет делать пост запросы в эту апи.
168 1324591
>>24586
Что, простите? Тебе из джавы? Ну есть такая хуйня у Springа - RestTemplates, кури туда.
169 1324593
>>24584

> учил питон а не ЖС


Вместо реакта коврял пигейм, сейчас страдаю вот причем.
170 1324594
>>24586
Ты совсем что ли ебобоша? Тот кому предоставлено API внезапно
171 1324596
>>24591
Это тролинг тупостью?
172 1324600
>>24594
Давай конкретный пример как это делается. Джейсоном например.
173 1324601
>>24596
Какой вопрос - такой ответ.
174 1324603
>>24600
Пиздос, нахуя ты полез в рест, если не понимаешь как хттп работает?
175 1324609
>>24603
Я не спрашиваю как работает хттп. Я спрашиваю конкретное применение пост запроса в рест сервисах. Кто его делать будет? Откуда блять он придет? В тот же сраный спрингкроме которого в жаве все мертво с его сраным рестконтролером как делать будет совершаться запрос?
покормил
176 1324612
>>24600
Окей у тебя есть некий сервис, подцепленный к базе юзверей (логин пароль) и у него наружу торчит API. Есть другой сервис, в котором происходит регистрация (веб-морда). Когда юзверь жмет зарегистрироваться, на твой первый сервис отсылается джейсон, что то типа
POST user/add
{
login: xxxxx
password: xxxx
}

Контроллер первого сервиса ловит его, и вызывает сервис по конверту джейсона в энтити и персисту его в базу. Усе
177 1324615
>>24609
Дед пихто. Ты нихуя не понимаешь, как работает хттп. Иди читани хотя бы википедию.
178 1324617
>>24609
Броузер/Постман/curl.
179 1324618
>>24612
Ну вот. Живой пример спасибо. Это все еще через кролика скорее всегоRabbitMQ. Трули нон хуман экспириенс вобщем.
Все это наверно лучше на вебфлюксе хуярить?
180 1324621
>>24618
Ну и помойка же у тебя в голове.
181 1324622
>>24617
Это больше для тестов. Вртяли кто то будет сидеть через курл писать запросы тебе в апи.
182 1324624
>>24622
Ты понимаешь, дурачок, что сейчас уже почти весь интернет на ресте работает, нет?
183 1324625
>>24622
Первые два варианта ты проигнорил? Если сервис внутренний, то запросы вполне могут пуляться каким-нибудь баш скриптом. Хелсчек микросервиса, запущенного через ci.
184 1324628
>>24625
Да, блять, в микросервисной архитектуре сервисы между собой по рестам общаются. Вы совсем что ли ебанутые тут?
185 1324647
>>24565
Спасибо.
По шагам:
1. В SQL создаются три таблицы.
Первая таблица содержит информацию о книгах (праймери = инвентарный номер книги, заголовок, имя читателя, дата выдачи).
Вторая таблица: праймери = номер читателя, имя читателя, суммарный штраф.
Третья таблица: праймери = номер события (нарушения), читатель, книга, просрочка в днях, штраф.
2. Собственно приложение на Java.
2.1. Подтянул JDBC.
2.2. Подключение к БД SQL
2.3. Приложение создаёт нужные statement'ы.
2.3. В приложении есть класс user, от него классы reader и librarian с разными правами.
2.4. Подсчёт и управление штрафами в зависимости от даты.
3. Интеграция веб-интерфейса при помощи Spring.

Как-то так?
186 1324648
>>24647

>2.1. Подтянул JDBC.


>2.2. Подключение к БД SQL


>2.3. Приложение создаёт нужные statement'ы.


Вообще нет. Читай про гибернейт и spring data.
187 1324652
>>24647
1. А где таблица юзер-роль? Где логин-пароль? Вообще садись и думай, как лучше сделать и не забывай, что все это должно быть нормализовано.

2. Ты хочешь юзать Хибер, но ты даже не понимаешь что это такое. Из третьего пункта видно что ты не понимаешь что такое спринг.Короче, кури Spring in Action 4 (не 5 - там Boot и Data - нихуя не поймешь)
188 1324653
>>24647
Короче, рано тебе ещё так сразу, для начала, попробуй просто в памяти всё хранить, БД прикрутишь потом.
Сделай простенькие классы, связи, посоздавай объекты в юниттекстах, посмотри чё как. Не надо так сразу.
189 1324655
>>24647
Ну и начни с простого, сделай класс юзера, сделай класс книжки, сделай так, чтоб юзер мог брать книжки(не абы какие, а нужные), и выводи списочком аккуратно.
190 1324667
>>24543
два разных типа, которые имеют открывающий и закрывающий символ/тег, вложены в друг-друга, то есть перекрываются. и тут ты никак регулярками это не разрулишь.

в примере я проебался и лишнюю кавычку добавил. просто мысленно убери какую-либо, и попробуй распарсить на листочке бумаги это. можешь для пущей забавы представить себе, что скобка и кавычка имеют одинаковый приоритет.
191 1324703
>>24528
Что за набор смотрел?
192 1324731
>>24043
Как и обычный контроллер
193 1324734
>>24389

> добавляя геттеры и сеттеры


> 2К19


> не юзать Ломбок


М-да.
194 1324738
>>24734

>2019


>тянуть зависимость ибо не осилил Alt+Insert в нормальной ide

195 1324773
Аноны, подскажите годные курсы по Spring framework. Желательно, конечно, видео-курсы. Заранее спасибо.
196 1324790
>>24734
>>24738

> Две тысячи девятнадцатый год


> Пукать грин-текстом вне /b/

197 1324807
>>24652
Спасибо.
198 1324808
>>24653
>>24655
Нет, с этим-то у меня проблем нет вообще. Это азы.
Мне как раз со Спринг и Хибернейт надо разобраться.
199 1324819
>>24808
Спринт даёт абстракцию над хибером, так что разбираться в нём нужны нет, а вот в спринте есть что покурить - да.
Никакие ждбц драйверы тебе не нужны, всё должно настраиваться в конфиге простым указанием типа БД.
200 1324820
>>24734
Идея всё сама генерит. Нахуй этот ваш ломбок нужен.
201 1324821
>>24819
То есть начать нужно с хибера.
202 1324887
>>24628
Это ты ебанутый. Нахуя пилить целый слой реста, когда можно просто модель с валидацией сделать.
Рест нужен для общения между собой 2х разных приложений. Отдельных блять.
Например рест апи вк и "твое говно нейм", которое туда подключается.
Никто в здравом уме не будет логин/регистрацию юзера тянуть через рест.
203 1324889
>>24731
>>24648
>>24624
>>24621
>>24617
>>24615
Какой то злоебучий недоджун срет в треде своим говном. Пиздец.
204 1324918
>>24887
Ты застрял в XIX веке примерно. Сейчас фронт-энд как раз и делают как отдельное приложение на каком-нибудь Реакте.
205 1324925
>>24808
Сам сейчас hibernate изучаю. Обрати больше внимания JPA, hibernate используй как провайдер. Так меньше кода получается и конфиг проще.
206 1324933
>>24925
Как раз сел читать по Hibernate.
Вкратце, я вижу три этапа задачи:
1) Код на Java - объекты и их взаимодействие.
2) Передача данных в SQL через Hibernate
(https://proselyte.net/tutorials/hibernate-tutorial)
3) Создание веб-интерфейса (надо полагать, с использованием Spring).

Беру ИДЕЙку, создам SE-проект, напишу логику, прикручу hibernate.

Интересно, почему в Java такая каша из технологий в сравнении с тем же C#?
207 1324975
Посоны, поясните, вот допустим создаётся новый проект.
Варианты: создать через диалог в IDE, использовать Maven.
В чём разница?
208 1324977
>>24933
потому что оракл нихуя не делает, что позволяет всяким пидарасам писать велосипеды для неё. мелкомягкие в этом отношении молодцы и не ленятся обновлять свой .нет
209 1324988
>>24977
Хорошие люди мелкомягкие. На сольдиезе ты просто садишься и пишешь ПО, а на кофе ты сначала ломаешь голову про зависимости-хуисимости.
изображение.png208 Кб, 460x294
210 1324991
211 1325041
Вась, петян тут. Как делать фабрики на яве без колбасы из кейзов в свитче? такой расклад, у меня есть куча классов с char полем, типа "репрезентация". Надо бы заебонькать фабрику, которая бы получала char и создавала инстанции этих классов в зависимости от того поля репрезентации.

Была идея пробежаться по классам, и схоронить в map эти чары и классы. А уж потом уже пихать в фабрику чар, а она будет заглядывать в map и дёргать правильный класс и конструктор.

Правильно думаю?

С любовью, твой Питон-Петян.
212 1325072
>>24655
Странно, сел писать CRUD и затупил, как всё это организовать, хотя у меня же есть собственные готовые образцы.
Допустим, у Юзера есть список книг, это понятно.
У Книги будет ссылка на пользователя, которому она сейчас передана (эта ссылка не будет входить в equals и hashcode).
213 1325109
>>25041
используй енум
214 1325128
>>24889
Ты?
215 1325136
>>25109
набросай пример
216 1325137
Чем можно заменить такую конструкцию? Классов очень много, для каждого надо получать свои параметры.
switch(class) {
case "class1" : return new Class1(ctx.getVar1());
case "class2" : return new Class2(ctx.getVar1(), ctx.getVar2());
case "class3" : return new Class3(ctx.getVar3(), null);
...
}
217 1325149
>>25072
И? So far so good, keep going.
218 1325150
>>24887
Даже не близко. Сейчас на рестах работает всё. ТОт же сабмит мессаги на сосаче через рест идёт, можешь сам посмотреть.
219 1325186
>>25137

>заменить


нахуя?
220 1325187
>>25186
Хуй знает, мне не нравится.
221 1325190
>>25187
пока делай так, потом рефакторнёшь, когда поймёшь как сделать шоб нравилось, а то блять нашелся тут эстет. классы не крутятся, лавэха не мутится, пока ты хуетой занимаешься
222 1325191
>>24975
Что ты подразумеваешь под диалогом?
223 1325192
>>25190
Хуйня полная, делать надо сразу нормально.
224 1325193
>>24975
Это две разные ващи, блять.
Мавен это хуйня для менеджмента зависимостей в проекте, а диалог в ИДЕ это просто диалог в ИДЕ, который выставит какие-то внутренние настройки и подключит какие-то дефолтные либы.
225 1325199
>>25192
далеко пойдёшь, лол
226 1325200
>>25192
чувак, вариант с кексами - нормальный
227 1325208
>>25200
ну спасибо, твой пистон-петян
228 1325211
>>25199
Да я то вощемта и так норм.

>>25200
Хуита. Как тока вижу такую хуиту, сразу смотрю по аннотации кто делал или правил, и отправляю обратно на переделку, а чуваку, который мёрдж реквест принял - по ебалу.

А хотя, для ваших хелоу ворлдов это может быть и норма.
229 1325212
>>25211
Опа, синьор-помидор высрался.
230 1325213
>>25212
Мало быть сеньёром, надо ещё понимать, что ты делаешь. Клин Код читануть пару разиков, Эффектив Джава - что-нибудь в таком духе.
231 1325215
>>25211

>кок пок я кекитектор! я скозал!


Ну и чем тебе не нравится абсолютно читаемый, пусть и топорный, код? Алсо, кукарекнуть ты кукарекнул, а свою представление правильного в контексте данного примера так и не представил.
232 1325217
>>25215
Всём ёпто. Наличие такой хуиты свидетельствует о том, что изначально никакой архитектуры или дизайны в код заложено не было. Типичный спагетти говно-код, который потом заебёшься дебажить. Править тут нечего, надо всё рефакторить в пезду от основания, чтобы такие конструкции даже примерно использовать не пришлось.
234 1325222
>>25220
Так и есть. Причинно-следственная связь - то, что отличает нормального софтваре инженера от говнокодера. Один будет бороться с "root cause", в то время, как второй будет всю хуйню ифами оборачивать.
235 1325227
>>25213
понятно, пиздабол в чати.
236 1325232
>>25217
Github в студию
237 1325239
>>25232
А ты смешной. https://gitlab.t-systems.com
238 1325243
>>25239
Ты мне бросаешь корпоративный репо?) Во-первых, как я должен его открыть? Во-вторых, даже если бы я мог, как понять, что ты там пушил, а что другие делали)) Вас там по объявлению что ли набирают?
239 1325244
>>25243
Ну ты хуйню спросил, я хуйнёй и ответил. Что тебе не нравится?
240 1325245
>>25244
Ясно. Действительно, кукаретектор, как задали реальный вопрос -испугался обосраться)
241 1325247
>>25245
Какой блять реальный вопрос ты мне задал? Дать тебе ссылку на хитхаб, которым:
1. я не пользуюсь
2. даже если бы и пользовался, репо бы был приватный ибо корпоративная код-база
Ты хуйню просил, я тебе как мог ответил.
242 1325248
>>25247
Ну хуй с тобой (хотя оч странно, что нет даже завалящего акка на гитхабе, ну да в рот его ебать). Тогда ответь как правильно, чтобы не было спагетти кода
243 1325254
>>25248
Я написал уже выше. Спагетти код, это результат хуёвого дизайна/архитектуры приложения/модуля/фичи, называй как хочешь. Что делать? Читать книжки в этой области, применять. Какие? Да хоть какие. Лично я всем "ньюкамерам" рекомендую head first: design patterns по 8 жабе. Там как раз про уточек и пиццу, всё как мы любим.
Решать проблему в отдельно взятом кейс стейтменте - это хуита хуёт, говно-код.
244 1325258
>>25254
лол
245 1325266
>>25254
Ясна-панятна. Джуна после жава-школки взяли на работку он вообразил себя аркитекчуром. Потому что нормальный аркитекчур, как ни странно, если у него есть время (а у тебя оно есть если ты на двачах висишь) ткнет ньюкамера хотя бы в конкретном направлении, а не начнет рекомендовать хэд фёрст).

Особенно блядь это смешно на фоне засилья 23-летних синьоров, которые прочитают хэд фёрст, нихуя не поймут зачем и почему, не видят дальше собственного носа, но все равно наворотят сраных паттернов и ОРХЕТЕКТУРЫ, а потом паттерны есть, а код либо нихуя не работает, либо соплями к костылям приклеен) И девы лепят все новые и новые костыли, потому что "Я кокитектор, я так козал". В итоге ПО превращается в какой-то комок дерьма, в котором одни тесты на тесты и конвертеры из ДТО в ДТО, посреди сидит гордый кокитектор, ковыряется в этом говне пальцем и говорит "Я сделалъ", а девы уебывают с проекта, потому что саппортить это говне просто нет сил. Остаются только джуны, которые рады что хоть так вкотились, но не могут самостоятельно разобраться (и не потому что они тупые, а потому что пиздец) и , блядь, кокитектор им советует почитать хед фёрст. А дальше гроб-гроб-кладбище-пидор и кокитектор тоже уходит разваливать очередной проект.
246 1325274
>>25266
Хуйню несёшь. Ну то есть как, в принципе всё правильно, только в кал код превращается, когда джуны(да вощемта и сеньёры есть такие) начинают хуячить по принципу "ой, у меня тут нулпоинтер, оберну ка я его ифом", не разобравшись проблеме. А чтобы разобраться в проблеме, нужна таки какая-то экспертиза или хоть какое-то понимание. А где его взять? В 2019 году то? Ну хуй знает, может на заборе где-то написано "рэп - кал", в тех окраинах можно поискать.
Что-то читать надо, в любом случае. Надеяться, что к тебе придётся добрый дядя и всё объяснит - это хуита из детского сада. Как правило, если джун не справляется и не учится, он остаётся джуном ОЧЕНЬ на долго. Через пару лет мидла дают, за выслугу лет, так сказать.
И да, это не роль архитектора бегать и говорить "ой а давай ка тут спагетти код перепишем". Архитектор говорит, что нужен компонент, например, который будет делать вот это. И дальше уже всё идёт от тимлида/сеньёров.
Ну и из своего опыта скажу, что менторить джуна, который пришёл из джава-школы и сидит ждёт пока ему всё объяснят - работа не благодарная. Нахуй не нужно, пошёл нахуй. Раз сказал книжку почитать, два, а на третий просто послал юниттесты писать, или хмл какой править.
247 1325305
>>25254
ахахахахахаххахахахахахахахахахахахахахахахахахахахахахааххахаахахахахахаахахаххаххахахахахахахахахахахахахахахахахахахахахахааххахаахахахахахаахахахахахаххахахахахахахахахаххахахахахахахахахахахахахахахахахахахахахахааххахаахахахахахаахахахахахаххахахахахахаххаххахахахахахахахахахахахахахахахахахахахахахааххахаахахахахахаахахахахахаххахахахахахаххаххахахахахахахахахахахахахахахахахахахахахахааххахаахахахахахаахахахахахаххахахахахахахахахахахахахахахахахахахахахахааххахаахахахахахаахахахахахаххахахахахахахахахахахахахахахахахахахахахахааххахаахахахахаха... нет.
248 1325306
>>25274

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


лооооооооооооооооооол чувак, ты точно работаешь на призводстве?
249 1325308
>>25274

>Через пару лет мидла дают, за выслугу лет, так сказать.


Охуеть блять маняфантазии. Через пару лет тебя нахуй сокращают.
250 1325310
>>25306
Такие-то фантазии про СТРОГОГО НО СПРАВЕДЛИВОГО синьёра-кокитектора, который левой рукой отправляет читать хед ферст, а правой новых суперперспективных гребцов набирает, ибо старых он отправил иксэмэльки править.
251 1325311
>>25308
Ну тут он прав, в Т-Системс, вроде бы, чтобы уволили, надо сделать что то совсем экстраординарное, типа набить ебало кокитектору
252 1325314
>>25311
я так понял, чувак маняфантазирует про своё светлое будущее, ибо его взяли в лабу 2 месяца назад
253 1325316
Теперь это официальный кровавого джава энтерпрайза тред.
image.png163x16
254 1325317
Зарепортил тред в ФСБ.
256 1325348
>>25319
блять, мемное на 100% видео. если бы оно появилось в сети в эпоху маввовости производства мемов...
257 1325397
>>25306>>25308
Если ты работаешь в мелком шараше из 3 землекопов - да, могут и уволить, наверное, а из больших аутсорсинговых контор, где в общем-то самые деньги сейчас, никого не увольняют в принципе. Переводят с проекта на проект и т.п. В некоторых конторах есть даже практика СКАМЕЙКИ запасных, когда девелопер просто сидит в ожидании проекта и ничего не делает - в епаме том же. Бодишоп, хуйли.
258 1325413
>>24574
Жава машину можно с игрой шипить. В экзешник засунуть, например.
259 1325445
>>25193
Во всех случаях лучше использовать Maven?
260 1325450
>>25445
Или Gradle.
261 1325481
>>25445>>25450
Да, без разницы.
Сейчас, кстати, это ахуенно котируется, если девелопер не просто макакич с клавиатурой, но может и грейдловские скрипты подмандить. Ну типа поменять порядок сборки, знает про скоупы и вообще, может нормально сборку настроить.
262 1325488
>>25481

>если девелопер не просто макакич с клавиатурой, но может и грейдловские скрипты подмандить


Девелоперы, которые не разбираются в зависимостях, Jenkins, Linux – это просто пиздец какое позорище.
263 1325508
>>25488
Ну, блять, тут спорно. Дженкинс, да и пердолинг с линуксом, это всё же для девопсов а.к.а. одминов работа. Хоть как-то разбираться, конечно, желательно, но не обязательно. Да и этой хуйне проще обучиться.
264 1325528
Компания HeadHunter составила рейтинг вакансий с самыми высокими зарплатами в январе 2019 года в России.

На первом месте с зарплатой от 574 тысяч рублей до вычета НДФЛ оказалась позиция врача — акушера-гинеколога-репродуктолога в Москве. По 500 тысяч в месяц работодатели готовы платить техническому директору и менеджеру по продажам нефтепродуктов в столице, а также финансовому директору во Владивостоке. Замыкает первую пятерку самых «дорогих» вакансий Python developer в Москве с зарплатой $4 тысячи на руки.

В десятку предложений с самыми высокими вознаграждениями также вошли позиции командира воздушного судна, директора по рекламе и маркетингу, коммерческого директора, Senior Java Developer и стоматолога-ортопеда.

https://www.bfm.ru/news/404235

Жабоиндусов опускают на самое дно, к другим компилируемым языкам вроде C++ и Delphi, с чем мы их и поздравляем.

Вот прикол будет, когда PHP'шники начнут получать больше и надсмехаться над аутистами, ебущимися с багами Спринга.
265 1325535
>>25528

> В десятку предложений с самыми высокими вознаграждениями также вошли позиции командира воздушного судна, директора по рекламе и маркетингу, коммерческого директора, Senior Java Developer и стоматолога-ортопеда.



Но опущен оказался только ты, безглазый шизик.
266 1325556
>>25528
Фронтендомакак нет и на том спасибо.
267 1325585
>>25528

>самых «дорогих»


>$4 тысячи на руки


>в Москве


хуита
268 1325591
>>25413
Игра - 20мб - жава машина 800.
Заебись.
269 1325592
Поясните за JHipster. Что это блядь?
Если я делаю например спринг бут(что уже ахуенный чит) + ангуляр2 чем он мне поможет?
image.png16 Кб, 280x280
270 1325593
>>25591
Здарова ебать.
271 1325596
>>25311
в т системс уебаны и работают, это сразу видно, так как т системс ничего сделать не могут.
272 1325604
>>25592
Это генератор проектор, написано же, блять.
Чтобы каждый раз не придумывать авторизация, интеграцию с БД и всякие кэши. Чтоб не писать одни и те же гредловские скрипты - создаёшь проект джипстером и отдыхаешь.
+ у него есть ахуенный JDL, который позволяет генерить весь круд.
Ну и сразу прод/дев профайлы настроены. Для микросервисов есть годная реализация еврики и спринг клауд конфига, акчуатора и т.п.
Ваще оч крутая тема.
273 1325607
>>25596
Толсто.
274 1325608
>>25604

>Для микросервисов есть годная реализация еврики и спринг клауд конфига, акчуатора и т.п.


Хуя, а мне тогда что писать?
275 1325610
>>25608
Бизнес логику, ёпт.
276 1325654
>>25604
Ох ебать. А я это все руками хуярил. Пойду скачаю посмотрю.
277 1325660
>>25593
Уноси свой кривой костыль.
278 1325714
В PermissionEvaluator если метод hasPermission, когда известно только id объекта. В этом методе я вытаскиваю объект из бд по этому id и проверяю владельца. Вопрос: что возвращать, если объект не существует, true или false?
279 1325715
280 1325716
>>25714
false
281 1325717
>>25715
В интерфейсе boolean
282 1325718
>>25717
true if the permission is granted, false otherwise
283 1325719
>>25716
Ну или экспешен бросай, мол объект не найден - идите нахуй со своими пермишенами.
284 1325722
>>25716
>>25718
>>25719
Ладно, допустим, возвращаю false, но в самом методе (который защищен @PreAuthorize) тоже надо по id искать, а спринговские репозитории возвращают Optional, который в данном случае не имеет смысла, потому что я уже проверил существование объекта в эвалюаторе. В Optional писать сразу get без проверки?
285 1325723
>>25722
Гет из пустого опшенала бросит нулпоинтер.
hmm.png59 Кб, 680x680
286 1325724
>>25723
Но в PermissionEvaluator уже проверили, что объект существует и вернули true, а значит репозиторий просто вернет объект из кэша
287 1325730
>>25724
Можно сделать через optional.orElse(...) или orElseGet(...) вернёт либо значение из опшенала, либо чё скажешь, если пусто. Ну или можно варнинг засапрессить на уровне метода, лол.
288 1325732
>>25722
Напишешь сразу get и сонар и тому подобная хуйня скорее всего ебанет тебе критикал или мейджор
289 1325733
>>25730
>>25732
Значит остается только в сервисе писать orElseThrow с эксепшном, который никогда не выкинется благодаря PermissionEvaluator. Не очень красиво, ну да ладно.
290 1325983
Нужно ли писать жавадоки к своим хеловордам, которые собираешься показывать потенциальным работодателям?
Их в работе кто то юзает вообще?
@param,@return и т д?
Skirtzzz-artist-art-девушка-art-4951907.jpeg98 Кб, 811x1116
291 1326052
>>25149
>>25072
Короче, написал я логику своего КрУДа в Джаве.
Есть менеджер библиотеки, имеющий списки книг и читателей (пользователей). Менеджер создаёт, изменяет и удаляет книги и читателей (создание объекта одновременно заносит объект в список). Книга содержит информацию о том, у какого читателя она, а читатель содержит информацию о том, какие книги у него есть.
Вызов метода выдачи книги пользователю в менеджере одновременно заставляет книгу прописывать своего читателя, а читателя записывать книгу себе в список. У книги есть дата выдачи (обнуляется при возврате в библиотеку), от неё считается штраф по дням.
Штраф рассчитывает менеджер, просто перебирает все книги читателя и проверяет, какие просрочены, пересчитывает заново общий штраф и назначает читателю (можно прописать и отдельный штраф за каждую книгу).

Теперь к этому всему нужно прикрутить взаимодействие с MySQL через Hibernate (сливать списки пользователей и списки книг в database, вызывать их из database), и веб-интерфейс через Spring (вносить данные книг и пользователей).
Всё правильно понимаю?
292 1326054
>>26052
Нет, неправильно.
293 1326058
>>26054
Что упустил?
294 1326062
>>26052
А чего, в божественной джаве аналога даппера нет? Нахуя нужен орм?
295 1326069
>>26062

>даппер


Нет, только ехал гибернейт через гибернейт.
296 1326101
Джаваны, сдал тут давеча Java SE 8 OCA, повтыкал месяцок в Spring Core/Spring Boot/Spring Data JPA/Hibernate. Собираюсь почитать Effective Java и попробовать вкатиться на собеседование. Всё правильно делаю?
IMG20190113185404656.jpg34 Кб, 500x476
297 1326114
Двачик, помоги.

Пытаюсь разобраться в заполнении массива.
Почему в первом случае получаеться код - понятно.
Нашел в гугле решение, но как оно работает понять не могу. '0' - что дает этот нолик?,
298 1326123
>>26114
https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html
Там же объясняется что даёт "— '0'" нолик даёт 48
IMG20190113191904873.jpg81 Кб, 823x606
299 1326148
>>26123
Спасибо, няша:3
Все настолько просто, а то я себе уже успел нафантазировать всякого.
300 1326152
Есть у меня контроллер, что принимает под себя hui/pizda/stats

Есть у меня кнопка, которая перекидывает на hui/pizda/stats?catalog={catalog}.
catalog - переменная, а потому может иметь много значений, писать полный url не вариант.

RequestMapping ловит hui/pizda/stats и ему похуй что там написано дальше. Но теперь мне понадобилось добавлять инт в конец, т.е чтобы кнопка кидала hui/pizda/stats?catalog={catalog}/1 и я ловил вот этот инт последний. Но сколько бы я не пытался, сделать аля @RequestMapping(value = "{number}", method = RequestMethod.GET)

И я так же не могу поставить "stats/{number}" и прочее, ведь там есть ?catalog={catalog}. Как мне быть? Как словить вот этот инт в конце? Он тоже может быть переменной потому писать просто 1 не вариант.
301 1326156
>>26152

>hui/pizda/stats?catalog={catalog}/1


URL так не работает. Передавай параметр в теле запроса.
302 1326174
>>26156
Вообще без вариантов? Просто мне только в конец добавить надо, а менять в середине или ещё где похерит всё остальное ибо остального дохуя
303 1326183
>>26174
Либо
POST hui/pizda/stats?catalog/1
либо
hui/pizda/stats?catalog={catalog}&var1=1
304 1326189
>>26183
Пасибо, попробую на РАБоте и завтра отпишу
305 1326296
Сап, вопрос очень легкий: я вкатывальщик в ООП. Окажите помощь, пожалуйста.

Создал приложение в JavaFX с тремя элементами: текстовое поле для ввода числа, кнопка "подтвердить" и лабель для отображения результата.

К кнопке "подтвердить" привязан слушатель, в теле которого и вычисляется результат по формуле.

Вопрос: как я могу использовать один этот графический интерфейс для многих приложений, но с другими формулами в теле слушателя? Конечно, можно просто скопировать и вставить код, переписав формулу в теле слушателя, но я ищу объектно-ориентированный метод.
306 1326334
>>26296
Сделай интерфейс, который будет реализовываться слушателем, и подменяй слушателя через полиморфизм.
307 1326363
>>26334
Спасибо. А можно ли сделать абстрактным этот JavaFX-класс с кнопками и лабелями, оставив тело слушателя нереализованным, унаследоваться от этого класса и реализовать слушателя? Это будет правильнее?
308 1326364
>>26363
Не знаю что за JavaFX-класс, если ты про gui, то его лучше делать через fxml файл.
16677-141547-5afa6f74cd359aa8fb3249d018ab035f.jpg54 Кб, 359x500
309 1326405
ГДЕ ЭТОТ ПИДОР, ЧТО НА JAVAFX FLAPPY BIRD НАСТРОЧИЛ ПО ВИДЕОЛЕКЦИИ? ЕГО НАДО БЫ СПРОСИТЬ, ЧТО ОН ТАКОЕ ТАМ СМОТРЕЛ.
310 1326417
>>26405
Первая ссылка в Гугле, карл
311 1326429
Посоветуйте иде для джабки чтобы быстро запускалась без лишних свистелок и перделок.
Идею не предлагать.
312 1326436
>>26429
Notepad++
313 1326452
314 1326495
>>26429
щас бы лучшую и единственную полнофункциональную иде для жабоэкосистемы не предлагать....
315 1326543
>>25983
Джавадок в 2019 пишут только ебанаты.
Первый признак, что код уебанский - джавадок и миллионы комментариев.
316 1326544
>>26101
Да, с ОСА на джуна возьмут без проблем.
317 1326550
>>26052

>Теперь к этому всему нужно прикрутить взаимодействие с MySQL через Hibernate (сливать списки пользователей и списки книг в database, вызывать их из database), и веб-интерфейс через Spring (вносить данные книг и пользователей).


>Всё правильно понимаю?



Нахуй мускл, для девелопмента используй H2. Ну и чтоб версию базы контролить прикрути liquibase. В спринге это всё изи, репозитории тока создать нужно будет и аннотах накидать туда-сюда. Хибер нахуй не нужен, спринг дата даёт абстракцию на ним - читай в ту сторону.
318 1326551
>>26152

>hui/pizda/stats?catalog={catalog}/1


Хуита какая-то, работать не будет, если уж хочется в угле всё передавать, пределай на hui/pizda/stats/catalog/{catalog}/1.
sage 319 1326574
>>26551
Какое же спринг говно, пиздец просто :)
320 1326577
>>26574
Кстати, почему в Джаве так много костылей и велосипедов?
321 1326579
>>26574
Причём тут спринг? У тебя формат УРЛа из жопы.
322 1326589
Прач, как реализовать простейшую кластеризацию для бутового приложения? Нужно, чтобы поднимался второй инстанс на другом серваке, если первый упадет.
323 1326629
>>26543
Это такой тролинг? На сраковерфлоу пишут типо наоборот надо писать причем так, как если бы это все читал маньяк-убийца, который знает где ты живешь, и которому завтра сдавать проэкт.
324 1326632
>>26550
H2 признак долбоеба. Используй любую нормальную ДБ.
325 1326647
Помогите, плиз

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

Просто картинку без хтмл файла я могу открыть хостом, прописав путь, но в хтмле этот путь почему-то не пашет
326 1326652
>>26629
Это не про джавадок, а про код. 90% джавадока - это срань уровня "этот метод возвращает объект юззера по айди" и метод называется getUserById(...) - к таком коду джавадок не нужен.
327 1326653
>>26632
H2 это признак девелопера, который пишет нормальные интеграционные тесты, а не хуиту, которая сама себя тестирует.
328 1326662
Аноны, посоветуйте наигоднейшие курсы по жабе на ютубе в хорошем качестве, чтобы для новичков совсем были. Хочу смотреть по пути на работу и по пути до дома с работы.
329 1326680
>>26495
Он же про нетбинс не писал вроде.
330 1326683
>>26662
Таких не бывает. Всё на бумаге.
331 1326690
>>26629
Ну хзхз, Мартин в чистом коде писал типа чем меньше комментариев, тем лучше, код должен говорить сам за себя и свободно читаться и в редких случаях содержать коментарии
332 1326715
>>26690
Комменты нужны когда не очевидно, что делает метод, например, или для чего нужен интерфейс - взять тот же жаба.утил.конкуренси - там без поллитра не разобраться и там уместен джавадок, а когда у геттера пишет "yep, its getter" - за это надо убивать.
333 1326716
>>26690
Комментарии нужны там, где не очевидно, что делает код. ПО коду должно быть очевидно, что он делает, но этого не всегда получается добиться. А для API всегда нужен джавадок.
334 1326768
>>26183

>hui/pizda/stats?catalog={catalog}&var1=1


Пасибо за это. Рили сработало и отлично передаётся.
335 1326858
>>20292
Просто берешь и хуячишь всякую бессмыслицу, ассерты нуля с нулями, заменяешь моками половину функционала проверяемового кода. Главное - процент покрытия строк, чтобы пройти квалити-гейт.

Ентерпрайз-джава-джун-кун
336 1326863
>>23643
Для интерсептора надо было
337 1326892
>>26715
>>26716
Аминь
338 1326894
>>26858
Чем делаешь юниттесты, версия?
339 1326900
Без вышки нахуй пошлют?
340 1326917
>>26900
нет. вышка нужна, если ты метишь куда-нибудь выше ремесленника
341 1326958
>>26900
В джаве- да, и при чём чем выше ты забираешься- тем профильнее она должна быть. На нормальных местах без вышки топ-10 вуза даже резюме не будут рассматривать, будь ты хоть трижды Крисом Касперски
342 1326960
>>26900
А еще, если тебе больше 25, можешь даже не стараться. Ты уже отработанный материал, годный разве что мыть пол под ногами двадцатитрёхлетних сеньёров.
343 1326961
>>26958
>>26960
У нас в оффисе все программисты с вышкой получают минимум 150к, и это даже не джуниоры, а какие то духи 16-ти летние после школы.
344 1326962
>>26961
Давчую. Джава энтерпрайз это место для молодых смышленых ребят с вышкой. Если тебе за 25 или ты без вышки, то тут только один выход. В окно.
345 1326976
>>26962
ну или в жабаскрипт тред
346 1327054
>>26962
Спасибо, у меня как раз масло закончилось. Пойду приготовлю себе обед.
347 1327119
>>27054
где я неправду сказал, ммм?
348 1327123
Сап гайз. Тернист и долог выходит процесс вкатывания в джунство. Я читаю туториалы по кору, не пиша код. И хочу остановить это. Как мне помочь? Есть ли смысл в платных курсах каких-то? Может бесплатные есть годные? Например Тинькофф Финтех, м? Там например какой-то набор идет, надо ли неистово стремиться попасть туда? Расскажите историй как вы вкатились на первую работу!?
349 1327140
>>27123

>Есть ли смысл в платных курсах каких-то?


Попробуй Javarush.ru
Хорошие практические курсы.
350 1327142
Посоны, почему этот Spring такое говно?
Делаю Spring-boot приложение, то одна хуйня не работает, то другая. Разные туториалы, разные ответы на StackOverflow, разные pom.xml, в итоге постоянно что-то не работает.

Кажется, никто толком не понимает, как эту хуйню запускать.
351 1327147
>>27140
Шапка треда с тобой не согласна.

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



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

352 1327154
>>27142
У меня было такое же ощущение пока не написал несколько хеловородов на спринге.
Пиши мок-тесты, юнит тесты к своему говнокоду. Намного будет быстрее и проще пониматься где косяк.
353 1327160
>>27147

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


>


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


Не согласен.
Я с нуля прошёл весь курс JavaRush (), там:
1. Автоматическая проверка выполнения задач, написания кода. Где-то после 12 уровня идёт уже далеко не hello world, а работа с потомками, мультитрединг, всё познаётся на чистой практике.
2. Я бы посоветовал пройти как минимум 20 первых уровней (Syntax+Core) + уровней 5 от раздела коллекций. Купил подписку Javarush по акции на год за 5 тысяч.
354 1327169
Посоны, поясните за JIT.

Возьмем метод

void doSmth(int x){
long a = 0L;
for (int i = 0; i<Integer.MAX_VALUE; i++)
a += i*x;
}

запустим 5 раз:

doSmth(1);
doSmth(2);
doSmth(3);
doSmth(4);
doSmth(5);

Если замерим время, то получится (на вскидку) выполнение методов так (миллисекунд)

3000000
2800000
60
60
58

Можете объяснить, что происходит под капотом JVM? Как я понимаю, код скомпилировался в байт-код, JVM запустила один метод, потом второй, некий счетчик увеличился, JVM поняла, что это популярный метод и скомпилировала его в машинный код. Правильно? Ок, но ведь параметр Х каждый раз разный. Как достигается такое быстродействие?
354 1327169
Посоны, поясните за JIT.

Возьмем метод

void doSmth(int x){
long a = 0L;
for (int i = 0; i<Integer.MAX_VALUE; i++)
a += i*x;
}

запустим 5 раз:

doSmth(1);
doSmth(2);
doSmth(3);
doSmth(4);
doSmth(5);

Если замерим время, то получится (на вскидку) выполнение методов так (миллисекунд)

3000000
2800000
60
60
58

Можете объяснить, что происходит под капотом JVM? Как я понимаю, код скомпилировался в байт-код, JVM запустила один метод, потом второй, некий счетчик увеличился, JVM поняла, что это популярный метод и скомпилировала его в машинный код. Правильно? Ок, но ведь параметр Х каждый раз разный. Как достигается такое быстродействие?
355 1327170
>>27160
Сколько раз драл на жопе волосы в процессе?
356 1327229
>>27160
Ебать ты лох.
357 1327231
>>27170
Немного. JavaRush быстро проходится. Хороший вспомогательный инструмент научиться синтаксису, работе с данными и ООП.

>>27229
Лох бы я был, если бы выкинул сотню на какой-нибудь SkillBox или GeekBrain. А тут соотношение цена-качество отличное. Как пару раз в кафе или баре посидеть.
358 1327234
>>27231

>Лох бы я был, если бы выкинул сотню на какой-нибудь SkillBox или GeekBrain. А тут соотношение цена-качество отличное. Как пару раз в кафе или баре посидеть.



Нет, лучше бы получил вышку до 25 и стал сеньёром в 23.
359 1327235
Поясните за put реквесты в спринге.
Оно работает без конкретной имплементации?
Я сейчас немного прихуел когда из контроллера пишет сразу в БД, без каких либо вызовов методов вообще.

@PutMapping(value = "/put/{id}", consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE})
public ResponseEntity<String> update(@PathVariable("id") Long id, @RequestBody @Valid Entity){
return new ResponseEntity<>("User was successfully updated", HttpStatus.OK);
}
360 1327237
>>27231
Ты отдал деньги за сомнительную хуйню, вместо которой мог просто скачать из интернета книги + иде и учиться ПРАВИЛЬНЕЕ И БЫСТРЕЕ, лол.
Нет не лох кончено же.
furry-фэндомы-furry-f-furry-art-4899371.jpeg255 Кб, 811x1092
361 1327241
>>26052
Продолжаю писать CrUD.
Написал черновую логику КрУДа.
Создал maven-проект с Spring Boot, всё работает, генерируются динамические web-страницы.
Поставил MySQL, буду подключать Hibernate.
Потом после всего создам веб-интерфейс и импорт из CVS.
Возникли вопросы по архитектуре.

1.
В SQL у меня будет таблица с книгами и таблица с юзерами (считателями). В ООП у меня будут такие поля книги, как
User holder (у кого книга),
Date checkOut дата выдачи (буду считать штраф)
Boolean available (доступность книги) // подумал, что эта переменная не нужна, вместо неё можно просто проверять, является ли holder null
Соответственно, эти переменные (holder, checkOut) предусматривать в таблице book?

2.
У меня в классе User будет поле-список books (книги, которые взял именно этот юзверь). Как это предусмотреть в SQL-таблице users?
362 1327243
>>27237

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


Ты глупый.
Читать книги != писать код и проверять его.
Книгами и ютубом можно заменить лекции и вебинары, но не задачки с проверкой.
363 1327252
>>27243
Скачать иде и писать код + писать к нему тесты.
Денег отдал ты, а глупый я.
Тебе жава раш за пиар платит чтоль? Ты там СММшикн? Говно же лютое. Сириосли.
Есть гугл, есть стаковерфлоу, баелдунг и куча куча всего.
Это не считая нормальных книг. Которые лучше и полнее чем жава раш/лекции/вебинары.
Нужен только нормальная голова и минимальные знания английского. Если последнго нет, иди сперва учи инглишь, иначе хуй ты чего накодишь.
364 1327255
>>27252

>Скачать иде и писать код + писать к нему тесты.


Много ты напишешь с нулевыми знаниями. Ну скачаешь ты идейку, напишешь хелло ворд, а дальше что, сразу веб-приложения писать?
Задачки Javarush - хороший источник практики на старте.

>Это не считая нормальных книг. Которые лучше и полнее чем жава раш/лекции/вебинары.


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

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


Мой английский лучше твоего, мань.
365 1327256
>>27255

>Мой английский лучше твоего, мань.


Ясно все с тобой.
Кроме жава раша задачек то нет наверное нигде, ладно.
366 1327258
>>27256

>Кроме жава раша задачек то нет наверное нигде, ладно.


Какие бы альтернативы ты мог посоветовать?
367 1327265
>>27255
Скажи еще сколько задач скопипастил с гитхаба?

Алсо, сам прошел джавараш, но он был ДО хорстмана и шилдта и мало кто может представить, сколько боли и страданий он мне принес.
Хотя в целом концепция годная.
368 1327266
>>27265

>Скажи еще сколько задач скопипастил с гитхаба?


99% честно решал сам.
Лез сверяться только в самом крайнем случае когда валидатор зверствовал

>Алсо, сам прошел джавараш, но он был ДО хорстмана и шилдта и мало кто может представить, сколько боли и страданий он мне принес.


Я полностью заменил лекции жавараша Эккелем.
369 1327281
>>27241
Сделай отдельную таблицу для отслеживания всех выданных книг. И храни там исторические записи с данными: айди холдера, айди книги, дата начала и окончания. Так как только одно состояние может быть актуальным на данный момент, то можно завести флажок, отружающий последнюю строку в таблице, и создать индекс на книгу и этот признак.

Как корректно заммапить это с помощью JPA, я затрудняюсь ответить, но беглый гуглинг показал, что один из вариантов: OneToMany + Filter.

>>27258
Я пробовал курс на udemy, правда по Спрингу. Автор давал задание, а потом в следующем уроке его разбирал. Но, блджад, почему-то он быстро скатывался в говнокод, и я в итоге склоняюсь к тому, что этот курс дропну. Но при этом объяснения касательно самого Спринга давал нормальные.

>>27266
Стоит ли проходить Джавараш, если я получил OCA и более-менее ориентируюсь в базовых вещах? Ты написал про изучение синтаксиса и основ ООП - в принципе OCA на это и заточен.
370 1327312
Составил себе план, зацените.
Если я полностью пройду computer science + software engineering курс от ossu https://github.com/ossu/computer-science затем пройду это https://www.udacity.com/course/android-developer-nanodegree-by-google--nd801 и напишу 10 собственных типовых анроид-приложений для портфолио на основе полученных знаний, я смогу сходу вкатиться на upwork в качестве полноценного middle android developer?
371 1327362
>>27281

>Стоит ли проходить Джавараш, если я получил OCA и более-менее ориентируюсь в базовых вещах? Ты написал про изучение синтаксиса и основ ООП - в принципе OCA на это и заточен.


Я думаю нет. В Жавараше мне понравились раздел, касающийся работы с потоками, в том числе с архивами, обмен данными, сериализация и класс лоадеры. Но я думаю, всё это можно почерпнуть уже самостоятельно, если ты умеешь писать простые приложения.
372 1327363
>>27312
Да, конечно, проходи курсы, пиши хеллоуворлды, а я пока буду работать.
373 1327365
Используете мультимапы от гуавы?
374 1327372
>>27281

>Сделай отдельную таблицу для отслеживания всех выданных книг. И храни там исторические записи с данными: айди холдера, айди книги, дата начала и окончания. Так как только одно состояние может быть актуальным на данный момент, то можно завести флажок, отружающий последнюю строку в таблице, и создать индекс на книгу и этот признак.


Вот неплохой ролик, но автор напихал в pom.xml слишком много зависимостей сразу. Мне бы хотелось разобрать подключаемые технологии по шагам, тем более, что у меня будет информация не только по книгам, но и по юзерам.
376 1327379
>>27169
Ребята, не пропускайте мой тупой вопрос.
377 1327403
>>27169
Хуй его знает что там JIT устроит, может например вообще все вычисления убрать если ты их не используешь никак. Может векторные инструкции для твоего проца сделать, смотри как анализировать перформанс в выступлениях Шипилева, посмотри про JMH и HROF, perf и вот это https://stackoverflow.com/questions/1503479/how-to-see-jit-compiled-code-in-jvm
378 1327417
>>27169
>>27379
Если говорить в общем о повторных вызовах, то да, скорость улучшается за счёт оптимизации байткода на лету:
https://stackoverflow.com/questions/16970191/why-does-my-algorithm-become-faster-after-having-executed-several-times-java

Время выполнения из твоего примера скорее всего не в милли, а в микро секундах. Несколько секунд первого прогона говорят о том, что JVM честно выполнила цикл, а 60 мс - о том, что твой цикл был удалён JIT компилятором, потому что результат вычисления нигде не используется. Выведи a хотя бы в System.out.

Но даже учитывая тот факт, что JVM - дохуя умная штука, она не сделает априори медленный код быстрым. Твой цикл в следующем виде:
for (int i = 0; i<Integer.MAX_VALUE; i++)
a += i;
a *= x;
Даёт те же результаты, но работает намного быстрее.
379 1327432
>>27417
Четя туплю, но как a+= ix; может быть эквивалентно a += i; a = x;

x = 2;
i = 0; a1 = 0; a2 = 0;
i = 1; a1 = 2; a2 = 2;
i = 2; a1 = 8; a2 = 8;
i = 3; a1 = 14; a2 = 22;
380 1327433
>>27417

>а 60 мс - о том, что твой цикл был удалён JIT компилятором, потому что результат вычисления нигде не используется. Выведи a хотя бы в System.out.



Вот этот момент меня интересовал больше всего и так оно и оказалось. Спасибо.
В цикле я использовал несколько более сложные вычисления, чтобы получить более наглядную задержку. При использовании sout в конце цикла и замерами System.currentTimeMillis() я получил такие цифры:

4003
3985
2949
2942
2980

Приблизительно такой результат я и ожидал увидеть в самом начале.
381 1327436
Чем более новая джава используется, тем менее полезна гуава.
382 1327437
>>27436
Мультимап-то нет.
383 1327438
>>27379
>>27169
Гугли PigletVM если хочешь понимать принцип и способен на это
384 1327451
StreamAPI и Лямбды - это одно и то же? Не могу вникнуть
385 1327458
>>27451
Стрим апи - это библиотека, предоставляющая ленивую коллекцию, стрим (по сути просто итератор в красивой обертке)

Лямда - синтаксический сахар для оборачивания интерфейсов с одним методом
Capture.PNG173 Кб, 1098x538
386 1327465
После JDK9 проекты делят по модулям?
387 1327466
>>27465
Нет.
Capture.PNG122 Кб, 525x509
388 1327467
>>27466
Не так, да?
389 1327515
>>27123
Прочитал книгу, выучил английский, прописал свои проекты, устроился на работу
390 1327522
На чем писать фронт для spring'а? Бэк в виде рест-апи на спринг буте.
Ангуляр2 или Реакт?
Какие то доводы в пользу одного или другого.
391 1327523
>>27522
На jQuery.
392 1327527
>>27515
Двачую. Самый верный путь. Книг только не 1 а штук 5+ хотя бы. Одна-две из которых по алгоритмам.
Data Structures and Algorithms in java например.
Можно еще Кукбук почитать по джаве.
Это все не считая полной документации фреймворков и всяких вариаций жава ин практис.
По крайней мере это не говнораш, который тут их сммшик пытался пиарить.
Видосы это потеря времени за редким исключением.
О'рейли неплохие, больше так на память не приходит ничего.
393 1327528
>>27523
Слабый байт. Проследуйте в петушинный угол.
394 1327551
>>27515
Ах да, забыл сказать - я начинал писать на сервлетах, соблюдая mvc. Потом узнал, что такое Spring, Hibernate, Angular 2, React, Redux и тд. И вот потом уже Spring Boot.
kek.jpg68 Кб, 1136x669
395 1327552
>>19820
Анон ебать ты гений. Охуенное тебе человеческое спасибо.
Я достиг 15 лвл на джавараше и заебался ним (ну чисто не прёт). Решил попробовать твою ссылку - проебался 2 суток и чуть не охуел пока не сделал 1 задачу на написание хэлоуворлда.
Установил этот ебаный CLI, пришлось зарегистрироваться в Gitlab и Github, запилить Gradle (IDEA у меня уже была), запустить там тест, разобраться с TUTORIAL.md - короче заебался конкретно. И хэлоуворлд там ни хуя не System.out.println.
Короче пока скачал исходники, пока закачал решение обратно через командную строку - чуть не ебанулся. Но зато в конце просто гением себя почувствовал!
ЧСВ выросло до 20лвл. Буду жать дальше.

Огромнейшее тебе человеческое спасибо значит.
396 1327555
>>27522
Angular - самодостаточный фреймворк
React - библиотека, которой нужны другие библиотеки
Так же Angular имеет привычную java программисту layer-ную структуру
397 1327562
>>27552
Там тоже за деньги?
Покажи пример какой-нить задачи
image.png46 Кб, 583x312
398 1327573
>>27562
там всё фри. алсо один из майнтейнеров жава трека шестнадцатилетний пиздюк, который только мечтает о трудоустройстве
Стикер255 Кб, 512x355
399 1327576
>>27573
будущий 23-ий сеньёр?

btw, через три года на веб галере с выполнением заказов от клиентов аля "нужно собрать стату по этому говну с сайта и потом в пдф выгружать" и "прикрути мне сбор статы по кликам от жопы до шеи и потом отфильтруй" можно стать синьёром?

мимо 20-й джун.
400 1327597
>>27552
Так ты задание читай правильно.

>Write a function that returns the string "Hello, World!".


Написать метод, который возвращает строку "Hello, World!".
401 1327634
>>20392

> Не уже ли



пидарас блядь
RocatArt-art-барышня-art-шибари-4923430.png355 Кб, 810x1080
402 1327738
Посоны, поясните.

Пишу, значит, CruD по туториалу для Spring MVC (в туториале приложение обращается к серверу TomCat).
https://www.youtube.com/watch?v=e7swABdqOS4&feature=youtu.be&t=165
Но сам я начал с использованием только Spring.Boot (has a complete Tomcat inside).

Остановился на этапе, где автор туториала прописывает mvc-dispatcher-servlet.xml

1. Сижу и думаю, какую зависимость добавить в pom.xml (и какие файлы создать), чтобы создавать веб-страницы через Spring.boot?
2. Или же лучше не использовать Spring.boot, а использовать Spring.MVC и обращаться к запущенному серверу TomCat?
403 1327744
>>27527

>Двачую. Самый верный путь. Книг только не 1 а штук 5+ хотя бы. Одна-две из которых по алгоритмам.


>Data Structures and Algorithms in java например.


>Можно еще Кукбук почитать по джаве.


>Это все не считая полной документации фреймворков и всяких вариаций жава ин практис.


>По крайней мере это не говнораш, который тут их сммшик пытался пиарить.



Токсичный студентик, который гордится своим intermediate-английским.
404 1327759
>>27738
1 - гугли Spring Boot web starter
2 - лучше понять spring, перед тем как лезть в boot
405 1327761
>>27759

>2 - лучше понять spring, перед тем как лезть в boot


Я так понимаю, Spring.boot многое берёт на себя, в чём лучше разобраться самостоятельно?
406 1327773
>>27761
Spring Boot берёт на себя конфигурацию приложения.
Если заглянуть внутрь аннотации @SpringBootApplication, то там внутри будет аннотация @EnableAutoConfiguration, которая и проворачивает всю магию. При старте приложения Spring сканирует зависимости и создаёт экземпляры конфигурейшен-классов по умолчанию.

Например, из дебаг-лога:
H2ConsoleAutoConfiguration matched:
- @ConditionalOnClass found required class 'org.h2.server.web.WebServlet' (OnClassCondition)
- found 'session' scope (OnWebApplicationCondition)
- @ConditionalOnProperty (spring.h2.console.enabled=true) matched (OnPropertyCondition)

Spring задетектил, что я использую
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
Поэтому создал Configuration-класс с настройками по умолчанию. А именно, БД работает в in-memory режиме, а Hibernate настраивается так, чтобы автоматически при старте создавать схему из Entity-классов.

А вот обратный пример:
JooqAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'org.jooq.DSLContext' (OnClassCondition)
Я не использую JOOQ, поэтому он не конфигурируется при старте приложения.
407 1327774
>>27759

>1 - гугли Spring Boot web starter


Суть в том, что я уже подключил Spring Boot web starter в pom.xml, у меня запускается Embed tomcat.
Теперь мне нужно вместо hello world создавать hmtl-страницу, через которую я буду вбивать названия книг и читателей в MySQL.
Штука в том, что большая часть внятных туториалов на эту тему используют Spring MVC, файл mvc-dispatcher-servlet.xml и сервер TomCat.
408 1327775
>>27738
Братюнь, ты в начале запусти/потыкай все примеры использования Spring.boot с официального сайта.
Там быстро поймёшь как сделать минимальный проект (без MVC) и запомнишь необходимые для этого 1,5 аннотации.
Дальше ты уже будешь кумекать нахуя MVC и что он добавляет из ништяков!
Ну и соответственно в начале дрочка mysql в консольке, затем jdbc, а после глядеть что там spring предлагает для удобства.
Ещё JSP не забудь, бины прочекай и прочее гавно где xml дрочево
409 1327777
>>27775

>Ещё JSP не забудь


Кстати, JSP не поддерживаются в IDEA CE. Щито делать? Корсарствовать?
410 1327778
>>27775
@RestController
public class pdr{
....@RequestMapping("/")
....public String ska(@RequestParam(value="id", defaultValue="42") String id){
........return String.format("<h1>%s</h1>", id);
}
}
411 1327784
>>27774
Я занимался по туториалу, где всё конфигурировалось в Джаве.
Вот приложение: https://github.com/springframeworkguru/sfg-pet-clinic.
Автор курса при этом сказал, что JSP нахер, сейчас все пересели на Thymeleaf. Вакансий с ним мало, но для приложения на коленке пойдёт - он очень прост и интуитивно понятен. Шаблоны на нём без ошибок можно открывать в браузере.
412 1327794
>>27784

>что JSP нахер, сейчас все пересели на Thymeleaf


Это для синьоров-помидоров или если повезёт для мидла-повидла!
Тебя как ждуна посадят как обычно на поддержку уже готового проекта.
413 1327815
>>27794
Лол, так зачем идти туда, где предлагают заниматься поддержкой проекта на JSP?
414 1327819
>>27738

пизда в голос с этого ретрограда на хмл

щас ставишь 1 аннотацию и у тебя все работает, але
415 1327835
>>27819
Я уже понял, что он перемудрил.

Короче, у меня всё просто:
1. у меня есть spring.boot + Hibernate + Servlets
2. у меня есть готовые классы для CrUD (DAO + Service).

Цель: на Embded Tomcat создать веб-форму для внесения данных книг в базу данных.
Подозреваю, нужно что-то добавить в папку main/resources
416 1327839
>>27815
Главное вкатиться же!
Хули выбирать то?
417 1327842
Джаваны, можно ли средствами jsp динамически добавлять данные на страницу без полной её перезагрузки? я не некроёб, просто тз такое
mrlovenstein-Комиксы-перевел-сам-бонус-в-комментах-3205112.jpeg36 Кб, 338x334
418 1327852
>>27835
Нашёл официальный проект, использующий минимум:
Spring.boot + Thymeleaf
http://projects.spring.io/spring-petclinic/

Я так понимаю, что это именно то, что мне нужно?
419 1327859
>>27835

>у меня есть готовые классы для CrUD (DAO + Service).


Для CRUD вообще ниичего писать не нужно. Подключаешь spring-boot-starter-data-jpa, который тянет за собой spring jdbc, hibernate и spring data.

Создаешь интерфейс, наследуешь его от org.springframework.data.repository.CrudRepository, и всё - репозиторий готов. Так же Spring Data имеет генерировать методы по сигнатуре (например, findByNameContainingIgnoreCase создаст тебе метод поиска книг по имени)
420 1327861
>>27852
Блядь ну куда ты лезишь то???
Начни с простого говна вроде
https://spring.io/guides/gs/serving-web-content/
Там таких хелоувордов дохуя, вот их и разбирай, хули ты лезешь в большой проект если ты с простыми вещами не разобрался!!
Хлебани гавна с хелоувордами вроде таких где Redis и RabbitMQ
https://spring.io/guides/gs/messaging-redis/
https://spring.io/guides/gs/messaging-rabbitmq/
421 1327890
>>27859
Круто.

>>27861
Ну там же вроде именно база данных на Spring.boot - то, что нужно.
422 1327905
>>27861

>Начни с простого говна вроде


>https://spring.io/guides/gs/serving-web-content/


У меня уже есть простое: реализованный Spring.Boot'ом "hello world" на http://localhost:8080
Мне нужно понять, куда и как двигаться дальше.
423 1327949
>>27235

>return new ResponseEntity<>("User was successfully updated", HttpStatus.OK)


>из контроллера пишет сразу в БД


Ты шо, ебанутый? Пруф неси, что оно тебе записало в бд.
424 1327954
>>26589
бамп
425 1328005
>>27949
Там в тесте был сеттер, который писал в БД. Хибернейт прямо из сеттера без вызова save() пишет. Я его не видел прост.
Но пока дебажил это были минут 20 ступора: как так не может быть и т.д. Даже суда запостил.
426 1328008
>>27744
Пукать гринтекстом про токсичность, лол.
Слив защитан.
427 1328017
>>27890
Не слушай долбоеба. Петклиник - это легендарный демо-проект, который как раз являет собой полноценное простое боевое приложение. Другое дело, что по шагам они не объясняют, а предлагают тебе самому во всем разобраться. Советую присмотреться к https://github.com/spring-petclinic/spring-petclinic-reactjs как к хайповому стеку и делать свою библиотеку по аналогии. Пляши от контроллеров.
428 1328018
>>28005
Пруфов не будет. Ясно.
429 1328024
>>28018
Пруфов чего? Что сеттер @Entity пишет сразу в базу?
430 1328029
>>27555
Не думал об этом с этой стороны. Почему то те кто пишут на джаве предпочитают ангуляр. Его MVC там все дела.
431 1328032
>>28017
Спасибо тебе! Я так и подумал, что Петклиник - это именно то, что мне нужно.

Пока я не следующем этапе:
1. Я собираю с нуля простейшие Spring.boot веб-приложения, в которые используют Контроллер и шаблоны html-файлов (Thymeleaf). Я правда не до конца понял, как Spring.boot выбирает шаблоны из папки Resources. Видимо, как и всё в этом
2. Как я понял, для создания CrUD я могу использовать spring-boot-starter-data-jpa или Hibernate (или их вместе).

В туториале https://youtu.be/e7swABdqOS4?t=165, как я понял, много лишнего, громоздкого и ненужного мне. Проще создать веб-интерфейс на Thymeleaf и связать его с MySQL при помощи boot-starter-data-jpa.
432 1328038
3 причны почему ява, а не С#?
433 1328041
>>28038
1) C# - 0.1% рынка
2) Дальше ковыряния в байтах ядра или ещё чего ты не пойдёшь, про бизнес-логику можешь забыть
3) Только аутисты могут на работе дрочить микроконтроллеры и прочую хуйню вместо того же вротенда
434 1328042
>>28041

>микроконтроллеры


Ты с С++ не путаешь?
435 1328043
>>28041
думаю, после такого ответа средний айсикю жавадебилов в этом треде упал на 10 пунктов
436 1328045
>>28041

>1) C# - 0.1% рынка


Пятый по востребованности ЯП.

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


Это в крестах. C# как раз ООП, как и Кофе.

>3) Только аутисты могут на работе дрочить микроконтроллеры и прочую хуйню вместо того же вротенда


Опять же, речь про кресты.
437 1328046
>>28045

>как раз ООП


Бывает ООП без множественного наследования?
439 1328048
>>28046
(((Егор))) говорит, что наследование нинужно.
440 1328049
>>28048

>Егор


Что за пидр?
441 1328057
>>28032
Короче, разберусь, как создать html-форму для загрузки данных (о книгах и читателях), потом разберусь с загрузкой в SQL.
442 1328061
>>28046
Вот честное слово, лучше бы этого говна в джаве не было - одни проблемы от этого.
443 1328062
>>27842
Да, ajax запросы из жабаскрипта тебе никто не мешает использовать.
444 1328063
>>28032
Держи нас в курсе.
Забей на видео. Читай гитхаб + http://spring-projects.ru/
445 1328064
>>27842
На этом основан весь текущий веб. Это не только можно, но и нужно делать.
446 1328067
>>28038
Жаба это тыпрайз, сервера, мобилки и дестктоп только для извращенцев.
Сольдиез - десктоп. + Юнити.
447 1328068
Где лучше хранить простую коллекцию объектов, в ArrayList или HashSet? Никакие плюшки конкретных имплементаций мне не нужны, только с точки зрения производительности.
448 1328069
>>28067

>десктоп


Что там под десктоп пишут?
449 1328070
>>28067
У жабы рефлект уебищный.
450 1328072
>>28068
Что лучше апельсин или банан.
Почитай про коллекции в целом. Ты ж 2 разных вещи сравниваешь.
451 1328073
>>28069
Много чего, особенно корпоративной хуиты.
452 1328075
>>28068
Вектор указателей
453 1328076
>>28072
Я в курсе, чем отличается сет от листа, но мне надо просто положить объекты, а потом забрать их оттуда. Вообще без разницы как.
454 1328078
>>28076
Если бы ты был в курсе, то таких вопросов бы не задавал, ибо в любой брошюрке по коллекциям - это первая глава.
455 1328080
>>28076

>Я в курсе, чем отличается сет от листа


Лол

Спросил у одного знакомого выпускника "Алгоритмы и структуры данных знаешь?"
Нет и не надо. В С# уже всё реализовано
3016df0a2ebb42f19b44ac47ebcf283a.png34 Кб, 630x334
456 1328090
>>28072
Захотелось запостить почему то.
457 1328097
>>28032
1. Автоконфигурация starter-thymelef по дефолту смотрит шаблоны в resources/template. Это можно переопределить но надо пердолить с мавеном
2. Starter, внезапно, и еюзает хибернэйт. JPA - это просто API, а хибер - реализация этого API. Кстати, если встает вопрос юзать JPA API или проприетарные имплементации хибера (EntityManager vs SessionFactory), то выбирать надо в пользу JPA (хотя вроде есть хитрые штуки которые можно пердолить в хибере, но их уже давно никто не юзает)

В туторе юзается чистый спринг, без бута (как деды воевали кароч) и проприетарные методы хибера. Действительно, не нужно по современным меркам, но способствует более глубокому понимаю, что вообще за хуйня происходит
458 1328108
>>28090
Очередь вообще нигде не используется, да.
header.jpg7 Кб, 470x40
459 1328110
>>28097
Как это фиксить? Идея не показывает красную полоскуобоже!! и не резолвит путь. Хотя все замечательно работает.
Спринг бут2.
В пом.иксимеле что стартер-тимлиф что просто тимлиф разницы никакой.
460 1328113
Тупой вопрос, как кидать кастомные ошибки на стандартные ситуации в Spring MVC?
Например, есть эндпоинт /api/comments/{id}. id должно быть числом. Если я напишу что-то вроде /api/comments/abasbfqwf, то Спринг просто автоматически отправит ответ со статусом 400. А я хочу, например, отправить JSON типа {"message": "Invalid comment id, must be a number"}.
Можно, конечно, сделать так, чтобы метод контроллера принимал строку, потом в методе делать Integer.parseInt(), ловить NumberFormatException и бросать своё исключение, но это идиотизм. Что делать? Писать кастомный HandlerMethodArgumentResolver?
461 1328116
>>28113
Гугли @ControlerAdvice.
Можно екстиндиться от ResponseEntityExceptionHandler и овверайдить дефолтные методы.
+ сделать свой класс для еррора где прописать вменяемый ответ в виде джейсона.
Возвращать из методов что то типо ResponseEntity<ТвойЕрорКласс>.
Вполне годно для реста.
Для МВС-вебморды можно сделать /error и там сделать шаблонч с надписью все поломалось. Ну и там обработка в контроллере всего этого добра с логированием.
А потом еще все это тестить.
Это так, минимальный вариант.
462 1328119
>>28110
Это просто пиздец. По запросу thymeleaf template custom folder гугыль выдал решение в первом же вопросе. Нахуй не нужны такие вкатывальщики
изображение.png256 Кб, 290x413
463 1328122
464 1328127
>>28116
Я знаю про ControllerAdvice, проблема в том, что я не знаю, откуда бросать исключение. Мне нужно либо самостоятельно проводить валидацию параметров запроса (до того, как они попадут в контроллер), либо каким-то образом отслеживать, что вот по такому-то эндпоинту было выброшено такое-то исключение и бросать своё исключение в случае необходимости. Думаю, для первого варианта подойдёт кастомный HandlerMethodArgumentsResolver.
465 1328131
>>28127
@Valid на параметре в контроллере.
На классе модели ставить параметры валидации.
javax.validation.constraints* Аннотации отсюда.
Исключения кидаешь из методов из сервис леера.
В контролер эдвайсе что то типо:
@ExceptionHandler(YourException.class)
public ResponseEntity<Object> handleYourException(...){
логируешь тут, вовзращаешь ентити
}

Как так так.
466 1328132
>>28119
Вообще не то. Не переходи на визг пожалуйста.
467 1328141
>>28119
Это не кастомный фолдер. Это папка внутри стандартных темплейтс.
В контролере папка даже не указана, просто возврат имени вьюхи.
Все работает. Просто Идея показывает красную полоску + не дает авто заполнения пути до папки.
468 1328142
>>28141
Заводи баг.
Солидол Иваныч 469 1328149
И всё же вопрос всё ещё открыт, какие проекты можно ебануть на гитхаб чтобы зашло на собесе будущему джава джуниору?
470 1328158
>>28149
Spring.boot+JPA+Hibernate+Thymeleaf+MySQL CrUD
Библиотека с книгами, книги раздаются читателям.
471 1328182
>>28062
Я надеялся сделать без js, а то нахуя мне вообще jsp тогда нужен, можно же просто html юзать.

>>28064
Ну и как это без js сделать?

Я уже сделал с перезагрузкой, тащемто там всё равно с ней или без, просто хотел всё по красоте сделать
472 1328187
>>28182
Ты знаешь что такое jsp? Как ты в статику собираешься динамику добавить, без использования Ajax?
473 1328188
>>28182

>Ну и как это без js сделать?


Без JS никак.

>нахуя мне вообще jsp тогда нужен


JSP — это шаблон, который используется для начального рендера страницы.
474 1328191
>>28142
Мож идею сперва обновить. Я чет год уже на одной и той же версии. Хуй знает кароч.
475 1328192
>>28182

>Я надеялся сделать без js, а то нахуя мне вообще jsp тогда нужен, можно же просто html юзать.


Ну как бы да. JSP не нужны, можешь только в качестве шаблонизатора использовать.
476 1328193
>>28188
Ну просто статичную страничку то отобразить можно. Ток частичную предзагрузку не сделать. И 2 реквеста пост и гет поддерживаются.
477 1328200
>>28187
>>28188
>>28192
Первый раз сел за jsp из-за того что в тестовом задании было такое условие.
Была мысль что если там можно использовать жаву, то и данные можно динамически добавлять используя только её. Оказалось что нет. ну как бы и хуй с ним, сделал как сделал уже
Теперь только один вопрос остался - зачем оно надо если есть js + html? Чтобы охуеть от того как можно?
478 1328201
>>28200
Б Э К В А Р Д К О М П А Т И Б И Л И Т И
479 1328202
>>28200
Почему не тимлиф? Зойчем жсп то. Им кто то пользуется в реальной жизни вообще?
480 1328203
>>28202
Да и тимлифом не пользуются.
481 1328204
>>28202
Не ебу, какое тестовое прислали так и говорю. Мб там у них какой-то старый проект надо поддерживать.
482 1328206
>>28204
>>28202
Сначала вообще написали онли servlets + jsp. Ну я спросил про спринг бут, говорят юзай по желанию. Ну хоть с сервлетами не заставили сношаться
483 1328208
>>28206
С сервлетами было бы проще, лол.
484 1328210
>>28208
Если бы я знал как с ними работать, то да. В частности как сделать регистрацию\аутентификацию
485 1328212
>>28210
Как и всё остальное. Тебе в сервлет пришёл хттпРеквест, ты из него выдернул что надо, и погнали.
В этом плане сервлеты и фильтры простые, как палка.
486 1328214
>>28212
Пишутся только как говнина. А так да.
487 1328215
>>28214
Э, ало, ето интерпрейз.
488 1328226
>>28200
JSP и подобные технологии используются для динамического рендера html-страницы на стороне сервера. JS в таких приложениях используется для динамического обновления страницы на стороне клиента. Это довольно просто, удобно и дёшево.
Писать фронт-энд чисто на JS, конечно, можно, и сейчас все так и делают. Но там тоже есть свои нюансы. Например, если у тебя бэк на Джаве, а фронт на JS, то для того, чтобы прикрутить тот же SSR, тебе придётся как минимум поднять ещё один NodeJS-сервак для фронт-приложения. Ну и да, добро пожаловать в удивительный мир бабелей, вебпаков и прочих JSSов.
Тут всё зависит от потребностей приложения. Если у тебя "богатый" клиент с охуенно сложной логикой и кучей динамических элементов, то однозначно лучше писать его на JS-фреймворке. Если же у тебя простенькая веб-морда, то JSP/Thymeleaf с жиквери и бутстрапом вполне может хватить.
489 1328239
>>28200
Jsp было создано для того, чтобы вынести логику представления.
Jsp компилируется в сервлет.
Чтобы разработчики не писали и html и business logic в сервлетах, придумали jsp, которые позволяют разделить ответственность.
490 1328243
>>28038
Panama/Amber/Loom/Valhalla?
491 1328285
>>28158
Да чо ты доебался до этого таймлифа? Вообще не слышал, чтобы он где-то юзался. Или JSP/JSF или уж тогда, по-человечески, на каком нибудь ангуляре
4534.png235 Кб, 512x512
492 1328369
Анончик, как набраться практики в EE дома там и тд? Есть какие-то гайды что поколупать, поднять и тд?

Просто в коре уже собаку съел но на собесе начинают ебать мозги по JTA спрашивать за сервлеты, спринги.
493 1328381
Посоны, я посмотрел C#, там MVC и ORM встроены прямо в .NET.
Это вообще нормально?
изображение.png119 Кб, 400x400
494 1328389
Коллеги, есть проект на Spring.Boot, в котором:
1. Есть pom.xml, в котором прописаны:
spring-boot-starter-web
spring-boot-starter-data-jpa
mysql-connector-java
hibernate-core
hibernate-entitymanager

2. Есть model (book) с аннотацией @Entity, переменные с аннотациями @Column

@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

3. Есть репозиторий BookDAOImpl @Repository, пример метода:

private SessionFactory sessionFactory;

@Override
public void addBook(Book book) {
Session session = this.sessionFactory.getCurrentSession();
session.persist(book);
}

4. Есть сервис BookServiceImpl @Service, пример метода:

@Override
@Transactional
public void addBook(Book book) {
this.bookDAO.addBook(book);
}

MySQL запущен, в application.propetries
database=mysql
spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/bookmanager
spring.datasource.username=нутыпонел
spring.datasource.password=нутыпонел

При запуске ругается на:
1) The server time zone value 'RTZ 2 (çèìà)' is unrecognized or represents more than one time zone.
В Таблице есть графа
2) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource
3) Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
4) Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

Цель: подключить моё приложение на Spring.Boot к MySQL
Вроде всё правильно делаю?
изображение.png119 Кб, 400x400
494 1328389
Коллеги, есть проект на Spring.Boot, в котором:
1. Есть pom.xml, в котором прописаны:
spring-boot-starter-web
spring-boot-starter-data-jpa
mysql-connector-java
hibernate-core
hibernate-entitymanager

2. Есть model (book) с аннотацией @Entity, переменные с аннотациями @Column

@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

3. Есть репозиторий BookDAOImpl @Repository, пример метода:

private SessionFactory sessionFactory;

@Override
public void addBook(Book book) {
Session session = this.sessionFactory.getCurrentSession();
session.persist(book);
}

4. Есть сервис BookServiceImpl @Service, пример метода:

@Override
@Transactional
public void addBook(Book book) {
this.bookDAO.addBook(book);
}

MySQL запущен, в application.propetries
database=mysql
spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/bookmanager
spring.datasource.username=нутыпонел
spring.datasource.password=нутыпонел

При запуске ругается на:
1) The server time zone value 'RTZ 2 (çèìà)' is unrecognized or represents more than one time zone.
В Таблице есть графа
2) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource
3) Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
4) Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

Цель: подключить моё приложение на Spring.Boot к MySQL
Вроде всё правильно делаю?
495 1328394
>>28389

> 4) Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

496 1328398
>>28389
Братюнь, если ты не можешь готовый проект собрать, и вместо гугления ищешь совет на дваче, по просто сделай шаг назад.

>spring-boot-starter-web


>spring-boot-starter-data-jpa


>mysql-connector-java


>hibernate-core


>hibernate-entitymanager


Ты вначале с каждой из этих залуп в отдельности поебись!
К примеру возьми только "spring-boot-starter-web" и запили с этим хелоуворд. Так ты поймёшь кишочки и что под капотом...
Постепенно усложняй проект добавляя разную хуиту.
Тыж пограммист а не макака!
497 1328400
>>28398

>К примеру возьми только "spring-boot-starter-web" и запили с этим хелоуворд.


Ну скажем с этим я уже разобрался.
Отдельно Spring.boot-проект с spring-boot-starter-web запускает эмбдед Кота и генерит hello-world. От этого можно переходить к созданию темплейта для формы внесения данных.

Но у меня проблема именно с SQL возникла, хотя по логике проекта это должно работать.
498 1328408
>>28400

>проблема именно с SQL возникла


Тогда на jdbc хелойворд запили!
499 1328409
>>28400

>генерит hello-world


>От этого можно переходить к созданию темплейта для формы внесения данных


А что тебе мешает вместо хелоу ворда запилить форму внесения данных? Без всяких там темплейтов?
500 1328420
>>28389

>private SessionFactory sessionFactory;


Я почитал документацию и понял, что мне нужно:
1. Дропнуть Hibernate из pom.xml (Spring.boot и так запустит Hibernate), достаточно просто JPA.
2.Вместо SessionFactory sessionFactory использовать EntityManagerFactory.

Сегодня вечером освобожусь, попробую переписать всё.
501 1328421
>>28409

>Без всяких там темплейтов?


Решил использовать Thymeleaf.
502 1328432
>>28421
Ты блядь без него сделай в начале, оптом с JSP а потом если мало будет Thymeleaf-ом подтирайся!
Вот ты сука тупой дебил!
Посмотри сколько вакансий на хх с JSP и Thymeleaf!
503 1328438
>>28432

>Ты блядь без него сделай в начале,


Ну и как ты сгенерируешь динамическую таблицу без какого-либо инструмента вроде JSP, Thymeleaf или Angular?

>Вот ты сука тупой дебил!


Плис, не визжи.
504 1328461
>>28438
JAVA
A
V
A
505 1328462
>>28438
4 аннотации
@SpringBootApplication
@RestController
@GetMapping
@RequestParam
2 два класса
main
controller
image.png137 Кб, 336x258
506 1328463
>>28462
>>28461
Мне кажется, что он хочет чтобы можно было патыкать кнапочки на local-host и скинуть скриншотик в общий чат беседки погромистов какой он молодец, а не долбится с вашим рестом и принимать за щеку откуда-то инфу
507 1328464
>>28438
>>28461
>>28462
Контроллер функция которая return String.
И в этот String вместо
"<h1>Hello World!</h1><p>Я у мамы пограммист!</p>"
Хуярь что там тебе нужно, <form action>, <input>, <хуй>, <пизда>.
Динамическую таблицу через StringBuilder сообразишь наверное как сделать!
508 1328466
>>28464

>Контроллер функция которая return String.


>И в этот String вместо


>"<h1>Hello World!</h1><p>Я у мамы пограммист!</p>"


>Хуярь что там тебе нужно, <form action>, <input>, <хуй>, <пизда>.


>Динамическую таблицу через StringBuilder сообразишь наверное как сделать!


Окай
509 1329285
Чет попытка привязать бутстрап + жкваери сложнее самого спринга оказалась. + С тегами тимлифа бустрап отказывается работать.
Делаю через пом:
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.3.1-1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.webjars/popper.js -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>popper.js</artifactId>
<version>1.14.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.webjars/bootstrap -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator</artifactId>
<version>0.30</version>
</dependency>

И в самом хтмл файле :
<link rel='stylesheet' th:href="@{/webjars/bootstrap/css/bootstrap.min.css}">
<script th:src="@{/webjars/jquery/jquery.min.js}"></script>
<script th:src="@{/webjars/popper.js/umd/popper.min.js}"></script>
<script th:src="@{/webjars/bootstrap/js/bootstrap.min.js}"></script>

Оно работает но как то криво пиздец.
Например кнопочки
<button type="button" class="btn btn-success">This is a success button</button>
Выглядят нормально
Навбар выглядит уебищно. Если соеденять с тегами тилифа то ломается нахуй вообще.
509 1329285
Чет попытка привязать бутстрап + жкваери сложнее самого спринга оказалась. + С тегами тимлифа бустрап отказывается работать.
Делаю через пом:
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.3.1-1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.webjars/popper.js -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>popper.js</artifactId>
<version>1.14.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.webjars/bootstrap -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator</artifactId>
<version>0.30</version>
</dependency>

И в самом хтмл файле :
<link rel='stylesheet' th:href="@{/webjars/bootstrap/css/bootstrap.min.css}">
<script th:src="@{/webjars/jquery/jquery.min.js}"></script>
<script th:src="@{/webjars/popper.js/umd/popper.min.js}"></script>
<script th:src="@{/webjars/bootstrap/js/bootstrap.min.js}"></script>

Оно работает но как то криво пиздец.
Например кнопочки
<button type="button" class="btn btn-success">This is a success button</button>
Выглядят нормально
Навбар выглядит уебищно. Если соеденять с тегами тилифа то ломается нахуй вообще.
510 1329382
>>29285
Давно вкатываешься?
Гит зелёный лул?
511 1329423
>>29382
Хтмл / цсс ни разу не трогал вообще. Только С и java и питон.
512 1329437
Есть два списка одинаковой длины. В одном пики точены List<Pika> piki, а в другом хуи дрочены List<Huy> huyi.

у каждой пики есть метод void cutHuy(Huy h);

как срубить все хуи? то есть первой пикой первый хуй, второй пикой второй хуй, и т.д. Желаю читаемых или модных решений через стримы. Не желаю это делать так:

int counter = 0;
for (Pika pika: piki) {
pika.cutHuj(huji.get(counter));
counter++;
}


Что посоветуешь, Антоха?
513 1329440
Ещё вопрос, Антоха, такая хуйня в яве не прокатит, да?

static <?> pickRandom(<?>[] array){
int idx = new Random().nextInt(array.length);
return array[idx];
}
514 1329457
>>29440
static <T> T pickRandom(T[] array) {...}
515 1329502
>>29382
Пересобрал проект через мейвен и все стало норм.
Странное дело.
Можно теперь прям копипастить с сайта бутстрапа и все 1 в 1.
Все таки вебджар локатор хорошая весчь.
516 1329522
>>29457
Спасибо, Антоха! Нефти тебе!
517 1329524
Чем генерики отличаются от использования класса Object? Отсутствием необходимости потоянных кастов?
518 1329525
>>29437

>одинаковой длины


for (int i=0; i < length; i++) {
piki.cutHuy(huyi);
}
И не надо выебываться со стримами.
519 1329528
>>29525
Так блядь, двач жрет квадратные скобки.
520 1329615
>>29524
Безопасностью. Кто то вместо String поставит Integer и такой код скомпилируется.
521 1329678
>>21148
zalando problem
и забить хуй на 100500 классов разных исключений
522 1329767
Кисть болит, бля.
523 1329772
>>29767
Да та же хуйня.
+ Я ща сидел правил хтмл под бутстрап. Глаза вытекают нахуй.
Как люди вообще работают верстальщиками это же пиздец.
524 1329773
>>29678

>zalando problem


Загуглил. Позже обязательно поковыряю.
Но уже каштомных хендлеров наклепал под вменяемые ответы в жейсоне. Так что пусть будет.
525 1329860
За Спринг расскажите, что такое, для чего нужно, что лучше не делать. Пятнадцать-лет-назад-в-фазанке-ява-кун
527 1329906
Такая ебата прокатит?

int[] sex_positions = {1, 2, 3, 4};
int[] [] shalava_stats = { {1, 2, 3}, {1}, {4, 5, 6, 7}, sex_positions};

Хочу создать массив массивов разной длины. Ещё было бы охуенно, чтобы можно было при инициализации вкладывать другой уже инициализированный массив. Или мне ебаться со списками? Но я не знаю, как они сходу заполняются при инициализации так одной строчкой.
528 1329963
>>29906
Ебаться ты будешь с массивами, а со списками хуйнул Arrays.asList() и пошел.
529 1330004
>>29437
Как тебе и посоветовали лучше не выебываться, но если сильно хочешь пофункциональничать, то нужен zip, вот только беда - его не завезли, написать его не сложно, но в стандарт он не вошел.
530 1330101
>>29963
он автоматически приведёт int[] к List<Integer>?
531 1330119
Мои мысли о Спринге:
https://habr.com/ru/post/334118/
532 1330123
>>29860

>За Спринг расскажите, что такое


Это плод любви Гитлера и дьявола.
533 1330126
>>30119

>Конфигурация в XML


Сразу нахуй говно полоумного дауна.
534 1330128
>>30126
Читай дальше, неосилятор:

>Тут обычно следует реплика: «Теперь вы можете делать всё с помощью аннотаций! Больше никакого XML!». Здорово, когда не нужно программировать на XML, но аннотации — это всё ещё магия. Пока вы не запустите приложение, вы понятия не имеете, свяжется ли оно правильно. И даже потом вы не знаете, правильно ли оно связалось; вы всего лишь знаете, что оно связалось.

535 1330129
>>30128

>Про аннотации в самой же статье сказали, а про магию — ну извините, это инверсия. В любой инверсии вам придется знать ЧТО именно делает каркас к который вы встраиваетесь — это не магия спринга это магия DI.


Если ты сам не знаешь, что ты пишешь, то фреймворк тебе тут не поможет.
536 1330133
>>30129
Dependency Injection - плод любви Гитлера и дьявола.
537 1330134
>>30133
ООП - плод любви Гитлера и дьявола.
538 1330156
>>30134
Только функциональное программирование, только хардкор?
539 1330157
>>30156
Процедурки.
540 1330163
>>30126
Не все спринговые поделия умеют в жава конфигурацию.
541 1330189
Как НЕ надо писать документацию:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
542 1330192
Сюда неосилятор спринга пробрался?
543 1330206
Неужели сайты настолько разные, что приходится их на жаве делать?
544 1330286
>>30206
Например у ВТБ платежная система сделана на жаве. Там прям видно жсп расширение у вьюхи.
545 1330288
>>30189
Хули тебе не нравится, нормально все.
Читаешь и делаешь. Ты еще джава доки покритикуй.
546 1330289
Как обеспечивается безопасность native методов?
547 1330315
Правильно ли я понимаю следующее.
1. Spring.boot без дополнительных фремворков позволяет создавать динамические веб-страницы.
2. Существует ряд фреймворков для создания веб-страниц, включая JSP, Thymeleaf, Angular.
Посоветуйте, пожалуйста, хороший туториал по созданию динамической веб-страницы базовыми средствами.
548 1330323
>>30315

>базовыми средствами.


Просто все туториалы, которые я нахожу, используют Thymeleaf
549 1330343
>>30315
Ну есть 2 варианта:
1. Рендер на сервере и возврат html-страницы клиенту. Для этого используются обычные контроллеры + JSP или Thymeleaf для шаблонов.
2. Rest API (@RestController) на сервере + JS-клиент, который страницу динамически заполняет данными самостоятельно.
Если не знаешь js и его фреймворков, выбирай первый вариант.
550 1330377
>>30315

> динамические веб-страницы


Это когда йяваскрипт у тебя в браузере ебошит!
На йаваскрипкте дохуя фреймворков всяких, пока не лезь туда!

Спринг.бут выплёвывает тебе в браузер то что ты ему скажешь.
JSP и вторая хуита позволяет "удобнее готовить хуиту" для отправки тебе в браузер.

1) чекай HTML, CSS, JavaScript и отдельно тренируйся делать странички.
2) Java и spring.boot дрочи параллельно.
551 1330383
>>30377

>Спринг.бут выплёвывает тебе в браузер то что ты ему скажешь.


Мне не вполне понятно, как заставить Спринг.бут выплевывать что-то сложнее hello world. Все туториалы, на которые я натыкаюсь, используют Thymeleaf.
552 1330411
>>30377

>HTML, CSS, JavaScript


Ну и традиционно, я не планирую прямо сейчас уходить во фронтенд.
553 1330429
>>30383
Thymeleaf с пол пинка не особо приятен попробуй Mustache
554 1330454
>>30383
хтмл не нужно! плюй json'оми
555 1330551
Ребята, порекомендуйте ультра-супер-легкий IoC-контейнер. Два требования:

1) исходный код о его существовании знать не должен, никаких @Inject;
2) конфигурять его исключительно через XML. Другие форматы, если такие вообще бывают, тоже рассматриваю, главное, чтоб не через Java/другой ЯП, потому что конфигурацию будет писать конечный пользователь.

Очень хочу Spring, но можно ли его включить в проект с минимальными зависимостями, чтоб работал только IoC?
556 1330579
>>19608 (OP)
sup, не могу запустить 64-битную idea
557 1330599
>>30579
Попробуй \bin добавить.
558 1330767
>>30551

>Очень хочу Spring, но можно ли его включить в проект с минимальными зависимостями, чтоб работал только IoC?


Да.
Сколько КРУДов 559 1330975
Сколько КРУДов нужно запилить на спринг что б въехать?
Ну и на работку стучаться?
560 1330977
>>30975
Один.
561 1330998
Опытные аноны, разъясните один момент. Вот я реализовал rest api, прикрутил к нему oauth2-авторизацию, но я не пойму как реализовать регистрацию пользователей (не клиентов, а обычных юзеров). Я смотрел несколько популярных api с oauth2 и ни в одном из них нет регистрации. Как я понимаю, смысл oauth в том, чтобы сторонний клиент не видел пользовательского пароля, и в таком случае регистрация/смена пароля через api не имеет смысла, верно? Короче говоря, как правильно делать регистрацию с oauth2?
magic.PNG29 Кб, 789x525
562 1331100
>>19608 (OP)
Кто-нибудь может объяснить мне эту магию свинга?
Есть JTextArea с JScrollPane, а так же кнопка, в обработчике которой вызывается метод textArea.getDocument().remove(0,2) при этом вертикальный скролл сразу же смещается наверх, причем, если в textarea изменить/вставить/удалить символ, то метод remove не дергает скролл. Wtf?

https://pastebin.com/5bUcXLzD
563 1331136
начом псать игру
564 1331273
>>30998
Как я понял, OAuth просто предоставяет данные о пользователе не предоставляя его пароль, тип какой нить гугл говорит этот челик заебца, ему можно верить. Смысла делать смену пароля действительно нет, так как пароль контролируются ресурсом, предоставлящим данные
565 1331313
В тред взываются радикальные идеологи Spring.

Как в XML передать некие значения из явы? Чтоб не из properties-файла, а реально из кода.

beanFactory = new DefaultListableBeanFactory();
reader = new XmlBeanDefinitionReader(beanFactory);

myMap = new HashMap<String, String>();
myMap.put("aaa", "bbb"); // куда бы этот myMap только вставить?

reader.loadBeanDefinitions(new ClassPathResource("my.xml"));

И вот, в этом my.xml я хочу заюзать value="${aaa}". Как его сделать видимым в XML? Гуглю-гуглю - не найду.
566 1331315
>>31313
Ты какую-то хуйню пытаешься сделать.
567 1331316
>>31315
есть определенное нежелание палить некоторые значения в properties-файлах
568 1331319
>>31315
Хорошо, тогда спрошу то, что мне реально нужно. Как считывать из XML значения env vars? При этом в properties они фигурировать не должны.
569 1331387
>>31273
Со сторонними провайдерами понятно, а если oauth сервер мой?
Запрашивает Java Junior 570 1331553
Обмазался JDBC, но у меня вопрос.
Встречается упоминание запилить круд на Spring JDBC.
Что блядь под этим подразумевается?
Использование jdbctemplate? Hibernate?
571 1331657
>>31387
Вот тут хуй пойми честно говоря, если разберешься, то отпиши
572 1331728
>>31657
перерыл stackoverflow, так ничего дельного и не нашел, вся надежда на то, что какой-нибудь сеньор подскажет
573 1331812
Написал простой КрУД на Spring.boot, в качестве загрушки поставил H2, потом переключу на MySQL. Сейчас главное - разобраться с фронтендной составляющей, которая мне ещё не до конца ясна.
Дальше добавлю регистрацию пользователей, управление базой, пользователями, и будет готовая, работающая CRM.

ЧСХ, процентов 90 времени копался в документации, 10% времени писал код. Проследил эволюцию Spring от эпохи множества xml-конфигураций до нынешней эпохи аннотаций. По сути, Spring.boot - это фреймворк для управления... фреймворком Spring. Мне кажется, это всё не очень хорошо. Надо посмотреть, насколько проще эта же задача решается под .NET
574 1331907
>>31812
Нужно было по чужому примеру делать круд, там бы сразу практические задачи решал, у меня был пример без бута, с сервлетами или хуй пойми как они называются и сразу c jdbc ну и конечно ещё с jsp вот я там говна хлебанул, ебать нахуй, весь стакоферфлоу переебал. И самый лол там ещё и бины были. Конечно я до этого спрингбутовые хелоуворды с оф сайта тыкал, так уже понимал что куда.
575 1331971
>>31907

>Нужно было по чужому примеру делать круд


Мне важно иметь понимание того, что я делаю, по шагам. Вот, скажем, шаг 1 - зачем он, к чему он ведёт? И так далее.
576 1332023
>>31971
Ну ты когда проект сморишь ты же код набираешь сам, пока набираешь уже понимаешь, если что меняешь как захочешь, если не получается смотришь ошибки и гуглишь как нужно делать, помимо этого там в спринге одно и тоже можно сделать разными способами и будет работать. Там конечно может есть каноничное решение, но я по быстрому протыкал и понял что и так и так работает.
1534199663366.jpg52 Кб, 811x811
577 1332042
Аноны, какая ОС лучше подходит для разработки автотестов Java + selenium ну и плюс сопутствующая хуета эта вся.
Стоит ли переходить на linux? Какие плюсы будут с перехода?
Понимаю, что не совсем этот тред, но где еще спрашивать если не здесь.
578 1332053
>>32042

>Стоит ли переходить на linux? Какие плюсы будут с перехода?


Давно уже убунту бы поставил!
Меньше будешь в игори играть а больше делом заниматься.
Будешь богом консоли и повелителем вима с емаксом!
image.png23 Кб, 422x274
579 1332058
Почему это говно не закрывается?
580 1332061
>>32053
Как раз задумываюсь над этим. А "богом консоли", я думал богом консолей, ну ладн.
581 1332353
>>32023

>не получается смотришь ошибки и гуглишь как нужно делать


Вот на это и уходит львиная доля времени.
582 1332400
Какой js фреймворк на view используют в связке с Spring?
583 1332430
[Spring] Аноны, как создать в XML бин, вызвав метод от другого бина? Т.е. требуется что-то вроде

Foo foo = new Foo();
Bar bar = foo.bar();
584 1332477
>>31387
Ну если у тебя сервер свой и клиент свой, то делай авторизацию через логин и пароль (user credentials flow). Другие способы (например implicit flow) используются для сторонних клиентов.
585 1332484
>>32477
Я спрашивал, как регистрацию сделать, просто через rest api? Посмотри изначальный вопрос
586 1332586
>>32353
Зато помнить будешь именно какие проблемы решал, то что работает скописпастил и забыл!
>>32400
Можешь любой, на оф сайте хелоуворды с разными от жквери до ангуляра
587 1332745
>>32400
Да ебать хоть на чистом Js пиши, это вообще не важно. У тебя есть REST API, а обращаться к нему ты можешь как угодно.
588 1332858
>>32058
Забил нахуй на свинг, на авт, сделал все на джава фк.
589 1332983
>>32858
правильные мысли. выкинул старую двацатилетнию хуйню, обмазался десятилетней.
590 1333520
>>32983
Ага, а потом решил обновится до jdk 11, забыл что там нету javafx и проебался еще час. Зато не десятилетнюю. И какая вообще разница, насколько старыми технологиями выводить окошко с одной картинкой?
591 1333523
>>33520
Сам себя на 0 делишь.

>там нету javafx


>какая вообще разница


Из-за того что технология старая и бесполезное говно Swing и то лучше её перестали поддерживать и в новых версия её нет. А теперь на пару лет вперёд загляни. К примеру в 15 тоже не будет fx, а у тебя будет. Будешь пердолить легаси на 8?
592 1333525
>>33523

>её перестали поддерживать и в новых версия её нет


Хуйню несешь. Хоть бы почитал что там с fx сейчас.
593 1333529
>>33525

>Выпилили из 11, выкинув как отдельный модуль на опенсорс


>МАМ, НУ СКАЖИ ЧТО ПОДДЕРЖИВАЮТ, МАМ!

594 1333552
что скажете про этот курс на udemy?
https://www.udemy.com/java-the-complete-java-developer-course/
595 1333565
>>27527
какие видосы орейли?
596 1333577
>>32484
Чем тебя не устраивает отправка обычного POST-запроса с нужными данными? =/
597 1333579
>>33529
Так-то у Джавы много чего популярного в опенсорсе, я бы даже сказал большинство фреймворков. Те же Спринг и Хибернейт. Так что это не значит, что FX похоронен.
598 1333588
https://pastebin.com/iDwyKyki
Достаточно MVC-шно? Или лучше метод updateColor перенести в контроллер? И еще запуск приложения через метод init это какая-то хуита, но для FX я не нашел других вариантов.
599 1333623
Посоны, читаю Spring in action 5. Поясните за WebFlux. Это правда что-то революционное и на этом стоит заострить внимание или это виение моды и поделка для смузихлебов?
DwKfa6aX4AAUYmO.jpg large.jpg74 Кб, 900x720
600 1333698
>>33552
Неплохо. Австралийский мужик с пика научит Яве 7-8 и чуть-чуть 9, много про SQLite-JDBC, JavaFX, Concurrency, I/O. Про фреймворки там не слова. Это энтрилвл, наверное, но лучше всех бесплатных курсов (с codeacademy и audacity).

Вот здесь можно скачать торрентом бесплатно много курсов с Удеми (не реклама) - https://freecoursesite.com/

Там найди еще курс про Спринг-Java и прочее, что тебе нужно будет. https://freecoursesite.com/?s=spring
601 1333798
>>33698
спасибо за ответ
2019-01-24-205850579x422scrot.png67 Кб, 579x422
602 1334277
Запилил кастомную аннотацию, однако каждый раз приходится указывать класс в котором проаннотировал методы

https://pastebin.com/jMZtB5eu
Не совсем понимаю почему в invoke нельзя передать prx вместо runs. Как пофиксить?

Error:
В сообщении присутствует слово из спам листа
603 1334374
>>33520
если нет, то установи. что ты блять как маленький?
604 1335019
Когда можно начинать ходить на собеседования? Например я выучил java core, java ee, hibernate, немного js. Обязательно учить spring? Пол-года зеленого гитхаба. Стоит пытаться?
605 1335091
>>28212
А где безопасность?
606 1335118
раз тут обосрали javafx, раскажите за lookandfeel на свинге. можно себе накачать скинов и как использовать?
607 1335192
>>35019
Ну вот давай сходу: какой метод сервлета выполняет обработку запроса?
608 1335325
Где перекат, питушки?
609 1335413
>>35192
service()
610 1335416
>>35192
Он создает новый поток исполнения, создает объекты request responce и передает их соответствующий метод.
611 1335535
>>35019

>Стоит пытаться?


Ты вакансии чекал что там просят от ждунов?

>java ee


Что из этого знаешь? Бины ебанные?
И где чистый sql?
Я чекал тесовые и обычно все просят круд разной степени сложности, срок дают примерно неделю.
У ты должен знать html, css, javascript на уровне запилить не уродскую форму и сделать валидацию полей (хотя могут попросить bootstrap прикрутить)
Бд обычно просят на jdbc
JSP естественно, для данных могут попросить спарсить из хорошо документированного источника и ОБЯЗАТЕЛЬНО будет какая-то хуита которую ты точно не знаешь!
Там специально подбирают ёбатню где только документация на английском, и таким образом проверяют как быстро ты можешь реальную проблему решать.
612 1335538
>>35535
Есть ли какой-нибудь пример тестового, проверить свои силы?
613 1335597
>>33623
М Н О Г О П О Т О Ч Н О С Т Ь
изкоробки.
614 1335599
>>35535
Джуну на жаве нужен фронт? С каких пор?
Какое ждбс? Откуда ты вылез блять. Из 2007?
615 1335623
>>35599
а что сейчас модно?
616 1335707
>>35538
Запили фейк ждуна на хх, с вузиком профильным и минимальной информацией.
Проси тестовое задание на фейк почту.
многие игнорируют, или отказывают но пару тройку тестовый получишь.
617 1335709
>>35599

>Джуну на жаве нужен фронт? С каких пор?


Хули ты споришь со мной? Внимательно вакансии почитай и тестовые задания посмотри.

>Какое ждбс? Откуда ты вылез блять. Из 2007?


Ты думал ждуна в модный стартап возмут писать на свежем смузи фреймфорке?
А что там в jdbc сложного? Проверить как ждун на чистом sql шпарит
618 1337309
>>35709

>Хули ты споришь со мной? Внимательно вакансии почитай и тестовые задания посмотри.


Он прав. Никто не просит от тебя ксс-ов. Хватает банального знания выставления <form> для контроллеров.

>Ты думал ждуна в модный стартап возмут писать на свежем смузи фреймфорке? А что там в jdbc сложного? Проверить как ждун на чистом sql шпарит


Да даже и не в модный, нигде чистый jdbc не юзают. Следи за руками extends CrudRepository

мимо
619 1337375
Заметил, что один участок кода просто обёрнут в скобки ради одной хуйни

//code

{
//code
Calendar c = Calendar.getInstance();
}

Calendar c = Calendar.getInstance();
//code

Ну и сами вопросы. Оборачивание в скобки даёт нам эдакую вариацию чего-то вложенного, где после выполнение все объекты cg почистит и переменные фсё?

Ну и второй вопрос такое имеет вообще смысл делать? Тип почему бы просто не назвать по другому?
620 1337838
>>37375
это просто маркирует scope, в котором вся эта хуйня действительна. зачем и почему, придумай сам.
wojak.jpg5 Кб, 205x246
621 1343612
Запускаю телеграмбота процессом worker на хероку. Процесс запускается, но бот молчит как рыба об лёд. Нужно ли ковырять pom.xml или нужно менять Procfile? В сети гайды противоречат друг другу.
Тред утонул или удален.
Это копия, сохраненная 10 февраля 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски