Это копия, сохраненная 12 января 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.
https://github.com/qqqlll/Java-Thread/wiki
Как там с многопоточностью в питоне?
Think of Python as an old mainframe; many tasks share one CPU.
https://opensource.com/article/17/4/grok-gil
Пока вы дрочите на многопоточность, ИИ делают ТОЛЬКО в Питоне и срать они хотели на нюансы, если код красив, читаем, понятен и без костылей.
Когда аналог TensorFlow появится для Java буду слушать. А пока рот открой, я нассу туда.
У них весь скелет написан на низкоуровневых языках. Питон там в роли скриптового языка для описания модели. Что-то уровня lua в игровых движках.
Ну там вроде основной API таки для Путхона. Что под капотом - не важно. Для Java тоже есть - но по остаточному принципу и костыльная.
Наконец-то аниме девочка. Однако хотелось бы качество получше, да и может бы чуть няшнее что ле.
> Джаваны, а может ли один сервер сокет выступать в роли клиента для другого?
Что ты подразумеваешь под >один сокет<? Если буквально один socket, то тогда нужно будет использовать UDP, он запросто позволяет такую хуйню, гугли "UDP echo server java". Иначе только два раздельных сокета.
хочу считать строки из текстового файла, заменить на ходу некоторые символы буквы на какой-нибудь дефолтный, и схоронить всё это в список стрингов. как это делается через модные стримы?
https://pastebin.com/MsTtYLc8
>https://docs.oracle.com/javase/9/docs/api/java/io/FileInputStream.html
да открыть и прочитать файл у меня получается, а вот натравить правильно map, чтобы заменить символы, нет.
спасибо что помог, иди нахуй.
>https://docs.oracle.com/javase/9/docs/api/java/lang/String.html
new String(bytes).replace("abc", "def");
Вот нахуй тебе стримы? Мне стримы помогла понять Clojure. Не получается - хуярь императивно как привык, зачастую получится не хуже, если правильно организовать.
https://pastebin.com/ZkraSeb9
Хуитой какой-то страдаешь. У меня вышло с пол-пинка.
Понял, спасибо кисик
да ты бох!
императивно я могу, решил сейчас навернуть то новое, что с пятой версии добавляли.
Как же тяжело после C перекатываться в эту срань.
Какие в пизду языки? Спринг это фреймворк, готов посморить что в си ты байты ебал, а не круды шлепал, от того и разрыв шаблона. Ты бы мог адекватнее сравнить спринг поработав с каким-нибудь пхп/руби/питон фреймворком.
Работал с Django, но такого пиздеца не было. Я вообще не понимаю философию. Нахуя делать простые вещи сложно?
Миллионы мух, конечно, не могут ошибаться, но дочего же сложноа... :-(
Если не можешь даже самый примитивный круд написать, иди учи сервлеты, мне помогло
>Нахуя делать простые вещи сложно?
Можешь привести пример простой вещи, которая делается в спринге сложно?
Да вообще абсолютно всё. Читаю уроки и вообще охуеваю - прописывать в XML (это в 2018м!) классы, что за бред...
ну если тебя смущает XML (в 2018!), открою секрет - можно и совсем без него (прочитай книжку чуть дальше (или что ты там там читаешь))
Может и можно, но как-то непонятно ради чего это всё. Ради гипотетической масштабируемости в каком-то будущем настраивать, чтобы Spring жонглировал твоими классами?
Я думал, что Spring - это фреймворк с кучей полезных библиотек. Типа Commons, только еще круче. А занимаюсь изучением какой-то хуйни.
Вот например будет ли проще парсить сайты со Спринг?
Java EE ещё больший пиздец. Когда тебе помимо самого приложения/окружения нужно ещё настраивать контейнер в котором оно работает, это просто пушка.
>>299846
XML позволяет поменять используемые реализации классов без перекомпиляции, что иногда полезно. Есть более современная альтернатива с Annotation Config, но XML важен для понимания того как работает Spring.
>Парсить сайты на жабе
А ты знаешь толк. Скорее всего нет, т.к. он не для этого предназначен.
Прочитай разницу между фреймворком и библиотекой, при чем тут парсинг сайтов вообще
>Может и можно, но как-то непонятно ради чего это всё.
Инверсия управления, внедрение зависмостей, принцип, ебать его в сраку, единой ответсвенности. Слыхал про такое?
>Я думал, что Spring - это фреймворк с кучей полезных библиотек
Так и есть. в нем куча полезных библиотек
>Инверсия управления, внедрение зависмостей, принцип, ебать его в сраку, единой ответсвенности.
Вот мне интересно, как работают большие проекты под Django без всей этой хуйни?
Просто я короче глянул на вашем гитхубе, там есть книжки для нубасов, там вообще будет с нуля и скучно; есть ещё какая-то эффектив-хуита, но я боюсь, что там тоже нужно уметь хотя бы программу составить нормально, а я не ебу че и как там писать, какие классы набрать
Да мне поебать, в смысле спринг легкий и для макак, но без кора там делать нехуй если не траблшутить и мелкие фиксы туда запилить, чем я тоже занимался, но это для дебилов
А есть что по делу ответить?
Ну это же тоже такое, мне надо бы синтаксис нормально запомнить, чтобы сеньоры потом в твиттер не писали, что очередной долбоеб проебался в синтаксисе и у них тестовое задание запустилось только со второго раза
ещё где-то есть практика писать синтактически корректную хуйню на листочке бумаги во время знакомства?
Да, но читать это говно неинтересно и скучно, вообще эти книжки с нуля - для вкатывальщиков-долбоебов, которые не знают основ программирования. Не хочу, чтобы мне объясняли, что такое переменная и класспас, хочу пописать такого, чтобы поработать нормально со стандартными либами че там, потоки и прочее говно
У шилдта описываются основные классы кора во второй части книги по-моему, еще хорстманна первый том можешь прочитать.
накати что-нибудь про шаблоны проектировки, там довольно интересно и уже обращения с читателем не на уровне долбоёба идёт. помимо самих шаблонов можно ещё какую ява-хуню модную подсмотреть и подхватить.
Значит оно там органично и настолько pythonic way (читай: умно сделано), что не вызывает лишнего мозгоебства.
О каком мозгоёбстве идёт речь?
Увы.
Питон - динамический язык без типизации.
Java - компилируемый язык со статической типизацией.
Разницу понимаешь?
Твой питон вообще не годится для сколь нибудь больших программ просто из-за динамической типизации.
А джанго - лютая ебанина, честно говоря.
Про быстродействие я уже и не говорю.
Спринг и прочие подобные вещи предназначены для того, чтобы упростить программирование больших программ на джаве.
Не на питоне, понимаешь?
Если ты привык колхозить по-быстрому на динамикопараше, то в джаве тебе может быть неуютно поначалу. Поэтому и говорят, что джава - простой язык, но, порог вхождения в реальное программирование на нём - весьма высок.
Нормальные люди спрашивают синтаксис того жабаязыка, в котором ты разбираешься.
Дружище, я понимаю, но решать нужно. Я понимаю, что учи я математику в 9-10 классе и проблем бы таких скорее всего не было, хотя за 14 лет я ее все равно забыл бы.
Мань, твоя джава не нужна никому и скоро она умрёт, а вы, макаки энтерпрайзные, лишитесь работы и пойдёте параши чистить.
> скоро она умрёт
Скорее чем С++ или нет? А то я запутался, какому из этих языков дольше пророчат смерть, а они назло всем всё живут и живут.
ах ты няша-пидораша, разметкоблядок, питонопетушок.
Если бы ты ещё читать научился - тебе бы вообще цены не было.
В первом проходишь по отрезку 0 до 2, с шагом 0.2
0, 0.2, 0.4...
И вычисляешь по формуле
У тебя там в начале знак суммы Е для х от 1 до 6?
Это значит тебе надо for(int i = 0; i < 5; ++i) и в этом цикле прибавляешь 7 в степени а(0, 0.2, 0.4...), затем вычитаешь cos(x)
Будет что-то вроде этого:
double y = 0;
for(double a = 0; a <= 2; a+=0.2)
{
double sum = 0;
for(int i = 1; i <= 6; ++i)
{
sum += Math.pow(7, a) - cos(x);
}
y += (sum);
}
System.out.printf("%e", y);
ArrayList<double> a = new ArrayList<>();
double beta = 0;
for(double x = -6; x <= 2; x+=0.5)
{
double tmp = x / 2;
if(tmp > -2 && tmp <= -1)
beta = Math.sin(xx);
else if (tmp > -1 && tmp < 0.2)
beta = Math.cos(xx);
else if(x == 0.2)
beta = Math.cos(xx) / Math.sin(xx);
a.add(Math.log(Math.abs(beta + 2.74)));
}
Можно это делать и без XML, но ты все равно должен знать как пользоваться любым методом конфигурации (авто, джава, XML). Потому что на есть куча легаси, которая написана тогда, когда существовала только XML-конфигурация.
>Язык - это инструмент.
Да, именно.
И бывают инструменты профессиональные - как джава, и для хоббистов - как питон.
Всякое ML и прочие научные расчёты - это приравнивается к хоббистам (т.к. делают это не программисты, а специалисты в предметной области).
И питон - хороший язык, просто не для любых задач.
Как и джава.
>И питон - хороший язык, просто не для любых задач.
Что можно сделать на жаве, чего нельзя реализовать на питоне?
На рест апи приходит ВЫСОКАЯ НАГРУЗКА. Посоветуйте статьи об оптимизации производительности в случае, когда клиент выгружает данные тридцатью самосвалами.
бля буду
Смотри:
https://dropmefiles.com/Q6Kjq
Есть попытка сделать шифратор\дешифратор RSA, в учебных целях, разумеется, фактическая безопасность меня мало волнует. ЧЯДНТ? Можешь запустить версию с графическим интерфейсом, там вроде понятно, что и для чего. Но, короче, на этапе расшифровки возникает какая-то дичь с длиной блока
javax.crypto.IllegalBlockSizeException: Data must not be longer than 128 bytes
at team.isaz.rsa.Window.Go2ActionPerformed(Window.java:479)
Наверное, я чего-то банального не понимаю, потому не вижу в чём косяк. Сам уже не могу. Если кому не в лом, не посмотрите?(
На джаве можно писать очень большие программы.
А потом - переписывать.
На питоне это делать затруднительно.
Потому, что инструментальная поддержка в джаве - охуенна.
Лучше нет ни у какого другого языка.
Также - быстродействие, многопоточность.
В общем - промышленный стандарт.
Ключевое слово - промышленный.
С другой стороны - у питона охуенная интеграция с сишными либами, и целый ряд других достоинств. В том числе - удобное написание не очень больших программ, что, часто, затруднительно делать на джаве.
> С другой стороны - у питона охуенная интеграция с сишными либами, и целый ряд других достоинств.
Таки да. Жава с её философией "native нинужно, пишите всё на жаве" сильно соснула с приходом GPGPU и подобных технологий. Впрочем, пытаются это исправить: http://openjdk.java.net/projects/panama/
>сильно соснула с приходом GPGPU
Действительно охуенно соснула, учитывая, что джава так то вообще язык заточенный не под расчеты и вычисления и имеет совершенно иные задачи, где абстракция от железа - важный фактор
Делаю мапинг JSON в иерархию объектов. Есть поле типа класса, которое в JSON может быть null. Jackson в спринге валится при попытке маппировать это нулевое поле в объект. Как сделать, чтобы если вложенный джейсон равен null, то и ссылка на соответствующий объект была null?
> язык заточенный не под расчеты и вычисления и имеет совершенно иные задачи
Что значит не заточенный? И с каких пор FFI имеет хоть какое-то отношения к рассчётам и вычислениям внутри языка если они именно и предназначены для того, чтобы эти рассчёты выносить в нативный код? Да и говоря про сам язык, те же value types помимо уменьшения нагрузки на GC ускорят и вычисления, возможно дальше добавят и поддержку упакованных типов для использования SIMD.
Почему в шапке нет инфы про IDE? Какую лучше юзать?
джавачую
И что делает эта прога?
А чо ты не можешь понять то? У тебя есть коллекция с объектами теперь ты можешь делать с ней что угодно? Кстати, если тебе надо юзать в расчетах дату и время, то
>tokens[DATA].trim()),Integer.parseInt(tokens[TIME]
Вот тут ты наворотил хуйни, тебе надо юзать DateTimeAPI
Нищук без интелижа порвался
Мне надо создавать лист из листов, или через какие-то еба циклы проходить по всем листам? Я не понимаю, как обращаться к одному и тому же элементу во всех листах сразу, выдает кучу разных ошибок на все попытки
Ты хэллоуворлды для домашней странички пишешь?
Высчиытвет белки же, единственное что необходимо земле на данном этапе
Гдеееееееееееееееее???
Не нужна, проходите мимо.
1. Всякое унылое говно типа баз данных.
2. Софт и игры под Android.
3. Игры: на Java написан Minecraft. Ну и Project Zomboid.
В целом, соглашусь, Java говно ебаное по сравнению с Питоном и даже C#.
А зачем ты каждый объект запихиваешь в свой лист? У тебя 50 листов и в каждом по одному элементу? Ты совсем еблан?
Не по одному. А по строке из 7 элементов. У меня есть 50 дней и у каждого дня свои 7 характеристик, каждый день - отдельный лист. И я не пойму, как теперь совершать расчеты между разными днями по этим характеристикам
Ты дурак чтоль, блядь? Твой день - это класс типа
public class Day {
private Date DATE;
private Time TIME; (сам разберешься как хранить дату и время)
private Double OPEN;
private Double HIGH;
private Double LOW;
private Double CLOSE;
private Double VOL;
геттеры/сеттеры
}
Ты парсишь каждую строку и сохраняешь ее данные в сущности выше. Все эти сущности ты заталкиваешь в коллекцию (в лист, например - ArrayList<Day>). Индекс в листе - это номер дня. Какой нахуй лист листов?
Всё таки прав я был в своём посте пару тредов назад. Действительно наша джабка настолько популярна и хороша, что каждый вайтивайти пытыется насрать в тред, но жидко пукоет и умирает.
А теперь давайте разберём пост очередного неосилятора по частям.
>>300541
>1. Всякое унылое говно типа баз данных.
Этого говна добра написанно и поддерживается больше, чем обозримых песчинок на галактике Омара.
Как сказал один анон наверху, это ПРОМЫШЛЕННЫЙ СТАНДАРТ, и уж я тебя заверю, что на твоём земиноблядском и крестовом вместе взятых написано меньше, чем на жабе.
Можешь продолжать пытаться в свои НЕЙРОНОЧКИ с гречкой и хуйцами, пока любой джава-джун будет поднимать с 70к в месяц и это только в начале и без опыта.
2. Софт и игры под Android.
Только вдумайся в эти слова. Андроид - ТОЛЬКО ЖАБА. А это огромный рынок, в который каждый жаба-джун может перекатится по желанию.
>3. Игры: на Java написан Minecraft. Ну и Project Zomboid.
Маинкампф говорит за себя, каждый о нём знаем.
Про игры не особо знаю, однако, на том же libGDX есть много годноты, навскидку вспомню Don't Starve. А уж какие годные порноигрули есть на libGDX, ух я на них шишку отточил в своё время.
>В целом, соглашусь, Java говно ебаное по сравнению с Питоном и даже C#.
У вас лямбда по другому потоку вытекла в поинтер, выйдите из треда.
Джава-Бояре ещё раз победили остальных блядков.
Аминь.
На рест приходит вложенные джейсоны одного и того же формата, которые нужно сравнивать друг с другом. Два джейсона считаются равными, если вложенные в них документы равны. Решено сравнивать их при помощи хэша. Как сделать это эффективно? Хэшировать результат toString() или конвертировать объектную иерархию, соответствующую джейсону, обратно в json и брать от него хэш?
как только не пробовал - не получается запустить наипростейшую html.
указывал в ComponentScan разные корневые каталоги,
пробовал отправлять просто String, а не ModelAndView,
пробовал менять расширение index'a
пока безрезультатно (
есть идеи запилить пет проджекты на питоне, но тоже лень
как быть? сразу говорю, что программирование - это моё, я им горел, но на работе это превращается в скучную рутину, от которой тошнит
попробуй убрать компонент скан
если зальёшь на гитхаб, то могу поковыряться, всё равно делать нечего
Почему?
>Можешь продолжать пытаться в свои НЕЙРОНОЧКИ с гречкой и хуйцами, пока любой джава-джун будет поднимать с 70к в месяц и это только в начале и без опыта.
Так я и не спорил.
Сижу на удалёнке в Испании за 80К на Java - это работа.
Python - для души.
блять какая-то хуйня, я устал
в метод-то заходит, а ресурс найти не может
включи логи
logging.level.org.springframework.web: DEBUG
увидишь, что
Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/", "/"]
templates это я так понял для всяких jsp и прочее. и ModelAndView вроде не нужен тут, так как это статический ресурс
если поместить твой index.html в resources и возвращать строку "index.html", то всё заебись
не понял, почему со static/index.html не работает
хуй знает чё там происходит, дальше я устал :(
вообще лучше возьми хеллоуворлды самого спринга из getting started и модифицируй их под себя, если чё-то не понятно
со спрингом не работал
не воркает. да я даже если строку возвращаю - та же ошибка, так что думаю, что сам файл он находит, проблема в чем-то другом
API у тебя может быть хоть веб запросами. Штука в том, что собственно вычисления там на сях, потому что Питон не справляется с производительностью. Так что самозаовн.
тоже мимо. но я кароче создал очередной проект по очередному гайду от васяна, и этой проблемы у него вроде как нет. так что спасибо за помощь, дальше я сам пойду пердолиться :)
spring.mvc.view.prefix=/classes/templates/
spring.mvc.view.suffix=.html
последний вариант, может так, у тебя web-inf нет
и это не работает. а еще все таки новая сборка тоже не хочет работать с ModelAndView, но строку нормально выдает
Использую для своего приложения Hibernate в качестве ORM фреймворка, суть проблемы заключается в том, что foreign key мне возвращается в неправильном виде в таблице Orders (точнее не в том виде, в котором я ожидаю)
Получается следующее:
1) если закомментировать метод toString в классе Clients, то значение для ячеек подтягивается в виде адреса:
com.example.entities.Orders@123456
2) если метод toString раскомментирован, то в ячейку подтягиваются все поля из таблицы Clients
как можно разрешить данный вопрос?
>>300694
Короче говоря, сделай так, если я правильно понял, что тебе нужно
https://pastebin.com/FEFXn8gr
Если ещё не поздно. Ты хуйню сделал. Твой контроллер - не контроллер. Он зареган как контроллер, но, грубо говоря, не откликается ни на что. Пропиши в контроллере, ниже @Controller аннотации
@RequestMapping("/")
Это раз. Два - нахуя тебе компонентскан в меине? У тебя спрингбут. Ебани ему @EnableAutoConfiguration и он сам за тебя всё сделает.
Немного проебался в посте и не так расписал один момент.
Сделай просто:
@ComponentScan
@EnableAutoConfiguration
Не прописывай поиск.
Это раз. Посмотрел твой гитхаб
>>300612
1 - правильно что поставил
@SpringBootApplication
Остальное тогда ненужно.
2 - Что вот это такое?
@RestController
Ты нахуя прикрутил рест, если не делал его?
3 -
@RequestMapping("/kek")
@GetMapping("/lol")
???? Разберись как работают контроллеры. У тебя нет никакой form, чтобы та возвращала тебе твой кек и лол. Т.е вот этого
<form name="f" th:action='@{/kek/lol}' method="get">
У тебя пустой темплейт.
Чтобы у тебя перешло на "домашний" или "начальный" темплейт, то просто сделай.
@Controller
@RequestMapping("/")
public class IndexController {
@GetMapping(""){
return "index";
}
Немного проебался в посте и не так расписал один момент.
Сделай просто:
@ComponentScan
@EnableAutoConfiguration
Не прописывай поиск.
Это раз. Посмотрел твой гитхаб
>>300612
1 - правильно что поставил
@SpringBootApplication
Остальное тогда ненужно.
2 - Что вот это такое?
@RestController
Ты нахуя прикрутил рест, если не делал его?
3 -
@RequestMapping("/kek")
@GetMapping("/lol")
???? Разберись как работают контроллеры. У тебя нет никакой form, чтобы та возвращала тебе твой кек и лол. Т.е вот этого
<form name="f" th:action='@{/kek/lol}' method="get">
У тебя пустой темплейт.
Чтобы у тебя перешло на "домашний" или "начальный" темплейт, то просто сделай.
@Controller
@RequestMapping("/")
public class IndexController {
@GetMapping(""){
return "index";
}
Господа, есть MVC приложение, в нем есть возможность "авторизации" под разными ролями, а также имеется база, в которой есть эти же по смыслу роли с установленными привилегиями. Так вот, как грамотно заходить в базу под разными ролями, если логин-пароль я сконфигурячиваю для каждого DataSource отдельно? Создавать несколько DataSource с одним и тем же урлом и разными логинами-паролями или есть более грамотное решение?
алсо, желательно не ковырять SpringSecurity так как смысл приложения как раз показать возможности базы, что там разные роли мол на то и на сё влияют и т.п.
Основная работа закончена, дальше планирую додрочить всякие мелочи и прикрутить какой-нибудь хуйбирнейт попутно изучив его, спринг там придрочить все дела, рейтаните пожалуйста, я не знаю в правильном ли направлении иду.
>>300558
Иисус, рейтани плес.
Нахуя? Типа на собесе мой гитхаб посмотрят и такие, ох нихуя у него там столько зелени, не будем смотреть что это за коммиты, главное что они есть?
Я бы сделал с несколькими datasource, наверное
https://www.baeldung.com/spring-abstract-routing-data-source
>>300787
HttpServletRequestt.getSession() либо создает новую сессию и добавляет JSESSIONID-куки в ответ, либо ассоциирует запрос с существующей сессией опять же по JSESSIONID в запросе. При логине можешь проверять БД и добавлять объект юзера в сессию (session.setAttribute("currentUser", user)). Чтобы проверить, залогинен ли пользователь, добавляешь фильтр, который будет проверять существование аттрибута (session.getAttribute("currentUser") != null).
То есть атрибуты сессии можно задать в одном сервлете и получать в остальных, пердварительно вызвав getSession()?
>Иисус, рейтани плес
Для хелловорда по сервлетам неплохо. Только вот я не увидел никакой
Советую как можно быстрее дрочить спринг и JPA
>прикрутить какой-нибудь хуйбирнейт попутно изучив его, спринг там придрочить все дела
Ты даже не представляешь как тебе это всё облегчит. А если ещё и спрингбут будет, то можешь смело поделить кол-во своих классов и строчек кода на 2, потому что за тебя всё будет сделано. А сейчас ты пердолил велосипед и легаси.
>Только вот я не увидел никакой
Макака спиздил строчку.
Только вот я не увидел никакой логин-пароль, всякой защиты и шифрования, валидации на правильность введённых данных и прочего.
Разве твой сервер не обеспечивает тебе инфраструктуру безопасности - логин, аутентификатор, роли и т.п.?
Если нет - это очень странно, или я просто привык к хорошему, лол.
Может, ты чего-то не дочитал в документации?
Тогда - делай через сессию, как тебе уже написали.
Но, это не очень правильно, сервер должен это делать на своих внутренних механизмах, а сессия уже привязывается к логину.
Никак, вообще-то.
Смысл сессии именно в том, чтобы не быть привязанной к сервлету.
Что ты хочешь сделать?
Естественно линупс.
Держи в курсе
А чего ты ещё в жабатреде ждал, кроме жабаговна?
опять выхожу на связь
если запускаю html двойным кликом - отображается нормально, со всем оформлением, css и т.д.
если запускаю спринг приложение и перехожу в браузере на эту страницу в локалхост, то никаких ресурсов не подгружается. Есть у кого нибудь идеи как это фиксить?
>>300745
Анон, почти нихуя не понял, но спасибо большое.
поменял аннотации, обновил на гитхабе все равно не не работает, ну да и хуй с ним. я скачал из репозитория спринг гайдов проект и его редачу.
>2 - Что вот это такое?
>@RestController
я просто уже дохуя менял аннотации, изначально ее не было, поставил "на всякий, вдруг заработает"
>???? Разберись как работают контроллеры
><form name="f" th:action='@{/kek/lol}' method="get">
ебать, ну в гайдах от васянов, которые я смотрел, вообще не видел подобного. Где можно почитать про это*? на русском?
ахъъаъ блят, это для препода :D
Ты ж не думаешь что это продакшен? Уже лет 8 как только в легасиговне. Норм JPA работает через метапрограммирование.
камингаутом скорее
Даже, стало, блять, интересно почему какое-то говно у тебя не запускается. Заклонил себе твой проект и посмотрел. А теперь следи за руками, если не хочешь, чтобы тебя побили.
1 - Ты нахуя просто .html создал? Просто .html хуйня не читается и потому тебе говно выдавало. Ты либо юзаешь Thymeleaf который очень похож на html и вообще приятный либо JSP, либо там ещё что-то но на остальное мне похуй.
Ты должен был добавить вот такую хуйню:
<groupId>org.springframework.boot</groupId
<artifactId>spring-boot-starter-thymeleaf</artifactId>
В pom.xml.
А в самом index.html прописать
<html xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/html" lang ="en">
2 - У тебя в applications.properties хуйни лишней много.
spring.datasource.url=jdbc:postgresql://localhost:5432/moscow
spring.datasource.username=postgres
spring.datasource.password=root
spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=none
Этого хватает.
spring.datasource.initialization-mode=always
А это ещё и важно, если не хочешь с h2 ебаться и сразу на бд делать. Сохраню тебе пару часов жизни, а то потом бы пришел и спрашивал ПОЧЕМУ СПРИНГ POSTGRES СХЕМУ НЕ ВИДИТ АЛО!1
3 - @GetMapping()
Убери "", я их случайно оставил. Оно будет работать и так, но лучше без них.
Вот, пикрил твой пустой index.
>ебать, ну в гайдах от васянов, которые я смотрел, вообще не видел подобного.
Потому что формы - это Thymeleaf.
>Где можно почитать про это*? на русском?
Spring in Action 4. Я бы сказал, что четвёрка даже лучше 5. Книженция и на русике есть нахуя погромистить без ангельского??7, начинает с важных основ спринга и потом делает веб хуйню, с которой таки можно устроиться джунуом.
Небольшой хинт. Если будешь читать как он делает логин-пароль веб хуйню, пролистай сразу главы о Spring Boot. Вкратце - Spring Boot позволяет не писать всякую конфигурацию разной хуйни, он сам будет делать её. Но тебе стоило бы ознакомиться хоть краем глаза.
Даже, стало, блять, интересно почему какое-то говно у тебя не запускается. Заклонил себе твой проект и посмотрел. А теперь следи за руками, если не хочешь, чтобы тебя побили.
1 - Ты нахуя просто .html создал? Просто .html хуйня не читается и потому тебе говно выдавало. Ты либо юзаешь Thymeleaf который очень похож на html и вообще приятный либо JSP, либо там ещё что-то но на остальное мне похуй.
Ты должен был добавить вот такую хуйню:
<groupId>org.springframework.boot</groupId
<artifactId>spring-boot-starter-thymeleaf</artifactId>
В pom.xml.
А в самом index.html прописать
<html xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/html" lang ="en">
2 - У тебя в applications.properties хуйни лишней много.
spring.datasource.url=jdbc:postgresql://localhost:5432/moscow
spring.datasource.username=postgres
spring.datasource.password=root
spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=none
Этого хватает.
spring.datasource.initialization-mode=always
А это ещё и важно, если не хочешь с h2 ебаться и сразу на бд делать. Сохраню тебе пару часов жизни, а то потом бы пришел и спрашивал ПОЧЕМУ СПРИНГ POSTGRES СХЕМУ НЕ ВИДИТ АЛО!1
3 - @GetMapping()
Убери "", я их случайно оставил. Оно будет работать и так, но лучше без них.
Вот, пикрил твой пустой index.
>ебать, ну в гайдах от васянов, которые я смотрел, вообще не видел подобного.
Потому что формы - это Thymeleaf.
>Где можно почитать про это*? на русском?
Spring in Action 4. Я бы сказал, что четвёрка даже лучше 5. Книженция и на русике есть нахуя погромистить без ангельского??7, начинает с важных основ спринга и потом делает веб хуйню, с которой таки можно устроиться джунуом.
Небольшой хинт. Если будешь читать как он делает логин-пароль веб хуйню, пролистай сразу главы о Spring Boot. Вкратце - Spring Boot позволяет не писать всякую конфигурацию разной хуйни, он сам будет делать её. Но тебе стоило бы ознакомиться хоть краем глаза.
Смит был интерфейсом
У меня там блять хеллоу ворлд ебаный, какого хуя вообще, я с нихуя должен уметь оптимизировать эту хуйню?
Warning:java: source value 1.5 is obsolete and will be removed in a future release
Warning:java: target value 1.5 is obsolete and will be removed in a future release
Warning:java: To suppress warnings about obsolete options, use -Xlint:-options.
В пизду вашу жабу, говорили же мне, что она конченная, но не предполагал что настолько. Сука, в ТРЕХ местах описал версию, а всё равно эта хуйня.
Главное, что всё работало, пока не подключил Мавен, который УПРОЩАЕТ, ага. Эталонные хуесосы 80 уровня.
Чё за хуйню ты вообще там прописываешь, у меня всё что есть это пикрил.
>Ну как бы по мавеновской документации твой и его вариант аналогичны. Непонятно только почему у него нихуя не работает
Проблема может быть даже не в жабе так-то, хуй его знает.
>Что не так?
Что тебе достаточно вбить вгуголь "Maven in 5 min" где тебе офф гайд дадут как сделоть новый проект и дальше про мавен можно забыть.
>Нахуй иди.
Окей, минус один господин что поможет тебе с чем-то в этом итт.
>>301876
>Я по урокам изучаю, начал с нового проекта. Что не так?
Ты не способен в гугл? Наверное это. Ты ахуеешь когда начнёшь изучать что-то посложнее типа спринга. Не поверишь, но в 90% гайдов понаписана хуйня да даже в доках написана непонятная хуйня и тебе нужно будет блять ебаться с каждой строчкой кода и ахуевать почему не работает задрачивая ебаный гугл.
Значит ты неправильно делаешь.
>>301880
https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
Там нет НИ СЛОВА, что еще какой-то <build> нужно описывать. Как и в туториалах.
Узнал об этом на дваче, вообще охуеть.
Вся жава - сплошное говноедство. От синтаксиса, до философии.
После Питоновского pip хочется обоссать Maven.
>Я ЖЕ НОЖАЛ CTRL+C CTRL+V ХУЛЕ НЕ РАБОТАЕТ?!
Чувак, а у тебя возможно не работало потому что там очепятка. https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
Сам найдешь или подсказать?
Чтобы запустить сраный хеллоуворлд нужно изучать криворукий велосипед под названием Мавен.>>301891
>https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
Опа! И правда! Спасибо, анончик, теперь работает.
И никаких предупреждений, ничего.
Очень печально, что ты не понимаешь зачем нужен Maven. Посмотрел бы я, как ты проекты с хотя бы двумя десятками зависимостей бы собирал без него
Он и спринг не сможет запустить. Хотя я тоже не мог и бугуртил, пока не узнал про мавен, лул.
Могу. У меня бугурт, почему говноМавен, равно как и IDE не выдал предупреждения или ошибки на параметры.
Схуяль он тебя должен предупреждать, если это не ошибка? То что ты сделал - определил новую константу, откуда мавену знать, что ты обосрался, а не намеренно сделал это?
Попробуй gradle, он вроде попроще, но без мавена ты войти не вайдешь
>Схуяль он тебя должен предупреждать, если это не ошибка? То что ты сделал - определил новую константу, откуда мавену знать, что ты обосрался, а не намеренно сделал это?
XML
@
2018
На РЕСТ апи в 30 потоков выгружаются данные. АПИ тормозит. Как повысить производительность, если локально один запрос выполняется за 15 мс?
Апи написано на спринг буте.
Обычно джависты отображают json в иерархию объктов. Как в таком случае вычислить хэш от вложенного json после выполнения маппинга? Хэшировать значение, которое возвращает toString() вложенного объекта?
а просто hashCode в том классе не завезли? Не знаю насколько это хуёво, но можешь сам написать этот метод для него
>а просто hashCode в том классе не завезли?
hashCode возвращает число, а мне нужен хэш SHA256.
> Удачи расписывать лайфтайм на каждый чих
Начиная с 2018 варианта (впрочем в версии 1.31 они бекпортировали и в 2015 вариант) лайфтаймы нужны будут только в очень редких случаях. Они даже из стандартной библиотеки после этого изменения удалили 87% всех лайфтаймов, лол. https://github.com/rust-lang/rust/issues/15872
Называть неосилятором того, кто не согласен жрать говно - это по-говноедски, говноед.
>тормозит
В каком месте?
>Как повысить производительность
Найти место, где тормозит, и оптимизировать его.
Java очень проста. А вот Spring и т.п. поебота - это костыли для поциентов с альтернативно-одаренным мышлением.
https://www.youtube.com/watch?v=rWNy-PPp9Xo&list=PLm3OIf9VOVYvZ9B4mx5o-MZlAdk_KXEsq&index=10
Теперь хочу написать веб-приложение, например чтобы воровало случайные статьи или картинки с Википедии, ну или парсер какой-нибудь. Куда копать? Нужна практика по Спрингу. Из скиллов только ванильная Java + вот эти вышеупомянутые туториалы.
Ой, не туда
В спеке 2.5 и 3.0 пункт 7.7.1 одинаков: " The container must ensure that manipulation of internal data structures representing the session attributes is performed in a thread safe manner. The Developer has the responsibility for thread safe access to the attribute objects themselves." Спек: https://download.oracle.com/otn-pub/jcp/servlet-3.0-fr-eval-oth-JSpec/servlet-3_0-final-spec.pdf?AuthParam=1543389910_f31d276a4e69c94faed5e151e25108b7. Тут написано что этот пункт значит: https://stackoverflow.com/questions/616601/is-httpsession-thread-safe-are-set-get-attribute-thread-safe-operations.
Можно сделать вывод, что ничего в плане синхронизации сессии не изменилось.
Кароче анон, хотел бы написать какой нибудь проект для закрепления материалов по вебтехнологиями НООООООООООООООООООО,но внезапно оказалось что прежде чем писать код, даже самого простого проекта, его бы для начала нужно как то формально спроектикровать.
Иначе ты садишься и нихуя не знаешь с чего начать. Веб морды рисовать, или бекенд писать.
Вообщем, есть ли хороший материал по базовому проектированию проекта, что бы типа повернул башку на стену как у тианочки на картинке, и понял что делать дальше. Спасибо.
Моё имхо:
1) делаешь базовый круд
2) добавляешь %хуйня_нейм%
3) рефакторинг + тесты
4) ГГо то 2
%хуйня_нейм% максимально простая, и её если нужно уже продумываешь на бумажке ручкой
Сначала просто подумай что твоя веб-хуйня должна делать и что она вообще такое.
К примеру.
Сайт с картинками дилдаков, которые можно сохранить. ибо магазин будет тебе сложно писать. Ога, думоем, что нужно?
1 - Личный кабинет для юзеров, откуда сидим и чекаем, попутно сохраняя самые красивые дилдаки.
2 - Темплейты и веб морды, где будут показываться дилдаки.
3 - %фича_нейм% которую тоже было бы нужно добавить.
Потом ты такой садишься и начинаешь думать с чего начать.
Нужно чтобы была домашнаяя страница? Сделал и прописал ей мапинг.
Нужно чтобы этот мапинг обрабатывал контролер. Сделал контроллер.
Домашняя страница готова.
Нужно чтобы можно было зарегаться?
Делаем юзер класс. Делаем темплейт для регистрации, делаем контроллер для этого.
И так далее, смекаешь? Думаешь как сделать %фича_нейм%, думаешь что для этой %фичи_нейм% нужно, выполняешь.
А потом просыпаешься на лекции с криками АРЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ!!!!!111 МАВЕН СЛОЖНО И НЕРАБОТАЕТ
РИИИИИИИИ! ВЕРНИТЕ ПИТОН
>доступ к сессии
>синхронизировать
Впервые слышу такую хуйню вообще.
Контейнер тогда зачем, если программист такой хуйнёй должен заморачиваться?
Сейчас посмотрел исходники Resin 4 - SessionImpl - там используется TreeMap, доступ снаружи синхронизирован (блоки synchronized внутри методов).
Можно, в принципе, скачать и посмотреть исходники Resin 3, но, предполагаю, что там будет то же самое.
Есть два варианта.
Первый - switch и к нему 30 case.
Второй - рефлексией получать гетер.
Это всё обёрнуто в forEach, который 30 раз пробегается, после чего идёт if, в котором .equals я сравниваю два стринга. При совпадении мне нужно или кейс выбрать или рефлексией обработать.
И это всё ещё обёрнуто в for обычный, который 12 раз пробегается.
Что по производительности? Рефлексия или кейсы лучше?
Хочешь сказать, что хуйня, раз столько пробегов? Я просто не вдавался в детали, это говно потом ещё нужно по определённым отчётам расфасовать и в пдф выдавать.
>Синьёр-помидор сказал
А я, по-твоему, кто, лол?
На самом деле - it depends.
Хуй знает, что вы там делаете, на самом деле.
Но, я бы сделал рефлексию и кеш методов (просто HasMap, например). Но, ещё раз - это зависит от многих обстоятельств.
Примерно так внутри работает Apache BeanUtils/PropertyUtils. Там ты можешь получать свойства объектов по имени метода. Возможно, вам стоит его использовать.
И да - это легко проверить. Сделайте простой тест - так и так, и 100000 прогонов. Результат может быть немного не таким, как вы ожидаете.
>А я, по-твоему, кто, лол?
Олд?
Мне-то откуда знать лул.
>Возможно, вам стоит его использовать.
Буду разбираться.
>Сделайте простой тест - так и так, и 100000 прогонов.
Да, я уже сказал своим и буду ща как раз этим заниматься.
Пасибо.
тали тз
нужно валидировать разные комбинации условий для LocalDate fromDate и LocalDate toDate.
например.
1) fromDate никогда не может быть позже toDate
2) для сущности Discount нельзя указать fromDate в прошлом.
3) а для сущности Contract можно.
4) в некоторых случаях fromDate и toDate могут быть одной и той же дато, что означает что период == 1 день, в других случаях toDate должен быть как минимум fromDate + 1day
Задача создать единый метод, валидация которого покрывает все перечисленные условия. Валидация должна выглядеть примерно так:
validateFromToDates(canBePast(fromDate),inclusive(canBePast(toDate)); - обе даты могут быть в прошлом, в том числе быть одной и той же датой. Пример - поиск сущностей по дате. Можно искать в прошлом, в том числе по 1 дню.
validateFromToDates(mustBeFuture(fromDate),exclusive(mustBeFuture(toDate));- обе даты должны быть в будующем, НЕ могут обозначать один и тот же день. Пример - создание скидки. Нельзя создать скидку, применимую в прошлом и ее срок действия не может быть с сегодня до сегодня.
validateFromToDates(canBePast(fromDate),inclusive(mustBeFuture(toDate)); - fromDate может быть в прошлом, toDate должен быть в будующем, в том числе до указанной даты включительно. Пример - контракт подписан давно, но внесен в систему только сейчас и действует до указанной даты включительно.
Уточню - я имел в виду кешировать найденные через рефлексию методы.
Поиск метода - (относительно) медленный, вызов уже найденного - быстрый.
Я проверял, но давно, точных цифр не помню.
Вот прямо так и реализовать, лол.
С условиями и т.п.
Если надо красиво - сделай валидатор, реализующий придуманный тобой internal DSL, с возможностью соединять методы в цепочку.
Типа:
dateValidator.when(dateFrom).notSameAs(dateTo).and().isInFuture();
или
dateValidator.when(dateFrom).ne(dateTo).and().lte(someDate);
ne = Not Equal
lte = Less Than or Equal
И т.п.
Но, это не так просто.
И можешь поискать готовые.
Спасибо анон
Мне нужно вытащить эти вот циферки из него и обкашлять добавлять в лист. Есть for (i=0; i<6; i++)
Эти циферки могут придти любые, к примеру: [0,0,0,99999,0,0] и в любой другой вариации.
Как мне это сделать?
jshell> String[] str = "[0,0,0,0,0,0]".substring(1, 11).split(",");
str ==> String[5] { "0", "0", "0", "0", "0" }
дальше сам довай
ай лол
jshell> String st = "[0,0,0,9999,0,0]";
st ==> "[0,0,0,9999,0,0]"
jshell> String[] str = st.substring(1, st.length()-1).split(",");
str ==> String[6] { "0", "0", "0", "9999", "0", "0" }
jshell> for(String s : str)
...> System.out.println(Integer.parseInt(s));
0
0
0
9999
0
0
Короче вот. Вместо печати добавляешь в лист.
Не компилируемый, медленный, нет многопоточности, кастрированные анонимные функции. Не, для макак всевозможных, которые пишут парашу для веба, пойдет, а для уважающего себя человека, тем более называющего себя программистом–зашквар
Есть контролер. У контролера несколько форм с пост запросом.
Страница одна. Поэтому пост маппинг идет типо /xui-odin , xui-dva и т д.
Есть гет запрос, который эти формы заполняет до того как отобразить страницу. Идет model.addAttribute("xui" new xui(xyz.getX,.. ). модель атрибут каждый свой для каждой формы.
В постмаппинге уканазана это "xui". При запуске приложения все достается заполняется, форма предзаполняется и все работает и норм.
При попытке потестить это говно . Модельатрибут - нуль. То есть в тесте в псот запросе модель не подцепляется(?) спрингом. Ее просто нет.
Если не поменять гетмаппинг на xui-odin например, то для формы с таким же пстмапингом тест заработает и модель появиться.
Тест примерно такой:
this.mvc.perform(MockMvcRequestBuilders.post("/xui")
.accept(MediaType.TEXT_HTML)
.param("xui", "test") ну и далее по тексту.
если ты еще здесь - спасибо большое. заработало :*
Мы сохраняем данные в клевой БД RethinkDB. Проблема возникла с извлечением числовых значений типа Double. Числовые поля могут иметь значения как с дробной частью, так и без нее (пример: 17, 17.0, 17.7). Внутренний формат представления чисел в RethinkDB - 64-битный double. Однако java-драйвер извлекает числа без дробной части как Long, а число с дробной частью как Double. При этом в классах предметной области жестко прописаны типа полей double. Когда драйвер возвращает Long вместо Double, возникает исключение ClassCastException. Как решить эту проблему? Для инициализации каждого поля модели использовать instanceof или написать функцию конвертации?
Кроме этого, значение таких числовых полей в БД могут быть null. Как обработать эту ситуацию?
ебани декоратор)
Двачую за инстансоф. Пусть сеньоры-помидоры расскажут, плохо ли такое решение и как сделать лучше.
Как настроить реконнент к RethinkDB на спринг буте в случае обрыва соединения, если бд упала?
Сап жава-бояре, посоветуйте годных материалов/мануалов/готовых проектов Spring MVC + thymeleaf.
Где сеньоры-помидоры? Никто не знает почему модель.атрибут в тестах нуль если урл поста и гета отличаются?
Давай по подробней. Не совсем ясно как организованны таблицы в БД.
@ManyToMany это когда например есть какая то ОДНА сущность А которая может имеет связь с многими сущностями Б. И наоборот ОДНА сущность может иметь свзяь с многими А. Ключевое слово здесь связь.
Я пока не понимат что с чем ты хочешь связать.
Нет ни одного движка для Java-господ. :-( По поводу Unity. Unreal - в пролете. Гугление только подтвердило догадки.
Всё действительно настолько плохо и нужно вкатываться в C# или есть еще шансы? Игра планируется неспешная полуэкономическая стратегия типа prison architect, dungeon keeper и т.п.
Это скорее графическая библиотека, а нужен движок.
>>303273
house(
adress: text,
area: text //в одном округе много домов
)
waterTest(
type:text,
result:text,
area:text //в одном округе много анализов воды разных типов
)
я решил сделать отдельную таблицу-словарь
area(
name:text
id SERIAL
)
и в двух предыдущих таблицах заменить колонки area на area_id. Так же будет проще соединить это все спрингом?
(мне нужно чтобы в энтити house был список анализов, актуальный для округа, в котором дом расположен)
Таблица округ и таблица дома это связь один ко многим. То есть @OneToMany. В энтити округа будет сэт с домами. Гугли как это делать.
Таблицы дома и тесты это многие ко многим. Промежуточную таблицу сгенерит спринг.
Ну и дальше уже просто запросами в репозитории делать.
получилось через новую таблицу заебашить, спасибо.
ну то есть я сделал
дом --ManyToOne-->> округ --OneToMany-->> анализ
с ManyToMany не разобрался. В общем случае стоит делать связующю таблицу, или использовать ManyToMany, чтобы спринг сам такую таблицу генерировал? мне чото кажется, что второй вариант более ресурсозатратный
Никакого маня-ту-маня у тебя здесь нет - он тебя ввел в заблуждение - только два many-to-one.
Просто лень разбираться в невидимом коде, да и к тому же тут тесты, мы не тестеры!!11!
Размер пула проверял?
Slick2d простое опенсорсное гавно.
Если на рест-сервис должны приходить данные в зашифрованном виде, чтобы документы не были в открытом доступе, как это можно сделать на спринге? Есть примеры?
a b c
1 322 228.2 (эта строка это 1 день)
2 333 228.3 (эта строка это 2 день)
3 111 322.5 (эта строка это 3 день)
Сначала создаю класс день, private int a, private int b, private double c, сеттеры, геттеры, конструктор и переопределяю тустринг
В мейне
Private static final aa, bb, cc
String line = "";
while ((line = fileReader.readLine()) != null) {
String[] tokens = line.split(COMMA_DELIMITER);
if (tokens.length > 0) {
Day someday = new Day(Integer.parseInt(tokens[aa].trim()), Integer.parseInt(tokens[bb].trim()
), Double.parseDouble(tokens[cc].trim())
list.add(someday);}}
for (Object someday : list) {
System.out.println(someday.toString());}
Я могу вывести файл в консоль вот так
a b c
1 322 228.2
2 333 228.3
3 111 322.5
Я могу вывести каждый день пот отдельности.
Получается, 1 день – 1 объект в листе и так до конца. ( каждый день состоит из 3 переменных)
Но как блять мне вывести на экран только значение b всех дней, какого-либо дня ?
Как мне сравнивать значение с первого и третьего или первого и второго дня?
a b c
1 322 228.2 (эта строка это 1 день)
2 333 228.3 (эта строка это 2 день)
3 111 322.5 (эта строка это 3 день)
Сначала создаю класс день, private int a, private int b, private double c, сеттеры, геттеры, конструктор и переопределяю тустринг
В мейне
Private static final aa, bb, cc
String line = "";
while ((line = fileReader.readLine()) != null) {
String[] tokens = line.split(COMMA_DELIMITER);
if (tokens.length > 0) {
Day someday = new Day(Integer.parseInt(tokens[aa].trim()), Integer.parseInt(tokens[bb].trim()
), Double.parseDouble(tokens[cc].trim())
list.add(someday);}}
for (Object someday : list) {
System.out.println(someday.toString());}
Я могу вывести файл в консоль вот так
a b c
1 322 228.2
2 333 228.3
3 111 322.5
Я могу вывести каждый день пот отдельности.
Получается, 1 день – 1 объект в листе и так до конца. ( каждый день состоит из 3 переменных)
Но как блять мне вывести на экран только значение b всех дней, какого-либо дня ?
Как мне сравнивать значение с первого и третьего или первого и второго дня?
В Питоне можно array[-1]
Если -1, то последний элемент, -2 предпоследний и так далее.
заебало писать array.lenght
К тому же не всегда это возможно Пример:
System.out.println(
TestClass.getClass().toString().split("\\.")[-1]
);
Как мне написать имя класса после последней точки без ввода отдельной переменной для масива? Стримы это ебанько для таких задач. Равно как и конструкции типа:
new ArrayDeque<>( Arrays.asList(TestClass.getClass().toString().split("\\."))).getLast()
Помогите, пожалуйста.
Как выводить на экран объект объекта листа ? Да да, вам не послышалось, или тут вообще не нужны листы ебучие
Ладно, так и сделаю, когда пожру. Признаю свою вину(я ещё зелёный). Но мб пока кто-то успеет ответить, мне кажется, на этот вопрос можно и без кода ответить
Нахуй ты ту стринг переопределяешь если тебе нужно выводить только определённые поля?
System.out.println("Pidor " + someday.getB());
Ты когда парсишь свой файл, добавляешь каждый день в List<Day>, вот где у тебя list.add(someday). Потом
for (Day someday : list) { someday.getB(); }
В чем проблема-то?
TestClass.getClass().getSimpleName()
????
int i = array[array.lenght - 2] ;
Вот тебе и последний элемент массива. Не забываем что начинается с 0
В чём твоя проблема?
Что пробовали:
Просто юнит тест без контекста со стэндэлон стетапом.
@SpringBootTest - c WebApplicationContext
Тесты c WebAppContext + WebMvcTest c ContexConfiguration...
MockMvcBuilders.webAppContextSetup(wac).apply(springSecurity()).build();
В контроллере ;
Маппинги @GetMapping(/"xui")
public String xui(Model model){
..
model.addAttribute("xuiForm1", xuiForm1)
model.addAttribute("xuiForm2", xuiForm2)
....
return "xui"
}
У пост мапинга нет вью только экшон в форме в тимлифе.
@PostMapping(/"xui-action1")
public String xuiFromOne( @Valid @ModelAttribute("xuiForm") XuiForm xmf ,....){
..Действия с формой
}
Пост маппингов несколько - несколько форм на страницу.
Запросы к форме находятся за спирг-секьюрити. Используется @WithMockUser и тут все ок.
Тест типо
mvc.perform(get("/xui"))
.andExpect(model().attribute("xuiModel",any(XuiForm.class))) // Даже заполненая форма проходит тесты то есть все ок.
......
.andDo(print());
проходит.
То есть в гет запросе модель.атрибут присутствует.
Тесты к посту dblf
mvc.perform(post("/user/user-profile-uf")
.accept(MediaType.TEXT_HTML)
.param("paramName","abracdabra")
..... .andDo(print());
)
Выдают
ModelAndView:
View name = null
View = null
Model = null
Content type = null
Body =
Forwarded URL = /403
Redirected URL = null
Что странно ибо все работает. Все сохраняет и т д если запустить спринг и потыкать из брауезра. Все поля которые нужно сохраняет в БД. Валидация полей работает. Все ок вообщем.
Гугл говорит что @ModelAtribut вообще невозможно протестить. И не надо. А как тогда блять.
https://stackoverflow.com/questions/19160391/how-to-test-modelattribute-parameter-by-mockmvc
Что пробовали:
Просто юнит тест без контекста со стэндэлон стетапом.
@SpringBootTest - c WebApplicationContext
Тесты c WebAppContext + WebMvcTest c ContexConfiguration...
MockMvcBuilders.webAppContextSetup(wac).apply(springSecurity()).build();
В контроллере ;
Маппинги @GetMapping(/"xui")
public String xui(Model model){
..
model.addAttribute("xuiForm1", xuiForm1)
model.addAttribute("xuiForm2", xuiForm2)
....
return "xui"
}
У пост мапинга нет вью только экшон в форме в тимлифе.
@PostMapping(/"xui-action1")
public String xuiFromOne( @Valid @ModelAttribute("xuiForm") XuiForm xmf ,....){
..Действия с формой
}
Пост маппингов несколько - несколько форм на страницу.
Запросы к форме находятся за спирг-секьюрити. Используется @WithMockUser и тут все ок.
Тест типо
mvc.perform(get("/xui"))
.andExpect(model().attribute("xuiModel",any(XuiForm.class))) // Даже заполненая форма проходит тесты то есть все ок.
......
.andDo(print());
проходит.
То есть в гет запросе модель.атрибут присутствует.
Тесты к посту dblf
mvc.perform(post("/user/user-profile-uf")
.accept(MediaType.TEXT_HTML)
.param("paramName","abracdabra")
..... .andDo(print());
)
Выдают
ModelAndView:
View name = null
View = null
Model = null
Content type = null
Body =
Forwarded URL = /403
Redirected URL = null
Что странно ибо все работает. Все сохраняет и т д если запустить спринг и потыкать из брауезра. Все поля которые нужно сохраняет в БД. Валидация полей работает. Все ок вообщем.
Гугл говорит что @ModelAtribut вообще невозможно протестить. И не надо. А как тогда блять.
https://stackoverflow.com/questions/19160391/how-to-test-modelattribute-parameter-by-mockmvc
Там же вроде много окргуов может быть у 1 анализа не?
Спасибо большое, я это вроде понял, а если я хочу вывести getB с 3 по 8 день, что делать? Перепробовал все циклы со всем, что может быть, вообще не подходит.
Не совсем понял, что с этим делать и для чего
List<Day> list = new ArrayList<>();
//...парсишь csv...
list.add(someday);
for (int i = 3; i <= 8; i++) { int b = list.get(i).getB(); }
Вопрос о том, как получить последний элемент массива без именования этого массива.
Никак.
Я не понимаю зачем? Ты что, так часто это делаешь? А если да, то почему не обобщить решение? Делай метод который возвращает последний элемент массива. Какие проблемы? Принципиально никак. Java не питон.
Больные ублюдки.
Я тоже изъебнусь щас:
new ArrayDeque<>(Arrays.asList(array)).getLast()
Интересно, Котлин такое же говно?
В чем может быть причина, что эта хрень в Spring MVC не хочет отдавать страницы по указанному шаблону-адресу, но отдает Index.jsp из корня?
Здесь же с кодом всё в порядке?
Как же ты заебал со своим питоном уже
>new ArrayDeque<>(Arrays.asList(array)).getLast()
Кстати, всегда удивлялся говноедству компилятора Java - он жрет любое говно. Эта запись лишена смысла, имеет смысл лишь что-то такое:
(new ArrayDeque<>(Arrays.asList(array))).getLast()
Возможно, контейнер дефолтным сервлетом это обрабатывает, а не спринг.
Напиши свой, на питоне. А мы словим лулзов с твоего нерабочего говна.
enum direction{
UP, RIGHT, DOWN, LEFT;
}
Так вот, я бы хотел прилипить прямо в это ебучие перечисление ещё методы "поворотов", но не знаю правильно ли я понимаю всю суть. У меня проблемы с сигнатурой метода и "созданием нового элемента". Короче смотри, я натыкал знаков вопроса в непонятных мне местах:
direction? rotateClockwise(){
? = (this.ordinal() + 1) % this.values().length;
return direction(??)
}
всё это для того, чтоб можно былоб сделать так:
direction.UP.rotateClockwise() давало мне direction.RIGHT
Нет, твой RequestMapping должен быть над контроллером. А над методом надо прописать либо GetMapping или RequestMapping( value = %твой_валью% method = RequestMethod.GET)
Мне кажется, что ты не понял смысла енумов. Зачем тебе получать одно значение, которое в этом же енуме, через другое. Пусть метод в зависимости от параметра возвратит тебе енум.
String url = "https://2ch.hk/pr/res/1299742.html#1303954 (М)";
URL obj = new URL(url);
HttpURLConnection connection = (HttpURLConnection) obj.openConnection();
connection.setRequestMethod("GET ASECHKA_PISECHKA");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
Хочу чтоб вся "арифметика" на этом перечислении была в одном месте.
Чую, что проще написать static class самому и заебенить туда final констант. Оно ж вроде тоже самое при компиляции из enum делает.
Если тебе скажут уменьшить необходимый объём памяти для жаба-приложения, покопавшись в байтах, тоже пойдёшь выполнять?
Байтоебля не пройдёт!
Внатуре читер, используй встраивание нативного кода на Си, ибо это труЪ вариант.
там этот parseUnsignedInt точно так жетолько наоборот работает.
long ell = Long.parseLong(s, radix);
if ((ell & 0xffff_ffff_0000_0000L) == 0) {
return (int) ell;
}
Да какие там вычисления, это задания к первой главе. Только-только книгу открыть успл.
Посоны, как тут по-модному на стримах сделать? Нужно найти символы которые лежат за пределами диапазона ASCII. Я чуток поковырялся, но так и не осилил. Это всё ваше функциональное СЛОЖНО. С наскока хуй поймёшь чо там и как.
А за что именно в энтерпрайзе отвечает джава? Серверное ПО, обрабатывающее запросы клиентов? Если так, то разве нет других языков, справляющихся с этим лучше?
str.chars() возвращает IntStream, поэтому println выведет числа вместо символов, ну можно еще
.forEach(ch -> System.out.println((char) ch))
Правильно ли я понял, когда нужно подменить статические классы на классы заглушки и проводить модульное тестирование?
>разве нет других языков, справляющихся с этим лучше?
Представляешь, нет.
Неожиданно, да?
Или ты думал, что вот все такие дураки, сидят тупят.
И тут появляешься ты - на белом коне, молодой и красивый.
И говоришь - "Жаба гавно!".
И все такие - "Да, да, он прав, как же мы раньше не понимали!".
И все начинают писать на шарпе, лол.
Я просто спросил. За питон не топлю, если что. К чему сарказм?
>2019
>java
Что валидировать-то? Что данные не пустые или расшифровать и проверить содержимое? Если второй случай, почему просто не использовать https?
Нет в спринге, используй quartz
>>304140
Добра!
>>304177
Core Java SE 9 for the Impatient. В треде советовали недавно.
Охуенная книга и задания интересные. В одном просят написать метод, печатающий строку, а в следующем просят пойти нахуй в исходники jdk, найти там использование labeled break или continue и переписать это место без них. Алсо, может кто-нибудь подскажет, где я могу найти эти самые labeled break или continue в сорцах?
на мудила, что не может рекурсивно грепнуть, тебе обрывы с этикетками:
https://pastebin.com/vVXC8yMj
enum direction{
UP, RIGHT, DOWN, LEFT;
direction clockwise(){
return this.values()[(this.ordinal() + 1) % this.values().length];
}
}
Думаю, смысл сего упражнения был в том, шоб поциент сначала пытался добавить 200 метров исходников в идею, сосал хуй, лопатил сорсы руками, смотрел на них глазами, прочитывал пару комментов, потом вспоминал, что есть греп что посоны на дваче всегда помогут, ведь тут все его друзья, и находил наконец свои брейки. А на брейки с этикетками всем похуй.
>A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
upwork и crossover фрилансом не считается?
На апворке по жаве заказов много. Не так много как на жс конечно но точно в лидерах когда я проверял пару месяцев назад.
@EnableTelegramBots отсюда https://github.com/rubenlagus/TelegramBots/wiki/FAQ#spring_boot_starter не видно. чяднт?
Решение знаю. Но зачем тебе? Просто оччень знакомая специфическая задача, наводит на некоторые мысли
чтоб потом расширять функциональность программы лишь одним добавлением файла с классом, который реализует интерфейс, без ебатьни с переписыванием нескольких мест. что-то вроде плагинов будет.
В maven пропиши:
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.11</version>
</dependency>
И сделай похожий метод:
public static void checkIfRequestsImplementValidate() throws NoSuchMethodException {
Class<BaseRequest> baseClass = BaseRequest.class;
Reflections reflections = new Reflections();
Set<Class<? extends BaseRequest>> subClasses = reflections.getSubTypesOf(baseClass);
try {
for (Class<? extends BaseRequest> clazz : subClasses) {
clazz.getDeclaredMethod("validate");
}
} catch (NoSuchMethodException e) {
throw new NoSuchMethodException("Не реализован метод validate() в одном из подклассов класса BaseRequest");
}
}
Добавлю, что у меня метод проверяет, что все подклассы класса BaseRequest имплементируют интерфейс (а именно его метод validate()). Под себя подпили короч.
Гугл говорит add your own @Configuration class of type WebMvcConfigurer but without @EnableWebMvc. https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc-auto-configuration
и писать в нем
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/1/")
.addResourceLocations("file:///C:/"); // путь я хуй знает как писать вообще 1 слэш 2 слэша 3 хуй пойми.
}
Но чет тимлиф шлет меня нахуй и картинки не показывает.
Бля, только сейчас перечитал твою задачу и понял. Тогда я тебе хуйню посоветовал. Вот по твоей теме:
https://stackoverflow.com/questions/2548384/java-get-a-list-of-all-classes-loaded-in-the-jvm
Получишь список всех классов в пакете для плагинов, а там просто пройдешься по ним через getInterfaces().
збс, нашёл способ, подцепил эту либу, запедорил рефлекш и там уже был метод getSubTypesOf, что как раз это и делает. спс!
Учу гит. Было состояние репозитория как на пик1. Решил rebase images2 сделать на develop(его видно на пик2). Гит чёт там предложил замёржить images2 и origin/images2. В итоге получил пик2. Как вернуть назад к состоянию пика1?
git log --all --graph или git log --all
Выбираешь предыдущее состояние в логе, запоминаешь 5 циферок его хэша и пишешь это:
git reset --hard <цифры хэша>
Должно помочь.
Не шарю в спринге, но попробуй задать относительный путь к файлу: ./spring/sasat/yourjpeg. И да, надеюсь, ты в курсе, что в линуксе прямые слэши, а на винде обратные. Хотя хуй знает, может и не в этом дело вовсе.
Я его достал sql запросом, и засунул в коллекцию.
Но я не понимаю, какую коллекцию использовать для таких манипуляций, ведь при обновлении страницы у админа, надо перезагружать список всех пользователей и создавать новую. Вроде как LinkedList быстр на добавление в конец?
Array не использовал, т.к. не было надобности доставать юзеров(в данном конкретном случае) по Id.
Кароч я аутист, дошёл до ЕЕ, но до сих пор не могу вкурить где какую коллекцию юзать.
LinkedList почти всегда можно успешно заменить ArrayList (кроме случая, когда тебе надо в середину списка добавлять). Используй какой-нибудь хэшмап из идентификаторов на юзеров. Ну или если нужен тупо список пользователей, без айди, то хэшсет. Вообще от задач зависит, с хэшсетом можно будет быстро искать пользователя, а ArrayList позволит обращаться к юзерам по индексу. Короче смотря что тебе надо.
Есть лист объектов. В каждом объекте по 4 значения.
GetData GetA GetB GetC
GetData - там просто число, которое будет увеличиваться с каждым днём.
Нужно сравнивать объекты между собой, 0 и 1 день, 1 и 2 день и так до конца. На экран надо вывести те объекты, в которых getA будет больше, чем в предыдущий день, и getB будет меньше, чем в предыдущий день и сумму getC этих дней
Те вывести те дни, которые двум условиям сразу подходят (||)
Забыл сказать, анончики, там дата не константо увеличивается на единицу, может быть 5 , а потом 9. Так что, наверное, лучше по объектам сравнивать, а не по дате, просто важно, чтоб на выходе был день x+1, который бы был лучше по условиям дня x
Я нихера не понял, ну пройдись циклом, начиная со второго и сравнивая с предыдущим, и выведи, если условие выполняется. А вообще вместо этой бесполезной простыни лучше бы код написал.
Да я уже по всякому пробовал. Весь стаковерфлоу перерыл.
И по пути типо file: с разным количеством слешей/наклонов и просто путь до диска полного.
Мне кажется тупо надо где то аннотацию добавить или еще какую то залупу. В спринге очень много такого говна которое даже нигде не упоминается а оно ДОЛЖНО БЫТЬ.
>>301640
суп, джавач.
Подскажите, пожалуйста, годный курс на stepik по java.
inb: прошёл курс java на кодеакадему,sololearn, читаю java 2 Shildt, и HeadFirst Java.
вопрос почти снят. увидел его в шапке.
что после него делать на том же степик? смотреть туториалы жидбрейнс?
как до джуна дорасти?
Это сложный и тернистый путь, но есть неплохой план:
1.Ищешь вакансию куда хотел бы попасть
2.Смотришь требования
3.Засовываешь себе в анус говнокурсы по освоению хеллоу ворлдов за 4 месяца
4.Пиздуешь гуглить документации и статьи
Двачую единственный верный путь.
https://stackoverflow.com/questions/45651119/spring-boot-images-uploading-and-serving
Чтобы эта хуета заработала где то нужны еще какие то настройки?
Потому что блять не работает нихуя. сука ебаный спринг бут блять все изкоробки блять говно сука ебучее
На степике дальше пидорась вот эти два курса - один по дженерикам, второй по фукнциональму программированию.
А после там же смотри в полглаза курс по базам данных и принимайся за Спринг.
На джуна после всего этого не возьмут, но на стажировку вполне. Какой город?
Инженер тестировщик итт. Вопрос в том, куда развиваться дальше? Я год гружу системы различные, дело интересное. Но как мне кажется мало кому нужное за бугром. Все вакансии которые я видел qa, там везде требуется автоматизатор плюс нагрузочник. Я пока только нагрузочник. Есть мысли изучать параллельно автоматизацию, это интересно, оплачиваемо и самое важное для меня есть возможность работать удаленно.
А есть второй вариант, пойти в разработку бэк эндов всяких банков и тд.
Я не очень понимаю, если я буду искать джавистом, то что именно мне искать? Какие варианты развивтия с таким стеком Jmeter, HP LoadRunner, Java core, SQL, чуть чуть спринга, Netty, Андроид где то пару лет назадНо это уже неактуально, там все на котлине пишут как я понял можно выбрать?
Если б компании разрешили еще и автоматизацией заниматься, был бы круто. Но у нас как я понимаю не очень любят терять нагрузочников.
Так что какой стул выбирать?
облять, первая зря приклеилась
Я бы второй ридер на строку сделал. Красивее решение и понятнее получилось бы.
Спасибо, но что-то документация несколько предостерегающая
Если разные - какое лучше?
Если одно, то, видимо, глюон новее, да?
что вообще такое этот Gluon? Почему у них в разработках указан Java FX?
Nie. Не ясно. А на чём тогда строить графические мультиплатформнные приложения, если не на FX?
ну, а как? Вот, играю я в d&D. Мне нужна удобная приложуха для того чтоб быстро искать правила или, там, тречить инициативу. Хз. Не важно, на самом деле.
взял джаву, набросал. Нужна ещё кому-то - доделываешь.
Разве не так?
Периодически
Джаваны, ради смеха, есть ли реально какой-нибудь простой и кроткий в понимании код, который в Котлине выглядит убого и тупо, а в Java вполне себе стройно и понятно?
У меня не получилось по-доброму потроллить Котлиноёбов. Я, на самом деле, ничего против них не имею, просто интересно.
А без хардкора? Мне достаточно наглядного петросянства в две строчки до и после.
Что они иначе считают? Ты сука мне альтернативу javaFX покажешь, или на AWT окна собираешь?
>Что они иначе считают?
В вопросе сначала разберись, зелень. И не кричи на мать! Интелиж на чём сделан? Поддержка JX до когда будет? А? а?
>простой и кроткий в понимании код, который в Котлине выглядит убого и тупо, а в Java вполне себе стройно и понятно
только наоборот есть
Так блядь. Я победил это говно и добился динамической подгрузки картинок с диска. Збс. Наконец то можно загрузить картинку через хтмл тыкалку и сразу ее увидеть на странице и не перезагружать сервак целиком. Потому что папка помеченная ресурсес даже у аллаха в жопе за пределами пакета будет КОМПИЛИРОВАТЬСЯ ВМЕСТЕ С ПАКЕТОМ НУ АХУЕТЬ ТЕПЕРЬ. Но я это поправил.
Интуитивно все ахуеть просто.
ИДЕА еще поднасрала своими настройками.
Буду держать Вас в курсе.
Канкуренси ин практис. Обедающие философы и классика жанра. Для ознакомления пойдет.
Электрон же. Лучше его освой, хоть на галеру возьмут. А на свингах и прочих син билдерах работы нет.
У тебя в эксепшон упадет
сука просто скажи, что использовать. на чём там интелиж ебаный сделан дело третье.
Это и есть джава. В котлине нет чекед эксепшнов, поэтому там не пришлось бы внутри мапа писать трай, но снаружи скорее всего пригодилось бы.
Анон, ты работал с Sentry для джавы? Поделись опытом конфигурирования для спринга, пожалуйста. Сообщения отправляются, но на сайте эксепшены не отображаются.
https://ru.stackoverflow.com/questions/916189/spring-boot-интеграция-sentry
А разве ссылка на список, создаваемая в цикле не падает в триугольник? Тоесть, если я правильно понимаю, для мусорщика там работы нет, что в первом, что во втором варианте.
>ссылка падает в треугольник
Я уж не знаю, конечно, чего там навводили со времен 8 жавы, но в 8 жаве такой херни не было
Короче я понял, что имел в виду под "падением в треугольник". Да, копии объекта не создаются, gc нечего забирать, тут я неправ. Но вот копии ссылки nextRow создаются на каждой итерации, так что ты все равно тратишь на это память.
А, блять, ссылки же уничтожаются при выходе из тела цикла. Ладно, я обосрался, тогда все норм у тебя.
Кстати, похоже в этом варианте после clear() в куче останутся бесхозные интеджеры. Такшо, если я не ошибаюсь, работа для gc появляется как раз именно тут.
Swing. Его используют. Его поддерживают. У него есть коммьюнити. На нём есть коммерческие проекты интилж.
hasPermission(... Serializable targetId, ...)
в котором ищу объект по id и потом определяю есть ли доступ к объекту. Что возвращать, если объект с id не найден? Если false, то клиенту вернется 403 вместо 404, если true, то придется в аннотируемом методе еще раз искать по id.
Тут код подробно расписан: https://pastebin.com/E2ZpRgZs
нахуя тогда создавали javaFX? я-то понимаю, что создать новый выблядок не проблемма, но не пустом же месте его создавали. у свинга просто уёбищный подход к событиям и анимации, нихуя нету под управления пальцами, ну и блять эти ебучие компоновщики там, одно воспоминание о которых, вызывает у меня лёгко чувство отвращение и пренебрежение, как от тюремного изнасилования.
вот, вот, ебать этот свинг в сраку с таким подходом.
https://pastebin.com/UBgG149s
Пошел нахуй. Хочешь - учи и дрочи на него. Удачи с работой на нём, отпиши в тред как найдёшь, полюбуемся.
Пасиба.
ну а без кукареканья ты по существу что сказать можешь? ну кроме, что бляди из пидраграда всё своёй проект со старого дерьма мигрировать не могут, и нам, значит, тоже не нужно.
Мелкобуква порвалась. Я тебе уже пожелал удачи с поиском работы. Хочешь обоссать весь тред и заодно всех остальных погромистов? Неси сюда где твой fx активно юзается, где он нужен, как туда попасть, покажи нам крупные коммерческие проекты в которые можно вкатится. Без них - ты говно и твой fx тоже.
ах, ясно, понятно, ты просто макака в поисках работы, что мониторит вакансии. ну хули, раз по существу претензий нет, ебальничком и не хлюпай.
1. SELECT перед INSERT - самый очевидный вариант, при этом: лишний запрос к бд, усложняет код, не гарантирует уникальность.
2. saveAndFlush() в try/catch и выкинуть собственное runtime-исключение c @ResponseStatus.
3. @ExcepionHandler.
Есть какие-нибудь best practices?
У меня есть два класса в двух файлах:
1)
Класс Perdak лежит в пакете model.human.bodyparts
лежит в файле src/model/human/bodyparts/Perdak.java
2)
Класс Pidor лежит в пакете model.human
лежит в файле src/model/human/Pidor.java
Они оба должны знать друг о друге. Как там пропихнуть импорты?
>бляди из пидраграда всё своёй проект со старого дерьма мигрировать не могут
Ребят, про что несёт вообще? Есть переводчики с пахомьего?
Шизик в стадии обострения, тебе же красным по голубому написали, блядь, что работы на эфиксе НЕТ. Докажи обратное, а не огрызайся. Обидно тебе, что целый хелоу ворд в окошке сделал, а твой любимый fx обкакали?
Воистину.
Так-то я джуно-мидл, и свободно гребу на галере. Как же сильно тебе припекло от моих слов, да? Наверно ты до разрыва ануса учил эфэкс и когда тебя обосали на первом собесе, сказав что нужен свинг, ты припёрся сюда, только вот палишься сильно, мелкобуква.
типичное нытьё петуха-макаки из бокса-курятника. погромист сверху сказал прыгать, макака и прыгает в такт с 8-16. зачем прыгать и как долго, макака не знает, дальше курятника никогда ничего не видела. заебись, чё.
ахахахахаха, откукаречиваешься. завтра с утра опять в петушарню?
Надо запустить приложение в докере под 10-й джавой на убунте. Не могу нагуглить пакет 10-й джавы. Как она называется в репозитории?
Что прочитать/пролистать про сам язык, про какие-то стандартные библиотеки/решения, чтобы более-менее ориентироваться в коде?
Его не за FX обоссали, а за то, что он кукарекает о том, в чём не разбирается.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>main</groupId>
<artifactId>main</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>main</groupId>
<artifactId>main</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
JPA относится к Java EE, а его API ты добавить забыл.
Допиши
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0.2</version>
</dependency>
Или лучше так:
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
Двачую реквест.
Джун
"jpa в целом" нинужно
DTO используется чтобы в случае изменения Entity не обосраться с API.
>>307443
Ведроид, облачнодроч.
>>307743
Нет.
>>307506
А ещё проект на джаве безопаснее имеет конечные сроки разработки.
>>306835
Нельзя, т.к. это лямбда, наследующая Function, в сигнатуре которой нет выброса чекед исключений.
>>306623
Двачую.
>>307013
Тем что это скрещиваение ужа с ежом, которое не взлетело и после этого нигде нахуй никому не упало из-за ебической жадности сложной гуевой жабы до ресурсов. Те же жидбрейнс и майнкрафт из коробки ещё сносны, но по мере обвешивания кастомными перделками потребление всего растет по экспоненте.
>>305909
>Handler'ы смотри.
>ResponseEntity.Builder смотри.
>Не благодари.
>>305348
>Проверь версию.
>Сделай реимпорт.
>Почисти кэш идеи
>>303680
>Forwarded URL = /403
Скорее всего у тебя с мок юзером что-то не то.
Тебе для чего? Если для вкатывания, то 8 выше крыши будет.
1) создать объект в скрипте var obj = { “name”: $(‘form’).val()}
2) сериализовать поля формы : var arrObj = $(‘form’).serializeArray();
Перевести массив в формат JSON.
Второй подход кажется более универсальным, так как можно добавлять поля в форму и не менять js скрипт.
Кун 24 лвл, планирую вкатиться в джава с нуля (программистского бэкграунда нет), подойдут ли платные курсы на hexclet для вкатывания?
По codeacademy пару хеллоу ворлдов написал.
гуманитарная вышка, английский С1
так и думал. спасибо
Отправялй как form/urlencoded и не еби мозги.
Как можно дать для себя определение лямбды в джаве? Можно ли думать о них как о реализациях функциональных интерфейсов, или это слишком грубо?
в целлофановый пакетик
Collections::synchronizedMap
Но это полный лок на всю мапку, лучше тогда ConcurrentHashMap у нее будет несколько на разные области мапки.
Или не выдавать классам саму мапку, а некий другой интерфейс где уже самому руководить локами.
Как об удобной замене внутренних анонимных классов. Не уверен, но думаю, что за кулисами все равно создается анонимный класс.
Ля, как убрать эту залупу, чтоб если слово было окружено двоеточием, то чтоб оно не превращялось в монолит????
intelij idea
alt+enter на том месте и там отключить показ типов
ради денег смысла вкатываться нет.
1) Все "настоящие" программисты больны этим со школьных лет. Пытаться штудировать эти учебники через нехочу нет никакого смысла - у тебя нет такой силы воли и каменной жопы
2) Это неблагодарная работа, дающая геморрой, сколиоз, близорукость, отсутствие навыков общения. Ты все 9 часов будешь сидеть на стуле, молча, перед монитором, и пердолить очередное говно. Уж лучше учиться кабанчиком подскакивать или там машины ремонтировать - больше перспектив
Так мне ж интересно это всё, и я не рассчитываю на 300к/наносек после месяца обучения, отдаю себе отчет что сначала и за копейки придется поработать.
К монотонной, "сидящей" работе готов.
Посмотри байткод же, ну.
прочитай книгу по синтаксису жавы. Потом начинай делать проекты со всяким сетевым взаимодействием, можно без фреймворков. Важно количество практики, а не прослушивание говорящей головы
В реквесте на JSP приходит атрибут "цена".
Задача: как можно средствами JS вывести на странице в реалтайм СТОИМОСТЬ?
от комплекса неполноценности столько самоуверенности, я так смотрю.
В Джава треде знают, что такое ЖСП и реквест скоуп, а в ЖС нихуя, так что ничуть не ошибся.
Твой бэкенд - не бэкенд, жава-боги с презрением смотрят на тебя с Олимпа!
А если я хочу планировать и организовывать производственный процесс? Мне нравится придумывать решения проблем и воплощать их в жизнь. В любом случае придётся начинать рядовым джуниором, дабы прочувствовать, вникнуть как всё это устроено и затем взбираться по этой лестнице до project manager'a
>А если я хочу планировать и организовывать производственный процесс? Мне нравится придумывать решения проблем и воплощать их в жизнь.
Иди сразу в бизнес. Хоть киоск с кофе например
Программисты это тупые исполнители. Отсюда и до обеда и все такое
Алсо что-то я тупанул с вопросом, все оказалось слишком элементарно.
WordPress. Нахуй тебе Java?
public interface bla<T, M> {
...
T getFoo ();
M getBar ();
...
}
что это за <T, M> в объявлении интерфейса?
public abstract class Foo{
static String representation = "?";
Foo(){}
public String toString(){
return representation;
}
}
от него наследует класс Bar:
public class Bar extends Foo{
static representation = "#";
Bar(){}
}
Как сделать, чтоб toString() на объектах Bar выдавал "#" ? Нужно ли будет обязательно перегружать toString()? Что-то как-то это ваше ООП больше морочит, нежели позволяет избегать повторения кода.
Двачую вопрос. И еще, подскажите, вот эти буквы T, M, V, R выбираются не от балды, а по какому-то соглашению. Можете напомнить? Где-то видел, а теперь не найду.
может
"timestamp": 1512713804164,
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/some-dummy-url"
изменив только сообщение и статус без ResponseEntity?
Дженерик, а-ля ArrayList<Integer>
Сделал хеллоуворлд на Spring MVC + Hibernate. На локальной пека работает. А как это дело выгрузить во внешний мир чтобы показать, мол, смотрите, какой хеллоуворлд сделал. Есть ли бесплатные серверы, чтобы просто выложить для пары человек, без анальных подписок и хардкорного пердолинга с настройками?
heroku
Я просто не понимаю как это всё работает нахуй, пиздец какой-то, документация хуета, гайдов в интернете ноль, одни нахуй заготовки для копипастинга.
Открыть Spring in Action или какого-то баелдунга чекнуть или просто попердолится и поекстендить и посмотреть самому не?
>Открыть Spring in Action или какого-то баелдунга чекнуть
>Я блять уже всё это расковырял до самых орешков.
>нонипонял(((((
Почитай Spring in Action 4, где есть глава про security
Я не так давно залил курс на эту тему.
https://coursehunters.net/course/spring-i-hibernate-dlya-novichkov
Начиная с 345 видео. На английском, но очень понятно и доступно, по смыслу поймёшь.
Если поможет, можешь скинуть мне на один дошик - не откажусь.
Изучаешь Spring по видеоурокам, делаешь один-в-один, запускаешь - не работает. Миллиард ошибок, хуй поймёшь в чем дело.
Оказывается, у меня в Мавене версия более новая, да IDE другая (не Eclipse).
Как вообще эта параша в энтерпрайзе работает, если замена 5.0.2 на 5.1.2 убивает нахуй всё.
Такое ощущение, что Java-петушары специально делают всё максимально говноедским, чтобы конкуренции не было, ибо брезгливость берет верх зачастую.
Выкатывайся, это не твоё.
Раньше я полагал, что самый уёбищный язык - это Perl. Я в ойти со временъ cgi-bin, если вы понимаете, о чем я.
Но глядя на современную Java, как родовая травма, что даёт полноценно использовать идею фреймворков, я понимаю, что Java ждет такая же судьба.
В описанной проблеме виновата IOC, которая совершенно не дебажится и не будет эффективно дебажиться в Java никогда.
Я досконально повторяю за ним, добавляю такие же поля, но у меня генерируется другой скрипт (пик2).
1. В чем проблема? Почему генерируется другой код?
2. К тому же этот SQL-скрипт не хочет выполняться. Зачем IntelliJ генерирует заведомо неисполняемый код?
3. Почему у меня всё в lowercase?
Охуеть. Может вообще тогда IDE будет рандомный код генерить?
У джаваблядков логика меня всегда поражала.
Пока ты дрочил на "умные" IDE, IntelliJ и джавабоги уже обогнали все передовые технологии искусственного интеллекта. Идея чувствует в тебе шарпопетуха и отказывается генерить нормальный код. Уверуй в джаву, молись Идее и прозреешь, смертный.
List<Map<String, String>> list = new ArrayList<>();
Map<String, String> map = new HashMap<>();
foo.getFoo().forEach(dummy -> {
map.put(dummy.getId,dummy.getName());
});
list.add(map)
Т.е просто создать одну мапу, путнуть в неё всё и засунуть в лист проблем нет. Но мне нужно сделать три мапы, впихнуть каждую в лист, а в эти мапы put только по 3 объекта.
getFoo() может вернуть мне как 1 объект, так и 999 объектов и мне нужно разбивать их по три и засовывать в мапы.
Т.е :
1,2,3 -> map1 , 4,5,6 -> map2, 7,8,9, -> map3, 10,11,12 -> map1, 13,14,15 -> map 2 и так далее. Надеюсь, объяснил понятно. Ну и загвоздка в том, что я не знаю как это сделать. Пытаюсь через обыкновенный for(i=0; i<foo.getFoo().size(); i++) но даже так не получается, заебался уже голову ломать. Чё делать?
Если правильно тебя понял
Если ты любитель пощекотать очко стримами как я, ты можешь взять stream() из getFoo() и, используя limit() и skip(), загружать что тебе нужно
решение конечно убербыдлятское, но первое что в голову пришло
А вообще можно в два цикла захуярить
Google Cloud, базарю ещё захочешь. Деплой через плагин в мавене, личный пердебиан с 5гб места, доменный адрес с кучей открытых портов.
Вкатится джуном можно на 1~2 семестре, к выпуску из манявера уже можно быть синьёром-помидором или мидлом-повидлом и успешно завести трактор, покажи мне таких юристов, которые нужны в других странах, где системы прав кардинально различаются и инженегров, которые могут устроится во время универа, а не по окончании.
Ну короче я сделал говно-костыль.
List<Foo> listF = foo.getFoo();
for(int i = 0; i<listF.size(); i++){
if(listF.get(i) != null){
map1.put(listF.get(i).getId(),list.get(i).getName());
} else{
return;
}
}
Ну и там дальше такая же хуйня 8 раз ещё, на map2 и map 3. По мне так лютый говнокодинг, посмотрю что синьёр-помидор скажет.
Хуле тред умер?Мы теряем позиции ало
кардинальный
бля я тоже, у меня есть возможность попасть в епам? А то сижу жабой с инглишем занимаюсь, а потом специальность в дипломе все надежды ёбнет
Я имел в виду с точки зрения работодателя. Почему все пытаются набрать студентов 4-5 курсов профильных специальностей на должность джуна?
Потому что если ты затерпел 4 года в унике на такую специальность где , в основном, в реалиях РФ, занимаются лютейшей некрофилией, то ты сможешь выучить что угодно
Главное наличие кошерной вышки, желательно технической. Не техническая тоже ценится - на всякие специфичные проекты, где требуется хорошее знание предметной области.
Потому что кодить не так сложно, как кажется
Если тебе нужен прямо тру-ORM, тогда можешь поступить как в JPA - один класс - круд одной сущности
инженер-программист в управлении техническими процессами
супер говно?
Корпоративы у всех, это же джавапетухи - офисный биомусор.
А wannabe-джуны и стажеры поняли, что все попытки можно оставить до 15 января.
Ах да ДС2
Рили, на стажера, 0.5 ставки (10 тысяч в месяц лол)
Ты в тонущем треде пишешь, ебанутый.
Уже перекатываются
Это копия, сохраненная 12 января 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.