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


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

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

Java #19 thread /java/ Аноним 12/03/20 Чтв 19:48:00 16312661
images.jpg (6Кб, 275x184)
275x184
StarTrekEnterpr[...].jpg (31Кб, 1000x750)
1000x750
32b525327589c83[...].jpg (92Кб, 745x565)
745x565
кабанчиком.png (411Кб, 891x1114)
891x1114
Аноним 12/03/20 Чтв 19:49:45 16312682
Аноним 12/03/20 Чтв 19:50:04 16312693
На правах опа. Чем spring-data отличается от хибернейта?
Только наличием этой дебильной генерации запроса из названия метода?
Аноним 12/03/20 Чтв 19:54:59 16312714
>>1631269
>На правах опа. Чем spring-data отличается от хибернейта?
охуенные у жабатреда опы
Аноним 12/03/20 Чтв 19:58:15 16312745
Аноним 12/03/20 Чтв 19:59:45 16312756
>>1620553 →
Лел. А почему не переименовать? Да и типы, я напомню, в путоне есть и работают
Аноним 12/03/20 Чтв 20:00:32 16312767
>>1631274
>>1631271
spring-data это надстройка над хибернейтом, которая делает... что? Тоже самое что и хибернейт?
Аноним 12/03/20 Чтв 20:00:44 16312778
Шапка не нужна.
Аноним 12/03/20 Чтв 20:02:06 16312789
>>1631266 (OP)
О, снова годный фильм вспомнили.
Напоминание: Котлиншизик изгнан из треда за самое гадкое обзывание джавы. Это слово нельзя даже произносить.
Аноним 12/03/20 Чтв 20:05:21 163128410
image.png (22Кб, 321x553)
321x553
Хотел написать проект с модулями, заебался.
Аноним 12/03/20 Чтв 20:07:10 163128711
image.png (35Кб, 627x495)
627x495
>>1631269
>>1631271
>>1631274
Очень распространенный вопрос, чо вы.
https://dzone.com/articles/what-is-the-difference-between-hibernate-and-sprin-1

Короче Spring Data это удобненький интерфейс для доступа к твоим данным через какую-либо имплементацию, а Hibernate это непосредственно имплементация Java Persistence API. Как и в любом другом случае с паттерном "фасад", ты можешь выкинуть этот удобненький фасад в окно и ипользовать непосредственно underlying implementation, выбор за тобой.
Аноним 12/03/20 Чтв 20:07:46 163128912
>>1631284
Напоминает java ee, где несколько подпроектов с pom.xml
Но я в ней не разбираюсь, сужу только по мавеновским архетипам
Аноним 12/03/20 Чтв 20:09:24 163129313
>>1631269
Да тебя убить мало за преждевременный перекат!
Аноним 12/03/20 Чтв 20:12:05 163130114
image.png (153Кб, 1280x1024)
1280x1024
Перепощу сюда, а то он не найдет.

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

Для начала скажу, что конфигурация запуска [1] показывает, что как минимум запускаешь ты все правильно, нужный класс и тд, а то некоторые в треде сомневались (и правильно делали). Далее, тебя просили показать как IDE запускает твой класс, т.е. развернуть командную строку. Это можно сделать, кликнув на [2], но я думаю нам это ничем не поможет.

Теперь ближе к сути. Откуда появляются файлы [3] именно в том месте в котором они сейчас лежат - сиблинги относительно класса ([6])? Ты их вручную создал? Потому что код, написанный в main(), такого не сделает. Файлы должны появляться в [5], в корне проекта. Я подвожу к очень важному моменту: файлы создаются самостоятельно, их не надо предварительно создавать руками, FileWriter способен сделать это сам. Т.е. ты удаляешь файлы [3], убеждаешься, что в [5] их тоже нет, запускаешь программу [1], и файл с именем [4] автоматически появляется в [5] (а не в [6]!).

Несколько замечаний по коду:
1) Использовать нужно try-with-resources конечно же. У тебя он изначально был (это конструкция try () {...}), но в процессе рефакторинга с анонами ты его потерял. Верни как было. И после этого close() можешь убрать (он вызовется автоматически т.к. AutoCloseable).
2) flush() можно не использовать при записи маленьких файлов, точнее файлов, которые ты очень скоро уже закроешь. При вызове close() флаш вызывается автоматически, данные не потеряются никогда. Ну конечно не "никогда", но это уже не связано с ручным вызовом flush(), так что смело удаляй.
3) Ошибки приятнее выводить в System.err, а не в System.out. Интерфейсы этих объектов полностью совпадают, просто замени три буквы и запомни: ошибки -> err.

PS: Если третий параграф не поможет тебе найти файл, в который осуществляется запись, то пиши, у меня уже готовы планы куда ковырять дальше. Но я предполагаю что это ты просто файл потерял.
Аноним 12/03/20 Чтв 20:13:14 163130415
>>1631289
Я не понял, как в идее сделать несколько отдельных мавен модулей в одном проекте. Да скорее всего никак. Пришлось делать один общий помник.
Аноним 12/03/20 Чтв 20:13:15 163130516
>>1631287
Так jpa это уже и так апи. Получается фасад над апи?
Чтобы что? Чтобы лишить доступа к фичам конкретной имплементации?
Аноним 12/03/20 Чтв 20:13:37 163130617
>>1631301
>Перепощу сюда, а то он не найдет.
Скажи спасибо дебилу по кличке ...
Аноним 12/03/20 Чтв 20:21:17 163131518
image.png (133Кб, 1203x723)
1203x723
>>1631305
>Получается фасад над апи?
Да, но это очень красивый фасад! У него есть множество субмодулей.

>Чтобы что?
Ты про конкретные плюсы спрашиваешь? Они перечислены на главной странице проекта. Ну а асбтрактно, они захотели видеть свою собственную реализацию JPA, но именно "реализовывать" им было лень. Взяли хибернейт, накрутили фасад как посчитали нужным. Каждый хочет именно свой велосипед, именно его считает удобным, и только у больших компаний получается продвинуть свой.
Аноним 12/03/20 Чтв 20:21:21 163131619
>>1631305
JPA это только SQL. Spring Data поддерживает эластик, монгу, хазелкаст и все прочее.
Аноним 12/03/20 Чтв 20:22:35 163131720
>>1631305
Что тебя удивляет в абстракциях? Орм тоже лишает доступа к фичам конкретных БД. Как системное апи лишает доступа к прерываниям биоса.
Аноним 12/03/20 Чтв 20:26:13 163131921
>>1631316
и давно эластик с монгой стали эквивалентом реляционных баз?
Аноним 12/03/20 Чтв 20:27:14 163132322
>>1631319
Я написал отличие JPA от спринг даты, долбоеб. С чего бы им быть эквивалентами?
Аноним 12/03/20 Чтв 20:28:49 163132623
>>1631317
sql - универсальная абстракция раз
jpa, hibernate - универсальная абстракция 2
spring-data - универсальная абстракция 3

Уже становится как в жабаскрипте - когда над жабаскриптом наворачивают слои абстракций, и простенькая страница жрёт гигабайты памяти для ворочания всех этих слоёв абстракций
Аноним 12/03/20 Чтв 20:29:30 163132824
>>1631323
фасад над 2 системами - значит системы должны иметь одинаковый функционал.
А у них разный функционал
Аноним 12/03/20 Чтв 20:31:16 163132925
>>1631328
>фасад над 2 системами - значит системы должны иметь одинаковый функционал
Хуйню спизданул.
Аноним 12/03/20 Чтв 20:31:39 163133026
>>1631326
>sql - универсальная абстракция раз
Но диалектов много, некоторые даже кладут на стандарты сиквела.
Аноним 12/03/20 Чтв 20:32:54 163133127
>>1631326
Всегда было наоборот. Джава уже наворачивала 20 слоёв абстракций, когда на жс был только жквери.
Аноним 12/03/20 Чтв 20:33:09 163133228
>>1631329
система 1 умеет действие 1
система 2 умеет действие 2

Давай, сделай тут универсальный фасад с одним действием
Аноним 12/03/20 Чтв 20:33:41 163133329
Почему @ConfigurationProperties не работает без @EnableConfigurationProperties, хотя в доке написано, что должно работать?
Аноним 12/03/20 Чтв 20:34:50 163133430
>>1631332
>действие 1
>действие 2
Достать объект с диска или достать объект из памяти. Но суть одна - достать объект.
Аноним 12/03/20 Чтв 20:36:15 163133531
>>1631332
Это работает не так.
система 1 умеет действия 1 и 2
система 2 умеет действия 2 и 3.

Фасад будет уметь только 2.
Аноним 12/03/20 Чтв 20:36:43 163133632
>>1631333
Потому что ты используешь @ConstructorBinding?
Аноним 12/03/20 Чтв 20:37:31 163133733
устроился джуном(знал кор на нормальном уровне, ибо до этого си дрочил поэтому понимал,как внутри всякие коллекции сделаны, сборщик мусора, ссылки и тд), sql запросы простецкие, по фреймворкам был 0
сейчас вот дрочу сервлеты, спринг и тд
на работе классно все, кроме зп, и как я понял она тут растёт медленно
какая средняя зп джунов на джаве в мск? и что дрочить в первую очередь? я вот себе отобрал:
sql, какая-нибудь субд, spring web, mvc, boot, сервлеты, jpa, jdbc.
Что докинуть?
Аноним 12/03/20 Чтв 20:38:12 163133934
>>1631334
в монгах нет транзакций и sql запросов

посмотрел на вики
>В июне 2018 года (в версии 4.0) добавлена поддержка транзакций, удовлетворяющих требованиям ACID[9].
лол, они из NoSQL делают sql. Не вынесла душа поэта, возвертайте всё взад
Аноним 12/03/20 Чтв 20:39:13 163134135
>>1631337
Алгоритмы спрашивали?
Аноним 12/03/20 Чтв 20:39:18 163134236
>>1631337
умение сделать продукт
Аноним 12/03/20 Чтв 20:39:46 163134337
>>1631335
что общего есть в SQL и NoSQL ?
Аноним 12/03/20 Чтв 20:40:36 163134538
>>1631341
не особо, но их я сейчас тоже учу параллельно, прочитал грокаем алгоритмы
>>1631342
ага, спасибо, это очевидно, но кажется этим джун от мидла и сеньора отличается, не? на джуна то просят кажется хотя бы понимания как и через что его теоретически будешь делать
Аноним 12/03/20 Чтв 20:46:25 163135039
>>1631257
Тут у вас какой-то обмудок посты трёт, так что пока его санными тряпками не выгоните, я ливаю (и вам рекомендую).
Двач превратился в форум нулевых, лол.
Аноним 12/03/20 Чтв 20:49:31 163135440
>>1631345
Я бы читал книжки об архитектуре энтерпрайзных систем.
Аноним 12/03/20 Чтв 20:50:09 163135541
>>1631350
Я помню посты последний раз терли, когда шарписты на тред напали.
Аноним 12/03/20 Чтв 20:51:58 163135842
>>1631354
и что там написано? Очередной апологет ActiveRecord?
Аноним 12/03/20 Чтв 20:55:12 163136243
Аноним 12/03/20 Чтв 20:55:57 163136444
Аноним 12/03/20 Чтв 20:58:09 163136745
Аноним 12/03/20 Чтв 20:59:36 163137346
Напоминаю, что NoSQL значит "not only SQL", а не "not SQL".
Аноним 12/03/20 Чтв 21:00:20 163137447
>>1631373
Тогда было бы NOSQL а не NoSQL, долбоеб.
Аноним 12/03/20 Чтв 21:04:56 163137948
Аноним 12/03/20 Чтв 21:05:12 163138049
Аноним 12/03/20 Чтв 21:05:59 163138150
>>1631373
>A NoSQL (originally referring to "non SQL" or "non relational")
Аноним 12/03/20 Чтв 21:13:36 163138951
>>1631374
Прям как XML, Extensible Markup Language. С аббревиатурами вообще здравый смысл не работает.
Аноним 12/03/20 Чтв 21:19:19 163139452
>>1631389
У какого-то хохла на ютубе видел, что javac тоже как-то читается потому что там какая-то хуйня за этим стоит.
Аноним 12/03/20 Чтв 21:20:33 163139553
>>1631394
Ясно, держи в курсе. Я тоже где-то у кого-то видел, что ты пидор.
Аноним 12/03/20 Чтв 21:21:05 163139654
Аноним 12/03/20 Чтв 21:24:30 163139855
image.png (61Кб, 989x334)
989x334
Аноним 12/03/20 Чтв 21:25:10 163139956
Аноним 12/03/20 Чтв 21:26:13 163140057
>>1631398
А, проебал, что это только с @Configuration работает. Спасибо.
Аноним 12/03/20 Чтв 21:26:38 163140158
>>1631394
Википедия говорит про "java see". Пох, джавак крч.

