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

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

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

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

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

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

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

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

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

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

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

https://github.com/qqqlll/Java-Thread/wiki
2 1420567
Что спросят на собеседовании в конторе со Spring у претендующего на джуна без опыта работы? В вакансии также указана конкарренси, о ней знаю только в рамках OCP, а там её отдают на откуп экзекьюторам.
3 1420595
>>20567
Зачем нужна инкапсуляция?
4 1420596
>>20595

>Зачем нужна инкапсуляция?



Чтобы было сложнее писать юнит тесты
5 1420597
>>20595
Чтобы предотвратить нежелательных изменения в полях класса, а также в качестве одного из инструментов реализации полиморфизма?
6 1420618
Почему в параметризуемых классах не сохраняется информация о классе дженерика? Если для производительности, то можно же было хранить ее как строку, а доставать через Class.forName
8 1420653
>>20618
Для обратной совместимости.
Информация прекрасно сохраняется. До тех пор, пока код не превращается в байткод.
9 1420667
Почему нельзя switch делать по long, Class и всему остальному? Почему в Guava такого не сделали?
sage 10 1420689
please write the legendary function najtiElementVMassive on the whiteboard
11 1420784
>>1420579

>Потому что в плюсы не сумел?


Как и ты
12 1420812
>>20667
Ну давай, как ты это делаешь в гуаве? Небось ключ - замыкание? Так это будет что-то уровня питона, там тоже свитча нет)
Вообще же вроде свитч чуть подкрутили, так что вариант с классом станет возможным. Про лонги хз, никогда такое не требовалось (правда я давно на котлине и вообще на ведре).
13 1420846
>>20812

>Небось ключ - замыкание?


Да, типа
Switch.for(value)
.case("a", () -> {...})
...
.default(() -> {...})
Но я уже почитал, что это для производительности сделано.
14 1421125
>>20784
Но я-то прекрасно начал на плюсах, и в яву перекатился из-за очевидных денег.
Пиздец, насколько ты тупой.
Весь пар выходит в пиздеж на дваче.
15 1421147
>>20667
Просто не допилили спеку и компилятор.
Технически switch можно сделать по любому константному выражению (compile time constant). Но с классами есть некоторые вопросы из-за ClassLoader-ов.
16 1421161
Нилда прочёл, что следующим посоветуешь, чтобы уверенно по sql на собесах отвечать (ну с учётом того что мы тут не администраторы БД всё-таки). Запросы пишу изич, но когда приходится копать "а как это работает", "а расскажи про ACID и зачем он", туплю.

На уровень джуна/недомидла.
17 1421164
>>20618
Смотря как параметризуемых.

Если: StrComparator implements Comparator<String> то информация сохраняется.

Если: NaturalComparator<T extends Comparable<T> implements Comparator<T> то тут не сохраняется. Потому что сохранение этой информации потребует генерации нового класса на каждый параметризованный тип. Создал ты new NaturalComparator<String>() сгенерируй новый класс прям на лету не с нуля конечно сгенерировать, а просто создать спецификацию существующего. Плюс это нарушает обратную совместимость.

В .NET например так и сделали, создают новые классы на каждую спецификацию generic-ов и создали новые классы коллекций с поддержкой generic-ов.
18 1421167
>>21161
дейт, моисеенко
19 1421189
>>21164

>В .NET например так и сделали


Когда-нибудь, вы узнаете, что есть такой язык С++....
20 1421197
>>21189
Когда нибудь и ты узнаешь, что в C++ нет дженериков, а есть шаблоны. И что шаблоны обрабатываются во время компиляции.
21 1421302
>>21197

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


как и дженерики в шарпе
Пиздец, насколько тупые люди приходят в ява-тред
22 1421303
>>21197

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


Расскажи скорее в какое время "обрабатываются" дженерики в Java?
23 1421311
>>21302

>как и дженерики в шарпе


>Пиздец, насколько тупые люди приходят в ява-тред


Я тоже не понимаю нахуя ты сюда пришел

>When a generic type is first constructed with a value type as a parameter, the runtime creates a specialized generic type with the supplied parameter or parameters substituted in the appropriate locations in the MSIL. Specialized generic types are created one time for each unique value type that is used as a parameter.


>Generics work somewhat differently for reference types. The first time a generic type is constructed with any reference type, the runtime creates a specialized generic type with object references substituted for the parameters in the MSIL. Then, every time that a constructed type is instantiated with a reference type as its parameter, regardless of what type it is, the runtime reuses the previously created specialized version of the generic type.


https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/generics-in-the-run-time

>>21303

>Расскажи скорее в какое время "обрабатываются" дженерики в Java?


Лупоглазый прочти, что что в >>21189 написанно:

>>В .NET например так и сделали


>Когда-нибудь, вы узнаете, что есть такой язык С++....


Там написнанно про .NET, я про .NET и отвечал. А в какое время обрабатываются дженерики на Яве я писал >>21164
24 1421577
>>21125

>в яву перекатился из-за очевидных денег


Гавнокодерам не платят и поэтому ты и укатился из настоящего программирования.
25 1421611
Какие есть библиотеки для работы с ssh?
Беглый поиск выдал мне следующее:
http://www.jcraft.com/jsch/ - низкоуровневая хрень с кривой архитектурой.
http://ssh.jcabi.com/ - лучше, но не могу авторизироваться по (логин, пароль)
https://github.com/hierynomus/sshj - еще лучше, но не нашел как адекватно работать с судой.
sage 26 1421642
Было дело, прикрутил я спринг шедулер для проекта, нужно было обновлять небольшие данные со временем. Но пришёл чувак постарше и сказал, что нахуй надо, нужно переделывать на отдельный микросервис, который будет дёргать эти методы по крону.
Так вот в чём вопрос, что плохого в сприговом @Scheduled?
27 1421643
28 1421645
>>21642
Это была проверка, и ты ее не прошел.
29 1421658
>>21577
ты пришел на двачи хвастать настоящим программированием, и тем, что тебе, "гавнокодеру" не платят?
умничка какая
попрыгай еще, ебланчик
30 1421659
>>21642
1. А почему ты его об этом не спросил?
2. если тебе надо будет поменять расписание, что ты будешь делать в случае крона, а что в случае @Scheduled?
sage 31 1421664
>>21659
1. боюсь
2. @Scheduled тоже планировался запускаться кроном из конфигов. Так что разницы не вижу.
32 1421670
>>21664

>@Scheduled тоже планировался запускаться кроном из конфигов.


Чо-то ржу

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

33 1421671
>>21664

>2. @Scheduled тоже планировался запускаться кроном из конфигов. Так что разницы не вижу.


Ты не потрудился ответить на вопрос, вот и не видишь.
Сядь, напиши ручкой по бумаге ВСЕ шаги, которые надо сделать в одном случае, и в другом. Вдумчиво прочти.
34 1421673
>>21658
Найс разрыв
35 1421700
>>21670

>Чо-то ржу


Тот анон очевидно имел в виду вынесенное в конфиг крон-выражение, так что ржешь ты не в кассу. Ну и в любом случае правильный ответ - quartz scheduler
36 1421725
>>21700

>Тот анон очевидно имел в виду


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

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

Пользовал кварц, когда спринг еще не был зачат
37 1421843
>>21611
Юзай JSch и не выебывайся, архитектура ему видите ли кривая. То же мне Архитектор Мендисабаль нашелся.
image.png5 Кб, 378x58
38 1421869
>>21843
Пожиратель говна в треде.
Ты сам то с ним работал? С первых строк говнокод.
39 1421873
>>21611

>http://ssh.jcabi.com/


>Shell ssh = new Shell.Verbose(


new Shell.Safe(
new SSH(
"ssh.example.com", 22,
"yegor", "-----BEGIN RSA PRIVATE KEY-----..."
)
)
);

Сразу угадывается шизик бугаенко, даже не думай использовать, он все свои поделия забрасывает и это уже не говоря о том какой шизоидный код там.
40 1421885
Up
image.png69 Кб, 751x532
41 1421887
Вкатываюсь в реактор. Это норма, что я так обхожу дженерики? Типа там требуется Mono<String>, а по факту у меня никакой строки нет, и я скармливаю ему Mono<String>.empty().Нет никаких нон-дженерик версий switchIfEmpty или типа того?
42 1421926
>>21887
Mono<Void>
???
image.png5 Кб, 773x161
43 1421931
>>21873
Святого Егора не трожь!
45 1421953
>>21948
А что там должно быть, по-твоему?
46 1422009
Есть ли название для мапы, обернутой в статик класс с одним методом get, которая заполняется в блоке static?
47 1422086
Привет, гуру-джависты

Аноны, буду признателен за совет. Я не джавист (а хотел им быть), работаю консультантом it по облачным техномологиям + занимаюсь фрилансом, делая всякое говно в системе для клиента (формы, интерфейсы на xml, sql + чуть api), короче не суть, говно.
У меня появилась задача за пару месяцев наклепать на Maven аддон (или application, кому как), который будет интегрирован в эту облачную систему, собирать данные и генерировать всякое говно, типа документов и формочек.
Из джавы помню только синаксис. Это вообще ебать реально? или я надел розовые очки и думаю, что имея реальную задачу, по вечерам и выходным смогу въехать, бегло изучив core , многопоточность и прочее? спасибо
48 1422087
Ебать я тупой
Я думал, что maven-это чтото типа фреймворка.

>>22086-идиот
49 1422090
>>22087
На выходных сможешь въехать, но мавен скучное говно, может быть заебет быстро и бросишь
50 1422100
>>21926
Так нельзя в switchIfEmpty скормить Mono с другим типом.
51 1422160
>>22009
Статик класс имеешь в виду внутренний Статик класс, или все таки поле Статик?
Я бы назвал с суффиксом FinalMap наверное
Мимонуб
image.png40 Кб, 671x255
52 1422190
>>22160
Пикрил.
53 1422248
>>21869

>Пожиратель говна в треде.


Представился? Молодец!

>>21869

>Ты сам то с ним работал? С первых строк говнокод.


Работал, простая и стабильная библиотека, используется как основа в куче других проектов. Сделай свои врапер-классы поверх и будет тебе красивое API.

Хочешь красоты: иди бугаевщену юзай >>21873 там все по канонам.
54 1422256
>>22190
Можешь класс назвать ObjectsIcons, ну или там IconsFor3Dobjects если ты не ниндзя.
get() лучше переименуй в getImage(), да и в параметры передавай объект а уже в методе по факту класс вытаскивай.
Было: IconStorage.get(mySphere.getClass());
Стало: IconsFor3Dobjects.getImage(mySphere);
Поменял мочу на говно ну и хуй с ним.
55 1422258
>>22256

>Поменял мочу на говно ну и хуй с ним.


Вот именно, смысл? Про название метода я раньше спрашивал, так как это статический класс, не вижу смысла дублировать. Мне просто интересно, как обычно реализовывается подобное.
56 1422260
>>22258

>Мне просто интересно, как обычно реализовывается подобное.


Через AOP и JNDI. Можно еще хранимок добавить.
57 1422269
>>22258

>Мне просто интересно, как обычно реализовывается подобное.


В 2019 обычно пишут отдельный микросервис, туда кладут пикчи, поднимают REST API и через него запрашивают картинки
58 1422273
>>22269
Для реалтайм меньше-17мс-на-кадр игр тоже микросервисы пишут и рестом картинки запрашивают?
59 1422274
>>22273
Ну да, а ты что думал? Все это в кластер и несколько копий микросервиса для реданданси и феил толеранс. Иначе как объяснить заказчику что маленькую хуету делают несколько месяцев?

тру стори, как же заебали мудаки пихающие микросервисы во все проекты
60 1422275
>>22273
На чем пишешь 3D? Libgdx?
61 1422296
>>22260
Не, ну а чо, давайте еще и RMI до кучи подложим, а то, гляжу, подзабыли уже нестареющую классику.
62 1422297
>>22190
А у тебя сколько всего классов-то будет?
Может, тебе будет быстрее свитч по енуму сделать?
Ну, чем вся эта ебатория с мэпом, и т. д.

Хотя, конечно, для пользователя такие тонкости неважны, всегда моно переделать.
63 1422298
>>22258

> Мне просто интересно, как обычно реализовывается подобное.


Через lazy init, детали которого зависят от того, какой у тебя источник картинок?
64 1422350
>>22297
Это все классы, которые там будут. Возможно If-else еще лучше будет. Просто так как иконки используются из разных мест, я решил вынести это в отдельный класс.
65 1422478
Джава не поддерживает аргументы по умолчанию?

Например
void metod1(int a = 111){
System.out.println(a);
}

method1();
method1(1488);
66 1422498
>>22478
Все возможно с помощью магии Spring. Рот их ебал превратили жабу в декламатор аннотаций
@Autowired
void metod1( @Value("111") int a){
System.out.println(a);
}
67 1422501
>>22498

>@Value("111")


Это какая-то препроцессорная обработка?
68 1422512
>>22478
в какой-нибудь следующей версии обязательно будет
в каждую новую версию обязательно тянут какое-нибудь говно, про которое раньше кричали "никогда мы на такую хуйню не пойдем!"

в ява20, глядишь, и множественное наследование завезут
69 1422513
>>22501
Нет. В рантайме
70 1422521
>>22512

>в ява20, глядишь, и множественное наследование завезут


Обожи... Но джава же его поддерживает

>такую хуйню


А что хуйня-то сразу? Нормальное же решение
71 1422549
>>22521

>Но джава же его поддерживает


Нет

>А что хуйня-то сразу? Нормальное же решение


Хуевое решение
Никто тебе не мешает сделать метод с сигнатурой, в которой твой "дефолтный" параметр просто отсутствует.
И из него вызывать нормальный метод, передавая дефолтное значение.
72 1422565
>>22549
Жирно
73 1422594
>>22549

>Никто тебе не мешает сделать метод с сигнатурой


И получить вместо сотни методов четыреста. Молодец.
74 1422596
>>22478
Этого можно добиться с помощью перегрузки метода.
75 1422597
Блядь, прислали на два дня простейшее задание, а я представления не имею, как работать с soap
76 1422599
>>22596
Я не спрашивал как получить результат
77 1422602
>>22594
Значит весь дизайн твоего класса хуевый.

Егор
78 1422612
>>22597
Уу, удачи, чел. Даже в Спринге эта хуйня через жопу работает.
79 1422616
>>22612
Я пока с проблемами в программной части не столкнулся даже, если честно. Не могу обычным post вытащить с сервиса то, что мне нужно.
80 1422617
>>22602
Не моего, а их. Поэтому им и нужон дефолтный аргумент.
81 1422652
блядь я даже от отчаяния нашёл на гитхабе решение того же тестового задания, что и у меня, но программа не выполняет всего того, что я бы хотел, чтобы она выполняла. Зато она работает, а я долбоёбом себя чувствую.
82 1422656
>>22190
>>22009
Это же фабрика по сути. Я бы назвал ImageFactory.
83 1422658
Javaноны, насколько сложнее/легче изучить с нуля Хуйбирнет со всеми кишочками, чем Спрэнг Кор с ними же?
84 1422663
>>20539 (OP)
Привет, анон вкатываюсь, подскажи нужно ли изучить джаву для перехода на котлин?
85 1422666
>>22498
Без @Autowired не сработает? @Value же должен на стадии обработки BeanDefinition заинжектиться, а автовайринг обрабатывается на стадии постпроцессинга бинов. Я как раз начал в кишочках копаться, расскажите, кто знает.
86 1422680
Блядь, нашёл два решения тестового, которое мне дали, и оба варианта я пробовал и оба у меня не получились, блядь. Осталось ещё под спринг одно найти и тогда я точно лучше Настя.
87 1422691
Поясните за Apache Kafka / Camel / JBoss Fuse.
Кто нибудь работал с этим всем?
88 1422695
>>22691

>Apache Kafka / Camel / JBoss Fuse.



норм/говно/хз
89 1422696
>>22594
Золотое правило: если тебе нужна подпорка (типа дефолтного значения в сигнатуре), значит ты хуево продумал все.

Говняное правило: если у тебя в классе сто методов, каждому из которых нужна подпорка, то ты говно.
90 1422697
>>22658
Насколько сложнее научиться управлять самолетом, чем подводной лодкой?
И на хуя тебе их кишочки?
91 1422699
>>22695
Есть 2 стула.
1й вот видимо пикрил, хотя я до конца не понял пока что там конкретно делать, лол. Даже после 2х собесов.
2й Микросервисы на Спринге, который я в целом нормально умею.
Но 1й вариант в 2 раза почти больше денег.
92 1422707
>>22658

>Спрэнг Кор


Не надо ничего учить. Проследуй в javascript тред. Там тебе все объяснять.
93 1422714
>>22707
Чего? Ты стриггерился от исковерканного названия? Я тебя не понял.
>>22697
Я имею в виду временные затраты. Сколько у знающего анона ушло времени на изучение каждого из них.
94 1422721
>>22512

>в ява20, глядишь, и множественное наследование завезут


Зачем? В интерфейсы и так уже можно все что хочешь пихать.
95 1422723
>>22656
Молодец, и что же она производит? Не стоит все классы называть по имени паттернов.
96 1422726
>>22723
А какая разница? Создание объектов инкапсулировано в специальном классе? Да. Значит, фабрика. Да и производит она картинки, очевидно.
97 1422728
>>22726
Но она не создает картинки, а всего лишь достает их с диска. Это репозиторий.
98 1422729
>>22728
Нет, это ДАО.
99 1422731
>>22723
Да и анон спросил, как такое называется. Я сказал, что фабрика. Что не так?
100 1422733
>>22728
Хорошо, то есть, по-твоему, чтобы объект назывался фабрикой, он должен не заниматься созданием инстансов, а рисовать картинки? Не думаешь, что речь именно о создании java-объектов?
101 1422734
>>22733
Так он и не создает java-объекты, он достает их из мапы.
102 1422735
>>22734
Так а в мапу их кто кладет? JVM?
103 1422736
>>22696
Эти правила работают только для Laba1.java
104 1422737
>>22735
А кто?
image.png114 Кб, 512x512
105 1422738
>>22737
Что ж, справебыдло. Тут как посмотреть. Но ты меня понял.
106 1422746
>>22666
Сработает и без @Autowired. Главное чтобы метод через контейнер вызывался.
107 1422790
как написать сайт с крудом на джаве?
Безымянный.png35 Кб, 1134x375
108 1422791
Это вообще кем и для кого делалось? Я столько не выпью чтобы мапинг регулярками в голове резолвить.
109 1422795
>>22729
Это Pointcut же, ну. Нужно хуярить Advice.
110 1422799
>>22791
Это пример же, типа так можно. В реальной жизни не нужно
111 1422800
>>22791
Что сложного-то в этой регулярке? Очень удобная штука так-то, если лень писать кастомные валидаторы.
112 1422818
>>22714

>Я имею в виду временные затраты.


Блядь, это разные вещи для разных целей.
Причем и то, и другое покрывает до хуя этих самых целей.
Никто не знает, какие у тебя нужды, и что ты всосешь легко, а что нет.
Если у тебя нет проекта, где нужно хуярить БД, изучать хибернейт бесполезно.
Особенно, если ты никогда не ебал БД без хибернейта.

Все то же самое со спрингом.
113 1422819
>>22736
Когда ты дойдешь до Laba2.java, убедишься, что и для него они тоже сработают.
Не останавливайся, иди вперед.
114 1422820
>>22721
Зачем завезли var?
Зачем завезли вараргс?
Этот список "зачем" можно продолжать бесконечно.
Потому что в Оракле, в отличие от Сана, мудаки сидят. Поэтому ява будет все больше и больше наполняться говном.
115 1422821
>>22820

>Зачем завезли вараргс


Слыш, нахуй иди.
116 1422822
>>22728
Это сапплаер или провайдер.
Вы заебали.
117 1422825
>>22821
О, а вот и говноеды пожаловали.
Для вас специальный язык же сделали. Даже со словом java.
Хули ты им не пользуешься, а лезешь сюда?
118 1422826
>>22825
Аргументированно.
119 1422830
>>22819
Когда ты дойдешь до чего-то сложнее LabaN.java и написанным не тобой, то убедишься, что эти правила перестают работать. Оставь их для академиков.
120 1422836
>>22818
Ты мог бы привести свой опыт, и этого было бы достаточно.
121 1422837
>>22663
Нет
122 1422841
>>22822
Вообще-то драйвер, ведь там обеспечивается связь java-кода с данными на диске.
123 1422850
>>22841
Нет.
Что там внутри, никого не ебет.
Всех ебет только интерфейс.
В интерефейсе он отдает картинки.
Где он их берет, дело десятое.
124 1422851
>>22830
Ценный совет от школьника.
Спасибо, школьник.
125 1422856
блять не кидайте в меня камни я к вам по сути никакого отношения не имею но надо сделать одно задание .
Написать скрипт, который выводит теги input (элементы управления) разного типа, в зависимости от введенной цифры:
1 - текстовое поле,
2 - кнопка,
3 - radio (переключатель).
Количество выведенных тегов должно тоже запрашиваться.
я уверен что для знающего человека это просто но я не таков и для меня это пиздец сложно и по моему профилю это нахуй не нужно
126 1422863
>>22850

>В интерефейсе он отдает картинки.


Viewmodel значиться... Так и запишем.
127 1422864
>>22856
Мы должны в голове угадать какие инструменты тебе по условию задачи использовать блять? AWT, SWT, Swing, JavaFX, говно, моча...
128 1422865
>>22820

>Зачем завезли var?


Что бы не писать final ProxyFactoryBean proxyFactoryBean = new XmlPullProxyFactorySingletoneBean(...);

>Зачем завезли вараргс?


Что бы например писать Arrays.asList(govno, mocha, ...), вместо: Arrays.asList(new GovnoMocha[]{govno, mocha, ...})
129 1422866
>>22850
Ты не понял, что это была шутка. А если серьезно, то я считаю, что это фабрика, как и писал выше. Ибо инкапсулирует создание объектов.
130 1422867
>>22864
я нихуя не понял из того что ты написал но это делаеться через блокнот ) в формате html столько информации достаточно ?
131 1422868
>>22867
Тебе в тред html-программистов, мы тут обсуждаем название куска кода, не мешай.
132 1422872
>>22866

>А если серьезно, то я считаю, что это фабрика, как и писал выше. Ибо инкапсулирует создание объектов.


