Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Добрый день!
Представляю Вам ссылку на сайт компании-https://www.id-mt.ru/
Мы разработчик системы электронного документооборота (именно внутреннего документооборота) на Российской платформе. В рамках директивы правительства что все гос компании должны перейти на Российское ПО мы внедряем наше решение как раз в гос компании. У всех заказчиков свои требования и платформа постоянно дорабатывается.
В настоящее время, мы находимся в поиске , Ведущего Java- разработчика (удаленное рабочее место, вилка до 350 000 nett)

Описание вакансии:
Обязанности:
Анализ технического задания, выбор технологий и инструментов для реализации, согласование технических решений;
Разработка программных алгоритмов, тестов, профилирование, документирование;
Рефакторинг существующего кода.
Требования:
Опыт разработки на Java SE 7, 8;
Опыт работы с Jira, Maven, Git;
Опыт создания Web-сервисов;
Уверенное владение стандартной библиотекой;
Знание основных алгоритмов и шаблонов проектирования ПО;
Знание технического английского языка, чтение профессиональной литературы;
Обучаемость, умение логически мыслить;
Умение разбираться в чужом коде.
Навыки, которые дадут Вам преимущество:
Владение технологиями Web-разработки: HTML, JavaScript, CSS, JQuery, GWT, Vaadin;
Опыт работы с реляционными БД (MySQL, PostgreSQL);
Опыт работы с ОС Linux.
Условия:
Удаленная работа
График 5/2
Оформление по ТК РФ, ДМС
зарплата обсуждается с успешным кандидатом (вилка 300 000-350 000 nett)
Контакты: @Evdokimova_aa [email protected]
Открываем виртуальные двери для вас!

Приглашаем на онлайн-ивент «День открытых дверей» от IT One – нового амбициозного разработчика ПО, который сочетает в себе преимущества крупной компании и энергию молодого стартапа.

🧩 Мы строим цифровое будущее России. Лично участвуем в проектах, которые коснутся почти всех жителей страны.
🧩 За 3 месяца существования выросли в полтора раза – до команды из 350 спецов.
🧩 Передовой стек: Java 8, Spring Boot, Docker, Kubernetes, Cassandra и др.
🧩 Каждый день работаем с highload-проектами, микросервисной архитектурой, ресайзингом окружения средствами самой системы и другими интересными вызовами.

Как выглядит такая работа изнутри? Присоединяйтесь к трансляции 5 апреля в 18:00 (МСК) – расскажем подробно!

🔥 Место встречи изменить нельзя: https://is.gd/AnCV3T
Уникальный (в рамках веб-приложения) объект ServletContext реализует интерфейс javax.servlet.ServletContext и предоставляет сервлетам доступ к параметрам этого веб-приложения. Для предоставления доступа используется элемент <context-param> в web.xml:

<web-app>
...
<context-param>
<param-name>exampleParameter</param-name>
<param-value>parameterValue</param-value>
</context-param>
...
</web-app>

Объект ServletContext можно получить с помощью метода getServletContext() у интерфейса ServletConfig. Контейнеры сервлетов так же могут предоставлять контекстные объекты, уникальные для группы сервлетов. Каждая из групп будет связана со своим набором URL-путей хоста. В спецификации Servlet 3 ServletContext был расширен и теперь предоставляет возможности программного добавления слушателей и фильтров в приложение. Так же у этого интерфейса имеется множество полезных методов таких как getServerInfo(), getMimeType(), getResourceAsStream() и т.д.
Популярность языка Java растёт, востребованность разработчиков — тоже! Хочешь освоить новое направление в IT? Тогда попробуй себя в Java-разработке!

Ждём тебя тут: ✌️ https://clc.am/CqBE1g.

За 3 дня ты:

✔️ получишь базовые навыки программирования;
✔️ поймёшь, чем занимается Java-разработчик;
✔️ напишешь программу для мониторинга активности рабочего стола.

🔥 Полезными лайфхаками поделится разработчик с 15-летним опытом, директор центра SymbioWay, который находит IT-специалистов для крупнейших компаний России, — Даниил Пилипенко.

🗓 Встречаемся с 5 по 7 апреля в 16:00 по московскому времени!

🎁 Всех участников ждут подарки от издательства МИФ. А те, кто выполнят домашнюю работу, получат сертификат на 15 000 рублей на любой курс Skillbox!
FutureTask представляет собой отменяемое асинхронное вычисление в параллельном Java приложении. Этот класс предоставляет базовую реализацию Future, с методами для запуска и остановки вычисления, методами для запроса состояния вычисления и извлечения результатов. Результат может быть получен только когда вычисление завершено, метод получения будет заблокирован, если вычисление ещё не завершено. Объекты FutureTask могут быть использованы для обёртки объектов Callable и Runnable. Так как FutureTask реализует Runnable, его можно передать в Executor на выполнение.
#вопросы_с_собеседований
Приведите примеры основных шаблонов проектирования.
☕️ Делегирование (Delegation pattern) - Сущность внешне выражает некоторое поведение, но в реальности передаёт ответственность за выполнение этого поведения связанному объекту.
☕️ Функциональный дизайн (Functional design) - Гарантирует, что каждая сущность имеет только одну обязанность и исполняет её с минимумом побочных эффектов на другие.
☕️ Неизменяемый интерфейс (Immutable interface) - Создание неизменяемого объекта.
☕️ Интерфейс (Interface) - Общий метод структурирования сущностей, облегчающий их понимание.
☕️ Интерфейс-маркер (Marker interface) - В качестве атрибута (как пометки объектной сущности) применяется наличие или отсутствие реализации интерфейса-маркера. В современных языках программирования вместо этого применяются атрибуты или аннотации.
☕️ Контейнер свойств (Property container) - Позволяет добавлять дополнительные свойства сущности в контейнер внутри себя, вместо расширения новыми свойствами.
☕️ Канал событий (Event channel) - Создаёт централизованный канал для событий. Использует сущность-представитель для подписки и сущность-представитель для публикации события в канале. Представитель существует отдельно от реального издателя или подписчика. Подписчик может получать опубликованные события от более чем одной сущности, даже если он зарегистрирован только на одном канале.
🗣 45 русскоязычных подкастов для программистов

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

