Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски

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

Check this out!


<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
612 | 26 | 183

Java thread Аноним 09/05/18 Срд 09:44:32  1186670  
гослинг.jpg (13Кб, 480x360)
language-fanboys.jpg (271Кб, 1055x694)
GUIWindow.gif (5Кб, 506x232)
прошлый 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
Аноним 09/05/18 Срд 10:13:48  1186677
Java переживает свой закат. 10я версия окончательно вбила гвоздь в её гроб. Уже учите новый язык, петушки?)
Аноним 09/05/18 Срд 11:40:57  1186703
NZ1soO7a60U.jpg (46Кб, 604x453)
>>1186677
Аноним 09/05/18 Срд 11:52:23  1186706
>>1186703
Какой-то совсем зелёный троль. С приближением каникул таких в прогромаче будет появляться всё больше, к сожалению.
Аноним 09/05/18 Срд 12:15:21  1186716
>>1186706
/pr всегда был прибежищем для дурачков и вайтишников, ну и пары процентов залетных спецов. От времени года мало что меняется.
Аноним 09/05/18 Срд 12:18:19  1186719
Насколько будет больным перекат с JS на Java?
Надо ли открывать книгу для чайников и реально учить все с нуля?
Аноним 09/05/18 Срд 12:23:52  1186722
>>1186719
> с JS
У тебя необратимо поврежден головной мозг. Так что придется тебе остаться на долларовом фрилансе на апворке, учить ноду и возможно го, после длительной медитации.
Аноним 09/05/18 Срд 12:24:08  1186723
>>1186719
var есть и там и там. Остальное несущественно
Аноним 09/05/18 Срд 12:31:03  1186728
Всем привет. Я новичок поэтому простите за банальщину. У меня есть простое javaapp приложение с библиотекой jSSC, которая считывает данные с ком порта. Мне нужно эти данные отправить на сервер, чтобы вывести значения в браузере. Как это сделать? Можете ссылки примеров скинуть и тд
Аноним 09/05/18 Срд 12:54:27  1186741
Сейчас какой-нибудь фреймворк для десктопа развиваетс, или уже все приостановлены?
Аноним 09/05/18 Срд 13:16:03  1186765
так я и не знаю с чего начать
Аноним 09/05/18 Срд 13:25:24  1186772
>>1186741
React Native
Аноним 09/05/18 Срд 13:34:45  1186786
>>1186677
джаву с девяностных хоронят
Аноним 09/05/18 Срд 13:42:39  1186791
>>1186741
гуи на джаве не нужны
Аноним 09/05/18 Срд 14:42:03  1186864
>>1186786
Одной из главных фишек Джавы была обратная совместимость, а теперь её полностью проебали, кек.
Аноним 09/05/18 Срд 14:47:19  1186872
>>1186719
>2018
>перекат с JS на Java
Аноним 09/05/18 Срд 14:50:59  1186877
>>1186864
починят
Аноним 09/05/18 Срд 15:16:59  1186897
В тему гуйцов - на чём нынче делают кроссплатформенные толстые клиенты? А тонкие?
Аноним 09/05/18 Срд 15:35:07  1186915
>>1186897
веб. По моему субъективному мнению, всякие системы реального времени нельзя переводить на веб, он для этого не подходит
Аноним 09/05/18 Срд 16:03:14  1186923
>>1186897
qt, gtk кроссплатформены
Аноним 09/05/18 Срд 17:55:04  1187029
Аноны, есть годные задачки, чтобы отточить навык новичку? Читаю Шилда, но понимаю что если не практиковаться то толку мало.
Аноним 09/05/18 Срд 19:31:14  1187110
Хибернейт можно сконфигурировать через .properties файл или только через хмл? Читал сейчас доки хибернейта и там ничего по этому поводу не нашел.
Аноним 09/05/18 Срд 22:29:13  1187237
>>1187110
Можно через код, в который ты сам подставишь значения из .properties или откуда удобно
Аноним 09/05/18 Срд 22:33:36  1187239
Как в java прочитать строку из фаила?Я пробую через inputstream или сканер.Получаю на выходе null.
Аноним 09/05/18 Срд 22:39:10  1187246
>>1187239
Ноль на входе - ноль на выходе.
Аноним 09/05/18 Срд 23:38:54  1187305
>>1187110
>Хибернейт можно сконфигурировать через .properties файл или только через хмл? Читал сейчас доки хибернейта и там ничего по этому поводу не нашел.
Через проперти можно конфигурировать конект к базе, маппинг через XML или аннотации.

>>1187239
https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#lines-java.nio.file.Path-
Аноним 10/05/18 Чтв 10:04:35  1187494
>>1187305
>Через проперти можно конфигурировать конект к базе
Да, мне это и нужно. Как это сделать?
У меня сейчас есть hibernate.properties в класспасе, но вылетает ошибка
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory'
Есть статья как это правильно сделать? Весь гугл облазил и не нашел
Аноним 10/05/18 Чтв 10:21:38  1187496
>>1187494
Настроить коннект к базе != сконфигурировать хибернейт. Раз у тебя спринг, гугли PropertyPlaceholderConfigurer
Аноним 10/05/18 Чтв 11:20:42  1187512
>>1187496
>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
Аноним 10/05/18 Чтв 14:41:35  1187643
Как можно писать один проект несколько лет? Что там может быть настолько сложного?
Аноним 10/05/18 Чтв 16:48:38  1187731
>>1187643
толсто
Аноним 11/05/18 Птн 01:21:19  1188044
>>1186864
> а теперь её полностью проебали
Каким образом?
Аноним 11/05/18 Птн 08:58:27  1188102
>>1188044
На 10 половина либ не работает.
Аноним 11/05/18 Птн 10:41:09  1188142
>>1188102
A. Ссылку на источник
Б. ССЗБ, если использовали недокументированные особенности
Аноним 11/05/18 Птн 11:40:25  1188173
>>1187731
Серьезно спрашиваю.
Аноним 11/05/18 Птн 13:28:43  1188222
Список заданий на спринг буте, с постгрес в роли бд и vue в роли фронтенда - норм?
Аноним 11/05/18 Птн 13:32:15  1188226
>>1188222
Норм
Аноним 11/05/18 Птн 17:11:15  1188308
>>1188173
бизнес не может просто взять и написать как оно должно быть в идеале, ибо бизнес сам не знает, что должно получиться в итоге.
Итого делаем одно. После некоторого периода эксплуатации переделываем. Потом опять. И так до состояния, когда всех более-менее устраивает.
И тут приходит время добавления фич, а после и доработки этих фич.

Дальше два пути:
1) Если менеджмент неадекватный, если нет единого хозяина-конечной точки принятия решения, то этот проект тонет под грузом неюзабельного интерфейса и неюзабельных фич
2) Хороший менеджмент, есть конечная точка принятия решения, фичи не добавляются ради фич. В таком случае проект живёт и приносит деньги
Аноним 11/05/18 Птн 20:30:58  1188397
>>1188226
Не, чет дохуя сложно. Сделаю SPA на шаблонизаторах.
Аноним 11/05/18 Птн 20:50:23  1188400
>>1188397
Чем тебе vue не шаблонизатор?
Аноним 11/05/18 Птн 20:51:45  1188401
>>1188397
на каких таких шаблонизаторах маня?
Аноним 11/05/18 Птн 20:53:44  1188402
>>1188401
Freemarker
>>1188400
Да хуй знает, там чета устанавливать надо, конпелировать, ну его. Все равно фронтендом не планирую заниматься.
Аноним 11/05/18 Птн 20:54:46  1188404
>>1188402
тебе ОЧЕ много JS кодить руками придётся маня, бери ангулар и всё
Аноним 11/05/18 Птн 20:56:11  1188406
>>1188404
Вот я и не хочу js трогать. В ангуляре сильно меньше?
Аноним 11/05/18 Птн 20:57:26  1188408
>>1188406
Ты бы хоть почитал что такое SPA что ли. В любом случае для SPA нужен JS, весь вопрос в том кто будет его писать.
Аноним 11/05/18 Птн 20:57:29  1188409
есть какой-нибудь js продукт без всех этих бабелей и компиляции? Чтобы просто взять и ваять внутри js файла?
Аноним 11/05/18 Птн 20:58:10  1188410
>>1188408
Я знаю, что vue для этого больше всего подходит, и все.
Аноним 11/05/18 Птн 20:59:44  1188411
>>1188410
без JS можешь в сторону GWT или Vaadin посмотреть
Аноним 11/05/18 Птн 21:04:14  1188413
>>1188402
>Все равно фронтендом не планирую заниматься.
Лучше при этом все равно сделать нормальный REST-бэкэнд. А дальше можешь какой угодно к нему фронт делать, хоть на JS через немогу как умеешь, хоть консольное приложение, хоть телеграм-бота. Все больше пользы, чем от возни с неактуальным server-side рендерингом.
Аноним 11/05/18 Птн 21:08:41  1188417
>>1188413
неактуален он только во влажных мечтах фронт-эндеров, большая часть ресурсов на сервер-сайд рендеринге работает без проблем, для SPA он не подходит конечно
Аноним 11/05/18 Птн 21:11:45  1188419
>>1188413
Я уже делал rest-бекенд, фронт там был сделан с помощью freemarker, а в js коде использовал только jquery. Просто хочу сделать все более стандартно и сам.
Аноним 11/05/18 Птн 21:11:46  1188420
>>1188417
Хрюкни.
Аноним 11/05/18 Птн 21:13:01  1188422
Какую библиотеку мне надо скачать, чтобы я мог просто поставить над классом аннотацию @POJO, указать там приватные поля, и мне автоматически сгенерировались бы геттеры, сеттеры, конструкторы, toString, equals и hascode?
Аноним 11/05/18 Птн 21:13:49  1188423
>>1188422
но зачем? Пару хоткеет и идея это сгенерирует
Аноним 11/05/18 Птн 21:15:00  1188425
>>1188423
Точнее не сгенерировались бы, а я сразу мог их использовать, а в коде класса ничего не писать.
Аноним 11/05/18 Птн 21:19:20  1188428
>>1188422
KotlinLombok
Аноним 11/05/18 Птн 21:19:32  1188429
>>1188425
как ты себе это представляешь?
Аноним 11/05/18 Птн 21:23:00  1188432
image.png (5Кб, 249x80)
>>1188428
В ломбоке можно указать параметры генерации equals и hashcode?
>>1188429
Вот так.
Аноним 11/05/18 Птн 21:25:10  1188433
>>1188432
дык эти аннотации в рантайме работают все, у тебя не скомпилится если ты будешь геттеры дёргать
Аноним 11/05/18 Птн 21:29:04  1188436
>>1188433
Ну ломбок же как-то работает.
Аноним 11/05/18 Птн 21:31:30  1188437
>>1188433
Ломбок при компиляции дохуярит.
>>1188432
Какие параметры генерации?
https://projectlombok.org/features/Data
Аноним 11/05/18 Птн 21:39:44  1188443
>>1188422
Просто переходи на Kotlin, у тебя нет причин этого не делать
Аноним 11/05/18 Птн 21:40:21  1188445
>>1188443
лучше на скалу
Аноним 11/05/18 Птн 21:41:45  1188448
>>1188445
А лучше разбежавшись прыгнуть со скалы.
Аноним 11/05/18 Птн 21:44:23  1188452
>>1188445
Вот именно что на котлин, если есть задача просто убрать бойлерплейт, а не получить полностью другой язык
Аноним 11/05/18 Птн 22:02:39  1188464
>>1188419
>rest-бекенд
>freemarker
Это был не rest-бэкэнд (ну или только частично rest)

>хочу сделать все более стандартно
Стандартно на сегодняшний день - именно чистый rest, без фримаркера и подобного
Аноним 11/05/18 Птн 22:13:18  1188467
>>1188432
Да, можно.
Аноним 13/05/18 Вск 00:02:11  1188905
Объясните как получать координаты мыши при условии что окно неактивно.Мне подсказали что можно использовать jnativehook.Но я не могу отыскать пример.
Аноним 13/05/18 Вск 10:32:24  1188998
>>1188905
Виндоус?
Вначале ищещь как это сдлеать на твоей платформе из нативного кода. Потом пишешь этот код, конкпилируешь его проверяешь что рабоатет. Потом закидываешь как динамическую бибилиотеку и подключаешь к джаве. Вуаля.
Аноним 13/05/18 Вск 22:14:16  1189417
>>1187029
codewars
Аноним 13/05/18 Вск 22:15:20  1189419
Зачем нужно разделение на проверямые и непроверяемые исключения?
Аноним 13/05/18 Вск 22:16:17  1189420
>>1189419
чтобы был выбор
Аноним 13/05/18 Вск 22:49:28  1189434
Почему Checked Exceptions не пометят как Deprecated?
Аноним 14/05/18 Пнд 10:18:28  1189539
>>1189419
Исторически слежалось.
>>1189434
Потому что поднимется шитсторм говноедов.
Аноним 14/05/18 Пнд 10:22:28  1189541
>>1189539
>говноедов
По-твоему чекед не нужны?
Аноним 14/05/18 Пнд 10:41:27  1189551
>>1189541
Не нужны.
Аноним 14/05/18 Пнд 10:46:24  1189556
>>1189551
Как сказать, что этот метод может выкинуть исключение, и что его надо обязательно обрабатывать?
Аноним 14/05/18 Пнд 10:50:28  1189557
>>1189556
Javadoc.
> его надо обязательно обрабатывать
Что ты подразумеваешь под словом "обработать"? 99% случаев они логируются и выполнение кода прерывается. А в 1% случаев разработчик сам знаешь как обработать и продолжить выполнение кода.
Аноним 14/05/18 Пнд 11:00:14  1189564
>>1189557
>Что ты подразумеваешь под словом "обработать"?
Прологгировать и выкинуть код бизнес-ошибки на выход например.
Чекед ЗАСТАВЛЯЕТ тебя знать и обрабатывать эксепшены.
Анчекед просто вывалятся в рантайме и все, с непредсказуемым результатом
Аноним 14/05/18 Пнд 11:49:03  1189583
>>1189541
По-моему анчекед не нужны.
Аноним 14/05/18 Пнд 13:27:34  1189628
Хочу подключить файловую БД, и чтобы не нужно было писать запросы руками, типо как в Room Persistance Library для ведроида, только для декстопного приложения. Что скажете за jOOQ, этого вообще кто-нибудь использует?
Аноним 14/05/18 Пнд 14:26:23  1189653
А как вам такое Илн Маск?
ЭКСЕПШНЫ НЕ НУЖНЫ
Пусть метод возвращает юнион успешного результат и возможных ошибок. А кидать только ошибки которые никак не хендлятся.
хуй такое в джаве будет
Аноним 14/05/18 Пнд 14:40:59  1189660
>>1189653
Вы теряете самое полезное, что есть у эксепшна: стектрейс.
Аноним 14/05/18 Пнд 14:48:20  1189668
>>1189660
Тебе не нужен стектрейс если ты (и автор библиотеки) обязан обработать все варианты поведения.
нигга.жпг
Аноним 14/05/18 Пнд 14:56:51  1189672
>>1189660
Для стектрейса конструкция try/catch необязательнп. Его можно создавать в конструкторе эксепшена. Речь идёт о другом способе передачи эксепшона наверх, к вызывающей функции.

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

