ТРЕД ПО ЖАБЕ #114 Что такое Java? Java - язык программирования /java/
Аноним24/07/22 Вск 16:07:41№24148761
ТРЕД ПО ЖАБЕ #114
Что такое Java? Java - язык программирования с классами (aka объектно ориентированный), где нужно явно указывать тип объявляемых переменных (aka со строгой типизацией). Заебись. А что ещё делает Java лучшим языком программирования? - На Java написано столько всего, что любая твоя невообразимая идея уже существует в виде библиотеки, которую можно скочать и юзать - Java - мультипарадигменный язык, тут можно писать в любом стиле, который тебе вздумается, даже к памяти можно получить доступ через Unsafe, но, при этом спроектирован язык для того, чтобы на нём писали в ОО-стиле. - От прошлого пункта плавно перешли к отличной проработке языка - язык с самого начала задумывался как язык для ООП и многопоточности, благодаря чему писать чистокод на Java легче лёгкого! - Java - относительно молодой язык, который до сих пор активно развивается жидами из Oracle, при этом почти неполживо опенсорсно. - Java следует принципу write once во всём. Java никогда не ломает обратную совместимость - твой код, написанный на Java 1.2 будет работать на Java 18 - и не зависит от платформы, являя из себя единственный полностью кроссплатформенный язык с кроссплатформенной экосистемой (если не считать языков-паразитов на JVM).
>>2414881 Идея вечной обратной совместимости (jdk 9 модули игнорируем) не выдержала проверку временем. У jvm все еще есть потенциал, котлин хороший язык, quarkus современный фреймворк
>>2414930 Веб-сервер и контейнер сервлетов. В отличии от Спринга можно всё делать в ООП-стиле без всяких неочевидных внедрений зависимостей, бинов и многослойных аннотаций. Просто берёшь HttpServlet и наследуешься от него.
>>2414932 Причем тут свой протокол? Jetty это просто контейнер сервлетов, которые по хттп работают. Свой протокол писать - это нужно в сторону сокетов смотреть
>>2415138 Двачну, есть котлин и это спасение от жидовской оракловской устаревшей на два десятилетия загнивающей жабы. Только вот индийским скуфошвайнам (основная категория джава разработчиков) котлиняша слишком сложный
>>2415401 Мне не нравится синтаксис котлина, но нравится синтаксис шарпа и плюсов. Если и выбирать между котлином и жабой, я лучше уж на жабе останусь, пока никогда не появится язык получше.
>>2415413 Нет конечно же, это курс чтоб ОСА сдать. А на собесе тебя вместо кишочек свинга и компиляции на бумажке, которую ты усердно задрочишь на курсе, спросят сиквель, спринг и что нибудь по ресту.
Нужен ваш опыт. Пару лет назад "жестко" задрочил джаву и ее околоплодные фреймворки, на столько, что хватило за 2 года дорасти до 300к/мес (не хвастаюсь, просто показатель прогресса в профессии). Но с тех пор, как устроился на вторую работу (спустя год опыта) практически перестал учить что-то новое, только по необходимости, да и то, поверхностно. Видимо, пропал интерес. Так вот, суть вопроса - чем мне это грозит, не выдавит ли меня время нахуй с это вашей ит, и как быстро это может произойти. Интересен ваш подобный опыт
Почему в лобке нет аннотации @ListToVarargs, которая бы дублировала методы и конструкторы и если находила там лист, то создавала аналогичный метод с вараргами и List.of()?
>>2415882 Для души занимаюсь другими делами, программирование ушло на второй план, фанатично зубрил только в начале карьеры буквально 4 месяца, дальше аппался только на первой работе, когда не было текущих задач а сидеть в офисе и палить видосы/сериалы было стремновато. Сейчас я на удаленке и без зазрения совести трачу 3-4 рабочих часа в день не на работу. Думаю, что если недостаток знаний начнет поджимать, упрусь в изучение/повторение, а пока чилю
>>2415905 Ну красивее с ними код. А иногда они прямо переворачивают с ног на голову программирование, ведь в некоторых ситуациях оказывается лямбду несоизмеримо выгоднее написать, чем ручками все делать.
>>2415915 о чем ты? Если ты не переопределяешь переменную it, ты можешь указать просто код внутри { }, так еще и вне скобок вызова метода, а после - что очень удобно( qwe.() { it.qwe()} )
>>2415920 уверяю тебя, дело привычки. Я тоже первое время психовал на этот синтаксический сахар в котлине, сейчас же, думаю, возвращаться будет эстетически тяжело
>>2415923 Это напрямую повышает нагрузку на мозг во время синтаксического анализа кода. Тебе нужно думать, что там написано, переменная или лямбда. А читаемость всегда > написуемость.
>>2415924 ты не прав, это было бы актуально для мутабельной коллекции, а на деле ты имеешь новую коллекцию со значениями (в котлине есть и такое, там аналогичный метод зовется removeIf), попавшими под условие предиката, так что filter и filterNot - оптимальные названия
>>2415932 Все равно это сложнее воспринимать. Я уж лучше напишу один раз lambda с помощью лайв темплейта, чем 1000 раз напрягусь для прочтения чужого кода с неявными лямбдами.
>>2415946 Ты либо крестик сними, либо штаны надень. То бишь, либо возвращай значение, либо меняй объект, иначе - это антипаттенр сайдэффект, почитай на досуге
>>2415961 А, да, я перечитал, все норм. Ахаха. Я просто не так понял, слова "Оставить" и "Очистить" как-будто бы употребимы в контексте изменения объекта, из-за чего я подумал, что ты меняешь изначальную коллекцию. Ну все тогда, конфликт исчерпан
Почему так нахваливают двухтомник Хорстманна? Я когда его читал, то понимал только те моменты, которые и так уже знал, а что-то новое понять было невозможно. Объяснение очень краткое и малопонятное, формулировки корявые, примеров мало.
>>2415982 Нет, спринг вообще ничего про твои хтмл и жс не знает, он тупо раздаёт ресурсы, а всё остальное делает браузер. Не говоря уж о том, что обфусцировать клиентский код бессмысленно.
>>2416004 >Если с торрентов, то чому нет если еблан не умеет пользоваться торентами то програмиирование вообще можно забывть, я вот лично научился пользоаваться тореннтом ещё в 2005 году, помню мою первую раздачу это я скачал коллекцию фильмов рокки больбо, братишка двоюродный показал и научил, но программистом я всё равно не стал
мимо скуф репетитор музыки 31 лвл нищий питух долюоёб.
>>2416003 Нет таких книг, где есть такой обзор спринга, как в курсе от отуса. В спринг ин экшон поверхностнее описано, в про спринг куча лишнего легаси говна и нет бута. В доке 90% инфы вкатуну нахуй не нужны. Что и в каком порядке читать из баелдунга, до написания пета вообще неясно.
Привет, у меня есть бд Postgres, мне нужно сделать полнотекстовый поиск по нескольким таблицам через elasticsearch. Как правильно это сделать? Может у кого такая же проблема была.
>>2416181 Хешмапа при превышении показателя нагрузки полностью перестраивается. Представь, сколько операций ввода-вывода придётся проделать, чтобы в одной транзакции перестроить насколько хешмап (по каждой на индекс), хранящихся на диске. А так достаточно перебалансировать максимум несколько узлов B-дерева.
>>2416209 @Slf4j Логирую через инфо то, что приходит на контроллер. И что приходит из других сервисов. Транзакцию начало-конец логирую. И иногда, если изъебистый запрос в базу, то начало его логирую. Если эксепшоны заворачиваю в другие эксепшоны и прокидываю их дальше через еррор/варн.
Есть сервис, он иногда обновляется. Моему сервису, который у себя дублирует часть данных с того сервиса, нужна последняя версия первого. Т.е. например первый сервис отвечает за юзеров, юзера добавили, и мой сервис должен обновиться следом. Первый сервис на 1С, как я понимаю можно сделать чтобы он отдал какой-то рест, в виде json-а, я хочу сразу после обновления его забирать. Как такое сделать? Брокеров и микросервисов нет.
>>2416559 Либо сделать так, чтобы тот сервис присылал тебе обновления, либо самому его поллить с небольшими интервалами, типа "чо нового?". Раз нет брокеров, для первого варианта придётся на случай, если один из сервисов недоступен, делать некий механизм гарантии доставки, чтобы переотправлять недошедшие в прошлую попытку данные через указанный таймаут.
>>2416240 А вот например я хочу поработать с базой данных кей-валуе. Обязательно ебаться с этим с sql запросами, или есть библиотеки как засунвть коннекшен под интерфейс Map?
>>2416563 Тебе говорят кейс как сломалось. Идешь в хранилище логов(эластиксерч например) и там ищешь сам. Ну или к самой виртуалке/контейнеру подключаешься и читаешь.
>>2416812 >учиться надо по этому туториалу, а не по курсам тысказал? Учиться надо по курсам/книгам/туториалам к которым прикреплена большая кодовая база примеров, которые можно позапускать и поковырять.
>>2414876 (OP) Решил в очередной раз вкатиться вайти, в качестве ЯП выбрал жабу. Узнал, что для программирования на жабе нужен jdk и среда разработки. Зарегался на сайте Оракл, нажал "Скачать", и тут Оракл провёл мне по губам и сказал, что с моего белорусского айпи я могу только пасасать, а не скачать ждк, потому что санкции или что-то вроде того. И что мне теперь рабить? Искать сторонние залупы, компиляторы-хуяторы, которые будут отличаться от оракловских, и потом в случае чего переучиваться под оракловские? ВПН и прочие прокси могут помочь? Зарегаться на сайте удалось, только указал, что я из США, потому что Беларуси и России в списке я не увидел, удалили небось.
>>2416842 Так я и говорю, что хочется санкционочки официальной, а не опен, потому что хочу раз учиться, так учиться по уму, ато на википедии пишут, что различия хоть небольшие, но есть. Это вам, 10 лет опыта наносекам, может и нет разницы, а мне-то, жуку-плавунцу, хочется всё сразу красиво. Вот я и спрашиваю, можно ли как-то обмануть заморского барина и выкрасть у него самое что ни на есть официальное ждк?
>>2416855 Под "идеей" ты подразумеваешь IntelliJ IDEA? Я тоже не знаю, выбрал пока что эклипс как иде, потому что прочитал что он самый популярный. Если что, попробую, хотя может и там хитрые оракловские жмоты не пропустят.
Обращаюсь к джава-наносекам из России и Беларуси, которые увидят этот пост. Как вы сами программируете, откуда берёте оракловский jdk? Или вы все на опенах сидите? Или ВПН может помочь обойти американские законы по экспорту?
>>2416854 Нет никакой разницы, только эстетическая возможность прикоснуться к илитарной сборке. Ни документация, ни тем более код не отличается там. Единственная разница - попен ждк лицензирована под жопаэлем, что это значит сам понимаешь. Но в общем то в 99,9999999999999% случаев похуй. Но если так охота, качни впн и качни баренскую ждк.
>>2416847 Ну по этому тебя вообще везде будут гонять. Но по жаба кору больше. Меня вот в разных местах спрашивали и по webmvc(жизненный циклы с диспатчер сервлетами и по самим сервлетам) и по junit/mokito/spring-test и по буту(автоконфигурации) и по transaction isolation/propagation и и по jmx хотели в одном месте спросить, в одной помойке хотели soap, в другой общие представления о aws, в третьей общие прдсталения о популярных nosql. Знакомого на ждуна спрашивали про кафку. Тестовое давали: рест-клиент + рест-контроллер + постгрес в докере + тесты в тестконтейнере + сваггер.
>>2416875 >Существуют комплекты разработки приложений на Java других производителей, доступные для ряда платформ. Часть из них начиналась с исходного кода Sun JDK, часть — нет. Все они строго выполняют базовые спецификации Java, но обычно отличаются в областях, для которых нет явных спецификаций. Например, Сборка мусора, стратегии компиляции и техники оптимизации. https://ru.wikipedia.org/wiki/Java_Development_Kit Вот я и говорю, что меня, вкатуна, >Например, Сборка мусора, стратегии компиляции и техники оптимизации виебут потом, чи не? >качни впн А поможет? Ты сам какую jdk используешь, откуда качаешь?
>>2416883 Либерика ждк у меня (основана на попене), поставил только потому что ее быстрее скачать и поставить (с оракдом надо регистрировать залупу, оригинальный попен вообще надо вручную ставить). В проде юзаю грааль вм.
Стоит студенту-вкатуну, который делал крудошлепство целый год в качестве хобби, выкатыватся с Node.js (Nest, Express) и Реакта в любой PHP-фреймворк?
Просто на ЖС-вакансий - нихуя или везде нужны сеньоры. На пыху же судя по всему можно вкатиться очень быстро. Сейчас быстро проглядел доку по Ларавелю и все понял.
Но вот стоит ли менять стек, сосредотачиваясь на пыхе?
PS С остальными этапами собеса (типо лайвкодинга или алгосов) проблем ни разу не было. Главное - определить стек и вкотица
ИЛИ МОЖНО ВКАТИЦА ХОТЯ БЫ В ЖАВУ? СУКА КАКОЙ ЖЕ Я ГОЛОДНЫЙ И ВСЕМ РАБОТОДАТЕЛЯМ ПОХУЙ НА МОЮ ПРОФИЛЬНЫЙ 2 КУРС И 1000000 ПЕТПРОЕКТОВ
>>2416978 Плох тот солдат, который не мечтает стать генералом. В прочем, еще хуже долбоеб который роется в кишках jvm и делает свои приложения не то что платформозависимыми, а блять JVM-ЗАВИСИМЫМИ
>>2417214 Я читал, если ты уже все почти знаешь и готовишься к собесу в ебнутые компании с пунктиком на алгоритмы, то можно. в любом другом случае смысла мало, я в свое время кучу времени на нее вьебал а по итогу нихуя особо не получил, кроме умений написать нетривиальные сорты и структуры по типу деревьев что сейчас уже практически забыл, плюс ко всему там код странный мягко говоря
>>2417214 Я читал, если ты уже все почти знаешь и готовишься к собесу в ебнутые компании с пунктиком на алгоритмы, то можно. в любом другом случае смысла мало, я в свое время кучу времени на нее вьебал а по итогу нихуя особо не получил, кроме умений написать нетривиальные сорты и структуры по типу деревьев что сейчас уже практически забыл, плюс ко всему там код странный мягко говоря
>>2417244 А зачем сидеть на винде с виртуальной линуксовой машиной? Когда можно поставить себе нормальный линукс-дистрибутив и иметь доступ к нормальному терминалу и докеру без лишней ебли и дополнительной ненужной виртуализации? IDEA на линуксах есть, браузеры те же самые, что нужно еще?
>>2417276 Ну если ты только и делаешь что программируешь то возможно. А так мне даже на уродливый рабочий стол предназначенный для экранов 360x640 смотреть больно
>>2417270 Двачую. Винду как правило только школьники используют, ну и те кто просто не осилил поставить хотя бы убунту.
Под линуксом у тебя автоматически будет нормальный терминал с автодополнением по tab, все стандартные юниксовые утилиты, тот же докер, как сказали выше, нормальные стандартные разделители в путях к файлам, возможность исполнять bash скрипты, куча всякого софта из репозиториев и снапа (хотя последний хейтят очень многие) А в винде что? Терминала нормального нет, стандартная консоль очень убога, powershell скорее больше похож на какое-то недоразумение, на каждый чих нужно искать инсталляторы. С докером проблем больше, потребление ОЗУ больше, нагрузка на проц больше.
Винда норм только если ты пользуешься офисом и в игры играешь. Для разработки она непригодна, только если это не шарп со своим специальным тулчейном заточенным под винду.
>>2417285 Видимо, в установке неподдерживаемых малопопулярных (даже по меркам линукса) дистрибутивов на такое же малопопулярное железо, где и винда не всегда сработает.
>>2417293 Ну ладно, хуй с ним, выглядит уебищно, но современно, это уже дело вкуса. Но то, что половина игр не идет на пинукс напрочь убивает желание его ставить.
>>2417302 Так а нахуй играть на линуксе? Поставь винду, а рядом с ней убунту. В винде игры и офис, в убунте вся разработка. Или ты не можешь прожить 2 минуты пока твое игросральное ведро перезагрузится из убунты в винду?
>>2416939 микрософт может в любой момент уйти (а значит заказчик может прикинуть риски и решить не использовать его), а либерика официально разрешена в рашке и никуда не денется.
>>2417429 Никак. Можно реализовать свой язык для JVM, который будет создавать свой внутренний программный стек, не ограниченный платформой, с динамически изменяющимся размером. Всякая функциональная дрисня типа хаскелля так и делает, не полагаясь на стек платформы.
>>2417458 > А по какому принципу можно реализовать такой стек? Как операционная система/платформа их реализует - так и реализовывать, только вручную. > Так или иначе, но не упрётся ли это в те самые ограничения stack и heap? Твой стек будет работать поверх heap, у него только одно ограничение - количества имеющейся у тебя оперативной памяти.
>>2417282 Единственные аргументы в пользу прыщей. Это все реально удобства, но не то чтобы прямо большие. >Под линуксом у тебя автоматически будет нормальный терминал с автодополнением по tab терминал использую только внутри докеров и через ssh. Мне для ssh mobaxterm хватает, там таб работает. В консоли докер-контейнеров нет. С разделителями особых проблем не испытывал. Докер под wsl жрет ну на 30% ресурсов больше, не критично. Инсталляторы не нужны кроме докер-десктопа, гита, джавы, идеи и мавена. Причем жаба и мавен могут и внутриидеевские пойти. А пока вкатываешься, то зачем себе мозги еще и линуксом ебать. Ебаться с дровами на нвидию, sudo с паролем постоянно писать или настраивать sydoers. Ну и игры и непрограммисткий софт(фото-видео-аудио-редакторы, офис и вообще куча всего). Нахуя для этого всего вторую ось ставить? Нельзя будет отвлечься от кода и не закрывая иде сбросить стресс в шутанчике. А на работе какую ось дадут, в такой и будешь ковыряться. Для нужд разработки в линуксе можно разобраться за пару часов.
>>2415414 >>2415425 Я не знаю англ на таком уровне, буду читать как черепаха и еще разбираться пол часа с темой. И вообще книги - огромная страшная массивная хуета текста, да еще и технического т.е умножай на 2
>>2417506 Если вкатишься, тебе олин хуй придется прочитать доку по нескольким технологиям, по которым ничего на русском нету. Каждая размером с книгу. Мне вот приходится в гугл транслейт кидать. Он честно говоря охуенно переводит. Непонятно бывает только один раз в десять страниц.
>>2417191 >1 курс - учишься, наполняешь зачётку >2 курс - дико бухаешь угораешь >3+ курс: РАБотаешь Двачаю адеквату, только у меня 1 и 2 курс местами поменялись.
>>2417624 Нет, нужна хотя бы ученая степень по матанализу. Ебало имаджинируешь сеньера для которого магистр какой-нибудь как что-то само собой разумеющееся. мимо 9 классов и пту, 20 лвл, зп 100к
Ребят, а подскажите вкатуну, как в Intellij Idea отключить автодополнение/автоформатирование кода (или как это называется)? Я хочу первое время всё сам, своими руками редактировать, чтобы если где-то не поставлю скобку или точку с запятой, чтобы мне выскакивала ошибка, и я учился бы самостоятельно всё делать, не полагаясь на помощь иде, и чтобы сам учился красиво выравнивать строки кода, опять же не полагаясь на помощь иде. Гугл и ютуб пока мне не помогли, не могу найти, как полностью отключить авто-что-бы-то-ни-было (я даже не совсем понимаю, как правильно сформулировать поисковый запрос, потому что не знаю, как называется эта опция/опции).
>>2417772 Чел…если ты не поставишь точку с запятой или скобку тебе и так выдаст ошибку компиляции. Не заморачивайся так сильно, то что ты написал будет просто проебом времени и никак тебе не поможет в изучении
>>2417778 >>2417781 >>2417782 Вот видите? Тут >>2417786 я немного проебался с разметкой. Я не хочу, чтобы за меня это исправляли, я хочу делать это сам.
если интервьюер начнет спрашивать что-то, что я не знаю, как реагировать? жидко пукнуть и ретироваться или как в школе мычать и аа-а-аа-а-а-а-кать, будто что-то знаю, но сформулировать не могу? или сразу идти с козыря, повторяя сцену из джокера, выстреливая в голову этому вонючему наносеку?
>>2417506 >И вообще книги - огромная страшная массивная хуета текста, да еще и технического т.е умножай на 2 Все так, просто это наш местный шизик, у которого все должны читать бездарно написанные талмуды-кирпичи.
Ребята, как правильно делать спринг секьюрити? Как ее делают в энтерпрайзе? Я вот пишу базовую авторизацию, с ДаоАунтификейшнПровайдером, пишу ант матчеры в секьюрттиконфиге, раздаю роли и как все. А в энтерпрайзе, если это банк, например пишут что-то с jwt токенами, как это реализуют?
>>2418054 А для энтерпрайза это слишком просто. Там легко встретить адскую связку из Spring Security, Shiro, LTPA, JWT, JAAS и другого говна, которая одному богу известно как работает. Что-то лезет в базу, что-то в конфиги, что-то делает запрос на внешний сервер авторизации. Доступы выдаются по ролям, ролей несколько десятков, у каждой роли пермишены, пермишены вешаются на каждый эндпоинт.
Работаю джуном за 100к, за два месяца прочитал доки по двум nosql-базам и по кафке, а потом для всего этого доки по спринг-оберткам. Ну и писал тасочки на этих штуках. И заебался.
>>2418261 Почему стоматологи пишут про психиатрические диагнозы у айтишников? И откуда у них такие подробности, какой уровень ответственности у пациента на работе и что он делает у психиатра?
>>2414876 (OP) Жабисты, скиньте пожалуйста пример crud на spring mvc желательно, чтобы он работал с бд, где таблицы связаны. Или отдельно пример с бд. Интересует как правильно получать данные из таблиц, чтобы без лишнего говнокода. Нужно ли реализовывать отдельный доступ к нижестоящим таблицам или сразу получать все строки основной таблицы, а хибернейт пусть подтягивает нижестоящие и оттуда тягать?
Можете рассказать про деплой через гитлаб сиай? Вот вы написали хелло ворлд, что вы делаете дальше? Что такое стенды? Сиай/сиди, это значит, что после ревью всё улетает на прод, и как оно там в продеразворачивается?
>>2418762 Это пока у тебя приложение обслуживает 1 запрос в секунду. А когда будет штук 100, внезапно выясняется, что это все жирное дерьмо не влезает в стандартные инстанс EC2. И надо или дать пизды программистам или брать жырный xlarge за тонны $$$/
>>2418754 Ну и как время загрузки приложения, которое важно только один раз, связано с вытаскиванием всё время работы приложения 2/3 базы на каждый пук?
>>2418509 > Нужно ли реализовывать отдельный доступ к нижестоящим таблицам или сразу получать все строки основной таблицы, а хибернейт пусть подтягивает нижестоящие и оттуда тягать? Зависит от бизнес-логики и не имеет значения, хибернейт или обычный SQL. В целом надо экономить на количестве запросов к базе и не лезть в неё лишний раз. Если нет жёстких требований к потребляемым ресурсам, либо если загрузка сущности кешируется, либо надо часто работать со полями дочерних сущностей, причём загрузка не сильно дорогая, то можно сразу загрузить всё. В остальных случаях лучше получать только ID связанных сущностей, а нужные данные загрузить при необходимости отдельным запросом.
>>2418934 В Сбере так называют личный рабочий сервер разраба, на котором он дебажит разрабатываемую приложуху, пока не передаёт её в тестирование, которую тестировщики будут смотреть уже на стендах тестирования. Dev-стенд как правило локальный, но не всегда. В других организациях стенды могут называть контурами, окружении, да и просто серверама, хотя обычно сервером называют физическое устройство, а стендом/контуром - ПО на нём.
>>2417772 Зарегайся на developer preview Intellij Fleet. Я уже чекнул --- там как раз нет нихрена пока что. Ровно как тебе нужно. Заодно потестишь IDEху будущего.
>>2419396 Нахуя оптимзировать, если можно купить нормальный комп? Если у тебя не тянет идею, то я не ебу как ты вообще на двач зашёл и комп не сгорел от браузера
>>2419362 >>2419370 >>2419414 А если в проде произошел баг, как обратно логи попадают к вам? Тимлиду, тестеру поддержка приносит инфу по багу и он что делает? Сам пылисосит этот лог, и потом заводит таску в джире? Или отдает разрабам, чтобы они вручную там искали незнамо что?
Вопрос к девелоперам. Кейс таков, лидер команды дает задачу, как делать хуй его знает. И вот какой, тогда, алгоритм поиска солюшена? Корректно ли доебаться до коллеги? А если вопросы будут слишком тупыми? Что делают в таких случаях?
>>2419528 >>Корректно ли доебаться до коллеги? А ты няшный? >>как делать хуй его знает Погугли, подумай, предложи варианты лиду, чтоб тот подсказал какой лучше. Кроме лида всем точно будет похуй на твои проблемы, а он вроде как имеет некоторый интерес, чтоб задача была выполнена.
>>2419787 Для древних серверов приложений, на которых в 10 раз меньше работы, чем на спринге и где весь остальной стек состоит из дремучего легаси? Нахуй это говно вообще нужно?
Хочу изучать джаву, но я тупенький и глупенький с 9 классами образования. Меня на работу то хоть возьмут? Язык привлекает тем, что не для тупых. Надеюсь прокачать логику в процессе и перестать быть глупеньким
>>2420035 Если тупенький и глупенький, то будешь дольше усваивать новую информацию и труднее осваивать всякие алгоритмы. В самой джаве нет ничего сверхсложного. Если хочешь прокачать мозги, то учи математику.
>>2420128 Чем меньше абстракций, скрывающих неприглядные кишочки реализации, тем более низкоуровневым получается апи. Чем больше апи похоже на нажатие кнопки "сделать заебись", тем оно более высокоуровневое. Например, оба и спринг, и сервлеты предоставляют апи для создания веб приложения, но есть нюанс...
>>2420128 Есть например жаба. И есть sql. Над ним есть низкоуровневый api - jdbc. Спринг предлагает над ним совсем чуть более высокоуровневый - spring jdbc. Где теже самые принципы, но есть пару десятков удобных классов, упростили методы для вызовов запросов, сделали более удобные препейрСтейтмонты, сделали каркас для ручного маппинга с роуМапперами. Есть spring data jdbc, когда предыдущее объедилили со spring data commons, сделали генерацию простейших крудов. А остальное руками через роумапперы. Получилось среднуровнево. А есть jpa, которая с использованием аннотаций 3/4 нужного за тебя сама все маппит и связи между сущностями настраиваются тоже парой аннотаций. А поверх него есть spring data jpa. Где есть сгенерированный к запросы, генерируемые из названия метода, запросы по примеру, встроенные объекты сортировки и пагинации и вся мощь хибера/жпа. И вся головная боль и куча подводных с ними связанная.
>>2420035 >Язык привлекает тем, что не для тупых. Обосрался с этого. Не для тупых это С, С++ и Ассемблер. А высокоуровневые языки вроде Java, C#, Python написан для дебилов крудошлепов.
>>2420664 Если язык ближе к человеческому, то это высокоуровневый язык, а если ближе к машинному, то низкоуровневый. По сути только Ассемблер можно называть низкоуровневым, все остальные современные языки считаются высокоуровневыми. Некоторые ещё пытаются выделить среднеуровневые языки, но это весьма спорно. К примеру, если Си - среднеуровневый, то тогда и вся вереница подобных языков должна идти туда же. Когда учился в универе, то был спор с одним фанатом Си, что он якобы круче Паскаля. В итоге я ему написал на Паскале все аналоги по манипулированию байтиками, какими хвастается Си. Да, там это не всё так элегантно, но такие возможности есть. Но Паскаль никто не назовёт низкоуровневым или даже среднеуровневым языком.
>>2420713 >Но Паскаль никто не назовёт Да паскаль вообще никто ничем не назовёт. У него в современном мире области применения нету, те что были - оттуда его вытеснили повсеместно. >считаются Важно понимаеть кем и в каком контексте. Это растяжимое понятие.
>>2420754 Выучи основы жс чтобы хотя бы понимать чем будешь пукать в кафку до конца своих дней. Хуякс, хуйквери не нужно - если уже не знаешь, значит ты опоздал на поезд
>>2420819 Чтобы примерно понимать, какие ограничения есть у фронта и зачем они просят сделать в апишке то или иное. Причем очень много сам жс учить я бы не стал, но система типов, объектная модель, эвентзалупа и промисы - полезно. Ну и еще важнее понимание концепции dom, как минимум и просто перечисление способов и апишек, как фронты с ним работают. Ну и ajax и хттп-клиент само собой(fetch api будет достаточно). Это все необязательно и для вката спрашивать никто не будет, но добавляет ширины знаний что-ли. Когда я пролистал learnjavascript, чтобы самому пилить гуй для петов на голом жс - это было очень полезно. Хотя сейчас только сваггер или хттп клиенты, типа постмана/идеи.
а как в джейсон передать джавовский чар?? мне только 1 символ надо передать, я че должен ебашить целую СТРОКУ ради этого? лол пздц жопаскриптеры говнокодеры не жалеют памяти. ааа я понял может в одинарных кавычках это чар а в двойных стринг?
>>2420657 А разве так не всегда было? Я вот год назад чекал вакансии джунов и примерно та же картина, что и сейчас. Мне кажется единственный варик на данный момент устроиться на галеру - отправлять свое резюме во ВСЕ компании с просьбой позвать на собес быть посланным нахуй несчетное количество раз а когда с шансом 0,002% позовут, попытаться сделать вид, что ты не долбоеб коим ты конечно же являешься
>>2421232 А нахуй выкатываться с зарплатой 300кк/наносек и возможностью через пару лет выбрать себе суперултралегаси проект, где можно сидеть и ебашить моды для майнкрафта, а не заниматься этой вашей хуйней с ынтерпрайзом
Сука, когда же все градлоуёбища вымрут, пиздец просто, говноеды ебучие.
СКАЧАЛ ПРОЕКТ @ ЗАПУСТИЛ БИЛД @ 30 МИНУТ КАЧАЛАСЬ НУЖНАЯ ВЕРСИЯ ГАВНАДЛА @ 30 МИНУТ ЭТА ВЕРСИЯ БИЛДИЛАСЬ @ НАЧАЛСЯ БИЛД ПРОЕКТА @ ФЕЙЛ @ ЕЩЕ ТРИ ЧАСА ТРАТИШЬ НА ТО, ЧТОБЫ СОБРАТЬ ЭТО ГОВНО, В ИТОГЕ САМОСТОЯТЕЛЬНО ПЕРЕНОСИШЬ НА МАВЕН И СОБИРАЕШЬ @ КОКОКОКО ГАВНАДЛ БЫСТРЫЙ!!!!!!!!!!!
>>2421369 Градл юзают не из-за скорости, он фактически медленнее мавена. Юзают ради какой-то "киллер-фичи" в модулях и сомнительной возможности программировать в скриптах сборки на груви, как во времена анта.
Вкатун врывается в этот итт тред. Учу на джавараше, плюс лекции алишева на трубе, в общем и целом дошел до исключений. И чет я не пойму, почему код, например этот : class Solution { public static void main(String[] args) { System.out.println("Начало метода main"); try { calculate(0); } catch(ArithmeticException e) { System.out.println("Было деление на 0"); } catch(Exception e) { System.out.println("Перехвачено какое-то исключение"); }
System.out.println("Конец метода main"); }
выполняет в конце sout "Конец метода main" , если по идее исключение выбрасывается наверх, в вышестоящий метод, и аванийно завершает метод main. Тут же нет finally. Чзх.
>>2421495 > Учу на джавараше Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна. Сейчас все советуют Hyperskill. Более продуманный план обучения. Но, как и любой %COURSENAME% не гарантирует тебе успешного вката. Выучиться можно и самостоятельно, не отдавая свои кровные васянам-наставникам.
>>2421508 Я с тобой отчасти согласен. План обучения конечно всратый, местами даже сильно, и задачи частенько на набор буков, и тем не менее для нуба вроде меня в сочетании с трубой вполне неплохой вариант. Знакомый говорит, что после первого курса там более адекватные задачи становятся, а вначале конечно да, пиздец.
И какие тесты делает QA-тестер? Регрессионное? Интеграционное? UI-тестирование? Юнит? Acceptance тестирование? Ведь эти QA работают в командах обычно с девелоперами, я правильно понимаю?
>>2421530 5-10% >>2421533 Тестировщики вообще ничего не знают о программировании и не пишут никакие тесты, они жмакают на кнопки мышкой и вводят в числовые поля буквы. Есть автоматизаторы QA, они пишут скрипты, которые повторяют то, что делают ручные тестировщики. И вся эта классификация видов тестов - хуйня, в реальности всё очень связано, и чётких границ и методов у них нет. Да, QA работают вместе с разрабами в одной команде.
>>2421543 >5-10% итт писали что надо весь свой код покрыть тестами, я это так представляю, я 8 часов например пишу код, и 8 часов потом его же покрываю тестами, не?
>>2421544 Итт много чего писали, реально это не всегда работает. Если код написан криво, то и тесты обычно тоже, и зелёная надпись SUCCESS вообще ни о чём не говорит, всё равно будут баги. Если стремится к 100% покрытию тестами, ты будешь их писать не 50% времени, а минимум 80.
>>2421495 > catch(ArithmeticException e) Вот пожтому. Остальные кроме первого ответы - дебилы, которые вместо ответа начинают про джавараш пиздеть (не защищаю джавараш и не проходил его, читал хорстманослава и слегка полировал бучалкой душной, как в питере летом)
>>2421572 Если пишешь очень важную библиотеку, тулзу, ядро приложения и другие вещи, которые должны работать всегда и никогда не ломаться, там очень важна надёжность, и придётся покрывать тестами почти всё, причём писать их нормально. А для типичного проекта, где очень сжатые сроки реализации и постоянно меняются требования, на тесты можно подзабить, покрывать только прямые кейсы и штуки типа SQL-запросов, которые компилятор проверить не может.
>>2421530 0-1% юнит тесты не нужны >>2421544 >>весь свой код покрыть тестами Лучше написать автотесты и воткнуть их в CI, чем дрочиться с переписыванием юнитов. Но если это какое то говнолегаси, в котором ничего особо не меняется и как работает уже никто не понимает, то только и остается все покрывать тестами, чтоб ничего случайно не отвалилось. >>то и тесты обычно тоже, и зелёная надпись SUCCESS вообще ни о чём не говорит, всё равно будут баги Поэтому я за интеграционные тесты. Если тестируешь апи и что то отвалилось - ты все равно быстро найдешь что не так, писать их намного быстрее и проще чем пачку юнитов, результат гораздо ближе к реальному.
кто рассчитывал свое время обучения какими-то приложухами, сколько часов обучения ушло до первого оффера? и доп вопрос - необязательный - какие технологии знали и на каком уровне
По всякому, в зависимости от потребностей. Но обычно не больше 5-10% времени. За показателями покрытия не бегаю.
Челов, утверждающих что юнит тестирование не нужно, не слушай. У них либо посттравматический синдром гребли под уебками, которые наслушались ТДД евангелистов. Либо они наслушались первых и просто не учились их писать.
>Поэтому я за интеграционные тесты. Если тестируешь апи и что то отвалилось - ты все равно быстро найдешь что не так, писать их намного быстрее и проще чем пачку юнитов, результат гораздо ближе к реальному.
Вообще, в реалиях мейнстримной энтерпрайзной джавы это реально здравая позиция.
Но я б ее иначе сформулировал. Тяжесть написания и поддержки юнит тестов строго-пропорциональна говенности кода. К сожалению - джавовый энтерпрайз был изначально говнорожденный (не из-за джавы, скорее из-за спринга, JEE и энтерпрайзных паттернов), поэтому юнит тесты писать на нем так сложно, что люди в них разочаровываются.
Писал заготовку сервиса где-то 3 месяца. 3 сущности, 20 эндпоинтов, кафка, носикульная база, запросы в другие сервисы по ресту. Код покрыл тестами на 90%, тестов больше сотни. В основном это тест с mock-mvc до тест-контейнеров с базой и кафкой. На тесты тратил наверно +- 60% времени. Ну вот дали перепиливать на другую носикулю. У которой с докой не очень. Ну вот и через тесты сразу обнаружилось, что в базах отличается, а в доке этого или нет или в самой жопе ее написано(или в ишью на гитхабе). Ну в первый день, как скомилил с новой базой - упало 80 тестов из 110. Теперь после еще 4 рабочих дней и переписанных запросов в репошке и маленьких правок в модельке и сервисе - осталось 20, которые относятся к 3 проблемам, которые я по тому какие ошибки быстро обнаружил. Еще за 3 дня допилю. И как бы я такое говно без тестов бы делал?
>>2421865 эмм?? нажать кнопочку до начала учебы и после - "занимает немало времени"? ты ебнутый шоле? я же не предлагаю тебе самому всю эту хуйню считать и записывать в тетрадочку лол. есть приложения, что считают за тебя и показывают статистику за год/месяц/неделю, а от тебя требуется только засекать время. откуда у тебя 20 часов образуется? максимум час на тысячу учебы.
>>2421900 Я бы вместо прогона 3 минут тестов в фоне я бы добился в постман по три круга. И в каждый ответ пришлось бы вчитываться, одновременно читая логи. И все равно не нашел бы часть этих проблем с первого раза.
>>2421911 Сделать два альт таба и нажать кнопку между ними это минимум 15 секунд. Встаёшь поссать, поесть или сделать кофе раз в полчаса. В итоге уже 30 секунд на полчаса. На 500 часов это уже 8 часов. Но ты будешь выбирать трекер, будешь в него логиниться, будешь смотреть статистику.
Привет, вот есть у меня бд на постресе с готовой схемой и данными, я подключаюсь к ней, маппю записи в объекты, собственным маппером. Это вообще затратная операция? И какие есть решения? Может есть умные мапперы, где просто Product.get_all() и тп и тд?
>>2421952 > Это вообще затратная операция? Любое обращение к БД очень затратно, для кода на джаве это целая вечность, он тупо останавливается и ждёт, когда СУБД обработает запрос. Ждёт большую часть времени работы приложения. > И какие есть решения? Может есть умные мапперы, где просто Product.get_all() и тп и тд? Есть ORM, тот же хибернейт, но они делают те же запросы к БД, но неявно и зачастую менее эффективно, чем всё делать вручную. Но это тема для отдельного срача.
>>2421986 Ну надо же мне было изучить кафку и носикульки. Плюс время на обсуждение архитектуры с тимлидом, как минимум какие эндпоинты и форматы джейсонок, кодревью, митинги с аналитиками. Я особо не проебываться, а овертаймил даже.
>>2421948 >>2421998 Я удвою того анона которому неудобно и долго - я раньше тоже таким занимался, и тоже было неудобно и долго. Оно круто когда у тебя мотивации не хватает и ты что-то прям сложное ебашишь (например - вкатываешься в программирование), но когда ты уже шаришь и просто дообучаешься - обычно мотивации хватает и эти костыли больше мешают.
Подскажите пожалуйста в чем смысл сегодня вкатываться в джаву, учить тонны магии спринга и миллионы разных практик и классов, если можно взять тоже говно и через день писать тот же самый говнокод.
>>2422076 На гошке работы в 10 раз меньше, а для вкатунов раз в 40 и там на собесах сильнее сношают алгосами, потому что там тебе реально нужно будет их знать.
Чилл чел) Мне ваще похую чето кому то доказывать, я картинки пощу и рофлю с бесплатных диванных евангелистов. Я в джаве больше десятка лет, я и так знаю какого сорта оно говно)
>>2422137 Почему? Вкатунам там лучше всего. На других площадках хуже, в телеге ничего приличного нет. На сайтах больших компаний те же самые вакухи. В линкедине все только для мидлов+, да и для рф уже почти неактуален.
>>2422161 Вообще не помогло. Говорят, что в вузах учат учиться, но это на самом деле отговорка, чтобы не тратить бюджет на повышение качества образования. И учиться будешь сам, что с вузом, что без вуза.
Интересно еще, насколько HRюши воротят свой носик от резюме кандидата без ВО. Кмк, нахуй шлют, если ты не контрибьютор в опенсорс со стажем. Так ли это?
>>2422307 Ну тогда перекантовывайся на триалах до следующей еап. Я вот даже не знал об этом, видимо тех, кто успел скачать не отрезают от халявы даже после завершения.
>>2422308 >>видимо тех, кто успел скачать не отрезают от халявы даже после завершения. емнип там автообновления принудительно включены, а после завершения теста она просто обновится до обычной ультимейт. Тесты идут примерно месяца 3, перерыв в месяц.
>>2422307 Хотел попробовал Fleet, но после полчаса бесконечных регистраций, ответили, тип мы вам потом перезвоним напишем. Так и не написали. Жидбрейнс - хуже даже микрософта. Те хотя бы честно дают доступ к свои продуктам на кабальных условиях, а эти жмотятся даже так давать.
/ its simple program on java/ class Example { // its program starts with main method () public static void main(String[] args) { System.out.println ("just java-program"); } }
Только начал изучать жаву и кодинг вообще. Скачал eclipse, тк не хочется пользоваться бесплатно платной средой разработки, как советуют по ссылке. Первый же перепечатанный пример из учебника подсвечивает красным крестиком строку с main и пишет: Illegal modifier for method main; only public, protected, private, abstract, static, final, synchronized, native&strictfp are permitted. При попытке запустить пишет: Error: Main method is not static in class Example, please define the main method as: public static void main(String[] args). Гуглил, нашел множество похожих проблем, но ни одной точно такой же и советы, приведенные там, мне не помогли.
>>2422527 Попробовал вернуть строчкой выше, не помогло. Что до комментария - да, двач звездочки режет. У меня со звездочками. Ошибка написано что в строчке с main. Но там все верно. Из-за чего может быть такая ошибка и как ее убрать?
Я пробовал набирать другие программы, каждый раз на строчке public static void main выдает одну и ту же ошибку.
>>2422540 Выглядит как-то так. Я уже копировал и вставлял из чужих прог дословно, загонялся в общем на этот счет, но разумеется без результата. Все у меня нормально с буквами. >>2422547 Эх, не хотелось бы. Может все просто решается, найдется анончик с подобной проблемой, который успешно ее заборол изменением какой-нибудь настройки.
Спасаю твою будущую карьеру программиста. От джавы первым языком даже столетние университеты отказались, а Пол Грэм критиковал эту затею еще когда джава была популярной
>>2422593 >а книги по шарпу неявно подразумевают знание джавы. Назови эти книги. Знание джавы ничем не поможет, дизайн сишарпа с 6 версии ушел в другую сторону. Половины фич в джаве никогда не появится и/или их реализовать невозможно. И книги не нужны, нужны доки и гайды майков
>>2422609 Нет. >>2422611 Ага! Я так и думал, что все очень тупо решается. Походу здесь мой косяк. Я просто скачал эклипс и сразу сел в нем кодить. Спасибо, анон, буду разбираться с ждк.
>>2422574 Более наглого пиздуна сложно найти. Этот челик сам признается, что 10+ лет в прод не писал. И до сих пор говорит, что жава ее с серверами приложений не мертва. Откуда он может знать что-то, что будет потом на работе?
>>2422588 >От джавы первым языком >отказались Допустим, но шарп в качестве первого языка даже не предлагали, чтоб от него потом можно было отказываться или не отказываться - все понимают, насколько это больная затея.
>>2422588 > От джавы первым языком даже столетние университеты отказались Она никогда не была "первым языком", всегда были сишка, кресты и паскаль. Сейчас поняли, что студенты тупые, и вместо крестов дают петухон.
>>2422656 Насколько я знаю там, где учат на "системного программиста" до сих пор первыми дают сишку и плюсы. А в остальных местах - питон. >>2422659 Был знакомый, который в дикой шараге учился. Вот там давали шарп. В нормальных вузах - мгу, физтех, вышка, итмо - такого не делают.
>>2422689 голову включи никто не будет платить человеку 400к за то что он кнопочки на компьютере нажимают есть предел выше которого наемный работник не может зарабатывать
>>2422659 Ну где дс (неназванный вуз), а где мти, гарвард, йель и тому подобное. Там везде питухонидзе в качестве первого, и я это ммаксимально одобряю (ну конечно после БАЗЫ на схеме и си, но потом сразу питухон). У нас вообще кресты были, но не надо пожалуйста на нас ориентироваться.
>>2422727 А смысл офис снимать под этих дармоедов, если они могут жить у себя и сами свой толкан чистить? я в офисе так засирал толкан что уборщице наверняка подымать зп пришлось Цена вопроса - openvpn сертификат сгенерить и лицуху зума купить.
>>2422745 Сам ставишь openvpn какой-нибудь, серты и ключи тебе пересылают, просто подключаешь и заходишь. Ну конечно если ты домохозяйка то может понадобиться удаленный доступ чтобы тебе всё это прописать, но у макак с этим проблем нет, это если какой-нибудь не технический сотрудник устраивается на удалёнку тогда да.
Я тут прочитал, что 11 версия заканчивается в сентябре 2022 года. Получается надо срочно переходить на 17? А что делать пользователям линукс, где ещё нет 17 версии?
А если серьезно, есть такой варик жить в своем Мухозалупинске, снимать однушку с пиздатым ремонтом в центре за 15к, ездить на такси за сто рублей с копейками, и при это получать 200к московского офисного миддла?
Как я заебался сидеть и дрочить этот орм, скажите, аноны, достаточно ли мне знаний того как создать энтити, как замапить (eager, lazy, n+1 prob), умения написать несложный hql/criteria запрос, понимания блокировок и кэширования или мне продолжать хуярить это унылое дерьмо? И еще такой вопрос, стоит ли смотреть, что там есть в хибере в отрыве от jpa или ну его нахуй? пока что знаю только про пару аннотаций, которых в jpa нет
>>2422841 Они очень тяжело идут, у меня на прочтение лафоре ушло 3 месяца, правда я тогда еще сидел достаточно мало по 3 часа в день дней 5 в неделю максимум. Совет: забей хуй и вернись к этому перед собесом, ибо если ты продолжишь то к концу обучения половину забудешь как я из-за ненадобности зис параши в повседневном использовании.
>>2422866 Да ясен хуй сиди и учи фреймворки, там и без душных алгоритмов порой хватает головной боли, но без них тебя почти везде пошлют нахуй, а на алгоритмы всем, кроме яндекса тотально поебать
>>2415651 >final Аналог const, сделать что-то неизменяемым >finally Блок для обработки исключения, который вызовется абсолютно всегда, даже если исключение не поймалось. >finalize метод объекта, в который надо поместить действия по освобождению ресурсов например, по идее должен выполниться перед тем как сборщик мусора будет собирать этот объект. Но по факту выполнится хуй знает когда и является устаревшим, не рекомендуется к использованию.
Я на верном пути? >>2415619 Не знаю зачем мне эти знания, но свинг это гуёвая либа для жавы, спринг это самый популярный фреймворк, а стринг это строка.
>>2422924 > >final > Аналог const, сделать что-то неизменяемым Следует подчеркнуть, что final делает неизменяемой только ссылку, но не сам объект, это как константный указатель. А в языке, где с объектами можно работать непосредственно, константным можно сделать и сам объект. > >finalize > метод объекта, в который надо поместить действия по освобождению ресурсов например, по идее должен выполниться перед тем как сборщик мусора будет собирать этот объект. Но по факту выполнится хуй знает когда и является устаревшим, не рекомендуется к использованию. Его иногда используют для освобождения неуправляемых ресурсов, выделенных через JNI. Обычные ресурсы освобождают через AutoCloseable.
>>2415619 Свинг это куда ходит моя жена со своим бойфрендом Спринг это лучший на планете фреймворк для создания высокопроизводительных серверных приложений Стринг это класс в джава кор (джава кор это фреймворк для написания кодов на джаве без спринга)
>>2422841 Просто так алгоритмы нахуй не нужны. Начни решать литкод. А лучше олимпиадные задачки, где тебя выебут Time limit exceeded, если ты используешь неэффективный алгоритм. Ну или начни писать пет где важен перфоманс. Игрушку какую-нибудь с тараканами, которые ищут вкатунов в лабиринте и едят их. Постепенно оптимизируй поиск от полного перебора до А* с вэйпоинтами. Короче пока ты не начнешь дрочить на секунды миллисекунды производительности алгоритмы нахуй не нужны
>>2422988 >алгоритмы нахуй не нужны. Два раза это написано в тексте, всё остальное надо убрать. Перепиши, и отдаем в тираж, в завтрашние утренние газеты
Уважаемые ананасы, подскажите плиз, обязательно ли иметь при себе какие-то законченные проекты в резюме, когда приступаешь к этапу поиска работы? Или может на них все клали болтяру и никто даже ссылку открывать не будет? Я знаю, что бывают разные кабаны, но мне интересно процентное соотношение примерное тех, кому похуй и тех, кому не похуй ну или хотя бы ваше мнение, каких большинство. Если всё-таки реалии таковы, что проект лучше при себе иметь, реквестирую ваши советы, что же мне лучше сделать, чтоб не сильно разьебаться, или может расскажите, какие проекты имели при себе вы на завершающем этапе вката.
Как правильно пользоваться Enum и сколько записей в нём лучше хранить? К примеру юзер при регистрации выбирает одну-несколько стран из огромного списка. Стоит их засунуть в EnumSet или в список строк? При первом подходе получается огромный енам и дополнительная таблица в базе, но код вроде становится более безопасным. При втором подходе всё кажется легче, но появляются проблемы если форма регистрации отправится с опечаткой/ошибкой.
>>2423299 Страны лучше засунуть в какую-нибудь таблицу-справочник в базе без всяких енумов. Енумы только для того, чтобы с фиксированным набором значений было удобно работать из логики.
>>2423304 Вышка есть, в прошлом году закончил, на жабе с тырпрайз стеком учусь пишу где-то год хотя до этого еще говнокодил на ведройд немного отличия от других вкатунов хз какие, я с вкатунами не общаюсь, но на всех псевдособесах на ютубе, что я видел, ПОЧТИ все вкатуны послабее меня будут
>>2422924 >>вызовется абсолютно всегда В каких случаях finally не отработает? А что если в кетче вылетит эксепшен? А если и в кетче и в файнали эксепшены, какой из них вылетит наверх? в итоге finally в коде нет ни одного сука, нахуя спрашивали
>>2423438 Всегда из БД, причём заранее согласованный список надо сразу инсертнуть миграцией, чтобы поддержке не надо было заполнять этот справочник вручную. Преимущество БД здесь в том, что при необходимости добавить ещё одну страну не придётся править код и выпускать новый релиз.
Мне всегда казалось что джаву больше всех любят хэйтить скалисты и котлинисты. На худой конец - растаманы. Как правило в прочих тематических сообществах именно скалисты ведут себя как конченые ЧСВ-гондоны по отношению к джавистам, и нет ни одного шарписта. На двощах же все с точностью до наоборот - ниша ЧСВ-гондонов занята шарпистами, а прочих вышеперечисленных вообще не наблюдается.
Так и есть, недавно. Насчет скалистов-колтинистов не удивлен, их выебоны я много наблюдал в других местах. А вот чтоб шарписты набигали на площадки джавистов - такого я не видел нигде больше)
>>2423504 На жаве в основном разрабатывают десктоп приложения и прог обеспечения для микроволновки. И еще жава очень похожа на жаваскрипт, там буквально пара отличий
>>2423407 Или если поток сдох до того как дошло до этого вашего файнали. Но вообще это вопрос с небольшим подъебом, ведь это касается не файнали, а любого кода.
>>2423404 > В каких случаях finally не отработает? Если поймается любой эксепшен выше >А что если в кетче вылетит эксепшен? Файналли отработает >А если и в кетче и в файнали эксепшены, какой из них вылетит наверх? Ну допустим тот что в файналли.
Так - во всем айти, не только в российском. Не случайно среди айтишников так сильно востребованы психологи и антидепрессанты - эта ебаная хтонь пробивает крышу меньше чем за 5 лет стажа. В айти процветают только самые конченые ублюдки, всех остальных ждет лишь депрессия, безысходность, выгорание, лиды-уебаны и вечный кривой говнокод.
По разному. Смотря че за портфолию, и че за собеседующий. Некоторые хуй кладут на ссылку к твоим петам когда резюме смотрят. Некоторые - нет. Как повезет. Лишним не будет хотя бы как способ набора экспертизы.
>>2423666 Ух ты, я жёсткий (ну на самом деле нет, просто это было бы ЛОГИЧНО, и как не странно, в ЯП иногда можно делать логичные предположения о работе языка, и иногда даже будут соответствовать реальности).
>>2423811 Алгоритм - это намного более абстрактное понятие, не зависящие от языков программирования. Например, рецепт приготовления еды тоже можно назвать алгоритмом. В коде алгоритм - это просто участок кода, который делает что-то конкретное, и в одном методе/одной функции может использоваться сразу несколько алгоритмов.
Не вгоняет ли вас в депрессию, что всё чем вы пользуетесь написано более умными чем вы людьми. Вот Спринг возьмем, я как обезьяна пользуюсь этой технологией,а весь капот работает благодаря умным людям. А сам капот спринга работает благодаря еще более умным людям, кто написал всякие изначальные классы и интерфейсы. То есть, всё сводится к тому, что я обезьянка крутящая баранку сложного механизма, но по сути сложность скрыта за этой баранкой.
>>2424106 Эти технологии появились не сегодня и не вчера. Они писались долго, причём целой толпой людей самой разной квалификации, в самом начале тоже были кривые прототипы, работавшие кое-как и похожие на пет-проект вкатыша, потом всё это долго дебажили, отлаживали, продумывали, переделывали, и много лет спустя получилось то, что имеем сейчас. Тот же спринг тоже мог когда-то сводиться к примитивной обёртке над хешмапой, такое любой средний кодер может написать, если ему дать достаточно времени.
>>2424100 Некая абстрактная среда, в которой выполняется твоё приложение, влияющая на его работу. Это может быть что угодно, операционная система, нужные программы и сервисы, рантаймы, библиотеки, конфиги и другие файлы.
>>2424106 Наоборот. Мне прям приятно, как умно придумано иногда. Я вот когда в финансовых законах рф разбирался, особенно с легаси из 90ых, вот там я охуевал. Как такое говно могли придумать люди с охуенными заслугами, доктора наук, главы университетов и прочая и прочая. При том же не совсем с нуля нужно было писать. Это как какую-нибудь концепцию, типа di в другой язык перенести. А стоять на плечах гигантов охуенно, чувствуешь, что не совсем хуйней занимаешься, когда для человека среднего ума очень умные челики придумывают удобные и крутые штуки.
>>2424106 бля ты знаешь напрягает а то я тут и свою ос написал, и свой комп создал и виртуальную машину джавы реализовал, а тут блядь спрингом заставляют пользоваться, его умные дядьки создали а не я пздц((((
>>2423597 >В айти процветают только самые конченые ублюдки, всех остальных ждет лишь депрессия, безысходность, выгорание, лиды-уебаны и вечный кривой говнокод.
Это база? Реально ждёт всех? Работаю 3,5 года, пока заимел только вечный кривой говнокод. Лиды уебаны есть, но есть и не уебаны. Вообще уебанов по жизни постоянно овердохуя, это не изобретение айти. Депрессия и безысходность наоборот появляется когда долго не работаю.
Так, анончи, я извиняюсь если не совсем по теме, однако хочется узнать ваше мнение. Вот сейчас я немного пошерстил вакансии на ХХ, да, и увидел что на джунов какойто дикий перекос, постоянно смотрят по 50 человек вакансию. Короче, вкатиться туда почти нереально...может, проще будет залететь сразу на мидла, тупо напиздев про опыт? я извиняюсь заранее за такую наглось, но как же иначе исполнить свою мечту вката в айти
>>2424279 > на джунов какойто дикий перекос, постоянно смотрят по 50 человек вакансию Это общая картина по всему рынку во всех отраслях. Посмотри на счётчик на главной странице hh и делай вывод. > сразу на мидла, тупо напиздев про опыт? я извиняюсь заранее за такую наглось, но как же иначе исполнить свою мечту вката в айти Почитай этот тред, поймёшь, к чему это приводит: >>2423293 (OP)
>>2424285 >Это общая картина по всему рынку во всех отраслях. Посмотри на счётчик на главной странице hh и делай вывод. Так как мне быть? Может, на линкедине проще будет найти что то? Или пиздовать на завод... >>2424283 >Так и вкатываются, только не пиздят про опыт. Смысла пиздеть нет, на собесе же все равно спросят. Так я и напизджу типа много че умею, зацените мой гитхуб! Ну а потом мб вытяну...а мб уволят меня в черный список кинут
>>2424293 >Они же реально заценят. И если там будет говно, пошлют нахуй Уже плюс будет в том что они хоотя бы меня рассмотрят, в отличии от джуна, который сразу нахуй идет
Я не понимаю, почему иерархия делегирования класс лоадеров реализована именно так: Application -> Extension ->Bootstrap, а потом наоброт!
Но было бы намного проще, если бы запрос на загрузку класса всегда начинался с Bootstrap, а затем делегировался другим загрузчикам классов?
Может они так и сделали, потому что у каждого загрузчика классов есть кеш, который надо прогреть со всеми этими делегированиями и с некоторого момента времени все загружаемые классы это которые должны быть загружены из classpath, то есть Application class loader?
Где на самом деле хранятся static members, методы, например.. Я читал на эту тему статьи, но там как-то все размыто подается.
Здесь написано "Simply put, we know that the static members were a part of PermGen before Java 8. However, since Java 8, they're a part of heap memory." https://www.baeldung.com/jvm-static-storage
Получается, что с тех пор как Metaspace заменила PermGent в JDK 8, статические члены хранятся в heap. Но значил ли это, что они проходят все стадии хранения такие как Eden, Survivor итд? Чем же тогда они отличаются от обычных объектов с точки зрения хранения в памяти ? Если они не проходят стадии Eden, Survivor, то где тогда они хранятся в хипе??
>>2424325 >>2424330 Мне интереснее, где такая инфа может понадобиться? Если пишешь хуйлоад или если на сеньку собесишься? Другие кейсы есть? Я вот когда вкатывался тоже таким интересовался, а потом неасилил и забил. И никогда не пригодилось. По моим ощущениям из пары десятков знакомых жабистов, с кем я вместе работал этого скорее всего не знает никто, хотя у пятерых были лычки сеньки.
Ну и я скорее к тому, что если это тебе реально надо знать, то ты не будешь спрашивать на вкатун-доске. Пойдешь в спецификацию жвм, блоги всяких ШипиЛешей, чатики, где такие челики сидят и там спросишь.
>>2424338 Для собеседований в основном. А по-хорошему, например при оптимизации работы жабовского приложения в контейнере. То есть выставляешь размер кучи -Xmx48M 48мб, а по факту все приложение жрет намного больше, да еще и динамически расширяет память. Если кэш кода JIT будет слишком мал, то производительность упадет.. Это конечно больше темы для всяких девопсов, но по идее настоящий эксперт в жабе должен во всем этом разбираться. Если ты планируешь развиваться и хочешь быть не просто RESTо шлепом, то надо это изучать.
>>2424696 Spring Framework предоставляет комплексную модель программирования и конфигурации для современных приложений Java-предприятий - на любой платформе развертывания.
Ключевым элементом Весны является инфраструктурная поддержка на уровне приложения: Весна фокусируется на сантехнике корпоративных приложений, чтобы команды могли сосредоточиться на бизнес-логике на уровне приложений, без лишних связей с конкретными условиями развертывания.
>>2424733 Ну в принципе да, наверное. Мне как-то более-менее было норм, но я пришёл к спрингу вовремя, когда был к нему готов, когда у меня уже жопа горела от тех проблем, которые он призван решать, а далее само собой доки.
>>2424696 Блять просто заходишь на страницу с документацией спринга, нажимаешь правую кнопку мыши и «перевести на русский». Раз в полчаса, когда будешь видеть, что написана лютая хуйня непонятная - нажимаешь «показать оригинал» и далее по кругу, долбоеб сука. Я почти всегда так читаю доки и мне норм
>>2424804 В смысле по верхам? Ты видел сейчас требования на джунов? Ему минимум полгода нужно сидеть и читать документацию по спринг секурити. И ты еще spring cloud забыл, без него тоже никуда не возьмут
>>2424841 Я вкатун и знаю, о чем пишу Изучаю жабу и фреймворки уже больше года, сижу по 8 часов в день и по ощущениям, до вката осталось еще столько же. Следующий год буду вникать в секурити и писать минимум по одному круду каждый день.
Может кто-нибудь за микросервисы кратко прояснить? Вот есть у меня монолитный проект-магазин с минимальным функционалом регистрация-корзина-отзыв. Теперь если я захочу переделать свой проект под микросервисную архитектуру, то эти части должны будут работать изолировано, т.е. один сервис под регистрацию и авторизацию, другой под покупки и корзину, а третий под оценки и отзывы?
>>2424853 Полгода назад бегал по собесам. По сикурити ни разу не спросили. Вот по хиберу в одном месте ебали, но в большинстве - спрашивали, лиш бы sql знал. Джуна с большей вероятностью по сложной многопоточке уровня форкджоинпулов заебут, чем по секурити. Или по конкурентным коллекциям.
>>2424841 Не правда! 10 лет назад достаточно было сносно знать джава кор без всей этой функциональщины. А сейчас сам кор надо знать больше и ещё фреймворков вагон.
Просить 100к на первой работе в дс1 норм или дохуя, и столько никто не даст? Когда пойду на собесы через пару месяцев буду иметь при себе: java core, алгоритмы, sql, postgres, spring core, jpa/hiber, spring data jpa/mongo, spring boot, spring mvc, spring security поверхностно, понимание как написать дефолт тесты, docker, git. Если что-то важное упустил, напишите, добавлю в программу самообучения
>>2424897 Норм. Прикрути к пету сваггер. И прочти статьи зачем нужны в общих четрах кафка и кубер. Ну и гофпаттерны(задрочи 2, кроме билдера фабрики и синглтона - я бы предложил декоратор и стратегию) с солидом и асидом. Мне в мухосрани 90к дали с тем же набором, что у тебя, но без алгосов.
>>2424903 Спасибо за ответ, паттерны я знаю, саму книгу правда не читал, но месяца три назад жестко задрачивал, используя гугль,помню вышло больше 20 штук, только вот счас вспомню в основном онли те, которые в итоге удалось поюзать, а другие тупо забыл, лол. Остальное, что написал обязательно гляну
Изучаю java почти 2 года, каждый день стараюсь уделять минимум 1 час, в целом выходит по 2 часа, в выходные по 3 часа. Сижу по таймеру. В целом есть какой-то прогресс, но так как я на самообучение, моя эффективность под вопросом ( поэтому и пишу сюда). Что я делаю : смотрю курсы с торрентов core/postgres/sql/spring, перешёл на англоязычные с ручным перевод на русский. Повторяю за автором, стараясь делать самостоятельно типо по памяти, с недавних пор стал менять названия переменных, чтобы уменьшить тупой копипаст с видосов. Читаю тех. Литературу ( что то в голове остаётся, большая часть улетает : чистый код, серия книг head first Java, по паттернами и на данный момент про многопоточных - езда на работу примерно 3 часа занимает поэтому читать начал, чтобы с пользой время проводить.) + конспекты составляю. Собственные петы не делал толком, толи не хочу из зоны комфорта вылазить толи не вижу профита ( наверное здесь кроется тот самый буст по повышению навыков, который мне нужен) Как бы в голове есть идея, что можно написать простое и какие технологии применить потребуется, но я не стартую, аргументирую это тем, что нужно досмотреть по спрингу и sql
Хотелось бы услышать ваши озарения и жизненный опыт, что ускорило ваше развитие .
>>2424935 Один приятель именно поэтому и не вкатился. Обложился книгами и не делал петы. Петы занимают времени меньше конспектов, а толку больше дают. Досматривать курсы во время петов тебе никто не помешает. Плюс я бы послушал 2-3 мокинтервью на джуна и уже собирался бы на собесы. Даже если спринг ещё не доучил. А уж чё там ты по sql не доучил, не ясно. Там для новичка хватит туториала, который за 10 часов читается. Но можно тоже обложиться книгами и читать реляционную теорию и кишки постгреса. Делай акт и готовься к собесам и так и выучишь именно то что нужно, а не всякую фигню, которую забудешь на завтра
>>2425038 1) конспекты это побочка идёт, систематизирую кратко пройденное (просмотренное)+ из курсов слайды таскаю из курсов. 2) книги только для общего развития и чтобы занять время в пути. Осознаю, что можно как ботан задротить книги и теорию и остаться теоретиком без практики 3) Установил обсидиан для заметок и анки для карточек, чтобы наполнять вопрос/ответ для собесов. 4) Несколько записей смотрел с интервью, в целом где-то отвечал больше, где-то меньше.
Буду потихоньку растить свой пет. Как я предполагаю туда постепенно пытаться пройденный материал пихать можно. Я бы попробовал запилить базу сварщиков с спрингом, бд и через crud
Используются ли обоссанные шаблонизаторы типа таймлифов и мустажей на проектах? Я просто ебал писать что-то кроме REST. Подтвердите то, что любой проект - это REST + фронтенд макаки пилят свой фронтенд и я к фронту нисколько не притрагиваюсь
Добрый день аноны интересует мнение по поводу курса от Яндекса https://practicum.yandex.ru/java-developer/ Стоит ли через него вкатываться и дадут ли там минимальный набор с которым можно пытать счастья на Джуна. Я знаю что много сейчас напишет про то что можно и нужно учиться самому, вот только работа не позволяет занимался активным поиском информации для выстраивания хорошей начальной базы.
>>2425210 Даже если гарантируют, то смысла тоже порой нет. В скиллбоксе говнище ебаное видел, что гарантируют точнее говорят, что вернут бабки, если не устроишься, но по итогу время, за которое трудоустроят не регламентировано и тебя будут морозить полгода с постоянными вызовами на нахуй ненужные беседы/тренинги, которые кста еще и по договору обязательны для посещения. Потом засунут на галеру за 30к и пошлют в пизду.
>>2425210 А систематизация материала, не надо отделять зёрна от говна на ютубе, менторство и тд это не плюсы? Просто мне не проблема выложить 140к за курс. Если он того стоит и будет экономит время которое будет затрачено на поиски стоящей инфы
>>2425312 Тогда присмотрись к другим языкам, на которых много удаленки, могу предложить котлин с последующим вкатом в андройд, там вроде с удаленкой все ок, но вакансий меньше и вряд ли дадут из дома кодить вкатуну без опыта
>>2425321 Вот в чём я завидую андроидам, что у них написаны классные книги, а по спрингу ни черта нет. Надо лазить по всяких говносайтам в поискам маленького кусочка инфы о спринге. Почему за столько лет никому не пришло в голову написать полноценную книгу по спрингу!?
>>2424714 Он не учит спрингу, а только выделывается какой он крутой спец по нему. Все его доклады сделаны для опытных разработчиков с 5+ лет опыта. Актуальность докладов тоже вызывает сомнения.
>>2425459 Когда я впервые его посмотрел будучи вкатуном мне было суперинтересно и понятно почти все, что он говорит. На счет актуальности могу согласиться, но лично мне после его докладов разбираться в спринга стало гораздо легче
>>2425767 Ну бинарный поиск, простейшие сорты: инсершн, каунтинг, можно мерж и квик сорты глянуть, хотя не знаю нахуя, обход графа, поиск кратчайших путей, мин остовное дерево, задача коммивояжёра, алгоритм дейкстры, посмотреть про биг о нотейшн и далее, пока не заебет. А вообще пиздуй читать книгу
Так как двач переехал на более производительный движок, и не должен тормозить не на 1000 постов, ни на 2000, то джава тред больше не будет перекатываться вообще никогда.
Привет, как правильно делать обновление объекта в бд? Мне пришел на контроллер новый объект, неужели единственный способ это каждое поле записать заново в бд, даже если из 20 полей поменялось только одно. Или есть какой-то хитрый способ?
Есть 2 метода с двумя вложенными циклами, один делает итерацию по массиву, а второй выбирает один элемент из массива. Они оба будут O(n^2) или первый будет O(n), а второй O(1) ?
>>2426384 Не совсем понял. Если у тебя цикл внутри другого цикла, а во вложенном цикле просто обращение по индексу, то O(n^2). Тут сложность зависит только от циклов, о доступ к индексу массива за O(1).