прошлый https://2ch.hk/pr/res/1139448.htmlQ: Поздно ли вкатываться в айти в 20/30/40/100 лет?А: Нет, не поздно.Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.Q: Хули все книги на английском?A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.Q: Что скажете за джавараш?Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.https://github.com/qqqlll/Java-Thread/wiki
Покажите структуру типичного проекта на спринге.
итак, работаю с прошлого понедельника.Ко-ко-ко микросервисы, ко-ко-ко бигдата, ко-ко-ко аджайл.В реальности сотня хранимок, быдлокод уровня field == null ? "null" : field. Тесты в виде копипаста. Каждый метод по тысяче строк (серьёзно). Класс по 3к строк.Вся бизнес-логика в хранимках. Ключи в базе естественно текстовые, да ещё и разные для каждой локализации
>>1155207src main java resources webapp test java resourcestarget
>>1155209бля, разметка проебалась
>>1155209>webappНу-ка, у меня такой не было. Что там?
>>1155215там WEB-INF
Сап. Есть проект, где есть импорты: import peedorashka.zalupa.Lupa;Но самого пакета peedorashka нет - его надо скочать. Так вот, скочал я его, а дальше что? Интересует главным образом добавление в IntelliJ Idea.
>>1155216А подробнее?
>>1155217maven
Для чего нужен Spring? Web? Enterprise? И то и другое?
>>1155227>Springсобственная версия энтерпрайза (не следующая стандартам настоящего энтерпрайза), ставшая популярной. Популярнее даже энтерпрайза>Enterpriseнабор стандартов, которым должен следовать каждый вендор. Стандарты в области межсервисного общения и внутрисервисной реализации
>>1155229Запутался. Изучение оного нужно? Дает какие либо профиты?
>>1155230ковыряние в говне в обмен на немного денюжек. Только такие профиты
>>1155203 (OP)Суп пр.Есть Stream<String> in = Files.lines(Paths.get....Нужно обработать посимвольно входной файл и вывести в выходной.При этом может попасться недопустимый символ. В этом случае нужно остановить работу функции.Из forEach нельзя кинуть исключение (можно только то, что наследуется от непроверяемого, но это говнокод же). Единственная возможность прервать forEach() использовать вместо него allMatch() и тогда будет что-то вроде:if(!in.allMatch(this::test)). Тоже хуево, как мне кажется. Предикат не должен менять чье-то состояние.Вообще для моей задачи идеально подходит .map(). Но исключение из него тоже не кинешь нормально.Так вот, опытный анон, хули делать? Стоит ли ебаться со стрим апи, или для этих целей он не предназначен и придется работать с каким-нибудь массивом строк?
>>1155221А поподробнее?
>>1155234Почему весь мир считает анчект эксепшны нормой, а у тебя это говнокод?
>>1155236Не знаю, может потому что я пишу неделю на джаве и это мое оценочное суждение, которое было выражено даже скорее как вопрос.Т.е это нормальная практика?
>>1155240это скользкий вопрос, где проходит граница между исключением и бизнес-логикой.В твоём случае да, лучше кидать какое-нибудь исключение
а че буит если сделать import * ?
>>1155208А прикол если в компании oracle всё так же.
Еще один вопрос про стрим АПИ.Как грамотно вывести то, что я получил из метода Files.lines (это на всякий случай Stream<String>) в другой файл после обработки?
>>1155203 (OP)Ох парни. Пиздец как все заебло. Ебаная мухосрань, еще 14 статей писать (надеюсь, это последняя работа по копирайтингу), на улицах грязь и сыро, тян через хуй бросила, быдло родственники вообще уже в печенках сидят. Но самое главное - зуб мудрости недавно удалили, уже неделю болит, гноится. Пиздец карочи.Но когда за учебник Шилдта сажусь, то сразу на душе легче становится. Уже предвкушаю, как первые проектики по гайдикам буду пилить. Очень хочу вкатиться в кодинг и уехать в ДС. Мне это настолько понравилось, что я даже сказал учебников по алгебре, тригонометрии, вычислениям, физике и химии. Как освою базовый стек технологий и устроюсь на работу, то начну всю школьную программу проходить. Никогда не думал, что программирование даст мне такую тягу к знаниям.А тем временем за окном серость и уныние, а за щекой боль от нагноения.
Ребят вот оглавление из книги Шилдта по Java. Что из этого усиленно читать, на что не тратить время?Язык JavaИстория и развитие языкаJаvаКраткий обзор JavaТипы данных, переменные и массивыОперацииУправляющие операторыВведение в классыПодробное рассмотрение классов и методовНаследованиеПакеты и интерфейсыОбработка исключенийМногопоточное программированиеПеречисления, автоупаковка и аннотации (метаданные)Ввод-вывод, аплеты в прочие вопросыОбобщенияЛямбда·выраженияБиблиотека JavaОбработка символьных строкПакет java. langПакет java. util, часть1. Collections FrameworkПакет java. util, часть11. Прочие служебные классыПакет java. io для ввода-выводаСистема ввода·вывода NIOРабота в сетиКласс AppletОбработка событийВведение в библиотеку АWТ: работа с окнами, графикой и текстомПрименение элементов управления, диспетчеров компоновки и меню из библиотеки АWТИзображенияУтилиты параллелизмаПотоковый APIРегулярные выражения и другие пакетыВведение в программирование ГПИ средствами SwingВведение в библиотеку SwingИсследование библиотеки SwingВведение в меню SwingВведение в программирование ГПИ средствами JavaFXВведение в JavaFXЭлементы управленияJаvаFХВведение в меню JavaFXПрименение JavaКомпонентыJаvа BeansВведение в сервлетыПриложениеПрименение документирующих комментариев в Java
>>1155289Если только начинаешь, то лучше бери Руковдоство для начинающих Шилдта. Там вопросы и упражнения есть. А потом дальше изучаешь библиотеки по справочнику.
>>1155291Блин я уже до операций дошел.
>>1155293Это самое начало, так что не переживай. Там все тоже самое, только в конце каждой главы вопросы и есть практическая работа.
>>1155289Если это твой первый язык, выбери другую книгу.Если до этого писал на с++, читай все, но первые 200 страниц можно бегло.
>>1155300А какую. Head First пробовал но там что то совсем как для даунов объясняют.
>>1155287>то начну всю школьную программу проходить.Тоже думал. Но только с физикой. В итоге хуй забил, работа пиздец как силы забирает.
>>1155215Я в каком-то гайде читал, что html страницы надо кидать туда, чтобы изменения сразу было видно, а потом в настройках мавена дописать, чтобы он переносил все оттуда в static или templates, это для этого используется?
>>1155234Так а в выходной файл должно в любом случае писаться или нет? Если да, то в JDK9 есть takeWhile.Сделать можно по-разному. Сделай так чтоб работало, а потом причесывать будешь.
прогаю под эту песнюhttps://www.youtube.com/watch?v=sWo0432nDbk
>>1155289Applet-ы мертвы полностью.AWT/Swing/JavaFx пропускай тоже - это понадобится только если у тебя не много вариантов с работой, а работодателю нужна макака на GUI, но это мёртвый путь разгребания легаси-говнокода. Ну или тебе очень надо десктопное приложение, а ничего кроме Java ты не знаешь.Хотя, понимание того как строятся интерфейсы они дадут, но лучше это делать с помощью html/css/js (react/angular/vue) - 2018 год на дворе.
>>1155317>Applet-ы мертвы полностью.Ну это и ежу понятно, если гугл хром отключил поддержку джавы.
>>1155317Спасибо, дружище. Свинг, Fx и аплеты проигнорю. Вместо них тогда Спринг наверно ботанить начну
>>1155317>SwingЕсли он не нужен, то и windows forms в с# тоже?
>>1155234tmpFile = Files.createTempFiletry {Files.lines .peek(//здесь твоя проверка, бросающая эксепшн) .forEach(line -> Files.write) Files.move(tmpFile, target File);} catch e { Files.delete(tmpFile)}Главное не делай стрим параллельным и всё ок.
>>1155234Кидать эксепшны можно, если это нужно.Само по себе это не делает код говнокодом.Но, лучше применить какой-нибудь фокус из фп.Или Rx.Думать уже лень, поэтому, ничего конкретно советовать не буду.
>>1155322.NET встроен в винду, а JRE - нет и это проблема. Если тебе очень надо десктоп и ты знаешь лишь Java - то вперёд.
>>1155322> windows forms в с# тожеТоже нинужны. Есть няшный (но уже немножк протухший) WPF и кросс-платформенный Xamarin.
>>1155322>>1155320>>1155317Господа, не надо паники.Swing никуда не денется в сколь-нибудь обозримом будущем.Разве что, вместе с джавой, лол.А вместо апплетов есть JWS.А вот JavaFX - получился мертворожденным. Оракл на него откровенно забил, бросив на полдороге недоделанным, в пользу облачной хуеты. Дизайнер тупо убрали со своего сайта даже. И молчат, типа так и надо. Пидарасы.Так вот, например, есть такой JFormDesigner - лучший дизайнер для Swing GUI, хотя и коммерческий. И после долгого перерыва они в прошлом году снова активизировали разработку, выпустили новую версию и продолжают пилить. Как вы думаете, с чего бы вдруг, если свинг "не нужен"?Я предполагаю, что это ещё и от того, что надежды многих людей на джаваскрипт/html5 как средство создания UI, не оправдываются. Заебал он уже довольно многих.JIDE регулярно выпускает обновления, хотя и не особо развивает функционал.IDEA (и все остальные продукты JB) использует Swing, если кто не знал.Но, нужно понимать, что десктопный гуй вообще становится нишевой темой. Так что для вкатывания это, возможно, не лучший вариант.
>>1155343>SwingФу бля
>>1155345Веб-говно с его фракталоговнищем кросбраузерной верстки вместо "хуяк-хуяк и форма" еще хуже.
>>1155349Мне JavaFX по душе. Все четко и просто.
Джаву вообще реально выучить для работы, не имея вышки по проганью? Или лучше не тратить время и учиться писать сайты на php/ruby? Учу джава кор идет хорошо и интересно, но чет я застремался прочитав сколько всего будет нужно выучить.
>>1155358Работаю без вышки, полёт нормальный.
>>1155343То есть как ни крути надо учить Спринг
>>1155358Съебать в веб макакинг всегда успеется. А знания Джавы никогда не помешают. Тем более что можно в смежные области перейти аля Scala и прочее. В общем это хорошая база, раз уж начал не бросай на пол пути
>>1155372С таким гонором пишешь, будто бы джава - не веб макакинг.
>>1155371Последний спринг няшный, особенно с реактивным веб-фреймворком. А с котлином вообще охуенно, можно писать бины в функциональном стиле на котлиновском DSL безо всякого XML-говна и аннотаций. И запускается всё это (если использовать чисто функциональный стиль) гораздо быстрее.Как перекатившемуся с .NET Core мне новый спринг очень нравится.
>>1155374Алсо спринг бут не использую. Мне он показался не нужным. Лишнего кода почти нету.
>>1155373Ну джава многофункциональна. И да я без пафоса это говорю. Не вижу в макакинге ничего плохого.
>>1155358>php/rubyphp имеет смысл. Это говно все не подыхает и походу до самой нашей пенсии не сдохнет. Всякие Руби, питоны, го и прочая хипстерская шняга рискована. Это не распространено, вакансий мало и все они в ДСах.
>>1155377Ну так пока твои приложения мелкие и не используют того, что даёт бут - да. А если у тебя сотня микросервисов - ты очень быстро заебешься свои конфиги копипастить.
>>1155381> ты очень быстро заебешься свои конфиги копипаститьЧто значит конфиги копипастить? Обоснуй, что бут может упростить такого, что не могу сделать я сам средствами самого спринга иля жавы/котлина?
>>1155385Эмм. Да ничего. Все можно самому сделать. И спринг тоже можно самому сделать, но это ты делать не хочешь. А в сотый раз конфигурировать PropertySource ты почему-то предпочитаешь руками.У бута есть вполне конкретные задачи: убрать бойлерплейт в конфигурации и принести хоть какой-то порядок в зависимости. Он с ними справляется на 100%.
>>1155388Просто приведи конкретный пример (можно упрощённый) где бут убирает бойлерплейт.
>>1155389Да везде. Датасорсы? Есть готовая конфигурация, только докинь пропертей. Те же проперти? Да легко, ямл и проперти уже настроены, даже с разделением на профили. Хочешь конфиги в одном месте хранить для всех сервисов? Одна зависимость из spring cloud и это работает. Всякие service discovery и тому подобные штуки - так же. Да блин за банальные @MockBean в тестах уже можно взять бут в проект.
Что-то тред обострился ночью.
>>1155395Перед сном народ отписался. Уже разошлись.
>>1155289>Язык Java>История и развитие языкаJаvа>Применение Java>ПриложениеНе благодари
>>1155203 (OP)>Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?Решил вкатиться в джаву через си и кресты, т.е. последовательно изучаю плюшки в си>кресты, ну а потом уже джава.Я всё правильно делаю?
>>1155537Зря время потеряешь на байтоебство.
>>1155301Мне HeadFirst показался слишком скомканным. "Вот есть функции, переменные вот это все говно, ну там разберешься. А вот, кстати, скомпилируй это говно так, чтобы получить х. Ну если не знаешь, что это за функции новые, то погугли лол". Вот примерно в таком формате подается вся инфа. Но там сразу пишут, что рассчитано на тех, кто уже учил ООП. И все равно задачки там интересные есть. И даже советы по реализации программ.А так по Java три стула: Шилдт, Хортсман, Эккель. Новичкам советуют Шилдта, так ка кон все разжевывает и расставляет по полочкам. Хортсман чуть более задротский и подходит перекатывальщиакм с С. Эккель вообще хардкор говорят, хотя хз.
>>1155315Говноед. Хотя бы что-то такоеhttps://www.youtube.com/watch?v=unrs1wnz0r4
аноны, а как ворстребованы не сколько жаба погромисты, а мелкие писаки интеграторы для всяких джибосов и хедупов, томкатов и прочего ынтерпрайз говнеца?
>>1155315>>1155548Оба говноедыhttps://www.youtube.com/watch?v=Dr1f_pLsa0M
>>1155537>через си и крестыНеправильно.Это тебе вообще ничего не даст.Через питон - другое дело.Но, опять же, зачем "через", зачем окольные пути?Английский лучше выучи, без него - любой язык программирования будет для тебя китайской грамотой. Ты просто не будешь понимать, что значат все эти термины и названия, и только и останется тупо их заучивать или искать ненужные и неуклюжие русские аналоги.
>>1155559Что именно ты собрался писать для всяких джибоссов и хе-дупов?Приведи пример кода, если нетрудно.
>>1155757ну например есть solr, которы имеет плагины для предобработки, такие как лемматизация и прочее, нужно добавить новые. все это говно попытаться распаралелить хэдупом и зделоть морду на томкате.
>>1155763з.ы. и еще есть нутчь
>>1155235Хули подробнее, дебил? Прочитай что такое мавен/грэдл, прочитай про сборку проектов, добавь зависимости. Хули тупенький такой?
>>1155203 (OP)>Хочешь фрилансить — дуй в ПХП/раби/1С тред.А на питоне фриланс есть?
>>1155823В питонотреде спрашивать не пробовал?
>>1155234Тебе не нужно бросать исключение. Вот что тебе нужно> Нужно обработать посимвольно входной файл и вывести в выходной.Ну и обрабатывай. Files.lines, флетмаппишь в сплит, фильтруешь валидные символы и обмазывайся ими.Пидар.
>>1155825Там пидоры одни.
>>1155392Что ты объясняешь отсталому сисярп-дебилу. Ты бы еще 1снику про ООП затирал.
>>1155627Неплохо, неплохо.
>>1155876Выебали что-ли?Так это просто была демострация превосходства, гомосекс тут ни при чём.
>>1155887>Выебали что-ли?Нет. Просто они постят хуи негров и пишут "питон :D", еще и какие-то гейские истории, всем виртуально "рвут попку".
Привет анон, интересует твое мнение по этому каналу, стоящий или нет? Подсказали его в чате в телеге по джаве.https://www.youtube.com/watch?v=3Wn_mc12_yAhttps://www.youtube.com/channel/UCLUYG3J5lYXs9gwz98aXIsQ
Аноны, подскажите, правильно ли я выбрал путь вкатывания. Джава понравился интуитивным синтаксисом, кроссплатформенностью и возможностью работать в веб- пространстве. Изучаю джава-кор по книгам и курсам на английском. Параллельно придумываю какое-нибудь приложение и пишу его. Что не ясно- гуглю. Постигнув новое улучшаю приложение. Например переписываю gui со swing на javafx. Начинал с графического калькулятора. Сейчас разбираюсь с network, пишу чат на сокетах. Потом планирую вникать в Collections. Далее spring или android. Стоит продолжать в таком порядке или есть другой рациональный путь?
>>1155874>При этом может попасться недопустимый символ. В этом случае нужно остановить работу функции.>флетмаппишь в сплит, фильтруешь валидные символыОткуда ты такой умник вылез? Любой встреченный невалидный символ должен приводить к завершению подпрограммы.Ебал твою мать.
>>1156013Какая-то хуйня.Посмотрел вводное видео. Дальше не стал.Обычное коммерческое блаблабла.Сынок явно возомнил себя гуру и решил основать собственную школу, лол.
>>1156041>Любой встреченный невалидный символ должен приводить к завершению подпрограммы.Что такое "невалидный"?Например, когда ты пишешь в адресной строке какую-то хуйню, у тебя браузер сразу закрывается, я правильно понимаю?Откуда ты такой умник вылез?
>>1156032>Например переписываю gui со swing на javafx.Ох, лол. Зачем?Swing старый, некрасивый, но живой, и жить он будет столько же, сколько и джава.И на нём реально пишут коммерческий софт - просто больше не на чем.А java fx - мертворожденная хуета. Которую Оракл, к тому же, забросил, и развивать не собирается в принципе.Нет библиотек, нет компонентов, нет инструментария, нет быстродействия. Нет ничего. Нет и не будет.Вообще, если ознакомиться с полной историей java fх, то становится ясно, что эта технология, видимо, изначально была рождена под хуёвой звездой.>Потом планирую вникать в Collections.>ПотомЛол.Ну как можно что-то писать на джаве, не вникая в collections?Они же простые в джаве, как две копейки. Это же не скала, где с этим делом просто пиздец какой-то.>или есть другой рациональный путь?Проблема джавы - в высоком пороге вхождения.Это простой язык. Но, чтобы получить осязаемые результаты, надо понять целую кучу вещей, с языком не связанных.Я бы советовал сетевые технологии - spring, tomcat, вот это врт всё. Довольно быстро можно получить результат.С андроидом может быть сложнее.Ну, и в плане заработать денег - тоже перевес на стороне спринга, конечно.
>>1156074>Что такое "невалидный"?Тебя волнует это вообще? Какая разница какие символы невалидные в моей задаче?Есть файл, в нем есть символы. Нужно вывести их в другой файл, предварительно обработав. Не все символы поддаются обработке. Если такой был встречен, из функции нужно выходить, ничего не записав. Отсюда и исключения.Ответ уже давно дали. Хули тебе надо?
>>1156072а из подобного формата, что-то можешь посоветовать??
>>1156087А, так это твоя задача.Ну, извини.
>>1156088Вот это посмотри:https://www.youtube.com/channel/UCVbz7l0COUdLupcY4YtYH0wВот хорошо, но мало:https://www.youtube.com/watch?v=-IIXlqF94WAВообще, на русском почти ничего нет.В основном, какие-то школьники или какие-то гуру доморощенные, да и тех почти нет.
>>1156093Спасибо и на этом, уже учу инглиш, но пока реально только в тексте что-то изучать, со словарем)
>>1156111Ну так и изучай со словарем. На всех мало мальски приличных курсах есть субтитры. Изучаешь по книжкам до upper-intermediate или даже advanced и дальше со словарем
>>1156111В англоязычных обучающих видео, как правило, есть нормальные (английские) субтитры.Khan Academy java поищи на ютубе, например.Вообще, полно всего.Из книжек - достаточно "Core Java for the Impatient", для начала, любое издание. На русском она называется "Java SE 8. Базовый курс". Перевод не читал, но, вроде бы, говорят, нормальный.Эта книжка и интернеты, больше ничего не надо, не засирайте мозги. Ну, и Intellij IDEA community edition, конечно, никакой эклипсы и прочей хуеты.
>>1156118А можно по Шилдту руководство для начинающих заниматься?
>>1156119Да можно, конечно.И многие даже рекомендуют.
>>1156085Двачую этого человека. Сам только вкатывальщики. По такому же пути. Сам чуть не уплыл в fx, благо быстро понял, что учить его нет смысла, так как много чего более полезного.
что такое Principal в java.security? допустим, мой jwt токен содержит user id, id это принципал? или объект юзера из бд это принципал? Кто блять вообще придумал эти названия ебанутые
>>1156120А после него в какую сторону двигаться как освою систаксис?
>>1156123Principal - это пользователь, наделённый определёнными правами, как-то так.По поводу ебанутых названий - почитай словарь.>>1156124>А после него Что значит, после него?Нельзя сначала выучить язык, а потом начать программировать.Куда дальше? Куда-нибудь, откуда я знаю, что тебе нужно? Вообще, см. >>1156085
>>1156128т.е. entity, представляющая авторизованного пользователя - это principal?https://docs.oracle.com/javase/7/docs/technotes/guides/security/jgss/tutorials/glossary.html тут написано, что principal это не юзер, а уникальный идентификатор юзера, как я понял, т.е. id в моем случае
>>1156128Ну думаю больше тянет на бэкенд веба. Энтерпрайз пугает своей монструозностью хотя наверно туда шанс был бы выше устроиться в какой нибудь банк учитывая мой банковский опыт. На мобилках боюсь ибо хз найду ли работу в своем миллионике по этому направлению и будет ли оно дальше развиваться. Ну там откажется гугл от андроида что нибудь другое придумает не останусь ли потом ненужным с этим опытом
>>1156131>это не юзер, а уникальный идентификатор юзераЭто абстракция юзера с точки зрения системы безопасности.С одной стороны, это, вроде-бы, id.С другой - в java ee, в jsp, например, можно сделать как-то так:Principal p = request.getUserPrincipal();YobaUser user = (YobaUser) p.String fname = user.getFullName();Т.е. за принципалом прячется настоящий юзер, полученный в момент логина из бд, если у тебя так сделан логин.
>>1156085Спасибо за развернутый ответ. Тогда лучше буду разбираться со Swing.
>>1156137я в security context в качестве имени principal-а использую полученный id в токене, но каждый раз конвертить id в строку, потом парсить эту строку обратно в лонг выглядит странно, вот я и спрашиваю может я не то делаю. Сам объект пользователя из бд мне не нужен каждый раз, только id, ролей у меня нет никаких
>>1156144>лучше буду разбираться со SwingТут не всё так просто.Если ты не собираешься делать десктопные GUI приложения на джаве, то не стоит, наверное, заморачиваться.С другой стороны - от пары хелловорлдов от тебя не убудет.Свинг - образец того, что называется overdesigned.Перемудрили они, короче, времена тогда были такие.В общем, как ни крути, это legacy технология.Которая, тем не менее, никуда не денется в обозримом будущем - слишком много коммерческого и корпоративного софта написано.Те же кассы в гипермаркетах - это джава и свинг. Не все, но многие. В глобусе, например.И многие десятки тысяч внутренних корпоративных приложений, которых нет ни на каких гитхабах, и про которые не пишут в интернетах вообще.Или те же программы для биржевого трейдинга.Я уже не говорю про IDEA.Ну, и есть компромиссные варианты.Можно использовать FX-сцены в Swing и компоненты Swing в FX.Можно даже GUI на HTML5 и JS использовать внутри JavaFX.Это одна из рекомендаций, которые Oracle даёт в руководстве "Migrating from Java Applets to plugin-free Java technologies":http://www.oracle.com/technetwork/java/javase/migratingfromapplets-2872444.pdf
>>1156147>но каждый раз конвертить id в строку, потом парсить эту строку обратно в лонг выглядит странноPrincipal не просто так сделан интерфейсом.Может быть, сделать обёртку YobaPrincipal implements Principal, и там этот лонг хранить и прочее?
>>1156158у меня ничего нет на момент получения запроса кроме токена с id, так что либо получать данные целиком, либо как сейчас оставить. Если реализовывать интерфейс с новым методом getId к прмеру, то что тогда использовать в качестве name без обращения к бд? Будет просто дублирование entity с урезанным содержанием
>>1156178>Будет просто дублирование entity с урезанным содержаниемДа.И это, само по себе, не является чем-то плохим.Или конвертируй каждый раз.Зависит от многих причин.
>>1156179Понял, спасибо. А вообще лишнее обращение к дб с каждым запросом сильно влияет на производительность (получение пользователя по id из бд)? У меня конечно просто пет проджект, который дальше гитхаба не уйдет, но просто интересен этот момент.
>>1156202>лишнее обращение к дб с каждым запросом сильно влияет на производительность?Конечно. Это одно из самых узких мест.Но, нормально, у тебя это должно как-то кешироваться в слое доступа к данным. И кеш должен очищаться при инсертах-апдейтах.Ты же не голый jdbc используешь?То, что ты пытаешься сделать (насколько я понял) - это, в общем, тоже разновидность кеширования. Если у тебя на уровне доступа к данным кешируется, то ещё раз кешировать смысла нет, наверное.Короче, it depends.
>>1156216использую eclipselink, как я понимаю, в jpa по-умолчанию уже используется кеширование, явно я не кеширую ничего, кроме http звапросов некоторых. У меня простой веб-сервис по стандартной схеме: токен->фильтр->ресурс->дб
>>1156230>уже используется кешированиеНу и не парься тогда.Преждевременная оптимизация - это плохо.YAGNI, вот это вот всё.Вообще, если тебя интересует тема масштабируемости такой хуйни - почитай про Akka.В Akka in Action, как раз, в первой главе разбирается пример приложения.В двух словах - они там для скорости вообще всё в памяти держат. Выгружают на диск при остановке приложения и загружают при старте. Больше диск не трогают.
>>1156233я понял, спасибо, что уделил время
>>1156089Да ладно.Тебе спасибо за флэтмап, упростило код другой.
>>1156268Про flatMap - это не я.Я просто мимо проходил, и подумал, что это какой-то мимо-теоретик учит толкового анона жить, лол.И да, монады (а любая хуйня с flatMap - это монада) вполне могут быть полезны в обычной жизни простого джаваёба.
>>1156118еще раз спасибо, за такой ответ
>>1155203 (OP)почему жаба такое невыразительное говно?
>>1156341Потому что на одну ступень выше байтоебиков.
>>1156341Потому что.
>>1156321как с этими ёбаными монадами справится?Посадили на эту моднявую бигдату, а я в ней не в зуб ногой.Есть алгоритм фильтрации данных, его надо переписать на спарке, при этом распараллелить
>>1156872Ну, монады к этому прямого отношения не имеют.Это просто конструкция, облегчающая построение конвейеров (цепочек) обработки данных и т.п.Вот хорошее объяснение:http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.htmlВообще, по теме фп - Functional Programming in Java (manning.com) - годная книга, но большая.Есть (будет) ещё Grokking Functional Programming - но, её хорошо, если осенью издадут только.Спарк не использовал, бигдату тоже.Но, по спарку полно литературы и готовых рецептов.
>>1155312та папка, которая содержит все файлы, которые maven положит в твой архив, который ты задеплоишь на сервлет контейнер, кроме скомпилированных классов
>>1156032>>1155289Если хотите веб, бросайте джаву, и переходите на интерпритируемые языки ruby/python.Потом спасибо скажите
>>1156971>бросайте джаву>переходите на rubyАнонимная экспертиза высшего класса.Как там, в 2006-м?Ты через восемь лет, в начале 2014-го, долларов купи на все деньги, не прогадаешь, инфа 100%.
>>1156971И, просто для общего развития: Попробуй просто сравни количество _топовых_ решений для веб-бекэнда на джаве с количеством таковых на питоне (руби вообще не в счёт) или даже на JS.А ведь есть ещё скала, акка-хуякка и прочее.
>>1155203 (OP)Аноны, пожалуйста, умоляю, нужна помощь. Нужен полный гайд, как на debian VPS поставить профилировщик под java-сервер.От профилировщика нужен мониторинг оперативной памяти, в идеале что-то, что подскажет в каком месте утечка памяти происходит. Гайд нужен максимально ражёванный, ориентированный на меня полнейшего имбицила, где объясняется с нуля что качать, какие команды прописывать в баше/IDE, вот это вот всё. Пока искал в интернете - адово сгорела жопа.
>>1156872> Есть алгоритм фильтрации данных, его надо переписать на спарке, при этом распараллелитьMAP@REDUCE
>>1157004jprofiler загугли.
>>1157017Прости пожалуйста, но вот именно таких ответов я и боялся. Ну гуглил я всё это, гуглил JProfiler, YourKit, VisualVM, TPTP(профайлер для Eclipce, как я понял), но не понял как это всё работает.Куда качать, как запускать, как присоединять к процессу, как он выдаёт результаты, вот это вот всё.На официальном сайте какие-то скрины с JProfiler под винду, а у меня терминал linux, что мне с этим делать, как запускать?Мне нужен гайд, а не название, гайд для маленьких и тупых, и вот именно его я не нашёл. Но спасибо, спасибо что отозвался, скорее всего ты обоссыш меня за то, что я говно, а не программист, не умею в гугл, и будешь прав, но я просто, блять, не знаю, где ещё попросить помощи.
>>1157023Отвечают на корректно поставленный вопрос на SO, а здесь обоссывают дают удочку, а не рыбу. > у меня терминал linux, что мне с этим делать, как запускать?Я потому тебе и сказал jprofiler потому что это платный продукт (с триалом) с красивым интерфейсом и инструкциями для даунов. Загугли jprofiler remote profiling linux и делай по любой из инструкций. Или можешь просто поднять JMX и подключиться к нему. Или просто выгрузить стек и хип дамп, если память течет.
>>1157024Что ж, спасибо, анон, хоть я и слишком тупой, что бы воспользоваться твоей помощью. Извини что потратил твоё время.
>>1157027Скажи, ты настолько туп, чтобы загуглить конкретную фразу в конкретном сайте и выполнить любую текстовую пошаговую инструкцию (некоторые даже с картинками), или выполнить там же любое пошаговое видео на ютубе?Не то чтобы мне это было интересно, но я бы не отказался узнать ответ на мой вопрос.
>>1157028Я слишком туп как минимум потому что не могу в английский того уровня, который нужен для одупления этой самой инструкции.Но вообще да, у меня постоянная жопоебля с установкой хуйни. Поднимал мониторинг сушествования java-процесса с почтовыми уведомлениями в случае краша - получилось, но крайне костыльно.Пытался поднять lamp - обосрался с конфигом для apache2. Пытался установить laravel - обосрался. Нет, я не вебщик, веб ненавижу, но надо было это сделатьИ все эти задачи, как по мне - вполне тривиальные, и раз справился я с ними хуёво - да, я склонен считать себя тупым.
>>1156976ruby в 2018 популярнее чем ruby в 2006.java в 2018 менее популярна чем в 2006.Главное преимущество в том, что не нужно по часу билдать проект, билдать бекенд вообще не надо. Но кроме этого еще тысячи плюсов
>>1157082Ты кажется перепутал жабу с плюсами. В жабе время билда кореллирует только с количеством тестов у тебя в проекте.
>>1157091большинство энтерпрайз говнищ билдается очень долго, если в нем большое количество модулей, различные ликвибейзы и т.д. и т.п.
>>1157096А энтерпрайз на руби просто нет. К чему это сравнение?
>>1157147ну так на то и нету, что проект пишется в 10 раз быстрее и содержит в столько же раз меньше кода.Ну окей, ладно. Нету энтерпрайза, эта ниша руби. Но почему разработчику должен вообще быть интересным энтерпрайз, если писать стартапы на руби намного приятнее, намного меньше легаси, а зарплаты такие же, если не выше?
>>1157150эта ниша джавыбыстрофикс
>>1157150С тем что сравнение было ни к чему ты согласен. Хорошо.>пишется в 10 раз быстрее и содержит в столько же раз меньше кода.Сильное заявление.>на руби намного приятнееСубъективно. Мне вот от begin/end НЕПРИЯТНО. От динамической типизации и невозможности нормальной интроспекции - тоже.>намного меньше легасиВ стартапах-то? Положим, что вообще. Ну так руби моложе и менее популярен. Откуда этому легаси взяться?>такие же, если не вышеОни могут быть такими же, но ты забываешь об их количестве.hh spb >=240к:ruby - 7 вакансийjava - 50 вакансий
Анон спасай, никак не могу додумать, в каком направлении мне двигаться.У меня есть класс Order с полями + есть у него есть поле класса User, в котором есть просто айдишник и имя.Например, есть список из шести элементов Order, где три из них содержат класс User у которого id = 1, два из них класс User у котогоро id = 2 и один id = 3 соответственно.Я имею отсортированный список Orders по этим id, т.е. Первые три объекта из списка содержат id из класса User = 1, четвертый и пятый айди = 2, и шестой элемент айди = 3.Как мне написать другой список так, чтобы в новом списке у меня на первом месте стоял объект User с id = 1, после него стояли 3 объекта Order с id = 3, потом User с id = 2, после него два Order с id = 2, и User с id = 3, и один Order c id = 3 ?Или это можно сделать через HashMap какой-нибудь?
>>1157356Если это боевой проект, то там и не надо тащить граф объектов. Объекты должны быть по одному. Нужен и товар, и покупатель? Загружаешь из базы двумя селектами передаёшь эти 2 объекта по отдельности
>>1157356> Или это можно сделать через HashMap какой-нибудь?Ты собрался мешать в одном листе негомогенные объекты. Сразу нахуй такие листы обжектов, где по факту лежат объекты с которыми ты захочешь работать не как с обжектами, а кастить в свои классы. Просто нахуй такое. > КакМаппишь список в юзеров, дистинктишь, редьюсишь в новый лист, где добавляешь каждый юнит и добавляешь ордера отфилтрованные по юниту. Потом стираешь нахуй код и идешь изучать нормальное типизированное программирование.
>>1157368>Сразу нахуй такие листы обжектов, где по факту лежат объекты с которыми ты захочешь работать не как с обжектами, а кастить в свои классы. Просто нахуй такое. Порвался маня. Я всегда делаю такМимо
>>1157374Не умеющего работать с типами говнокодера из языка с демонической типизацией забыли спросить.
>>1157356>список>HashMapНет.Это не говоря уже о том, что HashMap - неупорядоченная структура.Я нихуя не понял, чего ты хочешь, и зачем тебе это.Но, если тебе нужно хитро отсортировать список - используй сортировку с кастомным компаратором:Collections.sort(myList, myComparator); //java 7myList.sort(myComparator); //java 8
>>1157197я понимаю, если бы было бы 0 и 50. А 7 вакансий чем тебе мало? Ты все равно(скорее всего) только на одной работе работаешь.>Мне вот от begin/end НЕПРИЯТНОсогласен> От динамической типизацииНе знаю как остальным, но мне по кайфу что-то быстро поменять в коде и глянуть как работает НЕ КОМПИЛИРУЯ код. А не ради ничтожного фикса билдать проект час. В статической типизации вообще никаких ощутимых преимуществ не виду
>>1157356А, понял, спасибо >>1157368Ты хочешь намешать в кучу заказы и юзеров, да ещё в каком-то хитром порядке.Такой хуйне не может быть никаких оправданий.Переосмысливай задачу.И изучай структуры данных.
>>1157384>но мне по кайфуХорошо тебе.Пишешь детскую хуйню в три строчки, которую не надо рефакторить и допиливать, ибо её через год выбрасывают и пишут новую. А денег платят как джава сеньору.
>>1157368>дистинктишь, редьюсишьдальше не читал
>>1157389к сожалению я пишу эту детскую хуйню на джаве...
>>1157407Тогда где там у тебя динамическая типизация?JRuby или Groovy прикрутил?
>>1157405Слишком сложно для твоего интеллекта, братишка?
>>1157411хайпанутая хуйня
>>1157414То, что в функционально-декларативном стиле пишется парой строчек, в императивной порнухе сотни строк.
>>1157422в императивном стиле я знаю, как это работает, и легко могу оценить сложность.В функциональном остаётся только верить в МАГИЮ функционалопетушков. В большинстве случаев вера не оправдывается
>>1157356не знаю, зачем тебе это надо, но можешь сделать через HashMap<User, List<Order>>, извлекаешь первый заказ, извлекаешь юзера из него, вставляешь в новый List<Order> 3 раза, потом в мапу put(user, list)
>>1157427Опачки, ты порвался.> В функциональном остаётся только верить в МАГИЮ функционалопетушковФункциональщина это МАГИЯ только для не разбирающихся дурачков. Обоссал дурачка.Но ты еще за прошлый аргумент не обоссался пока. Тебе нужно запилить микросервис, который будет запрашивать другие микросервисы и согласно определенным бизнес-правилам объединять данные. Возвращаемые данные это список А, в каждом А есть список Б, в каждом Б есть список В (остальные поля нерелевантны). Почуй как это охуенно будет все написать в императивном, а не функциональном стиле и заодно прикинь как охуенно будет выглядеть императивная портянка объединения данных с разной сортировкой по 3 вложенным уровням объектов.
>>1157433>микросервисВначале создаём себе проблему, а потом героически с ней боремся.Реляционные базы существуют уже лет 30 как раз для таких целей
>>1157445Ты не ответил. Слив обосравшегося императивного дурачка засчитан.Последний раз ссыкану, чтобы ты не почувствовал себя недостаточно обоссаным. > как раз для таких целейА источники данных в гипотетической задаче это детекторы в LHC в CERN. Имеющие разные бд. Подумай над этим, когда будешь вытираться.
>>1157450ты думаешь твоя функциональщина сама всё делаёт? Ничего не делаешь, а всё есть?Нет, там точно такие-же циклы и точно такие-же расходы на память.Только некая магия скрывает это от тебя, и ты думаешь что оно само. При этом ты не можешь особо повлиять на это
>>1157453Тут не всё так просто.Например, выгоды (по расходу ресурсов) начинают появляться на сложных конвейерах, когда используется ленивость.Функциональщина - полезная вещь.Но, требует перестройки сознания.И это не golden hammer, ни разу.Так что, вы оба правы, каждый по-своему.мимо другой анон
Во Freemarker можно как-то получить доступ ко всем переменным класса? Если выводить через ?keys, то он вместе с переменными еще и методы пихает.
собираюсь делать сайт с бэком на жабе.я долбоеб?
>>1157503Ну если не поташищь монстурозный спринг, то почему бы и нет.
>>1157503нет, весьма быстро и просто
>>1157504в каком случае ее вообще оправдано исп?
>>1157483Шо? Делай дтошки без логики, запривать поля и тебя это более не будет беспокоить.
>>1157503Бложик для винишко тян?
>>1157514скорее форум
>>1157511Вообще не понял тебя. Допустим, я хочу вывести все свойства объекта, пишу <#list object?keys as k>${k}</#list>, ну или как-то так, и он вместе с полями name, desription и т.д. выводит еще и getName, setName и все в таком духе.
>>1157517хуя ты тупой
Как правильно называть внутриклассовые переменные? Атрибуты? Параметры?
>>1157551Синглтонами.
>>1157410динамическая типизация у меня нигде. Поэтому я агитирую хомечков не повторять моих ошибок
>>1157384>ради ничтожного фикса билдать проект часТы про инкрементальную компиляцию слышал что-нибудь? А про class reloading? Как можно быть такой макакой?
>>1157551поля класса
Шоб такого написать на джаве, чтобы без бд?
>>1157618майнкрафт
>>1157653Я вот думаю написать конструктор машинок из ascii с интерфейсом на свинге или авт.
>>1157618Напиши анализатор самых холиварных (ругань) ЯП в зекаче с построением рейтинга. Используй харкач апи. Т.к. 21 на дворе все должно быть асинхронно, реактивно, параллельно и неблокирующе. Задание со звездочкой - сделай для него также неблокируемый асинхронный UI.
>>1157675Че анализировать-то епта
>>1157677> самых холиварных (ругань) ЯППодумой. Представь, что ты настоящий программист и клиент говорит "хочу" и бросает в тебя деньги. Твоя задача понять что и как сделать и сделать это.
>>1157684Пойду делать конструктор машинок из ascii символов.
>>1157685Иди.
>>1157483>>1157530То, что ты хочешь, это весьма нетривиально.Пиши обёртку сам, рефлекшн делай внури.Будет выводить то, что тебе нужно.Оборачивать потом можно прямо во фримаркере.Передаёшь туда хелпер, и прямо в шаблоне оборичиваешь с его помощью свои объекты, и дальше работаешь с обёртками. При этом оригинальные объекты остаются доступны.
>>1157737Я просто хотел сделать универсальную страницу для отображения информации по любым сущностям, но так как их у меня всего две, я забил.
>>1157737Ну и нахуя все это, если есть реакт или vue?
>>1157578>динамическая типизация у меня нигдеВот когда она у тебя будет где, тогда и агитируй.А пока что ты агитируешь за свои фантазии.На досуге подумай о том, почему для больших и важных энтерпрайзных и т.п. проектов применяют джаву или скалу, а не руби.
>>1157739Это ты так пошутил, я надеюсь?Иначе совсем грустно.
>>1157751Нет, я вполне серьезно. Дрочить шаблоны в HTML это прошлый век и изъебство, которое переносит фронт на плечи бекенд-разработчика. Плюс неудобно и сайты получаются из прошлого века.Тогда как с JS-фреймворками бекендер пилит бекенд, фронтендер фронт и все счастливы. Да и самому хуйнуть пару компонентов, прикрутить вызов рестов и получился современный отзывчивый сайт с нормальным дизайном намного проще, чем дрочить шаблоны в хтмл-портянках, перебиваясь нативным говножсом. Все эти JSP, JSF, Freemarker и прочую хуйню нужно закопать и забыть. Ну, можно мусташ оставить - он удобен для задач, не связанных с сайтами, но требующих шаблонизации и не слишком сложных, требующих уже джасперрепортс.
>>1157760Ты вообще понял чего он хотел?Как ты собираешься делать рефлекшн джава объектов в vue.js, лол?А с чего ты вообще взял, что он html на выходе хотел получить?Я, например, активно использую фримаркер, но для html - очень мало, а для веб-страниц - вообще никогда.Про остальное - лень писать.Мир немножко сложнее, чем тебе кажется. Позже ты это поймёшь наверное.
>>1157786> Ты вообще понял чего он хотел?Догадался.> Как ты собираешься делать рефлекшн джава объектов в vue.js, лол?А нахуя это делать, если объект уже сериализован?> А с чего ты вообще взял, что он html на выходе хотел получить?Догадался. Для чего он еще может использоваться у человека, который задает глупый вопрос с "переменными класса"?> Мир немножко сложнее, чем тебе кажется. Позже ты это поймёшь наверное.Не стоит играть в Дартаньяна, когда ты сам пидарас июнь.
>>1157790>догадалсяКиса, сколько тебе лет?>Не стоит играть в Дартаньяна, когда ты сам пидарас июнь.Вот и не играй, лол.
>>1157796Скоро 30 будет. А тебе? > Киса> Вот и не играй, лол.Хах, значит я был прав. А я догадливый сегодня.
Блять, скоро 30 будет, ебаный насос, а сижу во втором часу ночи и детей обоссываю.
>>1157799>Скоро 30 будет.Тогда пора умнеть потихоньку уже.И опираться не на догадки, а на факты.>Все эти JSP, JSF, Freemarker и прочую хуйню нужно закопать и забыть. И максимализма уже поменьше должно быть.>А тебе? Не скажу.
>>1157807Как я тебя слил в аргументированной беседе, что тебе даже аргумент к возрасту не помог и ты перешел к сливному "ой, все, мне вас жаль", а? > Не скажу.Даже на псевдоанонимной борде испугался. Ссыкло.
>>1157815Спорить с сосачером - как играть в шахматы с голубем.Он разбросает фигуры, насрёт на доску и улетит, уверенный что победил.
Java anony, дайте ресурсов по изучению Spring и Java web. Спасибо.
>>1157830Согласен с тобой. Когда наберешься аргументов, что бекендер должен ебаться с шаблонами, а не писать бекенд, и что WEB 0.1 лучше современных JS-фреймворков, а также наберешься опыта реальной разработки - приходи.
>>1157834Ну и нахуя все это, если есть реакт или vue?
>>1157836Ты разговариваешь с воображаемым собеседником всё это время.Для этого, кстати, двач не нужен, можно просто так это делать, будет быстрее и продуктивнее.
>>1157837Где тогда джава применяется?
>>1157843В майнкрафте.
>>1157800У детей сегодня в /b работы привалило, так что не пизди.мимокрок
>>1157843В пизде твоей мамаши.
>>1157800сеймшит 26лвл будет через пару дней, но похуй, все лучше чем на крокодиле тащемта
>>1157618Вспомнил еще кое-что, нужно чтобы еще и сокеты использовались.
>>1158013Дебил, блять.
>>1158058У тебя проблемы какието?
>>1155765>Хули подробнее, дебил?Хуй соси, блядина.
Интеллигентно
>>1155287>Мне это настолько понравилось, что я даже сказал учебников по алгебре, тригонометрии, вычислениям, физике и химии. Как освою базовый стек технологий и устроюсь на работу, то начну всю школьную программу проходить. Ты в школе хуи пинал?
Что лучше: отдельные шаблоны для двух типов страниц, или один, у которого внутри if else?
>>1155203 (OP)>Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?>А: Нет, не поздно.Поясните кому и зачем нужен овер 30-летний джун?
Как нормально сделать выбор имплементации стратегии? if (govno) { return new GovnoStrategyImpl();} else if (mocha) { return new MochaStrategyImpl();} else { return new HuinyaStrategyImpl();}Это не нравится. Есть альтернативы?
>>1159135>овер 30-летний джудля унижения
>>1159135Джун джуну рознь. На этой неделе взяли 32-летнего типа. Понравился тем, что очень быстро и качественно соображает. Знает самые основы, остальному и поучить готовы, хули.
>>1157594блять, я то слышал. А вот ребята с которыми я работаю, в частности тим-лиды нихуя видимо не в курсе. Ладно jrebel у нас есть на проекте, но от него больше проблем чем пользы
У меня что-то профилирование сломалось в netbeans, начало предупреждения выдавать. Раньше такого вроде не было. Создал тестовую прогу, чтобы писать хуйню и мерить, сколько будет сжирать оперативки, решил поиграться с параметрами, хотел поставить -Xms 4096m для прикола и видимо не туда написал и все по пизде пошло и перестало профилировать, только варнинги выдает. Переустановил СетевыеБобы, сейчас профилирует, но все равно выдает варнинги, хотя все в свойствах проекта и в "запуске с параметрами" по дефолту. Что делать?
>>1159155>в частности тим-лиды нихуя видимо не в курсеПотому, что они просто дети с охуенным самомнением (судя по этому треду, например).Вообще не понимаю, как человека младше 35 можно ставить на какую-либо руководяющую или организаторскую должность - у него же тупо мозг ещё не сформировался для этого.
>>1159141List<ExcrementStrategy> strategies = new ArrayList();strategies.add(new GovnoStrategyImpl());strategies.add(new MochaStrategyImpl());ExcrementStrategy defaultStrategy = new HuinyaStrategyImpl();ExcrementType type = sperma;Optional<ExcrementStrategy> strategy = strategies.stream().filter(s -> s.supports(type)).findFirst();return strategy.isPresent() ? strategy.get() : defaultStrategy;
>>1159223Говно не перестает быть говном, если его сверху стримом обмазать. Сделал большую кучу из маленькой.
>>1159202С одной стороны двачую, с другой в тридцать пять не перерождаются. Надо растить начальников.
>>1159202>Вообще не понимаю, как человека младше 35 можно ставить на какую-либо руководяющую или организаторскую должность - у него же тупо мозг ещё не сформировался для этого.По-разному. Сейчас у меня тимлидствует пиздюк 28 лет - не нарадуюсь. Пока что, во всяком случае. Один из лучших руководителей за всю жизнь. Это, конечно, не отменяет того, что оказаться под началом среднего двадцатипятилетнего неандертальца не хотелось бы.
>>1159202Околотимлидствую над четырьмя макаками в свои двадцать шесть. Вроде полёт нормальный, ребята, судя по инсайдам, в смешанных чувствах.
>>1159141и что тебя не устраивает?
>>1159324Ну там ооп, заменяй свитчи полиформизмом (унося создание инстанса в фабрику со свитчем, лол), вся хуйня.
>>1159141А вообще зависит от условия. Возможно все это говно заменяется одной хешмапой с саплаерами. А возможно даже с готовыми инстансами, если они стейтлесс.
>>1157837Наверное для того, что ты перечислил фреймворки для создания интерфейсов, а спринг это всякое rest и субд ?
Как имитировать работу с огроменной бд, если в ней на самом деле всего 20 записей?
>>1155203 (OP)Посоны, посоветуйте, что написать несложного, но емкого для гитхаба, чтобы его глянули, когда будут брать меня джава джуником.
>>1159144Что у него было с английским?
>>1159770hello world
>>1159135Потому что человеку, который въябывал как сука за копейки, уже научившемуся работать до прихода в айти и готовому так же въябывать здесь трудно кого-то противопоставить.
>>1159770Никто никогда не смотрит гитхаб. Даже те Егорки из свидетелей альтернативного ООП, которые говорят, что не возьмут людей в свою секту, если у них мало звездочек, фолловеров и рейтинг на SO.
Как написать HashMap для того, чтобы когда я встречал похожий key - я добавлял туда в ArrayList какой-нибудь класс.
>>1159775> 30, 40, 50, 60, 150-летний июнь лучше 20-летнего студентаПочаще повторяй этот манямирок перед зеркалом. >>1159779Гугли multimap. Или подумай головой и сделай простейший алгоритм сам.
>>1159779HashMap<Key, ArrayList<Value>>?
Аноны, а есть достойные альтернативы ломбоку? Всем нравится, кроме того, что не умеет вызывать конструкторы суперов или умеет, а я просто пиздоглазый? , из-за чего приходится все равно писать кучу говна с явным перечислением нужных полей суперклассов
>>1159844>2018>наследованиеjava-monkey as is
>>1159844Котлин.
>>1159852Ну давай, разъясни за принципы и концепции, по которым ты пишешь код
Стоит ли вкатываться в андроид?
>>1159862Ты понимаешь что ломбок для data-классов?Зачем тебе наследование в data-классах?
>>1159771Кое-как читает.
подскажите годные видеоуроки по Java Core
Нужен гайд по классам, я вроде все понял, а смотрю реализацию и нихуя не понимаю, смотрю теорию вроде все просто и понятно, а на делей хуй
>>1159878Чтобы вынести общие поля типа id и title в абстрактный родительский класс
>>1159938java-monkey as is
>>1159938Бляяядь, какой же ты дебил, сука. Если бы ты у меня в команде работал, я бы попросил начальство уволить тебя нахуй и в чёрный список HRов тебя внести, написав про тебя гадостей... Мразота ты конченая...сеньор-тимлид
>>1159956Школьник, плиз...
>>1159872Лучше сразу в js и потом в реактнатив, ну или флаттер.
>>1159986>флаттерТы хотел сказать дарт?
>>1159989Хуярт, но вообще да.
Посоны, тут такое дело, я вонючий студент которому в вузе сегодня предстоит экзамен по джаве. Проблема в том что джаву я не знаю, она мне не нужна и я её учить не хочу, а экзамен сдать как-то надо. Если что вдруг - я не программист, а джава в учебный курс затесалась случайно. Мне дадут задачку уровня "полный дебил", но к сожалению я вряд ли смогу осилить даже её. Что делать?
>>1160031>я вонючий студентПопробуй помыться
>>1160034А дальше то что?
>>1160039А сюда написать не получится?
>>1160031Страдай, хули. Не понимаю, чего ты хотел, когда писал сюда.
>>1160052Это Java тред. Вам надо на парашу в JavaScript-тредик.
>>1160004>ХуяртЧому кстати тредика нет? я вот все думаю что в будущем затащит раст дарт или котлин
>>1160098Что знаичт затащит? У них ниши немного разные. Вон дарт целили в бразуеры, не взлетело. Теперь хотят кросплатформой затащить в мобилки, и в фузию.Котлин одной жопой на трех стульях.Раст никуда особо не целится, просто красивая замена плюсовым хуям.
>>1160158>дарт целили в бразуеры, не взлетелотак васм же вроде еще не запустили или я путаю>Котлин одной жопой на трех стульях.лол чому?>просто красивая замена ну так и чо там слышно, все свичаются или чо
>>1160162>так васм же вроде еще не запустили или я путаюНу он раньше в вирутальке жсовской работал и ниче. А в васм все лезть будут, и котлин, и дарт и раст (привет от мозилы).>лол чому?JVM + JS + Native>ну так и чо там слышно, все свичаются или чоЭто как "Все свичаются на скалу или чо"? Нет конечно.
>>1155203 (OP)Положняк такойSwing - старое говно, которое будет жить до конца самой HavaHavaFX - мертворожденный, нигде практически не нужен.Что по AWT? Он тоже для графики? Нужно ли его учить, чтобы на работу попасть?
>>1160210>AWTэто предок свинга.swt был заменён на свинг лет пятнадцать назад
>>1160052Бля, феерично! Очень круто!
>>1160272Я примерно так и думал. Но в книге Хортсмана на него 150 страниц выделено. Притом что 9-е издание 2014 года.
Кто то пишет веб на джаве?
>>1160373Я да.
>>1160373Я не пишу. И ты не пиши.
В каком смысле jdbc является api? Как я понял в джаве под апи понимаются классы из jdk, хотя обычно под апи понимают условленные методы для взаимодействия разного ПО. Т.е. jdbc является api в том смысле, что это класс из jdk. Все верно?
>>1160420Ты слишком много думаешь.
>>1160420Jdbc - стандартизированный способ взаимодействия с бд, скрывающий за собой многие особенности реализации. Т.е. API.
>>1160189>А в васм все лезть будутвот оно чода вот с растом спутал, на мдн подписан, чото почитываю но так и не понял в чем прикол, они хотят заменить жс чем то компилируемым? и что под него тогда лучше выбрать, раст вроде годный>JVM + JS + Nativeну т.е не круто, я понялмех, ну раз раст такой няшный, чому бы не начинать писать новые проекты на нем, или мало людей пока?
>>1160435Не совсем так. Изначально SQL и его надъязыки были компилируемыми. То есть берётся какой-нибудь PL/I пишется с вкраплениями SQL, это всё компилируется, запускается и выполняется. Потом подумали, что было бы здорово иметь динамически формируемый SQL в виде строки, добавили оператор COMPILE STATEMENT. Потом подумали что наверное ещё неплохо было бы для 3GL языков отвязать compile-time проверку типов на выходе, то есть предоставить почти что пользовательский интерфейс как в консольке. Получились ODBC, которые разошлись по куче языков общего назначения, включая JDBC.
Ребята, как сейчас пишут веб на джаве? Пишут на сервлетах или используют спринг-мвс и зависимости через анотации?
>>1160610Самые крутые используют реактивный спринг веб-флюкс, а зависимости расписывают функциональным способом.
>>1155203 (OP)В общем, я понял, что без знаний XML/SQL нехуй никуда соваться, даже в изучение Spring/servlets/jdbc.По sql есть учебники.Но вопрос такой, на w3tutorial целая куча xml хуйни.Кроме базового xml гайда, есть еще:xml ajaxxml domxpathxsltxquerryxml dtdXSD SchemaXSD ComplexXSD DataWeb Services {XML ServicesXML WSDLXML SOAPXML RDFXML RSS }Вопрос, это нужно все учить для Java Junior или просто базу XML? Что-то вообще может пригодиться в работе кроме базы? Также не охуеть ли как много по xml говна напичкали? Что не так с этим языком?
Всем привет.Я пытаюсь получить доступ к private методам с помощью getmethod и getdeclaredmethod.Так вот.С getmethod все работает а getdeclaredmethod выдает no such method.Хотя должно быть ровно наоборот.Как это понимать?
>>1155203 (OP)Мда, headfirst java совсем не для новичков. В первой главе уже хуярят примитивы, стринги, лупы и массивы. "Что это такое, как оно работает? - Да похуй, потом разберешься. "Вот по такому принципу построен учебник. А говорили, что совсем для новичков, просто маст хев. Но после божественного Шилдта, где подробно описывают и поясняют за каждую деталь, просто отторжение какое-то к HeadFirst.
>>1160970Xsd учится за вечер, попивая чаёк.Xpath и xslt - нужно только знать зачем это нужно, учить будешь когда понадобится.Soap и wsdl в необходимом минимуме - за пару вечеров (а в максимуме никем не пользуются)Остальное либо сдохло, либо его знания не требуются для устройства.> Также не охуеть ли как много по xml говна напичкали?Так все и охуели. Не заметил, что xml перетекает в разряд легаси? > Что не так с этим языком?То же самое, что и со всей джавой прошлого десятилетия - неоправданные ожидания и куча стандартов под каждый чих только усложнивших хуяк-хуяк-разработку.
>>1160970>XMLВ пизду, лепи JSON везде.>SQL Я так и не смог придумать ни одного проекта, где бы не использовались БД.
>>1155203 (OP)Бля, дошел до IO, два дня читал про байтовые и символьные потоки. В итоге занесло так, что узнал кучу интересного про стринги, лупы, классы, исключения, BufferedReader и еще кучу нюансов. Java вообще меня поработила, очень сильно нравится изучать язык и писать даже мелочь всякую. И вроде учить еще дохуя, лежит книга по Спрингу, Хибернейт, Гит, JSP, плюс всякие коллекции там, свифты и т.д. Но у меня прямо руки чешутся до всего этого добраться и изучить. Как же хочется бросить свою говноработу и целыми днями учиться. Это все словно пустоту внутри меня заполняет.
>>1161012Агрегатор данных.
>>1161015И куда их агрегировать?
>>1161012>>XML>В пизду, лепи JSON везде.Не надо быть таким категоричным.XML - типизированный (схема). JSON - нет.А кроме смузи есть ещё и водка, например. Попробуй.
>>1161024А еще можно самогон на курином говне настаивать, но зачем?
>>1161014А что за работа у тебя?
>>1161027В отличие от смузи, водка расширяет сознание.Например, может поспособствовать пониманию того, чем типизированное отличается от нетипизированного.
>>1161029Я не спорю, у всего есть свое применение, но из-за постоянного употребления водки можно стать алкоголиком, наркоманом или проституткой.
>>1161028Фрилансю в Копирайтинг. Но как только за статьи принимаюсь, то сразу настроение падает, хочется на дваче посидеть, ютубчик глянуть или вообще спать пойти. Руки просто опускаются, продуктивность очень низкая, так как надоело.Но там 9 статей осталось доделать на $70, дальше вообще с концами постараюсь забить на это дело. Уж лучше охранником всю ночь втыкать с ноутбуком и учить Java.
>>1161029Уж лучше тогда модафинил, чем водку.
>>1161032Или всем этим сразу, лол.
>>1161033С таким рвением, после изучения синтаксиса и основ стандартной библиотеки, вполне можно уже найти работу, мне кажется. Особенно, если не гнаться за деньгами, поначалу.
>>1161038Да мне на деньги вообще пофиг. Я уже даже нашел объявление, что в Харькове будет стажировка 3 недели проходить в в мае (на Android dev'a). Это очень мотивирует. Я уже даже рассчитал, сколько нужно потратить на три недели (хостел, еда и т.д.) все по минимуму. Очень хочу постажироваться. даже если работу не получу, все равно хочу хотя бы понюхать всю эту кухню. Готов даже кредит взять, чтобы получить этот опыт, лол. Но сейчас главное не отвлекаться и продолжать учиться, что я и делаю.
>>1161043Андроид - специфическая вещь.Джава там - не основная проблема.Кредит брать не надо, это плохая идея.Если реально есть мотивация к работе, и эта мотивация - не тупо заработать денег, а работа сама по себе, то надо найти место, где это оценят. Но, место должно быть хорошим - должна быть видна перспектива.Не бойся ходить на собеседования, тебя там не съедят.
>>1155203 (OP)Немного разобрался с синтаксисом, где найти годных задач, желательно по уровню сложности, ссылки в оп посте почти все мертвые
>>1161057https://www.codingame.com/starthttps://www.w3resource.com/java-exercises/http://codingbat.com/javahttps://habrahabr.ru/post/44031/https://codefights.comhttps://www.codewars.com/
>>1161057Борду напиши.
>>1161024Можно схемы и к джейсону писать. Swagger это абузит, например.
>>1161068В сваггере очень кастрированная схема, FYI.
>>1161175Для наших кейсов хватало. Расскажешь подробнее?
>>1155203 (OP)Насколько правдиво мнение, что Java как язык устарел и сейчас повсеместно переходят на C++?
>>1161179
А как организовывать переменную-счетчик i, чтоб не быть быдлокодером: Создавать ее в начале проги: int i = 0; и в циклах for пользоваться без задней мысли:for(i = 0; i < 10; i++)//или инициализировать ее каждый раз по-новому в каждом цикле for for(int i = 0; i < 10; i++)//codefor(int i = 0; ...; ...)
>>1161233Я бы лучше использовал локальные переменные, так как переменная экземпляра в какой-то петле do/if может принять неправильное значение и вернуть совсем не то, что требуется. А переменная экземпляра пойдет в тех случаях, когда нужно использовать do-while или если переменная используется в 2-3 функциях и ее значение легко отследить при исполнении кода.
>>1161233>>1161236>Я бы лучше использовал локальные переменныеНе "Я бы лучше", а вообще без вариантов - только локальные переменные.А общая переменная (или поле класса) - это и будет лютейший быдлокод.Кроме каких-то особых случаев, которые даже и придумать не так-то просто.Смысл - читаемость кода (и всё, что из этого следует) стоит в 1000 раз больше, чем экономия 4-х байтов (int) в языке с автоматическим управлением памятью.А вот использовать какую-то локальную переменную _внутри_ цикла (каждый раз создавать) - не надо. Например, при переборе коллекции ссылку на элемент.Лучше создать перед входом в цикл. Хотя, хз, возможно, что это само оптимизируется при компиляции, можно посмотреть байткод.
>>1161244> Лучше создать перед входом в цикл. Хотя, хз, возможно, что это само оптимизируется при компиляции, можно посмотреть байткод.Оно 100% оптимизируется JIT'ом (но не конпелятором в байт-код). Так что замедление если и будет, то только в интерпретаторе.
>>1161244>Смысл - читаемость кода (и всё, что из этого следует) стоит в 1000 раз больше, чем экономия 4-х байтов (int) в языке с автоматическим управлением памятью.Дважды пидор:1) Пользоваться автоматическим управлением памятью;2) Не экономить байты.
>>1161252Ты забыл инверсию перед каждым утверждением.
>>1161176Нет anyOf, oneOf, вместо них ублюдочный discriminator, нет patternProperties, далеко не везде можно $ref, ещё нельзя нормально разбивать paths на несколько файлов. Не рекомендую короче. А вот сама по себе jsonschema годная штука.
>>1161264Зато это нормально на Java классы ложиться.
>>1161282Всё просто:Ложит - что делает.Ложить - что делать.Что делает - ложится.
>>1161282Ну.. каждый хвалит своё болото.
>>1161196Нет, я правда слышал такое мнение от людей. Вот и хочу узнать тут, насколько это соотносится с реальностью.
>>1161309Нихуя ты обнаглел, зелёный.
Где найти адекватную инфу о многопоточности?Работаю с интерфейсом javafx, там есть пару контроллеров, при клике на них необходимо выполнить события в 2х потоках, которые были запущены при старте программы.
Вопрос такой: как джавапетушня умудряется писать код уровня int a = 5; string b = "vasya" ипри этом зарабатывать минимум 60к на джуниорской вакансии без опыта?
>>1161377softskills
>>1161375> Где найти адекватную инфу о многопоточности?java concurrency in practice
>>1161375Для жавы есть же пикрелейтед. Конечно она немного устарела, но базовые основы в ней есть, а все остальное можно (в основном fork/join из java7 и параллельные алгоритмы из java8) прочитать в документации.
>>1161375> выполнить событияЧочо?Для асинхронности в GUI - используй CompletableFuture.Или Rx. Но это будет сложнее, и не факт, что лучше.Если же у тебя реально там какие-то потоки постоянно крутятся, с которыми тебе надо взаимодействовать из UI - то выше тебе уже сказали. Думаю, что всё сведётся к блокирующей очереди, в которую твой гуй будет что-то класть, а фоновый поток - забирать.
>>1161396> Думаю, что всё сведётся к блокирующей очереди, в которую твой гуй будет что-то класть, а фоновый поток - забирать.У JavaFX нет встроенного цикла событий как у всех нормальных гуйных фреймворков? Пусть его и использует.
>>1161397Ты не понял вопроса.
>>1161401Блокирующая очередь это и есть цикл событий. В JavaFX нужно делать всё самому, ручками? Вон в C# это всё встроено прямо в язык, можно вообще не заморачиваться. В Qt цикл событий так же есть, ты работаешь поверх него. А что там с JavaFX?Или ты имеешь в виду создать тред с отдельным циклом событий и туда отправлять сообщения? А оно ему нужно? Чем эти потоки у него там занимаются?
>>1161403>Или ты имеешь в виду ...Да, только это он имеет в виду.Какие-то 2 потока, которые запускаются при старте программы.Хуйня какая-то, конечно. Скорее всего, ему нужна асинхронность (как обычно), а не параллельность.Но я написал про оба варианта.
>>1161403>Чем эти потоки у него там занимаются?Один клиент, т.е. отправляет данные серверу а второй типа сервер, который парсит входящие данные. Нужно что бы по нажатию кнопки клиент отправлял данные серверу(не важно, своему или чужому), а если на сервер приходят данные то происходит какое то событие, и гуи обновляется.
>>1160970Сейчас от XML отказываются. Приложение на том же спринге почти в любом случае можно написать вообще без XML.
>>1161416Для этого обычно используют фреймворки, которые всю эту хуйню с тредамами делают сами. Например в твоём случае можно использовать какой-нибудь фреймворк для работы с вебсокетами. Например спринг, хотя чисто для вебсокетов есть и другие варианты.
>>1161420Думал сначала жаву освоить а потом спринг учить, даже на курс фришные в универе пошел.Хз, хотелось бы как-нить решить, буду думать на основе того что сказали аноны, ибо наверное рано еще спринг учить.
>>1161416У тебя какая-то хуйня с постановкой задачи.>Один клиент ... а второй типа серверИ оба локально запущены? А рядом гуи?Что это, вообще?>не важно, своему или чужомуНихуя себе, ты абстрагировался.Да их ещё и несколько?Что это?>а если на сервер приходят данныеОткуда приходят? Как?И т.д. и т.п.>Думал сначала жаву освоитьТы как-то резко начал её осваивать, лол.
>>1161429Очевидно же, он хочет сделать джве программы, которые соединяются между собой по самодельной пиринговой сети и обмениваются данными. В любом случае ему придётся изучать сокеты и многопоточность чтобы сделать что-то вроде такого и сделать эффективно.
>>1161432>Очевидно жеНет, из его текста это не очевидно.Но, возможно и так.И, если так, то это не очень умно - ввязываться в такой проект не имея базовых понятий о подобных вещах, не покопавшись в чужом коде и т.п.Получается квест "Как соснуть по-быстрому и решить, что ни на что не годен".
public class _C { private static int $; public static void main(String[] main) { String s1 = "Java"; String s2 = "Java"; StringBuilder sb1 = new StringBuilder(); sb1.append("Ja").append("va"); System.out.println(s1 == s2); System.out.println(s1.equals(s2)); System.out.println(sb1.toString() == s1); System.out.println(sb1.toString().equals(s1)); }}почему выделенная жирным строчка выдаст false?
>>1159762Бамп.
>>1161485Читай как работают строки.
>>1161485потому что разные ссылки
>>1161493так а почему ссылка sb1.toString() не будет указывать на тот же самый объект "Java" в памяти, что и s1 и s2?
>>1161017В пизду твоей матери.
>>1161485Попробуй еще так:System.out.println(sb1.toString().intern() == s1);и гугли String Pool
>>1161309Бмп вопросу.
>>1161508> intern()Ни разу в жизни не видел нигде использование этого метода (вне статей про него самого). Байтоебство не нужно.
>>1161523Не нужно сравнивать объекты через ==, долбаёб.
>>1161497А почему должна?
>>1161525Идиотик, а кто тебе сказал, что это кто-то делает?
>>1161523Ходит слух, что на собеседовании спрашивают.
>>1161485Суть дела в том, что "==" тупо сравнивает примитивные значения операндов.Для операндов-объектов - это будут ссылки на эти объекты.И, если ссылки одинаковые - указывают на один и тот же объект, то true.Почему s1 == s2 тебе уже объяснили - литеральные строки интернализируются при компиляции, т.е. у тебя в коде не две строки, а одна. И ссылки одинаковые.В sb1.toString() создаётся новая строка.Она не интернализирована (ибо _создана_ в рантайме).Естественно, ссылка на неё - другая, поэтому false.>>1161523Где ты увидел байтоёбство?Не нужно знать основы работы Java VM?Возможно. Но и зарплата тогда будет другая.
>>1161535Пиздеж. >>1161544> Где ты увидел байтоёбство?> Заморачиваться ручной еблей с пулом строк> Но и зарплата тогда будет другая.Ты сам кто? Ты представляешь себе, чтобы рабочее повидло или боевую помидорку спросили об интерне? Это никем нигде и никогда не используется. Я бы понял если бы ты стал про вик и фантомные референсы затирать, еще куда ни шло. Не позорься нахуй со своим стрингинтером.
>>1161548Что такое "повидло"?Помидорки какие-то.Ты в детском саду работаешь?
>>1161554Привет, ньюфажный войтивайти. Провел хуем по губам твоей матери.
>>1161561Отойди от зеркала, опездол малолетний.Ваннаби помидорка, лол, блядь, дегенерат.
>>1161568Ньюфажный войтивайти не в силах вытянуть разговор о джаве и реальном мире загорелся и горит.Выебал тебя в сраку и оставил лежать на обочине жизни.
>>1161578https://www.youtube.com/watch?v=nVmlrGmo4tY
Нахуй вы оезете своими грязнымируками в общий пул строк? intern не для вас написано! Хотите свой пул строк - сделайте/используйте. А интерн и так заебан.
Сап джаваны дали пилить рест апи. Как лучше сделать аутентификацию ? Везде советуют oauth2, но это говно выглядит таким громоздким.
>>1161596Если рест работает поверх SSL сделай на элементарном basic.https://en.wikipedia.org/wiki/Basic_access_authentication
>>1161650Можешь представить себе безопасную аутентификацию без SSL, наркоман? Без предварительного обмена ключами, конечно.
Как лучше организовать доступ к страничке с объектом: /entities/object?id=12345 или /entities/object/12345 ?
>>1161650Ну хотелось бы по-модному и стейтлесс.
>>1161741Дело вкуса, если только там только 1 параметр, то пусть будет пас вариейбл, если их много, то лучше все через параметры.
Почему метод main нельзя вызывать где-то в другом классе как обычный статический методpublic class Zoo {public static void main(String[] args) { System.out.println("Welcome!"); }}public class Animal { private String name; Zoo.main();}
>>1161768> Zoo.main();Потому что main нужны аргументы, которых ты не даёшь. Попробуй Zoo.main(null);
>>1161737Сам ты наркоман. Digest Authentication
>>1161773При известном имени пользователя твой дайджест взламывается перебором мгновенно, при отсутствии - за полчаса на топовом железе.
>>1161788> переборомЧто мешает ограничить количество запросов аутентификации?
>>1161772Cannot resolve symbol 'main'
>>1161793УМВР. Значит как-то не так конпелируешь.
>>1161791Нет, ты не понял. Любой скриптошкольник васян, подслушавший трафик и получивший дайджест логина с паролем, считай, автоматически знает логин с паролем без единого обращения к веб-сервису, у него же уже есть хэш, дальше дело техники.
>>1161795>УМВРЧЯДНТ? Там всего 2 класса, код которых представлен выше. Мне просто интересна логическая составляющая этого вопроса, то есть с помощью Zoo.main(null) можно запускать программу из любого класса и не будет ошибки "у вас нетmain метода"?
>>1161811Ты не запускаешь программу, а запускаешь метод main. Я тебя не понимаю. Ты хочешь создать свою библиотеку или что? Так-то ты из любой сторонней программы можешь импортировать главный класс и запустить оттуда main, только зачем тебе это?
>>1161816> зачем тебе это?я готовлюсь к оса
>>1161741Без разницы.По rest вообще /objects/123 будет.
>>1161743JWT
>>1155203 (OP)>дуй в ПХП/раби/1С>рабиЧто за еврей?
>>1161866Кстати, рест контроллер у меня возвращает только данные, а обычный контроллер - ModelAndView странички. Это правильно?
>>1161768нельзя просто посреди класса функцию вызвать, можешь вторую функцию main сделать в Animal и из нее вызвать Zoo.main(null)
>>1161879Хотелось бы посмотреть как REST-контроллер страничку будет возвращать.
>>1161883В виде строки очевидно.
>>1161883в смысле как? в jax-rs есть viewable например
>>1161884Уверен? Возвращаемая строчка -- локальный адрес View, redirect://<view>, а @RestController выдаёт body. Ну это если я не путаю.
>>1161886Соси.
в джаве ноль всегда берется с положительной стороны во всех примитивных типах и всегда будет 0000 0000 например в byte ?
>>1161941Из примитивных типов отрицательный ноль же есть только в числах с плавающей точкой, разве нет?
Где можно найти хороший гайд именно по оформлению кода,
>>1162006
>>1162009спасибо конечно, номне бы именно по Java и в электронном виде...
>>1161941> byte Не используется. Не нужен.
>>1162022Его можно юзать как переменную-счетчик, если в проге нет миллионных итераций, для экономии байтов.
>>1162022я разбирал данные, приходящие из gps приёмника. Оно отсылало в с кодированием по маскам
>>1162022Это не меняет вопроса, ну хорошо 0 в int это только 32 нуля?
>>1162026У тебя компилятор оптимизирует byte в 32 бита (по факту в int) для того чтобы в стеке было удобней обращаться к переменной
>>1162032Упс..и short тоже?
>>1162034Да. У тебя на стеке лежат значения примитивных типов и ссылки на объекты. Так вот если у тебя 32х битная и 64х битная программа, то минимальный адрес памяти, к которому будет обращаться JVM это 32 и 64 бита соответственно, для оптимизации меньшие по объёму памяти типы будут приводиться к этим занчениям,
>>1162036по крайней мере я вижу это так
>>1162030Прити матч. Вообще это легко проверяется знаешь ли. Ты там батоебить собрался или где?
>>1162058нет, просто собеседоваться скоро буду, надо мобилизовать знания
>>1162074Потом расскажешь итт про ход и результаты собеседования?
>>1162085Зачем? Зачем рассказывать о том, что почти у каждого человека итт было кучу раз?
>>1162085расскажу, но в мы вам перезвоним треде, здесь же всё-таки другие вопросы обсуждаются,
Почему навигация по страницам во фримаркере такая жопная?
>>1162118По каким страницам, наркоман?
Допустим у меня есть класс десерты, который содержит в себе только id, от него наследуются класс мороженка и тортик, которые имеют свои поля, имена, размеры и т.д.Я создал ArrayList от общего класса и я его юзаю в некоторых для себя моментах. Но сейчас встал вопрос, как мне вытащить определенный класс наследника от общего класса? Если лист у меня содержит примерно такое: Ice-Cream, Cake, Cake, Cake, Ice-Cream.
>>1162215Никак. Проверять через instance of и кастить
>>1162215То, что такая необходимость возникла, говорит о проёбе в дизайне кода. Надо переделать.Если не можешь, то проверяй каждый объект, как уже написали.
Каково это осозновать, что вы не хозяева положения в вашем языке, а за вас решает какая-то там машина когда освобождать память и удалять объект??
>>1162356Охуенно!
В каких случаях ссыла на объект может создаваться в heap? Она же вроде всегда должна лежать на стеке
>>1162360>В каких случаях ссыла на объект может создаваться в heap?Они же всегда там создаются.
>>1162444а стек тогда где?
>>1162453Скорее всего только JIT'ом в случае очевидных оптимизаций. А вообще в жаве нет стековых объектов (как структур в C#), по крайней мере пока не закончили проект вальхаллу.
>>1162360>всегда должна лежать на стекеС чего ты это взял?Просто интересно.
>>1162215Так не делают.В общих чертах - это не должны быть отдельные классы, если тому нет серьёзных причин.Если есть, значит у них должен быть общий интерфейс (не суперкласс!), а там должен быть метод getItemType(). Сам тип может быть int, может быть enum - зависит от задачи.Вообще, для такой задачи сам тип объекта можно сделать объектом, с какими-то свойствами и методами.Или в enum определить доп. свойства.И т.д. и т.п.
Что стоит прочесть по дизайну в ОО парадигме, если ты уже не ждун?
>>1162511Очевидный Grady Booch очевиден.Ну и вот это можешь посмотреть:http://www.allitebooks.com/object-oriented-analysis-design-and-implementation-2nd-edition/http://www.allitebooks.com/object-oriented-design-using-java/
>>1162511то что ооп не нужно
>>1162511И от себя могу добавить:- Не плодить ненужных сущностей.- Интерфейсы вместо суперклассов.- Делегирование вместо наследования.Также, рекомендую читнуть "Design Patterns in Ruby" (Russ Olsen, 2007) - первую главу, остальное - по желанию.Маленькая цитата:• Separate out the things that change from those that stay the same. • Program to an interface, not an implementation.• Prefer composition over inheritance. • Delegate, delegate, delegate.To these, I would like to add one idea that is not really mentioned in Design Patterns, but that guides much of my own approach to building programs:• You ain’t gonna need it.В книжках про Ruby вообще можно почерпнуть массу идей.Брюс Тейт, в своё время, почерпнул, и написал "Better, Faster, Lighter Java", охуенную книжку для своего времени.>>1162524 - кун.
>2К18>ООПхахахахахах
>>1162569Уроки выучил на завтра?
>>1162524>>1162549Спасибо!
>>1162012https://google.github.io/styleguide/javaguide.html
>>1155203 (OP)var a = new Integer();
Sosacher s = new Sosacher( >>1162974 );s.markAsEbanat(true);getBioreactorService().process(s).andThen(sendNotification("Another ebanat eliminated successfully"));
>>1162998>s.markAsEbanat(true);пиздец
>>1163010Что такое, синьор?Чем вы недовольны?Может быть вам сходить на хуй проветриться?
>>1163011Либо s.markAsEbanat(); s.unmarkAsEbanat();Либо s.isEbanat(true);Либо пошел нахуй.
>>1163013>s.markAsEbanat()Я так и написал сначала.Но, потом решил усилить эффект.Возможно, будучи двачером, вы слышали такие выражения как МПХ, например.Так вот это - то же самое.сам пошёл, лол
Почему y стал 20678??Ведь если рассуждать логически: 1921222 слишком большое число чтоб храниться в short, соответственно явно приведем это int овое значение к short, но ведь оно должно тогда уж привестись к максимальному значению shot, а это (2^15 - 1) = 32767так почему так получается ????
А как вам такой код:short x = 10;short y = 3;short z = x * y; //не компилируется, кто догадается почему тот молодец!!!!как же у меня горит от джавы
>>1163035https://stackoverflow.com/questions/2256864/why-is-the-resulting-type-of-a-division-of-short-integers-in-java-not-a-short-inКомментарии прочти.Java copied this behaviour from C, etc.>>1163029Всё просто.Обрезается в двоичном виде.Берутся младшие 15 байт.В 16-м - знак.Зачем тебе шорты в джаве?Байты иногда нужны для байтоёбства, а шорты зачем?Выгоды по памяти нет (кроме какой-нибудь экзотики с упаковкой).В реале видел только в каких-то старых API, типа POI-HSSF.И там это, видимо, связано с интеграцией с сишными либами.
>>1163043>15 байт.Бит, конечно же.
Пиздец, только вчера изменения в статических ресурсах появлялись при обновлении страницы, сегодня нет. Спрингбут, зависимость devtools есть, галка Build projects automatically есть, в регистре тоже есть. Хуйня какая-то.
>>1163043>Java copied this behaviour from CНо в С такого маразма нет, по крайней мере в плюсах нет
>>1163013>Либо s.isEbanat(true);Обосрался с этой переписки двух июней-дегенератов.
>>1163077>июнейВаннаби-синьор в треде!Все в машинный зал!
>>1163063Нинужно, если есть IDEA. Т.е. нинужно никогда.
>>1163104Вот именно, что она есть, и нихуя не обновляется.
>>1159778ой, не пизди. Всегда смотрю гихаб. И если там код херовый, нет гитхаба - пишу хрюшкам, что кандидат не подходит
>>1163118Т.е. ты ожидаешь, что помимо работы человек должен ещё иметь какие-то пет-проекты обязательно?Я бы решил, что это скорее минус, чем плюс.Хуёво работает, значит.
>>1163104Да и спринг, в общем-то, тоже, лол.
>>1163124если ты любишь свое дело, то сможешь выделить 1-3 дня на пет проектик. Если способен гореть идеей, то запилишь крутой проект. Свой гитхаб - это показатель твоей любви к ремеслу и качество твоего кода. Он упрощает и мне работу как тимлиду и тебе как соискателю. И нет, там куда я смотрю резюме - работают не за еду)
>>1163124>должен ещё иметь какие-то пет-проекты обязательнот.е. за год-два работы ты не разу не смог придумать и найти АЖ БЛЯДЬ ЦЕЛЫЙ ДЕНЬ на то, чтобы запилить валидатор/говнолибу/калькулятор(но ахуенный с точки зрения архитектуры)? Ну тогда тебе "перезвонят"))
>>1163134>пишет с маленькой буквы>учит жить, выёбываетсяВы посланы, сударь.Отправляйтесь не медля.
Как узнать общее количество объектов в ответе, если рест контроллер возвращает их постранично?
Сап джаваны посадили пилить SPA на свою же апи, какой ЖС-дилдак фреймворк выбрать? Опыт написания нет.
>>1163176React + Redux.
>>1163176Kendo или React.
>>1163112Убери devtools и узнай наконец hot code reloading.
Jacob Jenkov:From now on, the usage of "if" statement should be considered as anti-pattern and must be avoided at all costs. That's it. Period.
>>1163176Если до этого имел дело с шаблонами и jquery, то Angular. А так - React.
>>1163207Я:Jacob Jenkov саси
>>1163207Погуглил.Какой-то пиздобол.Сам себя называет "антрепренером".
Ребят расскажите сложно ли сделать перекат с миддла джс на джаву?В моем маня мирке месяца хватит для джуна
>>1163215Какова мотивация?
>>1163216Хочется более в телефончики и десктоп попробовать как люди, а не с ебаными фреймворками
>>1163222Десктопа на джаве давно уже нет.За редким исключением.Телефончики - это андроид?Или ты Java ME имел в виду, для Nokia 40-й серии, лол?Андроид - вещь на любителя.Но, не исключено, что тебе понравится.Я бы рекомендовал сначала попробовать - для этого не обязательно куда-то перекатываться. Пиздуешь на developer.android.com и читаешь, что там написано.
Есть кто может запилить / помочь запилить быстро простенький чат на джаве, без всяких приблуд, клиент-сервер через сокеты с отдельными комнатами? Заплачу
>>1163228Ну я.
>>1163239Пили контакты и цену
>>1163241akakdkska@yandex.ru
>>1163176vue.js, базарю.
>>1163228МОгу на node, за неделю.
>>1163175Сделать отдельный запрос на общее количество.
>>1163355Но почему вообще этот ваш спринг может выдавать такое _страницами_?Как это возможно?мимо другой анон
>>1163175Хуй знает что ты там наворотил, но с этим справляется даже индус.https://ankushs92.github.io/tutorial/2016/05/03/pagination-with-spring-boot.html
>>1163365Я ебу что он там страницами выдает? Может там не страницы, а просто после такого-то айдишника и так далее.
Правильно ли я понимаю, что те, кто пишет на спринге, мало отличаются от жс-макак, пишущих на своих фреймворках, и не понимающих, как оно всё работает?Ни разу не пользовался эти вашим спрингом.И, при взгляде на код, ни разу не возбудился, ибо хуета какая-то.И да, я понимаю, зачем он нужен.Но юзаю ванильный Java EE (без EJB, JPA и всяких хибернатов). Для ORM - MyBatis (IBatis) или вообще самодельные DAO.
>>1163375Хм, так значит все еще проще.
>>1163365В станице спринга есть количество записей всего. И он для этого делает ещё один запрос на count.
>>1163399Земля тебе пухом.
Часто ли вы пользуетесь Exception-ами? Ну там try{} catch() {} ? Это нужная вещь или хуита?
>>1163545Самими эксепшонами пользуюсь, а вот try/catch использую довольно редко, ибо в основном пишу на reactor'е, а там ошибки ловятся по-другому.
>>1163553>Самими эксепшонами пользуюсьКакими и для чего в основном?
>>1163560Если эксепшон нужен просто чтобы вывести пользователю сообщение об ошибке кидаю простой субкласс MessageException со строковым параметром, объясняющим что за ошибка (например если в запросе несовместимые параметры или если объект по индексу не найден, например). Свой класс использую для того, чтобы любые другие ошибки логировать и затем смотреть где, когда и почему они возникли (потому что по-идее их быть не должно). Больше в основном и не пользуюсь.
>>1155287рекомендую онли физику и матем, на остальное не трать силы и энергию
Какую книгу почитать по яве, чтобы двинуться дальше знания базового синтаксиса? Знаю понемногу всякого, работал сразными фреймворками, суть не в том чтобы выучить какие нибудь буковки или синтаксис, а втом, что скорее всего все это говнокод и нужен какой то некстлевел.
>>1163132Такие, эмм, "люди" как ты превращают айти в блядский цирк галерного рабства и выгорания на скорость.Ведь ты мало того что должен удовлетворять всем требованиям, что в прицнипе нормально, так еще и иметь гитхаб, в котором ты после 8 часов работы еще вечером пишешь, что уже пиздец. Ни на одной работе такого не требуют, кроме как войти.Что бы я вывел из такого - не то, что человек лучше пишет код, а то, что человек готов кодить 24 на 7 и как следствие, готов въебывать без ограничений если надо будет, и что есть мотивация во имя "благой" цели стать "крутым кодером", которую можно направить в овертаймы.
>>1163594А можно втайне заливать на гитхаб то, что ты пишешь на работе.
>>1163606Ну если догоадаются то покажешь себя не ок, тк обычно в договоре есть пункт что все что ты сделал принадлежит компании. Сразу покажешь что ты готов их кидать.В прицнипе может и похуй, не знаю.
>>1163132>и мне работу как тимлиду и тебе как соискателюСынок, если честно, я не думаю, что мы когда-нибудь с тобой встретимся.По крайней мере, в такой позиции, лол.
>>1163518Да у тебя же нибамбит, лол.Хуёв тебе тачку.
>>1163560>Какими и для чего в основном?Посмотри иерархию наследования класса Exception.Там каждое имя говорит о том, для чего оно может быть использовано.Вввод - вывод, преобразование типов, сетевые операции, работа с бд, многопоточность, reflection, сериализация и прочее - если ты такого не пишешь, то тебе exceptions не нужны. Да и джава тоже, скорее всего.
Подскажите пожалуйста. У меня есть один ArrayList который заполнен интами от 0 до 1000, есть второй ArrayList в котором есть некоторое количество чисел от 0 до 1000, как мне из первого удалить все числа, которые встретились во втором?
Как заставить джаву нажимать кнопки в какой-либо программе? Например мне нужно нажимать кнопки в дискорде
>>1163834кроме как через java.awt.robot
>>1163834Анус себе понажимай, довен.
Подготовка к ОСА продолжается, как и батхёрт,объясните мне что не так с этим языком???
>>1163835Прикольный класс.
>>1163870Спеку читай.
>>1163870Можешь попробовать использовать нормальную IDE.Помимо прочего, она напишет тебе, что не так.
>>1163828removeIf + contains например
>>1163828Если массивы отсортированы, то делается элементарно одним циклом.
А как сделать, чтоб NetBeans с полуслова угадывал что я хочу написать и предлагал варианты. Ну например вводишь Str, а он тебе в выпадающем списке предлагает String. Ну вы поняли. Может есть такой модуль?
>>1164062>А как сделать, чтоб NetBeans с полуслова угадывал что я хочу написать и предлагал вариантыСкачать идею.
>>1164074Возможно надо скачать. Я в нетбинсе даже оформление как в идее накатил, лол. Но все же в хотелось бы для нетбинса такую фичу.
>>1164062UPDВсё, я сделял. В нетбинсике тоже есть такая фича, просто надо в настройках автозавершения кода поменять кое-что. Свободное Программное Обеспечение > проприетарное платное
>>1164100Идея бесплатная (community) чем не устраивает?Это разного класса совершенно инструменты, так что свободное-несвободное значения вообще не имеет.Не говоря уже о том, что платность лечится.Как и несвобода. Прямо встроенным декомпилятором, например.
>>1164126>Идея бесплатная (community) чем не устраивает?Spring не поддерживает. А пиратить это не выход. Приедтся каждый раз перепирачивать с выходом каждого нового патча.
>>1164150> Приедтся каждый раз перепирачивать с выходом каждого нового патча. Ну он не так часто обновляется. И единственное что нужно сделать после обновления, это добавить в конец idea64.exe.vmoptions строку-javaagent:C:\data\JetbrainsCrack.jar
>>1164219На самом деле даже это не нужно, всё ещё проще.гугол в помощь
>>1164312Они частенько банят левые сервера. Это пока что самый надёжный способ. Ну и работает со всеми продуктами JB.
Сап хелпач.Есть рест сервис на спринге с постгрес бд. Как мне сделать обзёрвер чтобы когда я добавлял данные в бд этот обзёрвер вызывал натификейшн метод(не важно какой сигнатуры)?
>>1164704Если jpa, то там что-то вроде postpercist есть.
Нубский вопрос, но все же. С помощью какой библиотеки или фреймворка в Java рисуют интерфейсы десктопных приложений? В C# понятно, там WinForms или WPF. В Java насколько знаю есть AWT, но это устаревшая хуйня вроде.
>>1164852Swing или JavaFX, но обычно не рисуют.
>>1164854А как тогда интерфейсы десктопных Java приложух делают?
>>1164857Да никак не делают. ГУЕвных программ на java очень мало.Если хочешь что-то простое, то используй Electron, если попирформансней, то Qt.
У меня есть A, в которой есть поле bList, которое представляет собой List из сущностей B. Я хочу выбрать из БД все сущности A, bList которых содержит все элементы из передаваемого на вход List из сущностей B. Как это сделать с помощью CriteriaBuilder?
>>1164922сущность A*
>>1164922Похоже, метод CriteriaBuilder.isMember() — это то, что мне нужно. Получилось как-то так:https://pastebin.com/MAvcFzAa
Почему мои программы, скомпилированные в jdk 1.8 (jre 8), не работают на компах с джавой 7 ?
>>1165012Потому что им нужна джава не менее восьмой, duh. Но ты можешь поковырять опции компиляции и компилировать под код седьмой.
>>1165012Ты дурак?
>>1165016Дураки не могут реализовать обратную поддержку версий.
>>1165026Обратная совместимость - это когда код сконпелированный для jre7 работает на jre8, а ты хочешь прямую поддержку. И да, с ней никто не заморачивается, фичи-то добавлять надо. Особенно учитывая, что в java8 изменился формат байт-кода.
>>1165026Впрочем начиная с java9 обратная совместимость тоже пошла по пизде. Спасибо жигсо. Некоторые библиотеки до сих пор на java9/10 не портированы.
>>1165035Не портируют, потому что десятка будет lts.
>>1165036Одинадцатая. Десятка уже вышла.
>>1165037Обосрался, спасибо.
Где перекот?
>>1165149У перекатчика просто GC включился. Ждем.
Здарова, джависты.Вкатываюсь в джаву самостоятельно вот уже на протяжении 5-6 месяцев. Собственно ищу ментора. На небольшой промежуток времени. Естественно, не безвозмездно. Подробности обсудим.Почта: devilisfine@yandex.ru
>>1165211https://www.youtube.com/watch?v=VlkPGL7KEnI
You know why the java coders wear glasses?No, why?Because they don't c#
>>1165211Пиши, что тебе конкретно от ментора нужно.
>>1163185а backbone+ bootstrap уже не модно?
>>1164704Триггер на инсерт и апдейт, в этом триггере записываешь флаг куда-нибудь.Этот флаг периодически читает твой спринг. Например раз в 5 секунд. И когда прочитал изменения - ставит флаг обратно
>>1165337> Этот флаг периодически читает твой спринг.События в спринг не завезли?
>>1165364как ты собрался из базы долбиться в джаву?
>>1165365У постгреса есть нотификации. Hibernate их не поддерживает, однако с ним они и не нужны, ведь триггеры можно поставить непосредственно на него.
>>1165372и кто кого нотифицирует?
>>1165337Куда-нибудь, это сюда:https://www.postgresql.org/docs/9.0/static/sql-notify.htmlА вообще, порядочнее будет использовать https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/support/TransactionSynchronization.html и не ебать мозг.
>>1165372Эти нофикации - суть обычный пайп, пока кто-то на другом конце не начнет "сосать" - никаких извещений не будет. TransactionSynchronization или ебаться с aspectj.
Вот тут пример. https://stackoverflow.com/questions/21632243/how-do-i-get-asynchronous-event-driven-listen-notify-support-in-java-using-a-pИнтересно, никогда не слышал
>>1165384> pgjdbc-ng> Latest commit c50d335 on Feb 14, 2017> https://github.com/impossibl/pgjdbc-ng/issues/336Мне кажется этот драйвер немношк устарел.
>>1165256see sharp
>>1165211Расскажи как вкатываешься. Что прочитал, что изучил, что написал? Лвл, образование, английский?
перекатhttps://2ch.hk/pr/res/1165567.htmlhttps://2ch.hk/pr/res/1165567.htmlhttps://2ch.hk/pr/res/1165567.htmlhttps://2ch.hk/pr/res/1165567.htmlhttps://2ch.hk/pr/res/1165567.htmlhttps://2ch.hk/pr/res/1165567.html