[1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0709r0.pdf
Аноним 14/05/18 Пнд 15:04:48  1189681
image.png (23Кб, 688x358)
image.png (21Кб, 689x355)
Как это починить? В других java-приложениях тоже шрифты ломаются или вообще ничего не показывает

manjaro linux, openjdk-8
(На oracle java то же самое было)
Аноним 14/05/18 Пнд 15:09:36  1189682
>>1189653
>>1189660
>>1189668
>>1189672
Ладно я погорячился признаю. В своем коде я предпочитаю юнионы, они отлично заменяют чекед эксепшны, но унчекд не надо убирать, пусть будутт для простых вещей.
Аноним 14/05/18 Пнд 15:34:26  1189691
>>1189681
Впервуюочередьябысталискатьпроблемувсистеме,скореевсегоджаватутсовершеннонепричемещевозможнопроблемазаключаетсявсамойideтакчтоябыпопробовалпереустановитьее
Аноним 14/05/18 Пнд 15:53:46  1189694
>>1189672
Для редких ситуаций (см. Эксепшнл) эксепшны в джаве работают быстрее, чем ретурн флаги. Гугли The exceptional performance of Lil' exception.
Аноним 14/05/18 Пнд 16:08:11  1189702
>>1189694
Потмоу я и сказал, что в жаве (как и любом языке, работающем поверх VM) оно особо и не нужно. JIT эту хрень может неплохо соптимизировать. А вот для компилируемых в нативный код языков этот вариант гораздо лучше.
Аноним 14/05/18 Пнд 17:39:44  1189748
>>1189691
Хаха, очень смешно. Шутник блядь. Зарепортила тебя, хуесос.
Аноним 14/05/18 Пнд 17:54:44  1189755
>>1189702
Ну у нативных тоже не всё так просто. Вон в цпп до сих пор не решили как им работать: так и компилят стандартную либу в двух вариантах, половина либы в макросах.
Аноним 14/05/18 Пнд 18:02:57  1189757
>>1189755
В ЦПП стандарта на такие ошибки просто не было (впрочем и сейчас нет, не факт, что документ вышу примут к C++20). Тут стоило бы вспомнить об optional, который добавили только недавно, а в стандартной библиотеке вместо него используют итераторы.

А ошибки там это вообще больная тема. Вспомнить хотя бы ублюдский math.h с наследием Си.
Аноним 14/05/18 Пнд 18:09:56  1189763
>>1189681
>>1189748
Мне с этим тут помогут или нет?
Стоит ли идти в Linux-треды?
Аноним 14/05/18 Пнд 19:32:43  1189800
>>1189748
>Зарепортила
Тяночка!!! Как же хочется тяночку! Няшиться под пледиком! Тян тян тян!
Аноним 14/05/18 Пнд 20:01:39  1189818
>>1186719
как тебе пришла в голову перекатываться с джс на джаву?
Аноним 14/05/18 Пнд 20:07:48  1189821
>>1188445
лучше на clojure
Аноним 14/05/18 Пнд 20:08:22  1189822
>>1188452
это задача groov7
Аноним 14/05/18 Пнд 20:09:53  1189824
>>1189757
Ну там многие проблемы - наследие си. Его главная проблема - там не изобрели мавен до сих пор. Только по этой причине писать на плюсах не хочется.
Аноним 14/05/18 Пнд 20:27:35  1189841
>>1189763
Не помогут. Пиздуй нахуй отсюда.
Аноним 14/05/18 Пнд 23:31:21  1189969
>>1189763
Я ебу поспрашивай красноглазых.
https://stackoverflow.com/questions/17510099/ugly-fonts-in-java-applications-on-ubuntu

Знаю что жидея по идее (привет тавтология) это вроде должна фиксить, точнее во встроенной жре у нее есть фикс.
Аноним 14/05/18 Пнд 23:50:06  1189983
Сап тред
1) Код типа такого (спринг) - норм или как такие вещи делают нормальные люди?

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

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

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

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

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





Аноним 15/05/18 Втр 00:21:11  1189998
>>1189983
> норм
Не норм. ListenableFuture костыльная хуйня без задача. Если так уж хочется - используй CompletableFuture, он намного удобнее в чейне операций. Если у тебя IO операция, или хочешь быть модным - используй rxjava или reactor.
> 2) как в коллбаке #1, убедится что транзакция которая вызывала метод doSomethingAsync() уже закоммитилась?
Чоблять? Транзакции не вызывают методы.
Если тебе нужно знать закоммитилась ли уже транзакция в рамках которой был вызван метод, то выбрасывай архитектуру компонента и переделывай заново на функциональный подход, чтобы лямбде в колбеке было вообще похуям что было до нее и что вокруг нее. Костыли с пробросом объекта мануальной транзакции монадой до добра не доведут и сделают еще хуже.
Если ты говнокодер и не можешь сделать иначе, то хотя бы вызывай асинхронщину в самом конце транзакции.
Аноним 15/05/18 Втр 00:26:55  1190001
А лучше после коммита.
Аноним 15/05/18 Втр 00:30:53  1190006
>>1189998
> Чоблять? Транзакции не вызывают методы.
Не кипятись, писал быстро и неправильно выразился. Ты же понял о чем я.
Мне надо чтобы транзакция в контексте которой был вызван асинхроный метод была закончена на момент колбека, чтобы обновить там стейт объекта.
> то хотя бы вызывай асинхронщину в самом конце транзакции.
Вот я хотел спросить, как это правильно сделать? она не всегда завершается раньше, чем приходит коллбек.

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

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

....

ListenableFuture<Void> future = superService.doSomethingAsync();
future.addCallback({
// вот тут изначальная транзакция еще не обазательно закоммитилась, поэтому нельзя сделать просто
r.setState(DONE);
}, e -> {
r.setState(FAILED);
});


Аноним 15/05/18 Втр 00:39:21  1190010
>>1190006
Ты делаешь транзакцию и изменяешь какие-то данные. Во время транзакции запускаешь асинхронную операцию, которая выполняется в отдельной транзакции, и тебе нужно, чтобы первая транзакция уже завершилась, чтобы вторая транзакция с увидела изменения первой транзакции (вангую дефолтная read commited изоляция) и изменить их.

Просто все эти данные в одной транзакции, а не занимайся ебатекой, что у тебя может быть логически неконсистентность, что транзакция выполнилась, а асинхронщина ебнулась и хули теперь.
> Вот я хотел спросить, как это правильно сделать?
Ты накурился там? Просто вызываешь свой superService.doSomethingAsync() после завершения транзакционного метода (если декларативно) или транзакционного блока (если вручную рулишь).

Аноним 15/05/18 Втр 01:26:18  1190020
что думаете о j-born?
Аноним 15/05/18 Втр 09:39:57  1190086
>>1190006
Лучше тупо запустить асинхронщину после завершения метода (как уже писали выше), но если сильно приспичило, спринг позволяет вешать колбэки на завершение текущей транзакции, см. TransactionSynchronizationManager
Аноним 15/05/18 Втр 10:03:24  1190096
>>1190020
Наеб на доллары тупых войтивайти.
Аноним 15/05/18 Втр 11:09:06  1190132
>>1190020
Норм фильмец.
Аноним 15/05/18 Втр 11:39:00  1190164
>>1190096
Какую альтернативу предложите?
Аноним 15/05/18 Втр 14:41:28  1190306
У меня есть Entity класс User, у него есть поле List<UserAliases> userAliases = ..., это связь с таблицей user_aliases, маппинг настроен корректно, есть UserDaoImpl, так вот как получить из него поле userAliases?
Или сформулирую подругому - как получить из entityManager текущий объект/класс текущей сессии? или только обращаться к sessionManager? Я ньюфаг, поэтому неуверен что четко сформулировал вопрос.
Аноним 15/05/18 Втр 15:23:31  1190326
>>1190306
>неуверен что четко сформулировал вопрос.
Не зря сомневаешься, получился совсем бессвязный набор слов, попробуй ещё раз
Аноним 15/05/18 Втр 15:34:48  1190333
Посоветуйте каких-нибудь актуальных книжек по Spring Security, в частности интересует авторизация через REST API и управление ролями/привелегиями пользователей.
Аноним 15/05/18 Втр 16:48:52  1190396
>>1190333
google: spring security example
Аноним 15/05/18 Втр 17:38:36  1190449
>>1190164
Книги для начала. На курсах тебе предложат те же книги только ужатые раз в 50. А потом можно на всякие coursera записаться. Из отечественных говорят хекслет норм. Но опять же новичкам иам тяжело по тем же отзывам.
Ну а если спросишь меня то самый православный вариант это учить java core по книгам потом spring in action и пиздуй кодить где только можно
Аноним 15/05/18 Втр 18:20:31  1190475
>>1190449
>
>Книги для начала. На курсах тебе предложат те же книги только ужатые раз в 50. А потом можно на всякие coursera записаться. Из отечественных говорят хекслет норм. Но опять же новичкам иам тяжело по тем же отзывам.
>Ну а если спросишь меня то самый православный вариант это учить java core по книгам потом spring in action и пиздуй кодить где только можно

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

Мне главное повторить то что знаю хорошо, прокачать то чего не было тогда (тот же гит) и понять как работают паттерны и прочие новые фишки. читать пробовал, ролики смотрел но вопросы задавать некому и по большому счету. цена вопроса не такая большая чтобы в случае неудачи винить кого-то кроме себя. А там вроде и обратная связь и соревновательная часть.
Аноним 15/05/18 Втр 18:24:39  1190478
>то чувтсва кагда использавал линкед лист потому что она начинается с буквы Л хатя аррай лист лучши...
Аноним 15/05/18 Втр 19:41:43  1190536
>>1190164
Никакую. Пошел нахуй.
Аноним 15/05/18 Втр 19:44:04  1190537
>>1190475
> Лет 10 назад на заочке закончил универ по ИТ
> 30+ (33-34+ по факту)
> заочка говноадмина
> 0 коммерческого опыта разработки
Мы вам перезвоним.
Аноним 15/05/18 Втр 20:10:21  1190557
>>1190537
29 по факту

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

сам то где работаешь и кем? сколько лет? какой опыт?
Аноним 15/05/18 Втр 20:10:44  1190558
>>1190536
и вам хуй соси
Аноним 15/05/18 Втр 20:29:23  1190576
У меня ебанутый вопрос. А есть какие-нибудь аудиокниги по общим вопросам программирования? Парадигмы, методологии и т.п. Мне бы не хотелось ещё и в метро глаза выжигать, а вот послушать чего-нибудь можно.
Аноним 15/05/18 Втр 20:37:03  1190583
>>1190557
>>1190558
Зашкворчало от ненайдящего работу войтивайти.
> абсолютно нерелевантный бэкграунд
Еще и это.
>>1190576
> не хочу глаза выжигать
> хочу получать зарплату за программирование
Еще один. Хочешь быть геем, но не хочешь долбиться в жопу с горки кататься, а саночки возить не хочешь.
Аноним 15/05/18 Втр 20:39:21  1190584
>>1190583
У меня всё хорошо с работой, не переживай. И расслабь булки, от твоих постов несет детской злостью.
Нечего сказать - пройди мимо, не вываливая дерьмо из своей головы.
Аноним 15/05/18 Втр 20:51:53  1190597
>>1190584
Ого, войтивайти пытается огрызаться. Но ничего, жестокая жизнь еще обгрызет.
Аноним 15/05/18 Втр 20:53:45  1190600
>>1190597
хуле ты резко против? на галере места мало?
Аноним 15/05/18 Втр 21:09:42  1190608
>>1190600
Это же двач, тут омежки могут себя немного людьми почувствовать. В реальной жизни же слова боятся сказать, не принимай близко к сердцу.
Аноним 15/05/18 Втр 21:11:15  1190609
>>1190608
Вкатывайся, в отрасли жуткий кадровый голод, места хватит всем.
Аноним 15/05/18 Втр 21:17:56  1190613

Если кому интересно могу тут раз в 2-3 дня писать о своих успехах-неудачах с j-born
Аноним 15/05/18 Втр 21:19:03  1190615
>>1190600
Потому что ты будешь, как и все войтивайти, демпинговать, лишь бы взяли, и просажить зарплатный рынок.
>>1190608
Проекции. На собеседовании напрямую людей спрашиваю в чем их цель войти в айти, если они перекатчики, а не нормальные люди.
Аноним 15/05/18 Втр 21:25:43  1190620
>>1190615
Все равно этот рынок имеет один из самых высоких планок по входу. Все остальные уйдут или в php или в js.
Ну да ладно
Аноним 15/05/18 Втр 21:48:25  1190636
>>1190620
Глупости. Джава не особо сложнее промышленного php и современного фронтенда. Особенно на юаньском уровне.

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

К чему это я? Может кто подскажет интерактивное обучение по типу джавараш/codecademy/developer.alexanderklimov.ru немного теории+практика на месте+проекты
Буду признателен
Аноним 15/05/18 Втр 22:36:53  1190666
>>1190649
Много раз писалось - udacity. Для вката в джаву книги не нужны, достаточно гугла и онлайн туториалов. Особенно игнорируй SICP, который так любят тут советовать. Ну, как будешь сениором можешь прочитать на досуге.
Аноним 15/05/18 Втр 22:37:50  1190668
>>1190649
Если ты не можешь осилить простую фесолофию java, то это значит, что ты тупой программирование не твое и твои мозги заточены под другую сферу деятельности.
Аноним 15/05/18 Втр 22:41:25  1190671
>>1190647
Скажи это фронтенд-разработчикам, у которых долларового фриланса полон апворк и полно хорошо оплачиваемых фуллтайм позиций что здесь, что там.
Аноним 15/05/18 Втр 22:45:46  1190673
>>1190671
уговорил, ушел на фронт-энд. чао
Аноним 15/05/18 Втр 23:16:45  1190691
>>1190673
>>1190671
зря зря, как фронтендер говорю - вся удаленка задемпингована школьниками и индусами.
Аноним 15/05/18 Втр 23:22:19  1190695
>>1190691
Подскажи где найти? Реакт нужен.
Запостил джобу на апворке - ни одного нормального кандидата. Есть парочка нормальных с Украины, но они хотят овер $40 в час, я же могу макс $25 платить.
Аноним 15/05/18 Втр 23:39:55  1190710
>>1190691
и куда следовать тогда (кроме как нахуй)?
Аноним 16/05/18 Срд 00:05:14  1190721
>>1190691
Если твои конкуренты - это школьники и индусы, то у тебя все не очень хорошо.
Аноним 16/05/18 Срд 00:34:00  1190728
>>1190710

Роботы-ебобаты, интернет вещей, VR, вот это всё.
Аноним 16/05/18 Срд 00:39:47  1190729
>>1190475
Нормальное образование не может дешево стоить. Посмотри на зарплаты среднего java сеньора и прикинь сколько будет стоить у него обучение. Так что дружище не страдай херней и прочти хотя бы базовую книгу а вопросы гугли или тут задавай
Аноним 16/05/18 Срд 01:33:12  1190740
Чо делать если я слишком тупой для задачек на codewars?
Аноним 16/05/18 Срд 04:04:35  1190761
Сап, ананасы. Хочу вкатиться в Java для распределенных систем. С чего начать погружение в архитектуру распределенных систем на java? Когда уместно использовать броккеры сообщений? Есть какие-то советы, каких практик стоит придерживаться, чтобы бек можно было относительно безболезненно разнести по разным нодам? Если все упирается в базу, то как масштабировать классическую sql базу, чтобы ее тоже можно было разнести по разным нодам?
Аноним 16/05/18 Срд 07:38:26  1190783
>>1190761
>С чего начать погружение в архитектуру распределенных систем на java
Что именно интересует? Кластеры, что бигдату мапредусят? Микросервисы? Горизонтальное масштабирование по типу N копий за балансировщиком?

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

>как масштабировать классическую sql базу, чтобы ее тоже можно было разнести по разным нодам
Сильно зависит от специфики приложения и того, в каком режиме собираешься использовать ноды. В любом случае не помешает грамотный DBA.
Аноним 16/05/18 Срд 08:17:34  1190787
>>1190761

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

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

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

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

3) Балансировка сама по себе не балансируется, ебись с ней сам, перепиливаю граф тасков полностью по 4 раза в день. Я запускаю профайлер по 1 раз в день, каждое профилирование с правками занимает 24 часа.
Аноним 16/05/18 Срд 08:24:03  1190790
>>1190787
Забыл:
4) Распараллеливание работает онли на большом объеме данных, в проитивном случае будет только проигрыш на оверхеде и latency, особенно в варианте с распределенным сетевым кластером.
Аноним 16/05/18 Срд 08:48:46  1190805
>>1190787

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

http://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine
Аноним 16/05/18 Срд 08:58:59  1190807
>Java для распределенных систем.
>брокеры сообщений
>бек
>масштабировать классическую sql базу
>пример из гейдева
Аноним 16/05/18 Срд 09:00:13  1190808
Аноны, как сильна нужна математика для джава программиста? То что нужна, это понятноне вдаваясь в подробности, какая именно. Мне интересно, как нужна она начинающему прогеру
Аноним 16/05/18 Срд 09:03:16  1190810
>>1190808
Энтерпрайз-макаке не нужна
Аноним 16/05/18 Срд 09:08:39  1190811
>>1190805
>http://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine

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

