Ответы пользователя по тегу Java
  • Искать ли альтернативу Java?

    Snowindy
    @Snowindy

    Не ищите альтернативу Java. Язык проще, чем C, намного более управляемый с точки зрения дурацких ошибок новичка (ваш случай). К тому же, если вдруг соберетесь работать программистом, вероятность найти работу на C и C++ значительно меньше, чем на Java.

    Ответ написан
    2 комментария
  • Как правильно писать на Java/Scala/C#/etc?

    Snowindy
    @Snowindy
    На Java, особенно с использованием Spring Framework, нормальная разработка примерно такова
    1) делим систему на слои: слой хранения данных с интерфейсом, слой бизнес-логики с интерфейсом, слой веб-приложения или веб-сервиса (к примеру).
    2) Каждый из слоев обкладывается Unit-тестами (автоматизированное тестирование), при этом остальные части системы, на которые есть зависимости, выглядят просто как интерфейсы, которые можно «эмулировать» на время тестов (техника test mocking).
    3) Интеграционное тестирование (автоматизированное/полуавтоматизированное тестирование) — несколько слоев запускаются почти в реальном окружении, и тестируются вместе наподобие черного ящика. Смотрим на то, как работает система в сборе.
    4) Ручное тестирование всей системы перед релизом — к этому вы как раз привыкли.

    Основная работа происходит на этапах 1 и 2. Цикл тест-изменение кода-тест — происходит обычно в течение нескольких секунд, так как Unit-тесты легковесные.

    Цикл разработки, описанные вами, обладает одним серьезным ограничением — никакой автоматической защиты от регрессий функциональности. Для этого и пишут тесты.
    Ответ написан
    5 комментариев
  • Порекомендуйте стек технологий основанный на Java для вебприложения?

    Snowindy
    @Snowindy
    В дополнение в авторам остальных ответов, хочу добавить одну интересную деталь про разработку веб-приложений и их архитектуру.

    Некоторые веб-фреймверки так устроены, чтобы брать на себя многие функции по работе с БД (к примеру, Grails использует для этого очень удобный ORM «GORM»). Таким образом, выбрав подобный фреймворк и не имея с ним особого опыта, и посмотрев сетевые примеры приложений типа PetStore (т.е. карманные приложения для примера работы фреймворка), можно случайно наколбасить так, что произойдет лок функциональности внутри веб-приложении.
    Пример: Случайно может получиться так, что вся логика асинхронного процессинга сообщений окажется внутри веб-приложения. Я видел такое. Веб-приложение запускалось 5 минут…

    Сразу это учитывайте при выборе архитектуры, разделяйте функциональность по слоям.
    К примеру,
    1. бэкенд для всей логики, не касающейся веб-приложения на Spring
    2. Фронт на Grails, только необходимое
    3. Оба модуля могут смотреть на одну и ту же базу, так что можно использовать лучшее из обоих миров, к примеру Spring-Data-JPA для бэкенда и GORM для фронта.
    Ответ написан
    Комментировать
  • Откуда начать изучение Java?

    Snowindy
    @Snowindy
    Если вам надо только оптимизировать приложение, гораздо дешевле будет взять и прооптимизировать его архитектурно, чем
    1) решаться изучать _в_теории_ более быстрый язык программирования и
    2) полностью переписать на нем все без потери скорости

    Изучение всех возможностей Java может длиться годами, я уже все 4 года как плотно на ней работаю, а Java EE до сих пор отчасти путано понимаю
    Ответ написан
    1 комментарий
  • Как вы используете Groovy в своем Java проекте?

    Snowindy
    @Snowindy
    В другом проекте серьезно используем Groovy скрипты внутри docx-документа для формирования договоров в формате docx.
    Я даже специально написал библиотеку в общем доступе. snowindy.github.com/scriptlet4docx

    Ну и конечно Grails-сайты.
    Ответ написан
    Комментировать
  • Как вы используете Groovy в своем Java проекте?

    Snowindy
    @Snowindy
    Используем для скриптов валидации выходных данных системы. Тест-кейсы и валидирующие скрипты пишутся тестировщиками.
    Все пути к скриптам валидации настроены через БД, так что команда разработчиков не сильно вмешивается в автотесты.

    Также тестировщики пишут код для SoapUI-моков, там также используется Groovy.
    Ответ написан
    1 комментарий
  • jdbc - два запроса в одном соединении

    Snowindy
    @Snowindy
    Скорее всего, вам нужно будет получить другое соединение для второго запроса. Но я бы так не делал.
    Если вам надо одновременно читать из двух мест в одной базе, значит проблема в дизайне. Вероятно, стоит применить одно из:
    1) написать один JOIN для двух таблиц и вернуть его
    2) Начитать первый результат в память и работать с этими данными во время итераций по второму
    3) Использовать хранимую процедуру в БД, которая сделает всю логику и вернет результат.
    Ответ написан
  • Простенькое веб приложение-парсер

    Snowindy
    @Snowindy
    До создания сайта.
    1. Создаем структуру базы.
    2. Парсим содержимое исходного сайта, используя клинер грязных html-тэгов (нужен при некорректной разметке исходного сайта), записываем в базу.

    Создание сайта:
    1. Используем фреймворк Grails (довольно простой, без xml-конфигов и т.п., но мощный) для генерации вьюшек, вычитки данных из базы.
    2. Сайт деплоится на хостинг, туда же переливается база.
    Ответ написан
  • Что выбрать для десктопного приложения на Java?

    Snowindy
    @Snowindy
    Сам Oracle активно продвигает будущую замену Swing — JavaFX 2.

    По словам разработчиков Oracle на конференции JavaOne, там много хороших вещей типа стилизации UI с помощью CSS. Соответственно, приложение может выглядеть одинаково на всех платформах.
    Ответ написан
    4 комментария
  • Изучение нового основного языка. Java?

    Snowindy
    @Snowindy
    С точки зрения денег, кстати, перемена PHP на Java, мало что значит. Тут, на хабре, прямо сейчас в правой колонке видно 90 тыр для PHP-разработчика.

    Стоит ли менять шило на мыло?

    К тому же с Java в Enterprise обплюетесь, на контрасте… Сервера запускаются в продакшене чуть ли не по полчаса, все тяжелое, неповоротливое. Бееее после веба.

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