Как профилировать джаву? Вот например у меня есть игра на джаве (копрокубы), и при рендеринге каждый 5-10 кадр рендерится в 4 раза дольше, чем нормальные кадры. Меня это немного доебало и я хочу избавиться от этого. Я могу например найти метод рендера кадра, и после сборки данных профилировки фильтровать результаты, чтобы сравнить, чем занят движок в те микростататтеры, и чем при нормальном рендеринге, и попытаться это как-то распараллелить. Но как собрать данные профилировки, чтобы была выдача, что подметод залупа тратит 70% времени исполнения профилируемого метода, говно 25%, анус 5%?
>>3066512 Я на гц грешил в первую очередь. Оказалось что паузы гц настолько маленькие, что тот профайлер что я использовал для их просмотра даже не показывает их длину, просто 0 в max. ZGC потому что по дефолту используется.
Java ME - кто-нибудь занимался этой темой? Можно ли использовать не на телефоне, то есть на устройстве без мобильной связи? Там вроде есть профили для различных устройств, может, есть и варианты не для мобильников. Меня там больше интересует 2D движок, он почти как на старых 8/16-битных консолях, то есть спрайты и тайлы. Хочу попробовать создать самодельную портативную консоль на базе Raspberry Pi, возможно ли в этом случае на J2ME писать игры для нее (и портировать существующие)?
>>3066808 Если вы не выглядите так то даже не пытайтесь вкатиться. Сейчас не 2021 год когда брали всех - заводчан, милф, скуфов с кредитными курсами и вчерашних школьников. В джаве джуны не нужны.
Посоны я уже 11 лет работаю джава кодером, номинально я сейчас сеньор, хотя хуй его знает насколько соответствую по факту, так получилось что хардкорных собесов я не проходил, переходил из компании в компанию по знакомству ( с бывшими коллегами которые перешли) либо при покупке одной компанией другой. Вобщем как на моем уровне заниматься самообучением, кроме душных книжек? Задорные курсы для вкатунов мне не подойдут, я пробовал, это довольно скучно так как 90% материала я по сути знаю, иногда черпаю какие-то приколы разве что, но ради этого убивать 20 часов не прикольно. Для продвинутых курсов почти нет, либо они ПЛАТНЫЕ. Ах да, я энтерпрайзер, спринг либо ЕЕ, куда я могу вкатиться ещё в свободное время, где бы джава прям использовалась широко в коммерческих целях, а не ради использования. Пробовал libGDX и гейдев, но это духота по сравннеию с норм движками. Пробовал андроид, вроде тема. А что есть ещё? IoT? Микропроцессоры вроде мимо, ИИ тоже, крипта тоже. Покидайте идей в какую область с петпроектом податься, кроме веба.
>>3066923 Ну я так-то не против, но я так и не понял как их читать, типо лежать и читать перед сном не получится, там часто примеры кода, который как бы стоит попробовать где-то. Сидеть за компом и читать и делать учебный проект это какая-то сферическая хуйня в вакууме, тоже нет желания.
Почему на моем ноутбуке для учёбы Майнкрафт на джаве безбожно лагает, а майнкрафт бедрок эдишн на плюсах, хоть и не летает на ультра, но позволяет комфортно играть на средней прорисовке?
>>3066898 >Пробовал libGDX и гейдев, но это духота по сравннеию с норм движками. Так бери Юнити, С# - та же джава. Или для Godot вообще есть плагин на котлине/джаве писать
>>3067653 >юнити Нет, спасибо. Помню кстати как в первые дни после введения этого говна холопы подорвались защищать барина, рассказывая, что только выиграли и теперь будут качественные платные игры вместо бесплатного говна.
>>3067666 Если сравнивать с той говниной, что ты привёл, то даже майнкрафт и даже ванильный охуенно оптимизирован. А с модами на оптимизацию разница раз в 10 больше.
>>3067653 Годот пробовал понравилось, плагина для котлина/джавы не видел правда, но это костыли какие-то по ощущениям, лучше на нативном скрипте. А шарп то мне нафига, та же, но не та же.
>>3067663 >Помню кстати как в первые дни после введения этого говна холопы подорвались защищать барина, рассказывая, что только выиграли и теперь будут качественные платные игры вместо бесплатного говна. А про то, что они это почти сразу отменили ты конечно же не помнишь.
>>3067667 > ты привёл Это не я, это другой анон. Я, кстати, тоже со скепсисом отнёсся к его посту, у меня всякие расты и форесты на среднем пк 2014 года лагали. > А с модами на оптимизацию разница раз в 10 больше. А можно названия этих модов? Оптифайн, если что, не особо помогает.
>>3068353 А я вот съебался из мвпараши из-за того что он превратился в полное дерьмо. Щитпостеры, вниманиебляди и мочух, который банит сразу же как только выказываешь недовольствие этим.
>>3066898 А зачем если ты сомневаешься синьор ли ты в своем тырпрайзе лезть в другие стеки, типа геймдева или андроида? Я думал чтобы понять свою синьорность нужно идти на хардкорные собесы на сеньку, перед этим подготовившись к ним по душным книжкам.
>>3069027 Нигде. Документация у спрэнга просто помойная. Там столько воды и переливают и пустого в порожнее без какой-либо конкретики. Их "гайды" - пшик. Их хватает на какие-то совсем примитивные вещи.
>>3069039 Таксисты и курьеры даже эти примитивные 1500 страниц документации осилить не могут. Чтобы объяснить жизненный цикл бинов и как работает BPP, Жене Борисову пришлось ПЕРЕОДЕВАТЬСЯ В ПЧЕЛУ и бегать кривляясь по сцене.
>Их "гайды" - пшик. Их хватает на какие-то совсем примитивные вещи. Чувствую ты тоже какой-то шизофреник-анальник, который путает гайды и документацию. Иди нахуй.
>>3069041 >Чтобы объяснить жизненный цикл бинов и как работает BPP, Жене Борисову пришлось ПЕРЕОДЕВАТЬСЯ В ПЧЕЛУ и бегать кривляясь по сцене. Это лишь говорит о качестве вашего спрэнг фримверка. Добавь сюда хубирнейт, который никто не умеет готовить кроме Владоса Михуйльцева и получишь типичный проект на жабе, лол
>>3069027 Скачиваешь спринг ин экшон, читаешь, делаешь проект на спринге с бд, аутентификацией, юаем, если нужны примеры идешь на сайт баелдунг.ком, там есть почти всё, дебичей выше не слушай, спринг топ
>>3069213 Это в каком месте спринг топ? Доки и гайды действительно хуйня по сравнению с ларавел и платформой, которую нельзя называть итт. В спринг ин экшн код не компилируется, а автор игнорит на гитхабе. Книжка "Spring start here" лучше.
Вопрос такой: как перехватить переход события в родительский элемент в awt? Допустим, у меня есть два объекта класса Container: c1 и c2. И была сделана штука c1.add(c2); Теперь вопрос: как остановить передачу события от c2 в c1? К примеру в c1 и c2 есть событие с комком, но мне нужно, чтобы при клике по c2 не срабатывало c1.
>>3068305 >Ничего не отменяли, только планочку подняли Не разобрался а пиздишь. Runtime Fee будет применяться к Unity 6 LTS, которая даже ещё не вышла и порог там 1 миллион баксов. Можно подумать твое говноподелие когда нибудь заработает лям в год.
>>3069285 На котлине не могу: у фирмы своя наработка с кучей фигни на джаве и надо именно внутрь уже имеющегося кода впихнуть awt. Самое интересное - тут есть даже своя крайне зависающая библиотека классов для парсинга xml, которая сначала вызывает нативные методы, обрабатывает этими методами текст, а потом возвращает. И работа такой фигни может запросто занять минут 15 для пустого xml. Я слышал про фирмы со своими наработками, но никогда не доводилось сталкиваться с таким.
>>3066898 >номинально я сейчас сеньор, хотя хуй его знает насколько соответствую
Все просто. Если можешь с нуля по требованиям в одну харю спроектировать законченное решение и пояснить за его архитектуру, значит синьор.
>Вобщем как на моем уровне заниматься самообучением, кроме душных книжек?
Делать крутые штуки от и до. Хотя бы для себя. И/или выходить из кодинга в серьезные дядьки - менеджмент или архитектуру.
А че еще остается? Все душные книжки, которые заслуживали внимания, ты скорее всего уже перечитал. Фреймворки шупать - ничего нового для себя там ты не нащупаешь, везде плюс-минус одно и то же. Язык и стек свичить? На любителя - сможешь перекатиться в смежные домены, но компетенция от этого не вырастет, так и останешься синьором.
>>3069894 > Все просто. Если можешь с нуля по требованиям в одну харю спроектировать законченное решение и пояснить за его архитектуру, значит синьор. fun execute() = 2 + 2
>>3069937 Как ты будешь оправдывать перед техдиром выбор JVM для проекта вместо го, ноды или сишарпа в 2024? Хард мод - команда не хочет писать на джава стеке и не знакома с ним.
>>3070207 > Как ты будешь оправдывать перед техдиром выбор JVM для проекта вместо го, ноды или сишарпа в 2024? Они говно, жаба зэ бест. Вопросы? > Хард мод - команда не хочет писать на джава стеке и не знакома с ним. Что они забыли в моей команде? Почему чар отдел проебался и набрал на жаба проект людей не знающих жабу?
Вчера наткнулся на видео SHIFU, в котором он говорил что на Java тяжело найти работу и что сейчас надо вкатываться в Golang. И я загорелся, думал бросить изучать Java Spring и начать изучать Go. А сегодня подумал: ну не дурак ли я?
Вот хочу я найти работу Java Spring разработчиком на удаленке. Как думаете, это сейчас возможно?
>>3070275 Мой опыт... Я пытаюсь вкатиться в программирование уже почти 4 года. Я учил фронтенд, разработку игр, бэкенд, Android-разработку. Благодаря тому что пытался вкатиться в разработку мобильных приложений, несколько раз смотрел курсы по Java. Впоследствии я решил учить Java Spring, потому что наткнулся на хороший подробный курс от Заура Трегулова. Опыта как такового нет, но я посмотрел половину курса по Spring'у (как бы это иронично не прозвучало). Видимо мне надо будет досмотреть курс и написать хотя бы пару веб-приложений, посмотреть несколько интервью - и только потом пытаться вкатиться.
>>3070125 Да, но там всего пара разных акций. >>3070207 >го, ноды или сишарпа Мертвые языки. >Хард мод - команда не хочет писать на джава стеке и не знакома с ним. У меня в команде одни джависты, долбоеб.
Допустим имеется параметризованный тип. Как сделать массив таких типов?
Пусть в одном файле есть public class eee<T>{...}, А в другом есть класс, где надо использовать массив из элементов eee<Character>. Почему ругается на eee<Character>[] qwe=new eee<Character>[2]?
>>3070280 > 4 года Долго как-то, я за год вкатился. Хотя у меня друг за 3 года вкатился, но он 3 раза был на испытательном в разных компаниях за это время.
Ищи вакансии с тестовым на любой грейд (лучше на джуна понятное дело). Делай тестовое, скидывай чару с комментом, мол коммерческого опыта нет, но я способный и могу сразу писать нормальный код + согласен на зарплату ниже.
>>3070316 Так я прыгаю с одного на другое. Фронтенд - мобильная разработка - криптовалюта - фронтенд - бэкенд. Параллельно пытаюсь игры делать, может на Google Play/Steam/ прочих платформах заработаю. Сыч я, двух слов связать не могу, внешний вид у меня очень нелицеприятный - боюсь что либо не возьмут на работу, либо возьмут, но начнут буллить.
В Intellij Idea с помощью Refactor -> Rename меняю название Pointcut. Но в аспектах, которые ссылаются на данный поинткат название поинтката не меняется. Почему? Intellij Idea без лицензии, может поэтому?
>>3070577 В гугл одно из собеседований будет NALSD https://sre.google/workbook/non-abstract-design/ За 40 минут надо прояснить требования, придумать базовую архитектуру, посчитать сколько ресурсов потребуется поэтому это Non-Abstract, по запросу интервьюера рассказать отдельные детали.
>>3069894 >Все просто. Если можешь с нуля по требованиям в одну харю спроектировать законченное решение и пояснить за его архитектуру, значит синьор. Лол, проиграл с этого дуралея. Чел >>3066898, не слушай этого дятла. Просто читай канал продленка от ДимСаула. Он между прочим тимлид в свои 26 лет стал
>>3070717 Димсол это бездарный провинциальный петух-нонейм, чей единственный ресурс - группа с пафосным именем но там сидят одни джава скуфы помойные, впору переименовать чатик в skuf.jvm
>>3070766 >провинциальный петух-нонейм Он работает контрактором и живет в Москва сити где читает кабанчика. Он в 21 год работал контрактором в сбере и наказывал скуфидонов
>>3070239 Чекнул я канал его. Типичный инфоцыган с кликбейтными заголовками, его мнение вообще никакого авторитета не имеет и не может иметь. Забей и спокойно учи джаву, если на джаве просто очень сложно найти первую работу, то на голанге это невозможно или близко к тому.
>>3071029 Как же я нахуй обожаю этих ЧСВ ебланов которые в изимодные годы устроились и теперь решили других поучить. Нет, конечно же человеку нужно гробить год на голанг чтобы потом узнать что для него нет джуновских вакансий. Это таким как ты нужно сдохнуть, причем в мучениях.
>>3071043 >которые в изимодные годы устроились и теперь решили других поучить
Пиздуй тогда в ньюфаг-тред и учись у таких же маслят как и ты, если скилловые для тебя слишком ЧСВшные. Распинается сидит, как баба. Орирую с поколения неприспособленных к жизни ЕГЭшных мамкиных корзинок - даже общаться не умеют.
Блять, вот мб вы мне сможете объяснить, откуда нереальное дрочево TDD и культ Роберта Мартина? Прочитал чистую архитектуру, идеального программиста и дочитываю идеальную работу (да не нравится, но начал читать по многочисленным советам везде когда уже получил нормальный "производственный" опыт). Большей графомании и количества воды не видел даже в художественной литературе, это же просто пиздец, ощущение, что читаешь шизика, когда чел в одном месте пишет TDD не подходит для всех задач, а через пару страниц TDD универсален, потом Боб пишет: бля у вас могло сложиться ощущение, что TDD подходит только для маленьких проектов, но сейчас я вам продемонстрирую, что вы не правы и на 20 страниц расписывает простейший проект с тайм кодами, это просто пиздец Да ещё и не просто шизик, а шизик с гиперфиксацией на своих идеях, пишет: я вот тут спросил у джависта об одной из своих концепций, он ответил: громоздко и неэффективно, но в TDD прижилось... БЛЯТЬ ДА НУ НАХУЙ МБ ПРИЖИЛОСЬ ПОТОМУ ЧТО ТЫ АВТОР ИДЕИ И ГЛАВНЫЙ ИДЕОЛОГ TDD??? М??? а не потому что концепция заебись? это как в анекдоте про то где куры сдохли, но концепция с табличками заебись И т.д. и т.п. просто жопа разрывается от того, что чел просто продает людям свою концепцию, а то что она работает только в командах где ВСЕ ей следуют, где кабаны ПОЧЕМУ-ТО согласны оплачивать этот банкет, где микросервисы (монолиты идут нахуй), где задачи ставятся идеально и т.д. вот там да, могу себе представить, но блять по ощущениям компаний, которым это подходит <1%
Не могу отрицать, что какие-то вещи написаны правильно, но в основном ЭТО БЛЯТЬ ЦИТАТЫ ДРУГИХ ЛЮДЕЙ или же какие-то ультрабазовые вещи, которые ты узнаешь 100% если не из коллег, то из первого пиздеца который произойдёт (например про то что про наёбывающиеся сроки нужно говорить заранее (20+ страниц только про это сссука))
Ещё отдельный прикол с дрочем на микросервисы, сууука просто куда ни попадя хуярят их, лишь бы засунуть нахуй, когда уже эти культисты поймут что монолит для своего, микросервисы для своего, далеко не всегда есть ресурсы на накладные расходы для шины данных и далеко не всегда через поды нужно нагрузку балансировать
>>3071223 Всем похуй на твои страдания, скуфидон. Таких ленивых чертей как ты, которые любят "почитать ТЗ и как следует разобраться", а потом высирают говнокод без тестов и на коленях умоляют принять их пулл реквест, мы выгоняем целыми отделами
>>3071339 Какие то маня проекции Скуфидона в зеркале увидишь, чини детектор, да и про всё остальное тоже мимо (кроме того что юнит тестирование не люблю)
>>3071352 Не просто попали под это, так ещё и носятся и размазывают говно везде где видят
>>3071068 А причем тут я прости меня?) Я уже давно работаю, вот только я прекрасно знаю что например ты сейчас по уровню знаний не прошел бы даже на трейни) Быдло ты ебаное, это тебе надо научиться с людьми общаться, тупоголовое ты животное
>>3069886 1. Ты настолько тупой, что не можешь сам прочитать условия, если тебе какие-то детали непонятны. Но при этом упорно пиздишь. 2. Если у тебя приложение не зарабатывает денег или зарабатывает менее 200к, то ты вообще ничего не платишь сидишь на Personal и не бухтишь. Если зарабатываешь больше 200к то надо переходить на платную лицензию 2к/5к в год. И если зарабатываешь больше 1кк, то только тогда надо еще платить рантайм сбор. Платить можно или фиксированную цену за установку или 2,5% от оборота.
>>3071227 Во-во, у меня был на галере проект, простенькое SPA на 9-ти микросервисах. Там наверное половина кода уходила только на сериализацию/десериализацию
Советуйте книги/гайды/туториалы/выступления/пр. про то, как писать высокопроизводительный код на жабе. Может, про какие-нибудь сложные и не очень оптимизации.
>>3072104 что понимается под высокой производительностью? если обработка большого объёма информации, то completable future многопоточка с кастомными пулами (готовое в executor не всегда закрывает потребности) если очень большое количество запросов, то кластеры или поды + оркестратор (мб и то и то) если в оперативку упираешься, то jvm профилирование с дампами и отслеживанием что жрёт очень много и как это оптимизировать
это если основное и вкратце, а по мелочам есть и примеры реализации проверки подсети с помощью побитового сдвига или замена объектов примитивами там где это возможно, введение кэширование через concurrent и т.д. и т.п.
>>3072104 https://www.youtube.com/watch?v=Q-7y1u9kZV0 + от себя общие принципы - - меньше аллокаций памяти - переиспользование аллоцированной памяти - меньше ветвления кода, учет speculative execution - Loop unwind, размотка цикла - меньше операций ввода/вывода (чтение файлов, обмен по сети и т.д.) - меньше рефлекшена в рантайме - Ahead-of-time компиляция (GraalVM Native image) - кэширование - подходящие структуры данных
Ну и совсем прям низкоуровневое - это работа с памятью через sun.misc.Unsafe.
НО! Важное но, все эти оптимизации имеют смысл только если у тебя код выполняется примерно больше 100 раз в секунду, если меньше - то лучше просто написать простой и понятный код - проще будет поддерживать.
>>3072129 > что понимается под высокой производительностью Ну чтобы я игру написал и она не лагала...
>>3072134 > Ahead-of-time компиляция Говорят, от этого наоборот медленнее может работать приложение, потому что некоторые оптимизации может только JIT делать.
>>3072175 >Говорят, от этого наоборот медленнее может работать приложение, потому что некоторые оптимизации может только JIT делать. Ну тогда сделай, замерь, и реши - подходит ли для тебя или нет
>>3070717 > тимлид в свои 26 лет стал Как по мне это скорее минус. Ну и тимлидом я быть не хочу совсем, пробовал, не нравится. >>3069894 >И/или выходить из кодинга в серьезные дядьки - менеджмент или архитектуру. Я пытаюсь прыгнуть в архитектора, но не очень понимаю как, обычно все такие, о молодца, давай, вот тебе план развития, выполняй такие то задачи, ну я вроде как выполняю, но всё равно не очень понимаю что должно произойти, чтобы стать архитектором, ведь один уже есть. а второй нахуя нужен? Как перейти в другую компанию сразу на должность архитектора не понимаю ещё больше, сколько я видел архитектов, это обычно шарящие челы, у которых есть ответ на любой вопрос, но больше бизнесовый, типо как бы нам сделать и продать вот такую штуку, и они отвечают, мол а давайте вот так, но это обычно касается узкой специфики проекта или заказчика. Я даже читал книгу с кабанчиком, очень интересно, реально много нового для себя узнал и закрыл белые пятна, но к примеру на текущей работе этого с меня не спросили бы как с архитектора, а скорее спросили бы как продать новую фичу, объяснить что она охуеть как всем нужна.
>>3072872 >Я пытаюсь прыгнуть в архитектора Не нужно этого делать. Архитекторы почти нигде не нужны. Либо если ты готов до пенсии (до 40-45 лет) работать в одной компании. Архитектуру продумывают сеньки и тимлид. Прямо отдельного архитектора я никогда не видел
>>3072877 Ну у нас есть прям отдлеьный, да и за 10 лет где я ни работал, везде был отдельный архитектор, не всегда на один проект, иногда на 2 один. Хз, а что тогда логичное продолжение сеньора, кроме как менеджмент в который я совсем не хочу. В 34 быть сеньором ок? Я всегда счтиал что карьерное продолжение сеньора это архитектор, потом техлид и всё такое. Типо не зашквар ли писать код в 40+?
>>3072928 Пробовал чатгпт, ну это чисто поиграться или я не знаю, какой бойлер плейт писать надо, чтоб она помогала. По сути пишет реешение, ты санчала его пытаешься понять, потом его допиливаешь, по факту ещё дольше получается. Возможно чисто для обучения, когда не знаешь как жаваскрипт на фронте написать можно юзать, или там цсс подогнать. А так пока что хуйня
>>3072928 Чатгпт 4. Спрашиваю всё подряд. Например забыл как анимации изменения цвета делать, попросил дописать код, он сделал. Или есть какие-то сомнения насчёт названия класса, спрашиваю он предлагает варианты. Или нужно было подсчитать реальный размер объектов в рантайме, опять же он подсказал использовать Instrumentation agent, но в плане как его добавить в проект пришлось уже гуглить, так как бот ерунду выдавал.
В целом любой вопрос, который я раньше задавал гуглу, я теперь задаю боту и лишь потом иду в гугл.
>>3073183 Были бы у меня деньги на гпт 4... Хотя можно дёшево через апи долбится, насколько я знаю. Но мне лень разбираться в этом, барьер какой-то внутренний.
>>3071428 Хули тогда порвался как баба, если давно работаешь? Еблан тупорылый еще учить меня общаться будет после того как с нихуя без причины высрался в тред пожеланиями смерти. Пошел нахуй, чмо.
>>3073312 Ещё один страх преодолён, и теперь у меня есть доступ к четвёртой гопоте. Уплочено 650 рублей за 10 долларов апи кредитов (5 бесплатные и 5 оплаченные по ебанутому курсу 1 доллар за 140 срублей).
>>3073479 >>3073410 >>3073398 blue copilot не тестили от китайцев? в русский не умеет, только в англ и китайский, но и этого достаточно я маленько тестил и ИМХО картинки генерит лучше кандинского
Почему спринг секурити такой ебучий? Секурити контекст, юзерДитейлс+сервис, Аутентикейшн менеджер/провайдер/конвертер, цепочки фильтров, секурити конфигурер. Я уже десяток видосов навернул и доку поглядел и все равно не понимаю как это все связано между собой и работает. По копипасту вроде делал пару раз еще давно. Но вот не получается как-то расколдовать магию. А там с тестами надо будет еще разбираться.
>>3071223 А потом такие скуфидоны лепят свои MyServiceImpl implementes MyService на 4к строк где перемешано все на свете. Без каких-либо тестов, разумеется. Спрашиваешь долбаеба - "а как ты на это говно тесты будешь писать?". А скуфидон лишь гаденько улыбается и сквозь зубы сцеживает - "а как ты это протестируешь?))) тут только руками))))". И каждый раз, когда какая-нибудь залупа падает в его "сервисном классе" он туда добавляет фиксы, меняя поведение. Ну и вишенка на торте это когда понадобится добавить новый функционал и скуфидон просто допишет новый код в свой мега класс. Тьфу, блядь! Хорошо, что мы в нашей компании увольняем таких "программистов" целыми отделами. Зумеры с мальства знают как писать чистый код
>>3073672 Я там не жил, так что не знаю. Но в России, чтобы стать РНН господином достаточно уехать жить из Москвы в провинцию. Если же в 18 лет ты выбрал учиться не в Москве, то ты ошибся. Всё просто.
>>3073847 >Если же в 18 лет ты выбрал учиться не в Москве, то ты ошибся Для этого нужно было попасть в хорошую школу и у тебя должны были быть все условия, чтобы ты нормально учился, а потом сдал ЕГЭ и обогнал претендентов со всей страны на поступление в нужный ВУЗ. Если ты изначально заролял родится в нижних залупках, которые зэки строили, учиться тебя отдали в МОУ СОШ по прописке где все 11 лет тебя пиздили и гнобили дети из неблагополучных семей не давая учиться, то никакой учебы в Москве тебе не светит - ты просто не сможешь сдать нормально ЕГЭ
>>3073852 Если ты остался в школе где тебя все гнобят и пиздят, значит твои опекуны ошиблись.
До 14 лет ты вообще недееспособный. До 18 лет ограниченный в правах. Поэтому я не трогаю всё что до 18 лет, там твоей воли не было. А вот подготовиться и пересдать ЕГЭ ты уже мог бы, но решил этого не делать и это была ошибка.
>>3073855 >А вот подготовиться и пересдать ЕГЭ После 11 лет травли и унижений? Сириоусли? Там психика уже окончательно сломана. Травители пошли в путяги или дотянули до 11 класса, а потом пошли в колледжи на физруков и поваров
>>3073778 Покопайся в исходниках под дебагером, помогает. Цепочка фильтров это вообще не про секуррити, это про сервлеты, не только секурные фильтры же, в принципе в жизненном цикле сервлета фильтрчейн срабатывает каждый раз
>>3066497 (OP) Такой вопрос: нужен ли Swing/AWT/JFX в работе на джаве?
В целом я понимаю, что в реальной работе нужно будет ковыряться в легаси, но нужно ли будет уметь в каких-то случаях писать код для создания каких-то графических компонентов, например менюшек/спиннеров/комбо боксов/и т.д.?
>>3074217 99.9% - нет. Сейчас осталось 3 конторы которые пишут десктоп приложения, из них на джаве 5%. Так что если не попадёшь на лютое легаси типа жидбрейнс, то UI на джаве тебе не понадобится.
>>3074208 Попробую. Еще смущает, что там уже куча реализованных классов и нужно наследоваться от классов и дописывать логику.
А по тестам с спринг секурити можешь что-нибудь подсказать? Насколько я понимаю для мокмвс тестов нужно мокюзера использовать. А сами компоненты типа кастомных фильтров, конверторов и конфигураторов принято тестировать как-то? Или просто юнитами?
>>3074346 Я ошибся, это Martin Fowler предложил. Но по сути в коде, который обосрали он же не игнорирует исключение, а логирует его через доп класс. Notification паттерн для случая, когда есть много непроверяемых исключений подряд (типа IllegalArgumentException + IllegalArgumentException +IllegalArgumentException), предлагает логировать их, складывая в список отдельного класса. Ну и дальше пробрасывать более специфичные
>>3074436 эм. Тут просто обработка эксепшенов и сохранение всех проблем валидации в список.
У мартина сохранение подробности в переменную + кидание эксепшена. Т.е. при обработке этого эксепшена надо знать про ещё одну переменную и читать значение из неё, а не из эксепшена.
>>3073780 >>лепят свои MyServiceImpl implementes MyService Так это вроде и есть мартин-вэй на интерфейсах?
>>на 4к строк где перемешано все на свете Как раз сотня трехстрочных методов, лишь бы не дублировать повторяющуюся строчку кода в каждом.
>>Без каких-либо тестов По мартину - обычно куча говноюнитов с моками которые нихуя не тестят, но их надо переписыватьь каждый раз при добавлении поля или мелком рефакторинге. Тесты ради тестов.
>>а как ты это протестируешь?))) тут только руками)))) В реалиях микросервисов - интеграционными с тестконтейнерами и прочими вайрмоками, но часто ручник просто дешевле и качественнее.
>>Зумеры с мальства знают как писать чистый код зумеры точно такую же хуйню пишут, а чистые коды они осваивают по тиктокам.
Проясните про версии джава. Почему работодатели пишут про них. Неужели если я знаю джава 17, то джава 11 мне нужно будет доучивать то, чего в этой версии нет и т.д.?
>>3074777 Потому что ХРюши сверяют их как баш скрипты, бездумно. Сказано дажва 17я - значит должен сказать что джаву 17ю знаешь. И похуй что там со времён 8й изменений практически нет.
>>3074797 Ну не скажи. Если написано 17 джава. Значит я ожидаю, что там +- современный стек. Значит там более менее современная версия кубера, кафки, постгри, и прочих промежуточных и инфраструктурных вещей. Ну и спринга с другими библиотеками. А если там жаба 8, которой 10 лет. то значит и остальные инструменты и библиотеки там скорее всего точно старше 5 лет.
>>3074818 Ожидать ты можешь все что угодно, сычуш. 17 жаба не означает, что тебе разрешат использовать фичи из 17 жабы. Там литерально может быть 17 jre на проекте, а фичи языка на уровне жабы 8 с запретом использовать var, умный свич и прочие рекорды.
>современная версия кубера, кафки, постгри, и прочих промежуточных и инфраструктурных вещей В жабе не принято использовать кафку. Все где я работал, писали свои очереди поверх постгри или редиса. Кубером никто не пользовался и запускали томкат с руки или в докере крутили
>>3074962 >Все где я работал, писали свои очереди поверх постгри или редиса. Кубером никто не пользовался и запускали томкат с руки Ты прям редкостный скарабей, собрал все сорта говна, которые можно.
>>3074962 > писали свои очереди поверх постгри или редиса. Кубером никто не пользовался и запускали томкат с руки или в докере крутили Какая же ты ебаная мразь
>>3075136 >>3075103 >>3075070 >>3074986 Чего вы порвались, лол? Единицы девопсов умеют разворачивать и обслуживать кластер кафки. Еще меньше разработчиков умеют грамотно с ней работать. Написать очередь поверх базюльки - дело нескольких дней
>>3075171 Против повесточки идёшь потому что. Нормальной разработкой считается последняя джава/котлин + кафка + флинк + кликхаус даже если это сайт-визитка. Поэтому кстати кафка и есть повсюду.
>>3075439 Нет, эти термины не являются равнозначными, они относятся к разным архитектурным концепциям в разработке программного обеспечения.
1. Model и DTO (Data Transfer Object): - Model обычно относится к части приложения, которая отвечает за бизнес-логику и представляет собой объекты данных, которые используются в приложении для работы с данными. Модель представляет собой абстракцию реальных объектов и их отношений в системе. - DTO, с другой стороны, это объект данных, который используется для передачи данных между слоями приложения или между различными приложениями. Он часто используется для уменьшения количества данных, передаваемых по сети, и для изоляции слоя представления от слоя модели.
2. Repository и DAO (Data Access Object): - Repository - это шаблон проектирования, который представляет собой слой абстракции между бизнес-логикой приложения и источником данных (например, базой данных). Он обеспечивает единый интерфейс для работы с данными независимо от их фактического источника. - DAO, с другой стороны, это объект, который обеспечивает доступ к данным из определенного источника данных, такого как база данных или веб-сервис. DAO обычно предоставляет методы для создания, чтения, обновления и удаления данных из источника.
Итак, хотя оба понятия (Model и DTO, Repository и DAO) связаны с доступом к данным и организацией слоев приложения, они имеют разные функции и контексты использования.
>>3075544 А теперь переведи с ГПТшного. Когда мы делаем типичное REST API на Спринге для тестового задания и создаем папочки repo и model, мы какой подход используем?
>>3071223 > откуда нереальное дрочево TDD и культ Роберта Мартина?
Где? Нету вроде уже давно. Щас дроч больше как будто на ДДД и синюю библию Эванса.
>Не могу отрицать, что какие-то вещи написаны правильно, но в основном ЭТО БЛЯТЬ ЦИТАТЫ ДРУГИХ ЛЮДЕЙ или же какие-то ультрабазовые вещи, которые ты узнаешь 100% если не из коллег, то из первого пиздеца который произойдёт
В целом то же можно сказать про все айти. Еще диды подметили что айтишка циклична и просто переизобретает штуки по кругу.
>>3073780 Тя почитать, так можно подумать что у спрингоскуфов есть выбор делать иначе. Как будто бы весь энтерпрайз лабает сервисы. Даже скуфохипстеры, перекатившиеся из джавы в скалу и ФП, поясняют за свой tagless final на примерах тех же сервисов, переписывая на новый лад очередной UserRepository.
У энтерпрайза мозги поломаны несколько поколений подряд начиная с коболистов, не случайно он кровавым зовется.
>>3075799 Обычно модель - это структура данных, которая моделирует какой-то процесс или сущность в реале. DTO - это ты просто свалил в кучу типы, потому что передавать удобнее пачкой.
Между репо и дао хз какая разница, я ДАО видео только в окаменевшем коде.
>>3075799 Когда вы создаете папки `repo` и `model` для разработки REST API на Spring для тестового задания, вы используете комбинацию подходов Model и Repository.
1. Model (модель): В папке `model` обычно размещаются классы, представляющие основные сущности вашего приложения. Эти классы содержат поля, методы и логику, связанную с бизнес-логикой вашего приложения. Например, если у вас есть приложение для управления задачами, то в папке `model` вы можете создать класс `Task`, который будет представлять собой модель задачи со всеми ее атрибутами, такими как название, описание, статус и т.д.
2. Repository (репозиторий): В папке `repo` обычно размещаются классы, отвечающие за доступ к данным из базы данных. Эти классы используются для выполнения операций CRUD (создание, чтение, обновление, удаление) над вашими моделями. В контексте Spring это часто интерфейсы или классы, аннотированные `@Repository`, которые используют функциональность Spring Data JPA или другие подходы для взаимодействия с базой данных.
Таким образом, при создании папок `model` и `repo` вы используете подход, который включает в себя определение моделей данных (Model) и классов для доступа к этим данным (Repository), что является типичным для приложений, использующих Spring для создания REST API.
>>3075860 >>дроч больше как будто на ДДД и синюю библию Эванса. Все про это говорят, никто не ебет как это должно работать на практике. Те примеры что показывают очень сомнительны, непонятно как затащить подобное себе.
>>3075860 >>В целом то же можно сказать про все айти. Мартин Фаулер тот же гораздо более базовые вещи предлагает. Нил Форд, Кент Бек, Сэм Ньюман - у каждого какая то своя тема, в которой он спец, пишут книги, выступают на конфах. Работают солюшн архитекторами и им платят за решение проблем. Именно практическая часть, бестпрактисы и питфолы представляют наибольшую ценность.
И только Р.Мартин выдает "хорошо делойте, плохо не делойте". Когда доходит до практики - пук-среньк-оплатите мои курсы-досвидания. Его и на конфах не увидишь - нахуй никому не нужен по слухам еще и конский ценник выставляет, дохуя важный чтоб выступать бесплатно как все, еще и вопросы неудобные станут спрашивать. Как и положено инфоцыгану не практикует, а только новичков учит жизни.
>>Еще диды подметили что айтишка циклична и просто переизобретает штуки по кругу. Концептуально да, но каждый раз это выходит на новый уровень. Электромобили тоже изобрели в 19 веке, но только в 21 их довели до ума. Не потому что впадлу было, просто не было некоторых важных технологий для конкуренции с ДВС +нефть сильно подорожала
>>3073778 Такой ебучий потому что пытались сделать в одном всё абсолютно и собсна для штук в которых нужна реализация из множества источников это вполне имеет смысл, но потеряло для вариантов когда что-то одно-два используется, например кейклок (+ возможно стандартный лог пасс) там вот тащить полностью секьюрити дольше да и не нужно
>>3074818 Версия жабы означает критически мало, да и то что там либо будут старше 5 лет тоже не факт Это жеж зависит зачастую от того, для кого пишется, очень много банков, которых прям заставляли с 6ой перекатываться в 8, а было это 3(!) года назад
>>3076100 Я был на одном проекте, где был кейклок. Но бес спринг сесурити. На микросервисах. Так и не понял как оно работало. Мне задачки с сесурити не давали, как джуну. А самому спросить у того кто прикручивал так и не срослось. Кейклок админ был только в одном сервисе подрублен для регистрации и изменения пользователя. А вот как там аутентификация работала в других сервисах, где ничего ни про сесурити ни про кейклок не было - мне не ясно. Как это могло быть устроено? Интеграция с кейклоком на уровне апи гейтвея?
>>3076323 Скорее всего во время ауф фильтра просматривалось нужна ли авторизация через кк, если да то перевод на кк, либо передача bearer jwt токена со всеми вытекающими (есть ещё конечно варианты, но их обычно не практикуют из-за заёбности)
>>3076316 Ну по собесам я все таки заметил корреляцию. Если указана жава 8 в 2024 году, то все остальное скорее всего тоже несвежее. Спринг 2.7 восьмерку поддерживает, но многие либы помельче требуют 11+ уже как года . Через пару лет это будет совсем заметно. Потому что спринг бут 3 поддерживает только 17+ жаву. Третьему буту уже 15 месяцев и насколько я знаю - бут 3 это пока фальтстарт. На него не перешли даже те, кто обычно быстро переходят на новинки, типа команд тинька, которые ходят на конференции. И новых реально нужных фич пока почти нет. Но 2.7 ветку уже перестали поддерживать. Последний релиз был в ноябре. Так что через пару лет джава меньше 17 на спринговом стеке будет означать устаревшие на 3-4 года библиотеки.
>>3076325 Ты про фильтры сервлетов на уровне приложения? Если да, то нет. В 14 из 15 сервисов не было вообще ничего связанного с секурити, ни фильтров, ничего.
>>3076334 Эммм мне вот интересно, а чем плохи "устаревшие" решения и чем там охуенны новые версии того же спринга? Под капотом у спринга та же жаба, для di вместо autowired можно вполе использовать google guice, хоть ему сто лет в обед, но отличная либа которая делает только то, что тебе нужно Код старый от времени работать хуже начинает только если в него вносить бездумные правки постоянные, а если его не трогали n-ое количество лет, то вполне могу представить ситуации когда он дудет работать даже лучше, ибо раньше чаще думали о количестве используемых ресурсов
>>3076337 Не, я про сервис где секурити есть, остальные микрачи либо брали состояние пользователя и им пользовались, либо опять же где-то хитро прописанный поход в кейколк с jwt токеном (но раз говоришь что не было, значит не было)
>>3076351 Ну а мое предположение, что кейклок был с апи гейтвеем интегрирован? Такого не бывает? Просто на дев площадке можно было курлом без авторизации ходить на апишки. Но если ходить с фронта в хедере авторизации был кейклоковский беарер токен.
>>3076346 Про свежий спринг не скажу, сам не трогал. А свежие версии мелких библиотек зачастую фиксят баги, работают со свежими же версиями баз/очередей любых других внешних интрументов, но при этом требуют джаву 17/11.
>>3076420 Аноны, оцените учебную программу, есть возможность пойти поучиться в Германии, на полтора года рассчитанно. Скорее всего поверхностно будет, но можно в свободное время ещё углублять знания. Стоит время инвестировать?
Поясните про динамические запросы (если это тут нужно). У меня ситуация такая: у нас в контроллере есть метод для поиска юзеров по заданным параметрам. Некоторые из полей могут быть не заполнены. То есть, если мы указали только дату рождения и фамилию, то ищем только по ним. Причем в задании такие требования: 1) Если передана дата рождения, то фильтр записей, где дата рождения больше чем переданный в запросе. 2) Если передан телефон, то фильтр по 100% сходству. Если передано ФИО, то фильтр по like форматом ‘{text-from-request-param}%’ 3) Если передан email, то фильтр по 100% сходству.
Как сказал GPT, тут можно использовать QueryByExample, но как быть с датой, чтобы показывались юзеры с более поздней датой рождения? Ну либо самый тупой вариант приходит на ум - тупо сформировать запрос строкой, подставляя что нужно, где не null, но работодатель это вряд ли оцеит.
Конкаренси на практике не станет лучше после первой четверти? Это надо умудриться так сложно объяснить такие простые вещи как volatile переменная. Какая-то публикация ссылки, вообще пиздец
>>3076809 Не тестирую,описано по моему пиздец громоздко,про волатайл объяснить достаточно ято у потоков есть кеш и что волатайл говорит не кешировать shared значение,а там начали говорить что-то типо волатайл переменная это та что не делится регистрами потоковче за регистры? Хуй знает
>>3076829 >про волатайл объяснить достаточно ято у потоков есть кеш и что волатайл говорит не кешировать shared значение не только, это еще защита от оптимизаций перестановки порядка операций
>>3076358 >апи гейтвеем интегрирован? Такого не бывает? Не могу сказать что этого нет или это невозможно, но я не видел на практике (если мы об одном и том же)
>>3076892 Если не апдейтить версии то однажды возникнет ситуация что тебе надо проинтегрироваться с чем то или добавить новую фичу. Для этого надо будет подключать новые модные либы/фреймворки. Окажется что с твоей версией они все несовместимы и надо либо городить кучу костылей, либо самому писать какую-нибудь поебень уровня кафки.
Возникает серьезная проблема, что дешевле - делать новое с нуля или попытаться проапгрейдить все легаси в надежде что оно не развалится. Все это на фоне того что фича нужна через месяц, а апгрейдить/переписывать - год минимум.
Нормальных разрабов ковыряться в этом говне тоже найти не просто - откликнутся только вкатуны без опыта и потухшие скуфы.
>>3066497 (OP) Бля, посадили допиливать микросервис за скуфидоном, которого уволили на днях из-за старости (мне 22, кста). Этот долбаеб затащил копромонгу и спрэнг фримверк. Посмотрел как в вашем помойном спрэнге лепятся запросы и обомлел - сплошные Criteria.where("name").is("huitka"). Вы совсем там одебилели, лол? В помойной джаве не додумались как сделать ссылки на поля модели? А если поле поменяется с name на firstName? Пиздец вы конечно... Придется все переписать на Go, разумеется..
>>3077053 >Я правильно понимаю, что подключать классы динамически нельзя? Т.е. вся загрузка(подключение) классов происходит только в начале? Можно конечно же. Создаёшь инстанс URLClassLoader и у него findClass().
>>3077218 >Ну а как тот же хотсвап работает? Hot swap это про другое, это замена кода уже загруженного класса. При этом в памяти могут быть инстансы этого класса. Это фишка чисто для дебага.
Продолжаю делать REST API с юзерами банка. В Entity там есть поле с датой рождения (LocalDate). В контроллере добавил POST-метод для добавления клиента, но постоянно выдает ошибку 500 из-за этой даты. Я что только не пробовал, всякие аннотации добавлял к дате, класс конвертера сделал, но что-то все не то. Такая вот фигня: org.hibernate.PropertyValueException: not-null property references a null or transient value
>>3077287 Научись нормально вопросы формулировать. >>3077053 >загрузка(подключение) классов происходит только в начале? Так загрузка или замена классов?
>>3077411 Он ругается именно на birthDate. Мол, какое-то левое значение хотят туда положить. Через pgAdmin нормально запросы делаются, выходит, там LocalDate не преобразуется как надо.
>>3077370 >org.hibernate.PropertyValueException: not-null property references a null or transient value > >Может, я что-то упустил из виду? Ты читать не умеешь? Тебе хибер чистейшим английским пишет, что у тебя в поле которое помечено как не нул, находится тот самый нул.
>>3076901 >а апгрейдить/переписывать - год минимум. эт насколько же старым и хуёвым всё должно быть, необходимость апгрейда не отрицаю, но имхо лучше апгрейдиться "рывками" с одной LTS версии на другую
Где можно нищуку безвозмездно захостить микросервисный пет со всей ебалой как в тырпрайзе sping cloud, gateway, observability, webflux, validation, RabbitMQ? Все сук бизнес в РФ позакрывали. Ya cloud + Netlify для морды? Тяжело.
>>3076322 Да ладно. На хабре разве еще чето выпадает в тренды кроме заказухи, нейродерьма и обсасывания очередной анальной инициативы от РКН? Как будто бы всем уже давно похуй.
>>3077889 Так тут защищают 8 джаву. Она устарела на 3! лтса. Нормальные челики начали сейчас апгрейдиться с 17/11 на 21. Ну или в ближайшие полгодика начнут.
>>3078052 >>3078072 А на какую вируталку нужно расчитывать на то что сказал челик выше - Гейтвей, обсервабилити(графана, локи, темпо, прометеус), сервис дискавери, конфиг сервер, кролик, кейклок, минио. Ну и 5 сервисов с постгрями. И все это в микрокубере, 8 гигов оперативки хватит?
>>3078207 На прошлой галере перед сво была жава 8 просто потому что согласовали так в контракте с заказчиком. Все остальное апгрейдили по максимуму - а джэву было нельзя. Но это японская какая то контора была, так что мб для них это был катинг эдж в их вечном 2007.
>>3078207 Очень многие проекты до сих пор на жабе8 живут, просто потому что многое старые либы не работают на 11+. И таких на рынке РФ где-то половина.
Можно легко оценивать количество древнего легаси. Сколько жабы8, столько и легаси.
>>3074660 > зумеры точно такую же хуйню пишут, а чистые коды они осваивают по тиктокам. Вот этот прав. Взять среднестатистического скуфа, и среднестатистического зумера, то код у последнего будет гораздо большим говном, а чистый код для них это не код, который выполняет свою задачу, а код, который отвечает сотне мантр и проходит сапожно-анусный линтер, настроенный чтобы тимлид вася мог сказать на сосаче, что фича X и нинужна была до того, как её скопировали из джавы.
Сап, анонасы, есть следующая задачка: есть сервис, он по запросу проверяет есть ли нужные данные в постгресе и если нет, идет в другой сервис за данными и вставляет их. Как нормально синхронизировать вставку в бд, чтобы одни и те же данные не вставились дважды при двух одинаковых запросах? С Понятно, что можно навесить unique constraint и отловить его, это нормальное решение? И если появится необходимость сделать так, чтобы при двух одинаковых запросах мы только один раз сходили в сервис с данными, нормально ли будет вставить в бд пустые записи (в которых не будет ничего кроме unique полей) и потом обновить их?
Подскажите вкатуну нормальный и актуальный видеокурс по джаве. А то на ютабе или говно мамонта восьмилетнее или недореклама курсов от пориджей. По книге этой я заебусь учить язык, ну реально, там она вообще для дошколят наверное
>>3074660 >По мартину - обычно куча говноюнитов с моками которые нихуя не тестят, но их надо переписыватьь каждый раз при добавлении поля или мелком рефакторинге. Тесты ради тестов. Двачую. Терпеть не могу бесполезные юниты. В крудах это просто юзлесс, за редким исключением. Поднимаешь тестконтейнер и хуяришь нормальные тесты.
>>3074217 У меня скоро на работе созреет задача для которой как раз понадобиться UI. Типа локальный сервер синхронизатор кассы. Пока хз что там за системы, но жопой чую что лучше это сделать через UI типа Swing (неплохо знаю и свое время прогал) или на крайняк JavaFX (трогал палкой, не прогал). Старые приложения на Swing отлично пашут на современной джаве, так что должно взлететь. Все будет лучше чем задействовать даунов с фронта.
>>3081453 Не. Это клиент будет по сути. По пинку нужно закидывать заказы на сервер и если нет инета, то сохранять в небольшую локальную бд. При появлении инета все должно закатится на основной сервер.
>>3078680 Справедливости ради кому-то нужен допиленный stream api и синтаксический сахар, поэтому едут с 8 на 11, зато 17 говно без задач и разве что имеет смысл апаться на 21 если loom нужен, в остальном хз даже нахуя
>>3082256 >>3082367 Прошу пояснительную бригаду. В бородатые времена в тред пожаловал анон, который жаловался, что @ThreadSafe не делает метод/класс автоматически потокобезопасным, как тогда было с лист.адд = мама я долбоёб?
>>3082379 >которое реально применяется на практике и без этого прям сложно Это ты успешно проигнорировал, да? Рекорды уменьшают количества кода, которое нужно "написать" (что сейчас кмк никто не делает ручками, т.к. почти всё доступно из alt+insert) при этом сами рекорды не универсальны, у них дохуя минусов и они опять же если бы этого не было, ничего бы не поменялось Инстансоф по сути тупо сахар (да да с микрофичами), но и старый норм То что свичи качнули - сомнительно, но окэй Текстовые блоки - сахар
>>3082400 Как ты себе это представляешь? Многопоточность это не просто "работает с многими потоками", работать с многими потоками можно по-разному и это часто становится непосредственной логикой.
Я считаю вредительством использование старых версий того, что сохраняет обратную совместимость. Ты не просто в штаны себе серешь, ты ещё другим мешаешь потрогать новые фичи. Джава сохраняет совместимость не на 100% (вспомнить только тред стоп, царство небесное ему), но достаточно для того, чтобы не было смысла не обновляться.
>>3082387 В свежих версиях jooq используются sealed-классы, на версиях до 17ой не запустится. Спринг бут 3+ хз что использует, но тоже работает на 17+.
>>3083602 КвериДсл больше не поддерживается и может на порядок меньше. >>3083615 Для строгой типизации запросов, автодоения, обертки вокруг постгресовских функций, маппинг конфигурируется полегче чем роумапперы писать. Для средних размеров сервисов/микросервисов подходит очень неплохо. Если писать все на jdbctemplate, то нужно на каждый запрос писать дополнительную пачку тестов. Кроме тестов на бизнеслогику тесты на типы.
>>3083673 >маппинг конфигурируется полегче чем роумапперы писать так их не нужно писать, BeanPropertyRowMapper всё делает >Для строгой типизации запросов Это jdbctemplate делает >автодоения а? >обертки вокруг постгресовских функций не понял что тут имеется в виду
Вот и до меня добралось сокращение. Посему вопрос уважаемым олдам: есть ли на апворке и прочем фрилансе жизнь у бэкендеров, или проще навернуть какого нибудь реакта, и подаваться как фуллстак?
мимо нюфаг в /pr/, просьба отнестись с пониманием, если тут эти вопросы заезженные
Посоны, как бы вы готовились к интервью на синьора? Формально я синьор, даже выше, но никогда не проходил собеса на эту позицию. Есть ощущение, что в ближайший год буду менять место работы. Хочу поскакать по интервью, от средняков до крупняка типо всяких яндексов. Мой план таков, захуячить свой сервис петпроект на спирнге с самыми попсовыми технологиями, всякие кафки и тд. Параллельно почитать книги по ним. Спустя полгода пробовать интервью и уже корректироваться по темам, в которых плаваю. Я посмотрел всякие видосы с собесами и статьи, там вопросы, а точнее ответы пиздец конечно, ну типо я всё это пробовал, со всем сталкивался, и могу на пальцах объяснить примерно, но как чуваки там описывают кишки какой-нибудь жвм или потоков или спринга я охуеваю. Можно конечно возразить типо, а хуле петпроект, ты же работаешь. Ну да, но как правило задачи на работе не охватывают всю технологию, если я дохуя делал по какому-нибудь спринг секьюрити, то это не значит что я знаю все ключевые штуки, так как просо не сталкивался с ними. Чё думаете?
>>3084853 Не парься, собеседование это рандом. Совпадут ли твои знания со знаниями интервьюера. Совпадет ли твой опыт с опытом интервьюера.
Делай запись экрана, чекай те темы где лицо интервьюера скривиллсь при твоём ответе и так через N интервью найдешь новую позицию.
Подготовка в виде взятия всего самого нового и написания пет проекта считаю хорошей. Даже если не пойдешь искать работу, хоть посмотришь на новые технологии.
>>3085022 Стартап не такая уж невозможная тема. Берешь то что есть, находишь, что работает плохо в этом то что есть и делаешь без этой проблемы. Никто не говорит про зарабатывание денег, скорее про то, что можно сделать нечто полезное для общества и опционально прикрутить к этому монетизацию
>>3085022 >>3085009 Тогда накручивай. Люди блять тредуют какого-то супер особенного опыта с очередью, и меньшими чем обычно веб сервисами. Очевидно они толком не знают зачем это, просто затащили в проект потому что хайп.
Очень часто оказывается совершенно бесполезной, прям полным пиздецом ненужным. Но часто очень полезна и бывает что решает такие задачи с первого раза, от которых я сам охуеваю, и ещё за короткий срок. Повышение продуктивности оценю процентов на 50 минимум, если не в два раза.
>>3085349 А гпт инженер бесполезен. ГПТ с ним думает не о логике, а о том, как разбить задачу на несколько файлов, и половину файлов тупо ленится реализовывать. По итогу делает не больше чем за один обычный запрос, но в это входит также разделение на файлы, описание целей, и т.д.
>>3085382 Меня больше кишочки интересуют и минусы плюсы разных подходов,сомплитабл фьюче же не просто так появилось,оно исправляет недочёты обычных фьюч,вот это тоже хотелось бы узнать
>>3085150 >просто затащили в проект потому что хайп Кубер, кафка и микросервисы - это тренд последних как минимум лет 5-7. Хуй знает где вы там были и чем занимались, если у вас на проекте этого нет. Все по старинке пилите говномонолит, который стартует по 10 минут и ручками стартуете докер контейнер? Фу, блядь... куда вы лезете, скуфидоны..
>>3085033 >Берешь то что есть, находишь, что работает плохо в этом то что есть и делаешь без этой проблемы Ты же понимаешь, что подобные стартапы это результат работы многих людей на протяжении многих лет?
>Никто не говорит про зарабатывание денег, скорее про то, что можно сделать нечто полезное для общества Скопировать полноценный SaaS? Сириоусли? Типичная джавамартышка в штаны надрыщет уже на этапе проектирования архитектуры. Там дальше клепания крудов на хубирнейте и спринге мозг не работает
>опционально прикрутить к этому монетизацию Не актуально с недавних пор как виза и мастеркард ушли
>>3085452 > Ты же понимаешь, что подобные стартапы это результат работы многих людей на протяжении многих лет? Это зависит от того какую проблему решил решать > Не актуально с недавних пор как виза и мастеркард ушли Осталась карта МИР (только осознал иронию названия Российской банковской системы).
>>3085613 >Осталась карта МИР Зачем? Если ты так хочешь запилить SaaS и монетизировать его, то держать нужно серваки за рубежом, как и юрлицо и банковские счета. Какой-нибудь страйп тебе недоступен как и счет в зарубежном банке
>>3085622 Мне кажется мы говорим о разном. Я изначально сказал, что вместо пет-прректа модно сделать что-то, что решает реальные проблемы людей и опционально прикрутить к этому монетизацию.
Ты же как будто критикуешь идею создать второй чатгпт, второй спотифай, второй <огромный-проект-нейм>.
>>3085705 Где проверка на то, что parts может иметь size равный 0? Как минимум было бы неплохо добавить логирование состояния для дебаг версии.
Через цикл это делается следующим образом. Создаёшь список со списками строк, которые тебе нужно вставить. Итерируешь по этому списку, внутри интерируешь по списку строк и добавляешь элементы к parts элементам составляя нужные выражения.
Народ,помогите разобраться с двумя вопросами: 1) Когда мы делаем Runnable r = () -> sout("Hello"); мы по сути создаем анонимный класс. Анонимные классы сжираются сборшиком мусора сразу после того как мы перешли на следующую строчку или хуй пойми когда?
2)Когда мы делаем collection.stream.filter.findAny.map.collect у нас на каждую операцию делается по анонимному классу? То есть уюв моем примере будет создано 4 класса или я что-то не так понял?
>>3086116 > следующую строчку или хуй пойми когда В спеке нет чётких указаний когда сборщик мусора отработает, кроме как при выходе из программы. >Когда мы делаем collection.stream.filter.findAny.map.collect у нас на каждую операцию делается по анонимному классу? Чот я сомневаюсь, иначе это бы памяти жрало бы пиздец. Просто вызываются статические методы обрабатывающие поток.
>>3086136 Ты чё ебнутый на голову? Мне в середнячке в регионах платят 200+. У сбера мидлы 250+ имеют, сеньоры около 400 только туда хуй попадешь. Льготная ипотека не бонусы? Я рассматриваю сбер, только там собеседование ебанешься, а я кроме как просто попиздить за жизнь за 10 лет собесов не проходил других
>>3086116 > 2)Когда мы делаем collection.stream.filter.findAny.map.collect у нас на каждую операцию делается по анонимному классу? То есть уюв моем примере будет создано 4 класса или я что-то не так понял? Как минимум 5, чекай сурсы JDK.
>>3086167 Тот который лыбится, получает 260К в Сбере + еще сколько-то (наверное, +/-150) в ВТБ на миддле через галеру и отдает с этого бородатому половину по учебному договору.
Как проверить твой тейк, что синьор в Сбере получает 150-200К?
>>3086116 По-моему не совсем, раньше было так, но лямбды как-то по-другому работают
>On the surface, Java 8 lambdas seem to be not much more than syntactic sugar, but when you look below the surface, you see tons of interesting abstractions. For example the JVM spec treats a lambda quite differently from a "true" object, and while you can handle them as if they where objects, the JVM is not required to implement them as such.
>Simply said, if a lambda expression does not capture values, it will be a singleton that is re-used on every invocation
Смысл в том, что ты это используешь там, где аллокация одного двух объектов ничего не значит.
>>3086116 > Анонимные классы сжираются сборшиком мусора сразу после того как мы перешли на следующую строчку или хуй пойми когда? Не раньше момента, пока есть хотя бы одна хард ссылка на инстанс
>>3086116 >Анонимные классы сжираются сборщиком мусора сразу после того как мы перешли на следующую строчку или хуй пойми когда? Второе. Джаве, в ее великой мудрости, виднее когда удобно выносить мусор. Но как раз короткоживущие объекты джава собирает лучше всего, благодаря тому что она не удаляет кучу мусора, а просто копирует небольшую часть выживших объектов в новый регион памяти и зануляет старый регион.
>>3085388 >сомплитабл фьюче же не просто так появилось,оно исправляет недочёты обычных фьюч,вот это тоже хотелось бы узнать Конечно, там офигенный флюид апи
>>3086389 Десктоп конечно пишут, но это очень нишевая штука. Учить стоит если ты собрался в такое место, где это используют, если просто для общего стека, то нет. Да, жсп и жсф исполльзуют активно в корпоративном секторе, плюс это основы, разберешься с сервлетами и тд, это часть жаваЕЕ, определенно стоит.
>>3086136 Че за хуйню ты несёшь. В сбере каждый квартал премия плюс годовая. Я мидлом работаю за 260 на руки + плюс 1.5 оклада премия каждый квартал и годовая 2 оклада.
>>3086577 >>Вкатился Вкатился - это подписанный договор, а не оффер. Тебе все еще могут отказать по результатам проверки СБ или просто по надуманным причинам.
>>3086987 есть поисковый запрос типа "пентал гель" Нужно добавить звёздочек, чтобы оно захватывало все возможные варианты пентал гель пентал гель пентал гель пентал гель
>>3087004 БЛять, а зачем на части бить, почему нельзя обрамить звездочками, а если нужно пробелы, заменить тоже, то реплейсом? Я бы написал метод, который вхуячивает знаки, в него бы передавал знак который нужно вхуячить. Ну или вообще декоратор. Я сеньор если что.
>>3087004 Так чё сложного, количество слов можно выразить в двоичном коде, в цикле вызываешь функцию, передаешь исходную строку и счетчик, функция возвращает строку со звёздочками в тех местах в каком месте находится единичный разряд у текущего значения счётчика, и эта хуйня будет работать и на 2 и на 3 и на 5 и на 100 слов, как реализовать думой
>>3087011 *точнее от количества слов зависит сколько возможных вариантов может быть, это комбинаторика, 2 в степени х, где х это количество слов т.е. для 2х слов будет 4 варианта, для 4х слов 16 вариантов и так далее, вот и делаешь счётчик в цикле от 0 до 15, а дальше сам уже
>>3086577 Нихуя, у нас мидлы стольок получают, это мск? Нихуево джну 100+ насыпали, узнали бы наши джуны повесились бы Что за контора то? Большие кто-то типо яндекса?
>>3087029 Другой анон, у нас стажеры получают по 70 на руки где-то, как только переходят в штат на фуллтайм и становятся джунами, то 140-150 как раз насыпаем где-то. Но у нас на входе несколько секций с литкодом и кишочками. В мск меньше чем за 120к адекватных джунов не найти.
У нас есть, возрастом в 15 лет, мейнтейнится по сей день. Живучий, сука - пиздец: клиенты настолько к нему привыкли, что никакие ресты с вебмордами его не заменят. Наши порываются его на JavaFX хотя бы обновить, но куда там, это надо выкраивать просто несколько человекомесяцев, нихуя кроме этого не делать и вычищать 15летний легаси.
>Чот я сомневаюсь, иначе это бы памяти жрало бы пиздец.
А не надо сомневаться, надо проверять. Класс ReferencePipeline, имплементация Stream. Каждая операция - новый обьект, проверяй. Не анонимный разве что. И нет, памяти бы это не жрало что ппц - что твой вшивый десяток операций стрима по сравнению с мегабайтами данных коллекции, который стрим перелопатит.
>>3087199 Нет форич даже, а индексированный фор, потому что форич тоже срет итераторами. Но нужно без фанатизма и оптимизировать только там где есть в этом смысл
>>3087581 >Нет форич даже, а индексированный фор, потому что форич тоже срет итераторами. Сразу видно человека, который не смотрит доклады с конференций.
мимо даже не джун, а грязь. почему нужно использовать именно ide? контекст вроде как можно получить через lsp, автозапил проектов с мавеноградлом не нужен, т.к. программа будет оче маленькая и я сам напишу эти ссанные pom.xml файлы, дебаггером пользоваться вряд ли буду, т.к. опять таки оче маленькая программа. что там ещё может быть такого прям необходимого?
>>3087670 не нужно - не используй все что есть в ИДЕ можно получить и без ИДЕ, просто сама суть INTEGRATED DE это то что всё интегрировано между собой.
>>3087670 если программа очень маленькая - тебе и мавен нужен, джава программы из 1 файла можно запускать без предварительной компиляции, просто java Program.java и вперед
>>3087670 Да много чего: - продвинутый рефакторинг, типа добавить параметр в интерфейс и во все реализации, сгенерировать case на все ветви enum, в общем много чего - продвинутая навигация по коду, в месте вызова интерфейса перейти к реализации, поиск мест чтения/записи переменной включая get/set - продвитутое автодополнение. в конфигах подсказывать имена классов и методов, в тексте запросов подсказывать имена таблиц и полей - продвинутая подсветка ошибок, не сконфигурил бин - получай ошибку вайринга, написал мето findByLaja() получай ошибку
>>3086612 25, на момент вката. Сейчас 26. Опыт не крутил . >>3086775 Не жалел никогда. Лучшее, что я мог сделать за свои 26 лет. >>3087029 Сбербанк через галеру. >>3087355 Курсы яндекса. Откликался >>3087363 Через платформу "пульс" сбера.
Сап. Я вообще фронтендер, но мы на работе разрабатываем в идее, потому что там всякие штуки для запускания сервака через неё. В общем, такой вопрос, не подскажете, где спиздить Идею ультимейт по-новее? А то у меня 22.1, в ней не работают почему-то вьюжс шаблоны. Ну в смысле иде не видит переменные из жс файла в шаблоне (там древний вью и шаблоны в отдельном файле). Соответственно нет всякого автодополнения итд. Ну вот, я подумал мб новая версия поможет, но на рутрекере не нашел, мб вы подскажете.
>>3087770 Если тебе не нужно редактировать код бекенда, то лучше попроси чтобы тебе заклинание для терминала написали, для запуска иде не нужна Где спиздить хз, я покупаю лицензию
Как лучше всего шарить секреты и кредентиалы в компании? К примеру у девопса на его рабочем месте есть пароли, ssh ключи, которые используются в плейбуках. Приходит новый девопс. Ему нужно засетапить рабочее место, соответственно он должен плейбуки с теми же секретами запускать.
>>3087752 > не жалел А я вот не знаю. Вкатился в 26 лет. Сейчас зп 350 к. Но когда смотрю на то что делаю понимаю что это никогда не даст мне ни финансовой свободы, ни настоящего удовлетворения от работы.
>>3087024 Там анкета какая то упоминается в тексте, мне так подсовывали анкету в которых надо было заполнить (обязательные поля) контакты с прошлых мест, список имущества (квартиры, машины), наличие кредитов и телефон и ФИО родителей. Ну и при этом эти данные еще имеют право шарить по компания-партнерам.
>>3087396 Офер можно отозвать в любой момент. Кидают офер - говорят выходи на работу через неделю, в это время СБ пробивают. Если что то находят - то получаешь сообщением от херки "мням пук, проект отменили, оффер отзываем, в общем мы вам перезвоним". А если подписал договор - то уже только увольнять, а это гемор. Даже с испыталки не так просто пнуть как кажется, если чел принципиальный и судится готов.
>>3087799 >>никогда не даст мне ни финансовой свободы, ни настоящего удовлетворения от работы. А если б кассиром в пяторочке работал, было б больше свободы и удовольствия? Или может ты кабанистый и потянешь свою точку с молоком держать? Какие альтернативы, если тебе уже не 18? (когда выбираешь вуз)
>>3087829 В этом и проблема, что альтернативы сейчас когда мне за 30 уже нет. А так можно было бы пойти в науку. Денег меньше, зато хоть кайфует, что двигаешь человечество вперёд и видишь смысл в своей работе.
А с деньгами как оказалось вариантов вообще нет. Либеральная пропаганда оказалось лживой и единственные кому светит успех это или богачам по рождению или просто удачливым персонажам. Никакого внятного пути для обычного человека без родителей миллионеров и без кучи удачливых совпадений пути к богатству нет.
>>3087799 Хз, я кайфую от этого крудошлепства. До этого я работал юристом и просто заебался скакать кабаном, а сейчас сижу кнопки давлю и документацию читаю. Просто кайф. Жалею, что 6 лет отпахал в юридическом вузе.
>>3088037 Я раньше в НИИ работал, тоже кайфовал, а потом решил отправится за длинным рублем в ойти. В итоге получил, то что хотел, но как-то теперь тоскливо
нативы, многопоточность и всё-всё-всё
Аноним16/03/24 Суб 13:11:56№3088058488
1) Если в нативе malloc'ом взять память, а потом её не отдать, то по завершению работы натива память останется за процессом виртуалки или освободится сама? 2) Если внутри натива сделать второй поток и первым потоком завершить натив, второй поток завершится или нет? 3) Правильно ли я понимаю, что при вызове натива(будь то dll или so) не создаётся новый процесс?
>>3087799 Ну иди поработай за зарплату х0.1 от текущей на заводе, на складе или за кассой в магазине как это делает большинство населения страны. Охуеешь быстро, а на совсем гречневых работах охуеешь от тупости коллег
>>3087781 Ну у нас все её используют, там в корпоративной вики инструкции по её настройке, типа там линтеров всяких, плагинов итд. Да и я привык уже. Ну и иногда мб приходится посмотреть бэк. Я ничего не понимаю конечно, но могу там тимлиду скинуть. Или вот вчера у нас новая тяночка-жавист че-то там запушила и приложение не запускалось и идея мне сразу открывала файл, в котором ошибка. Ну это был тест какой-то, я его просто закомментировал весь и стало работать)
Так-то я бы тоже купил, если бы мог, но я ещё стажер, вдруг не возьмут. У нас вся компания на спижженых.
>>3088055 Да, перспектив в обозримом будущем я не вижу >>3088063 Я там работал и официантом и грузчиком. Понятное дело, что низкоквалифицированная работа это самое дно и туда никто не стремится
>>3088058 >1) Если в нативе malloc'ом взять память, а потом её не отдать, то по завершению работы натива память останется за процессом виртуалки или освободится сама? Останется. Когда работал с JACOB и не вызывал release, так через час работы память росла до нескольких гигабайт
>2) Если внутри натива сделать второй поток и первым потоком завершить натив, второй поток завершится или нет? Да, только надо учитывать что Thread.stop() давно не работает и нужно использовать нативные методы.
>3) Правильно ли я понимаю, что при вызове натива(будь то dll или so) не создаётся новый процесс? Не создается.
>>3088288 >тред стоп не работает, нужны нативные методы Это какие? Десяток тредов назад было большое нытьё по поводу отключения тред стопа, так тогда и не нашли замены.
>>3088654 Это скорее способ расписаться в собственной не компетенции. Если на мой вопрос тимлид отвечает "а сам как думаешь?", то я хочу его послать нахуй, так как если бы я знал правильный ответ, то не спал бы спрашивать, а сразу сделал бы.
>>3088876 >Вообще, если надо ходить к кому-то по техническим вопросам, а не организационным, то это говорит о том, что человек джун.
Двачую. Только джуны могут позволить себе признаться, что они не успевают до вчера исправить очередную шизофреническую хуйню, которую написал очередной пиздлявый дегенерат или срочно по горячим следам на проде разобраться в легаси залупе, автор которой сдох, уволился и сжег документацию или наоборот в очередной новомодной еще даже не production ready зумерской технологии, которую затащил ебланчик бойфренд тимлида. Человек, который умеет наебывать, перекладывать ответственность, вбивать дикие костыли, лишь бы получить результат, обходить код ревью это минимум миддл.
>До сих пор помню вопросы про стримы от "сеньора". Да какие там нахуй стримы. Про такой детский сад даже никто не заикается. Ты в менеджмент ушел 5 лет назад что ли? Хорош видосики для даунов смотреть.
>>3089009 > Двачую. Только джуны могут позволить себе признаться, что они не успевают до вчера исправить очередную шизофреническую хуйню, которую написал очередной пиздлявый дегенерат или срочно по горячим следам на проде разобраться в легаси залупе, автор которой сдох, уволился и сжег документацию или наоборот в очередной новомодной еще даже не production ready зумерской технологии, которую затащил ебланчик бойфренд тимлида. И где здесь технические вопросы? Ты указал примеры организационных вопросов про которые я и сказал, что нужно ходить к руководству. > Человек, который умеет наебывать, перекладывать ответственность, вбивать дикие костыли, лишь бы получить результат, обходить код ревью это минимум миддл. Какую же ты хуйню несёшь. > Да какие там нахуй стримы. Про такой детский сад даже никто не заикается. Ты в менеджмент ушел 5 лет назад что ли? Хорош видосики для даунов смотреть. Я не в менеджменте и мой новый (уже не очень новый) коллега с зарплатой под полмиллиона действительно пришел ко мне и спрашивал как работают стримы.
>>3088966 >А сам как думаешь? >ФУУУ, ВЕДЁШЬ СЕБЯ КАК МУДАК! >РРРРРЯ, Я ЗОПРИЩАЮ ТИБЕ БИСПАКОИТЬ МАЮ ПИРСОНУ ЕСЛИ ПА ТАЙМЕРУ 15 МИНУТ НИ ГУГЛИЛ! >НУ ВОТ ЭТ ПА НАШЕМУ, ПА РАСЕЙСКИ)
>>3089043 >И где здесь технические вопросы? Ты указал примеры организационных вопросов про которые я и сказал, что нужно ходить к руководству
Это технические вопросы, как мне кажется. Ну то есть, чтобы понять, как работает легаси хуита, написанная 15 лет назад, надо сесть и вникнуть в код основательно. Если не понятно что происходит, то значит проблемы с пониманием либо технической части, либо бизнес-логики.
>>3088876 >Вообще, если надо ходить к кому-то по техническим вопросам, а не организационным, то это говорит о том, что человек джун
Довольно категоричное утверждение. Ну, если у вас есть хорошая документация, хорошо проработанные аналитиком задачи, где ясно и понятно что и как делать, в какой последовательности, а архитектор чуть ли не сам все классы нарисовал, то да, наверное мидл в такой ситуации должен сам сделать работающий вариант по задаче из тикета.
Но если на проекте нет аналитиков или архитекторов, нет документации, а сама задача представляет собой одно-два бессвязных предложений, то там обязательно появятся подводные камни. Сам неоднократно сталкиваюсь с таким, что задача, оцененная в 1-2 сторипоинта требует несколько часов или даже дней детального изучения слоя древнего легаси, которое вообще никак не документировано, а люди, его писавшие, уже давно уволились. Разумеется после этого у меня возникают вопросы уровня "Как это сделать побыстрее? Как это работает? Не лучше ли сделать по-другому?" итд. А то иначе может получиться, что раз ты не джун, то и спрашивать такого рода вопросы не должен. А значит бери и делай как пришло в голову, даже если твое решение требует внесения изменений сразу в десяток сервисов, лол.
>>3089875 Если вопрос по бизнес логике это одно дело, но если вопрос уровня, а что такое 16 бит кодировка при записывании звука, то какого черта мне нужно это объяснять? Я похож на гугл? Это общеизвестная информация и если ты её видишь в легаси, то будь добр прочитать страницу в википедии.
Вопрос же, почему мы её используем в проекте, а не какой-нибудь ogg это правильный вопрос, но это уже вопрос как раз про бизнес-логику.
Это не выдуманный пример. Ко мне пришел новый разраб и мозги выед вопросами про каждый параметр звукового кодека, потратив своё и моё рабочее время вместо того, чтобы потратить только своё рабочее время.
>>3089889 Обычно дают первые задачи такие, чтобы не пришлось менять код в 10 сервисов, а просто ознакомиться с проектом. На этапе код-ревью ревьюер уже объяснит почему вот так сделать не стоить потому и потому.
Я твою точку зрения понимаю, но объяснять как работает cmake потому что он используется в легаси проекта я не буду. Потому что я тупо перескажу его документацию. А ты всё равно ничего не поймёшь достаточно, чтобы писать на нем правильно, так как не набил шишек. И здесь лучший подход с точки зрения время затрат: загуглить доку, запилить хеллоу ворлд на неизвестной технологии, имплементировать решение как понял, получить по шапке во время код-ревью, запомнить-повторить.
Приходить же и просить, чтобы вместо тебя написали cmake файл, потому что ты не знаешь как это сделать, а твой коллега же точно это сделает быстрее, а ты посмотришь на результат со стороны и чему-то научишься. Это, блять, буквально просить вместо тебя выполнить задачу, тупо расписавшись в том, что до уровня миддла (самостоятельно можешь решить техническую задачу) ты не тянешь.
И ко мне коллега с такими реквестами приходил. Я не знаю, я не умею, мне тяжело, я не могу, напиши ты. Заебись бро, отдавай свою зепку и напишу так и быть. Что такое? Не хочешь отдавать зепку? А я не хочу делать за бесплатно чужую работу.
>>3090067 Примерно понял твою точку зрения. Но сам с таким не сталкивался. Сейчас пишу на питухоне и го. И вроде ни у кого из команды особо не возникает про язык программирования и сопутствующие инструменты. Ну то есть людям не нужно объяснять, как работают условные каналы в го или декораторы в питоне. Ну или как proto спеки писать. Вроде даже стажеры кое-как сами разбираются с таким без большой помощи.
Основные сложности - это именно распутать весь клубок легаси помоев и понять что от тебя хотел автор задачи. И впилить изменения так, чтобы весь наш колосс не сложился как карточный домик. И тут сильно играет отстутствие нормальных документации, тестов, отдельных тестировщиков, у которых будут внятно описанные сценарии итд. Большие риски, что можно уронить прод, а это финансовые потери для конторы, за которые ебут конкретно.
Думаю, что человеку, который почему-то стал сеньором и не может почитать доку по стримы в джаве, справляться со сложностями более высокого уровня будет очень сложно. К вам точно мидлы-сеньоры настоящие приходят, а не волки или вкатуны по курсам с фейковым опытом?
>>3090188 > Ну то есть людям не нужно объяснять, как работают условные каналы в го или декораторы в питоне. Ну или как proto спеки писать. Вроде даже стажеры кое-как сами разбираются с таким без большой помощи. Да так и должно быть. > Основные сложности - это именно распутать весь клубок легаси помоев и понять что от тебя хотел автор задачи. И впилить изменения так, чтобы весь наш колосс не сложился как карточный домик. У нас обязательно пишут accepting criterias (AC) к задаче. И разрабы требуют вписывать менеджмент/тимлида все дополнительные критерии, которые появляются в процессе. Это заработало не сразу, но сейчас все привыкли. Делаешь ровно то, что и написано в AC, ни больше не меньше. Если кто-то чем-то недоволен, указываешь на AC и говоришь, что как задачу описали так она и сделана. Плюс тестировщикам не нужно больше ничего объяснять, так как AC достаточно подробно описывают все изменения. > И тут сильно играет отстутствие нормальных документации, тестов, отдельных тестировщиков, у которых будут внятно описанные сценарии итд. Большие риски, что можно уронить прод, а это финансовые потери для конторы, за которые ебут конкретно. Проекты без тестов это буквально минное поле. Любое изменение это шанс того что всё взорвется и это станет известно только на проде. Хотя бы должно быть мануальное end-to-end тестирование если нет возможности писать юнит и интеграционные тесты. Нанять студента на четверть ставки или контрактную работу это не дорого. > К вам точно мидлы-сеньоры настоящие приходят, а не волки или вкатуны по курсам с фейковым опытом? Да это один такой коллега попался. Повезло + повезло на собеседовании, а потом всем было некогда всерьез заниматься вопросом соответствует он текущей позиции или нет из-за закрытия одно из главных офисов в России. И вот пришлось с тимлидом ему объяснять, что другие разработчики тоже работают и вообще его брали на позицию сеньора, что должно было минимизировать оверхед для команды, а не увеличить
>Приходить же и просить, чтобы вместо тебя написали cmake файл, потому что ты не знаешь как это сделать, а твой коллега же точно это сделает быстрее, а ты посмотришь на результат со стороны и чему-то научишься. У меня в галере был подход такой, что если я знаю и мне 10 минут показать как пользоваться технологией, а коллеге надо для этого в доке копаться часа 2, то я обязан по первой просьбе показать, особенно если сроки горят. И ко мне, джуну+ подходили сеньки и спрашивали всякие вещи по их таскам. Был один чел, тоже джун+, который примерно как ты рассуждал и отфутболивал коллег. Его прилюдно на общем созвоне джависткой команды руководитель направления попустил и сказал, что нельзя себя так вести. Я не знаю кто прав, пока не сформировал свое мнение до конца. Но там логика понятнее - экономия времени разрабов для проекта. А у тебя логика от какого то "настоящего программиста" исходит, как мне кажется.
>>3090278 И чем твоё объяснение было лучше того, которое он за 10 минут нашел бы в гугле в бесконечных гайдах с примерами кода? > экономия времени Мой опыт говорит об обратном. Я трачу время на то, чтобы подготовить полный ответ на вопрос. Коллега тратит время на то, чтобы пить чай в ожидании моего ответа. Происходит подмена работы гугла ценной работы инженера и в конце спринта куча не закрытых тасок, потому что время было затрачено на объяснение как работает условный Retrofit или что такое Sealed interfaces. > руководитель публично попустил И нахуя работать в вашей компании? То есть вместо того, чтобы решить проблему никого не оскорбляя, не опуская, а спокойно переговорив один на один, донести аргументировано свою позицию. Ваш "руководитель" решил вспомнить старые добрые школьные годы и немного побулить прилюдно джунов.
Я бы пошел искать работу в тот же день. Работать с долбоебом начальником себе дороже.
У питухона есть киллер-фича: возможность писать маленькие скрипты, работающие с файлами лежащими рядом и запускать их. В джаве надо создавать ебучий громадный проект на мавене с огромным помником, копипастить туда основные плагины для мавена, репозитории и зависимости, потом билдить это, перестаскивать результат от туда где собиралось в нужную папку, и запускать отдельным батником, потому что команда запуска тоже огромная.
Есть какие-то проекты чтобы в джаве тоже так всё просто было? Не языкосрач, я просто хочу удоство запуска питухона вместе с синтаксисом и всеми остальными преимуществами джавы.
Кто-нибудь работает в жид-брейнс Intellij идее с новым UI? Все с ним вроде норм, но как там сделать несколько строк со вкладками, как можно было в старом интерфейсе?
>>3090582 Если бы джава с одной только стандартной библиотекой была функциональной и подключение библиотек не было жизненной необходимостью, можно было бы воспользоваться стандартным сурс лаунчером.
Но вообще - не понимаю причину твоей тряски. Ну не для скриптинга язык Джава, и че? Си-плюсы, Rust, Go, Шарпы и прочие-подобные тоже так не умеют, ибо нахуя, когда есть 100500 bashей, пхытон и прочий пёрл?>>3090370
>>3090599 > Ну не для скриптинга язык Джава, и че? Ну так проблем-то в добавлении этого нет, почти всё уже необходимое уже сделано сурс код лаунчером, неявно названным мейном и мавеном (как экосистемой).
Придумать какой-нибудь формат .jsc, в котором будет писаться обычный джава-код + мавеновые зависимости для запуска программы. Основные бойлерплейт плагины пусть будут включены искаропки. Вот примерно что я ждал когда спрашивал про какой-то проект.
script.jsc
rep "zalupa.com/repository" dep "org.example:govnoliba:1.4.88" dep "org.hui:drugaya:1.2.3"
>Придумать какой-нибудь формат .jsc, в котором будет писаться обычный джава-код
Ну вон BeanShell как пример, разве что с зависимостями там не так тривиально как ты просишь. И наверняка есть еще поделки подобного рода, правда мало распространенные. Все таки что ни говори а пхытон ввиду своей лаконичности для скриптинга лучше подходит, стоит отдать тут ему должное.
>>3090717 Ниче сложного, мавеном по помнику в одну команду делается (dependency:build-classpath если мне память не изменяет). И предвосхищая претензии к мавену - в пхытоне ты тоже сначала pip'ом зависимости выкачиваешь прежде чем их в скриптах использовать.
>>3090735 Ещё раз повторяю, в питухоне тебе ничего не надо качать и всё нужное уже положено в стандартную библиотеку. И если продолжать сравнение, то пип не в проект ставит, а на твою машину, что для скриптов лучше.
>>3090370 Да, с 11й джавы ты можешь запускать .java файлы без предварительной компиляции, просто java Program.java и всё Получается джава теперь киллер?
Кто-нибудь пользуется комьюнити идеей 23 версией на работе? У нас нет центра лицензий,а колхозить ключи из инета заебалокряки с рутрекера ставить нельзя . Сильно она в плюшках уступает ультимейт версии?
>>3092855 Меня забавляет, как всегда и вне зависимости от ситуации скуфц не упустит возможности прочитать историческую справку про великие обновы и про то, как джава с 8 до <вставить цифру> развивалась.
Поясните по кафке. Допустим у нас топик с тремя партициями и фактором репликации 2. Верно ли я рассуждаю?Когда мы отправляем сообщение оно летит на лидер брокер(второй в это время целиком работает как фоловер?),далее партишионер выбирает в какую партицию писать,потом выбирается лидер партиция и сообщение летит в нее. Вот на нашем примере,мы отправили сообщение,оно прилетело на лидер брокер,потом на лидер партицию. Где в данной цепочке происходит распределение по партициям? Кажется как будто всегда все летит на лидера,а остальные подсасывают себе данные
>>3092922 Бля,я прозрел,при двух репликах топика с тремя партициями,у нас у каждой партиции есть лидер и реплика. Получается три лидера и три реплики. Партишионер выбирает в какую из трех партиций писать,а дальше выбирается лидер этой партиции и пишется в нее. Ого,ну и дела
Не знаю где спросить, здесь сидят адекваты, так что спрошу здесь.
Есть несколько документаций в html формате. Хочется их нормально ревьюить в гитлабе не читая сырой код, а уже смотря рендер. Фаст чектнг показал, что можно использовать gitlab pages, но тогда будет рендериться вся документация, а нужно только те страницы, что изменились + какая-то подсветка тех строк что изменились.
Есть какое-то решение? Говнокодить велосипеды не хочется, но ничего нормального найти не получается
>>3092595 Палю тебе ананасик годный лайфак для алтимейт идеи: находишь любой абсолютно действующий ключ, который по времени ещё соответственно не просрочился, при активации ключа слева снизу есть кнопка с проксятней, там забиваешь ручками локалхост какой-нибудь и активируешь через код - всё работает (наверное будет даже работать если на компе стоит ложная дата, но это тестить надо)
>>3092595 Забыл дописать к "жидхаку", что ключи можно найти на гитхабах всяких и то что я на работе использую алтимейт, а коллега коммунити, различается довольно минорно, из такого что мне нравится это более быстрая навигация по коду (имплементациям например), но всё это прям реально мелочи
>>3090370 Есть это в жабе, как >>3091496 Написал там всё невероятно тривиально, указываешь что запускать и директорию где либы лежат используемые и всё запустится спокойно, при этом может быть не один класс, а сколько угодно, при этом они автоматом подтянутся при запуске главного
>>3093131 Я не просто так написал про проксятню, напишу ещё раз, слева снизу на формочке для ввода лицушного ключа можно открыть указатель прокси, выбрать ручной ввод и в поле адреса прописать локалхост, после чего для доп проверки лицензии жидбрейнс попробует обратиться к серверу за доп подтверждением, а попадёт на твой локал хост получив за щёку, после чего у идеи или любой другой хуйни вопрос насчёт лицензии отпадает и она доверяет твоей, даже если она факапнута проверкой или отозвана, плагины вручную из маркетплейса придётся ставить, но это мелочи жизни
>>3093147 Бля, а вот тут хз, у нас на работе, как собсна и должно быть во всех нормальных работах после 24.02.2022 своя репка и оттуда вроде как нормально качает (но по факту кроме лени ничего не мешает в консольке мавен собрать)