Получается Person.getHole(Hole.Anus) то же фабрика?
133 1422875
>>22872
Если персона настолько важная, что занимается исключительно созданием анусов, тогда да. А если это просто одно из ее полей, то нет.
134 1422879
>>22865
"программист" отвечает на риторические вопросы
Причем, неправильно
135 1422883
>>22866

>инкапсулирует создание объектов.


Еще раз: нет.
Никого не ебет, создание там объектов, или что-то другое.
Важно то, какой интерфейс торчит наружу.
Наружу торчит get
вот если бы торчало getNewInstance, тогда, ок, была бы фабрика
136 1422884
>>22883

>getNewInstance()


SingletonFactory, ты ли это?
137 1422885
>>22883
То есть, ты оцениваешь интерфейс по названию метода, а не по его сигнатуре? Ладно, проехали. В любом случае ты не прав, потому что внутренности для архитектуры точно так же важны: смысл фабрики именно в том, чтобы изолировать создание объектов от другой логики. Для этого их и создают, а интерфейс там плюс-минус одинаковый от фабрики к фабрике. Еще раз: важно то, что этот объект занимается созданием инстансов, в данном случае - инстансов Image. Как он их там хранит и какой именно интерфейс для их получения предоставляет уже не так важно.
138 1422893
>>22885

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


Этот объект не занимается созданием инстансов. Он вообще ничем не занимается, объекты создаются в статическом блоке, а инстансов у этого класса вообще нет. Так что это типичный спринговый репозиторий.
139 1422897
>>22885

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



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

Пользователь твоего ебаного класса в душе не ебет, что там у него внутри.
Он видит только public методы и переменные.
Блядь, иди на хуй, короче.
Заебали. Ни языков программирования не знают, ни своего родного не понимают.
sage 140 1422934
>>22897
Нихуя у школьника пукан подорвался. Литературу на лето уже начал читать, архитектуру мамкин? :) А то училка наругает :)
sage 141 1422935
>>22934
архитектор*
142 1422990
>>22879
Ну охуеть теперь. И как же будет правильно умничка ты наша?
143 1423048
>>22897
Хоть бы Head First сперва почитал, дегенерат ебаный. Сам ведь нихуя не понял, из того, что я сказал. Речь вообще не о пользовательской точке зрения шла. Говнокода, блять, начитались. Или крышу срывает от чсв? Ни о чем думать не хотят, кроме интерфейсов. Пока new по всем классам не разбросает.
144 1423081
>>22897
Проорал с этого школьника, пиздец тут дегенераты сидят
145 1423089
>>22934
>>23048
>>23081
Мамку ебал
146 1423123
>>23089
Школьник, плиз.
147 1423132
>>23123
Папку ебал
148 1423190
Посоны, нужна помощь по мейвену.
Добавил в проэкт локально руками одну нужную библиотеку.
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<scope>system</scope>
<systemPath>${basedir}/lib/my_custom_lib.jar</systemPath>
</dependency>
Но эта библиотека - своего рода мини проэкт, у которого в МЕТА-ИНФ есть свой pom.xml с другими завистимостями. И эти зависимости не добавляются.
Как сделать, чтоб зависимости моей локальной библиотеки нормально добавлялись?
149 1423208
>>23190
Может, нужно не в мавене прописывать этот проект, а подключать как модуль?
150 1423215
>>23208
Ну таких библиотек на самом деле несколько и лучше, чтоб они лежали в проэткте. Просто когда они были "обычными" зависимостями, и брались из артефактори, то и с их зависимостями не было проблем.
151 1423225
>>23215
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
Думаю, что раздел Importing Dependencies - то, что тебе нужно.
Безымянный.jpg86 Кб, 616x788
152 1423267
Рейт резюме.
Само собой на инглиш переведу.
Вопросы:
1) Фотку все же стоит всунуть?
2) Я ебал в рот писать о себе, это ничего?
3) Норма что не стал описывать проекты? Они все на гите лежат, гит указан.
153 1423278
>>23215
Не делай через системПас
Сделай скрипт, который первым делом будет локально устанавливать все эти твои либы в репозиторий
И подключай их в поме уже как обычные
Тогда мейвену будет по хер - локальные они, или глобальные - уже стоят в репозитории? - ну и заебись, дальше пляшем

типа
call mvn install:install-file -Dfile=01-install_jars\arial-fonts.jar -DgroupId=ru.mcdd -DartifactId=arial-fonts -Dversion=1.0 -Dpackaging=jar
154 1423290
>>23267
Поржал с PhpMyAdmin. Вообще основная проблема этого резюме что оно не отличается от тысяч других подобных. Убери хуету что ты знаешь phpMyAdmin и сборщики проектов, лучше подробно опиши свои проекты какие делал и по каждому проекту какие технологии применял и что интересного делал, такое резюме бы больше зацепило, ну и сделай нормальное оформление, фото редко у кого видел.
155 1423293
>>23290

>Поржал с PhpMyAdmin


Забыл убрать
Да вот боюсь в креатив, там же ебанутые бабы сидят которые по шаблону смотрят.
156 1423392
Как организовать хранение пополняющихся данных, с необходимостью их удалять и иметь к ним доступ по индексу, не прибегая к базам данных, но сохраняя связи между объектами?
Первое, что мне пришло в голову - это просто записывать эти файлы так же, как записываются csv файлы для импорта в базу. Другой вопрос, что целиком файлы грузить в память, пожалуй, не имеет смысла, но тогда для доступа нужно будет каждый раз просматривать файл с самого начала - это ведь достаточно затратные операции?
Также потом пришла в голову сериализация, но тогда тоже встаёт вопрос о том, каким образом выгружать данные - целиком это в перспективе будет слишком затратно.
Может кто-нибудь посоветовать что-то или раскритиковать окончательно уже имеющиеся варианты?
157 1423399
>>23392
А чем реляционная бд не устраивает? Как раз идеально для твоей задачи. Но можно попробовать накостылять что-то типа одного файла, хранящего отношения между объектами по их индексам, а сами индексы пусть создаются и резолвятся кодом, например, в виде названия файла или каких-нибудь метаданных, я хз. Вообще идея странная.
изображение.png18 Кб, 793x312
158 1423410
>>23399
Всем устраивает - она является частью задания, но не прямым способом хранения информации. То есть, потом нужно будет организовать их взаимодействие.

>Вообще идея странная.


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

>отношения между объектами по их индексам


Вот и я о чем-то таком думал. То есть, этот файл загружается первым, а поиск конкретных объектов уже делать построчно.
159 1423421
>>23410
Я бы сделал тупо в лоб - сериализацией. И похер, что этот подход на большом объеме данных все поломает: в реальном приложении все равно использовалась бы бд, имхо.

>Там ещё упомянуты библиотеки для логов


Это для того, чтобы показать, какой у тебя правильный код, потому что логгирование используется на любом более-менее серьезном проекте.
160 1423433
>>23421
Спасибо.
161 1423434
>>23410
Ну а в чем проблема?
После каждого обновления данных срочно пишешь все свои объекты в отдельные файлы.
При старте читаешь все в память.
Все через хэшмэпы, если тебе надо связи держать.
Хотя никто не мешает тебе в объектах держать ссылки друг на друга.
Только не забудь их выкинуть из сериализации. Иначе она никогда не закончится
162 1423447
>>23410
жсоном каким-нибудь.
163 1423449
>>23434

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


>Только не забудь их выкинуть из сериализации.


Вот тут, если честно, я не совсем понял. Если вынуть ссылки из объектов, то как сохранить связь? Или имеется в виду параллельное сохранение списка этих связей и восстановление их по нему?
164 1423494
>>23449
class A {
Integer ID;
Integer idB;
....
}
вот так ты сохраняешь связи при сериализации.
но тогда тебе неудобно тягать объект Б по его ИД.
поэтому в памяти удобнее делать
class A {
Integer ID;
B b;
...
}

все упирается в правильную сериализацию/десериализацию
165 1423510
>>23449
Ничего не нужно выкидывать. Главное чтобы не было цикличных ссылок в объектах типа A -> B -> A. Ебашь сериализацию в Json - это самый универсальный вариант, потом твои данные можно будет без проблем прочесть любым куском говна. Бери Gson библиотеку от Google, там все на похуях через рефлексию заебашиться. Ну а так как после восстановления у тебя вместо множества ссылок на один и тот же объект будет множество новых одинаковых объектов то обязательно переопределяй equals() и hashCode()
166 1423521
>>23510
>>23494
Спасибо.
167 1423544
>>23494
Хотя этот аноний прав. После десериализации при хуевом проектировании у тебя нарушаться ссылочные связи между объектами. Поэтому нужно обязательно контролировать чтобы в приложении в любой момент времени был только один уникальный объект User, Issue и Project, никаких ссылок на другие объекты в полях класса. Все стейт объекты достаются по ID из DAO класса. Получиться что-то типа этого:
class MyStorage {
Map<Integer, User> users;
Map<Integer, Issue> issues;
Map<Integer, Poject> projects;
}
class Project {
int id;
List<Integer> issuesId;
}
class Issue {
int id;
int projectId;
int userId;
}
class User {
int id;
List<Integer> issuesId;
}
Главное при удалении того же Issue не забыть удалить ненужные теперь индексы из других классов User и Project. Сами объекты естественно удаляются только через DAO, не забудь подчистить мертвые индексы в других объектах.>>23521
168 1423546
>>23544
Не List<Integer> а Set<Integer> так будет правильнее.
169 1423549
>>23544
Спасибо большое ещё раз.
170 1423582
>>23190
<type>pom</type>?
Ну или как-то так.
171 1423583
>>23544

>class MyStorage {


>Map<Integer, User> users;


>Map<Integer, Issue> issues;


>Map<Integer, Poject> projects;


>}


Только не MyStorage, а MyFactory.
172 1423588
>>23583
Да ты заебал со своей фабрикой.
173 1423590
>>23588
Чини детектор. И учи паттерны, я за слежу за твоим кодом.
174 1423591
>>23510

>Ничего не нужно выкидывать


Это только так кажется.
А потом окажется, что у тебя после десериализации по нескольку инстансов одного и того же объекта.
Особенно, если ты будешь "ебашить самые универсальные варианты"
175 1423602
>>23590
Ну ладно, поясни тогда почему ты решил эту хуйню назвать фабрикой
176 1423604
>>23602
Поясняю:

>Чини детектор.

177 1423623
>>23267
Скилов много указано, а с опытом непонятно - откуда собсвенно более года Явы и более 2-х лет крестов?

Лучше начать с опыта работы: где работал, что за проект, твоя роль на проекте, какие ключевые технологии на проекте. Если опыт это учебные проекты: описание проекта, технологии, если было каое-то практическое использование проекта (типа отдел кадров стал использовать приложение ХХХ) или успешно защитил курсач то тоже пиши, нет - лучше промолчи. А в конце уже можно указать список баз вордз.

В российские компании фотка не нужна, а заграницу тебя с такми CV не возьмут. Но если есть хорошее "профессиональное" фото - то добавь (профессиональное - это то где ты выглядишь профессионалом, как на этих стоковых фото).
178 1423634
Как бы вы задизайнили такую штуку: есть игра камень-ножницы-бумага. Есть енум который описывает фигуру камень, ножницы или бумага и надо сделать метод который сравнит их между собой и вернет результат сравнения: LOOSE, DRAW, WIN. Как это реализовать без толпы if, матрица сравнений, мэпы, выебнуться с математикой?
179 1423637
>>23634
Comparable
180 1423643
>>23637
1. Это не отвечает на вопрос: КАК реализовать сравнение.
2. Реализация такого сравнения нарушает контракт Comparable.
181 1423644
>>23634
Не loose, а lose. А так да, компэрэбл.
182 1423645
183 1423646
>>23643
Создай объект ResultFactoryResolver, в нем метод resolve(Figure fig1, Figure fig2) и вызывай его, а в нем уже compareTo(Figure figure). Хотя если выебываться крутой расширяемой архитектурой на 3+ человек, то тут уже думать надо.
184 1423647
>>23643
Ниче не нарушает. Все фигуры реализуют один интерфейс. Внутри метода compare класса Rock пишешь if (o instanceof Paper) return -1 и так далее.
185 1423648
>>23634
Создал бы три абстрактные фабрики синглтонов:
KamenAbstractSingletonFactory,
NozhnicyAbstractSingletonFactory,
BumagaAbstractSingletonFactory.
Написал бы конкретную реализацию под интерфейс игры, ну а дальше и так понятно как заимплементить.

миможабасеньор300кквнаноэпоху
186 1423649
>>23648
Ееееееееееееееееееееееее, ФАКТОРИИИИ!!1
187 1423652
>>23647
Нарушает свойство транзитивности.

>>23646
Вопрос не в том где написать этот метод, а КАК его написать так чтобы было понятно и читабельно. Простейший вариант это if, но выглядит такое код не очень.
188 1423653
>>23652

>Нарушает свойство транзитивности.


Ну и соси хуй со своей транзитивностью, вместо решения бизнес-задачи.
189 1423654
>>23652

>Нарушает свойство транзитивности.


Нет
190 1423658
>>23652
Ифы или свитчи все равно придется делать.
191 1423659
>>23648
Двачую, очевидно без фабрик здесь не обойтись. Шизики сверху про какую-то транзитивность пишут, их игнорируй - это школота
192 1423666
>>23652
Дополню >>23658:
Если хочешь совсем по-дебильному сделать и размазать ифы по коду, но добавить поддержку овер 9000 игроков, то сделай декоратор: объект PlayerDecision, у которого поле PlayerDecision и метод int compareTo().
193 1423668
>>23654
камень > ножницы
ножницы > бумага
по свойству транзитивности следует
камень > бумага

>>23653
Дебил, из постановки ясно что это тестовое задание.

>>23658
Можно сделать по классике из теории множеств: задать отношение матрицей я у мамы математик. Можно попытаться придумать что-то с числовыми коэффициентами, и суммой/разностью по модулю олимпиадник 80 лвл. А в идеале хотелось бы что-то элегантное и простое.
194 1423671
>>23658
Ща придет егор бугаенко и выебет за енум, но все же:

public enum Figura {

BUMAGA {
public boolean beats(Figura other){
return other == KAMEN;
}
},
NOZNICY{
public boolean beats(Figura other){
return other == BUMAGA;
}
},
KAMEN{
public boolean beats(Figura other){
return other == NOZNICY;
}
};

boolean beats(Figura other);

}

}
195 1423674
>>23671
Я бы заменил оверайд метода, на просто поле. Но в целом мне нравится, метод сравнения реализуетя довольно просто.
Зачёт!
196 1423677
>>23634
Я бы сделал набор правил вертикальным декораторами.
197 1423679
>>23677
Поподробней?
198 1423683
>>23679
public final class GameRule implements IRule {
private final IRule nextRule;
private final Game.SHAPE winner;
private final Game.SHAPE looser;
@Override
public boolean firstBeatsSecond(Game.SHAPE first, second) {
return (first == winner && second == looser) ? true : nextRule.firstBeatsSecond(f, s);
}
}

IRule rules = new Rule(Game.SHAPE.Stone, Game.SHAPE.Scissors,
new Rule(Game.SHAPE.Scissors, Game.SHAPE.Paper,
...
))
Дальше уже для каждого игрока проверяешь правила:
boolean redWins = rules.firstBeatsSecond(red, blue);
boolean blueWins = rules.firstBeatsSecond(blue, red);

Это если чисто врезать только правила.
199 1423684
>>23668
По твоему тебе дают тестовое задание, не для того, чтобы посмотреть, как ты будешь решать бизнес задачи?
200 1423686
>>22190
А почему бы тут не заменить ключ мапы на Class.getSimpleName? Тогда можно мапу вообще убрать и использовать свитч, а сами картинки задать как константы. Тогда можно это все заменить вообще на енум и сделать Icon.forClass(Class clazz).getImage();
201 1423688
>>23634
Нахуй не мудри, напиши пока так:
public String gameResult() {
return "YOU LOSE";
}
И в продакшн. Потом фичи добавишь как понадобятся.
202 1423689
>>23683
А как связать два SHAPE и конкретный IRule?

>>23684
По разному, кто-то дает максимально практичное задание: заебоште нам REST сервис.
А вот coding task у всяких Google, Amazon и прочих Microsoft не связан с практическими зачами и направлен на то как ты мыслишь и решаешь не типовые задачи, какая у тебя базовая CS подготовка и т.п.
203 1423690
>>23688
Опечатка, должно быть "YOU LOSER"
204 1423694
>>23689

>А как связать два SHAPE и конкретный IRule?


