М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

Java thread 9 мая, 09:44 1186670 В конец треда | Веб

13 Кб, 480x360271 Кб, 1055x6945 Кб, 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

Ответы192147192568194126194570195603198711199349200498200744215764219498

sage 9 мая, 10:13 2 1186677

Java переживает свой закат. 10я версия окончательно вбила гвоздь в её гроб. Уже учите новый язык, петушки?)

Ответы186703186786

46 Кб, 604x453
9 мая, 11:40 3 1186703

>>1186677

Ответы186706

9 мая, 11:52 4 1186706

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

Ответы186716

9 мая, 12:15 5 1186716

>>1186706
/pr всегда был прибежищем для дурачков и вайтишников, ну и пары процентов залетных спецов. От времени года мало что меняется.

9 мая, 12:18 6 1186719

Насколько будет больным перекат с JS на Java?
Надо ли открывать книгу для чайников и реально учить все с нуля?

Ответы186722186723186872189818199258

9 мая, 12:23 7 1186722

>>1186719
> с JS
У тебя необратимо поврежден головной мозг. Так что придется тебе остаться на долларовом фрилансе на апворке, учить ноду и возможно го, после длительной медитации.

9 мая, 12:24 8 1186723

>>1186719
var есть и там и там. Остальное несущественно

9 мая, 12:31 9 1186728

Всем привет. Я новичок поэтому простите за банальщину. У меня есть простое javaapp приложение с библиотекой jSSC, которая считывает данные с ком порта. Мне нужно эти данные отправить на сервер, чтобы вывести значения в браузере. Как это сделать? Можете ссылки примеров скинуть и тд

9 мая, 12:54 10 1186741

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

Ответы186772186791

9 мая, 13:16 11 1186765

так я и не знаю с чего начать

sage 9 мая, 13:25 12 1186772

>>1186741
React Native

9 мая, 13:34 13 1186786

>>1186677
джаву с девяностных хоронят

Ответы186864

9 мая, 13:42 14 1186791

>>1186741
гуи на джаве не нужны

sage 9 мая, 14:42 15 1186864

>>1186786
Одной из главных фишек Джавы была обратная совместимость, а теперь её полностью проебали, кек.

Ответы186877188044

9 мая, 14:47 16 1186872

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

9 мая, 14:50 17 1186877

>>1186864
починят

9 мая, 15:16 18 1186897

В тему гуйцов - на чём нынче делают кроссплатформенные толстые клиенты? А тонкие?

Ответы186915186923198653

9 мая, 15:35 19 1186915

>>1186897
веб. По моему субъективному мнению, всякие системы реального времени нельзя переводить на веб, он для этого не подходит

9 мая, 16:03 20 1186923

>>1186897
qt, gtk кроссплатформены

9 мая, 17:55 21 1187029

Аноны, есть годные задачки, чтобы отточить навык новичку? Читаю Шилда, но понимаю что если не практиковаться то толку мало.

Ответы189417

9 мая, 19:31 22 1187110

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

Ответы187237187305

9 мая, 22:29 23 1187237

>>1187110
Можно через код, в который ты сам подставишь значения из .properties или откуда удобно

9 мая, 22:33 24 1187239

Как в java прочитать строку из фаила?Я пробую через inputstream или сканер.Получаю на выходе null.

Ответы187246187305

9 мая, 22:39 25 1187246

>>1187239
Ноль на входе - ноль на выходе.

9 мая, 23:38 26 1187305

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

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

Ответы187494

10 мая, 10:04 27 1187494

>>1187305
>Через проперти можно конфигурировать конект к базе
Да, мне это и нужно. Как это сделать?
У меня сейчас есть hibernate.properties в класспасе, но вылетает ошибка
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory'
Есть статья как это правильно сделать? Весь гугл облазил и не нашел

Ответы187496

10 мая, 10:21 28 1187496

>>1187494
Настроить коннект к базе != сконфигурировать хибернейт. Раз у тебя спринг, гугли PropertyPlaceholderConfigurer

Ответы187512

10 мая, 11:20 29 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 мая, 14:41 30 1187643

Как можно писать один проект несколько лет? Что там может быть настолько сложного?

Ответы187731

10 мая, 16:48 31 1187731

>>1187643
толсто

Ответы188173

11 мая, 01:21 32 1188044

>>1186864
> а теперь её полностью проебали
Каким образом?

Ответы188102

11 мая, 08:58 33 1188102

>>1188044
На 10 половина либ не работает.

Ответы188142196526197519198452198529

11 мая, 10:41 34 1188142

>>1188102
A. Ссылку на источник
Б. ССЗБ, если использовали недокументированные особенности

11 мая, 11:40 35 1188173

>>1187731
Серьезно спрашиваю.

Ответы188308

11 мая, 13:28 36 1188222

Список заданий на спринг буте, с постгрес в роли бд и vue в роли фронтенда - норм?

Ответы188226

11 мая, 13:32 37 1188226

>>1188222
Норм

Ответы188397

11 мая, 17:11 38 1188308

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

Дальше два пути:
1) Если менеджмент неадекватный, если нет единого хозяина-конечной точки принятия решения, то этот проект тонет под грузом неюзабельного интерфейса и неюзабельных фич
2) Хороший менеджмент, есть конечная точка принятия решения, фичи не добавляются ради фич. В таком случае проект живёт и приносит деньги

11 мая, 20:30 39 1188397

>>1188226
Не, чет дохуя сложно. Сделаю SPA на шаблонизаторах.

Ответы188400188401

11 мая, 20:50 40 1188400

>>1188397
Чем тебе vue не шаблонизатор?

Ответы188402

11 мая, 20:51 41 1188401

>>1188397
на каких таких шаблонизаторах маня?

Ответы188402

11 мая, 20:53 42 1188402

>>1188401
Freemarker
>>1188400
Да хуй знает, там чета устанавливать надо, конпелировать, ну его. Все равно фронтендом не планирую заниматься.

Ответы188404188413

11 мая, 20:54 43 1188404

>>1188402
тебе ОЧЕ много JS кодить руками придётся маня, бери ангулар и всё

Ответы188406

11 мая, 20:56 44 1188406

>>1188404
Вот я и не хочу js трогать. В ангуляре сильно меньше?

Ответы188408

11 мая, 20:57 45 1188408

>>1188406
Ты бы хоть почитал что такое SPA что ли. В любом случае для SPA нужен JS, весь вопрос в том кто будет его писать.

Ответы188410

11 мая, 20:57 46 1188409

есть какой-нибудь js продукт без всех этих бабелей и компиляции? Чтобы просто взять и ваять внутри js файла?

11 мая, 20:58 47 1188410

>>1188408
Я знаю, что vue для этого больше всего подходит, и все.

Ответы188411

11 мая, 20:59 48 1188411

>>1188410
без JS можешь в сторону GWT или Vaadin посмотреть

11 мая, 21:04 49 1188413

>>1188402
>Все равно фронтендом не планирую заниматься.
Лучше при этом все равно сделать нормальный REST-бэкэнд. А дальше можешь какой угодно к нему фронт делать, хоть на JS через немогу как умеешь, хоть консольное приложение, хоть телеграм-бота. Все больше пользы, чем от возни с неактуальным server-side рендерингом.

Ответы188417188419

11 мая, 21:08 50 1188417

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

Ответы188420

11 мая, 21:11 51 1188419

>>1188413
Я уже делал rest-бекенд, фронт там был сделан с помощью freemarker, а в js коде использовал только jquery. Просто хочу сделать все более стандартно и сам.

Ответы188464

11 мая, 21:11 52 1188420

>>1188417
Хрюкни.

11 мая, 21:13 53 1188422

Какую библиотеку мне надо скачать, чтобы я мог просто поставить над классом аннотацию @POJO, указать там приватные поля, и мне автоматически сгенерировались бы геттеры, сеттеры, конструкторы, toString, equals и hascode?

Ответы188423188428188443

11 мая, 21:13 54 1188423

>>1188422
но зачем? Пару хоткеет и идея это сгенерирует

Ответы188425

11 мая, 21:15 55 1188425

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

Ответы188429199259

11 мая, 21:19 56 1188428

>>1188422
KotlinLombok

Ответы188432

11 мая, 21:19 57 1188429

>>1188425
как ты себе это представляешь?

Ответы188432

5 Кб, 249x80
11 мая, 21:23 58 1188432

>>1188428
В ломбоке можно указать параметры генерации equals и hashcode?
>>1188429
Вот так.

Ответы188433188437188467

11 мая, 21:25 59 1188433

>>1188432
дык эти аннотации в рантайме работают все, у тебя не скомпилится если ты будешь геттеры дёргать

Ответы188436188437

11 мая, 21:29 60 1188436

>>1188433
Ну ломбок же как-то работает.

11 мая, 21:31 61 1188437

>>1188433
Ломбок при компиляции дохуярит.
>>1188432
Какие параметры генерации?
https://projectlombok.org/features/Data

11 мая, 21:39 62 1188443

>>1188422
Просто переходи на Kotlin, у тебя нет причин этого не делать

Ответы188445

11 мая, 21:40 63 1188445

>>1188443
лучше на скалу

Ответы188448188452189821

11 мая, 21:41 64 1188448

>>1188445
А лучше разбежавшись прыгнуть со скалы.

11 мая, 21:44 65 1188452

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

Ответы189822

11 мая, 22:02 66 1188464

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

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

11 мая, 22:13 67 1188467

>>1188432
Да, можно.

13 мая, 00:02 68 1188905

Объясните как получать координаты мыши при условии что окно неактивно.Мне подсказали что можно использовать jnativehook.Но я не могу отыскать пример.

Ответы188998

13 мая, 10:32 69 1188998

>>1188905
Виндоус?
Вначале ищещь как это сдлеать на твоей платформе из нативного кода. Потом пишешь этот код, конкпилируешь его проверяешь что рабоатет. Потом закидываешь как динамическую бибилиотеку и подключаешь к джаве. Вуаля.

13 мая, 22:14 70 1189417

>>1187029
codewars

13 мая, 22:15 71 1189419

Зачем нужно разделение на проверямые и непроверяемые исключения?

Ответы189420189539

13 мая, 22:16 72 1189420

>>1189419
чтобы был выбор

sage 13 мая, 22:49 73 1189434

Почему Checked Exceptions не пометят как Deprecated?

Ответы189539

14 мая, 10:18 74 1189539

>>1189419
Исторически слежалось.
>>1189434
Потому что поднимется шитсторм говноедов.

Ответы189541

14 мая, 10:22 75 1189541

>>1189539
>говноедов
По-твоему чекед не нужны?

Ответы189551189583

14 мая, 10:41 76 1189551

>>1189541
Не нужны.

Ответы189556

14 мая, 10:46 77 1189556

>>1189551
Как сказать, что этот метод может выкинуть исключение, и что его надо обязательно обрабатывать?

Ответы189557

14 мая, 10:50 78 1189557

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

Ответы189564

14 мая, 11:00 79 1189564

>>1189557
>Что ты подразумеваешь под словом "обработать"?
Прологгировать и выкинуть код бизнес-ошибки на выход например.
Чекед ЗАСТАВЛЯЕТ тебя знать и обрабатывать эксепшены.
Анчекед просто вывалятся в рантайме и все, с непредсказуемым результатом

14 мая, 11:49 80 1189583

>>1189541
По-моему анчекед не нужны.

14 мая, 13:27 81 1189628

Хочу подключить файловую БД, и чтобы не нужно было писать запросы руками, типо как в Room Persistance Library для ведроида, только для декстопного приложения. Что скажете за jOOQ, этого вообще кто-нибудь использует?

14 мая, 14:26 82 1189653

А как вам такое Илн Маск?
ЭКСЕПШНЫ НЕ НУЖНЫ
Пусть метод возвращает юнион успешного результат и возможных ошибок. А кидать только ошибки которые никак не хендлятся.
хуй такое в джаве будет

Ответы189660189682

14 мая, 14:40 83 1189660

>>1189653
Вы теряете самое полезное, что есть у эксепшна: стектрейс.

Ответы189668189672189682

14 мая, 14:48 84 1189668

>>1189660
Тебе не нужен стектрейс если ты (и автор библиотеки) обязан обработать все варианты поведения.
нигга.жпг

Ответы189682

14 мая, 14:56 85 1189672

>>1189660
Для стектрейса конструкция try/catch необязательнп. Его можно создавать в конструкторе эксепшена. Речь идёт о другом способе передачи эксепшона наверх, к вызывающей функции.

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

