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

Check this out!


<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
535 | 41 | 126

Java thread #75 /java/ Аноним 01/11/18 Чтв 08:39:32  1287973  
1541050771308.jpg (57Кб, 800x494)
Прошлый - https://2ch.hk/pr/res/1281179.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
Аноним 01/11/18 Чтв 08:53:46  1287979
>>1287973 (OP)
Объясните, в чем джава лучше сисярпа, кроме кроссплатформенности? Такое ощущение, что сисярпа во всем если не превосходит джаву, то равен ей. Почему кто-то продолжает вкатываться?
Аноним 01/11/18 Чтв 09:31:00  1287987
>>1287960
Бля, я не знаю почему, но я не могу тебя понять, вообще никак, иди бля книжки почитай там, или ещё что-нибудь поделай развивающее, шизоид сука.
Аноним 01/11/18 Чтв 09:52:54  1287993
>>1287979
1) Потому что 90% серверов работают на никсах и до-диез на них это отдельный вид извращений
2) Чем лучше? Можно бенчмарков в студию пожалуйста?
3) Перекатиться на Шарп значит переносить существующую кодовую базу.
Аноним 01/11/18 Чтв 09:57:22  1287995
1528197735.jpg (26Кб, 604x393)
>2К18
>статическая типизация
Аноним 01/11/18 Чтв 09:58:19  1287997
>>1287995
>РЯЯЯЯЯ ДА СМЫСЛЕ СТРИНГ БЛЯ МНЕ ИНТ НАДА
Аноним 01/11/18 Чтв 10:00:20  1288000
>>1287995
>Дженерики
Съеби
Аноним 01/11/18 Чтв 10:03:37  1288001
>>1287843
Я все ещё работаю жабамакакой, так что не думаю. Просто заебало дрочить один язык ради одинаковых задач.
Аноним 01/11/18 Чтв 10:04:34  1288002
>>1287997
Ты понимаешь, насколько ты жалок? Я, как настоящий чад, могу вызвать любой метод и обратиться к любому свойству любого объекта. Более того, я могу прям на ходу добавлять и удалять свойства и методы объекта, потому что мой язык меня не ограничивает. Он знает, кто здесь босс.
А ты делаешь то, что тебе компилятор скажет. Он пошлёт тебя нахуй, если ты попытаешься сделать что-то подобное, он тупо не скомпилит программу! Вывод: ты омежка и куколд.
Аноним 01/11/18 Чтв 10:06:25  1288003
>>1288002
>РЯ ДА СМЫСЛЕ НЕ РАБОТАЕТ?! СМЫСЛЕ БЛЯТЬ НЕ РАБОТАЕТ СУКА?!
Аноним 01/11/18 Чтв 10:25:52  1288013
>>1288002
А ты в своём пистоне вот так можешь
a = (int) "Блять я обосрался"
Аноним 01/11/18 Чтв 10:26:17  1288014
>>1288013
?*
Аноним 01/11/18 Чтв 10:52:06  1288020
>>1288013
>>1288014
Это не питоняша, это жскукарек
Аноним 01/11/18 Чтв 11:00:31  1288028
>>1288020
>Это не гавно сорта "с орешками", это гавно сорта ''После пивандопалы"
Аноним 01/11/18 Чтв 11:01:58  1288029
Почаны кто хочет учить шпринг и жабу вместе оставляйте фейкомыльцо. Будем пытаться чет пилить)0
Аноним 01/11/18 Чтв 11:03:37  1288032
>>1288029
weydile@gmail.com
Аноним 01/11/18 Чтв 11:06:28  1288035
>>1288029
Зачем швепс мешать с яванским кофе?

>Будем пытаться чет пилить)0
Звучит как "я не умею, но вместе мы сможем".
Аноним 01/11/18 Чтв 12:31:21  1288065
>>1287960
if ("yoba".equalsIgnoreCase(a)) {
print("Хули");
} else {
print("Илух");
}
Аноним 01/11/18 Чтв 13:06:05  1288078
Анонисы, имеются значит вот такие вопросы:
Что конкретно нужно знать, чтобы взяли с нулем опыта реальной работы? (И что вообще этот джун делать будет?)
Если я просто знаю и понимаю, для джуна это нормально? а то я чувствую, что я как мудак все делаю наооборот, там где нужны просто знания, что это за штука и что она делает - я углубляюсь, а где наоборот нужна практика, приняв во внимание концепцию - иду дальше. Ткните котенка носом плиз, моя тревожность выходит из под контроля.

Что имеется на данный момент:
- Java Core, без конкаренси ёба уровня, то есть до уровня монитора, лочек, шаблона producer-consumer или что-то такое, забыл уже название бля.
- SQL, все постандарту знаю-делал хотя бы раз, джоины - много раз.
- maven, git, не знаю нахуй я это пишу но раз уж похоже как на резюме уже пусть будет.
(ну и ниже мои сомнения по поводу знаний)
- jdbc немного практиковался в этом, но кажется большее уже начал забывать.
- servlet API, знаю зачем это нужно где используется, но не ковырялся с этим глубже.
- spring core, знаю что это IoC container и зачем это нужно, DI, события и т.д. короче все что связанно с бинами. Подделку на это все писал для практики. Но большего не знаю.
- spring mvc, знаю что это сервлеты со спрингом, чтобы пилить rest api ну или дедовским способом сразу рендерить страничку в ебало пользователя сразу, тут уже плавать пиздец начинаю.
hibernate\jpa знаю для чего это нужно и все, сам еще не касался.
Аноним 01/11/18 Чтв 13:08:07  1288079
>>1288078
> spring core, знаю что это IoC container и зачем это нужно
Зачем?
Аноним 01/11/18 Чтв 13:18:08  1288082
>>1288079
Не нужно? Я поэтому и спрашиваю, потому что тревожникибанный боюсь что делаю не то что нужно для устройства на работу.
Аноним 01/11/18 Чтв 13:20:23  1288083
>>1288082
>что делаю не то что нужно для устройства на работу
Что бы устроится на работу, надо делать то что будешь на этой самой работе делать.
Аноним 01/11/18 Чтв 13:20:29  1288085
>>1288082
>знаю зачем это нужно
ЗАЧЕМ?
Аноним 01/11/18 Чтв 13:21:35  1288087
>>1288083
Откуда он ни дня в жизни не проработав по крайней мере жаба разрабом знает что на этой работе он будет делать?
Аноним 01/11/18 Чтв 13:21:52  1288088
>>1288085
Что бы не пускать вкатывальщиков, сээр.
Аноним 01/11/18 Чтв 13:23:58  1288091
>>1288087
Поэтому он и не устроится. Попал бы на стажировку за еду, может и мог бы продолжить, а так бесполезно. Джунов без опыта не берут. Изучать, что то дома, а потом придя на собеседование узнать, что это не применяется в этой галере, супер фэйл. Поэтому надо как то узнать что требуется на галере конекретно и под нее пилить пет проекты.
Аноним 01/11/18 Чтв 13:25:57  1288092
>>1288091
Джун на то и джун чтобы учиться блять.
Аноним 01/11/18 Чтв 13:28:30  1288094
image.png (70Кб, 798x523)
>>1288091
?
Аноним 01/11/18 Чтв 13:33:10  1288097
>>1288092
1-3 опыта приноси, какое учится, слыш роботать.
Аноним 01/11/18 Чтв 13:34:04  1288098
>>1288097
>Требуемый опыт работы: не требуется
>>1288094
Аноним 01/11/18 Чтв 13:35:56  1288100
>>1288094
Чо мне твои говноскрины, ты ссылку дай.
Аноним 01/11/18 Чтв 13:37:13  1288101
>>1288100
https://career.ru/vacancy/28246970?query=Java%20junior
Аноним 01/11/18 Чтв 13:38:53  1288103
Сейчас берут джунов и без опыта на нормальные зарплаты в ДС(до 100к).
Большая нехватка кадров. Нужно хорошо знать Java Core, SQL на уровне запросов, запилить простое CRUD на гитхаб с использованием spring/hibernate. С таким резюме к вам будет интерес. А дальше как пройдете собеседование на знание указанных технологий.
Аноним 01/11/18 Чтв 13:39:42  1288104
>>1288103
>простое CRUD на гитхаб с использованием spring/hibernate.
А jdbc?
Аноним 01/11/18 Чтв 13:41:37  1288107
>>1288101
https://career.ru/vacancy/24197306
Ну раз ты веришь в чудеса, вот еще вакансия, как устроишься отпишись.
Аноним 01/11/18 Чтв 13:42:32  1288108
>>1288101
Алсо в самом профиле компании нету таких вакансий.
Аноним 01/11/18 Чтв 13:42:49  1288109
>>1287973 (OP)
Нужно написать REST-микросервис для обработки JSON. Писать буду на спринг буте. Есть предложение для реста использовать Spark Framework. Мне нравится спарк, но, по-моему, он хорош для компактных приложений с легкими библиотеками. А если использовать жирный спринг, тогда можно реализовать рест и через starter-web. Подскажите, как поступить.

И еще. Как абстрагировать обработку JSON? Создать отдельный JSONService, в котором выполнять весь требуемый процессинг? Формат JSON-пакетов может меняться со временем.
Аноним 01/11/18 Чтв 13:42:52  1288110
>>1288107
Ты ему про аномалии он тебе про хабар, что не так?
Аноним 01/11/18 Чтв 13:47:38  1288112
>>1288110
А то что такие вакансии аномалия, вроде она есть, а туды никого не берут.
Аноним 01/11/18 Чтв 13:48:35  1288113
>>1288104
В крупных компаниях взаимодействие с бд идет через фреймворк. Поэтому требуют его знание. JDBC нужно знать - спросят на собеседовании.
Аноним 01/11/18 Чтв 14:45:49  1288134
читаю хорстмана(на русском, так как на инглише могу говорить бегло и понимаю, но процесс чтания и понимания бы затупился так смачно), по изучению плюсов знаю что на одном чтении хуй выеду, есть ли какие(годные) сайты с задачами по жабе, codeabbey не понимает что такое scanner(nextint...), и я в слезах от того что проебал охуенный сайт прошу подсказать замену.
Аноним 01/11/18 Чтв 15:07:49  1288140
>>1288134
javarush - платный, кривоватый, но дающий сильную практику.
Аноним 01/11/18 Чтв 15:39:40  1288158
>>1288140
алсо, купил сегодня подписку за 1800, чувство двоякое,
поддерживает мотивацию хоршо, тк я нубас.
С другой стороны чувствую себя ленивым тюленем тк можно было всё из интернета выучить и из книг. =_=
такие дела.

мимикрок
Аноним 01/11/18 Чтв 15:55:13  1288168
>>1288158
>С другой стороны чувствую себя ленивым тюленем тк можно было всё из интернета выучить и из книг. =_=

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

Хуй там плавал, читать книги и интернет надо будет практически столько же. Теория в джавараше написано не то чтобы на отъебись, а так, чтобы ты полез разбираться дальше.
Аноним 01/11/18 Чтв 16:00:11  1288173
https://pastebin.com/DmWHXD3y за каждый найденный баг плачу 200$ нет
Аноним 01/11/18 Чтв 16:09:34  1288181
Есть один запрос из олимпиадной задачи. Сейчас не важно, как там устроены таблицы. Так вот я что-то совсем не понимаю: в чем смысл сравнения полей айди из одной и той же таблицы в подзапросе (where idCustomer!=O.idCustomer and OrderDetails.idProduct=OD.idProduct )? Это ведь проверка на равенство самому себе, разве нет? Это главное, что я хочу узнать, но если напишете вывод запроса с объяснением, то будет вообще замечательно, а то эта олимпиада с первого же задания в ступор вогнала.

select Count(*)
from OrderDetails as OD inner join [Order] as O
on OD.idOrder=O.id
where SalePrice = all
(
select Price
from OrderDetails inner join [Order]
on OrderDetails.idOrder=[Order].id
where idCustomer!=O.idCustomer and OrderDetails.idProduct=OD.idProduct
)
Аноним 01/11/18 Чтв 16:12:08  1288185
>>1288181
А, блин, как тут можно написать вывод, если я таблицы не привел. Тогда этого я не прошу.
Аноним 01/11/18 Чтв 16:12:16  1288186
>>1288173
Пустой Del падает с numberFormatExeption
Аноним 01/11/18 Чтв 16:15:53  1288191
>>1288186
Как говориться, пофиксил проверочку блять.
Аноним 01/11/18 Чтв 16:23:20  1288196
>>1288186
Пофиксил, ебать.
Аноним 01/11/18 Чтв 16:41:25  1288206
>>1288196
больше ничего нету, у тебя остальные методы ексепшены не бросают, мог быть нул поинтер, но при работе с командной строкой ты получаешь только строки
Аноним 01/11/18 Чтв 16:45:10  1288209
>>1288206
Я потерял всего 200 долларов, круто.
Аноним 01/11/18 Чтв 17:19:27  1288218
>>1288109
> Формат JSON-пакетов может меняться со временем.
Передавай первым полем версию пакета и на ее основании отправляй соответствующему обработчику.
Так ты сможешь корректно обрабатывать запросы в старом и новом формате обеспечивая безболезненный переход старых клиентов на новую версию.
Аноним 01/11/18 Чтв 17:26:22  1288222
>>1288140
оюосрался с этой хуйни, 30 минут посидел и ливнул
Аноним 01/11/18 Чтв 17:47:07  1288240
>>1288222
Ну для начала нормально же че ты сам учился по книжкам, но коллега очень хвалил джава раш за то что помогает втянутся
Аноним 01/11/18 Чтв 17:49:46  1288242
>>1288013
Ммм, сишное приведение типов.

Посоветуйте на чем гуй джавы писать.
Аноним 01/11/18 Чтв 17:50:41  1288245
>>1288242
>сишное
Питонское
Аноним 01/11/18 Чтв 17:55:36  1288246
>>1288245
В питоне вообще-то int(val), str(val) и т.п. А (int)val пошло с си с давних времен.
Аноним 01/11/18 Чтв 18:13:06  1288254
https://ru.wikibooks.org/wiki/Java/%D0%9F%D0%B5%D1%80%D0%B2%D0%BE%D0%B5_%D0%BE%D0%BA%D0%BD%D0%BE
Первый пример из кода с точки зрении красоты и правильности кода правилен? Это нормально, что ты вызываешь конструктор самого приложения для создания окна. Как по мне надо это выделять в отдельный класс лучше.
Аноним 01/11/18 Чтв 18:14:19  1288255
пиздец mysql без судо не работает лол я щас повешусь нахуй 2 дня с ним ебусь уже
Аноним 01/11/18 Чтв 18:20:36  1288256
>>1288255
Он должен работать без судо.
Аноним 01/11/18 Чтв 18:21:26  1288258
>>1288256
Ты мне блять рассказываешь?!
Аноним 01/11/18 Чтв 18:23:56  1288262
>>1288255
пользователя не сделал
@
Права не задал
@
бугуртишь
Аноним 01/11/18 Чтв 18:24:29  1288263
>>1288262
Хех
Аноним 01/11/18 Чтв 18:26:04  1288264
image.png (54Кб, 720x324)
?
Аноним 01/11/18 Чтв 18:37:09  1288274
Обожаю двач, как только напишешь сюда о проблеме, сразу допрёшь как её решить.
Аноним 01/11/18 Чтв 18:38:50  1288275
>>1288222
Первоначальная идея, как и первая версия с футурамой были годные, душевные. Потом конечно все трансформировалось в бездушную и жестокую машину по зарабатыванию бабла. Но для для новичка это все равно остается крутым проектом дял прокачки скила.
К слову кто-то еще рекомендовал курс stepik.
Аноним 01/11/18 Чтв 18:39:48  1288276
>>1288274
Ага. А еще круто утром за 5 минут решить то, над чем просидел весь вчерашний день.
Аноним 01/11/18 Чтв 18:43:05  1288280
Какой вариант лучше:
try {
Object object;
// Действие которое надо проверить
// Работаем с object
}
catch (Exception ex) {
// Ловим ошибку
}
Или
Object object
try {
// Действие которое надо проверить
}
catch (Exception ex) {
// Ловим ошибку
}
// Работаем с Object

В первом варианте будет большой цикл try, а во втором будет глобальная переменная. Что лучше?