> Enterprise Java
Аноним 16/05/18 Срд 10:15:48  1190835
>>1190691
У меня знакомый уехал в тайланд на 100 баксов в час рейт работать на калифорнийскую компанию.

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

диванон по знакомому, азазаз
Аноним 16/05/18 Срд 10:17:47  1190837
>>1190808
Нужна и сильно.
Аноним 16/05/18 Срд 13:57:19  1190964
>>1190837
какая именно?
Аноним 16/05/18 Срд 17:07:06  1191057
>>1190835
>в тайланд на 100 баксов в час
Хм...
Аноним 16/05/18 Срд 17:55:35  1191074
>>1190964
Пиздит он, не слушай
Аноним 16/05/18 Срд 19:04:43  1191119
Аноны, появился вопрос. У меня есть отдельная функция которая подставляет данные файла к переменной. Но нужно что бы подстановка не прекращалась, и если была подставлена последняя строка, все начиналось заново. Как мне это реализовать?
Аноним 16/05/18 Срд 19:14:50  1191124
>>1191119
чевоблять?
Аноним 16/05/18 Срд 19:16:12  1191125
>>1191124
я не знаю как еще проще объяснить
Аноним 16/05/18 Срд 19:32:20  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
Аноним 16/05/18 Срд 19:38:15  1191137
>>1191134
15-17 пропускай
Аноним 16/05/18 Срд 19:41:16  1191141
>>1191124
чето типо постоянная работа с файлом. Открывать его заново, когда закончились строки для чтения
Аноним 16/05/18 Срд 21:17:39  1191196
Пиздит он >>1191074 , не слушай.
Аноним 16/05/18 Срд 21:19:41  1191197
>>1190835
ой плес. у всех есть такой знакомый. по факту заграницей требуются спецы по нормальным языкам типа жавы или функциональщины, а не индусофронтендеры
Аноним 16/05/18 Срд 21:29:47  1191203
>>1191197
> у всех есть такой знакомый
Вот только по факту все эти знакомые это фронтендеры, сидящие либо на долларовом фрилансе тут ебанутые, либо сидящие на долларовом фрилансе в более приятных странах.
Аноним 16/05/18 Срд 22:02:09  1191230
>>1191137
А лямбды нужны? Без них то как то обходились раньше
Аноним 16/05/18 Срд 22:13:03  1191241

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

Можно подробнее? Кто-нибудь пробовал - как оно?
Аноним 16/05/18 Срд 22:32:35  1191258
>>1191230
вцелом тоже можешь пропустить.
Аноним 16/05/18 Срд 22:47:22  1191268
>>1191230
Нужны. Хуево без них было раньше
Аноним 17/05/18 Чтв 11:48:50  1191459
>>1191230
Лямбды сделали Джаву менее громоздкой, более удобной, добавили гибкости, которой так не хватало, убрали анальное ООП.
Свой высокоуровневый протокол поверх nio Аноним 17/05/18 Чтв 16:39:45  1191579
Всем привет. Хочу написать библиотеку, работающую с высокоуровневым прикладным протоколом поверх java.nio.channels.SocketChannel. Этот протокол описывает определенные сообщения, которые клиент и сервер шлют друг другу, причем сервер может отправлять сообщения клиенту в любой момент времени, не только как ответ на запрос клиента.

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

Если есть пример какой-нибудь высокоуровневой библиотеки поверх java.nio.channels.SocketChannel, был бы благодарен за ссылку, потому что гуглил-гуглил - а ни одну не нашел, у всех хелловорлдов высокоуровневая логика непосредственно рядом с while (true) { selector.selectedKeys() ... }, и все норовят создавать тред сами, а я хочу это оставить за пользователем.
Аноним 17/05/18 Чтв 16:59:41  1191589
>>1191579
>ну и чтобы она НЕ создавала свой собственный Selector, и НЕ делала бесконечный цикл в отдельном треде (хочется оставить контроль пользователю библиотеки).
Как-то мало вяжется с высокоуровневостью, у тебя кишки имплементации видно получается.
Аноним 17/05/18 Чтв 17:28:48  1191627
>>1191579
Не создавать свой селектор это слишком, но вообще посмотри на kryonet
Аноним 17/05/18 Чтв 17:34:24  1191632
Как лучше хранить JSON-поле сущности? Map<String, Object>? Нужно хранить отформатированный текст, созданный с помощью Draft.js.
Аноним 17/05/18 Чтв 17:39:55  1191638
>>1191632
Сделай POJO модельку.
Аноним 17/05/18 Чтв 17:54:34  1191651
>>1191632
Делай класс, не обмазывайся мап-говном.
Аноним 17/05/18 Чтв 18:20:50  1191677
>>1191074
>>1191196
И кому из вас верить теперь?
Аноним 17/05/18 Чтв 18:48:24  1191691
>>1191589
>>1191627

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

Реально что ли плохая идея держать библиотеку минималистичной? Почему "Не создавать свой селектор это слишком"? Я же не знаю, что еще захочет пользователь в том же треде организовать.
Аноним 17/05/18 Чтв 18:52:08  1191693
>>1191579
Открой для себя netty.
Аноним 17/05/18 Чтв 18:57:29  1191698
>>1191693
он разве не утратил свою актуальность с появлением nio? да и хочется минимум зависимостей, тут будет из пушки по воробьям
Аноним 17/05/18 Чтв 19:12:17  1191708
>>1191698
Наоборот, netty нужен, чтобы не ебаться напрямую с низкоуровневым nio
Аноним 17/05/18 Чтв 19:13:03  1191709
>>1191579
Напиши лучше новый фейсбук.
Чтобы понять как библиотека должна работать, нужно понять какую проблему ты решаешь. Если у тебя нет никакой проблемы, а хочется просто библиотеку, то забудь и не трать время.
Если ты не знаешь, как с ходу сделать идеальное API, то начни с любого, т.к. с первого раза не получится в 99%. Потом в процессе использования (да даже тестирования. У тебя ведь будут тесты?) поймешь ту "боль", которая возникает у пользователя.
Аноним 17/05/18 Чтв 19:26:51  1191715
Как писать интеграционные тесты?
Аноним 17/05/18 Чтв 20:07:48  1191730
>>1191691
>Почему "Не создавать свой селектор это слишком"? Я же не знаю, что еще захочет пользователь в том же треде организовать.
Потому что неясно, в чем тогда смысл такой "высокоуровневой" библиотеки
Аноним 17/05/18 Чтв 20:09:01  1191731
>>1191715
Что ты подразумеваешь под интеграционными тестами?
Аноним 17/05/18 Чтв 20:10:11  1191733
>>1191731
Ну типа как юнит но интеграционные.
Аноним 17/05/18 Чтв 20:43:51  1191761
>>1191733
Ну вот и пиши типа как юнит, только на целые законченный сценарии. В чем сложность? Какого типа приложение?
Аноним 17/05/18 Чтв 20:47:25  1191769
>>1191761
Приложение для работы с бд с фронтендом на вебе.
Аноним 17/05/18 Чтв 20:49:27  1191772
>>1191579
Хуйней не страдай и используй thrift или protobuf, если тебе нужен бинарный протокол. Лучше все равно не напишешь, а если ты хочешь ПРОСТ, то ты не в тот язык зашел, байтоёбушек.
Аноним 17/05/18 Чтв 21:15:47  1191787
>>1191769
Спринг?
Аноним 17/05/18 Чтв 21:17:31  1191790
>>1191787
Да.
Аноним 17/05/18 Чтв 21:23:09  1191799
>>1191772
он там полубинарный, JSON, перед которым идет бинарный хедер.

>>1191730
смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно в/из ByteBuffer
Аноним 17/05/18 Чтв 21:39:25  1191819
>>1191790
Тогда тебе повезло, там все для тестов есть. Гугли по словам вроде spring test или читай https://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html
Идея в том, чтобы поднять вместе с тестом целый спринговый контекст, желательно максимально приближенный к "настоящему", и in-memory БД вроде hsqldb
Аноним 17/05/18 Чтв 21:43:42  1191822
>>1191799
> он там полубинарный, JSON, перед которым идет бинарный хедер.
И нахуя? Оверхед на обязательства по http протоколу хуй три пизды да нихуя по сравнению с самими джейсонами.
> смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно в/из ByteBuffer
И трифт, и протобаф умеют вполне высокоуровнево конвертить сразу в классы.

>>1191819
> объяснять тестирование спринга как какое-то откровение
Чет слегка кекнул.
Аноним 17/05/18 Чтв 21:46:39  1191824
>>1191799
>смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно
Т.е. сериализация тебе нужна по сути, а дальше ебись с сокетом как хочешь. Для этого уж точно свой велосипед лучше не изобретать.
Аноним 17/05/18 Чтв 21:49:15  1191828
>>1191822
>Чет слегка кекнул.
Думаешь стоило просто сразу нахуй послать?
Аноним 17/05/18 Чтв 21:54:00  1191831
>>1191828
Вариант. Или проигнорировать. Если человек даже не пытался погуглить миллиарды статей на хабре про интеграционное тестирование самого популярного кейса использования самого популярного джава фреймворка, то разжевывать ему и засовывать пережеванное в крепко сжатый рот это просто себя и свое время не уважать.
Аноним 17/05/18 Чтв 23:30:15  1191932
Аноны, вот я начитался советов в интернете и хочу купить книгу Effective Java (3rd Edition).
На русских сайтах я нихуя не вижу кроме доисторических изданий. На амазоне она стоит неебических 30 бачей. На пиратских сайтах чёт все ссылки битые.
Покажите долбоёбу, где её взять, не потратив две моих дневных зарплаты, пожалуйста.
Аноним 17/05/18 Чтв 23:33:17  1191938
>>1191932
>не проверил рутрекер
я долбоёб, игнорьте вопрос

Но тем не менее, где вы покупаете книги, если хочется в бумажном виде?
Аноним 17/05/18 Чтв 23:35:08  1191941
>>1191938
Я книги уже 4 года не читаю.
Аноним 17/05/18 Чтв 23:57:32  1191965
>>1191938
Не знаю. Не помню когда последний раз читал бумажную книгу. Лет 5 назад? Больше?
Аноним 18/05/18 Птн 13:50:52  1192147
>>1186670 (OP)
Есть в треде господа, работавшие с REST-приложениями на фреймворке Stripes?

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

Как заставить это работать, чтобы приложение принимало запросы и возвращало ответы? Чтобы можно было запросить API через браузер, curl или postman.
Аноним 18/05/18 Птн 13:55:19  1192151
Почему UserDetailsService даёт только метод loadUserByUsername и не даёт метода loadUserByUserId? Ведь у пользователя может и не быть юзернейма, например, если он зарегался через сторонний сервис (например, ВК или Гугл), а id будет всегда.
И если я на самом деле буду передавать в loadUserByUsername id пользователя (буду наёбывать Spring Security!), это нормально или плохо?
Аноним 18/05/18 Птн 14:01:38  1192155
test.png (8Кб, 200x101)
Сап, помогите с событиями.
При клике на иконку должно меняться изображение и цвет задника. Это я сделал. После этого кнопка остается "нажатой". Как сделать так чтобы после нажатия цвет обратно становился серым?
Аноним 18/05/18 Птн 15:22:45  1192189
>>1192147
Ты археолог?
Аноним 18/05/18 Птн 15:24:09  1192190
>>1192189
На чем это делается в наши дни?
Аноним 18/05/18 Птн 19:41:49  1192338
>>1192190
Spring Boot, если для ленивых, а так вариантов - масса.
Аноним 18/05/18 Птн 20:23:51  1192367
>>1192147
Ну как там в 2008?
>>1192151
Даже обоссывать лень. Такую хуйню написал.
>>1192155
Телепаты джаваскрипта в отпуске.
Аноним 18/05/18 Птн 20:24:15  1192368
Нормально ли начинать учить яву с нуля по Шилдту?
Аноним 18/05/18 Птн 21:52:47  1192408
>>1192368
http://developer.alexanderklimov.ru/android/java/java.php
Я по этому сайту начал, вроде норм.
Аноним 18/05/18 Птн 23:27:51  1192451
Поясните за спринг бута. Разница между 2.0.0+ и 1.Х+ версиями только в смене томкэта на хиккари? Проект с 1,5 не работает на 2,0.
Есть смысл ковырять версии до 2 или уже все на нее переехали?
Аноним 19/05/18 Суб 00:40:15  1192474
.webm (168Кб, 300x246, 00:00:04)
>>1192451
Аноним 19/05/18 Суб 00:43:43  1192475
>>1192474
ЯННП
Аноним 19/05/18 Суб 09:39:54  1192564
>>1192451
Разница в переезде на пятый спринг, восьмую жаву, вот это вот всё.
Аноним 19/05/18 Суб 09:59:11  1192568
>>1186670 (OP)
Сап, джава-мэны. Написал такой код для обработки запросов: https://ideone.com/z7VioE

Если потребуется делать роутинг многих путей запросов, как избавиться от увеличения рамера кода? Можно как-то более красиво добавлять обработчики?
Аноним 19/05/18 Суб 10:57:29  1192587
>>1192151
Кароч я понял, тут username это необязательно тот юзернейм, который используется при логине в паре с паролем. Поэтому буду его генерировать каким-нибудь образом (например, user_id[id юзера]_[рандомная строка]), а для логина через имя пользователя и пароль буду использовать другое поле.
Аноним 19/05/18 Суб 11:29:51  1192592
>>1192568
От увеличения какого кода ты хочешь избавиться?
Добавь отдельный файл с маппингом запросов на методы контроллера. Или возьми любой mvc фреймворк и не изобретай велосипед.
Аноним 19/05/18 Суб 12:03:42  1192601
>>1192568
Откуда get post методы взялись? ЯННП.
Аноним 19/05/18 Суб 12:08:01  1192603
>>1192592
>Добавь отдельный файл с маппингом запросов на методы контроллера
Можно пример?
Аноним 19/05/18 Суб 12:26:36  1192606
>>1192564
Я надеюсь в реальной работе все уже давно на 2.0?
Пробую перекатываться из С# в спринг.
Аноним 19/05/18 Суб 13:04:20  1192629
>>1192606
Нет.
Оставайся на месте.
Аноним 19/05/18 Суб 13:05:39  1192631
>>1192568
Ну и говнокод. Даже обоссывать противно, вдруг зашквар через мочу вверх по струе передается.
Аноним 19/05/18 Суб 13:36:48  1192651
>>1192568
Сперва я испугался, что тырпрайз совсем меня кодить разучил, но потом понял, что ты просто хуйню написал.
Аноним 19/05/18 Суб 13:52:33  1192663
>>1192629
Что за буйный шизик. Почти забыл что я на дваче.
Аноним 19/05/18 Суб 13:56:26  1192666
>>1192629
>>1192631
>>1192651
Когда сказать по делу нечего, а кукарекнуть хочется.
Аноним 19/05/18 Суб 14:03:07  1192668
>>1192666
> это сок, а не моча111 и вообще у вас бомбит
Аноним 19/05/18 Суб 17:55:30  1192783
>>1192606
Он релизнулся полтора месяца назад. Spring Cloud соответствующей версии ещё не релизнулся. Как думаешь?
Аноним 19/05/18 Суб 18:24:28  1192794
>>1192783
То есть одна версия еще недостаточно устарела, а другая не доработана. Заебись.
Аноним 19/05/18 Суб 18:25:24  1192795
>>1192794
В смысле? Что тебе не нравится в 1.х версии?
Аноним 19/05/18 Суб 18:26:24  1192796
>>1192794
>>1192795
Ну и они там не то чтобы делали breaking changes, так что хз о чем ты беспокоишься.
Аноним 19/05/18 Суб 18:27:24  1192798
Что лучше для REST апи один большой реквест или много маленьких?

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

или

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

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


