Этого треда уже нет.
Это копия, сохраненная 31 мая 2021 года.

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

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

Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ?
A: Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.
Сейчас все советуют Hyperskill. Более продуманный план обучения. Но, как и любой %COURSENAME% не гарантирует тебе успешного вката. Выучиться можно и самостоятельно, не отдавая свои кровные васянам-наставникам.

Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред. Но в последнее время увеличивается количество вакансий на удаленке в связи с ковидом. Но, возможно, как вся эта мракобесия закончится, всех обратно загонят в стойло.

Q: Значит, я должен буду всю жизнь сидеть в опенспейсе, конвертируя XML в эксепшны? Ура, мне подходит! С чего начать?
A: Книги: https://libgen.is

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

Q: Я не могу в книги. Наткнулся на джавараш, но в самом верхнем вопросе уловил нотки сарказма. С ним все правда плохо?
A: В наших тредах постоянно появляются люди, спрашивающие о джавараше. Громко объявляют, что начинают заниматься, задают пару тупых вопросов и куда-то пропадают. Похоже, большинство адекватов бросают джавараш из-за дебильных заданий типа "десять раз скопипасти этот кусок кода и выведи в консоль". Тем не менее, иногда появляются и люди, говорящие что прошли его целиком, и что дальше задания получше. Короче, хочешь - пробуй, первые десять занятий бесплатно же. Но, как минимум, лучше совмещать с обучением по другим источникам. На самом деле ты просто потратишь свое время на какой-то мусор.

Q: Пока читаю, все понимаю, а сам ничего сделать не могу. Что делать?
A: Практика, больше практики. Уровня laba1.pas: http://codingbat.com/java http://codehunt.com https://hyperskill.org все говно, есть литкод Примеры той-проектов: http://eax.me/programming-language-learning/

Q: Я выучил кор, достаточно ли этого, чтоб взяли на работу?
A: Лол, конечно нет. Вот майндмап с джава-технологиями: https://coggle.it/diagram/WqgTTNMJtPiHph_q/t/java-development-in-2018

Q: Слышал, SQL знать надо обязательно. Где его учить?
A: Начни с малого: http://www.w3schools.com/sql/default.asp Затем переходи к: http://www.sql-ex.ru/

Q: Всё это хорошо, но без алгоритмов меня на работу не возьмут.
A: Не все конторы дрочат на подход Яндекса который спиздил подход гугла. Но для крупных фирм знать алгоритмы маст хев уже на уровне джуна/трейни, вот курсы от Принстонского университета: https://www.coursera.org/course/algs4partI То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java

Q: Я готов к первому собеседованию.
A: Проверь свои знания здесь: http://www.quizful.net/test И здесь: http://www.careercup.com/

Q: Вопросы на собеседование.
A: http://jsehelper.blogspot.ru/2016/01/blog-post_59.html : куча вопросов с ответамине всегда правильными http://becomejavasenior.com/blog/2015/07/01/327-interview-questions-java-developer/

Перед тем, как задать вопрос Как вайти в айти?, ознакомься с вики:
https://github.com/qqqlll/Java-Thread/wiki
https://github.com/random76/Java-Thread/wiki
2 1980806
ШАПКА НЕ НУЖНА
3 1980819
Жаба позорная
4 1980829
>>1980819
Зато без маняме.

Что-то слишком часто перекатывать стали, в надводном положении много мудаков набигает.
5 1980834
>>1980829
Да какая разница, в прошлом подводном уже вопросы про цикл for и конвертацию дат пошли.
6 1980837
>>1980802 (OP)
Джависты нах вы так жоско пхп копируете?
7 1980868
>>1980837
Чтобы писать масштабируемые высоконагруженные приложухи, а то заебали одни cms и интернет-магазины.
8 1980869
Где аниме тяночки?
9 1980889
>>1980834

>Да какая разница, в прошлом подводном уже вопросы про цикл for и конвертацию дат пошли.


Хоть >>1980837 сишарпидоры почти не набигали.
10 1980896
BigDecimal не нужна. Можно считать в копейках/центах в long
11 1980926
Как же у меня бомбит с переиначивания смыслов слов.

>Последний из управляющих операторов — return. Его используют для выполнения явного возврата из метода


Что значит возврата? Что значит метод возвращает значение?
Это значение кто-то спиздил? Оно блять ушло куда-то, чтобы его возвращать? Сука, и уже кучу сайтов посмотрел - везде такая же непонятная чепуха написана. Ебучие копирайтеры и друг друга пиздят. Неужели это так сложно объяснить нормальным человеческим языком? Это что квантовая физика, задачки Перельмана? Вроде читаю русский язык, а смысл слов другой, ни как у людей.
12 1980927
>>1980926
Возврат к месту вызова, хули тебе не понятно, долбоёб?
13 1980930
>>1980926
Ты когда функцию пишешь, то указываешь что ты ПЕРЕДАЕШЬ на вход и что ожидаешь ПОЛУЧИТЬ на выходе. Функция после окончания работы обязана ОТДАТЬ что-то на выход. То есть функция ПОЛУЧАЕТ что-то на вход и ВОЗВРАЩАЕТ что-то как результат результат своей работы.
Спешу заметить, что ты можешь передать в функцию ничего, а еще ожидать, что функция вернет ничего (оно же void).
14 1980935
>>1980927
Вызова куда, чего? Пиццы к двери или что? ЧТо ты несешь?
Научитесь блядь выражать мысли понятно. Почему функцию команды нельзя нормально объяснить? Вы ваще сами понимаете что кодите там, программисты мамкины?
Вот че делает этот код? Он что создает переменную по имени метода, которому присваивается значение ретёрном?
public String getStatus()
{
return "Dead";
}
А какого хуя не написать по-нормальному? String x = "dead"
15 1980945
>>1980926
Терминология ещё со времён ассемблера, блять.
16 1980952
>>1980935
Вызов твоей мамки, пидор тупой.
Никаких переменных твой метод не создает. По имени метода он возвращает строку, в которой содержится некий статус. В конкретной реализации возвращает строку "Dead".
Написать String x = "dead" нельзя, потому что я, как сторонний разработчик, не хочу думать что твоя больная бошка подразумевает под полем с именем "х".
17 1980958
>>1980945
Это не терминология, это англицизм чистый. Я себе голову сломал пока понял что понимают под : классом, объектом (экземпляром класса), методом и тд.
Очевидно что на инглише это так и написано Class object method. Но эти уроды вместо объяснения через логику: что есть множество и в нём есть подмножества; просто повторяют как сектанты "нууу эээ классы это как схема для объекта нууу эээ а объект типа что-то делает и это метод".
Это как я буду объяснять русскому из 20-го века что означает LOL Батхерт Тролинг используя только эти слова.
18 1980966
>>1980958
Думаешь, на инглише эти термины сильно понятнее для простого Джона? Да нихуя, это узкоспециализированные смыслы, и знание самого популярного значения не помогает, разве что слово знакомое. Точно так же мучаются с циклически взаимосвязанными понятиями A -> B -> C -> A, и логика тут не поможет.
YakovFajn.jpeg62 Кб, 400x520
19 1980970
>>1980958

>>Я себе голову сломал пока понял что понимают под : классом, объектом (экземпляром класса), методом и тд.


Может тебе литературу попроще почитать типа пикрелейтед?

>>это англицизм чистый


Там половина терминов с советских времен, многие термины из математики. Может тебе еще и бинарную систему в целковые перевести?
Умерь свой батхерт и учи терминологию или иди нахуй.
20 1980975
А что такое поток в джаве? Это стрим, стрим или тред?
21 1980979
>>1980975
Зависит от контекста.
22 1980981
23 1980982
>>1980945
ты даун? ассемблерный ret – это совершенно не то же самое, что сишный и далее
24 1980986
Если я делаю извлечение метода в данном же классе, правильнее передавать ему весь объект или только те параметры, которые ему нужны? А если извлекаю в другой класс?
25 1980987
>>1980982
Ебанулся? Где я писал, что это то же самое, а блять?
26 1980989
>>1980987
и какая же тогда терминология из описанной в том посте существует со времен асм?
27 1980991
>>1980989
Возврат
28 1980992
>>1980986
конкретный пример приведи
15782576130780.mp4325 Кб, mp4,
640x360, 0:07
29 1980995
30 1980996
>>1980992
Типичная ситуация же. Ладно, я уже сам загуглил.
31 1980998
>>1980991
какой возврат блядь, не существует возврата в ассемблере
image.png334 Кб, 411x411
32 1981004
>>1980802 (OP)
Как же хорошо что сдохла Sun Microsystems.
Как же плохо, что до того как сдохла Sun, она породила недоязык Java. Но всё же плохо, что умер Sparc - было всё же что-то хорошее у Sun. Лучше бы Java сдохла вместе с Sun, а Sparc бы жил.

Впрочем, говноC# всё вскоре похоронит Джаву.
33 1981006
>>1981004
Главное что Go очень скоро похоронит их обоих.
34 1981011
>>1981004
SPARC хуйня, настоящим продуктом от Sun был Solaris и поддержка для него. Вот где дух настоящего UNIX, а не поделки ламеров.
35 1981099
>>1980996

>>Типичная ситуация же


ситуация может и типичная, но описал ты ее очень абстрактно и непонятно, там вариантов куча.
36 1981110
Почему на планете существует 10 миллиардов людей, которые до сих пор не могут определиться с тем, как правильно отсчитывать время?

Из-за этого страдают все, но никаких подвижек в эту сторону не осуществляется.
37 1981135
Оп-хуй опять теги проебал
38 1981152
>>1981110

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



The number of second that have elapsed since Unix epoch.
Use signed 64-bits integer value and be happy until Sun will fade.
39 1981160
>>1981152
64 бита это сколько миллиардов секунд?
40 1981177
>>1981160
Тепловая смерть вселенной успеет наступить 11 с копейками раз.
41 1981179
>>1980935

> А какого хуя не написать по-нормальному? String x = "dead"


Пиздуй в паскаль тред и пиши на здоровье
function myParabola(): string;
begin
result := "dead";
end;

А у нас тут тред для натуралов!
42 1981181
>>1981160
от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 это в секундах. Перевести в миллиарды секунд сможешь сам.
43 1981182
>>1981181
Упс.
44 1981269
>>1981179

>А у нас тут тред для натуралов!


> Java


> Да херр мвйор

45 1981355
Подскажите, как в IDEA создать Maven файл (pom.xml) в уже существующем проекте (в котором нет Maven в корне) и конкретной папке?
А ту я нашел только на корень (через Add framework...) ко всему проекту, но мне нужно только к одной директории.

Ну например
/
/somefolder
/folder
/folder/src

Вот нужен maven, относящийся и работающий только в /folder/pom.xml

И именно через GUI IDEA чтобы потом там же запускать всякие clean, build и т.д.
46 1981359
>>1981110

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


Консервативные слишком.
Инкубатор жерминаля 10 жерминаля им видите ли не нравится, им 30 марта подавай с ебанутой длиной месяцев.
47 1981361
>>1981355
Create file -> pom.xml
48 1981366
>>1981152
А как быть с миллисекундами?
49 1981432
>>1981361
Дык он пустой создаётся...
50 1981445
>>1981432
Ну тогда напиши в нем что-нибудь.
51 1981447
Что вы делаете с блядскими .iml файлами, насранными Idea? Если сама папку .idea я добавил в гитигнор, то он срет ими еще возле pom файлов :/
Их принудительно что ли добавлять?
52 1981454
>>1981447
.idea тоже добавь
53 1981459
>>1981366
Хороший вопрос.
Я думал об этом долго.
Предлагаю их хранить отдельно.
Насчёт типа данных идей не имею.
хорошо бы время представлять в пикосекундах, но не помещаются в 32 бита. Короче, время меньше секунды это тема для обсуждания.

Блиа, такую интересную тему мусолим в треде про Java. Нехорошо это.
IMG20210330164047.jpg7,1 Мб, 3000x4000
54 1981477
Что за зелёное выделение???
55 1981478
>>1981454
Ее я и так добавил, iml от pom то как добавить?
56 1981481
>>1981477
Видеокарта глючит.
57 1981484
>>1981477

> Что за зелёное выделение???


Врача спроси, что там у тебя за выделения зеленые.
58 1981486
>>1981477
Это новве незакоммиченные файлы.
59 1981490
>>1981484
Евгений Ваганыч? Не узнал.
60 1981491
лок, монитор, мьютекс это синонимы?
61 1981511
>>1981486
Это те, у которых шрифт зелёный, это понятно.
Я про заливку зеленую.
62 1981513
>>1981490

>Не узнал.


Елена Григорьевна, вы пол сменили?
63 1981530
>>1981491
Нет, но близкие вещи.
64 1981531
>>1981513
Ты мне 5 квартир должен после развода, мудак.
65 1981652
Аноны подскажите плиз в чего щас лучше вкатываться, в какой язык программирования?сам в этом ноль,хотел бы найти учителя который будет вести,буду ему % от зп платить и в дальнейшим тоже
66 1981653
>>1981511
идея так тестовые файлы помечает. Настраивается в структуре проекта
67 1981661
68 1981664
>>1981652
если ты сам не открыл книжку по программированию и не прочитал её залпом - смысла нет
69 1981665
>>1981491
Лок это персонаж из сериала остаться в живых. Монитор это куда смотреть чтобы кодить. Мьютекс это презервативы вроде, не знаю, не пользовался.
70 1981679
up
sage 71 1981682
сажи
72 1981924
Потсаны, а вот если дженериков нет на уровне JVM, они там стираются, то как тогда оные реализованы в Scala и Kotlin? Тапм тоже type erasure?
73 1981933
>>1981924
А там не стираются.
74 1981940
>>1981933
А во что <T> превращается?

И вот еще говорят, что в джаве сделали такие вот дженерики, чтобы сохранить бэквард компатибилитю. Якобы чтобы скомпиленный класс из java 1.5 мог быть запущен в java 1.1
Но ведь если я сейчас возьму программу на java 11, скомпилирую, и попытаюсь запустить на java 8, то бросится UnsupportedClassVersionError Application has been compiled by a more recent version of the Java Runtime

Мне кажется их сделали такими, чтобы не изменять саму jvm на уровне байткода, чтоб наоборот скомпиленные классы из 1.1 работали в 1.5 жвм, а не наоборот. Иными словами, чтобы в .class файле все было как раньше: CAFE BABE и вся остальная его структура.
75 1981942
>>1981940
Ясно.
76 1981944
Почему в spring cloud stream сообщения отправляются как будто бы синхронно?
77 1981955
В спринге есть что-то для конверсии из дто в ентити? ConversionService он для этого?
78 1981963
>>1981940

>Мне кажется их сделали такими, чтоб наоборот скомпиленные классы из 1.1 работали в 1.5 жвм, а не наоборот


Поздравляю, ты только что понял значение словосочетания "обратная совместимость".
79 1981964
>>1981955
mapstruct
80 1981967
>>1981963
А мужик говорил наоборот. Вот я и подумал неужели препод ошибся.
81 1981973
все эти маппинги-хуяппинги жидко серят в штаны, когда помимо маппинга надо взять значение для поля из какого-то отдельного сервиса
82 1981975
>>1981973
в сервисе прогоняешь через маппинг, потом руками делаешь вызовы и вставляешь значения
83 1981977
>>1981975
Нахуя тогда прогонять через маппинг вообще, если можно руками вставить значения?
84 1981981
>>1981977
чтобы руками не вызывать 100500 сеттеров и геттеров
85 1981982
>>1981981
а 5 геттеров и сеттеров можно?
86 1981989
weqnqwen.JPG39 Кб, 462x709
87 1982019
Решал задачу на копирование объектов, сделал но нихуя не понял как это работает. Что происходит в параметрах метода copy ?
88 1982026
>>1982019
Твой метод copy принимает другой объект и просто делает значения полей своего объекта равными значениям другого.
89 1982027
90 1982029
>>1982027
Пойдёт, но такое себе.
91 1982030
>>1981653
Спс
image.png29 Кб, 459x533
92 1982031
>>1981459
Вот так время хранит LocalTime, в LocalDate аналогично. А LocalDateTime - комбинация LocalDate и LocalTime. Понятно, что подход не байтоебский, но зато не будет никакой хуйни.
93 1982033
94 1982034
>>1981982
Разрешаю.
95 1982036
>>1982033
Запрещаю.
96 1982037
>>1982033
Уже хуёво, но изредка можно.
97 1982038
Хорошо, пропишу в нашем корпоративном кодстиле 7. Как в Библии.
98 1982041
>>1982026
То есть Y это новый объект?
99 1982042
>>1982038
Если в проекте уже используется мапстракт, то даже для 5 ебано писать руками маппинг. Если еще не используется, то ради 5 его ебано прикручивать.
100 1982043
>>1982038
5 пиши, самый оптимальный вариант. 7 - это край уже.
101 1982045
Да ладно я вас наебал, ради одного дто я со стула пернуть не встану, не то что мапстракты использовать.
102 1982046
>>1982041
Нет, copy не создаёт новых объектов вообще, он просто делает один объект таким же, как другой.
103 1982047
>>1982045
Зато шизики с ломбоком встают.
104 1982049
>>1982046

>он просто делает один объект таким же, как другой.


Даладно?
Я вижу что он делает, я спрашиваю КАК он это делает. Я раньше только всякие String и int в параметрах писал. А тут ссылка на класс и переменная y, она чего делает? Если бы я просто написал x = y мне бы выбило что разные типы данных, а если через точку то норм. Это что?
105 1982055
>>1982047
Я шизик с ломбоком.
16019304992240.jpg41 Кб, 600x450
106 1982058
107 1982059
>>1982049
Это первые главы любой книги по джаве.
108 1982070
А что вы мне пиздели, что нужно самому мапперы писать в качестве иннер класса. Оказывается существует какой-то MapStruct.
109 1982075
>>1982070
Да кто ж знает, что там в спринге есть, Не удивлюсь, если даже обёртки над javafx найдутся.
изображение.png52 Кб, 747x823
110 1982077
Кстати, там spring initializr обосрался.
111 1982104
>>1982031
И структура нифига не выровнена. Может быть у вас Java это считается нормальным, но не в классических языках.
112 1982213
>>1982070
Я помню, как какой-то шиз это советовал, тогда еще весь тред проигрывал.
113 1982234
>>1982077
так создай через идею да и все
114 1982235
>>1982104

>>структура нифига не выровнена


Это что значит? Как должно быть?
115 1982242
>>1982104
Битовые поля когда в жабу завезут???
116 1982247
>>1982104

>структура нифига не выровнена


как ты это определил?
117 1982268
Void
118 1982270
Сап. Делаю первый раз SpringMVC CRUD приложение. Просто веб страница users, которых можно создавать, добавлять, извлекать и получать весь список. Юзеры будут отображенны таймлифом и хтмл. Я делаю без CrudRepository, на хибернет. Как должно все быть по уму? Я правильно понимаю, что должен быть сервис слой, который просто обертка над DAO, в DAO я создаю
EntityManager em = entityManagerFactory.createEntityManager();
дальше, там же в DAO я делаю транзакцию, а вот тут я путаюсь. Как связать дао с контроллером? Может что-то можно читнуть на эту тему?
119 1982296
>>1982270
Ты из контроллера вызываешь нужный метод в дао а ещё лучше сделать сервис, который вызывает метод дао,а метод этого сервиса вызывается из контроллера
120 1982304
>>1981110
Очевидно - потому что время используется для разных целей. Кому-то нужно зафиксировать момент времени и потом его отобразить в привычном человеку формате. Кому-то нужна календарная дата кстати в мире используется не только григорианский календарь. Кому-то локальное время. Кому-то дата-время в конкретном часовом поясе.

Есть экзотика типа год-месяц/час-минута, но тоже встречается.
121 1982305
>>1982077
Ну все, работа встала.
122 1982405
>>1982070
Так вроде определились, <=7 полей - делаешь внутренний класс, как только больше, сразу подключаешь мапструкт, удаляешь внутренний класс и срешь аннотациями на сущность.
123 1982482
>>1982405

>срешь аннотациями на сущность


Нуб ни разу не использовал мапстракт, спешите видеть.
124 1982521
Java is verbose, legacy-driven costyl retrograd programming language.
125 1982525
>>1982521

private final native public volatile static transient synchronized protected abstract class FactoryFactoryFactoryFacade extends AbstractBuilderIteratorBeanDecoratorInterceptorFactoryFactory implements AbstractFactoryStrategyIteratorProxy, AbstractFactoryFactoryListener {

SingletonDecoratorAdapter singletonDecoratorAdapter = new SingletonDecoratorAdapter();

AbstractFactoryFactorySingletonBuilderProxy abstractFactoryFactorySingletonBuilderProxy = new AbstractFactoryFactorySingletonBuilderProxy();

VisitorBeanSingletonProxyAdvisorBuilderFactoryFactory visitorBeanSingletonProxyAdvisorBuilderFactoryFactory = new VisitorBeanSingletonProxyAdvisorBuilderFactoryFactory();

IteratorListenerBean iteratorListenerBean = new IteratorListenerBean();

AbstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator abstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator = new AbstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator();

synchronized final private protected void setAdvisorFacadeObserverFactorySingletonBeanProxy(AdvisorFacadeObserverFactorySingletonBeanProxy advisorFacadeObserverFactorySingletonBeanProxy) {
this.advisorFacadeObserverFactorySingletonBeanProxy = advisorFacadeObserverFactorySingletonBeanProxy;
}

public synchronized static protected native volatile transient private void setAbstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy(AbstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy) {
this.abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy = abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy;
}

native public static synchronized protected private transient final void setAbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator(AbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator) {
this.abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator = abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator;
}

protected public native synchronized final void setAbstractBuilderFactoryFactory(AbstractBuilderFactoryFactory abstractBuilderFactoryFactory) {
this.abstractBuilderFactoryFactory = abstractBuilderFactoryFactory;
}

static private protected volatile transient SingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory getSingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory() {
return this.singletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory;
}

transient private final static public VisitorAdvisorFactoryAdapterProxy getVisitorAdvisorFactoryAdapterProxy() {
return this.visitorAdvisorFactoryAdapterProxy;
}

synchronized protected public final volatile private AbstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener getAbstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener() {
return this.abstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener;
}

public transient private AbstractListenerAdvisor getAbstractListenerAdvisor() {
return this.abstractListenerAdvisor;
}

public protected transient final synchronized volatile static native private AbstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter abstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter(ObserverDecoratorAdvisorAdapterBuilderSingletonFacade observerDecoratorAdvisorAdapterBuilderSingletonFacade, AbstractBeanInterceptor abstractBeanInterceptor, AdvisorFacadeSingletonDecoratorListener advisorFacadeSingletonDecoratorListener, AbstractAdapterAdvisorObserverListenerFactoryStrategyBeanBuilder abstractAdapterAdvisorObserverListenerFactoryStrategyBeanBuilder, AbstractBeanSingletonInterceptorDecoratorFactoryFactoryFactoryProxyObserver abstractBeanSingletonInterceptorDecoratorFactoryFactoryFactoryProxyObserver) {
decoratorProxyBean.setProxyAdvisorStrategyFactoryFactoryInterceptorFactoryAdapter(this.proxyAdvisorStrategyFactoryFactoryInterceptorFactoryAdapter);

return new AbstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter();
}

transient native private final synchronized volatile protected static DecoratorSingletonIterator decoratorSingletonIterator(ObserverSingletonListenerFactoryFactoryBuilder observerSingletonListenerFactoryFactoryBuilder, VisitorDecoratorSingletonObserverFactory visitorDecoratorSingletonObserverFactory, AbstractFacadeBeanAdvisorAdapterSingletonProxyListenerFactoryFactory abstractFacadeBeanAdvisorAdapterSingletonProxyListenerFactoryFactory, FactoryVisitorProxyDecoratorListener factoryVisitorProxyDecoratorListener) {
factoryInterceptorListenerSingletonFacadeDecoratorAdapter.setAbstractBuilderDecorator(this.abstractBuilderDecorator);
InterceptorProxyFacade interceptorProxyFacade = new InterceptorProxyFacade();
abstractAdvisorAdapterVisitorBean.setAbstractAdapterObserver(this.abstractAdapterObserver);
abstractInterceptorListenerBuilderSingletonAdapterStrategyFactoryAdvisor.setAdvisorStrategyDecorator(this.advisorStrategyDecorator);

return new DecoratorSingletonIterator();
}

synchronized volatile private final protected public static native transient AbstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade abstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade(ObserverListenerBeanFactoryFactoryAdvisor observerListenerBeanFactoryFactoryAdvisor, ProxyObserverVisitorFactoryBuilderDecoratorStrategy proxyObserverVisitorFactoryBuilderDecoratorStrategy, AbstractBeanInterceptorObserverAdvisor abstractBeanInterceptorObserverAdvisor) {
abstractStrategyFactoryFactoryBeanVisitorBuilderSingleton.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
AbstractListenerAdvisorSingletonObserver abstractListenerAdvisorSingletonObserver = abstractBuilderDecoratorVisitorFactoryBeanProxyFacadeSingleton.getAbstractAdapterProxyBuilderFacadeListenerAdvisorInterceptorFactory().getAbstractListenerAdvisorSingletonObserver();

return new AbstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade();
}

volatile static transient public native protected AbstractListenerBuilderAdvisorProxyVisitorFacade abstractListenerBuilderAdvisorProxyVisitorFacade(DecoratorSingletonAdvisorFactoryInterceptorListenerBuilder decoratorSingletonAdvisorFactoryInterceptorListenerBuilder, AbstractDecoratorBuilderBeanListenerSingletonObserver abstractDecoratorBuilderBeanListenerSingletonObserver) {
AbstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter abstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter = new AbstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter();
adapterAdvisorDecoratorFacadeProxy.setAbstractAdapterBeanDecoratorStrategySingletonFacadeListenerFactory(this.abstractAdapterBeanDecoratorStrategySingletonFacadeListenerFactory);

return new AbstractListenerBuilderAdvisorProxyVisitorFacade();
}

private final public static volatile transient synchronized protected InterceptorSingletonVisitor interceptorSingletonVisitor(AbstractDecoratorStrategyProxyObserverInterceptorBuilder abstractDecoratorStrategyProxyObserverInterceptorBuilder, AbstractVisitorAdvisorFacadeListener abstractVisitorAdvisorFacadeListener, VisitorFactoryFactoryBuilder visitorFactoryFactoryBuilder, VisitorProxyFacadeFactoryFactorySingletonAdvisorDecorator visitorProxyFacadeFactoryFactorySingletonAdvisorDecorator, AbstractAdvisorBuilderDecoratorInterceptor abstractAdvisorBuilderDecoratorInterceptor) {
AbstractProxyAdvisor abstractProxyAdvisor = abstractFactoryFactoryDecorator.getListenerInterceptorFactoryFactory().getAbstractProxyAdvisor();
AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory abstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory = new AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory();
abstractBeanAdvisorSingletonInterceptor.setAbstractFactoryFactoryAdvisorFacadeStrategy(this.abstractFactoryFactoryAdvisorFacadeStrategy);
AbstractAdvisorProxyStrategyIteratorVisitorObserver abstractAdvisorProxyStrategyIteratorVisitorObserver = new AbstractAdvisorProxyStrategyIteratorVisitorObserver();

if (abstractSingletonFacadeFactoryObserver.isInterceptorListenerFacade()) {
iteratorProxyListenerFacadeBean.setAbstractStrategyBean(this.abstractStrategyBean);
AbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor abstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor = abstractBeanInterceptorIteratorListenerFactoryFactoryStrategyProxyObserver.getAbstractObserverFacadeListenerSingletonProxyAdvisorStrategyVisitor().getAbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor();
abstractProxyBuilderVisitorSingleton.setIteratorAdvisorProxySingletonAdapter(this.iteratorAdvisorProxySingletonAdapter);

if (abstractDecoratorAdapterVisitorProxyObserverIteratorBuilderFactory.isDecoratorFactoryFactoryFacade()) {
visitorIteratorObserverProxyAdvisor.setAbstractObserverSingletonProxyAdvisorBuilderDecorator(this.abstractObserverSingletonProxyAdvisorBuilderDecorator);
singletonFacadeAdapterListenerFactory.setAbstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory(this.abstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory);

while (abstractFactoryAdapterSingletonFactoryFactory.isAbstractStrategyFactory()) {
abstractAdapterBeanStrategySingletonAdvisorBuilderListenerFactory.setAbstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver(this.abstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver);
abstractObserverAdapterFactoryFacadeDecoratorBuilderInterceptorFactoryFactory.setAdvisorIteratorFactoryProxyDecorator(this.advisorIteratorFactoryProxyDecorator);

while (abstractFacadeListenerStrategyIteratorAdvisorSingletonProxyObserver.isVisitorDecoratorInterceptorIteratorAdapter()) {
abstractProxyAdapterInterceptorObserverFactoryFactoryIterator.setSingletonFactoryFactoryProxyIteratorStrategy(this.singletonFactoryFactoryProxyIteratorStrategy);
singletonInterceptorDecorator.setAbstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade(this.abstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade);
visitorFactoryFactoryAdapterIteratorInterceptor.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
}
}
} else {
abstractListenerInterceptorStrategyVisitorBeanFactorySingletonIterator.setAbstractProxyStrategy(this.abstractProxyStrategy);
abstractProxyInterceptorSingletonFactoryFactory.setAbstractSingletonIterator(this.abstractSingletonIterator);
}
} else {
singletonListenerFactoryFactoryIteratorProxy.setAbstractObserverProxyIteratorVisitor(this.abstractObserverProxyIteratorVisitor);
}

return new InterceptorSingletonVisitor();
}

native volatile static final public AbstractSingletonObserver abstractSingletonObserver(AbstractBuilderFacade abstractBuilderFacade, ListenerBuilderVisitorFactoryStrategyAdvisorFacade listenerBuilderVisitorFactoryStrategyAdvisorFacade) {
builderObserverIterator.setAbstractProxyBuilder(this.abstractProxyBuilder);
AbstractInterceptorAdapterFactoryAdvisorStrategyProxy abstractInterceptorAdapterFactoryAdvisorStrategyProxy = abstractDecoratorInterceptor.getStrategyObserverListenerVisitorBean().getAbstractInterceptorAdapterFactoryAdvisorStrategyProxy();
AbstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator abstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator = abstractFactoryIteratorStrategyVisitor.getAdvisorBuilderVisitorBeanIterator().getAbstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator();

while (facadeStrategyObserver.isAbstractFactoryFactoryFactoryListenerVisitorIteratorSingletonBeanAdvisor()) {
abstractFactoryFactoryAdvisorFactoryInterceptorIteratorObserverProxyBuilder.setIteratorAdvisorBeanBuilderProxy(this.iteratorAdvisorBeanBuilderProxy);
AbstractIteratorFactoryFactoryFacadeObserverVisitorAdapter abstractIteratorFactoryFactoryFacadeObserverVisitorAdapter = new AbstractIteratorFactoryFactoryFacadeObserverVisitorAdapter();
abstractVisitorObserverBeanSingletonBuilderProxyFacadeIterator.setAbstractProxyFactoryAdapterFactoryFactoryInterceptorIterator(this.abstractProxyFactoryAdapterFactoryFactoryInterceptorIterator);
}

return new AbstractSingletonObserver();
}

transient volatile static private synchronized AbstractFactorySingletonFacadeProxyFactoryFactoryIterator abstractFactorySingletonFacadeProxyFactoryFactoryIterator(ObserverInterceptorAdapter observerInterceptorAdapter, AbstractInterceptorIteratorListenerFacadeDecoratorVisitor abstractInterceptorIteratorListenerFacadeDecoratorVisitor, FactoryDecoratorBeanAdapterProxy factoryDecoratorBeanAdapterProxy, SingletonAdvisorFacadeBuilderStrategy singletonAdvisorFacadeBuilderStrategy) {
AbstractBuilderIterator abstractBuilderIterator = new AbstractBuilderIterator();
iteratorSingletonDecoratorVisitorAdvisorFactoryFacade.setAbstractDecoratorAdapterListenerBuilderFacadeIterator(this.abstractDecoratorAdapterListenerBuilderFacadeIterator);

return new AbstractFactorySingletonFacadeProxyFactoryFactoryIterator();
}

synchronized volatile protected native private DecoratorStrategyBuilderListenerSingleton decoratorStrategyBuilderListenerSingleton(ObserverBuilderFactoryFactory observerBuilderFactoryFactory, AbstractStrategyDecoratorFacadeVisitor abstractStrategyDecoratorFacadeVisitor, AbstractAdapterIteratorListenerBuilderFactoryVisitor abstractAdapterIteratorListenerBuilderFactoryVisitor, AbstractVisitorObserverBuilderSingletonProxyIteratorListenerDecorator abstractVisitorObserverBuilderSingletonProxyIteratorListenerDecorator, AbstractStrategyFactoryFacadeVisitorListenerBean abstractStrategyFactoryFacadeVisitorListenerBean) {
advisorStrategySingleton.setAbstractSingletonObserverAdapterDecorator(this.abstractSingletonObserverAdapterDecorator);

return new DecoratorStrategyBuilderListenerSingleton();
}

}
125 1982525
>>1982521