Аноним 01/11/18 Чтв 18:43:22  1288281
>>1288264
Что за дистр? Хотел только линукс накатить, вспомнить былое.
Аноним 01/11/18 Чтв 18:46:16  1288282
Перешел с плюсов на вашу джаву. И знаете что? Это какое то непонятное чувство, код будто сам строчится, мозги не ебутся и не кипят. Как это ахуенно.
Аноним 01/11/18 Чтв 18:53:47  1288289
>>1288281
Бубунту
Аноним 01/11/18 Чтв 18:54:14  1288290
>>1288282
Главное сразу на питон не прыгай, ахуеешь.
Аноним 01/11/18 Чтв 18:57:42  1288293
>>1288290
Как раз я с питоном и сями в основном и работал. Просто джава это такой компромисс между двумя полярностями.
>>1288289
Какое DE?
Аноним 01/11/18 Чтв 19:00:45  1288298
>>1288293
Я после джавы ахуел с типизации когда срочно нужно было на питоне работать, отвык от такой простоты.
>DE
Голая убнту 18.04, там теперь расширения с гнома завезли, вообще кашерно.
Аноним 01/11/18 Чтв 19:02:05  1288300
>>1288298
Окей, прям щас поставлю наверное. Главное чтобы опять загрузчик не полетел во время установки.
Аноним 01/11/18 Чтв 19:03:39  1288304
>>1288300
в 2018 году с этим всем ебли меньше чем с шиндовсом.
Аноним 01/11/18 Чтв 19:05:29  1288305
>>1288304
Если ты погромист, то да. Только вот поиграть нельзя. Поэтому я всегда дуалбут держу.
Аноним 01/11/18 Чтв 19:07:57  1288308
>>1288305
>Если ты погромист
Да там уже давно вся сложность это гугл и контрол + V в терминал
>дуалбут
Я тоже так-то, хотя уже забыл когда на шиндовс возвращался.
Аноним 01/11/18 Чтв 19:10:07  1288309
>>1288308
>Я тоже так-то, хотя уже забыл когда на шиндовс возвращался.
Я недавно обновлялся на kubuntu до версии 18.10 и ахуел с лагов, вылетов, приветов моей мамаше и т.п. Даже терминал вылетать начал. Поэтому подгорел и снес все нахуй.
Теперь вот опять хочу вернуться на линукс, ибо заебно на винде.
Аноним 01/11/18 Чтв 19:11:58  1288310
>>1288309
Ставь голую убунту 18
Аноним 01/11/18 Чтв 19:20:15  1288315
>>1288289
можешь мне помочь? тоже убунту. я неправильно джава хом поставил или что?
Аноним 01/11/18 Чтв 19:22:03  1288317
>>1288315
Бро, после ебли с mysql я даже на этот скрин смотреть не хочу, давай гугл в руки и дальше сам, сорян.
Аноним 01/11/18 Чтв 19:22:02  1288318
(Спринг бут) Хочу вынести общие для нескольких микросервисов конфиги в отдельную либу и подключать ее просто как зависимость в помнике, это будет работать просто так, или надо еще как-то попердолиться?
Аноним 01/11/18 Чтв 19:28:14  1288324
>>1288310
Поставил. Как ты темы от гнома прихуячил к этому?
Аноним 01/11/18 Чтв 19:30:10  1288328
>>1288324
https://losst.ru/nastrojka-ubuntu-18-04-posle-ustanovki Тут вроде всё что надо есть.
Аноним 01/11/18 Чтв 19:31:05  1288329
>>1288328
Ок, спасибо.
Потом наверну тайловый менеджер.
Аноним 01/11/18 Чтв 19:33:12  1288335
Когда уже функции сделают объектами первого рода?
Аноним 01/11/18 Чтв 19:50:22  1288349
Почему у андройдщиков зп на порядок выше? По сути андройд же проще, чем эта гора фрэймворков и технологий в энтерпрайзе.
Аноним 01/11/18 Чтв 19:59:13  1288355
>>1288315
третий день с этой залупой ебусь, аноны, хелпаните(

или как это гуглить? гугол выдает страницы где у людей ждк не установлен, им говорят установить и все ЗАебись. у меня ждк стоит, но его это штука не видит.
Аноним 01/11/18 Чтв 20:00:26  1288358
>>1288355
пропиши java -version, и покеж.
Аноним 01/11/18 Чтв 20:02:36  1288363
>>1288358
$ java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

Аноним 01/11/18 Чтв 20:07:23  1288368
>>1288363
Блин, дистанционно я хуй что тебе посоветую, попробуй удалить джаву нахуй и заного поставить, я так обычно делаю когда с настройкой чего-нибудь проебусь.
Аноним 01/11/18 Чтв 20:07:50  1288369
заного блять
Аноним 01/11/18 Чтв 20:17:17  1288373

>>1288368
ладно, попробую. в то же место установить? тут просто в некоторых гайдах ее в usr/bin/jvm ставят, у меня в opt.
спасибо, что откликнулся, няша
Аноним 01/11/18 Чтв 20:34:07  1288386
>>1288113
JDBC хорош когда у тебя база сверхнормализована из-за количества данных.
Аноним 01/11/18 Чтв 20:42:05  1288391
>>1288181
Это не SQL тред, но думаю суть в том чтобы вытащить все цены где неправильно назначен idCustomer, и иного способа это сделать я не вижу. Вообще, очень изящно.
Аноним 01/11/18 Чтв 20:43:59  1288393
>>1288262
PSQL
@
NO SUCH USER
@
PSQL -U POSTGRES -W POSTGRES
@
WRONG PASSWORD
@
SU POSTGRES
@
???
@
PSQL
Аноним 01/11/18 Чтв 20:48:22  1288396
>>1288315
$JAVA_HOME должна вроде как на bin указывать, не?
update-java-alternatives -l
Аноним 01/11/18 Чтв 20:48:56  1288397
>>1288318
--spring.config.location
Аноним 01/11/18 Чтв 20:53:59  1288399
>>1288391
Но ведь idCustomer и O.idCustomer - одно и то же, ведь таблица-то одна с таким полем. И почему тогда оно работает, если айди сравниваются сами с собой, а значит должны быть равны?
Аноним 01/11/18 Чтв 21:11:50  1288407
>>1288349
Потому что ты не знаешь значения "на порядок".
Аноним 01/11/18 Чтв 21:14:33  1288408
>>1288315
>>1288355
А мог бы как белый человек поставить sdkman менять jdk как перчатки.
Аноним 01/11/18 Чтв 21:16:05  1288409
Если у меня в проекте есть бд к которой я подключаюсь, то на гитхаб её нужно заливать? А настройки же у всех разные там, это в ридми указывать что и где?
Аноним 01/11/18 Чтв 21:40:23  1288417
>>1288349
Потому что больше фриланса на щедрых буржуев, рабы бегут
Аноним 01/11/18 Чтв 21:45:43  1288420
>>1288399
>from OrderDetails
Ну не факт, например.
Если все как ты говоришь, подзапрос будет возвращать пустой набор строк, и все это будет ебучим индусским кодом чтобы получить 0.
Аноним 01/11/18 Чтв 21:49:52  1288423
image.png (262Кб, 478x478)
Почему джава тред переделали в тред sql/линукс и установкой ждк которое просто блять решается установкой ждк и жре и вставки их /bin папки как системные переменные.
Лучше скажите как мне в веб-приложении захуярить так, чтобы back-forward страницы не возвращали пользователя обратно на страницу профиля если он совершил logout ? Spring-boot если что.
Аноним 01/11/18 Чтв 21:51:50  1288424
>>1288420
Вот и я про то же. Ноль - неверный ответ (ну или верный, но частично, я хз, там ебанутый интерфейс). Если интересно - олимпиада "я профессионал", вбей в гугле, можешь тоже порешать вот это вот все.
Аноним 01/11/18 Чтв 21:52:48  1288425
>>1288423
Так ведь знание sql для жабера обязательно. Почему бы и не спросить о нем.
Аноним 01/11/18 Чтв 21:55:29  1288426
>>1288425
Для этого есть специальный тред. Вопрос по sql сюда бы зашел, будь это ебля с jdbc/jpa/hibernate или что ты там задумал и почему у тебя не работает. А так ты спрашиваешь про голый sql, что немного не сюда.
Аноним 01/11/18 Чтв 22:02:41  1288433
>>1288423
> как мне в веб-приложении захуярить так, чтобы back-forward страницы не возвращали пользователя обратно на страницу профиля если он совершил logout
Это ещё менее релевантный вопрос в контексте жабы. В браузере никак не сделать, есть метод https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method но в твоём случае его можно будет применить только для последней страницы непосредственно перед выходом. Впрочем для 99% случаев сойдёт.

Ещё можно для страниц профиля отключать кеш браузера.
Аноним 01/11/18 Чтв 22:04:19  1288435
>>1288423
if (logout) {
return "redirect:...";
}
Аноним 01/11/18 Чтв 22:04:24  1288436
>>1288409
Аноним 01/11/18 Чтв 22:04:51  1288437
>>1288397
А без этого никак?
Аноним 01/11/18 Чтв 22:13:44  1288438
>>1288433
>метод
Интересно, это хоть что-то.

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

Помнится мне кто-то сказал, что это можно поправить, использую HttpSessions, но я не особо понял как оно
может. Может ты разбираешься? Хотелось бы просто узнать, если это возможно усилиями спринга.

>>1288435
Вопрос не в том как редиректнуть и вернуть страницу. Это я и в POST методе могу. А в том, чтобы пользователь не нажал кнопку в верхном левом углу браузера и его не вернуло обратно, когда logout был уже сделан. Я и Spring-Security прописал и поставил в конфиг опцию для logout и прописал то, что нужно авторизоваться, чтобы просматривать профиль, но увы, блядский back всё равно возвращает.

Аноним 01/11/18 Чтв 22:25:30  1288441
Аноны, поясните на сколько годные книги? Стоит ли брать за 15 баксов?
https://www.humblebundle.com/books/java-by-packt-books?hmb_source=navbar&hmb_medium=product_tile&hmb_campaign=tile_index_4
Аноним 01/11/18 Чтв 22:32:22  1288443
>>1288441
>15 баксов
Я аж ромом поперхнулся.
Аноним 01/11/18 Чтв 22:36:20  1288444
>>1288423
блят. у меня стоит ждк и жре. у меня стоит джава хом на ждк(внутри которого жре). нужно прям две системные переменные их bin папок? как эти переменные назвать? чето я не понимаю как это сделать. попробовал дописать пути к bin'ам в path - не работает.
Аноним 01/11/18 Чтв 22:41:52  1288447
>>1288444
У меня стоит системная переменная и переменная среды JAVA_HOME на саму папку, где находится bin, lib и файлы. Т.е E:\OP-hui\JDK.
И стоит переменная среды JRE_HOME, которая тоже ведёт на саму папку, внутри которой стоит /bin. Покажи как у тебя стоит.
Аноним 01/11/18 Чтв 22:43:30  1288450
image.png (10Кб, 503x47)
image.png (6Кб, 289x106)
Так пацаны, если я в пик 1 передаю руснявые слова то на выходе получаю вопросики аля пик 2, это проблема именно жабы т.к. в воркбенче я добавляю тоже самое и всё работает, хелп
Аноним 01/11/18 Чтв 22:52:43  1288453
>>1288447
Аноним 01/11/18 Чтв 22:55:55  1288454
>>1288450
Решил проблему добавлением ?useUnicode=true&characterEncoding=utf8 к url, всем спасибо, ебать.
Аноним 01/11/18 Чтв 23:06:29  1288457
>>1288454
Обращайся.
Аноним 01/11/18 Чтв 23:08:59  1288459
>>1288453
Ну ты особенный у нас конечно. Так а чего ты в консоли клац-клац и готово? У вас ведь линукс за вас всё сам делает!!111 А если серьёзно, то мб нужно в разные папки или тупо снеси всё и переустанови. Попробуй из какой-то IDE посмотреть если она находит, Intellij тебе вроде даже сам установить может и сделать за тебя.
Аноним 01/11/18 Чтв 23:09:14  1288461
>>1288437
Дока не говорит о других способах конфигов в спринге. Ну можешь создать нахуй никому не нужный бин, инжектить в него контекст и назначать, но тогда для каждой смены конфига нужна будет перекомпиляция, что в прод-условиях подобно сосанию хуя когда рядом лежит только что заправленная баблом шлюха.
Аноним 01/11/18 Чтв 23:11:12  1288463
>>1288437
>>1288461
А, ещё альтернатива - spring cloud config, гайд можешь искать где-то здесь g00glen00b.be
Аноним 01/11/18 Чтв 23:17:33  1288468
Есть способ вытащить из бд mysql все idшники в массив интов JDBC ебаный?
Аноним 01/11/18 Чтв 23:26:48  1288473
image.png (14Кб, 332x168)
>>1288468
Бля, никто не знает? Или всем поебать? Я просто додумался только до пикрил, мне кажется не лучший вариант.
Аноним 01/11/18 Чтв 23:37:06  1288483
>>1288473
Если таблица не очень большая, то это хороший вариант.
Если большая, то надо делать sort by id + limit , а потом новый селект с where id > n
сраный mysql, чтоб ты сдох!!!111
Аноним 01/11/18 Чтв 23:39:00  1288484
>>1288483
Таки да, таблица не большая, слава богу блять.
Аноним 01/11/18 Чтв 23:39:55  1288486
1.PNG (5Кб, 570x103)
2.PNG (6Кб, 460x88)
3.PNG (6Кб, 654x51)
Джаваны, помогите зелени. Не находит драйвер для mysql. Пик 1 - зависимость в мавене, 2 - получение соединения, 3 - эксепшн. В чем, собственно, проблема?
Аноним 01/11/18 Чтв 23:41:07  1288487
>>1288486
сажа прилипла
Аноним 01/11/18 Чтв 23:51:29  1288490
>>1288486
Гугл в помощь брат, гугл в помощь, тут тебе не помогут.
Аноним 02/11/18 Птн 00:16:38  1288500
>>1288264
Бля, только недавно с этой хернёй ебался, там какую-то ебату с юзерами сделали, можно вообще написать sudo mysql и он откроет всё. Не нашёл как исправить просто откатился на семнадцатую. Если найдёшь или нашёл решение, то отпиши, пожалуйста.
Аноним 02/11/18 Птн 00:17:31  1288501
>>1288463
Это не то, в клауд конфиге просто проперти, а мне нужен именно класс с аннотацией @Configuration.
Аноним 02/11/18 Птн 00:20:19  1288503
>>1288500
Решение я нашёл, но я уже не вспомню на каком сайте, а история у меня забита говном на эту тему, хз откуда я взял, сорян(
Аноним 02/11/18 Птн 00:47:49  1288514
https://pastebin.com/93T1qkTj Если не считать бд, запихал всё в 1 файл, пиздец конечно.
Аноним 02/11/18 Птн 01:08:23  1288523
>>1288486
А ты где то этот драйвер прописал, чтоб его получать то блядь? На кури код и не задавай больше тупых вопросов, у тебя в логах уже инфы выше крыши
Аноним 02/11/18 Птн 01:09:28  1288524
>>1288501
>>1288318
@Configuration это не конфиги, блджад, а ручное создание бинов. Да, ты можешь это сделать без ебли, только отдельную библиотеку собирай без spring-boot-plugin.
Аноним 02/11/18 Птн 01:12:58  1288526
>>1288486
>>1288523
Удваиваю вот этого вот. В Pure Java нужно драйвер подтягивать по имени класса.
Аноним 02/11/18 Птн 07:56:37  1288581
>>1288526
>>1288523
Если вы про Class.forName, то херня это все. Если бы дело было в этом, кинулся бы ClassNotFoundException, а у него SqlException.
Аноним 02/11/18 Птн 08:03:11  1288585
>>1288473
> while true + break
> Использует исключения для реализации алгоритма
Аноним 02/11/18 Птн 08:03:56  1288586
>>1288486
Мне кажется, ты базу данных не прописал в url, к которой подключаешься.
Аноним 02/11/18 Птн 09:42:12  1288609
image.png (253Кб, 645x729)
>>1288585
>Я просто додумался только до пикрил, мне кажется не лучший вариант.
Аноним 02/11/18 Птн 09:46:32  1288615
>>1288318
Будет работать. Это же и есть те самые spring-boot-pizda-huita-starter-ы.
Аноним 02/11/18 Птн 09:48:08  1288617
>>1288483
>Если большая, то надо делать sort by id + limit , а потом новый селект с where id > n
Мы вам перезвоним.

>>1288468
К У Р С О Р
У
Р
С
О
Р
Аноним 02/11/18 Птн 09:50:09  1288619
>>1288617
>К У Р С О Р
Ты же понимаешь что это мне нихуя не говорит, мне даже гугл нихуя об этом не говорит.
Аноним 02/11/18 Птн 09:57:36  1288626
>>1288609
У ResultSet же есть метод hasNext().
while (result.hasNext()) {
ids.add(result.getInt("id"))
}
Аноним 02/11/18 Птн 10:04:39  1288629
image.png (2Кб, 182x19)
>>1288626
Точно есть?
Аноним 02/11/18 Птн 10:15:12  1288639
>>1288629
А, нет. Просто делается while (result.next()). Давно с JDBC не работал уже.
Аноним 02/11/18 Птн 10:16:45  1288640
image.png (38Кб, 550x275)
>>1288639
Да я уже понял.

Ну всем спасибо кароч, переделал на пикрил, сейчас остальные исключения буду фиксить.
Аноним 02/11/18 Птн 10:19:20  1288641
image.png (23Кб, 575x144)
А вот пикрил например убирать не стоит? Тут же подразумевается что юзер введёт номер который есть в бд, а если его нет то собсна ловим исключением ебать.
Аноним 02/11/18 Птн 10:23:42  1288649
Хммм, а у меня больше и нет такого использования исключений. Единичный случай был так сказать.
Аноним 02/11/18 Птн 11:02:03  1288675
>>1288619
https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor
Аноним 02/11/18 Птн 11:03:52  1288676
>>1288641
Зачем исключение? Проверяй что rs.next() вернуло false - тогда ничего не нашлось.
Аноним 02/11/18 Птн 12:12:18  1288704
>>1288641
>prstmt
>con
Ты что, буквы экономишь? Почему нельзя нормально назвать переменную?
Аноним 02/11/18 Птн 12:14:53  1288706
image.png (23Кб, 556x134)
image.png (7Кб, 421x79)
>>1288676
Так?
>>1288704
Просто копировал из гайда и было лень переименовывать, таки да, надо исправить.
Аноним 02/11/18 Птн 12:54:43  1288733
>>1288581
Еще один мамкин пограмист, которому впадлу логи почитать
Аноним 02/11/18 Птн 12:55:41  1288735
>>1288640
Зачем тебе два запроса, если можно один?
Аноним 02/11/18 Птн 12:56:35  1288736
>>1288735
Какой?
Аноним 02/11/18 Птн 13:04:35  1288740
>>1288736
Эй, дружок-пирожок, тобой выбрана неправильная дверь. Клуб 1с-ников на два блока вниз. Хоть бы почитал немного теории по sql что ли.
Аноним 02/11/18 Птн 13:05:30  1288741
>>1288740
>Пук
Окей.
Аноним 02/11/18 Птн 13:07:04  1288744
>>1288741
О, Вы из /b? Мое увожение. Сренькать гринтекстом это вам не книжки читать.
Аноним 02/11/18 Птн 13:09:48  1288747
image.png (22Кб, 466x182)
>>1288744
Лана лана, ты прав.
Аноним 02/11/18 Птн 13:11:06  1288748
>>1288747
arraylist удолить зобыл((99(
Аноним 02/11/18 Птн 15:36:39  1288807
>>1288747
Если на спринге пишешь то легче создать класс таблицы загрузить его и как то вот так написать:
taskRepo.findAll().stream().map(Task::getId).collect(Collectors.toList())
и все
Аноним 02/11/18 Птн 15:37:46  1288808
>>1288807
jdbc
Аноним 02/11/18 Птн 15:40:32  1288809
>>1288808
соре
Аноним 02/11/18 Птн 17:20:34  1288845
image.png (200Кб, 1680x704)
image.png (181Кб, 928x662)
Что это значит пасаны?
Аноним 02/11/18 Птн 17:25:15  1288847
>>1288845
В команде неправильно указал, написал
mvn exec:java -Dexec.mainClass="com.app.ToDo"
вместо
mvn exec:java -Dexec.mainClass="ToDo"
Аноним 02/11/18 Птн 18:37:46  1288905
image.png (116Кб, 784x397)
пиздец как javafx к maven подключить что это вообще значит?
Аноним 02/11/18 Птн 18:59:24  1288911
>>1288905
Проблема снова решена.
>>1288905
>>1288845
Спасибо за помощь ребят.
Аноним 02/11/18 Птн 19:12:31  1288917
Какой же в Джаве выблядский синтаксис после Питона. Как учить это говно?
Аноним 02/11/18 Птн 19:19:13  1288919
>>1288917
Не учи, зачем страдать?
Аноним 02/11/18 Птн 19:24:13  1288921
>>1288615
>>1288524
Будет работать, только если @ComponentScan его видит, либо через @Import.
Аноним 02/11/18 Птн 19:24:16  1288922
>>1288919
На работе сказали. Дежурное нытье, один хуй буду учить.
Аноним 02/11/18 Птн 19:24:43  1288923
>>1288917
>после Питона
Ебобо? Иди ямлы ковыряй.
Аноним 02/11/18 Птн 19:25:18  1288924
Почему, кстати, мавен еще не поддерживает конфигурацию через pom.yml?
Аноним 02/11/18 Птн 19:26:26  1288926
image.png (238Кб, 521x514)
НАПИСАЛ int("ЖОПА")
@
ОБОСРАЛСЯ
Аноним 02/11/18 Птн 19:56:46  1288945
Прикручивать gui кароче будет наверное пустой тратой времени, в пизду так сказатб.
Аноним 02/11/18 Птн 19:57:42  1288946
>>1288945
Если делаешь на JavaFx, то да, на Qt можешь попердолиться.
Аноним 02/11/18 Птн 20:03:37  1288951
А теперь другой вопрос, как залить эту парашу на гитхаб, тут же бд.
Аноним 02/11/18 Птн 20:08:42  1288954
>>1288923
че несет? переведите плиз))
Аноним 02/11/18 Птн 20:09:55  1288957
>>1288951
Sql script приложи
Аноним 02/11/18 Птн 20:18:50  1288963
image.png (12Кб, 519x107)
>>1288957
Текстовый файлик с пикрил?
Аноним 02/11/18 Птн 20:46:54  1288981
>>1288963
Ага
Аноним 02/11/18 Птн 20:54:40  1288990
Сап жавач, хочу запилить библиоткеку которая превращает все слова в строке по типу "рифма" -> "хуифма" на паре десятков языков. Посоветуйте как ее архитектурно спланировать?
Аноним 02/11/18 Птн 21:07:48  1288995
>>1288990
Библиотеку? Тут же одного метода хватит. Но идея классная.
Аноним 02/11/18 Птн 21:08:53  1288996
>>1288990
Такое уже есть.
Аноним 02/11/18 Птн 21:38:13  1289007
>>1288963
Или типа есть такая хуйня чтобы 2 раза на неё кликнул и скрипт тупа сам выполнился?
Аноним 02/11/18 Птн 21:51:20  1289011
¯\_(ツ)_/¯
https://github.com/Weydile/ToDo-List
Снова выхожу на связь Аноним 02/11/18 Птн 22:06:29  1289019
wojak.jpg (5Кб, 205x246)
float floatingsecondTerm = capital / firstTerm;
int secondTerm = Math.ceil(floatingsecondTerm);
long composition = firstTerm * secondTerm;
int kopeck = composition % 100;

Жава ругается на вторую и четвёртую строку, якобы possible missy, но на деле же нихуя не потеряется. Как её переубедить?
Аноним 02/11/18 Птн 22:26:39  1289034
>>1289019
Пропустил вторую строку сначала через Math.round и привелось к лонгу, окей, хотя и убого как-то.
Остался вопрос по поводу копеек
Аноним 02/11/18 Птн 22:50:24  1289039
>>1289019
>>1289034
Лонг может быть больше инта в 9,223,372,036,854,775,808 / 2,147,483,648 миллиарды раз, блядь. По-твоему остаток от деления на сто гарантированно влезет в инт? А про простые числа ты блядь слышал?
Аноним 02/11/18 Птн 22:53:12  1289040
>>1289039
Подели целое на сто так, чтобы остаток был больше ста, ебанько
Аноним 02/11/18 Птн 23:01:47  1289042
>>1289040
>Среньк
Аноним 02/11/18 Птн 23:04:46  1289044
>>1289042
>>1288744
Аноним 02/11/18 Птн 23:07:18  1289045
double floatingSecondTerm = doubleCapital / doubleFirstTerm;
long secondTerm = Math.round(Math.ceil(floatingSecondTerm));
long composition = firstTerm * secondTerm;
long kopeck = composition % 100;

Тем временем я пошёл по ШИРОКОЙ дорожке и копейки у меня теперь представлены лонгом. Пиздец-пиздец
Аноним 02/11/18 Птн 23:08:04  1289047
>>1289045
А нахуя это, если есть BigInteger или еще че-то такое?
Аноним 02/11/18 Птн 23:09:38  1289050
>>1289047
BigDecimal
Аноним 02/11/18 Птн 23:13:45  1289058
>>1289047
У меня двухзначный айсикью, поэтому я страдаю хуйнёй
Аноним 03/11/18 Суб 12:53:58  1289228
>>1287973 (OP)
Как призвать модератора в тред чтоб добавил тег в заголовок треба? ОП-хуй же не проставил нихуя.
Аноним 03/11/18 Суб 12:54:07  1289229
Ты заебал срать в тред уёбок. Почему ты не можешь элементарно загуглить свой блядский вопрос?
Аноним 03/11/18 Суб 12:54:21  1289230
>>1289228
*Треда
Аноним 04/11/18 Вск 18:25:38  1289711
https://pastebin.com/UzCUaAuJ
В методе сначала проверяется условие @PreAuthorize, т.е. даже если юзер с запрашиваемым id не существует, возвращается 403. Как сделать, чтобы сначала проверялось наличие юзера (и выбрасывалось 404 исключение, если он не существует) и только потом проверялось условие в @PreAuthorize? В моем понимании надо заменить @PreAuthorize на @PostAuthorize и откатывать транзакцию при фейле (т.е. после выполнения метода). Вопрос как сделать, чтобы чек авторизации был внутри транзакции и она откатывалась при AccessDeniedException? Или может есть другой способ?
Аноним 04/11/18 Вск 18:46:26  1289716
image.png (84Кб, 625x802)
image.png (19478Кб, 3264x2448)
У кого тут в секту записаться можно?
Аноним 04/11/18 Вск 18:49:19  1289718
>>1289716
Ccыль на пост можно?
Аноним 04/11/18 Вск 18:52:13  1289720
image.png (1Кб, 490x19)
image.png (159Кб, 512x512)
>>1289718
Аноним 04/11/18 Вск 19:30:01  1289724
>>1289720
Ну ты траль, конечно, ссылку скриншотом кидать.
Аноним # OP  04/11/18 Вск 20:03:20  1289743

>>1289720
Настолько тупо что смешно
Аноним 04/11/18 Вск 20:04:27  1289744
Семен семеныч, вы?
Аноним 04/11/18 Вск 21:32:24  1289771
>>1289744
Не, рил улыбнуло
Я хотел сказать сори, что тег не проставил, потом передумал, а галку убрать забыл, кек.
Соре за тег
Аноним 05/11/18 Пнд 00:40:02  1289863
Чёт совсем затуп, дайте поцаны идею для портфолио на гитхабе, ну так, тупа для кандидата на джуна, для лоха тупа.
Аноним 05/11/18 Пнд 07:42:05  1289930
>>1287979
Классический сярп люто отсасывает по перфомансу. Особенно это заметно по веб-фреймворкам: у джавовских rps в тысячи раз больше. Речь, разумеется, не про кор: он пиздат и примерно на одном уровне с джавой.
Самое основное превосходство в том, что на жаве гораздо больше написано. Больше либок, больше фреймворков, больше примеров кода. Даже есть кроссплатформенные окошки, если угодно.
Ну и вакансий почти в полтора раза больше.
Аноним 05/11/18 Пнд 07:59:22  1289932
>>1289930
Вот это манямирок. Особенно с перфоманса орнул. Джава это один из самых тормознутых языков, хуже наверно только Питон.
Аноним 05/11/18 Пнд 08:20:15  1289936
>>1289932
Лет 6 назад так же думал когда в олимпиадах участвовал и там на джаву были особенные инвалидные условия по времени.
Сейчас уже все совсем не так, вот тут вроде чувак очень подробно все описал https://stackoverflow.com/questions/2163411/is-java-really-slow ща бы ссылками на стековерфлоу кидаться, как пруфами
Аноним 05/11/18 Пнд 08:23:56  1289937
>>1288990
https://github.com/wolches/huilib
Околодемка
Аноним 05/11/18 Пнд 11:52:45  1289984
>>1289937
Что-то мне подсказывает, что твоя иерархия классов - дичайший говнокод. Это было трудно читать, непонятно, зачем пихать столько классов.
Аноним 05/11/18 Пнд 12:02:15  1289989
>>1289984
Ты чё, ньюфаг? Это же джава, у нас тут вообще-то принято на каждый пук писать класс. Чем больше классов, тем больше ты сеньор.
Аноним 05/11/18 Пнд 12:05:14  1289991
>>1289989
Ты абсолютно прав, 1 пук = 1 класс, но ты забыл, что сеньерность это ещё умение классифицировать пуки по пекейджам, а в этом коде их нет а вообще да, очень сложно читается
Аноним 05/11/18 Пнд 12:23:37  1289997
>>1289991
>>1289989
>>1289984
Я написал это за час на вписке, лол
1) Ок, сокращу до 1 интерфейса и реализации.
2) Прикручу к проекту junit и вынесу в тесты пример использования.
3) Обозначу EmptyStringException extends RuntimeException и буду использовать его
Норм?
Аноним 05/11/18 Пнд 12:42:13  1290009
>>1289997
Веселые вписки у вас, завидую.
Аноним 05/11/18 Пнд 13:25:04  1290023
>>1290009
>>1289997
Фикс в процессе: https://github.com/wolches/huilib/commit/0eb730c9996fa567037484ec05a53b9f8b4f19bc

