>>2511542 У вас одна из таких контор, где лид запрещает использовать rabbitmq, kafka и прочие библиотеки с фреймворками, потому что "нет, мы не будем это использовать, я решил)))) просто напиши очередь поверх базы и там просто дергай запросами))))))"?
Захожу раз в полгода сюда просто чтобы посмотреть на умственно-отсталых итт и поднять свою самооценку. Спасибо, за последние 3 треда понял, что я не так уж и плох.
Есть тупой вопросец. У меня есть какой-то спринг бут проект,решил написать для него редми. У всех редмишек которые я видел есть инфа про проект и инфа как запустить через командную строку. Так вот,как предполагаемый пользователь сможет запустить мой проект если у него не установлен мавен? Несмотря на то что в проекте он есть при попытке ткнуть mvn clean install терминал скажет ему что mvn не является внутренней или внешней командой.
Бля, прислали оффер из другой компании, а я до сих пор числюсь в штате в своей аутсорс галере, сижу на бенче. Седня читал труд договор - там написано, что типа 2 недели надо отработать. И че, мне надо будет 2 недели на бенче сидеть? Так оффер тогда может уйти. Чё делать то?
Вы во время собеса переход вообще не обговаривали чтоли? Или ты напиздел что без работы сидишь? Две недели на старом месте отработать --- стандартная практика так то, и офферодатель, если он серьезен, отдает себе в этом отчет.
>>2511850 Ты определись для начала --- для кого ты ридми пишешь. Если для разрабов, которые будут с тобой продукт девелопить, то им ты опишешь как и к какому репу им в settings.xml креденшелы прописывать. Если для пользователей, то камон --- ты че, серьезно хочешь бедняжек заставлять билдить софтину с нуля? Пощади, чай не все родились гентушниками. Чай собери им софтинку в пакетик то, и пакетиком поставляй. Хоть бы спрринг бут мавен плагином упакуй все зависимости в один джарник.
Ну а если ты серьезен в своих намерениях, и хочешь чтобы читатели твоей ридмишки билдили твою пепяку через мавен, то ты впоролся. И проблема вообще не в мавене.
>>2511845 А может быть такой вариант, что меня сразу отпустит нынешний кабан без всякой отработки? Или это прям обязательно? Я ведь даже ни на каком проекте не состою. Кабан тупо мне за 2 недели заплатит за то, что я буду сидеть на скамейке запасных
У кабана скорее всего от твоей инициативы пригорит даже если у него на тебя рабочих планов нет. Ему со своей стороны тоже ряд процедур нужно сделать, а ты ему фактически срезаешь срок с двух недель до нуля.
Что нужно сделать , что бы контроллеры обрабатывали GET запросы с телом ? Я знаю что нужно заменить на пост и тогда заработает , но чисто логически это будет не верно. Ведь метод который подвешен на этот контроллер ничего не создает , а только выдает информацию по запросу. Записать все в параметры тоже не вариант , по тз на котроллер приходит именно json.
>>2512191 POST семантически ничего не создаёт, он просто запускает некий серверный обработчик. Обработчик может хоть выполнять поиск, хоть сохранять данные. Его используют для любых действий, не вписывающихся в концепцию круда. Вот PUT да, должен создавать ресурс.
>>2512198 В тз впринципе не сказано , что я должен использовать гет. Я так просто предположил , но раз ты говоришь что мое предположение не верно я забью хуй и напишу POST. Спасибо
Анон подскажи что сделать , что поля json парсились на русском. Не понимаю почему , но приходящие json тупо трансилами сохраняются. Типо name = Иван парсится как name = Ivan
>>2512247 Я вот с бута 2.7.3 в январе-феврале на 3 с 6 спрингом буду переходить. Думаю должно все бесшовно пройти. На жабу 17 я месяца 3 назад перешел. Но там микросервис в 10к строчек, который я на 2/3 переписываю уже 3 раз.
>>2512266 Если бы не желание тимлида поэкспериментировать с носикульными базами и я переписывал бы сервис только из-за изменения требования бизнеса - там было бы сильно больше функционала и уже не 10к строчек, а 15к минимум.
>>2512266 Ну у нас +- 20 сервисов и вместе наверно 150к строчек. Но до релиза еще полгода и на релизе будет ну 250-300 минимум. А твои полтора 1.5кк это через сколько после выхода в прод?
>>2512310 В прод проект вышел где-то в нулевых, хз, сколько строчек тогда там было. >>2512282 У нас экспериментировать не любят, большинство доработок только под требования бизнеса и поддержки.
>>2512341 RST не имеет отношения к HTTP. Тебе надо закрыть HTTP-соединение? При использовании HttpURLConnection просто выключи keep-alive: System.setProperty("http.keepAlive","false"); Или тебе надо закрыть обычный сокет с сообщением RST? Тогда делай так: socket.setLinger(true,0); socket.close();
>>2512413 Перекатили после тысячи постов, шизика с 19 жабой нет, только аниме в шапке не хватает. Чем не легитимный? Подозреваю, что перекатывал модер, предыдущий тред удалили сразу после переката.
Вот тут прямо повторяют обсуждение того, что говорит обсуждалось тут тредов 5 назад - о том, что спринг заставляет писать процедурный код и не дает пользоваться половиной принципов солида. Но вывод не как у Егорки, который говорит, что надо все переписать, чтобы соответсвовало святой ооп идеологии. А что нужно смириться и пытаться не совсем уж говнокодить и тестить все и вся. Надеюсь, что кто-нибудь дойдет до того, что ооп и солид это просто забавные идеи на которые можно опираться, чтобы опираться хоть на что-то, но во многих конкретных случаях на них абсолютно целесообразно положить хуй.
>>2512458 Да можно юзать и ООП, достаточно применять Active record, объединив сервисы, репозитории и сущности в один класс, но придётся каждый раз туда прокидывать датасорс и другие зависимости, которые нельзя создавать на каждый пук.
>>2512458 >смириться и пытаться не совсем уж говнокодить и тестить все и вся. >ооп и солид это просто забавные идеи на которые можно опираться, чтобы опираться хоть на что-то, но во многих конкретных случаях на них абсолютно целесообразно положить хуй.
Не все так просто.
С одной стороны, я согласен с твоим выводом, анон, что переписать все на православный ООП --- мертворожденная идея. Взять тот же cactoos --- реальных проблем он не решает никаких, местами противоречит выводам самого же Егора, и внутри устроен крайне посредственно (зато на баэлдунге засветился, лол, вы только чекните: https://www.baeldung.com/java-cactoos ).
С другой стороны, я не согласен с тобой, анон, насчет того, что нужно смириться, и чего то там пытаться. Точнее, как бы это сказать... В текущей ситуации мало сказать "пытайтесь", потому что "как пытаться то блеать, вилкой чтоли"? Сказать "смириться", это как ничего не сказать. Это как пиздеть пустопорошнюю чушь о том, что код должен быть читабелен, (читабельность --- полностью субьективная и эмоциональная тема, никакого конструктива на основе читабельности построить невозможно).
А уж что касается ооп и солид, то это полный пиздец. В интернете регулярно выходят кучи блогпостов с переосмыслением солида, и такие же кучи с его низвержением и разоблачением. Читаешь их и охуеваешь --- чем эти люди мыслят, че несут блять, нахуя дышат вообще...
Короче, вся проблема в том, что дискус вокруг поддерживаемости софта засран эмоциями настолько, что сохранившие там рассудок предпочитают никогда больше не связываться с этой темой. Но проблемы от этого никуда не уходят. Для себя я пришел к определенным выводам по теме, но наверное здесь они никому не будут интересны, и это долгая история.
Бугаенку конечно можно за многое ругать, но ИМХО факт его появления в публичном пространстве довольно репрезентативен. Сейчас он забанен на всех конференциях, но 2015-2017х годах он выступал много, ярко, и регулярно собирал полные залы народу. Хуй знат зачем они все шли --- может за лулзами, может --- за тем чтоб очко горело, но я склоняюсь к тому, что ходили на него потому, что нуждались в простых и тривиальных правилах, следуя которым можно держать техдолг под контролем. Не за пустопорожними размышлениями о солиде, не за очередным пучком паттернов, сахарком или фреймворком которые все равно не работают в перспективе, а за простым блять ответом --- как кодить так, чтобы через месяц-другой не кринжевать от собственного кода. И он давал простые правила. Они конечно тоже оказались нерабочими, но в то же время были четкими, резкими, не допускающими двусмысленнность.
И любопытный факт: на самом деле отменили Егора вообще не по причине всратости его элегантных обьектов, вот даже не близко. (на самом деле --- потому что он залез в SWJшный и околополитический дискус: после драмы в backendsecret его начали жрать анальники с твиттера, а окончательно добили Барух с ПК jug.ru, когда тот с ними посрался)
>>2512487 >к определенным выводам по теме, но наверное здесь они никому не будут интересны нет, я вбросил именно потому что мне интересны подобные мнения анонов.
С выводами челиков из видосов я не очень согласен. Например тдд. Я не особо опытный, но спрашивал на созвонах у нескольких десятков опытных товарищей про тдд. Только один писал что вообще пытался писать по тдд, но быстро забил. Искал, как писать тдд на спринге. Статей мало и там мало практических хинтов, видно что автор скорее всего в прод так не пишет на постоянку. И что приватных методов в сервисах быть не должно. Вместо 6 приватных методов создать еще 2 сервиса по 3 метода, которые больше нигде не будут использоваться? И на все написать полный набор тестов. И про то, что надо тестировать применение фреймворков. А сколько тестов надо богу тестов? Вот чисто про разработческие тесты. Ну вот пишем мы эндпоинт. Там есть кастомная валидация, есть какая-то логика на 7 коротких методов на уровне сервиса, есть поход во внешний сервис, есть пукание в кафку, есть 3 запроса в базу. Ну и смотрим на все юниты нам надо по 3-4 юзкейса, и на весь эндпоинт - интеграционный уровня сервиса десяток. В итоге на один эндпоинт нужно 55 тестов. И вот ты их написал, а завтра к тебе пришли и сказали, что логика эндпоинта меняется.
>>2512501 Я тебя наебал. Это было 3 года назад почти. Попутал почему-то, извини. Откуда я взял эти 7 месяцев - хз. Он сейчас в политоту зачем то ударился и продал очко хуавею и продвигает почти что китайский 996 подход в рф.
>>2512551 А в чём проблема? Я открыл пару мурзилок и написал это: https://pastebin.com/Ueak5YUP Swagger-ui открывается по http://localhost:8080/swagger-ui/ Вводятся логин и пароль user/1234 Эндпоинты вызываются.
>>2512563 Там вроде можно прям на странице свагера как-то логиниться и скорее всего прокидывать только те ендпоинты, на которые есть пермишены, мб он это имеет ввиду.
>>2511502 (OP) Как лучше разрабатывать REST API? Постоянно слышу про API first подход, когда ты руками описываешь OpenAPI спеку, а из нее уже генеришь код. Как лучше всего фиксировать контракты для интеграции с внешними системами и клиентами? Как автоматизировать процесс генерации клиентских библиотек, чтобы условной команде мобильного клиента не приходилось неделями дрочить код, чтобы написать клиент для интеграции с бекендом, а просто подключить сгенеренную либу в зависимости через Maven/Gradle и писать онли бизнес-логику.
>>2512497 Лучше бы спрашивал: - сколько ты писал по тдд без спринга (месяц, год, два, десять лет) - что в спринге послужило таким нереальным камнем преткновения, что фундаментально не позволило точно так же писать по тдд как раньше
>>2512563 Да , я допер как сделать что бы через логинку открывался свагер и были доступны эндпоинты. Я просто помню что я на питоне делал , так что бы при вызове эндпоинта вызывалась новая логинка. Вот как так сделать вообще хуй знает
>>2512640 Ты пишешь по тдд? На спринге, на другом стеке? Как долго? Дело не в спринге. Просто я не встречал людей не на работе, ни в комментах и чатах в интернете, кто писал бы по тдд. Просто у людей, пишущих не на спринге я не особо спрашивал.
Чекнул видос. Первая половина --- тотальная база, щас редко встретишь людей которые не юлят как Борисов, притягивая солид за уши к спрингу и сложившемуся статусу кво, а честно признают что спринго-сервисы --- вот даже близко не солид, и что классы-сервисы --- это тупо процедурный код. Признать это --- сделать первый шаг в сторону от тупого поклонения культу.
Что касается ТДД, тут уже вопрос сложнее. Сначала, нужно прояснить, в чем ключевое отличие олдскульного процедурного программирования от ООП или ФП, в докладе об этом было по вершкам. Раньше, если ты вызываешь одну процедуру из другой, ты каплишь одну процедуру на другую, средств полиморфизма тогда было не шибко много. С появлением новых парадигм появились куски кода как first-class-citizenы, и возможность декаплить их через абстракции. В ООП декаплинг происходит посредством интерфейсов и Depenency inversion principle. Но все пошло по пизде. Продедурные кодеры продолжали по привычке кодить процедурно на джаве, складывая все что "какбэ об одном и том же" в один класс. Дальнейшую историю можно проследить по рассказам того же Борисова в "спринг построителе" --- сначала эти сервисы были связаны друг с другом жостко. Потом придумали фабрики. Потом --- DI контейнеры. Венцом этой ветки эволюции процедурного кодинга стал спринг.
И докладчики правильно отметили --- единственное отличие кодинга через спрингосервисы от паскаля --- возможность мокать сервисы через мокито. Все. Это --- мизер, на самом деле, да и мокинг как концепция периодически подвергается критике. И как бы --- весь декаплинг на практике свелся к декаплингу сервисов, а на уровне сервисных процедур (которые как были так и остались трушными единицами реюза) все по прежнему жестко связано. Класс-сервис не позволит тебе взять из него одну процедуру (которая на самом деле обычно как раз и является единицей ответственности по SOLIDу, а не весь сраный сервис) и покрыть тестом только ее и ее зависимости: тебе придется взять весь сервис, замокать все его зависимости (которых может быть дохуя), и только потом уже тестить метод. Если еще учесть, что сервисы спринговые, и тотальный вендор-лок на спринг стал нормой, тебе еще придется взять спринг тест и мейнтейнить тестовый контекст. Это полное дно, такие тесты тяжело писать, еще тяжелеее поддерживать, они нихуя не тестят но постоянно требуют внимания (как в твоем примере, "завтра к тебе пришли"). Все это понимают, но никто не признается. ТДД в целом классная идея, но я не просто не видел адекватного ТДД на спринге, я убежден что на сервисном коде он не возможен либо бессмысленен.
Чтобы ТДД работал, нужно пересматривать подходы к разработке таким образом, чтобы код разбивался на внятные единицы реюза, строго раздекапленные друг от друга. У функциональщиков это есть с самого начала --- единицей реюза у них является функция, а система типов позволяет декларировать абстрактный тип функции как аргумент другой функции, позволяя делать композицию функций не капля их друг на друга. В джаве это в теории тоже достижимо, если рассматривать класс как единицу реюза, а не как библиотеку процедур, но это долгая история.
>>2512952 >У функциональщиков это есть с самого начала Ну то есть проект на какой-нибудь чистой скале без фреймворков без больших трудностей написать по тдд? Кафка была написана по тдд? Хоть что-то популярное было написано по тдд?
>>2512952 Ну и еще вопрос - в чем такая большая проблема писать на паскале в спринге? И писалось ли когда-то в прод широкого потребления более оопешно? Все что я читал, что до di-контейнеров был паттерн Service Locator и применялся в проде вместе с ejb. Я не вдавался особо, но критикуют его со стороны того, что он нарушает инкапсуляцию. Локаторы оопешны? Или вот пример Бугаенки с огромной лесенкой вложенных объектов через конструкторы. Если это тру ооп, то я в рот ебал ооп и пойду молиться на спринг-паскаль.
За скалу не скажу, я на ней не кодил никогда. На джаве у меня есть один проект на работе, покрытый именно юнит тестами, и написанный без спринга (на самом деле мог бы быть и на спринге, но там просто нужды в нем не было, там требовался лоу-левел сокетодроч с микроконтроллерами через netty), но сам понимаешь --- NDA. Считается ли за TDD? Я не знаю, я просто пишу проект и покрываю его тестами. Test-first пробовал, но не зашло.
>>2512976 Насколько я понимаю, что тдд это именно тест-ферст. Или для тебя это максимальное покрытие конкретно юнитами?
Так то я тоже пишу тесты. Интеграционный уровня микросервиса от апишки до тестовой базы я пишу всегда. На валидаторы юниты пишу тоже всегда. На поход во внешние сервисы пишу более мелкие интеграционные и только если это внутренние сервисы. Тестировать функционал по интеграции спринга с внешними системами, с кафкой например - была идея, но я от нее отказался. На сервисы и репошки пишу только когда логика в сервисе сложная(больше трех действий) или запрос в репошке не совсем тривиальный(например на апсерт пишу, а на инсерт или полный апдейт - нет). Но я понимаю, что это не тдд.
>>2512974 >в чем такая большая проблема писать на паскале в спринге?
Эмм... ну какбэ... потому что спринг написан на джаве для джавы, нет?
>Service Locator
Хз, не возьмусь комментировать.
>пример Бугаенки
Пример Бугаенки --- это попытка построить поверх джавовых классов функциональную парадигму. В целом направление правильное, но оно все сырое и не систематизированное. Есть хорошие практики: (Иммутабельность, отсутствие логики в конструкторах, агитация к маленьким публичным интерфейсам), есть двусмысленные и ненадежные (концепция "обьект как живой организм"), есть ситуативные (отказ от рефлексии и аннотаций), есть и полная лажа. Если заглянуть в его фреймворки, там все еще более пиздецово местами. Там много чего нужно дорабатывать и переосмыслять, чтобы матрешки не были такими пиздецово вложенными и можно было что то в прод кодить. Но в контексте разговора о юнит тестировании --- такие классы действительно проще тестить и переиспользовать.
>>2512982 >в контексте разговора о юнит тестировании --- такие классы действительно проще тестить и переиспользовать. А интеграционный тест с 10+ уровнями матрешек как писать?
>>2512980 >Или для тебя это максимальное покрытие конкретно юнитами?
Ну я просто не бросаюсь в крайности. Когда я с нуля чето разрабатываю, я все таки сначала пишу код, а уже потом тесты на него. Test-first как правило тяжело делать когда ты еще толком не представляешь че и как тебе предстоит кодить. Но когда, например, я работаю над багом, я могу и с теста начать.
>>2512986 Для меня разные уровни тестирования отличаются только тестируемой сущностью: юнит тест тестирует юнит, интеграционный тест тестирует связку юнитов, e2e тест тестирует продукт (дисклеймер: смысл который я вкладываю в термины выше может отличаться от официально принятых определений, но мне похуй). Поэтому не считаю чем то зазорным взять матрешку и покрыть blackbox-тестами ее публичный контракт.
>>2513164 Нет, пишем строковые константы, их передаём в JdbcTemplate. Все запросы только в DAO (кроме легаси говнокода), а для минимизации ошибок покрываем DAO тестами с in-memory HSQL с эмуляцией синтаксиса оракла.
>>2513173 Если обычные инсерты/апдейты, почти не расходится, но 500-строчные запросы с оконными функциями для отчётов можно даже не пытаться покрыть, их вручную запускаем в оракловой консольке.
>>2513168 >пишем строковые константы, их передаём в JdbcTemplate >in-memory HSQL с эмуляцией синтаксиса стремно что то, что другое. Мне кажется уж лучше хуйбирнат. Там есть способы контролировать то что пишешь, QueryDSL тот же. Но ебля с жизненным циклом этого хуйбирната и его кешами остается. Но мы использует jooq+postgres+testcontainers.
Разве честное тдд в проекте со спрингом не приводит хотя бы к тому, что у тебя с самого начала в проекте будет много маленьких классов типа ZalupaCreationService, ZalupaDeletionService с 1-2 методами, и т.д а не просто ZalupaService с сотней методов? Ведь когда садишься писать по тдд, у тебя 1 фича = 1 тест, ты не пишешь код на вырост. И скорее всего классы будут называться не XXXService а как-то более по ООПшному, типа имена существительные. Вот только хуй знает как одобрят такой подход другие анальники на проекте, если они по тдд не писали тот же самый кусок
>>2513208 Мне кажется еще и когнитивно намного сложнее работать с 50 сервисами залупы с 2 методами, чем с 1 сервисом с сотней методов. И ради чего увеличивать сложность? Ради понтов и феншуя? Чтобы гуру и боб мартин в твоей голове говорили малаца? Ну и другие разрабы за такое хуями обложат, когда будут дописывать за тобой.
>>2511545 Я мимокрок, но у меня примерно такой лид, он найдёт тысячу и одну причину, чтобы не учиться чему-то новому и обосрать всё вообще юзает эклипс, когда весь отдел использует идею, хейтит и троллит всех кто на идее сидит, при этом не хочет учиться её юзать
>>2513211 Это довольно распространенная фобия, но на самом деле --- нет, не сложнее. Их количество компенсируется читабельностью имен и адской переиспользуемостью.
>И ради чего увеличивать сложность? Ради понтов и феншуя?
Ради переиспользуемости. Переиспользуемость --- крайне и незаслуженно недооцененная и недоизученная характеристика кода. По моим наблюдениям, все случаи говнокодистости можно логически свести к недостаточной переиспользуемости кода. Те же тесты, как простой пример. Нетестируемый код === нереюзабельный код, потому что тесты на самом деле --- ничто иное как частный случай реюза тестируемой сущности.
>>2513309 В документации к используемой технологии. Джавовские проперти - это просто глобальная свалка ключей-значений, туда может писать кто угодно и что угодно, так что единого списка нет. Можно хоть создавать свои проперти.
Такое вопрос возник: можно ли на жабе сделать хорошую серверную мультиплеерную мобильную дрочильню? Но чтобы сервер мог держать пару десятков тысяч человек в одной условной песочнице? Если да, то ч помощью каких инструментов, если нет, то на чём лучше писать такое тогда? Из знаний жаба кор 1.6-1.8, 18-19, спринг, ну и всякое "бизнесовое" до кучи, но к вопросу не относящийся напрямую
>>2513335 Хватит одного жабакора. Покупаешь серверов да побольше и помощнее, и потом долго ебёшься с сокетами, потоками, вводом-выводом, в конце может что-нибудь да получится.
>>2513369 Ну чел же выше писал про мобильную дрочильню. Это же не пкашная калофдюти, там не такой огромный трафик и прям пиздецки низкая летенси не нужна.
>>2513335 качай сорсы сервера любой ммо дрочильни (l2,aion, еще какаянить хуйня) и смотри как сделано, охуеешь от старого говнокода но глянешь как оно устроено
>>2513335 >чтобы сервер мог держать пару десятков тысяч человек в одной условной песочнице
Классические энтерпрайзные ресты на сервлет-бэйзд стеке могут не подойти. Если пользователей реально дофига и у них дофига активности в реалтайме, понадобится неблокирующий стек и какой нить легковесный протокол типа UDP. Гуглить в сторону nio, асинхронности и реактивности.
>>2513458 Не шутан, но что-то типа ртс'ки (ну и конечно не всратое, как rise of kingdoms например) >>2513389 >>2513410 >>2513458 Всем спасибо за советы
>>2513418 >энтерпрайзные ресты на сервлет-бэйзд стеке могут не подойти На самом деле тот же jetty уже давно под капотом на nio крутится, так что в теории энтерпрайзные сервлеты тоже сойдут, хотя конечно лучше вертекс или нетти.
Допустим я использую DAO подход, делаю DAO интерфейс, от него уже классы реализующий интерфейс. И вот в чём вопрос, правильно ли интерфейсы помечать как компоненты(бины) или лучше это делать исключительно с классами, которые реализуют этот интерфейс? Т.к. если взять JPA например, то там мы же по сути интерфейс помечаем как бин
>>2513738 Щас DAO в основном генерят через спринг дату. То есть, пишут интерфейс, помечают его как Repository, но не пишут имплементацию --- спринг сам напишет. В общем случае интерфейс как бин помечать нет смысла, так как его не заинстанцируешь
>>2513748 То есть сервер у этих пираток всегда был на джаве? Даже эта репошка с 2006 существует. А сама линейка с 2003. А лицензионные серверы тоже на джаве?
В первом варианте всегда будет выводиться 2, 4, 6. Во втором всегда по разному. C чем связано такое поведение?
В документации к forEachOrdered сказано: Performs an action for each element of this stream, in the encounter order of the stream if the stream has a defined encounter order. Как узнать, имеет ли стрим encounter order? Может ли вся разница быть в том, что Collections.emptyList() попросту не имеет этого encounter order?
Стримы работают на сплитераторах, а у сплитераторов есть характеристики. Возможно конкат с unordered сплитератором сбросил ORDERED с листа, надо смотреть.
Пытаюсь записывать звук в файл.wav. Вылазит исключение: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 22050.0 Hz, 16 bit, mono, 2 bytes/frame, big-endian not supported. Формат задаю вот так: AudioFormat format = new AudioFormat(22050, 16, 1, true, true);
>>2512458 >>2512487 >>2512952 Интересный видос, собсвенно на работе как минимум одно небольшое приложение чистейшая процедурщина Но вот вопрос, где посмотреть на этот ООП? Реально ли сейчас писать не процедурно? Как это выглядеть должно на спринге? Ну вот читал клинкод и все понятно но не понятно, мелкие примеры это хорошо, хэлло ворлд написать по солиду смогу, но как должен выглядеть большой проект не ебу ваще так сказать лучше один раз увидеть чем сто раз услышать
>>2513946 Ящитаю, что ооп, солид, клинкод и тдд это инфоцыганство и мошенничество. Пока не видел проектика даже уровня петклиник от спринга. анон-вкинувший-видос
>>2513990 >как минимум существует ФП Да, легкий способ забить на поиски истинного ООП Функциональщина мне нравится и я уже подумывал как в скалу вкатываться, она хотя бы используется в проде в отличие от хаскеля
>>2513789 Лист отличается от пустой коллекции List.of() возвращает ListN, анонимную реализацию иммутабельного листа, тут стоит дефолтная реализация сплитератора, унаследованная от листа Collections.emptyList() возвращает свою реализацию как UnmodifiableList, в этом варианте сплиттератора считай нет (emptySpliterator)
>>2514150 Книжек по стримам отдельных не видел, возможно как раз в Modern Java in Action, что в оппосте висит, рассказано про стримы. А так неплох этот курс, про стримы там много всего. https://stepik.org/course/91497/promo
>>2514150 Не надо читать книги по стримам, да и вообще не надо глубоко погружаться в эту тему. Только представь, каково будет остальными читать это хуй пойми как работающий волшебный говнокод со стримами. Остальным тоже придётся эти книги читать, если тебя рядом не окажется?
>>2514453 То есть, если, к примеру, реализовать геттер, который с вероятностью 0.01 будет вызывать System.exit(), то это типа норм, главное описать это в документации?
Через пару дней конец испыталки и созвон по итогу испыталки, на котором будут: тех лид, тим лид (наставник), хрюша, пм Такие вопросы: что примерно там будет? Как заранее понять развитие событий? Как вести и позиционировать себя на таком созвоне? Компания в которой работаю не оч и думаю сам уходить, но хотелось бы полмесяца-месяц посидеть пока не найду более приемлемый вариант, чем: отсутствие доки, трекер времени, очень слабая связь с наставником (из разряда спросил сегодня, ответ зачастую завтра), постоянные просьбы ускориться и прочие прелести Сам практически не косячил (кроме трекеров), но без доки и фидбека всё делается невероятно медленно, т.к. проекту дохуя лет
>>2514573 >на котором будут: тех лид, тим лид (наставник), хрюша, пм Это везде так? Я бы просто умер от тревоги и тряски, если бы узнал, что мою судьбу будут решать 4 человека в зуме.
>хотелось бы полмесяца-месяц посидеть пока не найду более приемлемый вариант А они есть, эти варианты? Айти в стране считай умерло. Вкатусики и раньше никому не были нужны, сейчас их даже на стажировки не берут.
>>2514549 >то это типа норм, главное описать это в документации Да. Почему нет? Если по делу: тебя смутило наличие ордеринга (или его отсутствие) у стримов?
ну у меня есть, даже не смотря на то что ит сдохло Во-первых, 3 месяца жаба опыта (для хрюш 4, ибо некорректно отображает), плюс ещё на пхп 3 месяца опыта, поэтому я не прям зеленый вкатунчик, а с одного бочка желтоватый :) Во-вторых, есть варик посидеть на жопе пару месяцев и почти точно вкатиться в телеком (меня там ждут, но не сейчас)
ну и ещё есть один варик, но тот прям вообще на безрыбье
вообще когда в августе в жабу вкатывался ситуация была ещё хуже, чем сейчас, поэтому хз но меня взяли на испытательный туда, где требовался опыт от года, повезло
>>2514573 Да мне тоже постоянно говорят, что на собесе будут присутствовать помимо хрюши еще 3 чела лид, пм и еще какой-то хуй но по факту меня все разы собесил один, максимум два чела, второй обычно молчал или подключался под конец. Так что можешь смело надеяться, что половина тупо проебется. А даже если нет, если тебе дали три месяца там отсидеть, а не выкинули на мороз через пару недель, то считай с очень большой вероятностью оставят.
>>2514814 Да я чисто по угару им закинул, просто на собес думал сходить, потому что скучно без проектов сидеть. И тут - ныа бля. Это знаешь, как по угару к страшной жирухе подкатить, а она тебя еще и отошьет на полном серьезе. Вот такое же послевкусие.
>>2514809 Так может они наоборот не взяли тебя, потому что год опыта много для стажера? Если с годом попыта чел идет на стажера, значит он где-то крупно проебался...
Такой вопрос, если меня выпиздут на мороз во время испытательного через пару недель+-, мне хотя бы заплатят половину сколько наработал от зп наносеков или наебут как-то и дадут пару копеек?
>>2515763 На эту соеволиберальную помойку заходить вообще нельзя. Сначала тебя заставят доказать, что ты потратил пару тысяч часов на решение проблемы сам, потом ответят вообще на другой вопрос, а потом удалят вопрос за дубликат, а если пересоздашь забанят за спам.
>>2515859 Ну вот от тебя я почти впервые слышу жалобы на это "чудоносное кладезь знаней". У меня самого ток претензии к тому были, что на мой вопрос прилетел всего один куцый ответ
>>2516094 >В этом треде спрашивай. Тут тоже полно знатоков адреса поисковой системы google
>заставят доказать, что ты потратил пару тысяч часов на решение проблемы сам, потом ответят вообще на другой вопрос, а потом удалят вопрос за дубликат, а если пересоздашь забанят за спам.
Часто по подобной схеме работают. Только не банят, а игнорят вместо этого. Хотя, по-мне так пусть лучше игнорят, чем говорят "иди в гугл"
>>2516120 Слабо погуглить, куда бы я тебя послал с таким ответом?
Понимание "тупой" у всех разное. Некоторым нужна помощь и в тупых вопросах. Не все рождаются синьорами. Я вот лично, иногда могу слишком зациклиться. В т.ч представлять ситуацию сложнее, чем она есть. И мне не хватает маленькой подсказки, а не посылание в гугл. НУ а в некоторых моментах хочется получить разжевывание "для тупых", которые этот тупой вопрос задали. Если ты не тупой и считаешь вопрос тупым, то для тебя не составит труда объяснить суть новичку на говне и палках?
>>2516125 Есть вид разрабов, которые кайфуют от своего дела и им нравится делиться своим опытом. Они чувствуют себя полезными и т.д
А что движет теми, которые в гугл шлют? Да они просто сами не знают ответа или не могут его корректно сформулировать. Сливаются, вот и все. Срут в тред
ВАМ ПРИШЁЛ ОТКАЗ ОТ КОМПАНИИ ЗАЛУПА КОРП @ ВАМ ПРИШЁЛ ОТКАЗ ОТ КОМПАНИИ ХУЙВРОТ ИНС @ ВАМ ПРИШЁЛ ОТКАЗ ОТ КОМПАНИИ НАЁБ.КОМ @ ВАМ ПРИШЁЛ ОТКАЗ ОТ КОМПАНИИ ГОВНОБАНК @ ВАМ ПРИШЁЛ ОТКАЗ ОТ КОМПАНИИ МОЧЕБАНК @ ВАМ ПРИШЁЛ ОТКАЗ ОТ КОМПАНИИ ГАЛЕРА№81 @ ВАМ ПРИШЁЛ ОТКАЗ ОТ КОМПАНИИ ОЧЕНЬ-СЕРЬЁЗНАЯ-КОМПАНИЯ @ ВАМ ПРИШЛО ПРИГЛАШЕНИЕ ОТ КОМПАНИИ КОПРОСКАМ @ ЗДРАВСТВУЙТЕ! МЫ РАССМОТРИМ ВАШЕ РЕЗЮМЕ В ТЕЧЕНИИ НЕДЕЛИ.
>>2515763 Если вопрос именно о русском стэковерфлоу, то я вообще хз зачем он существует, когда есть интернациональный. С общим SO, ты наткнулся на ебанутое поведение спринга, написал вопрос, приложил к нему репродьюс кейс, к тебе приходит разраб спринга и дает ответ. У меня так довольно часто было. А в русском это как должно работать? Сколько контрибьютеров спринга русский знают? Сколько галерных гребцов, неосиливших английский, знают вообще хоть что-то?
Если вопрос о стэковерфлоу в целом, то я бы так сказал: задавать адекватные вопросы на SO и не быть при этом посланным нахуй --- это один из самых полезных софтскилльных скиллов, без которого с большой долей вероятности посылать тебя будут по жизни везде. И на SO, и на хабре, и на бордах, и на работе, и в быту. Если этот скилл и английский есть, SO становится крайне полезным и мощным инструментом.
Каждым потребностям --- свой инструмент. SO для "тупых" и дискуссионных вопросов объективно не подходит, такое там пресекают на корню. Ищи группы для новичков. У джавистов, например, есть неплохой телеграм чат javastart.
>>2516176 >ты наткнулся на ебанутое поведение спринга Ну если ты нашел дыру спринга/ебанутое поведение = нестандартная ситуация
Тут какбэ вопрос обоснован. Глупо было бы в таком случае отправлять тебя в гугл, не считаешь? Да и, казалось бы, невозможно.
Остальные аргументы - ага, согласен.
Разве что, как раз для новичкой-бестолочей, которые не знают английский или не могут круто и быстро разбираться с документацией. Кому нужны разжевывания на максимально понятном (родном) языке
Но с учетом СНГ-менталлитета, скорее будешь разжевывать хуи за щекой, а не пояснения основ
>>2516191 >Кому нужны разжевывания на максимально понятном (родном) языке
Я конечно может быть предвзят, ибо на русском SO ничего никогда не спрашивал. Но я не уверен что даже в этом случае русский SO подойдет. И дело даже не в менталитете, просто SO так устроен. Это не форум с флудильней, не чат и не тред на двощах. Это типа база вопрос-ответ, где задавая вопрос и получая на него ответ ты как бэ контрибьютишь в общую базу, которая потом индексируется гуглом для того, чтобы хамы потом могли говорить ньюфагам "иди гугли". Чтобы общий уровень этой базы не скатывался к флудильне, ее довольно жестко модерируют.
Я на всех проектах, на которых успел побывать, ни разу не видел, чтобы старались избегать ломбока или ругать его. Ну и среди знакомых не встречал негатива. Читаю книгу "Спринг в Действии" Уоллса - он тоже в примерах использует и хвалит.
Ты Немчинского наслушался? Я встречал только от него критику. Но и то, в его примере он приводил не сам ломбок, а какую-то хз какую библиотеку из кода, написанного мамонтом. Ну и идея "Меньше библиотек богу библиотек"
Кто-нибудь использует wsl.exe как среду для программирования на постоянной основе? Может ли она заменить отдельно установленный линупс для девелоперских нужд?
>Ты Немчинского наслушался? Я встречал только от него критику.
Нет, не слышал о таком. Надо будет чекнуть.
Ломбок мне был интересен лишь как инженерная поделка: интересно было посмотреть как ректально через аннотейшн процессоры он меняет сорцы перед компиляцией. Как тул, он собирает в себе все те практики, которые я люто не люблю, и конфигурируется способом, который я терпеть не могу (аннотациями). Когда люди говорят, что любят ломбок и не видят без него жизни, для меня это как лакмус --- скорее всего у людей всратая архитектура на сервисах, где мириады ДТОшек маппятся друг в друга, и скорее всего есть ОРМ. Я не нахожу в этом всем вышеперечисленом абсолютно ничего привлекательного.
Я для себя пришел к выводу, что Java бины (https://ru.wikipedia.org/wiki/JavaBeans) свое отжили, и нет в геттерах-сеттерах никакого практического профита перед обычными полями. В этом месте обычно люди начинают возражать, что "а как же прокси, а как же нам переопределить доступ-запись к полю", но я скажу что в гробу я видел людей, сознательно делающих аспекты на геттерах-сеттерах, переопределяющих оные или пишущих туда логику. Абсолютно отвратительная практика. Единственное место где сегодня реально нужны каноничные джава-бины, это ORMы, и то нужны они там скорее по историческим причинам, да и ORMы сами по себе активно критикуемы и сомнительны. В качестве эксперимента я пробовал как то вместо джава-бинов писать тупо структуры с публичными полями без методов, и не заметил никакой разницы. А без геттеров-сеттеров ломбок особо и не нужен. А уж с рекордами и подавно.
Ну и стоит также добавить что написание конструкторов, геттеров и сеттеров это не та проблема, которую я бы стал решать через ломбок. Их успешно пишет за тебя идея. Более того, в написанный идеей конструктор ты можешь воткнуть дебаггер, а в написанный ломбоком --- нет.
И не дай боже тебе столкнуться с неочевидной багой в ломбоке, когда какой нить equals не сравнивает все что ты ожидаешь от него. Это может привести к эпичным приключениям на ровном месте. Хотя тот же equals ты так же мог бы написать идеей в один клик и отдебажить.
>конфигурируется способом, который я терпеть не могу (аннотациями) А что тебе не нравится в конфигах на анотациях? В том же спринге самый удобный способ как по мне
>>2516779 Про спринг не буду спорить. Там где в одном предложении встречаются слова "спринг" и "удобство", начинается субьективщина и вкусовщина (в лучшем случае. В худшем --- ебаный спрингокульт).
Про ломбок сказано выше. В ломбоке дохрена аннотаций, и их комбинация не всегда дает предсказуемый результат. Встречаются баги, которые если встречаются, тяжело ловятся и больно бьют. При этом в отличие от спринга проблема которую решает ломбок ничтожна и высосана из пальца.
Сижу на бенче, получил оффер, но эти суки не хотят подписать трудовой договор сейчас за дату, которая следует за отработкой 2 недели и полным увольнением с текущего места работы. Т.е. получается, что никаких гарантий мне не дается и оффер может улететь от меня за те 2 недели, что я буду отрабатывать. И че делать бля? Как дефаться?
>>2516518 >>2516526 По причине наличия аннотаций в джаве (и их жуткое обилие в спринге вместе с прокси) я ушел в говноланг. Там такого, к счастью, нет.
>>2516992 Да не только из-за того, что я тупой скуф, просто задачи, которые решают на джаве, показались более скучными что-ли. Весь этот энтерпрайз вообще интереса не вызвал.
>>2517001 А как это обычно происходит, лул? Какие гарантии даются, что за те 2 недели, что я отрабатываю и после УВОЛЬНЯЮСЬ, они не найдут кого то другого?
>>2516518 >и нет в геттерах-сеттерах никакого практического профита А в конструкторах есть. Это основа, это база ООП. >перед обычными полями. Публик поля что ли? Преимущество есть, в возможности сохранения более удобной обратной совместимости при особо сильном говнокоде. Но ты прав, говно и моча. >>2516526 >Ну и стоит также добавить что написание конструкторов, геттеров и сеттеров это не та проблема, которую я бы стал решать через ломбок. Аннотацию быстрее поставить и самое главное это лучше читается. Если потребуется бОльший функционал - стираешь аннотацию и пишешь своё.
На JavaRush есть что-нибудь не про язык, а про фреймворки? Spring Cloud, например, или работа с очередями? ИМХО, это самое сложное, сам же язык Java довольно примитивен. Я умею писать сервлеты, desktop приложения (AWT/Swing/JavaFX), REST сервисы на Spring Boot/Data JPA. Но для работы этого недостаточно. На собеседования не зовут. Где научиться именно фреймворкам?
>>2517267 >>2517288 Джавараш уже сдох давно, ну и к тому же там ничего про спринг и прочее нет, только про сервлеты и jsp, лол. Но это неудивительно - джавараш был актуален где-то в 2013 году.
>>2517143 Гэри Рассел какой-то мудак и хамит постоянно в ответах на стековерфлоу. Йорген Холлер это чел, которому Жека Борисов насасывает в каждом видео.
>>2517467 Ты перечитай свой вопрос и предположи, что бы ты сам на такое ответил. Первое что приходит на ум - ответить какую-нибудь подобную односложную хуйню, типа "каком к верху" или "никак"
>>2517477 >Это просто крик души? Да Я заебался читать, что меня не готовы пригласить для дальнейшего рассмотрения. Я все умею и все могу, я студ, у меня разве что петов нет.
Видел видосик в интернетах как писали гуй на джаве. Таким вот способом. Тип создавал класс, наследовался от некого графического элемента(контейнера), и уже в этом классе описывал всю внутрянку, там лайауты, кнопочки хуепочки. Потом делал new и получал уже сколько угодно таких заранее подготовленных элементов. Как такое гуглить, как называется такой приём?
>>2517587 Нет. Очень плохой пример на самом деле: - проект разбит по пакетам как-то по еблански, а не слоями. - в контроллерах отдают модельки вместо дтошек. - пути прописанны прямо в контроллерах. - нахуй ненужный шаблонизатор. - нет миграций схемы бд. - нет самого нужного типа тестов - от апишки до тестовой базы. Даже с h2, уж не говоря про тестконтейнеры. - @Transactional ставят просто везде, даже где он нахуй не нужен - модельки зачем-то являются JavaBean
>>2517697 @Transactional не нужен там где один запрос. У меня пути лежат в отдельном классе в константах. Из этого класса-хранилища путей удобно навигироваться по контроллерам и пути для тестов на апишку ты берешь из того же места.
>>2517726 Смотря для каких целей читать. Если просто прочесть весь микросервис с простыми крудами - то с помника, пропертей и кинфигов, чтобы понять какие там технологии. Потом читаешь схему бд и модельки. А потом идешь от контроллеров к сервисам и репошкам. Я так обычно делаю, когда кидают что-то сделать в незнакомом микросервисе на спринг-буте. На монолите я недолго работал. Там сложнее понять откуда начинать читать код, потому что пытаться прочитать весь проект - непосильно и не нужно.
>>2517736 А что, если я не знаю, что такое спринг бут? Мне придётся часов 20 читать его исходники, чтобы понять, что он читает все классы в пакете.
Код должен быть понятным по названиям методов и классов. Но даже это не наибольшая проблема - все знают, как работает спрингоговно. Проблема в неявных связях, класс, просто висящий в пустоте и имеющий аннотацию каким-то образом влияет блядь на поведение программы. Пиздец просто.
>>2517740 >Пиздец просто А что ты хотел? Для понимания происходящего и нанимают конфигураторов аннотаций. Если ты не хочешь становиться конфигуратором аннотаций, то просто не бери проекты со спрингом.
>>2517733 Как раз на спрингоговне тебе надо читать почти что весь проект, а в ООП-монолите или связке серверов (микросервисами это называть унизительно для связки серверов) ты можешь просто открыть мейн, увидеть, что там делается, выбрать нужную тебе часть и читать.
>>2517740 >Код должен быть понятным по названиям методов и классов. Прикладной крудошлепский код - должен. Инфраструктурный, типа кода фреймворков, бд или операционных систем - нет. >класс, просто висящий в пустоте и имеющий аннотацию каким-то образом влияет блядь на поведение программы. annotation driven development это просто декларативный подход, как он есть. Ты же не бомбишь от того, что не залезая в самую пучину сорцов ты не знаешь что там под капотом у sql запросов каждой конкретной бд?
>>2517749 > Инфраструктурный, типа кода фреймворков, бд или операционных систем - нет. Тыскозал?
>annotation driven development это просто декларативный подход, как он есть. Декларативный подход - это ООП. Спригопараша - это мазня говном.
>Ты же не бомбишь от того, что не залезая в самую пучину сорцов ты не знаешь что там под капотом у sql запросов каждой конкретной бд? Потому что у меня есть унифицированное API (язык сикули), которое разрешает мне писать то, что я хочу. Как интерфейс в джаве.
>>2517747 Давай мне пример на гитхабе с крудами уровня петклиника выше на ооп с мейном. 6 табличек. 15 эндпоинтов, 20 методов репошек с джойнами под капотом, часть из которых кешируется. Валидация моделек/дто. В проекте выше это занимает 800 строчек чистого java-кода без тестов. И пишется за вечер.
>>2517754 >Декларативный подход - это ООП Можно какой-нибудь источник откуда ты это взял? По моим данным ооп и декларативщина не имеют ничего общего. >>2517762 Я прочитал только что за час, даже не заглядывая в ридми.
По прежнему жду ваш пример без спринга, di, аннотаций на чистейшем ооп.
>>2517767 >Можно какой-нибудь источник откуда ты это взял? По моим данным ооп и декларативщина не имеют ничего общего. Егор Бугаенко, Элегантные объекты.
>>2517774 Ну я тебе и не предлагаю полностью следовать егорке. Он показывает принцип, основу, базу того, на основе чего можно строить свои приложения. Принципы - интерфейсное программирование, ручная инъекция зависимостей.
>>2517776 Потом может не быть. А может, как только он закончит свою шарагу - он свалит мидлом на х1.5-2, ведь у него уже 2 года коммерческого опыта в трудовой и корочка. А у тебя он за эти два года даже с парт-тайма будет на сессии отпрашиваться и за это время по реальным скилам вырастет максимум до крепкого джуна.
>>2517781 Мань, круд сам по себе подразумевает, что это дрисня ебаная с инъекциями залуп. Это то же самое, что попросить пример государства без власти.
>>2517782 >круд сам по себе подразумевает, что это дрисня ебаная с инъекциями залуп Ну такой тупости даже Егорка не мог придумать, тут явно ты сам. Любой бекенд это всегда круд. Тупой бекенд это только он и есть. Более сложный - это куча всего остального. Но круды есть везде. Это как сложение однозначных чисел, если твой подход не может даже этого, значит это не подход, а пук в лужу.
>>2517796 Это какая-то библиотека. Где пример использования? В смысле проект. Там только какие-то 5-строчные микрофрагменты. Тот же петклиник это рабочий прототип сайта с конкретной бизнес-задачей. Почему Егор с миньонами не мог написать на своем подели что-то аля петклиник?
>>2517749 >annotation driven development это просто декларативный подход, как он есть.
Мне одному кажется что называть спринговые анноташки "декларативным подходом как он есть", тем самым ставя оные в один ряд со скулем и хаскеллем, это такой пиздеж и вирусный маркетинг от спрингокульта? Всегда дико ору когда слышу как "спринг" и "декларативный" ставят в одно предложение, хотя казалось бы формально не подкопаться.
>>2517811 Это просто подмена понятий. Под декларативным подходом всегда подразумевалось что-то вменяемое с императивным началом, последовательно переходящее в декларатив, а не наоборот - разбросанное говно по проекту, которое при минимальном углублении превращается в ебучие процедуры.
>>2517813 Нет. Это подразумевалось в только твоей голове. Декларативный подход заключается, чисто в значении слова "декларативный", то есть описывается только ожидаемый результат. >>2517811 Спринговые анноташки отличаются от сиквеля и функций в функциональщине очень широкой областью видимости. Причем иногда сложно понять насколько широкой. А еще эта область видимости настраивается. И сложно догадаться, как эту область видимости сконфигурировать, только чтением доки и стековерфлоу. Например настройка основного и тестового контекстов и конфигурация бинов внутри них может потрепать мозг.
>>2517831 Это кукарекают ооп-евангелисты и спрингохейтеры. В то время пока мы - простые гречневые конфигураторы аннотаций(как и другие работяги на других популярных фреймворках в других языках) пилим фичи нужные бизнесу и людям.
>>2517875 >>2517876 >>2517880 Ну вот например. System.getProperty("java.runtime.version") - получаем версию java. System.setProperty("java.runtime.version", "1.8") - устанавливаем свое значение. А если я хочу написать свое свойство, как java.runtime.version ?
>>2517960 Разговор начался с критики спринга. И он придуман для крудов и ни для чего больше не используется. Да и вся остальная жаба вне крудов это крохи. Ну так что ты пишешь на жабе вне крудов?
>Спринговые анноташки отличаются от сиквеля и функций
Анноташки от функций отличаются литералли всем. Анноташка --- всего лишь примитивная метадата на классе, которую читает и обрабатывает фреймворк. Грубо говоря --- голый тупл. Даже не язык. Сам же фреймворк, если проводить аналогии и сравнивать его с СУБД или компилятором хаскеля --- максимально тупорылое поделие, которое ничего не пруфчекает, не оптимизирует, и просто делает то, что нааннотированног. Затыкает локальные нужды джавистов. Неплохо затыкает, стоит отдать должное, но по сравнению с разработкой штук на декларативных языках раскид анноташек по классам --- опыт настолько небо и земля, что воспринимать это декларативной разработкой просто моск не поворачивается.
Если у кого то и есть пруф (у меня есть), он все равно не сможет его продемонстрировать. По многим причинам, начиная от того, что наработки могут быть под NDA, и заканчивая тем, что двачевый тред не очень то располагает к развернутой демонстрации альтернатив. Или ты как себе представляешь это?
>>2517965 >Ну так что ты пишешь на жабе вне крудов?
Хуй знат что пишет тот анон, но я например пишу проксю для кое каких железяк со всякими фичами, специфичными для этих железяк. У железяк свой бинарный протокол поверх транспортного уровня, поэтому проект на нетти, а от спринга там только реактивные стримы. DI там нахуй не вперся, ибо в основном все сводится к цепочке реактивных операторов либо композиции обьектов и лямбд. Чувствую себя охуенно, лучший по своей поддерживаемости проект, хорошее покрытие юнит-тестами, прозрачная архитектура, высокая переиспользуемость кода (так как нет вендорлока на DI контейнер, лол).
А эта вот ментальность, что "на джаве пишут только круды". Хуй знат, как по мне это какие то узколобые загоны гребцов уровня миддл и ниже --- их как раз ни к чему более серьезному кроме крудов и не допускают, вот для них все и есть --- круд. Сверхобобщать в таком ключе, сорян конечно, но для меня звучит как какая то чмошная тема. Типа "если я омежка и всю жизнь круды на жабе писал, значит все такие".
>>2517960 Чел --- на свете нет ни одного человека, который мог бы троллить спрингоебов через "декларативное ООП" так же тонко и элегантно, как это делал мэтр Бугаенко. Остановись, не унижайся.
Мимокрок, к спрингу, DI и аннотациям отношусь нейтрально, с лором Егорова ООП знаком.
>>2517993 >А эта вот ментальность, что "на джаве пишут только круды" Ну так я и говорил, крохи по сравнению с крудами. Можно попробовать поискать статистику по сайтам с вакансиями например или по статистике жидбрейнс. Думаю там 90% работы на жабе это круды. Ну у тебя стек более респектабельный чем круды, уважаю. Хотя такое обычно пишут на плюсах вроде. Но мы, крудошлепы в жаба мире это норма, база, основная ца. Да там пишут и десктоп, и андроед и инфраструктуру типа kafka или keykoak, ты вот железозависимое пишешь, а еще всякие java card вроде бы до сих пор существуют. Но все эти сферы по сравнению с крудами это капля в море.
>приходят и тыкают пальцами в инструмент для крудов - в спринг >это им не нравятся и то тоже говно для быдла >ну покажите как без di и runtime аннотаций круды писать >рряяяя, круды не не нужны, круды для тупых омежек
>>2518000 >Но мы, крудошлепы в жаба мире это норма, база, основная ца.
Эта норма ничего не доказывает и не опровергает. Как аргумент в споре о спринге, это аппелация к большинству. Ее обычно спрингокульт любит использовать чтобы морально давить отступников. С конструктивом оно имеет столько же общего, сколько имеют ООПфаги, которые чуть что на личности переходят.
>>2518007 Ну для меня аппеляция к большинству это валидный аргумент. Это мировоззренческая штука. Типа как средний россиянин это 40-летняя тетка в разводе, живущая в мухосрани 100-500к населения, зарабатывающая 20к р. И когда говорят о "россиянах", то я вот такого человека себе представляю. Причем численное превалирование таких теток в рф над остальными половозрастными группами не такое большое, как превалирование крудошлепов в джава-мирке. А для тебя большинство может имеет сильно меньшее значение.
Почаны, а поясните на счет увольнения/трудоустройства.
Например, я съебался за бугор, работая на текущую РФ-галеру. Пока был там - нашел другой оффер и надо уволиться. Ну тут ток траблы возвращаться за трудовой.. ну эт похер, наверно.
Другое дело - как трудоустраиваться в новую без приезжа в страну. Это будет чернуха/неофициалка? Или можно как-то в электронном виде все оформить?
>>2517986 А че там не мочь, есть же гайд с командами на первой вкладке по запросу. Или ты даже как копировать -> вставить не можешь разобраться? Тогда тебе пока рано на стажировку да и вообще в программирование идти, лучше пока откатись на что-то более подходящее к твоему уровню, например, к таблице умножения.
>>2518028 Твоё право. Но тогда не обижайся, когда в ответ на апелляцию к бремени доказательства будешь нахуй послан, если сам невалидные аргументы принимаешь за чистую монету. А то охуенно устроились блять, двуличные хуеплеты, поначитались hpmor и строят из себя национал-рационалистов.
Плз не бейте, а подскажите.Не оч хорошо пока знаком с гитом.
Вопрос:
Стянул ветку feature/yoba-123, затем подмерджил в нее master. Там конфликты и все такое.. Порешал, но не уверен, что правильно.
Как проще быстрее откатить состояние ветки к тому, которое я стягивал из гита? Удалить локальную ветку и стянуть ее заново? Как это проще сделать через интерфейс Intellij IDEA
Потом немного практики в виде letscode sweater. https://www.youtube.com/playlist?list=PLU2ftbIeotGoGSEUf54LQH-DgiQPF2XRO Тут я писал свой первый пет, переделывая sweater. Все непонятное нагугливал на baeldung и stackoverflow. Так же до сих пор помогает поиск по github. Например тебе надо найти как сконфигурировать две библиотеки вместе, а туториалы ты нагугливаешь только по отдельности. Поиском по гитхабу ищешь вместе по нескольким именам классов, используемым для конфигурации обоих. И часто находишь решение.
Потом Курс otus. В принципе всю теорию можно заменить на этот курс. https://nnmclub.to/forum/viewtopic.php?t=1474084 Тут все тоже самое и немного больше. 80 часов видосов. Думаю точно стоило пропустить точно Spring Batch, Spring Integration и все что связано с клаудами после 32 урока по докеру. 18-20 с реактивщиной и Spring WebFlux тоже скорее не нужны.
После этого писал второй пет. Посмотрел туториалы по тестированию спринга. Пригодились конфигурация @SpringBootTest, MockMvc, тестконтейнеры https://rieckpil.de/start-here/
Кроме того потратил время и не советую: - Прочитал 7 глав Spring in action 5 - не зашло. Очень поверхностно, про магию ничего. Плейлист летскода для этих целей был лучше. Бросил из-за резкого перехода на версию с фронтом на ангуляре. - Отрывками прочитал отдельные главы pro spring 5. - Посмотрел все видосы Борисова. Хотя полезный только спринг-потрошитель. Да и то только для собесов и успокоения, что ты примерно представляешь что под капотом у спринг-контекста. - Смотрел второй плейлист летскода, который фронтом с вью. - Смотрел десяток туториалов на sring.io - они очень микроскопические и бесполезные.
Во время второго пета пошел по собесам. На места, где нужны алгосы - даже не откликался. Написал пару тестовых. В 3 из 6 собесов дали оффер. 2 из них были совсем дном. В не совсем дне я сейчас и работаю.
Лично выучил жабакор, но забросил все на моменте со спрингом. Если в 2020-2021 году на спринг конфигураторов был дикий спрос и джунам чуть ли не по 100к сразу давали, то сейчас вся джава уехала из РФ. Поэтому сейчас лучше голанг учить, чем я занимаюсь.
>>2518567 И как тебе голанг? И что по голангу в рф. Откуда инфа, что с ним лучше? В мвп треде после спецоперацией несколько анонов точно вкатились в спринг.
>>2518567 Голанг сложный, там всякие подводные камни, где легко ошибиться. И программы надо писать чуть ли не с нуля. Вручную выстраивать всю архитектуру. Нет ОРМ, а надо всё на чистом SQL писать. Веб тоже на низком уровне, самому надо http-запросы на низком уровне формировать и обрабатывать.
>>2518615 Можно опционально перепечатать. Типа имена классов чуть лучше запомнятся. Главное внимательно посторочно прочитать весь код, который прилагается к урокам и запускать. Покрутить функционал, подебажить. Немного изменить код. Поэтому например я считаю, что бумажные кники по кодингу бесполезны. Книгу по кодингу бестолку читать в кресле вдали пот пеки и иде.
Да, в отус скуфы с заплетающимися языками. Но они для продаванов курсов неплохо шарят. Вкусовщина. Меня их плохая речь тоже раздражала, но это не было большой проблеймой.
>>2518588 >И что по голангу в рф Большие продуктовые конторы сейчас чаще голанг выбирают. VK, Яндекс, Озон, Авито, Касперский, 2ГИС, МТС, вайлдбериз - по ощущениям голанга там сейчас сильно больше, чем джавы. А где-то джавы и вовсе нет практически.
Джава - галеры, госуха и банки. Сбер, ВТБ, Газпромбанк, Райф, Тинек, Открытие, Точка, Лига цифровой экономики.
В общем, если собираешься в РФ строить карьеру в банках, то джава нормальный выбор. Если хочется чего-то более продуктового, то лучше голанг либо даже ноду с питоном.
>>2518632 Ну сам говноланг как язык довольно простой и, главное, понятный, если ты до этого писал на си и питоне. Джава тоже как язык простой. Но спринг уже не прост. Вернее, кажется простым на первый взгляд, когда достаточно прописать 5 аннотаций и у тебя уже готовое полноценное MVC приложение вроде той же петклиники. Когда приходит момент воспользоваться дебагом или что-то нетривиальное сделать, то начинаются жуткие костыли и пляски с бубном. Дебажить вообще очень сложно из-за магии аннотаций и рефлексии.
Джава была норм в РФ до февраля. Когда здесь были галеры вроде того же епама, люкса или неткракера. Для вкатуна - самое то. Не сидишь все время на одном легасном проекте, как в сбере, а наоборот, каждые полгода прыгаешь туда-сюда и развиваешься как разработчик. Собственно кандидаты из галер смотрелись часто гораздо лучше аналогичных по количеству лет опыта из банков. Когда почти все галеры ушли, основной джава работодатель сейчас это сбер. Там вероятно есть сильные команды, но большая часть из того, что я слышал - круды, и ничего более.
>>2518660 >Большие продуктовые конторы сейчас чаще голанг выбирают. VK, Яндекс, Озон, Авито, Касперский, 2ГИС, МТС, вайлдбериз - по ощущениям голанга там сейчас сильно больше, чем джавы. А откуда такая инфа? Звучит как инсайды. Я слышал, что в озноне нет жавы и то только от голанг-евангелистов на дваче. Открываю сейчас вакансии vk на хх. java-разраб - 18 вакансий, голанг - 5.
>>2518735 Проходил собеседования в МЯСО и сопутствующие крупные конторы. Как я понял, самое ок место, если хочешь писать на жабе/котлине в бекенде - это где-нибудь в Яндексе (скорее всего в маркете). В остальном команд и бизнес-юнитов, где пишут на гошке, тупо больше (разве что в сбере иначе). В VK и Озоне так вообще гошных команд в разы больше, чем джавовых. В ВК джава это одноклассники и платформа для видео. Все остальные новые сервисы в основном на го пишутся. В озоне на джаве буквально пара команд пишет, одна из которых это поиск на основе apache lucene. Все остальное это гоха и немного шара. 2ГИС, wb, Касперский, авито - вообще не видел джавы. В МТС где-то 50/50 джавы и голанга.
>>2518670 Он лишь на первый взгляд простой. В силу того, что добавили более высокоуровневые конструкции, чем в Си, то возникают проблемы с их использованием. К примеру, передают в функцию слайс, функция его изменяет, а ничего не меняется, потому что была передана копия слайса, а не ссылка на него. А тебе надо думать на уровне современных веб-фреймворков, но при этом реализовывать эти кишочки. Самому написать http-сервер на горутинах, где ты каждый запрос должен сам обработать, а не втыкать только высокоуровневые контроллеры с бизнес-логикой.
>>2518779 Ну так то согласен. Если у тебя амбиции работать в топовой конторе и тем более в продукте и еще и современном, то наверно гошка получше. Но го вне этих больших продуктачей очень мала. А у джавы, кроме госухи, банков и галер есть еще дохуя более мелкого интерпрайза от телекомов и ретейлеров до заводов. Так что если цель просто вкатиться и зарабатывать пару сотыг, то джава все равно вне конкуренции.
>>2518801 Да там в конечном итоге просто дернуть базу данных и переложить джейсон... Даже с net/http уже можно примитивные круды писать почти так же, как на спринге...
>>2518569 На плюсах ты бы только мемори лики, гонки и невалидные указатели ловил веками, а потом заебался бы портировать на все оси. И все равно получилось бы говно, потому что скорее всего под это поделие не было бы неректального способа писать плагины. Джава тупо проще.
>>2518874 Именно по этому вижуал студии нет на прыщах и на маке она появилась только недавно. При том, что возможности майков на порядок превышают возможности жб.
Сап, джависты. Хочу в ваши ряды и начал с прочтения книги, дошел до Побитовых операторов Java. Понятно что они делают, не понятно зачем они нужны. Неужели вы ими пользуетесь?
>>2518898 Вижуалстудии нет для других ОС, потому что мелкомягкие до определённого времени срать хотели на другие ОС. А теперь её не могут портировать, потому что она гвоздями прибита к винде, даже 64-битную версию долго не могли выпустить. На маке вижуалстудия - это на самом деле переименованная Xamarin Studio с более известным брендом. А на прыщах студии нет, потому что мелкомягкие не рассматривают прыщи как десктопную ОС. Хотели бы кроссплатформенную IDE для C++ - написали бы, даже васянский Qt Creator кроссплатформенный. Но нахуй им это нужно, им шарп надо продвигать, который в переименованном Xamarin поддерживается.
>>2518908 >не понятно зачем они нужны Скорее всего они тебе никогда не понадобятся, а так во всякой байтоебле часто используются.
>>2518825 На сишарпе работы еще меньше, чем на жабе, учти это. Там половина это винформы и wpf на госпредприятиях, 20% - игрульки на юнити и еще 30% - тот самый бекенд на дотнеткоре. В крупняке шарпа мало.
Спасибо. Может еще с одним вопросом поможете, что лучше для изучения? 1. Самостоятельное изучение, а потом курсы с пет-проектом 2. Только самостоятельное изучение и пет-проект 3. Курсы, так как сам долго буду учить и пет-проект будет не о чем 4. Что-то другое
И если курсы, то на что смотреть, как выбирать, или это все одно и то же?
>>2518977 Всем нужен разный подход к обучению. Я вот не люблю курсы, там обычно требуют жёстко следовать готовому плану обучения, и даже если сам понимаешь, что сейчас тебе что-то не нужно, пропустить это никак нельзя, многие знакомые из-за этого плевались от джавараша. Да и на некоторых курсах надо взаимодействовать с другими людьми, у меня это всегда убивает мотивацию в ноль, мне просто психологически легче разобраться в одиночку. Поэтому читал книги и туториалы, смотрел обучающие видео и подобное. Можно в любой момент скипнуть ненужную инфу, а по нужной дополнительно что-нибудь загуглить. Пет-проект необходим в любом случае, только так можно закрепить знания на практике, даже если это типичный круд, который уже тысячи раз написали.
>>2518977 Курсы разными бывают. Я проходил hyperskill в свое время. В 2020 году он еще был бесплатным, в бета-тесте, причем там никаких ограничений по времени нет, как и строгого порядка изучения тем.
Лично мне кажется наиболее оптимальным путь - сначала почитывать теорию из каких-то бесплатных источников либо спизженных книжек (но глубоко забуриваться в талмуды нельзя - станет скучно и либо положшь хуй, либо потратишь сильно много времени на один только синтаксис языка). В это время нарешивать какой-нибудь codewars и codingbat (литкод тоже, но уже позже, сначала нужно научиться решать простое). И уже когда освоишься в языке, научишься писать хеллоуворлды, начинать писать проект простой со спрингом, при этом смотреть курс алишева по спрингу и letscode. И уже под конец проекта начинать подаваться во всякие помойные конторы, паралелльно доучивая сложные темы вроде многопоточки, баз данных, докера и прочего
Двачик выручай, у меня есть готовый проект консольного приложения , но мне нужно сделать быстро еще один ,который будет работать точно так же, но без копирования точь-в-точь, ибо за плагиат бан. Как это лучше сделать?Какие способы рефакторинга известны?
>>2519004 >>2519012 Благодарю. Еще один тупой вопрос, тупее предыдущего. В какой момент учить английский? Базовые понятия есть, кокой-то уровень присутствует, наверно это А1, но этого откровенно мало.
>>2519025 Хз, я его учил ещё до изучения жабы, по идее, чем раньше начнёшь - тем лучше. Английский нужен на уровне чтения документации и stackoverflow, это где-то B1 + знание терминов на английском. Хотя можно по большей части обойтись гуглтранслейтом.
Прекол в том, что я вот мердж начинаю делать - оно мне насыпает конфликтов. Я начинаю их решать и на полпути понимаю, что это какая-то хуита. Отменяю. Хочу просто вернуть в исходное состояние ветку. А там насрано конфликтами в коде
И я не пойму как отктить это.. Я бы просто удалил ветку локальную и стянул заново с гита, но я не могу checkout сделать на другую ветку опять же из-за этих конфликтов.
ИТТ клоуны из Сбера, которые в жизни не написали ничего кроме падающего через раз местечкового поделия, типа мир пея, поясняют создателям Спринга и Кафки, что те не умеют в ООП. Они бы лучше написали, просто не хочется. Просто ор. Вы хоть иногда на себя со стороны смотрите, душные пидоры.
1.Мерджу ветку в master в свою 2.Появляется диалоговое окно решения конфликта (типа как на картинке) 3. Я решил часть, а потом передумал и жму "close" 4. Моя ветка подсвечивается в восклицательным знаком (есть нерешенные конфликты)
И в файлах остаются вкинуты <<<< HEEAD ~ ======
Собственно, конфликты.
А я хочу вернуть ветку к состоянию до мерджа. >git merge - - abort Пробовал эту команду выполнить. Ответ сейчас не могу воспроизвести, но по факту после выполнения не поменялось ничего. Опять же остались "красного" цвета файлы с нерешенными конфликтами
Хотелось бы получить верный порядок действий в таких ситуациях.
Пока только костыльно решаю чекаутом (и то со сложностями) на другую ветку, удалением нужной, которуд потом заново тяну из гита
>>2519256 Дак там бэкенда вообще нет. Его либо как скриптовый язык используют вместо батников или для всяких учОных, чтобы быстро посчитать. В общем, это языка для прикладников, а не для профессиональных программистов.
>>2519267 Не подменяй тезис, няша, и не токсичь :3 Ты точно тот же анон?
Вопрос не в том, кто быстрее, и насколько тормознуты бэкенды на стэк-нейм, изначально тема была в альтернативах вката относительно количества вакух. Пайтон в этом не проигрывает. И в пайтон вкатиться проще и быстрее. Что по поводу твоего тезиса про оптимизированность и тормознутость - это мимо, т.к. большинство бэкенда IO-bound, все упирается в ожидание ответа с бд, там не играют большой роли jvm-оптимизации.
>>2519267 >которая обгоняет на разогретом кэше даже С++ Это только для cpu-bound задач. Бекенд почти всегда io-bound, где всякие питоны и ноды вполне составляют конкуренцию жабе.
>>2519368 А что, ты предлагаешь вкладывать деньги в ленивых программистов, чтобы они валяли дурака, а потом свалили к конкуренту, а проект у тебя загнулся?
>>2519430 >Spring in Action Там галопом по европам. Вроде начинает проект интернет-магазин по продаже тако, но к середине книги про него забывает. В итоге и у читателя такое же половинчатое восприятие Спринга в голове.
так вот, если мне нужно получить определенную версию spring-security-core, то я могу ее как-то определить? Или я только версией изначальной зависимостью могу управлять?
По джаве конечно много инфы по джава кор, но когда доходишь до фреймворков, то инфа заканчивается. Её буквально крохи. Я прочитал все книги по Спрингу и так и не смог понять его работу и написать полноценное веб-приложение.
>>2520069 Ничего путёвого я не нашёл. Везде унылые лекторы зачитывают презенташку. Это как книга Козьминой по Спрингу 5 - куча теории и ноль практики, в голове ничего не остаётся.
>>2520073 Стек технологий - это самое лёгкое, с чем столкнёшься в энтерпрайзе. Каждый день ебут предметной областью, хуёво расписанными задачами уровня "хочу, чтобы была возможность делать Х, придумайте сами, как удобнее", горящими сроками, проёбаными метриками и странными смежниками со своими собственными интересами. Всю эту хуйню невозможно загуглить, невозможно прочитать в документации, приходится тыкаться наугад. И язык как-то уходит на второй план, реально осознаёшь, что те же задачи не хуже решаются на коболе.
>>2520077 Ну для джунов в норм местах это не совсем так. Джунам обычно мидлы-сеньки-тимлиды откусывают понятные куски и расписывают таски. И ответственность перед бизнес аналитиками за постановку тоже могут на себя взять.
>>2520120 В хороших местах скорее - да. В местах, уровня сбера - читать со словарем. Но галеры получше, с заказчиками на мировой рынок, где нужен был норм инглиш - ушли из рф. Как там в банках потехнологичнее, типа тинька или в российских больших продуктах - хз.
>>2511502 (OP) Как понять секрет тимлида, когда он буквально за несколько часов выкатывает пулл-реквест с новым сервисом и там уже описаны все ямл файлы и прочие спрингбут приложение сконфигрурированы? Я у него спрашивал, а он только ухмыляется в ответ.
>>2520077 Двачую. По факту в энтерпрайзе погрязнешь рано или поздно во всех особенностях бизнес требований, что и похуй будет как-то на 1С ты пишешь или на богоподобном дотнете.
>>2511502 (OP) Я вкатунец и не понимаю ООП, мне таки нужно каждый раз пилить свой собственный тип под сущность в коде или можно обходиться примитивами? Типо строка имейл vs собственный класс Email. Я думаю памяти будет жрать это пиздец как
>>2520435 Если тебе нужно парсить емейлы, есть смысл создавать отдельную сущность. Поля сущности будут соответствовать частям адреса. А если ты тупо везде используешь адрес как единое целое, хватит и строк.
>>2520435 Ну поскольку большинство кодерков - дебилы, не способные работать с функциями, так что им обязательно надо видеть осязаемые предметы, им придумали ООП.
>>2520435 >Типо строка имейл vs собственный класс Email
Дженериково на вопрос не ответить. В чем ты видишь профит от класса Email?
Если "кто-то считает что так правильно", но нет. Ничто не правильно, все можно, все кто считают иначе пусть обоснуют или идут нахуй.
Если для типобезопасности, чтобы в вызовы оперирующие имейлами нельзя было подсовывать обычные строки, то тут сложнее: в нормальных языках понятие тип не тождественно понятию класс, и типов ты можешь объявить хоть миллион без ущерба перформансу. В джаве --- нет, но даже в этом случае импакт на перформанс и потребление памяти скорее всего будет не такой драматичный, какой ты малюешь. Какбэ камон --- париться об аллокации лишнего обьектика в языке, где есть боксинг? Забей
Почему у меня уже 7(!) месяцев стажировки, я трудоустроен в штат, но для хрюшек я до сих пор всё равно что нулёвый вкатунишка с завод пердун скуф. Сука как же заебало когда же я буду долбить кокс и ебать шлюх
>>2520566 У меня 7 месяцев коммерческого опыта, нежели у тупорылого вкатунишки обоссанца без высшего заводчанина хуесоса хеллоувордера. У меня и вышка есть айтишная, я блядь ахуенен
>>2520570 Ну кроме 7 месяцев тебе похвастаться нечем. А у заводчан, кстати, тоже сейчас вышки не хуже твоей. Какой-нибудь инженер-радиоэлектронщик наверняка в универе изучал и математику и программирование. У меня вот у отца коллега был, который мне в детстве давал дискетки с компиляторами Паскаля, Си. Кучу литературы по программированию мне просто подарил. Так что зря ты выпендриваешься. Заводчане не тупее тебя.
>>2520684 У меня про вышку вообще не спрашивали, просто про опыт написания пет проджектов, которые-таки зачем-то оказались нужны, хоть их никто и не смотрел и уж тем более не запускал.
>>2520684 Мне звонила как-то хрюшка, чтоб позвать на собес и так получилось, что я не всеми технологиями владел, которые она назвала и я честно об этом сказал, на что она ответила мол неважно, главное, что вышка есть, вот и думай теперь сам.
>>2520689 >>2520691 >>2520693 Спасибо за ответы. Что если припизднуть, что вышка есть, а потом если уточнят, то ответить что неполная? Чтобы через хрюшей, которым вышка важна, на тех.собес попасть, и там уже пытаться показать себя. Хороший же план, ага? Как с двух ног щас вкачусь.
Мне наоборот предлагают проекты без очередей сообщений, кафки. Иногда попадаются микросервисы. Какие-то специфичные проекты подсовывают, то с инфрой что-то связанное, либо вообще не джава, а какой-нибудь гоуленг с питоном один раз на собеседовании выяснилось, что им нужны люди с опытом в расте. В итоге занимаюсь каким-то помойным легаси 10 летней давности, так как нет опыта в новомодных технологиях.
>>2520674 >Зачем нужна кафка/микросервисы? Потому что без них тяжело найти хорошую работу.
>>2520766 Зависит от оперативности выполнения, 2000-2500, 6 лаб, возможно еще докину, если в характере сойдемся. >>2520764 Та я и сейчас работаю на работе, проблем особых нет. >>2520767 Нормально так, а что делать собрался, анон?
>>2521092 Прихожу в офис (не люблю удалёнку), сажусь, пишу код, ставлю на фон созвоны, там 40 человек что-то по очереди бубнят. Некоторые созвоны послушать в фоне не получается, надо что-то говорить, код хуй попишешь. Иногда приходится отвлекаться на переписки. Возвращаюсь домой, смотрю кино и аниме, прохожу дейлики в геншине, шитпостю на любимом двачике, клепаю пет-проекты на нескольких языках.
>>2521143 Различные перегрузки Runtime.getRuntime().exec(...) принимают либо массив строк, либо одну строку. Однострочные перегрузки exec() размечают строку в массив аргументов перед передачей массива строк в одну из перегрузок exec(), которая принимает массив строк. С другой стороны, конструкторы ProcessBuilder принимают только массив строк varargs или список строк, где предполагается, что каждая строка в массиве или списке является отдельным аргументом. В любом случае полученные аргументы объединяются в строку, которая передается операционной системе для выполнения.
>>2521252 >>2521261 Джявя.... почему MSDN осилило описывать в конце статьи какая технология под какие SDK работает, а джябве-младшая ниасилила? Почему так?
>>2521324 Разве спринг - это бедная индийская корпорация без бюджета которая не способна в реализацию html кода на которой будет написаны поддерживаемые версии джавы? Сам спринг же на какой-то версии джавы пишется, так в чем проблема эту версию указать в штмл на страничке доков? У нас вон тоже есть, буквально бедный нищий индийский фреймворк abp.io, его юзает дай бог 10000 человек, однако даже там осилили в документации к версии.
>>2521470 >в чем проблема эту версию указать в штмл на страничке доков
При чем тут бедность. Причин мб дохуя, выбирай на свой вкус. Начиная от того что спрингокульт --- долбоебы (вполне вероятная причина), продролжая тем, что всем похуй, ибо обратная совместимость предполагается по умолчанию (да и вообще, кто ж знал что ты возьмешь какой то древний релиз, бесплатная поддержка которого уже кончилась https://spring.io/projects/spring-framework#support . Линейка 5.3 уже поддерживает и восьмерку, и 11ю https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions ) и заканчивая тем, что спрингоподелие настолько монструозно, что даже если б эта инфа была в доках, не факт что ты б нашел ее с наскоку.
>>2521462 Спасибо! Все почему-то пишут, что надо запускать: java -cp target/app.jar mam.ya.dolboeb.LinkedList Но ни фига не работает, пишет, что не находит класс, а через mvn exec работает, хотя класс тот же самый.
В общем, в любом случае через VS Code не реально программировать. Слишком много надо вручную набирать, держать в голове всю эту шелуху с командами, ручками выстраивать проект.
>>2521603 Еблан? Еблан. Ты б хотя бы посмотрел их "уровень преподавания", скачав курс с торрента, прежде чем деньги инфоцыганам нести. Впрочем, пока есть такие скуфы как ты, вкатиться всё еще реально
А насколько сложные вам приходится писать запросы в реляционную базу? Посидел вот недельку над десятком запросов, где есть рекурсивные сте, 5-6 джойнов, подзапросы, апсерты и комбинация из этих штук. И голова что-то заболела. Особенно мапить потом результаты через jooq. До этого были простые круды.
>>2521647 Бывает время от времени. Мне как то раз надо было написать че-то типа круда поверх какбэ реляционной БД, но с довольно всратой денормализованной легаси схемой данных, которую нельзя было менять. Там всякое приходилось запрашивать.
>>2521758 >>2521761 И на чем вы пишите из под жабы? Я вот на спрингдате жпа только простое писал. На спринг jdbc-template только читал как-то кусок легаси, c километровыми хранимками в строчках. Жук вроде норм, да и магии не то чтобы миллион. Но как-то эти рекорды меня подбешивают.
Есть два хоста которые подключены к одному маршрутизатору по WIFI. На первом хосте сервер, а на втором клиент. Когда пытаюсь подключится к серверу, клиент не находит его. Если запускаю всё на одном хосте, всё подключается :/ IP-адрес на сервере я указываю внутренний хоста, 192.168.0.136 например. Порт - любой. В чем может быть проблема ?
>>2511528 Вместо First - FirstTemplate, вместо Second - FirstPlaceholders. Потом билдишь First и подставляешь ручками. JSON-объекты в Java - это только Json объекты, не более. Всё остальное, более высокоуровневое, будь добр сам писать. Это основы ООП, блядь!
>>через VS Code не реально программировать Попробуй идею. >>2521778 >>Но как-то эти рекорды меня подбешивают. То же самое что и энтити в жпа. А если ты про типизированные - то не используй их, делай просто свои дто. >>2521901 Ни разу не видел.
Я когда раньше играл в майнкрафт, мне обязательно надо было джаву какую-то себе на комп скачивать. Нахуя это надо было? Они че не могут это запихать в какой-то контейнер по аналогии с докером и не ебать мозг с доп тулзами?
Пизда, аноны лучше бы го программулькой стал.У них там всё по минимализму, даже орм принципиально не используют, дрочат напрямую запросы к бд. С этой джавой я ебал тыщу технологий надо выучить. Вот казалось бы, уже и спринг вроде дрочил, и кафки рэббиты и прочий кал. Но бля - одно дело - уметь нагуглить, как сделать какой-то момент на работе, другое - осознать технологию, втереть её в десна. У меня ща настал период, когда мне начало казаться, что я еблан и нихуя не знаю, спроси меня любой вопрос, требующий знания конкретно тонкостей какой-либо технологии. Вот мавен взять, да, я всегда использовал его на автомате, там подключил депендеси, mvn clean package и забрал джарку. Но блядь - я не знал как писать плагины для мавена, как создать свой собственный архетип, а не использовать дефолтные! Я еблан, вдруг это мне понадобилось бы, а я это и не знал. В общем, я ебал осознание того, сколько еще нужно выдрочить от корки до корки. Думаю дальше буду сервлеты осознавать. Иначе как я буду круды писать без знания че там под капотом происходит. Пиздец.
>>2522592 > я ебал тыщу технологий надо выучить А в го будешь учить тысячу велосипедов, которые в каждом проекте свои, не стандартизованные, без документации и с тонной скрытых багов. > я не знал как писать плагины для мавена, как создать свой собственный архетип, а не использовать дефолтные! Да никто мавен не знает глубже подключения зависимостей, с остальными технологиями аналогично. Многие опытные разрабы даже не помнят, как создать проект с нуля. Я вообще на днях объяснял тимлиду, как работает локальный репозиторий мавена. Никто не требует постоянно держать в голове все тонкости всего стека технологий, всё изучается на уровне, достаточном для решения большинства типичных задач, а если понадобилась какая-то залупа типа написания своих архетипов, разраб садится и читает доку. Толку от изучения тонкостей, если их забываешь через пару месяцев из-за неиспользования?
>>2522592 Хули ты паникуешь? Надумал себе экзистенциальный кризис, истеричка. Куча анальников живут идиотами всю свою жизнь, знай клепают свои дурацкие анноташки в зазубренных местах своих крудов. Не каждый из них вообще знает что такое сервлет. Наоборот скажи себе спасибо что пришел к этому осознанию и интересуешься тем, что под капотом у всяких штук происходит, так хоть перспектива есть что человеком станешь.
Как понадобится написать мавен плагин --- тогда нагуглишь, выучишься да напишешь.
>>2522592 >Я еблан, вдруг это мне понадобилось бы, а я это и не знал. Шиза какая. А еще ты наверно не знал и половины флагов компилятора и вм джавы. Но это же основы, как же т без этого бы жил. По факту я например 2 года назад читал про архетипы и кастомный плагин как написать. А сейчас я этого не помню. Вообще. Только что их можно написать.
>>2522613 Оу, i вроде understood дис shit Выбрасываю то что оно само подставляет и явно объявляю сам, да? Да
>>2522615 Ну какбэ прекол в том, что мне это надо из-за vulnerabilities и требований сесурити. Придется потыкать разные версии разных всяких зависимостей и смотреть шобы ниче не падало. Т - творческая работа
>>2522618 >mvn dependency:tree Угу, этой штукой уже научился орудовать
Интересно, а не запилили ли какой-то универсальный чекер совместимости версий разных зависимостей? Например, я говорю ему че за зависимости мне нужны в проекте, а он выдает последние стабильные версии (еще и без с минимумом уязвимостей), которые стакаются с адекватными версиями остальных зависимостей?
много хочу наверно, да?
Тред не читал
Аноним25/11/22 Птн 01:55:13№2522622524
На какую ЗП можно расчитывать в СПб имея за плечами год-полтора коммерческого опыта?
@DinamicUpdate позволяет при обновлении сущности слать запрос в базу на обновление только тех полей что были изменены,а не перезаписывать все. В чем понт этой хуйни если PATCH метод делает тоже самое,просто ставишь его вместо PUT
>>2512458 Кекус, двум мужикам понадобилось пятьдесят лет опыта в индустрии на двоих чтобы понять что дядюшка Боб им серит в рот. Мне это стало очевидно с первых пары страниц clean code с опытом Lab1 за плечами. А многие так и до сих пор не уймутся.