Аноним 19/05/18 Суб 18:44:49  1192814
>>1192798
отдаёшь html страницу. Для кого html делали?
Аноним 19/05/18 Суб 18:46:48  1192816
>>1192814
Андроиду тоже хтмл передавать?
Аноним 19/05/18 Суб 18:53:14  1192819
>>1192798
/api/user/{id}/photo
Хули тут думать?
Аноним 19/05/18 Суб 18:54:09  1192820
>>1192819
>Хули тут думать?
Оно и видно, что ты не подумал нихуя.
Аноним 19/05/18 Суб 18:56:11  1192822
>>1192820
Зато ты такой охуенный умник высрался.
Аноним 19/05/18 Суб 18:56:59  1192825
>>1192798
Описалово не полное у тебя.
Если брать в пример соцсеть со страничкой, сообщениями, оповещениями и т.п., то тут нужно какую-то середину искать, не отсылая 500 запросов на каждую хуйню, но и не передавая огромные пакеты данных. Я бы отдавал страницу с фото, например, а сообщения и оповещения отдельным запросом забирал, тебе ведь их в любом случае отделить надо.
Глянь вообще апи разных сетей, как они это сделали.
Аноним 19/05/18 Суб 19:03:26  1192827
>>1192795
Ну вообще то там солидная разница в конфигурации.
Аноним 19/05/18 Суб 19:05:18  1192828
>>1192825
>не отсылая 500 запросов
Только что смотрел Фейсбук который буквально делает 250 запросов чтобы загрузить страничку группы.

Аноним 19/05/18 Суб 19:06:17  1192829
>>1192828
Зачем ты смотрел говно?
Аноним 19/05/18 Суб 19:31:46  1192842
>>1192829
>>1192822
>>1192666
>>1192631
Кек, это один и тот же токсичный ребенок?

>>1192828
Глянь ещё что-нибудь, фб слишком большой и старый.
Аноним 19/05/18 Суб 19:41:30  1192848
>>1192783
Финчли уже релиз кандидат, тащемта.

Да и пружина облако постепенно становится не нужна с нашествием k8s-based решений.
>>1192798
Второе. The Interface Segregation Principle же.
>>1192814
Эх, сейчас бы в 20!8 рендерить HTML на сервере.
Аноним 19/05/18 Суб 19:43:26  1192850
>>1192848
>Эх, сейчас бы в 20!8 рендерить HTML на сервере.
придумывать себе проблемы, а потом героически с ними бороться
Аноним 19/05/18 Суб 19:46:29  1192852
>>1192850
Можно было бы по делу обоссать тупоголового деграданта, но ты спалился раньше - не ставящая точек мелкобуква.

Это ставит на тебе крест.
Аноним 19/05/18 Суб 20:15:01  1192876
Где можно почитать про конфигурцию спринг секьюрити на буте 2,0?
Гугл выдает старье 1,5+.
Аноним 19/05/18 Суб 20:30:13  1192884
>>1192876
https://docs.spring.io/spring-security/site/docs/5.0.5.RELEASE/reference/htmlsingle/
Аноним 19/05/18 Суб 20:46:27  1192901
>>1192884
Спасибо. Мне просто интересно почему гугл выдавал какие то говнобложики вместо офф документации.
Аноним 19/05/18 Суб 21:29:52  1192912
>Запускаю идею
>Обновление политики безопасности, пожалуйста прочтите
>Мы собираем ваши юзернеймы, пароли, телефоны, куки и ИНН
>Принять/Отказаться и выйти
Как же я блядь это обожаю.
Аноним 20/05/18 Вск 09:46:05  1193072
>>1192912
Ну это наверно Ultimate?
Аноним 20/05/18 Вск 12:23:47  1193128
Сейчас учу Java. В какой момент начинать осваивать SQL?
Аноним 20/05/18 Вск 12:45:44  1193148
Untitled.png (65Кб, 684x619)
Пикрелейтед пример из Спринг ин экшн. В верхнем методе jsp рендерит поля из объекта в "spitter" в модели, в нижнем при проверке ошибок мы объект в модели не сохраняем, откуда спринг берет значения неправильно введенных полей? И вообще нахера эти теги нужны, в чем разница с обычным EL?
Аноним 20/05/18 Вск 13:25:48  1193199
>>1193148
Для начала, ты же понимаешь, что вся эта jsp-херня не нужна, ее можно скипать?

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

>И вообще нахера эти теги нужны
Чтобы вот это самое modelAttribute="spitter" писать, а потом в инпутах только path="firstname", типа форму целиком на объект байндишь. Иначе надо рисовать обычные html-инпуты с конкретным value; можно, действительно, и так, без специальных тэгов.
Аноним 20/05/18 Вск 13:32:19  1193216
>>1193128
Ни в какой. Бросай вообще.
Аноним 20/05/18 Вск 13:41:57  1193238
>>1193072
Да, и что? В бесплатной версии тем более все собирают.
Аноним 20/05/18 Вск 13:42:06  1193240
>>1193216
Аргументируй
Аноним 20/05/18 Вск 13:43:23  1193245
>>1193148
Зачем тебе аннотация @Valid?
Аноним 20/05/18 Вск 13:48:22  1193257
>>1193238
Там можно отключить отправку данных
Аноним 20/05/18 Вск 13:49:15  1193261
>>1193199
На время какого блин рендеринга? Аттрибуты модели не сохраняются между запросами
. Я выяснил, что в нижнем методе объект (который с @Valid) уже находится в модели, откуда он там? Вот в чем вопрос

>>1193245
Проверяет значения параметров запроса
Аноним 20/05/18 Вск 13:54:00  1193269
>>1193261
>Проверяет значения параметров запроса
Уверен?
Аноним 20/05/18 Вск 13:57:53  1193276
>>1193269
проверяет объект валидатором, если тебе угодно, или что не так?
Аноним 20/05/18 Вск 14:09:56  1193299
>>1193276
Ну если валидация настроена, то все в порядке.
Аноним 20/05/18 Вск 14:33:32  1193335
Ребзя, не кинете ссылочку, на годные исходники сеньоров, чтоб набраться опыта и узнать какие-нибудь фишечки и профессиональные фичи использования джавы? инбифо гитхаб
Аноним 20/05/18 Вск 14:40:07  1193339
>>1193335
Открываешь исходники спринга и обмазываешься.
Аноним 20/05/18 Вск 14:40:30  1193340
>>1193261
>На время какого блин рендеринга? Аттрибуты модели не сохраняются между запросами
У тебя один запрос, POST на /register, в ответ на него сервер отправляет ту же самую html-страницу (return "registerForm"), во время ее рендеринга в модели лежит объект, который спринг туда положил в начале обработки этого же запроса.
Аноним 20/05/18 Вск 15:01:42  1193351
>>1193340
Я понимаю, что он в модели, но я не понял, почему спринг его туда самостоятельно добавил.
Но судя по ответам отсюда https://stackoverflow.com/questions/8688135/modelattribute-annotation-when-to-use-it/26916920#26916920 объекты автоматически добавляются в модель, тогда собственно все понятно
Аноним 20/05/18 Вск 15:31:18  1193370
Java-господа помогите. Есть класс, конструктор которого принимает строку. После в том классе нужно разделить строку методом split(), но возникает ошибка
java.lang.NullPointerException
как фиксить?
Аноним 20/05/18 Вск 15:32:12  1193372
>>1193370
Добавить обработку пустой строки.
Аноним 20/05/18 Вск 15:49:13  1193390
>>1193372
Но строка же не пустая, или я тебя не правильно понял?
Аноним 20/05/18 Вск 15:55:11  1193393
>>1193390
У тебя где-то строка становится равна null. Вот проверку на null и надо добавить. Желательно найти причину почему в функцию передаётся null вместо строки. Так что отладчик в руки и вперёд.
Аноним 20/05/18 Вск 18:25:04  1193491
>>1193370
Ты ведь не поленился и загуглил, в каких случаях получается такой эксепшен?
Аноним 20/05/18 Вск 19:27:03  1193536
Тупой вопрос тайм
В чем разница в спринге между использованием DAO, Сервисами и ЖПА/XYZрепозиториями? По сути это же одна и та же хуйня, не?
Аноним 20/05/18 Вск 19:55:30  1193561
>>1193536
Не.
Аноним 20/05/18 Вск 20:16:11  1193583
>>1193390
Телепат из отпуска заглянул. У тебя передается null вместо пустой строки, т.е. "". В Жабе это разные вещи.
Аноним 20/05/18 Вск 22:37:33  1193693
шатает
Аноним 20/05/18 Вск 22:44:31  1193696
>>1193693
https://pastebin.com/R7tcwywv
Аноним 20/05/18 Вск 22:58:12  1193699
Хочу сделать AfterReturning-эдвайс у методов интерфейса, который экстендит JpaRepository. Эти методы помечены моей аннотацией. Будет ли этот эдвайс работать? Просто ведь Спринг подсовывает свой прокси и я боюсь, что мои аннотации "потеряются"/не будут видны эдвайсу.
Аноним 20/05/18 Вск 22:59:47  1193702
>>1193699
https://www.youtube.com/watch?v=BmBr5diz8WA
Аноним 20/05/18 Вск 23:14:07  1193712
опишите в двух словах нахуя нужны референсные методы и в чем они незаменимы? это же лямбда по сути, просто с сахарком
Аноним 20/05/18 Вск 23:19:16  1193713
>>1193712
>просто с сахарком
Затем и нужны. Как и лямбды.
Аноним 20/05/18 Вск 23:38:46  1193720
>>1193713
> лямбды
> сахар

Ебать ты долбоеб.
Аноним 21/05/18 Пнд 08:03:27  1193834
>>1193720
Кыш, ребенок.
Аноним 21/05/18 Пнд 10:08:48  1193855
>>1193834
Сдрисни, войтивайти.
Аноним 21/05/18 Пнд 10:46:53  1193885
Нормально ли передавать PageRequest в сервис-слой из контроллера или нет?
Аноним 21/05/18 Пнд 12:53:39  1193953
>>1193885
Ну как бы методы в репозитории, которые отдают данные постранично, принимают параметр Pageable.
Аноним 21/05/18 Пнд 12:54:13  1193956
Поменял через рефлексию значение Boolean.TRUE на false, мой мир пошатнулся.
Аноним 21/05/18 Пнд 14:37:01  1194040
>>1193956
Можешь еще изгавнякать кэшы оберток над примитивами.
Аноним 21/05/18 Пнд 16:17:56  1194126
>>1186670 (OP)
Анончик. Помоги, пожалуйста, ответить на несколько вопросов.

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

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


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

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

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

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

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

6. Запретить наследование нельзя
Аноним 21/05/18 Пнд 16:46:28  1194154
>>1194126

2.
5.
Аноним 21/05/18 Пнд 18:11:55  1194197
Джаваны, распишите свои стори, плизи еще кому не лень, но вроде здесь это не так часто встречается, как в веб треде, к примеру, лел.

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

спс
Аноним 21/05/18 Пнд 19:18:30  1194233
image.png (87Кб, 1145x593)
image.png (24Кб, 354x386)
Блять, мне так стыдно за NPE, но я не понимаю. У меня есть List<HashMap<String, String>> и я тупо хочу его перебрать. Но суть в том, что у меня жсон на пикриле 2. Я просто получаю его с сервера, ему не нравится то, что сначала идет 0, а потом 2? Если мне приходит ответ аля [0, null, 2, 3] то почему trimToSize не помогает?
Аноним 21/05/18 Пнд 19:20:44  1194237
>>1194233
А, ну я сам ответил на свой вопрос) кек. Какой я догадливый:
removeAll(Collections.singleton(null)) спасло если шо
Аноним 21/05/18 Пнд 19:47:58  1194252
>>1194237
>removeAll(Collections.singleton(null))
Как же хочется лямбдочку... Но понятно, что это android
Аноним 21/05/18 Пнд 19:55:08  1194255
image.png (10Кб, 632x95)
>>1194252
Почему все так уверены, что лямб нет?
Аноним 21/05/18 Пнд 20:54:12  1194279
>>1194233
Ты из listClients по индексу нулл вытаскиваешь, придурочный.
Аноним 21/05/18 Пнд 21:24:43  1194296
>>1194197

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

Сейчас пытаюсь на апворк войти, но там на хуях катают пока что.
Аноним 21/05/18 Пнд 21:25:50  1194297
>>1194255

потому что ты их не использовал
Аноним 21/05/18 Пнд 21:27:41  1194299
>>1194197
Нахуй иди.
Аноним 21/05/18 Пнд 21:38:54  1194305
>>1194297
Я знаю лямбды только на примитивном уровне и вообще далек от версии 8 и выше. Пока андройд на 8-ой сидит и меня все устраивает, да и код других людей вполне читаем.
И вообще я удивляюсь тому, как джава стартанула до 10 версии. Совсем они там ебу дали я смотрю.
Аноним 21/05/18 Пнд 21:42:16  1194308
>>1194305
> Пока андройд на 8-ой сидит и меня все устраивает
Чоблять? В ведро восьмую джаву завезли только в седьмой версии ведра. 99% устройств на предыдущих версиях.
Аноним 21/05/18 Пнд 21:48:40  1194316
>>1194308
че блять? прописываешь compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}

и идешь нахуй.
Аноним 21/05/18 Пнд 21:54:53  1194320
>>1194316
> java.util.stream API level 24 or higher.
> java.lang.FunctionalInterface API level 24 or higher.
> java.util.function API level 24 or higher.

Так что нахуй придется пройти тебе, мелкобуква.
Аноним 21/05/18 Пнд 23:06:46  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();
Здесь происходит восходящее преобразование и позднее связывание метода, я прав?
Аноним 21/05/18 Пнд 23:24:47  1194402
>>1194394
Здесь происходит вызов виртуальной функции, а у тебя какой-то новояз. Студент чтоле?
Аноним 21/05/18 Пнд 23:29:27  1194405
>>1194402
> вызов виртуальной функции
Чегоблять.
Аноним 21/05/18 Пнд 23:34:23  1194409
>>1194402
>>1194402
У Эккеля читал в разделе про полиморфизм.
Аноним 21/05/18 Пнд 23:34:34  1194410
>>1194405
Впрочем да, в жаве почти все функции (кроме тех, что отмечены private или final) являются виртуальными.
Аноним 21/05/18 Пнд 23:38:29  1194414
>>1194410
Чегоблять. В джаве нет виртуальных функций.
Аноним 21/05/18 Пнд 23:40:18  1194417
>>1194414
Хотя ладно, есть, я обосрался.
Аноним 21/05/18 Пнд 23:41:17  1194418
>>1194414
Есть они там, просто тебе не надо писать virtual, чтобы получить определённое поведение. Они там все по-умолчанию виртуальные, чтоб ынтерпрайс-макаки не заморачивались с виртуальными деструкторами и прочим говном из C++-мирка.
Аноним 21/05/18 Пнд 23:43:38  1194420
>>1194394
Если jvm и компилятор могут доказать, что a всегда будет инстансом C, то хуй знает что там будет на самом деле.
Аноним 21/05/18 Пнд 23:47:59  1194422
>>1194418
в примере есть позднее связывание(late binding) и восходящее преобразование типов (upcasting)? все методы кроме статических, финальных и прайвет связываются во время выполнения, и для ускорения их записывают в таблицу методов, правильно?
Аноним 22/05/18 Втр 10:26:25  1194570
>>1186670 (OP)
Меня заставили ковырять опердень. Есть прототипы на го и джаве. Суть такова, что надо написать рест, который будет позволять заливать файлы большого размера и файлы, помещающиеся целиком в тело запроса пост, добавлять их в GridFS и запрашивать метаинформацию о файлах. Есть рабочий прототип, но мне не нравится, что пришлось писать свое локальное файловое хранилище. Есть библиотека, которая позволяет развернуть локальное хранилище, создавать файлы, удалять и добавлять к ним байты по имени файла или по его метаинформации (например, идентификатору)?

Как выстроить архитектуру приложения? Про архитектурные слои я только читал. Додумался своим микромозгом только до создания классов-обработчиков HTTP-запросов, у который вызывается статический метод при роутинге реквестов.
Аноним 22/05/18 Втр 10:45:34  1194580
>>1194570
Система хранения контента. Почти классическая тащемта задача с множеством подводных камней.

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

Поэтому покупай IBM Filenet или юзай какой-нибудь бесплатный owncloud и используй их.
Аноним 22/05/18 Втр 11:15:30  1194587
>>1194570
>Есть библиотека, которая позволяет развернуть локальное хранилище, создавать файлы, удалять и добавлять к ним байты по имени файла или по его метаинформации (например, идентификатору)?

