Библиотека Java разработчика
10.8K subscribers
1.14K photos
564 videos
58 files
1.44K links
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.


По всем вопросам @evgenycarter

РКН clck.ru/3KoGeP
Download Telegram
В самом популярном фрагменте кода за всю историю StackOverflow ошибка!

Rus https://habr.com/ru/post/478878/

Eng https://programming.guide/worlds-most-copied-so-snippet.html
Бесплатный образовательный онлайн-курс «Java Developer» от компании SENLA. Лучших студентов компания примет в свою команду.

Студенты курсов получат практические навыки и теоретические знания, которые необходимы для успешной разработки коммерческих проектов. Программа состоит из двух частей: Java EE + Java SE.

Тестовые задания принимаются по 15 августа включительно. Количество мест ограничено! Занятия начнутся уже в августе.

Наши преподаватели – опытные практикующие разработчики. Они готовы делиться знаниями и наставлять начинающих специалистов.

Подробности и регистрация по ссылке https://forms.gle/Cf2ixCkS8EmW9i1VA. До встречи на курсах!
Остались вопросы? Напишите нам @coursessenla

SENLA – международная IT-компания, основанная в 2012 году. В нашей команде более 450 разработчиков и специалистов из Беларуси, России, Польши и Хорватии.

Мы помогаем крупным игрокам финансового, банковского и медицинского рынков развивать проекты. Мы работаем в команде заказчика, создаем концепцию программного продукта, находим нестандартные решения, проводим аналитику, разрабатываем, тестируем и внедряем проекты.
Посетите нашу конференцию, запишитесь на курсы и станьте частью команды SENLA!
1
ReactiveX/RxJava

RxJava - Reactive Extensions для JVM - библиотека для создания асинхронных и основанных на событиях программ с использованием наблюдаемых последовательностей для виртуальной машины Java

https://github.com/ReactiveX/RxJava
Вопросы с собеседований.

Какова иерархия исключений.

Исключения делятся на несколько классов, но все они имеют общего предка — класс Throwable. Его потомками являются подклассы Exception и Error.

Исключения (Exceptions) являются результатом проблем в программе, которые в принципе решаемые и предсказуемые. Например, произошло деление на ноль в целых числах.

Ошибки (Errors) представляют собой более серьёзные проблемы, которые, согласно спецификации Java, не следует пытаться обрабатывать в собственной программе, поскольку они связаны с проблемами уровня JVM. Например, исключения такого рода возникают, если закончилась память, доступная виртуальной машине. Программа дополнительную память всё равно не сможет обеспечить для JVM.

В Java все исключения делятся на два типа: контролируемые исключения (checked) и неконтролируемые исключения (unchecked), к которым относятся ошибки (Errors) и исключения времени выполнения (RuntimeExceptions, потомок класса Exception).

Контролируемые исключения представляют собой ошибки, которые можно и нужно обрабатывать в программе, к этому типу относятся все потомки класса Exception (но не RuntimeException).
Мега подборка каналов для программистов🎯

https://t.me/progjob Вакансии для программистов

Системное администрирование 📌
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/linux_sup Новости и информация из мира Linux
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов

Программирование, фронтенд, Биг дата, мобильная р-ка, книги 📌
https://t.me/Angular_Vuejs Angular Vue js React
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/Frontend_now Все для фронтендеров
https://t.me/react_prog Все что связано с reactjs
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/developer_mobila Мобильная разработка
https://t.me/Welcome_Python Добро пожаловать в мир Python
https://t.me/BookPython Библиотека Python разработчика
https://t.me/programmist_of Книги по программированию
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_sup Программирование на Java
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/imobile_dev Все по мобильной разработке: iOS, Android
https://t.me/database_group Все про базы данных
https://t.me/cloud_comp Облачные сервисы, вычисления и безопасность
https://t.me/bigdata_world Data Science, Big Data, Machine Learning

IT новости 📌
https://t.me/htech_news Новости HighTech
https://t.me/all_itnews IT новости на английском
https://t.me/gmorning_news Последнии новости из мира науки
https://t.me/youtips_tricks Технологические советы и хитрости

