https://github.com/qqqlll/Java-Thread/wikiПрошлый тонет тут: >>1034468 (OP)
Блять, а самое главное, т.е заголовок добавить забыл. Ну пересоздайте тогда, либо все пишем тут, если не критично.
советую вам перекатываться на .NET пока не поздно. еще пара лет и java все.
>>1050926Я нуфаг-студень, но ты слишком толстый.
>>1050932не торопись с выводами. сам подумай, почему такой плохой и отсталый язык как java при этом пользуется просом? потому что у него все это время не было нормальной конкуренции.сейчас .NET фактически является более лучшей и совершенной java'ой; все, что раньше можно было делать только на java'е, теперь можно делать и на .NET, только лучше, быстрее, эффективнее и производительнее.люди еще по инерции конечно несколько лет просидят на своей java'е, но только дурак не заметит очевидных превосходств .NET. в конце-концов java не выдержит конкуренции с .NET.
>>1050935Помню начало 2000x, что-то подобное читал в электронных журналах, интернета тогда не было, журналы распространялись на дисках, прилагавшихся к журналам бумажным. Помню с убийством жабы самой лучшей платформой .net, там еще упоминались преимущества Modula/2 перед всем что придумали до и придумают после.
>>1050939вот только раньше .NET был проприетарной платформой только на windows, а сейчас это опенсурс мультиплатформа
>>1050941Как - будто, Java заморожена и не развивается. Чтобы обогнать, нужно сначала догнать.https://trends.google.com/trends/explore?date=2016-07-25%202017-08-25&q=classy,%2Fm%2F0gdzk,%2Fm%2F07sbkfb
Кто щупал - книжка Блинова норм? Слышал, что там нету совсем уж хелловорлдов и воды мало, т.е. охуенно для вкатывания тех, кто имеет представление о ООП.
>>1050994Я не читал, но знаю по своему опыту, что технические книги, от русских авторов это дерьмецо еще то. Чем тебе Хорстманн и Эккель не устраивает?
>>1050994Вот серьезно, что движет этим молодым человеком учить java'у. Я понимаю, необучаемые старперы сидят на жаве потому что они этим зарабатывают и больше ничего не умеют. Но зачем молодому человеку в это время тратить свое время на это говно динозавра.Опомнись. Иди лучше учи C#, подумай о бущуем.
>>1050935Он прав.мимо помидор
>>1051033Двачую, братишка. Зачем нам конкуренты?
Кто ждёт фич из java 10? Одни value type чего стоят, а generic'и без боксинга, ммм.
БАБКА на видео советует , уже в 2017 нужно переходить/изучать язык Golang. К тому же скоро выйдет Golang 2.0, в котором будут исправлены недостатки первой версии.https://www.youtube.com/watch?v=_Z_k5G73ttkТакже есть замеры Golang VS net core 2.0, где голанг как следует быстрее и производительнее:https://hackernoon.com/go-vs-net-core-in-terms-of-http-performance-7535a61b67b8
>>1051087>сейчас бы померятся ничего не значащими тестами.на ассемблере еще быстрее можно написать
Как быстро можно вкатиться в сабжевый язык до уровня написания полезной для себя хуйни (например простеньких приложений на ведро), имея базовое представление в ООП, и занимаясь 9000 часов в день?
>>1051086В 10 не выпустят их, можете скринить. Это будет стабилизирующий релиз после девятки: допилят модули, http клиент и может быть выведение типов добавят.
>>1051103За месяц. Начинай сегодня.
>>1051055Долбоеб, я серьезно говорил. Асинк блять авейт тебе в сраку.
>>1051205Я тоже. Делегат тебе в задницу.
>>1051086>ждёт фич из java 10>value type>generic'и без боксинга>>1051105>В 10 не выпустят ихХотел сначала посмеяться над вами, но потом понял, что над больными смеяться грешно.Ждите дальше value type и верьте в чудеса, может однажды они исполнятся, кто знает.
>>1051238Уже исполнились. В Котлине.
>>1051387На JVM это нельзя сделать, умник.
>>1051387Там костыли манька. В байт-коде всё равно боксинг-анбоксинг.
Сап, программач!Недавно начал изучать ЖС и понадобился компилятор на шиндовс семь.Какие можете посоветовать?
>>1051620>ЖСДружок-пирожок, кожевенная мастерская в другом треде.
>>1051660Где?Есть ссылка?
>>1050935Для тебя будет открытием, но net просто клон java от ms, в свое время майкам отжать у сан джаву не удалось и они ее просто стащили. Как низопробный клон может быть лучше высококачественного оригинала?
>>1051684Разжигаешь, набрасываешь, лол.Синтаксис дохуя похож. Если я буду джаваблядью, у меня получится быстро вкатиться в дотнет, или там есть какие-то радикально иные плюшки?
>>1051686Если бы ты был джаваблядью, то тебе был бы смысл вкатываться в scala, kotlin или clojure. Но никак не в сраный, никому ненужный на рынке, мелкософтовский дот.нет
>>1051684net это низкопробный клон java.с++ это низкопробный клон сичеловек это низкопробный клон обезьянысынок, ты знаешь такое слово "эволюция"? как может быть низкопробным то, что намного совершенее и лучше оригинала, объясни.
>>1051686>Синтаксис дохуя похож.Ага, как и у всех си-подобных языков. На этом схожесть заканчивается. В C# очень много возможностей, которых нет в java. Будет точным сравнение C с C++. Сначала у тебя при переходе на C# будет конечно кружится голова: это как и тесной, спертой и вонючей лачуги выйти в роскошный просторный зал.Но ты быстро разберешься и привыкнешь к комфорту С#, потому что там на самом деле все просто.
>>1051698> В C# очень много возможностей, которых нет в java.Например?
>>1051701очень много. долго перечислять. на самом деле около 90% возможностей C# просто не имеют аналога в java.Если только сравнить ключевые слова, то в java их 48, а в C# больше 110
>>1051714Не хотеть садиться на кукан к Микрософту.
>>1051696Net подчистую с java слизан, начиная с синтаксиса c# и заканчивая идей vm и jit. Вот только в jvm это было сделано с прицелом на переносимость, а зачем типы из мс вкорячили виртуалку поверх винды они и сани вероятно не знают. Какая нахрен эволюция
>>1051722>vm,jitТебе еще предстоит много веселых открытий SmalltalkТак то переносимость с рождения была... windows/unix ничто по сравнению с разницей x86/x64.>>1051086>value typesА разве не дали задний ход и не решили делать обрезанные костыли aka value capable classes
>>1051714> очень много. долго перечислять. Ну ты хотя бы начни.> Если только сравнить ключевые слова, то в java их 48, а в C# больше 110А в крестах вообще охуеешь сколько, но это как раз минус.
У меня в репозитории на гитхабе есть JSP-файлы, но если посмотреть языки проекта, то там нет HTML, только Java, JavaScript и CSS. Гитхаб не учитывает HTML-код, написанный в JSP?
>>1051722>Net подчистую с java слизан, начиная с синтаксиса c#Идиотина, Java ckизана с C++ и Delphi.А C# тоже - но уже с Delphi и C++. Потому что C# разрабатывал содатель Delphi.
>>1051733>ничто по сравнению с разницей x86/x64Ты забыл, что было когда-то 16bit->32bitАх, ну да, когда ты родился наверное уже только 32бита было.
>>1051714Сейчас бы сравнивать языки по ключевым словам. http://www.math-cs.gordon.edu/courses/cs323/COBOL/COBOL-reservedWords.html - в коболе их 550, следуя твоей логике, переключившись с С# на кобол>это как и тесной, спертой и вонючей лачуги выйти в роскошный просторный зал.Ебать ты дотнетчик, земля тебе пухом братишка.
>>1051738>Ну ты хотя бы начни.Ну ладно, продеймся хотя бы по первым ключевым словам:as - каст, который в случае неудачного каста возвращает nullchecked - проверка чисел на overflowdecimal - в жаве нет такого типаdelegate - в жаве нет делегатов и не будетenum - в жаве enum это просто синтаксический сахар для обычных классовevent - нету в жаве эвентовexplicit в жаве нету ни кастомных операторов конверсии, ни вообще перегрузки операторовextern - в .net очень мощная interop-библиотека с помощью которой можно очень просто использовать существующие нативные библиотеки. в java без костылей вызывать нативные функции нельзяfixed - использование поинтеровостальное тут https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/>А в крестах вообще охуеешь сколько, но это как раз минус. выразительность языка может быть только минусом для неосилятора.
>>1051882Сейчас бы спорить с дегенератом, насчетas - очевидного антипаттерна, зафиксированного в языке по непонятным основаниям. К тому же, as(A.class, instance) - всегда можно реализовать статический метод и простреливать ноги с помощью егоchecked - хз что такое, но вот данные с гитхабаhttps://github.com/search?utf8=%E2%9C%93&q=language%3Ac%23&type= - 147,687 available repository results, добавить слово checked в поиск: 39 repository results - и это тупо поиск по строке, т/е собственно случаев использования в коде может быть и 0. Из чего делаю вывод - такая же редкая ебала, как ключевое слово strictfp в жабе.decimal - спорить про типы в языке, где можно определять пользовательские типы данных nough said.delegate - lambda expressions enum - здесь я прервусь, т/к утомился немного - все споры с сисярп фанбоями, это споры на уровне синтаксиса. Т/е по сути, у них нет толковой аргументации, к тому же, я на Kotlin мигрировал.
>>1051896>мам, а почему в java нет as?>это антипаттерн, сынок>мам, а почему в java нет делегатов>НИНУЖНО>мам, а почему...>СПОРЫ НА УРОВНЕ СИНТАКСИСА>checked да просто мало кто знает про это, да и проверка на переполнение мало где нужна>lambda expressions это совсем другое. костыль костыля анонимных классов>спорить про типы в языкеда я и не спорил. просто первые ключевые слова из списка. это я так, только поскреб вершину айсберга.
>>1051882> asas без null conditionalов (?.) не нужен, ибо нет разницы проверить instanseof или указатель на null. Разве что няшней выглядит.
>>1051896>я на Kotlin мигрировал.>funне взлетит с таким ключевым словомМигрировал из-за требования на работе?
>>1051918Ну серьезно, в плане дизайна языка Хейлсберг действует как силлогоман. Абсолютный Плюшкин среди разработчиков ЯП.
>>1051927Просто авторы этого языка хотели чтобы ты получал ФАН когда пишешь программы
>>1051927У нас всё гибко - требования формируем сами (c разумными ограничениями, конечно).
>>1051929>силлогоманА почему?..C# задумана как киллер Java что не вышло и свое личное контролируемое казино Microsoft с блэкджеком и шлюхами что само собой получилось.Для того и сделан похожим на Java, чтобы переманиватиь программистов. Для того и вносятся всякие плюшки, чтобы "ниуступить" и быть клевее.Да, Java изначально получила пороки развития, вовремя не исправленные, но тем не менее у Микрософта не получилось ее угробить, хотя крылья все же подрезала.
>>1051930А надо было думать как на это посмотрят другие.Тем более, если позиционируешь свой язык как промышленный стандарт и замену для Java.
>>1051932А над чем работаете?
>>1051935но ведь инфраструктура, окружение, обратная совместимость, кроссплатформенность, стабильность, легкость, логичность и прочее гораздо важнее синтаксического сахара.Майкрософт думал победить одним синтаксическим сахаром?
>>1051937Что-то связанное с Интернетом и ЦОД.
>>1051938Ну планы меняются со временем, кое-что из задуманного не получается, кое-что кое-как получается.MS видела угрозу в Java. Кроме MS Office, IE и Windows она была поставщиком средств разработки, и конкурировала с Borland и другими, а тут еще вылез страшный Java, кроссплатформенный, который быстро попер во все телефоны и устройства, подминая под себя все платформы, даже браузеры. Кроме того, если бы удалось быстро всех перевести на .NET, у Microsoft ,s появилось преимущество - тут уже не от Intel все бы зависели, а от владельца платформы .NET. Конечно были у них и планы по своей кроссплатформенности, но что-то не пошло. И - наученные сложным переходом с 16bit на 32bit, уже думали про грядущий переход на 64bit, а потом и на 128bit. Короче много причин появления .NET и C# - MS не может что-то кому-то передоверить, хочет все сама делать, чтобы контролировать.
>>1051944> MS видела угрозу в JavaНет, просто они просрали свои полимеры по монополизации JavaVM и потому выкатили эти ваши дотнеты.
>>1051810Ну давай старичок, напиши софтец который запустится и в 16-битном режиме и в 32-битном (нет, не в режиме эмуляции с помощью оси) без рекомпиляции
>>1051953А ты не преувеличивай. С 16 на 32 bit как-то переползли, на 64bit тоже. А вот разницу между платформами не преодолели пока-что.
Не могу понять как вы живёте с автоматическим сборщиком мусора, который никак не отключить, которому можно только предложить собрать мусор и вы никогда не будете знать сколько ресурсов он на это потратит,почему разработчики языка настолько дебилы, что не предусмотрели возможность разработчику напрямую контролировать память, как в плюсах,хвалёная кроссплатформенность по по факту не работает, всё равно приходится ебать с реализацией виртуальных машин под конкретную архитектуру, а эта реализация всё равно не даст одинаковый результат на всех машинахполучается, что хвалёная джава по факту дичайшая шляпа.
>>1051961Иди регистры тереби, ассемблероблядь.
>>1051961окей, выключишь ты сборщик. А кто будет переписывать все либы на ручное управление памятью?
>>1051935>C# задумана как киллер Java>Для того и сделан похожим на JavaЧушь пишете. Если бы хотели сделать киллер Java, сделали бы сразу кроссплатформенным. Тогда-бы жава умерла еще 10 лет назад.Это изначально было задумано как windows-платформаНа жаву он похож только си-подобным синтаксисом и тем, что оба являются управляемым кодом?
>>1051967а зачем тогда они делали виртуальную машину? Не могли обеспечить бинарную совместимость в пределах своей виндоус?Так и сейчас по факту написанное на дотнете не получится запустить на древней винде
>>1051970VM -- это не только кроссплатформенность, но и инфраструктура (JIT и прочие плюхи).
>>1051967>сделали бы сразу кроссплатформеннымА Microsoft оно надо - чужие платформы? Головой думай. Может они и собирались, как МС Офис и Windows для Мака, но не оcилили.На Джаву он похож. Точка. И для переманивания программистов прежде всего.
>>1051970>а зачем тогда они делали виртуальную машину?потому что управляемый код - это next-gen высокоуровневых языков. Ты получаешь безопасный код, сборщик мусора и прочие плюшки
>>1051963Так и знал, что наткнусь на взрыв жабоадепта,почему тебя рвёт от элементарных и логичных вопросов?>>1051965разработчики языка и виртуальных машин, кто же еще,ну а почему раньше об этом нельзя было подумать? Году в 90м, когда стало понятно, что куча ресурсов уходит впустую?
>>1051996>разработчики языка и виртуальных машин, кто же еще,они и придумали - сборщик мусора. И только тебе не хватает ручного управления памятью>Году в 90м, когда стало понятно, что куча ресурсов уходит впустую?уже в 95 было понятно, что будущее за сборщиками мусора
>>1052003>придумали - сборщик мусора. И только тебе не хватает ручного управления памятьюСлышал, где-то такое есть - ручное управление мусоросборщиком. Не подскажете где?...
>>1052006чем ты там управлять собрался?
>>1052006>Слышал, где-то такое есть - ручное управление мусоросборщиком. Не подскажете где?...Это пиздец. Вот как ты это себе представляешь?
>>1052009>>1052011Дергать за хвост, чтобы начинал работать когда мне нужно, а когда не нужно не срабатывал - что непонятного?
>>1051961Ручное управление памятью — нинужное говно без задач.
А управление автоматическим мусоросборщиком?Почему вы отрицаете, что это нужная фича и почему вы готовы мириться с тем, что просираете ресурсы впустую??Ответьте ,пожалуйста, кто-нибудь внятно, без взрывов пердаков итд,мне правда интересно,
>>1052014И каким образом ты в десятке тредов определишь когда надо, ммм?
>>1052019Ничего не просирается.
>>1052019Может сразу покаяться - чего тянуть?
>>1052026Зачем в десятке тредов? Можно в менеджере тредов или в ключевых местах. А если не можешь - тебе это не нужно.
>>1052014>>1052006System.gc() в джаве это и делает. Только тебе им пользоваться не стоит, jvm умнее тебя, ей лучше знать, когда собирать мусор
>>1052032Лысого ты себе на губу заменджишь. Аллокации в ключевых местах отлично эскейпятся и выделяются на стеке. А если тебе этого мало можно вопользоваться оффхип решениями, но это все для конченных наркоманов.
>>1052039Я думал что в джаве все в хипе, кроме примитивных типов. Я ошибаюсь?
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_ReferenceЧто-то я не могу понять, что означают фазы install и deploy у Maven?Там имеется в виду репозиторий системы контроля версий что ли?Типа при install должна выполняться команда git commit, а при deploy - git push, так что ли?Тогда где фаза получения изменений из удаленного репозитория?Поясни, анон, совсем запутался.
>>1052207Открой .m2 директорию. Подумой. Поищи там гит-файлы.
>>1052209Открыл, там твою ммашу ебут.
>>1052213Ну и соси хуй тогда, псина.
>>1052037>jvm умнее тебяВся суть жабопетухов.
>>1051961Потому жаба специально создавалась для тупых индусов.В нормальных языках, таких, как C++, Objective-C, Swift вместо GC используется подсчет ссылок, и программа не виснет при очередном stop-the-world.Но для этого надо разрабатывать правильную архитектуру и избегать циклических зависимостей, чего тупая жабоблядь не умеет.
>>1052221советую тебе почитать на досуге про перформанс GC и "подсчета ссылок".>программа не виснетнасчет jvm не скажу, но в нормальных платформах уже давно ничего не виснет
>>1052065JIT может выделять на стеке вместо кучи если может доказать что рееренсы никуда не уйдут.
>>1052221Как фрагментированность памяти, брат?
>>1052221>>1051961Алё, как там в 97-ом? Пугачёва победила на евровидении?А у нас в 17-ом есть сборщики мусора с миллисекундной латенси что для 2GB, что для 100GB куч.
Ебать там петросяны контрибьютились> Если вы не укажете никакого модификатора доступа, будет использован public. Это значит, что весь код данного объявления будет виден из космоса;> public var bar: Int = 5 // свойство видно со дна Марианской впадины
>>1051970Потому что нативный 32-битный код не совместим бинарно с 64 битным (не говоря уже о всяких итаниумах), а с виртуализацией - управляемый код вполне переносим..Net вполне с рождения был кроссплатформенным, привязан к винде он был библиотеками и имплементацией (оптимизация вызовом нативных функций), при этом вполне запускался не только на винде, ибо был в наличии Platform Adaptation Layer (что вылилось в урезанный .Net Micro на таблетках, Silverlight крутящийся в браузерах, Rotor, Mono)Ничего нового в VM для Microsoft не было, первые версии экселя были написаны поверх виртуальной машины (поэтому портирование его занимало три дня), Microsoft p-code опять же.Некоторые вещи конечно были потырены напрямую с джавы (имена стандартных типов в C#, гребаная ковариантность массивов), но большая часть - с C, Delphi и Smalltalk
>>1051882> as - каст, который в случае неудачного каста возвращает nullВ джяве тоже есть каст, только он нахуй не нужен. Для нормальных людей есть паттерн-матчинг.> checked - проверка чисел на overflowТам где оверфлоу представляет угрозу используют BigInteger.> decimal - в жаве нет такого типаДабел есть, бигдецимал есть.> delegate - в жаве нет делегатов и не будетКостыль над анонимной функцией. > enum - в жаве enum это просто синтаксический сахар для обычных классовТак это плюс.> event - нету в жаве эвентовЗачем это в конструкциях языка? "Реактивных" библиотек под яву навалом. > explicit в жаве нету ни кастомных операторов конверсии, ни вообще перегрузки операторовНу ок. В других жвм-языках есть.> extern - в .net очень мощная interop-библиотека с помощью которой можно очень просто использовать существующие нативные библиотеки. в java без костылей вызывать нативные функции нельзяJNR> fixed - использование поинтеровПоинтеры? С арифметикой?> >А в крестах вообще охуеешь сколько, но это как раз минус.> выразительность языка может быть только минусом для неосилятора.Переусложненность может плюсом только для говноеда.Стандарт на 1500 страниц совсем не делает крестопарашу супер-мощным языком на котором за вечер пишется любая ёба, да и выразительность там уровня голанга.
>>1052314>не делает крестопарашу супер-мощным языком на котором за вечер пишется любая ёба, да и выразительность там уровня голангакекнул с тебя.
>>1052332Твои проекты на крестах в студию.
>>1052269где?
>>1052279Чтобы быть кросплатформенным, нужно работать на разных платформах (не Windows). У .NET этого небыло, вплоть до появления Mono, которое настолько глюкавое, что серьезно о нем говорить невозможно. А всего лишь наличие интерфейсов с прицелом на будущее не делает что-либо кросплатформенным.
>>1050914 (OP)>>1050914 (OP)Господа, с нуля вкатываюсь в кодинг в 25 лет. Попробовал питон, пхп, в итоге остановился на джаве. Сейчас учу верстку (т.к. во всех объявлениях на джависта требуют верстку) и потом собираюсь начать изучать джаву и возможно пойду на курсы по джаве. После курсов попытаюсь устроиться в какую-нибудь кампанию хотя бы за 400 баксов в месяц. Что скажете про мой план? Нужна критика, потому что хочется как можно раньше начать зарабатывать на кодинге и не хочется проебаться на ненужную хуйню, или на ненужные действия. Буду благодарен любой критике и советам. Спасибо
>>1052497компания, само собой*быстрофикс
>>1052497Как по твоему связаны верстка и джава? Ты ставишь багажник из телеги перед лошадью. Хотя так ты конечно сможешь вкатится во фронтендеры.
>>1052519Может он с JS попутал?Я вот собираюсь вкатиться наконец в работу, везде к Java требуют SQL.Олсо, курсы нужны только с трудоустройством, от той конторки, на которую нацелился. Если ты ленивый хуй, работать они тебя не заставят, а если не ленивый хуй - самостоятельно эффективнее, ящитаю.
>>1052523Не ну может он видел где нужен фулстек, который будет ебать бекенд на джаве ив ыплевывать какой-то ангуляр.
>>1052531Знаю бекенд, сиквел, нтмл и ангуляр. Я теперь у мамы фулстек?
Учу тут Spring по-тихоньку, столкнулся с обычной для меня проблемы:Не могу придумать себе задание или проект, который помог бы практически доучить спринг.Киньте идею, что можно написать, чтобы было логично использовать Spring..
>>1052581Онлайн шаурмечную.>>1052549It dependes
>>1052581Борда.
Допустим есть 2 переменныеint a, b;является ли нормой присваивать так:a = b = значение.
>>1052664Нет.
>>1052669Но ведь можно?
>>1052669Пидора ответ.
>>1052672в kotlin нельзя лол
>>1052672++i + i++ ++i тоже можно.
>>1052692Нельзя. i++ ++i не пройдет компиляцию.Если бы было i++ + ++i то да, можно.
>>1052710Вот видишь, как легко объебаться с таким кодом.
>>1052717Ага. Можно даже такую хуйню делать:i = -+-+-+- iНо толку с этого)
С чего это вдруг a = 1; b = 1;стало принципиально проще, чем a = b = 1?
>>1052730Ни с чего. Я тоже предпочитаю первый вариант. Просто увидел такой вариант присваивания в одной из книг.
>>1052664Нужно понимать концепцию выражений и стейтментов в языках программрования.Выражения всегда возвращают значение.то есть a = b = 1 это тоже самое что b = 1; a = b; так-как сначала эвалуируется правая часть, а потом ее результат используется как правая часть уже другого выраженияконпелятор так скорее всего и переведет этот кусок кода.
Есть ли в intellij hotkey, который позволяет на выделенной строчке кода перенести указатель в скобки? Ну например есть какой-нибудь методvoid apple() { }И на этой строчке кода я хочу не тыкать мышкой в скобки и вставлять нужные параметры, а хочу сделать это через хоткей. Так удобней и быстрей. Чёт я все хоткеи протыкал и нужного не нашел. И уж совсем наглость. Поскольку я только недавно изучил core и приступил к изучение паттернов, то может есть какой-нибудь плагин, который подскажет мне, как реализовать нужный мне паттерн или вообще сгенерирует его? :D
>>1052747>И уж совсем наглость. Поскольку я только недавно изучил core и приступил к изучение паттернов, то может есть какой-нибудь плагин, который подскажет мне, как реализовать нужный мне паттерн или вообще сгенерирует его? :Dнужно больше абстрактных фабрик? ебать ты вася
>>1050914 (OP)Сап, джаваны, снова тупой мудак на связи. Есть одна ебанина (Spring Data MongoDB + Spring Security). В контроллере есть метод, в котором для безопасности высняется либо принадлежность сообщения залогиненному пользователю, либо к юзеру с админской ролью. Мой воспалённый мозг породил следующее решение:[CODE]@Secured({"ROLE_ADMIN", "ROLE_USER"}) @RequestMapping(value = "/delMessage", method = RequestMethod.GET) public String delete(HttpServletRequest request) { String messageId = request.getParameter("id"); if (SecurityContextHolder.getContext().getAuthentication().getAuthorities().contains(new SimpleGrantedAuthority("ROLE_ADMIN")) || messageService.findById(messageId).getUser().equals(userService.findByUsername(securityService.findLoggedInUsername()))) { messageService.deleteById(messageId); } else LOGGER.error("The message is belong to another user"); return "redirect:/"; }[/CODE]Как вы можете заметить, это дико монструозная проверка, которая мне сильно не нравится, но она работает. Внимание, вопрос! Как можно сделать это более красиво и изящно?
>>1052747>Есть ли в intellij hotkey, который позволяет на выделенной строчке кода перенести указатель в скобки? Ну например есть какой-нибудь метод>void apple() { }контрл+стрелка вправо а потом еще раз стрелка вправо уже без контрла. не знаю как в общем, но в винде это - дефолтное поведение.
>>1052747> Есть ли в intellij hotkey, который позволяет на выделенной строчке кода перенести указатель в скобки? Открой для себя стрелочки на клавиатуре.
>>1052785> либо к юзеру с админской рольюЛибо наличие у юзера админской роли.
>>1052747> есть какой-нибудь плагин, который подскажет мне, как реализовать нужный мне паттернЕсть. Погромистом кличут.
>>1052785Вынести в huervice.canModifyMessage(message, user)
>>1052792Но проверка останется такой же. А хочется чего-нибудь более красивого и однострочного.
>>1052795Ох ебать, ты думал, что спринг тебя избавит от написания кода? Аннотацию скопипастил и всё заработало? Не бывает так.
>>1052796Нахуя он тогда нужен, блядь? Я как-раз и захотел аннотацию. Хоть свою пиши, лол (а придётся).
>>1052497Начал с самого легкого для вката и зарабатывания денег, остановился на самом сложно безденежном для вката. Где логика?> Что скажете про мой план? Нужна критика, потому что хочется как можно раньше начать зарабатывать на кодингеГовнище. Учи JS или PHP и со свистом сможешь зарабатывать деньги на фрилансе. На джаве ты с удаленной работой хуев насосешься, потому что нет. А что есть, то не для вас удалено, молодой человек. >>1052785Хуиту написал.
Посаны, а какие есть преимущества у джавы перед скалой кроме того что работает быстрее? Ну хоть одно?
>>1052878От Джавы не возникает навязчивого желания пососать член и принять в попку.
>>1052878Компилируется быстрее. Проще макак обучить и найти замену на рынке.
>>1052785https://docs.spring.io/spring-security/site/docs/3.0.x/reference/el-access.html15.3
>>1052878Больше вакансий, не такой выебистый синтаксис. Короче у скалы есть свой кусок play/akka, может еще что-то.
>>1052878Индусов проще надрессировать.
>>1052902Play прекрасно поддерживается стандартной Java. Скалу используют в data mining, Hadoop, Spark, это все.
>>1052785Это просто пиздец. Давай контакты работодателя - позвоню, чтоб тебя уволили нахуй.
>>1052897Держи картиночек. Я чот даже не подумал насчёт этой залупы, хотя в паре методов использовал.>>1052948Напиши лучше.
>>1050914 (OP)Сап. Изучил Core, знаю основы sql(простые запросы, проектирование бд), написал простейший сайт на servlets+jsp+jdbc, сборщик - maven. Куда двигаться дальше? Фреймворки, структуры данных, паттерны? В какой последовательности?
>>1053399В JS.
>>1053462Уже познакомился с фронтендом(ангулар2)
>>1053399Борда на спринге, ORM/jooq.
>>1053507По поводу спринга - куда копать: core или mvc?
>>1053519
>>1053532Ну туповат я, что с того. Be patient.
>>1053536Чего тогда демпинговать лезешь? Иди админить.
>>1053537Не на столько туповат
>>1053538
>>1053519Изучаешь поверхностно весь спринг и берёшь что тебе нужно для задачи.
>>1051926Внезапно в сярпе есть ?.
Мне в проекте для нескольких классов нужны одинаковые final переменные. Но не объявлять же их в каждом классе отдельно. Где их грамотнее будет разместить? Думал, абстрактный класс создать отдельный, но от него нужно наседоваться в любом случае и это как-то не хорошо.
>>1053623объявлять их в каждом классе отдельно
>>1053643Это бред же.А если у меня их 100 штук переменных и в них нуждается 10 классов? Куча (относительно) памяти расходуется зря.
>>1053623Создать класс для хранения констант? Вроде так и делают.
>>1053623Интерфейс
сап, джавачя нуб и ночью совсем не могу втупить, как лучше сделать.Есть вещи, которые должны быть константами, например: private static final ImageView PIC = new ImageView(new Image(getClass().getResourceAsStream("pic.png")));но компилятор ругается, что не может вызвать статический метод здесь. Что тут будет лучшим решением?
>>1053844уже втупил, сделал так: private static final ImageView PIC = new ImageView(new Image(MyClass.class.getResourceAsStream("pic.png")));
>>1052664ГРЕШНОВАТО
>>1052019>Почему вы отрицаете, что это нужная фичаПотому что опыт языков с ручным управлением памятью показывает, что автоматический GC сделает это в любом случае лучше, чем индус перед монитором. В любом проекте на C++ большая часть багов — утечки памяти. Это была одна из киллер-фич Java на момент её создания, настолько крутая, что перевесила тормознутость JVM и громоздкость языка.>почему вы готовы мириться с тем, что просираете ресурсы впустую??Почему просираем, почему впустую? Мань, создаётся впечатление, что ты делаешь скоропалительные выводы о том, в чём не особо разбираешься.
аняшки, подскажите сколько сейчас java junior зарабатывает в среднем?
>>1053949300К/наносек
>>1053970блин, ну серьезно.Я смотрел вакансии, но там пишут в основном, что з/п обсуждается на собеседовании, и я хз сколько просить
>>1053974> я хз сколько проситьМинимум 120к.
Подскажите фреймворк или библиотеку для работы с нейронными сетями.
>>1053949500$
>>1053949С твоим демпингом будет ещё меньше.
>>1053983Посмеялся.
>>1053984tensoflow
>>1053992почему?Могу я сказать на собеседовании, что хочу 700$, а потом как я читал они могут торговаться со мной и сойтись, на около 500-600$? Или мне скажут, что перезвонят с такими-то запросами?
>>1053984Neuroph
>>1054088Во сколько оцениваешь себя, за столько и отдавайся дядям
>>1053984сейчас бы не знать про awesome java
>>1054105так а если у меня нет опыта и знакомых в этой сфере нет, что бы спросить? Вы, ребятки, моя последняя надежда, что бы узнать за сколько я могу отдать свое джуниорское очко корпоративным ублюдкам
>>1054111Соглашайся работать за миску риса.
>>1054111Мы тебе помочь не можем. Некоторые уже себя джуниорами называют, прочитав head first java.Зависит вообщем-то от твоих знаниях и конторы, в которую ты идешь
>>1054112я тоже шутник и шутить люблю.вот скажи какая у тебя была первая з/п?
>>1054115ок. вот смотри я это все не знаю на уровни профи, но пользоваться умею.java core, oop,DI(Ioc) sql(простенькие запросики), hibernate, servlet api, jsp, spring: boot, mvc, security, data jpa.html, js, css на базовом уровне. сколько такой специалист стоит?
>>1054121Хочешь оценку - давай свой гитхаб. Посмеемся заодно
>>1053623отдельный класс - либо статикакми или ебись с синглтоном. но отдельный класс в любом случае. наследование - лесом.
>>1054124дану дианон же...ну неужели никто вилку не может написать, среднюю сумму какую?
>>1054121>hibernate, servlet api, jsp, spring: boot, mvc, security, data jpa.тут важно сколько проектов/сколько лет по каждой из данных статей чалился. я на мидле могу тебе сходу 20 таких слов написать, тк в курсе что это, но реального опыта дай бог в пяти есть - и только это ценится.если у тебя только java core и по хеллоуворлду на каждом онли писал - ты джуниор и стоишь нихуя.про oop и DI(Ioc) - зависит от требований. тебе может только казаться что ты это понимаешь.>>1054124два чаю анону, гитхаб в студию, оценщики уже выехали.
>>1054133так я же и пишу про джуниорскую должность и знаю что мне со старта никто 3к$ платить не будет.но мне интересно сколько джуниору без реального опыта с хелловорлдами будут платить. примерно(!) на что рассчитывать?
>>1054138я более чем уверен, что меня пока что вообще хуй куда возьмут, но мне не хочется выглядеть дебилом на собеседовании, если вдруг меня спросят про зп
>>1054129>дану дианон же...и кого тебе бояться?с core и обзорным пониманием этого списка - около 1к зелёных и жирных в больших деревнегородах.в зависимости от обучаемости и уровня конторы - либо поднимешься быстро потом, либо так и останешься на этом уровне на пару лет.на большее надеяться врядли стоит. меньшее - самому западло будет, да и рыночек решает.в зажопинсках - дадут 500 и хуём по лбу.
>>1054144но core должно быть охуенным от начала до конца - на уровне сертификации оракла по жава программеру - чтобы мог все вопросы ответить.
>>1054144>и кого тебе бояться?а вдруг тут мой потенциальный работодатель сидит...кароч буду просить 700$, и вдруг если буут торговаться хотя бы выйти на 500$.спасибо
>>1054149бля, ну у меня на столько глубоких знаний нет
>>10541173К рублей на руки. Сейчас те же 3К, но уже европейских рублей.
>>1054156тогда 500 - реальная цена, чтобы с голоду не умер, стажировка по сути. т.к. работодателю тебя еще дообучать жаве придется будет.
>>105411722к. Ещё 2к вычитали за чай
>>1054121Я бы взял в нашу контору, зп со старта около 50-60к, ДС2, госник. Один хуй новички примерно все одного уровня, разве что есть необучаемые/слаообучаемые -- тут уж как профильтруешь на собеседовании.На местных галерах джуны примерно столько же получают вроде.
>>1054266Ты в день 50 пакетиков выпивал?
>>1054323>есть необучаемые/слаообучаемыеЕсли чувак сам всё выучил, то наверное он обучаемый, если по логике...
>>1054394> сам всё выучил> прошел джавараш и может быть сделал hello world с бутомТак ведь по резюме и не скажешь - баззворды одинаковые у войтивайти.
>>1053938> киллер-фич JavaДа, и закиллила много софта своими тормозами когда не надо. Ты еще скажи, что в тогдашней Джаве GC был оптимизирован как будто он сейчас намного лучше
>>1053938В Delphi например без уборщика мусора это работало. Так что для этого JVM с GC городить не обязательно.
>>1054129Если не хочешь светить github, то можешь написать что не так с этим >>1052785 кодом, а мы посмотрим, можно ли тебя допускать к реальному проекту.
>>1053829Просто левый интерфейс или интерфейс одного из классов, в котором нужны эти переменные?>>1053706Вроде и да, но как-то не очень красиво выходит
>>1054393Нет, штук 8 - 10
>>1054266А за ночевку в серверной не вычитали?
>>1051882>выразительность языка может быть только минусом для неосилятора.Наконец, хотя этот предмет не из приятных, я должен упомянуть PL/1, язык программирования, документация которого обладает устрашающими размерами и сложностью. Использование PL/1 больше всего напоминает полет на самолете с 7000 кнопок, переключателей и рычагов в кабине. Я совершенно не представляю себе, как мы можем удерживать растущие программы в голове, когда из-за своей полнейшей вычурности язык программирования - наш основной инструмент, не так ли! - ускользает из-под контроля нашего интеллекта. И если мне понадобится описать влияние, которое PL/1 может оказывать на своих пользователей, ближайшее сравнение, которое приходит мне в голову, - это наркотик. Я помню лекцию в защиту PL/1, прочитанную на симпозиуме по языкам программирования высокого уровня человеком, который представился одним из его преданных пользователей. Но после похвал в адрес PL/1 в течение часа он умудрился попросить добавить к нему около пятидесяти новых "возможностей", не предполагая, что главный источник его проблем кроется в том, что в нем уже и так слишком уж много "возможностей". Выступающий продемонстрировал все неутешительные признаки пагубной привычки, сводящейся к тому, что он впал в состояние умственного застоя и может теперь только просить еще, еще, еще... Если FORTRAN называют детским расстройством, то PL/1, с его тенденциями роста подобно опасной опухоли, может оказаться смертельной болезнью.Эдсгер Дейкстра
>>1054560Можешь нахуй идти вместе со своим жидом
>>1054407Да я и так могу сказать что там порождение ненужных сущностей. Но чот не могу поку осилить решатель из Безопасной Весны (лень, да и JUnit пока захватил моё внимание).
Анончики, посоветуйте литературы по J2ME, если не жалко.
https://habrahabr.ru/post/307558/Когда я читал эту статью, я представлял автора как пикрелейтед.
>>1054416Тебе нужны общие:public static final String XYI = "хуй";public static final String TEN = "десять";?Если так то мути:public final class XyevieConstanti {//... Здесь список хуевых констант//Опционально, шоб каждый долбоеб понял что это класс с константами и не пытался создать инстансprivate XyevieConstanti() {}}В интерфейы не пихай, так как они по смыслу не для этого.https://stackoverflow.com/questions/10896111/sharing-constant-strings-in-java-across-many-classesА еще константы могут быть по смыслу разными, то етсь константы из конфига, константы нейминга из json/xml и более специфические.
>>1054648Некролог разве что почитай.
Народ, абстрактный класс обязательно должен переопределять методы, которые наследует у интерфейса?
>>1054695Нет.
>>1054728Даже, если у абстрактного класса нету дочернего?
>>1054790Ну ты сам проверь - сделай.
>>1054790Дальнейшая иерархия не имеет значения.
>>1054657А чем плох Enum?
>>1054878У него смысл другой. Причем тут Enum к разрозненным константам?
>>1054878enum для питухов
>>1053844> должны быть константами> ImageViewНи в коем случае не должны.
>>1052897Ещё раз спасибо, братишка. Сейчас вдумчиво посидел и родил более адекватное решение.Service:[CODE lang="Java"] @PreAuthorize("hasRole('ROLE_ADMIN') or (fullyAuthenticated and #message.ownerName.equals(authentication.name))") public void deleteMessage(@P("message") Message message) { messageDAO.delete(message); }[/CODE]Controller:[CODE lang="Java"] @RequestMapping(value = "/delMessage", method = RequestMethod.GET) public String delete(HttpServletRequest request) { String messageId = request.getParameter("id"); messageService.deleteMessage(messageService.findById(messageId)); return "redirect:/"; }[/CODE]
нужен совет. писал проект на джавке с nosql базой, сейчас встала задача перекатить работу на mysql. посоветуйте ORM , или же лучше использовать просто jdbc? всем спасибо, с меня как всегда
>>1055569ORM. JDBC — это код ради кода.
>>1055569Бери JPA, это стандарт. А ORM не нужны.
>>1054419Каждый час по пакетику+? Ну ты и чаехлеб.Но все равно они с тебя в 5 раз больше вычитали, чем это стоит.
>>1055710Я бы охуел от такого, лол. Странно, что за отопление зимой не вычитают, и на апгрейд железок не выбивают с сотрудников.
>>1054419Я бы послал их нахуй и начал приносить свой чай.
>>1055651> Бери JPA, это стандарт. А ORM не нужны.
>>1055734В термосе
2 года опыта в javaхочу изучить второй язык, разрываюсь между python и groovy, куда податься?третьим планирую clojure
>>1055883Питон, у груви особо задач нет - нахуйнуть по-быстрому скрипт какой-нибудь, запилить плагин для гредла и насрать в пайплайне в дженинсе. Хотя все это можно и на других языках сделать.
>>1055895да вот тоже к этому склоняюсь, хотя сперва понравился синтаксисам, плюшками по сравнению с джава. но чем больше узнаю про него, тем больше понимаю, что особо смысла в нём и нет, питон лучше во всём
>>1055902>синтаксисамсинтаксисом
>>1055883Учи то, что даст тебе преимущество при смене работы
Где можно посмотреть на бд реального проекта? Небольшой сайт/сервис неважно, главное чтоб бд не была совсем маленькой.Интересует структура бд
>>1056255Что тебе непонятно в структурах баз данных?
>>1056268Чутье подсказывает что бд моего тестового проекта плохо спроектирована.
>>1056270https://www.youtube.com/playlist?list=PLvndR40H6vCUSkb88kFdmlSzAzsnQIJBF
> someObjects.add(bufferedReader.readJsonObject(mapper))> inline fun <reified T : Serializable> BufferedReader.readJsonObject(mapper: ObjectMapper): T {> val json = this.lines().collect(Collectors.joining())> return mapper.readValue(json, T::class.java)> }Я аж охуел от такой годноты.
>>1056278> implicit val format = Json.format[Huita]> ...> val huita: Huita = Json.fromJson(json)
>>1056338Я тебя не понял, ты в 2017 кого-то хочешь удивить маппингом строки джейсона в объект? Я от других вещей охуел - совмещения нормальных расширяющих анус методов, без динамикодрисни, автозаполнения и тормозов как в груви, и годным воркэраундом проблемы, что в рантайме jvm дженериков нету, если тип дженерика известен из контекста.
>>1056345> Я тебя не понял, ты в 2017 кого-то хочешь удивить маппингом строки джейсона в объект?Предположу что твой код не генерирует 100% статический маппинг на этапе компиляции, и не может совмещать мапперы для любых типов через имплицит.> Я от других вещей охуел - совмещения нормальных расширяющих анус методов, без динамикодрисни, автозаполнения и тормозов как в груви, implicit class Mocha(govno: Govno) { def kudah = ??? def kukarek = ???}> и годным воркэраундом проблемы, что в рантайме jvm дженериков нету, если тип дженерика известен из контекста.def kudah[T: ClassTag]Всё это было в языке богов много лет назад.
Вот мне тут предлагают пойти на курсы в универе, веб-разработа на жабе. Как оно вообще работает-то? Как коннектится к фронтэнду и всякое такое? Полный 0 в вебе, интересно, что читать.Нет, с JS не перепутал.
>>1056417Сначала посмотри че такое сервлеты в java ee, потом смотри spring mvc.
>>1056417Либо пилить REST API бэкэнд, либо какой-нибудь из MVC фреймворков. Первое в принципе достаточно востребованная, но однообразная работа - принять запрос с фронта, как-то по-простенькому обработать или сделать несложную логику (сходить в базу данных и забрать/отдать). Если при этом не пишешь какой-то сложной бизнес-логики, то очень быстро сгораешь, развития никакого.Если второе, то скорее всего какой-то энтерпрайз не оч современный, работает по типу шаблон верстки + несколько конструкций для биндинга кода из явы (переменные, условия, простенькие циклы), фреймворк тебе на основе этого генерит готовую статичную страницу и отдает ее. Из браузера приходит новый запрос - шаблон перегенерируется (или берется новый) с новыми параметрами и опять отдается клиенту. 1990-style.
>>1056421>>1056419Долго это еще будет жить?мимо
>>1056423У меня на первом месте работы крутился в эмуляторе код, написанный на асме для ЕСок в семидесятых, авторы которого уже умерли. Отвечает за критическую часть завязанную на бабки. До сих пор еще работает.Подозреваю, что долго. Рынок вакансий будет постепенно уменьшаться, а зп чувака, который может это разгрести - расти.
>>1056364>100% статический маппинг на этапе компиляцииСсылку или пиздабол.
>>1056431Чёт проиграл с тебя.https://github.com/playframework/play-json/blob/master/play-json/shared/src/main/scala/JsMacroImpl.scalaЕсть даже компил-тайм SQL: http://getquill.io/Запросы прямо в консольку выводятся при компиляции.
>>1056364> Предположу что твой код не генерирует 100% статический маппинг на этапе компиляцииПредположение неверно. 100% статика.> implicit class Mocha(govno: Govno) {> def kudah = ???> def kukarek = ???> }Если бы я хотел сделать новый класс, чтобы неявно расширить существующий класс, то я бы просто сделал декоратор и не ебался с неявными новыми объектами, неявной иерархией рептилоидов и скалой вообще. Я уточка, я хочу сделать так:> fun Govno.kudah() = println("$this koodahchet")> fun Govno.kukarek() = println("$this kookarekaet")И это лучше. И еще я могу это вызвать в джаве без пердежа уровня new ScalaGovno(govno).obmazatsya()> def kudah[T: ClassTag]> Всё это было в языке богов много лет назад.Вот только твой язык богов компилируется столько, что смертные умрут к хуям, пока он скомпилируется.
>>1056423Уже умирает. А фриланс так и не рождался никогда.
>>1056444> > Предположу что твой код не генерирует 100% статический маппинг на этапе компиляции> Предположение неверно. 100% статика.Ну покажи как ты маппер создал. > > implicit class Mocha(govno: Govno) {> > def kudah = ???> > def kukarek = ???> > }> Если бы я хотел сделать новый класс, чтобы неявно расширить существующий класс, то я бы просто сделал декоратор и не ебался с неявными новыми объектами, неявной иерархией рептилоидов и скалой вообще.> Я уточка, я хочу сделать так:> > fun Govno.kudah() = println("$this koodahchet")> > fun Govno.kukarek() = println("$this kookarekaet")> И это лучше.Чем лучше? Как по мне, класс делает иерархию более логичной.> И еще я могу это вызвать в джаве без пердежа уровня new ScalaGovno(govno).obmazatsya()Зачем тебе вызывать такое из джявы в 2017? Ты решил разбавить тырпрайз легаси хипсторскими языками?> > def kudah[T: ClassTag]> > Всё это было в языке богов много лет назад.> Вот только твой язык богов компилируется столько, что смертные умрут к хуям, пока он скомпилируется.Купи себе компьютер, заместо дедушкиной коры дуба.
>>1056453> Ну покажи как ты маппер создал. Что тебе показать? Я уже все показал выше. Или ты про ObjectMapper? Так это жи джексон с дефолтными настройками.> Чем лучше? Я тебе сейчас от души распишу.1) В два раза меньше кода2) Нет какого-то мутного нового класса, еще и неявного. Мне нахуй не впился новый класс - мне нужна новая функция. Если бы я хотел новый класс, то сделал бы декоратор. Создание класса для существующего класса, если в существующем классе нужна новая функция - это оверхед.> Как по мне, класс делает иерархию более логичной.3) Какая нахуй иерархия? Зачем она вообще нужна? Мне не нужна иерархия, тем более неявная. Я просто хочу научить говно кукарекать и все. У тебя аргумент "любишь с горки кататься, люби и саночки возить", если можно просто с горки кататься.> Зачем тебе вызывать такое из джявы в 2017? Ты решил разбавить тырпрайз легаси хипсторскими языками?Как что-то. > Купи себе компьютер, заместо дедушкиной коры дуба.Это хороший аргумент, когда у тебя проект это хуйловорлд.
>>1056433Я было подумал, что это какие-то новые фишки Котлина, а это Скала. Нахуй не нужно.
>>1056457> > Ну покажи как ты маппер создал.> Что тебе показать? Я уже все показал выше. Или ты про ObjectMapper? Так это жи джексон с дефолтными настройками.Так ведь джексон использует рантайм рефлексию. А в скале это считается зашкваром.> > Чем лучше?> Я тебе сейчас от души распишу.> 1) В два раза меньше кодаТолько для простого примера.> 2) Нет какого-то мутного нового класса, еще и неявного. Мне нахуй не впился новый класс - мне нужна новая функция. Если бы я хотел новый класс, то сделал бы декоратор. Создание класса для существующего класса, если в существующем классе нужна новая функция - это оверхед.Класс это всего лишь абстракция. Если пометить его как AnyVal, то все методы станут статик функциями.> > Как по мне, класс делает иерархию более логичной.> 3) Какая нахуй иерархия? Зачем она вообще нужна? Мне не нужна иерархия, тем более неявная. Я просто хочу научить говно кукарекать и все. У тебя аргумент "любишь с горки кататься, люби и саночки возить", если можно просто с горки кататься.Не нужна, пока у тебя хеллоуворлд. В любом большом коде, все функции придётся как-то рассортировывать, а не мешать обработку жсон и костыли для ридера.> > Зачем тебе вызывать такое из джявы в 2017? Ты решил разбавить тырпрайз легаси хипсторскими языками?> Как что-то.Что-то будет для тех, кому потом достанется этот франкенштейн.> > Купи себе компьютер, заместо дедушкиной коры дуба.> Это хороший аргумент, когда у тебя проект это хуйловорлд.Инкрементальная компиляция как бы по умолчанию.
>>1056461Неосилятору неприятно.
>>1056468Высрись с треда, уёбище. Смыл говно (тебя) в унитаз.
>>1056423Ну у меня сейчас на работе spring mvc. Если кто-то думает, что спринг - это легаси-говно, то он отчасти прав, но он даже не представляет что такое настоящее легаси-говно, по сравнению с которым spring mvc - это очень даже нормально и современно.
ejb заебало, хочу в модненький и удобный спринг
>>1056467> Так ведь джексон использует рантайм рефлексию. А в скале это считается зашкваром.Нормальный джексон, не пизди. И если так хочется, то на его месте может быть любой другой (де)сериалайзер, умеющий маппить в передаваемый класс, например тот же DSL-JSON. > Только для простого примера.Только для простого примера в два раза меньше. Для более сложных просто меньше кода. Меньше кода и меньше сущностей. Не плоди сущностей, а то GC заебется.> Класс это всего лишь абстракция.Да нахуй он все равно нужен? Тем более с неявной иерархией. Я просто хочу научить говно кукарекать. И могу это сделать или прямо на месте, или в файле GovnoExtension. И никакого оверхеда.> Не нужна, пока у тебя хеллоуворлд. В любом большом коде, все функции придётся как-то рассортировывать, а не мешать обработку жсон и костыли для ридера.Капитан? Вот только следование SRP не обязывает делать то, что ты предлагаешь. На полном серьезе не всрались новые классы и новые экземпляры для каждого вызова расширенной функции, если я хочу добавить новую функцию. Функцию, не класс.Серьезно, с таким же успехом можно просто сделать обычный декоратор и все. > Что-то будет для тех, кому потом достанется этот франкенштейн.Если юзать скалу, то да.> Инкрементальная компиляция как бы по умолчанию.Обожаю этот кукарек. Инкрементальная сборка никак не избавляет от полной компиляции. Переключаешь веточки - изволь скомпилировать. Я уж не говорю, что в больших проектах, которые через джарники тянут зависимости других немаленьких проектов, инкрементальная сборка часто фейлится и в райнтаме ты получаешь веселые NoMethodFoundException caused by PoshelNahooyPeedourException, после чего еще более весело делаешь полную пересборку. Ни инкрементальная сборка, ни хотсвоп через jrebel не избавляют от принципиальной необходимости полной сборки проекта.Так что даже не пытайся в "тормозная компиляция - так это же почти хорошо, только выиграли и вообще сам мудак".
>>1056642Сап работающий анон, я джун с полугодовым опытом, команда пишет продукт уже 4 год, хотя и на спринге, но выглядит как легаси. Имеет ли смысл учить ee7 ? Давали таски по правке вебсервиса на ее6 - +- тоже гавно что и спринг
аноны, пойдскажите.у меня в каждй ентити есть поле id. это будет правильно если я ее замаппаб в отделтном классе и будет ли это работать?
>>1056767Подумой попробой.
>>1056722Да я сам чуть меньше года, не знаю. Мне кажется, стоит доки глянуть, просто чтобы быть в курсе, а чтобы прям учить смысла нет.А какой у вас спринг версии? Какие модули используете?
>>1056707> > Так ведь джексон использует рантайм рефлексию. А в скале это считается зашкваром.> Нормальный джексон, не пизди. И если так хочется, то на его месте может быть любой другой (де)сериалайзер, умеющий маппить в передаваемый класс, например тот же DSL-JSON.Всё равно, компилтайм макросы, scala-meta, shapeless только в скале.> > Только для простого примера.> Только для простого примера в два раза меньше. Для более сложных просто меньше кода. Меньше кода и меньше сущностей. Не плоди сущностей, а то GC заебется.AbstractSingletonProxyFactoryBean.metod1AbstractSingletonProxyFactoryBean.metod2AbstractSingletonProxyFactoryBean.metod3...AbstractSingletonProxyFactoryBean.metod999> > Класс это всего лишь абстракция.> Да нахуй он все равно нужен? Тем более с неявной иерархией. Я просто хочу научить говно кукарекать. И могу это сделать или прямо на месте, или в файле GovnoExtension. И никакого оверхеда.GC и JIT получше тебя знают, как оверхеды убирать. > > Не нужна, пока у тебя хеллоуворлд. В любом большом коде, все функции придётся как-то рассортировывать, а не мешать обработку жсон и костыли для ридера.> Капитан? Вот только следование SRP не обязывает делать то, что ты предлагаешь. На полном серьезе не всрались новые классы и новые экземпляры для каждого вызова расширенной функции, если я хочу добавить новую функцию. Функцию, не класс.Вызывается как функция, в байткоде функция. Что тебе не нравится?> Серьезно, с таким же успехом можно просто сделать обычный декоратор и все.> > Что-то будет для тех, кому потом достанется этот франкенштейн.> Если юзать скалу, то да.Ну правильно, индусов сложнее надрессировать на скалу.> > Инкрементальная компиляция как бы по умолчанию.> Обожаю этот кукарек. Инкрементальная сборка никак не избавляет от полной компиляции. Переключаешь веточки - изволь скомпилировать. Большая редкость. SBT кэширует небо и аллаха.> Я уж не говорю, что в больших проектах, которые через джарники тянут зависимости других немаленьких проектов, инкрементальная сборка часто фейлится и в райнтаме ты получаешь веселые NoMethodFoundException caused by PoshelNahooyPeedourException, после чего еще более весело делаешь полную пересборку.Если юзать котлин, то да.> Ни инкрементальная сборка, ни хотсвоп через jrebel не избавляют от принципиальной необходимости полной сборки проекта.Так ты не пересобирай после каждой строчки.> Так что даже не пытайся в "тормозная компиляция - так это же почти хорошо, только выиграли и вообще сам мудак".В Dotty пофиксили же.
>>1056524Знатно маньку порвало.
>>1056883https://github.com/MediaMath/scala-jsonDependenciesjackson for JVM JSON string parsing
>>1056890См. play-json, upickle, circe.
>>1050914 (OP)Анон, подскажи название фреймворка, я знаю такой есть, который помогает убрать в коде геттеры и сеттеры, но оставляющий их в логике чтобы потом к ним можно было обратиться из другого класса.
>>1056913а загуглить java getter setter generation не судьба?
>>1056913Lombok
>>1056917Точно! Он самый.
Сап зекач, джун 20 лвл, сижу на тырпрайзе(жаба) зарплата не ахти - 300 тугриков, стоит ли менять галеру ? Зарплата хоть и маленькая, но я въебую от силы часа 3 в день.
>>1056997Последний хуй без соли доедаешь?
>>1056997Для джуна в мухосранске - норм.
>>1056913кстати, как это работает вообще? откуда идея знает, что там должны быть сеттеры, разве они не в рантайме прихуярятся к классам?
>>1057129Сами не знаем, сие загадка есть таинственная, без известного ответа.мимо из житбрейнса
>>1057129У тебя в директории билда кроме собственно резултатат еще куча прмоежуточных и сгенерированных штук валяется, оттуда и знает. Увы идея генерирует их на каждый чих, но может эот как-то чинится.
>>1056917Он изменяет процесс сборки, добавляя отдельный этап. Что часто достовляет много проблем.Поэтому, я предпочитаю использовать вместо него AutoValue: там нормальный annotation processing вместо костылей, нормальная иммьютабилити.Ну или вообще Kotlin data classes берите, там всё это из коробки
>>1056883Мне лень спорить дальше, тем более нить беседы потеряна - я так и не получил ответа нахуй мне нужен класс, когда нужна функция. Тем более неявные говноиерархии. > Если юзать котлин, то да.В хуй свистни, джава.> Большая редкость. SBT кэширует небо и аллаха.Чет сомнения, что в больших проектах с большими и множественными зависимостями не будет таких проблем. > Так ты не пересобирай после каждой строчки.Орнул. ТОРМОЗИТ КОМПИЛЯЦИЯ?@ТАК ТЫ КОМПИЛИРУЙ ПОРЕЖЕ> В Dotty пофиксили же.Это хорошо, если пофиксили.
сап, джавачпомогите нубу, есть executorsservice, который выполняет потоки демоны. И иногда он выполняет io операции. Как бы так это сделать правильно, чтобы в случае завершения программы, поток работающий с файлами там чего-нибудь не сломал?
>>1057268Смотря что ты понимаешь под завершением программы. Если остановка JVM, то вешай shutdown hook на Runtime и там закрывай файлы. Это в дополнение к стандартному try-with-resources в самом потоке с файлами, которого будет достаточно, если под завершением понимается shutdown ExecutorService'а или cancel Future (очевидно, файлы закрывать в finally).
>>1057219> Мне лень спорить дальше, тем более нить беседы потеряна - я так и не получил ответа нахуй мне нужен класс, когда нужна функция. Тем более неявные говноиерархии.Всё с тобой ясно.> > Если юзать котлин, то да.> В хуй свистни, джава.Мавен нормально собирает. Или ты вручную джары подкладывал? И создавал классы через ссаную рефлексию и шпринг.хмл?> > Большая редкость. SBT кэширует небо и аллаха.> Чет сомнения, что в больших проектах с большими и множественными зависимостями не будет таких проблем.Не будет с нормальной архитектурой, и если не менять какой-то костыль используемый в каждом классе каждого модуля.> > Так ты не пересобирай после каждой строчки.> Орнул.> ТОРМОЗИТ КОМПИЛЯЦИЯ?> @> ТАК ТЫ КОМПИЛИРУЙ ПОРЕЖЕДавно заметил, что частая конпеляция на девелоперском пека - признак кривых ручек и отладки print-ами.
>>1057312>> Мне лень спорить дальше, тем более нить беседы потеряна - я так и не получил ответа нахуй мне нужен класс, когда нужна функция. Тем более неявные говноиерархии.>Всё с тобой ясно.Это с тобой, как-раз всё ясно. мимо
>>1057314> мимо вскукарекнул с параши
>>1057315ЧТД.
>>1057322> пук
Парни, подскажите почему этот код не работает? interface Vinn { void aaa(); }abstract class Vout implements Vinn { } class my extends Vout { void aaa(){ System.out.print("fef"); } }Но если сделать метод в интерфейсе и в реализующем классе публичными то все заработает. А нахуя их делать публичными, если по определению все методы в интерфейсе публичные?
>>1057415Нельзя ужесточать модификатор доступа, только наоборот (т.е. если в контракте метод public, то нельзя реализовывать его с любым другим более жёстким модификатором, например, protected; и наоборот, если в контракте protected или package-private, то можно экспозить его в том числе и с модификатором public).
>>1057415Т.е. конкретно в твоём примере метод aaa имеет модификатор public (т.к. объявлен в интерфейсе). А реализуешь ты его в классе my с модификатором package-private, что нарушает вышеописанный принцип.
>>1057429Спасибо
Что сделать для портфолио?
>>1056913Kotlin
>>1057447Имиджборду
>>1057452Такими темпами хеку-социофоба во мне распознают сразу, а не через месяц.
>>1056890spray-json жена тайпклассах основан
>>1057130Если ты препод Сергей Ирюпин - то я надеюсь, что тебе в Ростове разобьют ебало скоро за то, насколько хуево, отвратно и мерзко ты преподаешь, говно. Вечер за ебаным хэдферстом, хотя бы страниц 200, дает больше информации, чем твое месячное обучение, с содранными дз из этого же хэдферста. Если тут есть вкатывальщики - в жидбрейнс не ногой. Явараш, хекслет, степик, но не жидбрейнс.
>>1057774Обоснуйте ваши нападки. Я Сергея знаю, как замечательного специалиста уже 5 лет.
>>1057796Специалист - одно, преподавание - другое. Когда преподавание идет ровно полтора часа, материала дается писечка, льется настолько дохуя воды, что город потопить можно, когда из полутора часов уходит 40 мин на разбор дз и еще 15 на рекламу лингвалео, где он пиздато учит инглиш и не может произносить слова правильно, когда весь курс он пишет на нотпаде, вместо того, чтоб хоть какую-то ИДЕ показывать и давать лайфхаки, когда он ошибки в своем же коде допускает прям сразу, как написал и молча ебланит, на него смотря - это все настолько хуево, что не отпускало чувство в пустую проебаных денег. Материал преподается максимально томно и нудно, видно, что человек просто отбивает деньги. Насчет того, как надо вести курс - спизди с торрентов курс Долгова с вашего же гб, бывшей шп. Вот именно так они должны проводиться, с полной самоотдачей и менторством. 46 человек заплатило по 11к, а получили хуйню полную, это абсолютно отвратительно. Может сергей хороший человек, или специалист, но как препод он полнейшее говно, и со мной солидарны более 20 человек из группы, которые так же занимаются самообучением, а не тупо слушают курсик хуево проведенный и думают, что что-то учат, выполняя домашку из хэдферста и одной главы хорстманна.
>>1057774Зачем тебе курсы, болезный? Документацию открыл и вперёд с песней.
Как думаете курсы гикбрэинс норм? Хочу купить курс за 80000 после которого обещают что можно будет устроится в маил ру на 120к. Если заплатить за курс 200к то возможна устройство гугл. Что выбрать?
>>1057896заплати 10кк и устройся начальником МВД или депутатом - профита больше.
>>1057896Заложи квартиру и бери десять курсов, после этого сразу миллиардером возьмут.
Бля, ну какого хуя в GeoRadiusCommandArgs ( https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/connection/RedisGeoCommands.GeoRadiusCommandArgs.html ) есть метод limit(), но нету метода skip() для пропуска первых элементов. Как мне без него сделать pagination для функции geoRadiusByMember чтобы не брать с сервера все точки в некоторой окружности?https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/BoundGeoOperations.html#geoRadiusByMember-M-org.springframework.data.geo.Distance-org.springframework.data.redis.connection.RedisGeoCommands.GeoRadiusCommandArgs-
Нужно выбрать тему диплома. Ничего в голову не лезетязык - Javaжелательно что-нибудь связанное с back-end'ом + базы данных.
>>1058071О, я по идее эту хуйню могу через lua скрипт сделать, неплохо.
>>1058080> диплом> хочет написать crud-парашу на джавеА потом будут рассказывать, что высшее образование - это важно, оно многому учит.
>>1058071Там по-ходу у Редиса не такого https://github.com/antirez/redis/issues/3019Так шо Спринг не виноватый.
https://proglib.io/p/5-problems-for-software-engineer/Ну с первыми 3мя все просто. А вот с 4 и 5 я чет прихуел. Вбрасывайте свои решения что ли
>>1058123Тащемта круд-параша на порядок ближе к реальным задачам, чем программа вуза.
>>1058178Там просто нужно свой компаратор написать, который будет сравнивать числа по их цифрам, и затем скормить этот компаратор любому алгоритму сортировки.
>>1058194В 4*А насчет 5 - там можно просто захардкодить тот самый пример решения из статьи, потому что не сказано сгенерировать все комбинации, лол.
>>1058123нахуй выдумывать какую-нибудь выёбистую сложную хуйню на диплом, если можно запилить круд на отъебись и получить твёрдую 5 на защите?
>>1058178>Статья от разработчика с опытом более 20 летСмотрите, никому не всравшийся престарелый байтоеб из сократившегося говнонии выебывается.
>>1058208Во славу Сатаны, конечно
Насколько хорошо изучающему java нужно знать javaCore, что бы приступить к изучению javaEE/Spring?К примеру, должен ли он на зубок знать все методы класса Object/Как написать свой компаратор/что такое стирание типов/etc или достаточно понимание этого? типо если представить собеседование и меня вдруг спросят одно из этого, то я могу и не ответить, т.е знать все это я буду, но не вспомню. Это нормально? А то начитавшись статей dou про java перфикционизм говорит мне что нужно сначала изучить javaCore до уровня сениора, что бы приступать к изучению других вещей. Но так скорее всего можно учить хоть всю жизнь, не видя прогресса
>>1058471Работающие за доллары паны-хохлы правы. Да и учить там почти нечего-то.
>>1058475> Почти нечегоПечально, я думал, что это не так.Чего только список книг про многопоточность стоит, чёт слишком их много, учить есть что, как по мне.
>>1058482Одну прочитать и понять НЕ ЛЕЗЬ СУКА ДЕБИЛ ЕБАНЫЙ В РУЧНУЮ МНОГОПОТОЧНОСТЬ, ОНА ТЕБЯ СОЖРЕТ, что она не нужна, а когда нужна, то нужно подумать и сделать так, чтобы была не нужна.
>>1058485Ну утешил, спасибо. Вот такая херня еще есть - типо что-то изучал пару мес назад, а потом забыл, т.к не применял это больше - это нормально вообще или я даун-аутист?
>>1058490нормально, всегда так
Посоветовали юзать лямбды вместо обычных функций где это возможно. Мол они оптимизированы лучше. Но ведь это оверхед так?
>>1058860лямбды это сахарный синтаксис для анонимных классов
>>1058861Нет.>>1058860Странный какой-то совет, не совсемп понятно как это.
>>1058861> сахарный синтаксис для анонимных классовЕбать дебил.
>>1058931>Нет.Пидора ответ>>1058933Нет ты. Ты когда лямбды используешь вообще видешь к чему они присваиваются, дурачок? Охуеваю с этих даунов. Я, шарпобог и то больше знаю о жаве, чем дауны из жаватреда
>>1058937> Нет ты.> Я, шарпобог и то больше знаю о жаве, чем дауны из жаватредаВозомнивший о себе диванный петушок решил выебнуться и ожидаемо обосрался.Только одно слово для тебя, чтобы обрушить на тебя поток мочи, который ты прилежно проглотишь литр за литром.INVOKEDYNAMICсейчас будут визг и отмазки
>>1058937Пошел нахуй из треда уебок, может в шарпее это и так, хотя я сомневаюсь, но в джавке это специально блять переделывали что бы нормальному было, не лезь в чужую кухню если не шаришь мудило.
>>1058941>INVOKEDYNAMICлол. дурачок увидел незнакомое слово и от радости зассал весь тред.какая разница на каких ебучих костылях это в JVM сделано. суть в том, что с точки зрения синтаксиса это упрощенная запись анонимного класса, а не новая фича, и они могут быть 100% взаимозаменяемы.
>>1058937Это в Retrolambda лямбды компилируются в анонимные классы. В JDK 8 они нормальные
>>1058941https://softwareengineering.stackexchange.com/questions/195081/is-a-lambda-expression-something-more-than-an-anonymous-inner-class-with-a-singl
>>1058974Ты глупый.
>>1058975спасибо за твое аргументированное мнение, теперь пошел нахуй из треда
>>1058976Тебя уже трижды обоссали в треде. Сходи умойся.
>>1058977лол я другой анон и просто ссылку скинул, да пойду умоюсь а ты сосни сходи
>>1058979Ты другой анон и просто скинул ссылку, а тебя уже трижды обоссали. Вот это успех.
>>1050935Только если ты гворишь про формошелпство. Для бекенда и нет и жаба - говно. Есть божественный Го и сабжи больше не нужны.Петушня, конечно, покукарекает в духе "а у вас генериков нет", но прогресс это не остановит и топовые конторы продолжат переходить на Го.
>>1058981https://trends.google.com/trends/explore?q=%2Fm%2F07sbkfb,%2Fm%2F09gbxjr
>>1058981if err != nil
>>1058988Это логично, так и должно быть. Ошибка - тип возвращаемого значения из функции. А трай-кетч это уже ебанина, т.к. получается, что не факт, что функция вернет значение, она же теперь и экспшн может бросить, у которых, блеать, есть целая иерархия и которые нужно оборачивать в блоки, чтобы поймать. Да err != nill - элегантная простата, на фоне этой беатории.
>>1058860Вот вы тут срётесь, а я не понял. Лямбды это сахар для классов или они как-то круче оптимизированы?
>>1058999Оптимизации оставь джиту.
>>1058999Для юзеров jvm - сахар. Для разрабов jvm - больше чем сахар.
>>1058958>>1058974> ррряяя врети не считается я скозал сахар111Полакомился страданиями проглотившего мочу обосравшегося дурачка.
>>1058988проверка на null это антипаттерн
>>1059235Обоснуй.
>>1059243http://www.yegor256.com/2014/05/13/why-null-is-bad.html
>>1059244> http://www.yegor256.com/)))
>>1059253это всё, что ты можешь ответить, говнокодер?
>>1059244Ну и где там написано, что проверка на null -- это антипаттерн? Приведи цитату, перевод необязателен.
>>1059256NULL is a terrible practice in an object-oriented paradigm and should be avoided at all costs.
>>1059258Это всё понятно. Но как быть с 3rd-party библиотеками, возвращающими null в определённых случаях?
>>1059263Никак. Можно написать свои абстракции, конечно, но вряд ли этим кто-то будет заморачиваться (я бы не стал)
>>1059258>ЯСКОЛАЗпроиграл с этого поехавшего жабоеба.
>>1059244лол, егор еще жив? до сих пор не могу понять как этого имбицила приглашают на конференции
>>10593132/3 выступающихх - такие же дебилы или клоуны.
>>1059263Ссать на лицо авторам. В своем коде оборачивать в option
>>1059324Ну и хули, ты проверки на null отдал на откуп библиотеке, реализующей Optional, только и всего.Я не говорю, что так не надо делать, но везде хуярить опшенал, где можно обойтись тривиальной проверкой -- тоже перебор.
>>1059325Главное, блять, не забыть эту проверку делать, чтобы NPE не получить. Ведь в итоге всё сводится именно к этому.
>>1059325Естественно начать нужно с того, чтобы в собственном коде нигде не было нулей.
>>1059328null - это нормальное состояние ссылочного типа, значит переменная ни на что не указывает.вы еще начните с нулями бороться, поехавшие, а то вдруг будет деление на ноль!
>>1059337Двачаю. Тот, кто добавил ноль в объектно-ориентированные языки программирования, совершил ошибку на один миллион долларов.
>>1059324optional не сериализуется, иногда это проблема
>>1059337Null давно considered harmful
>>1052747Если ты находишься на строке, где скобки, нажимаешь вниз, Ctrl+shift+M, вправо.
>>1058490Use it or loose it
>>1059410Снова яваблядки соснули у скалабогов! Оправдывайтесь!
>>1059501Алсо сериализация явы не нужна, для белых людей есть Kryo
>>1059501Скалобоги уже давно сосут у Котлинобогов.
>>1059505Каким образом, если котлин не имеет и 1/3 фич скалы, причём отсутствуют самые ключевые? Не говоря уже про утонувшую инфраструктуру.
>>1059506Количество фич вообще ни на что не влияет, посмотри на кресты.> Не говоря уже про утонувшую инфраструктуру.Што?
>>1059510> Количество фич вообще ни на что не влияет, посмотри на кресты.Там не фичи, там нахуй не нужные костыли.> > Не говоря уже про утонувшую инфраструктуру.> Што?У скалы есть свой огромный стек, Akka, Play, Spark, Scala.js и т.п., а также сотни уникальных библиотек, которые из явы даже не вызовешь.А котлин позиционируется как облегчённая джява, поэтому кроме явовских костылей ничего не завезли.
>>1059505Вангую котлин будет таким же оплотом нубов, как сейчас пхп/js, для не осиливших ни фп, ни джаву
>>1059531Лалка, это вообще-то Скала - для не осиливших Хаскелль.
>>1059547scala для тех, кто хочет haskell и при этом получать деньги
я вот чёто смотрел на скалу, какая-то она джаваподобная всё равно. если хочется тру фп на jvm, то тогда лучше clojure навернуть
хотя на clojure одна вакансия на всю россию ёпта
>>1059560> тру фп> без типов
>>1059564Двачую.
>>1059564а почему по-твоему в фп должны быть типы?
>>1059584Не знаю как можно игнорировать топ фичу функциональных языков.
Я тут подумал -- зачем ждать value types (для маленьких объектов <= 8 байт), когда уже сейчас можно прятать данные во всяких лонгах? Тот же Point {final int x, y} как раз займёт один лонг.Если ещё сделать какое-нибудь расширение языка, которое позволит работать с таким лонгом как с объектом типа Point.Есть ли такие проекты уже и вообще, какие подводные камни в такой идее?
>>1059975Это байтоебство, причем не удобное, в ведре есть measureSpec, для вьюхи, в одном инте с помошью итовых масок спрятаны два значения, только одно для сосбвтенно высоты/ширины. А работать очень просто - статический метод или прямая ебля с битовой маской.
>>1058965по-моему это и есть анонимные классы...
>>1060030лямбды не плодят классы
Читаю спеки jvm, пишут что при nan результат сравнений типа if_icmpel и т.д вседа false т.е в яве сейчас нету пеки чтобы проверитьFloat num = Float.NANif(num => 0){ 1 } else { -1} выдаст -1, аif(num < 0) { -1 } else { 1} вернет 1Не кажеться ли вам, господа яваебы, это нелогичным, несмотря на то, что это неЧисло?
>>1058937почитай про invokedynamic, шарподаун
>>1060220Затупил малость. При сравнениях с флоатами153 (0x99) ifeq154 (0x9a) ifne155 (0x9b) iflt156 (0x9c) ifge157 (0x9d) ifgt158 (0x9e) ifleИ в ифах не 0, а 0.0
>>1060220Defined behavior > undefined behavior.
>>1052207Просто фазы сборки. деплой, например, позволяет залить продукт сразу в нексус,скажем, если у тебя конечно он настроен. инсталл соберет таргет,сунет в него жар фай, и закинет его еще и в репозиторий, считай что пекедж с бонусом
>>1052207> 2017> mavenПиздец, где вас держат?
>>1060429выйди в окно со своими понтами, а
Давайте за Скалу поговорим.Что вы все какие скучные.>>1060052Может неправильно тебя понял, но по-моему реализация осталась старой, просто тебе кажется что классов нет....
>>1060356Результат зависит от привычки программиста. Если он привык использовать отрицательные условия, то получит один результат, если положительные - другой. Ну ок, Defined behavior, но не лучше ли было бы кидать эксепшн, чем делать хуйню, которая по сути нарушает семантику ifelse при работе с флоатами?
>>1058485Вы только посмотрите на него.Не нужно)) как там двачуется из под 1.4?
Как в ассемблере возвести слово в куб? Сдвиг какую-то хуиту выдает по дебаггеру, хотя вроде должен работать как степень.
>>1060483Бля, треджом промазал, сорян, высокоуровневые.
>>1060483>хотя вроде должен работать как степеньКак умножение на степень двойки, но не слова.
>>1060491Я уже разобрался, спасибо, сорян что трід засрал.
>>1060471https://youtu точка be/1OpAgZvYXLQ?t=12m
>>1060509Пошел нахуй со своим индусом. У них не только в коде 90% воды, но и в речи. 5 минут охуительных словестных придатков, которые можно сократить в одно, сука блять, предложение.
>>1060543Я с удовольствием просмотрел полное видео, не зная джавы вообще.
Джава всёhttps://m.habrahabr.ru/post/337682/
>>1060579>Массовые увольнения затронули около 2500 сотрудников, работающих над операционной системой Solaris, платформой SPARC и системами хранения данных ZFS Storage Appliance.Уноси свою хабрапарашу.
>>1060616так над java и так никто не работал
>>1059349>один миллион долларовГодовая зарплата 3-х макак в сисечной долине.
>>1060616Хуита какая-то беззадачная. Лучше бы эти две тысячи рыл джаву пилили, а не своё говно. Так что невелика потеря.
>>1060661за java деньги не дают, поэтому ее давно уже никто не пилит и не собираются.бросили вам за 10 лет как собакам кость java 8, в которой кроме сахарных лямбд ничего нету, а вы и рады
>>1060662Си вот уже лет 50 не развивается, но оно на коне. Упаси боже от впихивания в джаву как можно больше синтаксического сахара, как это произошло с плюсами и шарпом
>>1060686а зачем си развиваться? это низкоуровневый язык конпелируемый в ассемблер. в него в принципе нечего добавить.ты java с си? сравниваешь? ну в принципе по функциональности java от си действительно недалеко ушла
>>1060662Обоссаный шарпопетух незаметен. Гоните его, глумитесь над ним.
>>1060691Что ты понимаешь под развитием языка? Добавление фич?
>>1060702Ну да. Например, добавление async/await в C# произвело революцию в мире конкурентного программирования.
>>1060706>произвело революцию в мире конкурентного программирования.Попробуй тоньше.
>>1060740Ну в java-то до сих пор никакой революции нет. Все так-же с тредами ебетесь
>>1060706За это часто и не любят фичи, за то, что на каждый конкретный случай отдельная фича и язык превращается в свалку как C#, C++.Вместо async await нужны например как в scala for comprehensions, которые являются обобщением — тут тебе и async/await, и проходы по спискам, и обработка ошибок.
>>1060741Про Rx не слышал?
>>1060751Rx был задизайнен для C#
>>1060741В шарпе тоже никаких революций никогда не было, накопипастили фич из других языков, а за основу вообще взята ява. Но промыткам преподносят это как СУПИР ЮНИК ФИЧИ, РЕВОЛЮШН ИН ПЛ ДЕЗИГН.
>>1060755ДЕВЕЛОПЕРС ДЕВЕЛОПЕРС ДЕВЕЛОПЕРС ДЕВЕЛОПЕРС
Eсть два класса Т и Т2. Т2 унаследован от Т. у меня есть две коллекции - ArrayList<T> и ArrayList<T2>. в обе я записываю одни и те же объекты типа Т2. потом вызываю ArrayList<T>.get(i).someMethod(), но у объекта ArrayList<T2>.get(i) этот метод не вызывается. правильно ли я понимаю, что я на самом деле сделал дубли своих объектов, а не скопировал ссылки? если да, как можно сделать так, чтобы обе коллекции содержали "одни и те же" объекты, и вызов метода у объекта из одной коллекции имел бы тот же эффект, что и вызов у "того же" объекта из другой?то есть если бы я писал на с++, я бы в массивы пихал указатели и горя бы не знал, а тут как?
>>1060900Какой-то хуйни нагородил. Скинь код в pastebin лучше.
>>1060706так по сути ведь async/await это инкапсуляция многопоточности, чтоб вручную не усыплять/будить треды? Для этого есть CompletableFuture. В спринге 5 появится вкусные реактивный фреймворк. Точно такая же инкапсуляция по сути
>>1060991>CompletableFutureМда, кто там у них придумывает названия?Вот в C# класс Task. Коротко и ясно. Что это за ЗавершаемоеБудущее нахуй?async это синтаксис, который позволяет писать асинхронный код синхронно. Библиотеки это вообще не то
Народ, вопрос новичка на тему наследования. Могу ли я в наследуемом классе избавиться от метода класса родителя? Я так понял если я определю в родительском классе метод финальным он все равно передастся наследнику. Как оборвать такую наследственную линию?
>>1061097Можно просто использовать приватный метод.
>>1061097Все собаки умеют лаять. Если собака лаять не умеет, то это не собака, а какая-то хуйня непонятная.Ты хочешь сделать собаку, которая не умеет лаять и обращаться к получившемуся существу как к собаке, хотя она нихуя не собака.Но если тебе так припечет, то ты можешь сделать реализацию беззвучного лая.
>>1061097Определяешь абстрактную полусобаку и наследуешь от нее.
>>1061138И как это поможет тебе сделать собаку, которая не умеет лаять?
>>1060900Бля, напиши такList<? extends T> hui = new ArrayList<>();
>>1061097Никак. Потому что скастив ссылку к типу родителя, я всё равно вызову метод. Разве что в наследнике исключение кидать.>>1061130Вынести функционал лая в стратегию.
>>1060900В джаве всё что не примитив, то - ссылка. Дальше сам разбирайся в своей писанине.
>>1061097class Dog {public void bark() {System.out.println("doggo is borking");}}// лучше так не делать, потому что это не то поведение, которое люди ожидают при наследованииclass NotReallyADog extends Dog {@Overridepublic void bark() {throw new UnsupportedOperationException();}}
>>1061257Пример из жизни: в интерфейсе Collection есть методы, которые изменяют коллекцию: add, remove и т. д., при этом есть иммутабельные коллекции, которые имплементят этот интерфейс. Например, Collections.emptySet возвращает иммутабельный сет, поэтому если ты сделаешь Collections.emptySet().add("qwe"), то вылетит UnsupportedOperationException.Такое поведение - результат ошибки проектирования стандартной библиотеки джавы. По-хорошему должен быть интерфейс ImmutableCollection, от него должен наследоваться интерфейс MutableCollection со всякими методами типа add и remove и Collections.emptySet должен возвращать ImmutableCollection (примерно так, но сложнее сделано в скале).
>>1061259>По-хорошему должен быть интерфейс ImmutableCollection, от него должен наследоваться интерфейс MutableCollection со всякими методами типа add и remove и Collections.emptySet должен возвращать ImmutableCollectionВ котлине так и сделали. ну и скала, да
>>1061259Такое поведение — результат отсутствия приватного наследования, т.е. проёб при проектировании самого языка. Так бы просто взять, приватно унаследовать и переопределить нужные методы, а ненужные клиент не видит — и хуй бы с ними. А так имеем то, что называется «сломаная абстракция».
>>1061257Твоя непсина все равно псина, умеющая лаять. Просто она при лае взрывается и убивает осколками вызвавшего ее лай.
>>1061259Нету никакой ошибки. Лучше так, чем ебля с кучей интерфейсов ради интерфейсов, 90% которых все равно никогда никому не нужны.нужно сделать только свойства canRead, canWrite и т.д.>>1061325>приватного наследованиякакое еще приватное наследие? Ты имел ввиду приватную реализацию интерфейсов как в C#?
Господа уровня предприятия, поясните по-хардкору за embedded http server VS servlet. Что и когда пользовать? Зачем нужно первое, если второе настолько нативное?
Там оракл отдал JavaEE в eclipse foundation.https://blogs.oracle.com/theaquarium/opening-up-ee-updateИ хули теперь?
>>1061628Будет такое же говно, как и сам Eclipse.
>>1061645> говно, как и сам EclipseЧаю. Вот делают джетбрейнс годноту - почему остальные не могут?
>>1061332Не понял вопроса. Embedded tomcat это embedded http server или servlet?
>>1061628C# ПОБЕДИЛ. JAVA ВСЁ.
>>1061651>джетбрейнс>годноту
>>1061628>>1061645На сам деле, EE и так говно. Но теперь у сообщества будет больше возможностей на него повлиять. Если раньше разработка велась только ораклом, то теперь любой сможет предлагать свои изменения.Так что, это хорошее изменение.
3 reasons to love Java: (false, false, false)
В общем эта, буду джва семестра учить эту вашу джаву, базы и структуры данных тоже должны завезти. За сим вопрос - какой профит можно извлечь из этих знаний? Сам поадминиваю мелкошарагу, есть ли маза перекатиться в крутые и нужные специалисты, если основательно налечь на изучение языка?
>>1061690Походу это вообще никак не сочетаемые скиллы, кек
>>1061653За кота не скажу, но жеття имбедится и даже очень советует делать это. Jetty has a slogan, "Don’t deploy your application in Jetty, deploy Jetty in your application!"
>>1061690> крутые и нужные специалисты> Сам поадминиваю Уже не получится.
В треде опытный специалист на всех языках кроме джавы, стоит ли читать Core Java от Хортсмана или же просто взять Core Java for the Impatient от него же? Не пропущу много важной инфы, которой заебут на собеседовании?
>>1062134Хорсман - тема, только читай в оригинале. Затем сверху Эккеля.
Новый ньюфаг в этом итт треде вопрошает, с помощью каких книг можно вкатиться в яву? И что-то я не понял, писать в текстовом файле и компилировать дрочить консольку это так и задумано? В С такой хуйни небыло.
>>1062228Посмотрел в шапку и нашел книги, какой же я тупой.
видели да java ee отдали в eclipse foundation
>>1062509Уже обсудили: >>1061628
Посоны, а цикл while..while вообще легален? Пытаюсь найти инфу по нему - а нигде ничего нет.
>>1062599Да, если это два цикла идущих подряд. Пустую строку добавь.
>>1062610А вот такое: https://ideone.com/ggoUhO ?
>>1062611Сомнительная практика использовать счетчик цикла как-то кроме инкремента, декремента и right value в выражениях. Один инкремент на цикл - не обязательно на единицу. Для разных циклов - разные счетчики.
>>1062611оба while срабатывают независимо друг от друга и по разу постинкрементят, поэтому и 12
Я наверно с часто задаваемым вопросом, но именно в этом треде ответа не него не нашел.Что изучать после javaCore, для того, что бы написать свое веб-приложение, ну типо сайт-портфолио или свою борду?
>>1062630и в каком порядке, если можно..
>>1062630jdbc, hibernate, springесли html генерируется на сервере - то какой-нибудь thymeleafесли на клиенте - то ещё angular
Эххх уже совсем скоро завезут модульность, а я так и не вкурил, нахуя она нужна. Так лень
>>1062971У тебя есть модульный монолит. Хуячишь на модули.
>>1062611Говнокод за который пиздить надо.
В шапке есть ссылка на книгу - An introduction to object-oriented programming by Timothy Budd.Она есть в свободном доступе или только покупать?
>>1063098В оригинале нет, есть русский перевод - "Объектно-ориентированное программирование в действии"
Если вдруг встретите книгу "Java 9 Modularity: Patterns and Practices for Developing Maintainable Applications", то скиньте в тред. Её сам глава Jigsaw рекомендует, но книга только вышла, поэтому хуй найдёшь пока.
>>1063110>Java 9 ModularityЕсть на gen.lib.rus.ec
>>1063111там только демо версия на 70 страниц, которая и так в свободном доступе
>>1063172Купи, ёпта, тыжпрограмист 300к/cек.
>>1063190не, я жадная пидораха
Здаров, джависты. Прочитал head first, половину 1 тома java core, прошёл основы программирования на степике и 1 часть по вэб-сервисам. Щас хз что делать, родители говорят получать сертификат начальный от oracle, но я думаю это всё херня. Мне хотелось бы какой-нибудь практике. Аноны подскажите что мне делать?
>>1063434Устраиваться на работу?
>>1063434Во-первых нах по половинкам читаешь, дочитай java core хотя бы. Во-вторых - замути приложение, любое говно в пару-тройку тысяч строк. Дальше чуть подтяни базовые вопросы по алгоритмам и паттернам и можешь идти на джуна.Алсо почитай исходные коды любых известных джава библиотек, попробуй понять, что происходит и охуей от того, как можно.
>>1063524Мессенджер подойдёт?
Сап джавуны, есть вопрос насчет стримов. Вот есть такой код: List<Man> ls = Arrays.asList(new Man("maks"), new Man("maks"), new Man("charli"));ls.stream().collect(Collectors.groupingBy(x -> x));Результат:{charli=[charli], maks=[maks], maks=[maks]}У класса Man только одно поле "name". Переопределил метод equal у класса man, чтоб сравнивал по этому полю. Проблема в том, что gropingby сравнивает просто по '==', а не через equals. Как сделать чтоб через equals работал? Или это свой кастомный groupingBy писать? Вариант с x -> x.name нахуй не нужен.
>>1063832> Вариант с x -> x.name нахуй не нужен.Это ты нахуй не нужен, мартыхан.
>>1063832Вообще непонятны твои проблемы.
>>1063856Бля, забыл что литералы дедуплицируются, если оберунть их в new String("Jone"), ничего не поменяется.
>>1063832>Вариант с x -> x.name нахуй не нуженпроиграл
>>1063832>Переопределил метод equalhashcode переопредели, наркоман
>>1063856> data class Man(val name: String)> listOf(Man("You"), Man("are"), Man("khooy")).groupBy { it.name }Еще длиннее мог?
super.clone() - магия?
>>1064060При чем тут твоя жэетбрейнсопараша?
В java generic реализованы через жепу! Все конвертится в object а потом компилятор раставляет приведение типов... В шарпе сделано нормально(логично, по человечески). Вот спрашивается нахуя такое говно вобще надо было тащить в язык? и почему нельзя было сделать вывод типов как в шарпе? Че так действительно стало лучше ArrayList<Person> pl = new ArrayList<>()
>>1064193Шарп просто копировали с джавы и учли ошибки в её проектировании.
>>1064193Сисярп это пиратская джава и там сразу некоторые вещи могли сделать нормально и при этом не иметь в виде необходимости поддержки обратной совместимости тонны легаси.
Сосоны, нужно сделать программу, чтобы парсить данные с одного сайта на мой сайт в режиме реального времени. Есть гайды, как это сделать?
>>1064287С помощью дискретных монад проще всего.
>>1064287Интересует создание самого сервера, который будет по КД, допустим раз в 15 минут запускать парсер, обрабатывать данные и прочее, и как это совместить с парсером.
>>1064293Используй параметрический полиморфизм.
>>1064292>>1064307Нассал тебе на еблет.
>>1064308Неосилятор ожидаемо порвался.Ну ничего, должен ведь кто-то вагоны разгружать.
>>1064287Подрочи.Если ты понимаешь то чем я
>>1064243кстати а как мешал легаси код нормальным дженерикам? легаси ведь без них был, приводилось бы по-старинке к Object да и всё. зачем стирание?
>>1064321Обобщённые типы данных (дженерики) отличаются от параметрически полиморфных систем тем, что используют ограниченную квантификацию, и потому не могут иметь ранг выше 1-го.
>>1064157> Еще длиннее мог?
>>1064321Совместимость на уровне байткода и прочая хуита. Но можешь погуглить - недавно читал статью на эту тему.
>>1064352Сам погуглил.https://gafter.blogspot.ru/2006/11/reified-generics-for-java.htmlhttps://gafter.blogspot.ru/2004/09/puzzling-through-erasure-answer.htmlНо вообще есть скала и котлин, которые делают workaround этой проблемы и облегчают боль.
Здарова, аноны. Прочитал 2 книжки у вас из шапки, проходил курсы в инете по джаве. Подскажите какой проект начинать? Что можно начать писать, чтобы понять как всё происходит? Какое приложение написать?
>>1064326Хуя
>>1064423Имиджборду.
>>1064427Ебать, а нахуй сходить с платным сервером не хошь?
>>1058178https://pastebin.com/jGVAhT4Nрешение на 4-е, как можно улучшить?p.s. только вкатываюсь в алгоритмы.
>>1064446Использовать map reduce
>>1064447а поподробнее?
>>1064441Ты дурак?
>>1064446зачем в стек переводить?ты просто идешь по нему сверху вниз и сравниваешь что в первом что во второмтакже можно тупо по стрингам идти
>>1051882>enum - в жаве enum это просто синтаксический сахар для обычных классовЗемля тебе пухом.
>>1064711ну он прав если чё. это просто public statis final экземпляры по сути
вы чё охуели джава 9 вышла а на всех сайтах молчок. даже тут.
>>1064738Все давно перешли на Котлин просто.
JUnit 5 вышел. Вот это реально тема.
>>1064293Тебе объяснить как таймер поставить? Или как библиотеку для парсинга джейсона скачать?
>>1064795Да, объясни пожалуйста. Или небольшой пример напиши, что можешь.
>>1064738Она вроде должна была еще год назад выйти
Glassfish 5 вышел. Почему об этом такой молчок, даже тут.
>>1064797Объяснил за щёку. Это простейшие, базовые вещи, которые находятся в интернете за пять секунд.
>>1064747Поглядел коротко пару недель назад. Функционал убрали в аннотации. Киллер-фич при поверхностном взгляде не заметил. Так, meh.>>1064797Ты че охуел.>>1064816> Java EE 8А вот это уже неблохо. Хоть юнион в JPA-то добавили наконец? Только откуда они его так быстро высрали? Буквально же неделю назад отдали в попенсорс, типа нам корова не мила, сделайте с ней что-нибудь. Пожалуйста.
Джависты, поясните за задачку из Core Java:In the RandomNumbers class, provide two static methods randomElement that get a random element from an array or array list of integers. (Return zero if the array or array list is empty.) Why couldn’t you make these methods into instance methods of int[] or ArrayList<Integer>?Я про вопрос в конце - какой он хочет ответ? Что в Java нет extension-методов, как в шарпах, или я пропустил какую-то мелочь языка?
Не могу понять одного, когда создают ссылочную переменную, к примеру:Random random = new Random()Зачем дублируется название класса?
>>1065560ТипПеременной имяПеременной = new Конструктор
>>1065560val random = Random() Ничего не дублируется.
>>1065547Подумой.>>1065560Это ты еще до объявления дженериков не добрался.>>1065600Это в языках богов.
ibm свою jvm то ли отдали eclipse, то ли опенсорснулидумаю, эта информация будет вам полезна. по крайней мере в ближайший час
>>1065785Ваще похуй.Там зато Kotlin 1.1.50 вышел.
>>1065560Потому что у теба может быть Xyinia xyinia = new RealnayaXyinia();
>>1065832Хуйня какая-то.
https://twitter.com/turbojedi/status/910898309283360768
>>1065560На месте первого рэндома может стоять более общая структура, чем просто тип того же класса, объект которого ты создаешь. Там может быть и суперкласс, и интерфейс.
Мужыки, помогите понять!Начал учить джаву(такая вот у меня мечта появилась с момента прохождения курсов четырехлетней давности по яве, на которых я вообще ничему не научился и ничего не понял), и не понимаю одной вещи: зачем таки нужны интерфейсы, если в классе, имплементирующем этот интерфейс, все равно придется переопределить этот интерфейс?
>>1066141этот метод*быстрофикс
>>1066141Ты не будешь его переопределять, т.к. в интерфейсе нет реализации. Ты будешь его реализовывать.Интерфейсы - это колдунство, нужное в глубоком энтерпрайзе с развитой системой классов. Интерфейс - это грубо говоря контракт, обязательство. Тимлид сделал, чтобы этот класс реализовывал конкретный интерфейс. И теперь, когда джун-еблан унаследует от того класса и захочет наворотить в нем какой-то свой блэкджек, то он соснет, т.к. по крайней мере названия методов, типы принимаемых и возвращаемых значений, которые он обязан создать - уже заданы интерфейсом.
>>1066141Ну и еще как вариант.Можно создать объект типаList<String> listHuevТолько фишка в том, что такого класса Лист - не существует. Это интерфейс. Но этот интерфейс реализуют ArrayList и LinkedList. Т.е., если создать так, то можно будет по ходу программы засунуть в listHuev как ЭррейЛист, так и ЛинкдЛист.
>>1066147>>1066150спасибо, стало понятнее.
Можно ли ловить RuntimeException? Неоднократно слышал, что ловить RuntimeException — это плохая практика, но что если мне действительно надо? Например, мне приходит http-запрос, котором есть параметр, скажем, itemID, который мне нужно преобразовать в int. Я делаю это через Integer.parseInt(), но ведь пользователь может вписать туда что угодно. Можно проверять с помощью регулярки и не пропускать строки, в которых содержатся не только цифры, но и это тоже может не помочь, так как можно ввести огромное число, которое выйдет за пределы int. Ловля NumberFormatException решает все проблемы, но это типа считается зашкваром. Что делать?
аноны, помогите!разбираюсь с тестированием.Есть тестовый метод https://pastebin.com/y9rVjAjV в нем я пытаюсь протестировать поведение контроллера и сервиса. Но почему то ловлю java.lang.NullPointerException на 22 строке Assert.assertEquals(Integer.valueOf(3), client.getId());через брэйкпоинты посмотрел, что у меня не выполняется метод в анонимном классе (строчка 11). что в нем не так, делаю по книжке, все тоже самое что и в ней
>>1066214Рантаймы ловить еще больший зашквар.>>1066222>Integer.valueOf(3)Эт што за хуйня? Может "3"? Хули ты интежер в интежер хочешь переделать?
>>1066231Так что делать? Ловить NumberFormatException или есть какие-то обходные пути?
>>1066214Каким, блять, зашкваром? Если тебе надо обработать исключительную ситуацию -- ловишь эксепшн и делаешь дела. Исходя из ситуации, можешь пробросить исключение повторно, опционально обернув в другой эксепшн (например, который ты прописал в доке к методу. Чтобы пользователь ожидал только ShitHappenedException, а не зоопарк из всяких NullPointerException, IllegalStateException, VasyanException, RuntimeException...).
>>1066231>Эт што за хуйня? Может "3"? Хули ты интежер в интежер хочешь переделать? Boxing. Не тот, что в ринге.
>>1066240Конечно NubmerFromatException это правильно.
Почему у меня на маке не запускается Eclipse IDE?
>>1066253>>1066256Спасибо.
>>1066231>>Эт што за хуйня? Может "3"? Хули ты интежер в интежер хочешь переделать?без этой хуйни будет ошибка при компиляции "Error:(74, 15) java: reference to assertEquals is ambiguous both method assertEquals(java.lang.Object,java.lang.Object) in org.junit.Assert and method assertEquals(long,long) in org.junit.Assert match"да и в книжке такой пример
>>1066276new Integer(3)
>>1066280.valueOf лудшы.
>>1066284ну лан)
>>1066280да можно и так, но тест, все равно не будет работать.
>>1066259Короче с девятой жавой не работает, нужно на 8 откатываться.
>>1066304> 2017> Eclipse > удивляется, что что-то не работает
>>1066307Всё ещё лучше платного жетбрейнса.
>>1066309Ты какой-то хуевый программист, если не можешь себе нормальную IDE позволить.А если только вкатывальщик, то разницы с бесплатной версией и не увидишь.
>>1066309Ты говоришь это жлобам со взломанной Идеей, которые при этом не забывают хуесосить прогнившую вороватую Рашку.
>>1066319Не проецируй свои фантазии на других анонов.
>>1066309Нет, хуже. Намного.
>>1066222Часом дело не в том, что ты объект newClient объявляешь final, а потом что-то там добавляешь? У тебя тупо нью айди у него будет нулл как мне кажется.
>>1066500>Часом дело не в том, что ты объект newClient объявляешь final, а потом что-то там добавляешь?final для ссылки не так работает. Он всего лишь не даёт переназначить ссылку. Менять свойства объекта можешь сколько угодно.
>>1066222Что за ClientRestController? Он точно вызывает clientService в saveClient?
>>1066222Нулл поинтер в твоей 22 означает только одно - client.getId() не вернул нихуя.
Запилите уже перекат, заебали.
>>1066517Сам пили.
>>1066510вот сам контроллерhttps://pastebin.com/Hnh20H7W
>>1066517Не надо.
>>1066550Ну тык у тебя там в контроллере return clientService.save(new Client(client.getFirstName(), client.getLastName()));, а в качестве clientService ты подсовываешь мок, где мокнут save только для определённого экземпляра Client -- newClient. Поэтому мок для метода и не отрабатывает, т.к. он ожидает, что ему придёт экземпляр Client'а по ссылке на newClient, а в контроллере ты суёшь вместо этого ему new Client(...).Сделай ockito.when(clientService.save(any())).thenAnswer ... и в Answer с помощью InvocationOnMock сделай добавление в список и возврат того, что тебе передали в мок-метод.Только этого будет не достаточно, т.к. ты в контроллере при передаче клиента сервису теряешь информацию об id (вызываешь конструктор, где только имя и фамилия). Соответственно, id клиента, которого вернёт мокнутый метод, будет null.
>>1066656спасибо, заработало, и id никуда не пропал.
>>1066676Заработало, конечно, но т.к. ты не менял поведение мока, то в итоге тестируешь какую-то хуйню.Подумой: ты даёшь в мок любого клиента, а потом в лист записываешь конкретный экземпляр и возвращаешь этот же экземпляр. Т.е. даже если ты вызовешь service.save(new Client("Vasya", "Pupkin")), то в лист запишется объект newClient={3, "Dmitriy", "Zub"} и вернётся он же. Это баг или фича?
>>1066682ну да что хуйню какую-то я сделал. просто если я правильно понял, для того что бы протетстировать метод контроллера и сервиса по сохранению, мне надо создать клиента, передать его в мок, аписать в лист и проверить как он записался.как мне тогда это протестить
Открыл код клиента телеграмма https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.javaСкажите так всегда пишут на Java?
>>1066696Это говнокод.
>>1066696Это ведро + пиздецовский говнокод телеги, туда если смотреть, то только как жонглировать анусами.
>>1066696> Скажите так всегда пишут на Java?Обычно так пишут на котлин.
>>1066696проиграл сильно с этой хуйниебать и этим поделием пользуются миллионы
>>1066317может он адепт свободного ПО
>>1066896Но работает же.
>>1066696чё-т там весь код такой, всё на статиках. писали сишники походу
Встретил одного долбоеба, он утверждал, что java не синоним web. Ещё сказал, что xml никто не пользуется и за mongodb будущее.
хелп!синхронизированные методы в потоках, по сути, выполняются будто мы пишем без потоков, т.е. обычным способом(последовательно выполняются в общем)? Просто немного не догоняю
Все тот же клиент телеграмм и тот же файл https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java#L544автор создает ArrayList, ложит туда единственный объект и передает в функциию. Все, больше этот ArrayList не используется. Нахер создавать аррайлист(выделение памяти)? Да как так то? Железо в современных смартах реально мощное что бы такое исполнять без тормозов!
>>10670061й>>10670082йСлово из спамлиста блять.
>>1067006> синхронизированные методы> не догоняюНе лезь, она тебя сожрет!Если тебе нужна ручной многопоточный код (особенно в джаве) - крепко подумай зачем он тебе и сделай так, чтобы был не нужен, или это делал за тебя фреймворк. Если подумал и понял, что нужен ручной многопоточный код - думай опять, пока не додумаешься как сделать без него.Особенно когда сам в конкарренси не понимаешь. это норма
>>1067016>>1067023спасибо :3
>>1067008И так сойдет! Миллионы уже приняли на лицо этот эррейлист с одним элементом и просят еще.
>>1067008Да. А потом "Эй, петуханы, там нетбинс загрузился" и "85 гигов оперативы вполне достаточно, чтобы Хэллоу Ворлд не тормозил".
>>1066686Я тебе уже выше писал -- весь контекст, в котором был вызван мок-метод, находится в аргументе InvocationOnMock метода answer. Берёшь клиента, которого сунули в мок-метод как аргумент, и делаешь с ним что хочешь.
такой вопрос. Написал прогу, которая парсит информацию с нескольких сайтов на стену в вк. Кто может объяснить, как мне сделать сервак, который бы по кд запускал бы эту прогу+создавал бы очередь, т.е. 1 пост - раз в 15 минут. если собирается информации больше - хранить её в каком-нибудь месте, пока не понадобится(т.е. предположим парсинг идёт с новостного сайта, за 15 минут вышло 3 статьи, все их нужно разместить на стену, но с периодичностью в 15 минут)Алсо, нужен ли тут сборщик проекта? Зачем, как и почему?
>>1067150>как мне сделать сервак, который бы по кд запускал бы эту прогуПокупаешь любой vds с линуксом на борту, запускаешь свою прогу по расписанию с помощью cron.>создавал бы очередьА вот это дописывай в своей проге.
>>1067158Не хотелось бы покупать выделенный сервак, хотелось бы самому написать. >А вот это дописывай в своей проге. Ну это ещё примерно понятно как сделать.
>>1067160>Не хотелось бы покупать выделенный сервак, хотелось бы самому написать. Чего написать? Тебе в любом случае нужно на чем то запускать свою поделку. Если ты хочешь сам сделать расписание - используй что-то вроде java.util.Timer.
>>1067165На томкате, например?
>>1067179TOmcat - это грубо говоря веб-сервер. Каким боком он тебе тут нужен?
>>1067150Самую дешевую vps'ку покупаешь и запускаешь на ней свою прогу. А в ней уже реализуешь очереди и прочее. Данные можешь в бд хранить, гугли jdbc. Сборщик по желанию, можно и без него обойтись.
Ребята, есть говнокод графического калькулятора на JavaFX. Подскажите куда проще вылодить, чтобы опытные помогли в корректировке кода. С гитхаб никак не получается разобраться пока, есть что - нибудь попроще?
>>1067091какой метод нужно вызвать в invocationOnMock чот бы получить нужный мне объект? чет я нихуа не понимат
>>1067348Ну загугли ты юз-кейсы, ёбана, что как маленький? Я этой хуйнёй вообще не занимался практически, но в гугле много нашёл, чтобы тебе помочь. Дальше мне чтобы тебе расписать, надо самому гуглить, но я думаю, тебе самому будет полезно это сделать.
>>1067158Какой cron, вы чо, ябанутые? В Java есть ExecutorService с периодическим запуском тасков. Если хочется ещё дальше абстрагироваться, то в Спринге есть аннотация @Scheduled, кажется.
>>1067008ну там скорее всего много где эта функция вызывается и используется с несколькими элементами в листе
https://github.com/Vichukano/CalculatorРебята, посмотрите, пожалуйста мой говнокод. Что можно улучшить? Может как-то упростить?
>>1067795Чо тролеш?
>>1067937Все так плохо?
>>1067781ну почему бы не использовать 2 функции(паттерны там всякие придуманы) или еще лучше - шаблонные методы? в шаблонном методе смотришь какой объект и запускаешь нужный алгоритм. выносишь логику обработки в отдельную функцию, на пример procUser. Если аррайлист то запускай procUser в цикле for, если один объект то просто запускай procUser
Аннотация Stateless ведь должна гарантировать, что каждый метод будет выполняться в отдельной транзакции? К меня это почему-то не работает
Читаю Хорстмана Основы, и в книге есть задачи. Кто-то в треде вкативался через Хорстмана. Если да посоветуйте задачи релейтед к учебнику
Ну вы и унылые уебки, блять. Скорость треда один пост в неделю несмотря на релиз жавы 9 и тупые вопросы нюфагов. Неужели это закат жава мира?
>>1070904ага. закат пришел на сосаче
>>1070904> релиз жавы 9Там нет нихуя полезного. Maps.of() так себе полезность. Пила не нужна.
>>1070637Прочитал полностью Шилдта для нуфагов, сейчас гляжу основы Хорстмана - на мой взгляд Хорстман куда лучше. У Шилдта везде ввод с клавы реализован через всратый System.in.read(), про удобный Scanner - полтора слова, у Хорстмана сразу сканнер - без изъебств. Куча полезных советов и в целом не так сухо.
Как подготовиться к 1z0-808 ??https://vk.com/wall-54530371_70890Этих 2х книжек достаточно будет, что б ЕГЭ по Джаве сдать?
>>1071014Где вообще основная масса программистов общается? Есть ли жизнь вне /зэка/?
>>1071150не поверишь. все общаются тут, в этом треде. и дети их тоже здесь учатся
>>1071182Уже который год захожу сюда по привычке, обоссать вкатывальщиков и подогреть жопу тем что раздел стал ещё мертвее. Куда перекатываться - хуй знает.
>>1071187перекатывайся нахуй отсюда.жпгсеймщит стори бро, в андроид-треде аналогичное говно.
>>1071150блять после рабочего дня кому нахуй захочется общаться с программистами. лучше чем-нибудь гуманитарным закинуться
Всё больше склоняюсь к тому, что checked исключения не нужны. В стримах сильно мешает
>>1072368А в Rx ничуть не мешают.
>>1050914 (OP)До седьмой главы первой или второй части?
>>1072602ИМХО первая часть до 10 главы