Не понял вопрос.
205 1423696
>>23694
Есть два SHAPE для двух игроков, нужно получить IRule и получить результат игры. Как это сделать?
206 1423699
>>23696
Зачем тебе конкретный IRule получать?
Ты делаешь набор правил, и у набора спрашиваешь, бьет ли фигура первого игрока фигуру второго. Потом ты спрашиваешь, бьет ли фигура второго игрока фигуру первого.
207 1423702
>>23699
Да, второй раз можно не спрашивать, если добавить правило RuleDraw, сравнивая одинаковые ли фигуры, и изменив сигнатуру метода-вопроса. Но это годится только для данного случая.
208 1423704
>>23699
Чому не сделать список IRule просто? Какую проблему решают декораторы?
image.png23 Кб, 769x461
209 1423705
>>23704
Что если первым в списке будет правило, которое выдаст ничью? Как узнать, нужно ли дальше обращаться к правилам?
210 1423745
хей народ подскажите что почитаь по Java с углублением в JVM (что-то типа Рихтера clr vi C# но для Java)?
211 1423750
>>23623

>где работал, что за проект, твоя роль на проекте, какие ключевые технологии на проекте


Нигде:(
212 1423767
>>23750
Тебе в любом случае надо рассказать про свой опыт:
- Тестовый проект ХХХ, проек приложение которое бла-бла-бла, использованные технологии А, Б, В. Код проекта доступен <ссылка на гитхаб>
- Курсова работа по теме ХХХ...
- Стажировка в УУУ...

Тебе надо максимально полно и подробно рассказать про себя, так чтобы прочитав твое резюме стало понятно, что ты знаешь умеешь потом это еще дополнительно проверят. Если описание прокта покажется интересны, то гитхаб посмотрят, но перелопачивать твой гитхаб чтобы просто понять, с чем ты работал никто не будет. И писать уточнять "у вас тут не совсем понятно написано ..." тоже не будут, так что постарайся сам про себя рассказать. Но без фанатизма, 5-ти страничное резюме джуна без опыта никто читать не будет.
213 1423943
https://dou.ua/lenta/articles/javaee-vs-spring/
Насколько это верное сравнение?
214 1423973
>>23943
Зочем тебе это, JEE никто не использует
215 1424061
>>23973
Используют еще как. Новая версия в чем то даже интересней спринга.
216 1424092
>>24061
Я с жее не работал, но это ведь еще более тяжкая в поддержке тырпрайз-параша? З.Ы. Спринг охуенен.
217 1424104
>>24092
Новая очень похожа на спринг. Аннотации, тот же ДИ, АОП, подгонка под solid ит д.
Старая говно.
218 1424105
>>24104

>Новая очень похожа на спринг.


Пруфы с картинками.
219 1424125
>>24104

>Новая очень похожа на спринг


Вот когда EE стек можно будет запустить вне спец серверов тогда приходи.
blob93 Кб, 475x380
220 1424127
>>24105

>>Новая очень похожа на спринг.


>Пруфы с картинками.


Слева ж2ее новая, справа спринг.
Или наоборот.
Они так похожи, что я путаю постоянно
222 1424251
Пиздец, до чего же спринг бут сложный внутри. Лучше бы не смотрел Spring Boot the Ripper. С другой стороны, нужно ли вообще кому-то кроме разработчиков спринга знать его так подробно?
223 1424252
>>24251
Хули там сложного?
224 1424254
>>24252
А ты посмотри доклад. Охуеешь от количества абстракций.
225 1424255
>>24254
Не хочу, ты мне сам все распиши, ок?
226 1424261
>>24254
Я тоже не очень врубился в "сложность". Да, он составной, да, он справляется с огромным количеством трудностей, абстрагируя решения, но именно благодаря абстракциям он и достаточно простой - ты представляешь, что тебе надо сделать и - внезапно - под это есть готовое решение, обычно ещё и названное буквально один в один с проблемой, которую ты для себя поставил.
227 1424364
>>20539 (OP)
Как перекатиться с Java на Scala?
228 1424371
Приветсвую, задали интересный вопрос. Помогите пожалуйста ответом.

Есть функция

public void setDestination(String Destination) {

destination = Destination;
}

Что в этой функции нужно поменять, чтобы появилась необходимость обязательного использования this.destination = Destination;

Дана подсказка, что всего в паре мест поменять символ (букву ?)

I am done.
229 1424376
>>24371
ты што ебанутый?
230 1424460
>>24371
Без абстрактной фабрики декораторов не обойтись.
231 1424475
>>24460
Ты поехавший? Кто ж фабрику-то не для синглтонов использует!
232 1424544
Спасибо всем, кто отвечал мне на вопрос по поводу сериализации и хранения данных непосредственно на компьютере с сохранением их связи. Вроде никаких при восстановлении объектов не испытал - при загрузке приложения и наличия по указанному адресу хранилища загружается объект, хранящий в себе три map'ы, значением которых являются необходимые объекты. Один из объектов хранит в примитивах идентификаторы, которые позволяют при загрузке данных из десериализуемого файла восстановить связи между объектами пользователя и проекта. Сейчас с этой частью закончу, потом буду выполнять дополнительную часть задания с внедрением во всё это настоящей базы данных с импортом данных с компьютера. Очень надеюсь, что всё можно быстро решить hibernate'ом, но, смотря на своё приложение, сдаётся мне, что придётся помучиться.
image.png96 Кб, 468x350
233 1424559
234 1424575
Аноны, так ли трудно изучать Java? Насколько велик шанс заебаться и забросить все?
добройоба.jpg135 Кб, 518x386
235 1424631
>>24371

>this.destination

236 1424681
>>24575
Шанс нихуевый на самом деле. Особенно на этапе перехода от Laba1 к реальным проектам на EE и Spring с тестированием и логированием.
237 1424682
>>24575
Я бросил после того как задал этот вопрос и не нашел на него ответа. >>24371
238 1424687
>>24681
>>24682
И что делать? Из всех языков мне хочется именно Явочку. Смотрел еще Питон, но там почти все вакансии на Вебе. ;(
239 1424695
>>24687
Ну ниче не поделаешь теперь. Пацаны на дваче сказали, что не сможешь, значит, не сможешь. Иди в 1С тред поспрашивай.
240 1424701
>>24695
Ну блин.. А если книжек буду много читать?
241 1424709
>>24701
Не, тут вообще никак. Придется смириться и расслабиться. Ну или подождать, пока пацаны свое мнение поменяют.
242 1424714
>>24709
Эх, пойду анонов в /b/ поспрашиваю, там пацаны авторитетнее.
243 1424736
А по мне так энтерпрайс и спринг куда интереснее, чем джава уровня лаба1. Тут тебе столько задач, столько всяких блядь библиотек, такая возможность широко мечтать, что даже я, человек, которого уже лет пять воротит от компьютеров, нахожу интересным заниматься всей этой ерундой целый год ежедневно, совмещая с работой и личной жизнью, и не теряя надежд профессионально начать заниматься разработкой. Время за написанием кода летит так незаметно, как в детстве оно проносилось за приставкой и компьютерными играми.
244 1424740
>>24736
Заинтриговал, сука.
245 1424754
>>24682
ахахахахаха
246 1424756
>>24701
с Трех Мушкетеров начни, пожалуй
247 1424804
>>24681

> Laba1


Что это за говно вообще.
-вкатился по книгам и гуглу в биг дата
image.png791 Кб, 700x641
248 1424821
249 1424836
Внимание, вопрос. Уважаемые знатоки, почему один класс называется Storage, а другой - Factory?
250 1424842
>>24836
Потому что уже обсуждали. На первом пике тоже фабрика.
251 1424843
>>24836
Очевидно потому што второй класс при вызове .get() вернет саплаер который создает объект, а первый класс просто возвращает уже готовый инстанс.
image.png34 Кб, 609x308
252 1424858
>>24843
>>24842
Неправильно, оба класса следовало бы назвать Storage. Фабрика только на пикрил.
253 1424912
Вроде соединил все эти сериализующиеся данные с базой данных, то есть при запуске приложения она выгружает все данные в себя, во время работы приложения всё добавляется и в базу, и в локальное хранилище. При этом приложение работает с базой, то есть поиск идёт по ней. Всё это я написал без каких-либо библиотек, из-за чего мне кажется, что люди на том конце, которым нужно будет проверять задание, подумают обо мне что-то нехорошее. Я хотел попробовать посмотреть, насколько удобоваримо созданы мои классы под лёгкое внедрение hibernate, но честно говоря, мне стало тупо впадлу доделывать до конца задумку. Вопросы как минимум появятся просто потому что компания использует Spring стэк, и у меня в резюме указан Spring, но это название в .pom файле даже не появляется. Ну, если всё-таки позовут на очное собеседование, попробую им объяснить свой осознанный выбор.
254 1424914
>>24912
Ещё всё усугубляется тем, что там махрового говнокода строчек на шестьсот. Может успею ещё сегодня отрефакторить, превратив во что-нибудь приличное.
255 1424915
Где лучше делать валидацию инпутов - на сервере или на клиенте?
256 1424917
>>24915
Везде.
257 1424918
>>24917
Я конкретно про валидацию на корректность (не больше 10 символов в логине, только определенные и тп).
Везде - это дублирование одного и того же на сторонах?
258 1424921
>>24918
Провалидируешь только на фронте - зашлют некорректные данные через апи. Провалидириуешь только на беке - тратишь серверное время на обработку заведомо неправильных данных и заставляешь клиента ждать.
259 1424922
>>24921
Понял, спасибо.
260 1424925
>>24858
Хорошо, может, тогда расскажешь, чем принципиально отличается создание объекта ноды от создания объекта картинки или объекта поставщика нод?
261 1424927
>>24925
Тем, что в одном случае происходит именно создание нового объекта, а в другом вытаскивание готового объекта из коллекции.
262 1424929
>>24927
Блять, ну ты ж в любом случае вытаскиваешь элемент из коллекции, в которую сам его и положил. Еще раз, в чем принципиальное отличие?
263 1424930
>>24929
Я уже написал, в одном случае вытаскивание без создания, в другом вытаскивание с созданием.
264 1424931
>>24930
Я уже написал, что в любом случае создание. Просто формат вытаскиваемого объекта разный. New видишь? Вот и все.
265 1425022
Джаваны, в чем подход к созданию асинхронного сервера с использованием тред-пула хуже, чем с использованием NIO? Иначе говоря, зачем нам NIO?
266 1425025
>>25022
Дополню. Предполагаю, что вместо ожидания инпута от клиента, капчующего с модема на даче, воркер-тред может заняться чем-то еще. Так ли это?
267 1425032
>>25025
Все, разобрался с терминологией, и почему сервер на тред-пуле блокирующий. Спасибо, двач.
268 1425061
Кто нибудь работал с hadoop?
image.png81 Кб, 832x724
269 1425184
Анон, могущий в Spring Security, поясни такие вещи:
1)Как вместо этих стандартных спринговских форм всунуть свои js-овские?
2)Как происходить регистрация? Типо что-то похожее на тело 2 метода, где мы юзера записываем в бд, только зашифровав предварительно?
123.jpg133 Кб, 1246x740
270 1425200
>>25184
https://docs.spring.io/spring-security/site/docs/current/guides/html5/form-javaconfig.html
https://www.baeldung.com/spring-security-extra-login-fields

В целом надо переопределить страницу логина, которую ты указываешь в в контроллере где нибудь, ну и привязать к ней вьюху в любом виде. Достаточно даже просто хтмля или тимлифа.
271 1425201
>>25200
>>25184
На Csrf токены не смотри. Это для другого.
272 1425204
>>25200
Здесь указываются страницы шаблонизатора, которые возвращает контроллер. А что если контроллер возвращает JSON, а фронт его уже как-то обрабатывает. И выходит что страница логина - это вообще компонент Vue. Никак не вдуплю что делать
273 1425250
>>25204
Чет я не втыкаю.
Ты хочешь чтобы некоторые REST end points были доступны только авторизованным пользователям?
Тогда сам end point должен возвращать ошибку при таком раскладе. Можно вообще обойтись простым HTTP status code 401 Unauthorized. Вьюха же пользователю показывает что вы не авторизованны и предложение залогиниться.
Стаковерфлоу программинг все дела -> https://stackoverflow.com/questions/42358856/how-to-return-401-for-rest-api-call-in-spring-security
274 1425350
>>25250
На данный момент проблема такая:
Я понимаю как вставить свою форму логина на шаблонизаторе но не понимаю как сделать эту форму где-то на фронте (без шаблонизаторов).
275 1425369
>>25200
Я по этому примеру делал когда-то
https://www.callicoder.com/spring-boot-spring-security-jwt-mysql-react-app-part-2/
276 1425375
>>25204
Как у тебя сделана сущность самого пользователя?
Спринг тебе ее выдает в виде мапинга к ПОЖО по умолчанию.
Нахрена тебе еще жейсон к логин форме лепить?
calcSum.png6 Кб, 797x79
277 1425376
чому так?
278 1425378
>>25376
Тому что нестатический.
calcSum2.png4 Кб, 657x32
279 1425381
>>25378
а тут норм
280 1425393
>>25375

>Нахрена тебе еще жейсон к логин форме лепить?


Авторизация происходит на фронте. С фрона post-ом приходит json (имя, пароль). Как сказать сринг сисурити чтобы проверил ЭТИ логин и пароль?
281 1425394
>>25369
Это уже ближе к задаче, но ответа так и не нашел там.
282 1425412
>>25393
Вернее приходит 2 параметра - логин и пароль. Теперь я хочу сказать конфигу чтобы проверял логин и пароль с этого маппинга
283 1425434
>>25394
ищи по
@PostMapping("/signin")
284 1425461
>>24927
Это детали имплементации.
Сегодня ты его вытаскиваешь из коллекции, а завтра будешь создавать новый инстанс.
Ни один пользователь твоего класса этого не заметит.
Шо ж ты такой тупой?
285 1425462
>>25381
Какой тип у тебя доходит до reduce в первом, а какой во втором случае?
286 1425471
>>25412
Хули ты такой беспомощный, чорт ебаный?

https://stackoverflow.com/questions/20538619/login-with-spring-security-using-ajax
287 1425501
>>25471
Потому что эта хуйня не связана с сабжем?
288 1425531
>>20539 (OP)
Анон, хочу запилить сравнение объекта по значенияю полей, в рамках переопределения equals, но стопарюсь на идее, что без equals это не делается.
Т.е. мне нужно использовать equals от Object в своем методе equals?
https://ideone.com/1JQluu
289 1425557
>>25531
Тут не все так просто, гугли ObjectEqualsSingletonFactory
290 1425559
>>25557
Двачую архитектора.
291 1425561
>>25557
Это учебное задание и о таких вещах не упоминали в теории.
Значит, надо как-то иначе.
292 1425574
>>25561
Просто задание с подковыркой, очевидно же. Тот чел умную идею тебе дал, подумой.
293 1425590
>>25501
Блядь, не беспомощный ты просто тупой.

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

>эта хуйня не связана с сабжем



Пиздец, иди на хуй просто. Надо перестать помогать ебланам на дваче.
294 1425592
>>25557
Абстрактную фабрику-то?
Или какую?
295 1425596
>>25531
В принципе, да. Трудно сделать equals без equals.
С другой стороны, как тебя поймешь, что там за сравнение? Может, больше-меньше (твой код я, естественно, не смотрел)
Тогда, очевидно, надо делать без equals.
296 1425645
>>25531
Все правильно, ты переопределяешь equals родительский. Если ты в Intelij оно тебе даже нагенерить может и equals и hashCode (их вместе надо определять что бы не было потом непонятных проблем). можно например так:
@Override
public boolean equals(Object o) {
____if (this == o) return true;
____if (o == null || getClass() != o.getClass()) return false;
____
____ComplexNumber that = (ComplexNumber) o;
____
____if (Double.compare(that.re, re) != 0) return false;
____return Double.compare(that.im, im) == 0;
}

@Override
public int hashCode() {
____int result;
____long temp;
____temp = Double.doubleToLongBits(re);
____result = (int) (temp ^ (temp >>> 32));
____temp = Double.doubleToLongBits(im);
____result = 31 * result + (int) (temp ^ (temp >>> 32));
____return result;
}
Инженеры тут? 297 1425646
Расскажите про свой опыт миграции легаси говна с анта на мавен.
Какие подводные?
Я так понял обязательно сервак запилить куда все артифакты самопальные закидывать?
298 1425650
>>25646
Ну в общем да, это ведь большая выгода мэйвена что он сам скочает нужное говно. Но похоже есть куча сердпартирешений готовых.
299 1425656
>>25645
Открой для себя класс Objects.
https://ideone.com/RcGnaV
300 1425659
>>25646
Перешагни ступеньку эволюции и пересядь сразу на gradle.
301 1425705
>>25656
Щас бы генерить массивчики/объекты при подсчете хеша/равенства. Ты бы еще жестяных банокапачекомонос притащил. Лучше уж ломбок (впрочем мне похуй я на котлине, что ты мне сделаешь, за мат извени).
302 1425706
>>25659
Кек. Лучше уж пусть на мавен сначала перекатится.
господе блять 16 гигов для демона нахуй, чистый билд 20 минут нахуй
303 1425734
>>25705

>Щас бы генерить массивчики/объекты при подсчете хеша/равенства


Байтоеб ты? Когда начнешь названия переменных оптимизировать?
304 1425763
>>25734
Для этого есть прогвард. И да не поверишь, но мы и порядок загрузки классов оптимизируем.
305 1425776
>>25763
Так ты получается андроид червь без виртуальной машины. Сочувствую.
306 1425779
>>25776
Не, загрузку нативных либ пока не начали оптимизировать, у ведра с этим есть проблемки, порядок дексов задаем.
307 1425785
>>25645
неизвестно, правильно или нет
this.re == obj.re
почем мы знаем, что это за РЕ такое?
308 1425786
>>25656
>>25734

>Байтоеб ты?


Он, может, и байтоеб. Но судя по этому охуительному коду:

if (!(obj instanceof User)) {
return false;
}

Ты не байтоеб, а мудоеб.
309 1425788
>>25785
Чо ебать, в моем коде такого нет. Спрашивающий кинул ссылку на идеоне, там были поля re и im, я предположил что это части комплексного числа - вещественная и мнимая.
310 1425796
>>25786
А хули, это проверит на null.
311 1425797
>>25557
>>25559
>>25596
>>25645
>>25656

Вы все дауны и нихуя не понимаете в программировании. Вот тру способ:
https://www.yegor256.com/2017/07/11/how-to-redesign-equals.html
312 1425800
>>25797
Equals переделывать надо, например как в свифте. Но Егорка это конечно мог кек ппц хех.
313 1425806
>>25786

>Ты не байтоеб, а мудоеб.


Я копрофил не любящий стримы. В чем проблема этого куска кода пояснишь?
314 1425942
>>20539 (OP)
Нужно запустить maven-проект с параметрами через maven конфигурацию и вводя из консоли. Может кто привести примеры или скинуть туториалы, где подобное делается?
316 1426000
>>25462
Ещё раз
https://ideone.com/k7oBSw
map принимает на вход Function. Второй параметр Function это выходной результат. А на входе reduce уже Object
317 1426005
Смотрел видео Немчинского в котором он поясняет, что для джуна алгоритмы не нужны и можно не учить, в тоже время это выглядит странно, тк везде про них пишут. Есть кто недавно проходил собеседования на джуна, как часто гоняли по алгоритмам?
318 1426006
>>26005
они нужны только для собеседования. Для работы не нужны
319 1426008
>>26006
Значит придется изучать. Читал как некоторые для собеса сидели месяцами учили структуры, алгоритмы и тд что не очень весело
320 1426010
>>26008

> Месяцами


Дауны видимо. Хотя может у них никак с математикой и в универе не учили этого.
321 1426013
>>26010
я вообще универ не заканчивал
322 1426019
>>26010
Я помню только дийкстру, тк писал курсовую по нему на первом курсе универа, что было уже давно. Всякие пузырьки и тд не считаю, тк это слишком просто
323 1426030
>>25590
Два чая. Решил помочь, дал ссылок, вопрос вроде годный в кои то веки и тут такое разочарование.
324 1426032
>>25531
Есть еше компараторы. Загугли работу три сетов / три мэп.
325 1426034
>>25645
Effective java джошуа блох. Там все ответы есть, причем правильные.
calcSum.png6 Кб, 797x79
326 1426057
Актуально >>26000
327 1426087
Java vs .NET
Чётный лайк - джава победил
Нечётный лайк - победил .NET
328 1426089
>>26087
Лайк
329 1426093
>>26087
лайк
330 1426096
>>26093 >>26087

Ну всё, .NET cила, джава могила
332 1426258
>>26096
Представил, что на каком-то крупном серьёзном проекте таким образом подбирают стек технологий, и проиграл.
333 1426326
>>26258
Да, есть такое... Ну это ведь всё шутки, никто так не делает.

или же
334 1426342
В реальной жизни fork/join используется?
Что то пиздец он цпу грузит. Даже если ему 2 треда оставить.
336 1426386
>>26355
Делал поиск файлов через BFS.
Хотел еще прикрутить многопоточность.
Наткнулся на статью - попробовал - ахуел.
Как обычно в общем.
337 1426390
У меня тот же вопрос по RMI: оно используется в продакшене или очередная свистоперделка?
338 1426470
>>26034
Там неправильные ответы, алгоритм hashCode в частности.
339 1426610
>>26470
Где правильные?
Я сейчас без сарказма спрашиваю. Мне реально надо знать.
340 1426717
Если я хикка и у меня нет стажировок и вообще опыта работы в команде я могу просто показать свой гитхаб, где я в соло запили клиент-серверное приложение и прочую хуету в стиле тетрисов/погоды/etc?
341 1426720
>>26390
Умерло.
342 1426729
>>26610
Они не то чтобы неправильные - они не всегда однозначные и иногда имеют свои тонкости и подводные камни. Выясняется это когда погружаешься в какую-то тему.
343 1426743
Расскажите, пожалуйста, у кого опыт есть - что интересует интервьюера на техническом собеседовании в EPAM на джуниора?
344 1426746
>>26743
У меня спросили все методы в классе Object, и потом еще нужно было перевернуть линкед лист
345 1426749
>>26746
Ты тестовое выполнял перед собеседованием?
346 1426756
>>25788
Ну, они примитивные, или, может BigDecimal?
Хули ты вообще что-то предполагаешь?
347 1426757
>>25806
тем, что ты не понимаешь, чего ты от него хочешь, и что он делает
начни с первого: чего ты от него хочешь?
348 1426758
>>25796
Если ты для проверки на налл пользуешься инстаноф, то ты еще больший мудоеб, чем казался ранее
349 1426759
>>26000
Блядь, ты вопрос не можешь понять простой, ясен пончик, что ты не можешь понять, как вся эта ебала работает, и почему ошибку выдает.
Иди на хуй, учи там русский язык
350 1426804
>>26757
Начнем с того что ты мелкобуквенное говно c невъебенным ЧСВ. На этом и закончим.
351 1426815
Сап, аноны. Что первым делом надо учить? Ангельский или код?
Или просто учить ангельский и делать свою рандомную хуйню?
352 1426822
>>26717
Можешь.
353 1426826
>>26804
Охуеть. От того, что ты это высрал, ты понял, почему у тебя не работает говнокод?
Да иди ты на хуй, мудила.
Пришел за помощью, а срешь кровавым поносом вместо "пожалуйста".
354 1426836
Решил кабанчиком прогу для ДэБилов написать вспомнил что изучал Джаву ну зашел такой хуе мое. А тут залупень какая то.
Мне надо чтоб в мейн была статичная картинка ебать. А он не хочет эту блядскую хуиту выполнять серый экран ебать
1-дисплей
2-Мейн
355 1426860
>>26758
Нужно проверить не только налл, но и класс, ебаньтяй.
356 1426864
>>26756
Пиздец, чувак спросил как ему реализовать equals, а мне кидают предъяву "хули ты что-то предлагаешь", когда он даже не показал весь класс.
Не децималы потому что у чувака было сравнение '=='.
357 1426892
>>26836
Лучше попробуй простигосподи JavaFX + SceneBuilder
Гуй мышкой за полчаса накидаешь, функционал на кнопки повешать еще полчаса. Потом пару месяцев дебага.
358 1426917
>>26729
Ну где там косяк то?
В приведении полей к инт? Тебе не нравится побитовое смещение?
В базовом числе от которого считается хэшкод?
Может быть тот способ из книги ведет к вырождению хэш таблицы?
Какие тонкости ты имеешь ввиду?
359 1426919
Джаву используют в основном для мобильных разработок под андроид?
360 1426940
>>26919
не, под андоид в основном котлин ща. На джавке интерпрайз, бекенд ну и майнкрафт
361 1426948
>>26940

> интерпрайз


Извини за глупый вопрос, но что это значит? Переводится как предпринимательство, а как это с разработкой связано? Стартапы что ли ?
362 1426957
>>26948

Промышленное программирование, то есть разработка продукта для отраслевых нужд - банки, автомобилестроение, телеком, трейдинг и т. д. Противопоставляется старт-ап или веб-разработке ввиду инертности и внимательному внедрению инженерных подходов, так как во многих сферах есть повышенные требования к надежности ПО.
363 1426958
>>26957
Спасибо большое.
Пойду Шилдта читать, заинтересовал язык.
image.png19 Кб, 238x242
364 1427063
Джава-джун, расскажи как прошло твое собеседование итт.
365 1427094
>>27063
Ходил на одно собеседование 3 недели назад. Засыпали вопросами про коллекции, хешмапы там и прочие приколы. ООП конечно же спрашивали, зачем нужно поля приватными задавать, ну вот это все. Немного спрашивали про спринг, аннотации, контекст. Спросили какие знаю паттерны программирования. Ну и обсуждали мой проект на гите (веб-чат на спринге у меня там был). Потом спрашивали вообще про мой опыт в программировании, чем занимался, что в унике преподавали, что из этого нравилось. Собес шел полтора часа, я так заебался там сидеть. В целом на все вопросы заебок ответил, обосрался только на вопросе про хешмапы, не знал, что будет, если в хешмапу ключ null закинуть. Но интервьюер мне хуйню наговорил, сказал, что нельзя будет закинуть в хешмапу после этого объектов. Челик перепутал хешмапу с тримапой, но он хотя бы отписал мне на почту, что он меня наебал. Сижу-жду результатов собеса, на днях должны ответить.
366 1427096
>>27094
В джаву вкатился в декабре, до этого 2 года в унике учил си.
367 1427097
>>20539 (OP)
public float[] checkKvadrat(){
float[] kvadr = new float[12];
int q = 0;
float y = 0;
for (int i = 0; i < 12; i++) {
for (Rectangle br : brush) {
if(br.intersects(rectangle)){
y = 1;
break;
}else y=0;
}
kvadr = y;
y=0;
}
return kvadr;
}
Суть в том что есть 12 квадратов и надо определить пересекается ли он хотябы с одним квадратом из списка brush. Почему-то правильно определяется только 12-й, то есть последний квадрат. Остальное - 0, то есть нет пересечения
368 1427100
>>27094
3 недели ответа ждать - это норма чтоль?
369 1427102
>>27100
ну в этой конторе да
370 1427103
>>27100
>>27102
со мной еще пара одногруппников ходила на собес, их спустя 4 дня нахуй послали уже, а со мной тянут.
371 1427168
>>26860
Вот я и говорю: ты мудаеб, который не знает, как работает инстансоф, и не понимает, на что у него там проверка получается.
372 1427175
>>26864
Ты,блядь, даже читать не умеешь. но лезешь с советами.
Вопрос был "Хули ты вообще что-то предполагаешь?", а не "предлагаешь".

>Не децималы потому что у чувака было сравнение '=='.


Пиздец. А если бы у него там было написано, что он ебал твою мамку? Ты бы и это принял за чистую монету.

Ты не ошибся тредом? Это не яваскриптовый, если что.
373 1427178
>>27103
Заебались на хуй посылать просто
374 1427181
>>27175
Хуя ты агрессивный)
Объясни, чому instanceof не катит?
Мимонуб
375 1427298
>>27181
Я тут одному уже ответил, у него жопа сгорела.

Повторяю ответ тебе:
потому, что ты не понимаешь, чего ты от него хочешь, и что он делает
начни с первого: чего ты от него хочешь?

