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 сек компиляции?
Доброго времени суток, хотел узнать у людей ваш опыт первой работы, уже второй месяц идёт жабистом на позиции говно трейни, по началу задачи занимали время, но сейчас то что мне ставится делается слишком легко, а ментор обычно не спешит мне заливать нового говна в миску, чем вы обычно занимаетесь в такие промежутки времени, когда вы должны работать но задач нету?
>>1914945 Как. Та же херня. Но уже 6 месяцев. Да, боятся давать что-то сложное или переделать существующее. Девиз «если работает - не трогай». Пишу свои проекты в рабочее время.
Собеседовался тут недавно в одну контору на джва джуна. По итогу мне пришел оффер на 50к нетт. Соглашаться или нет? Это же примерно в рынке как я понимаю, или продешевил (для Котосибирска)?
Я уже задолбался, почему мок неправильно обрабатывает параметры(?) Проверил несколько раз на том же наборе данных, все должно работать, а возвращается страница, как будто tags либо пустые, либо неправильные. Данные правильно создаются, запустил сервер на той же бд, вручную вбил запрос, работает. Алсо, если вместо this.mockMvc.perform(get("/page").param("tags", "два+3три")) писать this.mockMvc.perform(get("/page?tags=два+3три")) Спринг обрабатывает точно так же.
>>1914945 Пиздуй на сканлибс, выбирай понравившуюся книгу и раскуривай в свободное от жевания говна время. Вот уже десять лет так делаю. ОЧЕНЬ дохуя когда эти вложения окупились.
В основном спрашивали про Spring и весь сопутствующий ему стек. Довольно много вопросов было по SQL, но не глубоких, в основном просто пытались прощупать насколько широк кругозор.
>>1915741 Если кому интересно, когда мы через форму <form method="GET" action="/page"> <input type="text" name="tags"> <button/> </form> отправляем GET запрос, он автоматически меняет пробелы "tag1 tag2" на "tag1+tag2", а сервер обратно преобразует '+' в пробелы. Если мы через форму отправим "tag1+tag2", то это будет выглядеть "tag1%2Btag2", но если вручную забьем в адресе "tag1+tag2", то все будет окей.
mockMvc эмулирует запрос через form, вот тут я проебался.
>>1903662 (OP) >Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ? >A: Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна. Вкатился в 2014 на джавараше. Куда пизже для начинающего всяких едживиков.
>>1916270 >на джаве ничего интересного не пишут Ну, смотря что считать интересным. Если бекенд не интересен, то, наверное, в современном ИТ для тебя мало что интересно будет.
>>1916480 Ну и хули ты тогда про табы пиздишь? Любой нормальный редактор заменит твои табы на нужное количество пробелов И да, дрочить табы, гораздо быстрее, чем три ебаных символа, каждый из которых ставится через нажатие shift - <, >, /
В нем есть что то вроде HotSwap/Hot reload - чтобы разработку сделать проще? А именно, сохранил изменения к классе, и без перезапуска аппликухи увидел изменения? А то сейчас апп стартует около 30 сек + пока доберешься в нужное меню - очень неудобно после веба (реакто-ангуляров)
Надо замапать String на String значения и загрузить в HashMap. Вопрос: как это лучше сделать? - вручную загрузить static контекст через FileReader или Stream из простого текстового файла, вручную настроив assert-ы, если кто-то криворуко их заполнит, String A не будет в БД и тд.
- использовать какой-то xml с настроенными параметрами, чтобы что-то проверяло их на правильность, и еще неплохо было бы автоматически загрузить все в Map
Если второй вариант, то какую зависимость использовать?
>>1916487 Набросал хеллоуворлд на свинге с диалоговым окном, показываемом по нажатию кнопки, запустил жарник в идее в режиме дабага, изменил текст в диалоговом окне, жмакнул "Compile And Reload File" в меню идеи, закрыл и открыл диалоговое окно, текст изменился. Видимо, работает, но хз, что у тебя там за проект, может, в реальном проекте не прокатит.
Сап, двач. Как вкатиться из PHP в яву? Опыт кодинга на жаве есть на уровне алгоритмоты сейджвика и прочей хуйни. Чё куда вкатывать? Где мануал? И стоит ли?
>>1916487 Дебаггер в Идее перезагружает классы при изменении. Т.е. надо запускать приложение в debug режиме.
Но, надо понимать, что чудес не бывает. Ньюфаги об этом часто забывают.
Если у тебя уже создан объект в памяти (напр. форма или любой другой), то, его свойства не изменятся при перезагрузке класса. Например, если у тебя создаются две одинаковые формы, ты можешь одну создать со старыми свойствами, а другую - с новыми.
Кстати, в жс hot module reload тоже своеобразно работает. Он не просто пере-загружает модуль, он его ещё и пере-выполняет. Что далеко не всегда в кассу.
Есть второй статический метод, который пытается менять переменную suck у первого:
public static List<Cock> givenCocksWithNullSuck() { givenCocks.forEach(cock -> cock.setSuck(null));
return givenCocks(); }
По сути, я же во втором методе поменял значение переменной на null, но почему мне возвращается тот же самый список объектов, если бы я их доставал из givenCocks()? Стримы не юзаю, терминальные операции не нужны. ЧЯДНТ? И как мне сделать так, чтобы givenCocksWithNullSuck() возвращал список объектов со значением null в переменных suck? Есть такой вариант, но на код ревью сказали, что лучше заменить на forEach.
>>1917261 Ты в givenCocks() создаёшь новый список, а в givenCocksWithNullSuck() обращаешься к статической переменной, а эта переменная так и пропадает.
>>1917261 потому что ты в третьей строчке второго метода, после return, тупо вызываешь первый метод, заново конструируя лист с пососанным хуем, и возварщаешь его из метода. это равносильно тому что вся эта поебень в начале второго метода вообще на мусорку работала, можешь ее закомментить и все будет работать так же. по сути метод-зеркало.
Сап, джавач. Вопрос чисто по Intellij IDE. Можно ли там каким-то способом настроить многострочные комментарии так, чтоб они во всей многострочной массе нормально автопереносились до самого конца комментария, а не только на следующую строку? Например если написал коммент на 10 строчек с автоврапом, а потом вернулся куда-нибудь в середину и что-то дополнительно написал, текст не разъезжался как ноги старой шлюхи строкой ниже, а нормально автоформатировался по ширине до самого конца абзаца, как это происходит в ворде например?
>>1917261 ах да. попробуй ретерн перенести во вторую строку в начало, а третью вообще снеси. или создай локальный лист, запиши в него результат преобразования лямбдой, и потом верни.
>>1917480 > out > Build Artifact > скачивание жарников вручную пчел, лучше разберись с мавеном, ты же охуеешь для какого-нибудь спринга тащить все зависимости. Да и собрать сможешь потом только через идею.
Error: LinkageError occurred while loading main class com.company.Main java.lang.UnsupportedClassVersionError: com/company/Main has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 55.0
Как заметки ведете? Дохуя же всякой инфы. Каждый раз с нуля гуглить не хочется. Просто закладки в браузере - тоже не прям удобная штука. Я вот пока 2 варианта вижу: MS OneNote или Trello
У меня на доп потоках рассчеты, а на основном ввод - вывод
Есть класс Event - ловит события. 2 доп потока должны сделать рассчеты, затем первый сделавший ждет. Второй выведет в консоль знак и занулит значение кнопки, затем пробудит первый. Больше они к рассчетам не попадут. Это та часть, что работает как надо. А теперь то, что не работает:
В основном потоке цикл должен поймать нужную кнопку и разрешить рассчеты. Если посмотреть значение кнопки в основном потоке - все норм, реагирует на нажатия корректно, но в то же время в доп потоках всегда false. Соответственно рассчеты запускаются лишь один раз, затем кнопка зануляется и все. Это одна и та же статик переменная, чому она разная в моем случае я никак не понимаю.
Примерно так
int a = 0;
public void start() { thread1.start(); thread2.start(); while (key) { if (Event.getButton().equals("enter")) { Event.setEnter(true); } System.out.println(Event.isEnter()); // вывод корректный / что-то делаем / } }
public void run() { while (key) { System.out.println(Event.isEnter()); // выводит всегда false if (Event.isEnter()) { / рассчеты / synchronized (lock) { a++; if (a < 2) { try { lock.wait(); } catch (Exception e) { } } else { System.out.println("!"); a = 0; Event.setEnter(false); lock.notifyAll(); } } } } }
>>1917675 >>1917672 Если убрать первое условие на доп потоках if (Event.isEnter()) ВНЕЗАПНО все начинает работать нормально, переменная в допах соответствует тому что в основном. Что это такое?
>>1917705 Как минимум, какой-нибудь долбоеб не создаст несанкционированный объект того, что определено как энам. По энамам можно свитчиться и итерироваться и прочие такие фичи.
>>1917261 Проиграл с этого погромиста. Самых базовых механизмов языка не понимает, но зато у него ПАТТЕРНЫ. В какой-нибудь онлайн-школе научили? смузи выпил уже с утра?
>>1917841 Умное слово для замера времени выполнения разных частей программы. Используется для поиска узких мест (буде таковые имеются и требуют доводки) с дальнейшим их перепилом.
Почему InputStream и Reader это абстрактные классы, а не интерфейсы, ведь это концептуально неверно?? Мне кажется, что это должны быть именно интерфейсы с 1м методом read(byte[])/read(char[]) ну и возможно с несколькими перегрузками типа размера массива в который это помещается read(byte[], long a), но это никак не должны быть абстрактные классы.
Я ответил пока себе так: раньше в java не было такого разнообразия функционала у интерфейсов, не было default, static, private и static private методов, которые окончательно стёрли грань между абстрактным классом и интерфейсов, поэтому криво забабахали раньше, а сейчас уже переписывать слишком накладно где я неправ?
>>1918184 > ведь это концептуально неверно?? Мне кажется, что как раз-таки использование дефолтных методов в интерфейсах концептуально неверно. Интерфейс - это описание контакта взаимодействия с сущностью, а не реализация. Реализация уже должна быть в (абстрактном) базовом классе. Дело скорее в том, что абстрактные классы почему-то нынче считаются плохим тоном, поэтому их функционал тащат в интерфейсы. Жду, когда в интерфейсы добавят динамические поля и конструкторы, и тогда в джаве появится проблема с множественным наследованием.
>>1918289 А что должно произойти для целесообразности теоретически? Или ява и JVM сама по себе слишком сложная для таких дел? Просто мне нравится она, как язык, но не хочу всю жизнь сидеть в энтерпрайзе, а андроид совсем другая сфера, куда будет сложно перекатиться.
>>1918304 Хз. просто джава - это когда нужно написать большой проект с расчётом, что потом поддерживать 10+ лет. А для остального всякие пхп/js/питоны. Перекатиться всегда успеешь, хоть в андроид, хоть куда. Это даже не обязательно джава может быть, а какие-нибудь Go, C#, Kotlin, вдруг тебе что-нибудь понравится.
>>1918231 >изучал самый популярный много лет подряд ЯП >имплаинг это что-то значит ты бы еще сказал что он изучал английский, зодумайтесь на чем вы доки читаете
>>1918065 Если уж такой вопрос тут, то в ближайшее время мне предложат самому себе выдумать должность на эту тему. Что лучше написать чтоб это оказывало минимально положительное действие для последующих возможных HR-ов?
>>1918416 потому что до этого я работал... каким только долбоебом не работал, у меня трудовая это мини-реестр профессий. на программировании я хочу зафиксироваться, и наверное более менее хорошо иметь там запись которая соответствует отрасли, а не какое-нибудь быдлячье "програмизд" (контора не специфическая, просто отдел автоматизации большого предприятия)
>>1918409 Я возможно долбоеб, на зачем нужен этот охуительный цикл в таком виде? чем старый добрый сячий плох? Он же как раз максимально универсальный и с ним можно решить че угодно, что вообще может цикл.
>>1918438 Там написано как это ебать-модно и стильно. И еще какая-то хуйня про то что переменную итератор нельзя менять или юзать из тела цикла. Но это же наоборот хуёво, из-за этого иногда приходится даже для обычного перебора коллекции пихать
>>1918409 Ахуеть, много людей так разбираются в Java, как автор статьи? Я так и не понял фокус с кэшем. Integer[] arr = (Integer[]) field.get(null); arr[130] = new Integer(1_000_000); Почему 130?
>>1918442 Двачая. Тоже не понял. Есть форич, делай там хоть финал, хоть хуял. И синтаксис современный. У меня в проекте можно по пальцам пересчитать где fori используется. >>1918551 Видимо достаточно.
>>1918932 Константы - ОК, а вот мутабельные поля в которых какие-то данные хранятся - не ОК. Вообще сейчас принято иметь некий синглетон который хранит эти данные и создавать его Спрингом или ещё каким DI.
>>1918551 >Почему 130? Просто некий средний элемент. Размер кеша по дефолту 256, первые 128 элементов это -128...-1, дальше идут 0...127. 130 это кэш для Integer(2)
>>1919305 Смысл понимаю зачем так делают. Кажется, это из принципов SOLID или еще откуда-то. Типа лучше всегда бахать более общую мутку(List), чтобы потом можно было заменить ArrayList на что-то другое.
А в чем тут полиморфизм? В том, что мы как раз можем в эту переменную присовывать присваивать объекты разных классов?
>>1919320 Суть в том, чтобы показать функцию зависимости времени работы алгоритма от входных данных. O(1) - не зависит, всегда время примерно одинаковое, O(log(N)) - логарифмическая зависимость, как в каком-нибудь бинарном поиске, O(N) - как у линейного поиска, где просто идёшь по массиву подряд и ищешь нужное значение, O(n^2) - квадратичная, как в какой-нибудь сортировке, где есть внешний и вложенный цикл, и т.д. Но не обязательно времени, это может быть зависимость по памяти, как в некоторых сортировках, которые создают вспомогательный массив. Важно, что это именно функции зависимости, без реальных коэффициентов. Например, O(N) может быть на самом деле 10N. Поэтому нельзя говорить, что O(N) всегда лучше O(N^2), если реально там 100500N и 0.1N^2, и очевидно, что на маленьких данных квадратичный будет лучше линейной.
>>1919324 Спасибо, Анонио Нашел еще статью, всё равно еще не прям кристально всё ясно. Но проясняется как и большинство в кодинге, раз за разом прогоняй одно и то же, будет становиться всё яснее С картинками (графиком) получше воспринимается https://habr.com/ru/post/188010/
Сап двач. Впервые обращаюсь за помощью, т.к. уже заебало пиздец. Разбиение числа на слагаемые: Дано число. Например 5. На выводе будет: 1 1 1 1 1 2 1 1 1 2 2 1 3 1 1 3 2 4 1 5 Решить через рекурсию.
>>1919398 Двачая этому >>1919413 Рефлексия - для служебных нужд. Когда по-другому вот вообще никак. Например нужно автоматизировать загрузку каких-то сервисов. Или создание/вызов чего-то связанного с работой системы в целом. Но нельзя использовать в бизнес-логике. Там слишком много подводных.
Предстоит написать диплом, в качестве БД выбрал PostgreSQL - всего 10 таблиц. Нужно будет создать пользовательский интерфейс и реализовать логику стандартного CRUD'а.
Что лучше подойдёт для этих целей Spring Boot/Swing? Где меньше возни и потенциальных проблем?
Всем доброго времени суток, история такова, я сейчас обоссраный трейни в ноунейм компани, подходит конец 2 месяца и следовательно конец контракта, хотел узнать, каковы обычно действия стоит предпринимать? Если не было инфы от тимлида по поводу продления и чего-либо ещё, стоит ли уже заранее выкладывать резюме?
>>1919746 Легко, сейчас зима, а значит, у тебя есть ещё целых полгода на подготовку к ЕГЭ (или как это сейчас называется) и поступление в вуз. Через 4 года возвращайся, удачи ^_^
>>1920220 Спасибо конечно, но что я жрать буду? >>1919826 >>1920195 Да ты жирнишь, я гребу третий месяц на фронте. У нас людей с курсами и репозиториями уровня туду лист скипают. Или на джаве все так плохо с джунами?
>>1920263 Слуш, ну оно по-любому где-то в аналоге реестра сидит и его можно удалить. Если было бы просто -я бы не спрашивал. Но не значит, что это прям какая-то загадка вселенной, ну я так думаю.
>>1920284 > оно по-любому где-то в аналоге реестра сиди В этом и прикол, что "где-то", не магия же, а вот где именно - почти никто не знает. тг / sniarbtej
Вопрос был не про то, как стать охуенным синьор-помидором, а как вкатиться. С этим набором уже можно начинать искать, конечно же будут слать много где, но шансы уже > 0.
Так-то конечно надо бы знать уже и скуэль и докер-хуекер, спринг и еще кучу всего
>>1920166 Я тоже так думал, а затем вспомнил, как соединял таблицы через hibernate c помощью @ManyToOne, @JoinColumn и он отказывался. Тогда ответа не нашёл, пришлось для каждой таблицы первичным ключом сделать Id (Integer + Autoincrement). Сейчас у меня несколько первичных ключей - Varchar, изменять не вариант. Как это обойти?
>>1921230 Я вообще раньше сидел на emacs, но потом костомизировал vscode и он у меня стал выглядить почти как емакс. Чисто белый лист с хоткеями. Я ненавижу когда на экране есть что-то кроме строк кода. Это ж пиздос.
>>1921341 Статья старая. И там вообще Спринг3. На момент написания статьи спрингу4 было сильно меньше чем сейчас 5ому. Так насколько я понял из контекста твоего ответа можно начинать со старых версий спринга и не будет проблем? Например читая статьи по 8 джаве, когда у меня стояла 11 я проебал знатное количество времени, пока не узнал, что там кое что перестало работать.
>>1921378 >Так насколько я понял из контекста твоего ответа можно начинать со старых версий спринга и не будет проблем? В новых версиях есть новые подходы и лучше учить их.
Выучил я Жаба кор. На сервлетах, SQL и JSP написал тестовый сайт с простенькой регистрацией. Окей, этот этап я понял. Не досконально, но как это все работает более-менее ясно. Решил сесть за спринг, и ни один из туторов(знаю только русский и английский) не объяснил ничего нормально. То есть, буквально, смотришь - а там тебе говорят "Вот делаем так и так, и получаем так". А что делаем и зачем, и что эти слова вообще значат - не объясняется.
Не прошу обучить меня Спрингу, но, прошу, скажите, где его можно выучить самостоятельно без финансовых вложений? Книги, бесплатные курсы(возможно, на Ютубе), и тому подобное. Буду очень благодарен
Начать с глубокого понимания что такое IoC и DI как частный случай, потом можешь свое приложение попробовать переписать используя только DI модуль спринга (собственно основной) путем делегирования тех мест, где ты создаешь свои объекты - спрингу.
Ну и вообще spring in action в качестве книги и оф. документация спринга на английском это вроде более чем достаточно? Вики статьи по аббревиатурам выше сам найдешь и все там выдрочить.
Да и плюсом можешь вообще обзорно глянуть на други варианты исполнения DI в жабоебском мире - google guice например
>>1921768 На ТыТрубе ищешь "Борисов Spring" Книги Spring in Action (для начала) и Pro Spring 5 (более детально) Ну и Spring Framework Documentation на spring.io
>>1921820 если совсем тупой (как я) на рутрекере есть курс Spring & hibernate (там негр какой-то ведет его). Но он на английском. Там все поэтапно расписывается каждый шаг
Пацаны,у меня такая проблема. Отправил запрос на получение ультимейт версии идеи,в вузе письмо от джет брейнс подтвердили. Проблема в том,что там нет никаких ссылок. Так вот,как мне получить мою версию среды?
>>1923569 Не знаю, какие приколюхи, но в нем банально имя и версия проекта задаются в разных файлах + нельзя использовать параметры для указания версий зависимостей. Нахуя на него спринг бут перешел, не знаю, наверняка там одни костыли ебаные.
>>1923616 В Шилдте нет готового кода с примерами, только куски. И чтобы потрогать код тебе остальную часть программы придется дописывать. Если не с нуля можешь попробовать Хорстманновский Java for Impatient. Он написан типо для тех, кто знает другие языки. Там даже задачи есть. Но я не осилил, так как с нуля.
Не нужно совсем нулячим лезть в жабу. Там дохуя всякой жабаспецифики, изучение которой буден дерейлить вас от самого главного — алгоритмов и структур данных. Вкатывайтесь в питон, а потом, есл уж так сильно жизнь прижмет, будете вкатываться в жабу с сильной базой, что сделает вас привлекательее на фоне местных жабаманек, которые, кроме видосиков по спрингбуту, ничего не видели и не знают.
>>1923678 >от самого главного — алгоритмов и структур данных. Но почему то в популярнейшей энтрилевел книжке по алгоритмам на питоне про хешмапу и некоторые другие структуры данных 5 раз большими буквами написано "вам никогда не надо будет знать реализацию, все реализовано до вас". Так много раз это повторено, что могли бы столько же места потратить и написать наивную реализацию.
>>1923678 а че не в паскаль сразу 4 годика порешаешь олимпиадные задачки на заливку красного черного ануса краскала через очко дейкстры и в принципе можешь вкатываться в джаву пилить круды
Подсоны, в чем космический эффект сборки jar файла, когда в него же попадает application.yml? Разве это не тупо - конфиг держать внутри исполняемого файла и при каждом пуке пересобирать или лезть архиватором внутрь?
Поясните по хардкору, это просто дебил делал или так исторически сложилось или есть какой-то неочевидный плюс в этом?
В чем блять прикол, чем это отличается от хардкода?
Аноны, такая проблема: спринг-бут автоконфигурация запускается раньше чем мой ApplicationContextInitializer, который я добавил с помощью SpringApplication.addInitializers
В результате @ConditionalOnMissingBean в автоконфигурации не матчится с бином, который я добавляю в ApplicationContextInitializer, и у меня создаются два бина одного класса
Как можно заставить ApplicationContextInitializer выполниться до резолвинга автоконфигураций? Или как-то это по-другому пофиксить
Аноны, мне надо к приложению прикрутить базу H2 in-memory, чтобы тесты юнит-тесты поделать. Основная база на Postgres, накатывается через liquibase Я чет как-то хуево понимаю как мне это всё заделать. Впервые такая задача. Можете подсказать гайд какой-нибудь ?
Аноннеймы, нужен ментор или наставник по Java+Spring, который подскажет в каком направлении двигаться после каких-то шагов. Сам учу уже месяца 4. Цель к сентябрю вкатиться в любую контору на зп от 400$. Взамен могу с удовольствием помочь в сфере фитнеса, тренировок, питания. Я в этом уже неебаться сеньер. Если нужны какие-то деньги, то много не смогу предложить, но если что какую-никакую копеечку дам.
>>1924850 Вот фотка с более давних времен, где более сухой. Сейчас за 2 месяца не успел нихуя был ни набрать, ни просушиться и к лету просто буду худеть, чтоб не выглядеть как долбоеб.
>>1924995 хуита ебаная такое ощущение, что ты рандомными словами эти кирпичи заполняешь. притом, если такой парашей заполнять, то на core всего этого листа не хватит с двух сторон. что такое sout например? шорткат из идеи? серьезно? жава кор? охуеть. и концептуально это тоже отсасывает. ты не можешь просто написать "static" и запомнить под этим какую-нибудь залупу для младопидоров типа "поле общее для всех объектов класса", как это пиздят на каком-нибудь джавараше. Потому что многие ключевые слова в джава имеют множество семантик в зависимости от контекста применения, и все их сразу ты технически не ухватишь - нужны знания в областях, которых ты еще не коснулся, "все связано со всем". не благодари за то что я все это обосрал.
>>1925097 На самом деле лучше обосрать с ног до головы, чем ничего. Так что спасибо, анончик! А на счет статик да, именно то что это поле общее для всех классов я только это и знаю.
>>1925102 общее для всех объектов, ты хотел сказать, но это ебланский способ об этом думать. надо воспринимать его как принадлежащее классу, и обращаться к нему от класса через оператор точки, а не от объекта, хотя синтаксически можно и так и так. static имеет не особо похожий смысл, если им помечается вложенный класс. вообще, надо прежде всего воспринимать static как особый вне-объектный контекст, а не как какие-то там общие поля. >>1925101 заткни ебло
>>1925113 Пиздец про этот статик можно целую книгу выпускать ебать его рот. И сколько всего такого предстоит - страшно представить. Но глаза боятся, мозг запоминает, руки делают.
>>1924995 Хорошо тем, что время от времени можно посмотреть на это и понять: "вот тогда я знал столько, а сейчас вооот столько". Видеть свой прогресс очень важно. Но свои проекты (тот же fuzbaz, number gesser) для этого подойдут лучше.
>>1925451 При ветвлении тип получается (точнее сохраняется) либо long, либо double (как надо). С тернарным оператором - всегда double, то есть ветка else. Я думал, что неправильно его написал, но idea генерирует такой же.
>>1925518 >>1925516 Немножко поковырявшись в твоем говне, вангую, что тернарный оператор смотрит на ОБЕ свои выходные ветки, и действует согласно правилу приведения типов для любых бинарных операций, а именно тупо приводит его, во-первых, к более широкому, а во-вторых к плавающеточечному, если хотя бы один операнд такого типа. Потому что даже если написать пикрил, то аутпут соответствует все тому же правилу. Впрочем, любые комбинации типов суперкласса Number дают такую логику. Но раньше я этого тоже не знал например, да и вообще не юзаю тернарное говно. Буду знать что там надо опасаться если ковыряешься с типами облочками. Такое ощущение, что Идея сама не в курсе этой хуйни - это первый раз, когда автосимплификация вырожденного кода дает реально другой результат, чем без нее. ты должен мне 15 минут моей жизни, сученок
Не понимаю, для каждой ветки надо заводить отдельный локальный репо? Я пытаюсь переключаться в ide между ветками, но все одинаковое, либо у меня репозиторий сломанный.
>>1925715 > для каждой ветки надо заводить отдельный локальный репо? Не нужно. По крайней мере до тех пор, пока тебе не понадобится держать несколько собранный веток одновременно. Попробуй переключаться вручную из консоли через git checkout, может, что-то не то в иде ты делаешь. А может и правда репозиторий сломан.
>>1925795 Текстовый квест про трапа. Квест про трапа на свинге. Программу, которая скачивает все видео со страницы трапа в твиттере и каждый час смотрит, появились ли новые.
сап, джавач делаю спрингбут многомодульный грейдл проект, вытащил конфигурацию log4j2 в ресурсы коммон модуля(не стартер), подключаю коммон модуль в модуль с приложением и приложение при старте выкидывает FileNotFoundException
Возможно ли подтянуть конфиг логгера из другого модуля? И если да, то как правильно задать? logging.config=classpath:log4j2-spring.xml не работает Не хочется использовать конфиг-сервер для такого
Салют, челы. Вот рил, немного не в теме. Плиз не кидайте палками. Вот правда, не бейте.
Чё такое интерпрайз разработка? Не знал где ещё спросить, вы ж блять сука это пишете.
Вот например как я это понимаю:
Есть допустим школа. У школы есть софт с электронным журналом(в базе лежит), причём тупые бабки-учителя не могут нормально заполнить выданные фронтенд формы и они хотят чтобы в EXEL можно было вписать оценки и они хуярились в базу. И короче должен естественно быть менеджер ролей чтоб учителя могли ставить оценки, ученики смотреть(но только свою часть менять). Ну и чтоб были там одмины которые видят логи изменений. Ну и ты понел.
>>1926453 А что не так то? Если это ЮИ, то это нормально. У меня глаз начинает дергаться, когда я захожу на какой-нибудь сайт, а он мне GovnoNotFoundException и километровый стактрейс. Поэтому считаю что на ЮИ отвечать 200 с кодом/текстом ошибки - это нормально. А вот если у тебя сервисы между собой двухсотыми общаются - ты долбаеб.
>>1926653 > А вот если у тебя сервисы между собой двухсотыми общаются - ты долбаеб. Да вон в бугурт-треде уже четвёртый тред срутся про это, не могут прийти к консенсусу.
Сап программач. Вкатывание в java+spring+hibernate решил с написания движка имиджборды, важным требованием к которому является возможность добавления разделов без программирования. Но тут же возникли вопросы проектирования БД, которые я сам решить не в силах. Так я предполагал, что у меня будет одна сущность "пост", под каждую доску своя таблица постов, а конкретная таблица должна мапиться в рантайме. Как понимаю, это невозможно, должны быть сразу описаны все сущности с указанием таблиц? Это убивает возможность добавления новых разделов без кода. Насколько плохо иметь одну таблицу постов на все разделы? Есть ли другие варианты?
Core вроде прошел до определенного уровня. sql, junit очень поверхностные туториалы прочитал(скоро поуглубленнее возьму). maven, git, паттерны прямо сейчас в процессе hibernate, spring уже выбрал книжки и учебные материалы. html, css, js хз насколько глубоко нужны и откуда брать курсы. jenkins вообще не знаю что такое - в вики прочел - не понял.
>>1926733 > под каждую доску своя таблица постов, а конкретная таблица должна мапиться в рантайме Это возможно, но не делай так, потом охуеешь писать костыли. Создавай только одну таблицу. Если ты собираешься создавать по таблице постов на раздел, чтобы в каждом разделе была независимая нумерация, то это делается по-другому. Создаёшь одну таблицу постов, делаешь в ней столбцы id_раздела и номер_поста, затем таблицу с счётчиками номеров постов в разделах и индексом на id раздела, при каждом новом посте ищешь значение счётчика, увеличиваешь его, берёшь новое значение и инсертишь с этим значением пост. Есть ещё другой вариант с сиквенсами вместо этой таблицы счётчиков, но там всё несколько сложнее, нужно будет выполнять запросы DDL во время работы приложения + генерировать названия сиквенсов так, чтобы их потом можно было найти. Или, наконец, можно просто забить и делать общую нумерацию на все разделы.
>>1927016 Так и делаю, эти два поля у меня в составном первичном ключе. Только не получается замапить поле Post parent. репозиторий возвращает null https://pastebin.com/4m85ybQe https://pastebin.com/aPiy7kbh С одной стороны можно отдельно первичный ключ одним полем задать, с другой - хотелось бы разобраться.
>>1926734 В целом да, актуально. 1. Кор вдоль и поперек. 2. Ооп вдоль и поперек. 3. Коллекции так же. Часто спрашивают, да и вообще нужно хорошо знать. Отличие линкед листа от arraylist, как устроена хэшмапа. Вообще, чем больше коллекций знаешь, и знаешь как они работают, тем лучше. Сюда же стримы. 4. Jdbc достаточно поюзать, ничего сложного. 5. Скуль на уровне: написать селект, удалить запись, изменить запись, сделать инсерт, создать/удалить таблицу. Вообще - скуль очень нужная вещь. Ведь в джаве почти всегда надо работать с данными. Поэтому чем лучше знаешь - тем лучше для тебя. Но многому можно учится в процессе. В идеале еще посмотреть пару видосиков об индексах. Если будешь устраиваться на работу не в контору «дяди Коли», знание об индексах будет плюсом. 6. RDBMS. Выше уже написал про индексы, сюда же понимание что такое транзакции, ключи и прочее. На уровне понимания что это. 7. Хибер знать надо. А еще надо знать в каких случаях он лучше чем jdbc, а в каких хуже. Вообще достаточно обширная библиотека. Чем больше о ней будешь знать, тем лучше. 8. IoC и DI. Если говорить о спринге - его весь наверное знать вообще не реально. Но как уже писали, желательно потрогать дату, бут, ресты. Не кейс конечно, но если еще и будешь знать как оно работает - вообще круто. 9. Мавен да, ничего сложного. В 2021 думаю почти все мавеном собирают, но лучше хотя-бы потрогать градл. На всякий случай. 10. Тесты вдоль и поперек. На это много где смотрят. 11. Гит на уровне push, pull, fetch, init, commit, merge, branch. Понять зачем вся эта срань нужна когда пишешь один - не реально. 12. Просто знай что это. 13. Нужно будет 50 на 50. Хтмл, цсс - это вообще в школе вроде проходят. Жс я в свое время учил за неделю. Короче это лучше на последок оставить. Можешь если хочешь телегу оставить, могу еще чего накидать.
Блять, у меня в вузе джава, и я ее просто не понимаю, все эти классы хуясы, методы, конструкции вызова замыкающиеся сами в себя. После питона голова кругом. Пиздец. Есть вообще для идиотов тупых учебники или уроки. Прям максимально разжеванно.
>>1927387 >После питона голова кругом Вообще-то в питоне классы-хуясы куда сложнее. >замыкающиеся сами в себя Так, ты ведь еще одна ебанушка, которая перепутала яву и яваскрипт?
>>1927395 Мы на питоне писали программы уровня принт('говно'), а тут меня стали просит ебаторию лютую, что я не в состоянии код написать, который от меня просят. Поэтоиу пришёл просить учебники.
>>1927391 > Вообще-то в питоне классы-хуясы куда сложнее. С чего бы? Из-за того что там есть множественное наследование, реализованное наркоманами, но никем не используемое? Или из-за того что там ненастоящее ООП?
>>1927413 Ну да, вот этому >>1927451 Два чая. У меня лид работает пару часов от силы. Но опять же, я думаю тут от загруженности команды. У меня просто не очень загруженная. Но есть кто втухает на все 8 часов
>>1927365 Когда-то за то, что я заявил, что стандартная библиотека (коллекции, стримы) - это не core, меня тут завсегдатаи обоссали, а теперь, типа, наконец-то это проходит норм?
>>1927724 Хуёр. Core - это семантики языковые, как какие конструкции работают. А все что на них написано и является стандартной библиотекой, это, блядь, стандартная библиотека. Например дженерики - это core, потому что для них выделен специальный синтаксис и многое что заточено в языке. Или реализация лямбда-выражений. Но вот стрим-АПИ это никакой не кор, это часть стандартной либы, которая серьезно завязана на части ядра языка в части лямбд.
Посмотрел видос про CRUD на MVC, неплохо объясняет. все понятно https://youtu.be/NA6n1Xu7o_g А есть что-то подобное про CRUD в виде Rest API? А то я чет не очень въезжаю пока в во всю хуйню типа DTO и прочего, нормальный гайд не нашел. Нужно что-то более разжеванное. Подкиньте видео- или текстовый гайд, плиз
>>1927795 Хуяпи. Нет, хуйня, стандартная библиотека - это тоже кор, иначе бы вместо "кор" говорили бы "синтаксис". Не нужно вводить кучу путающих определений, всё равно нужно знать всё, и как ещё это одним словом назвать?
>>1927890 Термин "синтаксис" в применении к семантике употребляют только долбоебы. Нормальные люди четко это для себя различают на естественном каком-то уровне. Кор - это набор семантик языка, реализуемых через синтаксис. Есть языки со строго совпадающими семантиками, но реализованными через разные синтаксисы (C# и VB.NET например, или 1C на русском и нормальном синтаксисах). Как вообще блять программист может этого не понимать? Абсолютно любую библиотеку (из стандартной джавы) можно завелосипедить/разобрать с нуля, зная Core, но ничего из Core нельзя разобрать "само по себе", не читая доков языка. В этом принципиальная разница.
Пацаны, я тут с Зукипером где-то пол года назад всех заебал, снова выхожу на связть мудило
На поддерево создаю в джаве кэш CuratorCache.build(..), вешаю листнер на него через .listenable().addListener, все работает заебись, ивенты приходят в листнер НО в двух приложениях эта хуета работает через пизду: NODE_CREATED при создании ноды нихуя не приходят. Соответсвенно если удалить ноду, по которой мы не получили ивент NODE_CREATED, то и NODE_REMOVED не придет. А если апдейтнуть ноду, по которой не было NODE_CREATED, то придет NODE_CREATED (вместо NODE_CHANGED)
В какую сторону можно покопать? кластер ЗК один и тот же, но вот в некоторые клиенты так криво приходят ивенты
Как понять, что я более-менее знаю кор и можно переходить к спрингу и прочим бекендерским штукам? Есть какие-нибудь тесты или что-то в этом духе? Просто везде пишут, что нужно знать кор, но ведь его можно чуть ли не бесконечно дрочить, особенно если готовиться к сертификации оракла?
Да и еще, ведь в кор также входит многопоточка и классы из java.util.concurrent? Эти вещи тоже можно чуть ли не бесконечно изучать, особенно если углубляться в то, как работают эти хитрые коллекции
>>1927956 >>1927960 Пчелик выше пишет, что кор не включает в себя стандартную библиотеку. Значит, ты должен знать кор, а также класс String, классы Integer и Long, несколько классов исключений, стримы, классы коллекций, базовая многопоточность (хватит Thraed, ExecutorService, Future и подобного). Бесконечно учить ничего не нужно, хватит на уровне любой книги для начинающих. В первую очередь потыкай SQL+JDBC. Ещё, возможно, основы HTML (да и понимание протокола HTTP не повредит). После этого уже можешь учить спринг.
А кто-то в треде занимается распределенными системами, бигдатой или около того? С чего можно начать изучение этих вещей? Просто интересно попробовать что это такое.
>>1927967 String, Integer, Long - эт тоже часть Core, в некотором роде. Полукор, можно сказать. Потому что все это хоть и реализовано как классы, но имеет именно некоторые особенности языкового плана. Эти вещи инициализируются литералами, например, еще есть автобоксинг для типов-оболочек, String pool для строк и всякое такое дерьмо. Точно то же самое с тредами и исключениями - они тоже хоть и классы, но язык снабжен всякими механизмами кидания/отлавливания, синхронизации и прочим, которые работают только с объектами этих классов. А вот коллекции идут нахуй. Можно возразить, что они соприкасаются с ядром через способность итерироваться по foreach, но это может делать любой велосипед, реализующий Iterable, и вот его уже можно считать частью Core, с ним "магически" работает конструкция foreach. Чтоб не ебать голову на тему кор-не кор, можно взять книжку шилдта, у него четко называется часть первая - "Язык Java". А всякая шелупонь навесная идет уже в части 2 - библиотека джава. Шилдт вообще грамотный чувак и шарит, странно что его талмуд здесь не в топе. Пчелик-выше
>>1927684 Я работаю в полной сране, но с мавеном это никак не связано. >>1927721 В первую очередь я писал в контексте пикчи. Развели тут какой-то холивар. Зануда мод он Гуглите Oracle Java Core. Там все написано. И мультитрединг есть, и сервлеты для ЕЕ, и даже про ГЦ написано. Но если с этой стороны смотреть - тогда не пишите код вообще. Цельтесь в получение Oracle OCA/OCP. За вами очередь будет стоять из ХеРок нет Зануда мод офф А если серьезно, какой смысл спорить. На чистом синтаксисе, без знания стандартной либы, хотя бы на уровне того, что используется каждый день (стримы, обертки, дженерики, итд) - вы идете нахуй. Именно это в большинстве случаев и подразумевается, когда говорят Java Core
>>1903662 (OP) Анон, какие есть годные спираченные курсы с рутрекера? Помню пару лет назад джавараш был халявный до 20го лвла, сейчас гайки закрутили с 1го уровня все премиум. Гиперскилл годный конечно, но хочется и на русском уроки посмотреть. Хочу вкатиться в джаву чтоб быть куа автоматизатором, так что сверх жесткие навыки мне не нужны. Да, сейчас тестюк.
>>1928581 >>1928513 Вот тут написал. Нужно перелопатить кучу кода, протестировать что все работает, а есть еще 100500 задач, которые нужны для бизнеса и стопить их нельзя.
Нужно реализовать fine grained блокировки на некие ресурсы. У каждого ресурса есть уникальный ID, но ресурсы не в памяти, а читаются с диска и потом туда пишутся. Тупо synchronized на объекте не вариант, потому что объект могут прочитать 2 раза. Надо сделать некую структуру, где бы можно было бы по ID захватывать блокировку, в идеале ReadWriteLock. Простейшая идея это Map<Long, ReadWriteLock> но ресурс может быть заблокирован/разблокирован один раз, а потом не использоваться и надо удалить запись из мапы чтобы она не росла. Но непонятно как это сделать атомарно. Смотрел StampedLock но не понял как его применить к этой ситуации.
Сап, жависты. А поясните, почему джависты так дрочат на это OOP, со всеми паттернами-хуяттернами. Стратегии, адаптеры, стратегии, билдеры.
Прям по колено в паттернах сидишь и ебёшься в жопу. Может это я C++ макака и не привык к нормальному коду, но блять какой же по-всюду ад бля. Ребят, вам делать нехуй?
extends Thread/implements Runnable какой-то. Прям больно. Это я макака? Или весь джава код на этом говне?
>>1928744 Юзаю хранение блокировки в редисе. Ставишь дюрейшен 5 минут - и в случае чего блокировка сама протухнет через это время. Саму блокировку делаешь closable и осуществляшь через try with resources. Тред вышел - блокировка снялась.
>>1928799 Большая часть типичного бизнесового кода на жабе - это чистая процедурщина, гугли anemic model - классы у тебя либо в роли структур без логики, либо в роли модулей с процедурами. А паттерны в том или ином виде есть везде, просто их не всегда принято так называть. > Стратегии Это почти как передавать нужный колбек в функцию. > адаптеры Примерно как писать высокоуровневую обёртку над низкоуровневым API. > билдеры Заполнить структуру, передать в функцию, на выход получить какой-то объект, созданный на основе структуры. И т.д.
>>1928782 Нет, не хочу, у меня upper-intermediate, мне норм. Но фундаментальную инфу по новой области я предпочитаю на русском узнавать и только потом задроченное уже на английском, когда я не плаваю в теме.
>>1928818 Мне бы что нибудь in process, потому что требование поднять Редис для того чтобы использовать библиотечку это как-то перебор. Да и сеть сожрет половину времени блокировки.
>>1928799 то что ты высрал на тему extends Thread/implements Runnable вообще отношения к паттернам не имеет. И вообще, нехуй месить мух, пчел, мед и говно в одну кучу. ООП позволяет логично для человеческого разума (!= правильно, просто в терминах, обыденных и привычных для гомо сапиенса). А паттерны в основном это механизмы, которые позволяют сделать более удобной реализацию этого ООП. вообще не пользуюсь паттернами, например.
>>1928824 Сложно ответить в отрыве от контекста. А что можешь сделать? Ин мемори поднять можешь? Или все внутри кода должно быть? В любом случае, попробуй пойти по пути хранения лока в closable объекте. Тогда тебе теоретически и не надо запоминать состояние. Либо придется костыль пихать на чистку твоей мапы.
>>1928847 Я ищу решение, на примитивах синхронизации явы. Я уже решил на базе глобального ReadWriteLock, но хотелось бы придумать что-то получше.
В принципе тред который освобождает лок, может проверить что он последний и подчистить его. Или какой-то background job. Но как это сделать атомарно я пока не придумал.
>>1928881 Никакую. Как вы заебали со своими теоретическими знаниями. У всех один и тот же вопрос: какую книгу скачать/что на ютубе посмотреть? Напиши 5 приложений. От простого к сложному. Будут вопросы - задавай, гугли. Если не понимаешь конкретных вещей в из вакансии - напиши с этим приложение.
Разве это не пример паттерна стратегия? В то время как в крестах тред это объект Ты просто создаёшь объект тред и передаёшь ему функцию/метод который ему надо запускать.
> ООП позволяет логично для человеческого разума
Да уж, логично. Менеджеры, адаптары, диспетчеры кругом...
Книги лучше не читай. Книги, к сожалению, очень часто содержат дохуя вот такой вот хуйни как на пикрелейтед, из-за которой просто перевод бумаги какой-то.
Если ты уже смешарик и знаешь простую хуйню, чё такое переменные, циклы, эксепшины, потоки, и тд - не читай.
>>1928886 Так ведь без тонны теорию на работу не берут, тупо надо хрюшу пройти, блять. >>1928908 Ох, тут двачую. Еще примеры с петей колей Ваней и класс собак подкласс кошка наследует метод спать, имплементирует метод рычать и метод двигать тазом.
Чтение из файла пятью способами и прочее
Помню собес был, скинул свой проект, это еще был фронтедт, там хтмл цсс жс жыквери все такое.
Она мне говорит так злобно "чего в хтмл документе твоем нет" я говорю бля, заьыл доктайп хтмл написать, ну типа уже ведь похуй браузер все сам понимает. Она ряяя, где вы только учитесь и не пропустила.
И прочие мелочи.
Где храняться файлы Какие уровни можели оси знаете Что такое хешмап и прочее.
Сука, можно я сделаю просто пару приложений и вы меня джуном возтмете, блять, что это за издевательство
>>1928908 Простую хуйню есть такое. Что такте потоки, классы, объекты, поля, методы, наследование, инкапсуляция, полиморфизм, абстракция, примитивные типы данных, классы обертки, мотификаторы доступа, строки, циклы, массивы, массивы массивов, аннотации, геттеры, сеттеры. - этого хватит для перехода к ждбс, хибернейтам и градлам или еще поучить/почитать базы?
> Она мне говорит так злобно "чего в хтмл документе твоем нет" я говорю бля, заьыл доктайп хтмл написать, ну типа уже ведь
Пропускать доктайп и правда хуйня. Это ошибка в html, даже несмотря на то, что браузер отобразит, сайт просядет по SEO. Гугл не любит сайты с ошибками в html. w3c валидатор скажет тебе что это ошибочный html.
> Где храняться файлы
Какие блять?)) Системные либы что ли?
> Какие уровни можели оси знаете
Ядро, система, пользовательские приложения? Может тебе ещё им про кольца защиты рассказать? Нахуя им блять это?
> Что такое хешмап и прочее.
Внутреннее устройство и реализация? Если только как пользоваться, нормальный вопрос.
Полистай там. На собесах почему-то любят новые фишки.
По базам зайди сюда. Тут можно поучиться на практике делать sql запросы. https://sqlzoo.net/
Да, в принципе ты смешарик уже. Напиши на spring'е книгопоебень.
Ну ты понял. Разделение на роли(гость, библиотекарь, юзер). Регистрация с эмейлом. Книги в базе
Люди могут ставить комменты под книгой. Можешь сделать серии книг, чтобы под серией можно было ставить комменты. Под всей серией Властелина Колец, например.
Ещё сделай рекомендацию что почитать. Юзер ставил лайк на книгах A, B, C. И ставил дислайк на книгах X Y Z. Что лайкали те, кто лайкал то же что и юзер и дислайкал то же что и юзер. Хотя бы примитивную и кривую.
Анончики, а без английского мне дорога нахуй? Я читаю, процентов 80 понимаю, но это все не на автомате. Это само придет надо просто потерпеть или поучить, посмотреть кинчики/гайды, литературу попереводить?
>>1928985 C2 от тебя никто не требует. Если в целом можешь читать какие-нибудь стековерфлоу и баелдунг и читать/писать комментарии в коде и в сообщениях гита на инглише (всякое бывает), то этого достаточно.
>>1928920 Так я и не говорю что вообще не надо ничего учить. Хэшмапу ту же надо. А почему бы не попробовать написать Хэшмапу? И учить не надо получается. А то что из-за доктайпа не взяли - радуйся. Такие конторы нахуй идти должны.
>>1928888 > менеджеры, адаптары, диспетчеры кругом... потому что не абсолютно все в мире можно представить как физическую сущность, но зато практически что угодно - как упакованные вместе данные о состоянии, и том что с ними надо делать, а так же интерфейс этого всего "наружу". в терминах какой-нибудь функциональщины это было бы, наверное, сложнее. Или процедур абстрактных которые сами по себе
>>1928888 > Разве это не пример паттерна стратегия? Может быть, хуй знает. Просто половина этих так называемых паттернов соответствуют принципу "назови какую-нибудь очевидную для любого не-ДЦПшника технику программирования "охуенным паттерном" и выебывайся". На деле что-то действительно оригинальное предлагают единицы из них, а все остальное и так каждый использует на естественном уровне (если только не обезьяна)
>>1929259 Так Гоф паттернам 25 лет. И на них написано к чу всего, в том числе стандартная библиотека жавы. И очевидны они только тем кто уже насмотрелся в ООП код. Мне например не очевидны.
Аноны, а чем, собственно, плохи зависимости модулей друг на друга? Кроме того факта, что, например, мавен просто не может их разрешить, из-за древовидной структуры, в итоге выкидывая ошибку cyclic reference. Чем плох такой дизайн в принципе, если вдруг сборщик это поддерживает?
>>1929477 Ну мое мнение - без разницы. Но я бы начал с гибера. >>1929472 А что плохого то? Я хуй знает. Тут все в стартапах работают что-ли? В фирмах в которых возраст кода пару лет? Реальность такова, что ты не знаешь куда попадешь. У меня на текущем проекте нету спринга. Эти задачи решаются через гуйс+гибер. Только вот выше обсуждали, что еще не все на 11 жабу перешли. Почему вы думаете что все на спринге работают?
>>1929478 > говнолисапед К тому же решето. Да понятно, что он для учебных целей это делает. Секурити достаточно сложный для понимания, а сделать всё по-тупому вручную как в каком-нибудь пхп - легко.
>>1929481 Когда ты приходишь на проект, там как правило уже всё сконфигурировано, что с бутом, что на древнем хмл, и в первую очередь надо уметь юзать фишечки хибернейта, а не настраивать его. Спринг бут дал бы более низкий порог вхождения при обучении, чтобы можно было сначала понять, что за хибернейт и что через него можно сделать, и уж потом детали его настройки.
>>1929485 Ну, твоя позиция не лишена логики. Да, в большинстве случаев все уже настроено. Но нужно же еще уметь поменять настройки. Хотя-бы понимать где это делается. А так да, основные механизмы в гибере что со спрингом, что без него, в целом учатся одинаково. Я бы все равно, хотя-бы прошел бы простой getting started с гибером. Там ничего сложного. А как этим пользоваться, можно учится уже в рамках спринга
Уважаемые аноны - знатоки джавы, подскажите. Дрочу месяц джава кор, зашел на leetcode задачки порешать. В первом же модуле у меня проблемы с задачей на удаление дупликатов из отсортированного массива, моя тупая голова не может не то что решить, а даже понять как решение работает. Как развить логическое мышление чтобы решать подобные задачи?
>>1929578 Коллекции учил или это не ко-ко-кор? Выгрузи свой массив в Set и верни его через toArray(). На сэкономленное от думанья время может попить кофеек и поучить спринг.
как же хочется сервлетик запустить... на версиях жабы 11 и 15 джетти и томкат пишут java.lang.reflect.InvocationTargetException на 7 версии пишет unsupported class version 52...
>>1929600 Ну тогда рисуй блок-схему алгоритма на бумажке. Вот ты итератор, допустим, стоишь на 0 элементе массива. Дубликаты удалять нет смысла, потому что элемент пока считан всего один. Вот ты переходишь на элемент + 1 и тут поток-хуесосина пытается подсунуть тебе дубликат прошлого элемента. Что будешь делать: сохранишь его как псина жалкая или проигнорируешь?
>>1929609 Вот задача, сильно не смейтесь. Given a sorted array nums, remove the duplicates in-place such that each element appears only once and returns the new length.
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory. Example: Input: nums = [0,0,1,1,1,2,2,3,3,4] Output: 5, nums = [0,1,2,3,4] Explanation: Your function should return length = 5, with the first five elements of nums being modified to 0, 1, 2, 3, and 4 respectively. It doesn't matter what values are set beyond the returned length.
Вот решение, в нем я уже разобрался: class Solution { public int removeDuplicates(int[] nums) { int i = 0, j = 1; while(nums.length > j) { if(nums[j] == nums){ j++; } else { i++; nums = nums[j]; j++; } } return i+1; } }
Но как мне самому придумывать подобные решения? Вчера весь день сидел, ничего на ум не пришло, только неработающий бред.
>>1929613 Потратить пару лет на решение сотен таких задач. Если хочешь продрочить алгоритмы - я бы все таки ставил таймер. Не можешь решить одну задачу за 2 часа, гуглишь, не можешь нагуглить за час - бросаешь и переходишь к следующей. Я сам на такую хуиту в общей сложности лишних пару недель потратил. Было очень приятно, когда находил решение того, что долго не давалось. Но толку мало.
>>1929626 Двачая. Тоже в свое время недели две потратил. Круто когда получается. Но потом я понял, что такие задачи - сферический конь в вакууме. Никак не помогают стать программистом.
Кстати, по поводу заказов через почту всяких препаратов.
Вот я вроде бы заказал безобидный какой-то препарат. А вдруг, сайт был какой-то подставной и там мне заведомо дрянь какую-то положили какие-то лица. Мб сотрудники полиции, например. Я прихожу получать на почту, а там совсем не то, что я заказывал и меня крутят. Как доказать, что я заказывал вовсе не то, а другое. Как защититься?
Всем доброго дня. Живу в жопе мира (До москвы больше 7 часов лету). Пытаюсь вкатится в java разработку, хочу работать либо удаленно первое время, либо с переездом(даже за свой счет) при получении офера в какой нибудь крупный город. Сделал 170 откликов на hh.ru пригласили только на 1 собеседование. Че писать в резюме и какой проект с какими технологиями лучше создавать и заливать на гитхаб, чтоб HR нормально шли на контакт? Сейчас в резюме проставлены ключевые навыки: Java, ООП, Maven, SQL, Git, Spring Framework, Spring Boot, Hibernate, Gradle, REST И в пункте о себе что типа делал CRUD MVC на Spring Boot/Hibernate/Thymeleaf, приложение по взаимодействию с внешними REST API и консольные приложения на Hyperskill.
>>1929685 Главная цель трудоустройство и дальнейшее развитие. Вариант с удаленкой рассматриваю только если пройду на такую вакансию, и то при прохождении испытательного срока сам переберусь куда нибудь ближе к цивилизации.
>>1929681 >>Сделал 170 откликов на hh.ru пригласили только на 1 собеседование. Это за какое время? За один день? Если за день, то уже неплохо. У меня первый собес гораздо позже нарисовался.
>>1929697 С 7ого декабря. Но резюме более менее оформил(как я себе это представляю) в начале января. До этого просто написал что курсы проходил всякие, по своей наивности думал просто похожу по собеседованием, попрактикуюсь в прохождении)
Ну хз, надо быть полным кончем чтоб такое не смочь решить. Массив-то отсортирован, просто сравнить каждую пару соседних элементов, i и i+1. Создать булев массив аналогичной длины, и в нем делать пометки на удаление по индексам. Потом пробежаться и снести все лишнее. В зависимости от дизайна массива (статичный или динамический), он либо сам заполнит пустоты (главное не обосраться со съехавшими индексами, для чего удалять с конца следует), либо сделать это вручную тоже не проблема. Но вообще православно просто сделать arrayName.toStream().distinct().collect(Collectors.toList); и не ебать голову (я мож чуть обосрался в коде, по памяти-то, но суть ясна)
>>1929679 Двачую этого. Пиздец нахуй, каждый первый пиздит тут как на спринге запилить приложение для выбора шлюхи с выбранным размером сисек, но алгоритмы им нахуй не нужны а язык они знают только в той части что касается их ебаных шаблонных решений.
>>1929824 В чем дизмораль?) Наверное я плохо объяснил. Так вот, в Моей мухосрани таких вакансий нет и никогда не будет, как и в радиусе тысячи 3 километров) потому что на дальнем востоке нормальных it контор НЕТ. По этому я готов к переезду в любой город где такие конторы есть и делаю отклики по всей стране. Но мне либо вообще не отвечают, либо отвечают шаблонным отказом в собеседовании и я нахуй никому не нужОн.
Да ебаться сраться сколько ж тут учить то нужно. Теперь понятно почему на должность джуна 50 рыл на место. А на мидла 50 мест на рыло, потомучто этот порог вката хуй преодолеешь без мотивации в виде карьеры и смузи, сука.
>>1929697 Сука, а почему меня зовут на собес уже в 3 конторы, хотя у меня резюме гораздо скуднее этого якута. Ну и фотка стоит норм, где ебло чедовское и тело. В этом вся суть или как? Или не знающий дороги заходит дальше всего?
>>1929793 Ну теорию алгоритмов и структур данных думаю подучить - графы, деревья всякие. Но тратить кучу времени на решение задач - я хз зачем. Даже все мои знакомые кто вузы кончал по специальности так алгоритмы не дрочили.
Это и близко не так. Анон, вроде, на джависта идёт, а не на девопса, раз спрашивает в этом треде. И докеры с амазонами ему до лампочки. Разрабу никогда не придётся этим заниматься. Смысла писать другие языки нет, если кандидат пишет дохуя языков, то это означает, что ни один хорошо он не знает и прыгает со стека на стек каждые полмесяца, и в лучшем случае дотягивает до стажёра. Зато не аморфное хуйло, да.
Сейчас бы считать охуенным специалистом человека, сконцентрированного только на одном языке (да плюс на каком).
Перепрыгивание слишком часто - плохо, не спорю, но не засиживаться и расширять кругозор (разные языки/стеки - отличный вариант посмтореть на свои проблемы под другим углом и выучить что-то новое) - хороший знак. Если этого нет - это, увы, признак человека неинтересущегося.
>>1930416 Ддя кругозора пусть что хочет то и учит. Но если на работе этих технологий не требуют, то и писать их в резюме не нужно Хотя меня по приколу спросили на собесе, знаю ли я C++, и потом были вопросы про смартпоинтеры, освобождение памяти и виртуальные деструкторы
Всем здарова. Недавно начал изучать Джаву и меня заинтересовала тема Сокетов, захотелось написать что-то типа CoAP-сервера (протокол использующий UDP соединение). Изучил классы DatagramSocket и DatagramPacket, более менее разобрался с URI и как ссылку на ресурс приводить, но до сих пор не вдупляюсь, а каким образом наш локальный клиент отправляет запрос на удалённый ресурс (соединение локальный-локальный понятно). Типо, у удалённого же ресурса тоже должно быть подобие DatagramSocket'а? Нашёл что-то похожее на свою идею: https://github.com/google/coapblaster Но так и не понял, где происходит вот этот самый стык между нашим клиентом и сторонним сайтом (в данном примере это coap.me). Вроде бы в классах LocalEndpointCoap и TransactionImpl, хотя я всё равно не могу найти "выход" клиента. Может кто-нибудь подсказать в каком направлении мне надо копать, чтобы это понять?
Ты хочешь сказать что опыт работы на других языках лучше, чем опыт работы на джаве? Ну тип если ты 2 года кодил на пхп, это даёт тебе бинус? С чего бы?
>>1930431 Про какой выход речь? На обоих точках должно быть запущено по сокету, и неважно, на одной машине они запущены или на разных. У них юзаются методы send() и receive(), а дальше ОС сама разберётся, как их доставлять.
>>1929821 Ебал в рот эти вводные, не читал даже. Доп массив я предложил исключительно с целью удобства. Нет никаких проблем просто проверять каждое последующее значение до ближайшего отличного, и удалять все что попали между текущим и таковым. Просто с динамикохуитой вроде ArrayList по индексам удобнее удалять потом, потому что он едет.
>>1930156 Из этих 50 - 49,5 долбоебы. Как и в любом вообще деле. Стань в любом деле лучшим, или войди хотя бы в 3-5% лучших, и ты ни одного дня не будешь без работы. Наоборот будешь думать как бы хорошо было уже хоть раз за 10 лет почувствовать себя совсем свободным.
Привет, анон. Столкнулся с созданием классов-заглушек в спринг-бут приложении, реализовал основной класс-сервис и класс-заглушку, имплементирующие одинаковый интерфейс. Как считаешь, можно ли использовать вместо описания отдельного класса, создание заглушки прямо в описании бина с помощью mockito? Нигде пока не встречал подобного, может быть в спринге есть для этого другие средства?
>>1930698 Это про хайповые модные технологии, типа их юзают самые современные и прогрессивные разрабы, сидя в коворкинге, попивая смузи и на досуге катаясь на гироскутере.
>>1930711 Что такого особенного в котлине? это же просто перепиленная под более удобный синтаксис джава, с немного измененной моделью абстракций и местами расширенными возможностями, вроде настоящих замыканий, в отличие от кастрированных жабных.
>>1930720 Мб, я не знаю котлин вообще, просто люблю пиздеть всякую хуйню на дваче с умным видом. Но даже такие заковыристые темы как дженерики есть в котлине. Какой такой "бэк" в джаве я вообще хз, который ты упоминаешь. Рефлекшн что ли.
>>1930721 Бэк - это бэкенд, серверная логика приложений. Котлин появился относительно недавно, и приложения, конечно, в одночасье на котлин не перейдут.А многие вообще никогда.
>>1930723 А, ты про это. Я думал ты имел ввиду что у джавы на ее бэке что-то такое есть, короче типа она низкоуровнее для юзера. Ну ёбана, не вина котлина как языка что у него пока не такая широкая ниша. он младенец рядом с джа
>>1930720 Тупость какая-то. Звучит как какая-то дедовщина - "по сроку службы не положено". Смузи обычно упоминается в контексте хипстерских технологий, которые позволяют шлепать штампованное типовое говно, не сильно понимая как что реально работает. А то что ты говоришь даже обратное: если нет поддержки всяких пидорских фреймворков, то писать что-то на котлин - это велосипедство, и наоборот будет требовать больше квалификации. Так что в этом смысле скорее джава смузи, а котлин хард.
>>1930743 Никогда не слышал, чтобы то, где можно шлепать штампованное, называли смузи. Например, звучит нелепо попытка назвать какой-нибудь вордпресс "смузи", когда это как раз про штампование. Смузи всегда говорят про самые новые технологии вне зависимости от их качества, решаемых проблем и требуемого уровня квалификации, тупо из-за консверватизма. Дедовщина и есть.
>>1930747 Ты мне кажется ебанутый. Это сленговое понятие не относительное, разделяемое между двумя технологиями по признаку низкоуровневости, а скорее абсолютное. Можно сказать, все то, что не требует хорошего понимания работы механизмов программирования, систем типов, того как вообще дизайнятся разные языки и в чем особенности и причины именно таких решений в них - это смузи. А по твоей логике ассемблер смузи, потому что есть машкод, а тот смузи потому что есть транзисторные ключи
Добив книгу по джаве понял, что плохо усвоил многопоточность, а асинхронность вообще не понял. Она мне прямо быстро в спринге понадобится или можно все таки потом добить?
>>1930710 Фублять. Аж плохо стало. Мне как то начальник сказал: "Давай делать проект (java + angular) через jhipster, будет удобно, времени сэкономишь". Меня хватило на два дня.
>>1930751 >> Смузи всегда говорят про самые новые технологии вне зависимости от их качества Может я не то скажу, но про js тоже говорят "смузи", хотя что сам язык, что его фреймворки или node.js далеко не самые новые технологии.
>>1931029 Опять же, реакты-редуксы-свелты противопоставляются традиционным ванилле и жиквери. Про редукс вообще слышал, что он уже всех чем-то заебал, и вместо него придумали что-то более новое, хотя куда уж дальше, и надо срочно переходить на него. В реакте вон придумали хуки и называют всех, кто использует классы, динозаврами. Чем не смузи?
Разработка на ноуте от эпл. Убунта или винда не воспринимается. Разработка ведется в текстовом редакторе типа vim/emacs. На виме стоят плагины типа Vim-Rails, emmet, всё делается в сниппетах, ну вы поняли. IDE - говно для быдла Так же должны быть обязательно соснольные кодгенераторы. pizda make:model,migration,controller(CRUD methods),add routs ique puque
ООП как в Java/C++/C# - говно. Либо потому что ООП в принципе говно без задач и надо либо писать на функциональщине. Как вариант - неопроцедурщина типа go.
Либо в Java плохое ООП, но потому что там на самом деле нет того тёплого лампового ООП которое придумал Алан Кей.
Нужно как в Ruby/Smalltalk. Чтоб можно было 10.times { |i| puts "hello #{i}" } писать.
Так же смузи это много магии и синтаксического сахара. async await запросы, паттерн матчинги, duck typing.
>>1931162 В джаве обычное современное понимание ООП, Просто оно отличается от классического, как в смоллтолке, где вместо вызова методов у объектов ты "передаёшь сообщение объекту", а объект сам решает, понял он это сообщение или нет. То есть если ты передаёшь заведомо непонятное сообщение, то у тебя не будет ошибки компиляции, что метод не найден, а ошибка в рантайме (основная причина, почему от этой идеи отказались), и сейчас такое практикуется в динамических языках с утиной типизацией, только терминология современная, в каких-нибудь жс/питонах ты можешь вызвать несуществующий метод и словить исключение "метод не найден", или вроде того. Ну и в классическом ООП мышление "всё есть объект", то есть например у тебя числа - объекты, которые должны понимать сообщения вида "сложить с другим числом", примерно как BigDecimal.
>>1931172 Мм.. примерно понял. Но звучит как "Классическое ООП оно, конечно, проблемное, но это же классика!"))
Не?) Ты имеешь в виду не то, что java плохо делает свое дело, а просто придираешься к тому, что не соблюдена изначальная задумка ООП? Я правильно понял?
Посмотри эти видео. Полуркай историю ООП, что слова Alan Key, smalltalk, ruby и functional programming. У ООП есть хейтеры и критики. Если у тебя нет опыта написания ООП кода прям в промышленности не смотри))00)
>>1931181 В том-то и дело что никаких традиций у такого подхода нет. Java-like или C++-like ООП появилось в промышленности. А кеевский ООП это скорее университетская практика. Дело в том что что-то новое это часто что-то что в академии было давно(ФП, КейООП, Блокчейны, и тд), а на практику завезли недавно.
Жабьи морды, кстати, подскажите мне бестолковому какую-нибудь статью/урок про DTO. Как строить типовой Rest Api CRUD через него А то я только в простом MVC пока разобрался
>Напишите программу, которая демонстрирует, что в независимости от количества созданных объектов класс содержит только один экземпляр поля static. Препод задал на выходные задачку. Какое решение лучше?
>>1931653 читать твое говно невыносимо. за юзанье в коде тупой транслитерации с русского надо пиздить клавиатурой по ебалу, а за всякое leet-говно еще и поджигать, туша затем коллективным обоссыванием. читабельность этой хуйни не сильно лучше рандомного набора 15 символов
Каким инструментом можно при компиляции провалидировать импорты и удалить некоторые из них, чтобы в коде у импортированных классов использовались полные имена?
>>1931802 Все уже и так работает. > После компиляции в байткоде остаются только полные имена классов, директивы import не сохраняются, и никакого дополнительного кода в результирующий объектный модуль не загружается.
>>1931819 У них там хэлловорлд на гите. И чет я не вижу, чтобы там импортов не было. Ты попробуй так сделать сначала. А если не будет работать - тогда думай.
>>1931864 >писать типы перед переменной а не после в 2021? А каково должно быть? Какая нахуй разница, где их писать? В языках, которые были сразу спроектированы с выводом типов в переменную, так сделано для единообразия, потому что ты редко тип объявляешь сам. А в Java когда-то не было var-ов, и переменные объявляли в си-подобном стиле, для единообразия с си-подобными языками. Больше никакой разницы нет.
>>1931864 В 2021 уже можно было догадаться, что разница между двумя записями надумана. Это примерно как учить Go, где видишь, что приватные имена с маленькой буквы, а публичные с большой, удивляешься, запоминаешь, и больше никогда об этом не задумываешься, ибо перестраиваешься быстро.
>>1931795 это для максимальной краткости. Для них нет особого смысла, вот и А и Б. Можно было бы использовать вместо B любой ссылочный тип, конечно, но только все ходовые не подходят из-за всяких фич джавамашины типа Stringpool или автоупаковки. так что пустой нано-тип мне показался прикольным. ну и чтоб даун немного голову сломал тоже, не обязательно было делать их nested даже
>>1931965 > return number > 0 && ((number & (number - 1)) == 0); пиздец красиво. у меня даже привстал. обидно что ушло немного времени понять в чем прикол. люблю такие трики >return 1 == Integer.parseInt(new StringBuilder(Integer.toBinaryString(n)).reverse().toString(), 2) код какого-то долбоеба > return BinaryUtils.isPowerOf2(n) код ленивого дебича, который сразу лезет в гугол по любому пуку я бы тоже конечно сделал так
>>1931965 >>1931979 А что тут красивого? Помнить что дизъюнкция степени 2 и степени 2 минус 1 это всегда ноль, потому что степень двойки это 1 и нули, а степени 2 минус 1 это одни единички? Помнить, что в джаве есть дизъюнкция, вспоминать двоичную арифметику, в этом нет ничего красивого.
>>1932039 Ну пиздец, не красиво это геттеры и сеттеры, а какие-то такие чуток низколвл приколы всегда немного радуют. >помнить я например этого и не помнил, просто немного подуав понял что это так. ну да, я немного еблан может быть.
>>1932039 >Помнить Нахуя это помнить? Тебе надо помнить, как работает @Async в спринге, и когда соседняя команда обещала выдать тот микросервис, с которым тебе надо вчера интегрироваться, а не это все.
>>1932039 Нет, задача в следующем: проверить, правда ли что первый символ в строке это 1, а остальные нули? Байтоебы знают как это провернуть по-быстрому, долбоебы вертят строки.
Смотрю туториалы самого начального уровня по спрингу и там все с шаблонизаторами thymeleaf/freemarker/mustache. Правильно я понимаю, что в продакшоне на спринг стеке они не нужны и в туториалах они чтобы не грузить новичков фронтэндом?
>>1932409 Да, этот >>1932424 правильно сказал. Юзеру надо красоту показывать. Поэтому там нормальная веб-морда. А сотрудник поддержки и на кривой таймлиф посмотрит. Короче, админки на нем делают. Дорого содержать команду фронтовиков, чтобы поддержке красоту делать. Поэтому часто для сотрудников разработчики бэка пилят на чем есть, лишь бы работало.
>>1932586 Вот не надо отрицать очевидное. > шаблонизаторы Надо знать html, css и пару конструкций из шаблонизатора. Учится за день. > SPA Надо хорошо знать html, css, JS, фреймворк, городить REST API, писать обёртки над API на клиенте, ебаться со сборкой. Учится в лучшем случае месяц. С высоты опыта это кажется лёгким, но речь про вкатышей.
Стоит ли вообще начинать изучать джаву, если очень хуёв в математике. Хуёвый не в плане тупой, а в плане не учил нихуя её в вузе. Или в джаве щас это мастхэв? Есть конторка в мухосрани моей, там платят 90к (для меня это прекрасно, в дс ездить три часа не хочу). Думаю туда перекатиться после года изучения джавы.
>>1932801 Можешь учить, хватит школьного курса алгебры (сложение там, умножение, простенькая статистика), как и везде в программировании, если это не геймдев, датасаенс или математические модели НИИ.
>>1932810 Там разработка в авиа-тематике. Вот их один из проектов. "Ведется разработка мобильного автоматизированного рабочего места для использования членами экипажа воздушного судна. Представляет собой аппаратно-программное средство на базе планшета с предустановленным специальным программным обеспечением." Я просто к тому, что в вузе проходили очень много чего по плюсам и джаве, но я нихуя не учил (вот прям вообще нихуя). На зачётах смотрел на код и интуитивно понимал, что там происходит, т.к. минимальная база всё-таки есть. Единственное, что отпугивает - это дрочь с алгоритмами и структурой данных и прочая заумная поебистика. И так как опыта с джавой нет от слова совсем (когда-то змейку делал и то чуть в аут не отлетел), решил спросить у вас, вдруг вы знаете и отговорите учить этот ЯП. Программирование нравится само по себе, иду не из-за бабок.
>>1932815 Про авиа-тематику - хз, если тебе там нужно будет не самолёты проектировать, а просто писать аппликухи с кнопками в духе "сообщить в диспетчерскую статус", то матан не понадобится. У них не вакансий в открытом доступе? Если есть, но ничего про математику не говорится, забей. Дрочь с алгоритмами и структурами данных не такой сложный, каким кажется, учится быстро. На практике всё сводится к пониманию сложности алгоритмов через O-нотацию и знании этой сложности для нескольких контейнеров. > когда-то змейку делал и то чуть в аут не отлетел В змейке надо думать над алгоритмом, а типовой круд, где ходишь в базу и отдаёшь ответ на запрос, всё достаточно шаблонно, но если андроид, в этом плане будет чуть сложнее, хотя не так много его тыкал. Ну и больше практикуйся, напиши несколько несложных проектов, когда почувствуешь уверенность, будешь готов. >>1932820 Смотрел пару видео оттуда, вроде норм, хотя сам сразу с книг начинал.
>>1932824 Спасибо за ответ. Интересно послушать людей с опытом. В вакансии ничего нет про матан, вот сама вакаха, мб интересно - https://zhukovsky.hh.ru/vacancy/41777313 Думаю, одного года хватит, чтобы знать то, что они написали в требованиях.
>>1932840 Я просто работал в веб-студии, в вузе (прогером на самописном ЯПЕ) и вот эта вакансия для меня огромный такой шаг. Зп 100к для меня огромные деньги и по сути к Java всегда относился как к максимально серьезному языку. Исходя из твоего опыта, года на освоение того, что там указано, хватит при условии, что занятия будут ежедневными по три часа?
Скачал myanimelist через их API, думал погонять на локальной базе алгоритмы на графах. Но в итоге понял, что все вопросы типа "в каком аниме больше всего серий, какое аниме меньше всего рекомендовали" решаются тупо через SQL запрос в консольке. Будет урок на будущее не пилить пет-проект без четкой цели. Зато попрактиковался в куче шняги. январьский вкатыш
>>1932801 Нельзя однозначно сказать, зависит от того чем ты будешь заниматься. Программирование, не важно на джаве или нет, это просто умение говорить машине что ей следует сделать. Но вот шанс что ты станешь хорошим программистом, если у тебя хорошо получается осмысливать математику (именно получается потенциально, фактически ты можешь ее и не знать), гораздо выше, чем если у тебя вызывает лютый тупняк, например, раздумья о том, что мощность множества рациональных чисел меньше таковой для вещественных. Просто потому, что и программирование и математика это работа с абстракциями. По тому же принципу в каком-нибудь спецназе лучше если ты спортсмен, чем хлебушек с дивана, просто потому что факторы успеха одни и те же. Крч, саму метематику ты вообще можешь не знать для изучения джавы и работы с какой-нибудь круд-хуитой.
В джаве есть всякие методы по работе с наносекундами. Это миллиардная часть секунды. А современные железки и ос действительно так точно измеряют время?
>>1932815 Как уже сказали выше, этой инфы катастрофически мало. Если тебя заставят симулировать элементы физики полета (например буквально писать бэк для виртуального кокпита самолета, чтоб там в зависимости от дросселирования двигателей и инпута с ручек управления и кнопок менялись данные высоты, скорости etc), то ты там просто ничего не сделаешь без матана. Но такая задача маловероятна скорее всего.
>>1933197 А как ты думаешь, если процессор тактируется частотой, например, 3 ГГц, то какое его кварц может давать разрешение по времени? 3 такта в наносекунду, на случай если ты даун
>>1933201 именно, но вообще есть такая хуйня - теорема Котельникова (иди теорема Найквиста-Шеннона), которая утверждает, что для точного (без потерь) описания любой функции достаточно частоты дискретизации хотя бы вдвое выше, чем максимальная частота в спектре функции. Короче, лучше ограничиться двумя третями наносекунды, но уже наносекунду можно ловить совершенно наверняка. Правда, я сам точно не ебу как эти данные поставляются из ОС, похуй всегда было. Вангую, там нет никакой гарантии что эти наносекунды сами по себе настолько точны, из-за всяких вещей типа температурного дрейфа частоты кварца например. Знаю что в микроконтроллерах ограничиваются макросекундами, а в практике как правило даже миллисекундами.
>>1933221 Пожалуйста, но я не особо понимаю нахуй тебе это надо. Тема времени в железе обширная, там ИРЛ куча всяких таймеров стоит, и сама джава напрямую уж точно с ними не работает, а тупо запрашивает у ОС. само собой, кварц тактирующий процессор вряд ли еще и служит основным таймером для таких нужд, я про него сказал просто потому что он реально высокочастотный. В каких-нибудт охуенных вещах типа спутников GPS насколько знаю вообще стоят атомные часы, а не дешманские кварцевые резонаторы, и точность измерения времени там очень высока.
>>1933226 Да я просто встретил код учебный и там прикручен бенчмарк скорости двух методов через System.nanoTime(). Там результаты разные, но почему то два нуля на конце всегда (110500ns и 95900ns например). Показалось, что реальная точность - сотни наносеков.
>>1933255 ну скорее всего так и есть. ведь это действительно величина в наносекундах, просто никто не говорит что разрешение будет в 1 нс, а не в 100. Что ОС возвращает жабомашине, то она тебе и высирает. я когда тестил нанотайм, мне он срал с точностью до единицы, например. Ты тоже можешь на улице всем говорить что времени "квадриллион наносекунд первого", и это даже не будет ложью. Но тебя все равно быстро отпиздят.
>>1933272 >>1933269 блять, что мешает вам тупо попробовать, распизделись тут олсо, в таких бенчах точность какая-то и так за счет усреднения сотен измерений
>>1933199 Ну на их сайте висит ещё вакансия на C/C++ разраба. Зп от 70к. Обязанности - Разработка графических интерфейсов на Qt/C++. Думаю, на джаве будет то же самое. Никаких полётов мне рассчитывать не надо будет. На данном этапе пугает просто то, что Java для меня будет намного сложнее php/js. Посмотрел примеры кода Java и боюсь, что впустую проебу время. Хотя у меня есть желание изучать программирование на этом ЯПе и в дальнейшем попиздовать в эту производственную контору, там вилка зп 100-160. Для моего городка это овер-дохуя.
Сап, джавач. Появилась необходимость для проекта изучить Angular.js. Насколько глубоко нужно знать для него javascript?Реквестирую советов по изучению.
>>1933283 Не ссы, я не знаю ничего кроме джавы (ну еще C/C++ на уровне средненького проганья контроллеров), и мне то же самое примерно, что ты говоришь, кажется относительно кода других языков, которых я не знаю. Мне наоборот джава кажется самым лаконичным и простым языком на планете. Никакая математика в рамках джава-кора нахуй не нужна. Но местами нужно слегка открыть мозг, потому что уровень абстрактности темы может быть схож с какой-нибудь теорией групп в матане. Например понятия ковариантности и контравариантности в дженериках. Но это не специфично для джавы, ровно то же самое есть в шарпе и вообще любых языках, работающих с обобщениями.
>>1933291 Если ты не знаешь что джава и джаваскрипт из общего имеют только четыре бувка в названии, то тебе надо начать с изучения всякой хуйни "для чайников", а не с ангуляра
>>1933291 >>1933297 Мне ангуляр нужен для фронта приложения на спрингбуте. Он же очень часто для этого применяется в спринг бут приложениях, поэтому я и спросил в этом треде, а не в js
>>1933295 Не подскажешь, я планирую 7+ месяцев активно учить Java и потом пойти в контору к себе в город. В идеале год хочу развиваться и только потом кидать резюме, но мб и за полгода изучения захочу попробовать прорваться. В той компании вилка зп 100-160к. Как думаешь, челу без опыта работы коммерческого, естественно, будут такую зп платить? Просто для меня это ахуенные такие бабки.
>>1933310 Я не могу ответить на такой вопрос, потому что сам не работаю непосредственно кодером. Тут полно более практикующих сидит, подожди, может, ответят. Если ты будешь тащить задачи, то наверное будут. Но вот сможешь ли ты это без опыта уже вопрос
>>1933310 Мой опыт: 9 месяцев с hello world до оффера. На старте давали 1300$, что где-то и есть 100к. Но я хуй знает. Это мой личный путь был, и я ебал в рот такое повторять. Хотя оно того стоило.
>>1933462 Ох ё. Тут в один пост не впишешь. Вот тут >>1927365 писалось многое из того, что надо. А дальше нужно смотреть, насколько это все глубоко надо. Тот же di ioc я учил очень глубоко, писал свои. Но в целом вот, там все написано на минимум что надо
>>1933546 Может, важен в первую очередь опыт разработки проектов, архитектура, подходы и прочее. Технологии и языки вторичны. Слышал несколько прохладных историй, как кто-то без дня опыта сразу вкатывался на миддла, потому что надрочился проходить собесы
Анон, подскажи где нормально и подробно можно про ООП в джаве почитать? До меня никак нормально интерфейсы и абстрактные классы не могут дойти, ну и все что связано с ними.
>>1933636 А что такого особенного в "ООП джавы" в сравнении с любым другим современным ООП? (не надо про Кеевскую классическую хуиту только). Чтоб понять смысл интерфейсов надо поделать что-нибудь с их использованием. Абстрактные классы сосут, кстати.
>>1933665 небольшой фикс: про хед ферст я имел ввиду просто полезность книжки для начинающего, насчет качества представления там ООП ничего не скажу в сравнении с альтернативами. как по мне так оно вообще больше из практики понимается, чем по книжкам
>>1933671 Ну, мне как раз объяснение ооп хэд ферста зашло. Это то, за что я советую эту книгу. Хрен знает как это без теории учить. Мне как раз сложно было понять и осознать ооп, поэтому не мог начать писать ничего.
>>1933557 > Может, важен в первую очередь опыт разработки проектов, архитектура, подходы и прочее. Технологии и языки вторичны.
Ну да. Я сейчас вкатываюсь в хайлоад на языке PHP. Я бы хотел вкатиться в java, но в моём городе к сожалению на java работа только в ведре, либо в какой-то лютый тырпрайз. А я хочу хайлоад бэкэнд, шоб с кластерами, кроликами МК, микросервисной архитектурой. Пыщ как язык не очень люблю.
Дамаю релокейтиться в ДСы. И там уже хочу пойти на Java, потому что проекты на Java пижже и платят за Java больше.
Пока сижу тудулисты хуярю в спринге.
>Слышал несколько прохладных историй, как кто-то без дня опыта сразу вкатывался на миддла, потому что надрочился проходить собесы
Лучшие книги по JS - это вот эта серия. Книжки маленькие по 100 страниц. Книжки скипать, там для совсем лохов. Остальные лучше почитать все, приоритет по убыванию. Чем раньше книга, тем лучше.
Так как ты пишешь на языке со здоровой типизацией, types and grammar нужно знать. This тоже хорошо бы, так как this в JS значит не то же самое что в Java и не ассумь это. ПРОСТО БЛЯТЬ ПОЧИТАЙ. Хотя бы эти две, это самое важное. Упражнений там нет, просто читни в транспорте с мобилы, оно вообще изи.
Ну это теория, а практику сам знаешь как учить. Клон goodreads, todo app, appointment app, ну ты понял
>>1933791 Об этом средний анон наверное не сможет четко сказать. Ты параллельно дохуя всего изучаешь, из этого джавы процентов 20 например. Как сказать за сколько вкатился? во все вместе пара лет. Тупо изучить джаву как язык если ты и так волокешь в теме, наверное, пары месяцев хватит, если знаешь что-то из сей, и может полгода если перекатываешься совсем из другой какой-то парадигмы. Ну это мое дебильное мнение.
Он >>1933879 прав, у всех всё по разному. Я четыре года учился в шараге, потом три года в институте. На последнем курсе устроился макакой в ИП. В какой-то момент начальник говорит: "Теперь пиши на Джаве", я и начал писать. Через полтора года перекатился в нормальную компанию. Если бы я был бы умней и уверенней в себе, то перекатился бы через пол года.
>>1934002 >>1933961 >>1933879 Вы учили вяленько или ботали 5 часов сутки один лишь код, потом 3 часа на математику и алгоритмы, а в свободное время вместо порнхаба смотрели гитхаб или как оно происходило?
Потомучто все говорят "ебашил", а когда узнаешь что он делал думаешь что за пиздец, где то ебашилово? 6 часов обучения в день , из них 2 инстаграм, 2 сериал и все это на шее у мамки.
>>1934037 Как я уже писал чуть выше, у меня ушло 9 месяцев с hello world до оффера. 9 месяцев жил в режиме: по будням с 20.00 до 00.00 учился, по выходным весь день. Никаких сериальчиков и развлечений. Сказать что я был к концу вымотан морально - не сказать ничего. Зато я достиг чего хотел, и сейчас вполне на расслабоне
>>1934090 О, охуенно, теперь понимаю на что стоит рассчитывать. Сам вкатываюсь уже 4 месяц, занимаюсь после работы 2-3 раза в неделю + один выходной. Пытался уделять больше времени - начал хуже работать и хуже учиться.
>>1934095 Ну, на 7 месяце я уволился с работы. Хорошо была небольшая финансовая подушка. И вложил все силы в обучение и поиск работы. Короче пошел ва-банк. Иначе я думаю ушло бы больше времени. Еще месяца 3-4 сверху. Но вроде все сложилось.
>>1934099 У меня ситуация проще - готовлюсь к переходу внутри компании. Чем больше выучу, тем больше рабочих задач будет. Скорее всего даже собеседование проходить не буду, потому что сейчас учебные задачи через код ревью проходят.
В шараге и институте просто пятёрки получал, то есть знал всё на уровне lab10. Во время работы изучал всё только на работе по задачам. Надо сделать crud, гуглю как делать crud. Надо добавить пользователей и работу с ними -- гуглю. И так далее.
Вообще вариант не самый лучший: многих вещей я не знаю, но я и не парюсь.
Если те 4-е часа - это настоящее обучение, без перерывов на что-либо, то это отличный перфоманц для средне-хуя, коими мы в общем-то все и являемся. Если так продолжишь, вкатишься и до мидла и до синьора и смузи в жан-жаке тебе будут давать бесплатно и даже доплачивать.
Пришла в универ компания работающая на C++. Я был на 2ом курсе. Кресты знал лучше всего. Во-первых, лабы на крестах все.
Процедурное, ООП, GUI - всё на крестах делали. Компания провела тест и предложила тем кто хорошо сдал работу/стажировку. То есть методика такая. Работать можно в любое время, минимум 20 часов в неделю. Делать надо было ПОЛНЕЙШИЙ ТРЕШ и ТАКОЕ ЕБУЧЕЕ ЛЕГАСИ, что я просто ебал.
Приложение на Windows, огромные ветки с конфигурацией В РЕЕСТРЕ. Делать надо было следующее:
1) Фиксить говнопродукт. 2) Делать утилиты для мануальных тестировщиков на Qt. 3) Хуярить транспортные плагины для работы с внешним API. Получаешь данные так как они хотят, SOAP, REST, байты в сокет, RPC-JSON, байты В ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ СУКА.
Платили за это добро абсолютное НИХУЯ. 24к если закроешь 40 часов. Если 20 часов, 12к.
Но мне было норм, я был беный студент. Степуха была 2.5к рублей. Из них 400 уходило на общажку. Жрать было не на что, мамка послылала 8к в месяц. А тут ещё откуда-то 12 тыщ. Ваще каеф как для студента.
Плюс я щас благодарен немного этой галере. Я только там научился что такое мультитрендинг, получил опыт работы с асинхронным I/O(asio), чё такое REST, как выглядит http вопрос вообще.
Поработал там полтора года с небольшим, перед дипломом уволился. Сказал что буду диплом писать. Мне сказали что если чё можно ещё рассмотреть работу.
Диплом писал на Java + Spring. Хотелось попробовать веб, но всякие PHP/Node за языки не считал, мне казалось петушня ебаная для хуесосов. Попробовал Java, мне зашло. С одной стороны бесило что требует файлы организовывать по-уебански и ООП навязывает, с другой я видел код где этого не просят и мать его за ухо. Сначала думал что эээ, гарбаж колектор для педиков лалалал. Но если по чесноку мы на крестах тоже не любим с памятью ебаться и умные указатели использовать.
Мне нужен был диплом с ООП кодом. А интележ ещё за меня uml диаграммы хуярила. Ваще коеф.
Ну в общем понравилась мне спрингожава. После диплома устроился на юниора в компанию которая работает с дорогой немецкой 1С-кой и пишет веб приложения, работающие с их маня-экосистемой
>>1934562 Что это значит? Я пока даже не начал учить ни хибернейт, ни спринг. Просто присматриваюсь, как оно должно выглядеть. Скачиваю чужой код и у меня не пашет.
>>1934568 >>1934559 >а пачиму я не могу близняшек из Голливуда трахнуть??? скачал биографию кокаинового продюсера из 70х пытаюсь делать как он >нет, сам ещё не дрочил даже. чего чего? инъекция спермозависимости? не знаю что это не знаю даже где хмл конфиг к яйцам лежит
>>1934714 У меня под 8 запустился с добавлением в application.properties строчки spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true . Но не работает нормально, только логинится, а сообщения и юзеров не добавляет. На 11 не запускается. Я за челом повторял, но спрингбут был последний и джава 11. Первые 4 видоса все ровно было. Но там поменялось что-то в фримейкере для нового спрингбута, а изучать его у меня 0 желания. Ладно, больше не буду бездумно гайды смотреть. Пойду теперь книжки читать про то что такое ваши депенденси инжекшоны и ивершон оф контролы.
>>1934773 >Я за челом повторял, но спрингбут был последний и джава 11. Тоже так делал и на том моменте ошибка. Поменял джаву на 8 и версию спринга как у него и все заработало. Познал прелести легаси версий.
>>1934870 Когда тыкал, находил инфу, что хотят задепрекейтить. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html > As of 5.0 this class is in maintenance mode, with only minor requests for changes and bugs to be accepted going forward. Please, consider using the org.springframework.web.reactive.client.WebClient which has a more modern API and supports sync, async, and streaming scenarios. Не совсем понятно, может и не депрекейтед, но будут переделывать.
Как же преподаватели/вещатели/блогеры хуево объясняют вещи в джаве( Лапочут каукю-то хуиту, какие-то термины шлёпают куда надо и не надо. Ноль умения на простых примерах понятно объяснить, разжевать. Хороших и понятных уроков единицы
Английский у меня средний. Как-то не оч комфортно впитывается, но походу придется пробовать. Искал объяснение на русском - ломал копья. Открыл какого-то убогого индуса с ахуевшим акцентом и норм всё понял
Почему в книжках, даже (пере)изданных в 2018-2020 пользуются эклипсом, хотя в учебных видосах и видосах с конференций тех, кто реально кодит в проде все пользовались идеей еще в 2012?
>>1935247 Не переделывать же им скриншоты в переизданиях в угоду моде, сделали 10-15 лет назад скрины привычного тогда и так и оставили. А видосики с нуля записываются, а не переиздаются, в отличие от книг, которые никто с нуля не пишет.
Анончики, пытаюсь перекатиться в джаву из другого языка, подскажите программу на миддла, что учить? Хочу в веб на джаве. Как я понял Spring сейчас все хотят, что еще маст хев? По базам данных какую технологию? Что по веб сервисам? Есть для джавы вообще роадмап вменяемый, как на javascript?
Нет, не хуета, однако скорее исключение. Плюс если там и есть скриншоты, то я их не помню, т.к. кто блядь ебаный твой рот изучает программирование по скриншотам?
>>1935858 А кто тебе сказал, что по ним кто-то что-то изучает? Просто упоминают идеху. Но почему упоминают не популярную в проде, а заслуженную - не ясно.
>>1935911 Я ещё летом про это писал >>1785803 → Мне в целом без разницы, всё равно у нас http-запросы делаются только в одном месте через сырой HttpURLConnection
Работаю ETL разрабом года 3, hadoop кластера и все дела, бд, sql процедурный знаю и пишу на нем, работа с данными, баш скрипты пишу, английский - перевожу иностранные гайды со словарем 50%/50%.
Получаю свои 250 и чувствую, что - это предел.
Не поздно ли вкатываться к вам в мои 30 с таким знанием английского или на хуй ничего не пойму и сольюсь?
>>1936483 Все настолько плохо, как пишут в отзывах? Имею ввиду хуевый стек, нерелевантный опыт, хуевый менеджмент и пересмотр зп на 5к раз в полгода? На какой ты позиции, как оцениваешь вообще свою ценность на рынке до и после данной конторы?
>Все настолько плохо, как пишут в отзывах? Очень вариьируется и очень субъективно все, нужно конкретнее.
>хуевый стек Зависит от конкретной команды пиздец как. Какие-то команды дрочат самые актуальные технологии, а какие-то занимаются xml-ем и багфиксом древнего говна. Есть опыт работы и там и там. Если ты не безвольный / конфликтный хуй - можно всегда договориться на интересный для тебя проект/команду. НЕУДОБНЫХ(конфликтных, закостеневших) могут хуйнуть в сустейн, но и поделом им.
>нерелевантный опыт
Отчасти - да. (осс, бсс, хуесэс никому не нужны будут, когда уволишься) Но полагаю этот эффект намного меньше, чем в конторах-любителей велосипедостроения (вроде яндекса). Очень много используется из Openshift того же, так что в целом не вижу тут большой проблемы.
>хуевый менеджмент терпимый.
>пересмотр зп на 5к раз в полгода? см. пункт про НЕУДОБНЫХ сотрудников. Им - хуй заместо индексации (минимальная). Остальным +- неплохо, по рынку (ну может чуток меньше). Раз в год где-то и вариьируется, но больше 5к точно.
>>1936615 >Зависит от конкретной команды пиздец как. Какие-то команды дрочат самые актуальные технологии, а какие-то занимаются xml-ем и багфиксом древнего говна. А как ждуну, например, понять, что попал в хуевую команду?
Есть какие-нибудь книги/туториалы, чтобы по хардкору вкатиться в NIO/NIO.2/Netty? По Netty есть неплохая книжка, а вот по NIO ничего годного не смог найти, кроме статей и вопросов на стаке. Интересует в первую очередь как работает неблокирующий IO.
>>1936576 Мне довольно сложно судить в общем, потому что это моя первая работа и я с самого начала на одном и том же проекте, но мне, думаю, повезло, потому что у нас в команде технологии используются чуть ли не самые смузишные и неплохой апгрейд зарплаты стабильно раз в полгода прилетает. А вот премий нет, обидно.
Как мне создать проект, как в книге, чтобы мозг дальше не ебать, что у меня другая версия и тупо идти по книге? Тут даже имена зависимостей другие. Тупо потом в помнике поменять или как?
>>1937739 Просто я выше шел по туториалу чувака с ютуба, и там и-за версий спрингбута нужна была другая версия шаблонизатора. Думаю, как бы тут подобное не выскочило странице на 200.
>>1937779 Это было и еще в синтаксисе фримарка какие то изменения были. Я психанул и полдня переставлял все, как было в видосине, даже 8 жабку поставил. Пока я не расчехлился до конца, Spring in Action точно норм выбор? У нее на амазоне не оче оценки. Может Pro Spring все таки взять?
>>1937821 Пиздец у тебя подход к обучению. Не получается - сменить версию чтоб как у препода. На работе так же делать будешь? Не сможешь что-то написать и поменяешь версию на ту, которую знаешь?
>>1938097 Я не уверен, что действительно буду в этой сфере работать. Мои нервы и время дороже принципов. И важнее получать удовлетворения, больше чем батхерта. Особенно на этапе хеловордов, ознакомительных видосов и первых глав книжек(когда не знаешь даже примерный объем чего ты можешь не знать по проблеме). Плюс у меня список из того, что нужно изучить достаточно большой и не хочется тратить его на изучение этого фримаркера, если он может и не нужен будет никогда. Можешь дать совет по книжке по спрингу?
>>1938133 Очевидный spring in action. У меня есть, но я так и не прочел до конца. Учился на практике. Надеюсь ты не из тех кто познает спринг раньше написания калькулятора?
Анон, привет, есть вопрос, например необходимо создать несколько классов, у которых некоторые поля называются одинаково и одного типа, а одно из полей называется одинаково, но произвольного типа (не примитив). Какая реализация лучше и почему: создать абстрактный базовый класс с одинаковыми полями, поле произвольного типа уточнить в классах наследниках или создать класс-дженерик в котором поле произвольного типа параметризовано по типу? inb4: сорта говна
>>1938167 Ну я начал учить спринг, когда мог написать свой. Не весь конечно, но di, ioc, data, web составляющие. Поэтому когда я пришел к спрингу, я уже понимал как он работает и он не вызывал у меня вопросов. По этой причине мне странно читать: «я учу спринг, но не могу осилить версии»
>>1938173 Ну я только книжку по джавакору осилил. Запустил хеловорд на томкате и прочел минитуториалы по мавену, mysql и хттп. Калькулятор вроде бы был в hiperskils, правда консольный но я его дописать не успел. Там на сложных уровнях задачи надо было через регулярки в калькулятор вводить скобки и переменные. На свинг забил по совету из этого треда. >но di, ioc, data, web составляющие где это можно узнать? Я могу и отложить спринг и взяться за что-то более основательное.
>>1938169 > создать класс-дженерик в котором поле произвольного типа параметризовано по типу Сделай так, сможешь потом передавать объекты в дженерик-методы и юзать там своё поле с произвольным типом. class MyType<T> { SameField sameField; T anyTypeField; } ... <T> void myMethod(MyType<T> m) { sout(m.anyTypeField); // ok }
Анон, что скажешь за курсы: > topjava > job4j.ru от Арсентьева Петра Оба курса специализируются на джабе, а не на всём подряд, а-ля скиллбокс, гикбрейнс и т.п. + что мне ещё нравится, так это то, что ты можешь проходить в своем темпе. А это как раз по мне, т.к. я готов много времени уделять обучению.
>>1938208 Как же ржачно выглядят описания курсов, лол. За 15к коллекции лайт. Платишь еще 15к и научим пользоваться итератором (позиция джуна). Еще 15к заносишь и учим стартовать треды и форкать репозитории на гитхабе (навыки миддла).
А что чаще используется ResponseEntity или Responsebody? Какой смысл мне выдавать http-ответы ? Протокол сам не справится? Или это когда я прям кастомно хочу выдавать? не понимать
Еще поясните, плиз, про различие @Component/Service/Repository
Component - это база. Repository помимо всего прочего еще эксепшены БД понимает и преобразует в java-эксепшены (эт то, что я смог накопать) А Service что? Поняно, что в сервисе бизнес-логика обычно располагается. А кроме архитектурного смысла еще какие-то функции добавляет эта аннотация?
>>1938565 Разница в том что mvc никто не использует в крупных проектах. Так как эта хрень для проектов уровня накатать через шаблонизатор пример будущего продукта не больше
>>1938684 >di, ioc, data, web это просто паттерны, гугл в помощь Если со хочешь спринг учить и с ним совсем плохо то у спринга на сайте есть дофига туториалов, можешь книжку взять либо: спринг ин экшен или спринг все паттерны проектирования. Но по хорошему спринг изучать как и всю джаву по джава докам, разбираясь в исходниках, попутно написав примеры использования.
>>1938684 Не дам. Не все можно выкладывать на двощ. В таком случае вот этот >>1938696 правильно говорит. Нужно взять стандартную либу джавы и ковырять исходники. Научится понимать что магии никакой нет. Что вся джава состоит мелких кирпичиков. Нужно понять как они работают. Взять пару классов из стандартной либы и попытаться их реализовать своими силами. Заглянуть под капот и посмотреть как оно сделано на самом деле деле. Для того чтобы понять как работает спринг, да и в целом все остальные либы, типа гибера, надо въехать в Reflection Api
>>1938726 Ну я реально юзаю build.sh в хеллоуворлдах на пару классов, где нужна только стандартная либа, даже манифест.мф пишу руками. С мавеном там возиться лень.
Добрый день, бывалые 300к/наносеки. Я вкатыш, у меня есть проблема: пока читаю - всё понимаю. Но потом забывается, и нужно опять тему открывать. Как бороться с этим? Может быть стоит записывать в тетрадке/блокноте то, что прошел? Бывалые, подскажите как фиксить
>>1938795 Не обязательно прям каждую . Например, на практике не понадобится иерархия из всех 30 классов для работы с вводом-выводом, и здесь можно просто прочитать без углубления. А вот тонкости синтаксиса/семантики знать нужно.
Анон, какую посоветуешь максимально легковесную IDE? Нужно тестировать там плагины и моды для майнкрафта, иногда переделывать или добавлять функционал недостающий.
>>1939103 > легковесную > IDE Такого не бывает хотя бы из-за того, что все IDE для жабы пишут на жабе. Возьми текстовый редактор, например, visual studio code.
>>1939520 Понятия не имею, почему вкатывальщики так дрочат на ультимейт. Я юзал триал, купил когда на работу устроился. Когда пишешь для себя - комьюнити хватит любому мне кажется. >>1939389 Ну так ты хотя-бы синтаксисы посмотри. Посмотри как устрктура проектов выглядит. Какие механизмы есть в них. Реакт придумал больной-ублюдок-червь-пидор. Адекватно с такой структурой кода только такие же больные-ублюдки-черви-пидоры работать могут
>>1939822 > почему вкатывальщики так дрочат на ультимейт Начинаешь гуглить туториалы по спрингам всяким, видишь, как в видосиках открывают вкладку с удобной консолькой БД, ещё видишь навигацию по JS, в конфигурацих запуска видишь докер и кучу серверов приложений. ищешь у себя то же самое, а у тебя ничего этого нет, ничего не работает, лезешь в гугл, чтобы узнать, как включить, и узнаешь, что ты нищук без ультимативной идеи.
>>1939847 Не понимаю в чем проблема. 90% делается через консоль. Для скуля есть pgadmin, pmadmin, sql workbench. Конфигурации тоже все настроить самому можно. В скрипте навигация везде говно, даже в ультимате. Короче раздуваете из мухи слона.
>>1939864 Так это ж со всем разбираться придётся отдельно, кучу туториалов по всему этому читать, а тут сразу на примере идеи показано в одном месте. Речь же про вкатышей, разобраться бы сначала хоть в чём-то одном, а не сразу всём. И IDE на то и IDE, чтобы всё в одном месте было, а то так можно прийти к тому, что код писать в каком-нибудь нотепаде++ без плагинов, а всё остальное делать через консольные тулзы, валючая даже линтер и jdb.
Короче, берем idea community для спирнга, vscode для фронтенда и dbeaver для БД. А, ну еще консоль с git. И все, вы ничем не хуже ультимейт идеи. Но зачем? Можно же триал чистить папку eval каждые 30 дней.
>>1939878 >>1939887 Если тебе не нужны специальные тулзы - тебе не нужна ультимейт идея. Если тебе нужны специальные тулзы и ты не можешь осилить их - то ты дебил. Темболее все о чем вы пока говорите - в идее крайне урезано. Специальные тулзы всегда будут выигрывать в юзабилити. Но вы конечно же об этом этом не узнаете. Потому как не в состоянии осилить простые титуриалы.
То есть ты считаешь нормальным чтобы хеловорд написать ебстись с тулзами? Вместо того чтобы пройти за пару дней еще пару глав туториала/книги ты эти пару дней уебешь на чтение туториалов и стековерфлоу по тулзам.
>>1939911 Для совсем простых вещей не нужны тулзы. А когда нужны, то в чем проблема? Ты когда смартфон покупаешь, тоже туториалы смотришь? С чем ты там справиться не можешь? Next в установщике нажать? Любая sql тулза нативно понятна. Гит - 3 команды. С чем у тебя там проблемы то? Ты с членом со своим справиться можешь?
>>1939921 Ну во первых сперва надо нагуглить какой тулзой заменить кусок функционала идеи, потом они совсем не нативно понятны, знания, как ими пользоваться нужно тоже где-то взять, те же стековерфлоу и вопросник хабра забиты вопросами такими. Это как например читать по слогам или писать на родном языке, кажется чуть ли не нативными умениями. Но на него тратились месяцы на самом деле, а у не очень быстро соображающих и годы. И были учебники и учителя за ручку в этом водили. Короче ты максималист.
>>1939938 Ход твоих мыслей я уловил. Но останусь при своем мнении. Нет ничего плохого, чтобы изучить дополнительные тулзы. Ты хочешь не тратить на них время, а побежать дальше. А в конце концов скорее всего тебе придется потратить время на это. Какая разница сейчас или через месяц? Ну и да. Представляю себе картину. Ты доучишься, потом проведешь в поиске работы 3-4 месяца. И вот в конце концов заветный оффер. И тут тебе сообщают: компания работает на эклипсе. Вот тебе вспечет.
>>1939952 Занятие кучей бойлерплейта очень бъет по мотивации. И через месяц - в тысячу раз лучше. Потому что учить всю эту тулзовую рутину легче, когда ты уже в основную технологию вложился временем и бросать уже не так легко. Я кстати попользовался немножко эклипсом, освоить полностью можно потом. Переучился бы быстро, но от некоторых вещей после идеи бомбило бы.
>>1939962 Но проще же вкатиться в другое, когда ты знаешь как этим всем по отдельности пользоваться. >>1939964 Делай как тебе удобно. Кто я такой чтобы критиковать твой путь я обычный хуй с дачей.
>>1939520 Там можно другие языки юзать, ставится плагин например для питона или пхп, плюс все плюшки-ватрушки для вронтенда, а так по мне одно и тоже, те же докеры, гиты и прочая фигня. Я ультимейт использую потому что с пыхи перекатываюсь и чтобы не плодить кучу иде, поставил себе ультимейт там тоже всю хуйню для ларавеля можно поставить как и в шторме.
Помогите бездарю. Дайте ссылку на репу с эталонным RestApi CRUD'ом. Который возвращает JSON'ы. А то я колесю в интернетах, а там то устаревшие какие-то конструкции, то еще че не так( .
>>1940838 А чего такого? Основная работа на пыхе, там много свободного времени, закрыл баги и готово, вместо того чтобы пинать хуи устроился стажером на джаву на 3 часа в день и планирую в перспективе перекатится из пыхи в жабу на спринг. В свое время стоял выбор как выходить из порочного круга говносайтов и цмс я выбирал между задрачиванием симфони (тырпрайз на пхп закос под спринг) и перекатом в другие языки, посмотрел вакансии на пыхе и приуныл, нормальных проектов мало одно сплошное говно, попробовал всяко разно и пришел к спрингу.
>>1940882 Кому нахуй нужен твой диплом? Только если заказчик госконтора у которых в ТЗ требование или колбасу на нем резать на корпоративе, работодателю нужна не бумага а знания и опыт. Если долбоеб и без опыта, но с дипломом пойдет устраиваться, то шансов найти нормальную работу у него будет меньше, чем у адекватного со знанием или опытом, потому что на собесах все будет сразу видно кто есть кто.
>>1940898 Уже было много историй, как человека не могли повысить тупо из-за того, что в компании строгое требование наличия диплома начиная с определённого грейда. И остаётся только менять работу.
>>1940981 Программист по сборке бургера Бесполезный холивар. Из серии win vs linux, java vs C etc... Ты останешься при своем мнении, я при своем. Просто не надо орать «без диплома ты нинужон». Люди работают без диплома. И вполне успешно. Если твой путь проходит через вышку - молодец. Но не надо хуйню городить.
Помидоры в треде есть? После того, как вышел на 300к, не совсем уверен, куда теперь стремиться и в какую сторону обучаться. Ежедневные задачи на работе сложностей особых не вызывают по ощущениям, но при этом хочется как-то расти и чувствовать свой рост. Сейчас не чувствую. Как боретесь, что делаете?
>>1941330 Зачем ты написал <Y extends Yoba> в методе? Теперь ты сможешь передавать в interfaceMethod() только объекты, имплементирующие твой интерфейс Yoba. Это не одно и то же с дженериком T из первоначального примера.
Пытаюсь прокачать алгоритмы. Начал читать книгу седжвика - нихуя не понятно в первой главе 4-5 пункты (там где идет какой-то математический дрочь и union-find). Оно мне надо вообще? Математику 10 лет последний раз трогал, уже даже забыл что такое логарифм. Я вообще-то вкатывался ради того чтоб на фреймворках все красиво писать а не вот это вот все. И это че получается мне теперь математику класса с 9го повторять ради того чтоб джуном вкатиться? Я не верю что все вкатывальщики учили этот математический дрочь. Что посоветуете?
>>1942040 На джуна задрачивать не нужно (да и на миддла сомнительно). Найди какую-нибудь мурзилку по алгоритмам на пару вечеров, прочитай про сложности, сортировку, поиск, дерево, хеш-таблицу, и всё. Про логарифм нужно знать только то, как он соотносится с линейной функцией и другими. Построй где-нибудь графики y = x, y = log(x), y = x^2, y = xlog(x), сравни их на глаз и усвой, насколько расходится потребление памяти или времени работы у разных алгоритмов, и этого достаточно.
>>1942068 ну вот например, Бхаргава сойдет за эту мурзилку? Я читал вроде что это базовая книга по алгоритмам для дебилов.
но как потом эту книгу наложить на leetcode? Стоит ли его вообще задрачивать?
>Построй где-нибудь графики y = x, y = log(x), y = x^2, y = xlog(x), сравни их на глаз и усвой, насколько расходится потребление памяти или времени работы у разных алгоритмов, и этого достаточно. это было не так сложно, я хоть и убил пару часов чтоб догнать что к чему и поднять закрома тервера, мат статистики и базы школьной алгебры, но вот дальше там один алгорит алгоритм разбирать целый вечер... мне стока жизни не хватит чтоб джуном вкатиться.
>>1942101 Я в своё время читал какие-то туториалы типа медиума, и этого хватило. Никаких книг на 100+ страниц для этого не нужно. > один алгорит алгоритм разбирать целый вечер Да там и разбирать нечего, потом будешь писать свои специфичные алгоритмы и налету прикидывать сложность. Видишь в алгоритме один внешний цикл по массиву - это O(N), видишь со вложенным циклом - это O(N^2), видишь, что структура данных на каждом шаге делится на две части, одна из частей ещё на две части и т.д - это O(log(N)), а если это рекурсивное деление на части завёрнуто в цикл, то это O(Nlog(N)). С хеш-таблицей, правда_ рпидётся посидеть, там не так очевидно, почему O(1). Экзотику вроде O(N!) встретишь редко. >>1942116 Это продвинутый уровень же, чтобы расти уже после вката.
>>1942141 >Это продвинутый уровень же, чтобы расти уже после вката. нуб читающий шапку, типа меня, поймет ее так, что это типа мастхэв. И начнет ее читать. И у него упадет вся мотивация после недели чтения первой главы по вечерам. >Видишь в алгоритме один внешний цикл по массиву - это O(N), видишь со вложенным циклом - это O(N^2), видишь, что структура данных на каждом шаге делится на две части, одна из частей ещё на две части и т.д - это O(log(N)), а если это рекурсивное деление на части завёрнуто в цикл, то это O(Nlog(N)).
Я примерно так и понял взглянув на график. Но в этой ебаной книге расписали дохуя математики перед тем как график воткнуть. И научного говна накидали, воды буд-то из диплома по математике. Вы о чем думаете то, зачем это в шапку вносить?)))
>>1942162 > нуб читающий шапку, типа меня, поймет ее так, что это типа мастхэв. И начнет ее читать. И у него упадет вся мотивация после недели чтения первой главы по вечерам. Хз, я вообще туда не заглядываю и ничего не спрашиваю, привык всё сам искать. > Вы о чем думаете то, зачем это в шапку вносить?))) Шапку по приколу иногда допиливают, в целом всем лень, но ведь лучше хоть какая-то, чем никакая.
>>1942557 У меня локальные переменные, ало. Несколько раз обращение к локальным переменным, которые хранят промежуточную информацию и их изменение. В C++ можно лямбду использовать в таких случаях, но в джаве, похоже, лямбда так не работает.
>>1942561 Сделай так, чтобы другой метод принимал указатели вместо примитивов, и с промежуточным данными проблем не будет. Синтаксис указателей в джаве: int []ptr = new int[1]; разыменование: ptr[0].
Какую либу для логгинга использовать вкатышу? log4j или java.util.logging? Хочу разобраться с одной и уже юзать во всех проектах вместо отладки System.out.println-ами.
>>1909820 Работаю удаленно полгода, прекрасно себя чувствую, на конференции в скайпе вообще пьяный хожу. Едут слабые, сильные депривируют общение специально
>>1943232 Да я всегда им был. Я еще в детстве целыми днями сидел виндовс ХР ковырял, потому что у меня комп все время зависал и тупил. ИИ за компьютерными мастерами подсматривал всегда.
есть класс User и UserDto с одинаковыми полями. Есть стандартные слои UserRep, UserServ, UserController.
User UserDto такой же{ private Long id; private String name; }
мне надо сделать в сервисе метод saveUser, например.
Сервис у меня орудует с Dto, которые прилетают из контроллера
public UserDto saveUser (UseDto userDto){ User user = new User (dto.getid, dto.getname); // создаю юзера по параметрам пойманной Dto userRepository.save(user); // сохраняю в базу новоиспеченного юзера
Вопрос вот что возвращать?
Я просто пилю в конце: return userDto; ?
нет же смысла обратную конвертацию делать? Типа доставать из базы юзера и конвертировать его в Dto руками или через мапперы например, mapstruct ?
>>1943291 Не очень понял, почему ты позволяешь фронту самому выбирать id твоего пользователя, а не генерируешь. Обычно id генерируется на стороне бека и в ответе на запрос создания возвращается dto с заполненным id.
>>Зачем тебе что-то возвращать? Мм.. ну сколько CRUD-примеров я видел, везде только "delete"-метод войдовый. >>1943306 Не обращай внимание, генерится сам.
Так что по сути ответа? Мне все-таки вынимать обратно из базы или это беспонтовое занятие? Я подаю параметры, считай Dto объект, а на выходе мне дадут тот же Dto. Зачем мне лишние движения с базой делать (кроме сохранения)? Или я чет не вкуриваю?
>>1943333 Тебе правильно написали. Обычно делают сейв, и результат сейва обратно выкидывают. Чтобы айди как минимум получить. А может у тебя по пути в юзера еще какой-то логикой что-то добавляется. Понятно что это не твой кейс, но вообще хороший тон возвращать то, что сохранилось. Тем более репа же возвращает обратно твоего сохраненного юзера?
У меня есть static final поле в Runnable классе с ссылкой на класс, который используется для записи и чтения. В самой run() функции он используется для записи, в побочных функциях, которые вызываются из нее, только для чтения. Изменяются Boolean и Long значения в HashMap в этом общем классе.
Как надо правильно синхронизировать, чтобы деды не засмеяли?
Ребят, привет. Подскажите, какую з.п. просить при устройстве на джуна в ДС? Мне не так уже важна з.п. первое время, просто хочется адекватно выглядеть для HR. Мало назовешь - подумают что бездарь, лентяй, ничего не представляет из себя. Много назовешь - подумают, что неадекват и всё такое.
>>1943605 Сколько бы не назвал, всё равно не угадаешь. Поэтому называй так, чтобы с голоду не умереть, и полгода терпи. А потом дописывай в резюме еще 1,5 года опыта и за 200+ иди в сбер. План надежный, как швейцарские часы.
>>1943608 Я прост не знаю. На каком месте помимо моих софт-хард скилов стоит этот пунктик с з.п? Насколько он решает при трудоустройстве. Бывает ли такое, что из-за неправильной подачи цифры меня завернут? Скажу "дайте 50к". Сразу будет предвзятое отношение. Типа бездарь.. не знает нихера. Скажу "дайте 120". Подумают "ебать он должен уметь в джаву ахуенно, давай ка взъебем его" и я обосрусь по тех.части) Ну тип такие загоны. По сути же, HR и работодатель заинтересованы в кадрах. Могут же сказать: "ну ты цифру смешную сказанул, дебик. Мы на такую тебя не возьмем. А возьмем на %salary%." Диалог вообще такой вообще будет по з.п.? Или тут лотерея?)
>>1943616 >Могут же сказать: "ну ты цифру смешную сказанул, дебик. Мы на такую тебя не возьмем. А возьмем на %salary%." Ну да. А еще могут нахуй послать. Тут уж как повезет.
Делаю форму регистрации с рассылкой письма для активации аккаунта, яндекс, гугл и мейл блочат мои письма как спам, есть какие-нибудь способы обойти спам-фильтр или сымитировать отправку письма?
>>1943621 Дело не в джаве или спринге, а в том, что у них дохуя критериев, что считать спамом, и если обосрался хоть в одном - спам. Например, им может не нравиться конкретный домен.
>>1943616 Ну тебе уже написали, что джун 70к в дс. Стажер будет примерно 30-40к. Твои 120 - это уже в рамках мидловой вилки. Если ты еще не работал в индустрии, то скорее всего твой уровень стажерский.
Аноны, помогите пожалуйста прицепить css к любой странице проекта (в данном случае пробую к index.html), уже столько времени слил на эти попытки, документацию читать пробовал, гуглить пробовал, ничего не вышло. В папке resources/static должны стили лежать по умолчанию, пробовал подключать resourcesHandler но безуспешно. https://www.dropbox.com/s/vb8lt8y0mvkoc92/MiniAuction.zip?dl=0
>>1943771 > Кака я понял, если поля имеют разные названия - указываем их в "source" и "target". > А если у меня нет различий в названиях? Тогда не указываем.
>>1943818 Добавь в конфиг такой класс (пикрил), а ссылки на CSS приведи к виду /static/css/index.css : <link rel="stylesheet" th:href="@{/static/css/index.css}"/> И ты по приколу пишешь на пятом спринге без бута?
>>1943984 Спасибо тебе большое! я разобрался с classpath и стандартной директорией ресурсов. Писал проекты и на буте тоже, в данном же проекте пытался собрать все с нуля самостоятельно.
>>1944202 правда все работать стало с этим мини проектиком, который я взял как микропрототип моего большого проекта. У большого таким методом не подключается css, мне кажется это из за spring security
>>1944417 Так @Id ставится не над методом, а над полем, например: @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "user_id") private Long id;
>>1944466 Неправильно выразился, ключ не композитный. Это обычная строка, полученная конкатенацией двух полей. Впрочем я уже смирился, даже в документации пишут, что нужно поле. Но вот с финальными полями все равно не работате.
Аноны, скажите пожалуйста, JUnit 4.x по-умолчанию запускает тесты из одного класса в один или несколько потоков? Заметил, что они проходят не по порядку, поэтому появилась мысль, что он их параллелит а это плохо, потому что я это не учитывал
>>1944562 Хреново, я многие объекты в полях класса проинициализировал, получается их могут дергать сразу несколько методов одновременно под аннотацией @Test? Просто раньше не замечал конфликтов, все тесты проходили хорошо, а вот сейчас задумался.
>>1944571 В тестах в полях можно хранить только константы, а всё нужное тебе состояние надо устанавливать заново перед началом каждого теста. Иначе рано или поздно у тебя тесты от сборки к сборке будут то валиться то нет.
Двощане, нужна помощь, я питонист и в компиляциях не разбираюсь, есть файл на джаве, в нем класс и несколько методов класса, как мне запускать отдельный метод(он должен работать на вводимые данные, так что желательно подскажите как через пайп передавать данные, желательно решение через консоль, чтобы не устанавливать всякие ide). Знаю что нужно скомпилировать сначала javac, но не пойму как запустить, хелп
>>1945205 Добавляешь туда метод main, из него вызываешь нужный тебе метод, компилируешь, запускаешь класс через java MyClass. Для ввода-выводв тыквй Scanner.
В общем книга седжвика по алгоритмам оказалась не такой уж уебанской, просто нужно проспустить чтение первой главы, желательно полностью нахуй. Прочитать какие бывают виды О-большого, как массивы, списки, очереди и стеки соотносятся друг сдругом и приступать к чтению второй главы.
пилю CRUD. есть слои: реп, сервис, контроллер. сущности отдаются через Dto. (User/UserDto). Конвертация с помощью Mapstruct. Пишут методы в контроллере, с findById понятно:
public UserDto findById (Long id){ User user = userRepository.getOne(id); return userMapper.UserToUserDto(user); }
Не совсем понимаю что мне дает книжка по алгоритмам, я задачки на литкоде решаю по часа 3, и это если повезет их решить.. Ну вот я прочитал про алгоритм сортировки. Уже штук 5 знаю наверное. Открыл рандомную задачку на литкоде, а там блядь сделай одно через другое через третье и оберни это в десять циклов с флагами. И то, если додумаешься. Можно что-то среднее между говном с джава раш и литкодом? Есть какие-то советы (кроме бросать это дело, не,это не пойдет). Мне когда-то кидали сборник задачек университетских, там я помню были уровни от дауна до наверное литкода, там тысячи были наверное задачек. Но я его успешно проебал.
А можно ли распределить работу потоков по разным процессорам? Например, 10 работают на ПК, 4 на ноуте. Какой софт для этого установить/разъем нужен на ноуте? Или может, есть нормальные облачные сервисы для этого?
>>1945528 >Можно что-то среднее между говном с джава раш и литкодом Попробуй пикрил. Там есть как раз уровень универских задач от простых до не очень простых. А так, на литкоде тоже есть много простых задач. И, очевидно, нужно открывать не рандомную задачу, а начинать с уровня Easy. Как раз этого хватит чтобы научиться решать базовые задачи на массивы/два указателя/списки/деревья/графы/жадные алгоритмы/дп. Нужно просто решать задачи, решать много, сидеть над ними, а главное - делать это каждый день. Тогда спустя полгода будет ощутимый прогресс.
>>1945537 >А можно ли распределить работу потоков по разным процессорам?
Ну тащемто секретов нет, пишешь сервер, который будет выдавать задачи и получать от клиента результат решения. Пишешь клиент, который будет эти самые задачи получать и начинать их решать, а потом отправить на сервер полученный результат.
Ставишь клиент на ПК, там запускаешь 10 потоков, на ноуте аналогично, но с 4 потоками.
Основная проблема, это правильно распараллелить нужную задачу. И вообще вся эта тема называется распределенные системы, по ним есть довольно неплохие книжки, статьи и лекции.
>>1945537 Невозможно, принципиально. Для такого обычно раскидывают задачи через сеть между разными ЭВМ (хоть очереди сообщений, хоть hadoop, хоть MPi), а они уже распараллеливают.
>>1943291 Не делай того, чего от тебя не требуется. Чтобы понять, нужно тебе что-то или нет, задай вопрос: как это будет использоваться? Если флоу работы с твоим апи подразумевает дальнейшее использование созданной сущности, тогда возвращай, а если ты просто это где-то увидел и не знаешь зачем так сделали, тогда не делай лишней работы.
В джаве, когда значение переменной получается выше максимального значения её типа, переменной присваевается значение минимальное для типа + остаток. Почему это устроено именно так ? Почему не выкинуть ошибку, что привышено значение ? Что вообще почитать на эту тему можно, может статья какая или комментарии разрабов.
>>1945843 https://stackoverflow.com/questions/41117633/why-isnt-overflow-checked-by-default Потому что быстрее хуячить операции без проверок на переполнение и программусту не нужно ловить исключение на каждую арифметическую операцию/отключать везде проверку на переполнение, т.к она отключена по дефолту. Плюс еще как-то связано с тем, что в джаве нет беззнаковых типов.
>In Java 8, there are overloaded methods, for example like Math.addExact(int, int), which will throw ArithmeticException in case of overflow.
>>1945766 >написать return вместо void >лишняя работа Надо иногда на будущее думать. В некоторых местах лучше что-то возвращать сразу, чем потом переделывать.
Доброго здравия, анонимы, где мне лучше разворачивать свой учебный магазин на спринге на postgresql? на GCP? нашел кучу туториалов по развертке spring boot, но у меня начатый с нуля spring mvc
>>1946049 Дваждую этого >>1946053 Я все свои первые пет проекты разворачивал на heroku. Из плюсов: бесплатно, научишься деплоить гитом/докером. Из минусов: сильно урезанные возможности. Еще говорят, если ты студент, то амазон дает свои облака. Но я не в курсе как там. Для небольших, но рабочих проектов я купил себе vps. Благо сейчас можно это сделать от 200р. Зато полный доступ и ни от кого не зависишь.
>>1946255 Да гуглится элементарно. ruvds, fastvps, много их. Для пет проекта, за 200р рут доступ - вообще отлично я считаю. Понятно что что-то более нагруженное уже не потянет, но оно и не надо.
>>1946318 Спасибо. Я не тот чел, просто хочу где-то с кубером поиграться на пет проджектах. На прошлой работе был опеншифт и там все было из коробки, как говорится, а к куберу надо попривыкнуть и потрогать вплотную.
Я без коммерческого опыта, живу в мухосрани ДВ. Сбер зовет в город миллионник ковырять легаси, переводить на микросервисы. Собес был пиздец какой простой в плане тех вопросов. Дают Старшего инженера по разработке и 65к. Какие подводные?
>>1946473 Готовься к тому, что из-за бюрократии всевозможные заявки исполняются не мгновенно. В ДС для старшего инженера по разработке вилка от где-то от 110 (точно не помню), для каждого региона вилки свои.
>>1946490 Дальше ведущий и главный инженеры. Тимлиды обычно Руководители направления. Да и грейды дают не только по соответствию уровню, но и какие есть незанятые в подразделении.
>>1946494 > Да и грейды дают не только по соответствию уровню, но и какие есть незанятые в подразделении. Если серьезно, то чем больше я слышу про сбер, тем больше радуюсь, что отклонил их оффер.
>>1946497 Да и я многое слышал, уж как повезёт. Один знакомый устроился фронтендером, и его заставили писать на джаве. Другой тоже фронтендером, теперь тыкает какую-то странную CMS-ку. А некоторые говорят, что у них всё норм.
>>1946473 А теперь звонит ерам, оставлял у них заявку на онлайн стажировку, говорят 3-4 месяца и при успешном прохождении 30-40к в дс2. И че выбирать 65к сейчас в городе меньше чем дс2 или через пол года 40к в питере?
Столько времени раздрачивал спринг, сделал большой проект на нем, а меня позвали только на вакансию с java se, продолжать ждать мне предложения на ee? скажите пару слов, пожалуйста
>>1946583 Увидел что на рынке есть много вакансий с se и вебом в связке, а значит все не так плохо. заслышав se представлял что надо писать программу по разливу кофе и подаче снеков в вендинговых автоматах по кулдауну каждый день и вакансий в будущем не найти, хотя даже это было бы неплохо относительно моих прошлых работ в жизни
>>1946583 Так ЕЕ или спринг? Спринг может быть и без ЕЕ, обычно это SE + контейнер сервлетов. Или ты хочешь одновременно ЕЕ и спринг? Это как хотеть одновременно postgresql и oracle
есть че почитать по постргресу кроме доки? Ну книжка какая-нибудь страниц на 800.? Читал волкова (или как там его) у него она в 2 раза короче и стиль изложения уебанский.
>>1943616 зачастую люди которым говоришь про зп (hr обычно) и те кто будет ебать по жаве (инженеры) это разные люди и инженерам не говорят на сколько бабулек собесится кандидат
>>1946996 > на собесе могут завалить каверзными вопросами не с целью не брать, а чтобы по зп прожать Прохладно, особенно если ты проходишь с десяток собесов и получаешь десяток офферов. В итоге просто выбираешь, кто больше предложил, хотят прожимать - пусть анус себе жмут.
>>1947670 Ну, у реляционок пока преимуществ больше. А недостаток по сути один - скорость. Нужно понимать когда и какую базу лучше использовать. Если очень интересно - можно пойти в тред к базунам, я думаю там смогут по хардкору пояснить какая база лучше для каких задач.
>>1947681 > тред к базунам Там разное пишут. Что монга хороша для короткоживущих проектов, где не соснёшь хуйцов на поддержке из-за того, что в силу отсутствия статической схемы в БД хранится какая-то неоднородная дичь. Что монга в принципе не для каких задач не подходит, ибо если не нужно надёжно, то не нужно вообще. Что там норм хранить только какую-то почти бесполезную хуиту типа старых логов, архивных данных или ссылок на картинки с котиками. Да и читал я на хабре пост одного шиза, который доказывал, что в реальном мире не существует транзакционных процессов, то их и не должно быть в БД, лол.
>>1947725 Ну в мускуле по сути все. Пользователи, платежи, хуежи. 99% данных там. В редисе активных пользователей, которые сейчас юзают приложение. Загружаем из мускуля, и на время сессии пользователь лежит в редисе. Там же всякие переменные, которые постоянно и часто используются. Там же общее хранилище между нодами приложения. У нас 5 инстансов, и они между собой через редис общаются. Монго для разнообразных настроек приложения. Тут хуй знает как объяснить. Наш продукт можно гибко настраивать, и все переменные для настроек мы храним в монго.
>>1947742 Чем такое архитектурное решение лучше Memory-Optimized table из MS SQL и его аналогов в других системах? Настраивать и поддерживать целый продукт ради повышения скорости звучит не очень умно, не говоря о том, что нужно обеспечить защиту и доступность дополнительного компонента.
>>1947762 Наш мускуль в такое не умеет. А миграция проекта - дело более затратное, чем запуск редисов-хуедисов. Наверняка есть еще весомые причины. Но я, с высоты своего опыта, не могу ответить на твой вопрос.
Сап гай. Поделитесь как изучать Stream API ? Я привык к арейЛисту и Систем.ауту. Хочется присвоить каждый промежуточный результат чему-нибудь и вывести в консольку. И я все перевожу в АррейЛист, там 3 метода примерно, хватает на все задачи. А в СтримАпи я потерялся миллиард методов, чтобы получить какой-то результат надо совершить терминальную эту хуйню. Я их эти методы выучить что-ли должен? Реально очень растерян, я понимаю что они нужны зачем то, наверное, но блядь, пиздос...
>>1947860 Прочитай коротенькую книжку Лямбда-выражения в Java 8, там все разжевано про потоки. Коротко говоря, думай не именами методов, а тем, что надо сделать. Например, нужно найти максимальное поле в потоке? Окей, значит у нас на входе поток, а на выходе один элемент. Как же такое преобразование называется, хм... не... ре... реду...
А какие преимущества у спринг-бекенда перед другими фреймворками на пхп/ноде/питоне/руби? Изучаю спринг и заодно решил посмотреть курс лекций по алгоритмам на питоне. И питон кажется сильно проще, как язык. Да и многие говорят, что в джангу быстрее вкат чем в спринг. Что может джава/спринг, что не могут динамические языки?
>>1948108 Я на джавакор полгода потратил, если не считать всякого баловства и забиваний. И питон до серьезного уровня учить не собираюсь. Недостатки джава платформы мне более-менее ясны. А вот достоинства нет. Думаю тут есть аноны, которые знают бэкэнд-стек какого-нибудь динамического языка, чтобы сказать, чем джава лучше.
>>1948074 Как раз таки из-за строгой статический типизации. Хелоу ворлд на джаве писать может быть и дольше, но, при проектах приличного размера, джава начинает выигрывать тупо за счёт того, что не нужно писать тесты на проверку того, что тебе вместо строки передали собаку или двигатель от машины. Динамическая типизация для каких-то серьёзных проектов просто неприемлема.
туториал от монго по использованию монго драйвера в джаве оказался неожиданно охрененным. TDD, спринг, никакой воды, куча ссылок и подсказок и все это за несколько часов
в общем кто хотел опробовать монго дико советую. Там еще какая-то баба с русскоязычным акцентом и няшным голосом
А где можно найти запиленные сурскодные пет проекты на реакте(ну или вью на крайняк)? мне лень писать фронтэнд, хочу поделать парочку пет-проектов с бэкэнда, но без фронтэнда это не очень. Юзать постман и иже с ним не хочу пока.
На джаве пишутся хоть сколь-нибудь интересные проекты, а не только перекладывание джейсонов и xml из одного места в другое? Что вообще пишут в энтерпрайзе? Какого уровня задачи?
>>1949305 Ну а если серьезно. Что в твоем понимании интересные? Весь банковский сектор на джаве. Гэмблинг на джаве. Крупные сервисы доставки еды/такси на джаве. Биоинформатика частично на джаве. Мобильная разработка частично на джаве. По сути на рынке, где идет нагрузка от 100 запросов в секунду, с джавой только дотнет конкурирует. В биоинформатике конкурирует с питоном. В мобильной в основном все на коте, но он джаве и не конкурент вовсе.
>>1905798 Двачую парнишу. Дисциплина по Кастанеде. Тренировать волю чтобы направить её хоть куда. Сам так джаву год учил. Каждое утро обливания и сурья-намаскар. Старался.
Почему в книжках по кору написано, что рефлексия это медленно и плохо, а прокси-классы еще хуже? А начинаешь учить фреймворки и там все на рантайм-аннотациях, у каждой под капотом рефлекия, а DI на прокси-классах строится. Или там тормоза этих механизмов только во время инициализации?
>>1949320 >нагрузка от 100 запросов в секунду Чел, нагрузку в 100 запросов в секунду в 2021 держить любое поделие на любом ЯП. Но тамщета ты прав, весь бекендный хайлоад написан на джаве, так или иначе. Ну и как плюс, у джавы самое большое комьюнити, и как следствие, огромное количество всяких тулзов и готовых решений. Найти какую-либо технологию без интеграции с джавой - практически нереально.
>>1949356 Котлин унылая хуита для: - конкуренции на мобилках с джавой 6 - дсл для градла вместо груви(с кем котлин на самом деле конкурирует) Если бы котлин вышел лет на 10 пораньше, где-нибудь вместе со скалой, то из него мог бы выйти толк. А так он нахуй никому не нужен.
>>1949633 Потому что надо понимать когда ее использовать. Юзера создавать рефелексией - говно. Чтобы у тебя сервис сам создавался - годно. Большая часть рефлексии используется на старте или прогреве приложения. В эти моменты можно подождать в угоду удобству.
>>1949668 Ну поэтому и написано >от 100 запросов Чес их больше, тем выгоднее выглядит джава. >>1949671 Да, в основном с груви. Кота очень сильно двигают вперед. Гугл и jetbrains. Очень много андроид разработчиков выбирают кота. У него есть своя аудитория и ниша. Я не думаю что он будет заброшен, но и джаву он не потеснит.
Как не зарыться в многообразии инструментов? Вот допустим взять те базы данных. Там одних только подключений к базам данных куча. JEE, спринг бут автоматом, спринг бут через пропертис, спринг бут конфигурацией бином, через спринг дату. А есть ведь еще спринг дата, JDBC, JPA, Hibernate ебааа.. Мне перед отправкой резюме что все это нужно изучить что ли?))))
>>1949788 Да. Разве это не прекрасно? Век живи, век учись. Изучать что-то новое и думать, почему рационально использовать тот или иной инструмент в той или иной ситуации, какие проблемы он решает - это и приятно, и полезно.
>>1949800 да я согласен, но мой главный вопрос был в том, как во всем этом не зарыться. Так то можно всю жизнь все это учить, но так и работать каким-нибудь продавцом в пятерочке, или на трубке в колл-центре, а не погромистом на джава.
>>1949788 Вот тратишь кучу времени, разбираешься, а потом на работе не юзаешь и десятой части того, что знаешь. Эх. JEE и спринг - это два альтернативных стека. Потыкай сервлеты и дальше учи спринг. В спринговых конфигурациях разбираться недолго, просто смотришь несколько примеров и повторяешь. Самая основа подключения к БД - это JDBC, несколько простых классов. Есть JPA - работает поверх JDBC и позволяет не писать руками запросы и связанные с этим преобразования, причём это не конкретная технология, а спецификация API, самая популярная реализация данной спецификации - хибернейт. Ну и спринг дата - удобная надстройка над JPA (но не только). Желательно потыкать всё, важно иметь общее представление.
>>1949633 >Почему в книжках по кору написано, что рефлексия это медленно и плохо, а прокси-классы еще хуже? Рефлексия плохо, потому что ненадежно, компилятор не контролирует что ты там вызываешь. А так-то после десятка вызовов, рефлексия будет заменена на сгенерированный байткод. А MethodHandle сразу генерирует байткод.
>>1949869 >Самая основа подключения к БД - это JDBC, несколько простых классов. Есть JPA - работает поверх JDBC и позволяет не писать руками запросы и связанные с этим преобразования, причём это не конкретная технология, а спецификация API, самая популярная реализация данной спецификации - хибернейт. Ну и спринг дата - удобная надстройка над JPA (но не только). Желательно потыкать всё, важно иметь общее представлени Так я потыкал уже.. Наизусть уже не помню че как (только образно, к примеру, вот есть спринг бут например, там подключить можно через пропертис. А без спринг бута (или если автогенерированный бин не подходит) конфигурацией бина. Но какие классы уже не помню, какие-то были там, но уже не ебу какие), сейчас вот перечитываю основы спринга опять. Но в этот раз подключу документацию к чтению. Потом по второму кругу пойду читать JDBC, Hibernate и Spring дату. Но в этот раз уже с документацией. Правильный подход, или слишком замарачиваюсь?
Выручайте! Я нулевой(( Есть задача зашифровать строчку по алгоритму ed25519 у меня есть готовые приват и паблик кеи в текстовом виде
Нашел кучу разных сторонних библиотек, стандартную тоже пытался осилить(только добавили в 15 версии), везде в примерах одно и тоже СГЕНЕРИРУЙТЕ пары ключей и пользуйтесь, да, оно работает, но ключи то у меня уже готовые а как сделать объекты ключей из строк я не знаю(
Намутил вот такую https://github.com/neilalexander/jnacl штуковину, она принимает ключи в текстовом виде, всё зашибсь, но есть одно но чтобы, подписать строку нужно передать некий Nonce в виде массива байт, описания как его сделать нет encrypt(byte[] input, byte[] nonce) Я пробовал так byte[] timeStampByts = timeStamp.toString().getBytes(StandardCharsets.UTF_8); и так byte[] bytes = ByteBuffer.allocate(4).putInt(1695609641).array(); и так byte[] bytearray = new byte[] { (byte) 0x65, (byte)0x10, (byte)0xf3, (byte)0x29};
ничего не помогает, метод encrypt выдает ArrayIndexOutOfBoundsException: Index (длинна nonce) и всё, я понимаю, что не правильно передаю метотду массив но как его подготовить я хз.
>>1950078 Хуёвый подход. Тыкать и смотреть что произойдёт - ты будешь до пенсии разбираться. Нужно один раз сесть и разобрать всё, от БД до ждбц. Причём не то что там селект написать какой-то, а с транзакциями, пулом соединений, маппингами в объекты и всё такое. Как только разберёшься в базе, всякие спринги даты, хибернейты и т.п. развалятся на кирпичики, как конструктор лего. Тебе сейчас тяжело, потому что ты начинаешь изучать с середины/конца, не зная ни базы, ни терминологии, ни вообще нахуя это всё нужно. Разберись в базе, сука.
Как вы умудряетесь работать в энтерпрайзе? Я вот неделю назад засел за java ee, ну и вообще решил посмотреть что происходит в джаве за пределами кора и хеллоуворлодов. Результат - пиздец. Почему экосистема джавы такая монструозная? Нет каких-нибудь современных хипстерских легковесных технологий без этих ваших огромных серверов приложений, контейнеров сервлетов, и т. д. Один только glassfish весит 110 мегабайт, так еще и не работает с джавой > 1.8
>>1950239 Не знаю. Мне посоветовали читать книгу "Java EE 6 и сервер приложений GlassFish 3". И вообще посоветовали немного поковыряться в EE перед тем, как в спринг лезить.
Ну вот я открыл эту книгу, а там на первых страницах запускают этот самый glassfish. Запустил - нихуя не работает. Поставил последнюю версию, которая вышла буквально 2 месяца назад - не работает. Погуглил - оказывается даже самая последняя версия требует восьмую джаву.
И что теперь делать? Нашел какой-то tomcat, думаю его попробовать, он вроде работает даже с 15 джавой.
>>1950241 Чел, ты. Поддержка 6 джавы кончилась в 2013 году ещё. Тобиш с тех пор её патчили только секьюрити патчами. Сейчас надо минимум дрочить на 8 джачу, и то, уже части современного стека требуют 11+. Короче, начинай с 11 и невыёбывайся. Если хочешь повыёбываться, можешь начать с 8.
>>1950265 Чел, джава ЕЕ это всего лишь набор стандратов. Вот те пару реализаций из головы: Джакарта. Микропрофайл. Микронавт. Кваркус. Если ты хочешь быть совсем на острие, то хелидон.
Так как начать знакомство с EE? Везде советуют его немного потыкать, прежде чем в спринг залазить. Есть какие-нибудь современные мануалы и гайды, а также инструменты, которые работают хотя бы с 11 джавой?
Вкатыш-нуб на связи. Решил запилить программку для личного пользования и почти сразу же охуел от того, как простенькие идеи превращаются в ебучий снежный ком нахуй. Ну да ладно, суть не в этом.
Программа должна считывать текстовый файл. На основании каждой прочитанной строчки она создаёт один из 4 объектов, и у каждого вида есть свои особенности. Можно ли это реализовать лучше и красивее, чем с помощью метода со switch case / if-else?
Нет, ну реально, что надо этому пидарасу? При verify пишет, что ожидаемый и реальный аргументы отличаются (аргумент метода - Set). Сижу с дебаггером, смотрю: вот нормальный Set уходит в метод, обрабатывается, возврат из метода. В нем есть элементы. Перехожу на следующую строчку, смотрю список invocations в моке - тот же вызов, тот же Set, но сука пустой. Я блядь даже через System.identityHashCode их сравнил - это один и тот же объект, но в какой-то момент он очищается. Ладно, поставил брейкпойнты на clear и remove - нихуя, они не вызываются. Пиздец блядь.
>>1950780 Технологии в таких вещах не нужны, ибо решения принимать тебе никто не даст. Для этого есть специальные люди. Самый крутой и нужные девелопер в кровавом ентерпрайзе, это тот, который может докопаться до сути через огромные вековые кучи говнокода, причём в умеренное время. Тут читать бесполезно, нужно просто "делать".
Анон, привет, посоветуй годный гайд по сервлетам и серверам приложений. Хочу понять как писать сервлеты, как деплоить и запускать, рассмотреть архитектуру СП. И как при этом в спринге реализуются спецификации сервлетов.
>>1950994 > гайд https://metanit.com/java/javaee/ > как деплоить и запускать Получаешь war-ник, деплоишь мышкой через веб-консоль сервера приложений или лучше через один из плагинов для мавена, для всех популярных серверов они есть. > как при этом в спринге реализуются спецификации сервлетов Спринг не реализует сервлеты сам, он юзает реализацию из контейнера сервлетов, создаёт единственный DispatcherServlet, а в нём уже сам реализует роутинг, сессии и прочую хуйню.
Java проиграла битву, но на ней будут писать еще 5-7 лет как это было с COBAL
Даже если завтра объявят что java официально всё, на ней все равно будут писать даже новые проекте, потому что там в основном дедушки, а дедушки цепляются за технологию и используют ее до смерти.
>>1951044 Для десктопа сейчас берут js(любой другой язык) с его конвертором в QT (да дедушки, за эти 2 года много чего поменялось) Если и требуется написать серверное решение, то берут нормальный серверный язык, а не java на котором вроде как можно писать сервер...
Приветствую. Самообучаюсь джаве, раньше о программировании знал только теорию и в общих чертах (тип что такое переменная, что они разного типа, про логичнские конструкции типа if else и тп знал со школы ещё).
Пытаюсь написать простенькую "игру". Пока что у меня дракон и рыцарь хуярят друг друга пока кто-то один не сдохнет. Придумайте мне пожалуйста что добавить в игру, чтобы на моём уровне я смог погуглить-почитать и написать соответствующий код.
public static int damage() { int dam = (int) (Math.random() 100 + 1); return dam; }
public static int failure() { int fai = (int) (Math.random() 100 + 1); return fai; }
public static void main(String[] args) { int dracon = 1000; int hero = 1000; for (int i = 0; dracon >= 0 && hero > 0; i++) { if (damage() > failure()) { dracon -= damage(); System.out.println("=============================="); System.out.println("Damage is " + damage()); System.out.println("Failure is " + failure()); System.out.println("--------------------------"); System.out.println("Your turn "); System.out.println("--------------------------"); System.out.println("Dragon takes damage equal to " + damage()); System.out.println("Dracon Lives " + dracon); System.out.println(""); } else { System.out.println("=============================="); System.out.println("Damage is " + damage()); System.out.println("Failure is " + failure()); System.out.println("--------------------------"); System.out.println("You missed"); System.out.println("--------------------------"); hero -= failure(); System.out.println("Dracon,s turn "); System.out.println("--------------------------"); System.out.println("Hero takes damage equal to " + failure()); System.out.println("Hero Lives " + hero); System.out.println(""); } } }
>>1951046 >Для десктопа сейчас берут js(любой другой язык) с его конвертором в QT При чём тут десктоп, дебич? Я тебе не про WPF говорю, а про ASP, где дохуища проектов УЖЕ написана на WCF который не портировали в net core и крутиться на виндовом iis. То есть нужна виндовая инфраструктура. Я уже молчу про прикладные инструменты, хоть это не так важно. У тебя нет выбора рабочей ОС, потому что нормальная студия только на винде. Ну и еще хуллиарды тулзов, наверное. Я на энтерпрайз-шарпах недолго поработал хотя скорее поебланил, в моём случае Такое ощущение, что ты из JS-треда залетел и лишь бы спиздануть что-то. Еще скажи, что джаву теперь не используют на кофеварках.
Во-вторых, COBOL это не самый плохой язык для своих целей. Это по сути американская 1Ска, только немного более ебанутая. Язык для бизнес задач, автоматизации работы предприятия. Сравнивать обычные языки и COBOL это как сравнивать какую-нибудь java с Julia, R, Matlab и тд.
Доброго времени суток. Кто-нибудь пользовался валидата csp и справочником сертификатов? если да подскажите, ссылкой на инфу, или как удобно, как можно всё это дело автоматизировать через скрипт/api, а то что-то гугл не особо мне говорит как это можно интегрировать с помощью java.
>>1951121 >Во-вторых, COBOL это не самый плохой язык для своих целей
так же можно оправдать и MS DOS Эпоха Java давно закончилась. Переучится на новый современный язык не так сложно, почему вы это не делаете, почему вы вцепились за legacy язык?
И меряют полное время выполнения программы, а не время выполнения бенчмарка. И понятно что тут уже и время старта JVM считается и время JIT компиляции если до нее дойдет, прогрев то никто не делает. У Питона быстрее стартует интерпретатор, вот он и первый Если ты пишешь скрипт который будет разово исполняться - то да, это валидное сравнение. А если тебя интересует производительность в реальном приложении, которое работает длительное время это невалидный юзкейс.
>>1949231 Умерла, но на ней еще будут писать. Так же как передвижение на конях умерло, но ты можешь найти места где их используют для транспортировки грузов, потому что это выгодно и не нужно переучивать персонал на вождение авто да и авто денег стоит...(зачем вообще авто изобрели, одни убытки)
>>1951370 знаешь проблема всех этих новых не загибающихся языков? 3500+ вакансии в москве на жабе и 300-500 на го, и по тому-же примеру все остальные, кроме пытоши и жабаскрипта, но пытоша это язык в котором работа будет не того типо которого ты хочешь скорее всего.
>>1951478 >5 лет писал на java И что, у тебя были хотя бы малейшие проблемы с трудоустройством? >не забывай что кроме 3500+ там еще и 40 000 дедушек стоят у двери своими резюме. Вот это вообще к чему было?
>>1951478 >Тут даже контингент другой, люди более умные что ли, современные
В чем современность го, если это по сути обычный си без дженериков, эксепшенов и перегрузок, но с зелеными потоками и более удобными либами работы с сетью?
>>1951432 примерно год учился, 3 месяца назад взяли на оплачиваемую стажировку, с 1 марта официально в штате, особых проблем не было, только в альфабанке залупные старые козлы были, 2 часа *бали мозг, а потом ну твой батя судимый досвидание.
>>1951463 Хуй знает на самом деле. Но про то, что джава умерла, или на нее слишком много желающих, говорить не стоит. Хотя желающих действительно немного.
Cтранный спор какой-то. Ты на любом языке сможешь найти работу даже на кложе какой-нибудь, если ты умеешь на нем писать, знаешь, что делаешь, если тебе это нравится, поРАБотать всегда и везде успеете.
>>1951508 Мне кажется, что это троллинг просто такой. Какая-то слишком нездоровая акцентуация на количестве вакух и соотношении вакух к резюме, кочуют из треда в тред, охуеть можно.
>>1951529 Надо по соседним тредам поспрашивать, не мертв ли их язык, тем самым похоронить весь айти-инструментарий для разработки. Так и лопнет айти-пузырь.
Еще одно доказательство ненужности жавы - отсутствие переката уже как на 1600 постах. ОП умер от голода, ибо работу найти невозможно, денег на еду, соответственно, тоже.
Не закапывайте джаву, только вкатываться начал. ебана. До зимы бы успеть сесть на поезд. Из своего аула в две улицы, пол жизни только добирался до москвы + средне работы. Накопил денег(оставил 20 часов в неделю на работе) и сижу учу инглиш и эту джаву. Хочу стать белым человеком иметь деньги и вернуться в деревню и развивать фермерство, я долбоеб.
>>1951707 Да вкатывайся смело, даже если жаба через 20 лет начнёт загибаться, перекатиться всегда успеешь. И не будешь же ты на одном стеке писать до пенсии.
>>1951549 Пока спецовку одену, ключики тряпочкой протру, инструменты по кармашкам разложу, станок включу Пока интерфейсы напишу, абстракции накидаю, название класса не короче 30 символов придумаю, имплементирую интерфейсы, глядишь и обед начнется
>>1951746 > js закапывать начали Шарписты закапывают, ведь о боже, у них есть Blazor. Ни разу не видел, чтобы джависты так носились со всякими Vaadin/GWT/JSF
>>1949788 Тоже охуел как увидел это все в первый раз на проекте, по сути каждая из страшных аббревиатур разгребается за день-два, ну и останеться только спринг ковырять.
>>1951756 >Ни разу не видел, чтобы джависты так носились со всякими Vaadin/GWT/JSF Ты нипанимаиш! Блазор не компилируется в ЖС, это независимая платформа webassembly!
Суп. 27 лет, есть тех. образование. Опыта нет, с вуза помню только c/с++, могу в простые алгоритмы, инглиш есть. Сижу без работы, надо куда-то быстро вкатиться. Стоит мне в жабу лезть? И вообще куда-либо кроме веба? И так много времени проебал. Есть шанс что я слишком даун для вещей вроде жавы и решетки. Поясните про порог
>>1951765 >быстро Тебе тогда в пхп, руби, питон ну или во фронт, что-то типа реакта, вью. Можно ещё в тренде с мобилками спросить, там некоторые быстро вкатились. С беком на жабе не все так быстро.
>>1951035 >async/await Да уже сейчас можно добавить синтаксический сахар для Future, как сейчас сделано для Iterable или Closeable. Но по очевидным причинам, такое не введут.
>>1908464 Жабаскрипт или си решетка, тогда вкатишься. Жаба сдохла, новые проекты прд команды из синьоров/мидлов, или легаси говно тоже самое. Кароч жаба в 2к21 - горя хапните.
>>1951783 Очевидно, что нинужно, потому что будет Loom. Легковесные треды во всем лучше async/await. - весь существующий код работает из коробки - все прокси фреймворки работают (транзакции, трейсинг и т.п.), тред локалы и прочее - простые и понятные стректрейсы - простой и понятный дебагинг
Аноны, есть ли какой-нибудь контейнер, который при получении элемента автоматически переходил бы к следующему, а на последнем сам переходил к первому? Итераторы, вроде, сами не переходят в начало.
Есть ли в джаве циклический список, к которому можно подключить итератор, например?
Не хочу в коде свои классы плодить, дабы код еще менее читабельным был.
>>1951910 хз, даже в моем мухосранске куча вакансий на жабу, в т.ч. стажерами и жуниорами в банках. Жабаскрипт тоже много вакансий (чуть меньше чем у жабы), но с начальным лвлов ни одной. А си-решетка вообще нахуй никому не упала. Ну пара вакансий есть, но это смешно.
>>1952301 плюс, учитывая то что в жабаскрипт сейчас каждый вкатывается сначала, конкуренции по жабаскрипту НААААМНОГО больше. Ну и всяко она проще в изучении.
Как работают асинхронные запросы в спринг MVC? Допустим, у меня есть ресурс /users/. К нему автоматом будут коннектится без блокирования потока люди? Бин @Controller вроде как создается на каждый запрос. Т.е. никакая свистопляска с многопоточностью не нужна, да? Но как быть в таком случае с подключением к БД и использованием датасурса в репозитории?
>>1952052 а много там джунов? или Middle+/Senior позиций? И сравни просто требования для Android Junior/ Java Junior и охуей. Кароч в нашей стране рынок жаба джунов перегрет сильно, знакомая HR говорит, что джуны жаба не нужны. Через их контору под 40к проходит кандидатов. Такие дела
>>1952338 К примеру, вот я например изучил Кантора почти всего, умею верстать (под мобилку в тю.ч.) Реакт знаю более менее(хотя уже подзабыл), редукс трогал. Но я понимаю что я нахуй никому не нужен, потому-что таких как я дохуя на рынке, потому-что это все учится изи. Требования по жабе больше, она сложнее. Вакансий +- так же как и по жабескрипту. Т.е. вкатиться (получить работу) в жабе проще. Да, надо изучить всего больше, это факт. Но шанс того что это все будет ненапрасно - высок. В Жабескрипте ты будешь знать кучу фреймворков и всеравно сосать хуй. Наверное, точно я не знаю
>>1952117 - реализация более сложная но это проблемы авторов JDK - больше потребление памяти - хуже перформанс в некоторый случаях типа неблокируемых алгоритмов - проблемы с native code непонятно насколько хорошо будет поддерживаться native code
>>1952328 >в нашей стране рынок жаба джунов перегрет сильно, знакомая HR говорит, что джуны жаба не нужны
Джуны вообще никому не нужны, вне зависимости от стека технологий. Хоть жаба, хоть питон, хоть шарп, плюсы, пхп, жабаскрипт, и т. д. Нет опыта -> ты нахуй никому не нужен в ИТ.
Нормальные пацаны учат Spring Core, Spring Boot, Spring Data, Spring Security за месяца 1,5+- самостоятельно. Если вы такое не можете, то стоит задуматься, а надо ли оно вам?
>>1952563 >Шиз, кто про ВЕСЬ спринг писал? ну так-то в том же коре дохуя нюансов типа интерсептеров и прочего говна. Сомневаюсь что это можно все осилить за 1,5 месяца. Не говоря уж про бут. Он только кажется простым
>>1952584 > дохуя нюансов типа интерсептеров и прочего говна Будет задача, которую нужно будет решить этими средствами - освоишь. Без требований эти нюансы нахуй не нужны, пока ты жсончик в базу складываешь.
>Сомневаюсь что это можно все осилить за 1,5 месяца. >все Зачем вообще осиливать все? Осиливать надо то, что используешь для решения определенных проблем. А с твоим подходом изучать что-то можно вечно.
>>1952732 С одной стороны ничего плохого вроде бы нет, с другой иногда попадаются классы, где куча конструкторов вызывает друг друга, и заёбываешься прыгать между ними.
Прочитал 2 вводные главы Spring in Action 5 с горем пополам. Не хватает: 1. Знания html/css + thymeleaf. html читал только маленькую статью, css вообще не знаю ничего, нужно ли вникать в thymeleaf - вообще хз. 2. Знания конфигурирования Spring Boot. Ну основы ди/конфигурирование обычного спринга посмотрел видосы, почитал статьи, кто такие бины и как они инжектятся. А по буту нашел сильно меньше и не понял. 3. Понимания MVC паттерна. Вроде читал всякую абстракщину и в общем понимаю, но в конкретике путаюсь. Например интерфейс Model точно относится к нему? Насколько я понял это по сути мапа передающаяся от контроллера к шаблонизатору. Я думал, модель это сами объекты, типа заказов, людей, итемов и прочего. Короче вопрос стоит потратить неделю только на html/css по этому туториалу? https://metanit.com/web/html5/ Какие главы стоит пропустить?
>>1952882 Не могу. Здоровье плохое. Придется вкатываться в кодинг. Плюс я уже кучу времени потратил на жабакор. Так что Спринг. Но если я буду так же ходить кругами, как и с кором - я потрачу года два с половиной вместо одного.
>>1952886 Даже боюсь представить, что ты там наизучал. Сиди и делай, как обезьяна, по книжке. По верхам нахватаешься - будет хоть что-то. Алсо, спринг ин акшон кал полный, там дико запутанные листинги, которые просто ахуеешь собирать в рабочую программу, но ничего ентрилевелнее, увы, нет.
>>1952905 А что не кал? Про Спринг норм? Где теорию брать? Мне не понравилось что в Спринг ин экшон теории почти нету, пришлось после первой главы смотреть ютуб и читать статьи по di. А по листингам, там же есть код готовый. Если по книжке не перепечатывается, они что-то отпечатались или типа того, можно в готовый код заглянуть.
>>1952925 Нигде. Нет никакой теории. Вся суть фреймворка в том, что тебе не нужно о том, как там DI устроен - за тебя уже подумали умные люди. Хочешь разобраться - поставь брейкпоинт в конструктор любого компонента и по стаку отследи какой механизм его вызывает, но я тебе отвечаю, там такая запутанная борода с 20 стажем, что только Евгений Борисов и поможет.
>>1952935 Никак. Ещё раз повторяю, все эти книжки по фреймворкам - хуита. Хочешь разобраться - гугли всякие статейки и видосики для чайников, ищи бест практисы и т.п. По крупицам будешь потихоньку набирать знания. Другого пути нет. Сесть, прочитать книжку и сказать "я знаю кунг-фу" - не получится.
Тут же все поголовно синьоры 300ккк/сек, не так ли? Объясните, что за хуйня вообще на пикриле? Зачем вообще в скобки запихнули эту всратую конструкцию? Разве нельзя было создать объект Runnable, и потом передать как параметр?
>>1953066 Чел. Ты даже не представляешь. Бинпостпроцессоры это просто детский сад по сравнению, например, с тем, как работают рест контроллеры и методы в них.
>>1951052 Если хочешь делать простенькие игры, где реально что-то бегает на экране и пиздит друг друга в 20 строчек кода, то ознакомься либо с рогаликами/roguelike, либо с простыми 2d-движками. На джаве овердохуя туториалов и движков и к тому, и к тому. Дальше только твоя фантазия. движок к игре написать в 100 раз проще, чем придумать интересную механику Естественно, нужен английский.
>>1953067 > Разве нельзя было создать объект Runnable, и потом передать как параметр? Хм, что же лучше? int c = 1 + 2; Или int a = 1; int b = 2; int c = a + b;
>>1953071 Ок. Я не знаю как это работает точно, поэтому утверждать не могу. Но я знаю как работают фильтры, аннотации, рефлексия, и могу придумать как бы я сделал это сам. В любом случае - в спринге нет никакой магии. В очередной раз.
С каких фреймворков посоветуете начинать? Я хочу создать что-то гуёвое, типа калькулятор с кнопками или шашки, в которые можно играть с самим собой и т.д. Swing, как я понимаю, уже не актуален, а что можете сказать за JavaFX?
>>1953760 >>1953781 Ну что вы на человека напали. Хочет поиграться - пускай играется. >>1953756 Очевидный fx. Или если прям очень хочешь гуями заниматься, катись в андроид.
>>1953793 Я один и тот же шизик, это я тут продвигаю мысль, что идею надо переписать на плюсы, Когда-то тыкал Android studio, пришлось докупать оперативу, да и после этого приходилось выбирать между браузером и студией. Да и идея не намного лучше. С тех пор триггерюсь каждый раз, когда кто-то собирается писать гуй на жабе.
>>1953264 http://www.roguebasin.com/index.php?title=Java Посмотри тут или в гугле, я любитель писать велосипеды писать движок на свинге или любой порт curses на жаву Простые 2д игры делал на движке Slick2d, но наверняка есть варианты получше.
>>1953798 Ну ОК, а какой тогда мини-проект можно сделать вкатуну-самоучке? Чтобы это можно было потом представить как портфолио. Везде требуют: покажите какие-нибудь свои проекты. А пока что на данный момент я тупо задрачивал теоретические знания.
>>1953851 Спринг же. Пишешь какой-нибудь интернет-магазин или социалочку, с ппостенькой веб-мордой, и всё. Правда, это делается для себя, работодателю максимум про него рассказываешь словами, сам проект они почти никогда не смотрят.
>>1953798 Это ты один и еще полтора анона в мире с днищепекой, у 99% разрабов нормальные рабочие машинки, поэтому всем похуй. Даже на моем домашнем макбук про конца 13 года с 8гб озу все летает. А идея зато кроссплатформенная, и вообще она, наверное, лучшее java-gui приложение, который я видел, очень близок по отзывчивости к нативу, куда лучше js-говна типа дискордов.
>>1955081 Ты про шарп или про объектно-ориентированный язык программирования, разработанный в 1998—2001 годах группой инженеров компании Microsoft под руководством Андерса Хейлсберга и Скотта Вильтаумота[7] как язык разработки приложений для платформы Microsoft .NET Framework. Впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270. ?
>>1955187 У 90-95% сайтов и приложений бек написан на Яве полностью или частично. Берешь понравившийся тебе стартап вбиваешь startupname careers и видишь что за языки используются. Берем https://www.eu-startups.com/2019/03/10-of-the-best-startups-to-work-for-in-europe/ N26 - Ява и питон у датасатанистов Spotify - Ява, немного легаси питона в сервисах и у датасатанистов Hello Fresh - Го + Ява Auto1 - Ява BlaBlaCar –Ява Transferwise - Ява
>>1955681 Я ЖЕ УЧУСЬ. Видимо просто не так углублялся со сканером(так и есть) а сейчас все равно учу коллекции. Все знания все равно поверхностные мои,но это нужно что бы я потом что-то делал и узнавал больше. Нет?
Подскажите пожалуйста, какую базу данных облачную можно попробовать использовать для студенческого проекта? Ранее пока работал со свифтом, там очень годным был Firebase. Но я как понял, его можно адекватно использовать только на андроиде или ios, для десктопного приложения чтобы его прикрутить нужны танцы с бубнами.
>>1955688 Я тоже учусь, просто обычно сканнер это самое начало учебника, мапы и потоки ввода ближе к середине, а функционалочка ближе к концу. И когда я до функционалочки дошел я задачек 200-300 со сканерами решил, хоть и не из ридера, а с систем.ин.
>>1955753 задачи с джава раша насчитал чтоле. и шо ты вкатился уже ? просто подход к обучению у нас разный наверное. задачи пизжу с курсов, знакомые сливают + в чатах сижу.
Делаю форму регистрации, во время регистрации происходит три действия: 1. создаётся и сохраняется новый юзер в бд, 2. создаётся и сохраняется токен для активации в бд, 3. отсылается сообщение для активации пользователя. Во всех трёх местах может выскочить ошибка, я так понимаю что лучший способ это поместить все три действия в одну транзакцию или есть что-то ещё?
>>1955813 hiperskills jetbrains(платный, как жабараш, но сильно лучше, ибо от людей, которые в жабе разбираются и на инглише), stepic(там несколько задачников, бесплатно. Самые нормальные от тех же джетбрейнс на инглише), всякие алгоритмические на codewars. >>1955859 Неа, месяц назад засел за спринг/хибернейт. С моим ленивым подходом это еще на год/полтора. У меня из знакомых только фротэндеры. Может ты и прав, я много времени потратил на кор, читая параллельно несколько туториалов и учебник и проходя несколько задачников. Но я не спешу вкатываться. Мне уверенность, что я хоть что-то знаю важнее скорости обучения. Много маленьких задачек на применение стандартной либы джавы и на простые алгоритмы в этом немного подсобили. Жалко по спрингу задачников нет. Ибо уже несколько раз было, что даже после перепечатки кода из учебника - через 3 дня забыл, что это вообще учил.
>>1955968 У тебя вообще странный подход к обучению. > скорость не важна, важнее знания Знаю нескольких вкатунов, которые четвертый год вкатываются. По сути получается что это не цель, а хобби какое-то. Изучать программирование. > перепечатываю и забываю Так и не надо перепечатывать. Нужно писать самому. Забыл? Подгляни. Но чтобы не забывать, надо много писать своего кода. Придумать приложение - 5 секунд. Бери и пиши. Самое лучшее обучение.
>>1955973 Чел, когда ты только начинаешь - сам ты ничего не напишешь. На коре я могу что-нибудь написать и то что забыл, подглянуть. Гуй к базе данных на jdbc на свинге, хоть и дропнул главу про свинг на середине. А там где я посмотрел только самое начало со структурой проекта, одним шаблоном и одним контроллером, четверть из этого не понял и четверть забыл - как я что-то там напишу? Как я например смогу даже поставить себе задачу написать рестфул приложуху, если я в душе не ебу что такое рест и зачем он нужен? Можешь хоть миллион раз говорить что я тупой или борщехлеб и мне пора на кассу в пятерочку.
>>1955995 >тупой или борщехлеб Я такого не говорил. Ставишь себе задачу. Написать рестфул. Начинаешь писать приложение. Доходишь до момента который не знаешь -> начинаешь читать/гуглить/изучать. Лучше чем тупо копипастить.
>>1956032 Ну я хз, как поставить себе задачу, где я не шарю вообще. Ну про хобби ты слегка прав. Я не сильно хочу вообще работать, и даже если не вкачусь на галерку это будет как хобби.
>>1956670 Ну а в некоторых выигрывает. А в некоторых сферах проигрывает js или php. Это как учиться в бурсе на слесаря-сантехника, а потом захотеть свичнуться на электрика, потому что ток быстрее воды бежит.
>>1956852 Где юзается жаба, обычно юзается только jvm, вся хуйня, которую теоретически возможно написать на жабе, там пишут на жабе, все вспомогательные приложухи на жабе, клиент и всякие утилиты на жабе, QA automation на жабе, девопс на груви и jython, даже небо и аллах будут работать на jvm.
Если ты не зеленый, то тебе нужно почитать про hash-based структуры данных, HashMap, например, как самый популярный представитель.
Но вообще эту залупу бы генерировать автоматом, дата классы в котлене это умеют, в жабушке не знаю что является альтернативой ебаный обоссаный обдристанный волосатый ЛОБОК?
>>1957091 >тебе нужно почитать про hash-based структуры данных, HashMap, например, как самый популярный представитель Расскажи, плз, как часто ты используешь сущность из базы в качестве ключа для хэш таблицы?
>>1957108 Очень редко сущность сама используется. Чаще какие-то айдишники или стринги. Equals намного чаще нужен оверрайднутый. Если тебе надо две сущности сравнить. А с ним по дефолту оверрайдят и хэшкод, потому что у них контракт.
>>1957263 >Очень редко сущность сама используется На самом деле не так уж редко, используется каждый раз, когда используется Set (реализация HashSet), а сеты все же иногда используют.
>Equals намного чаще нужен оверрайднутый Не нужен, вряд ли ты хотя бы раз вызывал equals у сущностей.
В чем чуть ненависти к ломбоку? Среди жаба-ютуберов я нелюбовь к нему только у немчинского видел, а он имхо хуй. Ибо чисто пиздит, а посмотрев его старые уроки, увидел, что качество ниже среднего. Зато почти все кто делают уроки по продвинутой джаве/хиберу/спрингу - его используют, а среди них есть нормальные ребята работающие в продакшене. В книгах типа Спринг ин экшон он есть. То есть по сути ломбок - почти стандарт индустрии.
давно не заходил на борды, почему такой срач в этой ветке постоянно? и нахера вам эти базы со спрингом всрались. хотите работку за 300кк? хех РАБотать на начальника, двигаться по карьерной лестнице? Что же с тобой стало анон...
>>1957532 Только в тестах норм. В обычном коде из-за километровых идентификаторов вместо foo(bar(baz(123))); начинается setAbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator( getSingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory( abstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter(123) ) );
>>1957445 Не поддерживает наследование. Скрывает реализацию, и если объект создается билдером - то чтобы поискать где сеттинся поле надо деломбокать билдер.
>>1957740 Не следит никто, книжки по кору читаются один раз в самом начале. >>1957756 У многих до сих пор восьмёрка, хоть бы на 11 перейти, что там 17.
>>1957761 Ну так кто сейчас в самом начале - ему стоит книжки по 11 читать. Хотя некоторые ебанаты первой книжкой все равно рекомендуют философию или хедферст с говном мамонта вместо жабки. А те кто в самом начале будут через год - им стоит начинать с книжек с 17ой.
>>1957763 Это олды рекомендуют говно мамонта, которые прочитали 10 лет назад, и не знают, актуально ли это сейчас. Будет неудивительно, если лет через 10 я будут так же рекомендовать Хорстманна, а он перестанет обновляться.
>>1957517 Это допустимо. Это же метод теста, он не будет вызван напрямую нигде в коде, потому его длина может быть абсолютно любая, главное, чтобы суть передавал. Так что норма или нет зависит от соглашений на проекте. Может там комменты запрещено писать.
>>1957740 Зачем читать книжки по кору? Ну типо шилдта или хорстманна несколько глав стоит прочитать, но полностью никто этого не делает. Тем более, что некоторые важные моменты типа NIO и многопоточки освещены обычно довольно плохо в них.
>>1958142 Чтобы вкатиться в кор, нужно решать задачи на кодварсе и литкоде, параллельно читая разнообразные мурзилки и гугля how to do X in Java. Ну ради описания ООП и конечно стоит почитать хорстманна, но увлекаться им не стоит.
У меня есть очень давняя идея: написать свой сервис-ГИС типа народной карты яндекса или викимапии. Как такое спроектировать? Есть какие-нибудь гайды по архитектурам ГИС приложений?
>>1958231 Ну, хорошего ресурса с задачами именно по стандартной библиотеке я не знаю. Не факт что он вообще есть. https://codingbat.com/java Есть это, хиперскилл и джавараш.
>>1958381 >>1958384 Вообще ничего не нужно. От джависта не ждут мастерства в десигне, фактически и проект смотреть не будут. Учить фронт нужно только в том случае, когда явно илёшь на фуллсиека. Иначе хватит дёрганмя рест-контроллеров курлом.
Сап, двач. Ньюфаг студентота ИТТ. Есть ли какие-то сервисы, подобные ulearn.me, только для Джавы? Чтобы было видео либо текст, не принципиально с объяснением темы и под ним сразу какая-то практика для закрепления? Интересуют самые основы. Либо какое-то комбо вроде книга+задания от разных людей, но с тесно связанной последовательностью тем и реализацией решения? Чтобы не надо было ебаться с разными библиотеками, которые в книге ещё не были описаны, например
>>1958966 Где ты кринж увидел? Пикчи нужны все. >>1958974 Сюда и без этого периодически приходят с вопросами по вебмакакингу, тип страшно в жс-тред заходить.
>>1959051 Не совсем. Я запускаю тест, а молоточек перед этим запускается автоматически. Приходится вручную в каждую тестовую конфигурацию добавлять запуск мавен гола. Мне-то норм, а вот при запуске на другой машине мне приходится объяснять, что надо сделать.
Объясните мне за утечку памяти. Как писать код чтоб он не утикал нихуя? Про закрытие ресурсов знаю, но как быть с ебучими объектами? Может гайд есть толковый про это? Или вы выстрадали свои решения?
>>1959381 алсо чем мониторите мониторинг? К примеру у меня легаси параша дедами писанная. С каких сторон к ней подойти чтоб искать слабые места? Ясное дело несколько раз в день перезагружаем к хуям
>>1959383 Вообще как правило ничем. Джава обычно сама справляется. Но если траблы реально есть, то надо делать дамп памяти и его ковырять, чтобы понять что не так. На реальных больших проектах есть перфино.
Жаба-анон, попытаю счастье - как-то в интернетах я находил jar-ник на свинге, где прям ГРАФОНИЕМ (на свинге) и АНИМАЦИЕЙ объяснялись всякие примитивы синхронизации и типичные concurrency проблемы.
Но щас хуй могу нагуглеть, сколько не пытался. Может кто помнит?
Хочу засунуть конфигурацию логгера в конфиг мапу кубернетиса, чтобы была возможность изменить там уровень логирования для какого-то класса и приложение автоматически его подтянуло бы. Какие подводные камни?
Аноны, киньте годные статьи, где объясняется многопоточность, как работают треды, локи, форкжоинпулы, экзекутеры, как все параллелится и тд. Только чтобы было реально понятно. В прошлых тредах сеньор кидал задачки, смотрел решения и мало что понял, почему и зачем написали именно так.
>>1903662 (OP) >Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна. Во всех книжках всё аналогично. Разве что количество говнокода стремится к нулю, потому как количество кода в принципе сводится к нулю, а вместо 1000 заданий 3,5.
Любая книжка сводится к : "Тащемта, ничего сложного, тупо кодишь сайт и по ходу гуглишь что непонятно", после чего следуют овер9000 страниц копипасты из документации к языку.