[1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0709r0.pdf

Ответы189682189694

14 мая, 15:04 86 1189681

23 Кб, 688x35821 Кб, 689x355

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

manjaro linux, openjdk-8
(На oracle java то же самое было)

Ответы189691189763

14 мая, 15:09 87 1189682

>>1189653
>>1189660
>>1189668
>>1189672
Ладно я погорячился признаю. В своем коде я предпочитаю юнионы, они отлично заменяют чекед эксепшны, но унчекд не надо убирать, пусть будутт для простых вещей.

14 мая, 15:34 88 1189691

>>1189681
Впервуюочередьябысталискатьпроблемувсистеме,скореевсегоджаватутсовершеннонепричемещевозможнопроблемазаключаетсявсамойideтакчтоябыпопробовалпереустановитьее

Ответы189748

14 мая, 15:53 89 1189694

>>1189672
Для редких ситуаций (см. Эксепшнл) эксепшны в джаве работают быстрее, чем ретурн флаги. Гугли The exceptional performance of Lil' exception.

Ответы189702

14 мая, 16:08 90 1189702

>>1189694
Потмоу я и сказал, что в жаве (как и любом языке, работающем поверх VM) оно особо и не нужно. JIT эту хрень может неплохо соптимизировать. А вот для компилируемых в нативный код языков этот вариант гораздо лучше.

Ответы189755

sage 14 мая, 17:39 91 1189748

>>1189691
Хаха, очень смешно. Шутник блядь. Зарепортила тебя, хуесос.

Ответы189763189800

14 мая, 17:54 92 1189755

>>1189702
Ну у нативных тоже не всё так просто. Вон в цпп до сих пор не решили как им работать: так и компилят стандартную либу в двух вариантах, половина либы в макросах.

Ответы189757

14 мая, 18:02 93 1189757

>>1189755
В ЦПП стандарта на такие ошибки просто не было (впрочем и сейчас нет, не факт, что документ вышу примут к C++20). Тут стоило бы вспомнить об optional, который добавили только недавно, а в стандартной библиотеке вместо него используют итераторы.

А ошибки там это вообще больная тема. Вспомнить хотя бы ублюдский math.h с наследием Си.

Ответы189824

14 мая, 18:09 94 1189763

>>1189681
>>1189748
Мне с этим тут помогут или нет?
Стоит ли идти в Linux-треды?

Ответы189841189969

14 мая, 19:32 95 1189800

>>1189748
>Зарепортила
Тяночка!!! Как же хочется тяночку! Няшиться под пледиком! Тян тян тян!

14 мая, 20:01 96 1189818

>>1186719
как тебе пришла в голову перекатываться с джс на джаву?

14 мая, 20:07 97 1189821

>>1188445
лучше на clojure

14 мая, 20:08 98 1189822

>>1188452
это задача groov7

14 мая, 20:09 99 1189824

>>1189757
Ну там многие проблемы - наследие си. Его главная проблема - там не изобрели мавен до сих пор. Только по этой причине писать на плюсах не хочется.

14 мая, 20:27 100 1189841

>>1189763
Не помогут. Пиздуй нахуй отсюда.

14 мая, 23:31 101 1189969

>>1189763
Я ебу поспрашивай красноглазых.
https://stackoverflow.com/questions/17510099/ugly-fonts-in-java-applications-on-ubuntu

Знаю что жидея по идее (привет тавтология) это вроде должна фиксить, точнее во встроенной жре у нее есть фикс.

14 мая, 23:50 102 1189983

Сап тред
1) Код типа такого (спринг) - норм или как такие вещи делают нормальные люди?

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

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

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

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

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

Ответы189998

15 мая, 00:21 103 1189998

>>1189983
> норм
Не норм. ListenableFuture костыльная хуйня без задача. Если так уж хочется - используй CompletableFuture, он намного удобнее в чейне операций. Если у тебя IO операция, или хочешь быть модным - используй rxjava или reactor.
> 2) как в коллбаке #1, убедится что транзакция которая вызывала метод doSomethingAsync() уже закоммитилась?
Чоблять? Транзакции не вызывают методы.
Если тебе нужно знать закоммитилась ли уже транзакция в рамках которой был вызван метод, то выбрасывай архитектуру компонента и переделывай заново на функциональный подход, чтобы лямбде в колбеке было вообще похуям что было до нее и что вокруг нее. Костыли с пробросом объекта мануальной транзакции монадой до добра не доведут и сделают еще хуже.
Если ты говнокодер и не можешь сделать иначе, то хотя бы вызывай асинхронщину в самом конце транзакции.

Ответы190006

15 мая, 00:26 104 1190001

А лучше после коммита.

15 мая, 00:30 105 1190006

>>1189998
> Чоблять? Транзакции не вызывают методы.
Не кипятись, писал быстро и неправильно выразился. Ты же понял о чем я.
Мне надо чтобы транзакция в контексте которой был вызван асинхроный метод была закончена на момент колбека, чтобы обновить там стейт объекта.
> то хотя бы вызывай асинхронщину в самом конце транзакции.
Вот я хотел спросить, как это правильно сделать? она не всегда завершается раньше, чем приходит коллбек.

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

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

....

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

Ответы190010190086

15 мая, 00:39 106 1190010

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

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

15 мая, 01:26 107 1190020

что думаете о j-born?

Ответы190096190132

15 мая, 09:39 108 1190086

>>1190006
Лучше тупо запустить асинхронщину после завершения метода (как уже писали выше), но если сильно приспичило, спринг позволяет вешать колбэки на завершение текущей транзакции, см. TransactionSynchronizationManager

15 мая, 10:03 109 1190096

>>1190020
Наеб на доллары тупых войтивайти.

Ответы190164

15 мая, 11:09 110 1190132

>>1190020
Норм фильмец.

15 мая, 11:39 111 1190164

>>1190096
Какую альтернативу предложите?

Ответы190449190536

15 мая, 14:41 112 1190306

У меня есть Entity класс User, у него есть поле List<UserAliases> userAliases = ..., это связь с таблицей user_aliases, маппинг настроен корректно, есть UserDaoImpl, так вот как получить из него поле userAliases?
Или сформулирую подругому - как получить из entityManager текущий объект/класс текущей сессии? или только обращаться к sessionManager? Я ньюфаг, поэтому неуверен что четко сформулировал вопрос.

Ответы190326

15 мая, 15:23 113 1190326

>>1190306
>неуверен что четко сформулировал вопрос.
Не зря сомневаешься, получился совсем бессвязный набор слов, попробуй ещё раз

15 мая, 15:34 114 1190333

Посоветуйте каких-нибудь актуальных книжек по Spring Security, в частности интересует авторизация через REST API и управление ролями/привелегиями пользователей.

Ответы190396

15 мая, 16:48 115 1190396

>>1190333
google: spring security example

15 мая, 17:38 116 1190449

>>1190164
Книги для начала. На курсах тебе предложат те же книги только ужатые раз в 50. А потом можно на всякие coursera записаться. Из отечественных говорят хекслет норм. Но опять же новичкам иам тяжело по тем же отзывам.
Ну а если спросишь меня то самый православный вариант это учить java core по книгам потом spring in action и пиздуй кодить где только можно

Ответы190475

15 мая, 18:20 117 1190475

>>1190449
>
>Книги для начала. На курсах тебе предложат те же книги только ужатые раз в 50. А потом можно на всякие coursera записаться. Из отечественных говорят хекслет норм. Но опять же новичкам иам тяжело по тем же отзывам.
>Ну а если спросишь меня то самый православный вариант это учить java core по книгам потом spring in action и пиздуй кодить где только можно

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

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

Ответы190537190729

15 мая, 18:24 118 1190478

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

15 мая, 19:41 119 1190536

>>1190164
Никакую. Пошел нахуй.

Ответы190558

15 мая, 19:44 120 1190537

>>1190475
> Лет 10 назад на заочке закончил универ по ИТ
> 30+ (33-34+ по факту)
> заочка говноадмина
> 0 коммерческого опыта разработки
Мы вам перезвоним.

Ответы190557

15 мая, 20:10 121 1190557

>>1190537
29 по факту

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

сам то где работаешь и кем? сколько лет? какой опыт?

Ответы190583

15 мая, 20:10 122 1190558

>>1190536
и вам хуй соси

Ответы190583

15 мая, 20:29 123 1190576

У меня ебанутый вопрос. А есть какие-нибудь аудиокниги по общим вопросам программирования? Парадигмы, методологии и т.п. Мне бы не хотелось ещё и в метро глаза выжигать, а вот послушать чего-нибудь можно.

Ответы190583

15 мая, 20:37 124 1190583

>>1190557
>>1190558
Зашкворчало от ненайдящего работу войтивайти.
> абсолютно нерелевантный бэкграунд
Еще и это.
>>1190576
> не хочу глаза выжигать
> хочу получать зарплату за программирование
Еще один. Хочешь быть геем, но не хочешь долбиться в жопу с горки кататься, а саночки возить не хочешь.

Ответы190584

15 мая, 20:39 125 1190584

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

Ответы190597

15 мая, 20:51 126 1190597

>>1190584
Ого, войтивайти пытается огрызаться. Но ничего, жестокая жизнь еще обгрызет.

Ответы190600

15 мая, 20:53 127 1190600

>>1190597
хуле ты резко против? на галере места мало?

Ответы190608190615

15 мая, 21:09 128 1190608

>>1190600
Это же двач, тут омежки могут себя немного людьми почувствовать. В реальной жизни же слова боятся сказать, не принимай близко к сердцу.

Ответы190609190615

15 мая, 21:11 129 1190609

>>1190608
Вкатывайся, в отрасли жуткий кадровый голод, места хватит всем.

15 мая, 21:17 130 1190613

Если кому интересно могу тут раз в 2-3 дня писать о своих успехах-неудачах с j-born

15 мая, 21:19 131 1190615

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

Ответы190620

15 мая, 21:25 132 1190620

>>1190615
Все равно этот рынок имеет один из самых высоких планок по входу. Все остальные уйдут или в php или в js.
Ну да ладно

Ответы190636

15 мая, 21:48 133 1190636

>>1190620
Глупости. Джава не особо сложнее промышленного php и современного фронтенда. Особенно на юаньском уровне.

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

Ответы190647

15 мая, 21:56 134 1190647

>>1190636
Я провел небольшой анализ рынка и понял что собственно java выше всего оплачивается, или почти

Ответы190671

15 мая, 21:56 135 1190649

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

К чему это я? Может кто подскажет интерактивное обучение по типу джавараш/codecademy/developer.alexanderklimov.ru немного теории+практика на месте+проекты
Буду признателен

Ответы190666190668

15 мая, 22:36 136 1190666

>>1190649
Много раз писалось - udacity. Для вката в джаву книги не нужны, достаточно гугла и онлайн туториалов. Особенно игнорируй SICP, который так любят тут советовать. Ну, как будешь сениором можешь прочитать на досуге.

15 мая, 22:37 137 1190668

>>1190649
Если ты не можешь осилить простую фесолофию java, то это значит, что ты тупой программирование не твое и твои мозги заточены под другую сферу деятельности.

15 мая, 22:41 138 1190671

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

Ответы190673190691

15 мая, 22:45 139 1190673

>>1190671
уговорил, ушел на фронт-энд. чао

Ответы190691

15 мая, 23:16 140 1190691

>>1190673
>>1190671
зря зря, как фронтендер говорю - вся удаленка задемпингована школьниками и индусами.

Ответы190695190710190721190835

15 мая, 23:22 141 1190695

>>1190691
Подскажи где найти? Реакт нужен.
Запостил джобу на апворке - ни одного нормального кандидата. Есть парочка нормальных с Украины, но они хотят овер $40 в час, я же могу макс $25 платить.

15 мая, 23:39 142 1190710

>>1190691
и куда следовать тогда (кроме как нахуй)?

Ответы190728

16 мая, 00:05 143 1190721

>>1190691
Если твои конкуренты - это школьники и индусы, то у тебя все не очень хорошо.

16 мая, 00:34 144 1190728

>>1190710

Роботы-ебобаты, интернет вещей, VR, вот это всё.

16 мая, 00:39 145 1190729

>>1190475
Нормальное образование не может дешево стоить. Посмотри на зарплаты среднего java сеньора и прикинь сколько будет стоить у него обучение. Так что дружище не страдай херней и прочти хотя бы базовую книгу а вопросы гугли или тут задавай

16 мая, 01:33 146 1190740

Чо делать если я слишком тупой для задачек на codewars?

16 мая, 04:04 147 1190761

Сап, ананасы. Хочу вкатиться в Java для распределенных систем. С чего начать погружение в архитектуру распределенных систем на java? Когда уместно использовать броккеры сообщений? Есть какие-то советы, каких практик стоит придерживаться, чтобы бек можно было относительно безболезненно разнести по разным нодам? Если все упирается в базу, то как масштабировать классическую sql базу, чтобы ее тоже можно было разнести по разным нодам?

Ответы190783190787

16 мая, 07:38 148 1190783

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

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

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

16 мая, 08:17 149 1190787

>>1190761

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

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

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

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

3) Балансировка сама по себе не балансируется, ебись с ней сам, перепиливаю граф тасков полностью по 4 раза в день. Я запускаю профайлер по 1 раз в день, каждое профилирование с правками занимает 24 часа.

Ответы190790190805

16 мая, 08:24 150 1190790

>>1190787
Забыл:
4) Распараллеливание работает онли на большом объеме данных, в проитивном случае будет только проигрыш на оверхеде и latency, особенно в варианте с распределенным сетевым кластером.

16 мая, 08:48 151 1190805

>>1190787

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

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

Ответы190811

16 мая, 08:58 152 1190807

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

16 мая, 09:00 153 1190808

Аноны, как сильна нужна математика для джава программиста? То что нужна, это понятноне вдаваясь в подробности, какая именно. Мне интересно, как нужна она начинающему прогеру

Ответы190810190837

16 мая, 09:03 154 1190810

>>1190808
Энтерпрайз-макаке не нужна

16 мая, 09:08 155 1190811

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

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

> Enterprise Java

16 мая, 10:15 156 1190835

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

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

диванон по знакомому, азазаз

Ответы191057191197

16 мая, 10:17 157 1190837

>>1190808
Нужна и сильно.

Ответы190964

16 мая, 13:57 158 1190964

>>1190837
какая именно?

Ответы191074

16 мая, 17:07 159 1191057

>>1190835
>в тайланд на 100 баксов в час
Хм...

16 мая, 17:55 160 1191074

>>1190964
Пиздит он, не слушай

Ответы191196191677

16 мая, 19:04 161 1191119

Аноны, появился вопрос. У меня есть отдельная функция которая подставляет данные файла к переменной. Но нужно что бы подстановка не прекращалась, и если была подставлена последняя строка, все начиналось заново. Как мне это реализовать?

