Это копия, сохраненная 12 февраля 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki
Предыдущий: >>2542909 (OP)
мимо уже джун уже работаю за деньги
У нас было решено между сервисами никаких секуритей не иметь. Есть sso провайдер. И токены валидирует сам фронт или апи гейтвей, а сервисы за гейтвеем типа в полностью доверительном контуре. Из всех контуром с sso провайдером общается только сервис создающий пользователей.
Хз насколько это хорошая идея.
Плохая! Одна нода будет вскрыта - вскроются все. А она когда-нибудь да будет вскрыта, за всем не уследишь.
Есть несколько идей, как это изменить, но пока было решено оставить как есть. Например валидация токенов в каждом сервисе ударит по производительности и создаст кучу проблем с временем жизни основного и инвалидацией рефреш токена.
А у нас на работе еще два разных секурити поверх спрингового нахуевертили.
Как же тебе не бомбит. Зачем противопоставляешь себя сишарпу? Как называется эта болезнь? Я вот нормально воспринимаю и джаву и сишарп.
Если кратко, то сейчас занимаюсь блокчейн разработкой на солидити пару лет как, с бэком оно связано минимально. Вуз кончал, потоки/очереди/паттерны хуё моё вспомню, не обломаюсь, с тем как память устроена тоже знаком.
Рынок БЧ на мой взгляд сейчас в говне, а выбор у меня в текущий момент времени между 150к в РФ в мухосрани и $4к в месяц после налогов в гейропе, что как бы в целом сорта говна, а переехать если и хочется, то в перспективе в Азию.
Сижу вот не знаю, куда вообще повернуться и что делать, уже к нейронке за советом обращался от безысходности.
Мотивироваться учится усерднее, заработать бабла и съебаться от таких соседей
Я сейчас получаю удовольствие от жизни. Мне незачем пить алкоголь...
Пить алкоголь не только для собственного опьянения, а еще для установления доверительных отношений с соседями. Чтобы хотя бы иногда, когда ты попросишь их быть потише они прислушались, а не прописали тебе лещей.
Пить алкоголь не только для собственного опьянения, а еще для установления доверительных отношений с соседями. Чтобы хотя бы иногда, когда ты попросишь их быть потише они прислушались, а не прописали тебе лещей.
>Мне незачем пить алкоголь
Правильно. Никогда не пей. Посылай на хуй если кто-то предлагает, особенно навязчиво. Я обжегся об него не хило.
>>52868
Нормальные отношения нужно строить на трезвую голову. С пьянью никаких отношений быть не может, гусь свинье не товарищ. А бояться пьяных не стоит. Трезвый пьяного напиздит, легкая работа.
>переехать
В этом волшебство программирования, можно работать в любой точке мира на удаленке. Если тебя не радует перспектива остаться в рашке, то зачем откладывать релакейт, разве что подушку накопить.
Сам я только пытаюсь вкатиться в джаву и не могу адекватно оценивать ранок, так что это мнение левого типа работающего инженером.
То есть я так понимаю, ты хочешь с нуля вкатиться и в бэкенд, и в джаву, и при этом 4к/мес после налогов в Европе тебя не устраивает?
Да, на солидити можно было 10-15к поднимать работая на штаты, с джавой так не получится, если ты не экс-перд с многими годами опыта
Ну и будешь несколько лет жить в одной комнате с нетоварищами. Которые во вполне трезвом состоянии могут устраивать разные гадости.
Да и пьяных несколько, а анон выше один. Бояться есть чего.
Вообще для обучения придуманы читальные залы библиотек.
Платили хорошо как обычно только США, в США сейчас с рынком айти пизда, вкатиться крайне сложно, лучшее что можно сделать сейчас - поехать в именитую компанию в европу и ходить там по конференциям, набивая себе цену и готовя О1 кейс
>Ну и будешь несколько лет жить в одной комнате с нетоварищами.
Как по твоему люди живут в тюремных камерах и других тесных пространствах? Нужно иметь уважение друг к другу, но нельзя позволять больше чем нужно. Нельзя открываться полностью перед людьми, даже если вас роднит такая связь. Чем больше ты будешь "себе на уме", тем больше у тебя шансов добиться своих целей. Открытым простачкам тяжело жить и добиваться своего в таких ситуациях.
>Которые во вполне трезвом состоянии могут устраивать разные гадости.
Если это беспричинно, то можно найти тысячу способов проучить такую падаль. Ты ставишь себя в позицию жертвы.
>Да и пьяных несколько, а анон выше один. Бояться есть чего.
Уебать тяжелым предметом по голове самому выебистому и остальные сдуются.
>Вообще для обучения придуманы читальные залы библиотек.
Вообще то, для пьянок придумали бары/клубы. Еще бы я у себя в комнате не учился, из за того, что кто решил побухать. Пусть уебывают.
У трезвого и пьяного разные цели и разное восприятие реальности. Они не поймут друг друга. Поэтому гусь свинье не товарищ.
У всех людей свое восприятие реальности, а у душнилы типа тебя товарищей быть не может.
>при этом 4к/мес после налогов в Европе тебя не устраивает
Более чем устраивает, я отлично понимаю, что по деньгам на пару лет точно потеряю. Но на мой взгляд лучше временно потерять в деньгах, чем остаться на обочине с мёртвым стеком пусть лично я в это и не верю, но всё таки риски есть..
>>52884
>Если тебя не радует перспектива остаться в рашке
Мне очень нравится Россия за исключением пары нюансов, в то же время хочется просто повидать мир. Тут вопрос в том, что перееду я в Европу, жить там придётся на аренде, обживаться опять хуё моё без семьи и друзей, в общем нет у меня большого желания бежать туда. С отходными путями тоже вяло, ибо нельзя ПРОСТО взять и работать из РФ на заграницу. В моём идеальном мирке я работаю на стабильную компанию за адекватные деньги, на которые могу раз в некоторое время слетать пожить+поработать в какой-нибудь другой стране месяц-другой, а потом вернуться. В общем-то активно к этому шёл, но увы сейчас сложнее.
>>52891
>Платили хорошо как обычно только США
Ну если хорошо - это $180k в год и выше, то я такого и не ожидаю. По факту всё что я хочу - пока крипта подаёт признаки жизни - ехать на ней, но в случае чего не остаться без работы. На первый взгляд джависты всегда нужны, но может ИТТ больше информации по этому поводу из первых рук.
В Дубаи и Сингапуры нанимают тоже кстати.
В целом да, но в Джаве не такие легкие деньги как в крипте, нужно больше знать и больше опыта иметь.
Работу найти не сложно, приятное сочетание кучи вакансий и небольшого количества вкатунов. Но, чтобы на тебя смотрели серьезно, нужно от 5 лет опыта
Гусь свинье не товарищ !
Твое так называемое товарищество и яйца выеденного не стоит. Товарищи проверяются через трудности.
А если понадобится еще админ-2 условный, то он сразу будет заносится в бд.
Вообще я думаю, что рыночек в США скоро снова оживет, к концу 2023 года уж точно начет потихоньку раздупляться имхо. Поэтому сейчас нужно быть на низком старте, подготавливая себя к побегу в калифорнийский санфран (ну или хотя бы в лондон/берлин/амстердам куда-нибудь в амазон) - нарешивать литкод ежедневно, учить английский и сисдиз.
По теме переезда: советую все же уехать в евросовок пусть и на малые деньги, потому что здесь текущий праздник жизни будет точно до 2024 года продолжаться. Плюс в чем проблема найти работу вне блокчейна?
>Насколько сейчас жопа с рынком на жабе
Если в РФ, то скорее жопа, чем нет.
Относительно крутые (или не самые плохие) конторы, где было много жабы - ушли из РФ. На память: Jetbrains, Дойчебанк, Дойчетелеком (T-systems), епам, люксофт, неткракер, DXC, датаарт - все это несколько тысяч джава вакух генерировало постоянно, сейчас этого нет.
Из того, что осталось - это банки. Тинькофф, Сбер, ВТБ, Газпром, возможно Райф. И государственные галеры вроде Лиги цифровой экономики, но это то еще дно, которое полностью на госуху работает, и как следствие даже помойные проекты в епаме и люксе заметно получше выглядели в свое время.
>Насколько сейчас жопа с рынком на жабе?
Да, еще забыл про наш телеком упомянуть. МТС, Билайн и Мегафон кажется джавистов нанимают, но в последнее время у них как-то тухло очень стало, видимо из-за того, что телеком оборудование больше не поставляют, поэтому мощности наращивать не из чего.
Плюс про МТС (и всякие дочерние организации вроде МТС банка) слышал по большей части только плохое, так что хуй знает. Но телеком традиционно считался днищем во все времена.
Да, из крупняка джава еще есть в ВК и Яндексе, если хочешь в РФ оставаться, то советую в первую очередь в эту сторону смотреть, потому что остальное чаще всего дном будет. Плюс еще озон какую-то поисковую платформу свою на жабе + apache lucene пилит, возможно там тоже круто.
>Жидбрейнс
Щас бы две сотыги мидлом получать ковыряя очень актуальный свинг. Работало за счёт студентов, которые не понимали своей рыночной стоимости и оставались там работать
Там не только формочки на свинге так-то были, но в целом опыт в жб слабо котировался в большом джава-энтерпрайзе со спрингом и микросервисами.
Ебался, ебался, думаю, ну че ж такое то.
И решил я чисто случайно понизить версию. С 3.0.0 версии бута и стартеров соответственно перешел на 2.7.6. И знаете че? ЭТА СУКА НАЧАЛА ФОРМИРОВАТЬ CSRF ТОКЕНЫ ПРИ GET ЗАПРОСЕ. КХАХАХАХААХАХАХ ПИДАРАС ТУПОРЫЛЫЙ ДЖАМБО СУКА НЕДОБИТАЯ ИНДУСИНА ССАННАЯ ИЗ ПИВОТАЛ НАХУЯ БЫЛО МЕНЯТЬ БЛЯТЬ ЛОГИКУ УЕБИЩЕ КАЛ ДЕРЬМА БЛЯТЬ
Почему по Спрингу так мало книг?
А кто заставляет использовать самую новую версию? Если хочется постоянно новое, то лучше в сишарп идти. Там каждый год всё переделывают с нуля.
Ну самописные методы, которые ломаются на раз два меня не интерсуют. Интересны продакшн бесп практис
Так наоборот не хочется нового. Хочется стабильности, чтобы ебанные индусы не переделывали всё кардинально непонятно ЗАЧЕМ. Взяли убрали mvcMatchers, antMatchers, теперь другие такие же матчерс с ТАКОЙ ЖЕ функциональностью. Тупо меняют названия везде. Еще и функциональность ломают. Хочется стабильности. Теперь вопрос в том, как скоро на коммерческих проектах будут переходить на 3-й бут ну или сколько будут сидеть 2.х.х
Похуй че тебе не нравится.
Ебланище, частная компания, в рамках смены мажорной версии могут хоть на го весь твой спринг переписать.
Или что?
Так я и не трогаю она сама на мой хуец запрыгивает. Такая то шлюшка твоя мамащка
Меня больше смутило это:
>Spring Boot 2.7 introduced a new META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports file for registering auto-configurations, while maintaining backwards compatibility with registration in spring.factories. With this release, support for registering auto-configurations in spring.factories has been removed in favor of the imports file.
Поменяли одну нестандартную залупу на другую, хотя могли бы как все нормальные люди использовать ServiceLoader.
А ты думал в сказку попал?
А почему ответа нет?
А что ещё ответить на твой вопрос про сорта говна?
Рот закрой, гондон
Это даже не уровень JS- и петухон-тредов. В первом срутся, фреймворк реакт или библиотека. Во втором не могут разобраться со сложной и непонятной функцией print().
Именно то, что написано в твоём учебнике за 1 курс.
TestNG
В статике тип переменной не может меняться, один раз объявил String hui и потом обязан присваивать hui только строки. В динамике тип в объявлении переменной не указывается, можешь присваивать хоть строки, хоть массив double, хоть чёрта лысого. В итоге в статике ты не можешь вызвать несуществующий метод, компилятор тупо не пропустит такое. А в динамике можешь случайно вызвать что угодно даже у необъявленной переменной, и до попытки запуска никаких ошибок не будет, в рантайме в лучшем случае будет эксепшен, а в худшем что-нибудь тихо вычислится не так, и потом долго будешь искать, где ошибка.
>Во втором не могут разобраться со сложной и непонятной функцией print().
Вот из-за такой херни из python и выкатился
А я решил глянуть джокер, который месяца два назад прошел. Несколько докладов про непосредственно хуйбирнат и почти все, задевающие реляционные бд на нем делают примеры.
Походу хибер это все еще стандарт, даже на новых проектах, а у хейтеров просто бугурт.
Я просто сам крудошлеп, но на jpa не пишу, и думаю, если соберусь менять работу - придется аннотации и кишки хибера выдрочить.
Что только в говнолегаси и это антипаттерн. И на каждый второй вопрос с жпа первый ответ - выкини жпа.
Но по факту в сообществе разбирают и новый хибер и как на нем писать новые проекты и как он сочетается с другими библиотеками и подходами.
Может на раст перекатишься, тут у нас всякая движуха есть я бекенд пилю, полно всякой криптохуйни за нормальные деньги и не будешь гвоздями прибит к одной технологии, тем более опыт есть. Правда выкат тяжеловат будет.
Солидити это вообще какой-то тупик как 1С только для эфира.
>Яндексе
5 этапов собеса по 2 задачки в каждом. Свежая инфа, звонила хр от туда месяц назад. Неужели есть еще идиоты, готовые терпеть такие унижения
Спикеры в мяскоте работают и в банках. А если уровнем ниже, то там тоже не совсем рога и копыта.
Оставаясь в рф для крудошлепа на спринге попасть к ним в команду - один из лучших вариантов.
>Солидити это вообще какой-то тупик как 1С только для эфира
Да, я себя 1Сником и чувствую, от того и депрессую. Простые и адекватные деньги а если кабанчик, то и неадекватные, но увы, но по факту со смертью технологии можно выходить в окошко и самому.
>полно всякой криптохуйни за нормальные деньги и не будешь гвоздями прибит к одной технологии, тем более опыт есть
Да я на solana и near с растом работал, пока оно популярно было и заказы приходили. Солану, правда, глаза бы мои не видели, но вообще да, с основными фичами языка знаком конечно. Только мне на дваче сказали, что вакансий для педераста мало, рассматривать его и перестал. Спасибо что напомнил мне о казалось бы очевидной вещи, анон.
Он и с лицензия платный через 30 дней.
Хибернейт ебет мозги - поэтому и куча выступлений "как мы случайно решили одну из дохулиарда проблем хибернейта". Выступать на тему "как писать запрос на жуке" никто не станет.
>>53868
>>Спикеры в мяскоте работают
Спикеры там про какую то хуйню рассказывают. От моей конторы че то про монгу говорил, хотя хз где она вообще у нас есть - жсоны хранятся в постгресе, остальные базы - касандра, кликхаус и прочее нестандартное. Но про какую-нибудь кафку уже все сказано, а про постгрес Бартунов расскажет, поэтому ищут что то экзотичное.
Вкратце, в RFC есть две опции - регистрация с помощью вложенного JWS и Initial Access token. Смотрю как это в Spring Security и не вижу ни одной такой опции. https://docs.spring.io/spring-security/site/docs/5.2.12.RELEASE/reference/html/oauth2.html
Зато описана регистрация, для которой надо заранее иметь client-id и client-secret и тут нихуя не понятно. Откуда блэт у меня есть client-id и тем более client-secret, если я еще не зарегестрировал клиента и его не сущесвтует? Может кто-то объяснить как эта регистрация должна работать в спринге?
>Откуда блэт у меня есть client-id и тем более client-secret, если я еще не зарегестрировал клиента и его не сущесвтует?
Ты зарегистрировал его до старта приложения.
Не знаю.
Требования на вхождение очень высокие, даже если у тебя есть все знания на мидла, тебя могут не взять из-за отсутствия коммерческого опыта.
Имеет смысл учить другой язык и искать работу на нем для получения отметки о наличии опыта? Или это тупо и лучше продолжить учить джаву?
В шарпах есть свои приколы, и местами там тупо нельзя сделать то, что можно сделать на жабе/котлине, не говоря уже про scala.
хз чел, я с таким не работал, попробуй в гугле спросить
>местами там тупо нельзя сделать то, что можно сделать на жабе/котлине
У чела интерес - зарабатывать, а не приколы делать...
Не слушай лицемерного выблядка-петушарподегенерата.
Их кривая говнопародия на жабу, намертво приколоченная гвоздями к винде (что иронично, майки нагло пиздят про кроссплатформенность, а их ручные обезьянки забесплатно ретранслируют этот пиздёж) нигде не используется, кроме хеллоувордов от школьников, что являются основной аудиторией петушарпа, из за чего экосистема петушарпа это абсолютный кал, на который без слёз не посмотришь.
Зато книги по АСП всё подробно объясняют с живыми примерами реальных приложений. А по джаве за 20 лет ни одной такой книги не выпустили.
Побольше доверяй фреймворкам, хуле.
Там где знающий человек просто молча размотает ебаный спринг по кишкам, либо забьет хуй и повесит аспект/интерцептор/сервлет-фильтр (в зависимости от обстоятельств), и будет 100% уверен что эта логика у него вызовется, культ спринга будет бугуртить на весь тред о том, как его наебал очередной индус из бывшего пивотал, но продолжать игнорить базу, придумывая отговорки навроде "так читабельней и поддерживаемей" и "энти ваши древние технологии нинужны и недостойны траты на них моего времени".
И тебе хорошего дня
да у них дока максимально петушиная. в отличие от spring, которые эти чуваки пытаются похоронить.
В общем, джаву реально выучить только на уровне хеллоуворлдщиков, а до проф. уровня вырасти не реально. Инфы тупо нет.
Никто никого хоронить не пытается (кроме культистов спринга, хоронящих всех кто не с ними, и просто рандомных ЧСВ-болванов).
Просто у тебя разрыв шаблона от того, что раньше ты работал на фреймворке, которому с десяток лет и у которого огромное коммьюнити по всему миру, и как результат - тонна нагенерированного контента по нему, а сейчас пересел на более молодой фреймворк с меньшим коммьюнити, у которого еще ничего этого нет.
Их квикстарты хоть пробовал смотреть? https://github.com/quarkusio/quarkus-quickstarts
Дак эти гайды ни о чём. Они из разряда: вот у нас Спринг, давайте напишем хеллоуворлд и выведем его на страничку браузера на локалхост:8080. И всё. Они не рассказываю как писать полноценные веб-приложения.
Его нельзя выучить. Им можно только научиться пользоваться.
Начинать нужно совсем не с теории. Напиши хелло ворлд, дерни постманом. Попробуй сохранить объект в базу. Итд, так и разбираешься
Почему тогда учебные материалы по РНР не заканчиваются на echo 'Hello world!'? Ведь результат тот же самый.
Гайды крутые, они просто нихуя не "начнем с хелло ворлда и шаг за шагом дойдем до написания своего фейсбука". Они под конкретные запросы - как сделать хелло ворлд
Как сохранять в базу. В другую базу. Вот еще в такую базу. В базу для тестов.
Как написать тест. Как написать тест похитрее. Как написать хитровыебанный тест.
Как сделать аутентификацию. Как сделать аутентификацию гугла. Как сделать свою аутентификацию как будто ты гугл.
И так далее. Тебе надо знать, что искать, ты ищешь для начинающих и справедливо получаешь хелло ворлд.
В шарпе с книгами тоже плохо. Выпускают с опозданием в 3-4 года, а под новые версии они уже не подходят, потому что микрософты каждый год всё переделывают.
Посмотрел видосы на сравнение языков. Не удивительно, что начался срач.
Ну легче не будет, вернее не прям очень легче. В чем-то сравнивать я их не могу, так как опыта нет, так что я просто сравнил по количеству вакансий. На джаву почти в 2 раза больше вакансий.
А значит и в 2 раза больше шансов (так не работает).
Не знаю почему, но в шарп не тянет, хоть и всплывали новости о перехвате позиции джавы котлином (оба языка об одном) я все еще хочу стать частью джавы. Видимо время проведенное в ванильном майнкрафте отдаётся эхом.
>Посоветовали этого не делать, а просто идти в шарп, так как легче.
Тупая обезьянка майков на коротком поводке.
После джава кора ты столкнёшься с отсутствием инфы. Просто голяк и развитие остановится. Я уже полгода топчусь на месте и не могу изучить Спринг.
За это время мог бы уже в шарп вкатиться(((
Я б здесь вообще помощи не искал. По моим наблюдениям, тут только рофлят над новичками и срутся с шарпистами.
То есть ты серьезно послушал мнения рандомного чела с двача, и пошел менять карьерный путь? Ты ебобо?
Там вообще капец! Я когда первый раз увидел конфигурацию бинов, то не мог поверить, что такое вообще может существовать. Даже не представляю в каком извращенном сознание вообще могла возникнуть идея перенести создание классов из джавы в xml.
А, забыл, еще с умным ебалом рассуждают об судьбе айтишечьки и джавы в РФ и мире. Судя по аудитории, рассуждают скорее всего те же кто и советуют - вкатуны)
Я хз тебе ли, но я выше дважды вкатышку написал, что по спрингу инфы навалом и надо учить его практикой, оба раза ты (или нет) меня проигнорировал.
То что ты жрешь кактус, не значит, что во всей джаве все жрут кактусы
Я просто не знаю что ответить. Мне нужна дорожная карта развития. Если уже знаешь что гуглить, то конечно загуглишь, а когда не знаешь вообще ничего, то ничего и не загуглишь.
К тому же на собесах спрашивают всё и при таком подходе у тебя будут огромные пробелы в знаниях.
>Мне нужна дорожная карта развития
Сам же сказал. Так и гугли - Java roadmap. Spring Roadmap. Этих роадмапов как грязи.
Вот этот возьми например. https://github.com/s4kibs4mi/java-developer-roadmap. Первая ссылка в гугле. Чем не зашел?
> при таком подходе у тебя будут огромные пробелы в знаниях
Не будет. Блять, это же элементарные вещи, это не программирование, это самообразование, просто база базы.
Роадмап? Он не нужен в этом, это прикладная штука а не теоретическая. Хорошо, давай конкретно тебя пну (ты кстати ни разу ни попросил).
Иди напиши онлайн магазин. Не настоящий, а фейковый-лоу эффортный, но с карточками товаров, корзиной, итд.
Начни с малого - выведи одну карточку товаров. Потом сохраняй ее в базу. Потом список. И так далее развивай.
Познакомишься и с БД, и с авторизацией, и со всем основным. А там тебе уже станет понятно, где у тебя дыры в познании.
Можешь еще знакомого тебе найти который ревьюить будет, или вообще на двач принести, обоссать тут любят.
Все технологии используй последних актуальных версий.
Роадмапы говно и хуйня, это когда ты уже весь бэкенд познал и преисполнился на него смотришь и умиляешься.
Когда ты вкатун то он страшный и непонятный. Спринг одним кирпичиком вообще, какой-нибудь АжурКосмосДБ в обязательные вынесен итд.
Яб нормально нарисовал, но мне пока лень вкатунов менторить
---
А может и правда нарисовать и потом выебываться что у меня много звездочек на гитхабе?
Да. Месяц слишком оптимистично. Полгода - если целый день учиться - слишком пессимистично.
Что за хуйня? Я посмотрел топ 20 роадмапов по запросам java roadmap и java backend roadmap, и они все ЕБАНОЕ ГОВНО. Неужели реально есть смысл делать свой? Или непопулярные просто не пиарят, поэтому их нет в выдаче?
Официальная референс дока по самым мастхевным кускам(core, бут, дата, секурити) - +- 2кк(4 войны и мир) символов на ингрише. Но и она тебе не даст от и до, по доке ты не будешь понимать как разные куски спринга работают вместе. Нужно будет читать статьи и стековерфлоу и кучу чужого кода(на гитхабе можно максимум маленький прототип настоящего проекта найти, но 90% это хеловорды на пару сотен строк вообще не отражающие реальные задачи).
Ну в доке спринга только спринговые обертки само собой. Перед знакомством со spring data jpa нужно для "от и до" хорошо знать саму jpa.
> Когда ты вкатун то он страшный и непонятный.
Да им всегда будет страшно и непонятно. Особенности цеха разработки ПО, хуле. За десятилетия нахуевертили всякой хуйни, что черт ногу сломит. Засекьюрили себе жопу, по другому не скажешь.
>А может и правда нарисовать и потом выебываться
Напиши-напиши. Я думаю многие тут оценят (вылив перед этим две тонны говна, но хей, конструктивная критика же хорошо, да?).
Будешь потом в орденах по треду щеголять
- алишев Spring Framework на ютубе для нулевых
- spring otus на nnmclub.to
практика :
- Spring в действии 6-е изд на nnmclub.to
- letscode sweater на ютубе
- baeldung для конкретных вопросов при пилении проекта - тысячи гайдов по спрингу.
Этого уже хватит, чтобы вкатиться на джуна.
И все кроме баелдунга есть на русском. На нашем родном любимом русском языке, для тех кто не может выучить несколько тысяч слов вражеского английского из очень ограниченного айтишного вокабуляра.
По другим причинам
Легасиподдержика ответ
Хаха ЛЕГАСИПЕРДЕЖНИК ОБОССАННЫЙ ИДИ БЛЯ ЕЩЕ НА СЕРВЛЕТАХ ПОДРИЩИ ХАХАХАХАХАХАХ ПИДАРАШКА ССАННАЯ
Ну я это учил чуть больше года назад. Теперь уже сам учу джунов на работе. Некоторые из них и этого не осилили к сожалению.
Неа. Только на 3.х спринге, лол.
Полноценного джуна? Новый рест эндпоинт добавить в уже имеющийся сервис.
Миграция - репо - сервис - контроллер - валидация - интеграционные тесты на эндпоинт + опционально юниты. Может в кафку пукнуть.
Ну логирование где надо расставить, обработать эксепшоны бд и внешних сервисов. Для сваггера может описания более подробные прописать.
Ну и джуновой задачу делает, что тз эндпоинта уже расписано. С аналитиками, фронтами и другими сервисами поговорили за него и ему есть четкие требования к апи - входные и выходные параметры, описание валидаций.
Выбора нет, сейчас это одна из немногих контор, которая набирает людей не в мизерных количествах. Судя по каналам с вакансиями, яндекс примерно 50% вакансий генерировал этой осенью и в декабре...
Хуйней страдают.
Никаг.
Spring Shell.
Режут эти таск джунам, бодаются с другими плейсхолдерами. Делают те же задачи или даже легче, но сами решают подробности реализации последующей постановки непосредственно от qa, аналитиков и фронтов. Думают над архитектурой конкретного сервиса или связки сервисов. Втаскивают новые технологии или выпиливают старые, учат джунов.
У нас контора маленькая, поэтому ещё занимаются частью девопса - сиайки, мониторинги, спринг клауд приблуды.
Я не буду спорить. У нас полноценно только фейны работают. И то не уверен, что мы получили какие то преимущества по сравнению со стандартными речи темплейтами. Ещё пару штук тестирует пара людей.
Хотя вот сегодня поменял кое что в одном кафка продюсере. И если бы у нас была авро вместо джейсона мне не нужно было бежать синхронизировать консьюмера на этой неделе.
>И то не уверен, что мы получили какие то преимущества по сравнению со стандартными речи темплейтами.
Есть в спринге из коробки https://docs.spring.io/spring-framework/docs/6.0.0-RC1/reference/html/integration.html#rest-http-interface
>WebClient can basically do what RestTemplate does, making synchronous blocking calls. But it also has asynchronous capabilities, which makes it interesting. It has a functional way of programming, which makes it easy to read as well.
Ух сука.
Я видел. Но трогать 6 спринг ещё месяца 3 мы не будем просто потому что сырое. А там если руки дойдут, то можно перейти кое где.
Двачую. Смузихлебские понты важнее здравого смысла.
Ну не нужна большинству асинхронщина. А авторы фреймворка, как будто шиза из этого труда слушают.
Чушь же, не?
Удобство фейня в том что можно маппинги вынести в отдельный модуль, и использовать их и для клиента и для контроллера, не дублируя код, имея проверку типов итд.
А тут выглядит как миллениалы изобрели ретрофит
>Удобство фейня в том что можно маппинги вынести в отдельный модуль, и использовать их и для клиента и для контроллера, не дублируя код, имея проверку типов итд.
И че кто-то так делал?
В любом микросервисном проекте распределённом монолите изобретают модуль типа common, куда выносят классы, используемые потребителем и поставщиком.
Мы делаем. Отдельный модуль на маппинги и DTO, отдельный для клиента, отдельный для сервиса
У вас распределенный монолит. Вы потеряли возможность независимо развивать микросервисы.
Нифига, у нас владелец имеет контроль над API и не дублируется код /пикча с карлосоном/
Сервисы спокойно развиваются - обратносовместимые изменения можно делать, для несовместимых заводишь отдельные маппинги.
Версии клиентов припинены везде, так что это по сути ничем не отличается от обычной хуйни с копированием юрлов руками. Ну кроме надежности.
А еще можно пробежаться по зависимостям и понять кто какую версию API использует.
По сути миллениалы изобрели grpc, только поверх rest и самодельное
И в чем принципиальная разница, если переиспользовать имплементацию контроллера в фейне?
Это же страшный синхронный рест - в любом случае распределенный монолит.
Миллениалы изобрели grpc - это как минимум тогда, когда DTO-хи генерируются из JSON-схемы.
В том, что типобезопасность обеспечивается зависимостью на одну и ту же версию библиотеки.
Так это нужно только для поддержки разных языков, у нас же по факту везде jvm, так что наша схема - это маппер
А, ну тупо указываешь своё POJO без аннотаций в параметрах метода, всё заполнится само.
/test?foo=123&bar=456
Скуф.
Это не троллинг, а суровая правда
Наоборот же 5 джава была лучшей, а в 8 ввели эти StreamAPI и превратили джаву в функциональный язык. Сейчас везде требуют писать не циклы, а крольчатки из вызовов стримапи.
Наркоманскими стримами любят злоупотреблять, они компактнее итераторов, но куда менее читаемые, их сложно дебажить и рефакторить. Хорошо, когда там 3 вызова, но некоторые пишут цепочку из 10-15 flatMap/reduce/groupingBy, и приходится добавлять комментарий к каждой строке, а то даже автор через пару недель не может разобраться.
Прям требуют? Неадекватная хуйня какая то, я б обоссал этих требовальников.
>>55241
>сложно дебажить
Это нормально в целом для декларативных подходов к разработке - их обычно и не дебажат никогда, ибо если оно скомпилировалось, то с большой вероятностью оно будет работать (в джаве похуже конечно чем в хаскеле, но в целом приемлемо).
>менее читаемые
Да и по поводу читабельности крайне спорно (впрочем когда в утверждении есть слово "читабельность", утверждение ИМХО априори - говно и призыв к тому, чтобы утверждающего обосрали).
>некоторые пишут цепочку из 10-15 flatMap/reduce/groupingBy
Это иногда неизбежно.
А вот что реально бесит со стримами, реактивными стримами и прочими флюент-интерфейсами, похожими на стримы, так это дженерик хелл, который обычно случается когда через длинные стримы начинают протаскивать не одно значение, а целые ебаные кортежи нахуй. И ладно бы если эти кортежи в нормальный тип данных оформлены. Ладно бы если это были Map.Entry'и, которые потом коллектором в мапу собираются. Так нет. Обычно это какие нибудь сраные Tuple<A, B>/Triple<A,B,C>/Quartet<A, B, C, D>, да еще и вложенные друг в друга. И если в каком нить месте этого стрима джава не сможет вывести дженерик сама - все. Весь стрим краснеет, косяк заебешься искать.
Вот это функциомакака рванула.
>>Прям требуют?
На ревью обоссут, если попытаешься циклами писать простые вещи.
Но иногда приходится хуярить циклы, когда пишешь на старом говне с checked exception, который в лямбду нормально не засунешь.
>>Весь стрим краснеет, косяк заебешься искать.
К концу стажировки научишься находить все быстро, будешь как настоящий джун
Алсо, тут подробное содержание можно посмотреть.
https://www.ozon.ru/product/mikroservisy-spring-v-deystvii-439439852/?asb=ZECg%252FWwaWHBEnUE2CZNimiTQPxdQQVma40FA0kxPX%252Bo%253D&asb2=lOsaRMsWMLmtp3bZdx2teEGHtQBmgca8yE6MERL6PnzOfSaJ38pxF8U6JLmCM1ka&avtc=1&avte=2&avts=1672142386&keywords=spring+cloud&sh=XJ9PjksQvw
>К концу стажировки научишься находить все быстро, будешь как настоящий джун
Вот не надо тут этого снисходительного тона. Я синьор, 10 лет, и за 10 лет повидал всякое дерьмо, включая вышеописанное дерьмо с туплами на стримах. Разок даже видел кейс, где стримы были настолько ебанутыми, что на них ломалась даже Идея: компилятор стрим компилировал, а идея считала что в стриме типы не сходятся. Поэтому хуеплетов, возомнивших о себе ниибаца ФП разрабов, пытающихся стримы заюзать как колхозную do-notation, где биндинги это поля туплов, я ебал.
https://t me/bookofgeek/1479
Мне подробное содержание понравилось, захотелось почитать, даже если спрингклауд не буду использовать.
Раньше думал следующей книгой взять пикрил, но теперь наверно возьму твою.
Какие нахуй видосы? Лучше проходить курсы за 50к.
400 страниц. Пизда!
Это всё можно уложить в 30 страниц. Конечно, пипл не схавает, и не захочет за говнокнижку в 30 страниц 2,5к платить. Поэтому надо воду лить.
Сажа прилипла
Есть одна либа
требует File для кое-каких действий
но потом этот файл останется на диске и хрен знает как его удалить, да и вообще создавать его на диске никак нельзя
есть возможность создать файл в оперативке? Может либа есть какая.
Внимаю мудрости
Поскольку ты всё равно не умеешь гуглить, RAMFS тебе не поможет. попробуй стать погонщиком верблюдов.
Я поэтому и спрашиваю.
>RAMFS
такое пользовать не дадут, до уровня ос спускаться нельзя
Возможно легче либу чуть переписать. Такое тоже не дадут кек, а может дадут
>>55814
Не может, я первым делом внутрь полез, там только File
>>55816
Он автоудаляется при закрытии jmv, до этого момента там миллионы мусора может скопиться
>Он автоудаляется при закрытии jmv, до этого момента там миллионы мусора может скопиться
А в RAMе они не будут по твоему копиться?
Расскажи подробнее хоть - че это за либа, че она делает и насколько много там миллионов мусора
Расковырять либу и подсовывать ей вместо файла BAOS? Через рефлексию дергать, например
Костылит и приговаривает полушепотом ух бля
>Он автоудаляется при закрытии jmv, до этого момента там миллионы мусора может скопиться
И че ебать?
Хуй что он расскажет, хотел бы, чтобы ему помогли - рассказал в первом посте.
Ла это шарпоблядь опять наверное троллит.
Зачем прокси, если класс известно какой нужен, он не final, внутри методов final тоже нет, хоть весь класс целиком оверрайдь.
зис. Внутри файл оборачивался и из обертки inputStream вызывался. У обертки была реализация под кучу всего в том числе и bais
Сделал анонимный класс и переопределил нужный мне метод чтоб bais использовал
>>55863
А как же святой гб?
>>55865
>>55891
https://docs.oracle.com/javaee/7/api/javax/mail/internet/MimeBodyPart.html
attachFile()
сейчас коллеги узнают, что я просил советов на дваче. Уверен кто-то да сидит
Ахахах, сережа ты что ли?
Защита от долбоеба
ну примерно так я и навелосипедил через анонимный класс
Зато знаний немного набрался, так бы просто скопировал и все
Копаться к кишках джавовского ввода-вывода - неблагодарное дело, там усложнили всё на ровном месте, остаётся только один раз написать обёртку и забыть как страшный сон.
Хуйня какая-то, мем без смысла, просто накиданы смищные картинки в рандомном порядке под названия языков.
Да.
Почему тогда не пишут книги в 1000 страниц, где бы всё моменты изложили профессиональной разработки на джаве, если каждую тему можно так кратко изложить?
Аккаунт нельзя зарегистрировать для России.
Получается, JavaEE пошла по пизде, вместе с cloud, MySQL, VirtualBox, JUnit (который покрасился в цвета хохлов ебаных) и хуй знает чем ещё.
Как теперь джависты живут в интерпрайзе, просветите плиз?
И?
Там не "или", а "и". Микрософт отключил, да и хуй бы с ним.
Даже google cloud ебнулся на отличненько и ждет регистраций от хохлов, но не от россиян.
Java EE уже восимь четыре года как джакарта и ее реализации абсолютно доступны для скачивания. Или тебе принципиален именно оракловский глассфиш именно с их сайта?
>Получается, JavaEE пошла по пизде, вместе с cloud, MySQL, VirtualBox, JUnit
Подтверждаю. Утром 26 февраля заглянул в папку .m2 а там пусто. И только надпись we support Ukraine
Спасибо! Надо разобраться.
Ну а JUnit, Jenkins и прочая экосистема, измазанная в цвета хохлов?
>>попытался скачать Java EE SDK
Не выебывайся, качай Liberica JDK
>>JavaEE пошла по пизде, вместе с cloud, MySQL, VirtualBox
уже очекнь давно
>>JUnit
он работает как и прежде без проблем
>>Как теперь джависты живут в интерпрайзе
как и последние десять лет на спринге
>>56088
>>оракл отключил джаву.
если даже он перестанет обновлять жабу, весь мировой тырпрайз на 11 работать будет
Да я пошел по инструкциям в видео курсах скачивать "prerequisites", не ожидал такого поворота.
>>JUnit
>>он работает как и прежде без проблем
Ну хз, надолго ли, там все в говне уже
А дотнет полностью опенсорсный. Можешь скачать любую версию и сам собрать из исходников.
А в джаве и 10 лет назад мог, пока дотнет был только для винды.
>>пошел по инструкциям в видео курсах скачивать "prerequisites"
Кек, у жюнита свой сайт оказывается есть.
Качай отсюда (просто добавляешь зависимость в мавен/градл)
https://mvnrepository.com/search?q=junit
Ну и судя по стеку "prerequisites" курс говно какое то неактуальное.
>>надолго ли, там все в говне уже
Просто не обонвляйся до последних версий. Возьми 5.8.2 - ты даже не поймешь в чем разница. (или 4,13 если у тебя древний стек на жюнит4)
>>сам собрать из исходников.
И нахуй оно мне надо? Похуй же че там на серваках крутиться будет. Либерика с фсбщными закладками - тоже ок.
КГ/АМ
Петушарп.
Надо разворачивать реальную СУБД. У них всех разные возможности, и хоть обмажься хибернейтами, всё равно столкнёшься с тем, что одни и те же действия в разных СУБД работают по-разному.
А H2 тупо для запуска юнит-тестов.
Постгрес.
Надо, но на дев-хосте ее инсталлировать ИМХО нерационально. Особенно когда работаешь сразу со многими разными проектами. Я обычно просто стартую докер контейнер когда мне нужна СУБД, подключаю сервис к ней, и прибиваю, когда больше не нужна.
Но ведь в докерах линупс и там настраивать базу очень сложно. Вводят миллион каких-то команд, чтобы просто создать одну табличку.
я докер пока так и не осилил и ставлю на рабочую машину постгрю. В тестах задаю локалхост. Гораздо быстрее чем на докере работает
Какого хуя я не могу переопределить этот метод и вернуть из него что-то более конкретное, чем Object?
Да лаадно, че там настраивать. Идешь в докерхаб, смотришь какими опциями дефолтные креденшелы выставить и пишешь докер композ. Все. Это проще чем руками менеджить зоопарк СУБДшек проинсталлированных локально. Мало того, разные сервисы могут просить разные версии одной СУБДшки - докер резолвит эту проблему на изи.
>>56594
>В тестах задаю локалхост
Так это не проблема - маппишь порт контейнера на хост, и у тебя тот же локалхост.
>Гораздо быстрее чем на докере работает
Хз. Не замечал у себя серьезных просадок.
>>достаточно H2
Не нужна. Заебешься править различия в диалектах.
>>Как вообще люди делают?
Для тестов - тестконтейнер, для локальной разработки - просто в докере нужные базы поднимаю.
>>56591
>>ведь в докерах линупс и там настраивать базу очень сложно.
чел ты..
docker run --name testdb -p 5432:5432 -e POSTGRES_USER=tdb -e POSTGRES_PASSWORD=tdb -e POSTGRES_DB=testdb -d postgres
>>Вводят миллион каких-то команд, чтобы просто создать одну табличку.
про миграции не слышал?
Ну дописываешь ещё один параметр -v, и ничего катить не надо, делов-то.
Может не запуститься
Нет, потому что обычно контейнеры СУБДэх держат базы данных на volume'ах. Поэтому я и предпочитаю докер композ - ты его стопанул-стартанул и ничего не теряешь до тех пор, пока сам не решишь сделать docker volume rm/prune. Потому что при последующем старте контейнеры стартанут с volumами с предыдущего раза.
Кидай обе.
Вот есть у меня класс Circle, у него из переменных a и b. Есть класс PlaneCircle, он наследуюется от Circle, но добавляет себе ещё и поле c.
Вот делаю я инстанцию объекта PlaneCircle, заполняя все 3 параметра через конструктор. Потом делаю инстанцию Circle, которой присваиваю инстанцию PlaneCircle. После такого я бы ожидал, что circle будет в себе хранить только значения a и b, так как у него нету поля c, значение которого мы передали. Но в дебаге тем не менее мы видим, что у circle есть переменная с со значением, да и вообще он является PlaneCircle, а не Circle, который я указал при создании объекта. Почему так ? Я же указал Circle, почему он не делает именно его, отбрасыываю поле c, ну или не даёт ошибку, что так нельзя. Мне оба этих варианта кажутся более понятными и подходящими, чем то, что на самом деле есть.
Идешь на сайт какого нить вендора, например https://adoptium.net или https://jdk.java.net/, выбираешь там нужную тебе архитектуру и качаешь.
>Потом делаю инстанцию Circle, которой присваиваю инстанцию PlaneCircle
Твоя ошибка - здесь. На самом деле у себя в коде ты НЕ делаешь никакой инстанции Circle. На 3й строчке своего main ты заводишь ссылку с именем circle и говоришь ей "ссылайся туда же, куда щас ссылается planeCircle".
Джава - статический ЯП (mostly). Она не станет перелопачивать твои значения из одного типа в другой если ты явно сам это не сделаешь. Поэтому на второй строчке не происходит никакой конвертации PlaneCircle в Circle. Кроме того, в джаве референс-типы (к коми относятся все твои классы) копируются по ссылке, а не по значению, из чего следует что на третьей строчке ты скопировал не обьект, а ссылку на него.
Поэтому в коде у тебя не два обьекта, как ты мог бы подумать. А один. PlaneCircle, который ты создал используя ключевое слово new на второй строчке. И две ссылки на него - circle и planeCircle.
>Она не станет перелопачивать твои значения из одного типа в другой если ты явно сам это не сделаешь.
А как можно явно это сделать ? Закастить ?
>Поэтому на второй строчке не происходит никакой конвертации PlaneCircle в Circle. Кроме того, в джаве референс-типы (к коми относятся все твои классы) копируются по ссылке, а не по значению, из чего следует что на третьей строчке ты скопировал не обьект, а ссылку на него.
А почему тогда, если я уберу из PlaneCircle наследование, сделав набор полей в обоих классах абсолютно разным, то main() перестанет рабоать ? Получается же, что в оригинальной ситуации компилятор игнорирует то, что в 3й сточке я пишу Circle, а в этой не игнорирует, правильно ? Почему так ?
Значит не завезли еще. Че как маленький?
Вроде вон какая то пепяка в early access есть от майков: https://github.com/microsoft/openjdk-aarch64
>А как можно явно это сделать ? Закастить ?
Кастинг в данном случае тоже не имеет смысла. Твой PlaneCircle наследует Circle, а значит что PlaneCircle уже априори является Circle.
В даном случае достичь желаемого тобой эффекта можно путем чего нить типа
Circle circle = new Circle(planeCircle.getX(), planeCircle.getY());
>А почему тогда, если я уберу из PlaneCircle наследование, сделав набор полей в обоих классах абсолютно разным, то main() перестанет рабоать ?
Убрав наследование, ты лишишься вот этого вышеупомянутого свойства:
>PlaneCircle априори является Circle
...и как результат, потеряешь право ссылаться на PlaneCircle ссылками типа Circle.
В языках со строгими типами данных такой эффект называется сабтайпинг: если есть отношение между типами вида "А - сабтайп B", языки дозволяют делать подстановку B во все места, где ожидается А.
>В языках со строгими типами данных такой эффект называется сабтайпинг: если есть отношение между типами вида "А - сабтайп B", языки дозволяют делать подстановку B во все места, где ожидается А.
Обьебался в этом месте. Еще раз.
Если есть отношение между типами вида "B - сабтайп A", языки дозволяют делать подстановку B во все места, где ожидается А.
В примере с кругами PlaneCircle extends Circle литералли трактуется джавой как PlaneCircle является сабтайпом Circle.
>>56932
Вроде понял, спасибо. А можешь привести какой-то пример, где
PlaneCircle planeCircle = new PlaneCircle(1,2,3);
Circle circle = planeCircle;
или что-то подобное имело бы больше смысла, чем сделать
PlaneCircle planeCircle = new PlaneCircle(1,2,3);
PlaneCircle circle = planeCircle;
То есть суть сабтайпинга я вроде понял, но не могу представить ситуации, где это было бы нужно для чего-то.
Имея иерархию классов, ты получаешь возможность определить какой нить алгоритм для базового класса, который тем не менее можно будет применить ко всем наследникам.
Например, если ты заведешь базовый класс Shape c методом square (класс Фигура с методом для вычисления площади этой фигуры), отнаследуешь от Shape всякие Circle и Rectangle (определив для каждой фигуры в методе square формулу вычисления ее площади - для квадрата ab, для круга пиr^2, и. т. д), то потом к примеру ты сможешь завести массив типа Shape[], заполнить его разными фигурами, и потом посчитать сумму площадей этих фигур просто пробежав по этому массиву циклом и просуммировав результат вызова на каждом элементе этого массива метода square, не задумываясь о том, какие конкретно фигуры в этом массиве.
Но учти что наследование - слишком мощный инструмент, которым по неопытности можно ебануть себе в колено. Ты всегда можешь сказать джаве что тип PlaneCircle является сабтайпом Circle, и джава примет это за чистую монету, но это не гарантирует тебе что с точки зрения здравого смысла такой сабтайпинг будет иметь хоть какой то смысл или пользу. Бессмысленные иерархии классов в коде имеют тенденцию разрастаться и приносить боль при поддержке.
Да ничего не надо, код из книги по джаве, которую читаю, чтобы пробелы закрыть в своих познаниях, вот на один из таких и наткнулся.
Понял, анончик, спасибо.
>А H2 тупо для запуска юнит-тестов
СУБД для запуска юнит тестов
для юнит тестов
СУБД
как же заебали клованы
СУБД для запуска юнит-тестов. Проблемы?
Модет, тебе ещё и браузер в идею встроить?
Так что такой подход не продуктивный. Надо сначала читать книги, а потом уже садиться писать код.
>Пишешь код, ебешься с базой раз, два, три, на четвертый костылируешь свое подобие миграций, еще, начинаешь подозревать, что что-то делаешь не так, интересуешься в гугле как делают по уму, узнаешь про миграции, впредь делаешь как надо
VS
>Читаешь книги, читаешь книги, и вот снова читаешь потому что ну нельзя же не прочитав книгу садиться код писать боженька наругает и по-любому какие-то пробелы остаются ведь все знать невозможно, какой еще хелло ворлд, вот тут неизученная %очередная технология нейм%, прочту пожалуй еще книгу
Помогите Даше понять, кто быстрее получит ценные для работы скиллы
Я вообще можно сказать нифейхоа не знал, когда устраивался на веб макаку шесть лет назад. И ничего страшного - мимо миграций, а так же дугих премудростей бд, ака индексы, транзакции, уровни изоляции, блокировки и пр. не прошел мимо.
Много гугли по всем непонятным моментам. И тебе на стековерфлоу выдаст, что твой кривой подход надо заменить на миграции.
Сап. Я вкатун, потихоньку изучаю джаву. Надоело попукивать в консольку и я решил делать программы с UI, освоил JavaFX немного. И так как мне давно хочется сделать визуальную новеллу, я решил попробовать реализовать её на Java будет как дополнительная практика в изучении. Собственно вопрос: возможно ли это вообще? С какими трудностям я могу столкнуться?
Дополню, что я знаю про RenPy и прочее, но я хочу сделать именно на Java, так как изучаю именно этот язык и он мне нравится.
>возможно ли это вообще
Вполне
>С какими трудностям я могу столкнуться
Велосипедный запуск из-за отсутствия фуфыкса в стандартной либе, примитивный визуал из-за нацеленности фуфыкса на офисный софт, отсутствие стандартных средств языка для реализации высокоуровневых фич из того же ренпу (пишешь свое сохранение/загрузку/скриптование сценариев/статов вместо вызова готовых функций).
Несмотря на все это, вн на жабе вполне существуют и неплохо, как завсегдатай дрочесайтов отвечаю.
>>Как работать с СУБД в коммьюнити идее?
Через DBeaver. У меня почти вся команда так работает (особенно всякие тестировщики и аналитики)
>>вынуждают покупать платную, чтобы иметь возможность работать с базами?
ты скажи еще и проект не собирается без мавен плагина.
Проект вообще надо с сайта скачивать, потом распаковывать и уже открывать в идее.
>Что-то что видюху использует
>вн
Камон, менять картинки можно и без ускорения, особенно в учебных целях. Тот же ренпу прекрасно работает на цп-рендере пыхтя и пердя на топовом железе
То, что учить жабу через fx - мрак, верно.
Тот, кто первый получит оффер и начнёт получать опыт коммерческой разработки
1. Ставишь sdkman (он же sdkmanager)
2. Смотришь доступные версии через sdk list java
3. Ставишь с него себе jdk, который тебе нужен
Если я тебе отвечу что "нет, не нормально", роскомнадзорнешься? Какой смысл в этом вопросе, какой ответ ты ожидаешь услышать?
Не понял и не понял. Ваще пох. Пересмотри попозже, месяца через 3, мож попозже поймешь.
Уйду учить сишарп. Ну вообще, я думал, что никто не понимает.
Один из самых известных проповедников церкви спринга на русскоязычном пространстве.
Я тоже был в шоке от этого извращения. Даже не представляю кто в здравом уме мог такое придумать.
Вера в IoC/DI исключает создание бинов через new. В более поздних версиях спринга пошли в сторону отказа от DI, поэтому разрешили конфигурировать контекст через new. В светлом объектно-ориентированном будущем аннотации @Autowired, @Bean и @Service задепрекейтят, и тогда заживём.
ХМЛь - хтонь со времен той эпохи, когда спринг еще был молодой и конкурировал на равных с CDI из JavaEE, а спринг бута еще даже в планах не было.
Вспомнился один рофл, который можно встретить в спринге, если конфигурить через ХМЛь бин с двумя инжекциями одинакового типа через конструктор. Иногда спринг мог менять эти аргументы местами (Первый раз встретив такое, легко было словить разрыв шаблона). Это происходило из-за того, что в ХМЛь конфе инжекции в бин не имеют детерминированного порядка. Из-за этого приходилось явно указывать ордеринг в ХМЛе - писать constructor-arg index="0", constructor-arg index="1" итд.
Кароч хтонь ебаная, да.
Ок, буду спрашивать про Swing и сервлеты.
Хотя почитал обсуждение выше. Тащем-то да, конфигурировать DI через текстовые конфиги это извращение. Нужен конфиг DI в виде кода, где зависимости создаются через new
>Почему же жава не может и для А создать автоматически конструктор, который будет конструктор Object вызывать ?
А почему ты решил, что джава так не делает?
Конструкторы есть у всех классов
>А почему ты решил, что джава так не делает?
Ну я мож чот упускаю, но вот кусок, откуда я это взял. В данном случае PlaneCircle наследуется от Circle.
Потому что под подходящим конструктором имеется в виду конструктор без аргументов.
Если никакой конструктор не задан, то он и так есть (автоматически).
А вот если у суперкласса задан конструктор, и он требует аргументы, то создавать конструктор без аргументов автоматически нельзя - можно получить невалидное состояние объекта (ведь автор суперкласса хотел, чтобы конструктор что-то делал)
libgdx
> если класс Б наследуется от класса А, но в Б нет конструктора, то он будет создан автоматически
Только если в А есть конструктор без аргументов
Тут речь о дефолтных конструкторах. Дефолтный конструктор генерится в одном и только одном случае - если ты сам не обьявляешь конструкторов в классе явно. Базовый ли это класс или наследник - совершенно не важно. Если ты обьявил хотя бы один конструктор явно, все. Для класса этот абзац, который ты запринтскринил, больше неприменим. Дефолтных конструкторов в нем нет и больше не будет, есть только те что ты сам обьявил.
Далее. Ты наследуешься от базы и не обьявляешь конструкторов. Джава генерит за тебя дефолтный конструктор в наследнике, без аргументов, и внутри пытается делать super(). Исход этой неявной авантюры зависит от того, есть ли вообще такой конструктор у базы. Если до этого ты обьявлял на базе конструктор с аргументами, дефолтный конструктор на базе сгенерен не будет и вызов super() будет невалиден. Из-за этого случится ошибка компиляции.
Лучше использовать привычный постгрес. В последниих версиях он быстрее монги работает с носкл.
Не исключаю что где то она используется, но я ни разу не видел.
Применяется. Но редко, из 1200 вакух на hh java+spring mongodb есть в 100 и половина из них это просто упоминание самой попсовой nosql - типа знание принципов nosql - например монги, но монги на проекте нету.
Для сравнения java+spring+redis - 150, elasticsearch - 100, cassandra - 60, clickhouse - 50.
И обычно mongo это знак не лучшего проекта. Потому что большая часть функционала монги отлично заменяется jsonb.
И че ты там выучил? Рассказывай
--
Я серьезно, мне всегда было интересно что разрабы имеют в виду, когда говорят "я знаю х"
Какие 20%? Чтение впредь это максимум 1%. Ещё 5% - чтение ответов гугла по вопросам, входит в практику.
Это в идеале, обычно мозг вкатунов не способен осознать что-то за время прочитывания мурзилки по этому чему-то.
Выучил 15 времен английского = я знаю английский
Где оформить годовой абонемент на мурзилки?
>>любая моя идея уже реализована
Да. Иногда очень хуево, но реализована.
>>нет нормального шаблонизатора
thymeleaf, freemarker или даже древний jsp с jstl
>>не позволяет даже делать составные макеты, когда есть базовая страница-шаблон, а остальные файлы описывают лишь содержательную часть и просто вставляются в основу.
позволяет, гугли thymeleaf layout
>thymeleaf layout
Это как раз пример фиговой реализации.
На самом деле проблема не только в шаблонах. Нет тэг-хелперов. К примеру, как организовать вывод ссылок для листания страниц? Ни в одной вашей мурзилке я такого даже не видел. Все выплевывают детские примеры в 3-5 сущностей, поэтому им и не нужны страницы. А ведь очевидно, что сущностей может быть сотни и тысячи и тогда без разбивки вывода на страницы не обойтись. Но ни один шаблонизатор не позволяет этого делать.
Я и не уходил)))
А что если сделать свой шаблонизатор со всеми плюшками? Будет ли считаться, что я изобретатель велосипедов и осуждаться другими джаверами?
Нет, всем будет похуй, потому что шаблонизаторами никто не пользуется для вёрстки страниц.
Проще тогда учить сишарп и идти фуллстеком. Я надеялся, что на джаве можно быть чистым бэком.
Можно, кто мешает? Пишешь рест-апишки, а фронт делает отдельная команда.
>>thymeleaf
>>Это как раз пример фиговой реализации.
Никто и не спорит, хорошая реализация - реакт/ангуляр, ее все и используют в проде.
>>К примеру, как организовать вывод ссылок для листания страниц? Ни в одной вашей мурзилке я такого даже не видел
ну вот первая ссылка в гугле
https://www.baeldung.com/spring-thymeleaf-pagination
>>уровня Razor из дотнета
Выглядит так, будто ты перекатываешься с шарпа и пытаешься
использовать джаву как комбайн для всего.
На джаве конечно можно пилить фронт, делать игры - но нахуя если есть более годные инструменты, заточенные под это?
>>Проще тогда учить сишарп и идти фуллстеком. Я надеялся, что на джаве можно быть чистым бэком.
На сишарпе как раз ты и будешь фулстеком, который пилит и бэк и фронт, только на одном и том же языке.
На джаве обычно пилищь только бэк, работы и так хватает. А как это будет отображаться - поебать. Есть отдельная команда реакт макак, которая кнопки красит.
Я конечно видел фулстеков жава/ангуляр - но это в помойных галерах, куда не нужно стремитья.
Ептваюмать, конечно, скачал 15-ю версию под винду из под прокси, а без прокси - "not supported".
В шапке теперь другое Руководство для начинающих (быдло-версия), но и в прошлом не было ничего про сетап для бэк-энда. Добавьте плиз инструкций для старта: ставить ли сразу Linux похожий на энетрпрайз (Fedora) или через WSL2 учиться. Если Linux, то в какой виртуалке, чтобы основной оставить Винду.
У меня на винду нормально поставилось и даже ни какие файлы мне в сердечки не превратили. А вот под линукс не смог поставить. Там какие-то команду тупые и ничего не понятно.
5 лет опыта выражается в чем - ты попробовал реализовать то-то и якобы научился на своих ошибках, сделал правильные выводы или даже разобрался, как что-то работает "под капотом"?
Думаю, что Linux/bash-скрипты все равно придется изучить.
Я проникся консольными командами, когда изучал git.
Пока что я пытаюсь собрать себе на диск то, что понадобится для работы, пока еще что-нибудь не прикрыли "на благо хохлов".
Я нормально к консольным командам отношусь, но именно в базах данных там какой-то маразм.
Я чисто через всл+докер со всем работаю. На работе винда. И вообще заметил, что у разработчиков на жабе винда достаточно популярна. Хоть это и некомильфо. У питонистов и пхпшников на винде вроде очень сложно сидеть.
К линукс-серверам подключаюсь по ssh или захожу внутрь докер-контейнера. Могу открыть файл(поправить конфиг) в нано/ви или поставить софт какой-то. Каждый раз гуглю по новой как ставить в сентосе/дебиане что-то и как пользоваться ви. Потому что это надо раз в пару месяцев.
Первый год работы было стыдно, что не знаю линуху и хотелось догнать, поставить и изучить. Сейчас забил.
Интересно..
На вскидку, может быть, с метакомандами в постгресе будут проблемы. Для меня это ещё предстоит в будущем.
Да, питонисты особенные. Я как-то спросил в поддержке Selenium и мне сразу посоветовали пользоваться Linux.
Здорово! Тогда этот пункт у меня закрыт. Спасибо!
Ну хз. В джавакоре есть многопоточка, io апихи, ебля с компиляцией. Там голову сломишь с этим.
А в библиотеках хуяк-хуяк - мавен, спринг-бут, датасурц и прочие креды от внешних сервисов в пропертях прописал и все готово.
Очень хороший вопрос.
Моя версия такова: Java Core при всей своей многогранности и сложности устройства в целом довольна стабильна, детерминированна и работает по одинаковым понятным законам. Эти законы описаны в JLS, почти никогда не мменяются и энфорсятся арбитром в лице оракловых TCK - все что TCK не проходит, тупо не имеет права называться джавой. По этой причине материалы по коровой джаве почти никогда не устаревают, противоречивой инфы в них почти что нет. Даже если ты наткнулся на какую нить книгу по шестой джаве, скорее всего она будет как минимум правдивой (не модной, не современной, не исчерпывающей, но как минимум правдивой - все что в ней будет описано, запустится и будет работать на 19й джаве).
А потом появились аннотации. По сути, ничего плохого в аннотациях нет - это всего лишь пучок метаданных, который висит на языковых конструкциях джавы, и которые можно читать и обрабатывать своей логикой. Но по факту, аннотации стали широченной форточкой для того, чтобы начать шатать устоявшиеся подходы и устои. Причем шатать можно было вообще в любую сторону, и никто тебе ничего не запретит. Хошь - генери логику в рантайме, хошь - байткод-инструментируй, хошь - сорцы и конфиги генери. Че хошь делай. Нет над тобой больше никакого арбитра в лице TCK. Более того, не надо даже париться об обратной совместимости (по крайней мере, париться так же рьяно, как это делают (делали) ораклы в джаве)
Есть лишь одна маааленькая такая ключевая негативная особенность - аннотации с точки зрения джавы всего лишь туплы данных, и бремя поддержки всей т.н. магии, творимой на абстракциях, ложится на магов, ибо она не находится под юрисдикцией ораклов. Со стороны ораклов была попытка в Java EE, но Java EE не выдержал особенностей энтерпрайзной разработки (это отдельная песня).
А дальше спрос родил предложение, в виде тысячи школ магии разной степени актуальности, задокументированности и распространенности. Тысяча школ породила туеву хучу документации разной степени свежести и качества, причем в отличие книг по джаве те же книги по спрингу легко могут оказаться лживой тыквой. Устаревшая инфа становится ложью, и подрывает доверие к инфе в целом, из-за чего приходится ее все время пруфчекать.
Это все в сумме и усложняет вкат кратно.
Очень хороший вопрос.
Моя версия такова: Java Core при всей своей многогранности и сложности устройства в целом довольна стабильна, детерминированна и работает по одинаковым понятным законам. Эти законы описаны в JLS, почти никогда не мменяются и энфорсятся арбитром в лице оракловых TCK - все что TCK не проходит, тупо не имеет права называться джавой. По этой причине материалы по коровой джаве почти никогда не устаревают, противоречивой инфы в них почти что нет. Даже если ты наткнулся на какую нить книгу по шестой джаве, скорее всего она будет как минимум правдивой (не модной, не современной, не исчерпывающей, но как минимум правдивой - все что в ней будет описано, запустится и будет работать на 19й джаве).
А потом появились аннотации. По сути, ничего плохого в аннотациях нет - это всего лишь пучок метаданных, который висит на языковых конструкциях джавы, и которые можно читать и обрабатывать своей логикой. Но по факту, аннотации стали широченной форточкой для того, чтобы начать шатать устоявшиеся подходы и устои. Причем шатать можно было вообще в любую сторону, и никто тебе ничего не запретит. Хошь - генери логику в рантайме, хошь - байткод-инструментируй, хошь - сорцы и конфиги генери. Че хошь делай. Нет над тобой больше никакого арбитра в лице TCK. Более того, не надо даже париться об обратной совместимости (по крайней мере, париться так же рьяно, как это делают (делали) ораклы в джаве)
Есть лишь одна маааленькая такая ключевая негативная особенность - аннотации с точки зрения джавы всего лишь туплы данных, и бремя поддержки всей т.н. магии, творимой на абстракциях, ложится на магов, ибо она не находится под юрисдикцией ораклов. Со стороны ораклов была попытка в Java EE, но Java EE не выдержал особенностей энтерпрайзной разработки (это отдельная песня).
А дальше спрос родил предложение, в виде тысячи школ магии разной степени актуальности, задокументированности и распространенности. Тысяча школ породила туеву хучу документации разной степени свежести и качества, причем в отличие книг по джаве те же книги по спрингу легко могут оказаться лживой тыквой. Устаревшая инфа становится ложью, и подрывает доверие к инфе в целом, из-за чего приходится ее все время пруфчекать.
Это все в сумме и усложняет вкат кратно.
Ну и пару слов здесь стоит добавить про энтерпрайз.
Особенность энтерпрайза в том, что это место больших денет и крайне волатильных бизнес-требований. А айтишка сегодня очень плохо справляется с волатильностью требований бизнеса - максимум что анальники ей смогли сегодня противопоставить за десятилетия - аджайл.
Спрос на универсальную пилюлю в энтерпрайзе колоссален, и рождает монстров фреймворкостроения. Здравым смыслом здесь никогда не пахло - сплошной необузданный рыночек и наебалово. Причем товаром на этом рынке является не только бизнес, которому пытаются всучить решение от его головняка, но и сам анальник. Специально для последних фреймворковендоры держат штат евангелистов, задача которых - шляться по конфам и промывать мозги оным тем, "как просто решать задачи сидя на нашей залупе", чтобы те потом промывали мозги (уже забесплатно) своим коллегам и начальству, сколачивая вокруг говяшки культ коммьюнити. Сейчас кстати в качестве той же пилюли пытаются продать МЛь, и вокруг твоиртся тот же самый евангелистский бред, но не суть.
О нуждах вкатунов здесь не заботится никто. Это праздник для челов начиная от миддлов и выше, вкатунам спускается лишь тонна говна, через которое им все труднее и труднее пробраться. Ожидания от вкатуна растут с каждым годом. В 2009м я вкатывался с третьего курса непрофильного универа с околонулевыми знаниями С++, и сразу в оплачиваемую стажировку. Сейчас мне тупо жалко вкатунов, им по моим наблюдениям адски пиздецово.
Дак чем занимаются в энтерпрайзе? Какая типовая задача стоит перед рядовым программистом?
Забилить 8 часов работая по факту лишь 2
импорт документа из системы xxx не прошёл. Разберись, почему, и исправь
Документ должен быть виден только пользователю с ролью акцептанта с доступом к счетам по маске 4085*. Реализуй
Ночью на проде документ завис в статусе ххх. Разберись почему
https://youtu.be/8i_9ZNNhn2I
Это параллельность, а тут именно про асинхронность. Они хвастаются async/await. Дак в джаве не хуже, просто пишешь чуть больше буков: CompletableFuture.supplyAsync(сюда-то-что-надо-заасинхронить);
Сделать хуйню, срок до вчера.
Это если админку пишут на коленке один-два разраба. Обычно её делают нормально, на том же, на чём вся остальная приложуха, т.е. реакт.
{ "foo": {{bar}} }
Если в bar объект с полями a=1, b=false, то должно получится
{ "foo": { "a": 1, "b": false } }
Че?
Ну так ебальник тогда прикрой и не пизди.
>>просто пишешь чуть больше буков: CompletableFuture.supplyAsync(
лучше использовать Webflux или что то подобное, чистые фючеры неудобны.
>>58335 (Del)
>>Часто используют во всяких админках хуйдминках
Нахуя писать админку на бутстрапе, если можно просто кинуть задачу фронтам и они все запилят за день? А если на ЮИ совсем похуй - то и свагером можно ограничиться.
>>58342
>>сделать шаблон json, чтобы можно было подставлять туда произвольные объекты и получать в результате валидный json
Не понял че ты хочешь сделать.
>>58241
Спасибо за пост! Я вкатываюсь через курсы LinkedIn (бывшая Lynda.com и книги + документацию)
Хм.. мне не показалось, что core простой.
С одной стороны в Oracle есть такие разработчики как Brian Goetz (https://www.youtube.com/watch?v=Ki4dj3hfgNI), а с другой индусский говнокод в equals. Цитата из Core Java Хортсмана:
The standard Java library contains over 150 implementations of equals
methods, with a mishmash of using instanceof, calling getClass, catching a
ClassCastException, or doing nothing at all.
Почему Project Lombok религиозно не продвинулся? (или о нём была речь?)
>Хм.. мне не показалось, что core простой.
Так и я не говорил что он простой. Но он именно что проще в изучении. Динамика и прогресс другие. Ты просто берешь любую книжку или пост по джаве и идешь по нему. И скорее всего не ошибешься. В отличие от фреймворков, где, цитирую, "не понятно, что и как делать, что учить".
>Почему Project Lombok религиозно не продвинулся? (или о нём была речь?)
Что значит - не продвинулся, ты че? Еще как продвинулся! От него все джависты торчат, даже рекорды не снизили зависимость от него.
>The standard Java library contains over 150 implementations of equals
>methods, with a mishmash of using instanceof, calling getClass, catching a
>ClassCastException, or doing nothing at all.
Декларация equals/hashCode/toString в базовом Object само по себе - одна большая историческая ошибка. Все вышеописанное - следствие этой ошибки. Языки поновее выносят предикат равенства в отдельный интерфейс или трейт.
Джава как первопроходец собрала в себе многие грабли подобного рода. Бывает.
Project Loom пока еще в превью, и вышел сильно позже хайпа по зеленым потокам и прочим асинхронным языковым конструкциям. Весь религиозный угар уже случился раньше, и пришелся на реактивные стримы (в частности, webflux) и котлиновы корутины. Щас вроде бы протрезвели, осознали что асинхронщина имеет свою цену и не везде дает профит, поэтому лум уже ждут с трезвой головой.
Хотя хуй его знает как все сложится, когда оно окончательно выйдет в каком нить LTS.
Попробуй обложить сухим льдом
int waitTime = 1000;
long waitStart = System.currentTimeMillis();
while(System.currentTimeMillis() - waitStart < waitTime) {
waitStart = System.currentTimeMillis();
}
Надо чтоб процессор не тратило и все потоки сразу умерли.
Ну как тут конкретнее, есть куча DTO-шек, всё с разными филдами внутри и для разных целей. Есть онлайн сервис которому посылают эти дто. Есть внутренние сервисы, со своей логикой работы с этими дто, но в определённые моменты им нужно сделать запрос в онлайн сервис.
Примерно вот так выглядит:
Foo<?> callBar(Object test123){
return (Foo<?>) callBarService(test123)
}
>Ожидания от вкатуна растут с каждым годом. В 2009м я вкатывался с третьего курса непрофильного универа с околонулевыми знаниями С++, и сразу в оплачиваемую стажировку.
Я почти аналогичным образом вкатился в 2022 году, на Go/C++. Никаких глубоких познаний от меня на собесах не требовали, просто попросили несколько алго задачек решить. Студентов все так же берут охотно на стажировки, тем более если ты литкод пару-тройку месяцев порешивал. Только нужно идти в крупные конторы, МЯСО, у которых есть деньги на то, чтобы растить джунов из стажеров. В ноунейм галерах будут требовать знание чуть ли не всего стека технологий. Ну и если вкат в 25+ лет имхо уже трудно реализуем.
Для студентов 3-4 курса даже сейчас куча возможностей есть в Москве и СПб.
Ну заведи сервис для callBarService-метода, и проинжекть его везде. Хуле вам еще остается, сервисным...
>Ну типо чтобы не трогать старые классы когда очень нужно добавить новый метод в большой интрфейс, не?
Ну допустим, просто в контексте твоего вопроса твоя цитата звучала непонятно.
>Это единственный вариант решения?
Ну гляди - из альтернатив у тебя либо вынос этого метода в статическийц утил класс, либо наследование с использованием базового класса или интерфейса с дефолтным методом. Оба способа имеют тьму фатальных недостатков:
- все потребители статического метода намертво приколачиваются к нему, что впоследствии затруднит тестирование (мок статики - та вещь, с которой лучше никогда-никогда не связываться, даже несмотря на то что для этого есть инструменты).
- про иерархию ты сам все сказал - ее у тебя нет, есть лишь пучок несвязных сервисов. Иерархия их свяжет, и оно как будто тоже тебе нахер не сдалось
- Инжекции. Что в статике, что в дефолтном методе интерфейса инжекции средствами контейнера будут тебе недоступны (либо доступны ректальным способом). Из твоего описания проблемы у меня сложилось стойкое впечатление что callBarService скорее всего прокидывает какие то рандомные мессаги из разных мест микросервиса на брокер, шину или очередь, и скорее всего тебе там понадобятся инжекции если не щас, то позже.
Остается сервис-инжекция.
Выглядит как или стул с хуями или хуи со стульями. Ладненько, спасибо за пояснения!
entity.setПерваяКоллекция
entity.setВтораяКоллекция
Предварительно получив листы из репозитория мне кажется архиуебищным выходом.
Либо я что-то не правильно делаю с графами.
Остановить текущий поток - Thread.sleep
Но я почти уверен что тебе не надо "заморозить программу". Тебе скорее всего надо что-то выполнить через N времени. Посмотри ScheduledExecutorService.
А ты сначала захоти. И тогда волшебный стековерфлоу подскажет тебе нужную магическую аннотацию.
Иди нахуй со своим новым годом.
Вроде это должно делаться через слайсы и даже есть @JooqTest но там, кроме этого нужно какие-то конфиги(датасурс контейнера и ликвидбейз как минимум).
С ним @SQL будет работать на уровне метода, которая для заполнения данными?
Да, @JooqTest, а потом еще какой-нибудь @Enable, @Import, @ContextConfiguration и уже задумываешься о том, что просто @SpringBootTest хуйнуть проще.
На гитхабе что-то такое нашел, только там набор конфигов мне наверно не подойдет. И самое главное я не очень понимаю будет ли работать @SQL.
Другой челик написал около сотни тестов на репошки с @SpringBootTest и лид говорит, что если сделать через частичное поднятие контекста можно сэкономить из 5 минут всех тестов секунд 10.
Короче если часа за 3 рабочих не запердолю, то похуй.
Ну у меня тут полчаса делать нечего, решил распланировать первые рабочие дни. За 9 дней можно все забыть. С новым годом, анончик.
Послать SIGSTOP, лол.
получается, без высшего технического там кандидатов не рассматривают? если не студент
На LeetCode я не понимаю условие на английском языке...
Нюхай письку, шарпист.
>Где можно решать алгоритмические задачи на русском
codeforces
acmp
timus
Только там не просто алгоритмические задачи, а скорее тру-олимпиадные. Литкод проще намного и я советую с него начинать.
А литкод бесплатный?
Да дохуя инфы, заебал.
https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-servlet
Официальная референс дока это не единый источник?
>Пока нормальные вкатуны празднуют
>Нормальный вкатун пошел потусить с друзьяшками
>Те привели пару своих знакомых
>Среди них оказались анальники
>Слово за слово и вкатун наладил общение с повидлом/помидором, который сказал что порекоендует его на стажировкеи может подкинуть полезных материалов
>После стажировки приняли
У меня уже 6 часов, отпразновал.
Спасибо!
Даун-опхуй взял рандомные пики из прошлого треда и добавил их в шапку. Включая пик с вопросом вкатуга, почему не работает хеллоуворлд в идеи.
А так там походу был выбран Main, а не Current File. Но оп хуй тогда, да.
Чтобы только монолиты на Spring или EJB. Ну или что-нибудь десктопное на Swing/JavaFX.
Сидел пару лет на нормальном проекте, пописывал неспешно круды, так блин теперь взбрело им переходить на микросервисы. Буду сваливать, учить все эти докеры и кафки тяжело.
А прикинь каково тем, кто вообще с нуля вкатывается? Я вот вообще офигиваю от всего этого говна, что нашлепали. При том, что это всё бесполезное нагромождение байт-кода, так как достаточно иметь библиотеку для приема и отправки http-запросов.
> Чтобы только монолиты на Spring или EJB.
Большинство вакансий - древнее монолитное говно на смеси спринга и EE.
> Ну или что-нибудь десктопное на Swing/JavaFX.
Такой работы нет, забудь.
Jetbrains
>Такой работы нет, забудь.
я на такой работал. Есть опердень на дотнете - по всякому там учёту для госорганов. Вот его копировали на javaFX из-за требований и планов по переходу на астралинукс в госорганах.
Когда работал - было аж 2 клиента, кто пытался перейти на это поделие
Я про это же писал год назад в сишарп-треде, что если бы сделали MAUI-кроссплатформенным, то можно было бы пилить десктопные приложения для бюджетных контор на сишарп, а так только джава без альтернатив.
Авалония.
А сишарп разве пилят в РФ? Там вообще возможно как с джавой собрать свою сборку?
Микрософт специально улучшает инструменты сборки, чтобы каждый дистр линупса мог сделать свой пакет дотнета
p.getInputStream()
Но нехуй так делать, ищи нормальную библиотеку для работы с таблицей маршрутизации, их наверняка много.
У меня аккурат проект без микросервисов (на самом деле и они есть, но далеко выше уровнем, и меня касаются крайне косвенно). Байтоебка с лоулевел апишкой всякого эмбеддеда на нетти. Проект по кайфу кстати, обожаю его. Но я б тебя не взял. Потому что если учить какие то вшивые кафки и докеры для тебя настолько тяжело, что аж сваливаешь из-за этого, байтоебку ты точно морально не осилишь.
Кодировка в notepad++ и в intellij idea, UTF-8.
Помогите пожалуйста.
Да, когда ставлю кодировку windows-1251.
Я пытаюсь из потока считать символы.
Дежурно напоминаю не пропускать прием таблеток
Всё, я поняла. Дело не в английском, просто я не понимаю условие задачи ! Как с этим быть ?
А если начать решать обычные математические задачи ? А потом перейти на leetcode ?
Да.
Вот, у меня ребята есть. Одну задачу всю жизнь решают :D
Теперь нету.
лол :)
Ещё пара вводных, сейчас работаю галерным крабом на галере где есть менторская программа по Java, в том числе и для сеньоров уровня б меня, кто хотел бы стать фейлстеком фулстеком. Уже поговорил с парой разрабов, кто перекатился. Но проблема в том что это было ещё до нашей эры джаваскрипт безумия, до облачных технологий и тому подобного докеры и кафки учить уже не надо, так как приходится использовать, хоть и в простом виде в связке с фронтом в том числе... но использую богомерзкий node.js
Забыл добавить. План вкатиться в Java ещё и потому что хотел бы лет через пять, либо раньше перекатиться в западную Европу/США. Сейчас релокация внутри компании есть в основном только для менеджеров и Java господ, реактодебилы вынуждены скитаться по Турциям и Грузиям.
А если кодал немношк на Java в 2011 году?
Неужто за прошедший год еще не прочувствовал? Пять лет? Европа/США? Серьезно? Щас на месяц вперед предугадать - хуй знат че будет, а ты раскатил горизонт планирования на пять лет, ебать.
Если ты для себя все решил и серьезен в наменерии эмигрировать - ИМХО лучше использовать свои текущие скилы прямщаснахуй, и довольствоваться Турцией-Грузией. Хотя бы в качестве перевалочного пункта. Но ASAP.
Камней нет, бери да учи, по моим ощущениям бэкендеров ценят больше чем фронтов, их меньше и сложнее нанять (например, курсы и поощрения перехода с фронта на бэк и в моих компаниях были часто).
Джава не интересная, если ты хочешь почесать свое программерское нутро, года на 4 может хватает со всякими кишками jvm, потом рутина.
>>61401
Европа - не сложно. США - очень сложно, сейчас вплоть до невозможности из-за рецессии. Какие у них будут миграционные законы через пять лет сказать нельзя.
> хуй знат че будет, а ты раскатил горизонт планирования на пять лет, ебать
Логика простая, если всё хуёво то и хуй с ним. Если что-то поменяется в лучшую сторону через те же пять лет, то лучше бы начать сейчас, а не ждать когда наладится.
> и довольствоваться Турцией-Грузией. Хотя бы в качестве перевалочного пункта. Но ASAP.
Так я уже. Мимо живу в Польше уже четыре года.
>>61412
> Джава не интересная, если ты хочешь почесать свое программерское нутро, года на 4 может хватает со всякими кишками jvm, потом рутина.
То что надо тащем-то. Нужна "стабильность". Года три назад безумный паровоз джаваскрипт хайпа начал из каждой микроволновки говорить что реакт всё и надо пересаживаться на Vue.js. Пока я собирался с силами и искал как бы пересесть Vue.js полностью сдулся, а сейчас вообще разговоры что вьюха помирает. Вот от такого хотелось бы подальше уйти. Ебучий фронтенд так подвержен моде что иногда тошно.
>>61412
> Европа - не сложно. США - очень сложно, сейчас вплоть до невозможности из-за рецессии. Какие у них будут миграционные законы через пять лет сказать нельзя.
Согласен с этим, но как уже выше сказал эти пять лет всё равно надо что-то делать. Иначе через пять лет буду ни с чем создавать треды в зекаче "Надо было учить Java, эх ты..."
>>61417
> Благословляю тебя на вкат.
Спасибо!
Все так, но интересно это не когда фреймворки новые, а когда можно в глубины упарываться хорошо, и те же навыки применять в более сложных сферах. У С++ например есть интересное направление перформанса, лоу лэйтенси, распределенные системы в конце концов
В джаве этого особо нет, а то что есть так, детский лепет
А че не так? Я не говорил что в сях это везде, но там это есть. В джаве такого почти нет. Как и в шарпах. Как и в любом высокоуровневом языке, он на то и высокоуровневый, чтобы бизнес задачи решать. А бизнес задачи скучные.
Исключение наверное только Го, на нем тоже любят интересные штуки делать.
Смотря че смотришь.
На JUG-конфах доклады маркируются по сложности. Обзорные (со значком "смузи") впринципе расчинаты на челов без экспертизы в сабже доклада.
Прогнать stones чернез патерн матчер jewels и посчитать количество символов.
Как это можно исправить ?
P.S. - Так же перестали отображаться новости и погода в windows 10,
"Ошибка сети". Ещё, лаунчеры майнкрафт перестали загружаться, опять таки "Ошибка сети", хотя интернет есть...
/s/
Выключи антивирус и проверь
Нахуя тащить это на двач? Там же есть solutions.
Я чувствую, что мои знания неполноценны
Если ты даже видео на ютубе осознать не смог, книги тебе точно не помогут.
Новая шапка ставит себе цель научить вкатунов самостоятельно учиться, а не двигаться шаблонно по каким-то книгам или курсам на быдлотрубе.
Какие же шарписты дегенераты. Там не только автор видео не осилил спринг, там еще и половина комментаторов не смогли вкатиться в жабу. Кто-то даже брал платные курсы и все равно ничего не понял.
Мне уже полгода шапки и перекаты не нравятся. Хочу, чтобы опхуй сдох долгой и мучительной смертью.
Раз нету, то никто на таком уровне мавен и не знает, а значит, не нужно думать, что твои знания неполноценны.
Да и так понятно, что Спринг - говнина. Какие-то тупые бины, миллион аннотаций, нет нормальной документации и учебных материалов.
Как же спринг-крудошлепы в этом разобрались? Ведь их в разы больше, чем дотнет-крудошлепов?
Можешь хватить коупить и признаешься, что ты, как и многие дотнетчики просто тупой неосилятор?
Ты че совсем что ли ебанат? Документация пиздатая,материалов ЖОПОЙ ЖУЙ,буквально десятки и десятки книг
Ты их читал книги эти? Я вот читал. И там нифига нет. Это уровень мурзилок с баелдунга.
Я тоже читал. Вполне можно вкатиться в ждуны чисто на проСпринг + спрингИнЭкшн.
А по твоему в книге должны запилить приложение тырпрайзного уровня и все возможности основных библиотек спринга описать? Так это не 500 страниц спринг ин экшона будет, а 5000+.
Книга или статья это кусок доки, написанный менее сухим языком + больше примеров. Дока только основного спринга (кор, бут, дата, секурити) - пару тыщ страниц книжного формата.
И в реальной работе тебе надо будет пердолить кроме самого спринга еще и джексон, жюнит, мавен, хибер или их альтернативы в обязательном порядке. И десяток других штук в зависимости от проекта.
Не знаю что там за дока у мелкомягких, но я не представляю себе как можно описать огромную экосистему фреймворков лучше, чем горы референс доки + тысячи туториалов на баелдунге.
Ее нет никакого смысла писать. Пока ты ее напишешь она уже минимум на 10% устареет. И ее 95% аудитории не осилит.
Ну и в спринге, как в древнем фреймворке есть 3-5 альтернативных способов для почти всего. Ты в нормальной последовательной конве одной книги такое не опишешь.
Бери и читай референс доку от корки до корки, разбавляя баелдунгом и другими короткими статьями.
пуно хвала
Это обрывочные знания. Доки пишут без души, лишь бы отвязаться, поэтому невозможно по ним синхронизироваться с инфополем и подгрузить нужные знания.
Нет, ты просто хочешь, чтобы тебе кроме возможностей еще и контекст использования разжевали и в рот положили.
А такое разжевывание может быть только на околохеловордовском уровне, как в Spring in Action, баелдунгах и петклиниках.
Для более менее глубокого и на практике - только реальный опыт работы.
>Spring in Action
Автор даже до конца приложение не написал в книге. Просто забил на него. Это самая халтурная и тупая книга, которая только есть по данной теме.
И тем не менее это лучшая книга по спрингу, как и доклады Борисова. ПОНЯТНЕЕ уже никто не объяснит
Чтобы перенять опыт написания приложений. На текущий момент я могу написать только такую же недоделку.
Как тебе кто-то передаст реальный опыт, если реальное очень небольшое приложение на спринге это 50+ таблиц и 500к+ строчек кода? А если бить приложуху на микросервисы это умножение количества кода на полтора плюс куча промежуточного софта.
А все обучение это абстракция и миниатюра. Если ты не можешь смасштабировать игрушечные миниатюрные примеры до +- реального приложения, то программирование это не твое.
С другой стороны тебе для вката и не надо уметь писать реальное приложение. Хватит пета на тысячу строк и тестовых на 2-3 сотни.
Сергей Немчинский сказал, что надо писать качественное приложения для пет-проекта, а не "срала-мазала".
Срала-мазала твоя мать когда тебя рожала, съебался отсюда, чёрт лысый.
Ну запишись к нему на курсы и пиши охуенный пет под руководством его преподов, если он для тебя авторитет.
Для меня он не авторитет.
По моему опыту - я когда вкатывался написал 3 пета по 500-1000 строк. На деле хватило бы и одного за глаза.
Сейчас требования выше и с вкатунов требуют знания всего и сразу. Простой пет с онлайн-магазином по продаже тако уже не прокатит.
Ну скинь нынешние требования, если ты их не выдумал.
В том году было эталонное тестовое от райфа на 100 строк с 2 табличками, миграциями, базой в докере, сваггером и немножко тестами. Именно по спрингу там писать было немного. А обвязка у всех своя, ее нет смысла в книгах давать.
Другие тестовые, которые мне попадались еще короче.
Тако-апп побольше будет.
Дак тестовое - это не полное приложение. Там наверняка будет только REST API какое-нибудь без фронта. А свой пет-проект - это полноценное приложение, чтобы запустил и всё было. Если напишешь только бэк, то любой скажет, что это недоделка.
Никто ничего не скажет, потому что никто его смотреть не будет.
Даже 200 строк твоего тестового читать это куча времени для сеньки/тимлида. А еще тебя надо по теории погонять.
У меня на работе половина джунов никогда фронт в глаза не видели, а вторая половина только для диплома его писала на шаблонах/свинге.
Я видел вакансии на джаве на фуллстек, хотя мне раньше казалось, что такое только на сишарпе бывает.
В легасипарашных галерах часто фулстеков хотят.
Скорее то что ты дегенерат
Как я понял, out есть объект класса PrintStream
Вопрос, а объектом какого класса является System?
System - это не объект, а класс. И у него есть публичное статическое поле out, инициализируемое рантаймом жабы.
Тест говна
Это копия, сохраненная 12 февраля 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.