Двач.hk не отвечает.
Вы видите копию треда, сохраненную 16 ноября 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png221 Кб, 850x850
Java Thread #73 /java/ 1265027 В конец треда | Веб
Прошлый - >>1244840 (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 1265034
>>65027 (OP)
Есть массив [A, B, C, R]. Нужно в цикле for удалить из строки все эти символы, представленные в массиве. Как это решить?
3 1265044
>>65034
Берешь и удаляешь. Ты хоть пробовал это делать?
4 1265054
>>65034
Загоняешь символы из массива в сет. Перебираешь все символы из строки и сверяешь с теми, что лежат в сете методом exists. Если такого в сете нет, тогда загоняешь символ в какую-нибудь коллекцию (список). В конце создаешь строку из коллекции.
6 1265065
>>65061
Ну-ка кто тут шарит в джаве 2018. Поясните за слог в этом коде, все красиво написано?
мимо учу жабу
7 1265067
>>65065
Это код из времен динозавров, только continue к метке внещнего цикла не хватает. Можно написать короче и красивше. А так с ним все ок.
8 1265069
>>65061
for (char ch : array) {
str = str.replaceAll(String.valueOf(ch),"");
}

да и вообще кажется ему надо в одном цикле
зачем ты final сунул в цикл???
9 1265070
>>65069
Красава, наплодил мусорных аллокаций и рад, ты же понимаешь что на каждый ебаный replaceAll ты создаешь новый регекс, котоырй компилируется, потом создается новая строка пиздец.
Чем тебе мешает final? Манечка у меня такая везде final пихать.
10 1265084
>>65070
return str.replaceAll(String.format("[%s]",String.copyValueOf(array)),"");

давай-ка на пенсию ,дедуль
11 1265166
чуваки, что я не так делаю? Хочу чтобы метод возвращал переменную str объявленную в блоке if, но идея ругается что переменная уже определена. В противном случае Cannot resolve symbol str.
12 1265171
>>65166
Ты её уже объявил на две строки выше, сука.
13 1265176
>>65171
ты про ту, которая в теле блока if? вопрос как раз в том, как ее передать за пределы блока, чтобы метод возвращал стринговое значение
14 1265177
>>65176
Убери слово String в строке с ошибкой.
15 1265178
>>65166
Видимость блоковых переменных - блок. Ты из JS что ли пришёл? Обычно присвается дефолтное значение (пустая строка, null). Затем в зависимости от условий блоки меняют его. Можешь return в блоке писать также, обычно это для валидации используется.
16 1265190
>>65177
>>65178

Благодарю!
17 1265222
>>65061
Вангую что ты ебанный байтоеб, который за пол байта убить готов. Маня, ты бы еще шоты заюзал. Код нечитаемое и некрасивое говно.
18 1265228
>>65222

>Рряя нечитаемое


>ррряяя некрасиво


Ну ты загляни в ApacheCommons, все то же самое.
А от short'а выигрыша не будет, я думаю ты и сам знаешь почему.
19 1265235
>>65228
Да знаю, один хуй 4 байта.
20 1265250
Короч байтоебский вариант форева (шутка).
21 1265263
>>65250
Не подскажешь, где взять в иде бенчмаркс аннотацию?
22 1265267
>>65263
Нужно воспользоваться JMH http://openjdk.java.net/projects/code-tools/jmh/.
Screen Shot 2018-09-17 at 12.21.26 AM.png240 Кб, 1712x360
23 1265288
Если тестить разные символы на удаление/строки тоже печально получается.
widedetailpicture.jpg365 Кб, 1240x700
24 1265328
Привет, друзья. Изучаю джаву некоторое время. Гуглил тут годную IDEшку. Многие сходятся на IDEA. Сам пока что пробовал все известные, кроме нее (Eclipse, NetBeans, STS). Кстати, должен заметить, что NetBeans пока мне очень хорошо заходит. Делитесь своими наблюдениями. Что пробовали и на чем остановились? В ближайшем времени накачу IDEA, вот только думаю, какую бы из двух версий поставить? Всем добра
25 1265355
>>65328
Одна платная с разнообразными фишечками для тырпрайза, а другая бесплатная.
Если начинающий, хватит бесплатной.

Идеей пользуются все сейчас в снг. В пиндосии почему-то предпочитают эклипс.
26 1265454
аноны, не стукайте, я правильно с шарпа на джаву перенес это говно?
image.png27 Кб, 989x285
27 1265456
>>65454
быстрофикс
28 1265479
Нужна помощь, Джава-господа. Выпустился из "шараги", как известно ни в Вузах ни в Техникумах - актуальных знаний нет. Я в основном ориентировался на Шарп, но был дебилом и не смотрел, что вакансий в своем городе на него очень мало, да и вряд ли бы чего добился бы - знания 2003 год, винформы и десктоп, который нахуй никому не нужен.

Проходил практику во время обучения, которая занималась веб-разработкой. На маленькую группу (3 человека) забили хуй, в итоге знаний кукиш. Старался время зря не терять, подучил Джаву почти что на уровне своего любимого шарпа. Что-то да выхватил из конторки где практиковался.

И вот ищу работу, проходил недавно собеседование дали тестовое задание связанное со спрингом, рестом, джисыном, jdbc и прочее. Сказали реализовать вот так и так, всякие апи и прочее. А я вообще мало что в этом понимаю. Я еще более-менее понял этот model, DAO, repository, как БД подключить, скл запросы и прочее, но мне совершенно не понятно как это все перенести на веб. Все эти рест-контроллеры и прочая мишура непонятна. Нужно сделать вебформу, все это связать, сделать красивый интерфейс. Если внутри программы я более менее понял как и что, могу там через консольку вывести и прочее, то как это сделать чтоб в браузере страницу открыл, тыкнул оно все пошло — хз.

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

С горя думаю уйти в 1С, получить какой-то ебучий сертификат и батрачить эникейщиком либо в ТП уйти. Пиздец какой-то, я отчаиваюсь, до сдачи тестового задания три дня осталось, а спросить вообще не у кого, у меня из группы только два челика по специальности пошло, и то — 1С.

Прошу прощения за кучу текста и сумбурные изъяснения...
28 1265479
Нужна помощь, Джава-господа. Выпустился из "шараги", как известно ни в Вузах ни в Техникумах - актуальных знаний нет. Я в основном ориентировался на Шарп, но был дебилом и не смотрел, что вакансий в своем городе на него очень мало, да и вряд ли бы чего добился бы - знания 2003 год, винформы и десктоп, который нахуй никому не нужен.

Проходил практику во время обучения, которая занималась веб-разработкой. На маленькую группу (3 человека) забили хуй, в итоге знаний кукиш. Старался время зря не терять, подучил Джаву почти что на уровне своего любимого шарпа. Что-то да выхватил из конторки где практиковался.

И вот ищу работу, проходил недавно собеседование дали тестовое задание связанное со спрингом, рестом, джисыном, jdbc и прочее. Сказали реализовать вот так и так, всякие апи и прочее. А я вообще мало что в этом понимаю. Я еще более-менее понял этот model, DAO, repository, как БД подключить, скл запросы и прочее, но мне совершенно не понятно как это все перенести на веб. Все эти рест-контроллеры и прочая мишура непонятна. Нужно сделать вебформу, все это связать, сделать красивый интерфейс. Если внутри программы я более менее понял как и что, могу там через консольку вывести и прочее, то как это сделать чтоб в браузере страницу открыл, тыкнул оно все пошло — хз.

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

С горя думаю уйти в 1С, получить какой-то ебучий сертификат и батрачить эникейщиком либо в ТП уйти. Пиздец какой-то, я отчаиваюсь, до сдачи тестового задания три дня осталось, а спросить вообще не у кого, у меня из группы только два челика по специальности пошло, и то — 1С.

Прошу прощения за кучу текста и сумбурные изъяснения...
Screen Shot 2018-09-17 at 1.13.07 PM.png195 Кб, 1838x740
29 1265494
>>65456
Не совсем, зачем тебе try если кидаешь эксепшн, тогда правда закрыть нужно ридер.
Ну и disconnect вызвать надо.
30 1265513
>>65479
Спринг (бут) сервер "публикует" API через HTTP.
Клиент (браузер) к этому API обращается через JavaScript.

Т.е. тебе нужно, чтобы твоё приложение что-то делало при получении API-запросов через HTTP - GET, POST, PUT, DELETE. Можно обойтись GET (получение данных) и POST (запись).

REST-контроллер и обрабатывает эти запросы, по ходу дела вызывая методы сервисов доступа к данным, и отдавая ответы.

Сам доступ через HTTP (веб) Спринг делает за тебя, на основе аннотаций.

Курсы покупать не надо.
Надо сначала делать простые примеры с сайта спринга и из книжек.

За три дня ты ничего не сделаешь.
Если нет денег - иди хоть в 1С, хоть куда.
В свободное время - изучай эту тему, если интересно, и хочется чего-то большего.

Кстати, в 1С тоже есть веб-сервисы и рест-контроллеры. И идея там примерно та же, что и в Спринге, в общих чертах. Оно везде примерно одинаково.
31 1265518
>>65494

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



Ну да.
А чтобы его гарантированно закрыть - нужен try-finally.
В данном случае у него try с ресурсом, что ещё проще.

мимо
32 1265522
>>65513
Здравствуй!
Большое спасибо за небольшое пояснение.

Посоветуй пожалуйста литературу.
И, если не трудно (можешь конечно не отвечать) овтеть на пару вопросов, пожалуйста:

1) Нужно ли под каждую "модель" данных свой REST контроллер писать?
2) Тут, возможно пробел в теории по Java, но всё же вопрос - для чего пишется Interface прослойка в сервисах в которой объявляются пустые методы? Затем в этом же пакете пишется класс который, как я понял, расширяется используя тот самый интерфейс (который я воспринимаю как пустышку).
3) Смысл DAO интерфейса, если он идентичен Сервисному? Делал всё по ютуб примеру...
4) Как сделать "оболочку" в браузере всего этого? Я смутно припоминаю что создавались *.html'ки с .JS'ом которые как раз и связывали REST-контроллеры со всем остальным. Там, вроде бы ещё Thymeleaf замешан был. Точно помню, что присутствовал пакет templates в разделе ресурсы со всем этим содержимым, а как дальше шло дело не помню/не знаю.
5) Правильно ли я подключаю БД, используя spring-data-jdbc, через указание путей и прочего в application.properties файле?

Прошу прощения, если вопросы звучат некорректно, я сейчас по 12-15 часов безвылазно за компьютером сижу, у меня уже просто каша в голове.

Прилагаю скрины Сервиса, ДАО и их "реализаций".
ServiceImplementation.PNG34 Кб, 911x539
33 1265523
>>65522
С одним скрином ошибся, добавляю...
34 1265534
>>65494
Огромное С п а с и б и щ е за такой подробный ответ!
Трай с ресурсами я использовал чтобы коннекшн сам закрылся, разве это не так работает?
35 1265537
Пишется ли ещё на Джаве прикладной софт?
36 1265538
>>65534
Трай с ресурсами закроет инпут стрим, но дисконнект всеравно надо вызвать.
37 1265539
39 1265542
>>65537
Нет, только системный.
В ядро, в основном, контрибутят.
40 1265546
>>65522
1) Не обязательно. Зависит от приложения.

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

3) Это в данном частном случае так.
А вообще, сервис - это бизнес-логика, DAO - низкоуровневый доступ к данным.

4) Это в JS тред (если на клиенте, в браузере).
Если - то лучше всего делать на Vue.js (на React сложнее и дольше). Вообще, фронтенд - это отдельная тема, нормально есть разделение труда фронтенд/бэкенд.

Если на сервере (если это не запрещено условиями) - можно использовать Spring MVC.
Это в простых случаях лучше и проще, чем ебля с JS.
Собственно, Thymeleaf - это оттуда.
Можно даже и просто JSP.

5) Не знаю, я его не использую. Ничего плохого в этом не вижу.

Литература: allitebooks.com, scanlibs.com
Поиск по слову Spring, Spring Boot
Смотри рейтинг и отзывы по книгам на Amazon (искать по ISBN).
На scanlibs.com уже есть ссылка Reviews для каждой книги.
41 1265551
>>65546
Естественно, в случае Spring MVC рест-контроллеры не нужны, т.к. браузер получает уже готовый HTML. Т.е. нужны просто контроллеры.

Т.е. контроллер в этом случае не передаёт "сырые" данные клиенту. Данные из него используются тут же, на сервере, и сервер потом отдаёт клиенту уже готовую страницу.

Можно сделать и то и другое одновременно.
Например, для браузера - MVC, для мобильных приложений - REST.
42 1265611
>>65546
>>65551

Огромное спасибо. Буду разбираться.
43 1265656
>>65538
и правда. он же закрывает ту штуку, которую ты объявляешь в скобках. как тогда лучше гарантированно закрыть коннекшн?
44 1265711
1) как красивее/короче/понятнее сделать при парсинге xml
String title = el.getElementsByTagName("title").item(0).getTextContent();
при условии, что я точно знаю, что в el есть 1 единственный элемент с тегом "title"?

2) как преобразовать строку "Mon, 17 Sep 2018 20:12:38 +0300" в объект класса Date? пытаюсь:
DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
Date date = format.parse(dateString);
но нихуя не получается, выдает ParseException: Unparseable date
45 1265714
>>65656
Добавь ещё блок finally - он будет вызван после закрытия ресурсов в скобках в try.
И в нём уже вызывай disconnect().

https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

Note: A try-with-resources statement can have catch and finally blocks just like an ordinary try statement. In a try-with-resources statement, any catch or finally block is run after the resources declared have been closed.
sage 46 1265715
Нахуяж ты руками хмл парсиш
47 1265721
>>65715
как препод скозал так и делою.
48 1265725
>>65711
так, со второй хуйне понел.
49 1265764
такс нужна ваша хелпа
пытаюсь тут понять как java работает с JS и почему в вакансиях иногда требуют сам я только со Spring MVC дело имел
сейчас попытаюсь проанализировать на примере бланка для регистрации
вобщем поправляйте если что не так
1)у нас есть некоторое View JS+html+css я захожу в броузер вбиваю адрес и отправляю запрос после чего джава сервлет выдает мне форму
2) я ее заполняю жмакаю на кнопку и летит уже json в реквесте который джавка принимает и парсит json и в БД
3) потом View должна обновиться допустим написать мое имя
для этого джавка должна выкинуть мне новую форму с переданными туда параметрами и вот как это делается хз это ж у нас не jsp ???
вот собсна и вопрос как это делается просто через REST ?
50 1265800
>>65764

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



Нет.
Через REST ты получишь (как правило) JSON - просто данные в формате джаваскрипт. И затем уже джаваскрипт в странице должен тебе всё нарисовать.

Для простоты - предположи, что исходная страница у тебя вообще статическая, и джава сервер в её создании просто не участвует (часто так и есть).

Так что пиздуй в жс тред - учить Vue или React, лол.
Можешь ещё погуглить using spring with react.js.

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

Но, двачерам-прогрессистам это не по нраву, они считают, что jQuery не нужно.

Можно также передавать с сервера уже нарисованные куски HTML (просто как строки), и заменять ими исходные куски страницы (см. выше про jQuery). Так делают в некоторых случаях.
51 1265804
>>65800
а что делать если я хочу отобразить некоторые данные из БД сервера на view ???
52 1265813
>>65804
То же самое.
Получаешь массив данных и рисуешь таблицу в HTML с помощью JavaScript, тем способом, каким умеешь.
Почитай про Vue.js, например - рендеринг списков.

Есть и специализированные решения для этого:
https://datatables.net
В мануале см. Ajax.
53 1265822
Тут кто-то кроме войтивайти остался?

