Прошлый >>1400854 (OP) (OP)Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?А: Нет, не поздно.Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.Q: Хули все книги на английском?A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.Q: Что скажете за джавараш?Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.https://github.com/qqqlll/Java-Thread/wiki
Что спросят на собеседовании в конторе со Spring у претендующего на джуна без опыта работы? В вакансии также указана конкарренси, о ней знаю только в рамках OCP, а там её отдают на откуп экзекьюторам.
>>1420595Чтобы предотвратить нежелательных изменения в полях класса, а также в качестве одного из инструментов реализации полиморфизма?
Почему в параметризуемых классах не сохраняется информация о классе дженерика? Если для производительности, то можно же было хранить ее как строку, а доставать через Class.forName
>>1420618Потому что так сделали.https://stackoverflow.com/questions/520527/why-do-some-claim-that-javas-implementation-of-generics-is-badhttps://stackoverflow.com/questions/355060/c-sharp-vs-java-generics
>>1420618Для обратной совместимости.Информация прекрасно сохраняется. До тех пор, пока код не превращается в байткод.
>>1420667Ну давай, как ты это делаешь в гуаве? Небось ключ - замыкание? Так это будет что-то уровня питона, там тоже свитча нет)Вообще же вроде свитч чуть подкрутили, так что вариант с классом станет возможным. Про лонги хз, никогда такое не требовалось (правда я давно на котлине и вообще на ведре).
>>1420812>Небось ключ - замыкание?Да, типаSwitch.for(value).case("a", () -> {...})....default(() -> {...})Но я уже почитал, что это для производительности сделано.
>>1420784Но я-то прекрасно начал на плюсах, и в яву перекатился из-за очевидных денег.Пиздец, насколько ты тупой.Весь пар выходит в пиздеж на дваче.
>>1420667Просто не допилили спеку и компилятор.Технически switch можно сделать по любому константному выражению (compile time constant). Но с классами есть некоторые вопросы из-за ClassLoader-ов.
Нилда прочёл, что следующим посоветуешь, чтобы уверенно по sql на собесах отвечать (ну с учётом того что мы тут не администраторы БД всё-таки). Запросы пишу изич, но когда приходится копать "а как это работает", "а расскажи про ACID и зачем он", туплю.На уровень джуна/недомидла.
>>1420618Смотря как параметризуемых.Если: StrComparator implements Comparator<String> то информация сохраняется.Если: NaturalComparator<T extends Comparable<T> implements Comparator<T> то тут не сохраняется. Потому что сохранение этой информации потребует генерации нового класса на каждый параметризованный тип. Создал ты new NaturalComparator<String>() сгенерируй новый класс прям на лету не с нуля конечно сгенерировать, а просто создать спецификацию существующего. Плюс это нарушает обратную совместимость.В .NET например так и сделали, создают новые классы на каждую спецификацию generic-ов и создали новые классы коллекций с поддержкой generic-ов.
>>1421189Когда нибудь и ты узнаешь, что в C++ нет дженериков, а есть шаблоны. И что шаблоны обрабатываются во время компиляции.
>>1421197>И что шаблоны обрабатываются во время компиляции.как и дженерики в шарпеПиздец, насколько тупые люди приходят в ява-тред
>>1421197>И что шаблоны обрабатываются во время компиляции.Расскажи скорее в какое время "обрабатываются" дженерики в Java?
>>1421302>как и дженерики в шарпе>Пиздец, насколько тупые люди приходят в ява-тред Я тоже не понимаю нахуя ты сюда пришел>When a generic type is first constructed with a value type as a parameter, the runtime creates a specialized generic type with the supplied parameter or parameters substituted in the appropriate locations in the MSIL. Specialized generic types are created one time for each unique value type that is used as a parameter.>Generics work somewhat differently for reference types. The first time a generic type is constructed with any reference type, the runtime creates a specialized generic type with object references substituted for the parameters in the MSIL. Then, every time that a constructed type is instantiated with a reference type as its parameter, regardless of what type it is, the runtime reuses the previously created specialized version of the generic type.https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/generics-in-the-run-time>>1421303>Расскажи скорее в какое время "обрабатываются" дженерики в Java? Лупоглазый прочти, что что в >>1421189 написанно:>>В .NET например так и сделали>Когда-нибудь, вы узнаете, что есть такой язык С++....Там написнанно про .NET, я про .NET и отвечал. А в какое время обрабатываются дженерики на Яве я писал >>1421164
>>1421125>в яву перекатился из-за очевидных денегГавнокодерам не платят и поэтому ты и укатился из настоящего программирования.
Какие есть библиотеки для работы с ssh?Беглый поиск выдал мне следующее:http://www.jcraft.com/jsch/ - низкоуровневая хрень с кривой архитектурой.http://ssh.jcabi.com/ - лучше, но не могу авторизироваться по (логин, пароль)https://github.com/hierynomus/sshj - еще лучше, но не нашел как адекватно работать с судой.
Было дело, прикрутил я спринг шедулер для проекта, нужно было обновлять небольшие данные со временем. Но пришёл чувак постарше и сказал, что нахуй надо, нужно переделывать на отдельный микросервис, который будет дёргать эти методы по крону. Так вот в чём вопрос, что плохого в сприговом @Scheduled?
>>1421577ты пришел на двачи хвастать настоящим программированием, и тем, что тебе, "гавнокодеру" не платят?умничка какаяпопрыгай еще, ебланчик
>>14216421. А почему ты его об этом не спросил?2. если тебе надо будет поменять расписание, что ты будешь делать в случае крона, а что в случае @Scheduled?
>>14216591. боюсь2. @Scheduled тоже планировался запускаться кроном из конфигов. Так что разницы не вижу.
>>1421664>@Scheduled тоже планировался запускаться кроном из конфигов.Чо-то ржу>Мы знаем, что ты любишь запускать, поэтому написали тебе запускалку запускалки запускалки запускалки запускалки, все на разных языках и с разными форматами входных данных
>>1421664>2. @Scheduled тоже планировался запускаться кроном из конфигов. Так что разницы не вижу.Ты не потрудился ответить на вопрос, вот и не видишь.Сядь, напиши ручкой по бумаге ВСЕ шаги, которые надо сделать в одном случае, и в другом. Вдумчиво прочти.
>>1421670>Чо-то ржуТот анон очевидно имел в виду вынесенное в конфиг крон-выражение, так что ржешь ты не в кассу. Ну и в любом случае правильный ответ - quartz scheduler
>>1421700>Тот анон очевидно имел в виду Т.е. ты как бы говоришь, что анон не умеет письменно выразить свою мысль.Т.е анон-программист не умеет письменно выразить.Ну, т.е. имел в виду алгоритм дейкстры, а запрограммировал сортировку методом пузырька.Тебе не стыдно так об аноне?Кварц - правильный ответ только в одном случае: если твоя задача требует кварца.Если тебе раз в день надо какую-то хуету сделать, спринговских приблуд тебе хватит выше крыши.Не надо всюду тащить чемодан говна. Даже если это очень качественное говноПользовал кварц, когда спринг еще не был зачат
>>1421611Юзай JSch и не выебывайся, архитектура ему видите ли кривая. То же мне Архитектор Мендисабаль нашелся.
>>1421611>http://ssh.jcabi.com/ >Shell ssh = new Shell.Verbose( new Shell.Safe( new SSH( "ssh.example.com", 22, "yegor", "-----BEGIN RSA PRIVATE KEY-----..." ) ));Сразу угадывается шизик бугаенко, даже не думай использовать, он все свои поделия забрасывает и это уже не говоря о том какой шизоидный код там.
Вкатываюсь в реактор. Это норма, что я так обхожу дженерики? Типа там требуется Mono<String>, а по факту у меня никакой строки нет, и я скармливаю ему Mono<String>.empty().Нет никаких нон-дженерик версий switchIfEmpty или типа того?
Есть ли название для мапы, обернутой в статик класс с одним методом get, которая заполняется в блоке static?
Привет, гуру-джавистыАноны, буду признателен за совет. Я не джавист (а хотел им быть), работаю консультантом it по облачным техномологиям + занимаюсь фрилансом, делая всякое говно в системе для клиента (формы, интерфейсы на xml, sql + чуть api), короче не суть, говно.У меня появилась задача за пару месяцев наклепать на Maven аддон (или application, кому как), который будет интегрирован в эту облачную систему, собирать данные и генерировать всякое говно, типа документов и формочек. Из джавы помню только синаксис. Это вообще ебать реально? или я надел розовые очки и думаю, что имея реальную задачу, по вечерам и выходным смогу въехать, бегло изучив core , многопоточность и прочее? спасибо
>>1422009Статик класс имеешь в виду внутренний Статик класс, или все таки поле Статик?Я бы назвал с суффиксом FinalMap наверноеМимонуб
>>1421869>Пожиратель говна в треде. Представился? Молодец!>>1421869>Ты сам то с ним работал? С первых строк говнокод. Работал, простая и стабильная библиотека, используется как основа в куче других проектов. Сделай свои врапер-классы поверх и будет тебе красивое API.Хочешь красоты: иди бугаевщену юзай >>1421873 там все по канонам.
>>1422190Можешь класс назвать ObjectsIcons, ну или там IconsFor3Dobjects если ты не ниндзя.get() лучше переименуй в getImage(), да и в параметры передавай объект а уже в методе по факту класс вытаскивай.Было: IconStorage.get(mySphere.getClass());Стало: IconsFor3Dobjects.getImage(mySphere);Поменял мочу на говно ну и хуй с ним.
>>1422256>Поменял мочу на говно ну и хуй с ним.Вот именно, смысл? Про название метода я раньше спрашивал, так как это статический класс, не вижу смысла дублировать. Мне просто интересно, как обычно реализовывается подобное.
>>1422258>Мне просто интересно, как обычно реализовывается подобное. Через AOP и JNDI. Можно еще хранимок добавить.
>>1422258>Мне просто интересно, как обычно реализовывается подобное.В 2019 обычно пишут отдельный микросервис, туда кладут пикчи, поднимают REST API и через него запрашивают картинки
>>1422273Ну да, а ты что думал? Все это в кластер и несколько копий микросервиса для реданданси и феил толеранс. Иначе как объяснить заказчику что маленькую хуету делают несколько месяцев?тру стори, как же заебали мудаки пихающие микросервисы во все проекты
>>1422260Не, ну а чо, давайте еще и RMI до кучи подложим, а то, гляжу, подзабыли уже нестареющую классику.
>>1422190А у тебя сколько всего классов-то будет?Может, тебе будет быстрее свитч по енуму сделать?Ну, чем вся эта ебатория с мэпом, и т. д.Хотя, конечно, для пользователя такие тонкости неважны, всегда моно переделать.
>>1422258> Мне просто интересно, как обычно реализовывается подобное.Через lazy init, детали которого зависят от того, какой у тебя источник картинок?
>>1422297Это все классы, которые там будут. Возможно If-else еще лучше будет. Просто так как иконки используются из разных мест, я решил вынести это в отдельный класс.
Джава не поддерживает аргументы по умолчанию?Например void metod1(int a = 111){System.out.println(a);}method1();method1(1488);
>>1422478Все возможно с помощью магии Spring. Рот их ебал превратили жабу в декламатор аннотаций @Autowiredvoid metod1( @Value("111") int a){System.out.println(a);}
>>1422478в какой-нибудь следующей версии обязательно будетв каждую новую версию обязательно тянут какое-нибудь говно, про которое раньше кричали "никогда мы на такую хуйню не пойдем!"в ява20, глядишь, и множественное наследование завезут
>>1422512>в ява20, глядишь, и множественное наследование завезутОбожи... Но джава же его поддерживает>такую хуйню А что хуйня-то сразу? Нормальное же решение
>>1422521>Но джава же его поддерживаетНет>А что хуйня-то сразу? Нормальное же решениеХуевое решениеНикто тебе не мешает сделать метод с сигнатурой, в которой твой "дефолтный" параметр просто отсутствует.И из него вызывать нормальный метод, передавая дефолтное значение.
>>1422549>Никто тебе не мешает сделать метод с сигнатуройИ получить вместо сотни методов четыреста. Молодец.
>>1422612Я пока с проблемами в программной части не столкнулся даже, если честно. Не могу обычным post вытащить с сервиса то, что мне нужно.
блядь я даже от отчаяния нашёл на гитхабе решение того же тестового задания, что и у меня, но программа не выполняет всего того, что я бы хотел, чтобы она выполняла. Зато она работает, а я долбоёбом себя чувствую.
Javaноны, насколько сложнее/легче изучить с нуля Хуйбирнет со всеми кишочками, чем Спрэнг Кор с ними же?
>>1422498Без @Autowired не сработает? @Value же должен на стадии обработки BeanDefinition заинжектиться, а автовайринг обрабатывается на стадии постпроцессинга бинов. Я как раз начал в кишочках копаться, расскажите, кто знает.
Блядь, нашёл два решения тестового, которое мне дали, и оба варианта я пробовал и оба у меня не получились, блядь. Осталось ещё под спринг одно найти и тогда я точно лучше Настя.
>>1422594Золотое правило: если тебе нужна подпорка (типа дефолтного значения в сигнатуре), значит ты хуево продумал все.Говняное правило: если у тебя в классе сто методов, каждому из которых нужна подпорка, то ты говно.
>>1422658Насколько сложнее научиться управлять самолетом, чем подводной лодкой?И на хуя тебе их кишочки?
>>1422695Есть 2 стула.1й вот видимо пикрил, хотя я до конца не понял пока что там конкретно делать, лол. Даже после 2х собесов.2й Микросервисы на Спринге, который я в целом нормально умею.Но 1й вариант в 2 раза почти больше денег.
>>1422707Чего? Ты стриггерился от исковерканного названия? Я тебя не понял.>>1422697Я имею в виду временные затраты. Сколько у знающего анона ушло времени на изучение каждого из них.
>>1422512>в ява20, глядишь, и множественное наследование завезутЗачем? В интерфейсы и так уже можно все что хочешь пихать.
>>1422723А какая разница? Создание объектов инкапсулировано в специальном классе? Да. Значит, фабрика. Да и производит она картинки, очевидно.
>>1422728Хорошо, то есть, по-твоему, чтобы объект назывался фабрикой, он должен не заниматься созданием инстансов, а рисовать картинки? Не думаешь, что речь именно о создании java-объектов?
>>1422791Что сложного-то в этой регулярке? Очень удобная штука так-то, если лень писать кастомные валидаторы.
>>1422714>Я имею в виду временные затраты.Блядь, это разные вещи для разных целей.Причем и то, и другое покрывает до хуя этих самых целей.Никто не знает, какие у тебя нужды, и что ты всосешь легко, а что нет.Если у тебя нет проекта, где нужно хуярить БД, изучать хибернейт бесполезно.Особенно, если ты никогда не ебал БД без хибернейта.Все то же самое со спрингом.
>>1422736Когда ты дойдешь до Laba2.java, убедишься, что и для него они тоже сработают.Не останавливайся, иди вперед.
>>1422721Зачем завезли var?Зачем завезли вараргс?Этот список "зачем" можно продолжать бесконечно.Потому что в Оракле, в отличие от Сана, мудаки сидят. Поэтому ява будет все больше и больше наполняться говном.
>>1422821О, а вот и говноеды пожаловали.Для вас специальный язык же сделали. Даже со словом java.Хули ты им не пользуешься, а лезешь сюда?
>>1422819Когда ты дойдешь до чего-то сложнее LabaN.java и написанным не тобой, то убедишься, что эти правила перестают работать. Оставь их для академиков.
>>1422841Нет.Что там внутри, никого не ебет.Всех ебет только интерфейс.В интерефейсе он отдает картинки.Где он их берет, дело десятое.
блять не кидайте в меня камни я к вам по сути никакого отношения не имею но надо сделать одно задание . Написать скрипт, который выводит теги input (элементы управления) разного типа, в зависимости от введенной цифры:1 - текстовое поле,2 - кнопка,3 - radio (переключатель).Количество выведенных тегов должно тоже запрашиваться.я уверен что для знающего человека это просто но я не таков и для меня это пиздец сложно и по моему профилю это нахуй не нужно
>>1422856Мы должны в голове угадать какие инструменты тебе по условию задачи использовать блять? AWT, SWT, Swing, JavaFX, говно, моча...
>>1422820>Зачем завезли var?Что бы не писать final ProxyFactoryBean proxyFactoryBean = new XmlPullProxyFactorySingletoneBean(...);>Зачем завезли вараргс?Что бы например писать Arrays.asList(govno, mocha, ...), вместо: Arrays.asList(new GovnoMocha[]{govno, mocha, ...})
>>1422850Ты не понял, что это была шутка. А если серьезно, то я считаю, что это фабрика, как и писал выше. Ибо инкапсулирует создание объектов.
>>1422864я нихуя не понял из того что ты написал но это делаеться через блокнот ) в формате html столько информации достаточно ?
>>1422866>А если серьезно, то я считаю, что это фабрика, как и писал выше. Ибо инкапсулирует создание объектов. Получается Person.getHole(Hole.Anus) то же фабрика?
>>1422872Если персона настолько важная, что занимается исключительно созданием анусов, тогда да. А если это просто одно из ее полей, то нет.
>>1422866>инкапсулирует создание объектов.Еще раз: нет.Никого не ебет, создание там объектов, или что-то другое.Важно то, какой интерфейс торчит наружу.Наружу торчит getвот если бы торчало getNewInstance, тогда, ок, была бы фабрика
>>1422883То есть, ты оцениваешь интерфейс по названию метода, а не по его сигнатуре? Ладно, проехали. В любом случае ты не прав, потому что внутренности для архитектуры точно так же важны: смысл фабрики именно в том, чтобы изолировать создание объектов от другой логики. Для этого их и создают, а интерфейс там плюс-минус одинаковый от фабрики к фабрике. Еще раз: важно то, что этот объект занимается созданием инстансов, в данном случае - инстансов Image. Как он их там хранит и какой именно интерфейс для их получения предоставляет уже не так важно.
>>1422885>этот объект занимается созданием инстансовЭтот объект не занимается созданием инстансов. Он вообще ничем не занимается, объекты создаются в статическом блоке, а инстансов у этого класса вообще нет. Так что это типичный спринговый репозиторий.
>>1422885>В любом случае ты не прав, потому что внутренности для архитектуры точно так же важны: смысл фабрики именно в том, чтобы изолировать создание объектов от другой логикиПоследний раз тебе отвечаю.Похоже, ты просто мудак, и не умеешь читать.Пользователь твоего ебаного класса в душе не ебет, что там у него внутри.Он видит только public методы и переменные.Блядь, иди на хуй, короче.Заебали. Ни языков программирования не знают, ни своего родного не понимают.
>>1422897Нихуя у школьника пукан подорвался. Литературу на лето уже начал читать, архитектуру мамкин? :) А то училка наругает :)
>>1422897Хоть бы Head First сперва почитал, дегенерат ебаный. Сам ведь нихуя не понял, из того, что я сказал. Речь вообще не о пользовательской точке зрения шла. Говнокода, блять, начитались. Или крышу срывает от чсв? Ни о чем думать не хотят, кроме интерфейсов. Пока new по всем классам не разбросает.
Посоны, нужна помощь по мейвену.Добавил в проэкт локально руками одну нужную библиотеку. <dependency> <groupId>...</groupId> <artifactId>...</artifactId> <scope>system</scope> <systemPath>${basedir}/lib/my_custom_lib.jar</systemPath> </dependency>Но эта библиотека - своего рода мини проэкт, у которого в МЕТА-ИНФ есть свой pom.xml с другими завистимостями. И эти зависимости не добавляются.Как сделать, чтоб зависимости моей локальной библиотеки нормально добавлялись?
>>1423208Ну таких библиотек на самом деле несколько и лучше, чтоб они лежали в проэткте. Просто когда они были "обычными" зависимостями, и брались из артефактори, то и с их зависимостями не было проблем.
>>1423215http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.htmlДумаю, что раздел Importing Dependencies - то, что тебе нужно.
Рейт резюме. Само собой на инглиш переведу.Вопросы:1) Фотку все же стоит всунуть?2) Я ебал в рот писать о себе, это ничего?3) Норма что не стал описывать проекты? Они все на гите лежат, гит указан.
>>1423215Не делай через системПасСделай скрипт, который первым делом будет локально устанавливать все эти твои либы в репозиторийИ подключай их в поме уже как обычныеТогда мейвену будет по хер - локальные они, или глобальные - уже стоят в репозитории? - ну и заебись, дальше пляшемтипаcall mvn install:install-file -Dfile=01-install_jars\arial-fonts.jar -DgroupId=ru.mcdd -DartifactId=arial-fonts -Dversion=1.0 -Dpackaging=jar
>>1423267Поржал с PhpMyAdmin. Вообще основная проблема этого резюме что оно не отличается от тысяч других подобных. Убери хуету что ты знаешь phpMyAdmin и сборщики проектов, лучше подробно опиши свои проекты какие делал и по каждому проекту какие технологии применял и что интересного делал, такое резюме бы больше зацепило, ну и сделай нормальное оформление, фото редко у кого видел.
>>1423290>Поржал с PhpMyAdminЗабыл убратьДа вот боюсь в креатив, там же ебанутые бабы сидят которые по шаблону смотрят.
Как организовать хранение пополняющихся данных, с необходимостью их удалять и иметь к ним доступ по индексу, не прибегая к базам данных, но сохраняя связи между объектами?Первое, что мне пришло в голову - это просто записывать эти файлы так же, как записываются csv файлы для импорта в базу. Другой вопрос, что целиком файлы грузить в память, пожалуй, не имеет смысла, но тогда для доступа нужно будет каждый раз просматривать файл с самого начала - это ведь достаточно затратные операции?Также потом пришла в голову сериализация, но тогда тоже встаёт вопрос о том, каким образом выгружать данные - целиком это в перспективе будет слишком затратно.Может кто-нибудь посоветовать что-то или раскритиковать окончательно уже имеющиеся варианты?
>>1423392А чем реляционная бд не устраивает? Как раз идеально для твоей задачи. Но можно попробовать накостылять что-то типа одного файла, хранящего отношения между объектами по их индексам, а сами индексы пусть создаются и резолвятся кодом, например, в виде названия файла или каких-нибудь метаданных, я хз. Вообще идея странная.
>>1423399Всем устраивает - она является частью задания, но не прямым способом хранения информации. То есть, потом нужно будет организовать их взаимодействие. >Вообще идея странная. Так не моя идея. Там ещё упомянуты библиотеки для логов - единственное, что мне приходит в голову, это то, что они таким образом подсказывают о способе хранения данных. >отношения между объектами по их индексамВот и я о чем-то таком думал. То есть, этот файл загружается первым, а поиск конкретных объектов уже делать построчно.
>>1423410Я бы сделал тупо в лоб - сериализацией. И похер, что этот подход на большом объеме данных все поломает: в реальном приложении все равно использовалась бы бд, имхо. >Там ещё упомянуты библиотеки для логовЭто для того, чтобы показать, какой у тебя правильный код, потому что логгирование используется на любом более-менее серьезном проекте.
>>1423410Ну а в чем проблема?После каждого обновления данных срочно пишешь все свои объекты в отдельные файлы.При старте читаешь все в память.Все через хэшмэпы, если тебе надо связи держать.Хотя никто не мешает тебе в объектах держать ссылки друг на друга.Только не забудь их выкинуть из сериализации. Иначе она никогда не закончится
>>1423434>Хотя никто не мешает тебе в объектах держать ссылки друг на друга.>Только не забудь их выкинуть из сериализации. Вот тут, если честно, я не совсем понял. Если вынуть ссылки из объектов, то как сохранить связь? Или имеется в виду параллельное сохранение списка этих связей и восстановление их по нему?
>>1423449class A {Integer ID;Integer idB;....}вот так ты сохраняешь связи при сериализации.но тогда тебе неудобно тягать объект Б по его ИД.поэтому в памяти удобнее делатьclass A {Integer ID;B b;...}все упирается в правильную сериализацию/десериализацию
>>1423449Ничего не нужно выкидывать. Главное чтобы не было цикличных ссылок в объектах типа A -> B -> A. Ебашь сериализацию в Json - это самый универсальный вариант, потом твои данные можно будет без проблем прочесть любым куском говна. Бери Gson библиотеку от Google, там все на похуях через рефлексию заебашиться. Ну а так как после восстановления у тебя вместо множества ссылок на один и тот же объект будет множество новых одинаковых объектов то обязательно переопределяй equals() и hashCode()
>>1423494Хотя этот аноний прав. После десериализации при хуевом проектировании у тебя нарушаться ссылочные связи между объектами. Поэтому нужно обязательно контролировать чтобы в приложении в любой момент времени был только один уникальный объект User, Issue и Project, никаких ссылок на другие объекты в полях класса. Все стейт объекты достаются по ID из DAO класса. Получиться что-то типа этого:class MyStorage { Map<Integer, User> users; Map<Integer, Issue> issues; Map<Integer, Poject> projects;}class Project { int id; List<Integer> issuesId;}class Issue { int id; int projectId; int userId;}class User { int id; List<Integer> issuesId;}Главное при удалении того же Issue не забыть удалить ненужные теперь индексы из других классов User и Project. Сами объекты естественно удаляются только через DAO, не забудь подчистить мертвые индексы в других объектах.>>1423521
>>1423544>class MyStorage {>Map<Integer, User> users;>Map<Integer, Issue> issues;>Map<Integer, Poject> projects;>}Только не MyStorage, а MyFactory.
>>1423510>Ничего не нужно выкидыватьЭто только так кажется.А потом окажется, что у тебя после десериализации по нескольку инстансов одного и того же объекта.Особенно, если ты будешь "ебашить самые универсальные варианты"
>>1423267Скилов много указано, а с опытом непонятно - откуда собсвенно более года Явы и более 2-х лет крестов?Лучше начать с опыта работы: где работал, что за проект, твоя роль на проекте, какие ключевые технологии на проекте. Если опыт это учебные проекты: описание проекта, технологии, если было каое-то практическое использование проекта (типа отдел кадров стал использовать приложение ХХХ) или успешно защитил курсач то тоже пиши, нет - лучше промолчи. А в конце уже можно указать список баз вордз.В российские компании фотка не нужна, а заграницу тебя с такми CV не возьмут. Но если есть хорошее "профессиональное" фото - то добавь (профессиональное - это то где ты выглядишь профессионалом, как на этих стоковых фото).
Как бы вы задизайнили такую штуку: есть игра камень-ножницы-бумага. Есть енум который описывает фигуру камень, ножницы или бумага и надо сделать метод который сравнит их между собой и вернет результат сравнения: LOOSE, DRAW, WIN. Как это реализовать без толпы if, матрица сравнений, мэпы, выебнуться с математикой?
>>14236371. Это не отвечает на вопрос: КАК реализовать сравнение.2. Реализация такого сравнения нарушает контракт Comparable.
>>1423643Создай объект ResultFactoryResolver, в нем метод resolve(Figure fig1, Figure fig2) и вызывай его, а в нем уже compareTo(Figure figure). Хотя если выебываться крутой расширяемой архитектурой на 3+ человек, то тут уже думать надо.
>>1423643Ниче не нарушает. Все фигуры реализуют один интерфейс. Внутри метода compare класса Rock пишешь if (o instanceof Paper) return -1 и так далее.
>>1423634Создал бы три абстрактные фабрики синглтонов: KamenAbstractSingletonFactory, NozhnicyAbstractSingletonFactory, BumagaAbstractSingletonFactory. Написал бы конкретную реализацию под интерфейс игры, ну а дальше и так понятно как заимплементить.миможабасеньор300кквнаноэпоху
>>1423647Нарушает свойство транзитивности.>>1423646Вопрос не в том где написать этот метод, а КАК его написать так чтобы было понятно и читабельно. Простейший вариант это if, но выглядит такое код не очень.
>>1423652>Нарушает свойство транзитивности.Ну и соси хуй со своей транзитивностью, вместо решения бизнес-задачи.
>>1423648Двачую, очевидно без фабрик здесь не обойтись. Шизики сверху про какую-то транзитивность пишут, их игнорируй - это школота
>>1423652Дополню >>1423658:Если хочешь совсем по-дебильному сделать и размазать ифы по коду, но добавить поддержку овер 9000 игроков, то сделай декоратор: объект PlayerDecision, у которого поле PlayerDecision и метод int compareTo().
>>1423654камень > ножницыножницы > бумагапо свойству транзитивности следуеткамень > бумага>>1423653Дебил, из постановки ясно что это тестовое задание.>>1423658Можно сделать по классике из теории множеств: задать отношение матрицей я у мамы математик. Можно попытаться придумать что-то с числовыми коэффициентами, и суммой/разностью по модулю олимпиадник 80 лвл. А в идеале хотелось бы что-то элегантное и простое.
>>1423658Ща придет егор бугаенко и выебет за енум, но все же:public enum Figura { BUMAGA { public boolean beats(Figura other){ return other == KAMEN; } }, NOZNICY{ public boolean beats(Figura other){ return other == BUMAGA; } }, KAMEN{ public boolean beats(Figura other){ return other == NOZNICY; } }; boolean beats(Figura other);}}
>>1423671Я бы заменил оверайд метода, на просто поле. Но в целом мне нравится, метод сравнения реализуетя довольно просто. Зачёт!
>>1423679public final class GameRule implements IRule {private final IRule nextRule;private final Game.SHAPE winner;private final Game.SHAPE looser;@Overridepublic boolean firstBeatsSecond(Game.SHAPE first, second) {return (first == winner && second == looser) ? true : nextRule.firstBeatsSecond(f, s);}}IRule rules = new Rule(Game.SHAPE.Stone, Game.SHAPE.Scissors,new Rule(Game.SHAPE.Scissors, Game.SHAPE.Paper,...))Дальше уже для каждого игрока проверяешь правила:boolean redWins = rules.firstBeatsSecond(red, blue);boolean blueWins = rules.firstBeatsSecond(blue, red);Это если чисто врезать только правила.
>>1423668По твоему тебе дают тестовое задание, не для того, чтобы посмотреть, как ты будешь решать бизнес задачи?
>>1422190А почему бы тут не заменить ключ мапы на Class.getSimpleName? Тогда можно мапу вообще убрать и использовать свитч, а сами картинки задать как константы. Тогда можно это все заменить вообще на енум и сделать Icon.forClass(Class clazz).getImage();
>>1423634Нахуй не мудри, напиши пока так:public String gameResult() { return "YOU LOSE";}И в продакшн. Потом фичи добавишь как понадобятся.
>>1423683А как связать два SHAPE и конкретный IRule?>>1423684По разному, кто-то дает максимально практичное задание: заебоште нам REST сервис.А вот coding task у всяких Google, Amazon и прочих Microsoft не связан с практическими зачами и направлен на то как ты мыслишь и решаешь не типовые задачи, какая у тебя базовая CS подготовка и т.п.
>>1423694Есть два SHAPE для двух игроков, нужно получить IRule и получить результат игры. Как это сделать?
>>1423696Зачем тебе конкретный IRule получать?Ты делаешь набор правил, и у набора спрашиваешь, бьет ли фигура первого игрока фигуру второго. Потом ты спрашиваешь, бьет ли фигура второго игрока фигуру первого.
>>1423699Да, второй раз можно не спрашивать, если добавить правило RuleDraw, сравнивая одинаковые ли фигуры, и изменив сигнатуру метода-вопроса. Но это годится только для данного случая.
>>1423704Что если первым в списке будет правило, которое выдаст ничью? Как узнать, нужно ли дальше обращаться к правилам?
хей народ подскажите что почитаь по Java с углублением в JVM (что-то типа Рихтера clr vi C# но для Java)?
>>1423623>где работал, что за проект, твоя роль на проекте, какие ключевые технологии на проектеНигде:(
>>1423750Тебе в любом случае надо рассказать про свой опыт:- Тестовый проект ХХХ, проек приложение которое бла-бла-бла, использованные технологии А, Б, В. Код проекта доступен <ссылка на гитхаб>- Курсова работа по теме ХХХ...- Стажировка в УУУ...Тебе надо максимально полно и подробно рассказать про себя, так чтобы прочитав твое резюме стало понятно, что ты знаешь умеешь потом это еще дополнительно проверят. Если описание прокта покажется интересны, то гитхаб посмотрят, но перелопачивать твой гитхаб чтобы просто понять, с чем ты работал никто не будет. И писать уточнять "у вас тут не совсем понятно написано ..." тоже не будут, так что постарайся сам про себя рассказать. Но без фанатизма, 5-ти страничное резюме джуна без опыта никто читать не будет.
>>1424061Я с жее не работал, но это ведь еще более тяжкая в поддержке тырпрайз-параша? З.Ы. Спринг охуенен.
>>1424092Новая очень похожа на спринг. Аннотации, тот же ДИ, АОП, подгонка под solid ит д. Старая говно.
>>1424104>Новая очень похожа на спрингВот когда EE стек можно будет запустить вне спец серверов тогда приходи.
>>1424105>>Новая очень похожа на спринг.>Пруфы с картинками.Слева ж2ее новая, справа спринг.Или наоборот.Они так похожи, что я путаю постоянно
Пиздец, до чего же спринг бут сложный внутри. Лучше бы не смотрел Spring Boot the Ripper. С другой стороны, нужно ли вообще кому-то кроме разработчиков спринга знать его так подробно?
>>1424254Я тоже не очень врубился в "сложность". Да, он составной, да, он справляется с огромным количеством трудностей, абстрагируя решения, но именно благодаря абстракциям он и достаточно простой - ты представляешь, что тебе надо сделать и - внезапно - под это есть готовое решение, обычно ещё и названное буквально один в один с проблемой, которую ты для себя поставил.
Приветсвую, задали интересный вопрос. Помогите пожалуйста ответом.Есть функция public void setDestination(String Destination) { destination = Destination; }Что в этой функции нужно поменять, чтобы появилась необходимость обязательного использования this.destination = Destination;Дана подсказка, что всего в паре мест поменять символ (букву ?)I am done.
Спасибо всем, кто отвечал мне на вопрос по поводу сериализации и хранения данных непосредственно на компьютере с сохранением их связи. Вроде никаких при восстановлении объектов не испытал - при загрузке приложения и наличия по указанному адресу хранилища загружается объект, хранящий в себе три map'ы, значением которых являются необходимые объекты. Один из объектов хранит в примитивах идентификаторы, которые позволяют при загрузке данных из десериализуемого файла восстановить связи между объектами пользователя и проекта. Сейчас с этой частью закончу, потом буду выполнять дополнительную часть задания с внедрением во всё это настоящей базы данных с импортом данных с компьютера. Очень надеюсь, что всё можно быстро решить hibernate'ом, но, смотря на своё приложение, сдаётся мне, что придётся помучиться.
>>1424575Шанс нихуевый на самом деле. Особенно на этапе перехода от Laba1 к реальным проектам на EE и Spring с тестированием и логированием.
>>1424681>>1424682И что делать? Из всех языков мне хочется именно Явочку. Смотрел еще Питон, но там почти все вакансии на Вебе. ;(
>>1424687Ну ниче не поделаешь теперь. Пацаны на дваче сказали, что не сможешь, значит, не сможешь. Иди в 1С тред поспрашивай.
>>1424701Не, тут вообще никак. Придется смириться и расслабиться. Ну или подождать, пока пацаны свое мнение поменяют.
А по мне так энтерпрайс и спринг куда интереснее, чем джава уровня лаба1. Тут тебе столько задач, столько всяких блядь библиотек, такая возможность широко мечтать, что даже я, человек, которого уже лет пять воротит от компьютеров, нахожу интересным заниматься всей этой ерундой целый год ежедневно, совмещая с работой и личной жизнью, и не теряя надежд профессионально начать заниматься разработкой. Время за написанием кода летит так незаметно, как в детстве оно проносилось за приставкой и компьютерными играми.
>>1424836Очевидно потому што второй класс при вызове .get() вернет саплаер который создает объект, а первый класс просто возвращает уже готовый инстанс.
Вроде соединил все эти сериализующиеся данные с базой данных, то есть при запуске приложения она выгружает все данные в себя, во время работы приложения всё добавляется и в базу, и в локальное хранилище. При этом приложение работает с базой, то есть поиск идёт по ней. Всё это я написал без каких-либо библиотек, из-за чего мне кажется, что люди на том конце, которым нужно будет проверять задание, подумают обо мне что-то нехорошее. Я хотел попробовать посмотреть, насколько удобоваримо созданы мои классы под лёгкое внедрение hibernate, но честно говоря, мне стало тупо впадлу доделывать до конца задумку. Вопросы как минимум появятся просто потому что компания использует Spring стэк, и у меня в резюме указан Spring, но это название в .pom файле даже не появляется. Ну, если всё-таки позовут на очное собеседование, попробую им объяснить свой осознанный выбор.
>>1424912Ещё всё усугубляется тем, что там махрового говнокода строчек на шестьсот. Может успею ещё сегодня отрефакторить, превратив во что-нибудь приличное.
>>1424917Я конкретно про валидацию на корректность (не больше 10 символов в логине, только определенные и тп). Везде - это дублирование одного и того же на сторонах?
>>1424918Провалидируешь только на фронте - зашлют некорректные данные через апи. Провалидириуешь только на беке - тратишь серверное время на обработку заведомо неправильных данных и заставляешь клиента ждать.
>>1424858Хорошо, может, тогда расскажешь, чем принципиально отличается создание объекта ноды от создания объекта картинки или объекта поставщика нод?
>>1424925Тем, что в одном случае происходит именно создание нового объекта, а в другом вытаскивание готового объекта из коллекции.
>>1424927Блять, ну ты ж в любом случае вытаскиваешь элемент из коллекции, в которую сам его и положил. Еще раз, в чем принципиальное отличие?
>>1424930Я уже написал, что в любом случае создание. Просто формат вытаскиваемого объекта разный. New видишь? Вот и все.
Джаваны, в чем подход к созданию асинхронного сервера с использованием тред-пула хуже, чем с использованием NIO? Иначе говоря, зачем нам NIO?
>>1425022Дополню. Предполагаю, что вместо ожидания инпута от клиента, капчующего с модема на даче, воркер-тред может заняться чем-то еще. Так ли это?
Анон, могущий в Spring Security, поясни такие вещи:1)Как вместо этих стандартных спринговских форм всунуть свои js-овские?2)Как происходить регистрация? Типо что-то похожее на тело 2 метода, где мы юзера записываем в бд, только зашифровав предварительно?
>>1425184https://docs.spring.io/spring-security/site/docs/current/guides/html5/form-javaconfig.htmlhttps://www.baeldung.com/spring-security-extra-login-fieldsВ целом надо переопределить страницу логина, которую ты указываешь в в контроллере где нибудь, ну и привязать к ней вьюху в любом виде. Достаточно даже просто хтмля или тимлифа.
>>1425200 Здесь указываются страницы шаблонизатора, которые возвращает контроллер. А что если контроллер возвращает JSON, а фронт его уже как-то обрабатывает. И выходит что страница логина - это вообще компонент Vue. Никак не вдуплю что делать
>>1425204Чет я не втыкаю.Ты хочешь чтобы некоторые REST end points были доступны только авторизованным пользователям?Тогда сам end point должен возвращать ошибку при таком раскладе. Можно вообще обойтись простым HTTP status code 401 Unauthorized. Вьюха же пользователю показывает что вы не авторизованны и предложение залогиниться.Стаковерфлоу программинг все дела -> https://stackoverflow.com/questions/42358856/how-to-return-401-for-rest-api-call-in-spring-security
>>1425250На данный момент проблема такая:Я понимаю как вставить свою форму логина на шаблонизаторе но не понимаю как сделать эту форму где-то на фронте (без шаблонизаторов).
>>1425200Я по этому примеру делал когда-тоhttps://www.callicoder.com/spring-boot-spring-security-jwt-mysql-react-app-part-2/
>>1425204Как у тебя сделана сущность самого пользователя? Спринг тебе ее выдает в виде мапинга к ПОЖО по умолчанию.Нахрена тебе еще жейсон к логин форме лепить?
>>1425375>Нахрена тебе еще жейсон к логин форме лепить?Авторизация происходит на фронте. С фрона post-ом приходит json (имя, пароль). Как сказать сринг сисурити чтобы проверил ЭТИ логин и пароль?
>>1425393Вернее приходит 2 параметра - логин и пароль. Теперь я хочу сказать конфигу чтобы проверял логин и пароль с этого маппинга
>>1424927Это детали имплементации.Сегодня ты его вытаскиваешь из коллекции, а завтра будешь создавать новый инстанс.Ни один пользователь твоего класса этого не заметит.Шо ж ты такой тупой?
>>1425412Хули ты такой беспомощный, чорт ебаный?https://stackoverflow.com/questions/20538619/login-with-spring-security-using-ajax
>>1420539 (OP)Анон, хочу запилить сравнение объекта по значенияю полей, в рамках переопределения equals, но стопарюсь на идее, что без equals это не делается.Т.е. мне нужно использовать equals от Object в своем методе equals?https://ideone.com/1JQluu
>>1425501Блядь, не беспомощный ты просто тупой.Ты спросил, как тебе к спринг секьюрити подвязать свой ебаный жс, вместо простой формы.Тебе дают ссылку на разжеванное объяснение, как это сделать.>эта хуйня не связана с сабжемПиздец, иди на хуй просто. Надо перестать помогать ебланам на дваче.
>>1425531В принципе, да. Трудно сделать equals без equals.С другой стороны, как тебя поймешь, что там за сравнение? Может, больше-меньше (твой код я, естественно, не смотрел)Тогда, очевидно, надо делать без equals.
>>1425531Все правильно, ты переопределяешь equals родительский. Если ты в Intelij оно тебе даже нагенерить может и equals и hashCode (их вместе надо определять что бы не было потом непонятных проблем). можно например так:@Overridepublic boolean equals(Object o) {____if (this == o) return true;____if (o == null || getClass() != o.getClass()) return false;________ComplexNumber that = (ComplexNumber) o;________if (Double.compare(that.re, re) != 0) return false;____return Double.compare(that.im, im) == 0;}@Overridepublic int hashCode() {____int result;____long temp;____temp = Double.doubleToLongBits(re);____result = (int) (temp ^ (temp >>> 32));____temp = Double.doubleToLongBits(im);____result = 31 * result + (int) (temp ^ (temp >>> 32));____return result;}
Расскажите про свой опыт миграции легаси говна с анта на мавен.Какие подводные?Я так понял обязательно сервак запилить куда все артифакты самопальные закидывать?
>>1425646Ну в общем да, это ведь большая выгода мэйвена что он сам скочает нужное говно. Но похоже есть куча сердпартирешений готовых.
>>1425656Щас бы генерить массивчики/объекты при подсчете хеша/равенства. Ты бы еще жестяных банокапачекомонос притащил. Лучше уж ломбок (впрочем мне похуй я на котлине, что ты мне сделаешь, за мат извени).
>>1425659Кек. Лучше уж пусть на мавен сначала перекатится.господе блять 16 гигов для демона нахуй, чистый билд 20 минут нахуй
>>1425705>Щас бы генерить массивчики/объекты при подсчете хеша/равенстваБайтоеб ты? Когда начнешь названия переменных оптимизировать?
>>1425776Не, загрузку нативных либ пока не начали оптимизировать, у ведра с этим есть проблемки, порядок дексов задаем.
>>1425656>>1425734>Байтоеб ты?Он, может, и байтоеб. Но судя по этому охуительному коду:if (!(obj instanceof User)) { return false; }Ты не байтоеб, а мудоеб.
>>1425785Чо ебать, в моем коде такого нет. Спрашивающий кинул ссылку на идеоне, там были поля re и im, я предположил что это части комплексного числа - вещественная и мнимая.
>>1425557>>1425559>>1425596>>1425645>>1425656Вы все дауны и нихуя не понимаете в программировании. Вот тру способ:https://www.yegor256.com/2017/07/11/how-to-redesign-equals.html
>>1425786>Ты не байтоеб, а мудоеб. Я копрофил не любящий стримы. В чем проблема этого куска кода пояснишь?
>>1420539 (OP)Нужно запустить maven-проект с параметрами через maven конфигурацию и вводя из консоли. Может кто привести примеры или скинуть туториалы, где подобное делается?
>>1425462Ещё разhttps://ideone.com/k7oBSwmap принимает на вход Function. Второй параметр Function это выходной результат. А на входе reduce уже Object
Смотрел видео Немчинского в котором он поясняет, что для джуна алгоритмы не нужны и можно не учить, в тоже время это выглядит странно, тк везде про них пишут. Есть кто недавно проходил собеседования на джуна, как часто гоняли по алгоритмам?
>>1426006Значит придется изучать. Читал как некоторые для собеса сидели месяцами учили структуры, алгоритмы и тд что не очень весело
>>1426010Я помню только дийкстру, тк писал курсовую по нему на первом курсе универа, что было уже давно. Всякие пузырьки и тд не считаю, тк это слишком просто
>>1425590Два чая. Решил помочь, дал ссылок, вопрос вроде годный в кои то веки и тут такое разочарование.
>>1426096Представил, что на каком-то крупном серьёзном проекте таким образом подбирают стек технологий, и проиграл.
>>1426342http://literatejava.com/threading/fork-join-parallelization-feature-or-problem/Нахуй тебе это дерьмо?
>>1426355Делал поиск файлов через BFS.Хотел еще прикрутить многопоточность. Наткнулся на статью - попробовал - ахуел.Как обычно в общем.
Если я хикка и у меня нет стажировок и вообще опыта работы в команде я могу просто показать свой гитхаб, где я в соло запили клиент-серверное приложение и прочую хуету в стиле тетрисов/погоды/etc?
>>1426610Они не то чтобы неправильные - они не всегда однозначные и иногда имеют свои тонкости и подводные камни. Выясняется это когда погружаешься в какую-то тему.
Расскажите, пожалуйста, у кого опыт есть - что интересует интервьюера на техническом собеседовании в EPAM на джуниора?
>>1425806тем, что ты не понимаешь, чего ты от него хочешь, и что он делаетначни с первого: чего ты от него хочешь?
>>1425796Если ты для проверки на налл пользуешься инстаноф, то ты еще больший мудоеб, чем казался ранее
>>1426000Блядь, ты вопрос не можешь понять простой, ясен пончик, что ты не можешь понять, как вся эта ебала работает, и почему ошибку выдает.Иди на хуй, учи там русский язык
Сап, аноны. Что первым делом надо учить? Ангельский или код?Или просто учить ангельский и делать свою рандомную хуйню?
>>1426804Охуеть. От того, что ты это высрал, ты понял, почему у тебя не работает говнокод?Да иди ты на хуй, мудила.Пришел за помощью, а срешь кровавым поносом вместо "пожалуйста".
Решил кабанчиком прогу для ДэБилов написать вспомнил что изучал Джаву ну зашел такой хуе мое. А тут залупень какая то.Мне надо чтоб в мейн была статичная картинка ебать. А он не хочет эту блядскую хуиту выполнять серый экран ебать1-дисплей2-Мейн
>>1426756Пиздец, чувак спросил как ему реализовать equals, а мне кидают предъяву "хули ты что-то предлагаешь", когда он даже не показал весь класс.Не децималы потому что у чувака было сравнение '=='.
>>1426836Лучше попробуй простигосподи JavaFX + SceneBuilderГуй мышкой за полчаса накидаешь, функционал на кнопки повешать еще полчаса. Потом пару месяцев дебага.
>>1426729Ну где там косяк то?В приведении полей к инт? Тебе не нравится побитовое смещение?В базовом числе от которого считается хэшкод?Может быть тот способ из книги ведет к вырождению хэш таблицы?Какие тонкости ты имеешь ввиду?
>>1426940> интерпрайзИзвини за глупый вопрос, но что это значит? Переводится как предпринимательство, а как это с разработкой связано? Стартапы что ли ?
>>1426948Промышленное программирование, то есть разработка продукта для отраслевых нужд - банки, автомобилестроение, телеком, трейдинг и т. д. Противопоставляется старт-ап или веб-разработке ввиду инертности и внимательному внедрению инженерных подходов, так как во многих сферах есть повышенные требования к надежности ПО.
>>1427063Ходил на одно собеседование 3 недели назад. Засыпали вопросами про коллекции, хешмапы там и прочие приколы. ООП конечно же спрашивали, зачем нужно поля приватными задавать, ну вот это все. Немного спрашивали про спринг, аннотации, контекст. Спросили какие знаю паттерны программирования. Ну и обсуждали мой проект на гите (веб-чат на спринге у меня там был). Потом спрашивали вообще про мой опыт в программировании, чем занимался, что в унике преподавали, что из этого нравилось. Собес шел полтора часа, я так заебался там сидеть. В целом на все вопросы заебок ответил, обосрался только на вопросе про хешмапы, не знал, что будет, если в хешмапу ключ null закинуть. Но интервьюер мне хуйню наговорил, сказал, что нельзя будет закинуть в хешмапу после этого объектов. Челик перепутал хешмапу с тримапой, но он хотя бы отписал мне на почту, что он меня наебал. Сижу-жду результатов собеса, на днях должны ответить.
>>1420539 (OP)public float[] checkKvadrat(){float[] kvadr = new float[12];int q = 0;float y = 0;for (int i = 0; i < 12; i++) {for (Rectangle br : brush) {if(br.intersects(rectangle)){y = 1;break;}else y=0;}kvadr = y;y=0;}return kvadr;}Суть в том что есть 12 квадратов и надо определить пересекается ли он хотябы с одним квадратом из списка brush. Почему-то правильно определяется только 12-й, то есть последний квадрат. Остальное - 0, то есть нет пересечения
>>1427100>>1427102со мной еще пара одногруппников ходила на собес, их спустя 4 дня нахуй послали уже, а со мной тянут.
>>1426860Вот я и говорю: ты мудаеб, который не знает, как работает инстансоф, и не понимает, на что у него там проверка получается.
>>1426864Ты,блядь, даже читать не умеешь. но лезешь с советами.Вопрос был "Хули ты вообще что-то предполагаешь?", а не "предлагаешь".>Не децималы потому что у чувака было сравнение '=='.Пиздец. А если бы у него там было написано, что он ебал твою мамку? Ты бы и это принял за чистую монету.Ты не ошибся тредом? Это не яваскриптовый, если что.
>>1427181Я тут одному уже ответил, у него жопа сгорела.Повторяю ответ тебе:потому, что ты не понимаешь, чего ты от него хочешь, и что он делаетначни с первого: чего ты от него хочешь?он катит, если ты от него хочешь именно того, что он делаетон катит, если ты умудришься при этом не проебать контракт equals
>>1427094>то будет, если в хешмапу ключ null закинуть.Какие же интервьюеры дегенераты, пиздец просто.
>>1427175Пиздец ты черт, в оригинале я ему предложил отдельно на налл проверить, потом то что класс один и тот же, где тут проеб контракта, дятел.В случае если у класса нет наследников инстансоф тоже не нарушит контракта. Сейчас бы дата классам наследников хуячить.
>>1427298>instanceof()>умудришься при этом не проебать контракт equalsНалил тебе полный рот мочи. Проглатывай.
>>1427531>В случае если у класса нет наследниковТ.е. ты программируешь, следуя своим фантазиям об устройстве всего остального кода, который ты не знаешь.Молодец. Продолжай плодить говнокод.
>>1427619Жопа все еще горит?Тебе, я так понял, не привыкать.Когда ты тупой и не умеешь в программирование, жопа и должна гореть.Попрыгай еще.
>LocalContainerEntityManagerFactoryBeanВсе эти кеки про AbstractSingletonProxyFactoryBean это блять не шутки оказывается?Столько анальной боли чтобы сохранить пару объектов в базе данных, я уже нахуй сознание теряю от этих ебучих конфигураций.
>>1428271В чём проблема? Ты один раз создаёшь эту херню в конфиге, а потом просто инджектишь EntityManagerFactory в нужный класс.>Столько анальной боли чтобы сохранить пару объектов в базе данныхЗажрался ты, ты видимо со стандартным JDBC никогда не работал, лол. И вообще, открой уже для себя Spring Data, Spring Boot и spring-boot-starter-data-jpa, если тебя так напрягает руками писать конфиги.
>>1428277>ты видимо со стандартным JDBC никогда не работалПриходилось ковырять немного. Вот чем JDBC мне нравится так это простотой. Никакой магии. Сразу видно где подключаемся к базе данных, где выполняем запрос, где читаем ответ. В спринге настройка через бины и работа через AOP прокси, только отдаленно представляешь как оно там шевелиться и и что для чего нужно. Прикручиваю JPA уже создал бины:LocalContainerEntityManagerFactoryBeanPlatformTransactionManagerDataSourceПо описанию можно понять для чего каждый примерно нужен, но в деталях можно утонуть.Вот к примеру в этом куске кода:@Beanpublic PlatformTransactionManager jpaTransactionManager() { return new JpaTransactionManager( this.localContainerEntityManagerFactoryBean().getObject() );}Зачем нам устанавливать PlatformTransactionManager с помощью LocalContainerEntityManagerFactoryBean.getObject()В чем смысл этих манипуляций. Нахуя нужен отдельный бин для transaction AOP магии? Это уже просто какие-то забытые технологии далеких предков.
>>1428281>Вот чем JDBC мне нравится так это простотой. Никакой магии. Сразу видно где подключаемся к базе данных, где выполняем запрос, где читаем ответ.У JDBC есть одна вещь, которая портит вообще все: SQLException, которое бросается на каждый чих и которое обязательно надо ловить, потому что сверхразумы, которые дизайнили это API, унаследовали его от Exception. И да, не забудь закрыть Connection, PreparedStatement и ResultSet :)>Зачем нам устанавливать PlatformTransactionManager с помощью LocalContainerEntityManagerFactoryBean.getObject()А как ему, по-твоему, узнать, каким объектом ему управлять? Ну можешь в метод создания JpaTransactionManager @Autowire-ить EntityManagerFactory и передавать его вместо localContainerEntityManagerFactoryBean().getObject(), лол. >Нахуя нужен отдельный бин для transaction AOP магии?А как оно должно работать, по твоему? Чтоб нажал на кнопку и всё само сделалось? Ну тогда опять же используй Spring Boot. И вообще, JPA это не единственное средство для связи с БД. Фишка Спринга в том, что он довольно гибок и во многих случаях не навязывает тебе какой-то один подход, а позволяет выбрать то, что нравится. Можешь воспользоваться Spring-JDBC, можешь заюзать MyBatis, можешь вообще хоть на голом JDBC писать.
>>1428271>Столько анальной болиТы правильно рассуждаешь. Весь этот Спринг и энтерпрайз разработка на джаве - просто тихий ужас от которого по кд получаешь анальную контузию. В той же Scala - это решено в рамках небольших библиотек, где все решается в явном виде и занимает буквально пару строк кода. в Java ты сначала хуяришь 100500 обосанных классов, потом лепишь туда еще 100500 аннотаций, полдня ебешься с настройкой СПРЭНГ ФРИМРВЕРКА, а потом разгребаешь проблемы с транзакционностью в Spring Data, лол.
>>1428309> полдня ебешься с настройкой СПРЭНГ ФРИМРВЕРКАПлз, что ты там настраиваешь полдня? Если ты не очень джун, занимает не больше получаса
>>1428312>>1428294Кстати про настройку: вы помните наизусть все имена необходимых классов всех этих спрэнг мвс, спрэнг секьюрити и прочих? Или приходится каждый раз лезть в гайды? Я уже не вывожу эти бесконечные слои абстракции, хз, как это учить.
Вбиваю в гошу "jpa entitymanager get all" чтобы узнать как быстренько получить все ентити нужно класса. Ну типа всех пользователей, или все заказы там. И блять мне предлагают писать это:@PersistenceContextEntityManager em; public List<Entry> allEntries() { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Entry> cq = cb.createQuery(Entry.class); Root<Entry> rootEntry = cq.from(Entry.class); CriteriaQuery<Entry> all = cq.select(rootEntry); TypedQuery<Entry> allQuery = em.createQuery(all); return allQuery.getResultList(); }Кто нахуй писал это все? Интуитивно понятный способ я ебал.
>>1428317Забей на этот спринг, чувак. Перекатывайся на Скала. Посмотри как персистенс реализован в doobie или slick.
>>1428319>Перекатывайся на СкалаМне кажется это язык мертв. Да и рассчитан на тех кто уже два мешка абстрактных фабрик в жабке съел.
>>1428317???return entityManager .createQuery("select entry from Entry entry", Entry.class) .getResultList();>>1428319Слишком толсто.
>>1428321Тогда используй JOOQ, если не хочешь уходить с Java.Не обращай внимания на этого долбаеба - >>1428324У него анальная контузия от джава. Ему никогда не зарабатывать 8к грина на уделенка на скала.
>>1428324>.createQuery("select entry from Entry entry", Entry.class)Теперь еще и JPQL придется изучать. В java баззвордов на 10 резюме уже хватит пока чатик напишешь.
>>1428326Скала это не альтернатива Джаве. У Скалы другая область применения (Big Data и распределённые системы). Да и сейчас почти на всех Scala-вакансиях требуют опыт работы с Java. К тому же, этих вакансий мало. >>1428327Так сейчас со всеми языками, кроме каких-нибудь узконаправленных. Ну и да, если ты знаешь SQL — считай, что ты уже знаешь JPQL. А знание SQL и реляционных БД вообще — это must have для любого бэкэнд-разработчика.
>>1428324>JPAне нужно. С развитием проекта ты непременно упираешься в ограниченность и ненужность этого костыля. Лучше старыми добрыми sql запросами через JdbcTemplate
>>1428326>Ему никогда не зарабатывать 8к грина на уделенка на скала.Чет мало для скалы, изи делаю в топтале больше 10к. Но всегда думал если вкатится в скалу то можно немного поднять потолок.
>>1428326Блин, вы так пишите, как будто сами решаете чем обращаться к бд. Или вы все тут сеньор архитекторы бля? Я когда приходу на проекты (всего два раза такое было) там уже выбран конкретный путь работы с бд и никто тебе ничего менять не даст.Мне джук тоже понравился, вакансий в своей мухосрани на нем нет.
Вопрос: что такое JavaEE? Сервлеты - это ведь часть его? Тогда почему спринг мвс, использующий сервлеты, противопоставляется JavaEE?
>>1428421Spring MVC - это java ee энивей. EE принято называть олдовый языковой стек, а Spring - просто надстройка под него которая переросла в чем-то родителя.
>>1420539 (OP)Переустановил эклипс и теперь не работает автоподсказка. Например всякие system out print ln приходится вручную печатать. Как вернуть всё назад? Раньше очень лампово было, начинаешь печатать и он тебе всё подсказывает, теперь только названия переменных и всё.
Я не понимаю. В документации на спрэнг секьюрити говорится, что фильтры являются бинами, а в статье на том же spring.io об архитектуре спрэнг секьюрити наоборот. Что за хуйня?
Как в интелллиж сделать "Problems view" как в эклипсе? чтобы все ошибки были все в одном месте. гуглил - все что нашел либо не работало либо было не так удобно как в эклипсе
>>1428316На хуй вообще что-то помнить наизусть?Болванка от конфига есть от предыдущего проекта.Если надо добавить какой-то новизны, смотришь в референс.
>>1428281>Вот чем JDBC мне нравится так это простотой. Никакой магии. >Сразу видно где подключаемся к базе данныхТы кроме Laba1.java никогда не писал, что ли?Когда тебе надо выдавать за деньги продукт, тебя не ебет, где ты там подключаешься к базе данных.Все, что тебя интересует - как правильно достать. Как правильно положить решается на уровне маппинга, и тоже больше никогда не ебет мозги.Если ты не умеешь в абстракции, съеби из ява в ассемблер тогда уж. Там будет видно, и где у тебя программа начинает работать, и все остальное.
>>1428546Лично я чувствую себя неуютно из-за всей этой магии спрэнг фримверка. Это как-то по-дилетантски - тупо копипастить код с гугла из раза в раз.
>>1428281>В чем смысл этих манипуляцийА в чем смысл задавать этот вопрос здесь, а не прочесть документацию?
>>1428327>Теперь еще и JPQL придется изучать.Хули там изучать? Тот же sql с чутка детализованными классификаторамиТ.е. звездочку не напишешь.
>>1428519интеллиж говно в этом смыследостаточно того, что по дефолту в нем подсказки кейссенситива уж про sysout=>Sustem.out.println и говорить нечего (его там нет)а настроить все руками можно хоть в идее, хоть в эклипсе
>>1428563Просто кое-кто не умеет работать с интеллижем. Все там есть:sout -> System.out.printlnи многое другое.
>>1428566>filter classes are also spring beansmeanwhile>all filters internal to the SS are unknown to the container ... that explicitly disables the container registration
>>1428553Какой код-то ты копипастишь?Технологическую обвязку, чтобы завелось?Я, блин, даже не понимаю, в чем твоя проблема.У меня, может, один-два класса переезжают из проекта в проект - подцепление пропертей для ДБ и кое-что из секьюрити.Специально сейчас глянул в свой тестовый проект, там про ДБ только проперти лежат да в applicationContext.xml несколько записей про transactionManager (который через другую запись подвязан к LocalContainerEntityManagerFactoryBean),jpaVendorAdapterиpersistenceUnitNameВсе. В коде у меня только то, что мне надо - ЭНТИТИ, и все, блядь.я не могу понять, на хуя вы тащете в код какую-то хуету?Может, это потому что вы вместо того, чтобы прочесть документацию один раз (и один же раз поиграться в песочнице с тем, что там написано), лезете по кажому чиху на стэковерфлоу и тянете оттуда что-то без понимания, на хуй это надо?
>>1428564ок, проверюне умею, да.но я идее сказал, чтобы она настроилась под эклипс (она же сама меня спросила, хули)а она не настроилась толком под эклипсполовина хоткеев не работает, как положено, и т. д.в целом, у меня нет особых претензий к идее. но понять, почему вы на нее так надрачиваете, я так и не смог.
>>1428569Я про то и говорю, что вместо того, чтобы бездумно лезть за куском кода для конфигов куда-то, хочется понимать, как оно внутри устроено. Это было в ответ на>На хуй вообще что-то помнить наизусть?По сути знание внутренних механизмов спринга и есть запоминание названий всей этой хуйни.
>>14285671. Здесь нигде не сказано, что они НЕ бины2. контейнер здесь, очевидно это сервлет-контейнерТы путаешь сервлет-фильтер-чейн и спринг-секьюрити-фильтр-чейн.Чтобы вставить свой фильтр в секьюрити-чейн, тебе надо сделать его бином, чтобы спринг его подхватил и вставил.Чтобы вставить сервлет-фильтр в чейн сервлет-контейнера, тебе надо прописать его в веб.хмл
>>1428570Придется привыкнуть к другим хоткеям тогда. Например, все сокращения можно посмотреть, тыкнув ctrl-j. Вообще идея очень удобна, с эклипсом почти не работал, но меня в идее абсолютно все устраивает.
>>1428571>хочется понимать, как оно внутри устроено.Хочется понимать - сядь и разберись.Для повседневной работы это не нужно. Один раз разобрался, дальше можешь забыть. Достаточно того, что ты убедился, что оно и должно работать по своей задумке, которую ты однажды понял.Ты же предлагаешь, потому что тебе хочется, чтобы все было видно, писать до хуища бойлерплейт кода и копаться в резалтсетах. Ты смартфончиком своим без угрызений совести пользуешься? Ну, понимаешь все, как оно там внутре устроено?Может, надо нахуй выкинуть все микросхемы и собирать все на элементарной базе? Ну, там, резисторы с транзисторами спаивать, чтобы ты видел, что откуда куда идет?И еще раз, за конфигом не надо лезть в куски кода.Просто пишешь в конфиге своем, кто у тебя отвечает за транзакции, кто жпапровайдер, и какой класс будет энтитименеджерфактори.Ну и, откуда ему взять коннекшенстринг.
>>1428573>Чтобы вставить свой фильтр в секьюрити-чейн, тебе надо сделать его биномТак ведь в вырезке прямым текстом сказано: so if you want to add a custom filter to the security chain, you need to either not make it a bean и т.д. То есть речь о секьюрити-чейне спринга.
>>1428574> с эклипсом почти не работал, но меня в идее абсолютно все устраивает.То же самое, только наоборот.Я не вижу серьезных преимуществ ни у одного перед другим.Таких, которые бы мне ежедневную работу серьезно облегчили.Когда поставил себе идею для знакомства, увидел там пару штук клевых, подумал "о, жаль, что в эклипсе нет такого". Дошел до эклипса, обнаружил, что они там тоже давно есть.Ну, может, инспекторы, которые статический анализ делают в идее.Но в эклипсе это было уже сто лет назад каким-то плагином.
>>1428575>Ты смартфончиком своим без угрызений совести пользуешься?Такими темпами ты пересаживаешься с иглы тимлидского одобрения на магию спринг бута, а потом тебе подсовывают легаси на ванильном спринге и у тебя сгорает жепа, потому что ты нихера не понимаешь.
>>1428578Я "нот" профукал, виноват.Думаю, что вот эта ветка ответит на твои вопросы:https://stackoverflow.com/questions/6725234/whats-the-point-of-spring-mvcs-delegatingfilterproxydelegatingfilterproxy подхватывает БИНЫ (не все, конечно, а которые фильтры) из спринг-контекста и выдает их в качестве сервлетфильтровпоэтому тебе надо сделать движение, чтобы твой кастомсекьюритифильтр не попал в цепь сервлетфильтровты можешь его оставить и бином, но тогда надо пойти через FilterRegistrationBean
>>1428580Ты почти прав, но нет.Я знаю, где провести черту.Я знаю, что я хотя бы однажды разобрался, как работает Спринг.Поэтому я могу смело копипастить свои шаблоны. С каждой новой версией, впрочем, надо разбираться заново. При переходе с 3 на 4 было весело с изменением дефолтов в секьюрити и пр.Я примерно знаю, также, как работает спрингбут, что заставляет меня всячески избегать его использования. Ну его на хуй.Жопа, кстати, там сгорит еще раньше, чем понадобится посмотреть в легаси. Достаточно просто необходимости захуярить какие-нибудь настройки контейнера, которые не торчат очевидным для документации спринга способом. Ну и, привет, jndi из контейнера.
>>1428580Тем не менее, ты так и не ответил, будем микросхемы на элементарные компоненты заменять, или нет?А то хуй знает, как там электрон куда бежит.
>>1428582Спасибо, почитал. Но не соглашусь, я понял это иначе: DelegatingFilterProxy прописывается в цепочку сервлет-фильтров через веб.хмл (в котором через магическое имя springSecurityFilterChain он связывается с бином FilterChainProxy в конфиге спринга), а дальше просто делегирует FilterChainProxy-бину фильтрацию. Отсюда и непонятно, почему нельзя объявить кастомный фильтр бином, если DelegatingFilterProxy делегирует бину с конкретным именем, а не ищет тупо все фильтр-бины.
>>1428585Так ведь можно и сначала в устройстве ОС разобраться досконально, потом дойти до устройства ЦП, зачем в телефоны лезть? Только вот это все те уровни абстракции, которых ты в своей работе не коснешься с вероятностью 99%, а прикрутить какую-то диковинную фичу к спрингу вполне может потребоваться, поэтому его нужно знать изнутри.
>>1428588>Отсюда и непонятно, почему нельзя На всякий случай.Там же написано, что все внутренние для Секьюрити фильтры НЕ РЕГИСТРИРУЮТСЯ.Так что если ты делаешь свой секьюрити фильтр, сделай так, чтобы он вел себя так же как и другие секьюрити фильтры.
>>1428591>прикрутить какую-то диковинную фичу к спрингу вполне может потребоваться, поэтому его нужно знать изнутриНет.Когда надо прикрутить, тогда и начинаешь разбираться, как прикрутить.Пока я вижу разговоры о том, что надо элементарнейшие вещи, которые прописываются тремя строчками конфига, сперва вытащить зачем-то в код, а потом стенать, что они непонятные, то ли дело ждбц.Решайте проблемы по мере их возникновения.А то ява умрет раньше, чем вы выучите все "подкапоты" всего, чем пользуетесь.
>>1428516БАМП>>1428519Охуеть совет, переходить на говно которое жрет память как не в себя. Эклипс единственная адекватная среда для жаба разработки.
>>1428598Охуеть, эклипс, еще чего скажешь? Совсем ебу дал, все нормальные пацаны в блокноте код редактируют, и никаких проблем!
>>1428610>2к19Индикатор мудака.Достаточно этих 4-х символов, чтобы на остальной высер не обращать внимание
>>1428730Отлично, минус долбоеб. Ведь только долбоеб будет придираться к форме сообщения, а не его содержанию в 2к19.
>>1428732Шиз, хуй будешь?Открывай свой рот, я вытащил.ты даже прочитать не смог, что вопрос был как включить в эклипсе автозаполнение и начал советовать интелиже-говно
>>1428598>Эклипс единственная адекватная среда для жаба разработки. От одного текстового редактора слезы текут, ident guide через жопу и плагины, драг и дроп текста мышкой только недавно запилили, хотя разрабы ленились типа нинужно
>>1428751Если тебе доставляет удовольствие ебаться с кривым эклипсом, вместо использования сделанного для белых людей интеллижа, то соси свой хуй, раз уж вытащил, быдло. Потому и посоветовал интеллиж, что там нет этих танцев с бубном. Но ты не понял, ибо тупой, как жаль.
>>1428772Автодополнение не настолько пизже, чтобы я заметил (а я ленивый, я бы заметил, если бы сильно пизже было бы).И как часто ты пользуешься декомпилером?Ну, т.е. хорошо, что он есть, но на хуй он мне и тебе нужен?Не говоря о том, что в эклипсе он есть хуй знает сколько лет.
>>1428759Хуесос продолжает высирать какую-то хуету, которую никто не читает.Найс.Попрыгай еще, попрыгунчик хуев.
>>1428781А я заметил.Всегда. Так как сейчас сижу на эклипсе, то приходится через ждгуй либу открывать, сохранять как исходник и линковать в эклипсе. Если это дефолтная либа, то смотреть в исходниках опеждк.
Вкатился в джаву чтобы портануть мод на майнкрафт.Теперь думаю: то ли джава вырвиглазное дерьмо, принуждающее к ооп, то ли предметная область (форж и декомпилированный кубач) тяжела для непосвящённого, то ли сам мод полон говнокода и потому тяжёл для восприятия, то ли всё сразу.
Ебать у меня жепа сгорела. Почему хуету уровня MANIFEST.MF еще не встроили в жаву по дефолту (хотя бы с указанной версией и мэйн-классом). Я уже куда только папку с ним не тыкал в дереве проекта - похуй, "no main manifest attribute". Дебилы со стековерфлоу насоветовали воткнуть кучу мавен-плагинов, в итоге даже они не смогли нормально собрать проект, чтобы завелось через командную строку. Единственный правильный вариант, как оказалось - использовать встроенные в идею средства. Но это пиздец, даже просто чтобы запустить проект не через идею, нужно танцевать с бубном.
Сап, джависты. Помогите с задачей, пожалуйста.https://pastebin.com/VxmcUAgKНа вход суперитератора подаются отсортированные итераторы, а суперитератор должен отдавать отсортированные данные из переданных итераторовI1 => [1, 5]I2 => [2, 4]SI => [1, 2, 4, 5]
3 года опыта работы, пустой гитхаб. хуй знает чё туда заливать. серьёзных проектов не делал (я чё ебанутый прогать на выходных? у меня и другие интересы есть), есть какие-то на коленке сделанные скрипты на башепиздос, как менять работу, всё равно же ссылку на гитхаб давать, а он пустой
>>1429321>не знаю, куда вставить MANIFEST.MF>только хуйня из ИДЕ помогла>какое же джава говноПиздец, ты тупой. Ява не для тебя. Иди в жс-тред.
>>1429340Тогда может, ты объяснишь, почему когда я делаю package мавеном, при этом заполненный манифест там, где он должен быть, это говно не собирает джарник так, что его можно запустить из командной строки? Объясняю: внутри джара в результате манипуляций (не важно, через идею или через мавен) лежит пикрил, хотя в моем манифесте лежит совсем другое. Это нихуя не норма.
В итоге собрал я свой жарник, но это пиздец бред. Если вас устраивает, что по умолчанию команда package и встроенный в идею сборщик лепят вам кусок говна, который нельзя запустить без огромных, как ваше чсв, команд, то вы говноеды. Сосите.
>>1429338Потому что "я тупой мудак" — не предположение, а объективная истина. Но от этого проблема никуда не девается.
>>1429355Объясняю:потому что ты делаешь package мавеномИ ни хуя не знаешь, как он работает, и что там надо прописать, чтобы твой манифест попал туда, куда нужно.Это обычное явление - мавеном, в основном, пользуются мудаки, которым лень. Которым лень все - написать нормальный сборочный скрипт (хоть батник, хоть на баше, хоть на анте), и они обрадовались, что мавен ВСЕ сделает за них. А он тупой, и ни хуя за них не делает.
>>1429393>Потому что "я тупой мудак" — не предположение, а объективная истинаЗначит, это единственная причина неудачи.Не следует пытаться искать другие.Не понимаешь ООП? РазберисьНе умеешь в яву? НаучисьПредметную область не понимаешь? ВгрызисьГовнокод? Исправляй чужие ошибкиНо ты выбрал ныть на дваче.как думаешь, какие шансы, что это поможет тебе достичь результата?
>>1429397>потратить кучу времени на написание скрипта и годами окупать минуту, потраченную на прикручивание плагина к мавенуА ты знаешь толк в извращениях.
>>1429400>Но ты выбрал ныть на дваче.Что значит "выбрал"? А ничего, что одновременно с этой вкладкой у меня ещё открыты вкладки с манами?Отдохнуть и потрепаться-то тоже иногда надо, так что неси свои мотивационные цитаты в /se/, а лучше в /b/. Я выбираю и нытьё и превозмогание одновременно.
Алсо анальность ООП в джаве — объективно ничего хорошего не даёт, и с этим не поспоришь. Хорошо когда язык тебя не стесняет — хочешь пили класс, не хочешь не пили. Разные проблемы требуют разных подходов, и язык должен их давать. И по этому поводу буду вполне справедливо ныть сколько мне вздумается.
>>1429416Дисрегард, к языку это высосанная из пальца предъява.Я злюсь из-за кубача, в котором blockShit extends Block, соответственно всё нелинейно, а нелинейно = хуй проссышь поначалу что там к чему обращается, а документации внятной нет ни в моде ни в форже (зато сколько выебонов с джавадоками и прочей хуйней, когда на практике никто не пишет эту документацию), а сам мод вместо того чтобы заебенить функцию и прогнать регистрацию айтемов, скормив ей список через цикл, хуярит последовательность абсолютно одинаковых кроме одного аргумента вызовов на тысячу строк, ухх бля ухх сука и везде котлеты с мухами перемешаны нахуй, никакой логики, короче едва что-то поймёшь как руки чешутся отрефакторить это говно. Да не, "я мудак" это лишь одна из ряда причин, почему всё так тяжело идёт. Сильно сомневаюсь что суперпрофессионалы итт не испытают неприятных ощущений при попытке разобраться в этой помойке. Но ты конечно можешь опровергнуть это личным примером)
>>1429447ООП как раз призвано упростить все то, что тебе кажется непонятным. Ты бы охуел, если бы все эти абстракции были написаны в процедурном стиле да и вообще бы не было твоего кубача, потому что ООП как раз позволяет строить сложные, расширяемые приложения за счет множества слоев абстракции. Не зря же жава так широко используется в кровавом энтерпрайзе. Тебе, как пользователю, нужно только разобраться с относительно простым апи, который фреймворк предоставляет хотя если с доками все плохо, то пiзда тобi.
>>1429453Я о том и говорю, что все итак уже упрощено максимально, тебе не нужно лезть внутрь, просто используй апи. А вообще тяжело уже воспринимаю текст, пора спать.
>>1429452>да и вообще бы не было твоего кубачаИгры на жабе кстати — скорее исключение, чем правило, хотя речь не об этом. И кубач за свой язык заплатил дорогую цену.
>>1429460Скорость.>JIT тащитВозможно. Но не кубач. Да и не слышно пока хруста сидений гейдевов, пересаживающихся на джаву.
>>1429460Память нахуй.Ну и какой бы охуенный JIT не был, вполне вероятно что майнкампф с кучей модов он не вывозит, так как постоянно скатывается в деоптимизацию, но это я простоо спизданул и не исследовал.
>>1429327Ты хоть что-то пробовал? Хотя бы самое хуевое решение - собрать инфу со всех итераторов и отсортировать, а потом выплевывать используя ее итертор.
>>1429296>то ли предметная область (форж и декомпилированный кубач) тяжела для непосвящённогоВот это. Как следствие:>сам мод полон говнокода и потому тяжёл для восприятия
>>1429413Язык тебе нихуя не должен. Это как требовать от крестовой отвертки возможность эффективно работать со всеми видами и размерами шлицов.
>>1429468>>1429467>>1429460Язык тут вообще не при чем. Конечно, в теории, можно было бы упереться в менеджмент памяти, но на практике все упирается только в неэффективный код.
>>1429507>но на практике все упирается только в неэффективный код. Почему-то так совпадает, что неэффективный код пишут именно тут, а эффективный всё больше на крестах, хм, ну конечно это следствие традиций и ничего больше.
>>1429510Чел, ты пытаешься надавить на человека после того как он в открытую признал неправоту, какой ты конкретно от него ожидаешь реакции? Тут уже ты долбоёб, что после драки кулаками машешь, либо что тред не читаешь @ сразу отвечаешь. В любом случае ты долбоёб, как видишь.
>>1429511Потому что от программистов на крестах требуется гораздо больше опыта, навыков и дисциплины, чем от программистов на жабе: неэффективный код на жабе можно писать быстро и он будет работать, а код на крестах пишется дольше и подводных камней там гораздо больше, а значит, и шанс где-нибудь споткнуться и намертво остановиться выше.Ты не языки сравнивай, а уровни программистов. На крестах можно тоже неэффективный код писать, просто он до своей финальной формы редко доживает.С ассемблером бы еще сравнил, долбоеб>>1429513Чел, челик, ничего я не пытался. Достаточно было просто не отвечать, чел.
>>1429507У меня как-то на апворке было задание переписать код на жабе на CUDA. Сначала я его переписал на С++ для удобства. Простое переписывание довольно простенького кода влоб ускорило его в 6 раз.
>>1429410>окупать минуту>минутуАхахахахаСто постов на дваче, как у вас с мавеном нет взаимности.Охуительно вы все за минуту делаете.Удачи
>>1429523Прикол в том, что нужно это реализовать максимально эффективным способом. Тут у тебя while(superIter.hasNext()) => iters.forEach() => O(n^2)
>>1429531У тебя не будет более эффективного способа, чем каждый раз вынимать из КАЖДОГО итератора значение и выбирать минимальное (учитывая, что у тебя уже есть вынутые, которые не минимальные).Как-то к этому подвяжешь знание того факта, что входные итераторы уже отсортированные.Это так себе оптимизация будет - просто будет в некоторых случаях останавливать запрос из и-го итератора.В общем, это не вопрос про яву. Это вопрос про то, умеешь ты алгоритмизировать, или нет.
>>1429531Чому O(n^2)?O(n*m) же, где n - количество элементов, m - количество итераторов, то есть O(n) если количество итераторов - константа. Нормальное решение, быстрее не сделать
>>1429535>Как-то к этому подвяжешь знание того факта, что входные итераторы уже отсортированные.Нихуя не поможет. Следующее значение из любого итератора может быть наименьшим на данный момент.
>>1429536Одиночный цикл в n итераций даёт f(n) = n. Цикл внутри цикла — f n) = n^2. Цикл внутри цикла внутри цикла — f(n) = n^3. И так далее.
>>1429540Где там вложенные циклы?Пройтись по коллекции, добавить значения в очередь и достать самое маленькое. На глаз там не сложнее n*logn должно получаться.
>>1429520Ну вот, сам подтверждаешь что язык располагает к говнокоду.А почему игры и другие высоконагруженные приложения на джаве пишутся лишь в порядке исключения ты так и не рассказал. Наверное потому что другие языки не располагают к говнокоду и не прощают его, прям как ты и сказал. Т.е у нас с тобой на самом-то деле нет никаких противоречий.
>>1429507Язык нет, а виртуальная машина очень даже.Спорить с невъебаным потреблением памяти джавой сложно.А писать так что бы хавала мало тоже весьма не просто и зачастую совсем не джава вэй получается.Шутка ли - в банках просто "отключают" сборщик и раз в день ребутают юниты которым пора. Ну ничего, теперь для этого есть специальный сборщик мусора который ничего не делает.
Пмогите неофиту. Не могу в идее написать хеллоуворлд-сервлет. Томкат работает, но выдает 404. Гляньте скрины,если гуглить по ошибке из первого скрина внизу, там что-то про спринг мвс выдает поиск, явно не то
>>1429734JDK у меня версия 9.0.4 Томкат 9.0.21 могут они не совпадать, например, и поэтому не работает?Вот этот крендель https://www.youtube.com/watch?v=9HSl6ZyQbQ0&list=PL786bPIlqEjSoaZjtS5y6hQrUWOzs72Jl&index=4делает все то же самое, и у него работает
>>1429734Тут никто не умеет в сервлеты, все давно пишут на спрингбуте и уже позабыли как это все работает
Подкючил и выключил три плагина, в которых было слово томкат. Стало вот так теперь. Я делаю что-то такое, что никто, никогда не делал, такое ощущение, как космонавт.
Посоны, помогите найти материал для более углубленного изучения Spring Framework.Работаю на спринге уже полтора года, многое умею, но очень хочу разобраться в его "потрохах", знать его составные компоненты, как они работают. У меня вечно такое ощущение, что я хуёво егт знаю, хотя писал очень многое. Например, хотелось бы обмазаться Spring Security. Я знаю, как его сконфигурировать для простейшей авторизации. А вот когда какой-нибудь OAuth2, то сразу проблемы. Я смог написать, но теперь в душе не ебу как оно работает внутрт и как только какая-та трабла, то сразу приходиться гуглить. А хочется знать спринг очень хорошо, чтобы понимать как там формируются бины, почему выплёвывается та или иная ошибка. Я надеюсь, вы поняли о чём я.
>>1429806Google -> Spring <projectname> architecture -> head blows up because of infinite layers of abstraction -> profit!
Я тут пытаюсь вкатиться в Джаву и не могу понять jdk какой версии использовать. На оф сайте можно скачать 8, 11 и 12, а jre распространяется только в версии 8. Я так понял нужно юзать 8 из-за большей распространённости? И почему для остальных версий нет jre? Они ориентированы на сервера, а не на клиентов?
>>1429841https://ru.stackoverflow.com/questions/886352/%D0%93%D0%B4%D0%B5-%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C-jre-11
>>1429752Может тогда не надо сервлеты лернить, а со спринг бута начать. Я долгие часы уже не могу хелло ворлд запустить
Джавач-помогач, давай вместе найдем ответ на загадку, почему мой деливери-коллбэк не вызывается, хотя rabbitmq-manager говорит, что сообщение попало в очередь, на которую этот коллбэк навешан.
>>1429919Все, понял. Я же блокирую тред, в котором собираюсь вызвать basicConsume, вот ничего и не происходит. Спасибо, двач.
>>1429539поможетты взял из итераторов значения 1, 6, 8, 4зная, что итераторы сортированные, тебе надо смотреть ТОЛЬКО в первый, пока там не появится что-то большее 4-хИ если ты оттуда достал 5, то можно останавливаться
>>1429734ты замапил на /hello, а в урл что пишешь?Разберись, что, как и зачем прописывается в веб.хмл
>>1429932> а в урл что пишешь?в урл я пишу localhost:8080 или localhost:8080/hello или localhost:8080/GreatServlet или если делаю test.jsp как во втором примере, то пишу localhost:8080/test , ну и всякие другие вариации пробовал index там
>>1429932Я все повторил за ним https://www.youtube.com/watch?v=9HSl6ZyQbQ0&list=PL786bPIlqEjSoaZjtS5y6hQrUWOzs72Jl&index=4кроме того что не уставновил плагин, т.к. не нашел его
>>1429929Ты прав. По скорости выигрыш не очень большой, но зато потребность в памяти радикально меньше. В этом варианте >>1429523 практически все значения сначала в память считывались, а у уже потом доставались.В новом варианте https://ideone.com/SFWEt3 только по мере необходимости. Вот только реализация не тривиальна, пришлось позаимствовать PeekingIterator от апача и сделать его comparable.>>1429656Чет нихуя я не понял что там происходит.
>>1429980Почему бы не завести хэш-мапу, в которой ключи - числа, взятые из итераторов, а значения - их количество. Лукапы по ключам очень быстрые, так что получится та же очередь с приоритетами, только эффективнее. Особо не вникал в задачу и ваши решения, но надеюсь, что не хуйню сказал.
>>1429990А, дополню: чтобы вытаскивать entry мапы по очереди, нужно сделать TreeMap, а не хэшмапу. Ну и сложность тогда предположительно будет O(logn).
>>1429980>Чет нихуя я не понял что там происходит. Есть массив "просмотренных" значений (просмоторы происходят при вынужденной проверке итератора в методе next), позиция в этом массиве соответствует позиции итератора.Если в массиве "просмотренных" есть неnull значение, значит точно что-то от next мы получим, если нет известных "просмотренных" - придется чекнуть hasNext у итераторов, до первого положительного (сейчас подумал что и тут можно сразу по двум массивам идти).Для поиска next идем по массиву просмотренных, если есть значение проверяем является ли оно минимальным, если нет - используем итератор на данной позиции и его next. По ходу дела за один проход и заполним массив "просмотренных", и сразу минимальное значение с его позицией найдем. Убираем из "просмотренных" минимальное значение которое будем возвращать (что бы на следующем проходе опять спросить соответствующий итератор).
Через неделю первый раз ввожу на работу. Подскажите, пожалуйста, что было бы неплохо прочесть-посмотреть перед этим. Стек проекта неизвестен, но скорее всего - Спринг и все такое. Посоветовали на собеседовании ознакомиться с effective java, это уже читаю.
>>1430009То есть ты каждый раз перебираешь весь массив просмотренных значений? Быстрее будет хранить их в уже сортированном виде и дергать по мере надобности.>>1430011Замеры через System.currentTimeMillis() и график в екселе, лол. Ну а тестовые данные просто массивы со случайными цифрами фиксированной длинны. Я у мамы ученый на хую верченый.
>>1428551> Как правильно положить решается на уровне маппинга, и тоже больше никогда не ебет мозгив разных запросах может понадобиться разный маппинг
>>1430134"один раз сделал маппинг и всё". Нет, это не так. Скажу даже больше - готовый маппинг очень часто мешает
>>1430051Ну и что, все равно алгоритм вроде как проще вышеуказанных.Просто хранить уже отсортированные не получится, так как нужно будет еще хранить данные о том из каких итераторов взяли значения, а из каких нет. Из тех что не взяли придется брать значения и опять сортировать.
>>1430165>Ну и что, все равно алгоритм вроде как проще вышеуказанных.Нет не проще - см. пикрил. У тебя O(n^2)
Почему Intellij idea генерирует конструкторы и разные геттеры сеттеры выше полей?Это ведь неправильно с точки зрения стиля написания кода,как это исправить?
>>14301651. просто хранить отсортированные получится. Каким-нибудь модифицированным линкдлистом, со знанием мин, мак и указателя на середину листа, чтоб хоть чуточку быстрее вставлять в него.2. достаточно про каждый итератор хранить последнее выбранное из него значение (а не присовокуплять ссылку на итератор на выбранные значения, которые хранятся в списке из 1)
>>1430539Дело не в лени, а в стиле и внешнем виде когда. У меня может быть 20 полей и под все из них геттеры и сеттеры займут около 79 строк, зачем оно мне есть аннотация @Data автоматом мне их создаст, без лишнего кода, который бросается в глаза?Такой код выглядеть лаконичнее.
>>1431125Ладно, тут согласен. Но когда ломбок прикручивают к классу уровня хэллоу ворлд с двумя полями (а такое вижу частенько), мне это непонятно.
Сап, двач! Чё почитать по джаве, для свича из языка C++? Ну, то есть нужна книжка, дающая основы языка для совсем незнакомых, но в то же время не рассказывающая чё такое переменная.
Как в джаве стандартными средствами вытащить имена всех классов из package'а, имея только package name?
>>1431125Ух, бля!Препроцессор препроцессора перед препроцессором.Нельзя же просто взять и начать компилировать!
>>1431366Стандартными никак.Стандартный класслоадер не гарантирует, что прочтет все классы из класспаса. Только те, которые ему явно понадобятся.Если хочешь поебаться, то разбирайся, например с этим:https://github.com/ronmamo/reflectionsНо, очевидно, у тебя ничего не выйдет, потому что это примерно вторая ссылка в выдаче гугла, а ты пришел со своим вопросом на двач.Удачи.
>>1431377я пришёл с вопросом на двач, потому что я не джава программист, и решил обратиться к коммьюнити, чтобы мне надавали годных советов люди, которые знают ответ, чтобы я не тратил своё время на перелопачивание кучи ресурсов о рантайме джавы, его пакетах, класс лоадерах и прочем, но походу тут немногим дружелюбнее андроид тредов, яснопонятно.
>>1431379>я не джава программист>обратиться к коммьюнитиАхахахахаха. На дваче. Коммьюнити.Коммьюнити "джава программистов" на дваче.Ты, похоже, не просто не джава программист, ты вообще умственно отсталый.
ребята ребятки ребятушечки, мне надо чтоб сайт показывался через джаву, у вас такое реально сделать? Типо вот есть сайт, и мне надо чтоб запускаешь билд и он хуяк сайт на весь экран открывает и все счастливыНачальник просит меня сделать такую хуиту, а я блять не кодер, я блять сис админ нахуй как он говорит ТЫЖПРОГРАМИСТ
>>1431426Ну ты не первый кого начальник просит такое сделать, в 2019 все очень просто, вот подробный гайд https://circleci.com/blog/its-the-future/
>>1431407> не просто не джава программист, ты вообще умственно отсталый. Иногда я смотрю в зеркало и думаю: "Кто же ты, человек в зеркале?". Я совершаю плавные движения руками, иногда поворачиваю влево или вправо своей головой, не отводя взгляда от зрачков отражения. Кто же я?
>>1431425Число полей и внутренних функций ничего не решает, просто интерфейс должен быть минимальный. А толстый класс на 1к строк кода, но с двумя-тремя public методами - это гут.
>>1431613Так ведь геттеры и сеттеры и есть интерфейс. И когда их очень много - это не норма. А если ты делаешь их приватными и используешь в том же классе вместо прямого обращения к приватным полям, то у меня вопросы к твоему психиатру.
>>1431616Ну да, конечно. Если в файле больше 1к строк кода — стопудняк говнокод. Всё изи.>>1431619Геттеры и сеттеры — это очень плохой интерфейс. Причём сеттеры хуже. Желание написать геттер вызывается тем, что код не достаточно объектно ориентированный. Методы типа геттеров и сеттеров чаще всего возвращают примитивные типы. А если тебе постоянно нужно работать с примитивными типами, значит у тебя процедурная хуета.
Аноны, зачем нужен гитлаб, если есть гитхаб ? На работке мне сказали лить проекты на лаб. Первые 2 строки Википедии не дали мне ответа.
>>1431650>Желание написать геттер вызывается тем, что код не достаточно объектно ориентированныйОхуенные истории. Как раз таки это и есть проявление ООП - инкапсуляция. И если тебе нужно получить значение поля для действия, которое не входит в ответственность самого класса, то тут лучше, чем геттером, и не сделать.
>>1431668Откуда вы берётись, шкальники с определениями из википедии? Вот поясни мне, чем ЭТО лучше, чем просто сделать public string? Вот чем, бля? Какие бонусы даёт? Да ничем не лучше. Сеттеры — это полная ебельдь, геттеры ещё допустимы, но их использование должно быть обоснованно. И одни из самых уёбещьных геттеров — это геттеры, которые возвращают примитивные типы. Потому что это значит, что объект просто является структуркой из сишки.
>>1431790Это лучше тем, что какой-нибудь васян не сможет унаследовать твой класс и создать спагетти-код, обращаясь в подклассе к полям суперкласса. Не говоря уже просто о том, что геттеры и сеттеры унифицируют интерфейс, и тебе не придется бегать с дебаггером по всему коду, чтобы выяснить, где же ты достиг пика Балмера и обратился напрямую к полю, изменив его значение. Короче ты свои принципы говнокодинга лучше держи при себе и другим людям не показывай.
>>1430097>понадобиться разный маппингНу да, конечно. Данные из объекта "MyMomsFucker" ты будешь класть то в одну таблицу, то в другую.Это такой охуенный дизайн.Пиздец, ты мастер работы с базами данных, сразу видно.Да, асбтракции тебе не нужны, хуярь на ждбц!
>>1431790Пиздец, ты тупой.Это лучше тем, что сегодня ты возвращаешь просто name, а завтра еще и делать при этом что-то будешь (писать в лог, сколько раз спросили имя; присовокуплять слово ХУЙ к имени; да мало ли).А у тебя уже будет до хуя кода, которое просто берет значение из переменной. И все, пиздярики.>использование должно быть обоснованно>обоснованноТ.е. ты не различаешь, когда надо две Н писать, а когда одну. В своем родном языке. Но про неродной тебе язык Ява ты даешь экспертные заключения, как и что надо на нем делать.Какая дефективная пизда рожает таких даунов в этот тред?
>>1431808Васян, который будет наследовать - по херу.Не по херу те, кто будет использовать это класс.Достаточно в какой-то момент захотеть поменять детали внутреннего представления того, что возвращается геттером, и ты рад, что у тебя наружу торчит только геттер.Ну, например, private int age;public int getAge(){.....}поменяешь на private Date birthDate;public int getAge(){.....}говнокодер, которому ты отвечаешь, не писал ничего сложнее Laba.java, поэтому в его пустую голову и не приходит, что такая хуйня в реальной жизни сплошь и рядом.
>>1431808>Это лучше тем, что какой-нибудь васян не сможет унаследовать твой класс и создать спагетти-код, обращаясь в подклассе к полям суперкласса. Васян заоверрайдит геттер.>Короче ты свои принципы говнокодинга лучше держи при себе и другим людям не показывай.Мои принципы — это не писать public поля, а продумывать структуру класса так, чтобы не было полей, к которым есть и геттер и сеттер.
>>1431836>Т.е. ты не различаешь, когда надо две Н писать, а когда однуЕсли человек допустил грамматическую ошибку, значит и аргумент у него инвалидный. Ну это же очевидно, ну ёпт. >Это лучше тем, что сегодня ты возвращаешь просто name, а завтра еще и делать при этом что-то будешь (писать в лог, сколько раз спросили имя; присовокуплять слово ХУЙ к имени; да мало ли).Сегодня слушаешь Джаз, завтра родину продашь. Вот надо будет добавить запись в лог, перепишешь из прямого доступа в геттер. Я же изначально дал установку, она звучит так:Если у приватного поля класса, которое является примитивным типом, есть и сеттер, и геттер, то это так же хуёво, как и если бы ты его просто пабликом захуярил. Ну или может чуть-чуть лучше, потому что вывод в лог кому-то проще дописать, ну збс. А с точки зрения архитектуры приложения — та же хуйня. Вас на буткампах уже вообще забросили, и не учат что оверьюзить аксессоры плохо?
>>1431862>перепишешь из прямого доступа в геттерА если классов, работающих с этим полем, много? Тоже перепишешь? Колхоз такой-то.>не учат что оверьюзить аксессоры плохоПлохо-то плохо, только и бояться их тоже не нормально. Поэтому правилопродумывать структуру класса так, чтобы не было полей, к которым есть и геттер и сеттерзвучит странно
>А если классов, работающих с этим полем, много? Тоже перепишешь? Колхоз такой-то.Это сарказм был. Если единственный аргумент в защиту акссессоров это то, что их проще мэйнтейнить, то значит они реально не так далеко ушли от просто паблика. Я же не в защиту паблика говорю, я против аксессоров.>продумывать структуру класса так, чтобы не было полей, к которым есть и геттер и сеттерзвучит странноПочему? Если у тебя есть класс Car, содержащий поле Engine, у которого низкоуровневые методы, то логичнее сделать у класса Car метод move(), чем метод getEngine, а потом в классе TheGodOfMovement работать с этим Engine. А это уже и есть продумывание структуры чтобы геттеров было меньше. Я не говорю, что их вообще не должно быть в коде. Это невозможно. Я говорю про то, что такая оптимизация улучшит читаемость и уж точно не звучит странно.
Сап, джавач!Сделал по учебнику минимальный RESTful сервис, задеплоил на TomEE и при обращении к своим URL-ам в логе получаю исключение:java.lang.IllegalArgumentException: bean at org.apache.bval.util.Validate.notNull(Validate.java:38) at org.apache.bval.jsr.job.ValidateBean.<init>(ValidateBean.java:35) at org.apache.bval.jsr.job.ValidationJobFactory.validateBean(ValidationJobFactory.java:52) at org.apache.bval.jsr.ValidatorImpl.validate(ValidatorImpl.java:53) at org.apache.cxf.validation.BeanValidationProvider.doValidateBean(BeanValidationProvider.java:149) at org.apache.cxf.validation.BeanValidationProvider.validateReturnValue(BeanValidationProvider.java:135) at org.apache.cxf.validation.BeanValidationOutInterceptor.handleValidation(BeanValidationOutInterceptor.java:43) at org.apache.cxf.validation.AbstractValidationInterceptor.handleMessage(AbstractValidationInterceptor.java:83) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:90) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.phase.PhaseInterceptorChain.doInterceptStartingAt(PhaseInterceptorChain.java:478) at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:94) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267) at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:258) at org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)Подскажите плс, в какую сторону копать?
>>1431917Дело в том, что в гугле я уже довольно хорошо поискал, и по разным ключевым словам из стектрейса подобной проблемы ни у кого не обнаружено.
почему/что значит, если в имплементации ClassFileTransform, что используется в javaagent'е className иногда null? это типа он его не смог зарезолвить чи шо?
>>1431908Исправлено тем что вместо 8-го TomEE поставил 7-й.Но все равно хочется знать, что было не так.
-Что отличает трансов от трансформеров?-Если трансформеры "трансформировались и поехали!", то трансухи сначала поехали, а потом трансформировались
>>1431862>Вот надо будет добавить запись в лог, перепишешь из прямого доступа в геттер. Ахахахахахахахаха.Все остальное можно не читать.Специалист делится опытом.А еще кто-то ругает индусов за их код.
>>1431862>оверьюзить аксессорыО, бля, по-русски обсирается писать, смотрите, какой он мастер говорить на говносуржике!Сколько у тебя за спиной проектов-то? Ну, не считая лаб.1. Здравствуй, мир2. Сортировка методом пузырька3. <в работе>Судя по хуете, которую ты тут с надутыми щеками выдаешь, примерно так.
>>1431808>>1431853>Это лучше тем, что какой-нибудь васян не сможет унаследовать твой класс>Васян заоверрайдит геттер.>что такое final?>>1431836>Это лучше тем, что сегодня ты возвращаешь просто name, а завтра еще и делать при этом что-то будешь>что такое dependency injection?
>>1431834В одном отчёте тебе нужно сджойненное поле Mamka1, другом отчёте это поле не нужно, а нужно Mamka2. А в основной логике не нужно ни первое, ни второе.Или предлагаешь каждый раз грузить и то, и другое?
>>1431840>такая хуйня в реальной жизни сплошь и рядомлогика в entity классах - вселенское зло. Это первое, чему учат джунов после laba2
>>1432127Видимо, до laba3 ты не дошел, потому что там рассказывали, что все эти принципы - не вселенская истина, а лишь рекомендации. И вообще, если логика в ентити связана только с самим ентити, то ничего плохого в ней нет.
>>1432234>то ничего плохого в ней нет.только проблемы с размытием границ бизнес-логики, с тестированием, с транзакциями, с появлением "god object"
>>1432240То есть, даже вспомогательные методы вида "пройдись по своей коллекции и найди наименьшее число" запрещаешь?
>>1432240Никаких проблем нет, если писать правильноhttps://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html
>>1432252>orm открывает доступ к sql всему приложению, блаблаблаДальше не читал. Почему ему никто про дао не рассказал?
>>1432262Потому что DAO не нужно, очевидно же.https://www.yegor256.com/2017/12/05/data-access-object.html
>>1432278А неплохо устроился, тупо взял и обосрал в виде постов все адекватные аргументы против своих манятеорий. Теперь если что-то скажешь против, то у него еще статься найдется.
>>1432111>что такое final?final - это пизда твоей мамаши шлюхи. Я же картинку прислал. >>1431790Ты здесь файнал видишь?>Что такое dependency injection?Тоже мамка твоя. >>1432112А если я найду тебе фуйлик более чем на 1к кода в каком-нибудь элстиксёрче?
>>1431949Защитник русского языка в треде.Активная запись, НПС(Не повторяй себя), Разработка через тестирование, ПЕСП-архитектура, КТС3+ЯГТР5, ЯСЗ база данных.
Найти длину самой длинной уникальный подстроки в строке.Можно эту задачу решить как-то быстрее, чем n2? Ничего в голову не приходит
Аноны, в чем различия между терминами "маршалинг/демаршалинг" и "сериализация/десериализация".Посмотрел на вики, и нихуя не понял.
>>1432125>Или предлагаешь каждый раз грузить и то, и другое?>каждый разТебе нужно три разных варианта в трех разных случаях.Но ты напишешь один класс, котрый как-то хитровыебанно замапишь (на самом деле, конечно, нет,ты обосрешься).Любой нормальный человек отчеты облакачивает на вью, в которых резвись, как хочешь. И да, мапь один к одному, а не хитровыебанно.Но если уж на то пошло, то да, я буду каждый раз грузить и то, и другое. А не делать три пизданутых разбора ResultSet'а голым ждбц, чтобы тебе понятно было, где что происходит.Компьютер железный, он выдержит.Напомню, так же, что любое изменение схемы бд у здорового человека вызывает изменение маппинга ровно в одном месте. Совершенно очевидными способами, читабельными глазами.У таких, как ты, ну... ты и сам знаешь же, да?
>>1432127>логика в entity классах - вселенское злоФантазировать о том, чего не видишь - признак уебана. Этому уебана бесполезно учить в любом случае.Пример был такой, какой был, чтобы даже уебан понял, о чем идет речь.Судя по тому, что возражения есть только про вселенское зло, цель достигнута.Хотя, конечно, и не вполне, раз ты там где-то увидел логику, болезный.
>>1432240Вот же ж ты мудак, тебе уже в сотом посте говорят, что "границы бизнес-логики" определены интерфейсом класса.Который ты то предлагаешь менять постоянно, то выносить в него переменные.Блядь, ну откуда вы сюда лезете? Это же не яваскриптовый тред. Может, ты перепутал просто?
>>1432429В общем случае нет никакой разницы.В каждом конкретном (технология, язык, фреймворк) - может быть.Не еби мозги, короче, себе.
Аноны, есть кто под виндоус тут разрабатывает, у вас как с окружением? Работает там все, докеры хуекиры вот это вот все?
везде слышу что java по сравнению с c# кусок старого говна, на котором через лет 10 ничего нового писать не будут
>>1432722Хуёво там всё с докером, ставь линукс. Ну то есть работать может и будет, а можешь отхватить баг нигде не описанный толком (я вот влетел на невозможность получить права на запись в C:\ и не помог ни один из найденных рецептов) и будешь вместо работы искать что с этим делать.>>1431862Используйте ломбок, он няшечка.
>>1432744Только вот почему-то шарпец не хочет работать с линупсом, на котором крутится большая часть серверов)0
>>1432745А как его поставить лучше? В виртуалке наверн неудобно работать будет? Второй осью? Ты просто снес винду и забыл про нее?
>>1432763ставь второй осью если хочешь играть в игрушки/нужен фотошоп, сам поставил основной осью и под вайном норм старый видософт/игры работают
>>1432429https://stackoverflow.com/questions/770474/what-is-the-difference-between-serialization-and-marshalingtl;dr Сериализация может использоваться для маршалингаМаршалинг это об идее "передать отсюда туда" (из одного процесса в другой и тд). Сериализация способ сохранить данные так что бы потом прочитать, в протобоаф ли, в жсон, в хмл - не важно.
>>1420539 (OP)Анончики, какой набор знаний необходим, чтобы стучаться в компании на должность джуна НЕ ВЕБСПРИНХ?Знаю core, дженерики, имплементил ArrayList, stack(на основе односвязного списка), бинарное дерево. Знаю, как работает hashmap. Знаю скорости чтения/доступа всех этих структур данных. Не умею в сортировку, от слова совсем(пока не дочитал до этого в книге по алгоритмам). Малость ориентируюсь в многопоточности, на 2/3 осилил курс Головача. Мне шо-нибудь вообще светит с таким набором? Не хочу писать сайты, хочу чего-то мало-мальски интересного
>>1432819Без фримверков - бибу сосать только. Джава не про эффективный код, а про быструю и надежную доставку фич для наебизнеса. Тебе в плюсотред.
>>1432819Хотя всякие хайлоады мутят на ней, но там все равно нужно куда больше знаний, чем у тебя есть.
>>1432819Таким платят обычно 1/x от спрингбут-реакт-макак, но такие конторы есть, сам хотел туда перекатится (бывший олимпиадник) но сложно резко потерять больше половины дохода.Смотри в сторону стартапов видео/крипто/роботы, но туда можно попасть джуном только если ты особенный.
>>1432821Да ну. Тот же visual studio, написаный на плюсах, работает хуже, чем любая ide от jb, каждая из которых написана на java
>>1432840Я и не говорю, что на жаве нельзя писать хороший быстрый код. Просто задачи другие, и эти навыки не так важны, как знания Спрэнг Фримверка.
>>1432841Я не из РФ, так что яндекс по дефолту мимо, а в гугл-амазон сфейлил интервью один раз так как хикка и волновался пиздец как что у меня аж мозги парализовало на какое то время, больше не пробовал. Ну я был так себе олимпиадник, едва красный рейтинг в лучшее времена. Да и так зарабатываю больше, чем там предлагают, просто иногда печально становится что делаю какую-то хуету
>>1432722Есть intellij idea, есть поддержка баша в win10. Тебе чего нужно-то ещё? На кой хуй тебе docker сдался?
пацаны как вам coursera? Щас прохожу Object Oriented Programming in Java, стоит ли брать весь Data Structures and Beyond
Есть ли способ научиться быстро читать приложения кроме как делать это 100500 раз? Вкатился перекладывать джейсоны в Яндекс вкат в более интересные отделы пока не потянул, изучаю микросервисы основного приложения и чувствую себя непроходимо тупым. Сам код не выглядит сложным, но нарисовать всю картину как сервис А клиентом сервиса Б ходит в Б, дальше там ещё какие-то асинхронные методы, очереди, прослойки... - получается очень-очень нескоро.
>>1433589Да на руки. Политика там простая. Через пол года дают тест. Если прохожу - повышают до обычного погромиста.Я думаю я жуе ща осилю тест. Там даже многопоточность не требуют на средний уровень.
>>1433599Я бы тогда сказал что хорошо. А через 2-3 месяца не дадут пройти?Есть ещё офферы? На рынке джунов не сказать чтоб такой выбор был хороший, я бы не перебирал без нужды.
>>1433602Да я вышел туда уже. Кстати нормальный коллектив такой.Офферы были несколько но там странные люди в основном какие то были. Предлагали кто то ЕЕ, кто то какую то легаси срань, которую я в глаза не видел. Даже сбербанк был.В сбер наверно я точно пас.Был вариант за 90к с кучей командировок, но мне как то в падлу летать было по стране туда суда. Я не и понял прикола, ни чем конкретно контора занимается.Еще был андерсон с предложением поработать за 5к лолЯ с них откровенно поржал.
Кстати, коллеги, какой реалистичный потолок для джависта в ДС? Вот я сейчас мидол, получаю 160 окладом + квартальные. Слышал, что хорошие сеньоры получают 250-300. А дальше куда/как? Есть кто-нибудь с личными историями успеха? Интересует как рост в экспертизе так и в техническом управлении.
>>1433610Я сейчас на поддержке у гигантской конторы с франчайзингом. Джава в основном это банки / хайлоад/ гигантские корпорации.Отсюда и ЗП,
>>1433613Про тракторные истории тоже интересно. Именно про наш стек, не абстрактное "уехал в гугель чота там писать".
>>1420539 (OP)Кто-нибудь устраивался на автоматизатора в епам? Какие там +- требования к кандидатам, мощным надо быть или автоматизаторов не хватает и закрывают на многое глаза?
>>1433616Попробуй гуглом. Я сейчас без сарказма. Найди сайт работный той страны куда хочешь уехать.Пишешь резюме на их языке. Ждешь ответов / пробуешься сам. Но я думаю надо язык на норм уровне. А там офер ну и как обычно.
Можно ли как то БЕЗ форк-джоина или коллабл с тред.джоин сымитировать рекурсию?Например через блокинг кью как то. Разбить на продьюеср / консьюмер?Условия остановки рекурсии нет - по сути например, как в поиске в ширину, можно реализовать через стек или очередь пока они не пустые. Но получается что много тредов в стек добавляют и много оттуда забирают и стек периодически может быть пустой.Вопрос ,наверное, скорее даже в том как реализовать условие, чтобы программа завершалась, а не крутилась в бесконечном цикле.
>>1433635Не, я видимо плохо написал. Я не то чтобы прямо сейчас собираюсь уехать, да и английский подтянуть надо б чтобы хотя б на скайпах нестыдно было.Просто хочется послушать историй прям успешного успеха, кто как что. Так-то я канву знаю и думаю через пару лет попробую.
>>1433639> Вопрос ,наверное, скорее даже в том как реализовать условие, чтобы программа завершалась, а не крутилась в бесконечном цикле.Мне чудится или ты там проблему останова решаешь? В практическом смысле, кмк, можно завести счётчик неуспехов чтения очереди (только аккуратно его пошарить между тредами) и останавливать обработку после его достижения.
Шалом, есть вопрос. Начал учить джаву примерно месяц назад, основная проблема что работаю фулл тайм, и в будние дни почти нет времени для изучения, на работе могу выделить часа 2 для просмотра видео/чтения книг етц. Будет ли это эффективно без практики?
>>1433640Я тебе так скажу. Если ты прям реально хочешь уехать, а не когда то там может быть никогда .То можешь уже начинать подтягивать нужный язык и искать вакансии. Дрочить скил под них и проходить какие то тестовые собесы, если скил уже есть.Прям вот пишешь список того что надо и хуяришь. Планомерно, без перенапряга, чтобы плавно и приятно заходило. Сам не поймешь как уже будешь в желаемой стране жить.
>>1433693В целом да. Просто медленнее. Но писать все равно надо, иначе это как по ютюб видосам учиться боксу. Будешь диванным мастером спорта, а ирл огребешь от первого щегла.
Есть ли смысл в просмотре видео уроков, если нет возможности практики? На работе есть пару часов свободных для книг/видео-уроков?
>>1434088https://habr.com/ru/post/188010/https://github.com/enhorse/java-interviewhttps://habr.com/ru/company/luxoft/blog/270383/https://habr.com/ru/post/265061/https://habr.com/ru/post/350682/Меня спрашивали отсюда все суммарно. За ~8 разных собесов. Ответы нормальные сам нагуглишь.Класска - про арей лист / линкед лист. Даже про то как поменять GC из/в многопоточный режим ставить спрашивали.В 1 контору было аж 3 сука технических. 3!! Даже с техническим директором собеседовался. По итогу вакансия оказалась говно пздц. итого 4 офера из 4 контор+ еще гуглом поищи по спрингу /ее / хадуп/жбос/редис или что там у тебя.
>>1433642Братишки я Вам говнокода принес.https://github.com/EntropyAndDespair/bsfFileSearch/blob/master/ConcurrentFileSearch.javaКостыль на костыле.Через callable или форк join нормально получается. Но я курнул и хочется извращений.Интересно еще вариант этого же говна можно как то слепить.
>>1434088http://ledyxxx.com/kak-pravilno-sosat-chlen-ili-kak-dovesti-muzhchinu-do-beshennogo-orgazma-s-pomoshhyu-mineta-penisa-muzhskogo/
>>1434206Что за стак? Что спрашивали?На 1м был тимлид + синьор. на 2м какой то их начальник, на 3м тех дир. + еще тестовое, правда легкое. Каждое 1,5 часа пздцЯ даже не представляю что там еще спрашивать то было после 1го..
>>1434231Мне казалось что чем выше идешь тем меньше должны мозг трахать. Ну по крайней мере тебя то про хэш мапы явно спрашивать смысла нет. Максимум специфику ведра, если на него работа завяна. + гитхаб посмотреть
>>1434275>Ну по крайней мере тебя то про хэш мапы явно спрашивать смысла нетХех, нет. Одно из собеседований было целиком посвящено алгоритмам и структурам данных.Гитхаб не спрашивали, но он у меня пустой (скрипты для работы и мелкие снипеты для демонстрации проблем/решения для стековерфлоу). Все интервьюхи по часу были.Первое и второе интервью - просто интервью обо всем (они были с интервалами в недельку, ну и пиздеть надо было с чуваками из амурики), правда на втором еще по кишкам джентельменского набора либ для ведра покопались.Остальные четыре были подряд, с перерывом на час.Третье было по всяким паттернам архитектурам солдиам онсайт.Четвертое по алгоритмам и структуркам (еще правда на низкий уровень оси залезли) из офиса с чуваком из америки.Пятое - кодинг таск с презентацией экрана. Сделать лайтовую имплементацию стримов (iterator, forEach, map, flatMap, filter).Шестое - андроид специфика вьюшек, оптимизация отрисовки и тд.
Решил посмотреть как писать собственную регистрацию и аутентификации, так в Гугле либо фреймворки предлагают, либо просто показывают как sql-запросом добавить запись о пользователе даже без хеширования пароля.Java настолько не подходит под разработку персональных проектов и нацелена лишь на ускоренную доставку решений бизнесу?
php мидл в треде, дрочил java несколько месяцев. Как думаете, могу ли пройти на ява мидла, или надо начать с джуна сначала?
>>1434344Много хочешь. Сможешь без гугла объяснить разницу между параллелизмом и канкаренси? Про спринг вообще молчу, за пару месяцев ты там ничего не изучил, а знание его даже от джуна требуют.
>>1434302Не, но то таке, может через 2 годика можно и в амурику будет релокейтнуться.Самое забавное что в другие тимы по ведру прям после универа берут (тимлид шутил как нам в команду китайца подбросили после универа). В итоге ревьюваешь код, видишь дичь, начинаешь наезжать, а там какой-то джун Хосе Гонзалес дель Педро.
Если я учил СиШарп ну как учил, синтаксис, ООП там и прочее такое сложно ли будет перекатится на яву и сколько по времени это займет, ну так, можете почувствовать?В чем там принципиальная разница, на что особо обратить внимание?
>>1434354> разницу между параллелизмом и канкаренсив общих чертах канкаренси одновременно доступ к одному ресурсу разных тредов
>>1434362Если ты глубоко в шарп не окунулся, то база у языков довольно схожая. Ява чутка арахичней, нейминг конвенции другие.
>>1434364Ну мне щарп показался очень удобным, нет там никаких хуевин со сбором мусора, выделением памяти, закрытием потоков - все автоматом делают за тебя. Ява сильно отличается?
>>1434370О сборке мусора тебе практически не нужно думать, как и о выделении памяти и закрытии потоков. Уже не бородатые нулевые, в жаве много плюшек есть.
Перечислите все проблемы, которые вы видите в данном коде:public abstract class Digest {private Map cache = new HashMap();public byte[] digest(byte[] input) { byte[] result = cache.get(input); if (result == null) { synchronized (cache) { result = cache.get(input); if (result == null) { result = doDigest(input); cache.put(input, result); } } } return result; } protected abstract byte[] doDigest(byte[] input); }
>>1434414Нет дженериков (Прям как в ранатйме, агагагагагагага).У массивов нет нормального хешкода, мапка не будет работать как надо.Мутабельные ключи - это пизда будет, даже если бы там был нормальный хешкод, как только кто-то снаружи поменяет состояние влияющее на equals/hashCode - будут проблемы.Синхронизация на поле, в данном случае вроде ничего страшного, но лучше выделить отдельный final Object lockXyiPizda.Из-за того что наружу отдают массив байтов, какой-то мудак может поменять в нем что-то для своих нужд и в кеше будет неправильное значение.
>>1434445А как же двойная проверка значения в кэше внутри sync и вне? Это норма? По мне так лучше сразу в блоке проверять. Ну или объявить map как volatile, а sync оставить только на cache.put(). Или вообще Hashtable применить.
>>1434465Это вроде правильно, сделано что бы как раз избежать захода под синхронизацию, не уверен может ли произойти какая-то хуйня что кто-то под синхронайздом засунул значение, а кто-то вне синхронайзда считал но как-то хуево.volatile не поможет, так как он повлияет на чтение замой мапки (ее можно вообще final сделать, один хер)Чтение под синхронайздом обязательно оставить.Hashtable не надо, это старая хуйня - лучше уж тогда врапнуть мапку использую Collections.synchronizedMap или ConcurrentHashMap.
>>1434361Я понимаю, просио мне хотелось своими руками потрогать от начала и до конца какие-то процессы, чтобы понимать саму абстракцию аутентификации с хранением и все такое. В итоге мне пришлось искать статьи с содержанием вроде "не храните пароли в их первоначальном виде", по кускам собирать информацию о передаче зашифрованных, а не хешированных данных и так далее. По поиску кастомного сервиса регистрации одна из первых ссылок - на Стековерфлоу. Всё бы хорошо, да там код - БуффередРеадер обращается к account.txt и считывает оттуда напрямую добавленные строчки, содержащие аккаунт с логином и паролем. И в ответе на вопрос по этому коду содержится исправленный код, содержащий ту же логику.
>>1434492Загугли архитектуру спрэнг секьюрити. По сути это как раз и есть то, что тебе нужно, там организуется защита через кучу делегирующих сущностей.
>>1434354>Сможешь без гугла объяснить разницу между параллелизмом и канкаренсиЧе-то ты много от джуна/миддла требуешь. Вот я не могу объяснить без гугла, и сомневаюсь что кто-то из коллег может, и что теперь?. Это не мешает зарабатывать овердохуя денег. Вообще имхо такие вопросы спрашивают только дегенераты на днище работах типо епама.
>>1434550Я не требую от тебя дословного определения же. Вот он >>1434363 нормально объяснил. В общих чертах-то повидл всяко должен знать это.
>>1434550Требуют требуют. И про спринг / DI/ IOC, SOLID, про то как сборщики мусора работают. И алгоритмы им напиши. И еще дохуя чего.Я только что на джуна устраивался. Просто АД ебать.
>>1434360Я кстати про НЗ думаю. Как то мурика не по мне.Интересно сколько лет надо опыта чтобы спокойно по рабочей визе мигрировать.
>>1435267Я думаю после 4 можно пробовать. Моему коллеге с текущего места предлагали релокейт, но завернули так как он не магистр лол. Другой чувак ушел оттуда одновременно как я пришел, потому что ему не делали релокейт, ушел в реддит и теперь ему потихоньку делают визу.НЗ наверное прикольно, но ты все таки подумай про то что это довольно отдаленная от цивилизации, из Австралии люди в штаты за покупками летают.
>>1435312А если у меня диплом вообще по экономике и финансам, а работаю я в жава девом?Не все ж знают как жизнь повернеться.
>>1435312> отдаленная от цивилизацииВ этом вся суть для меня. Природа и холмы. + серфинг, пускай и не круглый год.
Пару дней как вкатился в спринг и возник вопрос. Все эти микросервисы можно как-то секьюрить через security realm того же глассфиша или обязательно spring security нужен?
>>1435458Можно, у спринга много точек расширения. Если я все правильно понимаю, тебе надо написать свои AuthenticationProvider и UserDetailsService (если у глассфиша нет интеграции со спрингом, тут хз).
>>1435357Ну все любят. Но если мне уже 30+ и есть только такая вышка + опыт работы где ж я возьму другую то.
PHP-Бог 29 лвл в треде.Короче, заебался пилить говносайты на битриксе. Хочу развиваца и больше денег ну и владеть стеком за который не стыдно.Выбор пал на джаву.Опыт работы на пыхе овер 5 лет, приходилось работать с разными нодами и питонами, но в основном всеже ПХП. Знаком с ООП и паттернами.Отговорите или скажите что я малаца.Как быстро я вкочусь? Стоит ли?
>>1435735Потому что EE Application Server по-хорошему вообще не нужен, если есть спринг, и уж тем более эти жирные серверы избыточны для микросервисов.
Ананасы, я уже пол года активно учу джаву и сейчас вот подумал - у меня же высшего образования нет. В сентябре пойду на заочку профильную, на всякий случай, чтобы корочка была. Так вот, меня вообще кто-нибудь возьмет на позицию джуна без образования, или лучше вместо джавы что-то другое учить?
>>1436284Вот Вы шутите тут а у нас в продакшене подобная хуйня. Еще и наследуется от какого такого же говно, + какие то свои либы и еще какая то залупа сверху в видн сваг-анотаций.
>>1436103Глассфиш в пример привел как более известный. На самом деле паярой пользуемся.>>1435815А на чем обычно микросервисы хостят?
What's up everybody! Пишу первый код на спринг буте, и у меня проблема. Я должен присобачиться к БД, но он не хочет. Если драйвер jdbc например 5.1.47 то вот такая хуйня вылезает.
>>1436426Либо проперти класс неправильно указал, либо в зависимостях херни натворил. Либо еще где-то выстрелил себе в ногу, но я уж не знаю, как ты умудрился накосячить со спринг бутом.
>>1436443Меня заебало короч. Ищи в гугле решения. У этого стектрейса ебучей JoPA может быть много причин.
>>1436443А, я нашел, где ты обосрался. Ты блять нормально можешь набирать текст на клавиатуре или в шары долбишься? Для тебя даже автокомплит идеи существует, но нет, надо написать херню вида spring.pa.generate-ddl.
>>1436354>А на чем обычно микросервисы хостят?Ты в смысле на что заменить гласфиш/паяру? На спрингбут со вcтроенным легким контейнером (tomcat, jetty). Или просто на те же самые легкие контейнеры, если спрингбут не нравится.
>>1436446spring.jpa.hibernate.ddl-auto=createspring.datasource.url=jdbc:mysql://localhost:3306/sweater_dbspring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.jpa.generate-ddl=trueУ меня вот так уже давно, я это видел
>>1436449Уух, сука, у меня начинает гореть. Все, последний раз тебя поправляю, после чего ты отправляешься нахуй в гугл: spring.datasource.driver-class-name=com.mysql.jdbc.Driver без .cj.
>>1436458Мне лень расчехлять фотошоп, поэтому просто представь, что я прилепил мем ah shit, here we go again к страничке стэковерфлоу и посмейся.
>>1436463Не за что. Я хоть с жпа и не работал, но судя по небольшому опыту многие проблемы спринг бута идут от конфликтов зависимостей или от "особенностей" фреймворков. Здесь, похоже, второе. Быстрое гугление твоего стектрейса показало, что у всех эта проблема решается по-разному. Проблема может быть даже в ентити-классе.
>>1436355На хуй вы везде ебаный докер свой тащите?На хуя надо оборачивать оболочкой то, что можно не оборачивать?Ну, хотя бы одну причину назови.
>>1436431Ахаха.автоменеджмент зависимостей, чекбут вместо простого деплоймента в нормальный контейнер, чекddl-auto=create, чекрепозитории вместо дао, чекни хуя не понимаешь, что и как должно происходить, чекНИ ХУЯ НЕ РАБОТАЕТ - а чего ты ожидал от складывания кубиков, про которые ни хуя не знаешь?все технологии для ебаных макак собрал, молодецнайди себе другое хобби
>>1436512На самом деле я и сам не до конца понимаю зачем. И докер не использую. Хотя единственное годное применение, которое вижу лично я - упаковка всей экосистемы в один образ, чтобы не ебаться с настройкой на деплой-сервере.
>>1436515Это туториал со spring.io получается, что его писали макаки над которыми ты смеешься. Я - неофит, и просто хочу учится.https://www.youtube.com/watch?v=nyFLX3q3poY
>>1436447Ладно с этим понятно.Еще вопросик. Сделал через спринг сесурити базик аутентификацию, все работает. При обращении к сервисам есть какое-то подобие сессии чтобы каждый раз не передавать логин-пароль? Если есть, то в какую сторону копать?
>>1436648Запустил в итоге спустя все вот это время. На драйвере 5.1.47 версии, на других версиях не получается.
>>1436829нет, самый последний, я не посмотрел что он там импортирует нажав alt+enter. Тогда, вчера, я перепробовал все версии этих коннекторов.
Сап, дващ. Решил попробовать поюзать (n)vim вместо лучшей в мире IDE от JetBrains. Так вот, возникли некоторые вопросы. Сам я пользуюсь дефолтным вимом и довольно частно, но в основном для работы с текстовыми файлами помимо разработки. Ну так вот, я ощутил что это реально... ниоч удобно.Как рефакторить код? Например, как переименовать папку так, чтобы все пакаджи во всех файлах задеть? Или как переименовать файл так, чтобы поменялось и название класса? Есть ли какие-нибудь конкретные скрипты на vim для работы с java?Я поставил через Vundle только 2 плагина: emmet и ale. Может ещё какие хорошие посоветуете?Кто вообще из здесь сидящих юзает vim в разработке? Или правильный ответ "дауны с 256мб оперативы" и надо сидеть в интеледжии и не выёбываться?
>>1436518Репозиторий это верхний уровень абстракции, где контейнер делает за тебя все.Когда ты знаешь, как это работает само по себе, и что там за тебя делает контейнер - ну, ок, можно использовать, если знаешь, зачемА тут сучий пес пытается чему-то учиться, и вместо того, чтобы начинать с кирпичиков, берет целую пятиэтажку целиком.При этом, не удосужась даже прочесть доки по настройкеПоэтому ставит ее вверх ногами, а потом удивляется, хули дверь найти не может
>>1436517Это актуально только при совпадении следующих условий:1. твой заказчик не имеет ни говна, ни ложки, поэтому ты вынужджен давать ему упакованный комплект2. всю свою экосистему ты уже так настроил, что заебок. Потому что в докере что-то перенастраиват, ну, так себеВ то же время настройка компонентов системы самих по себе вполне удобна. Потому что уже миллион раз прожевана и высрана везде, от стэковерфлоу до роликов на ютубе для совсем инвалидов
>>1436643Пиздец...Ты учишься по роликам на ютубе, утверждая, что их написали спринг.ио?Ты не неофит, ты уебан.Если ты хочешь учиться, начни ЧИТАТЬ ебаную докуменцаию.Не туториалы, а документацию, блядь!У спрингов, что характерно, документация вполне неплохая. Последовательная и трогает все основные моменты.Вот когда ты прочтешь, тогда лезь в туториалы, будешь хоть чуточку понимать, что ты делаешь на каждом ебаном шаге, и почему так.
>>1436918Токены всех сортов.Начни с jwt, например.Но если у тебя обмен железка-железка, то, может, какой-то свой механизм завести. Т.е. ничто не мешает тебе завести нормальную сессию, связать ее со своим токеном, и кидать этот токен клиенту-не-браузеру.Точно так же нет никакой проблемы и jsessionid кидать небразуру, это его дело, как его запомнить.
Есть вот такой класс (1 пик) и такой тест (2 пик) правда ли, что по стилю кода все переменные нужно выносить?
>>1436993Т.е. я делаю один раз авторизацию, сервис отдает мне токен и все следующие запросы отсылаю с инфой из этого токена вместо логина-пароля?
>>1436991Я не он, но начал изучение спрэнг секьюрити именно с документации. И, внезапно, это вообще не так быстро и удобно, как изучение по роликам и туториалам, потому что в доках информация выдается так, словно ты уже понимаешь, как выглядит общая картина, но не знаешь некоторых деталей. В итоге я узнал отдельные его компоненты, но не как они работают вместе.
>>1436999Если у тебя множество тестов переиспользуют эти переменные, то логично их вынести и инициализировать в @Before. В ином случае получится не код, а нечитаемая лапша.
>>1436979Хз на вкус и цвет как говорится, нравится хоткеи вима можешь поставить поддержку в идее (есть встроенный плагиин)
>>1437062Потому что спринг секьютити следует изучать ближе к концу, когда у тебя есть понимание остального?
>>1437235Сейчас я уже вник в его архитектуру, и кроме некоторых базовых вещей типа фильтров и сервлетов там ничего не затрагивается. Не понимаю, о каком "остальном" ты говоришь.
>>1437255Дополню: проблема именно в стиле изложения в документации. Там нет четкой структуры, просто в тебя бросают эти кирпичики-интерфейсы, словно говно на вентилятор.
>>1436979Твоя проблема в том что ты пытаешься разрабатывать в виме что то сложнее хелло ворлд. Он для этого не предназначен.Вим используют так:-Собственно устанавливаешь вим-Зубришь 79 хоткеев для быстрой навигации на 15-ый символ в нечетной строке.-Идешь на форумы борщехлебов выебываться новыми навыками.
>>1436999Основное правило для теста - он должен быть максимально простым и легко читаемым. Если код твоего теста выглядит так что его самого стоит тестировать то ты делаешь что-то не так.
Суп, двощ. Вопрос: как вытащить из страницы в интернете контент? Поясню: допустим есть статья на каком-нибудь ресурсе. Нужно взять с нее название и содержание, если возможно картинки. В какую сторону копать, есть ли более-менее универсальный алгоритм подходящий к большинству сайтов , быть может кто-то видел или делал реализацию на Java. Буду признателен.
>>1437281Вытягиваешь по гет-запросу html-страничку с нужным содержимым, прикручиваешь парсер и вытаскиваешь все, что тебе нужно, в т.ч. и ссылки на картинки. Повторяешь процесс, обращаясь к картинкам по ссылкам.
>>1437257Глянул сейчас.В спринг секьюрити действительно говеная документация.Читать надо начинать чуть ли не с 8-го раздела.Тем не менее "изучение по роликам" остается уделом слабоумных, которые не умеют читать. Это не каратэ и не сварка, блядь.С другой стороны, каждый хочет, как он дрочит.Тем более смешно, когда учившийся дрочить по роликам приходит с вопросом, когда же станет приятно.
>>1437283Хехе, скоро ты узнаешь, что есть еще контент, который подсасывается динамически яваскриптом и т. д.
>>1437308>Тем не менее "изучение по роликам" остается уделом слабоумныхНу хз, все равно не согласен. Если даже есть охуенная документация, зачастую одно и то же можно сделать по-разному (какой-то способ устарел, например, и сейчас делают иначе, или же есть просто другой неочевидный подход). Тут-то и помогут ролики, которые покажут, как обычно решают эту задачу, а не как ты себе напридумывал по документации.
>>1437312Мне не хочется просто обзывать тебя обидными словами, но, очевидно, что ты не вкуриваешь, что ролики противопоставляются не документации, а чтению.Нормальный человек за время твоего ролика прочтет половину стэковерфлоу, какой-нибудь балдунг и еще пару постов в блогах кодеров из гугла.Не могу перестать охуевать с подрастающего поколения. Просто не могу.
>>1437318Окей, дед, я тебя понял. Я сам-то не против чтения, только вот некоторые вещи намного понятнее в формате презентации. По той же архитектуре спринг секьюрити я прочел и стековерфлоу, и еще много чего. Но реально понял, что происходит, только когда посмотрел доклад одного из разработчиков этого фреймворка.
>>1437320>намного понятнее в формате презентации.Ясно с тобой все. >>1437318Смысла с ним спорить нет.
Анон, помоги. Удалил старую версию jdk, установил новую по другому пути (по стандартному), теперь не могу запустить старые проекты в eclipse, выдаёт ошибку:"The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files"Советы со stackoverflow типа закрыть и открыть проект, очистить, удалить и реимпортировать - не помогли. В Intellij Idea не могу даже добавить новую версию jdk, при выборе папки с jdk выдает ошибку: "The selected directory is not a valid home for JDK"Проверил системные переменные - всё как надо. Не понимаю что не так
Почему все плагины, так или иначе связанные со сваггером, такое дерьмо? Я уже устал ебаться с настройками, только для того, что перегнать сваггер-файл в пдф. Да и сам сваггер та еще ссанина, без кривых плагинов опять же сосешь бибу и пишешь доки в самом коде.
Поделитесь историями как вы росли после устройства на первую работу. Типа "брал больше копал дальше сделали мидолом/старшим, потом дали группу копателей сказали я теперь лид". Так? Или там курсы, самообразование, вот это всё
>>1435829щас ищу работу джуном на джаве (недели 2 уже, я студент просто, тяжело найти что-то на полставки). В основном смотрят на проекты, которые ты писал, ссылочки с гитхаба в резюме полюбас должны быть. Ну а требования к вышке я только у окологосударственных компаний видел или типа ООО СИБИРЬРОСНАЕБИЗНЕС.
>>1437953Он же написал, что без фреймворков хочет.>>1434319У мускуля, например, есть функции для хэширования. Не такие крутые, как у спринга, но все же. Еще можно подключить какую-нибудь криптобиблиотеку. Но вообще без фреймворков я хз, как ты будешь даже хттп-запросы обрабатывать.
>>1437983Дохуя хочет. Почитать про спринг сесурити и заюзать его будет быстрее, чем на чистой джаве такое пилить.
>>1437264Да нет у меня проблем. Я просто попробовал вим для разработки, понял что это пиздец как не удобно и охуеваю почему популярно и почему это юзают?
>>1437645Какие, блядь, ты системные переменные проверил?В Build path standrad jre library перенаправь на новое место.И вообще, на хуя ты удалил старую ждк?Ты не знаешь, до сих пор, что у тебя может десяток стоять и друг другу не мешать?
>>1438016Хули там пилить?md5?сервлет?и сервлет-фильтр для проверки авторизованности?плевок в базу через ждбц?Ну, ждбц, да, я порицаю. Но все остальное нехитро делается. Если не ленишься печатать до хуя.
>>1438143Имею в виду javaSE, а то сервлеты - это какое-то читерство, тот же фреймворк, только урезанный.
>>1438152Срвлеты входят в спецификацию.Пусть и ЕЕ.Я думал, он хочет веб-приложение. Тогда сервлеты это чистая ява.Если хочет не веб-приложение, то еще проще, не надо сервлеты учить, бггг
Есть у джавы стек где не будет sql в нагрузку?Сейчас ебусь с микросервисами на сприге. Ощущаю что делаю тупо прослойку между бд и фронтом, хотя ВСЯ логика у нас в бэке. Что наверное не очень нормально.Я ебал это дерьмо. В каждом проекте ненормализованные базы с пиздецом, который тянется с века динозавров блять, каждый раз разгребать где что лежит.
>>1438493>Что наверное не очень нормальноПочему? Или ты хочешь нагрузить фронт логикой, чтоб сайт грузился 10 секунд?А вообще как мне кажется жава - это бэк, а бэк - это бд. Разве что на nosql перекатиться можно.
>>1438493Не в стеке проблема, и не в sql. Другие проекты тебе нужны, более сложные и интересные, другая предметная область возможно. Где бэк будет в меньшей степени просто прослойкой.
>>1437901>Так?Так. Я не лид (потому что и не хочу им быть), а сеньором стал просто хорошо делая свою работу, без каких-то там еще курсов или чего-то подобного.
>>1438493Может продать менеджеру идею порефакторить, если настолько всё плохо? Типа ща мы пилим n фичей в спринт и всё тормозит до кучи, когда я разгребу говно в схемах, станем пилить n*k фичей, и работать станет всё в q раз быстрее. Ещё и бабла дадут, поди.
>>1438525Там пока не до рефакторинга. Надо перепилить чтобы работало хотя бы. Дохуя критических ошибок. Я уже чет не рад что устроился.
Я устроился джуном, опыта работы 0.Анон, это нормально, что чувствую себя полностью бесполезным. Без тимлида, которого мне выдали не могу нихуя найти в БД. Просто блядь нихуя не могу сделать. Проект сложный большой пиздец. Такое чуство что я всех как то хитро наебал или меня просто случайно взяли.Я понимаю жаву, понимаю SQL, но вот что то сделать почему то не понимаю как.
>>1438539Норм. Ты только не молчи и не тупи в монитор втихую. Делай списки конкретных вопросов, ходи с ними к лиду, ЗАПИСЫВАЙ (чтобы дважды одно не спрашивать). Хотя б "я не понимаю как сделать таск. С чего начать?". От джуна и не требуют чтобы он сам все понимал
>>1438688Я с ним рядом сижу и спрашиваю постоянно. Но без него я прям конченым себя чуствую. И записываю да. Слежу за руками фокусника блин. Он при мне нахуярил в БД запрос с 1 раза, который я даже с гуглом за неделю не осилю. Слава богу дядька нормальный работать приятно, без закидонов /ЧСВ.Седня пару багов починил с утра. Уже втягиваюсь потихоньку.Он просто делает какую то пиздец сложную хуйню и как то дергать его блин.
>>1438728чтобы писать селекты с одного раза надо написать их сотню, заодно научившись формулировать то, что ты хочешь найти простым русским языком.это несложно. просто нужна практика
>>1438756Штуки 3 лефт джоинов и + 3 подзапроса + какая то ебала посчитать еще/агрегировать.Там 5к+ таблиц в базе.
>>1438807Ну такое то не знать. Есть же сайт sql. Ток все это говно уровня ландан из кэпитал оф зе британ йо.
>>1439125Да, каждая таблица 50+млн записей. + там еще сущности через наследование и еще какая то хуита. Этому говну 8+лет.
>>1439322>>1439321>5к+ таблиц в базе>каждая таблица 50+млн записей>100+ тел в бэкеЧто-то тут не так. Это же 250+ млрд. записей. Да же Амазон со своими 500 млн разных товаров сосет не разгибаясь.Если взять 100 байт на одну запись это база данных на 23+ Тб. Кто все это поддерживает? С такими объемами у вас должен быть отдельный департамент по написанию SQL запросов.
>>1439239select <...> from a, bwhere a.huy=b.pizdaЯ так и не понял, чем эта запись хуже, чемselect <...> from ajoin b on a.huy=b.pizdaБукв меньше, весь набор таблиц в одном месте, все условия в одном месте
>>1439530Я знаю, что план будет таким же.Мне непонятно, почему вариант с джойнами стал стандартом.Должно же быть хоть какое-то преимущество?Мне обычно просто лень каждый раз писать join и прочую хуету.Про left/right join в оракле тоже был трехсимвольный всего вариант: (+)Да и читается, на мой взгляд, хуже, когда слов больше
>>1439526Есть разница. В некоторых субд(в мускуле например) первый запрос будет будет пропускать определенные записи при определенных условиях. Джоин всегда выдаст правильно.
>>1439347Ну это очень очень большой банк. У банка все на микросервисах, сервисы общаются через кролика и от него идет буферризация в бд..У каждого микросервиса своя БД. Отделений у банка по рашке только я ебал сколько. Ну вот и считай.Там бизнес логики на том толстого описано в конфлюенс.
>>1439527Я туда джуном устроился, на очень скромные деньги и охуеваю от происходящего. У меня по сути 3 тимлида, лол, в прямом доступе, которых можно пилить вопросами.
>>14395821. рассматривать мускул в качестве БД, ну, это такое...2. > первый запрос будет будет пропускать определенные записи при определенных условиях. примера, конечно же не будет, да?
>>1432127>>1432240https://www.martinfowler.com/bliki/AnemicDomainModel.htmlЯ тут тебе покушать принес.
>>1441213некоторые кусочки, типа ресттемплейт,Если хочешь сервак с мобилки держать, то пробуй https://github.com/NanoHttpd/nanohttpd
Гребущие в провинициальных епамах Саратовский офис есть? Предлагают в районе 35 младшим разрабом, нормальная зп по рынку? какая там вилка вообще у них, 40+ стоит запросить?Слышал и по 30 платят кому то, но не знаю правда или нет
Гайз, что читать по спрингу для нулячих? И поясните, что делает интерфейс Модель, я ищу в гугле, там как-то все вскользь, двумя словами обычно например: the model works a container that contains the data of the application или Request reads the information provided by the user and pass it to the Model interface , поясните как это понять то?
>>1445193Я имею ввиду конкретный пример а не концепцию. Интерфейс Модель в спринге. Вот например что делает этот код?import org.springframework.ui.Model; @GetMapping("/greeting") public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) { model.addAttribute("name", name); return "greeting"; }
>>1439611Расскажи про свой опыт. Что уже писал на яве, может работал как-то. Интересно какой объем знаний надо, чтобы устроиться работать джуном.
>>1445209ну тут хуё моё контроллер, который принимает значание name, если его нет, то его значение World, ты добавляешь это в модель фактически в хешмапку и даешь ему имя. Потом ты возвращаешь имя view которое должно быть определено ViewResolveroм и магией спринга подтянуто на выход с вставленными данными из собственно модели. Если хочешь понять как это работатет под капотом читай Spring in Action 4 главу про MVC, а то я сам честно говоря нихуя уже не помню тем более с этим не работаю
Мне тут советовали изучать энтерпрайз на яве, велели обратиться в соответствующий тред.Но речь не об этом.Я так понял, макаками называют плохих программистов. Просто интересно, каких конкретно свойств им недостаёт? Как не стать макакой?Петросяны лесом.