Ответы191124

16 мая, 19:14 162 1191124

>>1191119
чевоблять?

Ответы191125191141

16 мая, 19:16 163 1191125

>>1191124
я не знаю как еще проще объяснить

16 мая, 19:32 164 1191134

Джаваны поясните что из этих глав можно нахуй пропустить или все же все нужны?

lлава 7. Наследование
Iлава 8. Пакеты и интерфейсы
lлава 9. Обработка исключений
Iлава 10. Ввод-вывод данных
lлава 11. Мноrопоточное программирование
lлава 12. Перечисления, автоупаковка, статический импорт и аннотации
lлава 13. Обобщения
Iлава 14. Лямбда-выражения и ссылки на методы
lлава 15. Аплеты, события и другие вопросы
lлава 16. Введение в Swing
Глава 17. Введение в JavaFX

Ответы191137

16 мая, 19:38 165 1191137

>>1191134
15-17 пропускай

Ответы191230

16 мая, 19:41 166 1191141

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

16 мая, 21:17 167 1191196

Пиздит он >>1191074 , не слушай.

Ответы191677

16 мая, 21:19 168 1191197

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

Ответы191203

16 мая, 21:29 169 1191203

>>1191197
> у всех есть такой знакомый
Вот только по факту все эти знакомые это фронтендеры, сидящие либо на долларовом фрилансе тут ебанутые, либо сидящие на долларовом фрилансе в более приятных странах.

16 мая, 22:02 170 1191230

>>1191137
А лямбды нужны? Без них то как то обходились раньше

Ответы191258191268191459

16 мая, 22:13 171 1191241

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

Можно подробнее? Кто-нибудь пробовал - как оно?

16 мая, 22:32 172 1191258

>>1191230
вцелом тоже можешь пропустить.

16 мая, 22:47 173 1191268

>>1191230
Нужны. Хуево без них было раньше

17 мая, 11:48 174 1191459

>>1191230
Лямбды сделали Джаву менее громоздкой, более удобной, добавили гибкости, которой так не хватало, убрали анальное ООП.

Свой высокоуровневый протокол поверх nio 17 мая, 16:39 175 1191579

Всем привет. Хочу написать библиотеку, работающую с высокоуровневым прикладным протоколом поверх java.nio.channels.SocketChannel. Этот протокол описывает определенные сообщения, которые клиент и сервер шлют друг другу, причем сервер может отправлять сообщения клиенту в любой момент времени, не только как ответ на запрос клиента.

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

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

Ответы191589191627191693191709191772

17 мая, 16:59 176 1191589

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

Ответы191691

17 мая, 17:28 177 1191627

>>1191579
Не создавать свой селектор это слишком, но вообще посмотри на kryonet

Ответы191691

17 мая, 17:34 178 1191632

Как лучше хранить JSON-поле сущности? Map<String, Object>? Нужно хранить отформатированный текст, созданный с помощью Draft.js.

Ответы191638191651

17 мая, 17:39 179 1191638

>>1191632
Сделай POJO модельку.

17 мая, 17:54 180 1191651

>>1191632
Делай класс, не обмазывайся мап-говном.

17 мая, 18:20 181 1191677

>>1191074
>>1191196
И кому из вас верить теперь?

17 мая, 18:48 182 1191691

>>1191589
>>1191627

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

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

Ответы191730

17 мая, 18:52 183 1191693

>>1191579
Открой для себя netty.

Ответы191698

17 мая, 18:57 184 1191698

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

Ответы191708

17 мая, 19:12 185 1191708

>>1191698
Наоборот, netty нужен, чтобы не ебаться напрямую с низкоуровневым nio

17 мая, 19:13 186 1191709

>>1191579
Напиши лучше новый фейсбук.
Чтобы понять как библиотека должна работать, нужно понять какую проблему ты решаешь. Если у тебя нет никакой проблемы, а хочется просто библиотеку, то забудь и не трать время.
Если ты не знаешь, как с ходу сделать идеальное API, то начни с любого, т.к. с первого раза не получится в 99%. Потом в процессе использования (да даже тестирования. У тебя ведь будут тесты?) поймешь ту "боль", которая возникает у пользователя.

17 мая, 19:26 187 1191715

Как писать интеграционные тесты?

Ответы191731

17 мая, 20:07 188 1191730

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

Ответы191799

17 мая, 20:09 189 1191731

>>1191715
Что ты подразумеваешь под интеграционными тестами?

Ответы191733

17 мая, 20:10 190 1191733

>>1191731
Ну типа как юнит но интеграционные.

Ответы191761

17 мая, 20:43 191 1191761

>>1191733
Ну вот и пиши типа как юнит, только на целые законченный сценарии. В чем сложность? Какого типа приложение?

Ответы191769

17 мая, 20:47 192 1191769

>>1191761
Приложение для работы с бд с фронтендом на вебе.

Ответы191787

17 мая, 20:49 193 1191772

>>1191579
Хуйней не страдай и используй thrift или protobuf, если тебе нужен бинарный протокол. Лучше все равно не напишешь, а если ты хочешь ПРОСТ, то ты не в тот язык зашел, байтоёбушек.

Ответы191799

17 мая, 21:15 194 1191787

>>1191769
Спринг?

Ответы191790

17 мая, 21:17 195 1191790

>>1191787
Да.

Ответы191819

17 мая, 21:23 196 1191799

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

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

Ответы191822191824

17 мая, 21:39 197 1191819

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

Ответы191822

17 мая, 21:43 198 1191822

>>1191799
> он там полубинарный, JSON, перед которым идет бинарный хедер.
И нахуя? Оверхед на обязательства по http протоколу хуй три пизды да нихуя по сравнению с самими джейсонами.
> смысл в том, чтобы высокоуровнево создавать сообщения, а не конвертить туда-сюда самостоятельно в/из ByteBuffer
И трифт, и протобаф умеют вполне высокоуровнево конвертить сразу в классы.

>>1191819
> объяснять тестирование спринга как какое-то откровение
Чет слегка кекнул.

Ответы191828

17 мая, 21:46 199 1191824

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

17 мая, 21:49 200 1191828

>>1191822
>Чет слегка кекнул.
Думаешь стоило просто сразу нахуй послать?

Ответы191831

17 мая, 21:54 201 1191831

>>1191828
Вариант. Или проигнорировать. Если человек даже не пытался погуглить миллиарды статей на хабре про интеграционное тестирование самого популярного кейса использования самого популярного джава фреймворка, то разжевывать ему и засовывать пережеванное в крепко сжатый рот это просто себя и свое время не уважать.

17 мая, 23:30 202 1191932

Аноны, вот я начитался советов в интернете и хочу купить книгу Effective Java (3rd Edition).
На русских сайтах я нихуя не вижу кроме доисторических изданий. На амазоне она стоит неебических 30 бачей. На пиратских сайтах чёт все ссылки битые.
Покажите долбоёбу, где её взять, не потратив две моих дневных зарплаты, пожалуйста.

Ответы191938

17 мая, 23:33 203 1191938

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

Но тем не менее, где вы покупаете книги, если хочется в бумажном виде?

Ответы191941191965

17 мая, 23:35 204 1191941

>>1191938
Я книги уже 4 года не читаю.

17 мая, 23:57 205 1191965

>>1191938
Не знаю. Не помню когда последний раз читал бумажную книгу. Лет 5 назад? Больше?

18 мая, 13:50 206 1192147

>>1186670 (OP)
Есть в треде господа, работавшие с REST-приложениями на фреймворке Stripes?

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

Как заставить это работать, чтобы приложение принимало запросы и возвращало ответы? Чтобы можно было запросить API через браузер, curl или postman.

Ответы192189192367

18 мая, 13:55 207 1192151

Почему UserDetailsService даёт только метод loadUserByUsername и не даёт метода loadUserByUserId? Ведь у пользователя может и не быть юзернейма, например, если он зарегался через сторонний сервис (например, ВК или Гугл), а id будет всегда.
И если я на самом деле буду передавать в loadUserByUsername id пользователя (буду наёбывать Spring Security!), это нормально или плохо?

Ответы192367192587

8 Кб, 200x101
18 мая, 14:01 208 1192155

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

Ответы192367

18 мая, 15:22 209 1192189

>>1192147
Ты археолог?

Ответы192190

18 мая, 15:24 210 1192190

>>1192189
На чем это делается в наши дни?

Ответы192338

18 мая, 19:41 211 1192338

>>1192190
Spring Boot, если для ленивых, а так вариантов - масса.

18 мая, 20:23 212 1192367

>>1192147
Ну как там в 2008?
>>1192151
Даже обоссывать лень. Такую хуйню написал.
>>1192155
Телепаты джаваскрипта в отпуске.

18 мая, 20:24 213 1192368

Нормально ли начинать учить яву с нуля по Шилдту?

Ответы192408

18 мая, 21:52 214 1192408

>>1192368
http://developer.alexanderklimov.ru/android/java/java.php
Я по этому сайту начал, вроде норм.

18 мая, 23:27 215 1192451

Поясните за спринг бута. Разница между 2.0.0+ и 1.Х+ версиями только в смене томкэта на хиккари? Проект с 1,5 не работает на 2,0.
Есть смысл ковырять версии до 2 или уже все на нее переехали?

Ответы192474192564

168 Кб, webm,
300x246, 0:04
19 мая, 00:40 216 1192474

>>1192451

Ответы192475

19 мая, 00:43 217 1192475

>>1192474
ЯННП

19 мая, 09:39 218 1192564

>>1192451
Разница в переезде на пятый спринг, восьмую жаву, вот это вот всё.

Ответы192606

19 мая, 09:59 219 1192568

>>1186670 (OP)
Сап, джава-мэны. Написал такой код для обработки запросов: https://ideone.com/z7VioE

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

Ответы192592192601192631192651

19 мая, 10:57 220 1192587

>>1192151
Кароч я понял, тут username это необязательно тот юзернейм, который используется при логине в паре с паролем. Поэтому буду его генерировать каким-нибудь образом (например, user_id[id юзера]_[рандомная строка]), а для логина через имя пользователя и пароль буду использовать другое поле.

19 мая, 11:29 221 1192592

>>1192568
От увеличения какого кода ты хочешь избавиться?
Добавь отдельный файл с маппингом запросов на методы контроллера. Или возьми любой mvc фреймворк и не изобретай велосипед.

Ответы192603

19 мая, 12:03 222 1192601

>>1192568
Откуда get post методы взялись? ЯННП.

19 мая, 12:08 223 1192603

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

19 мая, 12:26 224 1192606

>>1192564
Я надеюсь в реальной работе все уже давно на 2.0?
Пробую перекатываться из С# в спринг.

Ответы192629192783

19 мая, 13:04 225 1192629

>>1192606
Нет.
Оставайся на месте.

Ответы192663192666

19 мая, 13:05 226 1192631

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

Ответы192666192842

19 мая, 13:36 227 1192651

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

Ответы192666

19 мая, 13:52 228 1192663

>>1192629
Что за буйный шизик. Почти забыл что я на дваче.

sage 19 мая, 13:56 229 1192666

>>1192629
>>1192631
>>1192651
Когда сказать по делу нечего, а кукарекнуть хочется.

Ответы192668192842

19 мая, 14:03 230 1192668

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

19 мая, 17:55 231 1192783

>>1192606
Он релизнулся полтора месяца назад. Spring Cloud соответствующей версии ещё не релизнулся. Как думаешь?

Ответы192794192848

19 мая, 18:24 232 1192794

>>1192783
То есть одна версия еще недостаточно устарела, а другая не доработана. Заебись.

Ответы192795192796

19 мая, 18:25 233 1192795

>>1192794
В смысле? Что тебе не нравится в 1.х версии?

Ответы192796192827

19 мая, 18:26 234 1192796

>>1192794
>>1192795
Ну и они там не то чтобы делали breaking changes, так что хз о чем ты беспокоишься.

sage 19 мая, 18:27 235 1192798

Что лучше для REST апи один большой реквест или много маленьких?

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

или

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

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

Ответы192814192819192825192848

19 мая, 18:44 236 1192814

>>1192798
отдаёшь html страницу. Для кого html делали?

Ответы192816192848

19 мая, 18:46 237 1192816

>>1192814
Андроиду тоже хтмл передавать?

19 мая, 18:53 238 1192819

>>1192798
/api/user/{id}/photo
Хули тут думать?

Ответы192820

19 мая, 18:54 239 1192820

>>1192819
>Хули тут думать?
Оно и видно, что ты не подумал нихуя.

Ответы192822

19 мая, 18:56 240 1192822

>>1192820
Зато ты такой охуенный умник высрался.

Ответы192842

19 мая, 18:56 241 1192825

>>1192798
Описалово не полное у тебя.
Если брать в пример соцсеть со страничкой, сообщениями, оповещениями и т.п., то тут нужно какую-то середину искать, не отсылая 500 запросов на каждую хуйню, но и не передавая огромные пакеты данных. Я бы отдавал страницу с фото, например, а сообщения и оповещения отдельным запросом забирал, тебе ведь их в любом случае отделить надо.
Глянь вообще апи разных сетей, как они это сделали.

Ответы192828

19 мая, 19:03 242 1192827

>>1192795
Ну вообще то там солидная разница в конфигурации.

19 мая, 19:05 243 1192828

>>1192825
>не отсылая 500 запросов
Только что смотрел Фейсбук который буквально делает 250 запросов чтобы загрузить страничку группы.

Ответы192829192842

19 мая, 19:06 244 1192829

>>1192828
Зачем ты смотрел говно?