1) Нахуй свой эксепшон, нпе вполне сойдет
2) Если пустая строка нихуя не делаем
3) Впихнул все в интерфейс + класс
4) Стоит ли учитывать иные символы кроме пробелов?
Аноним 05/11/18 Пнд 19:24:46  1290226
image.png (7Кб, 606x66)
Нормально ли, что у меня в коде куча мап вида <A.class, Что-то связанное с А.class>? Пример на пикче.
Аноним 05/11/18 Пнд 19:40:40  1290235
>>1290226
Ты что-то гуйное пишешь? У меня в C# была куча подобных мап для кеширования объектов, которые описываются атрибутами и получаются при помощи рефлексии в рантайме.
Доллар доллар доллар Аноним 05/11/18 Пнд 20:26:29  1290253
wojak.jpg (5Кб, 205x246)
public void exec() {
BufferedReader reader = null;
try {
URL site = new URL("http://www.cbr.ru/");
reader = new BufferedReader(new InputStreamReader(site.openStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (IOException ex) {
//...
} finally {
try {
reader.close();
} catch (IOException ex) {
//...
}
}
}
Спиздил вот такой кроулер, он мне через принтлн выдаёт кучу всякой хуйни внутри тэгов. Как её пропарсить и вытащить курс доллара на сегодня? JDOM скачал, а что делать с ним не знаю.
Аноним 05/11/18 Пнд 20:56:45  1290264
>>1290253
Jsoup
Аноним 05/11/18 Пнд 20:59:21  1290267
>>1290023
https://github.com/wolches/huilib/commit/c9daf448653e8da21199cac432d59eacdcf2ca50
Аноним 05/11/18 Пнд 23:21:14  1290319
Анон, подскажи буржуйских ресурсов с качеством статей хотя бы не ниже хабра.
Аноним 05/11/18 Пнд 23:50:26  1290349
>>1290253
>Спиздил вот такой кроулер
Сука чаем подавился. Бычки из параши не пиздишь, случаем?
Аноним 06/11/18 Втр 00:06:28  1290365
>>1287995
Тёма, ты?
Аноним 06/11/18 Втр 07:07:25  1290487
>>1290349
Ну по сравнению с jsoup это и было бычками с параши, но ладно
Аноним 06/11/18 Втр 09:16:45  1290503
В самой БД могу искать Cyrillic символы, а когда запрашиваю с сервера запрос на удаленную эту БД, то он мне не находит. Хотя спокойно находит англ + цифры.

Пытался менять кодировку самой БД на cp1252 - он искал, но в этой БД и в ответах отображались символы как ?????? ????? ?????.

Куда копать-то?
Аноним 06/11/18 Втр 09:56:39  1290512
>>1290503
Тут экстрасенсов нет. Какая СУБД, как ты к ней подключаешься, как делаешь запросы?
Аноним 06/11/18 Втр 10:15:41  1290514
>>1290512
>Какая СУБД
MySQL

>как ты к ней подключаешься
через jdbc

>как делаешь запросы?
SELECT * FROM personal WHERE NAME LIKE N'%Мих%' COLLATE utf8_general_ci
Аноним 06/11/18 Втр 10:54:58  1290532
>>1290514
Трабла решилась с добавлением строчки characterEncoding=UTF-8 при подключении.
Аноним 06/11/18 Втр 11:20:49  1290533
Скиньте доки или книжки для подготовки к собеседованию на синьора. Чтобы не позднее 2016-2017 года выпуска.
Аноним 06/11/18 Втр 11:21:22  1290534
>>1290533
>не позднее
не ранее

fix
Аноним 06/11/18 Втр 11:37:02  1290540
>>1290533
Готовился по SICP, прошло гладко, теперь я сеньор.
Аноним 06/11/18 Втр 11:43:54  1290544
>>1290533
>для подготовки к собеседованию на синьора.
Походил по барам случайно один раз, меня сразу с джуна до синьора помидора повысили. Рабочий метод, советую. Сейчас сижу на работе пишу одну строчку за восемь часов, а в остальное время пизжу в курилке.
Аноним 06/11/18 Втр 11:53:10  1290549
>>1290532
Пиздец, это же на первой странице гугла, ну ты и пидор.
Аноним 06/11/18 Втр 13:34:35  1290591
Сейчас пишут на чистом JavaEE или уже везде Spring? Правильно ли, что на JavaEE для каждого запроса клиента свой сервлет?
Аноним 06/11/18 Втр 13:36:00  1290592
>>1290591
>на чистом JavaEE
Не пишут, только легаси-говно.
Аноним 06/11/18 Втр 17:41:38  1290696
>>1290592
Подтверждаю. Хоть Оракл и пыжится изо всех сил, но лошадь уже очевидно сдохла. Писать веб-приложение на связке JSF-EJB-JAX-RS в 2018 будет только ебанат.
Аноним 06/11/18 Втр 17:44:02  1290699
>>1290696
> Хоть Оракл и пыжится изо всех сил
Под "пыжится" ты подразумеваешь "удалил из jdk и отдал сообществу"? По мне так наоборот выглядит как похороны.
Аноним 06/11/18 Втр 17:49:58  1290707
>>1290699
В jdk её, тащемта, и не было. JDK это Java SE + JavaFX (до недавних пор).
А слив Java EE в Apache и правда больше похож на похороны, тут ты прав. Хотя всего год-два назад Оракл бил себя пяткой в грудь, поясняя про неебические перспективы развития. Где-то статья на Хабре была, лень искать.
Аноним 06/11/18 Втр 17:50:11  1290709
>>1290696
А чем плох EJB? По мне так вполне норм.
Аноним 06/11/18 Втр 17:57:43  1290713
>>1290707
> В jdk её, тащемта, и не было. JDK это Java SE + JavaFX (до недавних пор).
Тащем-та в Java SE была своя собственная часть EE начиная с шестой жавы. Вот тут написано подробней: http://openjdk.java.net/jeps/320

> Java SE 6 included a full Web Services stack for the convenience of Java developers. The stack consisted of four technologies that were originally developed for the Java EE Platform: JAX-WS (Java API for XML-Based Web Services), JAXB (Java Architecture for XML Binding), JAF (the JavaBeans Activation Framework), and Common Annotations. At the time of inclusion, the versions in Java SE were identical to the versions in Java EE, except for Java SE dropping a package in Common Annotations that concerned the Java EE security model. However, over time, the versions in Java EE evolved, which led to difficulties for the versions in Java SE.


> А слив Java EE в Apache
Только не Apache, а Eclipse.
Аноним 06/11/18 Втр 18:06:10  1290719
>>1290709
Тем, что EJB сам по себе практически бесполезен. Написание бизнес-логики на энтерпрайз-бинах вынуждает тебя все остальные слои твоего убер-приложения также ебашить на Java EE библиотеках.

Хочешь веб-морду? Вот тебе JSF. А всякие Bootstrap и Angular засунь себе в жопу, никакого открытого API у бинов нету.

Работа с базой? Онли JPA, хотя в этом случае всё ещё вполне неплохо. Но Spring DAO всё равно пизже будет.

Хочешь взаимодействия с другими приложениями? Если синхронно, то только JAX-RS (или -WS, хотя про SOAP уже почти все забыли, и поделом), если асинхронно, то только JMS, причём в качестве брокера ты можешь использовать только тот сервер, на котором вертится и EJB-контейнер, про легковесные ActiveMQ забудь (если, конечно, твой сервер не TomEE).

Их тяжело отлаживать, сам процесс постоянного деплоя и разворачивания на монструозном сервере с конфигурированием в xml после Spring MVC выглядит каким-то дикарством, тем более, что на горячую этого и не сделаешь (хоть поставщики серверов и пиздят про такую возможность, на деле там дохуя нюансов, в итоге всё равно приходится перестартовывать сервак целиком).

А с появлением божественного Spring Boot концепция веб-приложений в корне поменялась. Теперь не приложение вертится внутри сервака, теперь сервак подтягивается внутрь приложения просто как зависимость, избавляя тебя от ебли с настройкой JNDI-ресурсов (брррр...), и тем более ручной маршрутизации и распределения нагрузки. Всё это теперь делается парой аннотаций и десятком строчек в application.yml.

Всему этому Java EE ничего противопоставить не смог.
Аноним 06/11/18 Втр 18:14:25  1290726
>>1290713
Да, точно, в Eclipse. В Apache был слит NetBeans.

А вот что будет с GlassFish, вообще не ясно. Надуюсь, что Payara не даст ему умереть.

Такое же туманное будущее у WildFly после поглощения IBMом RedHat. У IBM есть WebSphere, ещё один сервак им нахуй не упал.
Аноним 06/11/18 Втр 18:25:16  1290734
>>1290719
ты скозал ?
Аноним 06/11/18 Втр 18:30:27  1290736
>>1290734
Подтверждаю, он сказал.
Аноним 06/11/18 Втр 19:28:47  1290775
Перенес в отдельную либу @Configuration для некоторых бинов, а вместе с ним парочку @Component и @Service. Теперь у меня есть аннотация, с помощью которой этот конфиг подключается к приложению на спрингбуте. В аннотации есть @Import(FooConfig.class), а в конфиге такие же импорты всех компонентов и сервисов. Это норм или я какую-то хуиту горожу?
Аноним 06/11/18 Втр 19:41:38  1290780
бля, чот не модно тут у вас. нахуя я вообще вюда зашел...
Аноним 06/11/18 Втр 19:46:59  1290783
>>1290780
А, это ты тот мелкобуква, который доебывался до мелочей из-за того, что ему скучно? Как говорится, узнал тебя по твоим шизоидным высерам. А теперь пiшов нахуй, как говорится.
Аноним 06/11/18 Втр 20:01:41  1290797
>>1290783
>это ты
нет
>узнал тебя
нет не узнал
>пiшов нахуй
нет ты
Аноним 06/11/18 Втр 21:47:46  1290882
>>1290719
Ох и удваиваю этого мудреца.
Аноним 06/11/18 Втр 21:59:13  1290895
Знающий Анон поясни по JPA.
Например есть связь manytomay.
Как сделать лучше и ПОЧЕМУ:
1. получить коллекцию объектов нужной стороны. Достать из них через форич через геттер каждого объекта нужную колумн(поле объекта).
2. Написать запрос @Query, который будет возвращать уже нужные поля объектов и возвращать коллекцию.

Первый способ через джаву, второй через ДБ. Что быстрее выполниться? Лучше грузить ДБ запросами или сервак логикой?
Аноним 06/11/18 Втр 22:22:11  1290922
image.png (724Кб, 600x600)
>>1290895
>Лучше грузить ДБ запросами или сервак логикой?
Аноним 06/11/18 Втр 23:04:18  1290949
>>1290895
Лучше грузить бд хранимками.
Аноним 07/11/18 Срд 02:31:04  1291044
рап.PNG (50Кб, 986x693)
>>1290264
Но зачем? Если это можно сделать рекегсами без каких либо дополнительных либ.
Аноним 07/11/18 Срд 09:04:03  1291081
>>1291044
Парсинг HTML регэкспами — грубейший анти-паттерн, который наказывается немедленным расстрелом на месте!
Аноним 07/11/18 Срд 09:40:04  1291091
>>1291081
Почему?
Аноним 07/11/18 Срд 09:50:07  1291093
>>1291091
https://stackoverflow.com/a/1732454
Аноним 07/11/18 Срд 09:56:20  1291097
>>1290719
>в качестве брокера ты можешь использовать только тот сервер, на котором вертится и EJB-контейнер
Почему это?
Аноним 07/11/18 Срд 10:35:00  1291106
>>1291093
Неплохо его накрыло. Но, как я могу заметить, кроме его нытья насчет нечитабельности такого парсинга, никаких аргументов против этого нет. Так что почему бы и не парсить так, если уж хочется.
Аноним 07/11/18 Срд 10:57:05  1291112
>>1291097
Если ты message-driven бины используешь, как они в этом случае должны очередь сообщений прослушивать, крутясь в EJB-контейнере? Реализация EJB эту магию скрывает внутри себя: ты создаёшь на сервере JMS Queue, и его же указываешь в @MessageDriven аннотации бина. Можно ли в нём внешнюю очередь указать? В стандартном EJB нет пруфани, если я неправ.

Возможно, в каких-то реализациях такую возможность и добавили, но это уже по-любому специфичное для конкретного сервера расширение стандарта, то есть если вдруг тебе по каким-то причинам пришлось пересесть на другой сервак, есть шанс лососнуть тунца.
Аноним 07/11/18 Срд 11:38:51  1291130
>>1291112
Напрямую в @MessageDriven-бине в конфигурации указать адрес, где крутится брокер, либо в настройках контейнера прописать.
Аноним 07/11/18 Срд 12:20:54  1291143
>>1291130
Бля, братан, если не влом, запили хеллоуворд. Рили интересно.
5 принципов SOLID SOLID 07/11/18 Срд 12:41:49  1291147
Сап, двач. Поясните за 5 принципов SOLID. Нужно по два примера(хорошего и плохого) использования принципа. До лекции осталось 15 мин, мужское гей-братство, помогите!..
Аноним 07/11/18 Срд 13:24:21  1291159
>>1291147
Ты препод что ли? Кек
Аноним 07/11/18 Срд 14:37:01  1291184
>>1291159
Лол. А ведь и правда может быть препод.
Аноним 07/11/18 Срд 14:37:29  1291185
>>1291147
Пфф, просто говоришь "читайте методичку" и все. Зачем напрягаться?
Аноним 07/11/18 Срд 14:39:39  1291186
Если метод фейлиться, стоит возварщать эксепшен или нулл?
Например метод должен возвращать объект || или булевое значение в случае, если такой объект не существует.
Аноним 07/11/18 Срд 14:40:10  1291187
>>1291185
Рака яичек тебе
Хотя это все же лучше, чем диктовать методичку
Аноним 07/11/18 Срд 14:43:25  1291189
>>1291186
Имхо, а я нубас
Зависит от задачи. Исключения нужны, когда программа дальше не может полноценно работать. Если нулл не сломает твою прогу - возвращай его
Аноним 07/11/18 Срд 14:47:34  1291192
>>1291189
Может быть есть какой то шаблон или бест практис. Каштомых экспшенов на все случае жизни накатать и кидать их из рантайма. Хуй знает кароч.
Аноним 07/11/18 Срд 14:56:01  1291197
>>1291192
Можешь попробовать заворачивать в Optional.
Аноним 07/11/18 Срд 14:58:06  1291198
>>1291192
>Каштомых эксепшонов
Такое тоже практикуется. А вообще даже в каркасе коллекций есть методы типа remove() и poll() . Один кидает эксепшн, другой - возвращает нулл, если список пуст. Так что и впрямь от задачи зависит.
Аноним 07/11/18 Срд 15:00:06  1291199
>>1291187
Не, ну а чо. Как будто на лекции дают то, чего нет в методичке. Хз, зачем вообще их посещать, если можно самому все изучить быстрее. Хотя может у вас в шараге и впрямь есть смысл ходить на лекции, не знаю.
Аноним 07/11/18 Срд 15:17:06  1291203
>>1291199
Лучше походить на эти ёбаные лекции, чем потом в ужасе переписывать конспекты перед сессией.
Аноним 07/11/18 Срд 15:28:06  1291209
>>1291203
М е т о д и ч к а. Смысл переписывать конспекты, если их не проверяют (не проверяют ведь?), а все необходимое для подготовки уже написано за тебя в методичке?
Аноним 07/11/18 Срд 15:29:00  1291210
>>1291197
Проверка на нулл в Optional нужна только для стримов
Аноним 07/11/18 Срд 15:40:04  1291214
>>1291209
>не проверяют ведь?
Оо, еще как проверяют, а после проверки дырявят гвоздём. Без полного конспекта недопуск и ебись как хочешь. Как говориться, не можешь — научим, не хочешь — заставим. Конеш, не по всем предметам так, но по многим.
Аноним 07/11/18 Срд 16:15:25  1291229
>>1291199
Смотря какая методичка. У нас жутко формализованные, просто пиздец, как будто лицензионное соглашение читаешь. А препод может на простом языке объяснить эту же тему и сказать, что в методичке суть, а что - вода для презентабельности/просто для галочки. Кроме того можно сразу вопрос задать, если не всек что-то, преподы, если сами понимают тему, обычно с удовольствием отвечают на вопросы
Аноним 07/11/18 Срд 16:26:20  1291236
>>1291214
>>1291229
Похоже, что в моей шараге просто рай, раз ничего такого нет, либо в минимальном объеме. Оценивают знания на самом экзамене, а не ебут конспектами, ибо какая разница, как ты получаешь знания, если в итоге они у тебя есть? Не понимаю этого подхода с механическим переписыванием лекций.
Аноним 07/11/18 Срд 17:15:41  1291257
>>1291186
> Если метод фейлиться, стоит возварщать эксепшен или нулл?
Видел очень хорошую речь на конференции по C++ по этому поводу. null как и optional плохи тем, что ты не знаешь почему зафейлился твой метод. В жаве null ещё и плох тем, что он никак не выделяется, поскольку все ссылочные типы могут быть null и зачастую это не является ошибкой.

Можно, конечно, возвращать самодельный discriminated union (который в жаве можно имитировать несколькими классами с наследованием), который будет хранить и ошибку и результат, но сомневаюсь что это будет быстрее эксепшонов. Благо VM эксепшоны очень хорошо оптимизирует.

> в случае, если такой объект не существует.
В таком случае optional идеален. В конце концов тут ведь ошибки нет, ты просто указываешь, что объект не найден. null плохо использовать потому, что объект может быть найден и равен null.

>>1291192
> Каштомых экспшенов
Я такое пишу только если эксепшон кидается самому пользователю API. В противном случае (если эксепшон ловится внутри самой программы и никак пользователю не виден) в 90% случаев хватает IllegalStateException (если программа находится в таком состоянии, что выполнить метод невозможно) и IllegalArgumentException (если переданный аргумент имеет неправильно значение). При конструировании передаю message, который затем логгируется.
Аноним 07/11/18 Срд 18:14:07  1291290
>>1291257
Спасибо. Наверно остановлюсь на эксепшенах. К этому и склонялся.
Потому что да, если метод вернул нуль ну блять ну нуль и нуль хуй его знает почему.
Аноним 07/11/18 Срд 20:51:02  1291381
Ебучий MySQL, как же горит с него. Почему нельзя было добавить чертов EXCEPT в свою реализацию? Нахуя все оставлять на гребаные джойны? Сижу ебусь теперь с этим, ведь в моем случае костыли на джойнах не помогают.
Аноним 07/11/18 Срд 22:15:58  1291438
>>1291186
Иногда используют оба этих подхода, даже в одном методе.
Например InputStream.read() - возвращает -1 если дошли до конца потока и бросает IOexception. Просто это семантически разные вещи.

Конец потока это ожидаемое состояние, все потоки рано или поздно закончатся. IOexception это исключительная ситуация - в идеальном мире ее быть не должно.

Применительно к твоему случаю - поиск может не найти объект - это штатная ситуация (как правило). Поискать не удалось по каким-то причинам - это нештатная ситуация.
Аноним 08/11/18 Чтв 00:15:46  1291523
>>1291257
>но сомневаюсь что это будет быстрее эксепшонов.

При чём тут скорость вообще?
Ты про ФП слышал когда-нибудь?
Понимаешь, зачем такое делают?
Аноним 08/11/18 Чтв 00:33:02  1291531
>>1291523
Тому що это разные подходы для того чтобы сделать одно и то же. Но в жаве уже есть эксепшоны, а значит для того чтобы использовать тип-сумму (да ещё и написанную с использованием ООП-костылей) должны быть какие-нибудь преимущества у него. Вот например в C++ хотят ввести expected, потому что он может быть быстрее выброса эксепшонов. В жаве такого не будет, поскольку VM эксепшоны неплохо оптимизирует.
Аноним 08/11/18 Чтв 02:39:46  1291551
>>1287973 (OP)
Балуюсь тут с джавой и вот на что наткнулся:

https://ideone.com/RJNQr6
Если у переменной num тип int, то она может принять верхнее значение диапазона в 2147483647.
Если поставить тип Integer, то вылезает ошибка.

Я не понимаю этого! Ведь Integer- это просто обертка для примитивного типа!
Какой у неё тогда вообще диапазон?
Аноним 08/11/18 Чтв 02:56:46  1291552
>>1291551
> Если поставить тип Integer, то вылезает ошибка.
УМВР. Что за ошибка?
Аноним 08/11/18 Чтв 03:01:00  1291553
>>1291552
Лол, исчезла.
Но так, на будущее: я правильно понимаю, что у классов-оберток ровно тот же самый диапазон, что и у примитивов?

Алсо, а как элегантно можно решить вопрос ввода числа, чтобы пользователь мог ввести число любой длинны?
Или это вообще невозможно, и мой максимум - это long ?
Аноним 08/11/18 Чтв 03:10:11  1291556
>>1291553
> Алсо, а как элегантно можно решить вопрос ввода числа, чтобы пользователь мог ввести число любой длинны?
Если совсем любой, то BigInteger (если целое) или BigDecimal (если дробное), но операции с ними будут медленней чем со стандартными int, long, double, float. Вот например твой код с BigInteger: https://ideone.com/N4DdGK
Аноним 08/11/18 Чтв 03:12:50  1291557
>>1291553
>я правильно понимаю, что у классов-оберток ровно тот же самый диапазон, что и у примитивов
Да. Integer.MAX_VALUE и Integer.MIN_VALUE в помощь.
>как элегантно можно решить вопрос ввода числа, чтобы пользователь мог ввести число любой длинны?
BigInteger, BigDecimal

А вообще кончай байтодрочить, жаба предназначенная для ловли асинхронных колбеков через рекурсию в бинах.
Аноним 08/11/18 Чтв 03:17:58  1291559
>>1291557
> через рекурсию в бинах
> рекурсию
Но зачем нужна рекурсия, если есть божественные императивные циклы? Фу, со своей функциональщиной всю жавку портите.
Аноним 08/11/18 Чтв 03:19:49  1291560
>>1291557
>А вообще кончай байтодрочить
Я ещё учусь и вряд ли сейчас напишу что-то, не вызывающее слабительный эффект.
Аноним 08/11/18 Чтв 03:22:15  1291561
>>1291560
> Я ещё учусь и вряд ли сейчас напишу что-то, не вызывающее слабительный эффект.
Так это наоборот самый крутой скилл. Осталось подучить шпринг и можно вкатываться в ынтерпрайз.
Аноним 08/11/18 Чтв 04:49:35  1291564
>>1291561
Хм. А есть где-нить инфа, какой проект можно самостоятельно запилить, чтоб в резюме годно смотрелся?
Аноним 08/11/18 Чтв 05:24:13  1291568
>>1291564
Я сейчас с шарагр домой приду дам тебе проект который сам делаю, там веб приложуха.
Аноним 08/11/18 Чтв 05:27:28  1291571
>>1291568
Буду признателен!
Аноним 08/11/18 Чтв 09:39:32  1291596
Анон, подскажи, а как лучше "переворачивать" числа?
Через трансформацию в строку или через измерение длинны? Или тупо, циклом, пока не закончится?
Аноним 08/11/18 Чтв 10:03:15  1291607
>>1291596
Вот так легче всего:
public int reverse(int num){
return Integer.parseInt(new StringBuilder(num+"").reverse().toString());
}
Аноним 08/11/18 Чтв 10:03:36  1291609
>>1291607
У меня BigInteger.
Аноним 08/11/18 Чтв 10:08:17  1291617
>>1291609
>BigInteger
public BigInteger reverse(BigInteger num){
return new BigInteger(new StringBuilder(num+"").reverse().toString());
}
Аноним 08/11/18 Чтв 10:39:29  1291631
>>1291617
А у меня Long
Аноним 08/11/18 Чтв 10:54:21  1291636
>>1291617
А у меня Short
Аноним 08/11/18 Чтв 10:55:50  1291638
>>1291617
А у меня Double
Аноним 08/11/18 Чтв 10:57:26  1291640
>>1291617
А у меня Char
Аноним 08/11/18 Чтв 13:16:08  1291705
я покакал
Аноним 08/11/18 Чтв 13:33:35  1291711
>>1291130
А это стандартное поведение для всех EJB-контейнеров? Да нихуя!

Маппинг JNDI-ресурсов по факту в каждом сервере свой, и все реализации нихуя не совместимы между собой, так что привязавшись к какому-нибудь WildFly, ты уже от него никуда не денешься.
Аноним 08/11/18 Чтв 14:47:54  1291742
>>1291631
>>1291636
>>1291638
>>1291640
>>1291705
Наглядная эволюция джава программиста.
Аноним 08/11/18 Чтв 19:03:00  1291845
Можете привести наглядный пример использования хешмапа против списка? Я как-то за все время говнокодинга на уровне 1 класса так ни разу и не попал на необходимость использования первого.
Аноним 08/11/18 Чтв 19:11:54  1291849
>>1291845
Например, есть у тебя список пользователей. У каждого уникальный логин, по которому тебе нужно осуществлять поиск. Вот и будет у тебя HashMap<String, User>.
Аноним 08/11/18 Чтв 19:15:02  1291852
>>1291849
Для такой хуйни нужно уже бд подключать, хотя если это какой-нибудь чатик то да, можно.
Аноним 08/11/18 Чтв 19:42:57  1291879
>>1291845
>наглядный пример использования хешмапа против списка?
Вот недавно нужно было определить наиболее часто встречающийся объект в коллекции. Попробуй реализовать такой алгоритм на списках, а потом на хэшмап, почувствуешь разницу.
Аноним 08/11/18 Чтв 19:44:15  1291881
>>1291879
Только в твоём случае не хэшмап нужен,а хэшсет (хотя он зачастую делается на основе хэшмапа).
Аноним 08/11/18 Чтв 19:46:32  1291884
>>1291881
Хотя не, вру. Можно использовать Map<T, int>.

А вообще хэшмапы используются в качестве кэша. Хотя что смешно, если элементов меньше 10-15 зачастую лист оказывается быстрее, поскольку перебор занимает меньше времени чем хэширование.
Аноним 08/11/18 Чтв 19:57:58  1291890
>>1291879
Что мне мешает контейнс для листа применить? В чем хешмап проще?
>>1291879
Можешь по хешмапу примерный алгоритм накидать, в листе я понимаю как сделать, как именно методы хешмапа использовать отлично от логики реализации в листе - не знаю с ходу.
Аноним 08/11/18 Чтв 20:21:58  1291906
>>1291890
>Что мне мешает контейнс для листа применить
Почитай, как устроены разные коллекции, интересная тема. В хэш-мапе используется хэширование, что позволяет проверять равенство объектов, сравнивая числа, а не через жирный equals(), как в случае с методом contains() списка.
Аноним 08/11/18 Чтв 20:23:57  1291909
>>1291890
Хэшмап быстрее при большом количестве элементов в коллекции (когда хэширование становится быстрее чем перебор). Хотя например для строк есть ещё более быстрые коллекции, например, trie.
Аноним 08/11/18 Чтв 20:28:40  1291911
>>1291909
Википедия говорит, что в trie можно получить максимум O(n). Хэш-мап же дает максимально O(1). Почему дерево быстрее?
Аноним 08/11/18 Чтв 20:30:57  1291912
>>1291911
Потому что O(1) - это только поиск, сам алгоритм хэширования займёт O(n), где n - длина строки, что аналогично O(n) в trie.
Аноним 08/11/18 Чтв 20:34:52  1291915
>>1291911
И да, там не O(1), а O(k), где k зависит от количества bucket'ов, которые в свою очередь зависят от количества элементов (хотя зависит от того каким образом был сделан hash-map, например в мультипоточных хэш-мапах bucket'ы имеют меньший размер чтобы меньше блокировать элементов при записи, однако получение элемента становится чуть медленней).
Аноним 08/11/18 Чтв 20:46:39  1291922
>>1291915
Знаешь какой-нибудь ресурс, где обо всем этом написано? А то не охота весь интернет обыскивать, собирая по крупицам.
Аноним 08/11/18 Чтв 21:07:47  1291928
>>1291922
Да там ничего сложного нет. Представь List, где хранятся пары хэш->значение. При попытке получения элемента ты высчитываешь хэш ключа, перебираешь List сверяя все хэши, если найдено получаешь значение, которое представляет из себя LinkedList со всеми данными, у которых одинаковый хэш. После чего проходишь по этому LinkedList уже сверяя сам ключ и оттуда выбираешь совпавший элемент. Это самый простой вариант. Если куча оптимизаций, где например вместо LinkedList используется дерево или вместо массива с хэшами используются другие коллекции, но суть остаётся такой же.
Аноним 08/11/18 Чтв 21:12:16  1291929
>>1291890
>Можешь по хешмапу примерный алгоритм накидать
Лови -> https://ideone.com/RBPcqr
ток ногами не бейте, лучше обоссыте
Аноним 08/11/18 Чтв 21:18:49  1291932
>>1291929
Там в hashmap'е есть специальные методы для упрощения подобных вычислений. https://ideone.com/PFNumK
Аноним 08/11/18 Чтв 21:20:39  1291933
http://java-master.com/spring-mvs-настройка-без-xml-web-xml/ такой вариант вообще норм?
Аноним 08/11/18 Чтв 21:26:08  1291939
>>1291928
У тебя детектор сломался. Я не тот анон, которому ты предлагал решить задачку на частоту повторов элементов. Вот я >>1291911 и я хочу больше узнать про мэпы и деревья.
Аноним 08/11/18 Чтв 21:28:32  1291944
>>1291932
Нойс. Надо бы побольше почитать про функциональшину.
Аноним 08/11/18 Чтв 22:49:45  1291992
На чём вообще в 2018 году пишут веб приложухи на джаве?
Аноним 08/11/18 Чтв 23:31:24  1292011
>>1291992
На Spring (Boot).
Аноним 08/11/18 Чтв 23:33:39  1292014
А mvc это шо?
Аноним 08/11/18 Чтв 23:49:19  1292019
>>1292014
Это тоже спринг.
Там много всего.

MVC - это "классический" способ делать веб-приложения, типа php, например.
В этом случае html создаётся на сервере.

Можно иначе - не сервере rest веб-сервисы, а весь пользовательский интерфейс на клиенте - на JS - React и т.п.
Аноним 09/11/18 Птн 01:22:53  1292050
Что юзать для ботописательства в телеграм?
Аноним 09/11/18 Птн 01:37:09  1292056
>>1287973 (OP)
Аноны, представим что есть конструктов класса, он принимает в себя 2 строки (String). Как запретить передачу 2 одинаковых строк?
Аноним 09/11/18 Птн 01:47:51  1292058
>>1292056
Только проверять и вызвать исключение.
Но, исключение в конструкторе - это не очень хорошо.

Можно вообще не использовать (публичный) конструктор.
А использовать factory/билдер, и заставить клиента передавать строки по отдельности, с говорящими именами методов. Это если проблема в опечатках в коде, например.

MyClass o = MyClass.withFirstString("Ololo").andSecond("LoL").create();
Аноним 09/11/18 Птн 02:03:45  1292065
>>1292058
>использовать factory/билдер
Хорошее решение жаль я не додумался до него лол этим утром.
Сегодня на собеседовании про исключения вспомнил, но начал сомневаться можно ли их к конструктору прикрутить или нет.
Аноним 09/11/18 Птн 03:19:34  1292081
>>1291742
Лол, у кого-то случился легкий бугурт от моего нубо-вопроса.
тот, кто спросил
Аноним 09/11/18 Птн 06:09:25  1292094
>>1291849
var filteredList = users.stream().filter(user -> user.getUsername().equals("VasyanNagibator2005")).collect(Collectors.toList());
Ну и нах мне твоя мапа??
Аноним 09/11/18 Птн 06:14:47  1292095
>>1292094
Так как ты никто делать не будет. Будут делать запросы к базе данных, а для поля имени сделают индекс, который по сути и есть ассоциативный массив (правда в зависимости от типа индекса он может быть как хэш-мапом, так и какой-нибудь разновидностью дерева).
Аноним 09/11/18 Птн 06:21:47  1292096
>>1292094
Лол, ты и вправду думаешь, что это будет работать быстрее поиска по хэшу в хэш-мапе?
Аноним 09/11/18 Птн 06:31:39  1292097
>>1292096
Для маленьких листов (меньше 20 элементов) оно действительно может быстрее работать (из-за того что процессор любит запихивать небольшие массивы в кэши и мегабыстро работать с ними). Однако stream всё портит. С ним всё будет в разы медленней. https://blog.jooq.org/2018/10/29/imperative-loop-or-functional-stream-pipeline-beware-of-the-performance-impact/
Аноним 09/11/18 Птн 06:36:35  1292099
>>1292097
Хотя да, жавы это не касается. Ведь в ней все коллекции хранят ссылки, а не значения, а значит кэш тут никак не поможет. Остаётся ждать пока доделают value types и reified generics.
Аноним 09/11/18 Птн 06:43:27  1292100
>>1292099
>value types и reified generics
Не нужны.
Аноним 09/11/18 Птн 06:45:25  1292101
>>1292100
Тебе-то конечно не нужны. Ты даже что это такое не знаешь. Это для тех кто пишет библиотеки, а не для тех кто хуячит круды.
Аноним 09/11/18 Птн 09:05:02  1292118
>>1292099
>Остаётся ждать пока доделают value types и reified generics.
Сударь видимо не в курсе, во что превратился Project Valhalla ради совместимости. Я бы на твоём месте не ждал ничего.
Аноним 09/11/18 Птн 12:45:21  1292203
>>1292050
питон
Аноним 09/11/18 Птн 13:20:47  1292214
Зашел сказать, что Java - костыльное говно. Я просто хуею после питона над попытками прикрутить функциональщину. Убейтесь, блять.
Аноним 09/11/18 Птн 13:31:31  1292221
>>1292214
>пук
Аноним 09/11/18 Птн 14:04:39  1292245
>>1292214
Сынок, питон - вообще последний язык, на котором надо делать фп.
Хуже только 1С, наверное.

Хуеет он после питона, ну надо же.
Не после надо хуеть, а во время, лол.

Это не говоря уже о том, что фп на любом языке без статической типизации - это как онанизм в ежовых рукавицах, примерно.
Аноним 09/11/18 Птн 14:32:54  1292260
Поясните за функциональщину, а то, увидев ее в жабе, только пожал плечами и задал себе вопрос "а нахуя?"
Аноним 09/11/18 Птн 15:09:45  1292279
>>1292118
И во что он превратился? Если будет возможность создать ValueList<T>, где внутри массива будут зраниться значения (а не ссылки как сейчас), то всё что я написал будет работать, а всё остальное не имеет значения.
Аноним 09/11/18 Птн 15:22:03  1292290
>>1292260
>Поясните за функциональщину
Это долго.

Но, если коротко, то основная, на мой взгляд, идея - это то, что всё является значением.
Т.е. в программе нет "команд", а есть различные трансформации значений с помощью чистых функций. Например, вместо того, чтобы выбросить исключение, функция возвращает определённое значение.

Почитай Functional Programming in Scala:
http://www.allitebooks.com/functional-programming-in-scala/
Скалу там знать не обязательно, объясняется в процессе и используется относительно небольшое подмножество языка.

Есть ещё прекрасная "Functional Programming in Java" и "The Joy of Kotlin" (та же книга, но в версии для Kotlin).
Аноним 09/11/18 Птн 15:24:55  1292291
>>1292279
>внутри массива
Это где, лол?

Есть хип и есть стек, никакого "внутри массива" нет.
Аноним 09/11/18 Птн 15:28:31  1292293
>>1292291
Это значит лист будет выглядеть внутри примерно так:

<размер>,<объект1>,<объект2>,...,<свободная_зарезервированная_память>

Сейчас он выглядит так:

<размер>,<указатель_на_объект1>,<указатель_на_объект2>,...,<свободная_зарезервированная_память>

Возможно такой лист можно сделать и сейчас (используя какие-нибудь unsafe-техники), но хотелось бы возможность такой специализации шаблонов изкаробки.
Аноним 09/11/18 Птн 15:32:13  1292297
>>1292293
>специализации шаблонов
На плюсах пишешь?
Аноним 09/11/18 Птн 15:33:10  1292299
>>1292297
Это очень простая специализация и доступна в том числа и на C#. Магии шаблонов для неё не требуется.
Аноним 09/11/18 Птн 15:37:44  1292304
>>1292299
Я не об этом спросил.

Если ты привык писать на плюсах или даже на шарпе, то надо понимать, что в джаве - несколько другие правила игры.
И на джаве надо писать как на джаве.
Аноним 09/11/18 Птн 15:40:36  1292307
>>1292304
Это не другие правила. Это искусственное ограничение, снять которое в том числе и призван project valhalla. Ты мне напоминаешь ватников с их "никогда хорошо не жили, неча и начинать" и "диды так не писали и ты не будешь".
Аноним 09/11/18 Птн 15:46:50  1292310
>>1292290
Ок, спасибо.
Аноним 09/11/18 Птн 15:48:07  1292311
>>1292019
какую-то хуйню несешь
Аноним 09/11/18 Птн 15:48:07  1292312
>>1292307
> ватников с их "никогда хорошо не жили, неча и начинать"
Лол.
Суть ватников несколько иная, но не думаю, что сейчас уместно было бы это обсуждать.

На любом языке нужно писать идеоматический код.
Играть по правилам.
А не лезть в чужой монастырь со своим уставом (что есть признак непрофессионализма).
Смысл в этом.

Это непросто, но надо стараться.
Аноним 09/11/18 Птн 15:50:39  1292315
>>1292311
Сказал как отрезал, лол.

На, вот, сосни-ка хуйца, и дальше иди.
Аноним 09/11/18 Птн 15:55:33  1292320
>>1292312
> Играть по правилам.
Ещё раз. Это не правила, это ограничение. В первую очередь ограничение условленное изначально кривыми генериками со стиранием типов. Сейчас хотят сделать структуры и нормальные генерики для них, а значит станет возможным и их специализация. Ты какой-то странный. Тебе говорят, что в язык добавляют новые фичи, а ты пишешь что они, это самое, нарушают правила. Может у тебя var тоже нарушает правила? Диды ведь так не писали. А в java 12 вообще столько нарушений завезли:

- паттерн матчинг: http://openjdk.java.net/jeps/325
- raw-строки: http://openjdk.java.net/jeps/326

Ухх, скоты. Столько правил нарушают. Посадить их надо за это!
Аноним 09/11/18 Птн 15:58:23  1292323
>>1292320
> паттерн матчинг
Хотя не, вру. Это http://openjdk.java.net/jeps/305 а завезли только его подмножество. Конечно, нарушение правил есть, но можно этому скоту Brian Goetz, уже выдать не смертную казнь, а только пожизненое заключение за посягательство на швитые правила.
Аноним 09/11/18 Птн 16:02:41  1292331
>>1292019
анон >>1292311 поясняет
>Это тоже спринг.
mvc это не спринг блять загугли, малыш
>MVC - это "классический"...
загугли если не умеешь то mvc это паттерн согласно которому код принято разделять на back и front части то бишь клиентскую часть и серверную
>html создаётся на сервере.
???
ты по http реквесту строкой отсылаешь хтмл а браузер уже рендерит
>сервере rest веб-сервисы
rest это архитектурный стиль основанный на концепции ресурсов он не мешает тебе его с mvc применять
Аноним 09/11/18 Птн 16:17:52  1292350
>>1292050
А с жавой как?
Аноним 09/11/18 Птн 16:23:24  1292359
>>1292320
Да он просто сидит на 5 джаве и завидует j8-боярам и j11-богам.
Аноним 09/11/18 Птн 16:27:33  1292362
>>1292331
Малыш, слово "контекст" тебе, видимо, пока незнакомо.
Для программиста это не очень хорошо, лол.

Речь шла про Spring MVC, про Spring REST сервисы, и про всю остальную многочисленную спринг-хуету.
О которой ты, до сегодняшнего дня, даже не слышал, как и о самом спринге.

Алсо, "MVC", "back-front" и "клиент-сервер" - это очень разные вещи.
Общего у них разве что сама идея разделения на части.
Аноним 09/11/18 Птн 16:57:34  1292374
>>1292362
>А mvc это шо?
где ты там spring увидел?
>Речь шла про Spring MVC
и?
https://softwareengineering.stackexchange.com/questions/324730/mvc-and-restful-api-service
в гугл переводчик можешь закинуть
Аноним 09/11/18 Птн 16:58:30  1292378
>>1292362
а вообще такое чувство что я тролля кормлю
Аноним 09/11/18 Птн 17:41:34  1292410
>>1292378
Нет, я не тролль.
Я просто очень давно всем этим занимаюсь, и воспринимаю эти вещи несколько иначе.

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

>где ты там spring увидел?

Там парой комментов выше вот это:
http://java-master.com/spring-mvs-настройка-без-xml-web-xml/

И, я решил, что это пишет один и тот же человек.

На этом предлагаю закончить.
Покормил, да и хуй сним, лол.
Аноним 09/11/18 Птн 17:48:02  1292415
>>1292019
Реально хуета, анонс, >>1292014
лучше погугли, чем здесь советчиков слушать

Аноним 09/11/18 Птн 18:04:19  1292429
Сап. Работаю QA в одной быдло конторе и сейчас у нас IT менеджмент стал активно пропихивать Swagger спецификацию, большинство REST API документаций сейчас описывается в этом формате. И вот на меня стали давить чтобы на основе этих спецификаций я написал a framework который будет автоматически генерировать API тесты. Ну к примеру, есть описание POST запроса, типа post /user/create у которого request body:
{
"username":"user"
"state":"active"
}

И вот я должен на основании этого написать логику которая будет генерировать тесты типа:
- отправь запрос с пустым body и проверь что response code такой-то
- отправь запрос с пустым "username" и проверь что response code такой-то
- отправь запрос с пустым "state" и проверь что response code такой-то
- и т.д и т.п

За основу предложили взять https://github.com/OpenAPITools/openapi-generator/tree/master/modules/openapi-generator который позволяет авто генерировать по одному success тесту на каждый endpoint описаный в swagger спецификации. Мол я должен форкнуть его чтобы он также генерил тесты которые я описал выше.
И теперь внимание вопрос, насколько вы считаете это сложная задача?
Опыта в программировании у меня всего нихуя, могу писать авто тесты используя существующие фреймворки и поэтому мне эта задача кажется пиздец сложной, но отказатся делать ее мне как то неудобно, боюсь менеджмент посчитает меня лошарой(они все разработчики с большим опытом), мол хули там делать, а если не можешь, тогда возьмём другого QA кто напишет.
Аноним 09/11/18 Птн 18:20:00  1292436
>>1292410
>занимаюсь так давно что уже и забыл что это
пофиксил тебя
а вообще ты не шаришь старичок))
Аноним 09/11/18 Птн 18:27:55  1292440
>>1292436
Где та молодая шпана
Что сотрёт нас с лица земли?
Ее нет, нет, нет...