Давайте посремся за rx vs coroutines что ли. Что сами используете, на что мать посадите, функциональщина в глаз или императивщина в жопу раз?
54 1265826
>>65822
Они для немного разных вещей, с помошью rx можно впринципе сделать все, но это иногда оверкил. С помошью корутин тоже как бы все можно сделать, но некоторые вещи которые на rx хуяк-хуяк уже будет сложней сделать, можно со временем это изменится но пока нет, всетаки каналы не полная замена для rx.

Не ищи серебрянных пуль хули.
55 1265835
>>65826

> Они для немного разных вещей


Ну здраститя. Для асинхронности и параллельности. Ну и чтобы функционально все было в случае с rx (хотя можно и просто для функциональных чейнов юзать).

Везде про корутины говорится, что не нужен специальный синтаксис и типа пишите в обычном коде, но ведь абсолютно нихуя не мешает через rx стартануть тред на нужном тредпуле или шедулере. А suspendable computations в итоге упирается в блокирующую не suspendable функцию и корутина заблокирована и нихуя никаких отличий в лучшую сторону от rx, где вместо старта треда и дохуя корутин просто стартует один тред.

rx хоть нормально в нонблокинг умеет и нормально в параллельщину (хотя с этим скорее к reactor).
56 1265845
>>65542
Извиняюсь, имелось в виду, я в основном видел, чтобы сервера писали на Джаве ил энтерпрайзоту. Кроме энтерпрайзоты и майнкампфа что-нибудь осталось?
57 1265859
>>65845
Ну, десктопные программы для конечных пользователей не пишут, практически (не считая корпоративного энтерпрайза).

Однако, IDE пишут.

Есть ещё какая-то популярная утилита для работы с картинками, забыл название.

Ну, и Андроид.
58 1265869
>>65822
Я вообще Акку юзаю. Она кластер зуется, хотя отсутсвие backpressure иногда доставляет неудобства.
59 1265872
>>65835
Если мне по жиденкому сходить с запросом мне не нужен rx, о если у меня цирк с конями где данные рассылаются-мержаться из разных источников по туевой хуче подписчиков с кучей наворотов мне корутины тоже не сильно помогут. Под этим я и подразумеваю разные вещи. Я вообще на ведре работаю потому вменяемо скзать что тебе там на беке будет лучше не могу.
sage 60 1265952
>>65800

>jQuery


Сука, у меня в опенспейсе за такое убивают нахуй! Мразь!
61 1265979
>>65952
Объясни нюфане, что плохого в JQuery?
62 1265980
>>65979
Немодно в этом сезоне у смузи-хипстеров программистов реакта
1.PNG46 Кб, 645x977
63 1265982
>>65027 (OP)
Сап, программач. Помоги!
Как адаптировать этот алгоритм под List<String>? (в котором будут содержаться числа)
sage 64 1265987
>>65982

>под List<String>


>в котором будут содержаться числа


Чего, блядь?
65 1265989
>>65987
ой, я имел ввиду, что в файле будут лежать числа, а мы будем их считывать как String
66 1265992
Поясните на сколько сложно создавать вьюпорты и отображать в них 2д и 3д объекты на жабе.
67 1266046
>>65992
Нинужно, для этого есть сосишка.
>>65982
list.stream().mapToInt(Integer::parseInt).toArray()
Дальше передаешь свой массив в метод.
ЗОЧЕМ БОЛЬШИЕ БУКВЫ АААА
sage 68 1266062
>>66046
Ваша джава способна хоть на что-то, кроме крудов и энтерпрайзного говна?)
69 1266064
>>66062
Твоя сим-карта на чем работает?
sage 70 1266080
>>66064
Так даже под ведро щас пишут на Kotlin/React Native.
71 1266115
>>66080
Я тебе не про телефон. А про сим-карту.
72 1266122
>>66062
Почему ты считаешь, что джава не может в хороший этерпрайз?
73 1266133
>>65982
В стажировку вкатываешься сучёнок?
Мимо хр цфт
74 1266143
>>65982
Тебе сколько дней осталось?
И сколько блеадь давалось?
Что ты всё это время делал?
Хуи дрочил пидор?
75 1266204
Есть тут кто-нибудь, работавший в тамтэк? Что вообще скажете про них, сложно ли попасть, как там работается?
76 1266296
>>65869
Какие профиты у акки? Ни разу не юзал.
>>65872
Так ведь и по жиденькому сходить с rx проще жи. Еще и функциональненько все.
77 1266366
>>65027 (OP)
Какой язык ООП выбрать, Java или C#, чтобы не остаться за бортом через 3 года?
Пояснить можете + и -?
78 1266401
После открытия кода ява подыхает или как? там же уволили персонал
79 1266718
Вкатываюсь в бек. Помогите, пожалуйста, нужно ли знать что-то из перечисленного мною ниже гавна : awt, swing, xml, fx, solid, jsp, webxml, jpa, bean validation?
Спасибо
80 1266726
>>65027 (OP)
Посоветуйте легковесный фреймворк для внедрения зависимостей. Пробовал разобраться в dagger 2.17 по статье с хабра, но необходимый в примере класс ObjectGraph не нашелся, и я бросил. Ковыряю дальше спринг.
81 1266746
>>66726

>Ковыряю дальше спринг.


Всё правильно делаешь.

Спринг (бут) достаточно легковесный.
И, к тому же, широко используется.
Годится и для бека и для десктопа.

Гуглопарашу не рекомендую.
82 1266750
Вкатывальщикам :

Learning Java Through Games:
https://scanlibs.com/learning-java-through-games/

More Do-It-Yourself Java Games: An Introduction to Java Graphics and Event-Driven Programming (Volume 2), 2nd Edition:
https://scanlibs.com/more-do-yourself-java-games-vol-2/

Вторая - про Swing GUI.
image.png78 Кб, 250x238
83 1266754
>>66750

>игры на свинге


Рили?
image.png163 Кб, 742x852
84 1266812
>>66754
о ебать, год назад так писал, до сих пор джарник на компе лежит.
85 1266822
Помогите.
Ломаю голову, что за фигня...
Установил эклипс. Скачал библиотеку telegrambots-4.1-jar-with-dependencies.jar
Создал новый проект TelegramBot
Через свойства добавил ее в проект, теперь в Referenced libraries есть этот jar файл.
Пишу import org.telegram.telegrambots.api.methods.send.SendMessage;
Получаю The import org cannot be resolved
Нажимал десять раз уже clean project, перезапускал эклисп, обновлял, пробовал создавать папку libs внутри проекта и копировать библиотеку туда - но итог один, не хочет импортировать.
Подскажите, что я не так делаю то? Гуглил гуглил, нихрена не нашел.
86 1266844
>>66822
кинь скрин структуры проекта
88 1266848
>>66844
По-новой все создал, руками тыкал-тыкал и получилось.
Теперь ебусь с ошибкой Error: Could not find or load main class TelegramBot
Caused by: java.lang.NoClassDefFoundError: org/telegram/telegrambots/bots/TelegramLongPollingBot
89 1266865
>>66726
если религия не позволяет использовать спринг - увязывай зависимости ручками - прочувствуешь, как работает DI. В спринге и любом другом фреймворке много свистелок-перделок, которые отвлекут и запутают тебя, если ты Novichok.
90 1266872
>>66746
в принципе, да. Спринг норм для di. Но спринг бут не надо советовать, имхо. Это уже не про di, а разбухшая связка кучи фреймворков с магией на стероидах. Котора по стечению обстоятельств подходит для создания микросервисов. Если человеку нужен просто di, то это оверкилл.
91 1266894
>>66822

>Установил эклипс.


Проблема, похоже, в этом.
92 1266938
>>65355
Всё кроме идеи говно /thread
93 1266987
>>66822
Воспользуйся мавеном, так будет лучше.
94 1267038
>>66754
А какие еще варианты? JavaFX?
95 1267041
>>66987

Чтобы мавен работал обязательно создавать мавен-проект? Или можно pom.xml добавить и все заработает?
96 1267042
98 1267096
>>67041
Лучше создай мавен проект что бы тупорылый эклипс не запорол.
99 1267103
>>65027 (OP)
Посоветуйте книгу о создании хорошей архитектуры приложений, размером до 200 страниц, чтобы там была самая суть, необходимая для работы на первое время в типичной шараге.
100 1267126
Экклель советует писать в блокноте и компилировать в консольке. Кто так делал, в чем профит?
image.png264 Кб, 710x577
101 1267131
>>66812
>>67038
>>67059
Вы рили считаете что в такие игры будут играть? Что они наберут популярность и смогут принести вам огромную прибыль? Как бэ если хобби то окей, только вот я не видел у себя вакансий на джава-игродела, покажите такие.
102 1267134
>>67131
Он для обучения джаве собирается игры писать. С AWT все просто: графика, звук, управление есть, а для начала ничего больше и не нужно.
103 1267138
>>67103
Архитектура и типичная шарага это понятия несовместимые. Так что просто забей, понимание нормальной архитектуры принесет тебе только боль. Да и без опыта ты все-равно будешь латать дыры и поддерживать кусок легаси-говна.
104 1267148
>>67138

>Да и без опыта ты все-равно будешь латать дыры и поддерживать кусок легаси-говна.


Я работаю и хочу развиваться, поэтому и прошу не слишком толстую книгу об архитектуре. И я не латаю дыры, а разрабатываю приложения, которые не нравятся мне архитектурно.
105 1267161
>>67148
Clean Code, Clean Coder для начала. Если сможешь понять о чем Дядюшка Боб говорит, тогда можно продлжать разговор.
106 1267198
Ребят почитал пару книг по Джаве и прошел курс на Юдеми. Как набраться практике в самом языке. То есть в Джава Кор? Мне уже советовали тут изучать Спринг дальше и я этим советом вне всяких сомнений воспользуюсь. Но хочется паралельно укрепить свои знания в Core. Codewars помогут в этом деле?
107 1267202
>>67198

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


Вся суть джавапетухов.
108 1267206
>>67202
Причем тут проект идиотина? Я спрашивал о другом.
109 1267220
>>67161

>Clean Code, Clean Coder для начала


Мне надо не для начала. "Чистый код" и "Экстремальное программирование" я уже читал.
110 1267306
>>65027 (OP)
такс,
Spring+Angular или Spring+React
или Vue?? зачем их столько?
111 1267396
>>66296
Она немного для других целей чем корутины и RxJava. Т.е. если последние это асинхронное выполнерие одного запроса, шаг за шагом.
То Акка это фигачим большое количество сообщений в систему и оно как-то там внутри процессится. Акка более низкоуровневая штука, ты сам думаешь над роутингом сообщений, над размерами пулов, можешь распределять нагрузку по узлам, гибко обрабатывать ошибки и падения акторов. Но это все требует усилий со стороны разработчика.
112 1267399
Програмач, поясни мне за Spring. Раньше прогал только на чистой Java. А на всех вакансиях пишут ЗНАНИЕ SPRING. Но спринг огромен. С чего начать его изучать?
113 1267403
Какой IDE для Джавы наиболее похож на Visual Studio? Сейчас сижу на NetBeans, такое говнище, и желания перебирать все подряд нет.
114 1267405
>>67403
Лучшая IDE для джавы (и не только) - IDEA.
Студия и рядом не стояла.

Чтобы было понятно - это та же контора, которая делает ReSharper, без которого студия и на хуй не нужна.
115 1267408
>>67399
С Dependency Injection контейнера.
Это и есть, собственно, Spring.
Остальное - навертели в процессе.

Рекомендую книжку Spring In Aciton, 4-е издание.
http://www.allitebooks.com/spring-in-action-4th-edition/

Оно лучше 5-го в том смысле, что там подробно описана именно суть спринга, а не новые модны фишки.
Впрочем, 5-е ещё не вышло, оно пока в MEAP.

Ещё есть русский перевод 3-го издания, но это только если с английским проблемы, ибо оно совсем старое.

И да - Spring - это чистая Java. Чище некуда.
116 1267416
>>67306
Потому что Js конская параша. Каждый пишет свой фреймворк под одни и те же цели, но со своими костылями.
117 1267427
>>65869
в акка стримз есть бэкпреша. Правда, я не юзал ещё.
118 1267428
>>66296
Если ты всё делаешь канонiчно (немутабельные сообщения и пр.), получаешь, к примеру, кластеризацию практически из коробки. Можно нарушать их базовые паттерны, но с умом. Если кластер не предвидится, не думаю, что стоит лупить из пушки по воробьям.
119 1267430
>>66366
в пределах трёх лет будет жить и джавка, и сишарп - однозначно. Не знаю, как щас, но лет 8 назад экосистема джавы (фреймоворки, тулы...) была побогаче, при том, что в сишарп сам язык был слегка продвинутей. Последнее время мне кажется, что важнее экосистема и коммьюнити, чем красота языка. Но это холивор.
120 1267465
Давайте пофантазируем на тему новых фич в Джаве. Что бы вы хотели увидеть?
Лично я бы хотел:
1. Template literals как в JS. var string = `This is a property of some object: ${someObject.someProperty}`.
2. Возможность использовать эмоджи в названиях классов, методов и переменныъ.
121 1267477
>>67465
Материализованные генерики, паттерн-мэтчинг и вызываемые объекты.
122 1267487
>>67465
Жека Козлов, прекрати советовать ерунду.
123 1267515
>>67465

>1.


Котлин.
IMG20180921132226.jpg41 Кб, 549x268
124 1267552
>>67487
Представьте, как круто и прикольно было бы!
125 1267553
>>67465
1) Достаточно вменяемое требование, главное что бы не то уродтсво как в свифте ("Xyi: \(pizda)")
2) Нахуйя блять, рак сука

>>67477
Что есть вызываемые объекты?
127 1267559
>>67427
Akka Streams получается та же RxJava, они даже интерфейсы реализуют.

>>67465
value types
128 1267566
>>67558
БЛЯТЬ, сука стрелочка, какая в пизду стрелочка сука, я поравался.
129 1267604
Сап, грустные жабы. Есть какой-то доскональный гайд и пояснение о JVM? А то я в код вообще не втыкаю, сложна, сложнааа.
130 1267608
>>67604

>пояснение JVM


Тебе кишки виртуальной машины или что? Непонятный вопрос.
131 1267610
>>67608
Да, кишки виртуальной машины.
132 1267634
>>67610
Попробуй тут http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html

Но вообще самые-самые кишки это сорцы openhdk
133 1267643
>>67634
Сурсы можно найти где угодно и на каком угодно языке. Я хочу гайд по тому как она написана и как работает.
134 1267645
>>67643
Тогда тебе та ссылка что я скинул + спека: https://docs.oracle.com/javase/specs/jvms/se10/html/index.html
sage 135 1267708
>>67645
Если тебе нечего сказать по делу, то лучше просто промолчать и не позориться. Ты выставляешь себя идиотом)
136 1267738
>>65027 (OP)
Это нормальная ситуация на проекте, когда тимлид заставляет всю команду прочесть спеки по Java и JVM, а затем устраивает экзамен, и всех, кто не смог ответить на его вопросы лишаются премии и в последствии попадают в список на увольнение?
137 1267749
>>67738
Нет, это ситуация сгорающей фирмы. Ищи новую работу пока что, на этой либо вылетишь, либо скоро сама закроется.
138 1267761
>>67749
Хотя нет, это я слишком скоро. Возможно тимлид просто дебил.
139 1267807
>>67645
Спасибо за помощь.
140 1267894
>>67738
Лол, чем занимаетесь? Я понимаю такое может быть нужно если разрабатывать свою кастомную версию жвм, или какая-то очень еба-нагруженная ситема, но нахуя это обычным макакам - вопрос.
Скорее всего тимлид поехал кукухой, либо ему дали разнорядку ужать штат.
141 1268133
>>67894
Ололо хайлоад проект где люди не понимают зачем нужен постраничный доступ к данным и делают findAll, а затем выплевывают все данные из базы на клиентскую сторону.
142 1268137
>>67198
Лично я всегда котирую Коудворс. Но тебе конкретно нужен Hackerrank. Там мало задачек но все по теме. Пройди все задачки на нем и начинай изучать Спринг, если прошел курсы и читал книги до этого.
143 1268170
>>68133
Причем тут работа с jpa к спеке?
144 1268190
>>68170
Хуй знает. Это у тимлида нужно спросить.
145 1268212
Чому ошибка?

nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.lang.String com.locoface.central.dao.UsersRepository.findTokenByCredentials(java.lang.String,java.lang.String)

Метод:

@Query(
"SELECT u.token FROM users u WHERE u.username = :uname AND u.password = :upass"
)
String findTokenByCredentials(
@Param("uname") String username,
@Param("upass") String password);
Screen Shot 2018-09-22 at 12.22.37.png99 Кб, 854x504
146 1268213
>>68212
Вот энтити
147 1268224
>>68213
>>68212
Все, разобрался, всем спасибо.
148 1268249
>>68213
А что это у тебя Gender enum, а? Сделал бы boolean сэкономил бы память, епта.
The+official+list+of+all+genders31ba406409383.jpg248 Кб, 1200x1463
149 1268256
>>68249
Пикрил же
sage 150 1268262
>>68212

>uname


>upass


Бля, так трудно полностью слово написать? Сука аж ТРИСЁТ
Screenshot2018-04-16-13-48-55-1.png164 Кб, 585x480
151 1268308
>>68256

> Mayonnaise

Spring Security возвращает 401 при попытке логина 152 1268344
Пытаюсь получить токен с клиента на Реакте, но вместо токена получаю ошибку 401 и следующий ответ:
{"timestamp":"2018-09-22T14:23:05.743+0000","status":401,"error":"Unauthorized","message":"Unauthorized","path":"/oauth/token"}.
В логах так же есть такое:
2018-09-22 20:23:05.735 DEBUG 8648 --- [nio-8080-exec-5] o.s.b.a.audit.listener.AuditListener : AuditEvent [timestamp=2018-09-22T14:23:05.735Z, principal=anonymousUser, type=AUTHORIZATION_FAILURE, data={details=org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null, type=org.springframework.security.access.AccessDeniedException, message=Access is denied}]

Классы конфигурации:
https://pastebin.com/WDe20TZa

Код с клиента:
https://pastebin.com/j3rkdG9e

Когда получаю токен с помощью Postman, всё работает нормально. Что я делаю не так?
153 1268356
>>67131

>джава-игродела


Мобилки же. А юнити-псам хуй в жопу и перо под ребро.
154 1268411
Как расти дальше когда ты уже тех лид. Раньше сидел спокойно кодил себе, пробовал какие то интересные штуки в проект тащить, а теперь ни на что времени не хватает, постоянно заёбывают с вопросами, митингами и прочей хуйней, только и сидишь отвечаешь на них и ревью делаешь.
155 1268418
>>68411
define расти
156 1268440
>>68344
Проблема была в том, что я неправильно записывал данные в тело запроса. Данные надо было передавать в виде строки типа username=username&password=password, а у меня передавался JSON. Установил библиотеку query-string, написал
data: queryString.stringify({
grant_type: 'password',
username: username,
password: password,
client_id: 'web_client',
client_secret: 'secret'
})
И теперь всё заработало.
157 1268470
>>68440
незачто
158 1268508
Продублирую >>1267393
Анон, есть два стула:
на одном JavaEE + Spring
на другом - C# + ASP.NET
Какой сам выберешь, какой собственно имеет смысл выбрать в 2018?
159 1268511
>>68508
Гугли вакансии пидор!

Каму нахуй твой асп нет с сисярп нужен блядь?
160 1268514
>>68511
hh
425 вакансий «ASP.NET»
472 вакансии «Spring»

НУ ХУЙ ЗНАЕТ
15142335888040.png288 Кб, 667x670
161 1268715
Аноны, в общем вопросы такие:
1. Что лучше почитать Хортсманна или Шилдта? (на инглише) Что-то не могу 2ую часть Хортсманна найти, а вот Шилдта сразу нашел.
2. В чем отличие платной идеи, от бесплатной? Я по чарту вообще не понял зачем мне платную брать.
3. Джаву хочу изучать, чтобы потихоньку вкатываться в автотестирование, а то боюсь через 3-5 лет без работы останусь вообще. (Нау овер 6 йеарс оф qa monkey экспериенс).
Может будут какие-нибудь советы по этому поводу?
Планирую прочитать какую-нить книгу, а потом садиться решать задачки из этого списка, так "по верхам"
https://eax.me/programming-language-learning/
Потом уже изучать селениумы и пр.
162 1268734
>>68249
Ващет использовать boolean в таких случаях моветон, потмоу что потом сложней расширятся, тем более true/false не передают всю информацию
скрипт для Greasemonkey/Tampermonkey анон 163 1268828
Аноны привет!

Подскажите какие книжки почитать, чтобы написать простой скрипт для плагина Greasemonkey/Tampermonkey.

Нужно на сайте исправить некоторые ссылки, которые отображаются на странице.

https://сайт.com/МУСОРКОТОРЫЙНУЖНОУБРАТЬ=НУЖНАЯИНФА

Чтобы получилось такое:

https://сайт.com/НУЖНАЯИНФА

Таких ссылок на странице очень много, вручную постоянно ковырять неудобно(
анон 164 1268829
>>68828
забыл написать, что мусор в ссылке всегда одинаковый. и все ссылки однотипные.
165 1268830
Сап, сеньёры, помогите с заданием. Нужно на спринге написать простенькую программу с использованием MySQL. Чтобы был GUI с двумя функциями: добавить в базу строку и вывести все строки из базы. В базе данных хранится только индекс и строка, также и выводится. При выводе ещё чтобы был поиск по строкам. Плиз, прошу, сам не могу. Отстегну касарь с первой зарплаты. Кидай на почту.
sharestoS,,gANUSyandex.HxPUNCTUMrVQ^u
166 1268849
>>68830
Знакомое тестовое
Написать программу, в которой будет две функции: добавить в БД строку и
вывести все строки на экран. БД - одна таблица с двумя колонками: id и
name. Соответственно будет два графических интерфейса:
- Интерфейс добавления строки: поле ввода имени и кнопка Добавить.
- Интерфейс вывода строк на экран - таблица с двумя колонкам: Ид и Имя. Над таблицей
должен присутствовать фильтр для поиска в таблице.
В качестве БД использовать MySQL.
В качестве фреймворков - желательно (но не обязательно) spring. Для доступа
к БД - jdbc (spring-jdbc).
По графическим интерфейсам: желательно, чтобы интерфейсы были сделаны с
испоьзованием паттерна MVC (spring-mvc приветствуется).
167 1268883
>>68849
Простое задание.
image.png270 Кб, 576x432
168 1268888
>>68883

> Простое задание


>>68830 сам не может

> тестовое


> 2ч помоги


а потом удивляешься(нет), что понаберут долбаебов по объявлению
1526117911876.jpg43 Кб, 1024x768
169 1268895
>>68715
Бамп
170 1268997
>>68849

>MVC


Ненужное говно! Надо делать REST API и клиент на Реакте или Ангуляре :)
171 1269006
>>68997
ясно@понятно
аргументы будут или как всегда?
10.jpg622 Кб, 1525x2360
172 1269018
Решил вкатиться в Java с нуля, наворачиваю пикрил. Читаешь и порой нихуя не понятно, начинаешь делать задачки и понимаешь что вообще нихуя не понятно. Это нормально? Вроде не тупой, но это не точно.
Алсо, подумываю перкатиться в JS\PHP из-за низкого порога вхождения.
173 1269025
>>69018
PHP нихуя не просто, особенно если учитывать что там надо обязательно знать минимум 1 фреймворк.
174 1269026
>>65166
Обосцыте долбоёба. Пусть идет бейсик учить
175 1269031
>>69025
Так и в жабе ты без фреймворков хуй с горы, разве нет?
176 1269037
>>69006
Классический MVC устарел. Какие ещё могут быть аргументы?
177 1269038
>>69037
а ангуляр тут каким хуем в жаба-треде?
178 1269043
>>69018
Что там может быть не понято?

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

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

Сортировки, списки/очереди/стеки, векторы/матрицы/деревья.

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

Тыж не дебил?
jkBNNy3eEqo.jpg62 Кб, 605x610
180 1269050
>>69045
Поковыряем узнаем
181 1269223
>>69038
Извини, но если ты думаешь, что для того, чтобы доказать, что ты достоин получить работу, знаний одной Джавы часто будет недостаточно) Нужно ещё знать ЖС на уровне + один из трёх популярных фреймворков как минимум))
182 1269354
>>69223
Реакт все жаверы знают.

>>69043

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


А если я уже жаба кор изучил и приступаю к изучения спринга то стоит заново начинать сишку учить или ну его нах.
183 1269392
>>69354
Поковыряй в сишке указатели и работу с памятью.
Вот чтоб знал что такое утечка памяти и как её избежать.
Пригодиться 146%
184 1269408
>>69392
Это ж как надо изъебнуться, чтобы в Джаве случайно утечку памяти сделать?
185 1269409
>>69408
Скорее всего под утечкой памяти в данном контексте подразумевается несвоевременное освобождение памяти - зря занятая память как например в коллекции, когда элемент а уже нет, но он все равно остается в коллекции и потмоу сборщиком не убирается. Или незакрытый поток/соединение/курсор/файловый дескриптор.
186 1269416
>>69409

> Или незакрытый поток/соединение/курсор/файловый дескриптор.


Есть же try-with-resources специальной для такой хуйни.
187 1269425
>>69416
Бывает легаси, бывает что нужно закрыть не там где открыл и тд.
188 1269426
>>69416
>>69425
А бля забыл, еще бывает что тебе приходит поинтер со стороны JNI, тоже ручками закрыть надо.
189 1269649
Готовы к java 11?
190 1269666
>>69649
Я на работе только начал 8 по вене пускать месяц назад.
191 1269724
>>69223 >>69354
бляд вы там ебанулись все, пишешь бекенд на жава/скала/котлин
кококко а как же реакт жс ебучее говно

или вас бляд как недофуллстек нанимают? пиздец бляд
192 1269725
>>69649
отличная шутка, тут местами еле на 7м в 2018 переползают
193 1269734
>>69724
Посоны энтерпрайза не нюхали просто.
194 1269737
>>69724
Нет, это ты в своем легаси тырпрайзе закопался. Современные разработчики могут и в задний конец (котлин, реактивщина, rx, reactor, корутины, неблокирующее api, nosql и т.д.), и в передний (простая дрисня на вью жс или реакте, на котлин жс в крайнем случае), и в микросервисы, и в девопс, и даже в ML подсекают и могут написать модель решения задачи двух стульев на коленке. И этого никого не делает ни фронтендером, ни фулстаком.
>>69725
Вали нахуй из сбертеха, делать там нехуй.
>>69734
Ошибаешься. Описываемое явление это как раз посттырпрайзное развитие разработчиков.
195 1269820
Аноны, подскажите плеазе, стоит ли в джавараш подписку покупать? собираюсь вкатываться
196 1269823
>>69820
Читай шапку ПИДОР
Оракл убивает жавку? 197 1269875
Прочитал, что 11 версия оказываешься будет LTS только если ты заплатишь ораклу бешеные деньги за лицензию, а все остальные будут сосать хуй с 6-месячной поддержкой. Плюс многие крупные корпорации собираются сами поддерживать версию 1.8, а значит восьмая жава ещё очень долго будет умирать.

Не повторит ли жава с двумя несовместимыми версиями (1.8/9+) путь питона с его версиями 2.X/3.X?
198 1269883
>>69875
Давно пора переходить на спринг.
199 1269884
>>69883
Ой блять всмысле Котлин.
200 1269886
>>69884
А какая разница? Ведь речь (по большей части) идёт о VM, а не о самом языке.
201 1269887
>>69886
VM по любому будет зависеть от пользователя/сервера. Будто машин не десятки помимо оракловской.
202 1269889
>>69887
Это понятно. Меня волнует (1) качество этих VM и (2) разделение сообщества на java 1.8/9+, которое наблюдается уже сейчас когда некоторые библиотеки не работают или плохо работают на новых джавах из-за жигсо. Я-то думал, что все ждут выхода LTS и хотят сразу мигрировать на 11 версию, а оказывается бесплатные LTS всё, а значит и миграции возможно всё.
203 1269891
>>69889
Нормальное качество, если тебе не нужна экзотика, и опенждк вполне нормальная теперь.
204 1269902
>>69889
Время всё расставит по местам. 1.8 медленно вымрет, а библиотеки на 10-ку перепишут. На 11-ю естественно перекатят только единицы. Может машину ещё лучше кто напишет, хуй знает.
205 1269903
>>69902

> а библиотеки на 10-ку перепишут.


Шта? 10 уже сегодня протухает и её никто поддерживать не будет, потому что это не LTS. Кто-то там кукарекал, что будет поддерживать ещё и 9-ю версию, но про 10 вообще никто ничего не говорил.
206 1269979
Каждый раз когда я ищу ответ на вопрос в гугле, я сталкиваюсь с тем что на заданный вопрос ответили как-то не прямо, не касаясь того что нужно лично мне, как будто те кто отвечает сами нихера не знают толком. А тот кто спрашивал такой "ок спасибо"
207 1269990
Недавно всплыла новость что Виталик предлагал рассмотреть какой-то нонейм алгоритм zk-SNARKS. Я нашёл только статью, её пересказы и переводы, за авторством явно стоит какая-то Zcash, которая себя вообще позиционирует чуть ли не следующим битком. В статье просто описывается на пальцах ассимитричное шифрование.
Что, опять наебалово для хомячков?
208 1269993
>>69979
Держи в курсе.
sage 209 1269995
>>69979
Каков вопрос, таков и ответ. Тем более учитывая, что простые вещи в большинстве случаев подробно разобраны в доках и туториалах. А в случае сложных вопросов часто оказывается, что вопрощающие хотят странного, опять же зачастую из-за недостаточного знания основ.
210 1270002
>>69995
В основе ноль и единица. А как только пытаешься прочитать очередной говноучебник "с которого все начинали" то сразу натыкаешься на какие-то прыжки от элементарного до сложного, и все вопросы рассматриваются на одном-двух примерах, оторванных от всего контекста программы - соответственно подводные камни в связке с примером не рассматриваются вовсе.
211 1270080
Жабач, за сколько учится апи джавы? Не в смысле штобы всё от зубов отскакивало за наносекунду, а просто чтобы знать из чего дефолтная либа состоит.
image.png7 Кб, 237x213
212 1270148
Как правильно указывать путь до нужного ресурса? Чтобы он и после развертывания нормально читался. Нужно ли делать строки-константы, в которых прописан путь? вот, например, хочу я считать пропертис
properties.load(new FileInputStream( что здесь правильно написать ?));
Просто на первый взгляд мне кажется пиздец запутанным то, что есть всякие методы вроде getRealPath(), getResource() и т д.
тупых вопросов по жабе нить иди
213 1270161
>>70148
В гугл, няша.
214 1270170
>>70080
Довольно быстро, мне кажется, если тебя интересует за сколько ты запомнишь в каких пакетах находятся стримы, или где коллекции и какие они. Но в чём фишка? Какая разница?
1503484325-1.jpg200 Кб, 488x418
215 1270181
216 1270186
>>70170
"Довольно быстро" - это сколько по-твоему?
 .png173 Кб, 600x600