Шутки программистов 📌
https://t.me/dev_jokes Daily Dev Jokes
https://t.me/itumor ITumor | программисты шутят

SMM, Seo, Wordpress 📌
https://t.me/allsocial_news SMM / Советы, Новости, Лайфхаки
https://t.me/seo_go Новости по SEO продвижению сайтов
https://t.me/news_wordpress Канал о самой популярной CMS

Защита, взлом, безопасность 📌
https://t.me/crypto_security_lab Материалы по информационной безопасности
https://t.me/thehaking Канал о кибербезопасности
https://t.me/Hackme_news Новости из мира хакинга

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/goodw_design Статьи по Веб дизайну

Должен знать 📌
https://t.me/UchuEnglish Английский с нуля
https://t.me/Pomatematike Канал по математике

Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика

Крипта 📌
https://t.me/crypto_moneygo Канал о крипте, новости, инсайды

VR, робототехника 📌
https://t.me/AR_VR_vision Компьютерное зрение, виртуальная реальность
https://t.me/robotics_scince Канал о Робототехнике и автоматизации
Вопросы с собеседований.

Можно/нужно ли обрабатывать ошибки jvm?

Обрабатывать можно, но делать этого не стоит. Разработчику не предоставлены инструменты для обработки ошибок системы и виртуальной машины.
Вопросы с собеседований.

О чем говорит ключевое слово throws?

throws – ключевое слово, которое прописывается в сигнатуре метода, и обозначающее что метод потенциально может выбросить исключение с указанным типом.
Погружение в паттерны проектирования
Александр Швец (2018)

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

Скачать книгу
Твоя карьера начинается на NIX IT Camp!

NIX IT Camp — это 2 дня лекций и воркшопов по техническим направлениям, бизнес-анализу, рекрутингу, психологии и английскому в IT. И все это в лучших традициях настоящего летнего лагеря — с кино под открытом небом, зажигательной дискотекой и душевными посиделками у костра с маршмеллоу ;).

Когда: 23–24 августа, регистрация с 10:30
Где: Харьков, Арт-завод «‎Механика», Парковая зона

На мероприятии ты сможешь:

● прослушать лекции о .NET, Java, iOS, Android, Magento, JS, BA, QA, PM, DevOps и по нетехническим направлениям;
● пообщаться с экспертами и принять участие в практических воркшопах;
● узнать о вакансиях в NIX и пройти экспресс-собеседование с рекрутером;
● получить оффер в команду в тот же день!

Все участники смогут получить на почту электронный сертификат, подтверждающий участие в образовательных лекциях и воркшопах на NIX IT Camp — достаточно отсканировать специальный QR-код во время ивента. При желании ты всегда сможешь прикрепить сертификат к своему резюме.


Для кого мероприятие:

● студентов и выпускников технических и гуманитарных специальностей;
● студентов и выпускников IT-курсов;
● начинающих программистов;
● фрилансеров из сферы IT — разработчиков, тестировщиков и всех-всех IT-специалистов;
● всех, кто мечтает начать карьеру в IT.

Не пропусти самый масштабный IT Camp этого лета. Регистрируйся по ссылке!

P.S. Мы заботимся о комфорте каждого участника. Поэтому просим соблюдать правила безопасности. Подробнее — на сайте мероприятия.
Вопросы с собеседований.

В чем особенность блока finally? Всегда ли он исполняется?

Когда исключение передано, выполнение метода направляется по нелинейному пути. Это может стать источником проблем. Например, при входе метод открывает файл и закрывает при выходе. Чтобы закрытие файла не было пропущено из-за обработки исключения, был предложен механизм finally.

Ключевое слово finally создаёт блок кода, который будет выполнен после завершения блока try/catch, но перед кодом, следующим за ним. Блок будет выполнен, независимо от того, передано исключение или нет. Оператор finally не обязателен, однако каждый оператор try требует наличия либо catch, либо finally. Код в блоке finally будет выполнен всегда.
Начни зарабатывать от 150 т.р!!!
Ты легко создашь 9 разных нейросетей способных:

✔️Вычислять курс акций.
✔️Определять стоимости квартиры.
✔️Распознавать возгорания и многое другое! 