private final native public volatile static transient synchronized protected abstract class FactoryFactoryFactoryFacade extends AbstractBuilderIteratorBeanDecoratorInterceptorFactoryFactory implements AbstractFactoryStrategyIteratorProxy, AbstractFactoryFactoryListener {

SingletonDecoratorAdapter singletonDecoratorAdapter = new SingletonDecoratorAdapter();

AbstractFactoryFactorySingletonBuilderProxy abstractFactoryFactorySingletonBuilderProxy = new AbstractFactoryFactorySingletonBuilderProxy();

VisitorBeanSingletonProxyAdvisorBuilderFactoryFactory visitorBeanSingletonProxyAdvisorBuilderFactoryFactory = new VisitorBeanSingletonProxyAdvisorBuilderFactoryFactory();

IteratorListenerBean iteratorListenerBean = new IteratorListenerBean();

AbstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator abstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator = new AbstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator();

synchronized final private protected void setAdvisorFacadeObserverFactorySingletonBeanProxy(AdvisorFacadeObserverFactorySingletonBeanProxy advisorFacadeObserverFactorySingletonBeanProxy) {
this.advisorFacadeObserverFactorySingletonBeanProxy = advisorFacadeObserverFactorySingletonBeanProxy;
}

public synchronized static protected native volatile transient private void setAbstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy(AbstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy) {
this.abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy = abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy;
}

native public static synchronized protected private transient final void setAbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator(AbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator) {
this.abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator = abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator;
}

protected public native synchronized final void setAbstractBuilderFactoryFactory(AbstractBuilderFactoryFactory abstractBuilderFactoryFactory) {
this.abstractBuilderFactoryFactory = abstractBuilderFactoryFactory;
}

static private protected volatile transient SingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory getSingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory() {
return this.singletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory;
}

transient private final static public VisitorAdvisorFactoryAdapterProxy getVisitorAdvisorFactoryAdapterProxy() {
return this.visitorAdvisorFactoryAdapterProxy;
}

synchronized protected public final volatile private AbstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener getAbstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener() {
return this.abstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener;
}

public transient private AbstractListenerAdvisor getAbstractListenerAdvisor() {
return this.abstractListenerAdvisor;
}

public protected transient final synchronized volatile static native private AbstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter abstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter(ObserverDecoratorAdvisorAdapterBuilderSingletonFacade observerDecoratorAdvisorAdapterBuilderSingletonFacade, AbstractBeanInterceptor abstractBeanInterceptor, AdvisorFacadeSingletonDecoratorListener advisorFacadeSingletonDecoratorListener, AbstractAdapterAdvisorObserverListenerFactoryStrategyBeanBuilder abstractAdapterAdvisorObserverListenerFactoryStrategyBeanBuilder, AbstractBeanSingletonInterceptorDecoratorFactoryFactoryFactoryProxyObserver abstractBeanSingletonInterceptorDecoratorFactoryFactoryFactoryProxyObserver) {
decoratorProxyBean.setProxyAdvisorStrategyFactoryFactoryInterceptorFactoryAdapter(this.proxyAdvisorStrategyFactoryFactoryInterceptorFactoryAdapter);

return new AbstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter();
}

transient native private final synchronized volatile protected static DecoratorSingletonIterator decoratorSingletonIterator(ObserverSingletonListenerFactoryFactoryBuilder observerSingletonListenerFactoryFactoryBuilder, VisitorDecoratorSingletonObserverFactory visitorDecoratorSingletonObserverFactory, AbstractFacadeBeanAdvisorAdapterSingletonProxyListenerFactoryFactory abstractFacadeBeanAdvisorAdapterSingletonProxyListenerFactoryFactory, FactoryVisitorProxyDecoratorListener factoryVisitorProxyDecoratorListener) {
factoryInterceptorListenerSingletonFacadeDecoratorAdapter.setAbstractBuilderDecorator(this.abstractBuilderDecorator);
InterceptorProxyFacade interceptorProxyFacade = new InterceptorProxyFacade();
abstractAdvisorAdapterVisitorBean.setAbstractAdapterObserver(this.abstractAdapterObserver);
abstractInterceptorListenerBuilderSingletonAdapterStrategyFactoryAdvisor.setAdvisorStrategyDecorator(this.advisorStrategyDecorator);

return new DecoratorSingletonIterator();
}

synchronized volatile private final protected public static native transient AbstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade abstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade(ObserverListenerBeanFactoryFactoryAdvisor observerListenerBeanFactoryFactoryAdvisor, ProxyObserverVisitorFactoryBuilderDecoratorStrategy proxyObserverVisitorFactoryBuilderDecoratorStrategy, AbstractBeanInterceptorObserverAdvisor abstractBeanInterceptorObserverAdvisor) {
abstractStrategyFactoryFactoryBeanVisitorBuilderSingleton.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
AbstractListenerAdvisorSingletonObserver abstractListenerAdvisorSingletonObserver = abstractBuilderDecoratorVisitorFactoryBeanProxyFacadeSingleton.getAbstractAdapterProxyBuilderFacadeListenerAdvisorInterceptorFactory().getAbstractListenerAdvisorSingletonObserver();

return new AbstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade();
}

volatile static transient public native protected AbstractListenerBuilderAdvisorProxyVisitorFacade abstractListenerBuilderAdvisorProxyVisitorFacade(DecoratorSingletonAdvisorFactoryInterceptorListenerBuilder decoratorSingletonAdvisorFactoryInterceptorListenerBuilder, AbstractDecoratorBuilderBeanListenerSingletonObserver abstractDecoratorBuilderBeanListenerSingletonObserver) {
AbstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter abstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter = new AbstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter();
adapterAdvisorDecoratorFacadeProxy.setAbstractAdapterBeanDecoratorStrategySingletonFacadeListenerFactory(this.abstractAdapterBeanDecoratorStrategySingletonFacadeListenerFactory);

return new AbstractListenerBuilderAdvisorProxyVisitorFacade();
}

private final public static volatile transient synchronized protected InterceptorSingletonVisitor interceptorSingletonVisitor(AbstractDecoratorStrategyProxyObserverInterceptorBuilder abstractDecoratorStrategyProxyObserverInterceptorBuilder, AbstractVisitorAdvisorFacadeListener abstractVisitorAdvisorFacadeListener, VisitorFactoryFactoryBuilder visitorFactoryFactoryBuilder, VisitorProxyFacadeFactoryFactorySingletonAdvisorDecorator visitorProxyFacadeFactoryFactorySingletonAdvisorDecorator, AbstractAdvisorBuilderDecoratorInterceptor abstractAdvisorBuilderDecoratorInterceptor) {
AbstractProxyAdvisor abstractProxyAdvisor = abstractFactoryFactoryDecorator.getListenerInterceptorFactoryFactory().getAbstractProxyAdvisor();
AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory abstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory = new AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory();
abstractBeanAdvisorSingletonInterceptor.setAbstractFactoryFactoryAdvisorFacadeStrategy(this.abstractFactoryFactoryAdvisorFacadeStrategy);
AbstractAdvisorProxyStrategyIteratorVisitorObserver abstractAdvisorProxyStrategyIteratorVisitorObserver = new AbstractAdvisorProxyStrategyIteratorVisitorObserver();

if (abstractSingletonFacadeFactoryObserver.isInterceptorListenerFacade()) {
iteratorProxyListenerFacadeBean.setAbstractStrategyBean(this.abstractStrategyBean);
AbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor abstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor = abstractBeanInterceptorIteratorListenerFactoryFactoryStrategyProxyObserver.getAbstractObserverFacadeListenerSingletonProxyAdvisorStrategyVisitor().getAbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor();
abstractProxyBuilderVisitorSingleton.setIteratorAdvisorProxySingletonAdapter(this.iteratorAdvisorProxySingletonAdapter);

if (abstractDecoratorAdapterVisitorProxyObserverIteratorBuilderFactory.isDecoratorFactoryFactoryFacade()) {
visitorIteratorObserverProxyAdvisor.setAbstractObserverSingletonProxyAdvisorBuilderDecorator(this.abstractObserverSingletonProxyAdvisorBuilderDecorator);
singletonFacadeAdapterListenerFactory.setAbstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory(this.abstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory);

while (abstractFactoryAdapterSingletonFactoryFactory.isAbstractStrategyFactory()) {
abstractAdapterBeanStrategySingletonAdvisorBuilderListenerFactory.setAbstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver(this.abstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver);
abstractObserverAdapterFactoryFacadeDecoratorBuilderInterceptorFactoryFactory.setAdvisorIteratorFactoryProxyDecorator(this.advisorIteratorFactoryProxyDecorator);

while (abstractFacadeListenerStrategyIteratorAdvisorSingletonProxyObserver.isVisitorDecoratorInterceptorIteratorAdapter()) {
abstractProxyAdapterInterceptorObserverFactoryFactoryIterator.setSingletonFactoryFactoryProxyIteratorStrategy(this.singletonFactoryFactoryProxyIteratorStrategy);
singletonInterceptorDecorator.setAbstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade(this.abstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade);
visitorFactoryFactoryAdapterIteratorInterceptor.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
}
}
} else {
abstractListenerInterceptorStrategyVisitorBeanFactorySingletonIterator.setAbstractProxyStrategy(this.abstractProxyStrategy);
abstractProxyInterceptorSingletonFactoryFactory.setAbstractSingletonIterator(this.abstractSingletonIterator);
}
} else {
singletonListenerFactoryFactoryIteratorProxy.setAbstractObserverProxyIteratorVisitor(this.abstractObserverProxyIteratorVisitor);
}

return new InterceptorSingletonVisitor();
}

native volatile static final public AbstractSingletonObserver abstractSingletonObserver(AbstractBuilderFacade abstractBuilderFacade, ListenerBuilderVisitorFactoryStrategyAdvisorFacade listenerBuilderVisitorFactoryStrategyAdvisorFacade) {
builderObserverIterator.setAbstractProxyBuilder(this.abstractProxyBuilder);
AbstractInterceptorAdapterFactoryAdvisorStrategyProxy abstractInterceptorAdapterFactoryAdvisorStrategyProxy = abstractDecoratorInterceptor.getStrategyObserverListenerVisitorBean().getAbstractInterceptorAdapterFactoryAdvisorStrategyProxy();
AbstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator abstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator = abstractFactoryIteratorStrategyVisitor.getAdvisorBuilderVisitorBeanIterator().getAbstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator();

while (facadeStrategyObserver.isAbstractFactoryFactoryFactoryListenerVisitorIteratorSingletonBeanAdvisor()) {
abstractFactoryFactoryAdvisorFactoryInterceptorIteratorObserverProxyBuilder.setIteratorAdvisorBeanBuilderProxy(this.iteratorAdvisorBeanBuilderProxy);
AbstractIteratorFactoryFactoryFacadeObserverVisitorAdapter abstractIteratorFactoryFactoryFacadeObserverVisitorAdapter = new AbstractIteratorFactoryFactoryFacadeObserverVisitorAdapter();
abstractVisitorObserverBeanSingletonBuilderProxyFacadeIterator.setAbstractProxyFactoryAdapterFactoryFactoryInterceptorIterator(this.abstractProxyFactoryAdapterFactoryFactoryInterceptorIterator);
}

return new AbstractSingletonObserver();
}

transient volatile static private synchronized AbstractFactorySingletonFacadeProxyFactoryFactoryIterator abstractFactorySingletonFacadeProxyFactoryFactoryIterator(ObserverInterceptorAdapter observerInterceptorAdapter, AbstractInterceptorIteratorListenerFacadeDecoratorVisitor abstractInterceptorIteratorListenerFacadeDecoratorVisitor, FactoryDecoratorBeanAdapterProxy factoryDecoratorBeanAdapterProxy, SingletonAdvisorFacadeBuilderStrategy singletonAdvisorFacadeBuilderStrategy) {
AbstractBuilderIterator abstractBuilderIterator = new AbstractBuilderIterator();
iteratorSingletonDecoratorVisitorAdvisorFactoryFacade.setAbstractDecoratorAdapterListenerBuilderFacadeIterator(this.abstractDecoratorAdapterListenerBuilderFacadeIterator);

return new AbstractFactorySingletonFacadeProxyFactoryFactoryIterator();
}

synchronized volatile protected native private DecoratorStrategyBuilderListenerSingleton decoratorStrategyBuilderListenerSingleton(ObserverBuilderFactoryFactory observerBuilderFactoryFactory, AbstractStrategyDecoratorFacadeVisitor abstractStrategyDecoratorFacadeVisitor, AbstractAdapterIteratorListenerBuilderFactoryVisitor abstractAdapterIteratorListenerBuilderFactoryVisitor, AbstractVisitorObserverBuilderSingletonProxyIteratorListenerDecorator abstractVisitorObserverBuilderSingletonProxyIteratorListenerDecorator, AbstractStrategyFactoryFacadeVisitorListenerBean abstractStrategyFactoryFacadeVisitorListenerBean) {
advisorStrategySingleton.setAbstractSingletonObserverAdapterDecorator(this.abstractSingletonObserverAdapterDecorator);

return new DecoratorStrategyBuilderListenerSingleton();
}

}
126 1982529
>>1982525
Интересно какая будет реакция, если отправить это в качестве тестового.
127 1982531
>>1982525
И этот пример говно. Там с дженериками можно было бы еще массивнее сделать.
128 1982574
>>1982531
Это ж не пример, а набор псевдокогда, он не скомпилируется даже.
129 1982622
>>1982529
Возьмут тимлидом.
130 1982637
Бляяяядь, сижу читаю про эти ваши лямбды и функции в Жаве и мозг в трубочку сворачивается. Но я не сломлюсь.
131 1982639
>>1982637
А про многопоточность когда начнешь?
132 1982645
>>1982639
Когда устроюсь на work.
133 1982662
>>1982645
Когда устроишься на work время даже на аниме не останется
134 1982663
>>1982662
А я и не против.
135 1982666
>>1982662
Почему? Легаси уже написано, нужно только баги искать.
136 1982668
>>1982666
И еще новые фичи вкрячивать в старого монстра, пул реквест с изменениями в 150 файлах, как нехер делать.
137 1982669
>>1982668

>с изменениями в 150 файлах


Наверное какой-то умник в глубинный метод checked exception засунул.
138 1982688
>>1982669
Это делается проще
catch (final Exception e) {
throw new RuntimeException(e);
}
139 1982696
>>1982688
Знаешь, как еще проще? Пиздить палками коллегу, который кидает чекеды из своих методов.
140 1982709
Спасите, Помогите! Пытаюсь сконфигурировать СпрингМВС с Хибернетом, и создать EntityManager. Томкат выбрасывает исключение 500. Failed to instantiate [web.dao.UserDaoImpl]: Constructor threw exception; nested exception is javax.persistence.PersistenceException: No Persistence provider for EntityManager named web. Я делаю все как вот здесь https://www.baeldung.com/the-persistence-layer-with-spring-and-jpa меняю только базу данных, в одном месте на фото я не понимаю, только что надо писать там где я обвел, я пишу просто "web" это папка в которой все пекеджы у меня. Там же на Баелданге они фиксят эту ошибку (третий скрин), но опять же не понятно куда они все это прописывают. Я все делать пытаюсь в классе с аннтоацией @Configuration. Они пишут просто , we must also override the
getPersistenceProviderClassName() method, а что это и где это?
141 1982711
>>1982709
На баелдунге очень много мелочей упущено, о которых ты сам должен догадаться. Я очень классно поебался с этим в другой их статье, где надо было свой КРУДик написать.
142 1982717
>>1982669
Нет.
Поменять пяток енумов. Создать пару десятков классов евентов, линстенров и прочех экшонов. Десяток конфигов. Поменять десяток контроллеров заинкрементив версию. Ну и смазать все тестами.
143 1982721
>>1982717

>Ну и смазать все тестами


>Легаси


Охуеть от отсутствия тестов, ты хотел сказать.
image.png17 Кб, 537x175
144 1982731
>>1982482
Ладно, срешь аннотациями на интерфейс. INSTANCE блядь, как в 2004.
145 1982734
>>1982721
Обычно есть пачка легаси-,тестов с хмл-конфигами, они всё время падают, ибо всем лень прогонять их перед пуллреквестом.
146 1982736
>>1982734
А как их прогнать?
147 1982739
>>1982736
Запустить мавен без -DskipTests и ждать полчаса.
148 1982740
Functional interfaces

Это ваще используется? Выглядит как не пришей собаке пятая нога, а не фича языка.
149 1982742
>>1982740
Да, каждый раз, когда пишешь лямбду, ты юзаешь функциональный интерфейс. Костыль, чтобы не добавлять в язык функции.
150 1982745
>>1982742
Корректировка: я скорее спрашивал про создание своих функциональных интерфейсов с использованием аннотации @FunctionalInterface
151 1982746
>>1982745
Это фича скорее для либ, как рефлексия или процессоры аннотаций. Но изредка и в обычном коде юзается.
152 1982750
Потсаны, а вы знали что в assertj юзаются рекурсивные дженерики? Именно поэтому там такое красивое api, например
assertThat(obj.getField()).isEqualTo("boobs")

А вы на работе такое пишете? Где <SELF, E> ? Я боюсь такое писать.
153 1982753
>>1982688
catch (final Exception e) {
RuntimeException ex = new RuntimeException("some info");
ex.initCause(e);
throw ex;
}
А я так делал. Значит можно и в конструхтор.
154 1982754
>>1982696
чекед эксепшены для этого и придуманы
155 1982755
>>1982711
Баелдунг это говно. А mkyoung слишком хеллоуворлдно. Лучше джава тред.
156 1982761
>>1982754
Но их не любят хипсторы, потому что стримы уродует, либо ломбок вставлять со @SneakyThrows
map.JPG7 Кб, 483x109
157 1982772
>>1982731

>>срешь аннотациями на интерфейс


либо просто поля в дто переименуй как в ентити было>>1982731
158 1982774
>>1982734
Смысл тогда в этих тестах, если их скипают? Переписывать лень, а удалить нельзя, чтоб покрытие не похерить?
159 1982785
В спринге можно делать редиректы по имени мепинга?
Или хоть как-то абстрагироваться от конкретных урлов?
160 1982790
>>1982721

>Охуеть от отсутствия тестов, ты хотел сказать.


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

По ощущениям легаси, это как старая тачка, вроде едет. Но в пороге дырка, одна лампочка перегорела и третья включается через раз. Все можно починить, но денег уйдет столько что проще новую купить. Вот и латают в ожидании момента, когда скопят на новую.
161 1982793
>>1982761

>потому что стримы уродует


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

if (condition) {
} else {
log.warm("bad data");

}такое уже считается УСТАРЕВШИМ.
162 1982794
>>1982774
ты начинаешь понимать, что тесты это не абсолютное благо, что у них есть цена, цена поддержки, цена написания, процент эффективности
163 1982801
>>1982774
Их скипают только пока пилят фичу, ибо слишком долго каждый раз пересобирать с тестами, а хотсвап не всесилен. Когда фича готова, можно собрать с тестами, пофиксить сломанное и пушить. Но часто либо лень, либо забивают.
164 1982803
>>1982750

>Именно поэтому там такое красивое api


Которое в идее тормозит я ебал.
165 1982805
>>1982793
Вообще-то для такого придумали Either, Result и т.д.
166 1982824
>>1982812
У вас абстракция протекла.
167 1982873
>>1982774
Написать тесты по времени и усилиям может занять столько же, сколько саму фичу с нуля написать.
168 1982885
>>1982873
Ты про юнит или интеграционные?
169 1982886
>>1982885
Пиздовсрационные.
170 1982894
>>1982873
Плохому танцору сам знаешь что мешает.
171 1982925
>>1982873

>Написать тесты по времени и усилиям может занять столько же, сколько саму фичу с нуля написать.


Два чая.
А еще проблема легаси - тесты это спецификация поведения класса или сервиса или эндпоинта или вообще сервиса в целом. Когда все это дело разрабатывается - спецификация ясна и ясно какие тесты надо писать.
Но для легаси спецификация не ясна, непонятно какое поведение надо тестировать. Что баг, а что фича.
172 1982973
Заинтересовала вот такая фиговина https://dhabits.ru/, называют себя цифровыми привычками, отзывов нормальных не нашел, кто что слышал? Не кидалово ли это, что потом за работу предлагают... В общем стоит ли тратить время (о деньгах вроде речи не идет)?
173 1983000
>>1982790
Ну ты сам же написал: где как.
Зависит от компании сильно. У нас прям хардкорное легаси. Но пару лет назад мы начали распиливать один монолит на микросервисы. В новых сервисах все красиво. Да, это дорого. Но сейчас это вопрос выживания уже. Пользователи начали бежать из-за устаревшего интерфейса. И оказалось что написать интерфейс с нуля, с рестами и жс фреймворком, внезапно дешевле, чем воротить тоже самое на старом JSP. В итоге вложив сейчас, компания сэкономит в долгосрочной перспективе, плюс лояльность пользователей.
>>1982801
>>1982873
В нормальных конторах тесты руками не гоняют, как уже правильно написали. Есть пайплайны, которые запускаются на МРе. У нас все тесты минут 20-30 идут. Ебанешься ждать.
Ну да, я вот в понедельник пилил фичу, а весь вторник делал тесты на нее. Затратно, зато потом окупается сполна. И не страшно потом этот код трогать. А то у нас реально есть ебанутый код, ещё и без тестов. И вот его трогать откровенно страшно. Можно легко ошибиться, а потом пизды за это получать.
174 1983009
>>1982925

>Но для легаси спецификация не ясна, непонятно какое поведение надо тестировать. Что баг, а что фича.


У меня прямо эта проблема сейчас в написании тестов для старого кода.
175 1983012
>>1983009
Ну и нахуй шли тогда. Нет документации - нет кода. Я сначала тоже парился, а теперь забил. Пускай ПМ думает, документацию ищет, у заказчиков выясняет что надо. А то пиздец. Сделай то не знаю что
176 1983230
if-else с один выражением допустимо в одно строку писать или обоссут?
177 1983235
>>1983230
В одну строчку точно нет, но опущенные скобки в 2021 некоторые допускают. Хотя, поскольку 95% джавы держится на дедах, то тебя обоссут без скобок. И даже со скобками обоссут.
178 1983303
>>1983235
Я дед 22 года кста
179 1983330
>>1983000

>У нас прям хардкорное легаси.


Лол, давайте меряться у кого легаси хардкорней. У нас система пережила 3 пеерезда системы контроля версий CSV -> SVN -> GIT, а в GIT еще и историю в какой-то момент убили, потому что репа весила неприлично много. На момент смерти проекта репка снова разрослась до 25 гигов и чекаут с нуля занимал пару часов нет, бинарные файлы там не хранились. Билд без тестов занимает 5-10 минут, с юнит тестами 30-40 и там покрытие где-то 30% было.

>У нас все тесты минут 20-30 идут. Ебанешься ждать.


40к тестов, 4-8 часов, поэтому кто сломал билд не всегда ясно. В лучшем случае можно 2 раза за день прогнать пайплайн. Так что процесс подготовки релиза занимал 1-2 недели.

>>1983012

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


Тебе с вероятностью 99% ответят, что надо так как сейчас работает.
1617286485348.jpg61 Кб, 1200x675
180 1983351
181 1983393
>>1980926
Это фильтр от неосиляторов
182 1983428
Нахуя нужна прокладка RegistrationForm c первого пика? Полез в другой гайд, там спокойно юзера передают.
Такое ощущение что вложенность ради вложенности.
183 1983456
>>1983428
чтоб пароль захешировать
184 1983486
>>1983428
Помню я попробовал взять эту книгу с наскока и жестко был обломан тем, что нигде не пояснялось оформление таймлифа в штмлке, а именно th:object.

Методом тыка удалось выяснить, что надо писать тип объекта с маленькой буквы, а не его имя внутри метода. И так много всяких интересностей по всей книге. Зато навсегда запомню теперь.
185 1983489
>>1983486
еще и метод не тот заскринил, пздц, нужен был пост
186 1983509
>>1983330
Кто с легаси работал в цирке не смеется.
thyme.jpg88 Кб, 929x695
187 1983521
>>1983486

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


это как раз таки имя переменной
188 1983535
>>1983521
Тогда почему у меня все с грохотом падает?

Это не имя переменной, это имя класса со всеми свойствами.
189 1983540
>>1983535
Из-за ломбока.
image.png115 Кб, 900x820
190 1983541
>>1983540
А не пиздишь?
191 1983547
>>1983541
Тут бегает шиз-ненавистник ломбока, не обращай внимания.
leaf.JPG44 Кб, 1019x425
192 1983567
>>1983535
у меня так реализовано
ModelAndView (имя хтмл файла, имя объекта для тимлифа, сам объект)
193 1983570
>>1980975
Thread и stream разные понятия. Правильный перевод thread - нить (по аналогии с ткацким станком), но лучше вообще не переводить и читать доку на английском.
194 1983573
>>1983570
thread - поток, stream - стрим. все просто.
195 1983575
>>1983573
А всякие SomethingStream, связанные с (файловым) потоком байт?
196 1983576
>>1983575
А это в джаве не нужно.
197 1983577
>>1983576
То есть csv файлики никогда не надо читать?
198 1983582
>>1983576
СТРИМ АПИ
@
ЛЯМБДЫ
@
СПРИНГ БУТ
@
VAR
199 1983583
>>1983582
@
АННОТАЦИИ
@
LOMBOK
200 1983591
>>1983577
Stream<String> stream = Files.lines(Paths.get(fileName))
201 1983601
>>1983577
CsvUtils.read()
202 1983603
>>1983601
Может эти апачи и для многопоточки утилити классы завезли?
203 1983620
>>1983603
ThreadUtils, ThreadFactory, DefaultExecutor и т.д.
204 1983621
Эх, вот бы MurzilkaUtils
205 1983623
А что кроме главы и апач комонс используется из библиотек?
206 1983624
Java/Kotlin Developer в компанию ARRIVAL – создаем электрический транспорт и инфраструктуру к нему;
по ссылке видео на результат и наш канал на YouTube https://www.youtube.com/watch?v=nxMwbap2bwM&t=19s

ЗП: 250 000 - 305 000 gross

Офис: СПб, Петроградская, "Ясная Поляна" (Льва Толстого, 1-3)

Формат работы: можно офис, можно полностью удаленка.
Нам неважно в каком городе Вы живете.

Языки: English В1-В2

Новый проект – Traceability, этап MVP: оцифровка, отслеживание, сбор и хранение всех данных каждой физической детали и набора событий цифровых объектов транспортных средств.
Нагрузка системы 80 млрд активных записей и до 1000 запросов в минуту.

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

Stack:
- Microservices, event-driven architecture styles
- Kotlin/Java for core modules, other languages can be used if needed (e.g. NodeJS for BFF pattern)
- General instruments of JVM-stack: Maven, Gradle, JUnit, Mockito, Quarkus/Spring Boot, JPA
- SQL (CockroachDB, Postgres) and NoSQL (Redis, HBase, Cassandra)
- AWS, Kubernetes (EKS), Helm, Istio.

Perks:
– работаем строго по ТК РФ, полность "белая ЗП", оплачиваем отпускные и больничные 100%
– ДМС со стоматологией, страхованием жизни с 1 рабочего дня, после испытательного срока – можно включить семью, близких родственников и детей
– fix сумма на год для расходов на спорт, обучение, покупку книг, прохождение сертификатов, посещение конференций, курсов
– новое оборудование (Mac/Thinkpad)

Что забыл в РФ Эррайвал и почему они хайрят русню, а не индусов? Индусы же дешевле.
206 1983624
Java/Kotlin Developer в компанию ARRIVAL – создаем электрический транспорт и инфраструктуру к нему;
по ссылке видео на результат и наш канал на YouTube https://www.youtube.com/watch?v=nxMwbap2bwM&t=19s

ЗП: 250 000 - 305 000 gross

Офис: СПб, Петроградская, "Ясная Поляна" (Льва Толстого, 1-3)

Формат работы: можно офис, можно полностью удаленка.
Нам неважно в каком городе Вы живете.

Языки: English В1-В2

Новый проект – Traceability, этап MVP: оцифровка, отслеживание, сбор и хранение всех данных каждой физической детали и набора событий цифровых объектов транспортных средств.
Нагрузка системы 80 млрд активных записей и до 1000 запросов в минуту.

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

Stack:
- Microservices, event-driven architecture styles
- Kotlin/Java for core modules, other languages can be used if needed (e.g. NodeJS for BFF pattern)
- General instruments of JVM-stack: Maven, Gradle, JUnit, Mockito, Quarkus/Spring Boot, JPA
- SQL (CockroachDB, Postgres) and NoSQL (Redis, HBase, Cassandra)
- AWS, Kubernetes (EKS), Helm, Istio.

Perks:
– работаем строго по ТК РФ, полность "белая ЗП", оплачиваем отпускные и больничные 100%
– ДМС со стоматологией, страхованием жизни с 1 рабочего дня, после испытательного срока – можно включить семью, близких родственников и детей
– fix сумма на год для расходов на спорт, обучение, покупку книг, прохождение сертификатов, посещение конференций, курсов
– новое оборудование (Mac/Thinkpad)

Что забыл в РФ Эррайвал и почему они хайрят русню, а не индусов? Индусы же дешевле.
207 1983636
>>1983624

>>Индусы же дешевле.


Индусы очень любят строить бюрократию. Вместо 3 программистов наберут 3 полных отдела и будут перекидывать таски друг на друга. В рашке опять же хорошее образование и много хороших и недорогих айтишников остальные профессии рыночек порешал Да и русня культурно гораздо ближе азиатских чурок.
208 1983676
>>1983623
AssertJ
209 1983797
>>1983624
Так Эррайвал же вроде русский чел основал, вот он и поддерживает своих.
210 1983798
>>1983573
Еблан ты, такой же как и тот, кто перевел thread как поток.
211 1983799
>>1983797

Денег на выпускников MIT у него нет
212 1983856
>>1983624
Это сейчас не выгодно. Через годик за в 250к рублей это будет 100 баксов. И станет выгодно. Смотрят в будущее
213 1984030
>>1983798

>>перевел thread как поток