он катит, если ты от него хочешь именно того, что он делает
он катит, если ты умудришься при этом не проебать контракт equals
376 1427385
>>27094

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


Какие же интервьюеры дегенераты, пиздец просто.
377 1427531
>>27175
Пиздец ты черт, в оригинале я ему предложил отдельно на налл проверить, потом то что класс один и тот же, где тут проеб контракта, дятел.

В случае если у класса нет наследников инстансоф тоже не нарушит контракта. Сейчас бы дата классам наследников хуячить.
378 1427619
>>27298

>instanceof()


>умудришься при этом не проебать контракт equals


Налил тебе полный рот мочи. Проглатывай.
379 1427812
>>27100
Я когда QA устраивался 2 недели после собеса ответа ждал.
мимо
380 1427926
>>27531

>В случае если у класса нет наследников


Т.е. ты программируешь, следуя своим фантазиям об устройстве всего остального кода, который ты не знаешь.
Молодец. Продолжай плодить говнокод.
381 1427927
>>27619
Жопа все еще горит?
Тебе, я так понял, не привыкать.
Когда ты тупой и не умеешь в программирование, жопа и должна гореть.
Попрыгай еще.
382 1427928
Лучше бы абстрактные фабрики обсуждали вместо своей инстансоф хуйни.
383 1427942
>>27928
Двачую, навесил @EqualsAndHashCode и в продакшен, хуле обсуждать тут
384 1428005
>>27928
когда речь заходит про инстансоф фабрика должна быть не только абстрактной, но и финальной!
385 1428037
Кто-нибудь из работающих анонов пишет на чтстом JavaEE?
386 1428271

>LocalContainerEntityManagerFactoryBean


Все эти кеки про AbstractSingletonProxyFactoryBean это блять не шутки оказывается?
Столько анальной боли чтобы сохранить пару объектов в базе данных, я уже нахуй сознание теряю от этих ебучих конфигураций.
387 1428277
>>28271
В чём проблема? Ты один раз создаёшь эту херню в конфиге, а потом просто инджектишь EntityManagerFactory в нужный класс.

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


Зажрался ты, ты видимо со стандартным JDBC никогда не работал, лол. И вообще, открой уже для себя Spring Data, Spring Boot и spring-boot-starter-data-jpa, если тебя так напрягает руками писать конфиги.
388 1428281
>>28277

>ты видимо со стандартным JDBC никогда не работал


Приходилось ковырять немного. Вот чем JDBC мне нравится так это простотой. Никакой магии. Сразу видно где подключаемся к базе данных, где выполняем запрос, где читаем ответ. В спринге настройка через бины и работа через AOP прокси, только отдаленно представляешь как оно там шевелиться и и что для чего нужно. Прикручиваю JPA уже создал бины:
LocalContainerEntityManagerFactoryBean
PlatformTransactionManager
DataSource
По описанию можно понять для чего каждый примерно нужен, но в деталях можно утонуть.
Вот к примеру в этом куске кода:
@Bean
public PlatformTransactionManager jpaTransactionManager() {
    return new JpaTransactionManager(
        this.localContainerEntityManagerFactoryBean().getObject()
    );
}
Зачем нам устанавливать PlatformTransactionManager с помощью LocalContainerEntityManagerFactoryBean.getObject()
В чем смысл этих манипуляций. Нахуя нужен отдельный бин для transaction AOP магии? Это уже просто какие-то забытые технологии далеких предков.
389 1428294
>>28281

>Вот чем JDBC мне нравится так это простотой. Никакой магии. Сразу видно где подключаемся к базе данных, где выполняем запрос, где читаем ответ.


У JDBC есть одна вещь, которая портит вообще все: SQLException, которое бросается на каждый чих и которое обязательно надо ловить, потому что сверхразумы, которые дизайнили это API, унаследовали его от Exception. И да, не забудь закрыть Connection, PreparedStatement и ResultSet :)

>Зачем нам устанавливать PlatformTransactionManager с помощью LocalContainerEntityManagerFactoryBean.getObject()


А как ему, по-твоему, узнать, каким объектом ему управлять? Ну можешь в метод создания JpaTransactionManager @Autowire-ить EntityManagerFactory и передавать его вместо localContainerEntityManagerFactoryBean().getObject(), лол.

>Нахуя нужен отдельный бин для transaction AOP магии?


А как оно должно работать, по твоему? Чтоб нажал на кнопку и всё само сделалось? Ну тогда опять же используй Spring Boot.
И вообще, JPA это не единственное средство для связи с БД. Фишка Спринга в том, что он довольно гибок и во многих случаях не навязывает тебе какой-то один подход, а позволяет выбрать то, что нравится. Можешь воспользоваться Spring-JDBC, можешь заюзать MyBatis, можешь вообще хоть на голом JDBC писать.
390 1428309
>>28271

>Столько анальной боли


Ты правильно рассуждаешь. Весь этот Спринг и энтерпрайз разработка на джаве - просто тихий ужас от которого по кд получаешь анальную контузию. В той же Scala - это решено в рамках небольших библиотек, где все решается в явном виде и занимает буквально пару строк кода. в Java ты сначала хуяришь 100500 обосанных классов, потом лепишь туда еще 100500 аннотаций, полдня ебешься с настройкой СПРЭНГ ФРИМРВЕРКА, а потом разгребаешь проблемы с транзакционностью в Spring Data, лол.
391 1428312
>>28309

> полдня ебешься с настройкой СПРЭНГ ФРИМРВЕРКА


Плз, что ты там настраиваешь полдня? Если ты не очень джун, занимает не больше получаса
392 1428316
>>28312
>>28294
Кстати про настройку: вы помните наизусть все имена необходимых классов всех этих спрэнг мвс, спрэнг секьюрити и прочих? Или приходится каждый раз лезть в гайды? Я уже не вывожу эти бесконечные слои абстракции, хз, как это учить.
393 1428317
Вбиваю в гошу "jpa entitymanager get all" чтобы узнать как быстренько получить все ентити нужно класса. Ну типа всех пользователей, или все заказы там. И блять мне предлагают писать это:

@PersistenceContext
EntityManager em;

public List<Entry> allEntries() {
    CriteriaBuilder cb = em.getCriteriaBuilder();
    CriteriaQuery<Entry> cq = cb.createQuery(Entry.class);
    Root<Entry> rootEntry = cq.from(Entry.class);
    CriteriaQuery<Entry> all = cq.select(rootEntry);
    TypedQuery<Entry> allQuery = em.createQuery(all);
    return allQuery.getResultList();
}

Кто нахуй писал это все? Интуитивно понятный способ я ебал.
394 1428319
>>28317
Забей на этот спринг, чувак. Перекатывайся на Скала. Посмотри как персистенс реализован в doobie или slick.
395 1428321
>>28319

>Перекатывайся на Скала


Мне кажется это язык мертв. Да и рассчитан на тех кто уже два мешка абстрактных фабрик в жабке съел.
396 1428324
>>28317
???
return entityManager
.createQuery("select entry from Entry entry", Entry.class)
.getResultList();
>>28319
Слишком толсто.
397 1428326
>>28321
Тогда используй JOOQ, если не хочешь уходить с Java.

Не обращай внимания на этого долбаеба - >>28324
У него анальная контузия от джава. Ему никогда не зарабатывать 8к грина на уделенка на скала.
398 1428327
>>28324

>.createQuery("select entry from Entry entry", Entry.class)


Теперь еще и JPQL придется изучать. В java баззвордов на 10 резюме уже хватит пока чатик напишешь.
399 1428330
>>28326
Скала это не альтернатива Джаве. У Скалы другая область применения (Big Data и распределённые системы). Да и сейчас почти на всех Scala-вакансиях требуют опыт работы с Java. К тому же, этих вакансий мало.
>>28327
Так сейчас со всеми языками, кроме каких-нибудь узконаправленных. Ну и да, если ты знаешь SQL — считай, что ты уже знаешь JPQL. А знание SQL и реляционных БД вообще — это must have для любого бэкэнд-разработчика.
400 1428389
>>28324

>JPA


не нужно. С развитием проекта ты непременно упираешься в ограниченность и ненужность этого костыля. Лучше старыми добрыми sql запросами через JdbcTemplate
401 1428391
>>28389
Тогда уж лучше MyBatis, годная вещь, причем тоже с поддержкой спринга.
402 1428406
>>28326

>Ему никогда не зарабатывать 8к грина на уделенка на скала.


Чет мало для скалы, изи делаю в топтале больше 10к. Но всегда думал если вкатится в скалу то можно немного поднять потолок.
403 1428410
>>28326
Блин, вы так пишите, как будто сами решаете чем обращаться к бд. Или вы все тут сеньор архитекторы бля? Я когда приходу на проекты (всего два раза такое было) там уже выбран конкретный путь работы с бд и никто тебе ничего менять не даст.
Мне джук тоже понравился, вакансий в своей мухосрани на нем нет.
404 1428421
Вопрос: что такое JavaEE? Сервлеты - это ведь часть его? Тогда почему спринг мвс, использующий сервлеты, противопоставляется JavaEE?
405 1428426
>>28421
Spring MVC - это java ee энивей. EE принято называть олдовый языковой стек, а Spring - просто надстройка под него которая переросла в чем-то родителя.
406 1428428
>>28426
Понял, пасиб.
407 1428513
Хоспаде, как же хочется корутины...
408 1428516
>>20539 (OP)
Переустановил эклипс и теперь не работает автоподсказка.
Например всякие system out print ln приходится вручную печатать.
Как вернуть всё назад? Раньше очень лампово было, начинаешь печатать и он тебе всё подсказывает, теперь только названия переменных и всё.
409 1428519
>>28516
Переходить на интеллиж.
image.png78 Кб, 1215x282
410 1428531
Я не понимаю. В документации на спрэнг секьюрити говорится, что фильтры являются бинами, а в статье на том же spring.io об архитектуре спрэнг секьюрити наоборот. Что за хуйня?
411 1428533
Как в интелллиж сделать "Problems view" как в эклипсе? чтобы все ошибки были все в одном месте. гуглил - все что нашел либо не работало либо было не так удобно как в эклипсе
412 1428537
>>28281
Если нравится JDBC попробуй JOOQ, может зайдёт
мимо другой анон
413 1428540
>>28513
мммм котлен
414 1428543
>>28271
Чо, слишком много букв?
Классы должны называться Qwe?
415 1428546
>>28316
На хуй вообще что-то помнить наизусть?
Болванка от конфига есть от предыдущего проекта.
Если надо добавить какой-то новизны, смотришь в референс.
416 1428551
>>28281

>Вот чем JDBC мне нравится так это простотой. Никакой магии. >Сразу видно где подключаемся к базе данных


Ты кроме Laba1.java никогда не писал, что ли?

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

Если ты не умеешь в абстракции, съеби из ява в ассемблер тогда уж. Там будет видно, и где у тебя программа начинает работать, и все остальное.
417 1428553
>>28546
Лично я чувствую себя неуютно из-за всей этой магии спрэнг фримверка. Это как-то по-дилетантски - тупо копипастить код с гугла из раза в раз.
418 1428556
>>28281

>В чем смысл этих манипуляций


А в чем смысл задавать этот вопрос здесь, а не прочесть документацию?
419 1428561
>>28327

>Теперь еще и JPQL придется изучать.


Хули там изучать? Тот же sql с чутка детализованными классификаторами
Т.е. звездочку не напишешь.
420 1428563
>>28519
интеллиж говно в этом смысле
достаточно того, что по дефолту в нем подсказки кейссенситив
а уж про sysout=>Sustem.out.println и говорить нечего (его там нет)
а настроить все руками можно хоть в идее, хоть в эклипсе
421 1428564
>>28563
Просто кое-кто не умеет работать с интеллижем. Все там есть:
sout -> System.out.println
и многое другое.
422 1428566
>>28531
Где говорится, что наоборот?
423 1428567
>>28566

>filter classes are also spring beans


meanwhile

>all filters internal to the SS are unknown to the container ... that explicitly disables the container registration

424 1428569
>>28553
Какой код-то ты копипастишь?
Технологическую обвязку, чтобы завелось?
Я, блин, даже не понимаю, в чем твоя проблема.
У меня, может, один-два класса переезжают из проекта в проект - подцепление пропертей для ДБ и кое-что из секьюрити.

Специально сейчас глянул в свой тестовый проект, там про ДБ только проперти лежат да в applicationContext.xml несколько записей про
transactionManager (который через другую запись подвязан к LocalContainerEntityManagerFactoryBean),
jpaVendorAdapter
и
persistenceUnitName

Все. В коде у меня только то, что мне надо - ЭНТИТИ, и все, блядь.
я не могу понять, на хуя вы тащете в код какую-то хуету?
Может, это потому что вы вместо того, чтобы прочесть документацию один раз (и один же раз поиграться в песочнице с тем, что там написано), лезете по кажому чиху на стэковерфлоу и тянете оттуда что-то без понимания, на хуй это надо?
425 1428570
>>28564
ок, проверю
не умею, да.
но я идее сказал, чтобы она настроилась под эклипс (она же сама меня спросила, хули)
а она не настроилась толком под эклипс
половина хоткеев не работает, как положено, и т. д.

в целом, у меня нет особых претензий к идее. но понять, почему вы на нее так надрачиваете, я так и не смог.
426 1428571
>>28569
Я про то и говорю, что вместо того, чтобы бездумно лезть за куском кода для конфигов куда-то, хочется понимать, как оно внутри устроено. Это было в ответ на

>На хуй вообще что-то помнить наизусть?


По сути знание внутренних механизмов спринга и есть запоминание названий всей этой хуйни.
427 1428573
>>28567
1. Здесь нигде не сказано, что они НЕ бины
2. контейнер здесь, очевидно это сервлет-контейнер
Ты путаешь сервлет-фильтер-чейн и спринг-секьюрити-фильтр-чейн.
Чтобы вставить свой фильтр в секьюрити-чейн, тебе надо сделать его бином, чтобы спринг его подхватил и вставил.
Чтобы вставить сервлет-фильтр в чейн сервлет-контейнера, тебе надо прописать его в веб.хмл
428 1428574
>>28570
Придется привыкнуть к другим хоткеям тогда. Например, все сокращения можно посмотреть, тыкнув ctrl-j. Вообще идея очень удобна, с эклипсом почти не работал, но меня в идее абсолютно все устраивает.
429 1428575
>>28571

>хочется понимать, как оно внутри устроено.


Хочется понимать - сядь и разберись.

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

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

И еще раз, за конфигом не надо лезть в куски кода.
Просто пишешь в конфиге своем, кто у тебя отвечает за транзакции, кто жпапровайдер, и какой класс будет энтитименеджерфактори.
Ну и, откуда ему взять коннекшенстринг.
430 1428578
>>28573

>Чтобы вставить свой фильтр в секьюрити-чейн, тебе надо сделать его бином


Так ведь в вырезке прямым текстом сказано: so if you want to add a custom filter to the security chain, you need to either not make it a bean и т.д. То есть речь о секьюрити-чейне спринга.
431 1428579
>>28574

> с эклипсом почти не работал, но меня в идее абсолютно все устраивает.


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

Ну, может, инспекторы, которые статический анализ делают в идее.
Но в эклипсе это было уже сто лет назад каким-то плагином.
432 1428580
>>28575

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


Такими темпами ты пересаживаешься с иглы тимлидского одобрения на магию спринг бута, а потом тебе подсовывают легаси на ванильном спринге и у тебя сгорает жепа, потому что ты нихера не понимаешь.
433 1428582
>>28578
Я "нот" профукал, виноват.
Думаю, что вот эта ветка ответит на твои вопросы:
https://stackoverflow.com/questions/6725234/whats-the-point-of-spring-mvcs-delegatingfilterproxy

delegatingfilterproxy подхватывает БИНЫ (не все, конечно, а которые фильтры) из спринг-контекста и выдает их в качестве сервлетфильтров
поэтому тебе надо сделать движение, чтобы твой кастомсекьюритифильтр не попал в цепь сервлетфильтров
ты можешь его оставить и бином, но тогда надо пойти через FilterRegistrationBean
434 1428584
>>28580
Ты почти прав, но нет.
Я знаю, где провести черту.
Я знаю, что я хотя бы однажды разобрался, как работает Спринг.
Поэтому я могу смело копипастить свои шаблоны. С каждой новой версией, впрочем, надо разбираться заново. При переходе с 3 на 4 было весело с изменением дефолтов в секьюрити и пр.
Я примерно знаю, также, как работает спрингбут, что заставляет меня всячески избегать его использования. Ну его на хуй.
Жопа, кстати, там сгорит еще раньше, чем понадобится посмотреть в легаси. Достаточно просто необходимости захуярить какие-нибудь настройки контейнера, которые не торчат очевидным для документации спринга способом. Ну и, привет, jndi из контейнера.
435 1428585
>>28580
Тем не менее, ты так и не ответил, будем микросхемы на элементарные компоненты заменять, или нет?
А то хуй знает, как там электрон куда бежит.
436 1428588
>>28582
Спасибо, почитал. Но не соглашусь, я понял это иначе: DelegatingFilterProxy прописывается в цепочку сервлет-фильтров через веб.хмл (в котором через магическое имя springSecurityFilterChain он связывается с бином FilterChainProxy в конфиге спринга), а дальше просто делегирует FilterChainProxy-бину фильтрацию. Отсюда и непонятно, почему нельзя объявить кастомный фильтр бином, если DelegatingFilterProxy делегирует бину с конкретным именем, а не ищет тупо все фильтр-бины.
437 1428591
>>28585
Так ведь можно и сначала в устройстве ОС разобраться досконально, потом дойти до устройства ЦП, зачем в телефоны лезть? Только вот это все те уровни абстракции, которых ты в своей работе не коснешься с вероятностью 99%, а прикрутить какую-то диковинную фичу к спрингу вполне может потребоваться, поэтому его нужно знать изнутри.
438 1428593
>>28588

>Отсюда и непонятно, почему нельзя


На всякий случай.
Там же написано, что все внутренние для Секьюрити фильтры НЕ РЕГИСТРИРУЮТСЯ.
Так что если ты делаешь свой секьюрити фильтр, сделай так, чтобы он вел себя так же как и другие секьюрити фильтры.
439 1428594
>>28591

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


Нет.
Когда надо прикрутить, тогда и начинаешь разбираться, как прикрутить.
Пока я вижу разговоры о том, что надо элементарнейшие вещи, которые прописываются тремя строчками конфига, сперва вытащить зачем-то в код, а потом стенать, что они непонятные, то ли дело ждбц.
Решайте проблемы по мере их возникновения.
А то ява умрет раньше, чем вы выучите все "подкапоты" всего, чем пользуетесь.
440 1428598
>>28516
БАМП
>>28519
Охуеть совет, переходить на говно которое жрет память как не в себя. Эклипс единственная адекватная среда для жаба разработки.
441 1428603
>>28598
Охуеть, эклипс, еще чего скажешь? Совсем ебу дал, все нормальные пацаны в блокноте код редактируют, и никаких проблем!
442 1428610
>>28598
И да, если для тебя в 2к19 1гб озу - это очень много, то пора бы сделать апгрейд.
443 1428730
>>28610

>2к19


Индикатор мудака.
Достаточно этих 4-х символов, чтобы на остальной высер не обращать внимание
444 1428732
>>28730
Отлично, минус долбоеб. Ведь только долбоеб будет придираться к форме сообщения, а не его содержанию в 2к19.
445 1428751
>>28732
Шиз, хуй будешь?
Открывай свой рот, я вытащил.

ты даже прочитать не смог, что вопрос был как включить в эклипсе автозаполнение и начал советовать интелиже-говно
446 1428752
>>28598

>Эклипс единственная адекватная среда для жаба разработки.



От одного текстового редактора слезы текут, ident guide через жопу и плагины, драг и дроп текста мышкой только недавно запилили, хотя разрабы ленились типа нинужно
447 1428759
>>28751
Если тебе доставляет удовольствие ебаться с кривым эклипсом, вместо использования сделанного для белых людей интеллижа, то соси свой хуй, раз уж вытащил, быдло. Потому и посоветовал интеллиж, что там нет этих танцев с бубном. Но ты не понял, ибо тупой, как жаль.
448 1428772
>>28579
В идее автодополнение пизже и встроенный декомпилер есть.
449 1428781
>>28772
Автодополнение не настолько пизже, чтобы я заметил (а я ленивый, я бы заметил, если бы сильно пизже было бы).
И как часто ты пользуешься декомпилером?
Ну, т.е. хорошо, что он есть, но на хуй он мне и тебе нужен?

Не говоря о том, что в эклипсе он есть хуй знает сколько лет.
450 1428783
>>28759
Хуесос продолжает высирать какую-то хуету, которую никто не читает.
Найс.
Попрыгай еще, попрыгунчик хуев.
451 1428786
>>28781
А я заметил.
Всегда. Так как сейчас сижу на эклипсе, то приходится через ждгуй либу открывать, сохранять как исходник и линковать в эклипсе. Если это дефолтная либа, то смотреть в исходниках опеждк.
452 1428795
>>28786
как это связано с автодополнением?
просто Ф3 не пробовал нажимать?
453 1428802
>>20595
какие книги посоветуешь бтв
image.png8 Кб, 509x286
454 1428824
>>28795
Что это?
Пробовал, пикрелейтед.
455 1428971
>>28802
Для чего?
456 1429169
>>28824
вот это да
дизассемблированный код
хули тебе еще надо?
457 1429296
Вкатился в джаву чтобы портануть мод на майнкрафт.
Теперь думаю: то ли джава вырвиглазное дерьмо, принуждающее к ооп, то ли предметная область (форж и декомпилированный кубач) тяжела для непосвящённого, то ли сам мод полон говнокода и потому тяжёл для восприятия, то ли всё сразу.
458 1429321
Ебать у меня жепа сгорела. Почему хуету уровня MANIFEST.MF еще не встроили в жаву по дефолту (хотя бы с указанной версией и мэйн-классом). Я уже куда только папку с ним не тыкал в дереве проекта - похуй, "no main manifest attribute". Дебилы со стековерфлоу насоветовали воткнуть кучу мавен-плагинов, в итоге даже они не смогли нормально собрать проект, чтобы завелось через командную строку. Единственный правильный вариант, как оказалось - использовать встроенные в идею средства. Но это пиздец, даже просто чтобы запустить проект не через идею, нужно танцевать с бубном.
459 1429327
Сап, джависты. Помогите с задачей, пожалуйста.