217 1270207
Ну что, кто перекатился на свежую жавку? Рассказывайте свои истории успеха.

http://jdk.java.net/11/
218 1270245
>>69903

>Шта? 10 уже сегодня протухает и её никто поддерживать не будет, потому что это не LTS. Кто-то там кукарекал, что будет поддерживать ещё и 9-ю версию, но про 10 вообще никто ничего не говорил.


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

Это пиздос вообще. Скриньте, что джава спустится с орены тиобе и соснет хуйца.
219 1270254
>>70245

>Какая разница, если для коммерческих организаций джава будет платной?


Ну охуеть просто, щас если мелкомягкие подскочат кабанчиком и запилят полностью совместимый .НЕТ для линупса, тогда ж джава будет ВСЁ
220 1270256
>>70254
Так мелкомягкие уже кабанчиков подскачили и выпустили котлин. Он работает на 1.6 джаве и уже дает пососать.
221 1270259
>>70245

> Какая разница, если для коммерческих организаций джава будет платной?


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

Впрочем, будут VM от других разрабов (RedHat, Azul и прочие), основанные на openjdk с бекпортами важных багфиксов.

https://itnext.io/java-is-still-free-c02aef8c9e04?gi=bcdc1750af1e
>>70256
Это не мелкомягкие, а руссичи из JetBrains его сделали.
222 1270272
>>70186
месяца джва постоянного написания кода со всякими коллекциями, утилитарными классами из java.lang, стримами, каким-нибудь говном из пакета concurrency и будешь шарить в том что где и как находится. Но ЗАЧЕМ?
223 1270291
Где почитать про деревья и их реализацию? Интересуют примеры на Джаве ..

Удивился, что, например в таком небезызвестном языке как Джава, если вам понадобится префиксное дерево, для хранения списка имейлов, то вам придется всё это писать под себя, самописно.
224 1270294
>>70291
Лол. TreeSet, TreeMap.
А в чем отличие реализации дерева на джаве от плюсов напрмиер, кроме ебли с поинтерами (выделение/удаление)?
225 1270295
>>70291
в какой-нибудь гуаве должно быть префиксное дерево
226 1270297
227 1270300
>>70294

> кроме ебли с поинтерами (выделение/удаление)?


По-твоему этого мало?
228 1270301
>>70294
Лолка, ты б сперва узнал что такое префиксное дерево.
>>70291
Его нет в стандартной либе т.к. нахуй оно не нужно для обычных задач. Зачем тебе оно для хранения имейлов? Чем структуры проще не устраивают?
229 1270304
>>70294

> TreeSet, TreeMap.


Это не trie. Реализация trie есть в apache commons: https://github.com/apache/commons-collections
230 1270306
>>70301

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


Ну я отвечал на "про деревья и их реализацию". Префиксному как мне кажется не место в стандартной либе.
231 1270311
>>70301

>Зачем тебе оно для хранения имейлов?


Для более быстрой навигации и поиска,
этоя как пример привел, а вообще нужно изучить эту тему
Префиксное дерево же хорошо, когда есть набор строк и среди них нужно найти нужные очень быстро
232 1270315
такс, гаес нужны советы не по джаве но экспертов
вобщем есть задача скоммуниздить базу данных с резюме у hh ru
есть вариант купить там прем аккаунт какой-то и дадут доступ на 24 часа НО только на мой мухосранск а мне надо по всей державе так что ето не вариант

на худой конец смогу просто довольствоваться колвом вакансий там показывают но прям ХОЧЕТСЯ всю БД

нужны ваши предложения
233 1270317
>>70311
Мне кажется что тебе нужно смотреть в сторону готовых БД, если речь идёт об ынтерпрайзе. Засовывание кучу емейлов в память, чтоб потом среди них что-то очень быстро искать нужно разве что для каких-нибудь научных расчётов.
234 1270325
>>70315
Устраиваешься работать в хх и пиздишь базу / платишь за пиздинг тому кто там работает.

Но ты просто диванный кукаретик, поэтому ты сосешь или идешь перебирать гуиды и атомы во вселенной.
235 1270329
>>70325

>платишь


хаха спасибо
там доступ к бд на 7 дней стоит 21к которые мне оч нужны а ты предлагаешь дать 100 рублей их вахтерше иди нахуй

и причем тут атомы?
236 1270349
>>70315
Просто берёшь и пиздишь без задней мысли вооружившись питоном. Зачем джава?
237 1270388
>>70272
Потому что я могу. А почему бы и нет?
sage 238 1270461
>>70148
System.getProperty("user.dir")
От этого уже пляшешь.
239 1270464
>>70148
getClass().getResourceAsStream("/app.properties")
240 1270499
Аноны, помогите. Мне нужно ГОТО. Оно не работает. Пишет, что unexpected token. Что делать? Хуево гуглится.
241 1270505
>>70499
Код покажи.
sage 242 1270506
>>70499
Если тебе нужен goto, то с вероятностью 99% ты делаешь что-то не так.
243 1270507
>>70499
Пиздуй в VB
244 1270508
>>70349
половина базы скрыта и надо покупать доступ
245 1270509
>>70505
>>70506
>>70507
Пиздец вы бесполезные, таки получилось загуглить, значит если кодить под ios можно юзать гото, под винду можно, то под андроид приходится сосать писос и переделывать код? Какой же убогий язык.
sage 246 1270510
>>70509
Goto — это анти-паттерн и его в любом случае нельзя использовать, даже если язык это позволяет. Пошёл нахуй.
247 1270511
>>70509
Язык-то действительно убогий, но далеко не потому, что твой конпелятор не может переварить гото.
248 1270512
>>70510
Ты в курсе, что твои неготофункции на ассемблере выполняют по тысяче гото, ебанутый?
>>70511
По-твоему это норма, что я не могу гото в андроид студио?
249 1270515
>>70512

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


Вся суть языка высокого уровня - это абстрагировать эти (без)условные переходи более удобными конструкциями.

> По-твоему это норма, что я не могу гото в андроид студио?


В жаве вообще нет гото как такового (хотя слово goto и зарезервировано). В жаве вместо гото можно использовать break с метками. Вот так:

https://ideone.com/dP2qKT

Хуй его знает что ты там пытаешься сделать.
250 1270525
Помогите разобраться с ссылочными функциями и интерфейсами, ничего не понятно. Все работает, Шилд просто непонятно рассказывает и скуп на объяснения.

Сабж: https://ideone.com/f9CBUb

Где-то здесь if(f.func(vals, v)) count++; вместо f.func() в майне подставляется/вызывается
boolean sameTemp(HighTemp ht2)
{ return hTemp == ht2.hTemp; }, где
hTemp - переменная вызывающего класса(объекта), ht2.hTemp - очевидно переменная параметра.

Как программа решает вот здесь f.func(vals, v), какой объект класса vals или v вызывающий, а какой из них параметр, если в реализируемом интерфейсе это просто 2 параметра, никак между собой не связанные?
251 1270532
Неясно, как определяется в методе интерфейса
boolean func(T v1, T v2), какой из параметров в методе sameTemp будет вызывающим, а какой - параметром. Ведь ссылка HighTemp::sameTemp просто передает код. А HighTemp это класс, а не объект.
252 1270543
>>70525
Это магия InvokeDynamic. Он используется в том числе для лямбд, а в данном случае так сделано именно для поддержки лямбд старыми АПИ.

Представь, есть интерфейс

interface Comparator<T> {
int compare(T a, T b); // -1 - a меньше b, 0 - а равно b, 1 - a больше b
}

и есть функция

class Array<T> {
// ...
void sort(Comparator<T> cmp) {
// Где-то в коде есть такая строка:
// int result = cmp.compare(...);
}
}