это официальный перевод, маня
214 1984033
>>1983856
Надо требовать зарплату в юанях? А то доллар тоже как то не кажется супернадежным с этими вашими блм, штурмовиками трумпа и дедушкой педофилом у власти.
215 1984039
Офмциально заявляю, что thread нужно переводить как тред.
216 1984040
>>1983621
Это что за зверь? MurzilkaUtils.findBestMurzilkaByTechnology()?
217 1984044
>>1984040
Да, он ещё принимает значение из енума MurzilkaLanguage, значение по умолчанию определяется локалью.
218 1984052
>>1984044
Вот бы он еще умел искать видео-мурзилки с енум-модификатором акцента NOT_INDIAN.
219 1984053
Из всего российских терминов больше всего мне заходит "крудошлеп".
220 1984054
Шалом, анон. Решил написать простенький интернет магаз. Но мне кажется у меня пробел в знаниях. Я пропустил изучение сервлетов и юзал спринг бут. Имеет ли смысл потыкать сервлеты, чтобы посмотреть как там на более низком уровне?
221 1984092
>>1980802 (OP)
Блядь, как можно запомнить все популярные аннотации спринга? Читаю туториалы и бошка взрывается. Тут такая аннотация, тут такая. Каждую вторую можно несколькими способами использовать, плюс обязательные/необязательные атрибуты.
И если гибернейтовские/жпашные как то логично устроены, спрингоКоровские тоже туды-сюды, то спринг
Ммвц/спрингДата/спрингСекьюрити мне мозг взрывают.
Дохожу до реста - там вообще пиздец.
222 1984094
>>1984033
Лол. Так уже 50 лет говорят, а доллар стабильнее всех стабильных. А вообще получаю зп в евро и не парюсь
223 1984100
>>1984033

>А то доллар тоже как то не кажется супернадежным с этими вашими блм, штурмовиками трумпа и дедушкой педофилом у власти


Забавно, что хорошо в России работает только пропаганда.
224 1984102
>>1984092

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


Использовать их в работе, очевидно. Зачем учить то, что не используешь?
225 1984103
>>1984094
Согласен.
Плюс если зеленую бумажку начнет лихорадить, как рубль например это будет следствием пиздеца уровня третьей мировой и приведет к таким последствиям, что нормальной мировой денежной системы вообще не будет на какое-то время и никак ты эти риски не уравновесишь.
А если пиндосики будут медленно сдавать позиции, как англичане 100 лет назад, то с долларом ничего страшного не случится, как с фунтом за эти 100 лет.
226 1984104
>>1984102
Ну я посмотрел несколько туториалов по одним и тем же темам - начал по ним же пилить с нуля собственный круд с авторизацией. И потом смотрю на некоторые аннотации, как на новые ворота, хотя я вроде в них немного копался неделю назад.
227 1984106
>>1984100
Это ты к чему? Не слышал чтоб лахта кектай нахваливала.
228 1984109
>>1983624

>Что забыл в РФ Эррайвал и почему они хайрят русню, а не индусов? Индусы же дешевле.


Дешевле всякие отбросы, а грамотные индусы нефига не дешевле. Потому что если Агарвал не дурак, то он и на США/Европу может работать, да и по L1B/H1B свалить в штаты.

Ну и да, курс решает. Я в 2014 работал в крупной международной компании и когда рубль рухнул, мне начальник сказал, что для компании мы стали дешевле китайцев, и сейчас стоим наравне с индусами.
sage 229 1984110
Господи, абуботы даже сюда добрались.
230 1984113
>>1984109

> стали дешевле китайцев, и сейчас стоим наравне с индусами.


И что типа сразу штат российского отделения стали расширять и давать ему больше проектов?
231 1984114
>>1984106
А при чем здесь лахта? Вряд ли она вообще бывает в java тредах.
232 1984116
>>1984104
Пили дальше, скоро все необходимое запомнится, а остальное будешь гуглить со скоростью мысли.
233 1984117
>>1984114
А в каких тредах на программаче она есть?
234 1984119
>>1984117
Скорее всего ни в каких, слишком медленная доска и маленький охват.
235 1984125
>>1984119

>Скорее всего ни в каких


лахтоид не палится
236 1984150
>>1984113
Нет конечно, это же крупный международный монстр из 20-ке FORTUNE 500 на тот момент.

Там вопросы какому офису даем проекты, это вопрос политики, а не экономической целесообразности потому сейчас они уже из на 50+ месте.
237 1984165
>>1984150
Ну тогда и что с этого повышения конкурентоспособности из-за цены?
Выиграли только владельцы самых донных бодишопов.
238 1984228
>>1984165
Изначально вопрос то был

>Что забыл в РФ Эррайвал и почему они хайрят русню, а не индусов? Индусы же дешевле.


Очевидно, что у Arrival другие приоритеты. У них нет многомиллиардных контрактов на десятки лет вперед, кучи компаний которые получили вендор лок и теперь не рыпаются.
Так что Arrival более дешевая рабочая сила важна. И в России они нашли хороший баланс стоимости разработчиков - их компетентности.
image.png112 Кб, 381x596
239 1984258
На порашу блеать!11
240 1984260
>>1984258
как он хмурится пакетом?
241 1984264
>>1984260
Пакет тоже хмурится от такой хуйни.
242 1984265
>>1984260
Пакет приклеен к бровям, видимо.
243 1984268
>>1984054
Зачем? Пили на спринг буте.
244 1984299
Что с тредом?
245 1984305
246 1984337
>>1984299
Захвачен.
247 1984338
>>1984299
как только он дойдет до бамп лимита - станет нормальным.
248 1984343
>>1984338
О, я как раз ворос задам про printf
249 1984397
>>1983547
Сергей Немчинский ?
250 1984403
>>1984039
/thread
251 1984461
>>1984403
/тред
252 1984539
>>1984343
ты там вычитал какая у него точность?
253 1984618
LOMBOK
@
@GETTER
@
@SETTER
@
@HUETTER
254 1984645
Есть таблица юзеров, которая выводиться таймлифом. Как сделать редактирование одного из полей? Одного юзера? Чтобы вся строка таблицы стала, какой-то формой ввода, одно поле менеям жмем эдит, и таблица поменяна. Сейчас есть таблица и кнопка справа.
255 1984646
>>1984645
contenteditable
256 1984697
>>1984646

>contenteditable


А как значения из этих полей получить? Я их меняю в хтмл, а в контроллер передать не получается. Сейчас вот так у меня.
<input type="hidden" name="id" th:value="${item.getId()}" />

<input type="hidden" name="name" />
Если во второй строке написать "number", то это поле можно редактировать, но справа появляется полоса/поле ненужное..
257 1984716
Регулярки в джаве медленные?
data.jpg84 Кб, 1357x559
258 1984744
Как выдернуть данные из вот этих пустых полей таблицы в которых я пишу что-то?
259 1984751
>>1984744
Сделай форму с тегом <input>
260 1984752
>>1984751
<td>
<form th:action="@{edit}" method="post">
<input type="hidden" name="id" th:value="${item.getId()}" />
<input type="hidden" name="name" />
<input type="hidden" name="lastname" />
<input type="hidden" name="age" />
<input type="submit" value="Edit" class="btn btn-danger" />
</form>
</td>
Это обработчик кнопки Edit, он не работает, я не очень хорошо знаю html, что сюда надо дописать?
261 1984837
>>1984752

>я не очень хорошо знаю html


А хули ты тогда сюда пришел, ебанарот?
262 1984842
>>1984837
Каждый двачер знает, что джава и джаваскрипт - это одно и то же.
263 1984843
>>1980802 (OP)

>Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ?


>A: Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.


Тем временем, собеседования в Яндекс на помидора: 1000 заданий по выводу в консоль оторванного от жизни говна.
https://habr.com/ru/post/550088/
264 1984847
>>1984842
Но html это другое.
265 1984900
>>1984837
А куда я должен был придти?
266 1984940
>>1984900
В тред html программистов.
267 1984966
>>1984940
Одного треда xml-программистов достаточно.
268 1984980
>>1984900
Ты зафейлил ещё на этапе выбора типа треда, а значит не умеешь в строгую типизацию == тебе в JS-тред.
269 1985069
>>1980802 (OP)

>В джаве нет фриланса


Вейт, а андроид разработка?
270 1985072
>>1985069
Андроид не джава, ломбок не гуава.
271 1985075
>>1985072
Хуй знает.
272 1985076
>>1980802 (OP)

> вся эта мракобесия закончится, всех обратно загонят в стойло


Рабы, работаете уже в своих кьюбиклах как животные или че?
273 1985079
>>1985076
Как что-то плохое. Лучше как школьник сидеть дома от людей прятаться.
274 1985086
>>1985079
Естественно лучше
275 1985090
>>1985069
Шапку писал мудак, у меня друг фрилансил на штаты еще в 2007 году. Клепал сайтики на JSP и прочих Velocity для американских компаний.
276 1985096
>>1985090
В сша java ee очень взлетела в начале нулевых как платформа. Но шапка про нынешние реалии.
278 1985107
У меня есть идея для прикола скачать винду хр, шестую джаву, glassfish, jEE 6 и попробовать реализовать крупный проект. Должно быть весело.
279 1985121
>>1985107
Копался я тут на досуге в исходниках одной из смежных систем, это просто эпик. Там несколько модулей, одни билдятся антом, другие мавеном, мавен запускается антом, который в свою очередь запускается батником. Часть зависимостей лежит просто жарниками, а часть вообще распакована, будто это просто один из пакетов проекта. EJB, JAAS, JMS ещё ладно. В корне лежит doc-файл с инструкцией, как всё собирать, там нужно сначала скопировать руками какие-то файлы, установить несколько переменных среды и запускать. БД там DB2, итоговый ear-ник нужно заливать на вебсферу, похоже, вручную. Пишется на 7 жабе (я про SE). Пакеты из 50-100 классов, всё в кодировке windows-1251.
280 1985150
>>1985090
>>1985096
Нынешние реалии это фриланс в андроид разработке. Ебанутый ты совсем.
281 1985154
>>1985150
Андроид-тред два блока вниз.
282 1985215
>>1985096
>>1985101
>>1985150
Фриланс есть и сейчас, не для джунов, это да. Но для людей с опытом - есть.
Мне лично в прошлом году, писала контора из штатов, предлагая удаленку на $80k. Да это не совсем фриланс, но очень близко.
283 1985252
284 1985255
>>1985121
Сука. За что ты так со мной? Мне больно от твоего поста
285 1985270
>>1985255
Да просто нет ничего весёлого или лампового в древних технологиях, мир не от хорошей жизни от них отказывается. Легаси - это хоть и необходимое, но зло. Наверное, правы те, кто так любит всё самое новое и модное.
286 1985335
>>1985270
Появляется десяток новых технологий - 9 из них оказываются говном, десятая улучшает жизнь. Со временем те 9 забываются и кажется, что все, что новое - хорошее.
16174813329920.png89 Кб, 1200x1200
287 1985460
Пасаны, учу жаву. Как в intellij idea уменьшить уровень подсказок, а то совсем однокнопочное программирование, она сама код за тебя пишет, я нихуя не запоминаю. Раньше это делалось в правом нижнем углу, был значок "мужика в кепке (похожий на марио)" и там можно было уровень выбрать, высокий, низкий, и отключено сейчас мужика убрали. Хочу чтобы подсказки появлялись по требованию ctrl + пробел.
288 1985567
>>1985460
Пиши код в блокноте
289 1985702
>>1985460
Eclipse пробуй. Ну или текстовые редакторы юзай, мне Vim зашёл.
Screenshot from 2021-04-05 12-18-03.png29 Кб, 451x317
290 1986407
JPA spring boot
Есть класс сущность. Нужно воткнуть поле экземпляр обычного класса. Можно конечно просто обычные поля использовать, но я хочу вынести их в отдельный класс. Как это огранизовать или как правильно загуглить, чтобы нормально работало?
291 1986446
>>1986407
А зачем тебе это? Поля, которые не пишутся в базу, помечаются @Transient, но обычно их существование говорит, что ты обосрался где-то в архитектуре.
292 1986457
>>1986446

>обосрался где-то в архитектуре.


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

>А зачем тебе это?


Ну вот например https://market.yandex.ru/offer/5kcx-5h7XE8rqK8A4ugOaA/spec
Тут десятки характеристик для удобства сгруппированы по классам. Хочу узнать как правильно такое представить в виде сущности. Делать сущность в которой 100 полей или сгруппировать часть полей в отдельных классах? Я хотел попробовать второе, но не знаю как правильно это организовать
293 1986463
>>1985702
Вим - нахуй, nano- best pick
294 1986469
>>1986457
К- Композиция. HAS-A
295 1986477
>>1986457

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


Гугли @Embedded/@Embeddable
296 1986485
>>1986469
>>1986477
То что надо, спасибо
297 1986671
ПОСОНЫ, накидайте прям годного материала по ООП, чтобы я охуел (желательно с примерами)
298 1986680
>>1986671
Эванс блю бук и ред бук и еще читай по сикьюэрэс чо-нибудь
299 1986777
Идея короче такова:
У меня есть абстрактный класс Article и большое количество его наследников и их наследников и конца там нет. Все на одном столе.
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)

Хочу чтоб с фронта по одному на всех маршруту "/update_article" прилетал json конкретного вида и апкастился в Article. Как такое провернуть?

Нормальная ли это идея или я делаю говнокод?

И доставь какой-нибудь годноты про проектированию, чтобы я не задавал тупых вопросов.
300 1986780
>>1986680
действительно охуел, спасибо
301 1986783
>>1986777
Да или просто проект на гитхабе jpa + spring boot сложнее тудутаски чтоб я постиг мудрости
302 1986814
>>1986780
но если серьезно, посоветуйте что-то для понимания ООП на очень примитивном, базовом уровне.
пилю кулстори, уже пару лет копаюсь во всём этом, обмазываюсь джавовскими библиотеками, что-то пилю, вроде никаких проблем.
Но я до сих пор не понимаю весь этот дрочинг на тему ООП, вообще не знаю с чего начать,
слишком много теории (наверное сказывается недостаток опыта), много воды в материалах, примеры также очень абстрактны.
Как перестать думать функционально?
Я понимаю, что в больших приложениях, со сложными взаимодействиями тысяч классов, наверное без ООП наступила бы жопа, но дальше этой мысли пока не продвинулся. С шаблонами тоже не очень. Анон, посоветуй что-нибудь. Не хочу быть быдло-макакой, которая только умеет настраивать базы на спринге.
303 1986838
>>1986814
Если серьезно, то большинство макак в ооп доростает только до транзакционных скриптов. На понимании, что бизнес логику нужно выносить из контроллеров в сервисы их развитие останавливается. Дальше в проекте идет тупое наращивание фич и постоянное переписывание, пока все время возрастающие трудозатраты на выполнения тасков не заставят кабанчика сказать, ну нахуй. Кабанчик увольняет всех и нанимает самых дешевых разработчиков, чтобы поддерживать получившееся говно.
304 1986951
>>1986838
Так это уже задача архитектора или хотя бы опытного сеньора, а кабанчик не хочет нанимать архитектора. Макаки вон каждый день фичи пилят, а этот бездарь неделю там уже свои диаграмки рисует и никакой пользы бизнесу еще не принес.
305 1987009
>>1986814
Философия Java Эккель
306 1987132
Где канонично проверять, что сущность "принадлежит" другой сущности (например, пользователь -> его сообщения)?
Делать свой voter или в сервисе проверять?
307 1987179
Господа джависты, учу программировать по пайтону на степике и читаю немного книги, интересно пиздец и вроде все понимаю, хотелось бы вкатиться в мобильную разработку или энтерпрайз, ну мб веб, выбрал сделать упор на джаву => котлин.
Читаю гайд по вкату и сразу 2 вопроса :

>A: Без английского ты не нужен и можешь смело идти нахуй.


>Q: Я не могу в книги.


Уровень англюсика ~ B2, читать могу, но больше простые статейки, и то процентов 20% слов или устоявшихся конструкций необходимо гуглить, с техлитературой просто немного нудновато и мозг просит попроще, чтобы сосредоточился на кодинге, а не языке.
Никаких волшебных таблеток и нужно задрочить тех.английский? Думал, чтобы какие-нибудь курсы на рутрекере купить да книжек.

И как быстро и насколько анально сложно вот так вот с нуля почти освоить джаву до уровня джуна гуманитарию?
308 1987198
>>1987179

>техлитературой


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

И гугл переводчик на самом деле совсем не плох. Но если будешь все им переводить, ничему не научишься
309 1987207
Гуглопереводчик ахуенен последние пару лет для перевода техлитры
310 1987208
>>1987207
Двачую, всю спринговую доку на нем прочел.
311 1987219
>>1987207
Иногда перевожу им отдельные фразы, но целый абзац после перевода бывает сложно понять.
312 1987262
>>1987179

>>Без английского ты не нужен и можешь смело идти нахуй.


Английский нужен чтоб с барином разговаривать, больше актуально если ты хохол. Книги для уровня джуна и так давно переведены, а чтоб читать статейки уровня баелдунга или доки спринга много ума не надо.
313 1987265
>>1987207
С инглиша на русский яндекс лучше переводит, особенно целыми предложениями, когда грамматика чуть сложнее.
314 1987271
>>1987208
она же вроде и так на русском есть
315 1987276
Расскажите как читать спринговую доку? Там же не початый край. Какие именно части доки нужны вообще всем джавистам?
316 1987286
>>1987276
Нет таких, чтобы прям вообще всем. Мне вот для 97% задач нужны только @Autowired, @Service и JdbcTemplate, которые ты и так знаешь.
317 1987357
>>1987276
гугли baeldung
официальная дока унылая
image.png1,2 Мб, 500x1027
318 1987454
319 1987495
Гугл короче выиграл в суде с Ораклом.
320 1987532
>>1987495
вот гугл жмоты, всего то 9миллиардов, могли бы и выплатить, от них не убудет
burns.png18 Кб, 150x400
321 1987542
>>1987532
За что мистеру Бернсу Ларри Элисону гугл должен платить? Что он хорошего сделал? И вообще он классический белый угнетатель
322 1987614
>>1987542
За то что бесплатно пользуется бесплатной джавой.
Майкросовту же платят за андроид, которым они не владеют.
323 1987615
>>1987614
На жаве только интелидж идея и градл (на груви). И то и другое не имеют прямого отношения ни к андроиду, ни гуглу, ни к ораклу. В андроидах ART, который ваще не jvm. Оракакл судился только из-за апи, типа апи это интеллектуальная собственность.
324 1987616
>>1986671
ооп так и не взлетело. Уже лет 10 считается зашкваром использовать наследование
325 1987617
>>1986838
предлагаешь всю транзакционную логику размазывать по десятку классов ради "трушности ооп"?
326 1987618
>>1987616
Мамка твоя не взлетела, после вписки с мажорами.
327 1987619
>>1987617

>Зашквар, трушность


Первокур, ты?
328 1987620
>>1987617
Логику не размазывают, а сосредотачивают в наборе сущностей. Ето ты на своей первой работе будешь размазывть права доступа по сервисам которые рандомно сперва наваяешь, охуевая от счастья что тебе дали проект с нуля писать.
329 1987622
>>1987620
у пользователя есть аккаунт, в котором есть деньги. Как ты через ооп это будешь выражать?
Сделаешь пользователя, в пользователе объект "деньги"?
Логику изменения денег в бд будешь в пользователя пихать? Или в деньги?
Если у тебя появяться 2 разных видов пользователя, будешь наследование и перегрузку делать?
330 1987625
>>1987622
1) Как там в бд хранится это вапще к бизнес логике не имеет отношения. Логику твой заказчик каждый день придумывает. Его не ебет что там у тебя в БД. БД инструмент, переферия забудь про него.
2) Две сущьности пользователь и аккаунт с полем деньги. Если у тебя бизнес процес затрагивает две сущьности, то обычно делают доменный сервис. Такая штука, которая тоже не зависит от проектируемой системы, как и сущности, но естественно зависит от сущностей. Система (юзкейсы) зависит от сущностей и доменных сервисов. Никакого наследования, только композиция.
331 1987626
>>1987625
где в библии ооп написано про доменный сервис и "никакого наследования"? Там наоборот - наследование это суть ооп
332 1987627
>>1987626
Сын мой, что за сатанинские ереси ты читаешь?
333 1987629
>>1987627
перечисли три основы ооп
334 1987630
>>1987626
Задача нормального ООП как можно больше развязать части кода, а наследование этому противоречит.
335 1987632
>>1987629
А таблицу умножения?
336 1987634
>>1987632
ясно. Манёвры

>>1987630
преподам и идеологам ооп это скажи
337 1987635
>>1987634
Ты препод что ли? Судя по тону ты зубрилка школяр.
338 1987639
>>1987635
обосрался
@
переходи на личности
339 1987641
>>1987639
Ну какнул же ты, когда сказал что ооп == наследование, а по тому ооп сосет. Хотя каждый школяр знает что наследуются в нормальном (идеальном, а не хуяк-хуяк) коде только от интерфейсов и абстрактных классов. И то основная цель наследования это инверсия зависимостей между абстрактной частью и более конкретной, а не переиспользование кода. Абстракция и полиморфизм, это вообще от языка зависит, как оно паботает. От этого язык менее ооп не становится, чтобы преподы не говорили. ООП это взаимодействие объектов через сообщния, модель предметной области. В хороших проектах используется как связующее звено между заказчиком и кодером, потому что модель в таких проектах отражает хотелки заказчика, а не особенности БД или еще какую частную хуйню.
image.png309 Кб, 590x392
340 1987687
>>1987615

>В андроидах ART, который ваще не jvm. Оракакл судился только из-за апи, типа апи это интеллектуальная собственность.


1. Когда суд начинался, никакого ART не было, была модифицированная Apache Harmony.
2. Суд признал, что API это тоже собственность Oracle, еще 5 лет назад.
3. Сейчас суд признал, что 9 ядрдов это слишком дохуя и мистер Ларри обойдется одной яхтой.
Том-и-Джерри-Мультфильмы-хз-какие-теги-выставка-5388785.jpeg115 Кб, 605x807
341 1988222
Добрый день, 300к/наносеки. С первого моего устройства у меня появился фетиш на залезть в устройство туда, куда нельзя. Этакое нездоровое влечение отредактировать, поменять, оптимизировать что-нибудь в системе. Постаянно нужно раскопать всю операционку изнутри. И вот изучаю я значит сейчас Java, доволен. Интересная среда мира программистов. Изучу - смогу писать под свою любимую ОС - Android. Но вот ВСТАЛ БОЛЬШОЙ вопрос: А смогу ли с помощью Java писать программы для работы с системой/железом? Умеет ли Java залезать туда, куда люблю лазить я? В интернете я искал ответ на свой вопрос, но ключевой инфы так и не нашел. Собственно вот и вернулся на родной оранжевый сайт. Так что передаю свой вопрос вам анончики.
P.S. Не гоните меня в C++ тред пожалуйста, мне нравится Java, но я хочу узнать про вышесказанное.
342 1988236
>>1988222
моргать светодиодами - вобщем нет, не может.
Моргание светодиодами, 32кб оперативной памяти, самописные операционные системы - это си, область называется эмбеддед
343 1988256
>>1988222
Не умеет, джава - это безопасный высокоуровневый язык, максимально изолированный от системы, и непосредственно через джаву ты не то что до железа не достучишься - функции винапи не дёрнешь. Можешь обмазаться биндингами к нативным либам, то это почти ничем не отличается от того, чтобы сразу писать на сишке. На Андроиде то же самое, там джава только для высокоуровневых приложений, сама система, книга работает с ядром, не на джаве.
344 1988267
>>1988256

> книга


Которая. Ненавижу печатать с мобилки.
345 1988292
Есть какие-нибудь мурзилки, где показывается как по-энтерпрайзному готовить бд, конфиги и всякие ее окружения?
346 1988383
>>1986838
Звучит так, будто это не так уж и сложно! Спасибо бро, успокоил мой пылающий пердак!
>>1987009
Будет сделано, кэп!
347 1988389
>>1988256
ну пилишь кусок на си - потом всё остальное суёшь в православную джаву... профит???
348 1988393
>>1988222
Глянь ансейфы и байтбуферы, по крайней мере байты ебать минуя ждк сможешь. Проще действительно запускать на жаве плюсокод, а не делать жаву плюсами.
349 1988394
сука нахуя
350 1988417
>>1988236
>>1988267
>>1988393
Спасибо за ответы, анончики, благодарен. Теперь буду знать как это устроено. Хорошо что хотя бы с костылями ещё можно что-то запускать)))
351 1988426
Сап мужики.
Я не особо в курсе сегодняшних зарплатных рынков, поэтому поищу ответа тут.
Допустим у меня год опыта автоматизации тестирования на джаве в крупном проекте сбербанка.
Стек дефолтный, selenium, rest assured, sql и все сопутствующие. И плюс опыт составления ТК, работа в жире, алм и бла бла бла
Какая зарплата у меня должна быть?
352 1988453
>>1988222
Поинтересуйся за Java Embedded и Java Card. Расскажи потом только.
353 1988463
>>1988426
Вряд ли здесь много автоматизаторов, но у них зарплаты не сильно от кодерских должны отличаться. Год опыта - это опытный джун, зп где-то 80-120.
354 1988467
>>1988463
Спасибо большое
permissionEnum.PNG50 Кб, 730x523
355 1988639
Сложные поля и небольшая логика внутри енамов это нормально?
356 1988650
>>1988453
Хорошо. Разузнаю - отпишусь
357 1988684
>>1988639
а потом ты захочешь подключить бин и соснешь
358 1988700
>>1988684
В смысле подключить? Сделать этот енум бином?
Это не я придумал. В одном из туториалов увидел. Даже удивился, потому что сложные енамы видел только в задачках на енамы. Так не используют такое в проде?
359 1988701
>>1988700
в смысле захочишь вызывать какой-нибудь метод у другого бина. Для этого его надо будет заинжектить. А инжектить в енамы нельзя
361 1989063
>>1988426
headhunter тебе в помощь
362 1989297
Как построить график функции используя Swing?
363 1989305
>>1989297
В универе задали? Сейчас такое легче на жс делать.
364 1989307
>>1989305

>В универе задали?


Ага

>Сейчас такое легче на жс делать.


На питоне это вообще две строчки, но мне нужно именно на Java используя Swing
365 1989310
>>1989297
public class Lab1 extends Canvas {
@Override
public void paint(Graphics g) {
super.paint(g);
// рисуем-рисуем
}
}
366 1989314
>>1989310
Там еще по-моему надо Graphics2D g2 = (Graphics2D) g;
367 1989556
Пилил свой HttpMessageConverter и решил глянуть какие там изначально спринг бут создаёт. На пиках два одинаковых джексона. Почему так?

Мой конвертер тоже с джейсоном работает, но только для специфичных сообщений, их можно отличить по содержимому. Как сделать так, чтобы для этих запускался мой конвертер, а для остальных стандартный? в контроллере какой-нибудь кастомный MediaType поставить?

>>1989297
https://pastebin.com/NsdD1gq3 я все вычисления сам проводил, но там и делать особо нечего. Вычисляешь точки, пишешь в pixels, потом отображаешь:

surface.fillSurface();
surface.repaint();
368 1989574
>>1980802 (OP)
Привет ебланы, какой нахуй смысл оборачивать ваш говнокод в стотыщ интерфейсов, это такая подсознательная обфускация говна, чтобы оно казалось конфеткой на первый взгляд? какая глубинная мысль оверинженниринга ваших говновысеров?
Снимок экрана 2021-04-08 025418.jpg59 Кб, 742x324
369 1989593
Горит жопа с кодировок. Почему нужно ебаться, чтобы вывести строку "Привет мир"? На некоторых сайтах пишут, что это Майкрософт виновата, потому что в cmd использует кодировку-866, хотя системной указывает 1251.
Но этот же "Привет мир" отображается такими же ебаными иероглифами и в окне Swing.
Вот я значит создаю хелловорлд в NotePad++ с кодировкой UTF-8, то есть юникод. Родная кодировка для джавы - тоже юникод. Казалось бы - ничто не предваещает беды. Но я запускаю этот хелловорлд и получаю ебучие иероглифы вместо русского текста. КАК НАХУЙ?
370 1989650
>>1989574
Пошёл нахуй
371 1989672
Microsoft анонсировала собственную сборку OpenJDK
Работает в 1.5 раза быстрее на лицензионной windows

https://www.microsoft.com/openjdk
372 1989684
>>1989672
а на нелицензионной?
373 1989687
>>1989672
Неужели в вижуалстудию добавят поддержку жабы, и идея станет не нужна?
374 1989694
>>1989687
ты пробовал эту вижуалстудию открывать? Это пиздец
375 1989695
>>1989694
Пробовал, она намного быстрее идеи.
376 1989698
>>1989695
медленнее, ублюдочнее, падучее, там ничего нет
377 1989707
>>1989695
Но все шарписты с хоть какой-то зп покупают JetBrains Rider. А вижуал студия живет засчет приколоченных к ней гвоздями компиляторов плюсов.
378 1989709
>>1989698
Да ты еблан.
VS Enterprise это лучшая IDE всех времён и народов.
В ней уже нечего улучшать, она достигла совершенства.
Всё остальное - жалкие тени, которые никогда даже близко не приблизятся ни по одному параметру.

Единственное, что можно поставить в укор Visual Studio Enterprise, это то, что она overblow. Но тут ничего не поделаешь, такой сейчас мир - всем похуй на компактность.

Но вышесказанное не относится к VS Code. Видел я её как-то сбоку. Мой вердикт простой - насколько VS Enterprise идеальна, ровно настолько же VS Code это мусор, который не заслуживает даже упоминания. Ни в каком контексте. Похоронить и забыть.
379 1989710
>>1989707

>Но все шарписты с хоть какой-то зп покупают JetBrains Rider


Ха ха ха. Мне бы так - пиздеть и не краснеть.
Или сам веришь в эту хуйню?
Тогда у меня для тебя плохие новости.
380 1989712
>>1989709
find usages тоже есть?
381 1989713
>>1989709

> VS Code


Он же имеет примерно такое Же отношение к вижуалке, какое джаваскрипт имеет к джаве.
382 1989717
>>1989709
сравнивать вижуал студию и вс код в джава треде. Это уже не троллинг, а реальная шиза.
383 1989719
>>1989717
Все джависты втайне фапают на студию. Но могут позволить себе лишь огрызок в виде вскода.
384 1989720
>>1989713
Я в курсе. Есть подозрение что это навалены скины на бывший Monodevelop от Xamarin. Но это неточно. С вероятностью 0.75.
385 1989723
>>1989719
Ну так чем биллибойское поделие лучше идеи?
image.png468 Кб, 750x600
386 1989727
image.png1,9 Мб, 1200x980
387 1989768
А вы думали это шутка.
388 1989780
>>1989719
Это говно, даже не поддерживает string interpolation для питона.
image.png6 Кб, 345x124
389 1990234
Не могу скомпилировать UnitTest.java