Ответы192842

19 мая, 19:31 245 1192842

>>1192829
>>1192822
>>1192666
>>1192631
Кек, это один и тот же токсичный ребенок?

>>1192828
Глянь ещё что-нибудь, фб слишком большой и старый.

19 мая, 19:41 246 1192848

>>1192783
Финчли уже релиз кандидат, тащемта.

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

Ответы192850

19 мая, 19:43 247 1192850

>>1192848
>Эх, сейчас бы в 20!8 рендерить HTML на сервере.
придумывать себе проблемы, а потом героически с ними бороться

Ответы192852

19 мая, 19:46 248 1192852

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

Это ставит на тебе крест.

19 мая, 20:15 249 1192876

Где можно почитать про конфигурцию спринг секьюрити на буте 2,0?
Гугл выдает старье 1,5+.

Ответы192884

19 мая, 20:30 250 1192884

>>1192876
https://docs.spring.io/spring-security/site/docs/5.0.5.RELEASE/reference/htmlsingle/

Ответы192901

19 мая, 20:46 251 1192901

>>1192884
Спасибо. Мне просто интересно почему гугл выдавал какие то говнобложики вместо офф документации.

19 мая, 21:29 252 1192912

>Запускаю идею
>Обновление политики безопасности, пожалуйста прочтите
>Мы собираем ваши юзернеймы, пароли, телефоны, куки и ИНН
>Принять/Отказаться и выйти
Как же я блядь это обожаю.

Ответы193072

20 мая, 09:46 253 1193072

>>1192912
Ну это наверно Ultimate?

Ответы193238

20 мая, 12:23 254 1193128

Сейчас учу Java. В какой момент начинать осваивать SQL?

Ответы193216

65 Кб, 684x619
20 мая, 12:45 255 1193148

Пикрелейтед пример из Спринг ин экшн. В верхнем методе jsp рендерит поля из объекта в "spitter" в модели, в нижнем при проверке ошибок мы объект в модели не сохраняем, откуда спринг берет значения неправильно введенных полей? И вообще нахера эти теги нужны, в чем разница с обычным EL?

Ответы193199193245

20 мая, 13:25 256 1193199

>>1193148
Для начала, ты же понимаешь, что вся эта jsp-херня не нужна, ее можно скипать?

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

>И вообще нахера эти теги нужны
Чтобы вот это самое modelAttribute="spitter" писать, а потом в инпутах только path="firstname", типа форму целиком на объект байндишь. Иначе надо рисовать обычные html-инпуты с конкретным value; можно, действительно, и так, без специальных тэгов.

Ответы193261

20 мая, 13:32 257 1193216

>>1193128
Ни в какой. Бросай вообще.

Ответы193240

20 мая, 13:41 258 1193238

>>1193072
Да, и что? В бесплатной версии тем более все собирают.

Ответы193257

20 мая, 13:42 259 1193240

>>1193216
Аргументируй

20 мая, 13:43 260 1193245

>>1193148
Зачем тебе аннотация @Valid?

Ответы193261

20 мая, 13:48 261 1193257

>>1193238
Там можно отключить отправку данных

20 мая, 13:49 262 1193261

>>1193199
На время какого блин рендеринга? Аттрибуты модели не сохраняются между запросами
. Я выяснил, что в нижнем методе объект (который с @Valid) уже находится в модели, откуда он там? Вот в чем вопрос

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

Ответы193269193340

20 мая, 13:54 263 1193269

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

Ответы193276

20 мая, 13:57 264 1193276

>>1193269
проверяет объект валидатором, если тебе угодно, или что не так?

Ответы193299

20 мая, 14:09 265 1193299

>>1193276
Ну если валидация настроена, то все в порядке.

20 мая, 14:33 266 1193335

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

Ответы193339

20 мая, 14:40 267 1193339

>>1193335
Открываешь исходники спринга и обмазываешься.

20 мая, 14:40 268 1193340

>>1193261
>На время какого блин рендеринга? Аттрибуты модели не сохраняются между запросами
У тебя один запрос, POST на /register, в ответ на него сервер отправляет ту же самую html-страницу (return "registerForm"), во время ее рендеринга в модели лежит объект, который спринг туда положил в начале обработки этого же запроса.

Ответы193351

20 мая, 15:01 269 1193351

>>1193340
Я понимаю, что он в модели, но я не понял, почему спринг его туда самостоятельно добавил.
Но судя по ответам отсюда https://stackoverflow.com/questions/8688135/modelattribute-annotation-when-to-use-it/26916920#26916920 объекты автоматически добавляются в модель, тогда собственно все понятно

20 мая, 15:31 270 1193370

Java-господа помогите. Есть класс, конструктор которого принимает строку. После в том классе нужно разделить строку методом split(), но возникает ошибка
java.lang.NullPointerException
как фиксить?

Ответы193372193491

20 мая, 15:32 271 1193372

>>1193370
Добавить обработку пустой строки.

Ответы193390

20 мая, 15:49 272 1193390

>>1193372
Но строка же не пустая, или я тебя не правильно понял?

Ответы193393193583

20 мая, 15:55 273 1193393

>>1193390
У тебя где-то строка становится равна null. Вот проверку на null и надо добавить. Желательно найти причину почему в функцию передаётся null вместо строки. Так что отладчик в руки и вперёд.

20 мая, 18:25 274 1193491

>>1193370
Ты ведь не поленился и загуглил, в каких случаях получается такой эксепшен?

20 мая, 19:27 275 1193536

Тупой вопрос тайм
В чем разница в спринге между использованием DAO, Сервисами и ЖПА/XYZрепозиториями? По сути это же одна и та же хуйня, не?

Ответы193561

20 мая, 19:55 276 1193561

>>1193536
Не.

20 мая, 20:16 277 1193583

>>1193390
Телепат из отпуска заглянул. У тебя передается null вместо пустой строки, т.е. "". В Жабе это разные вещи.

20 мая, 22:37 278 1193693

шатает

Ответы193696

20 мая, 22:44 279 1193696

>>1193693
https://pastebin.com/R7tcwywv

20 мая, 22:58 280 1193699

Хочу сделать AfterReturning-эдвайс у методов интерфейса, который экстендит JpaRepository. Эти методы помечены моей аннотацией. Будет ли этот эдвайс работать? Просто ведь Спринг подсовывает свой прокси и я боюсь, что мои аннотации "потеряются"/не будут видны эдвайсу.

Ответы193702

20 мая, 22:59 281 1193702

>>1193699
https://www.youtube.com/watch?v=BmBr5diz8WA

20 мая, 23:14 282 1193712

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

Ответы193713

20 мая, 23:19 283 1193713

>>1193712
>просто с сахарком
Затем и нужны. Как и лямбды.

Ответы193720

20 мая, 23:38 284 1193720

>>1193713
> лямбды
> сахар

Ебать ты долбоеб.

Ответы193834

21 мая, 08:03 285 1193834

>>1193720
Кыш, ребенок.

Ответы193855

21 мая, 10:08 286 1193855

>>1193834
Сдрисни, войтивайти.

21 мая, 10:46 287 1193885

Нормально ли передавать PageRequest в сервис-слой из контроллера или нет?

Ответы193953

21 мая, 12:53 288 1193953

>>1193885
Ну как бы методы в репозитории, которые отдают данные постранично, принимают параметр Pageable.

21 мая, 12:54 289 1193956

Поменял через рефлексию значение Boolean.TRUE на false, мой мир пошатнулся.

Ответы194040

21 мая, 14:37 290 1194040

>>1193956
Можешь еще изгавнякать кэшы оберток над примитивами.

21 мая, 16:17 291 1194126

>>1186670 (OP)
Анончик. Помоги, пожалуйста, ответить на несколько вопросов.

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

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

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

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

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

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

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

6. Запретить наследование нельзя

Ответы194154195558

21 мая, 16:46 292 1194154

>>1194126

2.
5.

21 мая, 18:11 293 1194197

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

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

спс

Ответы194296194299197133

21 мая, 19:18 294 1194233

87 Кб, 1145x59324 Кб, 354x386

Блять, мне так стыдно за NPE, но я не понимаю. У меня есть List<HashMap<String, String>> и я тупо хочу его перебрать. Но суть в том, что у меня жсон на пикриле 2. Я просто получаю его с сервера, ему не нравится то, что сначала идет 0, а потом 2? Если мне приходит ответ аля [0, null, 2, 3] то почему trimToSize не помогает?

Ответы194237194279

21 мая, 19:20 295 1194237

>>1194233
А, ну я сам ответил на свой вопрос) кек. Какой я догадливый:
removeAll(Collections.singleton(null)) спасло если шо

Ответы194252

21 мая, 19:47 296 1194252

>>1194237
>removeAll(Collections.singleton(null))
Как же хочется лямбдочку... Но понятно, что это android

Ответы194255

10 Кб, 632x95
21 мая, 19:55 297 1194255

>>1194252
Почему все так уверены, что лямб нет?

Ответы194297

21 мая, 20:54 298 1194279

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

21 мая, 21:24 299 1194296

>>1194197

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

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

Ответы194772197134197135

21 мая, 21:25 300 1194297

>>1194255

потому что ты их не использовал

Ответы194305

21 мая, 21:27 301 1194299

>>1194197
Нахуй иди.

Ответы194772

21 мая, 21:38 302 1194305

>>1194297
Я знаю лямбды только на примитивном уровне и вообще далек от версии 8 и выше. Пока андройд на 8-ой сидит и меня все устраивает, да и код других людей вполне читаем.
И вообще я удивляюсь тому, как джава стартанула до 10 версии. Совсем они там ебу дали я смотрю.

Ответы194308

21 мая, 21:42 303 1194308

>>1194305
> Пока андройд на 8-ой сидит и меня все устраивает
Чоблять? В ведро восьмую джаву завезли только в седьмой версии ведра. 99% устройств на предыдущих версиях.

Ответы194316

21 мая, 21:48 304 1194316

>>1194308
че блять? прописываешь compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}

и идешь нахуй.

Ответы194320

21 мая, 21:54 305 1194320

>>1194316
> java.util.streamAPI level 24 or higher.
> java.lang.FunctionalInterfaceAPI level 24 or higher.
> java.util.functionAPI level 24 or higher.

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

21 мая, 23:06 306 1194394

Аноны, выручайте.
Class A{ public void print(){} }
Class B extends A{ public void print(){} }
Class C extends B{ public void print(){} }

A a = new C();
a.print();
Здесь происходит восходящее преобразование и позднее связывание метода, я прав?

Ответы194402194420

sage 21 мая, 23:24 307 1194402

>>1194394
Здесь происходит вызов виртуальной функции, а у тебя какой-то новояз. Студент чтоле?

Ответы194405194409

21 мая, 23:29 308 1194405

>>1194402
> вызов виртуальной функции
Чегоблять.

Ответы194410

21 мая, 23:34 309 1194409

>>1194402
>>1194402
У Эккеля читал в разделе про полиморфизм.

sage 21 мая, 23:34 310 1194410

>>1194405
Впрочем да, в жаве почти все функции (кроме тех, что отмечены private или final) являются виртуальными.

Ответы194414

21 мая, 23:38 311 1194414

>>1194410
Чегоблять. В джаве нет виртуальных функций.

Ответы194417194418

21 мая, 23:40 312 1194417

>>1194414
Хотя ладно, есть, я обосрался.

sage 21 мая, 23:41 313 1194418

>>1194414
Есть они там, просто тебе не надо писать virtual, чтобы получить определённое поведение. Они там все по-умолчанию виртуальные, чтоб ынтерпрайс-макаки не заморачивались с виртуальными деструкторами и прочим говном из C++-мирка.

Ответы194422

21 мая, 23:43 314 1194420

>>1194394
Если jvm и компилятор могут доказать, что a всегда будет инстансом C, то хуй знает что там будет на самом деле.

21 мая, 23:47 315 1194422

>>1194418
в примере есть позднее связывание(late binding) и восходящее преобразование типов (upcasting)? все методы кроме статических, финальных и прайвет связываются во время выполнения, и для ускорения их записывают в таблицу методов, правильно?

22 мая, 10:26 316 1194570

>>1186670 (OP)
Меня заставили ковырять опердень. Есть прототипы на го и джаве. Суть такова, что надо написать рест, который будет позволять заливать файлы большого размера и файлы, помещающиеся целиком в тело запроса пост, добавлять их в GridFS и запрашивать метаинформацию о файлах. Есть рабочий прототип, но мне не нравится, что пришлось писать свое локальное файловое хранилище. Есть библиотека, которая позволяет развернуть локальное хранилище, создавать файлы, удалять и добавлять к ним байты по имени файла или по его метаинформации (например, идентификатору)?

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

Ответы194580194587

22 мая, 10:45 317 1194580

>>1194570
Система хранения контента. Почти классическая тащемта задача с множеством подводных камней.

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

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

Ответы194588194955

22 мая, 11:15 318 1194587

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

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

22 мая, 11:15 319 1194588

>>1194580
>BM Filenet или юзай какой-нибудь бесплатный owncloud и используй их
Говно. Нужно хранить файлы локально, а потом, если выполняются некоторые условия, перегонять их в GridFS. Есть локальные системы управления контентом?

22 мая, 15:27 320 1194772

>>1194296
Спс
>>1194299
Сам иди

12 Кб, 522x371
22 мая, 17:24 321 1194840

Пикрил, объясните для чего здесь оператор return и почему именно val?

Ответы194842

22 мая, 17:27 322 1194842

>>1194840
> объясните для чего здесь оператор return
Потому что возвращается значение из функции.
> и почему именно val
Потому что так эту переменную назвали.

