• Оркестрация приложений на маленьком домашнем сервере. Что можете посоветовать?

    У меня в похожей ситуации сложился такой набор инструментов:
    - контейнеризация - докер
    - конфигурация и запуск контейнеров - docker compose
    - web IU к докеру - Portainer
    - деплой - Gitlab CI
    Ответ написан
    Комментировать
  • Котруется ли у it компаний курсы JavaRush?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Спешу вас огорчить, но компаниям плевать на то, какие вы курсы проходили. Ну, максимум можно сертификатом от cisco покозырять, но и он тоже будет максимум приятным бонусом в случае если будут выбирать между вами и еще одним претендентом одного с вами уровня (и то, далеко не везде).
    Прежде всего - спрашивать будут по конкретным вашим знаниям, без оглядки на то, где вы их приобрели.
    Ответ написан
    Комментировать
  • Spring boot + Kotlin. Где найти учебный материал?

    @Akela_wolf
    Extreme Programmer
    А зачем вам учебный материал по спрингу на котлине?

    Весь учебный материал по спрингу актуален для котлина. Переложить Java на Kotlin - даже не просто, а очень просто (даже IntelliJ IDEA умеет автоматически конвертировать Java в Kotlin). Поэтому берите Java и не мучайтесь (все равно при использовании котлина и спринга джаву знать необходимо т.к. постоянно будете натыкаться на джавовские библиотеки)
    Ответ написан
    Комментировать
  • Зачем нужно DTO в простых сервлетах?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Смотрите, entity в базе данных может содержать гораздо больше полей и объектов, чем Вы хотите передать на верх, или получить в виде формы.
    Как пример, вывод информации о пользователе. В entity скорее всего будут содержаться поля о хеше пароля, аклах (ACLs), дополнительных связях с другими объектами. На верх же, скорее всего эту информацию передавать не стоит, это внутренняя кухня вашего приложения. Для этого и создают DTO (data transfer object), в котором присутствует ровно то, что нужно передать. И да, нужно делать мерджинг или инкапсуляцию между entity и dto каждый раз туда и обратно. С одной стороны - лишние действия и преобразования из объектов в объекты, в другой - гарантия безопасности и разделение логики хранения и логики передачи сущностей.
    Нужно ли это конкретно в вашем приложении - не скажет никто, кроме Вас. Но, хорошая практика - делать dto на каждый случай.
    Ответ написан
    Комментировать
  • Сервлеты, меняется язык только со второго нажатия по ссылке, почему?

    @Akela_wolf
    Extreme Programmer
    Ну так вы полностью правы. Как работает Cookie.
    1. Сервер отсылает заголовок Set-Cookie браузеру
    2. Вместе с заголовком сервер отсылает страницу.
    3. Получив заголовок Set-Cookie браузер сохраняет "печеньку" у себя.
    4. При следующем запросе страницы с этого сайта браузер к запросу присоединяет заголовок Cookie, в котором передает сохраненные "печеньки".
    5. В ответе сервер снова может прислать Set-Cookie, тогда будет добавлена или обновлена имеющаяся "печенька".

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

    Вообще, для решения вашей проблемы я бы брал язык из URL и только если его там нет - из "печеньки". Тогда переход на страницу с нужным языком переключал бы его сразу (так как значение в URL имеет приоритет) и сохранял в cookie для последующих запросов.
    Ответ написан
    Комментировать
  • Как создать метод из SQL запроса?

    то же самое почти что:

    ResultSet resultSet = statement.executeQuery("SELECT count(*) as cnt FROM customers WHERE name = 'Bob' AND purchase = 'bike'");
      resultSet.next(); // not first() with PGSL JDBC it is forward only cursor
      final int cnt = resultSet.getInt(1);   
      System.out.println("cnt: " + cnt);


    учтите что можно конечно исходный SQL запрос выполнит через JDBC но его синтаксис не является стандартным SQL это какое то постгрес расширение:

    String query = "SELECT count(*) <> 0 FROM accounts WHERE username = 'bob';";
                  System.out.println("Executing count query: " + query);
                  ResultSet resultSet = connection.createStatement().executeQuery(query);
                  resultSet.next();
                  final boolean status = resultSet.getBoolean(1);
                  System.out.println("status: " + status);
    Ответ написан
  • Как быть с авторизацией в 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? Всё выпускать наружу через отдельный сервис типа нгинкса/ингресса, там же терминировать шифрование и выпуск сертификатов. Как сервисы будут общаться между собой локально - непринципиально.
    Ответ написан
    Комментировать
  • Этот код является ООП?

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

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

    @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 и посмотреть трафик
    Ответ написан
    Комментировать