Аноним 09/11/18 Птн 18:31:01  1292443
>>1292429
Сказали — выполняй. Не можешь — уволят за несоответствие должности и правильно сделают)
Аноним 09/11/18 Птн 18:51:51  1292460
>>1292429
Без опыта - это очень сложная задача.
Да и с опытом - непростая.

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

Алсо, документация на эту хуету оставляет желать, мягко говоря.

Но, это не значит, что не стоит пробовать.
Может быть, там всё не так уж и сложно.
Аноним 09/11/18 Птн 18:57:19  1292469
Как элегантнее реализовать схему обратной польской?
https://pastebin.com/gT7z9sb5
для личной практики
Задача такая: На вход поступает строка математического выражения, содержащая
- переменные
- цифры
- унарные функции
- бинарные операторы
На данный момент есть распознавание для строки, где разные обьекты разделены пробелами, с помощью словаря записаны некоторые константы, с помощью этого же словаря меняются переменные.
~ Стоит ли модифицировать исходную строку при получении с помощью регулярных выражений: между [a-Z]и[+-*)(/] вставлять пробелы для того, чтобы строка была валидной для имеющейся функции
Аноним 09/11/18 Птн 19:01:09  1292470
>>1292460
> Алсо, документация на эту хуету оставляет желать, мягко говоря.
Та пиздец, сижу вот дебажу уже 3й час. Пока вообще нет идей как там происходит эта генерация. Классы, блядь, по 1000 строк
Аноним 09/11/18 Птн 19:09:56  1292473
>>1292469
Погугли язык FORTH и его реализации.
На джаве тоже что-то было.