А вообще попробуй написать этот же код в редакторе с подсветкой кода (или IDE) и подобыне вопросы сразу уйдут.

Ответы194844201090

22 мая, 17:34 323 1194844

>>1194842
Да бля хз почему но именно на этом ебучем return пиздец туплю. Ни с чем до этого момента проблем не возникло. Вот нихуя не могу понять.

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

22 мая, 19:27 324 1194955

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

Ответы195009

22 мая, 20:17 325 1194984

https://www.udemy.com/java-tutorial/learn/v4/content

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

Ответы194988

22 мая, 20:19 326 1194988

>>1194984
>годноты для нюфань
>На инглише

Ответы194994

22 мая, 20:23 327 1194994

>>1194988
Ну бля там интермидиэт уровня хватит. Еще и сабы завезли.

22 мая, 20:38 328 1195009

>>1194955
> А ты не выебывайся, а дай совет по инструментам и архитектуре.
Заплати за консалтинг - дам на понятном тебе языке.
> Мне это задание дали
Ну и делай.

Ответы195018

22 мая, 20:48 329 1195018

>>1195009
Токсичный ребенок, ты вообще из этого треда не вылезаешь, что ли?

22 мая, 21:14 330 1195034

пока обучаюсь по книге Сьерра и Бейтса. код набираю в emacs. какой ide пользуетесь и что посоветуете?

Ответы195043195564

22 мая, 21:33 331 1195043

>>1195034
Читай спецификацию языка, она как затычка для жопы. Если ты ее не знаешь, то тебя ей будут тыкать.

23 мая, 16:59 332 1195547

Это нормально, что InputStream для skip() читает пропускаемые байты? Мне, например, в 8Гб файле нужно сначала прочитать несколько заголовков по 8 байт - это мне стриму придется все 8Гб через буфер прогнать? Эта хуйня еще и лимит на пропуск имеет.
Может есть какой-то другой способ быстро и эффективно прочитать только нужные байты?

И это не считая того, что байты в строку переводятся через new String() и пришлось свой метод перевода байтов в uint32 (long в жабе, охуеть) писать

Ответы195562

23 мая, 17:11 333 1195558

>>1194126
Добавить final. Так ты запрещаешь иметь подклассы основному классу.

23 мая, 17:13 334 1195562

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

23 мая, 17:14 335 1195564

>>1195034
Idea. По-мне, самая удобная ide. Все, что тебе нужно идёт из коробки. Только немного глуповатый "Jar of Web". На том же pycharm работает лучше.

23 мая, 18:15 336 1195603

>>1186670 (OP)
Поясните нуфагу за лямбда и функциональные интерфейсы. Их часто используют? А ссылки на методы вообще нахуя нужны?

Ответы195613

23 мая, 18:31 337 1195613

>>1195603

https://www.youtube.com/watch?v=Gsfmfeb2XW8

23 мая, 19:27 338 1195658

Привет ан он.Помоги реализовать всплывающие кнопки.Суть такова.Я пытаюсь создать две jpanel так чтобы одна была прозрачный.На одну панель вывожу изображение через jlabel.А на прозрачную панель хочу вывести кнопки.Чтобы они появлялись над изображением только когда я навожу туда мышку.Мне посоветовали переопределить класс jpanel но это не помогает.
JPanel otherPanel = new JPanel( new BorderLayout() ) {
@Override
public void paintComponent( Graphics g ) {
super.paintComponent( g );

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

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

g2d.dispose();
}
}; otherPanel.setOpaque( false );

9 Кб, 518x134
24 мая, 19:48 339 1196234

В общем, делаю на спринге каталог товаров.
Хранится в базе данных. Задача: нужно чтобы при нажатии на кнопку edit вместо ссылки с названием появлялся input.
Как лучше всего реализовать?

Ответы196238

24 мая, 19:58 340 1196238

>>1196234
На js

25 мая, 10:12 341 1196526

>>1188102
Очень просто фиксится. не использовать новую версию
Всё равно 90% говна написали ещё 20 лет назад.

25 мая, 11:02 342 1196557

Сап двач. Есть autocloseable класс в нём метод который с помощью bufferedreader читает из файла без try with resource и я не закрываю его в этом методе. Если я помещу объект этого класс в try with resource и вызову этот метод то ридер закроется?

Ответы196559

25 мая, 11:05 343 1196559

>>1196557
Можешь сунуть bufferedreader в поле класса и в close методе класса закрывать его. Тогда можешь в блоке инициализации try with resources хуячить свой autocloseable класс - по выходу из блока вызовется close метод твоего класса. А там что напишешь в методе.

Ответы196560

25 мая, 11:08 344 1196560

>>1196559
Понял принял спасибо

Ответы196561

11 Кб, 524x480
25 мая, 11:09 345 1196561

>>1196560
Пшел нахуй.

25 мая, 15:53 346 1196715

Где лучше проводить конвертацию сущностей в DTO и обратно — в контроллерах или сервисах?

Ответы196749

25 мая, 16:47 347 1196749

>>1196715
В сервисе офк.

26 мая, 14:07 348 1197133

>>1194197
Стажирвался сначала месяцев 5, но можно было и быстрее, если бы времени больше уделял.
Далее 3 месяца испытательног сроки с зп в $250, после этого $500, так уже работаю чуть меньше года, скоро обещают поднять

26 мая, 14:09 349 1197134

>>1194296
на апворк именно с джавой хочешь войти?

13 Кб, 320x331
26 мая, 14:11 350 1197135

>>1194296
> апворк
> джава

27 мая, 07:40 351 1197519

>>1188102
Пиздец. Хорошо, что я на восьмёрке.

42 Кб, 663x517
27 мая, 10:19 352 1197572

Уважаемые Java-господа, поясните. Почему в последней строке невозможно выполнить присваивание? Ведь Student - это Human. Можно ли, не меняя тип переменной в строке (1), все-таки выполнить присваивание в (2)? Если эта проблема имеет известное название - скиньте, загуглю.

Ответы197573197591197652

27 мая, 10:23 353 1197573

>>1197572
Вставь дженерики вида ? extends ...

27 мая, 11:00 354 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

Ответы197612197685

27 мая, 11:33 355 1197612

>>1197591
>https://dev.to/rosstate/java-is-unsound-the-industry-perspective
Жабу год от года хоронят, но год от года выясняется, что альтернатив-то и нет нихуя, кек.

Ответы197685197698197706198124

27 мая, 13:02 356 1197652

>>1197572
это называется generic invariance
Обычные массивы же covariant, поэтому с ними бы такой финт сделать можно было бы

27 мая, 14:25 357 1197685

>>1197612
Удваиваю, по ссылке от этого >>1197591 теоретическое дрочево той же степени полезности, что и бага найденная в реализации сортировки (timsort). Я сам топлю за формальные методы, но нужно остановиться и понять, где, блядь, академическая поебота оправдывающаяся за гранты (со всей демагогией в аргументации) и где промышленное программирование с перспективами.

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

27 мая, 14:29 358 1197687

1

27 мая, 15:01 359 1197698

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

Ответы197702197719

27 мая, 15:07 360 1197702

>>1197698
Как там обратная совместимость поживает? Готовы переписывать всё под новую скалу? Вам создатель языка в рот уже который раз ссыт таким образом? Третий?

1,1 Мб, 2400x2400
27 мая, 15:18 361 1197706

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

Ответы197718

27 мая, 15:31 362 1197718

>>1197706
>Котлин

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

Ответы197720197724

27 мая, 15:33 363 1197719

>>1197698
Скала - это не альтернатива.
Это просто годный язык.
Сам по себе.

27 мая, 15:33 364 1197720

>>1197718
>грязных хаков
Каких?

Ответы197897

1,1 Мб, 2400x2400
27 мая, 15:38 365 1197724

>>1197718

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

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

Ответы197737

27 мая, 16:01 366 1197737

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

Что ж ты делаешь, содомит.

27 мая, 19:25 367 1197897

>>1197720
грязных

27 мая, 20:00 368 1197913

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

Снова выхожу на связь

Ответы197917197954

27 мая, 20:06 369 1197917

>>1197913
>наследовать свой класс
наследование противоречит ООП. Создавай utility-класс, а в нем статический метод long readUIntLE(RandomAccessFile)

Ответы197920197935

27 мая, 20:11 370 1197920

>>1197917
Но ведь BufferedInputStream extends FilterInputStream
А
FilterInputStream extends InputStream

Ответы197922

27 мая, 20:12 371 1197922

>>1197920
Декоратору можно.

Ответы197935

27 мая, 20:32 372 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 членом, а в конструкторе инициализирую его. Методами класса буду обращаться к файлу и возвращать что нужно.

Ответы197945

27 мая, 20:48 373 1197945

>>1197935

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

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

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

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

Ответы197946

27 мая, 20:49 374 1197946

>>1197945
> Заодно implement-ь те же интерфейсы, что и RandomAccessFile.
Это и называется декоратор.

Ответы197949

27 мая, 20:55 375 1197949

>>1197946

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

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

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

ну и статический метод getInstance для подбора верной реализации для текущей платформы

Ответы197958

27 мая, 20:58 376 1197954

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

Впрочем да, о чём это я. В жаве же даже нет беззнаковых типов, а я тут о байтах что-то говорю.

Ответы197957197958197964197970

27 мая, 21:00 377 1197957

>>1197954
Даже в си эта экономия спичек на беззнаковости не оправдана

27 мая, 21:03 378 1197958

>>1197954

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

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

Конкретно эту хрень >>1197949 мне пришлось ввести исключительно потому, что локальный IPC-сервер написан на голых сях, а авторы не озаботились кроссплатформенностью его протокола (на разных процессорах разный протокол, охуеть). Т.о. если в Java™ и встает вопрос об endianness, то только из-за косяков низкоуровневых товарищей.

27 мая, 21:14 379 1197964

>>1197954
Мне не тяжело, просто есть подводные камни. В 1.8+ вроде как завезли всякие облегчающие штуки.
Смотрю в код читалки на С# - там все гораздо проще. На руби код так вообще пиздато выглядит.

27 мая, 21:22 380 1197970

>>1197954
>Неужели на жаве так тяжело байтоёбить?
Нет, не тяжело.
Постоянно это делаю вообще без проблем.

27 мая, 21:26 381 1197973

Анонче, что можешь посоветовать из литературы/статей о работе жвм? Хочется больше понимать саму платформу.

Ответы197980

27 мая, 21:49 382 1197980

>>1197973
http://www.allitebooks.com/java-performance-the-definitive-guide/

Ну и очевидную Java Virtual Machine Specification.

27 мая, 22:02 383 1197984

Вот только понять не могу почему что жава, что c# читают/записывают long как int << 32 + int

Ответы198159

28 мая, 07:11 384 1198124

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

Ответы198137198138198436

28 мая, 08:27 385 1198137

>>1198124
Эх, святая толстота

28 мая, 08:34 386 1198138

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

Лол, сохрани себе это - сможешь постить и через 15 лет.
Именно это и слышно каждый год.

Ответы198152

28 мая, 09:50 387 1198152

>>1198138
Что-то подобное помню в начале 2K было. Только упоминалась еще, что мультиязыковость .Net, но и здесь убийцы обосрались.

Ответы198419

28 мая, 10:08 388 1198159

>>1197984
Обход беззнаковости. Читаем два раза по 32 бита и суем в 64, так что бы ничего не проебалось.

Ответы198382

sage 28 мая, 17:34 389 1198382

>>1198159
Выглядит как грязный хак.

Ответы198512

28 мая, 18:35 390 1198419

>>1198152
> помню в начале 2K было
А теперь сравни жабу тогда и жабу сейчас.
В начале 2K и вплоть до выхода 1.5 ява была тем ещё дерьмом общим с современной явой имеющим только подмножество синтаксиса. Что характерно для явы, она уже тогда отставала от плюсов.
И так же как сейчас помирает java pre-1.8, java 1.4 уже сдохла и библиотек, поддерживающих её, кот наплакал, а жопосед поколения 1.4 хуй что разберёт в 1.8. Как и жопосед поколения 1.8 возненавидит код эпохи 1.4.

Ответы198428

28 мая, 18:57 391 1198428

>>1198419
sed -e s/java 1.4/кресты 98/ -e s/java 1.8/кресты 11/.

Ответы198455

28 мая, 19:09 392 1198436

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

Эй, бротан-наротан, подготовил тебе боевую пасту.

28 мая, 20:10 393 1198452

>>1188102
Работает, просто теперь они отдельно подрубаются, а не сразу идут.

28 мая, 20:15 394 1198455

>>1198428
Есть такое. Только вот видишь в чём разница - c++11 не просто новая версия языка, а вообще нахуй новый язык. А в java 1.8 в качестве языковых фич мы получили стримы, лямбды и обвязки для удобного их использования, а также возможность протащить в язык var через 5 лет. Стримы охуенны, к ним вопросов нет. И ...всё? Охуенно, чё, дайте две! А теперь мотаем на 3 года вперёд и получаем Map.of - это ж вообще нельзя воспринимать иначе чем как толстый троллинг. Да я блять не удивлюсь если они джепы на одобрение Кубо шлют перед реализацией.

Ответы198545

28 мая, 21:57 395 1198512

>>1198382
Нормально выглядит. Решился байты ебать - не плачь.

28 мая, 22:18 396 1198523

28 Кб, 891x20840 Кб, 1036x2383 Кб, 540x151

Spring MVC. Почему поля пустые? По задумке, при нажатии кнопки edit открывается новый view и там уже заполнены поля предметом, который был выбран.
инб4: как можно кодить на чёрном фоне