раньше (до восьмой жавы) приходилось создавать классы, наследуемые от Comparator и вызов выглядел как-то так (в данном примере используется анонимный класс:

arr.sort(new Comparator<Object>() {
@Override
public int compare(Object a, Object b) {
return 0;
}
});

Но в восьмой жаве интерфейсы с одной функцией внутри стали особенными и вместо них стало возможным использовать лямбды:

arr.sort((a, b) -> 0);

Что он видит? Определение лямбды совпадает с определением единственной функции в интерфейсе Comparator и потому можно при вызове cmp.compare внутри sort вызывать саму лямбду (этот вызов и совершает InvokeDynamic).

Ссылки на методы это по сути те же лямбды. В твоём коде:

HighTemp::sameTemp

эквивалентно

(a, b) -> a.sameTemp(b)

потому что это метод инстанса класса, а значит сам инстанс всегда будет первым аргументом (ссылки на статические методы и конструктор, очевидно, инстанса не содержат и их аргументы эквивалентны аргументам оригинальной функции). Только самой лямбды нет и метод вызывается напрямую при помощи InvokeDynamic.
252 1270543
>>70525
Это магия InvokeDynamic. Он используется в том числе для лямбд, а в данном случае так сделано именно для поддержки лямбд старыми АПИ.

Представь, есть интерфейс

interface Comparator<T> {
int compare(T a, T b); // -1 - a меньше b, 0 - а равно b, 1 - a больше b
}

и есть функция

class Array<T> {
// ...
void sort(Comparator<T> cmp) {
// Где-то в коде есть такая строка:
// int result = cmp.compare(...);
}
}

раньше (до восьмой жавы) приходилось создавать классы, наследуемые от Comparator и вызов выглядел как-то так (в данном примере используется анонимный класс:

arr.sort(new Comparator<Object>() {
@Override
public int compare(Object a, Object b) {
return 0;
}
});

Но в восьмой жаве интерфейсы с одной функцией внутри стали особенными и вместо них стало возможным использовать лямбды:

arr.sort((a, b) -> 0);

Что он видит? Определение лямбды совпадает с определением единственной функции в интерфейсе Comparator и потому можно при вызове cmp.compare внутри sort вызывать саму лямбду (этот вызов и совершает InvokeDynamic).

Ссылки на методы это по сути те же лямбды. В твоём коде:

HighTemp::sameTemp

эквивалентно

(a, b) -> a.sameTemp(b)

потому что это метод инстанса класса, а значит сам инстанс всегда будет первым аргументом (ссылки на статические методы и конструктор, очевидно, инстанса не содержат и их аргументы эквивалентны аргументам оригинальной функции). Только самой лямбды нет и метод вызывается напрямую при помощи InvokeDynamic.
253 1270570
>>70207
Убили жабу своей новой платной поддержкой. Надо перекатываться с этого говна на нормальные развивающиеся языки. Господи, лучше бы я отдал 6 лет своей жизни простому js с его новыми примочками и фреймворками, чем сраной java.
254 1270571
>>70570

> js


Но ведь у js вообще нет поддержки - ни платной, ни бесплатной.
255 1270573
Объясните толково, чем грозит новая политика Оракла. Сам второкурсник ПМИ, только-только собрался изучать Джаву.
И что посоветуете, вдруг.
256 1270574
>>70571
Сейчас начал развиваться node, который работает на движке v8 от гугл, а те кучу времени на него убили, плюс завезли многопоточность недавно. Появилось очень много интерпретируемых языков и фреймворков. Сейчас на сраном js уже десктопные апы пишут и бекэнд держат. Вот скоро гугл выпустит замену андройда, которая пошлет жабу на 3 буквы, хотя надеюсь, что загнется как и их прошлые попытки сделать нормальную ос.
257 1270576
>>70573
Придется легасить древнее говно либо пытаться его переводить на новую баганутую jvm, попутно выступая бесплатным бетатестером. Это может привести к тому, что язык начнет активно развиваться и обновляться, но больше шансов, что новые проекты будут избегать джаву и она станет cobol 2.0. Ну лет 10 минимум еще говнокод разгребать придется.
258 1270577
>>70574

> плюс завезли многопоточность недавно


Воркеры - это очень неполноценная многопоточность. Например передача строк всегда копирует их (перемещать можно только типизированные массивы) и много чего подобного. И да, поддержки там как нет, так и нету. Ты видимо не до конца понимаешь значение слова "поддержка".
>>70573
Значит, что с 11 версии у тебя есть три стула
1. Обновляться каждые пол-года.
2. Платить ораклу 25$ за процесс (в смылсе запущенный процесс жавы) и получать очень длительную поддержку.
3. Перекатываться к другим мейнтейнерам жавы.

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

Алсо, восьмая жава протухает уже в январе следующего года. Такие дела.
259 1270582
>>70245
А не похуй ли? Богатые и так привыкли уже платить за нахуй ненужные Weblogic или WAS. У бедных как правило более быстрый релиз-цикл. Остальным на OpenJDK будет норм.
Знаю проекты, которые на 5(пятой!!) джаве до сих пор крутится - всем похуй. И будет и дальше похуй пока либо само не развалится, либо не похекают.
260 1270584
>>70254
Уже .net core есть. Сейчас майки дофига для кроссплатформы пилят.
261 1270668
>>70577

>восьмая жава протухает уже в январе следующего года.


ээээ падажжи я еще с 7 не слез
262 1270683
Что подразумевается под переходом на новую версию джавы? Например, кто-то еще не слез с 7 - это значит, что не переписал код некоего проекта, используя новые фичи?
263 1270685
>>70683
Только не новые фичи, а новые баги (если не считать багофичу под названием жигсо). И под "кто-то" чаще всего подразумевается не изготовитель по, а его потребитель.
264 1270698
>>70573
https://blog.joda.org/2018/09/do-not-fall-into-oracles-java-11-trap.html

>You may not: use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application;



> Download Oracle JDK (because that is what you've always done, and it is what the web-search tells you)


> Use it in production (because you didn't realise the license changed)


> Get a nasty phone call from Oracle's license enforcement teams demanding lots of money



>>70577

>Алсо, восьмая жава протухает уже в январе следующего года. Такие дела.


Нет, ред хат ее (опенждк) будет поддерживать еще 5 лет.
265 1270780
>>70685
Ок, спасибо.
266 1270781
Каждый раз убеждаюсь, что джава та ещё параша. Не из-за языка, а из-за комьюнити.
267 1270822
>>70781
На CppCon загляни
Господа погромисты 300к/сек 268 1270850
Вопрос для Java господ.

Вы там какой JUnit используете? 4-ый или 5-ый?

Intellij IDEA при установке через maven archetype ставит 4.11 (Хотя последний четвёртый это 4.12, а пятый уже 5.3)

Чё там ваще?
sage 269 1270877
>>70850
Мы с недавних пор переехали на Groovy/Spock, и JUnit я с тех пор труба шатал.
270 1271099
Придумал такую штуку. Допустим, в приложении используется один из нескольких разных бинов, которые реализуют один интерфейс, какой бин используется, можно выбрать. Я хочу добавить новый бин, нажимаю кнопочку "добавить", выбираю файл .java/.class/.txt, он конпелируется, если надо, и добавляется в список доступных бинов.
Например, выбор одного из нескольких разных алгоритмов ИИ.
Насколько это ненужно/невозможно/бесполезно/велосипед?
272 1271126
>>71124
Это не то. Это для компиляции жава-кода в байт-код, а тебе нужен динамический загрузчик модулей. В JVM такого нет, так что тебе придётся писать свой собственный класслоадер, попутно долблясь со внутренностями JVM в срачельничек.

Ну или как вариант, в java 9+ можно добавлять модули в специальный файл (или командную строку для запуска) и после перезапуска JVM с основной программой она их подхватит и твой код получит к ним доступ.
273 1271128
>>71126
Ну значит вот: https://examples.javacodegeeks.com/core-java/dynamic-class-loading-example/
В любом случае я придумал какую-то ненужную хуйню, которую придумали до меня.
274 1271131
>>71128
Ага, только в статье не рассказывается про самое интересное: загрузку модуля и интеграцию его в уже работающую VM. Там подразумавается, что модуль уже доступен и к нему можно спокойно обращаться.
275 1271134
>>71131
Не понял, в чем проблема сконпелировать класс JavaCompilerом, а потом загрузить, как в той статье.
276 1271135
>>71134
Проблема в том, что в той статье ничего не загружается. Там подразумевается, что все классы уже доступны рантайму, а сам класслоадер просто может динамически выбрать нужный из имеющихся. Тебе же надо сами эти классы загрузить из файла и сделать их доступными рантайму.

Лучше замути RPC и для каждого модуля запускай отдельную JVM. ТАк будет проще, хотя и потребуется больше памяти.
277 1271165
Добрый вечер, многоуважаемые аноны. Не уверен что выбрал лучший тред, но всё же. Работаю с Apache Kafka Streams, хочу создать окно размером 5 минут, которое было бы синхронизировано с "круглым" временем на часах, т.е 5 минут начинаются не тогда, когда я запускаю программу, а в ближайшую следующую пятиминутку, т.е если я запускаю в 12:46, программа ждёт до 12:50 и только тогда создаёт пятиминутное окно 12:50-12:55, ну и дальше уже по такой же схеме, можно ли это создать без костылей в виде Thread.sleep как я понимаю при таком подходе kafka может немного затупить и потерять синхронизацию и после этого сдвиг будет накапливаться или я обречён?
278 1271166
>>70512

>твои неготофункции на ассемблере выполняют по тысяче гото


Вот именно. Умные мужики писали высокоуровневые языки как раз для того, чтобы никто и никогда не ебался с этими goto.
279 1271167
>>70573
Энтерпрайзы будут платить много денег ораклам, а ушлый пидораха предприниматель в твоей конторе уменьшит издержки за счёт твоей зарплаты.
280 1271171
В чем разница между OpenJDK и стандартным?
281 1271172
>>71165
Запили цикл с проверкой кратности минут 5.
282 1271173
>>71165
А что в кафке нет функций для запуска или что? Ставишь таймер и после срабатывания вызываешь нужную функцию.

https://ideone.com/uKWdW8
283 1271200
>>71099
Скомпилированный класс - абсолютно бесполезно (за редким исключением).
Скрипт на каком-то DSL - вполне практично и общепринято.
284 1271220
>>71099
Звучит как механизм ServiceLoader, нет?
285 1271297
Джава-макаки, как вы можете писать на этом говно-языке когда существует божественный С# и .NET Core? каждый раз когда после шарпа приходится трогать джаву, кажется что меня кастрировали нахуй. Приходится писать тонны говно-бойлерплейта.
286 1271377
>>71297
Я пишу на котлин. Он даже удобнее C# (особенно версия 1.3 с корутинами). Иногда раздражают только неполноценные генерики, но вроде как обещают исправить в project valhalla.
287 1271436
Чому в джава треде все засирают джаву? Был бы язык так плох - не был бы популярен.
288 1271437
>>71297
По сравнению с дотнетом в джаве не так много неудобств. Зато охуенный тулинг и кросплатформ
289 1271540
Кто-то с codeacademy сталкивался?
290 1271552
Посоны, объясните, в чем профит от лямбда-выражений? Это ж по сути укороченная (и то не всегда) форма анонимных классов.
291 1271555
>>71552
В том, что (1) занимают меньше места, (2) имеют утиную типизацию (впрочем опциональную, типы можно указывать и конкретные).
292 1271556
>>71552
Сокращает количество кода.
293 1271557
>>71555
>>71556
А я-то думал, что это какая-то суперполезная и инновационная йоба из функционального программирования, но нет. Спасибо, что объяснил.
294 1271560
>>71540
Бампуе, джаваны
prop.PNG38 Кб, 800x475
295 1271577
Сап джаваны, есть задачка

Задача: необходимо чтобы проперти ридер перехватывал два исключения:
1) если файла пропертей нет, то выбрасывает эксепшн -> check
2) если нужной пары ключ/значение не оказалось в файле пропертей (переменная result), то выбрасывается IOException + логгируется в консоли (на уровне error)
вот со вторым пунктом не задалось. У меня при ненахождении ключа/значения выбрасывается NullPointerException. Что я не так делаю и вообще в правильном ли направлении иду?
296 1271587
>>71099
Используй для этой задачи динамический язык программирования (в случае жвм - это кложа или груви), там это делается одной строчкой.

>>71165
ScheduledExecutorService, Quartz

>>71171
OpenJDK не поддерживается ораклом, если грубо.

>>71297

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



>>71552
Все так, но net profit появляется в сочетании со streams. Можно писать код почти как в скале\кложе, без лапши. Это ненастоящие лямбды, потому что введение Ъ функциональных типов поломало бы обратную совместимость, но good enough для простых вещей.
297 1271595
>>71577
Откуда у тебя там NPE? Ни один метод там его не кидает (кроме class loader, но у тебя же это исключение не всегда появляется, да?) Плюс где ты сам кидаешь IOException? Ты просто получаешь проперти в result и все, в блоке if нет проверки result на null, после которой оно и должно кидаться по твоему описанию.
298 1271598
>>71577
И почему не используешь try with resources?
299 1271619
>>71587

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


Не поддерживается дольше чем пол-года. Т.е. бесплатных LTS релизов от оракла больше нет.
300 1271652
>>71619
Да, поэтому и "если грубо".
301 1271655
>>71652
Это не просто грубо, это неправильно:

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


Звуыит как будто оракл полностью закрыл жаву и теперь распространяет её только на платной основе.
302 1271666
>>68715
Я бы рекомендовал джава раш для начала. Хотя бы кор пройти.
Попутно изучаешь системы контроля версий (git/svn), CI (maven/gradle + jenkins), и собственно автотестинг. Тестнг + селениум + индус с ютуба = профит.
303 1271673
>>71172
>>71587
>>71173

Спасибо за ответы, все варики -- годнота. Проблема только в том что синхронизация как оказалось есть из коробки, не для минут правда, а для секунд, но для моего применения тоже подходит.
prop2.PNG43 Кб, 830x571
304 1271692
>>71595
NPE выбрасывается стабильно, проперти получает метод openAnySite() который находится в другом классе

public void openAnySite() throws IOException {
open(propertyReader.getPropValues("url"));
}

>Ты просто получаешь проперти в result и все, в блоке if нет проверки result на null


была такая мысль, но я туплю и не знаю как туда засунуть IOException. Пикрелейтед пример, но я опять не то что-то делаю

>>71598

>И почему не используешь try with resources?


Ты про getResourceAsStream? геттер обернут в try блок
305 1271696
>>71692
Ты зачем InputStream вынес за пределы метода? Да и result тоже. Чтоб веселее было при многопоточном использовании?

> Ты про getResourceAsStream? геттер обернут в try блок


AutoCloseable и Closeable надо оборачивать в специальный try-блок (если версия жавы посзовляет). Т.е. пишешь
String result = "";
String propFileName = "...";
try (InputStream input = getClass()...) {
if (input == null) {
throw ...
} else {
Properties prop = new Properties();
...
}
} catch (Exception e) {
...
}

и try сам правильно закрывает input если тот не равен null.

> NPE выбрасывается стабильно


А откуда выбрасывается из этого метода или дальше? Если проблема в том, что возвращаемое значение равно null, то просто в конец перед return добавь что-то вроде

if (result == null) {
LOG.error("Property {} not found", property);
throw new IOException("...");
}
return result
305 1271696
>>71692
Ты зачем InputStream вынес за пределы метода? Да и result тоже. Чтоб веселее было при многопоточном использовании?

> Ты про getResourceAsStream? геттер обернут в try блок


AutoCloseable и Closeable надо оборачивать в специальный try-блок (если версия жавы посзовляет). Т.е. пишешь
String result = "";
String propFileName = "...";
try (InputStream input = getClass()...) {
if (input == null) {
throw ...
} else {
Properties prop = new Properties();
...
}
} catch (Exception e) {
...
}

и try сам правильно закрывает input если тот не равен null.

> NPE выбрасывается стабильно


А откуда выбрасывается из этого метода или дальше? Если проблема в том, что возвращаемое значение равно null, то просто в конец перед return добавь что-то вроде

if (result == null) {
LOG.error("Property {} not found", property);
throw new IOException("...");
}
return result
306 1271747
>>1260746
>>1260755
>>1260890
>>1261064
>>70207
>>69649
>>70577

>>70698

>You may not: use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application

307 1271767
>>71747
Это платный OracleJDK. OpenJDK распространяется по швабодной GPL 2with the Classpath Exception.
308 1271775
>>71767
это то понятно, но выходит что корпорации платят ораклу
а остальные сидят на опенждк ибо ибо больше вариантов и нет, лол
309 1271776
есть опыт в c# и js
Порекомендуйте ресурс чтобы быстро влиться в джаву
prop3.PNG42 Кб, 695x527
310 1271787
>>71696

Спасибо анон, завелось!
Однако остался один не понятный момент
InputStream input вынес в метод, но за предел try и присвоил ей значение null, причина по которой я так сделал - если объявить в блоке try, то область видимости будет try блок, в таком случае finally блок не понимает переменную input
Корректен ли такой подход? Или целесообразней будет отказаться от блока finally, объявить input в try и закрыть поток в первом if, то есть:
try {
InputStream input = getClass().getClassLoader().getResourceAsStream(propFileName);

if (input == null){
throw new FileNotFoundException("property file '" + propFileName + "' not found");
input.close();
} else if (input != null){...}
311 1271791
>>71787

> if (input == null){


> throw new FileNotFoundException("property file '" + propFileName + "' not found");


> input.close();


> } else if (input != null){...}


Этот код настолько ебанут, что я даже не знаю с чего начать. Ладно.
1) input.close() тут никогда не вызовется, поскольку throw завершит выполнение этого ветвления.
2) Вызов input.close() выдаст тебе NPE, поскольку input равен null.
3) Зачем else if? Кроме == null и != null у тебя там может быть и третье состояние?

> в таком случае finally блок не понимает переменную input


Тебе уже десять раз сказали. Используй try-with-resources (погугли что это такое). Он сам закроет input и никакие finally-блоки не будут нужны.
312 1271795
>>71791

>1) input.close() тут никогда не вызовется, поскольку throw завершит выполнение этого ветвления.


Он же в файналли, так что вызовется, хоть и кинет NPE.
313 1271796
>>71795
Я про конкретно этот кусок кода. Там слишком много всего лишнего, что никогда выполняться не будет.
prop4.PNG37 Кб, 712x467
314 1271798
>>71791
Благодарю за подсказку. С try-with-resources оказалось удобнее, не нужно принудительно закрывать. Сейчас вроде более лаконичнее выглядит
315 1271800
>>71798
1) String propFileName можно заменить на final String propFileName, чтоб указать что это константа. Ну и можно вынести её за пределы метода и даже сделать статической.
2) else-блок не нужен. throw прервёт выполнение программы в этом месте. Обычно пишут так:
if (input == null) {
throw new ...
}
Properties prop = ...
3) Переменную result можно переместить внутрь try в виде String result = prop.getProperty(property), а в конце просто возвращать "".
4) LOG.error выглядит странно. Либо убери второй аргумент, либо погугли как происходить формат строки в твоём фреймворке для логирования и используй его вместо конкатенации.
316 1271803
>>71775

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


Ну охуеть, zing, azul, redhat, ibm, exclesior вообще альтернатив нет, если хочешь платить вот тебе куча вендоров, если не хочешь бери базовый пакет.
317 1271811
>>71800

>3) Переменную result можно переместить внутрь try в виде String result = prop.getProperty(property), а в конце просто возвращать "".



вот тут не совсем понял, ты имеешь ввиду в конце метода возвращать return null; ?
318 1271813
>>71811
Нет return "";

Т.е. значение по-умолчанию, которое ты сейчас присваиваешь переменной result.
319 1271817
>>71775
Так а зачем платить ораклу? Чего нет в openjdk?
prop5.PNG35 Кб, 716x423
320 1271819
>>71813
>>71800

спасибо анон, в одиночку бы я к такой оптимизации не сразу бы пришел
321 1271820
>>71817
LTS поддержка от производителя жавы (остальные могут максимум бекпортировать исправление багов из новых версий) и некоторые фичи для интеграции с другими платными оракловскими сервисами.
322 1271822
>>71819
Теперь только форматирование исправь (и возможно сделай PROP_FILE_NAME приватной) и всё.

Ну и название функции наверное должно быть getPropValue (в единственном числе). Всё таки получаешь одно значение.
323 1271824
Опаклейдк нахуй не нужен. Все на openjdk, брат жив, прод зеленый.
Тем более все фичи разрабатываются в рамках openjdk.
324 1271825
>>71822
согласен, логично. Благодарю за комменты
325 1272032
Аноны, чому джява не может в ввод изкаропки? Чому я должен какой-нибудь сканер сначало импортировать, а потом еще и экземпляр надо его создать?
326 1272038
>>72032
Ты только в терминах не путайся, окда? Искаробки всё там есть, а что ты хочешь называется свободные функции, и да в жаве их нет. Есть только классы и функции внутри них, потому классы и надо импортировать и (если функция не статическая) делать инстанс.
327 1272044
>>72038
Как мне тогда сделать ввод, без импорта?
да, я нихуя не знаю, только начал
328 1272049
И еще, что почитать для базы? Синтаксис и т.д
329 1272053
>>72044
А чём проблема сделать импорт? Это часть стандартной библиотеки жавы, а под "импортом" в этом случае подразумевается строка кода:
import java.util.Scanner;
330 1272056
>>72053
А чому тогда вывод то очевидно сделан?
И еще, что почитать для базы? Синтаксис и т.д
331 1272070
>>72044
System.in.read()
332 1272071
>>72070

> import java.io.IOException

333 1272074
>>72071
ААй бля ИМПОРТЫ СУКА СТРАШНО
334 1272183
>>72074
Ты долбаеб?
335 1272328
spring-это типа как лаварел?
336 1272345
Аноны, есть переменная типа char, пользователь в неё должен например ввести только x или y или z, как проверку запилить?
337 1272351
>>72345
Ветвлениями, например так: https://ideone.com/ntxr58
338 1272355
>>72351
А если у меня эти данные в другой класс отправляются?
339 1272357
>>72355
Ну тогда пусть тот класс выкидывает ошибку при неправильных данных, а ты её отлавливай и сообщай о ней пользователю.
340 1272359
>>72357
Да, я уже понял, тупанул, спасибо
341 1272371
>>72357
С return не работает
342 1272388
>>72371
Что значит "с return не работает". Ты уж реши как ошибку будешь выкидывать: через throw (тогда return тут вообще не при чём) и с помощью специальной монады (тогда return возвращает и ошибку и результат).
343 1272499
Посоны, писал я значит год свое поделие на 8 жаве с формочками на няшном (но жрущем как пиздос память) jfx8 и тут увидел новость о выходе jdk 11 и jfx 11, которые дохуя LTS. Сначала у меня бомбануло, что они jfx из jre вынесли. Потом у меня бомбануло, что нигде блядь под шиндошс jre 11 отдельным бинарником нету - поставляй клиентам сраную openjdk в архиве, чтобы они сами ебались с прописыванием JAVA_HOME и прочей хуйней. И похуй, что им jdk не нужно, нужно jre - жри что дают, пидор! Потом пришлось ебаться с jigsaw - оказывается оракловские мудозвоны его в начиная с java 9 въебали и половина старых сторонних библиотек сразу нахуй сходила, т.к. юзала приватное api из com.sun.*. Спасибо блядь, раньше я мог поставлять один .jar и у всех все работало, а теперь, сука, мне надо либо какой-то скрипт для запуска писать под каждую ос, либо просить клиентов запускать его из соснольки с километровыми --add-exports --add-exports --add-exports --add-exports --add-exports --add-exports --add-exports --add-exports, охуенно просто. Но больше всего меня бомбануло, когда отданная голожопому сообществу jfx, которая теперь openjfx, тоже без ебли с ключами не работает, т.к. зависит от com.sun.javafx. Пидоры ебаные, у вас же швабодная реализация, какого хера там ссылки на закрытый api, который после jigsaw подключается через костыли, где своя реализация, блядь?
344 1272500
>>72499
Зачем ты это здесь пишешь?
345 1272502
Привет, я джава джун. Хочу в качестве практики написать небольшую ролевую игру, текстовую или с использованием простого 2D. Что посоветуете?
346 1272506
>>72502
Советую начать писать.
347 1272508
>>72506
Текстовую? Под Явой есть удобные библиотеки для 2D?
348 1272510
>>72499
Нихуя ты разморозился, где ты был последние 2 года?
349 1272511
350 1272512
>>72502
>>72508
Если ты хочешь попроактиковаться в джаве, то забей на гейдев. Склепай формочку с крудом на спринге.
351 1272514
>>72512
А декспютоп гейдев жив вообще на джява?
352 1272517
>>72514
Если не считать майнкрафта, то нет. Для гейдева выбирай либо юнити (там C#), либо что-нибудь покруче, но уже на C++.
353 1272518
>>72514
Нет, но тебе ничего не мешает написать свою 2д эрпоге на JavaFX.
354 1272520
>>72510
писал на жава8 и горя не знал

а эти сплошные add-exports теперь by design в любом проекте или я что-то делаю не так?
355 1272523
>>72520
По идее всё это заносится в module-info.java
356 1272525
>>72517
>>72518
А если я хочу свою ммо с блэкджеком и феями в изометрии?
357 1272526
>>72499
Игнорируй 11. Кроме восьмерки ничего не существует.
358 1272528
>>72526
Она ещё долго жить будет?
359 1272529
>>72528
Тебе не похуй? Вряд ли у тебя возникли бы проблемы требующие официальной поддержкой. Если твоим софтом пользуется кто-то кроме тебя - мигрируй.
360 1272530
>>72525
Unity или Unreal Engine. Но это уже к жаве не относится.
361 1272544
>>72526
Да я бы вообще на kotlin перекатился, да только он также к jvm прихуярен и проблемы с ним такие же. Безусловно я говноед, но как язык мне жава очень нравится, даже по сравнению с шарпоглотством и тем более крестами.
362 1272567
>>72512
У меня что-то такое уже есть, работа с PostgreSQL. И со спрингом тоже что-то напишу. Только над игрой можно поаутировать месяц в свободное время.
363 1272786
Как мне декодить строку \u203\u039b\u39\u0023 ? Или как гуглить такое обобщенное?
364 1272794
>>72786
стринг сам декодирует. кек.
365 1272795
>>72786
Можно через apache common utils:
https://commons.apache.org/proper/commons-text/javadocs/api-release/org/apache/commons/text/StringEscapeUtils.html#unescapeJava-java.lang.String-
Ну или пердолится самому заменяя каждый unicode code point на нужный символ.
>>72794
Может он имеет в виду, что сама строка так отображается. Т.е. по сути является "\\u203\\u039b\\u39\\u0023"
366 1272883
Аноны,помогите пожалуйста.Как построчно считывать html файл??
367 1272887
>>72883
Считывать откуда? И что значит построчно? Весь html (в виде разметки) может быть одной строкой, тогда как при отображении там может быть куча строк.
369 1272937
sage 370 1272939
>>72887
Вообщем я сам пытаюсь написать простенький сервер у меня всё почти получается.Только у меня текст в браузер который выводится при запросе просто в коде написан руками, я же хочу читать его с файла html, который лежит в корневой папке проекта.Какими методами это делается
371 1272947
>>72939
Ах, в этом плане. Тогда ты видимо хочешь потоки. Отерываешь файл при помощи FileInputStream и этот InputStream уже считываешь по кусочкам и отдаёшь клиенту.
sage 372 1272949
>>72947
Спасибо
373 1272984
есть ли на джаве микрофреймворки,для обучения?
374 1273002
>>72984

>микрофреймворки


>на джаве


спринг
375 1273033
>>72984
Микрофреймворки для чего? Для обучения чему?
376 1273102
>>73033
веб
377 1273123
Как там в спринг вкатиться?
378 1273170
>>73123
Никак.
379 1273179
>>73170
А по делу?
380 1273259
>>65479
Хуевый у тебя вуз, даже в моеи мухосранском вузе по выбору либо юнити с vr обучают, либо вебу с дотнетом/джангой.
JZLZyN5lBoI.jpg142 Кб, 584x807
381 1273320
Программаны выручайте. Короче такой кейс. Есть простой tcp сервак и клиент. Вот только надо сделать такую тему: Надо реверснуть, т.е. сервер инициирует запрос клиенту. Реально ли такое провернуть без использования вебсокетов? Пока единственненная идея - прикостылить инициацию сообщения ответом на хартбиты от клиента. Заранее спасибо.
382 1273332
>>73320
Так вебсокеты поверх tcp и работают. В чём проблема не разрывать подключение? Или ты про http? В http2 тоже есть возможность держать подключение сколько угодно долго и посылать данные в обе стороны.
383 1273456
>>73002
он монстроуозен
384 1273544
>>73179
По делу.
385 1273553
>>73320
Клиенты регаются на сервере. Сервер сохраняет сокеты в доступности и держит их открытыми. Дальше гуглишь паттерн наблюдатель.
386 1273569
Реквестирую "Spring в действии", именно на русском т.к. мой инглиш очень кровать
387 1273596
Джаваноны, UML часто применяется? Нужно ли учить?
388 1273664
>>73569
очень жальнет
390 1273699
>>65027 (OP)
Я неофи в ойти, я не понимаю что пишут на жаве, ну кроме ведра, с чем вы работаете? Напишите пожалуйста, над чем вы работали за последние пару месяцев?
sage 391 1273723
Влзмити меня на работу плизз можно бесплатно главное расти я буду пдатитб вам по 10к как устроюс
392 1273729
>>73723
Устроился в Казани по Джаве, в итоге пишем на Дельфи, ибо "НУ ПОКА ТАК"
vPP1BYeuTy8.jpg204 Кб, 767x960
393 1273856
Пацаны, не бейте лучше обоссыте. В спринге вообще слабо шарю. Короче в проекте есть два main() класса. Работают они в целом паралельно, но надо им впаять чтобы они с одной ConcurrentHashMap работали. Как понимаю в спринге это вообще как нехуй, регаешь бин и хоть где его доставай. А что мне с main делать? В одной связке два мейна можно запустить? Или их в Runnable перепаивать и со спринга run() вызывать обоих?
394 1273867
>>73596
Применяется, но мало где. Мы к нашим микросервисам доки пишем, но их никто не читает, да и диаграммы там довольно простые. Поэтому мы пишем их на отъебись.

Короче, надо просто быть более-менее с этой хуйнёй знакомым, на всю оставшуюся жизнь этого будет достаточно. Учить точно нахуй не надо.
395 1273869
>>73729

>в итоге пишем на Дельфи


Ебать вы некроманты.
396 1273873
>>73569
Тормози с жабой, ебашь инглиш. Рили, без английского ты нинужон, тебя на собесе забракуют 95%.
397 1273890
>>73856
Что за хуйню я прочитал?
398 1273900
>>73856
Ты понимаешь что разные мэйны это разные процессы? Как ты с одним объектов будешь из разных процессов работать лол.
Прикрути какой-нибудь rabbit-mq или kakafkу и через них связывай, тогда и конкаренси не потребуется.
399 1273904
>>73867
Черт, я уже 200 страниц по нему осилил. Ну лан, хоть для собственного удобства буду использовать, а то в голове тяжко все взаимосвязи держать.
400 1273912
>>73900
Не, впизду кафку вот совсем. Ладно,спс, просто почему то думал что spring может такие чудеса заебенить. Но увы увы, придется перепиливать mainы в runnabble, и запускать с одного мейна. целых 10 минут работы
15333904178730.png1 Мб, 1280x1094
401 1274105
Аноны, подумываю свалить с галеры и за полгода (задрачивая дома) в джаве прокачаться до уровня написания автотестов.
Какие перспективы?
Как думаете это реально?
402 1274122
Посоветуйте какую-нибудь книжку по основам архитектуры, чтобы базовые вещи охватить и не допускать тупых ошибок.
403 1274139
>>74122
Банда четырёх?
404 1274163
>>74139
Ты про их шаблоны? Уже читаю, но это слишком углубленные знания, как мне кажется. Во-первых, потому, что не везде применяются, во-вторых, не зря, наверно, шаблоны не советуют изучать новичкам.
406 1274245
>>74174
Спасибо.
407 1274246
da
408 1274312
Короче, в swing есть JComponent, в котором можно рисовать фигню. У меня есть отрисованный Ellipse2D, я вчера захотел сделать что-то типо игры, чтобы стрелками он двигался. Но я не могу в KeyListener'е передать изменение координаты x,y в метод PaintComponent в JComponent. Как это реализовать? Могу код скинуть, но он говно.
409 1274399
>>74312
А почему не можешь? Кнопку тыкнул - ивент появился и обработался, а ты рефрешаешь рисунок.
 .JPG38 Кб, 484x617
410 1274419
>>72499

> Потом у меня бомбануло, что нигде блядь под шиндошс jre 11 отдельным бинарником нету - поставляй клиентам сраную openjdk в архиве


Так сделай свой собственный JRE. Начиная с жавы9 в поставке идёт jlink, который и используется для создания jre с необходимыми модулями. Получается размером меньше чем полный jre, хотя зависит от количества используемых модулей. Вот у меня для жава-программы получился jre размером в 28.5Мб.
411 1274495
>>74399
Из KeyListenera нельзя вызвать переменные x y, расположенные в методе paintComponents. Пробовал даже экземпляр класса там и через него вызвать, но не высвечивается.
412 1274585
>>74495

>расположенные в методе paintComponents


В смысле? Нахуй тебе переменные в методе? Делай их глобальными ало, инстансами класса.
413 1274816
>>74585
А, точно! Завтра попробую. Сегодня прост писал васянопакет для кастомизации свингового интерфейса, ну чтоб там например легко look and feel'ы менять, вот в шараге все офигеют.
414 1274889
>>74312
Найди книжку Filthy Rich Clients и почитай, как в свинге всё работает.
415 1274988
Аноны, правда ли, что джава в веб умирает?
Наверное ебанутый вопрос, но мне это скозал знакомый прогер, а я пытаюсь войтивайти
416 1275013
>>74988
Пиздёж, конечно. Джава в своём большинстве только в вебе и живёт.
417 1275017
>>74105
Не знаю что там пол года учить, мне кажется если знаешь джаву, то перекатиться в автотесты это пару вечеров за кофе повникать в селениум и прочую хуйню
418 1275032
>>73873
Ну да, я понимаю. Потихонку подтягиваю инглиш, но мне всегда языки сложно давались. Просто со Spring`ом есть вариант в этом месяце уже на джуна устроиться, а если я буду сейчас в оригинале читать, то потрачу уйму времени. В итоге нашёл "Spring для профессионалов" на русском, вроде норм/
419 1275112
Посоветуйте безидейному дауну тему для диплома на жабе. Скила меньше, чем у джуна
420 1275156
>>75112
Кластер расчетов какой-то хуйни на акке
421 1275173
>>74988
Да, апплеты уже никому не нужны.
422 1275188
>>74988
Да, вне веба она уже вся вымерла. Есть ещё ведро
423 1275191
>>75032
Со спрингом в любом месяце можно устроиться!
Ты главное проверку на знание ява кор не прояби!
424 1275210
>>75188
Но почему? Неужели никого не заёбывает компилить одну и ту же десктоп прогу на разные операционные системы и архитектуры?
425 1275216
>>75210
Ну вообще жава компилируется в байт-код, который будет работать на любой операционке с совместимой виртуальной машиной. Да и причём тут заёбывание, если во всех крупных организация на разные платформы компилит (и тестирует) специальный билд-сервер, а ты работаешь исключительно на своей системе.
426 1275291
Две минуты назад работало, а теперь перестало, в чем дело?
Мавеновский проект, выдает NPE.
Main.class.getResourceAsStream("CommonDuck.java")
427 1275294
>>75291
А если нажать ctrl и тыкнуть по имени метода, а затем почитать открывшиеся доки? М, че епта, слабо?
428 1275465
>>75017
Ну так включая изучения джавы. У меня сейчас разве что на уровне прочтения там какой-то книги head first.
1526117911876.jpg43 Кб, 1024x768
429 1275466
Аноны, а на сколько безопасные сборки идеи выкладывают обычно? Или можно просто комьюнити эдишн поставить?
430 1275500
>>75471 (Del)

> я тян


И че? Нахуя об этом сообщать? Тупые девки такие тупые.
431 1275507
Хочу заниматься разработкой под ведроид. Стоит ли сразу учить Kotlin или лучше начать с Java?
изображение.png379 Кб, 460x624
432 1275710
https://pastebin.com/E07eNbrh
Аноны, почему это говно перестает работать для порядка листа 10^7?
433 1275712
>>75710
Бля, неужели оперативы не хватает
sage 434 1275714
>>75712
так то 6 гигов. Соре за вайп.
435 1275729
Как заставить gradle использовать jdk из папки проекта ТАК, чтобы на другом ПК ничего не пришлось настраивать? java.home в gradle.properties игнорит.
436 1275733
>>75729

> ТАК, чтобы на другом ПК ничего не пришлось настраивать?


Что значит "ничего не пришлось настраивать"?

Для создания самодостаточного дистрибутива (т.е. который будет работать вообще без JRE) можно использовать jlink, но для этого все библиотеки проекта должны нормально работать с модулями жигсо (а работают далеко не все из-за требований в отсутствии одинаковых пакетов в разных модулях). Либо вместе с программой поставлять свою собственную jre (опять таки можно создать при помощи jlink) с нужными модулями стандартной библиотеки. Лаунчер тоже можно сделать при помощи jlink и он сразу запустит нужный жарник как будто это родная для системы программа.

Всё сказанное выше подходит для java 9+. С восьмёркой придётся распространять полный jre.
437 1275734
>>75733
Я знаю про jlink. Я говорю именно про проект IDEA. Чтобы другой разработчик мог форкнуть проект и билдить его с jdk, поставляемой с самим проектом. Сейчас для этого нужно добавлять эту JDK в саму IDE.
438 1275736
>>75734
Во всех проектах что я видел делают проще: для распространённых действий делают bat/bash скрипты которые ставят все нужные переменные среды, а потом запускают нужные таски градла. А в README.md
в корне проекта уже пишешь что нужно установить определённую версию jdk для нормальной работы в idea.
439 1275738
>>75736
Похоже, так и придётся делать. Спасибо.
440 1275795
>>75710
Вы охуели что ли? Ламп вопросу.
441 1275815
Аноны, помогите войтивайти. Как искать первую работу в эрэфии? Более-менее знаю стек, кор знаю вполне неплохо, однако не могу попасть даже на один собес, ибо все мои отклики на hh тупо игнорятся, а джуновских вакансий по питеру и так штук 5. Что делать? Как набираться опыта хождения по собесам и узнавать пробелы в знаниях? Слышал одну историю вката, как парень просто понадобавлял hrок своего города в линкедин и проспамил им лички, мол возьмите ждуна, и его позвали на собес. Это вообще реально?
442 1275817
>>75815
Иди фрилансить за еду. Или делать моды на майнкрафт. В принципе перспективы те же.
443 1275823
>>75817
спасибо, 2ch
444 1275828
>>75823
Я серьёзно. Наберёшь опыта и получишь копеек на выжить. А вообще такие вещи лучше всего через знакомых делать. Без бг ты хуй на палочке.
445 1275839
как перестать прокрастинировать и начать кодить на жабе?
446 1275844
>>75839
Иди делать моды на майнкрафт.
447 1275862
Как вам нетбинс 9.0 ?
448 1275868
>>75862
Как вам DEAD_DOGSHIT_14.88?
449 1275869
>>75862

>нетбинс


Я не могу понять, тут что-то по-динозаврьему написано.
450 1275944
>>75828
где я найду фриланс на джаве? срсл
451 1275975
>>75868
>>75869
Проприетарные петушки встрепенулись.
452 1275980
>>75944
Моды на майнкрафт ¯\_(ツ)_/¯
453 1275984
>>75975
Сижу на комунити эдишн, мне заебись. Впрочем даже эклипс лучше нетбинса.
454 1276161
>>75984
Notepad++ лучше нетбинса.
455 1276222
>>75980
А ты остряк
456 1276233
>>76222
А я серьёзно. Я так пиздюком на новый ПК заработал. Если бы не майнач, то работал бы сейчас в макдаке.
457 1276244
Здравствуй, джавач. Расскажите плз, зачем нужны абстрактные классы?
Про абстрактные методы я ещё понял - если нужно что-бы метод, при наследовании был обязательно переопределён, то его нужно сделать абстрактным. А про абстрактные классы я чёт не понял.

Видел простой пример на животных, мол, есть абстрактный класс "животное" и у него есть методы, общие для всех животных, например "голос". Он абстрактный, по скольку в реальности встретить общее "животное" невозможно. У него есть наследники, обычные классы - кот, собака, корова. И у каждого наследника метод "голос" определён по своему.
Но ведь можно сделать "животное" не абстрактным классом, а обычным и создать кота, собаку и т.д. как объект класса животное, у которых также можно будет переопределить метод "голос". Так какой смысл в абстрактных классах? Экономия памяти? Увеличение производительности?
458 1276245
>>76244
Поправочка - метод "голос" тоже абстрактный получается
459 1276247
>>76244

>по скольку в реальности встретить общее "животное" невозможно


Ты сам ответил на свой вопрос.
460 1276257
Как правильно использовать DTO? Допустим, имея класс UserEntity, мне нужно реализовать rest api с функциями логина, регистрации и получения данных юзера. Какой подход лучше?
1. Использовать entity напрямую как дто, причем в классе будет каша из аннотаций (jpa, валидация, @jsonignore и т.д.).
2. Использовать entity + разные дто для разных методов (3-4 класса с почти одинаковыми полями).
3. Использовать entity + один дто с аннотациями @jsonview и т.п., исключая ненужные поля.
461 1276260
>>76247
Но ведь можно сделать "животное" не абстрактным классом, а обычным и создать кота, собаку и т.д. как объект класса
462 1276262
>>76247
т.е. применение некоторых классов как абстрактных обусловлено тем, что в общем виде этот класс не применяется,а только в виде конкретного объекта?
463 1276265
>>76260
Но тогда ничего не мешает создать тебе и экземпляр родительского класса.
>>76262
Да. Тут ещё главное понимать, где использовать интерфейс, а где абстрактный класс.
464 1276305
>>65355

>В пиндосии почему-то предпочитают эклипс


Потому что бесплатный. Сам столкнулся с этой проблемой, когда заказчик из штатов пришел. Мол зачем платить бабло за ide, когда есть бесплатная. Если у тебя есть купленная идея, то возражений у них нету.
465 1276349
>>76305
Нетбинс бесплатный!
image.png264 Кб, 710x577
466 1276399
>>76349
Говно тоже бесплатное
467 1276431
>>75507
Ясен хуй с явы. Если хочешь стать успешным синьором-помидором 300кк/нсек, то яву нужно знать лучше родного языка, ибо все потроха ведроида так или иначе на ней завязаны. Котлин позиционируется скорее как дополнение явы, или переосмысление её концептов с учётом текущей ситуации в мире ИТ. Без явы сам по себе котлин нинужон.
468 1276435
>>76431
Это до FuchsiaOS, хехе.
469 1276442
Пользуюсь Эклипсом уже 7й год, мой продуктивит выше чем у IntelliJ петуханов, ржу с вас, омежки.
470 1276493
>>76442
А я 2й год нетбинсом, но он вылетает иногда.
471 1276524
>>76442
Говноед в треде, внимание, это не учебная тревога
472 1276543
>>76524
Иди запусти идею и попей чайку пока она 30 минут индексирует твой каждый пук. А и не забудь что-то изменить на жёском диске и получить инвалидацию кеша с полным реиндексом в лучшем случае. В хучшем - потерять свои изменения.
473 1276547
>>76493
А идея думаешь нет?))) Она на свинге с явой написана!!
474 1276551
>>76257
Ну хуй знает. Если логика уровня передавать/не передавать пароль, то можно не плодить сущностей и сделать все на аннотациях. Если чуть сложнее, то я бы не хотел в чужом проекте в своей голове представлять правильные объекты из какого-то generic-DTO, лучше иметь их в явном виде. Ну а если логика твоего сервиса тупая как валенок (конвертирует данные из одного апи в другое например), то можно и вообще везде внутренний объект фигачить.
475 1276554
>>76543
Слезь с пентиума.
476 1276556
>>76349
Нетбинс раньше убер уебищный был, сейчас вроде как ситуацию исправляют, но осадочек остался, плюс под эклипс дохуя плагинов.
477 1276560
>>65328
Очевидный emacs+eclim очевиден.
478 1276585
>>76554
Но ведь у меня восьмиядерный i7 с 16 гигами оперативы и SSD
479 1276588
>>76585
Всего 16 гигов оперативы + ссд? Этого мало, чувак.
480 1276592
>>76585
У тебя в проекте 100к классов каждый по 100к строк?
481 1276629
Какой сервис геолокации наиболее точен? Мне требуется отслеживать перемещение людей в торговом центре, а так же отследить факт того, что два человека находятся на расстоянии не более метра а лучше и меньше метра. Возможна ли такая точность? Повлияет ли как то на точность тот факт, что это конкретный торговый центр, т.е. строго определённая территория.
482 1276664
Внутри маленький дженерик. Запилите аналог на Java плиз
https://pastebin.com/QKGZiiDd
484 1276688
>>65328

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


Android studio на жид брейнс базируется. На ней и пишу. Остальные предпочитают ждать говно в продакшене на спринге. Правда здесь не попишешь на нем, поэтому просто отправил студак, они мне кинули на годик все бесплатно. Сижу и работаю.
15377763113440.jpg103 Кб, 1080x1080
485 1276707
Сап. Прочитал давно Прата кресты. Я все еще неофит в кодинге. Сейчас хочу навернуть одну из трех книжек Файн или Хэд Фёст Ява или Философия Ява. Вопрос такой, в Хэд Фёст и Файне очень большая часть книги посвящена ГУИ Свинги Ява ФиКс, вопрос зачем это всё? Ну как бы Файн вероятно объясняет шаблон MVC так, ну а дальше то нахуя, я пробовал пропускать эти главы, но всё равно дальше там сэмплы с примерами ГУИ. Как быть, читаю Файна, в районе главы про сериализацию, бросить и читать Эккеля или это не очень книга? Скажите плиз, как лучше? Может ГУИ действительно важен?
486 1276715
>>76707
Я хоть и не по джаве, но предположу что ты слишком дохуя уже прочитал. Начинай кодить.
487 1276725
>>76629
Не получится такая точность, ты не АНБ. Сначал апо координатам проверять что они в +-20 метрах, дальше определят по блютусам/звукам.
488 1276727
Народ! Киньте мне задание тестовое которое перед собеседованием дают на джуна. Может ресурс есть с такими заданиями?
489 1276739
>>76725
Бля, а как же всякие геолокационные игры? Типа покемон го и всё такое. Там же нужно подойти близко к точки.
490 1276742
>>76739
5-10 метров это достаточно близко, можно конечно еще гироскопы/акселерометры всякие использовать для интерполяции и предскозания, но в покемонах такого вроде небыло.
491 1276743
>>76727
Заведи фейк на нн, укажи вузик и прочие.
Проси тестовое.
Я так пинганул шут пять контор, но получил одно тестовое. Я его сюда запиливал, местные аноны сказали это гавно на два часа хотя мне неделю давали.
492 1276746
>>76742
5-10 метров этож пиздец как далеко. Мысль с блютозом, мне кстати, понравилась. Это похоже то, что мне нужно. Разве что мне всё равно требуется для начала узнать координаты хотя бы с точностью 5 метров.
Вроде как Яндекс.Локатор довольно точный, потому что использует разные методы для вычисления координат. Или Google Services Geofences всё таки точней?
493 1276813
>>76715
у меня такая же проблема. Читаю и читаю, уже даж желание кодить от этого пропало .
494 1276845
вопрос по структуре проекта. везде нахожу, что начинать надо с src\main\java и туда пихать свои первые классы. в IDEA не получается создать директории в src, только package, которые не позволяют дополнительно создавать папки в том же main, например
495 1276857
>>76845
Тебе пакаджи и нужны, ало.
496 1276872
>>76857
ну вот создал я пак main, потом создал в нем пак java. если я в main хочу создать еще один пак,например, python, он у меня вкладывается в java и получается main.java.python. а я хочу, чтобы у меня было main.java и main.python
497 1276880
>>76872
Так создай директорию. Пиздец проблемы.
498 1276882
>>76880
пиздец ответы, блять. ты вопрос читаешь нахуй или жопой по монитору водишь? я сказал, что идеа не позволяет директорию создать, только пак
499 1276887
>>76872
Очевидно же, что раз идея не дает создать в мэйн пакет, то пакеты должны храниться только в директории джава.
500 1276890
Короч, есть два стула. Создание абстрактного класса и затем наследование от него, либо же создание иерархии интерфейсов, создание реализации главного в иерархии интерфейса, а затем наследование от этой реализации с реализацией соответствующих подинтерфейсов. В чем вообще профит интерфейсов, если я могу все сделать через абстрактный класс? Про хранение состояния знаю, но в данном случае оно никаких преимуществ не дает.
501 1276892
>>76887
ты тупой или притворяешься? я не могу создать директорию джава. идея дает мне только пакеты внутри src создавать
502 1276893
>>76887
перечитай мой первый вопрос прежде чем опять куйню отвечать
503 1276896
>>76893
Ты дебил? Вот же, все создается. Берешь свой пакет по правой кнопке мыши и создаешь. Какие же нюфаги дегенераты, пиздец просто.
image.png92 Кб, 591x825
504 1276897
>>76896
>>76893
Отклеилось.
505 1276901
>>76896
ага, а теперь попробуй в src создать две отдельные папки
image.png2 Кб, 322x60
506 1276903
>>76901
Проблемы?
507 1276906
>>76890

>профит интерфейсов


Ты не сможешь расширить несколько абстрактных классов, а вот несколько интерфейсов заимплементить без б.
508 1276909
>>76906
Да, я знаю это. Тут вопрос в другом: нужно ли создавать иерархию интерфейсов параллельно с иерархией классов, чтобы как бы строго обозначить действия, выполняемые классами, если можно обойтись только иерархией классов? Думаю, тут скорее вопрос соответствия ООП, чем каких-то различий в функциональности.
509 1276913
>>76909
Обычно иерархия классов потом вылазит боком, если это конечно не какая-нибудь либа. Вот предыдущие уебаны наплодили 5 классов, весьма похожих, но наследующихся, а можно было просто сделать 1 класс, а все остальное к нему параметрами выполняющими работу передать.
510 1276914
>>76906
Приведу пример.
Первый вариант: есть класс UserManager. Он реализует интерфейс UserActions, в котором есть методы работы с неким юзером. Теперь мы создаем класс PrivilegedUserManager, который наследуется от UserManager. Этот класс реализует интерфейс PrivilegedUserActions с методами работы с элитными пользователями, унаследованный от UserActions. И так далее.
Второй вариант: мы просто создаем абстрактный класс UserManager, в который и помещаем методы из интерфейса UserActions, которого теперь нет. А дальше просто наследуем PrivilegedUserManager и другие классы от него.
Какой вариант выбрать?
511 1276916
>>76897

>idea


Фу.
512 1276918
>>76914
А зачем объединять логику работы с обычными пользователями и логику работы с випами. Интерфейс для обычных и интерейс для випов, их классам нет смысла преесекаться.
513 1276920
>>76913
Но ведь с точки зрения расширяемости создать иерархию лучше. Один большой класс получится очень неповоротливым и связанным, так что при малейшем изменении придется переписывать код сразу во многих его местах. Или я не так тебя понял?
514 1276921
Реквестирую гайд по жава кор за сутки. Есть такое или мне нахуй пройти сразу?
515 1276924
>>76918
Так они и не пересекаются. Весь общий функционал перенесен в базовый класс (и интерфейс, если он есть, зависит от варианта), а уже особые методы для каждого вида пользователей вынесены в отдельные классы. Просто в одном случае есть обвязка иерархией интерфейсов, в другом - нет.
516 1276925
>>76921

>нахуй пройти сразу


А ты догадливый.
517 1276927
>>76925
Попытатся стоило.
518 1276929
>>76916
Eclipse еще больше фу. Или ты мне нетбинс хочешь предложить? А может сразу блокнот?
519 1276932
>>76920
Неправильно понял.
Есть класс Булочная, в ней есть места которые по разному работают в зависимости от сегодняшнего меню, нет смысла менять булочную, пустьв ней меняются люди и меню, вот они и выполнят нудные работы.

Конкретноу меня контроллер который показывает товары по заданному критерию, но кроме критерия выборки меняется и внешний вид. Соответственно базовый контроллер может спокойно бегать за товарами по критерию, а переданные в него делегаты умеют их правильно отрисовать и спозицонировать.
А предыдущие дегенераты сделали 5 классов 4 из которых почти нихуя не отличаются.
520 1276935
>>76924
Общий класс это и есть пересечение.
521 1276938
>>76932
Теперь понял.
>>76935
Так а смысл в дублировании кода, если я создам отдельно класс для обычных юзеров и привилегированных? А если я добавлю класс юзеров-админов, мне тоже создать отдельный класс и снова продублировать общий для всех юзеров код?
522 1276939
>>76938
Я не знаю что ты собрался дублировать. Я считаю что операции над простыми пользователями ничем не отличаются от операций на випами, просто у випов есть доп. операции. Соответсвенно ничего не дублируется, работают вообще разные сущности.
523 1276941
>>76939
Если ты сейчас подразумеваешь, что я должен унаследовать випов от обычных юзеров, то ты подтвердил мои мысли, просто я не смог правильно донести. Если же нет - то там по-любому будет дублирование кода, сам же говоришь - ничем не отличаются, только у випов есть особенности.
524 1276946
>>76939
Только вот мы ушли от темы. Нужно ли обвязать эту иерархию юзер - вип-юзер еще и интерфейсами, которые как бы обяжут эти классы что-то делать?
525 1276988
>>76890
Логику подруби. Допускаешь ли ты возможность, что экземпляр твоего животного может быть одновременно котом, тумбочкой и атомной подводной лодкой класса "Карп"? Если да, то Animal будет интерфейсом. Если нет, то абстрактным классом.
526 1276990
Хватит уже троллить ньюфага.
>>76872
В списке выбери mark as... directory.
527 1276993
>>76988
Во, это я и хотел услышать. Теперь понятно, спасибо.
528 1276997
>>76993
И этот >>76932 товарищ всё верно говорит: если есть возможность сделать компоновкой вместо наследования, делается компоновкой.
529 1277038
>>76929
Хочу предложить сосатб.
530 1277056
>>77038
Сосатб? Это новая иде какая-то чтоль?
531 1277057
Вот это я сегодня опростоволосился.
532 1277069
>>77056
Intellij SOSAT 6.0
533 1277095
Сап джавач. Хотя, вопрос больше по графике, а не по java, но может тут кто подскаже? Такой вопрос - как создаётся интерфейс программы с нуля. Я имею ввиду без использование общедоступных библиотек, таких как swing. Если нужна во совсем уникальный дизайн кнопки, что-бы она была эллипсоидная со стразами в виде динозавриков, выглядела объёмно, блестела, сверкала, свитоперделка. Можно ли создать дизайн средствами ява или нужно использовать другие проги, фотожабу там или что-то подобное?
534 1277101
>>77095
Либо используются стандартные АПИ конкретной системы (winapi, cocoa, gtk/qt) либо пишется своё собственное поделие на низкоуровневых АПИ вроде opengl/directx/vulkan.
535 1277122
>>77095
Берёшь LWJGL...
536 1277280
Как правильно измерять время работы метода?
Есть ли такие функции в JUnit??
537 1277281
>>77280

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


Профайлером (например visualvm). Либо
var a = System.nanoTime();
// Код
var b = System.nanoTime();
System.out.println(b - a);

Однако время может сильно скакать в зависимости от того, откомпилировал ли JIT твой метод или нет.
538 1277292
Допустим, я хочу реализовать REST API с single page application-клиентом. Значит в моем api один метод должен возвращать пустую html-страницу, а остальные - JSON/XML и т.п., которые клиент потом самостоятельно вставляет в ранее полученную страницу, так? Но если клиент перейдет по произвольной ссылке, то получит в ответ только голые данные. Как правильно сделать так, чтобы любая ссылка помимо JSON/XML могла также возвращать мою HTML-страницу, но с запрашиваемыми данными?
539 1277293
>>77292
По заголовкам. Если браузер просит html, отдаёшь ему html. Если json (а для этого нужно в ajax-запросах ставить заголовок Accept: application/json), то отдаёшь json.

А встраивать json можно по разному, либо на сервере, либо уже у клиента.
540 1277325
Команда, а как правильно делать программы в свинге?

Всё кучей писать в main или например отдельно объявить компоненты, сделать конструктор с размещением компонентов и отдельный класс Listener'ов? А в main тупо запускать это всё.
Есть какие-то паттерны насчёт этого, чтоб не быть говнокодером?
541 1277331
https://github.com/Mojang/brigadier/blob/master/src/main/java/com/mojang/brigadier/StringReader.java

Неужели на каждую однострочную хуйнюшку надо создавать отдельный метод?
542 1277342
>>77331
Ты хотел сказать отдельный класс? Потому что в отдельном методе нет ничего плохого. А вообще пиздуй в котлин, там можно даже встраиваемые функции (а в версии 1.3 даже встраиваемые классы с настоящими генериками) делать.
543 1277370
>>77342
Шо за встраиваемые функции? Это как ссылки на методы через лямбды в джаве?
544 1277371
>>77370

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


Нет, это как встраиваемые (inline) функции в системных языках. Вместо вызова функции внедряется её полный байт-код.
545 1277381
>>77371
Эмм, так это ведь уже есть в джаве, пусть и не на уровне самого языка. Компиляторы способны такое делать, например, если ты объявишь в классе метод как final. Так что выигрыш невелик.
546 1277382
>>77381
Не совсем, когда метод принимает лямбды, то вместо того что бы создавать лямбду/анонимный класс и вызвать его метож, ее (лямбды) тело встроится в код (если на ней конечно нет пометки так не делать). Ну и JIT на самом деле не такой крутой как величают, может съоптимизирует, а может и нет.
В критических местах, например в системе лэйаута ведра, вон инты передают и с битовыми масками играются, так как от выделения объектов gc загибался бы, вот там инлайновые классы встали бы как влитые.
547 1277387
>>77381

> Так что выигрыш невелик.


Это сделано не ради скорости, а по большей части ради двух вещей:
1) Полноценные генерики.

Допустим есть функция

fun <T> asd(Clazz<T> clazz, T value)

вызывается она так:

asd(someVar::class.java, someVar)

что некрасиво, однако можно сделать специальную инлайн функцию:

inline fun <reified T> asd(T value) = asd(T::class.java, value)

и вызывать таким образом

asd(someVar)

Согласись, выглядит в разы красивее.

2) встраивание лямбд. Позволяет вместо отдельных языковых конструкций вроде try-with-resources использовать простые функции. Ну и встраиваемые функции получает внешний контекст корутин, а потому позволяют очень просто совмещать лямбды (которые по сути тоже встраиваются) и корутины.
548 1277388
>>77387

> Clazz<T> clazz


Class<T> clazz то есть.
549 1277414
че написать
550 1277455
>>77414
Вирусняк рофляный
551 1277476
>>77455
Хммм, а можно ли замутить полноценный вирус на джаве? Помогут ли нативные методы, или там это предусмотрели и как-то урезали свободу действий?
image.png52 Кб, 893x798
552 1277493
Помогите, пожалуйста, реализовать метод с печатью строк из префиксного дерева (в минималистичной реализации)
https://ideone.com/R1iOEI
должны выводиться все слова, которые записаны в дерево
печататься в виде строки и древовидной структурой (лесенкой)
553 1277498
>>77455

>вирус на джаве

554 1277522
>>77498

> Извините, установленная в системе jre не поддерживается. Не могли бы вы поставить jre 1.8? Желательно openjdk со свободной лицензией. Спасибо за содействие. Ваш вирус.


> Идёт зашифровка ваших личных данных. Оставшееся время: 46ч. 23м. 13с.

555 1277653
Господа! Читаю книжку по кору. Автор предлагает вот так открывать текстовый файл, я нихуя не понимаю зачем столько объектов, и что они все делают, можете на пальцах пояснить, или вам тоже не понятно?

StringBuffer buffer = new StringBuffer();
try (
FileInputStream myFile = new FileInputStream("abc.txt");
InputStreamReader inputStreamReader =
new InputStreamReader(myFile, "UTF8"
);
Reader reader = new BufferedReader(inputStreamReader);){
int ch; // the code of one character
while ((ch = reader.read()) > -1) {
buffer.append((char)ch);
}
buffer.toString();
} catch (IOException e) {
e.printStackTrace();
}
556 1277659
>>77653
Вот у автора и спроси придурок!
Читай доки по этим классам, установи сырцы явы и глянь исходники всем методом.

Этож ява там всё так. обёртка поверх обёртки и обёрткой погоняет.

Если коротко то обернув свой хуй спец классом у тебя появляются методы которые иногда удобно использовать.
Но чтоб это понять нужно прочекать внимательно ВСЕ методы. Когда будешь знать какие методы использовать можно тогда есть смысл обмазывать говно поверх говна.
 .JPG102 Кб, 774x989
557 1277669
>>77653
В Java 11 есть Files.readToString
558 1277670
>>77669
Т.е. Files.readString
559 1277800
>>77653
Мне тоже не понятно, почему нет какой-нибудь простой библиотеки для работы с файлами от apache. Или есть.
560 1277802
>>77669
у тя шрифт дебильный
561 1277815
562 1277884
>>77800
Уже лет триста есть.
И именно от Apache.
Для тех, кого в гугле не забанили, конечно.

И в Groovy это тоже есть уже хуй знает с каких времён.

>>77653
Если тебе надо "попроще" - то выше я уже про это написал.
Если же тебе надо "изучить кор" - то это будет посложнее.
Потому, что низкоуровневая реализация более гибкая и универсальная
И в джаве работа с данными унифицирована, т.е. с помощью подобных объектов читаются не только файлы.

Почитай Java Tutorial или то, что ты там читаешь.
Это не "обёртки" "потому что джава". Это абстракции, чтобы ты единообразно мог работать с разными источниками/приёмниками данных.
563 1277892
>>77653
И да, именно для текстовых файлов лучше использовать метод reader.readLine(), т.е. читать сразу целыми строками.

https://www.mkyong.com/java/how-to-read-file-from-java-bufferedreader-example/

А при чтении двоичных файлов (произвольных данных) Reader не нужен, надо читать прямо из InputStream.

https://www.mkyong.com/java/how-to-read-file-in-java-fileinputstream/

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

Можно также читать сразу несколько байт в байтовый буфер, а не по одному:
https://www.tutorialspoint.com/java/io/inputstream_read_byte.htm
https://www.tutorialspoint.com/java/io/inputstream_read_byte_len.htm
564 1278401
Есть уже какие-нибудь пособия/книги по жажа11? Я начал вкатываться недавно, но после многих лет опыта на с++. Не хочу пол книги читать как объявлять переменные, хотелось бы пояснения нюансов и самых новых фич. Пока что скачал effective java, но там только до 9 версии.
565 1278402
>>78401
Да там особо нового ничего нет. Если изучаешь для себя, то лукчше вкатывайся в котлин, на нём чуть легче писать и кода меньше выходит. А если для работы, то на жаву11 в эынтерпрайзе ещё не скоро перейдут. Да и разница там (в самом языке) только в наличии var.
566 1278408
Двощ, какую зарплату получают Java junior разработчики в Москве? 80 тысяч норм прайс, или можно больше попросить?
567 1278416
>>78408
Бутылку пива, две банки с килькой в томате и буханку хлеба.
568 1278491
>>78401
Принципиальные изменения в языке были в Java 8.
Так что если изучаешь язык - книг по 8-й версии будет достаточно.

Отличия 9-10-11 - главным образом в деплойменте.
И в выбрасывании ненужных (по мнению оракла) частей, типа десктопного UI или апплетов.
569 1278492
>>78491
И самое главное отличие новых версий и новой системы релизов - отказ от бесплатной долгосрочной поддержки предыдущих версий.
Ради этого всё и затевалось.
570 1278512
>>78492
И ещё отсутствие 32-битных версий.
571 1278742
Если жаба тред мёртв то и жаба тоже?
572 1278784
>>78742
Все Java-господа работают, нет времени на болтовню
573 1278889
А джависты какие марки авто предпочитают?
574 1278912
>>78889
Велосипед за 300к.
575 1278913
>>78889
Поезд. Сидишь такой на месте машиниста и тащишь за собой вагоны со всякой хуйнёй.
576 1279197
https://stackoverflow.com/questions/52807683/how-to-make-final-result-and-deviding-out-of-the-method-deviding-equal-to
Создал вопрос. А к вам вопрос как не городить такую хероту а разбивать задачу на более простые компоненты?
577 1279807
>>1275164
Это не сработает если число больше 9, я проебался и там не чар а стринг собсна.
36484 578 1279931
Познавательный,
я изучаю пока синтаксис и мне на работе предложили факультотивом проект,
есть сервер на котором крутятся рендермашины, есть агрегатор с дашбордом и веб интерфейсом - называется tractor от Renderman,
так вот, просят приложение на андроид, с которого можно эти дажборды смотреть в любой момент, не заходя на вебинтерфейс агрегатора, мол когда в дороге и например под рукой только телефон, вот
натолкните куда смотреть чтобы понять как вообще это должно работать
нашел API https://rmanwiki.pixar.com/display/TRA/APIs
но я нуб, ткните носом куда копать плез не харкайте в лицо
579 1279961
>>79931
Ну хуй знает что тебе надо. Но вроде в URL Api возвращается json и там есть методы показывающие списки джобов/юзеров.
580 1280121
Кто-нибудь может написать необходимый стек технологий для трудоустройства на позицию java интерн/джун без опыта?
И насколько хорошо нужно знать каждую из них по шкале от 1 до 5, где 1 - это иметь представление, что это такое.
581 1280125
>>80121
1. Кончать за не менее, чем 45 минут.
2. Уметь глотать.
582 1280328
В spring oauth2 ресурс-сервер должен требовать jsessionid или только сам токен (стандартные oauth-токены, не jwt)? Стандартные токены работают, смущает только этот момент.

Пробовал также сделать авторизацию с jwt, но в этот раз ресурс-сервер вообще токены не требует почему-то. И как в этом случае залогиниться на сервер авторизации, если с SessionCreationPolicy.STATELESS у меня не получается пройти дальше формы логина, а в ином случае ресурс-сервер требует jsessionid, но опять же не проверяет jwt. Как я понимаю, сессия должна быть на сервере авторизации, а на ресурсном только проверка jwt, так?

Делал по этим гайдам:
https://www.baeldung.com/rest-api-spring-oauth2-angularjs
https://www.baeldung.com/spring-security-oauth-jwt
583 1280332
>>80328
Вот код по JWT, может кто поможет, потому что я уже нихрена не понимаю
https://pastebin.com/a0B2VpZL
584 1280456
подскажите как отследить удержание кнопки в java, не той что ctrl, alt и вся хуйня, а произвольную кнопку?
585 1280474
>>80456
Есть же раздельные события нажатия и отпускания клавиши.
В их обработчиках надо смотреть код клавиши и, если надо, модификаторы - ctrl, alt etc.

https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
586 1280779
Есть ИТТ господа из epam? Можете подсказать, как проходит English Assessment test? Я прочитал в handbook что он состоит из устной и письменной части и посмотрел примеры заданий.
Мне дадут для устной части переговорку в опенспейсе иногда бывает шумно?
В письменной я просто вбиваю текст в форму на сайте или я должен буду пошарить экран в скайпе и при интервьюере писать никуда не подглядывая?
587 1280886
>>80121
Тебе лень глянуть вакансии на хх??
Ява кор само собой. Умение писать проги без гугла.
Эскюэль. Умение писать запросы без гугла.
Ждбс без гугла.
Жюнит, мокито без гугла.
Без гугла это значит что можешь написать код в блокноте, на бумажке и не обосрёшся!

К примеру уметь нахуярить код на вайтбоард вроде:
Scanner in = new Scanner(System.in);
PrintWriter out = new PrintWriter(System.out);
out.println(in.nextInt() + 1);
out.flush();

Ты конечно можешь забыть какие пакеты нужно импортировать т.к. идеешка за тебя это делает. Но помнить писать
public static void main(String[] args)
Нужно.

Простые/Топ паттерны без гугла.
Хелоу ворды на Спринг без гугла.

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

Базовые хтмл, ксс + йява скрипт само собой.
Ну и базовая хуита вроде древовирта. Короч что в вузике учил.
587 1280886
>>80121
Тебе лень глянуть вакансии на хх??
Ява кор само собой. Умение писать проги без гугла.
Эскюэль. Умение писать запросы без гугла.
Ждбс без гугла.
Жюнит, мокито без гугла.
Без гугла это значит что можешь написать код в блокноте, на бумажке и не обосрёшся!

К примеру уметь нахуярить код на вайтбоард вроде:
Scanner in = new Scanner(System.in);
PrintWriter out = new PrintWriter(System.out);
out.println(in.nextInt() + 1);
out.flush();

Ты конечно можешь забыть какие пакеты нужно импортировать т.к. идеешка за тебя это делает. Но помнить писать
public static void main(String[] args)
Нужно.

Простые/Топ паттерны без гугла.
Хелоу ворды на Спринг без гугла.

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

Базовые хтмл, ксс + йява скрипт само собой.
Ну и базовая хуита вроде древовирта. Короч что в вузике учил.
588 1281140
>>80886

>без гугла.


>>80886

>Простые/Топ паттерны без гугла.


>Хелоу ворды на Спринг без гугла.


>>80886

>К третьему разу пальцы будут сами нажимать что нужно.


>>80886

>хтмл, ксс + йява скрип


>>80886

>круд



Давно так не проигрывал. Сходи в гугл, посмотри как правильно произносятся вещи, которые ты упоминаешь, маняфантазер блядь.
590 1281739
>>76233

>Я так пиздюком на новый ПК заработал


Как?
591 1293463
kaak
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 16 ноября 2018 года.

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

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