Григорий Кислин@gkislin
Автор онлайн обучения Java: https://javaops.ru
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity
Specialization
Specialist
Ведущий
Java
Git
JavaScript
Обучение персонала
Коучинг
Проведение интервью
Подбор команды
It-консультирование
Было бы хорошо сделать некоторую вводную: что это такое, где применяется… Полагаю (на примере себя) что не все знакомы с этим чудом.
Мои 5 копеек как ведущего Java обучение:
Рад помочь. Про резюме не подскажу, кроме google...
Спасибо:) Жду продолжения. Небольшое замечание- в сервисе и контроллере мне кажется вместо get() более адекватно getAll(). Ну и картинки мне не очень..
Если коротко и мягко, то "не согласен". Будете много лет говнокодить, не догадываться об этом и считать себя асом. Как чукча — писатель. Необходим фидбэк и наставничество от опытных коллег. Варианты- обучаться либо работать в команде с ревью кода.
Я писал про стандартные API, которые входят в Java SE. Стронииих библиотек огромное количество. XStream не разу не юзал. В каких случаях им пользоваться удобнее?
Спасибо, интересно, не знал что можно StAX скрещивать с JAXB. Нашел пример с unmarshalling:
http://blog.bdoughan.com/2012/08/handle-middle-of-xml-document-with-jaxb.html
При этом работа со StAX чтобы добраться до элемента остается актуальна.
Тоже неплохо:) Но ДУП же цитата из "Бриллиантовой руки". Не поменять.
Взможно будет интересно и поучительно почитать истории выпускников: http://javaops.ru/view/story
Достаточно много, кто идет сразу middle
Была уже информация: https://jug.ru/2017/09/java-plans/
Спасибо, хорошая статья.
Немного из своего опыта общения с ним 5 лет назад:
Не соглашусь. По опыту моего обучения:
Spark, Ninja, Jooby — это все круто, модно и удобно но не для начинающих. Если вы напишите в резюме что работали с этими фреймворками и не сможете ответить на элементарный вопрос про сервлет на собеседовании шансов, что вас возьмут будет 0.
Некоторые вообще рекомендуют начинать изучение Java без IDE (я к ним не отношусь).
Для новичков самое основное- понимать, КАК внути все это работает. Я собеседовал людей, которые изучали Spring без знания основ (а сервлеты это основы). Ужастно. Николай Алименков задает новичкам на собеседовании вопросы, поверх чего реализован Hibernate. Если вы не ответите, что JBDC и не будете иметь про него представление- кому нужен такой разработчик?
Про JSP — с 2005 года я поработал более чем на 10 проектах. В 60% использовался JSP. Почему? Да потому что встроено в Tomcat (42% по статистике 2016 г) и на нем выводят что-то достаточно примитивное. Остальное делается в основном на js фреймворках. И еще потому что в основном проекты уже N-летней давности. И в 90% смысла переписывать JSP на чтото другое никакого. Далее — если вы знаете JSP, то например освоить Thymleaf или любой другой шаблонизатор будет легче. А сам JSP достаточно простой.
изучать Spring MVC можно только после того, как будете знать что такое сервлет. Тогда будет понятно что такое
DispatcherServletи паттерн Front ControllerКак можно работать со спринг не зная
HttpServletRequestи прочие 5 основных классов сервлетов? Как вы будете его хотя бы дебажить?Те еще раз- джуниорам нужно учить именно основы и то, что требуется в вакансиях. Проверить легко: на hh в поиске работы по ключевым словам, ограничив область поиска разработкой ПО.
Напоследок приведу цитату
Илон Маск
Таки надеюсь что автор не призывает полностью отказаться от библиотек-фреймворков и писать все самому:)?
Тогда вопрос встает о том, чем его заменить.
Что имеем в результате? Сильно сомневаюсь, что радость от программирование, скорось разработки и качество кода проекта станет выше.
spring-boot- да, за простоту запуска и все-из-коробки приходится платить тем, что его нужно поковырять, чтобы настроить. Но там все доступно, код на java и нет никакой автогенерации.
Те если надо сделать веб-приложение с авторизацией и базой данных (70% приложений) не вижу альтернативы писать все самому и набирать из разных библиотек. Только взять дургой фреймворк, который непонятно чем будет лучше для автора.
Простите, из какого фреймворка из вышеперечисленных это:
@TargetFilter?И хотелось бы конечно сравнения, какие из них поддерживают эту и другие фичи..
Посмотрите Stream javadoc для
filter,map, mapToInt, flatMap,и прочих промежуточных операций:@return the new streamА также в коде:
return new StatelessOp<P_OUT, R>(this, ...Те возвращается обертка над текущим потоком
Вот хорошая статья (можно начало по диагонали прочитать): https://habrahabr.ru/post/260149/
Про скала верно написано:
Для меня также основная задача языка (как и фреймворка) — упростить и ускорить разработку и поддержку
Вот тут подробнее: Дайджест: судьба Jigsaw
Сравнение OSGi c Jigsaw сильно напоминает рекламныю брошуру OSGi (Netcracker). Я полагаю надо все таки быть честными, раз пишете техническую статью. Jgisaw это же только механизм в Java, на основе которого можно уже строить различные фреймворки по динамической загрузке (если я это правильно понимаю). А что OSGi с 2000 года существует и далеко не майнстрим- так это плата за сложность обращения с ним. Вот если бы вы написали про его будующее, про возможности интеграции с Jigsaw- было бы интересно…
Впечатление такое, что обманули, причем непонятно где:)
Есть сервис, есть его клиентское API в виде отдельного модуля и клиентами он подтягивается.
В чем новизна и необычность? Зачем большая статья, когда это умещается в 2х строчках?
Еще мне интересно — почему сервис не должен зависеть от модуля API?
API обычно включает интерфейсы, сервис — их реализацию. Примеров таких куча:
slf4j-api<-logback-classicjavax.el-api<-org.glassfish.web.javax.elhibernate-jpa-2.1-api<-hibernate-core