https://docs.oracle.com/javase/7/docs/api/java/nio/package-summary.html
Аноним 22/05/18 Втр 11:15:46  1194588
>>1194580
>BM Filenet или юзай какой-нибудь бесплатный owncloud и используй их
Говно. Нужно хранить файлы локально, а потом, если выполняются некоторые условия, перегонять их в GridFS. Есть локальные системы управления контентом?
Аноним 22/05/18 Втр 15:27:44  1194772
>>1194296
Спс
>>1194299
Сам иди
Аноним 22/05/18 Втр 17:24:19  1194840
1212.PNG (12Кб, 522x371)
Пикрил, объясните для чего здесь оператор return и почему именно val?
Аноним 22/05/18 Втр 17:27:45  1194842
>>1194840
> объясните для чего здесь оператор return
Потому что возвращается значение из функции.
> и почему именно val
Потому что так эту переменную назвали.

А вообще попробуй написать этот же код в редакторе с подсветкой кода (или IDE) и подобыне вопросы сразу уйдут.
Аноним 22/05/18 Втр 17:34:50  1194844
>>1194842
Да бля хз почему но именно на этом ебучем return пиздец туплю. Ни с чем до этого момента проблем не возникло. Вот нихуя не могу понять.

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

Аноним 22/05/18 Втр 19:27:56  1194955
>>1194580
>Поэтому объяснять тебе что-то абсолютно бессмысленно - не поймешь.
А ты не выебывайся, а дай совет по инструментам и архитектуре. Мне это задание дали, потому что никто не брался за эту грязь и занимались простыми вещами. Меня попросили сделать хотя бы работающее хранилище, а я еще хочу создать хорошую архитектуру.
Аноним 22/05/18 Втр 20:17:58  1194984
https://www.udemy.com/java-tutorial/learn/v4/content

Принес годноты для нюфань. Бесплатный курс основ Java. На инглише.
Аноним 22/05/18 Втр 20:19:11  1194988
>>1194984
>годноты для нюфань
>На инглише
Аноним 22/05/18 Втр 20:23:35  1194994
>>1194988
Ну бля там интермидиэт уровня хватит. Еще и сабы завезли.
Аноним 22/05/18 Втр 20:38:39  1195009
>>1194955
> А ты не выебывайся, а дай совет по инструментам и архитектуре.
Заплати за консалтинг - дам на понятном тебе языке.
> Мне это задание дали
Ну и делай.
Аноним 22/05/18 Втр 20:48:20  1195018
>>1195009
Токсичный ребенок, ты вообще из этого треда не вылезаешь, что ли?
Аноним 22/05/18 Втр 21:14:25  1195034
пока обучаюсь по книге Сьерра и Бейтса. код набираю в emacs. какой ide пользуетесь и что посоветуете?
Аноним 22/05/18 Втр 21:33:45  1195043
>>1195034
Читай спецификацию языка, она как затычка для жопы. Если ты ее не знаешь, то тебя ей будут тыкать.
Аноним 23/05/18 Срд 16:59:33  1195547
Это нормально, что InputStream для skip() читает пропускаемые байты? Мне, например, в 8Гб файле нужно сначала прочитать несколько заголовков по 8 байт - это мне стриму придется все 8Гб через буфер прогнать? Эта хуйня еще и лимит на пропуск имеет.
Может есть какой-то другой способ быстро и эффективно прочитать только нужные байты?

И это не считая того, что байты в строку переводятся через new String() и пришлось свой метод перевода байтов в uint32 (long в жабе, охуеть) писать
Аноним 23/05/18 Срд 17:11:08  1195558
>>1194126
Добавить final. Так ты запрещаешь иметь подклассы основному классу.
Аноним 23/05/18 Срд 17:13:38  1195562
>>1195547
>InputStream
Это абстрактный класс. FileInputStream работает по-другому, а реализация зависит от платформы.
>другой способ
RandomAccessFile
Аноним 23/05/18 Срд 17:14:31  1195564
>>1195034
Idea. По-мне, самая удобная ide. Все, что тебе нужно идёт из коробки. Только немного глуповатый "Jar of Web". На том же pycharm работает лучше.
Аноним 23/05/18 Срд 18:15:51  1195603
>>1186670 (OP)
Поясните нуфагу за лямбда и функциональные интерфейсы. Их часто используют? А ссылки на методы вообще нахуя нужны?
Аноним 23/05/18 Срд 18:31:21  1195613
>>1195603

https://www.youtube.com/watch?v=Gsfmfeb2XW8
Аноним 23/05/18 Срд 19:27:40  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 );
Аноним 24/05/18 Чтв 19:48:04  1196234
image.png (9Кб, 518x134)
В общем, делаю на спринге каталог товаров.
Хранится в базе данных. Задача: нужно чтобы при нажатии на кнопку edit вместо ссылки с названием появлялся input.
Как лучше всего реализовать?
Аноним 24/05/18 Чтв 19:58:25  1196238
>>1196234
На js
Аноним 25/05/18 Птн 10:12:07  1196526
>>1188102
Очень просто фиксится. не использовать новую версию
Всё равно 90% говна написали ещё 20 лет назад.
Аноним 25/05/18 Птн 11:02:00  1196557
Сап двач. Есть autocloseable класс в нём метод который с помощью bufferedreader читает из файла без try with resource и я не закрываю его в этом методе. Если я помещу объект этого класс в try with resource и вызову этот метод то ридер закроется?
Аноним 25/05/18 Птн 11:05:50  1196559
>>1196557
Можешь сунуть bufferedreader в поле класса и в close методе класса закрывать его. Тогда можешь в блоке инициализации try with resources хуячить свой autocloseable класс - по выходу из блока вызовется close метод твоего класса. А там что напишешь в методе.
Аноним 25/05/18 Птн 11:08:01  1196560
>>1196559
Понял принял спасибо
Аноним 25/05/18 Птн 11:09:03  1196561
.png (11Кб, 524x480)
>>1196560
Пшел нахуй.
Аноним 25/05/18 Птн 15:53:37  1196715
Где лучше проводить конвертацию сущностей в DTO и обратно — в контроллерах или сервисах?
Аноним 25/05/18 Птн 16:47:41  1196749
>>1196715
В сервисе офк.
Аноним 26/05/18 Суб 14:07:27  1197133
>>1194197
Стажирвался сначала месяцев 5, но можно было и быстрее, если бы времени больше уделял.
Далее 3 месяца испытательног сроки с зп в $250, после этого $500, так уже работаю чуть меньше года, скоро обещают поднять
Аноним 26/05/18 Суб 14:09:38  1197134
>>1194296
на апворк именно с джавой хочешь войти?
Аноним 26/05/18 Суб 14:11:40  1197135
.jpg (13Кб, 320x331)
>>1194296
> апворк
> джава
Аноним 27/05/18 Вск 07:40:31  1197519
>>1188102
Пиздец. Хорошо, что я на восьмёрке.
Аноним 27/05/18 Вск 10:19:13  1197572
human-container.png (42Кб, 663x517)
Уважаемые Java-господа, поясните. Почему в последней строке невозможно выполнить присваивание? Ведь Student - это Human. Можно ли, не меняя тип переменной в строке (1), все-таки выполнить присваивание в (2)? Если эта проблема имеет известное название - скиньте, загуглю.
Аноним 27/05/18 Вск 10:23:14  1197573
>>1197572
Вставь дженерики вида ? extends ...
Аноним 27/05/18 Вск 11:00:50  1197591
>>1197572
П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
Аноним 27/05/18 Вск 11:33:03  1197612
>>1197591
>https://dev.to/rosstate/java-is-unsound-the-industry-perspective
Жабу год от года хоронят, но год от года выясняется, что альтернатив-то и нет нихуя, кек.
Аноним 27/05/18 Вск 13:02:40  1197652
>>1197572
это называется generic invariance
Обычные массивы же covariant, поэтому с ними бы такой финт сделать можно было бы
Аноним 27/05/18 Вск 14:25:17  1197685
>>1197612
Удваиваю, по ссылке от этого >>1197591 теоретическое дрочево той же степени полезности, что и бага найденная в реализации сортировки (timsort). Я сам топлю за формальные методы, но нужно остановиться и понять, где, блядь, академическая поебота оправдывающаяся за гранты (со всей демагогией в аргументации) и где промышленное программирование с перспективами.

Условно говоря, Мартин со своим вкладом в реализацию дженериков - это полезная академия и даже промышленное программирование. Чуваки нашедшие изьян в этой работе, что ж, проделали интересную и даже полезную работу, но для академии. Как только они начинаю верещать о надежности и промышленной разработки, можно слать на парашу.
Аноним 27/05/18 Вск 14:29:41  1197687
1
Аноним 27/05/18 Вск 15:01:40  1197698
>>1197612
>альтернатив-то и нет нихуя, кек.
Scala
Аноним 27/05/18 Вск 15:07:38  1197702
>>1197698
Как там обратная совместимость поживает? Готовы переписывать всё под новую скалу? Вам создатель языка в рот уже который раз ссыт таким образом? Третий?
Аноним 27/05/18 Вск 15:18:35  1197706
.png (1100Кб, 2400x2400)
>>1197612
> альтернатив-то и нет нихуя
Аноним 27/05/18 Вск 15:31:51  1197718
>>1197706
>Котлин

Хватит пиарить это говно уже.
Это недоязык, сделанный для внутреннего применения в компании.
Состоит из грязных хаков чуть более чем полностью.
Аноним 27/05/18 Вск 15:33:10  1197719
>>1197698
Скала - это не альтернатива.
Это просто годный язык.
Сам по себе.
Аноним 27/05/18 Вск 15:33:38  1197720
>>1197718
>грязных хаков
Каких?
Аноним 27/05/18 Вск 15:38:24  1197724
.png (1102Кб, 2400x2400)
>>1197718

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

> Мне кажется, что отношение к Котлину это такая же лакмусовая бумажка как мелкобуквенность. Человек вопит, что Котлин не нужен - бац, он долбоеб, с ним все ясно - нет нужны разговаривать с ним дальше и выяснять, что он и джейпоинт отрицает и наличие остального долбоебизма.
Аноним 27/05/18 Вск 16:01:15  1197737
>>1197724
>главной Java-конференции в СНГ

Что ж ты делаешь, содомит.
Аноним 27/05/18 Вск 19:25:25  1197897
>>1197720
грязных
Аноним 27/05/18 Вск 20:00:46  1197913
Есть один бинарник, который читаю через RandomAccessFile, но так как встроенная читалка не работает из-за Big-Endianness и невозможности в UnsignedInt без ебли, не пришло в голову идеи лучше, чем наследовать свой класс со своими методами чтения.
Так как для конвертации в другую последовательность нужно читать байты, возник вопрос: "создавать массивы байтов в методах или создать их один раз как члены класса?"


Снова выхожу на связь
Аноним 27/05/18 Вск 20:06:57  1197917
>>1197913
>наследовать свой класс
наследование противоречит ООП. Создавай utility-класс, а в нем статический метод long readUIntLE(RandomAccessFile)
Аноним 27/05/18 Вск 20:11:13  1197920
>>1197917
Но ведь BufferedInputStream extends FilterInputStream
А
FilterInputStream extends InputStream
Аноним 27/05/18 Вск 20:12:05  1197922
>>1197920
Декоратору можно.
Аноним 27/05/18 Вск 20:32:03  1197935
>>1197917
>>1197922
>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 членом, а в конструкторе инициализирую его. Методами класса буду обращаться к файлу и возвращать что нужно.
Аноним 27/05/18 Вск 20:48:13  1197945
>>1197935

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

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

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

Заодно implement-ь те же интерфейсы, что и RandomAccessFile.
Аноним 27/05/18 Вск 20:49:39  1197946
>>1197945
> Заодно implement-ь те же интерфейсы, что и RandomAccessFile.
Это и называется декоратор.
Аноним 27/05/18 Вск 20:55:13  1197949
>>1197946

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

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

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

ну и статический метод getInstance для подбора верной реализации для текущей платформы
Аноним 27/05/18 Вск 20:58:57  1197954
>>1197913
Неужели на жаве так тяжело байтоёбить? Даже в JS, когда добавляли типизированные массивы сделали специальные методы для работы с порядком байтов.

Впрочем да, о чём это я. В жаве же даже нет беззнаковых типов, а я тут о байтах что-то говорю.
Аноним 27/05/18 Вск 21:00:37  1197957
>>1197954
Даже в си эта экономия спичек на беззнаковости не оправдана
Аноним 27/05/18 Вск 21:03:49  1197958
>>1197954

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

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

Конкретно эту хрень >>1197949 мне пришлось ввести исключительно потому, что локальный IPC-сервер написан на голых сях, а авторы не озаботились кроссплатформенностью его протокола (на разных процессорах разный протокол, охуеть). Т.о. если в Java™ и встает вопрос об endianness, то только из-за косяков низкоуровневых товарищей.
Аноним 27/05/18 Вск 21:14:13  1197964
>>1197954
Мне не тяжело, просто есть подводные камни. В 1.8+ вроде как завезли всякие облегчающие штуки.
Смотрю в код читалки на С# - там все гораздо проще. На руби код так вообще пиздато выглядит.
Аноним 27/05/18 Вск 21:22:15  1197970
>>1197954
>Неужели на жаве так тяжело байтоёбить?
Нет, не тяжело.
Постоянно это делаю вообще без проблем.
Аноним 27/05/18 Вск 21:26:49  1197973
Анонче, что можешь посоветовать из литературы/статей о работе жвм? Хочется больше понимать саму платформу.
Аноним 27/05/18 Вск 21:49:04  1197980
>>1197973
http://www.allitebooks.com/java-performance-the-definitive-guide/

Ну и очевидную Java Virtual Machine Specification.
Аноним 27/05/18 Вск 22:02:44  1197984
Вот только понять не могу почему что жава, что c# читают/записывают long как int << 32 + int
Аноним 28/05/18 Пнд 07:11:15  1198124
>>1197612
> альтернатив-то и нет нихуя, кек
Альтернатив чему? Ёбаному легаси по ставке 15 баксов в час? Ты думал как языки умирают - хоп и всё, все отказались и разошлись? Да хуй тебе, даже на RPG можно найти вакансии.
Очнись, пидрила, на джаве новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Та жаба которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут жаба в хвосте, скоро жаба так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старая жаба умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".
Аноним 28/05/18 Пнд 08:27:55  1198137
>>1198124
Эх, святая толстота
Аноним 28/05/18 Пнд 08:34:58  1198138
>>1198124
>Очнись, пидрила, на джаве новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Та жаба которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут жаба в хвосте, скоро жаба так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старая жаба умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".

Лол, сохрани себе это - сможешь постить и через 15 лет.
Именно это и слышно каждый год.
Аноним 28/05/18 Пнд 09:50:49  1198152
>>1198138
Что-то подобное помню в начале 2K было. Только упоминалась еще, что мультиязыковость .Net, но и здесь убийцы обосрались.
Аноним 28/05/18 Пнд 10:08:37  1198159
>>1197984
Обход беззнаковости. Читаем два раза по 32 бита и суем в 64, так что бы ничего не проебалось.
Аноним 28/05/18 Пнд 17:34:49  1198382
>>1198159
Выглядит как грязный хак.
Аноним 28/05/18 Пнд 18:35:03  1198419
>>1198152
> помню в начале 2K было
А теперь сравни жабу тогда и жабу сейчас.
В начале 2K и вплоть до выхода 1.5 ява была тем ещё дерьмом общим с современной явой имеющим только подмножество синтаксиса. Что характерно для явы, она уже тогда отставала от плюсов.
И так же как сейчас помирает java pre-1.8, java 1.4 уже сдохла и библиотек, поддерживающих её, кот наплакал, а жопосед поколения 1.4 хуй что разберёт в 1.8. Как и жопосед поколения 1.8 возненавидит код эпохи 1.4.
Аноним 28/05/18 Пнд 18:57:53  1198428
>>1198419
sed -e s/java 1.4/кресты 98/ -e s/java 1.8/кресты 11/.
Аноним 28/05/18 Пнд 19:09:47  1198436
>>1198124
>Альтернатив чему? Ёбаному легаси по ставке 15 баксов в час? Ты думал как языки умирают - хоп и всё, все отказались и разошлись? Да хуй тебе, даже на RPG можно найти вакансии.
>Очнись, пидрила, на языкнейм новый проект уже стрёмно стартовать - к выкату на рынок всё нахуй поменяется. Тот языкнейм которую ты знаешь уже агонизирует и переписывается под новые концепции последнего десятилетия, как это было сделано с плюсами и c# несколько лет назад, лол - и тут языкнейм в хвосте, скоро языкнейм так же развалится на 2 языка, сторонники которых будут ненавидеть друг друга. И нужна ли будет кому-то та часть языка, который по удобству использования отстала даже от плюсов? Конечно нет, старый языкнейм умрёт, а если что-то и выживет, то похоже оно будет на своих современных "убийц".