package com.test;
import org.junit.Test;
public class UnitTest {
@Test
public void test(){
Project.test();
}

В командной строке пикрил.

Что ему еще нужно от меня? Как скомпилировать это не внеся изменений в UnitTest.java? Причем самое забавное, когда я пропускаю его через Maven, он каким-то чудом все компилирует.
390 1990306
>>1990234

>Project


нет его импорта
391 1990319
>>1990234
братан, тебя в IDE забанили?(
392 1990324
>>1990234
Раз прожекта нет в импортах, то он лежит в том же пакете. И джавак его не находит из-за того, сто ты не указал его -cp, мавен это делает сам.

>>1990319
Я тоже хеллоуворлды со спрингбутом пишу в виме, а то идея слишком жирная, не хочу закрывать браузер и другие процессы, запускать идею и ждать 15 минут, пока запустится.
393 1990334
>>1990324
А как указать?
javac -cp "junit-4.11.jar;Project.java" UnitTest.java?
Я так пробовал, он выдает ошибку:
error: no source files
394 1990339
>>1990334
В -cp указывается путь до папки с пакетом, он не догадается сам, что нужно искать в том же пакете, в котором компилируемый исходник.
395 1990341
>>1990339
Это я понимаю, но синтаксис то какой должен быть? Если я просто укажу один cp с папкой, содержащей Project.java, он будет ругаться на junit...
396 1990342
>>1990324
Ты жавапрограммист, но до сих пор не смог накопить обоссанные 150 долларов на срузен3600 и еще 50 на мамку для него? Хуево тебе.
397 1990343
>>1990341
Я для облегчения этот Project.java в ту же директорию скопировал, что и UnitTest.java
398 1990350
>>1990341
Да хз, давно так не делал с тех пор, как мавен начал юзать. И смысла в этом нет.

>>1990342
Смог, но лень обновлять пекарню ради одной софтины, которую дома почти не юзаю.
399 1990380
>>1990341
javac -cp papkaname.anotherpapkaname.gayporn.catboys.Project.java
16159220412220.jpg74 Кб, 603x603
400 1990395
Аноны, помогите, пожалуйста, разобраться:
Когда URLClassLoader делегирует загрузку классов родителю? Пишу специфичный метод, который позволяет грузить классы с одинаковыми именами от разных классоадеров, и заметил, что когда вычитываю URLClassLoader'ом классы из ресурсов из папки ресурсов мавена, на локальной машине, то он, походу, не делегирует их родиетлю, хотя я ожидал обратного эффекта. То есть, получаю на тестах:
java.lang.AssertionError: expected: java.lang.Class<class plugin1.PluginA> but was: java.lang.Class<class plugin1.PluginA>
При загрузке одного и того же класса разными URLClassLoader'ами. Выходит, он ничего не делегирует родителю, и грузит класс исключительно самостоятельно? А в каких случаях он вообще что-то делегирует наверх?
Я хотел при загрузке новых классов и загрузках копии классов из одной и той же директории грузить всё URLClassLoader'ами, в надежде на то, что он заберет дубликат у родителя из их кэша, а повторы в разных директориях уже грузить своим кастомным класслоадером и переименовывать, что даст провернуть такой финт ушами и использовать все классы в одной системе. Но по итогу у меня и дубликаты из одной и той же директории не equals, потому что, по видимому, URLClassLoader ничего не делегирует родителю.
401 1990420
>>1990380
Он так ругается на отсутствие junit библиотеки...
402 1990471
>>1990350
Понимаю, лень, ну продолжай жрать говно тогда, если у тебя комп даже браузер открыть не может, не выронив кал. Вопросов к себе не возникает никаких?
403 1990476
>>1990471
Не возникает. Браузер работает быстро, даже игры норм, но вот идея ебать
404 1990498
>>1990324
Если ты такой крутой и хочешь делать из консоли, то почему не юзаешь мавен? Ты реально будешь скачивать джарники в lib/ и прописывать вручную?
405 1990502
>>1990498
Ты перепутал, я как раз юзаю мавен.
406 1990504
>>1990476
Может у тебя хдд старенький?
407 1990505
>>1990502
у тебя мавен собирает жарник без либ? Там есть плагин, чтобы оно все либы к тебе в жарник закидывало, и получался итоговый жирный самодостаточный жарник
408 1990506
>>1990504
Ему около 6 лет, да и дешёвый он был. Может и правда дело в нём.
409 1990510
>>1990506
Идея очень зависит от этого. Они даже внаглую написали в рекомендуемых системных требованиях - ССД. Это дурное требование на мой взгляд, даже ААА игры такое не пишут.
410 1990523
Я придумал охуенный оп пик, но потом забыл.
411 1990526
>>1989672
И в чем соль?
412 1990545
>>1990395
Сколько у тебя класс лоадеров? Какая у них иерархия? Как ты пытаешься грузить классы?
И при чем тут ресурсы, если у тебя классы грузятся?
413 1990546
>>1990420
Так почитай про синтаксис класспаса... еблан...
414 1990557
Как писать пета? Решил написать простой сервис уровня онлайн библиотеки с минимальным функционалом, ну там регистрация, авторизация, загрузка книжек в пдф, просмотр этого дела, и т. д.
В итоге приходится изучать кучу всего по фронту примерно нихуя по спрингу. Иначе все выглядит как полнейшая параша.
Кто знает как это фиксить? Изучить фронтенд на уровне хтмл цсс основы жс жквери бутстрап?
415 1990571
>>1990557
Vaadin
416 1990578
>>1990557
Хватит хтмл, цсс и фримаркера.

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


Твоя цель спринг выучить, или чтобы было красивенько-модненько-SPA?
417 1990609
>>1990557
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.6</version>
</dependency>

http://localhost:8080/swagger-ui.html

И не еби себе мозги

изучал фронт сразу с реакта, строки жса видел только в мемах 2 + "3" = "23". Там вообще ничего сложного нет
418 1990631
А вы юзаете tomcat-native?
419 1990672
>>1988639

>спрингхуита


дальше не читал
420 1990755
>>1989672
микрософт перекатывается на джаву?
421 1990826
>>1990578
А чому не таймлиф?
422 1990828
>>1990578
И если я например хочу выучить Спринг для клепания рестов под спа? Все таки жс-фреймворк придется учить.
423 1990837
>>1990755
Никому не всралась Windows fot ARM вот им и пришлось самим делать порт JDK. Плюс у них есть свое облако, там они тоже делают свою сборку JDK.
424 1990903
так у мелкософта опенждк будет платная?
как же заебали с этими лицензиями, кучей разных версий
как было всё-таки лампово до 1.8.0.2
425 1990933
Анон, насчёт суда google vs oracle

правильно ли я понимаю, что теперь гугл не будут ебать за использование джавовских jdkшек, и тем самым получается что и котлин им уже нахер не всрался, можно продолжать пилить \ улучшать нативную экосистему андроид?
426 1990936
>>1990933
Почитай это обсуждение и сделай выводы: https://www.linux.org.ru/forum/talks/16251770
427 1990967
>>1990936
сделано!
там топят за котлин
428 1990979
>>1990755
Ну не на шарпоговне писать же
изображение.png31 Кб, 870x215
429 1991066
Привет ребята,делаю тут програмку с запросами в базу данных и отображает данные в таблице и вроде бы все работает,но я понимаю что реализация ужасная и вообще недопустима. Подскажите пожалуйста,как бы мне более изящно реализовать удаление
430 1991089
Дублирую вопрос...
Как вообще для вката jetbrains academy + leetcode + petprojectы какие-нибудь? Плюс ещё Кормена наебнуть и что-нибудь по проектированию рестухи. Из опыта в ит стажировочка по системной АНАЛитике и 3 курс вузика по прикладной информатике. Плюс пара хаков выигранных. Хватит такого чтобы каким-нибудь джуном пойти или ещё чего-то наебнуть?
431 1991108
>>1991066

> более изящно реализовать удаление



как угодно, но блять не склеивай строки запросов никогда
если уже пишеш то вставляй параметр WHERE id = :id потом query.setParameter
432 1991123
>>1991089
Бамп вопросв
433 1991126
>>1991123
Тебе не хватает терпения.
434 1991130
>>1991126
Возможно. А возможно ответа и не будет просто
435 1991132
>>1991130
Но это не точно.
436 1991166
>>1991089
Ну вообще если знаешь sql, там на литкоде что-то можешь решить обсираясь не сильно жидко, основы джавы и спринга, то можешь ходить по собеседованиям.
Как правило на работу берут тех, кто ходит на собесы, а не дрочит до посинения кормена или документацию спринга.

Мой одногруппник вообще пошел работать скала джуном, зная скалу около недели и не имея за плечами никакого опыта/хакатонов/олимпиад.
437 1991184
>>1991066
а как же ORM, зачем напрямую запросы к базе делать?
или ты в учебных целях...
438 1991196
>>1991184
У нас на проекте ~95% запросов пишутся руками, потому что ORM - хуйня без задач.

мимо
439 1991200
>>1991196
о как! буду знать
через jdbc драйвер дёргаете?
440 1991209
>>1991200
JdbcTemplate, сам коннекшен получается через JNDI с вебсферы.
441 1991218
>>1991196
Используй jooq.
442 1991220
>>1991184
Излишнее использование ORM приведет к тому, что приложение будет работать медленно даже на небольших данных.
443 1991355
Студент 2 курс на связи. Вроде что-то знаю про джава кор, коллекции, многопоточку и стримы. Писал простейшие круды на спринге. Иногда решаю задачи на литкоде, жидко обсираюсь, но простейшие алгоритмы и структуры данных вроде знаю.
Еще в шараге учил sql, ну и в крудах через ждбс общался с базой данных.

Планирую прямо сейчас подавать на всевозможные места для студентов, лохов, стажеров, говноедов, и т. д.
Какие подводные? Меня хоть куда-нибудь пригласят на собеседование с таким подходом? Хочу получить струю мочи в лицо, чтобы был стимул дальше развиваться. Ну или понять, чего я не знаю, чтобы в краткие сроки что-то получить и снова на собес.
Как вам план?
444 1991360
>>1991355

>получить


*подучить
445 1991376
>>1991220
В принципе с точки зрения CQRS выглядит так
1) Для Query используем фасад за которым квери билдером делаем запросы к БД
2) Для Command используем ORM (для DDD в агрегате)

Но делаешь удаление и твоя оптимизация выглядит необоснованно. Тем более у тебя не bulk операция. С точки зрения правильного использования БД вообще избегают удалений. Тем более прямо из комманды пользователя

Да похоже у тебя десктопный helloworld и рассуждения что ORM тормозит на отдельной операции удаления еще смешнее

мимо шел
446 1991395
>>1991376
Клево ты придумал за меня проблему и сам её решил.
447 1991400
>>1991395

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



Что в моем сообщении не относится к твоему воросу?
Спросил как нормально - ответил как нормально
448 1991425
>>1991376

>>С точки зрения правильного использования БД вообще избегают удалений.


Почему избегают удалений, если есть бэкапы, и как правильно делать?
449 1991435
>>1991425
It depends
В простых случаях не избегают
В более сложных нужно умное удаление вместе с отношениями или нужен аудит. Чтобы реализовать софт делит нужна нормальная архитектура иначе, ты утонешь в багах связанных с проверкой удалена ли запись в бд или только помечена как удаленная
В совсем сложных случаях используется event sourcing
450 1991439
Так учить шаблонизатор или как?
Фримаркер или таймлиф?
451 1991442
>>1991439
Не учи.
452 1991449
Бамп
453 1991938
>>1991425
1) Это тяжелая операция
2) Трудно не накосячить с каскадным удалением
3) Могут быть нужны всевозможные архивные данные или отчёты
4) Никто для тебя не будет хранить и накатывать бекапы

Поэтому делают либо булеан is_delete, либо таймстамп удаления
454 1991940
>>1991439
шаблонизаторы устарели лет на 10. Сейчас в моде SPA и общение с беком через рест запросы
image.png1,2 Мб, 794x798
455 1991992
>>1991938

>Никто для тебя не будет хранить и накатывать бекапы

456 1991994
Есть у вас вообще что-то типо Страуструпа от мира JVM? Или что вообще из базовой литры имеется
B7h5kciPm9A.jpg136 Кб, 807x598
457 1992003
>>1991994
в смысле создатель? Гослинг
458 1992004
>>1991994
Жаба - это не C++, в ней нет овердохуяллиона тонкостей, которые нужно обязательно знать. И нужды в таких книгах нет. Есть несколько популярных книг, пойдёт любая.
459 1992009
>>1992004
А по части продвинутых навыков? Есть какие-то финты ушами после алгоритмов Седжвика, Спринга и паттернов проектирования? Я про книжки.
460 1992018
>>1992009

>А по части продвинутых навыков?


за такое любой вменяемый тимлид бьёт по рукам
461 1992020
>>1992018
А что с этим не так?(
462 1992023
>>1992020
мы тут работу работаем, а не выебываемся и не играем
463 1992026
Сап Джавач.
Понадобилось состряпать форму на свинге, в Идее. Есть какие-то гайды как пользоваться встроенным туда менеджером компоновки? Таскаю эти чертовы кнопки и спейсеры туда-сюда, какая-то бесячая хуйня происходит, какие-то разделы на форме появляются и исчезают, все своей жизнью живет. Бесит пиздец. Помогите, плиз, пока я ноут не разъебал.
464 1992032
W
465 1992042
>>1992026
MigLayout
466 1992054
>>1992042
что за ебаный пиздец в этом вопросе вообще, почему все так сложно? В вижуал-студии на шарпе когда накидываешь компоненты, их можно как угодно таскать, как в фотошопе, почему здесь такой пиздец.
467 1992060
>>1992054
Потому что джава - худший выбор для десктопа, и все, кто пытается, должны страдать.
468 1992066
>>1992060
Ну, сама IntellijIDEA с тобой бы не согласилась, максимально красивое приложение (она насколько знаю запилена не только на жабе, но еще и на Свинге)
У меня и нет желания сделать что-то красивое. Уверен, дело в крайне хуёвой интуитивности, и стоит понять как все работает, запилить что-то не составит уже труда.
ffuuuuuuuuuu.jpg60 Кб, 812x647
469 1992071
Хотя, бля... походу я поспешил сказать что надо разобраться. Че это нахуй блять вообще, даже значки листенеров отваливаются нахуй от кнопок и живут хз как. Может что идея ломаная. В рот ебал такие рисовалки
470 1992096
>>1991940
А когда будет мода на graphql в мире джавы?
471 1992101
>>1992054
>>1992066
Лучший визуальный конструктор для свинга был в нетбинсе. Вот там реально как в фотошопе кнопки передвиигаешь. А идея полностью ручками написана.
472 1992104
>>1992071
В идее конструктор ненужное говно, его вообще удалить надо.
473 1992116
>>1992096
Избавиться бы от моды на SOAP для начала.
А так GraphQL-параша доберётся до жабы лет через 5 после того, как она станет модна в хипстерских язычках, в которых тоже до сих пор рест-параша.
474 1992120
Есть один @Component бин. Есть другой @Component бин, у которого также есть аннотации @Profile("profile1") и @Primary. Мое ожидание, что когда активен профиль profile1, во все место будет автовайрится второй бин, а если профиль не активен, то первый. Почему это работает не так?
475 1992139
>>1992120
А все)
476 1992154
Что ВЫ пишете на джаве?
477 1992157
>>1992154
Сайты-визитки.
478 1992162
>>1992157
Неужели тот самый бекенд, который не энтерпрайз?
479 1992184
Как вообще с десктопом в жаве? Работу не найти?
480 1992186
>>1992184
Примерно как с делфи.
481 1992187
>>1991938

>>Поэтому делают либо булеан is_delete, либо таймстамп удаления


А почему просто автовакуум не отключить/сделать отложенное очищение, а в аудите хранить что конкретно удалялось? Мб переносить в отдельную базу удаленные данные, если что то критичное? Это ж ебанешься is_delete добавлять к каждой таблице, а потом еще и логику всю переделывать?
482 1992188
>>1992186
А десктоп мёртв вообще или умирает
483 1992190
>>1992188
Полностью десктоп не умрёт никогда. Просто значительная часть приложений переехала в веб.
484 1992214
>>1992190
десктоп переехал на мобилки, а веб отошел на второй план
485 1992220
>>1992190
А зачем жаба пыталась долгие годы завоевать десктоп-нишу? Свинг и апплеты в конце 90-ых еще ладно, но JavaFX выпустили в 2008 непонятно зачем. К тому времени основной юзкейс был в jEE на серверах.
486 1992242
>>1992214
Специализированный энтерпрайз-софт тоже на мобилках?

>>1992220
Частично завоевать всё же получилось. Тогда пилить кроссплатформенный десктоп было почти не на чем, либо невъебенно сложные и небезопасные кресты, либо умирающий тогда делфи, либо жаба. Не то чтобы такого софта много, но попадается. Мне вот в универе на разных предметах по проектированию/моделирования всякой хуйни нужно было делать лабы в специальных программах, и достаточно много из них было на жабе.
487 1992288
>>1992242
Logisim?
488 1992306
>>1992288
Да + всякая IDEF/UML-параша, названия уже не помню.
489 1992316
>>1992220
есть такой josm для редактирования опенстритмапа - на жабе
490 1992343
>>1992009
для меня страусТРУП от мира джавы это Elliotte Rusty Harold, годно пишет
491 1992350
>>1992009
в плане финтов ушами, находил такую книженцию(пока не читал)

> Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering



можешь глянуть, отпишись потом как оно.
492 1992358
>>1992350
Глянул. Прикольная темa, но она для челов из треда про асм. Тема сочная на самом деле
изображение.png6 Кб, 479x193
493 1992362
Сап двач,есть одна таблица,в ней указывается насколько забронирован объект из таблицы reservation_objects,так вот,как мне сделать так чтобы на один объект можно было сделать только одну резервацию?
494 1992366
>>1992362
А ты не охуел?
495 1992367
Пользователь вводит с клавиатуры функцию от одной переменной возможно с использованием класса Math, например x*Math.sin(x/2), и мне нужно чтоб у меня в программе появилась аналогичная функция. Как это реализовать?
496 1992368
>>1992367
Запрограммировать такое поведение.
497 1992375
>>1992362
Сделать unique constraint для object_id.

>>1992367
Написать парсер математических выражений через какой-нибудь ANTLR, но почти наверняка уже есть готовые либы.
498 1992392
Текущую дату лучше проставлять в сервисе или дефолтом в таблице?
499 1992410
>>1992392
Дефолтом не надо, а вот при инсерте вызвать
CURRENT_DATE можно.
500 1992426
>>1992410

>Дефолтом не надо


Почему?

>при инсерте вызвать CURRENT_DATE можно


Я персистшу ентити менеджером.
501 1992428
>>1992426

> Почему?


Потому что это бизнес-логика в БД, работающая к тому же неочевидно, все привыкли к значению по умолчанию только для ID.

> Я персистшу ентити менеджером.


Тогда в сервисе делай.
502 1992448
503 1992464
>>1991940
То есть вместо шаблонизатора нужно таки учить жс-фреймворк?
504 1992468
505 1992523
>>1992214
Смузи-долбоеб закукарекал, у которого верх понимания о программном приложении - это прогноз погоды и справка о котировках биткойна. Всякие убер-сложные пакеты, типа САПРов, сред трехмерной графики, движков разработки игорь, и вообще все то что юзает на 99% только локальный контент, еще лет 30 вряд ли переедут на веб, а то и никогда, по крайней мере пока каналы связи еще так на порядок не подрасширятся, и не изобретут интернет реально доступный всегда и везде. Нахуя делать в вебе то что на 100% локально по данным?
506 1992525
>>1992350
Хуй знает, зачем такое вообще нужно. Разве что для тех, кто сам дизайнит виртуальные машины, или оптимизирует какие-то мегатонны легаси-говен. Если обычному разработчику захочется такой глубины, то он скорее всего вообще не будет смотреть на джаву как на рабочий инструмент, а будет вариться где-то в сях
507 1992540
Вот еще насчет спринга. Смотрю один туториал/книгу. Там типа вот обмен данными с клиентом, подключение к базе, секьюрка - все по шагам расписано. И в шагах они собирают конструкторы из аннотаций, классов и методов. Причем больше половины всяких классов-прослоек не комментируются.
Ну что-то ясно, но зачем нужна часть прослоек не ясно.
Пытаюсь посмотреть другой тутор, чтобы закрепить и заполнить пробелы. Из плюсов - шаги примерно те же самые. Но там для той же самой задачи используются другие классы-прослойки. Причем тоже не особо комментируются.
Короче сделать каждое действие есть по 10 способов. И это как-то запутывает.
Короче научите курить доку. Реально нужно от корки до корки Reference Doc по всем часто встречающимся кускам спринга читать(оценил размер и 7 html-страничек по кускам с которыми я постоянно сталкиваюсь это где-то на две тыщи страниц)? Потому что пробовал по именам классов из середины читать и не очень понятно.
508 1992557
>>1992523

>>САПРов, сред трехмерной графики, движков разработки игорь, и вообще все то что юзает на 99% только локальный контент


Дохуя популярных движков на джаве видел, маня?

>>Нахуя делать в вебе то что на 100% локально по данным?


Думаешь банковский софт локальный по данным, долбаеб? Бекенд ммо тоже локальным по данным? Иди дальше байты свои еби, если не понимаешь где джаву вообще используют.
509 1992560
>>1992557
Долбоёб, ты тред вообще читал? Речь про десктоп как таковой, а не про жабу.
510 1992570
>>1992560
Ну так вообще десктоп девелопер это жалкие проценты от всего рынка труда разработчиков. И по тенденции их доля ещё сократится.
А джава десктоп это жалкие проценты от жалких процентов. Такие вакансии днём с огнём будешь искать.
511 1992573
>>1992392
@CreatedDate @LastModifiedDate
512 1992586
Десктоп нужен только если вы взаимодействуете с хардварью, либо если вам нужна охуенная производительность сложных вычислений (игры, фотожопы). Для остального есть нод жс
513 1992662
>>1992573
Забыл про них.
514 1992698
>>1992375

>unique id


Но тогда у меня будет просто уникальное id,а мне нужно чтобы я не мог в таблицу reservation добавить две записи на один объект
515 1992708
516 1992711
>>1992698
Нет, unique не на revervation.id или revervation_objects.id, а на revervation.object_id. При инсерте/апдейте будет выполняться проверка, что в reservation нет других записей с таким же object_id, и двух записей с ссылкой на один объект не будет.
517 1992712
>>1992711
А бля реально,ебать ты умный и ебать я тупой
518 1992716
>>1992712
Unique constraint для этого и нужен, для primary key он появляется неявно.
519 1992718
>>1992716
Не неявно, а имплицитно.
520 1992737
>>1992718
Надо бороться с англицизмами в айти.
521 1992738
Родительский pom, начало начал...
522 1992742
>>1992737
Перекат; >>1950188 (OP)
523 1992747
>>1992737
В чем твой пойнт?
524 1992773
Я хочу жавой дергать ссылочки на картинки, пихать их в питоновскую сетку, она выдает жсон с результатами и это я должен покласть жавой в бд.

Мне уже посоветовали создать докер-образ сетки и кастовать ПОСТ на этот контейнер из жавы, но я ни слова не понял. Как это гуглить?
525 1992780
>>1992773
Хуй знает, зачем тебе докер, для твоей задачи он, может, и не нужен.
Предполагается, что у тебя будет питоний скрипт с http-сервером (например, flask или bottle), который будет получать список твоих ссылок, дёргать "сетку" и результаты возвращать в виде ответа.
Или есть способ с питоним подпроцессом и общением с ним через пайп, но это сложнее.
526 1992812
>>1992773
Я использовал https://github.com/bcdev/jpy
Но нормально он только под линуксом работает, собрать его под винду мне не удалось.
527 1992830
>>1992773
Тебе нахуй не нужны ни джава, ни докер, делай все на питоне.
528 1992834
>>1992830
на онли питоне я на изи бы уже все собрал, но я, извините, изучаю жаву и средства жавы, поэтому надо сделать так.
529 1992836
>>1992834

> извините, изучаю жаву и средства жавы


Пиши сетку на жаве, обрабатвай картинки и генери жсон на жаве, замени pom.xml на pom.java, бд пусть будет Apache Hive.
530 1992895
>>1992834
Тогда нахуя тебе питон тут?
531 1992998
питонщик, проследуйте в вашу парашу соседний тред
532 1993362
>>1992557

>Дохуя популярных движков на джаве


конечно же нет. ведь на ней не пишут десктоп почти. Но при чем тут джава, душный долбоеб? ты (или какой-то дебил вроде тебя) высрал своё говно касательно десктопа вообще, а не роли в нем джавы. и при чем тут банки вообще, хуесос? банки потому и на вебе, потому что юзают сетевые данные. иди таблетку прими, выпиздок, чтоб в шары не долбиться.
533 1993366
>>1993362

>>джава тхред


>>при чем тут джава


Ты совсем ебанько? Возвращайся в свой петушиный угол, откуда ты выполз.
534 1993622
Помогите тупому.
Как с чистого html через <form method="post"> отправить данные в spring mvc? А то везде жсп/таймлиф.
535 1993637
Какая разница между @bean и @component? Там где я пишу компонент, я его должен автоварить вручую @Autowired? А бин он как бы сам ныряет в апликейшн контекст? Я могу написать @Bean и сделать автоваред его? Я не до конца понимаю, поясните пожалуйста!
536 1993639
>>1993622
почему бы тебе просто не почитать что такое http протокол блеать?
537 1993644
>>1993622
Если у тебя бут, положи свой хтмл в src/main/resources/public, а в mvc-контроллерах делай return "index.html", либо в пропертис добавь "spring.mvc.view.suffix=.html" и возвращай просто "index". В пом.хмл должна быть зависимость spring-boot-starter-web. И будет работать без шаблонизаторов, зотя хуй знает, зачем тебе это.
538 1993710
>>1993637
Или @Bean как бы создает бин и сразу же, здесь же его автоварит в контекст?
539 1993719
>>1993637
@Bean вешается на метод, который должен создать объект бина, спринг вызовет метод и положит результат в контекст. Это так называемый java config. Обычно юзается с классами, которые ты пишешь не сам, а юзаешь готовые, создаёшь объект, настраиваешь нужным тебе образом и возвращаешь.
@Component и его производные вешаются на класс, спринг создаст объект этого класса сам и полодит в контекст. Это annotation config. Обычно для классов, которые пишешь сам.
Оба автовайрятся через @Autowired.
540 1993749
Анон, что скажешь про этого парня? Душнила или хороший человек?

https://www.youtube.com/c/EugeneSuleimanov/videos
541 1993793
>>1993749
@dushnila
542 1993837
>>1993749
почему душнила не может быть хорошим человеком?
543 1993952
>>1993749
Видео с собесов норм, уроки не очень, имхо.
544 1993968
>>1993366
Пошел нахуй, дебил ёбаный. Будто в треде по джава любой контекст предполагает неявное наличие джавы в утверждении. Насрал тебе в рот так что из ушей полезло, чмо. Соси.
jerr.jpg21 Кб, 512x190
545 1993971
Сап, джавач. Подскажи, может ли быть проблема с запуском приложения, собранного в Intellij, из-за того что IDE ломаная с торрента? Собираю артифакт jar, при запуске он выдает пикрил ошибку, следом вторую, про эксепшен. Из самой ИДЕ все отлично запускается и работает.
Все уже перепробовал - и джаву обновил, и в переменных среды указал ссылки на ту самую JDK, на которой идея работает, и в самом конфигураторе джавы оракловском нашел и подключил эту же ЖДК. Что не так может быть?
546 1994021
>>1993971
скачай бесплатную комьюнити версию
547 1994024
>>1994021
Нет блять, купи платную ультимейт версию.
548 1994029
549 1994030
>>1994021
А что, никаких версий кроме той, дилетантской, что я сам выдвинул насчет ломаности, нет?
>>1994024
Я не юзаю идею профессионально, я можно сказать учусь но сам а не в учебном заведении чтоб вписываться во всякие там программы
>>1993971
олсо, по сабжу, когда в настройках проекта в модулях указываю 8 версию (а не 14 которая по дефолту), то все собирается и работает. Проблема только в том что у меня по проекту напихано всяких фич 14 версии, типа switch-экспрешенов, и перепиливать все под восьмую версию просто потому что я, долбоеб, не знаю как виндовс заставить запустить это все на 14 jre, я бы не хотел пока что
550 1994038
>>1993968
ты штаны снять забыл как и всегда, обтекай чмо
551 1994040
Есть простая круд форма, таблица юзеров, а справа кнопка edit. По нажатии появляется окно в нем три поля, я их заполняю и хочу, чтобы данные мпредались в контроллер, как это сделать, если написать input submit, то ничего не происходит. Помогите, я уже дней 10 не могу решение найти
552 1994041
>>1994040
В треде html программистов, мне не смогли помочь, там обсуждают реакты какие-то, вуе, я вообще хуй знает что это. У меня должен быть простой html и thymeleaf
553 1994088
>>1994040
>>1994041
Ну так сделай аналог формы регистрации.
Вот тебе пример со спрингбут + тимлиф и немного бутстрапа.
554 1994095
>>1994030
Потому шо 8 самая православная, остальное говнище

Анон, что там насчет ООП? Какие вопросики на собесах задают? В шапке какая-то хуита закреплена.
555 1994099
>>1994095

>>8 самая православная


Она уже легаси давно, а через год и 11 станет легаси.
556 1994102
>>1994095
А из под IDE она тогда как запускается, если говнище, м?
557 1994113
>>1994099
Версия становится легаси, когда выходил следующая версия, а не когда у неё истекает срок поддержки.
558 1994118
>>1994113
все что старее 16 теперь - легаси?
559 1994123
560 1994167
Есть вопрос по тестконтейнерам.
image.png164 Кб, 430x362
561 1994203
562 1994209
Пипл, хелпаните кто, СrudRepository.save(T t) выбрасывает постоянно 'java.lang.IllegalArgumentException' -argument type mismatch. Причем только с той сущностью, в к-ой есть отношение ManyToOne. Остальные 2 сохраняются и извлекаются нормально. Может кто сталкивался?
563 1994237
>>1994209
Отбой, 2 дня ебался, оказалось забыл выпилить в аннотации к сущности листенер для автоматического сэта времени.
564 1994250
>>1994203
Как сделать, чтобы докер запускался автоматически перед такими тестами?
565 1994292
Чем лямбды отличаются от StreamAPI? Или это одно и то же?
566 1994329
>>1994292
StreamAPI - это комплекс инструментов внутри дефолтной джавы, который для работы юзает лямбда-выражения. Сами по себе лямбда-выражения - это просто вариант синтаксиса (вне стрим-АПИ и даже любого конкретного языка), который позволяет реализовать функциональный подход к программированию. В джаве например лямбдавыражением можно инициализировать объекты функциональных интерфейсов или пихать их в любое место, где ожидается аргумент такого типа.
StreamAPI задизайнен таким образом, что все его методы принимают как аргументы функциональные интерфейсы, и возвращают либо снова объект стрима, либо целевой результат (если метод терминальный). Это позволяет пихать в аргумент лямбды (ну либо ссылки на статик методы, что делает синтаксис еще короче)
Все это позволяет писать краткие лаконичные вещи.
567 1994505
День добрый, Двощ.
Проработал пару лет в ETL и вполне хорошо разбираюсь в том как Oracle субд работает, но что-то меня начинает напрягать узконаправленность скиллсета. Хочу нормальный ентерпрайз ЯП знать и вообще программистом стать.
Немножко хобби проектов на Шарпе делал в прошлом, но особо не продвигался, опыта software development считай нет.

