• Как быть с авторизацией в WebClient Spring boot?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Витя, ну такой элементарный вопрос можно было и загуглить.
    Basic access authentication :
    “In basic HTTP authentication, a request contains a header field in the form of Authorization: Basic , where credentials is the Base64 encoding of ID and password joined by a single colon : “
    Т.е. нужно добавить заголовок: Authorization: Basic <credentials>, где credentials - это логин и пароль, зашифрованные в base64 и разделённые двоеточием.
    Ответ написан
    Комментировать
  • Путь до junior developer (java/kotlin). Сколько времени потребуется?

    binocla
    @binocla
    Software Designer | Java
    Привет!
    Как уже верно подметили другие, все очень ситуативно.
    Могу сказать только о себе и своей точке зрения.

    Некоторое время был репетитором по Java и заметил несколько основных (и вполне очевидных) моментов:
    1. Кто-то понимает определенные темы быстрее, кто-то наоборот. Определить это можно только де-факто
    2. Кому-то не нужны глубокие знания. И это уже дело принципа - насколько глубоко копать


    Касательно моей истории - язык я начал изучать еще в школе, однако длительное время это ни к чему не приводило (в том числе из-за отсутствия дисциплины в этом деле). В какой-то момент после перегораний, смен интересов и окружающих факторов - я загорелся. Горю и до сих пор. Если вы полюбите тернистый путь, который вам предстоит проходить постоянно и сконцентрируетесь не на "надо пройти эти темы, потому что хочу пройти собес", а на "хочу пройти эти темы, потому что это что-то интересное и новое для меня", то думаю, что сможете с комфортом попасть в индустрию.

    Комментатор выше привел хороший список литературы - однозначно одобряю. Советую со временем смотреть различные конференции (Джокер, Джуг.ru etc.). Касательно курсов по типу Скиллбокс'ов и прочих отношусь отрицательно. В некоторых вакансиях даже строго указано, что такие курсы не являются гарантом/плюсом при прохождении собеседования. Курсы со степика, курсеры и других ресурсов зачастую более структурированы и интереснее.

    И еще один момент, хорошо, если вы владеете английским языком на уровне чтения документации и просмотра туториалов, а если нет - советую подтягивать его как можно быстрее.

    Удачи!
    Ответ написан
    1 комментарий
  • Путь до junior developer (java/kotlin). Сколько времени потребуется?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    В среднем обучение первому языку с нуля занимает от полугода до года. Но есть очень много тех, кто вообще не справился, даже потратив существенно больше времени.
    Ответ написан
    Комментировать
  • Путь до junior developer (java/kotlin). Сколько времени потребуется?

    @DDDenis
    Лично мне очень трудно дается самостоятельное изучение языков, в частности Java/Kotlin . И учебники покупал и курсы типа JavaRush пробовал, ютуб конечно-же смотрел и все не то. Ментор нужен! Я остановился на платных курсах в университетах, так хоть начало и конец программы обучения проглядывается, а то сам по себе учил, что-то пробовал писать - этому нет конца и края. Из последнего понравился курс по Kotlin на openedu.ru . Ну и курсы очные в институтах самое то! Там и основы языка и практика и проект маломальский в портфолио, сертификат конечно-же. Без документов трудно работу найти, если несколько лет не пишешь на 100500 языках 100500 проектов (ну в общем если ты не хакер с пеленок) - самый верный путь - путь в институт. Не обязательно на вышку, заставки практически каждый технический курсы проводит. Вот я несколько лет плутал. Только язык выбирал несколько месяцев, потом бесконечные торги с выбором где учиться (всякие скиллфактори и прочие атаковали). Внутренние курсы Oracle норм, но в енглише не силен и тоже перегорел в очередной раз. Из последних выбирал между Специалист.ру и МГТУ Баумана, собственно на Бауманке остановился, если уж учиться программированию всерьез, то не у Васи в подъезде. Full course BroCode in YouTube тоже норм. Начинай писать проект в ходе учебы и на гитхабе обновляй его, со временем он и станет твоим портфолио. Ну наверное так это работает. Посмотри в сторону VR/AR технологий. Я с языком определился, с местом обучения определился, а что хочу получить по итогу не решил. То-ли это игра, то-ли это сайт, то-ли корпоративное приложение, то-ли пульт для стиральной машины)))
    Ответ написан
    Комментировать
  • Как правильно поступить в данной ситуации наследования от GenericInterface?

    @Akela_wolf
    Extreme Programmer
    Интерфейс не должен решать за потребителя - что используется, что не используется. Поэтому вариантов тут на самом деле такие:
    1. Убрать. Вполне нормальный вариант, если это просто общая часть специализированных DAO.
    2. Реализовать (используется - не используется это неважно)
    3. Дополнить его параметрами, позволяющими потребителю решать что он хочет получить - конкретную страницу, весь список, задавать опции сортировки и т.д., то есть убрать необходимость в специализированных методах.
    Ответ написан
    Комментировать
  • Как разделить строку java?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Метод split принимает регулярно выражение, соответственно можно написать, что разбивать нужно по одному или более пробелу someString.split("\\s+"), либо разбить по одному и отфильтровать пустые строки из возвращённого массива.
    Ответ написан
    Комментировать
  • Почему нельзя вычесть переменную внутри while?

    @Akela_wolf
    Extreme Programmer
    Потому что компьютер делает то что вы ему сказали, а не то что вы от него хотите :)

    Пусть account = 100
    тогда, если x=10
    account = 100 + 10 = 110

    затем, если x = -5
    account = 110 - (-5) = ?
    Ответ написан
    Комментировать
  • Изучаю java 3 й месяц, прошу помочь советом куда двигаться и можно ли начать искать стажировки или пока рано?

    Jacen11
    @Jacen11
    а я действительно учу то ,что мне надо?"
    ну это надо ваши мысли прочитать, нужное вы учите или нет.
    Судя по тому что написали все ок, а как оно на самом деле никак не сказать без личного общения

    можно(нужно) ли начать искать стажировки
    пока не начнешь сказать нельзя. Как раз во время поисков и станет ясно какие пробелы есть в подготовке

    Вообще вряд ли вы учите что то бесполезное, даже если это старое говно мамонта, зато потом поймете почему оно такое отстойное и почему используют другое. Это важно знать что, почему и где использовать.
    Ответ написан
    Комментировать
  • Как вывести значение ключа зная значение value в hashmap Java?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    var stringIntegerMap = Map.of("1", 1,
                    "2", 2,
                    "3", 3);
    
            var max = stringIntegerMap.entrySet().stream()
                    .max(Map.Entry.comparingByValue())
                    .orElseThrow();
    
            System.out.println(max.getKey());
            System.out.println(max.getValue());
    Ответ написан
    3 комментария
  • Этот код является ООП?

    Jacen11
    @Jacen11
    Этот код является ООП?
    да, но это не ваша заслуга, просто язык объектно ориентированный и заставляет принципы ооп использовать

    очень много неточностей, ООП лучше на практике осваивать, или попробовать описать реальные объекты через программирование. Например уточек. Какие они есть, что умеют. А если уточка резиновая? И тд
    Ответ написан
    Комментировать
  • Какие технологии использовать в архитектуре для домашнего сервера?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    HTTP? Всё выпускать наружу через отдельный сервис типа нгинкса/ингресса, там же терминировать шифрование и выпуск сертификатов. Как сервисы будут общаться между собой локально - непринципиально.
    Ответ написан
    Комментировать
  • Этот код является ООП?

    vabka
    @vabka
    Токсичный шарпист
    Точно могу сказать, что код мусор, с таким неймингом.

    По какому принципу тут вообще код разделён?
    Ответ написан
    Комментировать
  • Как разделить строку определенным образом?

    @dodo512
    Pattern pattern = Pattern.compile("от ([0-9 ]+) до ([0-9 ]*[0-9])");
    Matcher matcher = pattern.matcher("от 124 871 до 252 676 уе");
    
    if (matcher.find()) {
        System.out.println(matcher.group(1));
        System.out.println(matcher.group(2));
    }
    Ответ написан
    Комментировать
  • Как узнать куда посылаются POST/GET запросы в Kotlin Android приложении?

    @Araya
    Поставить сниффер аля Charles и посмотреть трафик
    Ответ написан
    Комментировать
  • Как взять информацию на Jwt token?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я так понимаю, что есть желание вытащить информацию из токена на клиентской стороне.
    Если это так, то подавите в зародыше эту глупость!
    Вытащить конечно же можно, причем очень легко, это простой json.
    Вот только токены не предназначены для вытаскивания инфы на стороне клиента, они предназначены для "предъявления" серверной стороне. А вот серверная сторона должна заглядывать в токен ровно на свое усмотрение. Клиенту, в общем случае должно быть все равно, что в токене, как он записан и в каком он формате.

    Постараюсь объяснить. Представим, что я разрабатываю некий зоопарк сервисов и решил использовать для авторизации JWT. И с какой-то момент решил для своих нужд пробрасывать в токен не имя пользователя, а ШВ из базы (ну или наоборот, не суть). В результате, содержимое токена у меня может меняться на протяжении проекта раз 20, а то и 30, ну кроме стандартных полей.
    Ответ написан
    Комментировать
  • Как описать в спецификации OpenApi поле DTO, которое является объектом, который лежит в другом пакете (не в DTO)?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Когда нужно описать поле, <...>, то пишу так:

    Если вы руками описываете, то руками и опишите модель вашу (статус ваш), и укажите ее через $ref

    schemas:
         UserDto:
              type: object
              properties:
              status:
              $ref: '#/components/schemas/StatusModel'
    
         StatusModel: ~


    Для yaml файла не важно название объектов и их иерархия/слои в коде — он работает в рамках своего стандарта и своей иерархии
    Ответ написан
    3 комментария
  • Что позволяет отобразить типы данных автоматически?

    @lomeat
    абстрактный ленивый прокрастинатор
    Это вопрос не по реакту, а по WebStorm. И по-моему такое поведение редактора по умолчанию. А вообще: https://www.jetbrains.com/help/webstorm/viewing-me...
    Ответ написан
    2 комментария
  • Ковариантность возвращаемых типов в Javа, я правильно понял суть?

    @Mercury13
    Программист на «си с крестами» и не только
    Ковариантность начинается, когда мы делаем class BuildCircle extends BuildShape.
    (Лучше BuildShape оформить как интерфейс, а не как класс, но шут с ним.)

    Ковариантность связана с принципом подстановки Лисков: чтобы потомок вписывался в контракт, установленный предком, он может ужесточать требования к себе (скажем, выдавать более узкий тип) и ослаблять требования к другим (скажем, принимать поток реального времени вроде консоли/сокета — а не только файл, который знает себе длину и позволяет перемотку).

    Вот это «выдавать более узкий тип, чем полагает предок» — и есть ковариантность.

    Обратное — принимать поток реального времени, а не только файл — называется контравариантность. Насколько мне известно, в Java на уровне языка её нет, но какие-то части ухитряются делать через шаблоны.
    Ответ написан
    3 комментария
  • Roadmap Андроид разработчика?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Если опыта совсем нет, то начинайте с изучения алгоритмов, разметки интерфейса, Kotlin.

    Если есть опыт на других языках, то немного проще, наверное, будет с Java.

    А так, ставьте Android Studio (все настройки по умолчанию), берите любую инструкцию по созданию первого приложения - и вперед.

    И вот тут естьпрактическки все, что нужно для создания первого работающего приложения:
    https://developer.android.com/
    Ответ написан
    Комментировать
  • Цикл for с вводом в консоль исполняется дважды, дебаг не производится?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Поздравляю, вы открыли буферизированный ввод и непечатаемые символы. На второй итерации считывается символ \n
    Ответ написан
    Комментировать