Эй, бротан-наротан, подготовил тебе боевую пасту.
Аноним 28/05/18 Пнд 20:10:16  1198452
>>1188102
Работает, просто теперь они отдельно подрубаются, а не сразу идут.
Аноним 28/05/18 Пнд 20:15:30  1198455
>>1198428
Есть такое. Только вот видишь в чём разница - c++11 не просто новая версия языка, а вообще нахуй новый язык. А в java 1.8 в качестве языковых фич мы получили стримы, лямбды и обвязки для удобного их использования, а также возможность протащить в язык var через 5 лет. Стримы охуенны, к ним вопросов нет. И ...всё? Охуенно, чё, дайте две! А теперь мотаем на 3 года вперёд и получаем Map.of - это ж вообще нельзя воспринимать иначе чем как толстый троллинг. Да я блять не удивлюсь если они джепы на одобрение Кубо шлют перед реализацией.
Аноним 28/05/18 Пнд 21:57:10  1198512
>>1198382
Нормально выглядит. Решился байты ебать - не плачь.
Аноним 28/05/18 Пнд 22:18:00  1198523
image.png (28Кб, 891x208)
image.png (40Кб, 1036x238)
image.png (3Кб, 540x151)
Spring MVC. Почему поля пустые? По задумке, при нажатии кнопки edit открывается новый view и там уже заполнены поля предметом, который был выбран.
инб4: как можно кодить на чёрном фоне
Аноним 28/05/18 Пнд 22:33:13  1198529
>>1188102
ПИЗДЕЖ
И
З
Д
Е
Ж
Аноним 28/05/18 Пнд 22:50:57  1198545
>>1198455
> var
Проснись, студент ты обосрался.

Запилили уже.
Аноним 29/05/18 Втр 03:49:48  1198620
>>1198529

это рли так, даже спринг бут отдельную обнову выкатил
Аноним 29/05/18 Втр 04:01:55  1198622
>>1198529
Несколько библиотек поотваливались из-за неправильного определения версии. 10 они воспринимали как 1. https://github.com/rzwitserloot/lombok/commit/9ecfe2302f3cd1d654196e072cce0b334f21ffd9
Аноним 29/05/18 Втр 05:12:54  1198628
Как же я рад, что не поддался на хайпоговно типа руби, когда вкатывался в джаву 4 года назад. Да, было тяжело с Java 7, учитывая, что до этого работал с C# и его сладким LINQ, а тут все ручками.

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

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

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

Джава (JVM) явно не умерла, она упала, чтобы вновь подняться.

Аноним 29/05/18 Втр 07:33:53  1198646
>>1198545
Молодец, возьми пирожок. А теперь перечитай что там написано.
Аноним 29/05/18 Втр 08:08:15  1198649
>>1198628
Это очевидно любому человеку с более-менее нормальным кругозором.

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

А Говно потеряло для меня всякий авторитет, когда его разработчики, взяв GC коллектор 40 летней давности, начали орать что ГС бистрее чим в джави, что радостные фанбои подхватили, не понимая, какой ценой в их производительном го
Аноним 29/05/18 Втр 08:24:29  1198653
>>1186897
electron
привет майкрософту с их новым скайпом. ненавижу
Аноним 29/05/18 Втр 09:06:12  1198665
>>1198649
А какой ценой?

мимо
Аноним 29/05/18 Втр 09:13:27  1198669
>>1198646
Там ни о чем. Если бы ты работал в компании с собственностью кодовой базы под 100К человеко-лет, то понял бы, как языковые перделки уходят на второй план.
Аноним 29/05/18 Втр 10:36:04  1198709
>>1198665
Меньшая пропускная способность.

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

В альтернативных jvm есть альтернативные реализации сборщиков, например С4 в azul jvm, разумеется не бесплатно, производительность у этой реализации хуже.
Аноним 29/05/18 Втр 10:39:21  1198711
>>1186670 (OP)
Стоит ли учить джаву для того чтобы скатится в мобильный игрострой?
Сколько вообще нужно минимум потратить времени на учебу чтобы соответствовать джуну без опыта работы?
Аноним 29/05/18 Втр 10:54:56  1198721
>>1198711
Не стоит.
> игры
> джава
Аноним 29/05/18 Втр 10:56:04  1198722
>>1198721
Ну я вообще ньюфаг. Просто мне всегда казалось что игры на андроид пишут на джаве.
Аноним 29/05/18 Втр 10:56:51  1198723
>>1198721
Уже забыл времена ИК-портов и J2ME игр? Или ты их попросту не застал?
Аноним 29/05/18 Втр 11:09:07  1198729
>>1198723
> времена ИК-портов и J2ME игр
На календарь посмотри, долбоеб. Java ME использовать собрался.

И да, застал, Siemens CX 75 до сих где-то лежит. Но какое отношение имеет твоя ремарка? Пока ты будешь думать, я на работу схожу.
Аноним 29/05/18 Втр 11:11:15  1198730
>>1198729
> какое отношение имеет твоя ремарка?

> > > игры
> > > джава
Аноним 29/05/18 Втр 11:37:26  1198743
>>1198669
> 100k человеколет
> 2000 человек в течении 50 лет
Ты совсем там ебанулся человекоднями однострочники считать? Ой прости, какие однострочники, ведь в жабе до Stream Api одной строчкой можно было сделать ровно нихуя только поебаться по аннотациями.
Аноним 29/05/18 Втр 15:25:59  1198871
Кто-нибудь в хешмапе переопределяет hash функцию, или в основном все пользуются встроенной в Object?
Аноним 29/05/18 Втр 15:44:00  1198881
>>1198871
>в хешмапе переопределяет hash функцию
Для начала покажи как.
Аноним 29/05/18 Втр 15:59:35  1198895
>>1198881
Какая разница как? Я имею в виду использует кто-то override хеш функции на практике или нет?
Аноним 29/05/18 Втр 16:16:00  1198899
>>1198871
Ты не в ту сторону воюешь, упоротый.
Аноним 29/05/18 Втр 16:53:29  1198923
>>1198899
В каком смысле? Если вы тут дохуя сеньеры - объяснили бы нубу что не так. В том что я сказал что переопределять в хешмапе, а не в объекте? Из за этой неточности вы тут распетушитились?
Аноним 29/05/18 Втр 18:56:04  1198986
>>1198711
Не стоит. Джава не для игр, серьёзно. А если линала не знаешь, то и ты не для игр.
Аноним 29/05/18 Втр 18:57:26  1198987
>>1198923
Покажи код, где ты переопределяешь её. В процессе написания поймёшь, где именно ты обосрался.
Аноним 29/05/18 Втр 19:06:09  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)
Но это как-то не очень выглядит, хочу чтобы было красиво и легко переделывалось (общих переменных позже может оказаться другое количество или с другими значениями).
Аноним 29/05/18 Втр 19:10:30  1199001
>>1198994
Сделай отдельный класс, который будет читать эти твои строки и на основе их содержание решать создавать и возвращать нужный объект.
Аноним 29/05/18 Втр 19:24:04  1199011
>>1199001
Это надо будет либо строки повторно читать, либо как-то передавать в конструктор переменные.
Если читать строки повторно, то придется повторять код в каждом подклассе. Если передавать в конструктор, то опять придется одно и то же писать.

Попробую метод с кастом return (AA) A;
Аноним 29/05/18 Втр 19:34:49  1199016
>>1199011
>Попробую метод с кастом return (AA) A;
Дерьмо. Избегай приведения типов.

>>1199011
>либо как-то передавать в конструктор переменные
this
Аноним 29/05/18 Втр 19:37:16  1199018
>>1198987
Ну написал, и что, ублюдок? От того что я говорился в каком месте переопределять, ты тут распетушился, вместо того чтобы ответить по теме?
Аноним 29/05/18 Втр 19:40:25  1199021
>>1199018
Ну так покажи его, мудачок дёрганный.
Аноним 29/05/18 Втр 19:42:00  1199022
>>1199021
https://pastebin.com/jSNB5mLb
Ну и?
Аноним 29/05/18 Втр 19:46:42  1199025
>>1199016
>либо как-то передавать в конструктор переменные
Позже они могут оказаться в других типах и в другом количестве.

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

Но этого тоже как-то избыточно выглядит.
Аноним 29/05/18 Втр 20:32:17  1199048
>>1198709
Ну заоптимизировали латенси за счет throughput, никто же не жалуется. Народу хватает производительности + многопоточность дешевая. Я то думал сейчас будет срыв покровов, а ты упомянул какой-то нерелевантный довод, иначе бы не плодилось на go новых сервисов/субд.
Аноним 29/05/18 Втр 20:34:25  1199050
>>1198895
Конечно блять, посмотри на hashCode Object'a
И теперь подумай что это выдаст для:
var pojo1 = new POJO(1, "kek");
var pojo2 = new POJO(1, "kek");
> pojo1.hashCode() == pojo2.hashCode();
> pojo1.equal(pojo2);
Аноним 29/05/18 Втр 20:44:13  1199062
>>1199050
Наркоман?

false
false
Аноним 29/05/18 Втр 20:48:20  1199069
>>1199062
Ну вот, а объекты по-сути одинаковые.
Аноним 29/05/18 Втр 20:49:35  1199072
>>1199069
А, это я наркоман.
Аноним 29/05/18 Втр 20:57:08  1199079
>>1198895
Да, используют. В любой нормальной IDE есть генерация методов equals() и hashCode().
Аноним 30/05/18 Срд 08:57:52  1199258
>>1186719
Постоянно будешь недоумевать, что программа крашится, если где-то пустая ссылка. А ещё будешь забывать ставить ; в конце
Аноним 30/05/18 Срд 09:02:08  1199259
>>1188425
А в чем проблема нажать АЛТ инсерт м два раза энтер?
Аноним 30/05/18 Срд 09:50:49  1199278
>>1199259
А в том, что когда у тебя 10 полей, вероятность получить конфликт в ПР при малейшем изменении в pojo возрастает раз так в дохуя. Это, конечно, не долго подмержить говно и исправить конфликт в модели, но это все равно время. Да и классы короче выглядят для восприятия. Про другую годноту генерала деломбока я и не говорю.
Аноним 30/05/18 Срд 13:00:57  1199349
>>1186670 (OP)
Нужно передать достаточно большой файл по НТТР. Сервер читает куски файла прямо из тела пост-запроса. Для передачи файла на клиентской стороне я использую apache httpclient 4. Проблема в том, что при передаче запроса как multipart сервер получает в теле запроса какое-то говно: например, рандомные разделители параметров запроса. Как при помощи этой библиотеки сформировать запрос так, чтобы в теле запроса были только сырые данные, а не разделителя, параметры и прочее дерьмо?
Аноним 30/05/18 Срд 13:57:37  1199381
Ребята, востребован ли сейчас javaFX или стоит учить Swing?
Аноним 30/05/18 Срд 13:57:56  1199382
>>1199349
Вы не понимаете сути multipart, дотвиданья.
Аноним 30/05/18 Срд 15:04:06  1199419
>>1199381
нет
Аноним 30/05/18 Срд 16:00:18  1199450
>>1199382
Тогда каким образом передавать большие файлы? Почему почти во всех результатах в гугле для аплоада используется мультипарт?
Аноним 30/05/18 Срд 16:05:48  1199452
>>1199450
Используй веб-сокеты и алгоритм как в торрент-кдиентах. Делаешь несколько веб-сокет соединений (чтобы лучше нагрузить канал) разбиваешь файл на несколько частей (например по 8Мб) и передаёшь кусок + индекс + хэш. Сервер проверяет правильность получения куска по хэшу и если что-то пошло не так просит отправить кусок снова. Потом всё собирает воедино, опционально проверяет хэш уже собранного файла и готово.
Аноним 30/05/18 Срд 16:08:21  1199453
В общем, есть ThreadPoolTaskScheduler, в него я в цикле запихиваю задачи: scheduler.schedule(myObj, date), на каждой итерации создаю новый экземпляр MyObj и сеттерами сую туда данные. Вроде всё ок, но в классе MyObj мне надо заинжектить пару сервисов и прочих штук, пока что это мне не удаётся. Ну и самое интересное, все это запускается через InitializeBean. Чувствую, где-то объебался я с такой схемой.
Аноним 30/05/18 Срд 16:10:35  1199455
>>1199453
А, вопрос такой. Что должен представлять из себя класс MyObj?
Сервис с @Autowired полями?
Аноним 30/05/18 Срд 16:55:39  1199480
>>1199453
>сеттерами сую туда данные.
Вот и сервисы сеттерами суй
Аноним 30/05/18 Срд 16:58:48  1199483
>>1199452
>Используй веб-сокеты и алгоритм как в торрент-кдиентах
Не я это решаю. Мне дали спецификацию рест-апи для аплоада файлов, и я пишу. Файлы требуется передавать в теле запроса. Я ищу способ написать это как можно лучше, короче и надежнее. Рабочий код уже есть, но он мне не нравится.
Аноним 30/05/18 Срд 16:59:19  1199485
>>1199450
Я про то что мультипарт СПЕЦИАЛЬНО вставляет разделители, и если бекендер не криворукий мудак то все нормально читается, а ебля с сокетами это экзотика.
Вот попробуй на каком-то сервисе аплоаднуть фотку и посмотри в консоли браузера что там в теле запроса.
Аноним 30/05/18 Срд 17:12:50  1199491
Вот некоторые заявляют, что наследования и абстрактные классы в жабе и ООП - зло, надо все на интерфейсах делать. А если у меня есть "подклассы", у которых есть некоторые общие переменные - мне в каждом "подклассе" их объявлять и в каждом конструкторе инициализировать? Интерфейс-то переменные не может объявлять и определять методы.

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

А с интерфейсами как? Композиты - по-гейски.
Аноним 30/05/18 Срд 17:37:23  1199504
>>1199485
Переделал сервер под получение мультипарт запросов. Ну ладно, пусть так работает. Тимлид сказал, что никаких вебсокетов. Рест и только рест.
Аноним 30/05/18 Срд 18:27:13  1199525
>>1199491
что ты будешь делать, когда в одном из наследников нужно будет например сменить тип active на integer?
Аноним 30/05/18 Срд 18:27:35  1199526
15251041831962.jpg (81Кб, 811x681)
Что скажете про работу в сбере?
Кто-нибудь имел опыт там?
Аноним 30/05/18 Срд 18:29:29  1199527
>>1199525
C абстрактными классами? Сменю в родительском классе и конструкторах.
Аноним 30/05/18 Срд 18:41:22  1199532
>>1199527
так ты остальных наследников сломаешь
Аноним 30/05/18 Срд 19:01:02  1199547
>>1199532
Каким образом?
Аноним 30/05/18 Срд 19:10:25  1199553
>>1199547
была boolean переменная, стала integer. Код сломался
Аноним 30/05/18 Срд 19:18:04  1199559
>>1199553
Смотри:
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);
}
}
Аноним 30/05/18 Срд 19:18:52  1199560
>>1199559
У EntityX extends Entity забыл.
Аноним 30/05/18 Срд 19:28:15  1199572
>>1199559
теперь тебе в EntityX isActive нужно сделать integer. А в EntityY оставить по-старому
Аноним 30/05/18 Срд 19:31:36  1199577
>>1199572
Так не может быть потому, что к EntityX и EntityY я буду обращаться как к Entity.
Аноним 30/05/18 Срд 19:38:10  1199581
>>1199577
тогда зачем вообще делать разные классы?
Аноним 30/05/18 Срд 19:43:26  1199586
>>1199581
Не все методы и поля общие.
Аноним 30/05/18 Срд 19:44:19  1199587
>>1199586
так ты же обращаешься к ним как к Entity. Или уже нет?
Аноним 30/05/18 Срд 19:49:03  1199591
>>1199587
Не всегда же. Я обращусь к ним как к Entity, если мне нужные общие поля или переопределенные методы. В остальных случаях как к объектам подклассов.
Аноним 30/05/18 Срд 20:48:56  1199641
>>1199381
сейчас gui на джаве не пишут
Аноним 30/05/18 Срд 21:13:59  1199662
>>1199641
я на работе пишу
Аноним 30/05/18 Срд 21:16:04  1199665
>>1199662
Swing или JavaFX?
Насколько это будет перспективно в будущем? Правда, что десктоп приложения умирают?
Аноним 30/05/18 Срд 21:38:09  1199686
>>1199665
>Правда, что десктоп приложения умирают?
Правда, а на джаве они особо и не рождались
Аноним 30/05/18 Срд 21:51:53  1199696
>>1199665
JavaFX. Сыроватый он. Свинг получше будет, и продуманней
Аноним 31/05/18 Чтв 00:50:35  1199781
>>1199491
Давай конкретный код, а не абстрактные entity. Поясню тебе почему нинужна.
Аноним 31/05/18 Чтв 13:26:18  1199934
>>1199781
Да выше уже похожее кидал. Если более конкретно, то есть файл со строками вида:
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.

