Ответы пользователя по тегу Java
  • Что выбрать Spring или Talend?

    @protven
    С насколько большим количеством данных? Спринг, в общем-то, совсем не про то. Вы наверное про Spring Batch. И при чем тут BigData ? Оба инструмента, Spring Batch и Talend - они скорее про ETL. В целом есть очень положительный опыт по разработке ETL процесса с помощью Спринг Батча. Там правда у меня задача очень хорошо ложилась на флоу Батча, но тем не менее. Надо было выгрузить примерно 5 миллиардов записей из Оракла, некоторым образом их обогатить (сходить в несколько сторонних сервисов) и записать обогащенные данные в другую базу. При этом обеспечить возможность начать с того же места, где закончили при аварии и паралелльную обработку. Разработка заняла пару дней, выполнение задачи еще сутки. Вообще если вам нужна именно "BigData"(прости господи), то смотрите в сторону более характерных инструментов для именно бигдаты. Flume, Sqoop, Kafka, Spark, Hadoop, etc.
    Ответ написан
    5 комментариев
  • Как узнать запрос и ответ?

    @protven
    wireshark
    Ответ написан
    Комментировать
  • Какой сервер выбрать под разработку web приложения на Spring?

    @protven
    Нет лучшего.
    Пишите так, чтобы можно было безболезненно сменить сервер приложений, если понадобится.
    Для начала поймите, нужен ли вам полноценный сервер приложений (зачем ?) или достаточно контейнера сервлетов (скорее всего достаточно).
    Я бы писал под томкат. Или вообще взял бы spring-boot со встроенным контейнером, jetty/tomcat.
    Ответ написан
    1 комментарий
  • Java Enterprise vs Computer Vision?

    @protven
    Послушайте, может вам делом заняться, а не вопросы на тостере строчить ?
    Вы уже десятый наверное по счету вопрос задаете, на схожую тему. Вы понимаете что просто прокрастинируете?
    Вот вам универсальный ответ на все ваши вопросы, если надумаете настрочить еще один - перечитайте этот ответ

    Вопрос: Куда бы вы посоветовали двигаться?
    Ответ: Если не закончили ВУЗ, то заканчивайте. Если закончились - двигайтесь на ближайшее собеседование, куда позовут.

    Вопрос: Стать высококлассным разработчиком или исследователем?
    Ответ: Становитесь. Но для начала хотя бы найдите работу за деньги. Или хотя бы стажировку за опыт.

    Вопрос: Где больше зарплата?
    Ответ: В Роснефти, на должности гендира. К сожалению вакансия одна и занята, идите куда угодно, где вам будут платить за ваши умения.

    Вопрос: Где проекты интереснее?
    Ответ: В компаниях, у которых основной бизнес посроен на "интересных проектах". Институты, инновационные компании и тд. Вас туда все равно не возьмут, крутых студентов хантят курса со второго.

    Вопрос: Где тяжелее работать?
    Ответ: В шахте. Если нравится тяжелая работа, то зачем вам в IT, тут обычно кондиционируемый офис.

    Вопрос: Где больше личной свободы?
    Ответ: Максимум свободы обладают люди без обременения в виде работы, семьи и недвижимости. Если вы про работу, то везде плюс-минус одинаково. Идите на собеседование и спрашивайте про то, что входит в конкретно ваши понятия личной свободы.

    Вопрос: Где можно лучше самореализоваться?
    Ответ: Не тут. И скорее всего не на офисной работе в ближайшие лет 10. Как только станете профи, и займете должность архитектора проекта - реализуйтесь на здоровье, но опять же в рамках того, что хочет от вас бизнес.
    Если хотите раньше - пишите свои пет-проекты и коммитьте в опен-сорс.
    Ответ написан
    5 комментариев
  • Общий класс для коллекций?

    @protven
    Самый общий - Object. Общее уже некуда. Настоящий вопрос какой? Как написать единую функцию для работы с любыми множествами ? Никак. Только костыли, когда вы проверяете что пришло на вход, Collection или Array и выполняете соответсвующий код.
    Можете перегрузить метод, например так
    private int someFunction(Collection<?> collection) {
            int result = 0;
            /* Do some work*/
            return result;
        }
    
        private int someFunction(int[] array) {
            return someFunction(Arrays.asList(array));
        }
    Ответ написан
    4 комментария
  • Как в одном цикле выбрать сразу 2 значения по наименованию тега?

    @protven
    Elements result = doc.getElementsByTag("b:FailedCount");
            result.addAll(doc.getElementsByTag("b:SucceededCount"));


    И дальше итерируйтесь по result.

    PS Всегда смотрите что у вас за объекты и какие методы они предоставляют. Так, Elements это по сути обычный явовский ArrayList, с которым можно работать используя его стандартные методы.
    Ответ написан
    3 комментария
  • В каких случаях может потребоваться JNDI?

    @protven
    Если кратко, то обычно, когда у вас есть какой-то сервер приложений, вы там создаете всякие ресурсы (data-source, jms, etc) средствами самого сервера, а не внутри своего приложения. А приложение уже получает ссылку на ресурс из JNDI по имени ресурса.
    Ответ написан
    1 комментарий
  • Что плохого в моем коде тестового задания на java?

    @protven
    https://github.com/Sharabaddin/oop-examples/blob/m...
    Почему переменная package-private, а не protected?
    getStatfarad() у вас всегда возвращает picofarad * 3. Зачем писать три раза одно и то же ? Реализуйте этот метод в родителе.
    То же самое, по-моему, можно сказать и про метод setStatfarad, но там кода много, "на глаз" не видно, может и есть отличия.
    Ответ написан
    Комментировать
  • Что выгоднее - встроенный Tomcat или отдельный?

    @protven
    Вы совершаете типичную ошибку новичка, вместо того чтобы учить спринг, начинаете задаваться вопросом-
    "А что выгоднее <тут какой-то абстрактный вопрос, который нужно решать уже в боевом проекте>".
    В целом это такой себе вариант проявления прокрастинации.

    У вас сейчас есть дефицит памяти при деплое ? Если да, то докупите памяти, она стоит копейки или не запускайте много экземпляров приложения и продолжайте учить спринг.
    Если нет, то продолжайте учить спринг.

    PS Разница есть, и она в пользу одного Томката на несколько приложений. Но разница ничтожная. Использовать ембеддед контейнеры сервлетов выгоднее с точки зрения микро-сервисной архитектуры. Но вам это сейчас не нужно.
    Ответ написан
    2 комментария
  • Если я скомпилирую приложение на java под windows, то оно запустится на линукс?

    @protven
    В общем случае да. Не запустится только если вы явно используете какие-то нативные библиотеки в вашем коде (судя по вопросу наврядли)
    Ответ написан
    Комментировать
  • Java в web, с чего начать?

    @protven
    *голосом Оби Вана* Вам не нужна JavaEE в 2017-м году.
    Нужно писать под веб на java - используйте Spring.
    Если прямо критично чтобы на русском - https://www.youtube.com/watch?v=M4w6b2pENWU&list=P...

    Плюс есть книги https://www.ozon.ru/context/detail/id/33056979/

    Мне больше нравятся официальные гайды от спринга https://spring.io/guides

    Если спринг кажется тяжеловсным, смотрите в сторону легковесных фреймворков. Например sparkjava.com
    Ответ написан
    3 комментария
  • Как создавать таблицы в базе для Spring MVC?

    @protven
    Еще можете сюда посмотреть https://jhipster.github.io/

    Делаете модель в их JDL студио и потом по файлу можно генерить хоть фронт, хоть бэк, хоть скрипты для БД.
    Ответ написан
    Комментировать
  • В чем разница между TomCat и GlassFish?

    @protven
    TomCat - контейнер сервлетов. Glassfish - референсная реализации сервера приложений JEE. То есть кроме контейнера сервлетов, GF содержит в себе реализации других технологий JavaEE, например EJB, JPA, JMS и тд.

    Если пишите на спринге - берите Томкат и не парьтесь.
    Ответ написан
    Комментировать
  • Что должен знать Junior Java Developer?

    @protven
    Джава-джун должен уметь написать по четко-поставленной задачке работающий код с тестами. Или поправить баг в готовом коде.

    Человек прочитавший Шилдта может максимум претендовать на должность стажера.
    Ответ написан
    Комментировать
  • Как установить на Debian 8 x64 Java 32 bit?

    @protven
    Скачайте отсюда www.oracle.com/technetwork/java/javase/downloads/j...
    архив jdk-8u131-linux-i586.tar.gz

    Распакуйте и будет вам счастье.
    Ответ написан
    Комментировать
  • Как исправить ошибку java.lang.OutOfMemoryError: PermGen space?

    @protven
    Вообще у мейвена своя переменная окружения - MAVEN_OPTS. Попробуйте выставить ее. Но вообще это мягко говоря странно, что при сборке проекта вылезает OOM PermGen. Что собираете, если не секрет ?
    Ответ написан
    1 комментарий
  • While или Iterator?

    @protven
    Какая ява-то ? Если восьмая, то почему бы не использовать stream api ?
    И поверьте, в подобных вещах не стоит заморачиваться по поводу "скорости". Лучше сосредоточтись на читаемости кода. Натурально. 99.9% узких мест в любой мало-мальски полезной системе - это чтение из БД, передача данных по сети, чтение/запись на диск. Если у вас узкое место это итерация по стандартным джавайским коллекциям и вам нужно это место оптимизировать, значит у вас или сферический пример в вакууме, а не прикладная система, либо все настолько круто, что можно только позавидовать.
    Ответ написан
    Комментировать
  • Как перемножить 2 потока (Stream API)?

    @protven
    С помощью родного java stream api и чтобы было красиво и компактно - никак. Действительно, проще циклами.
    С помощью сторонних либ, который реализуют функцию "zip" для коллекций - элементарно.
    Например https://github.com/poetix/protonpack#zip

    Если хочется элегантной и лаконичной работы с коллекциями в функциональном стиле, то смотрите в сторону Scala, а еще лучше Clojure, вот там с этим проблем нет.
    Ответ написан
    Комментировать
  • Есть хорошие книги по java EE и Spring??

    @protven
    https://spring.io/guides для старта - за глаза хватит.

    Потом придумать себе какой-то проектик и реализовать его с помощью спринга.
    Ответы почти на все вопросы есть тут https://spring.io/docs/reference , то чего нет - всегда можно найти на StackOverflow.

    Потом уже можно почитать какие-то фундаментальные книги, чтобы скорее понять BestPractices при работе со спрингом.
    Ответ написан
    Комментировать