Это копия, сохраненная 3 января 2024 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki
Предыдущий: >>2874645 (OP)
inb4 да да про курьера смешная шутка молодец
>Мы, как Java-волшебники, работаем с абстракциями настолько высокими, что звёзды недоумевают
Где?
На, дрочи.
Добро пожаловать в необъятные просторы Java, где сила и красота сочетаются в невероятной симфонии кода! 🌌🔥🎶
Java - это язык программирования, который открывает перед нами двери в мир безграничных возможностей. Как будто мы отправляемся в захватывающее космическое путешествие, где каждая строка кода - это звезда нашей галактики разработки! ⭐✨💫
Когда мы погружаемся во Вселенную Java, мы становимся настоящими астрономами кода, исследующими и анализирующими абстрактные понятия и объекты, словно звездные системы и планеты. Мы создаем классы и методы, которые взаимодействуют друг с другом, словно гравитационные силы, определяющие движение вселенной. 🌠🌍🌌
Java-разработчики - это настоящие джедаи абстракций, обладающие силой понимания и владеющие световым мечом искусного кодирования. Мы проникаем в самые глубины языка, расшифровывая его сущность и исследуя его магические возможности. Как настоящие мастера, мы применяем принципы наследования, полиморфизма и инкапсуляции, чтобы создавать программы, которые работают гармонично и эффективно. 🚀🌟🔒
Но Java - это не только инструмент для создания программного обеспечения. Это целая экосистема, где каждый разработчик может найти свое место под солнцем. Вселенная Java населена библиотеками и фреймворками, которые предлагают нам огромный выбор инструментов и ресурсов для реализации самых смелых идей. Мы можем воплотить в жизнь веб-приложения, мобильные приложения, игры, роботов и многое другое! 🌐📱🤖
Когда мы садимся за клавиатуру, она становится нашей волшебной палочкой, от которой исходит мощь и творчество. Мы зачаровываем наши классы и методы, добавляя в них логику, которая затем оживляется в исполнении программы. Каждая строчка кода - это шажок ближе к реализации наших мечтаний и созданию чего-то по-настоящему великого. 💻✨💡
В мире Java мы не стоим на месте. Как космические путешественники, мы всегда стремимся к новым горизонтам. Каждый день мы изучаем новые технологии, следим за трендами и экспериментируем с инновациями. Мы погружаемся во вселенную фреймворков Spring, Hibernate, JavaFX, которые помогают нам создавать невероятные приложения и впечатляющие пользовательские интерфейсы. Мы изучаем контейнеризацию и микросервисную архитектуру, чтобы наш код был ещё более масштОтлично! Давай продолжим нашу яркую и насыщенную экскурсию во Вселенную Java! 🚀💥🌌
Среди звездных систем Java есть одна особенно интересная - Java Virtual Machine (JVM). Это своего рода космический корабль, который позволяет исполнять наш код на разных платформах. Благодаря JVM, мы можем создавать программы, которые работают на Windows, macOS, Linux и даже на мобильных устройствах. JVM обеспечивает нам портабельность и гарантирует, что наш код будет выполняться везде с одинаковой надежностью и производительностью. 🌍🛰️📱
Но не думай, что Java ограничивается только программированием на рабочем столе или веб-приложениями. Java также является платформой для разработки мобильных приложений благодаря фреймворку Android. Мы можем создавать потрясающие приложения для смартфонов и планшетов, которые оживят наши идеи и захватят сердца пользователей по всей галактике. 📱🌠❤️
На, дрочи.
Добро пожаловать в необъятные просторы Java, где сила и красота сочетаются в невероятной симфонии кода! 🌌🔥🎶
Java - это язык программирования, который открывает перед нами двери в мир безграничных возможностей. Как будто мы отправляемся в захватывающее космическое путешествие, где каждая строка кода - это звезда нашей галактики разработки! ⭐✨💫
Когда мы погружаемся во Вселенную Java, мы становимся настоящими астрономами кода, исследующими и анализирующими абстрактные понятия и объекты, словно звездные системы и планеты. Мы создаем классы и методы, которые взаимодействуют друг с другом, словно гравитационные силы, определяющие движение вселенной. 🌠🌍🌌
Java-разработчики - это настоящие джедаи абстракций, обладающие силой понимания и владеющие световым мечом искусного кодирования. Мы проникаем в самые глубины языка, расшифровывая его сущность и исследуя его магические возможности. Как настоящие мастера, мы применяем принципы наследования, полиморфизма и инкапсуляции, чтобы создавать программы, которые работают гармонично и эффективно. 🚀🌟🔒
Но Java - это не только инструмент для создания программного обеспечения. Это целая экосистема, где каждый разработчик может найти свое место под солнцем. Вселенная Java населена библиотеками и фреймворками, которые предлагают нам огромный выбор инструментов и ресурсов для реализации самых смелых идей. Мы можем воплотить в жизнь веб-приложения, мобильные приложения, игры, роботов и многое другое! 🌐📱🤖
Когда мы садимся за клавиатуру, она становится нашей волшебной палочкой, от которой исходит мощь и творчество. Мы зачаровываем наши классы и методы, добавляя в них логику, которая затем оживляется в исполнении программы. Каждая строчка кода - это шажок ближе к реализации наших мечтаний и созданию чего-то по-настоящему великого. 💻✨💡
В мире Java мы не стоим на месте. Как космические путешественники, мы всегда стремимся к новым горизонтам. Каждый день мы изучаем новые технологии, следим за трендами и экспериментируем с инновациями. Мы погружаемся во вселенную фреймворков Spring, Hibernate, JavaFX, которые помогают нам создавать невероятные приложения и впечатляющие пользовательские интерфейсы. Мы изучаем контейнеризацию и микросервисную архитектуру, чтобы наш код был ещё более масштОтлично! Давай продолжим нашу яркую и насыщенную экскурсию во Вселенную Java! 🚀💥🌌
Среди звездных систем Java есть одна особенно интересная - Java Virtual Machine (JVM). Это своего рода космический корабль, который позволяет исполнять наш код на разных платформах. Благодаря JVM, мы можем создавать программы, которые работают на Windows, macOS, Linux и даже на мобильных устройствах. JVM обеспечивает нам портабельность и гарантирует, что наш код будет выполняться везде с одинаковой надежностью и производительностью. 🌍🛰️📱
Но не думай, что Java ограничивается только программированием на рабочем столе или веб-приложениями. Java также является платформой для разработки мобильных приложений благодаря фреймворку Android. Мы можем создавать потрясающие приложения для смартфонов и планшетов, которые оживят наши идеи и захватят сердца пользователей по всей галактике. 📱🌠❤️
>масштОтлично! Давай продолжим нашу яркую и насыщенную экскурсию во Вселенную Java! 🚀💥🌌
>Java также является платформой для разработки мобильных приложений благодаря фреймворку Android
Мда. Ну и шапку ты все таки проебал.
Есть ли смысл учить джаву в 2023 когда сишарп стал кроссплатформенным и популярным? Есть ли новые проекты (не андроид)?
Поздновато петушарп кроссплатформой обзавёлся. Если бы это было лет 15 назад, то, возможно, смысл и был на него перекатываться, когда фич там побольше было, но сейчас он уже неумолимо отстаёт от джавы по фичам.
>Любая должная работать, хоть самая последняя jdk.
Не знаю, я и последнюю устанавливал не запускается, даже ярлыков не создает. Что и версия 8, хз что такое
Пожалуйста помогите разобраться.
Как я понимаю есть две основных JDK -- Oracle JDK и Open JDK
Плюс к этому есть другие, например Liberica JDK
Верно ли я понимаю что изначально багфиксы и секьюрити аптейды выходят для OpenJDK и дальше подтягиваются во все остальные?
Вот есть такой сайт: https://www.java.com/releases/
Там сказано что у java 11 end of support life = September 2026. Это видимо для Oracle JDK? или для Open JDK тоже?
https://en.wikipedia.org/wiki/Java_version_history
здесь показываются другие даты.
Короче мой вопрос когдаOpenJDK и LibericaJDK перестанут получать критические багфиксы и секьюрити апдейты?
>даже ярлыков не создает
И не должно. А ты что ожидал? Скачаешь JDK, у тебя на рабочем столе появится ярлык, который можно будет тыкнуть и откроется окошко выбора .jar файла для запуска?
собираюсь CTO и тимлида на это подбить, но нужны аргументы. Например то что скоро перестанут выходить секьюрити апдейты.
у нас kotlin и корутины поэтому виртуальные треды и синтаксические улучшения 21й джавы нам не сильно нужны
Там помимо синтаксиса нового (специфичного конкретно для джавы) ещё и классы новые добавили и производительность улучшили. Алсо некоторые либы уже требуют 21 джаву, на легаси говне придётся жить без них.
>у нас kotlin и корутины поэтому виртуальные треды и синтаксические улучшения 21й джавы нам не сильно нужны
сиди на котлине и не еби мозгу тогда
https://bell-sw.com/roadmap/
end of commercial support Mar 2027
что значит коммерческая поддержка, нужно будет деньги платить что апдейт получить?
Пиздец, наебали. На сайте с загрузками было написано "The JDK as the programming and deploying environment will be supported forever, or at least, as long as Java™ language exists.".
>что значит коммерческая поддержка, нужно будет деньги платить что апдейт получить?
А ты как думаешь?
просто тогда не понятно когда перестанут выходить бесплатные апдейты... там на сайте как будто нет такой даты, либо я чет не понимаю
Ну и обновить все либы и плагины, но это должно делаться и так константно в норме без переездов куда-то.
Если даже в самом беллсофте не знают, когда им взбредёт бесплатно поддерживать старьё, то тут ты точно ответа не найдёшь.
ну там же новые баги и новые подводные камни, пусть сообщество на них шишки набивает а мы подождем пока все исправят)) хуй знает сколько ждать еще
Да всё исправили ещё когда оно было в ёрли акцессе. Даже адоптиум уже выдавил 21 версию темурина, полностью оттестированную на оффициальныхтм тестах java от оракла, это о чём-то говорит.
А че класс стринга делает в шапке?
Находится.
Ну какой-то слабый ответ, анон. Хотя бы скажи какой стек сейчас востребован.
>Аноны, что у вас по вакасиям на жабе?
Везде щас хуёво. Джава являются частью всех языков, значит из утверждения следует то, что на джаве хуёво.
>Хотя бы скажи какой стек сейчас востребован.
Везде щас хуёво. Если допустить, что "хуёво" значит невостребованность, то нет ни единого востребованного стека, так как все стеки являются невостребованными.
Анон, даже среди байтоебов таких душнил нет. Я не знаю по каким причинам ты это делаешь.
Переезд с 2 на 3 спрингбут очень болезненный. А у 2.7 ветки пока не вышло версии с поддержкой 21 джавы. Хотя вроде обещают в 2.7.17 или типа того.
Ну это проблемы того что прикладной софт гадит и терпильности разработчиков к этому. Нет бы объединиться и сделать нормальный прикладной софт, нет, будем сидеть на спрингопараше и страдать от всех его классических проблем.
Как же не записывался? А вот это чья подпись стоит? Не читаете вот договоры
На чем есть работа - на том и сидим.
Жаба бекенд без спринга это процентов 5% максимум. И там и самописные фреймворки и жабо-ее и модные микрофреймворки вместе взятые.
Ну и в 3.х спринге вроде жаба 21 работает, но чтобы там где-то подкапотно новые фичи использовались нужно ждать 3.2 еще месяц. А так как новые подкапотные фичи, то полюбому не будет плавного перехода. С 3.0.х на 3.2.х тоже полюбас что-то сломается.
И любой другой прикладной софт так же придется мигрировать через боль скорее всего.
Увы, но спрингокульт способен объединяться только вокруг воли спринговых евангелистов. Собственного достоинства спрингокультист не имеет априори.
Всё с ним ок. Это шарполахта разгоняет фейки от зависти, т.к. у них и близко нет аналога.
Есть ли смысл в java в 2024 году?
Весь интернет сейчас на php, python и javascript, вакансий очень много, новые проекты каждые пару месяцев запускаются, жизнь бьет ключом
А java где сейчас востребована? Что-то вакансий там мало, как посмотрю
Сайтов на ней никто не пишет, походу дороха. Веб-сервисы 2,5 штуки, в основном логистика
Только мобилки, финтех и легаси? И все?
Или я упускаю какой-то огромный скрытый сегмент?
Хочу понять, есть ли сытая жизнь на java в 2024, или java это уже только для дидов осталось, как какой-нибудь lisp, и молодым там ловить нехуй?
Спринг это типа симфони? DI и обвязка?
Или что-то большее?
А почему на си-шарпе нет аналогов? Вроде DI штука элементарная
нету. Джава - это мертвый легаси язык для банковских мейнфреймов типа кобола. Хочешь сытой жизни, выбирай си шарп
Тогда выбирай джаву
42 лвл джава дед репортинг ин. Мой ответ может показаться тебе несколько противоречивым, но все же.
>Есть ли смысл в java в 2024 году?
Нет. Это один из самых убогих и неразвивающихся языков который мне только доводилось видеть.
Я свободно владею еще плюсами, так что есть с чем сравнить.
> java только для дидов осталось
this
>А java где сейчас востребована?
Практически везде в энторпрайзе. Электронный документооборот и прочее говно для банков, бизнеса выше среднего и госпараш как писали так и пишут только на джаве.
>вакансий там мало
Ты куда-то ни туда смотрел. На хх по джаве традиционно охуиллиард вакансий.
>молодым там ловить нехуй?
Молодым в ойти сейчас вообще нечего ловить. Если, конечно, ты не крепкий мидл, способный знать абсолютно все по стеку и еще и решать с ходу задачки с литкода. Спасибо курсам и волкам, требования для вката сейчас настолько высокие, что если ты будушь прилагать эквивалентное количество усилий в любой другой области, то легко достигнешь такого же уровня дохода.
Так что не лезь туда, она тебя сожрет. В целом, это кобол наших дней. Можно зарабатывать нормально если ты дед-пердед и вкатывался как я в 2004. Вкат с нуля сейчас практического смысла не имеет, посмотри на что нибудь более свежее, стильное, модное и молодежное.
Дедушка, а можно к вам? Я кодить умею, даже обслужить могу... ну вы понимаете~ Мне просто на собес к хочеца, очень очень
Культошиз, ты просто нитакусик и ненавидишь все популярное.
Для обычных работяг, а не маминых нигилистов хватает того, что спринг это стандарт и на нем большая часть работы на джаве.
Мириться можно с вещами и похуже. С тем же хибером.
Пук в лужу а не ответ
Тяжело привести аргументы банальных и очевидных вещей.
Как тебе в 2к23 без пегергузки операторов и беезнаковых типов?Ненужоны, наверное, да? Помню свитч для стрингов добавили, вот это был технологический прорыв. А сколько лет ушло чтобы добавить автоматический вывод типов через var? тоже нинужон Конечно, если джаву увидеть первый раз в 2020, то она еще очень даже ничего как милфа в сорокет, лол. А если смотреть как я в перспективе с 2004, то в других языках намного больше всего появилось.
Из неоспоримых плюсов в джаве это очень богатая стандартная библиотека, аннотации и рефлекшен.
>Как тебе в 2к23 без пегергузки операторов и беезнаковых типов?
Первое не введено намерено архитекторами языка. Причем перегрузка существует, стринг тому пример. И беззнаковые типы тоже - шорт.
>Помню свитч для стрингов добавили, вот это был технологический прорыв.
Чего в cpp, кстати, нет. Ахуенный яп.
Ой блять, char. short как раз знаковый тип.
>>А почему на си-шарпе нет аналогов?
Дотнет чем не аналог?
>>Вроде DI штука элементарная
Спринг берут для интеграции всего из коробки, для чистого DI есть вещи попроще.
Не понял вопроса. Ты не понимаешь зачем используется перегрузка операторов или котлин?
Стандартная библиотека, аннотации и рефлекшн почти везде есть, нихуя не аргумент
В плюсы java можно записать только jvm и неплохой оптимизатор - эти двое дают на клыка многим другим языкам, кроме конпелируемых через gcc/llvm
Jvm вообще дает неплохую переносимость: jvm-языков много, под разные задачи, их можно использовать совместно. На других языках такое в принципе невозможно, ты ограничен только одним базовым языком, изредка доступны два
>неплохой оптимизатор
Хуя ты. Это буквально лучший. Назови оптимизации обоссаных gcc/llvm, которых нет в жвм. Вообще про gcc орно, это такое говнище, что даже ошибки нормально обработать нельзя
Так ты можешь скажешь, почему нужно, или и дальше будешь получать мочи в рот, криптошарпей?
То есть единственные твои аргументы это отсутствие перегрузки операторов и беззнаковых типов? Пынямаю, пынямаю. Иди жопу мой.
Не, ну мог бы сразу такой ебейший аргумент прикрепить. Даже обсуждать бы не пришлось ничего.
Ты про это? https://github.com/amelentev/java-oo
Ну например тут нет инкремента. Еще все методы приравниваются к мэджик. Это тоже не есть хорошо. Плюс автогенерация со всеми вытекающими.
Ты попросил аргументы, тебе привели их целых два. Ты, даже не пытаясь как-то встречно оппонировать, сразу порвался и забрызгал говном весь тред. Ну обтекай теперь сиди, чего уж там.
Найс перефорс. Именно что ты нихуя не привел, у тебя потребовали пруфы твоих высеров, а ты в ответ предъявил картиночку.
А по делу что нибудь будет?
По делу что-нибудь скажешь или сольёшься?
Я не про это.
Да ты заебал. Ты написал не транслитерацию, а какую-то хуйню. Идиотина, напиши нормально, по ангельски, а не рунглишом
Если вы про эту хуйню, то она и вовсе хуже, поскольку пытается охватить все и сразу. Еще перегрузка через extension методы. И идиотские названия из латеха похоже. Плюс инкремент как-то по ублюдски сделан. Че и как мне сделать атомики в этом чуде, если у них один метод для префиксной и постфиксной? И плюс все та же автогенерация. Шило на мыло.
>>892612
Куда, зачем? Че ты несешь, хуйлуш? Родителям перезвони, наверняка давно твой голосок писклявый не слышали, а то и вовсе сдохли.
У меня кун есть, которому я нужен. Говори за себя.
Меньше
>>891646
У вас реально все так плохо?
Или тут просто школота резвится?
Мне показалось или это байт на продолжение холиваров? Правилами пр они запрещены. Не хочешь в бане побывать?
Побывал во рту твоей мамаши, проверяй.
>есть смысл учить <язык_программирования_нейм>
Ради вката в ойти и денег — нет.
>джаву
Если уж и хочется программировать, например, ради изменения своего мышления, или для своих задач, то джава лучший язык программирования.
>ради изменения своего мышления
Че несет...
>Ради вката в ойти
Как вкатица, если уже знаешь язык?
Прям вообще? Вот ты говоришь тебе интересно, что я несу, а давай я тебе буду рассказывать, а ты мне поможешь немного. Ящитаю это таки выгодная сделка. Поможем друг дружке.
Больше не повторится, только не увольняйте пжста, у мать больная, собаку кормить надо и вообще армия. Ну войдите в положение, я может вообще матерью стану скоро
Почему я опять стас... Это ты мне про доклад не хотел скидывать? Помню, помню! Теперь и уволить хочешь, ни-ни - фиг тебе.
1. HashMap просто пиздец, просто до оебенения медленный. Если есть желание написать производительное приложение, про него нужно забыть нахуй.
2. Оптимизации JVM и правда работают.
Ну ты че, я помню, что шипилев говорил.
Вопрос тут в том, что если тебе нужна именно хэшмапа, можешь ли ты найти что-то оптимальнее? Сразу исключая случай с идеальным хэшем и пр.
Стандартная библиотека джавы ебёт по скорости и качеству любой другой язык. Нигде больше нет столько качественных и быстрых структур данных, как в джаве.
Я с этим и не спорил.
Запруфаешь бенчом с кодом, где гет у хешмапы больше 6 наносек? Или у тебя калькулятор XX века?
А кто говорил про один гет? Я пут+гет измерял, там 20 наносек выходит.
строка с 1 плейсхолдером: 4279
с 100 плейсхолдеров: 9721
оверхед на плейсхолдеры: 5442
--из него на усложнение парсинга из-за наличия плейсхолдеров: 3073,408
--из него на саму установку плейсхолдеров: 2368,592
----из него на работу с мапой: 2239,092
----из него на всё остальное (создание объекта функции логики: 129,5
Цифры в наносекундах.
Бегать: 6743
Учить джава спринг: 300668
Давай неси перфоманс сишорпа в такой же ситуации. Если там каким-то чудом окажется лучше, тогда тредик пошевелится. Пока мы лучше шарпа - всё ок
1. Какую либу использовал?
2. Каким образом измерял?
3. С чего взял, что раз 95% установки плейсхолдера занимает работа с мапой, то ее производительность ужасная? Есть альтернативы намного быстрее? Не удивлюсь, если 5% там занимает конкатентация замены в StringBuilder.
4. Тестовый код в студию
Тк легко можно быстрее сделать с помощью векторных оптимизаций и идеального хэша. Плюс нет оверхеда на бакеты.
Не понял тебя.
Мне нужна мапа <UUID, Object>. Список сущностей из бд, смапленных по id.
Как это сделать через поле?
Да я моложе тебя блин. И еще у меня куча духов и моюсь я каждый день... Ужас, лишь по себе судишь
Давно ли? Че я позорного сделал?
Нет, я жирный и волосатый. Один раз в офисе сломался кондей, стало жарко.
Как же в отделе потными яйцами завоняло тогда...
Названия разные. Да и апи. Фьюча эт простая защелка. А вот на компьютбл фьючу можно эти, как их.. Колбэки навесить. Там еще куча всяких методов для этого даже.
Ну наверное главная проблема связана с тем, что она делает - колбэки. Callback hell называется. Решает много библиотек на самом деле. Начиная с реактива(Прим: https://spring.io/reactive , https://docs.spring.io/spring-framework/reference/web/webflux.html ), заканчивая корутинами всякими.
Давай заканчивай со своей игрой. Я изначально не собирался к вам идти, и ты и я это понимаем.
Что я конкретно не так сказал?
Блядь, причем тут петушарп? Я не обосрать джаву сюда пришел. Тут суть в том, что алгоритм хешмапы в принципе очень медленный и в либе работа с хешмапой оказывается боттлнеком.
>>893484
1. Свой велосипед.
2. Куча бенчмарков на JMH, которые не просто нахуячены куда попало, а вместе с которыми был проведён анализ.
3. Бутылочное горлышко в хешмапе. Если бы можно было оптимизировать конкретно этот момент в 20 раз, то всего было бы быстрее в 10 раз. К слову, я и не говорил, что хешмапа на джаве реализована хуёво, я говорил скорее что этот алгоритм работает не так быстро, как обычно от него ожидается (везде слышал хвалебные заявления про O(1) у хешмапы, но ни разу никто не жаловался на длительность этого 1).
4. Я еще не дописал, но почти дописал. Вот допишу и выложу. Там буквально на час-полтора работы осталось.
Да,видел у них на сайте,охуенная фича,напротив каждой строчки пишется время выполнения. Но я прогнал свой круд пару раз и нихуя подобного не увидел
Ну хз, я не вижу сколько в тредах выполнялось. Только main. Если ты это ищешь, то она работает искаропки.
Вот это получше, имхо.
Странно,у меня ничего такого не было,я надеялся что там будет вообще все отображено,а не только меин. Ты ничего дополнительно не настраивал?
Не, вообще ниче не трогал. Я крч немного изменил, вроде везде показывает.
Да, вон слева выбираешь. Справа можно даже память казать. У меня если что new ui https://www.jetbrains.com/help/idea/new-ui.html
Извини
Слушай, а это вот не ты только что мне собес провел? Больно уж ты запятые знакомо расставляешь, еще мои словечки используешь. Возможно шиза, но я проста убедится хочу.
Малчишь смотрю, в общем могу сказать, что ты невероятная цундерка. Крч рад помочь. А теперь надо бы реально свалить с треда. Заебало.
>HashMap просто пиздец, просто до оебенения медленный
Может ты туда положил охуиллиард говна с одинаковым хешем? Прост по моему опыту, хешмэп это то немногое в джаве что работает нормально
Не удивляйся, у меня все коллеги на дваче сидят и даже не скрывают. Весь корп мессенджер засран пастами
Хуй знает,я пока не придумал как виртуальные потоки использовать,пользуюсь экзекьюторами. Пусть авторы спринга там оптимизации с ними ебашут
Сап джвач, тут такая тема кароч. А какие вопросы на миддловом собесе вообще задают? А то я блять прошерстил инторнет а там одни индусские вопросы аля "Что такое ООП", "Какие типы данных вы знаете". Можете привести пример тех вопросов которые вам задавали, плес
мимо джун с 1,5 годами опыта
Ты попробуй на собес попади сейчас.
Когда выйдет вальхала - котлин начнут выпиливать из бэка. Как со скалой было когда то.
В вальхалле проверки на нуллы введут в систему типов. По сути хз, че там в котлине останеца.
Взгляд котлина и джавы на нуллы разный. У котлина это фейл-сейф (акцент на '?.'), у джавы фейл-фаст.
В том, что первое лишь отдаляет пиздец, когда у тебя внезапно в ебенях пережёванное миллиардом запросов туда-обратно между десятком баз данных и серверов вылезает выпущенное год назад (буквально) значение нулла, которое ты совершенно не ждёшь, а первое тебе выдаёт ошибку когда пишешь mvn clean install.
>По моему это аргумент не использовать котлин.
А я разве болел за петухлин?
>Действительно, ведь главное шоб пограмисту удобно было.
Программист охуеет через год, когда база данных будет засрана нуллами.
Сейчас бы на null'ах фейлиться лул. Что за программисты нынче пошли криворукие. Юнит тесты пишите что-ли
По делу чё-нибудь высрешь?
Дмитрий Чуйко — CompletableFuture уже здесь
00:15 Введение
• Видео посвящено обсуждению completo был фьючер, который является способом выражения результата асинхронного вычисления.
• Фьючерсы позволяют обрабатывать исключения, возникающие в процессе вычисления, и обрабатывать их в одном месте.
01:12 Примеры использования
• Фьючерсы могут быть использованы для обработки нескольких синхронных задач, которые зависят друг от друга.
• Фьючерсы могут быть созданы с использованием конструктора или с использованием методов комплит и комплитшема.
14:34 Обработка ошибок
• Фьючерсы могут обрабатывать ошибки, возникающие в процессе вычисления, с помощью метода мэн комплит.
• Фьючерсы также могут быть использованы для асинхронного чтения файлов и обработки их содержимого.
15:30 Тонкости использования
• Фьючерсы имеют определенные тонкости, которые могут быть обнаружены при внимательном чтении документации.
16:21 Completo был Фьюче
• Видео обсуждает Completo был Фьюче, который является типом исключения, возникающим при выполнении Completo был Фьюче.
• В случае возникновения исключения, Completo был Фьюче может быть обернут в Completo был Фьюче, чтобы обработать его.
18:14 Completo был Фьюче и Completo был Фьюче
• Видео объясняет, что Completo был Фьюче может быть использован для обработки Completo был Фьюче, если необходимо.
• Completo был Фьюче может быть использован для обработки исключений, возникающих при выполнении Completo был Фьюче.
20:49 Completo был Фьюче и Completo был Фьюче
• Видео обсуждает, как Completo был Фьюче может быть использован для обработки Completo был Фьюче, возникающего при выполнении Completo был Фьюче.
• Completo был Фьюче может быть использован для обработки исключений, возникающих при выполнении Completo был Фьюче.
22:39 Completo был Фьюче и Completo был Фьюче
• Видео объясняет, как Completo был Фьюче может быть использован для обработки Completo был Фьюче, возникающего при выполнении Completo был Фьюче.
• Completo был Фьюче может быть использован для обработки исключений, возникающих при выполнении Completo был Фьюче.
26:19 Completo был Фьюче и Completo был Фьюче
• Видео обсуждает, как Completo был Фьюче может быть использован для обработки Completo был Фьюче, возникающего при выполнении Completo был Фьюче.
• Completo был Фьюче может быть использован для обработки исключений, возникающих при выполнении Completo был Фьюче.
30:11 Completo был Фьюче и Completo был Фьюче
• Видео объясняет, сколько стоит взять и сделать Completo был Фьюче из ничего.
• Completo был Фьюче может быть использован для обработки Completo был Фьюче, возникающего при выполнении Completo был Фьюче.
32:58 Введение в CompletableFuture
• Видео обсуждает использование CompletableFuture в Java 8 для параллельной обработки данных.
• В примере демонстрируется, как можно использовать CompletableFuture для обработки данных, которые поступают из разных источников.
33:49 Преимущества параллельной обработки
• Параллельная обработка данных позволяет значительно сократить время обработки, особенно при использовании нескольких процессоров.
• В примере показано, как можно использовать CompletableFuture для обработки данных с использованием нескольких процессоров.
37:59 Примеры использования CompletableFuture
• В видео демонстрируется использование CompletableFuture для обработки данных из файла и базы данных.
• Обсуждаются различные методы и возможности, предоставляемые CompletableFuture, такие как управление тайм-аутами и обработка исключений.
47:03 Заключение
• Видео завершается демонстрацией работы CompletableFuture в реальном приложении.
• Обсуждается, как можно использовать CompletableFuture для обработки данных и управления тайм-аутами.
Дмитрий Чуйко — CompletableFuture уже здесь
00:15 Введение
• Видео посвящено обсуждению completo был фьючер, который является способом выражения результата асинхронного вычисления.
• Фьючерсы позволяют обрабатывать исключения, возникающие в процессе вычисления, и обрабатывать их в одном месте.
01:12 Примеры использования
• Фьючерсы могут быть использованы для обработки нескольких синхронных задач, которые зависят друг от друга.
• Фьючерсы могут быть созданы с использованием конструктора или с использованием методов комплит и комплитшема.
14:34 Обработка ошибок
• Фьючерсы могут обрабатывать ошибки, возникающие в процессе вычисления, с помощью метода мэн комплит.
• Фьючерсы также могут быть использованы для асинхронного чтения файлов и обработки их содержимого.
15:30 Тонкости использования
• Фьючерсы имеют определенные тонкости, которые могут быть обнаружены при внимательном чтении документации.
16:21 Completo был Фьюче
• Видео обсуждает Completo был Фьюче, который является типом исключения, возникающим при выполнении Completo был Фьюче.
• В случае возникновения исключения, Completo был Фьюче может быть обернут в Completo был Фьюче, чтобы обработать его.
18:14 Completo был Фьюче и Completo был Фьюче
• Видео объясняет, что Completo был Фьюче может быть использован для обработки Completo был Фьюче, если необходимо.
• Completo был Фьюче может быть использован для обработки исключений, возникающих при выполнении Completo был Фьюче.
20:49 Completo был Фьюче и Completo был Фьюче
• Видео обсуждает, как Completo был Фьюче может быть использован для обработки Completo был Фьюче, возникающего при выполнении Completo был Фьюче.
• Completo был Фьюче может быть использован для обработки исключений, возникающих при выполнении Completo был Фьюче.
22:39 Completo был Фьюче и Completo был Фьюче
• Видео объясняет, как Completo был Фьюче может быть использован для обработки Completo был Фьюче, возникающего при выполнении Completo был Фьюче.
• Completo был Фьюче может быть использован для обработки исключений, возникающих при выполнении Completo был Фьюче.
26:19 Completo был Фьюче и Completo был Фьюче
• Видео обсуждает, как Completo был Фьюче может быть использован для обработки Completo был Фьюче, возникающего при выполнении Completo был Фьюче.
• Completo был Фьюче может быть использован для обработки исключений, возникающих при выполнении Completo был Фьюче.
30:11 Completo был Фьюче и Completo был Фьюче
• Видео объясняет, сколько стоит взять и сделать Completo был Фьюче из ничего.
• Completo был Фьюче может быть использован для обработки Completo был Фьюче, возникающего при выполнении Completo был Фьюче.
32:58 Введение в CompletableFuture
• Видео обсуждает использование CompletableFuture в Java 8 для параллельной обработки данных.
• В примере демонстрируется, как можно использовать CompletableFuture для обработки данных, которые поступают из разных источников.
33:49 Преимущества параллельной обработки
• Параллельная обработка данных позволяет значительно сократить время обработки, особенно при использовании нескольких процессоров.
• В примере показано, как можно использовать CompletableFuture для обработки данных с использованием нескольких процессоров.
37:59 Примеры использования CompletableFuture
• В видео демонстрируется использование CompletableFuture для обработки данных из файла и базы данных.
• Обсуждаются различные методы и возможности, предоставляемые CompletableFuture, такие как управление тайм-аутами и обработка исключений.
47:03 Заключение
• Видео завершается демонстрацией работы CompletableFuture в реальном приложении.
• Обсуждается, как можно использовать CompletableFuture для обработки данных и управления тайм-аутами.
Для меня вообще странная ситуация с нуллами в бд. Разве это не ответственность администратора бд, который уже написал необходимые check и триггеры, чтобы никакая макака не запихнула туды нулл?
Лол. Админитсратор бд. Который не администрированием занимается, а разработкой констрейнтов и триггеров. В команде у которой пару десятков сервисов и баз и они раз в неделю что-то меняют в одной из схем бд. По желанию левой пятки бизнеса.
>У него компетенции не хватит же
Тогда администратор бд превращается в подбирателя говна за макаками.
>Че реально такое происходит?
А ты думаешь почему о нуллах так много ноют?
Чел, в твоей парадигме на трех беков надо по базисту. Никто такой хуйней заниматься не будет. В мелких и средних конторах может не быть базиста вообще. В крупных соотношение с беками тоже не такое.
>Да тут о всем подряд постоянно ноют.
Да я не только об этом треде. О нуллах ноют и в больших интернетах.
Ну а не в моей парадигме, судя по всему, ддл составляют какие-то макаки. Круто че.
>Это он определяет инваринты для сущностей, а не пограмист.
То есть мне все ликвидбейз миграции должен базист писать? И всем остальным в компании на разных библиотеках и языках тоже?
Такие вопросы интересные задаешь. Ну я думаю да. Ну или хотя бы код просматривать.
Я думаю базист даже хуже справится. Потому что внезапные нулы бывают из-за всяких шатаний в бизнесе.
Вчера поле было нулабл. Сегодня ненулабл. Потом еще раз нулабл. Десять раз снимают/меняют/перемещают валидации. А потом оно через год в одной записи на миллион отъебыает.
И я, как разработчик этого говна, знающий где валидации и какие есть преобразования могу хоть как то это контролировать.
А у базиста не будет всего этого контекста. Зато вместо баз 3-5 сервисов - у него будут базы полусотни.
что за хуйню ты пишешь с дивана. Администратор БД физически не может разобраться во всех продуктовых фичах и всех деталей реализации этих фич которые несколько программистов ебашат. Администратор БД не должен DDL за разработчика делать потому что разработчик пилит фичу и разбирается как она устроена.
Максимум разработичк может консультироваться по решению и на ревью давать сложные SQL запросы
>Вчера поле было нулабл. Сегодня ненулабл. Потом еще раз нулабл.
Ссылочку на риа.ру пожалуйста.
>>894467
неверно. у котлина и фейл-сейф и фейл-фаст. если тип объявлен как не-наллабл то либо компилятор не даст совершить тебе запихнуть туда null (фейл-сейф) либо если данные приходят из внешнего источника - бд, апи - то исключение вылетит сразу же (фейл-фаст).
История и с тем как null значение идет по 9 кругам ада пережевывается и стреляет после - это про джаву, тк там исключение будет не в моменте первого появления (напр. десериализации), а где повезет (где будет к ней первое обращение либо явная проверка)
Долбоёб даже не знает, что значит фейл-сейф, пиздеееец. То, что ты назвал фейл-сейфом это идеальный фейл-фаст. У котлина бы работала эта компиляторная приблуда, если бы они обозначили все типы от джавы как нуллабле. Но, ВНЕЗАПНО, все типы от джавы считаются безопасными и проверки на нулл от джавы не нужны. В итоге имеем те же самые NullPointerException + убогий '?.'.
Не пиздел бы про то, о чём понятия ни малейшего не имеешь, шарпопетух.
Под var может оказаться не тот тип, что ты ожидаешь. В большинстве случаев это раскрывается тут же, потому что нужные методы не вызываются и вылезает ошибка компиляции. Также с var есть проблема в дружбе его с diamond operator. Они вообще не дружат, но это тоже (в большинстве случаев) быстро раскрывается, потому что инстанциация объекта просто не происходит.
Допустим. А сам по себе даймонд-дженерик в твоей системе ценностей - насколько большое зло?
Большое добро, так как с ним вообще нет неоднозначности, всё явно выводится из того, что ты написал в начале.
Ты в этом так уверен?
Никогда не сталкивался с косым выведением вложенных дженериков в стримах, например?
Везет тебе.
Ну ок, вот var - локальное зло по твоему. А ты статик-аналайзером бы стал его запрещать?
Я на собес что ли попал? Иногда использование var резонно, например с Function4<String, Optional<String> /arg/, Supplier<String /initialPhForm/>, Throwable, /->/ STRING>. Позитивных последствий от запрета var не сильно много, негативных не сильно мало, в которые также входит ухудшение атмосферы на рабочем месте из-за запрещений.
А что? Не ожидал такого поворота событий? Ты эмоционально заряженный вброс про вар сделал чтобы что? Срач разжечь на двачиках, жопы подорвать?
Принято. Спасибо за взвешенную позицию.
>>Для меня вообще странная ситуация с нуллами в бд.
А потом когда покупаешь симку - оператор там каждую буковку из паспорта перерисовывает, ведь если код мухосранска не написать, то регистрация валидацию не пройдет - ведь так нул попадет в базу.
А если вдруг у чела нет постоянной прописки - то идет нахуй, когда пропишетесь тогда и приходите симку покупать.
Объясни ньюфагу чяднт.
Дано:
В серой сети есть хттп-апи по адресу https://huita.org.ru/api, который разрешает запросы только с определенного хоста eblan.org.ru. Есть ssh на eblan.org.ru с моего компа.
Найти:
Нужно из спрингбутового приложения 3 версия, запущенного на моем локальном хосте делать запросы к https://huita.org.ru/api.
Решение как я его вижу:
Коли есть ssh до eblan.org.ru, делаю туннель:
ssh -L 8888:huita.org.ru:443
Теперь на локальном хосте из спрингбута через RestTemplate делаю запрос к https://localhost:8888/api, получаю ошибку:
>javax.net.ssl.SSLPeerUnverifiedException: Certificate for <localhost> doesn't match any of the subject alternative names: [*.org.ru, org.ru]
Принимаю решение отключить проверку SSL. Делаю все по красоте - копирую реализацию из интернета - https://dirask.com/snippets/Spring-Boot-3-RestTemplate-with-ignored-HTTPS-SSL-certificate-ignore-untrusted-certificates-1bQZJj
Результат - та же ошибка.
При этом, если делать тот же запрос курлом с опцией --insecure, то все работает без проблем.
Где я проебался, джавач? понимаю, что в выборе професси, ну хуле щас поделаешь
Ну эти валидации нужны не провайдеру, а государству. Если они нуллы отдадут туда, то им пизды вставят и лицензию отзовут.
А так, данные которых не существует, можно так и обозначать, ибо closed-world assumption. Типа, просто не делать запись в табличке ПРОПИСКИ ЮЗЕРОВ и усе.
Тем, что нужно запросы делать из спринга, в котором для хттп-запросов есть встроенные возможности, а костыли городить не хочется.
Да и интересно очень какого лешего так происходит.
Тебе шашечки или ехать?
Сделай ls -la на этом "файле". Возможно это - символическая ссылка, указывающая в никуда.
Эй привет,видел тебя на демо,ты очень сексуально молчишь,не могла бы ты записать видео что пупуни самые лучшие?
Именно так. Идеально будет, если ты ее начальник. Можешь все вопрос игнорить.
Я бы для пердоликса поставил оригинальный openjdk или на крайняк адоптиум. Если мне не изменяет память, я тоже как-то ставил либерику на пердоликс (убунту), и там были какие-то проблемы.
хочешь сказать, что не был?
сосите хуй
>Работаю третий месяц
Как смог? Ты из дс?
>За годы без работы я пропылесосил столько книг и курсов,что преисполнился.
Списочек?
То есть просто работать и нихуя не учить?
Меня там взрослые дядьки не заклюют? Больше боюсь не код на проде писать, а общаться с 30+ лвл Java-skoof'ами.
Пердикс, плиз.
>неплохо изучал Java
Бля, откуда вы беретесь? Ответишь? https://2ch.hk/pr/res/2853076.html#2853444 (М)
>общаться с 30+ лвл Java-skoof'ами
А вот по поводу этого жизнена. Они меня даже тут постоянно клюют и душат. Впрочем ты постарше меня, мб ситуация лучше будет, хз.
Ну вот опять! Один раз что-то необычное сделал и все, клеймо на всю жизнь. Ну это невозможно просто. Вот сделаю калькулятор, увидите еще! Хотя я еще хочу эмуляцию конкретных процессов сделоть... Правда пока не придумал как.
>>ты шизоид
Недавно посмотрел видос про психотипы, чел так и сказал - все толковые программисты - шизоиды с манямирком.
Книги эти,плюс серия In Action(Говнище). Вообще из всех на скрине достойны внимания только кафка и спринг паттерны проектирования,остальное юзлесс. Курсами с тобой смогу только вечером поделиться,там в один скрин папки не влезут
>>896500
О, книги по проектированию, пасиба, наконец узнаю как оно делается.
>In Action(Говнище)
Чому говнище? Из тех, что я читал, а это спринг ин актион, жпа и хибер ин актион вполне топовые. Правда мне больше понравилось отсутствие кучи страничек на объяснение очевидной хуйни и замалчивания тонких моментов. Типа, а, да хуйня. Правда больше всех мне зашла jcip. Можно сказать все знания структурировала.
Но по качеству изложения, они все не дотягивают до книг кнута.
Потому что серия ин экшн это беглый обзор. Даже на курсах спикеры лезут в кишочки и поясняют что и как устроено внутри
Плюс микросервисы в действии это вообще обзор спринг клауда,в то время как практики для профессионаловкекус максимус это обзор всего спринг бута
>>896513
А мы точно про одни книги говорим?
Я про эти, ес че:
https://github.com/andriyanov-roman/planet/blob/master/Craig%20Walls%20-%20Spring%20in%20Action%204th%20Edition%20-%202014.pdf
https://www.manning.com/books/java-persistence-with-hibernate-second-edition
https://leon-wtf.github.io/doc/java-concurrency-in-practice.pdf
Хотя тут ин экшн ток одна, но ниче.
Мне она оч зашла. Ты еще авторов глянь.
Минусы в том, что тебя клевать будут. Но я не верю, что я шизоид, да и видосы про плюсы шизоидности не видел.
Не всегда выбор есть. Вон в шарпотреде тож есть челик, который что-то писал. Чистейший игнор. Так что.. Не все так плохо, я рофлю больше на самом деле...
По мне так плюсов больше даже.
гипертим - экстраверт с нетворкингом и скошенным лбом
гипотим - нытик и терпила. умеет в куа и всякую рутину
шизоид - аутист с манямирком, глыба - единственный кто умеет творить шедевры и двигать науку
элиптоид - стремящийся кабан-спортик, четкий пацан, лоб вогнутый
эмотив - кабан-скуф, баня, рыбалка, нужный человечек все устроит
параноял - кабан-довитель-угнетатель
истероид - атеншенхора, анимешник, скетчешиз
тревожник - тряска, первый съебывает в какарачастаны, дрочит алгосы ведь без них не берут
Мне стыдно просто двигать таски,плюс я уверен что через год в таком графике я забуду абсолютно все и потом хуй найду место пожирнее
Что ты этим сказать хотел?
Кстати, надеюсь ты помнишь, что это именно ты попросил меня выложить результат. Понравилось хоть?
Не всем дано, шарпомуш.
Спринг сам по себе поверхностная хуйня и знать там нечего. Весенних акций хватит.
Ясн, спасибо, буду читать дальше
А есть книга поясняющая куда код писать?
P.s Пишем очень большую ERP систему.
Сейм хуйня. Пиздец интересно разбираться в этой бизнесовой предметной области, но дается тяжко.
Да, бля, я включаю, но просто вещи такие, которые я пока что не нашел где изучить, кроме как узнать у другого человека.
> показываю своему лиду, на что он говорит, что с точки зрения кода - все норм, но реализация бизнес-логики, не верна в самой таске, после чего идет созвон лида, меня и ПМ
Опиши свои чуйства после этих созвонов, по шкале от "бля, действительно, был не прав по существу, пацаны все по красоте разьяснили" до "сцук, ток проебал зазря часы своей жизни на очередной ебанутый созвон с петушарами тупорылыми, лучше б их не существовало".
Цимес в том, что у вас нет явного архитектора, и роль проектирования архитектуры тянет на себя, скорей всего, лид. И если лид адекватен - его и спрашивай: каким раком он рассуждает, и как научиться так же.
А если нет - становись сам архитектором, еби гусей через колено.
Ну смотри. Если таски одной-двумя строчками.
1. То идешь и разбираешься, читаешь задачи внимательно, что в эпике написано, можно соседнюю задачу. Читаешь доку если есть.
2. На основе своего первоначального понимания пишешь себе в таске алгоритм решения словами без технических терминов. Спрашиваешь все незнакомые термины на которые нет доки. То есть пишешь себе тз.
3. Потом скидываешь это в общий чат пму и лиду. Просишь вычитать и сделать правки. Они поправляют.
4. Ты идешь и смотришь код. Если не до конца понятно куда писать код - скидываешь непонятные моменты кода и пишешь свои предположения лиду. Он тебя поправляет.
5. Пишешь код.
6. Ревью кода. Правки и деплой.
Желательно реально делать все в чате и текстом. Если говорят идти на созвон, то сопротивляешься до последнего.
Если переписка в чате текстом:
1. Лид с пмом не смогут потом напиздеть, что они объяснили правильно, а ты просто тупой и не понял, если они реально хуево объясняли.
2. Ты сможешь перечитать это несколько раз.
3. На основе текста чата можно написать хотя-бы частичную доку.
Но все равно они конечно будут уводить тебя на созвоны, потому что им описывать текстом лень. Это надо сесть и четко сформулировать, сделать скрины, четко понимая что скринить. А не быстро по памяти что-то спиздануть и быстро-быстро показать на экране что-то.
Вполне вероятный вариант. Точнее, что на одном из шагов почти точно пошлют нахуй.
Тогда на шаге после посыла нахуй делаешь, как понял и ревьюер исправляет логику во время ревью. Как у того анона и происходит.
Но у тебя будет отмазка, почему ты неверно что-то сделал. Потому что коллеги, которые в контексте бизнес-процессов отказались уточнять тз.
Нет, очень активно.
Все иди нахуй,джава гораздо хуже чем сишарп
Нет. Это свойство события прихода строки. А сама строка - другое свойство. И в строку я не смотрю.
У меня кроме меня и лида в команде из 10 тел - все зумеры до от 20 до 25.
https://2ch.hk/pr/arch/2023-10-05/res/2756391.html#2815371 (М)
У меня тут вечный бан по провайдеру, извени, что так долго~
Ех, вот бы к вам...
>>и ревьюер исправляет логику во время ревью.
Или не исправляет, а апрувит (я сам как ревьюер бизнес логику не проверяю - это надо вникать в задачу, я смотрю только чтоб говнокода и программерских ошибок не было). А 100500 замечаний получишь уже на тесте.
>>Но у тебя будет отмазка
И репутация говнодела, задачи которого по 5 раз с тестов возвращаются в доработку
>>коллеги, которые в контексте бизнес-процессов отказались уточнять тз.
Хуя предьява - тебе скажут тебе предлагали все рассказать, но ты уперся и отнекивался от созвонов, а теперь пытаешься свои косяки на других перекинуть. Будешь выглядеть жалким.
Вообще если все можно что то описать парой абзацев, скрином, ссылкой на схему - то скорее всего аналитик тебе не откажет - описать задачу все таки его работа.
Но если ты принципиально отказываешься, когда он предлагает пошарить экран и показать как фича работает - тот тут сам себе враг. видео запиши и пересматривай, если забываешь
Я не говорил, что нужно отказываться от созвонов. Нужно продавливать общение текстом. Не говоришь "тут что-то непонятно по постановке". А заранее расписываешь ему длинный список вопросов или твой план алгорима от 1 до n. И кидаешь ему текстом. Он в ответ через пару часов:
- Сейчас объясню на созвоне.
- Может текстом?
- На созвоне проще.
- Ну ладно.
И ты каждый раз предлагаешь текстом. Иногда может прокнуть и он ответит текстом. А даже если будет созвон, то после расписанных вопросов ответы запомнить проще.
>но сейчас он уже неумолимо отстаёт от джавы по фичам
АХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХАХХ
Ну давай, пиздани про линку. Или еще какое говно
А где я говорил про паттерны?
Я говорил про уточнение требований.
А по бизнес логике ходить спрашивать это обычно требования самих менеджеров. Можно конечно самому по коду разобраться. Но это нужно читать очень значимый кусок кода. А если это микросервисы, то и ещё дольше.
В условиях скрамов код таски должен быть готов в от дня-двух на среднюю таску в сотню строчек продуктивного кода.
Как у вас вообще происходит что ты начинаешь педалить какой-то код под задачу которые тебе тупо скинули манагеры и лид не отбивает что там должно происходить? Это же по идее его работа - преобразовывать хотелки в некую тех спецификацию. Не на 100% детализированную, но в общем.
>после чего идет созвон лида, меня и ПМ, где они решают как по итогу эта ебола должна работать
Такого не должно быть. Значит они где-то проебались. Ты в этом точно не виноват. Просто попробуй сесть во всем этом кале реально разобраться и ты будешь и лида и пм вращать на кожанной оси.
У меня на начале карьеры был реальный случай. Гигаскладскую поебень переносили на планшеты со свинга. Вместо планирования клоунада, что мне потом пришлось самому по этим складам ползать и разгребать как это работает. Потом мне еще закинули охуенное техническое решение, которое потом по факту вообще не могло работать. Что мне потом пришлось делать собственные выкладки и идти доказывать этим деганам, что так работать не будет вообще.
Сплошь и рядом такое, че тебя удивляет. Некомпетентность в айти давно достигла верхов, и ты либо переспрашиваешь, либо тридцать раз переделываешь, либо вечно сидишь на митингах с клоунами и пидарасами.
Я не шарпист, просто проиграл с мнения, что жаба обгоняет шарп. Хотя шарп меня устраивал бы как язык, в отличии от доисторической жабы. Тряска отсутствует.
Причем тут конструкторы и бесконечные циклы, лол? В жабе конструкторов и бесконечных циклов нет?
Что пупуньки думают по поводу Брюса Эккеля "Философия Java"? Стоит того? Или лучше Джошуа Блоха навернуть?
Поясни хоть от чего у меня должно бомбить по твоему мнению, я реально не понял аргумента с циклами и конструкторами.
Ну конструкторы это они про ломбок наверняка. А вот бесконечные циклы хуй знает. Может стримы, нооо... В общем как всегда хуйню пизданут и малчок.
Чел, я буквально ненавижу делать все что я описал. Ненавижу митинги по треть рабочего дня. Ненавижу переспрашивать. Ненавижу готовиться переспрашивать. Но если ты не будешь всего этого делать успеть в спринт просто нереально.
Если лид с пмом так к постановке подходят, что тут можно еще сделать, кроме увольнения?
Расскажи свой алгоритм действий, когда к тебе приходит постановка в пару строчек бизнес-задачи, а никакой привязки абстрактных бизнес-процессов к реализации, например доки нет. И на все попытки пропушить написать ее хотя бы частично воспринимаются, как оскорбление.
Я такое и сам видел в нескольких местах и от знакомых слышал.
Сейчас когда такая дата десериализуется ZonedDateTime-ом, получается вот это 2023-01-01Т20:33:33Z[UTC], а в jsonb записывается 2023-01-01Т20:33:33Z. Т.е. он приводит всё в UTC, хоть его никто не просит. Можно как-то настраивать другое дефолтное поведение?
>Сейчас когда такая дата десериализуется ZonedDateTime-ом, получается вот это 2023-01-01Т20:33:33Z[UTC], а в jsonb записывается 2023-01-01Т20:33:33Z.
Чем десирализируете? Там для каждой сраной либы есть возможность поведение десирализации заоверрайдить.
>>900987
>У нас не JPA. Чистый sql.
Ебанутые.
Ну он не копирует доки в книгу. У него еще терминология вроде раскрывается. Как справочник мб...
Что? Пару лет назад хибер на спринг дате вообще не работал из коробки с jsonb. Приходилось васянские либы с костылями тянуть. Но чаще просто не пользоваться jsonb.
https://stackoverflow.com/questions/25738569/how-to-map-a-map-json-column-to-java-object-with-jpa
А у жука там пишешь простенький конвертер и все. Накидываешь аннотацию джексона и ковертишь. Почти также, как с jdbc типами.
Может в 6 хибере стало лучше, но я его не трогал.
>Что?
Заебал твой жук, говорю. Какая в жопу разница, насколько на нем все удобно и распиздато, если им никто блять не пользуется?
Бля буду, в шарпе еще удобнее. Че ж никто не перекатывается
Я тут не спорю. В вакансиях на 40, где жук указан около тысячи с явно указанным хибером. На деле разрыв ещё больше.
Ну чел сказал, что без жпа это делает. На голом ждбс это делается тоже легко.
А на современном хибере как? Я слушал доклад про хибер 6 в полуха, но руками не трогал. Как там в спринг дате с хибером 6? Как раз скоро нужно будет к jpa возвращаться.
>А на современном хибере как?
Мне непонятна задача и каким боком тут вообще хибер.
>тысячи
Эх, вот бы хоть на одну попасть...
Ну и мы перекатываем некоторые сервисы с хибера на жук.
Да и пару лет назад, когда я с жуком познакомился вакух с ним было ещё меньше. Я верю, что жук и дальше будет расти и наберёт ну десятую долю от хибера. Но это нескоро и неточно. Хибер это все таки стандарт и на нем тонны легаси. Но новое на жук перевести вполне можно. Их со спринг датой под хибером можно даже временно вместе держать. Дописывая новые методы на жуке, вместо hql и критерии. Плюс начинать писать изъебистые запросы, которые на критерии не напишешь. А потом и старое переписать и выкинуть нахуй хибер и спрингдату.
Если микросервисы и есть свобода хоть какая то - жука можно и самому затащить.
>Я верю, что жук и дальше будет расти и наберёт ну десятую долю от хибера.
А я тогда буду верить, что нет. Мне его идея вообще претит. Нахуй он нужен, если есть условный jdbcTemplate? Который тоже ни на что не претендует, мол вот, sql чистый.
Типобезопасность при билдинге запросов, автокомплит в идее, не опечатаешься в запросе внутри строки. Намного меньше бойлерплейта при маппинге, чем в роумапперах jdbc. Информация о схеме бд у тебя в коде.
Из минусов только то, что при изменении схемы надо перегененировать жуковский код.
>Приходилось васянские либы с костылями тянуть.
Нет. Там спокойно тайп адаптер пишется и все. Васянские либы туда тянутся чтобы адаптер был один на всех. Но кстати он переодически обсирается.
>А у жука там пишешь простенький конвертер и все.
В Ebean даже этого делать не нужно. Просто пишешь @DbJsonB и используешь. Можешь даже запросы писать без использования нативного sql.
Ну можно сказать легко, что это все нинужно. Я хочу полностью чистый sql, без даже малейших попыток в орм, в виде типобезопасности.
>автокомплит в идее, не опечатаешься в запросе внутри строки
Это тестами покроется.
Кстати, а как темптабличку в жуке создать? Ну вот скажем надо создать темптабличку копию существующей, что-то туды записать, смерджить с реальной и дропнуть временную.
На чистом сикуэль:
CREATE TEMP TABLE TEMP_CARS (LIKE CARS INCLUDING DEFAULTS);
INSERT INTO TEMP_CARS ...;
INSERT INTO CARS SELECT * FROM TEMP_CARS WHERE ...;
DROP TABLE TEMP_CARS;
На хибере это вообще нереально сделать.
Спасибо, почитаю, потыкаю. Работал с хибером только на крудах с очень простыми схемами. Когда интересовался - везде было нытье, что это дроч и лучше вообще не пользоваться jsonb с хибером.
Я-то откуда знаю, от чего ты сдетонировал?
https://www.jooq.org/doc/latest/manual/sql-building/ddl-statements/create-statement/create-table-statement/create-table-temporary/
Никогда не пользовался временными таблицами. Обычно из селектов просто собирал.
Ну не копировать же руками все поля и их правила...? Или копировать, серьезно? Хотя судя вот по этому https://github.com/jOOQ/jOOQ/issues/8524
Там какие-то ахуительные костыли делают.
Можешь конкретно этот функционал на raw sql написать, а потом смаппить. Он ничего не поломает. Тут же никаких кешей нету.
Да я уже на хибере и так это сырой написал. Смысол? Думал воот, ща хотя бы эту хуетень заменю. Ан нет.
Можете прямо кодом написать? @JsonFormat(pattern="", timezone=""); а я скажу с каким эксепшеном это упадёт.
>jdbcTemplate
Спринговый костыль для внутренних нужд? Тебе его завтра спринг депрекатнет, как было с RestTemplateом, и будешь клювом щелкать, как подбитый аист.
JDBCClient
Идеей.
ant
Отбой вопроса. Gradle на сборке пустого проекта 6 гигов ОЗУ сожрал, лол. Буду make-файлом собирать, пока что проект не разрастется до большого, а там уже посмотрим.
Да проблема даже не в жоре памяти, а в большой нагрузке, которая наваливается на неофита вроде меня, когда вместо изучения языка и работе с ним, тебе приходится ебаться с монструозной системой сборки и учить DSL для описания конфигурации. Как с самой жабой разберусь, мои проекты пожирнеют, потыкаю палочкой котлин, тогда и буду смотреть в сторону систем сборки.
Мавен используй. В рот ебал градл, тупо поделка школотронов-нитакусиков. А тут просто ебошишь xml дидовский.
>Буду make-файлом собирать, пока что проект не разрастется до большого, а там уже посмотрим.
Посмотрели. Мне относительно недавно перепала чья то жирная легаси-поделка, собираемая CMAKE-ом, лол. Наверное челик который ее лабал руководствовался такой же логикой.
>Мне относительно недавно перепала чья то жирная легаси-поделка, собираемая CMAKE-ом, лол.
Ну и как экспириенс?
Да
Хуже и непонятнее. Шилдт и сам в жаве не шарит, а книги пишет. Хорст Вессель - топчик.
Horst Ludwig Wessel, 9 октября 1907 — 23 февраля 1930) — нацистский активист, штурмфюрер СА, поэт, автор текста «Песни Хорста Весселя», позднее ставшей гимном НСДАП.
Ой, у нас тут похоже на 282, кто-то решил заехать. Мочератор взять его.
Как по тред дампу определить, какой поток выел память?
Тебе вот так приходит
> 2023-01-01Т20:33:33Z
? Это iso8601 формат. Там паттерн типа такого должен быть
pattern="yyyy-MM-dd'T'HH:mm:ssX" Timezone можешь не выставлять, у тебя UTC, он по дефолту установлен, если не химичили с objectMapper
Мне как раз и не нужен UTC, мне надо чтобы пришла дата с поясом, вот как она пришла, ее провалидировать, не меняя пояс и значение времени, потом её же засунуть в jsonb.
Мне как раз и не нужен UTC, мне надо чтобы пришла дата с поясом, вот как она пришла, ее провалидировать, не меняя пояс и значение времени, потом её же засунуть в jsonb.
Герр Хорстманн - джава чемпион. А Шилдт вообще непонятный хер, который нихуя джаву не знает, поэтому копипастит доку.
>копипастит доку
База. Вообще не понимаю нахуй его читать, если есть оракл туториал, авторы которого имеют компетенцию просто на порядки выше чем у шилдта.
У него нет программ на джаве в книге по джаве.
В общем сложилось впечатление, что это очередная зумерская никому не нужная технология.
>очередная зумерская никому не нужная технология
А назовика еще такие технологии. Виртуальные потоки и остальное из жэбы 21 в них входит?
>А назовика еще такие технологии
голенк, сишорп
> Виртуальные потоки и остальное из жэбы 21 в них входит?
нет. Джава и сама жвм - это вершина технического и инженерного развития языков программирования.
>Джава и сама жвм -
На счет джавы не согласен. Я бы, например, хотел концепцию владения из сраста. Еще вэлью тайп. Молчу про проблемы с наллами да и вообще не самую удачную систему типов. А вот жвм скорее всего да, самый продвинутый оптимизатор.
Это не имеет значения. Используй этот же паттерн. Просто не используй timezone и сохраняй дату как LocalDateTime. Этот X работает по разному в разных случаях, если тебе передают UTC, то он определит это по обязательному символу Z в конце, если другой часовой пояс, то он его распарсит как таймзону.
RTFM: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html
По факту говорят, мавен медленная хуета, все пупуни сидят на градле
В смысле легковесные потоки не входят в go? Горутины это они и есть, в го это было еще до того как стало модным.
Тем более это сайт гита. Если ты не знаешь его зеркал - твои проблемы.
>Мавен же хуями кроют. Мол медлена, инкрементальной сборки нет и пр. пр.
Хз. Все равно большая часть сборки у меня забирает прогон интеграционных тестов. Полторы минуты у меня на машине и шесть/семь на пайпе. Если вкатываются изменения их в любом случае нужно запускать.
>>902169
А че там? Кто кого ебет?
Пиздос... Выходит ява действительно гораздо хуже, чем шарп...
мимо другой
>С наллами проблемы только у тех, у кого руки из жопы растут
>а вот пупуни нашли способ через wildcards скомпилировать что-то, что выплевывает JVM
>We present short programs that demonstrate the unsoundness
of Java and Scala’s current type systems. In particular,
these programs provide parametrically polymorphic
functions that can turn any type into any type without
(down)casting. Fortunately, parametric polymorphism was
not integrated into the Java Virtual Machine (JVM), so these
examples do not demonstrate any unsoundness of the JVM.
Nonetheless, we discuss broader implications of these findings
on the field of programming languages.
Ах ты!
Неплохо, правда в IntelliJ удобнее - сразу можно на нужную строку прыгнуть в тестах
Такой запрос "2019-11-22T23:36:46+0300"
По твоему паттерну, если LocalDateTime, то при десериализации приходит 2019-11-22T23:36:46, т.е. пояс он выбрасывает, а при попытке положить в бд эксепшен JsonMappingException: Unsupported field: OffsetSeconds (through reference chain: ru.tii.uncm.services.model.dto это связанно с тем, что LocalDateTime не работает с поясами.
Если ZonedDateTime, то при десериализации 2019-11-22T20:36:46Z[UTC] в бд вот такую херню ложит "2019-11-22T20:36:46Z".
Fucking manul прочитал, нового там ничего нет.
Не хочешь делиться значит... Давай обниму?
На ci идеи нет.
К рукожопости получающих null и проблемы с типами на выковырянных из жеппы кейсах
>на выковырянных из жеппы кейсах
Блять, если они есть, это уже проблема. Причем решить так просто, с наскоку ее нельзя. Например проблемы с мокито будут, там тоже налл используется в виде any(). У котлина с ним проблемы, например.
Да и похоже решать это никто и не будет, пока что:
>Because there currently seems to be no principled solution to all these sources, they have deferred fixing the issues, for now relying on the JVM to catch the complex corner cases at run time.
Поэтому я и говорю, что жаба далеко не лучшая. Куча проблем просто. А вот жвм реально претендует на это место. Причем с этим будет спорить очень малое количество людей, ну или не шарящие.
Кстати, если б не стирание типов, все было куда хуже. Так что вот еще один плюс.
Как часто говорит Брайан Гоетц, их принцип в том, что они иногда не запрещают делать глупости с использованием языка (чтобы не ныли об ограничениях).
Но мне кажется, что код в этой статье неграмотный, открой его в Idea
>что они иногда не запрещают делать глупости с использованием языка
Ну в статье как раз говорится, что слишком много позволяется, нужны ограничения. Но пока неизвестно, как их ввести так, чтобы ничего не сломалось.
>Но мне кажется, что код в этой статье неграмотный
https://io.livecode.ch/learn/namin/unsound?img=java9#cb32d4994710d626c877d2387712be99
+ пик. Хз про что ты, все работает. Еще блох вот подтверждает.
Вообще была от них же статья помню, которая для маленьких пупунят все поясняла. Но чет не нахожу сейчас.
Но в общем-то там писалось, что это ошибки внутри компиллеров, тогда как по спеке усе верно. А уж про то, что анализатор какой-то там ошибается, не похуй ли?
>но идея подсвечивает ошибки наверняка
По спеке все верно. Идея ошибается в этом случае. Или она лучше спеки все знает?
Чет короче похоже не найду эту статью блин. Ну с моих слов, есть разные случаи, когда что-то позволяется в языке. Например гетц подразумевал raw types. Т.е. ты сознательно отказываешься от гарантий, мол я лучше знаю. В этом случае, ты ни от чего не отказывался и компилятор все пропустил. Это не было расчитано разрабами жэбы, потому это проеб в системе типов.
>для маленьких пупунят
О, эт я, да. Я все равно вижу тут говнокод, который Блок любит собирать.
Ну, чисто в исследовательских целях это полезно, но на практике те кто так сделают, сделают это "злонамеренно".
Как куртку на ноги натянуть.
Короче, надоело ждать ответов твоих. Надо писать кастомный десярялезатор под мои задачи. Иначе он при парсинге время в UTC ВСЕГДА сетит. Вы не правы, вссего доброго.
>медлена
Харкнул с разбега в ебальник. По 20 минут ждать, пока скачается версия 7.3.3.2.6.1.1.5.8 у дегенерадла и самособерётся это не "не медленно".
>инкрементальная сборка
Распиаренное говно, которое в реальности не используется и не нужно. А для мавена есть, к слову, плагин или какая-то ещё хуйня, которая позволяет делать инкрементальную сборку и на мавене.
>мавен же хуями кроют, от дегенерадла кипятком ссут
Если ты быдло, который думает не своей, а чужой башкой — дегенерадл для тебя. Только в таком случае тебе бы ещё из джавы выкатиться в петухон, тоже много долбоёбов, кроющих хуями джаву из-за собственной тупости. Я бы мог тебе объяснить, почему они кроют хуями мавен, но это долго, объяснение идёт вглубь аж до 10 века истории.
>но это долго, объяснение идёт вглубь аж до
Давай, мы не торопимся. Или твое время дорого стоит? Могу это, натурой отплатить
Не трогай своими кривыми культяпками то что уже давно написано нахуй. Подключи JavaTimeModule к джексону и в хуй не дуй.
Уже написал. Всё работает. Мне за эту разработку такую премию дадут.
Вот годная статья, и очень ностальгическая, в бородатые времена, когда я только-только знакомился с джавой, и имел старый fx-4100 как процессор мне она сильно помогла. https://habr.com/ru/articles/304164/
Говорят она и толики градловской не стоит. Да и вообще кривая, что-то уровня loop из asm.
Чем-то аргументировно такое мнение или "ну тип ни можит жи быт мой соивый дегенерадл медленнее мавена?))"
Я прост от скуки накидываю. Потом твои аргументы какому-нибудь градловцу буду высказывать...)
Эх, если бы. Меня в подсосы брать нехотют~
А у меня голова болит. Давай тоблеточками друг дружку кормить?
>>кастомный десярялезатор
Погугли конфиги жексона, он по дефолту всегда в utc отдает и это по мнению разрабов не баг а фича, как бы комьюннити не крыло их хуями.
Батя, дак фронтенд это вообще как кибер-дисциплина теперь, где 12-летний школьник побеждает всех, и когда тебе за 35 туда лезть тем более не вариант. Что остается тогда? Дата-саенс? DevOps?
понял-принял
А в этом треде случаем не сидят анончики из Тинькова? Желательно ещё чтобы из Алматы были, хочу вкатится в вашу компанию. Был тред на тему самоподдува и о том как они яростно пытаются строить из себя фаанг, но как обычно мнения разделились на две крайности "ряяя типичный банк ничего ужасного" и на "рряяя даже покакоть не дают без разрешения барина". Подскажите дорогие аноны, к чему на собесе готовиться и какого уровня вопросы будут на джабиста? Сейчас дрочу литкод и систем десигне это так, чтобы перестраховаться.
>А. Ну тогда можешь не готовиться. Спойлер небольшой.
Не будь очередной пупуней, объясни развернуто что ты имел ввиду
иначе накастую тебе потного и жирного скуфа который будет ебать тебя за каждый выкинутый эксепшон
Давай кастуй! Только рад буду.
Контора пидарасов.
Блин, а ты в каком городе-то хоть? К тебе приехать можно?
Хочешь помурлыкаю? А ты на вопросики отвечать будешь?~
Просто интересно что упрощает жизнь при работе в идее
Это копия, сохраненная 3 января 2024 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.