Снова хотел спросить совета по другой проблеме, но пока описывал, придумал возможное решение. Спасибо, моя уточка.
Аноним 31/05/18 Чтв 15:46:09  1199981
Без имени-1.jpg (192Кб, 973x563)
есть некая программа color centro Konica-Minolta, у неё дохуя фиксированных окон. Как-нибудь можно сделать их динамичными или точнее чтобы можно было менять размер произвольно? В Ярлык запуска что-нибудь прописать?
Аноним 31/05/18 Чтв 16:06:50  1199986
>>1199981
Только декомпилировать и исправлять код. Впрочем если авторы не предусмотрели ресайз от простого включения у окна толку не будет. Просто при увеличении размера будет появляться пустое место, а все элементы будут оставаться там где они есть.
Аноним 31/05/18 Чтв 16:16:37  1199990
>>1199986
хуево, спасибо за ответ.
Аноним 31/05/18 Чтв 20:39:09  1200165
>>1199934
Все равно решение не сработало - мешают downcasts.

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

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

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

Аноним 31/05/18 Чтв 21:07:56  1200212
>>1200165
Используй instanceof и не еби нам мозг.
Аноним 31/05/18 Чтв 21:14:26  1200226
>>1200212
Как пишут в интернете: "Using instanceof is a code smell".
Аноним 31/05/18 Чтв 22:05:19  1200287
>>1200226
В Интернете много что пишут.
Аноним 31/05/18 Чтв 23:51:36  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
даже без настройки класспаса

Что я делаю не так?
Аноним 31/05/18 Чтв 23:55:13  1200345
>>1200343
Лезешь куда тебя не просят.
Аноним 01/06/18 Птн 11:11:11  1200462
Чем Java лучше C#, кроме того, что на ней уже написано много чего?
Аноним 01/06/18 Птн 11:24:05  1200471
>>1200462
>Чем Java лучше C#
Ой, мальчик, здесь мы идем опять
Аноним 01/06/18 Птн 11:35:40  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();
}
}
}

Сап как дело доходит до цикла, он выполняется бесконечно. Объясните почему и как исправить.
Аноним 01/06/18 Птн 12:15:03  1200495
>>1200476
Во-первых, код выкладывают на pastebin или ideone или на что-то еще.
Во-вторых, чтобы цикл не выполнялся бесконечно, нужно либо чтобы условие цикла перестало быть истиной, либо чтобы где-то внутри цикла его выполнение прерывалось (break/return/exception). Ничего из перечисленного у тебя я не вижу.
Аноним 01/06/18 Птн 12:20:16  1200498
>>1186670 (OP)
Есть тут hybris макаки?
Аноним 01/06/18 Птн 13:12:40  1200528
Встретил вот такой пример кода:
https://pastebin.com/ZUBs6SWX

Объясните, зачем в восьмой строке брать создание HelloThread в отдельные скобки?
Аноним 01/06/18 Птн 13:51:50  1200579
>>1200528
Попробуй без скобок и посмотри что будет, ленивая ты жопа.
Аноним 01/06/18 Птн 14:09:15  1200593
>>1200579
Пробовал -- ничего не изменилось, хоть со скобками, хоть без них.
Аноним 01/06/18 Птн 14:20:40  1200601
>>1200593
Это тема многопоточности, но я не знаю, распространяется ли такое написание в других разделах.
Читал до этого Философию Java, там все писалось без скобок. А тут вот набрел на такой пример со скобками и не понимаю, зачем оно нужно и что это меняет.
Аноним 01/06/18 Птн 14:59:58  1200653
>>1200601
Видимо, new имеет больший приоритет, чем вызов методов, а скобки - Abundant Parentheses.
Аноним 01/06/18 Птн 16:07:02  1200697
>>1200593
Раз не изменилось, то и разницы нет. Поздравляю, ты ответил на свой вопрос.
Аноним 01/06/18 Птн 16:33:02  1200721
Нужен жизненный совет бывалых джавистов.

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

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



String str = "0";

str += 1;

str *= 3;

System.out.println(str);

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


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

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

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

Будет выведено «010101»
Аноним 01/06/18 Птн 17:50:41  1200768
>>1200744
2
Аноним 01/06/18 Птн 18:08:59  1200784
>>1200768
Спасибо огромное
Есть еще один вопрос

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


1. main (String[] args)

2. notify()

3. parallel()

4. plus(Object o)

5. sleep (long timeout)

6. stream()
Аноним 01/06/18 Птн 19:26:01  1200834
>>1200784
2. notify()
Ты блять можешь писать на зекач но не можешь октрыть иде или jshell?

Аноним 01/06/18 Птн 20:11:22  1200866
>>1200721
>PHP
>думает, что умеет программировать и способен сходу вкатиться в язык белых людей
>не умеет гуглить
Ну такое.
Аноним 01/06/18 Птн 21:18:22  1200922
14952307790880.jpg (104Кб, 1280x688)
>>1200866
> думает, что джава язык для белых людей, чем-то принципиально отличающийся от PHP
Аноним 01/06/18 Птн 21:29:27  1200930
>>1200528
Незачем.
Аноним 01/06/18 Птн 22:06:27  1200969
>>1200866
Что «ну такое». У тебя аутизм?
Я спрашиваю про джавовские литературные бестселлеры.
Нагуглить говна, В котором дауны для даунов объясняют наследование и дженерики я могу легко. И последнее: мне не нужно уметь программировать на джаве, мне нужно уметь разрабатывать с использованием джавы. Это две разные вещи.
Аноним 01/06/18 Птн 22:47:52  1201008
>>1200969
Ну и пошел нахуй тогда, раз сам все знаешь.
Аноним 01/06/18 Птн 22:50:01  1201010
>>1200969
Если бы ты хоть немного интересовался вопросом,
то знал бы, что Java чуть ли не единственный язык со строгой спецификацией языка и виртуальной машины, за это все её любят,
это значит, что если ты будешь соблюдать все стандарты (что там написано), то у тебя всё будет хорошо и у тебя будет обратная совместимость, а если нет, то у тебя будет шанс, что твоё приложение лет через 10 на новой JVM не запустится
Аноним 01/06/18 Птн 22:51:27  1201013
это я к тому, что читай что тут дяди написали,
раз такой сеньёр помидор и подавай тебе туториалы "недлябыдла"
https://docs.oracle.com/javase/tutorial/java/
Аноним 01/06/18 Птн 23:09:10  1201029
>>1200721
Бля, идёшь и читаешь reference documentation Spring, Spring Boot, Spring Cloud, Spring Integration. Именно в таком порядке. Десять лет в ит, а спрашиваешь как маленький.
Аноним 02/06/18 Суб 00:07:34  1201082
>>1200768
Нет, там все правильно. Для строки + означает конкатенцию, str += 1 это "0" + 1, т.е. "01".
Ошибка будет в третьей строке, т.к. для String операция * не определена.
Аноним 02/06/18 Суб 00:19:56  1201090
>>1194842
>Потому что так эту переменную назвали.
Потому что автор тупорылый быдлокодер, тоже видимо из бывших похэпешников.
Аноним 02/06/18 Суб 21:11:32  1201688
Помогите, пожалуйста, понять за какое свойство объекта отвечают интерфейсы маркеры:
Remote interface
и
ThreadSafe interface
Аноним 02/06/18 Суб 23:06:55  1201739
Spring Security
Не работает авторизация in-memory.
Да и он вообще игнорит мой xml security файл, а из класса java аннотация работает. Но авторизация - нет.
Чувствую, что не добавил какую-то важную ерунду куда-нибудь, но не знаю какую и куда.
Подскажите, куда копать?
Аноним 03/06/18 Вск 13:31:02  1201926
Ищу ментора или такого же нубаса для изучения Джавы с последующим перекатыванием в разработку под андроид.
tg: sickboi
Аноним 03/06/18 Вск 16:07:49  1202038
Кто-нибудь обмазывался Netty?
Поясните за разницу между close() и disconnect(). И за разницу между вызовом этих close/disconnect у Channel и ChannelHandlerContext.
Аноним 03/06/18 Вск 16:09:55  1202040
Аноны что означает бэкенд? Ну понятно что сервера и тому подобное но если конкретнее что там разрабатывается?
Например во фронтэнде понятно что разрабывается на интутитивном уровне. Но что делают бэкендеры?
Аноним 03/06/18 Вск 16:10:38  1202041
>>1202040
Сервера пишут, лол.
Аноним 03/06/18 Вск 16:12:52  1202043
>>1202041
А что подразумевается под "писать сервера"?
Аноним 03/06/18 Вск 16:14:53  1202045
>>1202043
https://ru.wiktionary.org/wiki/писать
https://ru.wikipedia.org/wiki/Сервер_(программное_обеспечение)
Не благодари.
Аноним 03/06/18 Вск 20:10:01  1202115
Hibernate это библиотека или фреймворк?
Аноним 03/06/18 Вск 20:26:01  1202122
>>1202115
Скорее фреймворк, но эта граница часто размыта
Аноним 03/06/18 Вск 20:41:16  1202132
>>1202122
Если он нужен только для того чтобы связать ООП и реляционную базу данных,
то используют ли его, когда используют Spring, учитывая, что там есть Spring Data??
Аноним 03/06/18 Вск 21:11:40  1202150
>>1202132
Используют. Spring Data это не замена, а еще один необязательный слой поверх JPA/Hibernate.
Аноним 03/06/18 Вск 22:47:36  1202195
>>1202115
Это реализация JPA.
Аноним 04/06/18 Пнд 01:27:54  1202269
Спринг в вебе используется? Или только для корпоративных приложений?
Аноним 04/06/18 Пнд 07:19:14  1202355
>>1202269
Используется для любой серверной джавы. Т.е. в вебе тоже, если считать что на джаве бывает "веб".
Аноним 04/06/18 Пнд 08:53:08  1202396
>>1202355
В каждой второй вакансии вижу желательно знание html css javascript. Это ли не веб?
Аноним 04/06/18 Пнд 09:53:09  1202413
>>1202396
Веб, да, но если ты противопоставляешь его корпоративным приложениям, возможно, о вебе у тебя некое узкое представление.
Аноним 04/06/18 Пнд 13:39:44  1202543
Снимок.PNG (20Кб, 472x407)
Снимок2.PNG (5Кб, 589x129)
Почему я не вижу сообщения от исключения в консоли?
Аноним 04/06/18 Пнд 13:46:59  1202550
Снимок.PNG (11Кб, 541x280)
Снимок2.PNG (3Кб, 430x71)
Снимок3.PNG (6Кб, 649x79)
А вот если сделать аналогичную фигню, но с отдельным классом, все нормально выводится
Аноним 04/06/18 Пнд 13:57:50  1202558
>>1202550
Вызов getMessage не выводит сообщение в консольку, а просто отдаёт значение, которое уже ты сам дополнительно должен вывести в консоль. С отдельным классом ты вызываешь не ту функцию. Надо вызывать callDivide, а ты вызываешь divide, который выдаёт эксепшн, который отлавливает уже сама JVM.
Аноним 04/06/18 Пнд 14:26:23  1202571
Снимок.PNG (4Кб, 460x121)
>>1202558
на самом деле я сейчас онял, что правильней сделать вот так и вообще не обрабатывать unchecked exception, просто потому что это ненужно,

но почему тогда JVM не может точно так же обработать такое же по типу исключение, не выводит сообщение для нуллпоинтер?
Аноним 04/06/18 Пнд 14:31:14  1202575
>>1202571
> что правильней сделать вот так
Не, не правильней. Даже наоборот, некоторые в code style запрещают делать else, если в предыдущем if есть throw или return.
> но почему тогда JVM не может точно так же обработать
Потому что конструкцией try/catch ты сообщаешь, что хочешь самостоятельно обработать данное исключение. А то что ты не умеешь выводить содержимое эксепшона в консольку JVM уже не ебёт.
Аноним 04/06/18 Пнд 14:35:36  1202579
15281092199490.png (11Кб, 541x280)
>>1202575
так что ли правильней? а я думал обрабатьвать самому unchecked исключения это зашквар
Тут я кстати в консоль сам ничего не вывожу, а вызываю все тот же гет мессадж,

Аноним 04/06/18 Пнд 15:17:04  1202589
Аноны, это норм тема?
https://geekbrains.ru/geek_university/java
Аноним 04/06/18 Пнд 15:27:03  1202593
>>1202543
Потому что ты не понимаешь что делаешь.
1) s.length само кинет эксепшн;
2) В блоке catch ты словил эксепшн, достал его месадж, но в консоль не вывел, из-за кетча приложение нормально закончилось.
Аноним 04/06/18 Пнд 17:32:52  1202663
>>1202593
>1) s.length само кинет эксепшн;
бля, вот этого я реально не понимал, по сути программа и не доходила до моего второго эксепшена,
спасибо
Аноним 04/06/18 Пнд 19:04:03  1202756
>>1202589
Да хрен их знает. Чтоб от мейл сру что-то годное было... Если шаришь в англюсик хотя бы на интермидиет уровне то вот годные курсы.

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 долларов. Нормальная цена.
Аноним 04/06/18 Пнд 23:40:36  1203030
>>1202756
Спс анон, а то на курсере они скурвились и берут денюжку
Аноним 04/06/18 Пнд 23:40:41  1203031
Хочу написать программу, которая берет html страницу с отдельными css и js и превращает все в одну standalone страницу, для этого подойдет java или лучше javascript?
Аноним 05/06/18 Втр 16:21:44  1203393
Долбоеб репортинг ин. Что вы пишите на жаве?
Аноним 05/06/18 Втр 17:14:43  1203426
>>1203393
Хулло ворлды.
Аноним 05/06/18 Втр 17:32:32  1203436
>>1203426
А потом?
Аноним 05/06/18 Втр 22:02:20  1203584
>>1203393
Что на галере прикажут, то и пишем
Аноним 05/06/18 Втр 23:03:21  1203626
>>1203584
Да бля, ну что примерно? Я даже хуй знает как загуглить.
Аноним 05/06/18 Втр 23:21:07  1203639
>>1203393
Не твое дело.
>>1202589
Нет.
Аноним 05/06/18 Втр 23:25:02  1203643
>>1203639
Я же не прошу конкретных вещей. Можно же примерно сказать что делаешь для человека который только пару недель изучает жаву кор.
Аноним 06/06/18 Срд 04:17:17  1203738
Java господа, вы моя последняя надежда. Как сделать ввод матрицы в оконном приложении? Нужно потом эту матрицу записать в массив.
Аноним 06/06/18 Срд 08:32:54  1203770
>>1203626
>Я даже хуй знает как загуглить.
Вбиваешь на hh.ru слово java, читаешь в вакансиях описания проектов или самих контор, в ужасе дропаешь жаву и забываешь навсегда
Аноним 06/06/18 Срд 14:29:57  1203950
>>1203770
>Слово java
javascript)))0)
хрюши не различают
Аноним 06/06/18 Срд 14:31:55  1203951
>>1203738
Ширина и высота есть?
Берешь сканнер и читаешь инты/флоты. Или можешь построчно считывать и дальше разбивать как тебе надо.
Аноним 07/06/18 Чтв 10:07:02  1204474
Подкиньте каких-то чатиков, где будут рады нубасам. Много вопросов, но некому задать. :<
Аноним 07/06/18 Чтв 10:29:22  1204487
>>1204474
Тут задавай
Аноним 07/06/18 Чтв 11:02:08  1204508
>>1204487
Слишком много вопросов, хочется живого общения.

