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



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 554 | 31 | 122
Назад Вниз Каталог Обновить

Официальный™ тред Java #57 Аноним # OP  22/03/17 Срд 15:42:47  959011  
.jpg (29Кб, 614x327)
FAQ:

Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ?
A:Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.

Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.

Q: Значит, я должен буду всю жизнь сидеть в опенспейсе, конвертируя XML в эксепшны? Ура, мне подходит! С чего начать?
A: Туториалы:
BEGINNER: http://myflex.org/books/java4kids/java4kids.htm
MEDIUM: http://www.tutorialspoint.com/java_technology_tutorials.htm
HARD: http://docs.oracle.com/javase/tutorial/

Книги:
- Head First Java, (2nd Edition) : Kathy Sierra, Bert Bates - для совсем нулячих простым языком.
- Core Java (9th edition) : Cay S. Horstmann, Gary Cornell - тоже для нубасов, но на серьёзных щщах.
- Thinking in Java (4th Edition): Bruce Eckel - для тех, кто уже умеет в программирование на другом языке, но хочет перекатиться.
- Effective Java (2nd Edition): Joshua Bloch - для тех, кто знает джаву, но хочет перестать писать костыли.
Больше здесь: http://www.proklondike.com/books/java.html
- Soft Skills: The software developer’s life manual : John Sonmez - сказки на ночь.

Видео:
https://habrahabr.ru/company/golovachcourses/blog/215275/ : 1000+ часов видео по Java на русском.

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

Q: Я не могу в книги. Наткнулся на джавараш, но в самом верхнем вопросе уловил нотки сарказма. С ним все правда плохо?
A: Это очередной курс(выучи джаву за 60 секунд и получай 300к в месяц), основная цель которого - выкачать из тебя деньги.

Q: Пока читаю, все понимаю, а сам ничего сделать не могу. Что делать?
A: Практика, больше практики.
Уровня laba1.pas: http://codingbat.com/java http://codehunt.com
Чутка серьезнее: http://programmr.com/zone/java http://codingame.com/puzzles
Рулеточка: http://postimg.org/image/xdfbvgps9/
Олимпиадка: http://codeforces.com
Примеры той-проектов: http://eax.me/programming-language-learning/
Ежедневные задачки, разделены на три уровня сложности https://www.reddit.com/r/dailyprogrammer

Q: Я выучил кор, достаточно ли этого, чтоб взяли на работу?
A: Лол, конечно нет хотя некоторым всё же везёт.
Цикл статей что в каком порядке учить: http://dou.ua/lenta/articles/java-beginner-guide-1/ (заблочен РосКомПозором, юзайте прокси)

Q: Слышал, SQL знать надо обязательно. Где его учить?
A: Начни с малого: http://www.w3schools.com/sql/default.asp
Затем переходи к: http://www.sql-ex.ru/

Q: Всё это хорошо, но без алгоритмов меня на работу не возьмут.
A: Не беда, вот курсы от Принстонского университета: https://www.coursera.org/course/algs4partI
То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java

Q: Я готов к первому собеседованию.
A: Проверь свои знания здесь: http://www.quizful.net/test
И здесь: http://www.careercup.com/

Q: Вопросы на собеседование.
A: http://jsehelper.blogspot.ru/2016/01/blog-post_59.html : куча вопросов с ответами не всегда правильными
http://becomejavasenior.com/blog/2015/07/01/327-inter..

Q: Какие еще ресурсы можно почитать?
A: https://android-arsenal.com/ : android
https://google.github.io/styleguide/javaguide.html : google java style
http://blog.jooq.org/ : Java, SQL, and jOOQ
http://virtualjug.com/podcast/ : подкасты

Q: Где можно пообщаться на java тематику?
- В этом ITT треде.
- https://www.reddit.com/r/java : reddit
- http://stackoverflow.com/questions/tagged/java : платформа для вопросов и ответов

Список java фреймворков, библиотек и по на любой вкус:
https://github.com/akullpp/awesome-java

Шапка треда:
http://pastebin.com/37Ldgi60

Предыдущий: https://2ch.hk/pr/res/950088.html
Аноним 22/03/17 Срд 16:47:51  959040
Кто что использует для веб-проектов?
Аноним 22/03/17 Срд 17:23:45  959059
>>959040
Heliantus Annum.
Аноним 22/03/17 Срд 17:39:06  959071
.png (242Кб, 503x711)
почему жава тормозит?
Аноним 22/03/17 Срд 17:45:39  959078
>>959071
Жава была специально создана, чтобы отмывать банковские деньги в IT. Нужно было чем-то обосновывать миллиардные траты на железо и инфраструктуру. Т.к. железо становилось все быстрее и быстрее, то потребовалось создать максимально уебанский язык программирования, чтобы никакой прогресс в железе не мог преодолеть его подводные камни.
Аноним 22/03/17 Срд 17:53:57  959085
>>959040
бамп темой (а то масонские заговоры уже пошли)
>Кто что использует для веб-проектов?
Аноним 22/03/17 Срд 18:07:39  959096
>>959040
> Кто что использует для веб-проектов?
GO
O
Аноним 22/03/17 Срд 18:13:17  959100
>>959085
MiniMagAsm
https://asm32.info/index.cgi?page=content/0_MiniMagAsm/index.txt#Hmain
Аноним 22/03/17 Срд 18:15:45  959105
>>959096
Смотрел я на этот ГО, 100500 каких-то велосипедов, ничего толком нет путевого (я ожидал что-то типа джанги там, а там огрызки).
Такой же пустой хайп как и руби, только бюджет побольше.
И так вернемся к проверенным инструментам:
>Кто что использует для веб-проектов?
Аноним 22/03/17 Срд 19:16:12  959130
>>959040
Scala
Аноним 22/03/17 Срд 19:27:37  959142
>>959040
HTML
Аноним 22/03/17 Срд 19:46:58  959164
>>959130
Play или Lift? или же Spring?
Аноним 22/03/17 Срд 19:56:10  959175
>>959164
Play, Akka HTTP
Аноним 22/03/17 Срд 20:04:05  959185
>>959130
а на скале какие либы?
Аноним 22/03/17 Срд 20:05:47  959189
как сделать конектор, для подключения к БД?
саму базу поднял, а, вот, как связать её с java классом?
Аноним 22/03/17 Срд 20:18:39  959205
>>959189
http://g.zeos.in/?q=JDBC%20example
Аноним 22/03/17 Срд 20:43:14  959219
>>959205
я потому и обратился, что там не обнаружил ответа
ну, или же, в силу своего тупизма его не понял
Аноним 22/03/17 Срд 21:03:01  959235
>>959219
Напиши в гугле "подключение mysql java" и все, достаточно скопировать некоторые параметры и подставить свои логин пароль
Аноним 22/03/17 Срд 21:11:16  959244
>>959189
import java.sql.*;
Connection connection = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
Аноним 22/03/17 Срд 21:12:26  959246
>>959244
dbUrl = "jdbc:mysql://localhost:3306/%tablename%"
Аноним 22/03/17 Срд 21:22:08  959254
>>959246
да, я это понимаю
проблема в том, какой именно проект выбрать?
для idea нашел, там все подробно рассказано
а для netbeans'a написано только: "выберите "приложение Java""

Аноним 22/03/17 Срд 21:37:12  959263
>>959254
Нахуй тебе какие-то проекты? Берешь гредл (или мавен) и хуячишь что тебе надо.
Аноним 22/03/17 Срд 22:13:44  959280
>>957815
Слушай, я немного запутался окончательно с этими контроллерами. В общем, суть приложения такая - при запуске приложения делается проверка в базе, если ничего нет,
то делается запрос к api и добавляет в базу Photo с ссылкой на фотку и солом (день марсианский).

В общем, я пытаюсь как-то связать PhotoController с вызовом приложением, чтобы только один метод addPhoto вызывался. В нем бы делалась проверка на наличие чего-то в базе и потом новая фотка заносилась в базу.
Я понял что это делается через Rest, но как его связать с контроллером.
Извини, что заебываю, но ты единственный, кто помогает с этим гавном разобраться
https://github.com/Kabowyad/Test-Project/tree/api-test/src/main
Аноним 22/03/17 Срд 22:25:54  959286
>>959011 (OP)
> A:Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.
То-то большинство тестовых заданий как-будто слизано с JavaRush. 30+ лвл, ни разу не пожалел насчёт вложения. Тот кто это писал явно не захаживал дальше десятого уровня.
Аноним 22/03/17 Срд 22:52:25  959313
>>959011 (OP)
Котаны, читаю Уоллса (Spring in action), как-раз дошёл до определения связывания обектов и охуел: Spring нужен для того, что бы мы могли программировать XML, когда программируем на Java? Аннотации отдельный разговор, если разрабы Spring забухают, то код с аннотациями соснёт при перекате на другой фреймворк.
Аноним 22/03/17 Срд 22:56:10  959315
>>959286
Так и есть. Сам когда-то проходил ради интереса, первые задания - пиздец на перепечатывания кода, но ведь они рассчитаны на совсем зелёных новичков, дальше идут вполне себе нормальные. Хотя я всё равно дропнул уровне так на 15, мне показалось слишком медленно, по книгам быстрее.
Аноним 22/03/17 Срд 23:09:41  959323
>>959313
Тот факт, что в этой же книге тебе прямо капсом написали "Component Scan > Java Config > Xml" тебя вообще не смутил?
А вообще мне xml нравится. Очень удобно, централизовано. Если нет в проекте мудака, который не умеет импорты делать, то я выберу xml/groovy конфиг, а не скан.
Аноним 22/03/17 Срд 23:10:26  959324
Анон, что скажешь про курс "Beginner to Programmer: The Complete Java Developer Course" за авторством Tim'a Buchalka? Есть смысл на него время тратить или строго по шапке треда учиться?
Сам могу только на паскале калькулятор написать.
Курс мне подарили. Дарёному коню в зубы не смотрят.
Аноним 22/03/17 Срд 23:11:47  959326
>>959324
Я бы на туторилах учился. Ну или начал с С, если хочешь хард вей. Книжки по яве - почти всегда вода.
Аноним 22/03/17 Срд 23:22:36  959334
>>959326
>книжки по яве
Мне кажется, что бы закрепить основы самое то.
Но боюсь, что этот курс окажется той же книжкой только в браузере.
А почему все советуют начинать с С, если Ява это тот же С, только в прокаченный поправь, если не прав, по С качественнее туторы?
Аноним 22/03/17 Срд 23:30:34  959341
>>959334
>Мне кажется, что бы закрепить основы самое то.
Смотря что ты считаешь основами.

>А почему все советуют начинать с С, если Ява это тот же С, только в прокаченный
Ява с си имеет общего в основном синтаксис. Это никак не прокачанный си, слишком разные задачи.
Но если ты немного поучишь си, то у тебя не будет в будущем всяких глупых вопросов вроде "почему new String("хуй") == new String("хуй") - false". Ключевое слово - немного.
Аноним 22/03/17 Срд 23:33:43  959344
На джаве не пишут веб?
>Кто что использует для веб-проектов?
Аноним 22/03/17 Срд 23:39:17  959346
>>959313
>то код с аннотациями соснёт при перекате на другой фреймворк.
Нет, если они бухают с другими разрабами фреймворков которые поддерживают те же аннотации (как и xml теги).

А вообще xml - самое бестолковый и переусложненный вид настроек. Впрочем как и все в джаве. Кроме стандартной либы.

Там же как у макак - чем мудренней и запутаней - тем солиднее и пускай КПД к жопе сводится.
Джава жива только лишь из-за мобильников.
Аноним 22/03/17 Срд 23:44:22  959349
>>959346
Всмысле "только из-за" мобильников? Почему тогда все предприятия крупные джаву используют? Да, во многом не удобно, да, приходится писать свои библиотеки под свои нужды. Н почему тогда другие языки почти не используют в крупных предприятиях, если джава так плоха?
Аноним 22/03/17 Срд 23:57:44  959354
>>959344
Spring MVC.
Аноним 22/03/17 Срд 23:58:22  959355
>>959346
>А вообще xml - самое бестолковый и переусложненный вид настроек.
Хуле там переусложненного-то? имя бина и его класс? Охуеть сложность.
Аноним 23/03/17 Чтв 00:19:57  959358
>>959323
> "Component Scan > Java Config > Xml"
А суровая реальность строго наоборот. А когда дело доходит до неймспейсов так вообще.
Аноним 23/03/17 Чтв 00:21:33  959359
>>959011 (OP)
>Q: Хули все книги на английском?
>A: Без английского ты не нужен и можешь смело идти нахуй.

А хули тут все аноны на русском общаются? Шапка треда на русском, да весь /pr на русском. Неужто никто не может в английский?
Аноним 23/03/17 Чтв 00:23:01  959360
>>959358
Ничего не знаю. Я уже года два проектов, где основная конфигурация на xml, не видел.
Ну мы маршруты для кемла пишем в xml, потому что ява дсл - дерьмо.
Аноним 23/03/17 Чтв 00:43:46  959369
>>959349
Потенциал языка измеряется в том, сколько новых проектов на нем создается.
А легаси код ничего не решает (вон кобол до 2006 года был в топе по количеству написанного кода, но в 2006 ты о нем и не слышал, так же с джавой, ее спасли только мобильники)
Аноним 23/03/17 Чтв 00:45:10  959370
>>959355
Сравни какой-нибудь TOML с XML (какие портянки там получаются)
Аноним 23/03/17 Чтв 00:50:01  959374
Scala или Kotlin? На какой стул сядешь ?
Аноним 23/03/17 Чтв 00:50:40  959375
>>959185
https://github.com/lauris/awesome-scala/blob/master/README.md
Аноним 23/03/17 Чтв 01:22:02  959380
>>959359
Много кто может в английский. Только твоя логика тут непонятна. Зачем им общаться на английском на русской борде?
Вся нормальная литература, материал в интернете, сообщество -- преимущественно на английском. Соответственно, если ты не можешь в английский, то очень многое теряешь.
Аноним 23/03/17 Чтв 01:28:33  959383
>>959374
Возьму скалу дроченную срублю котлин точенный.
Аноним 23/03/17 Чтв 01:49:32  959391
>>959374
Для реальной разработки - Kotlin.
Для себя - Haskell.
Аноним 23/03/17 Чтв 02:05:26  959394
96cea4435f2c447[...].jpg (21Кб, 400x300)
>>959380
Ну-ка, забацай что-нибудь на английском, пёс.
Аноним 23/03/17 Чтв 02:29:03  959397
>>959394
го ту факин хорсес, битч
Аноним 23/03/17 Чтв 02:40:02  959400
>>959394
БОЛЬШИЕ ДЯДИ В ПОДКАСТЕ СКАЗАЛИ ЧТО АНГЛ НАШЕ ВСЕ
@
ПОКЛОНЯЕШЬСЯ ЭТОЙ ИДЕИ
@
СИДИШЬ ВМЕСТЕ С ТЕМИ ДЯДЯМИ В ГУГЛ-ТРАНСЛЕЙТ
Аноним 23/03/17 Чтв 02:44:44  959403
Вот написал REST сервис на Jetty+Jersey:
http://pastebin.com/e2ZgGf5z
http://pastebin.com/BNA6sdXy
http://pastebin.com/1HHgSsbB
Не могу понять, как мне туда добавить статическое содержимое (HTML/CSS/JS)?
Допустим, в src\main\resources\web лежит страница info.html, в JAR-файле она будет в web\info.html.
И как ее показать?
Аноним 23/03/17 Чтв 03:01:47  959410
>>959011 (OP)
> На джаве фриланса нет.
C R O S S O V E R
R
O
S
S
O
V
E
R
Аноним 23/03/17 Чтв 03:06:21  959411
>>959403
Возьми го, не мучайся с этой жопой
Аноним 23/03/17 Чтв 03:08:47  959412
>>959411
Некроссплатформенная параша без женериков не нужна.
Аноним 23/03/17 Чтв 03:11:04  959413
>>959412
>без женериков
Джавамакаки в жизни не юзали нормальных дженериков. Этот сблев, который в джаве, хуже говна.
мимокджавист
Аноним 23/03/17 Чтв 03:30:13  959414
>>959412
>Некроссплатформенная
Враки.

>без женериков
Это единственное что тебя останавливает, чтобы страдать в джаве?
На джаве простой веб не пишут (ты даже для ембеддед сервера взял сервлеты - насколько там надо мозги на Java EE свернуть)?

Ну натянешь потом еще спринг и хибернейт и не влезет это говно в твою vps
Аноним 23/03/17 Чтв 03:33:32  959415
>>959414
>чтобы страдать в джаве?
Я серьезно, хотя джава огромна, но шаг в сторону и ты с продуктом один на один.
Либо как все юзай war - либо забудь про ембеддед, максимум лабы найдешь как пример.

Бесит го - возьми питон (джангу). Еще спасибо скажешь
Аноним 23/03/17 Чтв 03:37:13  959416
>>959403
Ладно, я тебя достаточно помучил, но все таки открой для себя гугл

http://stackoverflow.com/questions/10284584/serving-static-files-w-embedded-jetty>>959403

