Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (4)

Наибольший вклад в теги

Все теги (37)

Лучшие ответы пользователя

Все ответы (81)
  • JPA и Hibernate или Hibernate?

    @bobzer
    Java EE Developer
    JPA - это интерфейс языка JAVA, не имеющий реализации в самом языке. Если просто добавить аннотации JPA в свои классы, то не произойдет ровным счетом ничего. Для того, чтобы аннотации начали "работать", следует развернуть и настроить в проекте фреймворк, который "найдет" все классы с JPA-аннотациями и "состыкует" их с сущностями СУБД. Этим фреймворком у вас является Hibernate.

    По поводу "работать с hibernate можно и через JPA или отдельно от него" - тут в основном дело вкуса. У вас есть два варианта сообщить Hibernate какие классы "замапить" на таблицы БД:
    1. Добавить в классы аннотации JPA
    2. Создать XML-файлы, в которых будет описано сопоставление классов объектам БД.

    По доступной функциональности оба метода равны между собой, при этом аннотации JPA более современны. Я бы рекомендовал JPA, т.к. при открытии класса сразу будет видно, что он "замаплен", а в случае использования XML, "замапленный" класс визуально неотличим от других классов.
    Ответ написан
    1 комментарий
  • На чём писать программу для работы с таблицами Excel?

    @bobzer
    Java EE Developer
    В Excel есть встроенный язык Basic. Можно сделать всё не выходя за рамки самого Excel-а: напишите макрос, добавьте кнопки, вызывающие макрос с нужными параметрами.

    Если смысл задания именно в отдельной программе, то задача примерно следующая: открыть файл Excel, считать из него все непустые строчки и загрузить их в табличку в вашей программе. Далее всё делается средствами языка, от Excel уже ничего не зависит.

    Как открыть и считать файл подскажет Гугл по запросу "{язык} Excel".
    Ответ написан
    2 комментария
  • Какой выбрать Java Web UI framework?

    @bobzer
    Java EE Developer
    GWT - один из лучших вариантов для такой задачи. Если у вас постоянные пользователи, то сгенерированный GWT-скрипт будет грузиться в браузер единожды, и в дальнейшем весь интерфейс будет рисоваться в браузере, без обращений к серверу. Обращения к серверу понадобятся только для получения/передачи чистых данных, без html/xml оберток, и делаться это будет только тогда, когда это действительно требуется вашей логике, т.е., далеко не каждое действие пользователя будет вызывать обращение к серверу. К тому же, можно кешировать часто используемые данные на клиенте, снижая трафик и нагрузку на сервер. Еще один плюс - очень много логики (например, сложный форматно-логический контроль) можно выполнять на клиенте, без обращений к серверу.

    Насчет дизайна: в GWT есть минимальный набор компонентов, с помощью которого можно "нарисовать" динамический интерфейс любой сложности. Если ваша цель - не завлечь на сайт пользователей красивыми/необычными рюшечками, а создать функциональное рабочее место, то базовых компонентов должно хватить.

    Кстати, тот же Vaadin работает на GWT. Он дополняет его своими компонентами, но убивает на корню один из главных плюсов GWT - высокую степень независимости от сервера во время действий пользователя.

    Насчет нагрузки: 1000 человек, постоянно работающих в приложении, это много. Готовьте мощные сервера под СУБД и под сервер приложений, плюс держите в уме возможность развертывания кластера для распределения нагрузки.

    Если Вы - Java-программист, то разрабатывать под GWT будет приятно, а точнее - как обычно. Например, процесс разработки под JSF - то ещё "удовольствие", GWT в этом плане гораздо лучше.
    Ответ написан
    Комментировать
  • Из гуманитария в программисты, или как найти работу?

    @bobzer
    Java EE Developer
    У меня похожая ситуация, только в программисты я пришёл из строителей. Образование строительное, стаж работы на стройке 4 года после стройтеха. Пока работал на стройке вечерами изучал Pascal, как мог, без Интернета (конец прошлого века), благо приятель иногда приносил текстовики с какой-то инфой, ну, и конечно help самого Паскаля. За пару лет убедился в том, что мне это по душе, и что-то получается, решил как-то перебираться с улицы (стройки) в офис. Удалось устроиться на должность "бухгалтер-оператор", главное здесь было то, что это была первая работа в офисе и за компьютером. Нашел там себе возможность программировать, но слабую. После пары лет просиживания штанов там, стал смотреть вакансии (тогда это делалось путем просмотра местных газет). Вакансий было мало, но меня пригласили на собеседование, на котором я рассказал как писал игру на Паскале, работая с видеокартой на ассемблере, и том как к строчкам кода на машинном языке писал комментарии на ассемблере. Дали тестовое задание по аналитике (нужны были и аналитики и программисты, видимо дали то, что проще дать), связанное с таможней. Купил таможенный кодекс, что-то написал, принес - удивились (- откуда такие знания? - из книжек!), взяли на испытательный срок.

    Что такое СУБД и сервер приложений я тогда не знал, и первое время "горел" на работе - пахал как мог весь день, вечерами шел к тете и читал интернет (дома интернета не было). В общем взяли меня программистом, насколько помню толи $300 толи $400 начальный оклад был. Ну а потом втянулся, разобрался, стал одним из лучших, довелось и отделом разработки руководить, а сейчас нарасхват - работа меня сама находит... Одно большое НО - семьи не было. И даже при отсутствии семьи искал работу программистом не бросая текущую рутину.

    Итого: каменщик 4 года->завскладом 1 год -> оператором 2 года -> программистом стал в 27 лет
    Ответ написан
    2 комментария
  • Как защититься от сис.админа и программиста, храня секретные данные в БД?

    @bobzer
    Java EE Developer
    Не совсем ответ на Ваш вопрос, но всё же. Называть сведения о ЗП "высокосекретными", мягко говоря, неверно. Они не секретны, а конфиденциальны, и обычно защищаются пунктами трудового договора. Мне кажется, что у вас сейчас проблема в том, что поставлена задача, оторванная от реальности. Вы пытаетесь потратить уйму времени на разработку, породив при этом кучу проблем в последующей поддержке - на фикцию. Даже при успешной реализации, подумайте, что улучшится на предприятии? Сотрудники перестанут общаться между собой (в т.ч. тихонько интересуясь кто сколько "получает")? Компания при публикации резюме перестанет указывать вилку ЗП? Я бы порекомендовал серьезно задуматься над постановкой задачи, очень похоже на стрельбу из пушки по воробьям...
    Ответ написан
    1 комментарий