Может, наведёт на какие-то мысли.

Насколько я понял, тебе что-то подобное и нужно, только в весьма упрощённом виде.
Аноним 09/11/18 Птн 19:28:07  1292477
>>1292473
Добавлю:

Если тебе нужно именно RPN, то идея в том, чтобы _вычислять_ результат. Помещая промежуточные результаты на стек.

Если же тебе надо просто прикрутить возможность вычисления строковых выражений, то лучше использовать Groovy или даже JEXL, и просто вычислять нормальные выражения, безо всякого RPN.
Аноним 09/11/18 Птн 20:40:15  1292522
Анон, помогай, плыву пиздец.
Есть ArrayList<boolean[]> field - игровое поле, и есть метод update. Каждый раз при вызове update() первый элемент убирается и происходит сдвиг всего массива, после чего на освободившееся место ставится новый массив.

[CODE]for (int i = 0; i < height - 2; i++)
getField().set(i, getField().get(i + 1));
getField().set(height - 1, new boolean[width]);[/CODE]

Это же нихуя не ссылочно происходит? То есть,
> field.set(y, field.get(y+1));
скопирует массив, и в итоге всё будет засрано массивами? Если нет, то заебись, если да, то как это сделать правильно?
Аноним 09/11/18 Птн 20:53:38  1292527
>>1292522
>скопирует массив
Нет.
Более того, чтобы именно скопировать массив - надо специально постараться.