3 дня увлекательной практики и никакой скучной теории!

🔹Узнаешь, как применять искусственный интеллект в твоей работе.
🔹Убедишься что искусственный интеллект - это легко и увлекательно.
🔹Живые занятия и общение с ведущими кураторами.

✔️Каждый участник получит сертификат!

💯Возьмем на стажировку в нашем университете.
💯Гарантируем трудоустройство.

Записывайся на практикум прямо сейчас, нажав СЮДА
Объектно-ориентированное программирование в Java
Гуськова О.И. (2018)

Учебное пособие посвящено объектно-ориентированному программированию на языке Java. Рассматриваются основные принципы объектно-ориентированного программирования, средства работы со структурами данных – коллекции и дженерики, принципы объектно-ориентированного дизайна.

Скачать книгу
Вопросы с собеседований.

Может ли не быть ни одного блока catch при отлавливании исключений?
Такая запись допустима, если имеется связка try{} finally {}. Но смысла в такой записи не так много, всё же лучше иметь блок catch в котором будет обрабатываться необходимое исключение.

String x = "z";
try {
x="234";
} finally {
x = "Finally";
}
3 причины учить Java начинающему программисту.
1. Java уже 8 лет входит в пятёрку самых топовых языков по данным StackOverflow. И это не просто хайп:
На Java пишут сервера, корпоративные системы, банковские приложения, игры (привет, Майнкрафт) и нейросети. Его используют Netflix, Amazon, Ebay и даже NASA
2. На hh.ru открыто почти 3 000 вакансий для Java-разработчика. Кодеров ищут банки, госсектор и телекомы. 25% компаний предлагают удалёнку — сможете работать откуда угодно
3. Java-разработчикам много платят. Уже джуниором будете зарабатывать от 75 000 рублей. Сеньорам готовы платить от 350 000 рублей — потолка нет


Оставьте заявку, а мы откроем доступ к первым 5 модулям курса. Это 5 часов интенсивной теории и практики с опытным преподавателем.
Вы оцените качество уроков, освоите азы профессии, а полученные знания закрепите в домашних заданиях.
Переходите на сайт и оставляйте заявку: https://clc.am/1c9pVw
Вопросы с собеседований.

Могли бы вы придумать ситуацию, когда блок finally не будет выполнен?
Блок finally выполняется не всегда, например в такой ситуации:


try {
System.exit(0);
} catch(Exception e) {
e.printStackTrace();
} finally { }

Здесь finally недостижим, так как происходит системный выход из программы. Общими словами: когда jvm умирает, ей не до finally (отсюда можете придумать другие примеры как убить jvm и ответить на вопрос в заголовке).
Вопросы с собеседований.

Может ли один блок catch отлавливать несколько исключений (с одной и разных веток наследований)?
Любишь программировать или природу? 🌲 Не нужно выбирать.

Мы вместе с Х5 Tech приглашаем на бесплатный кемпинг-уикенд <Природа кода> в Переславль-Залесский.

" Х5 Tech - это цифровая команда Х5 Group, которая разрабатывает технологичные и инновационные продукты для улучшения качества жизни миллионов покупателей.
Мы цифровизируем ритейл - одну из самых динамичных отраслей в мире, и прежде чем сделать новый прорыв, хотим замедлиться, поделиться нашим опытом и услышать вас.

Но в новом формате. Не в зале конференции, не в зуме, а на природе. Так и возникла философия <Природа кода https://link.prirodacodax5.tech/eXKgC> - слет лучших программистов на свежем воздухе, у костра, чтобы немного отдохнуть вдали от городской суеты, поговорить, подумать, задать новые вопросы.
Ведь если все время искать только ответы, вопросы однажды закончатся и развитие вместе с ними. "

📍Для кого: IT-фанаты, энтузиасты и визионеры по стекам Java/JavaScript/Python, уровня middle&senior
📍Где: AZIMUT Отель Переславль 4*
📍Когда: уикенд 11-12 сентября

Комплимент от Х5 Tech: трансфер, питание, проживание и активити - все бесплатно для участников слета.

Регистрируйся https://link.prirodacodax5.tech/eXKgC вместе с друзьями до 3 сентября.