28 мая, 22:33 397 1198529

>>1188102
ПИЗДЕЖ
И
З
Д
Е
Ж

Ответы198620198622

28 мая, 22:50 398 1198545

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

Запилили уже.

Ответы198646

29 мая, 03:49 399 1198620

>>1198529

это рли так, даже спринг бут отдельную обнову выкатил

29 мая, 04:01 400 1198622

>>1198529
Несколько библиотек поотваливались из-за неправильного определения версии. 10 они воспринимали как 1. https://github.com/rzwitserloot/lombok/commit/9ecfe2302f3cd1d654196e072cce0b334f21ffd9

29 мая, 05:12 401 1198628

Как же я рад, что не поддался на хайпоговно типа руби, когда вкатывался в джаву 4 года назад. Да, было тяжело с Java 7, учитывая, что до этого работал с C# и его сладким LINQ, а тут все ручками.

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

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

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

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

Ответы198649

sage 29 мая, 07:33 402 1198646

>>1198545
Молодец, возьми пирожок. А теперь перечитай что там написано.

Ответы198669

29 мая, 08:08 403 1198649

>>1198628
Это очевидно любому человеку с более-менее нормальным кругозором.

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

А Говно потеряло для меня всякий авторитет, когда его разработчики, взяв GC коллектор 40 летней давности, начали орать что ГС бистрее чим в джави, что радостные фанбои подхватили, не понимая, какой ценой в их производительном го

Ответы198665

29 мая, 08:24 404 1198653

>>1186897
electron
привет майкрософту с их новым скайпом. ненавижу

29 мая, 09:06 405 1198665

>>1198649
А какой ценой?

мимо

Ответы198709

29 мая, 09:13 406 1198669

>>1198646
Там ни о чем. Если бы ты работал в компании с собственностью кодовой базы под 100К человеко-лет, то понял бы, как языковые перделки уходят на второй план.

Ответы198743

29 мая, 10:36 407 1198709

>>1198665
Меньшая пропускная способность.

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

В альтернативных jvm есть альтернативные реализации сборщиков, например С4 в azul jvm, разумеется не бесплатно, производительность у этой реализации хуже.

Ответы199048

29 мая, 10:39 408 1198711

>>1186670 (OP)
Стоит ли учить джаву для того чтобы скатится в мобильный игрострой?
Сколько вообще нужно минимум потратить времени на учебу чтобы соответствовать джуну без опыта работы?

Ответы198721198986

29 мая, 10:54 409 1198721

>>1198711
Не стоит.
> игры
> джава

Ответы198722198723

29 мая, 10:56 410 1198722

>>1198721
Ну я вообще ньюфаг. Просто мне всегда казалось что игры на андроид пишут на джаве.

29 мая, 10:56 411 1198723

>>1198721
Уже забыл времена ИК-портов и J2ME игр? Или ты их попросту не застал?

Ответы198729

29 мая, 11:09 412 1198729

>>1198723
> времена ИК-портов и J2ME игр
На календарь посмотри, долбоеб. Java ME использовать собрался.

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

Ответы198730

29 мая, 11:11 413 1198730

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

> > > игры
> > > джава

29 мая, 11:37 414 1198743

>>1198669
> 100k человеколет
> 2000 человек в течении 50 лет
Ты совсем там ебанулся человекоднями однострочники считать? Ой прости, какие однострочники, ведь в жабе до Stream Api одной строчкой можно было сделать ровно нихуя только поебаться по аннотациями.

29 мая, 15:25 415 1198871

Кто-нибудь в хешмапе переопределяет hash функцию, или в основном все пользуются встроенной в Object?

Ответы198881198899

29 мая, 15:44 416 1198881

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

Ответы198895

29 мая, 15:59 417 1198895

>>1198881
Какая разница как? Я имею в виду использует кто-то override хеш функции на практике или нет?

Ответы199050199079

29 мая, 16:16 418 1198899

>>1198871
Ты не в ту сторону воюешь, упоротый.

Ответы198923

29 мая, 16:53 419 1198923

>>1198899
В каком смысле? Если вы тут дохуя сеньеры - объяснили бы нубу что не так. В том что я сказал что переопределять в хешмапе, а не в объекте? Из за этой неточности вы тут распетушитились?

Ответы198987

29 мая, 18:56 420 1198986

>>1198711
Не стоит. Джава не для игр, серьёзно. А если линала не знаешь, то и ты не для игр.

29 мая, 18:57 421 1198987

>>1198923
Покажи код, где ты переопределяешь её. В процессе написания поймёшь, где именно ты обосрался.

Ответы199018

29 мая, 19:06 422 1198994

Есть класс A, есть подклассы AA, AB, AC и так далее. Суть в том, что у класса A есть переменные, от которых зависит, какого типа надо возвращать объект.
Например, есть файл со строками:
x1 y1 z1
x2 y2 z2
xn yn zn
Изначально я не знаю, какого типа будет объект, поэтому создаю объект класса A и функцией read() читаю нужные переменные (их нужно будет хранить и потом использовать). И тут появляется два варианта:
Либо создавать новый объект через конструктор В(A object) и внутри перезаписать переменные (this.x = object.x)
Либо создавать новый объект через конструктор B(int object.x, int object.y)
Но это как-то не очень выглядит, хочу чтобы было красиво и легко переделывалось (общих переменных позже может оказаться другое количество или с другими значениями).

Ответы199001

29 мая, 19:10 423 1199001

>>1198994
Сделай отдельный класс, который будет читать эти твои строки и на основе их содержание решать создавать и возвращать нужный объект.

Ответы199011

29 мая, 19:24 424 1199011

>>1199001
Это надо будет либо строки повторно читать, либо как-то передавать в конструктор переменные.
Если читать строки повторно, то придется повторять код в каждом подклассе. Если передавать в конструктор, то опять придется одно и то же писать.

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

Ответы199016

29 мая, 19:34 425 1199016

>>1199011
>Попробую метод с кастом return (AA) A;
Дерьмо. Избегай приведения типов.

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

Ответы199025

29 мая, 19:37 426 1199018

>>1198987
Ну написал, и что, ублюдок? От того что я говорился в каком месте переопределять, ты тут распетушился, вместо того чтобы ответить по теме?

Ответы199021

29 мая, 19:40 427 1199021

>>1199018
Ну так покажи его, мудачок дёрганный.

Ответы199022

29 мая, 19:42 428 1199022

>>1199021
https://pastebin.com/jSNB5mLb
Ну и?

29 мая, 19:46 429 1199025

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

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

Но этого тоже как-то избыточно выглядит.

29 мая, 20:32 430 1199048

>>1198709
Ну заоптимизировали латенси за счет throughput, никто же не жалуется. Народу хватает производительности + многопоточность дешевая. Я то думал сейчас будет срыв покровов, а ты упомянул какой-то нерелевантный довод, иначе бы не плодилось на go новых сервисов/субд.

29 мая, 20:34 431 1199050

>>1198895
Конечно блять, посмотри на hashCode Object'a
И теперь подумай что это выдаст для:
var pojo1 = new POJO(1, "kek");
var pojo2 = new POJO(1, "kek");
> pojo1.hashCode() == pojo2.hashCode();
> pojo1.equal(pojo2);

Ответы199062

29 мая, 20:44 432 1199062

>>1199050
Наркоман?

false
false

Ответы199069

29 мая, 20:48 433 1199069

>>1199062
Ну вот, а объекты по-сути одинаковые.

Ответы199072

29 мая, 20:49 434 1199072

>>1199069
А, это я наркоман.

29 мая, 20:57 435 1199079

>>1198895
Да, используют. В любой нормальной IDE есть генерация методов equals() и hashCode().

30 мая, 08:57 436 1199258

>>1186719
Постоянно будешь недоумевать, что программа крашится, если где-то пустая ссылка. А ещё будешь забывать ставить ; в конце

30 мая, 09:02 437 1199259

>>1188425
А в чем проблема нажать АЛТ инсерт м два раза энтер?

Ответы199278

30 мая, 09:50 438 1199278

>>1199259
А в том, что когда у тебя 10 полей, вероятность получить конфликт в ПР при малейшем изменении в pojo возрастает раз так в дохуя. Это, конечно, не долго подмержить говно и исправить конфликт в модели, но это все равно время. Да и классы короче выглядят для восприятия. Про другую годноту генерала деломбока я и не говорю.

30 мая, 13:00 439 1199349

>>1186670 (OP)
Нужно передать достаточно большой файл по НТТР. Сервер читает куски файла прямо из тела пост-запроса. Для передачи файла на клиентской стороне я использую apache httpclient 4. Проблема в том, что при передаче запроса как multipart сервер получает в теле запроса какое-то говно: например, рандомные разделители параметров запроса. Как при помощи этой библиотеки сформировать запрос так, чтобы в теле запроса были только сырые данные, а не разделителя, параметры и прочее дерьмо?

Ответы199382

30 мая, 13:57 440 1199381

Ребята, востребован ли сейчас javaFX или стоит учить Swing?

Ответы199419199641

30 мая, 13:57 441 1199382

>>1199349
Вы не понимаете сути multipart, дотвиданья.

Ответы199450

30 мая, 15:04 442 1199419

>>1199381
нет

30 мая, 16:00 443 1199450

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

Ответы199452199485

30 мая, 16:05 444 1199452

>>1199450
Используй веб-сокеты и алгоритм как в торрент-кдиентах. Делаешь несколько веб-сокет соединений (чтобы лучше нагрузить канал) разбиваешь файл на несколько частей (например по 8Мб) и передаёшь кусок + индекс + хэш. Сервер проверяет правильность получения куска по хэшу и если что-то пошло не так просит отправить кусок снова. Потом всё собирает воедино, опционально проверяет хэш уже собранного файла и готово.

Ответы199483

30 мая, 16:08 445 1199453

В общем, есть ThreadPoolTaskScheduler, в него я в цикле запихиваю задачи: scheduler.schedule(myObj, date), на каждой итерации создаю новый экземпляр MyObj и сеттерами сую туда данные. Вроде всё ок, но в классе MyObj мне надо заинжектить пару сервисов и прочих штук, пока что это мне не удаётся. Ну и самое интересное, все это запускается через InitializeBean. Чувствую, где-то объебался я с такой схемой.

Ответы199455199480

30 мая, 16:10 446 1199455

>>1199453
А, вопрос такой. Что должен представлять из себя класс MyObj?
Сервис с @Autowired полями?

30 мая, 16:55 447 1199480

>>1199453
>сеттерами сую туда данные.
Вот и сервисы сеттерами суй

30 мая, 16:58 448 1199483

>>1199452
>Используй веб-сокеты и алгоритм как в торрент-кдиентах
Не я это решаю. Мне дали спецификацию рест-апи для аплоада файлов, и я пишу. Файлы требуется передавать в теле запроса. Я ищу способ написать это как можно лучше, короче и надежнее. Рабочий код уже есть, но он мне не нравится.

30 мая, 16:59 449 1199485

>>1199450
Я про то что мультипарт СПЕЦИАЛЬНО вставляет разделители, и если бекендер не криворукий мудак то все нормально читается, а ебля с сокетами это экзотика.
Вот попробуй на каком-то сервисе аплоаднуть фотку и посмотри в консоли браузера что там в теле запроса.

Ответы199504

30 мая, 17:12 450 1199491

Вот некоторые заявляют, что наследования и абстрактные классы в жабе и ООП - зло, надо все на интерфейсах делать. А если у меня есть "подклассы", у которых есть некоторые общие переменные - мне в каждом "подклассе" их объявлять и в каждом конструкторе инициализировать? Интерфейс-то переменные не может объявлять и определять методы.

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

А с интерфейсами как? Композиты - по-гейски.

Ответы199525199781

30 мая, 17:37 451 1199504

>>1199485
Переделал сервер под получение мультипарт запросов. Ну ладно, пусть так работает. Тимлид сказал, что никаких вебсокетов. Рест и только рест.

30 мая, 18:27 452 1199525

>>1199491
что ты будешь делать, когда в одном из наследников нужно будет например сменить тип active на integer?

Ответы199527

81 Кб, 811x681
30 мая, 18:27 453 1199526

Что скажете про работу в сбере?
Кто-нибудь имел опыт там?

30 мая, 18:29 454 1199527

>>1199525
C абстрактными классами? Сменю в родительском классе и конструкторах.

Ответы199532

30 мая, 18:41 455 1199532

>>1199527
так ты остальных наследников сломаешь

Ответы199547

30 мая, 19:01 456 1199547

>>1199532
Каким образом?

Ответы199553

30 мая, 19:10 457 1199553

>>1199547
была boolean переменная, стала integer. Код сломался

Ответы199559

30 мая, 19:18 458 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);
}
}

Ответы199560199572

30 мая, 19:18 459 1199560

>>1199559
У EntityX extends Entity забыл.

30 мая, 19:28 460 1199572

>>1199559
теперь тебе в EntityX isActive нужно сделать integer. А в EntityY оставить по-старому

Ответы199577

30 мая, 19:31 461 1199577

>>1199572
Так не может быть потому, что к EntityX и EntityY я буду обращаться как к Entity.

Ответы199581

30 мая, 19:38 462 1199581

>>1199577
тогда зачем вообще делать разные классы?

Ответы199586

30 мая, 19:43 463 1199586

>>1199581
Не все методы и поля общие.

Ответы199587

30 мая, 19:44 464 1199587

>>1199586
так ты же обращаешься к ним как к Entity. Или уже нет?

Ответы199591

30 мая, 19:49 465 1199591

>>1199587
Не всегда же. Я обращусь к ним как к Entity, если мне нужные общие поля или переопределенные методы. В остальных случаях как к объектам подклассов.

