Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ? A: Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна. Сейчас все советуют Hyperskill. Более продуманный план обучения. Но, как и любой %COURSENAME% не гарантирует тебе успешного вката. Выучиться можно и самостоятельно, не отдавая свои кровные васянам-наставникам.
Q: Посоны, собираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом? A: На джаве фриланса нет. Хочешь фрилансить — дуй в ПХП/раби/1С тред. Но в последнее время увеличивается количество вакансий на удаленке в связи с ковидом. Но, возможно, как вся эта мракобесия закончится, всех обратно загонят в стойло.
Q: Значит, я должен буду всю жизнь сидеть в опенспейсе, конвертируя XML в эксепшны? Ура, мне подходит! С чего начать? A: Книги: https://libgen.is
Q: Хули все книги на английском? A: Без английского ты не нужен и можешь смело идти нахуй. Ну или в 1С-тред.
Q: Я не могу в книги. Наткнулся на джавараш, но в самом верхнем вопросе уловил нотки сарказма. С ним все правда плохо? A: В наших тредах постоянно появляются люди, спрашивающие о джавараше. Громко объявляют, что начинают заниматься, задают пару тупых вопросов и куда-то пропадают. Похоже, большинство адекватов бросают джавараш из-за дебильных заданий типа "десять раз скопипасти этот кусок кода и выведи в консоль". Тем не менее, иногда появляются и люди, говорящие что прошли его целиком, и что дальше задания получше. Короче, хочешь - пробуй, первые десять занятий бесплатно же. Но, как минимум, лучше совмещать с обучением по другим источникам. На самом деле ты просто потратишь свое время на какой-то мусор.
Q: Всё это хорошо, но без алгоритмов меня на работу не возьмут. A: Не все конторы дрочат на подход Яндекса который спиздил подход гугла. Но для крупных фирм знать алгоритмы маст хев уже на уровне джуна/трейни, вот курсы от Принстонского университета: https://www.coursera.org/course/algs4partI То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java
Ку аноны. Помогите нубу: Смотрите, во всех гайдах итератор из коллекций присваивают в интерфейсную переменную, к примеру: Iterator iterator = stringArrayList.iterator(); Я раньше с интерфейсными переменными не сталкивался, почитал про них, но задался вопросом. Ведь если есть объект итератора, который отдаёт iterator(), то есть и класс, который этот объект породил. Так вот, как мне создать переменную с типом этого класса и присвоить в него объект, который отдаёт iterator()? Я порылся в классе ArrayList, и там внутри есть класс Itr, но он приватный, следовательно я нихуя не смогу создать такую переменную, выходит? типа Itr itrerator = stringArrayList.iterator() Только присвоить объект интерфейсной переменной? Или я где-то ошибся и не то смотрю? Просто странная херня какая-то, вроде есть объект, а мне его некуда положить, кроме этой самой интерфейсной переменной.
>>1903831 > я нихуя не смогу создать такую переменную, выходит? Да, в этом и смысл инкапсуляции, что ты не знаешь конкретный тип и работаешь через интерфейс.
>>1903831 Ты ничего никуда не кладёшь. Всё уже положили за тебя. Ты получаешь _ссылку_ на значение. И эта ссылка имеет какой-то реальный тип - тот самый приватный класс. Но, ты этого не знаешь (и не должен), и просто работаешь с ней, как со ссылкой на объект, реализующий данный интерфейс.
Более того, один и тот же объект может реализовывать несколько интерфейсов. И ты можешь с ним работать, как с одним или с другим или с третьим интерфейсом.
>>1903845 >Да, в этом и смысл инкапсуляции А разве там не смысл в объединении полей и методов, а так же разграничении их видимостей?
>>1903853 >Ты ничего никуда не кладёшь. Всё уже положили за тебя. >Ты получаешь _ссылку_ на значение. Ошибся в своём посте, извиняюсь, забыл про ссылочный тип.
>Но, ты этого не знаешь (и не должен), и просто работаешь с ней, как со ссылкой на объект, реализующий данный интерфейс. А почему так? Почему кто-то сделал такую реализацию, когда я все-таки имею доступ к объекту приватного класса, но только через его ссылку с типом его интерфейсов? В чем суть таких ограничений? Чтобы я сам не мог создать объект приватного класса?
>>1903936 > А разве там не смысл в объединении полей и методов, а так же разграничении их видимостей? Я проебался чуток, не инкапсуляция. Не настолько важно, как это называется в ООП, просто ты абстрагируешься от конкретного типа и работаешь через интерфейс.
> Почему кто-то сделал такую реализацию, когда я все-таки имею доступ к объекту приватного класса, но только через его ссылку с типом его интерфейсов? У этого больше плюсов, чем минусов. Ты можешь думать об итераторе как о самостоятельной сущности и передавать его в любой метод, который принимает любые итераторы. Работая же с конкретным типом далеко не уйти.
>>1903936 >А почему так? Тебе уже ответили, но, я добавлю.
Это один из основных принципов хорошего дизайна в ООП - разделение интерфейса и его реализации. Код "на той стороне" может меняться как угодно, и тебе это не создаст никаких проблем, т.к. этот код соблюдает свой контракт (реализует интерфейс).
>>1903936 >я все-таки имею доступ к объекту приватного класса Нет, ты _не_ имеешь доступа к объекту приватного класса. Только если через reflection, но, это другая тема.
Ты имеешь доступ к _некоему_ объекту, и всё, что ты можешь о нём знать - это то, что он реализует данный интерфейс. И всё. Ничего другого (не предусмотренного интерфейсом) ты сделать не можешь.
>>1903662 (OP) Кодстайл на первом пике ужасный, конечно. >>1904322 По мне так второй пик подходит больше всего: серьёзная, строгая, не прощает ошибок, действует наверняка.
Аноны, поясните за статус HTTP 418 I’m a teapot. В каких случаях используется этот респонс код? В спринге, например, есть у кого случаи его использования? В интернетах про какой-то рероутинг пишут, ничего не понял
Анонасы, я ленивое хуйло, проебланил все праздники. На днях иду на интервью - где хорошо почитать за базовые вопросы и ответы на них для собеседования? Шапку смотрел, может есть еще что посоветовать, где все это четко скомпилировано.
Есть сущность с кучей полей, есть ДТО с дополнительной информацией, в которой также должны быть все поля сущности. Так как композиция лучше наследования, то самым правильным способом разрулить это будет добавление в ДТО поле entity, правильно?
>>1904803 дто никогда не должно наследоваться от энтити, т.к. суть дто как раз-таки в том, чтобы отображать пользователю только нужную ему информацию, отсюда следует, что в дто может и не быть полей энтити самый простой пример @Entity User и UserDto, где в энтити содержится поле пароля, а в дто - нет
>>1904803 вообще по возможности избегай наследования. Сделай конвертер, в конвертере добавление дополнительной информации. Есть либы для автоматизации создания конвертеров, например mapstruct
>>1905061 Если тебе нужно именно объект того же класса[/i, но, с дополнительными полями, то, надо сначала подумать - зачем? Дополнительных полей в том же классе нет, и, чтобы их использовать, надо использовать другой класс.
В любом случае, есть всего три возможных варианта: - Entity будет просто публичным свойством. Чистая композиция. - Делегирование - entity будет приватным свойством, и его методы будут делегированы наверх. - Наследование.
Многое зависит от того, сделано ли у тебя всё на интерфейсах или на конкретных классах.
>>1905086 > Optional Ну, вместо варов и прочей ненужной хуиты им стоило бы добавить что-то из синтаксиса скалы для работы с монадами. А то монады сделали, а сахарку - хуй. Вот колхозники и бугуртят.
> что стоило бы траты времени? вот это ключевой момент, про который я и писал, что деды не хотят обновляться, потому что там типо ничего важного нет, а новые баги можно собрать
Как бы я согласен, что после 8 джавы нет каких то новых супер крутый фич, как в 8. Но тут дело привычки, есть всякие незначительные библиотечные функции, те же вары, которые на первый взгляд выглядят как говно, и то что они вообще не нужны в жабе, но если начать использовать привыкаешь
Собственно меня это и заебало, что ты сидишь и у тебя ничего нового в языке фактически не просиходит, потому что поднять версию это целое событие
>>1905425 >в goвно >заебало, что ничего нового в языке фактически не просиходит Туда ли ты выкатился, пацанчик?
Го - очень консервативный язык. Специально таким задуман. Сказки про го-2 - это именно сказки, чтобы сгладить бугурт неосиляторов б-жественного минимализма.
Что за проекты у тебя сейчас на го, кстати? Тоже подумываю о перекате.
Долго не буду описывать. Крч, я вкатывальщик/свитчер. Учу 4 месяца java. Уже вот-вот мб устроюсь даже. Только у меня как-то все из под палки делается. Все ждал (и сейчас продолжаю ждать) что станет интересно, но пока чет не очень-то интересно.
Но я все равно не забью/не откажусь от джавы. Потому что остальное меня интересует еще меньше.
Ну так вот, вопрос: Что вы делаете, когда мотивация/интерес к языку падает? Как подстегнуть интерес к кодингу? Мб как-то обмануть мозг можно?
Помогите с тупым вопросом: Если я делаю расширяющее приведение, но в классах-наследниках методы родителя были @Override, то в доступных методах объекта будут вызываться методы родителя или уже предопределенные методы потомка?
Пытаюсь скачать википедию. И что-то не могу в регулярочку. Простейшая регулярочка без рекурсии и прочего (я специально удалил все кроме href) умирает с .find(). Она где-то там уходит в вечный цикл и вяло грузит процессор. Регулярочка с текстом: https://regex101.com/r/EFoRah/1 Вот что скачивается (тот текст): https://cheatsheetseries.owasp.org/News.xml Ну и репл: https://repl.it/join/ilxryqwa-lebonbus Я чуть продвинутее начинающего и не понимаю почему оно умирает. Это проблема разрешимости и вычислительной сложности? Или JRE15.0.1 забагованный? В Java другие методы для поиска подстрок есть (кроме методов String)?
>>1905741 каждый день как на каторгу. Пытался выкатиться на завод - там ещё хуже. Стройка - там тяжело и холодно. Так и живу и каждый день заставляю себя ковыряться в говне
>>1905741 >>1905783 Аноны, я такое же ленивое хуйло, так возможно помогу советом. Вообще говоря, понятное дело, что программирование довольно рутинное и не слишком захватывающее занятие, но возможно дело в том, что у вас проблемы с нейрохимическими процессами, например вы потребляете много дешевого дофамина, и от того не получаете его от других вещей успехи в выполнении рабочих задач, например. Не буду рекламировать, но в интернете куча лекций и вебинаров за относительные копейки, которые рассказывают, как нужно менять свой образ жизни. Небольшой результат может дать. К примеру, сильнее всего мотивацию убивает алкоголь, вещества и просмотр порно я не из секты нофапа, но просто не злоупотребляйте этим. А, к примеру, простые отжимания по утрам вам очень хороший буст на день дадут.
>>1905799 Если ты без троллинга пишешь, то это действительно может быть частью твоей проблемы. Хотя может у тебя либидо очень высокое и это норм. Ну хотя бы не смотри на голых тяночек в холостую.
>>1905798 > Дрочка да, стараюсь удерживаться до 1го раза в неделю. Алкоголем не злоупотребляю, никогда не пью один. Тем самым, выпивка примерно раз в 2 недели, в среднем. Сиги не курю (хотя, задумывался даж начать. Говорят, никотин концентрацию улучшает). Спортом занимаюсь. Но еще всякие беды с башкой типа СДВГ мне мешают. Ну и какой-то ебанутый страх.
Вот собираюсь я учить Spring, а сам себе заранее навыдумывал, что он сложный и не подъемный. И тупо целый день даже сесть за него не могу. делаю все что угодно, лишь бы не то что надо
>>1905813 > Причем делать с этим что-то смысла я уже не вижу. Ну если бы ты не видел смысла, то ты бы не писал об этом в жаба-треде. А так все в твоих руках. Я - это ты, но который начал справляться. Что тебе мешает?
>>1905826 >появляется желание подрочить и посмотреть картинки Это не у тебя появляется желание, а у твоего базового мозга млекопитающего. Человек то очень хитрое по устройству существо, и наш мозг очень хорошо умеет считать соотношение затраты энергии/поощрение (дофамин). У мужчины одна из базовых целей - оплодотворение для увеличение потомства, поэтому когда ты открываешь порносайт, где дохуя бегает потенциально оплодотворяемых девочек, то твой мозг говорит что ты делаешь все правильно и даёт тебе конскую порцию дофамина. И за этой огромной дозой, небольшое дофаминовое поощрение от написания строчки кода ты потом хуй почувствуешь. Короче, не хочу оффтопить в треде, если интересно - самостоятельно поизучайте сабж.
>>1905824 Так в этом и фишка, что ты начинаешь с малого. Весь твой полезный день - превозмогания, в той или иной степени.
>>1905825 >Вот собираюсь я учить Spring, а сам себе заранее навыдумывал, что он сложный и не подъемный. Анон, ну тебе неплохо бы мозгоправу, наверное.
>И тупо целый день даже сесть за него не могу. делаю все что угодно, лишь бы не то что надо Хотя мне кажется, что у тебя может быть классическая прокрастинация, что тоже нихуя не просто, на самом деле. Копай в эту сторону мб.
>>1905847 >Что тебе мешает? Мне кажется моему мозгу уже нанесен непоправимый ущерб. Учитывая, что я с подросткового возраста дрочу почти каждый день и не останавливаюсь, это все имеет какие-то последствия.
>>1905872 >Учитывая, что я с подросткового возраста дрочу почти каждый день и не останавливаюсь, это все имеет какие-то последствия Я думаю, что это и близко не настолько критичный аргумент, чтобы так негативно судить о своих возможностях. Может тебе оно и не во вред. Да и, возможно, тебе ничего не мешает уменьшить частоту всего фапа, если она избыточна. Но за такими обсуждениями тебе уже в /sex или /me.
Начал дрочить уже после совершеннолетия, причём до этого собирался вкатываться в кресты, а после - в петухон или жабу, в жабу таки вкатился. Наверное, надо опять прекратить, тогда быстрее стану сеньором.
>>1905990 Нет, у меня одна мысль о фапе вызывала рвотный рефлекс, хотя соответствующие картинки всё равно иногда смотрел лет с 15. Раз в одну-две недели кончал во сне и шёл менять трусы.
>>1906049 Добавлю, что тут есть контр-интуитивные вещи. "Расширять" и "супер" - кажутся близкими словами. Но, в ООП - это противоположности.
Субкласс (потомок) расширяет набор свойств суперкласса (предка). Но, одновременно и сужает область его применения. Поэтому, слова "расширять" и "сужать" лучше просто не использовать.
>>1905709 Ну хз, меня пока все устраивает. Тут скорее вопрос в том, что в джаве то есть сахарок в новых версиях, ты пытаешься заставить команду обновиться, а в тебе выливают рассказы про то, что сколько багов можно поймать. В го сами проекты более модно молодежные стартаперские, да и ребята кто работает помоложе.
> Что за проекты у тебя сейчас на го, кстати? Ну вообще тут это деанон, но да похуй, одна такая компания из 4 букв, у которой почти все на голанге Из того, что конкретно нравится в го после джавы, так это отсутсвие магии спринга, какое то большее ощущения контроля над тем, что ты пишешь
>>1906225 А мне говорили наоборот, что это последняя надежда джава-мира, потому что шарпы как раз развиваются, вводят крутые фичи, а джава просто стоит на месте и сосёт бибу. И что если бы не котлин, то все чёткие модные пацаны бы уже свалили с джавы на те же шарпы и здесь остались только ретрограды, которые всё равно скоро умрут, от старости.
>>1906230 Иронично, Хотя, ничего удивительного. Каждый топит за своё болото. Жаль только ты так быстро веришь на слово и не проверяешь. Раз ты решил учить жабу ты ведь решил? или че тут делаешь?, то как порядочная гадюка, хорошо было бы ознакомиться с перспективами языка перед еблей
Кто знает, почему JVM не видит файл в своих каталогах? Читаю обычный txt сканером, типа вот так: Scanner input = new Scanner(new File("file.txt")) При этом сканер выкидывает экспешон: java.io.FileNotFoundException: file.txt (No such file or directory) Файл сначала положил в директорию пакета в src, затем думал попробовать в директорию пакета в out положить, но увидел, что IDEA его туда уже сама положила. Мб жабамашине какие-то права надо дать на чтение? IDEA обновлена, сижу с macOS 10.15.7
>>1906250 Понятие "текущий каталог" (current directory) тебе знакомо? Если нет - познакомься. Файл без абсолютного пути ищется в текущем каталоге. Если это проект идеи - то тек. каталог - корень проекта.
>Понятие "текущий каталог" (current directory) тебе знакомо? Конечно знакомо
>Если это проект идеи - то тек. каталог - корень проекта. Да я уже догуглил до этого момента, спасибо, я проебался. Просто привык, что когда на других яп писал, то там текущий каталог в сурсах или в директории скопиленных файлов был.
>>1906235 >>1906248 Мне говорили вполне опытные и сеньористые друзья, которые долго делали бекенды на джаве, а потом перешли на котлин. сам я джаву не знаю, просто люблю сраться на двачах
>>1906682 Ответ на вопрос - найди себе работу или хуйню, которую хотел бы сделать, и будет тебе задача. Я это сейчас неиронично говорю, хотя вкатился я в свое время вообще не в джаву.
Какой же я ебанутый, третий год эту тянку сталкерить пытаюсь, господи
>>В том-то и дело, что нет. Разве что задачки на алгоритмы. Я надеялся, что вы накидаете ссылок на ресурсы с задачками, не хотелось бы выуживать у вас их по одной :/
Есть рест контроллер. В нем метод, у которого один из параметров - объект. В случае, если над ним нет никаких аннотаций, спринг сам соберет его из отдельных query параметров. Насколько я знаю, по умолчанию он делает это через сеттеры. А можно это как-то настроить?
>>1903831 Итератор всегда нужен только ради его методов, которые в полном составе входят в контракт по поведению - интерфейс. Таким образом, даже не имеет смысла спрашивать тебя, зачем тебе понадобился класс, который его имплементирует и порождает объект для возврата: таких причин быть не может, кроме каких-то задротских экспериментов не имеющих смысла
>>1904905 У нас насильно внедрили этот var и понять что там в переменной после findXXX().stream().map().filter().map().collect() можно только по подсказкам IDEA. Даже после одиночного findXXX() не всегда ясно там данные и NotFoundException или Optional и тут наши надмозги пришли к венгерской нотации!
>>1907196 Чет не понимаю твоей проблемы. Если ты такой рукожоп, что не в состоянии следить за преобразованием стрима (с точки зрения типа сожержащихся данных), как ты собрался вернуть правильный тип в целевую переменную, даже если она не var, а хардово указана? Тоже ведь по сопровождению IDE только, а в каком-нибудь блокноте обязательно обосрешься. Олсо, за венгерщину надо пиздить цепями. Значит разрабу этого кода только сортиры чистить. Этот >>1907203 прав
>>1907206 >не додумались ещё в названия переменных добавлять тип? >>1907196 >пришли к венгерской нотации Не повсеместно конечно, но местами есть.
>>1907215 >Если ты такой рукожоп, что не в состоянии следить за преобразованием стрима (с точки зрения типа сожержащихся данных), как ты собрался вернуть правильный тип в целевую переменную, даже если она не var, а хардово указана? Вот есть метод который позвращает некие сущности, дальше map(User::getCards) - вот этот cards это что, другая сущность, коллекция сущностей или коллекция ID? Написать то такой код не проблема, ты когда пишешь контекст знаешь и что там за User и что там у него за cards. Проблема начинается при чтении чужого кода, когда у тебя нет контекста, что там за User. И главное может это тебе и не надо, проблема не в этом месте, а где-то дальше. Тебе просто нужно базовую логику понять и двигаться дальше.
>>1907203 Увы, там чуть ли не на уровне СТО это продвигается.
>>1907231 >Вот есть метод который... Да заебись... но как эти все трудности жизни связаны с наличием либо отсутствием функции объявления неявных переменных в языке? Тебе однохуйственно придется лезть в этот getCards и выяснять что она там высирает, чтоб создать подходящую переменную, куда это все в итоге попадет. С этой точки зрения у var как раз преимущество - можно сделать это позже, а не ловить страйк от IDE
>>1907237 > С этой точки зрения у var как раз преимущество - можно сделать это позже, а не ловить страйк от IDE херасе преимущество. А если в рантайме упадёт вместо страйка от IDE - это ещё лучше?
>>1907241 На каком в пизду рантайме? У тебя свобода var сохраняется только ДО ее инициализации. После ты уже не сможешь делать над ней всяких нелегитимных присваиваний, так что в первом же месте, где ты попробуешь пихнуть этот var туда, где будет обсер с совместимостью, ты поймаешь тот же страйк/компайл-тайм эксепшн. Потому я и говорю - тебе уже не обязательно знать что там вылезло в строке 11, ты сможешь это попробовать понять и на 12-й. Но понять один хрен придется, поэтому varы это своего рода сахарок очередной.
>>1907268 Да бля... вся разница только в том, что если язык имеет фичу типа var, понимание типа может происходить в двух местах: либо при объявлении (вар не используется), либо при применении (вар используется). А если варов в языке нет принципиально, как в старой джаве, то эта пара мест сужается только до одного - в момент объявления. Как все это мешает читаемости кода? Я сам никогда не пользуюсь варами, потому что нахуй не нужны, но ты похоже еще больший диван чем я, если не понимаешь что они, например, никак не нарушают тайп сафети и не могут приводить к крашам на рантайме. Блять, скорее в китае все примут ислам за один дань, чем джава откажется от типобезопасности ради такой пустяковой фичи, как вары.
>>1907237 В 95% случаев, когда ты читаешь код тебе без разницы конкретные операции над данными в стримах или других call chain. Тебе важен конечный результат, что там у тебя.в итоге сет айдишников, опшионал с айдишником или айдишник сам по себе. Тебе надо лезть в эти преобразования, когда ты поймешь что там проблема и надо эту часть менять. Пока ты разбираешься с этим флоу в целом - тебе без разницы мелкие детали.
Писать с var - норм, даже легче, проблемы с чтением чужого кода или своего через год.
>>1907248 Объявляю тип, который я должен получить в результате всех преобразований, потом делаю эти преобразования. Если не сходится - идея тут же ругается, а не через сотню строк опосредованно.
>>1907375 >>1907319 Вы о чем тут спорите?? при разработке вара в документации писали вполне конкретно: > Risk: reduced readability, surprises when refactoring. http://openjdk.java.net/jeps/286 Соблюдайте адекватное название переменных и используйте var сколько хотите, если его использование очевидно. Если у вас конструкция вида Map<Class<? extend Foo>, Boolean> то уж будьте добры указывать всю конструкцию, так как иначе не догадаться.
>>1907450 >Соблюдайте адекватное название переменных > i = 1.1 >неочевидно Я тебе, что сказал? А ты что сделал? i всю жизнь было обозначением для интовой переменной. То что ты написал максимально очевидно это double, но название хрень.
>>1907319 >Писать с var даже легче Чем легче-то? Если ты сам разработчик цепочки вызовов ты уж точно знаешь что должно получиться, а не бьешь хуем по клавиатуре, типа что вылезет то вылезет. Написать вар это как отсрочить самопроверку полученного аутпута
>>1907375 Ну если хлебушек в голове то можно и еще раз 5 передать из лдного вара в другой. В том примере это просто простейший способ показать incompatibility type, чтобы опровергнуть кукареки того дебса про то что возможны какие-то там краши в рантайме из-за варов. На практике никто обычно не переливает из переменной в переменную. Она создается чтоб сразу стать где-то аргументом. Олсо, никто и не спорит что у вара есть отличия в юзабилити, само собой есть. И кстати, если уж ты понимаешь, что обосрался только когда тебе ИДЕ подсказала, то она тебе это и с расстояния в 1000 строк подскажет.
>>1907493 Ты дурак или прикидываешься? Var работают при компиляции а не в рантайме, напиши var count = 0; скомпилируй и иди посмотри, что находится в .class там будет написано int count = 0. Если ты не понимаешь, что java по дефолту для 1 выдает int, а для 1.1 double, то твое мнение в вопросы того нужны var или нет не учитываются. Иди учи базовые вещи.
>>1907493 Рантайм-падающий шизик, это снова ты? Ты уверен что ты правильно понимаешь чем вообще рантайм отличается от компиляции? Может ты какой-нибудь залетный скриптопетушок?
>>1907506 замени оболочку на примитив и случится магия. для шизиков - большую L на строчную в слове long Long нельзя инициализировать литералом без L, так работает автобоксинг этого типа
>>1907532 Потому что var сожрет любое значение, которое ты ему скормить захочешь, кроме, разве что, null. И станет тем типом, который заложен в том, чем он инициализирован, с точки зрения алгоритма компилятора. Че ты тупишь то? Вары это сахар который затирается после компиляции, так же как, например, дженерики. Если у тебя что-то там куда-то входит-не проходит-пердит-обсирается, это значит что ты просто хуёво знаешь как компилятор обрабатывает вары, и тебе надо матчасть подтягивать, а не пиздеть на дваче.
>>1907534 Пиздец ты хлебушек. Потому что ты написал хуйню в инициализаторе. Это все равно что ниписать int count = 0. Еще раз - компилятор не виноват что ты не знаешь матчасть
>>1907553 Если что var - плохое слово его нельзя использовать, нужно всегда писать тип, типы могут быть объектными и примитивными, первые пишутся с большой буквы Long, а примитивы с маленькой long, это разные вещи, в твоем примере у тебя идет переполнение, потому что java думает что 1_000_000 1_000_000 ответ будет int а твой int вываливается за предел int если число больше 2_147_483_647 все плохо становится, вот такая тупая java ей надо подсказать и написать 1000000L 1000000, тогда все будет замечательно. Всё дружок ответ получен, надеюсь ты рад.
>>1907691 другой анон Нормальная библиотека для того, что бы не засирать классы гетерами сеттерами и конструкторами по умолчанию или конструкторами со всеми параметрами читай как у меня 10 зависимостей в компоненте и мне больно глазам от гигантского конструктора. Да шаг в лево шаг в право и она говно, но конкретно для перечисленных целей это дешевый вариант без выебонов и без урезания производительности. Аргументы против?
>>1907729 Я примерно вкурил что там по той ссылке происходит. Окей. Но я не понял как ты устраняешь описанные тобой проблемы с этим лобком. Есть примеры кода класса, "не засранного геттерами сеттерами и конструкторами"? И как эта штука решает внедрение хуиллиарда зависимостей. Штоб посмотреть и востащиться, а возможно и причаститься?
>>1907746 Не знаю там по ссылке шляпа какая-то я имею в виду что ты можешь над классом написать анотацию @NoArgsConstructor или @allArgsConstructor и он автоматически все сделает. Для гетеро и сетеров тоже есть свои анотации просто меньше кода писать вот и все, выглядит аккуратней.
>>1907764 >Соси хуй, псина. Ебал в рот вашу эту хипстерскую поебень энивей. Тред гоферов два блока вниз, брат. Без генериков, как в твоей любимой 1.4 яве.
>>1907762 Почитал немного... Чёто я кажется не готов к такой хуите, это не библиотека даже а плагин компилятора и IDE заодно, чтоб не пиздела на этот новомодный говнокод. По сути захуярили какой-то форк джавы себе, и типа заебись.
>>1907785 Да так и есть. Но на дваче в какие то крайности любят бросаться. В целом нормальная библиотека, на некоторых проектах используется. Все больше нечего даже сказать.
>>1907798 Ну, типа того и мои соображения. Изучил бы только если б вписался в проект где это уже живет. А так мне и кодогенератором ИДЕ воспользоваться не западло, и скрыть лишний текст "громоздких методов"
>>1907825 Имеет значение, как часто тебе придется удялять/дописывать этот бойлерплейт. Ломбок делает это все автоматически. Не использовать ломбок - быть луддитом.
>>1907560 Не надо бросаться такими словами, сынок. Такую ошибку делают и профи тоже.
Что-то (не помню что) у американцев на орбите зависло по этой причине, в своё время. И вообще дохуя такого было, особенно, когда процессоры были 8-16 бит.
>>1907040 >Итератор всегда нужен только ради его методов, которые в полном составе входят в контракт по поведению - интерфейс А что, если в классе имплементировано несколько интерфейсов? А так я сразу буду знать и могу вызвать все доступные методы всех доступных интерфейсов. Да и какая есть гарантия, что все публичные методы реализованы из интерфейсов?
>таких причин быть не может, кроме каких-то задротских экспериментов не имеющих смысла Просто я только изучаю язык и стараюсь разобраться, почему и как.
>>1907878 >Да и какая есть гарантия, что все публичные методы реализованы из интерфейсов? Никакой. И это не должно тебя беспокоить.
Интерфейс - это роль. Ты используешь объект в той роли, в какой он тебе нужен в данный момент (если он допускает несколько ролей). Если тебе этот же объект нужен в другой роли - это будет другой интерфейс или класс.
Вообще, тут не надо умничать на пустом месте. Надо писать код, и постепенно (не сразу) до тебя дойдёт, почему так делают.
Если тобой движет просто интерес - читай документацию и исходники. Если исходников нет - IDE тебе покажет. Если нет IDE - используй reflection, чтобы посмотреть, что есть в этом классе.
>>1907878 Добавлю ещё, что смысл этого всего _только_ и исключительно в том, чтобы, с одной стороны, дать разработчику библиотеки свободу, а с другой стороны - избавить тебя (пользователя библиотеки) от проблем.
Можешь ли ты объяснить почему это важно и каким образом это достигается?
>>1907894 >Вообще, тут не надо умничать на пустом месте. >Надо писать код, и постепенно (не сразу) до тебя дойдёт, почему так делают. Так я и не умничаю. Я понимаю, что практику ничего не заменит, но бездумно писать код даже в обучающих целях - это тоже не очень хорошо.
За советы спасибо, доку и исходники стараюсь просматривать к каждому новому классу и интерфейсу, в силу своего понимания.
>>1907571 >вот такая тупая java ей надо подсказать и написать 1000000L * 1000000 Ещё надо написать var i = 0L;, иначе i всё равно будет int и произойдёт ошибка компиляции
>>1907926 Именно поэтому, надо либо наворачивать жёсткие ограничение по кодстайлу вокруг этого говна, либо просто им не пользоваться. Вообще, люди не просто так продолжают сидеть на 8-й джаве, это надо понимать.
Извините, я залётный. Жавакод можно скомпилить в что-нибудь однокликабельное? Типа пет-прожекта, часы там. Только чтобы в один клик на Винде запускалось.
Бля, какие же вы все тупые, это пиздец. Это конкретно проблема джавы, что там все тупорылые такие? Или все таки проблема в количестве вкатунов в этом треде?
>>1907962 Если хочешь, чтобы в результате был единственный экзешник и больше ничего, то нормального способа так сделать нет ни на одном языке, даже в плюсах рядом обычно будет пачка dll-ек. Но если количество файлов не важно, лишь бы не нужно было ставить рантайм джавы на каждую пекарню, то так сделать вполне можно. В JDK есть утилита jlink, с помощью неё можно упаковать рантайм и само приложение в одну папку, в этой папке будет лежать батник для запуска, и эту папку можно закинуть на любой ПК и сразу же запускать через батник.
>>1907843 Наверное, ты имел ввиду аварию Ариан-5 в первом полете. У французов. Там правда все было раз в 50 сложнее в предыстории, которая привела к ошибке, а не просто смузихлёб в команде. Почитай. Но ты все равно продобился в мозг, ибо посылом того месседжа было то, что та ситуация - это не рантайм еррор, как тот хлебоголовый писал. Это просто неожидаемое поведение. Совсем разные вещи. Ну а про дауна-хэлоуворлдщика это просто фигура речи, вроде как упоминание мамаши-шлюхи, улавливаешь? >>1907878 В такой ситуации класс, который он многоинтерфейсный, вряд ли будет так задизайнен, что его инстанс нельзя будет создать там, где это нужно. В любом случае, создается ВСЕГДА объект класса, а не интерфейса (кроме случаев, когда ты анонимно имплементишь созданный объект интерфейса через new SomeInterface(){...@Override}, но и в этом случае среда за тебя создаст неявный класс). Если ты создал объект класса, он содержит в себе всю логику этого класса. И даже если ты используешь его через переменную лишь одного из его интерфейсов, это значит, что через нее ты получишь лишь часть его функциональности - это что-то вроде того, будто ты на этом классе включаешь один пульт управления, а второй выключен, НО он там все равно ЕСТЬ. Чтоб включить второй, ты просто можешь прикастить объект к тому второму интерфейсу, и тогда сможешь использовать тот же объект в другой его роли, но здесь можно словить ClassCastExept кое-когда, если ты не понимаешь чё делаешь.
>>1908052 Чувак, ты исходишь бессмысленным словесным поносом каким-то. Особенно - по теме ООП. Попробуй меньше выёбываться и поучать, побольше учиться и думать. Это должно помочь.
>>1903662 (OP) 1. Взялся за спрингу, что учить чтобы взяли джуном? 2. Хибернейт работает с р2дб на реакте или он только с жпа? 3. Вообще не вдупляю с тестами, допустим мне надо сделать интеграционный тест, типа если у меня есть классы, я в тесте создаю какой-то мок объект,вместо экземпляра класса, а как тогда эта хуйня имитирует класс, мне типа надо как-то описать мок объект? Всякую хрень типа иквелс я понял, это легко, а если мне надо протестировать создаются ли объекты с нужными свойствами или я хочу протестировать создаются ли объекты в базе, как это говно тестировать? 4. Докер и докер композ отличаются только тем, что в докер композе мы создаем ямл файл с настройками?
>>1908375 я вот тоже не понимаю, сколько я говна с ним накушался. И то, что я стараюсь писать sql запросы руками - эти двадцатилетние тимлиды считают это "ламерством"
>>1908393 в епаме такая метода: делаешь какой-нибудь круд на голой жабе. Потом постепенно добавляешь все эти фишечки-хуишечки.
Нужно чтобы приложуха работала на сервере? Пишем примитивный сервер на жавовских сокетах. Написали, работает, теперь переделываем на работу в томкате. Дальше, база данных - открытие, закрытие, транзакции, хуё мой - всё руками через жавовский Connection. Как всё будет получаться - переделаешь на jdbcTemplate, а там можно и хибернейт попробовать. Спринг - делаешь зависимости руками, потом подключаешь этот спринг для его ебучей магии
>>1908393 1. core, mvc, data 2. Ты точно не сеньор? Работаю больше года, про "р2дб на реакте" слышу впервые. 3. Можно заинжектить DataSource и вручную сделать селект. 4. Композ работает поверх докера. Докер - это просто создание контейнеров по одному, композ - способ запустить сразу несколько связанных контейнеров с настройками.
Посоветуйте, как проверить знак нецелого числа, типа double например? Хотелось бы применить битовый сдвиг вправо на 31 позицию, чтоб на месте младшего разряда оказался бит знака мантиссы, а потом как-то преобразовать это в целое. Тогда там будет 0 или 1, но double нельзя применять с битовыми операциями. Можно ли как-то срисовать биты doubl-а в другой тип, и к нему применять уже сдвиги? Банальщину вроде if(x<0) ret true else return false не охота применять Как вообще это красиво решить средствами джава?
>>1908998 Че не так с битами? люблю биты, блять >>1909002 >>1909064 >>1909002 Спасибо, все красиво, этого достаточно. Правда такие литералы выглядят в коде уёбищно, надо заменить хотя бы на hex
Посоветуйте, аноны. В общем, я заебался, сижу в большой нищетехудожник, 30лвл. Хочу вкатится в джаву. Ну вы понимаете, что я законченный хьюманитарий, но умею задротствовать, готов пахать. Устал от безденежья, хочу нормальную стабильную работку. Обрисуйте вообще ситуацию, я смогу нормально работать в этой сфере в 30 лет с полнейшего нуля, на какую деньгу могу рассчитывать с начала, чего ждать, куда копать. спасибо, если кто не пройдет мимо и пожет, всем добра
>>1909090 если готов пахать - то это на стройку - быстрее и надёжнее. А так у тебя лет 5 уйдёт на вкат, при условии что каждый день часов по 5 сможешь уделять
>>1909090 Почему именно в джаву? Не готов судить о перспективах затеи, ибо много неизвестных (в основном потому, что непонятно, гуманитарий ли ты на уровне мозгов, а не по диплому). Я и сам начал в 30. Может это тебя мотивирует хотя бы. Чисто по ядру Java (это язык и основная часть стандартной библиотеки) я бы читал в таком порядке: 1. Я. Файн "Программирование для бабушек матушек и прочих недоумков" Название я переврал, но найдешь по автору, изи. Книжка пиздец детсадовская и вызывает испанский стыд, но основы по ней понять начать можно 2. Head First Java, Бейтс и Сьерра. Все еще клоунада и испанский стыд, но уже почти для взрослых 3. Герберт Шилдт, справочник. В нем есть все, и без всяких соплей По интернету - METANIT и вообще все что возвращает поиск. Но это сугубо тот порядок в котором я читал, сейчас меня самого обоссут еще. Удачи, /б/рат
>>1909090 При твоих вводных, вероятность успеха есть, если только тебе это действительно интересно. Ну, вот это вот все... как данные образуются, хранятся, как компьютер работает, почему трансы полевики а не биполярные в железе (шутка). А если ты замыслил вкат только потому что сосед Мойша больше тебя зарабатывает, то лучше стартани в чем-то попроще. Наебизнес какой-нибудь например.
>>1909113 максимально тупая хуйня, но вангую тебе это для какой-нибудь лабораторки в шараге, потому что таких тупых задач в жизни не бывает, а там тупость только в плюс. они тебе только за стринг билдер отсосут. с инпутом сам ебись, лень. не благодари
>>1908567 >и что тут такого? Руками ставить хедеры, руками их читать Спецификация HTTP/1.1 это 170 с лишним страниц текста. Джун не сможет даже полностью GET реализовать так чтобы он работал с реальным клиентами.
>>1909129 Возможно, но в конкретном этом случае не такой уж это хитрый трик, раз уж известно что для любого знакового нужный бит всегда в одном месте лежит. Байтоебство же куда изощреннее бывает.
>>1908422 Странный подход - от сложного к простому. Это даже хуже, чем в 2к21 начинать учить спринг с XML-конфига, сборки антом, деполя на вебсферу и только потом аннотации и бут.
>>1909131 Код x > 0 читается гораздо проще чем longBitsToDouble(x) & 0b10000000000000000000000000000000000L == 0b10000000000000000000000000000000000L Во втором случае вообще, не понять что там происходит пока в IEEE 754 не залезешь.
>>1909136 От простого к сложному. Сначала спринг бут по примерам и мурзилкам, понять суть DI/IoC и что под этим понимают в спринге, мочь запустить минимальное приложение со start.spring.io и вносить в него изменения. Дальше уже начинать экспериментировать с Spring MVC, например.
>>1909139 А также парсер заголовков от клиента, ебля с application/x-www-form-urlencoded, коды состояний, обработка ошибок, треды, кеширование, сжатие, раздача статики... >>1909142 "Шлёпни такую-то аннотацию и всё будет заебись" куда проще понять для новичка, чем 100500 низкоуровневых концепций, которые надо ещё суметь связать воедино и стабилизировать.
>>1909143 Ну ты бы сразу сказал что тебя оно как тип данных волнует, а не как аутпут. Тем более в джава нет двумерных массивов и ты со своей "матрицей" еще больше запутал
>>1909187 Особенно проигрышно выглядит что второе измерение задано через инт, а чтоб пофиксить дабл там впилено приведение типов, пиздец. При том что все это буквально в куске кода размером 100х100 знакомест.
> два месяца проходил онлайн курсы за 5тр > выписали еба сертификат > кроме хэлловорлда написал один пет проджект, собранный по кусочкам из туториалов > учил язык по вопросам на собеседовании > зато выучил все формулировки и преимущества ООП
Таких дебилов берут работать? Они хе нихуя не в состоянии писать код и будут спотыкаться на любой хуйне и дико тупить. Почему тут советуют, что можно вкатиться за два месяца?
>>1909221 > Таких дебилов берут работать? Берут. > Они хе нихуя не в состоянии писать код и будут спотыкаться на любой хуйне и дико тупить. Как и все джуны. > Почему тут советуют, что можно вкатиться за два месяца? Пиздят.
>>1909227 Не особо понимаю, что это за постановка. Типа, он должен переходить по ячейкам, и зная адрес текущей ячейки заполнять ее и шагать в следующую? Будет лень такое велосипедить. >>1909234 Какая-то ботаничка кинула задачку из своей лабы, вот, решаем сидим под пефко
>>1909228 Вы бы как-то определились уже. Я в прошлом треде спрашивал что надо чтоб попасть на джуна, ответили что надо уметь запилить свой круд с приверченной базой, сервером и вот этим вот всем. А тут теперь достаточно быть полудурком с курсов по хэлоу-ворлдам. другой-анон
>>1909138 Да нахуй кому всралось это IEEE, если в каждом нормальном учебнике это где-то недалеко от начало разбирается (как хранятся данные побитово). Я захуячил себе так if (((Double.doubleToRawLongBits(dVal)>>63 & 1) == 1)... чтоб покороче было
>>1909270 ну если их перебор в двойном цикле, то первое решение >>1909174 (из не ебанутых) по сути то и делает. Можно конечно сделать одномерную ленту в виде ArrayListа длины row*col, и путешествовать по ней, понимая какая это ячейка через целочисленное деление и остаток от него, но это уже натягивание ануса на пятку. хотя прикольно сделать. может позже.
>>1909273 эти двойные массивы - это одноразовое решение, не масштабируемое. Предположим, подходит к тебе менеджер и говорит, что циферки теперь нужны и по правому и нижнему краю. Будешь делаешь ещё вложенные циклы? В случае конечного автомата надо было бы только добавить/поправить правила, что гораздо проще и понятнее
Аноны нахуя мне дрочить говно типа сортировки массива большего и меньшего числа, что будет если String попытаться вывести "1+1" +1+1 и узнавать что будет, если мне нужно написать программу которая с сервака выгружает юзеров с их логинами паролями и имейлами вместо регистрации и составляет формочку с "тема" "приоритет" и "сообщение"
Нахуя мне эти "в чем разница i+=1 и i=+1 И i=i+1"????
>>1909416 Зочем оно мне, я сисаадмин, мне надо для работы микросервис который состоит из двух частей, первая - сервис мижду клиентами и админами, в котором подаются заявки на ремонт и сортируются по отделам и чат для этих самых отделов. Инфа лежать будет на серваке и выгружаться в десктопное приложение которое само распакуется скомпилируется и что там еще должно быть после двойного клика мыши. В идеале чтоб еще информация учетки парсилась в эту программу и не запрашивала права администратора. Чтоб просто юзверь запустил скаченный файл и все работало
>>1909416 Градле, спринг, хибернет еще хочу и в разработчики перекатиться. Основы универские у меня есть, курсачи делал с таким же тупым "если стороны квадрата х и y и к ним добавить +2 и +3 соответсвенно то что получится сделайте программу с комментариями и чтоб она не ломалась при вводе буквенного значения" как в тестах на сайтах.
>>1909424 Это реально будет на собесе даже если я свой код принесу с документацией и всем этим? А что на работе будет тогда с человеком который умеет к массиву прибавлять другой массив?
Аноны, кто мне реально может помочь. Я не прошу за меня что-то делать и чему-то учить. Просто ответьте на пару убертупых вопросов которых нет ни в каких факах и скажите направление куда мне гуглить интересующие меня неколько вещей.
Спринг. Рест запрос порождает операцию, в ходе которой из базы запрашиваются некоторые сущности, иногда по несколько раз. Насколько тупой идеей будет сделать специально для этого @RequestScope менеджер кеша, чтобы одни и те же запросы в базу не кидать?
>>1909090 Я тебе советую изучить вопрос вката в UI/UX-дизайнеры, это намного ближе к твоему текущему роду занятий, да и имеющиеся скиллы будут полезны. Зарабатывают они тоже хорошо. Ну или во фронтенд, там меньше тех.знаний нужно, чем в java-бэкенде, плюс фронт более "визуальная" работа.
>>1909298 >Будешь делаешь ещё вложенные циклы? Конечно нет, смысл вложенного цикла - пробежаться по всем элементам. Для каждого элемента уже ведется анализ его положения. Надо будет просто выводить номера в тот ряд/столбец, который добавится по новому условию. То что ты напилил конечно прикольно своей альтернативностью, но не сильно отличается по функциональности. Олсо, ты там хуиту нарисовал: ячейка 0-0 пустая должна быть, и у тебя две нулевых строки.
Боги спринга, объясните, как можно использовать бин со скоупом реквест и с прокси модом NO? Если я инжектаю такой бин в синглтон, то спринг при создании контекста бросает исключение. И да, я знаю, что если изменить на TARGET_CLASS, то все заработает, просто не понятно, для каких случаев может быть нужен скоуп реквест и прокси мод NO.
>>1909794 Блять, я и спросил про удаленку потому что нахуя, если ее нет, тогда учить спринг и прочий зоопарк мне, а не прыгать на другие технологии. Одногруппники устроились в куа и фронтами сразу на удаленочку с нуля
>>1909783 В моем конкретном коде туда не может попасть NaN, так что мне похуй. Пихать туда проверку и эксепшен только чтоб это понравилось каждому долбоебу уважаемой публике на дваче мне как-то не особо интересно. Ошибки исполнения это не вызывает даже если там окажется НаН, этого более чем достаточно. Другое дело, что, как выяснилось тестами, это не дает ни одной наносекунды ускорения в сравнении с тупой проверкой, даже через If-then-else.
>>1909765 У нас в сбере прорабатывают вариант удалёнки, которая будет не только во время ковида, а по желанию насовсем, и для джунов тоже. Но пока это доработают и согласуют, пройдёт не меньше полугода.
>>1909811 > это не дает ни одной наносекунды ускорения Иди-ка ты в C++-тред с такими мотивами. Правда, у них IEEE-754 не прописан в стандарте, и результат implementation-specified, не говоря уж о strict aliasing violation
>>1909814 Ну, таких вызовов планируется довольно много, вот мне и захотелось чуть ускориться. В итоге я так и не нашел статистически значимого различия в скорости между вариантами: (Double.doubleToRawLongBits(arg) & 0x8000000000000000L) == 0x8000000000000000L;
>>1909821 > Ну, таких вызовов планируется довольно много, вот мне и захотелось чуть ускориться. Почти наверняка сделать быстрее JIT-а не выйдет, он и так попытается это оптимизировать, но ему хотя бы биты доступны напрямую без загрузки классов и конвертации.
>>1909933 shutdownNow() не убивает треды (по некоторым причинам это считается плохим), он лишь вызывает interrupt() у тредов, и если isInterruptted() в треде не обработан, он так и будет дальше висеть.
>>1909811 >Другое дело, что, как выяснилось тестами, это не дает ни одной наносекунды ускорения в сравнении с тупой проверкой, даже через If-then-else. Кто бы мог подумать!
>>1910069 >Ну, стоило убедиться лично. Если такой гений, придумай способ как сделать быстрее. Это делается парой команд процессора, COMISD и дальше условный переход куда уж быстрее. Странно что твоя йоба система работает не сильно хуже.
Если у тебя такая скучная жизнь, то напиши правльный бенчмарк с JMH, запускай с -XX:+PrintCompilation и изучай код который сгенерировался.
>>1909451 >Насколько тупой идеей будет сделать специально для этого @RequestScope менеджер кеша, чтобы одни и те же запросы в базу не кидать? 1. А почему другим запросам этот кеш будет бесполезен? Когда пользователь работает с системой, весьма вероятно, что он в ближайшее время сделает еще один запрос. 2. Ну напишешь ты его, а потом мучаться с отладкой - почему у тебя запрос видит старые данные. Уж лучше явное кеширование, чем спринг магия.
>>1910094 >1. А почему другим запросам этот кеш будет бесполезен? Потому что при следующем запросе данные в базе уже могут обновится. >2. Ну напишешь ты его, а потом мучаться с отладкой - почему у тебя запрос видит старые данные. Уж лучше явное кеширование, чем спринг магия. Эээ, в чем разница между явным кешированием и спринг магией? Я просто предлагаю использовать не обычный кеш менеджер, который непонятно когда инвалидировать, а кеш менеджер, который инвалидируется автоматически.
>>1910105 > Потому что при следующем запросе данные в базе уже могут обновится. Так сделай ещё @CacheEvict. Или доступ к базе есть не только у приложения?
>>1910105 >Потому что при следующем запросе данные в базе уже могут обновится. Нормальные кеши обрабатывают такую ситуацию, некоторые даже могут между инстансами синхронизироваться. Подключи как L2 в JPA и все.
>>1910107 >каким хуём я из джавы должен вызывать твои переходы? Речь идет о том, что код d < 0 JIT скомпилирует в 2 команды процессора, тут уже ничего не ускорить.
>>1910107 >то что ты написал про тесты для меня слишком сложно, я тот еще даун Тебе уже дали годный совет >Не лезь в биты, блять.
Default конструктор в JPA при загрузке вызывается после загрузки полей? Или это может зависеть от реализации? Например, я хочу изменить @Transient поле при загрузке из базы данных, проверяя при этом действующие поля сущности. С этим не может возникнуть проблем?
>>1911192 Вывести в консоль хэлоуворлд - это тоже задача Вывести в консоль хэлоуворлд N раз и так далее, наращиваешь сложность Миллионы задач от тупых до сложных лежат на всяких кодерастических сайтиках соревновательных, типа Hackerrank или как-то так, там ты сможешь покачать умение решать задачки. Правда обычно там качается именно алгоритмическая часть, а сам язык ты повышать не будешь. В том смысле что не будешь юзать ООП, дженерики всякие, лямбды, и прочие фичи, которые и составляют язык. Надеюсь ты понимаешь что "знать синтаксис" как ты выразился - это хуита, а не знание языка. Все равно что говорить что знаешь алфавит. А это не равно знанию языка.
>>1911193 Написать метод для подсчёта количества слов в строке (словом считать любые символы между буквами, например). Понять и реализовать пару простых алгоритмов сортировки. Написать треугольник Паскаля. Задачи можно поискать, в некоторых книгах по языкам в конце глав есть задачи, ещё бывают сайты с задачами.
>>1910301 У меня вообще такое ощущение последнее время, что всякие жпа - хибернейты сделали чтобы рекламу делать. Красиво, но бесполезно. Уровень вхождения ниже, но как инструмент - говно.
>>1911309 Уж как повезёт, тут недавно вообще про JSF и Vaadin писали. У самого десктопная прога на чём-то времён борланда, но мне к счастью на этом писать не нужно.
>>1911385 Лол. Нахрена? >>1911381 все что тебе надо знать про гит: git commit/push/pull/fetch/merge/checkout Тупо знать что делают эти команды. Освоить UI гита в идее. И все. По собственному опыту: пока не начнешь работать в команде, не разберешься зачем все это надо.
>>1911171 Реализуй телефонную книгу аниметянок. Реализуй простой плеер текстового аниме в консоли. Реши задачу "скачать все анимекартинки с тегом mind control в папку C:\\animedolboeb" Напиши гуй, который в 8 окнах параллельно меняет рандомные вебмки из аниметреда и воспроизводит их
>>1911105 >Default конструктор в JPA при загрузке вызывается после загрузки полей? Или это может зависеть от реализации? Конструктор нельзя вызвать до загрузки если конечно не применять страшную unsafe магию
>>1912201 synchronized-методы - это когда у тебя настолько кривые руки, что не не смог в примитивы синхронизации потоков. сработает, конечно, но ты сразу проигрываешь по перформансу. просто, но дорого.
У меня такой вопрос: сишарпоняша с 2 годами опыта работы и 4 годами универа(их за опыт можно не считать, это просто чтобы понимать суммарно сколько лет я именно на шарпе пишу), но есть желание овладеть и джавой. Так вот, мне, когда я только начинал изучать шарп(первый курс, 6 лет назад), все говорили, что он очень сильно похож на джаву. Но тогда я слышал нехорошие истории про джаву, дескать очень медленно все, перегруженно и вообще джава нужна только для больших сложных проектов, где важнее работа в команде. На шарпе, так уж вышло, что я попал в такой стек, где мы писали довольно требовательные к производительности и при этом независимые друг от друга штуки. Так вот, какие вопросы-то: Насколько сильно нужно перестроить майндсет? В моей конторе просто за каждый байтик держатся, куча кода писалась с использованием unsafe и ручным выделением-освобождением ресурсов. Сильно ли вообще изменилась джава за эти 6 лет? Раньше, когда я смотрел на джаву, для меня это выглядело похоже на С++, только порезаный жутко, тогда это не нравилось, но поработав на C# активно я поймал себя на мысли, что мне довольно тяжело понимать что делает С++ код, особенно последние версии. Джава за эти 6 лет так же сильно изменилась? Ну и вообще, может быть есть те, кто тоже шарп изначально учил и решил добавить в копилку своих знаний джаву, было бы интересно послушать опыт изучения и с какими трудностями столкнулись, может быть наоборот трудности не возникли, а что-то понравилось больше чем в шарпе. Естественно это вопросы не про работу, рынок, а скорее инструмент и опыт его использования.
При подключении Spring Security до авторизации перестали выводиться Exceptions, не относящиеся к безопасности, но после авторизации все работает правильно. Баг или фитча, можно исправить? У меня только переопределен Error Controller, все остальное делает Spring Boot. Интересует сейчас java.lang.NullPointerException.
Шалом, анон. На си есть sdl2, охуенная тема. Мне нужен аналог на жаве, не спрашивай зачем, для души. Java 2d загуглил, её функционала рисования мне хватит, но нужно ещё ввод кнопок ловить, типа sdl_poll, sdl_event вот такая хуйня. Что юзать?
А вообще хотелось чтобы всё в комплекте было как в sdl2.
Здравствуйте, ищу возможность стать разработчиком, в данный момент прохожу обучение на javarush и попутно читаю Экеля, грокаем алгоритмы и т.д. Хотел бы попасть на стажировку или на символический оклад чтобы набраться знаний, опыта и шишек. Учусь быстро, особенно если укажут направление, готов на full-time, могу уделять объективно, 15 часов в сутки, 6 дней в неделю, интересует удаленно или офис
>>1912186 >Это потокобезопасно или нет? Зависит от требований. Если нет проблем с тем, что инициализация будет вызвана более одного раза и потоки могут получить более одного инстанса класса - то да, это потокобезопасно. Т.е. какой нибудь DateTimeFormatter так инициализировать можно, а конект к базе - нет.
>>1912514 В принципе и на Java пишут low latency приложения например https://chronicle.software/, но ручное выделение памяти пока в тестовом режиме и удобных библиотек пока не подвезли. Так что тут другие подходы. У C# гораздо больше сахара, Java движется в эту сторону, но не так быстро. Зато JVM превосходит CLR в технологическом плане - более продвинутый JIT, GC и т.п.
>>1912883 А что плюсы? Это почти как тестовый полигон, в них добавляют всё подряд, что нужно, что ненужно, что спорно, что вообще нельзя добавлять. Если так не делать и добавлять только обкатанные в других языках фишечки, проблем быть не должно. Жабе и до котлина по уровню сахара/фишечек вряд ли дойдёт, что нам плюсы. Где действительно не учли печальный опыт плюсов - так это в JS.
>>1913372 greasyforkточкаorg/ru/scripts/18482-hv-autoattack/versions Вот скрипт, бот для игры. Недавно к этой самой игре выпустили обновление - скрипт в ней не работает. Пытался заменить ссылки в самом скрипте, не помогло (я в программировании вообще не шарю) Объясните пожалуйста, что нужно сделать для нормальной работы скрипта. Поможете - буду рад. С меня как обычнонихуяЕсли что, друг просил.
>>1903662 (OP) Что лучше учить, чтоб зарабатывать хоть какие-то деньги несложно. Вроде все джаву учат, в чём отличие от скрипта? Как долго нужно учить с ноля?
>>1913504 Пиздец, сколько в спринг буте ещё всего понапридумывали? Свой спринг кор, свой фреймворк для тестов, свой автоконфигуратор, теперь вон ещё и jpa из вьюх додумались дёргать. А ещё говорят, что традиционный спринг с xml-конфигом был сложным, лол.
Аноны, объясните, пожалуйста, в чем смысл wildcard вида List<? super Integer> В дженериках? Я понимаю, для чего нужен extends, он при стирании типов ограничивает верхнюю границу, и передает туда конкретный граничный объект, вместо Object. Например, List<? extends Number> передаст в класс/метод объект Number при стирании. А зачем нужен super, если он все-равно передает тот же Object после стирания? То есть запись вида List<? super Integer> равнозначна List<Integer> или List<?> в JVM, потому что везде будет стирание до Object что видно при вызове get листа в методе и вводе выводе переменной для него в идее Так зачем нужен супер вилдкард? И зачем он в PECS?
>>1913779 Короче, пока сам гуглил ответ на свой вопрос, наткнулся на такое объяснение. Грубо говоря, этот super нужен для того, чтобы не объебаться с полями, и случайно не положить туда соурс вместо дестенейшон в параметрах вызываемого метода, когда происходит приведение типов. Верное объяснение?
Ну в общем то и я вкачусь. В общем, начал потихоньку с Сентября месяца как раз таки на JR(посоветовали). 1) Я вообще в программировании 0, хотя люблю технику, телефоны, пеки и т.д. 2) До этого лет в 17 пытался вкатиться в HTML/CSS но быстро надоело.
Вот начал я с JR + HeadFirst(купил ее и мне через како-то время не зашло по формату повествования). После чего добавил Шилдта(вот тут намного лучше. Теория и реализация, всё понятно) так же купил Философия Java, но пока сложно для освоения.
В итоге я плотно весь октябрь сидел почти каждый день, и заебался. Так как сидел без раоботы. Вышел на работу и сейчас рзанимаюсь часа 2-3 в неделю( что считаю мало).
Итак на Январь 2021 прошел Syntax и начал Core и ООП. Понимаю что нужно очень много практики, потому что без практики всё быстро забывается, но так же быстро вспоминается, потому что ты это уже изучил. Записался в EPAM на тренинг, прошел тесты(жду ответа, позовут или нет).
Из минусов, часто прокрастинирую, и распыляюсь. Хотя в начале меня прям распирало от понимания кода и от решения задач.
>>1914121 Сам полтора года вкатываюсь, из которых 4-6 месяцев забивал хер. По личному опыту - первый год самый адовый, если ты тревожное или ленивое хуйло как я, то просто садишься и кодишь каждый день по паре часов без задней мысли, решая какие-нибудь задачки, со временем либо твой мозг примет неизбежное, либо ты окончательно поймёшь что это не твоё.
>>1914121 Шилдт джавовский на мой вкус говно. Там нет готовых программ, которые можно погонять, поизменять и поломать. Философия джава вроде норм, но старая. Там вроде 6ая, а 8ой много нового появилось и она типа стандарт. В джава раш кстати тоже нету лямбд и стримов. Короче мой набор: https://www.youtube.com/playlist?list=PLm2nrlGYLq1Uv1qYpqMC07JYoOXilEQZI https://rutracker.org/forum/viewtopic.php?t=5763215 + https://www.ozon.ru/product/java-biblioteka-professionala-tom-2-rasshirennye-sredstva-programmirovaniya-165524775/?_bctx=CAUQt7pK Если денег не жалко на задачники, то: https://hyperskill.org/tracks/1 Там на инглише, но инглиш очень простой, русские же писали. Больше нигде не нашел задачки именно на синтаксис современной джавы, а не на алгоритмы. Я это все почти прошел + маленькая книжка по sql + туториалы по junit и http, но по моим ощущениям это где-то треть от вката, а то и четверть. За джаву сел 11 месяцев назад. Занимался от часа до 4 в день, в среднем 2. Но кучу времени потратил на перебор книг, курсов, гугление, повторение одного и того же. И все равно кучу тем не понял и дропнул(загрузчики классов, асинхронщина, вайлкарды и еще всякое по мелочи). По совету треда почти забил на свинг(а зря, в хорстмане очень много примеров со свингом). Думаю еще два года буду вкатываться, я можно сказать борщехлеб, время есть. Единственное пока так и не понял, что мне мне нравится больше - спринг или андроид, посмотрел несколько обзорных лекций по тому и другому и и там и там есть минусы. Скачал книжки по обеим темам.
>>1913798 Бамп вопросу. Дочитал таки по диагонали главу про модульность. Выглядит переусложненным, писать, компилировать и запускать код становится еще геморройнее. Этим вообще пользуются? По опросам жидбрейнс годовалой давности больше половины сидят на версии, где нет модульности. Может из-за нее как раз?
>>1909266 Открыл вчера грокаем на главе про хештаблицы. И за 10 страниц там 5 раз большим шрифтом написали, что вам нахуй не нужно знать реализации хештаблиц, а суть этой главы уместилась бы в полстраницы нормальным шрифтом и без воды. У меня такое ощущение, что из любой книжки по джавакору ты про алгоритмы больше узнаешь.
>>1914446 Никак, вот прям совсем. Джава-апплеты почти не юзались даже когда были живы, ибо всем было похуй на них, все флеш юзали. Удел джавы (как платформы, а не языка) - сервера, андроид и немного десктоп. >>1914460 Клиент какого-нибудь клиент-серверного приложения, или вообще браузер. Там могут быть и треды, и XML, и jdbc, и гуй на свинге.
>>1914161 Вакансии в этом случае не показатель. Swing всё ещё много где используется. В основном - в корпоративных системах, в интранетах. А Java FX используют долбоёбы, лишённые интуиции, в своё время купившиеся на рекламу.
>>1914480 >Джава-апплеты почти не юзались даже когда были живы >все флеш юзали Сынок, скока тебе годиков? Ты знаешь, когда появился флеш, а когда апплеты?
И не юзались где? На публичных сайтах в интенете? А нахуя они там нужны?
>>1914446 Тебе кто-то сказал, что джава - это устаревшая технология? И ты теперь бегаешь и ищешь этому подтверждения? Паттерн поведения ебанашки.
В джаву вложены миллиарды долларов. Это единственная современная технология, позволяющая писать масштабные, высокопроизводительные, и, при этом, maintenable системы. На чём ещё их, по-твоему, можно писать?
А двачер такой ждёт, что вот сейчас, раз - и она исчезла. Да твои дети успеют состариться, а джава всё ещё будет, сынок.
>>1914161 >>1914669 Чуть не забыл. Добавлю ещё, что ты (как и очень многие другие люди), скорее всего, почти каждый день видишь интерфейсы, сделанные на Swing. Просто не знаешь об этом. Речь идёт о POS-терминалах в супер-гипер-маркетах.
Также, поскольку мне известно, интерфейсы многих трейдинговых систем сделаны на Swing, потому, что FX просасывает на отображении большого к-ва данных. А уж как просасывает JS, даже и говорить не надо, я надеюсь.
Думаю, что можно и ещё поискать. Например - IDEA и все её производные, лол.
Алсо, по текущим данным Swing будет поддерживаться до 2026 года. Но, что-то мне подсказывает, что этот срок передвинут, когда он станет поближе. Ибо, для ряда применений альтернатива пока и не предвидится см. выше.
Сап 2ч, есть 1 тян проект. Собирается градлом, проект большой, куча саб-модулей. Я использую Идею, но время компиляции - очень медленное.
Вопрос - как это решать? Нативный идеевский билдер казался быстрее из-за инкрементальных билдов. Чому градл такой медленный? Или это норм, поменять одну строчку и ждать 30 сек компиляции?