https://pastebin.com/VxmcUAgK

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

I1 => [1, 5]
I2 => [2, 4]
SI => [1, 2, 4, 5]
460 1429329
3 года опыта работы, пустой гитхаб. хуй знает чё туда заливать. серьёзных проектов не делал (я чё ебанутый прогать на выходных? у меня и другие интересы есть), есть какие-то на коленке сделанные скрипты на баше
пиздос, как менять работу, всё равно же ссылку на гитхаб давать, а он пустой
461 1429330
>>29321
>>29327
>>29329
Тут как нельзя более уместны золотые, бессмертные слова соси хуй, быдло
462 1429338
>>29296
Почему нет варианта

>то ли я тупой мудак


?
463 1429340
>>29321

>не знаю, куда вставить MANIFEST.MF


>только хуйня из ИДЕ помогла


>какое же джава говно


Пиздец, ты тупой. Ява не для тебя. Иди в жс-тред.
464 1429355
>>29340
Тогда может, ты объяснишь, почему когда я делаю package мавеном, при этом заполненный манифест там, где он должен быть, это говно не собирает джарник так, что его можно запустить из командной строки? Объясняю: внутри джара в результате манипуляций (не важно, через идею или через мавен) лежит пикрил, хотя в моем манифесте лежит совсем другое. Это нихуя не норма.
465 1429367
В итоге собрал я свой жарник, но это пиздец бред. Если вас устраивает, что по умолчанию команда package и встроенный в идею сборщик лепят вам кусок говна, который нельзя запустить без огромных, как ваше чсв, команд, то вы говноеды. Сосите.
466 1429393
>>29338
Потому что "я тупой мудак" — не предположение, а объективная истина. Но от этого проблема никуда не девается.
467 1429397
>>29355
Объясняю:
потому что ты делаешь package мавеном
И ни хуя не знаешь, как он работает, и что там надо прописать, чтобы твой манифест попал туда, куда нужно.
Это обычное явление - мавеном, в основном, пользуются мудаки, которым лень. Которым лень все - написать нормальный сборочный скрипт (хоть батник, хоть на баше, хоть на анте), и они обрадовались, что мавен ВСЕ сделает за них. А он тупой, и ни хуя за них не делает.
468 1429400
>>29393

>Потому что "я тупой мудак" — не предположение, а объективная истина


Значит, это единственная причина неудачи.
Не следует пытаться искать другие.
Не понимаешь ООП? Разберись
Не умеешь в яву? Научись
Предметную область не понимаешь? Вгрызись
Говнокод? Исправляй чужие ошибки

Но ты выбрал ныть на дваче.
как думаешь, какие шансы, что это поможет тебе достичь результата?
469 1429410
>>29397

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


А ты знаешь толк в извращениях.
470 1429411
>>29400

>Но ты выбрал ныть на дваче.


Что значит "выбрал"? А ничего, что одновременно с этой вкладкой у меня ещё открыты вкладки с манами?
Отдохнуть и потрепаться-то тоже иногда надо, так что неси свои мотивационные цитаты в /se/, а лучше в /b/. Я выбираю и нытьё и превозмогание одновременно.
471 1429413
Алсо анальность ООП в джаве — объективно ничего хорошего не даёт, и с этим не поспоришь. Хорошо когда язык тебя не стесняет — хочешь пили класс, не хочешь не пили. Разные проблемы требуют разных подходов, и язык должен их давать. И по этому поводу буду вполне справедливо ныть сколько мне вздумается.
472 1429416
>>29413
Так а кто тебя принуждает? Ну хочется тебе писать в процедурном стиле - пиши на здоровье.
473 1429447
>>29416
Дисрегард, к языку это высосанная из пальца предъява.
Я злюсь из-за кубача, в котором blockShit extends Block, соответственно всё нелинейно, а нелинейно = хуй проссышь поначалу что там к чему обращается, а документации внятной нет ни в моде ни в форже (зато сколько выебонов с джавадоками и прочей хуйней, когда на практике никто не пишет эту документацию), а сам мод вместо того чтобы заебенить функцию и прогнать регистрацию айтемов, скормив ей список через цикл, хуярит последовательность абсолютно одинаковых кроме одного аргумента вызовов на тысячу строк, ухх бля ухх сука и везде котлеты с мухами перемешаны нахуй, никакой логики, короче едва что-то поймёшь как руки чешутся отрефакторить это говно. Да не, "я мудак" это лишь одна из ряда причин, почему всё так тяжело идёт. Сильно сомневаюсь что суперпрофессионалы итт не испытают неприятных ощущений при попытке разобраться в этой помойке. Но ты конечно можешь опровергнуть это личным примером)
474 1429452
>>29447
ООП как раз призвано упростить все то, что тебе кажется непонятным. Ты бы охуел, если бы все эти абстракции были написаны в процедурном стиле да и вообще бы не было твоего кубача, потому что ООП как раз позволяет строить сложные, расширяемые приложения за счет множества слоев абстракции. Не зря же жава так широко используется в кровавом энтерпрайзе. Тебе, как пользователю, нужно только разобраться с относительно простым апи, который фреймворк предоставляет хотя если с доками все плохо, то пiзда тобi.
475 1429453
>>29452

>Дисрегард, к языку это высосанная из пальца предъява.

476 1429456
>>29453
Я о том и говорю, что все итак уже упрощено максимально, тебе не нужно лезть внутрь, просто используй апи. А вообще тяжело уже воспринимаю текст, пора спать.
477 1429459
>>29452

>да и вообще бы не было твоего кубача


Игры на жабе кстати — скорее исключение, чем правило, хотя речь не об этом. И кубач за свой язык заплатил дорогую цену.
478 1429460
>>29459
Какую, например? Если ты хочешь привести в пример скорость, то это не актуально. JIT тащит.
479 1429467
>>29460
Скорость.

>JIT тащит


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

Ну и какой бы охуенный JIT не был, вполне вероятно что майнкампф с кучей модов он не вывозит, так как постоянно скатывается в деоптимизацию, но это я простоо спизданул и не исследовал.
481 1429470
>>29327
Ты хоть что-то пробовал? Хотя бы самое хуевое решение - собрать инфу со всех итераторов и отсортировать, а потом выплевывать используя ее итертор.
482 1429495
>>29296

>то ли предметная область (форж и декомпилированный кубач) тяжела для непосвящённого


Вот это. Как следствие:

>сам мод полон говнокода и потому тяжёл для восприятия

483 1429503
>>29413
Язык тебе нихуя не должен. Это как требовать от крестовой отвертки возможность эффективно работать со всеми видами и размерами шлицов.
484 1429507
>>29468
>>29467
>>29460
Язык тут вообще не при чем. Конечно, в теории, можно было бы упереться в менеджмент памяти, но на практике все упирается только в неэффективный код.
485 1429509
>>29503

>Дисрегард, к языку это высосанная из пальца предъява.


Нужно каждой собаке это написать?
486 1429510
>>29509
На лбу себе напиши.
487 1429511
>>29507

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


Почему-то так совпадает, что неэффективный код пишут именно тут, а эффективный всё больше на крестах, хм, ну конечно это следствие традиций и ничего больше.
488 1429513
>>29510
Чел, ты пытаешься надавить на человека после того как он в открытую признал неправоту, какой ты конкретно от него ожидаешь реакции? Тут уже ты долбоёб, что после драки кулаками машешь, либо что тред не читаешь @ сразу отвечаешь. В любом случае ты долбоёб, как видишь.
489 1429520
>>29511
Потому что от программистов на крестах требуется гораздо больше опыта, навыков и дисциплины, чем от программистов на жабе: неэффективный код на жабе можно писать быстро и он будет работать, а код на крестах пишется дольше и подводных камней там гораздо больше, а значит, и шанс где-нибудь споткнуться и намертво остановиться выше.
Ты не языки сравнивай, а уровни программистов. На крестах можно тоже неэффективный код писать, просто он до своей финальной формы редко доживает.
С ассемблером бы еще сравнил, долбоеб

>>29513
Чел, челик, ничего я не пытался. Достаточно было просто не отвечать, чел.
490 1429522
>>29507
У меня как-то на апворке было задание переписать код на жабе на CUDA. Сначала я его переписал на С++ для удобства. Простое переписывание довольно простенького кода влоб ускорило его в 6 раз.
491 1429523
>>29327
Можно через PriorityQueue сделать
https://ideone.com/CjsgV2

мимо-джун-борщехлеб
492 1429524
>>29522
Ни о чем вообще не говорит.
493 1429525
>>29511

>а эффективный всё больше на cи


Поправил. Не благодари, крестоблядь.
494 1429528
>>29410

>окупать минуту


>минуту


Ахахахаха
Сто постов на дваче, как у вас с мавеном нет взаимности.
Охуительно вы все за минуту делаете.
Удачи
495 1429531
>>29523
Прикол в том, что нужно это реализовать максимально эффективным способом. Тут у тебя while(superIter.hasNext()) => iters.forEach() => O(n^2)
496 1429535
>>29531
У тебя не будет более эффективного способа, чем каждый раз вынимать из КАЖДОГО итератора значение и выбирать минимальное (учитывая, что у тебя уже есть вынутые, которые не минимальные).
Как-то к этому подвяжешь знание того факта, что входные итераторы уже отсортированные.
Это так себе оптимизация будет - просто будет в некоторых случаях останавливать запрос из и-го итератора.
В общем, это не вопрос про яву. Это вопрос про то, умеешь ты алгоритмизировать, или нет.
497 1429536
>>29531
Чому O(n^2)?
O(n*m) же, где n - количество элементов, m - количество итераторов, то есть O(n) если количество итераторов - константа. Нормальное решение, быстрее не сделать
498 1429539
>>29535

>Как-то к этому подвяжешь знание того факта, что входные итераторы уже отсортированные.


Нихуя не поможет. Следующее значение из любого итератора может быть наименьшим на данный момент.
499 1429540
>>29536
Одиночный цикл в n итераций даёт f(n) = n. Цикл внутри цикла — f n) = n^2. Цикл внутри цикла внутри цикла — f(n) = n^3. И так далее.
500 1429543
>>29540
Где там вложенные циклы?
Пройтись по коллекции, добавить значения в очередь и достать самое маленькое. На глаз там не сложнее n*logn должно получаться.
501 1429571
>>29543
В psvm лежит while, который вызывает superIter.next(), в котором iters.forEach()
502 1429634
>>29520
Кто ничего не пытается тот рот не раскрывает как бы
503 1429637
>>29520
Ну вот, сам подтверждаешь что язык располагает к говнокоду.
А почему игры и другие высоконагруженные приложения на джаве пишутся лишь в порядке исключения ты так и не рассказал. Наверное потому что другие языки не располагают к говнокоду и не прощают его, прям как ты и сказал. Т.е у нас с тобой на самом-то деле нет никаких противоречий.
504 1429638
>>29507
Язык нет, а виртуальная машина очень даже.
Спорить с невъебаным потреблением памяти джавой сложно.
А писать так что бы хавала мало тоже весьма не просто и зачастую совсем не джава вэй получается.
Шутка ли - в банках просто "отключают" сборщик и раз в день ребутают юниты которым пора. Ну ничего, теперь для этого есть специальный сборщик мусора который ничего не делает.
505 1429656
>>29531
Ну вот так вроде достаточно эффективно - один цикл.
https://ideone.com/76xE4T
image.png2,1 Мб, 1311x1311
506 1429666
>>29522

>ускорило его в 6 раз


ARE YOU SURE ABOUT THAT?
507 1429699
>>29666
Уже не очень, дядя Леш.
508 1429734
Пмогите неофиту. Не могу в идее написать хеллоуворлд-сервлет. Томкат работает, но выдает 404. Гляньте скрины,если гуглить по ошибке из первого скрина внизу, там что-то про спринг мвс выдает поиск, явно не то
509 1429736
>>29734
JDK у меня версия 9.0.4 Томкат 9.0.21 могут они не совпадать, например, и поэтому не работает?

Вот этот крендель https://www.youtube.com/watch?v=9HSl6ZyQbQ0&list=PL786bPIlqEjSoaZjtS5y6hQrUWOzs72Jl&index=4
делает все то же самое, и у него работает
510 1429740
>>29734
Попробуй зайти по адресу localhost:8080/GreatServletWeb/hello. Или localhost:8080/hello.
511 1429741
>>29740
404 - не найдено, оба варианта
512 1429745
>>29741
Тогда попробуй в веб.хмл прописать полный путь до класса.
513 1429748
>>29745
а как это сделать?
514 1429752
>>29734
Тут никто не умеет в сервлеты, все давно пишут на спрингбуте и уже позабыли как это все работает
1562500930974.png686 Кб, 1080x2160
515 1429754
>>29734
Поменяй конфигурацию запуска
6.jpg29 Кб, 1008x630
516 1429762
>>29754
как поменять? еще вот такое окно все время.
517 1429763
>>29752
мне все советуют учить сервлеты и жсп, для начала
7.jpg197 Кб, 1680x1050
518 1429786
Подкючил и выключил три плагина, в которых было слово томкат. Стало вот так теперь. Я делаю что-то такое, что никто, никогда не делал, такое ощущение, как космонавт.
519 1429797
>>29786
Сделай, как здесь:
https://habr.com/ru/post/333626/
520 1429806
Посоны, помогите найти материал для более углубленного изучения Spring Framework.
Работаю на спринге уже полтора года, многое умею, но очень хочу разобраться в его "потрохах", знать его составные компоненты, как они работают. У меня вечно такое ощущение, что я хуёво егт знаю, хотя писал очень многое.
Например, хотелось бы обмазаться Spring Security. Я знаю, как его сконфигурировать для простейшей авторизации. А вот когда какой-нибудь OAuth2, то сразу проблемы. Я смог написать, но теперь в душе не ебу как оно работает внутрт и как только какая-та трабла, то сразу приходиться гуглить. А хочется знать спринг очень хорошо, чтобы понимать как там формируются бины, почему выплёвывается та или иная ошибка. Я надеюсь, вы поняли о чём я.
521 1429809
>>29806

>приходится


Фикс, описка.
522 1429819
>>29806
Google -> Spring <projectname> architecture -> head blows up because of infinite layers of abstraction -> profit!
523 1429841
Я тут пытаюсь вкатиться в Джаву и не могу понять jdk какой версии использовать. На оф сайте можно скачать 8, 11 и 12, а jre распространяется только в версии 8. Я так понял нужно юзать 8 из-за большей распространённости? И почему для остальных версий нет jre? Они ориентированы на сервера, а не на клиентов?
525 1429861
>>29752
Может тогда не надо сервлеты лернить, а со спринг бута начать. Я долгие часы уже не могу хелло ворлд запустить
526 1429870
>>29797
все повторил, один в один. 404 - не найден
527 1429897
>>29870
Значит дело в конфигах. Удачной ебли. Обожаю жаву за это.
Selection009.png50 Кб, 1018x397
528 1429906
>>28563

>а уж про sysout=>Sustem.out.println и говорить нечего (его там нет)



>puk

529 1429909
>>29897

>Удачной ебли.



Это лаба1, это даже не петтинг.
image.png83 Кб, 828x584
530 1429919
Джавач-помогач, давай вместе найдем ответ на загадку, почему мой деливери-коллбэк не вызывается, хотя rabbitmq-manager говорит, что сообщение попало в очередь, на которую этот коллбэк навешан.
531 1429923
>>29919
Все, понял. Я же блокирую тред, в котором собираюсь вызвать basicConsume, вот ничего и не происходит. Спасибо, двач.
532 1429929
>>29539
поможет
ты взял из итераторов значения 1, 6, 8, 4
зная, что итераторы сортированные, тебе надо смотреть ТОЛЬКО в первый, пока там не появится что-то большее 4-х
И если ты оттуда достал 5, то можно останавливаться
533 1429932
>>29734
ты замапил на /hello, а в урл что пишешь?
Разберись, что, как и зачем прописывается в веб.хмл
534 1429970
>>29932

> а в урл что пишешь?


в урл я пишу localhost:8080 или localhost:8080/hello или localhost:8080/GreatServlet или если делаю test.jsp как во втором примере, то пишу localhost:8080/test , ну и всякие другие вариации пробовал index там
535 1429971
>>29932
Я все повторил за ним https://www.youtube.com/watch?v=9HSl6ZyQbQ0&list=PL786bPIlqEjSoaZjtS5y6hQrUWOzs72Jl&index=4
кроме того что не уставновил плагин, т.к. не нашел его
superiterator.png16 Кб, 833x540
536 1429980
>>29929
Ты прав. По скорости выигрыш не очень большой, но зато потребность в памяти радикально меньше.
В этом варианте >>29523 практически все значения сначала в память считывались, а у уже потом доставались.
В новом варианте https://ideone.com/SFWEt3 только по мере необходимости. Вот только реализация не тривиальна, пришлось позаимствовать PeekingIterator от апача и сделать его comparable.

>>29656
Чет нихуя я не понял что там происходит.
537 1429990
>>29980
Почему бы не завести хэш-мапу, в которой ключи - числа, взятые из итераторов, а значения - их количество. Лукапы по ключам очень быстрые, так что получится та же очередь с приоритетами, только эффективнее. Особо не вникал в задачу и ваши решения, но надеюсь, что не хуйню сказал.
538 1429995
>>29990
А, дополню: чтобы вытаскивать entry мапы по очереди, нужно сделать TreeMap, а не хэшмапу. Ну и сложность тогда предположительно будет O(logn).
539 1430005
Не, херня идея. Там дикая сложность получится.
540 1430009
>>29980

>Чет нихуя я не понял что там происходит.


Есть массив "просмотренных" значений (просмоторы происходят при вынужденной проверке итератора в методе next), позиция в этом массиве соответствует позиции итератора.
Если в массиве "просмотренных" есть неnull значение, значит точно что-то от next мы получим, если нет известных "просмотренных" - придется чекнуть hasNext у итераторов, до первого положительного (сейчас подумал что и тут можно сразу по двум массивам идти).
Для поиска next идем по массиву просмотренных, если есть значение проверяем является ли оно минимальным, если нет - используем итератор на данной позиции и его next. По ходу дела за один проход и заполним массив "просмотренных", и сразу минимальное значение с его позицией найдем. Убираем из "просмотренных" минимальное значение которое будем возвращать (что бы на следующем проходе опять спросить соответствующий итератор).
541 1430011
>>29980
Что это за замеры? Может скинешь тест кейсы, в jmh прогнать.
542 1430026
Через неделю первый раз ввожу на работу. Подскажите, пожалуйста, что было бы неплохо прочесть-посмотреть перед этим. Стек проекта неизвестен, но скорее всего - Спринг и все такое. Посоветовали на собеседовании ознакомиться с effective java, это уже читаю.
image.png450 Кб, 600x506
543 1430027
>>30011

>jmh


My respects to this gentleman.
544 1430051
>>30009
То есть ты каждый раз перебираешь весь массив просмотренных значений? Быстрее будет хранить их в уже сортированном виде и дергать по мере надобности.

>>30011
Замеры через System.currentTimeMillis() и график в екселе, лол. Ну а тестовые данные просто массивы со случайными цифрами фиксированной длинны. Я у мамы ученый на хую верченый.
545 1430053
>>29995

>TreeMap, а не хэшмапу


Вся проблема в том что у нас значения не уникальны.
546 1430097
>>28551

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


в разных запросах может понадобиться разный маппинг
547 1430134
>>30097
Ты совсем куку? Это как-то добавляет противоречий?
548 1430135
>>30134
"один раз сделал маппинг и всё". Нет, это не так. Скажу даже больше - готовый маппинг очень часто мешает
549 1430165
>>30051
Ну и что, все равно алгоритм вроде как проще вышеуказанных.
Просто хранить уже отсортированные не получится, так как нужно будет еще хранить данные о том из каких итераторов взяли значения, а из каких нет. Из тех что не взяли придется брать значения и опять сортировать.
superiterator.png16 Кб, 1188x743
550 1430352
>>30165

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


Нет не проще - см. пикрил. У тебя O(n^2)
551 1430485
Почему Intellij idea генерирует конструкторы и разные геттеры сеттеры выше полей?
Это ведь неправильно с точки зрения стиля написания кода,
как это исправить?
552 1430517
>>30165
1. просто хранить отсортированные получится. Каким-нибудь модифицированным линкдлистом, со знанием мин, мак и указателя на середину листа, чтоб хоть чуточку быстрее вставлять в него.
2. достаточно про каждый итератор хранить последнее выбранное из него значение (а не присовокуплять ссылку на итератор на выбранные значения, которые хранятся в списке из 1)
553 1430538
>>30485
Она генерит, вроде бы, там, где у тебя курсор стоит. Алсо, чому бы ломбок не подрубить?
554 1430539
>>30538
Уже хоткей идеевский прожать лень, на любой чих библиотеку прикручивают, лентяи.
555 1430565
>>30538

>ломбок


Только не этот рак.
556 1430598
>>30565
Двачую, сразу неприязнь к Ломбоку появилась.
мимо-вкатившийся
557 1431125
>>30539
Дело не в лени, а в стиле и внешнем виде когда. У меня может быть 20 полей и под все из них геттеры и сеттеры займут около 79 строк, зачем оно мне есть аннотация @Data автоматом мне их создаст, без лишнего кода, который бросается в глаза?

Такой код выглядеть лаконичнее.
558 1431129
>>31125
Ладно, тут согласен. Но когда ломбок прикручивают к классу уровня хэллоу ворлд с двумя полями (а такое вижу частенько), мне это непонятно.
559 1431216
Сап, двач! Чё почитать по джаве, для свича из языка C++? Ну, то есть нужна книжка, дающая основы языка для совсем незнакомых, но в то же время не рассказывающая чё такое переменная.
560 1431298
>>30565
Расскажи почему это рак, пожалуйста
561 1431299
>>31216
Кей хорстманн, библиотека профессиональнала
562 1431342
>>31298
Потому что с ним ты теперь зависишь от того как хорошо работает lombok плагин в твоей IDE.
563 1431366
Как в джаве стандартными средствами вытащить имена всех классов из package'а, имея только package name?
564 1431375
>>31125
Ух, бля!
Препроцессор препроцессора перед препроцессором.
Нельзя же просто взять и начать компилировать!
565 1431377
>>31366
Стандартными никак.
Стандартный класслоадер не гарантирует, что прочтет все классы из класспаса. Только те, которые ему явно понадобятся.