Алсо, нахуя массивы в списке?
Или двумерный массив (всё будет тоже ОК), или, тогда уже, список в списке.

Вообще - массив (переменная) - это всегда указатель. Даже в Си.

Аноним 09/11/18 Птн 20:59:00  1292529
>>1292527
> нахуя массивы в списке?
Потому что изначально это был именно что boolean[][], и когда я делал так:
>field[y] = field[y+1];
- Idea мне это дело подчеркнула с комментарием "ага копируеш". Собственно я и сам знаю то, что ты написал, но этот инцидент вынудил засомневаться.
Аноним 09/11/18 Птн 21:06:40  1292535
>>1292529
>ага копируеш
Лол.
Идея имела в виду, что ты копируешь _первый_ уровень (тот, что стал списком потом) массива _вручную_.

Но, ты же и правда это делаешь (частично).
Копируешь значения (ссылки на вложенные массивы) в соседние ячейки.

Используй System.arraycopy с соотв. индексами, и копируй (сдвигай) массив за один вызов метода.
Аноним 09/11/18 Птн 21:09:58  1292538
>>1292535
Алсо, какая длина массивов второго уровня?
Можно же вместо них использовать битовые поля в long (если 64 колонки тебе хватит).
Байтоёбить, так по хардкору.
Аноним 09/11/18 Птн 21:15:20  1292542
>>1292535
Всё, спасибо, успокоил, про arraycopy она и писала. Всё время дрочусь с этими ссылочными типами, а тут массив в массиве да ещё и на джаве, которую я не очень хорошо знаю.

>>1292538
10. Думал об этом, но опять-таки засомневался в своих знаниях, так что решил сначала написать как-то, а потом допилить. Так что ещё раз спасибо за подсказку, откуда подступиться.
Аноним 09/11/18 Птн 22:38:02  1292564
image.png (5Кб, 285x53)
image.png (18Кб, 856x228)
Делаю всё по https://spring.io/guides/gs/accessing-data-mysql гайду, выбрасывает пикрилы, кто-нибудь может помочь?
Аноним 09/11/18 Птн 22:41:08  1292565
>>1292564
Обозначь вместилище фасолиной. Тупой даун.
Аноним 09/11/18 Птн 22:51:36  1292570
>>1292565
я нипанимаю
Аноним 09/11/18 Птн 22:57:05  1292574
>>1292570
Программирование не твое. Попробуй JavaScript.
Аноним 09/11/18 Птн 23:07:04  1292579
>>1292570
Конфиг-то есть? Как ты думаешь спринг создаст репозиторий?
Ты или должен в классе помеченном аннотацией @Configuration пометить какой-то метод возвращающий UserRepository аннотацией @Bean. Если есть спринг дата можно написать интерфейс расширяющий JpaRepository/CrudRepository, добавить нужных методов и пометить класс-входную тчоку (где main) аннотацией @EnableJpaRepositories, и тогда оно само создаст реализации репозиториев.
Аноним 09/11/18 Птн 23:37:12  1292586
>>1292429
Я не до конца понимаю, и ты мне кажется тоже, что от тебя хотят? Чтоб все тесты за тебя писала машина? Или просто сгенирировать java-клиент по swagger-спецификации, который ты будешь использовать в тестах?
Аноним 10/11/18 Суб 00:21:03  1292602
Попробовал посмотреть, что такое этот ваш сваггер (2 минуты, буквально).
Какая-то хуйня.
Зачем подсаживаться на какой-то мутный проприетарный инструмент?

Я, вообще, не занимаюсь такими вещами, но недавно пришлось иметь дело с SoapUI (тоже SmartBear).
Лютая хуета, совершенно не юзабельна, делали какие-то дегенераты.

И вот, те же самые дегенераты делают сваггер.
Нахуй он нужен?
Аноним 10/11/18 Суб 00:46:21  1292611
>>1292564
> https://spring.io/guides/gs/accessing-data-mysql
Пытаешься сделать круд вэб аппликацию?
Аноним 10/11/18 Суб 00:47:35  1292612
>>1292611
ага
Аноним 10/11/18 Суб 00:54:28  1292617
>>1292611
как с тобой можно связаться, тем же самым сейчас занимаюсь
Аноним 10/11/18 Суб 01:22:05  1292623
>>1292586
Чтобы тесты генерировались автоматически. Предположим что у нас в спецификации есть request body у которого есть атрибут username со следующими параметрами:

Type: Int
Min length: 2
Max length: 12

То мы на основании этого должны сгенерировать, к примеру, след тесты:
- Запрос в котором username будет String
- Запрос в котором длина username будет Min length - 1
- Запрос в котором длина username будет Max length + 1
- и т.п
Аноним 10/11/18 Суб 01:40:10  1292633
>>1292623
А проверяться то что будет? Что возвращается 500?
Аноним 10/11/18 Суб 01:41:21  1292635
Какого * я делаю все по примеру https://java2blog.com/spring-boot-angularjs-example/ но у меня не работает ?
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.3.RELEASE:run
Аноним 10/11/18 Суб 01:43:15  1292636
>>1292633
Да, будет проверяться что возвращатся 400
Аноним 10/11/18 Суб 02:26:36  1292652
>>1292635
Там старый спринг, старый бут.
Ангуляр не смотрел, но, думаю, тоже не новый.
И эклипса.

Поверь, тебе это не надо, найди другое что-нибудь.
На сайте спринга есть пошаговые примеры подобной хуйни.
Аноним 10/11/18 Суб 11:59:42  1292737
>>1292602
Он нужен что бы описать, добавить документацию, наладить контракты передаваемых данных, а потом сгенерировать имплементацию, первая часть работает, а на вторую я слышал все плюются, в итоге пользуются первой его частью, а имплементацию делают сами или другими инстурментами.
Аноним 10/11/18 Суб 15:16:02  1292858
image.png (3Кб, 141x37)
Милые анончики, помогите решить задачу; https://stepik.org/lesson/46943/step/2

Захотел тут в функциональном программировании в Жаве разобраться. Шло вроде нормально, разобрался с предикатами, стримами, но блять наткнулся на эту задачу и второй день как дебил.

Там в комментах даже бабы ее решили чувствую себя каким-то неполноценнымю
Аноним 10/11/18 Суб 15:36:08  1292878
Аноны, мне тут стало интересно, а как обстоят дела с зп инженеров за границей? Ну там хардкорных разработчиков электронных схем, разработчиков каких-нибудь двигателей и прочего. А то в России таким специалистам платят меньше, чем в айти, при этом по-моему порог вхождения там гораздо выше. Странная ситуация.
Аноним 10/11/18 Суб 15:36:44  1292880
>>1292858
Если тебе надо ФП - см. >>1292290

То, что по твоей ссылке - это какая-то дичь.
Аноним 10/11/18 Суб 15:59:40  1292904
>>1292878
В России нет производств с высокой степенью передела, технологии не развиваются, нет науки, нет образования.

И нет инженеров.
А 100 лет назад - были.
Аноним 10/11/18 Суб 19:25:35  1293060
линупс аноны, помогите с томкатом, плез. Пытаюсь запустить сервер, выдает
>java.io.FileNotFoundException: /opt/tomcat/webapps/manager/META-INF/context.xml (Отказано в доступе)
судя по тому, что я нашел в гуголе, я хуево права доступа (не)настроил. пикрил не работает, в чем может быть проблема?
Аноним 10/11/18 Суб 19:38:19  1293076
>>1293060
Выясни, от имени какого пользователя у тебя запускается tomcat.
И дай ему нужные права на директорию.
Или наоборот, запускай от имени того пользователя, у которого права есть.

