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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java thread 1186670 В конец треда | Веб
прошлый https://2ch.hk/pr/res/1173657.html (М)

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

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

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

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

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

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

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

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

https://github.com/qqqlll/Java-Thread/wiki
sage 2 1186677
Java переживает свой закат. 10я версия окончательно вбила гвоздь в её гроб. Уже учите новый язык, петушки?)
4 1186706
>>186703
Какой-то совсем зелёный троль. С приближением каникул таких в прогромаче будет появляться всё больше, к сожалению.
5 1186716
>>186706
/pr всегда был прибежищем для дурачков и вайтишников, ну и пары процентов залетных спецов. От времени года мало что меняется.
6 1186719
Насколько будет больным перекат с JS на Java?
Надо ли открывать книгу для чайников и реально учить все с нуля?
7 1186722
>>186719

> с JS


У тебя необратимо поврежден головной мозг. Так что придется тебе остаться на долларовом фрилансе на апворке, учить ноду и возможно го, после длительной медитации.
8 1186723
>>186719
var есть и там и там. Остальное несущественно
9 1186728
Всем привет. Я новичок поэтому простите за банальщину. У меня есть простое javaapp приложение с библиотекой jSSC, которая считывает данные с ком порта. Мне нужно эти данные отправить на сервер, чтобы вывести значения в браузере. Как это сделать? Можете ссылки примеров скинуть и тд
10 1186741
Сейчас какой-нибудь фреймворк для десктопа развиваетс, или уже все приостановлены?
11 1186765
так я и не знаю с чего начать
sage 12 1186772
>>186741
React Native
13 1186786
>>186677
джаву с девяностных хоронят
14 1186791
>>186741
гуи на джаве не нужны
sage 15 1186864
>>186786
Одной из главных фишек Джавы была обратная совместимость, а теперь её полностью проебали, кек.
16 1186872
>>186719

>2018


>перекат с JS на Java

17 1186877
>>186864
починят
18 1186897
В тему гуйцов - на чём нынче делают кроссплатформенные толстые клиенты? А тонкие?
19 1186915
>>186897
веб. По моему субъективному мнению, всякие системы реального времени нельзя переводить на веб, он для этого не подходит
20 1186923
>>186897
qt, gtk кроссплатформены
21 1187029
Аноны, есть годные задачки, чтобы отточить навык новичку? Читаю Шилда, но понимаю что если не практиковаться то толку мало.
22 1187110
Хибернейт можно сконфигурировать через .properties файл или только через хмл? Читал сейчас доки хибернейта и там ничего по этому поводу не нашел.
23 1187237
>>187110
Можно через код, в который ты сам подставишь значения из .properties или откуда удобно
24 1187239
Как в java прочитать строку из фаила?Я пробую через inputstream или сканер.Получаю на выходе null.
25 1187246
>>187239
Ноль на входе - ноль на выходе.
26 1187305
>>187110

>Хибернейт можно сконфигурировать через .properties файл или только через хмл? Читал сейчас доки хибернейта и там ничего по этому поводу не нашел.


Через проперти можно конфигурировать конект к базе, маппинг через XML или аннотации.

>>187239
https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#lines-java.nio.file.Path-
27 1187494
>>187305

>Через проперти можно конфигурировать конект к базе


Да, мне это и нужно. Как это сделать?
У меня сейчас есть hibernate.properties в класспасе, но вылетает ошибка
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory'
Есть статья как это правильно сделать? Весь гугл облазил и не нашел
28 1187496
>>187494
Настроить коннект к базе != сконфигурировать хибернейт. Раз у тебя спринг, гугли PropertyPlaceholderConfigurer
29 1187512
>>187496

>PropertyPlaceholderConfigurer


Наверное для моей задачи он был не нужен. Я просто хотел коннект к базе указать в .properties.
Короче я решил иначе внезапно, я так уже делал, но не работало, а сейчас заработало:
Я просто прописал в application.properties
[CODE]spring.datasource.url = jdbc:mysql://ip/db
spring.datasource.username = 123
spring.datasource.password = 123
spring.datasource.driver-class-name = com.mysql.jdbc.Driver[/CODE]
И всё заработало. Хотя до этого была проблема что EntityManager не автовайрился через @PersistenceContext
30 1187643
Как можно писать один проект несколько лет? Что там может быть настолько сложного?
31 1187731
>>187643
толсто
32 1188044
>>186864

> а теперь её полностью проебали


Каким образом?
33 1188102
>>188044
На 10 половина либ не работает.
34 1188142
>>188102
A. Ссылку на источник
Б. ССЗБ, если использовали недокументированные особенности
35 1188173
>>187731
Серьезно спрашиваю.
36 1188222
Список заданий на спринг буте, с постгрес в роли бд и vue в роли фронтенда - норм?
37 1188226
>>188222
Норм
38 1188308
>>188173
бизнес не может просто взять и написать как оно должно быть в идеале, ибо бизнес сам не знает, что должно получиться в итоге.
Итого делаем одно. После некоторого периода эксплуатации переделываем. Потом опять. И так до состояния, когда всех более-менее устраивает.
И тут приходит время добавления фич, а после и доработки этих фич.

Дальше два пути:
1) Если менеджмент неадекватный, если нет единого хозяина-конечной точки принятия решения, то этот проект тонет под грузом неюзабельного интерфейса и неюзабельных фич
2) Хороший менеджмент, есть конечная точка принятия решения, фичи не добавляются ради фич. В таком случае проект живёт и приносит деньги
39 1188397
>>188226
Не, чет дохуя сложно. Сделаю SPA на шаблонизаторах.
40 1188400
>>188397
Чем тебе vue не шаблонизатор?
41 1188401
>>188397
на каких таких шаблонизаторах маня?
42 1188402
>>188401
Freemarker
>>188400
Да хуй знает, там чета устанавливать надо, конпелировать, ну его. Все равно фронтендом не планирую заниматься.
43 1188404
>>188402
тебе ОЧЕ много JS кодить руками придётся маня, бери ангулар и всё
44 1188406
>>188404
Вот я и не хочу js трогать. В ангуляре сильно меньше?
45 1188408
>>188406
Ты бы хоть почитал что такое SPA что ли. В любом случае для SPA нужен JS, весь вопрос в том кто будет его писать.
46 1188409
есть какой-нибудь js продукт без всех этих бабелей и компиляции? Чтобы просто взять и ваять внутри js файла?
47 1188410
>>188408
Я знаю, что vue для этого больше всего подходит, и все.
48 1188411
>>188410
без JS можешь в сторону GWT или Vaadin посмотреть
49 1188413
>>188402

>Все равно фронтендом не планирую заниматься.


Лучше при этом все равно сделать нормальный REST-бэкэнд. А дальше можешь какой угодно к нему фронт делать, хоть на JS через немогу как умеешь, хоть консольное приложение, хоть телеграм-бота. Все больше пользы, чем от возни с неактуальным server-side рендерингом.
50 1188417
>>188413
неактуален он только во влажных мечтах фронт-эндеров, большая часть ресурсов на сервер-сайд рендеринге работает без проблем, для SPA он не подходит конечно
51 1188419
>>188413
Я уже делал rest-бекенд, фронт там был сделан с помощью freemarker, а в js коде использовал только jquery. Просто хочу сделать все более стандартно и сам.
52 1188420
>>188417
Хрюкни.
53 1188422
Какую библиотеку мне надо скачать, чтобы я мог просто поставить над классом аннотацию @POJO, указать там приватные поля, и мне автоматически сгенерировались бы геттеры, сеттеры, конструкторы, toString, equals и hascode?
54 1188423
>>188422
но зачем? Пару хоткеет и идея это сгенерирует
55 1188425
>>188423
Точнее не сгенерировались бы, а я сразу мог их использовать, а в коде класса ничего не писать.
56 1188428
>>188422
KotlinLombok
57 1188429
>>188425
как ты себе это представляешь?
image.png5 Кб, 249x80
58 1188432
>>188428
В ломбоке можно указать параметры генерации equals и hashcode?
>>188429
Вот так.
59 1188433
>>188432
дык эти аннотации в рантайме работают все, у тебя не скомпилится если ты будешь геттеры дёргать
60 1188436
>>188433
Ну ломбок же как-то работает.
61 1188437
>>188433
Ломбок при компиляции дохуярит.
>>188432
Какие параметры генерации?
https://projectlombok.org/features/Data
62 1188443
>>188422
Просто переходи на Kotlin, у тебя нет причин этого не делать
63 1188445
>>188443
лучше на скалу
64 1188448
>>188445
А лучше разбежавшись прыгнуть со скалы.
65 1188452
>>188445
Вот именно что на котлин, если есть задача просто убрать бойлерплейт, а не получить полностью другой язык
66 1188464
>>188419

>rest-бекенд


>freemarker


Это был не rest-бэкэнд (ну или только частично rest)

>хочу сделать все более стандартно


Стандартно на сегодняшний день - именно чистый rest, без фримаркера и подобного
67 1188467
>>188432
Да, можно.
68 1188905
Объясните как получать координаты мыши при условии что окно неактивно.Мне подсказали что можно использовать jnativehook.Но я не могу отыскать пример.
69 1188998
>>188905
Виндоус?
Вначале ищещь как это сдлеать на твоей платформе из нативного кода. Потом пишешь этот код, конкпилируешь его проверяешь что рабоатет. Потом закидываешь как динамическую бибилиотеку и подключаешь к джаве. Вуаля.
70 1189417
>>187029
codewars
71 1189419
Зачем нужно разделение на проверямые и непроверяемые исключения?
72 1189420
>>189419
чтобы был выбор
sage 73 1189434
Почему Checked Exceptions не пометят как Deprecated?
74 1189539
>>189419
Исторически слежалось.
>>189434
Потому что поднимется шитсторм говноедов.
75 1189541
>>189539

>говноедов


По-твоему чекед не нужны?
76 1189551
>>189541
Не нужны.
77 1189556
>>189551
Как сказать, что этот метод может выкинуть исключение, и что его надо обязательно обрабатывать?
78 1189557
>>189556
Javadoc.

> его надо обязательно обрабатывать


Что ты подразумеваешь под словом "обработать"? 99% случаев они логируются и выполнение кода прерывается. А в 1% случаев разработчик сам знаешь как обработать и продолжить выполнение кода.
79 1189564
>>189557

>Что ты подразумеваешь под словом "обработать"?


Прологгировать и выкинуть код бизнес-ошибки на выход например.
Чекед ЗАСТАВЛЯЕТ тебя знать и обрабатывать эксепшены.
Анчекед просто вывалятся в рантайме и все, с непредсказуемым результатом
80 1189583
>>189541
По-моему анчекед не нужны.
81 1189628
Хочу подключить файловую БД, и чтобы не нужно было писать запросы руками, типо как в Room Persistance Library для ведроида, только для декстопного приложения. Что скажете за jOOQ, этого вообще кто-нибудь использует?
82 1189653
А как вам такое Илн Маск?
ЭКСЕПШНЫ НЕ НУЖНЫ
Пусть метод возвращает юнион успешного результат и возможных ошибок. А кидать только ошибки которые никак не хендлятся.
хуй такое в джаве будет
83 1189660
>>189653
Вы теряете самое полезное, что есть у эксепшна: стектрейс.
84 1189668
>>189660
Тебе не нужен стектрейс если ты (и автор библиотеки) обязан обработать все варианты поведения.
нигга.жпг
85 1189672
>>189660
Для стектрейса конструкция try/catch необязательнп. Его можно создавать в конструкторе эксепшена. Речь идёт о другом способе передачи эксепшона наверх, к вызывающей функции.

И да, в жаве оно сильно и не нужно. Это для пирформанса или взаимодействия с другими языками может быть удобно (одна из причин, почему хотят сделать подобную штуку в C++ [1]).

[1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0709r0.pdf
86 1189681
Как это починить? В других java-приложениях тоже шрифты ломаются или вообще ничего не показывает

manjaro linux, openjdk-8
(На oracle java то же самое было)
87 1189682
>>189653
>>189660
>>189668
>>189672
Ладно я погорячился признаю. В своем коде я предпочитаю юнионы, они отлично заменяют чекед эксепшны, но унчекд не надо убирать, пусть будутт для простых вещей.
88 1189691
>>189681
Впервуюочередьябысталискатьпроблемувсистеме,скореевсегоджаватутсовершеннонепричемещевозможнопроблемазаключаетсявсамойideтакчтоябыпопробовалпереустановитьее
89 1189694
>>189672
Для редких ситуаций (см. Эксепшнл) эксепшны в джаве работают быстрее, чем ретурн флаги. Гугли The exceptional performance of Lil' exception.
90 1189702
>>189694
Потмоу я и сказал, что в жаве (как и любом языке, работающем поверх VM) оно особо и не нужно. JIT эту хрень может неплохо соптимизировать. А вот для компилируемых в нативный код языков этот вариант гораздо лучше.
sage 91 1189748
>>189691
Хаха, очень смешно. Шутник блядь. Зарепортила тебя, хуесос.
92 1189755
>>189702
Ну у нативных тоже не всё так просто. Вон в цпп до сих пор не решили как им работать: так и компилят стандартную либу в двух вариантах, половина либы в макросах.
93 1189757
>>189755
В ЦПП стандарта на такие ошибки просто не было (впрочем и сейчас нет, не факт, что документ вышу примут к C++20). Тут стоило бы вспомнить об optional, который добавили только недавно, а в стандартной библиотеке вместо него используют итераторы.

А ошибки там это вообще больная тема. Вспомнить хотя бы ублюдский math.h с наследием Си.
94 1189763
>>189681
>>189748
Мне с этим тут помогут или нет?
Стоит ли идти в Linux-треды?
95 1189800
>>189748

>Зарепортила


Тяночка!!! Как же хочется тяночку! Няшиться под пледиком! Тян тян тян!
96 1189818
>>186719
как тебе пришла в голову перекатываться с джс на джаву?
97 1189821
>>188445
лучше на clojure
98 1189822
>>188452
это задача groov7
99 1189824
>>189757
Ну там многие проблемы - наследие си. Его главная проблема - там не изобрели мавен до сих пор. Только по этой причине писать на плюсах не хочется.
100 1189841
>>189763
Не помогут. Пиздуй нахуй отсюда.
101 1189969
>>189763
Я ебу поспрашивай красноглазых.
https://stackoverflow.com/questions/17510099/ugly-fonts-in-java-applications-on-ubuntu

Знаю что жидея по идее (привет тавтология) это вроде должна фиксить, точнее во встроенной жре у нее есть фикс.
102 1189983
Сап тред
1) Код типа такого (спринг) - норм или как такие вещи делают нормальные люди?