Если хочешь поебаться, то разбирайся, например с этим:
https://github.com/ronmamo/reflections

Но, очевидно, у тебя ничего не выйдет, потому что это примерно вторая ссылка в выдаче гугла, а ты пришел со своим вопросом на двач.
Удачи.
566 1431379
>>31377
я пришёл с вопросом на двач, потому что я не джава программист, и решил обратиться к коммьюнити, чтобы мне надавали годных советов люди, которые знают ответ, чтобы я не тратил своё время на перелопачивание кучи ресурсов о рантайме джавы, его пакетах, класс лоадерах и прочем, но походу тут немногим дружелюбнее андроид тредов, яснопонятно.
567 1431407
>>31379

>я не джава программист


>обратиться к коммьюнити


Ахахахахаха. На дваче. Коммьюнити.
Коммьюнити "джава программистов" на дваче.
Ты, похоже, не просто не джава программист, ты вообще умственно отсталый.
568 1431425
>>31125

>20 полей


>геттеры и сеттеры

569 1431426
ребята ребятки ребятушечки, мне надо чтоб сайт показывался через джаву, у вас такое реально сделать? Типо вот есть сайт, и мне надо чтоб запускаешь билд и он хуяк сайт на весь экран открывает и все счастливы
Начальник просит меня сделать такую хуиту, а я блять не кодер, я блять сис админ нахуй как он говорит ТЫЖПРОГРАМИСТ
570 1431446
>>31426
Ну ты не первый кого начальник просит такое сделать, в 2019 все очень просто, вот подробный гайд
https://circleci.com/blog/its-the-future/
571 1431484
>>31407

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


Иногда я смотрю в зеркало и думаю: "Кто же ты, человек в зеркале?". Я совершаю плавные движения руками, иногда поворачиваю влево или вправо своей головой, не отводя взгляда от зрачков отражения. Кто же я?
572 1431613
>>31425
Число полей и внутренних функций ничего не решает, просто интерфейс должен быть минимальный. А толстый класс на 1к строк кода, но с двумя-тремя public методами - это гут.
573 1431616
>>31613
Это говно, а не класс.
574 1431619
>>31613
Так ведь геттеры и сеттеры и есть интерфейс. И когда их очень много - это не норма. А если ты делаешь их приватными и используешь в том же классе вместо прямого обращения к приватным полям, то у меня вопросы к твоему психиатру.
575 1431650
>>31616
Ну да, конечно. Если в файле больше 1к строк кода — стопудняк говнокод. Всё изи.

>>31619
Геттеры и сеттеры — это очень плохой интерфейс. Причём сеттеры хуже. Желание написать геттер вызывается тем, что код не достаточно объектно ориентированный. Методы типа геттеров и сеттеров чаще всего возвращают примитивные типы. А если тебе постоянно нужно работать с примитивными типами, значит у тебя процедурная хуета.
576 1431660
Аноны, зачем нужен гитлаб, если есть гитхаб ? На работке мне сказали лить проекты на лаб. Первые 2 строки Википедии не дали мне ответа.
577 1431662
>>31660
Потому что гитхаб куплен майкрософтом, и у линуксоидов бомбит срака
578 1431668
>>31650

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


Охуенные истории. Как раз таки это и есть проявление ООП - инкапсуляция. И если тебе нужно получить значение поля для действия, которое не входит в ответственность самого класса, то тут лучше, чем геттером, и не сделать.
Encapsulation.png26 Кб, 1298x406
579 1431790
>>31668
Откуда вы берётись, шкальники с определениями из википедии?

Вот поясни мне, чем ЭТО лучше, чем просто сделать public string? Вот чем, бля? Какие бонусы даёт?

Да ничем не лучше. Сеттеры — это полная ебельдь, геттеры ещё допустимы, но их использование должно быть обоснованно.

И одни из самых уёбещьных геттеров — это геттеры, которые возвращают примитивные типы. Потому что это значит, что объект просто является структуркой из сишки.
580 1431808
>>31790
Это лучше тем, что какой-нибудь васян не сможет унаследовать твой класс и создать спагетти-код, обращаясь в подклассе к полям суперкласса. Не говоря уже просто о том, что геттеры и сеттеры унифицируют интерфейс, и тебе не придется бегать с дебаггером по всему коду, чтобы выяснить, где же ты достиг пика Балмера и обратился напрямую к полю, изменив его значение. Короче ты свои принципы говнокодинга лучше держи при себе и другим людям не показывай.
581 1431834
>>30097

>понадобиться разный маппинг


Ну да, конечно. Данные из объекта "MyMomsFucker" ты будешь класть то в одну таблицу, то в другую.
Это такой охуенный дизайн.
Пиздец, ты мастер работы с базами данных, сразу видно.
Да, асбтракции тебе не нужны, хуярь на ждбц!
582 1431836
>>31790
Пиздец, ты тупой.
Это лучше тем, что сегодня ты возвращаешь просто name, а завтра еще и делать при этом что-то будешь (писать в лог, сколько раз спросили имя; присовокуплять слово ХУЙ к имени; да мало ли).
А у тебя уже будет до хуя кода, которое просто берет значение из переменной. И все, пиздярики.

>использование должно быть обоснованно


>обоснованно


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

Какая дефективная пизда рожает таких даунов в этот тред?
583 1431840
>>31808
Васян, который будет наследовать - по херу.
Не по херу те, кто будет использовать это класс.
Достаточно в какой-то момент захотеть поменять детали внутреннего представления того, что возвращается геттером, и ты рад, что у тебя наружу торчит только геттер.
Ну, например,
private int age;
public int getAge(){.....}
поменяешь на
private Date birthDate;
public int getAge(){.....}

говнокодер, которому ты отвечаешь, не писал ничего сложнее Laba.java, поэтому в его пустую голову и не приходит, что такая хуйня в реальной жизни сплошь и рядом.
584 1431853
>>31808

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



Васян заоверрайдит геттер.

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



Мои принципы — это не писать public поля, а продумывать структуру класса так, чтобы не было полей, к которым есть и геттер и сеттер.
585 1431862
>>31836

>Т.е. ты не различаешь, когда надо две Н писать, а когда одну



Если человек допустил грамматическую ошибку, значит и аргумент у него инвалидный. Ну это же очевидно, ну ёпт.

>Это лучше тем, что сегодня ты возвращаешь просто name, а завтра еще и делать при этом что-то будешь (писать в лог, сколько раз спросили имя; присовокуплять слово ХУЙ к имени; да мало ли).



Сегодня слушаешь Джаз, завтра родину продашь.
Вот надо будет добавить запись в лог, перепишешь из прямого доступа в геттер.

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

Вас на буткампах уже вообще забросили, и не учат что оверьюзить аксессоры плохо?
586 1431868
>>31862

>перепишешь из прямого доступа в геттер


А если классов, работающих с этим полем, много? Тоже перепишешь? Колхоз такой-то.

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


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

>А если классов, работающих с этим полем, много? Тоже перепишешь? Колхоз такой-то.



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

Я же не в защиту паблика говорю, я против аксессоров.

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


звучит странно

Почему? Если у тебя есть класс Car, содержащий поле Engine, у которого низкоуровневые методы, то логичнее сделать у класса Car метод move(), чем метод getEngine, а потом в классе TheGodOfMovement работать с этим Engine.

А это уже и есть продумывание структуры чтобы геттеров было меньше. Я не говорю, что их вообще не должно быть в коде. Это невозможно. Я говорю про то, что такая оптимизация улучшит читаемость и уж точно не звучит странно.
588 1431908
Сап, джавач!
Сделал по учебнику минимальный RESTful сервис, задеплоил на TomEE и при обращении к своим URL-ам в логе получаю исключение:

java.lang.IllegalArgumentException: bean
at org.apache.bval.util.Validate.notNull(Validate.java:38)
at org.apache.bval.jsr.job.ValidateBean.<init>(ValidateBean.java:35)
at org.apache.bval.jsr.job.ValidationJobFactory.validateBean(ValidationJobFactory.java:52)
at org.apache.bval.jsr.ValidatorImpl.validate(ValidatorImpl.java:53)
at org.apache.cxf.validation.BeanValidationProvider.doValidateBean(BeanValidationProvider.java:149)
at org.apache.cxf.validation.BeanValidationProvider.validateReturnValue(BeanValidationProvider.java:135)
at org.apache.cxf.validation.BeanValidationOutInterceptor.handleValidation(BeanValidationOutInterceptor.java:43)
at org.apache.cxf.validation.AbstractValidationInterceptor.handleMessage(AbstractValidationInterceptor.java:83)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:90)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.phase.PhaseInterceptorChain.doInterceptStartingAt(PhaseInterceptorChain.java:478)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:94)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:258)
at org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Подскажите плс, в какую сторону копать?
588 1431908
Сап, джавач!
Сделал по учебнику минимальный RESTful сервис, задеплоил на TomEE и при обращении к своим URL-ам в логе получаю исключение:

java.lang.IllegalArgumentException: bean
at org.apache.bval.util.Validate.notNull(Validate.java:38)
at org.apache.bval.jsr.job.ValidateBean.<init>(ValidateBean.java:35)
at org.apache.bval.jsr.job.ValidationJobFactory.validateBean(ValidationJobFactory.java:52)
at org.apache.bval.jsr.ValidatorImpl.validate(ValidatorImpl.java:53)
at org.apache.cxf.validation.BeanValidationProvider.doValidateBean(BeanValidationProvider.java:149)
at org.apache.cxf.validation.BeanValidationProvider.validateReturnValue(BeanValidationProvider.java:135)
at org.apache.cxf.validation.BeanValidationOutInterceptor.handleValidation(BeanValidationOutInterceptor.java:43)
at org.apache.cxf.validation.AbstractValidationInterceptor.handleMessage(AbstractValidationInterceptor.java:83)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:90)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.phase.PhaseInterceptorChain.doInterceptStartingAt(PhaseInterceptorChain.java:478)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:94)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:258)
at org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Подскажите плс, в какую сторону копать?
589 1431917
>>31908
В сторону гугла. Писать рест научился, а находить ответы на стектрейсы - нет.
590 1431920
>>31917
Дело в том, что в гугле я уже довольно хорошо поискал, и по разным ключевым словам из стектрейса подобной проблемы ни у кого не обнаружено.
591 1431923
почему/что значит, если в имплементации ClassFileTransform, что используется в javaagent'е className иногда null? это типа он его не смог зарезолвить чи шо?
592 1431924
>>31908
Исправлено тем что вместо 8-го TomEE поставил 7-й.
Но все равно хочется знать, что было не так.
593 1431925
-Что отличает трансов от трансформеров?
-Если трансформеры "трансформировались и поехали!", то трансухи сначала поехали, а потом трансформировались
594 1431927
>>31925
Ебать я тредом ошибся. Извините.
595 1431947
>>31862

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


Ахахахахахахахаха.
Все остальное можно не читать.
Специалист делится опытом.

А еще кто-то ругает индусов за их код.
596 1431949
>>31862

>оверьюзить аксессоры


О, бля, по-русски обсирается писать, смотрите, какой он мастер говорить на говносуржике!

Сколько у тебя за спиной проектов-то? Ну, не считая лаб.
1. Здравствуй, мир
2. Сортировка методом пузырька
3. <в работе>
Судя по хуете, которую ты тут с надутыми щеками выдаешь, примерно так.
sage 597 1432111
>>31808
>>31853

>Это лучше тем, что какой-нибудь васян не сможет унаследовать твой класс


>Васян заоверрайдит геттер.


>что такое final?



>>31836

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


>что такое dependency injection?

sage 598 1432112
>>31650

>Если в файле больше 1к строк кода — стопудняк говнокод


С большой вероятностью так и есть.
599 1432121
>>32111

>dependency injection


Не спасет в данном случае.
600 1432125
>>31834
В одном отчёте тебе нужно сджойненное поле Mamka1, другом отчёте это поле не нужно, а нужно Mamka2. А в основной логике не нужно ни первое, ни второе.
Или предлагаешь каждый раз грузить и то, и другое?
601 1432127
>>31840

>такая хуйня в реальной жизни сплошь и рядом


логика в entity классах - вселенское зло. Это первое, чему учат джунов после laba2
sage 602 1432193
>>32121
Как скажешь.
603 1432234
>>32127
Видимо, до laba3 ты не дошел, потому что там рассказывали, что все эти принципы - не вселенская истина, а лишь рекомендации. И вообще, если логика в ентити связана только с самим ентити, то ничего плохого в ней нет.
604 1432240
>>32234

>то ничего плохого в ней нет.


только проблемы с размытием границ бизнес-логики, с тестированием, с транзакциями, с появлением "god object"
605 1432245
>>32240
То есть, даже вспомогательные методы вида "пройдись по своей коллекции и найди наименьшее число" запрещаешь?
606 1432252
>>32240
Никаких проблем нет, если писать правильно

https://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html
607 1432257
>>32245
CollectionUtil со статическими методами
608 1432258
>>32245
такой метод в каждом классе собираешься делать?
609 1432262
>>32252

>orm открывает доступ к sql всему приложению, блаблабла


Дальше не читал. Почему ему никто про дао не рассказал?
610 1432266
>>32262
Потому что DAO не нужно, очевидно же.

https://www.yegor256.com/2017/12/05/data-access-object.html
611 1432270
>>32266
>>32252
я эти "прогрессивные идеи" об ActiveRecord читал в двадцатилетней книге
612 1432278
>>32270
лол, проигрываю с его блога

https://www.yegor256.com/2016/07/26/active-record.html
613 1432283
>>32278
А неплохо устроился, тупо взял и обосрал в виде постов все адекватные аргументы против своих манятеорий. Теперь если что-то скажешь против, то у него еще статься найдется.
614 1432304
>>32111

>что такое final?


final - это пизда твоей мамаши шлюхи. Я же картинку прислал.

>>31790
Ты здесь файнал видишь?

>Что такое dependency injection?


Тоже мамка твоя.

>>32112
А если я найду тебе фуйлик более чем на 1к кода в каком-нибудь элстиксёрче?
615 1432306
>>31949
Защитник русского языка в треде.

Активная запись, НПС(Не повторяй себя), Разработка через тестирование, ПЕСП-архитектура, КТС3+ЯГТР5, ЯСЗ база данных.
616 1432322
Найти длину самой длинной уникальный подстроки в строке.

Можно эту задачу решить как-то быстрее, чем n2? Ничего в голову не приходит
617 1432329
>>32322
Как за квадрат?
618 1432344
>>32329
А, блять, не, я решил ее за O(n), не за O(n2). Можно ли как-то быстрее?
619 1432367
>>32344
Я за O(log n) решил, можно как-то быстрее?
620 1432383
>>32367
Я за О(1) решил, можно как-то быстрее?
621 1432396
>>32383
Я за О(0) решил, можно как-то быстрее?
622 1432429
Аноны, в чем различия между терминами "маршалинг/демаршалинг" и "сериализация/десериализация".
Посмотрел на вики, и нихуя не понял.
623 1432435
>>32429
маршалинг - это в текстовый формат. Сериализация это в бинарный
624 1432512
>>32435
А разве строчка это не есть последовательность байт как и все остальное?
625 1432557
>>32125

>Или предлагаешь каждый раз грузить и то, и другое?


>каждый раз


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

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

Напомню, так же, что любое изменение схемы бд у здорового человека вызывает изменение маппинга ровно в одном месте. Совершенно очевидными способами, читабельными глазами.
У таких, как ты, ну... ты и сам знаешь же, да?
626 1432560
>>32127

>логика в entity классах - вселенское зло


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

Пример был такой, какой был, чтобы даже уебан понял, о чем идет речь.
Судя по тому, что возражения есть только про вселенское зло, цель достигнута.
Хотя, конечно, и не вполне, раз ты там где-то увидел логику, болезный.
627 1432561
>>32240
Вот же ж ты мудак, тебе уже в сотом посте говорят, что "границы бизнес-логики" определены интерфейсом класса.
Который ты то предлагаешь менять постоянно, то выносить в него переменные.
Блядь, ну откуда вы сюда лезете? Это же не яваскриптовый тред. Может, ты перепутал просто?
628 1432562
>>32322
Трие за сколько построишь?
А потом обойдешь листья?
629 1432565
>>32429
В общем случае нет никакой разницы.
В каждом конкретном (технология, язык, фреймворк) - может быть.
Не еби мозги, короче, себе.
630 1432573
че скажете за Ваадин?
631 1432722
Аноны, есть кто под виндоус тут разрабатывает, у вас как с окружением? Работает там все, докеры хуекиры вот это вот все?
15616382106870.png359 Кб, 540x350
632 1432741
>>20596

> Чтобы было сложнее писать юнит тесты

633 1432744
везде слышу что java по сравнению с c# кусок старого говна, на котором через лет 10 ничего нового писать не будут
634 1432745
>>32722
Хуёво там всё с докером, ставь линукс. Ну то есть работать может и будет, а можешь отхватить баг нигде не описанный толком (я вот влетел на невозможность получить права на запись в C:\ и не помог ни один из найденных рецептов) и будешь вместо работы искать что с этим делать.

>>31862
Используйте ломбок, он няшечка.
635 1432750
>>32744
Только вот почему-то шарпец не хочет работать с линупсом, на котором крутится большая часть серверов)0
636 1432763
>>32745
А как его поставить лучше? В виртуалке наверн неудобно работать будет? Второй осью? Ты просто снес винду и забыл про нее?
637 1432773
>>32763
ставь второй осью если хочешь играть в игрушки/нужен фотошоп, сам поставил основной осью и под вайном норм старый видософт/игры работают
image.png23 Кб, 568x250
638 1432779
639 1432781
>>32429
https://stackoverflow.com/questions/770474/what-is-the-difference-between-serialization-and-marshaling

tl;dr Сериализация может использоваться для маршалинга
Маршалинг это об идее "передать отсюда туда" (из одного процесса в другой и тд). Сериализация способ сохранить данные так что бы потом прочитать, в протобоаф ли, в жсон, в хмл - не важно.
15628738089110.jpg6 Кб, 244x206
640 1432819
>>20539 (OP)
Анончики, какой набор знаний необходим, чтобы стучаться в компании на должность джуна НЕ ВЕБСПРИНХ?
Знаю core, дженерики, имплементил ArrayList, stack(на основе односвязного списка), бинарное дерево. Знаю, как работает hashmap. Знаю скорости чтения/доступа всех этих структур данных. Не умею в сортировку, от слова совсем(пока не дочитал до этого в книге по алгоритмам). Малость ориентируюсь в многопоточности, на 2/3 осилил курс Головача. Мне шо-нибудь вообще светит с таким набором? Не хочу писать сайты, хочу чего-то мало-мальски интересного
641 1432820
>>32512
byte как примитивный тип и как bytecode - вещи разные
642 1432821
>>32819
Без фримверков - бибу сосать только. Джава не про эффективный код, а про быструю и надежную доставку фич для наебизнеса. Тебе в плюсотред.
643 1432823
>>32819
Хотя всякие хайлоады мутят на ней, но там все равно нужно куда больше знаний, чем у тебя есть.
644 1432828
>>32819
Таким платят обычно 1/x от спрингбут-реакт-макак, но такие конторы есть, сам хотел туда перекатится (бывший олимпиадник) но сложно резко потерять больше половины дохода.

Смотри в сторону стартапов видео/крипто/роботы, но туда можно попасть джуном только если ты особенный.
645 1432833
>>32779
кому ты больше доверяешь, какому то официальному форуму или еблану с двочей?
646 1432840
>>32821
Да ну. Тот же visual studio, написаный на плюсах, работает хуже, чем любая ide от jb, каждая из которых написана на java
647 1432841
>>32828
Неужели всё так плохо? Почему не пошёл в яндекс/мэил, коли олимпиадник?
648 1432844
>>32840
Я и не говорю, что на жаве нельзя писать хороший быстрый код. Просто задачи другие, и эти навыки не так важны, как знания Спрэнг Фримверка.
649 1432847
>>32841
Я не из РФ, так что яндекс по дефолту мимо, а в гугл-амазон сфейлил интервью один раз так как хикка и волновался пиздец как что у меня аж мозги парализовало на какое то время, больше не пробовал. Ну я был так себе олимпиадник, едва красный рейтинг в лучшее времена. Да и так зарабатываю больше, чем там предлагают, просто иногда печально становится что делаю какую-то хуету
650 1432865
>>32722
на хуй тебе докер, совсем ебанулся, что ли?
651 1432875
>>32722
Есть intellij idea, есть поддержка баша в win10. Тебе чего нужно-то ещё?
На кой хуй тебе docker сдался?
image.png90 Кб, 1744x360
652 1432889
>>23634

Держи на котлине, на джаву механически переписывается
653 1433011
>>32889
Какие же джуны дегенераты, пиздец просто.
654 1433125
Куда проще вкатиться в java или c#?
655 1433361
пацаны как вам coursera? Щас прохожу Object Oriented Programming in Java, стоит ли брать весь Data Structures and Beyond
656 1433517
Есть ли способ научиться быстро читать приложения кроме как делать это 100500 раз? Вкатился перекладывать джейсоны в Яндекс вкат в более интересные отделы пока не потянул, изучаю микросервисы основного приложения и чувствую себя непроходимо тупым.

Сам код не выглядит сложным, но нарисовать всю картину как сервис А клиентом сервиса Б ходит в Б, дальше там ещё какие-то асинхронные методы, очереди, прослойки... - получается очень-очень нескоро.
657 1433572
Спринг. В тестах бин автовайрится, в рантайме нет. Профили совпадают. Что за хуйня?
658 1433573
>>32722
docker-toolbox есть.
659 1433583
>>33572
Конфиги проверяй. Возможно не импортировал нужный.
660 1433585
72к для джуна без опыта нормальная з/п?
661 1433586
>>33583
Не, я вроде забыл аннотацию поставить над создаваемым бином. Все равно хуйня какая-то.
662 1433589
>>33585
На руки? Норм, только уточни политику повышения с твоим ростом
663 1433599
>>33589
Да на руки. Политика там простая. Через пол года дают тест. Если прохожу - повышают до обычного погромиста.
Я думаю я жуе ща осилю тест. Там даже многопоточность не требуют на средний уровень.
664 1433602
>>33599
Я бы тогда сказал что хорошо. А через 2-3 месяца не дадут пройти?
Есть ещё офферы? На рынке джунов не сказать чтоб такой выбор был хороший, я бы не перебирал без нужды.
665 1433608
>>33602
Да я вышел туда уже. Кстати нормальный коллектив такой.
Офферы были несколько но там странные люди в основном какие то были. Предлагали кто то ЕЕ, кто то какую то легаси срань, которую я в глаза не видел. Даже сбербанк был.
В сбер наверно я точно пас.
Был вариант за 90к с кучей командировок, но мне как то в падлу летать было по стране туда суда. Я не и понял прикола, ни чем конкретно контора занимается.
Еще был андерсон с предложением поработать за 5к лол
Я с них откровенно поржал.
666 1433610
Что вы там такое пишете, что вам столько платят? Неужели продукт приносит столько дохода?
667 1433612
Кстати, коллеги, какой реалистичный потолок для джависта в ДС? Вот я сейчас мидол, получаю 160 окладом + квартальные. Слышал, что хорошие сеньоры получают 250-300.

