Ответы пользователя по тегу Java
  • Что лучше учить новичку Java или Kotlin?

    @Dementor
    программист, архитектор, аналитик
    Может что-то на основе собственного отыта расскажите.

    Мало вам поможет наш опыт, так как никто из нас не входил в профессию в 2024 году в Германии.

    Просто несколько тезисов:

    1) Java популярен из-за обилия легаси. Работать с легаси - это пытаться угадать, что написал неизвестный тебе человек, который мог быть укурен или бездумно копировал со стековерфлоу. Работа с легаси отрицает работу в стартапах, знакомство с передовыми технологиями и возможность стать новым Гейтцем/Дуровым/Маском.

    2) Kotlin появился позже и на анализе проблем той же Java - идеология языка более продумана, нет десятилетнего легаси древних библиотек, с которыми нужно держать обратную совместимость. Но при необходимости в Kotlin можно использовать джавишный код.

    3) В какой-то момент команда разработки Java перестала чесать то, что она там себе чесала, и разработка языка резко ускорилась. Возникла целая экосистема различных проектов вокруг языка, целью которых сделать язык максимально удобным, полезным и эффективным. Спринг - это как целый отдельный мир.

    Любой выбор будет удачным, если приложить усилия к обучению и найти интересный проект для старта. Но будь я на вашем месте, то выбрал бы Kotlin
    Ответ написан
  • Каким образом формировать graphql запрос из кода (java, spring) используя dsl решения?

    @Dementor
    программист, архитектор, аналитик
    DSL - это: один из популярнейших мини-дистров линуха, технология передачи данных по телефонным линиям, семейство трансмембранных рецепторов в биологии и domain-specific language, самым популярным из которых является 1С. Вообще без понятия, как хоть что-то из вышеперечисленного связано с межсервисным взаимодействием и в частности со spring.

    История со стринга не подходит.

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

    На вашем месте я бы начал отсюда: https://spring.io/guides/gs/graphql-server
    Потом продолжил бы тут: https://www.baeldung.com/?s=GraphQL
    Ответ написан
  • Вывод изображения на странице?

    @Dementor
    программист, архитектор, аналитик
    1) для начала открой исходный код страницы и проверь, что там именно base64, а не бинарник картинки выведен.
    2) внешний ресурс по запрос точно возвращает тело картинки, а не HTML-страничку с вариантами встраивания?
    3) если картинка на внешнем ресурсе, то зачем выводить на страницу ее закодированное в base64 содержимое (т.е. на треть больше оригинала), если можно оставить прямую ссылку?
    Ответ написан
  • Почему не работает import java.util.Scanner?

    @Dementor
    программист, архитектор, аналитик
    вчера все работало, а сегодня нет

    Пробовал выключить-включить компьютер? Очистку кеша проекта?
    Как вариант, еще можно обновить JDK и указать эту новую версию в настройках вашего проекта.
    Ответ написан
  • Как нажать ENTER в Selenide после ввода Url?

    @Dementor
    программист, архитектор, аналитик
    Ответ написан
    Комментировать
  • Почему выдает ошибку?

    @Dementor
    программист, архитектор, аналитик
    Похоже на ваш случай: https://stackoverflow.com/questions/19874882/andro...
    Ответ написан
    Комментировать
  • Джава выдаёт ошибку Cause: zip END header not found что делать?

    @Dementor
    программист, архитектор, аналитик
    Ответ написан
    Комментировать
  • Как определить способ запуска процесса?

    @Dementor
    программист, архитектор, аналитик
    Более менее информации получил с помощью ps:

    https://www.baeldung.com/linux/find-parent-pid
    https://www.serverlab.ca/tutorials/linux/administr...
    Ответ написан
    Комментировать
  • Как удалить первый элемента листа java?

    @Dementor
    программист, архитектор, аналитик
    Я нашел очень костыльный способ, который может мне это позволить, но ищу варианты без костылей, есть мысли?

    Чтение документации по интерфейсу List - это костыль или нет?
    https://docs.oracle.com/javase/8/docs/api/java/uti...

    remove(int index)
    Removes the element at the specified position in this list (optional operation).
    Ответ написан
  • Как интегрировать Java в 1C?

    @Dementor
    программист, архитектор, аналитик
    Оу, мой любимый Документооборот )))

    Вам Dmitry Roo уже все правильно сказал - интеграция с 1С:Документооборотом выполняется по протоколу "SOAP 1.2" и вам нужен "soap client", на вход которого подаете wsdl-ссылку (версия WSDL 1.1), в которой описаны все доступные вам классы и методы на стороне ДО.

    Но подключить к вашему проекту библиотеку с имплементацией SOAP - это только полдела. Чтобы получить рабочий результат, нужно изучить методологию конфигурации 1С:Документооборотом и настройки конкретной базы (виды документов, настройки прав доступа, обработчики бизнес-событий, настроенные шаблоны процессов и т.д.).

    Тут все не просто и многие вещи сделаны совсем не так как в 1С:Бухгалтерии и новички теряются (документы тут не документы, а справочники). Так же я видел много кода, где через боль и мучения люди получают требуемый им результат, но при этом они дергают десятки вызовов и держат в памяти множество ненужных XDTO объектов, в то время как нужно было просто обратится в другую функцию, задать нужные параметры и получить все данные в одном единственном вызове.
    Ответ написан
  • Не пойму как работает true false в данном куске кода?

    @Dementor
    программист, архитектор, аналитик
    Код максимально очевидный, подобраны хорошие примеры использования значения логического типа и наличие результатов вывода в консоль окончательно убирает неоднозначность.

    Что именно вызывает вопросы?
    1) Суть булевского типа и почему там всего два значения?
    2) Что такое переменные и почему их значение изменяется в отличии от констант?
    3) Что такое управляющие конструкции, и каково отличие условий от циклов?
    4) Что такое булевы операции сравнений (больше/меньше/равно)?
    5) Что такое неявное преобразование типов (булево в строку)?
    Ответ написан
  • Какой курс Java выбрать новичку с нуля?

    @Dementor
    программист, архитектор, аналитик
    Я выбрал язык, который хочу изучать,

    Ну раз такие вопросы сразу со старта, то может выбрать язык на тот, где не нужно так сильно напрягаться? Весь интернет и хабр завален подборками книг для начинающих, на ютубе сотни роликов на любую тему от объявления переменных до деплоя микросервиса, полно платных/бесплатных курсов...

    Короче, вперед покупать или качать на пиратских сайтах "Философия Java" Брюса Эккеля и "Java. Полное руководство" от Герберта Шилдта - для начала достаточно.
    Ответ написан
    4 комментария
  • По какому принципу работает очистка памяти в String Pool?

    @Dementor
    программист, архитектор, аналитик
    str создает еще одну запись и ссылается на последнее значение

    Зануда мод: не переменная что-то создает, а JVM помещает новую строку в пул, если использовать создание строки литералом, а не конструктором. А потом ссылку на выделенную область памяти помещает в str

    В какой момент сборщик мусора решает очистить наш String Pool от лишних значений и почему он это делает не так быстро, что конкатенации строки считается дурным тоном?

    До Java 6 String Pool жили в отдельной области памяти, которую GC не чистят (т.е. единожды объявленная строка жила до завершения программы, даже без ссылок). Начиная с 7-ки пулл перенесли в основную кучу, где его может почистить GC. Не не забываем, что и сам гарбадж коллектор не сферический конь, а имеет с десяток реализаций, в каждой из которых есть свои настройки - не копал эту тему, но подозреваю, что можно настроить "неприкосновенность" String Pool даже в общей куче (но зачем?)

    Вторая часть вопроса бессмысленна. Забудь про строки. Пусть у тебя есть некий класс А. Твой вопрос эквивалентен следующему: Почему считается дурным тоном создавать множественные объекты класса А и каждый из них присваивать в одну и ту же переменную? Это медленно и расточительно к ресурсам!

    Upd. Тут подробнее: https://topjava.ru/blog/rukovodstvo-po-string-pool...
    Ответ написан
    3 комментария
  • Как разрабатывать приложение Spring, чтобы каждый раз не деплоить его на сервер для отладки?

    @Dementor
    программист, архитектор, аналитик
    Я так понимаю, что IntelliJ IDEA со встроенным Tomcat и отладкой по нажатию одной кнопки предлагать не нужно?

    Если не устраивает скорость работы Cargo, то напишите свой собственный плагин под Eclipse. Если ваш вариант окажется лучше, то сообщество спасибо скажет и на ваш гитхаб звездочек накидает - будет чем хвастаться на собеседованиях.
    Ответ написан
    1 комментарий
  • В каком контексте значение класса String является неизменяемым в отличии от StringBuilder?

    @Dementor
    программист, архитектор, аналитик
    1. Нет! Строки неизменяемые. Конкатенация строк - это операция по созданию нового объекта с новой ссылкой.

    2. String это базовый тип для Java, а StringBuilder добавили только в 5-ю версию. Апгрейд существующего класса не стали делать по соображениям совместимости и чтобы не поломать String Pool, который для билдера не имеет смысла.

    3. Потому что это разные типы!!! Хотите, чтобы String и StringBuilder сравнивались по содержимому? Делайте дочерние классы, в которых переопределяйте сравнение, а потом экземпляры своих классов присвойте переменным типов String и StringBuilder - магия, сравнение заработало!
    Ответ написан
    Комментировать
  • Почему возникает ошибка "Could not connect to SMTP host"?

    @Dementor
    программист, архитектор, аналитик
    Прошлись по чек листу?
    https://support.google.com/a/answer/176600?hl=ru

    Сам порт на гугл открыт с вашего компа? Успешно можете телнетом постучать?
    Ответ написан
  • Как отредактировать сообщение игрока на сервере Minecraft с помощью Java только для некоторых?

    @Dementor
    программист, архитектор, аналитик
    Не знаю какие там особенности в майнкрафте, но с концептуальной точки зрения вообще нет никаких проблем:
    1) хранить в базе реальные исходные сообщения без редактирования
    2) при формировании сообщения для игрока учитывать настройки цензуры.
    Ответ написан
  • Как компилировать jar в exe?

    @Dementor
    программист, архитектор, аналитик
    А если не видосы смотреть, а стековерфлоу?
    https://stackoverflow.com/questions/69811401/how-t...
    Ответ написан
    5 комментариев
  • Как генерировать случайное число типа double с двумя символами после запятой?

    @Dementor
    программист, архитектор, аналитик
    Округли до нужного знака.
    Ответ написан
  • Как создать карту для сохранения в кошельке?

    @Dementor
    программист, архитектор, аналитик
    Облазил гугл, не могу найти информации по генерации таких карт.

    Первая же ссылка в гугле: https://stackoverflow.com/questions/53320259/add-l...
    Ответ написан
    Комментировать