Сижу и думаю, Жава или Шарп? Душа вроде больше к Шарпу, но по факту и там, и там нихуя не знаю толком.
Вопрос следующий: насколько ценными для разработчика Жавы будут глубинные знания работы Оракла? Или это больше незначительный бонус, и не должно оказывать значительное влияние на выбор языка?
568 1994512
Привет. Есть Фрагмент на нем кнопка. Есть 1 поле для ввода на этом же фрагменте. Как сделать ПРАВИЛЬНО так, чтобы на эту кнопку при нажатии я заполнял одну переменную, потом еще раз нажимал и заполнял вторую, и так 5 раз. т.е. 5 переменных, заполняются по очереди при нажатии на эту кнопку текстом который введен в окно ввода. Вот как?
sage 569 1994513
>>1994512
Храни вместо пяти переменных один массив и текущий индекс в нём, сначала 0. Пр жмакании на кнопку записывай массив[индекс] = значение и инкремегтируй индекс. Разумеется, со всеми проверками.
570 1994635
>>1980802 (OP)
Отговорите вкатываться в вашу хуйню. Почему-то именно джава для меня выглядит привлекательно, хотя я не сильно углублялся и дальше лямбда выражений нихуя не видел.
571 1994675
>>1994635
Есть шанс попасть на 10-летнее легаси, где придётся программировать на xml.
572 1994715
>>1980802 (OP)
Что там нынче используют в эпоху микросервисов? Всякие MIcronaut/Helidon/Quarkus слишком сырые и глючные? Vert.x слишком низкоуровневый. Spring слишком тормозной и жрет память как в не себя.
573 1994782
>>1994635
Кто вкатится тот гей
574 1994790
>>1994782
Как что-то плохое.
575 1994811
>>1994635
Будешь бд-рабом, интересных задач чуть менее, чем нихуя, запредельный порог вхождения, заебешься на собесах разворачивать красно-черные деревья, как-то так... достаточно отговорил?
576 1995052
>>1994715
Сейчас жабистам вообще похуй на память, держу в курсе. У нас на продакшене есть часть кода, где в цикле создаётся объект для работы с вещественными числами и всем па ху ю
577 1995100
Пиздец,как же я ненавижу ебучий свинг,будь проклят создатель этого дерьма.Когда я нажимаю на плюсик в табе Customers все нормально,но когда я делаю тоже самое в табе Reservation он кидаем мне исключение. Богом молю помогите пофиксить это говно
578 1995116
>>1995100
Перепиши на TornadoFx.
579 1995127
>>1995116
Пердак от твоего сообщения мне не слабо разорвало,спасибо
580 1995134
>>1995100
Перепиши на языке, предназначенном для гуя.
581 1995137
>>1995134
Я не могу,я этот курсач ебучий полтора месяца писал,мне осталось только добавить вот эту табу и еще одну и все
582 1995156
>>1995137
Без Layout сделай и абсолютные координаты всему. setResizable(false)
изображение.png211 Кб, 1366x768
583 1995161
>>1995156
Я думаю я помру пока буду это переписывать
584 1995236
>>1995161
Чувак, я пошутил...
585 1995255
>>1995161
Еще не поздно освоить JavaFx.
586 1995262
>>1995255
К счастью поздно, т.к. гуй на джаве умер.
587 1995264
>>1995262
Да, попал челик со своим курсачом(
588 1995266
>>1995264
Бывает, мне один раз пришлось за ночь освоить borland C++ builder и написать на нём курсач но был небольшой бэкграунд с Qt.
589 1995320
Мне сегодня приснилось, что в энтерпрайзе люди запускают swing на java web start, а жс никогда не существовал.
590 1995331
Анон подскажи как правильно логи писать в спринге.
Достаточно ли логировать только входные/выходные параметры + сообщения об ошибках? Не покрывать же код логами через строчку? Не получится ли что эти логи мешают читать собственно рабочий код? Может надо все это через АОП и аннотации писать?
1200px-Kalash-Concerne.svg.png28 Кб, 1200x786
591 1995482
Котлин?
592 1995487
>>1995482
Флаг Непала
593 1995568
>>1994329
Спасибо, анон!
594 1995596
>>1995255
двачую, намного удобнее свинга
595 1995598
>>1995161
Разве нельзя GroupLayout чем-нибудь безопасно заменить не переписывая весь код ?
Screenshot20200829-082736.png1,3 Мб, 1440x3040
596 1995610
Добрый день, аноны. Хочу задать такой новичковый вопрос:
Равно ли это
String s = "Двач";
System.out.println(s);
Этому
System.out.println("Двач"); ?

Одинаково ли оба способа потребляют ресурсы и как будет правильно писать?
597 1995642
>>1995610
В первом случае у тебя еще будет ссылка на строку на стеке, хотя возможно JIT ее и с оптимизирует.
598 1995673
Есть тут адепты свинга? Как сделать так чтобы при клике на ячейку в таблице текст содержимого копировался в буфер обмена ?
599 1995721
>>1995673
Если именно по щелчку мышкой, то addMouseListener() и там в mouseClicked() методами rowAtPoint и columnAtPoint узнаешь куда кликнули и делаешь свои грязные дела.

Если тебе нужно именно событие что ячеку выделили можно, например, и с клавиатуры - то https://docs.oracle.com/javase/tutorial/displayCode.html?code=https://docs.oracle.com/javase/tutorial/uiswing/examples/events/TableListSelectionDemoProject/src/events/TableListSelectionDemo.java
image.png13 Кб, 342x254
600 1995729
Как убрать этот алерт, который постоянно вылезает при создании нового проекта?
601 1995766
>>1995721
Дай бог здоровья
602 1995770
Может я зря так хейчу гуй на джаве. Проблема ведь не столько в свингах и жавафх, сколько в жирном неповоротливос говнище IDEA.
603 1995807
Сколько оперативки надо для комфортной java разработки?
604 1995818
>>1995807
Ну мне 8 гб мягко говоря маловато.
605 1995837
>>1995807
У меня на работе 16, хватает для всего. Для учебных хеллоуворлдов можно обойтись 8.
анон 606 1995893
Сап
каковы ваще шансы с судимостью работать в энтерпрайзе с джавой?
607 1995919
>>1995893
В банках скорее всего хуй. В конторах, которые пилят тырпрайз для банков и прочих возможно
608 1995938
Аноны, помогите вкатышу, мне тут тестовое задание прислали написать rest api на spring boot

и в требованиях написано это
"Постраничная загрузка, сортировка, фильтрация для запросов, возвращающих списки"

где про это почитать? гуглеж в интернете ничего не дал
спросил бы у них самих, но не знаю, насколько этот вопрос тупой и дискредитирует меня
609 1995959
>>1995938
Где-где у баелдунга конечно!
https://www.baeldung.com/rest-api-pagination-in-spring
610 1995961
>>1995919
java - только банки? в пицду банки...
611 1995994
>>1995729
Ты небось сырую джаву используешь.

Рекомендую зайти в свойства проекта и выставить уровень языка в 11.
612 1996142
>>1995893
За что сидел?
613 1996356
>>1996142
ст 1 234 ук рф, приговор штраф 8000 руб
614 1996370
>>1996356
Ну ты пидарас, я бы тебя не взял в свою контору.
615 1996374
>>1996356

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


Хм, я даже не знал, что за это есть статья.
616 1996375
>>1995807
Вся
анон 617 1996427
>>1996356
хорошо, что все не ограничивается тобой и твоей конторой
618 1996548
>>1995610
На практике с вероятностью 99,9% это будет одно и то же на уровне исполняемого кода. Сам компилятор и среда выполнения десятилетиями отлаживались уберквалифицированными людьми. По этой причине, любые твои велосипеды скорее всего будут проигрывать встроенным в стандартную библиотеку инструментам.
619 1996551
IDEA-спецы, вы тут? Что-то сбилось в настройках редактора, теперь когда я нажимаю Backspace, находясь в начале строки с отступом (или несколькью отступами), редактор сразу удаляет все до ближайшего сверху код-фрагмента, на предыдущей строке. Раньше он удалял по одному пробелу, или хотя бы по одному отступу. Где настраивается?
620 1996608
>>1995994
Спасибо
621 1996610
Есть Groovy эксперты?

Что происходит, почему я не могу сделать простой input в IDEA?
Код пикрелейтед. Когда build жму, выдает ошибку про null. Про это я в целом вроде нагуглил, пишут что так и должно быть.
Потом я открыл Groovy Console, вбил там другой пикрелейтед, и у меня ничего не происходит. Внизу вылезает эта консоль, но ввода НЕТ, текст НЕ набирается.
Я нагуглил, что нужно в VM прописать, но и это не помогает (даже с ребутом).

Что не так?
622 1996739
посоветуйте плиз книжечки по JPA и Hibernate/
623 1996755
>>1996739
От Влада Михалчи.
624 1996785
Было ли у вас такое, что читая книжки по алгоритмам, вы узнавали в них многое из того к чему вы уже приходили, еще до прочтения их книг? Каждый раз когда такое происходит я чувствую себя гением каким то, думаю ''Ну нихуя себе, я ведь тоже раньше оказывается придумывал хэш таблицы, нихуя я гений!''
625 1996789
>>1996755
эмм, а подробнее? гугл хуйню какую-то выдает
626 1996797
>>1996785
Всегда так. Никакой ты не гений, угомонись. Почитай еще про паттерны, и выяснится что почти любой возможный пердежь кодом - это какой-нибудь неебаться умный шаблон проектирования.
627 1996799
Паттерны не используются в чистом виде в разработке, т.к сделать все по паттернам никто не сможет)
628 1996802
>>1996799
Делать все по паттернам = не понимать, что такое паттерны.
629 1996804
>>1996799

>т.к сделать все по паттернам никто не сможет)


не пизди, фабрика и синглтон частенько используются
ну и всякие рода MVC и миддлвейры (АОП) тоже своего рода паттерны.
630 1996805
Сап, джавач. Подскажите такую вещь, плес.
Если я пишу консольное приложение, то я всегда могу просигнализировать себе о какой-то особой ситуации в коде тупо через System.out.print.
Но что делать, если я переношу всю логику в GUI? Я не увижу там сообщений из исходящего потока. Есть вариант выбрасывать Эксепшен, ловить его в UI и выводить там ex.message. Но это коряво, потому что при любом раскладе после броска исключения исполнение метода больше не идет, и я не получаю результат. Как надо поступать?
631 1996811
Вопрос на миллион, по тому же Groovy.
Вот он умеет сам считать цифры через своих операторов.
Т.е. например
def result = 5+5
println result
выдаст 10.

Я хочу передать ему 5+5, но как string. Т.е. грубо говоря, чтобы он этот string преобразовал в код, который потом исполнит.

Например
def input = "10+10"
println input

Но он просто выдает мне 10+10. Как заставить его поставить значение input после println не как string, а как "код", чтобы он посчитал сумму?
632 1996817
>>1996804
>>1996802
Че вы тут распизделись, молодежь. Я имел ввиду что большая часть этих т.н. "паттернов" это настолько очевидные вещи, что любой у кого есть мозги сам их будет использовать, без всяких учебников, даже не зная что использует их.

>фабрика


вот как раз типичный случай. даже долбоебу очевидно то, что собой представляет этот шаблон
633 1996821
>>1996805
Если тебе для отладочных целей, то это делается через логгирование, там у тебя пишутся сообщения в файл построчно, и можно потом прочитать.
Если для юзера - не кидай эксепшены, вместо этого показывай диалоговое окно или придумай какое-нибудь окошко с уведомлениями в углу.
634 1996822
>>1996551
https://www.jetbrains.com/help/idea/settings-keymap.html
Restore Defaults или ручками проверь, что там на бекспейс заасайнено.
511Tq0kh7CL.ACSY780.jpg36 Кб, 386x500
635 1996823
636 1996826
>>1996821
Как я выведу окошко, если тот код, который является логикой, понятия не имеет о UI-оболочке?
Например я парсю какой-то кириллический текст, и обнаруживаю что по ошибке в него закрался иероглиф. Класс парсера написан отдельно от UI, и прямо в нем нельзя сделать что-то типа showMessage("pizdets!") (он тупо не знает ничего о том, кто его вызовет). Можно выбросить эксепшен, который ловит UI, но тогда я остановлю парсинг на иероглифе. Как сделать что-то вроде эксепшена, но не обрывающего дальнейшее исполнение?
637 1996828
>>1996817
Какие-нибудь стратегии через мапу бинов, например, красивая вещь, которую новичок сам вряд ли придумает.
638 1996830
>>1996817
Вот я и говорю, что ты не понимаешь суть паттернов. Это не какие-то алгоритмы, придуманные умными дядями и тётями и обязательные к изучению, а всего лишь распространённые способы решения архитектурных задач, когда кодеры сами придумывают решение, и наиболее популярные имеют название. Паттерны не придумывают, их обнаруживают. Конечно же они очевидные.
639 1996840
>>1996826
Как вариант, во время обработки ничего не выводить, записывая ошибки в некий объект-результат обработки, из логики этот объект вернуть гую, а гуй уже по факту покажет, были ли ошибки. Но это смотря что за задача.
640 1996844
>>1996830
Нет, это ты просто долбишься в шары похоже. Я и не говорю что это алгоритмы выдуманные дядями-тетями и обязательные. Я говорю что это все очевидно и так, в основном. И потому обнаружение того что ты чего-то там допер до того как узнал что это умный паттерн/алгоритм обозначает только то что ты не конченный овощ на питании через трубочку
641 1996848
>>1996844
Пчел
642 1996850
>>1996840
Я же тебе описал конкретную задачу. Нельзя что-то вернуть ГУЮ, кроме как через аутпут метода или эксепшен. Потому что тот кто работает на классом логики не знает ничего о том, что ГУЙ будет с этим работать. Поэтому хотелось бы иметь нечно, подобное механизму исключений, но не прерывающее выполнение. Например какой-то абстрактный Контейнер, который тоже можно бросить и поймать, но он не имеет семантики ошибки, выражающейся в том, что все обрывается в момент throw.
643 1996870
>>1996850
Ничего подобного в джаве нет, тебе придётся юзать существующие механизмы. Либо кидай эксепшен в конце логики, забив на семантику, либо добавляй возможность аозврата гую. Логика как не знала про гуй ничего, так и не будет, просто вернётся строка с сообщением, которую хоть передавай в гуй, хоть в out, хоть игнорируй.
644 1996883
>>1996870
Да в общем-то и сам уже понимаю. Довольно странно, что такой механизм не предусмотрен, выглядит довольно удобно.
645 1996891
Анонсы, можете подсказать какие у вас бест приктикс по организации кода? Допустим вот пишу блокнот на свинге, да? Просто отдельно класс вида, отдельно класс с листенерами? А если я например простенький круд пишу?
646 1996895
>>1996883
Сложно было бы читать код, где кроме вызова методов и возврата из них ещё и постоянные прыжки туда-сюда по стеку вызовов. Некоторые даже на эксепшены из-за этого жалуются.
Screenshot2021-04-1514-40-05.png231 Кб, 1920x1080
647 1996948
Двощ, помоги, второй день голову ломаю, ошибка на пике
Гуглил - либо полная хуйня, либо ничего не понятно
ссылка на гитхаб репо: https://github.com/EugeniySichev/OnlineStoreEngine
image.png49 Кб, 718x280
648 1996970
Почему не компилится выделенная строчка??
У нас есть нестатический nested класс и в нём разрешены константы (static final), так почему это работает для примититвных типов и String, но не работает для Object и классов обёрток?
649 1996972
>>1996948

>ссылка на гитхаб репо


Ты забыл туда залить актуальный код.
650 1996982
>>1996972
нодо именно с ветки master сделать коммит и запушить? Я просто с ветки dev это делал
651 1996985
>>1996972
попробуй на ветку dev переключиться, если есть такая возможность не у создателя репозитория
652 1997035
>>1996895
Ну, это были бы не прыжки, а как бы второй служебный слой исполнения поверх основного, который бы никак не влиял на основной. Прыжки у эксепшена как раз из-за того, что в любом месте откуда эксепшен прелетел, программа как бы разворачивается и больше не продолжится (кроме разве что блока финнали) вплоть до точки обработки. Опять же, в отличие от механизма исключений, перехват такого сообщения мог бы не быть обязательным - хочешь лови, хочешь игнорь.
В итоге придется сделать дополнительный аргумент в сигнатуре, int-код ошибки, либо строку, куда буду пихать лог. Опять же, дефолтный джава-String не подходит из-за иммутабельности, придется или делать оболочку, или юзать стрингбилдер. Почему нельзя было как в шарпе сделать дополнительный канал аутпута через модификатор вроде out. Джава местами каличная, короче.
653 1997042
>>1996948
Я не особо вникал, но у меня твой dev запустился, правда пришлось немного с конфигурацией поковыряться

во-первых твоя конфигурация для flyway просто не читалась, потому что для неё нужен префикс spring (на имя базы и пароль не обращай внимания, я свой поставил, что б запустить)

во-вторых, в pom.xml рекомендую в зависимостях использовать стартер для jpa , а не писать с версией, как у тебя было, потому что ты используешь spring boot и его менеджмент зависимостей (но это так, придирка больше)

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

Хэй, я сделал многое для коммьюнити, теперь ответьте на мой вопрос!!>>1996970
654 1997052
>>1997042
Низкий поклон тебе, твою проблему решить не могу, так как еще совсем зеленый
655 1997077
>>1997052
Получилось решить проблему?
Если да, то я рад.

> твою проблему решить не могу, так как еще совсем зеленый


Да не, к тебе претензий нет. Это больше для сидящих тут дофига синьёров помидоров. Часто вижу, что люди являются гуру фреймворков, но когда что-то их спросишь по фреймворку, то сразу нуу ээ сереньк и всё
656 1997087
>>1997077
Да, получилось, спасибо огромное
657 1997115
>>1997042

>теперь ответьте на мой вопрос


А что тут особо необычного?
Инстанс нестед-класса в принципе нужен для того, чтоб быть привязанным только к инстансу аутер-класса, и для него обычная семантика статика в принципе неприменима (разве что в каком-то особом случае, когда общей могла бы быть переменная для всех инстансов, принадлежащих одному внешнему инстансу). А то что модификатор static допустим для примитивов никак не нарушает "межобъектовой изолированности" по данным, потому что примитив все равно финальный, и изменить его нельзя. А вот внутреннее состояние любого объекта, кроме стринга, который тоже магически финальный в Java, можно менять, не меняя саму ссылку.
Короче, примитив хоть и static, он как бы избыточно статик, все равно у каждого он как бы свой собственный исходя из того что менять его нельзя. Разница только в том, что даже если такой примитив объявлен публичным, его все равно нет в доступе у инстанса. Может быть это позволяет экономить немного памяти, храня всего одну константу, хотя абсолютно никакого отличия от ситуации когда у каждого инстанса она своя - нет.
659 1997158
>>1997157
Забыл вставить цитату

> Inner classes may not declare static members, unless they are compile-time constant fields (§15.28).

660 1997210
>>1996850
Заворачивай ответ во врапер да и все. При вызове метода гуем проверяй врапер, есть ли там ошибки, если нет - то показывай результат выполнения. Все как в вебе. А работа на исключениях - плохой выбор.
А если тебе нужно выводить ошибки в процессе без прерывания - наверни асинхронности. Просто в другой поток засылай сообщения об ошибке и выводи их по мере появления.
661 1997295
по исключениям на гуе
1) На клиенте тоже можно делать лог и тоже можно в него писать. В свинге наверняка что-то стандартное есть. В javaFx точно есть.
2) На клиенте все вызовы бека оборачиваешь в обработчик, обработчик смотрит ответ, в случае ошибки показывает алерт с аккордеоном. В аккордеоне подробности или стектрейс. Не будешь же ты тётушек из бухгалтерии заставлять искать файл лога? А так нажали на подробности и отправили тебе скриншот
662 1997311
>>1997158
Потому что это и не надо. Ведь очевидно, что своего рода статиком для любого иннер класса являются нестатические поля объекта-владельца. и так до любой глубины вложенности. Так что явная статик-семантика тут нахуй не нужна.
663 1997315
>>1997210
Да ето все очевидно, просто это требует слегка более нетривиальной доработки как принимающей так и отсылающей стороны. С эксепшенами что легко, так это то что тебе сама среда подскажет как их прокинуть по цепочке вызовов до самого гуя. Ну а что они плохой вариант для организации стандартной работы это да.
664 1997321
>>1996811
Сеньоры, вы где...
666 1997336
>>1997321
def result = "5 + 5"
assert Eval.me(result) == 10
667 1997337
>>1997321
вроде как тут джава, не?
Вообще нихуя не знаю про груви, да и вообще я не программист, но то что ты просишь это вообще какой-то малосовместимый с жизнью пиздец.
Ты хочешь чтобы язык считал фрагменты кода объектами первого класса, то есть мог манипулировать ими как данными. Даже поддержка функций как объектов первого класса в потомках Си реализована через костыли - функциональные интерфейсы, делегаты, и подобное. Сам подумай, любой код-фрагмент должен быть откомпилен, а у тебя он появится уже в рантайме, когда пить боржоми поздновато. И каким хуем он, справшивается, должен пройти компиляцию?
Вообще что-то такое есть, вроде на лиспах и прочих подобных, там код порождает код, порождающий код и так далее, но на то он и интерпретируемый.
Короче, вангую что это невозможно с вероятностью 99,5%
668 1997343
>>1997337
Груви - скриптоввй язык, в них невозможное распространено повсеместно.
Да и сделать такое вполне аозможно хоть на си, сами компиляторы же как-то компилируют "в рантайме". Достаточно притянуть компилятор в качестве библиотеки.
669 1997345
>>1997337
>>1997336
Вот решение бтв
670 1997354
>>1997343
>>1997345
Это хуёвое, внеязыковое, решение. В языке нет средств таким способом оперировать такими сущностями. Подключение всякой внешней хуйни - это не часть языка. Пусть даже в его стандартной поставке есть готовая библиотека для таких развлечений. Я надеюсь ты различаешь средства языка и решения которые можно на нем реализовать вообще?
671 1997357
>>1997354
Че ты блядь несешь долбоеб
672 1997358
>>1997336
Очевидно мне не 5+5 надо будет в итоге складывать, а обрабатывать как минимум что-то типа 5+(102-2)5...
>>1997337
В целом вроде та же джава, но я тебя понял, боялся что так и есть. По сути рили сперва надо будет типа скомпилировать код, потом его декомпилировать и скомпилировать заново, звучит как бред.
Накрыло меня чет, придется логику все таки прописывать, массивы, if else и т.д.
673 1997362
>>1997354
И что, что оно внеязыковое? Косинус тоже нельзя вычислять, потому что это часть стдлибы, а не встроенный оператор? У тебя есть задача и есть инструмент, который эту задачу решает. И больше ничего не важно, часть это синтаксиса или не часть.
674 1997365
>>1997358
Чел, ты реально дегенерат?

>Очевидно мне не 5+5 надо будет в итоге складывать, а >обрабатывать как минимум что-то типа 5+(102-2)5...


def result = "5+(102-2)5..."
assert Eval.me(result) == ТВОЙ ОТВЕТ ДЕГЕНЕРАТИВНОЕ ХУЙЛО
675 1997377
>>1997332
>>1997365
Да мне этот ответ получить надо, зачем мне его самому считать?
Я считываю вводимые пользователем данные ОДНОЙ СТРОКОЙ и решаю их.
Пользовател ввел (24+5)*3, должен получить ответ. Причем тут assert?
676 1997378
>>1997357
>>1997362
ну ты и дебил блять ёбаный. Что, правда не видно разницы тебе между простым вызовом библиотеки, и запуском абсолютно левого рантайма, который никак не связан с запускающим?
677 1997380
>>1997377
Ассерт - это просто пример использования. В твоём случае будет передача пользовательских данных в Eval.me(), а его результат будет ответом.
678 1997382
>>1997380
А как передать то и вывод получить?
679 1997383
>>1997378

> запуском абсолютно левого рантайма, который никак не связан с запускающим?


И что, в чём проблема? Числа и арифметика везде одинаковое. ОПу не нужно работать с данными запускающего рантайма, а если бы и нужно было, он бы их передал туда.
680 1997385
>>1997382
def input = "10+10"
println Eval.me(input)

Вместо "10+10" читаешь с клавиатуры, хз, как это в груви делается.
681 1997386
>>1997385
Понял, работает, чудеса.
Спасибо.
682 1997387
>>1997315
ошибки валидации тоже можно делать эксепшенами
683 1997388
>>1997383
идиот-кукаретик, ты хэлоу-ворлдов переписал что ли? Пиздец у тебя все просто. Ну напиши тогда прямо сейчас здесь программу, которая принимает листинг программы, вычисляющей пусть решения квадратного уравнения, компилит и запускает его в этой вашей ёбаной груви-песочнице, потом закинь туда объект уравнение и получи оттуда аутпут. Минут 10 хватит тебе написать? А потом спиздани еще мне что это охуеть какие штатные средства, все равно что вызвать Math.pow в джаве. Приступай, сучёнок
684 1997391
>>1997388
Шиз, я вообще этот твой груви впервые увидел, чты ты доебался-то бля?
685 1997399
>>1997158
Кстати то ли 15, то ли в 16 это ограничение уберут.
это чисто ограничение компилятора, технически эти классы идентичны
686 1997408
>>1996805

>Я не увижу там сообщений из исходящего потока


Почему не увидишь? Обоснуй.
687 1997412
>>1997408
Увидит, но как юзер он хочет не копаться в мутных логах, а чтобы было в гуе и удобно.
688 1997413
>>1997408
ну потому что нет консоли, которая бы это вывела. ты там можешь сколько угодни писать system.out.println и ниче не увидишь
689 1997415
>>1997412
где увидит то блять?
690 1997421
>>1997415
Точно, не увидит, там ведь не java.exe, а javaw.exe. Но это решается батником-запускатором.
691 1997423
>>1997413
А, теперь понятно про что ты. Ну может принтстрим как-то организовать туда, куда тебе надо.
692 1997463
>>1995938
СТМ?
693 1997650
>>1997399
Какие классы идентичны? И в чем тут ограничение? Зачем вложенному классу иметь статик-поля?
694 1997660
>>1997423
>>1997408
Да в итоге убрал нахуй оттуда все эксепшены, просто классу добавил публичное поле List<String> warningLog (у меня он не статический, каждый запуск бизнес-логики создает инстанс инструмента), и все месседжи ошибок туда записываю. Это никаких обязательств со стороны ГУЯ не создает (как было бы, если бы поменялась сигнатура метода с добавлением оболочки под лог). В итоге, после прогона метода тупо вывожу лог, записанный в объекте, через showDialog и порядочек, предварительно проверив obj.warLog.size() > 0
695 1997664
>>1996822
Спасибо. Что-то я начинаю подозревать, что именно такой вариант как у меня и есть дефолтный. Я просто на довольно долгое время переезжал в VisualStudio, и похоже у меня какие-то рефлексы сбились. По крайней мере, в новоустановленной идее на другой машине поведение точно такое же. Хотя мне почему-то кажется что иногда раньше я вручную удалял влево по одному табу бэкспейсом
696 1997676
Как понять "your logic should be called from com.company.task.helloworld.hello()" ?
Это что-то с мавеном связанное?
697 1997695
>>1997660

>>Это никаких обязательств со стороны ГУЯ не создает


Что за обязательство то? Ты по переведенным книгам чтоль учился?
698 1997697
>>1997676
это значит метод hello() класса com.company.task.helloworld должен вызывать методы твоей логики.
699 1997851
>>1997695
Наверное свитчер-юрист...

Вообще, посидев в этом треде, понимаешь что далеко не каждого погромиста-анальника можно понять, о чём он вообще говорит, у каждого свой понятийный аппарат, поэтому блджад описывайте подробнее вашу задачу. Вроде один язык, но каждый о своей хуйне думает.
700 1997854
Этот Maven меня до могилы доведет.

Есть
1) Groovy
2) Структура:
src
main
groovy
Hello.groovy
3) Сам код:
class Hello {
static void main(String[] args) {
println "Hi"
}
}
4) Maven, у которого в pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>Hello</mainClass>
</manifest>

</archive>
</configuration>
</plugin>
5) Я жму в Maven кнопку package, создается jar
6) Но при запуске jar ебанная ошибка:
Error: Could not find or load main class Hello
Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject

Почему он найти не может этот Hello класс? Я так понимаю, что он по умолчанию ищет в src/main/java, как ему прописать путь то до main/groovy?
700 1997854
Этот Maven меня до могилы доведет.

Есть
1) Groovy
2) Структура:
src
main
groovy
Hello.groovy
3) Сам код:
class Hello {
static void main(String[] args) {
println "Hi"
}
}
4) Maven, у которого в pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>Hello</mainClass>
</manifest>

</archive>
</configuration>
</plugin>
5) Я жму в Maven кнопку package, создается jar
6) Но при запуске jar ебанная ошибка:
Error: Could not find or load main class Hello
Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject

Почему он найти не может этот Hello класс? Я так понимаю, что он по умолчанию ищет в src/main/java, как ему прописать путь то до main/groovy?
701 1997861
>>1997854
Не шарю за груви, но наверняка jvm класс Hello нашла, но не видит классы самого груви. Нужно сделать так называемый fat jar, в котором все либы будут упакованы.
702 1997876
>>1997854
Ебанушка, ты хоть документацию груви почитай по настройке мавена и градла.
703 1997907
>>1997876
Угомонись, обчитался я их гайда, заюзал GmavenPlus. Компилит он нормально.
Но вот jar не хочет.
>>1997861
Как ч могу это проверить? Как-то включить более расширенные логи?
704 1997962
>>1997650

>Какие классы идентичны?


Статический и не статический классы.

>И в чем тут ограничение?


Ограничение в том, что не статический внутренний класс не может иметь статических мемберов кроме psf полей.
статический класс может

>Зачем вложенному классу иметь статик-поля?


Например фэктори метод для создания объекта.
705 1997970
>>1997664
Еще раз перечитал твой вопрос >>1996551 - да, это дефолтное поведение идеи и причем давно https://blog.jetbrains.com/idea/2014/07/the-backspace-key-gets-smarter-in-intellij-idea-14-eap/
Но можно отключить, поищи в настройках в backspace.
706 1998224
если объекты передаются по ссылке, почему имя не меняется??
public final class Main {

public static void main(String[] args) {
String name = "Nikolay";
change(name);
System.out.println(name);

}

private static void change(String name) {
name = "Artem";
}
}

> Nikolay

707 1998230
>>1998224
Потому что ты меняешь саму ссылку, а не объект, на который она указывает. Правда, строку поменять не выйдет, она иммутабельна.
708 1998292
>>1998230
спасибо
709 1998295
Почему результат не 1, а -6???
public static void main(String[] args) {
int[] arr = {1,5,2,3,4,8,6};
int result = Arrays.binarySearch(arr,5);
System.out.println(result);
}
710 1998309
711 1998311
>>1998309

> >If it is not sorted, the results are undefined.


Посоны, в джаве есть UB!!111
712 1998313
>>1998311
Не в джаве а в стандартной библиотеке. В самом языке - нет.
713 1998334
>>1998313
Это даже не UB. Могли бы добавить ассершн в начале метода, но тут видимо производительность важнее.
714 1998345
>>1998334

>Это даже не UB. Могли бы добавить ассершн в начале метода, но тут видимо производительность важнее.


Ахуенный план! И вместо O(log(n)) получить
O(n)!

Да тут никакой бинарный поиск не нужен, простой перебор уже получается.
715 1998350
>>1998345
А ну да)
716 1998366
Лайфхак: для перемешивания массива нужно его отсортировать с компаратором, возвраюащим рандомное значение.

Random r = new Random();
Arrays.sort(array, Comparator.comparingInt(a -> r.nextInt(3) - 1));
717 1998384
>>1998366
Чел, ты... ArrayUtils.shuffle(array).
image.png215 Кб, 500x184
718 1998406
719 1998410
>>1998384
Какие бы сниппеты в этом треде ни постили - всё это уже есть в апацхе коммонс.
720 1998424
>>1998224
В метод передается копия ссылки. Но ты можешь передать ссылку на объект с полем и поменять это поле. Так будет работать

public class Main{
public static void main(String[] args) {
Name nameObject = new Name("Nikolay");
nameObject.change();
System.out.println(nameObject.nameField);
}
static class Name {
String nameField;
public Name(String name) {
this.nameField = name;
}
public void change() {
nameField = "Artem";
}
}
}

>>Artem

721 1998429
>>1998424
ну если копия ссылки, указывает то она один и тот же объект? может дело в том, что String не изменяемый?
722 1998434
>>1998230
Хорошо, вот здесь меняю объект. Все равно не изменяется та, первая ссылка.
public final class Main {

public static void main(String[] args) {
Car car = new Car("Toyota");
change(car);
System.out.println(car.brand);
}

private static void change(Car car) {
car = new Car("Mercedes");
}

static class Car {
String brand;
public Car(String brand) {
this.brand = brand;
}
}
}
mqdefault[1].jpg7 Кб, 320x180
723 1998435
>>1997695
хули тут непонятного-то? Если у гуя где-то есть вызов что-то вроде
doSmth(someObj)
а ты поменяешь сигнатуру на
doSmth(Obj obj, StringBuffer errLog)
то у тебя незамедлительно все развалится, потому что вызов больше не является допустимым.
А если ты просто добавишь в класс Class, где объявлен doSmth какой-нибудь public errLog, то не теряя способности ГУЯ работать здесь и сейчас, ты хоть через 5 лет в нем можешь написать в конце showMessage(clazz.errLog)

>свитчер-юрист...


чего блять?
724 1998436
725 1998439
spring-cloud-stream и spring-cloud-function писали больные люди
726 1998444
>>1998429

>> может дело в том, что String не изменяемый?


>name = "Artem";


тоже самое что и

>name = new String("Artem");