@Async
ListenableFuture<Void> doSomethingAsync() {
dolgayaOperacija();
}

...
где то в другом месте

ListenableFuture<Void> result = superService.doSomethingAsync();

result.addCallback(s -> {
resultatGotov(); // #1
}, e -> {
// хуй
});

2) как в коллбаке #1, убедится что транзакция которая вызывала метод doSomethingAsync() уже закоммитилась?
103 1189998
>>189983

> норм


Не норм. ListenableFuture костыльная хуйня без задача. Если так уж хочется - используй CompletableFuture, он намного удобнее в чейне операций. Если у тебя IO операция, или хочешь быть модным - используй rxjava или reactor.

> 2) как в коллбаке #1, убедится что транзакция которая вызывала метод doSomethingAsync() уже закоммитилась?


Чоблять? Транзакции не вызывают методы.
Если тебе нужно знать закоммитилась ли уже транзакция в рамках которой был вызван метод, то выбрасывай архитектуру компонента и переделывай заново на функциональный подход, чтобы лямбде в колбеке было вообще похуям что было до нее и что вокруг нее. Костыли с пробросом объекта мануальной транзакции монадой до добра не доведут и сделают еще хуже.
Если ты говнокодер и не можешь сделать иначе, то хотя бы вызывай асинхронщину в самом конце транзакции.
104 1190001
А лучше после коммита.
105 1190006
>>189998

> Чоблять? Транзакции не вызывают методы.


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

> то хотя бы вызывай асинхронщину в самом конце транзакции.


Вот я хотел спросить, как это правильно сделать? она не всегда завершается раньше, чем приходит коллбек.

примерно так:

Request r = new Request();
r.setState(NEW);

....

ListenableFuture<Void> future = superService.doSomethingAsync();
future.addCallback({
// вот тут изначальная транзакция еще не обазательно закоммитилась, поэтому нельзя сделать просто
r.setState(DONE);
}, e -> {
r.setState(FAILED);
});
106 1190010
>>190006
Ты делаешь транзакцию и изменяешь какие-то данные. Во время транзакции запускаешь асинхронную операцию, которая выполняется в отдельной транзакции, и тебе нужно, чтобы первая транзакция уже завершилась, чтобы вторая транзакция с увидела изменения первой транзакции (вангую дефолтная read commited изоляция) и изменить их.

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

> Вот я хотел спросить, как это правильно сделать?


Ты накурился там? Просто вызываешь свой superService.doSomethingAsync() после завершения транзакционного метода (если декларативно) или транзакционного блока (если вручную рулишь).
107 1190020
что думаете о j-born?
108 1190086
>>190006
Лучше тупо запустить асинхронщину после завершения метода (как уже писали выше), но если сильно приспичило, спринг позволяет вешать колбэки на завершение текущей транзакции, см. TransactionSynchronizationManager
109 1190096
>>190020
Наеб на доллары тупых войтивайти.
110 1190132
>>190020
Норм фильмец.
111 1190164
>>190096
Какую альтернативу предложите?
112 1190306
У меня есть Entity класс User, у него есть поле List<UserAliases> userAliases = ..., это связь с таблицей user_aliases, маппинг настроен корректно, есть UserDaoImpl, так вот как получить из него поле userAliases?
Или сформулирую подругому - как получить из entityManager текущий объект/класс текущей сессии? или только обращаться к sessionManager? Я ньюфаг, поэтому неуверен что четко сформулировал вопрос.
113 1190326
>>190306

>неуверен что четко сформулировал вопрос.


Не зря сомневаешься, получился совсем бессвязный набор слов, попробуй ещё раз
114 1190333
Посоветуйте каких-нибудь актуальных книжек по Spring Security, в частности интересует авторизация через REST API и управление ролями/привелегиями пользователей.
115 1190396
>>190333
google: spring security example
116 1190449
>>190164
Книги для начала. На курсах тебе предложат те же книги только ужатые раз в 50. А потом можно на всякие coursera записаться. Из отечественных говорят хекслет норм. Но опять же новичкам иам тяжело по тем же отзывам.
Ну а если спросишь меня то самый православный вариант это учить java core по книгам потом spring in action и пиздуй кодить где только можно
117 1190475
>>190449

>


>Книги для начала. На курсах тебе предложат те же книги только ужатые раз в 50. А потом можно на всякие coursera записаться. Из отечественных говорят хекслет норм. Но опять же новичкам иам тяжело по тем же отзывам.


>Ну а если спросишь меня то самый православный вариант это учить java core по книгам потом spring in action и пиздуй кодить где только можно



Я про себя могу описать кратенько.
Лет 10 назад на заочке закончил универ по ИТ, все языки были базово. Потом подзабил и вот пару лет как хочу вкатить.

Мне главное повторить то что знаю хорошо, прокачать то чего не было тогда (тот же гит) и понять как работают паттерны и прочие новые фишки. читать пробовал, ролики смотрел но вопросы задавать некому и по большому счету. цена вопроса не такая большая чтобы в случае неудачи винить кого-то кроме себя. А там вроде и обратная связь и соревновательная часть.
118 1190478

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

119 1190536
>>190164
Никакую. Пошел нахуй.
120 1190537
>>190475

> Лет 10 назад на заочке закончил универ по ИТ


> 30+ (33-34+ по факту)


> заочка говноадмина


> 0 коммерческого опыта разработки


Мы вам перезвоним.
121 1190557
>>190537
29 по факту

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

сам то где работаешь и кем? сколько лет? какой опыт?
122 1190558
>>190536
и вам хуй соси
123 1190576
У меня ебанутый вопрос. А есть какие-нибудь аудиокниги по общим вопросам программирования? Парадигмы, методологии и т.п. Мне бы не хотелось ещё и в метро глаза выжигать, а вот послушать чего-нибудь можно.
124 1190583
>>190557
>>190558
Зашкворчало от ненайдящего работу войтивайти.

> абсолютно нерелевантный бэкграунд


Еще и это.
>>190576

> не хочу глаза выжигать


> хочу получать зарплату за программирование


Еще один. Хочешь быть геем, но не хочешь долбиться в жопу с горки кататься, а саночки возить не хочешь.
125 1190584
>>190583
У меня всё хорошо с работой, не переживай. И расслабь булки, от твоих постов несет детской злостью.
Нечего сказать - пройди мимо, не вываливая дерьмо из своей головы.
126 1190597
>>190584
Ого, войтивайти пытается огрызаться. Но ничего, жестокая жизнь еще обгрызет.
127 1190600
>>190597
хуле ты резко против? на галере места мало?
128 1190608
>>190600
Это же двач, тут омежки могут себя немного людьми почувствовать. В реальной жизни же слова боятся сказать, не принимай близко к сердцу.
129 1190609
>>190608
Вкатывайся, в отрасли жуткий кадровый голод, места хватит всем.
130 1190613
Если кому интересно могу тут раз в 2-3 дня писать о своих успехах-неудачах с j-born
131 1190615
>>190600
Потому что ты будешь, как и все войтивайти, демпинговать, лишь бы взяли, и просажить зарплатный рынок.
>>190608
Проекции. На собеседовании напрямую людей спрашиваю в чем их цель войти в айти, если они перекатчики, а не нормальные люди.
132 1190620
>>190615
Все равно этот рынок имеет один из самых высоких планок по входу. Все остальные уйдут или в php или в js.
Ну да ладно
133 1190636
>>190620
Глупости. Джава не особо сложнее промышленного php и современного фронтенда. Особенно на юаньском уровне.

Тогда как каждая каждая школа по объебу вотивайти на доллары, обещая золотые горы за минимум усилий и скромную сумму за курсы, учит именно джаве.
134 1190647
>>190636
Я провел небольшой анализ рынка и понял что собственно java выше всего оплачивается, или почти
135 1190649
Пытаюсь перекатиться в погромисты, работать qa уже просто достало. Есть несколько простых проектов на гитхабе, читаю теорию. Вот тут проблема - чтение "Филосифия Java" нелегко дается нет анон, материал понимаю, но лучше усваивается интерактивный материал
да и времени на чтение остается мало после работы. Товарищи говорили уйдут выходные на чтение и понимание материала, но что-то как-то не идет. Может это я такой тупой.
Понравился сайт этого чувака, где все просто и лаконично укладывается без тонны текста: http://developer.alexanderklimov.ru/android/
еще опробовал codecademy - вещь прикольная, теория+практика считай что без отрыва от производства Но у них проблема - курс заканчивается быстро, и нет больших проектов. Надо бы ресурсу больше проектов замутить

К чему это я? Может кто подскажет интерактивное обучение по типу джавараш/codecademy/developer.alexanderklimov.ru немного теории+практика на месте+проекты
Буду признателен
136 1190666
>>190649
Много раз писалось - udacity. Для вката в джаву книги не нужны, достаточно гугла и онлайн туториалов. Особенно игнорируй SICP, который так любят тут советовать. Ну, как будешь сениором можешь прочитать на досуге.
137 1190668
>>190649
Если ты не можешь осилить простую фесолофию java, то это значит, что ты тупой программирование не твое и твои мозги заточены под другую сферу деятельности.
138 1190671
>>190647
Скажи это фронтенд-разработчикам, у которых долларового фриланса полон апворк и полно хорошо оплачиваемых фуллтайм позиций что здесь, что там.
139 1190673
>>190671
уговорил, ушел на фронт-энд. чао
140 1190691
>>190673
>>190671
зря зря, как фронтендер говорю - вся удаленка задемпингована школьниками и индусами.
141 1190695
>>190691
Подскажи где найти? Реакт нужен.
Запостил джобу на апворке - ни одного нормального кандидата. Есть парочка нормальных с Украины, но они хотят овер $40 в час, я же могу макс $25 платить.
142 1190710
>>190691
и куда следовать тогда (кроме как нахуй)?
143 1190721
>>190691
Если твои конкуренты - это школьники и индусы, то у тебя все не очень хорошо.
144 1190728
>>190710

Роботы-ебобаты, интернет вещей, VR, вот это всё.
145 1190729
>>190475
Нормальное образование не может дешево стоить. Посмотри на зарплаты среднего java сеньора и прикинь сколько будет стоить у него обучение. Так что дружище не страдай херней и прочти хотя бы базовую книгу а вопросы гугли или тут задавай
146 1190740
Чо делать если я слишком тупой для задачек на codewars?
147 1190761
Сап, ананасы. Хочу вкатиться в Java для распределенных систем. С чего начать погружение в архитектуру распределенных систем на java? Когда уместно использовать броккеры сообщений? Есть какие-то советы, каких практик стоит придерживаться, чтобы бек можно было относительно безболезненно разнести по разным нодам? Если все упирается в базу, то как масштабировать классическую sql базу, чтобы ее тоже можно было разнести по разным нодам?
148 1190783
>>190761

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


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

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


Видимо, речь все же о масштабировании/отказоустойчивости. Тут достаточно понимать, что все состояние (сессии, кэши, локи), которое можно было бы держать в памяти с одной нодой, теперь придется как-то разделять между всеми. Иногда может оказаться достаточным просто все вынести в БД, в более интересных случаях можно использовать хранилища вроде Redis либо какой-нибудь встраиваемый IMDG.

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


Сильно зависит от специфики приложения и того, в каком режиме собираешься использовать ноды. В любом случае не помешает грамотный DBA.
149 1190787
>>190761

Как уже говорил в твоем вылезатор тредике -

1) Караван всегда движется со скоростью самого медленного верблюда. Хоть усрись.

2) Распараллеливание работает на независимых данных/тасках. На зависимых оно не работает.

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

3) Балансировка сама по себе не балансируется, ебись с ней сам, перепиливаю граф тасков полностью по 4 раза в день. Я запускаю профайлер по 1 раз в день, каждое профилирование с правками занимает 24 часа.
150 1190790
>>190787
Забыл:
4) Распараллеливание работает онли на большом объеме данных, в проитивном случае будет только проигрыш на оверхеде и latency, особенно в варианте с распределенным сетевым кластером.
151 1190805
>>190787

Собственно, вот посмотри пример из гейдева:

http://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine
152 1190807

>Java для распределенных систем.


>брокеры сообщений


>бек


>масштабировать классическую sql базу


>пример из гейдева

153 1190808
Аноны, как сильна нужна математика для джава программиста? То что нужна, это понятноне вдаваясь в подробности, какая именно. Мне интересно, как нужна она начинающему прогеру
154 1190810
>>190808
Энтерпрайз-макаке не нужна
155 1190811
>>190805

>http://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine



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



> Enterprise Java

156 1190835
>>190691
У меня знакомый уехал в тайланд на 100 баксов в час рейт работать на калифорнийскую компанию.

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

диванон по знакомому, азазаз
157 1190837
>>190808
Нужна и сильно.
158 1190964
>>190837
какая именно?
159 1191057
>>190835

>в тайланд на 100 баксов в час


