Это копия, сохраненная 6 февраля 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java - язык программирования с классами (aka объектно ориентированный), где нужно явно указывать тип объявляемых переменных (aka со строгой типизацией).
Заебись. А что ещё делает Java лучшим языком программирования?
- На Java написано столько всего, что любая твоя невообразимая идея уже существует в виде библиотеки, которую можно скочать и юзать
- Java - мультипарадигменный язык, тут можно писать в любом стиле, который тебе вздумается, даже к памяти можно получить доступ через Unsafe, но, при этом спроектирован язык для того, чтобы на нём писали в объектно-ориентированном стиле
- От прошлого пункта плавно перешли к отличной проработке языка - язык с самого начала задумывался как язык для ООП и многопоточности, благодаря чему писать чистокод на Java легче лёгкого!
- Java - относительно молодой язык, который до сих пор активно развивается жидами из Oracle, при этом почти неполживо опенсорсно.
- Java следует принципу write once во всём. Java никогда не ломает обратную совместимость - твой код, написанный на Java 1.2 будет работать на Java 19 - и не зависит от платформы, являя из себя единственный полностью кроссплатформенный язык с кроссплатформенной экосистемой (если не считать языков-паразитов на JVM).
Тред по жабе на гитхабе: https://github.com/java2ch/java-thread
Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki
Предыдущий: >>2523095 (OP)
Жаба гораздо хуже, чем шарп.
Нет, начиная с 11й джавы тип переменных указывать необязательно.
И нет --- черта "обязательное указывание типа переменных" никак не коррелирует со строгой типизацией
Начиная с 10 версии в жабе слабая динамическая типизация. Типы при компиляции игнорируются.
>Начиная с 10 версии
Да, точно.
> слабая динамическая типизация
Нет. Типы var"ов выводятся компилятором однозначно, но не требуют их явной спецификации. Типизация по прежнему статическая, но стала менее явной.
Бля, я понимаю шарписты, но гоферы то со своим джаваскриптом 2.0 че сюда лезут?
>Лезть в тред другого языка, чтобы пообсирать его и попиарить свой/другой
А нахуя понимать биомусор/кормить траллей?
На практике эпоха шаблонизаторов осталась давно позади. Фронт кодят фронтендеры на реакте. Изредка можно еще встретить таймлиф и фреемаркер, но они используются очень ситуативно.
Ээээмммм... Нихрена не понял. А как результаты бизнес-логики запихнешь в итоговый хтмл без шаблонизатора? Как тогда сейчас все это работает в реальном производстве?
Откуда вы вообще взяли этот мем про шаблонизаторы? В реальности можно встретить либо JSP, оставшийся в очень редко встречающемся говне из нулевых, либо ангуляры-реакты, где на сервере только rest api.
Ой да харош, ты как будто гость из деваностых. Будто способов щас нет из браузера сделать AJAX запрос, и его результаты подставить в DOM, без сервер-сайд шаблонизации.
>А как результаты бизнес-логики запихнешь в итоговый хтмл без шаблонизатора
Если в кратце, то джаваскрипт в браузере у пользователя умеет делать get/post запросы к серверу. И собственно таким образом он будет подтягивать все необходимые данные от сервера в виде json. Потом уже в браузере из этого json будут доставаться данные и распихиваться в html при помощи обращений к DOM дереву. Как-то так. На сервере html уже почти никто не генерирует.
Эта мысль меня гнетет, посему, есть у кого-нибудь что-нибудь на эту тему - там мб статьи, туториалы по написанию собственных либ или микрофреймворков?
На самом деле они еще изредка встречаются. Например, в блогогенераторах типа jbake. Или для генерации каких нибудь сорцов/конфигов, процессорах аннотаций.
>>31745
>>31746
>>31747
Понял, спасибо. Просто год назад делал сайт на пхп-ларавеле с голым жопаскиптом во фронте. Про ангуляры всякие и реакты не знал ничего и сейчас не знаю. И все делал через дефолтный ларавелевский шаблонизатор блейд. Я думал так всегда и везде. А тут оказывается все эти фронтендовские приблуды сами веб страничку конструируют из жсон-чиков. Понял, понял.
Не комплексуй. Нет ничего сверхестественного в спрингоразрабах. Они просто раскручены сильнее, а по сути больший процент их --- те же долбоебы что и рядовые гребцы. А судя по коду спринга --- ебаные маньяки-социопаты, ненавидящие человечество.
>Эта мысль меня гнетет, посему, есть у кого-нибудь что-нибудь на эту тему - там мб статьи, туториалы по написанию собственных либ или микрофреймворков?
"Спринг построитель" на слуху. На другой вопрос --- нахуя?
Ну если тебя это так гнетет --- почитай про проектирование компиляторов. Лексеры-парсеры, AST, оптимизации, "трюфель", плагины для идеи. Запили язык и рантайм свой. Скорее всего он нахуй никому будет не нужен, но скилл качнешь будь здоров.
Ну и в целом самообразовывайся. Почитай JLS. Подтяни конкарренси. Научись в байткод и его инструментацию. Бенчмаркинг. Туси на конференциях типа joker/jpoint. Изучай как устроены штуки которыми ты пользуешься на работе. Спрингошлепы потому и котируются, что умеют работать не по гайду.
>На другой вопрос --- нахуя?
Чувство неполноценности возникает, когда только и делаешь, что крудошлепишь. Это ведь ебейшая абстракция всё - уровень, на котором я пишу. А чуть глубже если копнуть - нихуя не знаю как и что.
В общем, хочется понять, как самому на основе всех примитивов джавы, на базе, так сказать, пилить свои библиотечки/фреймы. Осознать полный путь наслаивания всех этих абстракций.
>почитай про проектирование компиляторов
Во, вот это первое, что пришло на ум. Думаю да, стоит поискать материалы по созданию самописных компиляторов и че-нить своё запилить.
>В общем, хочется понять, как самому на основе всех примитивов джавы, на базе, так сказать, пилить свои библиотечки/фреймы.
Ну я и говорю: самообразовывайся >>31778
Тебе кругозора не хватает. Спринг, корпораты и вторящие оным тысячи квадратногнезодвых долбоебов, культистов, бесплатных евангелистов приучили тебя шлепать "как все" под копирку, поэтому когда ты встречаешь вещи нестандартные, они тебе шаблон рвут. Вся эта кодла существует лишь для того, чтобы подогнать тебя под категорию винтика в системе, и в конечном итоге платить меньше. Не будь как они. Ставь себе задачи, выходящие за эти рамки, и пробуй их делать.
Попробуй, например, игру на джаве написать. Если ты по честному, не слушая "на-джаве-геймдева-нет" даунов покопаешься в этой теме, ты обнаружишь что кое что все таки есть. Не факт что что-то напишешь, но половишь грабель, что-то вынесешь для себя из этого приключения.
Попробуй написать плагин для мавена или гредла (смотря что больше нравится), который анализирует сорцы, или патчит байткод. Там ты столкнешься со своим спектром проблем и грабель.
Ну кто-то же ведь пишет операционки? Получается, только они тру программисты, а все остальные - шелупонь ебанная
>А потом поймешь, что не знаешь, как инструкции процессора работают под капотом.
>проходишь nandgame
>теперь понял
>хорошо
Настоящий петух - это опхуй-скорострел.
Без рофлов, всё перечисленное не реально разве изучить за несколько лет? Чтоб ходить просветленным
Абсолютно бесполезные знания. Ради развлечения я бы вечерок на всё это потратил, но не более. Ну разве что если бы очень интересно было.
Забавно получается. Человечество достигло ебейшего роста в технологиях в 20 веке, но если произойдет какая-либо катастрофа и специалистов в разных областях уебет, всё резко скатится в 13 век. Потому что рандом обычночел не знает даже базы, которая нарабатывалась столько веков. Даже процессор примитивный собрать для рядового обычночела - невозможно. Технология развиваются, но что толку - если 99 процентов человечества не смогут их воссоздать?
Можешь уже начинать. Все равно скоро конец
Информация останется, если будет необходимость - даже при полном исчезновении ныне знающих появятся новые специалисты. Это дело наживное.
Информацию невозможно уничтожить без полного уничтожения человечества. Никакая катастрофа, которая оставит в живых человечество не откинет назад прогресс. Любые потери будут восстановлены за год.
Оптимист ты конешно. Тут вкатуны по 10 лет в джаву вкатиться не могут, при еще живой цивилизации. А ты говоришь "спецы появятся".
Вкатуны - это отдельные личности, мы говорим про всю цивилизацию. При смерти 99% населения останутся 80 миллионов. Среди них найдутся умнейшие, которые станут новыми специалистами.
И да, я не оптимист. Это бич человечества, который его убивает и добьёт к 2030.
Производство сельхоз продукции откатится без современных комбайнов до времен до зеленой революции. Урожайность упадет в разы. Учитывая какое-нибудь ядерное загрязнение лучших пахотных земель - на порядок.
Энергетика в рф очень уязвима с магистральными газо и нефте проводами из Сибири в Центральную рф. И мы от холода нахуй помрем, потому что технологий восстановить трубы не будет.
Я также могу хуйню нести с умным видом.
Я пишу это только при перекатах до 1000, чтобы повысить градус неадеквата, так шизики быстрее насрут 500 постов и съебутся из треда нахуй. А дальше просто надеюсь, что даун опять не перекатит до 1000.
А теперь представь, что все неадекватные сообщения в треде до 500 постов оставляются твоими альтер-личностями.
Блядь, пидарасы из спринга меня обскакали.
https://docs.spring.io/spring-framework/docs/6.0.0-RC1/reference/html/integration.html#rest-http-interface
Запустить локально в докере сервис. Всё.
Не исключено, что и твой пост написал я.
Если когда нибудь айтишники будут заменены и вытеснены нейросеткой, это будет самый эпичный и кек в истории человечества.
Выяснилось что нужно переделать CRM систему. В наличии есть существующая система, написанная 15 лет назад на дотнете, все кто над ней работали или умерли или не отвечают на письма, а так же доки по которым её пилили, такой же давности, которые сейчас оптимизируют.
В итоге я читаю флоу, а точнее как себе его представляет менеджмент и чет нихуя не понимаю. Оно написано каким-то бизнес языком по типу Поставщик - наш вебсайт, Инпут - форма подачи, Отпут - сгенерированная форма, Получатель - наша платформа.
И вроде мозгов хватает обдумать что тут хотят, но как это представить в коде ух бля. Уже представляю свой говнокод.
>>32189
Понимать что такое контейнер, какие ограничения, состряпать compose, запустить контейнер, уметь самому поднимать minikube чтобы локально тестить своё говно, куда пишутся логи (чтобы ты девопсов не отвлекал).
Дальше со слов моего знакомого девопса в конторе, когда я его сам спросил что мне как разрабу нужно: где кеш, где временные файлы, где хранить persistent data, что такое healthcheck readiness/liveness probe и что произойдёт c приложением при получении сигнала SIGTERM, затем SIGKILL от оркестратора — сможет ли оно корректно завершить работу, и продолжить после рестарта. + учтена ли в архитектуре конкурентность компонентов приложения, в случае запуска нескольких экземпляров. Это с его слов делает меня стронг повидлов
Я правильно мыслю, что Spring Cloud - просто фичи от спринга которые помогают в работе с клауд енвайронментом, aws cloud просто хостит мои поделия у себя, spring cloud gateway опять же фичи от спринга которые помогают в работе с gateway, а всё это дело вместе совмещается и работает?
Spring Cloud -- это набор типовых решений для построения микросервисной архитектуры. Spring Cloud Gateway не "фича, которая помогает", а прям самодостаточный сервис-гейтвей написанный на спринге, который тебе остается только настроить и захостить где то.
Если я правильно помню, Spring Cloud и AWS Cloud не связаны никак.
>Spring Cloud -- это набор типовых решений для построения микросервисной архитектуры.
Spring Cloud - это набор мусорных проектов и по-сути забагованных велосипедов. Использовать его не нужно
>Spring Cloud Gateway не "фича, которая помогает", а прям самодостаточный сервис-гейтвей написанный на спринге
Еще один мусорный проект. API gateway там очень условный и многие вещи нужно реализовывать в коде, что иногда не выходит из-за ограничений самого этого гейтвея. Аггрегация данных из нескольких микросервисов, дефолтные ответы при превышении таймаута и прочие штуки там либо не реализованы вовсе, либо через костыли, которые работают не каждый раз. В итоге все это делается на уровне инфраструктуры и сервис меша.
Вопрос был не о качестве, а о назначении. Иди оригинатору отвечай, а не мне, душнила.
dotnet new console
dotnet run
чтобы создать и запустить приложение.
А вот в Maven фиг такое сделаешь. Нужно какие-то монструозные вещи писать. Мало того для разных проектов они ещё и отличаются кардинально. Почему за столько лет не смогли сделать всё просто и лаконично?
>А вот в Maven фиг такое сделаешь
Ты не знаешь, что такое архетипы, чел...
>Мало того для разных проектов они ещё и отличаются кардинально
Еще раз - ты не знаешь как работать с Maven. Консольная утилита или спринг-бут приложение будут иметь схожую структуру папок, в которых будут располагаться исходных код, конфигурационные файлы и тесты.
Так часто новые проекты создаёшь? Жаба не про клапана хеллоуворлдов, а про многолетнее легаси, где один раз создаёшь проект и потом 15 лет туда коммитишь.
Значит, и в шарпе эта команда нужна только вкатунам.
Возможно.
Дефолтной темной дракулой. 8 из 10 тиммейтов тоже. Остальные двое другие какие-тотемные скачали. Обе мне не нравятся. Светлой не видел ни у кого.
Заметил, что у большинства наших тимлидов/сеньоров светлая тема, у миддлов примерно поровну, у джунов в основном тёмная, лол.
По делу есть чё сказать?
Нахуй запоминать, если есть fzf и каталог архетипов?
По описанию выглядят норм, в порядке убывания полезности:
- OpenFeign
- Eureka
- Config Server
- Sleuth
- Security
- Schema Registry
Зато нужны репорты.
Главное, что модератор ебал твою мать.
Night Owl нравится невероятно из-за приятного фона и очень контрастной подсветки синтаксиса
>Night Owl
>DO NOT INSTALL!
>I've tried it because it looked interesting, but now my IDE is broken, I can't select other themes anymore and it will keep resetting to Darcula, and on top of that also broke a bunch of other things that I can't get back anymore.
Изучаю спринг, сейчас ковыряю то как внедрять значения из .properties файла, у меня бины создаются из applicationContext.xml файла. В функции main я для подкрепления материала проверяю соединение к БД постгрес, в поля для подключения вставляю через геттеры
И вот в чем проблемс. У меня тупо соединение не получается когда я использую applicationContext, а когда я делаю обычный объект и поля объекта в коде заполняю, то у меня все проходит. Решил сравнить поля бина и обычного класса, получаю false.
Вот что за хрень аноны? Спринг особенные поля делает чтоли или что?
Прикладываю пикрилы
На 5пик я использую поля бина для соединения, а на 6 использую поля обычного класса
Блятб удалил 5 и 6 скрины, вот их тут выложу
пчел я изучаю понимаешь? то что конфигурация xml файлом нахуй уже устарел я и так понял. меня моя проблема беспокоит, можешь сказать в чем проблема?
Помогу за 35 рублей.
В дебагере прошелся? Бинфактори пост процессор должен забрать значения из проперти файла,кинь там брейкпоинт
Клоунской. Хонк-хонк
Попердолиться. Чувствую как я деградирую с сериалов и игр, пора размяться немного, ну и написать какую нибудь хуйню полноценную на фреймворке уже, пока не знаю какую
Да.
Ну не райдер же качать. Он достаточно быстрый и фичастый (я же не собираюсь это говно дебагать в самом деле (хотя дебаг я заценил, вроде норм))
Поздравляю, теперь узнаешь какой современной могла бы стать джава если бы не бесполезная обратная совместимость
Конечно не райдер, нахуй эти прожорливые иде на жабе. Качать надо Visual Studio.
Прощаю, сын
>до уровня взяли на работу за пол года или года
Выучить? Нет
Пустить пыль в глаза? - Да
Точнее, можно было до 24.02
А сейчас знающие люди говорят, что уже без опыта сильно трудно вкат сделать
Через полгода будет выпускной из вузов. И ты будешь не только с мотивированными студентами общаться, но и с толпами распиздяев-выпускников.
Где общаться то на собеседованиях?
А ты думал кто туда свалил?
Ушли из РФ компании. Кого-то они с собой забрали за бугор, а кто-то остался тут и начал искать вакансии тут. Так что они конкуренции какбэ еще больше оставили.
Многие из тех кто свалил - по прежнему в РФ-конторах работают
Многие компании просто по баблу соснули и наборы порезали
Да похуй, английский на хорошем уровне, если что тоже свалю.
Бамп
А как ты все это настраиваешь? Просто на локалхосте кучу приложух с разными портами?
Че?
Хуйню несешь.
В рф жявамир на 80% это банки.
А банки как запрешали ремот изза границы так и запрещают.
Свалили в основном питухоно-, моческрипто- и говно-порриджы.
По жяве работы дохуя. Как в галерах так и в самих банках.
Правда ждуна там не ждут.
var StringBuilder = new("foobar");
![.png](https://2ch.life/pr/thumb/2531375/16704496829550s.jpg)
Понял, пойду устраиваться в оракл.
Какое ещё развитие? Это дегенерация. Я бы мигом выкатился из жабы, если бы туда такое говно запилили.
180к, 3 годика.
1) Что обычно используется в кач-ве service discovery?
2) Что обычно используется вместо cloud api gateway? Nginx?
3) Что используется вместо FeignClient? Как реализовать синхронное общение между сервисами? RestTemplate-ом?
Ну бля, просыпаюсь еле-еле, первые джва часа на полусоннычах че-то клацаю-запускаю
Мит на полчаса, где я оправдываюсь, почему я запросил такую высокую оценку задачи
Уже на фуллебале че-то смотрю, решаю задачи, правлю баги, наполовину сидя в телеге или смотрю стримы(так как эта залупа поднимается 10 мин)
Закрываю идею и иду отдыхать от не очень напряжного дня
200 ОК
finalize задепрекейтили. Отныне рабочий день бесконечен.
Мы использует фейн и эврику. Апи гетавей - кракенд. Соседняя команда экспериментирует с apisix.
Вкатился год назад сразу на удаленку, подумываю менять работку. Но я из мухосрани с 0 вакансий на жабе. А в Москву переезжать не хочу.
Епам, Люксофт, Дойчетелеком (T-Systems), Дойчебанк, Неткракер, DXC, Джетбрейнс ушли. А они очень много рабочих мест для джавистов создавали.
Сейчас на рынке труда где-то половина рабочих мест с жабой - это сбер и его дочки, подрядчики. Оставшаяся половина - другие банки вроде втб и газпрома + государственные галеры вроде лиги цифровой экономики.
Удаленки нормальной нигде из этих мест нет. Разве что в тинькоффе или иннотехе, но это не точно. Еще вроде как в яндексе есть нормальная удаленка. На джаве в яндекс маркете пишут, попробуй к ним податься. Лично знаю одного мухосранского товарища, который на них работает удаленно.
За какие заслуги выплачивают такие огромные премии? 9 лет в айти и ни разу не выплачивали премии...
За копание в авгиевых конюшнях сбера.
Это нормальная практика вообще?
Кеш идеи иногда все ломает.
Да. Тем не менее, этот нейродаун отчасти прав.
Вот будет у нас home-screen-service где просто Roga&Copita.com/home, на экране у юзера будет всякое разное и пара кнопочек. Захочет клиент пойти на /xyi123 и нужно делать get запрос. Как это выстроить в плане апи?
Сделать один большой сервис, который будет одним апи и будет имет в себе абсолютно все эндпоинты, а сам просто реквесты будет расскидывать на другие микросервисы? Звучит как попиленный монолит.
Сделать хуеву тучу апишек для каждого микросервиса, к которым gateway будет кидать запросы на их эндпоинты? Клиент пошлёт нахуй когда увидит сколько в месяц нужно платить за такое количество апи на платном гейтвее.
Можете дать совет у кого как на галере оформленно или может там онлайн есть репы о которых я знаю
Сначала хотел тетрис, но подумал, что писать на языке бэкенда десктопное приложение - это в пустую потраченное время, вернее полученные навыки мне с реальной работой не помогут.
Интернет говорит, писать что-то что поможет на работе. Я хоть и работаю на excel 76% времени, но все решается внутренним функционалом и формулой =СУММЕСЛИ().
Помогите пожалуйста выбрать тему проекта. Не соц.сеть, что-то что может осилить новичок.
Советую тетрис, потому что даже если джава это мертвый кал, существующий только в виде легаси на серверах крупных компаний то от тебя все равно ожидаются умения программировать, а не только лепить веб-приложения на фреймворке. Тетрис можно написать и без десктопного фреймворка чисто в терминале
Тогда другой вопрос. Если запрос на создание счета для юзера улетает с фронта в сервис счетов, что мешает этому же юзеру будучи залогиненным в системе и, следственно, с доступом к ендпоинту создания счета в сервисе счетов, послать вручную через какой-нить Postman POST-запрос на создание счёта, при этом поменяв accountId вручную на какое-нибудь рандом значение и таким образом насоздавать разных счетов другим пользователям системы?
Го можно еще добавить, но там много криптодебилов с WEB3 вкатилось в комьюнити
C#
очечевидный спринг секурити, который видит, что у твоего пользователя(к которому нужно логиниться даже через постман) нет прав на добавление счета другому аккаунту
![image.png](https://2ch.life/pr/thumb/2531375/16705162688190s.jpg)
Нет, ты не понял. У сервиса счетов есть единственный эндпоинт для создания счетов. У него нет разделения на какой-то общий эндпоит для создания счетов и эндпоинт для создания счета конкретно для моего аккаунта. Тут всё обобщенно. Если я могу через фронт создавать счёт (тут он будет создаваться на мой аккаунт, да), то через Postman я также смогу ввести свои креденшиалы и в POST - запросе указать чужой accountId.
Мне кажется копия хуита.
>Эмулятор ZX Spectrum
Я умею только в "Hello World!" и поэтому не могу трезво оценить сложность, а "Эмулятор" звучит довольно сложно.
>>35420
>Тетрис можно написать и без десктопного фреймворка чисто в терминале
А как понять, что он делает, то что должен?
Поможет в легаси копаться?
Что-то совсем тупые вопросы задаю, пойду лучше нахуй книжку дочитаю и базу прокачаю, а там уже к вам приду.
И по поводу отсутствия работы, как тогда устраиваться? Сразу в мидла эволюционировать?
Я джаву выбрал из-за распространенности, Бэкенда, как пишут, ЗП чуть больше и стабилиности, так как нового учить не надо. Типа один раз узнал, что на работе используют и ничего нового в этом не появиться.
И почему ВСЕ так ненавидят легаси? Ну копаешься ты в дерьме, но тебе за это норм бабки платят, что не так?
Сервис счетов должен смотреть на токен сессии, который передаётся при каждом запросе где-нибудь в куках. И ID учётной записи он будет заполнять уже сам, определив его по токену независимо от того, что там прислал юзер. Даже поле accountId можно удалить из DTO.
>И по поводу отсутствия работы, как тогда устраиваться?
Наблюдая тенденцию тредов по джаве за этот год, прихожу к выводу что здесь бесполезно задавать этот вопрос. Ответом скорее всего будет какая нибудь пессимистичная аналитика от унылого говна, что мол все пропало, проекты ушли, джава мертва. Здесь ты не найдешь совета, найдешь только лузерский менталитет и депрессию.
>И почему ВСЕ так ненавидят легаси?
Лицемеры потому что. Кто главный производитель легаси, если не сам разраб?
> Кто главный производитель легаси, если не сам разраб?
Кабан, на которого работает разраб и которому насрать на рефакторинг и избавление от техдолга, лишь бы бизнес-таски пилил.
И как это реализовать? Как класть что-то в куки в спринге и пр? Я, честно говоря, никогда таким не занимался? Не поделишься какими-нить линками на статьи/туториалы/примеры, чтоб почитать/посмотреть?
Тебе правильно сказали, копай в сторону спринг секьюрити, на баелдунге полно примеров. Но сходу в этом не разберёшься, это целая наука, будто специально делали настолько сложно и запутано, насколько это вообще возможно.
Ну или тупо принимай в контроллерах HttpServletRequest и делай всё вручную, но так легко что-то не учесть.
Рефакторинг --- перманентная клоунская шутка.
Кабанам не с пустого места насрать на качественные код и архитектуру: научены десятилетиями горького опыта и разочарования. "Пилить бизнес-таски вопреки всему" из-за некомпетентности кодеров оказалось тупо им тупо выгодней.
>И почему ВСЕ так ненавидят легаси? Ну копаешься ты в дерьме, но тебе за это норм бабки платят, что не так?
Со временем твои скиллы перестают быть актуальными на рынке труда. В один момент обнаружишь, что работу уже найти не так-то просто и все просят новомодные брокеры и микросервисы, а у тебя третий спринг с хмл и монолитом. jsp, gwt или вообще java ee с аппликейшен серверами на проекте.
Подскажите мнемоническую технику для запоминания жизненного цикла бина в спринг фримверке и как правильно использовать аннотацию @transactional с выбором уровня изоляции транзакции, чтобы не запороть данные.
Невелика проблема. Берёшь и врубаешь пиздешь. После того, как ты прошёл ад разгребания легасятины, изучить и сделать вид что кодил на новомодной пепяке --- как нефиг делать.
>изучить и сделать вид что кодил на новомодной пепяке --- как нефиг делать.
Это контрится вопросами на собеседовании. Ты просто не вывезешь вопросы по кафке, куберу и микросервисам, если не разрабатывал реальные системы под нагрузкой. Тебя просто попустят и кинут в блеклист, чел... Нужен именно коммерческий опыт работы с этими технологиями. Книжки читать и хеллоу ворлды ковырять в идее - это пшик
ПФ. В блеклист кинут ага..
Ну допустим что контрятся. Но зелёные юнцы, бегающие по вакухам за кейвордами в резюме, также на собесе выводятся на чистую воду. Мой пойнт в том, что в конечном итоге роляет опыт решения проблем. И если у человека есть опыт переписывания легаси на новый стек, этот человек скорее всего крайне охуенен.
Ты уходишь от темы. Еще раз - есть микрочелик, который пердел в стул и копался в легаси на java ee, gwt, jsp. Тут он понимает, что получает сотыгу, а хочется хотя бы две сотыги. Смотрит hh.ru и видит, что в каждой вакансии требуют кубер, кафку, спринг и опыт разработки микросервисов. Челик читает книжки, ковыряет код, смотрит видео презентаций. Приходит на собес и его тут же попускают на незнании всех нужных технологий, т.к. этот опыт должен быть выстрадан буквально годами на реальных проектах в продакшене, а не вот так как ты описываешь - "почитал книжку и на скиле пердежа в стул и копания в легаси затащил на собесе".
Ты тоже передергиваешь. Выше вопрос был поставлен как "зачем бояться легаси". Мой пойнт --- незачем, потому что развиваться при желании можно и на легаси. Именно развиваться, а не сидеть переть в стул и молча жрать че дают. Детектить и решать глобальные проблемы своего говна, а не тупо фиксить таски, которые на тебя спустили. Проявлять и внедрять инициативу. Прокачивать опыт общения с кабаном. Такой опыт имхо ценнее сидения и пердентя в стул на новомодном проекте (который суть тоже легаси). Это во первых.
Во вторых, реальным опытом проектирования высоконагруженных систем обладает имхо не так много людей, ибо не у всех в их залупу ходят десятки тысяч запросов в секунду. Поэтому я скептически отношусь к тому, что прям тебя там пропустят. К тому же пиздешь не означает прямую ложь. Можно говорить полуправду: типа "реально попользовать пубернетиз оказии не было, но я пробовал его на петах, и знаю о нем это и то". Это вполне может проканать при хорошем стаже и общем уровне экспертизы.
Нет
Работы с гуем на жабе так мало, что можешь и не надеяться.
>развиваться при желании можно и на легаси
>Детектить и решать глобальные проблемы
>Проявлять и внедрять инициативу
>Прокачивать опыт общения с кабаном
Сказки рассказываешь. Кабан нехотя и снисходительно общается, просто спуская фитчи на реализацию. Про рефакторинг и переработку архитектуры и слышать не хочет. В итоге ты буквально пишешь код по таскам, которые спускают сверху. Даже заводить таски на тех. долг не разрешается.
Убежал с совсем плохого легаси проекта на испытательном сроке.
- Нет никакой доки, даже свагера.
- Нет тестов.
- Нет специалистов, кто это писал.
- Нет никаких контейнеров. Разворачивать локально - ад.
- Дока по развертке проекта из 20 пунктов и в трети пунктов лжет.
- Дикий зоопарк решений. В разных сабмодулях используются альтернативные друг другу библиотеки. Для стандартного функционала написаны велосипеды. Так как нет доки не ясно был ли в велосипедах смысл.
- И ко всему этому по опенспейсу бегает кабан и два раза в день спрашивает когда будет фича.
Да
Голой жаве - вполне. Даже с применением небольшого количества библиотек, подрубленных в мавене - гуава там или голый томкат. Даже полезнее будет вводить тулинг ультимейта постепенно. Но когда пойдет спринг, бдхи, докеры, ормки и прочее без ультимейта будет больно.
Вот как работодатели себе представляют подготовку вкатуна? Как я должен выучить всё это на бесплатной идее?
Я не работодатель. Но за решение небольшого количества задач со степика(если решать каждый день дней 5, штуки по 3-4) в курсах с сертификатом дают ученический ключ для всех платных продуктов жидБрейнс на 3 месяца. Я так целый год, когда учил фреймворки такие ключи получал. А потом эта версия для меня стала бесплатной.
Могу посоветовать:
https://stepik.org/course/63054/syllabus
Ну и это не проходил, но выглядит ничего.
https://stepik.org/course/82867/syllabus
Зубришь идею
@
Решаешь задачи на знание идеи
@
Не перезванивают, недостаточно опыта работы с идеей
Когда писали в Эклипсе или Нетбинсе, то были джава-программистами, а сейчас все стали идея-разработчиками. Забери у них идею и они даже хеллоуворлд не напишут.
Да. Нахуя тебе спринг и прочие жава фреймворки без знания sql?
А если на собесе какой-нибудь душнила скажет: "а в нашей фирме мы отказались от циклов и всё пишем на стримАПИ". Что в этом случае делать?
Есть, но зачем? Ищи работу на 17 версии, где не используют стримы.
СтримАПИ охуенная вещь же, почему бугуртишь? Я наоборот стараюсь только ей и пользоваться. Не знаю как там по быстродействию, но удобно.
Когда пишешь в цикле, то ты явно видишь чем манипулируешь, а в этих стрим-хреновинах чёрт ногу сломит, чтобы понять, что там получилось в итоге. Какая-нибудь сложно закрученная хреновина.
Они явно предназначены для максимально простых вещей, но маразматичные сеньоры заставляют всё на них делать.
Ну так простые мапы, фильтры и коллекты для одного набора сущностей это очень попсовая вещь. И в обычной итеративке с циклами будет гора кода, где голову сломишь. А в стримах три простейшие лямбды на 1-2 строчки.
> Клиент пошлёт нахуй когда увидит сколько в месяц нужно платить за такое количество апи на платном гейтвее.
В этом вся суть микросервисов. Их сложнее и дольше разрабатывать, сложнее деплоить, они жрут больше ресурсов, хостить их дороже. И всё ради мнимого преимущества в горизонтальной масштабируемости.
Да похуй на масштабируемость. Есть удобство в разработке. Вы не толкаетесь плечами, когда пишите фичи. А все взаимодействие, когда вы интегрируете микросервисы друг с другом.
Как ты будешь что-то писать в обычный нераспределенный монолит, когда в него еще 10 человек 2 раза в неделю что-то мерджат? Не декомпозируешь ты так таски, чтобы конфликтов не было.
Ну те кто не знаком с ламбдами и стримами естественно ногу сломает, а так преймуществ по сравнению с циклами хватает же
>>36533
Согласен, звучит не специфично. Тогда по другому:
Как реализовать бэк на жабе для такого общения?
Предпологаем: на фронте будет UX лэйер в котором все эндпоинты. Кидается запрос, тот поступает на гейтвей, а дальше идёт в бэк. Как должен выглядеть/строится бэк на жабе? Монолит или микросервисы?
>>36546
И почему тогда везде суют микросервисы и советуют всё на них делать если, по твоим словам, они уступают монолиту почти во всём? Я серьёзно спрашиваю, потому что сам сейчас деумаю на чем и как писать.
NetBeans
На джаве всё говно. Мавен - говно. Спринг - говно. ЕЕ - говно. Кафка - говно.
Бамп
Я возможно где-то ошибусь, но в чем проблема сделать haproxy какой-нибудь, который куда уж легче жабы, который и будет прослойкой между FE и различными микросервисами.
>Про рефакторинг и переработку архитектуры и слышать не хочет.
Разумеется не хочет, потому что анальники за десятилетия дискредитировали это слово в ноль. Для кабана рефакторинг --- НЕХ, которая не несет дохода, но несет дохуя убытков, до тех пор, пока не доказано обратное.
Поэтому говорить с неподготовленным кабаном о рефакторинге --- литералли зеро-скилл общения с ним. Надо хитрее. Либо закладывать +20-50% в эстимациях, и рефакторить итеративно под шумок, либо акцентировать внимание кабана на конкретных проебах проекта, в цифрах, и демонстрировать ему не нужду в рефакторинге, а конкретный план действий с оценками.
Но чтобы такое работало, нужен скилл красноречия и способность нести ответственность за базар. Скакуны такого скилла обычно не имеют.
Ну у меня сказано, что гибрид. Но боссу похуй на гибрид - он меня в офис не таскает, на удаленочке разрешает
Че так порвался то?) И ты найдешь свою первую работку лет через 5. Главное откликайся уверенней
Отвечай на вопрос, сука.
>легче жабы
Я тогда без работы останусь.
>прослойкой
На прослойке у нас AWS Elastic Load Balancing
Спасибо за ответ, гляну вечером что это такое
>Сделать один большой сервис, который будет одним апи и будет имет в себе абсолютно все эндпоинты, а сам просто реквесты будет расскидывать на другие микросервисы?
Да. Это вполне себе расхожий микросервисный паттерн. Service API Gateway, называется. https://microservices.io/patterns/apigateway.html
Только обычно такие сервисы не пишут, а берут какую нить готовую проксю и конфигурят. Если не считать платные реализации от всяких клауд-вендоров, видал реализации на haproxy, nginx и Spring Cloud Gateway. Слышал еще чето о krakend.
>Клиент пошлёт нахуй когда увидит сколько в месяц нужно платить за такое количество апи на платном гейтвее.
Да. А еще, если клиент браузерный, он может послать хахуй за гемор с CORS.
С каким томкэтом работать на 6 спринге, 19 джаве, если не хочешь ебаться с migration tool'ом? Или тут уже ничего не поможет и писать на 5 спринге?
С undertow или jetty.
>Берёшь и врубаешь пиздешь
Пиздеж видно сразу. Зачем лишний раз позориться? Ну можно конечно и клоуном побыть, всего лишь час времени...
>>36080
>если у человека есть опыт переписывания легаси на новый стек
"Сидеть на проекте с легаси" не равно "переписывать легаси на новый стек". Понимаешь разницу? Если вам выделили бюджет на переписывание легаси на кафку с кубером и микросервисами и вы этим реально занимались, то это уже будет релевантным опытом. Если ты просто просидел 2 года на проекте 12 летней давности, исправляя мелкие баги, то никакого опыта у тебя считай нет.
>>36098
>потому что развиваться при желании можно и на легаси
Желания не достаточно. Как ты будешь разиваться на заброшенном проекте 10 летней давности, на который максимум выделят деньги для миграции с древнего оракла на постгрес? ради импортозамещения
Ну или если тебя посадят за фронтенд на джаве. С JSP, JSF, JSTL, GWT и Vaadin. Там хоть анус порви себе на британский флаг - никак не получишь востребованные навыки. Ну или на сервлетах проект. Такого говна тоже навалом оказывается. Просто раньше было больше хороших вакансий, сейчас их меньше и на их фоне все чаще появляется вот такой пиздец: java ee, сервлеты, jsp, логика на хранимках, варники или даже еарники. Если повезет,
то третий спринг с тоннами xml конфигов. Само собой монолит, без докера, часто без внятных инструкций по развертыванию локально.
Как разиваться на таких проектах я ума не приложу. Тебя очень быстро заебет улучшать это говно, ты просто начнешь к нему на отъебись относиться, так как мотивации разбираться в такой параше даже у тотальных аутистов не найдется.
А если ты вообще стажер или джун, то нужно с такого места бежать как можно скорее. Будучи зеленым вкатусиком ты у кабана выпрашивать улучшений помойного легаси попросту не сможешь, так как нет должного опыта общения, который только с годами приходит.
На start.spring.io для шестого спринга по дефолту подтягивается tomcat-embed 10.1.1. Значит, его и надо использовать.
Господи, да что вы за тюфяки то унылые? Почему мне было норм вкатываться через легаси, познавательно и не зашкварно, ни разу не пожалемши, и спокойно/уверенно чувствую себя на рынке труда, а от вас слышны в ответ только полотна отговорок? В чем вы меня убедить то пытаетесь --- я прошел через то о чем говорю. Читаю тред и вижу малолетних мамкиных корзинок --- сотый джава тред одно и то же: "а что учить, а как вкатиться, а нужно ли вообще вкатываться". Боятся лишний раз замараться, белоручки --- как будто их кабан в анальную кабалу посадит (хотя таких корзинок может и посадит, хз).
Ну сидите тогда, ищите своего единорога, хули мне вам еще доказывать.
Если выспался, могу хоть весь день писать. Часто не высыпаюсь и кодирую где-то 3-4 часа, включая обдумывание и тыканье в дебагере.
Хуй знат. Я когда вкатывался, был неприхотливым студентотой без денег с горящими глазами, поэтому мне было тупо похуй --- скачал первое попавшееся ИДЕ в сети и кодил на нем. Максимум че мне было нужно от иде на тот момент --- интеллисенс.
Правда щас набегут опять какие нибудь смузихлебы, и начнут рассказывать охуительные истории про то как их на собесах по идейке гоняли. Хуй знат насколько вырожденческим должно быть место, где не жидобрейнз и собесят по сраной идее...
Ну и --- в те времена идейка еще не так сильно доминировала над остальными, поэтому было в общем то однохуйственно на чем вкатываться. Лично мне похуй и по сей день ---если надо будет пересяду обратно на нетбинс. Единственная фича, которой в идейке мне реально будет не хватать --- code-with-me.
Ебанат,это же элементарные вещи,которые запоминаются через два прочтения
>микросервисы - гибко масштабируются
Куда ты там масштабироваться собрался, чел :)
В твой сервис даже тысячи запросов в секунду не будет. Пишешь обычный монолит на спрэнг фримверке + хубирнейт, ставишь перед ним энжынкс и все это разворачиваешь на сервере да помощней. Все!
>CORS
Как понять КОРС? Есть какие-нибудь мнемонические правила для запоминания всех правил КОРС? Как не наломать дров при конфигурировании спрэнг сакурити в отношении КОРС?
Дайте, пожалуйста, ссылки на веб-сайты, функционал которых можно скопировать для петов. Или распишите что должно присутствовать в пете, чтобы на собесе оценили.
Для кого? Студенты, разработчики, аналитики, it-специалисты и все, кто считает себя способным справиться с поставленной задачей.
К участию приглашаются команды от 2 до 5 человек, а если у вас нет готовой команды, вы можете оставить заявку на нашем сайте, где мы поможем вам ее найти.
20 декабря - официальное открытие, с 21 по 23 декабря - основной этап.
У участников будет время на решение кейса, после чего они продемонстрируют системы позиционирования БПЛА через распознавание видео, поиск путевых точек по ориентирам в условиях отсутствия спутниковых систем навигации и внешнего управления на финальной питч-сессии.
По итогам Хакатона будут определены победители, которые получат денежный приз: 1 место – 1 000 000 руб., 2 место – 300 000 руб., 3 место – 200 000 руб.
Для участия необходимо зарегистрироваться на сайте: https://hakaton.wagnercentr.ru
Как автоматизировать создание клиентских библиотек для доступа к микросевисам? Микросервисы на спринг буте и из них торчат обычные HTTP API через spring web. Подключен сваггер, который отдает страничку где можно подергать ручки. Как автоматизировать генерацию кода клиента, чтобы вручную не писать клиентскую либу для общения с таким микросервисом? Желательно это все как-то автоматизировать начиная от создания артифакта, версионирования и публикацию в артифактори, например.
Есть какой-нибудь гайд как это реализовать в проекте? Ведь генератор будет запускаться в проекте с кодом бекенда, а мне нужно сгенерировать отдельный артифакт для клиентской библиотеки.
Делаешь два модуля: сервер и клиент. В клиенте делаешь зависимость на сервер. Запускаешь сваггер генератор в клиенте по классам из сервера. Все.
Я год работаю в маленькой галере. На проекте нас 6-8 человек джавистов. Я джун, как и большая часть нынешней команды. Кроме нас есть тимлид и два мидла. Проект пишется с нуля.
Стек +- молодежный - 11/17 жава, микросервисы(15 штук и мне кажется они скорее под распределенный монолит подходят), кафка.
С другой стороны эти трое старших товарищах не то, чтобы очень сильно шарят. Микросервисы они никогда не писали. Плюс нет тестеров. А девопс делают классические админы, которые до этого только виртуалки поднимали и права настраивали или старшие нашей команды. Процессов не то чтобы никаких, но они не очень.
Хочется большую компанию с процессами и экспертизой у сенек.
Но с моими вводными(вкатун из таксистов с годом попыта, литкоды решать не умею) - в больших конторах меня ждут только самые помойные легаси проекты.
Как вы думаете, моя работа это более-менее норм место для прокачки скила? С одной стороны можно что-то затащить самому, поковыряться там в nosql, кафке, ci-cd, в спринг-клауд библиотеках, подрубить метрики и трейсы. Перевести все на 6 спринг.
А с другой - никто не подскажет и если сделаешь криво - никто не исправит.
Если твои коллеги (особенно манагерские) --- не гондоны, а просто работяги-ебошеры, попавшие в сложившуюся ситуацию, то можно просто честно на них поработать некоторое время. Необязательно даже бросаться их пересаживать на новый стек --- задача на первых порах (при таскистских вводных): поднабрать стаж и познакомиться. Параллельно подтягивать штуки, в которых чувствуешь себя слабым (ИМХО учиться морально намного проще, когда вопрос с заработком закрыт).
Затем можно либо искать место потеплее, либо начинать прислушиваться, у кого чего болит. Но важно понимать: кафка и спринг --- не панацеи от всех проблем. Если ты начнешь внедрять спринг ради спринга, ты просто перессоришься со всеми и выгоришь. Важно именно детектить и решать проблемы, а не быть душнилой.
![image](https://2ch.life/pr/thumb/2531375/16706685274030s.jpg)
>Не в каждом мессаге есть тире.
Че? Если ты про то, что на клавиатуре его не поставишь - ставь дефис на место тире.
Ну когда не забываю, ставлю дефис.
Просто часто в маркдауне приходится доки лабать. Там три дефиса автоматом заменяются на тире. Плюс, в большинстве шрифтов три дефиса по длине равны тире, включая шривты на дваче. Привичка просто такая. Отнестись с пыниманием, нет?
Ладно. Но вообще — выучи alt+0151.
Там уже все в спринге по самые уши, господин спринг-вычищатель. Просто можно поднять все до последних версий и затащить нескоторые библиотеки, в том числе и сприновые, поднять имеющиеся до последних версий, что-то внешнее для мониторинга тоже наверно.
Вот эврику с спринг Бут админом наверно скоро затащим в одной апликухе. Чтобы и сервис Дискавери для фейнов и отображал метрики запросов.
Я не говорил "вычищать спринг", камон. Просто наверное если до тебя спринг до 6-ки не подняли, значит возможно на это были какие то причины? Вот к этому я и агитирую. Сначала разобраться, почему так, взвесить и оценить подводные, выслушать доводы людей, а потом уже действовать.
Хз, по-моему тут крудов маловато.
Мне вообще ничего в голову не приходит кроме блога-статейника с админкой и регистрацией для юзеров с целью оставлять комменты к статьям.
>Стек +- молодежный - 11/17 жава, микросервисы(15 штук и мне кажется они скорее под распределенный монолит подходят), кафка.
Пошел нахуй сразь у тебя работа мечты
Так ты асинхронно делай, через рабит или кафку, это же пет, пробуй новые технологии, будешь ими потом выебываться
Да просто лень или некогда было. За свежими фичами не следили. Это надо в каждом сервисе сделать задачку в трекере, сидеть мр. Плюс к новому спрингу иногда другие библиотеки придется поднять руками. Ну и жава 17 нужна. А это уже посидеть надо иногда по полчасику, посмотреть что отвалилось.
Наверно это ты бомбил от легаси выше. Я вот тебя послушал и понял, что у меня все неплохо. Но скиловых тимлидов и сенек хочется. Профессиональных девопесов и тестеров.
У тебя на легаси как с командой и инфрастукрой?
Как и зачем в имаджборде нужны брокеры сообщений? Что там делить на сервисы и передавать асинхронно?
Нет, я только с тебя бомбанул
Возможно, что да. Лень.
А еще возможно, что они не могут до 17 джавы проапгрейдиться из-за каких нибудь неочевидных зависимостей. Или в 6м спринге задепрекейтили что-то важное и незаменимое.
Как пример, мне недавно пришлось одну либу, которую я девелопил для внутрипроектных целей, даунгрейдить аж до восьмерки, из-за того, что софт, который эту либу будет юзать, был завязан на закрытые апишки кое каких вендоров, давным давно не обновлявшиеся и использующие JNI. Выкинуть было их нельзя, ибо бизнес. Обновить их было тоже нельзя, потому что закрытые, сторонние и не обновлялись. Ну хули делать, так устроена жизнь.
эмм, сообщения на фронт мб?
>Но скиловых тимлидов и сенек хочется
Могу ошибаться, но по моим наблюдениям скилловые перцы имеют тенденцию мигрировать табунами по пути "родной мухосранск" -> "ДС1, 2" -> "Загнивающий Запад".
1c
Ну не таксистом, от айти был также далек. Но раньше я пользовался примерно таким же тырарайзеым софтом, который теперь пишу. Там кстати был за клиента десктоп на жабе. Я тогда думал нахер она нужна и значок с чашкой кофе в трее висит. Она же в кнопочных телефонах для игр.
Нет. Надо уметь гуглить примерно, это чисто любительский проект для написания хуйни.
Да. Гуманитарная. Я вкатиться решил после того, как два однокурсника вкатились во фронт. Один из них кстати по специальности не работал ни дня в отличии от меня. После универа был осветителем в театре, потом диджеем в кабаке с караоке, черным копателем. А потом он типа прогер. Ну думаю я этому челику по вышмату задачки за пирожки решал. Я тем более вкачусь. Но фронт и питон не зашли. А джавка норм.
>не знает секьюрити
Держу в курсе, малышок, грейд не означает наличия знаний того или иного инструмента в полной мере. 99 процентов программистов не знают все тонкости и копают вглубь по надобности. Вот сейчас мне понадобились эти знания, я решил углубиться. Учись, пока я жив, мб и станешь джуняшкой когда-нибудь.
А англицкий я ебал в попочку. Почему? Потому что западные заказчики и работодатели на данный момент закрыты и я думаю, это надолго
Сидел читал статьи, книги, смотрел видосы, пил проекты.
А зачем ее спрашивать? В резюме есть моя непрофильная вышка. Кому нужна профильная просто шлют отказ на отклик или игнорят.
Ну-ну, не агонизируй в бессильной злобе. Мы видим, как тебе не нужен английский, кек)
Впрочем, что я хочу от вкатуна уровня трейни?
мимо >>37685 - анон
Может, ещё и на некросокетах поговнокодить? Смысл? К обычным контроллерам добавится бойлерплейт для сереализации и проверки авторизации, бизнес-логика от этого не изменится ни на йоту.
Месяца 3. Но там были оферы из мест похуже уже в первый месяц поисков. Но это до сво.
После сво один знакомый не смог вкатиться, второй не смог выйти из гепа с годом опыта.
Профильная в данном случае = технарская. Если ты технарь с вышкой по "Информатика и вычислительная техника" - ахуенно, если с "Радиоэлектроники" какой-нить - то тоже может прокатить.
Будет за счёт уменьшения числа волшебных прокси. Но можно ещё быстрее, если и сервлеты выкинуть.
Скачал интелидж, создал класс, при первом же запуске Hello World выдало ошибку.
Нашел в инете одно решение - создать пустой класс. Работало, даже открыв первый созданный класс выводил заветное Hello World.
Но в какой-то момент, я даже не понял как, переключаясь между классами через
File>Recent Projects
При запуске эта ошибка появилась в обоих классах.
Сорян за фотки
Настоящее ООП с DI.
От запросов зависит, от общего количества колонок, если все добавить в одну табличку.
С разными табличками потом заебешься писать запросы. Если апи на чтение и обновление у них общий, то каждый запрос, что селект, что апдейт джойны во все таблицы. И как их в нескольких таблицах идентифицировать? Как ты ограничения уникальности накинешь.
Я бы или занулил лишнее или все различающиеся поля сунул бы в одно поле json-b.
Это что же, мне опять лезть в хибернейт и юзать критериа АПИ? Или нативкуери юзать?
2) Как переписывать трёхслойные приложения чтобы выглядело заебись и потенциальный работодатель, открывший мой гитхаб сказал МАЛАЦА?
джун полтора года опыта
Берешь и пишешь на hql, лол, в @Query
Что ты "копипастить" собрался? Создай одну общую таблицу со всеми атрибутами, которые есть у любого сотрудника. И отдельные специфичные таблицы с атрибутами, зависящими от статуса, они все будут ссылаться через уникальный внешний ключ на общую таблицу. Много пустых полей в одной таблице в общем случае неэффективны с точки зрения хранения данных (всё равно занимают место) и миграции схемы (при любых alter table приходится обрабатывать намного больше записей). Выборку делай хоть одним джойном, хоть отдельными запросами к разным таблицам, смотря где какие данные нужны. И никаких ебаных жсонов, потом охуеешь при реализации поиска делать частичные индексы.
Под копипастить имел ввиду сделать Таблица1 -> данные
Таблица2 -> данные из таблицы 1 + поля по статусу
И так для всех статусов
>И никаких ебаных жсонов, потом охуеешь при реализации поиска делать частичные индексы.
А если ему никогда не надо будет по этим полям искать? Тогда группа отдельных таблиц просто усложнит и замедлит все запросы. Схему джейсонки контролируешь на уровне дто и все.
А если там несколько групп различающихся полей? Например по должности, по филиалу и по отделу. Три группы таблиц и все джойнить на селектах, добавлять логику ко всем запросам на уровне сервиса, а инсерты/апдейты/делиты делать в транзакциях?
Бамп! Куда все безработные пропали?
БТВ на ххр когда послежний раз были, цпспсоблядки вайтишники?
![image.png](https://2ch.life/pr/thumb/2531375/16707165623040s.jpg)
Почему оно выглядит как злой рофл... Оно является рофлом, или это реально хакатон?
Не сразу тебя заметил. Спасибо, что напомнил о себе, репорт модератору отправлен.
Это что, очередные микрофреймворки, которые запускают приложение за полсекунды, но не умеют и сотой части того, что умеет спринг?
В чем смысл меряться количеством фич? 90% энтерпрайза один пень не использует и 10% спринга.
>Пиздец блядь и перевода на русский ни ху я. Бляяяяяяять ну вот какого хуя я ебал
>А англицкий я ебал в попочку.
И смех и кринж блять.
ПОВТ подойдет?
Java — всё?
Анончики, решил я посмотреть требования к Junior-разработчикам на hh сайте. И знаете что я обнаружил?
В моём городе всего 2 вакансии.
Во всей России всего 60 вакансий, половина из которых требует опыта от 1 года, половина от 3х лет.
Правильно ли я понимаю, что в России Java-программисты не требуются?
В России джуны не требуются. У меня в дс до сво всегда было 50 вакансий, сейчас 5 джуниорских на джаву
Нет, через разъём ввода/вывода от отца
Джун может катиться нахуй
Не ори. Скажи спокойно, что не так?
Для этого в джаве создают отдельный класс со свалкой булеанов.
Наркоманские битовые маски можно встретить в бинарных форматах и протоколах.
Беременна/не беременна.
Первая битовая операция, а вторая логическая.
В провинции больше всего вакансий на 1С и PHP.
Так она вешается на сущность где используется енам. Типо я буду ее вешать над полем PenisType pType в классе Anon. Но у пенис тайп есть отдельная таблица в бд,значит нужно ее тоже разметить
Джуниоров обычно выращивают из стажеров. Поэтому ищи стажерские программы в крупных компаниях вроде сбера и тинькоффа.
Читать переводы на русском практически невозможно же. Последней книгой, которую я смог осилить на русском был a byte of python, которую я в 2015-2016 читал. Большая часть переводов в принципе нечитаема. То они мапу называют "картой", то треды называют "нитями", а стримы "потоками". Про более серьезное я вообще молчу, один раз вместо общеупотребимого "бин" переводчик неиронично использовал "боб". Ну или вообще ради каких-то гостов решают заменять общеупотребимые термины на те, что использовались при составлении этих самых гостов в конце 80-х, 90-х и начале нулевых. Как будто бы обратно в говновуз вернулся, где меня заставляли исправлять зарубежные сокращения и термины на их российские аналоги.
Да. Шарп почему-то был у меня в мухосранях в микрогалерах, которые брали проекты с 1-2 бекендерами или вообще искали шарпистов-фулстакеров с ряктом или ангуляром. Я написал им с моей жавой. Типа не предвидится у вас вакух? Сказали что нет.
На жаве собесился разве что в команду, где была поддержка одним челиком бека легаси на спринге. Но это не галера. А в штат сети автомоек.
Пися попа))))
Чел, Spring Security изучают ГОДАМИ! Одно неверное движение и данные пользователи утекают злоумышленникам.
Бля, а было бы наверное забавно если б переводчики локализировали литературу под сплошь прописанный англицизмами сленг разрабов.
По типу:
private static final long serialVersionUID = 1L;
Изначально это было нужно для джавовской сериализации (ObjectOutputStream и т.д.), типа если при десериализации значение serialVersionUID отличается, то, значит, при сериализации использовалась другая версия класса с другими полями, и надо кинуть ошибку, т.к. корректно десериализовать данные не выйдет, вдруг там поля другие.
Но в реальности родную джавовскую сериализацию мало кто юзает, потому что другие языки прочитать такие данные не смогут, и юзают обычно JSON или XML. И кто-то за каким-то хуем придумал все сериализуемые объекты вне зависимости от технологии помечать Serializable, а он без поля serialVersionUID показывает варнинги, хотя всё равно сработает, даже если пометку Serializable удалить. Вероятно, есть какие-то сериализаторы в JSON/XML, требующие реализовывать этот интерфейс, но нахуй они нужны.
Спасибо.
https://youtu.be/vZtI1M2Uwco?t=2606
почему это идешка не сможет найти нужный метод.
Может я чего то не догоняю но...
Если метод резолвится статически то он само собой найдется на раз два, если динамически - то будут проблемки, но только "дефолтная имплементация в интерфейсах" тут вообще не причем, тут как раз проблемка в "классическом ооп" а именно полиморфизме. При этом идеешка могла бы выдать на выбор все возможные имплементации (хз бывает ли так на практике, на жабе не пишу).
Короче Бугаенко ебнутый и несет хуйню полную с умным видом как нейросетка натасканная. И до этого момента тоже, но это уже отдельная тема. Тут же просто какой то бред неразбавленный.
Смотреть 46 минут, чтобы дать ответ из 10 слов, будут только шизики, которым хочется посраться про ООП.
Дожили бля...
Если вы пытаетесь научиться программировать и не знаете какой язык учить — просто начните учить Java. Будет так сложно, что вы влюбитесь в какой бы то ни было язык, который выберете следующим. Лол
Не правда! Джава - идеальный язык.
Лично мне в мире джавы не нравится окружение: зоопарк фреймворков, платные IDE, без которых ты ничего не можешь сделать, неудобные сборщики.
Каким же дауном нужно быть, чтобы не осилить простейшую жабу. Наверняка это писал не программист, а инфоцыганский скам Тем, кто её не осилил из-за сложности, дорога в петухон, JS и PHP.
>java
>сложно
>java - сложно
Ебало этой мексиканской пидарашки представили? Самый сложный язык на проде - C++ - ноу дискасс
Джава охуенный язык. И нет, >>38794, платные ИДЕ - просто приятная опция. Хошь - пользуйся, хошь - сиди на бесплатных, которых дофига. Причем не у всякой новомодной фигни есть вообще хоть какой то ИДЕ с сравнимым уровнем даже элементарного интеллисенса, не говоря уже о фичах покруче.
Бесят джависты.
На бесплатной нет поддержки Спринга и вообще ЕЕ-стека. Даже синтаксис многих форматов не подсвечивается, хотя подсветку завезли уже во текстовые редакторы уровня блокнота. А жидбрейнсы специально её выдирают, чтобы им платили, а плагины банят.
>Смотреть 46 минут, чтобы дать ответ из 10 слов,
Нахуй первым делом отпишется всегда какой нибудь тупорылй чмондель. Там таймстамп - глаза разуй.
>будут только шизики, которым хочется посраться про ООП.
Как что то плохое. Надо регулярно срать на ООП. Иначе пиздец.
Алсо, сейчас подумал, Бугаенко то хорошо относится к аспектному программированию, а ведь там еще похлеще магия с перепиливанием бинарников. Почему то там он не вспоминает про этот аргумент
> ну как же так я кликну по метода а он не найдется
>На бесплатной нет поддержки Спринга и вообще ЕЕ-стека.
А какая тебе поддержка нужна? Базовая - есть. Актуатор спринговый конечно не интегрирован, но камон - зато бесплатно и не тормозит.
>Даже синтаксис многих форматов не подсвечивается, хотя подсветку завезли уже во текстовые редакторы уровня блокнота
Многих - это каких?
>Алсо, сейчас подумал, Бугаенко то хорошо относится к аспектному программированию, а ведь там еще похлеще магия с перепиливанием бинарников.
Так у него же аспекты - декораторы)
Шарп мне показался сложнее. Из-за кучи сахара и перегрузки операторов. Котлин туда же, но полегче шарпа.
Жс, пхп, питухон вроде легче. Но на динамике после статики прямо неприятно писать, и особенно ее читать. Особенно жс с его типизацией.
Руби показались нечитаемыми. Выебистый несиподобный синтаксис питухона на максималках.
Чистый си прост, но на нем писать пиздец сложно что-то большое. Потому что нужно все руками делать и почти всегда нужно знать особенности компилятора.
Го вроде прост, что-то между голым си и жабой. Не показался легче чем жаба в освоении.
Плюсы это реально пиздец. Я даже не понял, как там хеловорд работает c "std::cout <<". Куча низкоуровневой еботы из си и куча возможностей из высокоуровневых языков.
Один из концепций заложенных в джаву изначально - это простота. Язык сразу задумывался как простая версия С++. Я бы даже сказал, что Си с ООП должен выглядеть как джава, а не как С++.
Из ключевых языков программирования за всю история я бы выделил: Ассемблер, Фортран, Си и Джаву. Пятый язык пока не придумали.
Я не очень в курсе, но интересно как Бугаенко и адепты АОП (по Бугаенко или без) в таком случае решают такого рода проблемы:
1) Я вызываю метод и у меня что то выводится в консоль хотя никаких println в методе и близко нет, что вообще происходит?
2) Как мне прыгнуть в то самое место в коде которое выводит то что я вижу в консоли?
Чел, ну я сам не люблю динамику. Но так пренебрежительно к ней относиться это моветон. На ней полинторнета работает.
Но я бы конечно жс выделил. Он намного сильнее повлиял на индустрию, чем пхп и уж тем более питон.
На си и фортране они работают, а питон там для склеивания либ. На джаву тоже есть биндинги
![image.png](https://2ch.life/pr/thumb/2531375/16708391028170s.jpg)
Не поддерживаются все шаблонизаторы типа JSP, Vaadin, Thymeleaf, FreeMaker, Mustache. Есть голый html только. JS, TS, CSS, SQL тоже не подсвечиваются.
>JSP, Vaadin, Thymeleaf, FreeMaker, Mustache
Так это никому не нужный кал в 2023 веке, чел. Ты б еще про war вспомнил и про сервлеты...
Насколько я знаю, если используешь JSP, то можно генерить только war, а jar не поддерживается.
Насчет thymeleaf и freemarker - да, согласен. JSP в нетбинсе насколько я помню включается плагином. Браузерное говно в нетбинсе подсвечивается (разве что ts не чекал), местами даже резолвит чето.
Это не так.
JSP это всего лишь сервлет-бейзд пепяка. Для запуска сервлета warник уже тыща веков как необязателен.
Да нахуй вообще об этом кале вспоминать. Помер, да и хуй с ним, легасятина ебанная, а мы будем на спринг буте писать
Так не вспоминай. Че лезешь тогда?
Кстати любопытный факт - Srping c бутом до сих пор полностью поддерживают JSP. И только обкончанные спрингокультисты кукарекают, что "нинужон".
>поддерживают
По доброте душевной. Но спринг топ, да. Легасятина ебанная и всякие поридж фримверки аля микронавт и квакус спрингу и в подметки не годятся по удобству написания кода и предоставляемой функциональности
Каким бы хорошим ни был спринг, спрингопидарашка всегда остается бесплатной тупой промыткой-подсосником.
>всякие поридж фримверки аля микронавт и квакус спрингу и в подметки не годятся по удобству написания кода и предоставляемой функциональности
Ваш мозг когда накатил боярки и обсмотрелся jug ru конференций
В шарпе обратной совместимостью и не пахнет
Из-за Unsafe'опидоров, из-за JNI-enjoyerов, из-за ломбокоблядей и прочих замечательных людей.
...замечательных людей, юзающих незадокументированные ректальные отверстия джавы.
Посоветуйте по книжкам пожалуйста:
Насколько актуальна Философия Java? насколько я понял, что там прям много чего нет, правильно? Что сейчас актуально и ИНТЕРЕСНО читается новичку? Шилдт это конечно хорошо, но все-таки хочется хоть немного воды.
По сути уже сейчас прошел весь кор(с практикой): коллекции, потоки, работа с файлами, эксепшены. Очень охота полирнуть все это дело качественным чтивом. Ну и лямбды со стримами изучать по статьям с интернета как-то не очень заходит, охота большей структурированности, глубины и вдумчивости.
Прочел Head First - шляпа на самом деле, очень поверхностно и совсем для тупых. Этакая джава для домохозяек.
Benjamin Evans, David Flanagan — «Java in a Nutshell».
1. Массив String, в котором по порядку идет Att1, Att2, Att1, Att2 и тд
2. Массив String, в нем все ок, 1, 2, 3, и тд
Короче первые 2 параметра нужно собирать из 0 и 1, 2 и 3 и т.д ечейки массива.
Как это красиво без двойных циклов обыграть? Сори если обьяснил хуево, два пива выпил уже
Теперь ты пишешь на шарпе.
Ну у вас же есть флюент апи, это вроде то же самое.
Потому что она не ломает, если не пользоваться кишками JVM и прочей непотребщиной.
Как лучше всего познать микросервисы, кафку и прочие модные нынче штуки, если до этого писал максимум распределенный монолит на спринге?
попасть туда где микросервисы, кафка и прочие модные нынче штуки и делать таски
Это когда вроде бы микросервисы, а вроде бы выключишь один - и у тебя вся система становится полностью неработоспособной.
Такое ощущение, что много заработать денег с той же вероятностью можно в казино. А вкатиться проще клоуном в цирк - смысл тот же, а пользы для общества больше. Одно дело развлекать детишек, другое - быть пищей великовозрастных троллей-синьоров.
Вероятности считать бесполезно. В казино хуй что заработаешь, какими умениями ни обладай и как ни старайся. А в айти всё зависит только от усидчивости вкатуна, и если вкатун может полгода-год усердно учиться кодить, он вкатится, если не умрёт. Многие переоценивают свою усидчивость и всё равно пытаются, но тут проблема явно не в айти.
Вот смотрю я на вкатунов, смотрю я на их советчиков, смотрю я на челиков, которых интервьюят ко мне... Да никто из них ничего с усердием делать не будет, забей. Белоручки же все, боятся лишний раз "не то выучить, время зазря потратить". Насрать им на айти, им денях хоцца. Хочется чтобы ты взял их за ручку, посадил за компик, там челик нажмет на зеленую кнопку в идее и все заработало, а челику сразу гринкарту и персональный джет в фаанг. А как чего не заработало, так все, "сраное легаси, мну выгорел :(, мухожук :(".
Грустно чет, на меланхолию потянуло.
Я вот раньше писал программы для себя, потому что было интересно, а чтобы вкатиться пришлось учить всякую хрень неинтересную.
От усердного ковыряния легаси кала наоборот теряешь скилы. Нихуя не делать тупо выгоднее
Иди нахуй. Я на проекте тупо один, и мне одному тупо хорошо. Но время от времени меня зовут на подмогу в места с такими вот хипстерами, где все сроки нахуй горят вместе с их жопами. И вот в такие моменты хочется просто напиться.
Да.
Это же разные слои тестирования. Как в них впринципе можно задублировать проверки?
Например юнит тест на спринг конвертер и интеграционный тест на контроллер, где этот конвертер используется в веб слое для преобразования квери параметра в объект.
Ок, но проверки в двух случаях же будут априори разные, разве нет? В случае с конвертором ты проверяешь, что конвертация прошла как надо. А в случае с контроллером ты проверяешь, что в ответ на реквест пришел ожидаемый респонз.
Конвертер что-то валидирует и падает с разными ошибками, если валидация не прошла. В тесте на контроллер надо проверить, что вот такой квери параметр приводит к вот такому http статусу и такому сообщению в джейсоне. Но валидации одни и те же и там и там.
>Но валидации одни и те же и там и там
А, ты про ЭТИ проверки. Я было подумал - ты про ассерты в тестах.
ИМХО если это не юнит тесты (как в твоем случае), можно забить на это. Почему нет?
Да хоть 3022, кому он нужен.
Как туда попасть, если на проектах никогда не было ни кафки, ни даже rabbitmq, а вместо трушных микросервисов писали распределенный монолит?
А как ты попал на первую работу с распределенным монолитом, если до этого никогда не был на проекте с распределенным монолитом?
Меня взяли из жалости и в компании команда трещала по швам и они затыкали дыры людьми, которые были готовы работать за копейки.
> Что такое этот Apache Camel и нахуй он нужен?
Для реализации ESB в монолитах из нулевых, где вместо микросервисов было SOA.
А в чём смысл быть в задах?
Здравствуйте, Анончики.
Я тут сижу, книжки читаю и призадумался. А почему некоторые рабовладельцы ищут программистов на Java 8 и Java 11, когда Java 17 полностью совместима со старыми версиями? Неужели чтобы разрабатывать на новых Java'х рабовладельцы должны платить деньги владельцам Java? Или в чём причина?
Подумываю вкатиться в джава тырпрайз бекенд. И вот тут хотелось бы узнать мнение господ разрабов. Как считаете, есть ли смысл или это будет шило на мыло? Да, ЗП вероятно будет побольше, мб не сразу, но тем не менее. Но интересно послушать про саму работу - как вам вообще, по кайфу? Или постоянно жопа в мыле? Понимаю, что везде по-разному может быть, но интересно узнать разные кейсы.
>std::cout <<
Я, конечно, хуйлуша, но думаю, всё примерно так:
std это стандартная область видимости, типа мэйн-библиотека
cout это хуйня для вывода, типа нашего System.out
а << это просто перегруженный оператор побитового сдвига, но в связке с cout он выступает за выгрузку в cout
Типа <<(java.out, "Hello, world") если на нашем. Но я, повторюсь, хуйлуша и не шарю.
То есть они из-за денег сидят на старых версиях джаббы или как? Или они на каких-то советских императорских древнерусских ещё библиотеках работают?
А зачем он сейчас нужен то? Я ведь правильно понимаю что сейчас все делают распределённые монолиты где единственной точкой доступа к приложению является гейтвей, а сзади микросервисы которые на апишка на опенфейне общаются?
Пилю юай и апи автотесты в составе небольшой команды. Гоняю регрессии, смотрю результаты. Заполняю документики. На предыдущем проекте было поинтересней - исключительно разработка и поддержка тестового фреймворка, никаких тестов. Поэтому и подумываю вот в разработку перекатиться.
Как стать - можно по-разному. Я, имея гуманитарное образование, начал с курсов мануал куа. Устроился на галеру, поработал пару лет. Прошел внутренний курс по автоматизации - так перекатился.
Сейчас в 2022 году? Нахуй он не нужен никому.
О микросервисах не надо думать, что это новый универсальный подход, которому надо всегда следовать, раз он аолшебным образом решает все проблемы. Это не так. Сейчас пишут новые монолиты, и всегда их будут писать, где-то они тупо работают лучше микросервисов.
Ни разу не так.
Отстегивать ораклу надо только в случае использования Oracle SDK. Но во первых кому нужен Oracle SDK когда есть Open SDK. А во вторых - этих SDK от разных вендоров наплодилось так дохуя, что выбирай не хочу.
Просто я вот тупой, но меня спросили почему бы не использовать камел вместо платного гейтвея который я предлагаю, типо камел же отвечает за роутинг рутов между эндпоинтами приложения. Тоже самое что и гейтвей, рутит приходящие реквесты с фронта на бэк через себя как реверс прокся. И как я читаю это ведь так и одновременно не так и нахуй мне надо, я ведь могу общение между сервисами просто на фейне сделать, так?
Я конечно понимаю, что для новичка непонятно нахуй нужен System.out и это дополнительная сущность.
Но все что ты описал это прям куча сущностей, которые надо держать в голове. Я и раньше не хотел учить плюсы, а теперь и подавно.
Ради всякого обилия фичей, тот же конг бесплатный не даёт oidc плагин, жиды не так давно перевели его в + и EE. Хотя я скорее за AWS больше, не удавится бизнес если будет платить 100$ в месяц за 10+ лямов запросов.
Ну я как сказал, мне похуй че там бизнес платит, не в мне в карман идёт, а кабан не обеднеет. По теме есть что добавить?
>я ведь могу общение между сервисами просто на фейне сделать, так?
Это так в теории. На практике в общем случае делать прямые взаимодействия между несколькими сервисами (а через фейн ты будешь делать именно это) === каплить их друг на друга, что чревато проблемами разного уровня. Начиная от риска получить низкий redundancy и плоухю пропускную способность системы, заканчивая организационным адком, если сервисы мейнтейнятся разными командами.
>почему бы не использовать камел вместо платного гейтвея который я предлагаю
Скорее всего это была проверка на твою способность давать внятное обоснование предлагаемым тобой инициативам. В теории камел, наверное (со свечкой не стоял), может выполнять роль гейтвея. На практике, есть вопросы, которые возникают у меня когда я слышу это:
- насколько камел производителен? Хватит ли его производительности чтобы покрыть метрики.
- умеет ли он в асинхронность (все таки через него будут все запросы ходить, на кучу сервисов. Часть из этих запросов может быть и тяжелыми. Если под нагрузкой ляжет гейтвей, то ляжет литералли все)
- Как с камелом мы будем решать вопрос service discovery?
- Как с камелом мы будем делать авторизацию?
Я камел знаю только по вершкам, поэтому у меня нет ответов. Но если бы мне на собесе мне попался такой вопрос, я бы размышлял так. И самое главное - на собесе я бы поостерегся предлагать интервьюерам пепяку, нужду в которой я не могу обосновать. При недостатке экспертизы, я бы постарался заменить рекомендацию от меня отсылкой на свой опыт. Я сказал бы что нить вроде "В микросервисной архитектуре нам нужен гейтвей с сервис дискавери. На предыдущем проекте мы использовали клауд такой то, он показал себя адекватно, но имел такие то проблемы. Еще я видел реализации гейтвея на таком то и таком то стеке".
Хочу рекурсивно заполнить List всеми возможными комбинациями чисел. Использовал схему пик1. В итоге, после работы программы весь список пустой. Пробегался дебагером, как оказалось лист сам меняется в процессе, и словно перезаписывает предыдущие значения.
На 28 строчке скопировал переменную result, и работал с ней, таки все заработало. Почему я так и не понял.
>каплить их друг на друга
Ну а как иначе то? Паблиш/консум через брокера организовывать? Согласен, что так будет меньше зависимостей если что-то упадёт, месседж просто в dlq отправится.
>это была проверка
Я им просто сказал про свой опыт, что вот раньше на предыдущих галерах везде был AWS и ваабще-та па паатеррнам!1 нам нужен гейтвей. Как потом оказалось с камелом меня затролили, по крайней мере мне так показалось, ибо как анон выше сказал, да и как я сам погуглил, это говно действительно нахуй не нужно.
А так большое тебе пасибо за развернутый ответ
Почему тебе не похуй, что там внутри передаётся? Тебя кто-то заставляет вручную эти хмлы набирать?
Я тут недавно узнал что у большинства разрабов в моей команде бесплатная идея. А я то думал какого хуя они не исправляют ошибки которые сама идея подсвечивает. В том числке в sql.
>>36348
>>даже хеллоуворлд не напишут.
Напишут, но в разы дольше чем обычно. Привыкаешь что не надо запоминать названия классов целиком, забивать на форматирование и импорты. Еще предложи ломбок отобрать и писать геттеры руками.
>XML-программист
Я тебя не оскорблял!
У них ещё апи спать ложится
>Production system accessible every day between 6:30 CET and 23:00 CET
Режим лучше чем у меня
Ну а вдруг на том конце сидит дежурный безопасник, который своими глазами просматривает все запросы. Надо же отдыхать человеку.
>Еще предложи ломбок отобрать и писать геттеры руками.
Ебаный врот. Специально для вас, сцуко, рекорды завезли, а все равно без лобка жизнь не сладка.
джава тебя отвергла, попробуй другой язык
Как проект создавал? Как проект запускаешь?
Почему Main с маленькой буквы?
>>Хранить сразу все возможные варианты в одной таблице employee и потом ненужные тупо заполнять нулами?
Примерно так, если документов не слишком дохуя. то 3-5 внешних ключей можно пережить.
Если больше - то уже выносить в отдельную таблицу. ид-статус-сотрудник_ид-трудовая_ид ну и тп.
>>Джава - идеальный язык.
Только синтаксис устаревший.
Например
var hyina = zalupa == null ? null : zalupa.getHuina();
вместо
var hyina = ?zalupa.getHuina();
>>в мире джавы не нравится окружение:
Это самое охуенное что там есть. Для любой задачи есть готовое решение. Все проекты более-менее похожи и в них не сложно разобраться.
>>платные IDE, без которых ты ничего не можешь сделать
ТЫ не можешь, другие могут. Да и 150$ заплатить один раз мог бы с зарплаты айтишника.
>>неудобные сборщики
пособирай проект на жаваскрипте, потом сравнишь где проще и быстрее получается.
>Даже дто полноценную не сделаешь.
Поля есть, геттеры есть - equals/hashCode обьявить можно - чего тебе еще надо?
Бляяя пиздец, так вот почему это говно все хейтят.
Таких курсов не существует.
Чтоб джексон и прочие мапперы без бубна могли нормально мапить из жсона/другой дто. Да и мне иногда удобнее засетить коллекцию (полученную отдельным запросом) в поле, чем создавать копию этого же объекта повторяя и все остальын поля.
А нужна будет иммутабельность - я так и напишу @Builder @Getter с final полями.
>джексон
Судя по легкой гуглежке, поддержка рекордов в джексоне есть с версии 2.12.
>мне иногда удобнее
>нужна будет иммутабельность
В этих двух стейтментах - противоречие наверное всех команд разрабов на земле. Где одному нужно, всегда найдется другой, которому будет неудобно. Лично я в гробу видел ризонинг через удобство. Вот другое дело - сайд эффекты. Их импакт вполне можно оценивать объективно.
Но ок, я понял твою позицию.
Поддержка рекордов у джексона есть. Но вот только там сильно не все поддерживается из того что может джексон. И эти ограничения по работе с рекордами ты поймёшь только увидев, что часть аннотаций в рантайме не работают.
Например?
Хз, может у него там имена полей в жсонине не совпадают с дто, или еще какая кудрявая ситуация, требующая аннотирования того, что в рекордах скрыто.
var huina = Solid.of(zalupa).getHuinua();
Какие же порриджи дегенераты, им даже для такой примитивщины подавай новые языковые конструкции.
Дебил тут ты, не различающий принципы работы var в js и java.
Да, это именно слово плохое. Темное. Его в любой язык нельзя тащить и надо избавлятья. Ни разу не то, что жс оно скоуп распидорашивало, не.
Это сиквел от автора мам я линкедлист?
Они хуёво задизайнили управление скоупом для вара, теперь чтобы не ломать сильно совместимость, переделывают всё на let.
Но let это тоже не явное указание типа... B var в джаве не ломает скоуп. В чем тогда претензия?
переходом на тайпскрипт и запретом в линтере any, object и неуказания
в жабаскрипте идут по ужесточению типизации, в жабе идут по ослаблению типизации
Нука-нука, пошли байти о типизации уровня двача))
Это в каком месте var делает типизацию джавы слабее?)
*байки
Не нужно тебе этого знать.
Во первых - ты малолетний дебил и можешь идти нахуй, потому что твое восприятие никак не коррелирует со слабостью типизации. Учи матчасть, чмо. С таким же успехом ты можешь зайти в тред к хаскеллитам и попробовать убедить их что у их хаскелля типизация слабая из-за того что они везде let юзают без указания типов - увидишь как смачно они тебя обоссут.
Во вторых - ты малолетний дебил, который не умеет пользоваться ИДЕ. Идея и как минимум нетбинс умеют определять, подсвечивать выведенный тип и заменять на явный, чтобы такие додики как ты в глаза не долбились.
var pizdula = service.opizdyulit(huina);
var govno = anotherService.davit(govno);
Это на cамом деле намного хуже читается, чем с эксплицитными типами.
var подходит только для var huina = new Huina(); Особенно если в классе 20+ символов.
В остальном он только мешает.
Так и говорите "мну нечитаемо". "Мну не могу осилить метод с варами, которые тащемто все без исключения локальные (даже фича так и называется - local variable type inference) и за пределы скоупа обьявления уходят с явными типом, но я - няша, и больше трех переменных в скоупе осмыслить мне нейронов в мозгу не хватает, ня".
А не пиздите про слабость типов.
Нечитаемо-няши - как груднички, их даже обоссывать не хочется. Просто иди с миром, чел.
Это читаемо. Но хуже. Как-то на динамико-дрисне же пишут люди. Нахуя ухудшать читаемость и увеличивать когнитивную сложность ради понтов ?
Если в методе что-то простое, то легче однострочником писать.
>Нахуя ухудшать читаемость и увеличивать когнитивную сложность ради понтов ?
Понты тут не при чем. Просто некоторые вещи компилятор делает лучше, эффективней и быстрее человека, вот и все.
Те же дженерики, к примеру. Их неявное выведение существует с семерки. Никто не жалуется, все пользуются. Откажись от неявных дженериков, и подрязнешь просто в тоннах типов в каких нибудь стримах или флюент апи.
Выведение переменных - просто следующий шаг в этом процессе, ни больше ни меньше. Исходя из контекста использования, компилятор способен подобрать максимально подходящий тип за человека. Ничего зазорного в этом не вижу. Более того, если контекст использования поменяется, поменяется и выведенный тип переменной без изменения кода (меньше изменений в коде == меньше геморроя в виде мерж конфликтов)
Хейтить вары за читабельность - я не понимаю этого бреда нахуй. Впрочем я вообще мало понимаю людей, аппелирующих в защиту своей позиции к субьективщине и вкусовщине. Казалось бы - не нравится тебе - юзай явно, благо идейка в один клик заменяет вары на явные типы. Форсь кодстайл у себя в параше и не отсвечивай. Но нееет, ляпнут хуйню какую нить, а потом позорятся.
Пришлешь мне мерж реквест с варами—отправлю переделывать. Мне нахуй не упало твою лабуду читать,поридж ебаный
Будешь, куда ты денешься.
Чел, в варах нечего учить. Использовать их вместо HuinaZalupaTransactionalBeanPostProsessor это как отрубить ногу, потому что она большая и некрасивая и ходить с культей.
Хотя вот прямо сегодня копался в jooq и там были sealed class из java 15.
Ты просто дегенерат который больше одного названия запомнить не в состоянии,для меня загадка как ты вообще работу получил
Ооо, найс, в ход пошли всратые аналогии) Дискуссия уровня "двач")
дженерики - добавление типизации. Вары - снижение типизации. Даже если компилятор что-то там проверяет
>я запомнил все AbstractHuinaBeanPostProcessorFactoryImpl которые мы наговнокодили у себя на проекте, я сеньор!
Долбоеб неугомонный.
JB предоставляют ультимейт идею студентам бесплатно. Для рф акция приостановлена в связи с войной.
>я стал клепать вар на каждый класс длиннее 5 символов, а потом вообще пересел с джавы на динамическую пыхоплеяду и теперь долблюсь в очко с питухонерами, зато удобно!
ПЕРЕКАТ >>2542909 (OP)
ПЕРЕКАТ >>2542909 (OP)
ПЕРЕКАТ >>2542909 (OP)
ПЕРЕКАТ >>2542909 (OP)
Почему им не купили ультимейт?
Никаких варов в рантайме нет, это просто сахар. Тебе компилятор не даст создать неопределненный вар или просто подсунет туда обжект (если изъебнешься с лямбдами).
Это копия, сохраненная 6 февраля 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.