https://proglib.io/sh/ySgBOqZxJw
☕️ Создать потомка класса Thread и переопределить его метод run();
☕️ Создать объект класса Thread, передав ему в конструкторе экземпляр класса, реализующего интерфейс Runnable. Этот интерфейс содержит метод run(), который будет выполняться в новом потоке. Поток закончит выполнение, когда завершится его метод run().
☕️ Вызвать метод submit() у экземпляра класса, реализующего интерфейс ExecutorService, передав ему в качестве параметра экземпляр класса, реализующего интерфейс Runnable или Callable (содержит метод call(), в котором описывается логика выполнения).
Хотите руководить командой разработки? Тогда записывайтесь на специальный курс от GeekBrains и AGIMA для тех, кто давно хотел перейти от middle- и senior-разработчиков к руководителям команд. Курс поможет в освоении всех необходимых компетенций, а эксперты-преподаватели поделятся инсайдами.

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

Кому точно подойдет курс:
- Senior- и middle- разработчикам
- Начинающим руководителям команд
- Практикующим руководителям команд

Кстати, при покупке курса до 13 апреля действует скидка 30%, к тому жевы получаете еще 7 курсов в подарок: от умения считать юнит-экономику до знаний в интернет-маркетинге. Круто же!

Записаться на курс, посмотреть трейлер и подробнее ознакомиться с программой можно здесь.
#вопросы_с_собеседований
Есть класс Point{int x, y;}. Почему хэш-код в виде 31 * x + y предпочтительнее, чем x + y?
С нас крутые спикеры, полезные лекции и трудоустройство, с тебя – желание учиться и минимум год опыта коммерческой разработки на Java.

Как все проходит?
3 раза в неделю на протяжении двух месяцев тебя будут обучать Senior’ы и Teamlead’ы ведущих банков страны. Обучение можно совмещать с работой.

Чему будут учить?
На курсе будем изучать Core Java, промышленную разработку на Java, базы данных, Spring, Kafka, Kubernetes и Istio. Помимо этого еще будут практические занятия и домашние задания.

Что будет после учебы?
Трудоустройство в Цифровые привычки. Ты будешь работать над высоконагруженными,отказоустойчивыми проектами.

Пройти вступительный тест на курс: https://cutt.ly/3xOE6iS
Ответ на вопрос: https://yangx.top/javaproglib/2367

Множитель создает зависимость значения хэш кода от очередности обработки полей, что в итоге порождает лучшую хэш функцию.
☕️ 7 причин стать разработчиком на Java в 2021 году

Стремительно меняющиеся тренды, новые языки и высокие требования к коду ставят перед новичком вопрос: какой язык изучать, чтобы наверняка? Мы рекомендуем выбрать Java, несмотря на огромное
количество ультрамодных альтернатив.

https://proglib.io/sh/q8tzm6yx1V
15 апреля в 17:00 пройдет мероприятие Arrival Live, на котором команда Arrival впервые расскажет о том, как устроено автомобилестроение будущего: что находится под капотом автомобилей и в стенах фабрик компании. Не пропусти!

Предварительная регистрация поможет не забыть про митап и получить ссылку на онлайн-трансляцию, а также материалы по итогам митапа. Не пропусти – meetup.arrival.com
#вопросы_с_собеседований
Какие подклассы класса InputStream вы знаете, для чего они предназначены?
✔️InputStream - абстрактный класс, описывающий поток ввода;
✔️BufferedInputStream - буферизованный входной поток;
✔️ByteArrayInputStream позволяет использовать буфер в памяти (массив байтов) в качестве источника данных для входного потока;
✔️DataInputStream - входной поток для байтовых данных, включающий методы для чтения стандартных типов данных Java;
✔️FileInputStream - входной поток для чтения информации из файла;
✔️FilterInputStream - абстрактный класс, предоставляющий интерфейс для классов-надстроек, которые добавляют к существующим потокам полезные свойства;
✔️ObjectInputStream - входной поток для объектов;
✔️StringBufferInputStream превращает строку (String) во входной поток данных InputStream;
✔️PipedInputStream реализует понятие входного канала;
✔️PushbackInputStream - разновидность буферизации, обеспечивающая чтение байта с последующим его возвратом в поток, позволяет «заглянуть» во входной поток и увидеть, что оттуда поступит в следующий момент, не извлекая информации.
✔️SequenceInputStream используется для слияния двух или более потоков InputStream в единый.