Аноним 23/03/17 Чтв 06:51:51  959432
>>959415
Ты ебанутый?
Нет правда ты кроме хеловорда хоть что то писал на явке
Аноним 23/03/17 Чтв 09:24:56  959448
>>959410
Ну и много ты там заработал?
Аноним 23/03/17 Чтв 09:52:36  959451
>>959432
Он и на го ничего кроме хеллоуворлда не написал.
Аноним 23/03/17 Чтв 16:26:42  959604
Поясните за скул, нахуя его учить, если сейчас почти все юзают orm? Или я не прав?
Аноним 23/03/17 Чтв 16:33:49  959608
>>959604
Для какой-то сложной хуйни всё равно придётся строкой писать. ORM это костыль, а полноценного и универсального DSL ещё не сделали.
Аноним 23/03/17 Чтв 16:41:46  959615
>>959604
У нас, например, используется solr, эта хуйня для индексации данных требует sql-запросы. Для каких-то простых действий удобнее написать простенький запрос на sql или jpql. Возможно где-то вы захотите использовать фишки вашей конкретной бд. Да мало ли чего может случиться.
Аноним 23/03/17 Чтв 18:33:39  959677
>>959604
я щитаю так - решить 50 задачек на sql-ex.ru - и тебе хватит этого на 95% на работе.
Для всего остального будут искать именно специалиста SQL узкого профиля, а тебе оно надо?
Аноним 23/03/17 Чтв 20:15:20  959712
>>959604
А как ты собрался орм квери писать, если ты даже sql не осилил?
Аноним 23/03/17 Чтв 20:21:06  959713
>>959432
>>959451
Это вы ебанутые, топите за джаву, так парню бы на вопрос ответили. Нет же, задницами попалыхали тут, тролля порадовали.
Аноним 23/03/17 Чтв 21:15:40  959731
Сап, пацаны. Решил ебашить рест-сервис на спринге. Но вот как теперь это всё тестить. Заебашил метод, который принимает дтошку @RequestBody, но как запрос теперь сделать с этой дтошкой? Просто сделать json со структурой как моя дтошка? И как вообще потом через ангуляр запросы делать? Тоже что ли джсон отправлять?
Аноним 23/03/17 Чтв 21:45:04  959745
>>959731
Тестирование - это для пидоров.
Аноним 23/03/17 Чтв 21:48:45  959748
>>959713
Двачую.
мимо_гугл_кун_сша
Аноним 23/03/17 Чтв 21:50:27  959750
14322670793600.jpg (732Кб, 1853x2048)
Поясните разницу между Java и JavaScript? Что лучше учить, или Python?
мимо_с++_джуниор
Аноним 23/03/17 Чтв 21:57:57  959751
>>959750
Scala
Аноним 23/03/17 Чтв 21:58:16  959752
>>959750
У тебя устаревшая картинка. И Java и JavaScript скоро канут в лету. Учи либо Lisp, либо Haskell, за ними будущее.
Аноним 23/03/17 Чтв 22:00:09  959753
>>959751
Аноним 23/03/17 Чтв 22:02:30  959755
>>959608
lukas.jpg
Аноним 23/03/17 Чтв 22:04:56  959758
>>959745
Бля. Ну ты понял меня. Я не про ТЕСТИРОВАНИЕ. Я про отправление запросов
Аноним 23/03/17 Чтв 22:06:21  959759
.png (513Кб, 657x516)
>>959753
Аноним 23/03/17 Чтв 22:10:30  959762
>>959758
Ну json, конечно. Настрой для этого какой-нибудь gson или jackson.
Вообще, нахуя тебе Spring для rest? Взял бы православный Jersey, я бы тебя тогда даже пидором называть бы не стал.
Аноним 23/03/17 Чтв 22:15:35  959764
.jpg (450Кб, 1800x1800)
>>959759
Аноним 23/03/17 Чтв 22:48:37  959779
>>959414
>Враки.
Ставишь анус, что любой пакет на ГОвне соберется на винде без pkg-config?

>Это единственное что тебя останавливает, чтобы страдать в джаве?
Уебывай в свой тред, Илюша. Здесь обсуждается Java, а не ГОвно.
Аноним 23/03/17 Чтв 22:49:13  959781
>>959762
Алло, спринг за тебя уже все настроил. Только шли структуры верные и все.
А для именно тестов у спринг мвц есть класс MockMvc.
Аноним 23/03/17 Чтв 22:52:43  959783
>>959752
>Lisp
>за ними будущее
Как там в 1958 году?
Аноним 23/03/17 Чтв 22:54:49  959787
>>959779
Я бы назвал главной проблемой го - молодость. Нормальной иде нет, бестпрактис не выработаны, с тулчейном тоже еще не разобрались. Т.е. все проблемы не в языке, а в экосистеме. В языке лично мне только эксепшнов не хватает.
Аноним 23/03/17 Чтв 22:55:36  959788
>>959783
Я тебя умоляю, это же платина уровня "программирование - не твое, попробуй яваскрипт".
Аноним 23/03/17 Чтв 22:57:45  959789
>>959783
В том то и дело, что лисп до сих пор живее всех живых. Сколько прикладных языков типа дельфи и фортрана, перла и кобола уже умерло, а лисп здравствует.
Аноним 23/03/17 Чтв 22:58:43  959791
>>959416
Ты сам-то пробовал эти примеры? Ни ResourceHandler, ни DefaultHandler не могут выдавать статику из JAR-файла. Внешние файлы из файловой системы выдать могут, а вот из JAR-ника - нет.
Аноним 23/03/17 Чтв 22:59:11  959792
>>959779
Если дергать какой-нибудь винапи то ты обосрешься со всем. Не загоняй в абсолют, глупое ты дитя с приступами юношеского максимализма, даже джава нихера не 100% кроссплатформенная.

Что джава что го - два куска неповоротливого говна, только для первого раньше были тулзовины типа IDEA, то сейчас и го оброс IDEA - кодить на нем стало в разы приятней, чем на жабе
Аноним 23/03/17 Чтв 22:59:11  959793
>>959789
Так-то и фортран, и кобол, и делфи живее всех живых. То что ты не используешь их - еще ничего не значит.
Аноним 23/03/17 Чтв 23:00:37  959795
>>959791
Господи, да возьми ты Spring Boot и не еби мозги ни себе, ни людям. А хочешь копаться в конфигах - учись гуглить.
Аноним 23/03/17 Чтв 23:02:56  959796
>>959791
Что тут у нас? Кто-то пытается в нагруженном веб-приложении статику из JAR показывать - ты совсем долбаеб?

Бля даже индусы знают, что контейнер распаковывает war-ники, откуда такие эксперты тут
Аноним 23/03/17 Чтв 23:04:35  959800
>>959795
А еще сервер приложений установи... В том и цель, чтобы все быстро работало, не требовало деплоя и было минимум зависимостей. Никакого Spring и EJB, разумеется.

В очередной раз убеждаюсь, что здесь сидят одни макаки, которые умеют только бездумно копипастить со StackOverflow. Без понимания принципов работы.
Аноним 23/03/17 Чтв 23:05:24  959801
>>959796
Ты не знаешь, что такое Embedded Jetty?
Аноним 23/03/17 Чтв 23:05:34  959802
>>959796
Даже индусы знают, что статику надо раздавать nginx'ом. Но это никак не мешает существованию WebJars.org. Иди выебывайся в другой тред.
Аноним 23/03/17 Чтв 23:06:50  959803
>>959800
Spring Boot как раз и стартует на ембеддед сервере. И сделан именно для хуяк-хуяк - рест. Особенно в пачке с spring data и spring data rest.
Аноним 23/03/17 Чтв 23:07:58  959804
>>959795
Весна сплошная магия на магии. Все хорошо если у тебя CRUD, но как только нужно что-то по-серьезней и вне рамках фантазий разрабов - твоя жизнь превращается в ад.

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

Возьми го - и сам слепи из "кусков" независимых. Ладно еще в питонах, пхп или жс понимают как строить современный веб, но в джаве же одни корпаративные индусы и них эволюция пошла по другому пути.
Аноним 23/03/17 Чтв 23:09:00  959805
>>959802
Какое грозное кукарекание, в переводе на человеческий язык означающее "Я тупой мудак и быдлокодер и не знаю ни хуя".
Аноним 23/03/17 Чтв 23:10:21  959807
>>959802
Лол, жаба такой костыль, что индусы тянут nginx и сюда.
В чем профит разработки на жабе? Пострадать и взять nginx?
Пхпэшники обладируют стоя
Аноним 23/03/17 Чтв 23:11:05  959809
>>959804
Если для тебя спринг - это магия, то ты очень мало о нем знаешь. Спринг простой как двери. Ядро спринга - очень легкое и удобное. Спринг дата построен на одном абстрактном классе и простом квери генераторе. Спринг мвц вообще весь на диспетчер сервлете и трех адаптерах висит. Но ты и это не осилил, тебе и di фреймворк - магия.
Аноним 23/03/17 Чтв 23:11:45  959811
>>959804
RESTful веб-сервис + front end к нему это нечто нестандартное?
У меня уже есть готовое решение, написанное исключительно на сервлетах/JSP и работающее под Томкатом.
Хочу просто улучшить его.
Аноним 23/03/17 Чтв 23:12:09  959812
>>959805
А я вижу яркий подрыв пукана.
Аноним 23/03/17 Чтв 23:14:12  959813
>>959811
Вот я тебе и говорю: спринг мвц либо сразу бут. Это очень удобно, тебе понравится. Посмотри туторилы прямо на офф сайте, там есть один с именем прямо из твоего вопроса.
Аноним 23/03/17 Чтв 23:16:33  959816
>>959809
>Спринг простой как двери, Спринг мвц вообще весь на диспетчер сервлете и трех адаптерах висит
>Ставишь брэкпоинт в контроллере и видишь стектрейс из ~50-70 вызовов.

"Индусские простые двери". Не братишь, спринг еще и тормозит звездец
https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext

Нахуй заберай эту парашницу, которая хеллоу-ворд почти как скриптовые языки отдает
Аноним 23/03/17 Чтв 23:20:22  959817
>>959816
А знаешь что скажет типичный Ванька-индус? Он скажет "и че, время программиста дороже железа" и будет прав. Джава крутится в таких "менфреймах" что там срали на производительность.
Джава != производительность. Просто почему ынтерпрайз не берет скажем пхп или питон - из-за косяков многопоточности и все. А так по железо их бы устраивало.
Аноним 23/03/17 Чтв 23:21:45  959818
>>959759
Что означает этот индус, в чем мулька этой картинки?
Аноним 23/03/17 Чтв 23:22:48  959819
>>959818
Ну как. Все смешные стереотипы о яве времен нулевых в одной картинке. Я каждый раз смеюсь.
Аноним 23/03/17 Чтв 23:22:49  959820
>>959816
Все соснули у https://tumblr.github.io/colossus/
Аноним 23/03/17 Чтв 23:24:46  959822
>>959813
На хабре пишут, что спринг тяжеловесный, приложения долго стартуют, куча зависимостей. И лучше Embedded Jetty.
У меня приложение нечто вроде онлайн-игры, требуется:
- высокая нагрузка (обновление страницы хотя бы 25 раз в секунду, для нескольких тысяч пользователей);
- быстрая NoSQL база (здесь еще не сделал выбор);
- использование ANTLR (пользователь пишет код на особом языке, который используется для управления объектами);
- на front end используется canvas (пока в 2D), с большой картой, переход на которой должен быть без задержек.
Аноним 23/03/17 Чтв 23:30:03  959826
>>959822
Добавь спринг кор в проект и сделай mvn dependency:tree. Долгий старт - следствие компонент скана по куче jar файлов и проксирования бинов, но если не использовать их - платить будет не за что.
Сложное положение на чистых сервлетах ты не напишешь в любом случае - это позапрошлый век. А хочешь микросервисный шлак для тысяч запросов - и правда посмотри в сторону го или реактивного спринга, там должно быть лучше это все, но он в бете только
Аноним 23/03/17 Чтв 23:42:49  959831
>>959822
vert.x
Аноним 23/03/17 Чтв 23:45:33  959833
>>959615
>solr
>требует sql-запросы
>требует
oh you
Аноним 23/03/17 Чтв 23:52:14  959834
>>959818
Это суть джявы.
Аноним 23/03/17 Чтв 23:53:03  959835
>>959826
можешь посоветовать литературу по спрингу?
Аноним 24/03/17 Птн 00:03:46  959837
>>959835
Документация > туторилы > Spring in Action.
Аноним 24/03/17 Птн 00:26:29  959840
>>959837
>Spring in Action.
Двачую.
С другой стороны спринг НИНУЖОН.
Аноним 24/03/17 Птн 01:30:59  959864
Посоны, проблема следующая.

Поднят Wildfly 10. Реализовано небольшое приложение. Имеется Stateless бин с инжектированным EntityManager. Когда выполняю select запросы - все работает нормально.
Как только пытаюсь выполнить persist паадет исключение

TransactionRequiredException WFLYJPA0060 Transaction is required to perform this operation

Бин отмечен одной лишь аннотацией - Stateless. Судя по докам этого должно быть достаточно, т.к. по умолчанию включается CMT режим управления транзакциями.

Однако эта блядь все равно не создает новых транзакций!

БД - MySQL.
Wildfly запущен в standalone режиме.

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

Аноним 24/03/17 Птн 02:29:39  959876
>>959864
Ну может @Transactional
Аноним 24/03/17 Птн 02:31:34  959877
>>959876
Не помогает.

Сейчас расковырял свой же код - в методе бина перед собственно персистом выполняется чтение из базы (через find у энтити менеджера), что в теории может приводить к закрытию транзакции, хотя это полный бред.
Аноним 24/03/17 Птн 02:49:29  959883
>>959877
Смотри стек исключения
Отталкиваясь от стека начни ставить брэкпоинты.
Изучай (страдай, джава же, там будет туча абстракций)

Какой типа таблицы?
Аноним 24/03/17 Птн 07:57:21  959921
Ребят, тыкните носом, что нужно знать. Задача такая:
есть CSV фаил, с большим кол-вом данных. Нужно его отсортировать по третьему ряду, однако при этом сказано, что наш компьютер не обладает достаточным кол-вом оперативной памяти, из этого следует, что мы не можем просто вывести всю инфу в массив и отсортировать там. А должны делать это прямо в этом CSV фаиле. Какие мысли? У меня проблема именно с реализацией всего этого без использования массива, в котором можно было бы все это реализовать. Есть мысли о создании нового CSV фаила, и добавлять туда по одной строке с минимальный значением в 3 ряду за один проход по исходному, и т.д пока не будет выведены все. Но это выглядит очень затратно и глупо. Какие, более оптимальные варианты существуют?
Аноним 24/03/17 Птн 09:30:05  959946
>>959883
Да, нужно было по внимательнее свой код поковырять.
Тот самый find и падал с исключением.
Самое интересное что исключение правильно обрабатывается и пишется в лог. Проблема в том что wildfly не написал в лог это исключение, поэтому я его и не замечал
Аноним 24/03/17 Птн 09:35:37  959947
>>959921
Вон из профессии.
Аноним 24/03/17 Птн 09:52:46  959956
>>959947
конструктив?
Аноним 24/03/17 Птн 10:01:15  959960
>>959946
Разобрался с логированием. Не правильно передавал аргументы в метод логгера error() - там первым аргументом идет Message а не Throwable - в итоге запись не было видно.

Блять все из-за таких мелочей, а столько гемороя что я уже в реальности сомневаться стал
Аноним 24/03/17 Птн 10:02:37  959963
>>959956
Конструктив: даже школьник додумается сделать merge sort.
Аноним 24/03/17 Птн 10:05:29  959964
>>959963
сразу после своего поста, пришла эта идея, я не так уж безнадежен. Спасибо за совет)
Аноним 24/03/17 Птн 10:44:27  959982
>>959964
Иди нахуй.
Аноним 24/03/17 Птн 11:33:31  959991
>>959982
хуево быть дегенератом, да?
Аноним 24/03/17 Птн 11:40:34  959995
>>959991
Тебе видней по очевидным причинам
Аноним 24/03/17 Птн 11:41:24  959996
Привет, джаваны. Пришлось мне тут столкнуться с JSON ответами и вот вопрос: какую либу использовать? Какую использовать моветон, а какая считается классикой?

На сайте json хуева гора библ, но какую взять - хз.
Ткните носом. Спасибо
Аноним 24/03/17 Птн 11:43:24  959997
>>959996
алсо, смотрю в сторону json-simple
Аноним 24/03/17 Птн 11:43:29  959998
>>959995
очевидно тут только то, что ты омежка-обиженка-битард, лол
Аноним 24/03/17 Птн 11:49:02  960002
>>959998
>КУДАХ БАБАХ КУАРЕКУ
Ясно.
Аноним 24/03/17 Птн 11:49:20  960003
>>959996
Иди нахуй.
Аноним 24/03/17 Птн 12:00:29  960013
>>960003
>>960002
>>959998
>>959991
>>959982

Введите модерацию в тематике, уберите кричащих инвалидов
Аноним 24/03/17 Птн 12:03:27  960016
>>960013
>Введите
Нагибайся :3
Аноним 24/03/17 Птн 12:53:41  960028
>>959996
Джексон используй.
Аноним 24/03/17 Птн 12:55:26  960030
>>959403
Разобрался, вот так все работает:
http://pastebin.com/6HeTsQRR
DefaultServlet выдает статику, Jersey - REST.