Хм...
160 1191074
>>190964
Пиздит он, не слушай
161 1191119
Аноны, появился вопрос. У меня есть отдельная функция которая подставляет данные файла к переменной. Но нужно что бы подстановка не прекращалась, и если была подставлена последняя строка, все начиналось заново. Как мне это реализовать?
162 1191124
>>191119
чевоблять?
163 1191125
>>191124
я не знаю как еще проще объяснить
164 1191134
Джаваны поясните что из этих глав можно нахуй пропустить или все же все нужны?

lлава 7. Наследование
Iлава 8. Пакеты и интерфейсы
lлава 9. Обработка исключений
Iлава 10. Ввод-вывод данных
lлава 11. Мноrопоточное программирование
lлава 12. Перечисления, автоупаковка, статический импорт и аннотации
lлава 13. Обобщения
Iлава 14. Лямбда-выражения и ссылки на методы
lлава 15. Аплеты, события и другие вопросы
lлава 16. Введение в Swing
Глава 17. Введение в JavaFX
165 1191137
>>191134
15-17 пропускай
166 1191141
>>191124
чето типо постоянная работа с файлом. Открывать его заново, когда закончились строки для чтения
167 1191196
Пиздит он >>191074 , не слушай.
168 1191197
>>190835
ой плес. у всех есть такой знакомый. по факту заграницей требуются спецы по нормальным языкам типа жавы или функциональщины, а не индусофронтендеры
169 1191203
>>191197

> у всех есть такой знакомый


Вот только по факту все эти знакомые это фронтендеры, сидящие либо на долларовом фрилансе тут ебанутые, либо сидящие на долларовом фрилансе в более приятных странах.
170 1191230
>>191137
А лямбды нужны? Без них то как то обходились раньше
171 1191241

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


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



Можно подробнее? Кто-нибудь пробовал - как оно?
172 1191258
>>191230
вцелом тоже можешь пропустить.
173 1191268
>>191230
Нужны. Хуево без них было раньше
174 1191459
>>191230
Лямбды сделали Джаву менее громоздкой, более удобной, добавили гибкости, которой так не хватало, убрали анальное ООП.
Свой высокоуровневый протокол поверх nio 175 1191579
Всем привет. Хочу написать библиотеку, работающую с высокоуровневым прикладным протоколом поверх java.nio.channels.SocketChannel. Этот протокол описывает определенные сообщения, которые клиент и сервер шлют друг другу, причем сервер может отправлять сообщения клиенту в любой момент времени, не только как ответ на запрос клиента.

И вот, вопрос: как лучше всего спроектировать/оформить библиотеку? Хочется, чтобы она была неблокирующей, простой в своем АПИ, ну и чтобы она НЕ создавала свой собственный Selector, и НЕ делала бесконечный цикл в отдельном треде (хочется оставить контроль пользователю библиотеки).

Если есть пример какой-нибудь высокоуровневой библиотеки поверх java.nio.channels.SocketChannel, был бы благодарен за ссылку, потому что гуглил-гуглил - а ни одну не нашел, у всех хелловорлдов высокоуровневая логика непосредственно рядом с while (true) { selector.selectedKeys() ... }, и все норовят создавать тред сами, а я хочу это оставить за пользователем.
176 1191589
>>191579

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


Как-то мало вяжется с высокоуровневостью, у тебя кишки имплементации видно получается.
177 1191627
>>191579
Не создавать свой селектор это слишком, но вообще посмотри на kryonet
178 1191632
Как лучше хранить JSON-поле сущности? Map<String, Object>? Нужно хранить отформатированный текст, созданный с помощью Draft.js.
179 1191638
>>191632
Сделай POJO модельку.
180 1191651
>>191632
Делай класс, не обмазывайся мап-говном.
181 1191677
>>191074
>>191196
И кому из вас верить теперь?
182 1191691
>>191589
>>191627

Хочется, чтобы если пользователь захочет - он сможет в том же треде и в том же while (true) работать с другими высокоуровневыми надстройками над nio. Я вообще даже предполагаю, что библиотека не будет никуда ни с кем соединяться, а требовать готовый SocketChannel в конструкторе (ее еще будет в таком случае удобно тестировать).

Реально что ли плохая идея держать библиотеку минималистичной? Почему "Не создавать свой селектор это слишком"? Я же не знаю, что еще захочет пользователь в том же треде организовать.
183 1191693
>>191579
Открой для себя netty.
184 1191698
>>191693
он разве не утратил свою актуальность с появлением nio? да и хочется минимум зависимостей, тут будет из пушки по воробьям
185 1191708
>>191698
Наоборот, netty нужен, чтобы не ебаться напрямую с низкоуровневым nio
186 1191709
>>191579
Напиши лучше новый фейсбук.
Чтобы понять как библиотека должна работать, нужно понять какую проблему ты решаешь. Если у тебя нет никакой проблемы, а хочется просто библиотеку, то забудь и не трать время.
Если ты не знаешь, как с ходу сделать идеальное API, то начни с любого, т.к. с первого раза не получится в 99%. Потом в процессе использования (да даже тестирования. У тебя ведь будут тесты?) поймешь ту "боль", которая возникает у пользователя.
187 1191715
Как писать интеграционные тесты?
188 1191730
>>191691

>Почему "Не создавать свой селектор это слишком"? Я же не знаю, что еще захочет пользователь в том же треде организовать.


Потому что неясно, в чем тогда смысл такой "высокоуровневой" библиотеки
189 1191731
>>191715
Что ты подразумеваешь под интеграционными тестами?
190 1191733
>>191731
Ну типа как юнит но интеграционные.
191 1191761
>>191733
Ну вот и пиши типа как юнит, только на целые законченный сценарии. В чем сложность? Какого типа приложение?
192 1191769
>>191761
Приложение для работы с бд с фронтендом на вебе.
193 1191772
>>191579
Хуйней не страдай и используй thrift или protobuf, если тебе нужен бинарный протокол. Лучше все равно не напишешь, а если ты хочешь ПРОСТ, то ты не в тот язык зашел, байтоёбушек.
194 1191787
>>191769
Спринг?
195 1191790
196 1191799
>>191772
он там полубинарный, JSON, перед которым идет бинарный хедер.

>>191730
смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно в/из ByteBuffer
197 1191819
>>191790
Тогда тебе повезло, там все для тестов есть. Гугли по словам вроде spring test или читай https://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html
Идея в том, чтобы поднять вместе с тестом целый спринговый контекст, желательно максимально приближенный к "настоящему", и in-memory БД вроде hsqldb
198 1191822
>>191799

> он там полубинарный, JSON, перед которым идет бинарный хедер.


И нахуя? Оверхед на обязательства по http протоколу хуй три пизды да нихуя по сравнению с самими джейсонами.

> смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно в/из ByteBuffer


И трифт, и протобаф умеют вполне высокоуровнево конвертить сразу в классы.

>>191819

> объяснять тестирование спринга как какое-то откровение


Чет слегка кекнул.
199 1191824
>>191799

>смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно


Т.е. сериализация тебе нужна по сути, а дальше ебись с сокетом как хочешь. Для этого уж точно свой велосипед лучше не изобретать.
200 1191828
>>191822

>Чет слегка кекнул.


Думаешь стоило просто сразу нахуй послать?
201 1191831
>>191828
Вариант. Или проигнорировать. Если человек даже не пытался погуглить миллиарды статей на хабре про интеграционное тестирование самого популярного кейса использования самого популярного джава фреймворка, то разжевывать ему и засовывать пережеванное в крепко сжатый рот это просто себя и свое время не уважать.
202 1191932
Аноны, вот я начитался советов в интернете и хочу купить книгу Effective Java (3rd Edition).
На русских сайтах я нихуя не вижу кроме доисторических изданий. На амазоне она стоит неебических 30 бачей. На пиратских сайтах чёт все ссылки битые.
Покажите долбоёбу, где её взять, не потратив две моих дневных зарплаты, пожалуйста.
203 1191938
>>191932

>не проверил рутрекер


я долбоёб, игнорьте вопрос

Но тем не менее, где вы покупаете книги, если хочется в бумажном виде?
204 1191941
>>191938
Я книги уже 4 года не читаю.
205 1191965
>>191938
Не знаю. Не помню когда последний раз читал бумажную книгу. Лет 5 назад? Больше?
206 1192147
>>186670 (OP)
Есть в треде господа, работавшие с REST-приложениями на фреймворке Stripes?

Я собрал maven'ом фреймворк Stripes из исходников. Убедился, что в библиотеке есть все нужные мне классы. Написал такой простой компонент: https://ideone.com/DGZ1cv

Как заставить это работать, чтобы приложение принимало запросы и возвращало ответы? Чтобы можно было запросить API через браузер, curl или postman.
207 1192151
Почему UserDetailsService даёт только метод loadUserByUsername и не даёт метода loadUserByUserId? Ведь у пользователя может и не быть юзернейма, например, если он зарегался через сторонний сервис (например, ВК или Гугл), а id будет всегда.
И если я на самом деле буду передавать в loadUserByUsername id пользователя (буду наёбывать Spring Security!), это нормально или плохо?
test.png8 Кб, 200x101
208 1192155
Сап, помогите с событиями.
При клике на иконку должно меняться изображение и цвет задника. Это я сделал. После этого кнопка остается "нажатой". Как сделать так чтобы после нажатия цвет обратно становился серым?
209 1192189
>>192147
Ты археолог?
210 1192190
>>192189
На чем это делается в наши дни?
211 1192338
>>192190
Spring Boot, если для ленивых, а так вариантов - масса.
212 1192367
>>192147
Ну как там в 2008?
>>192151
Даже обоссывать лень. Такую хуйню написал.
>>192155
Телепаты джаваскрипта в отпуске.
213 1192368
Нормально ли начинать учить яву с нуля по Шилдту?
214 1192408
>>192368
http://developer.alexanderklimov.ru/android/java/java.php
Я по этому сайту начал, вроде норм.
215 1192451
Поясните за спринг бута. Разница между 2.0.0+ и 1.Х+ версиями только в смене томкэта на хиккари? Проект с 1,5 не работает на 2,0.
Есть смысл ковырять версии до 2 или уже все на нее переехали?
217 1192475
>>192474
ЯННП
218 1192564
>>192451
Разница в переезде на пятый спринг, восьмую жаву, вот это вот всё.
219 1192568
>>186670 (OP)
Сап, джава-мэны. Написал такой код для обработки запросов: https://ideone.com/z7VioE

Если потребуется делать роутинг многих путей запросов, как избавиться от увеличения рамера кода? Можно как-то более красиво добавлять обработчики?
220 1192587
>>192151
Кароч я понял, тут username это необязательно тот юзернейм, который используется при логине в паре с паролем. Поэтому буду его генерировать каким-нибудь образом (например, user_id[id юзера]_[рандомная строка]), а для логина через имя пользователя и пароль буду использовать другое поле.
221 1192592
>>192568
От увеличения какого кода ты хочешь избавиться?
Добавь отдельный файл с маппингом запросов на методы контроллера. Или возьми любой mvc фреймворк и не изобретай велосипед.
222 1192601
>>192568
Откуда get post методы взялись? ЯННП.
223 1192603
>>192592

>Добавь отдельный файл с маппингом запросов на методы контроллера


Можно пример?
224 1192606
>>192564
Я надеюсь в реальной работе все уже давно на 2.0?
Пробую перекатываться из С# в спринг.
225 1192629
>>192606
Нет.
Оставайся на месте.
226 1192631
>>192568
Ну и говнокод. Даже обоссывать противно, вдруг зашквар через мочу вверх по струе передается.
227 1192651
>>192568
Сперва я испугался, что тырпрайз совсем меня кодить разучил, но потом понял, что ты просто хуйню написал.
228 1192663
>>192629
Что за буйный шизик. Почти забыл что я на дваче.
sage 229 1192666
>>192629
>>192631
>>192651
Когда сказать по делу нечего, а кукарекнуть хочется.
230 1192668
>>192666

> это сок, а не моча111 и вообще у вас бомбит

231 1192783
>>192606
Он релизнулся полтора месяца назад. Spring Cloud соответствующей версии ещё не релизнулся. Как думаешь?
232 1192794
>>192783
То есть одна версия еще недостаточно устарела, а другая не доработана. Заебись.
233 1192795
>>192794
В смысле? Что тебе не нравится в 1.х версии?
234 1192796
>>192794
>>192795
Ну и они там не то чтобы делали breaking changes, так что хз о чем ты беспокоишься.
sage 235 1192798
Что лучше для REST апи один большой реквест или много маленьких?

Например есть страничка пользователя которой нужно подгрузить аватарку инфо комменты и тд. Лучше сделать это как
/user/1

или

/user/1
/photo/1
/messages/1
и тд?

В первом случае отпугивают проблемы с тем как это кэшировать и проблемы с реализацией. Но это кагбы быстрее чем много запросов.
236 1192814
>>192798
отдаёшь html страницу. Для кого html делали?
237 1192816
>>192814
Андроиду тоже хтмл передавать?
238 1192819
>>192798
/api/user/{id}/photo
Хули тут думать?
239 1192820
>>192819

>Хули тут думать?


Оно и видно, что ты не подумал нихуя.
240 1192822
>>192820
Зато ты такой охуенный умник высрался.
241 1192825
>>192798
Описалово не полное у тебя.
Если брать в пример соцсеть со страничкой, сообщениями, оповещениями и т.п., то тут нужно какую-то середину искать, не отсылая 500 запросов на каждую хуйню, но и не передавая огромные пакеты данных. Я бы отдавал страницу с фото, например, а сообщения и оповещения отдельным запросом забирал, тебе ведь их в любом случае отделить надо.
Глянь вообще апи разных сетей, как они это сделали.
242 1192827
>>192795
Ну вообще то там солидная разница в конфигурации.
243 1192828
>>192825

>не отсылая 500 запросов


