Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.
итак, работаю с прошлого понедельника. Ко-ко-ко микросервисы, ко-ко-ко бигдата, ко-ко-ко аджайл.
В реальности сотня хранимок, быдлокод уровня field == null ? "null" : field. Тесты в виде копипаста. Каждый метод по тысяче строк (серьёзно). Класс по 3к строк. Вся бизнес-логика в хранимках. Ключи в базе естественно текстовые, да ещё и разные для каждой локализации
Сап. Есть проект, где есть импорты: import peedorashka.zalupa.Lupa; Но самого пакета peedorashka нет - его надо скочать. Так вот, скочал я его, а дальше что? Интересует главным образом добавление в IntelliJ Idea.
>>1155203 (OP) Суп пр. Есть Stream<String> in = Files.lines(Paths.get.... Нужно обработать посимвольно входной файл и вывести в выходной. При этом может попасться недопустимый символ. В этом случае нужно остановить работу функции. Из forEach нельзя кинуть исключение (можно только то, что наследуется от непроверяемого, но это говнокод же). Единственная возможность прервать forEach() использовать вместо него allMatch() и тогда будет что-то вроде: if(!in.allMatch(this::test)). Тоже хуево, как мне кажется. Предикат не должен менять чье-то состояние. Вообще для моей задачи идеально подходит .map(). Но исключение из него тоже не кинешь нормально.
Так вот, опытный анон, хули делать? Стоит ли ебаться со стрим апи, или для этих целей он не предназначен и придется работать с каким-нибудь массивом строк?
>>1155236 Не знаю, может потому что я пишу неделю на джаве и это мое оценочное суждение, которое было выражено даже скорее как вопрос. Т.е это нормальная практика?
Еще один вопрос про стрим АПИ. Как грамотно вывести то, что я получил из метода 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 Если только начинаешь, то лучше бери Руковдоство для начинающих Шилдта. Там вопросы и упражнения есть. А потом дальше изучаешь библиотеки по справочнику.
>>1155215 Я в каком-то гайде читал, что html страницы надо кидать туда, чтобы изменения сразу было видно, а потом в настройках мавена дописать, чтобы он переносил все оттуда в static или templates, это для этого используется?
>>1155234 Так а в выходной файл должно в любом случае писаться или нет? Если да, то в JDK9 есть takeWhile. Сделать можно по-разному. Сделай так чтоб работало, а потом причесывать будешь.
>>1155289 Applet-ы мертвы полностью. AWT/Swing/JavaFx пропускай тоже - это понадобится только если у тебя не много вариантов с работой, а работодателю нужна макака на GUI, но это мёртвый путь разгребания легаси-говнокода. Ну или тебе очень надо десктопное приложение, а ничего кроме Java ты не знаешь. Хотя, понимание того как строятся интерфейсы они дадут, но лучше это делать с помощью html/css/js (react/angular/vue) - 2018 год на дворе.
>>1155322 >>1155320 >>1155317 Господа, не надо паники. Swing никуда не денется в сколь-нибудь обозримом будущем. Разве что, вместе с джавой, лол. А вместо апплетов есть JWS.
А вот JavaFX - получился мертворожденным. Оракл на него откровенно забил, бросив на полдороге недоделанным, в пользу облачной хуеты. Дизайнер тупо убрали со своего сайта даже. И молчат, типа так и надо. Пидарасы.
Так вот, например, есть такой JFormDesigner - лучший дизайнер для Swing GUI, хотя и коммерческий. И после долгого перерыва они в прошлом году снова активизировали разработку, выпустили новую версию и продолжают пилить. Как вы думаете, с чего бы вдруг, если свинг "не нужен"?
Я предполагаю, что это ещё и от того, что надежды многих людей на джаваскрипт/html5 как средство создания UI, не оправдываются. Заебал он уже довольно многих.
JIDE регулярно выпускает обновления, хотя и не особо развивает функционал.
IDEA (и все остальные продукты JB) использует Swing, если кто не знал.
Но, нужно понимать, что десктопный гуй вообще становится нишевой темой. Так что для вкатывания это, возможно, не лучший вариант.
Джаву вообще реально выучить для работы, не имея вышки по проганью? Или лучше не тратить время и учиться писать сайты на php/ruby? Учу джава кор идет хорошо и интересно, но чет я застремался прочитав сколько всего будет нужно выучить.
>>1155358 Съебать в веб макакинг всегда успеется. А знания Джавы никогда не помешают. Тем более что можно в смежные области перейти аля Scala и прочее. В общем это хорошая база, раз уж начал не бросай на пол пути
>>1155371 Последний спринг няшный, особенно с реактивным веб-фреймворком. А с котлином вообще охуенно, можно писать бины в функциональном стиле на котлиновском DSL безо всякого XML-говна и аннотаций. И запускается всё это (если использовать чисто функциональный стиль) гораздо быстрее.
Как перекатившемуся с .NET Core мне новый спринг очень нравится.
>>1155358 >php/ruby php имеет смысл. Это говно все не подыхает и походу до самой нашей пенсии не сдохнет. Всякие Руби, питоны, го и прочая хипстерская шняга рискована. Это не распространено, вакансий мало и все они в ДСах.
>>1155377 Ну так пока твои приложения мелкие и не используют того, что даёт бут - да. А если у тебя сотня микросервисов - ты очень быстро заебешься свои конфиги копипастить.
>>1155381 > ты очень быстро заебешься свои конфиги копипастить Что значит конфиги копипастить? Обоснуй, что бут может упростить такого, что не могу сделать я сам средствами самого спринга иля жавы/котлина?
>>1155385 Эмм. Да ничего. Все можно самому сделать. И спринг тоже можно самому сделать, но это ты делать не хочешь. А в сотый раз конфигурировать PropertySource ты почему-то предпочитаешь руками. У бута есть вполне конкретные задачи: убрать бойлерплейт в конфигурации и принести хоть какой-то порядок в зависимости. Он с ними справляется на 100%.
>>1155389 Да везде. Датасорсы? Есть готовая конфигурация, только докинь пропертей. Те же проперти? Да легко, ямл и проперти уже настроены, даже с разделением на профили. Хочешь конфиги в одном месте хранить для всех сервисов? Одна зависимость из spring cloud и это работает. Всякие service discovery и тому подобные штуки - так же. Да блин за банальные @MockBean в тестах уже можно взять бут в проект.
>>1155203 (OP) >Q: Поздно ли вкатываться в айти в 20/30/40/100 лет? Решил вкатиться в джаву через си и кресты, т.е. последовательно изучаю плюшки в си>кресты, ну а потом уже джава. Я всё правильно делаю?
>>1155301 Мне HeadFirst показался слишком скомканным.
"Вот есть функции, переменные вот это все говно, ну там разберешься. А вот, кстати, скомпилируй это говно так, чтобы получить х. Ну если не знаешь, что это за функции новые, то погугли лол".
Вот примерно в таком формате подается вся инфа. Но там сразу пишут, что рассчитано на тех, кто уже учил ООП. И все равно задачки там интересные есть. И даже советы по реализации программ.
А так по Java три стула: Шилдт, Хортсман, Эккель. Новичкам советуют Шилдта, так ка кон все разжевывает и расставляет по полочкам. Хортсман чуть более задротский и подходит перекатывальщиакм с С. Эккель вообще хардкор говорят, хотя хз.
аноны, а как ворстребованы не сколько жаба погромисты, а мелкие писаки интеграторы для всяких джибосов и хедупов, томкатов и прочего ынтерпрайз говнеца?
>>1155537 >через си и кресты Неправильно. Это тебе вообще ничего не даст. Через питон - другое дело. Но, опять же, зачем "через", зачем окольные пути?
Английский лучше выучи, без него - любой язык программирования будет для тебя китайской грамотой. Ты просто не будешь понимать, что значат все эти термины и названия, и только и останется тупо их заучивать или искать ненужные и неуклюжие русские аналоги.
>>1155757 ну например есть solr, которы имеет плагины для предобработки, такие как лемматизация и прочее, нужно добавить новые. все это говно попытаться распаралелить хэдупом и зделоть морду на томкате.
>>1155234 Тебе не нужно бросать исключение. Вот что тебе нужно > Нужно обработать посимвольно входной файл и вывести в выходной. Ну и обрабатывай. Files.lines, флетмаппишь в сплит, фильтруешь валидные символы и обмазывайся ими.
Аноны, подскажите, правильно ли я выбрал путь вкатывания. Джава понравился интуитивным синтаксисом, кроссплатформенностью и возможностью работать в веб- пространстве. Изучаю джава-кор по книгам и курсам на английском. Параллельно придумываю какое-нибудь приложение и пишу его. Что не ясно- гуглю. Постигнув новое улучшаю приложение. Например переписываю gui со swing на javafx. Начинал с графического калькулятора. Сейчас разбираюсь с network, пишу чат на сокетах. Потом планирую вникать в Collections. Далее spring или android. Стоит продолжать в таком порядке или есть другой рациональный путь?
>>1156013 Какая-то хуйня. Посмотрел вводное видео. Дальше не стал. Обычное коммерческое блаблабла. Сынок явно возомнил себя гуру и решил основать собственную школу, лол.
>>1156041 >Любой встреченный невалидный символ должен приводить к завершению подпрограммы. Что такое "невалидный"? Например, когда ты пишешь в адресной строке какую-то хуйню, у тебя браузер сразу закрывается, я правильно понимаю?
>>1156032 >Например переписываю gui со swing на javafx. Ох, лол. Зачем?
Swing старый, некрасивый, но живой, и жить он будет столько же, сколько и джава. И на нём реально пишут коммерческий софт - просто больше не на чем.
А java fx - мертворожденная хуета. Которую Оракл, к тому же, забросил, и развивать не собирается в принципе. Нет библиотек, нет компонентов, нет инструментария, нет быстродействия. Нет ничего. Нет и не будет.
Вообще, если ознакомиться с полной историей java fх, то становится ясно, что эта технология, видимо, изначально была рождена под хуёвой звездой.
>Потом планирую вникать в Collections. >Потом Лол. Ну как можно что-то писать на джаве, не вникая в collections? Они же простые в джаве, как две копейки. Это же не скала, где с этим делом просто пиздец какой-то.
>или есть другой рациональный путь? Проблема джавы - в высоком пороге вхождения. Это простой язык. Но, чтобы получить осязаемые результаты, надо понять целую кучу вещей, с языком не связанных.
Я бы советовал сетевые технологии - spring, tomcat, вот это врт всё. Довольно быстро можно получить результат. С андроидом может быть сложнее. Ну, и в плане заработать денег - тоже перевес на стороне спринга, конечно.
>>1156074 >Что такое "невалидный"? Тебя волнует это вообще? Какая разница какие символы невалидные в моей задаче?
Есть файл, в нем есть символы. Нужно вывести их в другой файл, предварительно обработав. Не все символы поддаются обработке. Если такой был встречен, из функции нужно выходить, ничего не записав. Отсюда и исключения. Ответ уже давно дали. Хули тебе надо?
>>1156111 Ну так и изучай со словарем. На всех мало мальски приличных курсах есть субтитры. Изучаешь по книжкам до upper-intermediate или даже advanced и дальше со словарем
>>1156111 В англоязычных обучающих видео, как правило, есть нормальные (английские) субтитры.
Khan Academy java поищи на ютубе, например. Вообще, полно всего.
Из книжек - достаточно "Core Java for the Impatient", для начала, любое издание. На русском она называется "Java SE 8. Базовый курс". Перевод не читал, но, вроде бы, говорят, нормальный.
Эта книжка и интернеты, больше ничего не надо, не засирайте мозги. Ну, и Intellij IDEA community edition, конечно, никакой эклипсы и прочей хуеты.
>>1156085 Двачую этого человека. Сам только вкатывальщики. По такому же пути. Сам чуть не уплыл в fx, благо быстро понял, что учить его нет смысла, так как много чего более полезного.
что такое Principal в java.security? допустим, мой jwt токен содержит user id, id это принципал? или объект юзера из бд это принципал? Кто блять вообще придумал эти названия ебанутые
>>1156128 Ну думаю больше тянет на бэкенд веба. Энтерпрайз пугает своей монструозностью хотя наверно туда шанс был бы выше устроиться в какой нибудь банк учитывая мой банковский опыт. На мобилках боюсь ибо хз найду ли работу в своем миллионике по этому направлению и будет ли оно дальше развиваться. Ну там откажется гугл от андроида что нибудь другое придумает не останусь ли потом ненужным с этим опытом
>>1156131 >это не юзер, а уникальный идентификатор юзера Это абстракция юзера с точки зрения системы безопасности.
С одной стороны, это, вроде-бы, id. С другой - в java ee, в jsp, например, можно сделать как-то так: Principal p = request.getUserPrincipal(); YobaUser user = (YobaUser) p. String fname = user.getFullName();
Т.е. за принципалом прячется настоящий юзер, полученный в момент логина из бд, если у тебя так сделан логин.
>>1156137 я в security context в качестве имени principal-а использую полученный id в токене, но каждый раз конвертить id в строку, потом парсить эту строку обратно в лонг выглядит странно, вот я и спрашиваю может я не то делаю. Сам объект пользователя из бд мне не нужен каждый раз, только id, ролей у меня нет никаких
>>1156144 >лучше буду разбираться со Swing Тут не всё так просто.
Если ты не собираешься делать десктопные GUI приложения на джаве, то не стоит, наверное, заморачиваться. С другой стороны - от пары хелловорлдов от тебя не убудет. Свинг - образец того, что называется overdesigned. Перемудрили они, короче, времена тогда были такие.
В общем, как ни крути, это legacy технология. Которая, тем не менее, никуда не денется в обозримом будущем - слишком много коммерческого и корпоративного софта написано.
Те же кассы в гипермаркетах - это джава и свинг. Не все, но многие. В глобусе, например. И многие десятки тысяч внутренних корпоративных приложений, которых нет ни на каких гитхабах, и про которые не пишут в интернетах вообще. Или те же программы для биржевого трейдинга. Я уже не говорю про IDEA.
Ну, и есть компромиссные варианты. Можно использовать FX-сцены в Swing и компоненты Swing в FX.
>>1156158 у меня ничего нет на момент получения запроса кроме токена с id, так что либо получать данные целиком, либо как сейчас оставить. Если реализовывать интерфейс с новым методом getId к прмеру, то что тогда использовать в качестве name без обращения к бд? Будет просто дублирование entity с урезанным содержанием
>>1156178 >Будет просто дублирование entity с урезанным содержанием Да. И это, само по себе, не является чем-то плохим. Или конвертируй каждый раз. Зависит от многих причин.
>>1156179 Понял, спасибо. А вообще лишнее обращение к дб с каждым запросом сильно влияет на производительность (получение пользователя по id из бд)? У меня конечно просто пет проджект, который дальше гитхаба не уйдет, но просто интересен этот момент.
>>1156202 >лишнее обращение к дб с каждым запросом сильно влияет на производительность? Конечно. Это одно из самых узких мест.
Но, нормально, у тебя это должно как-то кешироваться в слое доступа к данным. И кеш должен очищаться при инсертах-апдейтах. Ты же не голый jdbc используешь?
То, что ты пытаешься сделать (насколько я понял) - это, в общем, тоже разновидность кеширования. Если у тебя на уровне доступа к данным кешируется, то ещё раз кешировать смысла нет, наверное. Короче, it depends.
>>1156216 использую eclipselink, как я понимаю, в jpa по-умолчанию уже используется кеширование, явно я не кеширую ничего, кроме http звапросов некоторых. У меня простой веб-сервис по стандартной схеме: токен->фильтр->ресурс->дб
>>1156230 >уже используется кеширование Ну и не парься тогда. Преждевременная оптимизация - это плохо. YAGNI, вот это вот всё.
Вообще, если тебя интересует тема масштабируемости такой хуйни - почитай про Akka. В Akka in Action, как раз, в первой главе разбирается пример приложения. В двух словах - они там для скорости вообще всё в памяти держат. Выгружают на диск при остановке приложения и загружают при старте. Больше диск не трогают.
>>1156321 как с этими ёбаными монадами справится? Посадили на эту моднявую бигдату, а я в ней не в зуб ногой. Есть алгоритм фильтрации данных, его надо переписать на спарке, при этом распараллелить
Вообще, по теме фп - Functional Programming in Java (manning.com) - годная книга, но большая. Есть (будет) ещё Grokking Functional Programming - но, её хорошо, если осенью издадут только.
Спарк не использовал, бигдату тоже. Но, по спарку полно литературы и готовых рецептов.
>>1155312 та папка, которая содержит все файлы, которые maven положит в твой архив, который ты задеплоишь на сервлет контейнер, кроме скомпилированных классов
>>1156971 И, просто для общего развития: Попробуй просто сравни количество _топовых_ решений для веб-бекэнда на джаве с количеством таковых на питоне (руби вообще не в счёт) или даже на JS. А ведь есть ещё скала, акка-хуякка и прочее.
>>1155203 (OP) Аноны, пожалуйста, умоляю, нужна помощь. Нужен полный гайд, как на debian VPS поставить профилировщик под java-сервер.
От профилировщика нужен мониторинг оперативной памяти, в идеале что-то, что подскажет в каком месте утечка памяти происходит. Гайд нужен максимально ражёванный, ориентированный на меня полнейшего имбицила, где объясняется с нуля что качать, какие команды прописывать в баше/IDE, вот это вот всё. Пока искал в интернете - адово сгорела жопа.
>>1157017 Прости пожалуйста, но вот именно таких ответов я и боялся. Ну гуглил я всё это, гуглил JProfiler, YourKit, VisualVM, TPTP(профайлер для Eclipce, как я понял), но не понял как это всё работает. Куда качать, как запускать, как присоединять к процессу, как он выдаёт результаты, вот это вот всё. На официальном сайте какие-то скрины с JProfiler под винду, а у меня терминал linux, что мне с этим делать, как запускать? Мне нужен гайд, а не название, гайд для маленьких и тупых, и вот именно его я не нашёл. Но спасибо, спасибо что отозвался, скорее всего ты обоссыш меня за то, что я говно, а не программист, не умею в гугл, и будешь прав, но я просто, блять, не знаю, где ещё попросить помощи.
>>1157023 Отвечают на корректно поставленный вопрос на SO, а здесь обоссывают дают удочку, а не рыбу.
> у меня терминал linux, что мне с этим делать, как запускать? Я потому тебе и сказал jprofiler потому что это платный продукт (с триалом) с красивым интерфейсом и инструкциями для даунов. Загугли jprofiler remote profiling linux и делай по любой из инструкций. Или можешь просто поднять JMX и подключиться к нему. Или просто выгрузить стек и хип дамп, если память течет.
>>1157027 Скажи, ты настолько туп, чтобы загуглить конкретную фразу в конкретном сайте и выполнить любую текстовую пошаговую инструкцию (некоторые даже с картинками), или выполнить там же любое пошаговое видео на ютубе?
Не то чтобы мне это было интересно, но я бы не отказался узнать ответ на мой вопрос.
>>1157028 Я слишком туп как минимум потому что не могу в английский того уровня, который нужен для одупления этой самой инструкции.
Но вообще да, у меня постоянная жопоебля с установкой хуйни. Поднимал мониторинг сушествования java-процесса с почтовыми уведомлениями в случае краша - получилось, но крайне костыльно. Пытался поднять lamp - обосрался с конфигом для apache2. Пытался установить laravel - обосрался. Нет, я не вебщик, веб ненавижу, но надо было это сделать И все эти задачи, как по мне - вполне тривиальные, и раз справился я с ними хуёво - да, я склонен считать себя тупым.
>>1156976 ruby в 2018 популярнее чем ruby в 2006. java в 2018 менее популярна чем в 2006. Главное преимущество в том, что не нужно по часу билдать проект, билдать бекенд вообще не надо. Но кроме этого еще тысячи плюсов
>>1157147 ну так на то и нету, что проект пишется в 10 раз быстрее и содержит в столько же раз меньше кода. Ну окей, ладно. Нету энтерпрайза, эта ниша руби. Но почему разработчику должен вообще быть интересным энтерпрайз, если писать стартапы на руби намного приятнее, намного меньше легаси, а зарплаты такие же, если не выше?
Анон спасай, никак не могу додумать, в каком направлении мне двигаться.
У меня есть класс 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 ?
>>1157356 Если это боевой проект, то там и не надо тащить граф объектов. Объекты должны быть по одному. Нужен и товар, и покупатель? Загружаешь из базы двумя селектами передаёшь эти 2 объекта по отдельности
>>1157356 > Или это можно сделать через HashMap какой-нибудь? Ты собрался мешать в одном листе негомогенные объекты. Сразу нахуй такие листы обжектов, где по факту лежат объекты с которыми ты захочешь работать не как с обжектами, а кастить в свои классы. Просто нахуй такое. > Как Маппишь список в юзеров, дистинктишь, редьюсишь в новый лист, где добавляешь каждый юнит и добавляешь ордера отфилтрованные по юниту. Потом стираешь нахуй код и идешь изучать нормальное типизированное программирование.
>>1157368 >Сразу нахуй такие листы обжектов, где по факту лежат объекты с которыми ты захочешь работать не как с обжектами, а кастить в свои классы. Просто нахуй такое.
>>1157356 >список >HashMap Нет. Это не говоря уже о том, что HashMap - неупорядоченная структура.
Я нихуя не понял, чего ты хочешь, и зачем тебе это. Но, если тебе нужно хитро отсортировать список - используй сортировку с кастомным компаратором: Collections.sort(myList, myComparator); //java 7 myList.sort(myComparator); //java 8
>>1157197 я понимаю, если бы было бы 0 и 50. А 7 вакансий чем тебе мало? Ты все равно(скорее всего) только на одной работе работаешь. >Мне вот от begin/end НЕПРИЯТНО согласен > От динамической типизации Не знаю как остальным, но мне по кайфу что-то быстро поменять в коде и глянуть как работает НЕ КОМПИЛИРУЯ код. А не ради ничтожного фикса билдать проект час. В статической типизации вообще никаких ощутимых преимуществ не виду
>>1157356 А, понял, спасибо >>1157368 Ты хочешь намешать в кучу заказы и юзеров, да ещё в каком-то хитром порядке. Такой хуйне не может быть никаких оправданий. Переосмысливай задачу. И изучай структуры данных.
>>1157384 >но мне по кайфу Хорошо тебе. Пишешь детскую хуйню в три строчки, которую не надо рефакторить и допиливать, ибо её через год выбрасывают и пишут новую. А денег платят как джава сеньору.
>>1157422 в императивном стиле я знаю, как это работает, и легко могу оценить сложность. В функциональном остаётся только верить в МАГИЮ функционалопетушков. В большинстве случаев вера не оправдывается
>>1157356 не знаю, зачем тебе это надо, но можешь сделать через HashMap<User, List<Order>>, извлекаешь первый заказ, извлекаешь юзера из него, вставляешь в новый List<Order> 3 раза, потом в мапу put(user, list)
>>1157427 Опачки, ты порвался. > В функциональном остаётся только верить в МАГИЮ функционалопетушков Функциональщина это МАГИЯ только для не разбирающихся дурачков. Обоссал дурачка.
Но ты еще за прошлый аргумент не обоссался пока. Тебе нужно запилить микросервис, который будет запрашивать другие микросервисы и согласно определенным бизнес-правилам объединять данные. Возвращаемые данные это список А, в каждом А есть список Б, в каждом Б есть список В (остальные поля нерелевантны).
Почуй как это охуенно будет все написать в императивном, а не функциональном стиле и заодно прикинь как охуенно будет выглядеть императивная портянка объединения данных с разной сортировкой по 3 вложенным уровням объектов.
>>1157445 Ты не ответил. Слив обосравшегося императивного дурачка засчитан.
Последний раз ссыкану, чтобы ты не почувствовал себя недостаточно обоссаным. > как раз для таких целей А источники данных в гипотетической задаче это детекторы в LHC в CERN. Имеющие разные бд. Подумай над этим, когда будешь вытираться.
>>1157450 ты думаешь твоя функциональщина сама всё делаёт? Ничего не делаешь, а всё есть? Нет, там точно такие-же циклы и точно такие-же расходы на память. Только некая магия скрывает это от тебя, и ты думаешь что оно само. При этом ты не можешь особо повлиять на это
>>1157511 Вообще не понял тебя. Допустим, я хочу вывести все свойства объекта, пишу <#list object?keys as k> ${k} </#list> , ну или как-то так, и он вместе с полями name, desription и т.д. выводит еще и getName, setName и все в таком духе.
>>1157384 >ради ничтожного фикса билдать проект час Ты про инкрементальную компиляцию слышал что-нибудь? А про class reloading? Как можно быть такой макакой?
>>1157618 Напиши анализатор самых холиварных (ругань) ЯП в зекаче с построением рейтинга. Используй харкач апи. Т.к. 21 на дворе все должно быть асинхронно, реактивно, параллельно и неблокирующе. Задание со звездочкой - сделай для него также неблокируемый асинхронный UI.
>>1157483 >>1157530 То, что ты хочешь, это весьма нетривиально. Пиши обёртку сам, рефлекшн делай внури. Будет выводить то, что тебе нужно.
Оборачивать потом можно прямо во фримаркере. Передаёшь туда хелпер, и прямо в шаблоне оборичиваешь с его помощью свои объекты, и дальше работаешь с обёртками. При этом оригинальные объекты остаются доступны.
>>1157751 Нет, я вполне серьезно. Дрочить шаблоны в HTML это прошлый век и изъебство, которое переносит фронт на плечи бекенд-разработчика. Плюс неудобно и сайты получаются из прошлого века.
Тогда как с JS-фреймворками бекендер пилит бекенд, фронтендер фронт и все счастливы. Да и самому хуйнуть пару компонентов, прикрутить вызов рестов и получился современный отзывчивый сайт с нормальным дизайном намного проще, чем дрочить шаблоны в хтмл-портянках, перебиваясь нативным говножсом.
Все эти JSP, JSF, Freemarker и прочую хуйню нужно закопать и забыть. Ну, можно мусташ оставить - он удобен для задач, не связанных с сайтами, но требующих шаблонизации и не слишком сложных, требующих уже джасперрепортс.
>>1157760 Ты вообще понял чего он хотел? Как ты собираешься делать рефлекшн джава объектов в vue.js, лол?
А с чего ты вообще взял, что он html на выходе хотел получить? Я, например, активно использую фримаркер, но для html - очень мало, а для веб-страниц - вообще никогда.
Про остальное - лень писать. Мир немножко сложнее, чем тебе кажется. Позже ты это поймёшь наверное.
>>1157786 > Ты вообще понял чего он хотел? Догадался. > Как ты собираешься делать рефлекшн джава объектов в vue.js, лол? А нахуя это делать, если объект уже сериализован? > А с чего ты вообще взял, что он html на выходе хотел получить? Догадался. Для чего он еще может использоваться у человека, который задает глупый вопрос с "переменными класса"? > Мир немножко сложнее, чем тебе кажется. Позже ты это поймёшь наверное. Не стоит играть в Дартаньяна, когда ты сам пидарас июнь.
>>1157799 >Скоро 30 будет. Тогда пора умнеть потихоньку уже. И опираться не на догадки, а на факты. >Все эти JSP, JSF, Freemarker и прочую хуйню нужно закопать и забыть. И максимализма уже поменьше должно быть.
Когда наберешься аргументов, что бекендер должен ебаться с шаблонами, а не писать бекенд, и что WEB 0.1 лучше современных JS-фреймворков, а также наберешься опыта реальной разработки - приходи.
>>1157836 Ты разговариваешь с воображаемым собеседником всё это время. Для этого, кстати, двач не нужен, можно просто так это делать, будет быстрее и продуктивнее.
>>1155287 >Мне это настолько понравилось, что я даже сказал учебников по алгебре, тригонометрии, вычислениям, физике и химии. Как освою базовый стек технологий и устроюсь на работу, то начну всю школьную программу проходить. Ты в школе хуи пинал?
Как нормально сделать выбор имплементации стратегии? if (govno) { return new GovnoStrategyImpl(); } else if (mocha) { return new MochaStrategyImpl(); } else { return new HuinyaStrategyImpl(); } Это не нравится. Есть альтернативы?
>>1159135 Джун джуну рознь. На этой неделе взяли 32-летнего типа. Понравился тем, что очень быстро и качественно соображает. Знает самые основы, остальному и поучить готовы, хули.
>>1157594 блять, я то слышал. А вот ребята с которыми я работаю, в частности тим-лиды нихуя видимо не в курсе. Ладно jrebel у нас есть на проекте, но от него больше проблем чем пользы
У меня что-то профилирование сломалось в netbeans, начало предупреждения выдавать. Раньше такого вроде не было. Создал тестовую прогу, чтобы писать хуйню и мерить, сколько будет сжирать оперативки, решил поиграться с параметрами, хотел поставить -Xms 4096m для прикола и видимо не туда написал и все по пизде пошло и перестало профилировать, только варнинги выдает. Переустановил СетевыеБобы, сейчас профилирует, но все равно выдает варнинги, хотя все в свойствах проекта и в "запуске с параметрами" по дефолту. Что делать?
>>1159155 >в частности тим-лиды нихуя видимо не в курсе
Потому, что они просто дети с охуенным самомнением (судя по этому треду, например).
Вообще не понимаю, как человека младше 35 можно ставить на какую-либо руководяющую или организаторскую должность - у него же тупо мозг ещё не сформировался для этого.
>>1159202 >Вообще не понимаю, как человека младше 35 можно ставить на какую-либо руководяющую или организаторскую должность - у него же тупо мозг ещё не сформировался для этого. По-разному. Сейчас у меня тимлидствует пиздюк 28 лет - не нарадуюсь. Пока что, во всяком случае. Один из лучших руководителей за всю жизнь. Это, конечно, не отменяет того, что оказаться под началом среднего двадцатипятилетнего неандертальца не хотелось бы.
>>1159141 А вообще зависит от условия. Возможно все это говно заменяется одной хешмапой с саплаерами. А возможно даже с готовыми инстансами, если они стейтлесс.
>>1159135 Потому что человеку, который въябывал как сука за копейки, уже научившемуся работать до прихода в айти и готовому так же въябывать здесь трудно кого-то противопоставить.
>>1159770 Никто никогда не смотрит гитхаб. Даже те Егорки из свидетелей альтернативного ООП, которые говорят, что не возьмут людей в свою секту, если у них мало звездочек, фолловеров и рейтинг на SO.
Аноны, а есть достойные альтернативы ломбоку? Всем нравится, кроме того, что не умеет вызывать конструкторы суперов или умеет, а я просто пиздоглазый? , из-за чего приходится все равно писать кучу говна с явным перечислением нужных полей суперклассов
>>1159938 Бляяядь, какой же ты дебил, сука. Если бы ты у меня в команде работал, я бы попросил начальство уволить тебя нахуй и в чёрный список HRов тебя внести, написав про тебя гадостей... Мразота ты конченая... сеньор-тимлид
Посоны, тут такое дело, я вонючий студент которому в вузе сегодня предстоит экзамен по джаве. Проблема в том что джаву я не знаю, она мне не нужна и я её учить не хочу, а экзамен сдать как-то надо. Если что вдруг - я не программист, а джава в учебный курс затесалась случайно. Мне дадут задачку уровня "полный дебил", но к сожалению я вряд ли смогу осилить даже её. Что делать?
>>1160098 Что знаичт затащит? У них ниши немного разные. Вон дарт целили в бразуеры, не взлетело. Теперь хотят кросплатформой затащить в мобилки, и в фузию. Котлин одной жопой на трех стульях. Раст никуда особо не целится, просто красивая замена плюсовым хуям.
>>1160162 >так васм же вроде еще не запустили или я путаю Ну он раньше в вирутальке жсовской работал и ниче. А в васм все лезть будут, и котлин, и дарт и раст (привет от мозилы).
>лол чому? JVM + JS + Native
>ну так и чо там слышно, все свичаются или чо Это как "Все свичаются на скалу или чо"? Нет конечно.
>>1155203 (OP) Положняк такой Swing - старое говно, которое будет жить до конца самой Hava HavaFX - мертворожденный, нигде практически не нужен. Что по AWT? Он тоже для графики? Нужно ли его учить, чтобы на работу попасть?
В каком смысле jdbc является api? Как я понял в джаве под апи понимаются классы из jdk, хотя обычно под апи понимают условленные методы для взаимодействия разного ПО. Т.е. jdbc является api в том смысле, что это класс из jdk. Все верно?
да вот с растом спутал, на мдн подписан, чото почитываю но так и не понял в чем прикол, они хотят заменить жс чем то компилируемым? и что под него тогда лучше выбрать, раст вроде годный
>JVM + JS + Native ну т.е не круто, я понял
мех, ну раз раст такой няшный, чому бы не начинать писать новые проекты на нем, или мало людей пока?
>>1160435 Не совсем так. Изначально SQL и его надъязыки были компилируемыми. То есть берётся какой-нибудь PL/I пишется с вкраплениями SQL, это всё компилируется, запускается и выполняется. Потом подумали, что было бы здорово иметь динамически формируемый SQL в виде строки, добавили оператор COMPILE STATEMENT. Потом подумали что наверное ещё неплохо было бы для 3GL языков отвязать compile-time проверку типов на выходе, то есть предоставить почти что пользовательский интерфейс как в консольке. Получились ODBC, которые разошлись по куче языков общего назначения, включая JDBC.
>>1155203 (OP) В общем, я понял, что без знаний XML/SQL нехуй никуда соваться, даже в изучение Spring/servlets/jdbc. По sql есть учебники. Но вопрос такой, на w3tutorial целая куча xml хуйни. Кроме базового xml гайда, есть еще: xml ajax xml dom xpath xslt xquerry xml dtd XSD Schema XSD Complex XSD Data Web Services { XML Services XML WSDL XML SOAP XML RDF XML RSS }
Вопрос, это нужно все учить для Java Junior или просто базу XML? Что-то вообще может пригодиться в работе кроме базы? Также не охуеть ли как много по xml говна напичкали? Что не так с этим языком?
Всем привет.Я пытаюсь получить доступ к private методам с помощью getmethod и getdeclaredmethod.Так вот.С getmethod все работает а getdeclaredmethod выдает no such method.Хотя должно быть ровно наоборот.Как это понимать?
>>1155203 (OP) Мда, headfirst java совсем не для новичков. В первой главе уже хуярят примитивы, стринги, лупы и массивы. "Что это такое, как оно работает? - Да похуй, потом разберешься. " Вот по такому принципу построен учебник. А говорили, что совсем для новичков, просто маст хев. Но после божественного Шилдта, где подробно описывают и поясняют за каждую деталь, просто отторжение какое-то к HeadFirst.
>>1160970 Xsd учится за вечер, попивая чаёк. Xpath и xslt - нужно только знать зачем это нужно, учить будешь когда понадобится. Soap и wsdl в необходимом минимуме - за пару вечеров (а в максимуме никем не пользуются) Остальное либо сдохло, либо его знания не требуются для устройства.
> Также не охуеть ли как много по xml говна напичкали? Так все и охуели. Не заметил, что xml перетекает в разряд легаси? > Что не так с этим языком? То же самое, что и со всей джавой прошлого десятилетия - неоправданные ожидания и куча стандартов под каждый чих только усложнивших хуяк-хуяк-разработку.
>>1155203 (OP) Бля, дошел до IO, два дня читал про байтовые и символьные потоки. В итоге занесло так, что узнал кучу интересного про стринги, лупы, классы, исключения, BufferedReader и еще кучу нюансов. Java вообще меня поработила, очень сильно нравится изучать язык и писать даже мелочь всякую. И вроде учить еще дохуя, лежит книга по Спрингу, Хибернейт, Гит, JSP, плюс всякие коллекции там, свифты и т.д. Но у меня прямо руки чешутся до всего этого добраться и изучить. Как же хочется бросить свою говноработу и целыми днями учиться. Это все словно пустоту внутри меня заполняет.
>>1161027 В отличие от смузи, водка расширяет сознание. Например, может поспособствовать пониманию того, чем типизированное отличается от нетипизированного.
>>1161028 Фрилансю в Копирайтинг. Но как только за статьи принимаюсь, то сразу настроение падает, хочется на дваче посидеть, ютубчик глянуть или вообще спать пойти. Руки просто опускаются, продуктивность очень низкая, так как надоело. Но там 9 статей осталось доделать на $70, дальше вообще с концами постараюсь забить на это дело. Уж лучше охранником всю ночь втыкать с ноутбуком и учить Java.
>>1161033 С таким рвением, после изучения синтаксиса и основ стандартной библиотеки, вполне можно уже найти работу, мне кажется. Особенно, если не гнаться за деньгами, поначалу.
>>1161038 Да мне на деньги вообще пофиг. Я уже даже нашел объявление, что в Харькове будет стажировка 3 недели проходить в в мае (на Android dev'a). Это очень мотивирует. Я уже даже рассчитал, сколько нужно потратить на три недели (хостел, еда и т.д.) все по минимуму. Очень хочу постажироваться. даже если работу не получу, все равно хочу хотя бы понюхать всю эту кухню. Готов даже кредит взять, чтобы получить этот опыт, лол. Но сейчас главное не отвлекаться и продолжать учиться, что я и делаю.
>>1161043 Андроид - специфическая вещь. Джава там - не основная проблема. Кредит брать не надо, это плохая идея.
Если реально есть мотивация к работе, и эта мотивация - не тупо заработать денег, а работа сама по себе, то надо найти место, где это оценят. Но, место должно быть хорошим - должна быть видна перспектива. Не бойся ходить на собеседования, тебя там не съедят.
А как организовывать переменную-счетчик i, чтоб не быть быдлокодером: Создавать ее в начале проги: int i = 0; и в циклах for пользоваться без задней мысли: for(i = 0; i < 10; i++) // или инициализировать ее каждый раз по-новому в каждом цикле for for(int i = 0; i < 10; i++) //code for(int i = 0; ...; ...)
>>1161233 Я бы лучше использовал локальные переменные, так как переменная экземпляра в какой-то петле do/if может принять неправильное значение и вернуть совсем не то, что требуется. А переменная экземпляра пойдет в тех случаях, когда нужно использовать do-while или если переменная используется в 2-3 функциях и ее значение легко отследить при исполнении кода.
>>1161233 >>1161236 >Я бы лучше использовал локальные переменные Не "Я бы лучше", а вообще без вариантов - только локальные переменные.
А общая переменная (или поле класса) - это и будет лютейший быдлокод. Кроме каких-то особых случаев, которые даже и придумать не так-то просто.
Смысл - читаемость кода (и всё, что из этого следует) стоит в 1000 раз больше, чем экономия 4-х байтов (int) в языке с автоматическим управлением памятью.
А вот использовать какую-то локальную переменную _внутри_ цикла (каждый раз создавать) - не надо. Например, при переборе коллекции ссылку на элемент. Лучше создать перед входом в цикл. Хотя, хз, возможно, что это само оптимизируется при компиляции, можно посмотреть байткод.
>>1161244 > Лучше создать перед входом в цикл. Хотя, хз, возможно, что это само оптимизируется при компиляции, можно посмотреть байткод. Оно 100% оптимизируется JIT'ом (но не конпелятором в байт-код). Так что замедление если и будет, то только в интерпретаторе.
>>1161244 >Смысл - читаемость кода (и всё, что из этого следует) стоит в 1000 раз больше, чем экономия 4-х байтов (int) в языке с автоматическим управлением памятью.
Дважды пидор: 1) Пользоваться автоматическим управлением памятью; 2) Не экономить байты.
>>1161176 Нет anyOf, oneOf, вместо них ублюдочный discriminator, нет patternProperties, далеко не везде можно $ref, ещё нельзя нормально разбивать paths на несколько файлов. Не рекомендую короче. А вот сама по себе jsonschema годная штука.
Где найти адекватную инфу о многопоточности? Работаю с интерфейсом javafx, там есть пару контроллеров, при клике на них необходимо выполнить события в 2х потоках, которые были запущены при старте программы.
Вопрос такой: как джавапетушня умудряется писать код уровня int a = 5; string b = "vasya" ипри этом зарабатывать минимум 60к на джуниорской вакансии без опыта?
>>1161375 Для жавы есть же пикрелейтед. Конечно она немного устарела, но базовые основы в ней есть, а все остальное можно (в основном fork/join из java7 и параллельные алгоритмы из java8) прочитать в документации.
Для асинхронности в GUI - используй CompletableFuture. Или Rx. Но это будет сложнее, и не факт, что лучше.
Если же у тебя реально там какие-то потоки постоянно крутятся, с которыми тебе надо взаимодействовать из UI - то выше тебе уже сказали. Думаю, что всё сведётся к блокирующей очереди, в которую твой гуй будет что-то класть, а фоновый поток - забирать.
>>1161396 > Думаю, что всё сведётся к блокирующей очереди, в которую твой гуй будет что-то класть, а фоновый поток - забирать. У JavaFX нет встроенного цикла событий как у всех нормальных гуйных фреймворков? Пусть его и использует.
>>1161401 Блокирующая очередь это и есть цикл событий. В JavaFX нужно делать всё самому, ручками? Вон в C# это всё встроено прямо в язык, можно вообще не заморачиваться. В Qt цикл событий так же есть, ты работаешь поверх него. А что там с JavaFX?
Или ты имеешь в виду создать тред с отдельным циклом событий и туда отправлять сообщения? А оно ему нужно? Чем эти потоки у него там занимаются?
>>1161403 >Чем эти потоки у него там занимаются? Один клиент, т.е. отправляет данные серверу а второй типа сервер, который парсит входящие данные. Нужно что бы по нажатию кнопки клиент отправлял данные серверу(не важно, своему или чужому), а если на сервер приходят данные то происходит какое то событие, и гуи обновляется.
>>1161416 Для этого обычно используют фреймворки, которые всю эту хуйню с тредамами делают сами. Например в твоём случае можно использовать какой-нибудь фреймворк для работы с вебсокетами. Например спринг, хотя чисто для вебсокетов есть и другие варианты.
>>1161420 Думал сначала жаву освоить а потом спринг учить, даже на курс фришные в универе пошел. Хз, хотелось бы как-нить решить, буду думать на основе того что сказали аноны, ибо наверное рано еще спринг учить.
>>1161429 Очевидно же, он хочет сделать джве программы, которые соединяются между собой по самодельной пиринговой сети и обмениваются данными. В любом случае ему придётся изучать сокеты и многопоточность чтобы сделать что-то вроде такого и сделать эффективно.
>>1161485 Суть дела в том, что "==" тупо сравнивает примитивные значения операндов.
Для операндов-объектов - это будут ссылки на эти объекты. И, если ссылки одинаковые - указывают на один и тот же объект, то true.
Почему s1 == s2 тебе уже объяснили - литеральные строки интернализируются при компиляции, т.е. у тебя в коде не две строки, а одна. И ссылки одинаковые.
В sb1.toString() создаётся новая строка. Она не интернализирована (ибо _создана_ в рантайме). Естественно, ссылка на неё - другая, поэтому false.
>>1161523 Где ты увидел байтоёбство? Не нужно знать основы работы Java VM? Возможно. Но и зарплата тогда будет другая.
>>1161535 Пиздеж. >>1161544 > Где ты увидел байтоёбство? > Заморачиваться ручной еблей с пулом строк
> Но и зарплата тогда будет другая. Ты сам кто? Ты представляешь себе, чтобы рабочее повидло или боевую помидорку спросили об интерне? Это никем нигде и никогда не используется. Я бы понял если бы ты стал про вик и фантомные референсы затирать, еще куда ни шло. Не позорься нахуй со своим стрингинтером.
Нахуй вы оезете своими грязнымируками в общий пул строк? intern не для вас написано! Хотите свой пул строк - сделайте/используйте. А интерн и так заебан.
Почему метод main нельзя вызывать где-то в другом классе как обычный статический метод public class Zoo { public static void main(String[] args) { System.out.println("Welcome!"); } }
public class Animal { private String name; Zoo.main(); }
>>1161791 Нет, ты не понял. Любой скриптошкольник васян, подслушавший трафик и получивший дайджест логина с паролем, считай, автоматически знает логин с паролем без единого обращения к веб-сервису, у него же уже есть хэш, дальше дело техники.
>>1161795 >УМВР ЧЯДНТ? Там всего 2 класса, код которых представлен выше. Мне просто интересна логическая составляющая этого вопроса, то есть с помощью Zoo.main(null) можно запускать программу из любого класса и не будет ошибки "у вас нетmain метода"?
>>1161811 Ты не запускаешь программу, а запускаешь метод main. Я тебя не понимаю. Ты хочешь создать свою библиотеку или что? Так-то ты из любой сторонней программы можешь импортировать главный класс и запустить оттуда main, только зачем тебе это?
>>1162034 Да. У тебя на стеке лежат значения примитивных типов и ссылки на объекты. Так вот если у тебя 32х битная и 64х битная программа, то минимальный адрес памяти, к которому будет обращаться JVM это 32 и 64 бита соответственно, для оптимизации меньшие по объёму памяти типы будут приводиться к этим занчениям,
Допустим у меня есть класс десерты, который содержит в себе только id, от него наследуются класс мороженка и тортик, которые имеют свои поля, имена, размеры и т.д.
Я создал ArrayList от общего класса и я его юзаю в некоторых для себя моментах. Но сейчас встал вопрос, как мне вытащить определенный класс наследника от общего класса? Если лист у меня содержит примерно такое: Ice-Cream, Cake, Cake, Cake, Ice-Cream.
>>1162215 То, что такая необходимость возникла, говорит о проёбе в дизайне кода. Надо переделать. Если не можешь, то проверяй каждый объект, как уже написали.
>>1162453 Скорее всего только JIT'ом в случае очевидных оптимизаций. А вообще в жаве нет стековых объектов (как структур в C#), по крайней мере пока не закончили проект вальхаллу.
>>1162215 Так не делают. В общих чертах - это не должны быть отдельные классы, если тому нет серьёзных причин. Если есть, значит у них должен быть общий интерфейс (не суперкласс!), а там должен быть метод getItemType(). Сам тип может быть int, может быть enum - зависит от задачи. Вообще, для такой задачи сам тип объекта можно сделать объектом, с какими-то свойствами и методами. Или в enum определить доп. свойства. И т.д. и т.п.
>>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", охуенную книжку для своего времени.
Почему y стал 20678?? Ведь если рассуждать логически: 1921222 слишком большое число чтоб храниться в short, соответственно явно приведем это int овое значение к short, но ведь оно должно тогда уж привестись к максимальному значению shot, а это (2^15 - 1) = 32767 так почему так получается ????
>>1163029 Всё просто. Обрезается в двоичном виде. Берутся младшие 15 байт. В 16-м - знак.
Зачем тебе шорты в джаве? Байты иногда нужны для байтоёбства, а шорты зачем?
Выгоды по памяти нет (кроме какой-нибудь экзотики с упаковкой). В реале видел только в каких-то старых API, типа POI-HSSF. И там это, видимо, связано с интеграцией с сишными либами.
Пиздец, только вчера изменения в статических ресурсах появлялись при обновлении страницы, сегодня нет. Спрингбут, зависимость devtools есть, галка Build projects automatically есть, в регистре тоже есть. Хуйня какая-то.
>>1163118 Т.е. ты ожидаешь, что помимо работы человек должен ещё иметь какие-то пет-проекты обязательно? Я бы решил, что это скорее минус, чем плюс. Хуёво работает, значит.
>>1163124 если ты любишь свое дело, то сможешь выделить 1-3 дня на пет проектик. Если способен гореть идеей, то запилишь крутой проект. Свой гитхаб - это показатель твоей любви к ремеслу и качество твоего кода. Он упрощает и мне работу как тимлиду и тебе как соискателю. И нет, там куда я смотрю резюме - работают не за еду)
>>1163124 >должен ещё иметь какие-то пет-проекты обязательно т.е. за год-два работы ты не разу не смог придумать и найти АЖ БЛЯДЬ ЦЕЛЫЙ ДЕНЬ на то, чтобы запилить валидатор/говнолибу/калькулятор(но ахуенный с точки зрения архитектуры)? Ну тогда тебе "перезвонят"))
>>1163222 Десктопа на джаве давно уже нет. За редким исключением.
Телефончики - это андроид? Или ты Java ME имел в виду, для Nokia 40-й серии, лол?
Андроид - вещь на любителя. Но, не исключено, что тебе понравится. Я бы рекомендовал сначала попробовать - для этого не обязательно куда-то перекатываться. Пиздуешь на developer.android.com и читаешь, что там написано.
Есть кто может запилить / помочь запилить быстро простенький чат на джаве, без всяких приблуд, клиент-сервер через сокеты с отдельными комнатами? Заплачу
Правильно ли я понимаю, что те, кто пишет на спринге, мало отличаются от жс-макак, пишущих на своих фреймворках, и не понимающих, как оно всё работает?
Ни разу не пользовался эти вашим спрингом. И, при взгляде на код, ни разу не возбудился, ибо хуета какая-то.
И да, я понимаю, зачем он нужен. Но юзаю ванильный Java EE (без EJB, JPA и всяких хибернатов). Для ORM - MyBatis (IBatis) или вообще самодельные DAO.
>>1163560 Если эксепшон нужен просто чтобы вывести пользователю сообщение об ошибке кидаю простой субкласс MessageException со строковым параметром, объясняющим что за ошибка (например если в запросе несовместимые параметры или если объект по индексу не найден, например). Свой класс использую для того, чтобы любые другие ошибки логировать и затем смотреть где, когда и почему они возникли (потому что по-идее их быть не должно). Больше в основном и не пользуюсь.
Какую книгу почитать по яве, чтобы двинуться дальше знания базового синтаксиса? Знаю понемногу всякого, работал сразными фреймворками, суть не в том чтобы выучить какие нибудь буковки или синтаксис, а втом, что скорее всего все это говнокод и нужен какой то некстлевел.
>>1163132 Такие, эмм, "люди" как ты превращают айти в блядский цирк галерного рабства и выгорания на скорость. Ведь ты мало того что должен удовлетворять всем требованиям, что в прицнипе нормально, так еще и иметь гитхаб, в котором ты после 8 часов работы еще вечером пишешь, что уже пиздец. Ни на одной работе такого не требуют, кроме как войти. Что бы я вывел из такого - не то, что человек лучше пишет код, а то, что человек готов кодить 24 на 7 и как следствие, готов въебывать без ограничений если надо будет, и что есть мотивация во имя "благой" цели стать "крутым кодером", которую можно направить в овертаймы.
>>1163606 Ну если догоадаются то покажешь себя не ок, тк обычно в договоре есть пункт что все что ты сделал принадлежит компании. Сразу покажешь что ты готов их кидать. В прицнипе может и похуй, не знаю.
>>1163132 >и мне работу как тимлиду и тебе как соискателю Сынок, если честно, я не думаю, что мы когда-нибудь с тобой встретимся. По крайней мере, в такой позиции, лол.
>>1163560 >Какими и для чего в основном? Посмотри иерархию наследования класса Exception. Там каждое имя говорит о том, для чего оно может быть использовано.
Вввод - вывод, преобразование типов, сетевые операции, работа с бд, многопоточность, reflection, сериализация и прочее - если ты такого не пишешь, то тебе exceptions не нужны. Да и джава тоже, скорее всего.
Подскажите пожалуйста. У меня есть один ArrayList который заполнен интами от 0 до 1000, есть второй ArrayList в котором есть некоторое количество чисел от 0 до 1000, как мне из первого удалить все числа, которые встретились во втором?
А как сделать, чтоб NetBeans с полуслова угадывал что я хочу написать и предлагал варианты. Ну например вводишь Str, а он тебе в выпадающем списке предлагает String. Ну вы поняли. Может есть такой модуль?
>>1164062 UPD Всё, я сделял. В нетбинсике тоже есть такая фича, просто надо в настройках автозавершения кода поменять кое-что. Свободное Программное Обеспечение > проприетарное платное
>>1164126 >Идея бесплатная (community) чем не устраивает? Spring не поддерживает. А пиратить это не выход. Приедтся каждый раз перепирачивать с выходом каждого нового патча.
>>1164150 > Приедтся каждый раз перепирачивать с выходом каждого нового патча. Ну он не так часто обновляется. И единственное что нужно сделать после обновления, это добавить в конец idea64.exe.vmoptions строку
Сап хелпач. Есть рест сервис на спринге с постгрес бд. Как мне сделать обзёрвер чтобы когда я добавлял данные в бд этот обзёрвер вызывал натификейшн метод(не важно какой сигнатуры)?
Нубский вопрос, но все же. С помощью какой библиотеки или фреймворка в Java рисуют интерфейсы десктопных приложений? В C# понятно, там WinForms или WPF. В Java насколько знаю есть AWT, но это устаревшая хуйня вроде.
>>1164857 Да никак не делают. ГУЕвных программ на java очень мало.
Если хочешь что-то простое, то используй Electron, если попирформансней, то Qt.
Аналог Collections.containsAll() в HibernateАноним30/03/18 Птн 01:22:29#511№1164922
У меня есть A, в которой есть поле bList, которое представляет собой List из сущностей B. Я хочу выбрать из БД все сущности A, bList которых содержит все элементы из передаваемого на вход List из сущностей B. Как это сделать с помощью CriteriaBuilder?
>>1165026 Обратная совместимость - это когда код сконпелированный для jre7 работает на jre8, а ты хочешь прямую поддержку. И да, с ней никто не заморачивается, фичи-то добавлять надо. Особенно учитывая, что в java8 изменился формат байт-кода.
>>1165026 Впрочем начиная с java9 обратная совместимость тоже пошла по пизде. Спасибо жигсо. Некоторые библиотеки до сих пор на java9/10 не портированы.
>>1164704 Триггер на инсерт и апдейт, в этом триггере записываешь флаг куда-нибудь. Этот флаг периодически читает твой спринг. Например раз в 5 секунд. И когда прочитал изменения - ставит флаг обратно
>>1165365 У постгреса есть нотификации. Hibernate их не поддерживает, однако с ним они и не нужны, ведь триггеры можно поставить непосредственно на него.
>>1165372 Эти нофикации - суть обычный пайп, пока кто-то на другом конце не начнет "сосать" - никаких извещений не будет. TransactionSynchronization или ебаться с aspectj.
Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?
А: Нет, не поздно.
Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?
A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред.
Q: Хули все книги на английском?
A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Что скажете за джавараш?
Если вкатываешься с нуля, то можешь написать пару "хеллоу ворлдов" до 10 лвла. Дальше курс рассчитан на ленивых и не умеющих читать книжки людей. Количество говнокода зашкаливает, годных задачек пару штук на весь курс. В любом случае решать тебе.
https://github.com/qqqlll/Java-Thread/wiki