Этого треда уже нет.
Это копия, сохраненная 26 августа 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java #21 КАРАНТИННЫЙ thread /java/ 1668733 В конец треда | Веб
Прошлый >>1643468 (OP) (OP)

Проучаем вайтишников, дрочим спринг и ЕЕ, охуеваем с легаси

Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Вкатиться нельзя, ты должен был родиться программистом.

https://github.com/random76/Java-Thread/wiki
https://github.com/qqqlll/Java-Thread/wiki
2 1668749
Жаба позорная.
3 1668894
Зачем нужен этот пережиток прошлого, когда есть котлин?
4 1668900
>>668894
Язык для бета-тестеров не спрашивали.
5 1668902
>>668894
А ещё есть скала, груви, цейлон, кложура, jython. Лучше N полумёртвых языков для JVM только N+1 язык.
6 1668911
>>668902
Скалисты и кложуристы между прочим получают самые большие зарплаты в мире среди кодеров, если верить опросам.
7 1668916
>>668911
Ну так надо их как-то удерживать, чтоб на таком говне писали.
8 1668944
>>668911
Так-то и топовые плюсовики дохуя гребут. Эти языки далеко не для всех. Если средний вкатывальщик будет учить скалу с целью получать топ зп, он вероятнее не сможет найти работу, чем реально будет получать такую зп.
9 1668958
Пиздец вы перекатываете конечно, будто в быдлач попал

https://vertex-academy.com/tutorials/ru/samouchitel-po-java-s-nulya/

Поясните за эту мурзилку? В идела хочу чтоб как у ОПа в пыхапэ треде было
10 1668968
>>668958

> Пиздец вы перекатываете конечно, будто в быдлач попал



> https://vertex-academy.com/tutorials/ru/samouchitel-po-java-s-nulya/



> Поясните за эту мурзилку? В идела хочу чтоб как у ОПа в пыхапэ треде было


Неплохой ресурс
11 1668969
>>668968
А еще что посоветуешь? Книжку бы хорошо переведенную - я на английском ооочень долго и коряво читаю
12 1668975
>>668969
Яков Файн - Программирование на Java для детей, родителей, дедушек и бабушек

Не троллю. Рили хорошая книга
13 1668978
>>668975
А не старенькая она?
14 1668979
>>668958
М-да. Тогда уж сразу:
https://metanit.com/java/tutorial/
15 1668982
>>668978

> А не старенькая она?


Для основ подойдет. Всякие yoba штуки, типа лямбд, можно отдельно посмотреть потом
16 1668984
>>668982
Мне нужон целостный курс, где мне объяснять что, как и куда прикручивать после того как я освою основы. Типа серии книг Орейли
Пожалуй здесь останволюсь
>>668979
17 1669005
Андроид или Spring?
18 1669022
>>669005
интеграция на камеле
19 1669050
>>669005
Потыкай оба, что больше зайдёт - то и изучай.
Меня выбесило API андроида, это прям пиздец какой-то из костылей. Спринг няшный.
20 1669071
А вот я сконьпиливровал хелло ворлд написав javac hui.java, например. Куда оно схоронилось? Где путь схоронения найти? ОС debian
21 1669080
>>669050
Ты просто самый новый спрринг юзаешь.
22 1669099
>>669071
А, разобрался. Хлебушек я
23 1669107
>>669080
Даже ClassPathXmlApplicationContext и xml-конфиги для dispatcher servlet мне показались приятнее и логичнее, чем андроид апи.
24 1669112
Как без жопаболи теперь пересесть с идеи на эклипс? На ультимейт денег нет.
25 1669120
OpenJDK как настроить нормальный antialising обычные опции systemAA не работают обязателен ли fontforge?? желательно без смс и регистрации
26 1669124
>>669112
Пиратство.
27 1669134
>>669124
А там разве сейчас нет жопаебли с ключами и серверами активации? Я год назад пробовал - 100% выдачи гугла не увенчалась успехом
28 1669143
>>669112
Легко. Еклипс намного удобней и понятней ИДЕИ, но у него 2 минуса:
1. На винде тёмная тема будет немного криво отображаться.
2. Убогий маркетплейс. Пока он загрузится можно повесится.
29 1669147
Хз, мне для петов не то что коммунити - вима хватает.
30 1669149
31 1669166
>>669147
Мне для спринга.
32 1669175
>>669166
Ага, из-за отсутствия нормального автодополнения в виме я даже спринговые импорты начал учить. Неважео
33 1669178
>>669147

>пет на жаве


Сочувствую
34 1669186
>>669178
А на чём ещё, если не жава или котлин?
Пых ужасен, нода - это пых, на плюсах веб не попишешь, го примитивный, питон - динамическая дрисня.
35 1669188
>>669186
delphi 8
36 1669189
>>669186

>го примитивный


Тащемта, главный плюс пыща.
37 1669212
>>669186
божественный кроссплатформенный шарп!
38 1669217
>>669212

>шарп


>кроссплатформенный


>божественный


В свете последних обсёров даже не знаю что звучит комичнее
39 1669223
>>669212
Ощущения как где-то между джавой и крестами, а экосистема менее удобная.
40 1669225
>>669212
Я выше уже сказал.
41 1669226
>>669217
Шо, шо случилось?
42 1669250
>>669143
Поставил еклипс, и он какой то всратый, не модный, не молодежный. Как хотяб значки поменять там?
мимо другой
43 1669287
>>669250
Они по дефолту норм выглядит, ставь devstyle
44 1669340
>>669189
Примитивный язык для примитивных людей. Нет, спасибо.
45 1669377
>>669186
как будто джява это не ебаный примитив, нихуя нет кроме оопе с дженериками (обычный синтасический сахар, которого даже нет в рантайме), и то мамкены не осиливают и вынуждены половину времени программировать на иксемеле
до недавнего времени в этом парашном недо-языке даже нельзя было найти элемент в массиве
джява это язык уровня 1С, такое же коболоподное говно, вечно отстающее на десятки лет
46 1669392
Эх, что-то уже месяца 2 не могу позаниматься нормально. Сил вообще нет, как сел на книгу по xml и json, так и не прочитал толком. Перегорать начинаю, так и не загоревшись? Как фиксить?
47 1669400
>>669392
Хули там сложного?
image.png1,1 Мб, 925x582
48 1669401
>>669392
Т Р У Д О Т Е Р А П И Я
Р
У
Д
О
Т
Е
Р
А
П
И
Я
49 1669404
>>669400
Да прокрастинация не из-за сложности.
мимолентяй
50 1669417
>>669377
Го в кресты, там заебись все, да
51 1669422
>>669400
Этот >>669404 прав, сложность ни при чем. Всегда любил заниматься, но тут вдруг барьер какой-то, даже играть в пк начал.

>>669401
Фу, ненавижу физический труд.
52 1669423
>>669392

>книгу по xml и json


Как можно называть прокрастинацией нежелание съесть горшок говна?
53 1669425
>>669287
Это даркест дарк? Значи то один хуй прямиком из 2005 года
image.png997 Кб, 703x470
54 1669427
Аноны, привет.
Есть вопрос, на который мне вряд ли ответят в ноут треде, но вы думаю точно сможете подсказать. Извиняюсь заранее.
Ищу ноут для работы в Idea, буду накатывать ubuntu какую-нибудь.
1. На какие характеристики смотреть?
2. Какой размер экрана лучше взять? Работал ли кто-нибудь на 14' ультрабуке (без моника) - какие были затыки?
3. Мб кто-то работает на 13' macbook pro стоит ли покупать в минимальной комплектации (~110к, очень не хочется)
55 1669429
>>669422
Так пиши ебанину какую нибудь
56 1669432
>>669427
uefi ебаное, блядь
57 1669434
>>669422

>Фу, ненавижу физический труд.


Ты мальчик, а не мужчина.
58 1669437
>>669423
ЕСли бы не они, ты бы тут не сидел.
59 1669439
>>669432
Конкретнее вопрос - ищу ноут-машину на которой будет комфортно срать своим говнокодом в идею.
60 1669441
>>669423
Не понял.

>>669429
Хотел написать один проект, но сколько ни пытался - жаба не дала мне этого сделать, больше ни на какие ебанины вдохновения нет.

>>669434
За армию мне еще тут заясни.
61 1669442
>>669439
Сначала найди машину, чтоб можно было ставить туда всякое говно заместо того что шло с ним в комплекте.
Век анальных зондов на дворе, блядь
62 1669444
>>669441

>Хотел написать один проект, но сколько ни пытался - жаба не дала мне этого сделать, больше ни на какие ебанины вдохновения нет.


Зачем тогда мучаешься? Го в питончик
63 1669445
>>669437
Ты не понял. xml и json - норм, только книга тебе нах? Ты в комитете по стандартизации работаешь?
64 1669447
>>669445
Вот этого тоже не понл. Там мурзилку на две странички прочитать и всё.
65 1669453
>>669444
Та не.

>>669445
>>669447
По всем темам просто ищу книги, ну и еще куча оракловских гайдов набрал про запас. Дайте тогда, где можно все это основательно выучить, если не трудно.
66 1669462
>>668733 (OP)
Подскажите, люди добрые, а можно ли как-то заменить подстроку в строке ПОСЛЕ определенной подстроки? Ну т.е. вызвать replaceFirst(), но чтобы поиск таргета шел после нужного мне места?
67 1669463
>>669453

> По всем темам просто ищу книги


Отвыкай, так ты до пенсии изучать основы будешь. Книги читать нужно по большим вещам типа спринга или баз данных, и то спорно, но уж точно не по сугубо прикладной херне.
Для почти всех задач тебе хватит пары статей первыми ссылками из гугла, например "что такое X", "как работает X", "X quick start".
68 1669466
>>669462
Найти строку и отрезать всё, включая её, затем заменять в оставшейся строке и склеить обратно.
https://stackoverflow.com/questions/14642978/replace-part-of-a-string-between-indexes-in-java
Ну или написать нужный метод вручную.
69 1669468
>>669463
Книги просто разжевывают материал хорошо, а я тугой немного для просто статей.
70 1669477
>>668984
А какой смысл если это копипаст из любой книги по джаве?
71 1669482
>>668749
>>668894
Тут соглы как говорится
72 1669509
>>669143
Еще он не может в плагины, с каждой новой версией проебываются зависимости. Например в последнюю версию у меня не получилось поставить JFX от глюона и PDE, и не у меня одного!
73 1669557
>>669509
Ну и нахуя он нужен? Жидбрейнс абсолютные лидеры на рынке и не просто так.
74 1669567
Аноны, доброго времени суток.
Прошу пояснить за GeekBrains. Я гуманитарий до мозга костей, но начальные знания по программированию, благодаря приличному преподаванию информатики в универе, присутствуют.
У меня есть достаточно времени и баблишка, чтобы пройти полный курс по Джаве. Да-да, хочу ВКАТИТЬСЯ В АЙТИ, господа гусары. Стать разработчиком, открыть для себя новую сферу развития, как хотите называйте. И нет, Дудя я не смотрел. Мне просто это пиздец как интересно.
Однако, меня много чего смущает. Есть ли тут товарищи, которые на этом "факультете" учились, чтобы на мои вопросы ответить?

1. На GB много задвигается про трудоустройство. Послушайте, реально после успешного прохождения годичного курса трудоустроиться хотя бы джуном? Они хоть какие-то вакансии предлагают, или это просто КАРЬЕРНАЯ КОНСУЛЬТАЦИЯ?

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

3. Что, по вашему мнению, лучше? Курсы в GB или полноценный очный курс в вузике? Есть возможность проплатить и пойти в Бауманку поучиться. Цена одна и та же примерно, но я работаю и хочу таки дистанционку.

Также рад буду прочитать про ваш опыт обучения.
75 1669569
>>669567
java rush )))))))))
76 1669570
>>669112
Хуй его знает, я с него тупо начинал. У меня от других IDE теперь жопа полыхает.
77 1669571
>>669567
А если серьёзно, то самообучение это лучший выбор. Когда уже усвоишь пару книг можно идти на курсы. Но они так, для закрепления.
78 1669578
>>669427
Анонче, для работы с любой IDE важен проц и объём оперативы.
У меня старенький MSI GE602PL Apache, 15,6" - если честно, маловато пространства, подзаёбываюсь листать. Я бы тебе не советовал брать ещё меньше.
79 1669588
>>669571
Ну смотри, я решил пройти курс "Java Programming for Complete Beginners" от Alison - благо, он полностью бесплатен, и английский у меня нормальный С1, я ж гуманитарий, блять!
https://alison.com/course/java-programming-for-complete-beginners

Литературу буду выбирать по местным гайдам, но есть вопрос:
Где можно найти нормальный задачник? Как вообще прикладная часть в обучении кодингу реализована?

JavaRush не понравился, какая-то дичь. Слишком непрозрачно, и юмор хуёвый.
80 1669590
>>669427
Если ты вообще рассматриваешь вариант с Макбуком за 110к, то значит ноут за тыс. 60 - 70 можешь позволить себе. За такую цену бери Делл какой нибудь и всё. Там любая IDE будет летать.
На счёт размера экрана - лично мне 13.3 дюйма хватает.
81 1669593
>>669588
Про Джава Раш это была шутка. Говно полное, к тому же она ещё на употребляют тяжёлые наркотики, место то что бы изучать урок по ЯП, ты будешь читать про каких то работов и библию программиста на пол туториала.

Зачем нужен какой то уровень владения англ. если для чтения он не нужен? Я учил английский только в школе, с тех пор не мало словарного запаса накопил и могу спокойно прочитать любой текст, для этого грамматика не нужна, только перевод слов. Но говорить не могу конечно
82 1669596
>>669593
А я с языками работаю, лол. Да и это видеокурс, автор ещё параллельно комментарии свои вставляет.

Залетай в /fl/, там подскажут, как аудирование и говорение задрочить - несложно это.
83 1669605
>>669593

>Зачем нужен какой то уровень владения англ. если для чтения он не нужен?


Чтобы работать в дойчебанке, например
84 1669671
>>669567

>ена одна и та же примерно, но я работаю и хочу таки дистанционку.


Пиздос. Откуда у вас силы и время? Работать и еще и учиться.
85 1669674
>>669671
Просто удаляешь личную жизнь и место сразу освобождаешься.
86 1669675
>>669671

>Откуда у вас силы и время? Работать и еще и учиться.


У меня на работе есть парочка неофитов, которые реализуют всю текучку. Моя задача, с недавних пор, заключается в исправлении их косяков. Поэтому могу заниматься тем, что нравится, даже в рабочее время.
87 1669700
>>669427
1. Ты не поверищь - проц/память/диск.
2. Меньше 15-шки - глаза ломать. 15-ка тоже, но хоть что-то.
3. У мака божественные тачпад и динамики. Если тебе это не нужно, то не стоит.
Обрати внимание на корпоративные ноутбуки: lenovo thinkpad, dell latitude, hp probook/elitebook. Латики одни из самых доступных будут у нас. На форуме ixbt в разделе ноутбуки пояснят по хардкору.
88 1669703
>>669700
>>669590
Добра вам, аноны.
89 1669718
>>669588
Нахуй вам курсы, когда есть годные книги и мрзилки со встроенными самопроверками и задачками?
90 1669720
>>669557
Бешплатный, опенсурсный.
91 1669722
>>668733 (OP)
В чем разница между EE и спрингом вообще?
92 1669727
>>669718

>мрзилки


Да что это такое??
93 1669729
>>669727
Мурзилки же.
94 1669731
>>669729

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


?
95 1669734
>>669731
Ха! Подовил, молодца! Покажешь мне поом свой охуенный сертифиать после того как окончишь курс?
96 1669735
>>669734
Какой курс??
97 1669736
>>669735
Че пристал, блядь, отстань
98 1669738
>>669736
Че за мурзилка?
99 1669740
>>669738
Не покажу. Ты не увожаешь меня.
100 1669741
>>669740
Ну покеж, мое увожение.
101 1669742
>>669741
В треде есть
102 1669743
>>669742
А мурзилка тут при чем?
103 1669745
>>669743
Не нашел? Страдай.
104 1669748
>>669745
>>668958

>https://vertex-academy.com/tutorials/ru/samouchitel-po-java-s-nulya/


>Поясните за эту мурзилку?


Почему мурзилка-то, блядь??
105 1669749
>>669748
Потому что мурзилка это имя нарицаельное, уже давно. В ссылке что ты принес есть всё для того, чтоб она могла называться мурзилкой.
106 1669751
>>669748
Алсо, эта получше будет
>>669748
107 1669752
>>669749
Ну и дурдом. В первый раз такое вижу.

>>669751
Шизик.
108 1669753
>>669751
Вот эта вот, жеж
>>668979
109 1669754
>>669752
Все потому, что ты не модный
110 1669798
Ньюфаг итт. Чому ЕЕ зачеркнут в ОП посте? Сейчас нужен только спринг?
111 1669799
>>669722
ЕЕ - набор спецификаций, спринг - конкретная технология, на спецификации похожа лишь отчасти.
EE развивается медленно и теряет популярность, спринг жив и здравствует.
ЕЕ требует специальных серверов приложений с реализациями спецификаций, спринг изначально готов к использованию, и от сервера приложений ему нужны только сервлеты, более того, спринговое приложение можно запаковать в один жарник, и для работы ему нужна только JRE.
На ЕЕ тяжело писать микросервисы, на спринге норм.
В ЕЕ всё плохо с интеграционным тестированием, в спринге делается на раз-два.
А так код на современном ЕЕ и спринге аналогичен по содержанию, те же подходы и паттерны, та же организация кода, только аннотации немного другие.
112 1669801
>>669798
Легаси на ЕЕ никуда не делось, но сегодня нет смысла вкладывать силы в задрачивание ЕЕ, новое на этом стеке почти не пишут.
113 1669806
>>669749

>>Потому что мурзилка это имя нарицаельное


Первый раз в джава треде такой термин встречаю

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


Это ты так сайты про хэлоуворлды называешь? Если придумываешь термин, то дай ему определение, а то действительно как какой то шизик.
>>669754

>>не модный


Ты тредом не ошибся? Джава и джаваскрипт - разные языки

другой анон
114 1669846
>>668911
Получают они эти супервысокие зарплаты только потому, что программистов на Scala и Clojure исчезающе мало и среди них 95% всех разработчиков это программисты с многолетним опытом в Java. Т.е. в выборке можно сказать отсутствуют джуниоры и начинающие мидлы.
115 1669847
>>669377
Спецификация языка Java больше по объему чем в той же Scala, например. Только поддержка в IDE для Java на первоклассном уровне, а Scala работает через жопу.
116 1669863
Превратили Java-нить в чат про Мурзилку, блять
117 1669866
>>669720
Как и идея.
118 1669902
>>669863
Какой язык, такие и треды
119 1669964
>>669866

> Как и идея.


Захочешь написать веб проект на спринге, плоти за ульмативную версию
120 1670038
>>669964
Или юзай отдельную иде для фронтенда, лол.
121 1670168
Аноны, а посоветуйте книгу по concurrency, чтобы и не 2006 года, и шобы задачи были и все прочее
122 1670267
>>670038
А при чем тут фронтенд если речь шла о Spring?
123 1670271
Ебаный Primefaces ну чтоза пиздец, второй день ебусь с багом который гдето в жаваскрипте срабатывает после апгрейда с 6 версии на 8, мне чтоли теперь учить все эти библиотеки и дебажить в браузере код библиотек
124 1670299
>>670267
Я предположил, что под

> веб проект на спринге


подразумевается фронт в связке со спрингом.
125 1670433
>>669718
Я же написал, что параллельно работаю по курсу и буду литературу осваивать.
Самоучитель от Vertex Academy довольно крутой, темы по нему дублирую.
126 1670450
>>670299

> Я предположил, что под


> > веб проект на спринге


> подразумевается фронт в связке со спрингом.


Ну вот если не понимаешь, о чем пиздишь, то не пизди
127 1670593
>>670271

> Primefaces


А стек на стороне сервера какой? Если спринговый, то можно что-то полегче прайма взять. Какой-нибудь шаблонизатор берешь (тот же mustache), и он должен покрыть все твои потребности.
128 1670594
>>670450
Сам-то понимаешь? В коммунити у тебя руки отвалятся на спринге писать, или что? Или может ты просто никогда ею не пользовался? От ультимейта толк только один - фронт.
129 1670595
>>670593

>можно что-то полегче прайма взять.



Лол блять тут после апгрейда с 6 на 8 наебнулося по частям, ну хуле перепиши на за выходные все 100 страниц
130 1670608
>>670595
Да ну его нахуй. Я так помню радовался, когда попробовал, как всё вроде бы понятно и просто. А на деле столько багов, что пиздец.
131 1670621
>>670595
А откаться на стабильную версию нельзя?
132 1670622
>>670621

Тогда другая хуйня сломается для решения которой апгрейд делался другими гребцами
133 1670623
Насчет работы сейчас лучше в Спринг или в ведро соваться?
134 1670625
>>670622
Пиздец конечно.
135 1670626
Как попрактиковаться в ООП на джаве? Где взять хорошие задачи с решениями/объяснениями где надо будет задействовать ООП?
136 1670627
Как попрактиковаться в контейнеризации на джаве? Где взять хорошие задачи с решениями/объяснениями где надо будет задействовать докер, кубернетес, хироку, опеншифт?
137 1670632
138 1670636
>>670627
Очень надо я не троль, вкатываюсь в хайлоад. Пока нашел вот такое, норм? https://www.katacoda.com/
139 1670648
>>670623
Спринг, но и на ведре работы хватает.
140 1670658
>>670648
У меня в универе на след.год будет ведро.
Однако сейчас я выбираю для себя чем мне в целом заниматься, спрингом (который я дома на карантине начал тыкать сегодня) или же ведром (и на учебе облегчение будет, и смогу окончательно выбрать себе направление). С ведром только одна проблема - я не пользовался им сто лет + в ведро треде про работу плакать начинают, когда такую тему поднимаешь.
141 1670662
>>670168
Concurrency in practice самая годная, сам вот недавно дочитал. В шапке есть еще несколько книг.
142 1670667
Сука, блядь!! Если ты пишеш на идеа, то ты пидор ёпты!!!!!! ДАЖЕ ТОЛСТЫЙ ШВЕД ПИШЕТ НА ЭКЛИПСЕ БЛЯДЬ!!!!!!!!!!!!!!!!!!!!
143 1670669
>>670667
Я пишу на джаве, а ты?
144 1670670
>>670669
А я на эклипсе
145 1670671
>>670669
Это в советской россии.
1515449762414.png296 Кб, 651x800
146 1670672
Я вообще на жвачке пишу. Вон. Ледяная ягада.
147 1670675
>>670658
Со спрингом на недостаток работы не жалуются, вопрос лишь в том, готов ли этим заниматься. Раз жалуются в андроид-треде, это всё-таки лишний повод подумать, стоит ли оно того.
А для универа я бы не стал сильно запариваться, мне тут вообще предлагают писать магистерский диплом на фортране я серьёзно. Разве что потыкать в нужных рамках.
148 1670681
>>670675
Я наоборот не из-за универа запариваюсь. + если есть возможность что-то сделать для универа сейчас, чтобы потом можно было в нем пинать хуй больше работать, то почему бы и не сделать. Учитывая, что это не лаба уровня "написать крестики-нолики на сях", а что-то более реальное (думаю за курс андроида после года ежедневной джавы мы будем писать что-то интересное).
Короче вся война у меня в голове сейчас сосредоточена на выборе направления.
О других направлениях не думаю, ибо нет времени и сил сейчас учить что-то новое (и так в универе хватает нагрузки) + джаву учим мы больше всего + с джавой я много времени провожу и вообще полюбил ее каким-то образом (а в школке, лет 5 назад, мечтал никогда не писать на ней).
149 1670685
Какой нах эклипс??? Аналог эклипса в мире браузеров - это IE, а в мире языков программирования - PHP.
150 1670686
>>670681
В дополнение:
Потому и не хочу сейчас обосраться с выбором андроида, чтобы не получилось так, что через 2 года я буду искать работу хоть кем-то, а все будут сидеть в вебе и гугл хром будет единственной приложухой на мобилках (а фронтендщики будут писать драйвера на жс)
151 1670696
>>670675

>на фортране


Я тоже был удивлен. У нас кластер в ВЦ при универе работает на фортране, мы на нем даже кодили интегралы в многопоточном режиме. Видимо это стандарт распределенных вычислений в российских НИИ.
152 1670698
>>670696
ВЦ РАН
153 1670701
>>670686
Я как раз поэтому и отказался от андроида, когда был перед подобным выбором. Хуй знает, как реально будет, но что-то мне подсказывает, что почти всё уйдёт в веб, а нативными останутся только уже раскрученные приложения типа мессенджеров и социалочек.
154 1670707
>>670686

>гугл хром будет единственной приложухой на мобилках


А это, кстати, не исключено - PWA кажется довольно серьезным конкурентом.
155 1670708
>>670701
Твитор уже на PWA
156 1670710
>>670698
Тоже РАН, подразделение не помню
157 1670712
>>670667
Лох.

мимо нетбинс
MainWindow.png151 Кб, 1394x821
158 1670716
159 1670720
>>670716
Единственный нормальный язык на всей доске
160 1670736
>>670685
пешу на еклипсе всю жизнь, 300к наносек есть, брат жив
161 1670737
>>670720
Единственный нормальный это Plankalkül, остальные для унтеров.
162 1670754
>>670627
qwiklabs
163 1670765
>>670720
Не то что смузихлёбская джава 4.
164 1670852
>>670707
А даст ли добро допустим Apple на внедрение таких прелестей?
Будет ли терять рынок свифт разрабов ради этого?
165 1670861
Есть книги на русском по 9 и по 8 версии. Какую выбрать для начала?
До этого читал, что 9 устарела, а 8 нет и на ней работает большинство. Но 9 таки свежее.
Посоветуйте.
166 1670871
>>670861
Я шилдтом обмазываюсь, например
167 1670874
>>670861
Обе устарели, возьми хотя бы 11.
Версии джавы обратно совместимы, так что, выучив новую версию, ты будешь знать и старую. Если придётся, пересаживаться с новой на старую не так сложно, они не сильно отличаются.
168 1670899
>>668894
Потому что вакансии
169 1670900
>>670871
Так у меня как раз шилд и хорстман оба 8 и 9 скачаны.
>>670874
Не видел что-то на русском по 11. Просто уже читаю 9ую, думал, может забить и на 8 перекатиться - типа 9 не нужна, а читать немного меньше.
170 1670929
>>669427
Был и Dell vostro 5568 15.6", и макбук прошка 15". Сейчас сижу на Thinkpad T480 сответсвенно 14". Задавай вопросы если хочешь
вот этот анон >>669700 кстати дело говорит, еще бы добавил что в маках охуенные экраны
171 1670930
>>670900
Хорстманн 2019 года по 11, но на русском нашёл только первый том.
172 1670932
>>670900
Ну 7 издание дл начинающих 2019 года, например.
>>670930
Нахуй хортсмана 11 издание на русском - говорят перевод совсем пизда
173 1670936
>>670594
Еще database tools, прям секс
174 1670947
Блядь, мой некробук дляучебы не ослиливает кеклипс. Может есть путь где я смогу обмазать саблим аддончиками? Или может еще какая иде полегче есть?
175 1670974
>>670936
Зачем, есть Toad.
176 1670991
>>670974

>Toad


Не слышал, а расскажи чем она ебет DataGrip
177 1670992
>>670932
если ты о

>Java. Руководство для начинающих 2019 Шилдт Г.


то там 10 версия.
Ее советуешь для начала?
178 1670995
>>670947
Вкорячил нетбинс, ратает заметно шустрее. Держу в курсе.
>>670992
Ничего не советую - сам только начал. Мне нравится, например.
Все фичи хуй догонишь, ничего принципиально нового с 8 версии не добавили, как я понл. Книжка то по основам
179 1671000
Смузихлебы ебаные, чего вы мне сразу нетинс не посоветовали?
180 1671001
>>671000
нетбинс*
181 1671008
>>671000
Потому что никто никогда не будет работать в нетбинсе или эклипсе, нервы дороже. Если компания не может приобрести разрабам лиценз идеи не верю, что так бывает хотя нет, верю, в одной шарашкиной конторе мне говорили что работают в нетбинсе, лол, ну да это было пять лет назад в мухосрани то можно смело разворачиваться и уходить.
182 1671009
>>671000
ненужно. еклипс или идея онли
183 1671029
>>671008
>>671009
Пока что только ряканье вижу. Аргументы где? Не убедили
184 1671031
>>671029
Да не убеждайся.
185 1671039
>>671000
Я хотел, но подумал, что он жрет еще больше.
186 1671046
>>671031
И это программисты блядь? Илита общества нахуй! Рякнул и скрылся.
Тьфу!
187 1671054
>>671046
Какая илита? Ебанулся?

PS на аибах в разговор могут встревать мимокрокодилы, такая хуйня
188 1671058
>>671029
Результаты опроса декабря 2017.
Эклипс используют по большей части из за поддержки легаси или жадности компании. Или же по инерции, потому что так привыкли, как этот анон>>670736
А нетбинс потому что он известный(?) и функциональный(??). Хотя таких шизиков мало.

>>Мы полагаем, что обе стороны сравнивают свою любимую IDE с Eclipse или просто работают над совсем разными задачами.

189 1671059
Так чем нетбинс хуже еклипса?
190 1671065
>>671059
Нетбинс только фанаты сантехников юзают.
191 1671066
>>671065
Хватит рякать, господи. Я так много прошу?
192 1671068
>>671066
Нетбинс хорош для слабых компов, но тогда вам джава не нужна.
193 1671070
Ну понятно. Нетбинс говно потому что говно!
194 1671072
>>671070
Ну чего ты доебался со своим нетбинсом? Пробуй, потом расскажешь. В этом итт треде им почти никто и не пользовался никогда. Даже если он в последних версиях стал лучше, никто об этом не знает. Все или сразу идею ставят или эклипс
195 1671074
>>671072
Ну и чего тогда с ходу рякать? Покайся.
image.jpg23 Кб, 500x334
eclipse eclipse 196 1671075
Ааа, пидарасы, куда вы меня тащите?
197 1671084
>>671074
Так это не я тебе говорил что нетбинс говно, но если им почти не пользуются возможно это неспроста. Хочешь конкретики - пользуйся сам, потом расскажешь.
198 1671096
>>668733 (OP)
Гайд полная чушь. Успешно учил по жавурашу, по лекциям, курсере, читая книги на русском да да, Экель прекрасный, вкатился в хорошие бабки.
199 1671097
>>668733 (OP)
Гайд полная чушь. Успешно учил по яварашу, по лекциям, курсере, читая книги на русском да да, Экель прекрасный, вкатился в хорошие бабки. Из плюсов явараша, можно мониторить свою прогрессию, добавляет мотивацию, там много обсуждений, в которых можно подчерпнуть интересные способы решений.
Что у вас за список книг, все читают Шилдта, Экеля, Бхаргава по спрингу там на выбор.
200 1671152
>>670667

>ТОЛСТЫЙ ШВЕД


Который просрал майнкрафт?
201 1671153
Это нормально что в одну дто, допустим UserDTO, я кидаю всю инфу по юзеру? Имя, пароль, список адресов(лист обьектов), новый пароль, токены и тп.? Или все же лучше создавать отдельные дто для разных операций? Для регистрации/восстановления пароля/смены емейла? Где гайды поискать по архиткектуре для нубов?
202 1671162
>>671153
Нужно создавать отдельные DTO для разных операций.
203 1671184
>>671096
>>671097
Это тролинк такой?
204 1671199
>>670754
Благодарю.
205 1671208
>>671153
Не очень, есть риск случайно передать эту DTO другому пользователю, добавляя, например, функционал списка друзей или поиска по пользователям, и совершенно левый чел узнает кучу данных, которые знать не должен.
206 1671223
>>670929

>Thinkpad T480


Охуеть! Всего-то за 133k в ситилинке... четыре моих зарплаты, Карл!

>сответсвенно 14"


Формат, наверное, удобный для таскания по коворкингам, и начинка серьезная, но зойчем там FullHD на такой размер? Чтобы код сразу становился МИКРОкодом?

Подросту - пойму? Сам пока учусь писать хеллоуворлды на пеке с моником 22'
1.jpg167 Кб, 1279x1022
207 1671228
>>671223
Что ты знаешь о боли?
208 1671231
>>671153
Смотря какое приложение. Если писать по-серьезному, то лучше вообще дробить по-максимуму, но не до фанатизма. По поводу гайдов хз, у меня просто внутреннее чувство прекрасного развито
209 1671280
>>671223

>Охуеть! Всего-то за 133k в ситилинке... четыре моих зарплаты, Карл!


Я хожу облизываюсь вокруг макбука за 2.5 зарплаты (200к он стоит)
210 1671308
>>671223

> 2020


> не использовать HiDPI экран и scaling


ну такое
212 1671319
>>671228
Я тебя не понял.

>>671280
Но какой в ентом смысл? Если у тебя з/п 150-200 и ты хотет ноутбук (для работы ли???) за 200, как бы понятно. Но хотеть гаджет за 2-3 зарплаты, честно говоря, не понимаю прикола. Это же не автомобиль, не домашний кинотеатр и даже не гироскутер, лол. Это же, блядь, всего лишь дорогущая игрушка, устаревающая за полтора-два года.
Да, топовая начинка, топовый экранчик, но он как кольцо с бриллиантом: борщ не варит, минеты не делает, в поход на нем не уедешь, он даже код сам не пишет. Зойчем?..

надеюсь, вкачусь, этой осенью и буду завидовать коллегам с макбуками
213 1671326
>>671280

>макбука за 2.5 зарплаты


Купи в кредит епта, а то как нищук ходишь )0)))
Скриншот 29.04.2020 125348.jpg288 Кб, 1920x991
214 1671332
>>671231

>>лучше вообще дробить по-максимуму


У меня пока по сути только авторизация реализована, да и то не до конца, боюсь как бы количество классов не выросло до неприличия.
Вот думаю дто если разобью, их станет не 2, а штук 5-7. И то только потому что одиночные стринги вроде юзерИд и токена напрямую отправляю. А если их в дто закинуть уже до десятка дойдет. Вон реквест и респонс моделей, которые по сути такие же дто, только для пользователя, уже с десяток
Или для джавы ЭТО НОРМАЛЬНО?

>>671208
Да, столкнулся с таким, стал библиотеку ModelMapper использовать вместо стандартного BeanUtilc.copyProperties чтоб вложенные дто тоже пребразовывать. Пока помогает, как там дальше будет пока хз.
orig.jpg160 Кб, 1920x1080
215 1671334
>>671314

>>статические методы не нужны


>>DTO не нужны


>>book.save(database);

216 1671335
>>671314

>DTO ето говно



Lombok и Dozer те в помощь
217 1671339
>>669427

>ноут для работы в Idea, буду накатывать ubuntu какую-нибудь



бери игровой MSI gs73vr как у Габена
218 1671340
>>671326

потом будет гуглить как разархивировать rar архивы бесплатно без смс
image.png76 Кб, 300x168
219 1671347
>>671335

>Lombok


Но ведь геттеры, сеттеры и дата бэги тоже не нужны.
220 1671355
>>671153
Абсолютно нормально, когда у тебя есть DTO для твоего REST-сервиса. Затем ты конвертируешь это DTO в объект класса сервиса, а когда нужно отдать данные объект твоей доменной модели обратно клиенту, то снова его преобразуешь в DTO.
221 1671358
>>671314
Охуеть, оказывается, нужно теперь смешивать сервисы и сущности в один большой God Object! Чума!
Что следующим шагом будет, добавлять бизнес-логику в контроллеры? Запросы к базе в геттеры?
222 1671372
>>671358
Я бы понял шизика, если б он сам так писал и показывал своим примером что так можно и нужно. Но сам он конечно же в своих проектах так не пишет, а то китайцы не поймут и выкинут на мороз.
А так ну не чистое ООП в интерпрайзе, дальше то что?
223 1671373
>>671372
Похуй ведь, зато он написал книгу по своей хуете и заработал много денег, а ты нет.
224 1671406
>>671162
>>671208
>>671231
>>671355
Спасибо за ответы
225 1671446
>>671319

>Я тебя не понял.


Линукс это боль.
226 1671463
>>671446
Чтобы пинус не болел, надо меньше ебаться
227 1671492
Сап, анон. Посоветуй репозитории чисто для чтения и разбора кода, дабы подчерпнуть для себя какие-либо приемы и архитектуру, да и понять как люди умные пишут. Только не слишком огромные и узконаправленные
228 1671606

>1671319


>Я тебя не понял.


квадратный монитор жеж
229 1671686
>>670929
Как оно - за таким целый день сидеть - глаза не устают?
В Idea удобно сидеть?
В графической оболочке какой-нибудь СУБД - тоже норм?
Я помню работал в принципе на i5 системнике c ссд было норм для моих задач.
230 1671693
>>671355
ахаха чеее
231 1671728
>>671606
ну квадратный и че, у меня вот дома тоже квадратный уже как 12 лет стоит.. работает, не загибается.. правда сейчас в качестве второго выступает, но до этого был он один
232 1671744
233 1671764
>>669700
Сейчас еще есть от разных фирм самые новые игровые ноуты, но при этом весь меньше 2 кг, могут поработать без розетки. При этом полноценный проц, дискретка уровня 2060 или выше, м.2 ссд. Тачпады тоже продуманней. Стоят дорого.
234 1671791
>>671686
Нормально на 14 дюймами работается, но всё-таки это извращение, только если на даче где-нибудь работать или на выезде, неделю максимум. Иначе надо внешний монитор, копейки ведь стоят.
235 1671799
>>671693
У меня как раз так как >>671355 и написал, что не так?
236 1671817
>>671799
Да хуй знает, оверинжиниринг какой-то. Какую-то сложную логику можно с помощью JsonView нахуевертить, зачем плодить однообразные классы и конвертеры на каждый чих не понимаю.
237 1671843
>>671319

> Но какой в ентом смысл?


На маке работать приятнее, чем дрочить. У меня старый макбук есть, очевидно, поэтому я знаю, какое это удовольствие.

> устаревающая за полтора-два года


Я до прошлого года сидел на прошке 2012 (!) года с 16 гигами памяти. Техника оче долгоиграющая и неубиваемая нахуй.
238 1671988
>>671223
Согласен, знатно охуел когда смотрел не б/у, но брал не новый а с рук на лохито крутил вертел во все стороны у продавца, не мог понять где наебка, чисто новый синк даже гарантия до 22 года, 2 цикла аккума за 50к, так что считай мне нихуево повезло макбук тоже на авито брал, кста
Формат удобный, большой экран оказался ненужнон из-за того что можно дробить рабочие столы. Просто настраиваешь что у тебя где, на любителя конечно, на работе подрубаюсь к экрану один хер

Начинка хороша, а fullhd у меня нету, у меня версия чутка старая на TN-матрице 1366х768, можно легко заменить за 6к на fullhd или за 8 на quadhd, благо техподдержка леново предоставляет всю инфу по дисплеям. Плашка оперативки за 2к итого получается комп за вдвое меньшую цену чем на ситилинке.

>учусь писать хеллоуворды на 22'


везет ебать, у меня был квадратный три на четыре моник, а на 22" можно хоть в три вкладки открывать при желании
>>671686
Глаза вытекали немножко после царского ретина дисплея, но привык и внешний монитор спасает, плюс мб возьму fullhd дисплей
Idea, DataGrip все норм
>>671791
двачую, внешний монитор тема
Пользуясь случаем хочу сообщить что продаю в ДС после карантина ясен хуй macbook pro 15" mid 2015 г.р. без дискретки, 16 гб, 256 ssd, Intel Core i7-4980HQ 2.8-4 ГГЦ(мб не такой, нет возможности проверить)
239 1671997
>>671988

>Пользуясь случаем хочу сообщить что продаю в


Танки потянет?
240 1671999
Купил себе шаоми про 15.6, доволен как слон.
241 1672000
В идее можно работать с бд без скачивания каких-то программ и без jdbc?
242 1672001
>>671997
Хуй знает на самом деле, играл во всякую индюшатину
по идее должно
243 1672002
>>672001
Ты слишком взрослый для этой доски.
244 1672004
>>672002
главный олд /pr
1998 г.р.
245 1672005
Короче, с мистером Шилдтом обучение летит - рассматривает каждую, даже малозначительную на ервый взгляд писечку в максимально короткой и доступной форме, не летит по верхам, и не заводит академических шарманок по всякому говну на 3 страницы. Рекомендую.
246 1672013
>>672005
C Хорестманом вообще описаешься, наверное. Мне он больше зашел.
247 1672016
>>672013
Его я потом наверну, наверное
248 1672018
Как же было бы охенно вкатываться году в 2005 имея литературу уровня 2020. Пиздец, всё в играх проебал нахуй
249 1672020
>>672018
Ну вот зачем ты напомнил...
250 1672028
>>672000
В ультимейте встроенная тулза для этого, в коммунити можно в настройках включить плагин.
251 1672034
>>672018

Как было бы охуенно вобще что угодно делать в 90х имея доступ к литературе как сейчас
252 1672057
>>672034
Вот бы писать на котлине во времена кобола.
253 1672114
Ребят, а кто-то делал лицензию для своего приложения? Типа вот прям как в играх, чтобы 16-значный ключ вводишь и можешь пользоваться игрой. Плюсом, чтобы еще ключ можно было вводить в офлайне и все равно все работало?
254 1672124
Ребят,как работает readObject?
Он читает параметры из файла через пробел?( john doe 22 ?)
И как вообще реализовать такой метод:
в файле строки с параметрами обьектов,записать все эти обьекты в arrayList
255 1672140
А что делает джавист на работе?
Ну фронт допустим понятно что делает и в чем копается.
А в чем копается средний джавист? В первой версии легаси кода сбербанка?
Вопрос без шуток. Интересно какие обычно таски
256 1672150
>>672124

> Он читает параметры из файла через пробел


Нет у него там свой формат, пишется/читаеться еще куча мета информации. Если хочешь именно через readObject делать то нужно переопределять функцию.
257 1672151
>>672114
Это не плюсом будет, а минусом. Единственный надежный способ это логин и пароль при каждом входе. И то если сильно захотят, то обойдут.
У моего знакомого так вошли в программу на виртуалке, потом запаковали этот образ с запущенной программой и перепродавали его за меньшую цену. Но она у него с интернетом работает и сильно от обновлений зависит + он вычислил владельца этой лицензии по многочисленным запросам с разных айпишников. В итоге они соснули.

Так что можешь не париться и без всяких ключей распространять.
258 1672153
>>672150
Поможешь?
259 1672156
>>672153
Пример данных, скриншот файла. С чем работать?
260 1672158
>>672151
Это ТЗ по работе ¯\_(ツ)_/¯
261 1672159
Поясните зачем нужны вложенные, локальные, внутренние и анонимные классы?? А также замыкания?
262 1672161
>>672156

>>Работаем с классом «Студент». Добавьте в главный класс программы два статических метода. Первый метод читает данные о списке студентов из файла и возвращает ArrayList со списком студентов.Второй получает на вход ArrayList со списком студентов и записывает в файл список школьников и их достижений, отсортированный по именам. Входной и выходной файл задаются программно.



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


:Name Gender Age Calculus Algebra lOlympiad
Ivan, m, 15, 5, 5, 3

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



Name Average mark Olympiads
Ivan 4.75 3 – school, 27 - city
263 1672167
>>672158
Ну так а в чем вопрос? 16-значный ключ это тот же логин/пароль. Если нужны офлайновые то там делают какую-то контрольную сумму. Например первые 8 генерируются случайно, к нему присоеденяют "секрет", от полученого считают sha256 - часть полученого хеша используют как последние 8 значений ключа. Для проверки повторяют на совпадение. Естественно "секрет" нужно хранить в приложении (потому что оффлайн) - тоесть для того чтобы ломануть нужно просто желание.
264 1672171
>>672140

> В первой версии легаси кода сбербанка?


Ну, скажем, не в первой, но попадается и код, написанный лет 6-8 назад людьми, которые давно уволились. Но править его нужно бывает редко, обычно если никто его с тех пор не правил, значит, он работает хорошо и не ломается. Копаться в основном приходится в чём-нибудь свежем, ибо есть более критичные классы, куда при появлении новых требований лезут в первую очередь.
Задачи сильно завязаны на предметную область, и глубоко обычно в неё вникать не требуется, аналитики пишут спеку - ты реализуешь.
Ну и баги фиксить нужно, бывают очень хуёво воспроизводимые.
265 1672175
>>672161

>readObject


Это ты слишком глубоко копнул, судя по твоему уровню это еще не для тебя. От тебя ожидают банальной работы со строками. Со стримами и подавно работать не умеешь? Поэтому Files.lines() не предлагаю. Для тебя подойдет Files.readAllLines(), далее String.split() на каждой строке - возвращает массив подстрок, и формирование объектов из этих массивов. Это десериализация (считывание из файла). Что касается сериализации (записи в файл), то тут обычный String.format() каждого объекта (или вообще toString() переопределить), и потом Files.write(). Все. Дольше объяснял чем код писать, реально.

https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#readAllLines-java.nio.file.Path-
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String-
---
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-
https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#write-java.nio.file.Path-java.lang.Iterable-java.nio.file.OpenOption...-
266 1672180
>>672175
Хахах,только алгоритм придумал со сплитом,да,спасибо,так и сделаю
267 1672197
>>671606

>квадратный


аааа... понел.
Сам страдал на основной работе, когда по наследству достался CeleronD и 15" жыдкокристаллический дисплей филипс из каких-то первых моделей. 1024х768 с углами обзора 45 градусов, как у банкоматов. Я на нём ворды строчил и ексели осваивал (вот это была жопа).
Алсо, щас взял два косаря IBM Тхинкпад 15,4" без тачпэда, но с нативным LPT-портом, лол. Intel centrino 1.5GHz, 512Mb Ram, Win XP. Поставил RedAlert 2, Carmageddon 2, BattleZone 2, SeriousSam 2, NFS HotPursuit 2... и он меня теперь успешно сука отвлекает от обучения и бесконечно отодвигает вкатывание(((
268 1672225
>>672171
Так вкатывальщики фронтендеры за полгода учат все, а потом клепают всякое говно красивое и не очень по кайфу. А я получается два года в универе учусь уже чтобы через 2 года сидеть баги править в языке, который за всю жизнь не выучишь?
269 1672228
>>672225
Зачем тогда джаву учишь? Учи JS.
Джава - простой язык и учится он быстро. Это не кресты и даже не шарп.
У фронтендеров баги тоже бывают. Хз, правда, сложно ли их править, если проект большой.
И не только баги, в основном новый функционал пилить будешь.
270 1672264
Пасаны, очередной вопрос от вкатывальщика.
Какой компилятор использовать?
Я принципиальной разницы не вижу, пока начал юзать Apache Ant.
271 1672272
>>672264
OpenJDK.

Про Ant смотри >>1646309 →
272 1672286
>>672272
Спасибо, прочёл.
273 1672292
>>672264
Это не компилятор, это штука для сборки и управления зависимостями.
Ant сейчас никто не использует, он считается legacy. Сейчас самые популярные это Maven и Gradle. Лично мне больше нравится Maven, он как-то попроще в использовании. Gradle сложнее, но при этом и мощнее, потому что там для сборки пишется прям скрипт на Groovy или Kotlin, а значит можно как угодно кастомизировать процесс сборки (но я не сталкивался с ситуациями, когда мне это было необходимо).
274 1672310
>>672197
Римворлд туда накати
15868005933281.jpg389 Кб, 1000x500
275 1672354
Уважаемые сеньоры-помидоры, ответьте на вопрос вкатывальщика, пожалуйста:
Сейчас есть вариант пойти на обучение в жаба-школу одного банка в кризис особенно актуально иметь потенциальное трудоустройство Собственно, скажите пожалуйста, сильно ли бэк завязан на математике? Просто смотрю, что во многих серьезных конторах, типа яндексов, на алгоритмическую и математическую подготовку обращают внимание, и часто прописывают её в требованиях при найме стажеров и джунов. Да и выпускников мехматов там любят. Я не полный идиот хотелось бы верить в математике, те же алгоритмы и структуры смогу понимать, я думаю. Какие базовые вещи в теории множеств и Булевой алгебре кое-как выучил в универе. Но все-равно математика как-то не доставляет мне удовольствия поэтому в какой-нибудь ML я бы ни ногой Вот сложная тех часть в принципе нравится, байтоёбство всякое тоже одобряю.
Скажите, опытные аноны, стоит ли мне идти в жаба энтерпрайз бэк с такими предпочтениями? Все-таки главный критерий для меня - интерес к работе. Или лучше идти в мобилки экраны верстать у меня вроде всё довольно неплохо с визуальным восприятием?
P.S. Во фронт не хочу точно, там уж как-то вообще далеко от тех части. Плюс в JS-е отладка кода для меня какая-то совсем неприятная.
276 1672369
>>672354

> сильно ли бэк завязан на математике


Вообще нет, обычно только арифметика, максимум - примитивная статистика.

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


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

> в какой-нибудь ML я бы ни ногой


Ну и не парься, больше нигде она не понадобится.
277 1672397
>>672354
Математики там нет, зато много всякого легаси дерьма типа Java 6 и SOAP, поэтому в банк лучше не идти, ну если только прям совсем нет других опций.
278 1672404
>>672397
А мне нравится легаси. Книгу по джаве 1,0,2 читал с удовольствием.
мимо
279 1672408
>>669846
спасибо что ориг названия языков дал, я нюфаг, охуевал сидел с кожур и скал
280 1672438
>>672264

>Какой компилятор


Ну ты ебанутый совсем?
281 1672439
Что надо сделать, чтобы понять зачем нужен спринг?
Я уже даже думаю забить на него на время и начать на Java EE писать, чтобы понять что именно я теряю не используя спринг.
А пока это выглядит как посмотрел->скопировал->запомнил, но не понял нахуя.

Спринг начал тыкать сразу же после ООП и коллекций. Из практики только всякие задачки на массивы, матрицы и т.д
282 1672441
>>672439
Ты по каким материалам учил всё это?
283 1672445
>>672441
Metanit, разные видосы в ютубе, 1ый курс универа.
11.jpg32 Кб, 275x591
284 1672448
>>672445

>видосики


Сразу нахуй.

Надо начинать с комплексных трудов, обязательно с задачками и самопроверками
285 1672449
>>672448
А откуда скрин? Есть что посоветовать?
Дней 5 назад мотивация в жопу ударила, так я наоборот ищу где сейчас попрактиковаться хорошенько + почитать что-то мозгодробящее, чтобы из чтива в видосы перемещаться для полного усвоения и чтобы лит-ра была главным источником.
286 1672452
>>672449
Это Шилдт, например.
Видосы нахой не нужны, говорят тебе
287 1672453
>>672452
Ну хз. Если бы я в спринг начал вкатываться без видосов - я бы наверное расстроился бы сильно. Но за наводку спасибо. Сейчас буду покупать качать Шилдта и читать.
2.jpg39 Кб, 875x337
288 1672456
>>672453
Наверное, тебе сейчас лучше обмазаться Хортсманном. Библиотека профессионала, 2 том
289 1672457
Аноны, через неделю собес в Люксофт, я в панике, что дрочить, что вспомнить, какие советы? Мб кто-то проходил собес туда, подскажите, какого оно?
290 1672458
>>672448
Как вы на русском вообще можете воспринимать информацию? Ладно бы вы в 1С кодили, но нормальные языки? Простейший пример из русской книги: "для переопределения пишем @Override"; из английской: "for overriding type @Override". Чувствуете разницу? В английском вы всего один термин запоминаете, причем он четко связан с предметом если знаешь перевод, а в русском - два термина, один из которых - непонятное волшебное слово, если встретится в отрыве от контекста хер пойми что обозначает. Часто переведено неправильно/некорректно/неточно, вроде даже выше писали что какую-то современную книжку не рекомендуют на русском читать изза перевода. Перевод усложняет вам жизнь, это блядь как в детстве игра в поломанный телефон - кто-то сказал правильно, дальше пошло кто как понял. Зачем читать не оригинал, какой профит? Оригинальный автор совсем не то хотел сказать что вы там читаете в вольном переводе ребят которые кормятся переводами.
291 1672461
>>672458

>вроде даже выше писали что какую-то современную книжку не рекомендуют на русском читать изза перевода.


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

>для переопределения пишем @Override


никокого диссонанса у мен не вызывает, например.
292 1672462
>>672457
ходил туда где-то в том году, спросили чем отличается красно-черное дерево от дерева Фенвика ну и потом основные вопросы по джаве на мультитредовость и спрингу, не перезвонили
293 1672464
>>672462

>чем отличается красно-черное дерево от дерева Фенвика


Чем отличается?
294 1672465
>>672458
Мне пока что намного легче воспринимать книги на русском. И думаю так будет всю жизнь. Какие-то статьи в инетах, особенно если они написаны хорошим шрифтом - изи на английском. Видосы с субтитрами - еще проще. А вот сухую техническую лит-ру только на русском и все. Вот такой вот я аутист.
295 1672468
>>672458

>а в русском - два термина


И? У тебя память закончится, если ты два термина запомнишь? Или у тебя отдельная папка в мозгу под каждый язык?
296 1672478
>>672462
Значит, по алгоритмам сильно ебут. Понял, спасибо
297 1672481
>>672369
А мне бабка говорила, что программистам в банке нужное еще второе экономическое высшее.
298 1672487
>>672465
Такая же хуйня
299 1672489
>>672461
>>672465
Я не стебусь над вами не подумайте, просто программирование и английский они вместе идут, неразрывно. Выше был пост с линком на бугаенко, даже он на английском пишет. Хотя зачем бы? А гуглить инфу как? Про @Override например опять же. Ну забыл допустим эту аннотацию. Или нет, возьмем @RequestMapping. Забыли. Что делать? Гуглим: spring how to map a request? Ответ сразу в гугле, без переходов. А в русском? Я даже стесняюсь составить запрос, никогда так не делал. "Spring Как спроецировать запрос?" А стаковерфлоу? Кроме самого кода там часто и красивые, шикарнейшие детальные объяснения как это все работает. Ну и т.д.
300 1672500
>>672489

>А стаковерфлоу?


Что на английском запрос, что на русском, всегда туда хож по ссылкам что мне выдало.
301 1672507
>>672489
>>672500
Да и вообще, 4 строчки английского текста эт тебе не талмудина на 100 страниц. В большинстве случаев достаточно посмореть на код что ты нашел по интересующему тебя запросу
302 1672508
>>672507

>100


1000*
303 1672509
QARU.SITE
304 1672511
>>672468
Наоборот, для общения (хотя бы на дваче), приходится знать оба термина. Но ты выборочно выдернул что тебе понравилось, проигнорировав посыл поста в целом. И есть термины, которые вообще не похожи, навскидку это ебаные конечные автоматы, не отражающие суть нихуя, как я долго их боялся в свое время, против лаконичного "state machine" - машина состояний. Я понимаю что это какие-то там пятидесятые года, железный занавес и наши русские математики такой термин ввели, что это не перевод васяна из книжки, но тут опять работает принцип "английский - проще". И у меня таких много примеров было в жизни, я не записываю их и сейчас не вспомню просто.
305 1672512
>>672509
сука
Снимок.JPG165 Кб, 1920x1080
306 1672516
>>672489

>>Ответ сразу в гугле, без переходов. А в русском?


пикрелейтед

>>спроецировать


Я вроде русский знаю, но как это относится к программированию слабо представляю, если честно

>>А стаковерфлоу?


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

>>А гуглить инфу как?


А вообще у тебя просто подход какой то не такой. Зачем мне гуглить про реквест мапинг? Я загуглю как написать рест сервис на спринге, он мне и выдаст все что надо.
307 1672518
>>672511
Нет, чел, ты просто используешь неправильную структуру данных для организации памяти. Есть термин, есть слово его обзнащающее в разных языках.
308 1672522
>>671152

> просрал


За деньги, которые тебе и не снились.
309 1672530
>>672518
А еще пример хочешь? Опять-таки детали не вспомню. На кан (хан) академи в свое время проходил математику, с самых низов, с first grade, чтоб и англ подучить, и мож какие банальные правила школьные вспомнить. И я помню был ошарашен просто, то ли как он делал вычитание в столбик, то ли еще что-то, но я четко в тот момент осознал, что если бы черт возьми мне так в школе объяснили, я бы на золотую медаль может вышел. Там был совершенно уникальный для россии метод, но абсолютно типичный для американцев, им так в школе преподают, но он настолько проще в восприятии показался. И таких моментов было несколько, до 4го класса дальше я бросил в связи с долгосрочной командировкой и больше пока не вернулся, несколько лет прошло.
310 1672534
>>672530
Вот как шутил Задорнов - "они тупые", что-то в этом есть, они - "другие", но отнюдь не тупые.
311 1672543
>>672530
Как это связано с языком?

>как он делал вычитание в столбик


И как же? Рил интересно.
image.png121 Кб, 1413x892
312 1672565
>>672543
Ответ где-то здесь, но я правда не помню деталей. Плюс таких "откровений" было несколько. Кстати, они надобавляли уроков за несколько лет, у меня было 99% (один из видосов не засчитывался).

>Как это связано с языком?


С джавой или в общем? Смысл моих высеров в том, что англик помогает (ну уж точно не мешает) понять суть вещей - ты читаешь шилдта, кнута в оригинале, проникаешься их мыслями через специфичные обороты и местами юмор, начинаешь думать как они хотели заставить тебя чтобы ты думал. Это непередаваемый экспириенс. Кто на англ. фильмы/сериалы когда-нибудь пересаживался в оригинале после русских дубляжей/войсоверов, тот поймет о чем речь - там даже игра актеров голосом есть, ты наслаждаешься просто тем как они говорят, акцентом там, интонациями, а не что они говорят и что в этот момент показывают на экране.
Все, я кончил, удаляюсь.
313 1672571
>>672565

>начинаешь думать как они хотели заставить тебя чтобы ты думал


Вот с этим согласен. Но это по большей части к книгам относится, а не к ответам на СО.
314 1672586
>>672530
Да не, такая же хуита что и у нас
https://www.youtube.com/watch?v=Y6M89-6106I
Ты просто на ресурс нормальный нарвался, где умеют хорошо материал доносить, а не как обычно в школе.

>>если бы черт возьми мне так в школе объяснили, я бы на золотую медаль может вышел.


В 16 лет тебе нахуй не нужны были эти ваши математики, там гормоны, межличностные отношения и ранг в стае куда важнее. Даже если б и хотел, тебе мешали, а учитель по третьему разу объясняет одно и то же потому что Ерохин еще не понял.
315 1672588
>>672509
Я транслитные ответы со стаковерфоу читал и думал, что у меня шиза началась.
316 1672598
>>672588
Меня эта хуйня в выдаче насколько заебала, что я установил плагин для скрытия ссылок на qaru и ещё нескольких подобных.
Причём даже при поиске на английском иногда вылезала.
317 1672603
>>672565

>>что англик помогает (ну уж точно не мешает) понять суть вещей


Для этого нужно язык знать хорошо и понимать что он имел ввиду. А то полфразы вроде понял, остальное не особо. Смысл потерялся. Не лезть же теперь в словарь в 2к20 то за переводом каждого слова. В гайдах такой проблемы нет там весь текст - напишите это, запустите то, помолитесь Говинде, запускайте.
318 1672610
>>672588
>>672598
Есть такой же сайт, который машинно переводит баелдунг, и сука его выдает выше
319 1672624
Наш джаватред должен создать сайт - Русский аналог баелдунг, где аноны из нашего треда будут писать статьи и гайды по джава экосистеме, кроме самого языка, потому что и так инфы много.
320 1672627
>>672624

>Наш джаватред должен


Ты скозал?
321 1672635
>>672627
Я сделаю, вы только пишите.
322 1672638
>>672624
Нахуй плодить сущности? Ты уверен что анон лучше напишет? Если уж хочется русского - то есть хабр и жавараш.
image.png56 Кб, 979x566
323 1672641
>>672610
Вот этот. Он еще и mkyong переводит. А то что он выше выдается тоже бесит.
324 1672643
>>672638

> хабр и жавараш.


Посты для выебонов и хеллоуворлды.
Хотя, может пусть лучше все будет на английском.
325 1672645
>>672624
Можно наконец выпилить легаси шапку шапка не нужна и впилить туда ссылку на вики на гитхабе, где аноны и будут этим заниматься.
326 1672650
>>672516
такой треш в выдаче и он еще агитирует за поиск на русском, ебать вы необучаемые, пиздец просто.
327 1672652
Я не буду писать вам статьи, я дома пиво пью.
328 1672653
>>672586
>>672543
>>672565
Перебирал ролики рандомно и что-то на задворках памяти начало всплывать. Возможно, это было не вычитание в столбик, а деление в столбик. Посмотрите хотя бы как они оформляют по сравнению с нами. Первый вариант знаком всем, а второй? Но! Оформление это не то о чем я говорил, там было именно что-то глубокое, какое-то поражающее своей простотой объяснение, которое мне по крайней мере никогда не объясняли в школе или после.
329 1672668
>>672653
Да ну хуй знает, вроде все то же самое. Наша форма записи даж более логична делимое слева, делитель справа, результат снизу, а у них все перевернуто.
330 1672681
>>672668
А вот в том то и дело что у них тоже есть логическое объяснение такой записи, они говорят: divide 3 into 1735... Я даже не знаю как это адекватно перевести на русский, чтото типа такого: "сколько раз 3 входит в 1735". Ну то есть для нас это непривычно, задом наперед всё, но там было объяснение, и возможно это меня и поразило, хотя это не точно.
331 1672682
>>672681
А у нас говорят "разделить на", и что? В чем преимущество-то?
332 1672686
>>672653
Ты думаешь в школе кому то объясняли как определить что число делится на 3/6/9? сложить все цифры в числе - если полученное число делиться на 3/6/9 то и исходное число делится соответственно на 3/6/9 Максимум на 5 и 10. Или как без мозгоебства умножать на 99, 49 и тому подобные? Программу по минимуму вкинули - ебись как хочешь.
333 1672691
>>672682
Возможно в том что "разделить на" для ума школьника имеет чуть меньше смысла чем "сколько раз входит в". Не знаю. Не слушайте меня, возможно я чушь несу.
334 1672695
>>672686
Вот кстати да, это же теория чисел? Познакомился с ней после универа уже даже, а так бы пригодилась для олимпиадок.
335 1672697
Аноны, есть ли ресурсы подобные ulearn от СКБ Контрура по шарпу или freecodecamp по жсу, но для java-вкатышей. Чтобы не слишком подробно разжевывались азы и было достаточно практических заданий? Джавараш я так понимаю сильно не то?
336 1672700
>>672697
Настало время для моего выхода.
DURGASOFT
337 1672701
>>672161
Нахуй такие задачи давать? Кто вот так данные хранит?
Сделали бы сразу CSV или жсон.
>>672439

>зачем нужен спринг


Чтоб руками не писать всякую хуйню, вроде чтения объектов из потоков данных, крудов, прочего бойлерплейта.
Связывать 9000 классов один в другом парой аннотаций или вовсе без них.
338 1672718
>>672697
Это тестики чтоли? Ну гиперскил от жидбрейнса можешь порешать. Можно прям в идее. Там по виду так же . Страница с теорией, потом задачи и вопросы Решишь несколько задачек получишь ключ на пару месяцев
339 1672722
>>672718
Там обучение с 0 или просто задачки навалены?
CVN-80 Enterprise.jpg246 Кб, 996x633
340 1672724
>>672645

>> наконец выпилить легаси шапку


Об этом пока рано думать, треду до лимита еще далеко. А энтерпрайз зря выпилили. Вот тебе еще один.
341 1672725
>>672691
Там вроде разные же техники есть, как для деления в столбик, так и для решения квадратных уравнений, например. Через дискриминант это вроде у нас проходят, но я когда школьником был видел, что сама учительница их как-то по другому решала. В вузике тоже препод хуярил их по другому, там почти как в уме.
Для быстрого счёта есть специальные техники.
Тут не в языке дело, а в желании учителя донести до тебя свой предмет. Вот этот >>672686 всё правильно сказал.

>Программу по минимуму вкинули - ебись как хочешь.


У меня это ещё с таблицы умножения пошло в школе, например. Я слишком ленивый был, столько хуйни запоминать, целая страница несвязанных символом. В рот я ебал, лето, я бегать по улицам хочу, а не это говно зубрить.
Поэтому я каждый раз в уме считал, запоминая ключевые места. Как индексы из SQL ёпта. Ну типо 6х6 легко запомнить, а значит 6х7 будет 36+6.
По этому же принципу мог и дальше считать, там где таблица умножения уже кончалась (11х11, 110+11) мозг только начинается.
342 1672726
>>672724
А мы не энтерпрайз. Мы будем веб среднего пошиба писать.
343 1672729
>>672726
Лендинги на джаве
344 1672732
>>672722
Есть задачки по разным темам, есть проекты. Например берешь проект написать кофе машину и тебе подкидывают задачки по темам, которые хорошо бы знать для решения проекта, хотя их можно скипнуть и сразу проектную задачу сделать. Разница в том что по теме это немного текста про стринги например, потом напишите субстринг для стринги чтоб получилось "123". А проект это уровень лаба2, в которой понадобятся субстринги. Хотя конечно можно и наговнокодитью, лишь бы ответ сошелся. Можно вроде как на ревью этот проект заслать, но не уверен. Вобщем напоминает джава раш здорового человека.
Но мне тесты не нравятся, я их перерос. Да и вообще азам я учился на курсере duke university
345 1672747
>>672725
О, кстати, опять про Хана: он упоминал (и показывал вид такой таблицы) что они в школе таблицу учат до 12x12 включительно; возможно связано с тем что у них "дюжины", а не метрическая система, хоть какой-то плюс, лол.
346 1672754
>>672747
Я вообще не вижу смысла её учить. Всё что часто используется запомнится само собой, а остальное можно посчитать.
347 1672871
Что надо сделать, чтобы твое приложения лайкали на гитхабе?
348 1672889
>>672871
сосат
349 1672893
>>672871
КИДАТЬ ДРУЗЬЯМ-КОДЕРАМ ССЫЛКУ НА ГИТХАБ С СООБЩЕНИЕМ "ПОСТАВЬ ЛАЙК ПЛЕЗ"
@
ПОСТИТЬ ЭТУ ЖЕ ССЫЛКУ В ПАБЛИКАХ С ШУТКАМИ ПРО ПРОПУЩЕННУЮ ;
350 1672895
>>672369
>>672397
Благодарю за ответы!
351 1672897
>>672895
Они соврали, вкотик.
352 1672900
>>672897
Тогда может расскажешь, как оно есть на самом деле?
353 1672901
>>672900
Нет.
354 1673002
>>672901
Тогда я буду рассматривать твоё мнение как ложь, ввиду отсутствия внятных аргументов.
hiJQUywfApU.jpg92 Кб, 372x604
355 1673040
Джаваны, я ещё один очередной вкатывальщик.
Посоветуйте онлайн-школу. Какую выбрать? GeekBrains, Яндекс.Практикум, курсы Бауманки?
У кого есть опыт обучения в них?
Реально, как они говорят, получить профессиональную переподготовку и устроиться после их курсов джуном?
356 1673044
>>673040
Пошел нахуй, программирование заполнено. Иди занимайся своей профессией.
357 1673045
>>673044
Двачую блядь. Еще один джун войдет в айти, и синьоры начнут постепенно отваливаться.
358 1673069
>>673044
Ну-ну.
359 1673077
>>673040

>GeekBrains, Яндекс.Практикум, курсы Бауманки


Никак вы блядь не научитесь
360 1673094
>>672893

>КИДАТЬ ДРУЗЬЯМ-КОДЕРАМ


>ДРУЗЬЯМ


Это фантастика. Есть че попроще?
361 1673098
>>673094
КИДАТЬ ВООБРАЖАЕМЫМ ДРУЗЬЯМ потом кинут уже они
362 1673125
>>673044
Ну охуеть теперь, то-то джунов в контору моего товарища набирают пачками в надежде хоть кого-то из них научить нормально кодить, а они потом забивают на всё хуй и либо пинают хуи, либо укатываются во фронтенд.
363 1673126
бля
чеб пожрать
364 1673128
С праздником, товарищи!
365 1673130
>>673128
МИР ТРУД ДРУЖБА
DzE3vMXcAAPqUM.jpg23 Кб, 500x395
366 1673138
>>673126
Раскрошу бичик, добалю туда луково-морковную зажарку, сверху яичко разобью, обсыпаю всё смесью перцев и залью кипяточком.
367 1673145
>>673126
Я пиццу пеку.
368 1673149
>>673126
А я харчо. Только он немного не такой получился.
369 1673153
>>673145
>>673149
Охуели блядь
sage 370 1673388
>>672458
Национал-предатель, русофобская гнида.
371 1673410
>>673388
Ты тредом промахнулся, тебе в 1С.
372 1673471
>>673138

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

373 1673902

>Hi


>I am Java Web Developer and I love it.


>Please consider this.


>Remove the XML based or Annotations based configuration.


>It makes things complicated.


>Please allow simple resources inclusion methodology.


>It is very complex.


>I know you are trying to follow Laravel techniques.


>Then follow it completely


>It's easy


>


>Thanks

374 1673992
>>673902
public static void main(String[] args) {}
375 1674031
>>673902

> Laravel


Загуглил. Вместо аннотаций тут ебучее наследование и не менее ебучие коллбеки. Что там про "complicated"?

class UserController extends Controller { ... }
class User extends Model { .. }

Route::get('/', function()
{
return 'Hello World';
});
376 1674196
Бойцы есть у кого нибудь желание за копеечку поучаствовать в создании сервера майнкрафта?
Нужен кодер для написания плагинов на джаве.
377 1674234
Сап, программач.

Есть одна tdlib от Пашки Дурова, написанная на плюсах. С JNI можно вызывать нужные методы, но бля, как? Идея не поймет java.library.path, что в pom.xml - хуй знает. Гугол не помог, надеюсь на вас
378 1674245
>>674234
Короче, собрал tdlib внутри Java проекта, теперь идея видит нужные пакеты с классами. Только вопрос - насколько это адекватно вообще? Типа мне всегда с собой придется таскать этот tdlib что ле?
379 1674390
>>674245
Что именно тебе из tdlib надо? Помимо протокола там локальное шифрование, хранение, может чего то еще. Я не стал идти этим путем, а просто реализовал TL Language самостоятельно и все. Велосипед, ага, зато могу дергать их процедуры без всяких либ. На сайте у них там все расписано, и примеров в нете куча.
380 1674518
Часто ли вам приходится парсить xml или создавать свою структуру и процессоры? И в каких случаях вообще может понадобиться что-то из этого?
381 1674529
>>674518
Если речь не про (де)сериализацию произвольных объектов без схемы, то не приходится, всевозможные JAXB-ы и Castor-ы в проекте давно запилили до меня. Юзаются для интеграции через ESB, для хранения шаблонов документов и прочей хуйни, которую сложно описывать кодом.
382 1674590
>>674529
Понял, спасибо.
383 1674688
>>674529
проработав в фрилансе 5 лет, я думал я видел все - но однажды увидел проект где xml парсился руками через сорт оф конечный автомат, лул
384 1674772
>>674390
Я про это нихуя не знаю, можешь описать подробно как это делать? В интернах этих ваших нашел только два репозитория, активность на обоих 6+ лет назад
385 1674773
>>674390
Из того, что надо - банально получение чатов, отправка сообщений/файлов
386 1674781
>>668733 (OP)
через пару месяцев планирую перекатываться в масквабад
на мидол позицию. В своем милионнике год проработал джуном с джавой, но без спринга контора известная так шо на собес думаю попаду.
собсна вопрос большой ли акцент на собесе уделяется фреймворкам или больше гоняют по азам и джаве?
Подтянуть вообще не проблема когда впервые устраивался дрочил все это
387 1674808
>>674781

> год опыта, да еще и без спринга


> что на собесах спрашивают не знает


> считает себя мидлом


Откуда же вы такие самоуверенные и ахуевшие без негатива. Знанием устройства ебучей хэшмапы ты на мидловую позицию не прыгнешь. А без знания DI и на джуна завернут.
388 1674817
>>674808
да не, все по чести сорт оф бигдата
git, maven, docker
kafka,redis
java8/11, concurrencyжестко с этим ебался
sql базы и mpp тож юзал
паттерны использую
на джуна я уже год назад со спрингом прошел в другое место
389 1674826
>>674808
>>674817
я просто к тому что повторить спринг и хибер вообще не проблема я ещё давно по ним книги читал и тестовые делал
тут дело в другом
я собираюсь немножк спиздеть и сказать что немножк с ним работал и как бы тут в просак не попасть
390 1674841
>>674817
Тогда удачи, если и правда умеешь в докеры, брокеры, хуекеры и многопоточность то все ок.
391 1674864
>>674817

>git, maven, docker


>java8/11, concurrency


>sql базы


>паттерны использую


Ещё ворд, эксель добавь. Напиши, что знаешь хоткеи в идее. Можешь открыть командную строку и знаком с линуксом.
С руками оторвут. Ведь в мАААскве такие же требования как и в твоём селе, просто платят больше.
Никто тебя не будет спрашивать про спринги, noSQL, кишочки хибернейта, асимптотическую сложность обхода красно-чёрного дерева (ты же сможешь без гугла назвать пример, где вообще в джаве оно используется?) в ширину...
392 1674966
>>674864
Hard skills:
- Умение использовать Jira и Confluence в совершенстве.
393 1674971
>>674864

>асимптотическую сложность обхода красно-чёрного дерева


А зачем оно нужно-то?
394 1674976
>>674966
Шутки шутками, а джирой то далеко не все пользоваться умеют. Проебанные описания, оценки, релизы, спринты, закрытые тикеты без единого комента - мммм, классика!
395 1675013
>>674772
Подробно разумеется не могу, треда не хватит. Основная ссылка вот:
https://core.telegram.org/mtproto
Читаешь, вникаешь про "матрешку дурова": (транспорт(шифрование(сообщение))).
Сообщение это RPC-пакеты TL Language.
Далее пробуешь создавать авторизационный ключ, там детально есть какие байты как получаются.
Далее проходишь авторизацию:
https://core.telegram.org/api/auth
Ну и собственно это всё - можно слать сообщения API, например messages.getChats:
https://core.telegram.org/method/messages.getChats
396 1675068
>>674971
Да я хуй знает, зачем они там в своём оракле список на дерево променяли в хешмапе. Наколятся своей анашой и ябут друг друга в жопы.
Вопрос про хешмапу - это вопрос на ждуна. Притом классический, как про самолёты зеро, ага. У нас тут кандидат в мидлы. Если ты не знаешь особенности базовых коллекций - то собес хуй пройдёшь. Даже на ждуна. Если тебе интересно - гугл всегда под рукой, он тебе быстро подскажет как связаны эти термины.
397 1675099
>>675068

> список на дерево променяли


И правда, лол. Одобряю
мимо
398 1675107
>>675068
там вроде до пяти элементов в бакете - лист, после - дерево
399 1675117
>>675107
и 99% сениоров 300к наносек этого не знают и это абсолютно нормально, а вот долбаебы что это спрашивают на собесах пусть горят в аду
400 1675139
>>674864

>ты же сможешь без гугла назвать пример, где вообще в джаве оно используется


TreeMap

>асимптотическую сложность обхода красно-чёрного дерева


Линейная
401 1675238
>>675117
Хз даже, что они там на синьёров спрашивают, меня подобное на ждуна спрашивали, а я вообще за еду работать шёл.
И да, 99% уже работающих это или всякие особенности @Transactional не знает и как-то получает зарплату.
>>675139

>Линейная


Ну вот, ты пизданул хуйню, уёбок по ту сторону стола начнёт улыбаться и спрашивать тебя, каким образом происходит обход элементов в дереве, возможно попросит на листочке написать имплементацию BFS, попутно спросит в чём отличие от DFS. Спрашивать особенности самого дерева, наверное, не будут, хотя если к этому моменту ты не начал потеть и краснеть, могут и это спросить. В итоге то, конечно, тебе подскажут, как связаны бинарные деревья поиска и логарифмы.
Ты же знаешь, что такое логарифм, правда?)
402 1675324
>>675238
Это что, на каждом собесе спрашивают как что там сортируется, если по итогу все чем я буду заниматься - вебовые запросы с БД связывать?
Так я лучше тогда в жс уйду, кнопки красить за ту же зарплату и divы двигать
403 1675339
>>675324
Ты в какой-то пещере сидел последние лет 5-10? Это уже давно так. И я не думаю, что со сменой языка что-то изменится. Структуры данных и алгоритмы +- одинаковые везде.
404 1675360
>>675238

>Обход дерева


>Логарифм


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

> BFS, DFS


На первом курсе проходят.
405 1675376
>>674864
Что значит асимтотическая
406 1675389
>>675360

>что такое обход и чем отличается от поиска


Мне это нахуй не надо, раз это на собеседованиях не спрашивали. BFS, DFS, всё нахуй, я ж не в яндекс иду, а в маленькую контору за еду сохранять сущности в репозитории. Но всё равно запомню, что это разное.

>На первом курсе проходят


И через неделю после сессии забывают.
407 1675408
>>675389

>Мне это нахуй не надо


Захотел анон имбирь.
Пошёл искать
Так и не зашёл в магазин
Обходил

>И через неделю после сессии забывают


Ну как крутить AVL RB деревья забыть сам бог велел. Но что делать с BFS, DFS понятно из названия.
408 1675410
Помогите, с чего начать изучать деревья и иже с ними? У меня на вышмате такого не было.
409 1675430
>>675408
Ну, если просто обойти итеративно все элементы или сделать это с пониманием того, как они отсортированы, то имбирь найдётся в любом случае. Разница в скорости.

>понятно из названия


Да много что из названия понятно, бинарный поиск, пузырьковая сортировка, инверсия зависимостей, ещё много терминов, которые в своём названии уже содержат подсказку.
Тем не менее, раз вопросы про связный список всё ещё задают, значит кто-то на них не отвечает?
410 1675436
Подскажите что-то по алгоритмов на джаве на русском для совсем новичков.
411 1675438
>>675436
Книга про алгоритмы на джаве. У меня на компе скачана, но я сейчас за ноутом.
412 1675454
>>675438
Алгоритмы на Java и Алгоритмы. Справочник с примерами на C, C++, Java и Python. По моему брал в Телеге на канале Библиотека программиста. Там по поиску найдешь.
413 1675457
>>675438
сорян, анону выше писалось
414 1675462
Здарова аноны! делаю клиент-серверную штуку. По задумке пользователи сами будут ее хостить в локальной сети.

сделал гуй для сревера: поля для порта и других настроек + кнопки старт/стоп

Сейчас понял, что сервер фреймворка, который я решил использовать, хуй заставишь стартовать не сразу, а в рантайме по нажатию кнопки.

Пока вижу выход: делать два jar файла - для гуя и для собственно сервера, гуй будет запускать jar-ку сервера.
Как это провернуть мавеном?
Нужно сделать два независимых модуля, или один в другом? сори если ебланский впорос
415 1675465
>>675462
Два независимых модуля - это по любому один два в другом. Гугли.
416 1675474
>>675068

>особенности базовых коллекций


Где про это можно почитать?
417 1675479
>>675474
В исходниках.
418 1675484
419 1675715
Господа, допустим, у меня есть библиотечный класс без исходников, как я могу по нормальному посмотреть список всех его методов без использования документации? Пока знаю единственный способ, это в среде перейти к определению этого класса и там смотреть метадату, где перечислены все методы с заглушками.
В C++, например, я смотрел в заголовочный файл и видел полную информацию об интерфейсе класса, могу я как-то тоже самое посмотреть в джаве?
420 1675716
>>675715

> перейти к определению этого класса и там смотреть метадату


А что тебе не нравится в этом способе? Делается в один клик, думать не надо.
421 1675719
>>675716
Вот, допустим, в Android Studio я решил создать наследника от библиотечного класса android.view.SurfaceView, попытался скомпилить, пишет, что не определен такой-то абстрактный метод. Определил его, попытался скомпилить, пишет теперь про другой абстрактный метод. Пошел посмотреть на SurfaceView, чтобы скопировать оттуда абстрактные методы и определить все сразу. Посмотрел, таких методов там нет, но этот класс наследуется от какого-то com.android.layoutlib.bridge.MockView, возможно, они там есть. Попробовал перейти, но среда не знает ни про какой MockView и перейти не может, и вот теперь хз что делать
422 1675720
>>675719
Вообще-то IDE сразу должна подсвечивать это.
423 1675725
>>675719
Ну, в идее есть Ctrl-I, которая сама генерит стабы для абстрактных методов. В студии должно быть аналогично.
https://www.jetbrains.com/help/idea/implementing-methods-of-an-interface.html#
424 1675728
>>675408

>>BFS, DFS понятно из названия.


>>BFS


>>На первом курсе проходят.


Поиск в ширину (англ. breadth-first search, BFS)
Прям так и проходят? Алгоритм бредх фист сирч?

>>DFS


Distributed File System — компонент Microsoft Windows, использующийся для упрощения доступа и управления файлами, физически распределёнными по сети.
425 1675736
426 1675742
Задрачивать алгоритмы и структуры данных - это как задрачивать все методы класса Object и разницу между интерфейсами и абстрактными классами.
427 1675780
>>675742
но на собесе тебя как раз и будут ебать по методам обджекта и алгоритмам
428 1675784
>>675780
Да, ведь это только для собеса и нужно.
429 1675827
>>675742

>задрачивать все методы класса Object


На каждом третьем спрашивали.

>разницу между интерфейсами и абстрактными классами


Один раз был такой вопрос.
Вся эта хуйня просто наизусть учится за полчаса, как и контракты метода эквалс/хешкод, модификаторы доступа полей, SOLID, O-большое коллекций, иерархия исключений и прочие шаблоны.
430 1675843
>>675784
ну вот кст да. смотрел какой-то сайт из фака по вопросам для собеса,так там про переопределения equals and hashcode сразу несколько вопросов как это ручками писать. только зачем это все, если в идее двумя кликами их можно сгенерировать?
431 1675846
>>675843
Чтоб на idea экономить
432 1675855
>>675846

> экономить


Но ведь это и в коммунити есть.
433 1675859
>>675843
Если даун 2 страницы текста запомнить не может, чтоб собес пройти, то такому никто даже круд не доверит.
434 1675861
>>675855

>коммунити


Дабы не совращала
435 1675862
>>675843
equals легко. Сначала ==, потом instanceof, потом все поля. Всё.
436 1675864
>>675862
Говно, вот единственный тру метод

https://www.yegor256.com/2017/07/11/how-to-redesign-equals.html
437 1675868
>>675864
Unsafe не хватает.
438 1676424
Четыре слова почему нубу не стоит использовать java для мобильных пет приложений?
439 1676441
>>676424
Потому что есть котлин.
440 1676452
>>676424
Потому что есть JS.
441 1676454
Сап, впервые пишу в програмаче, уже неделю ломаю себе голову с такой проблемой - я php-программист, работаю, но появилась идея создать свой сервис, в кратце - мессенджер. С серверной частью никаких вопросов нет и уже часть функционала я реализовал, но теперь подступает вопрос на счет клиента. Под андроид и на джаве до этого ничего ни разу не писал. Начал изучать всю эту тему и понял, что нужно писать в Android Studio и на джаве. И теперь стоит острый вопрос что именно использовать под это все дело. Чем глубже я гуглил, тем больше уходил в дебри. Естественно, опыта у меня никакого и некоторых вещей я не понимаю, но хотелось бы все написать не совсем уж хуево, а чтобы более менее прилично. Сейчас картина такая - собираюсь использовать шаблон MVP, Rxjava, Retrofix. Сейчас немного разобрался в rxjava, но по retrofix'у, а тем более, их совместному использованию, вообще не могу найти никаких статей с примерами. Подскажите как быть, может я делаю что-то не так и для моей задачи можно использовать что-то иное, либо же, подскажите ссылки на годные статьи с примерами, желательно на русском, ну и дайте советов.
442 1676585
>>676454
А на айфон клиент не забудь сделать. Придется еще учить.
443 1676699
>>676585
Да, это конечно надо, но я недавно зашел в тред к айос господам и охуел от всего там происходящего. Всякое желание пропадает это все делать, боюсь, ебнусь это все один делать, а если и сделаю, то к тому времени это уже нахуй никому не надо будет. Единственная надежда сейчас на то, чтобы выстрелить на андроиде и нанять программиста под ios.
444 1676719
>>676699
Или сделать все на RN
445 1676731
>>676454

> retrofix


retrofiT.

Android Development Thread /android/
https://2ch.hk/pr/res/1534623.html (М)

Retrofit Rxjava Android Example
https://www.zoftino.com/retrofit-rxjava-android-example

Используем RxJava и Retrofit на Android, учитывая поворот экрана
https://habr.com/ru/post/305478/

Integrating Retrofit with RxJava
https://www.baeldung.com/retrofit-rxjava
446 1676822
>>675864
Ебать, ну он и мудак.
По сути он предлагает:
1) Сделать все объекты сериализуемыми;
2) Сравнивать их по сериализованному значению.
Из-за п.2 какая-нибудь сортировка вообще охуеет.
Пиздец, как этого долбоеба вообще можно всерьез воспринимать после этого?
447 1676883
>>676822

>Из-за п.2 какая-нибудь сортировка вообще охуеет.


Можно контрпример, у меня чёт не очень.
мимо
448 1676894
>>676883
Ты будешь сериализовать на каждом сравнении.
449 1676898
>>676894
Не, я про пиздануться
450 1676925
>>676822
Недавно тут? Его же регулярно вкидывают в тред. Это такой вялый троллинг.
451 1677152
>>675436
Роберт Лафоре - Структура данных и алгоритмы на Java
452 1677209
>>677152
Перед ним какой бекграунд в джаве надо иметь? Хочу задрочить хорошо джаву перед тем как в спринг вкатываться.
453 1677430
Эй, джависты, что сейчас самое нормальное для concurrency?
CompletableFuture - говно некомпозируемое.
ReactiveStreams - говно тормозное.
Есть ли что-то получше?
454 1677433
>>677430

>concurrency


что это
455 1677436
>>677433

> Java


> спрашивать что-то сложнее аннотаций в спринге


Действительно, о чем это я.
456 1677459

>JS: Kotlin is also compatible with JavaScript, which enables you to develop client-side web applications and run them in a browser.


че?

>Native: you can compile Kotlin to native binaries, and can be run under Windows, Linux, iOS, and MacOS.


А почему джаву так нельзя?
457 1677604
>>677430
Создаёшь экзекутор и скармливаешь ему задачи, чё тебе ещё надо?
458 1677608
>>677604
Скормил я ему две задачи, как мне объединить их результаты?
459 1677622
>>677608

>Скормил две задачи, как мне объединить их результаты?


Зависит от "объединить результаты" конечно, но задача сильно смахивает на задачу для parallel streams - в коллекторе объединяешь что там нужно.
460 1677730
>>677459

> че?


Кастрированное подмножество котлина можно транспайлить в JS, а его уже запускать в браузере.

> А почему джаву так нельзя?


Можно, есть несколько убогих компиляторов.
461 1677736
>>677730

> есть несколько убогих компиляторов


Тащемта есть GraalVM, его правда заебёшься конфигурить чтобы вся reflection-based хрень таки скомпилировалась.
462 1677744
>>677730

>Можно, есть несколько убогих компиляторов.


А для котяха они тоже убогие?
463 1677747
>>677744
Хз, не пробовал.
464 1677859
>>677608
CompletableFuture чем именно тебя не устраивает?
465 1677872
>>677859
Аллоцируют дохуя
466 1677923
>>677872
Тогда тебе нужна не джава
467 1678105
Какой же всё-таки спринг стал раздутый. Я очень сильно запутался в этих аннотациях. Их просто миллион и есть много способов сделать одно и то же разными способами. Тесты - это вообще отдельный мир. Запарился!
сеньор
468 1678107
>>678105

>сеньор


>запутался


Тест на синьора провален.
469 1678108
>>678107
Я спринг смотрел последний раз много лет назад, ещё когда бута не было. Работал с легковесными di-либами. Сейчас голова кругом от бута. Вроде многое искаропки, но пока вникнешь, откуда что берётся, конфиг аннотации, тесты - голова кругом.
govnojpg.jpg26 Кб, 647x446
ХЛЕБУШЕК ТРЕБУЕТ ПОЯСНЕНИЙ 470 1678140
Почему я могу запиливать класс вне класса test который показан на картинке?
Посмните раз и на всегда,твердо и четко что за магия происходит в этой хуйне

>public static void main (String[] args)

471 1678184
>>678140
гугли сколько каких классов может быть в файле. гугли про локальные классы
472 1678195
>>678140
Можешь не значит должен. Ты же можешь какать в автобусе не снимая штаны и свитер. И публичный класс все равно только один на файл, а у этих без модификатора доступа вообще какая видимость трудно сказать, с одной стороны package default, а с другой это так давно делалось что все уже забыли как и для чего. В общем это старинная фича и так никто сейчас не делает, и ты не должен, если нужен класс в классе, делаешь его private static внутри родительского класса.
Про main: этот метод вызывается джавой когда ты ей говоришь "запусти такой то скомпилированный класс"; в args она передает аргументы командной строки.
473 1678217
джавахуисты, кто хочет вкатиться в биг дату?
ноэскуэл, хадуп, спарк, хайв, кафка и прочая хуйня
нужны синьеры-помидоры или крепкие мидлы
с опытом Java от 3 лет или на Scala от 2 лет
с зарплатой не обижают (даже из-за рубежа переманивают)
474 1678218
>>678217

> с опытом Java от 3 лет или на Scala от 2 лет


А писать на чём надо будет в итоге?

> с зарплатой не обижают


Можно конкретнее? Если говорить про сениор уровень.
475 1678228
>>678218
Java или Scala )
если ты помидор, больше 250
там уже как себя покажешь
476 1678229
>>678228
Вбрасывай ссылку на hh
477 1678230
>>678195
Спасибо, с меня нихуя.
478 1678236
>>678229
присылай резюме @jvmguru

ктсати, если кто имеет опыт от года со Spring - тоже присылайте
479 1678238
>>678236
Щас бы палиться что ты двачер.
480 1678241
>>678236

>опыт


Это кода с ребятками в оффисе настоящие проекты делаешь?
481 1678242
>>678241

>кода


когда
482 1678249
>>678238
у нас некоторые и не скрывают что заходят на двач
или хотя бы друг рассказывал что это такое

>>678241
у нас с 1 марта все на удаленке. по крайней мере пока. но и до карантина не было проблем поработать из дома
если покажешь свою саморганизованность и ответственность, нет проблем договориться так работать напостоянке после карантина

кстати, забыл сказать, что годовая премия 15% годового заработка
при зарплатке 250к - бонусом получишь 450к (но может и больше)
483 1678252
>>678249

> у нас некоторые и не скрывают что заходят на двач


Ага, а потом будет тред в программаче СМОТРИТЕ КАКОЙ БИГ ДАТА ВКАТЫВАЛЬЩИК РЕЗЮМЕ ПРИСЛАЛ))
484 1678258
>>678252
так мне вкатывальщики и не нужны
в любом случае контакты оставил >>678236
485 1678259
>>677430
Взгляни на Completable Reactor
486 1678335
>>678258

>джавахуисты, кто хочет вкатиться в биг дату


>так мне вкатывальщики и не нужны

487 1678336
>>678335
Да это зелень какая-то, реальному работодателю не затруднило бы дать ссылку на hh.
488 1678392
>>678241
Бамп вопросу
Что я должен весь этот год делать для того, чтобы в следующем с гордостью заявить что у меня год опыта в погромировании
489 1678393
>>678392
Работать
490 1678399
>>678393
Причём по трудовой и фул тайм.
491 1678452
>>678392
Ну и рассказать, чем вообще занимался этот год. Над какими проектами работу работал, чем будешь полезен следующему белому господину
492 1678871
Май ебаный. Ниче нехочу, пиздец. Пивка бы после трудодня в сычевальне вчерком, сука
493 1678874
>>678871
Бабу заведи, джавист хуев.
494 1678882
>>678874
Нехочу бабу, слишком много суеты с ней. Хочу ламповый майский вечер, ютьюб и пивко
495 1678894
>>677209
Кор офк, чтобы понимать примеры
496 1678919
Андроид-оффтоп будем репортить.
497 1678932
>>676731
Спасибо, разобрался наконец-то
Осталось немного одуплить за обработку ошибок.
498 1678935
>>678919

> Неспринг-оффтоп будем репортить.


Пофиксил
499 1678950
>>678935
Но можно ведь обсудить проблемы легасибояр на ЕЕ.
500 1678984
>>678950
Можно, только в контексте срочного переписывания EE-легаси на спринг.
501 1678991
>>678984
А ведь рано или поздно появится убийца спринга. Это уже будет новое поколение.
sage 502 1679058
запилите мне конвертер из легаси ее говна в няшный современный реактивный росток
503 1679084
>>678984
Работал и с EE, и со спрингом. Ничего противного в ЕЕ нет совершенно, одна и та же хуйня.
504 1679120
ORM не нужны.
505 1679131
Я ненавижу yegor256. Считаю, что его можно пускать на конференции только при условии, что он будет выступать в костюме клоуна.
506 1679132
>>679131
Как ты думаешь, его ебет?
507 1679154
>>679120
Двачую.

>>679131
Что за ноунейм?
508 1679170
Привет, анон. Как думаешь, не поздно ли начать изучать Spring для бекенда? Насколько я знаю, C# так же пользуется популярностью в бекенде. Что скажешь по этому поводу?
509 1679178
>>679170
В энтерпрайзе засилье жабы и спринга, шарпик и другие языки тут вообще не конкуренты. Может, в "бекенде, который не энтерпрайз" получше, но не в сфере спринга.
510 1679180
>>679058
jhipster не подойдет?
511 1679269
>>678991

> А ведь рано или поздно появится убийца спринга. Это уже будет новое поколение.


Это ж джава. Пройдет лет 10 между его появлением и моментом, когда его юзать начнут. Спрингу тоже лет овер дохуя, но маст хевом он не так давно стал.
512 1679270
>>679170

> C# так же пользуется популярностью


Хахаха
513 1679354
Поясните, как ведут себя строки, если я использую их в каком-то методе. Например в таком
String addPrefix(String s) {
return "main_" + s;
}
Строка "main_" будет создаваться заново при каждом вызове метода?
514 1679382
>>679354
Нет, это будет один и тот же объект, он не создаётся каждый раз, а хранится в пулле строк и берётся оттуда.
515 1679429
Слушайте, а такой вопрос, стоит ли писать мессенджер на чистой джаве, или на каком-нибудь фреймворке? Вы тут спринг обсуждаете, может на нем проще будет?

>>676454 - кун
516 1679504
>>679429
Ты про андроид или бек? Если андроид, то спринг для него не годится, это серверный фреймворк, а не клиентский. Если бек, и у тебя там сырые сокеты, спринг не поможет, он на HTTP работает (разве что вебсокеты, но они тоже HTTP юзают).
517 1679522
>>679504

>спринг не поможет, он на HTTP работает


Нашему убийце Дурова спринг может и не нужен, но не надо думать, что это исключительно такой веб-фреймворк
518 1679529
>>679522
А какой это фреймворк?
Cloud? Веб. Data? Но куда-то надо ее показывать. Actuator? Эндпоинты веб. Security? OAuth. Аспекты? Не знаю, не использовал. Да, наверное там еще много интересных неизвестных штук, я непрочь ознакомиться, но лично у меня все проекты так или иначе связаны были с веб или мессенджингом (по веб).
519 1679530
>>679504
>>679529
Протокол matrix.org например работает поверх HTTP/JSON.
520 1679531
>>679522
А кто так думает?
Речь про то, что именно сырых сокетов там нет, а не про то, что в спринге якобы только HTTP.
521 1679536
>>679530
Да хоть AMQP, хоть SMTP. Сомневаюсь, что там у анона что-то сложнее сокетов, раз у него такой вопрос. Если бы он юзал HTTP, то вряд ли стал бы спрашивать про спринг.
522 1679619
>>679531

>Речь не про то, что в спринге якобы только HTTP.


А раз так, спринг может пригодится на сервере, даже если сообщения этот сервер принимает не по http.
523 1679639
image.png26 Кб, 711x394
524 1679641
Котлин более гибкий чем матёрая портовая шлюха. Вот ЭТО компилится и работает. Похоже, вернуться на джаву уже не выйдет.
525 1679645
>>679641

> Котлин более гибкий чем матёрая портовая шлюха. Вот ЭТО компилится и работает. Похоже, вернуться на джаву уже не выйдет.


1С какой-то
526 1679653
>>679641
Неудобно раскладку всё время переключать.
527 1679654
>>679641

>вернуться на джаву уже не выйдет.


Подтверждаю, после котлина не возвращаются
528 1679895
>>679654
Я вернулся. Мне не нравится Котлин.
Пиздуйте своим котлином срать в отдельный тред.
529 1679968
>>679641
Что это? А главное, что за хуйня?
530 1679997
>>679641

>>ИсключениеНезаконногоАргумента


>>сломать()


Гугл транслейтом переменные называл? Интересно как бы ты перевел методы спринга. изначальныйРегистрационныйМетодБобовойФабрикиПослеВычислитель
531 1680016
Я перехожу на Java
532 1680017
>>679641
О, замена 1с растёт!
533 1680018
534 1680039
>>679429
На фреймворке. На работе на чистой джаве ты чаты писать не будешь.
535 1680052
>>679968
Это расово-верный Русский язык программирования, а точнее демонстрация возможностей котлиновского синтаксического сахара. С таким "языком" можно ехать на выставку в Сколково, чтобы распилить пару грантов.

>>679997
Проскальзывала шальная идея запилить плагин на идею, который прогоняет весь проект через гуглтранслейт, заменяет все импорты из внешних либ на алиасы, а их методы обёртывает в extension. А конструкции языка кроме можно сделать либой, кроме fun, val/var, return и т.д.
536 1680066
>>680052
ебать.ты(кожевенник)
photo2020-05-0721-27-23.jpg55 Кб, 607x560
537 1680068
Аноны вопрос к вам. Хочу вкатиться в джаву, есть друг, мидл-дотнетчик. Имеет смысл поучить синтаксис шарп, под его менторством, а потом пересаживаться на джава стек, параллельно адаптируясь к языку? Или лучше сразу джаву учить?
538 1680069
>>680068

> лучше сразу джаву учить

539 1680097
У кого-нибудь спрашивали про JSP / Servlets на джуна, стоит в это вкладывать силы и время? Какие аналоги у JSP? подозреваю, что HTML/CSS/Bootstrap и прочее со стороны Frontend, которое как-то связали с бэком
540 1680100
Я вот одного вкурить не могу, рекомендуется называть пакет как са.йт.хуйнянейм, но у меня домен 9999.org, например, как тогда?
541 1680104
>>680097
Не спрашивали.
Можно поверхностно пройтись за вечерок, чтобы иметь представление и мочь написать хеллоуворлд. Больше не нужно.
JSP был заменён шаблонизаторами типа thymeleaf и freemarker, а они в свою очередь заменены SPA в виде всякие реактов и вуе.
542 1680109
>>680100
Используй l33t sp34k - org.gggg
543 1680118
>>680104
Большое спасибо за столь развёрнутый ответ!
544 1680120
>>680109
Гениально! Серьёзно.

Ток попробуй провернуть это с 8253)
545 1680122
>>680100
Ну и проблемы у тебя.
Можно добавить префикс, к примеру org._9999. Да, это формально будет другой домен, но это не играет особой роли, такое соглашение придумали лишь для снижения вероятности совпадения имён пакетов. Разве что другой джавист зарегает этот домен, но это ещё менее вероятно, чем то, что тебе придётся отказаться от этого домена и переименовать пакеты.
546 1680126
>>680120

> Ток попробуй провернуть это с 8253)


Можно косплеить римлян - org.VMMMCCLIII
547 1680130
>>680122
Ну, стараюсь соблюдать соглашения. Не зря же их придумали.
548 1680137
>>680126
Ого. А с дефисом как выкрутишься?
549 1680151
>>680137
Разве что заменить_на_подчеркивание
550 1680165
>>680151
Подчеркивание в именах пакетов никто не успользует.
551 1680172
>>680165
Как и цифры.
image.png5 Кб, 631x41
552 1680178
553 1680206
>>680178
И? Ты видел хоть раз название пакета с подчеркиваниями?
554 1680207
>>680206
А часто ты видел сайты с подчеркиваниями, которые относились бы к какому-то Java-софту?
555 1680208
>>680207

> с подчеркиваниями


с дефисом селф-фикс
556 1680255
>>680207
Я не буду разглашать, сука!
557 1680494
>>679154

>>Что за ноунейм?


https://www.youtube.com/watch?v=AshxbePAbCM
Справа от Жеки и Баруха. Один из персонажей джава комьюнити. Пока Жека потрошит спринг, Бугаенко рассказывает что ваш ООП неправильный слыш купи книгу
558 1680526
>>680494
Баруха кстати терпеть не могу тоже. Клоун какой-то.
Борисову за потрошителя спасибо. Ему бы ненужной артистичности убавить тоже, и было бы идеально
559 1680607
Как правильнее написать будет пацаны

govno.setHuinya(String.valueOf(jopa.getZalupa()));

или

hueta = String.valueOf(jopa.getZalupa());
govno.setHuinya(hueta);
?
Проще говоря, стоит ли плодить лишние сущности и улучшит ли это читабельность кода?
image.png17 Кб, 824x189
560 1680623
>>680607
Линию видишь справа беленькую? Вот код должен до нее быть. Если govno.setHuinya(String.valueOf(jopa.getZalupa())); вмещается до нее, то и отлично. Ну и плодить переменную только для того, чтобы один раз ее использовать на следующей строчке, - это моветон.
561 1680632
>>680623
Это так не работает. Можно написать в один оператор хоть в 500 символов, но не в одну строчку, а с переносами, чтобы не заходить за линию. Всевозможные лямбды, стрим апи и билдеры так и пишутся.

мимо
562 1680651
>>680632
Так я же и не спорю, что нельзя переносить. Допустим, если у него класс govno имеет дохуя сеттеров, то можно написать весьма эстетично:

govno.setHuinya(hueta)
.setParasha(manda);
563 1680683
>>680607
Главное правило - чтоб это читать было удобно.
Сборщик мусора потом лишнее всё равно уберёт, не парься.
А вот глаза ломать над хуетой, написанной на 50 строк, не нужно.
564 1680691
>>680683
Двачую, сборщик мусора потом соберет все то говно, что ты написал и удалит коммит.
565 1680703
Что можно почитать по json и его обработку в джаве?
566 1680721
>>680703
google://jackson tutorial
567 1680731
>>680721
Оки.
returnjpg2.jpg7 Кб, 427x128
568 1681157
Почему return заместо break, там жеж один хуй void?
569 1681195
>>681157

>заместо


доместос!
570 1681197
>>681157
Что за книга?
571 1681201
>>681197
Шилдт
От нехуй делать по паре страниц в день тирибонькаю. Может что то да получится, потом, когда нибудь нет
572 1681202
>>681197
Р. Гослинг - Возращение Войда
573 1681215
>>681202
У гослинга хорошая книжка по джаве
image.png245 Кб, 400x400
574 1681223
575 1681228
>>681223
Зубочистку?
576 1681280
>>680607
Дебажить удобнее будет. Пароли надо прятать как в первом варианте.
577 1681289

>Следовательно, нужно стремиться к тому, чтобы классы были как можно более компактными, но в разумных пределах! Ведь классы, реализующие лишние функциональные возможности, делают код сложным для понимания и плохо структурированным, но классы со слишком ограниченными функциональными возможностями приводят к тому, что программа становится неоправданно фрагментированной. Как же найти золотую середину? В поисках ее наука программирования превращается в искусство программирования. Многие программисты считают, что соответствующие навыки приходят с опытом.



Только и всего? А разговоров то было
578 1681349
>>681157
return без значения завершает выполнение процедуры.
579 1681353
>>681157
Зачем обращать внимание на такие мелочи.
Если после фора нужно будет потом добавить код, придётся править только одну строчку, а не две.
580 1681355
>>681349
А ещё "выполнение процедуры" завершает достижение её конца, как в случае с break.
581 1681359
>>681157
Потому что книжку дурачок писал.
582 1681368
>>681355
Ему захотелось так написать, че ты доебся.
return3.png142 Кб, 525x855
583 1681381
>>681349
>>681353
>>681355
>>681359
>>681368
Просто я думал в этом есть какой то смысл, который поможет исключить некоторое количество магии.
Ну да и хуй с ним.
584 1681388
>>681289
Что за разговоры? Мне регулярно попадаются классы-сервисы на 2-3К строчек и методами по 200. Рефакторить всем лень, оставлять как есть удобнее, и получается, что лучше компромисса, чем лапша из пррцедурного программирования, ещё не придумали.
585 1681390
>>681381
Если бы в методе еще что-то было, выполнение бы продолжилось после цикла, а return выходит сразу, вот и вся магия.
586 1681391
>>681390
Сразу бы так и сказали И Шилдту следовало бы поширше развернуть здесь
Спасибо
587 1681430
>>680607
Если используется больше 2х раз, то переменная.
588 1681448
>>681381
В этом никакого смысла нет. И переменную до цикла объявлять в этом случае смысла нет. И вообще это уже лет 5 можно сделать через .forEach(System.out::println).
Возможно, это просто начало книги и он основы так объясняет, не знаю, не читал.
589 1681450
>>681448

>это просто начало книги и он основы так объясняет


Это.
590 1681465
Какую-то хуйню обсуждаете.
591 1681467
Фу от кого говном завоняло
592 1681529
А что можно почитать по бестпрактисам и искусству юнит тестинга?
593 1681587
>>681157

>>return


Это просто выход из метода

>>заместо break


Это выход из одного цикла, но не из метода.
Такой код идея подчеркнет, а компилятор просто выкинет.
594 1681595
>>681587
Ну да, не зря же он туда пустой пинт вкорячил ниже.
Нужно было сразу самому догадаться.
595 1681603
Кто что может за Яндекс.Деньги сказать? Заманивают на работу, чертяки.
596 1681607
>>681603
Стабильность это хорошо.
597 1681608
Раз уж пошли вопросы про работу, поясните кто-нибудь за "Детский Мир"
598 1681611
>>681608
В чятике pro.jobs в телеге были вакансии.
Судя по отзывам - пиздят про верхнюю планку.
599 1681614
>>681611

> пиздят про верхнюю планку


Типа предлагают меньше чем указано в вакансии?
600 1681619
>>681608
LEGO дарят списанные?
601 1681621
>>681614
Ага.
602 1681638
>>681614
Но в вакансияхъ пишут до ххх тыщ руб, так что се честно.
603 1681643
>>681638
>>681621
Меня скорее интересовал инсайд про то, как там работается - адекватное ли начальство, переработки, говнокод(?) и так далее.
604 1681650
НЕСКОЛЬКО КОНТЕКСТОВ
@
ПОСТПРОЦЕССОРЫ БИНОВ
605 1681663
>>681650

>ПОСТПРОЦЕССОРЫ БИНОВ


аче)
606 1681677
Посоны, где сейчас можно jdk 11 скачать, ораклы чета закрыли изи путь (век назад), хз где качать по бырику
607 1681678
>>681677
В гугле.
608 1681687
>>681677
sdkman
609 1681819
>>679131

>Я ненавижу yegor256


Но почему?
мимо-нуфаг
610 1681820
>>679170
Поддвачну вопрос, сам выбираю из двух стульев.
611 1681828
>>681819

> >Я ненавижу yegor256


> Но почему?


> мимо-нуфаг


Он шизик
612 1681835
>>681820
Если энтерпрайз и хайлоад - то джава. Если десктоп и игори - решетка. Может шарпеи и добрались до бэкэнда, но вытеснить джаву в ближайшие лет 10-20 не выйдет. Как они там в бэке по сравнению с нодой/питоном хз.
614 1682262
Напишите свой опыт работы и нравится ли вам программировать до сих пор. Если нет - то написать причины (джава или вообще устали от айти).
615 1682284
>>682262
Есть же соответствующий тред: >>1666711 (OP)

> опыт


Почти год.

> нравится ли вам программировать до сих пор


Вполне. В свободное время пишу не только на джаве.
616 1682316
>>682262
только лишь вкатываюсь в Java
раньше почти не программировал
617 1682554
Пацаны, а вот эти ваши конструкторы в классах желательно использовать всегда?
618 1682571
>>682554
Нах? Просто { } сделай в классе.
619 1682617
>>682571
Понял, принял
620 1682728
>>682554
можешь фабрику построить и использовать ее методы, вместо конструкторов
621 1682930
>>682554
Загугли ломбок.
622 1683323
class void
623 1683324
>>683323
аче?)
sage 624 1683482
>>683323
Да, у войда есть враппер класс, и что?
15891542499660.jpg193 Кб, 1200x900
625 1683731
>>668733 (OP)
Алло нахуй. Кто не обьяснит мне причину почему:

Integer i = -128;
Integer j = i;
i--;
i++;
System.out.println((i==j)); //print true
а
Integer i = -129;
Integer j = i;
i--;
i++;
System.out.println((i==j)); //print false

тот гей.
626 1683732
>>683731
хули ты объекты сравнивашь
пищи везде не integer а int
объекты сравнивай через equals
627 1683734
>>683732
Я тебе вопрос задал. отвечай причину или перекатывайся в 1С тред
628 1683739
>>683734
печатай объекты перед
сравнением и смотри
хули доебался как пьяный
до радио
629 1683750
>>683739
я хочу чтобы ты разобрался и всё мне объяснил
image.png57 Кб, 715x564
630 1683766
>>683750
Уже миллион раз поясняли, даже в этом треде было. Integer содержит кеш объектов, по умолчанию -128..127, но меняется параметром в командной строке. Эту инфу несложно найти самому, заглянув в соответствующий класс.
631 1683772
>>683766
а почему они выбрали диапазон от -128 до 127? Отвечай
632 1683778
>>683772
Потому что это размеры твоей мамки. Отвечаю.
633 1683833
>>683731
Ты хабру или еще какое говно почитал и умничать пришел?
дефолтное значение для пула интежеров 128, его можно изменить, но нахуя? А если и станешь, то с лонгами все равно обосрешься - там константы
Объхты сравнивают через equals, тебе же идея это подчеркивает и заменить предлагает, че ты такой тупой?
634 1683838
>>683772
Очевидно, что чем числа ближе к нулю, тем чаще используются. Поэтому оптимально создать заранее примерно в таком диапазоне, чем потом не было ебических тормозов при создании жохуищи копий чисел типа 100. Но и не больше, чтобы жаба не жрала ещё больше оперативки, они и так жрёт дохуя.
635 1684013
Че за уебок токсичный здесь завелся?
636 1684054
>>684013
Тебя это ебать не должно
637 1684104
>>684013
Полтреда таких.
638 1684170
>>684013
Иди нахуй!
639 1684181
Кто-нибудь пользовался сгенерированными по джава классам json-схемами?
https://github.com/FasterXML/jackson-module-jsonSchema
640 1684720
Выучил Java Core. Сейчас читаю книгу по ООП и алгоритмам. Дальше лучше в ведро садиться или на пружине скакать?
641 1684765
642 1684815
>>684720
Основы фп, бд, http и прочие сети? Нет?
Тогда садись на бутылку и катись на завод.
643 1684836
>>684815
ФП никому на самом деле нахуй не сдалось.
GyduEuP5eMPTspTuwE2LE3.jpg593 Кб, 1920x1080
644 1684869
>>684836
Stream API и лямбды.
Глубже и не надо.
645 1684882
>>684869
Это Core.
646 1685092
Вопрос к уже работающим джавистам, у вас разработка в офисе происходит под виндой или линуксом?
647 1685116
>>685092
А макось почему забыл, ламер?
648 1685138
>>684836
В каждой второй строчке map/reduce/flatmap, в каждой третьей функциональные интерфейсы, на собесах спрашивают про монады, лямбды уже даже из СУБД на меня смотрят и ехидно подмигивают стрелочками.
Но раз ты сказал, что не надо, то я с тобой спорить не буду.
649 1685169
>>685092
Винда либо мак
650 1685216
>>684181
Jackson - нет, мы пользуемся Swagger. Из которого потом генерируется клиент.
651 1685238
>>685138

> map/reduce/flatmap


Это ещё не ФП.

> функциональные интерфейсы


Тебя слово "функциональные" сбило с толку?

> на собесах спрашивают про монады


Интересно. А единороги на собесах тоже бывают?
652 1685239
>>679131
Он конечно часто специально набрасывает, но все таки у него аргументированная позиция. Не обязательно же с ним соглашаться на 100%.

Например
https://www.youtube.com/watch?v=99mU1gSLbkU
название специально провакационное, но по сути то все верно. Автоматизируйте все - тестирование, релизы, деплоймент и не идите на компромисы - упал тест - нахуй релиз, починишь придешь.
653 1685264
>>685239
Опять этот егор погром.
654 1685283
>>685238

>Это ещё не ФП.


Ты слово "основы" пропустил?

>функциональные интерфейсы


Stream API, надо было так написать. А уж ты сам разбирайся, где там фп, где конкуренси, где ещё что-то.
В моём мозгу ассоциации проходили примерно так "Опшионал ->Где я это видел?->Да это ж мейби из хаскеля!->А, да это ж фп"

>А единороги на собесах тоже бывают?


Не видел. Вопрос про монады (в математическом и более прикладном смысле) был у меня на собесе в одном банке.
655 1685327
>>685092

> Вопрос к уже работающим джавистам, у вас разработка в офисе происходит под виндой или линуксом?


Линукс, убунту
656 1685364
Сохранять массив чисел как массив из SQL запроса и сразу его маппить?
Нет!
Сохраним его как стринг, а потом руками будем убирать [] и сплитить по запятым!
Ахуеть, я думал такое только в анекдотах бывает, пока на работу не устроился.
657 1685407
>>685364
Нормализация порой обходится слишком дорого, и приходится идти на уступки в виде денормализации.
У меня было такое, что при сохранении 100500 записей (масштаб реально такой был) транзакция тупо не укладывалась во время и откатывалась. Пришлось писать через запятую.
658 1685570
>>685216
Ну допустим, все равно генерация схемы по джава классам. В джаве же нельзя написать такой класс, чтобы одно из его полей преобразовалось как в пункте Tuple validation отсюда
https://json-schema.org/understanding-json-schema/reference/array.html?
659 1685599
>>685570
У нас OpenAPI 2.0 там такие выкрутасы невозможны. Максимум
| schema:
| type: array
| items:
| type: object
но на практике мы таким не пользуемся, просто используем объект с именованными полями.
660 1685647
>>685407
Я хуёво выразился, наверное. Из бд приходит массив чисел. Он сохраняется как строка в сущности. И потом обрабатывается обратно в массив.
String result = Select Array From table
грубо говоря. Я хз как там типы приводятся, неважно.
А потом result обрабатывается, из него удаляется в начале и конце [], а потом сплитится через запятые и вот на выходе массив чисел, который куда-то там идёт дальше. Это как отдельный метод идёт, сделан на страницу кстати.
Преобразование строки "[1,2,3]" в 1,2,3.
Пиздец!
Я сначала понять не мог же, почему там в одной строке идёт стринг, в другой уже числа, чзх вообще происходит, а потом когда осознал то заорал в голосину.
661 1685710
>>685647
Привет, я автор этого метода. А как по-другому надо было сделать, селект в цикле?
662 1685712
>>685710

>Привет, я автор этого метода.


Говори, где живешь.
663 1685798
анон, нужно вкатится в спринг, что почитать? чтоб в азы вкатится
664 1685851
>>685798
Иди нахуй!
665 1685881
>>685851
солнышка, не быкуй, луччччше сурс бы дал
666 1685898
>>685798
Spring in action
Потом посмотри Spring-потрошитель от Женьки Борисова. Если всё понятно - ты чего-то знаешь про Spring и на интерна, а может и джуна, пройдешь
667 1685906
>>685898

>Spring in action


спасибо огромное
668 1685965
Помогите с HtmlUnit. Хочу просто загрузить страничку с js-скриптом:
https://pastebin.com/RJAacgUk
Но js движок в HtmlUnit ругается на то, что в js скрипте "unterminated string literal", видимо, потому что там используются multiline шиблонные строки https://stackoverflow.com/a/805113 И из-за этого я не могу вызвать ни одну функцию из этого js скрипта, просто выбрасывает ошибку, что функция не определена. В обычном браузере никаких ошибок с unterminated string literal нет. Пробовал разные браузеры ставить, но всё равно не работает.

Как это можно пофиксить? Версия HtmlUnit самая последняя 2.40.0, если что.
669 1686012
>>685965
Html, js, туда ли ты зашел, петушок?
image.png793 Кб, 1473x953
670 1686026
>>686012
Угомонись, парень скрапит голых тётушек на рабочий стол, благородное дело.

>>685965
С HtmlUnit не помогу, у меня собственный велосипед для скрапинга. Ты уверен что тебе нужен js движок вообще? В данном случае я бы подергал за апи напрямую, вроде все вменяемо.
671 1686492
>>685092
Под пивом.
672 1686521
>>686026

>В данном случае я бы подергал за апи напрямую, вроде все вменяемо.


Да, ты прав. Спасибо за совет.
673 1686983
Сап, двач.
СПб, вjobываю в хорошей компании, получаю 150к на руки.
Если судить по зп, то МИДДЛ ИЛИ ЕЩЁ НЕТ?
Стремаюсь спрашивать начальство, типа если миддл и спрашивает об этом, то тупой миддл, а если джун - то охуевший джун.
674 1687011
>>686983
в мидлы обычно табуреткой перводят
ты бы точно запомнил джунипер)
675 1687110
>>686983
нихуя ты охуел
676 1687133
>>687110
А че охуел то?
677 1687135
>>687011
Табуреткой по ебалу?
678 1687137
>>687133
А че так много?
679 1687138
>>686983
Что там мидол - сеньоры минимум столько получают.
680 1687238
Возможно ли в коде задать какие-то дополнительные ограничения для компилятора? Какой-нибудь строгий режим или что-то такое. Например, если в свиче по енаму обработаны не все значения, чтобы компиляция не проходила.
image.png17 Кб, 586x148
681 1687244
Смотрите какую приколюху сделал
682 1687273
>>687238
Может через кастомные процессоры аннотаций можно.
683 1687959
>>687244
Вопрос нахуя?
Если критически важно избежать создания инстансов - сделай класс абстрактным. Тогда его даже через Unsafe не инстанциировать.
Если просто как часть API - то простого приватного конструктора хватит.
image.png6 Кб, 310x110
684 1687967
>>687238
Конкретно для этого случая есть JEP-325
685 1688054
>>687238
Можно просто настроить мавен/грэдл, чтоб он валился при сборке, если кто то использует свич.
686 1688160
>>688054
И стримы.
687 1688369
Хочу придумать логотип для либы. Какую либу написать?
688 1688380
>>688160
Без стримов какой нибудь спринг может отвалится. Да и в стримах ничего особо плохого нет, в отличие от свичей.
logo.png440x90
689 1688383
690 1688384
>>688383
Че ты высрал?
691 1688389
>>688384
Лого для твоей будущей либы.
692 1688391
>>688389
Че ты высрал?
693 1688392
>>688391
Лого для твоей будущей либы.
694 1688396
>>688392
Че ты высираешь тут, ебанушка?
695 1688436
Наконец-то эти два шизика отметились, теперь можно и перекатывать.
696 1688444
>>688436

>>695


>>можно и перекатывать


Перекат на 1к делается
697 1688450
>>688444
Не обращай внимания на шизика.
698 1688454
>>688436
Падажжи, я сначала статистику в экселе должен запостить.
699 1688700
>>688436

> Наконец-то эти два шизика отметились, теперь можно и перекатывать.


>>688444

> >>можно и перекатывать


> Перекат на 1к делается


Более или менее в java треде жизнь начинается после бамплимита. Создашь тред, так понабегут дурачки с воплями, что жаба - ненужная помойка
700 1689023
>>678217

>джавахуисты, кто хочет вкатиться в биг дату?


>ноэскуэл, хадуп, спарк, хайв, кафка и прочая хуйня


>нужны синьеры-помидоры или крепкие мидлы


>с опытом Java от 3 лет или на Scala от 2 лет


>с зарплатой не обижают (даже из-за рубежа переманивают)


нужно еще

>>>1678229


>присылай резюме @jvmguru


>ктсати, если кто имеет опыт от года со Spring - тоже присылайте



>>678238

>Щас бы палиться что ты двачер


некоторые уже кидали.
моя цель - закрыть дыры в штатке, а не палить вас
701 1689207
>>689023
Но ни подробностей проекта, ни даже названия компании мы не узнаем. Идите нахуй.
702 1689230
>>689207
Куча проектов на кучу разных направлений.
Смысл тут все расписывать, если ты все равно пошлёшь нахуй?
Кому надо - пришлёт.
703 1689419
Не понял.
704 1689431
Джава - самый сложный язык.
705 1689459
>>689419
Он уже ничего не решает.
706 1689460
>>689431
Наоборот же как язык простой. Но сложна и массивна экосистема вокруг.
707 1689463
>>689460
Не дописал, я имел в виду jvm, байткод и вот это все. Пиздец сложно.
708 1689468
>>678217
Я хочу, но я жопаскриптер. Можна?
709 1689516
>>689468
Angular 2.0 и TypeScript ферштейн?
Кидай.
710 1689612
>>689463
Да ваще охуеть можно с этой ебически сложной стековой JVM, вся эта изичная хуйня типа UB, CISC x86, FPU, прерываний BIOS и системного API просто нервно курит в сторонке и учится на раз-два.
image.png14 Кб, 442x324
711 1689693
У меня есть приложение на спринг бут + хибернейт, нужно добавить возможность менять роли юзера. Как изменить здесь роли, если они хранятся в виде ссылки? Или как это гуглить вообще
712 1689709
Может кто пилил хеш-менеджер на спринге?
Интересует Caffeine. Щас увидел на проекте эту ебалу, я хуй пойми вообще чё там, как. А делать надо.
Гайдец бы какой с примерами было бы вообще шикарно.
713 1689802
>>689693
Не хранятся они в виде ссылки. Хранятся они в базе, где есть какая-нибудь табличка из колонок юзер_ид и роль_ид. Ссылка же указывает на роут, роуту соответствует контрллер, контроллер (не напрямую) дёргает базу. Если при GET-запросе к твоей ссылке сервер возвращает список ролей, то можно сделать обработку аналогичного POST-запроса по этой же ссылке (ну или другой) и написать контроллер, принимающий JSON-ку со списком, и этот контроллер будет уже обновлять данные в базе.

В общем, гугли понятия REST и MVC и то, как они организованы в спринге.
714 1689889
>>689693
Так же как и все остальное меняешь. В каком нибудь юзер сервисе через контроллер.
А что за ссылки в твоем джейсоне гугли hateoas.
715 1690043
Надо сделать простенький сайт на яве: окно, пара кнопок, пара ползунков. Как это сделать? Какие фреймворки, технологии гуглить? Может слова ключевые какие дадите? Вообще нет ни единой мысли. Никогда не сталкивался с этим.
716 1690243
Че делать то? Не получается =(

>int cannot be converted to int[]

717 1690277
>>689463
Как начать быть таким же охуенным как ты и хотя приблизиться к изучению подобного?
718 1690279
>>690243
А разве синтаксис для массивов не такой должен быть int [][] name?
719 1690286
>>690279
Просто я особенный, пиздец.
720 1690333
>>690043
Зачем тебе жаба? Бери HTML и JS.
721 1690354
>>690043

>>Надо сделать простенький сайт


>>простенький


Wordpress, JS, PHP, Python. Хотя может тебе и просто html хватит.

>>сайт на яве


Spring MVC + Thymeleaf/FreeMarker + Boostrap.
722 1690357
>>690243
Потому что у тебя трехмерный массив, в массиве массивов должны быть массивы, а ты инт сунул.
723 1690360
>>690354
Надо было ему посоветовать JavaFX в браузере.
724 1690369
>>690360
Я хотел добавить Vaadin, но почему то не стал.
725 1690371
>>690243
Ты в трехмерный массив двухмерный пытаешься воткнуть. Добавь еще скобок.
726 1690413
В джаве даже многомерных массивов нет. Только массивы массивов.
727 1690428
>>690413
А где есть? Мне только паскаль в голову приходит.
Screenshot from 2020-05-16 18-03-13.png43 Кб, 778x200
728 1690513
как распарсить это в список атомов Jackso`ом?
делаю у атома два поля с аннотациями
@JacksonXmlProperty(isAttribute = true)
и
@JacksonXmlText

И создаю поле List<Atom> в классе. но это не работает

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Invalid definition for property `` (of type `...package.Atom`): Could not find creator property with name '' (known Creator properties: [type, value])
at [Source: (File); line: 1, column: 39]
image.png8 Кб, 553x114
729 1690652
Пытаюсь запустить первое приложение на hibernate, но вылетает такая ошибка-в чем проблема?
730 1690668
>>690652
возможно стоит в pom.xml поменять значение в теге <release>
Screenshot from 2020-05-16 19-25-17.png13 Кб, 313x114
731 1690680
>>690513
ладно с этим разобрался. Но как вот это распарсить в Map<String, String> parameters?
732 1690844
>>690357
Ну пусть сам сделает мне еще один массив. Чего он такой глупый?
733 1690868
>>690371
Покажи как это сделать?
734 1690873
>>690652
В помнике указаны maven.compiler.source и maven.compiler.target?
735 1690903
>>690844
>>690868
Разобрался. Хуйня какая то, слишком сложна, не помещается пока
736 1690936
>>690903
Ножкой утрамбуй.
737 1690942
>>690936
Влезло вроде, 2д точно влезло. Дальше 3д не получается, да и нахуй не нужно
738 1690963
https://www.youtube.com/watch?v=KbPvlLIY-tM&feature=youtu.be
Ух блядь, надо было в школе учится, а не в комплюктер играть
Не повторяйте моих ошибок, зумерки ебаные
739 1690965
>>690963
учиться*
740 1691029
Зачем нужен какой-то JWT, если можно просто токен передать в body или в хедере? Объясните, пожалуйста. Не понимаю. И есть ли какое-то название для второго варианта?
741 1691042
>>691029

>или в хедере


А как по-твоему токен передается?
742 1691047
>>691042
Уже сам разобрался.
Под вторым вариантом я имею в виду, что токен хранится в БД, и когда клиент отправляет токен, то мы лезем в БД и ищем юзера по токену.
А в случае с JWT бэкенд не лезет в БД вообще видимо
743 1691052
>>691047

>А в случае с JWT бэкенд не лезет в БД вообще видимо


типа того
744 1691057
>>691047
ну и можно проверить не протух ли токен
745 1691069
Иногда ищу видео на ютубе по нужной теме, когда нет сил читать доку. Если попадается индус - сразу закрываю. Акцент понятен, но дико бесит.
746 1691107
>>691069
Ищи на русском.
747 1691116
>>690428
Шарп.
748 1691121
>>691107
Тогда будут украинские акценты.
749 1691129
>>691116
В очередной раз убеждаемся, что шарп - это делфи.
750 1691141
Добавлю батхерта неосилятора.

Ищешь что то по джаве для веба, предлагают свинг, да еще и на эклипсе/нетбинсе. Как вообще можно этим пользоваться, если ты жава программист? Вроде и идея совсем недорого стоит, тем более с зп программиста.
Проект на джаве? Ну вот джерси, джакарта. JSP и JSF это то что тебе надо в 2к20 году!
Ищешь спринг. Ага вот тут проект проект целиком. Ага дто, слои, джейсоны для фронта. Вроде понял, но мало. Смотришь следующий. Тут МВС с шаблонизатором фримаркерспасибо что не jsp, дао нет, кладем все в модель. Так, а что в третьем проекте? Микросервисы с месенджером. Ну охуеть теперь. Репозиторий примерно такой же как в прошлом проекте, но анотации на полях совсем другие. База данных не постгрес, а мускл? Ну это ж наверное похуй, ведь JPA! А че спринг не запустился? Мускл не смог таймзоны выставить нормально и хибернейт упал. Спасибо стак оверфлоу за ответы на любой стектрейс! Эксепшен хэндлинг вообще хуй знает как делать. Свои эксепшены/спринговые/опшионал/валидация. Чекед/анчекед вперемешку.
Как все это собрать воедино то и написать что то больше hello,{username}! Из всех проектов пока только 1 нашел более-менее внятный на спринге, но и там только юзерсервис и обвязка. Сайт на который можно залогиниться(и имеил по коду подтвердить, как без этого!) Зато hateoas, валидация, дто с мапингом и все крутится на томкате в докере на амазоне.
751 1691147
>>691121
Ну так две крупнейшие айти державы в мире джавы же.
752 1691153
>>691141
Не надо хеллоуворлды нонеймов смотреть. Книги читай и официальную доку.
753 1691162
>>691141
В чём вопрос?
Не зацикливайся на чтении чужих проектов, а пили свой. Попутно доучивай необходимое по туториалам и докам.
В нулевом проекте нет ничего, кроме минимальной конфигурации, чтоб всё необходимое работало, и больше ничего. Дальше пишется логика и впиливаются по необходимости всевозможные валидации, маппинги, очереди, секурити, вебы. Но впиливаются они при возникновении реальной нужды в них, а не заранее.
754 1691170
>>691153
Так книги - точно такие же хэлоуворлды, только текстом. 100500 способов настроить конфиг. Какой то конкретный момент нагуглить я могу, а вот общей картины не хватает. Как строить архитектуру? Нужны дто между сервисом и контролером или в модель все фигачить? Один дто на сущность или на каждый запрос отдельно? Бест практис какие-нибудь. Я для этого и смотрю всякие видосы от васянов с юдеми "как сделать хуйня-нейм от и до".
755 1691172
Project Loom убьёт котлин?
756 1691178
>>691170
Всё-таки лучше Васянов не смотреть. Правда, такого говна понахватаешься.
А ты работаешь? Вообще, такое с опытом приходит обычно.
А по книгам - не знаю, мы наверно разные книги читаем. Я как раз в книгах черпаю общую картину, а за деталями лезу в доку.

>Нужны дто между сервисом и контролером


Иногда нужны, иногда нет. Может у тебя сервис не только http-контроллер вызывает, а какие-нибудь другие модули дёргают или какие-ниудь события и прочее. Тогда я бы отдельную дто для контроллера, и отдельную для сервиса делал. Для http-дто может быть своя специфика.
Аналогично Entity для JPA ну или какую-ты там либку для слоя данных юзаешь.

>Один дто на сущность или на каждый запрос отдельно


Тоже по ситуации. Если архитектура рест, то скорее всего это будет одна сущность. А может где-то на каждый запрос лучше создать отдельно.
757 1691181
>>691121
Вот это вообще забей нахуй. Год назад научил бабку пользоваться ютьюбом, так она по изотерике угорела с утроенной силой, пзидец, сисяна из всех щелей сука лезет смотреть начала.
Сука, что не сектант уровня кашпировскоо или йобамаг в йобашлеме который пророчествует будущее по вспышкам - то пан ебаный хохол, тысячи их, астрологов и херомантов. Просто заполонили нахуй, и просмотров у них тыщ под 600
758 1691182
>>691172

> Project Loom


Загуглил, что это. Думаешь, на котлин бегут исключительно ради компайл-тайм корутин, а не потому что всех заебал синтаксис жабы?
759 1691184
>>691182
Я вот реально не понимаю жалоб на синтаксис. Я писал на котлине примерно полгода. Не понравился. Такое чувство, что синтаксических изменений "лишь бы не как в джаве".
Null Safety ещё более менее плюс, но я как-то привык уже аннотациями всё размечивать и Optional юзать.
760 1691185
>>691182
Что тебе не нравится?
762 1691196
>>678217
Полгода опыта, в основном всякие REST сервисы на спринге делал, но тема биг даты интересна +люблю с алгоритмами поковырять я. Можно к вам?
763 1691197
>>691185
Мне-то уже всё равно после сишки. Но вот если послушать большинство местных котлинистов, так все разговоры про С И Н Т А К С И С.
764 1691202
>>691178

>>А ты работаешь? Вообще, такое с опытом приходит обычно.


Не, только собираюсь вкатываться. Пару недель улажу дела и пойду по собесам. Я догадываюсь что многие вопросы отпадут когда я увижу как это на практике делается, но пока не особо понятно как и почему.
Про книги - вот есть например Pro Spring 1к страниц. Читаю, и вроде по делу, но про DI я и так знаю, как там контекст с бинами работает понятнее было у спринг потрошителя. Углубляться в какие то детали особого смысла нет - забуду без практики. Да и в гайдах на каком-нибудь баелдунге или на спринг.ио примерно тоже можно найти. Думаю уже на уровне мидла буду вникать в нюансы.

>>Иногда нужны, иногда нет


Ну вот допустим на том же юзере. Я получаю пост реквест от фронта(в виде json), делаю мапинг в дто (использую моделмапер или дозер) и дто засылаю в сервис, а там мапинг в сущность userEntity (которую можно сохранить в базу или передать другому сервису). Может и оверинжениринг, но это с перспективой на микросервисы всякие их тоже надо поверхностно изучить, они вроде как в тренде, да и не хочу давать сущности из базы контролеру, там хэши паролей и просто ненужная ему инфа. Так вот эта дто, что идет в сервис из контролера может быть большой со всеми полями сущности(имя/пароль/емеил/список любимых тредов двача), тогда просто замапятся все поля из реквеста, оставив часть пустыми. А можно делать отдельные дто для каждого обращения к сервису - регистрация/смена пароля/обновление профиля - тогда пустых полей не будет, но будет больше классов. Вообще я склоняюсь к последнему, чтоб ничего лишнего не передать контроллеру да и проверять наличие пустых полей проще.

Что мне читать чтоб получить ответы на подобные вопросы? Другие книги по спрингу поискать или гайды какие то? Или таки осилить книгу, хоть она и весьма занудная
765 1691211
>>691202

>моделмапер или дозер


Знакомые вещи. Поиспользовал их и понял, что мне проще вручную конвертер написать, чем трахаться с этими либами. Гораздо нагляднее. Но это субъективно.

>Я получаю пост реквест от фронта(в виде json), делаю мапинг в дто (использую моделмапер или дозер) и дто засылаю в сервис, а там мапинг в сущность userEntity (которую можно сохранить в базу или передать другому сервису). Может и оверинжениринг


Да, правильно. Так обычно и делается.

>регистрация/смена пароля/обновление профиля


В смене пароля скорее всего можно и без дто обойтись, просто перечислить параметры. Обновление - стандартная дто (её и для создания), в базе апдейтишь все поля, которые пришлёт фронт. Если фронт апдейтит одно поле - то все старые поля он всё равно присылает.
Регистрация - хз, надо смотреть.
Если ты для смены пароля создаёшь общее дто и заполняешь только пару полей - это точно плохо (если конечно я правильно всё понял).

>Что мне читать чтоб получить ответы на подобные вопросы


Да просто придёт с опытом. Само придёт, когда ощутишь боль от неправильных чужих или своих решений.
Тебе сейчас самое главное - это идти работать. Получай опыт. Можешь договориться с тимлидом (или кто тебя будет сопровождать первое время), например, что будешь составлять вопросы и в конце дня их спрашивать (чтобы не отвлекать во время работы). Я прямо ручкой в блокноте писал и ответы тоже записывал, чтобы не забыть. Скорее всего тебе попадётся адекватный коллега и будет отвечать на нубские вопросы.
766 1691461
>>691202

> Я получаю пост реквест от фронта(в виде json), делаю мапинг в дто (использую моделмапер или дозер) и дто засылаю в сервис, а там мапинг в сущность userEntity (которую можно сохранить в базу или передать другому сервису). Может и оверинжениринг,



За ~10 лет видел сто разных способов сделать это, кто-то делает так как ты, кто-то пишет свои конвертеры, кто-то вообще энтити сразу хуярит в рест. Я сам остановился на самодельных конвертерах как этот анон >>691211 так как это нагляднее, и например если добавили новый филд в энтити то нужно явно пойти и прописать его в конвертер если хочешь его заэкспозить в апи. Тоже хотел как-то найти какой "правильный" способ это делать, но так и не нашел ничего стандартного, все делают по-разному.
767 1691465
>>691202
Тебе уже выше анон ответил, но я тоже добавлю.
Спринг про по диагонали читай, там дохуя ненужной хрени. Секцию с конфигурацией черех xml я вообще пропускал, щас всё на аннотациях. Кучу всякой подкапотной хрени вообще не найти, пока не столкнёшься с ней сам ты и знать о ней будешь.
По поводу дтошек и прочего - это действительно только на опыте приходит, когда будет неебический проект на 9000к строк кода и начнёшь в нём копаться.
По архитектуре - я вот Мартина читал, мне норм зашло.
И, да, тебе пора по собесам бегать. Свои круды с сохранением сущностей в постгресс ты ещё напишешь на тестовых, не заморачивайся.
768 1691504
БД для зумера?
769 1691525
770 1691534
>>691504
Cock roach
771 1691558
772 1691763
>>690279
Нет, должно быть int[]. Скобки после типа. Иначе ты пидор.
773 1691885

>Этим занимается BeanFactory. Но и здесь можно добавить кастомизацию, написав и зарегистрировав свой FactoryBean.


ору лол
774 1691905
>>691885
BeanFactory - фабрика бинов, FactoryBean - бин-фабрика. Что не так?
775 1691910
>>691905

>бин-фабрика


Чего? Тогда уж BeanFactoyBean.
776 1691932
>>691910
Так действительно правильнее, но это режет слух и глаз, поэтому приняли сокращать до фактори если фабрика. А bean добавлять только если требуется специально указать что это бин, а не какая-нибудь скажем удаленная RPC фабрика (но тут тоже будет FactoryDataAccessBean, лол).
777 1692034
LocalStatelessBean
778 1692063
>>692034
а че)
779 1692107
Где можно взять задачки на нестандартные структуры данных? На кодварсе не очень.
780 1692306
Привет, джаватред. Пишу тебе снова спустя полмесяца or something. Вижу, постинг упал, но мы же раньше были такими дружными, помогали блаженному, у нас даже 10-летние опытные синьоры отписывались. Что с вами стало?
781 1692332
>>692306

>полмесяца or something


Бан.
782 1692344
>>692332
Или около того? Как лучше сказать?
image.png36 Кб, 766x404
783 1692363
Пора. Раз речь про активность постинга.
784 1692367
>>692363
Что за значения на оси ординат?
785 1692370
>>692367
Количество пидарасов в треде.
786 1692381
>>692367
Постов за указанную дату.

>>692370
Жалко, что индикатор "постеры" внизу справа страницы не расписать по дням.
image.png40 Кб, 754x412
787 1692388
Ну и какой-нибудь питон для сравнения. Это за 5 последних тредов всё, поэтому даты начал не совпадают. Да и дни без постов не учитываются это плохо.
788 1692397
>>689230

>Куча проектов на кучу разных направлений.


Звучит как бодишоп. Бодишоп пошлю нахуй.
789 1692399
>>692397

>Бодишоп


Че такое?
790 1692403
>>692399
Боди шоп.
792 1692408
>>692399
Бодишоп — основная форма существования АйТи почти на всей постсоветской территории. Морфологически является слиянием двух англ. слов и дословно переводится «магазин тушек» или «магазин тел» и в буквальном понимании описывает основную бизнес-модель разработки ПО. Некоторые Ыксперты утверждают, что более правильным понятием будет «brainshop», хотя, как доказывает рынок, правильным семантически значением будет именно первый вариант.[1]

[1] https://ebanoe.it/dictionary/

Ненавижу ебучий РКН, он принципиально блочит все украинские сайты? Пришлось включать VPN и выбирать все изображения, где есть светофор
793 1692411
>>692408
Ахуеть информативно.
794 1692413
Терпеть не могу сайт ебаное айти. Такие там чмони сидят
795 1692414
>>692413
На говнокоде тоже. Озлобленные ослы без навыков и будущего.
796 1692416
>>692413
>>692414
До двача им далеко.
797 1692441
Полуночники-шизики одни.
798 1692463
>>692441
Днем всякой хуйней занимаюсь, а после полуночи приходит озарение и код писать проще.
799 1692622
>>692399
Это как контора-прокладка. Вася пишет код за 100 рублей в час, Джону нужно написать сайт за 300 долларов. Но сам морочиться с организационной частью он не хочет.
Тут появляется хитрый уроженец Одессы, который собирает Васянов под своё крыло и продаёт их Джонам втридорога, забирая половину себе. Потогонка, постоянно меняющиеся однообразные задачи, наебалово во все поля, говнокод (ведь джуниоров продают как опытных), кручение на хуе трудового кодекса.
>>692408

> почти на всей постсоветской территории


Опять хохлы судят по себе. Я хз где в ДС найти бодишоп, если спецом не задаться такой целью. Тут банк, там банк, здесь блядь пыньдекс, там мейлсру, тут вообще стартап.
800 1692623
>>692413

>Такие там чмони сидят


Жёстко ты украинцев приложил, а мы на хохляцкой борде сидим так-то.
801 1692690
Может кто объяснить, как правильно юзать хибернейт? Переписываю приложение с чистого JDBC на хибернейт, и не могу понять, как мне блять сделать норм транзакции. Есть дао юзера, есть дао платежей, нужно в ОДНОЙ транзакции обновить баланс юзера через юзерДАО и создать платеж через платежДАО. По гайдам в каждом методе ДАО нужно открывать сессию и стартовать транзакцию, но это хуйня какая-то. Может кто помочь (только без спринга плиз)?
802 1692695
>>692690

> По гайдам в каждом методе ДАО нужно открывать сессию и стартовать транзакцию


Да.

> но это хуйня какая-то


Да.
803 1692712
>>692690

> нужно в ОДНОЙ транзакции обновить баланс юзера через юзерДАО и создать платеж через платежДАО. По гайдам в каждом методе ДАО нужно открывать сессию и стартовать транзакцию


Ну да, очевидно, в твоем случае такой вариант "по гайдам" не подходит. Открывай не в каждом дао, а там, где тебе нужно. В чем именно сложность?
804 1692717

> переписывать удобные и понятные нативные запросы на неудобное говнище с кучей неявной магии и подводных камней

805 1692726
>>692690

>нужно в ОДНОЙ транзакции


Я хотел написать сначала @Transactional(propagation = Propagation.MANDATORY), но увидел потом

>только без спринга плиз


Так что хз.
>>692717

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


Ты и массив обходишь по-старинке, с итератором?
806 1692728
>>692726
Стримами обохожу.
Новое - не значит лучше, показательный тому пример - Gradle. Да и ORM как явление, у них нет никаких преимуществ, т. к. они ничего не упрощают, только усложняют.
807 1692736
>>692728
Я вот вообще чистым хибернейтом не пользовался, сразу вкатывался в спринг.
Объясни мне, как использование автогенерируемых методов вроде findFieldById вместо написания их руками может быть сложным? В редких случаях, когда действительно нужно написать что-то на SQL, просто хуяришь над методом native и пишешь на SQL.
808 1692737
>>692712
Т.е. ты предлагаешь в сервисе, использующем дао, открывать сессию и передавать как аргумент в метод дао?
809 1692739
>>692736
Ну мой следующий шаг действительно спринг, но я не думал, что хибернейтом сложно пользоваться без спринга.
810 1692748
>>692737
Да. Либо, чтобы не таскать как аргумент, изобретать что-то в духе того, как работают менеджеры транзакций в том же спринге - укладывать в ThreadLocal.
811 1692750
>>692736
Для хеллоуворлда с крудами из пары небольших табличек может быть всё просто и красиво.
Стоит появиться необходимости сделать хотя бы нетривиальный JOIN - начинается пиздец: https://stackoverflow.com/questions/29366785/join-entity-with-table-that-has-no-entity-assosiated-in-jpql
Какая-то муть с кешированием
Хуита с @OneToMany, @ManyToOne
Странный способ вызова хранимых процедур

Но это конечно же всё нинужно, да и вообще ниасилил.
812 1692761
>>692690
Транзакции должны стартовать на сервисе, если это не просто хеллоуворлд.
>>692748
Не обязательно. Можно Дао создавать прямо на сервисе каждый раз и в конструктор передавать сессию. Покрасивее будет, чем в каждый метод пихать.
813 1692768
>>692750
Этот прав, я нахуй ORM. Это прикольно, когда у тебя тупой круд. Но что-то посложнее проще на sql писать. И отлаживать запрос легче в разы, и оптимизировать. С ORM больше времени потратишь.
814 1692771
>>692750
А у тебя всегда будут запросы уровня хеллоуворлда, вот для них эта хуйня и нужна. Для чего-то сложного юзай натив. Смешивать же можно.

>Хуита с @OneToMany, @ManyToOne


А чё там? Если правильно всё делать, то хибернейт за тебя объединяет всё, создаёт промежуточные таблицы и реализует нужные связи. Тебе остаётся только классы писать, а не искать где ты в SQL запросе запятую пропустил.

>ниасилил


Там пару статей прочитать, например https://dou.ua/lenta/articles/how-to-use-hibernate/ и всё, круды сами себя писать будут в большинстве случаев.
815 1692772
>>692761
Ок, просто у меня дао создаются в фабрике 1 раз, т.е. на все инстансы сервисов у меня 1 инстанс каждого дао. Я так понимаю, это делать неправильно?
816 1692782
>>692739

>хибернейтом сложно пользоваться без спринга


Я такого не писал. Да и сам по сути ньюфаг, использовал сразу спринг после ликбеза по JDBC. Вообще не знаю, как оно там всё по отдельности, для меня это всё едино, даже не отличаю где какие аннотации от спринга, где JPA, где ещё что.
С самой джавой такая же история, не представляю как решать задачи без Optional, потоков, лямб и прочих try catch with resurses.
817 1692785
>>692772
В твоём случае, если один инстанс дао, то придётся передавать сессию как аргумент в каждом методе. Или создавать дао каждый раз, чтобы передать сессию в конструкторе.
Сам решай, что красивее.
Если хочешь, то здесь можно применять абстрактную фабрику (чтобы создать дао), но не обязательно

В реале конечно это будет один инстанс дао, а всю магию с транзакциями сделает спринг.
818 1692787
>>692771

>хибернейт за тебя объединяет всё, создаёт промежуточные таблицы и реализует нужные связи


У тебя реальный опыт работы есть?
819 1692798
Аноны, спасибо за ответы, пойду дальше воевать с хибернейтом!
820 1692808
>>692787
С вот этим "за тебя создает таблицы" тот анон перегнул, конечно, но общий посыл поддержу - хибернейт не для НЕтривиальных джойнов, (их никто не запрещает писать нативно) а для большого количества тривиальных. От которых никуда не деться все равно, и которые иначе заебешься писать и поддерживать руками. Главное понимать, что это не волшебная херня, которая позволит вообще не уметь sql, а скорее что-то вроде такого генератора типовых запросов.
821 1692819
>>692787
Да. На проекте почти всё на нём написано, что можно написать, хотя я бы в половине случаев использовал спринг репозиторий просто, но кто я такой чтоб выёбываться, что дают то и делаю с заваленным ебалом. JDBC там, где проще написать на нём. Ну это когда запрос на страницу и половина его на диалекте.
И у меня нет никаких проблем со всем этим, когда делаю свои таски.
822 1692828
>>692771

> всегда будут запросы уровня хеллоуворлда, вот для них эта хуйня и нужна


В принципе, у нас иногда для нового простого функционала иногда юзают, при усложнении почти всегда перепиливают на JdbcTemplate.

< А чё там?
В этом-то и дело, что что-то. С нативными запросами нюансов нет, а тут они иногда возникают, и каждый раз приходится гуглить.

> пару статей прочитать


Добавил в закладки, может, когда-нибудь изменю своё мнение об ORM.
823 1692836
>>692828

>у нас иногда для нового простого функционала иногда юзают


Я тебе про это и толкую. Для хуйни, буквальных CRUD-операций, его и надо юзать. Это код уровня геттеров-сеттеров, пускай машина им занимается. Там читать то нечего, это уровень ломбока, на мой взгляд.
Вот когда всякая ебала, вроде встроенных сущностей, транзакций, тут уже фломастеры. Мне удобно пару аннотаций использовать, тебе может ещё как, вкусовщина же. Ну и от команды зависит, наверное. Я вот точно, 100% в ближайшие годы выёбываться на эту тему не стану и буду делать так как скажут.
824 1692988
А можно ли в мавене поставить х32 бит?
Я сотворил javafx программу (жарник) юзая х64 ждк на своем компьютере, но она не запускается на компе с х32 операционкой.
ELF: ELFCLASS64 (Possible cause: architecture word width mismatch)

Скорее всего нельзя. Но разве бывает ждк 11 х32 ?
825 1693004
>>692988

> 32 бит


Лучше взять C++ Builder, ну или Delphi, но он какой-то хипстерский.

Мб это: https://github.com/javafxports/openjdk-jfx/issues/376
826 1693141
А вот скомпилированные джарники javafx оказывается не кроссплатформенные. JNI error выходит, значит нативно хардкодят.
827 1693167
Ребят, а давайте напишем свой твич без фемоидов.
828 1693174
>>692772
Это называется репозиторий.
829 1693176
>>693167
Не нужно. Ни твич, ни альтернативы твичу.
830 1693181
>>693176
Как это нинужно, если на нем бабки зарабатывают.
831 1693186
>>693181
На идиотах. Как можно платить за возможность писать бесполезные сообщения в чат или спрашивать хуиту с донатом? Лучше бы в ломбок донатили, они реально дело делают.
832 1693344
>>680039
Посоветуй тогда фреймворк под мессенджер.
833 1693358
>>693344
Спринг
834 1693361
>>693358
На клиент?
835 1693364
есть смысл перекатываться из автоматизатора в джава девелопера?
836 1693365
>>693361
Можно и на клиент при желании.
837 1693366
>>693364
Что делают автоматизаторы? inb4 автоматизируют
838 1693368
>>693364
Пилить функционал vs пилить тесты для функционала.

Работу найти легче, зарплата в среднем выше. Да и воспринимаются разрабы как более высокие в социальной иерархии, чем даже очень крутые тестеры, лол.
839 1693427
Сап, /pr/, есть одна задача.

На вход методу подается коллекция итераторов. На выход он должен вернуть один итератор.
Например, подается коллекция из трех итераторов:
1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3

Метод должен вернуть один итератор следующего вида:
1 2 3 1 2 3 1 2 3 1 2 1 2 1 2 1 1 1 1 1

То есть, берем next(), далее идем к следующему элементу коллекции, вызываем у него next() и т.д.
Как можно решить быстрее чем за O(n^2)?

public Iterator<Integer> method(Collection<Iterator<Integer>> iterators) {
// method
}
840 1693469
>>693427
А где тут квадрат, ты же один раз по всем элементам проходишь?
841 1693755
>>676454
шел 2020 год. макаки всё еще используют рх для ретрофита...
842 1693764
>>693755
Куча бесполезных абстракций, когда в 90% случаев хватило бы OkHttp.
843 1693782
Как часто импользуются побитовые операции?
844 1693799
>>693782
Ни разу не сталкивался за год работы в тырпрайзе.
845 1693836
>>690360
Такое бывает? Серьёзно? Как гуглить?
846 1693838
>>693799
Но ведь можно ими заменить boolean переменные, если хранить true и false в битах int переменной. Экономия памятию
847 1693840
>>693836
Вообе-то ее и задумывали для браузера, лол. Это конкурент m$ silverlight. Сейчас остался только проект JPro от сообщества.
848 1693851
>>693427

>public Iterator<Integer> method(Collection<Iterator<Integer>> iterators) {


>// method


>}



Тебе по работе, или лаба?
849 1693863
>>693838
С такими мыслями тебе в C++-тред, там любят каждый бит экономить.
Ну а здесь хеллоуворлды жрут по 200 метров.
850 1693919
>>693838
В джаве принято экономить память людей, на память машины всем уже давно похуй. Можно сервак помощнее докупить, если что. Нанимать сеньора, чтоб он разобраллся че там индусы написали чтоб 2 байта сэкономить дороже.
851 1693947
>>693863
>>693919
Повелись на толстоту.
852 1693979
>>693947
Я так-то по фану отвечаю
853 1694052
А что там в идее 2020 сделали? Раньше в мавене у dependency в <version> можно было ctrl + пробел нажать и он показывал какие версии есть из самых новых скорее всего из mvnrepository. А сейчас так сделал, показывает только те, что я ранее писал. Но в старой идее это был точно не кэш и не история моей писанины.
854 1694219
>>693838
EnumSet
856 1694229
>>694052
Меня больше бесит, что автоимпорт убрали из-за каких-то криворучек.
857 1694241
>>694229
Да, сам удивился, что теперь всегда надо нажимать комбинацию клавиш и какая-то пипка со значком мавена справа висит.
858 1694244
А еще тупое кеширование. Когда ты уже добавил импорт, а клас еще подсвечивается красным. Хз, может даже обратно на 2019 откатится.
859 1694247
>>694221

>Сопоставление с образцом


Бля, пока на англюсик не переключил, не мог понять. Не читайте на русском.
860 1694265
>>694247
Это ещё ничего. Как тебе, когда "commi" переводят как "фиксация"? Будто слово стало более русским.
861 1694390
>>694265
Commie
image.png70 Кб, 850x698
862 1694504
Прочитал Шилда, Блоха, сделал все задачки уровня lab1 на codingbat. Теперь планирую читать Spring in Action. Правильно делаю? Заранее спасибо за советы, эсли кто-то ответит..
863 1694514
Парни,доброе всем.
У меня есть проблема со след задачей

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

Я уже вроде бы реализовал алгоритм , но он нихуя не работает,можете пару строк кода написать, пожалуйста?

Я ваще не понимаю, почему код не работает и чувствую себя идиотом,помогите, пожалуйста
864 1694557
>>694504
Ну хз, наверно сначала надо про паттерны, сервлеты, лайеред архитектуру и роботу с дб (jdbc) почитать, прежде чем в спринг нырять.
865 1694560
>>694557
> роботу
Вот я ебан, такие перлы с утра выдаю.
866 1694564
>>694514
Напиши компаратор для своего класса, напиши пару тестов - если все работает - делаешь Collections.sort(list, comparator).
867 1694569
>>694564
А, тебе один объект только нужен, а не все по порядку, тогда Collections.max(list, comparator).
image.png22 Кб, 620x288
868 1694630
>>693427
Что именно вызывает сложности? Берешь и без задней мысли делаешь свой итератор, на вход принимая что угодно. Для тебя важно понять что итератор это еще НЕ выходные данные, это инструмент выдачи данных, он - lazy, т.е. в момент создания и выдачи итератора из метода у тебя еще нет никаких данных вида "1 2 3 1 2 3 1 2 3 1 2 1 2 1 2 1 1 1 1 1", они появятся только тогда когда с выданным тобой итератором начнут работать (в пограничном случае - никогда).
image.png31 Кб, 577x442
869 1694654
>>694514

>день с общей наибольшей суммой


Что, простите? Я непонимяу. Каркас вот, условие сам добавишь.
870 1694669
>>694514
>>694654
В догонку.

>расположен в возрастающем порядке


Что это значит, где детали, по какому полю в возрастающем? В зависимости от деталей max это может быть банально последний элемент в списке, список же уже отсортирован. В общем я ебал так задачи объяснять, хоть бы кусок кода бы кинул чтоли.
871 1694693
>>694514
Если нет отрицательных чисел, то просто бери последний день.
Пару минут в гугле:
LocalDate maxdate = dates.stream()
.max( Comparator.comparing( LocalDate::toEpochDay ) )
.get();
Тебе надо будет компаратор чутка изменить, взять object.getDate сначала.
image.png35 Кб, 601x413
872 1694728
>>694514
>>694654
А, до меня дошло. "Число" и есть "сумма"? Нам никакую сумму вычислять не нужно т.к. она уже у тебя "дана", так? Если так, то вот.
873 1694934
>>694514
Если возрастающей порядок - это по дате, то у тебя все показания за определенный день лежат рядом. Все что нужно - это идти по списку и суммировать значение за текущий день. Когда начинается новый - сравнивать сумму текущего с суммой лучшего предыдущего (на первый день лучшего предыдущего нет, конечно же). Если сумма текущего больше, то он становится лучшим предыдущим. Всё. Сложность алгоритма линейная.
874 1694981
А варарг последним параметром в методе можно разве игнорировать? У меня ошибку не выдает, но я не помню такой возможности в синтаксисе.
875 1694988
>>694981
Можно, пустой массив будет. Именно для этого они и идут последним параметром - быть опциональными.
876 1695333
>>668969
test message
877 1695345
>>694988
Хера себе, вот это неожиданность.

Мимо.
878 1695365
Не все знают, но в джаве варарг - это всего лишь синтаксический сахар для передачи массива.

static void func(String ...args) { }

func("1", "2", "3");
func(new String[]{"1", "2", "3"});
879 1695375
>>695365
main() можно вызвать без параметров. Значит массив тоже можно игнорить.
880 1695389
Эксепшены в стримах это боль.
881 1695400
>>694504
Напиши для начала какое-нибудь говно на голых сервлетах.
Тогда со Spring`ом потом будет попроще, особенно если в кишки полезть придётся.
882 1695405
>>695400
А после сервлетов изучать спринг без бута и на xml.
883 1695415
Прохожу курс и застопорился на вроде несложном задании по моделированию игровых автоматов. Есть у кого-нибудь минутка мне разжевать? Желательно в телеге, заранее спасибо
884 1695425
>>695405
А лучше сразу Java EE 6.
885 1695478
>>695405
а в чем батхерт
886 1695482
>>695478
В том, что проще нихуя не будет. Тебе не будет легче учить ту же жабу, потому что ты учил си. Будет по-другому. Но не проще.

мимо
887 1695516
>>695478
Это говно мамонта. Максимум пару статей прочитать, чтоб в общих чертах представлять, как это работает. Да и то забудется через неделю.
888 1695519
>>695415
Какое задание?
889 1695520
>>695482
>>695516
В джава энтерпрайзе нет легаси без спрингов?
890 1695521
>>695520
Есть.
891 1695522
>>695521
Почему тогда не надо учить легаси технологии?
892 1695528
>>695522
Мало кто хочет целенаправленно изучать то, что умирает, нужно всё меньше и не пригодится вообще уже лет через 5. Если и учить, то ровно настолько, чтобы решить какую-то проблему здесь и сейчас и забыть.
893 1695535
>>695528
Ясненько.
894 1695570
>>695519

Задачи

Написать программу Java, которая моделирует свойства, поведение и взаимодействие объектов в этой галерее игровых автоматов. Вам также потребуется тестовый класс, который содержит главный метод. Используйте главный метод для моделирования определяющих действий программы, таких как создание экземпляров объектов и считывание карт. Все поля должны иметь значение private. Предоставьте метод получения и все необходимые методы установки.

Карты

Магнитная полоса на игровых картах имеет ограниченное место для хранения и не имеет вычислительных ресурсов. В картах сохраняется информация о текущем кредитном балансе, балансе билетов и номере карты. Ни один баланс не может быть отрицательным. Отдельные карты не способны ни выполнять вычисления, включая простое сложение, ни анализировать возможность того, что их балансы могут стать отрицательными.Каждая карта создается с уникальным целочисленным идентификационным номером. Хотя каждая отдельная карта не способна выполнить простое сложение, тем не менее, можно выполнять вычисления со свойствами, относящимися ко всем картам.

Игры

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

Категории призов

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

Терминалы

Каждый терминал содержит считыватель магнитных карт. Терминал принимает деньги, которые преобразуются в кредиты на карте. Деньги принимаются в виде целых чисел. Кредиты выдаются в соотношении 2 кредита на каждый рубль. Игроки могут использовать терминал для проверки балансов своих карт. В выводе также должен указываться номер карты. Между картами можно переносить кредиты или билеты, полностью или частично. При доступе к кредитам или билетам всегда должны выводиться балансы карты. Наконец, в терминалах билеты можно обменивать на призы. Если на карте недостаточно билетов или если в терминале нет приза конкретного типа, должно выводиться сообщение об ошибке. Должно выводиться сообщение о присуждении приза и о количестве призов нужного типа, оставшемся в терминале. Терминал предлагает 3категории призов.

Главный метод

Создайте экземпляры 2 карт и любых других объектов, необходимых для тестирования вашей программы.
•Загрузите кредиты в каждую карту.
•Сыграйте в различные игры, используя обе карты. •Перенесите баланс кредитов и билетов с карты1 на карту2. •Запросите призы, используя карту 2.
•Попытайтесь сыграть в игру и запросить приз, используя карту1.
•Выполните любые другие действия, необходимые для тестирования вашей программы
894 1695570
>>695519

Задачи

Написать программу Java, которая моделирует свойства, поведение и взаимодействие объектов в этой галерее игровых автоматов. Вам также потребуется тестовый класс, который содержит главный метод. Используйте главный метод для моделирования определяющих действий программы, таких как создание экземпляров объектов и считывание карт. Все поля должны иметь значение private. Предоставьте метод получения и все необходимые методы установки.

Карты

Магнитная полоса на игровых картах имеет ограниченное место для хранения и не имеет вычислительных ресурсов. В картах сохраняется информация о текущем кредитном балансе, балансе билетов и номере карты. Ни один баланс не может быть отрицательным. Отдельные карты не способны ни выполнять вычисления, включая простое сложение, ни анализировать возможность того, что их балансы могут стать отрицательными.Каждая карта создается с уникальным целочисленным идентификационным номером. Хотя каждая отдельная карта не способна выполнить простое сложение, тем не менее, можно выполнять вычисления со свойствами, относящимися ко всем картам.

Игры

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

Категории призов

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

Терминалы

Каждый терминал содержит считыватель магнитных карт. Терминал принимает деньги, которые преобразуются в кредиты на карте. Деньги принимаются в виде целых чисел. Кредиты выдаются в соотношении 2 кредита на каждый рубль. Игроки могут использовать терминал для проверки балансов своих карт. В выводе также должен указываться номер карты. Между картами можно переносить кредиты или билеты, полностью или частично. При доступе к кредитам или билетам всегда должны выводиться балансы карты. Наконец, в терминалах билеты можно обменивать на призы. Если на карте недостаточно билетов или если в терминале нет приза конкретного типа, должно выводиться сообщение об ошибке. Должно выводиться сообщение о присуждении приза и о количестве призов нужного типа, оставшемся в терминале. Терминал предлагает 3категории призов.

Главный метод

Создайте экземпляры 2 карт и любых других объектов, необходимых для тестирования вашей программы.
•Загрузите кредиты в каждую карту.
•Сыграйте в различные игры, используя обе карты. •Перенесите баланс кредитов и билетов с карты1 на карту2. •Запросите призы, используя карту 2.
•Попытайтесь сыграть в игру и запросить приз, используя карту1.
•Выполните любые другие действия, необходимые для тестирования вашей программы
895 1695667
>>695400
А я поддерживаю. Я тоже за то, чтобы до спринга пробежаться по сервлетам и фильтрам. Сделать что-нибудь простенькое.
896 1695895
>>695667
Это точно поможет лучше понимать спринг?
 .png25 Кб, 408x266
897 1695955
А specification надо импортировать для программы на сервлетах?
898 1696026
>>695895
Да. Так-то и без них можно хеллоуворлды писать. Но для понимания лучше их знать. Spring MVC использует DispatcherServlet, а Security - сервлетовские FIlter.
899 1696097
>>696026
Ты ему и C тогда предложи выучить, для понимания.
900 1696124
>>692988
Байткод не меняется в зависимости от разрядности CPU, архитектуры и ОС. Хочешь 32 бита - запускай на 32 битной JVM.
Если нет нативных компонентов (типа SWT), то все будет работать.
901 1696129
>>692988

>Скорее всего нельзя. Но разве бывает ждк 11 х32 ?


Оракловой не бывает, но есть альтернативные https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot
902 1696352
>>696124
Джавафх под капотом JNI разве не использует?
904 1696628
>>696352
Первые версии FX были полностью на базе Swing и ничего не требовали, но как я понял сейчас это не так. И тебе нужна сборка FX под твою ОС и разрядность.

Вроде там до сих пор делают сборки под разные разрядности https://gluonhq.com/products/javafx/
905 1696798
>>696578
>>696129
Да ладно вам, не старайтесь. х32 уже уходят в прошлое. У многих 32-бит система стоит либо из-за лицензии винды (х32 дешевле), либо они не могут зайти на сайт со своим процессором и посмотреть разрядность.
906 1697213
А кто-нибудь до сих пор пишет на Спринге без бута?
907 1697316
>>697213
Ну вон люди х32 обсуждают, может и это кто использует.
908 1697369
>>697213
В легаси, например. У нас вот жирный монолит на EE, крутится на вебсфере, спринг четвёртый.
909 1697611
>>697213
Как уже сказали, в легаси, но я добавлю, что это не обязательно совсем древнее легаси уровня ЕЕ. Просто если приложение уже было написано без бута, то смысла его добавлять довольно мало. Сам спринг при этом может быть и вполне новым.
910 1697741
ничего себе
911 1697771
>>697741
Да, без бута пишут.
912 1697788
>>697771
А некоторые еретики и без спринга.
913 1697791
>>697788
Кто-то и без джавы, подумать только
914 1697844
>>697791
Кобола им пока хватает
915 1697851
Для микросервисов бут, конечно, нужен.
Но если высоконагруженный монолит с кластеризацией и прочим, то смысла не вижу.
916 1697862
>>697851
Ща придут адепты микросервисов и скажут, что любые монолиты - зло, и что их нужно срочно переписать на микросервисы.
917 1697895
>>697851
Поясни, какие из фич бута важны для микросервисов, но для монолита смысла не имеют. Афтоконфигурация? Актуатор?
918 1697898
>>697895

>Афто


Блять, во я выдал
919 1697902
>>697898
Это не ты недавно "робота" написал?
920 1698247
Тупой вкатывальщик пришел с вопросом. Нужно смоделировать игровые автоматы с магнитными лентами,терминалом и игрульками.

Короче,в классе с лентами лежат только поля и все,а в классе с терминалом можно пополнять баланс,получать призы и прочее говно.
Так вот,как это реализовать?Как сделать чтобы пополнять баланс можно было только через терминал и более никак. Учитывая что во всей программе поля с балансом и номером карты лежат в отдельном классе.
921 1698294
>>698247
Можно все эти классы вынести в отдельный пакет, сделать все поля с балансом и прочим приватными, сеттеры для них - package-private, и только у терминала поля будут public. Package-private разрешает доступ только в пределах данного пакета, у терминала будет к ним доступ, а извне доступа не будет.
Это при условии, что разраб не будет добавлять новые классы в пакет, но для адекватных требований этого достаточно.
922 1698296
>>698247
На поля package private, класс ленты и терминала в один пакет.
923 1698302
>>698294
Звучит неплохо,но вот в чем загвоздка.Это задание к курсу,а конкретно к теме с модификаторами доступа,там говорилось,что использовать можно только private,static и public,но при этом все поля приватные
924 1698303
>>698294
Плюс я не пойму как мне в методах к ним обращаться,поля ведь лежат в одном классе,а методы в другом
925 1698309
>>698302
Сделай внутренний класс.
package private это когда нет модификатора.
926 1698315
>>698303
Создаёшь класс терминал, в нём поле с типом лента.
В конструкторе это всё объявляешь.
Потом обращаешься Терминал.полеСЛентой.
Почитай про агрегацию.
927 1698322
>>698315
Поле типо лента,чтобы через него обращаться к переменным?
928 1698324
>>698303

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


Не должно так быть, они должны быть в одном классе, причём поля должны быть private, а геттеры/сеттеры - не обязательно. Лично я с этим не согласен, но соглашение таково.
929 1698330
>>698324
Таково условие,я просто его скопировал и никак не изменял.Подразумевается,что магнитные ленты не могут выполнять вычисления,а могут только хранить инфу о номере и балансе.Но мы с этими картами насаемся то к терминалу,чтобы пополнить баланс,то к играм чтобы баланс потратить и поиграть.И терминал и игры тут отдельные классы. Такие уж задания на курсе оракла для начинающих
930 1698332
>>698322
Да.
class Lenta {
int a;
getter/setter/cosntructor}
class Terminal {
Lenta lenta;
public Terminal (Lenta lenta) {this.lenta = lenta};
public lentaPlusB (int b) {
lenta.a +b;
}
getters/setters/methods
}
931 1698346
>>698332
А для чего в параметры Терминала писать ленту,у нас же операции типо пополнения баланса будут представлены отдельными методами и в них мы уже напишем,разве нет?
932 1698357
>>698346

>операции типо пополнения баланса


>public lentaPlusB

933 1698417
>>698357
Ой точно,и последний вопрос,как реализовать метод при котором с одной карты на другую переносится часть кредитов
934 1698701
>>698417
public void perenos (Lenta lenta1, Lenta lenta2, int chast) {
if (lenta1.a>=chast) {
...//изменяешь значение ленты1 через метод терминала
..//изменяешь значение ленты 2 через метод терминала
}
else throw Exception ("Недостаточно средств")}
935 1698739
Скажите, я ведь не один использую pastebin как заглушку для внешних систем?
936 1698774
Кто-нибудь перекатывался из C++ на Java?
1. Сколько учили язык? В свободное время / во время работы?
2. С какой и на какую позицию перекатились? Сильно ли просели по зарплате?
3. Интересные ли задачи по сравнению с плюсами? Много ли своих заморочек?

Работаю НЕ в НИИ, пишу на современном C++17 с пакетным менеджером, CI и всеми возможными плюшками, но чё-то пердолинга всё равно многовато.
937 1699327
Посоветуйте книгу/туториал по postgresql. С sql в общих чертах знаком.
938 1699408
>>699327
Тебе сюда: >>1638710 (OP)
939 1699799
>>698774
1. Язык как таковой - гораздо проще чем С++, по началу скорее будет бугурт от невозможности сложить два указателя. Сложность скорее всего в "обвязке" всего этого: спринги, кафки и прочий кубернетис в клауде.
3. Тут сильно зависит от того что тебе нравится и куда попадешь. 95% это унылый веб CRUD или sort of ETL. Но бываают и интересные проекты, но за ними надо побегать. С другой стороны унылый веб CRUD как правило тихая гавань, где можно годами неспешно пилить одно и то же, не напрягаясь и не перерабатывая.
940 1699970
Нужно ли вообще джава-разрабу читать книгу по постгрес, или хватит какого-нибудь https://www.postgresqltutorial.com/ туториала?
941 1699974
>>699970
Хватит, если не пишешь какой-то плагин именно для постгри.
942 1699976
>>699974
Ну, тогда не буду тратить время на офдок в 2600 страниц.
943 1700278
>>699976
Охренеть, это же как две войны и мир.
944 1700312
>>700278
Ну так сколько писали ВИМ и сколько уже разрабатывают Постгрес.
945 1700630
>>699799
1. Я и не складываю указатели (может кто микроконтроллеры пердолит занимается подобным. У меня МашОб и нейроночки.
3. Я правильно понимаю что можно освоить этот стэк и дальше можно до пенсии сидеть в хуй не дуть в каком-нибудь банке?

Можно подробнее про зарплату?
946 1700652
>>699799
1. Я указатели не складываю (это скорее кто микроконтроллеры пердолит). У меня МашОб и нейронки.
3. Я правильно понимаю что можно выучить это стэк и дальше до пенсии сидеть в хуй не дуть в каком-нибудь банке?

Можно подробнее по зарплате? Если я джуном вкачусь но с опытом пару лет на C++?
947 1700908
Кто может внятно пояснить зачем нужно реактивное программирование и webflux в частности и какие задачи с помощью него можно решить?
948 1700950
Двач, здравствуй, такая проблемка.
Есть один проект, который идет по лицензии. Дату истечения лицензии определяю я. Итак.
Есть machine-id у клиента - /var/lib/dbus/machine-id. Он передает его мне, я вставляю его в гуишку, там же выбираю дату конца лицензии. Ключ генерится по private key, machine-id и expirationDate, который я указал. Выходит что-то типа:

617055C6A1BC312E4DCDC7BE4FBE3A43BA78509BB09F9343EB2F55600DC9EA9DB99A93425CA99CACEA785AF98114E9A30B875523B23D5B1C0ADD4A70CCEE3B32

Я передаю этот ключ клиенту, он вводит его и тут хуяк:
javax.crypto.IllegalBlockSizeException: Data must not be longer than 64 bytes

Роюсь в дебаггере, метод doFinal в com.sun.crypto.provider.RSACipher:
if (this.bufOfs > this.buffer.length) {
throw new IllegalBlockSizeException("Data must not be longer than " + this.buffer.length + " bytes");
}

this.buffer.length = 64
this.bufOfs = 65

Внимание, вопрос. В каком месте я поел говна? С меня тонны нефти за помощь в любом виде.

https://gist.github.com/jerdys/98ad193201dec81c98490144ba6d8364
949 1700966
>>700950
Ремарка - с шифрованием работаю впервые, поэтому знаю во всем этом примерно нихуя, просьба не бить сильно тапками, если где-то сильно проебался
950 1701015
>>700950

> Ключ генерится по private key, machine-id и expirationDate


Можно вычислить хеш-функцию от private key, machine-id и expirationDate, а ключ генерить уже от него. Взять хеш-функцию такую, чтобы влезала в 64 байта. На клиенте тоже вычислять эту хеш-функцию и сравнивать.
951 1701039
>>701015
Чет погуглил поверхностно, ничего не нашел, завтра еще поищу. Если тебе совсем делать нехуй - можешь кинуть ссылку или, боже упаси, написать примерный код для всего этого?
952 1701057
>>701039
Я не писал подобного на джаве, но это, наверное, должно быть похоже на проверку цифровой подписи.
Передаёшь на сервер machineid
Вычисляешь data = encrypt(priv_key, sha256(machineid + expirationDate))
Передаёшь data и expirationDate на клиент
На клиенте сравниваешь sha256(machineid + expirationDate) и decrypt(pub_key, data)
953 1701284
Двачик, поясните за Философию жавы Эккеля. Основы уже знаю, но хотелось подробнее узнать устройство Java
954 1701293
>>700908
Нужно, чтобы callback hell был не только в JS.
image.png318 Кб, 375x550
955 1701302
>>701284

> узнать устройство Java

956 1701318
Сап, нужен хелп с циклическими зависимостями :-(

библиотека А зависит от библиотеки Б, Б зависит от А.
Они обе сейчас на 11 джаве.
Есть необходимость сменить их таргет версию джавы на 8, т.к. выяснилось, что в одном из проектов анал жепы с 11 джавой, а в этих либах фишки 11 джавы не используются даже, ибо котлен.
Как это сделать?
меняю в одной - билд фейлится, т.к. в зависимостях либа с 11 таргетом.
957 1701339
>>669569
Аможно пояснить за яхидный спойлер? Хочу заплатить в джава раш, но не хочу, стоит ли? Бесплатный курс воспринял легко стоит ли продолжить? Или дрочить уроки на ютабе и искать бесплатные курсы в интернете?
958 1701341
>>672464
Это вопрос-загадка как на зоне, там петухов не берут.
959 1701647
>>701318
Exclude.
960 1701740
>>701647
как функционал исключения тут поможет? не совсем понял. Я могу исключить в проекте А либы проекта А из зависимости Б. Но Б то останется со своей таргет версией 11. и сломает мне билд
961 1701761
>>700652
В целом да, но надо осторожнее чтобы не получилось так, что банк закрылся а ты "Senior COBOL Developer". Все таки за тенденциями надо хоть немного следить. Но тихие гавани есть и много.

Зарплаты сейчас - фиг знает, я 2 года не в России живу. Когда я уезжал конец 2018 в ДС джуны получали 100-120, сеньоры от 200 мне лично предлагали 350.
962 1701800
>>701318
Как ты их вообще билдишь? Мавен и грейдл не дадут тебе создать циклические зависимости.
963 1701858
>>701800
либы с модулями. gradle.
В итоге нашел решение, всем спасибо
964 1702077
>>701761
хех 100-120 у нас сеньоры получают а вроде как передовые технологии пилим
965 1702089
>>702077
Так перебирайся в дс.
966 1702097
>>702089
Я в ДС2
967 1702100
>>702089

> Так перебирайся в дс.


А разницу в зп отдавай на хату и услуги, которые в дс дороже мухосрани
968 1702130
>>702100
Зато в будущем рост будет, в отличие от мухосранска.
969 1702143
>>702100
Ну так не ной тогда, что получаешь как джун в дс.
970 1702399
>>702077
Навешал кодеркам на уши лапшу про передовые технологии, вручил каждому по лычке сенёра, денег не платишь, а они и рады. Профит!
971 1702403
КАК ВКАТИТЬСЯ В ДЖАВУ ЗАЕБАЛО В НИИ ГОВНА И МОЧИ АВТОКАДЫ ДРОЧИТЬ ХОЧУ ПРОГАТЬ
972 1702428
>>702403
Двачую
мимо-инженегр-в-военке
973 1702583
>>702403
>>702428
А я наоборот вкатываюсь в C++, линал и компьютерную графику, чтобы в перспективе заняться разработкой тех самых САПРов.
974 1702625
>>702583
Оно тебя сожрет, а работу ты не найдешь.

Я пару лет назад хотел вкатиться в эту отрасль, притом что в вузе у меня были и сапры (inventor, nx), и компьютерная графика.
А особенно нас дрочили по вычислительной геометрии и численным методам с упором на то, как решать определенные инженерные задачи с использованием метода конечных элементов и прочих прикольных математических штук.

Я потыкался в разные вакансии, но джуны не были нигде нужны и я забил, а потом перекатился в джаву к началу 4 курса.
К слову сказать, разработка САПР в России выглядит немного удручающей. Геометрическое ядро (как раз та часть, которая отвечает за йоба-геометрию) делает только одна контора - АСКОН, которая собственно и разрабатывает известный всем компас-3D.
Располагаются они в Коломне и по зарплатам сеньоров там все грустно - те самые 110к за знание С++ и вычислительной математики, чуть выше чем джава джун в ДС.
У T-FLEX аналогичная ситуация.
Правда вот видел недавно, что Align разрабатывает сапр для зубных лекарей - моделирование челюсти, и т.д, платят там неплохо, но нужно хорошо уметь в линал и алгоритмы.
975 1702665
>>702625

>Компас 3д


Я б на их месте убрал вообще три дэ из компаса, ибо нинужно там, и кривое, а в целом прога, конечно, пиздатая
976 1702687
А я ещё мечтал перекатиться из жабы в кресты, но чёт почитываю пришедших сюда крестовиков и демотивируюсь :(
977 1702853
>>702687

>А я ещё мечтал перекатиться из жабы в кресты


Если интересна компьютерная графика или байтоебство, то перекатывайся. В других случаях не стоит, хотя например бекенд на плюсах тоже в некоторых местах пишут.
978 1702928
Как вы относитесь к методам которые что то возвращают, но при этом переданные филды меняют каким-либо образом?
Мне кажется это крайне плохая практика хотя понятное дело так делать не запрещено
979 1702932
>>702928
Про чистые функции почитай, иммутабельность.
980 1702946
>>702932
Что про них читать то, можно просто в функциональном стиле кодить и никогда не встретится с такой ситуацией, просто я сегодня весь день переписывал такой код, все работало, тесты были, но я не мог нормально расширить функциональность, и понять логику, хотел услышать мнение когда бы анон это использовал и зачем?
981 1703025
>>702946
Когда бы я использовал не чистые функции? Никогда. Только если и цель этого метода изменить поле.
Как это говно потом тестировать? Как в нём разбираться? Когда помимо возвращаемого значения там ещё внутри какая-то хуйня меняется.
Но у меня опыта, мало, пишу с дивана.
982 1703063
>>702932
Не читай эту хуйню, лучше почитай про CQRS.
983 1703065
>>703063
Лучше про SPQR.
984 1703066
985 1703068
>>703066
Иди нахуй отсюда.
986 1703070
>>703068
sqrt(-1)
987 1703080
988 1703081
989 1703086
>>703081
Ни разу их не видел.
990 1703090
>>703086
В ДС это новый тренд, вейп уже вышел из моды.
991 1703134
>>703063
Смысл почти такой же.
992 1703402
>>703070
Препод по тфкп в треде, все в матлаб
994 1703417
Что полезное за лето выучить, чтобы осенью попросить зп повыше(хочу х2, вкатывался на джуна с не самой высокой по рынку зп) либо уебать в другую компанию?
Стек стандартный, джаваспринг, правда майбатис вместо хибернейта, но его и так уже включил в список.
Хочу каждый день тратить по часу в день после работы на чтение статей и книг, по выходным пилить пет-проект на новых выученных штуках
995 1703423
>>703411
Так все верно, лучший код - тот, которого нет.
996 1703576
Народ есть такая задачка

Write a program that takes an integer N and an array of N integers as input. Your program should output the longest strictly increasing digit sum sequence of the inputed array.
Note: The integer N will be given in the first line and the array of N integers will be given in the second line (Each integer separated by a single space).
Note 2: The sequence of an array is a sub-array of contiguous elements from the original array.
Note 3: A sequence is strictly increasing digit sum if the sum of the digits of each element of the sequence is greater than the sum of the digits of the element before except for the first element.

Не могу до конца понять что надо именно сделать ? Вывести последовательность возрастающую что ли ?
997 1703577
>>703576
Хули ты у нас спрашиваешь?
998 1703581
>>703577

Спросить а то немного не могу понять.
999 1703585
>>703581
Ну глицину попей.
1000 1703655
>>703576
Там про цифры, а не просто последовательность чисел.
5
10 11 9 111 230
10 11 9
1001 1703659
>>703411
Всё правильно, идеальная функция это как сферический конь в вакууме.
1002 1703684
Привет, аноны. Имею где-то пол года коммерческой разработки, подскажите как развиваться, когда уже нашел работу.
На работе параллельно читаю клин код, решаю задачки на литКоде, пишу пет проект с коллегой после работы, но есть еще целые выходные, когда коллега не хочет столько прогать, а задачки решать впадлу. Посоветуйте плс список мб книг или технологий областей, что должен знать хороший программист, что может помочь с переездом из Раши в будущем (это не главная цель, хотя мотивирует)
1003 1703734
>>703576
Это че, жетбрейнс академи?
1004 1703775
>>703684

>переездом из Раши


Как вообще заводится трактор? Типа, работодатель подходит и говорит: "Сычев, ты хорошо трудился, вот тебе виза на забугры"? Что для этого нужно?
1005 1703781
>>703775
Можно найти вакансию на западе, допиздеться там, тебя примут и дадут рабочую визу
1006 1703785
>>703781
Рашкенские работодатели не дают визы, если филиала компании нету на западе?
1007 1704039
>>703785
А причем тут рашкинские работодатели? Запрос, или как там это хуйня называется, его делает работодатель другой страны
1008 1704040
>>703417

> Что полезное за лето выучить, чтобы осенью попросить зп повыше(хочу х2, вкатывался на джуна с не самой высокой по рынку зп) либо уебать в другую компанию?


Ну спроси блять у своего тимлида/ПМа, что тебе нужно. Мы то откуда знаем, что вы там делаете у себя.
А по другой компании - смотри требования на hh на должности, которые тебя интересуют
1009 1704047
>>703775
Не. Я вижу это так, я вот ща поучусь, буду тру прогером, по хорошему поработать либо в топ IT компаний России типа Яндекса\Сбер Технологий, чтобы в резюме можно было написать "работал в топ банке России" или "в топ поисковике", чтобы люди видели что в своей стране я хорош и нужен. Далее по хорошему сертификаты сдать по джавке и еще по чему-нибудь, это надо еще гуглить. Ну а далее я прохожу онлайн собесы на линкедИне каком-нибудь много штук, и мне могут прислать приглашение работать у них в стране -> переезжаю.
Я это вижу так)
1010 1704130
вкатываюсь в джаву, какие подводные камни? работал на заводе, 30лвл

какие таблетки пить, чтобы информация луче воспринималась\запоминалась?

какая зп на старте? изначально стажером берут?
1011 1704201
>>704130
Если ты не логичный, не любишь цифры, тебе не давалась хорошо математика в школе - что-то из этого, то будет очень сложно, я бы не советовал. У нас иногда джунов таких вижу, они очень медленно обучаются, у них нифига не выходит, понимают с 5 раза, у нас таких недавно двоих уволили, честно хз как они будут работу искать дальше, не скажу что много у нас научились.
А если ты в ладах с матаном и логикой, то велком.
Таблетки вряд ли помогут, ни разу не слышал таких историй.
В зависимости от региона, в Москве 40-80к джун. Что подразумеваешь под стажером?
1012 1704207
>>704130

>работал на заводе, 30лвл


Если есть техническая вышка, то можешь попытаться вкатиться.
Если нет, лучше не стоит лезть в джаву. Во многих вакансиях очень желательно высшее образование, особенно на позициях джунов и стажеров.
1013 1704222
>>704201
>>704207
цифры люблю, вышка есть, дс2
если таких берут, как ты описал, значит шансы у меня есть

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

ну типа стажер это когда ты неофициально работаешь в компании, они к тебе присматриваются и обучают тому, с чем ты будешь работать, платят печеньем
1014 1704250
предлагаю версионировать треды при перекате, типа 2020.Х
1015 1704281
>>704207

>Если нет, лучше не стоит лезть в джаву


В моем городе в вакансиях вообще ни слова про вышку, значит ее не требуют? Или во - само собой разумеющееся?
1016 1704308
Сап анчоусы! Вкатываюсь в интерпрайз, столкнулся с проблемой кастомной десериализации с помощью StdDeserializer.
К сути:
У меня есть несколько классов-сервисов для обработки изображений, которые используют каждый свой enum с параметром указывающим способ смешивания цветов.
В DTO используется общий интерфейс для enum.
Для десериализации строки к определенному enum используется класс наследник StdDeserializer. Проблема в том, что метод deserialize не вызывается. Конструктор срабатывает.

https://pastebin.com/h5XwC9MZ

Как видно, сериализуемый интерфейс помечен аннотацией @JsonDeserialize, а судя по https://www.baeldung.com/jackson-deserialization более ничего и не требуется. Где я обосрался?
1017 1704328
>>704207
>>704281
Тоже очень редко видел такие требования, может быть Ошибка выжившего? По мне ссылка на гитхаб со своими проектами сейчас важнее, разве что в каких-то гос организациях слышал такое бывает, повышение упирается в вышку.

>>704222
Не, такого что ты описал - нигде не встречал.
Есть стажировки типа от сбера, от яндекса и т.п., я сам такую в свое время проходил, довольно прикольная штука, кратко, чтобы попасть, надо пройти собес на знаине основ, далее тебя бесплатно учат какое-то время (меня 2 мес. по скайпу несколько раз в неделю) и тебе нужно все в срок выполнять и сдавать, иначе ты вылетишь. Ну в итоге остаются человек 5-7 из 40, и им кидают оферы в разные отделы\компании и нужно еще внутр. собес пройти, но во время стажировки дается хорошая подготовка.
1018 1704333
Еще вопрос по иммиграции. Для иммиграции важно во, так? А если, допустим, у меня нет во, но есть опыт работы 3-6 лет, шансы такие же, если бы было во, или?
1019 1704338
>>704333
Если переезжать в Украину или Беларусь, то шансы такие же, да.
1020 1704367
>>704308
Вопрос решен, я невнимательный.
crud.png9 Кб, 555x198
1021 1704370
1022 1704527
Вы думаете она математику любит?
https://youtu.be/d_n4Kpte7_Q
1023 1704670
>>704328

>>Есть стажировки типа от сбера, от яндекса и т.п.


Берут ли на такие стажировки дидов 30лвл?
1024 1704678
>>704670
Я бы тебя взял.
зрелый 21 лвл
1025 1704682
>>704670
в 1с не берут, думаю что и в джаву тоже
1026 1704685
>>704682
Но почему? Они реально думают, что если возьмут 19-летнего, он до пенсии у них работать будет?
1027 1704686
чо скажете за брюса эккеля? стоит читать философия java?
или читать все подряд по 4 книжки в месяц?
1028 1704706
>>704682

> в 1с не берут


Ага, слишком рано.
1029 1704744
>>704670
У меня у другана знакомый вкатился через стажировку в сбере на джавараба. Друган не вкатился.
1030 1704745
>>704686
Для чего? Чтоб на полку поставить к прочитанным книгам? Читай раскраски тогда - там букв меньше.
1031 1704759
PL/pgSQL н-надо?
1032 1704769
>>704759
Не-а, ведь есть PL/SQL.
1033 1704790
>>704745
да, там пиздец, se5
1034 1704799
>>704790
Лучшая версия без лишнего говна.
1035 1704807
>>704799
Лучшая была 4, а в пятой добавили ненужные енумы, аннотации, дженерики и прочее говно.
1036 1704962
Уважаемые аноны, помогите советом, как лучше сделать. Есть классы, которые описывают должности на некоей работе, например, Бухгалтер, Секретарь, Уборщица. А еще есть некий Hr, который фильтрует кандидатов на работу по дате рождения. Ну, там, все, кто родился позже 2000 года, отсеиваются. То есть, есть некий метод, который принимает List тех или иных сотрудников, в цикле сравнивает их год рождения с эталоном и возвращает новый List, в котором нет людей 2000 года рождения и младше. Во первых, где должен быть такой метод? Как будто бы у Hr, это его задача. И как сделать этот метод гибким? Если я захочу в офис добавить новые должности, то чтобы мне не писать этот фильтр под каждый тип объектов, который он будет принимать. Я предположил, что нужно сделать некий базовый класс, типа OfficeWorker, который будет родителем всех моих должностей. И написал у Hr метод, который принимает List<OfficeWorker>. Передаю в него лист сгененированных секретарей. И хочу, чтобы он отдал мне лист отфильтрованных секретарей. Пробовал делать приведением типов, не получилось. Может быть я просто метод расположил не там? Буду благодарен за совет.
1037 1705014
>>704962
В общем, не знаю, правильно или нет, но задачу решил вот так:

public List<T> filter(List<OfficeWorker> officeWorkers){
List<T> approved = new ArrayList<>();
for(int i = 0; i < officeWorkers.size(); i++){
if(officeWorkers.get(i).getPerson().getAge().getYear() < YEAR_OF_BIRTH){
approved.add((T) officeWorkers.get(i));
}
}
return approved;
}
1038 1705110
>>705014
Ну ты конечно говно написал. Где объявлен параметр T? В объявлении метода его нет, неужели ты весь класс параметризовал? Если так (пик 1), то по смыслу получается что у тебя HR менеджер всегда только к одному типу работников принадлежит. И использовать его можно только сырым, без параметра, т.к. если добавишь параметр (пик 2), то не сможешь пользоваться методом вообще. Заебался объяснять, в общем корректный вариант это пик 3.
1039 1705125
>>705110
Спасибо, анон. Я знал, что тут дадут хороший совет.
1040 1705138
После шарпа тяжело переучиться на джаву или они почти одинаковые?
1041 1705153
>>704527
Не, ща просто в каждой конференции должна быть тян, афро, азиат и т.п., посмотри любую презинтацию эпл или любые конфы международного уровня. JPoint (наряду с joker) это топ конфа в Раше по джаве и они стараются соответствовать
Ну и я не исключаю, что она любит матан))
1042 1705156
>>704670
вроде да, 30лвл молодой же еще, че себя в деды записал?
1043 1705199
>>704962
Ох уж эти универские задачки по ООП. Не имеют никакого отношения к реальной разработке.
1044 1705202
>>705199
Почему не имеет? Была простыня из 4 методов, стал 1 метод. Это же более читаемый и гибкий код, разве нет?
1045 1705373
>>704962
T extends OfficeWorker как-то так примерно.
1046 1705592
>>705153

> она любит матан))


В ротан, скорее
1047 1705606
>>705592
одно другому не мешает
sage 1048 1705628
Съебите нахуй из треда со своими девками.
1049 1705636
>>705628
Они заебали. Ладно бы в жс, но у нас(!). А это еще и скалистка. Мерзость.
1050 1706101
Скажите, как много женщин работает в джава-энтерпрайзе?
Я их панически боюсь. Наверное, готов работать за втрое меньшую зп каким-нибудь байтоебом в НИИ, лишь бы там не было женщин, которые пугают меня до смерти.
1051 1706121
>>706101
У нас процентов 15%, если прикинуть. Это среди кодеров. Среди тестеров/аналитиков больше.
1052 1706128
>>706121
Ну если среди кодеров 15%, то еще не страшно.
А то один знакомый шарпист рассказывал, что у него в команде прям очень много тян, чуть ли не больше половины.
Хотя наверное ко всему можно привыкнуть и научиться с людьми общаться тоже.
1053 1706129
>>706101
Среди аналитиков и тестировщиков много тянек, в программистах вообще нет. Но с аналитикой и тестированием каждый день общаешься.
1054 1706162
>>706129
Я буду дрожать и мямлить.
1055 1706163
>>706162
А когда надо будет интегрировать бэкенд с фронтендом будешь терять сознание?
1056 1706228
>>706163
Нет, просто с презрением смотреть на хипстеров-нитакихкакфсе
1057 1706325
если 10 лет назад энтерпрайз был swing запускаемый через javawebstart, то сейчас это web в броузере.
1058 1706409
Посоветуйте, что почитать про ООП, наследования, полиморфизмы, вот это вот все. Не на базовом уровне, а наоборот, чтобы полную картину и осознание иметь
1059 1706434
анон, утро доброе, подскажи: пытаюсь разобратся со СПРИНГОМ и пытаюсь создать XML для обьявления бинов
так вот Идея создала мне форму (фото ниже) та которая меньше, а на курсе показывали то что больше
так вот в чем разница и что лучше?
1060 1706435
>>706434
не учитывая "автоCкан"
image.png45 Кб, 637x360
1061 1706441
>>706435
>>706434
Различающаяся часть (не учитывая автоскан) называется xml-namespaces - xmlns. Для спринга абсолютно пофиг что там прописано, скорее всего и на голом <beans> без аттрибутов все заработает, проверь. А нужны неймспейсы для автоматической валидации xml документа, т.е. редактор кода - в данном случае IDEA - при помощи неймспейсов знает какие элементы и с какими аттрибутами могут включаться в другие элементы, может подсвечивать ошибки и предлагать автодополнения и подсказки по ctrl+space. Неймспейсов существует уйма, по количеству модулей как минимум, см. пример.
1062 1706447
>>706441

>>>1706441


>без аттрибутов все заработает, проверь.


не прокатило

ну в общем я понял, огромное спасибо. так мне стоит знать что каждая из них значит? и вообще сейчас в разработке на спринге все еще юзают xml? нужно ли углубляться в это?
1063 1706448
>>706447

>каждая из


xml-namespaces
1064 1706452
>>706441и да, это твой скриншот?
если да то у тетя идея ультимат intellij ultimate?
1065 1706454
>>706452
Ясен хуй, я же не нищук чтобы на коммьюнити эдишн сидеть
1066 1706459
>>706454
хехехехехе
тогда подскажи еще пожалуйста вкратце какие привилегии в работе со спрингом есть у ультиматки?
1067 1706477
>>706447

>не прокатило


Ага, проверил, действительно не работает. По тексту ошибки - внутренний XML парсер ругается на невалидный XML. Ну, он слишком придирается, можно и так работать, но на самом деле приятно - спринг, как всегда, качественно выполняет свою работу.

>так мне стоит знать что каждая из них значит?


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

>сейчас в разработке на спринге все еще юзают xml


Комбинируют. В XML ты указываешь бины и их свойства, которые ты хочешь вынести из кода. Такое аннотациями не сделать, либо выновить в свойства (проперти). Но свойства они для значений переменных, а чтоб именно класс бина нужный подгрузился это только XML. Можно велосипедить и с пропертями, кладя в них текст класса, а потом делать Class.forName, но зачем, ведь именно это и делается на моменте конфигурации контекста через XML. В общем - для каждой задачи свой инструмент. В больших приложениях часто все совмещено - и аннотации, и xml, и проперти файлы, и даже java конфиг (кодом).

>>706452
Мой скриншот.

>>706454
Не мой ответ. Да, у меня ультимейт 2018.3, я нищук. Не могу сказать чем точно отличается. В Коммьюнити отсутствуют некоторые вещи, предположительно (не проверял) это поддержка EE, всякие подключения к EE серверам/контейнерам, дополнительная поддержка спринга, поддержка фронтенда.
1068 1706503
>>706477
спасибо

>проперти файлы


на русском как в интернуте найти, чтоб почитать

может кто знает есть ли задачки или еще чтото по спрингу, а то теории много а на практике как применить для укрепления не знаю, может летература какая-то
1069 1706531
>>706409

>>Не на базовом уровне


Почитай про SOLID и наверни GoF паттерны.

>>чтобы полную картину и осознание


Мартина и Фаулера почитай
1070 1706655
>>706503
Properties - неспринговый стандартный (и морально устаревший, но еще дышит) джава класс для хранения данных в виде "ключ = значение", типа современного интерфейса Map. Позволяет не только хранить в памяти, но и сохранять/загружать с диска/на диск эти данные. Файлы, предназначенные для использования данным классом, обычно имеют расширение .properties. В спринге такие файлы используются например в аннотациях @PropertySource, @ConfigurationProperties, а в спрингбуте есть дефолтный файл application.properties. Ну вот по выделенным словам и можешь гуглить.
image.png80 Кб, 225x225
БЛЯ, ДЕРЖИ ЖАБУ Canteen 1071 1706659
1072 1706667
>>706659
Жаба позорная.
1073 1707313

>открываю linkedin


>пишу relocation software engineer


>индусы и diversity в описании компании


>2 звездочки в glassdoor


помогите я застрял в росии
1074 1707432
>>706655
это же оно?
Снимок экрана 2020-05-29 в 21.54.01.png294 Кб, 1092x1100
1075 1707435
>>707432
скрин забыл
image.png532 Кб, 640x430
1076 1707476
когда перекат?
1077 1707490
>>707476
еще предыдущий тред не утонул
1078 1707559
>>707490
Треды теперь реже тонут, мвп сделали бесконечным.
1079 1707597
какое же говно java , начал учить, плюнул на это говно и перешел в котлин
1080 1707696
>>707597
Плюнул тебе в ебало
1081 1707704
>>707435
Да, ресурс-бандлы работают на проперти файлах. Но этот класс можно использовать и напрямую:
Properties properties = new Properties();
properties.load(inputStream);
1082 1707784
>>707597
держи в курсе
1083 1707871
Чуваки,очередной ретардский вопрос,вообще есть нормальные курсы по жаве или курсы онли бабки содрать и максимум рассказать про ооп?
1084 1708033
Иду по Хорстману, копаюсь в исходниках, приложенных к книжке и забываю что и как делается, что было 100 страниц назад. А часть не очень могу понять без практики.
Где задачки подрочить, чтобы с проверкой и с разделением по темам? Ну и чтоб комменты были. На кодварсе как то нет разделения. На степике очень мало заданий. Думаю закинуть 6к на год жабараша, правда говорят там даже лямбд нету.
1085 1708060
>>707313
В гуголь зааплайся.
1086 1708225
Насколько актуален сейчас сабж?
1087 1708520
>>708225
Если хочешь сидеть в большой конторе и копаться в миллионах строк кода, написанных задолго до твоего прихода в айти, то можешь вкатываться, а иначе лучше что-то похайповей.
image.png5 Кб, 346x69
1088 1708556
>>708225
Вообще не актуален, мертвее только Perl.
1089 1708816
>>708033
хайперскилл мб хз
download.jpg3 Кб, 128x160
1090 1708854
анон начал читать книгу "СПРИНГ В ДЕЙСТВИИ" но только сейчас допер что там нет ничего о анотациях и вообще там все вокруг xml пока. стоит продолжать читать или есть более современые аналоги где мне и за анотации пояснят?
1091 1708863
>>708854
или пробовать читать документацию на англиском https://docs.spring.io/spring-framework/docs/4.2.x/spring-framework-reference/html/
просто там ничего не понятно и еще и на англиском
1092 1709028
>>708816
Вчера в комментах на степике нашел их.
https://hyperskill.org/knowledge-map
Буду дрочить пока. Надеюсь мой околонулевой инглишь не помешает.
1093 1709045
>>709028
Инглиш там очень легкий. Но мне кажется странным, что после изучения джавы они начинают тебя учить скале.
1094 1709057
>>709045
А что странного? Скала же jvm язык. Не нужна скала - не идешь до этого уровня. Я смотрел интервью скалиста и он вроде говорил, что для скалы нужно знать основы джавы.
1095 1709119
>>709045
Всё хорошее из скалы рано или поздно добавят в жабу, какая разница на чём учить общие концепты? Обмажешься там мапами флетмапами и потом Stream зайдёт на ура.
Также и с типами, акторами, иммутабельностью и прочими футурами.
1096 1709144
>>709057
Котлин там отдельным языком. А скала в роадмапе джавы.
1097 1709217
>>709144
Так это сайт жидбрейнс. Поэтому котик и отдельно.
1098 1709884
Как практиковать кор джаву? Какой вообще пет проект можно на ней придумать?
1099 1709890
>>709884
Особого смысла задрачивать кор нет, это всё используется при реальной необходимости, а не просто так.
Но можно, например, написать на сырых сокетах свой недоHTTP-сервер или недоСУБД.
sage 1100 1710001

>>1709946


>>1709948


Все, кто не осилил виртуальные клавиатуры и пишет транслитом - долбоёбы.
1101 1710295
Недавно осознал, что совсем забыл io-стримы (который байтовые и символьные). Ни одного класса не помню точно. Потратил дохрена времени, чтобы вручную считать файл целиком из ресурсов. Запарился.
7 лет опыта
jfc1101.gif46 Кб, 502x703
1102 1710309
Хочу простые и понятные FILE/fopen/fprintf/fscanf из сишки вместо пикрила.
1103 1710324
>>710309
Да тут половиной классов никто не пользуется, если не больше.
1104 1710360
>>710309

>fopen/fprintf/fscanf


ахуеть просто и понятно
гамна пожуй
1105 1710374
Напоминание
Кто хочет тесты по джаве пройти на сайте quizful у нас есть коллективный фейкоакк для треда
JavaDaun
2ch
1106 1710384
>>710360
Что тебе там не понятно? Для этого спинного мозга достаточно.
1107 1710387
>>710384
Щас бы сравнивать божественные названия типа Buffered Input Stream, где все написано человеческим языком для людей, с fopen, которое придумывал какой-то скрипт-кидди, который буквы экономил.
1108 1710389
>>710360

>fopen


RandomAccessFile же. Тоже r rw режим выставляешь. Все есть в древних классах.
1109 1710439
>>710387
Это всё легаси, в сишке действительно экономили на названиях из-за каких-то ограничений, не помню уже каких
15864139688350.mp45,8 Мб, mp4,
576x720, 0:51
1110 1710482
Посоны, 10 лет работал обычный Java SE-блядком. Ну всякое там пилил на Swing-e для десктопа. Иногда hiberanate и всякие фреймворки юзал, но в основном всё десктопное.

Вот решил искать новую работку, а везде Java Fullstack Developer. Spring/Angular/Java Script. Я весь этот веб-сегмент знаю поверсносто и вкатываться особого желания нет.

Но как-то выходит так что вся работа на рынке примерно в таком ключе сейчас и есть. Я как-то не так искал? Или сейчас альтернативы особо и нету? Просто немного "не моё это". Ну никогда я не любил особо Апач настраивать и всякие веб-приложения пилить. Неужто все остальное мертво?

Вообщем я думаю:
1) Начать всё это учить чтоб вкатиться как Fullstack Dev
2) Стоять на своём, и искать работу Java SE Destktop кодер

Как думаете?
1111 1710508
>>710482
Твои вкусы весьма специфичны... больной ублюдок))).
За последнее время я только одну серьезную высокооплачиваемую позицию для десктопов видел: ребята пишут софт - "сорт-оф-автоматизатор/автокликер" - по скриншотам экрана распознает объекты и кликает куда надо и другие штуки выполняет, в реалтайме само собой. Казалось бы зачем, когда есть Сикули. Но может они его авторы, я не интересовался особо. Зато я читал их тестовое задание: нужно по набору скриншотов покерного стола определять какие карты на столе и их области/координаты.
В общем, ниша у тебя действительно очень узкая. На Java сейчас пишут именно бекэнд. Не фулстэк, прошу заметить, можно найти позицию именно чистого бекэндщика, без JS и прочих ангуляров. В основном это и есть SE, только без свинга, ну и чучуть добавить EE, в основном это сервлеты и JPA, который ты вроде говоришь уже знаешь.
Самое простое для тебя - потратить 2-4 недели на книжку по спрингу и искать позицию на бекэнд, либо продолжай искать десктоп, но их прям очень мало.
1112 1710514
>>710439
Вот и не суйся со своим легаси в наш тред.
2560px-Unabomberbomb.jpg1,2 Мб, 2560x1547
1113 1710516
>>710508
1. А... ну тоесть мне не показалось. Таких позиций правда мало? Я думал может я гуглил где-то не там. Я не из рахи, так-то. Ввожу просто java в поиск вакансий, и там 100 объявлений Fullstack.

2. Backend это писать обычную серверную логику. Ну типа там начать транзакцию, что-то куда-то записать , роллбекнуться итп? Ну это я умею и собвенно у нас десктоп с таким примерно работал. Просто бекендом это никто не называл. Но вообще-то всем сейчас вроде нужен Fullstack. Я так понимаю эти пидоры хотят меня заставить верстать.

0. Да не вкусы у меня. Просто я всегда... ну с неким пренебрежением относился к веб-программированию в целом. Ну я с него начинал php+flash но потом быстро перекатился в обычное. Но ради бабок могу и CSS сверстать, хуле я не гордый. Или зазубрить какой-нибудь Spring.

Тоесть я правильн понимаю что java в 2020ом году почти что равнозначна вебразработки на Spring Framework? Никаких других ниш особо и нет чтоли?
1114 1710530
>>710514
Иронично.
1115 1710541
>>710516

>1


Да, не показалось. Я не знаю где ты сейчас работаешь, что вы там делаете на свинге, но в целом по рынку GUI на Java сейчас это сплошь веб-странички.

>2


Да, вытащить из очереди на RabbitMQ, преобразовать как-то, записать в бд - это бекэнд. Вытащить из бд, отдать юзеру - это бекэнд. Только не на форму, а в браузер. Вот я и думаю что ты с таким примерно уже работал, поэтому нужно только современную обвязку изучить.

Кстати Spring Framework это многоцелевой фреймворк, а не веб-фреймворк. Ты и свинговые приложения, и консольные на нем тоже можешь лепить. Попробуй, это удобно. Большинство позиций сейчас да, требуют спринг. А те кто не требуют пишут на чистом EE для какого-нибудь громоздкого аппликейшн сервера. Есть несколько фреймворков поменьше, например, от создателя Hibernate там какой-то есть, но им всем не тягаться со спрингом, и глубоко их учить смысла нет. А спринг это вообще сборище различных проектов: хибернейт, валидатор, джексон, сиджилиб, логбэк... Ты наверняка с какими-то работал, и вкатиться будет легче.
1116 1710546
>>710516

>java в 2020ом году почти что равнозначна вебразработки на Spring Framework


Я в дс почти ничего другого не видел. Один раз только встретилась какая-то контора, которая пилила какой-то анализатор кода или типо того, там спринга не было.
1117 1710549
>>710541
>>710546
Спасибо за разъяснение. Короче не показалось. И особо на другие вакансии расчитывать мне не стоит.

Всё таки как-то странно всё это. Java что, стала серверным языком в итоге, навроде PHO. Лол.

Эх... и как 10 лет прошло... даже не заметил. Вообще я никогда на яве работать особо не хотел, но просто место хорошее предложили. Даже и не знаю, стоит ли дальше с ней связываться. Я хоть с ней работал много, никогда всерьез становится java-программистом не собирался. даже и не знаю. Короче если становится то и правда надо начинать учить все эти angular/spring. Ну или уёбывать по добру по здорову (в юнити-гейдев).
1118 1710550
>>710549

> навроде PHO


PHP
1119 1710559
>>710549

>Java что, стала серверным языком в итоге


Именно так. Java апплеты из браузера выпилены давно, а на замену свингу пришел JavaFX, но особо не поменял ничего, вообще вакансий на него не видел ни разу. А вот на серверах Java очень хорошо зашла: надежна, предсказуема, кроссплатформенна. А еще Java есть в Андроиде, но надолго ли, это главный вопрос - после разбирательств за права гугол уже несколько лет там пилит свою отдельную ось-убийцу Андроида.
Хочешь продолжать заниматься десктопом - твой путь лежит в си шарп или дельфи (не шутка, там свои преимущества типа собственной библиотеки компонент). Если по ветке си шарпа пойти то преимущества следующие: очень похож на Java и тоже работает в managed-среде; можно говнокодить на юнити как ты хочешь. У серьезного десктопа есть еще третий путь - c++, но это для вката не подойдет, высокий порог.
1120 1710571
>>710559
Ах, точно. Android Dev это единственное что видел кроме backend/fullstack ваканский.

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

А на c# какие типичные вакансии? Там не только серверный код писать? Ну я где работал писал на яве некое подобие редактора векторной графики. Обычное десктопное приложение по сути. Ну оно умело PDFки для печати создавать и хранить данные в hibernate. Так как куча клиентов хотела удалённо работать. Ну обычное десктопное приложение-редкатор по сути. Неужто такое особо нигде сейчас не нужно? Может на шарпе это восстребовано?
1121 1710578
>>710482

>Стоять на своём, и искать работу Java SE Destktop кодер


Ну это вообще пушка.

>Начать всё это учить чтоб вкатиться как Fullstack Dev


Основы понимать нужно обязательно.
Фронт можно и не трогать особо. REST-хуест API-шку набрасать для для JS-макак, например, а дальше пускай сами веселятся со своим реактом.

>>710516

>java в 2020ом году почти что равнозначна вебразработки на Spring Framework?


Spring - это не только ценный мех вэбразработка. Spring - это в первую очередь DI, который оказался настолько удобным и популярным, что понаписали обвязку ко всему чему только можно. Шлёпнул @Component, вставил @Autowired. Лепота!

>Никаких других ниш особо и нет чтоли?


Почему же . Например, финансовый сектор (HFT, биржи), Big Data там всякая.
1122 1710581
>>710578

>@Component


и чо будет как в юнити MonoBehevior сразу, да?
1123 1710602
Придумали зачем-то лишнюю сущность DI, когда уже есть static. Какая разница, если сервисы не хранят данных и работают по сути как модули?
Плюс со статиком не нарвёшься на проблемы с циклическими зависимостями.
1124 1710630
>>710571

>>сайт для каких-то компаний? Вроде например заказа полётов, или какой-то веб-магазин или система документооборота. Тупо чтоб сайт работал и пользователи могли логинется и производить какие-то дейтвия вроде пополнения баланса?


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

>>Ну я где работал писал на яве некое подобие редактора векторной графики


>>Неужто такое особо нигде сейчас не нужно?


Сейчас все переносится в веб. Такая же прога - в онлайне будет востребована. Ничего не нужно устанавливать, легко обновлять легко монетизировать продавая доступ
1125 1710681
>>710602
Статики тестить сложно. Смена логики может все переебать и повалится 500 тестов, вместо 2-3. Что исправлять не понятно.

>>не нарвёшься на проблемы с циклическими зависимостями.


IDE тебе скажет о циклической зависимости, хотя спринг и с циклической зависимостью работать может.
1126 1710711
>>710578

>Spring - это в первую очередь DI


Я не согласен. Spring - это в первую очередь экосистема на все случаи жизни. Ради DI он нахуй не впёрся. Я лучше возьму какую-нибудь легковесную либку типа джуса, если мне нужен DI.
1127 1710763
>>710711
Исторически - в первую очередь DI. Остальное уже "само" наросло.

>Я лучше возьму


Бери. Всем похуй.
1128 1710775
>>710763

> Исторически


На это тоже всем похуй.
1129 1710799
1. Нахуй вы так вообще на DI дрочите? На случай если вдруг в вашем же приложении ВНЕЗАПНО надо будет декаплануть какой-то объект? Ну так когда понадобиться тогда и отцепите, хуле. Зачем заранее везде DI делать? Какой юз-кейс у всех этих танцев с DI?

2. DI этож просто замена зашитой переменной на ссылку, если простым языком. Лол, ради этого точно надо 10гб джарок в проект добавлять? Не проще тупо функции аргумент добавить, ради такой архи-сложной задачи?
1130 1710803
>>710799
Слишком толсто
1131 1710813
>>710803
бля, опять ютюб смотреть
1132 1710818
>>710799
Это такой же манямирок, как заранее делать все поля приватными и генерить к ним геттеры и сеттеры из веры "бля буду, там появится логика".
1133 1710973
>>710818
Ещё смешно, что при этом логика в геттерах и сеттерах - это bad practices
1134 1711291
>>710973
вот никогда не смогу понять, что за цирк с этим в джаве - нельзя напрямую к переменным обращаться, ибо аряяя приватность, но при этом никто никогда не делает логику в гет/сет методах. Нахуй тогда это всё нужно?
1135 1711299
Может есть у кого мурзилки по http-запросам, рест, соап и прочим полезным вещам в мире энтерпрайза? Я про всё это немного читал, трогал, но хочется более-менее нормально пройтись, мб есть книга а-ля "основы серверной разработки" хорошая?
1136 1711329
>>711291
Так не делай. Кто заставляет?
1137 1711331
>>711329
тимлид в щелку коммита заглядывает, спрашивает, что я ебанутый, что я там делаю. Посыпает все бины гет/сет методами, говорит "я так делаю, и ты так делай"
1138 1711332
>>711291
Куча библиотек/фреймворков смотрит именно на названия методов, ломать это поведение небезопасно. Но если обрабатывать данные сам, то мог бы и публик сделать, а хуй, не принято.

Зато можно делать методы без реальных полей и вычислять значения на лету.
1139 1711333
>>710799

>Не проще тупо функции аргумент добавить


Нет. Мне надо 10 бинов заинджектить. Пробрасывать 10 параметров не собираюсь.
1140 1711334
>>711331
Стань тим-лидом, хули.
1141 1711345
Не могу установить в нетбинс JavaFX,библиотеку скачал и добавил,но все равно выдает

Failed to automatically set-up a JavaFX Platform. Please go to Platform Manager, create a non-default Java SE platform, then go to the JavaFX tab, enable JavaFX and fill in the paths to valid JavaFX SDK and JavaFX Runtime. Note: JavaFX SDK can be downloaded from JavaFX website.

Че делать?
1142 1711346
>>711345
Скачать идею.
1143 1711350
>>711346
А если у меня платоническая любовь к нетбинсу?
1144 1711352
>>711350
Не пользуйся JavaFx.
1145 1711354
>>711352
Но мне в курсе сказали учить,без этого говна я не смогу получить сертификат
1146 1711355
>>711354
Тогда качай идею.
1147 1711356
>>711354
Ну или можем вместе на 15 вопросов по FX ответить и я забью на это дело и тебе котика скину
1148 1711357
>>711333
А аннотация чтоли как "find/replace" тупо по имени инджектит локальную переменную как ты в xml укажешь? Пробрасывать аргументы через 10 фунцкий я тоже не люблю.
1149 1711359
>>711356
Кидай сюда.
1150 1711360
>>711345
Ты дебил? Не можешь выполнить пошаговую инструкцию?
изображение.png128 Кб, 1366x768
1151 1711364
>>711359
Первые 5
1152 1711367
>>711360
Я выполнил,но что-то все равно идет не так
1153 1711399
>>711364
Что за звездные войны там?
1154 1711405
>>711399
Фанатский решейд второго котора,сам пока первый только устанавливаю
1155 1711406
>>711399
И последний сезон Войн Клонов
1157 1711518
>>711511
Ну если ты щелчок мыши как moved написал, то я не знаю. Прочти книжку гослинга по джаве 1.0.2 хотя бы.
1158 1711519
>>711511
Уже не надо,я наугад прокликал 15 из 15 лол
1159 1711521
>>711518
Друг,я там выставлял рандомные значения потому что тест не давал перелистнуть страницу пока я не проставлю ответы
1160 1711530
Решил вкатиться в джаву, чтобы пилить приложения на ведроид. До этого опыта кодинга не было. Сейчас прохожу онлайн-курс от Хельсинкского университета, выполнил за последние 2 дня 40 задач, рассчитанных на две недели, и меня не покидает ощущение, что я слишком тороплюсь и что стоило их реально на две недели растянуть. Но с другой стороны, сейчас там идут даунские задачи с условиями, циклами и методами. Как правильнее обучаться -- в форсированном темпе или всё разжёвывая по сто раз? Если у тебя есть остроумный ответ, либо переформулируй его в скучную, но конструктивную критику, либо прибереги его для своей мамки.
1161 1711536
>>711530
От бекграунда всё зависит же. Раз две недели на даунские задачи, то наверняка курс для тех, кто в кодинг как таковой вкатился недавно. Если уже кодил на чём-то, то долго сидеть на знакомых темах смысла нет.
1162 1711559
Подскажите, что делать говнокодеру.
Работал в компании около года по направлению Java/Spring. В момент начала "самоизоляции" и прочих прелестей компания сказала идти нахуй. Пошел собеседоваться, а меня на первом же почти послали, мол хуево отвечал. Вот и призадумался, почти год так или иначе пилил эти ваши spring-сервисы/репозитории/контроллеры, но базового знания самого спринга не чувствую (тот же DI вроде понимаю зачем, но необходимости на проектах в нем жуткой не видел). На собесах постоянно спрашивают что-то по многопоточке, в которой я тока теорию издали знаю, а вопросы там такие, будто я этот год тока многопоточкой и занимался.
По итогу хочется узнать, что должен знать jun/mid разраб, как именно тестить себя в навыках и что почитать (философия Java и Spring in Action читал) или пописать.
А казалось бы в ДС-2 найти работу прогером не так сложно...
1163 1711646
>>711519

>наугад прокликал


Сразу видно достойного погромиста
1164 1711705
>>711530
Читать заумные талмуды на 1000+ страниц жутко скучно, я когда вкатывался тоже задачки решал. Пытался решать сам, потом смотрел как надо, попутно гуглил всё, что не понимал. И по разному получалось, мог за день решить много, а потом начать гуглить одну и читать про что-то несколько дней.

>разжёвывая по сто раз


Я всегда вникаю в смысл до тех пор, пока полностью не пойму что и как делать надо. Не просто запоминаю алгоритм, а чтоб именно понять чё как и почему. Если надо то и 100 раз буду перечитывать.
Тебе как удобнее так и делай. Главное, чтоб не получилось, что вот это ты вроде понял, а чуть поменять условия и ты жидко дрищешь под себя.
1165 1711826
>>711357
Нихуя не понял что ты понаписал. Шлёпнул @Component на бин, а в нужном месте заинджектил в поле через @Autowired.
1166 1711840
Сап, программач. Есть проект на Java+Swing, где реализовано двоичное дерево+графическое представление.
Надо с использованием этого проекта описать метод, который строит двоичное дерево, в котором N полных уровней и на
каждом уровне i располагаются узлы, информационные части которых равны i.
Разумеется не бесплатно
кого заинтересовало - пишите в telegram @alexanderstud
1167 1711848
>>711826

>Autowired


За это пиздят ссаными тряпками в нормальных конторах.
1168 1711869
>>711848

>Нормальных


Это там, где джава 1.5?
1169 1711882
>>711869
Где хоть немного тестируют код, например.
1170 1711883
>>711869

> джава 1.5


Бля, я по приколу переключался на древние коммиты десятилетней давности, и там без спринга реально большинство классов с бизнес-логикой каждый раз создавались через new. А вместо ApplicationContext был огромный класс с кучей полей static, и они инициализировались при старте сервера вручную. Что там @Autowired - даже @EJB и @Inject не было.
1171 1711884
>>711882
Для этого есть AbstractTestNGSpringContextTests.
1172 1712058
Немного нестандартный вопрос, ибо я очень далек от разработки, и в основном админю сети. Можете на пальцах объяснить, зачем вы в работе (вероятно) используете (или можете использовать) PaaS платформы от Jelastic, AWS, Google Cloud Platform и подобных? Какие вы или ваши девопсы в облаках для себя разворачиваете сервера, инструменты и т.д? Я просто не совсем понимаю, вот есть джава разраб, он пишет код, зачем ему это всё и что он с этим делает?
1173 1712067
>>711882

>пуксреньк

1174 1712090
>>712058
Ты написал вэб приложение. Его надо сделать доступным пользователю. Твои действия?
Как ответишь, подумай что будешь делать, когда нагрузка пиково вырастет в сотни раз, т.к. маркетологи нагоняют трафик как могут.
1175 1712091
>>712058
Незачем, разраб всё на локалхосте разворачивает.
1176 1712183
>>710799

>Нахуй вы так вообще на DI дрочите? На случай если вдруг в вашем же приложении ВНЕЗАПНО надо будет декаплануть какой-то объект? Ну так когда понадобиться тогда и отцепите, хуле. Зачем заранее везде DI делать? Какой юз-кейс у всех этих танцев с DI?


Ну например, чтобы не протаскивать везде зависимости которые конкретному бину не нужны.

Например у тебя есть бин ЗалупаКонтроллер, который использует ЗалупаСервис, который использует ЗалупаДао. Если создавать зависимлсти внутри ЗалупаКонтроллер, то тебе надо будет передавать туда ДатаСорс только для того, чтобы он прокинул его в ЗалупаСервис, а тот в ЗалупаДао, а тот еще что-то там создал. И ЗалупаДао будет создан в нескольких экземплярах.

Можно заморочиться и сделать все кодом в майне, но тогда надо руками отслеживать все зависимости и порядок инициализации. Если бинов больше 10 - то будет не код, а каша. А если ты его захочешь что-то то вызывать на пост-инит, то веселье удваивается.
15784816290150.webm1,2 Мб, webm,
1168x908, 0:32
1177 1712412
>>712183

>Если создавать зависимлсти внутри ЗалупаКонтроллер, то тебе надо будет передавать туда ДатаСорс только для того


Мне лет 10 все интернеты прям кричали что это правильно. А нарушать инкапсуляцию сайд-эффектами плоохо. И вон как теперь запели.

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

Возможно DI это ответ на типовую задачу которая всех заебала в бекенде.
1178 1712505
Зачем писать mvn clean package, если при package предыдущие фазы цикла должны и так исполняться?
1179 1712512
>>712505
У клина отдельный lifecycle со своими фазами, и автоматически он не запустится, если не указан.
https://stackoverflow.com/questions/6018701/how-is-mvn-clean-install-different-from-mvn-install
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
1180 1712545
>>712512
Офигеть.
1181 1712592
>>712545
а ты шо думал? в сказку попал? мавен - это тест на минимально необходимый интеллект, чтобы работать на божественной жабе, в которой WHEN CODED WELL IT IS VERY FAST.
алсо
не юзаешь мавен - значит пидор
1182 1712653
>>712512
Опа, а я думал site вместе с deploy идет, спасибо.
1183 1712673
Стоит ли начинать с книжки "Думай в джаву" ака "Философия джавы"?
Актуальная ли там информация?
1184 1712713
тест
1185 1713068
>>712673
Да, там тысяча+ страниц отборной нудятины, ты её 100% дропнешь нахуй и одним вкатывальщиком станет меньше.
1186 1713141
>>712592
юзаю градл

актив
1187 1713149
>>713141
Он хуже.
1188 1713151
>>713149
Ну ясен хуй бля
1189 1713172
>>713151
Внатуре!
1190 1713765
Ребят, подскажите, есть ли инструменты, которые генерируют вызов конструктора/билдера со значениями из json? Пользуюсь инструментами для генерации POJO классов из Json, но есть ли возможность получить инстанс со значениями из этого json, не прибегая к ObjectMapper, а просто сгенерировать код, который будет создавать этот инстанс через конструкторы?
1192 1713819
>>713783
Ну я немного не то имел ввиду. Вот есть у меня класс @Value class Something { String description }, и есть Json {"description": "..."}, так вот, есть ли такая тулза, которая сгенерирует : var something = new Something("...");, на основании данного json? Естественно предполагаются очень большие json со списками и внутренними объектами.
1193 1713969
>>713819
В спринге всё автоматом маршалится в/из json.
1194 1714251
>>713969
Там jackson под капотом вроде.
1195 1714357
>>714251
Там чо поставишь то и будет
1196 1714358
>>713819
Jackson object mapper, gson.
1197 1714388
>>714357
Нет, в spring boot дефолтом он уже есть по-моему. Из <parent>
1198 1714439
>>714388
В спринг буте да.
1199 1714452
Наконец-то начали обсуждать спринг. Похоже, джава-тред снова стал нормальным.
1200 1714616
Я хочу на легаси проект. Чтоб еще все старое и винтажное вокруг было. Пузатые мониторы, белые Sun клавиатуры, сервера SPARC...
Office-Space.jpg65 Кб, 980x653
1201 1714651
>>714616
Ну а что, это хорошая стабильная работа.
image.jpg214 Кб, 600x800
1202 1714682
>>714616
Ну так расхоти.
image.png110 Кб, 529x544
1203 1714697
>>714682
Если бы не распад, сидели бы сейчас на коболе, бэкенд госплана писали.
1204 1714705
>>714697
Ну, как вариант, ещё могли быть ФОРТРАН и АЛГОЛ.
1205 1714820
Аноны, объясните, в чем соль использовать static final вместо просто final. И еще, в чем соль статичных методов, если метод априори один для всех объектов шаблона?
1206 1714830
>>714820
Статичные штуки общие для всех объектов класса. Поэтому их можно вызывать и без создания объекта, типа MyClass.myStaticMethod()
1207 1714897
>>714830
А поля static final лучше, чем просто final, потому что их не нужно инициализировать при каждом новом инстансе, а они получат значение при первом же обращении к этому классу в коде. Да?
Обращение к ним не берем, допустим они private.
1208 1715064
Как xml файл вида (пик1), преобразовать с помощью xslt преобразовать к след виду(пик2)
1209 1715080
1210 1715128
>>715064
Наверное, как-то так (если не так, то сорян, xslt впервые увидел 15 минут назад):

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<entries>
<xsl:for-each select="entries/entry">
<xsl:element name="entry">
<xsl:attribute name="field">
<xsl:value-of select="field" />
</xsl:attribute>
<xsl:apply-templates select="entries" />
</xsl:element>
</xsl:for-each>
</entries>
</xsl:template>
</xsl:stylesheet>
1211 1715129
А почему вы любите checked exceptions? Я думал с них плюются.
https://youtu.be/oNiOUiAS70w
1212 1715131
>>715129
Ты к кому обращаешься, скотина блядь?
1213 1715133
>>715131
К реальным девелоперам итт, а не к тебе, сыч мамкин.
1214 1715134
>>715133
Реальные девелоперы тут писали о любви к чекед эксепшенам? Нет? Вот и пошел нахуй.
1215 1715142
>>715129
Кто их любит? Их ненавидят ВСЕ. Давно поря задепрекейтить Exception и юзать RuntimeException. Хорошо хоть в котлине их нет.
1216 1715146
>>715142

> юзать RuntimeException.


Это грязный хак!!! И наследование от RE тоже.
image.png284 Кб, 394x393
1217 1715153
>>715146
Нужно наследоваться от Throwable
1218 1715155
>>715153
От Error.
1219 1715165
Как заставить это работать?
Integer b = 13;
b = Math.pow(b.DoubleValue(), 2.0).IntegerValue();
1220 1715169
>>715165
А, все, понял b = (int) Math.pow(b, 2);
Ну и каша с преобразованиями.
1221 1715178
>>715165

>b.DoubleValue(), 2.0).IntegerValue()


Прям как в джаве 1.0.2
1222 1715187
>>715165
Вот так:
Integer b = 169;
1223 1715193
>>715187
Integer b = new Integer("169");
1224 1715198
>>715193
Math.pow(b, 2) в таком случае не будет работать. Приходится тоже (int) добавлять.
1225 1715201
>>715193
>>715198
Тип все отличие в том, что вместо преобразования переменной в объект, он сразу создает объект? (Я новичок просто)
1226 1715209
>>715165

>.IntegerValue();


Где ты вообще это взял? Есть метод intValue у Integer. У тебя метод возвращает примитив double
1227 1715213
>>715209
Я и intValue() пробовал, присвоить значение получается только так, как сверху.
1228 1715216
>>715213
b = Double.valueOf(Math.pow(b.doubleValue(), 2.0)).intValue();
image.png1,3 Мб, 2179x1080
1229 1715328
Вон где ваша жаба используется.
1230 1715342
>>715328
Впервые за несколько месяцев открыл галерею ЛОРа, увидел этот скрин, зашёл сюда, и опять он. ШОК.
1231 1715532
Кому-нибудь удавалось в последние несколько месяцев джуном устроиться?удаленка или офис? Был ли опыт работы?
1232 1715548
Нужно много факаться со всем этим.
1233 1715555
>>715532
Удалось.
Опыта не было.
1234 1715638
>>715555
Были пет преокты какие-нибудь? И какую вилку предлагали в среднем?
1235 1715664
>>715638
В глаз. Ну или в попу раз, но это с джаваскриптом перепутали.
1236 1715690
Какую блибу написать...
1237 1715701
>>715690
BIGDECIMAL
CkzJyAnW.jpeg24 Кб, 256x256
1239 1715711
Привет, джависты. Я уже кучу раз слышал мифы про то, что джава - это медленно, джава - это куча оперативы (всё выделяется на куче, типа), жвм - это супермедленные паузы для сборки мусора (типа, в го они длятся миллисекунды, а в жвм чуть ли не секунды) и тд и тп.
Можете пруфами развенчать эти мифы? Хочется разобраться для себя, действительно ли джава тормозная, будет ли тормознее скала или кложурь (потому что жвм же) и так далее. Что годного можно почитать на эту тему?
1241 1715715
1242 1715892
>>715711
Джава - это не медленно. Медленный только старт жвм. Памяти конечно нужно больше. Паузы зависят от сборщика мусора. Современные сборщики быстрые. Есть такие, у которых вообще пауз нет.
Пруфов не будет, ищи сам.
1243 1715917
Вайтишников в джаву берут или только с высшим образованием?
1244 1715922
>>715917
Лучше, когда оно есть.
Но меня взяли, когда я вуз ещё не окончил.
1245 1715931
>>715922
Ты пришел и сказал, что еще учишься?
1246 1715947
>>715931
Вроде того. Но это уже последний курс был.
1247 1715983
>>715947
Да мне кажется и на втором на стажировку возьмут.
1248 1715996
>>715983
Скорее на третьем.
1249 1716022
>>715638
Пет-проекты были, но на них всем похуй. Делал тестовое, сделал. На собесе решал задачки, решил.
Вилку дали без дырки, а я и не против.
Ещё и квадрипл, ух бля.
1250 1716027
>>715711
Тебе не похуй на скорость? Почему рыночку похуй, а тебе нет?
Scala точно тормознее.
1251 1716049
>>716027
Неиронку начал писать - ахуел от того, как не похуй. Иногда скачиваю новые приложения в плей маркете, элементарно фризят на пустом месте на моем OnePlus6, и просто на них забиваю, так как скляпанное за пол часа макаками говно жрать не особо хочется. Хотя не факт, что его на жабе писали, но такой подход не нравится, лично сам хотел бы писать качественный код, а не курица лапой.
1252 1716056
>>716049
Да это зумеры на котлине сваяли.
1253 1716070
>>716049
Так юзай правильные инструменты.
Или ты берёшь ложку и удивляешься, что хлеб хуёво режется? Жаба это энтерпрайз, банкам похуй на твои нейронки, тут легаси говно и обратная совместимость в приоритете.
1254 1717003
Давайте обсудим что-нибудь.
1255 1717022
>>717003
Давайте, какую мне либу написать?
1256 1717040
>>717003
XML > аннотации.
1257 1717053
>>717040
Да, не надо перекомпилировать.
1258 1717056
>>717053
Прям как пхп.
1259 1717333
Как же я ненавижу яву! Сам язык-то ничего, как сишарп. Но вот все что вокруг него - просто пиздец. Начиная с установки, где тебе надо скачать нужную ЖДК, прописать пути и прочее. И так всю дорогу. Хочу сделать на ДжаваФХ приложение. А вот идите нахуй. С ява 11 мы ее убрали из ждк. Скачайте отдельно. Скачал. Запускаю. Не работает какой-то там модуль пакеты куда-то не экспортирует. Добавьте файл ручками с описанием модулей. Добавил. Снова не работает, теперь уже другая хуйня. В гугле пусто. Идите нахуй, короче.
1260 1717348
Ебаный рот этого казино, блядь. Ну почему это так сложно? Почему я не могу Хелловролд запустить? Что это за хуета? Я первый раз вижу эти модули. Почему? Почему?ПОчему?
Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules spring.jcl and commons.logging export package org.apache.commons.logging.impl to module j2objc.annotations
15170881429440.png284 Кб, 403x403
1261 1717378
>>717348
ИСПОЛЬЗУЕТ СТОРОННЮЮ ПОПЕН-СОРС ПАРАШУ
@
НО ЖАЛУЕТСЯ КАК НА БАГИ САМОЙ ЖАБЫ.
1262 1717388
>>717378
Почему не работает?
1263 1717392
>>717333
Лол, у джавы если что одна из лучших экосистем, если не лучшая.
1264 1717396
>>717392
Ну и что у меня не работает?
1265 1717398
>>717333
Десктоп не нужен.
1266 1717403
>>717396
Не знаю. Maven используй https://openjfx.io/openjfx-docs/#maven
1267 1717406
>>717403

>Maven используй


Это шутка щас была?
Кто-то на полном серьёзе не использует его в 2020?
Может ещё и код не в среде пишет?
1268 1717412
>>717403
Так я его и использую.
1269 1717413
>>717406
Слишком непохипстерски, дитё?
1270 1717417
>>717406
ну вимоклоуны, например, в среде не пишут, у них консольное лялиховое говно прямо из восьмидесятых.
1271 1717431
Вы лучше скажите что не работает.
Добавил зависимости в мавен, добавил этот файл module-info.java. Почему эта ошибка?
java.lang.module.ResolutionException: Modules spring.jcl and commons.logging export package org.apache.commons.logging.impl to module j2objc.annotations

Без файла modul-info.java работает.
1272 1717441
>>717333
Мавеном бы подрубил фх и не мучался в зад.
1273 1717442
Этот шизоид ещё в /b тред создал, лол
https://2ch.hk/b/res/222196583.html (М)
1274 1717450
>>717442

>Хочешь сделать ГУИ. Добавляешь зависимости в мавен. Не работает иди нахуй. Гуглишь. Оказывается что-то там куда-то не может получить доступ. Создай module-info.java и пропиши там эти модули JavaFX


Пиздабол.
1275 1717455
А ведь я начинаю понимать, что мавен - это такой тест на интеллект, чтобы войти в жвм-мирок.
>>712592
1276 1717470
>>717455
Тест на интеллект уровня использования вилки с ложкой, ага.
1277 1717507
>>717348
Запускай приложение с classpath а не модулями.
1278 1717558
>>717431

>Добавил (...) не работает


>Без файла (...) работает


Я с модулями не работал, пусть другие подсказывают, но тут смело можно предположить, что либо внутри файла что-то некорректно прописано, либо файл не там лежит где нужно. Найди еще примеры таких файлов, сравни со своим. Значение может иметь любая запятая, точка, скобка - внимательно все сравни. Отдельное внимание удели путям на диске или именам пакетов, может там откуда ты файл копируешь написано com.example.TestClass, а ты выебнулся и у себя создал ru.vasya.TestClass.
1279 1717559
>>717558
ааа сука ниче не работает без пердолинга
1280 1717565
>>717470
Не надо тут, мавен сложнее всяких pip, make и npm с вебпаками. но не CMake
1281 1717567
>>717559
Это не пердолинг, а первоначальная настройка энвайронмента. Именно для этого был придуман мавен с архитипами. Тут проблема скорее в том что JavaFX это мертворожденное поделие и никому не надо его поддерживать или что-то на нем писать, т.е. коммьюнити чисто JavaFX очень мало тебе крупно повезет, если ты найдешь специалиста здесь; а если он еще и ответит тебе - ваще джекпот.
1282 1717568
>>717565

>pip, make и npm


Внутри они наверняка сложнее мавена. Хотя мавен внутри наверно охуеть вообще какой сложный.
1283 1717569
>>717567
аряя ваша джава легаси говно
1284 1717574
>>717565
Что там сложного? Нужные депенденси в репозиториях искать сложно?
ctrl c + ctrl v нажимать?
Или ты вайтишник и никогда XML и подобные форматы не видел?
1285 1717721
>>717450
Нет ты. Я просто добавил в пом две зависимости для javaFX, наивно полагая, что этого будет достаточно. А вот хуй на воротник:

Caused by: java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x38975aa9) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x38975aa9
at com.sun.javafx.fxml.FXMLLoaderHelper.<clinit>(FXMLLoaderHelper.java:38)
at javafx.fxml.FXMLLoader.<clinit>(FXMLLoader.java:2056)
at GUI.Main.start(Main.java:30)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)

Гуглинг показал, что надо добавить файл modul-info.java. Я добавил, но после того стала вылетать ошибка с которой я начал.
12801753491.jpg126 Кб, 1280x1024
1286 1717739
>>668733 (OP)
Поясните пожалуйста для чего используются интерфейсы. Я вроде понимаю (для того чтобы в них писать универсальные методы?) а вроде и нет.
1287 1717752
>>717739
Не понимаешь.
1288 1717753
>>717721

>Гуглинг показал, что надо добавить файл modul-info.java. Я добавил, но после того стала вылетать ошибка с которой я начал.


Пиздабол.
1289 1717756
>>717752
Охуенно. Ну для этого и задаю вопрос.
1290 1717758
>>717756
В следующий раз задавай вопрос без аниме аватарки.
1291 1717759
>>717758
Запостить как ты дрочишь перед компом вместо этого?
1292 1717765
>>717759
Аче)
1293 1717787
>>717765
А то что у тебя хуй кривой во че
1295 1717796
>>717739
Это одна из реализаций полиморфизма. Допустим, ты хочешь, чтобы у тебя какой-то метод принимал разные типы и с ними работал, и с этими типами ты работаешь через их методы. И вместо того, чтобы писать десяток копий одного метода с одинаковым телом, но разными типами параметров, ты указываешь один интерфейс, в котором указано, какие методы должен реализовывать тип. Ну и передаёшь.
1296 1717797
>>717796
Зачем для этого интерфейс если разные типы вроде перегрузкой разрулить вариант?
1297 1717800
>>717797
Чтобы написать только один метод вместо нескольких одинаковых. К тому же с перегрузкой придётся для каждого нового типа этот метод писать заново.
1298 1717810
>>717788
Если я тебе покажу pom-ник и main проекта на фуфыксе без модуле-инфо ты признаешь, что ты лох итт?
1299 1717811
Модули не нужны.
1300 1717812
>>717800
Бобра
1301 1717815
>>717811
oO Веское заявление без аргументов и доказательств. Но интригующе.
1302 1717819
>>717815
Какие тут аргументы и доказательства? Я их не осилил, значит, не нужны.
Я не тот анон с javafx
1303 1717827
>>717810
Ну покажи.
1304 1717840
>>717819
Зачем вообще модули? Я почти готов согласиться.
Снимок экрана 2020-06-09 в 18.35.33.png380 Кб, 2886x1038
1305 1717842
анон помоги я хуй пойму в чем ошибка то в коде ее нет походу ультимат версия выебывается шо делать я подключил БД и тут.....
1307 1717849
>>717843
Я не шарю но по английски написано что класс Employee не замапен.Not mapped. Мапай его.
1308 1717866
>>717843
Наверняка в hibernate.cfg.xml что-то не так.
1309 1717887
>>717827
https://pastebin.com/JGh2AJeW
fxml-ка в ресурсах
Снимок экрана 2020-06-09 в 19.08.57.png156 Кб, 1680x530
1310 1717893
>>717866
нет
100% что нет
https://stackoverflow.com/questions/51462345/hibernate-cannot-resolve-table-in-entity-class/51462562
я вот что нашел но вроде у меня все так но все равно то же дерьмо
Снимок экрана 2020-06-09 в 19.11.38.png691 Кб, 2564x1878
1311 1717899
1312 1717905
>>717811
Так, окей, я немного потыкал модули. Возможно, нужны. Хз правда, как они уживутся с мавеном, у которого свои модули, да и версионирования как в мавене нет.

>>717840
Можно разбить код большого приложения на несколько взаимозависимых модулей, у каждого наружу будет торчать api, внутри будет impl. Код получается более структурированный и менее связанный. Своего рода инкапсуляция. Будет несколько небольших жарников/варников, которые можно деплоить отдельно, вместо одного большого, Но это всё в теории.
1313 1717910
>>717887
И что? Я скопировал и не работает нихуя.
Caused by: java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x17f6e27d) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x17f6e27d

Что ты на это скажешь?
Безымянdddный.png94 Кб, 2290x612
1314 1717918
>>717910
Чтобы ты не подумал, что я пиздабол. Просто руки нахуй опускаются.
1315 1717922
>>717918
JAVA_HOME выставлена в терминале?
1316 1717924
>>717918
Сук да возьми ты 8 джаву, что тебе из 11 нужно?
1317 1717925
>>717922
Ясен хуй. Только JavaFXне работает.
1318 1717926
>>717924
Отлично. Все для людей нахуй. Никакого пердолинга. Не работает, значит тебе не надо.
1319 1717940
>>717926
Какя фича из 11 нужна?
8 официально поддерживается.
1320 1717942
Сейчас бы брать говноfx вместо божественного Swing.
1321 1717943
>>717918
А шо у тебя ждк 13? Я тебе для 11 показывал.
1322 1717945
>>717942
В свинге нет css
1323 1717949
>>717945
Не нужен.
1324 1717952
>>717943
А что есть разница для 11?
1325 1717956
>>717910
Ты какой командой запускаешь?
1326 1717972
>>717918
Я понял эту ошибку. Ты как дурак просто main запускаешь. До свидания.
1327 1717975
>>717956
Из idea зеленым блять треуголньиком
1328 1717977
>>717975
Ты дурак. Официально.
1329 1717978
>>717972
Что значит как дурак? А как надо? Всегда так запускал.
1330 1717979
>>717977
С хуев ли? ВСегда работало
1331 1717980
>>717979
>>717978
Ну раз работало, значит сделай как было.
1332 1717982
>>717980
Блять. Ты заебал. Модешь нормально сказать что к чему? Работало с пусто сценой. Стоило добавить загрузку из fxml и перестало. Перестало, потому что там стал вызываться этот ебаный FXMLloader из-за которого надо стало добавлять этот modul-info.java из-за которого все сломалось.
1333 1717983
>>717982
mvn javafx:compile && mvn javafx:run
1334 1717984
>>717982
А модули вообще удали. Я не знаю, что ты там нахуевертил, хоть заново проект создай на мавене без них.
1335 1717987
>>717983
Ну бляяяяяя...
[ERROR] Could not find goal 'compile' in plugin org.openjfx:javafx-maven-plugin:0.0.4 among available goals jlink, run -> [Help 1]

Ну почему все так сложно. Почему все через жопу. Почему ничего не работает?
1336 1717988
>>717984
У менч нету никаких модулей. Я еще раз говорю. Этот модуль FXMLLoader не может получить доступ к Контрол. Это не работает без файла modul-info.java.
Я создавал новый проект, все то же.
1337 1717989
>>717987

>:0.0.4


Анахуй ты на 0.0.4 поменял? Я тебе для 0.0.3 показывал! Куда ручонками лезешь своими? в 0.0.4 надо
mvn clean //вытереть жопу
mvn compile && mvn javafx:run
1338 1717991
>>717989
Ну вернул 003, перезапустил и... сосу хуи

[ERROR] Failed to execute goal org.openjfx:javafx-maven-plugin:0.0.3:compile (default-cli) on project Diplom: Execution default-cli of goal org.openjfx:javafx-maven-plugin:0.0.3:compile
failed: Unable to load the mojo 'compile' in the plugin 'org.openjfx:javafx-maven-plugin:0.0.3' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.Componen
tLookupException: org/openjfx/JavaFXCompileMojo has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes
class file versions up to 52.0
1339 1718000
>>717991
Там в конце написано, что версия джавы не та.
Ты весь день не мог прочесть, что надо запускать плагином, а не просто тыкать main
Не нужен тебе дииплом.
1340 1718008
>>718000
Блять, это не мой диплом. Не спрашивай почему так называется. Но, во-первых,все работало нормально и через запуск через идею.
Во-вторых, что значит версия не та? какого хуя?
1341 1718018
>>718008
Загугли последний эксепшн.
1342 1718032
>>718018
Теперь вот это дерьмо:
Ну за что?! Почему?! Ненавижу, суука!

Caused by: java.lang.NullPointerException: Location is required.
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3230)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3194)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3163)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3136)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3113)
at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3106)
at GUI.Main.start(Main.java:30)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
... 1 more
1343 1718033
В ПИЗДУ НАХУЙ! ЦЕЛЫЙ ДЕНЬ ПЫТАЮСЬ ХЕЛЛОВОРД ЗАПУСТИТЬ.
1344 1718035
>>718033
Если долго мучиться - что-нибудь получится.
1345 1718036
>>718033
Лох.
мимо-запустил 250 хеллоу ворлдов сегодня
1346 1718037
>>717787
Иче?
1347 1718040
>>717905

>Можно разбить код большого приложения на несколько взаимозависимых модулей, у каждого наружу будет торчать api, внутри будет impl. Код получается более структурированный и менее связанный. Своего рода инкапсуляция. Будет несколько небольших жарников/варников, которые можно деплоить отдельно, вместо одного большого, Но это всё в теории.


Не неси хуйни, тут речь про Jigsaw. Который хуйня. Но ничего сложного там нет.
1348 1718045
Там это, предыдущий утонул. Вы обещали перекатить.
1349 1718047
Подскажите наиболее RESTful вариант маппинга операций с ресурсами в URL. Понятно, что это должно выражаться HTTP методами, но для чего-то сложнее CRUD их не хватает.
1350 1718055
1351 1718060
>>718047
Тупо юзай POST в остальных случаях.
1352 1718084
Нормально ли обрабатывать данные из бд в запросах или правильнее брать онли роу данные и обрабатывать их в жабьем коде? Ну, например, если в бд лежит массив и мне надо найти минимальный элемент в нем. Правильнее будет написать запрос или обработать в коде?
1353 1718087
>>718084
Правильнее будет то, что быстрее и лучше ложится в рамки архитектуры.
1354 1718090
>>718087
Ну, мне кажется, что бд должна лишь хранить сырые данные, а обрабатывать их представление только в коде, чтобы не расплющивать логику.
1355 1718092
>>718084
Нормально, если юзать самые общие оконные/агрегатные функции, встроенные в СУБД. Плохо - когда начинаешь писать хранимые процедуры с бизнес-логикой.
1356 1718095
>>718092
Так и думал, спасибо.
1357 1718106
А бд транзакции знать нужно?
1358 1718113
>>718106
Да. Принципы ACID, уровни изоляции, всё такое. Ещё нужно знать особенности спрингового @Transactional.
1359 1718172
>>718060
Запили пример эндпойнта, который ты бы использовал для клонирования сущности.
1360 1718195
>>718172
я-не-он-я-просто-мимо-крокодил

POST /api/users/123/clone
Location: https://example.com/api/users/777

Как уже сказали выше, для остальных операций оспользуй post. Location это хедер в ответе, поставляется всегда когда ты создаешь новый ресурс, даже с обычным "POST /users" должен идти, т.к. ты создаешь нового юзера. И там обычно абсолютный урл принято ставить.

Почему выбрали именно post спросишь ты? И тут тебе нужно познакомиться с термином idempotent. Метод является идемпотентным, если его вызов несколько раз подряд не меняет состояния на сервере после выполнения. Именно на сервере, потому что многие спорят, является ли метод DELETE идемпотентным, ведь он возвращает разные ответы. Да, является. Да, несмотря на то, что первый вызов "DELETE /users/123" вернет 200 OK, а последующие - 404 NOT_FOUND. Состояние на сервере не изменилось - ресурс был удален еще в первый вызов. Так воот, метод post - единственный метод, который не является идемпотентным, т.е. не является "безопасным" для множественного вызова. И его нельзя кешировать, тогда как идемпотентные в принципе можно, но это обычно только для гетов делают и то в зависимости от того сколько ресурс должен быть валиден, секунды там или дни, в общем, в зависимости от бизнес логики уже.
1362 1718210
>>718203

>@PostMapping("/api/myentity/{id}/clone")


Урл прям как у меня в >>718195
А вот локейшена нет, и ответ OK, а не CREATED. Садись, четверка.
1363 1718229
>>718210
Отправил до того, как твой пост увидел.

Локейшн не нужен.
Сомнительные HTTP-коды тоже не нужны. И так же понятно, что операция выполнена успешно.
Response 200 OK {"success": false, "error": "not found"}
1364 1718255
>>718229

>Сомнительные HTTP-коды не нужны


Тут действительно стандарта нет, есть две схемы - использовать http коды или обходиться кодами только в пейлоаде. Выполнил по фасту квик сюрвей, результаты:
1) тумблр: 201 Created и другие коды
2) слак: похоже, везде 200 и коды только в пейлоаде
3) твиттер: 201 нет, но какое разнообразие кодов ошибок

>Локейшн не нужен


Не нужен. Но так принято. Почти всегда в теле будет нужный ресурс с его id. Но если тело просто не нужно, например, вебстраница тут же сделает редирект, то можно одним локейшеном обойтись. Но в наше время уже не принято экономить на теле ресурса, несолидно.
1365 1718447
>>718195

>Location: https://example.com/api/users/777


Спасибо, хороший момент.
1366 1719013
Предыдущий утонул.
1367 1719051
Почему Java не банит переопределение статических методов?
1368 1719067
>>719051
Ты не можешь переопределить статический метод, у тебя каша в голове.
Переопределение - это обязательно новый инстанс метод. Инстанс метод переопределяет другой инстанс метод. Но инстанс метод не переопределяет статик метод (пикрил 1).
А то, что ты наверняка имелл ввиду под "переопределением статического метода" - объявление нового статического метода с тем же именем в потомке, не является переопределением, не использует полиморфизм (пикрил 2), и вполне безопасно и допустимо.
1369 1719076
>>719051
Когда уже в джаве задепрекейтят наследование классов, чтобы не нужно было учить хуйню наподобие этой чисто ради собесов?
1370 1719090
>>719076

>когда уже джаву задепрекейтят

1371 1719174
>>719076
Надо вообще убрать к хуям ООП, скобки, code conventions, чтобы было просто полотно кода через ; и всё с маленькой буквы.
И в одном файле ещё.
1372 1719191
>>719067
Хотел узнать, зачем это нужно. Переопределенные методы можно вызывать ссылкой на базовый класс. Статические же будут вызываться в таком случае всегда из базового класса. Получается, просто для красоты сделано, а какой-нибуть недо-макакер вроде меня может допустить ошибку на пустом месте. Хотя, java в этом плане все равно лучше c++, не делается 1 действие 10 разными способами.
1373 1719214
>>719191
Статические методы не положено вызывать на объекте класса, это bad, terrible practice. На пикрил 2 в >>719067 я показал что так можно сделать и будет вызван метод типа ссылки, а не типа реального объекта. Но так делать никогда не нужно. Статические методы всегда нужно вызывать на самом классе, тогда и не будет путаницы: Def.a(), Abc.a().
Сравни строки 1597 и 1598 на пикриле 1. Результат будет один и тот же, но семантически выражение в 97 не имеет смысла: нельзя получить абсолютную дату (данным методом) из относительной текущей. Поэтому статические методы и вызываются на классе и принадлежат классу а не объекту - они делают какие-то общие штуки, не относящиеся к конкретному инстансу класса. А вводить новый статический метод в классе-потомке может быть нужно чтобы переопределить логику старого метода, напр. пикрил 2.
1374 1719232
>>719214
Ок, спасибо за пояснение.
1375 1719236
open-j9 > hotspot
Все согласны?
1376 1719240
>>719236
Нет джавы кроме хотспота!
1377 1719262
>>719214
Ну это перекрытие метода, а не оверрайд.
1378 1719446
>>719013
карантин пока не сняли, так что держимся
1379 1719498
Serialization что-то я никогда не трогал в джаве.
Его часто используют ирл в проектах?
1380 1719528
>>719498
Сериализуют обычно в JSON или XML. На ObjectOutputStream и подобное всем пох, потому что он языкозависим.
1381 1719717
>>668733 (OP)
Посоны, вместо мурзилки metanit лучше читать это:
http://firststeps.ru/java/java1.html

Эту ссылку нужно добавить в шапку, я считаю.
1382 1719722
>>719717
Не переходите, там вирус.
1383 1719725
>>719717

>мурзилки


Откуда эта фразочка? Никто так не гворит.
1384 1719726
>>719717

>2003 год


>Устанавливаем JVM 1.2 настройками в реестре и перемещениями DLL на диске


Понравилось, я беру. Артем, а по спрингу у тебя есть что-то похожее?
1385 1719727
>>719528
Jackson значит? А в XML JAXB?
1386 1719732
>>719727
И в XML Jackson. И в YAML тоже.
image.png14 Кб, 645x227
1387 1719736
>>719717
Он врет, у boolean нет четкого размера.
1388 1719760
1389 1719768
Объясните, пожалуйста, за модули. Для чего они? inb4: для модульности

Типичная задача: получить данные (1), обработать (2), записать куда-то (3), потом выдавать по требованию (4).
Формат: микросервис.

Наш воркфлоу обычно такой: компоненты 1, 2 и 3 (предполагается что они достаточно большие) выносим в отдельные артефакты; они ничего не знают друг о друге, обеспечивая loose coupling еще на этапе архитектуры. Каждый артефакт разрабатывается отдельно, вплоть до того что разные команды могут писать разные артефакты одной системы (это уже не начинает выглядеть как микросервис, но не придерайтесь, речь не про это). Артефакт содержит свои классы, выставляет апи наружу, имеет возможность конфигурации извне, собственные тесты, иногда метод main, что позволяет его использовать как консольную утилиту. Артефакты устанавливаются в приватный мавен репозиторий. Далее спринг-бут приложение (4), в депенденси три артифакта, создаем контроллер, связываем все быстренько. Компонент (3) проектируется как I/O, позволяя не только записывать, но и доставать данные для выдачи в (4). Поддержка такого приложения: апдейтим компоненты 1/2/3, перекомпиливаем, перепаковываем, устанавливаем в репо, в основном приложении апдейтим версию измененнго артифакта и перепаковываем.

Вопрос: нам стоит перейти на модули?
1390 1719769
>>719768
Ты про мавен модули или jigsaw?
1391 1719772
>>719769
Второе, jigsaw
1392 1719774
>>719772
Они нужны только для если ты пилишь либу для общего пользования.
1393 1719775
>>719774
Так вот у нас как раз и получается что компоненты это типа либы, но они редко когда используются более чем в одном проекте.
1394 1719777
>>719775
Я поэтому и написал про общее пользование. Типа JUnit, или Апаче коммонс. Если это только для своих проектов, то смысла нет.
1395 1719778
>>719777
Оукей, благодарю
1396 1719913
Придумал, какую либу написать. Она решает несуществующую проблему.
1397 1719924
>>719913
BigDecimal существует.
1398 1719928
>>719924
Спасибо, я в курсе.
1399 1719942
>>719913
Ты точно выбрал не тот язык, чтобы писать либы, и за полгода вопросов "чёбнаписать" уже можно было это понять. Здесь реально написано вообще всё, сиди да пиши бизнес-логику,
Лучше возьми какой-нибудь Rust, где с либами всё действительно плохо.
1400 1719946
>>719942

>Здесь реально написано вообще всё


И что? Это не повод не писать ничего нового. То, что уже написано может быть неудобным, неэффективным и т.д. Есть вещи, которые уже не переплюнуть, например AssertJ, но это все же редкость.
1401 1719951
>>719946

> То, что уже написано может быть неудобным, неэффективным и т.д.


У тебя есть конкретные примеры? Если да, тогда в чём вопрос? Бери любой и улучшай. От этого пользы намного больше, чем решать несуществующие проблемы и в очередной раз писать рейтрейсеры/крестики-нолики/строковые шаблоны./идентиконы.
1402 1719952
>>719951

>У тебя есть конкретные примеры? Если да, тогда в чём вопрос?


Нет, но я и не знаю абсолютно все существующие библиотеки и их проблемы. Для тех задач, которые я обычно решаю, все уже нормально написано.
1403 1719961
>>719952
Большинство уже всё устраивает.

Вообще, у меня появилась идея. Поищи крупные опенсорсне проекты на джаве и:
- почитай их багтрекер, вдруг появятся идеи
- поищи классы-утилиты, их обычно пишут как раз из-за недостающих либ.
Но вряд ли там можно достаточно наскрести для полноценной либы.
1404 1720012
Анон, можешь объяснить, зачем нужно сужающее (те в сторону наследника) преобразование классов?
1405 1720013
>>720012
Ааа, кажется, понял, эта ебала нужна только для того, чтобы вернуть ссылку в первоначальный вид?
1406 1720020
>>720012
Ты про то, что сабкласс можно вставить везде, где нужен суперкласс?
1407 1720024
>>720020
Нет, наоборот.
Parent p = new Child();
Child c = (Child) p;
1408 1720029
>>720013
Да. В идеале такое допускать не следует, ибо не типобезопасно, да и код, принимающий предка, ничего не должен знать о свойствах потомков. Но в реальности всем похуй.
1409 1720032
>>720029
Про какой-то сакральный смысл подумал, хотя логично, что будет дырка в памяти, если сделать Child c = (Child) new Parent(); Кароч надо спать идти, как всегда начал ночью учить.
1410 1720050
Пользуясь случаем, спрошу. Есть класс А и класс Б екстендс А. Почему метод с возвращаемым типом б не может вернуть а?
1411 1720059
>>720050
По той же причине, по которой нельзя записать:
Б б = new А();

В Б есть поля, которых нет в А. Чем их инициализировать, если есть значения только для полей из А? Можно было бы инициализировать дефолтными null/0/false, но более вероятно, что кодер ошибся, чем реально этого хотел.
1412 1720070
>>720059
Мда уж, а я думал, что логичнее возвращать более общий объект.. Вроде бы год уже учу, а элементарные вещи иногда недопонимаю. Спасибо.
1413 1720207
>>720070
Почитай внимательно super и extends в generics. Похожая ситуация.
1414 1720518
>>668733 (OP)
Сап java господа.

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

Объемы шара и цилиндра у меня есть. Но есть одна проблема. Метод коробки putInTheBox не хочеть принимать объект. Говорит что это не статический контент. Если текст метода поместить в main то все получается, но когда я запускаю метод происходит ошибка. Я новичок и не совсем понимаю, что я делаю не так. Но я знаю что не хочу в main держать ничего кроме вызова метода.

public double putInTheBox(Shape volume){

spaceAvailable = spaceAvailable - Shape.volume;
return spaceAvailable;
}
1415 1720536
>>720518
Есть подозрение, что дело в том что класс не статический. Но нужен весь код.
1416 1720537
>>720518
Твоя проблема скорее всего в следующем. Ты не стал для классов коробки и цилиндра делать отдельные файлы, а зафигачил их "внутренними классами", причем не указал для них модификатор static.
f7300ccad0575bc19d9c8ee76acd5e82.jpg26 Кб, 720x303
1417 1720620
>>720536
>>720537
Разобрался. Пока мой способ обучения сводится к методу тыку. Это у всех так было? Хочу обрести истинное понимание.
1418 1720633
>>720620
Тебе надо срочно постмотреть видеодоклады Бугаенко про ООП.
Без названия.jpg11 Кб, 300x225
1419 1720636
>>720633
Я смотрю Виндертона
1420 1720646
>>720636
Тут бумеры не поймут твоего прикола.
1421 1720660
>>720646
Привет бумерам. Винертон говорит что джава это для ООП макак. https://youtu.be/zqxVI_kEdq8?t=833
1422 1720675
Если я правильно понял, исходный код на java это просто библиотека классов, а компилятору надо указать, с какого класса начинать и он все используемые классы переводит в бинарный вид?
1423 1720682
>>720660
Закрой тред с той стороны.
1424 1720687
>>720675
Ну да. Только не библиотека а твой пакет. Библиотека это cборник уже готовых классов общего пользования.
1425 1720688
>>720682
Закрыл прям на твое ебало.
1426 1720690
>>720687
Ок, спасибо.
1427 1720713
Аноны, поясните за java. Решил попробовать запустить локальный сервер одной ммо дрочильни и столкнулся с рядом проблем, т.к. гайд по запуску сервера старый, я даже не надеюсь на помощь от туда, поэтому ищу проблему императивно от .bat файла до src кода (как я изначально предполагал, но уже не уверен, что это выйдет).

Вот пример лога, высравшего исключения в файлах:

>at launch.main.LauncherMain.loadConfig(LauncherMain.java:43)


>at launch.main.LauncherMain.run(LauncherMain.java:69)


>at launch.main.LauncherMain.launch(LauncherMain.java:108)


>at accountserver.AccountServerMain.main(AccountServerMain.java:16)



Покопавшись в в этих .jar файлах с одноименными названиями, я предположил, что LauncherMain, например, есть ни что иное, как класс, содержащий методы loadConfig, run, launch (могу ошибаться). Но открыв .jar файл архиватором, я понял, что исходного кода там нет. Вместо него, похоже, что-то вроде объектных файлов .class

Вопрос: можно ли как-то получить содержимое этих файлов в виде читабельного java кода?

Я пишу только на с/с++, поэтому java для меня - темный лес, включая устройство ее JVM.
1428 1720724
>>720713
Читабельный код это файлы .java
.class это уже компилированный
1429 1720727
>>720713
Исходники на джаве из java-файлов компилируются в байткод в виде class-файлов. Можно декомпилировать с помощью какого-ниубдь jd-gui или аналога, результат намного более читаемый, чем ассемблерные листинги в плюсах, но названия переменных будут скорее всего похерены.
1430 1720750
>>720727
Попробую.

Вопрос на будущее: если удастся декомпилировать и исправить код, достаточно будет отдельно скомпилировать этот файл обратно в .class и засунуть в .jar? Или нужно будет все файлы из .jar доставать и компоновать их все вместе с помощью какой-нибудь утилиты для компиляции?
1431 1720761
>>720750
Думаю, заработает, но не пробовал. При компиляции (javac) нужно будет указать этот жарник, чтобы декомпилированный класс смог найти определения, которые он юзает.
1432 1720778
>>720750
Возможно нарушатся связи между файлами и тогда надо будет исправлять связанные файлы тоже. У меня мало опыта но это мне кажется очевидным.
1433 1720804
>>720750
В теории, да. Но на практике могут быть трудности.
Типа транзитных зависимостей которые отсутствуют в приложении с ленивой загрузкой классов, это нормальное явление
Плюс обсфуцированный код может не декомпилироваться нормально.
Без названия.png110 Кб, 500x480
1434 1720820
1435 1720838

>Как правильно разделять логику модели и логику контроллера?


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

Возьми свой аккаунт-сервис и представь, что завтра захотят добавить к нему веб-сервис, т.е. JAX-WS; после завтра захотят RESTfull API для SPA фронтенда, т.е. JAX-RS; после после завтра засунут в кластер и захотят инжектить в другие бины как JNDI-ресурс.

Та, общая для всех способов, функциональность, которую в итоге ты вынесешь в EJB-сервисный слой, и будет моделью; остальное — контроллерами. То же справедливо и для десктопных приложений; так же и для SPA.

>Пользователь отправляет данные в виде юзернейма, email и пароля. Я минимум должен проверить что эти поля не пустые иначе вернуть ошибку. Это я должен проверять в контроллере, верно?


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

>После мне нужно проверить, что юзернейм не используется и почта не занята.


Это условия создания нового аккаунта, т.е. бизнес-логика данного приложения. Значит она уедет в сервисный слой. Обычно в случае нарушения условий из сервисного слоя кидают кастомные checked-exception-ы, которые затем обрабатываются в контроллерах.
1436 1720882
>>720820
ЛУЧШИЕ JAVA-ИГРЫ НА ТВОЙ ТЕЛЕФОН!!! ОТПРАВЬ SMS С КОДОМ 3031 ЧТОБЫ НАСЛАДИТЬСЯ ЛУЧШИМИ ХИТАМИ 2009!!!
1437 1720887
>>720882
Ну что стакан наполовину пустой или наполовину полный?
1438 1720896
>>720882
Я в детстве когда видел логотип джавы на мобильнике при запуске игры, даже не предполагал, что это учить буду.
1439 1720907
>>720896
Я тогда даже не думал стать кодером. И думал, что джава - это некий формат, чтобы делать игры для мобилок.
Ещё нужно было редактировать манифест, чтобы приложение было правильного разрешения и не спрашивало каждый раз, можно ли opera mini ходить в интернет, лол.
1440 1720910
>>720907
А скоро мы станем байтоебами. В мобилках надо за памятью следить.
1441 1720922
>>720838
Зачем ты 410chan сюда реплицируешь?
1442 1720943
>>720910
Это не андроид-тред.
1443 1720949
>>720943
Это спринг-тред.

Поспроцессоры бинов @ Несколько контекстов
image.png69 Кб, 756x515
1444 1721071
че за хуйня
1445 1721078
>>721071
Твоя будущая работа разбираться с этим.
image.png25 Кб, 737x490
1446 1721088
>>721071
什么妈的
1447 1721089
>>720727

Да, jd-gui сработал. Даже названия всех переменных сохранились. Осталось только в этом пиздеце разобраться...
1448 1721303
>>721089
Опять моды для майнкрафта хакаешь?
1449 1721517
>>721303
Что значит опять? Я с жавой не имел ничего общего ранее. Алсо, это не майнкампф, это сервер для ЗБТ Аллодов Онлайн (v1.1 2009 года). Раньше писал только для себя сервера на Node.js для web-сайтов, тут же все как-то сложнее и иначе.

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

Вообще, интересно, как можно взять и написать сервер для закрытого проекта без исходников? Это напрямую связано с реверс инженерингом? Или есть способы проще?
1450 1721522
>>721517
Да, реверс-инжиниринг. Ну или утечки.
1451 1721920
Ну и хуйню в котлине напридумывали с object и companion.
Безымянный13.png11 Кб, 459x305
1452 1721967
Ну почему так нельзя...
1453 1721968
>>721967
ты еблан
1454 1721971
>>721967
ну и макака
Безымянный14.png3 Кб, 405x105
1455 1721987
>>721968
>>721971
Ты меня вдохновил, анон.
1456 1722018
Вызов статической переменной типа класса B, определенной внутри класса А, внутри любого метода является одним и тем же?
1. variable = 1;
2. B.variable = 1;
Если является, как лучше оформлять в коде? Если нет, то чем отличаются два вызова?
1457 1722019
>>721920
Десяток костылей, лишь бы не статик.
1458 1722022
>>721987
С <T> T... после компиляции это и будет.
1459 1722023
>>722019
Вот вот. Напоминает Го, с его уебанским синтаксисом, как будто делали специально, лишь бы не как у других.
1460 1722028
>>721967
Потому что var - это вывод типов, а не дженерик или вариант. Компилятор выводит тип из инициализирующего значения. В качестве параметра метода он этого сделать не может, ведь заранее неизвестно, с каким типом он вызовется. А тип должен быть один конкретный, а не меняющийся от вызова к вызову.
1461 1722030
>>722022
Ты прав, но в 1 случае можно определить как static.
1462 1722031
>>722028
Понял.
1463 1722038
Что-то блаженного давно не видно.
1464 1722046
>>722038
Какого из?
1465 1722093
>>722018
Нет бы кусок кода сфотать или скопировать, нет, блядь, будем долго объяснять словами чтоб запутать сильнее. У тебя код под NDA? Нихера же непонятно из твоего описания. Сумничать хотел, да? Ок, давай по частям разберем тобою написанное.

>Вызов статической переменной типа класса B


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

>статической переменной типа класса B


ок..

>определенной внутри класса А


ок... Значит как-то так?
class B {
private static Object variable; // что variable это тоже статик поле я вывел из пункта 2: B.variable
}
class A {
private static B b; // статическая переменная типа класса B, определенная внутри класса A
private void hello() { b.variable = null; }
}

Все равно нихуя не сходится, т.к. какой бы ты ни был ленивый неумный долбоеб, ты не можешь вызвать variable пунктом 1, но ты наверняка вызываешь, значит объяснил херово.
В общем, разбирайся сам, доброй ночи.
1466 1722131
>>668733 (OP)
как открыть порты для троянов на белкине, надо замутить чат между двумя компами в локалке на яве.
1467 1722134
>>722131

> белкине


???
1468 1722135
>>722134
https://www.belkin.com/ рутер такой на нём еще можно порты открывать
1469 1722143
>>722135
Тогда это в документации роутера надо смотреть. Сама джава об этом ничего не знает, она просто юзает порт, если удалось подключиться. А если не удалось, ничего с этим поделать не может.
1470 1722149
>>722143
забей
1471 1722215
>>722131
https://github.com/adolfintel/WaifUPnP
Роутер должен поддерживать UPnP и он должен быть включен.
img.png23 Кб, 941x397
1472 1722219
Почему не работает?
1473 1722220
Тред перекатите, кто нибудь.
1474 1722223
>>722219
потому что в классе Color нет метода getName()
Метод getName() есть в классе Color$1, но константа RED имеет тип Color
1475 1722224
>>722219
Потому что ты тупой.
1476 1722231
>>722223
Значит, нужен абстрактный метод, спс.
1477 1722237
>>722220
Нет.
img.png19 Кб, 711x413
1478 1722253
Я понимаю, что всех заебал, последний вопрос. Почему это работает? Ведь когда мы переопределяем метод, он переписывается в базовом классе. А тут получается, что мы переопределили метод в наследнике и обратились к методу базового класса.
1479 1722255
>>722253
Там функция типа Object, те, это не переопределение на самом деле?
1480 1722258
>>722253
Похоже, ты путаешь override и overload. Ответь мне, что у тебя здесь происходит из этих двух?
1481 1722264
>>722258
Переопределение метода clone() интерфейса.
1482 1722269
>>722258
Мне не понятно, как работает слово super. Если бы мы обращались к области памяти суперкласса в нашем классе, то по идее, мы должны наткнуться на эту же функцию и зациклиться, так как мы ее переопределили. А тут получается, переопределили метод и вызвали метод интерфейса. Где в таком случае хранится метод?
image.png61 Кб, 621x561
1483 1722271
>>722269

>вызвали метод интерфейса


Логическая ошибка. Это не метод интерфейса.
1484 1722284
>>722253
А клон не должен обжект возвращать разве?
1485 1722287
>>722284
А он че по-твоему возвращает?
1486 1722289
>>722287
У того анона сделано, чтоб Author. Это вроде неправильно, нужно всегда обжект и катовать потом.
1487 1722291
>>722289

>катовать


кастовать
1488 1722293
>>722289

>Author


А это не Object по твоему?
1489 1722306
>>722293
Нет.
1490 1722307
1491 1722314
>>722307
Тогда если сделать подкласс у Author, и у него реализовать clone(), то придется возвращаемый тип менять.
1492 1722330
Как меня задрал этот рыгадл, ей богу такая параша, свет не видовал. Нестабильное и капризное говно. Assemble, failure, clean, assemble, failure, assemble, failure, clean, assemble, success. Ну как такой парашей можно пользоваться. У меня с мавеном, проблемы раз в сто лет и зачастую, это какая нибудь хрень со снапшотами, эта же параша мне каждый пять минут фейлит сборку. Поддрежка IDE через жопу, а собственно чего ожидать от говноскриптов, вместо декларативного языка. Как им можно вообще пользвоваться? Чистить какие-то кеши вечно надо, хрен проссыш почему че-то не собирается. Пердолюсь вечно с этой блевотиной, бывает по часу-полтора, не тянет зависимости хоть ты обосрись, проверил в мавене, все ок. В этой параше ничерта. То с того не с сего перестал компилировать код, нет метода и такого и всё. Только что собиралось и собираешь второй раз, в коде ничего не изменилось, и всё не собирается. А гугл ещё своих андроидошлеперов пересадил на это говно.
1.png24 Кб, 639x214
1493 1722361
>>722093

>Logger


это из org.apache.logging.log4j.Logger если что.
1494 1722371
>>722361
Я тут >>722018 ошибку допустил в

>2. B.variable = 1;


Там должно быть

>2. A.variable = 1;



Суть вопроса не изменилась: как лучше/правильно вызывать? Чем эти вызовы отличаются в контексте реализации класса, в котором эта static переменная определена.
1495 1722373
Excel!
1496 1722433
>>722330

>Пердолюсь вечно с этой блевотиной


Так не пердолься.
1497 1722467
>>722330
Ты описал эмоции любого джависта, решившего потыкать градл, понявшего, какое это говнище и вернувшегося к божественному мавену.

>>722373
Я только к следующему треду вернусь.
1498 1722473
>>722361
>>722371
Ну вот, так намного понятнее, спасибо.
TL;DR: Всегда используют (1), никогда не используют (2).

Обращаться к полю log в данном контексте можно и так, и так - (1) и (2) полностью тождественны и взаимозаменяемы. Разница та же самая, как и с обычными не-статик полями класса: можно указать ключевое слово this, а можно не указывать (this.abc = 1). Соответственно, и применение такое же: если происходит shadowing - скрытие поля класса за локальной переменной при одинаковых именах - то используем уточняющий способ. Пик 1 и пик 2 соответственно примеры shadowing для разных случаев.

В случае с логгером ситуация еще более интересная: static + final поля это т.н. константы, а по контракту стиля константы во многих языках, и в Java в том числе, пишутся капсом (пик 3 из стандартной библиотеки). Но логгер это такое интересное исключение, когда люди хотят писать меньше, хоть это и константа. Поэтому тут не LOGGER, а короткое log, именно для юзабилити. Следовательно, обращаясь к логгеру через имя класса, ты руинишь данное юзабилити.
1499 1722500
>>722473
Понял, спасибо. А static переменные без final помечают префиксом "s_"? В смысле: это оговорено стандартом оформления? Или дело вкуса? Вообще, не понятно теперь только для чего все эти стандарты существуют, если каждый разработчик волен делать сотню другую своих исключений.
1500 1722536
Это хороший анон, он всегда годно расписывает.
1501 1722545
>>722500
"s_" в статиках никогда не видел. Вот "m" (от слова "member") в инстанс полях класса ставят часто, например,
int time = mTime; // префикс в mTime указывает на то что это поле класса
Но лично я именно этого правила не придерживаюсь, мне кажется это лишним - во-первых, по-уродски выглядит, во-вторых, любая IDE все равно подсвечивает поле класса по-другому нежели обычную переменную. Единственный практичный юзкейс данного правила - это при написании имени поля начать писать его с "m" и автодополнение подсказывает тебе в первую очередь поля класса, т.к. они все начинаются с "m", и можно выбрать из списка. Так что да, у многих свои предпочтения, формируются с практикой.

Статики, к слову, вообще не часто используются. Это типа глобальный переменных, а глобальные переменные (в любых языках) любят новички, но совершенно не любят люди постарше. Вот хоть даже котлиниста спроси. В джаве статики подходят для хранения констант, и все. Хранить в статиках какое-либо состояние класса это bad practice, это делает класс сразу по-умолчанию не thread-safe и ограничивает применение. Многие сейчас вообще отходят от хранения состояния класса даже в обычных полях, это т.н. stateless классы и чистые функции.
1502 1722935
>>722473

>serialVersionUID


Я думаю это не исключение.
Сокращения принято писать с большой буквы же. А если написать всё капсом SERIALVERSIONURL получится хуита.
>>722545

>глобальные переменные любят новички


Удобно же. Забил в одном месте название какой-нибудь таблицы, например, и везде используешь, потом когда нужно поменять эту константу, то ты поменяешь её только в одном месте, а не везде.
Вероятность ошибки тоже снижается.
1503 1722950
>>722935

>А если написать всё капсом SERIALVERSIONURL получится хуита


SERIAL_VERSION_URL.
1504 1722985
>>722935

>потом когда нужно поменять эту константу


>константу


Я и сказал что константы это единственное безоговорочно-оправданное применение статиков. А с новичками не то. Они любят хранить в них состояние приложения, потому что это удобно. Я часто на ревью кода вижу такое:

class Monster {
public static int count = 0;
public Monster() {
count++;
}
}

class Player {
public void killMonster() {
Monster.count--;
}
}

class Game {
public boolean checkWin() {
return (Monster.count == 0);
}
}


Теперь, если ты не новичок, попробуй объяснить почему это плохо.
1505 1723013
>>722985
Ну, наверное, как минимум, с точки зрения архитектуры неверно, что класс одного монстра знает какую-то информацию всех монстров.

мимо новичок, не бейте, если неправильно сказал
1506 1723015
>>722985
В плюсах же есть куча способов блокировки критических секций кода, когда дело касается работы с потоками. Неужели в java нет похожик механизмов? Если есть, то что плохого в использовании static'ов?
мимо
1507 1723025
>>722985
Такие константы - это по сути глобальные переменные. Со всеми вытекающими.

>>723015
Даже больше, в джаве есть кейворд synchronized для этого.
1508 1723082
>>722985

>Я часто на ревью кода вижу такое:


Это на работе так пишут или ты какие-то говнокурсы ведешь?
image.png10 Кб, 666x72
1509 1723130
>>723082
Всеми любимые собесы. Это кандидаты выполняют мое тестовое задание с использованием своих лучших практик ООП, пре-интервью (домашнее задание). Консольная игра, не интерактивная (запуск через command-line), с многопоточностью, да. Тестируется автоматически на ввод/вывод, а потом я еще код смотрю. В прошлом или позапрошлом месяце на хабре статья была "Кандидаты не умеют кодить" или что-то такое, в общем про то что людям даешь задание написать реально что-то и многие тут же сворачиваются в трубочку. Наблюдал лично не раз.

>>723013
Да

>>723015
Есть блокировки конечно же.

>>723025

>Такие константы - это по сути глобальные переменные. Со всеми вытекающими.


Вот этот анон понял идею.

Но я ожидал услышать больше)
Например, очевидное нарушение инкапсуляции в примере, но это видимо слишком очевидно и никто не стал упоминать. Но с этого следует начинать. Спрячем переменную за методом, получим статический метод.
Чем плохи статические методы?
1) Наследование. Не наследуются. А зачем? Ну вот хочу я в class DigDigMonster extends Monster тоже считать монстров, но уже подтипа. Не могу. А если я не просто их считаю, а в статик методе какая-то логика выполняется, то либо копировать код, либо выносить в отдельный метод - данные тут, обработка там. А если есть объект класса и нужно посчитать свой тип? Было бы неплохо вызывать метод прям на объекте... И тут мы изобрели ООП.
2) Тестирование. Не тестируются. Mockito не мокает статики принципиально. Другие либы мокают, но пострадает твоя совесть в энтерпрайзе не используются.
3) Класс-лоадеры. Вот тут наверное многие реально удивятся, кто считает что статик - это гарантированно уникальное поле. Берем второй класслоадер, загружаем класс, и Monster.count опять 0. Зачем второй класслоадер? В стандартном EE сервере в вакууме обычно несколько класслоадеров, каждый ответственнен за свой домен классов - пользовательские, системные. Не нужно гадать как именно твой класс загрузится двумя класслоадерами сразу, важно осознавать что такое в теории возможно и применять превентивные меры.
image.png10 Кб, 666x72
1509 1723130
>>723082
Всеми любимые собесы. Это кандидаты выполняют мое тестовое задание с использованием своих лучших практик ООП, пре-интервью (домашнее задание). Консольная игра, не интерактивная (запуск через command-line), с многопоточностью, да. Тестируется автоматически на ввод/вывод, а потом я еще код смотрю. В прошлом или позапрошлом месяце на хабре статья была "Кандидаты не умеют кодить" или что-то такое, в общем про то что людям даешь задание написать реально что-то и многие тут же сворачиваются в трубочку. Наблюдал лично не раз.

>>723013
Да

>>723015
Есть блокировки конечно же.

>>723025

>Такие константы - это по сути глобальные переменные. Со всеми вытекающими.


Вот этот анон понял идею.

Но я ожидал услышать больше)
Например, очевидное нарушение инкапсуляции в примере, но это видимо слишком очевидно и никто не стал упоминать. Но с этого следует начинать. Спрячем переменную за методом, получим статический метод.
Чем плохи статические методы?
1) Наследование. Не наследуются. А зачем? Ну вот хочу я в class DigDigMonster extends Monster тоже считать монстров, но уже подтипа. Не могу. А если я не просто их считаю, а в статик методе какая-то логика выполняется, то либо копировать код, либо выносить в отдельный метод - данные тут, обработка там. А если есть объект класса и нужно посчитать свой тип? Было бы неплохо вызывать метод прям на объекте... И тут мы изобрели ООП.
2) Тестирование. Не тестируются. Mockito не мокает статики принципиально. Другие либы мокают, но пострадает твоя совесть в энтерпрайзе не используются.
3) Класс-лоадеры. Вот тут наверное многие реально удивятся, кто считает что статик - это гарантированно уникальное поле. Берем второй класслоадер, загружаем класс, и Monster.count опять 0. Зачем второй класслоадер? В стандартном EE сервере в вакууме обычно несколько класслоадеров, каждый ответственнен за свой домен классов - пользовательские, системные. Не нужно гадать как именно твой класс загрузится двумя класслоадерами сразу, важно осознавать что такое в теории возможно и применять превентивные меры.
1510 1723156
>>723130
А в классах-утилитах делают статик методы. Даже популярные библиотеки апачей тому пример.
Такие классы делают, когда лень пилить ооп и паттерны?
1511 1723162
>>723156
Не лень, просто ООП плохо для такого подходит. ООП - это в первую очередь много однообразных данных. В утилитах данных, кроме констант, нет, и лучше всего здесь подошло бы процедурное программирование, но поскольку в жабе принудительное ООП и тупо нет функций, делается именно так, даже в стандартном java.lang.Math.
Важно, что статик методы в утилитах никак не влияют на глобальное состояние, они просто принимают одни объекты, что-то с ними делают, возможно, возвращают другие объекты. И в таком использовании проблем нет. Проблемы начинаются, когда статик методы начинают лезть в статик поля. Да и вообще, не-final статик поля - зло.

мимо
1512 1723367
>>722950
Назовёшь так поле, потом в спринге будешь писать SERIAL__VERSION__URL. С двумя __, да.
Уж лучше с маленькой, как в оригинале.
>>722985
Я новичок, не могу объяснить почему, но делать статическое поле изменяемым интуитивно мне кажется плохой затеей.
Статик методы/поля они ж доступны без инстанса класса. А какое тогда значение будет изменять count? Когда оно инициализируется? Что будет если несколько монстров создать?
А хуй знает.
Думать надо. А думать лишний раз мне лень.
Поэтому я бы не стал делать так.
1513 1723413
>>723156
В классах-утилитах статик методы это скорее функции.
А выше анон про методы классов расписывал и почему их там плохо использовать.
Это разное, короче. В первом у тебя просто универсальная штука, грубо говоря, как отвёртка, взял её, сделал что нужно где угодно и бросил обратно.
А во втором случае это электродрель и она наглухо приварена к столу (классу) и без него работать не будет. Вернее не должна, но кто-то её зачем-то сделал паблик, да ещё и статик. А значит найдётся ещё такой же дятел, который обязательно попробует.
1514 1723432
>>723367

>Назовёшь так поле, потом в спринге будешь писать SERIAL__VERSION__URL. С двумя __, да.


Че ты выдумал блядь?
1515 1723436
>>722985
Monster monster = Monster.createMonster(Type.LOVECRAFTIAN);
int count = Monster.totalCreated();
И че?
1516 1723441
>>723367

>А какое тогда значение будет изменять count? Когда оно инициализируется? Что будет если несколько монстров создать?


Иди в учебнике прочти про static. Когда оно инициализируется у него, охуеть вообще. У тебя ИДЕшка под рукой, иди проверь.
1517 1723469
макбуки подойдут для начала?
1518 1723481
>>723469
Для начала чего?
1519 1723482
>>723481
чтобы учиться на жабе код писать
1520 1723483
>>723441
Да нахуй мне это надо? Создавать классы со статик полями и ещё изменять их потом, блядь, это шизофазия чистой воды.
Ещё и думать, что там получится в итоге, ахуеть!
1521 1723487
Как сказать шиндовсу, чтобы он открыл файл? Можно без остановки потока, как в с++ System("file");
1522 1723499
>>723432
Это не я выдумал.
В спринг дата _ это как /.
И если ты захочешь написать метод, например findbySERIAL__VERSION__URL, то надо будет второй андерскор ставить.
tldr code convetions не просто так написали.
1523 1723503
>>723483
Я тож так на собесе сказал и меня взяли.
1524 1723505
>>723482
Рекомендованные системные требования для твоей IDE подойдут.
Вот у intellij например 8 гб оперативы и ссд.
1525 1723506
>>723499

>В спринг дата _ это как /.


Нихуя не понял.

>И если ты захочешь написать метод, например findbySERIAL__VERSION__URL


Какой код по МКБ должен быть, чтобы захотеть такое?
1526 1723508
>>723505
значит окей всё будет, просто подумал, что вдруг там нужно по 200 гигов озу минимум
1527 1723509
>>723508
Ты такие охуевшие проги пока не сможешь в соло написать.
Хотя можно зациклить new Runnable -> охуенныйАлгоритмOn!(), чтоб забить озу в миг, но это уже приколы.
1528 1723512
>>723509
спасибо за ответы
1529 1723556
Смотрите, мне надо кэшировать выхлоп сервлета после JSP в HTML файл. Т.е. пользователь посещает /someshit.do, сервлет обрабатывает информацию, генерирует HTML с помощью JSP, а затем должен этот самый HTML записать в файл и послать пользователю редирект на этот самый файл, а не выдавать динамику.
НО КАК? Самый очевидный способ это через Враппер и переопределение GetWriter, чтоб он записывал все это в приватное поле и выдавал потом, но это как-то костыльно.
Есть идеи/мюсли, господа?
1530 1723570
как получить из ByteBuffer байты от .. до .. например байты от 0 до 2^16 типа как в питоне slice.
Хочу переслать ByteBuffer через UDP, нужно разбить его на части и по частям отправить
1531 1723603
>>723487
В смысле - "открыл"? Запустил что ли?
Runtime.getRuntime.exec("file");
1532 1723604
>>723603

> Runtime.getRuntime().exec("file");


fix.
1533 1723621
>>723603
Нет, мне текстовый файл открыть после записи надо. Не хочу в ручную открывать.
1534 1723660
>>723621
Жаль в винде нельзя на тектовые файлы бит иполнения вешать.
1535 1723733
>>723570
Что значит получить?
Есть limit и position, которыми можно задать откуда и до куда будет работать get().
Есть get(byte[]) который копирует данные с текущего position в указанный массив байт, есть аналогичный метод с ByteBuffer.
Есть slice() который возвращает view над текущим буфером в границах limit и position.
1536 1723737
>>723621
>>723660
Как открыть-то, в текстовом редакторе, прочитать содержимое, выполнить как bat файл?
1537 1723766
>>723737
В программе по умолчанию. Но можно явно указать, если требуется.
1538 1723779
>>723737
>>723660
А, все, я додумался.
Runtime.getRuntime().exec("cmd /c C:\\file.txt");
1539 1723786
>>723733
есть payload там байтов больше 65 кб
делаю так:
выделяю память для пакета:
ByteBuffer packet = ByteBuffer.allocate(max_packet_size);
копирую из payload первые 65кб в пакет:
for (int i = 0; i < max_packet_size; i++) {// (это для примера)так отправятся только первые 65 кб пейлоуда
packet.put(i, payload.get(i));
}
отправляю пакет:
channel.send(packet,addr);
это всё в цикле while который выполняется столько, на сколько пакетов был разделен payload.
можно как-то вместо цикла for или как-то иначе скопировать сначала первые 0 ... 65535 из payload в пакет и отправить, потом скопировать следующие 65536 .... 2*65535 из payload в пакет и т.д. иначе с границами ебатория такая...
1540 1723787
>>723737
>>723779
Похоже, что ты выбрал не тот язык для такой задачи.
1542 1723808
>>723786
Можно position поставить в 0, limit не ставить. У packet сделать reset(). Потом payload.get(packet) - это автоматически переместит position, так что надо просто проверять сколько там еще осталось.

Но это будет вызывать копирование данных, а position + limit позволяют обойтись без копирования. Все го то делов один счетчик + проверка границы.
1543 1723818
Вы джаверы
1544 1723837
А можно вместо utility класса я сделаю синглтон? Он нужен чтобы выводить результаты в консоль.
1545 1723844
>>723808
counter = 0;
while (counter != packets_number) {
payload.position(countermax_packet_size);
payload.limit(max_packet_size
(counter+1));

packet.put(payload);

channel.send(packet, addr);

counter++;
//проверку на последний пакет еще сделать надо, потому что размер у него не max_packet_size
}

сделал так, не работает где может быть ошибка?
1546 1723848
>>723844
точку умножения чето не видно
payload.position(counter*max_packet_size);
1547 1723862
>>723837
Можно, но глупо, лучше статиками оставиь.
1548 1723870
>>723844
packet.put(payload); - не нужно.

Надо сразу channel.send(payload, addr); ты уже выставил у буфера диапазон для отправки.
1549 1723881
>>723870
спасибо, будут теперь заголовки к пакетам лепить
1550 1723896
Что это? Как это работает (я про метод sure)?
public interface Context<T> {
..@NotNull <E extends T> E sure(int paramInt);
}

Вот его вызов:
@NotNull
public static ApproveListener get(@NotNull Context<AccountServerObj> context) {
..return (ApproveListener) context.sure(s_accountContextId);
}

Про обобщенные интерфейсы я читал, похоже, это аналог темплейтов в плюсах, но мне не понятно, как интерфейс может быть параметром метода. В конечном счете все сводится к тому, что IDE жалуется на этот участок кода, который содержится в пакете "package accountserver;":
public static void shutDown(@NotNull AccountServerContext context) {
..ApproveListener.get((Context) context).shutDown();
..............................^
}

>Inconvertible types; cannot cast 'acSqdcountserver.context.ANUSor|B@gPUNCTUMjRz3etbrainsPUNCTUMannotation+&YsPUNCTUMNotNDqhull AccountServerContext' to 'system.base.Context'



Код писал не я. Я в нем только разбираюсь, подтягивая постепенно требуемые файлы из import'ов, но он должен быть рабочим.

п.с. В import был только этот интерфейс "import system.base.Context", содержимое которго указано в самом начале поста. Других файлов в пакете "accountserver" с именем Context нету.
1551 1724022
>>723896
В общем, добавил я еще десяток файлов в проект, передумал выебываться и подключать сразу новые версии библиотек, где структуру классов/методов могли изменить/мигрировать (заменил на пакеты .jar, которые использовал именно он).

Конкретно эта ошибка пропала, но я все равно не понимаю суть этого интерфейса Context с его методами со странной записью:

><E extends T> E sure(int paramInt);



Что это? Как это называется?
1552 1724033
>>724022
Ответы на подобные вопросы всегда есть в нашей мурзилке: https://metanit.com/java/tutorial/3.17.php
1553 1724072
>>724033

>мурзилке


хуилке
1554 1724155
>>723791
Ого нахуй
1555 1724238
будет ли так работать? нужно типа send & wait:

send(DatagramChannel channel, ByteBuffer payload) {
// разделить payload на пакеты
// отправить один пакет
// ждать ack отправленного пакета в том же канале (вызывается функция снизу!)
// if (ack получен): отправить следующий
// esle: ack не получен через некоторое время, отправить пакет заново
}

это в потоке:
while(true) {
recv(DatagramChannel channel) {
// получил пакек
// отправить ack
}
}
1556 1724250
>>724033
Хороший сайт, недавно его нашел.
Кстати, так и не допетрил, в чем разница между
Сlass Transaction<T extends Account>
и
Transaction(Account from,Account to, int sum){...}
Было что-то про небезопасность типов, вроде, но я не понял, в чем разница.
Можно предположить, что с помощью метода public T getAccount()
мы можем получить целый объект, а с помощью public Account getAccount() только базовую ссылку, которую нужно приводить обратно, и это небезопасно. Но если мы это не используем, нет смысла использовать
<T extends Account>?
1557 1724263
>>724250
Да. На практике, правда, часто пишут костыли с приведением к потомкам.
1558 1724270
>>724263
Впрочем, нет, забей, я сам не до конца понимаю, о чём говорю.
1559 1724327
>>724022
почему eclipse параша а intellij рулит?
1560 1724423
>>723818

> Вы джаверы


Я/МЫ
1561 1724455
>>723818
джаверсы
1562 1724530
Мне иногда кажется с этим мавеном и деплоем, что джавер это еще наполовину сисадмин.
1563 1724604
>>724530
А что , кодер должен только вслепую писать код? Собирать и запускать должны сисадмины?
1564 1724610
>>724530
Что вы вытворяете с мавеном? Это же просто штучка для удобного подключения библиотек, зачем с ним еще и танцевать?
1565 1724621
>>724610
Ага, сначала просто подключаешь либы, затем хочешь правильно копировать ресурсы, подключать плагины для сборки фронтенда, плагины для миграция, плагины для линтера, деплой, модули, профили, и вот твой помник уже на 10К строчек.
Намного удобнее ведь это делать мавеном, чем самописными кривыми скриптами.
изображение.png99 Кб, 681x848
1566 1724682
Идея ебанулась.
1567 1724716
>>724621

>плагины для сборки фронтенда


Ужас какой
1568 1724765
>>724716
Ну а какие ещё варианты в 2020?
1569 1724773
>>724765
Зачем в сборку бэка совать фронт вообще? У меня на всех местах работы было всё отдельно.
1570 1724796
>>724773
А в бек никто ничего не суёт. Бек собирается отдельно, фронт отдельно, затем мавен всё кладёт в один war-ник. Ну, у нас так.
1571 1724798
>>724773
МОНОРЕПОЗИТОРИЙ
1572 1724811
>>724796
А зачем фронт в war его класть? Обычно фронты билдят свой проект - кладут, куда nginx смотрит и всё.
1573 1724816
>>724811
А у нас нет нгинкса, всё напрямую сервер приложений раздаёт. Но у нас в основном SOAP, веб используется постольку-поскольку.
1574 1725174
Блокнот не детектит "\n", но детектит printStream.println(text). Пробовал "Windows-1251" и "UTF-8", при чем в других редакторах все норм. Если обратно считывать на консоль, тоже норм. Не ебу, в чем дело. Сохранял в разных форматах.
1575 1725182
>>725174
CRLF, еблан
1576 1725225
>>725174
Дело не в кодировке. Вместо \n юзай \r\n.
Сложно представить вопрос, лучше подходящий для /s/, чем этот.
1577 1725380
Я тот анон, который собрался декомпилировать jar файлы одного сервера. Не понимаю как такое возможно, ошибка ли это декомпилятора, или же ошибка того, кто писал код. Как это определить?

Вот примеры на пиках:
1. Жалуется, что такого типа исключения в принципе не может выбросить. Что остается делать? Удалять/комментировать строчку...
2. Далее, в этом же методе нет return'а вообще. Чья ошибка? Хуй его знает, ставлю заглушку return null.
3. IDE, либо компилятор не могут различать типы List<Boolean> и List<Integer>, поэтому перегрузка не возможна. Может это особенности языка? Я не знаю. Но факт остается в том, что этот код, блядь, написан был кем-то в какой-то IDE, возможно, с какими-то особыми флагами компиляции, которые позволили игнорировать такие конструкции. Иначе я хз, как можно объяснить такое.

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

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

Есть идеи/советы?
1578 1725520
>>725380

>2. Далее, в этом же методе нет return'а вообще. Чья ошибка? Хуй его знает, ставлю заглушку return null.


Там выполняется запрос, но его результат записывается в переменную и всё.
1579 1725529
>>725520
Это понятно, но функция с типом подразумевает, что этот тип должен возвращаться, не? Не важно что происходит в коде, важно то, что у меня тысячи ошибок, которые нужно вручную исправлять, а я даже не могу знать - рабочий ли я код вообще правлю или нет... И ведь этот код был в каком-то виде, который был удачно скомпилирован (иначе этих jar файлов бы не было).
1580 1725537
>>725380

> ошибка ли это декомпилятора


Такое возможно, попробуй другой декомпилятор. Я вообще как-то натыкался на декомпилированный код с goto.

> или же ошибка того, кто писал код


Это бы не скомпилилось, разве что автор другим способом сгенерировал class-файлы (вручную, например). Но не уверен, переваривает ли JVM подобное.
1581 1725594
>>725537

>попробуй другой декомпилятор


Если бы еще было из чего выбирать... Я и так использую, наверное, лучший из всех - JD-Core, обернутый в JD-GUI. Даже тот, что встроен в Intellij IDEA - fernflower, оказался хуже. Например, он не распознает коллекции почему-то, типа List<Integer> и декомпилирует, как List. Но с другой стороны, в некоторых частях кода, он исправляет косяки JD-Core, который объявляет переменную после ее использования. Но даже в совокупнусти оба декомпилятора не могут обеспечить 100% верный синтаксически код.

>разве что автор другим способом сгенерировал class-файлы (вручную, например)


Что значит вручную? Вручную компилировал с javac? Даже если так, у этого компилятора есть флаги, позволяющие такое игнорировать? Или может в старых JDK такое можно было компилить? Или может вообще есть какие другие компиляторы у java?
1582 1725599
>>725594

> Что значит вручную?


Это гипотетически, не думаю, что кто-то реально таким занимается. Я имею в виду, что автор, например, сгенерировал class-файлы с помощью какой-нибудь либы. либо вообще изучил спецификацию JVM и сделал сам. Было бы более вероятно, что он взял другой компилятор (да, они есть, в той или иной степени мёртвости), где нет подобного запрета.
Но это всё херня, наверняка декомпилятор просто ошибся, и если jd-gui действительно лучший, то остаётся только исправлять все ошибки и надеяться, что заработает.
1583 1725601
>>725594
UPD:
Проблема еще в том, что я хотел разобраться по этому коду и понять, как это работает в действительности. Поэтому я не могу в 98% случаев понять правильно, что хотел сделать автор кода и подправить косяки. Все что я могу - это надеяться на то, что код правильный и IDE умная, которая советует НЕ хуйню.

Еще касаемо кода. В этих файлах я нашел код, содержащий в себе OpenGL API, представления примитивов. Так же нашел функции с названиями вида drawHUD, drawMiniMap и т.д. Казалось бы, зачем серверу это нужно? Разве не клиент должен этим заниматься?
1584 1725765
Палю годноту https://www.jetbrains.com/academy/
JetBrains Academy will remain in the Early Access Program (EAP) with free access until July 1, 2020.
If you already have an account or register on the Academy before July 1, 2020, you will continue to receive free access to all JetBrains Academy learning activities and resources until January 1, 2021, after which you will get a 50% discount off a paid subscription for the following 12 months making the price $24.90 per month.

Хороший ресурс для изучения жабы
1585 1725787
>>725594

> Например, он не распознает коллекции почему-то, типа List<Integer> и декомпилирует, как List.


Ты серьезно?
1586 1725817
Пихаю в каждый публичный класс public static void main(String[] args). В идее в консоли во время рантайма мелькают выводы какого-то другого класса. Это она ебанулать или пихать везде main бэд практик?
sage 1587 1725832
>>725380
2. Да это проблема и проблема декомпиляции. Тут надо понять, что там было в оригинале. Варианта 2 попробовать другой декомпилятор или смотреть непосредственно байткод.
3. В байткоде такие методы возможны, потому что там разный возвращаемый тип, а вот в Java коде такое и правда не скомпилируется.

В целом я бы советовал, взять минимум классов которые надо поменять и только их и декомпилировать. Остальное оставить как есть в jar
Для проблемных классов попробуй http://www.javadecompilers.com/ с разными декомпиляторами. Ну и почитай про байткод иногда просто посмотреть байткод помогает понять, что там должно быть в методе.
3.png91 Кб, 971x713
1588 1726161
>>725787
Да. Без установки своих флагов, он именно так и декомпилирует у меня. Я пробовал ставить свои флаги, но получил только около 80% пустых файлов. Игрался так с ними часа 2, в итоге ничего не вышло, оставалось использовать по умолчанию.

>>725832
Я попробую еще другие декомпиляторы, и попробую про байткод почитать. Вот, сейчас пробую CFR. Из вышеупомянутых примеров, 1 и 2 проблемы он решил, но при этом как бы намекнул:

>WARNING - Removed try catching itself - possible behaviour change. Enabled aggressive exception aggregation


Поэтому полагаться тоже не стоит. Результат на пике. Третий случай он абсолютно так же интерпретировал.

>В байткоде такие методы возможны, потому что там разный возвращаемый тип, а вот в Java коде такое и правда не скомпилируется


Похоже, если в байткоде такое появилось, значит он где-то передал параметр с типом List<Boolean> в метод, который был написан только для List<Integer> и это у него, видимо, работало. Но я пробовал находить эти места, IDE ссылается только на 1 случай, где он передает List<Integer>. А другое упоминание toArray ссылается на методы JDK.

>В целом я бы советовал, взять минимум классов которые надо поменять и только их и декомпилировать. Остальное оставить как есть в jar


Но как потом корректно скомпилировать class файлы и засунуть их в этот jar с сохранением всех зависимостей? Одно дело, когда есть настроенный проект, который можно как угодно собирать. Другое - когда надо собирать участок, зависимости к которому еще надо как-то правильно подтянуть, потому что он вне проекта собирается.

Вопрос:
А вообще, работа декомпилятора может зависеть от версии пакета JDK, не считая случаев, когда современный декомпилятор по умолчанию требует свою минимальную версию этого пакета?
1589 1726341
>>725817

> Пихаю в каждый публичный класс public static void main(String[] args).


Ты идиот?
1590 1726347
>>726341
Я себе шаблоны для разной хуйни сохраняю. Ок?
1591 1726348
>>726341
Объекты должны быть независимыми и каждый должен быть как отдельный организм, который можно запустить. Это правильное ООП от Smalltalk. Все есть обхект и они могут обмениваться сообщениями.
1592 1726350
>>726347
А main везде зачем?
1593 1726352
>>726350
Чтобы каждый класс отдельно можно было запустить, а не все в кучу.
1594 1726358
>>726352
А методы нельзя запускать?
1595 1726362
>>726358
Как ты представляешь класс с 50+ методами? Это бред полный будет.
1596 1726367
И в ручную каждый раз вызывать не хочу. Выбираешь нужный класс, запускаешь ... профит.
1597 1726379
>>726352
Тесты пиши, а не такой хуйнёй страдай.
sage 1598 1726380
>>726161

>Похоже, если в байткоде такое появилось, значит он где-то передал параметр с типом List<Boolean> в метод, который был написан только для List<Integer> и это у него, видимо, работало. Но я пробовал находить эти места, IDE ссылается только на 1 случай, где он передает List<Integer>. А другое упоминание toArray ссылается на методы JDK.


Не совсем, вангую что там сигнатуры
toArray(Ljava/util/List)[z
toArray(Ljava/util/List)[I
дженерики в байткоде не присутвуют за редким исключением. А вот различать методы по возвращаемому значению нужно именно для поддержки дженериков.

Напиши класс который implements Iterator<String> скомпилируе и поизучай его методы с помощью javap -p -s MyClass.class
увидишь 2 метода next() один со строкой второй с объектом. В коде ты такое никогда не скомпилируешь.

>Но как потом корректно скомпилировать class файлы и засунуть их в этот jar с сохранением всех зависимостей? Одно дело, когда есть настроенный проект, который можно как угодно собирать. Другое - когда надо собирать участок, зависимости к которому еще надо как-то правильно подтянуть, потому что он вне проекта собирается


Тебе надо вначале просто изучить классы и понять, в каких классах и какие методы тебе надо поменять. Дальше уже можно будут распаковать джар, удалить оттуда классы которые надо менять и создать проект с декомпилированными. И потом уже бороться с ощибками декомпиляции пары классов, а не пары сотен.

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


Эффективность работы декомпилятора зависит от версии JDK для которой билдился джар. Лучше всего декомпиляторы переваривают старые JDK, типа 1.6. А вот современные с их try-with-resource, invoke dynamic и прочими лямбдами - плохо. Если есть версии под старые JDK возьми лучше их.
1599 1726383
>>726348
Подход смоллтолка в джаве физически неприменим. В смоллтолке ты можешь передать вообще любое сообщение вообще любому объекту и получить "не понял" [spoiler, ]прям как в динамикодрисне python и js[/spoiler]. В джаве это тупо не скомпилится, и полумеры в виде полунастоящего ООП здесь бессмысленны.
1600 1726384
>>726383
Похуй.
1601 1726407
>>726380
А вообще существует открытая спецификация этого кода, где будут описаны все инструкциии их описание на примере кода java? Машина же как-то однозначно может декодировать этот набор байтов и исполнять его, значит должна быть спецификация. Но открыта ли она?

Вообще, я правильно понимаю, что в class файлах только и ТОЛЬКО инструкции на уровне JVM инструкций? Я пока еще особо не читал про байт код, но из того что пока нашел - это описание структуры class файлов на википедии https://en.wikipedia.org/wiki/Java_class_file
Вроде тут что-то есть, а вроде и нет ничего, касаемо самих инструкций JVM.

И еще я подумал: если код в большинстве случаев декомпилируется правильно и даже восстанавливает имена перемнных, значит ли это то, что 100% не было применено никакого шифрования?

>Если есть версии под старые JDK возьми лучше их.


Версии чего? JAR файлов, которые я пытаюсь декомпилировать или JAR файлы самих декомпиляторов?
Если первое, то нету других версий, кроме 6u18. Именно под эту версию компилировались JAR файлы сервера.
Если второе, то как условный декомпилятор той же 1.6 сможет сожрать инструкции какой-нибудь 10+?

п.с. Сейчас удалось добавить println в entry-point приложения. Оказывается, все зависимости были описаны в path-class одного из манифестов в JAR архивах. Похоже, действительно проще подходить к проблеме таргетно, меняя конкретные файлы, где вероятнее всего могла быть ошибка. Но минус в том, что дебаггера нет, и выявить ошибку в месте, где нет уже существующих логов или исключений, практически невозможно.
1602 1726430
>>726380

>за редким исключением


Че?
image.png278 Кб, 300x444
1603 1726598
image.png3 Кб, 433x92
1604 1726849
Глупый вопрос.
А почему, когда я пишу код, нет никаких подсказок при его наборе, к примеру на пике System.out.println(" "); После точки появляется, а в начале написания нет про sout знаю
1605 1726906
Ананасы, что можно запилить на жабе в качестве практики + для дальнейшего портфолио?
1606 1726981
>>726906
Тестовое задание, которое тебе даст любая хрюша с хх.
1607 1727039
>>726981
-_- пока только тестовые задания уровня лаба1
некст плиз
1608 1727055
>>726906
Я собираюсь игру с графикой и многопоточностью запилить, но еще не придумал, какую. Естественно, ничего глобального, тип Doodle Jump или Танчики.
1609 1727107
>>726407

>А вообще существует открытая спецификация этого кода, где будут описаны все инструкциии их описание на примере кода java? Машина же как-то однозначно может декодировать этот набор байтов и исполнять его, значит должна быть спецификация. Но открыта ли она?


Да существует: https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html
Тут только тонкость в том, что есть спецификация JVM (байткод часть этой спецификации), и есть спецификация языка Java, но вот связь между ними не специфицирована.

>Вообще, я правильно понимаю, что в class файлах только и ТОЛЬКО инструкции на уровне JVM инструкций?


Да, ну плюс иногда там бывает дебаг инфо (имена переменных и номера строк).

>И еще я подумал: если код в большинстве случаев декомпилируется правильно и даже восстанавливает имена перемнных, значит ли это то, что 100% не было применено никакого шифрования?


Да, обсфукации не было и даже компилировали с дебаг информацией.

>Версии чего? JAR файлов, которые я пытаюсь декомпилировать или JAR файлы самих декомпиляторов?


Версии JAR файлов которые ты пытаешься декомпилировать. Если есть версии собранные под разные JDK то лучше взять под самую старую.
Сами декомпиляторы надо брать последней версии.

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


Кстати тоже вариант, ты можешь взять JAR и запустить его в дебаге. Самое простое создать проект с одним классом, в нем написать майн который просто будет запускать майн из JAR. А дальше в IDE запускаешь дебаг и отлаживаешь, ты можешь спокойно ставить брекпоинты в любых класса и выполнять код пошагово.
1610 1727118
>>726430

>Че?


Если у тебя есть класс StringIterator implements Iterator<String> то инфа о том что это интератор стрингов будет сохранена в классе StringIterator.
А вот в случае Iterator<String> iter = stringList.iterator() - тут в байткоде инфы уже не останется.
1611 1727143
>>727055
хорошая идея, успехов тебе.
1612 1727147
>>727055
>>727143
жаба говорят медленная на этом поприще она может с решёткой конкурировать? или только приложения
1613 1727349
А правда, что EJB это имплементация CORBA?
1614 1727391
Посоветуйте мурзилку-хуилку по ждбс, пожалуйста.
1615 1727422
>>727349
Да, но не полная.
1616 1727461
>>727422
А зачем тогда в ждк был модуль корба, который выпилили в 11 ?
Ведь EE подразумевал оную.
1617 1727462
>>727391

>мурзилку


У тебя в деревне так говорят?
1619 1727503
>>727147
Да, для игр она слишком жирная. Но MEINKRAFT достаточно терпимый.
1620 1727509
>>727503
наглядный пример, игра без графона, а лагает как последняя сука
1621 1727524
>>727499
Спасибочки.
1622 1727525
>>727462
В треде популярно стало так говорить, вот и следую моде.
1623 1727533
>>727107

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


Но каким образом будет выполняться отладка? Декомпилированного кода же нет. Где точки ставить-то? Это я возвращаюсь, получается, снова к декомпиляции всего кода и его тысячам правкам. Или дебаггер в java работает как-то особенно?
1624 1727544
>>668733 (OP)
Начинаешь изучать программирование. "Да я ХАКЕР!"

Через месяц понимаешь что Питон это недоязык. Переходишь на Джаву. Вот теперь заебись. Я буду востребованным.

Доходишь до паттернов проектирования. Открываешь реальный код с гитхаба. Упс хуле тут так много строк?

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

Начинаешь читать про медитацию на Хабре. Вшух - шизофрения, массшутинг, суисайд.
1625 1727551
>>727039
Согласно предварительной договоренности отправляю тестовое задание, жестких ограничений по времени нет.
Сделать maven или gradle проект сервера.
Сервер должен быть с авторизацией по PKI (RSA) сертификату. Выпустить самоподписаный серт можно утилитой keytool из jdk.
Сервер должен иметь Restful API.
Запросы:
- GET просмотр документа по ID,
- GET получение списка ID всех документов в виде json,
- POST отправка post запроса с документом в PKCS7 конверте (выпустить также самоподписаный RSA). На сервере нужно проверять подпись и сохранять в БД, если подпись валидна.
Проект сделать на Spring Boot.
БД Embedded Derby. Использовать Spring Data JPA

Сделать maven или gradle проект клиента.
Клиент должен быть с авторизацией по логину и паролю (хранить в бд). Пароль шифровать конечно же (BCrypt).
Клиент должен по SSL(TLS) конектиться к серверу.
Клиент должен иметь возможность:
- выводить список документов,
- открывать конкретный документ при выборе его из списка,
- отправлять документ в формате PKCS7 на сервер (оптравка через GUI, путем выбора файла на диске).
Проект сделать на Spring Boot.
БД Embedded Derby. Использовать Spring Data JPA
Для gui использовать thymeleaf + material.
Исходники проектов должны быть на GitHub.

У тебя такие лабы были? Ты в ВШЭ, ШАД учился или типо того?
1626 1727552
>>727544

>>1666650

1627 1727553
>>727552
Бля, ну держи так. https://habr.com/ru/post/498406/
1628 1727569
>>727551
А что из себя документ представляет? Кроме ID у него можно просто поле content строковое сделать?
1629 1727584
>>727461
Так из JDK вообще выпилили всё что с EE связано, тот же JAXB.
EE это теперь отдельный проект под управлением Eclipse.
1630 1727586
>>727584
Это я понимаю. Но там вроде EE и CORBA независимо сосуществовали, не?
1631 1727627
>>727586
https://openjdk.java.net/jeps/320

>Since standalone versions of the Java EE technologies are readily available from third-party sites, such as Maven Central, there is no need for the Java SE Platform or the JDK to include them


Т.е. они просто почистили JDK от малополезных API. Кто сейчас CORBA использует? Но в любом случае есть возможность подключить jar и использовать дальше.
1632 1727637
CORBA
@
CDI
@
JSF
@
RMI
@
JAX-RPC


Нахуй вы кобру откопали? Она ж сдохла давно.
1633 1727652
>>727627
Только вопрос был в том, зачем CORBA API был нужен в джава-мирке, если EE (EJB) - это и была его реализация в бородатые годы.
1634 1727653
Businesses found that using EJBs to encapsulate business logic brought a performance penalty. This is because the original specification allowed only for remote method invocation through CORBA (and optionally other protocols), even though the large majority of business applications actually do not require this distributed computing functionality.
Это получается бины дергали методы кобры?
1635 1727662
>>727653
Читал какую-то мурзилку на русском по EJB, там это упоминалось.
Возможно, оно потом работало и без кобры, но по-прежнему юзало сокеты, даже чтобы залезть в соседний класс.
1636 1727667
>>727569

>можно просто поле content строковое сделать


Конечно.
1637 1727729
Посоветуйте мурзилку интересную по джава-технологиям.
1638 1727800
Привет, ребята. Помогите советом. Я более-менее разбираюсь в C/C++, можете мне посоветовать хорошую литературу по Java, но не 1500 страниц, а что-нибудь покомпактнее. Я освоил хорошо все структуры языков C/C++, мне бы с наименьшим геммором перекатиться в Java. Нужно для Android разработки.

Заранее спасибо!
1639 1727819
>>727551
вот это уже намного интереснее, спасибо.
1640 1727820
>>727729
Баэльдунг.
1641 1727827
>>727551

>У тебя такие лабы были?


подобные вот таким были:

реализовать собственную версию алгоритма слиянием, затем:
написать прогу принимающую на вход несколько файлов, с дальнейшей сортировкой реализованным алгоритмом и записью в файл.
по требованиям:
запрещено использовать библиотечные методы сортировки.
прога должна работать на системе с ограниченным кол-вом памяти.
программа должна быть способна обрабатывать большие объёмы данных.
все исключения должны быть обработаны, а не выброшены.
программа должна быть отказоустойчивой.
при аварийном завершении программы, часть обработанных данных должна быть сохранена в файле и при повторной записи должна быть перезаписана(продолжить запись с того места где остановилась.)
1642 1727903
>>727827

>при повторной записи не должна быть перезаписана(продолжить запись с того места где остановилась.)



фиксанул
1643 1727933
>>727827
Типичная байтоёбская хуйня, как у всех. Ни разу не было, чтоб такую чушь на тестовых давали.
Всегда давали спринг приложение с крудом.
1644 1727938
>>727933
Такие тестовые как у того анона дают плюсовикам.
1645 1727985
Вопрос не совсем по теме, но всё же. Есть какой-то аналог метанита по докеру?
Или может книги какие почитать? Чёт я на доске тред не нашёл, ткните носом, если что.
На проекте постоянно упоминают эти образы, контейнеры, чую скоро и с меня это требовать начнут, а я почти нихуя не понимаю в этом. Надо навёрстывать, хотя бы поверхностно.
image.png17 Кб, 647x83
1646 1728007
А можно ли это реализовать как-то без исключений?
Вводятся данные через JOptionPane.showInputDialog.
1647 1728008
>>728007
именно про строку, если ничего не ввёл, то через if (a == null) всё делается.
1648 1728015
>>727985
У меня есть небольшая книжка по доккеру и к8 на русском
Скину за sup /pr
1649 1728017
>>728008
А еще isBlank() надо
1650 1728031
>>727933
а мне дали. даже делать не стал
1651 1728079
>>728015
Название мне кинь лучше и свой отзыв.
Так-то там по любому есть что-то от орейли или типо того, но там опять будет какое-нибудь устаревшее говно на тысячу страниц, уровня спринг про.
1652 1728081
>>728031
Тестовые дольше чем на час-два делать вообще не стоит.
Да и так, только если ты ждун.
1654 1728139
>>728116
Благодарю!
image.png5 Кб, 552x108
1655 1728166
А почему код пишется не но уровне со всеми, а съезжает влево?
1656 1728232
>>728166
У тебя сломанная иде.
1657 1728295
>>668733 (OP)

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


>А: Вкатиться нельзя, ты должен был родиться программистом.



А если на 29лвл? Помню из вузовской программы сишечку и немного асму.
1658 1728298
>>728295
В джаве все 30+
Подрасти немного
1659 1728321
>>728298
Двачую, лол. На работе чувствую себя ребёнком в 22.
1660 1728494
Где можно прочитать про дао, репозитории и другие подобные вещи, откуда они берутся?
1661 1728511
>>728007
System.exit(0)
1662 1728512
>>728494
Из под пальцев разработчика.
1663 1728522
Можете пояснить за wait() и notify()
wait() замораживает тред до тех пор, пока не вызовется notify() того же объекта того же класса, но из другой функции? А если, допустим, освободится монитор, и другой тред вызовет notify() в этой же функции, пока эта же функция заморожена для предыдущего треда? Это работает для всех тредов, которые используют методы данного объекта данного класса? notifyAll() возобновляет вообще все потоки в программе?
1664 1728542
>>728494
MVC что ли?
Ну и популярные "вещи" (паттерны) можно найти в учебных примерах проектов, где-нибудь на гитхабе по кейворду "спринг". Строгого списка подобных паттернов нет, но есть самые известные.
1665 1728568
https://dumpz.org/bhYK5r4qR5sR
Класс X будет ошибкой, а класс Y нет?
1666 1728582
>>728568
synchronized void f() { ... }
=
void f() { synchronized (this) { ... } }
1667 1728592
>>728582
А блок synchronized (/поле класса/){} блокирует монитор только этого поля? Когда synchronized функция блокирует весь synchronized контент в объекте класса?
Если нет, то какой смысл засовывать в synchronized (/эти скобки/) что-то?
1668 1728598
А, все, сам все понял.
1669 1728603
>>728542
Понятно. Ну я вот тут с бд и ждбс разбираюсь, и встречаю эти термины. Думал, может есть общая мурзилка таких вещей в контексте работы с бд.
1670 1728617
>>728603
У БД в основном эти два только, и граница у них размыта. DAO - работа на уровне таблиц, оперируешь строками в конкретной таблице, репозиторий - на уровень повыше, оперируешь уже сущностями ООП. Но это очень условно.
1671 1728705
>>728568
Не будет класс X ошибкой, если доступ к cl есть только у методов класса X (а это позразумевается, т.к. cl - private).
Класс Y дает дополнительную защиту, если cl будет расшариваться за пределы класса Y. И то защита будет только если те другие сторонние пользователи объекта cl будут соблюдать контракт и использовать его с синхронизацией на оъекте как в классе.
1672 1728715
>>728705
Спасибо большое.
1673 1728723
>>728522
Самый верный способ понять что-то это закодить это самостоятельно. Тогда все становится очевидно. Попробуй, реально помогает.

>wait() замораживает тред до тех пор, пока не вызовется notify() того же объекта того же класса, но из другой функции?


Претензии к формулировке, но в принципе да.

>А если, допустим, освободится монитор, и другой тред вызовет notify() в этой же функции, пока эта же функция заморожена для предыдущего треда?


Опять претензии к формулировке. Какая нахуй функция заморожена? Замораживается поток - исполнитель функции. Вопрос непонятен, переформулируй.

>Это работает для всех тредов, которые используют методы данного объекта данного класса?


Вопрос непонятен. Другие методы данного объекта вообще ни при чем, только wait/notify/notifyAll оказывают эффект друг на друга.

>notifyAll() возобновляет вообще все потоки в программе?


Какие нахуй все потоки в программе? Только те потоки, которые "мониторят" объект, на котором они вызвали wait.

В примере на пикриле тебе крайне важно понять почему друг за другом пишутся сообщения "Inside synchronized, before wait". Конечно же это можно просто понять прочитав четвертое предложение из справки по методу, но это очевидно что ты не читал и не будешь (так как не знаешь англ. видимо). Ну и это пожалуй самое сложное и неочевидное что есть в этих методах.
1674 1728726
>>728723
Да я уже все понял. Формулировать вопросы, когда непонятно, помогает, потом сам ищешь инфу на разных сайтах (потому что на одном сайте как правило пишут не про все, а какую-то часть).
image.png27 Кб, 536x268
1675 1728768
А можно, чтобы while использовал данные из do?
1676 1728781
>>728768
Можно. Перед блоком { } обхяви.
1677 1728785
>>728781
не совсем понял, что нужно сделать
1678 1728786
>>728785
Офигеть, и такие здесь есть. Надеюсь, у тебя диплом?
1679 1728787
>>728786
а? я технический вуз не оканчивал. просто решил жабу учить, вроде бы получается, но алгоритмы свои реализовывать.
1680 1728789
>>727827
Мне понравилось, гораздо интересней очередного круда. А где такие задания дают?
1681 1728792
>>728786
При чем тут диплом?
1682 1728799
>>728768
int in1;
do {
...
1683 1728806
>>728799
Я цифру ввожу внутри Ду. Походу придется все с нуля переделывать.
1684 1728813
>>728806
Глаза открой, там только объявление, а присвоение пусть в цикле остается.

все таки прав был >>728786
1685 1728872
>>728813
попробую. вдруг поможет. про какой диплом речь я не понял.
Снимок экрана 2020-06-20 в 13.25.08.png19 Кб, 98x758
1686 1728878
анон где почитать провсякие такие хуиболы на пролях в интеллиджУльтиматЭ а то нимагу найти никак(нитока эти а вообще) пасибо
1687 1728883
>>728872
>>728813
сработало, я еще забыл, что int это объявление и не получалось присвоить.
1688 1728912
Парни, а ODBC для плюсов и пыхи чтоли созднан? Почему джава по нему не может работать и был изобретен JDBC?
В англ википедии вообще не пишут для каких языков эта апишка.
1689 1728913
>>728883
Новый блаженный в тредю
1690 1728929
>>728789
цфт
1691 1728945
>>728913
есть такое, да
1692 1728950
>>728912

> разработанный компанией Microsoft


Sun такой: "Ну в пизду с ними связываться, лучше свой разработаем".
1693 1728957
>>728950
А теперь Microsoft в комитете по openjdk
1694 1728965
>>728494
Это паттерны доступа к БД

>>Где можно прочитать про дао


обычно в контексте чистого JDBC

>>репозитории


в Spring Data
1695 1728973
>>728957
Там кого только нет, так что пох. Но Sun давно продался ораклу, а оракл, как известно, пидорасы.
1696 1728975
>>728957
ODBC нельзя вызывать напрямую из Java, т.к. там требуется делать системные вызовы.И кстати в Java был драйвер для ODBC https://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/bridge.html
Но его выпилили за ненадобностью.
1697 1728976
1698 1728998
>>727055

> Я собираюсь игру с графикой и многопоточностью запилить, но еще не придумал, какую. Естественно, ничего глобального, тип Doodle Jump или Танчики.


Нахуя делать графическое приложение на java? Это не геймдев язык. И в твоем портфолио будет не к месту.
1699 1729043
>>728998
А что делать, чтобы затронуть большинство важных функций и за одно руку набить на жабе?
1700 1729059
>>729043
Новый двач.
1701 1729085
Можно ли написать в резюме "готов на лютое легаси"?
Стикер255 Кб, 500x500
1702 1729091
>>729059

>Новый двач.

1703 1729098
>>729085
Лол, у меня реально спрашивали на собесе, готов ли я к легаси и отставанию от трендов.
1704 1729122
>>729098
И что ты ответил? Java EE 6 SOAP наше все!
1705 1729125
>>729122
Я на тот момент только рест знал и выразил готовность учить легаси. Когда пришёл, реально пришлось копаться в EE 6 и SOAP.
1706 1729127
>>729125
Хочу так же!
1707 1729131
>>729127
Не лезь, оно тебя сожрёт

Лучше СПРИНГ БУТ ГРАДЛ GRAPHQL MONGODB JAVA 14
1708 1729132
>>729131
Ну, бета-тестером пока что не хочу быть. Это для тех, кого заебала стабильность в легаси.
1709 1729143
Хочу сделать аналог одного из ресурсов, где постят смищные стори, с регистрацией, рейтингом, бд, шоб как пет проект был.
Бек или фронт не прогал вообще ни разу в своей жизни не трогал. Прогал только на си, плюсах в универе и вот сейчас джава кор дрочил. Какие подводные? Хочу для того, чтобы получить какой-никакой опыт, а то одно говно писал всю жизнь
1710 1729147
>>729085
>>729098
легаси, это когда ты в чужом говне копаешься?
1711 1729158
>>729147

> когда ты в чужом говне копаешься


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

Нет, легаси - это когда ты копаешься в коде, который писали давно уволившиеся люди, спросить не у кого, так как сюда давно никто не заглядывал, никто не помнит в деталях, как оно работает, а используемые технологии явно уходят в прошлое, и новые проекты на таком делают редко.
1712 1729161
>>729143
Оказывается, реддит изначально был на лиспе, лол.

Подводных нет. Учишь спринг и параллельно тыкаешь SQL, пишешь пару хеллоуворлдов для понимания и уже можешь писать проект.
1713 1729171
>>729158
в древнем говне.
понял, спасибо.
1714 1729241
>>728976
пасиб нашел благодаря тебе анончик
https://jetbrains.design/intellij/resources/icons_list/
1715 1729276
на какую зарплату реально претендовать в дс с двумя годами опыта жабы?
год пилил легаси, год на спрингбутах и докерах, перекатчик, сейчас получаю сотку
1716 1729305
>>729276
Если ощущаешь себя миддлом, то 130-150.
1717 1729307
>>729276
что-то мало для двух лет опыта
15923609520881.mp47,1 Мб, mp4,
1280x720, 0:50
1718 1729310
Вся суть жаба треда.
Да-да анимедаун.
костыль.png6 Кб, 1046x49
1719 1729356
Где вообще уместен подобный костыль?
1720 1729370
>>729356
Минуту смотрел на этот код, пока не допёр, что это функциональный интерфейс.

Ну, может, какой-то очень сложный билдер (или фабрика).
1721 1729404
Почему знак бекслеша в регулярках в джаве превращается в четверной бекслеш? \\\\
1722 1729416
>>729404
Для этого нужно начать сначала. Если рассматривать только регулярки в вакууме, то один бекслеш это сервисный символ, поэтому он экранируется дополнительным бекслешем, и вот их уже два. А бекслеш в строковых литералах во многих языках (и в джаве в т.ч.) это сервисный символ сам по себе, чтобы писать \r\n\t\v. Поэтому, чтобы написать даже один сервисный бекслеш регулярки в строковом литерале требуется уже два бекслеша, а чтобы его дополнительно экранировать - еще два.
1723 1729464
>>729356
У нас был некий конфиг который мы читали по ресту с другого сервера, конвертили во внутренний формат и кешировали. Конфиг состоял из большого числа секций.
Код который читает по ресту и кеширует был универсальный, а для конвертации каждой секции во внутренний формат мы использовали подобный интерфейс.
1724 1729469
>>729356
Стоп, а как это работает вообще? Что он присваивает-то?
1725 1729474
>>729469
Конструктор класса User функциональному интерфейсу с такими же параметрами.
1726 1729479
>>729474
Очень удивлен, впервые вижу эту фичу..
image.png11 Кб, 434x193
1727 1729487
>>729469
>>729356
Для тех, кого еще в непонятках держит тот кусок кода: вам для понимания недостает увидеть объявление интерфейса UserBuilder, а оно по сути обычный Supplier - принимает ничего и возвращает что-то, а как метод обзовете уже дело десятое. Возможно это хуевое знание SDK - вводить новый функциональный интерфейс при наличии подходящего аналога.
1728 1729492
>>729487
Разобрался, спасибо. Это у тебя 2к строк тестов специально для блаженных расписаны? :D
1729 1729499
>>729487
Ошибка, он должен принимать строку, как аргумент для конструктора.
Function<String, User> constr = User::new;
image.png27 Кб, 512x466
1730 1729508
>>729492
Все верно)

>>729356
>>729487
А нужен этот "костыль" много где, достаточно посмотреть применение Supplier'ов в Stream API - те же коллекторы. В общем случае это просто прием чтобы сохранить или передать "функцию", как в других языках. А в кавычках потому что передается не функция, а реализация интерфейса, вполне себе объект. Просто сделали так что конструктор без параметров подходит сейчас под функциональный интерфейс Supplier. А с параметром - под Function или UnaryOperator (как copy-constructor, например).

>>729499
Так и есть, сорян, не заметил параметр. И да, Function тогда бы подошел.
1731 1729612
>>729307
Потому и хочу искать, повышать не собираются
1732 1729643
>>729416
Разве не логичнее чтобы два раза экранировать бекслеш, писать 3 бекслеша, а не 4?
изображение.png84 Кб, 1505x803
1733 1729644
Здравствуйте. Как поживаете?

Почему spring initializr не делает <version> в зависимостях? Так разве можно? mvn compile ошибок не выдает. Это какая-то новая фича мавена по умолчанию новейшее брать? Я не знал этого.
1734 1729693
>>729404
Потому что сырые строки в джаве появились совсем недавно.

>>729643
Как тогда отличить два бекслеша от одного бекслеша и ещё одной escape sequence? Например, \\\n
1735 1729694
>>729644

>>spring initializr


он добавляет

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
</parent>

теперь спринг сам разруливает все зависимости для этой версии спринга

Ну а вообще ЕМНИП можно и не писать версию - мавен последнюю подтянет автоматом.
1736 1729695
>>729644
Мавен может брать новейшую версию, но работает это не всегда, да и лучше указывать явно. Но конкретно в спринг буте версии указаны в родительском помнике, на который ссылается <parent>, оттуда они и тянутся.
изображение.png126 Кб, 752x885
1737 1729702
>>729695
>>729694
Да, так и есть. Только у starter-parent есть еще один parent уже с зависимостями и их версиями в пропертях.
1738 1729703
>>729356
В котлине. В ламповую жабу с этим говном лезьть не смей!
1739 1729777
Я не удивлюсь, если в следующую яву опять введут какую-то ненужную фичу из котлина, типа что можно писать {} после функции, вместо последнего аргумента, если это лябмда.
1740 1729779
Че почитать про груви?
1741 1729814
>>729779
Спроси в груви-треде.
1742 1729883
Сап, двач. Есть кто работает с графами в Java за деньги? Есть приложение, в которое надо добавить функционал: проверка является ли связанным заданный граф (рекурсивная реализация).
Пишите в телеграм @alexanderstud
image.png73 Кб, 861x749
1743 1729936
почему?
image.png38 Кб, 937x320
1744 1729948
>>729936
Думай.
1745 1729949
>>729948
эта сука выходит за массив, от души, спасибо
1746 1729955
>>729948
просто я слепой и попутал i с j
1747 1729974
>>729814
Шутка в том, что такого нет?
1748 1730011
В чем писать код, в идее, эклипсе или нетбинсе?
1749 1730027
>>730011
В нетбинсе - если очень слабый комп
В эклипсе - если бумер и любишь свободное ПО
В идее - если зумер или хипстер с макбуком
1750 1730041
>>725765
Поясните за эту хуйню, после джавараша - кажется понятной и адекватной (ещё бы, писать в идее а потом копипастить в эмулятор не надо, лол, ибо жаба душит 1800рэ отдавать).
Задания не такие ебанутые.
Но у меня есть подозрения что либо ресурс хуйня, либо я хоть чему то да научился(что маловероятно).
1751 1730048
>>730041
Начал 2 недели назад заниматься, почти с нуля. Там какая то хуйня с функцией решать задачки в idea. Плагин, через который это работает кривой, задачи отображает криво и если не закрыть после решения - идея может сожрать всю свободную память и повесить комп.
1752 1730127
>>730041
Через месяц станет платной. Жри пока дают.
1753 1730138
Что угодно, лишь бы не читать книги.
1754 1730143
>>730138
Если б их писали еще толково, а не "самый полный мануал на 1к страниц по очередной модной библиотеке/фреймворку", в которых куча воды и устаревшей инфы.
1755 1730152
>>730143
Лучше всякие сомнительные курсы, ага.
1756 1730170
>>730143
Даун, для тебя есть книга "жаба для чайников, детей и стариков", точно название не помню, она вроде даже в шапке была.
Там легко и просто тебе дают вводную по жабе. Читается она легко и непринуждённо, после неё ты уже можешь начинать кодить, попутно обмазываясь другими мурзилками, тем же метанитом.
Потом сверху полируешь особенностями 8ой жабы, книгами того же Венката или Коузена, они тоже читаются легко.
Попутно гуглишь всё, что тебе непонятно, в интернетах десятки всяких бложиков и статей вроде того же баелдунга или как там эта хуита называется. Там же можно и спринг изучать начать.
Все эти курсы придуманы для наёба лохов на бабло, тебе в любом случае придётся читать и учиться самому.
1757 1730176
>>730138
Так гиперскилс и не отменяет книг. Это задачник. Я вот читаю Хорстмана. И где-то на середине первого тома понимаю, что без практики даже понятные моменты из головы выветриваются.
1758 1730200
Пиздос, а я на неск месяцев забросил их говносайт, и они решили платными стать. Удобный сервис был.
1759 1730209
Что удобнее - thymeleaf иди freemarker?
1760 1730221
>>730209
По функционалу аналогичны, но лично мне больше freemarker понравился. Нет уебанских неймспейсов из XML, удобные макросы, синтаксис менее инопланетный.
1761 1730225
>>730221
Спасибо. При беглом просмотре тоже он больше приглянулся.
1762 1730250
>>730200
Так бесплатно до января для зареганых. Как раз повод ускориться.
1763 1730367
>>730170
Иди нахуй со своей мукулатурой, я лучше мануалы и доки почитаю на том же баелданге и спринг.ио.

>>мурзилками


Комиксы по джаве? Лол, зумеры уже читать разучились?

>>Все эти курсы


Я разве писал про курсы? Хотя если хочется - есть и норм курсы, но попадаются редко. В основном вода и пересказ теории, надо искать с примерами проектов.

>>для наёба лохов на бабло


Хочешь - плати, не хочешь - не плати. Все есть в открытом доступе на торрентах
1764 1730436
Стоит ли изучать JDBC или сразу в Hibernate?
1765 1730451
>>730436
Вверху кидали мурзилки по jdbc, там на 10 минут теории, потом можешь на хибу садиться.
1766 1730455
>>730436
Воббще не стоит использовать ORM. Изучать легаси хибернейт стоит только для того, чтобы было потом понятно, как переписать на Jdbc по-нормальному.
1767 1730462
>>730451
>>730455
Мнения разошлись. Рабочего опыта не имею, по этой причине хотелось бы узнать, как люди работают в реальных проектах.
1768 1730575
>>730462

>как люди работают в реальных проектах


По-разному.
1769 1730635
>>730436
Ждбс более муторный и больше писать, зато нет танцев с бубнами.
1770 1730641
>>730635
Ждбс чуть более муторный только в плане писать, в плане отладки в разы муторнее легаси хибернейт.
1771 1730648
Поясните ньюфагу: правда ли что Swing этот ваш сейчас нахуй ненужон и нужно учить JavaFX?
1772 1730653
>>730648
Они оба нахуй не нужны, гуй надо писать не на джаве. А если пишешь для себя, бери, что больше нравится.
1773 1730655
>>730641
Я в этом плане и имел в виду.
1774 1730659
>>730653
Спасибо.
1775 1730662
1776 1730729
Читать ли шилда начинающему? Имеет ли это вообще смысл? Или есть более качественные книги по джаве? Помню когда-то читал и просто хотел вскрыть себе вены от того, на сколько это всё скучно.
1777 1730776
>>730729
Сейм было, потом пересилил и вошел во вкус. Читай Хорстмана лучше.
1778 1730787
Дефолтный спринговый favicon (листочек) на вкладке не отображается почему-то и на каждом гет-запросе ошибкой плюет:

WARN 8672 --- [nio-8080-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'long'; nested exception is java.lang.NumberFormatException: For input string: "favicon.ico"]

В шаблонах нигде я свои иконки не подключал. На мэппинге ("/") у меня вообще никаких параметров кроме Model model
изображение.png28 Кб, 782x212
1779 1730875
>>730787
Ну и нахуя они это сделали? Там какой-то пидор очкастый написал им, что дефолтная иконка это information leak, которая показывает технологию на сервере. Охуеть теперь.
1780 1730887
>>730875
И правильно сказал.
1781 1730894
>>730887
А application.property отключалась одной строчкой.
1782 1730895
>>730894
И че еблан?
1783 1730909
>>730875

> information leak


> JSESSIONID в куках


Ой, даже не знаю, наверное на сервере пыха или нода. А может это питон?
image.png42 Кб, 608x355
1784 1730923
На идею есть плагин, чтобы писать на котлине из джавы.
1785 1730951
>>730923
Троллейбус из буханки хлеба.
image.png265 Кб, 1280x1024
1786 1731523
Зачем тут закомментированный хтмл-коди как это переделать в идее?
image.png156 Кб, 1280x1024
1787 1731580
Как засунуть аплет в хтмл?
1788 1731591
>>731523
>>731580
Какие нахуй апплеты в 2020? Скипай раздел, только время зря потратишь.
1789 1731598
>>731591
разве апплеты не нужно знать всем?
1790 1731601
>>731598
Нет, их больше никто не использует. Даже более популярный флеш почти сдох, что там апплеты.
1791 1731620
>>731591
Но все-же как?
1792 1731626
Ребята, я уже почти год этого шилдта блядского дрочу, а на работе требуют прогать плк с облаком в ерп, а это кресты и 1с. Я заебался за 25к в месяц уже.
1793 1731644
>>731626

> почти год


Это потому что работа отнимает кучу времени и сил, и потом сложно себя заставить делать что-то ещё. Главное - не бросать на полпути.
1794 1731689
>>731644
Я и не бросаю, почти книжку для новичков закончил. Полное руководство еще лет на 5 растяну, наверное, а там и помирать.
1795 1731718
>>731689
Читай что-нибудь более сухое и сжатое, того же Хорстмана. Джава - это не кресты, важных тонкостей ты здесь не упустишь, потому что их очень мало. Ну а дальше фреймворки.
1796 1731812
Соц сети ведь всех заебали уже, да? Стоит ли страдать ими в качестве первого проекта?
1797 1731840
>>731812
Обычно всем пох на оригинальность, смотрят на то, что ты в принципе способен решать бекендерские задачи. Так-то они видели уже сотни социалочек, форумов, интернет-магазинов, блогов и прочих мувисёрчеров.
Напиши лютую энтерпрайз банковскую систему крч
1798 1731908
>>731812
Лучше мессенджер с e2e шифрованием запили.
1799 1731978
Чем кроме ReentrantLock можно сделать синхронизацию по порядку?
1800 1732039
В чем смысл этой конструкции?
try {
...
} finally {
...
}
1801 1732059
>>732039
Ни в чем.
1802 1732142
>>732039
Допустим, тебя похитила некая запрещённая в России организация и заставила писать на Java 6. У тебя нет try-with-resources, но ты хочешь гарантированно освободить ресурсы, а вылетевший эксепшен обрабатывать где-то выше. И ты пишешь такой код.
1803 1732208
Давайте завтра ничего в тред не писать. Будет день молчания.
1804 1732212
>>732208
В честь чего?
1805 1732214
>>732212
Рот закрой, не позорься.
1806 1732218
>>732214
В честь новых вкатывальщиков?
1807 1732219
>>732208
Не оригинально. Давайте лучше напишем хотя бы 30 постов.
максимальный элемент акак найти 1808 1732307
в массиве
1809 1732325
>>732307
Integer []arr = new Integer[]{1, 2, 3, 4, 5};
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (max < arr) {
max = arr;
}
}
System.out.println(max);

А ты думал, в сказку попал?

System.out.println(Arrays.asList(arr).stream().mapToInt(v -> v).max().getAsInt());
1810 1732333
Java Collections не нужны. Есть Vector, Dictionary, Hashtable
1811 1732340
>>732333
Все кроме массивов - баловство для котлинистов, ежжи.
1812 1732376
Какую библиотеку для графического интерфейса мессенджера использовать?
1813 1732460
>>732376
Electron
1814 1732541
>>732376
TornadoFX
1815 1732549
>>668975
Читал частично. Показалось полной хуитой. Если ты совершенно пустой в программировании то там, по ощущениям, слишком резко вводятся некоторые концепции, так что суть хуй уловишь. А если ты уже что-то шаришь, то она тебе уже нахуй не нужна, потому что есть например Шилдт.
Для начинающих имхо попизже подходит Сьерра и Бейтс
1816 1732556
>>732325
Что за залупу ты здесь написал? Это будет incompatible types. Нельзя присвоить инту массив, как и сравнить их. Ты проебал индексы arr в двух строках
1817 1732557
>>732556
Ясно, это ебаный двач их воспринимает как разметку. Ну тогда похуй [[]]
1818 1732565
>>732376
WPF. Ну или Qt.
1819 1732592
Поясните за Spring Data. Это еще одна реализация JPA, альтернатива Hibernate или они работают в связке? С чем вообще работает SD?
1820 1732606
Когда вы уже запомните...
arr[ i ][ j ]
1821 1732613
>>732606
[¡]Похуй.[/¡]
1822 1732614
>>732592
SD работает поверх хибернейта, но не обязательно, можно и поверх NoSQL сделать.
1823 1732620
>>732614
А он делает наркоманские запросы?
1824 1732623
1825 1732624
>>732606
arr[code][j][/code]
1826 1732625
>>732614
Понял.
1827 1732627
>>732624

>[code]


Тут тебе не форчан!
1828 1732628
>>732625
И как тебе поможет это знание?
1829 1732635
>>732606
а вот I и J это какой-то стандарт, типа принято так? просто я слепой и путаю i с j
1830 1732669
Такой вопрос, джаваны.
Если я уже более-менее "выучил" джава-core, написал овердохуя всяких калькуляторов на ней (работа способствует), со всякими пиздецами там в том числе, вроде лямбд, дженериков и прочей хуиты.
Так вот, что дальше поучить? Spring например, или еще что-то? Пока что работа связана со всяким ссаным энтерпрайз-говном.
image.png181 Кб, 1366x768
1831 1732672
На рабочем компе аплеты запускались, а дома вот КРАСНАЯ СТРОКА. Что сделать, кроме бочки?>>732635
1832 1732673
>>732669
Давно вкатываться начал?
1833 1732674
>>732635
Это типа конвенция. Но она довольно слабая (в сравнении с большинством других). Можешь пихать туда хоть что, хоть O и X как символ своего очка и заклеивающего его пластыря. Все равно переменные перебора циклов локальные внутри него.
photo-166148.jpg63 Кб, 604x597
1834 1732675
>>732672

>апплеты в 2020

1835 1732677
>>732669
Если на знаешь SQL, начни с него. Ну а дальше спринг, да.
image.png782 Кб, 834x564
1836 1732679
>>732635
На станках переменные x,y,z i,j,k u,v,w часто коррелируют.
Чпу-пацан
1837 1732680
>>732673
Ну, трудно сказать. Если прям говорить про первый раз когда посмотрел на джава, то года 4. Но это не моя профессия была все это время, да и сейчас я не программист, просто на формальном языке гораздо четче и сжатее можно писать алгоритмы (это и есть моя работа сейчас)
Все что я изучил нормальный человек может запихнуть месяцев в 10, я думаю
1838 1732681
>>732672

> апплеты на работе


Сочувствую.
1839 1732682
>>732675
А по существу? Как мне его запустить? Может через хтмл?
1840 1732683
>>732679

> коррелируют


значение знаешь?
1841 1732684
>>732681
Сочувствуй своей маман. Я вообще не кодером работаю.
1842 1732685
>>732682
Никак нахуй.
1843 1732686
>>732680

>нормальный человек


Прохожу мимо.
1844 1732687
>>732684
Сочувствую вдвойне, лол.
1845 1732689
>>732677
А можно сначала спринг? Я в принципе знаю основы сейкеля. Там же полтора оператора, наверное его можно за неделю поднять в голове у себя.
1846 1732690
>>732683
Не беси меня слышеш!
1847 1732691
>>732686
Не совсем понял о чем ты. Типа что я полный долбоеб и безнадежно мне что-то подсказывать?
1848 1732692
>>732689

>А можно сначала спринг


Так и быть, разрешаю
1849 1732696
>>732689
Можно и спринг, но без БД там сильно не разгуляешься. Ну, контроллер напишешь, данные будешь хранить в сырых файлах или вообще в переменной. Ещё можно с чем-то поиграться, например, с очередями.

SQL за неделю реально, самые основы можно даже быстрее.
1850 1732700
>>732691
Нет я.
1851 1732701
>>732696
Погуглил видео по спрингу. Так вот там есть core, MVC, boot и еще куча всего. это все независимые вещи, или надо какую-то последовательность их изучения? Еще качал книгу "спринг в действии". Не знаешь про нее, норм-нет? Есть годные книги?
1852 1732702
>>732675
А я хочу в легаси проект на апплеты.
мимо читал книжку по джаве 1.0.2
1853 1732703
>>732702

> по джаве 1.0.2


она не разложилась на плесень и на липовый мед еще?
1854 1732704
>>732703
Она уже не запускается ни на одном из миллиона устройств.
1855 1732705
>>732704
Да, потому что в версии 1.2 сломали обратную совместимость. Т назвали J2SE, это уникальный случай пока.
Хотя оракл должны признать, что на 9-ке тоже немного сломали, потому многие застряли на 8.
1856 1732706
>>732705
а что там такое впилили в 9?
1857 1732709
>>732701
В реальности они сильно взаимосвязаны, хоть и предполагается учить в порядке core, MVC, boot. У Boot порог вхождения пониже, чем у классического спринга, поэтому легче начать с него.

Книгу эту не читал, но достаточно популярная, многие спринг учат по ней. Сам больше по курсам/мурзилкам.
image.png1 Мб, 1000x1000
1858 1732710
изображение.png644 Кб, 1280x720
1859 1732712
>>732706
jigsaw
1860 1732713
>>732709
Не подскажешь годные курсы по нему? На свободном ютубе или пизженные на торрентах например
1861 1732717
>>732672
О, блаженный вернулся со своей виндовс виста.
Текстовые файлы научился читать?
1862 1732723
>>732713
Помню, что смотрел это, остальное забыл. Но там не только спринг, но и немного EE.

https://www.youtube.com/watch?v=P_W3NbkwdIM&list=PLVJtKDGxOX1V8NpyHUAkrdezZDvgDhe4b
1863 1732727
Пойду контрибутить в спринг, удачи лошки.
1864 1732729

> обратная совместимость


> больше нельзя назвать класс var

1865 1732730
>>732723
Окей, спасибо анон. Гляну это.
1866 1732733
>>732729
Надо было быть ебланом чтоб назвать класс var, не? Класс вообще в Java конвенционально называется с заглавной буквы
1867 1732764
>>732727

>fixed typo in README.md

1868 1732765
>>732733
Да, и всё же это означает, что о 100% обратной совместимости говорить нельзя.

Хотя какие уж тут 100%. https://stackoverflow.com/questions/46398300/glassfish-5-0-exception-and-port-4848-not-responding
1870 1732774
>>732765
Кого ебет эта поебота вообще, которую ты привел в пример. Плохо когда теряется совместимость на уровне какой-то сложной семантики. А это твое говно с варами можно пофиксить пропустив исходник через программу которую любой школопидор напишет.
1871 1732778
>>732729

>Нельзя назвать переменную _

1872 1732780
>>732778
А какого хуя, кстати?
1873 1732783
>>732774
Не всегда есть исходники.
1874 1732785
>>732780
Будет очередная говнофича из котлина.
1875 1732786
>>732783
А в чем тогда вообще проблема? Зачем тебе переменные в уже откомпиленном коде?
1876 1732788
Так ведь в байткоде имена переменных затираются. Почему уже скомпилированный jar должен сломаться, если ввели кейворд var?
1877 1732789
>>732786
Импортировать и использовать, например. Классы же не просто так пишут, чтобы их больше никогда не использовали.
1878 1732795
>>732789
Я может быть конечно не совсем понимаю все тонкости разработки, но как блять можно импортить что-то не из джава кода, а из откомпиленного байта (который тащем-то точно так же можно пропарсить и исправить имена переменных, а машкод если б джава его создавала вообще не имеет имен, только адреса). Ты точно не несешь хуйню? Проверь еще раз плес.
1879 1732796
Поясните момент.
Я хочу прнтврайтером открыть файл и записать туда что-то.
Пишем
PrintWriter out = new PrintWriter ("C:\\filename.txt");
try {
out.println(text);
} catch (Exception ex) {
System.out.print(ex);
} finally {
out.close();
}
Почему я не могу написать, вместо Exception ex, FileNotFoundException ex???
Идея не даёт этого сделать подчёркивая красным, пишет Exception is never thrown.
А какое тогда исключение выбрасывает метод println, класса PrintWriter??
1880 1732798
>>732796

>А какое тогда исключение выбрасывает метод println, класса PrintWriter??


Ты настолько тупой, что решил спросить это на дваче, вместо того, чтобы посмотреть в идее?
1881 1732800
>>732795

> как блять можно импортить что-то не из джава кода, а из откомпиленного байта


То есть ты сейчас утверждаешь, что библиотеки в джаве невозможно использовать, если у тебя нет от них исходников, а только откомпилированные классы, да?

> пропарсить и исправить имена переменных


Ну и кто этим будет заниматься, если проще сидеть на древней джаве?
1882 1732801
>>732798
Он выбрасывает FileNotFoundException, но если так написать, то не работает, подчеркивает красным и вылетает ошибка. Я вроде написал выше.
1883 1732802
>>732796
ты уверен что он вообще что-то бросает? попробую удалить к хуям трай-кэтч-сурраунд
1884 1732804
>>732796
Код пиздеж. Тут конструктор только потребует эксепшн.
1885 1732808
>>732801

> Он выбрасывает FileNotFoundException


мануал оракла с тобой не очень согласен
1886 1732810
Ясно. Спасибо! Счастья вам в личной жизни.
1887 1732905
Джавогоспода, как посмотреть байт-код скомпиленного класса в его наиболее нативном представлении? Я так понимаю, что если смотреть в Intellij то этот пидор старается из него обратно слепить исходник как может. А что там в нем реально содержится можно увидеть в Intellij или еще где-то?
 .png45 Кб, 773x407
1888 1732916
1889 1732921
>>732905

> наиболее нативном представлении


Через hex-редактор.
1890 1732923
>>732916
а для виндобляди не могущей в консоль?
1891 1732925
>>732923
То же самое, лол. У тебя же переменные сред прописаны для джавушки.
1892 1732929
>>732925
ну из под Intellij это можно как-то посмотреть? сорян что я такой долбоеб
1893 1732932
>>732929
Вроде бы есть Bytecode viewer там. Плагин наверное.
1894 1732946
>>732932
благодарю
1895 1733002
Это правда, что для большинства современных жаба вакансий надо еще жабаскрипт учить и веб разработку? А если без этого, на что уклон делать?
1896 1733055
>>733002
Ну не большинства, но частенько, да.
На самом деле,, везде стремятся заставить бекендеров заниматься фронтом, потому что один фуллстек тупо дешевле двух отдельных разрабов.
1897 1733061
>>733055
Лучше бы jsp писали как раньше и ЕЕ, а то напридумали, что теперь длжавист еще и реакт должен знать.
1898 1733063
>>733055
Создаю form в хтмл, отправляю кнопкой, а мне в контроллер приходят нули. Отправляю через постман через х-ввв-форм - все работает как надо. Где я обосрался?
1899 1733067
>>733055

> везде стремятся заставить бекендеров заниматься фронтом


Где-то стремятся, но далеко не везде

>один фуллстек тупо дешевле двух отдельных разрабов


Если двое отдельных на 100% загружены своими задачами, не дешевле
1900 1733073
>>733063
name у input
1901 1733076
Хуя актив под 2к постов разошелся.
1902 1733084
>>733061
С JSP джависта всё равно можно заставить заниматься фронтендом. Даже если не будет реакта, будет ебучая вёрстка.

>>733067
Есть другие варианты. Немного увеличить сроки релизов, но зато держать меньше человек, если бизнес это устраивает. Также, если для фичи дорабатывается и клиент, и сервер, один фуллстек быстрее разберётся, что нужно делать, чем пока поставят задачу на клиент, пока фронтендер и бекендер договорятся, и пока решат проблемы, возникшие из-за недопонимания. И если таких фуллстеков целый штат, сроки если и увеличатся, то незначительно, а платить отделу нужно будет меньше.
1903 1733087
Вот если бы все юзеры умели в консоль, то не нужен был бы фронтенд. Все бы просто отправляли запрос с параметрами и получали ответ.
1904 1733092
>>733087
Изначально умели, а потом, сука, разучились.
1905 1733098
>>733084

>>JSP


>>будет ебучая вёрстка.


Разве не для этого придумали thymeleaf?
1906 1733100
>>733073
Спасибо анон.
1907 1733104
>>733098
Это просто шаблонизатор. Ты можешь подставить какие-то данные или сгенерить несколько элементов в цикле, но ты по-прежнему используешь теги html/стили css.
1908 1733109
>>733104
Впрочем, возможно, в JSF как-то по-другому, но хз, как именно. У меня по непонятным причинам настолько лютое отвращение к JSF, что вообще ничего не хочу о нём знать.
1909 1733117
>>733104
Но margin-left с бутстрапом можно отдать верстальщику, пускай ебется с пиксель перфект, а джавист может просто вставить th:${username} в дивы и все. В jsp скорее всего ебаться придется от и до, в браузере же его так просто не откроешь.
1910 1733125
>>733117
Джавист у себя добавит все эти th, увидит, что после подстановки данных макет съезжает, и фронтендеру опять переделывать. Хз, как было до изобретения модных фреймворков, но предполагаю, что фронтендеры либо делали и переделывали всё вслепую, либо сами учили шаблонизаторы, добавляли th и запускали у себя. Процесс выглядит так себе.
1911 1733126
>>733117

> в браузере же его так просто не откроешь.


А как ты на сайте оракла тогда авторизуешься? Тамл login.jsp
1912 1733129
>>733126
Да хоть login.exe, лол. Клиенту попадёт уже отрендеренная страница, верстальщику же придётся для этого поднимать сервер у себя, что тоже ебля.

мимо
1913 1733189
>>733125
Я как бэкендер лучше б джейсоны выкидывал фронту, а он уж пускай как хочет их отображает. останется только решить вопросы по апи - пост/пут и 200-ок-юзерЕррор-в-теле вместо 404
1914 1733200
>>733189
Поэтому модные фреймворки и изобрели, чтобы были тонкие универсальные json-ки вместо возни с рендерингом на сервере. Бекендеру больше не нужно думать, что там на фронте, фронтендеру не нужно пересобирать сервер, чтобы увидеть результат.

Всегда отправлять POST, всегда возвращать 200. Похуй на рест, похуй на целостность горящих жоп.
1915 1733286
Вы тут все такие умные, сколько вы зашибаете? Мимо-долбоеб из /б
1916 1733350
Двачаны, поясните один аспект.
Суть задачи состоит в том, чтобы изнутри метода изменить состояние логической переменной, лежащей вне его скоупа. Понятное дело, что с обычным boolean ничего не получится, потому что он тупо передается как значение и не меняется больше никак снаружи. Так вот: почему если я в метод передаю тип-оболочку Boolean, и меняю ее внутри метода, наружу никакие изменения не распространяются (на переданный в качестве аргумента внешний Boolean)?
Помогает только написание собственного типа-оболочки типа
class OutBool{boolean b;}
В этом случае все работает как надо.
Почему не работает с встроенными типами-оболочками? Это компилятор так наёбывает чтоб они минимально отличались от простых типов, или я тупой где-то? Олсо, как-то можно решить подобную задачу в Java более красиво, чем каличные оболочки? (вроде модификатора out у аргумента в C# или var в Поцкале)
1917 1733352
>>733350

>Так вот: почему если я в метод передаю тип-оболочку Boolean, и меняю ее внутри метода, наружу никакие изменения не распространяются


Потому что сцылка копируется. А вообще код покажи.
1918 1733353
>>733350
Не, компилятор не наёбывает.
Встроенные типы-обёртки иммутабельны. Максимум, что можно сделать с ними - создать новый объект и присвоить старой ссылке, что ты, наверное, и делал. При этом изменится только значение аргумента метода, оригинальная ссылка, с которой ты вызвал метод, остаётся как есть, потому что ссылки передаются по значению, то есть просто копируется адрес.
Но в своей обёртке, хоть ссылка в методе уже другая, указывает она на тот же объект. И через новую ссылку можно изменить данные в этом объекте, потом изменения будут видны в месте вызова.
1919 1733356
>>733353
К слову, если бы Боолеан был мутабельный, было бы то же самое.
1920 1733361
>>733353

> что ты, наверное, и делал


Нет. Именно переданное в аргументе меняю походу исполнения внутренней логики. Но эти изменения не проходят через ссылку на "наружную" переменную.
Если заменять Boolean на самописную оболочку, больше вообще ничего не меняя в коде, то все взлетает. Олсо, если делать неизменяемой переменную-носитель состояния внутри типа оболочки, то все тоже конечно наебываться (ошибка компиляции, попытка менять final-переменную)
Насколько знаю для String сделаны наебские механизмы, которые делают работу с ним немного особенной (ирл стринги иммутабильны). Похоже, что и здесь то же самое.
ща запилю кусок кода
1921 1733369
А есть способ проверить наличие объекта какого-то класса в ArrayList? Предположим у меня есть классы А, В и С. И объекты этих классов могут лежать в ArrayList, а могут и не лежать. При чем значения полей объектов рандомные и я их точно не знаю, то есть мне не проверить наличие конкретного объекта методом contains(). И вот как проверить, что, например у меня сейчас нет в листе объектов класса С, а А и В есть?
code.jpg73 Кб, 972x425
1922 1733370
>>733353
>>733352
Вот в таком виде все работает. Но если вместо объекта OutBool запихать туда обычный Boolean, то переменная ifp в том блоке, где делается вызов, "не чувствует" никаких своих изменений внутри метода, куда она передается, хотя сами по себе такие изменения не запрещены.
1923 1733371
>>733361
Integer in = 1;
in = 2 эквивалентно in = new Integer(2);
>>733356
Почему?
1924 1733372
>>733369
есть же instanceOf, типа можно проверить является ли какой-то объект типом какого-то класса
Есть еще получение типа класса через рефлексию
1925 1733373
>>733372
Ну да, я так и делал перебором (через instanceOf). Но подумал, вдруг есть какой-то другой крутой способ.
1926 1733375
>>733370
Олсо, я знаю что здесь все по-уебански сделано с прямым доступом к переменной и всем таким. Это не для реальной работы код просто, здесь это похуй
1927 1733377
>>733373
Ну можно проще, но еще более уёбищно сделать: создать в суперклассе, или общем для них интерфейсе, метод который будет возвращать что-то вроде "Я объект А!!!1", и тупо вызывать его for each, фиксируя что оттуда прилетает.
Если arrayList без дженериков то можно сделать какое-нибудь мегауебанство вроде завернутого в try-catch вызова метода, имеющегося только у A (например) с поимкой эксепшенов которые оттуда полетят. и если хоть раз пройдется этот блок, то значит A там есть. Теперь это ебанутых костылей тред
1928 1733378
>>733370
Короче, прочти это. Там пример с Dog dog изучи.
https://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value
1929 1733387
>>733378
Зачем ты притащил это говно мне? Я нормально понимаю как в Java передаются аргументы. Нигде на моем скрине не происходит переприсвоение переданной ссылке нового объекта, как с этими собаками.
Олсо, этот >>733371 уже подтвердил то что я так подозревал. Для оболочек компилятор видимо делает такой вызов неявно, примерно как для стрингов.
1930 1733389
>>733387

>Нигде на моем скрине не происходит переприсвоение переданной ссылке нового объекта, как с этими собаками.


На скрине нет, а если бы ты как раньше обычную Boolean присваивал = true, она бы преобразовалась в new Boolean(true)
1931 1733396
>>733389
Ну так откуда это знать, если оно делается неявно? Разве что опытным путем на это наткнуться (как я) или где-то прочитать, но я такое помнил только для стрингов. Да, я такой долбоеб что решил спросить на дваче а не в гугле
1932 1733398
>>733396
Про автобоксинг знать надо. Он еще в джаве 5 появился.
1933 1733414
>>733398
Автобоксинг и авторазбоксинг сами по себе тут никаким боком не виноваты. Особенность их реализации, что, оказывается, при присваивании логического литерала вызывается конструктор типа - это да. Но могло бы быть и иначе (литерал просто присваивался бы внутреннему состоянию Boolean-объекта), и это все равно было бы автоупаковкой.
Попробовал сделать вместо присвоения литерала присвоение enum объекта Booleam.FALSE и тогда уже только IDE показало что оно оказывается final
1934 1733493
Опытные господа. Поясните за соотношение сложности вкатывания между самим языком Java, и фреймворками которые нужны для реальной работы на нем.
50/50 примерно?
1935 1733503
>>733493
Зависит от бекграунда. Если до джавы не кодил, то примерно поровну. Если кодил - где-то 15/85.
1936 1733504
>>733503
Что, реально во фреймворках зашито столько всякой еба-сложной механики, что она сложнее самого языка в разы?
1937 1733514
>>733504
Вроде того. В языках ведь только самое необходимое, продвинутые фичи идут отдельно, потому что всем нужно разное.
1938 1733524
>>733493
Ты неправильно вопрос ставишь. Надо понимать для начала, что ты хочешь сделать.
"Я хочу сохранять сущность в бд".
Можно сделать это руками, без спринга. Можно использовать спринг. Можно (иногда скорее нужно) использовать и то и другое, несколько бд, кучу сущностей, SQL синтаксис в перемешку со SPeL и прочий пиздос.
Загуглить как это делается недолго. Ещё быстрее открыть готовый проект и посмотреть как делалось там.
Фреймворки созданы не для того, чтобы усложнять жизнь, а наоборот. Я хз что ты там учить собрался, в том же спринге. Круды делать можно научиться за пару вечеров, а всякие кишочки ты может и не увидишь никогда. А если увидишь, то просто за 3 минуты загуглишь, переделаешь под свои нужды и пойдёшь дальше.
image.png55 Кб, 859x658
1939 1733764
>>733350
>>733370

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

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

Получается так, что переменная, переданная в метод, доступна по факту "только для чтения". Записать в нее конечно же можно, если она не final, но т.к. это локальная переменная, то никто за пределами метода не увидит изменения. Поэтому присвоенные примитивы и ссылки валидны будут только внутри метода. Другое дело со ссылочными типами (объектами) - хоть ссылка и доступна "только для чтения", изменять данные объекта, на которые ссылается ссылка, никто не запрещает. Поэтому функционал out-параметра метода возможен только мутабельными враппер-классами, immutable классы не подойдут по той же причине - они только для чтения. Поэтому крайне необходимо знать какой класс SDK является иммутабельным, а какой не является. Все классы-врапперы над примитивами (Integer, Long, Boolean...) и String - все они immutable и для твоей задачи не подходят. Помимо своих собственных оберток можно использовать следующие классы: массивы (внезапно это ссылочный тип), коллекции, StringBuilder, атомики (AtomicReference, AtomicInteger...).

И напоследок: хоть так говнокодить и можно, но стараются так не делать, потому что сейчас все вокруг начинают осознавать преимущество чистых функций (это термин, с ним необходимо быть знакомым). Решение конкретно твоей задачи сводится к введению нового класса GetCutsResult с методами getList() и isFirstPoint(), и возвращению экземпляра этого класса из метода. Как быстрый говно-аналог, можно из метода возвращать Object[] res = new Object[] {list, true}; или любой другой контейнер, например Map<String, Object>.
1940 1733796
>>733764
В 2160 строке возможен эксепшн, но не суть.
1941 1733833
Пора бы перекат сделать, но чет так лень
1942 1733844
>>733833
Хули так рано, 5000 не было ещё.
1943 1733856
>>733369
Сложность предложенного тобой решения - O(n). Конечно зависит от задачи, но это уже попахивает, у нас даже ждунов разворачивают при таких решениях. Кстати, в Java 8 бакеты в хешмапе превращаются из списка в дерево уже при восьми элементах, можно взять на заметку. В общем это повод задуматься, возможно тебе уже нужен класс-обертка или метод хелпер, выбирай.
1944 1733858
>>733764
Да все и так понятно было, но спасибо за такую усердную емкую попытку. Я обо всех этих вещах в курсе, прост не знал что оболочки над примитивами относятся к неизменяемым.

> Решение конкретно твоей задачи сводится к введению нового класса


Да я бы так это и сделал, если б с нуля писал. Просто на момент когда появилась надобность фиксировать это новое состояние, и выпихивать его как-то на вызов, весь остальной код уже был написан и нормально работал. Это стало максимально быстрым решением.
1945 1733860
>>733858
Пожалуйста. Решение публичное, это же форум, может кто-то другой найдет там для себя новое/полезное.
1946 1733865
>>733856
пик 2, 2147: нельзя добавлять у себя, не проверив результат метода родителя, но принцип ты понял.
1947 1733868
>>733796
>>733865
Блять, ревьюю свой код и нахожу у себя же ошибки, ебаная внимательность.
1948 1733870
>>733856
Давно в разработке? Что бы посоветовал почитать/покурсить новичку в Java?

> даже ждунов разворачивают


а какая у тебя условная позиция в этом буссинесе?
1949 1733886
Вы тратите время на написание утилитных классов для более удобной работы с бизнес-логикой, или просто через листы и мапы хуярите?
1950 1733888
>>733350

>как-то можно решить подобную задачу в Java более красиво, чем каличные оболочки?


AtomicBoolean
1951 1733889
>>733373
stream().groupingBy(Object::getClass)
хуй знает полетит или нет
1952 1733891
>>733889
То есть .collect(Collectors.groupingBy(...)). Дальше разберешься.
1953 1733894
>>733886
Что значит удобной? В первую очередь типобезопасной. Если в мапе хранить обжекты и каждый раз их кастить к нужному типу, рано или поздно это выстрелит в рантайме.
1954 1733898
>>733894
Нахуя в мапе хранить объекты разных классов? Я не об этом. А о Map<String, List<BuisinessZalupa>>
1955 1733902
>>733898

> Нахуя в мапе хранить объекты разных классов?


Чтобы не писать новые классы, как в динамической дрисне JS/Python.

> Map<String, List<BuisinessZalupa>>


По-разному бывает.
1956 1733903
>>733870
Сеньор-помидор, часто собеседую кандидатов и коллег, лол, ревьюю код и коммичу в мастер. В тырпрайзной разработке с 10го, конкретно в Java с 15го.

Советовать я ничего конкретного не буду, т.к. это все субьективно и научиться можно по любому материалу, кроме пожалуй >>719717 вот этого. У каждого источника есть плюсы и минусы: книги всеобъемлющи но скучны, видосики наглядны но очень медленны и однобоки, курсики забавны (но беседы с роботами на джавараш это перебор) и интерактивны но платные не могу придумать минусы, курсиков по джаве не проходил. Я открыт к любым источникам. По книгам могу показать свои, вот, но не скажу что читал все, а те что читал, они все похожи (ну еще бы, предмет обсуждения ведь не меняется) и по-своему неплохи.
1957 1733905
>>733764
Ну конечно нам до твоих объяснений далеко, мы и не претендуем.
1958 1733910
>>733903
Эккель не сильно древний динозавр? Видел недавно в магазине думай-джаву его, бумажную, с ёба-скидкой. Решил не брать потому что там наверное какая-нибудь джава-5 еще
1959 1733913
>>733903
Возьми меня на работу ДС?. Я буду кофе наливать всем и жрать печеньки.
image.png414 Кб, 1920x931
1960 1733914
>>733910
Очень древний. Некоторые вещи конечно остались прежними, но очень многое поменялось с фичами языка и SDK.
1961 1733944
Не переживайте о перекате, я предупрежу жирным шрифтом, когда тред будет самым последним в /pr
1962 1733951
>>733944

>когда тред будет самым последним в /pr


Ты не в оракле работаешь?
1963 1733971
>>733951
Нет, я не перекатываю каждые полгода.
1964 1733998
>>733856
Взглянул на функцию 1 пик, сначала как не допер, а потом допер.
1965 1734012
ЭТОТ ТРЕД САМЫЙ ПОСЛЕДНИЙ В /PR
1966 1734013
>>734012
Пиздишб
изображение.png197 Кб, 1158x833
1967 1734014
>>734012
Самозванец.
изображение.png7,4 Мб, 1814x2076
1968 1734015
Вот картинка на перекат. Давно дуркасофт не форсили.
image.jpeg45 Кб, 256x192
1969 1734071
Помогите, пожалуйста зелёному. Что относится к паттернам написания «правильного» кода и основным паттернам проектирования кода?
1970 1734117
>>734071
Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. - Приемы объектно-ориентированного проектирования (т.н. "банда четырех")
Сам не читал, но это насколько знаю считается библией паттернов
1971 1734144
Кто не спит?
image.png379 Кб, 641x456
1972 1734157
>>734144
Кто?
1973 1734424
>>734117
Спасибо, почитаю
1974 1734607
Ребята, хелпаните, у меня уже крыша протекает (

Я в проекте использую logback

Библиотека, которую я подключил предоставляет slf4j-api НО у себя в классе использует логгер log4j

Как я должен настроить логирование, чтобы получать месседж и из библиотеки и из моего проекта?
Пиздец какой-то
1975 1734751
>>734607
Не знаю чел, я ебнулся, пытаясь это понять.
1976 1734765
>>734607
JEP: need new universal logging api without shit and lambdas
1977 1734775
В следующий раз когда в тред придут пердольщики с jFX, у которых не запускается, их можно послать скачивать liberica jdk fx и проблем не будет.
1978 1734890
>>734775
А лучше сразу Qt или Visual Studio.
1979 1734896
>>734890
Delphi 5
1980 1735102
>>734775

>jFX


Откуда они эту хуйню берут вообще?
На каких-то охуенных модных современных курсах "Вкат за 72 часа" ?
1981 1735115
>>735102
Ну как же. Для многих программирование - это когда программа с окошечком получается.
1982 1735135
>>735115
ебать браузерщик запекся. несите еще одного
1983 1735141
>>735115
>>735102
Поясните за хейт джаваFX. Почему она ненужна?
Снимок экрана 2020-06-27 в 15.23.50.png418 Кб, 3216x1128
1984 1735224
анон я походу что-то не понимаю, поясни будь добр, почему я не могу написать mappedBy в manyToOne?
или ссылОчку, почитаю, ибо уже второй день ебусь с этой хуетой
спасибо
1985 1735227
В чем разница <? super E> <? extends E>?
1986 1735273
>>735227
Уже спрашивали 5 тредов назад.
1987 1735274
>>735273
Збс, пойду искать.
1988 1735277
>>735227
Это маски (wildcard) для указания какие классы могут быть подставлены в скобочки. Вопросик это "что угодно", как звездочка в обычном поиске. А super и extends это выше и ниже по иерархии наследования.
Например, Object <- Throwable <- Exception <- RuntimeException
Если указано extends Throwable, то подставить можно любых наследников этого класса, ну и сам этот класс.
А если super Throwable, то только предков этого класса и сам этот класс.
Указываемое ограничение влияет на список доступных методов у параметра-дженерика.
1989 1735279
>>735277
Спасибо.
1990 1735315
>>735227
Дополню этого >>735277 анона.

На практике это выглядит вот так:
List<? extends Number> numbers = Arrays.asList(1, 2.0);
Number number = numbers.get(0);
numbers.set(0, number); // ошибка компиляции

В отличии от
List<? super Integer> numbers = Arrays.asList(1, 2);
Object number = numbers.get(0);
numbers.set(0, 3);
1991 1735317
>>735224
Не с той стороны пишешь, mappedBy это атрибут @OneToMany, а не @ManyToOne как ты пытаешься.
1992 1735320
>>735141
Десктоп приложения на Яве не в тренде, про них не говорят на конференциях, не пишут в модных журналах. Потому смузихлебы с подворотами считают, что JavaFX нинужна.
1993 1735322
>>735317
ок спасибо
может знаешь статью где об этом почитать можно было бы
а то я то исправлю а понять то хочется
1994 1735324
>>735322

>статью


Не статью, а мурзилку. У нас тут так говорят.
1996 1735328
>>735324
понял. принял
>>735326
спасибо огромное
1998 1735333
>>735326
так это правильно писать mappedBy под @Joincolumn?
1999 1735334
>>735320
Это смузихлёбы как раз пишут десктоп на жабе вместо того, чтобы писать на ней то, для чего она предназначена.
2000 1735335
>>735324
Мурзилка - это скорее не статья, а бложик или сайтик с несколькими такими статьями.
2001 1735337
>>735332
Тред не последниий!
Снимок экрана 2020-06-27 в 18.32.18.png74 Кб, 662x996
2002 1735341
>>735326
"The @JoinColumn annotation helps us specify the column we'll use for joining an entity association or element collection. On the other hand, the mappedBy attribute is used to define the referencing side (non-owning side) of the relationship."
ну вот потому я и не понял в чем ошибка то
2003 1735346
>>735335
Баелдунг это и есть мурзилка.
2004 1735349
>>735333
Это разные типы отношений. @Joincolumn - это однонаправленное отношение. А mappedBy - двунаправленное.
2005 1735351
>>735334

>вместо того, чтобы писать на ней то, для чего она предназначена


Кофеварки что ли?
image.png208 Кб, 1920x906
2006 1735353
Ну что вы чуть-чуть не дотерпели...
2007 1735355
>>735315
Тоже спасибо.
Но у меня вопрос, почему это скомпилировалось
List<? super Integer> numbers = Arrays.asList(1, 2.2); ?
2008 1735364
>>735355
Double это Number который суперкласс Integer так что с т.з. типов тут все ОК.
image.png69 Кб, 586x344
2009 1735370
>>735364
Это получается все вот эти классы подходят?
мимо
2010 1735381
>>735370
Вообще все подходят, потому что они от Object унаследованны.
List<? super Integer> numbers = Arrays.asList(1, 2.2, "ABC");

Констраинт extends будет работать на возвращаемые значения
T get()

А констраинт super на аргументы метода
void add(T)

Поэтому из одного листа ты читаешь Integer, но ничего не можешь туда добавить. А в другой можешь добавить Integer, но читаешь оттуда только Object.
ВНИМАНИЕ 2011 1735393
Сидим дальше в этом треде.
2012 1735394
>>735381
Просто запомни PECS.
2013 1735520
Перекат пиздец
2014 1735750
Сидим тут.
2015 1735754
А че перекат потерли?
2016 1735756
>>735754
Хуевый был.
2017 1735757
>>735756
Потому что аниме тянок начали обсуждать?
2018 1735758
>>735757
Конечно. У нас тут вообще-то сириус бизнесс.
image.png364 Кб, 820x723
2019 1735762
15932904680840.jpg260 Кб, 897x938
2020 1735776
>>735757
>>735758
Вот для переката кстати.
2021 1735822
Ньюфаг из хере.
Как создать файл на рабочем столе? Откуда взять путь?
2022 1735864
>>735822
FileSystemView.getFileSystemView().getHomeDirectory()

а вы говорите Swing не нужен
2023 1735870
>>735102
Сейчас читаю Хорстманна. Через пару недель дойду до глав с gui, а в конце первого тома отдельная глава по javafx.
Не читать ее или как?
image.png41 Кб, 907x416
2024 1735876
>>735822
Нюфаг не умеющий в гугол навсегда таковым и останется. Ладно бы что-то сложное было, но ответ в первой же строчке и без перехода по ссылкам >.<
2025 1735883
>>735876
Совет говно, если у пользователя изменено дефолтное расположение рабочего стола то эта хуйня не будет работать.
2026 1735886
>>735876
Гуглил конечно. Просто я находил целые телеги кода, которые берут путь из реестра. Меня это смутило.
2027 1735887
>>735870
Я скипнул.
Ещё читал какой-то другой талмуд по джаве, и треть объёма была по свингу. Тоже скипнул целиком.
ролордл.PNG30 Кб, 511x573
2028 1735895
>>735887
Ты советуешь только последнюю главу скипануть? Или все gui? Просто я совсем новичок, а у Хорстмана главы не особо независимые друг от друга. А глава "Параллелизм" я думаю мне точно нужна будет.
2029 1735911
>>735883
Бесспорно, решение от 2009 года не идеальное, хотя бы потому что наверняка сейчас более свежее есть, как например System.getProperty("line.separator") и новый System.lineSeparator() из Java 7. Но оно будет работать и сейчас в 99% случаев. Во-первых, только долбоебы начинающие пользователи используют рабочий стол как свой workspace, у нормальных людей там лежат только пара ярлычков. Во-вторых, мало кто знает, особенно среди людей из первого пункта, что можно переопределять путь таких директорий. В-третьих, тому нюфагу, который задал вопрос, хватит и такого решения, он другие может не понять. А если ему всё-таки не подойдет, посыл поста был - попробуй найти сам. Самое идеальное будет дернуть винапишку SHGetSpecialFolderPathW, ты это предлагаешь?

>>735886
Так и есть, можно через реестр, а всего стульев примерно 5:
1) Через систем проперти что выше
2) Через реестр
3) Вон там предлагали свинг, возможно и через него, он GUI-ориентированный, вполне может сработать
4) Через винапи (самый годный, но не самый легкий)
5) Через сервисные имена папок, CLSID (может не сработать, не знаю, щас попробую попробовать)
2030 1735913
>>735895
"Параллелизм" читай, конечно. Остальное по gui скипай.
Ну или прочитай всё, но это будет чисто для себя, на работе почти наверняка не пригодится.
2031 1735918
>>735822
Лучше сделай диалог с выбором пути и сохраняй там, где укажет пользователь. Если будешь принудительно лезть на рабочий стол, то многие пользователи тебя будут ненавидеть, у них там и так либо срач, либо чистота, за которой они следят.
2032 1735919
>>735911
У меня переопределены Downloads, Pictures и Documents, но не Desktop. Рабочий стол никогда не видел смысла переносить.
2033 1735930
>>735911
Спасибо. Просто я хотел узнать, какой стул более кошерный, если будет условное задание "создай ярлык на раб.столе у пользователя".
2034 1735935
>>735930
Классический пример "Проблемы XY" - хотел спросить "как создать ярлычок на рабочем столе у пользователя", а вместо этого спросил "как получить рабочий стол". Следующим этапом у тебя по идее будет идти "как создать файл в формате ярлычка windows", и тут опять же нет легкого пути - чрлычки не текстовые, а бинарные - либо изучать их формат и писать сырой файл, либо дергать винапишку.

А в общем хотелось бы заметить что у тебя задания странные, и знаешь почему - потому что они платформозависимые. Никто на собеседовании по джаве или в тестовом задании тебя никогда не должен попросить о таком, если ты только не на десктоп идешь. А отношение к десктопу на джаве очень плохое, даже в этом треде уже всплывали нехорошие слова.
2035 1735960
>>735935
Нет, про ярлык я для примера написал. Просто, решил сделать некое подобие программки, которая очищает папку TEMP в винде от мусора, после чего создает на рабочем столе txt файлик с записями: "Такие-то файлы успешно удалены".
2036 1735964
>>735911
Нет, через CLSID не получается - ни Paths, ни URI не распарсивают "file:///::{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}/hello.txt", жалуются на ":" в строке (после схемы file:// уже). Винить их в этом нельзя, это действительно не валидный файловый путь, а хуйня какая-то, только виндус эксплорером распознаваемая. Наверное можно найти нужный OLE компонент, разобраться как общаться с ними из джавы в принципе, и передавать CLSID туда... Так что это тоже такой себе путь.
Я всё ещё здесь 2037 1735965
Жетбрейнс не правы, идею нужно срочно переписать на C++ или C#.
2038 1735966
>>735911

>Самое идеальное будет дернуть винапишку SHGetSpecialFolderPathW, ты это предлагаешь?


Я предлагаю >>735864
Swing вполне успешно показывает все эти специальные папки и делает это кросплатформенно.

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


Внезапно https://support.microsoft.com/en-us/office/files-save-to-onedrive-by-default-in-windows-10-33da0077-770c-4bda-b61e-8c8e8ca70ac7
И там путь будет C:\Users\vasya\OneDrive\Рабочий стол
2039 1735973
>>735960
Ну как видишь "рабочий стол" получить не очень тривиально. Такая схема как ты описал действительно имеет место быть, программы часто сохраняют логи своей работы в тестовый файлик. Вот примеры таких мест:
1) Рядом с экзешником (в нашем случае - с джарником) (получить легко: Paths.get("") или Paths.get("."), .toAbsolutePath() по желанию)
2) В корень диска (это обычно при установке драйверов, обычные не-elevated программы доступ на запись в корень диска C: не получат)
3) В тот же TEMP
4) В папку юзера (C:\Users\%Name% - получается гарантированно кросплатформенно через проперти user.home)
Таак что советую вместо рабочего стола выбрать 1, либо 4.
2040 1735977
>>735966
Дикость что Майкрософт поощряет и одобряет такое поведение - использование рабочего стола как склада файлов. Но от них можно ожидать в принципе.
2041 1735978
>>735966
>>735977
А, я видимо жопой прочитал. Ты хочешь сказать что OneDrive (и некоторые другие специализированные программы) сам переопределяет дефолтную папку рабочего стола?
2042 1735991
>>735978
Не знаю кто именно переопределяет, но да. Если ставить 10ку с нуля и при установке указать аккаунт майкрософт. То он поставит OneDrive и запихнет туда рабочий стол, документы, изображения.
image.png87 Кб, 598x643
2043 1735998
>>735991
Спасибо за информацию. Ставил десятку с нуля, но с локальным аккаунтом, ибо нефиг, и видимо не зря. В моем сетапе хоть OneDrive и шел в комплекте, но такой хуйни не натворил.
2044 1736005
>>735776
Очень плохое качество в коробке. Лучше бы без всяких поворотов.
2045 1736007
>>735911

>4) Через винапи (самый годный


Особенно в кроссплатформенном софте, ага.
2046 1736009
>>735973
Да, лучше в home directory создавать папку " .названиеПроги " и уже кидать все туда. БУдет работать на всех (3) ОС.
2047 1736021
>>736007
Заодно с CLSID и реестром.
изображение.png307 Кб, 615x470
2048 1736031
Для переката.
изображение.png1,3 Мб, 782x1200
2049 1736032
>>736031Хотя разрешение говно. Ну что-0то в этом духе.
2050 1736039
>>736007
Платформозависимая задача и соответствующий ответ, щито поделать?
ERUPhYuW4AEjz8Z.jpg302 Кб, 1335x2048
2051 1736054
>>736032
Изи в лучшем качестве ищется.
2052 1736056
>>736039
То есть папка Temp только в винде есть?
2053 1736057
>>736031
Это тоже https://pbs.twimg.com/media/EYU3CUxXYAIFnuX.jpg
гугл картинки гавно
2054 1736061
>>736057
Во, нормально.
image.jpg78 Кб, 1280x720
2055 1736062
Давайте лучше эту картинку в шапку.
image.png74 Кб, 1095x655
2056 1736067
>>736056
Нет, на моей центосичке-писечке тоже есть, но к чему вопрос? Изначально анон спросил про путь до десктопа и явно в винде, т.к. упомянул реестр. Вот вам и CLSIDы и винапи. А победил анон со свингом, я даже не претендую.
image.png31 Кб, 839x352
2057 1736080
>>736067
Охренеть, центос до сих пор для powerPC делают.
2058 1736136
>>736080

> Ненужно для ненужно

2059 1736309
Перекакивайте, легаси тред надоел.
2060 1736364
>>736309
Может тебе и свитч обычный надоел? Хочешь как в котлине?
2061 1736479
>>736309
Пока дюк-тянку не сделаете - никакого переката!
дюк тянка.jpg44 Кб, 512x288
2062 1736494
>>736479

>дюк-тянку

image.png423 Кб, 815x981
2063 1736502
2064 1736503
>>736502
О, мне нравится.
2065 1736512
>>736502
Найс! Вот теперь можно и перекатывать.
2066 1736525
>>736502

@Одобрено(для = "перекат")
2067 1736543
Аноны, такая проблема.

На бэке есть BeanValidation всяких формочек, прилетающих с фронта - @NotBlank, @Positive, @NotNull и прочее из пакета javax.validation.constraints. Под это дело есть ExceptionHandler, который нормальным образом собирает все ошибки и возвращает на фронт.

Но помимо базовой валидации всей формы есть еще валидация на уровне бизнес-логики, допустим, уникальность e-mail или что-то посурьезнее. Писать аннотации под это, очевидно, боль, поэтому сейчас используем EntityNameValidator для валидации EntityName и помечаем его как спринговый @Component для инжекта и доступа к другим бинам.

Получается, когда приходит форма, она улетает в EntityNameService, оттуда в EntityNameValidator. Проблема в том, что между этими бинами циклическая зависимость и приходится вешать @Autowired на них вместо пихания в конструктор.

Разработке не мешает никоим образом, но глаза мозолит и хотелось бы как-то решить этот вопрос, есть у кого мысли?
2068 1736667
Все еще сидите на восьмерке?
https://youtu.be/p1Md20vO4Ts
2069 1736698
>>736667
Что мешает просто взять и обновить джаву? То, что заявлена обратная совместимость, а на деле запускаешь на новой джаве - и нихуя не работает, и исправление возникших ошибок требует дохуя времени.
2070 1736871
>>733971

> Нет, я не перекатываю каждые полгода.


Ну с прошлого перекат делал я
2071 1736879
>>736502
Годно
2072 1736995
Нихера вы засрались, у меня ноут ели вашу страничку открывает.
image.jpg237 Кб, 766x1000
2073 1737037
>>736995
Двачую.
image.png148 Кб, 659x609
2074 1737063
2075 1737135
>>737063

>Sping


Это очередной язык убийца жабы или новый фреймворк для js?
2076 1737149
>>737135
новый фреймворк для java с 2004 года
2077 1737169
>>737135
Sping - это новый фреймворк от разработчиков спринга, где тебя вращают на хую еще более красочно. Для установки на котлин, нужен плагин poke
2078 1737171
>>735227
Гугли инвариантность и контрвариантность дженериков. Сразу скажу, это довольно мозговыносящее контринтуитивное дерьмо на первый взгляд. Но вообще там все логично.
2079 1737205
jooby кто юзал, какие подводные?
2080 1737244
>>737205
Если кто и заменит спринг, то это Micronaut.
2081 1737507
>>737171
+ковариантность забыл
исча авч.PNG18 Кб, 377x411
2082 1737805
>>735913
И еще вопрос. Читаю Хорстмана первый том - 11 издание по java11. Кроме первого тома, как мне кажется мне нужно будет как минимум 2 главы из второго(пик). А он сети только 10 издание - по java8. Имеет смысл просто читать 10 издание? Или что-то серьезно изменилось в этих темах?
2083 1737908

>Практика, больше практики. Уровня laba1.pas: http://codingbat.com/java http://codehunt.com https://hyperskill.org все



codehunt не работает. Есть альтернативы?
2084 1737948
>>737805
11 издание второго тома есть на английском, если можешь читать на нём.
А так да, можно читать 10, прям сильно там ничего не изменилось.
2085 1737989
>>737948
Нет такого уровня английского. Пока только могу Hyperskill JetBrains Academy читать и то поглядывая в словарь, там очень простой английский, видно что много русских в команде. А Хорстманн заметно сложнее пишет.
Ну вот эти две главы мне сходу показались обязательными. На первых 15-20% курса hyperskill мне уже попадались темы из этих глав(регулярки и чтение из файлов). А у Хорстманна это во втором томе(с подзаголовком Расширенные средства программирования), про который в том числе в этом треде говорят, что новичку он не нужен. Как считаешь обязательные главы?
2086 1738006
>>737908
Завтра бесплатную регистрацию на https://hyperskill.org закроют.
2087 1738023
>>737989
Про потоки данных прочитай обязательно. Ввод-вывод можно просмотреть, но прям вчитываться не нужно, он в джаве слишком переусложнённый, и на практике большая часть упомянутого почти не используется, и в каком-нибудь бекенде на спринге с этим почти не будешь сталкиваться.
Также рано или поздно нужно будет прочитать про базы данных, но на первых этапах можно обойтись.
Остальное, вроде XML и сокетов, без необходимости изучать смысла нет, всегда можно вернуться и прочитать.
2088 1738029
>>738023
Спасибо.
2089 1738120
Кто тут JavaFX учит? Тут вас свежую вакансию подвезли.
https://it-job-germany.de/jobs/javafx-developer/

А еще у них EJB, SVN, SWT и они пилят свой язык на ANTRL!
2090 1738143
>>738120

>пилят свой язык на ANTRL


Хуйню спизданул
2091 1738145
>>738143

>Хуйню спизданул


Если кто-то и спизданул, то ты

>Cущественным плюсом будут навыки разработки собственных языков / грамматик и знание ANTLR

2092 1738146
>>738120
Все в Германию посоны, там вакансия с JavaFX!

Удивительно, что у них мавен, а не ант.
2093 1738148
>>738145

>разработки собственных языков / грамматик и знание ANTLR


Прочитай еще раз и сравни с тем, что ты написыл, высер.
2094 1738150
вы суки
2095 1738173
>>738148

>пилят свой язык на ANTRL


>Cущественным плюсом будут навыки разработки собственных языков / грамматик и знание ANTLR


Дауненок, ты сайчас собираешься начать задвигать что DSL это не язык? Или что они это требование от балды написали?
2096 1738194
>>738173

>язык на ANTRL


Вот здесь ты спизданул хуйню.
2097 1738196
>>738006
Free until January 1, 2021
ты уверен?
2098 1738210
>>738194
Ну охуеть, теперь!
2099 1738251
https://habr.com/ru/post/508876/
Книжки по java - хуйня.
2100 1738263
Осваиваю хибернейт, есть у меня несколько сущностей и файл persistence.xml вот такого ужасного вида: https://pastebin.com/NHrc8H1h
Подскажите, пожалуйста, как мне правильно класть туда сущности, чтобы не писать на каждую свой персистенс юнит с копированием пропертей?
Если я напишу так: https://pastebin.com/NA7gDDd2, мне выдаст ошибку
javax.persistence.PersistenceException: No Persistence provider for EntityManager named com.helloworld.dto.User
2101 1738269
>>738263
Фикс адреса второй пасты: https://pastebin.com/NA7gDDd2
2102 1738273
>>738263
Использовать аннотации.
2103 1738279
>>738273
Я использую @Entity. Еще что-то повесить надо?
2104 1738281
>>738279
Мышку с клавиатурой на гвоздь повесь и не суйся сюда больше.
2105 1738287
>>738263
Осваивай спринг.
Сразу с аннотациями.
Какой нахуй xml в 2020, ты там ещё 5ую яву и мейнфреймы учить не собираешься?
2106 1738296
>>738287
Не токсичь, а объясни нормально.

>>738287
Хочу сначала чистый хибернейт освоить, что плохого?
2107 1738301
>>738251
Такой-то высер.
Книги Мартина это набор общих рекомендаций, всё те же паттерны, только сбоку. Набор советов, которых можно придерживаться и о которых нужно знать. Но, заставь дурака богу молиться...
Долбоёб же придирается к примерам, которые были взяты чтобы продемонстрировать некоторые изложенные принципы. Это как доёбываться к учителю химии, который в пробирке смешивает уксус с содой, чтобы ученики сразу поняли, что он имел ввиду, со словами "А вот мы в промышленности так не делаем!"
Насколько убогим должно быть абстрактное мышление у человека, чтобы он этого не понял? То, что книге 10+ лет он понял.
То, что жаба за это время изменилась он тоже вроде понял. А вот этого нет.
Я всё ждал, когда он начнёт ругаться, что в книге Мартина Stream апи не упоминается или Спринг.
2108 1738303
>>738301
Ну хуй знает, если бы я в коде увидел private static int
smallestOddNthMultipleNotLessThanCandidate(int candidate, int n) я бы тоже дальше читать не стал.
2109 1738308
>>738296
Ничего плохого нет.
Можешь ещё ассемблер и С выучить, тоже полезно будет. Как раз когда закончишь одно уже из башки выветрится предыдущее.
Тут как в анекдоте, тебе шашечки или ехать?
Если ехать - то хуячь свой круд на спринге, освоишь на ходу Хибернейт на том уровне, на каком он тебе нужен.
>>738303
Надо было ебашить с реальными примерами, Мартин. Такими, страниц на 20, чтобы бизнес-логика была показана от Адама и Евы.
Чсх, даже хабродаун в конце добавил

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


>Исходя из этого, «Чистый код» оказался годным. У нас состоялись хорошие дискуссии


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


Т.е. книга со своей задачей справилась, даже у макаки начали мозги работать, она начала пытаться обрабатывать свой опыт с оглядкой на книгу Мартина.
2110 1738309
>>738296
Потратишь кучу времени и сил впустую. Это как хотеть перед джавой сначала освоить ассемблер.
2111 1738310
>>738308

>Надо было ебашить с реальными примерами


Там выше есть реальный пример. Не такой вырвиглазный, но так же противоречит всему, что написано в тексте.
2112 1738314
>>738310
Хотел ещё расписать, но потом подумал, что я ж не первый. И точно, вот тебе уже на хабре ответили

>Примеры в статье вырваны из контекста. Например SetupTeardownIncluder — это не идеал. Где Мартин сказал, что это супер классный кусок кода?


>Это результат рефакторинга, через разбиение толстых методов на маленькие. Который приводится, чтобы объяснить, что маленькие функции — это очень важно.


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


>И вот мне интересно, какой процент из голосовавших читал эту книжку, и может сказать, что она являлась бесполезной тратой времени?


>Что вообще вы ожидаете от книги? Волшебный секрет «Тайны драконы», который прибавит 200К к ЗП?


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

2113 1738321
>>738308
>>738309
Ладно, пошел смотреть этот ваш хипстерский спринг.
2114 1738323
>>738321

>хипстерский


>Первый выпуск 1 октября 2002

2115 1738327
>>738321
Только не говори, что ты сейчас будешь читать какой-нибудь талмуд на 1к+ страниц вроде спринг про.
2116 1738333
>>738321

> Ладно, пошел смотреть этот ваш хипстерский спринг.


Смотри сразу спринг бут
2117 1738335
>>738333
Лучше сразу Спринг Ру.
2118 1738340
>>738327
Вообще-то так и хотел. На собеседованиях ведь часто спрашивают про кишки спринга?
2119 1738345
>>738340
Вообще не спрашивают.

webapp/WEB-INF/web.xml
2120 1738347
>>738340
Сначала делаешь круд на спринге в качестве тестового.
Потом могут вопросы задавать по некоторым аннотациям, в сбере меня про @Transactional спрашивали, например.
В другом банке про @Component или @Service, не помню уже.
Чтоб прям по кишочкам, по всем этим фабрикам бинов и контекстам - меня такого не спрашивали. Да и чёт я не помню, чтобы в том же спринг про прям так уж кишочки разбирались, также по вершкам всё. Кишочки они только на практике познаются.
2121 1738355
>>738347
Тогда, видимо, хватит SD JPA мурзилки. Спасибо за разъяснение.
Screenshot20200630-20593701.jpg181 Кб, 1080x848
2122 1738388
Стандартная вакансия на джуна. Это вообще реально всё самому освоить? Везде ещё английский на ахуенном уровне нужен и минимум 1 год опыта работы. Кто блять вообще советует вкатываться в it? Так всегда было или рыночек порешал?
Screenshot20200630-21143401.jpg176 Кб, 1080x949
2123 1738406
А это сиси шарп, походу проще будет перекатиться.
2124 1738409
>>738388
Реально. Я сначала тоже боялся джава-вакансий, где сразу по 10+ технологий упоминается, а по факту всё за пару месяцев учится (зависит от бекграунда, кому-то год понадобится).
Ну и глубоко знать не нужно, проходишься по самым основам той или иной технологии, понимаешь, как это применять и куда дальше копать при необходимости - и идёшь дальше.
2125 1738410
>>738406
В шарпе та же хуйня, только стек другой. Просто здесь он не упомянут.
2126 1738422
>>738409
"Высшее техническое образование" - обязательно?

мимо-гуманитарий
2127 1738424
>>738422
Без него найти работу действительно несколько сложнее, но всё же реально.
2128 1738443
>>738388

>Так всегда было или рыночек порешал


Последние 10-15 лет так все и было. В конце 90-х и начале нулевых возможно брали людей менее скилловых, но тогда рыночка айти почти не было - работа только в мск и спб в очень ограниченном количестве, а в мухосрансках только НИИ, куда люди шли из местных вузов, а не с улицы.
2129 1738452
>>738388
А что здесь такого уж?
Мимо-ни-разу-не-работал-пока
2130 1738455
>>738388
Иди торбу носи/гайки на завод крути, хули ты лезешь в айти? Только не говори, что денюшки большие увидел и сразу подорвался. Это будет слишком жалко выглядеть.
2131 1738458
Как понять, что я уже хорошо знаю кор?
2132 1738462
>>738455
Нет, на вышку поступил "информационные системы и технологии", если сравнивать с одногруппникам, то из 30 человек в 5 лучших, а может в 3. Буду все лето учить по часу в день, так как все равно ленивая жопа. Но края пиздеца не вижу пока что. И мне ещё англ тянуть с 0, так как в гуманитарной школе учил немецкий, и это тоже херово, так как за 6 старших классов по часу-два в день нас ничему толком не научили. (В группе у меня лучше всех был немецкий). А тут с нуля параллельно учить. Я конечно понимаю, что сам идиот и выбрал, возможно, не тот путь. Но программирование меня привлекает не 300к/наносек, а тем, что можно относительно спокойно работать и не получать 20-30к, ну и интересно тоже. В универ кстати только с++ преподают, поэтому сам перекатываюсь на жабу. С++ джуну вообще пзд.
2133 1738463
>>738458
RandomAccessFile знаешь?
2134 1738464
>>738452
Тут объективная реальность. Работодателю нахуй не нужны бездарные уебаны, которых надо 2 месяца учить хеллоуворлд писать.
Им надо тех, кого сразу посадил на рабочее место, дал день на изучение проекта и через неделю-две он уже хуярит таски как будто всегда тут был.
Бездарный уебан думает, что джун это самая низкая должность. Это не так. Стажёр, трейни, за еду, за 30к в дс - вот выбор тех, кого этот список пугает.
Но даже тут, опять таки, ещё одна вертуха в ебальник от суровой реальности - на стажёров берут всяких студентов, набранных с последних курсов вузиков. И даже туда очередь.
>>738458
Всё, что ты можешь сделать со структурами данных в голове ты можешь сделать в коде.
Вот есть мапа "Имя шлюхи" - "Прайс". <String, Integer>. Как сгруппировать имена по прайсу?
2135 1738466
>>738462
А, ну тебе хоть не 30ка как некоторым. Студентик ещё, учись, побегай по кафедрам, если ты действительно такой пиздатый то быстро за еду вкатишься, по началу тяжело будет, но потом уже к выпуску будешь нормально работать и в ус не дуть.
2136 1738469
>>738466
Конкретно в программировании, в остальном тот ещё раздолбай.
2137 1738479
Вы че тут понаписали пока я спал? После ANTLR.
2138 1738552
>>738340
Какие бывают bean scope чуть ли не на каждом спрашивают. Никто, правда, не знает зачем.
2139 1738554
>>738464

>на стажёров берут всяких студентов


В mail, например, на стажера могут взять только студента - такие правила. Не удивлюсь, если в других крупных конторах также.
2140 1738560
>>736543
Во первых надо найти, какой метод из сервиса используется в валидаторе и вынести его в отдельный слой, который заинжектить и туда и туда.
2141 1738603
Сап. Только учусь - сильно не бейте.

В общем, буду делать простенький спринговый сервис, который должен отрабатывать раз в сутки и вносить данные в удаленную БД.
Как будет правильнее поступить? Вижу такие варианты:
1) Крон запускает по расписанию приложение, которое делает свои задачи и вырубается.
2) Сделать планировщик внутри приложения. Запустить однажды, а там уже пусть работает само по расписанию.

Если честно, проще и быстрее было бы на скриптовом языке сделать, но мне спринг учить надо и портфолио пилить. Ну и расширить в дальнейшем можно будет или где-то переиспользовать как модуль чего-то большего.
2142 1738624
>>738603
spring scheduler, конфигурируется как крон. Делай через него, ибо все реальные проекты это нонстопные приложения, а не перезапускаемые раз в сутки
2143 1738651
>>738603
Если это разовая задача, то запускаешь по крону.
Если это монолитное вэб, например, приложение, которое ко всему прочему ещё и какие-то задачи в фоне запускает, то, как уже написали, у spring есть готовые решения для этого.
2144 1738676
>>738464
Компаратор реализовать по прайсу и отсортировать по нему, очевидно же
2145 1738677
>>738462
если у тебя хорошо с дойшландским, то с изучением инглиша проблем не будет.

а вот если бы было на оборот - земля тебе пухом
2146 1738687
Перекатите, плиз. Вкатышам нельзя перекатывать.
2147 1738695
>>738687
Сдаем перекат только для олдов. Вкатыши мимо.
2148 1738710
>>738676
Сгруппировать, а не отсортировать.
Маша - 1к, Катя-2к, Зульфия - 2к, Наташа - 1к.
На выходе "1к - Маша, Наташа", "2к - Катя, Зульфия".
2149 1738816
>>738464
map.entrySet().stream().collect(Collectors.groupingBy(Map.Entry::getValue));
2150 1738837
>>738816
Ну это даже думать не надо, просто дергать уже заранее написанные методы.
2151 1738851
>>738837
А ты хотел увидеть вложеные форы и вайлы что ли?
2152 1738858
>>738624
Спасибо!
>>738651
Тоже спасибо. Вообще, на начальном этапе это небольшое приложение с несколькими подзадачами настраиваевыми. Но расширять есть куда. Потенциально, может стать эта часть фоновой задачей.

Попробую шедулер.
2153 1738867
>>738710
что такое на выходе"1к - Маша, Наташа"? Новый тип контейнера что ли создавать для них? В исходном же одна цена-одна шлюха
image.png530 Кб, 512x384
2154 1738888
Сап, направьте неофита плиз посоветуйте книги, курсы по многопоточности
2155 1738891
>>738867
Вот ответ >>738816
Downstream collector, как-то так это гуглится.
Тебе нужно уметь делать подобные штуки. Просто из головы бери простые задачи и пытайся их реализовать.
Как бы я повернул список?
Как бы я отсортировал мапу по ключу? По значению? А какие вообще мапы сохраняют порядок элементов?
Как записать/считать мапу из файла? Из джейсона?
Как записать данные из джейсона в POJO, а потом сохранить в бд?
С типами, интерфейсами так позаморачивайся. Придумай класс, попробуй его расширить, добавь туда интерфейсов, сделай метод принимающий не класс, а интерфейс в качестве параметра, дохуя чего, что кажется простым, а на деле надо хотя бы разок самому это сделать, чтоб на собесе жиденькое по ноге не потекло.
>>738837
Так вот именно, это потому кор жабой и называется. Основные методы, которые ты должен использовать просто из головы, как используешь вилку с ложкой. Наизусть то их все знать не надо, просто знать, что такое возможно и при необходимости загуглить за 30 секунд.
apache.jpg48 Кб, 754x463
2156 1738894
Может кто подскажет, пытаюсь вкатиться в спринг, запилил по гайду приложение, поднял Апачи Томкэт, и все настроил вроде. В IDE в логах отображается что все удачно собрано и задеплоено на сервер, но сам сервер, падла, выдает 404 и говорит что не видит никаких артифактов. Куда смотреть? где что настроено не так? ощущение такое что какие-то пути проебаны
2157 1738898
>>738891

> Вот ответ >>738816


Имхо, то как ты поставил задачу - моча и говно. "Сгруппировать имена по прайсу". Охуеть надо, ни в каком виде должен быть аутпут, нихуя. На доске они в табличке должны быть сгруппированы? В какой-то целевой объект? Чтоб смог с ними работать какой-то интерфейс? Догадайся, ньюфажина, сам
2158 1738905
Накидайте примеры тестовых с CRUD'ом. Нужно хоть примерно понять границы того, что нужно изучить, а не заниматься запоминанием информации в вакууме.
image.png39 Кб, 612x514
2159 1738906
>>738894
Ты не туда коннектишься. Ты коннектишься к томкету на рут, а надо - на context-path приложения (выделено на пикриле). Т.е. у тебя будет примерно такое:
http://localhost/test-spring-app
Какой именно путь имеет твое опубликованное приложение смотри в менеджере приложений по ссылке на скрине.
2160 1738909
>>738898
Другой анон меня понял, ты - нет.
Думаешь на реальном проекте тебе будут разжёвывать такие вещи? Да им похуй всем в каком там что формате и как ты это будешь делать, главное чтоб работало и фронт это вывести мог.
appath.jpg69 Кб, 968x692
2161 1738917
>>738906
но у меня контекст указан пустым, я так понимаю в этом случае он прямо в рут и деплоится. И все равно ничего не взлетает
2162 1738918
>>738905
Тред хоть почитай, я выше уже кидал пример.
>>727551
Это на мидла вроде.
https://github.com/mkb-official/test-task
Джуниор.
https://github.com/revkov/JAVA.SB.TEST
Джуниор.
А вообще, в чём твои проблемы? Не можешь сам на хх зарегаться?
2163 1738919
>>738917
Я тебе еще раз говорю: зайди в /manager/html/list и посмотри что на томкете опубликовано, хули гадать на кофейной гуще.
2164 1738921
>>738918
Благодарю. Те которые выше - потихоньку пилю. Большое спасибо!
2165 1738923
>>738898
Этот прав >>738909, ты не очень хорошо знаешь кор. По ключевому слову "группировка" легко угадывается grouping-by коллектор.

Ну окей, вот тебе еще задача: есть 100 тасков, нужно подсчитать общее время выполнения всех тасков. Как будешь решать, какими инструментами?
2166 1738928
для джуна достаточно нормально разбираться в core жаве (ооп, базовые типы, коллекциии, базовая теория по многопоточке), немного бд (знать как из приложения подключаться и мочь в простейшие crud операции), немного спринга (понимать что такое IoC, DI и мочь в какое-нибудь простенькое mvc приложение), если к этому еще и про паттерны будешь знать то на мидла можешь попасть
2167 1738935
>>738923
long current = System.currentTimeMillis();
List<Future<Task>> tasks = ...;
tasks.forEach(Future::get);
long total = System.currentTimeMillis() - current;

Пойдет?
drw.jpg80 Кб, 1919x186
2168 1738937
>>738919
Кое-как смог туда попасть. Пришлось гуглить как туда вообще доступ получить, я просто полный диван, вчера первый раз попробовал что-то сложнее двачерства, сори что я такой тупой.
Вот список приложений. Я так понимаю это значит что ничего туда не разместилось из IDE?
олсо, как сменить пользователя на сервере? я зашел как админ, а чтобы получить права на вход в менеджер пришлось тупо прописать учетке админа роль "manager-gui"
2169 1738949
>>738935
Хорошо. А если у тебя нет Future? Но есть доступ внутрь таски, т.е. ты ее сам реализовываешь.
2170 1738956
>>738923
>>738909
Боюсь конечно ошибиться, но это же не core (сам язык) а стандартная библиотека уже - всекие Stream API и прочая поебень? строго говоря даже коллекшенс не кор.
2171 1738960
>>738956
Сам язык это синтаксис, операторы там, ключевые слова. А кор это именно в отношении стандартной библиотеки SE применяется. Еще пример - есть кор у спринга, тут же ты не скажешь что это язык, это именно классы спринга.
2172 1738967
>>738960
синтаксис это синтаксис. А кор это семантика выраженная через синтаксис + сам он. (синтаксис может быть одинаков у двух языков, но разная реализация и смысл) Различие в том, что невозможно вывести никакую часть кора через остальное. А если ты знаешь кор то абсолютно все что входит в стандартную библиотеку ты сможешь понять сам, без гайдов, или даже переписать, потому что библиотека выводима из кора
2173 1738977
>>738949
Немного не понял, ну вот.. А чем фючеры плохи?

class Worker {
private Task[] tasks;
private long time;

public Worker(Task[] tasks) {
this.tasks = tasks;
time = 0;
}
public void work() {
for (Task task : tasks) {
long current = System.currentTimeMillis();
task.run();
time += System.currentTimeMillis() - current;
}
}
public long getTime() {
return time;
}
}
2174 1739009
>>738937
Лучше попробуй потыкать спринг бут, он сам поднимает и настраивает у себя томкат, а тебе достаточно запустить олин жарник. Для изучения спринга норм. Но с обычный томкатом тоже лучше потыкать, бут сейчас не везде.
2175 1739103
>>738921
Делать тебе нехуй это говно пилить.
Тебе ещё 5-10 минимум придётся таких сделать, лучше бы сразу реальные просил. Там хоть какой-то фидбек дают иногда. А так, что толку, что ты сделаешь их, если на ошибки тебе никто не укажет.
2176 1739127
>>739103
А в треде может укажут, если захотят.
image.png64 Кб, 644x708
2177 1739144
>>738977

>А чем фючеры плохи?


Они не плохи, но их может не быть искаропки. Приходишь на проект и PM сообщает, что заказчик требует использовать хипстерскую библиотеку YobaExecutorLib, якобы она круто рулит потоками и ниче другое использовать нельзя. Тебе хочется прописать заказчику в ебыч с вертухи остаться на проекте, твои действия? В общем, переложи 4 спички образно чтобы тест заработал. Почему, кстати, не работает?
2178 1739151
>>738967
>>738956
У тебя какое-то свое собственное определение кора. Попробуй его в следующий раз объяснить на собеседовании, может накинут баллов. А работодатель, когда пишет в вакансии "Java Core", имеет ввиду что ждет от тебя как раз отличное знание SDK Java SE, умение пользоваться стандартными инструментами, он ожидает что ты знаешь коллекции и Stream API, а не умеешь их сам навелосипедить ("вывести из кора").
2179 1739153
>>739151

>2


Но сейчас уже нет разделения на SE ME EE
2180 1739162
>>739153

> ME


Сдох.

> EE


error: package javax.ws.rs does not exist
import javax.ws.rs.*;
2181 1739168
>>739009
Эта шняга и так на спринг-бут, по крайней мере, в депенденси почти все библиотеки - boot. Я пока тыкался там в своих потугах уже вроде довольно неплохо понял как и что там где конфигурируется. только вот большие сомнения в путях, потому что я толком не понимаю где должны лежать выходные файлы, например. У меня две папки есть out и target. Одна из них я так понимаю появилась в результате неправильной конфигурации, а как должно быть хз. Еще я не использовал архетип мавен при создании может это тоже как-то повлияло. Капец, с ядерным реактором разобраться проще
image.png16 Кб, 425x349
2182 1739176
>>738937
>>738917
У тебя непонятно что на рут замапилось, названия нет, пустое поле. По дефолту там "Welcome to Tomcat", статичный сайт с одной всего jsp-хой. Вполне возможно у тебя что-то туда все-таки уже закинулось, советую проверить непосредственно папку tomcat/webapps/ROOT - если увидишь свои классы, то деплой прошел успешно, но в коде приложения есть ошибки типа отсутствия маппингов или что-то еще, в общем приложение как бы опубликовалось, но еще ничего не выдает.
2183 1739179
Как работают кроссплатформенные приложения на java? Байт код компилируется во время установки или интерпретируется при запуске приложения?
2184 1739180
>>739168
Если бут, то достаточно указать в pom.xml <packaging>jar</packaging> вместо war. И настраивать томкат не придётся.

Если собираешь мавеном, выходные файлы лежат в target. out берётся, если собирать самой идеей (вроде, она ant использует), но не думаю, что она соберёт до конца, потому что вряд ли там есть менеджер пакетов.

> архетип


Можно без этого обойтись. Например, сгенерировать проект на start.spring.io и посмотреть, что и как там настроено.
2185 1739182
>>739162
Ну так а я о чем. EE выкинули в опенсорс доживать последние года десятилетия.
2186 1739183
>>739179
Интерпретируется при запуске приложения. Там JVM генерирует нативный код и уже его запускает.
2187 1739189
>>739180

> (вроде, она ant использует)


О, прям как нетбинс.
2188 1739190
>>739182
То, что EE больше рулит не оракл, никак не значит, что разделение на SE и EE исчезло.
image.png104 Кб, 1083x398
2189 1739192
>>739183

>JVM генерирует нативный код и уже его запускает


И это явление называется JIT.
2190 1739195
2191 1739197
>>739192
Я думал приложение должно немного поработать и прогреться, чтобы все jitом перевести в нативный код. А вы говорите, что прямо во время запуска.
2192 1739200
>>739197
Да, конечно, не прям при запуске. Это просто противопоставление к "компилируется во время установки".
2193 1739209
>>739197
>>739200
То есть, мы можем скопировать папку с приложением на ios, вставить в виндовсе, и оно будет работать?
retet.jpg38 Кб, 668x291
2194 1739212
>>739180
буду что-нибудь пробовать. я его специально собирал в war-explode. не знаю правильно это или нет и какая вообще разница.
Еще почему-то name подчеркивает IDE, говорит can't resolve, хотя пример этот копирован из мануала по на оф сайте спринга, и name есть в контроллере
>>739176
А как вообще увидеть что на сервере? где смотреть это?

чувствую себя дауном ебаным :(
2195 1739220
>>739197
Зависит от реализации, OpenJDK и Oracle JDK - так и делают. А вот Jrockit не имел интерпритатора вообще, сразу компилировал С1.
Azul Zing при использовании Ready Now тоже сразу компилирует С2.
2196 1739224
>>739209
На андроиде своя собственная несовместимая жвм, а на айфонах была только васянская от сообщества.
2197 1739226
>>739209
В теории - да. На практике - прокатит только с линукса на винду/mac os/BSD/etc или наоборот, и то не всегда.
2198 1739229
>>739212
Ну куда ты томкет поставил, зайди в ту папку. Вроде ты там недавно даже был, в подпапке conf настраивал как админа добавить. А теперь тебе нужна подпапка webapps, а в ней еще одна подпапка ROOT - там лежат файлы приложения, к которому получаешь доступ по адресу localhost:8080.
root.jpg28 Кб, 441x427
2199 1739240
>>739229
А, вон где. Ну там я так понимаю нет нифига у меня в итоге всех движений
В папке web-inf один xml лежит только с каким-то мусором
2200 1739252
>>739212
http на https замени в ссылке на thymeleaf.
Помню у меня давно из-за этого не работало.
2201 1739255
>>739252
заменил, но ничего не поменялось, ни в том что ИДЕ ошибку рисует, ни в том что оно не разворачивается никуда походу
2202 1739274
>>739240
Да, это стандартные файлы (пик 1, сравнил со своими), это не твое приложение. Советую для начала сделать деплой приложения вручную, это очень просто:

1) Билдишь проект мавеном (пик 2); на выходе в папке target у тебя появляется, например, my-spring-app.war
2) Переименовываешь в test.war, это чтобы упростить себе жизнь
3) Тупо копируешь test.war в папку webapps в томкете, и ждешь 5 секунд, он сам все поднимет, должна будет появиться подпапка test
4) Заходишь на http://localhost:8080/test

В /manager/html/list это приложение так же должно появиться, проверь. Если все успешно, значит приложение ты написал правильно и к нему претензий нет, и дальше будешь ебаться с авто-деплоем приложения через идею.
2203 1739287
>>739274
А можно в <build> выставить <finalName> для (в|дж)арника.
2204 1739303
>>739274
>>739287
Попробовал. jar-ник появился, скопировал его и в webapps и в его ROOT, и сервер перезапустил - нифига не работает, и из менеджера его не видит. Спасибо за попытку, доброанон.
2205 1739304
>>739303

>jar-ник


Как? Должен же быть war-ник.
fgdfg.jpg7 Кб, 403x78
2206 1739313
>>739304
да, попробовал из менеджера развернуть, он мне говорит что должен быть файл war
еще один вопрос - а где это настроить для мавена? У меня в project structure и так указано в разделе артифактов - war
для мавен как-то отдельно настраивается?
изображение.png114 Кб, 872x944
2207 1739315
>>739303
Вот, смотри. Хеллоуворлд для создания вар-ника.
Потом я пишу mvn clean package
И в target/ лежит war-файл, который и надо деплоить.
2208 1739326
>>739303

>скопировал его ... в ROOT


В ROOT не надо, только в webapps

>сервер перезапустил


Молодец что попробовал, но это тоже лишнее. Должно все подхватываться автоматически. А сейчас не получилось потому что томкет сканит папку webapps на наличие варников, и новых варников он не нашел, так что все верно, результат нулевой.

Лучше покажи свой pom.xml, наверняка с ним что-то не то. Для вара надо добавить <packaging>war</packaging>, этот параметр не должен игнорироваться мавеном. Все что ты пишешь в project structure в идее на это пока забей, работай напрямую с мавеном и pom.xml. Вот у этого анона >>739315 хороший помник, из важных моментов здесь это:
- вышеупомянутый packaging war
- scope provided на томкете
- build/finalName - это имя выходного файла без расширения, сюда напиши test
2209 1739327
>>739315
war собрался, закинул его но он не работает все равно.
правда при сборке произошел такой фейл:
Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
короче гуглить буду. все равно надо понять как все работает, а не тупо запомнить действия
434f.jpg91 Кб, 787x732
2210 1739331
>>739326
да, я поправил там, теперь war на выходе. вот такой вот pom. зависимость скрыл потому что там их километр
2211 1739332
>>739327
Сравни свой pom.xml с этим >>739315
В частности секцию build/plugins, чтобы там был spring-boot-maven-plugin как на картинке
2212 1739339
Раз уж такая пьянка, какой оптимальный -Xms и -Xmx для томкотэ? У меня 8 gb озу
2213 1739352
>>739332
одинаковые, вон скрин выше
>>739326

> - scope provided на томкете


вот это не понимаю если честно что за
2214 1739356
>>739339
8gb. Это ж джава.
2215 1739362
>>739356
Поставил Xms 8G а Xmx 10G (у меня же еще файл подкачки есть!)
Все правильно?
2216 1739364
Вы не против переката?
2217 1739369
>>739331
Ну что могу сказать, у тебя сложный хелловорлд, надо проще. На первый взгляд в pom все корректно, наверняка ошибка из-за километра зависимостей.
Упрощай дальше, выкидывай все лишнее, смотри в какой момент заработает. Но это сложный путь, и не единственный.
Проще будет создать новый мавен проект без архитипа и прописать всего 3 (три) файла, такой вот хелловорлд накидал тебе. Щас быстро по-фасту создаешь эти три файла и у тебя первое рабочее бут приложение под томкетом. Это все проверено и работает, не обосрись.
- pom.xml ( https://pastebin.com/Vq18hR2u )
- Main.java ( https://pastebin.com/ckmhk3hM )
- AppEndpointController.java ( https://pastebin.com/dJdg5F1u )

Дальше будешь наращивать сложность: добавлять зависимости по одной, другие файлы там какие есть в твоем первом хелловорлде, и внимательно смотреть когда "упадет". Такой вот путь.
2218 1739370
>>739362
Да. Для хеллоуворлда хватит, наверное.

>>739364
Очень против.
2219 1739371
>>739370
Тогда сидим, пока тред последним на доске не будет.
2220 1739379
>>739371
Было так разок полгода назад. Тоже 2К постов было. Потом мы пару дней сидели без треда.
2221 1739381
>>739144
А тем временем бамп. Никто не угадает какой инструмент я загадал? Кто там хотел практических задачек, ну вот же, берите-решайте, ориджинал контент.
2222 1739384
>>739379
Вроде было такое. Зато отдохнули.
2223 1739387
>>739369
Спасибо, анон. Все качнул, завтра буду пробовать. Сейчас уже поздно в моих мухосранях. Добра. Если все взлетит напишу сюда радостные вопли свои.
2224 1739391
>>739381
Это форк джоин пул?
мимокакер
2225 1739395
>>739391
Решение? Нет. Внутри кастомного экзекутора? Это не важно, но если важно то тоже нет, обычный фиксед пул.
2226 1739414
Поясните за one-to-one, пожалуйста.

Вот у меня есть таблица users, у которой есть one-to-one поле code (не первичный ключ, просто уникальный код чего-либо, не знаю что еще придумать для примера) и таблица unique_codes, у которой так же one-to-one поле user.

В сущностях эти поля выглядят так:
User:
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "code_id")
private UniqueCode code;

UniqueCode:
@OneToOne
private User user;

При создании new User(new UniqueCode(123)) в таблицу users заносится айди кода, а в таблицу unique_codes заносится сам код 123, но на месте айди юзера стоит null. Подскажите, пожалуйста, что я делаю не так?
2227 1739444
>>739144
Добавил немношк бизнес-логики чтобы тест явно падал. Кстати, если это было не очевидно в первый раз - изменять можно и тест, и MyTask - это ваш код. Неизменными должны быть следующие условия:
- использование метода execute() у экзекутора
- ~100 тасков
- ~10 потоков
2229 1739515
>>739482
Там ни слова про one-to-one.
2230 1739517
>>739515
Скинул, потому что это самая короткая и ёмкая статья, объясняющая эту тему, что я видел.
По аналогии сделай, это несложно.
2231 1739519
>>739517
Спасибо, конечно, но мне надо дичайше разобрать именно one-to-one отношение, а его там нет.
2232 1739521
>>739414

>но на месте айди юзера стоит null


Ты хочешь чтобы в таблице unique_codes были два столбца из таблицы users чтоли - и code, и user_id? Связь делается по одному полю, а не по сколько захочешь. И у тебя это уже users.code = codes.code.
2233 1739523
>>739521
Нет, в users есть id и code_id, а в unique_codes - id, user_id и сам code.
image.png11 Кб, 351x323
2234 1739528
>>739523
Вот так? Ну и по какому полю связь-то хочешь? В любом случае выглядит избыточно, нужно оставлять что-то одно.
2235 1739554
>>739528
Связь хочу по users.code_id - codes.id. One-to-one сюда как раз подходит ведь. У одного юзера есть один код, у одного кода есть один юзер.
2236 1739564
>>739554

>Связь хочу по users.code_id - codes.id


Подходит. Но где в этой связи user_id на который ты жалуешься что он null? Я же с этого и начал: ты хочешь чтобы автоматически заполнялись два поля - и codes.id, и codes.user_id?
2237 1739580
>>739564
Ну, получается, вот я создаю нового юзера, создаю новый код, даю его юзеру. В бд users.code_id должен вписаться пк из codes, в codes.user_id должен вписаться пк из users, и в codes.code должен вписаться сам код. Как-то так..
2238 1739581
>>739339
Мы ставим минимум 8 максимум 24. Вкупе с g1 вроде пока хватает.
2239 1739854
Привет, к джавистам берут только челиков с курсов/вышкой или можно вкатиться самоучкой?
2240 1739977
>>739854
Вкатываюсь самоучкой. Вангую что могу дать на клыка курсопетушкам.
2241 1739986
Сап, джаваны.
Может кто-нибудь сказать, чем котлин лучше джавы, что в нем реализовано лучше, удобнее (сахара больше? функциональные возможности? что-то другое? ничего из этого?). Желательно чтоб ответивший знал реально оба языка, чтоб это было не с проперженного дивана мнение.
2242 1740016
>>739977
А я учусь в вузе, купил курсы джавараш, немчинского, хекслет, гикбрейнс, жидбрейнс академи и все книги мартина фаулера, хорстмана, шилдта, спринг ин экшн.
2243 1740018
>>740016
Зачем ты все это купил если это можно спиздить в торрентах?
2244 1740020
>>739977
Ну это естественно, но вот вдруг без корочек резюме не попадет к тимлиду на стол просто.
Я до начала изучения джавы искал стажировку на фронта, но меня везде посылали нахуй без образования.
2245 1740022
>>740020
На фронта вышку? Ничего себе. На джаву наверное тем более.
2246 1740025
>>740022
Возможно это защита от дурака, ведь джаваскрипт годами продвигают инфоцыганы.
2247 1740028
>>740025
Самое популярное цыганство - жс-фронт, пыха и пайтон. Последние самые потешные, если подумать о судьбе вкатышей.
2248 1740060
Консерваторы.
2249 1740064
>>739854
Я с вышкой. Но спросили про неё только когда уже тестовое сделали, алгоритмы на листочке порешал и о зп договорились.
"О, да у тебя и диплом есть, очень хорошо!"
Возможно, да, у хрюшек фильтр стоит, ведь в 2020ом не получить вышку в рахе это надо быть дауном.
Пытайся, выходи на контакт, не думаю, что если ты уж прям полностью всем устроишь работодателя они тебя пошлют нахуй только из-за отсутствия корки.
2250 1740148
Подскажите плз, у Шилдта годно по Stream API описано, или он слишком древний и что-то там поменялось? Стоит по нему вкатываться? Очень нравится шилдт своей полнотой изложения.
2251 1740198
>>739986

>чем котлин лучше джавы, что в нем реализовано лучше, удобнее (сахара больше? функциональные возможности?


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

Минусы, странные и кривые решения при этом есть тоже, конечно. Но плюсы перевешивают, если отталкивать от практических потребностей, а не заниматься поиском идеального языка мечты.
2252 1740208
>>740198
спасибо, анон. А если с шарпом сравнивать все это, то как? Шарп тоже похож на жаву но сахарный и со всякими фичами типа линка и делегатов. вопрос тупой, я понимаю, но все же.
2253 1740218
>>740208
Шарп, для начала, это другая платформа, сравнение .NET и джавы это отдельный разговор. А если смотреть только на язык, то шарп и котлин где-то одного порядка вещи. Можешь считать, что котлин это такой шарп для JVM.
2254 1740427
>>740218

>Шарп, для начала, это другая платформа


ну, это очевидно. Я просто его +/- знаю, и он тоже похож на Жаву, поэтому относительно него спросил сравнение. Тем не менее, благодарю за ответ.
2255 1740587
>>739986
Ну все таки одна если не киллер, то супер фича у него есть. Это Корутины.
2256 1740851
>>739986
Спроси в котлин-треде, здесь нормальные люди, а не пидорасы.
win.jpg10 Кб, 489x197
2257 1741167
>>739369
Сап, доброанон. Все взлетело. Спасибо за помощь. Буду этот хэлоуворлд использовать как тестовую площадку для экспериментов.
Олсо, я вручную добавлял Томкэт в "run configuration", хотя там в списке уже есть SpringBoot. Из под спринг-бут происходит ошибка развертывания, из под томкэта все норм (пикрилейтед). Я так понимаю, спринг не знает где томкэт находится, или что-то такое? вроде же должен он сам запускать сервер.
image.png47 Кб, 728x523
2258 1741193
>>741167
Пожалуйста.

>или что-то такое


Нет. Смотри.

Томкет это сервер приложений. Точнее, это сервлет-контейнер, но не суть. Суть в том, что томкет может хостить одновременно много приложений, и спринговых, и обычных, и спрингбутовых. Все они будут со своими путями, напр. localhost/app1, localhost/app2 и т.д. Но все они работают под одной единственной JVM, потому что под этой JVM запущен сервер приложений, а сами приложения - уже под сервером.

А фишечка спринг бута в том, что у него может быть (а может и не быть) свой встроенный (embedded mode) сервер приложений: Tomcat, Jetty или Undertow. Но на этом сервере приложений будет всегда крутиться только одно приложение: спринг бут запускает этот встроенный сервер и публикует себя в нем, и уже работает через него. Поэтому спринг бут приложения еще называются stand-alone - самодостаточные независимые приложения, им не нужен сервер приложений, тут он есть в комплекте.

Но как я и сказал, в спринг буте может и не быть встроенного сервера приложений, его можно "выключить" двумя способами: "мягко" и "жестко". В случае с "жестко" встроенный сервер даже не добавляется в war, его там физически нет. Именно это я и сделал для тебя (пик 1), т.к. ты спрашивал про "спринг бут под томкетом": exclusion - исключили томкет из сборки, provided - указали что servlet api предоставляется контейнером. Поэтому такое приложение теперь вообще нельзя запустить самостоятельно. Но ты всегда можешь поэкспериментировать с pom.xml: удали exclusions и весь dependency блок с provided, и должно заработать автономно.
2259 1741212
Привет, не сильно заняты? Есть небольшой вопрос по регуляркам.
В общем, получается такая фигня. Я пробовал заменить каждую \\ на \\\\ - не помогает. Все равно не матчится. И RANGE заворачивал в скобки ( )
2260 1741215
>>741212
Вот. Проблема не уходит.
2261 1741219
>>741212
Ты скобочки забыл круглые. Варианты с ИЛИ должны идти в скобках: (abc|def|ghi)
По бекслешам правильно первый вариант: \\d
2262 1741221
>>741193
Круто, спасибо что пояснил. Если почитать "спринг в действии" то там можно все это найти? или только по статьям собирать и на опыте?
2263 1741225
>>741219
Благодарю. Я кстати пробовал их ставить, даже в том посте написал.
Но я их ставил вместе с \\\\d, а это уже неправильно.
Ну, обычным println наверное нельзя смотреть регулярку.
2264 1741226
>>741221
Spring in Action это про спринг в общем. Даже не знаю есть ли там отдельная глава по буту, я читал Pro Spring. А вот пикрил тебе явно более глубже расскажет про бут. Но я на самом деле даже не помню чтобы там объяснялось такое, может максимум пара абзацев, то что я уже и так пересказал.
2265 1741229
>>741225
Еще могу посоветовать делать сначала регулярку "в вакууме", а не в джаве. Открываешь например regex101.com или что тебе больше нравится, пишешь тестовые данные, составляешь регулярку, не ебешься с дополнительными бекслешами. Когда заработает - переносишь к себе в джаву, эскейпишь бекслеши.
2266 1741238
>>741229
Хорошо, учту.
Эх, вот бы регулярки в джаве записывались например в таких кавычках ` `
чтоб не было этих правил с бэкслэшем.
2267 1741342
>>741229

>эскейпишь бекслеши


жидбрейнс автоматом эскейпит
2268 1741360
Как же тяжело ковыряться в джаве после жс... Блин, эти
паблик пук среньк воид с толку сбивают.
2269 1741374
>>741342
Да, кстати, при вставке.
2270 1741581
>>741360
Как же тяжело ковыряться в ЖС после Жавы. Ощущение что ты нихуя не контролируешь свои типы сбивает с толку
2271 1741733
Чет не могу понять, как в Path переименовать файл не записывая его куда то? Я прочитал файл, его нужно переименовать и отдать как Path дальше. Исходный файл должен остаться нетронутым. Есть какой то способ сделать это без сторонних утилит?
2272 1741736
Я уже пару лет изучаю джаву, и не очень понимаю что делать. Сейчас пробовал решать Хорстмана, дошел до половины и поймал сильную дизмораль. Я понял что мне это не интересно и я за эти годы нихуя не продвинулся. Пробовал пойти на стажировку, там какая-то мясорубка из любителей олимпиадного программирования, ясен хер, что я слился. Просто сидел и охуевал от заданий, набилось человек 15-20, и так каждый день у них там, отбор сильнейших. Что не так со мной? Получается я просто выкинул время? Реально не знаю что дальше делать, смотрю в потолок все свободное время, и не понимаю. Пиздос.
2273 1741758
>>741736
Забей пока на задачи и изучай технологии - спринг там, базы. Может, станет интереснее от осознания того, что теперь можно сделать что-то более впечатляющее, чем получить данные из консолки и записать результат в файлик.

> мясорубка


Небось ходил в какой-нибудь яндекс. Там не то что стажёрам - всем трудно.
2274 1741852
>>741736
Первое время тяжело, поэтому нормисов и предостерегают, что если идёшь в айти из-за денег, то это хуёвая затея.
Я вот ловлю себя на мысли, что когда после нескольких часов кода какая-нибудь фича наконец начинает работать как надо, то у меня разве что шишка не встаёт.
По началу только это и заставляло двигаться дальше, теперь ещё и деньги платят за эту хуйню, вообще ахренеть.

>мясорубка из любителей олимпиадного программирования


Есть такое. Но первые 10-20 собеседований это не повод сдаваться. Это норма.жпг.
Алсо, жаба это ж не только жаба, это ещё SQL, noSQL, спринг, паттерны, хуятерны, алгоритмы, всё это ещё надо в докере собрать и из под консоли sudo дёргать, ну ты понял. Нахуй ты лез вообще? Есть же жс или петухон. Лез бы туда, там то не будут на ревью ебать, за то, что ты в репозиторий логику из сервиса добавил или ещё где с архитектурой обосрался. Наверное.
>>741758

>Небось ходил в какой-нибудь яндекс. Там не то что стажёрам - всем трудно.


Два чая. Надо лезть в небольшие конторы для вката. Ну такие, где весь процесс собеседования занимает меньше 40 минут.
2275 1741915
Тяжело это. На алгоритмах и многопоточке сольют скорее всего.
2276 1741921
>>741852

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


Что за конторы? что будут спрашивать в таких конторах? Алгоритмы?
И куда идти из-за денег?
>>741758
АТ Consulting, в отзывах пишут, что фирма убогая, и работать надо с 9-23, текучка сильная, поэтому я думал, что им нужны люди, и попасть проще.
2277 1741947
>>741921
Спрашивают везде одно и тоже, просто одним нужен ещё один сотрудник, а другие просто проводят собеседования ради собеседований.
Одни возьмут первого попавшегося адеквата, потому что работа есть и её надо работать, вот прямо завтра, а другие будут N часов про круглые люки спрашивать и потом даже не ответят.

>АТ Consulting


Это на дмитровской, такой ещё вытянутый офис в виде коридора, будто какой-то завод старый или хуй пойми что за здание.
Был там, типичные вопросы по методам класса обжект и отличия связного списка от аррейлиста. Вообще забыли про меня и ничего не ответили, пока сам не напомнил.

>9-23


Даже на собеседовании упоминали, что у них в трудовом договоре прописан ненормированный график.
2278 1741991
>>741921

> И куда идти из-за денег?


В депутаты, гей-шлюхи, наебизнесмены
2279 1741999
>>741921
>>741991
У нас в России три пути:
вебкам, закладки и айти!
2280 1742023
Аноны, такой вопрос. Хочу написать консольную программу, которая будет отвечать на вопросы, введенные пользователем. Ответы будут генерироваться по ключевым словам, типа как, когда, где, почему и т.д. Вопрос в том, как правильнее реализовать логику поиска ключевых слов? Я сам думал разбивать введенную строку на массив стрингов (слов в предложении) и сравнивать каждый элемент массива с коллекцией ключевых слов. Но мне почему-то кажется, что это очень топорно и есть метод элегантнее. Решал кто-то подобную задачу? Поделитесь опытом?
2281 1742030
>>741736

> Я понял что мне это не интересно


Зачем ты вообще тогда в это полез? Конечно же ты в таком случае проебал время, если научился чему-то что тебе в итоге не нравится. Мотивируйся теперь тем что это относительно востребовано и оплачиваемо. Хотя обычно успехов добиваются те кто мотивируется именно увлеченностью.
2282 1742038
>>742023
Я еще только вкатывальщик на хэллоуворлдах, но что тебе мешает ебануть
innerString.contains(goalString)?
в одну строчку узнаешь есть ли твое слово (goalString) во входной строке innerString
2283 1742043
>>742038
Ну так я как-будто бы это и написал как "топорный метод". Только у меня не одно слово,а коллекция ключевых слов. И надо сравнить с каждым из них.
2284 1742052
>>742023
Почему-то в голове всплыло "префиксное дерево".
2285 1742053
>>742052
Ок, спасибо, погуглю.
2286 1742070
Джава это интересно. Я радуюсь, когда очень много говна написал не проверяя, а оно с первого раза заработало. Теперь я понимаю, почему ее берут для тырпрайзных систем.
2287 1742080
>>742070
держи в курсе
2288 1742087
>>742070
Да. Простой синтаксис, все проверки делает JVM, проебаться с чем-то сложно.
2289 1742091
Поясните по хардкору, в чем разница .peek и .map в АПИ стримов? и то и то вроде применяет какой-то экшн к элементу потока
2290 1742104
>>742091
Функция, переданная в map(), должна возвращать значение, а для peek() она должна быть void. То есть peek() выполняет некие побочные действия, например, логгирование, а дальше передаётся оригинальный поток.
Вот только не всё так просто, там ленивость и всякая хуита, из-за которой логика вызова peek() непрозрачна, например, он может не вызваться вообще, если в конце стрима у тебя какой-нибудь count(). Ну и поэтому в доке предполагается, что peek() будет юзаться только для дебага, а не в реальном коде.
2291 1742107
Всем смузи, хипстеры ИТТ!
https://www.jhipster.tech/
2292 1742112
>>742104
Я вкурил вроде. То есть, если экшн внутри map возвращает любой тип Object, то на базе этого типа формируется новый stream<Object>, а если запихать void, то стрин не получится продолжить. и типа для таких случаев и нужен peek, который что-то делает с элементами стрима, но сам поток не реконструируется, и peek можно выкинуть незаметно для самого потока, пропадут только побочки которые родились в нем. так?
благодарю.
2293 1742114
>>742087

>>Простой синтаксис, все проверки делает JVM, проебаться с чем-то сложно.



>>org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/index.html]")


>>at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]


>>at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) ~[spring-security-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]


>>at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]


>>... 108 common frames omitted



Ну да, сразу все понятно по стектрейсу.
2294 1742116
>>742114
Что, неужели

> Segmentation fault


понятнее?
2295 1742130
>>742112
Да.
В peek() можно изменить поток, эти изменения будут видны дальше. Правда, при юзании стримов лучше вообще не делать побочных эффектов, потому что работает это с множеством оговорок.
2296 1742141
>>742130
Ну да. нельзя изменить в том смысле, что нельзя "переродить" в новые элементы, пусть даже того же <типа>. Все ясно.
2297 1742144
>>742070

>говна написал не проверяя


>Я радуюсь


Ну тут 2 стула. Либо "порадуется" тот, кто будет после тебя в этом говне разбираться.
Либо твой тимлид, когда ты будешь в позе креветки принимать шлепки яйцами по жопе за каждый проёб.
image.png4 Мб, 1440x1792
2298 1742249
привет, мое любимое коммьюнити, не подскажете, как лучше изучать спринг, может курсы какие-то есть бесплатные/еще что-то? спасибо <3
2299 1742282
При обращении сервиса к другому сервису (например нужно проверить проверить что код активации аккаунта правильный, но этот код истек делаю через jwts или вообще не найден в базе хранятся в поле сущностей User до активации, после активации обнуляется) нужно выбрасывать рантайм эксепшен или присылать false/ServiceResponse(false, "токен истек")? Что обычно используется и почему? Как гуглить подобное?

Spring5/Boot2
2300 1742327
>>742282
Не знаю как правильно, но если уж будешь выкидывать эксепшн, то порождай свой.
2301 1742415
>>742282
Ты хочешь выбросить эксепшн и вообще ничего не присылать? Могу сказать что так не делается никогда, кроме возможно самых грубейших нарушений протокола, когда в пришедшем пакете совсем нет какого-то поля, или например имя юзера 1000 символов, тогда как в web UI выставлен максимум в 100 символов - т.е. тут явно кто-то играется, реверс-инжинирит, пентестит. Тут можно и нужно выбросить эксепшен, поймать его, залогировать с варнингом, оповестить сервер мониторинга, т.к. это явно очень интересная и нестандартная ситуация. В зависимости от нагрузки на сервер и тяжести эксепшена допускается не возвращать ничего, хотя даже тут всегда возвращают "хаха иди нахуй хацкер мамкин" "unknown error, please try again".

А обе описанные тобой ситуации - и код истек, и кода нет - вполне ожидаемые ситуации, и "программировать на исключениях" тут не нужно. Передаешь токен в сервис проверки, сервис возвращает код результата - enum или int. Далее в зависимости от логики и количества ошибок в домене, свичом или ифом формируешь ответ с нужным классом ошибки.
2302 1742459
>>742415

>>Ты хочешь выбросить эксепшн и вообще ничего не присылать?


Имелся ввиду UserServiceException extends RuntimeException, выбрасывается с месаджем в чем проблема (токен протух, токена нет в базе и тп).

>>enum или int


Думаю в моем случае дто UserServiceResponce. Енум с сообщениями ошибок пока излишен, хватит и стринга с ошибкой (или сета стрингов), которая и будет передана на вьюху.

>>А обе описанные тобой ситуации - и код истек, и кода нет - вполне ожидаемые ситуации


А вот ситуация что введенный логин неправильный - вполне себе исключение.

package org.springframework.security.core.userdetails;
public interface UserDetailsService {
/
@throws UsernameNotFoundException if the user could not be found or the user has no GrantedAuthority
*/
UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;
2303 1742485
>>742114

>An error happened during template parsing (template: "class path resource [templates/index.html]")


Я все сразу понял, а у тебя с чем проблемы?
2304 1742548
>>742485
Все дело было в незакрытом теге <div>. Или в неправильном выражении в этом самом диве(но идея молчала, говорила все ок). Стектрейсы там одинаковые. Проблема в том, что в браузере этот хтмл открывается без ошибок, а при запуске сервака и обращению к странице вываливается такое.
2305 1742852
>>742548
Мне, если честно, похуй, в чем было дело.
2306 1742857
Нужно в коде загрузить все страницы с электронного дневника (не школьного, а в котором про жизнь свою пишешь)
Как распараллелить загрузку страниц, URI которых получаются путем приплюсовывания циферки к шаблону страницы?

Например:
https://www.diary.ru/~room-service/?rfrom=n
, где n - номер страницы дневника
https://www.diary.ru/~room-service/?rfrom=1820

Мне известно общее количество этих страниц, поэтому что бы загрузить все, я просто пробегаюсь в цикле от 0 до n максимального и синхронно всё загружаю, но это очень медленно. (первый пик)
Пробовал через ExecutorService threadpool = Executors.newCachedThreadPool(); (второй пик) но по факту это не дало особого выигрыша во времени, подскажите, плиз, как это вообще правильно и быстро делать.

Использую библиотеку Jsoup (https://jsoup.org/) для скачивания и парсинга html страниц
2307 1742860
>>742857

>Пробовал через ExecutorService threadpool = Executors.newCachedThreadPool(); (второй пик) но по факту это не дало особого выигрыша во времени


Потому что неправильно пробовал.
2308 1742871
Саундтрек треда.
https://youtu.be/iP6IUqrFHjw
2310 1742876
>>668733 (OP)
Вот выучил я Core и дальше смотрю в сторону web-сервисов. Чтобы стать нормальным программистом нужно найти работу, ее не найдешь, если нет хотя бы проекта, его просят на всех вакансиях, очевидно, а я, там писал какие-то рандомные программы с swing или типа того. Так вот, какой проект вы мб реализовывали используя Spring (+ что-то еще, что вам нравится Hibernate и проч и проч), или мб есть идеи для проекта с небольшим стеком простых технологий для веба, я вот пока не понимаю, что мне конкретно учить. Если есть примеры или идеи - отвечайте. Интересно будет узнать про ваши проекты или про ваш путь в Java-разработке
2311 1742884
>>742876
Делай облачный складыватель чисел через spring-cloud-function.
2312 1742894
>>742884

>облачный складыватель чисел


Звучит превосходно! Свой собственный облачный BigDecimal.
2313 1742897
>>742894
Да, NumberAdditioner, который принимает BigDecimalы в виде JSON по ресту.
2315 1742911
>>742876
Попробуй сделать тестовое задание >>727551
2316 1742942
>>742911
Там все легко кроме шифрования. И то скорее всего у какого-нибудь mkyong есть инструкция.
2317 1742956
Ломбок - зашквар? Почему?
2318 1742961
>>742956
Нет.
2319 1742982
2320 1743004
>>742961 (You)
>>742982 (You)
И кому верить?
2321 1743021
>>742942

>>Там все легко кроме шифрования.



>>- GET просмотр документа по ID,


Как просмотреть документ в браузере, если нет плагина для его просмотра или мы не хотим покидать сайт? Допустим это docx.

>>Для gui использовать thymeleaf + material.


material это вообще что? Material UI? Это нужно реакт подключать?
2322 1743039
2323 1743560
>>743004
Мне.
2324 1743660
>>743004
мне
2325 1748742
Почему тред потерли?
2326 1749357
>>748742
у меня все работает
2327 1749921
>>748742
Баг двача, открывай в приватной вкладке.
2328 1752882
Я, конечно, не отрицаю того факта, что я тупой, но как мне такой SQL-запрос написать на QueryDSL?

select *
from affiliate_programs ap
left join affiliate_programs_statistics aps on ap.id = aps.affiliate_program_id
where ap.deleted = false and aps.date between '2020-07-20' and '2020-08-20';
2329 1752884
>>752882
Там еще перед

.from(affiliateProgram) потерялся .distinct()
2330 1758029
>>752882
Ты тупой. Постил после переката.
2331 1758284
>>758029
Легаси тред никто не поддерживает?
2332 1769928
Ребята, почему если запускаю метод coding() из свитча, то все три метода внутри срабатывают одновременно, а если вызвать без свитча - то все работает как надо?
2333 1770276
>>769928
Возможно, дело в буфере. С предыдущего ввода в нём что-то осталось, и следующий ввод пытается это прочитать. Но это не точно.
2334 1770318
>>770276
Нет, уже и дома запустил - поебурика та же.
2335 1770396
>>769928
Перепиши на иф-елс и не мучайся. Да и код понятнее будет. дешифратор виджинира/цезаря?
2336 1773125
>>770396
С иф-елс та же борода, пробовал.
2337 1773130
>>770396
Если шаришь в криптоприколах - скинь тг.
2338 1773287
>>773130
Это просто первое с чего я начинал изучать жабу - писал дешифратор сначала цезаря-потом вижинир-потом методом частотного анализа для разных языков. курсера-дюк университи
А всякие криптоприколы у тебя начнутся в спринг секьюрити
Аноним 2339 1775737
Ребят, каким методом лучше изучать Java? Всю жизнь на книгах, поэтому и выбрал "Полное руководство Шилдта", пержу на 300 странице, грубо говоря тот еще говно-теоретик.

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

Вот и не знаю теперь, правильную ли методику обучения я выбрал
2340 1775769
>>773287
Шифр вижинера же вроде не поддается частотному анализу при использовании одноразовых блокнотов. Да и в принципе взламывать его накладно технически. Или уже нет?
2341 1776088
>>775769
Если компьютера нет - то накладно, а так вполне взламывается. Сначала определяешь длину ключа, а потом он становится обычным цезарем. Я не помню как длину ключа определял, вики подсказывает что так:

Поиск длины ключа. Можно анализировать распределение частот в зашифрованном тексте с различным прореживанием. То есть брать текст, включающий каждую 2-ю букву зашифрованного текста, потом каждую 3-ю и т. д. Как только распределение частот букв будет сильно отличаться от равномерного (например, по энтропии), то можно говорить о найденной длине ключа.

То есть в хэшмепы все это дело собираем и считаем.

>>при использовании одноразовых блокнотов


Это ж вроде шифр Вернама? Его да, так просто хуй сломаещь, а вижинер это просто кодирование словом - по сути развитие цезаря.
2342 1776106
>>775737

>>крутые люди на потоке обучаются посредством собственных проектов.


Так это и есть самый годный способ. Теорию бегло глянул, чтоб понять примерно что как работает - и начинай писать проекты. Задрачивать теорию без практики бессмысленно - все равно ничего не поймешь, пока не попробуешь. Потом придется перечитывать. Если самостоятельно делать проекты пока не умеешь - то есть всякие hyperskill.org и подобные для совсем простых задач уровня кофе-машины или чат-бота. Потом перекатишься на гайды по спрингу на баелданге.
2343 1782342
>>776106
Хорошо, гляну обязательно, спасибо :3
Тред утонул или удален.
Это копия, сохраненная 26 августа 2020 года.

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

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