А дальше куда/как? Есть кто-нибудь с личными историями успеха? Интересует как рост в экспертизе так и в техническом управлении.
668 1433613
>>33612
Дальше не в 250к упираться а заводить трактор. Ну как бе иначе смысл этим всем заниматься.
669 1433614
>>33610
Я сейчас на поддержке у гигантской конторы с франчайзингом. Джава в основном это банки / хайлоад/ гигантские корпорации.
Отсюда и ЗП,
670 1433616
>>33613
Про тракторные истории тоже интересно. Именно про наш стек, не абстрактное "уехал в гугель чота там писать".
671 1433619
>>20539 (OP)
Кто-нибудь устраивался на автоматизатора в епам? Какие там +- требования к кандидатам, мощным надо быть или автоматизаторов не хватает и закрывают на многое глаза?
672 1433635
>>33616
Попробуй гуглом. Я сейчас без сарказма.
Найди сайт работный той страны куда хочешь уехать.
Пишешь резюме на их языке.
Ждешь ответов / пробуешься сам. Но я думаю надо язык на норм уровне. А там офер ну и как обычно.
673 1433639
Можно ли как то БЕЗ форк-джоина или коллабл с тред.джоин сымитировать рекурсию?
Например через блокинг кью как то. Разбить на продьюеср / консьюмер?
Условия остановки рекурсии нет - по сути например, как в поиске в ширину, можно реализовать через стек или очередь пока они не пустые. Но получается что много тредов в стек добавляют и много оттуда забирают и стек периодически может быть пустой.
Вопрос ,наверное, скорее даже в том как реализовать условие, чтобы программа завершалась, а не крутилась в бесконечном цикле.
674 1433640
>>33635
Не, я видимо плохо написал. Я не то чтобы прямо сейчас собираюсь уехать, да и английский подтянуть надо б чтобы хотя б на скайпах нестыдно было.

Просто хочется послушать историй прям успешного успеха, кто как что. Так-то я канву знаю и думаю через пару лет попробую.
675 1433642
>>33639

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


Мне чудится или ты там проблему останова решаешь? В практическом смысле, кмк, можно завести счётчик неуспехов чтения очереди (только аккуратно его пошарить между тредами) и останавливать обработку после его достижения.
676 1433643
>>33642

> после его достижения


"после достижения заданного лимита" конечно
677 1433674
>>33642
Мда, пиздец, ты из js-треда сюда пришел?
678 1433676
>>33674
А_ТО.джпг
Ну рассказывай, сверхразум, как бы ты делал.
679 1433693
Шалом, есть вопрос. Начал учить джаву примерно месяц назад, основная проблема что работаю фулл тайм, и в будние дни почти нет времени для изучения, на работе могу выделить часа 2 для просмотра видео/чтения книг етц. Будет ли это эффективно без практики?
680 1433737
>>33640
Я тебе так скажу. Если ты прям реально хочешь уехать, а не когда то там может быть никогда .
То можешь уже начинать подтягивать нужный язык и искать вакансии. Дрочить скил под них и проходить какие то тестовые собесы, если скил уже есть.
Прям вот пишешь список того что надо и хуяришь. Планомерно, без перенапряга, чтобы плавно и приятно заходило. Сам не поймешь как уже будешь в желаемой стране жить.
681 1433740
>>33693
В целом да. Просто медленнее. Но писать все равно надо, иначе это как по ютюб видосам учиться боксу. Будешь диванным мастером спорта, а ирл огребешь от первого щегла.
682 1433843
>>32865
>>32875
Тестики UI'ные в докер контейнерах запускать
https://github.com/aerokube/selenoid
683 1433872
Есть ли смысл в просмотре видео уроков, если нет возможности практики? На работе есть пару часов свободных для книг/видео-уроков?
684 1434088
В понедельник иду на собеседование (первое). Как ослепить всех своими ответами?
685 1434098
>>34088
https://habr.com/ru/post/188010/
https://github.com/enhorse/java-interview
https://habr.com/ru/company/luxoft/blog/270383/
https://habr.com/ru/post/265061/
https://habr.com/ru/post/350682/

Меня спрашивали отсюда все суммарно. За ~8 разных собесов. Ответы нормальные сам нагуглишь.
Класска - про арей лист / линкед лист. Даже про то как поменять GC из/в многопоточный режим ставить спрашивали.
В 1 контору было аж 3 сука технических. 3!! Даже с техническим директором собеседовался. По итогу вакансия оказалась говно пздц.
итого 4 офера из 4 контор
+ еще гуглом поищи по спрингу /ее / хадуп/жбос/редис или что там у тебя.
686 1434104
>>33642

Братишки я Вам говнокода принес.
https://github.com/EntropyAndDespair/bsfFileSearch/blob/master/ConcurrentFileSearch.java

Костыль на костыле.
Через callable или форк join нормально получается. Но я курнул и хочется извращений.
Интересно еще вариант этого же говна можно как то слепить.
688 1434206
>>34098

>В 1 контору было аж 3 сука технических. 3!!


Хе, у меня было 6.
689 1434220
>>34206
Что за стак? Что спрашивали?
На 1м был тимлид + синьор. на 2м какой то их начальник, на 3м тех дир. + еще тестовое, правда легкое. Каждое 1,5 часа пздц
Я даже не представляю что там еще спрашивать то было после 1го..
690 1434231
>>34220
синиор ведроид девелопер.
691 1434275
>>34231
Мне казалось что чем выше идешь тем меньше должны мозг трахать. Ну по крайней мере тебя то про хэш мапы явно спрашивать смысла нет. Максимум специфику ведра, если на него работа завяна. + гитхаб посмотреть
692 1434283
Куда лучше подавать на стажировОчки? Сбербанк/ВТБ норм?
693 1434291
>>34275

>Ну по крайней мере тебя то про хэш мапы явно спрашивать смысла нет


Хех, нет. Одно из собеседований было целиком посвящено алгоритмам и структурам данных.
Гитхаб не спрашивали, но он у меня пустой (скрипты для работы и мелкие снипеты для демонстрации проблем/решения для стековерфлоу). Все интервьюхи по часу были.
Первое и второе интервью - просто интервью обо всем (они были с интервалами в недельку, ну и пиздеть надо было с чуваками из амурики), правда на втором еще по кишкам джентельменского набора либ для ведра покопались.
Остальные четыре были подряд, с перерывом на час.
Третье было по всяким паттернам архитектурам солдиам онсайт.
Четвертое по алгоритмам и структуркам (еще правда на низкий уровень оси залезли) из офиса с чуваком из америки.
Пятое - кодинг таск с презентацией экрана. Сделать лайтовую имплементацию стримов (iterator, forEach, map, flatMap, filter).
Шестое - андроид специфика вьюшек, оптимизация отрисовки и тд.
694 1434293
>>34283
Жидбрейнс не берет стажеров?
695 1434298
>>34293
слишком круто ящитаю
696 1434302
>>34291
В гугл устраивался?
Чет как то перебор мне кажется.
697 1434310
>>33872
Если ты безмозглое говно, смотри видео-уроки
Если есть хоть чуточку мозга, читай.
698 1434319
Решил посмотреть как писать собственную регистрацию и аутентификации, так в Гугле либо фреймворки предлагают, либо просто показывают как sql-запросом добавить запись о пользователе даже без хеширования пароля.

Java настолько не подходит под разработку персональных проектов и нацелена лишь на ускоренную доставку решений бизнесу?
699 1434344
php мидл в треде, дрочил java несколько месяцев. Как думаете, могу ли пройти на ява мидла, или надо начать с джуна сначала?
700 1434354
>>34344
Много хочешь. Сможешь без гугла объяснить разницу между параллелизмом и канкаренси? Про спринг вообще молчу, за пару месяцев ты там ничего не изучил, а знание его даже от джуна требуют.
701 1434360
>>34302
Не, но то таке, может через 2 годика можно и в амурику будет релокейтнуться.
Самое забавное что в другие тимы по ведру прям после универа берут (тимлид шутил как нам в команду китайца подбросили после универа). В итоге ревьюваешь код, видишь дичь, начинаешь наезжать, а там какой-то джун Хосе Гонзалес дель Педро.
702 1434361
>>34319
В спренг фрэймверке все относительно изкаропки будет.
703 1434362
Если я учил СиШарп ну как учил, синтаксис, ООП там и прочее такое сложно ли будет перекатится на яву и сколько по времени это займет, ну так, можете почувствовать?
В чем там принципиальная разница, на что особо обратить внимание?
704 1434363
>>34354

> разницу между параллелизмом и канкаренси


в общих чертах канкаренси одновременно доступ к одному ресурсу разных тредов
705 1434364
>>34362
Если ты глубоко в шарп не окунулся, то база у языков довольно схожая. Ява чутка арахичней, нейминг конвенции другие.
706 1434366
>>34298
Ну а хули бы и не попробовать, за аплай денег не берут.
707 1434368
>>34364

>нейминг


поперхнулся смузи
708 1434370
>>34364
Ну мне щарп показался очень удобным, нет там никаких хуевин со сбором мусора, выделением памяти, закрытием потоков - все автоматом делают за тебя. Ява сильно отличается?
709 1434376
>>34370
Шарп это майкрософтовский клон джанвы если что...
710 1434408
>>34370
О сборке мусора тебе практически не нужно думать, как и о выделении памяти и закрытии потоков. Уже не бородатые нулевые, в жаве много плюшек есть.
711 1434414
Перечислите все проблемы, которые вы видите в данном коде:

public abstract class Digest {
private Map cache = new HashMap();

public byte[] digest(byte[] input) {
byte[] result = cache.get(input);
if (result == null) {
synchronized (cache) {
result = cache.get(input);
if (result == null) {
result = doDigest(input);
cache.put(input, result);
}
}
}
return result;
}

protected abstract byte[] doDigest(byte[] input);
}
712 1434445
>>34414
Нет дженериков (Прям как в ранатйме, агагагагагагага).
У массивов нет нормального хешкода, мапка не будет работать как надо.
Мутабельные ключи - это пизда будет, даже если бы там был нормальный хешкод, как только кто-то снаружи поменяет состояние влияющее на equals/hashCode - будут проблемы.
Синхронизация на поле, в данном случае вроде ничего страшного, но лучше выделить отдельный final Object lockXyiPizda.
Из-за того что наружу отдают массив байтов, какой-то мудак может поменять в нем что-то для своих нужд и в кеше будет неправильное значение.
713 1434465
>>34445
А как же двойная проверка значения в кэше внутри sync и вне? Это норма? По мне так лучше сразу в блоке проверять. Ну или объявить map как volatile, а sync оставить только на cache.put(). Или вообще Hashtable применить.
714 1434489
>>34465
Это вроде правильно, сделано что бы как раз избежать захода под синхронизацию, не уверен может ли произойти какая-то хуйня что кто-то под синхронайздом засунул значение, а кто-то вне синхронайзда считал но как-то хуево.
volatile не поможет, так как он повлияет на чтение замой мапки (ее можно вообще final сделать, один хер)
Чтение под синхронайздом обязательно оставить.
Hashtable не надо, это старая хуйня - лучше уж тогда врапнуть мапку использую Collections.synchronizedMap или ConcurrentHashMap.
715 1434492
>>34361
Я понимаю, просио мне хотелось своими руками потрогать от начала и до конца какие-то процессы, чтобы понимать саму абстракцию аутентификации с хранением и все такое. В итоге мне пришлось искать статьи с содержанием вроде "не храните пароли в их первоначальном виде", по кускам собирать информацию о передаче зашифрованных, а не хешированных данных и так далее. По поиску кастомного сервиса регистрации одна из первых ссылок - на Стековерфлоу. Всё бы хорошо, да там код - БуффередРеадер обращается к account.txt и считывает оттуда напрямую добавленные строчки, содержащие аккаунт с логином и паролем. И в ответе на вопрос по этому коду содержится исправленный код, содержащий ту же логику.
716 1434496
>>34492
Увы, похоже эту тему просто читают в книгах, я тоже когда гугли хуйню всякую находил.
717 1434501
>>34492
Загугли архитектуру спрэнг секьюрити. По сути это как раз и есть то, что тебе нужно, там организуется защита через кучу делегирующих сущностей.
718 1434515
>>34501
Да, видимо придётся изучать уже существующие подходы к процессам. Спасибо.
719 1434550
>>34354

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


Че-то ты много от джуна/миддла требуешь. Вот я не могу объяснить без гугла, и сомневаюсь что кто-то из коллег может, и что теперь?. Это не мешает зарабатывать овердохуя денег. Вообще имхо такие вопросы спрашивают только дегенераты на днище работах типо епама.
720 1434555
>>34550
Я не требую от тебя дословного определения же. Вот он >>34363 нормально объяснил. В общих чертах-то повидл всяко должен знать это.
721 1434764
>>34319
А ты сам хешировать пароли не можешь ебать?
722 1435260
>>34550
Требуют требуют. И про спринг / DI/ IOC, SOLID, про то как сборщики мусора работают. И алгоритмы им напиши. И еще дохуя чего.
Я только что на джуна устраивался. Просто АД ебать.
723 1435265
>>34104
Пока есть кому гляньте мои полтора абзаца говнокода плз.
724 1435267
>>34360
Я кстати про НЗ думаю. Как то мурика не по мне.
Интересно сколько лет надо опыта чтобы спокойно по рабочей визе мигрировать.
725 1435312
>>35267
Я думаю после 4 можно пробовать. Моему коллеге с текущего места предлагали релокейт, но завернули так как он не магистр лол. Другой чувак ушел оттуда одновременно как я пришел, потому что ему не делали релокейт, ушел в реддит и теперь ему потихоньку делают визу.
НЗ наверное прикольно, но ты все таки подумай про то что это довольно отдаленная от цивилизации, из Австралии люди в штаты за покупками летают.
726 1435339
>>35312
А если у меня диплом вообще по экономике и финансам, а работаю я в жава девом?
Не все ж знают как жизнь повернеться.
727 1435341
>>35312

> отдаленная от цивилизации


В этом вся суть для меня. Природа и холмы. + серфинг, пускай и не круглый год.
728 1435357
>>35339
Ну хуй знает, мне кажется за границами больше любят профильные дипломы.
729 1435458
Пару дней как вкатился в спринг и возник вопрос. Все эти микросервисы можно как-то секьюрить через security realm того же глассфиша или обязательно spring security нужен?
730 1435616
>>35458
Можно, у спринга много точек расширения. Если я все правильно понимаю, тебе надо написать свои AuthenticationProvider и UserDetailsService (если у глассфиша нет интеграции со спрингом, тут хз).
731 1435647
>>35458
Можно, но не нужно. Вообще в ряду "спринг, микросервисы" глассфиш лишний.
732 1435656
>>35357
Ну все любят. Но если мне уже 30+ и есть только такая вышка + опыт работы где ж я возьму другую то.
ВКОТ 733 1435709
PHP-Бог 29 лвл в треде.

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

Выбор пал на джаву.

Опыт работы на пыхе овер 5 лет, приходилось работать с разными нодами и питонами, но в основном всеже ПХП. Знаком с ООП и паттернами.

Отговорите или скажите что я малаца.

Как быстро я вкочусь? Стоит ли?
734 1435713
>>35709
AbstractSingletonFactoryServiceBean раз, или красивой кнопочкой в глаз?
735 1435735
>>35647
Почему лишний?
736 1435815
>>35735
Потому что EE Application Server по-хорошему вообще не нужен, если есть спринг, и уж тем более эти жирные серверы избыточны для микросервисов.
737 1435829
Ананасы, я уже пол года активно учу джаву и сейчас вот подумал - у меня же высшего образования нет. В сентябре пойду на заочку профильную, на всякий случай, чтобы корочка была. Так вот, меня вообще кто-нибудь возьмет на позицию джуна без образования, или лучше вместо джавы что-то другое учить?
738 1436097
>>35713
AbstractSingletonFactoryServiceControllerRepositoryBean
Гулять, так гулять!
739 1436101
>>36097

>ControllerRepository


Мы вам перезвоним.
740 1436103
>>35735
Глассфиш всегда лишний, потому что дырявый, как пиздец.
Погугли cve для него и охуей
741 1436179
что думаете о Head First Java? Сейчас читаю, очень заходит
742 1436284
>>36097

>AbstractSingletonFactoryServiceControllerRepositoryBeanHolderImpl


Пофиксил
743 1436287
>>36284
Вот Вы шутите тут а у нас в продакшене подобная хуйня. Еще и наследуется от какого такого же говно, + какие то свои либы и еще какая то залупа сверху в видн сваг-анотаций.
744 1436291
Мм, я вижу, в этом треде шарят в толковых названиях и принципах SOLID.
745 1436292
>>36287

>сваг-анотаций


Swagger чтоль?
746 1436324
>>36101
Ты только мудями можешь звенеть, иди на хуй
747 1436354
>>36103
Глассфиш в пример привел как более известный. На самом деле паярой пользуемся.
>>35815
А на чем обычно микросервисы хостят?
748 1436355
>>36354
В докер-контейнерах.
12.jpg387 Кб, 1680x1050
749 1436407
What's up everybody! Пишу первый код на спринг буте, и у меня проблема. Я должен присобачиться к БД, но он не хочет. Если драйвер jdbc например 5.1.47 то вот такая хуйня вылезает.
750 1436418
>>36407
Тебе в стектрейсе уже все написали.
751 1436426
>>36418
Failed to load driver class? Если его сменить то тена другого текста вылезает.
752 1436428
>>36426
стена
753 1436430
>>36426
Либо проперти класс неправильно указал, либо в зависимостях херни натворил. Либо еще где-то выстрелил себе в ногу, но я уж не знаю, как ты умудрился накосячить со спринг бутом.
754 1436431
Вот тут все. Все как в туториале. Только там работает.
755 1436433
>>36431
Подключи другую версию мускуль-коннектора и все заработает.
756 1436434
>>36433
Пробовал штук 7-10 уже, не помогает
757 1436435
>>36434
Тогда в пропертях пропиши driverclassname=com.mysql.jdbc.Driver
758 1436436
>>35312
Это кстати на какой грейд можно в гугле например рассчитывать? L4/L5?
759 1436437
>>36435
spring.datasource.driver-class-name, если быть точным.
12.jpg387 Кб, 1680x1050
760 1436439
>>36435
Вот такая же штука вылезает
761 1436442
>>36439
Ты spring.datasource.driver-class-name=com.mysql.jdbc.Driver прописал?
13.jpg705 Кб, 1680x1050
762 1436443
>>36442
Да, вот что-то новое вылезло, я писал то не видя
763 1436445
>>36443
Меня заебало короч. Ищи в гугле решения. У этого стектрейса ебучей JoPA может быть много причин.
image.png329 Кб, 1680x1050
764 1436446
>>36443
А, я нашел, где ты обосрался. Ты блять нормально можешь набирать текст на клавиатуре или в шары долбишься? Для тебя даже автокомплит идеи существует, но нет, надо написать херню вида spring.pa.generate-ddl.
765 1436447
>>36354

>А на чем обычно микросервисы хостят?


Ты в смысле на что заменить гласфиш/паяру? На спрингбут со вcтроенным легким контейнером (tomcat, jetty). Или просто на те же самые легкие контейнеры, если спрингбут не нравится.
14.jpg655 Кб, 1680x1050
766 1436448
>>36445
Ок. Последняя версия у меня выглядит так. Я убрал версию драйвера из депенденсей.
767 1436449
>>36446
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/sweater_db
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.generate-ddl=true

У меня вот так уже давно, я это видел
768 1436450
>>36449
Пробовал также убирать эту последнюю строчку совсем
769 1436451
>>36449
Уух, сука, у меня начинает гореть. Все, последний раз тебя поправляю, после чего ты отправляешься нахуй в гугл: spring.datasource.driver-class-name=com.mysql.jdbc.Driver без .cj.
15.jpg668 Кб, 1680x1050
770 1436456
>>36451
Там тогда тоже самое все будет, только надпись красная о том что так уже устарело
Grand-Theft-Auto-San-Andreas-Nightmare.png501 Кб, 1166x654
771 1436458
>>36451
Сейчас нужен СиДжей
772 1436463
>>36451
но спасибо тебе, ты пытался помочь
773 1436465
>>36458
Мне лень расчехлять фотошоп, поэтому просто представь, что я прилепил мем ah shit, here we go again к страничке стэковерфлоу и посмейся.
774 1436469
>>36463
Не за что. Я хоть с жпа и не работал, но судя по небольшому опыту многие проблемы спринг бута идут от конфликтов зависимостей или от "особенностей" фреймворков. Здесь, похоже, второе. Быстрое гугление твоего стектрейса показало, что у всех эта проблема решается по-разному. Проблема может быть даже в ентити-классе.
775 1436473
>>36448
У тебя тут хибер не поднимается, нет @Id в Message
776 1436484
>>36456
Тебе русским по белому написано что у меседжа нет идентификатора.
777 1436486
>>36456
И не надо говорить, что он у тебя есть. Будь внимательнее.
778 1436512
>>36355
На хуй вы везде ебаный докер свой тащите?
На хуя надо оборачивать оболочкой то, что можно не оборачивать?
Ну, хотя бы одну причину назови.
779 1436515
>>36431
Ахаха.
автоменеджмент зависимостей, чек
бут вместо простого деплоймента в нормальный контейнер, чек
ddl-auto=create, чек
репозитории вместо дао, чек
ни хуя не понимаешь, что и как должно происходить, чек
НИ ХУЯ НЕ РАБОТАЕТ - а чего ты ожидал от складывания кубиков, про которые ни хуя не знаешь?