30 мая, 20:48 466 1199641

>>1199381
сейчас gui на джаве не пишут

Ответы199662

30 мая, 21:13 467 1199662

>>1199641
я на работе пишу

Ответы199665

30 мая, 21:16 468 1199665

>>1199662
Swing или JavaFX?
Насколько это будет перспективно в будущем? Правда, что десктоп приложения умирают?

Ответы199686199696

30 мая, 21:38 469 1199686

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

30 мая, 21:51 470 1199696

>>1199665
JavaFX. Сыроватый он. Свинг получше будет, и продуманней

31 мая, 00:50 471 1199781

>>1199491
Давай конкретный код, а не абстрактные entity. Поясню тебе почему нинужна.

Ответы199934

31 мая, 13:26 472 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.

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

Ответы200165

192 Кб, 973x563
31 мая, 15:46 473 1199981

есть некая программа color centro Konica-Minolta, у неё дохуя фиксированных окон. Как-нибудь можно сделать их динамичными или точнее чтобы можно было менять размер произвольно? В Ярлык запуска что-нибудь прописать?

Ответы199986

31 мая, 16:06 474 1199986

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

Ответы199990

31 мая, 16:16 475 1199990

>>1199986
хуево, спасибо за ответ.

31 мая, 20:39 476 1200165

>>1199934
Все равно решение не сработало - мешают downcasts.

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

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

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

Ответы200212

31 мая, 21:07 477 1200212

>>1200165
Используй instanceof и не еби нам мозг.

Ответы200226

31 мая, 21:14 478 1200226

>>1200212
Как пишут в интернете: "Using instanceof is a code smell".

Ответы200287

31 мая, 22:05 479 1200287

>>1200226
В Интернете много что пишут.

31 мая, 23:51 480 1200343

Взялся за курс сэджвика по алгоритмам.
Пытаюсь настроить среду джава разработки.
В мануале по настройке написано что нужно прописать в переменную среды CLASSPATH значение
C:\Users\username\algs4\algs4.jar;
Я так понял это дает знать рантайму джавы где в первую очередь искать собранные исходники.

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

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

Что я делаю не так?

Ответы200345

31 мая, 23:55 481 1200345

>>1200343
Лезешь куда тебя не просят.

1 июня, 11:11 482 1200462

Чем Java лучше C#, кроме того, что на ней уже написано много чего?

Ответы200471

1 июня, 11:24 483 1200471

>>1200462
>Чем Java лучше C#
Ой, мальчик, здесь мы идем опять

1 июня, 11:35 484 1200476

import java.util.Scanner;
public class Test {

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

Сап как дело доходит до цикла, он выполняется бесконечно. Объясните почему и как исправить.

Ответы200495

1 июня, 12:15 485 1200495

>>1200476
Во-первых, код выкладывают на pastebin или ideone или на что-то еще.
Во-вторых, чтобы цикл не выполнялся бесконечно, нужно либо чтобы условие цикла перестало быть истиной, либо чтобы где-то внутри цикла его выполнение прерывалось (break/return/exception). Ничего из перечисленного у тебя я не вижу.

1 июня, 12:20 486 1200498

>>1186670 (OP)
Есть тут hybris макаки?

1 июня, 13:12 487 1200528

Встретил вот такой пример кода:
https://pastebin.com/ZUBs6SWX

Объясните, зачем в восьмой строке брать создание HelloThread в отдельные скобки?

Ответы200579200930

1 июня, 13:51 488 1200579

>>1200528
Попробуй без скобок и посмотри что будет, ленивая ты жопа.

Ответы200593

1 июня, 14:09 489 1200593

>>1200579
Пробовал -- ничего не изменилось, хоть со скобками, хоть без них.

Ответы200601200697

1 июня, 14:20 490 1200601

>>1200593
Это тема многопоточности, но я не знаю, распространяется ли такое написание в других разделах.
Читал до этого Философию Java, там все писалось без скобок. А тут вот набрел на такой пример со скобками и не понимаю, зачем оно нужно и что это меняет.

Ответы200653

1 июня, 14:59 491 1200653

>>1200601
Видимо, new имеет больший приоритет, чем вызов методов, а скобки - Abundant Parentheses.

1 июня, 16:07 492 1200697

>>1200593
Раз не изменилось, то и разницы нет. Поздравляю, ты ответил на свой вопрос.

1 июня, 16:33 493 1200721

Нужен жизненный совет бывалых джавистов.

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

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

Ответы200866201029

1 июня, 17:06 494 1200744

>>1186670 (OP)
Аноны, помогите плиз отвтетить на пару вопросов
1 вопрос такой
Что будет выведено при выполнении следующего кода?

String str = "0";

str += 1;

str *= 3;

System.out.println(str);

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

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

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

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

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

Ответы200768

1 июня, 17:50 495 1200768

>>1200744
2

Ответы200784201082

1 июня, 18:08 496 1200784

>>1200768
Спасибо огромное
Есть еще один вопрос

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

1. main (String[] args)

2. notify()

3. parallel()

4. plus(Object o)

5. sleep (long timeout)

6. stream()

Ответы200834

1 июня, 19:26 497 1200834

>>1200784
2. notify()
Ты блять можешь писать на зекач но не можешь октрыть иде или jshell?

1 июня, 20:11 498 1200866

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

Ответы200922200969

104 Кб, 1280x688
1 июня, 21:18 499 1200922

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

1 июня, 21:29 500 1200930

>>1200528
Незачем.

1 июня, 22:06 501 1200969

>>1200866
Что «ну такое». У тебя аутизм?
Я спрашиваю про джавовские литературные бестселлеры.
Нагуглить говна, В котором дауны для даунов объясняют наследование и дженерики я могу легко. И последнее: мне не нужно уметь программировать на джаве, мне нужно уметь разрабатывать с использованием джавы. Это две разные вещи.

Ответы201008201010

1 июня, 22:47 502 1201008

>>1200969
Ну и пошел нахуй тогда, раз сам все знаешь.

1 июня, 22:50 503 1201010

>>1200969
Если бы ты хоть немного интересовался вопросом,
то знал бы, что Java чуть ли не единственный язык со строгой спецификацией языка и виртуальной машины, за это все её любят,
это значит, что если ты будешь соблюдать все стандарты (что там написано), то у тебя всё будет хорошо и у тебя будет обратная совместимость, а если нет, то у тебя будет шанс, что твоё приложение лет через 10 на новой JVM не запустится

1 июня, 22:51 504 1201013

это я к тому, что читай что тут дяди написали,
раз такой сеньёр помидор и подавай тебе туториалы "недлябыдла"
https://docs.oracle.com/javase/tutorial/java/

1 июня, 23:09 505 1201029

>>1200721
Бля, идёшь и читаешь reference documentation Spring, Spring Boot, Spring Cloud, Spring Integration. Именно в таком порядке. Десять лет в ит, а спрашиваешь как маленький.

2 июня, 00:07 506 1201082

>>1200768
Нет, там все правильно. Для строки + означает конкатенцию, str += 1 это "0" + 1, т.е. "01".
Ошибка будет в третьей строке, т.к. для String операция * не определена.

2 июня, 00:19 507 1201090

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

2 июня, 21:11 508 1201688

Помогите, пожалуйста, понять за какое свойство объекта отвечают интерфейсы маркеры:
Remote interface
и
ThreadSafe interface

2 июня, 23:06 509 1201739

Spring Security
Не работает авторизация in-memory.
Да и он вообще игнорит мой xml security файл, а из класса java аннотация работает. Но авторизация - нет.
Чувствую, что не добавил какую-то важную ерунду куда-нибудь, но не знаю какую и куда.
Подскажите, куда копать?

3 июня, 13:31 510 1201926

Ищу ментора или такого же нубаса для изучения Джавы с последующим перекатыванием в разработку под андроид.
tg: sickboi

3 июня, 16:07 511 1202038

Кто-нибудь обмазывался Netty?
Поясните за разницу между close() и disconnect(). И за разницу между вызовом этих close/disconnect у Channel и ChannelHandlerContext.

3 июня, 16:09 512 1202040

Аноны что означает бэкенд? Ну понятно что сервера и тому подобное но если конкретнее что там разрабатывается?
Например во фронтэнде понятно что разрабывается на интутитивном уровне. Но что делают бэкендеры?

Ответы202041

3 июня, 16:10 513 1202041

>>1202040
Сервера пишут, лол.

Ответы202043

3 июня, 16:12 514 1202043

>>1202041
А что подразумевается под "писать сервера"?

Ответы202045

3 июня, 16:14 515 1202045

>>1202043
https://ru.wiktionary.org/wiki/писать
https://ru.wikipedia.org/wiki/Сервер_(программное_обеспечение)
Не благодари.

3 июня, 20:10 516 1202115

Hibernate это библиотека или фреймворк?

Ответы202122202195

3 июня, 20:26 517 1202122

>>1202115
Скорее фреймворк, но эта граница часто размыта

Ответы202132

3 июня, 20:41 518 1202132

>>1202122
Если он нужен только для того чтобы связать ООП и реляционную базу данных,
то используют ли его, когда используют Spring, учитывая, что там есть Spring Data??

Ответы202150

3 июня, 21:11 519 1202150

>>1202132
Используют. Spring Data это не замена, а еще один необязательный слой поверх JPA/Hibernate.

3 июня, 22:47 520 1202195

>>1202115
Это реализация JPA.

4 июня, 01:27 521 1202269

Спринг в вебе используется? Или только для корпоративных приложений?

Ответы202355

4 июня, 07:19 522 1202355

>>1202269
Используется для любой серверной джавы. Т.е. в вебе тоже, если считать что на джаве бывает "веб".

Ответы202396

4 июня, 08:53 523 1202396

>>1202355
В каждой второй вакансии вижу желательно знание html css javascript. Это ли не веб?

Ответы202413

4 июня, 09:53 524 1202413

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

4 июня, 13:39 525 1202543

20 Кб, 472x4075 Кб, 589x129

Почему я не вижу сообщения от исключения в консоли?

Ответы202593

4 июня, 13:46 526 1202550

11 Кб, 541x2803 Кб, 430x716 Кб, 649x79

А вот если сделать аналогичную фигню, но с отдельным классом, все нормально выводится

Ответы202558

4 июня, 13:57 527 1202558

>>1202550
Вызов getMessage не выводит сообщение в консольку, а просто отдаёт значение, которое уже ты сам дополнительно должен вывести в консоль. С отдельным классом ты вызываешь не ту функцию. Надо вызывать callDivide, а ты вызываешь divide, который выдаёт эксепшн, который отлавливает уже сама JVM.

Ответы202571

4 Кб, 460x121
4 июня, 14:26 528 1202571

>>1202558
на самом деле я сейчас онял, что правильней сделать вот так и вообще не обрабатывать unchecked exception, просто потому что это ненужно,

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

Ответы202575

4 июня, 14:31 529 1202575

>>1202571
> что правильней сделать вот так
Не, не правильней. Даже наоборот, некоторые в code style запрещают делать else, если в предыдущем if есть throw или return.
> но почему тогда JVM не может точно так же обработать
Потому что конструкцией try/catch ты сообщаешь, что хочешь самостоятельно обработать данное исключение. А то что ты не умеешь выводить содержимое эксепшона в консольку JVM уже не ебёт.

Ответы202579

11 Кб, 541x280
4 июня, 14:35 530 1202579

>>1202575
так что ли правильней? а я думал обрабатьвать самому unchecked исключения это зашквар
Тут я кстати в консоль сам ничего не вывожу, а вызываю все тот же гет мессадж,

4 июня, 15:17 531 1202589

Аноны, это норм тема?
https://geekbrains.ru/geek_university/java

Ответы202756203639

4 июня, 15:27 532 1202593

>>1202543
Потому что ты не понимаешь что делаешь.
1) s.length само кинет эксепшн;
2) В блоке catch ты словил эксепшн, достал его месадж, но в консоль не вывел, из-за кетча приложение нормально закончилось.

Ответы202663

4 июня, 17:32 533 1202663

>>1202593
>1) s.length само кинет эксепшн;
бля, вот этого я реально не понимал, по сути программа и не доходила до моего второго эксепшена,
спасибо

4 июня, 19:04 534 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 долларов. Нормальная цена.

Ответы203030

4 июня, 23:40 535 1203030

>>1202756
Спс анон, а то на курсере они скурвились и берут денюжку

4 июня, 23:40 536 1203031

Хочу написать программу, которая берет html страницу с отдельными css и js и превращает все в одну standalone страницу, для этого подойдет java или лучше javascript?

5 июня, 16:21 537 1203393

Долбоеб репортинг ин. Что вы пишите на жаве?

Ответы203426203584203639204604

5 июня, 17:14 538 1203426

>>1203393
Хулло ворлды.

Ответы203436

5 июня, 17:32 539 1203436

>>1203426
А потом?

5 июня, 22:02 540 1203584

>>1203393
Что на галере прикажут, то и пишем

Ответы203626

5 июня, 23:03 541 1203626

>>1203584
Да бля, ну что примерно? Я даже хуй знает как загуглить.

Ответы203770

5 июня, 23:21 542 1203639

>>1203393
Не твое дело.
>>1202589
Нет.

Ответы203643

5 июня, 23:25 543 1203643

>>1203639
Я же не прошу конкретных вещей. Можно же примерно сказать что делаешь для человека который только пару недель изучает жаву кор.

6 июня, 04:17 544 1203738

Java господа, вы моя последняя надежда. Как сделать ввод матрицы в оконном приложении? Нужно потом эту матрицу записать в массив.