И поставь Midnight Commander (mc), чтобы было попроще всё это делать.
Аноним 10/11/18 Суб 19:39:24  1293077
>>1292904
И Попов такой молодой...
Аноним 10/11/18 Суб 20:01:25  1293101
>>1293076
если я правильно понимаю, он запускается от root'а, а у него вроде бы есть все права. Забыл уточнить, в консоли он прекрасно работает вроде, а вот из intellij не хочет. Как узнать от имени кого идея запускает томкат?
https://pastebin.com/N2Q8JMXr
Аноним 10/11/18 Суб 20:24:01  1293114
>>1293101
Запусти:
ps -ax | grep tomcat
и посмотри.

И вот это вот почитай:
https://scanlibs.com/komandnaya-stroka-linux/

Аноним 10/11/18 Суб 20:27:19  1293115
>>1293114
А, вижу, ты уже так делал.
И что, когда через идею, то его не видно в ps?
Если так, то он запускается от твоего имени, как идея.
Добавь себя в нужную группу.
Аноним 10/11/18 Суб 21:52:27  1293182
>>1293115
у меня проблема в том, что я не знаю, какая группа "нужная". судя по гуглам, группа "tomcat", но терминал мне говорит
>chgrp: неверная группа: "tomcat"
Аноним 10/11/18 Суб 22:08:11  1293193
посоны, какие мои шансы устроиться джуном при следующих данных:
знание Джава: не расскажу про рефлексию, плаваю в джава 8, не расскажу подробно про канкарент, базовый мультитрединг расскажу: как запускаются потоки, дедлок и рэйс кондишн, волатайл, вэйт, нотифай, джойн, слип и тд, потокобезопасный синглтон напишу по типичным вопросам собеседования задрочен нормально.
мавен: расскажу про пом.хмл, репозитории, жизненный цикл клин-билд-сайт, без глубоких подробностей цикла билд(тест, сборка ресурсов, билд, пэкедж, деплой), сгенерю через консоль артифакт, запакую в пакет
спринг: расскажу про апликейшн контекст виды, деплоймент дескриптор, аннотации, бины, их жизненный цикл, напишу хеллоуворлд и задеплою на томкат или jboss
В принципе расскажу про сервлеты, контейнеры, jsp, сессии, куки, гет, пост, http без погружения в аттрибуты head
jdbc: подключу драйвер, установлю коннекшн, создам стэйтмент, пройдусь по резулт сэт, знание sql на уровне объединения, получения итоговых значений и вложенных селектов
ооп, солид, знаю простые шаблоны вроде адаптера, декоратора, композита, фасада, синглтона(лэйзи и нет), мвс
не работал с гитом вообще. кроме коммит и роллбэк ничего не знаю.
алгоритмы и структуры данных: понимаю но не воспроизведу по памяти(узнавание) квиксорт, сортировку вставками, пузырьком напишу. рекурсию напишу, стэки, очереди, массивы, списки расскажу вкратце, бинарное дерево расскажу, красно-черное - нет.
из практики пройденный до 35 уровня джавараш.

ну и так по мелочам всяким. xml, xsd, json, хуй знает, один день кажется, что я уже дохуя знаю и нужно пиздовать работать, на следующий день кажется что не знаю нихуя
Аноним 10/11/18 Суб 22:09:07  1293195
>>1293193
>head
header
Аноним 10/11/18 Суб 22:13:46  1293197
>>1293193
Примерно нулевые.
Аноним 10/11/18 Суб 22:22:07  1293199
>>1293182
Так создай группу tomcat.
Аноним 10/11/18 Суб 22:22:51  1293200
>>1293197
А хуле нада то?
Аноним 10/11/18 Суб 22:23:33  1293201
>>1293193
Нормальные шансы.
Больше зависит от того, где ты живёшь, и есть ли там работа.
Аноним 10/11/18 Суб 22:24:44  1293202
>>1293201
Спасибо. Вакансии есть, но все пишут, что опыт от года.
Аноним 10/11/18 Суб 22:24:56  1293203
Джавабоги, какие книги читать чтобы пиздец знать джаву? Чтоб блять прям байткод знать и нюансы компиляции? Чтоб коллеги боялись аж. Все вокруг для новичков, заебало.
Аноним 10/11/18 Суб 22:32:11  1293206
>>1293202
Все всегда пишут очень много всего в требованиях.
Не обращай внимания.

Если надо - соври.
Скажи - фрилансил.

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

Если складывается так, что ты чего-то не знаешь - скажи, что сейчас не в теме, надо подумать, забыл, надо освежить память и т.п.
Аноним 10/11/18 Суб 22:36:37  1293209
https://jsehelper.blogspot.com/2016/01/blog-post_59.html
Бля, там реально всю эту хуйню спрашивают? Я вот например на большинство вопросов хуй отвечу, максимум своими словами, но блять это не мешает мне писать код и в принципе знать как всё работает.
Аноним 10/11/18 Суб 22:40:21  1293213
>>1293203
Посмотри ASM и/или BCEL.

И вот это посмотри:
http://www.allitebooks.com/java-performance-the-definitive-guide/
Аноним 10/11/18 Суб 22:51:00  1293217
>>1293213
А компиляция? Просто все курсы джавы учат "напиши вот так и вжух будет вот так". Потом тебя на собеседовании спрашивают почему такое не компилируется и всё, приехали. Не могу я как то проложить дорожку до самого исполнения на проце, или я должен спеку заучивать для программирования на джаве?
Аноним 10/11/18 Суб 22:58:33  1293218
>>1293206
Спасибо, бро. Еще вопрос, имеет ли смысл суваться к гигантам через тренинги и лабы или пробовать в мелкие конторы?
Аноним 10/11/18 Суб 22:58:52  1293219
>>1293217
Судя по вопросам, ASM и BCEL тебе смотреть рановато, лол.
И ту книжку тоже.
Хотя, книжку, всё-таки, посмотри.

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

Или синтаксических (это просто, хотя, иногда, не очевидно с первого взгляда).
Или логических - использование неверного типа, отсутствующий return, использование неинициализированной переменной, нарушение правил доступа (public/private) и т.п.

Чтобы это видеть - надо знать язык и иметь некоторый опыт программирования.
Исполнение на проце тут ни при чём.
Спецификацию заучивать не обязательно.
Аноним 10/11/18 Суб 22:58:58  1293220
>>1293206
вот этого удвоил, годноту несёт
Аноним 10/11/18 Суб 23:00:45  1293221
>>1293218
Если честно - не знаю.
Это зависит от кучи причин.
Мелкая контора может быть предпочтительнее для начала.
Аноним 10/11/18 Суб 23:09:53  1293224
>>1293221
Меня не кинут там в самое пекло, где я жиденько обосрусь? По сути, я же не умею толком писать нормальный код. То, что я на кодварс пишу в 10 строчек некоторые пишут в 3. Я хуй знаю что где и как комментить, бэд практис, пропущу где-нибудь проверку на null или еще какую-нибудь примитивную хуйню.
Аноним 10/11/18 Суб 23:12:27  1293226
Анончики, поясните, ЯННП. Вот кусок функциональщины:

@FunctionalInterface
interface RequestHandler {
Request handle(Request request);
default RequestHandler setSuccessor(RequestHandler other) {
return (request) -> other.handle(this.handle(request));
}
}

Я совершенно запутался. В setSuccessor передаётся параметр "RequestHandler other". Откуда там берётся еще какой-то "request"?
Аноним 10/11/18 Суб 23:14:33  1293228
>>1293224
>Меня не кинут там в самое пекло
Есть только один способ проверить.
И это может быть как минусом, так и плюсом.

Вообще, это такой вопрос, который ты должен решить сам, исходя из имеющихся вариантов и личных предпочтений.
Аноним 10/11/18 Суб 23:16:21  1293229
>>1293224
>пропущу где-нибудь проверку на null или еще какую-нибудь примитивную хуйню

Для этого есть тестировщики же.
Аноним 10/11/18 Суб 23:19:15  1293231
>>1293226
Возвращается новый инстанс хендлера с определенным методом хендл (который и принимает реквест этот)

>>1293219
Спасибо конечно за советы, но "не компилируется потому что ошибки" это топ, да. Может подскажешь какие нибуд книжки по процессу превращения джава кода в инструкции на проце? Как это всё jit компилируется, бегает крутится?
Аноним 10/11/18 Суб 23:21:29  1293234
>>1293231
Я понял, что возвращается RequestHandler, это в определении видно.
Мне непонятно, откуда этот сраный параметр (request) появляется и как он передается в эту функцию?
Аноним 10/11/18 Суб 23:25:52  1293237
>>1293234
Возвращается анонимный класс хэндлера у которого реализуется метод хендл. Здесь он никак не передается, это лишь сигнатура, скажем так, реализованного метода. Аналог:
default RequestHandler setSuccessor(RequestHandler other) {
return new RequestHandler() {
public Request handle(Request request){
other.handle(this.handle(request))
}
};
}
Аноним 10/11/18 Суб 23:31:53  1293241
>>1293226
Почему бы тебе не почитать одну из книг, которые я упомянул выше?
Порешать примеры оттуда?

В твоём коде метод setSuccessor() возвращает функцию.
request - это параметр, который принимает возвращаемая функция.
И он, естественно, используется в её теле.

Нюанс тут в том, что при возвращении эта функция кастится к интерфейсу. Т.е. эта функция - это реализация метода handle() этого интерфейса.
Т.е. раньше (в Java 7) там было бы:
return new RequestHandler {handle(Request request){...}};

Всё это - специфика практического прикладного ФП на джаве.
И начинать с такого я бы не советовал.

Найди в интернетах книжку Functional Programming in Java и почитай. Там объяснются именно общие идеи ФП, но с примерами на джаве.
Аноним 10/11/18 Суб 23:38:39  1293246
>>1293241
>Functional Programming in Java

Боже ж мой, 185 страниц, какой кайф после других 900+ страничных.

>>1293193-кун
Аноним 10/11/18 Суб 23:39:04  1293247
>>1293237
Спасибо, стало понятнее. Лучшей добра и милых тяночек тебе.

>>1293241
И тебе.
Аноним 10/11/18 Суб 23:42:30  1293248
>>1293231
>Как это всё jit компилируется, бегает крутится?
Ты странно спрашиваешь странные вопросы.

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

Джаву для того и придумали, чтобы программист не думал обо всей этой хуете.

Но, если любопытно - читай спецификацию JVM, смотри байткод и т.п.
ASM и BCEL, опять же.
https://bytecodeviewer.com посмотри.
Гуглить ещё можно, например.

Аноним 10/11/18 Суб 23:49:34  1293253
>>1293246
>185 страниц,
Это MEAP, видимо (до окончательной публикации).
Так-то там 476 страниц.

Но, книга охуенна, хотя и не особо легко читается.
И читать надо неспеша.
Это не та тема, которая поможет быстро найти работу с нуля, например.
Это, скорее, про то, как стать лучше, когда ты уже и так неплох.
Аноним 10/11/18 Суб 23:58:00  1293257
>>1293248
Я понимаю что механика компиляции не связана с правилами в спецификации. Но мне интересно почему именно такие правила? Просто заучивать факты сложнее, чем если бы ты знал азы, на которых мог строить предположения.
Всё равно спасибо.
Аноним 11/11/18 Вск 00:03:08  1293259
>>1293253
>Так-то там 476 страниц
Потому что он нашел книгу Венката, а ты посоветовал другую, от 2017г
Аноним 11/11/18 Вск 00:17:19  1293265
>>1293259
Точно.

>>1293246
Я имею в виду вот эту книгу:
https://www.manning.com/books/functional-programming-in-java

>>1293257
>почему именно такие правила?
Потому, что это такой язык.
Других причин нет.

Большинство правил - просты и интуитивно понятны.
И совпадают в большинстве Си-подобных языков.

И эти правила, в 99.9% случаев, никак не связаны с особенностями компиляции в байткод, и тем более, с особенностями работы JVM (нативный код).
Аноним 11/11/18 Вск 09:31:19  1293388
Норм ли Java по metanit.com изучать?
Аноним 11/11/18 Вск 13:10:13  1293481
Где можно найти задачи по кору от простых к сложным? Кучу задач, которые нахожу либо слишком простые, либо пока что сложные.
Аноним 11/11/18 Вск 15:11:29  1293557
>>1293203
JLS/JVMS
Аноним 11/11/18 Вск 15:12:01  1293558
>>1293203
JLS/JVMS
Аноним 11/11/18 Вск 17:22:33  1293652
Столкнулся с со странными примерами кода в SpringInAction 5. Которые ЯВНО не верны. Пример - форма регистрации юзера.
А еще автор предлагает учить жава скрипт, лол, В учебнике по жаве.
Аноним 11/11/18 Вск 17:42:26  1293659
Читаю Head First Servlets and JSP. Живо ли сейчас JSP и JSTL?
Аноним 11/11/18 Вск 17:44:13  1293660
>>1293652
Правильно предлагает, как ещё фронт писать. Только фреймворк какой-нить по типу бутстрапа юзать, а это по сути тот же джаваскрипт
Аноним 11/11/18 Вск 18:43:20  1293695
>>1293659
Хуй его знает, за шесть лет работы не видел ни разу. Хотя легаси по-любому есть.
Аноним 11/11/18 Вск 18:53:57  1293701
>>1293695
2 года работал только с jsp и это было жуткое легаси
Аноним 11/11/18 Вск 19:21:30  1293710
>>1293701
>>1293695

Вообще есть смысл сейчас изучать стек JavaEE?
Аноним 11/11/18 Вск 19:48:06  1293719
1.jpg (146Кб, 1357x656)
2.jpg (144Кб, 1331x595)
>>1293660
Не отменяет того что он мудак и дает не рабочий код в учебнике для нубов. По мнению автора это хуйня - рабочая форма пост формы с тимлифом.
Аноним 11/11/18 Вск 20:06:43  1293725
>>1293719
Ну, так-то да, рабочая, что тебе в ней не нравится?
Аноним 11/11/18 Вск 20:09:14  1293728
>>1293725
Ну попробуй ее скомпилировать. Тимлиф тебя пошлет нахуй. Спринг тебя пошлет нахуй. Получишь нульпоинтер.
Аноним 11/11/18 Вск 20:18:26  1293734
image.png (11Кб, 439x102)
Пасаны, если у меня на бд нет пароля, то в конфиге просто пикрил нужно сделать?
Аноним 11/11/18 Вск 20:18:29  1293735
>>1293728
До компилятора мне далеко, но вот я не вижу проблемы. Нуллпоинтер где выдаёт? Запусти в дебаге и скажи на чём. Просто судя по примеру, есть одна форма и один контроллер, ну и там только один постмаппинг, а потому он будет все посты обрабатывать. Может автор пока не дописал репозиторию?
Аноним 11/11/18 Вск 20:19:38  1293737
>>1293735
Там нет модели нигде. Ты из формы получишь нуль. Который ты хуй куда сохранишь.
Аноним 11/11/18 Вск 20:24:18  1293740
>>1293737
Для постмапинга не нужна модель, сохранил - редиректнул в ретурне. Давай лучше скажи какая это глава, а на гитхабе посмотрим фулл код.
Аноним 11/11/18 Вск 20:29:17  1293744
>>1293740
На гитхаб я не лез, глава вон есть на скринах. Один хер с этим потом ничего не сделаешь. Даже валидацию полей не получиться прикрутить.
Аноним 11/11/18 Вск 20:33:56  1293747
>>1293744
А куда ты собирался прикручивать валидацию полей? Почему просто не в класс своего User.
@NotNull( message = "Ты чмо");
Ну и в листке прописать еррор на это дело.
Аноним 11/11/18 Вск 20:51:30  1293753
какие же вы все унылые пидорасы-вкатывальщики со своим унылым спрингом и ее. пидорасы, бесите меня все, как и эта джава ебучая, и вообще программирование в рот ебал
Аноним 11/11/18 Вск 20:53:36  1293755
>>1293753
До завтра
Аноним 11/11/18 Вск 21:13:09  1293775
>>1293719
попробуй в @GetMapping сначала добавить RegistrationForm в модель
Аноним 11/11/18 Вск 21:38:33  1293795
>>1293710
Очень дохуя кода уже написано и работает.
И никто его не будет переписывать на другую технологию, в обозримом будущем.

И это не обязательно какое-то древнее "легаси".

Другой вопрос, что весь EE не нужен, нужен только Web Profile.
Сервлеты и JSP, короче.
Аноним 11/11/18 Вск 21:41:13  1293799
>>1293710
А кроме EE ещё что-то есть вообще?
Аноним 11/11/18 Вск 21:42:32  1293802
>>1293744
Ты это руками набирал, или копипастил из книги?
Зачем?

Есть код на гитхабе, его и компилируй.
А в книге - иллюстрации.

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

Видимо поэтому Маннинг даёт бесплатно предыдущее издание при покупке пятого, лол.
Аноним 11/11/18 Вск 21:45:07  1293805
>>1293799
Нет.