У Spring, как я понимаю, вот этот компонент дает аналогичные возможности:
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jetty
Но там какие-то свои аннотации вместо JAX-RS. Неудобно.
Аноним 24/03/17 Птн 12:59:59  960032
>>959996
gson или jackson
См. также обзор JSON парсеров от люксофта: https://habrahabr.ru/company/luxoft/blog/280782/
Аноним 24/03/17 Птн 13:00:58  960034
>>960032
>люксофт
> https://habrahabr
Феерический дегенерат.
Аноним 24/03/17 Птн 13:07:49  960038
>>960034
Это корпоративный блог, наркоман. На хабре у всех такие есть.
Аноним 24/03/17 Птн 13:09:22  960039
джаваджедаи, подскажите пожалуйста.
я вот запилил по гайду https://medium.com/@gustavo.ponce.ch/spring-boot-spring-mvc-spring-security-mysql-a5d8545d837d#.awgevgne0
сие приложение с авторизацией и регистрацией.
а вот если я хочу что бы я еще мог авторизироваться например не только под ADMIN(как в примере запилиено), а например еще под REG_USER?
я вот в бд добавил пользователя присвоил ему роль REG_USER.
в LoginController.java добавил метод homeRegUser() с @RequestMapping(value="/reguser/home", method = RequestMethod.GET)
мне теперь надо в классе SecurityConfiguration.java в методе configure(HttpSecurity http) что-то менять или как?
подскажите плез
Аноним 24/03/17 Птн 13:17:17  960046
>>960039
А проверить что уже работает ты не догадался, чудило?
Должно работать с тем конфигом без изменений, ибо
>.anyRequest().authenticated()
пропускает любой запрос от аутентифицированного юзера (в /admin/ не пропустит - там другое правило не даст).
Аноним 24/03/17 Птн 13:20:41  960048
>>960046
ружище я проверил. все именно так кк ты говоришь, когда заходишь под другим пользователем выкидывает ошибку. так и должно быть, но как мне показать например /reguser/home, если я авторизируюсь под REG_USER? вот в чем проблема немножко не понимаю в какю сторону копать. Т.е. если под админом логинюсь. он мне показывает /admin/home, а если под reguser то /reguser/home
Аноним 24/03/17 Птн 15:13:13  960102
>>960032
спасибо, Анон
Аноним 24/03/17 Птн 15:47:21  960114
>>959011 (OP)
Здраститя. Мне требуется распечатать элементы стека, какой вариант православнее/быстрее?
while(stack.peek()!=null)
System.out.print(stack.pop()+" ");
или
for(Iterator it = stack.iterator();it.hasNext();) {
System.out.println(it.next());
}
????
Аноним 24/03/17 Птн 15:48:42  960115
>>960114
>stack
Deque<Integer> stack = new ArrayDeque<Integer>();
Если что.
Аноним 24/03/17 Птн 16:00:59  960117
>>960114
for(Iterator it = stack.descendingIterator(); it.hasNext();)
слоуфикс
Аноним 24/03/17 Птн 16:17:37  960125
>>960117
for (Integer it : stack) {
System.out.print(it + " ");
}
Хотя вот так.
Ну короче вариант с итератором на 1-2 показывает мс, через поп 0
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73
71 61 53 43 37 29 19 13 7 3
2
71 61 53 43 37 29 19 13 7 3
0
Выходит лучше поп юзать?
Аноним 24/03/17 Птн 16:19:06  960126
>>960125
Хотя хз, теперь одинаково по 1. Нет разницы?
Аноним 24/03/17 Птн 16:29:55  960129
>>960114
Если уж разоряешь стэк и пытаешься байтоёбить, то зачем тебе лишняя проверка?
Integer it = null;
while((it = stack.poll()) != null) {
System.out.println(it);
}
Аноним 24/03/17 Птн 16:43:04  960135
>>960129
for(int i=0;i<100;++i){
for (Integer it : stack) {
System.out.print(it + " ");
}}
Выдаёт 44мс
for(int i=0;i<1000000;++i) {
Deque<Integer> ttt = stack;
while (tmp.peek() != null)
System.out.print(tmp.pop() + " ");
}
Выдаёт 13мс. Там такой прирост большой получается? Ну да, не нужна,не подумал, я только учусь .
Аноним 24/03/17 Птн 16:46:36  960139
>>960135
>такой прирост большой получается?
Да т.к. в итераторе на 3 проверки больше (hasNext, на позицию курсора и на защиту от параллельной модификации)
Аноним 24/03/17 Птн 16:51:04  960141
>>960139
Круто, не знал. То есть если тебе не важно состояние стека, ну типа дальше нигде он не используется и служит как вспомогательная хуета внутри метода, то всегда лучше использовать цикл+полл?
Аноним 24/03/17 Птн 17:05:17  960145
>>960141
Так-то прирост не маленький, for(int i=0;i<1000000;++i) сделал, получилось
78162
13(походу как раз и з-за убирания лишней проверки ускорилось), в 6к раз быстрее что ли, лол.
Аноним 24/03/17 Птн 17:09:42  960147
>>960145
>проверки ускорилось
А, там тоже 13, думал больше было.
Аноним 24/03/17 Птн 17:15:07  960150
>>960141
Сложный вопрос. На твои замеры очень сильно влияет System.out.print. Если заменишь на какое-нибудь банальное действие вроде присваивания, разница не будет такой уж сильной.
Аноним 24/03/17 Птн 17:15:53  960151
>>960150
> System.out.print. Если заменишь на какое-нибудь банальное действие
Заменил на пустоту, выдало
169
4
Аноним 24/03/17 Птн 17:17:31  960152
>>960151
Ну вайл я как у тебя сделал, а не как было
for...{
...
while((it = stack.poll()) != null){
//System.out.print(it+" ");
}
}
4мс
Аноним 24/03/17 Птн 17:17:49  960153
>>960152
А с итератором 169
Аноним 24/03/17 Птн 17:20:53  960156
>>960153
Что-то у тебя цифры какие-то жуткие. У меня для пустоты разница не больше миллисекунды
Аноним 24/03/17 Птн 17:21:08  960157
>>960153
for(int i=0;i<1000000;++i){
for (Integer it : stack) {
//System.out.print(it + " ");
}}
169мс
Ну в общем-то так и казалось, просто не думал, что настолько разница дикая. Зато теперь знать буду, что с итераторами аккуратно надо, может сильно замедлить работу.
Аноним 24/03/17 Птн 17:21:38  960158
>>960156
long startTime = System.currentTimeMillis();
for(int i=0;i<1000000;++i){
for (Integer it : stack) {
//System.out.print(it + " ");
}}
long estimatedTime = System.currentTimeMillis() - startTime;
System.out.println();
System.out.println(estimatedTime);
Может что-то не так делаю?
Аноним 24/03/17 Птн 17:23:47  960159
>>960156
Ну и у меня внутри стека 1000 элементов ещё мб. На мелких значениях разницы не видно, да.
>>960125
Тут было 2 0, а когда 1 1 и тд
Аноним 24/03/17 Птн 17:25:14  960163
>>960159
Тто есть если я правильно понимаю, ибо нубас тот ещё, что в случае с итератором у нас за O(N) обращение к элементу идёт, а с полл за O(1) ну или типа того.
Аноним 24/03/17 Птн 17:26:05  960164
>>960159
А как ты замеряешь время для poll ? Ты 1000000 делаешь push и вычитаешь разницу?
Аноним 24/03/17 Птн 17:26:34  960165
>>960164
startTime = System.currentTimeMillis();
for(int i=0;i<1000000;++i) {
Deque<Integer> tmp = stack;
Integer it = null;
while((it = stack.poll()) != null) {
//System.out.print(it+" ");
}
}
estimatedTime = System.currentTimeMillis() - startTime;
System.out.println();
System.out.println(estimatedTime);
Аноним 24/03/17 Птн 17:28:04  960166
>>960165
ЛоЛ, блядь, у меня ошибка там. После первой итерации там тупо пустой стек, надо вот тут вместо it = stack.poll() it = tmp.poll(), а я и ждумаю какогто хуя такие значение получаются.
Аноним 24/03/17 Птн 17:31:54  960169
>>960166
Анон, ну я хз, всё ранво вот такой результтат
148

3
Вот то, что внутри стека лежит
997 983 971 953 941 929 911 887 881 863 857 839 827 821 809 787 769 757 743 733 719 701 683 673 659 647 641 619 613 601 593 577 569 557 541 521 503 491 479 463 457 443 433 421 409 397 383 373 359 349 337 317 311 293 281 271 263 251 239 229 223 199 193 181 173 163 151 139 131 113 107 101 89 79 71 61 53 43 37 29 19 13 7 3
Аноним 24/03/17 Птн 17:33:38  960170
>>960169
public static void main(String[] args) {
Deque<Integer> stack = test();//тут то, что скинул
long startTime = System.currentTimeMillis();
for(int i=0;i<1000000;++i){
for (Integer it : stack) {
//System.out.print(it + " ");
}}
long estimatedTime = System.currentTimeMillis() - startTime;
System.out.println();
System.out.println(estimatedTime);
startTime = System.currentTimeMillis();
for(int i=0;i<1000000;++i) {
Deque<Integer> tmp = stack;
Integer it = null;
while((it = tmp.poll()) != null) {
//System.out.print(it+" ");
}
}
estimatedTime = System.currentTimeMillis() - startTime;
System.out.println();
System.out.println(estimatedTime);
}


148

3
Короче я хз.
Аноним 24/03/17 Птн 17:35:54  960171
>>960170
Так у тебя по-прежнему пустой стек после первой итерации.
Аноним 24/03/17 Птн 17:38:14  960172
>>960170
>Deque<Integer> tmp = stack;
Ты просто ссылку передал и опустошил же свой stack
Тогда уж
tmp = new ArrayDeque<Integer>(stack)
Только время конструктора надо вычесть
Аноним 24/03/17 Птн 17:43:18  960174
>>960172
for(int i=0;i<1000000;++i) {
ArrayDeque<Integer> tmp = stack.clone();
Integer it = null;
while((it = tmp.poll()) != null) {
//System.out.print(it+" ");
}
}
121

155
Да, всё ок. Видимо разницы нет принципиальной, лучше использовать итератор?
Аноним 24/03/17 Птн 17:45:42  960175
>>960172
> время конструктора надо вычесть
Ну хотя как нет,
131

66
Или я опять не так что-то сделал? Сколько у етбя? И как ты поступаешь обычно? Итератор всегда и мозги не ебать?
Аноним 24/03/17 Птн 17:49:28  960179
>>960175
С итератором код чище, поэтому юзай его.
Аноним 24/03/17 Птн 17:51:24  960180
>>960175
for(int i=0;i<1000000000;++i) {
ArrayDeque<Integer> tmp = stack.clone();
//Integer it = null;
//while((it = tmp.poll()) != null) {
//System.out.print(it+" ");
//}
}
Блин, но если ещё по два нуля добавить, то видно, что львиную долю конструктор занимает.
6181

4022
>>960179
Да ок, по таким же соображениям и юзал их всегда в общем, просто что-то запарился, хз.
Аноним 24/03/17 Птн 17:56:54  960182
>>960114
[code lang="scala"]
val deque = new java.util.ArrayDeque[Int](100)
(1 to 100).foreach(deque.add)
deque.forEach(println)
[/code]
Аноним 24/03/17 Птн 18:09:46  960188
>>960180
Да, по другому сделал без циклов и тд, тупо большой массив подаю, разница 0-1 мс. Корчое итераторы форева. Спасибо.
Аноним 24/03/17 Птн 18:10:28  960189
1dgf4432fc.jpeg (76Кб, 600x346)
>>960182
Аноним 24/03/17 Птн 18:15:34  960193
>>960189
Лол.
Аноним 24/03/17 Птн 18:18:45  960197
>>960189
И читается в сто раз лучше.
public static void main(String[] args) {
ArrayDeque<Integer> stack = test();
stack.forEach((n)->System.out.print(n +" "));
}
Анон, а можно как-то покрасивше записать последний форич?
Аноним 24/03/17 Птн 18:23:47  960198
>>960197
Ну типа как тут
stack.forEach(System.out::println);, только чтобы через пробел было.
Аноним 24/03/17 Птн 18:26:58  960201
>>960197
>И читается в сто раз лучше.
В каком месте?
Аноним 24/03/17 Птн 18:27:25  960202
>>960201
По сравнению с этим.
>>960170
Аноним 24/03/17 Птн 18:28:48  960204
>>960201
Ну с вайлами, поллами и прочим типа. И скорость такая же, и коротко записать модно и вообще . Итераторы тема короче.
Аноним 24/03/17 Птн 18:33:03  960206
>>960197
Ну, лямбду красивше не сделаешь. Может так?
stack.stream().map(x -> x + " ").forEach(System.out::print);
Аноним 24/03/17 Птн 18:42:12  960210
>>960202
>>960204
А, ну так-то ясен хуй.
Аноним 24/03/17 Птн 18:42:24  960211
>>960206
Не, это оверинжениринг уже какой-то. Красивее не в смысле чтобы побольше всего крутого было, а в смысле чтобы проще записывалось и тд, не так выразился короче. Ну я думал мало ли в явеможно как-то вроде этого, а я не в курсе просто
stack.forEach(System.out::print, delimiter=" ");
или SyntaxSugarPackage.map(stack,String).join(" ")
Аноним 24/03/17 Птн 18:43:57  960213
>>960206
>stack.stream().map(x -> x + " ").forEach(System.out::print);
>.map(stack,String).join(" ")
А, ну лол, это ноо и есть возхможно, невнимательно глядел.
Аноним 24/03/17 Птн 18:46:25  960216
Возвращаюсь сюда, поковыряв целую кучу вопрос на стэке про json и жабу. Вот распарсить простецкий json оказалось легче простого - но только если там один массив. А мне нужно распарсить json с 4 или 5 вложенными массивами. Получается распарсить только один - тот, в который все вложены. Пиздец какой-то
Аноним 24/03/17 Птн 18:53:14  960221
>>960211
А, не. Проще уже не будет. Если идти через Collectors.joining(" "), он тут же сиранёт, что у тебя инты, а не строки и придётся в любом случае map для каста вызывать.
Если идти через reduce, то будет неэффективная срака навроде reduce("", (x,y) -> x + " " + y, String::concat)
А ещё в итоге у тебя и там и там будет String, который придётся отдельно обернуть Arrays.stream(String::toCharArray) чтобы вызвать forEach(System.out::print). Нет пути
Аноним 24/03/17 Птн 18:56:00  960223
>>960221
>Нет пути
Ну и ок, не очень то и хотелось, так вполне ок.
Аноним 24/03/17 Птн 18:59:02  960225
>>960216
https://scalafiddle.io/sf/cCd6cBa/0
Аноним 24/03/17 Птн 19:05:23  960229
>>960225
смотри, вот мой json

http://pastebin.com/rPKQUp6T

И вот всё, что у меня получилось, это дернуть содержимое ключа "def" и пары его ключей до начала вложенного массива.
Как выдернуть, например, из массива ключи tr и другие???
Аноним 24/03/17 Птн 19:43:28  960249
>>960229
https://scalafiddle.io/sf/cCd6cBa/1
Аноним 24/03/17 Птн 19:55:38  960264
>>960249
выглядит вроде как надо. а чистая Java как?
Аноним 24/03/17 Птн 20:04:31  960272
>>960264
Как земля.
Аноним 24/03/17 Птн 20:06:14  960273
>>960264
А в джяве изволь пердолиться с аннотациями и рефлекцией.
Аноним 24/03/17 Птн 21:19:58  960325
>>960048
30 секунд в гугле
http://stackoverflow.com/questions/31524426/securityconfig-2-success-url-for-different-roles
Аноним 24/03/17 Птн 21:36:23  960337
Анон, есть вопрос JSR 303 (Bean Validation) и DTO.
Предположим делаем мы некую UI форму на неком клиентском приложении. У исходной сущности присутствуют constraint аннотации на полях по указанному выше JSR 303. Bean Validation построен так, что его можно юзать как на сервер так и на клиенте. Все здорово.
НО. Есть такая практика как формирование DTO и отправка их клиентскому приложению, дабы серверные сущности не покидали пределов сервера. Это также предотвращает падение многочисленных LazyInitializationException когда detached сущность уходит из транзакционного контекста. Однако в этом случае не удастся использовать Bean Validation на клиенте, поскольку тот уже оперирует не сущностями а DTO и в итоге нужно повторять код валидации на клиенте, либо по необходимости конвертить DTO в сущность и прогонять через валидаторы.
Так как быть? Повсеместно использовать DTO на клиенте, писать дублирующийся код валидации или же допускать обработку серверных сущностей на клиенте дабы работала валидация но при этом потенциально ловить Lazy исключения?

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

Что скажешь, анон?
Аноним 24/03/17 Птн 21:39:01  960339
>>960337
В поддержку варианта с использованием серверных сущностей на формах редактирования говорит и тот факт что если юзать DTO то его структура в целом повоторит структуру серверной сущности и его кодирование будет более трудозатратным нежели использование серверной сущности (просто получается копируешь код серверной сущности в DTO)
Тот же Vaadin для форм редактирование предлагает удобные биндеры которые умеют работать с JSR 303.
Аноним 24/03/17 Птн 22:28:16  960369
Поступила инфа, что Шарп более не моден, и банки перекатываются на Angular и прочее. А Джава вечна. Стоит перекатываться на Джаву, по вашему?
Аноним 24/03/17 Птн 23:15:13  960386
>>960369
Как связан шарп и ангуляр ? Ты сравниваешь фронт и бэк?
Аноним 24/03/17 Птн 23:33:24  960396
>>960386
Шарп вроде тоже юзают для написания веб приложений (ASP.NET).
К тому же автор того поста сравнивал шарп (по всей видимости с ASP.NET) с Java и Angular, т.е. бэкенд и фронтенд жавы и шарпа
Аноним 24/03/17 Птн 23:52:52  960403
>>960369
Джава стухла еще во время празднования шарпа.
В тренде сейчас - го
Аноним 24/03/17 Птн 23:56:06  960404
14816598254170.jpg (109Кб, 750x745)
Пздц, тяжелый язык :С
Заебался учить, заебался натыкаться на грабли.
мимо_не_могу_вкатиться_в_джуниоры
Аноним 24/03/17 Птн 23:58:23  960407
>>960403
По всем тредам протёк го-чухан.
Аноним 25/03/17 Суб 01:10:15  960430
>>960404
Джаву специально оверхедят абстракциями, чтобы можно было толкать продукт и получать бабосы за техподдержку
Аноним 25/03/17 Суб 05:04:27  960458
>>960430
>оверхедят абстракциями
Примеры?
Аноним 25/03/17 Суб 05:56:12  960472
.png (513Кб, 657x516)
>>960458
Аноним 25/03/17 Суб 05:58:44  960473
.jpg (105Кб, 739x710)
>>960458
Аноним 25/03/17 Суб 06:12:05  960481
>>960473
Думаешь, в какой-нибудь js иначе будет? Так там ещё больше зависимостей на каждый чих.
Аноним 25/03/17 Суб 06:14:29  960483
.png (264Кб, 1209x3251)
>>960481
Скажи спасибо смузихлёбам, совсем недавно всё делали на жквери и не выёбывались.
Аноним 25/03/17 Суб 06:15:50  960484
>>960483
На jquery было гораздо больше говнокода. Хорошо, что он сдох.
Аноним 25/03/17 Суб 06:21:58  960485
>>960484
Вот бы ещё сдох и джяваскрипт, похапе и энтерпрайзные фабрики фасолин, и все перешли на статическую типизацию и ФП.
Аноним 25/03/17 Суб 06:40:31  960486
>>960485
Ну, тред есть. TypeScript, Swift.
Аноним 25/03/17 Суб 06:41:43  960488
>>960486
Тренд