Ответы203951

6 июня, 08:32 545 1203770

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

Ответы203950

6 июня, 14:29 546 1203950

>>1203770
>Слово java
javascript)))0)
хрюши не различают

6 июня, 14:31 547 1203951

>>1203738
Ширина и высота есть?
Берешь сканнер и читаешь инты/флоты. Или можешь построчно считывать и дальше разбивать как тебе надо.

7 июня, 10:07 548 1204474

Подкиньте каких-то чатиков, где будут рады нубасам. Много вопросов, но некому задать. :<

Ответы204487

7 июня, 10:29 549 1204487

>>1204474
Тут задавай

Ответы204508

7 июня, 11:02 550 1204508

>>1204487
Слишком много вопросов, хочется живого общения.

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

Ответы204521204691

7 июня, 11:25 551 1204521

>>1204508
>Хочу идти в андроид/вэб
Так в андроид или в вэб? По андроиду может быть лучше в соответствующем треде спрашивать.

Ответы204797

7 июня, 12:55 552 1204596

Напомните, что там поменялось со времен 8 версии?

Ответы204597

7 июня, 12:58 553 1204597

>>1204596
Моудли, var, Graal вот-вот почти, сотни-милион диприкейтов.

7 июня, 13:03 554 1204600

https://www.udemy.com/spring-hibernate-tutorial/
https://www.udemy.com/spring-framework-5-beginner-to-guru/

Никак не решу какой из курсов купить. Curriculum какого курса вас впечатлил больше?

Ответы204609

7 июня, 13:09 555 1204604

>>1203393
Кросскомпилятор пишу, который генерит код для ZX Spectrum. BASIC подобный язык с ООП, лямбдами и подсчетом ссылок.
Но застопорился на делении целых чисел. Умножение легко выразить через сложение и сдвиги, типа 123x17 = 123x16 + 123x1 = 123 << 4 + 123, а вот как можно делить не знаю...

7 июня, 13:16 556 1204609

>>1204600
https://spring.io/guides - тут все бесплатно

Ответы204615

7 июня, 13:20 557 1204615

>>1204609
Официальная документация must have конечно. Но приступаю к ней когда уже имею опыт какой-никакой. Да и 10 баксов небольшая цена за курс хороший.

Ответы204623

7 июня, 13:21 558 1204616

+ Spring in Action на русском (издание 2013 года): http://eldude.ru/files/books/Spring_in_action.pdf

7 июня, 13:31 559 1204623

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

Ответы204630

7 июня, 13:36 560 1204630

>>1204623
Да согласен.
Но я делаю так.
1. Краткий курс по основам.
2. Книга по нужной теме
3. Офф документация.

И в голове потом много чего остается.

Ответы205220

7 июня, 14:35 561 1204691

>>1204508

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

нинужна

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

нинужна

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

нужна

>

7 июня, 16:14 562 1204797

>>1204521
В контексте моего вопроса это не так важно. Я не знаю, что делать после выбора специальности. Пока пробую себя в андроиде. Стоило бы спросить в их треде, да.

7 июня, 18:52 563 1204893

Когда уже введут protected методы в интерфейсы? Тогда можно будет официально заявить, что абстрактные классы нинужны.

Ответы205221

8 июня, 04:10 564 1205220

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

8 июня, 04:13 565 1205221

>>1204893
Состояние, т.е. данные в интерфейс ты не запихнешь.

8 июня, 12:11 566 1205358

Есть сервер поднятый на apache tomcat 9, сделал всю структуру для моей части работы, я нагрузочник, все работало пока не определил список работающих методов в зависимости от типа ссылки, по которой проходит юзер.
Т.е. я задал определение отправляющегося объекта от типа полученной ссылки HttpServletRequest request, String link = request.getRequestURL.
Но есть одна нестыковочка в этой структуре, я не знаю как задать эти ссылки в апаче. Их где то надо захардкодить? Или ониваляются в xml каком то.
Все работало когда я стучался на сервер по названию сервлета StartServer. Перестало когда мне понадобилось работать с разными типами ссылок, которые отправляют разные типы xml.

Сори за сумбур, если вкратце, то как создавать ссылки в Apache TomCat?

Ответы206324

8 июня, 13:43 567 1205431

Рибят, а если я, вот, изучаю java, мне обязательно ставить Linux? Вообще, поясните, плиз, на пальцах за Linux. Что он дает?

Ответы205829205873

8 июня, 19:19 568 1205829

>>1205431
обязательно
вся инфраструктура заточена под юних

8 июня, 20:15 569 1205873

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

Ответы205920

8 июня, 21:30 570 1205914

Кто-нибудь использует на практике аннотации прекондишенов, посткондишенов, инвариантов и.т.п, как в исходниках джава библиотек?

8 июня, 21:33 571 1205919

Пацаны! Я создал программу, которая случайным перемешивает музыкальные файлы в папке. Зачем это нужно? Ну если есть машина, то вы вставляете флешку в магнитолу и слушаете, но вскоре вас заебет один и тот же порядок воспроизведения треков. И тут на помощь приходит эта программа. Но есть один минус - все файлы переименовываются в череду рандомных цифр, ну почти как названия картинок, которые вы скачиваете с двача. Но всё же читать их название не нужно во время езды, как я полагаю.

Ответы205944205949

8 июня, 21:34 572 1205920

>>1205873
А какой линукс лучше изучить? Или значения не имеет для работы?

Ответы205923

8 июня, 21:36 573 1205923

>>1205920
Линукс он и в африке линукс. Ты наверное имеешь в виду какой дистрибутив/Desktop Environment?

Ответы205928

8 июня, 21:38 574 1205928

>>1205923
Да, именно это и имею в виду. А то как наслушаешься, то каждый дистрибутив чуть ли не отдельный мир

Ответы205935

8 июня, 21:45 575 1205935

>>1205928
Debian. А вообще лучше бы ты в /s с этим вопросом пошёл.

Ответы205939

8 июня, 21:50 576 1205939

>>1205935
Понял, спасибо

8 июня, 22:02 577 1205944

>>1205919

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

Ответы206116

8 июня, 22:08 578 1205949

>>1205919

Можно лучше.

1. переименовываешь файлы (сперва запатентуй эту технологию)
2. создаешь двоичную кучу, в нее суешь названия файлов
3. проходишь по одной из веток
4. как только доходишь до пустых детей разворачиваешь дерево
5. идешь по одной из веток

9 июня, 08:38 579 1206116

>>1205944
Так в папке по имени все равно отсортируются, да и читает с флешки по порядку.

9 июня, 15:29 580 1206324

>>1205358
Нихуя не понял, но вангую тебе надо слать get-запросы? Возьми у разрабов, или посмотри по коду, чё там должно быть.

9 июня, 15:40 581 1206328

Куда легче вкатиться зная Java? Веб, энтерпрайз или мобилки?

Ответы206329

9 июня, 15:42 582 1206329

>>1206328
Не знаю.

9 июня, 22:23 583 1206700

Сап, джавач! Помогите макакену разобраться: приходят сообщения, в зависимости от содержимого создаются разные задачи(расширил Callable, происходит работа с бд), после их выполнения у меня возвращаеся объект и мне его тоже нужно обернуть в задачу и выполнить. Нагуглил, что вроде бы ListenableFuture с callback удовлетворяет моим требованиям.
Набросал примерный каркас
https://pastebin.com/AKrVernG
Скажите, это приемлимое решение? Интересует использование разных Executor'ов под различные задачи - не слишком ли это плохо? До этого с многопоточкой почти не работал, потому предупреждаю, код может вызвать неудержимые приступы смеха.

Ответы206913

201 Кб, 396x308
9 июня, 23:35 584 1206781

Есть один факап, с которым надо разобраться. В качестве побочного таска получил задание разобраться с запросами в информационную систему РЖД ЭТРАН, которая вставляет наружу SOAP-эндпоинты.

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

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

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

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

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

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

То есть, wsimport'ом генерю классы, подключаю к проекту клиента и при помощи них выполняю запросы. Не знаю, как лучше сделать это для этрана.

Ответы206831

10 июня, 01:02 585 1206831

>>1206781
Гугли cxf-maven-plugin. Класть в проект генерируемые файлы - зашквар. Ну и не похуй ли тебе сколько там методов тебе нагенерируют? Используй то, что надо и всё.

Ответы207115

10 июня, 09:43 586 1206913

>>1206700
1. Java 8 тебе недоступна? В ней есть удобный CompletableFuture на замену ListenableFuture из гуавы.
2. В твоем коде создается newCachedThreadPool(), который нигде не используется, а также directExecutor необязательно в явном виде запихивать в addCallback, там должна быть перегрузка без 3-го параметра. В целом нормально, если считать что сидим на java 7.

10 июня, 13:33 587 1206983

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

Ответы207071207081

10 июня, 15:08 588 1207071

>>1206983
А что предлагают? И какой уровень у тебя? Java Core?

Ответы207119

10 июня, 15:26 589 1207081

>>1206983
Вот и поковыряй спринг пока, раз все равно висит.

10 июня, 16:12 590 1207115

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

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

Ответы207128

10 июня, 16:18 591 1207119

>>1207071
Предлагают просто айтишником\техподом, кем я и работаю. Максимум было по тестерству.
Пока знаю только кор и jdbсне знаю

Ответы207345

10 июня, 16:23 592 1207128

>>1207115
>Ок, научился генерировать классы этим сервисом. Куда их сохранять?
Два варианта:
1. Никуда не сохранять, будут генерироваться при каждой сборке перед компиляцией
2. Положить в исходники (src/java), но настроить сборку (maven) так, чтобы можно было в любой момент их перегенерировать.
Т.е. wsdl в проекте в любом случае тоже будет лежать.

Ответы207182

10 июня, 17:29 593 1207182

>>1207128
Окей, с этим понятно. В моем маленьком проекте все заработало. Хочу вернуться к исходной задаче. Есть спека на ИС РЖД, два wSDL-описания методов SendBlock и GetBlock, при помощи которых клиент общается с ИС. И есть описание всех запросов. Как это использовать?
Систему, кстати, с 93 или 95 года писали на делфи 10 лет, а потом 5 лет запускали, лол. На их сайте конкурс частушек, конкурс "лучший работник РЖД" и какие-то матрешки. Пиздец.

Ответы207211

10 июня, 17:59 594 1207211

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

Ответы207216

10 июня, 18:10 595 1207216

>>1207211
>Ты ж писал, что в принципе клиенты к сервисам у тебя получались
Ладно, дальше я сам. У меня из дома недоступен эндпоинт, а ставить випнет мне лениво, поэтому я даже не знаю, что меня ждет на работе. Наверно, получится с ним работать так же, как с моими сервисами.

10 июня, 20:42 596 1207345

>>1207119
Ну с одним кором тяжело устроиться. Спринг нужен джуну. Плюс еще html css js нелишним будет.

11 июня, 02:54 597 1207547

сап, джаваны, подскажите, есть КлассА и КлассБ, написать для них что-то типа обертки(нормальное наследование уже не сделать, код не мой) и потом уже возвращать из нее соответствующие экземпляры предварительно вызвав какой-нибудь метод типа isClassB?

11 июня, 13:41 598 1207669

Для спринга бывают шаблоны админок? Не те которые spring boot admin, а те который для контент менеджеров например.

11 июня, 16:23 599 1207749

Прошел курс на coursere по Java. По отдельности все понимаю, циклы там, наследование, полиформизм и все такое, но воедино свзять не получается. Знаковый посоветовал читнуть Effective Java Блоха и все встанет на свои места. Это поможет мне?

Ответы207893

11 июня, 19:09 600 1207875

За что сейчас платят деньги и как прокачиваться? Расклад такой, год работаю джава джуном, уже хорошо знаю core и некоторые фишки ЕЕ, юзаю jsf, освоил hibernate и в некоторой степени sql, ну круд напишу, короче. Как я понимаю, стек немного устарел? Пытаться вкатываться в спринг, а что ещё?

11 июня, 19:23 601 1207893

>>1207749
Не поможет. Советчик хуйню сморозил.

Ответы207905

11 июня, 19:40 602 1207905

>>1207893
Что тогда делать в таком случае? В Факе темы вон тоже написано что поможет не писать костыли.

Ответы207929

11 июня, 20:12 603 1207928

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

Ответы207929

11 июня, 20:12 604 1207929

>>1207905
>>1207928

12 июня, 17:23 605 1208448

Хочу пройтись по базе, этот курс всё ещё релевантен? (2011 год)
https://www.youtube.com/watch?v=TBWX97e1E9g&list=PLE7E8B7F4856C9B19

Ответы208620

12 июня, 21:31 606 1208620

>>1208448
Лень коменты прочитать? Второй же комент отвечает на вопрос

13 июня, 13:49 607 1208992

Где перекат, пидоры?

Ответы209212

13 июня, 18:52 608 1209212

>>1208992
https://2ch.hk/pr/res/1207656.html (М)

23 июня, 14:19 609 1215764

>>1186670 (OP)
Поясните вкатывальщик за апплеты, господа! Нужно их учить или пропустить, так как они диприкейтед?

29 июня, 13:22 610 1219498

>>1186670 (OP)
>На джаве фриланса нет
а андроид приложухи?сильно не стукай

24 Кб, 1774x34
6 июля, 18:34 611 1223725

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

6 июля, 18:34 612 1223726

Идея все нормально выводит, подсвечивая и изменяя тип в реалтайме

10 июля, 17:48 613 1225644

мальчишки всем привет, кто растолкует что за ошибка такая? http://www.slf4j.org/codes.html#StaticLoggerBinder , делаю приложение на сервлетах

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion