С точки зрения архитектуры, в JPA лучше создавать базовый DAO + отдельный (наследующий базовый) под каждую таблицу или просто базовый и сделать в нем дженерик метод вроде findWithNamedQuery(String namedQuery)?
Приступаю к изучению вашего богоподобного языка. Аноны, подскажите, пожалуйста. У меня есть около полутора лет для изучения по вечерам от работы и в выходные. В перспективе хочу быть в вебе. Возможно ли обрасти таким опытом, не выходя на работу? Фриланса, как я понимаю, крайне крайне мало. Запилить проект самому?
Есть класс. У класса есть 4 поля. Одно из них - лист. Данные приходят на этот лист. Как мне из листа запихнуть эти данные в соответствующие поля? Например, если я хочу чекнуть одно поле из этого листа я делаю следующее:
>>1139448 (OP) Алло. Пацаны. Не гоните. Будьте же людьми, иначе нахуй так жить? Дайте гайд на установку лицензионного сервера IDEA под Линукс. Пизда. Весь интернет посмотрел, нигде нету рабочего сервиса. А временные сссылки закрываются быстреее, чем я нажму Ctrl-V.
Какой сейчас минимальный набор для Джуна в Вебе? В каком стеке технологий и баззвордах должен ориентироваться человек чтобы найти работу хотя бы за еду?
>>1141738 >jfx Про нее все забыли, зачем тебе эта мертвая ссанина? Как пить дать в скором времени ее заявлят Deprecated. Под какие цели вообще планировал?
Изучаю Hibernate. В БД есть таблица Comment, в ней хранятся комментарии. Ещё есть таблица ReplyToComment, где хранится информация об ответах на комментарии. В ней 2 поля: commentID (ID комментария, на который ответили) и replyCommentID (ID комментария, который является ответом), оба поля ссылаются на commentID из таблицы Comment. В приложении у меня есть класс Comment, в котором есть поле List<Comment> replies. Как мне правильно замапить это поле с помощью аннотаций, чтобы у меня из БД подгружались комментарии, которые являются ответами на данный комментарий?
Дано: List<Integer>, в котором содержится 5000000 случайных чисел Требуется: вывести позиции 5 наибольших и 5 наименьших чисел из этого List Условия: * можно сделать только 1 проход по этому List. Обязательное условие: Реализация должна быть построена с использованием Java8 Streams API и лямбдах
чот не могу докумекать, как один стрим разделить на два параллельных
>>1142926 Ну ты с таким же успехом в цикле мог пройти. От тебя же просят знания (возможно даже понимания) stream api. Я бы начал стрим прямо с генерации чисел.
Как же это убого, когда самую последнюю обосранную строчку нужно оборачивать в класс и пихать его в отдельный файл. А потом это бац и работает, МАГИЯ нахуй
Ы лол, а нахуй вообще еще нужна джава и треды про нее? Она же по факту уже мертвая после того, как гугл сделал котлин своим офф языком и он ее успешно вытесняет. То есть она может остаться лишь как добрая память, но не более того
>>1143282 А не заснёт, а продолжит работать, ибо он держит монитор. В начнёт работу только после того, как монитор будет отпущен А, при условии, что в ожидании на захват нет других потоков, тогда это может быть и не В.
Платиновый вопрос: все пиздят , что джава умерла, вкатываться не надо, все говно, гроб, легаси, хуйня Так почему ежеквартально больше всего вакансий, больше всего зп и стажировок?
>>1143551 Ничем существенным. Может какую-то незначительную пиздюшку припилили, но лучше более свежую версию поставить, в ней может какой-то косяк пофиксили
>>1143504 Ну грубо говоря для, пока весь ряд чисел в оперативку влазит. А если нет - соснешь ты. Ну и если хочешь, я этот пример могу оптимизировать без особых проблем.
>>1143410 Если комент может содержать ответ к нескольким вопросам (как это сделано на здесь), то одной таблицей не обойтись. Хотя, я почему-то уверен, что на сосаче зависимость между коментами парсится на клиенте, а все коменты просто принадлежат треду. >>1143422 Если у комента может быть только один parent comment, то не еби мозги и пизай все в одну таблицу.
>>1143551 В последнее время Oracle за один раз выпускает сразу две версии. Одна нечётная, вторая чётная. Нечётная — только исправление ошибок. Чётная — исправление ошибок + добавление новых фич и ошибок. Первая рекомендуется для тех, кому нужна прежде всего стабильность, вторая — свежайшие возможности.
>>1139448 (OP) Котаны, как лучше организовать приём неизвестного кол-ва байт от TCP сервера? Бывает так, что сначала по 1460 байт пакет придет а потом по 31 байту.
В идеале - запустить отдельный поток, который бы не грузил проц и просто писал в буфер всё, что принял, а уже из основного потока изредка будут проверять - набрали данных - перевариваем.
>>1143406 Потому что модно выбываться и неймдропить всякие фп скалы гоу расты к месту и нет, чтобы показать какой ты прогрессивный девелопер и как т не любишь ужасный бойлерплейт в яве.
https://books.google.com.ua/books?id=p4ytDgAAQBAJ https://play.google.com/store/books/details?id=p4ytDgAAQBAJ Посоны, неужели до сих пор не своровали лучшую в мире книгу по Java? Почему самую лучшую? Потому что Thinking in Java того же автора была лучшей, а On Java 8 - ее новое издание, 5-е, если бы автор по какой-то причине не сменил название. В On Java 8 все содержимое "Философии Java" с поправкой на JDK 8, то есть старые примеры кода переписаны, плюс рассмотрены все новые фичи восьмерки с глубиной Эккеля, который докапывается до малейшей детали: Stream API и CompletableFuture целые новые разделы посвятили. Stream-ы и лямбды используются при этом во всем коде по максимуму, по этой причине, например, глава коллекций вообще написана с нуля. Восполнены пробелы по Java NIO. В итоге книга распухла до охуительных 2,5 тысяч страниц.
Ну что за хуйня, а? До сих пор никто не своровал и даже не обсуждает в инторнетах, что вышло новое издание Thinking in Java, охуеть!
Может у кого-то будет интерес присоединиться к коллективной покупки?
>>1144508 Еще есть SWT, рисующий GUI на любой платформе нативно, на котором Eclipse до сих пор делают, благодаря чему он сохраняет хоть какую-то поддержку.
>>1144505 Бля, пиздец. Вот иногда поражаешься нахуй столько страниц. Ну действительно. Ну н а х у я? Ну почему? Я немогу столько читать. Единственное, что я прочитал - так это хед фест был, и Эккель. На последнем слился где-то на дженериках. Делать людям нечего, вот и пихают всякую приблуду. Хотя книжку я скачаю и посмотрю что там. Платить пендоссам нет желания.
>>1144540 >Какое будущее вообще у джавы? Ведроидные хипсторы отвянут на Kotlin, но энтерпрайзнутые петухи будут все так же получать большие зарплаты до конца дней уже за то, что вспотели, кек.
Порог вхождения в бойлерплейт ради бойлерплейта будет только расти. Стек технологий Жабы будет пухнуть вплоть до таких объемов, что для новичка будет очень трудно вкатиться в все и сразу, такая тенденция наблюдается уже сейчас, и он плюнет даже на перспективы больших ЗП и выберет в качестве своего будущего направления что-то проще, например Ведроид, лол, что угодно, но только не Жабу в энтерпрайзе. Это создаст дефицит кадров. В итоге новых проектов на Жабе будет меньше и меньше. Лет через 10 уделом Жабы может остаться только лютое легаси, которое погоняет легаси, а сверху будет сидеть дурно похнущий Оракл, живущий только за счет продаж поддержки на JDK под номером "Ебаное легаси".
public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16;
public Stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; }
public void push(Object e) { ensureCapacity(); elements[size++] = e; }
public Object pop() { if (size == 0) throw new EmptyStackException(); return elements[--size]; }
/ Ensure space for at least one more element, roughly doubling the capacity each time the array needs to grow. / private void ensureCapacity() { if (elements.length == size) elements = Arrays.copyOf(elements, 2 size + 1); } }
>>1144577 >>1144574 А может и правда получится то же, что и с Delphi / RadStudio. В свое время был достойный язык, но неправильные маркетинговые и инженерные решения выбили его из мейнстрима. Он сейчас объективно стал норм, но уже никому не нужен. Может, лет через десять то же ждет и джаву. >>1144661 И шарп тоже, но это другая история.
>>1144560 1. Для эстетов, которые используют 32 разрядные ARM чипы, сравнимые с процессорами начала двухтысячных. В большинстве смартфонов стоит как раз ARMv7, но в Гугле разберутся, как собрать JRE с исходников. Возможно 2. Для WinRT. Oracle сами же говорили об ориентации на IoT, а там как раз такие чипы и используются. 3. Для портативных устройств на Intel Atom, где на уровне firmware заблокирован набор 64bit команд, но Windows и Линукс есть и работают. 4. Для тех, кто использует процессоры начала двухтысячных.
Простите за множество буквАноним24/02/18 Суб 01:53:08#132№1145045
Доброе утро, уважаемые Java™-господа. Мой вопрос не совсем про Java™, но и про любой язык, где есть дженерики, котлин например или тайпскрипт. Суть в том, что у меня есть некая структурка (data-класс в котлине, но представим, что в Java™ это было бы просто вот так):
public class Range { public int start; public int end; }
И теперь представим себе, что у меня есть сверхсложная функция, которая шинкует список этих Range. Она принимает в себя List<Range>, а на выходе тоже List<Range>. В выходной список могут попасть Range из входного списка, также туда могут засунуть абсолютно новые Range, или несколько Range из входного списка могут быть объединены в один новый Range и наоборот -- один Range разбит на несколько:
public static difference (List<Range> minuendRanges, Range: subtrahendRange): List<Range>;
Но вот беда: напрямую с Range я не работаю, у меня Range лежит в составе некой другой структуры, допустим:
public class Link { public Range range; public String text; public String url; }
Вопрос: как лучше всего организовать функцию так, чтобы она могла работать не только напрямую с Range, но и со всем, что конвертится в Range, также и чтобы могла создавать Link сама, не зная о существовании такого класса? Неужели только добавив всякие Function<T, Range> / Function<Range, T> в ее аргументы?
>>1145005 Стек лучше делать как связный список, а не на основе массива. А ещё лучше взять готовый. >>1145045 В плюсах эта проблема решаема. В джаве тебе нужен интерфейс RabgeSource: структуры будут его реализовывать, а метод работать именно с ним.
А как лучше сделать? До этого мне приходила такая мысль:
interface Range { int getStart (); int getEnd (); } class Link implements Range { ... }
Ты, я так понимаю, рекомендуешь так:
interface RangeSource { Range getRange (); } class Link implements RangeSource { ... }
Хорошо. А как лучше всего научить функцию создавать новые инстансы? Я пока делал через BiFunction<T, Range, T> (потому что надо "применить новый start/end к существующему Link и получить на выходе новый Link" - только так новые Range и создаются в принципе), и этот BiFunction передавался еще одним аргументом в difference.
>>1145054 Сделать можно как угодно. Только с interface Range не делай - это просто данные, а не логика. Я бы, во-первых, попробовал упростить, а не усложнять. Почему diff должена создавать новые Link? Как она, например, из двух разных Link с разными range,text,url сделает новый Link?
>>1145012 Ты совсем больной? Причем тут x86 32-bit до ARM-ов? 11-ка будет под 32 и 64-bit Hard Float ARM-ы. >3. Для портативных устройств на Intel Atom, где на уровне firmware заблокирован набор 64bit команд, но Windows и Линукс есть и работают. Ты тупой уебок, Атомы начиная с Pineview давно умеют в x64. >4. Для тех, кто использует процессоры начала двухтысячных. Те, кто использует говно мамонта начала двухтысячных, не пишут под него новые проекты, придурок.
>>1145218 Ты ебанутый? Вот реально ебанутый? Нахуй тебе затирать старый референс? Если объекту нужна доп финализация, то тот кто вызвал pop почистит. Не говоря уже о том что такие элементы в стек вряд ли кто в здравом уме в коллекцию ложить будет, или приведите пример из жизни.
>>1145223 Во-первых если буквоедствовать, то в джаве нет memory leakов (ну если ты только не хуяришь что-то через JNI), это несвоевременное освобождение сборщиком. Во-вторых как я уже написал caller сам может разобраться надо ему дополнительно релизить объект или не надо. В-третьих хранить тяжелй обект в неспециализированной коллекци (не Soft/Weak), мне в глову вообще не приходит такой кейс.
>In computer science, a memory leak is a type of resource leak that occurs when a computer program incorrectly manages memory allocations[1] in such a way that memory which is no longer needed is not released.
>>1145222 >затирать старый референс >доп финализация >тот кто вызвал pop почистит >элементы в стек вряд ли кто в здравом уме в коллекцию ложить будет >Ты ебанутый? Нет ты. Тебе вот даже сложно свой поток сознания сформулировать нормально. >приведите пример из жизни Вопрос с этим кодом был с собеседования. Если копнуть глубже, они этот пример стырили из книжки Блоха. Я встречал нечто подобное, OOM возникал при выгрузке из базы записей содержащих byte[], которые сохранялись в файловую систему, после чего у выгруженных записей занулялись ссылки на эти массивы, затем записи складывались в коллекцию, чтобы потом записать изменения в базу одним махом. Дамп показывал что все эти byte[] всё равно висят в памяти.
Сап. Слово super можно использовать только в определении методов подкласса? Вызвать метод суперкласса в основной части программы не получится? Инбифо: да, нет.
Как нормально следить за временем смерти объекта? Мне нужен только факт того что ему пиздарики, навернео стоит использовать PhantomReference и свою очередь. Есть более простые/эллегантные решения?
делаю сплит строк по кавычкам, которые в файле прописаны, кавычки нестандартные - “ и ” - вот как в этой строке: string = “tunnel.19.0.0.100-19.0.0.110.19.0.0.100-19.0.0.110” пишу сплит: configContents.split(" = “|”")[1];
В Идее все хорошо, получаю норм результат. Но мне нужно забилдить это как отдельный файл и из командной строки когда запускаю он нихера не резолвит эти кавычки, а получается вот это:
Я блядь голову уже сломал, эти ебаные необычные кавычки меня убивают. Я и разные кодировки файла уже пробовал, один хер. В ANSI они заменяются на “ что весьма похоже на то, что я получаю. Но бля я запускаю в UTF-8 и файл, который я подаю на инпут тоже в UTF-8, может подскажете чего?
Consider the followingАноним24/02/18 Суб 20:57:37#154№1145451
Есть три класса, которые наследуют друг друга и переопределяют один и тот же метод. Есть ли возможность из Third вызвать method() из класса First? Из предыдущего родительского это можно сделать через super.method(), но super.super.method() не работает.
class First { void method() { System.out.println("Inside First"); } }
class Second extends First { @Override void method() { System.out.println("Inside Second"); } }
class Third extends Second {
@Override void method() { super.method(); }
public static void main(String[] args) { new Third().method(); } }
>>1145467 >>1145452 configContents.split("= \u201c|\u201d")[0]; Вот так заменил, опять - в Идее все работает нормально, через командную строку он меня залупляет. Не сплитит ничего.
Spring. WARN 8148 --- [nio-8080-exec-8] o.s.web.servlet.PageNotFound : Request method 'GET' not supported В контроллере есть метод с маппингом @GetMapping(value = "/api?name={username}") Хули ему еще надо?
Как считать пикчу (пик) в трехмерный массив или подобную структуру? x, y, и интенсивность цвета (допустим, черно-белая). Ее внутри я обрабатываю, потом назад сохраняю уже обработанный пик.
Достаточно будет ссылки на нужную библиотеку, но подробностям и кускам кода буду только рад.
Поясните нахуя внутренние классы? Не зачем, а нахуя? Если не брать в расчет анонимные классы, которые до появление лямбд являлись грязным хаком там, где должны были быть замыкания и колбеки. Вот нахуя? Вложенные в внутренние классы, наследование внутри вложенных от внутренних классов, что это блядь такое, зачем? Это же ебануться на всю голову можно, если использовать на полную в своей архитектуре.
>>1146132 Кто-то очень хотел спрятать свой класс о которым не должны знать снаружи вот и засунул его внутрь. Например Iterator в ArrayList'e. Это конечно все обман и никакой он не внутренний, а для приватных штук будут еще и package-local аксесоры нагенерены, короче избегайте. Ну ничего, вот перейдут все на модули тогда и не нужно станет.
Допустим имеется веб сервис, методы которого иногда вызывают статические методы вспомогательного класса. Этот вспомогательный класс довольно тривиальный и по сути является оберткой для некоторой библиотеки. Хочу написать юнит тесты для классов веб сервиса, приемлимо ли вспомогательный класс вызывать в тесте или необходимо рефакторить его в интерфейс + реализация и использовать мок? Еще вопрос, веб сервис возвращает разные коды состояния в зависимости от входных параметров, нужно тестировать все возможные случаи или только успешный вариант?
Джаванны, книгу для нубаса на руссике, плиз. Давныыыым давно кресты учил, лет 10 назад, хуй забил на 2м курсе заочного. Теперь есть маааленькое окошко в мир быдлокодерства. Набирают нубасов на нагрузочное тестирование с обучением на месте, нужно хотя бы знание явы.
Что забыдлокодить на Jave анончікі? Сижу на работе PHP кодером, вот начал жаву учить, потому что все таски закрыты а новых нет(хотя вчера был завал). Пока только идея сделать API с шифрованным соединением, норм будет?
>>1140362 я вот тоже недавно решил попробовать, а начинал вообще с голого JDBC, потом с хибером игрался чуть-чуть, теперь вот узнал, что Spring Data предоставляет еще больший уровень абстракции и не надо расписывать реализации дао по 10 тысяч раз. Вообще мне кажется я заебусь учить спринг с его ебучими проектами, которые в разных конторах нужны разные
>>1146962 ну вот я пока изучаю Spring MVC IoC это вообще паттерн, если я правильно понимаю. В ближайшее время планирую начать дрочить Data, потом сесурити. Про клауд и интегрэйшон вообще не думал, мне кажется я тупой для этого. Говорят Boot модным нынче стал из-за того, что сильно упрошает разработку, но я его не пробовал, потому что в вакансиях не видел почти. Еще когда смотрю вакансии вижу всякую хуету типо JSF JSP и еще несколько абревиатур. Мне кажется это пиздец типо спека на JSP 900! страниц. на сервлеты 300-350, а на эту хуету 900. Кароче иногда я думаю, что знаю достаточно, а потом я открываю вакансии, ахуеваю и плачу
>>1146974 да, один раз написать этот запрос, и не гадать, что там сгенерирует этот хибернейт. Плюс базы они тоже ниразу не примитивные. Там могут быть свои особенности по апдейту и инсерту
>>1146977 >Делай rest, который возвращает json. а можно какой-нибудь гайдик, пример, или направление куда копать, просто не представляю как это выглядит, ссылка на гит, статью, спек что угодно
>>1146979 писать с JDBC, на мой взгляд джуна без работы слишком ресурсозатратно, мне кажется можно все граммотно сделать и с хиббернейтом и со спрингом, а плодить кучу бесполезного повторяющегося кода не круто
>>1147235 Ты давай задачу неси, с напорядки Очевидно что есть штуки которые опираются на нативный код, но это не дженерал задачи. Макаке пишушей абсрактныефабрикипроксисинглтонов это нахуй не всралось. Супертранзакциитристамильярдоввсекунду банкам тоже.
>>1147254 > задачу неси, с напорядки несу. есть solr, к нему подключается йоба для анализа как плагин, эта йоба должна байтоебить очень очень быстро, пропуская терабайты.
>>1147276 Сейчас она работает медленно или что? Конкретные цифры есть того, что ты там оптимизировать собрался или просто НАПОРЯДКИ? Можешь JNA/JNI использовать. Можешь с джавой поебаться. https://www.youtube.com/watch?v=Q-7y1u9kZV0
>>1147465 А зачем так делть? Мы примитивные типы просто сохраняем на стеке вместо адресов на хип, а если их сделать "пользовательскими", то будет адрес, который указывает на число, которое лежит где-то в хипе?? в чем профит того, что бы от них отказаться это же дополнительное засирание памяти и процессорного времени
>>1147466 Я не знаю, но в шарпе те объекты, которые в джаве называются примитивами (int, byte, short, char, float, double) - все они лежат в стеке, а не на куче. То есть они вроде как объекты, но хранят в себе значения, а не ссылки.
Не мог понять, почему мне на лекции в универе твердили, что boolean это такой специфичный примитивный тип, ни на что не похожий, нельзя например как в плюсах написать:
int a = 15; bool b = a; // b будет равным 1 то есть true
А тут я читаю специфиувцию JVM и оказывается, что никакого типа boolean и не существует, а вместо него есть выдаваемый за него int. В чем противоречие?
>>1147480 Какое противоречие? Просто тебе нельзя в жабе ебашить как в сишке любое ненулевое значение как тру, но на деле оно все равно на интах/байтовых массивах работает.
>>1147480 ну в джаве boolean кроме true и false не может иметь никаких других значений, а что уж там компилятор с ними делает это тебе по большому счету все равно
>>1147569 Чего по сравнению с чем, на какой задаче? Ты понимаешь, что ты просто написал какие-то цифры и спрашиваешь а нужны ли асм-вставки? Ответ: конечно, ебашь во всю нахуй!
>>1147970 Классические мантры про кофеварки, микроволновки и тахометры стиральных машин с написанными на С прошивками. Как там у вас, Sun еще не выкупили? Про сервера адекватный ответ.
Джавабоги, подскажите из-за чего он выдает мен ошибку "Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;"
>>1148054 а какие зависимости именно, не подскажешь? у меня всего-то в грэйдл прописано compile('org.springframework.boot:spring-boot-starter-data-jpa') compile('org.springframework.boot:spring-boot-starter-web') compile group: 'javax.persistence', name: 'persistence-api', version: '1.0.2' runtime('org.hsqldb:hsqldb') testCompile('org.springframework.boot:spring-boot-starter-test')
проэкт создавал через spring initialaizer, я думал, он там сам версии сопоставит в файле сборки, которые нужны
down vote accepted This error occurs because JPA 1 API is brought in, but method getValidationMode exists only since JPA 2.
Instead of following
<dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> <version>1.0.2</version> </dependency> for example one offered by Hibernate can be used:
>>1148080 ароч, я ебантяй, забыл в переменной среды ОС поменять на ждк9. Теперь выдает такую ошибку "Invocation of init method failed; nested exception is org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: com.example.organizations.entities.Organization.organization in com.example.organizations.entities.TypeOfOrganization.organizationList" это я так понимаю я замапил что-то не правильно?
Джаваны, подскажите, пожалуйста, как в приведенном коде корректно закрыть сокет, чтобы при отключении клиента, сервер не крашился в ошибках. https://github.com/Vichukano/ServerSocket.git
>>1141626 Idea тяжелая очень. Плюс, шорткаты шорткаты шорткаты, хотя по сути Eclipse делает то же, что и Idea, но умудряется сохранять человеческий облик. Наши преподы по Java неистово ратуют за Idea, потому что "ее дизайн вы только посмотрите". Короче, тут дело вкуса.
>>1148249 Просто я джун-недомидл(1.5 опыта), работаю за копейки собираюсь заводить трактор и думаю чего бы подучить, потрогать что бы больше просить можно было. Кстати, сколько просить ?
>>1148171 так затмение не просто по-другому выглядит, там насколько я помню у нее нет некот орых плюх из intellij, например там автозаполнение тупое и что-то с докой было ну и темного фона вроде нет, но это похуй
>>1146972 Пока на работу еду я добрый. Говори, что ормки это заебись, но только для круда и сохранения графа объектов, а для джоина едущего через подзапрос по оконной функции есть jooq jdbctemplate. И что орм это специализированный инструмент, а не серебряная пуля, иначе гроб гроб фуллсканы тормоза.
И вообще при использовании орм нужно sql все равно знать, иначе гроб гроб выше.
>>1148249 поясни за микросервисы, что ты в них находишь плохого? Про докер тоже слышал, что он для тытырпрайза не подходит, но вот микросервисы вроде на слуху и юзаются компаниями типо mail.ru. Я про них очень мало знаю, но хотелось бы услышать мнение анона на этот счет. Желательно конечно анона с опытом
>>1148416 Итак, отчего мы отказываемся в случае перехода на микросервисы 1) От транзакций. Главный минус 2) Получаем проблемы с версионной совместимостью этих микросервисов между собой 3) Вместо работы внутри процессора и системной шины мы гоняем данные по медленной сети и всему сетевому стеку. Сильное замедление работы. Получаем сильную зависимость от качества сети 4) Повышение надежности — миф. Приложение не может работать без какого-то компонента. Это будет некорректная работа. 5) Все эти микросервисы в сумме потребляют больше памяти и ресурсов, чем монолит 6) Вынужденное дублирование кода. Либо приходится делать какие-то отдельные проекты с общим кодом 7) Невозможность рефакторинга. Мы получаем кучу внешних интерфейсов, которые нельзя трогать. Либо придется править одновременно все микросервисы 8) Сложность при обновлении, если изменился внешний интерфес. Приходится обновлять одновременно несколько микросервисов. Если будет рассинхронизация — клиенты получат ошибки. 9) Сложность правки базы. Сложно понять, использует ли эту таблицу какой-то другой микросервис. Приходится пересматривать код всех микросервисов. И опять возникает проблема одновременного обновления.
Что получаем взамен? Мнимую красоту кода. И больше ничего. Очередная серебряная пуля
>>1148479 >Итак, отчего мы отказываемся в случае перехода на микросервисы >2) Получаем проблемы с версионной совместимостью этих микросервисов между собой Што >3) Вместо работы внутри процессора и системной шины мы гоняем данные по медленной сети и всему сетевому стеку. Сильное замедление работы. Получаем сильную зависимость от качества сети Зависит от кривизны рук сетевиков и нищеты организации. >4) Повышение надежности — миф. Приложение не может работать без какого-то компонента. Это будет некорректная работа. Полная и частичная недоступность — одно и то же, ок) >6) Вынужденное дублирование кода. Либо приходится делать какие-то отдельные проекты с общим кодом Выноси всё в либы люк >7) Невозможность рефакторинга. Мы получаем кучу внешних интерфейсов, которые нельзя трогать. Либо придется править одновременно все микросервисы Интеграционное тестирование просто так придумано? >Что получаем взамен? Мнимую красоту кода. И больше ничего. Очередная серебряная пуля Скорость разработки и повышение надёжности. А если потратишь денег на нормальных программистов — то и работать это будет лучше, чем монолитное легаси-дерьмище, которое в жизни никто не будет переписывать.
Анон выручай, заказчик в нашей галере совсем ебанулся, ему нужна следующая поебень: Нужно, что бы юзер брал ssh клиент, подключался к по IP со своим юзером и паролем. Ему через SSH становиться доступен консольный интерфейс вроде htop но гораздо проще там он может выполнять там определённые действия которые имеют эффект в нашей базе данных. Проблема в том, что всё это уже реализовано в нашем ЁБА проекте.
Итого нашей команде, а точнее лично мне нужно начать разработку утилиты которая будет запускаться на сервере поднимать там ssh сервер, через который будет раздавать символьный-гуй, и реагируя на его команды юзать API из нашей базы.
Итого мне нужна библиотека способная поднять ssh сервер и внутри выдавать почти красивый гуй в консоль. Крайне желательно, что бы данная библиотека не обладала фимозной лицензией.
Другой вариант написать обычную программу без ssh-сервера которая будет запускаться после логина юзера, но на вопрос как прихуярить авторизацию через логин:пароль из нашей базы к стороннему серверу наше техадминистраторы сказали а хуй его знает. Поэтому пока буду пилить, так.
Здесь кто-то разбирается в jna?Я тут решил научиться работать с dll.Скачал библиотеку,посмотрел примеры.В общем это эпизодец.Попробовал подключить dll.UnsatisfiedLinkError.Я изучил выяснил что это из- за того что dll моя находится не в нужно папке.Стал вручную перебирать пути.Нихуя.Тогда я сообразил что узнать path можно через system.getproperty.Но не тут то было.JVM выдает сразу несколько путеи.Можете мне объяснить куда кидать свою дллку?
>>1148398 Не замечал за Eclipse такого. Все работает. Плюс, быстро открывается/закрывается. IntelliJ как и все IDE от JetBrains запускать вообще боюсь, потому что очень тяжко. Та же Android Studio может положить на землю, и пинать ногами за мало оперативы просто добавь оперативы, дружище, тебе что, жалко?
>>1148479 >1) От транзакций. Главный минус Поясни-ка. Не подъёба ради спрашиваю, просто интересуюсь.
Вообще, по-моему, это просто развитие идеи инкапсуляции. В отличие от класса, здесь в пачку собираются не только данные и функции над ними, но и взаимодействия с бд и т.п.
>>1149118 для транзакции нужны команды старт и коммит. Ты не можешь отдать их из разных сервисов. И тем более для разных баз. Вместо простейшего стандартного механизма придётся делать всякий пердолинг с двухфакторными транзакциями или велосипедами. Или, что чаще бывает, просто забить на эти транзакции, благо что философия этих микросервисов подразумевает отказ от консистентности
>>1149133 Меня спросили я ответил что знаю. Делал раньше формочки на JavaFx, были вполне нативные изкоробки. Видел презенташку от Кокса как он на SWT делал, контролы рондные потому что они абсолютно системные. Но проблемы у чувака были именно в свинге, голый свинг не выглядит как надо, вот и все.
>>1149171 оно никогда небыло изи. Меня, джависта, передёргивает от вёрстки например. Я сочувствую тем, кому приходится в этом ковыряться. А сейчас они пытаются копировать и прикручивать фишки из всех промышленных языков. Получается косо, криво, но они не сдаются.
>>1149174 >А сейчас они пытаются копировать и прикручивать фишки из всех промышленных языков Это просто следствие отсутствия устоявшихся и рабочих практик. Как и бесконечные пиздопляски с фреймворками для js и системами сборки, когда тренд и, следом, разработка, меняются каждый год, а порой и чаще. Всё это не просто, но именно в силе недоразвитости области, решаемые же проблемы не слишком-то впечатляют.
>>1149174 Странно, мне казалось что веб наоборот стремится к упрощению и плавно переходит на Питон. Зачем они создают эти проблемы и усложняют себе жизнь?
Начал вкатываться в Java, использовать dependency injection, google guice, snakeyaml, и другие навароты по полной программе. Инджекторы, провайдеры, модели, фабрики - голова к концу дня пухнет не по-дестки. Как так жить? Какой крепкий напиток принимать, чтобы это всё забыть?
>>1139448 (OP) Сап, поставил перед собой задачу написать приложение под мобилки для провайдера в котором я работаю. Сам с программированием на "Вы", прочитал только "Head First Java". Не важно сколько это займет времени, я просто хочу это сделать. Принцип работы примерно такой: Вход по базе юзеров, пополнение счета через приложуху, парсинг новостей с сайта и их удобное отображение, система тикетов в саппорт. Подскажите в сторону каких фреймворков глядеть, и нужный ли ЯП я выбрал?
>>1149406 На кой хер юзеру ваше приложение? Сделайте нормальный сайт бля. Для ведра идешь в тред ведра, для айоси идешь в тред айоси, джава тебе там не пригодится.
Повидлы и помидорки, давайте затрем за второй бут и говно которое с ним приедет.
А конкретно за пружина паутина поток. Есть ли существенные профиты с неблокирующей вместо блокирующей тред пер реквест модели, учитывая, что реактивщины со стороны фреймворка поддерживается только кассандра, монга и редис, а значит придется все равно в итоге самому продюссерить реактивный стрим говно через говно.create(Function<Govno>). В теории, конечно, можно перестать юзать рхджаву и объединить с неблокирующей дрисней, но что-то меня берут сомнения, то новая реализация реактивного говна лучше рхджавы.
Да и раньше ничего не мешало, если так уж хотелось не блокировать тред пул контейнера, юзать startAsync() и там уже что хочешь захуярить.
Всем привет. Помогите пожалуйста в освоении спрингбута. есть рут, к нему гет и пост запросы. пост отрабатывает нормально, на гет вылетает ошибка javax.servlet.ServletException: Circular view path [asd]: would dispatch back to the current handler URL [/asd] again.
в гуглах советуют ставить spring-boot-starter-thymeleaf
но с ним тоже фейл - выдает Error resolving template “asd”, template might not exist or might not be accessible by any of the configured Template Resolvers.
мне надо чтобы просто нормально вернулся JSON, о каких темплейтах идет речь не пойму.
>>1149677 Видимо, твой кодельник воспринимает возврат стринги за попытку возврата jsp говна или другого шаблона. Гугли возвращаемые контроллером значения.
Посоны, решил вкатиться в джаву. Порекомендуйте задачник, решая задачи из которого я смогу набить руку. Я понимаю, что нужно решать реальные задачи, но их нет, а потому задачник для начинающего меня будет самое то.
Ку, программач. Помогите советом.Java. Написал программу, которая должна считать количество мостов в неориентированном графе. На вход даётся количество вершин ,количество рёбер и сами рёбра графа. При количестве вершин выше 70000, меняется длина массива вершин и выдаёт ошибку(выход за границы массива). В чём может быть проблема?Рёбро имеет вид: 2 3.Граф-список инцидентности Вот фрагмент с заполнением массива for (int i = 0; i < c; i++) { u = in.nextInt(); v = in.nextInt(); G.b.a.add(v);//добавление в массив вершин рёбер G.b[v].a.add(u);// массив объявлён вместе с в конструк }//торе графа Из за чего может слететь длина массива? Мне кажется что просто при таком большом количестве переменных программа начинает неправильно записывать данные. Как нибудь можно по-другому с клавиатуры передать программе данные
>>1149850 >>1149852 Лол, у энтерпрайзопетушни, у которых поля и методы по 100 символов, бомбануло. Если нечего сказать — просто молчите нахуй и не кукарекайте. Жду помощи от адекватных анонов.
Работал на расслабоне последние пару лет. Купался в говнокодах, старых фреймворках, подскажите какие сейчас актуальные фреймворки о которых стоит ознакомиться, и какую книгу можно почитать о всяких паттернах, которая действительная годная а не фееричный разбор всех существующих во вселенной никому не нужных в тынпрайсе академических абстракций.
Сап, анон, уже не первый раз читаю, что в java не нужно вкатываться, в то же время на других it площадках советуют именно java, тк это самец популярный язык на данный момент. Корму верить?
>>1150122 Да, в томкат. Но я не совсем понял твой пример. Для ясности - мне это нужно, что бы на гит хабе указать как его запустить потенциальному работодателю. Алсо, спасибо за ответ, а то тут как то совсем тухло.
>>1150135 Ты про какие шаблоны? На бэке или фронте? Раз тред про джаву, то, видимо, про бэк. Как ты собираешься отдать, например, html-ку с этим тредом на дваче юзеру?
>>1150142 Отдать пустую страницу, послать с нее запрос с номером треда, из полученных данных создать нужное количество постов и вставить нужные значения.
>>1150142 Нахуй мне отдавать ему статичный говнохтмл. Сейчас не двадцатый век. Отдаю ему данные на говне, браузер через реакт, вуе или ангуляр рисует красивое говно.
>>1150216 >SPA головного мозга. Ты так говоришь будто это что-то плохое. Наоборот это охуенно.
>>реакт, вуе или ангуляр >Продвинутый шаблонизатор Дойди до фронтотреда или js-треда и там тебе золотой дождь устроят за такое заявление. >на фронте. А где ещё вью веб-приложения держать как не на фронте? Ты там говна обьебался со своим html 0.1 подходом?
>>1150255 Надеюсь ты понимаешь, что инструмент берут под задачу, а не наоборот? >А где ещё вью веб-приложения держать как не на фронте? Ты там говна обьебался со своим html 0.1 подходом? Малыш, говна въебал именно ты, раз тебе везде выб-приложения мерещатся. Иногда сайт - это просто сайт.
>>1150293 >Надеюсь ты понимаешь, что инструмент берут под задачу, а не наоборот? Да. SPA лучше всегда древней дрисни, где баландер бекендер пишет html и js на php через говно как диды ещё писали.
>Малыш, говна въебал именно ты, раз тебе везде выб-приложения мерещатся. Иногда сайт - это просто сайт. Ого, войтивайти, объебавшись говна, совсем страх потерял. Маня из прошлого века. В 2018 ВСЕ, что имеет http в адресе является веб-приложением. Статике больше нет места в этом мире. Если ты сейчас вскукарекнешь, что раньше было лучше, то я тебя обоссу. Теперь хуяк, материал дизайн, хуяк роутер, хуяк фетч, заебись получилось. Про полноценную фронтовую дрисню с редаксом, транспилером я и не говорю. С html, js и мусташами ты это до старости делать будешь.
Что-то я наебенился. В общем, впитывай мое послание тебе. Постарайся проанализировать и сделать соответствующие выводы для себя.
>>1150155 Тебе лучший совет на всю жизнь: формулируешь свой вопрос на русском, потом вбиваешь в переводчик, затем все это говно хуяришь в гугол. Вуаля, по первой же ссылке тебе будет >А где можно в общем про это почитать?
>>1150358 Спешите видеть: маня залила боярышником SPA-говно у себя в голове и строчит на дваче. >В 2018 ВСЕ, что имеет http в адресе является веб-приложением. Сильное заявление. >Статике больше нет места в этом мире. Сильное заявление. >обоссу Пидораха осмелела после наката. >Теперь хуяк, материал дизайн, хуяк роутер, хуяк фетч, заебись получилось. Так заебись, что не индексируется, тормозит и весит хуй пойми сколько.
>>1150424 >не индексируется, тормозит и весит хуй пойми сколько Схуяли не индексируется? Индексируется. Весит, лол - вообще пиздец. Никого не ебет, загружать страницу в 5кб или 5мб. Не диалап в доме.
>>1150845 еще и самоуверенное хамло, типичный джуниор.
merge vs persistАноним07/03/18 Срд 09:04:15#409№1151021
Есть сущность Organization. У неё есть поля-сущности OrganizationType, EconomicActivity и TaxesCommittee. С клиента мне может прийти Organization как с новыми OrganizationType, EconomicActivity и TaxesCommittee, которых ещё нет в БД, так и с уже существующими в БД. Вопрос: что мне использовать для сохранения Organization в БД: entityManager.merge() или entityManager.persist()?
>>1151021 Похуй, главное каскад нужный не забудь поставить. А основная разница между мержем и персист в том, что первый бросит ексепшн если будешь сохранять ентити с ИД, а первый просто ее за апдейтил бы.
Если все интеграционные тесты веб сервиса зависят друг от друга, это нехорошо, да? Например, регистрация с рандомными данными, эти данные передаются логину, токен доступа из логина передаются следующему тесту и т.д.
Почему Интеллиджидеа всегда вставляет автоматически сгенерированный конструктор ПЕРЕД объявлением переменной и почему в теме дракула такая уёбищная цветовая гамма для шрифтов в древе проектов?
Каков максимальный размер строки кода, которая скомпилируется? Есть ли ограничение на количество логических условий внутри if или в другом принимающем логические условия операторе ?
>>1151868 Может я даун криворукий, но 9 версия с оф.сайта почему-то не ставиться. Кликаю на установочный файл, винда говорит, мол хуй тебе! не может быть установлено на этом компьютере, все вопросы к разрабу. С восьмёркой та же беда.
>>1151868 Ох, долго же с этим проебался, но таки нашёл версию, которая встала на мой комп. Как теперь к системе подключить, гугл подсказывает создать папку Path в переменных среды, но там уже есть такая. Значит ява подключена?
>>1151966 Открывай оффициальную документацию spring и попытайся сделать свой аналог двача на жавке. По пути можешь изучить reactor и сделать сайт на реактивном webflux'е.
Скоро ведь анонс 10ой Джавы? А что если уже сейчас в неё вкатываться, что б потом быть в ней экспертом, когда все дяди тимлиды будут знать только 7ю и 8ю??
>>1152192 > А что если уже сейчас в неё вкатываться, что б потом быть в ней экспертом, когда все дяди тимлиды будут знать только 7ю и 8ю?? Экспертом в написании var'ов вместо Кококо<кукареку> кококо = new Кококо<кукареку>;?
>>1152192 В девятой джаве только ненужный жигсо на который в никуда просрали пару лет. Ну и фьючи допилили. В десятой джаве var для локальных переменных. И еще чуть фьючи допилили. Всё.
>>1152260 Потому что в девятой жавке поломались все приложения и либы, использующие корявую рефлексию, поскольку правия сокрытия методов поменялись. К 11 LTS версии (т.е. к концу года) всё должны починить.
>>1152269 > год только начался > 03/18 У меня для тебя плохие новости...
Теперь жава (начиная с девятой версии) релизится каждые пол-года. При это все эти релизы неполноценные и их многие поддерживать и не будут (особенно если там будут дохуя чего ломать, как и произошло в девятой версии). Первый полноценный релиз как раз и будет 11 версия. 20 марта выйдет 10 версия и через пол-года 11.
Почему в данном случае джава видит в первую очередь только a, которое является передаваемым аргументом, а не статическое поле ? Как в данном случае одно из a интерпретировать как статическое поле ?
>>1152426 > в данном случае джава видит в первую очередь только a, которое является передаваемым аргументом, а не статическое поле ? Потому что так задумано. Локальные переменные перекрывают поля. > Как в данном случае одно из a интерпретировать как статическое поле ? Math.a
>>1152428 Получается, что в общем случае статические методы могут работать со статическими полями и нестатические методы могут работсть со статическими полями, единственное что - статические методы не могут работать с нестатическими полями класса, потому что для их вызова не нужен инстанс?
>>1152696 Какая практика? Ты думаешь тебе на работе придётся в цикле говно в консоль выводить? Прочитай первые три главы любой книжки, чтобы освоить синтаксис, и иди делать туторилы на сайте спринга, в десять раз полезнее будет.
>>1152700 Занимаюсь по Шилдту. Полное руководство Java. Язык Java Там только первая треть книги. Дальше идет какая то неведомая хрень типа Библиотек, Swing, JavaFX, сервлеты. Это все тоже изучать или в Спринг уже углубиться после первой трети?
>>1152703 Вот говорят ведь что Джуниор/трейни должен знать Java Core. А что в этот Кор входит? Просто не хочу переходить на другие вещи не копнув в этот Core до той степени чтобы меня не смешали с говном на собеседованиях
>>1152708 Интересно, а на собеседованиях про реактивность вообще спрашивают? Особенно учитывая как активно в жаве впиливают реактивные типы в тот самый кор. Или пока мода до суровых жава ынтырпрайз девелоперов не дошла?
>>1152710 Какие "реактивные типы", ты о чём? Реактивность - свойство системы, а не типа. И нет, не спрашивают. Но да, мода дошла - взгляни на тот же спринг 5/ спринг бут 2.
>>1152708 Тогда почему всякие вкатывальщики которые устроились говорят что чуть ли не 6 месяцев по 4 часа в день занимались? Ведь синтаксис не так уж и сложно выучить даже полному нубу. Или это всякие Спринги сложные?
>>1152768 В 1992 году? Кому ты нахуй со своим синтаксисом всрался. Даже на "стажировке", где ты сам будешь платить и каждый вечер отсасывать хуй тимлиду.
>>1152851 Вот это манямир. Мань, джуны это где то на уровне обезъян. Не ставь себя выше чем ты есть. Кодинг это не рокет сайенс, любой имбецил может освоить. Особенно на уровне джуна
>>1152911 >>1152986 Маня, ты чего вспетушилась? Если ты согласна с заявлением "чтобы устроиться работать достаточно знать только синтаксис", то давай начинай - я тебя обоссу.
>>1153073 >А высшее техническое Что такое "высшее" и что такое "техническое"? Ты вообще понимаешь, что сейчас (последние лет 25) тут происходит с образованием? Или ты думаешь, что программировать можно научить в универе? И кого там научили?
Лично знаю нескольких клоунов, имеющих "высшее техническое, связанное с информационными технологиями", и лучше бы они не говорили никому, что они его имеют.
>>1153085 >Или ты думаешь, что программировать можно научить в универе? Можно. Но смотря что под этим понимать. Самый топ, как надо после MIT — это как в Вышке готовят специалистов по бигдате и МЛ только в путь. Смотрел шитхабы студентов и студенток с курсовыми и домашками. Местами очень неплохо.
Также традиционно неплохо в этом плане готовят в ИТМО, и речь не только про олимпиадников на ICPC. Про факультет ИУ в Даунке и его дохуища кафедр — не знаю, скорее, там нормальное "традиционное" техническое образование, а compsci часть — дерьмо.
С упором на кодинг широко распространено образование в Индии и Китае. Днище, ИМХО.
>>1153092 Филиал МухГу — это что, филиал одного мухосранского вуза в другом мухосранске? Не знаю ничего про региональные вузы. Но отношусь скептически. Возможно, где-то есть годнота, в Томске или Новосибе каком.
>>1153090 >после MIT Между MIT и ему подобными и всем тобою перечисленным - непреодолимое в ближайшее лет 100 расстояние.
>по бигдате и МЛ Да, от математики кое-что ещё осталось, кое-где. Но, программирование - это не математика.
Но, это не значит, что программирование - охуительно сложная вещь, которой надо учить в секретных институтах. Совсем наоборот. Об этом я и говорил, собственно.
>>1153135 Так что тебя смущает? equals? Это стандартный equals, он всегда такой. Проверяется, что переданный объект - это не сам этот объект, и что он того же класса, что и этот объект, и т.д.
>>1153181 Это блядь, не поверишь, абстрактный класс.
Он реализует функционал, общий для всех потенциальных классов-наследников, в данном случае, EventListener'ов. Чтобы тебе каждый раз не писать заново equals и hashCode, и не ебаться каждый раз, выдумывая, как сделать уникальный идентификатор для очередного объекта.
Далее, когда тебе нужен класс YobaEventListener, ты так, блядь прямо и пишешь, нихуя не стесняясь: class YobaEventListener extends AbstractEventListener {...}
И там уже для тебя сразу будет приготовлено вот это вот всё - и equals, и hashCode, и даже id.
И ты пишешь такой: yoba = new YobaEventListener(); А потом смотришь yoba.getId() - а там всё как положено, уже есть.
А если же ты хочешь знать, зачем вообще нужен EventListener, то об этом тебе лучше почитать в букваре.
Ломбочить @EqualsAndHashCode это к багам. Бо автоматом по всем полям тихой сапой. А говорить только по каким полям лишь стрингой, что к багам при рефакторинге. Так что equals и hashcode надо или идеевский темплейт использовать, или индеец общие. А остальной ломбок годнота, да.
>>1153305 Основной функционал библиотеки - уменьшение boilerplate кода. Котлин делает тоже самое на уровне языка (а значит эффективней). К тому же есть бесшовная интеграция с java-кодом.
>>1153328 > бесшовная интеграция с java-кодом Д Ж Е Н Е Р И К И
Интеграция не 100%, а 99%. Не понимаю нахуй в котлине было вводить in и out хуйню и другую хуиту. Никаких же профитов. В остальном язык заебись, сам использую, дайте два.
Сап. Поясните за поддержку приоритетов потоков. Она какбэ присуща джава-машине на ОС с любой формой многозадачности или например на ОС без поддержки приоритетов потоков она может зафейлить?
>>1153397 Да там не только дженерики. Самая главная проблема - это всё компилится в старый байткод, без invoke dynamic. Котлин не нужен, потому, что есть Groovy (с настоящими 99% интеграции) и Scala - если хочется статической типизации. Кроме андроида это поделие нигде не применимо. Это не говоря уже о том, кто его разрабатывает, какие там перспективы и т.д.
Как открыть проект, созданный в NetBeans и залитый на гитхаб в IDE IntelliJIdea, просто реально не могу понять, что писать в настройках конфигурации и почему я не могу выбрать в качестве Main класса свой класс Main и не могу в принципе применить эти настройки
>>1153856 Короче меня очень смущает то, что если маппинг и название страницы совпадают, то происходит зацикливание, а если отличаются, то все ок. А если вообще ничего не указывать, то ничего не работает.
>>1154351 Если бы Qt Jambi не сдох, то было бы очень годно. А так остаётся для нормального фронтэнда либо HTML+JS, либо Qt+Python. Всё остальное переусложнённое говнецо.
>>1153856 Блять, ну почитай ты документацию, сформулируй вопрос нормально, что ты хочешь сделать, что идёт не так. Хуйню какую-то вбросил и ждёт ответа.
>>1154569 Да, хоть я и не очень понимаю, почему форвард берет страницу из static, а редирект из template. Мне нужно именно такое поведение как у forward, чтобы название самой html страницы не отображалось, только адрес.
>>1139448 (OP) Только начал изучать жабу и у меня это первый язык. Т.е. - ни знаний, ни опыта. Скопировал код программы с туториала на ютубе, почему-то все компоненты JFrame подчёркивает как ошибку. В чём тут может быть проблема?
Ява, Джава, Жава, Жаба, Жабофил, быдлокодер