поэтому стринг или любой другой класс не имеет значения - все равно ничего не выйдет.
727 1998448
>>1998224
Потому что стек.
728 1998453
>>1998434
Ты передал методу копию ссылки на объект, после чего привязал эту копию к новому объекту. А тебе надо воспользовавшись этой ссылкой манипулировать самим объектом.
car = new Car("Mercedes");
car.brand = "Mercedes";
729 1998463
>>1998435
Для этого враперы и делают. doSmth(Dto)
А что там внутри этого дто хоть каждый день меняй. Сегодня внутри есть лог, завтра нет. Сигнатура не изменится.
И это называется Слабое зацепление (Low Coupling)
730 1998464
>>1997962

>не статический внутренний класс не может иметь статических мемберов


Нет. Иметь он их может, просто неявно. Любое поле Класса-владельца по своей семантике - то же статик поле. Оно общее для любого объекта не статик иннер-класса, принадлежащего данному объекту. У класса верхнего лвла просто нет явного "владельца", потому ему нужно специальное объявление статика (которое помещает это поле в неявного владельца - объект класса Class, доступный через рефлекшн). Так еще раз - в чем ограничение?

>> фэктори метод для создания объекта


Хуектори. В чем проблема? Ну пусть тебе надо хуячить карточки разных банков под одного овнера:
Owner outer{
Name name;
BankCard getCard(name, Bank){
return this.new BankCard(name, Bank);
}
BankCard inner{
//constructor
}
}

>>1998224
Потому что в джаве НИЧЕГО не передается по ссылке. Только по значению. Ты просто записал в name новую ссылку на "Артём", с внешним объектом ничего не стало. Надо либо возвращать из метода новое значение через return, либо юзать мутабельную строку вроде стрингБаффера (только само собой без =new внутри метода. для дуракоупорности передавай его как финальный, тогда он тебе тупо не даст сменить ссылку, а литералом ее инициализировать и так нельзя)
731 1998467
>>1998439

> Spring писали больные люди


пофиксил
732 1998469
>>1998467
чел ты
733 1998479
>>1998463
Деланье враппера это тоже определенный геморой. К тому же его делают если изначально несогласованы интерфейсы. А если исходить из того что что-то уже написано и работает без врапера?
734 1998491
>>1998439
В самых передовых традициях серверлесс фаас.
735 1998497
>>1998491
Со вторым все и по названию понятно. А вот насчет первого я сначала не понял, что он про то же самое, затащил и теперь бугурчу. А ведь мне всего лишь хотелось писать список кафка топиков в application.properties, чтобы спринг сам их создавал...
736 1998500
>>1998434
Так что то я не пойму, все таки по ссылке или по значению передаются параметры в метод? Выходит что копируются по значению. Только в случае с объектным типом копируется ссылка на объект.
737 1998502
>>1998500

>Только в случае с объектным типом копируется ссылка на объект.


Копируется значение ссылки. То есть в джаве все передается по значению.
738 1998505
>>1998500
ну наконец-то ты допер до самых прописных основ, которые уже выше сказали тебе
739 1998509
>>1998502

> в джаве все передается по значению



Даже небо, даже Аллах?
740 1998510
>>1998509
Даже твоя мать шлюха.
741 1998514
>>1998500
Копируется значение ссылки на объект и передается это значение.
742 1998527
>>1998514
Но значение ссылки и есть ссылка на объект в heap. Рекурсия какая-то.
743 1998531
>>1998527
Ну объект то объект, а на него еще и ссылка есть. Поэтому рекурсии не обнаружено.
744 1998532
>>1998527
Нет, это адрес, но жвм его тебе не скажет если не скажешь волшебное слово
745 1998541
Я видел некоторые указывает параметры метода с модификатором final. Нахуя?
пример:
public void myMethod(final String var1, final int var2){...}
746 1998547
>>1998541
Есть такой кодстайл - делать всё final, даже небо, даже Аллаха, и только в тех случаях, когда значение меняется, final убирать. Теоретически должно защищать от некоторых ошибок.
747 1998551
Все похую, начинаю учить джаву, хочу сделать приложуху себе на мобилу, куда копать?
748 1998556
>>1998551
Изучи Java Core и дальше тыкай Android API. Вот тебе пара мурзилок по ним:
- https://startandroid.ru/ru/
- http://developer.alexanderklimov.ru/android/
749 1998561
>>1998464

>Нет. Иметь он их может, просто неявно. Любое поле Класса-владельца по своей семантике - то же статик поле. Оно общее для любого объекта не статик иннер-класса, принадлежащего данному объекту. У класса верхнего лвла просто нет явного "владельца", потому ему нужно специальное объявление статика (которое помещает это поле в неявного владельца - объект класса Class, доступный через рефлекшн). Так еще раз - в чем ограничение?


Нахуя ты пиздишь про вещи в которых не разбираешься, а? Ну завали хлебало, за умного сойдешь!
Открываешь Java Virtual Machine Specification: Chapter 4. The class File Format и обнаруживаем, что по спеке нет никаких статических и не статических классов, все разлииче в одном атрибуте класса, но он ни на что не влияет.
Что же касается твоего высера

>общее для любого объекта не статик иннер-класса


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

>У класса верхнего лвла просто нет явного "владельца"

750 1998564
>>1998547
но тут то и так копии идут в параметр. Это получается только для читателя кода (человека) пометка?
751 1998567
>>1998551
копай в kotlin
752 1998569
>>1998564
Если параметр помечен как final, то он не переопределен в теле метода
753 1998651
У джакарта стека есть хоть какие-то перспективы?
754 1998663
>>1998651
Если говорить не про легаси, джакарта, конечно же, полностью не умрёт, чтобы вот прям как апплеты. Хоть кто-то да будет её юзать. Это скорее будет как со всякими микронаутами и кваркусами, они же всерьёз нахуй никому не всрались, когда есть спринг, хотя отдельные хипсторки юзают, вот примерно так и будет с джакартой.
755 1998777
>>1998663
Чел... Микронаут и Кваркус это будущее Джейвы. Кому нужен тормозной спринг, который падает в рантайме, когда есть проверенные временем фреймворки, которые используют грааль. Твой спринг на старте отжирает по 600 мб, когда кваркус ест 20 мб. Фреймворки с компайл тайм DI и граалем - будущее клауд нейтив джейвы.
756 1998778
>>1998561
Иди свою блядюгу-мать поучи, сын дрисни. Тебе никто не утверждал что статики там есть на уровне JVM или вообще как-то утвержденные каким-то атрибутом. Я тебе сказал, тупой ты высерок, что есть очевидный способ реализовать их по смыслу просто отдав внешнему классу. И это, мудак ты безмозглый, идеально реализует семантику статика, как поля общего для всех инстансов.

>У класса верхнего лвла нет явного владельца


Так опровергни это, мразь. Во что вложен любой созданный тобой класс?? Надеюсь ты не настолько безмозглое хуйло, чтоб не отличать наследование и владение, и не начнешь тут сейчас пиздеть про Object своим молокососным ртом.
757 1998785
>>1997861
Понял, заюзал maven-assembly-plugin, заработало.

>>1997876
Она не причем оказалась.

Всем спасибо.
758 1998787
>>1998777
Поддвачну за граалВМ
Но не в тренде вообще, рыночек иначе порешал
759 1998790
Ну и манеры здесь... Не знал что программисты такое быдло
760 1998798
>>1998790
Культура дискуссий в Восточной Европе, хуле.
761 1998906
>>1998497

>А ведь мне всего лишь хотелось писать список кафка топиков в application.properties, чтобы спринг сам их создавал...


Это, кстати, был тонкий реквест.
762 1998989
>>1998778
1. Надо признать что ты пиздоглазое мудило, которое нихера не знает но лезет со своим никчемным мнение.
2. На уровне байткода внутренний класс отличаеься только InnerClasses attribute. Все остальное в том числе доступ к приватным полям магия компилятора.
3. Вложе и владелей это разные вещи, в спецификации вообще нет понятия владельца, это твоя больная фантазия выдумала.

https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.7
763 1999027
>>1998989
нет... ты просто тупой пидор-кукаретик. не думаю что стоит с тобой разговаривать. Я ему про практическое применение того смысла, который закладывается в статик, он мне про спеки и байт-код. Густо и вонюче насрал тебе в рот напоследок, а теперь иди нахуй. предпочту чтоб ты больше мне не отвечал, сын больной шлюхи. хорошего тебе дня.
764 1999098
>>1999027

>пук-среньк


>не пиши мне больше, а то маме пожалуюсь

765 1999110
Да вы заебали.
766 1999128
>>1999110

>дя ви заибали

767 1999171
Хватит срать в треде. Здесь серьезные мсье собрались.
768 1999175
Почему для написания апектов надо знать какой-то всратый синтакс и заучивать возможные аргументы методов? Почему до сих пор нет какой-то библиотеки, которая предоставляет нормальные параметризированные интерфейсы для всего этого говна?
769 1999186
>>1999098
Фу, чмо ёбаное обосранное. Стриггерилось. Так и знал что слезешь сразу, только лазейку учуешь. На всякий случай досрал на тебя, обтекай, опущ.
770 1999203
>>1999171
>>1999110
Меня банили за куда меньшую хуйню, а этих долбоёбов даже не потрут.
771 1999212
>>1999203
>>1999171
Да это наверное одно из первых обсуждений непосредственно самого языка в треде, а не какой-нибудь крудошлепской хуйни типа "как мне влить говна в жопу в спринге, я уже и так и так а оно ну никак"
772 1999231
>>1999212
Обсуждения крудошлёпской хуйни более близки к реальности, язык в чистом виде никому не нужен. На работе скорее столкнёшься с несработавшими аннотациями из спринга, чем с проблемами из-за статика.
773 1999238
>>1999231
Название треда как бы намекает, что тут про язык, а не про РАБоту.
774 1999244
>>1999238
Язык интересен лишь постольку, поскольку на нём есть работа. Как только работы не станет, тредов не станет тоже.
775 1999247
>>1999244
не пизди. мне язык интересен как формальная система, а работу вашу, тем более такую петушиную как крудло, я в гробу видал.
776 1999251
>>1999244
Я создам, не ссы.
777 1999252
>>1999247
Ну ты и аутист ебаный, лол.
778 1999255
>>1999247
Ты ещё скажи, что тебе нравятся эндофункторы и монады.
>>1999251
Треды про пролог и смоллтолк раз в год тоже появляются и тонут после пары десятков постов.
779 1999260
>>1999252
По твоему лингвисты естественных языков, которые изучают саму суть механизмов языка, и математики например, занимающиеся тем же самым над абстрактными объектами любой природы - все аутисты? А всякое офисное говно которое делает магазины на диване - ебать сверхлюди?
780 1999261
781 1999268
>>1999260
Как бы то ни было, лингвисты и математики работают и получают зарплату, в отличие от борщехлёбов на двоще.
782 1999269
>>1999255

>нравятся эндофункторы и монады.


О да, тащусь от всего этого. От всякой ко/контравариантности производных типов, различных вариантов систем типов, лямбда-исчислении, мммм...
783 1999270
>>1999260
двачую адекватана

>>1999261

>Ну ты и аутист ебаный, лол.

784 1999271
>>1999175
Как это нет, есть - cglib. Отличное АПИ, любые аспекты, простой и понятный джава синтаксис.
Бери и ебись.
785 1999278
>>1999270
чел ты слит
786 1999283
>>1999278
Просто выйди нахуй из треда и не мешай дядям тут говорить.
Screenshot20210417-172458.png1,3 Мб, 1080x2160
787 1999285
788 1999287
>>1999283
дядя иди в туалете с собой поговори об абстрактных механизмах языка лол
789 1999288
>>1999261
Ну что тут сказать... я бы пожалуй порекомендовал тебе "вон из профессии". Ибо любой программист который хотя бы немного не математик - это скам и мусор, и его судьба быть на задворках движухи. Вроде как уборщица в больнице тоже "в медицине", а бич который подметает аэродром тоже "в авиации"
790 1999294
791 1999296
>>1999285
Две ошибки в синтаксисе - конструктор без знаков контейнера аргументов, и необязательный в нем же параметризующий тип, который можно заменить даймонд-оператором начиная вроде с 8 версии. Вывод - рисовал какой-то залетный бездарь.
792 1999298
>>1999287
На тебя тут минимум двое ссут уже, а то и трое. Возможно, тебе стоит задуматься над своей позицией
794 1999305
>>1999298
чем больше союзников придумаешь, тем ты убедительнее, да сем?
795 1999315
>>1999271
И как там создать аспект, который перехватывает вызовы всех методов с аннотацией transactional?
796 1999316
>>1999303
На всякий случай напомню важное правило:
1) Если ты троллишь в тематике, на всякий случай проверь, что ты не пытаешься прикрыть этим свою обосранную жопу
797 1999319
>>1999316
с картиночками спорить начал не я
798 1999331
>>1999303

>only signed variables


ебать проблемы
799 1999336
>>1999303

>3 пик снизу


> CPU 0%


> Memory 146%


Ну конечно джава виновата в том что у долбоеба наверное цикл в цикле в цикле по хуиллиарду элементов
800 1999340
>>1999260
Борщехлебы совсем обезумели, уже с учеными себя сравнивают
801 1999341
ебать он реально начал картиночки опровергать
802 1999346
>>1999331
>>1999341
Схожесть манеры этих двух постов позволяет предположить что ты безумный семён-шизофреник
image.png44 Кб, 806x563
803 1999349
>>1999346

>Схожесть манеры


вот это ты насерил под себя, даун
hghj.jpg116 Кб, 1009x723
804 1999352
>>1999349
ну и оподливился же ты, даун
806 1999355
>>1999353

>NOVEMBER 2005


Ясно...
807 1999356
>>1999353
Всех методов всех классов в пакете x.y.z?
808 1999428
>>1999296

>я вроде с 8 версии


7
809 1999431
У вас весеннее обострение чтоли? А ну все заткнулись!
810 1999443
>>1999431
Ну мам!
811 1999554
>>1999355
На тебе свежий баелдунг https://www.baeldung.com/cglib

>>1999356
Обходишь все классы и методы, делов то. Я же сказал
>>1999271

>Бери и ебись.


Раз уж синтаксис AspectJ тебе сложно.
812 1999569
>>1999554
Я не говорил, что сложно. Я не понимаю, нахуй он нужен, когда все это можно выразить в виде джава интерфейсов, чтобы все возможности были зафиксированы и задокументированы.
813 1999579
Как же меня бесят ЕБЛАНЫ которые создают пустой конструктор, там где он и так неявно есть.
814 1999581
>>1999579
А затем кто-нибудь добавит параметризованный конструктор, забудет добавить пустой, и рефлексия пойдёт нахуй.
815 1999582
>>1999581
А нехуй добавлять бездумно.
816 1999585
>>1999582
Скажи это каждому ждуну.
817 1999589
>>1999585
Каждый ждун отправляет код на кодревью.
818 1999640
>>1999581
А какая тут связь с рефлексией?
819 1999647
>>1999640
Многие популярные либы/фреймворки создают объекты через пустой конструктор, который находят с помощью рефлексии в рантайме. Если такого конструктора нет, они кидают эксепшены.
820 1999653
>>1999647
Ясно. Что-то не подумал Почти не работаю с фреймворками. Спасибо.
821 1999691
>>1999569
AspectJ может обрабатывать любые классы, в том числе и те куда у тебя нет доступа.
Например у тебя есть йоба REST библиотека и ты хочешь на каждый вызов добавлять в thread local - trace id, можешь спокойно обернуть ее в аспект.
image.png285 Кб, 544x374
822 2000253
Я не понял, в жабе форича нет?
823 2000254
>>2000253
for (int itVar : array)
{
System.out.println(itVar);
}
Гуглится за 2 секунды
824 2000266
Спасибо, анон!
825 2000268
>>2000253
Вот они, вкатывальщики по мурзилкам. Это же блять в первой главе любой книги по кору рассказывают.
826 2000271
А почему неймспейсов нет?
827 2000275
>>2000271
Неймспейсы для слабаков
image.png767 Кб, 555x731
828 2000278
>>2000268
В этой нет.
829 2000297
>>2000253
>>2000278

>>Сеттер Р.В,


поищи Геттера, может там есть
830 2000298
>>2000271
Вместо них пакеты. Если у тебя в двух разных пакетах определяется один и тот же класс, для разрешения неоднозначности имя класса везде в коде пишешь с указанием пакета: new java.lang.String();
image.png608 Кб, 600x400
831 2000303
>>2000297
Хорошо
832 2000305
>>2000298
Понял, принял. Премного благодарен
833 2000309
>>2000278
Какая-то упоротая книга, переменные spisok и mnozestvo, страниц всего 236.
1618749911608.jpg40 Кб, 562x367
834 2000329
835 2000332
836 2000397
Чем шарпик хуже жабки?
image.jpg141 Кб, 750x548
837 2000400
>>2000397
Иди в тред шарпистов, они охотно тебе расскажут.
838 2000406
>>2000400
А вот хер. Мне там с аргументами доказали, что шарп хуевей.
839 2000445
>>2000397
В основном, всем лучше, кроме того что джава простая как медный таз, а в шарпе хуиллиард всяких мелких фич. Разве что VS без решарпера сосёт у Intellij. Но давно уже есть Rider, так что это не плюс. Только у райдера нет комьюнити эдишена, но кого в этой стране когда это ебло?
Мимо и то и то
840 2000446
>>2000297
Это не тот фор-ич, ёбана
841 2000454
>>2000445
Но работы-то на шарпе объективно меньше
842 2000456
>>2000253
Тебе оно очень надо?
Из практики: примерно половину форичей в итоге переделываю на классический for(;;), потому что заранее не всегда удается понять что тебе нужен будет индекс, а заводить внешний индекс и вручную его дергать туда-сюда - впадлу и чревато ошибками по причине затупи.
843 2000459
>>2000456
Да мне вообще ничего не надо, я просто развлекаюсь.
844 2000475
>>2000454
Может быть, он ко мне прилетал чисто под решение некоторых задач (работа с SDK кое-каких гигантских шиндошс-приложений), да еще я немного кодил инди-игрули на Unity.
Если ты джавоблядь, то тебе практически никакого труда не будет туда свичнуться на простые вещи. Я сказал что он лучше, потому что практически все, что можно написать в джава, без изменений синтаксического "порядка" (с точностью до мест операндов, разделителей, етц) можно написать в шарпе, но не наоборот. Например в шарпе ты можешь объявить и реализовать метод прям внутри другого метода, в джава же ты будешь городить гроздья приватной нахуй ненужной прямо в теле класса служебной хуйни, которую дергают только паблик-члены. И даже если тебе в шарпе захочется сделать именно так, ты там можешь объявить #region и скрыть в нем вс. эту поебень. Для реализации функциональщины там есть не только лямбды, но еще и делегаты, для быстрой встроенной тасовки коллекций не только возможность подтянуть аналог Stream API (я хз как оно там зовется, не юзал), но и встроенный прям в язык псевдо-SQL (LINQ). Короче, там пездец всего, но можно и не знать и не юзать это, а писать как на джава.
845 2000482
А чому в вики написано, что в жабе нет перегрузки?
846 2000487
>>2000482
Может имелось в виду перезагрузки?
847 2000488
>>2000446
Чем тебе стрим не угодил? Функционально и упруго.
848 2000490
>>2000482
перегрузки операторов как плюсах нет, перегрузка методов есть
849 2000492
>>2000490
Понял, принял.
850 2000494
>>2000488
Мне всем нравится, просто тот хэлоуволдщик-вкатыш 146% имел ввиду классический циклообразный форич. Ну и Stream это прямая как пиздец последовательность операций, на нем нельзя ничего такого сделать, что предполагало бы использование индексов, доступ к более раннему и более позднему члену потока "прямо сейчас"(get(i+1), get(i-1)). Короче, более узкоспециальная вещь
851 2000495
>>2000475

>объявить и реализовать метод прям внутри другого метода


Э, функциональный интерфейс+любмда, не?
852 2000503
>>2000475
В джаватредах хвалят щярп, в шарпотредах - джаву. Чудны дела твои, Господи...
853 2000504
>>2000494

>хэлоуволдщик-вкатыш


Какой забавный снобик
854 2000516
>>2000494

>>имел ввиду классический циклообразный форич.


Просил форич - получил форич, который перебирает элементы, как и положено форичу.
Циклы, индексы - это уже к вайлу, ну или его сладкому аналогу.
855 2000651
>>2000504
А кто он, если даже поверхностный синтаксис не знает?
856 2000673
>>2000495
Ну и эти интерфейсы будут у тебя там висеть как член на лбу.
857 2000704
Жабаны, нестед классы - это вообще нормально?
858 2000712
>>2000704
это охуенно
859 2000715
>>2000704
Это хуево.
860 2000721
>>2000715
Двачую
861 2000747
>>2000712
Двачую.
862 2000956
>>2000673
ну так сделай лямбду, чтоб ничего не висело
863 2000962
>>2000956
При чем тут лямбда-то? Сам интерфейс при всем желании нельзя спрятать внутри метода, он будет либо вложен в классе, либо вообще отдельным файлом. Если только у тебя там не что-то настолько элементарное, что стандартные функциональные интерфейсы встроенные в джаву подойдут
864 2001034
>>2000962

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


Скорее всего так и будет. Если в метод функционального интерфейса надо передавать сотню аргументов, то ты с большой вероятностью что-то делаешь не так.
865 2001075
>>2001034
По-моему, ты читаешь проблему как-то не так. Я тебе сказал, что бывают ситуации, когда какой-то метод нужен ТОЛЬКО для того чтоб вызвать его другим методом того же класса, и в этой ситуации вполне логично чтоб он лежал внутри этого самого вызывающего метода. При этом внутренний метод может быть гораздо сложнее метода-оболочки.
Например, мне надо переработать какую-то коллекцию элементов, которая передается на обработку классу, пусть попарно. Тогда я сначала напишу приватный метод private process (El el1, El el2), А потом метод public process (List <El> elList){foreach.... process(el(i), el(i+1))}. И такая цепочка вызова может тянуться не на два метода даже, а на несколько. Писать специально функциональный интерфейс и лямбду просто для того чтоб это организовать как ты сказал - это какое-то вливание говна в жопу, а не решение.
866 2001125
>>2001075
Не знаю, о чем ты, я не тот анон, с которым ты начал диалог, но что касается функциональных интерфейсов, то для твоего private process (El el1, El el2) есть BiFunction или BiConsumer.
867 2001144
Ломбок кошерен?
14147481232198.png290 Кб, 642x1083
868 2001164
869 2001207
>>2001125
Хуямпшен. Так и знал что ты это скажешь сейчас. Там может быть еще хуиллиард аргументов-флагов и так далее.
>>2001144
Если не считать что это уже не джава, то норм
870 2001234
Что-то ни хуя не могу понять.

Подключение к базе данных через JPA:
private static final EntityManagerFactory entityManagerFactory;
...
entityManagerFactory = Persistence.createEntityManagerFactory("wsbackup");
...
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
...
// работа с @Entity объектами БД
...
entityManager.getTransaction().commit();

Файл persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="wsbackup" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/__ora8</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.logging.level" value="FINE"/>
<property name="eclipselink.logging.level.sql" value="FINE"/>
</properties>
</persistence-unit>
</persistence>

Зависимости в pom.xml:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.1.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.7.0</version>
</dependency>

Что за хуйня тут написана? Где JDBC параметры подключения к базе, где имя пользователя и пароль? Как мне узнать, под какой именно учеткой подключается к базе данных?

Что это значит <jta-data-source>jdbc/__ora8</jta-data-source> как мне, блядь, логин-то узнать?

Тимлид сказал "сиди и разбирайся", я вообще не вдупляю.
870 2001234
Что-то ни хуя не могу понять.

Подключение к базе данных через JPA:
private static final EntityManagerFactory entityManagerFactory;
...
entityManagerFactory = Persistence.createEntityManagerFactory("wsbackup");
...
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
...
// работа с @Entity объектами БД
...
entityManager.getTransaction().commit();

Файл persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="wsbackup" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/__ora8</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.logging.level" value="FINE"/>
<property name="eclipselink.logging.level.sql" value="FINE"/>
</properties>
</persistence-unit>
</persistence>

Зависимости в pom.xml:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.1.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.7.0</version>
</dependency>

Что за хуйня тут написана? Где JDBC параметры подключения к базе, где имя пользователя и пароль? Как мне узнать, под какой именно учеткой подключается к базе данных?

Что это значит <jta-data-source>jdbc/__ora8</jta-data-source> как мне, блядь, логин-то узнать?

Тимлид сказал "сиди и разбирайся", я вообще не вдупляю.
871 2001245
С отступами:
persistence.xml: https://pastebin.com/Ayj20a9x
pom.xml, зависимости для JPA: https://pastebin.com/M7xYN4qN

Обычно логин задается в hibernate.connection.username, а тут такого нету.
872 2001253
>>2001207

>Там может быть еще хуиллиард аргументов-флагов и так далее.


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

873 2001270
>>2001253
Пиздец ты дебил тупой. Это ты или кто-то еще высрали тут хуйню про функциональные интерфейсы свои. Просто иди нахуй, заебал.
874 2001284
>>2001234
Уволен нахуй
875 2001347
>>2001270
Чего рвешься-то? Я всего лишь процитировал свой пост чуть выше по цепочке, на который ты и отвечал хуйней с process (El el1, El el2)
876 2001348
>>2001234
Знаю, как тебе помочь, это решит твою проблему. Сиди и разбирайся.
877 2001355
Кто-нибудь писал приложение на WebSocket?
878 2001359
>>2001355
Нет, я не писал.
879 2001373
>>2001347
Потому что ты доебал уже. Либо вникни в то о какой вообще проблеме речь, либо не пизди всякую хуйню еще и с менторским видом "задумайся может ты что-то делаешь не так"
880 2001384
881 2001409
Почему программирование бека на джаве выглядит так, как будто бы это не программирование, а какое-то нагромождение огромного числа аннотаций?
882 2001438
>>2001409
Потому что аннотации снимают с программиста необходимость самостоятельно хуярить бойлерплейт. За счет этого повышается скорость разработки и снижается стоимость продукта. Заказчик рад, программист рад, все рады, кроме тех, кто не окунался в кровавый энтерпрайз.
883 2001441
>>2001438
Ещё не рады XML-программисты.
884 2001567
>>2001207

>>это уже не джава, то норм


А что это жс или питон?
885 2001573
>>2001567
Это ломбок.
886 2001625
>>2001567
Синтаксически это больше не джава, там внедряются новые ключевые слова и принципы. Если отключить этот лобок, то код даже не будет компилироваться.
887 2001658
>>2001625
Написан то он на джаве. Процессор аннотаций, который дописывает код и наебывает компилятор. Если отключить процессор аннотаций, будь то ломбок или любой другой - то код не будет дописываться и компиляр соответственно выдаст ошибку. Почему ты считаешь использование инструментов встроенных в джаву не джавой?
888 2001662
>>2001625

>там внедряются новые ключевые слова и принципы


Вот это откровения!
889 2001694
>>2001658
потому что это не встроено в джаву
>>2001662
ну конечно про принципиальную новизну пиздежь, но то что это не просто подключаемая библиотека а сорт оф препроцессора, и до препроцессинга этот код с тз джавы не валидный - факт.
890 2001698
>>2001694

>>потому что это не встроено в джаву


даже слф4ж и логбэк не встроен в джаву, а ломбок к тому же не самая стабильная библиотека.

>>сорт оф препроцессора


рефлексия - это кор джава.
891 2001707
А ещё в жабе нет из коробки мавена и jaxb. Тоже ненастоящая жаба и вообще препроцессор.
2021-04-19 18.12.42 ru.wikipedia.org 183988b21c2a.png243 Кб, 1337x986
892 2001734
>>2001694

>а сорт оф препроцессора


Это не сорт оф, это и есть препроцессор аннотаций.

>и до препроцессинга этот код с тз джавы не валидный - факт.


AspectJ может менять поведение кода, так что оно не будет соответствовать тому что в коде написано, ну и ничего всем норм.

И как тебе пикрилейтед йоба?
893 2001750
>>2001384
Может есть какой-нибудь пример толковый? А то чета пример с чатом нихуя не ясно
894 2001759
>>2001234
ебать, живое легаси говно в треде!
895 2001770
>>2001759
Вкатываться правильнее всего именно с легаси, чтобы потом не было разочарования "пидорасы, вы нахуя мне хмл суёте, я курсы по буту не для этого проходил!".
Интересно, много ли тут анонов, которые реально вкатились сразу на современный стек?
896 2001775
>>2001770

>Интересно, много ли тут анонов, которые реально вкатились сразу на современный стек?


Я пытался вкатываться через хмлы, но когда просил помощи здесь - меня посылали, в итоге психанул и пошел сразу в бут.
897 2001779
>>2001770
Ну я можно считать так вкатился. Сначала пришел в контору с легаси-говном в продукте 20 летней давности. Съебался в ужасе через месяц и через пару недель потом нашел нормальную работу.
898 2001782
>>2001770
>>2001779
На самом деле вообще не понимаю нахуя люди в этом говне ковыряются, если только совсем уж большие деньги им платят.
899 2001806
>>2001770

>Интересно, много ли тут анонов, которые реально вкатились сразу на современный стек?


Я. И в целом вообще не представляю себе, что меня сейчас бы заставило копаться в говне мамонта, хмл в глаза не видел.
901 2002151
Какие есть НИИ (или другая говноработа в ит) в москве, куда можно устроиться студенту на неполный рабочий день? В принципе похуй куда, лишь бы какой-нибудь опыт нарисовался в резюме.

Умею в java core, spring на базовом уровне, sql, немного C++
902 2002159
Вопрос чисто по языку - есть ли возможность при создании энама (enum) как-то "отложить" вызов его конструктора, а не делать это в первой строке как это обычно делается?
Например базовый способ создать enum такой:
enum someEnum{
FIRST("First"), SECOND("Second");
public String number
someEnum(String number){...}
}
Все заебись, но что если мне нужно в энам через конструктор передать что-то не настолько простое, как строку? Хотелось бы где-то ниже создать эти объекты для каждого энама, а в конструкторе передать их уже готовыми. Вроде того:

enum someEnum{
FIRST(list1), SECOND(list2); //хуй! в этот момент аргументов еще нет
public List<String> numberList
someEnum(List<String> numberList){...}
List list1 = new...
List list2 = new...
}

Нет конечно никакой проблемы созавать что-то прям внутри вызова конструктора, но выглядит это по-уёбищному если создание сложное
903 2002169
>>2002159
Вопрос, в целом, снимается. Придумал такой способ:

public enum Patterns {
//было так
PAT0(Arrays.asList(" 10", " 20", " 40")),
PAT1(Arrays.asList(" 10", " 20", " 40", " 50", " 51")),
PAT2(Arrays.asList(" 10", " 20", " 11", " 21")),
//а можно так
PAT3(Values.list);

List<String> markList;

Patterns(List<String> markList) {
this.markList = markList;
}

//статический вспомогательный класс-контейнер
static class Values{
static List<String> list = new ArrayList<>();
}
}

Но может кто что покрасивее знает
904 2002195
>>2002085
да, мне нужно как-то обновлять инфу об актуальных объектах и следить за добавлением новых в бд. Поэтому посоветовали либо лонг-полингом через тригеры в бд, либо через вебсокет.
905 2002401
Какая ваша любимая IDE или текстовый редактор для программирования на Java?
Я думаю что большинство скажет сейчас, что IDEA от жидбрэинс и я ей тоже пользуюсь. Но хотелось бы попробовать сменить IDE на текстовый редактор. А из текстовых редакторов все топовые на лагучем электроне, если не брать во внимание Sublime Text, который бесплатный 30 дней. Хотя IDE Eclipse вроде прикольный, но там чёт совсем нет такой же приятной чёрной темы, как у IDEA. Кстати, тоже самое и про текстовый редактор Notepad++ под винду можно сказать. Чёт как будто нет совсем альтернатив кроме продуктов от жидбрэинс. Только если вим или емакс, но я хз...
906 2002404
>>2000704
Типа статические классы, что не нравится?
907 2002436
>>2002401

>Но хотелось бы попробовать сменить IDE на текстовый редактор


Зачем?
Но в целом, если хочется, смени.
908 2002450
Анон, простой вопрос.
Stream api сейчас мастхев для изучения?
909 2002464
>>2002450
Да, они теперь вместо легаси итераторов.
910 2002615
ArrayList<PersonInterface> persons = new ArrayList<>();

PersonInterface john = new Person("John", 44);
PersonInterface tyron = new Person("Tyron", 54);

persons.add(john);
persons.add(tyron);

for (Iterator i = persons.iterator(); i.hasNext();) {
Object p = i.next(); // Какого хуя я не могу здесь написать PersonInterface p = i.next() ?
System.out.println(p.getClass()); // Person как и должно быть
}
911 2002624
>>2002615
ну так Iterator<Object> попросил, а не Iterator<PersonInterface>
912 2002627
>>2002624
Ух, спасибо!
913 2002728
Анон, как часто по твоему опыту на собесах спрашивают по различным тонкостям Spring'а ? Стоит ли ожидать таких вопросов для ждуна?
image.png395 Кб, 656x455
914 2002765
Привет, джавач. Очередная статистика по постам в день за последние 5 тредов.
16143298062161.png294 Кб, 1920x1040
915 2002929
Какие интересные задачи на многопоточность вы делали?
916 2002931
>>2002929
Задачи на многопоточность есть в книге "Методы программирования" Блинова в конце соответствующей главы.
917 2002932
>>2002929
MultithreadingUtils
918 2002938
>>2002932
ты ее писал?
919 2002939
>>2002938
Я ее ебал + сосал.
920 2002943
>>2002929
Зачем многопоточность, когда можно неблокирующие io
921 2002959
>>1980802 (OP)
Аноны, нужен совет. Есть вакансия программиста с требованиями:

>Требуемый опыт работы: 1–3 года


Сразу говорю, что опыт у меня 4 месяца верстальщика, но говорили, что

>Полная занятость, полный день



Высшее профильное образование;
Базовые знание Java или Delphi;
Опыт работы с Spring Boot, Hibernate приветствуется;
Опыт работы с СУБД PostgreSQL или FireBird;
Знание HTML, CSS, JavaScript, Angular приветствуется;
Знание языка SQL, умение писать и оптимизировать запросы;
Умения работать самостоятельно и в команде;
Умение читать и понимать чужой код;
Желание учиться и развиваться.

Короче из всего это у меня знания HTML, CSS. Еле как JS. Знаю основы SQL. Два с половиной года назад делал диплом на Java *там говнокод) и больше не программировал, следовательно Java забыл.
Вопросы:
1) Стоит рисковать и пытаться подготовиться к этой вакансии, если вакансия закроется 8 апреля?
2) Что нужно знать, чтобы быть уверенным, что ты знаешь Java на базовом уровне?
3) С такими требованиями они могут спросить алгоритмы?
4) Вообще Java программистам нужно знание математики и алгоритмов?
922 2002963
>>2002959

> если вакансия закроется 8 апреля


Вернее мая +- день
923 2002971
>>2002943
Вам в JS-тред.
924 2002988
>>2002959
Анон. Сейчас я тебе всё поясню, потом спасибо скажешь.
1. Нихуя не готовься.
2. Посылай собеседователя нахуй, если будет заставлять крутить деревья.
3. Доминируй @ Унижай

Я кончил.
925 2002995
давай!! ДАВАААЙ УРААА ДАВААЙ ДАААВАААЙ
https://twitter.com/ASFMavenProject/status/1332288204351934466
926 2003010
>>2002995
Надеюсь, версию жабы по умолчанию поднимут до 8, а то до сих пор 5.
Вообще, нагуглил такой чейнджлог: https://maarten.mulders.it/2020/11/whats-new-in-maven-4/
927 2003016
>>2003010
Когда она выйдет уже впору будет до 11 поднимать.
928 2003078
>>2002995
Расскажите про развитие мавена. Нахуй там вообще новые версии? Я вообще между 3.1 и 3.8 разницы не вижу. А это 7 лет.
929 2003202
>>2003078
Догнать и перегнать грейдл.
930 2003230
>>2003202
Очень уж этот ваш грейдл любит ломать обратную совместимость, и заметно это даже не хеллоуворлдах. Иногда пытаюсь его тыкать, там если делаешь всё по туториалам, которым полгода, будут варнинги про депрекейтед, а если год, то и вовсе упадёт с ошибкой. Если тырпрайз на него и перейдёт, почти наверняка выберет какую-то конкретную версию и сидеть будет на ней 100500 лет, как с джавой 8. Ещё и отсутствие нужных плагинов, из-за них везде куча кастомных тасков, будто вернулись во времена анта, но с груви вместо хмл. По мне так хвалёные модули не стоят таких бед. И не осилил, да.
931 2003241
Анон, посоветуй хорошую свежую книгу по жабе.
Прочитал эту >>2000278 - говнина лютая
932 2003245
>>2003241
Хорстманн.
933 2003256
>>2003245
Core Java в двух томах?
934 2003258
Cап. Короче работаю в провайдере питономакакой, я тут единственный, кто хоть как то пишет код.
Сейчас зашел начальник и предложил переучиться на джависта, потом набрать еще пару долбоебов ко мне и начать делать серьезное дерьмо.
Короче он предлагает мне оплатить курсы. Сказал чтобы я сам поискал, но я хуй знает что там менее зашкварное.
Я бы конечно и сам переучился, но если барин платит, то нахуй надо.
Посоветуйте курсы по жабе, короче. Спасибо
935 2003260
А томкэт в сдк встроен или че? Или его бут за собой неявно тянет?
936 2003261
>>2003256
Да, но во втором обязательны только пара глав.
>>2003260
Неявно тянет эмбеддед томкат.
937 2003285
>>2002929
Раскидывал задачки на Акка кластер.
938 2003303
>>2003230

>Если тырпрайз на него и перейдёт, почти наверняка выберет какую-то конкретную версию и сидеть будет на ней 100500 лет


Так и делают, ни разу не видел грейдл билда без врапера.
springBootTomcat.PNG12 Кб, 440x187
939 2003395
940 2003432
Почему в джава вайлдкарды <? extends Sometype> могут воспринимать как тип только абстрактные классы, хотя белые люди предпочитают интерфейсы? Что мешает позволить юзать там интерфейсы наравне, или хотя бы расширить синтаксис до чего-то вроде <? implements Sometype>
941 2003477
>>2003432
Что ты имеешь в виду? SomeType может быть и интерфейсом.
942 2003489
>>2003477
Я дебил. Видимо в каких-то экспериментах что-то делал не так и получил такую уверенность ложную. Уже попробовал и все норм. Чая за внимание.
943 2003500
А на чем нынче благородные доны малюют гуй? Swing еще актуален?
944 2003504
>>2003500
В браузере на реакте.
945 2003518
>>2003504

>>на реакте.


почему в вакансиях жавистов чаще вижу пожелания знать ангуляр, а не реакт?
946 2003520
>>2003518
Легаси.
SYPK4gDMj7A.jpg22 Кб, 476x540
947 2003525
>>2003504
Ты че, сука
15504326671121.jpg69 Кб, 600x313
948 2003529
949 2003531
Скриптопетухи захватили этот треад?
Ох щщи.
950 2003534
>>2003500
Бамп вопросу.

JavaFX норм?
951 2003541
>>2003525
Это козуля чеки печатает?
952 2003543
>>2003241
Ебать ты дебс. Читать рандомный кал это надо иметь поистину массу времени. По сабжу - справочник Шилдта, ван лав.
953 2003544
>>2003525
Я не отрицаю, что это говнище ебаное, но стандартом оно уже стало.
>>2003534
Клиент отдельным приложением сейчас мало кто хочет делать, их сложно обновлять и сложно поддерживать. А для вебни достаточно установленного браузера.
954 2003549
>>2003500
Буквально неделю назад хуярил на Swing. Полет норм. Что такое вообще блять "актуален"? Это интерфейс ввода-вывода для глаз и кривых рук юзера. Если ты хочешь выступить с этим на соревнаваниях по визуальному дизайну - то отсосешь, если тебе надо чтоб просто работало - почему бы нет.
955 2003552
>>2003549
Актуален = понадобится на работе
956 2003553
Вопрос такой - как инстанциировать объект класса с непустым конструктором? Само собой речь не про new а про рефлекшен. Искать что-ли метод по имени, предварительно получив имя у класса?
957 2003555
>>2003552
Ну, мне понадобился. Правда работа у меня несколько особенная, я просто решаю проблемы на пустом месте, без всяких там легаси и корпоративного стека. А если про мейнстрим то наверное неактуален. Кому нахуй нужна джава в десктопе, ты че хоть.
958 2003556
Пошел в очко, пидор безграмотный.
959 2003559
>>2003549
Мне надо, чтобы просто работало и выглядело не совсем уебищно.
960 2003575
>>2003559
Приступай. Intillij написан на свинге, например. Правда наверное там у них ультрапряморукость на входе в команду разарабов.
961 2003598
Ананасы, что могут спросить с джуна на собеседовании по сетям/линуксу?
962 2003621
>>2003598

>>по сетям


модель оси, чем отличается хттп от хттпс, что происходит с момента ввода адреса в строке браузера до входа на сайт - при желании все это с кишочками каждого шага.
963 2003682
>>2003621
Долбоеб, шел бы ты нахуй отсюда.
964 2003753
>>2003534
ДА, жавафх очень проста в эксплуатации, можно юзать контракты жавабинс, довольно-таки быстро запилил на ней небольшой пет-проект с многопоточкой, блекджеком и шлюхами.
965 2003755
>>2003575
У жет брейнс в вакансиях тонко намекают, что будут гонять по алгоритмам и просить крутить деревья, так что prepare ur anus, если что.
966 2003761
Кстати анон, я уже спрашивал в мобайл ветке, но думаю здесь более помидорная публика, которая что-то слышала про компиляторы.
Можете объяснить как Kotlin будучи на JVM исполняется под Андроид, который вроде как на ART? Каким образом код исполняется на Ведроиде?
968 2003787
>>2003761
Котлин компилится в class-файлы, которые потом вместе с либами конвертируются в dex, dex пакуются в apk, попадают на андроид, а ART уже знает, что с этим dex делать.
969 2003816
>>2003787
Вроде понятно, спасибо что прояснил, анон.
970 2003824
>>2003621
Спасибо, добра
971 2003890
>>2000253
Есть для тех имплементаций, которые реализует интерфейс java.lang.Iterable.
972 2003895
Хули в спринге такой уебанский кодстайл? Не поконтрибутить ебанарот.
973 2003937
>>2003895
А в чем сложности? Google Java Style и так стандарт для большинства проектов, идея автоматом форматирует.
974 2003940
Поясните нюфагу зачем нужны классы обертки для примитивных типов?
Ну вот типа есть int, а есть Integer. И что мне когда использовать?
975 2003942
>>2003940

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


Ты не сможешь в коллекцию вогнать int, а Integer сможешь, тк он наследник класса Object.
976 2003943
>>2003937
Какой же ты еблан блядь сука. В спринге не Google Java Style, уебок тупой. И идея под спринговый стиль не автоформатирует никак. И эти ебланы изобрели свой мавен плагин, который также нихуя не форматирует, только сыпет ошибками в лог.
977 2003946
>>2003940
К примеру, многие стандартные методы принимают только ссылочные типы, типа методов коллекций, которые хранят только объекты. В обертках ещё есть всякие полезные методы, для работы со своим типом.
978 2003950
>>2003942
>>2003946
Понял, спасибо. До коллекций не дошел еще просто
979 2003953
>>2003943
Тупой агресивный еблан тут только ты. Читай, уебище.
https://github.com/spring-projects/spring-framework/wiki/Code-Style

>>И идея под спринговый стиль не автоформатирует никак.


настрой по гайду, будет тебе скобочки переносить
https://github.com/spring-projects/spring-framework/wiki/IntelliJ-IDEA-Editor-Settings
980 2003957
>>2003953

>настрой по гайду


Охуеть блядь, сейчас буду сидеть неделю настраивать всю эту хуйню. Где .checkstyle файлик? Или че-то такое.
981 2004083
Сап, джаваны. Есть такой вопрос:
Есть несколько классов, у каждого из которых непустой конструктор, принимающий некоторое - разное - количество однотипных аргументов, пусть double. Например один класс принимает 2 аргумента, другой 3 и так далее. Все они маркнуты одним и тем же интерфейсом, чтоб можно было манипулировать ими как одним типом.
Так вот, можно ли через Reflection как то создать экземпляр произвольного из этих классов "общим способом", не меняя сами классы?
В методе-генераторе я легко могу получить конструктор любого из них, но как его вызвать универсальным способом, если newInstanse() принимает аргументы именно так же, по одному, как это делается через new? То есть нельзя написать, например
inst = constr.newInstance(double1, double2)
потому что у рандомного класса аргумента может быть и не два, и нельзя передать туда массив, потому что нет такой перегрузки метода. Как можно сделать?
Только повторюсь - не меняя классы напрямую. Так-то понятно, что можно добавить конструктор MyClass(double[] values). Может через рефлексию можно внедрить новый конструктор как-то?
982 2004085
>>2004083
Если уж уже написал гору текста, такой еще вопрос: может как-то через интерфейс можно указать необходимость реализовать потомкам конструктор определенного типа? Если пихать в интерфейс что-то вроде
<T extends MyInterface>T(int arg);
он нахуй меня посылает, говорит что нужен возвращаемый тип, думает что T это имя требуемого метода.
983 2004367
>>2004083
А сами аргументы ты откуда собрался брать?
Если у тебя есть все нужные параметры и можно модифицировать сами классы, я бы сделал так.
https://pastebin.com/zYQsvt0G
984 2004429
>>2002615
Просто используй foreach лол

Итераторы какие то пидорские блять
985 2004432
>>2002765
Слушай, а можешь построить график по количеству постеров за последнее время в языковых тредах?
986 2004471
>>2004432
А как он это сделает? Мы же не на пораше или ньюсаче. Тут айдишники не палятся.
image.png2 Кб, 197x70
987 2004474
>>2004471
Вот так, наверное.
988 2004479
Stream<foo> stream = new ArrayList<foo>().stream();

По человечески как мне стрим получить?
989 2004481
>>2004479
Stream.of.
990 2004486
>>2004474
никогда не замечал. спасибо
991 2004538
>>2004479
Ты от созданного листа сразу к стриму переходишь и блять через лямды дальше ебашишь все что надо

Одна строчка

Зачем ты объект стрим создаешь шо ты как маленький
992 2004592
Ребята. Я посмотрел немножко про асинхронность в жс/питоне/шарпе и вот подумал, почему на джаве непопулярен гуй. Потому что нет простой асинхронности без многопоточки.
Тупая мысля или не очень?
993 2004612
>>2004592
Гуй на жабе непопулярен, потому что он медленный и прожорливый. На питоне тоже, поэтому питон не начали юзать для гуя после появления в нём асинка.

И какая разница, многопоточный асинк или нет? На питоне и жс убогие потоки, поэтому там асинк олнопоточный. На шарпе хз, вроде там задачи раскидываются по пулу потоков, а не в одном и том же.
994 2004708
>>2004367
Спасибо, конечно, что нахуевертил целый проект, но я наверное не зря сказал, и дважды, что нет, классы нельзя менять. Если можно менять было бы, ничто б не мешало впилить им всем конструктор на 2 строчки, принимающий массив, и вызвать в нем свой же конструктор через this(arg[0], arg[1], arg[2]) (сколько нужно столько и аргументов).
995 2004714
>>2004429
Пидорские как раз форичи. Если кто-то юзает итераторы то он понимает как это внутри работает, а не просто дергает мейнстрим-хуйню для долбоебов.
996 2004741
>>2004429
Сам ты пидорский, епта.
>>2004714
Мое увожение
997 2004756
>>2004708
Тогда или писать руками эти Function что не большая проблема, если все классы заранее известны или тупо создать такой массив кодом - благо и количество и типы аргументов известны. Первый вариант быстрее и безопасней все проверки выполняются во время компиляции, второй универсальней и не требует переписывания если какой-то класс поменяется.

Вообще это выглядит так, будто ты пытаешься доморощенный DI запилить.
998 2004758
>>2004756

>тупо создать такой массив кодом


Речь идет о массиве который передается в Constructor.newInstance()
999 2004880
>>2004714
>>2004741
Обосрался с зумеров

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

Итератор старый век, зашквар
Форич более современный, не зашквар
Стрим апи уже для гениев
1000 2004891
>>2004756
Нет, это просто своего рода фабрика разнородных примитивов. Все они принадлежат примерно одной предметной области, но все конструируются из разного количества однотипных аргументов.

>тупо создать такой массив кодом


да его как раз не надо создавать. от поставщика данных они и приходят упакованными в массив. Еще там же приходит тип, который надо сконструировать. Так вот, я не хочу свитчиться по всем возможным типам и для каждого вызывать именно его конструктор, потому что, как минимум, это предполагает ручное расширение этого свитча для новых типов. Я бы предпочел получить у пришедшего типа конструтор, и его вызвать. Массив данных по длине будет энивей точно подходить к типу, но будет всегда разным.
Потому я и говорю, что мне надо либо в каждом возможном типе иметь конструктор, который будет принимать массив (а такого контракта я даже через интерфейс не могу создать - я так понимаю, в джава интерфейсы никак не могут принудить создавать конструкторы определенной сигнатуры), либо как-то что-то еще найти в рефлекшене, чего я не знаю.
Я автор всего этого, и мне не сложно добавить в классы-примитивы нужный конструктор, это вопрос принципиального интереса исследовательского, можно сказать
изображение.png21 Кб, 546x173
1001 2004930
Почему идеа ругается на классы, которые должны импортироваться по дефолту? Сама программа нормально компилируется и работает, но то что доступные методы и поля не показывает - заеабло.
Пробовал сносить, менять jdk - нихуя. В переменные окружения тоже дописана
1002 2004946
>>2004930
проверь, что в project structure выбран корректный jdk и language level (или как там его). в 99% случаев причина такой проблемы как раз в этом
1003 2004958
>>2004083
так вроде ж newInstance() vararg'и принимает.
а в джаве можно скормить массив там, где ожидается варарг (если я ещё не всю память пропил)
1004 2005035
>>2004891
Constructor.newInstance() принимает массив Objekt[] в котором и передаются все аргументы по порядку класс не должен принимать массив аргументов, их развернет JDK. Но рефлексия это медленно и не надёжно, лучше фабрики.
image.png20 Кб, 634x410
1005 2005037
>>2004432
Статистку прям по дням сложно собрать, для этого пришлось бы в течение нескольких месяцев каждый день мониторить счётчики. Построил за последние 5 тредов (если перекатили недавно, самый новый не учитывался), что не совсем верно, какие-то треды более активны, какие-то - менее, какие-то перекатывают после 500, а какие-то - после 1000, причём от случая к случаю перекатить могут то раньше, то позже. Странная статистика получилась.
1006 2005039
>>2005037
не верю что в js меньше всего постеров
1007 2005047
>>2005039
Я ж говорю, его перекатывают слишком часто, после 500, много постеров просто не успевает "отметиться".
1008 2005067
>>2005037
Спасибо, няша! Ну да, перекатывать каждые 500 постов - вообще жесть, обалдел с этого когда начал протекать в другие треды и доски.
1009 2005071
>>2005067
У них так поддерживается активность тредов, больше вкатывальщиков видят тред на первой странице, заходят и задают вопросы о выводе фибоначчи в консольку.
image.png217 Кб, 672x658
1010 2005095
1011 2005100
>>2005095
Где-то год назад так сидели пару дней без треда, самый последний тред утонул, а новый не создавал никто.
1012 2005109
>>2005095
У длинного треда только один минус - пиздец медленно грузится. Но мы джависты, нам не привыкать.
1013 2005112
>>2005071
Мне только двачеров-вайтишников в индустрии не хватает, ну нахуй.
1014 2005167
>>2004958
Да, именно так. Но почему-то если скармливать ему аргументы по одному, как в конструкторе указано, то все нормально. А если массивом, то он выбрасывает эксепшен какой-то там (то ли wrong count of arguments, то ли wrong type, че-то такое).
1015 2005169
>>2005035
Да нихрена не так.
try {
Constructor<? extends Component> constr =
this.representationDataClass.getConstructor(double[].class);
Constructor<?>[] constructors =
this.representationDataClass.getConstructors();
//component = (Component) constructors[0].newInstance(argums[0], argums[1],
// argums[2]);
component = constr.newInstance((Object) argums);
} catch (SecurityException | InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
e.printStackTrace();
}
то что под комментом - работает если конструктор содержит ровно 3 аргумента. То что без коммента - работает только если есть конструктор принимающий массив, в остальных случаях - нет.
1016 2005171
>>2005169
олсо, вторая запись с поиском конструктора, возвращающая ВСЕ конструкторы, была сделана раньше, чтоб найти уж точно все какие есть, если запись (double[].class) не являлась бы корректной. И единственный найденный конструктор не стартует с массивом.
IMG20210423123808.jpg312 Кб, 1080x1622
1017 2005494
Забежал я сейчас кабанчиком в питон тред и задал им неудобный вопрос.

Питонисты разумеется сразу зашипели и начали плеваться
1018 2005502
>>2005494
Питон, конечно, говнище, но если мы будем набегать на чужие загоны, ничем не будем лучше шарпошизиков.
1019 2005508
Поясните простыми словами, что такое DispatcherServlet и какова его роль в Спринг? Servlet это термин вообще из какого-то каменного века, как я понимаю, времен jsp.
1020 2005519
>>2005508
DispatcherServlet занимается маршрутизацией запросов которые приходят к веб серверу. Если к классическом JEE WEB приложении - ты сам писал сервлеты и процессил запросы, то в Спринге ты создаешь ресурсы с помощью Спринга, а DispatcherServlet занимается тем что принимает входящие запросы, находит нужный ресурс и вызывает его попутно делая кучу магии
1021 2005525
>>2005508
Сервлеты придумали хоть и давно, но это фундамент, на котором всё работает, не думай, что они устарели. Спецификация сервлетов - это просто описание того, как должно выглядеть низкоуровневое API для работы с HTTP - хедеры, куки, чтение и запись байтиков из сокета. В спринге же предлагают не ебаться с этим вручную, а использовать специальные обёртки, и DispatcherServlet - их основа, это единый сервлет для всего, он инициализирует application context, ловит все запросы, передаёт их твоим контроллерам в соответствии с маппингами, разбирается с view и прочее.
1022 2005531
>>2005169
Все нормально работает https://pastebin.com/GFNgJJRP
Это у тебя с руками что-то не то.

Если бы выкладывал полные примеры, а не огрызки, я мог бы сказать куда тебе надо выгнуть руки.
1023 2005544
>>2005531
Что за ломбок ты импортишь

Это что за библиотека
1024 2005551
>>2005544
Забудь, ломбок устарел, его не надо юзать.
1025 2005612
>>2005544
Жава программист не знает что такое ломбок?
Лови шарписта!
1026 2005628
>>2005551
Про лобок не я писал, не юзаю его.

>куда надо выгнуть


ну на вот выгни
https://pastebin.com/GpuHmMmx
Срать кодом с работы не особо хочу, поэтому замутил микроаналог. Надо было про шлюх, здесь же принято на тему шлюх делать примеры
1027 2005632
>>2005531
В таком виде, разумеется, все работает:
https://pastebin.com/Cg2b1B7B
переопределил еще там туСтринг, чтоб было видно в консоли факт что сработало
1029 2005691
>>2005665
Спасибо, так работает. Но я нихуя не понимаю, почему то что вылезло из стрима это не то же самое, что исходный array
1030 2005727
Почему у разных субд разный синтаксис? И к чему, в таком случае надо приучаться с молоду mysql или постгрес?
1031 2005730
>>2005691
Потому что когда ты в newInstance() передаешь double[], то он конвертируется в Object[] {double[]} и значит первый аргумент конструктора должен быть double[]

А стрим возвращает Object[] {Double, Double, Double} - что интерпретируется как 3 аргумента типа Double или double.

Если там был не vararg метод, то проблему было бы сразу видно.
1032 2005744
>>2005727
Потому что нет универсального стандарта, который бы описывал всё, что есть в современных СУБД. Есть только более общие стандарты, они описывают небольшую их часть, причём ни одна СУБД полностью эти стандарты не реализует, там много спорных мелочей.
Приучаться надо к постгресу, но на хеллоуворлдах радницы не заметишь.
1033 2005772
>>2005730
Я так понимаю, компилятор не может определиться, требуется ли вызов vararg будто это массив элементов, либо это единственный аргумент-массив, и предпочитает считать что я передаю массив массивов с одним элементом?
Окей, но как ты понял, что он то же самое не сделает с аутпутом стрима? не обернет весь его в один объект?
Пусть даже это как-то ясно, но стримАПИ это просто библиотека, как сделать то же самое на голом языке?
1034 2005790
>>2005772
Не совсем. double[] не приводим к Object[], только к Object.
Поэтому у компилятора единственная опция это считать его первым элементом в создаваемом Object[]. Вот если бы вместо double[] был бы Double[], тогда бы компилятор считал бы его как массив аргументов, а не первый аргумент.

Конвертануть кодом можно так
Object[] arguments = new Object[ingredients.length];
for (int i = 0; i < arguments.length; i++) {
arguments = ingredients;
}
return dishType.cast(constructor.newInstance(arguments));
1035 2005794
>>2005790

>arguments[ i ] = ingredients[ i ];


Парсер сожрал [ i ]
1036 2005893
>>2005790
Странно. Я вроде бы пробовал это когда-то раньше, заменить примитивные типы оболочками, и ничего не вышло. Попробую еще раз. Ладно, спасибо анон, все стало примерно ясно в этом вопросе.
1037 2005906
>>2005790
Попробовал заменить везде на оболочки и все завелось. Я, дебил, наверное первый раз как-то на отъебись заменял, только в некоторых местах, не особо думая, что там как боксится и анбоксится. Все теперь понятно. Чая тебе и задач интересных.
1038 2005912
>>2005790
И такой уж тогда вопрос. В целом, для реального проекта, делать так нормально или это тормозное говно и лучше через ветвление по типам? Я просто пока что кто-то вроде стажера, не особо понимаю как надо предпочитать в таких вещах.
1039 2006070
>>2005912
Нет универсальных решений, везде свои плюсы и минусы.

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

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

И еще момент: делать так как в примере это плохая практика, когда у тебя передается в конструктор несколько даблов или любых других однотипных параметров - это прямой путь к ошибкам. Перепутал порядок water и alcohol и у тебя не коктейль для девочек, а ёрш для мальчиков. Используй микротипы или билдеры.
1040 2006104
Почему в джаве потоки очень по гейски реализованы?

Вот скажем есть пара способов сделать поток : наследовать класс от класса тхреад или же имплементировать интерфейс раннабле

В первом случае если мы унаследуем наш класс от тхреад ну и оверрайдим там метод ран, то при создании двух потоков одинаковых и запустив их
Thread1.start();
Thread2.start();
(Это обьекты одного и того же нашего класса)
То они будут выполняться поочередно. Сначала будет работать тхреад1 а дальше уже после окончания заработает второй
Разумеется это хуйня какая то

Но есть второй способ, мы наследуем наш класс от раннабле и также оверрайдим метод ран. Далее создаются опять же два разных потока, только создаются они от класса тхреад и мы засовываем туда в качестве аргумента наш класс который имплементирован от раннабле.
Мы запускаем эти 2 потока также как и в 1 случае и вот они уже работают корректно. То есть поочередно/одновременно

Чому так?
1041 2006107
>>2006070
Там задача специфичная - парсинг данных, которые всегда упорядочены правильно (их не человек генерирует). А все даблы там просто потому что это околоматематика.
1042 2006108
>>2006070
Олсо, думаю просто нужный конструктор помечать самодельной аннотацией, и ее уже искать в том рефлекшен блоке
1043 2006129
>>2006104

> То они будут выполняться поочередно. Сначала будет работать тхреад1 а дальше уже после окончания заработает второй


> Разумеется это хуйня какая то


Конечно хуйня, потому что неправда. Оба треда будут работать одновременно. С чего ты вообще взял, что поочерёдно? Только не говори, что у тебя в тредах принт в консольку и ты смотришь на порядок вывода.
1044 2006156
>>2006129
Я проверял на выводе в консольку да

Интерфейс раннабле работает как и положено а вот первый вариант с наследием от класса тхреад работает не так
1045 2006168
>>2006156
Попробуй в первом треде перед принтом воткнуть Thread.sleep(100), чтобы сделать небольшую задержку, тогда вывод сначала будет из второго треда, а потом из первого, это покажет, что второй тред не дожидается окончания работы первого. Почему именно с наследованием от Thread первый тред всегда начинает выполняться раньше второго - хз, скорее всего, это какие-то тонкости реализации. Это не настолько важно, главное что треды работают одновременно, как бы они ни запускались.
1046 2006172
>>2006104

>>То они будут выполняться поочередно


Почему у меня работает правильно?
1047 2006183
>>2006172
У тебя тред спит потому что

У меня в методе ран был просто цикл который выводил от 1 до 10

И когда я запускал оба треда одновременно без всяких задержек то вывод был такой
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

Но вот когда я создавал тред с интерфейсом раннабле то вывод был примерно такой
1 1 2 2 3 4 3 4 5 5 6 6 7 8 9 7 8 9 10 10
Ну не прямо так но близко кароче

Было видно что в 1 случае не одновременная работа а во втором одновременная
1048 2006185
>>2006183
у тебя эта задача наносекунды занимает. поставь в каждой итерации цикла задержку на 100мсек и тогда уже будешь судить
1049 2006188
>>2006185
Я понимаю что это занимает очень мало

Я не понимаю почему при разном создании потока получается разный результат, если по логике должен быть одинаковый
1050 2006189
>>2006188
По какой логике? Может у них там в ОС как-то разный приоритет или еще что-то, только заметно это на микромасштабах. Создай им нормальные условия для оценки, чтоб задача была реально объемная, на секунды, и там смотри. Я сам не шарю за модель потоков, но зато знаю по опыту насколько трудно нормально что-то бенчмаркнуть на таких масштабах времени, да и вообще.
3.JPG13 Кб, 673x223
1051 2006195
>>2006188

>>почему при разном создании потока получается разный результат


Вывод к консоль синхронизируется - кто успел, тот и вывел значение.
1052 2006241
>>2006107
Ну тогда рефлексия норм. Разве что стоит создать класс, для каждого типа, где как минимум закешировать конструктор, чтобы JIT смог это дело заоптимизировать.
1053 2006361
Програмач посоветуй веб ресурс или ide плагин на котором можно задачи с многопоточностью порешать.
1054 2006362
>>2003285
Поподробнее?
1055 2006499
>>2006241

>создать класс, для каждого типа


так и есть, и общий интерфейс для них всех.

>закешировать конструктор


мм... а что это значит? ну, там есть у каждого свой конструктор, с фиксированным количеством аргументов. вчера еще я замаркировал его аннотацией, которую сам запилил, чтоб уж точно не промахнуться при поиске (юзать всегда "нулевой" мне кажется очень ненадежно, а как получить простым способом "конструктор, принимающий как аргументы некоторое количество double", я так и не сообразил, разве что получать все аргументы и в цикле проверять, что они все дабл, но это громоздко, и я решил что маркерная аннотация лучше)
1056 2006767
>>2006499
Речь идет о том, что когда ты делаешь dishType.getConstructors() ты каждый раз получаешь новый объект Constructor. Поэтому я и сказал, что надо его закешировать и не создавать каждый раз. Помимо того, что ты избегаешь лишнего выделения памяти, так еще JIT умеет оптимизировать такие вещи и черен несколько вызовов заменит рефлексию на сгенерированный код.
https://pastebin.com/4Mb53R7L
1057 2006853
Сап. Что почитать по джаве, если есть небольшой опыт в другом яп с динамической типизацией и интерпретируемом знаю что пиздонистов тут не любят
Head first показалась слишком простой, для совсем нюфагов. Effective Java базовые какие то языковые фишки не рассматривает.
А про Шилдта где то видел что его не советуют читать, типа говнокода дохуя.
1058 2006865
>>2006853
Учился именно по Шилдту. Точнее, полировался после всяких детсадовских ХэдФёрстов. У него все нудно, зато исчерпывающе. Хз насчет говнокода, я не воспринимал никогда книжки как примеры заебатого кода, типа делай как мы, и будет заебись. Это вообще отдельная дисциплина. Код в книге для другого: описал какую-то языковую особенность - показал как работает. Все. Насколько знаю, обычно все тут дрочат на 2-томник хорстмана. Сам не читал.
1059 2006872
>>2006767
А, ясно. Благодарю, добавлю такое.
1060 2006967
Хорошие курсы по Java, если кому интересно...
https://www.youtube.com/playlist?list=PLvb7ivodu7oTNvzI00ABhl-LlwRQ0G1Lj
1061 2007014
>>2006967
Пиздец... ролики 3...5 часов. Они там че делают все это время? За столько времени можно собаку научить плюсам и машкоду всех процессоров мира, заодно и схемотехнике цифровой.
1062 2007077
Поясните что не так в спринг-бут-секьюрити хелло ворлде?

