Ответы пользователя по тегу Java
  • Как запустить shell-команду в другом процессе (Java)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Мой исполняемый файл при запуске ограничивают в ресурсах, моя задача - попробовать снять это ограничение.

    В линукс нельзя просто так взять и ограничить один процесс без ничего.
    Ограничивают обычно через cname, а это означает, что процесс запускается внутри своей подгруппы, и видит только те ресурсы, которые ему выделились. Если этот процесс запустит другой подпроцесс, они будут внутри той же самой группы (грубо говоря в контейнере).

    Вообще было бы хорошо уточнить смысл задачи. Это задача поставленная преподавателем, поставленная самому себе, или рабочий процесс? И кратко описать из-за чего такие требования.
    Может для другого процесса проще написать какой-то API и триггерить его запуск уже из вашего Java приложения. Таким образом другой процесс не будет дочерним.
    Ответ написан
  • Что писать в резюме чтобы были шансы куда-то попасть без опыта?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Бывает что не так важно что писать. как важно как писать.
    Показал бы резюме, можно было бы указать на основные ошибки или наоборот удачные места.
    Ответ написан
    Комментировать
  • Какой выбрать учебник по Java для новичка в программировании?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Если будешь читать много книжек - научишься читать книжки.
    Если будешь писать код - научишься писать код.

    Не нужно поперечитывать книжки и только потом начинать что-то писать.
    Не нужно прочитать ЦЕЛУЮ (на самом деле всего лишь одну) книжку и сразу писать свою большую 2д игру.
    Напиши сперва простую программку. Простой калькулятор. Простое окошко с кнопкой. Если 2д игру, то крестики нолики или морской бой - тебе нужно освоить базовые вещи, чтобы не было простых вопросов. Потом усложняй.

    А цела куча ошибок? Я просидел 2 дня над 5 минутной задачей? Ошибка 1 надо было понимать в начале что это " a" а не "a", пазлы ошибки и т.д

    Твоя задача в целом не эту задачу решить, а научиться их решать. Посидел 2 дня, приобрел бесценный опыт, включая понимание как оно работает и что опечатки могут быть везде. И сейчас подобные опечатки или ошибки ты скорее всего сможешь сразу заметить. Это же плюс?

    Почему то мне кажется что сейчас, проще всего, это взять за основу герберт шилда полное руководство , но не читать саму книгу а просто брать

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

    , а это нормально что прочитав книгу ты вот захотел что то написать, перед этим посмотреть и проанализировать как кто то написал что то похожее

    Ну а почему бы нет? Все упирается исключительно во время. У кого есть возможность анализировать, у кого нет. Анализировать как это написали другие полезно. Прикол в том, что "посмотреть" чужой код - это не полистать. Это нужно сесть и долго разбираться, пока вникнешь в логику чужого кода. Быстро подсмотреть можно какую-то совсем мелочь.

    А вот теперь другая ситуация. Вас привели на завод и прикрепиле к мастеру, вам не стали показывать ВСЕ инструменты и объяснять как они работают, а МАСТЕР стал делать КАРКАС для двигателя (ну то на что все крепиться будет) и попутно ПО шагово объясняя ход своих мыслей

    Вот на базе вашего примера поясню суть.
    Двигатель, а точнее современный двигатель, это такая деталь, которую создавали много людей на протяжении поколений. И пока вам МАСТЕР пояснит ход всех своих мыслей, у вас уйдет жизнь.
    И основная проблема, что вы предыдущую мою фразу может и прочитали, но не осознали. Жизнь человека - действительно ОЧЕНЬ короткая. И если 20 летнему студенту может показаться, что 40 лет это уже старик, можно умножить 20 на два и внезапно осознать что молодой 20-летний студент уже половину своей жизни прожил.

    Поэтому иногда стоит сразу показать все существующие инструменты ВКРАТЦЕ, чтобы человек знал что уже было изобретено и можно взять готовым, а потом уже давать задачи, чтобы пользуясь готовыми инструментами новичок создавал программу, а не изобретал с нуля колесо, молоток, увеличительное стекло и так далее.

    Учись задавать правильные вопросы. Это когда ты знаешь примерно половину ответа. В ИТ начало пути это не тогда, когда ты выбираешь книгу почитать. А когда ты уже написал свою первую сложную программу, и после этого, читая ОЧЕРЕДНУЮ книжку думаешь что ее можно было написать гораздо лучше и гораздо проще.
    Ответ написан
    Комментировать
  • Что лучше выучить, Java или C#?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Парень,
    Востребованы не сами языки, а специалисты, которые на этих языках умеют работать.

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

    Лично у тебя должна душа лежать к технологии, чтобы не забросить ее через месяц, через год, через 5 лет, через 30 лет.

    Зачем ты спрашиваешь у рандомов из интернета? Уровень джуниора это тонны знаний, и это очень очень минимальный объем, который позволяет джуну с джава переключится на джуна C# довольно быстро, и вдобавок получив взгляд со стороны. Поэтому пока ты лазишь по hh, конкуренты уже пишут свой первый проект.
    Ответ написан
    5 комментариев
  • Как работают процесс приложения и процесс сервера?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    На одном порту может висеть только один процесс (исключения это внедрение в стек TCP/IP, как это делают фаерволы, но там уже другая история)
    Соответственно или ты запускаешь несколько war приложений внутри сервера приложений tomcat, и разруливаешь их или по портам или по ендпоинтам, но все эти порты принадлежат одному tomcat-у, или каждый спрингбут запускает свой (только вряд ли tomcat имеет смысл в таком случае использовать, проще легковесный jetty), и уже каждый занимает свой порт

    То есть одно приложение может слушать несколько портов.
    Но каждый один порт может слушаться только одним приложением.
    Ответ написан
    3 комментария
  • Вопрос по регулярному выражению с условием "любой символ кроме" в Java?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    x(?=y) - Соответствует 'x' только если за 'x' следует 'y'. Это называется упреждение (источник).

    Это если бы эта конструкция была отдельностоящая. Но она у вас заключена в [], а значит

    [^] - любой символ(-ы) кроме того, который будет находиться в квадратных скобках, то есть все символы, кроме -, (, ?, \, d, )
    Ответ написан
    2 комментария
  • Как создать испольняемый на винде jar или exe, имея javafx приложение?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Helo8989,
    НАКОНЕЦ хоть что-то полезное. Надо было сразу текст ошибки в вопрос вставить.
    Итак на твоем скриншоте (кстати мог бы просто из cmd запустть и не надо было ловить, просто скопировать текст):

    (class file version 58.0), this version of Java Runtime only recognizes class file versions up to 54.0

    Вот таблица:
    49 = Java 5
    50 = Java 6
    51 = Java 7
    52 = Java 8
    53 = Java 9
    54 = Java 10
    55 = Java 11
    56 = Java 12
    57 = Java 13
    58 = Java 14

    Следовательно jar скомпилирован в java14, а запускать ты его пытаешься в JRE 10

    Перекомпилируй твой JAR соответствующей версией java (или ниже)
    Ответ написан
    1 комментарий
  • Что такое runtime class в Java на простом языке?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    нет.
    Есть Объект, который является экземпляром класса. Их может быть много или один.
    А runtime вообще не из этой области а из области runtime vs compile.

    Во время сборки проекта у тебя может быть куча дополнительных вещей, например автоматические тесты, которые могут тоже состоять из объектов. В продакшене объекты для тестов не нужны, поэтому выделяют runtime классы, которые попадают в конечный дистрибутив, а не runtime классы туда не попадают и существуют только на момент компиляции/тестирования.
    Ответ написан
    Комментировать
  • Подходит ли книга Брюса Эккеля "Философия Java" для изучения ЯП с полного нуля?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Школу закончил?
    Математику когда учил, одной книги хватило, или за время школьного образования их нужно было чуть больше, чем одна?
    Когда закончил школу, ощутил в себе знания математика, который готов зарабатывать именно математическими расчетами? Нет, оказывается всего лишь базовая математика?

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Курсы не о том. Архитектор - об умении управлять тимлидами, ориентироваться в инфраструктуре заказчика, понимать что происходит в других проектах и всех системах с которыми вы интегрируетесь или будете интегрироваться.
    В крупных компаниях может быть много сервисов, которые разрабатываются другими командами. Надо быть в курсе что там, куда идет партия, как ваш проект в этом всем может достигать нужных цифр в общем статусе, в аудите и так далее.
    В общем архитектор это не только технические знания, это еще и тимлидовские навыки в квадрате.
    Ответ написан
    2 комментария
  • Java junior, серверное ПО, какие задачи решать, чтоб понять устройство системы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Хороший код приходит с опытом, проблематично целенаправленно учиться писать хороший код, это все равно как целенаправленно учить опыт.
    В этом плане нужно просто понимать почему что делается.

    А так - направление это совместная работа. Понимать весь цикл разработки. Как предсказуемо оценивать сроки задачи, как их правильно дробить, как взаимодействовать с другими разработчиками или командами.
    Все инструменты, с которыми сталкиваешься - старайся добиться, чтобы работало, потом интересуйся как это работает. Таже кафка - что она вообще умеет. Тот же ELK стек - можно научиться парсить логи чтобы искать нужные вещи, а можно в самом приложении поправить логгер, чтобы он в ЕЛК отправлял более удобные для парсинга данные. И так с каждым сервисом/технологией - ты как разработчик и со стороны приложения можешь менять и со стороны сервиса можешь смотреть что от него взять можно.
    Ответ написан
    Комментировать
  • Для чего используются геттеры и сеттеры в Java?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    но зачем тогда ставить уровень доступа private на переменные, если все равно через геттеры и сеттеры можно их считать из другого класса.

    Для того, чтобы их нельзя было считывать напрямую. В этом и смысл геттеров-сеттеров
    Ответ написан
  • JRE и runtime в java?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    jre - java runtime environment
    jdk - java development kit

    два набора джавы (вроде в версии 11 оно уже совмещено).
    JDK - для компиляции, сборки, отладки и запуска
    JRE - только для запуска.

    Отличаются собственно тем, что в JDK больше файлов
    Ответ написан
    Комментировать
  • Интеграция Jenkins и Mattermost?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    2) зачем плагин? Обычный curl и почитать апи маттермоста?
    Ответ написан
  • Как работает интерпретация в Java JVM?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Ibragim123987, Пример вашего алгоритма вообще некорректный.
    Никакой язык программирования не оперирует кипячением или чайниками.
    Все языки программирования оперируют данными (переменные, ячейки памяти).
    Циклы и условия также оперируют исключительно именно этими данными - числа, строки(которые внутри тоже числа).
    Поэтому на базе вашего алгоритма вообще никак
    Ответ написан
    Комментировать
  • Как и где хранить общие файлы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    1. а что за общие файлы?
    2. сделать для общих файлов третий репозиторий и коммитить туда
    3. гит сабмодули наверное не самое лучшее решение. Но надо понять что за файлы.
    Ответ написан
    6 комментариев
  • Java vs C# - что будет правильнее выбрать для написания учебника для школьников?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    DeviJoe, Нет смысла в школе учить что-то сложнее питона.
    Детям нужен быстрый результат, а не объектно-ориентированное.

    Учебник по джава и сам джава осилит меньше 10% в классе, единственное исключение - специализированная школа для разработчиков, где на программирование выделено как минимум 4-5 часов в неделю.
    Ответ написан
    Комментировать
  • Почему разработчики на Java более востребованы, чем разработчики на C#?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    3. Платят больше не джавистам, а специалистам

    2. Java на текущий момент более популярный инструмент, чем C#. Думаю это так и останется в ближайшие лет 5, что будет лет через 10 - неизвестно. C# более заточен на Microsoft инфраструктуру, сервисы, менталитет. Он проприетарный. Java вроде как чуть более свободна, есть большое комьюнити которое может влиять. Правда после покупки Oracle немного подзакрутили гайки, а MS сейчас наоборот весь такой летит в опенсорс. Посмотрим.

    1. Какая разница, у каждого могут быть свои личные причины.
    Ответ написан
    1 комментарий
  • Как стать java разработчиком?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Напиши несколько приложений на свой вкус. Простенькие игрушки, чаты, калькуляторы.
    Почитай про правильное оформление кода, напиши автотесты.
    Затем читай требования к вакансиям и учи технологии, которые там указаны.

    Поинтересуйся стажировкой. То что ты не можешь сейчас, не значит что не сможешь потом. Но к моменту окончания учебы, у тебя уже может быть подтвержденная договоренность о стажировке, а для этого можно за год или за два походить, выяснить условия, подтянуть необходимые знания и договориться собственно об устройстве.

    P.S. Ну и самое главное - подучить как пользоваться гуглом. Ведь ответов готовых множество, и они все похожи..
    Ответ написан
    Комментировать
  • Разработка BPM (конкретно Pega) либо автоматизированное тестирование на Java, что выбрать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Да никто вам не ответит. Принимайте решение как взрослый человек, самостоятельно.

    Список технологий или работ никак не расскажет что на самом деле происходит на проекте. Об этом нужно выяснять у тех, кто работает именно там.
    Хорошая ЗП по словам рекрутеров - это как? Пусть назовут сумму. Если не называют, то общайтесь с теми, кто называет.
    Разработка в автоматизировании тестирования - тоже неплохой путь, особенно если будете получать ЗП.
    Год - это немного. Научитесь работать, научитесь принимать самостоятельные решения - тоже ок.

    Не бойтесь потерять год, бойтесь потерять 10 лет из-за боязни что-то начать.

    Опять же, если у вас есть "потенциальные два места", это вы уже собеседования прошли? Почему не задавали эти вопросы на собеседовании? Там же сидят как раз те, кто лучше всего знают что вам ответить.
    Ответ написан
    8 комментариев