все технологии для ебаных макак собрал, молодец
найди себе другое хобби
780 1436517
>>36512
На самом деле я и сам не до конца понимаю зачем. И докер не использую. Хотя единственное годное применение, которое вижу лично я - упаковка всей экосистемы в один образ, чтобы не ебаться с настройкой на деплой-сервере.
781 1436518
>>36515
Репозиторий = дао так-то. То, что там используется мерзкая JoPA - дело другое.
782 1436643
>>36515
Это туториал со spring.io получается, что его писали макаки над которыми ты смеешься. Я - неофит, и просто хочу учится.

https://www.youtube.com/watch?v=nyFLX3q3poY
783 1436645
>>36484
и как фиксить?
784 1436648
>>36645
javax.persistence.id в классе ентити вместо того айди, который у тебя импортирован.
785 1436688
>>36447
Ладно с этим понятно.
Еще вопросик. Сделал через спринг сесурити базик аутентификацию, все работает. При обращении к сервисам есть какое-то подобие сессии чтобы каждый раз не передавать логин-пароль? Если есть, то в какую сторону копать?
786 1436799
>>36688
При авторизации устанавливается сессия и кладётся в печенье. Смотри там.
787 1436824
>>36648
Запустил в итоге спустя все вот это время. На драйвере 5.1.47 версии, на других версиях не получается.
788 1436829
>>36824
То есть в итоге, тебе помог самый первый совет? >>36433
789 1436831
>>36829
нет, самый последний, я не посмотрел что он там импортирует нажав alt+enter. Тогда, вчера, я перепробовал все версии этих коннекторов.
790 1436918
>>36799
А если обращение к сервису не из браузера?
1*f2dGSYzu7HjZr8rxPfFTtg.png194 Кб, 1358x746
791 1436979
Сап, дващ. Решил попробовать поюзать (n)vim вместо лучшей в мире IDE от JetBrains.

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

Ну так вот, я ощутил что это реально... ниоч удобно.

Как рефакторить код? Например, как переименовать папку так, чтобы все пакаджи во всех файлах задеть?
Или как переименовать файл так, чтобы поменялось и название класса? Есть ли какие-нибудь конкретные скрипты на vim для работы с java?

Я поставил через Vundle только 2 плагина: emmet и ale. Может ещё какие хорошие посоветуете?

Кто вообще из здесь сидящих юзает vim в разработке? Или правильный ответ "дауны с 256мб оперативы" и надо сидеть в интеледжии и не выёбываться?
792 1436984
>>36518
Репозиторий это верхний уровень абстракции, где контейнер делает за тебя все.
Когда ты знаешь, как это работает само по себе, и что там за тебя делает контейнер - ну, ок, можно использовать, если знаешь, зачем
А тут сучий пес пытается чему-то учиться, и вместо того, чтобы начинать с кирпичиков, берет целую пятиэтажку целиком.
При этом, не удосужась даже прочесть доки по настройке
Поэтому ставит ее вверх ногами, а потом удивляется, хули дверь найти не может
793 1436987
>>36517
Это актуально только при совпадении следующих условий:
1. твой заказчик не имеет ни говна, ни ложки, поэтому ты вынужджен давать ему упакованный комплект
2. всю свою экосистему ты уже так настроил, что заебок. Потому что в докере что-то перенастраиват, ну, так себе

В то же время настройка компонентов системы самих по себе вполне удобна. Потому что уже миллион раз прожевана и высрана везде, от стэковерфлоу до роликов на ютубе для совсем инвалидов
794 1436991
>>36643
Пиздец...
Ты учишься по роликам на ютубе, утверждая, что их написали спринг.ио?
Ты не неофит, ты уебан.
Если ты хочешь учиться, начни ЧИТАТЬ ебаную докуменцаию.
Не туториалы, а документацию, блядь!
У спрингов, что характерно, документация вполне неплохая. Последовательная и трогает все основные моменты.
Вот когда ты прочтешь, тогда лезь в туториалы, будешь хоть чуточку понимать, что ты делаешь на каждом ебаном шаге, и почему так.
795 1436993
>>36918
Токены всех сортов.
Начни с jwt, например.
Но если у тебя обмен железка-железка, то, может, какой-то свой механизм завести. Т.е. ничто не мешает тебе завести нормальную сессию, связать ее со своим токеном, и кидать этот токен клиенту-не-браузеру.
Точно так же нет никакой проблемы и jsessionid кидать небразуру, это его дело, как его запомнить.
796 1436999
Есть вот такой класс (1 пик) и такой тест (2 пик) правда ли, что по стилю кода все переменные нужно выносить?
797 1437028
>>36993
Т.е. я делаю один раз авторизацию, сервис отдает мне токен и все следующие запросы отсылаю с инфой из этого токена вместо логина-пароля?
798 1437062
>>36991
Я не он, но начал изучение спрэнг секьюрити именно с документации. И, внезапно, это вообще не так быстро и удобно, как изучение по роликам и туториалам, потому что в доках информация выдается так, словно ты уже понимаешь, как выглядит общая картина, но не знаешь некоторых деталей. В итоге я узнал отдельные его компоненты, но не как они работают вместе.
799 1437066
>>36999
Если у тебя множество тестов переиспользуют эти переменные, то логично их вынести и инициализировать в @Before. В ином случае получится не код, а нечитаемая лапша.
800 1437147
>>36979
Хз на вкус и цвет как говорится, нравится хоткеи вима можешь поставить поддержку в идее (есть встроенный плагиин)
801 1437235
>>37062
Потому что спринг секьютити следует изучать ближе к концу, когда у тебя есть понимание остального?
802 1437236
803 1437255
>>37235
Сейчас я уже вник в его архитектуру, и кроме некоторых базовых вещей типа фильтров и сервлетов там ничего не затрагивается. Не понимаю, о каком "остальном" ты говоришь.
804 1437257
>>37255
Дополню: проблема именно в стиле изложения в документации. Там нет четкой структуры, просто в тебя бросают эти кирпичики-интерфейсы, словно говно на вентилятор.
805 1437264
>>36979
Твоя проблема в том что ты пытаешься разрабатывать в виме что то сложнее хелло ворлд. Он для этого не предназначен.
Вим используют так:
-Собственно устанавливаешь вим
-Зубришь 79 хоткеев для быстрой навигации на 15-ый символ в нечетной строке.
-Идешь на форумы борщехлебов выебываться новыми навыками.
806 1437274
>>36999
Основное правило для теста - он должен быть максимально простым и легко читаемым. Если код твоего теста выглядит так что его самого стоит тестировать то ты делаешь что-то не так.
807 1437281
Суп, двощ. Вопрос: как вытащить из страницы в интернете контент? Поясню: допустим есть статья на каком-нибудь ресурсе. Нужно взять с нее название и содержание, если возможно картинки. В какую сторону копать, есть ли более-менее универсальный алгоритм подходящий к большинству сайтов , быть может кто-то видел или делал реализацию на Java. Буду признателен.
808 1437283
>>37281
Вытягиваешь по гет-запросу html-страничку с нужным содержимым, прикручиваешь парсер и вытаскиваешь все, что тебе нужно, в т.ч. и ссылки на картинки. Повторяешь процесс, обращаясь к картинкам по ссылкам.
809 1437287
>>37281
Гугли JSoup
810 1437308
>>37257
Глянул сейчас.
В спринг секьюрити действительно говеная документация.
Читать надо начинать чуть ли не с 8-го раздела.

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

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

>Идешь на форумы борщехлебов выебываться новыми навыками.


На двач же!
Это продуктивнее
812 1437310
>>37283
Хехе, скоро ты узнаешь, что есть еще контент, который подсасывается динамически яваскриптом и т. д.
813 1437312
>>37308

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


Ну хз, все равно не согласен. Если даже есть охуенная документация, зачастую одно и то же можно сделать по-разному (какой-то способ устарел, например, и сейчас делают иначе, или же есть просто другой неочевидный подход). Тут-то и помогут ролики, которые покажут, как обычно решают эту задачу, а не как ты себе напридумывал по документации.
814 1437318
>>37312
Мне не хочется просто обзывать тебя обидными словами, но, очевидно, что ты не вкуриваешь, что ролики противопоставляются не документации, а чтению.
Нормальный человек за время твоего ролика прочтет половину стэковерфлоу, какой-нибудь балдунг и еще пару постов в блогах кодеров из гугла.
Не могу перестать охуевать с подрастающего поколения. Просто не могу.
815 1437320
>>37318
Окей, дед, я тебя понял. Я сам-то не против чтения, только вот некоторые вещи намного понятнее в формате презентации. По той же архитектуре спринг секьюрити я прочел и стековерфлоу, и еще много чего. Но реально понял, что происходит, только когда посмотрел доклад одного из разработчиков этого фреймворка.
816 1437375
>>37320

>намного понятнее в формате презентации.


Ясно с тобой все.
>>37318
Смысла с ним спорить нет.
817 1437485
>>37375
Высокомерное быдло, ты?
818 1437645
Анон, помоги. Удалил старую версию jdk, установил новую по другому пути (по стандартному), теперь не могу запустить старые проекты в eclipse, выдаёт ошибку:
"The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files"
Советы со stackoverflow типа закрыть и открыть проект, очистить, удалить и реимпортировать - не помогли. В Intellij Idea не могу даже добавить новую версию jdk, при выборе папки с jdk выдает ошибку: "The selected directory is not a valid home for JDK"
Проверил системные переменные - всё как надо. Не понимаю что не так
819 1437659
Почему все плагины, так или иначе связанные со сваггером, такое дерьмо? Я уже устал ебаться с настройками, только для того, что перегнать сваггер-файл в пдф. Да и сам сваггер та еще ссанина, без кривых плагинов опять же сосешь бибу и пишешь доки в самом коде.
cnpack.png9 Кб, 361x459
820 1437773
Господа, в дельфе была вот такое выделение блоков линиями. Для эклипса есть что-то подобное?
821 1437901
Поделитесь историями как вы росли после устройства на первую работу. Типа "брал больше копал дальше сделали мидолом/старшим, потом дали группу копателей сказали я теперь лид".

Так? Или там курсы, самообразование, вот это всё
822 1437953
>>34319
через спринг в одну строку хеш для пароля делается
823 1437964
>>35829
щас ищу работу джуном на джаве (недели 2 уже, я студент просто, тяжело найти что-то на полставки). В основном смотрят на проекты, которые ты писал, ссылочки с гитхаба в резюме полюбас должны быть. Ну а требования к вышке я только у окологосударственных компаний видел или типа ООО СИБИРЬРОСНАЕБИЗНЕС.
824 1437983
>>37953
Он же написал, что без фреймворков хочет.
>>34319
У мускуля, например, есть функции для хэширования. Не такие крутые, как у спринга, но все же. Еще можно подключить какую-нибудь криптобиблиотеку. Но вообще без фреймворков я хз, как ты будешь даже хттп-запросы обрабатывать.
825 1438016
>>37983
Дохуя хочет. Почитать про спринг сесурити и заюзать его будет быстрее, чем на чистой джаве такое пилить.
826 1438021
>>37264
Да нет у меня проблем. Я просто попробовал вим для разработки, понял что это пиздец как не удобно и охуеваю почему популярно и почему это юзают?
827 1438036
>>37645
Какие, блядь, ты системные переменные проверил?
В Build path standrad jre library перенаправь на новое место.

И вообще, на хуя ты удалил старую ждк?
Ты не знаешь, до сих пор, что у тебя может десяток стоять и друг другу не мешать?
828 1438037
>>38016
Хули там пилить?
md5?
сервлет?
и сервлет-фильтр для проверки авторизованности?
плевок в базу через ждбц?
Ну, ждбц, да, я порицаю. Но все остальное нехитро делается. Если не ленишься печатать до хуя.
829 1438039
>>38037
Сервлеты? А ты не охуел ли? Давай-ка на чистой жаве.
830 1438143
>>38039
В смысле? А сервлеты это "грязная" Джава?
831 1438152
>>38143
Имею в виду javaSE, а то сервлеты - это какое-то читерство, тот же фреймворк, только урезанный.
832 1438236
Почему хейтят jsf?
833 1438415
>>38152
Срвлеты входят в спецификацию.
Пусть и ЕЕ.
Я думал, он хочет веб-приложение. Тогда сервлеты это чистая ява.
Если хочет не веб-приложение, то еще проще, не надо сервлеты учить, бггг
834 1438472
>>37901
бамп вопросу
835 1438493
Есть у джавы стек где не будет sql в нагрузку?
Сейчас ебусь с микросервисами на сприге. Ощущаю что делаю тупо прослойку между бд и фронтом, хотя ВСЯ логика у нас в бэке. Что наверное не очень нормально.
Я ебал это дерьмо. В каждом проекте ненормализованные базы с пиздецом, который тянется с века динозавров блять, каждый раз разгребать где что лежит.
836 1438494
>>37964
Даже гос компанийям похуй.
-Мимо получил офер от РЖД.
837 1438496
>>38493

>Что наверное не очень нормально


Почему? Или ты хочешь нагрузить фронт логикой, чтоб сайт грузился 10 секунд?
А вообще как мне кажется жава - это бэк, а бэк - это бд. Разве что на nosql перекатиться можно.
838 1438500
>>38493
Не в стеке проблема, и не в sql. Другие проекты тебе нужны, более сложные и интересные, другая предметная область возможно. Где бэк будет в меньшей степени просто прослойкой.
839 1438509
>>37901

>Так?


Так. Я не лид (потому что и не хочу им быть), а сеньором стал просто хорошо делая свою работу, без каких-то там еще курсов или чего-то подобного.
840 1438525
>>38493
Может продать менеджеру идею порефакторить, если настолько всё плохо? Типа ща мы пилим n фичей в спринт и всё тормозит до кучи, когда я разгребу говно в схемах, станем пилить n*k фичей, и работать станет всё в q раз быстрее. Ещё и бабла дадут, поди.
841 1438531
>>38525
Там пока не до рефакторинга. Надо перепилить чтобы работало хотя бы. Дохуя критических ошибок. Я уже чет не рад что устроился.
842 1438532
>>38525
А потом ты роняешь бд на проде и объясняешь менеджеру, что k=0 - тоже результат.
843 1438539
Я устроился джуном, опыта работы 0.
Анон, это нормально, что чувствую себя полностью бесполезным. Без тимлида, которого мне выдали не могу нихуя найти в БД. Просто блядь нихуя не могу сделать. Проект сложный большой пиздец.
Такое чуство что я всех как то хитро наебал или меня просто случайно взяли.
Я понимаю жаву, понимаю SQL, но вот что то сделать почему то не понимаю как.
лестница-высоко-пиздец-gif-3268274.jpeg36 Кб, 440x275
844 1438676
>>38532

> делать рефакторинг на проде


Это такая тоска миллениалов по пикрелейтеду?
845 1438688
>>38539
Норм. Ты только не молчи и не тупи в монитор втихую. Делай списки конкретных вопросов, ходи с ними к лиду, ЗАПИСЫВАЙ (чтобы дважды одно не спрашивать).

Хотя б "я не понимаю как сделать таск. С чего начать?". От джуна и не требуют чтобы он сам все понимал
846 1438728
>>38688
Я с ним рядом сижу и спрашиваю постоянно. Но без него я прям конченым себя чуствую. И записываю да. Слежу за руками фокусника блин.
Он при мне нахуярил в БД запрос с 1 раза, который я даже с гуглом за неделю не осилю. Слава богу дядька нормальный работать приятно, без закидонов /ЧСВ.
Седня пару багов починил с утра. Уже втягиваюсь потихоньку.
Он просто делает какую то пиздец сложную хуйню и как то дергать его блин.
847 1438756
>>38728

>Он при мне нахуярил в БД запрос с 1 раза


Что там за запрос?
848 1438785
Пишу в мёртвом треде
849 1438788
Кстати да, где-то год назад джава-тред был поактивнее. Чому умер?
850 1438807
>>38756
Select huy from pizda
Я просто без гугла забываю, как силект пишется
851 1438808
>>38728
чтобы писать селекты с одного раза надо написать их сотню, заодно научившись формулировать то, что ты хочешь найти простым русским языком.
это несложно. просто нужна практика
852 1438810
>>38788
Ява, наконец, умерла.
С ней умер и тред.
853 1438814
>>38810
Ага, и весь тырпрайз-бэкенд. Сказочник.
854 1438815
>>38814
Ну, давай свою версию тогда, пиздобол
855 1438821
>>38807
А ты точно джун?
856 1439095
>>38756
Штуки 3 лефт джоинов и + 3 подзапроса + какая то ебала посчитать еще/агрегировать.Там 5к+ таблиц в базе.
857 1439098
>>38807
Ну такое то не знать. Есть же сайт sql. Ток все это говно уровня ландан из кэпитал оф зе британ йо.
858 1439125
>>39095

>5к+ таблиц в базе


Чиво блять. Такое вообще реально?
859 1439215
>>39095

>5к+ таблиц в базе


У вас там проект на 1ккк строк кода?
860 1439234
>>39095

>лефт джоинов


нюфаня, сразу видно
олды джойнят old style
861 1439239
>>39234
С двух таблиц сразу селектят штоле?
862 1439321
>>39125
Да, каждая таблица 50+млн записей. + там еще сущности через наследование и еще какая то хуита. Этому говну 8+лет.
863 1439322
>>39215
Да. 100+ тел в бэке. 8+лет проэкту. Дохуя модулей.
864 1439341
>>39239

>С двух таблиц сразу селектят штоле?


Вайлдкардами
865 1439347
>>39322
>>39321

>5к+ таблиц в базе


>каждая таблица 50+млн записей


>100+ тел в бэке


Что-то тут не так. Это же 250+ млрд. записей. Да же Амазон со своими 500 млн разных товаров сосет не разгибаясь.
Если взять 100 байт на одну запись это база данных на 23+ Тб. Кто все это поддерживает? С такими объемами у вас должен быть отдельный департамент по написанию SQL запросов.
866 1439526
>>39239
select <...> from a, b
where a.huy=b.pizda

Я так и не понял, чем эта запись хуже, чем
select <...> from a
join b on a.huy=b.pizda

Букв меньше, весь набор таблиц в одном месте, все условия в одном месте
867 1439527
>>39347
Следующий его пост будет про 300кк/нс, чо ты как маленький
868 1439530
>>39526
Вопрос стиля, так-то, емнип, это будет разворачиваться в один и тот же план запроса.
869 1439534
>>39530
Я знаю, что план будет таким же.
Мне непонятно, почему вариант с джойнами стал стандартом.
Должно же быть хоть какое-то преимущество?

Мне обычно просто лень каждый раз писать join и прочую хуету.
Про left/right join в оракле тоже был трехсимвольный всего вариант: (+)

Да и читается, на мой взгляд, хуже, когда слов больше
870 1439582
>>39526
Есть разница. В некоторых субд(в мускуле например) первый запрос будет будет пропускать определенные записи при определенных условиях. Джоин всегда выдаст правильно.
871 1439610
>>39347
Ну это очень очень большой банк. У банка все на микросервисах, сервисы общаются через кролика и от него идет буферризация в бд..
У каждого микросервиса своя БД. Отделений у банка по рашке только я ебал сколько. Ну вот и считай.
Там бизнес логики на том толстого описано в конфлюенс.
872 1439611
>>39527
Я туда джуном устроился, на очень скромные деньги и охуеваю от происходящего. У меня по сути 3 тимлида, лол, в прямом доступе, которых можно пилить вопросами.
873 1440068
>>39582
1. рассматривать мускул в качестве БД, ну, это такое...

2.

> первый запрос будет будет пропускать определенные записи при определенных условиях.


примера, конечно же не будет, да?
874 1440176
>>40068

>примера, конечно же не будет, да?


Найду код где у меня такая хуйня была, запощу.
875 1440200
>>32127
>>32240
https://www.martinfowler.com/bliki/AnemicDomainModel.html
Я тут тебе покушать принес.
876 1440303
>>32127
Что блядь за лаба2/3 и т д?
Я уже мидл и нихуя не знаю что это, лол.
877 1441213
Спринг для ведройда еще поддерживается?
878 1441336
>>41213
некоторые кусочки, типа ресттемплейт,
Если хочешь сервак с мобилки держать, то пробуй https://github.com/NanoHttpd/nanohttpd
879 1441375
>>41336
Мне как раз для клиента. Чтобы авторизацию и общение с сервисом побыстрее сделать.
880 1445103
Гребущие в провинициальных епамах Саратовский офис есть? Предлагают в районе 35 младшим разрабом, нормальная зп по рынку? какая там вилка вообще у них, 40+ стоит запросить?
Слышал и по 30 платят кому то, но не знаю правда или нет
881 1445162
Гайз, что читать по спрингу для нулячих? И поясните, что делает интерфейс Модель, я ищу в гугле, там как-то все вскользь, двумя словами обычно например: the model works a container that contains the data of the application или Request reads the information provided by the user and pass it to the Model interface , поясните как это понять то?
882 1445193
>>45162
Читай паттерн Model View Controller где угодно хоть на википедии и поймешь
883 1445209
>>45193
Я имею ввиду конкретный пример а не концепцию. Интерфейс Модель в спринге.

Вот например что делает этот код?

import org.springframework.ui.Model;

@GetMapping("/greeting")
public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}
884 1445242
>>39611
Расскажи про свой опыт. Что уже писал на яве, может работал как-то. Интересно какой объем знаний надо, чтобы устроиться работать джуном.
885 1445245
>>45209
ну тут хуё моё контроллер, который принимает значание name, если его нет, то его значение World, ты добавляешь это в модель фактически в хешмапку и даешь ему имя. Потом ты возвращаешь имя view которое должно быть определено ViewResolveroм и магией спринга подтянуто на выход с вставленными данными из собственно модели. Если хочешь понять как это работатет под капотом читай Spring in Action 4 главу про MVC, а то я сам честно говоря нихуя уже не помню тем более с этим не работаю
886 1446327
123
887 1447649
Мне тут советовали изучать энтерпрайз на яве, велели обратиться в соответствующий тред.
Но речь не об этом.
Я так понял, макаками называют плохих программистов. Просто интересно, каких конкретно свойств им недостаёт? Как не стать макакой?
Петросяны лесом.
888 1447993
>>47649
Ну так вот. Насчёт энтерпрайза. Готов вкатываться. Покажите, куда.
Тред утонул или удален.
Это копия, сохраненная 15 января 2020 года.

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

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