Т.е., с одной стороны они говорят, что ЕЕ будут убирать, а с другой - ничего взамен.
То же и с десктопным GUI (Swing), который весьма востребован в корпоративных приложениях. И в IDE.
Оракл охуел.

Из сторонних решений - Spring.

Аноним 11/11/18 Вск 22:00:31  1293822
>>1293805
Сысле то же и с десктопным гуем? Тебя уже ЖаваФХ не устраивает? Годная вещь же.
Аноним 11/11/18 Вск 22:08:52  1293830
>>1293822
Во первых, FX - хуета без задач.
Я тут уже писал на эту тему раньше, сейчас лень.

Во вторых - его сливают на 2 года раньше, чем Swing.
Swing - в 2026-м, а FX - то-ли в 24-м, то-ли в 22-м, или даже раньше.
Потому, что Swing реально востребован, в отличие от.

Я лично думаю, что за эти годы появится что-то новое на эту тему.
Или Swing проапгрейдят.

Потому, что народ уже порядком подустал от дивного нового мира фронтенда на джаваскрипте. Года с 2016-го начали уставать.
А через несколько лет устанут гораздо сильнее.
Аноним 11/11/18 Вск 22:15:21  1293832
>>1293822
>Тебя уже ЖаваФХ не устраивает? Годная вещь же.
Прямо сейчас пишу на этом говне жирное десктопное приложение. Ну в общем оно сырое.
Аноним 11/11/18 Вск 22:24:16  1293839
>>1293832
Что именно не нравится? А то мне только предстоит такое приложение писать.
Аноним 11/11/18 Вск 22:34:57  1293846
>>1293802
Я его сравниваю с 4м да. Его читал с год назад. Там и про аспекты и про много много всего базовго. А 5я - ну тип хуярим вот тут так, потом бля тут куска кода нет и мы его вставим в 3-5-15 главе ну и хуй с ним что переписывать все, и все что писалось до этого говно и нинужна.
Тесты? Какие тесты. Их там нет. 1-2 попалось базовые за 200 страниц.
Сижу ковыряю баелдунга, хули делать.
Аноним 11/11/18 Вск 22:49:10  1293854
>>1293839
Куча мелких багов типа непрорисовывания строк в tableView. И хз что с этим делать.
Или например под линуксом не получается сделать окно "подождите, выполняется операция". Оно рисует пустое окно. При этом под виндой норм.
Отсутствие вменяемого профайлера. Есть какой-то, но онтоже кривой и сырой. Слава богам есть возможность делать формочки через гуй, для идеи есть плагин. Но опять же надо все это потом доделывать руками.
Позиционирование элементов относительно друг друга - ебаная магия. Я так и не понял как это должно работать. В свинге гораздо проще и логичнее.
У классов куча методов, дублирующих друг друга, и при этом не работающих.
И вообще такое ощущение, что этот фх делала какая-то фемка, получившая место по квоте. Уж очень все по-женски нелогично, нет единой философии и бест практис. Ощущение что копаешься в куче налепленного говна
Аноним 11/11/18 Вск 23:12:03  1293866
>>1293830
В 2021-м половина фронтенда будет на Питхоне, который будет поддерживаться всеми браузерами наряду с JS.
Запомните этот пост.
Аноним 11/11/18 Вск 23:21:02  1293874
>>1293866
Дело не только в языке.
В первую очередь - в HTML (DOM).
Он не предназначен для создания динамических UI. Это язык разметки текста.

Но, и в языке, конечно, тоже.

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

Даже хипстеры-смузихлёбы уже поняли важность статической типизации, и начали переползать с JS на TypeScript. Но, TS - говно по своей сути, чужеродная надстройка над JS.

И даже упоротые питоноёбы начали это понимать - и прикрутили типы в последних версиях питона. Что из этого выйдет - посмотрим.
Пока - компилятор/интерптетатор их не обрабатывает, и какой в них толк - не очень понятно.
Аноним 11/11/18 Вск 23:25:15  1293876
>>1293854
>Позиционирование элементов относительно друг друга - ебаная магия.

Попробуй MigLayout.
Это лучший layout manager на сегодняшний день.
Оптимизирован для ручного кодирования, но, поддерживается и в JFormDesigner (только для Swing).

Там есть модуль для FX (и даже для SWT).
Сайт у них старый, актуальную версию кода и примеры надо смотреть на гитхабе.
На сайте - доки. Основной - White Paper. Есть ещё Getting Started и Cheat Sheet.

Аноним 11/11/18 Вск 23:30:29  1293880
>>1293854
Хм, ну ладно, понятно, хотя я пока с багами не сталкивался. А насчет нелогичности - не знаю, по-моему довольно удобно, хотя и действительно не вижу общей философии.
Аноним 12/11/18 Пнд 00:12:25  1293902
Я могу в спринге сделать Autowired по аннотации? Чтобы все классы с какой-то аннотацией складывать в коллекцию.
Аноним 12/11/18 Пнд 01:00:32  1293921
>>1293902
Приведи пример, что ты хочешь сделать.
Просто для складывания классов с конкретной аннотацией в коллекцию не нужен спринг
Аноним 12/11/18 Пнд 01:05:43  1293924
>>1293921
Ну ясен хуй, что спринг у мен не для этого. Коллекция должна быть бином.
Аноним 12/11/18 Пнд 10:06:55  1294012
>>1287973 (OP)
Нужно выполнить операции над джейсоном:

1) распарсить джейсон
2) валидировать поля
3) добавить несколько своих полей
4) сохранить в базе

Какой библиотекой можно все это сделать? Хватит jackson-databind? Есть примеры?
Аноним 12/11/18 Пнд 10:14:41  1294013
>>1294012
Gson от Google глянь.
Аноним 12/11/18 Пнд 10:48:43  1294023
>>1294012
Не "распарсить/сохранить" а десериализация и сериализация.

Суть в том, что с джейсоном ты имеешь дело только в пунктах 1 и 4.
Остальное - уже с джава-объектом некоего класса.
Чтобы выполнить п. 3 твой класс должен уже иметь эти поля, просто при десериализации в п. 1 они останутся пустыми.

И да, из готового - Gson.
Аноним 12/11/18 Пнд 10:50:17  1294024
Как не отчаиваться и продолжать дальше изучать ебаный спринг?
Аноним 12/11/18 Пнд 10:54:32  1294026
>>1294024
Надо делать реальный проект.
А просто изучать - там очень много всего, и далеко не всё это нужно в каждом проекте.
Аноним 12/11/18 Пнд 10:55:40  1294028
>>1294026
>Надо делать реальный проект.
Я сука не могу, слишком много всего из нихуя появляется, просто блять создал проект а там уже 100500 всякого говна налетело.
Аноним 12/11/18 Пнд 11:06:16  1294033
>>1294028
Попробуй сначала минимальные проекты.
На сайте спринга есть пошаговые руководства, например.

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

И делай паузы.
Аноним 12/11/18 Пнд 11:35:12  1294052
>>1294024
А запиливаю все примеры из гада.
Прям по инструкции, pom.xml я копипастой делаю, остальной код пальцами набираю.
На 3-ем примере уже руки помнять что там должно быть и появляются мысли что можно поменять и как кой пед проект запилить из этого.
Всё это естественно на гитхаб.
По итогу руки пишут код и гитхаб зеленеет.
После того как все примеры прочекаю думаю уже вкуривать мануал с самого начала.
Аноним 12/11/18 Пнд 13:11:57  1294104
>>1294023
>
>И да, из готового - Gson.
Чем он лучше jackson из спринг бута?

Алсо, как в спринг буте писать информационные сообщения в один лог, а сообщения об ошибках в другой лог?
Можно ли в спринге перехватить исключения десериализации джейсона и записать сообщение и сам json в лог ошибок?
Аноним 12/11/18 Пнд 13:28:07  1294119
>>1294024
У меня в спринге сложности вызывает только написание тестов по сути. Сам спринг как лего, если соблюдать логику слоев и не хуярить репозитории прям в контроллер.
Аноним 12/11/18 Пнд 15:27:32  1294223
>>1294104
Тем, что он не в спринг буте, очевидно. И вопрос с исключениями сразу отпадает.
Аноним 12/11/18 Пнд 15:57:07  1294258
я извиняюсь за вопрос но может быть у кого то есть Шилдт Java. Полное руководство 10-е издание? я найти не могу уже весь интернет облазил желательно на русском
Аноним 12/11/18 Пнд 16:38:06  1294278
image.png (219Кб, 792x737)
>>1294258
Кое-кто совсем не умеет гуглить. На русском этого издания нет, но на английском ищется за пару минут. Даю подсказку.
Аноним 12/11/18 Пнд 16:38:40  1294279
>>1294278
> на английском
Аноним 12/11/18 Пнд 16:41:01  1294280
>>1294279
Ну так он и обозначил, что желательно на русском. Но раз на русском нет, пусть читает на ангельском.
Аноним 12/11/18 Пнд 16:42:37  1294281
>>1294104
>jackson из спринг бута

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

Насчёт лучше или хуже - я вообще использую свой десериализатор, потому, что готовые меня не устраивают. И это несложно.
Аноним 12/11/18 Пнд 16:50:25  1294285
>>1294280
спасибо, скачаю 9 издание в ангельском пока слабоват

на русском есть просто в интернеты видимо ещё не завезли https://www.ozon.ru/context/detail/id/145826480/
Аноним 12/11/18 Пнд 16:55:21  1294288
>>1294285
Зачем тебе Шилдт? Да ещё на английском?
Когда есть Хорстман, например (на обоих языках)?
https://scanlibs.com/java-tom-1-osnovy-10-izd/
https://scanlibs.com/java-se-8-vvodnyy-kurs/

Есть ещё вот это (не смотрел, но название заманчивое):
https://scanlibs.com/izuchaem-java-na-primerah-i-zadachah/
Аноним 12/11/18 Пнд 17:04:01  1294295
image.png (19Кб, 579x123)
Можно как-то не создавать датасорс и взять эти данные из application.properies?Или тут нужно 100% конфиг делать?
Аноним 12/11/18 Пнд 17:14:37  1294307
>>1294295
https://stackoverflow.com/questions/30337582/spring-boot-configure-and-use-two-datasources

https://medium.com/@joeclever/using-multiple-datasources-with-spring-boot-and-spring-data-6430b00c02e7
Аноним 12/11/18 Пнд 17:48:47  1294359
image.png (3Кб, 264x22)
А это сука что за хуйня блять?!
Аноним 12/11/18 Пнд 17:49:29  1294360
А лол я даун
Аноним 12/11/18 Пнд 18:29:53  1294385
>>1294288
>Хорстман
>https://scanlibs.com/java-tom-1-osnovy-10-izd/
у меня он есть я его читаю сейчас просто мне посоветовали именно Шилтда, и где то слышал что Хорстман больше как справочник или между ними в целом всё равно что читать?

а 9 Шилтда издание кстати на русском есть
Аноним 12/11/18 Пнд 20:29:12  1294448
>>1293902
Бамп.
Аноним 12/11/18 Пнд 20:52:28  1294462
>>1293902
Если я правильно понял вопрос
Ты можешь сделать @Autowired над ,скажем, листом, и тогда спринг соберет все бины типа этого листа собвстенно в этот лист. Однако стоит действовать аккуратно, так как спринг версии 3 и ниже попытается инжектнуть собственно готовый лист, а не собирать его из бинов и можно напороться на NPE
Аноним 12/11/18 Пнд 20:55:39  1294466
>>1294462
Да, это я как раз понял, что чтобы собрать коллекцию из бинов, они должны реализовывать один интерфейс или наследоваться от одного класса. Меня интересует, можно ли сделать так, чтобы в коллекцию собирались все бины с какой-то аннотацией.
Аноним 12/11/18 Пнд 20:58:16  1294467
image.png (23Кб, 520x277)
Анончики, я тут подучил Java, с ванильной проблем нет - всю хуйню, в том числе треды, функциональщина, дженерики - во всем этом разбираюсь, бодро решаю задачки на https://codingame.com

Вопрос в другом - для трудоустройства мне везде говорят что нужна поебота под названием Spring (и еще Hibernate говорят не будет лишним). А вот тут я вообще не что за хуета и с чем едят.

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

Спасибо, няши.
Аноним 12/11/18 Пнд 21:03:11  1294472
>>1294466
Ну чисто теоретически ты можешь сделать свой кастомный BeanPostProcessor, который будет после инициализации бина, через рефлексию проверять если у бина есть твоя аннотация, класть бин в коллекцию.
Как это реализовать? Собственно хуй его знает. Сам в такие кишки не лез, возможно вообще спизданул не то. Если разберешься что к чему, то напиши, а то интересно
Аноним 12/11/18 Пнд 21:03:21  1294473
>>1294467
Ткач, Baeldung
Аноним 12/11/18 Пнд 21:08:57  1294476
>>1294466
Так у тебя бин должен быть коллекцией или коллекция из бинов?
Если и то и другое:
>@Bean("ListBeanName")
>@Autowired
>public List<Clazz> getMotherFuckingBean(Clazz beanX, Clazz beanY, ..., Clazz beanZ) {
>List<Clazz> res = new ArrayList<>();
>res.add(beanX);
>res.add(beanY);
>//...
>res.add(beanZ);
>return res;
>}
Аноним 12/11/18 Пнд 21:09:16  1294477
>>1294473
https://www.youtube.com/watch?v=3wBteulZaAs

Оно? 2015 год, еще актуально?
А то я как долбоеб начал Java Enterprise Beans учить по видео Специалиста, а оказалось это нахер не нужно.
Аноним 12/11/18 Пнд 21:09:59  1294478
>>1294476
Вдогонку: хз, как там с vararg
Аноним 12/11/18 Пнд 21:10:33  1294480
>>1294477
До сих пор остается пособием для джунов в ебаме.
Аноним 12/11/18 Пнд 21:10:41  1294481
Посоны, thinking in java сильно устарела? Просто очень зашел стиль. Я сам не совсем с нуля, знаю, что такое структуры данных, классы, наследование, полиморфизм, интерфейсы, параметризованные типы, короче, на уровне первого курса. То есть, это охуенно, когда книжка не совсем с нуля и сразу начинает давать специфику джавы. Только вот 2007 год смущае немного, там, небось, много воды утекло с тех пор.
Аноним 12/11/18 Пнд 21:13:20  1294485
Перекат >>1294482 (OP)
Перекат >>1294482 (OP)
Перекат >>1294482 (OP)
Перекат >>1294482 (OP)
Перекат >>1294482 (OP)
Перекат >>1294482 (OP)
Аноним 12/11/18 Пнд 21:14:09  1294486
>>1294481
Очень много воды утекло. Ни дженериков, ни функционального программирования, ни фреймворков.
Если не с нуля - лучше фреймворки изучай, толку больше будет. Там же и стиль посмотришь.
Аноним 12/11/18 Пнд 22:52:54  1294548
>>1294385
Люди говорят, что Шилдт - скучный и нечитабельный.
Я это очень давно слышал и не раз.
Сам я его не читал за ненадобностью.

Вот, и тут, например, пишут, что Хорстман лучше:
https://www.reddit.com/r/java/comments/7oip71/book_choice_schildt_vs_horstmann/

Тут ещё многое зависит от того, что ты уже знаешь/умеешь, и от личных склонностей. Выбери сам.
Аноним 13/11/18 Втр 00:10:17  1294586
>>1294548
гляну обе а там решу спасибо большое анон
Аноним 13/11/18 Втр 11:46:24  1294755
>>1294480
пардон, а что такое ебама?

https://www.youtube.com/watch?v=9hdR048xBX8
Аноним 13/11/18 Втр 21:38:52  1295093
>>1294288
Прочитал и Шилдта и Хорстмана. Сейчас перечитываю по второму кругу некоторые моменты спустя полгода. Так вот Шилдт лично мне заходит на порядок легче.
Аноним 13/11/18 Втр 21:41:25  1295094
>>1294467
Выше в треде была книжка. Параллельно такая последовательность: "Спринг Юрий Ткач" и "letscode springboot"
Аноним 15/11/18 Чтв 20:35:13  1295994
>>1294755
ЕРАМ скорее всего , галера не с лучшей репутацией в IT кругах
Аноним 19/11/18 Пнд 22:53:59  1297892
cat3.png (281Кб, 429x429)
Господа, кто-нибудь пытался пристроить ассемблерные вставки в жабу? И если да, то как это можно устроить путем наименьшей ебли? Надеюсь, что jni через какие нибудь плюсы, это не наименьшая ебля
Аноним 20/11/18 Втр 18:26:16  1298295
js!
Аноним 21/11/18 Срд 02:18:15  1298602
>>1288035
ИлИлоо
Аноним 25/11/18 Вск 12:47:03  1300859
rps.png (27Кб, 276x260)
>>1292469
и смог мимо пройти не
Аноним 27/11/18 Втр 01:21:29  1301642
>>1292469
стеком


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