Только что смотрел Фейсбук который буквально делает 250 запросов чтобы загрузить страничку группы.
244 1192829
>>192828
Зачем ты смотрел говно?
245 1192842
>>192829
>>192822
>>192666
>>192631
Кек, это один и тот же токсичный ребенок?

>>192828
Глянь ещё что-нибудь, фб слишком большой и старый.
246 1192848
>>192783
Финчли уже релиз кандидат, тащемта.

Да и пружина облако постепенно становится не нужна с нашествием k8s-based решений.
>>192798
Второе. The Interface Segregation Principle же.
>>192814
Эх, сейчас бы в 20!8 рендерить HTML на сервере.
247 1192850
>>192848

>Эх, сейчас бы в 20!8 рендерить HTML на сервере.


придумывать себе проблемы, а потом героически с ними бороться
248 1192852
>>192850
Можно было бы по делу обоссать тупоголового деграданта, но ты спалился раньше - не ставящая точек мелкобуква.

Это ставит на тебе крест.
249 1192876
Где можно почитать про конфигурцию спринг секьюрити на буте 2,0?
Гугл выдает старье 1,5+.
251 1192901
>>192884
Спасибо. Мне просто интересно почему гугл выдавал какие то говнобложики вместо офф документации.
252 1192912

>Запускаю идею


>Обновление политики безопасности, пожалуйста прочтите


>Мы собираем ваши юзернеймы, пароли, телефоны, куки и ИНН


>Принять/Отказаться и выйти


Как же я блядь это обожаю.
253 1193072
>>192912
Ну это наверно Ultimate?
254 1193128
Сейчас учу Java. В какой момент начинать осваивать SQL?
Untitled.png65 Кб, 684x619
255 1193148
Пикрелейтед пример из Спринг ин экшн. В верхнем методе jsp рендерит поля из объекта в "spitter" в модели, в нижнем при проверке ошибок мы объект в модели не сохраняем, откуда спринг берет значения неправильно введенных полей? И вообще нахера эти теги нужны, в чем разница с обычным EL?
256 1193199
>>193148
Для начала, ты же понимаешь, что вся эта jsp-херня не нужна, ее можно скипать?

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


Подозреваю, что как изначально спринг забайндил форму в объект и засунул его в модель, в соответствии с modelAttribute="spitter", так и оставляет его там, в том числе на время рендеринга результата.

>И вообще нахера эти теги нужны


Чтобы вот это самое modelAttribute="spitter" писать, а потом в инпутах только path="firstname", типа форму целиком на объект байндишь. Иначе надо рисовать обычные html-инпуты с конкретным value; можно, действительно, и так, без специальных тэгов.
257 1193216
>>193128
Ни в какой. Бросай вообще.
258 1193238
>>193072
Да, и что? В бесплатной версии тем более все собирают.
259 1193240
>>193216
Аргументируй
260 1193245
>>193148
Зачем тебе аннотация @Valid?
261 1193257
>>193238
Там можно отключить отправку данных
262 1193261
>>193199
На время какого блин рендеринга? Аттрибуты модели не сохраняются между запросами
. Я выяснил, что в нижнем методе объект (который с @Valid) уже находится в модели, откуда он там? Вот в чем вопрос

>>193245
Проверяет значения параметров запроса
263 1193269
>>193261

>Проверяет значения параметров запроса


Уверен?
264 1193276
>>193269
проверяет объект валидатором, если тебе угодно, или что не так?
265 1193299
>>193276
Ну если валидация настроена, то все в порядке.
266 1193335
Ребзя, не кинете ссылочку, на годные исходники сеньоров, чтоб набраться опыта и узнать какие-нибудь фишечки и профессиональные фичи использования джавы? инбифо гитхаб
267 1193339
>>193335
Открываешь исходники спринга и обмазываешься.
268 1193340
>>193261

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


У тебя один запрос, POST на /register, в ответ на него сервер отправляет ту же самую html-страницу (return "registerForm"), во время ее рендеринга в модели лежит объект, который спринг туда положил в начале обработки этого же запроса.
269 1193351
>>193340
Я понимаю, что он в модели, но я не понял, почему спринг его туда самостоятельно добавил.
Но судя по ответам отсюда https://stackoverflow.com/questions/8688135/modelattribute-annotation-when-to-use-it/26916920#26916920 объекты автоматически добавляются в модель, тогда собственно все понятно
270 1193370
Java-господа помогите. Есть класс, конструктор которого принимает строку. После в том классе нужно разделить строку методом split(), но возникает ошибка
java.lang.NullPointerException
как фиксить?
271 1193372
>>193370
Добавить обработку пустой строки.
272 1193390
>>193372
Но строка же не пустая, или я тебя не правильно понял?
273 1193393
>>193390
У тебя где-то строка становится равна null. Вот проверку на null и надо добавить. Желательно найти причину почему в функцию передаётся null вместо строки. Так что отладчик в руки и вперёд.
274 1193491
>>193370
Ты ведь не поленился и загуглил, в каких случаях получается такой эксепшен?
275 1193536
Тупой вопрос тайм
В чем разница в спринге между использованием DAO, Сервисами и ЖПА/XYZрепозиториями? По сути это же одна и та же хуйня, не?
276 1193561
277 1193583
>>193390
Телепат из отпуска заглянул. У тебя передается null вместо пустой строки, т.е. "". В Жабе это разные вещи.
278 1193693
шатает
280 1193699
Хочу сделать AfterReturning-эдвайс у методов интерфейса, который экстендит JpaRepository. Эти методы помечены моей аннотацией. Будет ли этот эдвайс работать? Просто ведь Спринг подсовывает свой прокси и я боюсь, что мои аннотации "потеряются"/не будут видны эдвайсу.
282 1193712
опишите в двух словах нахуя нужны референсные методы и в чем они незаменимы? это же лямбда по сути, просто с сахарком
283 1193713
>>193712

>просто с сахарком


Затем и нужны. Как и лямбды.
284 1193720
>>193713

> лямбды


> сахар



Ебать ты долбоеб.
285 1193834
>>193720
Кыш, ребенок.
286 1193855
>>193834
Сдрисни, войтивайти.
287 1193885
Нормально ли передавать PageRequest в сервис-слой из контроллера или нет?
288 1193953
>>193885
Ну как бы методы в репозитории, которые отдают данные постранично, принимают параметр Pageable.
289 1193956
Поменял через рефлексию значение Boolean.TRUE на false, мой мир пошатнулся.
290 1194040
>>193956
Можешь еще изгавнякать кэшы оберток над примитивами.
291 1194126
>>186670 (OP)
Анончик. Помоги, пожалуйста, ответить на несколько вопросов.

Какими из следующих способов можно запретить наследование класса (речь идет о top-level классах в Java)?

Отметьте все подходящие варианты ответа.

1. Добавить модификатор abstract

2. Добавить модификатор final

3. Добавить модификатор private

4. Не определять конструктор

5. Объявить все конструкторы класса private

6. Запретить наследование нельзя
292 1194154
293 1194197
Джаваны, распишите свои стори, плизи еще кому не лень, но вроде здесь это не так часто встречается, как в веб треде, к примеру, лел.

За сколько вкатились/устроились, сколько зп была по началу и вообще, как устроились в первый раз. Особенно интересно, если город милионник, не более.

спс
294 1194233
Блять, мне так стыдно за NPE, но я не понимаю. У меня есть List<HashMap<String, String>> и я тупо хочу его перебрать. Но суть в том, что у меня жсон на пикриле 2. Я просто получаю его с сервера, ему не нравится то, что сначала идет 0, а потом 2? Если мне приходит ответ аля [0, null, 2, 3] то почему trimToSize не помогает?
295 1194237
>>194233
А, ну я сам ответил на свой вопрос) кек. Какой я догадливый:
removeAll(Collections.singleton(null)) спасло если шо
296 1194252
>>194237

>removeAll(Collections.singleton(null))


Как же хочется лямбдочку... Но понятно, что это android
image.png10 Кб, 632x95
297 1194255
>>194252
Почему все так уверены, что лямб нет?
298 1194279
>>194233
Ты из listClients по индексу нулл вытаскиваешь, придурочный.
299 1194296
>>194197

Устроился без опыта, первые два года 70-80к, потом 140

Сейчас пытаюсь на апворк войти, но там на хуях катают пока что.
300 1194297
>>194255

потому что ты их не использовал
301 1194299
>>194197
Нахуй иди.
302 1194305
>>194297
Я знаю лямбды только на примитивном уровне и вообще далек от версии 8 и выше. Пока андройд на 8-ой сидит и меня все устраивает, да и код других людей вполне читаем.
И вообще я удивляюсь тому, как джава стартанула до 10 версии. Совсем они там ебу дали я смотрю.
303 1194308
>>194305

> Пока андройд на 8-ой сидит и меня все устраивает


Чоблять? В ведро восьмую джаву завезли только в седьмой версии ведра. 99% устройств на предыдущих версиях.
304 1194316
>>194308
че блять? прописываешь compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}

и идешь нахуй.
305 1194320
>>194316

> java.util.streamAPI level 24 or higher.


> java.lang.FunctionalInterfaceAPI level 24 or higher.


> java.util.functionAPI level 24 or higher.



Так что нахуй придется пройти тебе, мелкобуква.
306 1194394
Аноны, выручайте.
Class A{ public void print(){} }
Class B extends A{ public void print(){} }
Class C extends B{ public void print(){} }

A a = new C();
a.print();
Здесь происходит восходящее преобразование и позднее связывание метода, я прав?
sage 307 1194402
>>194394
Здесь происходит вызов виртуальной функции, а у тебя какой-то новояз. Студент чтоле?
308 1194405
>>194402

> вызов виртуальной функции


Чегоблять.
309 1194409
>>194402
>>194402
У Эккеля читал в разделе про полиморфизм.
sage 310 1194410
>>194405
Впрочем да, в жаве почти все функции (кроме тех, что отмечены private или final) являются виртуальными.
311 1194414
>>194410
Чегоблять. В джаве нет виртуальных функций.
312 1194417
>>194414
Хотя ладно, есть, я обосрался.
sage 313 1194418
>>194414
Есть они там, просто тебе не надо писать virtual, чтобы получить определённое поведение. Они там все по-умолчанию виртуальные, чтоб ынтерпрайс-макаки не заморачивались с виртуальными деструкторами и прочим говном из C++-мирка.
314 1194420
>>194394
Если jvm и компилятор могут доказать, что a всегда будет инстансом C, то хуй знает что там будет на самом деле.
315 1194422
>>194418
в примере есть позднее связывание(late binding) и восходящее преобразование типов (upcasting)? все методы кроме статических, финальных и прайвет связываются во время выполнения, и для ускорения их записывают в таблицу методов, правильно?
316 1194570
>>186670 (OP)
Меня заставили ковырять опердень. Есть прототипы на го и джаве. Суть такова, что надо написать рест, который будет позволять заливать файлы большого размера и файлы, помещающиеся целиком в тело запроса пост, добавлять их в GridFS и запрашивать метаинформацию о файлах. Есть рабочий прототип, но мне не нравится, что пришлось писать свое локальное файловое хранилище. Есть библиотека, которая позволяет развернуть локальное хранилище, создавать файлы, удалять и добавлять к ним байты по имени файла или по его метаинформации (например, идентификатору)?

Как выстроить архитектуру приложения? Про архитектурные слои я только читал. Додумался своим микромозгом только до создания классов-обработчиков HTTP-запросов, у который вызывается статический метод при роутинге реквестов.
317 1194580
>>194570
Система хранения контента. Почти классическая тащемта задача с множеством подводных камней.

Задача для повидла или помидорки. Учитывая, что ты задаешь такой вопрос и тем более несешь какую-то хуйню про ручную статику при роутинге HTTP-запросов, то очевидно, что не являешься ни одним из перечисленных. Поэтому объяснять тебе что-то абсолютно бессмысленно - не поймешь.

Поэтому покупай IBM Filenet или юзай какой-нибудь бесплатный owncloud и используй их.
318 1194587
>>194570

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



https://docs.oracle.com/javase/7/docs/api/java/nio/package-summary.html
319 1194588
>>194580

>BM Filenet или юзай какой-нибудь бесплатный owncloud и используй их


Говно. Нужно хранить файлы локально, а потом, если выполняются некоторые условия, перегонять их в GridFS. Есть локальные системы управления контентом?
320 1194772
>>194296
Спс
>>194299
Сам иди
1212.PNG12 Кб, 522x371
321 1194840
Пикрил, объясните для чего здесь оператор return и почему именно val?
322 1194842
>>194840

> объясните для чего здесь оператор return


Потому что возвращается значение из функции.

> и почему именно val


Потому что так эту переменную назвали.

А вообще попробуй написать этот же код в редакторе с подсветкой кода (или IDE) и подобыне вопросы сразу уйдут.
323 1194844
>>194842
Да бля хз почему но именно на этом ебучем return пиздец туплю. Ни с чем до этого момента проблем не возникло. Вот нихуя не могу понять.

Скачал intelijIDE но пока не использую. В онлайн компиляторях работаю. Видимо действительно стоит в IDE начать практиковаться
324 1194955
>>194580

>Поэтому объяснять тебе что-то абсолютно бессмысленно - не поймешь.


А ты не выебывайся, а дай совет по инструментам и архитектуре. Мне это задание дали, потому что никто не брался за эту грязь и занимались простыми вещами. Меня попросили сделать хотя бы работающее хранилище, а я еще хочу создать хорошую архитектуру.
325 1194984
https://www.udemy.com/java-tutorial/learn/v4/content

Принес годноты для нюфань. Бесплатный курс основ Java. На инглише.
326 1194988
>>194984

>годноты для нюфань


>На инглише

327 1194994
>>194988
Ну бля там интермидиэт уровня хватит. Еще и сабы завезли.
328 1195009
>>194955

> А ты не выебывайся, а дай совет по инструментам и архитектуре.


Заплати за консалтинг - дам на понятном тебе языке.

> Мне это задание дали


Ну и делай.
329 1195018
>>195009
Токсичный ребенок, ты вообще из этого треда не вылезаешь, что ли?
330 1195034
пока обучаюсь по книге Сьерра и Бейтса. код набираю в emacs. какой ide пользуетесь и что посоветуете?
331 1195043
>>195034
Читай спецификацию языка, она как затычка для жопы. Если ты ее не знаешь, то тебя ей будут тыкать.
332 1195547
Это нормально, что InputStream для skip() читает пропускаемые байты? Мне, например, в 8Гб файле нужно сначала прочитать несколько заголовков по 8 байт - это мне стриму придется все 8Гб через буфер прогнать? Эта хуйня еще и лимит на пропуск имеет.
Может есть какой-то другой способ быстро и эффективно прочитать только нужные байты?

И это не считая того, что байты в строку переводятся через new String() и пришлось свой метод перевода байтов в uint32 (long в жабе, охуеть) писать
333 1195558
>>194126
Добавить final. Так ты запрещаешь иметь подклассы основному классу.
334 1195562
>>195547

>InputStream


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

>другой способ


RandomAccessFile
335 1195564
>>195034
Idea. По-мне, самая удобная ide. Все, что тебе нужно идёт из коробки. Только немного глуповатый "Jar of Web". На том же pycharm работает лучше.
336 1195603
>>186670 (OP)
Поясните нуфагу за лямбда и функциональные интерфейсы. Их часто используют? А ссылки на методы вообще нахуя нужны?
338 1195658
Привет ан он.Помоги реализовать всплывающие кнопки.Суть такова.Я пытаюсь создать две jpanel так чтобы одна была прозрачный.На одну панель вывожу изображение через jlabel.А на прозрачную панель хочу вывести кнопки.Чтобы они появлялись над изображением только когда я навожу туда мышку.Мне посоветовали переопределить класс jpanel но это не помогает.
JPanel otherPanel = new JPanel( new BorderLayout() ) {
@Override
public void paintComponent( Graphics g ) {
super.paintComponent( g );

// Apply our own painting effect
Graphics2D g2d = (Graphics2D) g.create();
// 50% transparent Alpha
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));

g2d.setColor(getBackground());
g2d.fillRect( 0, 0, getWidth(), getHeight() );

g2d.dispose();
}
}; otherPanel.setOpaque( false );
image.png9 Кб, 518x134
339 1196234
В общем, делаю на спринге каталог товаров.
Хранится в базе данных. Задача: нужно чтобы при нажатии на кнопку edit вместо ссылки с названием появлялся input.
Как лучше всего реализовать?
340 1196238
>>196234
На js
341 1196526
>>188102
Очень просто фиксится. не использовать новую версию
Всё равно 90% говна написали ещё 20 лет назад.
342 1196557
Сап двач. Есть autocloseable класс в нём метод который с помощью bufferedreader читает из файла без try with resource и я не закрываю его в этом методе. Если я помещу объект этого класс в try with resource и вызову этот метод то ридер закроется?
343 1196559
>>196557
Можешь сунуть bufferedreader в поле класса и в close методе класса закрывать его. Тогда можешь в блоке инициализации try with resources хуячить свой autocloseable класс - по выходу из блока вызовется close метод твоего класса. А там что напишешь в методе.
344 1196560
>>196559
Понял принял спасибо
 .png11 Кб, 524x480
345 1196561
>>196560
Пшел нахуй.
346 1196715
Где лучше проводить конвертацию сущностей в DTO и обратно — в контроллерах или сервисах?
347 1196749
>>196715
В сервисе офк.
348 1197133
>>194197
Стажирвался сначала месяцев 5, но можно было и быстрее, если бы времени больше уделял.
Далее 3 месяца испытательног сроки с зп в $250, после этого $500, так уже работаю чуть меньше года, скоро обещают поднять
349 1197134
>>194296
на апворк именно с джавой хочешь войти?
 .jpg13 Кб, 320x331
350 1197135
>>194296

> апворк


> джава

351 1197519
>>188102
Пиздец. Хорошо, что я на восьмёрке.
human-container.png42 Кб, 663x517
352 1197572
Уважаемые Java-господа, поясните. Почему в последней строке невозможно выполнить присваивание? Ведь Student - это Human. Можно ли, не меняя тип переменной в строке (1), все-таки выполнить присваивание в (2)? Если эта проблема имеет известное название - скиньте, загуглю.
353 1197573
>>197572
Вставь дженерики вида ? extends ...
354 1197591
>>197572
Пoтому что иначе можно было бы:
class NotStudent implements Human {...}

humanContainer.add(new NotStudent);
Student student = studentContainer.get(0); <-- ClassCastException

КлассКасты должны происходить только при явных кривых кастах, неявные кривые касты должны выявляться и заворачиваться компилятором.
Но и тут джаваны обосрались - https://dev.to/rosstate/java-is-unsound-the-industry-perspective
355 1197612
>>197591

>https://dev.to/rosstate/java-is-unsound-the-industry-perspective


Жабу год от года хоронят, но год от года выясняется, что альтернатив-то и нет нихуя, кек.
356 1197652
>>197572
это называется generic invariance
Обычные массивы же covariant, поэтому с ними бы такой финт сделать можно было бы
357 1197685
>>197612
Удваиваю, по ссылке от этого >>197591 теоретическое дрочево той же степени полезности, что и бага найденная в реализации сортировки (timsort). Я сам топлю за формальные методы, но нужно остановиться и понять, где, блядь, академическая поебота оправдывающаяся за гранты (со всей демагогией в аргументации) и где промышленное программирование с перспективами.

Условно говоря, Мартин со своим вкладом в реализацию дженериков - это полезная академия и даже промышленное программирование. Чуваки нашедшие изьян в этой работе, что ж, проделали интересную и даже полезную работу, но для академии. Как только они начинаю верещать о надежности и промышленной разработки, можно слать на парашу.
358 1197687
1
359 1197698
>>197612

>альтернатив-то и нет нихуя, кек.


Scala
360 1197702
>>197698
Как там обратная совместимость поживает? Готовы переписывать всё под новую скалу? Вам создатель языка в рот уже который раз ссыт таким образом? Третий?
 .png1,1 Мб, 2400x2400
361 1197706
>>197612

> альтернатив-то и нет нихуя

362 1197718
>>197706

>Котлин



Хватит пиарить это говно уже.
Это недоязык, сделанный для внутреннего применения в компании.
Состоит из грязных хаков чуть более чем полностью.
363 1197719
>>197698
Скала - это не альтернатива.
Это просто годный язык.
Сам по себе.
364 1197720
>>197718

>грязных хаков


Каких?
 .png1,1 Мб, 2400x2400
365 1197724
>>197718

>>1193615

> А вот и имбецилы из секты свидетелей отрицания главной Java-конференции в СНГ подъехали.



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

366 1197737
>>197724

>главной Java-конференции в СНГ



Что ж ты делаешь, содомит.
367 1197897
>>197720
грязных
368 1197913
Есть один бинарник, который читаю через RandomAccessFile, но так как встроенная читалка не работает из-за Big-Endianness и невозможности в UnsignedInt без ебли, не пришло в голову идеи лучше, чем наследовать свой класс со своими методами чтения.
Так как для конвертации в другую последовательность нужно читать байты, возник вопрос: "создавать массивы байтов в методах или создать их один раз как члены класса?"

Снова выхожу на связь
369 1197917
>>197913

>наследовать свой класс


наследование противоречит ООП. Создавай utility-класс, а в нем статический метод long readUIntLE(RandomAccessFile)
370 1197920
>>197917
Но ведь BufferedInputStream extends FilterInputStream
А
FilterInputStream extends InputStream
371 1197922
>>197920
Декоратору можно.
372 1197935
>>197917
>>197922

>A dry summary of all their arguments is that utility classes are not proper objects; therefore, they don't fit into object-oriented world. They were inherited from procedural programming, mostly because we were used to a functional decomposition paradigm back then



Короче, создам класс, но не буду наследовать. Сделаю хэндл RandomAccessFile членом, а в конструкторе инициализирую его. Методами класса буду обращаться к файлу и возвращать что нужно.
373 1197945
>>197935

> Сделаю хэндл RandomAccessFile членом, а в конструкторе инициализирую его



Во, правильное решение. Композиция решает. Гораздо гибче наследования и, в отличие от последнего, вписывается в ООП.

> Методами класса буду обращаться к файлу и возвращать что нужно.



Заодно implement-ь те же интерфейсы, что и RandomAccessFile.
374 1197946
>>197945

> Заодно implement-ь те же интерфейсы, что и RandomAccessFile.


Это и называется декоратор.
375 1197949
>>197946

Да, знаю. Я недавно решал проблему с endianness по другому: (надо было поддержать разные платформы):

interface Endianness () {
int readInt (Stream);
}

class BigEndianness implements Endianness {...}
class LittleEndianness implements Endianness {...}

ну и статический метод getInstance для подбора верной реализации для текущей платформы
376 1197954
>>197913
Неужели на жаве так тяжело байтоёбить? Даже в JS, когда добавляли типизированные массивы сделали специальные методы для работы с порядком байтов.

Впрочем да, о чём это я. В жаве же даже нет беззнаковых типов, а я тут о байтах что-то говорю.
377 1197957
>>197954
Даже в си эта экономия спичек на беззнаковости не оправдана
378 1197958
>>197954

> Неужели на жаве так тяжело байтоёбить?



В Java™-вселенной в этом нужды нет.

Конкретно эту хрень >>197949 мне пришлось ввести исключительно потому, что локальный IPC-сервер написан на голых сях, а авторы не озаботились кроссплатформенностью его протокола (на разных процессорах разный протокол, охуеть). Т.о. если в Java™ и встает вопрос об endianness, то только из-за косяков низкоуровневых товарищей.
379 1197964
>>197954
Мне не тяжело, просто есть подводные камни. В 1.8+ вроде как завезли всякие облегчающие штуки.
Смотрю в код читалки на С# - там все гораздо проще. На руби код так вообще пиздато выглядит.
380 1197970
>>197954

>Неужели на жаве так тяжело байтоёбить?


Нет, не тяжело.
Постоянно это делаю вообще без проблем.
381 1197973
Анонче, что можешь посоветовать из литературы/статей о работе жвм? Хочется больше понимать саму платформу.
382 1197980
>>197973
http://www.allitebooks.com/java-performance-the-definitive-guide/

Ну и очевидную Java Virtual Machine Specification.
383 1197984
Вот только понять не могу почему что жава, что c# читают/записывают long как int << 32 + int
384 1198124
>>197612

> альтернатив-то и нет нихуя, кек


Альтернатив чему? Ёбаному легаси по ставке 15 баксов в час? Ты думал как языки умирают - хоп и всё, все отказались и разошлись? Да хуй тебе, даже на RPG можно найти вакансии.
Очнись, пидрила, на джаве новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Та жаба которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут жаба в хвосте, скоро жаба так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старая жаба умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".
385 1198137
>>198124
Эх, святая толстота
386 1198138
>>198124

>Очнись, пидрила, на джаве новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Та жаба которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут жаба в хвосте, скоро жаба так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старая жаба умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".



Лол, сохрани себе это - сможешь постить и через 15 лет.
Именно это и слышно каждый год.
387 1198152
>>198138
Что-то подобное помню в начале 2K было. Только упоминалась еще, что мультиязыковость .Net, но и здесь убийцы обосрались.
388 1198159
>>197984
Обход беззнаковости. Читаем два раза по 32 бита и суем в 64, так что бы ничего не проебалось.
sage 389 1198382
>>198159
Выглядит как грязный хак.
390 1198419
>>198152

> помню в начале 2K было


А теперь сравни жабу тогда и жабу сейчас.
В начале 2K и вплоть до выхода 1.5 ява была тем ещё дерьмом общим с современной явой имеющим только подмножество синтаксиса. Что характерно для явы, она уже тогда отставала от плюсов.
И так же как сейчас помирает java pre-1.8, java 1.4 уже сдохла и библиотек, поддерживающих её, кот наплакал, а жопосед поколения 1.4 хуй что разберёт в 1.8. Как и жопосед поколения 1.8 возненавидит код эпохи 1.4.
391 1198428
>>198419
sed -e s/java 1.4/кресты 98/ -e s/java 1.8/кресты 11/.
392 1198436
>>198124

>Альтернатив чему? Ёбаному легаси по ставке 15 баксов в час? Ты думал как языки умирают - хоп и всё, все отказались и разошлись? Да хуй тебе, даже на RPG можно найти вакансии.


>Очнись, пидрила, на языкнейм новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Тот языкнейм которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут языкнейм в хвосте, скоро языкнейм так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старый языкнейм умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".



Эй, бротан-наротан, подготовил тебе боевую пасту.
393 1198452
>>188102
Работает, просто теперь они отдельно подрубаются, а не сразу идут.
394 1198455
>>198428
Есть такое. Только вот видишь в чём разница - c++11 не просто новая версия языка, а вообще нахуй новый язык. А в java 1.8 в качестве языковых фич мы получили стримы, лямбды и обвязки для удобного их использования, а также возможность протащить в язык var через 5 лет. Стримы охуенны, к ним вопросов нет. И ...всё? Охуенно, чё, дайте две! А теперь мотаем на 3 года вперёд и получаем Map.of - это ж вообще нельзя воспринимать иначе чем как толстый троллинг. Да я блять не удивлюсь если они джепы на одобрение Кубо шлют перед реализацией.
395 1198512
>>198382
Нормально выглядит. Решился байты ебать - не плачь.
396 1198523
Spring MVC. Почему поля пустые? По задумке, при нажатии кнопки edit открывается новый view и там уже заполнены поля предметом, который был выбран.
инб4: как можно кодить на чёрном фоне
397 1198529
>>188102
ПИЗДЕЖ
И
З
Д
Е
Ж
398 1198545
>>198455

> var


Проснись, студент ты обосрался.

Запилили уже.
399 1198620
>>198529

это рли так, даже спринг бут отдельную обнову выкатил
400 1198622
>>198529
Несколько библиотек поотваливались из-за неправильного определения версии. 10 они воспринимали как 1. https://github.com/rzwitserloot/lombok/commit/9ecfe2302f3cd1d654196e072cce0b334f21ffd9
401 1198628
Как же я рад, что не поддался на хайпоговно типа руби, когда вкатывался в джаву 4 года назад. Да, было тяжело с Java 7, учитывая, что до этого работал с C# и его сладким LINQ, а тут все ручками.

Зато сейчас, когда хипстерская параша под названием Руби окончательно умерла, Го и прочие "убийцы" джавы сдулись, а сами она развивается семимильными шагами. На подходе джава 11, котлин уже давно в релизе, выкатили Spring 5 с лучшей облачной инфраструктурой.

Из конкурентов правда остался питон (ноду не рассматриваю, писать бекенд на js это детект).

HR-ы заваливают офферами на 150к+, даже на upwork куча заказов на Spring.

Джава (JVM) явно не умерла, она упала, чтобы вновь подняться.
sage 402 1198646
>>198545
Молодец, возьми пирожок. А теперь перечитай что там написано.
403 1198649
>>198628
Это очевидно любому человеку с более-менее нормальным кругозором.

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

А Говно потеряло для меня всякий авторитет, когда его разработчики, взяв GC коллектор 40 летней давности, начали орать что ГС бистрее чим в джави, что радостные фанбои подхватили, не понимая, какой ценой в их производительном го
404 1198653
>>186897
electron
привет майкрософту с их новым скайпом. ненавижу
405 1198665
>>198649
А какой ценой?

мимо
406 1198669
>>198646
Там ни о чем. Если бы ты работал в компании с собственностью кодовой базы под 100К человеко-лет, то понял бы, как языковые перделки уходят на второй план.
407 1198709
>>198665
Меньшая пропускная способность.

Вообще все алгоритмы GC подчиняются эмпирическому правилу "величина stop-the-world паузы * cpu-overhead-rate = константа"

В альтернативных jvm есть альтернативные реализации сборщиков, например С4 в azul jvm, разумеется не бесплатно, производительность у этой реализации хуже.
408 1198711
>>186670 (OP)
Стоит ли учить джаву для того чтобы скатится в мобильный игрострой?
Сколько вообще нужно минимум потратить времени на учебу чтобы соответствовать джуну без опыта работы?
409 1198721
>>198711
Не стоит.

> игры


> джава

410 1198722
>>198721
Ну я вообще ньюфаг. Просто мне всегда казалось что игры на андроид пишут на джаве.
411 1198723
>>198721
Уже забыл времена ИК-портов и J2ME игр? Или ты их попросту не застал?
412 1198729
>>198723

> времена ИК-портов и J2ME игр


На календарь посмотри, долбоеб. Java ME использовать собрался.

И да, застал, Siemens CX 75 до сих где-то лежит. Но какое отношение имеет твоя ремарка? Пока ты будешь думать, я на работу схожу.
413 1198730
>>198729

> какое отношение имеет твоя ремарка?



> > > игры


> > > джава

414 1198743
>>198669

> 100k человеколет


> 2000 человек в течении 50 лет


Ты совсем там ебанулся человекоднями однострочники считать? Ой прости, какие однострочники, ведь в жабе до Stream Api одной строчкой можно было сделать ровно нихуя только поебаться по аннотациями.
415 1198871
Кто-нибудь в хешмапе переопределяет hash функцию, или в основном все пользуются встроенной в Object?
416 1198881
>>198871

>в хешмапе переопределяет hash функцию


Для начала покажи как.
417 1198895
>>198881
Какая разница как? Я имею в виду использует кто-то override хеш функции на практике или нет?
418 1198899
>>198871
Ты не в ту сторону воюешь, упоротый.
419 1198923
>>198899
В каком смысле? Если вы тут дохуя сеньеры - объяснили бы нубу что не так. В том что я сказал что переопределять в хешмапе, а не в объекте? Из за этой неточности вы тут распетушитились?
420 1198986
>>198711
Не стоит. Джава не для игр, серьёзно. А если линала не знаешь, то и ты не для игр.
421 1198987
>>198923
Покажи код, где ты переопределяешь её. В процессе написания поймёшь, где именно ты обосрался.
422 1198994
Есть класс A, есть подклассы AA, AB, AC и так далее. Суть в том, что у класса A есть переменные, от которых зависит, какого типа надо возвращать объект.
Например, есть файл со строками:
x1 y1 z1
x2 y2 z2
xn yn zn
Изначально я не знаю, какого типа будет объект, поэтому создаю объект класса A и функцией read() читаю нужные переменные (их нужно будет хранить и потом использовать). И тут появляется два варианта:
Либо создавать новый объект через конструктор В(A object) и внутри перезаписать переменные (this.x = object.x)
Либо создавать новый объект через конструктор B(int object.x, int object.y)
Но это как-то не очень выглядит, хочу чтобы было красиво и легко переделывалось (общих переменных позже может оказаться другое количество или с другими значениями).
423 1199001
>>198994
Сделай отдельный класс, который будет читать эти твои строки и на основе их содержание решать создавать и возвращать нужный объект.
424 1199011
>>199001
Это надо будет либо строки повторно читать, либо как-то передавать в конструктор переменные.
Если читать строки повторно, то придется повторять код в каждом подклассе. Если передавать в конструктор, то опять придется одно и то же писать.

Попробую метод с кастом return (AA) A;
425 1199016
>>199011

>Попробую метод с кастом return (AA) A;


Дерьмо. Избегай приведения типов.

>>199011

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


this
426 1199018
>>198987
Ну написал, и что, ублюдок? От того что я говорился в каком месте переопределять, ты тут распетушился, вместо того чтобы ответить по теме?
427 1199021
>>199018
Ну так покажи его, мудачок дёрганный.
429 1199025
>>199016

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


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

С кастом действительно тоже дерьмово выглядит. Тогда попробую так:
Создам новый класс H, который и будет хранить эти общие переменные.
На основании значений этого H буду вызывать конструкторы и передавать H, а у родительского класса будет переменная типа H, где наследуемые объекты и будут их хранить.

Но этого тоже как-то избыточно выглядит.
430 1199048
>>198709
Ну заоптимизировали латенси за счет throughput, никто же не жалуется. Народу хватает производительности + многопоточность дешевая. Я то думал сейчас будет срыв покровов, а ты упомянул какой-то нерелевантный довод, иначе бы не плодилось на go новых сервисов/субд.
431 1199050
>>198895
Конечно блять, посмотри на hashCode Object'a
И теперь подумай что это выдаст для:
var pojo1 = new POJO(1, "kek");
var pojo2 = new POJO(1, "kek");

> pojo1.hashCode() == pojo2.hashCode();


> pojo1.equal(pojo2);

432 1199062
>>199050
Наркоман?

false
false
433 1199069
>>199062
Ну вот, а объекты по-сути одинаковые.
434 1199072
>>199069
А, это я наркоман.
435 1199079
>>198895
Да, используют. В любой нормальной IDE есть генерация методов equals() и hashCode().
436 1199258
>>186719
Постоянно будешь недоумевать, что программа крашится, если где-то пустая ссылка. А ещё будешь забывать ставить ; в конце
437 1199259
>>188425
А в чем проблема нажать АЛТ инсерт м два раза энтер?
438 1199278
>>199259
А в том, что когда у тебя 10 полей, вероятность получить конфликт в ПР при малейшем изменении в pojo возрастает раз так в дохуя. Это, конечно, не долго подмержить говно и исправить конфликт в модели, но это все равно время. Да и классы короче выглядят для восприятия. Про другую годноту генерала деломбока я и не говорю.
439 1199349
>>186670 (OP)
Нужно передать достаточно большой файл по НТТР. Сервер читает куски файла прямо из тела пост-запроса. Для передачи файла на клиентской стороне я использую apache httpclient 4. Проблема в том, что при передаче запроса как multipart сервер получает в теле запроса какое-то говно: например, рандомные разделители параметров запроса. Как при помощи этой библиотеки сформировать запрос так, чтобы в теле запроса были только сырые данные, а не разделителя, параметры и прочее дерьмо?
440 1199381
Ребята, востребован ли сейчас javaFX или стоит учить Swing?
441 1199382
>>199349
Вы не понимаете сути multipart, дотвиданья.
442 1199419
>>199381
нет
443 1199450
>>199382
Тогда каким образом передавать большие файлы? Почему почти во всех результатах в гугле для аплоада используется мультипарт?
444 1199452
>>199450
Используй веб-сокеты и алгоритм как в торрент-кдиентах. Делаешь несколько веб-сокет соединений (чтобы лучше нагрузить канал) разбиваешь файл на несколько частей (например по 8Мб) и передаёшь кусок + индекс + хэш. Сервер проверяет правильность получения куска по хэшу и если что-то пошло не так просит отправить кусок снова. Потом всё собирает воедино, опционально проверяет хэш уже собранного файла и готово.
445 1199453
В общем, есть ThreadPoolTaskScheduler, в него я в цикле запихиваю задачи: scheduler.schedule(myObj, date), на каждой итерации создаю новый экземпляр MyObj и сеттерами сую туда данные. Вроде всё ок, но в классе MyObj мне надо заинжектить пару сервисов и прочих штук, пока что это мне не удаётся. Ну и самое интересное, все это запускается через InitializeBean. Чувствую, где-то объебался я с такой схемой.
446 1199455
>>199453
А, вопрос такой. Что должен представлять из себя класс MyObj?
Сервис с @Autowired полями?
447 1199480
>>199453

>сеттерами сую туда данные.


Вот и сервисы сеттерами суй
448 1199483
>>199452

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


Не я это решаю. Мне дали спецификацию рест-апи для аплоада файлов, и я пишу. Файлы требуется передавать в теле запроса. Я ищу способ написать это как можно лучше, короче и надежнее. Рабочий код уже есть, но он мне не нравится.
449 1199485
>>199450
Я про то что мультипарт СПЕЦИАЛЬНО вставляет разделители, и если бекендер не криворукий мудак то все нормально читается, а ебля с сокетами это экзотика.
Вот попробуй на каком-то сервисе аплоаднуть фотку и посмотри в консоли браузера что там в теле запроса.
450 1199491
Вот некоторые заявляют, что наследования и абстрактные классы в жабе и ООП - зло, надо все на интерфейсах делать. А если у меня есть "подклассы", у которых есть некоторые общие переменные - мне в каждом "подклассе" их объявлять и в каждом конструкторе инициализировать? Интерфейс-то переменные не может объявлять и определять методы.

Допустим, есть у меня абстрактный класс Entity с полями long id и boolean active. Я могу сделать конструктор и там назначить, а потом просто в подклассах в родительский конструктор передавать.

А с интерфейсами как? Композиты - по-гейски.
451 1199504
>>199485
Переделал сервер под получение мультипарт запросов. Ну ладно, пусть так работает. Тимлид сказал, что никаких вебсокетов. Рест и только рест.
452 1199525
>>199491
что ты будешь делать, когда в одном из наследников нужно будет например сменить тип active на integer?
15251041831962.jpg81 Кб, 811x681
453 1199526
Что скажете про работу в сбере?
Кто-нибудь имел опыт там?
454 1199527
>>199525
C абстрактными классами? Сменю в родительском классе и конструкторах.
455 1199532
>>199527
так ты остальных наследников сломаешь
456 1199547
>>199532
Каким образом?
457 1199553
>>199547
была boolean переменная, стала integer. Код сломался
458 1199559
>>199553
Смотри:
abstract class Entity {
long id;
boolean isActive;

public Entity(long id, boolean isActive) {
this.id = id;
this.isActive = isActive;
}
}

final class EntityX {

public EntityX() {
...
super(id, isActive);
}

public EntityX() {
super(id, isActive);
}
}
459 1199560
>>199559
У EntityX extends Entity забыл.
460 1199572
>>199559
теперь тебе в EntityX isActive нужно сделать integer. А в EntityY оставить по-старому
461 1199577
>>199572
Так не может быть потому, что к EntityX и EntityY я буду обращаться как к Entity.
462 1199581
>>199577
тогда зачем вообще делать разные классы?
463 1199586
>>199581
Не все методы и поля общие.
464 1199587
>>199586
так ты же обращаешься к ним как к Entity. Или уже нет?
465 1199591
>>199587
Не всегда же. Я обращусь к ним как к Entity, если мне нужные общие поля или переопределенные методы. В остальных случаях как к объектам подклассов.
466 1199641
>>199381
сейчас gui на джаве не пишут
467 1199662
>>199641
я на работе пишу
468 1199665
>>199662
Swing или JavaFX?
Насколько это будет перспективно в будущем? Правда, что десктоп приложения умирают?
469 1199686
>>199665

>Правда, что десктоп приложения умирают?


Правда, а на джаве они особо и не рождались
470 1199696
>>199665
JavaFX. Сыроватый он. Свинг получше будет, и продуманней
471 1199781
>>199491
Давай конкретный код, а не абстрактные entity. Поясню тебе почему нинужна.
472 1199934
>>199781
Да выше уже похожее кидал. Если более конкретно, то есть файл со строками вида:
entry_length entry_type data_1 data_2 ... data_n

Типов записи несколько, всю информацию считывать не нужно. Создал абстрактный класс FileEntry с переменными entry_length и entry_position (они потом пригодятся), от него наследовал классы FileEntryData, FileEntryTree и тд.

Кроме entry_length и entry_position подклассы содержат
FileEntryData: hash name data_type
FileEntryTree: name tree_entries_number tree_entries[tree_entries_number]

Ну вот и смотри: если делать не через абстрактный класс, то мне в каждом подклассе придется объявлять и инициализировать entry_length и entry_position.

Снова хотел спросить совета по другой проблеме, но пока описывал, придумал возможное решение. Спасибо, моя уточка.
Без имени-1.jpg192 Кб, 973x563
473 1199981
есть некая программа color centro Konica-Minolta, у неё дохуя фиксированных окон. Как-нибудь можно сделать их динамичными или точнее чтобы можно было менять размер произвольно? В Ярлык запуска что-нибудь прописать?
474 1199986
>>199981
Только декомпилировать и исправлять код. Впрочем если авторы не предусмотрели ресайз от простого включения у окна толку не будет. Просто при увеличении размера будет появляться пустое место, а все элементы будут оставаться там где они есть.
475 1199990
>>199986
хуево, спасибо за ответ.
476 1200165
>>199934
Все равно решение не сработало - мешают downcasts.

Нужно построить многоуровневое дерево записей исходя из типа и содержащейся информации в записи:
FileEntry fileEntry = MyFile.readEntry(position); //Фабрика, так что я не могу знать заранее возвращаемый тип
FileTreeNode.addChild(fileEntry);

Вот тут и возникает проблема:
if(fileEntry.isNode()) { //Пришлось добавить в абстрактный класс этот метод, чтобы не использовать instanceof
int[] positions = ((FileEntryTree) fileEntry).getEntries(); //Без каста метод не вызвать, а он только есть только у этого подкласса
}

Дальше рекурсивно все читается-добавляется. Но как избавиться от этих кастов и проверок? Неужели только для каждого подкласса по списку и методу вводить, чтобы фабрика сама сразу ноду добавляла?
477 1200212
>>200165
Используй instanceof и не еби нам мозг.
478 1200226
>>200212
Как пишут в интернете: "Using instanceof is a code smell".
479 1200287
>>200226
В Интернете много что пишут.
480 1200343
Взялся за курс сэджвика по алгоритмам.
Пытаюсь настроить среду джава разработки.
В мануале по настройке написано что нужно прописать в переменную среды CLASSPATH значение
C:\Users\username\algs4\algs4.jar;
Я так понял это дает знать рантайму джавы где в первую очередь искать собранные исходники.

Пытаюсь запустить через cmd как в книге
java RandomSeq 1000 100.0 200.0
пишет Error: Could not find or load main class RandomSeq

Так работает
java edu.princeton.cs.algs4.RandomSeq 1000 100.0 200.0
даже без настройки класспаса

Что я делаю не так?
481 1200345
>>200343
Лезешь куда тебя не просят.
482 1200462
Чем Java лучше C#, кроме того, что на ней уже написано много чего?
483 1200471
>>200462

>Чем Java лучше C#


Ой, мальчик, здесь мы идем опять
484 1200476
import java.util.Scanner;
public class Test {

public static void act(){
String phrase;
Scanner sc = new Scanner(System.in);
System.out.println("Да или нет?");
String ans [] = {"да", "нет"};
phrase = sc.next();
phrase = phrase.toLowerCase(); //конвертируем всю строку в строчные буквы
boolean a = phrase.equals(ans[0]);
boolean b = phrase.equals(ans[1]);
if (a == true || b == true) {
System.out.println("На что ты ответил то?!");
} else {
while (!a || !b)
System.out.println("Я просто просил ответить 'да' или 'нет', не более!");
phrase = sc.next();
}
}
}

Сап как дело доходит до цикла, он выполняется бесконечно. Объясните почему и как исправить.
485 1200495
>>200476
Во-первых, код выкладывают на pastebin или ideone или на что-то еще.
Во-вторых, чтобы цикл не выполнялся бесконечно, нужно либо чтобы условие цикла перестало быть истиной, либо чтобы где-то внутри цикла его выполнение прерывалось (break/return/exception). Ничего из перечисленного у тебя я не вижу.
486 1200498
>>186670 (OP)
Есть тут hybris макаки?
487 1200528
Встретил вот такой пример кода:
https://pastebin.com/ZUBs6SWX

Объясните, зачем в восьмой строке брать создание HelloThread в отдельные скобки?
488 1200579
>>200528
Попробуй без скобок и посмотри что будет, ленивая ты жопа.
489 1200593
>>200579
Пробовал -- ничего не изменилось, хоть со скобками, хоть без них.
490 1200601
>>200593
Это тема многопоточности, но я не знаю, распространяется ли такое написание в других разделах.
Читал до этого Философию Java, там все писалось без скобок. А тут вот набрел на такой пример со скобками и не понимаю, зачем оно нужно и что это меняет.
491 1200653
>>200601
Видимо, new имеет больший приоритет, чем вызов методов, а скобки - Abundant Parentheses.
492 1200697
>>200593
Раз не изменилось, то и разницы нет. Поздравляю, ты ответил на свой вопрос.
493 1200721
Нужен жизненный совет бывалых джавистов.

Ситуация такова: 30 лет от роду, 9 лет коммерческой разработки на PHP, сеньер, в общем. Применяю Linux, postgres, rabbitmq, docker, nginx и тп.

Задача: максимально быстро перейти на Java, для разработки серверных приложений. Посоветуйте, что почитать про саму Java и про Spring, чтобы это было... как бы выразиться, сразу по теме, без нубства, с нормальными примерами.
494 1200744
>>186670 (OP)
Аноны, помогите плиз отвтетить на пару вопросов
1 вопрос такой
Что будет выведено при выполнении следующего кода?

String str = "0";

str += 1;

str *= 3;

System.out.println(str);

варианты ответа

Ошибка во второй строке

Ошибка в третьей строке

Будет выведено «3»

Будет выведено «010101»
496 1200784
>>200768
Спасибо огромное
Есть еще один вопрос

Какой из методов доступен в любом экземпляре класса в Java?

1. main (String[] args)

2. notify()

3. parallel()

4. plus(Object o)

5. sleep (long timeout)

6. stream()
497 1200834
>>200784
2. notify()
Ты блять можешь писать на зекач но не можешь октрыть иде или jshell?
498 1200866
>>200721

>PHP


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


>не умеет гуглить


Ну такое.
14952307790880.jpg104 Кб, 1280x688
499 1200922
>>200866

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

500 1200930
>>200528
Незачем.
501 1200969
>>200866
Что «ну такое». У тебя аутизм?
Я спрашиваю про джавовские литературные бестселлеры.
Нагуглить говна, В котором дауны для даунов объясняют наследование и дженерики я могу легко. И последнее: мне не нужно уметь программировать на джаве, мне нужно уметь разрабатывать с использованием джавы. Это две разные вещи.
502 1201008
>>200969
Ну и пошел нахуй тогда, раз сам все знаешь.
503 1201010
>>200969
Если бы ты хоть немного интересовался вопросом,
то знал бы, что Java чуть ли не единственный язык со строгой спецификацией языка и виртуальной машины, за это все её любят,
это значит, что если ты будешь соблюдать все стандарты (что там написано), то у тебя всё будет хорошо и у тебя будет обратная совместимость, а если нет, то у тебя будет шанс, что твоё приложение лет через 10 на новой JVM не запустится
504 1201013
это я к тому, что читай что тут дяди написали,
раз такой сеньёр помидор и подавай тебе туториалы "недлябыдла"
https://docs.oracle.com/javase/tutorial/java/
505 1201029
>>200721
Бля, идёшь и читаешь reference documentation Spring, Spring Boot, Spring Cloud, Spring Integration. Именно в таком порядке. Десять лет в ит, а спрашиваешь как маленький.
506 1201082
>>200768
Нет, там все правильно. Для строки + означает конкатенцию, str += 1 это "0" + 1, т.е. "01".
Ошибка будет в третьей строке, т.к. для String операция * не определена.
507 1201090
>>194842

>Потому что так эту переменную назвали.


Потому что автор тупорылый быдлокодер, тоже видимо из бывших похэпешников.
508 1201688
Помогите, пожалуйста, понять за какое свойство объекта отвечают интерфейсы маркеры:
Remote interface
и
ThreadSafe interface
509 1201739
Spring Security
Не работает авторизация in-memory.
Да и он вообще игнорит мой xml security файл, а из класса java аннотация работает. Но авторизация - нет.
Чувствую, что не добавил какую-то важную ерунду куда-нибудь, но не знаю какую и куда.
Подскажите, куда копать?
510 1201926
Ищу ментора или такого же нубаса для изучения Джавы с последующим перекатыванием в разработку под андроид.
tg: sickboi
511 1202038
Кто-нибудь обмазывался Netty?
Поясните за разницу между close() и disconnect(). И за разницу между вызовом этих close/disconnect у Channel и ChannelHandlerContext.
512 1202040
Аноны что означает бэкенд? Ну понятно что сервера и тому подобное но если конкретнее что там разрабатывается?
Например во фронтэнде понятно что разрабывается на интутитивном уровне. Но что делают бэкендеры?
513 1202041
>>202040
Сервера пишут, лол.
514 1202043
>>202041
А что подразумевается под "писать сервера"?
516 1202115
Hibernate это библиотека или фреймворк?
517 1202122
>>202115
Скорее фреймворк, но эта граница часто размыта
518 1202132
>>202122
Если он нужен только для того чтобы связать ООП и реляционную базу данных,
то используют ли его, когда используют Spring, учитывая, что там есть Spring Data??
519 1202150
>>202132
Используют. Spring Data это не замена, а еще один необязательный слой поверх JPA/Hibernate.
520 1202195
>>202115
Это реализация JPA.
521 1202269
Спринг в вебе используется? Или только для корпоративных приложений?
522 1202355
>>202269
Используется для любой серверной джавы. Т.е. в вебе тоже, если считать что на джаве бывает "веб".
523 1202396
>>202355
В каждой второй вакансии вижу желательно знание html css javascript. Это ли не веб?
524 1202413
>>202396
Веб, да, но если ты противопоставляешь его корпоративным приложениям, возможно, о вебе у тебя некое узкое представление.
525 1202543
Почему я не вижу сообщения от исключения в консоли?
526 1202550
А вот если сделать аналогичную фигню, но с отдельным классом, все нормально выводится
527 1202558
>>202550
Вызов getMessage не выводит сообщение в консольку, а просто отдаёт значение, которое уже ты сам дополнительно должен вывести в консоль. С отдельным классом ты вызываешь не ту функцию. Надо вызывать callDivide, а ты вызываешь divide, который выдаёт эксепшн, который отлавливает уже сама JVM.
Снимок.PNG4 Кб, 460x121
528 1202571
>>202558
на самом деле я сейчас онял, что правильней сделать вот так и вообще не обрабатывать unchecked exception, просто потому что это ненужно,

но почему тогда JVM не может точно так же обработать такое же по типу исключение, не выводит сообщение для нуллпоинтер?
529 1202575
>>202571

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


Не, не правильней. Даже наоборот, некоторые в code style запрещают делать else, если в предыдущем if есть throw или return.

> но почему тогда JVM не может точно так же обработать


Потому что конструкцией try/catch ты сообщаешь, что хочешь самостоятельно обработать данное исключение. А то что ты не умеешь выводить содержимое эксепшона в консольку JVM уже не ебёт.
15281092199490.png11 Кб, 541x280
530 1202579
>>202575
так что ли правильней? а я думал обрабатьвать самому unchecked исключения это зашквар
Тут я кстати в консоль сам ничего не вывожу, а вызываю все тот же гет мессадж,
531 1202589
Аноны, это норм тема?
https://geekbrains.ru/geek_university/java
532 1202593
>>202543
Потому что ты не понимаешь что делаешь.
1) s.length само кинет эксепшн;
2) В блоке catch ты словил эксепшн, достал его месадж, но в консоль не вывел, из-за кетча приложение нормально закончилось.
533 1202663
>>202593

>1) s.length само кинет эксепшн;


бля, вот этого я реально не понимал, по сути программа и не доходила до моего второго эксепшена,
спасибо
534 1202756
>>202589
Да хрен их знает. Чтоб от мейл сру что-то годное было... Если шаришь в англюсик хотя бы на интермидиет уровне то вот годные курсы.

https://www.udemy.com/java-tutorial/learn/v4/overview - бесплатный курс по основам
https://www.udemy.com/java-design-patterns-tutorial/ - бесплатный курс от них же. Design patterns and architecture
https://www.udemy.com/java-multithreading/ - от них же про многопоточность курс.
https://www.udemy.com/spring-hibernate-tutorial/ - платный курс по Спрингу. 35 часов лекций за 11 долларов. Нормальная цена.
535 1203030
>>202756
Спс анон, а то на курсере они скурвились и берут денюжку
536 1203031
Хочу написать программу, которая берет html страницу с отдельными css и js и превращает все в одну standalone страницу, для этого подойдет java или лучше javascript?
537 1203393
Долбоеб репортинг ин. Что вы пишите на жаве?
538 1203426
>>203393
Хулло ворлды.
539 1203436
>>203426
А потом?
540 1203584
>>203393
Что на галере прикажут, то и пишем
541 1203626
>>203584
Да бля, ну что примерно? Я даже хуй знает как загуглить.
542 1203639
>>203393
Не твое дело.
>>202589
Нет.
543 1203643
>>203639
Я же не прошу конкретных вещей. Можно же примерно сказать что делаешь для человека который только пару недель изучает жаву кор.
544 1203738
Java господа, вы моя последняя надежда. Как сделать ввод матрицы в оконном приложении? Нужно потом эту матрицу записать в массив.
545 1203770
>>203626

>Я даже хуй знает как загуглить.


Вбиваешь на hh.ru слово java, читаешь в вакансиях описания проектов или самих контор, в ужасе дропаешь жаву и забываешь навсегда
546 1203950
>>203770

