• С чего начать изучать бекенд разработку на Java?

    aparusov
    @aparusov
    Разработчик ПО, предприниматель
    Добрый день, если рассматривать серверную часть на Java, то можно копать в сторону технологии EJB (часть Java EE). По сути, это Java классы на сервере, которые обрабатывают запросы от клиентов и ими реализуется вся бизнес логика (средний уровень, сервер приложений). В качестве сервера, например, может быть JBoss, точнее ныне WildFly ( https://ru.wikipedia.org/wiki/WildFly ). По моему опыту, - все неплохо работает, в том числе с Андроидными клиентами ( www.volocktech.ru/index.php/2016/11/16/javaee-meet... ). WildFly может выставить наружу, как чистые Java бины, так и Web сервисы с WSDL и REST сервисы. У нас все эти варианты используются. Причем Андроид подключается к серверу через REST. Главные бины с бизнес логикой у нас @Stateless, для работы с БД используем Hibernate (встроен в WildFly) и PostgreSQL. Операции с БД выполняются с помощью простых Java объектов с аннтоацией @Entity.
    Для обмена с клиентами используются POJO (простые Java классы, но не те, что @Entity!)
    Использование этой технологии это не очень простой путь, но для создания серьезных приложений хороший вариант.
    Если хочется как следует изучить технологию, лучше книгу иметь типа такой: https://www.litres.ru/debu-panda-2/ejb-3-v-deystvi...

    Есть еще более простые варианты по технологии Servlet, но про них ничего не скажу, т.к. не использовал.
    Ответ написан
    Комментировать
  • Доступ сетке за «серым» IP?

    aparusov
    @aparusov
    Разработчик ПО, предприниматель
    Чтобы все прояснить (поправьте, если в чем-то не прав).
    Есть два понятия:
    • Статический/Динамический IP - меняется ли он самопроизвольно (при подключении к провайдеру) или нет
    • Серый/Белый IP - Серый IP - это адрес в локальной сети провайдера, аналогично 192.168.1.xxx, Белый IP - полноценный адрес в Интернет


    Далее. Могут быть разные комбинации этих двух свойств. Самое главное, что, в общем случае, прямое подключение по Серому IP из Интернет не получится (без использования вспомогательного сервера с Белым IP). При этом прямое подключение к Динамическому Белому IP вполне возможно с использованием DynoDNS.

    Оптимальный (но не самый простой) вариант решения проблемы с Серым IP - поднять VPN сервер на своем VDS, у которое есть Белый IP. Также, можно использовать различные платные и, возможно, бесплатные сервисы типа TeamViewer, Splashtop, LogMeIn-Hamachi, NetRouter, .... (в зависимости от потребностей)
    Ответ написан
    Комментировать
  • Чем заняться физику в IT?

    aparusov
    @aparusov
    Разработчик ПО, предприниматель
    Если хочется в будущем быть программистом желательно ненадолго погрузиться на самое дно - ассемблер, - например, можно какую-нибудь несложную железку на AVR собрать и запрограммировать (для физика это должно быть близко) ну или что-то для обычного компа написать. Ассемблер - это понимание компа на принципиально другом уровне, по сравнению даже с C, не говоря уже о всяких высокоуровневых языках. Можно сказать, что это как квантоватая физика, теория относительности и субатомный уровень, одновременно, в физике :) Опыт программирования на ассемблере ничем не заменить - на всю жизнь.
    Ответ написан
    Комментировать
  • Ноутбук Windows для web-дизайнера?

    aparusov
    @aparusov
    Разработчик ПО, предприниматель
    Память 8гб и выше, желательно SSD диск (на ноутах HDD часто тормозные), процессор современный Intel Core (но можно не топовый) или аналогичный от AMD, экран от 15 дюймов и, очень желательно, хороший стационарный монитор от 21 дюйма на основном рабочем месте. Если внешний монитор не реален (постоянные переезды, нет фиксированного рабочего места, ...), то брать ноут с экраном 17 дюймов (в крайнем случае 15), с хорошей IPS матрицей
    Ответ написан
    Комментировать
  • Логическая задача: Как определить кто из двух спорящих оказался прав?

    aparusov
    @aparusov
    Разработчик ПО, предприниматель
    Нужно основывать решение не на доводах, а на фактах, их доказательствах и логических рассуждениях.
    Ответ написан
    Комментировать
  • На чем писать кроссплатформенное GUI приложение?

    aparusov
    @aparusov
    Разработчик ПО, предприниматель
    Да, C++ на порядок сложнее по сравнению Java и С#, хотя Qt многое упрощает.

    Для кроссплатформенных офисных приложений хороша Java, - GUI на JavaFX или Swing, но не SWT (в нем много косяков, которые отнимают много времени). Если лучше знаешь C#, то на нем (язык посовременнее, фреймворк попроще будет) и сразу в MonoDevelop (так-как нужна кроссплатформенность).

    С серверной частью (если трехзвенка) важно определиться на чем она должна работать (в какой ОС). Если тоже кроссплатформенная, то лучше все на java делать и разобраться с серверными технологиями Java: Spring или Servlet-контейнер или даже сервер Java EE. Использовать ORM (Hibernate, например). Но с этим стеком Java придется повозиться, - порог вхождения высокий, зато потом открываются богатые возможности (независимые от ОС! ).
    Ответ написан
    Комментировать
  • Какие есть тонкости работы на курорте удаленно?

    aparusov
    @aparusov
    Разработчик ПО, предприниматель
    По 1-му вопросу, - тонкость есть одна, очень важная, но понимается она не сразу. Касается это не только курортов, а, вообще, удаленной работы. Надо постараться физически отделить работу от дома и отдыха. Желательно, чтобы на работу надо было хоть немного пройти, проехать. Думаю, хорошие варианты, это офисы co-working, или съем отдельного помещения поблизости. Если, все-таки, это невозможно, то надо выделить для работы определенное место и время, чтобы не отвлекаться и не отвлекали близкие (жестко). Особенно, это актуально, если есть семья.
    Ответ написан
    2 комментария