фикс
Аноним 25/03/17 Суб 08:30:14  960499
>>960485
под ФП ты имеешь ввиду Scala?
Аноним 25/03/17 Суб 08:37:40  960500
>>960499
В том числе
Аноним 25/03/17 Суб 09:29:25  960507
>>960500
а ещё что?
Аноним 25/03/17 Суб 11:06:42  960535
>>960507
Хачкиль, f#, elm
Аноним 25/03/17 Суб 11:59:08  960548
Слышал, что с# и java довольно похожи. Так ли легко в случаи чего будет перекатиться с одного из этих языков на другой?
Аноним 25/03/17 Суб 12:07:13  960549
>>960548
Ты будешь перекатываться не между языками, а между их инфраструктурами.
Аноним 25/03/17 Суб 12:33:08  960557
>>960548
Так как C# > Java, то перекат с сишарпа в джяву, как тут уже выше сказали, заключается только в перекате на другую инфраструктуру, ну и некоторых побочных эфектов, вроде желания рыгать с убогости жабы и того, что что в ней всё делаешь, а ничего нет.

Для переката с джявы в сишарп потребуются определённые мозгоусилия для того чтоб перейти на более продвинутый язык.
Аноним 25/03/17 Суб 14:25:04  960637
Двач, есть вот такая ошибка:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

Прохожу по сайту и вижу, что Placing one (and only one) of slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

Дело в том, что в lib у меня уже есть slf4j-api. И что значит поместить в класс паф? Я как только добавляю либу, сразу жму Build Class PAth.

Юзаю эклипс и в данном случае хотел бы именно с ним разобраться. Алсо, мож у меня не полный комплект файлов, всё-таки? И файл api хуйня, а нужен из списка? Полный текст ниже

If you are responsible for packaging an application and do not care about logging, then placing slf4j-nop.jar on the class path of your application will get rid of this warning message. Note that embedded components such as libraries or frameworks should not declare a dependency on any SLF4J binding but only depend on slf4j-api. When a library declares a compile-time dependency on a SLF4J binding, it imposes that binding on the end-user, thus negating SLF4J's purpose.
Аноним 25/03/17 Суб 14:30:12  960645
>>959011 (OP)
Есть ли где-то НОРМАЛЬНЫЙ гайд по RxJavе? Чтобы все по полочкам было. У меня то что есть вызывает больше вопросов чем понимания? Как получить объект из обсервера? Поясните что-то за правильную архитектуру. Допустим из одного обсвервабла я получить данные, они пошли в обсервер который что-то сделал с этими данными. Как мне дальше передать данные из обсервера куда-то?
Аноним 25/03/17 Суб 14:34:38  960648
Ты обычный раб системы, у тебя все зашибись, утром ходишь на работу, это просто чудо жизнь, ты заканчиваешь школу, но ничего не понимаешь, а потом тебя находять и в армейку ты пиляешь, а в армейке край свободный - там ты станешь мужиком, по еблу ты получаешь и поставишься рачком. Круто чистишь ты сортиры и штаны - возвращаешься домой - ну теперь то ты мужик.
Вот вернулся ты с армейки но куда идти тебе - на завод конечно, там то круто ты поверь, хотя можно и учится но учеба - ерунда.
Работай на дядю, на клубы и яхту, выбрось свободу, иди на заводы и шахты, работай, работай на шмотки и шмары, может получишь хоть что-то, а может и пару.
Аноним 25/03/17 Суб 14:46:17  960654
>>960637
slf4j это логер обертка над всеми реализацями что появились для жавы. Соответственно сама обертка логировать не умеет и требует одну из реализаций. В твоем случае тебе нужно положить библиотеку реализицаию логирования и библиотеку которая выступит мостом между ними

Рассмотрим фреймворк Log4j2. Тебе понадобится
log4j-core - собственно сама библиотека логирования
log4j-api - api для подключения к другим реализациям
log4j-slf4j-impl - бридж для подключения к slf4j
slf4j-api - собственно она у тебя и так уже лежит, это api со стороны slf4j

Для чего такой изврат? Если ты пишешь конечный проект (какое-нибудь веб приложение) до достаточно библиотеки log4j которая является наилучшим логирующим решением.
Однако в случае написания каких-либо библиотек, которые изначально подразумевается использовать в других проектах ты не знаешь наверняка какая логирующая система будет использоваться у конечных пользователей твоей библиотеки. Для этого и используется slf4j враппер - таким образом ты оставляешь выбор логирующей системы конечным юзерам твоей библиотеки. А они этот выбор осуществляют через подкладывание в класпаф API и бридж либов как я описал чуть выше.
Аноним 25/03/17 Суб 14:52:50  960660
14705765501097.jpg (157Кб, 618x618)
14705765501098.jpg (503Кб, 1062x1062)
14705765501099.jpg (162Кб, 600x600)
>>960557
> C# > Java
Двачую.
Аноним 25/03/17 Суб 14:58:45  960664
Зачем вам перекатыватся если джавистам больше платят и на джаве больше работы? Или вы очередные войтивайтишники?
Аноним 25/03/17 Суб 15:11:30  960672
>>960664
Дай мне хотя бы один написанный на яве бигдата фреймворк. То-то!
Аноним 25/03/17 Суб 15:39:51  960686
>>960672
Это ты сейчас так неудачно пошутил?
Аноним 25/03/17 Суб 15:46:02  960688
>>960686
Слив яваманьки засчитан!
Аноним 25/03/17 Суб 16:08:09  960701
>>959344
пишут. Пожалуй самая удобная для веба, только если это не хоум пейдж
Аноним 25/03/17 Суб 16:10:52  960704
>>959604
orm не нужен. Очередная мифическая серебрянная пуля.
Нынче модны noSQL, так что orm больше не нужен
Аноним 25/03/17 Суб 16:12:12  960707
>>959731
скачиваешь плагин для браузера rest что-то там, выбираешь пост, в тело пишешь для начала {}
Аноним 25/03/17 Суб 16:13:58  960709
>>959795
> Spring Boot
малейший шаг в сторону и ничего не работает. Там нет даже сраных сервлетов
Аноним 25/03/17 Суб 16:19:05  960715
Что легче парсить на Java: XML, JSON или JSONP?
Аноним 25/03/17 Суб 16:20:16  960718
>>960637
тебе нужна реализация SLF4J. Есть на q, забыл название
Аноним 25/03/17 Суб 16:20:37  960720
>>960637
тебе нужна реализация SLF4J. Есть на q, забыл название
Аноним 25/03/17 Суб 16:22:22  960726
>>960715
наверно json через джексон. Тебе нужно будет только dto классы, соответствующие структуре твоего джсона
Аноним 25/03/17 Суб 16:27:16  960729
>>960720
кидай - тоже с такой проблемой столкнулся
Аноним 25/03/17 Суб 16:31:05  960737
>>960729
https://logback.qos.ch/
Аноним 25/03/17 Суб 16:56:26  960756
>>960481
>кококо, джава не оверхедна, где пруфы
>на
>кококо а вы туда, туда посмотрите

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


Аноним 25/03/17 Суб 16:59:51  960759
>>960756
абстракция над доступом к БД нужна? Нужна.
Абстракция над над слоем DAO? нужна
Абстракция над бизнес-логикой? Нужно
Абстракция над вебом? Нужно
Веб-сервер? Нужен
Аноним 25/03/17 Суб 17:05:49  960768
>>960759
Все просто. Всякие верстальщики Javascript и дебилы-байтоебы не понимают зачем нужны ООП, абстракции, интерфейсы. Ведь можно написать код и он будет работать без всего этого. Главное потом к нему больше не притрагиваться.

Поэтому в силу абсолютного непонимания и петросянят про абстрактные фабрики бинов и "оверхеды".
Аноним 25/03/17 Суб 17:06:42  960770
Абстрактный синглтон базы данных.
Синглтон mysql
Фабрика баз данных
Регистри, хранящая фабрику баз данных
Абстрактный строитель вывода
Строитель вывода из SQL
Абстрактный наблюдатель базы
Наблюдатель за mysql
Посредник, принимающий сообщения от наблюдателя
Абстрактная стратегия выбора баз данных
Стратегия выбора Mysql
Абстрактный декоратор стратегии выбора базы данных
Фабрика стратегий выбора баз данных
Посетитель, запускаемый посредником при получении сообщения от наблюдателя
Заместитель, принимающий посетителя и решающий, делегировать ли команду вывода виду
Абстрактный вид
Вид CLI
Абстрактная фабрика видов
Фабрика видов, возвращающая инстансы видов CLI
Прототип CLI-вида, используемый CLI-фабрикой
Абстрактная модель
Абстрактный ORM
ORM для Mysql
Модель, работающая с MySql-ORM сущностями
Абстрактная активная запись
Активная запись для mysql-ORM моделей
Абстрактный синглтон хранения моделей
Синглтон, хранящий активные записи
Абстрактный синглтон хранения видов
Синглтон, хранящий CLI-виды
Абстрактное мементо
Мементо активной записи Mysql-ORM модели
Абстрактная команда
SQL-команда
Аноним 25/03/17 Суб 17:08:15  960774
>>960770
Таким образом довольно просто мы получаем быстрое и гибкое приложение, пригодное для дальнейшего расширения функционала и рефакторинга.
Аноним 25/03/17 Суб 17:08:44  960775
>>960774
Архитектура жава-приложения:
1. договариваемся к американской компанией, что сделаем софт за половину стоимости.
2. нанимаем сотни индусов русских студентов за ЖРАТ.
3. лепим невменяемое говно из жавовских опенсорсных быдлиотек, сдобренное говнокодом студентов под управлением виабушных акхикектогов.
4. слегка проябываем дедлан, поэтому в конце добиваем код хаками, лишь бы запустилось (тем более выясняется, что акхитектогы напроектировали неудобную и нерабочую хуйню, зато по умным книжкам, которых они начиталсь).
5. ????
6. Единоразовый PROFIT
7. Заклюючаем договора поддержки и сажаем на поддержку в 3 раза больше жавообезьян, чем было на разработке (оно и понятно, написать хуйню легко, а вот как потом её сопровождать?).
8. Дополнительный PROFIT в течение многих лет.
Аноним 25/03/17 Суб 17:11:05  960778
>>960768
нет, конечно есть перегибы.
Вот на работе такой желающий перемен гик получил власть, теперь я ебусь с этим зоопарком orm, spring-data, cassandra, абстракция над кассандрой для получения SQL92, распределенный кеш, и ещё добрый десяток новомодных дилд.

Я считаю что кроме старого доброго SQL и JdbcTemplate ничего не нужно
Аноним 25/03/17 Суб 17:14:37  960781
>>960778
> Я считаю что кроме старого доброго SQL и JdbcTemplate ничего не нужно
Выбрасывай JdbcTemplate нахуй и используй jOOQ.
> Вот на работе такой желающий перемен гик получил власть, теперь я ебусь с этим зоопарком orm, spring-data, cassandra, абстракция над кассандрой для получения SQL92, распределенный кеш, и ещё добрый десяток новомодных дилд.
И чем ты недоволен?
Аноним 25/03/17 Суб 17:22:18  960788
>>960781
>jOOQ
посмотрел одним глазом. Это что-то типа QueryDSL?
Если да, то:
1) Нужны некие классы с маппингом, описывающие структуру таблиц. В случае сложных запросов это проблематично
2) Невозможно понять что генерирует эта дилда, и как это дебажить. Невозможно взять запрос и скопировать его в консольку СУБД.
3) Является ли эта дилда потоко-безопасной?. С QueryDSL возникали проблемы.

>И чем ты недоволен?
все эти новомодные дилды суть разворот в прошлое, во времена до создания реляционных БД.
Как кстати и микросервисы
Аноним 25/03/17 Суб 17:23:13  960789
>>960759
>абстракция над доступом к БД нужна? Нужна.
Зачем абстракция над доступом? Ты наверно хотел сказать про JDBC-драйвер? Но это драйвер для владельцев БД, конечно в плюс, что саны сделали стандартизированный драйвер (вообще многое что грамотно они сделали). В общем программирование от интерфейсов - это гуд. Но это фича ООП.

>Абстракция над над слоем DAO? нужна
Нет, нужен стандартны DSL для доступа прям из сервиса, DAO это костыль.
Если блять дебилы ставят транзакции прям над сервисами (аннотации), то
какая нахуй DAO им, они уже сервис-слой привязывают к БД.


>Абстракция над бизнес-логикой? Нужно
Что это и зачем это, не трогай бизнес-логику, без премии оставлю.

>Абстракция над вебом? Нужно
Нету его, есть сервлеты времен CGI, а риально абстракции (набора интерфейсов) чтоб писать одинаково просто на всех embedded серверах нет.
Spring mvc не абстракция, это фреймворк (тяжелый и бестолковый).

>Веб-сервер? Нужен
Тут долбаеба унесло.
Аноним 25/03/17 Суб 17:23:29  960790
>>960775
Это архитектура зарабатывания шекелей вне зависимости от ЯП, пиздабол.
>>960709
>Там нет даже сраных сервлетов
Экспертиза уровня /pr
Аноним 25/03/17 Суб 17:24:55  960793
>>960781
кстати вот здесь хорошо про эти дилды расписано
http://www.sql.ru/forum/894851-177/chto-seychas-proishodit-v-it-sbera?mid=20286614#20286614

Секрет успешности проектов - не использовать нереляционные базы данных и всевозможный Hadoop
Аноним 25/03/17 Суб 17:26:00  960794
>>960790
веб-приложение и без сервлетов. Через самописные костыли и самопридуманные стандарты.
Или сервлеты оно где-то внутри создает?
Аноним 25/03/17 Суб 17:26:23  960795
>>960775
Таки да, я рад что хоть кто понимает как бизнес в джаве устроен.
Аноним 25/03/17 Суб 17:28:29  960796
>>960788
>2)
С jooq дел не имел, но дай угадаю. Включить дебаг?

Кстати, ты не пердолик случаем? Ну типа: только plain sql - только хардкор! Фреймворки не нужны! Зато контроль!
Аноним 25/03/17 Суб 17:30:33  960797
>>960789
>Нет, нужен стандартны DSL для доступа прям из сервиса, DAO это костыль.
как ты тогда абстрагируешься от способа хранения данных?

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

>Нету его
можно использовать сервлеты, можно использовать spring-mvc, можно ещё какую-нибудь новомодную дилду использовать. И вот как раз для безболезненной смены дилд и нужно выделять это в отдельный слой
Аноним 25/03/17 Суб 17:31:10  960798
>>960794
Да есть там сервлеты, специально для таких дебилов маркетологи заставляют добавлять это говно везде, но прячут так глубоко, что ты их не увидишь.
И получается - да ваша "ХУЙНЯ_НЕЙМ" поддерживает сервлеты, берем! Дебилы, бля (с)
Аноним 25/03/17 Суб 17:32:19  960799
>>960794
>Или сервлеты оно где-то внутри создает?
Оп-а! Эксперты /pr начали что-то подозревать!
Ну ты же уже спизданул десятком постов выше о том, в чем не разбираешься, с полной уверенностью знатока?
Аноним 25/03/17 Суб 17:32:53  960801
>>960796
sql это и есть универсальная абстракция, универсальный DSL. Или вам подавай абстракцию над абстракцией?
Аноним 25/03/17 Суб 17:34:05  960806
>>960799
какая разница, если нельзя получить к этому доступ
Аноним 25/03/17 Суб 17:35:11  960807
>>960797
>как ты тогда абстрагируешься от способа хранения данных?
Этой же DSL

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

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

Аноним 25/03/17 Суб 17:35:19  960808
>>960788
Типозащищенный sqlный билдер с dsl sql-like в виде fluent interface. Поддерживает 100% всего, что можно написать на просто SQL. И предоставляет определенную абстракцию от конкретной реализации реляционной базы.
> 1) Нужны некие классы с маппингом, описывающие структуру таблиц. В случае сложных запросов это проблематично
Поддерживает как просто стринги в значения таблиц и колонок, так и использование автогенерируемых классов, описывающих структуру БД. С ними как раз вся годнота и есть, решая кучу проблем еще на этапе компиляции. Алсо автогенерация охуенно в devops-практики вписывается.
> В случае сложных запросов это проблематично
Никаких проблем.
> 2) Невозможно понять что генерирует эта дилда, и как это дебажить. Невозможно взять запрос и скопировать его в консольку СУБД.
Посмотри примеры - это SQL и есть.
Генерирует как есть - но вообще конкретные запросы в дебаге. Оттуда копируешь и вставляешь, если нужно.
> 3) Является ли эта дилда потоко-безопасной?. С QueryDSL возникали проблемы.
На 100%. Объявил DSLContext одиночной фасолиной и инжекти его хоть в анус Сатаны и долби одновременно туда тысячью хуев.
> все эти новомодные дилды суть разворот в прошлое, во времена до создания реляционных БД.
Хуй там падал в три пизды. Если задачу можно выполнить с помощью реляционной БД - следует ее использовать. Но есть задачи, где реляционщина уже не оче.
Другое дело, что noSQL всякие евангелисты и прочие барухи продвигают как замену SQL, что нихуя не верно.
>>960796
Пердолик тут как раз ты, раз ебашишь plainSql в приложениях, а не делаешь это правильно.
Аноним 25/03/17 Суб 17:36:37  960810
>>960806
>нельзя получить к этому доступ
О! Ещё одно смелое утверждение анонимного эксперта!
Аноним 25/03/17 Суб 17:37:43  960811
>>960807
Куда писать plain sql, когда твоя DSL соснёт?

