Задать вопрос
  • Не могу создать нового юзера в постгрес. В чем причина?

    @Dementor
    программист, архитектор, аналитик
    1) Или сервер не запущен (проверять в службах или в процессах)
    2) Или запущен на нестандартном порту
    3) Или запущен не на локалхосту.

    Теоретически еще может быть файрвол, который блокирует 5434, но маловероятно.
    Ответ написан
    7 комментариев
  • В чем разница между схемой и базой?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    не могу создать новую базу в идее, создается схема
    Наоборот.

    CREATE SCHEMA is a synonym for CREATE DATABASE
    https://dev.mysql.com/doc/refman/8.0/en/create-dat...
    Ответ написан
    Комментировать
  • Почему IntellijIDEA не видит зависимость от Maven?

    @n199a Автор вопроса
    Java
    Решилось так:
    1) Нажимаем Shift + Ctrl + Alt + S, переходим на Libraries и удаляем все библиотеки.
    2) Справа окна IntellijIDEA нажимаем вкладку `Maven` и выбираем это:
    Жми, чтобы посмотреть скриншот

    607cd0c755977696409561.jpeg

    3) Наслаждаемся :)
    Ответ написан
    1 комментарий
  • С чего начать разработку своего приложения?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    1. Научиться получать данные с внешнего ресурса (те самые таблицы) и выводить их в консоль как есть.
    2. Разобраться что за данные ты получаешь. JSON? XML? Научиться парсить (разбирать) их на отдельные поля и сохранять в коллекцию. И выводить в консоль.
    3. Подключить базу данных и сохранять уже в базу, а не в коллекцию.
    4. Подключить web. У Шилдта наверно есть про сервлеты. Вот на них можно. Цель - выводить данные уже не в консоль, а в браузер - в виде JSON.
    5. Оставить это как версию и сделать то же самое на Spring Boot. Работодателям нужен только Spring, но то что ты делал на "низком уровне" тоже может пригодиться, типа "Я и так тоже могу".
    6. Теперь думать про фронт. В любом случае, надо знать основы HTML, CSS, вёрстки. Вариантов несколько:
    - интегрировать фронт прямо в Spring-приложение, используя шаблонизаторы (их "из коробки" 3 на выбор, самый популярный thymeleaf);
    - сделать фронт как отдельное приложение для браузера, которое будет ходить на бэк за данными и взаимодействовать с пользователем. Самый популярный фреймворк для фронта - React, но бэкэндерам лучше заходит Angular;
    - экзотика типа Vaadin.....
    7. На основе кода бэка сделать бота в Telegram и/или мобильное приложение (если интересно, конечно).
    Я бы советовал по мере эволюции бэка уже искать работу/стажировку. Новичкам часто дают тестовые задания - делая их ты лучше поймёшь что нужно работодателям, ну и потренируешься.
    Удачи!
    Ответ написан
    3 комментария
  • С чего начать разработку своего приложения?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    "Выращивайте" проект.
    Напишите, для начала, MVP - какую-то штуку, которая собирает статистику, хотя бы одного захардкоженного матча/турнира и выводит в консоль.
    Потом расширяйте.
    Ответ написан
    3 комментария
  • С чего начать разработку своего приложения?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    1. Представь, что заходишь на свой сайт:
    - Что ты видишь?
    - На какие кнопки нажимаешь, чтобы что-то сделать?
    и т.д.
    Это интерфейс.
    2. Ты нажал на кнопку на сайте:
    - Куда идет запрос?
    - Какой обработчик/контроллер/эндпоинт?
    Это общая архитектура приложения
    3. Запрос пришел:
    - Какой контроллер должен обработать?
    - Какие интерфейсы исполняют эту бизнес логику (можно выделить несколько интерфейсов для разных юз. кейсов)?
    - Какой ответ должен получить клиент?
    Это уже уровень кода

    На уровне кода работаешь с модельками. Тут предлагаю TDD:
    - Определи методы/интерфейсы на разные юз. кейсы
    - Напиши тесты на каждый юз. кейс
    - Напиши реализацию
    - Вставь готовый код в контроллер

    В общих чертах, можно таким путем идти
    Ответ написан
    1 комментарий
  • Разница между if else и try catch?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Всегда надо помнить, что Исключение - это довольно дорогая операция и без необходимости лучше её не использовать
    Ответ написан
    Комментировать
  • Разница между if else и try catch?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    try-catch - это эволюционно развитый if-else. Вот те кто кодили на "C" знают как тяжело работать с файловыми операциями. Любой fopen,fread e.t.c. надо проверять на код возврата и обеспечивать аварийный выход с очисткой (!) всех ресурсов. И вот отслеживание всех ресурсов и их состояний это нетривиальная задача. Для этого создали try-with-resources. И вообще возврат в это тяжелое мракобесное время проверок errorcode - никому не советую.

    В случае с делением на 0 (ArithmeticException). Если вы рисуете на экране график функции - то возможна ситуация
    где будет много делений на нуль. Тогда обработка исключений может стать performance issue. Это правда.

    Может помочь декомпозиция формулы с делением на результат с Option[Int] (в Scala и Java это уже рабоатет) и возвращать неопределенное значение None в случае когда в знаменателе стоит ноль. Вообще в языках ФП данный подход очень рекомендуется т.к. в этих языках есть синтаксический сахар для быстрого сворачивания (flatMap) списков таких опциональных значений.

    Тоесть если вы из функции хотите вернуть пустоту - то возвращаете None вместо бросания прикладных исключений.
    Ответ написан
    8 комментариев
  • Разница между if else и try catch?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Стоит также обратить внимание на то, что есть try with resources, что позволяет после работы автоматически закрывать соединение и т.д. Т.е. все, что имплементирует интерфейс AutoClosable. Например, подключиться к БД, что-то сделать, а затем закрыть соединение. Как мимнимум в if else этого нет.
    С другой стороны try catch более тяжелый с точки зрения производительности.
    Ответ написан
    Комментировать
  • Разница между if else и try catch?

    @UniverseElement
    Если вы можете выполнить проверку условия в блоке if else, то используйте его + оберните его в try catch, чтобы перехватить непредвиденное исключение, если оно возникнет.
    Ответ написан
    Комментировать
  • Разница между if else и try catch?

    @nApoBo3
    Это древний холивар.

    Личное мое имхо, исключение, это авариное завершение приложения, во всех не аварийных случаях их использовать не следуют, хотя бы из соображений производительности.
    Ответ написан
    1 комментарий
  • Разница между if else и try catch?

    @Akela_wolf
    Extreme Programmer
    Есть такой принцип: "если убрать все обработчики исключений, программа должна нормально функционировать при условии ввода корректных данных" (Д.Томас, Э.Хант "Программист-прагматик"). Поэтому вопрос - является ли введенный пользователем нуль корректными данными? Если да - то его надо оборачивать в if. Если же это некорректные с точки зрения программы данные - то можно кидать исключение.

    То есть исключение должно выбрасываться при поступлении на вход программы некорректных данных. А какие именно данные считать некорректными - это определяет разработчик (или заказчик) программы.
    Ответ написан
    5 комментариев
  • Разница между if else и try catch?

    @maximsemin23
    Имхо: Если есть возможность сделать без try catch, то лучше делать без try catch. Во всяком случае так работает с null pointer exception:
    // Good
    if (x != null) {
        
    } else {
    
    }
    
    // Bad
    try {
         // action with x
    } catch(NullPointerEcxeption e) {
    
    }
    Ответ написан
    Комментировать
  • Как изучать на практике SQL, MySQL?

    @evgeniy_trebin
    Ruby on Rails developer
    Вот тут можешь попрактиковаться sql-ex.ru
    Ответ написан
    1 комментарий
  • Java кодировки из windows-1251 в utf-8?

    @Akela_wolf
    Extreme Programmer
    windows-1251 не использует unicode. Это старая кодировка, из тех времен, когда юникода еще даже не существовало (наряду с cp866, koi-8r и другими)

    Латиница же работает потому что кодовые таблицы для латиницы в ASCII, windows-1251 и utf-8 совпадают (то есть один и тот же символ кодируется одним и тем же числом из диапазона 0-127)
    А для кириллицы - нет, числа кодирующее кириллический символ в windows-1251 и в utf-8 разные (если точнее, то в windows-1251 это будет одно число, а в utf-8 - пара чисел)
    Ответ написан
    1 комментарий
  • Книги, курсы по Java?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    1. Срочно научиться пользоваться поиском.
    https://qna.habr.com/search?q=Как+учить+Java%3F
    2. Все.
    Ответ написан
    Комментировать