>>1631395
Хуле ты такой токсичный? Из-за слишком быстрого переката бесишься? Давай лучше метод println обсудим, а то он какой-то сложный и совсем непонятный.
Аноним 12/03/20 Чтв 21:27:29 163140359
>>1631395
У Немчинского я это видел.
Он там пояснял, что читается так потому что это хуйня из юниксов пошла, там так читают. Точное видео не помню.
>>1631401
Во-во, он там тоже про джавак шутил.
Аноним 12/03/20 Чтв 21:27:30 163140460
image.png (314Кб, 646x914)
646x914
>>1631399
Да хуй его знает. Скидывали когда-то давно.
Вот еще на сайте редхат бесплатно лежит, может ее прочесть.
Аноним 12/03/20 Чтв 21:27:55 163140561
>>1631401
Потому что он очень сильно перегружен. Не надо так.
Аноним 12/03/20 Чтв 21:28:56 163140662
Аноним 12/03/20 Чтв 21:29:52 163140863
>>1631405
А как надо? Выкинуть все примитивные типы и оставить println(Object obj) ?
Аноним 12/03/20 Чтв 21:31:22 163141064
Аноним 12/03/20 Чтв 21:31:56 163141165
>>1631410
Редхат пошел нахуй.
Аноним 12/03/20 Чтв 21:31:59 163141266
>>1631403
Что еще про петучинского расскажешь?
Аноним 12/03/20 Чтв 21:32:55 163141367
Аноним 12/03/20 Чтв 21:32:59 163141468
>>1631408
Пусть будет variadic и принимает чары
System.out.println('H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!');
Аноним 12/03/20 Чтв 21:34:31 163141569
>>1631414
Прям как на паскале, только вместо строк чары.
Аноним 12/03/20 Чтв 21:36:01 163141870
Аноним 12/03/20 Чтв 21:42:29 163142371
>>1631266 (OP)
Респект за книгу на четвёртой пикче!
Аноним 12/03/20 Чтв 21:46:01 163142572
>>1631412
90% всех видео это ебаная вода.
Торговец курсами, инфоцыган, вроде это так щас называют?
Если делать вообще нехуя, можно глянуть его пиздёж. Это будет лучше дотки. Но всё равно бессмысленная трата времени.
Аноним 12/03/20 Чтв 21:46:58 163142773
>>1631425
У него только один норм видос - часовое сравнение стеков ЕЕ и сприга.
Аноним 12/03/20 Чтв 21:49:44 163142974
>>1631423
Только непонятно, какое непосредственное отношение она имеет к жабе.
Аноним 12/03/20 Чтв 21:52:24 163143475
>>1631427
Не знаю, не видел. Я пытался смотреть его длинные видео.
Но там слишком много воды. И вообще он рассказывает про любую тему для тех кто в ней нихуя не понимает. Вроде и можно слушать, а смысловой нагрузки никакой.
Ну т.е. реклама как она есть.
Аноним 12/03/20 Чтв 22:06:33 163144376
>>1631425
Еще бесят его самосмехуечки и его ебаная страшная кружка с гербом Украины. И вообще он больной какой-то..
Аноним 12/03/20 Чтв 22:11:48 163144577
>>1631443
Он шизик на тему украины. Но я не буду развивать эту тему итт.
Аноним 12/03/20 Чтв 22:19:02 163145378
>>1631443
Меня наоборот его национальность никак не напрягала. Хохлом его назвал ради лулзов.
Я не помню, чтобы он как-то хуёво о русне отзывался, когда упоминал про рыночки заметил даже, что в отличии от незалежной у нас таки можно найти норм работу не на бургеров.
Свидомый патриот, да и хуй с ним, меня это не касается, пока он это при себе держать старается.
Аноним 12/03/20 Чтв 23:54:56 163164879
>>1631284
Нравится когда в pom новую dependency добавляешь и пытаешься ее использовать автоимпорт idea не работает. Потом ручками пишешь сам импорт и тебе idea подсказывает что надобно бы в module.info добавить новую строчке тогда заживем. И только после этого все наконец собирается.
Аноним 13/03/20 Птн 01:26:58 163176780
Проект бы придумать.
Аноним 13/03/20 Птн 06:33:14 163185581
Аноним 13/03/20 Птн 08:38:47 163187982
Аноним 13/03/20 Птн 09:40:03 163189383
>>1631355
Какой смысл удалять тематический постинг? Го треды полностью состоят из тематического троллинга.
Превратили в говно-форум.

Кстати этот обмудок удалял даже адекватную тематику
Аноним 13/03/20 Птн 09:46:20 163189584
>>1631893
Можно в /d написать, чтоб отстали от треда.
Аноним 13/03/20 Птн 09:55:02 163190085
>>1631895
Хз, мне проще ливнуть. Раньше было лучше такого бардака я тут не видел, вел даже с десяток Го тредов, лузлов ловили пачку, откровенный шитпостинг игнорили.
Аноним 13/03/20 Птн 10:02:27 163190186
>>1631895
Может, от количества зарепортивших зависит?
Аноним 13/03/20 Птн 10:30:32 163190887
>>1631901
Мягкотелые какие джависты стали.
Аноним 13/03/20 Птн 11:07:45 163192288
А в чем разница
getClass().getResource()
и
getClass().getClassLoader().getResource()
Они же вроде бы одно и то же делают, зачем писать больше?
Аноним 13/03/20 Птн 11:55:50 163194989
изображение.png (54Кб, 1390x502)
1390x502
Аноним 13/03/20 Птн 12:14:44 163195790
Аноним 13/03/20 Птн 12:59:46 163197091
Как там хеллоуворлды писать на ваших жавах
Хочу простеньки рестик, спринг вроде самый популярный фреймворк?
Спринг бут и спринг это одно и то же?
Maven - что-то типа пакетного менеджера и сервера одновременно?
Аноним 13/03/20 Птн 13:19:20 163198192
>>1631949
Кстати я из градла тоже не смог модули сделать. Каким-то фигом одинаковые плагины конфликтуют, не хватило мозгов что ли сделать чтобы "йоба-2.3.5" больше не подгружалось если уже ранее погрузились и вообще каким фигом модули не собираются независимо.

Я знаю что тут не в силах помочь, просто поплакал.

Аноним 13/03/20 Птн 13:22:25 163198593
>>1631970
Спринг бут это надстройка над спрингом для быстрого создания типовых проектов.
Мавен это система сборки и пакетный менеджер.
Аноним 13/03/20 Птн 13:48:40 163200594
Аноним 13/03/20 Птн 13:52:00 163201195
>>1631922
Там разница в путях будет
Если писать getClass().getResource("foo.properties") - то будет искать в пакадже этого класса com/myapp/foo.properties
Чтобы такого не было надо или путь начинать со слеша - /foo.properties или использовать ClassLoader он такого не делает.
Аноним 13/03/20 Птн 14:08:30 163203396
>>1631970
Не юзаешь мавен - значит ты пидор.