DSL то, кстати сам напишешь, пердоля?
Аноним 25/03/17 Суб 17:37:54  960812
>>960801
А теперь включи свой школьный мозг и подумай почему потребовалась абстракция над уже существующей SQL-абстракцией?? М? Давай ты сможешь понять, что в реале у каждый бд все равно есть своя специфика и приходиться надстройку делать - опять!

Дебил неопытный
Аноним 25/03/17 Суб 17:38:44  960814
>>960789
> Если блять дебилы ставят транзакции прям над сервисами (аннотации), то
> какая нахуй DAO им, они уже сервис-слой привязывают к БД.
Сука дебил нахуй ты ебаный, я ебал.

>>960807
> Я уже привел пример, что стало нормой вешать транзакции на сервис-слой и почему это всех устраивает?
Потому что транзакции это сервисная логика.
Аноним 25/03/17 Суб 17:39:03  960815
>>960808
>раз ебашишь plainSql
Ты бы хоть читал, на что отвечаешь. Бухал вчера что ли?
Аноним 25/03/17 Суб 17:40:31  960816
>>960815
Твой выглядел дополнением предыдущего поста ананаса. Ок, отвечу еще раз.
> Кстати, ты не пердолик случаем? Ну типа: только plain sql - только хардкор! Фреймворки не нужны! Зато контроль!
Нет. Это хуйня.
Аноним 25/03/17 Суб 17:45:18  960821
>>960811
С прибытием, даун
https://ru.wikipedia.org/wiki/Java_Persistence_Query_Language
Аноним 25/03/17 Суб 17:46:09  960823
>>960808
ну ок, попробую эту дилду.

Единственный недостаток plainSQL - что он не проверяется на этапе компиляции. Но твоя дилда тоже не может гарантировать корректность запроса и соотстветствие структуры БД.
И так и так это решается только юнит-тестами с реальными запросами к базе.
Аноним 25/03/17 Суб 17:46:59  960824
>>960814
>Потому что транзакции это сервисная логика.
Ну вот приехали.
Окей, я переезжаю на БД без поддержки транзакции - мой сервис слой виноват, или ты тупое говно?
Аноним 25/03/17 Суб 17:48:11  960826
>>960807
>Этой же DSL
а если я захочу заменить БД на какую-нибудь заглушку для тестовых целей?

> Я уже привел пример, что стало нормой вешать транзакции на сервис-слой
транзакции и предназначены для вешанья на бизнес-слой. Транзакции тесно связаны с бизнес-логикой
Аноним 25/03/17 Суб 17:50:06  960827
>>960824
Нет, это ты долбоеб, раз решил переехать на БД без поддержки транзакций, но при этом твой код транзакционен.

Решил выиграть Формулу 1, нанял Шумахера, посадил его в машину без колес и недоумеваешь хули этот баран не обгоняет всех, он же Шумахер.
Аноним 25/03/17 Суб 17:50:39  960828
>>960812
И вот именно поэтому слой DAO нужно писать свой, под свою базу. А не надеяться на универсальный ORM, что он магией сделает тебе заебись.
ORM тоже не гарантирует абстракцию над базами. В нем тоже нужно хуячить nativeSQL
Аноним 25/03/17 Суб 17:51:58  960833
>>960824
слой хранения данных должен обеспечивать транзакционность. Это одна из его задач
Аноним 25/03/17 Суб 17:53:11  960834
>>960833
бля не то написал. Средство хранения данных должно обеспечивать транзакционность
Аноним 25/03/17 Суб 17:53:17  960835
>>960821
Так вот и расскажи про plain sql в JPQL.
Аноним 25/03/17 Суб 17:53:51  960836
>>960823
> Но твоя дилда тоже не может гарантировать корректность запроса и соотстветствие структуры БД.
Авотхуй. Как раз для этого и сделано. У тебя нихуя не скомпилируется, если метод from проебал или тебя отвлекли и написал frm. У тебя нихуя не скомпилируется, если ты используешь несуществующую таблицу или колонку. У тебя нихуя не скомпилируется, если проебался и суешь не тот тип в колонку.
И другая удобная хуйня.
Аноним 25/03/17 Суб 17:54:23  960837
>>960821
нинужно
Аноним 25/03/17 Суб 17:54:41  960838
>>960824
Ты не тот же дебил, что про сервлеты и спринг отмочил?
Аноним 25/03/17 Суб 17:56:34  960842
>>960836
чтобы гарантировать корректность запроса, в нем должен быть полноценный парсер sql. Сильно сомневаюсь в его наличии
Аноним 25/03/17 Суб 17:57:49  960843
>>960834
А я уже хотел тебя обоссать.
Аноним 25/03/17 Суб 17:59:41  960848
>>960842
Я от Лукаса деньги за рекламу не получаю. Годноту посоветовал - юзай или продолжай писать plainSql и проебываться в рантайме.
Аноним 25/03/17 Суб 18:01:03  960849
пожалуй единственное для чего нужен orm - в нем удобно делать джойн связанных сущностей.
Но это порочная практика, и plainSQL закономерно бьет по рукам за попытку это сделать.
Аноним 25/03/17 Суб 18:02:11  960853
>>960848
эта штука немного снижает количество опечаток, не более. Все-равно нужно будет тестировать эти запросы к реальной базе
Аноним 25/03/17 Суб 18:04:41  960857
>>960672
Тебе не похуй на какие-то маняфреймворки, кретин? Ты ради бобла работаешь или ради маняфреймворков?
Аноним 25/03/17 Суб 18:04:59  960858
>>960645
Бамп вопросу ыыыыыы
Аноним 25/03/17 Суб 18:06:24  960859
>>960645
>RxJavе
что за очередная дилда?
Аноним 25/03/17 Суб 18:07:51  960860
окай. Поясните мне, в чем сакральный смысл spring-boot?
Для меня это выглядит как вместо профессионального перфоратора взять детскую игрушку, ибо она легче, и с ней разберется даже ребенок
Аноним 25/03/17 Суб 18:09:09  960861
>>960827
>Нет, это ты долбоеб, раз решил переехать на БД без поддержки транзакций, но при этом твой код транзакционен.

Ох я ржу, а где же гибкость и вся чипуха?
По твоей логике и DAO не нужно - ведь "раз решил переехать на другую БД"
Дебилы, бля (с)

DAO - дает абстракцию над БД. При смене БД я меняю только DAO, за счет чего мой сервис слой остается без изменения. Если я меняю БД и это затрагивает и сервис-слой - значит ты долбаеб натянул зависимость на бизнес логику
Аноним 25/03/17 Суб 18:12:28  960863
>>960861
транзакционность это пожалуй единственное исключение, когда бизнес-логика должна быть связана с хранением данных.

В частности это означает что твое средство хранения данных должно обеспечивать транзакционность
Аноним 25/03/17 Суб 18:13:12  960864
>>960860
>сакральный смысл
вызывать бугурт стариканов неосиляторов
Аноним 25/03/17 Суб 18:18:51  960866
>>960861
Написал пост, но стер и решил просто обоссать дебила. Ссу на тебя.
Аноним 25/03/17 Суб 18:20:46  960868
>Джава гибка и абстрактна.
>Но если я поменяю БД то это может затронут бизнес-слой.
>Ко-ко-ко - это база виновата, это она такая плохая, потому что должна что-то обеспечивать (транзакционность).
Лол, хуй она тебе что должна (маня-мирок джава-индусов)
Аноним 25/03/17 Суб 18:22:27  960870
>>960868
Ты понимаешь что такое транзакция?
Аноним 25/03/17 Суб 18:23:13  960871
>>960866
фикс
>я не могу тебе возразить, я обосрался тут, но я на тебя зол, поэтому просто покречу.
Не переживай, не первый раз рву маня-миры индусов.
Аноним 25/03/17 Суб 18:25:47  960873
>>960870
Транзакция - группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными.

К бизнес логике она никаким хером не относится, это уровень персистенса
Аноним 25/03/17 Суб 18:28:36  960874
>>960873
> Транзакция - группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными.
Абсолютно неверно.

С такой логикой простое выполнение
select from table;
select
from table;
является транзакцией.

Погугли еще и попробуй еще раз. После этого перейдем к зачем они нужны.
Аноним 25/03/17 Суб 18:32:34  960876
>>960859
О, очередной школоподельщик пишущий калькулятор и желающий войтивайти
Аноним 25/03/17 Суб 18:35:41  960880
>>960876
Костыль, чтобы не использовать асинхронный Go
Аноним 25/03/17 Суб 18:35:43  960881
>>960873
Как насчёт транзакции в несколько гетерогенных баз?
Аноним 25/03/17 Суб 18:38:30  960882
>>960874
>Транзакция - группа последовательных операций с базой данных
>Сервис-слой это бизнес логика, изолированная от базы данных по средством слоя DAO
Помогите Доре с логикой
Аноним 25/03/17 Суб 18:40:35  960885
>>960882
> >Транзакция - группа последовательных операций с базой данных
> Абсолютно неверно.
> Погугли еще и попробуй еще раз. После этого перейдем к зачем они нужны.

Дора, почему ты такая тупая шлюха? Пиздуй делать что говорят.
Аноним 25/03/17 Суб 18:41:12  960886
>>960882
чем диктуется эта группа операций? Для чего нужен откат транзакции?
Аноним 25/03/17 Суб 18:45:25  960889
>>960881
Блять джависты тупые мрази.
С хуяли бизнес логика должна знать о том сколько там баз данных, еще блять где они расположенны? Да?

Я уже вижу, сегодня одна база, завтра их две - и этот индус ковыряет каждый раз бизнес-логику. Лол.

Понятно что за это должен отвечать слой DAO и какое-то совокупное его подмножество.
Аноним 25/03/17 Суб 18:46:37  960891
>>960885
ВРЕТИ
Я ждал этого :D
Аноним 25/03/17 Суб 19:12:21  960905
>>960889
Дебилоид, если ты ничего сложнее круда в жизни не писал, то не проецируй.
Аноним 25/03/17 Суб 19:19:25  960908
>>960880
К сожалению ты не знаешь, ни то, ни другое
Аноним 25/03/17 Суб 19:37:23  960910
Сильно абстрагированные фреймворки вопреки бытующему в среде «корпоративных менеджеров» мнению, не упрощают, а напротив — радикально усложняют разработку и поддержку (см статью, собственно). Это новая религия (слаба роботам, не особо популярная в среде профессиональных разработчиков, как это может показаться после чтения Хабры) возникла из иллюзорных желаний непременной монетизации любого созданного за 15 минут кода, с легкой руки Google и иже.

Популярная нынче бизнес-модель хипстер-стартаперов: берем опенсорс-библиотеки, заворачиваем это все в наши классы и методы, называем это NewBuzzword framework, придумываем этому применение, которое конструирует «уникальное предложение», делаем набор примеров в рамках концепции «уникального предложения» и пишем документацию. Все это выкладываем в свободный доступ и потом везде пишем длинные статьи сдобренные красивой инфографикой в духе «теперь вы можете за 1 минуту написать то, на что другие тратили годы» в журналах для молодняка, а в других журналах (для бизнесменов): «реальная оптимизация бизнес-процессов с новым фреймворком NewBuzzword».

Это настолько хорошо работает, что миллионы неофитов по всему миру с легкостью индокринируются в эти новые секты. Результатом этого воистину религиозного поклонения является миллионы денег налогоплательщиков выбрашенных на ветер и километры говно-кода который никто никогда не сможет поддерживать без необходимости переписывать все заново с нуля каждый раз, когда система в какой-то своей части устаревает или требует расширения спектра применения.
Аноним 25/03/17 Суб 19:56:24  960915
>>960891
> аррря врети
Ах, этот сладкое чувство поражения обосравшегося собсеседника.

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

Подмойся и пиздуй в гугл умнеть.
Аноним 25/03/17 Суб 20:53:27  960942
>>960915
Ты спросил что такое транзакция.
Чел кинул и ткнул носом что это ответственность слоя DAO
Вместо конструктивного ответа - подрыв пукана, отрицание, крики что все не так.

Что с вами не так? Пережрали абстракции?
Аноним 25/03/17 Суб 20:54:38  960944
>>960908
Судя по посту ты тоже не знаешь.
Конструктивный диалог жаба-макак
Аноним 25/03/17 Суб 21:27:26  960959
>>960944
Ох уж этот школоподельщик пишущий калькулятор. Он то все знает
Аноним 25/03/17 Суб 21:31:23  960961
учу js чтобы стать фулл-стек. ебать я охуеваю от его сложности, просто пиздец
год опыта в джава
Аноним 25/03/17 Суб 22:02:21  960984
>>960942
> Ты спросил что такое транзакция.
> Чел кинул
Ты чел ответил абсолютно неправильно, о чем ему сказали два человека, причем несколько раз. Ты чел порвался и начал верещать врети.
> это ответственность слоя DAO
Пусть ты чел прекратит обсираться с подливой и возьмется за ум.

Возьмись за ум, почитай что такое транзакции, чем они отличаются от просто выполнения нескольких операций и зачем вообще нужны. Потом прочитай зачем нужен DAO и к чему относится транзакционность.
Не надоело троллить тупостью и глотать мочу?
Аноним 25/03/17 Суб 22:05:47  960985
>>960942
транзакции на сервисном слое
Аноним 25/03/17 Суб 23:25:22  961022
>>960985
Окей, мало сегодня ваши жопы рвались.
Что такое транзакция на сервисном слое?
И самое главное зачем она там есть, если сервисный слой не имеет отношение к доступу хранения данных (т.е. провайдером данных в данном случае может быть тупо файловая система (простые файлы))?

Вы тут полыхаете, но не один не пояснил еще.



Аноним 25/03/17 Суб 23:31:50  961023
>>961022
...я всегда любил джавистов, они грезят надроченными теориями абстракций, готовы лепить слой за слоем из фреймворков, чтобы добиться какой-то гибкости которую никогда не используют. А в реале, когда начинаешь копать их код, понимаешь, что они умудряются запутаться в своих же абстракциях и вообще лепят противоречивые вещи.

То что так можно разводить бизнес, оно то понятно, но себя то не обманывайте.
Аноним 26/03/17 Вск 02:07:51  961079
>>961022
Смотри. У тебя может быть обращение с двумя базами данных или там обращение к бд и работа с jms. И физически у тебя будет две транзакции, но бизнес-транзакция - одна. Так на каком слое с ней обращаться?
Аноним 26/03/17 Вск 02:20:42  961085
>>961079
Да даже банальное добавить-удалить-изменить - это одна транзакция, а для дао - три отдельные операции.
Аноним 26/03/17 Вск 08:12:39  961112
>>961022
ты троллишь что ли? допустим у тебя несколько обращений из сервиса в разные репозитории (дао). последняя завершилась неудачно, нужно откатить предыдущие. какую-то левую хуйню про абстракции загоняешь, при чём тут это вообще
Аноним 26/03/17 Вск 12:15:04  961193
>>959011 (OP)
Добавить в шапку
https://github.com/Vedenin/useful-java-links/tree/master/link-rus
http://www.coreservlets.com/

Аноним 26/03/17 Вск 13:27:01  961224
Блядь, можно пример случая, когда без интерфейсов и абстрактных классов никак\дают НУ ПРЯМ ОХУЕТЬ ЯВНОЕ ПРЕИМУЩЕСТВО. Год не притрагивался к ООП, снова до них дошел и снова не понимаю нахуя они НА ПРАКТИКЕ нужны.
Аноним 26/03/17 Вск 14:09:46  961264
>>961224
Если по поводу полезности интерфейсов еще как-то можно поспорить, то не понимать абстрактные классы - это просто твоя глупость.
Аноним 26/03/17 Вск 14:12:38  961267
>>961224
Универсальность, гибкость. Ты можешь отправлять в метод параметром любой класс, с любым набором свойств. Иными словами, объем кода сокращается и он становится более элегантным.
Аноним 26/03/17 Вск 14:12:43  961268
>>961264
Ну поясни в чем глупость? Я не отрицаю, что тупой.
Аноним 26/03/17 Вск 14:14:19  961272
>>961267
т.е. ты говоришь о случае когда у нас есть некий класс А с методом, принимающим на вход объекты типа интерфейс Б, от которого могут быть наследованы классы В, Г, Д и т.д.
Аноним 26/03/17 Вск 14:15:44  961274
>>961272
Да. И сразу напомню тебе, что в жабе нет перегрузок.
Аноним 26/03/17 Вск 14:20:41  961280
>>961268
Посмотри хотя бы на InputStream.
Аноним 26/03/17 Вск 14:21:04  961283
>>961274
Перегрузок чего?
Аноним 26/03/17 Вск 14:23:09  961286
>>961283
>Перегрузок чего?
Методов.
>>961272
Опять же, ты можешь написать просто Б.Хуй(), а выполнится нужный реализованный метод у нужного класса (В.Хуй() или Г.Хуй() например).
Аноним 26/03/17 Вск 14:32:07  961291
>>961286
>Опять же, ты можешь написать просто Б.Хуй()
А вот это уже интересно, а что будет если реализация есть у 2 классов и она одинаковая по параметрам?
Аноним 26/03/17 Вск 14:35:12  961293
>>961291
Реализация по параметрам и так будет одинаковой. Ты должен реализовать метод один-в-один как он описан в интерфейсе (с тем же списком параметров).
Аноним 26/03/17 Вск 14:36:26  961294
>>961293
Ок, а если в классах будет разная логика реализации метода интерфейса А, то, какую дернет А.хуй() ?
Аноним 26/03/17 Вск 14:39:41  961295
>>961286
https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html
>Overloading Methods
А это тогда что по-твоему?

