Учиться чему-либо бывает непросто: многие откладывают обучение, не могут выделить на него время, теряются в количестве информации или, наоборот, не могут найти актуальные источники. Команда «Библиотеки программиста» хотела бы исследовать вопрос для дальнейшего развития проекта и посему просим вас выделить пару минут своего времени на гугл форму: https://forms.gle/qVJEULRbbHTJTzYr6
Google Docs
Чему бы вы хотели научиться?
Мы в активном поиске идей для образовательных продуктов и будем рады узнать ваши пожелания по обучению.
#вопросы_с_собеседований
Что будет, если очередь пула потоков уже заполнена, но подаётся новая задача?
Что будет, если очередь пула потоков уже заполнена, но подаётся новая задача?
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Что будет, если очередь пула потоков уже заполнена, но подаётся новая задача?
Если очередь пула потоков заполнилась, то поданная задача будет «отклонена». Например - метод submit() у ThreadPoolExecutor выкидывает RejectedExecutionException, после которого вызывается RejectedExecutionHandler.
#вакансии #харьков #nix #java
Команда NIX приглашает опытных разработчиков на позицию Java Tech Lead!
Мы ищем целеустремленного специалиста в проект по разработке SaaS-платформы для крупного поставщика оборудования.
Что мы ожидаем от тебя:
🔹опыт создания серверного программного обеспечения от 3-х лет;
🔹знание Spring Boot, Spring Data, CI/CD, Docker и Kubernetes, облачного провайдера AWS или Azure;
🔹понимание микросервисов и облачных архитектур;
🔹опыт взаимодействия с реляционными БД и СУБД (PostgreSQL и NoSQL);
🔹умение писать техническую документацию.
Что мы рады тебе предложить:
👉 удобное пространство в центре Харькова (метро «Университет»);
👉 гибкую систему пересмотра и повышения вознаграждения;
👉 постоянный профессиональный рост — участие во внутренних мероприятиях, оплачиваемые курсы английского, поездки на зарубежные IT-конференции;
👉 регулярные тимбилдинги, совместные праздники и легендарные корпоративы;
👉 медицинскую и спортивную программу, бухгалтерскую поддержку.
Отправляй свое резюме — присоединяйся к профессионалам NIX!
Команда NIX приглашает опытных разработчиков на позицию Java Tech Lead!
Мы ищем целеустремленного специалиста в проект по разработке SaaS-платформы для крупного поставщика оборудования.
Что мы ожидаем от тебя:
🔹опыт создания серверного программного обеспечения от 3-х лет;
🔹знание Spring Boot, Spring Data, CI/CD, Docker и Kubernetes, облачного провайдера AWS или Azure;
🔹понимание микросервисов и облачных архитектур;
🔹опыт взаимодействия с реляционными БД и СУБД (PostgreSQL и NoSQL);
🔹умение писать техническую документацию.
Что мы рады тебе предложить:
👉 удобное пространство в центре Харькова (метро «Университет»);
👉 гибкую систему пересмотра и повышения вознаграждения;
👉 постоянный профессиональный рост — участие во внутренних мероприятиях, оплачиваемые курсы английского, поездки на зарубежные IT-конференции;
👉 регулярные тимбилдинги, совместные праздники и легендарные корпоративы;
👉 медицинскую и спортивную программу, бухгалтерскую поддержку.
Отправляй свое резюме — присоединяйся к профессионалам NIX!
🎥 ТОП-10 фильмов и сериалов последних лет про современные технологии
Есть мнение, что после культовых «Хакеров», «Джони Мнемоника» и первой «Матрицы» больше не снимали хороших фильмов на околоайтишную тематику. Так ли это? Попробуем разобраться в обзоре лучших кинокартин о современных технологиях, вышедших за последние несколько лет.
https://proglib.io/sh/21yUtZI4wu
Есть мнение, что после культовых «Хакеров», «Джони Мнемоника» и первой «Матрицы» больше не снимали хороших фильмов на околоайтишную тематику. Так ли это? Попробуем разобраться в обзоре лучших кинокартин о современных технологиях, вышедших за последние несколько лет.
https://proglib.io/sh/21yUtZI4wu
Библиотека джависта | Java, Spring, Maven, Hibernate
Если очередь пула потоков заполнилась, то поданная задача будет «отклонена». Например - метод submit() у ThreadPoolExecutor выкидывает RejectedExecutionException, после которого вызывается RejectedExecutionHandler.
Особенностью PriorityQueue является возможность управления порядком элементов. По-умолчанию, элементы сортируются с использованием «natural ordering», но это поведение может быть переопределено при помощи объекта Comparator, который задаётся при создании очереди. Данная коллекция не поддерживает null в качестве элементов.
Используя PriorityQueue, можно, например, реализовать алгоритм Дейкстры для поиска кратчайшего пути от одной вершины графа к другой. Либо для хранения объектов согласно определённого свойства.
Используя PriorityQueue, можно, например, реализовать алгоритм Дейкстры для поиска кратчайшего пути от одной вершины графа к другой. Либо для хранения объектов согласно определённого свойства.
#вопросы_с_собеседований
Каков порядок вызова конструкторов и блоков инициализации с учётом иерархии классов?
Каков порядок вызова конструкторов и блоков инициализации с учётом иерархии классов?
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Каков порядок вызова конструкторов и блоков инициализации с учётом иерархии классов?
Сначала вызываются все статические блоки в очередности от первого статического блока корневого предка и выше по цепочке иерархии до статических блоков самого класса.
Затем вызываются нестатические блоки инициализации корневого предка, конструктор корневого предка и так далее вплоть до нестатических блоков и конструктора самого класса.
Затем вызываются нестатические блоки инициализации корневого предка, конструктор корневого предка и так далее вплоть до нестатических блоков и конструктора самого класса.
1 октября в Москве пройдет Russia Open Source Summit, где на одной площадке соберутся все, кто в России создает программное обеспечение на основе открытого кода.
На открытии саммита будет представлен проект стратегии развития Open Source в России. После презентации проекта всем участникам мероприятия предложат выбрать одну из рабочих групп для внесения предложений в документ.
В рамках деловой программы будет выделен отдельный трек для шоу-кейсов (питчей) от стартапов, созданных на базе открытого кода. Можно подать заявку на выступление.
Принять участие можно бесплатно, регистрация на сайте.
Мероприятие начнется в 10:00 на площадке Radisson Collection Hotel.
Подготовка стратегии ведется российским экспертным ИТ-сообществом в открытом формате, в том числе на площадке Telegram.
На открытии саммита будет представлен проект стратегии развития Open Source в России. После презентации проекта всем участникам мероприятия предложат выбрать одну из рабочих групп для внесения предложений в документ.
В рамках деловой программы будет выделен отдельный трек для шоу-кейсов (питчей) от стартапов, созданных на базе открытого кода. Можно подать заявку на выступление.
Принять участие можно бесплатно, регистрация на сайте.
Мероприятие начнется в 10:00 на площадке Radisson Collection Hotel.
Подготовка стратегии ведется российским экспертным ИТ-сообществом в открытом формате, в том числе на площадке Telegram.
⛓ Что такое NFT и где они используются?
Технологии постоянно совершенствуются и все глубже проникают в жизнь человека, меняя ее и заставляя нас иначе смотреть на обыденные вещи. Поговорим о невзаимозаменяемых токенах (NFT) и причинах их популярности.
https://proglib.io/sh/Y07iIXqjoW
Технологии постоянно совершенствуются и все глубже проникают в жизнь человека, меняя ее и заставляя нас иначе смотреть на обыденные вещи. Поговорим о невзаимозаменяемых токенах (NFT) и причинах их популярности.
https://proglib.io/sh/Y07iIXqjoW
Что такое busy spin?
busy spin
– это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait()
, sleep()
или yield()
, которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.#вопросы_с_собеседований
Что произойдёт, если в блоке инициализации возникнет исключительная ситуация?
Что произойдёт, если в блоке инициализации возникнет исключительная ситуация?
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Что произойдёт, если в блоке инициализации возникнет исключительная ситуация?
Для нестатических блоков инициализации, если выбрасывание исключения прописано явным образом требуется, чтобы объявления этих исключений были перечислены в throws всех конструкторов класса. Иначе будет ошибка компиляции. Для статического блока выбрасывание исключения в явном виде, приводит к ошибке компиляции.
В остальных случаях, взаимодействие с исключениями будет проходить так же, как и в любом другом месте. Класс не будет инициализирован, если ошибка происходит в статическом блоке и объект класса не будет создан, если ошибка возникает в нестатическом блоке.
В остальных случаях, взаимодействие с исключениями будет проходить так же, как и в любом другом месте. Класс не будет инициализирован, если ошибка происходит в статическом блоке и объект класса не будет создан, если ошибка возникает в нестатическом блоке.
#вопросы_с_собеседований
Что такое «индексы»? Для чего их используют? В чём заключаются их преимущества и недостатки?
Что такое «индексы»? Для чего их используют? В чём заключаются их преимущества и недостатки?
Индекс (index) — объект базы данных, создаваемый с целью повышения производительности выборки данных.
Наборы данных могут иметь большое количество записей, которые хранятся в произвольном порядке, и их поиск по заданному критерию путём последовательного просмотра набора данных запись за записью может занимать много времени. Индекс формируется из значений одного или нескольких полей и указателей на соответствующие записи набора данных, - таким образом, достигается значительный прирост скорости выборки из этих данных.
Наборы данных могут иметь большое количество записей, которые хранятся в произвольном порядке, и их поиск по заданному критерию путём последовательного просмотра набора данных запись за записью может занимать много времени. Индекс формируется из значений одного или нескольких полей и указателей на соответствующие записи набора данных, - таким образом, достигается значительный прирост скорости выборки из этих данных.
#вопросы_с_собеседований
Какие разновидности сборщиков мусора реализованы в виртуальной машине HotSpot?
Какие разновидности сборщиков мусора реализованы в виртуальной машине HotSpot?
Java HotSpot VM предоставляет разработчикам на выбор четыре различных сборщика мусора:
☕️ Serial (последовательный) — самый простой вариант для приложений с небольшим объемом данных и не требовательных к задержкам. На данный момент используется сравнительно редко, но на слабых компьютерах может быть выбран виртуальной машиной в качестве сборщика по умолчанию. Использование Serial GC включается опцией -XX:+UseSerialGC.
☕️ Parallel (параллельный) — наследует подходы к сборке от последовательного сборщика, но добавляет параллелизм в некоторые операции, а также возможности по автоматической подстройке под требуемые параметры производительности. Параллельный сборщик включается опцией -XX:+UseParallelGC.
☕️ Concurrent Mark Sweep (CMS) — нацелен на снижение максимальных задержек путем выполнения части работ по сборке мусора параллельно с основными потоками приложения. Подходит для работы с относительно большими объемами данных в памяти. Использование CMS GC включается опцией -XX:+UseConcMarkSweepGC.
☕️ Garbage-First (G1) — создан для замены CMS, особенно в серверных приложениях, работающих на многопроцессорных серверах и оперирующих большими объемами данных. G1 включается опцией Java -XX:+UseG1GC.
☕️ Serial (последовательный) — самый простой вариант для приложений с небольшим объемом данных и не требовательных к задержкам. На данный момент используется сравнительно редко, но на слабых компьютерах может быть выбран виртуальной машиной в качестве сборщика по умолчанию. Использование Serial GC включается опцией -XX:+UseSerialGC.
☕️ Parallel (параллельный) — наследует подходы к сборке от последовательного сборщика, но добавляет параллелизм в некоторые операции, а также возможности по автоматической подстройке под требуемые параметры производительности. Параллельный сборщик включается опцией -XX:+UseParallelGC.
☕️ Concurrent Mark Sweep (CMS) — нацелен на снижение максимальных задержек путем выполнения части работ по сборке мусора параллельно с основными потоками приложения. Подходит для работы с относительно большими объемами данных в памяти. Использование CMS GC включается опцией -XX:+UseConcMarkSweepGC.
☕️ Garbage-First (G1) — создан для замены CMS, особенно в серверных приложениях, работающих на многопроцессорных серверах и оперирующих большими объемами данных. G1 включается опцией Java -XX:+UseG1GC.
Beginning Programming with Java For Dummies (2021)
Автор: Barry Burd
Количество страниц: 560
Если вы хотите программировать на Java, книга научит вас созданию программ, способам решения стандартных задач и многому другому. Независимо от того, работаете ли вы уже или только начинаете карьеру, эта книга может стать ресурсом, к которому вы будете обращаться снова и снова, совершенствуя свое понимание нюансов этого популярного языка программирования.
Скачать книгу
Автор: Barry Burd
Количество страниц: 560
Если вы хотите программировать на Java, книга научит вас созданию программ, способам решения стандартных задач и многому другому. Независимо от того, работаете ли вы уже или только начинаете карьеру, эта книга может стать ресурсом, к которому вы будете обращаться снова и снова, совершенствуя свое понимание нюансов этого популярного языка программирования.
Скачать книгу
Telegram
Книги для программистов (reserved)
Beginning Programming with Java For Dummies (2021)
Автор: Barry Burd
Автор: Barry Burd
⛓ Справочник по блокчейну и криптовалютам. Часть 1: основные понятия и технологии
Изучить терминологию в любой сфере – задача не из легких. Поиск в интернете проблему не решает, если тема слишком сложная и запутанная. Эта шпаргалка поможет вам разобраться с основными понятиями в криптовалютном мире.
https://proglib.io/sh/3jxWVpJwaD
Изучить терминологию в любой сфере – задача не из легких. Поиск в интернете проблему не решает, если тема слишком сложная и запутанная. Эта шпаргалка поможет вам разобраться с основными понятиями в криптовалютном мире.
https://proglib.io/sh/3jxWVpJwaD