• Как стать Java Middle Developer?

    @cssman
    Требования по таскам у заказчика(англоязычного) я узнаю сам, разрабатываю функционал тоже сам, потом тестирую (тестировщика ещё не наняли на мой проект).

    Поздравляю, ты мидл.

    Чтобы развивать дальше - ищи где или у кого учиться :) гит, сообщества, ментор, тренер. что угодно, если на работе нет возможности
    Ответ написан
    8 комментариев
  • Как стать Java Middle Developer?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Во-первых, само разграничение на джуна, мидла и сеньора очень условное. Я видел примеры того, как сеньор из одной компании не тянул на джуна в другой. Обусловлено это может быть как разным уровнем требований к профессионализму сотрудника, так и степенью соответствия области знаний сотрудника области деятельности компании. Экосистема Java очень объёмна, даже в её пределах знать всё тяжело.
    Во-вторых, объективно оценить себя самостоятельно невозможно. И даже оценка со стороны тоже может быть не показательна, как я уже писал выше, в разных компаниях разные нормы. И серьёзность компании не показатель. Я видел супепрофессиональные отделы в региональных продуктовых магазинах и частных клиниках и видел огромные ИТ-службы полностью состоящие из профанов в федеральных банках и транснациональных торговых сетях.
    Решаются эти две проблемы относительно просто - смело претендуйте на большее. Естественно, вас попросят подтвердить ваш уровень. Если смогли, вы ему соответствуете. Если нет, готовьтесь лучше. И чем большему количеству людей вы сможете доказать свой уровень, тем более он объективен.
    Что касается развития и целей для дальнейшего роста, мозг развивается, если его напрягать. Нужно всё время практиковаться, всё время изучать что-нибудь новое, всё время искать дополнительные способы применить свои силы. Я часто слышу, что в маленькой компании нет возможности развиваться - это неправда. Как раз в кровавом энтерпрайзе приходится делать годами одно и то же и работать с махровым легайси, без возможности что-либо изменить без полугодового согласования экономического обоснования изменения. Маленькие компании на много более гибкие в выборе технологий и методов работы. К тому же, всегда есть возможность завести пет-проект. Чтобы выбрать технологий для пет-проекта, найдите все вакансии java-программистов на нескольких работных сайтах, отсортируйте по зарплате и в списке требований топовых позиций найдите то, чего не знаете. Потом повторите подобную операцию с фрилансерскими биржами.
    Ответ написан
    Комментировать
  • Как правильно настроить viewResolver в Spring?

    zolt85
    @zolt85 Автор вопроса
    Программист
    Проблема была в том, что я использовал класс org.springframework.web.portlet.ModelAndView вместо
    org.springframework.web.servlet.ModelAndView в классе контроллера. Всем спасибо.
    Ответ написан
    Комментировать
  • Как развернуть Java приложение на сервере?

    kirill89
    @kirill89
    Подскажите какой у вас хостинг? Наиболее вероятно у вас просто виртуальный хостинг, который поддерживает ограниченный стек технологий (обычно PHP, MySQL и т.п.).

    Для запуска произвольной программы вам потребуется VPS - полноценный виртуальный сервер, например на Ubuntu. Там будет root доступ и вы сможете поставить что угодно.

    Далее, если ваша программа предназначена для использования в контейнере - поставьте tomcat/jetty или любой другой контейнер на ваш вкус. Иначе - просто запускаете из консоли примерно так: java -jar <jar-file-name>.jar
    Если нужно что бы работало когда вы закроете консоль - посмотрите в сторону команды nohup.
    Ответ написан
    2 комментария
  • Как развернуть Java приложение на сервере?

    @bromzh
    Drugs-driven development
    .class? А JAR/WAR для кого придумали?
    Если у тебя веб-приложение, то нужен контейнер сервлетов/сервер приложений, который умеет запускать веб-приложения. Их упаковывают в war. В этом архиве должен быть дескриптор развёртывания web.xml. Если у тебя обычная программа, то пакуй в jar.
    Ну и нифига не понятно, что за "техподдержка" и что за "сервер". Ты пользуешся обычным хостингом? Нафига, 2014 на дворе. Есть же дешёвые VPS-ки. Арендуй какой-нибудь сервак и разверни на нём всё.
    Ответ написан
    1 комментарий
  • Как развернуть Java приложение на сервере?

    risik
    @risik
    Программист
    Помимо tomcat есть много других java серверов, например jetty. Но без JRE или JDK на сервере Вы их не сможете запустить.

    Вам сервер каким образом доступен? Только в виде какой-то панели управления через которую Вы можете залит файлы? FTP? SSH?

    Есди ssh доступен - заходите и ставьте JDK и TomCat. Потом перепишите Вашу программу в виде сервлета и разверните ее под TomCat.
    Ответ написан
    2 комментария
  • Почему не заводится JPA?

    zolt85
    @zolt85
    Программист
    Не удивлюсь, что ему отрывает башку обилие настроек в persistance.xml. Оставьте настройки только для Hibernate.
    Вот эти я имею ввиду.
    <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test"/>
                <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
                <property name="hibernate.connection.username" value="root"/>
                <property name="hibernate.connection.password" value="root"/>
    Ответ написан
    Комментировать
  • Какой js фреймворк лучше выбрать для большого проекта?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    1. Понимаете ли вы что такое высоконагруженный проект? (Нет)
    2. Какую нагрузку и на что вы предполагаете? (Очень интересно)
    3. Как язык программирования вообще связан с нагрузкой? (Ответ: никак)
    Ответ написан
    Комментировать
  • Как сделать правильный выбор между C# и Java?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Простому разработчику, наверное, все равно, но разработчику, который в будущем будет искать работу...
    Простого разработчика - всегда ищет работа!
    А разработчик-лентяй - ищет сам работу, чтобы обучаться и ещё за это получать деньги!
    Советую, вначале, стать простым разработчиком. ;)
    Ответ написан
    5 комментариев
  • Можно ли это переписать на ООП? И как примерно всё это можно распределить по классам?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Попробуйте натянуть этот функционал на несложный фреймворк вроде laravel - да, он не идеальный, но как по мне лучше начать делать хоть как-то, а потом постепенно разбираться, как писать ООП красиво.
    Items, users, images - могут стать классами моделей, где описаны их свойства и методы для их получения/записи.
    Из function_images можно написать модуль (условно говоря папочку с набором классов-сервисов), где будет описана логика ресайза отдельно, логика обрезки отдельно и т.д.
    Ответ написан
    Комментировать
  • Постигаю MVC, для начала обучения так сойдет?

    NikitOS_MV
    @NikitOS_MV
    Король шутов
    В уроках все хорошо.
    ООП не такой уж и сложный, это только так кажется, пока не попробуешь.

    Посмотрите эти уроки, тут все понятно (ИМХО) - клик
    Ответ написан
  • На что похож php?

    zetamen
    @zetamen
    В поисках нового
    PHP похож на алгоритм - по одному условию показываешь один текст, если условие не выполняется - показываешь другой текст.
    Ответ написан
    Комментировать
  • На что похож php?

    OtshelnikFm
    @OtshelnikFm
    Обо мне расскажет yawncato.com
    PHP похож на слона
    Ответ написан
    6 комментариев
  • Как лучше отображать связи в таблицах?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Возьмите уже реализацию Doctrine или Active Record и не жуйте мозг. Join и subquery - инструменты, которые оба хороши для своих определенных задач. Выбирать один из них как сферический инструмент в вакууме нельзя. А ещё subquery как правило сильно медленнее join
    Ответ написан
    Комментировать
  • Контроль доступа в symfony, не совсем понимаю тебя?

    @Flying
    Symfony - это в первую очередь framework для обработки HTTP запросов и поэтому многие компоненты по-умолчанию "заточены" именно под этот сценарий.

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

    Вам необходимо определить для себя что означает "привязка привилегии к функционалу" с точки зрения кода приложения. Вы планируете оставить это разделение прав доступа на уровне "пускать / не пускать по определённому route" или вы будете в сервисах приложения вызывать что-то подобное Security::isAllowed()? Symfony по-умолчанию реализует первый подход, но ничто не мешает вам организовать собственную реализацию основных компонентов. Если вам нужен ACL (а именно так называется "привязка привилегии к функционалу") - то эта функциональность вынесена в отдельный ACL bundle в Symfony 4, скорее всего именно она вам и нужна.

    По поводу связки role = privilegy - нет, в общем случае это не так. Необходимо разделять процессы аутентификации (в результате которого подтверждается валидность пользователя и определяются его роли) и авторизации (в результате которого определяется может ли аутентифицированный пользователь получить доступ к тому или иному ресурсу).

    Если говорить о работе Symfony Security в контексте обработки HTTP запроса - то аутентификация производится в процессе прохождения запроса через т.н. firewalls, их задача - каким-либо образом определить что это за пользователь и сформировать token. Процесс авторизации построен вокруг т.н. voters которые "голосуют" за/против/воздержался по вопросу "пускать/не пускать", в документации есть целый ряд примеров. Надеюсь факт того что voters могут быть произвольными и иметь любую собственную логику - довольно очевиден. К примеру тот же ACL bundle как раз реализует voter который принимает решение о доступе на основе ACL list'а (который, конечно же, может находиться и в базе данных), но в целом это частный случай.
    Ответ написан
    1 комментарий
  • Определение нарушения уровня абстракции?

    forketyfork
    @forketyfork
    Если говорить о нарушении уровня абстракции в методе, то оно, как правило, заключается в том, что метод выполняет несколько действий, которые относятся к разным уровням абстракции.
    Скажем, если в одном и том же сервисном методе присутствует как бизнес-логика, так и обращения к базе данных или файловой системе, не абстрагированные, например, через DAO, то это — нарушение абстракции на уровне метода.

    Если говорить о нарушении уровня абстракции в отношении класса, то оно обычно представлено тем, что разные методы класса относятся к разным уровням абстракции.
    Например, если одни методы DAO в качестве параметров получают доменные объекты, а другие — значения полей для прямой вставки в таблицу, то это — нарушение абстракции на уровне класса.
    Ответ написан
  • Прочитал книгу по PHP, что дальше?

    SowingSadness
    @SowingSadness
    web-разработчик
    Стругацких, Пикник на обочине
    Ответ написан
    2 комментария