>>961294
Друг, у тебя тоже каша в голове. Дёрнется метод того объекта, который передашь. Иди читай про таблицы виртуальных функций.
Аноним 26/03/17 Вск 14:40:31  961296
>>961294
Зависит от того, какой конкретно класс будет находится в объекте. Сам по себе объект интерфейса создать невозможно.
Аноним 26/03/17 Вск 14:44:42  961301
>>961295
>>961296
А, ну это вполне логично, пойду дальше почитаю всякое, спасибо. Каша в голове потому что практики нихрена нет.
Аноним 26/03/17 Вск 14:47:37  961304
>>961295
>А это тогда что по-твоему?
Батюшки, вот это я хуйню несу-то.
Сам только как месяц жабу по Хортсману начал осваивать. И что самое интересное, не могу вспомнить, где нашел текст про отсутствие перегрузок.
Сейчас перечитал - все есть. Чудеса, блеать.
Аноним 26/03/17 Вск 15:32:35  961318
Бляя, пасаны, кто-то ебашил на реакторе/рхжаба/реактивх? Как сделать по-нормальному несколько РЕСТ калов асинхронно, чтобы не приходилось ждать пока первый калл ответит, только потом делать второй и т.д?
И чтоб кода помеьнше было, а то сука не гуглится блядь а времени особо нет.
Аноним 26/03/17 Вск 15:57:45  961321
Аноны,учусь в вузике на заочном,решил вкатиться в работу. Дали тестовое,где одна из частей задания - что бы у User была возможность дать некий Book другому User (либо положить его в кучу). Делаю все на Spring+Hibernate ,но не могу найти инфы по orm one-to-many и подобному(желательно либо на русском,либо на конкретном примере). Так же из требований - использование HQL,в офф доках не нашел таблицу соответствия запросов sql -> hql
Анон,выручай
Аноним 26/03/17 Вск 16:04:47  961324
>>961318
Кароче бля нагуглил https://github.com/reactor/lite-rx-api-hands-on/blob/complete/src/test/java/io/pivotal/literx/Part11BlockingToReactive.java ааа найс всё в примерах, респект чувакам
Аноним 26/03/17 Вск 16:36:39  961342
>>961321
>Hibernate
нинужно

>orm one-to-many
аналогично

> User была возможность дать некий Book другому User
может они хотят от тебя знания ООП?
Аноним 26/03/17 Вск 16:37:03  961344
>>961321
>Дали тестовое
Вон из профессии.
Аноним 26/03/17 Вск 16:44:28  961348
>>961321
>не могу найти инфы по orm one-to-many
дно
>на русском
дно х 2
>не нашел
дно х 3

Диагноз: тебе обязательно перезвонят.
Аноним 26/03/17 Вск 17:22:26  961373
>>961348
>>961344
>>961342
Такие то злобные макакии.
Не серчайте,я уже нашел,что надо
Аноним 26/03/17 Вск 17:40:56  961381
пацантрэ, абасцыте меня или убейте!
не могу в спрингсекьюритиконфиге разграничить доступы к страничкам в зависимости от пользователя
@Override
protected void configure(HttpSecurity http) throws Exception {

http.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/login").permitAll()
.antMatchers("/registration").permitAll()
.antMatchers("/admin/")
.hasAuthority("ADMIN").anyRequest().authenticated()
.and().csrf().disable().formLogin()
.loginPage("/login").failureUrl("/login?error=true")
.defaultSuccessUrl("/admin/home").loginPage("/")
.usernameParameter("email")
.passwordParameter("password")
.failureUrl("/").and().logout()
.logoutSuccessUrl("/").and()
.authorizeRequests()

.antMatchers("/").permitAll()
.antMatchers("/login").permitAll()
.antMatchers("/registration").permitAll()
.antMatchers("/worker/
")
.hasAuthority("WORKER").anyRequest().authenticated()
.and().csrf().disable().formLogin()
.loginPage("/login").failureUrl("/login?error=true")
.defaultSuccessUrl("/worker/home").loginPage("/")
.usernameParameter("email")
.passwordParameter("password")
.failureUrl("/").and().logout()
.logoutSuccessUrl("/")

.and().logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessUrl("/").and().exceptionHandling()
.accessDeniedPage("/access-denied");
}
гуглил примеры. но почему-то у меня криворукого все могут залогиниться как хотят и под правами какие сами рандомно выпадут.
хелпмиплиз
Аноним 26/03/17 Вск 17:43:01  961384
>>961381
и адепты утверждают что этот выблев читаемее чем xml
Аноним 26/03/17 Вск 17:50:42  961390
Screen Shot 201[...].png (38Кб, 497x336)
Screen Shot 201[...].png (39Кб, 417x293)
Screen Shot 201[...].png (82Кб, 1251x307)
Есть json такого формата.
Есть иерархия классов Response, который имеет в себе массив Photo (2ой скрин). В общем, я пытаюсь HQL-ем вытащить максимальное значение max_sol (3-ий скрин). Idea говорит, что класс Rover не замаплен. Но @Table(name = "Photo") говорит, что замаплен. Где я дебил?
Аноним 26/03/17 Вск 18:07:12  961395
>>961390
Тебе нужно разделить работу с базой и работу с джсон. Так называемое "разделение ответственности". Одни классы для работы с базой, суффикс Entity, другие для json, суффикс я бы сделал JsonDto. Между ними конвертер, конвертирующий Entity в JsonDto.
Это нужно чтобы структура базы не мешала структуре джсона, и наоборот. И чтобы в случае изменения базы джсон бы не пострадал.

Аноним 26/03/17 Вск 18:33:25  961403
>>961395
Отличная идея! Спасибо :)
Аноним 26/03/17 Вск 18:50:05  961408
>>961304
В яве нет перегрузок операторов, т.е. BigDecimal'ы нужно через методы класса, а не через + складывать. Возможно ты читал про это и запутался.

>>961384
Нелюбовь к xml - это такой мем у нелюбителей явы.


Аноним 26/03/17 Вск 18:57:59  961409
>>961381
Во-первых, не выкладывай код напрямую сюда.
Во-вторых, отформатируй нормально эту нечитаемую кашу.
В-третьих, зачем там два раза страница логина?
В-четвертых, я тебе, мудаку, уже выше скинул ответ на вопрос про 2 "домашние" страницы. Что за говно ты сюда приплёл вместо редиректа?
Аноним 26/03/17 Вск 18:59:47  961410
>>961390
@Entity
Аноним 26/03/17 Вск 19:36:51  961423
>>961324
Бляяя, короче, всё хуйня, давай сначала, походу я нихуя не шарю в реактиве и эта хуйня вообще не для паралелизации вызовов. Да ну нахуй, там столько костылей надо запиливать, чтобы добиться это паралелизации вызовов. Я ещё даже нашёл на стаковерфлоу в ответах, что типа паралезация в обсерверах хуйня и не нужна, иди нахуй.
Как же тогда красиво заебашить несколько вызовов паралельных? Через акку? Она-то норм хоть к спрингу прикручивается?
Аноним 26/03/17 Вск 19:38:57  961424
butthurtHARD.jpg (44Кб, 479x479)
>>961390
>серилизовать энтити в жсон
ИДИ НАААХУУУУУЙЙЙ ПИДОРАС ЕЩЁ НЕБОСЬ СЕССИЮ ОТКРЫВАЕШЬ В ВЬЮХЕ ЧТОБЫ ДЖАКСОН СМОГ ЗАСЕРИЛИЗОВАТЬ ВСЕ ЗАВИСИМЫЕ ЭНТИТИ??
Аноним 26/03/17 Вск 19:55:10  961429
>>961424
Да нет, у меня для этого сервис есть. Который к dao обращается. Не знаю от чего у тебя так бомбит. А если и бомбит, то можешь и расписать правила хорошего тона для спринга.
Аноним 26/03/17 Вск 19:56:32  961430
>>961429
>правила хорошего тона для спринга.
Первое правило. Никогда не использовать хибернейт
Второе правило. НИКОГДА не использовать хибернейт
Аноним 26/03/17 Вск 19:59:36  961433
>>961430
Да у тебя ПУНКТИК!
Аноним 26/03/17 Вск 20:04:32  961435
>>961430
Неосиляторы подъехали.
Аноним 26/03/17 Вск 20:05:38  961436
>>961435
от него больше проблем чем пользы
Аноним 26/03/17 Вск 20:10:01  961437
>>961430
У тебя сложные сущности, размазанные по паре десятков таблиц. Как будешь с ними работать, SQL-запросы писать на каждый чих?
Аноним 26/03/17 Вск 20:14:36  961439
>>961409
>>961409
>>Во-первых, не выкладывай код напрямую сюда.
>>Во-вторых, отформатируй нормально эту нечитаемую кашу.
прошу прощения http://pastebin.com/zmcd3X6E
>>В-третьих, зачем там два раза страница логина?
скопипастил лишнего, это все равно ничего не меняет
>>В-четвертых, я тебе, мудаку, уже выше скинул ответ на вопрос про 2 "домашние" страницы. Что за говно ты сюда приплёл вместо редиректа?
если я делаю по примеру у меня ошибка
"There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'POST' not supported"
Аноним 26/03/17 Вск 20:19:08  961441
>>961437
Если сложные сущности и сложные запросы, то тем более нельзя юзать хибернейт.
Ты потратишь больше времени, пытаясь запустить это и понять почему оно тормозит
Аноним 26/03/17 Вск 20:22:48  961444
>>961441
Я сейчас говорю не о говноподелках, которые ты пилишь на коленке один, а о серьёзных корпоративных приложениях, которые делаются по несколько лет и за это время ещё команда успевает пару раз смениться. И я тебе гарантирую, без JPA ты ебанёшься.
Аноним 26/03/17 Вск 20:27:18  961447
>>961085
Чувак или троллит, или не понимает что такое транзакции и зачем они нужны. Поэтому несет такую дикую дичь.
Аноним 26/03/17 Вск 20:38:01  961453
photo2017-03-26[...].jpg (31Кб, 450x446)
Вечер в хату, програны. Посоветуйте, какие пакеты, которые чаще всего применяются, лучше вызубрить? Их дохуя, но чувствую что чаще всего применяются несколько. И ещё вопрос, с каких реально полезных приложений для тренировки начать? Имею в виду не всякие хеллоуворды и калькуляторы, а полезные например примочки, которые при данном начальном уровене тяжело написать но хорошо в итоге натренирует.
Аноним 26/03/17 Вск 20:40:23  961455
>>961444
> Я сейчас говорю не о говноподелках, которые ты пилишь на коленке один, а о серьёзных корпоративных приложениях, которые делаются по несколько лет и за это время ещё команда успевает пару раз смениться. И я тебе гарантирую, без JPA ты ебанёшься.
Угадай почему одинбанх бузинес онлайн сейчас вполне успешно переписывается в том числе и с хибернейта на поделие одного швейцарского пацанчика.
Аноним 26/03/17 Вск 20:40:31  961456
>>961444
>а о серьёзных корпоративных приложениях, которые делаются по несколько лет и за это время ещё команда успевает пару раз смениться.
Для тебя это повод для гордости? Я участвовал в проекте: принять данные по xml, расшифровать и сохранить. Этот простейший круд команда из 5 человек делала в течении года, и так не до конца. При этом оно падало от перегрузки даже на тестовой среде

Следующим проектом была система такси федерального масштаба, где на серверной части был я один. Второй проект был в разы сложней, и при этом запущен в продакшен через полгода после начала работы
Аноним 26/03/17 Вск 20:42:19  961457
OvAxWkHQRjc.jpg (34Кб, 604x343)
>>961456
> Я участвовал в проекте: принять данные по xml, расшифровать и сохранить. Этот простейший круд команда из 5 человек делала в течении года, и так не до конца. При этом оно падало от перегрузки даже на тестовой среде
Лолблять почему?
Аноним 26/03/17 Вск 20:50:56  961458
почему все (даже всякие тимлиды) говорят хибернейт, а не хайбернейт?
Аноним 26/03/17 Вск 20:51:30  961459
>>961457
использование всех возможных дилдаков, модных в то время: BPM, хибернейт, веб-лоджик, дженкинс, оракл, ещё какие-то хрени.
На компьютерах разработчиков это было не развернуть из-за оракли, bpm и кучи настроек. Тестовых серваков было пара, при этом надо было изъебываться чтобы посмотреть логи. На тестовые серваки конечно-же нельзя просто так залить, заливается через коммиты с кучей валидаций, тесты и капризный дженкинс. Ни о каком дебаге конечно не могло быть и речи. Итого пробный запуск своего кода растягивался на полдня. Ещё полдня чтобы расшифровать логи и понять что не так. Ну это примерно как в старые времена, когда программы набивали на перфокарты и отдавали на ввод операторам, а результат ты мог узнать только через пару дней, в виде текста.
Плюс постоянные митинги, ибо руководство захотело поиграть во все эти скрамы и аджайлы.
Аноним 26/03/17 Вск 21:12:20  961473
>>961459
Но это больше смахивает на руожопость тех кто такую инфраструктуру породил. Гибернейт тут явно не причем. Наломать таких дров можно успешно и без БД с гибернейтом в качестве ОРМ.
Аноним 26/03/17 Вск 21:19:05  961477
>>961473
ну вот когда писал это такси, тоже использовал хибернейт. Потом пришлось выпиливать его из всех частых запросов. Оставил только на запросах для админки и диспетчеров.
Аноним 26/03/17 Вск 21:37:48  961489
>>961459
>>961477
Индексы хоть делали и следили, чтобы не было гомофуллсканов, или "какой SQL? За меня ORM все говно делает, идите нахуй, я бабочка"?
Аноним 26/03/17 Вск 21:45:27  961492
>>961489
именно что постоянные гомофулсканы, подгрузка связанных сущностей вопреки запретам. Плюс при сохранении/обновлении оно обновляет все поля, даже те которые не нужно. Убрал слой Entity - памяти стало жрать в два раза меньше
Аноним 26/03/17 Вск 21:50:39  961496
>>961492
Обычные orm-проблемы. Удобство удобством, а потом начинается.
Аноним 26/03/17 Вск 21:58:34  961503
>>961492
Ну например юзать гибернейт для формирования различных браузеров в системе или же отчетов - верх идиотизма. Такие структуры как правило агрегируют данные из разных таблиц в форме далекой от ваших задефайненных сущностей. В таком случае операцию будут затратны по ресурсам - здесь стоит применять Native SQL приподдержке профайлера вашей СУБД, с последующей конвертацией в POJO через ResultTransformer того же гибернейта (хотя в JPA 2.1 появился более удобный инструмент).

Это первое. Второе - понимать то с какими данными работает ваша система в конкретной ее части и далее вытягивать из базы их один раз через JPQL(HQL), дабы в дальнейшем не было кучи мелких подзапросов.

О таких вещах вообще не думают когда работают с ORM а потому получается что инструмент во всем виноват.
Аноним 26/03/17 Вск 21:59:55  961505
Помогите, пожалуйста. Что-то я не понимаю.
Вот есть RestService и вылетает ошибка java.lang.NullPointerException net.yan.service.DtoConverter.convertToModel(DtoConverter.java:22)
Окей, я стал в addPhoto передавать не ResponseJsonDto, а сразу массив PhotoJsonDto. Не помогло. Окей. Проверил, а получаю ли я вообще ResponseJsonDto. Да, получаю и id, imgSrc смог спокойно вытащить.
Вроде бы, и конфиг правильно настроил.
https://github.com/Kabowyad/Test-Project/tree/api-test/src/main/java/net/yan
Аноним 26/03/17 Вск 22:00:02  961506
>>961496
Верно подмечено - ORM это всегда компромисс. Вы получаете удобство в одной части прикладных задач, но в другой будут возникать траблы. Выходом как правило явялется гибридное решение - применять ОРМ там где ОРМ справляется хорошо, в остальных местах использовать Native SQL.
Аноним 26/03/17 Вск 22:03:10  961509
>>961505
ой блять, просто пиздец. Забыл поставить JsonValue и все сломалось.
Аноним 26/03/17 Вск 22:06:08  961513
>>961503
ну да, куча нюансов и возможных граблей. А написание plainSQL занимает не так уж много времени, плюс это надежнее.
Аноним 26/03/17 Вск 22:10:05  961516
>>961513
Все зависит от объемов. Если это мелко проект - спорить не стану. При количестве сущностей около пятидесяти - native sql становится проблемой. Собственно из-за этого и стали придумывать ОРМ, что бы не писать огромную кучу кода. И тут все по Макконелу: меньше кода -> снижение сложности -> упрощение в сопровождении и меньшее шансов наклепать баги.
Аноним 26/03/17 Вск 22:13:20  961519
>>961516
больше hql - больше шансов стрельнуть себе в ногу
Аноним 26/03/17 Вск 22:15:47  961523
>>961439
Экстрасенсы все на тнт. Хуй знает что ты там не осилил. Ебись-дебаж сам (как и все работающие прогеры).
Аноним 26/03/17 Вск 22:19:38  961525
14481383908780.png (350Кб, 700x674)
>>961439
> если я делаю по примеру у меня ошибка
> "There was an unexpected error (type=Method Not Allowed, status=405).
> Request method 'POST' not supported"
Читать мы, конечно, не умеем.
Аноним 26/03/17 Вск 22:21:25  961526
помидоры, подкиньте пожалуйста идею веб аппликухи, чтобы потренироваться в спрингах, хиберах и т д, что использует большинство нормальных гребцов.
за пару лет работал только с сервлетами и osgi. в связи с перекатом на другое место работы, хочу немного подготовиться.
у самого в мыслях только бложики да твитторы
Аноним 26/03/17 Вск 22:22:59  961528
>>961526
Spring in action читай со второй главы. Будешь Плевателя делать.
Аноним 26/03/17 Вск 22:23:22  961529
>>961528
> со второй раздела
Аноним 26/03/17 Вск 22:24:06  961531
>>961528
>>961529
благодарю
Аноним 26/03/17 Вск 22:26:24  961533
>>961531
Лучше дал себя в срачельничек поиметь - вот лучшая благодарность.
Аноним 26/03/17 Вск 22:27:15  961534
>>961533
Два Ануса Дрануса этому Косадесу.
Аноним 26/03/17 Вск 22:32:24  961538
Анусы, они повсюду.
Аноним 26/03/17 Вск 22:32:52  961539
yo-dawg.jpg (21Кб, 481x481)
>>961519
> hql
Аноним 26/03/17 Вск 22:33:33  961540
>>961538
Даже у меня самого есть анус, а значит я сам себя драть могу.
Аноним 26/03/17 Вск 22:46:35  961551
>>961523
>>961523
>>Ебись-дебаж сам(как и все работающие прогеры)
дык я и так ебусь, параллельно тут спрашиваю малоли кто что-нибудь знает. я еще не работающий и с такой ебланской башкой я думаю раотать еще буду не скоро
>>Читать мы, конечно, не умеем
ну конечно ты тут один у нас читать умеешь, толкь интересно схуали метод пост нот супортед!?
значт придругом конфге он супортед, стоит поменять конфиг и уже нет, куда он делся? мм??
эй метод "ПОСТ" где ты????
я порвался, можете меня уносить!
Аноним 26/03/17 Вск 22:52:00  961555
>>961551
Слушай, паренек. Давай будем няшками-поняшками и посмотрим правде в глаза. Программирование очевидно не твое.