@PostMapping( "/user")
public String pageAllUsers (Principal principal, Model model){
User user = userService.findByUsername(principal.getName());
model.addAttribute("user", user);
return "user";
}
В этом методе, если я меняю @PostMapping на @GetMapping, он выводит то что я хочу, если оставляю так то http - 405 error. This application has no explicit mapping for /error, so you are seeing this as a fallback. There was an unexpected error (type=Method Not Allowed, status=405).
help
1063 2007083
>>2006967

>>Хорошие курсы


Это курсы уровня гикбрейнс и им подобных. Только тут еще и технологии десятилетней давности. Эклипс, свинг, авт и спринг на хмл в 2к20.
>>2007014

>>Они там че делают все это время?


Разговоры за жизнь, живое написание кода иногда с ошибками, тупые шутки препода - все как в говновузике. Это хорошо хоть на ютюбе х2 смотреть можно, а вживую это ж пиздец мучительно слушать.
анонимный пользователь подключиться пытался......правильно?......вот.......а метод защещен.....видите?......вот.....ребят понятно?
1064 2007084
>>2006865
Понял, попробую и Шилдта и Хортсмана.
Хорстмана кстати пишут что лучше в оригинале читать, всё так? Говорят перевод на русский там более чем уебищен
1065 2007090
>>2007084
Я дрочу на однотомник Хорстмана Java for impatient. Там надо сделать задания в конце, прокачивает кор люто, неистово.
1066 2007125
Можно ли сделать так чтобы моя прога запускалась сразу же после того как флешку с ней вставили в пк?

Разумеется на пк уже установлен jre чтобы джава код работал
1067 2007129
>>2007125
Пошел нахуй отсюдаа, хакер ебаный.
1068 2007154
>>2007125
Если речь про какой-то конкретный ПК, надо на него поставить прогу (скорее всего, её тебе придётся писать самому), которая будет обрабатывать событие вставки флешки и искать на ней твою прогу.
А если любой ПК - надо, чтобы на нём был установлен Windows XP, и тогда можно через autorun.inf.
1069 2007287
Посоны, куда можно задеплоить сервак? Чтобы дёшево или бесплатно. Хероку не предлагать. У aws вроде были какие-то бесплатные варианты, но боюсь что снимут с меня миллион потом невзначай. В идеале нужно хранить 100-200gb. Что посоветуете?
1070 2007372
С нихуя перестал собираться проект в идее через (maven clean package), с ошибками компиляции типа cannot find symbol. При этом если отдельно собирать мавеном, то все норм. Что за хуйня? Кеши удалял, .iml файл удалял, два раза уже.
1071 2007412
Started SpringBootSecurityCrudApplication in 162.985 seconds (JVM running for 166.067)

Что, блять, с моей идеей? Это ХеллоВорлд аппликейшн, ааааааааааааааааааааааааааааааааааааа!!!
1072 2007420
>>2007412
Небось, на строчке про Hikari Pool долго висело? Хуй знает, что это, мне помогало изменить версию бута.

> 162.985 seconds


У меня на работе жирный монолит на вебсфере быстрее запускается.
1073 2007432
>>2004880
Итератор - хипстерская хуйня? Земля тебе пухом, падаль малолетняя.
1074 2007465
>>2007372
Так, короче ломбок отвалился. В новых проектах все ок, в этом даже после полной очистки хуйни, которую генерит идея, нихуя не работает. Пиздец.
1075 2007472
>>2007465
Так, и просто mvn compile в консольке не билдит проект. Что за хуйня?
1076 2007512
>>2007472

>>с ошибками компиляции типа cannot find symbol


Зависимости перекачай, идею перезапусти
1077 2007582
Ебаный лобок блять, вам мало этого примера? >>2007465
1078 2007589
>>2007582

>уга-буга уга-буга! угу бубуга

1079 2007600
У любителей лобка уже и эволюция вспять пошла >>2007589
1080 2007995
>>2007582
Пиши бойлерплейт руками, всем на тебя похуй. Алсо, я не стал бы работать в проекте, в котором мне пришлось бы руками писать какую-нибудь хуйню вроде геттеров/сеттеров или конструкторов для final полей.
1081 2008164
Лобок-дебилы не знают про Alt-Insert: >>2007995
1082 2008190
>>1980926
Бля, тред вкатунов.
1083 2008354
>>2008164
Тебе на курсах сказали вести себя как дебил чтоб сойти за опытного?
1084 2008361
Вкатился я на етот ваш как его джавараш, и внезапно в релаксной лекции про коллекции меня заставляют писать свой двусвязный список. Я протупил весь день, но чето высрал (пик 1), ради интереса посмотрел готовое решение (пик 2), и оно кажется более громоздким каким то. Знатоки, можете пояснить в чем я не прав? алгоритмы в своей шараге еле-еле сдал
1085 2008373
>>2008361
Ну блять я же не знаю как у тебя класс ноде устроен

Вот ты сразу же создаешь новую ноду и туда засовываешь валью, а они сначала проверяют на нулл

В общем у тебя может все ошибками нахуй посыпаться
1086 2008477
Спрингоаноны, делали ли вы тестовые задания при устройстве на работу и, если да, то что они из себя представляли?
1087 2008493
Анон, как ты называешь интерфейсы? ZalupaInterface или IZalupa?
1088 2008500
>>2008493

>IZalupa


Это для шарпоблядей

>ZalupaInterface


Это вообще хуй знает для кого.
Просто Zalupa и все. А сам класс - ZalupaImpl
1089 2008517
>>2008500

>ZalupaImpl


Лучше тогда класс Zalupa, а интерфейс Zalupable
1090 2008520
>>2008517
Зависит от семантики.
1091 2008524
1092 2008738
Кароче

При работе программы работают одновременно все классы, или только те, которые вызываются?
Например если я напишу все классы в одном .класс файле и там же будет меин, насколько это будет хуже чем если просто создать кучу .класс файлов под каждый класс?
1093 2008744
>>2008738
У тебя какая-то путаница в терминах. Один class-файл всегда соответствует одному классу, не может быть такого, что class-файлов много, а класс один, и наоборот.
Джава-машина загружает классы при первом обращении, пока не обращаешься к классу, он не будет загружен в память с кастомными класслоадерами это не так, но неважно.
1094 2008756
>>2008744
Понятно что не может быть много . класс файлов если класс один

Но вот в одном .класс файле можно написать несколько классов. Например вложенный класс или анонимный
1095 2008757
>>2008756
Их жаба тоже грузит при первом обращении независимо от загрузки внешнего класса.
1096 2008798
>>2008738
ты там че руками компилируешь что все в один засунуть хочешь?
1097 2008830
>>2008756
Ты можешь даже независимо от "основного" класса добавить любой класс в конце (за закрывающей скобкой первого класса). Но такой класс не может быть объявлен как публичный, и извне пакета ты не сможешь иметь к нему никакого доступа.
1098 2008832
>>2008361
ты всю задачу не мог что ли скинуть, а не только свой ньюфажный высер?
1099 2008865
>>2008477
от епама десятилетней давности. По результатам меня не взяли кстати
pq41xPispS.png118 Кб, 1231x560
1100 2008871
>>2007287
firstvds например. Возьми дешевый, добавь хранилище, наверняка можно
1101 2008880
>>2008871
Двачую firstvds, сейчас на нем сижу. Ранее в этом треде советовали ruvds, потому что там есть тариф за 240, но по факту на этом тарифе не хватит ресурсов, если будете настраивать нормальный автоматический деплой гитлаба со сборкой градлом. А вот тариф firstvds за 470 полностью закрывает все мои потребности.
1102 2009059
>>2008865
Спасибо большое! И как у тебя успехи с тех пор?
1103 2009083
>>2009059
Сейчас, если что, немного другие требования, вместо jsp и сервлетов спринг бут.
мимопроходил
1104 2009087
>>2008865
Это джуновское? Пиздец, и как это все
1105 2009090
Хорстманн проще, чем Экель?
1106 2009104
>>2009090
Экеля не читал (спасибо за наводку, кстати), а Хорстманн очень прост, если есть опыт программирования на других языках. Сейчас как раз дочитываю первый том
1107 2009105
>>2009083

> спринг бут.


Лет через 10 может и наступит это "сейчас".
1108 2009107
>>2008865
Нихуя себе пидорство

Чтобы просто взяли на работу надо им блять за бесплатно целое приложение в одно рыло сделать?

Я даже не могу представить лоха который это напишет. Лол они просто скажут ему мы вам перезвоним, а сами просто заберут приложение себе. Допилят его для своих нужд за вечер и все
1109 2009109
>>2009107
После таких статей https://ebanoe.it/2021/04/23/lazarev-agency-hr/ я вообще за тестовые стараюсь не браться, если там не уровень "напишите калькулятор"
1110 2009111
>>2009107
Да нахуй кому нужно такое приложение, анон. Такая хрень элементарно пишется за несколько вечеров
1111 2009119
>>2009104
Сколько времени читал?
1112 2009174
>>2009107
Да никому нахер такое не уперлось, воровать его.

Там ничего сложного, просто трудоемко, напилить классы и таблички, нашлепать крудов, написать доку и т.д. Ну и все эти, GoF шаблоны, кастомные JSP теги, MVC во все поля. Тут реально несколько дней на фултайм сидеть надо.
1113 2009211
>>2009119
Около недели по вечерам
1114 2009215
>>2009211
Вот это ты вундеркинд. Я, если за два месяца прочитаю, это будет успех. Но у меня и опыта никакого нет.
1115 2009539
>>2009215
У меня без опыта на два тома с перерывами ушло месяцев 8. Но я плоховато вкуривал, приходилось задачки искать и решать.
1116 2009556
Имеется контроллер, который выводит всех юзеров. В html с помощью th:each Я вывожу их всех. У меня ниже написано модальное окно в котором я могу отредактировать юзера(рядом с именем кнопка)

<form th:action="@{delete}" method="post">
<input type="hidden" name="id" th:value="${item.getId()}" />
<input type="submit" value="Delete" class="btn btn-danger" />
</form>

Есть вот такая кнопка, для удаления юзера, ее логика примерно такая же как мне нужна, для edit, в edit на данный момент я пишу все также и есть функция onclick, для модального окна, которое остается на экране, только если type="button", но id всегда одинаковый.

Так вот проблема в том, что мне нужно в модальное окно передать id юзера. Как поступить? Спасибо за любые советы
1117 2009596
Помогите найти библиотеку для работы с BLUETOOTH для Java SE.
Такую чтоб НЕ БЫЛА ЗАБРОШЕНА в году эдак 2010-м или того раньше.
Запарился искать по всему интернету..
1118 2009601
>>2009596
че нахуй)
1119 2009603
>>2009596
Если тебя не устраивают заброшенные либы, почти наверняка тебе придётся брать одну из либ для C++ и ебаться с JNI самому.
1120 2009607
Не могу арзобраться с checked и unchecked исключениями, из книги и гугла нихуя не понятно. Может кто нибудь просто в двух словах пояснить нахуя в checked исключении нужно в сигнатуре метода выбрасывать это исключение
1121 2009615
>>2009607
Нужны ли чекед эксепшены - достаточно старый срач.
Чекед изначально задумывались для ошибок, которые в теории можно обработать на месте вызова, то есть ты ждёшь, что может произойти ошибка, и должен сразу её обработать, и из-за этого в чекед всё явно: ты либо сразу пишешь try-catch, либо указываешь, что твой метод кидает чекед, и нужно его обработать. а если забыл что-то из этого сделать - компилятор напомнит. Анчекед же наоборот пишутся в предположении, что данные пришли откуда-то сверху, и на месте их вряд ли обработаешь, поэтому компилятор и не заставляет.
Но со временем многие поняли (часть дедов до сих пор сопротивляется), что и для чекед данные часто приходят извне, и обработать на месте их невозможно, ибо причина где-то далеко. Из-за этого в try-catch чекед просто ловят, оборачивают в анчекед и кидают, чтобы компилятор не ругался.
1122 2009624
>>2009615
Вроде понял, но не совсем.
Как лучше делать тогда? IDE помечает метод в котором может возникнуть исключение, и предлагает либо выкинуть исключение в сигнатуре, либо обернуть его в try-catch. Как лучше делать?
1123 2009625
>>2009624
>>2009615
А, всё бля, кажется понял. Спасибо
1124 2009638
Начал учить жиэс, чтобы самому на буте делать учебные\пэт круд проекты с модным спа.
Задумался дальше брать реакт или вью.
За вью:
1. Анон или несколько тут его форсили.
2. По обзорным статьям проще, быстрее вкат.
3. На ютубе на русском есть разбор проекта спринг-бут/реакт, который можно будет форкнуть
За реакт:
1. В три раза больше вакансий
2. У меня есть приятель-реактодебил.
Какие еще есть аргументы? Что посоветуете?
В их тред не пойду. интересует мнение джависта.
1125 2009688
>>2009603
Да меня бы устраивали и заброшенные, если бы они хотя бы работали.. (я их уже все перепробовал)
1126 2009716
Еще один тупой вопрос про чекед исключения, сорян.
Прочитал в интернетах, что многие делают так: ловят чекед эксепш в try-catch и вместо него выбрасывают какое нибудь анчекед.
Так правда делают?
1127 2009746
>>2009716

>>Прочитал в интернетах


>>2009615

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


Ты это 5 постами выше прочитал, додик
impl.JPG34 Кб, 371x724
1128 2009808
>>2008493
>>2008500

>>ZalupaImpl


А в чем вообще смысл этих интерфейсов для одной реализации?
1129 2009811
Лично я как настоящий мужчина просто пишу throws Exception в нужных методах и всё.

Try catch используют только неуверенные в себе омеги

В чем я не прав
1130 2009812
>>2009811

>>В чем я не прав


Чеды пишут @SneakyThrows
1131 2009842
>>2009808
А в чем смысл хедер файлов в с?
1132 2009983
Есть платные стажировки (то есть плачу за них я) по джаве на удаленке или в ДС? Готов потратить 150к. Из имеющихся на данный момент знаний: джава кор, коллекции, базовое знание многопоточки, основы спринга, спринг mvc, sql + алгоритмы и структуры данных на посредственном уровне
1133 2010053
>>2009983
Можно скринить и отправлять в /b/ с комментарием "айти В С Ё".
Напомнило, как один чеченец рассказывал, что у него тётка купила себе рабочее место фармацевта за эквивалент будущей годовой зарплаты.
1134 2010194
>>2009842
Я не знаю, байты не ебал.
Предполагал что интерфейсы возможно для тестов, но ведь все рвано там все можно просто замокать, да и хуевая какая то идея писать тонну говнокода только ради тестов. Неужто это просто ради того чтоб показать что ты уважаешь паттерны и ООП?
1135 2010237
Где можно почитать про всяческие побитовые операции в джаве и как это нагуглить?

Вот супер простой пример: у меня в инт записано какое то число допустим 7. Это в двоичной системе ....00111
Я хочу сдвинуть все биты влево, то есть получить ...01110. и это будет 14.
1136 2010242
>>2010237
В первыз главах любой книги по кору.
image.png325 Кб, 500x500
1137 2010251
1138 2010262
1139 2010351
>>2010237
Core Java (Horstmann) v.1 p.60
Thinking in Java (Eckel) p.75
Beginner's guide (Schildt) p.166
Complete reference (Schildt) p.66
1140 2010415
Аноны как на серваках обычно хранятся какие нибудь mp3 или видосы ? В облачном хранилище можно хранить или обязательно нужно какие то физические носители делать типо емких жестких дисков ?
1141 2010450
>>2010242
>>2010262
>>2010351
Хуя пиздолизы байтолизы насоветовали.
1142 2010473
>>2010450
Побитовые операции самые лучшие

Любой уважающий себя погромист должен это знать и этим пользоваться. Только зумеры плюются от этого
1143 2010485
>>2010473
Дед, таблетки выпей, там бигдецимал изобрели уже, хватит говно жрать, а то несет на весь тред.
1144 2010507
>>2010485
А если пишешь парсер для всратого бинарного формата?
1145 2010515
>>2010507

>пишешь


Не пишу.
1146 2010523
>>2010515
Зумер, плез.
1147 2010530
>>2010485

>бигдецимал



Это тот который работает супер медленно и занимает кучу памяти? Ок, я тебя понял
1148 2010531
Посоветуйте че почитать по многопоточности. А то читаю thinking in java непосредственно эту главу, нихуя не понимаю (ну почти).
1149 2010537
>>2009983
дык если ты знаешь, то что написал тебя в любую контору джуном возьмут
1150 2010588
>>2010530

>>работает супер медленно


305мс вместо 301мс, из которых 300мс - время доступа к базе?

>>занимает кучу памяти?


несколько байт в гигабайтах хипа

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

>Не пишу.


Лох.
1152 2010646
И так, хочу вкатиться в бекенд, чтобы, не поверите,через работу укатиться в Японию, лет через 5-10. Знания минимального синтаксиса джавы есть. Что посоветуете. Посмотрел вакансии, везде требуют спринг, спринг, спринг и SQL конечно.
1153 2010662
>>2010646
Ну так вкатывайся. Джава норм выбор для твоего аниме.
1154 2010663
>>2010646

>Япония



Чому омеги так сильно дрочат на эту страну?
1155 2010667
>>2010663
Я бы себя омегой не назвал, да и в Японию хочу не из-за аниме, а кухни скорее и природы.
1156 2010695
>>2010646
начни с коры (любая книжка из трех - шилдт, хорстманн, thinking in java), потом concurrency in practice, потом алгоритмы и шаблоны проектирования, потом охуеешь сколько всего нужно прочитать нужно по спрингу и энтерпрайзу и забьешь.
1157 2010714
Анончики, помогите пожалуйста: необходимо выучить Java EE, просмотрел несколько ютубных роликов, не могу понять какой годный, какой нет. Стал искать книги, опять же выбор совершенно разный, где то информация дается не "с нуля", либо не совсем как гайд для вкатывальщиков.

Пособите пожалуйста источниками (ютубы, книги), где можно будет хотя бы для старта выучить базу по EE Если будет с примерами на эклипс, будет лучше конечно
1158 2010731
Как мне сгруппировать несколько бинов, относящихся к одному из знчений енума? То есть, например, есть в енуме три значения. Для каждого из них я создаю бин типа 1 с определенной логикой, бин типа 2 с определенной логикой и т.д. Потом из какого-то сервиса дергаю. Как это лучше всего устроить?
1159 2010734
>>2010714

> необходимо выучить Java EE


Беги оттуда.

https://metanit.com/java/javaee/ - самая базовая мурзилка, там только сервлеты и JSP.
Дальше книги, хотя сам читал только первую, она для начинающих:
- Java EE 6 и сервер приложений GlassFish 3
- Изучаем Java EE - есть две книги с таким названием.
- EJB 3 в действии
Ну и всякие плейлисты на ютубе по запросу "уроки java ee"
1160 2011055
Почему в ArrayList вызовы set(index, null) и remove(index) - это разное? null в ячейке array-листа тоже что ли считается значением? Там же просто упакован массив с фиксированным размером, во всех ячейках которого по дефолту установлен нулл. Или просто set-null не сдвигает значения?
1161 2011059
>>2011055

> null в ячейке array-листа тоже что ли считается значением?


Да. Потому что у нас тут не джаваскрипт.
1162 2011078
>>2010734

>Беги оттуда.


Почему? Во всех джуновских вакансиях требуют?

мимо другой вкатун
1163 2011088
>>2011078
Вакансии надо искать со спрингом. Если там пишут про EE, это почти всегда древний монолит на древнем стеке и с засильем xml. Хотя всякое бывает.
1164 2011115
Всем любителям кукарекать про то, что ЕЕ древний монстр хочу напомнить, что JPA и JAX-RS это тоже часть ЕЕ.
1165 2011137
>>2011115
Монстр - это не сама ЕЕ, а проекты на старых её версиях. Есть современная джакарта, которая чуть ли не проще бута, но почти не юзается, и под ЕЕ обычно понимают говно мамонта с EJB/JMS/JNDI/JAAS/LTPA/Axis на вебсфере.
1166 2011142
>>2010695

>concurrency in practice


Я слышал, что многопоточку в реальных проектах почти не используют, разве это не так?
мимо
1167 2011144
>>2011059
При чем тут джаваскрипт? Хуёвость в том, что если ты например сделаешь чтото вроде:
list.add(0, item);
list.add(0, item2);
list.remove(0);
list.remove(0);
то size будет равен нулю.
А если ты занулишь те же самые объекты через set(i, null) то получишь size == 2, хотя состояние листа в точности такое же, как в первом случае. Логики в этом не очень много. Было бы норм, если бы он за size принимал индекс последнего объекта не равного null +1
1168 2011167
>>2011144
Логика в том, чтобы можно было хранить нуллы в списке.
1169 2011180
>>2010588
побитово сдвинул тебе за щёку
1170 2011213
>>2011180
байт вышел за пределы и ты попал себе в жопу
1171 2011388
>>2011142
все так, если ты про веб

на собесах разве что спросят про базовую хуйню типа volatile, synchronized, wait notify, semaphore, thread pool итд
1172 2011390
>>2011213
ору
1173 2011437
кто то брал стажировку на джавараше? Стоит своих 3к?
1174 2011501
>>2011167
хуёвая логика.
потому что .size уж точно не должно возвращать разный результат для одинакового состояния листа. тогда уж надо все нулы считать до самого конца зарезервированного в памяти массива
1175 2011523
>>2011501

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


И не возвращает, потому что состояния разные. Внутренний массив - это ещё не всё состояние, size - тоже часть состояния. Не надо путать внешний интерфейс и реализацию, тебя вообще не должно волновать, что там во внутреннем массиве хранится, ты даже не должен знать о его существовании.

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


А я хочу знать, сколько у меня нуллов реально используется, а не бесполезную инфу о том, что там arraylist себе нарезервировал.
1176 2011549
>>2011523
Окей. Пожалуй согласен. Ты прав а я дебил, литр чая тебе с кофе и какао.
1177 2011555
А почему в шапке какая-то горстка пидорасов нарисована?
1178 2011572
>>2011555
Переживаешь, что тебя не взяли?
1179 2011586
>>2011555
В следующем треде в шапку вернут аниме.
1180 2011600
Есть смысл нюфагу ебаться с потоками (Streams) и узнавать как оно всё там под капотом устроенно? Или сейчас это не особо требуется?
1181 2011607
>>2011600
Как они работают - похуй, надо только уметь их юзать.
1182 2011649
>>2011572
Нет, что твоя мамаша без работы останется
1183 2011667
>>2011649
Главное что твоя с панели не сходит.
1184 2011688
>>2011586
И добавят книги с упражнениями по кору.
1185 2011709
Вкатываюсь ради Minecraft. Дайте советов!
1186 2011749
>>2011088
Мне сказали что нужно знать сервелеты, и что работают на ЕЕ как раз.
1187 2011792
>>2011142
для сетевых задач нужен отдельный поток и для ui как минимум
1188 2011795
>>2011792
Это всё под капотом фреймворков, на уровне логики максимум шедулеры/экзекуторы.
1189 2011877
1190 2011940
>>2011709
Съеби
1191 2011992
Немного не понимаю как работают стримы.
Например, когда я создаю экземпляр инпутстрима с файла, он где то повисает в памяти? Что будет если он будет открыт в течении всей программы и я никуда не буду его записывать?
И как лучше к примеру копирывать файлы, по байту, или создавать массив байтов? Какой размер тогда оптимальный?
К книгах вообще про стримы мало, на ютубе тоже хуйня какая то
1192 2012006
>>2011992

> когда я создаю экземпляр инпутстрима с файла, он где то повисает в памяти?


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

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


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

> И как лучше к примеру копирывать файлы, по байту, или создавать массив байтов? Какой размер тогда оптимальный?


Не принципиально, всё под капотом оптимально буферизуется и периодически само записывается.

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


Потому что это достаточно низкоуровневые байтоёбские темы, про это скорее напишут в книгах по C/C++.
1193 2012009
>>2009638
Не трать свое время на фронтэнд, юзай сваггер.
1194 2012023
Что посоветуете для кеша монолитного приложения? Имел дело с hazelcast, но он вроде как больше заточен для работы в кластере
1195 2012026
>>2011795
Я клал толстый и длинный хуй на ваши фреймворки, ебучие крудошлёпские макаки, идите в пизду.
1196 2012027
>>2012026
У тебя нет выбора, ты обязан их юзать. Без них джава не тьюринг-полная.
1197 2012116
Чому в консоли нельзя никак использовать кейлисенеры?

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

И можно ли скажем парой строчек проецировать консоль на jframe какой нибудь? Тогда все трудности уйдут. Даже можно будет очишать все окно, в то время как консоль полностью и без костылей не очистишь
1198 2012141
>>2012116
Подобные фокусы с консолью очень сложно сделать кроссплатформенными, всё сильно зависит от используемых ОС и эмуляторов терминалов, где-то это вообще не поддерживается. Из-за этого в большинстве языков нет подобных средств. Если так хочешь консольку, пиши обёртки над winapi/posix api, но лучше бы сделать всё через гуй.
1199 2012160
>>2012116
почитай статью, там челик как раз пилил игру и выводил все на аски через какие то либы Jansi jLine - шаги 9 и 10
https://habr.com/ru/post/445278/
1200 2012443
>>2012026
Больное малолетнее животное
1201 2012462
Есть хорошо знающие за Свинг и АВТ?
Такой вопрос, может ли графическое содержимое как-то получено из панели и дполонено?
если я делаю
panel.add(graphComponent);
то он отрисовывает компонент, но если второй раз вызываешь с другим компонентом он не дополняет первый, а заменяет его целиком.
пытался получать у компонента Component член типа Graphics и пихать в методы панели типа paint и paintComponent - ничего не отрисовывается, видимо не то делаю.
1202 2012591
Какое мобильное приложение можете посоветовать для начинающего чтобы подрочить основы языка в перерывах на работе?
1203 2012594
>>2012591
EBookDroid
1204 2012635
>>2012594
Для практики
1205 2012669
>>2012462
Чтобы размещать несколько компонентов в панели тебя нужно установить правильный LayoutManager.
Читай Портянкина https://ipsoftware.ru/books/swing_book_2/
1206 2012694
>>2012009
Подробнее, первый раз слышу это слово.
1207 2012702
>>2012694
Он шуткует так, типа вместо обычного веб-приложения ты должен юзать rest-клиент для ручного дёрганья эндпоинтов, который генерирует swagger. Это как предложить юзать curl, postman или soapui.
1208 2012724
>>2012702
Ну постман я трогал, когда видос по спринг секурити смотрел. Норм инструмент промежуточный, но прям видно что на электроне написан.
Но я хочу сделать проект самому. Пока пет не заебашу даже ссусь начинать ходить по собесам. Точнее можно сказать - если я его сделаю и не сблюю, только тогда у меня появится уверенность, что это не просто хобби. Я типа конечно пидор-вкатывальщик, которых тут презирают. Но основная мотивация, что бы мне не было отвратительно заниматься работой, как на предыдущих трудоустройствах.
А для этого нужен фронт с фреймворком и еще и деплою потом научиться.
Там как раз подруга хотела попробовать интернет магаз с хендмейдом замутить.
1209 2012772
>>2012724
Просто оставлю это здесь.
https://t.me/myobrechenychannel/274
1210 2012822
>>2012772
Честно говоря после этого треда этот пост считай вода и трюизмы.
Кстати смотрел борисова у них в подкасте. Пиздец он душный и защищает галеры.
1211 2012827
>>2011940
Ну и зачем же ты такой агрессивный? Я просто хотел советов по вкатыванию в жаву.
1212 2012829
>>2012827
Качаешь
Jdk 11 и Intellij Idea Community
туториал
https://metanit.com/java/tutorial/
если мало глубины
https://rutracker.org/forum/viewtopic.php?t=5305854
если нужны задачи, чтобы хорошо усваивалось (но только задачи, лекции там говно)
https://stepik.org/course/10498/syllabus
https://stepik.org/course/187/syllabus
https://stepik.org/course/2403/syllabus
Лекции для закрепления
https://www.youtube.com/playlist?list=PLm2nrlGYLq1Uv1qYpqMC07JYoOXilEQZI
1213 2012836
>>2012829
Спасибо!
Можешь пояснить ваще за движ? Чем люди занимаются с жавой? Что ты кодишь, где работаешь? Какие возможности?
1214 2012842
>>2012829

> jdk 11


8. Речь же про ебаный майнкрафт.
1215 2012849
>>2012836
https://www.youtube.com/watch?v=eF9AuxI43Dc
Вот у парня, как раз подробно и понятно для детей вышло. Он там свои уроки еще рекламит средней паршивости.
1216 2012928
Перекатите это говно, сука.
1217 2012931
>>2012928
а иначе что?
1218 2012937
>>2012931
Пёрдну в ладошку.
1219 2012959
>>2011709
На ютубе есть полные курсы разной степени подробности, они как раз для вкатунов. Найди какой-нибудь, который сможешь посмотреть полностью. Можешь посмотреть несколько.
Самые простые книги, известные мне - Head First Java (K.Sierra) и Java Beginner's Guide (Schildt). Вторая достойнее. Если получится, то лучше прочитать книгу, чем читать/смотреть васянов с ютуба и жавараша. Если не получится - наверни васянов и попробуй ещё раз.
1220 2012973
>>2012959

>Head First Java (K.Sierra) и Java Beginner's Guide (Schildt)


Шпашиба, няша!
1221 2013012
У меня есть небольшая проблема.

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

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

То есть по сути я отсылал literally тот же самый запрос что и мой браузер, но лично я получал ошибку а браузер нет.

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

Я использовал библиотеку джава.нет и класс HttpUrlConnection

У кого то было похожее?
1222 2013084
>>2013012
Очевидно тебя забанил или их Web Application Firewall, решив что это DDoS атака или защита от Scraping.
1223 2013103
>>2013084
А как обойти их защиту от ддоса?
1224 2013155
>>2013103
Для начала удали все данные в браузере, запусти инструменты разработчика и открой страницу. И посмотри, что там происходит.

В некоторых случаях еще и капчу надо вводить. Но в целом, если браузер откроет страницу без необходимости ручками что-то делать, то просто возьми браузерный движок и отправляй запрос им. Погугли java webpage scraper на предмет какую библиотеку использовать.
1225 2013234
>>2012829
>>2012849
>>2012959
Теперь и майнкрафтерам советуют на полном серьезе, пиздец. Этот тред зашкварен, несите новый.
1226 2013249
>>2013234
Берегись своих желаний.
>>2013248 (OP)
1227 2013932
@Embedable или @OneToOne?
1228 2014347
>>2002929
запрос данных для лист вью и всякие неблокирующие фоновые операции. Для десктопа
изображение.png16 Кб, 819x123
1229 2049547
>>2003553
Вопрос уже вряд ли актуален, однако я не упущу лишний повод поразвлекаться с рефлексией
Тред утонул или удален.
Это копия, сохраненная 31 мая 2021 года.

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

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