Аноним 13/03/20 Птн 14:40:48 163208297
Есть jackson. Есть json с двумя уровнями вложенности. Пытаюсь в mepperObject.readValue.
Выдаёт нуллпоинтэкзепшн. Геттеры сеттеры есть для первого класса/уровня, но на втором параметры идут с заглавной. В доках пишут, что readValue берёт геттры/сеттеры, отсекает гет/сет и переводит первый символ в другой регистр.
Как быть?
Аноним 13/03/20 Птн 14:42:30 163208498
>>1632082
на каком месте нульпоинтер? Ошибки десериализации были бы не нульпоинтером
Аноним 13/03/20 Птн 14:46:06 163208899
>>1632084
Не так, ошибся. IOException на этапе вызова readValue.
Аноним 13/03/20 Птн 14:47:21 1632091100
Аноним 13/03/20 Птн 14:50:08 1632095101
Аноним 13/03/20 Птн 15:12:15 1632121102
>>1632091
С этими статик-нонстатик всегда был не в ладах, извините.
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.xxx.xxx.util.a$f` (although at least one Creator exists): can only instantiate non-static inner class by using default, no-argument constructor
Аноним 13/03/20 Птн 15:12:17 1632122103
image.png (59Кб, 658x662)
658x662
>src/test/java/io/spring/infrastructure/favorite/MyBatisArticleFavoriteRepositoryTest.java
>import org.springframework.test.context.junit4.SpringRunner;
Что это такое как это понимать????
Посоветуйте пожалусто книжку по основам и стандартам актуальную пожалусто
Аноним 13/03/20 Птн 15:13:12 1632123104
Аноним 13/03/20 Птн 15:13:31 1632124105
>>1632121
У тебя в ошибке прямым текстом написано, что нужен конструктор без аргументов.
public Class (){}
Аноним 13/03/20 Птн 15:15:26 1632126106
>>1632121
Русским же языком написано в чем проблема. Какой тебе код писать, если ты читать не умеешь?
Аноним 13/03/20 Птн 15:18:52 1632128107
>>1632082
>>1632121
>>1632108 →
Вот тут я написал тебе как сделать иммутабл десериализацию, без сеттеров. Можно указать конструктор с параметрами через аннотацию @JsonCreator, и можно указывать имена переменных в json @JsonProperty (это для несовпадений имен в полях класса и исходного json).
Аноним 13/03/20 Птн 15:30:50 1632135108
>>1632122
Учитесь задавать вопросы, блядь!
Никто не будет отвечать на твой вопрос, потому что нихера непонятно что ты хочешь. Книжку по джаве тебе? Или по спрингу? А может по майбатис? Или все-таки по юнит тестам? Или тебя удивляет почему там используют JUnit версии 4, тогда как актуальная давно пятая?
Аноним 13/03/20 Птн 15:31:33 1632137109
>>1632123
>>1632128
Благодарю, сейчас попробую.
>>1632124
Это неплохо, когда такой конструктор уже есть. Я, конечно, код не запостил, но всё же.
>>1632126
Ну не хотел лезть в яву, это не специально :с
Вообще в компанию пришёл как cpp разраб. Меня заставили! Ну мам!
Аноним 13/03/20 Птн 15:35:25 1632140110
>>1632137
>такой конструктор уже есть
Для вложенного класса.
Нужен конструктор без аргументов для вложенного класса.
Аноним 13/03/20 Птн 15:37:17 1632144111
>>1632140
Для вложенного класса тоже есть конструктор. Без аргументов.
Аноним 13/03/20 Птн 15:43:33 1632147112
>>1632144
Я только вкатываюсь, не могу ничего без кода подсказать.
Жди опытных джедаев, которые уже знают технику чтения кода на расстоянии.
Аноним 13/03/20 Птн 15:56:33 1632153113
пиздец. тупенький оп так спешил стать опом, что не осилил тег проставить
Аноним 13/03/20 Птн 16:39:52 1632205114
>>1632144
А вложенный класс объявлен статик?
Аноним 13/03/20 Птн 16:42:02 1632207115
>>1632135
Книжку по джаве чтобы несложно и было объяснено почему постоянно в программах пишутся непонятные 10и вложенные пути и методы(
Аноним 13/03/20 Птн 16:44:46 1632208116
image.png (37Кб, 502x451)
502x451
>>1632205
Да. А конструктор у него нонстатик.

Сейчас закомментировал этот крутой конструктор с JsonCreate, использовал mapper, который уже где-то используется и подкорректированный. Исключения валить перестали, но возвращает null. Где-то в документации читал про эти null-значения, и что им нужно уделять вниманкие, но не особо понял.
Аноним 13/03/20 Птн 16:46:26 1632209117
>>1632208
Пик случайно приклеился.
Аноним 13/03/20 Птн 16:47:10 1632210118
>>1632208
Сам класс, не конструктор, объявлен как статик или нет? Если нет, то сделай его статиком.

public static class Foo {

}
Аноним 13/03/20 Птн 16:48:46 1632211119
>>1632210
Говорю же, статик класс.
Оба класса со статиком, точнее.
Аноним 13/03/20 Птн 16:59:46 1632221120
>>1632211
Что-то ты недоговариваешь

Cannot construct instance of `com.xxx.xxx.util.a$f` (although at least one Creator exists): can only instantiate non-static inner class by using default, no-argument constructor

Ошибка явно говорит о том, что у тебя не статический внутренний класс и у него нет конструктора по умолчанию.

В общем показывай код если хочешь чтобы помогли.
Аноним 13/03/20 Птн 17:01:48 1632224121
image.png (66Кб, 956x724)
956x724
image.png (12Кб, 688x133)
688x133
>>1632208
>>1632211
Почему ты такой тупенький, я же тебе уже все написал? А говоришь cpp разраб.
Аноним 13/03/20 Птн 17:16:55 1632240122
Да что читать чтобы быстро вкатиться в спринг с нуля и современно??
По гайду из шапки можно утонуть на лет 10
Аноним 13/03/20 Птн 17:21:51 1632247123
image.png (36Кб, 670x399)
670x399
>>1632208
>>1632224
Насчет null'ов есть @JsonInclude с пучком значений как именно трактовать пустые значения, но это только для сериализации.

Еще, если ты не все поля из json в объект мапишь, то конфигурируй маппер, иначе будет падать с ошибкой что не знает такого поля:
MAPPER.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
Об этом я тоже уже писал.

В общем либо ты показываешь оригинальный json, который у тебя падает, либо                              не показываешь и ебешься дальше сам                             .
Аноним 13/03/20 Птн 17:33:43 1632257124
Я лох, что делать?
Аноним 13/03/20 Птн 17:51:12 1632269125
>>1632257
забить на оценки окружающих и продолжать делать что делаешь
Аноним 13/03/20 Птн 18:27:06 1632294126
Читаю многопоточность и боюсь, что не всегда смогу держать в голове и не допускать все возможные отложенные ошибки. Есть ли какие-нибудь мощные средства для анализа кода на предмет таких специфических ситуаций, когда хоть через 100 лет что-то может пойти не так?
Аноним 13/03/20 Птн 18:34:51 1632300127
>>1632294
УПД, под ошибками я подразумеваю мелкие ошибки, допустим, я хочу расширить потокобезопасный класс, добавив новую функциональность. Соответственно, я создаю класс хелпер, внутри создаю объект потокобезопасного класса, который хочу расширить, делегирую ему основную часть обеспечения потокобезопасности, добавляю новый функционал в класс-хелпер и синхронизирую новый функционал не на том объекте, на котором синхронизируется потокобезопасный класс. Буквально только что вычитал этот пример. Могут ли анализаторы кода отследить такую брешь?
Аноним 13/03/20 Птн 18:51:30 1632313128
Аноним 13/03/20 Птн 19:06:38 1632337129
Аноним 13/03/20 Птн 19:09:14 1632340130
>>1631949
Ну так у меня то же самое. Я про несколько именно отдельных помников. Мб сделать проект идеи, а внутри него мавен проекты?
Аноним 13/03/20 Птн 19:09:49 1632341131
Аноним 13/03/20 Птн 19:10:44 1632343132
>>1632011
>использовать ClassLoader он такого не делает.
А как он делает? Сразу в корне ищет?
Аноним 13/03/20 Птн 19:12:21 1632346133
>>1632269
> продолжать делать что делаешь
Лошиться?
Аноним 13/03/20 Птн 19:12:52 1632347134
Нихуя я тут насрал.
Аноним 13/03/20 Птн 19:15:48 1632349135
Есть книги, в которых фундаментально объясняется, как создавать документацию? В чистом коде/совершенном коде это рассказывается?
Аноним 13/03/20 Птн 19:36:10 1632368136
>>1632300
> допустим, я хочу расширить потокобезопасный класс
наследование - зло. Наследование ломает инкапсуляцию.
>и синхронизирую новый функционал не на том объекте
какето? syncronized же синхронизирует на экземпляре объекта, а он одинаковый для родительских и потомочных методов
Аноним 13/03/20 Птн 19:41:32 1632373137
>>1632368
>наследование - зло. Наследование ломает инкапсуляцию.
Бла-бла-бла..

>какето? syncronized же синхронизирует на экземпляре объекта, а он одинаковый для родительских и потомочных методов
В данном случае под расширением я имею в виду размещение кода расширения в классе-хелпере без наследования.
Аноним 13/03/20 Птн 19:42:43 1632375138
Аноним 13/03/20 Птн 19:43:41 1632376139
>>1632343
Да путь сразу считается абсолютным.
Аноним 13/03/20 Птн 19:44:02 1632377140
>>1632375
Посмотрю на досуге, спасибо.
Аноним 13/03/20 Птн 19:51:45 1632384141
>>1632368
Геттеры - зло. Геттеры ломают инкапсуляцию.
Программирование - зло. Программирование ломают инкапсуляцию.
Аноним 13/03/20 Птн 19:56:47 1632385142
>>1632384
инкапсулируй свое мнение
Аноним 13/03/20 Птн 19:59:02 1632387143
>>1632385
Мамку твою инкапсулировал
Аноним 13/03/20 Птн 20:04:19 1632392144
>>1632373
>Бла-бла-бла
Он нормальную тему тебе задвигает, про это целая глава у Блоха.
Юзай интерфейсы, композицию.
Аноним 13/03/20 Птн 20:15:46 1632401145
в 2k20 дауны до сих пор не понимают, что такое инкапсуляция
Аноним 13/03/20 Птн 20:19:11 1632406146
>>1632401
Ага, думают, что инкапсуляция - это private.
Аноним 13/03/20 Птн 20:21:01 1632407147
Аноним 13/03/20 Птн 20:24:03 1632408148
>>1632401
в 2к20 считать что общая образованность растет
Аноним 13/03/20 Птн 20:24:17 1632409149
Аноним 13/03/20 Птн 20:26:59 1632411150
>>1632407
Это когда особенности реализации не торчат наружу, и можно абстрагироваться от них. Например, в сишке есть структура FILE. Всем похуй, что за поля у этой структуры, никто напрямую их не использует, хоть это и не запрещено. Но зато есть куча функций для работы с объектами такого типа, которые сами знают всё, что нужно.
Аноним 13/03/20 Птн 20:35:32 1632413151
image.png (398Кб, 681x640)
681x640
Аноним 13/03/20 Птн 20:41:03 1632416152
>>1632413
Сразу бросилось в глаза отсутствие проблема между if и скобкой.
Аноним 13/03/20 Птн 20:41:26 1632417153
Аноним 13/03/20 Птн 20:52:55 1632419154
>>1632411
Ясно, спасибо за объяснение, хоть и очевидное.
Аноним 13/03/20 Птн 21:02:54 1632428155
>>1632413
в божественном жаваскрипте почти официально используется if ( !! condition)
Аноним 13/03/20 Птн 21:04:30 1632429156
>>1632428
Ну им же надо как-то к нужному типу приводить. Хотя зачем, если разные типы и так могут выступаать в роли булина?
Аноним 13/03/20 Птн 21:04:50 1632431157
>>1632401
когда потомок может поломать предка - это нарушение инкапсуляции
Аноним 13/03/20 Птн 21:06:15 1632432158
>>1632431
Заводи багу на JDK, они в Collections.unmodifiableList нарушили инкапсуляцию.
Аноним 13/03/20 Птн 21:08:47 1632435159
>>1632432
А не, не заводи, это я хуйню сказал. То не потомок, то враппер.
Аноним 13/03/20 Птн 21:10:22 1632437160
>>1632432
хотел бы в качестве List получить UnmodifiableList ?
Аноним 13/03/20 Птн 21:17:40 1632441161
>>1632431
Ну, всё, больше никогда не буду переопределять toString(), а то я так ломаю Object!
Аноним 13/03/20 Птн 21:21:27 1632445162
>>1632441
Мысли ширее - собственные классы создавать вообще нельзя. Потому что мы наследуемся от Object, соответственно сразу уже нарушили. >>1632368-вот этот сказал.
Аноним 13/03/20 Птн 21:21:53 1632446163
image.png (3Кб, 478x32)
478x32
>>1632435
Очень даже потомок. Точнее реализация, но в данном случае похуй.
Аноним 13/03/20 Птн 21:23:23 1632447164
>>1632431
>>1632446
Поступила новая инфа: это потомок - заводи.
Аноним 13/03/20 Птн 21:24:08 1632448165
>>1632431
когда потомок ломает предка это не нарушение инкапсуляции, а долбоёб в кабине, который нормально сделать не может.
инкапсуляция это не закон божий, не сила тяжести или постоянная планка - это блять инструмент
Аноним 13/03/20 Птн 21:33:22 1632455166
Есть у тебя коллекция объектов
Идёшь ты такой и вызываешь метод у каждого объекта.
А потом хуяк - тебе попался потомок со сломанным методом предка, и весь твой код по пизде из-за этого внезапного потомка, о существовании которого ты даже не знал.
Аноним 13/03/20 Птн 21:39:46 1632457167
Аноним 13/03/20 Птн 21:40:33 1632458168
>>1632455
регаешь баг
@
идешь пить кофе с хэрочкой

Аноним 13/03/20 Птн 21:52:58 1632466169
>>1632457
>Spring Context нету
Подозреваю это что-то не очень нужное.
Аноним 13/03/20 Птн 22:02:19 1632477170
Как выглядят аттрибуты (не параметры) HTTP-реквеста в текстовом виде? Очень лень открывать вайршарк, расскажите так.
Аноним 13/03/20 Птн 22:07:26 1632483171
Почему нигде не написано, что спринговый TestRestTemplate поддерживает относительные URLы? Это же охуенно!
Аноним 13/03/20 Птн 22:15:30 1632488172
>>1632477
Это вопрос на сообразительность?
Они никак не выглядят, потому что в HTTP такого нет. Это серверная фича сервлет реквеста и по сети не передается.
Аноним 13/03/20 Птн 22:16:37 1632489173
>>1632488
>Это серверная фича сервлет реквеста и по сети не передается.
Не понял. Можно же на клиенте к реквесту добавить аттрибуты, а на сервере их прочитать?
Аноним 13/03/20 Птн 22:21:22 1632491174
>>1632489
Что за аттрибуты ты тогда имеешь ввиду? Покажи где такое. Реквест это имя метода + хедеры + тело (опционально). В том источнике который ты читаешь аттрибутами могут быть либо кастомные хедеры, либо www-x-form-urlencoded тело.
Аноним 13/03/20 Птн 22:22:35 1632493175
>>1632413
Hold my beer.
if (String.valueOf(condition).length() == Boolean.TRUE.toString().length())
Аноним 13/03/20 Птн 22:24:33 1632494176
Аноним 13/03/20 Птн 22:24:49 1632495177
>>1632491
>Реквест это имя метода + хедеры + тело (опционально)
Ну и очевидный path он же url, который может содержать query и matrix parameters и path variables.
Аноним 13/03/20 Птн 22:27:10 1632498178
>>1632489
Судя по тому, что здесь написано, можно шарить атрибуты между разными сервлетами, речи про передачу их за пределы приложения (сервера) нет.
https://www.javatpoint.com/attribute
Аноним 13/03/20 Птн 22:42:00 1632504179
изображение.png (8Кб, 332x96)
332x96
А когда введут удобочитаемые NPE'шки, получается пикрелейтед не нужен будет?
Аноним 13/03/20 Птн 22:43:00 1632505180
>>1632504
Вариант с сообщением норм будет. А этот и так не особо нужен.
Аноним 13/03/20 Птн 22:44:28 1632506181
>>1632505
Идея задалбливает его советовать постоянно.
Аноним 13/03/20 Птн 22:44:52 1632507182
Аноним 13/03/20 Птн 22:47:20 1632509183
>>1632507
Когда файл беру как ресурс, например.
Аноним 13/03/20 Птн 22:48:14 1632510184
>>1632509
Твои слова не пруф.
Аноним 13/03/20 Птн 22:56:03 1632513185
изображение.png (36Кб, 1209x142)
1209x142
>>1632510
На мои слова всегда всем похуй. Я пыль под ногами...
Аноним 13/03/20 Птн 22:56:52 1632514186
>>1632513
Это хуйня. Вот если бы она по Alt+Enter желтую лампочку показывала, то да.
Аноним 13/03/20 Птн 22:57:29 1632515187
изображение.png (20Кб, 681x190)
681x190
Аноним 13/03/20 Птн 22:59:10 1632518188
>>1632515
А, вспомнил, она еще когда ты кидаешь исключение с каким-то сообщением, предлагает заменить проверку на requireNonNull без сообщения. Поганенькая штука, хорошо, что в идее почти любые проверки можно отключить.
Аноним 13/03/20 Птн 22:59:44 1632519189
image.png (28Кб, 754x445)
754x445
>>1632494
Это метод мока, он через рефлекшн что угодно может подсунуть в сервер. Проверил запрос - никакие хедеры не добавляются, боди отсутствует, урл чистый. Передать эти аттрибуты извне, т.е. с помощью HTTP, никак нельзя. Ответ остается прежний: в хттп их нет, это фича сервлетов.
Аноним 13/03/20 Птн 23:00:50 1632520190
>>1632518
Ну это уже пердолинг начинается. Еще под себя делать кастомные инспекции кода.
Аноним 13/03/20 Птн 23:18:46 1632530191
4150bf1bbb1ad6e[...].jpg (19Кб, 300x300)
300x300
>>1632493

String variableTrue = "True";
if (String.valueOf(condition).toLowerCase().hashCode() == variableTrue.toLowerCase().hashCode()) {
} else if (String.valueOf(condition).toUpperCase().hashCode() == variableTrue.toUpperCase().hashCode()){
} else {
}
Аноним 13/03/20 Птн 23:37:56 1632536192
>>1632530
Так хэшкод не 100% гарантия.
Аноним 13/03/20 Птн 23:39:15 1632538193
>>1632432
Что они там нарушили?

>>1632445
Наследование может нарушить, но совем необязательно это делает. Но нарушить инкапсуляцию Object это надо прям очень-очень постараться, прям на уровень Unsafe залезть.
Аноним 13/03/20 Птн 23:42:28 1632539194
>>1632504
Нужен конечно!
То что ты сказал решает только проблему chained вызовов a.b().c().d()
Но не помогает понять, в какой момент с стало null. Поэтому проверки на null в момент присвоения все равно нужны.
Аноним 14/03/20 Суб 00:16:36 1632552195
>>1632536
Ничего, строки с коллизиями можно захардкодить и постоянно дополнять при нахождении новых.
Аноним 14/03/20 Суб 01:25:03 1632586196
Пишу тест класса который должен хранить мапу и добавлять/удалять из нее.
Хочу протестировать метод add(Class<?> clazz, Object object)
и проверить что данные добавились в карту. Для этого вызываю еще один такой же класс и вставляю данные через рефлексию. Ассерт не проходит. ЧЯДНТ? Как вообще такую хуйню правильно тестить?

ServiceContext context = new ServiceContext();

TestService1 service = new TestService1();
context.add(service.getClass(), service);

Map<Class<?>, Object> testMap = new HashMap<>();
testMap.put(service.getClass(), service);

Class clazz = Class.forName("xxx.xxx.service.ServiceContext");
Object obj = (ServiceContext) clazz.newInstance();
Field field = clazz.getDeclaredField("context");
field.setAccessible(true);
field.set(obj, testMap);

Assert.assertTrue(context.equals(obj));
Аноним 14/03/20 Суб 01:33:51 1632590197
>>1632586
А ну да, использую equals, который не переопределил.

А все же такие методы добавления тестируют только через reflection или есть более простые способы?
Аноним 14/03/20 Суб 01:34:24 1632592198
>>1632586
ServiceContext - твой класс? Equals+hashCode переопределил?
Аноним 14/03/20 Суб 01:36:48 1632594199
>>1632590
Mockito есть и другие мок-фреймфорки
Аноним 14/03/20 Суб 01:40:05 1632599200
>>1632592
да, проблема была именно в нем
>>1632594
спасибо, попробую
Аноним 14/03/20 Суб 12:08:04 1632697201
Аноним 14/03/20 Суб 12:10:58 1632702202
>>1632697
Видели под конец котлин вылез?? аж анус напрягся
Аноним 14/03/20 Суб 13:55:01 1632762203
>>1632702
Видели под конец анус вылез?? это котлин напрягся
Аноним 14/03/20 Суб 14:42:00 1632793204
Задавайте вопросы по джаве.
Аноним 14/03/20 Суб 14:59:32 1632811205
>>1632793
че б написать такова...
Аноним 14/03/20 Суб 15:01:19 1632817206
>>1632811
Более красивый и функциональный аналог mvnrepository, чтоб как гитхаб умел всякие социальные штучки делать.
Аноним 14/03/20 Суб 15:03:00 1632820207
Аноним 14/03/20 Суб 15:09:44 1632831208
Давай короче BigDecimal, но более похожий на мавен.
Аноним 14/03/20 Суб 15:10:04 1632833209
>>1632820
То же самое, только с нескучным дизайном и более хуевым поиском.
А хотелось бы что-то вроде микроблогов, где разрабы писали бы про свои информацию, release notes, getting started и т.д.
Аноним 14/03/20 Суб 15:10:31 1632835210
Аноним 14/03/20 Суб 15:14:22 1632839211
image.png (38Кб, 991x339)
991x339
Что делаю не так7
Аноним 14/03/20 Суб 15:16:15 1632844212
Аноним 14/03/20 Суб 15:16:53 1632848213
Аноним 14/03/20 Суб 15:17:47 1632849214
image.png (117Кб, 620x370)
620x370
Аноним 14/03/20 Суб 15:21:41 1632853215
>>1632839
Это тебе не котлин, джава компилятор не умнее обычной палки, такой реверанс не получиться сделать с финал полем.
Аноним 14/03/20 Суб 15:24:32 1632859216
Аноним 14/03/20 Суб 15:25:25 1632860217
>>1632839
final поле должно быть инициализированно либо сразу, либо в констухторе. А констухтор тут не поможет, потому что у тебя static {} block раньше выполняется.
Аноним 14/03/20 Суб 15:29:42 1632867218
Аноним 14/03/20 Суб 15:34:30 1632873219
>>1632867
В static блоке можно static поля инициализировать, я невнимательно посмотрел твой код.
Он из-за try-catch ругается, а без них можно.
Аноним 14/03/20 Суб 15:39:40 1632886220
image.png (9Кб, 358x223)
358x223
>>1632839
>>1632860
Вот этот господин не прав, файналы можно инициализировать статиками прекрасно. Просто переменная должна быть инициализирована в каждой ветке исполнения, а у тебя в catch блоке out остается неинициализированной. Напиши там "out = null" после стактрейса.
Аноним 14/03/20 Суб 15:45:19 1632898221
image.png (10Кб, 413x173)
413x173
>>1632839
>>1632886
А еще лучше прокидывай эксепшен выше просто и все, превратив его в unchecked. Потому что при "out = null" у тебя все равно жизни нет, это как я понимаю твой основной компонент бизнес логики. Да и идея будет ругаться что "out может быть null".
Аноним 14/03/20 Суб 15:47:12 1632901222
изображение.png (92Кб, 1089x889)
1089x889
Аноним 14/03/20 Суб 15:49:45 1632905223
>>1632901
Точно, так не сработает. Тогда прокидывай через анчекед.
Аноним 14/03/20 Суб 15:50:46 1632907224
>>1632898
А я слышал, что кидать RuntimeEx это ложь по отношению к джаве и code smell.
Аноним 14/03/20 Суб 15:55:53 1632911225
>>1632907
>кидать RuntimeEx
А ты не кидай сырой, эт же просто пример. Кидай MyCoolEx extends RuntimeException. Нет, не пахнет, многие библиотеки так делают. Это выбор разработчика к чему у него душа лежит - к чекед чтобы все засрано было try/catch, или анчекед, чтобы ловить только в ключевых местах-чокепоинтах, например, вокруг всего тела psvm.
Аноним 14/03/20 Суб 16:02:24 1632921226
Аноним 14/03/20 Суб 16:42:03 1633006227
Можно ли в мавене в верхнем pom.xml, в котором определяются все вложенные модули, определить плагины, которые будут запускаться после сборки всех модулей?
Аноним 14/03/20 Суб 19:19:51 1633111228
Какая самая лучшая и понятная книга по спрингу для начинающего и продолжающего?
Аноним 14/03/20 Суб 19:23:12 1633115229
>>1633111
pro spring 5
есть на русише
Аноним 14/03/20 Суб 19:24:08 1633117230
>>1633111
Официальная дока, легко читается (читалась) на англ.
Аноним 14/03/20 Суб 20:18:45 1633133231
>>1633117
Ну пробросил я жсон из pojo обьекта по гайдам, для чего это и куда это в хтмл совать не понятно. Может жс фреймворки с этим работают.
Аноним 14/03/20 Суб 20:20:34 1633135232
>>1632839
Проблема в том, что в случае эксепшена у тебя будет неициализированное поле. У тебя два варианта: в catch блоке присвоить null или любую другую фигню. Или выбрость какой нибудь runtime exception - тогда класс вообще не загрузится и на статическое поле будет насрать.
Аноним 14/03/20 Суб 20:23:31 1633136233
Аноним 14/03/20 Суб 20:31:18 1633143234
>>1633136
А в finally с проверкой тоже не сделать.
Сломали вы джаву.
Аноним 14/03/20 Суб 20:32:10 1633144235
>>1633136
Точняк, тогда инициализовать через доп перпеменную.

static {
OutputStream nullStream;
try {
nullStream = new FileOutputStream("/dev/null");
} catch (FileNotFoundException e) {
nullStream = System.out;
}
out = nullStream;
}
Аноним 14/03/20 Суб 20:50:32 1633153236
Да я уже решил проблему давно, че вы индусов городите.
Аноним 14/03/20 Суб 20:55:11 1633154237
Как я понял, существуют более высокоуровневые средства для многопоточного программирования. То есть, о явном проектировании потоков можно просто забыть и просто скармливать задачи черному ящику? Это эффективнее? Или в некоторых моментах проектировать свои потоки более гибче?
Аноним 14/03/20 Суб 20:58:33 1633156238
>>1633154
а как ты скажешь чёрному ящику что тебе нужно?
Аноним 14/03/20 Суб 20:59:43 1633160239
Аноним 14/03/20 Суб 21:06:36 1633167240
>>1633154
Так и есть, сейчас лучше использовать более высокоуровневые вещи. Во-первых, они эффективнее, во-вторых, они оставляют меньше шансов на ошибку т.к. написаны профессионалами. В каких-то частных случаях можно и свой тред спроектировать, но это редкие случаи; плюс ты уже должен быть подкован в этом деле, потому что как обычно работа с низкоуровневым апи требует больше внимательности.
Однако, в стандартном SDK джавы существует как минимум один случай, когда от тебя требуют наследоваться от Thread напрямую и что-то там переопределять. Я честно говоря не помню уже этот кейс, но я его встречал. По-другому там не сделать, т.к. апи были спроектированы давно и замены еще на тот момент не написали, может и до сих пор не написали, потому что фича была довольно специфическая, читай "ненужная".
Аноним 14/03/20 Суб 21:11:30 1633168241
>>1633167
> более высокоуровневые вещи
Например? Ты про пакет util.concurrent из 1.6 ?
Аноним 14/03/20 Суб 21:13:43 1633172242
>>1633167
>оставляют меньше шансов на ошибку т.к. написаны профессионалами
А вот об этом я сегодня как раз прочитал, что нужно доверять, но проверять. Документация какого-то класса хоть и гарантировала потокобезопасность, но потокобезопасным он не был. Вот так и гадай, какие подводные могут быть..

Какие классы вообще служат для высокоуровневого обеспечения многопоточности? Есть ли годные сторонние библиотеки, или с лихвой хватает стандартных?
Аноним 14/03/20 Суб 21:17:45 1633174243
Аноним 14/03/20 Суб 21:18:59 1633175244
>>1633174
Тоже сегодня видел.
Но я спрашивал про String.intern() где-то полгода назад, мне итт сказали, что не знали об этом говне и на работе ни разу не юзали.
Аноним 14/03/20 Суб 21:22:32 1633177245
интерн для легасиговна
сейчас нинужно от слова совсем
Аноним 14/03/20 Суб 21:24:10 1633181246
>>1633168
Да. Экзекуторы вместо тредов, различные семафоры и каунтдауны вместо вейтов+джойнов.

>>1633172
Ну это отдельный случай - баги. Винда или SSL тоже гарантируют защиту твоих данных, а вулнерабилити всё равно находят и абузят. В случае со стандартными классами библиотеки джавы или любой другой библиотеки как думаешь, у кого больше шансов наткнуться и найти баг, у тебя в случае самописного класса, или у коммьюнити на сотнях тысяч энтерпрайзных приложений?
>Какие классы служат
Различные экзекуторы и служат: есть с очередями, расписаниями, и тд. Даже отдельный случай singleThreadExecutor - т.е. разработчики библиотеки предлагают тебе не использовать свой Thread даже в случае если тебе нужен всего один поток. Ну тут мораль ясна - завтра тебе понадобится добавить в одному потоку второй и ты просто одноу строку поменяешь, которая возвражает реализацию, т.к. ты уже работаешь с экзекутором через интерфейс. То же самое почему мы пишем List = new ArrayList, потому что потом можно на Linked заменить или другие.
Аноним 14/03/20 Суб 21:24:41 1633182247
image.png (8Кб, 675x421)
675x421
>>1631266 (OP)
Джавач, я прошёлся по нескольким тематическим тредам в поисках слова "легаси". В каждой тематике искал за последние 2000 постов. Результат весьма интересен.
Аноним 14/03/20 Суб 21:24:54 1633183248
>>1633177
equals быстрее чтоли? Он каждый символ перебирает O(n)
Ну это если length совпадают.
Аноним 14/03/20 Суб 21:27:03 1633184249
>>1633182
Шарписты занимаются перефорсом легаси на джаву, хотя у самих на рынке вакансий одни дутнеты без кор на винде, винформс старые и еще хуже вебформс
Аноним 14/03/20 Суб 21:27:06 1633185250
>>1633181
Понял, спасибо за ответ!
Аноним 14/03/20 Суб 23:01:00 1633232251
>>1633154
Проблема многопоточного програмиирования не в "скармливать задачи черному ящику", а в том что делать с исходными данными и результатоми. Их же надо как разбить, многопоточно обработать, собрать результат и вот тут уже начинаются сложности.
Есть куча готовых решений: потокобезопасные очереди, executors, паралельные и реакливные стримы, акторы, корутины и прочее. И в целом все неплохо работает, если тебе нет необходимости в супер перформансе или выжать максимум из железа. Иначе добро пожаловать в ручное управление shared memory.
Аноним 14/03/20 Суб 23:04:07 1633235252
>>1633182
C/C++ - первое правило легаси, никто не говорит про легаси.
Аноним 14/03/20 Суб 23:38:43 1633300253
Аноним 15/03/20 Вск 00:30:34 1633401254
registerNatives()
equals()
hashcode()
toString()
notify()
notifyAll()
wait() x3
clone()
Аноним 15/03/20 Вск 00:42:29 1633414255
>>1633401
Готовишься к собесу? Не забудь про интерфейсы и абстрактные классы ещё.
Аноним 15/03/20 Вск 00:42:56 1633418256
>>1633111
Для начинающего кто уже хоть как-то знаком с сервлетами - Wrox Professional Java for Web Applications. Там как раз начинают с одскульных приложений на голых сервлетах с jdbc и постепенно переписывают все это дело на спринг (не бут). И лучше еще параллельно почитывай официальную доку ->https://docs.spring.io/spring/docs/current/spring-framework-reference/index.html там то же ничего особо сложного нет.
Если сервлеты не нюхал то читай - Head First Servlets and JSP
Аноним 15/03/20 Вск 03:42:22 1633538257
>>1633418
щас бы в 2k21 читать что-то толще 5 страниц по сервлетам...
Аноним 15/03/20 Вск 09:33:40 1633589258
>>1633418
Спасибо, почитаю. А вот от
>Head First Servlets and JSP
пожалуй откажусь.
Аноним 15/03/20 Вск 10:53:42 1633630259
>>1633401
Мы вам перезвоним.
гетклас проебал
Аноним 15/03/20 Вск 10:56:35 1633633260
>>1633630
И финалайз так-то. Но он нинужен.
Аноним 15/03/20 Вск 11:14:41 1633652261
Аноним 15/03/20 Вск 11:34:04 1633658262
Аноним 15/03/20 Вск 11:38:15 1633660263
Аноним 15/03/20 Вск 11:39:04 1633663264
такс чобы написать...
Аноним 15/03/20 Вск 11:55:20 1633670265
На JSP кто-то что-то до сих пор пишет? Кроме поддержки легаси
мимо
Аноним 15/03/20 Вск 11:56:30 1633673266
Аноним 15/03/20 Вск 12:14:42 1633683267
>Is it possible to make a Java JNI which calls jdbc?
Мазохисты.
Аноним 15/03/20 Вск 12:15:09 1633686268
>>1633683
ниче не понял в этих ЦК КППС ИСПОЛКОМ
Аноним 15/03/20 Вск 12:21:53 1633688269
>>1633683
Бывают ситуации когда native драйвер даёт больше возможностей чем pure Javq. У того же Оракла 2 драйвера, один из которых вызывает oci через jni.
Аноним 15/03/20 Вск 12:46:04 1633696270
А в хибернейте до сих пор нужны hbm.xml файлы.
Аноним 15/03/20 Вск 13:07:58 1633702271
Аноним 15/03/20 Вск 13:20:00 1633715272
Аноним 15/03/20 Вск 13:22:33 1633717273
Зачем нужен класс SpringBootServletInitializer?
Аноним 15/03/20 Вск 13:31:57 1633722274
>>1633717
Хуй знает, название ни о чем не говорит.
Аноним 15/03/20 Вск 13:40:05 1633723275
image.png (33Кб, 262x192)
262x192
Можно (и как) объединить два независимых проекта на gradle? Чтобы из второго проекта можно было дергать API первого, но при этом в первый проект не вносить никакие изменения в сам градл?
Аноним 15/03/20 Вск 13:42:00 1633724276
>>1633723
Ты нахуя мешаешь в одну кучу компиляцию и исполнение?
Аноним 15/03/20 Вск 13:52:00 1633730277
>>1633717
В джавадоке написано
Аноним 15/03/20 Вск 13:52:35 1633731278
>>1633730
Так и без него же работает.
Аноним 15/03/20 Вск 13:56:41 1633733279
Короче легаси хуйня. В микосервисном мире не нужно.
Аноним 15/03/20 Вск 14:29:21 1633750280
>>1633723
Делаю так (ну почти так) на мавене, инсталлируя свои микро-либы в локальный репо и подключая обычным способом в помник через артифакт+версию. Про градл не знаю, но т.к. там можно использовать репы мавена и даже пом.ыксымэл то думаю это реально. Единственное с чем тебе придется смириться это то что генеришь ты вполне законченные и оформленные jar-ники, что подразумевает перепаковку/повторную инсталляцию при изменении кода либы, но по факту это одна кнопка/команда.
Аноним 15/03/20 Вск 14:49:36 1633768281
>>1633731
Вот опять эта магическая хуйня. Вроде не должно работать без чего-то, а вроде работает. Скоро и без @SpringBootApplication будет работать, лол.
Аноним 15/03/20 Вск 14:54:22 1633774282
>>1633768
Можно в
бл в туалет хочу потом допишу
Аноним 15/03/20 Вск 15:00:17 1633778283
>>1633724
А как лучше, джарники куда-то складывать?
Аноним 15/03/20 Вск 15:01:53 1633782284
>>1633774
Снайпер начал подсыпать жертвам слаби
Ой, надо припудрить носик.
Аноним 15/03/20 Вск 15:36:18 1633807285
Аноним 15/03/20 Вск 18:01:24 1633898286
Как в джаве реализовать такой ввод команд пользователем, как в gdb? То есть, запускается программа, затем в начале каждой строки выводится название программы (gdb) или gdb> а потом считывается пользовательский ввод?
Аноним 15/03/20 Вск 18:03:52 1633900287
>>1633898
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("gdb> ");
String input = sc.nextLine();
// ... обработка ввода ...
}
Аноним 15/03/20 Вск 18:07:02 1633907288
>>1633900
Хм, а зачем тогда нужен класс java.io.Console?
Аноним 15/03/20 Вск 18:08:54 1633910289
>>1633907
Чтобы пароль вводить.
Аноним 15/03/20 Вск 18:10:10 1633913290
>>1633910
Ясно. А почему его через идею нельзя использовать? Я слышал, что там для запуска используется javaw, а не java, но это пиздежь.
Аноним 15/03/20 Вск 18:26:16 1633921291
>>1633913
Точно не javaw, иначе выхлоп программы внизу не был бы виден.
Никогда не юзал его, сейчас трайнул, и System.console() вернул null. В git-bash он тоже возвращал null, заработало только с winpty.

Ниоч, ну нах.
Аноним 15/03/20 Вск 18:28:05 1633924292
>>1633921
>System.console() вернул null
Да, потому что там внутри проверка isTty. Если в идее запускать через терминал, то будет работать.
Аноним 15/03/20 Вск 20:05:59 1633975293
Для работы с файлами что лучше, apache commons io или java.nio. из 1.7 ?
Аноним 15/03/20 Вск 20:08:14 1633976294
>>1633975
самый популярный пример со стековерфлоу
Аноним 15/03/20 Вск 20:09:26 1633977295
Аноним 15/03/20 Вск 20:25:25 1633980296
>>1633977
Я его трогал, когда изучал джаву 1.0.2.
Хочется чего-то нового.
Аноним 15/03/20 Вск 20:26:10 1633981297
>>1633980
Зачем тебе новое, если старое работает?
Аноним 15/03/20 Вск 20:28:41 1633982298
>>1633977
Бля, я когда увидел иерархию из этих InputStream, FileInputStream, BufferedInputStream, NeboInputStream, AllahInputStream и ещё овер 50 классов, сразу зарёкся писать на джаве что-то, где нужно работать с файлами.
Аноним 15/03/20 Вск 20:29:31 1633983299
>>1633982
Хорошо, что есть Files.lines()
Аноним 15/03/20 Вск 20:30:55 1633984300
>>1633983
Поздно, уже есть питон.
Аноним 15/03/20 Вск 20:44:03 1633987301
Аноним 15/03/20 Вск 20:52:17 1633995302
>>1633987
Да, удобный DSL для обработки файлов и парсинга вебни, иногда юзаю.
Аноним 15/03/20 Вск 20:58:03 1633997303
>>1633984
Восхищаться динамико-дрисней после опыта на статике, говорит о низком скилле в программировании.

Восхищаться питоном, где вся его нахайпованая "мощь" заканчивается тогда, когда начинаешь что-то серьезное писать - вообще специальная олимпиада.

Я уже не говорю о вывернутом диалекте языка и либ с маняфантазиями. Питон в этом плане не переплюнул только го.
Аноним 15/03/20 Вск 21:05:26 1634001304
>>1633997
Они для разных задач. Джава - это серьёзные крупные проекты, но никак не консольные утилитки. Для последнего норм питон, но для большего он не годится.
Аноним 15/03/20 Вск 21:10:23 1634004305
image.png (7Кб, 478x145)
478x145
>>1633995
Шел бы ты отсюда.
Пыхтон и части не может, что в котлине можно сделать с файлами в одну строку.
Аноним 15/03/20 Вск 21:11:12 1634005306
>>1634001
Переписал все питон скрипты на котлин.
Аноним 15/03/20 Вск 21:11:50 1634007307
>>1634005
Переписал все баш скрипты на питон
И это нихуя не шутка
Аноним 15/03/20 Вск 21:16:49 1634009308
>>1634004
На питоне можно всё писать в одну строку, вопрос лишь в понятности:

(lambda fin: (print(fin), close(fin)))(open("text.txt"))
Аноним 15/03/20 Вск 21:18:41 1634010309
>>1634004
>>1634005
Да и нужно тратить время на изучение котлина, а питон я уже знаю.

Аноним 15/03/20 Вск 21:19:22 1634011310
>>1634009
> close(fin)
fin.close(), конечно.
Аноним 15/03/20 Вск 21:25:29 1634014311
>>1634009
Даже си можно в одну строку уложить. Речь про вменяемость последующего сопровождение.
Питон исконно херня в столбик, а лямбда скорее праздник чем реалии кодинга.

// Получить последний файл в каталоге с префиксом "img_"
File("text").list().last { it.startsWith("img_") }

Аноним 15/03/20 Вск 21:31:08 1634017312
>>1634014
Ок, убедил, потыкаю когда-нибудь твой котлин.

(lambda os: [s for s in os.listdir() if s.startswith("img_")][-1])(__import__("os"))
Аноним 16/03/20 Пнд 10:35:38 1634174313
>>1634009
>>1634017
Какой-то лисп получился
А как же там
Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше, чем сложное.


Забавно что в питоне имеется такой адок из которого вечно получается не читаемое нечто:
>[s for s in os.listdir() if s.startswith("img_")]
Но при этом очень сложным было добавить this, ведь ппц как запутало бедного Гвидо.
Аноним 16/03/20 Пнд 11:18:02 1634183314
Есть какой нибудь бесплатный нормальный онлайн курс по спрингу ?
Аноним 16/03/20 Пнд 11:35:07 1634188315
>>1634174
Если бы просто лисп. Тут лисп с перлом.
Я сам до сих пор охуеваю с любителей однострочников в питон-треде. Сам пишу такое только в шутку.
А this нет, думаю, как раз из-за "явное лучше, чем неявное", и поэтому self и cls передаются явно.
Аноним 16/03/20 Пнд 11:48:42 1634196316
Аноним 16/03/20 Пнд 12:39:01 1634233317
Убеждайте себя. Это метафора. Она. В это время. Наверное. Одна была.
Аноним 16/03/20 Пнд 12:44:05 1634236318
Парни, в путоне можно делать так:
'{:^30}'.format('centered')
'
centered*'


А как в джаве выровнять строку по центру через дополнение символами? В гуаве есть дополнение слева\справа, а как по центру?
В смысле, сам-то я метод могу сделать, но не уже ли нет готового?
Аноним 16/03/20 Пнд 12:45:45 1634237319
>>1634236
ух, звёздочки исчезли. Хорошо, идея то все равно понятна
"{:-^30}".format("centered")
'-----------centered-----------'
Аноним 16/03/20 Пнд 12:49:51 1634239320
>>1634237
А мне сначала была не понятна.
Аноним 16/03/20 Пнд 12:50:44 1634240321
Аноним 16/03/20 Пнд 12:55:54 1634241322
Аноним 16/03/20 Пнд 14:13:34 1634283323
>>1631287
> Spring Data

сприн дата это тупа дружбомагия которая по названию метода типа FindByName генерит запросы
Аноним 16/03/20 Пнд 14:30:01 1634296324
>>1634283
Он рефлекшеном это делает?
Аноним 16/03/20 Пнд 15:03:06 1634329325
Аноним 16/03/20 Пнд 15:31:12 1634352326
Как правильно с точки зрения джавы организовывать приложение на свинге? Отдельный класс для панелей, отдельные классы для листенеров, но тогда листенер нихуя не знает об остальных компонентах на панели, можно конечно сеттером каждый раз пересоздавать кнопку, чтоб поменять название, но зачем? Можно ехтендиться от панели и имплементить листенеры, но это тоже фигня, один общий actionPerformed, в котором миллион if e.getSource.equals(button2)
Как правильно делать, чтоб Brian Goetz сказал малаца?


Аноним 16/03/20 Пнд 16:04:38 1634380327
>>1634352
не знаю как в свинге, но в javaFX есть .fxml для описания интерфейса, и есть Controller.java для всего кода. Код листенеров для кнопок тоже в контроллере
Аноним 16/03/20 Пнд 16:19:12 1634388328
>>1634380
Да это я знаю. Но мне на свинге с look and feel "Nimbus" захотелось, как же он напоминает старые макоси.
Да и в jfx в контроллере тупо миллион методов на каждый контрол? Какой-то процедурный подход.
Аноним 16/03/20 Пнд 16:31:21 1634399329
Подскажите, стоит в 2к20 читать "Структура данных и алгоритмы Java", Роберт Лафоре? Или есть нечто подобное, но свежее?
Аноним 16/03/20 Пнд 16:45:05 1634413330
изображение.png (22Кб, 749x941)
749x941
>>1634399
Стоит, эти знания не устаревают. Я читал Седжвика (пик), проходя его же курс на курсере.
Аноним 16/03/20 Пнд 16:47:56 1634417331
Аноним 16/03/20 Пнд 16:48:32 1634418332
>>1634413
Я эту книгу выбрал именно потому, что там примеры на джаве. У Седжвика тоже или он на с++ примеры показывает?
Аноним 16/03/20 Пнд 16:53:19 1634423333
>>1634418
Седжвик уже давно на джаву перешёл. Раньше — да, было на плюсах, у меня на работе стоит такой двухтомник 2002 года.
Аноним 16/03/20 Пнд 18:16:00 1634479334
Аноним 16/03/20 Пнд 19:27:38 1634506335
>>1634417
Покупал его где-то год назад, не стоит.
Аноним 16/03/20 Пнд 19:40:27 1634514336
>>1634506
а что можешь посоветовать?
Аноним 16/03/20 Пнд 19:56:12 1634526337
Аноним 16/03/20 Пнд 20:02:01 1634528338
>>1634514
>а что можешь посоветовать?
Книги.
Аноним 16/03/20 Пнд 20:04:34 1634530339
>>1634528
я пробовал, да, но в них часто многие темы плохо объясняются, хотя может я неправильные книги читал
Аноним 16/03/20 Пнд 20:13:54 1634534340
>>1634530
Читаешь Хоррестмана. Не понятно - посмотри видео, перечитай главу, перепиши весь код с нее. Заменить книги не получится.
Аноним 16/03/20 Пнд 20:24:22 1634538341
>>1634534
можно название самой книги, а то я тупой немного
Аноним 16/03/20 Пнд 20:25:19 1634539342
>>1634538
An Introduction to Programming in Go
Аноним 16/03/20 Пнд 20:26:01 1634540343
Аноним 16/03/20 Пнд 20:43:14 1634564344
Не понимаю, как BufferedInputStream работает и в чем преимущество по производительности. И так и так ведь идет обращение к устройству.
Аноним 16/03/20 Пнд 20:47:36 1634568345
image.png (30Кб, 693x255)
693x255
>>1634539
смотрю и не понимаю зачем он fmt сделал
Аноним 16/03/20 Пнд 20:49:31 1634571346
>>1634568
Чтобы показать, какой в го уебищный импорт через строки.
Аноним 16/03/20 Пнд 20:56:51 1634575347
Нахуй нужен StreamTokenizer?
Аноним 16/03/20 Пнд 21:08:23 1634583348
Аноним 16/03/20 Пнд 21:48:05 1634610349
Аноним 17/03/20 Втр 08:06:26 1634739350
>>1634583
чё скажешь за этот типо курс?
Аноним 17/03/20 Втр 10:21:26 1634785351
>>1631276
Spring Data позволяет тебе не писать код обращения к БД, а просто определить интерфейс с методами, которые называются определённым способом. Например, написал в интерфейсе метод findByUsername(String username) и Spring сам создаст реализацию этого метода, который будет лезть в БД. Если у тебя чисто хибернейт, то тебе придётся ебаться с EntityManager, CriteriaQuery и прочим.
К тому же, Spring Data это не только про редакционные БД. Spring Data может работать с MongoDB, Cassandra, Elasticsearch, Couchbase, Redis, при чём для них есть как обычные интерфейсы, так и реактивные. Хибернейт такого не умеет.
Аноним 17/03/20 Втр 10:25:00 1634788352
>>1631339
Ты видимо ещё про отношения через DBRef видимо не слышал.
Аноним 17/03/20 Втр 10:38:56 1634792353
>>1634564
Он читает данные через буфер, т.е. пачками. Это значит, что за одно обращение к системе читается больше данных => меньше дорогих системных вызовов. И кроме того, такое чтение в целом меньше мешает другим процессам.
Если приводить аналогию, это как сходить в магаз закупиться жратвой на неделю, вместо того, чтобы бегать туда каждый раз, когда хочешь есть.
Аноним 17/03/20 Втр 10:56:09 1634798354
>>1631266 (OP)
Имеет ли смысл перебираться на Clojure или Scala с Java?
Аноним 17/03/20 Втр 11:04:18 1634802355
>>1634583
Представь, что у тебя есть много потоков. В каждом выполняется какой-то код. И представь, что один из потоков дошёл до середины, но не может идти дальше, т.к. ему нужно дождаться остальных. В этот момент он говорит wait(), останавливается и ждёт. Ждёт до тех пор, пока кто-то другой не скажет notify() или notifyAll().
Методами notify()/notifyAll() поток уведомляет другие потоки, что он изменил состояние объекта, можно его чекнуть и продолжить работу.
Разница между ними в том, что notifyAll() уведомляет все потоки, а notify() только один другой поток, выбранный случайным образом.

В том примере есть продавец, который не может продать товар, пока его нет на складе. Он говорит wait() и ждёт сигнала notify() от поставщика, когда он подгонит фуру с товаром и наполнит склад. Тогда продавец снова сможет продавать товар.
Аноним 17/03/20 Втр 11:06:23 1634803356
>>1634575
Чтоб файлы читать по словам. Но это класс из 1.0, возможно уже не нужен.
Аноним 17/03/20 Втр 12:21:11 1634875357
>>1634803
Путаешь со стрингтокинайзером же.
Аноним 17/03/20 Втр 13:45:42 1634977358
>>1634798
Если от монадок с функторами тебя корячить не начинает, то определённо.
Ну и если бы ты мог легко перебраться, то давно бы уже сделал это.
А раз ты спрашиваешь тут, значит ты типичный крудошлёп. Какая тебе нахуй функциональщина, дерево крутить научись.
Аноним 17/03/20 Втр 13:47:30 1634980359
>>1634875
Нет, не путаю. На смену стрингтокенайзеру пришел метод split().
Аноним 17/03/20 Втр 15:36:16 1635096360
>>1634785
>Например, написал в интерфейсе метод findByUsername(String username) и Spring сам создаст реализацию этого метода, который будет лезть в БД
и зачем такая ёбань нужна? Хипстерки поди эякулируют от этой магии
Аноним 17/03/20 Втр 15:41:56 1635103361
Аноним 17/03/20 Втр 15:48:41 1635107362
>>1635103
что с ней? Мало магии?
Аноним 17/03/20 Втр 15:51:01 1635111363
image.png (182Кб, 1280x1024)
1280x1024
ОНА ПОЛОМАЛАСЬ
Помогите, это все вы виноваты!
Аноним 17/03/20 Втр 15:53:48 1635115364
Есть 2 имплементации 1 jaxrs интерфейса в war, один в classes, другой в lib/jar, jboss eap 6.4. Тот, что в jar extends тот что в classes (кастомизация, сэр).
Как зафорсить порядок загрузки, чтобы загружался класс из jar?
Переупаковку, шадов компайлеры и проч. не предлагать, ограничение со стороны вендора - можно добавить только один джарник в war.
Аноним 17/03/20 Втр 16:04:51 1635129365
>>1635111
>собралась
>exit code 0
Она работает правильно, просто ты обосрался с энкодингом в windows-1251(/1252)
Аноним 17/03/20 Втр 16:04:56 1635130366
изображение.png (420Кб, 650x365)
650x365
>>1635096
Ты не можешь написать высоконагруженное™ приложение, не нагрузив его
Аноним 17/03/20 Втр 16:06:45 1635132367
>>1635129
А нормально объяснить?
Мне вчера накидали кусок кода для доступа к файлу, чтобы не прописывать полный путь, и после это го началось µР±СѓРµ и ђРІС‚РѕР±

Как исправлять-то?
Аноним 17/03/20 Втр 16:07:51 1635133368
>>1635107
Магии там ровно столько же, но вместо магических аннотаций, падающих в компайлтайме, там не менее магические xml-ки, падающие уже в рантайме.
Аноним 17/03/20 Втр 16:11:17 1635136369
>>1635132
>µР±СѓРµ и ђРІС‚РѕР±
Подобная ебала выскакивает в utf высранном в энкодинг шинды-125*

Погуглив за тебя можешь попробовать или создавать стринг с утфом или аут стрим с тем же утфом
стрим:
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println(test);

Ну или полазией в настройках IDE, скорее всего там должен быть форс в кодировку
Сам я мимопроходил, тыкающий жабу, если что
Аноним 17/03/20 Втр 16:13:16 1635141370
>>1635133
>Например, написал в интерфейсе метод findByUsername(String username) и Spring сам создаст реализацию этого метода, который будет лезть в БД
это будет падать в компилтайме?
Аноним 17/03/20 Втр 16:14:53 1635144371
>>1635136
Ваще нихуя не понял что ты несешь.
Аноним 17/03/20 Втр 16:19:00 1635152372
Аноним 17/03/20 Втр 16:20:47 1635153373
>>1635152
Мамку твою ебал, умник.
Аноним 17/03/20 Втр 16:23:41 1635157374
>>1635153
>пук
Если ты файл читаешь, у тебя он закодирован в шиндоэнкоденг
Аноним 17/03/20 Втр 16:23:56 1635158375
>>1635141
Хз, не юзаю это, проверь.
Аноним 17/03/20 Втр 16:26:32 1635164376
>>1635158
откуда твой компилтайм знает про структуру базы? Не знает, и падать будет в рантайме.
При этом добавляется огромный оверхед на эту твою любимую магию.
Аноним 17/03/20 Втр 16:29:44 1635166377
>>1635164
Схуяли мою? Я всё нативными запрсами пишу. Правда, они тоже упадут в рантйме, ибо это обычные строки.
Аноним 17/03/20 Втр 16:29:50 1635167378
>>1635157
Почему он то, что написано в скобочках print(), в консоль выводит со сбитой кодировкой?
Аноним 17/03/20 Втр 16:35:56 1635169379
>>1635167
Я по-твоему ванга?
Скорее всего если ты не определяешь принтстрим в жабе самостоятельно оно будет придерживаться первого попавшегося
Убери чтение файла и проверь и вообще иди на хуй я тебе уже всё что можно рассказал
Аноним 17/03/20 Втр 16:37:55 1635173380
>>1635169
>принтстрим
Чяво?
>оно будет придерживаться первого попавшегося
ты только что хуйню
>Убери чтение файла и проверь
чяво?
Аноним 17/03/20 Втр 16:58:26 1635187381
Аноним 17/03/20 Втр 17:57:50 1635225382
>>1635115
Смотрите, дети, это один из ответов на вопрос "что не так с ЕЕ"
Аноним 17/03/20 Втр 17:58:08 1635228383
>>1635132
Ну привет. Это я тебе вчера накидал. Но я ответственно™ заявляю, что это (>>1634209 →) к твоей проблеме не относится, вот подтверждение (>>1634230 →) - там у тебя и мой код, и русский норм выводит. А потом у тебя начались другие проблемы в другом совершенно месте (>>1634247 →). Кстати, как решил? Что по текущей проблеме подсказать не знаю, наверное ты где-то покопался в настройках, вспоминай.
Аноним 17/03/20 Втр 18:03:39 1635230384
>>1635164
На старте приложения спринг создаёт всю твою магию, работает норм, но стартовать будет долго. Но всем похуй, обычно запускают приложуху на сервере и она работать может овердохуя лет.. На такое ещё прекрасно накладывается jit
Аноним 17/03/20 Втр 18:04:49 1635231385
image.png (66Кб, 1356x835)
1356x835
>>1635228
Для начала покажи вот эту страничку. Далее, можно попробовать CTRL+A, CTRL+C, потом удалить файл, создать новый файл и CTRL+V.
Аноним 17/03/20 Втр 18:10:05 1635236386
каркасвесны.png (289Кб, 1280x720)
1280x720
Аноним 17/03/20 Втр 18:11:28 1635239387
>>1635230
>запускают приложуху на сервере и она работать может овердохуя лет
как там в 2002?
весь мир давно на faas
Аноним 17/03/20 Втр 18:16:58 1635250388
>>1635239
У меня приложение в соседнем кабинете работает, ничего не знаю про новомодные штуки
Аноним 17/03/20 Втр 18:17:14 1635251389
>>1635236
Чистая архитектура, Роберт Мартин?
Аноним 17/03/20 Втр 18:20:50 1635258390
Аноним 17/03/20 Втр 18:23:05 1635259391
>>1635141
Почему это должно падать?
Это такой же код, просто вылизанный и оттестированный миллион раз, да ещё и упакованный в контейнер.
Не надо искать в спринге магию, там её нет. Это просто инструмент, чтобы писать меньше повторяющегося кода.
Не нравится - можешь хоть каждый запрос к бд руками хуярить, через JDBC. Но тогда задай себе вопрос, зачем тебе Java, а может вообще лучше хуярить на С? Или сразу на ассемблере писать?
Аноним 17/03/20 Втр 18:38:05 1635272392
>>1635236
Да, есть такие авторы умных книжек, что любят рассуждать об архитектуре в вакууме, которая где-то там в космосе ничего не знает ни о конкретных фреймворках, ни о всяких скучных деталях типа структуры хранения данных в БД. Ради решения какой практической проблемы предлагается вся эта боль - загадка. Просто "ВЫ НЕ ДОЛЖНЫ".
Аноним 17/03/20 Втр 18:41:07 1635276393
>>1635272
Там нормально всё написано, для чего и почему. Просто он это вырвал из контекста.
Суть в том, чтобы делать архитектуру, а потом уже для решения каких-то задач применять фреймворки модные.
А не делать каргокульт вокруг фреймворка, из которого тебе может и надо будет 2.5 строчки кода.
Аноним 17/03/20 Втр 18:42:59 1635278394
>>1635276
То ли дело каргокульт вокруг маня-архитектуры.
Аноним 17/03/20 Втр 18:49:29 1635283395
Почему жвм мир в целом и спринг в частности так сильно перегружены информацией, деприкейтед говном по которому все ещё гайды на первых страницах Гугла, и всем таким прочим?
Пиздец, сто тыщ гайдов на каждый чих и все по разному.
Спринг Бут это вообще раздутая поебень которая работает на чистой магии аннотаций, которые то обязательны то нет.

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

Аноним 17/03/20 Втр 18:55:25 1635288396
>>1635278
Нет там карго-культа. Вся книга, все эти паттерны это просто рекомендации тех, кто уже делал что-то подобное о том, как делать не надо.
>>1635283
Обратная совместимость. Можно, конечно забить на неё хуй, харкнуть на 9000 предприятий, которые платят за использование языка деньги. Но что-то мне подсказывает это плохая идея.
Аноним 17/03/20 Втр 19:00:36 1635294397
>>1635278
Отрицание, злость, торг, депрессия, принятие.. Рано или поздно ты вступишь в наш культ
Аноним 17/03/20 Втр 19:02:17 1635297398
>>1635288
Она и в .нет есть, но в мелкомягком инфополе минимум мусора и есть годная официальная дока на актуальные и пожилые версии языка/платформы.
В жвм мире по крупицам собираешь инфу чтобы была актуальной и рабочей. Как будто в маргинальный язык пробуешь вкатиться, а не в топ-1 тырпрайз.
17/03/20 Втр 19:14:25 1635299399
>>1635173
Пиздец ты долбаёб... Серьёзно, программирование это не твоё :) Пиздуй на кассу :)
Аноним 17/03/20 Втр 19:23:35 1635306400
>>1635297
Хз, о чём ты. У того же Спринга отличная документация, одна из самых лучших. Ты просто видимо ни с чем другим не работал.
А по поводу устаревших гайдов, ну так ты смотри на дату публикации, лол. Если старше 3 лет, значит уже неактуально скорее всего.
Аноним 17/03/20 Втр 19:25:33 1635310401
Ну че там, джаву 14 презентовали уже? Утром не было на сайте ораклов.
Аноним 17/03/20 Втр 19:26:44 1635313402
image.png (99Кб, 822x621)
822x621
>>1635297
Ты не там смотришь. Несомненно, васянских сайтов, публикующих гайды "как сделать то-то и то-то", навалом, но, во-первых, всегда есть официальные доки (от оракла по джаве, от пивотал - по спрингу, если не найдешь, пиши, парочку закину сюда) и гайды (то же самое, и от оракла и от авторов спринга), во-вторых, всегда есть специализированная литература, в которой 95% информации up-to-date.

Спринг
https://docs.spring.io/spring/docs/current/spring-framework-reference/index.html

Спринг Бут
https://docs.spring.io/spring-boot/docs/current/reference/

Из книжек выбери что по душе и ближе к текущей дате.
Аноним 17/03/20 Втр 19:32:07 1635318403
image.png (22Кб, 605x133)
605x133
>>1635313
Отдельно литератуда для сертификации, но выше OCP8 я пока ниче не сдавал.
У боярски и селикова овердохуя ошибок, эррата на 500+ ошибок, это примерно по одной ошибке на две страницы, невнимательная быдлокодерша, за что ей джава чампиона дали не понимаю.
Аноним 17/03/20 Втр 19:39:39 1635323404
>>1635259
отцы-основатели дали вам прекрасный декларативный dsl - sql. Нет, не хочу, хочу костыльную магию на основе НАЗВАНИЯ МЕТОДА (теперь ты не сможешь дать методу цивильное название)
Аноним 17/03/20 Втр 19:41:22 1635326405
>>1635283
отказ от стандарта JavaEE и переход на хипстерский спринг с революциями и переделыванием всего каждый год.
Аноним 17/03/20 Втр 19:43:08 1635328406
>>1635225
С ЕЕ всё норм, дебич, то что так приходится кастомизировать, это проблемы контракта с поставщиком.
Аноним 17/03/20 Втр 19:48:33 1635330407
>>1635323
> теперь ты не сможешь дать методу цивильное название
@Query("JPA-шный запрос")
Аноним 17/03/20 Втр 19:50:54 1635332408
>>1634792
А, то есть он сразу читает больше, чем надо, тогда все понятно.
Аноним 17/03/20 Втр 19:52:33 1635334409
>>1634802
Да я уже разобрался.
Ебань ненужная, как же хорошо, что придумали Condition и Lock.
Аноним 17/03/20 Втр 19:54:44 1635337410
>>1635299
Не надо блаженного шеймить.
Блаженны кроткие (πραεῖς), ибо они наследуют землю.
Аноним 17/03/20 Втр 19:56:03 1635338411
>>1635313
>официальные доки (от оракла по джаве
Да там сгенерированный джавадок и если повезет мизерный пример обычным текстом без скриншотов.
Аноним 17/03/20 Втр 19:58:06 1635340412
>>1635326
Каждые полгода нужно новую наркоманскую херню от спринга учить. Кого-то напоминает.
Аноним 17/03/20 Втр 19:59:16 1635341413
Блять, опять от выскребателя тред проветривать
Аноним 17/03/20 Втр 20:02:25 1635345414
Спринг говно, можно без него все делать.
Аноним 17/03/20 Втр 20:05:01 1635349415
На чем пишете вьюхи? JSP еще жив или лучше сразу изучать freemaker/thymeleaf/angular/vue?
Аноним 17/03/20 Втр 20:05:52 1635350416
image.png (90Кб, 996x876)
996x876
>>1635338
Неет, это ты доки на API Java SE смотришь. А есть еще оракловские гайды (The Java™ Tutorials).
Точка входа здесь, секция Language and Libraries/Java Tutorials.
https://docs.oracle.com/en/java/javase/13/
Аноним 17/03/20 Втр 20:06:33 1635351417
>>1635349
как там в 2010? Веб щас на ангуляре пишут
Аноним 17/03/20 Втр 20:07:34 1635353418
Дайте линк на кряк для IDEA 2019.1. С меня 2 бареля нефти.
Аноним 17/03/20 Втр 20:08:10 1635354419
>>1635351
как там в 2011? Веб щас на реакте пишут
Аноним 17/03/20 Втр 20:15:25 1635360420
>>1635345
Лично я даже сру со спрингом. Сначала просто поднимаю контекст толчка, а затем автовайрю какашки в унитаз. В конце делаю flush контекста.
Аноним 17/03/20 Втр 20:16:05 1635361421
А вы тоже на работе разворачиваете приложения, пишете документацию, обсуждаете дизайн новых фич и изредка пишете код?
Аноним 17/03/20 Втр 20:16:05 1635362422
>>1635354
а новые ангуляры каждые полгода для кого выходят?
Аноним 17/03/20 Втр 20:16:51 1635364423
>>1635361
вот говно. Надо чтобы пук делало среньк. Срок 2 часа
Аноним 17/03/20 Втр 20:19:33 1635367424
>>1635361
Да, митинги-шмитинги занимают 50% времени заебало
Аноним 17/03/20 Втр 20:20:50 1635369425
>>1635362
Новые перлы тоже часто выходят.
Аноним 17/03/20 Втр 20:23:32 1635374426
>>1635323
Одно другому не мешает.
Но когда ты в 10/100/1000 раз напишешь Select * from table, то ты начнёшь задумываться об автоматизации этого процесса.
Сложные запросы всё равно придётся писать на SQL, тут уж никуда не денешься.
Аноним 17/03/20 Втр 20:23:41 1635375427
>>1635353
На рутрекере вся инфа.
Аноним 17/03/20 Втр 20:24:07 1635376428
>>1635361
Мне повезло работать в месте, где понимают, что время разработчика стоит дорого
Аноним 17/03/20 Втр 20:27:36 1635381429
>>1635350
Тект мелкий и код никак не выделен в Tutorials. Могли бы поприятнее сделать, как в спринговских доках.
Аноним 17/03/20 Втр 20:31:50 1635385430
>>1631855
Удачи

25ещеневкатился
Аноним 17/03/20 Втр 20:37:09 1635390431
>>1635349
Лично мне из тройки самых популярных SPA-фреймворков больше всего приглянулся React, поэтому обычно юзаю связку Typescript + React +Mobx + Material UI.
Но вообще, если в проекте на фронте SPA, то ты его трогать скорее всего не будешь, а будешь тупо апишки делать. Я этот стек в основном в своих пет-проектах использую, ну и на работе, когда больше некому (компания небольшая, рук не всегда хватает) и/или когда не надо сильно запариваться над вёрсткой (ненавижу верстать).
Если у вас "традиционное" MVC-приложение, то используют в основном Thymeleaf, он вроде самый популярный сейчас.
Ну а если есть желание поковырять SPA, то
- Vue самый простой в освоении
- React самый популярный
- Angular самый сложный из трёх, подойдёт людям с Java-бэкграундом, потому что Typescript by default, знакомые концепции типа Dependency Injection и повсеместное использование декораторов (как аннотации, только круче), прям как в Спринге.
Ну и естественно для каждого нужно знать Javascript хотя базовом уровне. И иметь хоть какие-то познания в HTML / вёрстке.
Аноним 17/03/20 Втр 20:37:37 1635392432
>>1635354
У меня есть подозрения что реакт это оверхэд для моих запросов (чуть сложнее голого хтмл+аякс). Или он быстро осваивается на базовом уровне? Не попадались как то гайды спринг+реакт. В основном +ангуляр/вуи или шаблонизаторы.
Аноним 17/03/20 Втр 20:39:55 1635397433
>>1635390
Спасибо, гляну
>>Если у вас
У кого у "вас" то, я тут один, блять еще не вкатился
Аноним 17/03/20 Втр 20:45:18 1635402434
>>1635392
>Не попадались как то гайды спринг+реакт
А какая разница, на чём у тебя бэк? У тебя SPA с бэком тупо по апишкам общается, и без разницы, на чём они написаны.
Аноним 17/03/20 Втр 20:45:36 1635403435
>>1635313
По первой ссылке ебаный пиздец, тупо по 200 книжных страниц на одной хтмл-странице, ни закладок ни сделать, нихуя. Читать пиздец неудобно.

мимо
Аноним 17/03/20 Втр 20:48:34 1635408436
А ломбок оказывается не компилируется в джарник. Значит его безопасно юзать можно.
Аноним 17/03/20 Втр 20:50:33 1635410437
Аноним 17/03/20 Втр 20:57:01 1635414438
image.png (14Кб, 768x85)
768x85
>>1635392
>Не попадались как то гайды спринг+реакт
Просто "реакт" гугли, и просто "Spring Boot REST". Отдельно фронт отдельно бэк, мухи от котлет.

>>1635403
Закладки легко кладутся ставятся, для этого же придуман анкор (решоточка). И убедись что у тебя в ссылке не стоит "htmlsingle", это вообще для дока в одной html-странице, а то там разные варианты есть, кому как удобнее.
Аноним 17/03/20 Втр 20:58:45 1635415439
>>1635408
Хочу аналог ломбока, но в виде XML Типа такого:

<?xml version="1.0" encoding="UTF-8"?>
<lombok xmlns="https://projectlombok.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:lombok=https://projectlombok.org https://projectlombok.org /xsd/lombok-1.0.0.xsd">
<lombok:generate-getters-and-setters>
<lombok:configuration>
<lombok:class>MyAwesomeEntity</lombok:class>
</lombok:configuration>
<lombok:fields>
<lombok:field>
<lombok:field-type>int</lombok:field-type>
<lombok:field-name>id</lombok:field-name>
</lombok:field>
</lombok:fields>
</lombok:generate-getters-and-setters">
</lombok>
Аноним 17/03/20 Втр 21:08:48 1635421440
>>1635415
Больной ублюдок, ты что, на Java <5 сидишь? Какой нафиг XML?
Аноним 17/03/20 Втр 21:12:23 1635423441
>>1635421
Зато перекомпилировать не надо!
Аноним 17/03/20 Втр 21:13:00 1635424442
Аноним 17/03/20 Втр 21:15:20 1635428443
>>1635424
Скриптовый язык на основе XML - это было бы круто.
Аноним 17/03/20 Втр 21:20:09 1635432444
>>1635428
Ты сейчас изобретешь ant
Аноним 17/03/20 Втр 21:23:28 1635436445
>>1635432
ant - это bash с XML-based синтаксисом, а я хочу хотя бы уровня Lua или Perl.
Аноним 17/03/20 Втр 21:27:00 1635437446
Аноним 17/03/20 Втр 21:29:49 1635440447
>>1635437
Увы, там не XML(((

Скрипт для JVM лучше напишу на котлине
Аноним 17/03/20 Втр 21:30:39 1635441448
Аноним 17/03/20 Втр 21:32:23 1635442449
>>1635441
Ну или на груви, но его придётся сначала выучить. Вряд ли сложно.
Аноним 17/03/20 Втр 21:38:17 1635446450
>>1635349
Вам дали javafx в браузере, Open web start! Не хочу, хочу жрать говно! Что такое?
Аноним 17/03/20 Втр 21:41:03 1635448451
>>1635446
Апплеты тоже были охуенны, жаль их закопали.
Аноним 17/03/20 Втр 21:41:30 1635450452
Аноним 17/03/20 Втр 22:11:58 1635468453
>>1635397
Я тоже читаю, дядь.
мимо вкотик
Аноним 17/03/20 Втр 22:47:45 1635493454
>>1635415
Ну как бы никаких проблем нет, берешь https://github.com/cglib/cglib/wiki и ебашишь.
Я так в своем проекте генерировал DTO, ничего сложного.
Аноним 17/03/20 Втр 22:48:21 1635494455
Аноним 17/03/20 Втр 22:50:55 1635496456
>>1635297
Сколько работаю со связкой спринг/хибер -- ещё ни разу не сталкивался с тем, что нельзя загуглить и вкурить что-то за 20 минут.
Аноним 17/03/20 Втр 23:04:05 1635522457
Аноним 17/03/20 Втр 23:07:59 1635526458
>>1635450
Купи нормальный мак, нищук.
Аноним 17/03/20 Втр 23:16:21 1635537459
Есть спринг шелл без спринга?
Аноним 17/03/20 Втр 23:38:01 1635566460
R быстрее джавы или как?
Аноним 17/03/20 Втр 23:45:49 1635581461
Как правильно имплементировать сервис воркера?
Аноним 18/03/20 Срд 00:05:00 1635589462
Да.
Аноним 18/03/20 Срд 00:20:41 1635601463
Аноны, нужна помощь.

Уже скоро будет 2 года как я начал работать джавистом, ощущения, что за это время я накопил дохуя опыта и начал писать качественный код, появились, но, сука, меня беспокоит то, что я по сути нихуя не знаю. Банально даже то, когда нужно переопределять equals() и hashCode(). Проблемы с HashMap, именно с тем, как углубленно все это работает внутри. Про более экзотичные структуры данных и многопоточность, думаю, и говорить не стоит.

Как лечить подобную хуйню? Читать книжки, мб курсы кто посоветует хорошие?
Аноним 18/03/20 Срд 00:30:26 1635607464
image.png (47Кб, 220x229)
220x229
Аноним 18/03/20 Срд 00:33:17 1635611465
>>1635601
>>когда нужно переопределять equals() и hashCode()
>>как углубленно все это работает внутри
>>HashMap
>>углубленно
>>курсы кто посоветует хорошие?
на ютюбе погугли "джава для начинающих" или там Хорстмана почитай первый том. Ты б лучше про мониторы спросил или concurency collections, хотя это тоже входит в кор джава
Аноним 18/03/20 Срд 00:51:27 1635623466
Аноним 18/03/20 Срд 00:53:37 1635624467
Аноним 18/03/20 Срд 01:41:50 1635632468
Обещали же ждк 14 на день святого патрика.
Аноним 18/03/20 Срд 01:43:22 1635633469
>>1635632
Отменили из-за короновируса.
Аноним 18/03/20 Срд 01:54:56 1635637470
>>1635633
Вот бумеры, не могут сделать онлайн-презентацию новой версии, в которой без preview почти нихера нет.
Аноним 18/03/20 Срд 03:19:32 1635649471
java 14 переносится на следующий год(((
Аноним 18/03/20 Срд 03:29:38 1635652472
По сервлетам много знать надо? Хед фирста хватит или серьезнее что-нибудь почитать? Потом же все равно сразу спринг начну.
Аноним 18/03/20 Срд 03:35:11 1635653473
>>1635652
Хотя лучше сервлетс ин актион почитаю, ну в жопу эти вырвиглазные картиночки.
Аноним 18/03/20 Срд 03:41:28 1635655474
>>1635652
>>1635653
Ёр лангуаге ис квите магнифисент, май френд.
Аноним 18/03/20 Срд 05:11:02 1635662475
>>1635653
>>1635652
ебобо штоле? читать что-то толще доки по диспатчер сервлету в 2k21 это пиздец
Аноним 18/03/20 Срд 08:14:57 1635686476
>>1635649
Только на 8 жаву перешли и стримы освоили, а тут уже 14 жава
Аноним 18/03/20 Срд 08:51:39 1635695477
>>1635228
Кароч немного разобрался. Открыл тхт-файл на русском, и перекодировал предложенным ИДЕ-шкой способом (1251) потом все в консоли полетело. Исправляется, если менять с утф-8 на 1251 вручную в каждой программе.
Аноним 18/03/20 Срд 08:54:01 1635697478
>>1635299
Да я этим полгода занимаюсь, а не как вы с детства.
Аноним 18/03/20 Срд 08:57:24 1635700479
image.png (179Кб, 1280x1024)
1280x1024
Аноним 18/03/20 Срд 09:25:03 1635707480
>>1635649
пиздаболу в рот нассым?
Аноним 18/03/20 Срд 09:26:53 1635708481
image.png (167Кб, 1280x1024)
1280x1024
image.png (159Кб, 1280x1024)
1280x1024
Почему файл не находит?
Аноним 18/03/20 Срд 09:30:38 1635710482
>>1635708
потому что ищет в рабочей директории. она у тебя в корень проекта указывает, а файл лежит рядом с исходниками
Аноним 18/03/20 Срд 09:42:57 1635714483
Зачем вы ставите тёмные темы? Воннаби хацкеры?
Аноним 18/03/20 Срд 09:44:17 1635716484
image.png (173Кб, 1280x1024)
1280x1024
image.png (163Кб, 1280x1024)
1280x1024
>>1635710
А так правильная директория?
Аноним 18/03/20 Срд 09:45:50 1635717485
>>1635714
Тебе-то что? Ставь что хочешь.
Аноним 18/03/20 Срд 09:51:44 1635723486
Аноним 18/03/20 Срд 10:00:55 1635726487
>>1635716
а теперь у тебя запятая лишняя
Аноним 18/03/20 Срд 10:11:57 1635729488
image.png (62Кб, 200x138)
200x138
>>1635726
А выводимые в консоль цифры - это байтовые коды символов?
Аноним 18/03/20 Срд 10:17:20 1635731489
image.png (164Кб, 1280x1024)
1280x1024
Метод read() возвращает значения int штоле?
Аноним 18/03/20 Срд 10:23:17 1635738490
image.png (8Кб, 474x157)
474x157
Аноним 18/03/20 Срд 10:23:19 1635739491
>>1635729
есть два стула (может больше):
System.out.print((char) i);
System.out.print(Character.toChars(i));

а лучше для текста используй FileReader
Аноним 18/03/20 Срд 10:32:47 1635746492
Аноним 18/03/20 Срд 10:37:14 1635748493
>>1635746
вспомнил, еще есть Scanner, которому можешь отдать свой FileInputStream
Аноним 18/03/20 Срд 10:47:38 1635751494
image.png (27Кб, 516x496)
516x496
>>1635748
Не буду забегать вперед.
Аноним 18/03/20 Срд 11:49:40 1635805495
>>1635716
Почему ты не можешь написать
while((int i = f1.read()) != -1) { sout((char) i); }
Аноним 18/03/20 Срд 12:13:42 1635832496