Почему бы тебе не попробовать Javascript?
Аноним 26/03/17 Вск 23:02:18  961562
>>961555
интересное предложение, но я уже прошел собеседование на должность гей-шлюхи сзароботком 400ккк/сек
Аноним 26/03/17 Вск 23:38:51  961579
>>961023
>>961079

>Ты не знаешь что такое транзакция, дай определение.
>На...
>Все не правильно, "врети"!
>Хорошо, скажите тогда правильное определение
>Не скажу, но вот смотри, если тут...
Дебилы бля (с)

Слив с транзакциями в сервис-слое засчитан.
Аноним 26/03/17 Вск 23:50:56  961584
>>961579
уёбывай уже, порватка
Аноним 27/03/17 Пнд 00:21:02  961592
>>961264
Ты по сути говори, хули ты тут своими абстракциями пальцы растопыриваешь, мышь бля.
Аноним 27/03/17 Пнд 00:27:52  961595
JavatheFat-Hut.jpg (21Кб, 480x640)
>>961584
Не транзетивненько, слившийся гандон.

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

Нахуй вам тогда DAO, если вы уже запороли абстракцию, возьмите сразу Active Record в сервис слой - это будет однохуйствено (вы так же будете привязаны только к носителю реляционных БД, но как макаки не будете писать бойлерплейт).

Аноним 27/03/17 Пнд 01:01:09  961605
>>961595
Ясно понятно. Уёбывай.
Аноним 27/03/17 Пнд 01:35:12  961614
>>961605
Тот самый случай, когда тебя открыто унижают по твоей любимой джаве, а ты даже ответить по теме не можешь
Аноним 27/03/17 Пнд 01:46:36  961618
>>961614
Да заебешься каждому мимокрокодилу что-то там доказывать. Итогом все равно будет "азаза, слив засчитан", а за ним придет следующий и все по новой.
Аноним 27/03/17 Пнд 02:14:28  961624
>>961618
Бедняга, возьми платочек.

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

PS ...и да, за огрехи архитектуры топят единицы, так что не пизди что приходится часто доказывать мимокракодилам подобное.
Аноним 27/03/17 Пнд 02:45:07  961628
>>959413
Какой потешный дебил. Ни дженериков, ни наследования интерфейсов не осилил и еще гордится этим.
Аноним 27/03/17 Пнд 02:49:47  961630
>>961628
У тебя паранойя, ты меня путаешь с кем-то.
Хотя может это маневры такие
Аноним 27/03/17 Пнд 03:09:19  961632
>>961630
Может быть, я кукаретиков, кукарекающих об овеществлении дженериков, не различаю.
https://www.youtube.com/watch?v=402QPeOnIy4
Аноним 27/03/17 Пнд 04:21:02  961648
>>959105
он не для веба создавался. net/http был впилен на скорую руку за месяц до релиза чисто ради привлечения внимания\популярности. пилить на го прикладуху типа веба - это миллионы велосипедов. на нем байтики ебать хорошо, но это типа непопулярно сегодня
Аноним 27/03/17 Пнд 08:07:42  961669
>>961193
Это не тебе решать, чмоня.
Аноним 27/03/17 Пнд 09:14:08  961679
>>959040
DropWizard + Angular2
Аноним 27/03/17 Пнд 09:35:13  961686
>>959011 (OP)
Аноны, как в RxJavе сделать цепочку обсерваблов? Вот допустим я хочу передавать данные из одного обсервабла в другой, из него в третий и т.д, а в конце получить нужный мне объект. С помощью чего это можно реализовать?
Аноним 27/03/17 Пнд 11:40:27  961718
>>961686
flatMap / switchMap
Аноним 27/03/17 Пнд 12:09:22  961730
>>961193
Делай пулл реквест, хули.
Аноним 27/03/17 Пнд 13:24:29  961755
Сап джаваны, работаю макакой в тырпрайзе второй месяц. Пишу в основном на hql, но иногда пригодиться на netive sql. Пазовые вещи знаю, трудности возникают редко. Но все же, насколько важно глубокое знание sql, ну и что посоветуете почитать ?
Аноним 27/03/17 Пнд 14:05:05  961769
Привет, двач-джавач. Долгая ебля с JSON принесла свои плоды и что-то стало вырисовываться. Мы имеем ответ от сервера в виде пока что говнокода - лишь бы работало и выдавало JSON-строку. Так что тут не придирайтесь. Вот она

https://pastebin.com/X2AFZaiE

И мы имеем такой же тестовый класс, в котором я выдрачиваю все эти внутренние штуки.

https://pastebin.com/GzKLKXMB

Я ничего не понимаю, что идет не так. Ах,да - вот простой мэйн класс - https://pastebin.com/BW5bQyex

А теперь самое главное. Когда в строке для перевода было Tale во время работы - всё работало. Теперь же выдает нуль поинтер эксепшн.
Но работает со словом хелло.
Вы можете сказать мол, оно ж тебе показывает, где ошибка. Так вот - ошибка в якобы вот тут

JSONObject getNullPoint = (JSONObject)getSyn.get(0);

Да вот только если закомментить метод и просто распечатать линк, то мы увидим, что поле syn действительно есть и эксепшн не может появиться, потому что ответ JSON от апи построен по одному формату! В общем, работает всё раз на раз, в чём подвох-то, джаваны?

Алсо, знаю, что говнокод, извините. На слове Hello исправно выдает мне массивы значений. Вот пример вывода

hello
Перевод привет
Значения [hi, welcome]
Синонимы [приветствие]
Переводы [привет]
Аноним 27/03/17 Пнд 14:25:20  961772
>>961769
>restTemplate.exchange(url, method, request, resultType).getBody()
Ты вот это что-ли написал?
Аноним 27/03/17 Пнд 14:48:07  961780
>>959011 (OP)
Какие возрастные ограничения для джунов в России? Слышал, что после 25 уже не берут.
Аноним 27/03/17 Пнд 14:49:19  961781
>>961780
После 19 уже не берут.
Аноним 27/03/17 Пнд 14:54:57  961786
>>961781
хз, я в 17 шёл, сказали что у же на верхней границе
Аноним 27/03/17 Пнд 15:32:55  961813
>>961526
>у самого в мыслях только бложики да твитторы

Как будто что-то плохое. С точки зрения тимлидов корзинок и хипсторов сеньеров хуесосов собеседователей
Аноним 27/03/17 Пнд 15:51:47  961825
blob (13Кб, 287x319)
Пишу код на Java Swing в редакторе от NetBeans.
Формочка состоит из текстового окна и кнопки. Хочу, чтоб текстовое поле было расширяемое (растягиваемое), а кнопка-нерастягиваемая наоборот (при изменении размеров окна). Сейчас набросал пикрилейтед, но похоже придется править вручную
Аноним 27/03/17 Пнд 16:44:17  961878
Поясните за JNDI, а лучше - дайте какой-нибудь годный туториал, где всё будет кратко и по делу. У меня какое-то очень смутное представление о нём, то есть я понимаю, что это API для доступа к службам имен и каталогов, но нахуя? То есть мы можем по этому имени обратиться к службе, файлу или там компоненту, но зачем? Разве нет других способов? Если есть - почему именно JNDI?
Аноним 27/03/17 Пнд 17:25:05  961933
>>961825
Swing, похоже, древний мем.
Взял Gridlayout и сделал по примеру: https://docs.oracle.com/javase/tutorial/uiswing/examples/layout/GridBagLayoutDemoProject/src/layout/GridBagLayoutDemo.java Вроде более-менее получилось
Аноним 27/03/17 Пнд 17:41:24  961944
>>961755
Правила расстановки знаков препинания в русском языке.
Аноним 27/03/17 Пнд 17:42:21  961945
>>961780
Это так.
Аноним 27/03/17 Пнд 17:45:42  961946
>>961780
Говорят, старше 15 уже нет смысла даже пытаться.
Сам вкатился в 27, один друг в 26, знаю двоих вкатился в 30+.
Аноним 27/03/17 Пнд 17:50:35  961951
>>961878
Твоя программа говорит дай говно, буду в нем рыться.

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

А если еще в файлике с jvm пропертями сделаешь, чтобы можно было указывать конкретные имена jndi говен, чтобы твоя программа работала с говном не по конкретному имени говна, а по проперти имени говна, так вообще будешь помидоркой сука ты ебаная хуила беспардонная.
Аноним 27/03/17 Пнд 17:52:46  961952
>>961951
Заебись, спасибо.
Аноним 27/03/17 Пнд 18:03:25  961956
Слушайте, а вы часто пишете nested и inner классы?
Когда вообще есть смысл их использовать?
Аноним 27/03/17 Пнд 18:15:06  961967
>>961956
Только когда тебя просят предоставить для общественного пользования свой срачельничек. Его надо беречь для настоящих товарищей.
Аноним 27/03/17 Пнд 19:50:40  962010
>>961555
дружище я победил наконец-то это хуету!!! во пиздец я тупой был (да таким же и остался). спасибо, что хоть немножк направлял меня, ну тоси-боси там это. кароч заебись
Аноним 27/03/17 Пнд 20:27:38  962031
>>961956
я пишу ток анонимные классы, т.е лямбды.
Аноним 27/03/17 Пнд 20:31:55  962034
144615133815017[...].jpg (97Кб, 1600x1067)
>>962010
Аноним 27/03/17 Пнд 20:35:52  962037
>>961755
Перелезай с hql на jpa predicate. Или на querydsl.
Тебе потом спасибо скажут.
Аноним 27/03/17 Пнд 21:35:12  962056
>>959040
PHP же
Аноним 28/03/17 Втр 01:19:44  962191
>>962056
Двачую, на жабе веб пилить - это боль из тонны бойлерплейта.
Аноним 28/03/17 Втр 02:34:16  962202
Здрасти. Пишут что так можно сменить прокси в рантайме на лету, но этот код на питоне. Поясните как его переписать под джаву.

driver.command_executor._commands['executePhantomScript'] = ('POST', '/session/$sessionId/phantom/execute')
driver.execute('executePhantomScript', {'script': '''phantom.setProxy("10.0.0.1", 12345);''', 'args' : [] })
Аноним 28/03/17 Втр 10:12:31  962264
>>962037
Чому jpa predicate лучше ?
Аноним 28/03/17 Втр 11:27:17  962296
>>962264
валидация синтаксиса на этапе компиляции
Аноним 28/03/17 Втр 11:33:02  962299
>>961813
ну типа знаешь, ничего свежего. хотя тут наверное не стоит выебываться, а надо сидеть и пробовать/делать
Аноним 28/03/17 Втр 17:09:17  962413
Суп, господа.
Нужно настроить конвертацию документов из docx в pdf. Пробовал ебашить через apache.poi и docx4j (3.2.2), форматирование идёт по пизде. Попробовал docx4j 3.3.3 - работает заебись, но он на самом деле не сам конвертирует а гоняет документы на сервак и там конвертирует, хотите на локалке - купите свой сервак и разворачивайте, не вариант. Посоветуйте нормальные варианты, наверняка многие ебались с подобными задачами.
Аноним 28/03/17 Втр 19:08:06  962493
Почему в шапке нет ничего про выбор ide? Чем пользуетесь?
мимо-ньюфаг
Аноним 28/03/17 Втр 19:09:58  962495
>>962493
Все нормальные разработчики пользуются Idea, что тут обсуждать-то.
Аноним 28/03/17 Втр 19:14:27  962498
>>962493
Есть только одна православная IDE и это - IDEA. Нечего обсуждать.
Аноним 28/03/17 Втр 19:20:06  962499
>>962413
смотри что найдёт гугол

java convert doc to pdf
Аноним 28/03/17 Втр 19:22:05  962500
>>962413
Если хочешь чтобы ничего не ехало, то бери шарп и пиши свой сервис. Там конвертация вроде почти из коробки есть.
Аноним 28/03/17 Втр 20:16:50  962553
>>959078
>потребовалось создать максимально уебанский язык программирования
Но ведь кобол уже был изобретён.
Аноним 28/03/17 Втр 20:37:13  962578
Жавач, что по FX глянуть? Вроде научился лепить формочки в Scene Builder и прикручивать ксс, но думаю, упускаю кучу основных возможностей, например биндинги, бины какие-то, обсервабл коллекции и т.д. Желательно на русском, ну или на иглише, но чтоб последовательно все, а не короткими хау-ту.
Аноним 28/03/17 Втр 20:40:44  962584
>>962495
>>962498
Лол, тупые хомячки, жрущие проприетарщину.
>>962493
Выбирай Eclipse, хоть он и старый, но он свободный. Это главный критерий любого здравомыслящего программиста и вообще свободного человека.
Аноним 28/03/17 Втр 20:44:36  962589
bandicam 2017-0[...].jpg (264Кб, 1435x873)
>>962584
>Можешь помочь аутисту мне. Что здесь не так
Аноним 28/03/17 Втр 20:51:45  962594
>>962589
Жми контрол+1, либо на лампочки и делай импорт.
Аноним 28/03/17 Втр 20:55:12  962599
ixipuv5srw1[1].jpg (25Кб, 440x450)
>>962589
Ты ахуел чтоле сука?

А ну быстро съебал в 1С тред, если свой мордорский так любишь, что даже КЛАССЫ по пидарашьи называешь. Конченый.
Аноним 28/03/17 Втр 20:56:34  962600
>>962599
http://vocaroo.com/i/s1BP7HlG0aqS
Аноним 28/03/17 Втр 21:01:59  962608
>>962495
>>962498
Двум ценителям два чая
Аноним 28/03/17 Втр 21:05:40  962611
>>962608
Ты, наверно, ещё и на WXP сидишь, ведь это проверенный временем, стабильный продукт.
Аноним 28/03/17 Втр 21:06:23  962613
>>962495
>>962498
сосачую. Я даже из личных денег купил годовую лицензию на идею. Ибо оно того стоит
Аноним 28/03/17 Втр 21:07:33  962614
>>962611
а ты сидишь на линуксе из-за ШВАБОДКИ?
"Да я жру говно. Но это говно ШВАБОДНОЕ"
Аноним 28/03/17 Втр 21:28:15  962629
>>962495
к примеру, для того, чтобы работать с БД, нужна ultimate версия
эт не оч удобно
Аноним 28/03/17 Втр 21:30:41  962631
>>961424

що не так? если не в продакшен, а что-то тестовое, то сойдет, JsonIgnore и иже с ним вешаешь куда надо и все

я так за 20 минут со спринг дата рест ангуляр2 с сервером связал, тот еще и контроллеры сгенерил с документацией

короче ентити в джейсон конвертить самое то для MVP или написания чего-то на коленке

+ в дата ресте есть проекции, можно вообще не заморачиваться
Аноним 28/03/17 Втр 21:39:39  962636
>>962629
Ну так купи, если нужна
Аноним 28/03/17 Втр 21:40:26  962639
>>962629
для работы с бд нужна специализированная программа, а не идея
Аноним 28/03/17 Втр 21:44:51  962647
>>962639
ну, в плане, чтобы соединение настроить
JDBC
Аноним 28/03/17 Втр 21:48:39  962652
>>962647
Ват? Соединение ты из кода пишешь, лол.
Просматривать также можно сторонним софтом.
Аноним 28/03/17 Втр 21:50:45  962658
>>962652
ну да, но, чтобы ж подключить драйвер, нужно то поле, Databases
Аноним 28/03/17 Втр 21:56:31  962661
>>962647
ты гуем чтоли настраиваешь?
Аноним 28/03/17 Втр 21:57:10  962664
>>962658
открой для себя maven
Аноним 28/03/17 Втр 22:43:26  962701
>>962664
Пиздец, пошёл ты нахуй с такими советами. Меня аж передернуло, когда я про него вспомнил.
Аноним 28/03/17 Втр 22:46:10  962707
>>962701
Толсто
Аноним 29/03/17 Срд 00:55:39  962775
>>962707
Че толсто? Я серьёзно говорю. Не понимаю, как можно в 2017 году им пользоваться.
Аноним 29/03/17 Срд 01:50:58  962789
>>962775
Что не так с ним? С учетом того, что груви (и gradle вместе с ним) как бы канул в Лету?