>Слово java


javascript)))0)
хрюши не различают
547 1203951
>>203738
Ширина и высота есть?
Берешь сканнер и читаешь инты/флоты. Или можешь построчно считывать и дальше разбивать как тебе надо.
548 1204474
Подкиньте каких-то чатиков, где будут рады нубасам. Много вопросов, но некому задать. :<
549 1204487
>>204474
Тут задавай
550 1204508
>>204487
Слишком много вопросов, хочется живого общения.

Ознакомился с книгой Шилдта, более менее выучил базис и в состоянии писать мелкие консольные приложения типа поиска последовательности Фибоначчи или факториала. Знаком с ООП. Хочу идти в андроид/вэб, но не имею понятия, что делать дальше. На оф.сайте андроида скудная документация, на мой взгляд. А гайды типа "ну, ебашим эту строку потому что так надо" кажутся не очень эффективными. Какие движения делать дальше? inb4: рычать и двигать тазом
551 1204521
>>204508

>Хочу идти в андроид/вэб


Так в андроид или в вэб? По андроиду может быть лучше в соответствующем треде спрашивать.
552 1204596
Напомните, что там поменялось со времен 8 версии?
553 1204597
>>204596
Моудли, var, Graal вот-вот почти, сотни-милион диприкейтов.
554 1204600
https://www.udemy.com/spring-hibernate-tutorial/
https://www.udemy.com/spring-framework-5-beginner-to-guru/

Никак не решу какой из курсов купить. Curriculum какого курса вас впечатлил больше?
555 1204604
>>203393
Кросскомпилятор пишу, который генерит код для ZX Spectrum. BASIC подобный язык с ООП, лямбдами и подсчетом ссылок.
Но застопорился на делении целых чисел. Умножение легко выразить через сложение и сдвиги, типа 123x17 = 123x16 + 123x1 = 123 << 4 + 123, а вот как можно делить не знаю...
556 1204609
>>204600
https://spring.io/guides - тут все бесплатно
557 1204615
>>204609
Официальная документация must have конечно. Но приступаю к ней когда уже имею опыт какой-никакой. Да и 10 баксов небольшая цена за курс хороший.
558 1204616
+ Spring in Action на русском (издание 2013 года): http://eldude.ru/files/books/Spring_in_action.pdf
559 1204623
>>204615
Проблема этих курсов, что там учат делать все по шаблону, без понимания общей архитектуры. Пока все делаешь по методичке - ок, как только нужно что-то поменять, приходиться гуглить и копипастить кучу непонятного кода, переопределять какие-то методы, о которых вообще ничего не рассказывали и т.д. В итоге приходится учить все ту же документацию.
560 1204630
>>204623
Да согласен.
Но я делаю так.
1. Краткий курс по основам.
2. Книга по нужной теме
3. Офф документация.

И в голове потом много чего остается.
561 1204691
>>204508

> Ознакомился с книгой Шилдта



нинужна

> поиска последовательности Фибоначчи



нинужна

> На оф.сайте андроида скудная документация



нужна

>

562 1204797
>>204521
В контексте моего вопроса это не так важно. Я не знаю, что делать после выбора специальности. Пока пробую себя в андроиде. Стоило бы спросить в их треде, да.
563 1204893
Когда уже введут protected методы в интерфейсы? Тогда можно будет официально заявить, что абстрактные классы нинужны.
564 1205220
>>204630
Ну тебе виднее, мне лично жалко отдавать бабло на пересказ бесплатных статей с хабра.
Лучше купить хорошую книгу.
565 1205221
>>204893
Состояние, т.е. данные в интерфейс ты не запихнешь.
566 1205358
Есть сервер поднятый на apache tomcat 9, сделал всю структуру для моей части работы, я нагрузочник, все работало пока не определил список работающих методов в зависимости от типа ссылки, по которой проходит юзер.
Т.е. я задал определение отправляющегося объекта от типа полученной ссылки HttpServletRequest request, String link = request.getRequestURL.
Но есть одна нестыковочка в этой структуре, я не знаю как задать эти ссылки в апаче. Их где то надо захардкодить? Или ониваляются в xml каком то.
Все работало когда я стучался на сервер по названию сервлета StartServer. Перестало когда мне понадобилось работать с разными типами ссылок, которые отправляют разные типы xml.

Сори за сумбур, если вкратце, то как создавать ссылки в Apache TomCat?
567 1205431
Рибят, а если я, вот, изучаю java, мне обязательно ставить Linux? Вообще, поясните, плиз, на пальцах за Linux. Что он дает?
568 1205829
>>205431
обязательно
вся инфраструктура заточена под юних
569 1205873
>>205431
Пока изучаешь, не обязательно. На линуксах работают все серверы, но вести разработку на джаве прекрасно можно и под вендой.
570 1205914
Кто-нибудь использует на практике аннотации прекондишенов, посткондишенов, инвариантов и.т.п, как в исходниках джава библиотек?
571 1205919
Пацаны! Я создал программу, которая случайным перемешивает музыкальные файлы в папке. Зачем это нужно? Ну если есть машина, то вы вставляете флешку в магнитолу и слушаете, но вскоре вас заебет один и тот же порядок воспроизведения треков. И тут на помощь приходит эта программа. Но есть один минус - все файлы переименовываются в череду рандомных цифр, ну почти как названия картинок, которые вы скачиваете с двача. Но всё же читать их название не нужно во время езды, как я полагаю.
572 1205920
>>205873
А какой линукс лучше изучить? Или значения не имеет для работы?
573 1205923
>>205920
Линукс он и в африке линукс. Ты наверное имеешь в виду какой дистрибутив/Desktop Environment?
574 1205928
>>205923
Да, именно это и имею в виду. А то как наслушаешься, то каждый дистрибутив чуть ли не отдельный мир
575 1205935
>>205928
Debian. А вообще лучше бы ты в /s с этим вопросом пошёл.
576 1205939
>>205935
Понял, спасибо
577 1205944
>>205919

А нахуй ты их перееименовываешь, засунуть в массив и оттуда рандомом вытаскивать не варик?
578 1205949
>>205919

Можно лучше.

1. переименовываешь файлы (сперва запатентуй эту технологию)
2. создаешь двоичную кучу, в нее суешь названия файлов
3. проходишь по одной из веток
4. как только доходишь до пустых детей разворачиваешь дерево
5. идешь по одной из веток
579 1206116
>>205944
Так в папке по имени все равно отсортируются, да и читает с флешки по порядку.
580 1206324
>>205358
Нихуя не понял, но вангую тебе надо слать get-запросы? Возьми у разрабов, или посмотри по коду, чё там должно быть.
581 1206328
Куда легче вкатиться зная Java? Веб, энтерпрайз или мобилки?
582 1206329
>>206328
Не знаю.
583 1206700
Сап, джавач! Помогите макакену разобраться: приходят сообщения, в зависимости от содержимого создаются разные задачи(расширил Callable, происходит работа с бд), после их выполнения у меня возвращаеся объект и мне его тоже нужно обернуть в задачу и выполнить. Нагуглил, что вроде бы ListenableFuture с callback удовлетворяет моим требованиям.
Набросал примерный каркас
https://pastebin.com/AKrVernG
Скажите, это приемлимое решение? Интересует использование разных Executor'ов под различные задачи - не слишком ли это плохо? До этого с многопоточкой почти не работал, потому предупреждаю, код может вызвать неудержимые приступы смеха.
Alita001.png201 Кб, 396x308
584 1206781
Есть один факап, с которым надо разобраться. В качестве побочного таска получил задание разобраться с запросами в информационную систему РЖД ЭТРАН, которая вставляет наружу SOAP-эндпоинты.

У меня есть макулатурка с описанием всего ЭТРАН. В ней указан формат записи эндпоинтов, сказано, что запросы делаются при помощи процедуры GetBlock, есть wsdl-описание этой процедуры и куча запросов.

Как все это использовать?

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

Не понимаю, как соединиться с эндпоинтом и выполнять запросы. Со своим простым сервисом я соединяюсь, получая при помощи wsimport классы, описывающие сервис, и для моих четерех круд-методов их получилсь дохуя (66 или 7). Что будет, если так же я попробую сгенерить классы для всего огромного ЭТРАН? Пиздец.

Как лучше написать простой клиент для ЭТРАН? Нужно показать выполнение хотя бы одного любого запроса.

Что делать с WSDL ЭТРАНа?

То есть, wsimport'ом генерю классы, подключаю к проекту клиента и при помощи них выполняю запросы. Не знаю, как лучше сделать это для этрана.
585 1206831
>>206781
Гугли cxf-maven-plugin. Класть в проект генерируемые файлы - зашквар. Ну и не похуй ли тебе сколько там методов тебе нагенерируют? Используй то, что надо и всё.
586 1206913
>>206700
1. Java 8 тебе недоступна? В ней есть удобный CompletableFuture на замену ListenableFuture из гуавы.
2. В твоем коде создается newCachedThreadPool(), который нигде не используется, а также directExecutor необязательно в явном виде запихивать в addCallback, там должна быть перегрузка без 3-го параметра. В целом нормально, если считать что сидим на java 7.
587 1206983
рибзя, можно найти рабоут по джаве не зная спринга? месяц уже висит резюмеха, присылают всё что угодно, но не по джаве
588 1207071
>>206983
А что предлагают? И какой уровень у тебя? Java Core?
589 1207081
>>206983
Вот и поковыряй спринг пока, раз все равно висит.
590 1207115
>>206831

>Гугли cxf-maven-plugin


Ок, научился генерировать классы этим сервисом. Куда их сохранять? В отдельную директорию или в исходники src/java? Как подключать сгенерированные классы в свой проект, если они сохранены не в директории исходников?

>Класть в проект генерируемые файлы - зашквар


Куда их класть?
591 1207119
>>207071
Предлагают просто айтишником\техподом, кем я и работаю. Максимум было по тестерству.
Пока знаю только кор и jdbсне знаю
592 1207128
>>207115

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


Два варианта:
1. Никуда не сохранять, будут генерироваться при каждой сборке перед компиляцией
2. Положить в исходники (src/java), но настроить сборку (maven) так, чтобы можно было в любой момент их перегенерировать.
Т.е. wsdl в проекте в любом случае тоже будет лежать.
593 1207182
>>207128
Окей, с этим понятно. В моем маленьком проекте все заработало. Хочу вернуться к исходной задаче. Есть спека на ИС РЖД, два wSDL-описания методов SendBlock и GetBlock, при помощи которых клиент общается с ИС. И есть описание всех запросов. Как это использовать?
Систему, кстати, с 93 или 95 года писали на делфи 10 лет, а потом 5 лет запускали, лол. На их сайте конкурс частушек, конкурс "лучший работник РЖД" и какие-то матрешки. Пиздец.
594 1207211
>>207182

>Как это использовать?


В чем проблема? Ты ж писал, что в принципе клиенты к сервисам у тебя получались. Или ты хочешь, чтобы тут кто-то за тебя разбирался со спецификой твоего ржд?
595 1207216
>>207211

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


Ладно, дальше я сам. У меня из дома недоступен эндпоинт, а ставить випнет мне лениво, поэтому я даже не знаю, что меня ждет на работе. Наверно, получится с ним работать так же, как с моими сервисами.
596 1207345
>>207119
Ну с одним кором тяжело устроиться. Спринг нужен джуну. Плюс еще html css js нелишним будет.
597 1207547
сап, джаваны, подскажите, есть КлассА и КлассБ, написать для них что-то типа обертки(нормальное наследование уже не сделать, код не мой) и потом уже возвращать из нее соответствующие экземпляры предварительно вызвав какой-нибудь метод типа isClassB?
598 1207669
Для спринга бывают шаблоны админок? Не те которые spring boot admin, а те который для контент менеджеров например.
599 1207749
Прошел курс на coursere по Java. По отдельности все понимаю, циклы там, наследование, полиформизм и все такое, но воедино свзять не получается. Знаковый посоветовал читнуть Effective Java Блоха и все встанет на свои места. Это поможет мне?
600 1207875
За что сейчас платят деньги и как прокачиваться? Расклад такой, год работаю джава джуном, уже хорошо знаю core и некоторые фишки ЕЕ, юзаю jsf, освоил hibernate и в некоторой степени sql, ну круд напишу, короче. Как я понимаю, стек немного устарел? Пытаться вкатываться в спринг, а что ещё?
601 1207893
>>207749
Не поможет. Советчик хуйню сморозил.
602 1207905
>>207893
Что тогда делать в таком случае? В Факе темы вон тоже написано что поможет не писать костыли.
603 1207928
Ты сейчас вообще нихуя написать не сможешь, не то что что-либо без костылей.
Напиши пару крупных консольных программ, потом сам поймешь, что тебе нужно.
604 1207929
605 1208448
Хочу пройтись по базе, этот курс всё ещё релевантен? (2011 год)
https://www.youtube.com/watch?v=TBWX97e1E9g&list=PLE7E8B7F4856C9B19
606 1208620
>>208448
Лень коменты прочитать? Второй же комент отвечает на вопрос
607 1208992
Где перекат, пидоры?
609 1215764
>>186670 (OP)
Поясните вкатывальщик за апплеты, господа! Нужно их учить или пропустить, так как они диприкейтед?
610 1219498
>>186670 (OP)

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


а андроид приложухи?сильно не стукай
inferTypes.png24 Кб, 1774x34
611 1223725
Кто тут кукарекал, что с варом будет непонятно, какой тип у переменной?
612 1223726
Идея все нормально выводит, подсвечивая и изменяя тип в реалтайме
613 1225644
мальчишки всем привет, кто растолкует что за ошибка такая? http://www.slf4j.org/codes.html#StaticLoggerBinder , делаю приложение на сервлетах
Тред утонул или удален.
Это копия, сохраненная 3 августа 2018 года.

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

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