Ответы пользователя по тегу Java
  • Подойдет ли java в качестве первого языка?

    Согласен с @samosfator.
    Он будет проще Си, тем более Си++.
    Читаем это и это, если хотим лезть в энтерпрайсы.
    За недельку можно разобраться...

    Собственно есть хороший курс тут и тут

    Сразу писать "грамотно" не получится, нужно почитать книжек по шаблонам проектирования и разобраться с XP, TDD и другими подходами.
    Ответ написан
    5 комментариев
  • Где искать специалистов на переезд?

    Не ясно зачем вам столько народу, да ещё и к полякам с их националистически глюками и привкусом шовинизма. Вы бы начали с малого - работали удалённо с 2-3мя да и не заморачивались.

    В РФ искать смысла нет, уж больно не правдоподобно выглядит идея миграции русского в Польшу - нужно смотреть в сторону прибалтики и Украины. Хотя, вот, к примеру с Чехией и Дойчляндией у русских проблем нет. Найти в Киеве хороших программистов с требуемыми навыками и готовых переехать - очень сложно. У нормальных спецов либо есть работа за 2000-3000$ c месячными расходами в 1000$... даже если вы предложите 4000$ не ясно сколько из них может уйти на проживание. У хороших спецов по Java-хайлоаду (есть пара знакомых) месячная ставка в Киеве 6000$, а в Париже 15000$. Думаете они будут готовы менять место работы ?)

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

    Для флэшовых и мобильных игрушек вам 100% будет достаточно:
    Java Play2 akka ehcache jooq liquibase
    AS3 Away3D robotlegs
    Фронтенд - angular.js
    Можно взять Unity - в Европе его очень любят.
    Либо использовать Air / Starling.

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

    Никогда не понимал как люди меряются своими Junior / Middle / Senior ... чем-то там)
    Нет смысла мерить опыт временем. Обычно эти метрики как раз таки опираются на время, и не дают вам абсолютно никаких явных гарантий.

    P.S. под Java-хайлоадом подразумевается обработка пользовательских запросов от 10 до 20 ГБит на сервер.
    Ответ написан
    Комментировать
  • Java. Сериализация объекта в html

    Берём jsoup конструируем/парсим -> передаем Elements.
    Для json'а можно брать gson.
    Ответ написан
    1 комментарий
  • Можно ли на Java управлять внешними usb устройствами и какая библиотека для этого нужна?

    Есть JSR-80 и не так много библиотек которые его поддерживают, например вот порт libusb, а вот оффициальный request. Есть ещё для джостиков и HID барахла, правда не JSR-80. Если вам что-то специфическое нужно - пишите драйвер. Благо в винде сейчас с WDF это не сложно, а в линуксе и того проще.
    Ответ написан
    Комментировать
  • Как сделать камеру, которая рассчитывает столкновения?

    Я бы глянул jbullet.
    Он древний и давно не поддерживается, но для общих задач его должно быть достаточно.
    В принципе можно засунуть камеру в прозрачный шар, привязать её к центру учитывая ориентацию по одной или двум осям, и рассчитывать столкновения. Получится Zorb.

    К сожалению я не встречал актуальных 3d физ. движков под Java.
    Да и обычно чаще всего писать приходится под чистое Си, без плюсов.
    Ответ написан
  • Как записать правильно формулу на Java?

    Больше скобок
    Math.log (1 / (1 - Im * 100 / Ap)) / Math.log(1+Im)

    А так вы делите 1/1.
    Ответ написан
    Комментировать
  • Подходит ли Netty как HTTP сервер?

    Подходит просто замечательно.
    Советую глянуть на Play2 framework, jooq, liquibase и Akka.
    Ответ написан
    Комментировать
  • Стоит ли писать высоконагруженный сервер на Java?

    Есть Akka Netty (Typesafe Stack) Jooq ...
    В случае с С++ основной сложностью является отслеживание утечек памяти и правильна организация процесса разработки. В целом у вас больше времени уйдёт на профилирование и фаззинг.
    В Java основной проблемой является задержка при сборке мусора - лечится offheap кэшированием и Stack Allocator'орами.

    В целом Java на 20-30% медленнее из-за дополнительной прослойки для типобезопасности.

    Node.js конечно хорошо, но code maturity, поддержка и обратная совместимость решений обычно ужасны.

    Не ясно о каких нагрузках вообще идет речь.
    Для 500-1000 человек можете и на питоне написать...
    Как вы будете проводить нагрузочное тестирование ?

    В принципе не важно на чём писать ...
    Главное это использование epoll() / kqueue() механизмов.

    По личному опыту могу сказать что обработать 10Гбит трафика на Java это не большая проблема.
    В случае с erlang и node.js - просто тихий ужас. Но опять же зависит от задач.
    Ответ написан
  • Как выполнить действие после задержки в netty-socketio?

    Делается в Java подобное посредством ScheduledExecutorService.
    В библиотеке это реализовано так и так
    Вообще советую разобраться с содержимым пакета java.util.concurrent.

    Собственно советую глянуть Atmosphere - отлично интегрируется в Play2 / Grails, и поддержка в целом получше. С Socket.io там проблем нет.
    Ответ написан
    Комментировать
  • Как правильно спланировать архитектуру для приложения Java EE?

    Ну не знаю, я бы взял Grails и Swagger - не заморачивался с бинами.
    По поводу трафика: если поддерживается gzip - большие объёмы не проблема.
    Если вам нужно обрабатывать больше 60-80МБит трафика, то вопрос решается совсем по другому.
    Также важно помнить про ассинхрон в сервлетах...

    Собственно если нужно оповещать клиент о возникновении событий, то тут помогут Websocket'ы
    и SSE. Можно глянуть на Atmosphere и socket.io. XML или JSON - это уже что вам удобней.
    Ответ написан
    Комментировать
  • Стоит ли сейчас python-щику изучать Java или C++?

    В общем переходить на Java однозначно стоит, и сейчас острая нехватка Scala разработчиков - есть хорошие курсы на coursera. Разберитесь с Typesafe Stack и Play2 фреймворком. Lift успел морально устареть. Всё что может erlang может Akka... только это scala/java со всеми последующими приемуществами и недостатками. Гляньте Apache Direct Memory и Stack Allocator для решения проблемы задержек сборки мусора.

    C++ это хорошо если вы собираетесь сидеть на одной должности 5+ лет, и получать стабильную зарплату. С++ сейчас очень популярен в робототехнике/железе со всеми компьютерными зрениями и т.д.

    Сейчас вэб плавно уходит в Java, так что и вакансий будет гораздо больше в перспективе.
    Энтерпрайсы потиху оклямываются от Beraucracy Driven Development'ов, и J2EE сейчас вообще не в моде.

    Go сейчас конкретно недостаёт хороших библиотек, фреймворков и ORM'ов, хотя runtime там довольно съедобный. Думаю как-то написать MVC фреймворк под Go.

    С# - я не форточник, а mono дикий шлак. Xamarin туда же.
    Ответ написан
    Комментировать
  • Что можно реализовать на разных языках программирования? С++ Java Python на какие ОС?

    В первую очередь нужно научится "думать как программист"... но это все бредни)

    Если хотите реально чему-то научится то стоит начать с основ.
    Это Керниган Ритчи "Язык программирования Си".

    С++ не очень сложный язык. Он очень неоднозначный - одна задача может быть решена разными способами и у каждого из них будут свои недостатки. Тем более требует довольно специфических хаков против всяких там SFINAE и constant cast'ов.
    Особенно в последнее время стандартов С++ наплодилось...

    Учить С++ стоит, но до конца разобраться во всём будет очень сложно.
    По минимуму можно прочитать Герберта Шилдтa
    У него есть другие толковые книги по С# и Java - тоже можете глянуть.
    Ну и мне нравится Подбельский.

    С++ хорошо подходит для десктопных приложений.
    Тут можно почитать Макса Шлее Qt 4.8
    При этом особых сверхъестественных навыков С++ не нужно.
    Если хотите ити в "про" уровень - учите коллекцию библиоте boost.

    Java в последнее время очень хорошо себя зарекомендовала в вэбе.
    Хватит первого тома Core Java. Из фреймворков могу посоветовать Grails и Play2.

    Python / JS можно выучить на курсах Codecademy за 2-3 недели. Там же можно разгребсти html/css.

    Если хотите пойти в вэб...
    Желательно разобраться в haml sass compass stylus jade grunt bower yeoman bower angular библиотеках.

    Желательно разобраться с шаблонами проектирования, и почитать Мартина Фаулера.
    Есть ещё книги из серии Pragmatic Programmer самое интересное что у этого издательства нет ни одной плохой книги.

    Вообще по программированию и методологиям в целом стоит почитать совершенный код.
    Можно ещё почитать чистый код, и идеальную архитектуру.

    Для кроссплатформенных мобильных приложений можно разобраться с Air и Flex.
    Ответ написан
    Комментировать
  • Что выбрать: JavaScript + HTML5 или же Java под Android + может и веб?

    ИМХО Node.js не подходит для типовых веб-проектов


    "Новомодные" но ужасно нестабильные и сырые плюшки.
    От версии до версии никакой обратной совместимости кроме как у "дефакто" решений
    (читайте - прикладных утилит: yeoman, grunt, bower, stylus, sailsjs).
    Баги фиксятся месяцами, а важные фичи могут внедрятся годами...
    Сужу по backbone / angular / ember / meteor

    Serverside JS не торт. Максимум - prerender фронтенда.
    Сишные функции для оптимизации в node просто дикий шлак:
    на вызов тратится больше времени чем на выполнение.

    Вот из клиентского сейчас нормально работает Angular.
    В остальных случаях проявляются "детские болезни" обратной совместимости (у Angular их меньше) и утечки памяти в браузере (хотел бы я что бы это была шутка).

    "Java под вэб" это не страшный зверь, скорее игривый котёнок.
    Не стоит обобщать и принимать все за чистую монету.
    Не энтерпрайсом единным.

    Поедание оперативки лечится offheap кэшированием модели, все остальное без проблем.

    Серверная сишка это хорошо, но небезопасно и сложноподдерживаемо в долгосрочной перспективе.

    Гляньте Grails если так страшно за порог вхождения.
    Сам пишу на Play2, коим очень доволен.
    Правда там ещё нужно использовать Jooq и liquibase.

    Для отрисовки интерфейсов можно использовать ZK или Vaadin.

    Java выучить можно за 2 недели, причём первого тома CoreJava будет достаточно для вэба.
    JS тоже можно выучить на том же codecademy за 2 недели.

    Android это вообще отдельная тема, его API никак не связано с вэбом.
    Но и базовых знаний Java должно быть достаточно для освоения.
    Можно почитать вот это.

    p.s. почти мой шаблонный ответ на вопрос "а что учить после PHP?"
    Ответ написан
    4 комментария
  • Что из всего зоопарка технологий Java стоит использовать в своем проекте?

    Возможно вас устроит Jooq в качестве ActiveRecord и SQL конструктора.
    В большинстве случаев EclipseLink, Hibernate, eBean, iBatis довольно слоупочны.
    Особое внимание нужно уделять кэшированию модели - тут ehCache правит балом.
    Можно использовать offheap кэширование - Apache DirectMemory.
    Большинство CRUD'а может быть описано через restfull api, тут поможет Swagger.

    В последнее время j2ee стал синонимом глючности и слоупочности.
    Не стоит кидаться без веских оснований...

    Если очень хочется J2EE - можно пробовать Grails, Vaadin, ZK.

    Сижу на Play2 + angularjs и частично AIR / Flex уже довольно долгое время, очень доволен.
    Советую рассмотреть переход на Flex для построения интерфейсов.
    AIR отлично подходит для мобильных приложений.
    Ответ написан
    Комментировать
  • Стоит ли переходить работать с php на java?

    Я бы смотрел в сторону Angular, Play2, swagger, Jooq, Apache DirectMemory и не заморачивался с энтерпрайсом. Как показывает практика J2EE стэк не очень подходят для фриланса. Конечно есть исключения - можно глянуть Grails, Vaadin и ZK для RAD'а.
    У Grails ужасно низкий порог вхождения, я на него подсаживал рельсозависимых и джангистоманов; там уровень поддержки на несколько порядков лучше чем в большинстве решений из миров php/ruby/python.

    J2EE сейчас немного парализован, и с его использованием в продакшене связано не мало рисков. В первую очередь участились случаи взлома серьёзных учреждений которые используют JBoss и WebLogic. Сейчас как-то стало совсем непопулярно использовать сервлеты ...

    JSF / ADF сейчас отмирает.
    Spring очень простая и нужная штука если разобраться, правда есть свои проблемы и иногда лучше обойтись без него.

    По шаблонам проектирования, важно понимать: mvc, mvp (document-view), mvvm, cqrs-es, disruptor, proactor / reactor. Все остальное, "банальное" типа Factory, Builder, Facade можно подчерпнуть из книжек... в вэбе такое почти не используется, но для понимания остальных шаблонов нужно разобраться.

    В большинстве случаев мне приходится реализовывать CQRS-ES в Play2 через Angular + sse. Есть свои сложности с http кэшированием, и кэшированием модели... часто использую prerender.io для клиентов без JS'а и поисковых роботов. Вэбсокеты (Socket.io) работают медленнее (задержки выше, инициализация длительнее) чем sse, иногда приходится откатываться на флеш и long-polling, но это все по ходу дела приходится самому дописывать руками. Есть много классных решений типа restangular, правда большинство из них ещё довольно сыроваты - доверяю тому что сам пишу.
    Ответ написан
    3 комментария
  • JS Framework — UI, CSS, Layouts, REST, хорошая документация?

    Если не хочется плясать с html / js то лучше вооще не смотреть в сторону JS фреймворков.

    Для j2ee есть vaadin zk
    Отлично интегрируются с Grails.

    Не могу сказать что работают очень гладко, но в целом генерируемый html / css / js довольно вменяемый, и кастомизация проходит с пол-пинка.

    ИМХО ExtJS шлак, хотя и ExtGWT туда же ...
    Порог вхождения не так высок как пишут - документация хреновая и дилетантов много.
    По большему счету большое bloatware.

    Для яблофилов можно глянуть cappuccino
    Правда там сейчас тотальная перетрубация и раздел власти, будущее проекта довольно туманно.
    Ответ написан