Да и IDE иногда с трудом жрет этот gradle
Аноним 29/03/17 Срд 02:14:31  962796
>>962789
>gradle вместе с ним как бы канул в Лету?
Насколько знаю не без помощи владык котлина ;)
Аноним 29/03/17 Срд 04:41:34  962817
>>962202
бамп
Аноним 29/03/17 Срд 05:12:07  962824
>>962789
Можно подробнее почему gradle умер?
Аноним 29/03/17 Срд 08:41:55  962845
>>962824
Его автор сказал "скала все равно лучше".
Аноним 29/03/17 Срд 09:13:44  962850
>>962845
На gradle это как влияет? Никто не заставляет на экзотическом Groovy писать весь проект.
Аноним 29/03/17 Срд 09:15:37  962852
>>962850
А гредл всегда был билд тулзом для груви. Для проекта на яве он банально избыточен.
Аноним 29/03/17 Срд 10:37:21  962881
Всем привет. Может кому советом будет не впадлу помочь, потому что не у кого толком спросить. В чем суть: На сколько сложно вообще джаверу релоцироваться из говностраны я например из Беларуси с говнообразованием в райские штаты и прочую европу? И легче ли это сделать учась в вузе там?
Аноним 29/03/17 Срд 10:48:39  962883
Хочу перекатиться к вам с крестов. Есть книжки/туториалы для не новичков?
Аноним 29/03/17 Срд 10:54:36  962885
>>962883
книжку брюса эккеля можешь почитать по синтаксису
Аноним 29/03/17 Срд 11:10:05  962889
>>962883
>Хочу перекатиться к вам с крестов. Есть книжки/туториалы для не новичков?
>


прочел только эффектив джава, 2.5 года джава макака, полет норм

а, ну и по джава 8 прочел книженку, там всего 120 страниц было

вообще по джаве пробегись и котлин учи
Аноним 29/03/17 Срд 11:17:45  962891
Почаны, если у класса нет стейта, то он автоматически thread-safe?
Аноним 29/03/17 Срд 11:19:29  962892
>>962891
Поздравляю, ты изобрёл static-методы в ЖАббе.
Аноним 29/03/17 Срд 11:34:57  962895
>>962891
И с чего бы? Вот если еще и аргументы методов представляют собой immutable objects, вот тогда твоя попка прикрыта.
Аноним 29/03/17 Срд 12:02:13  962903
>>962895
Во, спасибо, это все разъяснило.
Аноним 29/03/17 Срд 12:07:47  962909
Кстати, а чем тогда собирать, если Maven и Gradle ненужное говно, как тут пишут?
Я пытался SBT освоить, пиздец какой-то, непонятно ни хрена, документации нормальной нет.
Аноним 29/03/17 Срд 12:12:09  962913
>>962614
А на чем еще должен сидеть жабогосподин? Сперму хлебают только дотнет петухи, которые хуже червя похапешника.
Аноним 29/03/17 Срд 12:17:44  962915
>>962909

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

SBT это вообще для скалы

решай проблемы по ходу возникновения, не накручивай

ну и если аллергия на xml, то градл
Аноним 29/03/17 Срд 12:26:07  962922
>>962913
Коммерческие продукты всегда лучше опенсорс говна. Жаба тоже коммерческая
Аноним 29/03/17 Срд 13:05:43  962958
>>962913
чем тебе дотнетчики не угодили?
Аноним 29/03/17 Срд 13:26:52  962965
Вопрос от вкатывающегося: на unix системах разработка отличается от винды? какие-то имплементации open jdk/jre. стоит ли укатываться на винду?
Аноним 29/03/17 Срд 13:31:17  962967
>>962701
Альтернативы кроме анта? cmake?
Аноним 29/03/17 Срд 13:33:18  962969
>>962922
>Коммерческие продукты всегда лучше опенсорс
толстовато
Аноним 29/03/17 Срд 13:35:33  962972
>>962969
для пользователя всегда лучше
для разработчиков всегда хуже
Аноним 29/03/17 Срд 13:35:51  962973
Как сделать entityManager thread safe в EJB ?
Аноним 29/03/17 Срд 13:36:09  962974
>>962965
Сношишь open и ставишь нормальную проприетарную. Все просто
Аноним 29/03/17 Срд 13:57:59  962988
>>962974
ok
Аноним 29/03/17 Срд 14:15:21  962998
>>962973
Насколько я помню, вся ejb-инжектуемая хуита всегда thread-safe.

У нас на работе возник срач. Длинные чейны из стримов (Stream.of(huita).map(...).map(...).filter(...).map(...)...) - хорошо или плохо?
Аноним 29/03/17 Срд 14:24:10  963001
>>962499
Пока что ничего такого не нашёл, чтобы при этом не ломалась разметка. Вообще я удивлён, я думал это достаточно часто встречающайся задача.
И проблема втом, что это не просто пара обзацев текста с картинками, а ебанутые печатные форм с таблицами, прочерками, местами отформатированные пробелами и всё такое, пиздец, в общем.

>>962500
Это понятно, но мне нужна конвертация в рамках уже существующего приложения.
Аноним 29/03/17 Срд 14:35:20  963004
>>962998
Хоть хуита выглядит круто и удобно, но в функциональном стиле в легкую можно сделать нечитаемую хуиту, логику которой ты сам забудешь через неделю. Мне кажется, в разумных приделах норм. А вообще на работе до сих пор на 7 сидим, так что я с фичами 8 только поверхностно знаком.
Аноним 29/03/17 Срд 15:06:17  963018
>>962998
>хорошо или плохо?
плохо читаема и нет возможности закомментировать часть.
Каргокульт на функциональщину
Аноним 29/03/17 Срд 15:07:12  963021
>>963001
может через какой-нибудь виртуальный принтер в pdf?
Аноним 29/03/17 Срд 15:22:00  963038
>>963021
Да хуй знает, наверное можно как-то через опен офис, надо поискать. Пока что всё, что я узнал - пакетов для конвертации дохуя, но все они нихуёво так стоят.
Аноним 29/03/17 Срд 16:00:42  963067
Анон,можно ли в Spring security привязать авторизацю из xml файла к сущностям в бд?
Ну типа у меня есть в бд таблица с User ,там есть user name="vasya" lname="popov" password="huilo",в настройках спринга висит <security:authentication-manager>,где все эти юхеры перечисленны. Можно как то донастроить в этом файле,что бы при аутентификации эта хуйня лезла в бд,связывала username из файла с username из бд и открывала операции для работы конкретно с ЭТИМ user из базы данных
Аноним 29/03/17 Срд 16:02:25  963070
>>963067
upd
или надо через jdbc связывать?
Аноним 29/03/17 Срд 16:15:10  963077
Есть ли что-нибудь не связанное с вебом и Android? Раньше (года 2 назад) попадалась вакансия на микроконтроллеры, сходил на собеседование и соснул, ибо не знал OSGi.
Аноним 29/03/17 Срд 16:33:05  963088
>>963001
>Это понятно, но мне нужна конвертация в рамках уже существующего приложения.
Тогда можешь и не пытаться. Или платить дохера денег. Enjoy microsoft proprietarshina
Аноним 29/03/17 Срд 16:38:29  963091
>>962974
не слушайте этого проприетарного дауна. оставляй openjdk, всё равно не увидишь разницы (её и нет почти)
Аноним 29/03/17 Срд 16:40:35  963094
>>963077
если англ в порядке, то попробуй удалённо на зарубежные компании с Javafx. на ней тоже есть проекты
Аноним 29/03/17 Срд 16:44:31  963099
>>963088
Ладно, может можно придумать какое-то альтернативное решение? Суть в том, что у пользователя должна быть возможность просматривать превьюшки документов, хранящихся в системе, собственно поэтому и происходит конвертация доков в пдф.
Аноним 29/03/17 Срд 16:55:16  963107
>>963099
И почему нельзя отдельным openoffice или шарповским сервисом сделать?
Аноним 29/03/17 Срд 16:56:38  963109
>>963091
У оракла VM быстрее, а так нет разницы, 8 версию OpenJDK поддерживает.
Аноним 29/03/17 Срд 16:59:07  963111
>>963099
Вот какая-то библиотека для docx:
http://www.docx4java.org/trac/docx4j
Аноним 29/03/17 Срд 17:02:02  963112
>>963099
Вот это еще посмотри:
https://code.google.com/archive/p/jodconverter/
Аноним 29/03/17 Срд 17:08:52  963121
>>963111
Смотрел. Их конвертер не особо-то бесплатный, а старые версии глючат.
http://converter-eval.plutext.com/

>>963112
>WARNING! This project is no longer maintained The code has been moved to GitHub in the hope that somebody else will fork and maintain it.
Вот это немного смутило, если честно. Да и всё равно нужен установленный ОО.

>>963107
Потому что я тупой и боюсь, что это будет сложно, а я никогда ничего такого не делал. Ну и сервер на стороне заказчика, доступа к нему нет, а я слабо представляю, как это всё должно настраиваться.
Хотя, похоже что у меня нет выбора, видимо придётся так и делать.
Аноним 29/03/17 Срд 17:30:04  963144
>>963121
>Потому что я тупой и боюсь, что это будет сложно
Так почитай, как сервисы на C# делать. С микрософтовским офисом он точно из коробки умеет работать, редактировать документы, выполнять VBA скрипты... На работе когда-то этим занимался.
Если нужно именно на жабе - ищи библиотеки для прикручивания к ней COM/ActiveX, это единственный способ доступа к вордовскому API.
Аноним 29/03/17 Срд 17:34:11  963149
PDF кстати можно создавать и при печати (VBA скриптом) через виртуальный принтер, если настроить его на сервере.
Аноним 29/03/17 Срд 19:51:20  963223
> Stream.of(huita).filter(...).forEach(...)
Поясните в каком порядке это все выполняется. Я правильно понимаю что сначала массив полностью прогонится через filter, а потом то что прошло проверку еще раз в forEach? То есть 2 отдельных цикла. Тогда если мне нужно исключить всего 1 элемент, то получается O(n^n - 1), когда в обычном цикле эти 2 операции можно сделать за линейную сложность.
Аноним 29/03/17 Срд 20:44:58  963257
>>962967
Gralde и Bazel.
Аноним 29/03/17 Срд 20:54:09  963263
>>963223
нет, каждый элемент пройдёт через цепочку только один раз.
первый элемент проходит через фильтр - дальше к нему применяется то, что написано в foreach, второй не прошёл фильтр - отбрасывается.
Аноним 29/03/17 Срд 21:21:46  963286
>>963018
Двачую
>>962998
если в комбинаторах неоднократно что-то большее, чем method references или если лямбды из больше чем одной строки, очевидно хуйня получается. Как раз наблюдаю один такой проект - сплошная лапша нечитаемая.
Аноним 29/03/17 Срд 21:43:39  963298
Где перекат епта?
Аноним 29/03/17 Срд 21:46:45  963301
>>963298
ща, обожди
Аноним 29/03/17 Срд 21:48:59  963302
>>963298
Мы мертвы.
Аноним 29/03/17 Срд 21:53:18  963307
перекат

https://2ch.hk/pr/res/963306.html
https://2ch.hk/pr/res/963306.html
https://2ch.hk/pr/res/963306.html
https://2ch.hk/pr/res/963306.html
https://2ch.hk/pr/res/963306.html
Аноним 29/03/17 Срд 21:59:52  963309
>>963067
Может и можно, но ведь я не полезу за тебя в гугл, малыш.
Аноним 29/03/17 Срд 22:02:30  963312
>>963099
>превьюшки документов
А при чем тут pdf?
Аноним 30/03/17 Чтв 00:20:49  963358
Пацаны, поясните за Maven, что это и для чего?
Аноним 30/03/17 Чтв 00:28:19  963360
>>963358
Хуйня для даунов.
Аноним 30/03/17 Чтв 01:39:31  963396
>>963360
>kykareky
Ок, а по сути что-нибудь можно сказать?
Аноним 30/03/17 Чтв 01:42:52  963397
>>960458
Там только ридеров райтеров несколько штук разных, с разницей в том, что одни исключения бросают, а другие нулл.
Аноним 30/03/17 Чтв 01:45:42  963399
>>960775
>невменяемое говно из жавовских опенсорсных быдлиотек, сдобренное говнокодом студентов под управлением виабушных акхикектогов.
Люто, бешено двачую, на неделю меня хватило, но не более. В жаву больше ни ногой.По крайней мере бесплатно..
Аноним 30/03/17 Чтв 09:19:25  963453
>>963397
Нихуя не понял, можешь нормальным языком писать, а не джава сеньеором.
Аноним 30/03/17 Чтв 10:48:48  963494
>>963453
Дебил не осилил понятие декораторов.

И не догадывается, что в его динамикодрисне они тоже есть, только могут называться аляповато и бессистемно, а для ридеров/райтеров в utf8, скажем, выпускают даже несовместимые версии языка/vm.
Аноним 30/03/17 Чтв 21:00:57  963842
14786767847110.jpg (404Кб, 1600x904)
Пагни, по хардкору, что нельзя сделать на Питоне или ЖСкрипт, то что можно сделать на Джаве??? Чем он отличается и чем он особо хорош. Объясните пожалуйта буд-то вы объясняете своему инвестору, которые выделяет деньги одному из трёх стартапов, 1 - Джава, 2 - Питон, 3 - ЖаваСкрипт.
Аноним 30/03/17 Чтв 21:03:20  963845
>>963842
Что угодно можно сделать на чем угодно. Вопрос в стоимости, времени на разработку, сложности дальнейшей поддержки.
Аноним 30/03/17 Чтв 21:17:14  963858
>>963845
Ок. Тогда почему джава популярнее остальных языков, он что, дешевле? Быстрее? -Нет. Так почему тогда.
Аноним 30/03/17 Чтв 21:20:06  963861
>>963858
Популярнее JavaScript и PHP из-за низкого порога вхождения.
Аноним 30/03/17 Чтв 22:32:25  963912
>>963861
>из-за низкого порога вхождения.
Что это значит? Легкий язык?
Аноним 30/03/17 Чтв 23:22:10  963930
.JPG (45Кб, 927x647)
Котаны, нужен ваш совет. До недавних пор писал исключительно бекэнд, а тут внезапно потребовалось педалить ещё и фронт. Какую книгу/цикл статей можете посоветовать, чтобы в сжатые сроки уложить в голове кашу из жс, ангуляра и рактива? Сейчас каждый фикс превращается в жопную боль на весь день, потому что нет понимания, что и как там работает.
Аноним 30/03/17 Чтв 23:24:00  963933
>>963930
Я, кстати, тредом промахнулся, но может это и к лучшем, наверняка тут ещё такие есть.
Аноним 31/03/17 Птн 19:18:52  964426
1478637692854.png (361Кб, 745x690)
>>963858
Отвечайте же!
Аноним 31/03/17 Птн 19:28:16  964437
>>964426
Ответил тебе за щеку.
Аноним 31/03/17 Птн 19:38:01  964443
>>963845
За слова отвечаешь?
Аноним 31/03/17 Птн 19:51:56  964448
>>964443
Отвечаю тебе за щеку.
Аноним 01/04/17 Суб 02:51:28  964625
14778424061760.jpg (54Кб, 700x466)
>>964448
>>964437
Porvanka, smeni plastinu.
Аноним 01/04/17 Суб 18:40:19  964944
>>964625
Сменил тебе за щеку.
Аноним 01/04/17 Суб 20:06:31  965011
14815559708881.jpg (33Кб, 600x406)
>>964944
Накатил тебе за шеку дауну, дауну.
Аноним 02/04/17 Вск 21:30:17  965648
Аноны,помогите студенту. У нас есть две сущности,Студент и Книга. Книги можно давать почитать другому студенту. Для этого надо использовать три таблицы
Таблица Книга(id,title)
Таблица Студент(id, name)
и таблица отношений книга+студент(внешний ключ на айди книги,внешний ключ на айди студента-владельца книги,айди текущего читателя)
Как это сделать? Пишу на java,так что и пишу тут
Аноним 02/04/17 Вск 21:31:28  965649
>>965648
upd
в качетсве бд использую h2
Аноним 03/04/17 Пнд 18:36:48  966113
>>965648
Берешь и делаешь. Что тебе не понятно?
Гугли jdbc, если совсем нулевый, и в путь-дорогу
Аноним 09/04/17 Вск 21:55:23  970526
Здарова чайники, нужна ваша помощь. Вкатывают в кложур, нужна ваша помощь, есть у меня файл project-stadalone.jar, как мне теперь его распростронять вреди пользователей? Не будут же они его через консоль запускать в виде
java -jar target/uberjar/project-standalone.jar лол. Скажет JRE установлен на пеке, что дальше делать с этим jar архивом?
Аноним 20/04/17 Чтв 16:04:51  976911
>>970526
>
дабалкликни по джарнику ёмаё
Аноним 20/04/17 Чтв 18:13:36  976976
>>976911
Спасибо, о великий некромант :) Я то и сам понял, только нихуя не происходило. Была ошибка одна, но гордый жава-машин стеснялся об этом сообщить, уже пофиксил.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 554 | 31 | 122
Назад Вверх Каталог Обновить

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