FAQ:Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ?A:Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.Q: Значит, я должен буду всю жизнь сидеть в опенспейсе, конвертируя XML в эксепшны? Ура, мне подходит! С чего начать?A: Туториалы:BEGINNER: http://myflex.org/books/java4kids/java4kids.htmMEDIUM: http://www.tutorialspoint.com/java_technology_tutorials.htmHARD: 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/dailyprogrammerQ: Я выучил кор, достаточно ли этого, чтоб взяли на работу?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То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на JavaQ: Я готов к первому собеседованию.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/ : androidhttps://google.github.io/styleguide/javaguide.html : google java stylehttp://blog.jooq.org/ : Java, SQL, and jOOQhttp://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
Кто что использует для веб-проектов?
>>959040Heliantus Annum.
почему жава тормозит?
>>959071Жава была специально создана, чтобы отмывать банковские деньги в IT. Нужно было чем-то обосновывать миллиардные траты на железо и инфраструктуру. Т.к. железо становилось все быстрее и быстрее, то потребовалось создать максимально уебанский язык программирования, чтобы никакой прогресс в железе не мог преодолеть его подводные камни.
>>959040бамп темой (а то масонские заговоры уже пошли)>Кто что использует для веб-проектов?
>>959040> Кто что использует для веб-проектов?GOO
>>959085MiniMagAsmhttps://asm32.info/index.cgi?page=content/0_MiniMagAsm/index.txt#Hmain
>>959096Смотрел я на этот ГО, 100500 каких-то велосипедов, ничего толком нет путевого (я ожидал что-то типа джанги там, а там огрызки).Такой же пустой хайп как и руби, только бюджет побольше.И так вернемся к проверенным инструментам:>Кто что использует для веб-проектов?
>>959040Scala
>>959040HTML
>>959130Play или Lift? или же Spring?
>>959164Play, Akka HTTP
>>959130а на скале какие либы?
как сделать конектор, для подключения к БД? саму базу поднял, а, вот, как связать её с java классом?
>>959189http://g.zeos.in/?q=JDBC%20example
>>959205я потому и обратился, что там не обнаружил ответа ну, или же, в силу своего тупизма его не понял
>>959219Напиши в гугле "подключение mysql java" и все, достаточно скопировать некоторые параметры и подставить свои логин пароль
>>959189import java.sql.*;Connection connection = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
>>959244dbUrl = "jdbc:mysql://localhost:3306/%tablename%"
>>959246да, я это понимаю проблема в том, какой именно проект выбрать?для idea нашел, там все подробно рассказано а для netbeans'a написано только: "выберите "приложение Java""
>>959254Нахуй тебе какие-то проекты? Берешь гредл (или мавен) и хуячишь что тебе надо.
>>957815Слушай, я немного запутался окончательно с этими контроллерами. В общем, суть приложения такая - при запуске приложения делается проверка в базе, если ничего нет,то делается запрос к api и добавляет в базу Photo с ссылкой на фотку и солом (день марсианский).В общем, я пытаюсь как-то связать PhotoController с вызовом приложением, чтобы только один метод addPhoto вызывался. В нем бы делалась проверка на наличие чего-то в базе и потом новая фотка заносилась в базу.Я понял что это делается через Rest, но как его связать с контроллером.Извини, что заебываю, но ты единственный, кто помогает с этим гавном разобратьсяhttps://github.com/Kabowyad/Test-Project/tree/api-test/src/main
>>959011 (OP)> A:Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.То-то большинство тестовых заданий как-будто слизано с JavaRush. 30+ лвл, ни разу не пожалел насчёт вложения. Тот кто это писал явно не захаживал дальше десятого уровня.
>>959011 (OP)Котаны, читаю Уоллса (Spring in action), как-раз дошёл до определения связывания обектов и охуел: Spring нужен для того, что бы мы могли программировать XML, когда программируем на Java? Аннотации отдельный разговор, если разрабы Spring забухают, то код с аннотациями соснёт при перекате на другой фреймворк.
>>959286Так и есть. Сам когда-то проходил ради интереса, первые задания - пиздец на перепечатывания кода, но ведь они рассчитаны на совсем зелёных новичков, дальше идут вполне себе нормальные. Хотя я всё равно дропнул уровне так на 15, мне показалось слишком медленно, по книгам быстрее.
>>959313Тот факт, что в этой же книге тебе прямо капсом написали "Component Scan > Java Config > Xml" тебя вообще не смутил?А вообще мне xml нравится. Очень удобно, централизовано. Если нет в проекте мудака, который не умеет импорты делать, то я выберу xml/groovy конфиг, а не скан.
Анон, что скажешь про курс "Beginner to Programmer: The Complete Java Developer Course" за авторством Tim'a Buchalka? Есть смысл на него время тратить или строго по шапке треда учиться? Сам могу только на паскале калькулятор написать.Курс мне подарили. Дарёному коню в зубы не смотрят.
>>959324Я бы на туторилах учился. Ну или начал с С, если хочешь хард вей. Книжки по яве - почти всегда вода.
>>959326>книжки по явеМне кажется, что бы закрепить основы самое то. Но боюсь, что этот курс окажется той же книжкой только в браузере.А почему все советуют начинать с С, если Ява это тот же С, только в прокаченный поправь, если не прав, по С качественнее туторы?
>>959334>Мне кажется, что бы закрепить основы самое то. Смотря что ты считаешь основами. >А почему все советуют начинать с С, если Ява это тот же С, только в прокаченныйЯва с си имеет общего в основном синтаксис. Это никак не прокачанный си, слишком разные задачи.Но если ты немного поучишь си, то у тебя не будет в будущем всяких глупых вопросов вроде "почему new String("хуй") == new String("хуй") - false". Ключевое слово - немного.
На джаве не пишут веб?>Кто что использует для веб-проектов?
>>959313>то код с аннотациями соснёт при перекате на другой фреймворк. Нет, если они бухают с другими разрабами фреймворков которые поддерживают те же аннотации (как и xml теги).А вообще xml - самое бестолковый и переусложненный вид настроек. Впрочем как и все в джаве. Кроме стандартной либы.Там же как у макак - чем мудренней и запутаней - тем солиднее и пускай КПД к жопе сводится.Джава жива только лишь из-за мобильников.
>>959346Всмысле "только из-за" мобильников? Почему тогда все предприятия крупные джаву используют? Да, во многом не удобно, да, приходится писать свои библиотеки под свои нужды. Н почему тогда другие языки почти не используют в крупных предприятиях, если джава так плоха?
>>959344Spring MVC.
>>959346>А вообще xml - самое бестолковый и переусложненный вид настроек.Хуле там переусложненного-то? имя бина и его класс? Охуеть сложность.
>>959323> "Component Scan > Java Config > Xml"А суровая реальность строго наоборот. А когда дело доходит до неймспейсов так вообще.
>>959011 (OP)>Q: Хули все книги на английском?>A: Без английского ты не нужен и можешь смело идти нахуй.А хули тут все аноны на русском общаются? Шапка треда на русском, да весь /pr на русском. Неужто никто не может в английский?
>>959358Ничего не знаю. Я уже года два проектов, где основная конфигурация на xml, не видел.Ну мы маршруты для кемла пишем в xml, потому что ява дсл - дерьмо.
>>959349Потенциал языка измеряется в том, сколько новых проектов на нем создается.А легаси код ничего не решает (вон кобол до 2006 года был в топе по количеству написанного кода, но в 2006 ты о нем и не слышал, так же с джавой, ее спасли только мобильники)
>>959355Сравни какой-нибудь TOML с XML (какие портянки там получаются)
Scala или Kotlin? На какой стул сядешь ?
>>959185https://github.com/lauris/awesome-scala/blob/master/README.md
>>959359Много кто может в английский. Только твоя логика тут непонятна. Зачем им общаться на английском на русской борде? Вся нормальная литература, материал в интернете, сообщество -- преимущественно на английском. Соответственно, если ты не можешь в английский, то очень многое теряешь.
>>959374Возьму скалу дроченную срублю котлин точенный.
>>959374Для реальной разработки - Kotlin. Для себя - Haskell.
>>959380Ну-ка, забацай что-нибудь на английском, пёс.
>>959394го ту факин хорсес, битч
>>959394БОЛЬШИЕ ДЯДИ В ПОДКАСТЕ СКАЗАЛИ ЧТО АНГЛ НАШЕ ВСЕ@ПОКЛОНЯЕШЬСЯ ЭТОЙ ИДЕИ@СИДИШЬ ВМЕСТЕ С ТЕМИ ДЯДЯМИ В ГУГЛ-ТРАНСЛЕЙТ
Вот написал REST сервис на Jetty+Jersey:http://pastebin.com/e2ZgGf5zhttp://pastebin.com/BNA6sdXyhttp://pastebin.com/1HHgSsbBНе могу понять, как мне туда добавить статическое содержимое (HTML/CSS/JS)?Допустим, в src\main\resources\web лежит страница info.html, в JAR-файле она будет в web\info.html.И как ее показать?
>>959011 (OP)> На джаве фриланса нет.C R O S S O V E RROSSOVER
>>959403Возьми го, не мучайся с этой жопой
>>959411Некроссплатформенная параша без женериков не нужна.
>>959412>без женериковДжавамакаки в жизни не юзали нормальных дженериков. Этот сблев, который в джаве, хуже говна.мимокджавист
>>959412>Некроссплатформенная Враки.>без женериковЭто единственное что тебя останавливает, чтобы страдать в джаве?На джаве простой веб не пишут (ты даже для ембеддед сервера взял сервлеты - насколько там надо мозги на Java EE свернуть)?Ну натянешь потом еще спринг и хибернейт и не влезет это говно в твою vps
>>959414>чтобы страдать в джаве?Я серьезно, хотя джава огромна, но шаг в сторону и ты с продуктом один на один.Либо как все юзай war - либо забудь про ембеддед, максимум лабы найдешь как пример.Бесит го - возьми питон (джангу). Еще спасибо скажешь
>>959403Ладно, я тебя достаточно помучил, но все таки открой для себя гуглhttp://stackoverflow.com/questions/10284584/serving-static-files-w-embedded-jetty>>959403
>>959415Ты ебанутый? Нет правда ты кроме хеловорда хоть что то писал на явке
>>959410Ну и много ты там заработал?
>>959432Он и на го ничего кроме хеллоуворлда не написал.
Поясните за скул, нахуя его учить, если сейчас почти все юзают orm? Или я не прав?
>>959604Для какой-то сложной хуйни всё равно придётся строкой писать. ORM это костыль, а полноценного и универсального DSL ещё не сделали.
>>959604У нас, например, используется solr, эта хуйня для индексации данных требует sql-запросы. Для каких-то простых действий удобнее написать простенький запрос на sql или jpql. Возможно где-то вы захотите использовать фишки вашей конкретной бд. Да мало ли чего может случиться.
>>959604я щитаю так - решить 50 задачек на sql-ex.ru - и тебе хватит этого на 95% на работе.Для всего остального будут искать именно специалиста SQL узкого профиля, а тебе оно надо?
>>959604А как ты собрался орм квери писать, если ты даже sql не осилил?
>>959432>>959451Это вы ебанутые, топите за джаву, так парню бы на вопрос ответили. Нет же, задницами попалыхали тут, тролля порадовали.
Сап, пацаны. Решил ебашить рест-сервис на спринге. Но вот как теперь это всё тестить. Заебашил метод, который принимает дтошку @RequestBody, но как запрос теперь сделать с этой дтошкой? Просто сделать json со структурой как моя дтошка? И как вообще потом через ангуляр запросы делать? Тоже что ли джсон отправлять?
>>959731Тестирование - это для пидоров.
>>959713Двачую.мимо_гугл_кун_сша
Поясните разницу между Java и JavaScript? Что лучше учить, или Python? мимо_с++_джуниор
>>959750Scala
>>959750У тебя устаревшая картинка. И Java и JavaScript скоро канут в лету. Учи либо Lisp, либо Haskell, за ними будущее.
>>959751
>>959608lukas.jpg
>>959745Бля. Ну ты понял меня. Я не про ТЕСТИРОВАНИЕ. Я про отправление запросов
>>959753
>>959758Ну json, конечно. Настрой для этого какой-нибудь gson или jackson.Вообще, нахуя тебе Spring для rest? Взял бы православный Jersey, я бы тебя тогда даже пидором называть бы не стал.
>>959759
>>959414>Враки.Ставишь анус, что любой пакет на ГОвне соберется на винде без pkg-config?>Это единственное что тебя останавливает, чтобы страдать в джаве?Уебывай в свой тред, Илюша. Здесь обсуждается Java, а не ГОвно.
>>959762Алло, спринг за тебя уже все настроил. Только шли структуры верные и все. А для именно тестов у спринг мвц есть класс MockMvc.
>>959752>Lisp>за ними будущееКак там в 1958 году?
>>959779Я бы назвал главной проблемой го - молодость. Нормальной иде нет, бестпрактис не выработаны, с тулчейном тоже еще не разобрались. Т.е. все проблемы не в языке, а в экосистеме. В языке лично мне только эксепшнов не хватает.
>>959783Я тебя умоляю, это же платина уровня "программирование - не твое, попробуй яваскрипт".
>>959783В том то и дело, что лисп до сих пор живее всех живых. Сколько прикладных языков типа дельфи и фортрана, перла и кобола уже умерло, а лисп здравствует.
>>959416Ты сам-то пробовал эти примеры? Ни ResourceHandler, ни DefaultHandler не могут выдавать статику из JAR-файла. Внешние файлы из файловой системы выдать могут, а вот из JAR-ника - нет.
>>959779Если дергать какой-нибудь винапи то ты обосрешься со всем. Не загоняй в абсолют, глупое ты дитя с приступами юношеского максимализма, даже джава нихера не 100% кроссплатформенная.Что джава что го - два куска неповоротливого говна, только для первого раньше были тулзовины типа IDEA, то сейчас и го оброс IDEA - кодить на нем стало в разы приятней, чем на жабе
>>959789Так-то и фортран, и кобол, и делфи живее всех живых. То что ты не используешь их - еще ничего не значит.
>>959791Господи, да возьми ты Spring Boot и не еби мозги ни себе, ни людям. А хочешь копаться в конфигах - учись гуглить.
>>959791Что тут у нас? Кто-то пытается в нагруженном веб-приложении статику из JAR показывать - ты совсем долбаеб?Бля даже индусы знают, что контейнер распаковывает war-ники, откуда такие эксперты тут
>>959795А еще сервер приложений установи... В том и цель, чтобы все быстро работало, не требовало деплоя и было минимум зависимостей. Никакого Spring и EJB, разумеется.В очередной раз убеждаюсь, что здесь сидят одни макаки, которые умеют только бездумно копипастить со StackOverflow. Без понимания принципов работы.
>>959796Ты не знаешь, что такое Embedded Jetty?
>>959796Даже индусы знают, что статику надо раздавать nginx'ом. Но это никак не мешает существованию WebJars.org. Иди выебывайся в другой тред.
>>959800Spring Boot как раз и стартует на ембеддед сервере. И сделан именно для хуяк-хуяк - рест. Особенно в пачке с spring data и spring data rest.
>>959795Весна сплошная магия на магии. Все хорошо если у тебя CRUD, но как только нужно что-то по-серьезней и вне рамках фантазий разрабов - твоя жизнь превращается в ад.Бывает так - что на решение задачи тратишь больше, чем ты бы мог сам написать это руками. Тру-сториВозьми го - и сам слепи из "кусков" независимых. Ладно еще в питонах, пхп или жс понимают как строить современный веб, но в джаве же одни корпаративные индусы и них эволюция пошла по другому пути.
>>959802Какое грозное кукарекание, в переводе на человеческий язык означающее "Я тупой мудак и быдлокодер и не знаю ни хуя".
>>959802Лол, жаба такой костыль, что индусы тянут nginx и сюда.В чем профит разработки на жабе? Пострадать и взять nginx?Пхпэшники обладируют стоя
>>959804Если для тебя спринг - это магия, то ты очень мало о нем знаешь. Спринг простой как двери. Ядро спринга - очень легкое и удобное. Спринг дата построен на одном абстрактном классе и простом квери генераторе. Спринг мвц вообще весь на диспетчер сервлете и трех адаптерах висит. Но ты и это не осилил, тебе и di фреймворк - магия.
>>959804RESTful веб-сервис + front end к нему это нечто нестандартное?У меня уже есть готовое решение, написанное исключительно на сервлетах/JSP и работающее под Томкатом.Хочу просто улучшить его.
>>959805А я вижу яркий подрыв пукана.
>>959811Вот я тебе и говорю: спринг мвц либо сразу бут. Это очень удобно, тебе понравится. Посмотри туторилы прямо на офф сайте, там есть один с именем прямо из твоего вопроса.
>>959809>Спринг простой как двери, Спринг мвц вообще весь на диспетчер сервлете и трех адаптерах висит>Ставишь брэкпоинт в контроллере и видишь стектрейс из ~50-70 вызовов."Индусские простые двери". Не братишь, спринг еще и тормозит звездецhttps://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintextНахуй заберай эту парашницу, которая хеллоу-ворд почти как скриптовые языки отдает
>>959816А знаешь что скажет типичный Ванька-индус? Он скажет "и че, время программиста дороже железа" и будет прав. Джава крутится в таких "менфреймах" что там срали на производительность.Джава != производительность. Просто почему ынтерпрайз не берет скажем пхп или питон - из-за косяков многопоточности и все. А так по железо их бы устраивало.
>>959759Что означает этот индус, в чем мулька этой картинки?
>>959818Ну как. Все смешные стереотипы о яве времен нулевых в одной картинке. Я каждый раз смеюсь.
>>959816Все соснули у https://tumblr.github.io/colossus/
>>959813На хабре пишут, что спринг тяжеловесный, приложения долго стартуют, куча зависимостей. И лучше Embedded Jetty.У меня приложение нечто вроде онлайн-игры, требуется:- высокая нагрузка (обновление страницы хотя бы 25 раз в секунду, для нескольких тысяч пользователей);- быстрая NoSQL база (здесь еще не сделал выбор);- использование ANTLR (пользователь пишет код на особом языке, который используется для управления объектами);- на front end используется canvas (пока в 2D), с большой картой, переход на которой должен быть без задержек.
>>959822Добавь спринг кор в проект и сделай mvn dependency:tree. Долгий старт - следствие компонент скана по куче jar файлов и проксирования бинов, но если не использовать их - платить будет не за что. Сложное положение на чистых сервлетах ты не напишешь в любом случае - это позапрошлый век. А хочешь микросервисный шлак для тысяч запросов - и правда посмотри в сторону го или реактивного спринга, там должно быть лучше это все, но он в бете только
>>959822vert.x
>>959615>solr>требует sql-запросы>требуетoh you
>>959818Это суть джявы.
>>959826можешь посоветовать литературу по спрингу?
>>959835Документация > туторилы > Spring in Action.
>>959837>Spring in Action.Двачую. С другой стороны спринг НИНУЖОН.
Посоны, проблема следующая.Поднят Wildfly 10. Реализовано небольшое приложение. Имеется Stateless бин с инжектированным EntityManager. Когда выполняю select запросы - все работает нормально.Как только пытаюсь выполнить persist паадет исключениеTransactionRequiredException WFLYJPA0060 Transaction is required to perform this operationБин отмечен одной лишь аннотацией - Stateless. Судя по докам этого должно быть достаточно, т.к. по умолчанию включается CMT режим управления транзакциями.Однако эта блядь все равно не создает новых транзакций!БД - MySQL.Wildfly запущен в standalone режиме.Если нужна еще какая инфа - спрашивайте, предоставлю. Гугл подсказывает только то что транзакции должны работать нормально - и никто с похожей проблемой не сталкивался
>>959864Ну может @Transactional
>>959876Не помогает.Сейчас расковырял свой же код - в методе бина перед собственно персистом выполняется чтение из базы (через find у энтити менеджера), что в теории может приводить к закрытию транзакции, хотя это полный бред.
>>959877Смотри стек исключенияОтталкиваясь от стека начни ставить брэкпоинты.Изучай (страдай, джава же, там будет туча абстракций)Какой типа таблицы?
Ребят, тыкните носом, что нужно знать. Задача такая: есть CSV фаил, с большим кол-вом данных. Нужно его отсортировать по третьему ряду, однако при этом сказано, что наш компьютер не обладает достаточным кол-вом оперативной памяти, из этого следует, что мы не можем просто вывести всю инфу в массив и отсортировать там. А должны делать это прямо в этом CSV фаиле. Какие мысли? У меня проблема именно с реализацией всего этого без использования массива, в котором можно было бы все это реализовать. Есть мысли о создании нового CSV фаила, и добавлять туда по одной строке с минимальный значением в 3 ряду за один проход по исходному, и т.д пока не будет выведены все. Но это выглядит очень затратно и глупо. Какие, более оптимальные варианты существуют?
>>959883Да, нужно было по внимательнее свой код поковырять.Тот самый find и падал с исключением.Самое интересное что исключение правильно обрабатывается и пишется в лог. Проблема в том что wildfly не написал в лог это исключение, поэтому я его и не замечал
>>959921Вон из профессии.
>>959947конструктив?
>>959946Разобрался с логированием. Не правильно передавал аргументы в метод логгера error() - там первым аргументом идет Message а не Throwable - в итоге запись не было видно.Блять все из-за таких мелочей, а столько гемороя что я уже в реальности сомневаться стал
>>959956Конструктив: даже школьник додумается сделать merge sort.
>>959963сразу после своего поста, пришла эта идея, я не так уж безнадежен. Спасибо за совет)
>>959964Иди нахуй.
>>959982хуево быть дегенератом, да?
>>959991Тебе видней по очевидным причинам
Привет, джаваны. Пришлось мне тут столкнуться с JSON ответами и вот вопрос: какую либу использовать? Какую использовать моветон, а какая считается классикой? На сайте json хуева гора библ, но какую взять - хз. Ткните носом. Спасибо
>>959996алсо, смотрю в сторону json-simple
>>959995очевидно тут только то, что ты омежка-обиженка-битард, лол
>>959998>КУДАХ БАБАХ КУАРЕКУЯсно.
>>959996Иди нахуй.
>>960003>>960002>>959998>>959991>>959982Введите модерацию в тематике, уберите кричащих инвалидов
>>960013>ВведитеНагибайся :3
>>959996Джексон используй.
>>959403Разобрался, вот так все работает:http://pastebin.com/6HeTsQRRDefaultServlet выдает статику, Jersey - REST.У Spring, как я понимаю, вот этот компонент дает аналогичные возможности:https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jettyНо там какие-то свои аннотации вместо JAX-RS. Неудобно.
>>959996gson или jacksonСм. также обзор JSON парсеров от люксофта: https://habrahabr.ru/company/luxoft/blog/280782/
>>960032>люксофт> https://habrahabrФеерический дегенерат.
>>960034Это корпоративный блог, наркоман. На хабре у всех такие есть.
джаваджедаи, подскажите пожалуйста.я вот запилил по гайду 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) что-то менять или как?подскажите плез
>>960039А проверить что уже работает ты не догадался, чудило?Должно работать с тем конфигом без изменений, ибо>.anyRequest().authenticated()пропускает любой запрос от аутентифицированного юзера (в /admin/ не пропустит - там другое правило не даст).
>>960046ружище я проверил. все именно так кк ты говоришь, когда заходишь под другим пользователем выкидывает ошибку. так и должно быть, но как мне показать например /reguser/home, если я авторизируюсь под REG_USER? вот в чем проблема немножко не понимаю в какю сторону копать. Т.е. если под админом логинюсь. он мне показывает /admin/home, а если под reguser то /reguser/home
>>960032спасибо, Анон
>>959011 (OP)Здраститя. Мне требуется распечатать элементы стека, какой вариант православнее/быстрее? while(stack.peek()!=null) System.out.print(stack.pop()+" ");илиfor(Iterator it = stack.iterator();it.hasNext();) { System.out.println(it.next()); }????
>>960114>stackDeque<Integer> stack = new ArrayDeque<Integer>();Если что.
>>960114for(Iterator it = stack.descendingIterator(); it.hasNext();)слоуфикс
>>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 7371 61 53 43 37 29 19 13 7 3 271 61 53 43 37 29 19 13 7 3 0Выходит лучше поп юзать?
>>960125Хотя хз, теперь одинаково по 1. Нет разницы?
>>960114Если уж разоряешь стэк и пытаешься байтоёбить, то зачем тебе лишняя проверка? Integer it = null; while((it = stack.poll()) != null) { System.out.println(it); }
>>960129for(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мс. Там такой прирост большой получается? Ну да, не нужна,не подумал, я только учусь .
>>960135>такой прирост большой получается?Да т.к. в итераторе на 3 проверки больше (hasNext, на позицию курсора и на защиту от параллельной модификации)
>>960139Круто, не знал. То есть если тебе не важно состояние стека, ну типа дальше нигде он не используется и служит как вспомогательная хуета внутри метода, то всегда лучше использовать цикл+полл?
>>960141Так-то прирост не маленький, for(int i=0;i<1000000;++i) сделал, получилось7816213(походу как раз и з-за убирания лишней проверки ускорилось), в 6к раз быстрее что ли, лол.
>>960145>проверки ускорилосьА, там тоже 13, думал больше было.
>>960141Сложный вопрос. На твои замеры очень сильно влияет System.out.print. Если заменишь на какое-нибудь банальное действие вроде присваивания, разница не будет такой уж сильной.
>>960150> System.out.print. Если заменишь на какое-нибудь банальное действие Заменил на пустоту, выдало1694
>>960151Ну вайл я как у тебя сделал, а не как былоfor...{...while((it = stack.poll()) != null){//System.out.print(it+" ");}}4мс
>>960152А с итератором 169
>>960153Что-то у тебя цифры какие-то жуткие. У меня для пустоты разница не больше миллисекунды
>>960153for(int i=0;i<1000000;++i){ for (Integer it : stack) { //System.out.print(it + " "); }}169мсНу в общем-то так и казалось, просто не думал, что настолько разница дикая. Зато теперь знать буду, что с итераторами аккуратно надо, может сильно замедлить работу.
>>960156long 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);Может что-то не так делаю?
>>960156Ну и у меня внутри стека 1000 элементов ещё мб. На мелких значениях разницы не видно, да.>>960125Тут было 2 0, а когда 1 1 и тд
>>960159Тто есть если я правильно понимаю, ибо нубас тот ещё, что в случае с итератором у нас за O(N) обращение к элементу идёт, а с полл за O(1) ну или типа того.
>>960159А как ты замеряешь время для poll ? Ты 1000000 делаешь push и вычитаешь разницу?
>>960164startTime = 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);
>>960165ЛоЛ, блядь, у меня ошибка там. После первой итерации там тупо пустой стек, надо вот тут вместо it = stack.poll() it = tmp.poll(), а я и ждумаю какогто хуя такие значение получаются.
>>960166Анон, ну я хз, всё ранво вот такой результтат1483Вот то, что внутри стека лежит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
>>960169public 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); }1483Короче я хз.
>>960170Так у тебя по-прежнему пустой стек после первой итерации.
>>960170>Deque<Integer> tmp = stack;Ты просто ссылку передал и опустошил же свой stackТогда ужtmp = new ArrayDeque<Integer>(stack)Только время конструктора надо вычесть
>>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+" "); } }121155Да, всё ок. Видимо разницы нет принципиальной, лучше использовать итератор?
>>960172> время конструктора надо вычестьНу хотя как нет, 13166Или я опять не так что-то сделал? Сколько у етбя? И как ты поступаешь обычно? Итератор всегда и мозги не ебать?
>>960175С итератором код чище, поэтому юзай его.
>>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+" "); //} }Блин, но если ещё по два нуля добавить, то видно, что львиную долю конструктор занимает.61814022>>960179Да ок, по таким же соображениям и юзал их всегда в общем, просто что-то запарился, хз.
>>960114[code lang="scala"]val deque = new java.util.ArrayDeque[Int](100)(1 to 100).foreach(deque.add)deque.forEach(println)[/code]
>>960180Да, по другому сделал без циклов и тд, тупо большой массив подаю, разница 0-1 мс. Корчое итераторы форева. Спасибо.
>>960182
>>960189Лол.
>>960189И читается в сто раз лучше. public static void main(String[] args) { ArrayDeque<Integer> stack = test(); stack.forEach((n)->System.out.print(n +" ")); }Анон, а можно как-то покрасивше записать последний форич?
>>960197Ну типа как тутstack.forEach(System.out::println);, только чтобы через пробел было.
>>960197>И читается в сто раз лучше.В каком месте?
>>960201По сравнению с этим.>>960170
>>960201Ну с вайлами, поллами и прочим типа. И скорость такая же, и коротко записать модно и вообще . Итераторы тема короче.
>>960197Ну, лямбду красивше не сделаешь. Может так?stack.stream().map(x -> x + " ").forEach(System.out::print);
>>960202>>960204А, ну так-то ясен хуй.
>>960206Не, это оверинжениринг уже какой-то. Красивее не в смысле чтобы побольше всего крутого было, а в смысле чтобы проще записывалось и тд, не так выразился короче. Ну я думал мало ли в явеможно как-то вроде этого, а я не в курсе простоstack.forEach(System.out::print, delimiter=" ");или SyntaxSugarPackage.map(stack,String).join(" ")
>>960206>stack.stream().map(x -> x + " ").forEach(System.out::print);>.map(stack,String).join(" ")А, ну лол, это ноо и есть возхможно, невнимательно глядел.
Возвращаюсь сюда, поковыряв целую кучу вопрос на стэке про json и жабу. Вот распарсить простецкий json оказалось легче простого - но только если там один массив. А мне нужно распарсить json с 4 или 5 вложенными массивами. Получается распарсить только один - тот, в который все вложены. Пиздец какой-то
>>960211А, не. Проще уже не будет. Если идти через Collectors.joining(" "), он тут же сиранёт, что у тебя инты, а не строки и придётся в любом случае map для каста вызывать.Если идти через reduce, то будет неэффективная срака навроде reduce("", (x,y) -> x + " " + y, String::concat)А ещё в итоге у тебя и там и там будет String, который придётся отдельно обернуть Arrays.stream(String::toCharArray) чтобы вызвать forEach(System.out::print). Нет пути
>>960221>Нет путиНу и ок, не очень то и хотелось, так вполне ок.
>>960216https://scalafiddle.io/sf/cCd6cBa/0
>>960225смотри, вот мой json http://pastebin.com/rPKQUp6T И вот всё, что у меня получилось, это дернуть содержимое ключа "def" и пары его ключей до начала вложенного массива. Как выдернуть, например, из массива ключи tr и другие???
>>960229https://scalafiddle.io/sf/cCd6cBa/1
>>960249выглядит вроде как надо. а чистая Java как?
>>960264Как земля.
>>960264А в джяве изволь пердолиться с аннотациями и рефлекцией.
>>96004830 секунд в гугле http://stackoverflow.com/questions/31524426/securityconfig-2-success-url-for-different-roles
Анон, есть вопрос JSR 303 (Bean Validation) и DTO. Предположим делаем мы некую UI форму на неком клиентском приложении. У исходной сущности присутствуют constraint аннотации на полях по указанному выше JSR 303. Bean Validation построен так, что его можно юзать как на сервер так и на клиенте. Все здорово.НО. Есть такая практика как формирование DTO и отправка их клиентскому приложению, дабы серверные сущности не покидали пределов сервера. Это также предотвращает падение многочисленных LazyInitializationException когда detached сущность уходит из транзакционного контекста. Однако в этом случае не удастся использовать Bean Validation на клиенте, поскольку тот уже оперирует не сущностями а DTO и в итоге нужно повторять код валидации на клиенте, либо по необходимости конвертить DTO в сущность и прогонять через валидаторы.Так как быть? Повсеместно использовать DTO на клиенте, писать дублирующийся код валидации или же допускать обработку серверных сущностей на клиенте дабы работала валидация но при этом потенциально ловить Lazy исключения?В качестве примера могу привести проект над которым работаю в одной конторе. Там серверные сущности уходят десктопному приложению и Lazy сыпятся как из рога изобилия, не в последнюю очередь из-за криворукости тех кто работает над проектом, но все же.Я же склоняюсь к комбинированному варианту - когда для различных форм редактирования использовать полноценные серверные сущности, при этом грамотно подходить к проектированию, а для различных браузеров и списков шде серверной сущности будет многовато юзать DTO.Что скажешь, анон?
>>960337В поддержку варианта с использованием серверных сущностей на формах редактирования говорит и тот факт что если юзать DTO то его структура в целом повоторит структуру серверной сущности и его кодирование будет более трудозатратным нежели использование серверной сущности (просто получается копируешь код серверной сущности в DTO)Тот же Vaadin для форм редактирование предлагает удобные биндеры которые умеют работать с JSR 303.
Поступила инфа, что Шарп более не моден, и банки перекатываются на Angular и прочее. А Джава вечна. Стоит перекатываться на Джаву, по вашему?
>>960369Как связан шарп и ангуляр ? Ты сравниваешь фронт и бэк?
>>960386Шарп вроде тоже юзают для написания веб приложений (ASP.NET).К тому же автор того поста сравнивал шарп (по всей видимости с ASP.NET) с Java и Angular, т.е. бэкенд и фронтенд жавы и шарпа
>>960369Джава стухла еще во время празднования шарпа.В тренде сейчас - го
Пздц, тяжелый язык :С Заебался учить, заебался натыкаться на грабли. мимо_не_могу_вкатиться_в_джуниоры
>>960403По всем тредам протёк го-чухан.
>>960404Джаву специально оверхедят абстракциями, чтобы можно было толкать продукт и получать бабосы за техподдержку
>>960430>оверхедят абстракциямиПримеры?
>>960458
>>960473Думаешь, в какой-нибудь js иначе будет? Так там ещё больше зависимостей на каждый чих.
>>960481Скажи спасибо смузихлёбам, совсем недавно всё делали на жквери и не выёбывались.
>>960483На jquery было гораздо больше говнокода. Хорошо, что он сдох.
>>960484Вот бы ещё сдох и джяваскрипт, похапе и энтерпрайзные фабрики фасолин, и все перешли на статическую типизацию и ФП.
>>960485Ну, тред есть. TypeScript, Swift.
>>960486Трендфикс
>>960485под ФП ты имеешь ввиду Scala?
>>960499В том числе
>>960500а ещё что?
>>960507Хачкиль, f#, elm
Слышал, что с# и java довольно похожи. Так ли легко в случаи чего будет перекатиться с одного из этих языков на другой?
>>960548Ты будешь перекатываться не между языками, а между их инфраструктурами.
>>960548Так как C# > Java, то перекат с сишарпа в джяву, как тут уже выше сказали, заключается только в перекате на другую инфраструктуру, ну и некоторых побочных эфектов, вроде желания рыгать с убогости жабы и того, что что в ней всё делаешь, а ничего нет. Для переката с джявы в сишарп потребуются определённые мозгоусилия для того чтоб перейти на более продвинутый язык.
Двач, есть вот такая ошибка:SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: 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.
>>959011 (OP)Есть ли где-то НОРМАЛЬНЫЙ гайд по RxJavе? Чтобы все по полочкам было. У меня то что есть вызывает больше вопросов чем понимания? Как получить объект из обсервера? Поясните что-то за правильную архитектуру. Допустим из одного обсвервабла я получить данные, они пошли в обсервер который что-то сделал с этими данными. Как мне дальше передать данные из обсервера куда-то?
Ты обычный раб системы, у тебя все зашибись, утром ходишь на работу, это просто чудо жизнь, ты заканчиваешь школу, но ничего не понимаешь, а потом тебя находять и в армейку ты пиляешь, а в армейке край свободный - там ты станешь мужиком, по еблу ты получаешь и поставишься рачком. Круто чистишь ты сортиры и штаны - возвращаешься домой - ну теперь то ты мужик.Вот вернулся ты с армейки но куда идти тебе - на завод конечно, там то круто ты поверь, хотя можно и учится но учеба - ерунда.Работай на дядю, на клубы и яхту, выбрось свободу, иди на заводы и шахты, работай, работай на шмотки и шмары, может получишь хоть что-то, а может и пару.
>>960637slf4j это логер обертка над всеми реализацями что появились для жавы. Соответственно сама обертка логировать не умеет и требует одну из реализаций. В твоем случае тебе нужно положить библиотеку реализицаию логирования и библиотеку которая выступит мостом между нимиРассмотрим фреймворк Log4j2. Тебе понадобитсяlog4j-core - собственно сама библиотека логированияlog4j-api - api для подключения к другим реализациямlog4j-slf4j-impl - бридж для подключения к slf4jslf4j-api - собственно она у тебя и так уже лежит, это api со стороны slf4jДля чего такой изврат? Если ты пишешь конечный проект (какое-нибудь веб приложение) до достаточно библиотеки log4j которая является наилучшим логирующим решением.Однако в случае написания каких-либо библиотек, которые изначально подразумевается использовать в других проектах ты не знаешь наверняка какая логирующая система будет использоваться у конечных пользователей твоей библиотеки. Для этого и используется slf4j враппер - таким образом ты оставляешь выбор логирующей системы конечным юзерам твоей библиотеки. А они этот выбор осуществляют через подкладывание в класпаф API и бридж либов как я описал чуть выше.
>>960557> C# > JavaДвачую.
Зачем вам перекатыватся если джавистам больше платят и на джаве больше работы? Или вы очередные войтивайтишники?
>>960664Дай мне хотя бы один написанный на яве бигдата фреймворк. То-то!
>>960672Это ты сейчас так неудачно пошутил?
>>960686Слив яваманьки засчитан!
>>959344пишут. Пожалуй самая удобная для веба, только если это не хоум пейдж
>>959604orm не нужен. Очередная мифическая серебрянная пуля.Нынче модны noSQL, так что orm больше не нужен
>>959731скачиваешь плагин для браузера rest что-то там, выбираешь пост, в тело пишешь для начала {}
>>959795> Spring Bootмалейший шаг в сторону и ничего не работает. Там нет даже сраных сервлетов
Что легче парсить на Java: XML, JSON или JSONP?
>>960637тебе нужна реализация SLF4J. Есть на q, забыл название
>>960715наверно json через джексон. Тебе нужно будет только dto классы, соответствующие структуре твоего джсона
>>960720кидай - тоже с такой проблемой столкнулся
>>960729https://logback.qos.ch/
>>960481>кококо, джава не оверхедна, где пруфы>на>кококо а вы туда, туда посмотритеЛол, джависты даже не отрицают, что джава оверхедный кусок говнища, раздутый одним бизнесом, чтобы грести бабло с другого.Только юный фанбой, мечтающие писать игрули на свой дешевый андроид, верят в чистоту кода джавы.
>>960756абстракция над доступом к БД нужна? Нужна.Абстракция над над слоем DAO? нужнаАбстракция над бизнес-логикой? НужноАбстракция над вебом? НужноВеб-сервер? Нужен
>>960759Все просто. Всякие верстальщики Javascript и дебилы-байтоебы не понимают зачем нужны ООП, абстракции, интерфейсы. Ведь можно написать код и он будет работать без всего этого. Главное потом к нему больше не притрагиваться. Поэтому в силу абсолютного непонимания и петросянят про абстрактные фабрики бинов и "оверхеды".
Абстрактный синглтон базы данных. Синглтон mysql Фабрика баз данных Регистри, хранящая фабрику баз данных Абстрактный строитель вывода Строитель вывода из SQL Абстрактный наблюдатель базы Наблюдатель за mysql Посредник, принимающий сообщения от наблюдателя Абстрактная стратегия выбора баз данных Стратегия выбора Mysql Абстрактный декоратор стратегии выбора базы данных Фабрика стратегий выбора баз данных Посетитель, запускаемый посредником при получении сообщения от наблюдателя Заместитель, принимающий посетителя и решающий, делегировать ли команду вывода виду Абстрактный вид Вид CLI Абстрактная фабрика видов Фабрика видов, возвращающая инстансы видов CLI Прототип CLI-вида, используемый CLI-фабрикой Абстрактная модель Абстрактный ORM ORM для Mysql Модель, работающая с MySql-ORM сущностями Абстрактная активная запись Активная запись для mysql-ORM моделей Абстрактный синглтон хранения моделей Синглтон, хранящий активные записи Абстрактный синглтон хранения видов Синглтон, хранящий CLI-виды Абстрактное мементо Мементо активной записи Mysql-ORM модели Абстрактная команда SQL-команда
>>960770Таким образом довольно просто мы получаем быстрое и гибкое приложение, пригодное для дальнейшего расширения функционала и рефакторинга.
>>960774Архитектура жава-приложения:1. договариваемся к американской компанией, что сделаем софт за половину стоимости.2. нанимаем сотни индусов русских студентов за ЖРАТ.3. лепим невменяемое говно из жавовских опенсорсных быдлиотек, сдобренное говнокодом студентов под управлением виабушных акхикектогов.4. слегка проябываем дедлан, поэтому в конце добиваем код хаками, лишь бы запустилось (тем более выясняется, что акхитектогы напроектировали неудобную и нерабочую хуйню, зато по умным книжкам, которых они начиталсь).5. ????6. Единоразовый PROFIT7. Заклюючаем договора поддержки и сажаем на поддержку в 3 раза больше жавообезьян, чем было на разработке (оно и понятно, написать хуйню легко, а вот как потом её сопровождать?).8. Дополнительный PROFIT в течение многих лет.
>>960768нет, конечно есть перегибы.Вот на работе такой желающий перемен гик получил власть, теперь я ебусь с этим зоопарком orm, spring-data, cassandra, абстракция над кассандрой для получения SQL92, распределенный кеш, и ещё добрый десяток новомодных дилд.Я считаю что кроме старого доброго SQL и JdbcTemplate ничего не нужно
>>960778> Я считаю что кроме старого доброго SQL и JdbcTemplate ничего не нужноВыбрасывай JdbcTemplate нахуй и используй jOOQ. > Вот на работе такой желающий перемен гик получил власть, теперь я ебусь с этим зоопарком orm, spring-data, cassandra, абстракция над кассандрой для получения SQL92, распределенный кеш, и ещё добрый десяток новомодных дилд.И чем ты недоволен?
>>960781>jOOQпосмотрел одним глазом. Это что-то типа QueryDSL?Если да, то:1) Нужны некие классы с маппингом, описывающие структуру таблиц. В случае сложных запросов это проблематично2) Невозможно понять что генерирует эта дилда, и как это дебажить. Невозможно взять запрос и скопировать его в консольку СУБД.3) Является ли эта дилда потоко-безопасной?. С QueryDSL возникали проблемы. >И чем ты недоволен?все эти новомодные дилды суть разворот в прошлое, во времена до создания реляционных БД.Как кстати и микросервисы
>>960759>абстракция над доступом к БД нужна? Нужна.Зачем абстракция над доступом? Ты наверно хотел сказать про JDBC-драйвер? Но это драйвер для владельцев БД, конечно в плюс, что саны сделали стандартизированный драйвер (вообще многое что грамотно они сделали). В общем программирование от интерфейсов - это гуд. Но это фича ООП.>Абстракция над над слоем DAO? нужнаНет, нужен стандартны DSL для доступа прям из сервиса, DAO это костыль.Если блять дебилы ставят транзакции прям над сервисами (аннотации), то какая нахуй DAO им, они уже сервис-слой привязывают к БД.>Абстракция над бизнес-логикой? НужноЧто это и зачем это, не трогай бизнес-логику, без премии оставлю.>Абстракция над вебом? НужноНету его, есть сервлеты времен CGI, а риально абстракции (набора интерфейсов) чтоб писать одинаково просто на всех embedded серверах нет.Spring mvc не абстракция, это фреймворк (тяжелый и бестолковый).>Веб-сервер? Нужен Тут долбаеба унесло.
>>960775Это архитектура зарабатывания шекелей вне зависимости от ЯП, пиздабол.>>960709>Там нет даже сраных сервлетов Экспертиза уровня /pr
>>960781кстати вот здесь хорошо про эти дилды расписаноhttp://www.sql.ru/forum/894851-177/chto-seychas-proishodit-v-it-sbera?mid=20286614#20286614Секрет успешности проектов - не использовать нереляционные базы данных и всевозможный Hadoop
>>960790веб-приложение и без сервлетов. Через самописные костыли и самопридуманные стандарты.Или сервлеты оно где-то внутри создает?
>>960775Таки да, я рад что хоть кто понимает как бизнес в джаве устроен.
>>960788>2)С jooq дел не имел, но дай угадаю. Включить дебаг? Кстати, ты не пердолик случаем? Ну типа: только plain sql - только хардкор! Фреймворки не нужны! Зато контроль!
>>960789>Нет, нужен стандартны DSL для доступа прям из сервиса, DAO это костыль.как ты тогда абстрагируешься от способа хранения данных? >Что это и зачем это, не трогай бизнес-логикуименно для этого слой бизнес-логики должен быть в отдельном слое, максимально независимом от окружения>Нету егоможно использовать сервлеты, можно использовать spring-mvc, можно ещё какую-нибудь новомодную дилду использовать. И вот как раз для безболезненной смены дилд и нужно выделять это в отдельный слой
>>960794Да есть там сервлеты, специально для таких дебилов маркетологи заставляют добавлять это говно везде, но прячут так глубоко, что ты их не увидишь.И получается - да ваша "ХУЙНЯ_НЕЙМ" поддерживает сервлеты, берем! Дебилы, бля (с)
>>960794>Или сервлеты оно где-то внутри создает?Оп-а! Эксперты /pr начали что-то подозревать!Ну ты же уже спизданул десятком постов выше о том, в чем не разбираешься, с полной уверенностью знатока?
>>960796sql это и есть универсальная абстракция, универсальный DSL. Или вам подавай абстракцию над абстракцией?
>>960799какая разница, если нельзя получить к этому доступ
>>960797>как ты тогда абстрагируешься от способа хранения данных? Этой же DSL>>Что это и зачем это, не трогай бизнес-логику>именно для этого слой бизнес-логики должен быть в отдельном слое, максимально независимом от окруженияСервис-уровен. У скрипто макак это моделью называют.Запомни, иногда поддержка абстракции обходиться дороже чем если бы мы перелопатили руками. Я уже привел пример, что стало нормой вешать транзакции на сервис-слой и почему это всех устраивает? Потому что в реально никто не меняет каждый день одну БД на другую. В итоге все это сосалово для успокоения.
>>960788Типозащищенный sqlный билдер с dsl sql-like в виде fluent interface. Поддерживает 100% всего, что можно написать на просто SQL. И предоставляет определенную абстракцию от конкретной реализации реляционной базы.> 1) Нужны некие классы с маппингом, описывающие структуру таблиц. В случае сложных запросов это проблематичноПоддерживает как просто стринги в значения таблиц и колонок, так и использование автогенерируемых классов, описывающих структуру БД. С ними как раз вся годнота и есть, решая кучу проблем еще на этапе компиляции. Алсо автогенерация охуенно в devops-практики вписывается.> В случае сложных запросов это проблематичноНикаких проблем.> 2) Невозможно понять что генерирует эта дилда, и как это дебажить. Невозможно взять запрос и скопировать его в консольку СУБД.Посмотри примеры - это SQL и есть. Генерирует как есть - но вообще конкретные запросы в дебаге. Оттуда копируешь и вставляешь, если нужно.> 3) Является ли эта дилда потоко-безопасной?. С QueryDSL возникали проблемы. На 100%. Объявил DSLContext одиночной фасолиной и инжекти его хоть в анус Сатаны и долби одновременно туда тысячью хуев. > все эти новомодные дилды суть разворот в прошлое, во времена до создания реляционных БД.Хуй там падал в три пизды. Если задачу можно выполнить с помощью реляционной БД - следует ее использовать. Но есть задачи, где реляционщина уже не оче.Другое дело, что noSQL всякие евангелисты и прочие барухи продвигают как замену SQL, что нихуя не верно. >>960796Пердолик тут как раз ты, раз ебашишь plainSql в приложениях, а не делаешь это правильно.
>>960806>нельзя получить к этому доступО! Ещё одно смелое утверждение анонимного эксперта!
>>960807Куда писать plain sql, когда твоя DSL соснёт?DSL то, кстати сам напишешь, пердоля?
>>960801А теперь включи свой школьный мозг и подумай почему потребовалась абстракция над уже существующей SQL-абстракцией?? М? Давай ты сможешь понять, что в реале у каждый бд все равно есть своя специфика и приходиться надстройку делать - опять!Дебил неопытный
>>960789> Если блять дебилы ставят транзакции прям над сервисами (аннотации), то > какая нахуй DAO им, они уже сервис-слой привязывают к БД.Сука дебил нахуй ты ебаный, я ебал. >>960807> Я уже привел пример, что стало нормой вешать транзакции на сервис-слой и почему это всех устраивает?Потому что транзакции это сервисная логика.
>>960808>раз ебашишь plainSql Ты бы хоть читал, на что отвечаешь. Бухал вчера что ли?
>>960815Твой выглядел дополнением предыдущего поста ананаса. Ок, отвечу еще раз.> Кстати, ты не пердолик случаем? Ну типа: только plain sql - только хардкор! Фреймворки не нужны! Зато контроль!Нет. Это хуйня.
>>960811С прибытием, даунhttps://ru.wikipedia.org/wiki/Java_Persistence_Query_Language
>>960808ну ок, попробую эту дилду.Единственный недостаток plainSQL - что он не проверяется на этапе компиляции. Но твоя дилда тоже не может гарантировать корректность запроса и соотстветствие структуры БД. И так и так это решается только юнит-тестами с реальными запросами к базе.
>>960814>Потому что транзакции это сервисная логика. Ну вот приехали.Окей, я переезжаю на БД без поддержки транзакции - мой сервис слой виноват, или ты тупое говно?
>>960807>Этой же DSLа если я захочу заменить БД на какую-нибудь заглушку для тестовых целей?> Я уже привел пример, что стало нормой вешать транзакции на сервис-слойтранзакции и предназначены для вешанья на бизнес-слой. Транзакции тесно связаны с бизнес-логикой
>>960824Нет, это ты долбоеб, раз решил переехать на БД без поддержки транзакций, но при этом твой код транзакционен. Решил выиграть Формулу 1, нанял Шумахера, посадил его в машину без колес и недоумеваешь хули этот баран не обгоняет всех, он же Шумахер.
>>960812И вот именно поэтому слой DAO нужно писать свой, под свою базу. А не надеяться на универсальный ORM, что он магией сделает тебе заебись.ORM тоже не гарантирует абстракцию над базами. В нем тоже нужно хуячить nativeSQL
>>960824слой хранения данных должен обеспечивать транзакционность. Это одна из его задач
>>960833бля не то написал. Средство хранения данных должно обеспечивать транзакционность
>>960821Так вот и расскажи про plain sql в JPQL.
>>960823> Но твоя дилда тоже не может гарантировать корректность запроса и соотстветствие структуры БД. Авотхуй. Как раз для этого и сделано. У тебя нихуя не скомпилируется, если метод from проебал или тебя отвлекли и написал frm. У тебя нихуя не скомпилируется, если ты используешь несуществующую таблицу или колонку. У тебя нихуя не скомпилируется, если проебался и суешь не тот тип в колонку. И другая удобная хуйня.
>>960821нинужно
>>960824Ты не тот же дебил, что про сервлеты и спринг отмочил?
>>960836чтобы гарантировать корректность запроса, в нем должен быть полноценный парсер sql. Сильно сомневаюсь в его наличии
>>960834А я уже хотел тебя обоссать.
>>960842Я от Лукаса деньги за рекламу не получаю. Годноту посоветовал - юзай или продолжай писать plainSql и проебываться в рантайме.
пожалуй единственное для чего нужен orm - в нем удобно делать джойн связанных сущностей.Но это порочная практика, и plainSQL закономерно бьет по рукам за попытку это сделать.
>>960848эта штука немного снижает количество опечаток, не более. Все-равно нужно будет тестировать эти запросы к реальной базе
>>960672Тебе не похуй на какие-то маняфреймворки, кретин? Ты ради бобла работаешь или ради маняфреймворков?
>>960645Бамп вопросу ыыыыыы
>>960645>RxJavечто за очередная дилда?
окай. Поясните мне, в чем сакральный смысл spring-boot?Для меня это выглядит как вместо профессионального перфоратора взять детскую игрушку, ибо она легче, и с ней разберется даже ребенок
>>960827>Нет, это ты долбоеб, раз решил переехать на БД без поддержки транзакций, но при этом твой код транзакционен. Ох я ржу, а где же гибкость и вся чипуха?По твоей логике и DAO не нужно - ведь "раз решил переехать на другую БД"Дебилы, бля (с)DAO - дает абстракцию над БД. При смене БД я меняю только DAO, за счет чего мой сервис слой остается без изменения. Если я меняю БД и это затрагивает и сервис-слой - значит ты долбаеб натянул зависимость на бизнес логику
>>960861транзакционность это пожалуй единственное исключение, когда бизнес-логика должна быть связана с хранением данных.В частности это означает что твое средство хранения данных должно обеспечивать транзакционность
>>960860>сакральный смыслвызывать бугурт стариканов неосиляторов
>>960861Написал пост, но стер и решил просто обоссать дебила. Ссу на тебя.
>Джава гибка и абстрактна.>Но если я поменяю БД то это может затронут бизнес-слой.>Ко-ко-ко - это база виновата, это она такая плохая, потому что должна что-то обеспечивать (транзакционность).Лол, хуй она тебе что должна (маня-мирок джава-индусов)
>>960868Ты понимаешь что такое транзакция?
>>960866фикс>я не могу тебе возразить, я обосрался тут, но я на тебя зол, поэтому просто покречу.Не переживай, не первый раз рву маня-миры индусов.
>>960870Транзакция - группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. К бизнес логике она никаким хером не относится, это уровень персистенса
>>960873> Транзакция - группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. Абсолютно неверно.С такой логикой простое выполнениеselect from table;select from table;является транзакцией.Погугли еще и попробуй еще раз. После этого перейдем к зачем они нужны.
>>960859О, очередной школоподельщик пишущий калькулятор и желающий войтивайти
>>960876Костыль, чтобы не использовать асинхронный Go
>>960873Как насчёт транзакции в несколько гетерогенных баз?
>>960874>Транзакция - группа последовательных операций с базой данных>Сервис-слой это бизнес логика, изолированная от базы данных по средством слоя DAOПомогите Доре с логикой
>>960882> >Транзакция - группа последовательных операций с базой данных> Абсолютно неверно.> Погугли еще и попробуй еще раз. После этого перейдем к зачем они нужны.Дора, почему ты такая тупая шлюха? Пиздуй делать что говорят.
>>960882чем диктуется эта группа операций? Для чего нужен откат транзакции?
>>960881Блять джависты тупые мрази.С хуяли бизнес логика должна знать о том сколько там баз данных, еще блять где они расположенны? Да?Я уже вижу, сегодня одна база, завтра их две - и этот индус ковыряет каждый раз бизнес-логику. Лол.Понятно что за это должен отвечать слой DAO и какое-то совокупное его подмножество.
>>960885ВРЕТИЯ ждал этого :D
>>960889Дебилоид, если ты ничего сложнее круда в жизни не писал, то не проецируй.
>>960880К сожалению ты не знаешь, ни то, ни другое
Сильно абстрагированные фреймворки вопреки бытующему в среде «корпоративных менеджеров» мнению, не упрощают, а напротив — радикально усложняют разработку и поддержку (см статью, собственно). Это новая религия (слаба роботам, не особо популярная в среде профессиональных разработчиков, как это может показаться после чтения Хабры) возникла из иллюзорных желаний непременной монетизации любого созданного за 15 минут кода, с легкой руки Google и иже. Популярная нынче бизнес-модель хипстер-стартаперов: берем опенсорс-библиотеки, заворачиваем это все в наши классы и методы, называем это NewBuzzword framework, придумываем этому применение, которое конструирует «уникальное предложение», делаем набор примеров в рамках концепции «уникального предложения» и пишем документацию. Все это выкладываем в свободный доступ и потом везде пишем длинные статьи сдобренные красивой инфографикой в духе «теперь вы можете за 1 минуту написать то, на что другие тратили годы» в журналах для молодняка, а в других журналах (для бизнесменов): «реальная оптимизация бизнес-процессов с новым фреймворком NewBuzzword».Это настолько хорошо работает, что миллионы неофитов по всему миру с легкостью индокринируются в эти новые секты. Результатом этого воистину религиозного поклонения является миллионы денег налогоплательщиков выбрашенных на ветер и километры говно-кода который никто никогда не сможет поддерживать без необходимости переписывать все заново с нуля каждый раз, когда система в какой-то своей части устаревает или требует расширения спектра применения.
>>960891> аррря вретиАх, этот сладкое чувство поражения обосравшегося собсеседника. Ты нихуя не знаешь что такое транзакции и для чего они нужны, а что-то там кудахтаешь про архитектуру. Поэтому и несешь такую дикую хуйню.Подмойся и пиздуй в гугл умнеть.
>>960915Ты спросил что такое транзакция.Чел кинул и ткнул носом что это ответственность слоя DAOВместо конструктивного ответа - подрыв пукана, отрицание, крики что все не так.Что с вами не так? Пережрали абстракции?
>>960908Судя по посту ты тоже не знаешь.Конструктивный диалог жаба-макак
>>960944Ох уж этот школоподельщик пишущий калькулятор. Он то все знает
учу js чтобы стать фулл-стек. ебать я охуеваю от его сложности, просто пиздецгод опыта в джава
>>960942> Ты спросил что такое транзакция.> Чел кинул Ты чел ответил абсолютно неправильно, о чем ему сказали два человека, причем несколько раз. Ты чел порвался и начал верещать врети. > это ответственность слоя DAOПусть ты чел прекратит обсираться с подливой и возьмется за ум. Возьмись за ум, почитай что такое транзакции, чем они отличаются от просто выполнения нескольких операций и зачем вообще нужны. Потом прочитай зачем нужен DAO и к чему относится транзакционность. Не надоело троллить тупостью и глотать мочу?
>>960942транзакции на сервисном слое
>>960985Окей, мало сегодня ваши жопы рвались. Что такое транзакция на сервисном слое? И самое главное зачем она там есть, если сервисный слой не имеет отношение к доступу хранения данных (т.е. провайдером данных в данном случае может быть тупо файловая система (простые файлы))?Вы тут полыхаете, но не один не пояснил еще.
>>961022...я всегда любил джавистов, они грезят надроченными теориями абстракций, готовы лепить слой за слоем из фреймворков, чтобы добиться какой-то гибкости которую никогда не используют. А в реале, когда начинаешь копать их код, понимаешь, что они умудряются запутаться в своих же абстракциях и вообще лепят противоречивые вещи.То что так можно разводить бизнес, оно то понятно, но себя то не обманывайте.
>>961022Смотри. У тебя может быть обращение с двумя базами данных или там обращение к бд и работа с jms. И физически у тебя будет две транзакции, но бизнес-транзакция - одна. Так на каком слое с ней обращаться?
>>961079Да даже банальное добавить-удалить-изменить - это одна транзакция, а для дао - три отдельные операции.
>>961022ты троллишь что ли? допустим у тебя несколько обращений из сервиса в разные репозитории (дао). последняя завершилась неудачно, нужно откатить предыдущие. какую-то левую хуйню про абстракции загоняешь, при чём тут это вообще
>>959011 (OP)Добавить в шапкуhttps://github.com/Vedenin/useful-java-links/tree/master/link-rushttp://www.coreservlets.com/
Блядь, можно пример случая, когда без интерфейсов и абстрактных классов никак\дают НУ ПРЯМ ОХУЕТЬ ЯВНОЕ ПРЕИМУЩЕСТВО. Год не притрагивался к ООП, снова до них дошел и снова не понимаю нахуя они НА ПРАКТИКЕ нужны.
>>961224Если по поводу полезности интерфейсов еще как-то можно поспорить, то не понимать абстрактные классы - это просто твоя глупость.
>>961224Универсальность, гибкость. Ты можешь отправлять в метод параметром любой класс, с любым набором свойств. Иными словами, объем кода сокращается и он становится более элегантным.
>>961264Ну поясни в чем глупость? Я не отрицаю, что тупой.
>>961267т.е. ты говоришь о случае когда у нас есть некий класс А с методом, принимающим на вход объекты типа интерфейс Б, от которого могут быть наследованы классы В, Г, Д и т.д.
>>961272Да. И сразу напомню тебе, что в жабе нет перегрузок.
>>961268Посмотри хотя бы на InputStream.
>>961274Перегрузок чего?
>>961283>Перегрузок чего?Методов.>>961272Опять же, ты можешь написать просто Б.Хуй(), а выполнится нужный реализованный метод у нужного класса (В.Хуй() или Г.Хуй() например).
>>961286>Опять же, ты можешь написать просто Б.Хуй()А вот это уже интересно, а что будет если реализация есть у 2 классов и она одинаковая по параметрам?
>>961291Реализация по параметрам и так будет одинаковой. Ты должен реализовать метод один-в-один как он описан в интерфейсе (с тем же списком параметров).
>>961293Ок, а если в классах будет разная логика реализации метода интерфейса А, то, какую дернет А.хуй() ?
>>961286https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html>Overloading MethodsА это тогда что по-твоему?>>961294Друг, у тебя тоже каша в голове. Дёрнется метод того объекта, который передашь. Иди читай про таблицы виртуальных функций.
>>961294Зависит от того, какой конкретно класс будет находится в объекте. Сам по себе объект интерфейса создать невозможно.
>>961295>>961296А, ну это вполне логично, пойду дальше почитаю всякое, спасибо. Каша в голове потому что практики нихрена нет.
>>961295>А это тогда что по-твоему?Батюшки, вот это я хуйню несу-то.Сам только как месяц жабу по Хортсману начал осваивать. И что самое интересное, не могу вспомнить, где нашел текст про отсутствие перегрузок.Сейчас перечитал - все есть. Чудеса, блеать.
Бляя, пасаны, кто-то ебашил на реакторе/рхжаба/реактивх? Как сделать по-нормальному несколько РЕСТ калов асинхронно, чтобы не приходилось ждать пока первый калл ответит, только потом делать второй и т.д?И чтоб кода помеьнше было, а то сука не гуглится блядь а времени особо нет.
Аноны,учусь в вузике на заочном,решил вкатиться в работу. Дали тестовое,где одна из частей задания - что бы у User была возможность дать некий Book другому User (либо положить его в кучу). Делаю все на Spring+Hibernate ,но не могу найти инфы по orm one-to-many и подобному(желательно либо на русском,либо на конкретном примере). Так же из требований - использование HQL,в офф доках не нашел таблицу соответствия запросов sql -> hqlАнон,выручай
>>961318Кароче бля нагуглил https://github.com/reactor/lite-rx-api-hands-on/blob/complete/src/test/java/io/pivotal/literx/Part11BlockingToReactive.java ааа найс всё в примерах, респект чувакам
>>961321>Hibernate нинужно>orm one-to-manyаналогично> User была возможность дать некий Book другому Userможет они хотят от тебя знания ООП?
>>961321>Дали тестовоеВон из профессии.
>>961321>не могу найти инфы по orm one-to-manyдно>на русскомдно х 2>не нашелдно х 3Диагноз: тебе обязательно перезвонят.
>>961348>>961344>>961342Такие то злобные макакии.Не серчайте,я уже нашел,что надо
пацантрэ, абасцыте меня или убейте!не могу в спрингсекьюритиконфиге разграничить доступы к страничкам в зависимости от пользователя@Overrideprotected 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");}гуглил примеры. но почему-то у меня криворукого все могут залогиниться как хотят и под правами какие сами рандомно выпадут.хелпмиплиз
>>961381и адепты утверждают что этот выблев читаемее чем xml
Есть json такого формата.Есть иерархия классов Response, который имеет в себе массив Photo (2ой скрин). В общем, я пытаюсь HQL-ем вытащить максимальное значение max_sol (3-ий скрин). Idea говорит, что класс Rover не замаплен. Но @Table(name = "Photo") говорит, что замаплен. Где я дебил?
>>961390Тебе нужно разделить работу с базой и работу с джсон. Так называемое "разделение ответственности". Одни классы для работы с базой, суффикс Entity, другие для json, суффикс я бы сделал JsonDto. Между ними конвертер, конвертирующий Entity в JsonDto.Это нужно чтобы структура базы не мешала структуре джсона, и наоборот. И чтобы в случае изменения базы джсон бы не пострадал.
>>961395Отличная идея! Спасибо :)
>>961304В яве нет перегрузок операторов, т.е. BigDecimal'ы нужно через методы класса, а не через + складывать. Возможно ты читал про это и запутался.>>961384Нелюбовь к xml - это такой мем у нелюбителей явы.
>>961381Во-первых, не выкладывай код напрямую сюда.Во-вторых, отформатируй нормально эту нечитаемую кашу.В-третьих, зачем там два раза страница логина?В-четвертых, я тебе, мудаку, уже выше скинул ответ на вопрос про 2 "домашние" страницы. Что за говно ты сюда приплёл вместо редиректа?
>>961390@Entity
>>961324Бляяя, короче, всё хуйня, давай сначала, походу я нихуя не шарю в реактиве и эта хуйня вообще не для паралелизации вызовов. Да ну нахуй, там столько костылей надо запиливать, чтобы добиться это паралелизации вызовов. Я ещё даже нашёл на стаковерфлоу в ответах, что типа паралезация в обсерверах хуйня и не нужна, иди нахуй.Как же тогда красиво заебашить несколько вызовов паралельных? Через акку? Она-то норм хоть к спрингу прикручивается?
>>961390>серилизовать энтити в жсонИДИ НАААХУУУУУЙЙЙ ПИДОРАС ЕЩЁ НЕБОСЬ СЕССИЮ ОТКРЫВАЕШЬ В ВЬЮХЕ ЧТОБЫ ДЖАКСОН СМОГ ЗАСЕРИЛИЗОВАТЬ ВСЕ ЗАВИСИМЫЕ ЭНТИТИ??
>>961424Да нет, у меня для этого сервис есть. Который к dao обращается. Не знаю от чего у тебя так бомбит. А если и бомбит, то можешь и расписать правила хорошего тона для спринга.
>>961429>правила хорошего тона для спринга.Первое правило. Никогда не использовать хибернейтВторое правило. НИКОГДА не использовать хибернейт
>>961430Да у тебя ПУНКТИК!
>>961430Неосиляторы подъехали.
>>961435от него больше проблем чем пользы
>>961430У тебя сложные сущности, размазанные по паре десятков таблиц. Как будешь с ними работать, SQL-запросы писать на каждый чих?
>>961409>>961409>>Во-первых, не выкладывай код напрямую сюда.>>Во-вторых, отформатируй нормально эту нечитаемую кашу. прошу прощения http://pastebin.com/zmcd3X6E>>В-третьих, зачем там два раза страница логина?скопипастил лишнего, это все равно ничего не меняет>>В-четвертых, я тебе, мудаку, уже выше скинул ответ на вопрос про 2 "домашние" страницы. Что за говно ты сюда приплёл вместо редиректа?если я делаю по примеру у меня ошибка"There was an unexpected error (type=Method Not Allowed, status=405).Request method 'POST' not supported"
>>961437Если сложные сущности и сложные запросы, то тем более нельзя юзать хибернейт.Ты потратишь больше времени, пытаясь запустить это и понять почему оно тормозит
>>961441Я сейчас говорю не о говноподелках, которые ты пилишь на коленке один, а о серьёзных корпоративных приложениях, которые делаются по несколько лет и за это время ещё команда успевает пару раз смениться. И я тебе гарантирую, без JPA ты ебанёшься.
>>961085Чувак или троллит, или не понимает что такое транзакции и зачем они нужны. Поэтому несет такую дикую дичь.
Вечер в хату, програны. Посоветуйте, какие пакеты, которые чаще всего применяются, лучше вызубрить? Их дохуя, но чувствую что чаще всего применяются несколько. И ещё вопрос, с каких реально полезных приложений для тренировки начать? Имею в виду не всякие хеллоуворды и калькуляторы, а полезные например примочки, которые при данном начальном уровене тяжело написать но хорошо в итоге натренирует.
>>961444> Я сейчас говорю не о говноподелках, которые ты пилишь на коленке один, а о серьёзных корпоративных приложениях, которые делаются по несколько лет и за это время ещё команда успевает пару раз смениться. И я тебе гарантирую, без JPA ты ебанёшься.Угадай почему одинбанх бузинес онлайн сейчас вполне успешно переписывается в том числе и с хибернейта на поделие одного швейцарского пацанчика.
>>961444>а о серьёзных корпоративных приложениях, которые делаются по несколько лет и за это время ещё команда успевает пару раз смениться.Для тебя это повод для гордости? Я участвовал в проекте: принять данные по xml, расшифровать и сохранить. Этот простейший круд команда из 5 человек делала в течении года, и так не до конца. При этом оно падало от перегрузки даже на тестовой средеСледующим проектом была система такси федерального масштаба, где на серверной части был я один. Второй проект был в разы сложней, и при этом запущен в продакшен через полгода после начала работы
>>961456> Я участвовал в проекте: принять данные по xml, расшифровать и сохранить. Этот простейший круд команда из 5 человек делала в течении года, и так не до конца. При этом оно падало от перегрузки даже на тестовой средеЛолблять почему?
почему все (даже всякие тимлиды) говорят хибернейт, а не хайбернейт?
>>961457использование всех возможных дилдаков, модных в то время: BPM, хибернейт, веб-лоджик, дженкинс, оракл, ещё какие-то хрени. На компьютерах разработчиков это было не развернуть из-за оракли, bpm и кучи настроек. Тестовых серваков было пара, при этом надо было изъебываться чтобы посмотреть логи. На тестовые серваки конечно-же нельзя просто так залить, заливается через коммиты с кучей валидаций, тесты и капризный дженкинс. Ни о каком дебаге конечно не могло быть и речи. Итого пробный запуск своего кода растягивался на полдня. Ещё полдня чтобы расшифровать логи и понять что не так. Ну это примерно как в старые времена, когда программы набивали на перфокарты и отдавали на ввод операторам, а результат ты мог узнать только через пару дней, в виде текста.Плюс постоянные митинги, ибо руководство захотело поиграть во все эти скрамы и аджайлы.
>>961459Но это больше смахивает на руожопость тех кто такую инфраструктуру породил. Гибернейт тут явно не причем. Наломать таких дров можно успешно и без БД с гибернейтом в качестве ОРМ.
>>961473ну вот когда писал это такси, тоже использовал хибернейт. Потом пришлось выпиливать его из всех частых запросов. Оставил только на запросах для админки и диспетчеров.
>>961459>>961477Индексы хоть делали и следили, чтобы не было гомофуллсканов, или "какой SQL? За меня ORM все говно делает, идите нахуй, я бабочка"?
>>961489именно что постоянные гомофулсканы, подгрузка связанных сущностей вопреки запретам. Плюс при сохранении/обновлении оно обновляет все поля, даже те которые не нужно. Убрал слой Entity - памяти стало жрать в два раза меньше
>>961492Обычные orm-проблемы. Удобство удобством, а потом начинается.
>>961492Ну например юзать гибернейт для формирования различных браузеров в системе или же отчетов - верх идиотизма. Такие структуры как правило агрегируют данные из разных таблиц в форме далекой от ваших задефайненных сущностей. В таком случае операцию будут затратны по ресурсам - здесь стоит применять Native SQL приподдержке профайлера вашей СУБД, с последующей конвертацией в POJO через ResultTransformer того же гибернейта (хотя в JPA 2.1 появился более удобный инструмент).Это первое. Второе - понимать то с какими данными работает ваша система в конкретной ее части и далее вытягивать из базы их один раз через JPQL(HQL), дабы в дальнейшем не было кучи мелких подзапросов.О таких вещах вообще не думают когда работают с ORM а потому получается что инструмент во всем виноват.
Помогите, пожалуйста. Что-то я не понимаю.Вот есть 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
>>961496Верно подмечено - ORM это всегда компромисс. Вы получаете удобство в одной части прикладных задач, но в другой будут возникать траблы. Выходом как правило явялется гибридное решение - применять ОРМ там где ОРМ справляется хорошо, в остальных местах использовать Native SQL.
>>961505ой блять, просто пиздец. Забыл поставить JsonValue и все сломалось.
>>961503ну да, куча нюансов и возможных граблей. А написание plainSQL занимает не так уж много времени, плюс это надежнее.
>>961513Все зависит от объемов. Если это мелко проект - спорить не стану. При количестве сущностей около пятидесяти - native sql становится проблемой. Собственно из-за этого и стали придумывать ОРМ, что бы не писать огромную кучу кода. И тут все по Макконелу: меньше кода -> снижение сложности -> упрощение в сопровождении и меньшее шансов наклепать баги.
>>961516больше hql - больше шансов стрельнуть себе в ногу
>>961439Экстрасенсы все на тнт. Хуй знает что ты там не осилил. Ебись-дебаж сам (как и все работающие прогеры).
>>961439> если я делаю по примеру у меня ошибка> "There was an unexpected error (type=Method Not Allowed, status=405).> Request method 'POST' not supported"Читать мы, конечно, не умеем.
помидоры, подкиньте пожалуйста идею веб аппликухи, чтобы потренироваться в спрингах, хиберах и т д, что использует большинство нормальных гребцов.за пару лет работал только с сервлетами и osgi. в связи с перекатом на другое место работы, хочу немного подготовиться.у самого в мыслях только бложики да твитторы
>>961526Spring in action читай со второй главы. Будешь Плевателя делать.
>>961528> со второй раздела
>>961528>>961529благодарю
>>961531Лучше дал себя в срачельничек поиметь - вот лучшая благодарность.
>>961533Два Ануса Дрануса этому Косадесу.
Анусы, они повсюду.
>>961519> hql
>>961538Даже у меня самого есть анус, а значит я сам себя драть могу.
>>961523>>961523>>Ебись-дебаж сам(как и все работающие прогеры)дык я и так ебусь, параллельно тут спрашиваю малоли кто что-нибудь знает. я еще не работающий и с такой ебланской башкой я думаю раотать еще буду не скоро>>Читать мы, конечно, не умеемну конечно ты тут один у нас читать умеешь, толкь интересно схуали метод пост нот супортед!?значт придругом конфге он супортед, стоит поменять конфиг и уже нет, куда он делся? мм??эй метод "ПОСТ" где ты????я порвался, можете меня уносить!
>>961551Слушай, паренек. Давай будем няшками-поняшками и посмотрим правде в глаза. Программирование очевидно не твое. Почему бы тебе не попробовать Javascript?
>>961555интересное предложение, но я уже прошел собеседование на должность гей-шлюхи сзароботком 400ккк/сек
>>961023>>961079>Ты не знаешь что такое транзакция, дай определение.>На...>Все не правильно, "врети"!>Хорошо, скажите тогда правильное определение>Не скажу, но вот смотри, если тут...Дебилы бля (с)Слив с транзакциями в сервис-слое засчитан.
>>961579уёбывай уже, порватка
>>961264Ты по сути говори, хули ты тут своими абстракциями пальцы растопыриваешь, мышь бля.
>>961584Не транзетивненько, слившийся гандон.Баранам дали DAO чтобы те отделили код от носителей данных, так джава-макаки умудрились транзакцию (вещь, исключительно специфичная для БД) - натянуть на сервис слой.Нахуй вам тогда DAO, если вы уже запороли абстракцию, возьмите сразу Active Record в сервис слой - это будет однохуйствено (вы так же будете привязаны только к носителю реляционных БД, но как макаки не будете писать бойлерплейт).
>>961595Ясно понятно. Уёбывай.
>>961605Тот самый случай, когда тебя открыто унижают по твоей любимой джаве, а ты даже ответить по теме не можешь
>>961614Да заебешься каждому мимокрокодилу что-то там доказывать. Итогом все равно будет "азаза, слив засчитан", а за ним придет следующий и все по новой.
>>961618Бедняга, возьми платочек.Сами отвечают в стиле азаза. Ничего конструктивного я не увидел (даже банального "правильного" определения транзакции в контексте сервис слоя) а потом аноны плохие.Ну то есть, как бы ты на себя не дрочил сейчас (на свое ЧСВ), ты ровно такой же скам который сам только что и описал. PS ...и да, за огрехи архитектуры топят единицы, так что не пизди что приходится часто доказывать мимокракодилам подобное.
>>959413Какой потешный дебил. Ни дженериков, ни наследования интерфейсов не осилил и еще гордится этим.
>>961628У тебя паранойя, ты меня путаешь с кем-то.Хотя может это маневры такие
>>961630Может быть, я кукаретиков, кукарекающих об овеществлении дженериков, не различаю.https://www.youtube.com/watch?v=402QPeOnIy4
>>959105он не для веба создавался. net/http был впилен на скорую руку за месяц до релиза чисто ради привлечения внимания\популярности. пилить на го прикладуху типа веба - это миллионы велосипедов. на нем байтики ебать хорошо, но это типа непопулярно сегодня
>>961193Это не тебе решать, чмоня.
>>959040DropWizard + Angular2
>>959011 (OP)Аноны, как в RxJavе сделать цепочку обсерваблов? Вот допустим я хочу передавать данные из одного обсервабла в другой, из него в третий и т.д, а в конце получить нужный мне объект. С помощью чего это можно реализовать?
>>961686flatMap / switchMap
>>961193Делай пулл реквест, хули.
Сап джаваны, работаю макакой в тырпрайзе второй месяц. Пишу в основном на hql, но иногда пригодиться на netive sql. Пазовые вещи знаю, трудности возникают редко. Но все же, насколько важно глубокое знание sql, ну и что посоветуете почитать ?
Привет, двач-джавач. Долгая ебля с 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]Синонимы [приветствие]Переводы [привет]
>>961769>restTemplate.exchange(url, method, request, resultType).getBody()Ты вот это что-ли написал?
>>959011 (OP)Какие возрастные ограничения для джунов в России? Слышал, что после 25 уже не берут.
>>961780После 19 уже не берут.
>>961781хз, я в 17 шёл, сказали что у же на верхней границе
>>961526>у самого в мыслях только бложики да твитторыКак будто что-то плохое. С точки зрения тимлидов корзинок и хипсторов сеньеров хуесосов собеседователей
Пишу код на Java Swing в редакторе от NetBeans.Формочка состоит из текстового окна и кнопки. Хочу, чтоб текстовое поле было расширяемое (растягиваемое), а кнопка-нерастягиваемая наоборот (при изменении размеров окна). Сейчас набросал пикрилейтед, но похоже придется править вручную
Поясните за JNDI, а лучше - дайте какой-нибудь годный туториал, где всё будет кратко и по делу. У меня какое-то очень смутное представление о нём, то есть я понимаю, что это API для доступа к службам имен и каталогов, но нахуя? То есть мы можем по этому имени обратиться к службе, файлу или там компоненту, но зачем? Разве нет других способов? Если есть - почему именно JNDI?
>>961825Swing, похоже, древний мем. Взял Gridlayout и сделал по примеру: https://docs.oracle.com/javase/tutorial/uiswing/examples/layout/GridBagLayoutDemoProject/src/layout/GridBagLayoutDemo.java Вроде более-менее получилось
>>961755Правила расстановки знаков препинания в русском языке.
>>961780Это так.
>>961780Говорят, старше 15 уже нет смысла даже пытаться.Сам вкатился в 27, один друг в 26, знаю двоих вкатился в 30+.
>>961878Твоя программа говорит дай говно, буду в нем рыться.Ты не хочешь в программе зашивать адрес говна, его сорт и вид. Ты пихаешь программу в сервер приложений, где админы сервака создают и настраивают конкретные типы говен и дают им имена. И твоя программа юзает предоставленное админами говно, не заставляя тебя ебаться с конкретными реализациями говен, так как создание и настройка говна это админская работа.А если еще в файлике с jvm пропертями сделаешь, чтобы можно было указывать конкретные имена jndi говен, чтобы твоя программа работала с говном не по конкретному имени говна, а по проперти имени говна, так вообще будешь помидоркой сука ты ебаная хуила беспардонная.
>>961951Заебись, спасибо.
Слушайте, а вы часто пишете nested и inner классы? Когда вообще есть смысл их использовать?
>>961956Только когда тебя просят предоставить для общественного пользования свой срачельничек. Его надо беречь для настоящих товарищей.
>>961555дружище я победил наконец-то это хуету!!! во пиздец я тупой был (да таким же и остался). спасибо, что хоть немножк направлял меня, ну тоси-боси там это. кароч заебись
>>961956я пишу ток анонимные классы, т.е лямбды.
>>962010
>>961755Перелезай с hql на jpa predicate. Или на querydsl.Тебе потом спасибо скажут.
>>959040PHP же
>>962056Двачую, на жабе веб пилить - это боль из тонны бойлерплейта.
Здрасти. Пишут что так можно сменить прокси в рантайме на лету, но этот код на питоне. Поясните как его переписать под джаву.driver.command_executor._commands['executePhantomScript'] = ('POST', '/session/$sessionId/phantom/execute')driver.execute('executePhantomScript', {'script': '''phantom.setProxy("10.0.0.1", 12345);''', 'args' : [] })
>>962037Чому jpa predicate лучше ?
>>962264валидация синтаксиса на этапе компиляции
>>961813ну типа знаешь, ничего свежего. хотя тут наверное не стоит выебываться, а надо сидеть и пробовать/делать
Суп, господа.Нужно настроить конвертацию документов из docx в pdf. Пробовал ебашить через apache.poi и docx4j (3.2.2), форматирование идёт по пизде. Попробовал docx4j 3.3.3 - работает заебись, но он на самом деле не сам конвертирует а гоняет документы на сервак и там конвертирует, хотите на локалке - купите свой сервак и разворачивайте, не вариант. Посоветуйте нормальные варианты, наверняка многие ебались с подобными задачами.
Почему в шапке нет ничего про выбор ide? Чем пользуетесь?мимо-ньюфаг
>>962493Все нормальные разработчики пользуются Idea, что тут обсуждать-то.
>>962493Есть только одна православная IDE и это - IDEA. Нечего обсуждать.
>>962413смотри что найдёт гугол java convert doc to pdf
>>962413Если хочешь чтобы ничего не ехало, то бери шарп и пиши свой сервис. Там конвертация вроде почти из коробки есть.
>>959078>потребовалось создать максимально уебанский язык программированияНо ведь кобол уже был изобретён.
Жавач, что по FX глянуть? Вроде научился лепить формочки в Scene Builder и прикручивать ксс, но думаю, упускаю кучу основных возможностей, например биндинги, бины какие-то, обсервабл коллекции и т.д. Желательно на русском, ну или на иглише, но чтоб последовательно все, а не короткими хау-ту.
>>962495>>962498Лол, тупые хомячки, жрущие проприетарщину.>>962493Выбирай Eclipse, хоть он и старый, но он свободный. Это главный критерий любого здравомыслящего программиста и вообще свободного человека.
>>962584>Можешь помочь аутисту мне. Что здесь не так
>>962589Жми контрол+1, либо на лампочки и делай импорт.
>>962589Ты ахуел чтоле сука? А ну быстро съебал в 1С тред, если свой мордорский так любишь, что даже КЛАССЫ по пидарашьи называешь. Конченый.
>>962599http://vocaroo.com/i/s1BP7HlG0aqS
>>962495>>962498Двум ценителям два чая
>>962608Ты, наверно, ещё и на WXP сидишь, ведь это проверенный временем, стабильный продукт.
>>962495>>962498сосачую. Я даже из личных денег купил годовую лицензию на идею. Ибо оно того стоит
>>962611а ты сидишь на линуксе из-за ШВАБОДКИ?"Да я жру говно. Но это говно ШВАБОДНОЕ"
>>962495к примеру, для того, чтобы работать с БД, нужна ultimate версияэт не оч удобно
>>961424що не так? если не в продакшен, а что-то тестовое, то сойдет, JsonIgnore и иже с ним вешаешь куда надо и всея так за 20 минут со спринг дата рест ангуляр2 с сервером связал, тот еще и контроллеры сгенерил с документациейкороче ентити в джейсон конвертить самое то для MVP или написания чего-то на коленке+ в дата ресте есть проекции, можно вообще не заморачиваться
>>962629Ну так купи, если нужна
>>962629для работы с бд нужна специализированная программа, а не идея
>>962639ну, в плане, чтобы соединение настроить JDBC
>>962647Ват? Соединение ты из кода пишешь, лол. Просматривать также можно сторонним софтом.
>>962652ну да, но, чтобы ж подключить драйвер, нужно то поле, Databases
>>962647ты гуем чтоли настраиваешь?
>>962658открой для себя maven
>>962664Пиздец, пошёл ты нахуй с такими советами. Меня аж передернуло, когда я про него вспомнил.
>>962701Толсто
>>962707Че толсто? Я серьёзно говорю. Не понимаю, как можно в 2017 году им пользоваться.
>>962775Что не так с ним? С учетом того, что груви (и gradle вместе с ним) как бы канул в Лету?Да и IDE иногда с трудом жрет этот gradle
>>962789>gradle вместе с ним как бы канул в Лету?Насколько знаю не без помощи владык котлина ;)
>>962202бамп
>>962789Можно подробнее почему gradle умер?
>>962824Его автор сказал "скала все равно лучше".
>>962845На gradle это как влияет? Никто не заставляет на экзотическом Groovy писать весь проект.
>>962850А гредл всегда был билд тулзом для груви. Для проекта на яве он банально избыточен.
Всем привет. Может кому советом будет не впадлу помочь, потому что не у кого толком спросить. В чем суть: На сколько сложно вообще джаверу релоцироваться из говностраны я например из Беларуси с говнообразованием в райские штаты и прочую европу? И легче ли это сделать учась в вузе там?
Хочу перекатиться к вам с крестов. Есть книжки/туториалы для не новичков?
>>962883книжку брюса эккеля можешь почитать по синтаксису
>>962883>Хочу перекатиться к вам с крестов. Есть книжки/туториалы для не новичков?>прочел только эффектив джава, 2.5 года джава макака, полет норма, ну и по джава 8 прочел книженку, там всего 120 страниц быловообще по джаве пробегись и котлин учи
Почаны, если у класса нет стейта, то он автоматически thread-safe?
>>962891Поздравляю, ты изобрёл static-методы в ЖАббе.
>>962891И с чего бы? Вот если еще и аргументы методов представляют собой immutable objects, вот тогда твоя попка прикрыта.
>>962895Во, спасибо, это все разъяснило.
Кстати, а чем тогда собирать, если Maven и Gradle ненужное говно, как тут пишут?Я пытался SBT освоить, пиздец какой-то, непонятно ни хрена, документации нормальной нет.
>>962614А на чем еще должен сидеть жабогосподин? Сперму хлебают только дотнет петухи, которые хуже червя похапешника.
>>962909не слушай местных дебилов, градл или мавен значения не имеет для 95% проектовSBT это вообще для скалырешай проблемы по ходу возникновения, не накручивайну и если аллергия на xml, то градл
>>962913Коммерческие продукты всегда лучше опенсорс говна. Жаба тоже коммерческая
>>962913чем тебе дотнетчики не угодили?
Вопрос от вкатывающегося: на unix системах разработка отличается от винды? какие-то имплементации open jdk/jre. стоит ли укатываться на винду?
>>962701Альтернативы кроме анта? cmake?
>>962922>Коммерческие продукты всегда лучше опенсорстолстовато
>>962969для пользователя всегда лучшедля разработчиков всегда хуже
Как сделать entityManager thread safe в EJB ?
>>962965Сношишь open и ставишь нормальную проприетарную. Все просто
>>962974ok
>>962973Насколько я помню, вся ejb-инжектуемая хуита всегда thread-safe.У нас на работе возник срач. Длинные чейны из стримов (Stream.of(huita).map(...).map(...).filter(...).map(...)...) - хорошо или плохо?
>>962499Пока что ничего такого не нашёл, чтобы при этом не ломалась разметка. Вообще я удивлён, я думал это достаточно часто встречающайся задача.И проблема втом, что это не просто пара обзацев текста с картинками, а ебанутые печатные форм с таблицами, прочерками, местами отформатированные пробелами и всё такое, пиздец, в общем.>>962500Это понятно, но мне нужна конвертация в рамках уже существующего приложения.
>>962998Хоть хуита выглядит круто и удобно, но в функциональном стиле в легкую можно сделать нечитаемую хуиту, логику которой ты сам забудешь через неделю. Мне кажется, в разумных приделах норм. А вообще на работе до сих пор на 7 сидим, так что я с фичами 8 только поверхностно знаком.
>>962998>хорошо или плохо?плохо читаема и нет возможности закомментировать часть.Каргокульт на функциональщину
>>963001может через какой-нибудь виртуальный принтер в pdf?
>>963021Да хуй знает, наверное можно как-то через опен офис, надо поискать. Пока что всё, что я узнал - пакетов для конвертации дохуя, но все они нихуёво так стоят.
Анон,можно ли в Spring security привязать авторизацю из xml файла к сущностям в бд?Ну типа у меня есть в бд таблица с User ,там есть user name="vasya" lname="popov" password="huilo",в настройках спринга висит <security:authentication-manager>,где все эти юхеры перечисленны. Можно как то донастроить в этом файле,что бы при аутентификации эта хуйня лезла в бд,связывала username из файла с username из бд и открывала операции для работы конкретно с ЭТИМ user из базы данных
>>963067upd или надо через jdbc связывать?
Есть ли что-нибудь не связанное с вебом и Android? Раньше (года 2 назад) попадалась вакансия на микроконтроллеры, сходил на собеседование и соснул, ибо не знал OSGi.
>>963001>Это понятно, но мне нужна конвертация в рамках уже существующего приложения.Тогда можешь и не пытаться. Или платить дохера денег. Enjoy microsoft proprietarshina
>>962974не слушайте этого проприетарного дауна. оставляй openjdk, всё равно не увидишь разницы (её и нет почти)
>>963077если англ в порядке, то попробуй удалённо на зарубежные компании с Javafx. на ней тоже есть проекты
>>963088Ладно, может можно придумать какое-то альтернативное решение? Суть в том, что у пользователя должна быть возможность просматривать превьюшки документов, хранящихся в системе, собственно поэтому и происходит конвертация доков в пдф.
>>963099И почему нельзя отдельным openoffice или шарповским сервисом сделать?
>>963091У оракла VM быстрее, а так нет разницы, 8 версию OpenJDK поддерживает.
>>963099Вот какая-то библиотека для docx:http://www.docx4java.org/trac/docx4j
>>963099Вот это еще посмотри:https://code.google.com/archive/p/jodconverter/
>>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Потому что я тупой и боюсь, что это будет сложно, а я никогда ничего такого не делал. Ну и сервер на стороне заказчика, доступа к нему нет, а я слабо представляю, как это всё должно настраиваться.Хотя, похоже что у меня нет выбора, видимо придётся так и делать.
>>963121>Потому что я тупой и боюсь, что это будет сложноТак почитай, как сервисы на C# делать. С микрософтовским офисом он точно из коробки умеет работать, редактировать документы, выполнять VBA скрипты... На работе когда-то этим занимался.Если нужно именно на жабе - ищи библиотеки для прикручивания к ней COM/ActiveX, это единственный способ доступа к вордовскому API.
PDF кстати можно создавать и при печати (VBA скриптом) через виртуальный принтер, если настроить его на сервере.
> Stream.of(huita).filter(...).forEach(...)Поясните в каком порядке это все выполняется. Я правильно понимаю что сначала массив полностью прогонится через filter, а потом то что прошло проверку еще раз в forEach? То есть 2 отдельных цикла. Тогда если мне нужно исключить всего 1 элемент, то получается O(n^n - 1), когда в обычном цикле эти 2 операции можно сделать за линейную сложность.
>>962967Gralde и Bazel.
>>963223нет, каждый элемент пройдёт через цепочку только один раз.первый элемент проходит через фильтр - дальше к нему применяется то, что написано в foreach, второй не прошёл фильтр - отбрасывается.
>>963018Двачую>>962998если в комбинаторах неоднократно что-то большее, чем method references или если лямбды из больше чем одной строки, очевидно хуйня получается. Как раз наблюдаю один такой проект - сплошная лапша нечитаемая.
Где перекат епта?
>>963298ща, обожди
>>963298Мы мертвы.
перекатhttps://2ch.hk/pr/res/963306.htmlhttps://2ch.hk/pr/res/963306.htmlhttps://2ch.hk/pr/res/963306.htmlhttps://2ch.hk/pr/res/963306.htmlhttps://2ch.hk/pr/res/963306.html
>>963067Может и можно, но ведь я не полезу за тебя в гугл, малыш.
>>963099>превьюшки документовА при чем тут pdf?
Пацаны, поясните за Maven, что это и для чего?
>>963358Хуйня для даунов.
>>963360>kykareky Ок, а по сути что-нибудь можно сказать?
>>960458Там только ридеров райтеров несколько штук разных, с разницей в том, что одни исключения бросают, а другие нулл.
>>960775>невменяемое говно из жавовских опенсорсных быдлиотек, сдобренное говнокодом студентов под управлением виабушных акхикектогов.Люто, бешено двачую, на неделю меня хватило, но не более. В жаву больше ни ногой.По крайней мере бесплатно..
>>963397Нихуя не понял, можешь нормальным языком писать, а не джава сеньеором.
>>963453Дебил не осилил понятие декораторов. И не догадывается, что в его динамикодрисне они тоже есть, только могут называться аляповато и бессистемно, а для ридеров/райтеров в utf8, скажем, выпускают даже несовместимые версии языка/vm.
Пагни, по хардкору, что нельзя сделать на Питоне или ЖСкрипт, то что можно сделать на Джаве??? Чем он отличается и чем он особо хорош. Объясните пожалуйта буд-то вы объясняете своему инвестору, которые выделяет деньги одному из трёх стартапов, 1 - Джава, 2 - Питон, 3 - ЖаваСкрипт.
>>963842Что угодно можно сделать на чем угодно. Вопрос в стоимости, времени на разработку, сложности дальнейшей поддержки.
>>963845Ок. Тогда почему джава популярнее остальных языков, он что, дешевле? Быстрее? -Нет. Так почему тогда.
>>963858Популярнее JavaScript и PHP из-за низкого порога вхождения.
>>963861>из-за низкого порога вхождения.Что это значит? Легкий язык?
Котаны, нужен ваш совет. До недавних пор писал исключительно бекэнд, а тут внезапно потребовалось педалить ещё и фронт. Какую книгу/цикл статей можете посоветовать, чтобы в сжатые сроки уложить в голове кашу из жс, ангуляра и рактива? Сейчас каждый фикс превращается в жопную боль на весь день, потому что нет понимания, что и как там работает.
>>963930Я, кстати, тредом промахнулся, но может это и к лучшем, наверняка тут ещё такие есть.
>>963858Отвечайте же!
>>964426Ответил тебе за щеку.
>>963845За слова отвечаешь?
>>964443Отвечаю тебе за щеку.
>>964448>>964437Porvanka, smeni plastinu.
>>964625Сменил тебе за щеку.
>>964944Накатил тебе за шеку дауну, дауну.
Аноны,помогите студенту. У нас есть две сущности,Студент и Книга. Книги можно давать почитать другому студенту. Для этого надо использовать три таблицыТаблица Книга(id,title)Таблица Студент(id, name)и таблица отношений книга+студент(внешний ключ на айди книги,внешний ключ на айди студента-владельца книги,айди текущего читателя)Как это сделать? Пишу на java,так что и пишу тут
>>965648updв качетсве бд использую h2
>>965648Берешь и делаешь. Что тебе не понятно?Гугли jdbc, если совсем нулевый, и в путь-дорогу
Здарова чайники, нужна ваша помощь. Вкатывают в кложур, нужна ваша помощь, есть у меня файл project-stadalone.jar, как мне теперь его распростронять вреди пользователей? Не будут же они его через консоль запускать в виде java -jar target/uberjar/project-standalone.jar лол. Скажет JRE установлен на пеке, что дальше делать с этим jar архивом?
>>970526> дабалкликни по джарнику ёмаё
>>976911Спасибо, о великий некромант :) Я то и сам понял, только нихуя не происходило. Была ошибка одна, но гордый жава-машин стеснялся об этом сообщить, уже пофиксил.