Ознакомился с книгой Шилдта, более менее выучил базис и в состоянии писать мелкие консольные приложения типа поиска последовательности Фибоначчи или факториала. Знаком с ООП. Хочу идти в андроид/вэб, но не имею понятия, что делать дальше. На оф.сайте андроида скудная документация, на мой взгляд. А гайды типа "ну, ебашим эту строку потому что так надо" кажутся не очень эффективными. Какие движения делать дальше? inb4: рычать и двигать тазом
Аноним 07/06/18 Чтв 11:25:09  1204521
>>1204508
>Хочу идти в андроид/вэб
Так в андроид или в вэб? По андроиду может быть лучше в соответствующем треде спрашивать.
Аноним 07/06/18 Чтв 12:55:28  1204596
Напомните, что там поменялось со времен 8 версии?
Аноним 07/06/18 Чтв 12:58:42  1204597
>>1204596
Моудли, var, Graal вот-вот почти, сотни-милион диприкейтов.
Аноним 07/06/18 Чтв 13:03:43  1204600
https://www.udemy.com/spring-hibernate-tutorial/
https://www.udemy.com/spring-framework-5-beginner-to-guru/

Никак не решу какой из курсов купить. Curriculum какого курса вас впечатлил больше?
Аноним 07/06/18 Чтв 13:09:05  1204604
>>1203393
Кросскомпилятор пишу, который генерит код для ZX Spectrum. BASIC подобный язык с ООП, лямбдами и подсчетом ссылок.
Но застопорился на делении целых чисел. Умножение легко выразить через сложение и сдвиги, типа 123x17 = 123x16 + 123x1 = 123 << 4 + 123, а вот как можно делить не знаю...
Аноним 07/06/18 Чтв 13:16:00  1204609
>>1204600
https://spring.io/guides - тут все бесплатно
Аноним 07/06/18 Чтв 13:20:53  1204615
>>1204609
Официальная документация must have конечно. Но приступаю к ней когда уже имею опыт какой-никакой. Да и 10 баксов небольшая цена за курс хороший.
Аноним 07/06/18 Чтв 13:21:27  1204616
+ Spring in Action на русском (издание 2013 года): http://eldude.ru/files/books/Spring_in_action.pdf
Аноним 07/06/18 Чтв 13:31:52  1204623
>>1204615
Проблема этих курсов, что там учат делать все по шаблону, без понимания общей архитектуры. Пока все делаешь по методичке - ок, как только нужно что-то поменять, приходиться гуглить и копипастить кучу непонятного кода, переопределять какие-то методы, о которых вообще ничего не рассказывали и т.д. В итоге приходится учить все ту же документацию.
Аноним 07/06/18 Чтв 13:36:59  1204630
>>1204623
Да согласен.
Но я делаю так.
1. Краткий курс по основам.
2. Книга по нужной теме
3. Офф документация.

И в голове потом много чего остается.
Аноним 07/06/18 Чтв 14:35:12  1204691
>>1204508

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

нинужна

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

нинужна

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

нужна

>
Аноним 07/06/18 Чтв 16:14:26  1204797
>>1204521
В контексте моего вопроса это не так важно. Я не знаю, что делать после выбора специальности. Пока пробую себя в андроиде. Стоило бы спросить в их треде, да.
Аноним 07/06/18 Чтв 18:52:57  1204893
Когда уже введут protected методы в интерфейсы? Тогда можно будет официально заявить, что абстрактные классы нинужны.
Аноним 08/06/18 Птн 04:10:18  1205220
>>1204630
Ну тебе виднее, мне лично жалко отдавать бабло на пересказ бесплатных статей с хабра.
Лучше купить хорошую книгу.
Аноним 08/06/18 Птн 04:13:51  1205221
>>1204893
Состояние, т.е. данные в интерфейс ты не запихнешь.
Аноним 08/06/18 Птн 12:11:11  1205358
Есть сервер поднятый на apache tomcat 9, сделал всю структуру для моей части работы, я нагрузочник, все работало пока не определил список работающих методов в зависимости от типа ссылки, по которой проходит юзер.
Т.е. я задал определение отправляющегося объекта от типа полученной ссылки HttpServletRequest request, String link = request.getRequestURL.
Но есть одна нестыковочка в этой структуре, я не знаю как задать эти ссылки в апаче. Их где то надо захардкодить? Или ониваляются в xml каком то.
Все работало когда я стучался на сервер по названию сервлета StartServer. Перестало когда мне понадобилось работать с разными типами ссылок, которые отправляют разные типы xml.


Сори за сумбур, если вкратце, то как создавать ссылки в Apache TomCat?
Аноним 08/06/18 Птн 13:43:26  1205431
Рибят, а если я, вот, изучаю java, мне обязательно ставить Linux? Вообще, поясните, плиз, на пальцах за Linux. Что он дает?
Аноним 08/06/18 Птн 19:19:24  1205829
>>1205431
обязательно
вся инфраструктура заточена под юних
Аноним 08/06/18 Птн 20:15:28  1205873
>>1205431
Пока изучаешь, не обязательно. На линуксах работают все серверы, но вести разработку на джаве прекрасно можно и под вендой.
Аноним 08/06/18 Птн 21:30:19  1205914
Кто-нибудь использует на практике аннотации прекондишенов, посткондишенов, инвариантов и.т.п, как в исходниках джава библиотек?
Аноним 08/06/18 Птн 21:33:13  1205919
Пацаны! Я создал программу, которая случайным перемешивает музыкальные файлы в папке. Зачем это нужно? Ну если есть машина, то вы вставляете флешку в магнитолу и слушаете, но вскоре вас заебет один и тот же порядок воспроизведения треков. И тут на помощь приходит эта программа. Но есть один минус - все файлы переименовываются в череду рандомных цифр, ну почти как названия картинок, которые вы скачиваете с двача. Но всё же читать их название не нужно во время езды, как я полагаю.
Аноним 08/06/18 Птн 21:34:57  1205920
>>1205873
А какой линукс лучше изучить? Или значения не имеет для работы?
Аноним 08/06/18 Птн 21:36:58  1205923
>>1205920
Линукс он и в африке линукс. Ты наверное имеешь в виду какой дистрибутив/Desktop Environment?
Аноним 08/06/18 Птн 21:38:50  1205928
>>1205923
Да, именно это и имею в виду. А то как наслушаешься, то каждый дистрибутив чуть ли не отдельный мир
Аноним 08/06/18 Птн 21:45:40  1205935
>>1205928
Debian. А вообще лучше бы ты в /s с этим вопросом пошёл.
Аноним 08/06/18 Птн 21:50:14  1205939
>>1205935
Понял, спасибо
Аноним 08/06/18 Птн 22:02:37  1205944
>>1205919

А нахуй ты их перееименовываешь, засунуть в массив и оттуда рандомом вытаскивать не варик?
Аноним 08/06/18 Птн 22:08:16  1205949
>>1205919

Можно лучше.

1. переименовываешь файлы (сперва запатентуй эту технологию)
2. создаешь двоичную кучу, в нее суешь названия файлов
3. проходишь по одной из веток
4. как только доходишь до пустых детей разворачиваешь дерево
5. идешь по одной из веток
Аноним 09/06/18 Суб 08:38:38  1206116
>>1205944
Так в папке по имени все равно отсортируются, да и читает с флешки по порядку.
Аноним 09/06/18 Суб 15:29:04  1206324
>>1205358
Нихуя не понял, но вангую тебе надо слать get-запросы? Возьми у разрабов, или посмотри по коду, чё там должно быть.
Аноним 09/06/18 Суб 15:40:28  1206328
Куда легче вкатиться зная Java? Веб, энтерпрайз или мобилки?
Аноним 09/06/18 Суб 15:42:52  1206329
>>1206328
Не знаю.
Аноним 09/06/18 Суб 22:23:16  1206700
Сап, джавач! Помогите макакену разобраться: приходят сообщения, в зависимости от содержимого создаются разные задачи(расширил Callable, происходит работа с бд), после их выполнения у меня возвращаеся объект и мне его тоже нужно обернуть в задачу и выполнить. Нагуглил, что вроде бы ListenableFuture с callback удовлетворяет моим требованиям.
Набросал примерный каркас
https://pastebin.com/AKrVernG
Скажите, это приемлимое решение? Интересует использование разных Executor'ов под различные задачи - не слишком ли это плохо? До этого с многопоточкой почти не работал, потому предупреждаю, код может вызвать неудержимые приступы смеха.
Аноним 09/06/18 Суб 23:35:38  1206781
Alita001.png (201Кб, 396x308)
Есть один факап, с которым надо разобраться. В качестве побочного таска получил задание разобраться с запросами в информационную систему РЖД ЭТРАН, которая вставляет наружу SOAP-эндпоинты.

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

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

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

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

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

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

То есть, wsimport'ом генерю классы, подключаю к проекту клиента и при помощи них выполняю запросы. Не знаю, как лучше сделать это для этрана.
Аноним 10/06/18 Вск 01:02:16  1206831
>>1206781
Гугли cxf-maven-plugin. Класть в проект генерируемые файлы - зашквар. Ну и не похуй ли тебе сколько там методов тебе нагенерируют? Используй то, что надо и всё.
Аноним 10/06/18 Вск 09:43:48  1206913
>>1206700
1. Java 8 тебе недоступна? В ней есть удобный CompletableFuture на замену ListenableFuture из гуавы.
2. В твоем коде создается newCachedThreadPool(), который нигде не используется, а также directExecutor необязательно в явном виде запихивать в addCallback, там должна быть перегрузка без 3-го параметра. В целом нормально, если считать что сидим на java 7.
Аноним 10/06/18 Вск 13:33:27  1206983
рибзя, можно найти рабоут по джаве не зная спринга? месяц уже висит резюмеха, присылают всё что угодно, но не по джаве
Аноним 10/06/18 Вск 15:08:16  1207071
>>1206983
А что предлагают? И какой уровень у тебя? Java Core?
Аноним 10/06/18 Вск 15:26:41  1207081
>>1206983
Вот и поковыряй спринг пока, раз все равно висит.
Аноним 10/06/18 Вск 16:12:56  1207115
>>1206831
>Гугли cxf-maven-plugin
Ок, научился генерировать классы этим сервисом. Куда их сохранять? В отдельную директорию или в исходники src/java? Как подключать сгенерированные классы в свой проект, если они сохранены не в директории исходников?

>Класть в проект генерируемые файлы - зашквар
Куда их класть?
Аноним 10/06/18 Вск 16:18:15  1207119
>>1207071
Предлагают просто айтишником\техподом, кем я и работаю. Максимум было по тестерству.
Пока знаю только кор и jdbсне знаю
Аноним 10/06/18 Вск 16:23:28  1207128
>>1207115
>Ок, научился генерировать классы этим сервисом. Куда их сохранять?
Два варианта:
1. Никуда не сохранять, будут генерироваться при каждой сборке перед компиляцией
2. Положить в исходники (src/java), но настроить сборку (maven) так, чтобы можно было в любой момент их перегенерировать.
Т.е. wsdl в проекте в любом случае тоже будет лежать.
Аноним 10/06/18 Вск 17:29:54  1207182
>>1207128
Окей, с этим понятно. В моем маленьком проекте все заработало. Хочу вернуться к исходной задаче. Есть спека на ИС РЖД, два wSDL-описания методов SendBlock и GetBlock, при помощи которых клиент общается с ИС. И есть описание всех запросов. Как это использовать?
Систему, кстати, с 93 или 95 года писали на делфи 10 лет, а потом 5 лет запускали, лол. На их сайте конкурс частушек, конкурс "лучший работник РЖД" и какие-то матрешки. Пиздец.
Аноним 10/06/18 Вск 17:59:51  1207211
>>1207182
>Как это использовать?
В чем проблема? Ты ж писал, что в принципе клиенты к сервисам у тебя получались. Или ты хочешь, чтобы тут кто-то за тебя разбирался со спецификой твоего ржд?
Аноним 10/06/18 Вск 18:10:10  1207216
>>1207211
>Ты ж писал, что в принципе клиенты к сервисам у тебя получались
Ладно, дальше я сам. У меня из дома недоступен эндпоинт, а ставить випнет мне лениво, поэтому я даже не знаю, что меня ждет на работе. Наверно, получится с ним работать так же, как с моими сервисами.
Аноним 10/06/18 Вск 20:42:21  1207345
>>1207119
Ну с одним кором тяжело устроиться. Спринг нужен джуну. Плюс еще html css js нелишним будет.
Аноним 11/06/18 Пнд 02:54:07  1207547
сап, джаваны, подскажите, есть КлассА и КлассБ, написать для них что-то типа обертки(нормальное наследование уже не сделать, код не мой) и потом уже возвращать из нее соответствующие экземпляры предварительно вызвав какой-нибудь метод типа isClassB?
Аноним 11/06/18 Пнд 13:41:30  1207669
Для спринга бывают шаблоны админок? Не те которые spring boot admin, а те который для контент менеджеров например.
Аноним 11/06/18 Пнд 16:23:51  1207749
Прошел курс на coursere по Java. По отдельности все понимаю, циклы там, наследование, полиформизм и все такое, но воедино свзять не получается. Знаковый посоветовал читнуть Effective Java Блоха и все встанет на свои места. Это поможет мне?
Аноним 11/06/18 Пнд 19:09:03  1207875
За что сейчас платят деньги и как прокачиваться? Расклад такой, год работаю джава джуном, уже хорошо знаю core и некоторые фишки ЕЕ, юзаю jsf, освоил hibernate и в некоторой степени sql, ну круд напишу, короче. Как я понимаю, стек немного устарел? Пытаться вкатываться в спринг, а что ещё?
Аноним 11/06/18 Пнд 19:23:56  1207893
>>1207749
Не поможет. Советчик хуйню сморозил.
Аноним 11/06/18 Пнд 19:40:01  1207905
>>1207893
Что тогда делать в таком случае? В Факе темы вон тоже написано что поможет не писать костыли.
Аноним 11/06/18 Пнд 20:12:28  1207928
Ты сейчас вообще нихуя написать не сможешь, не то что что-либо без костылей.
Напиши пару крупных консольных программ, потом сам поймешь, что тебе нужно.
Аноним 11/06/18 Пнд 20:12:51  1207929
>>1207905
>>1207928
Аноним 12/06/18 Втр 17:23:48  1208448
Хочу пройтись по базе, этот курс всё ещё релевантен? (2011 год)
https://www.youtube.com/watch?v=TBWX97e1E9g&list=PLE7E8B7F4856C9B19
Аноним 12/06/18 Втр 21:31:06  1208620
>>1208448
Лень коменты прочитать? Второй же комент отвечает на вопрос
Аноним 13/06/18 Срд 13:49:23  1208992
Где перекат, пидоры?
Аноним 13/06/18 Срд 18:52:40  1209212
>>1208992
https://2ch.hk/pr/res/1207656.html
Аноним 23/06/18 Суб 14:19:40  1215764
>>1186670 (OP)
Поясните вкатывальщик за апплеты, господа! Нужно их учить или пропустить, так как они диприкейтед?
Аноним 29/06/18 Птн 13:22:56  1219498
>>1186670 (OP)
>На джаве фриланса нет
а андроид приложухи?сильно не стукай
Аноним 06/07/18 Птн 18:34:04  1223725
inferTypes.png (24Кб, 1774x34)
Кто тут кукарекал, что с варом будет непонятно, какой тип у переменной?
Аноним 06/07/18 Птн 18:34:56  1223726
Идея все нормально выводит, подсвечивая и изменяя тип в реалтайме
Аноним 10/07/18 Втр 17:48:19  1225644
мальчишки всем привет, кто растолкует что за ошибка такая? http://www.slf4j.org/codes.html#StaticLoggerBinder , делаю приложение на сервлетах


Топ тредов
Избранное