Результаты опроса о технологии доступа к БД Java
Java имеет множество сред доступа к данным, и в этой статье мы рассмотрим, какую технологию баз данных Java предпочитают разработчики и по каким причинам.
Читать статью
Git. Практическое руководство. Управление и контроль версий в разработке программного обеспечения (2021) PDF
Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git - это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками.
🔥Хардкорный тест по Java🔥
⭕️Осторожно! Из-за этого курса можно стать супервостребованным Java-разработчиком! Пройди тест из 20 вопроса и испытай себя.
🦸🏼♂️62 компании-партнера ждут, когда ты овладеешь этим мастерством. Проходи вступительный тест курса "Java Developer. Professional" и помни большая сила — большая ответственность!
📌ПРОЙТИ ТЕСТ - https://otus.pw/vqqz/
Согласно Кнуту и Кормену существует две основных реализации хэш-таблицы: на основе открытой адресации и на основе метода цепочек. Как реализована HashMap? Почему, по вашему мнению, была выбрана именно эта реализация? В чем плюсы и минусы каждого подхода?
HashMap реализован с использованием метода цепочек, т.е. каждой ячейке массива (корзине) соответствует свой связный список и при возникновении коллизии осуществляется добавление нового элемента в этот список.
Для метода цепочек коэффициент заполнения может быть больше 1 и с увеличением числа элементов производительность убывает линейно. Такие таблицы удобно использовать, если заранее неизвестно количество хранимых элементов, либо их может быть достаточно много, что приводит к большим значениям коэффициента заполнения.
Среди методов открытой реализации различают:
• линейное пробирование;
• квадратичное пробирование;
• двойное хэширование.
Недостатки структур с методом открытой адресации:
• Количество элементов в хэш-таблице не может превышать размера массива. По мере увеличения числа элементов и повышения коэффициента заполнения производительность структуры резко падает, поэтому необходимо проводить перехэширование.
• Сложно организовать удаление элемента.
• Первые два метода открытой адресации приводят к проблеме первичной и вторичной группировок.
Преимущества хэш-таблицы с открытой адресацией:
• отсутствие затрат на создание и хранение объектов списка;
• простота организации сериализации/десериализации объекта.
Объектно-ориентированное программирование на Java. Платформа Java SE (2020) PDF
Эта книга предназначена для тех, кто хочет научиться программировать на языке Java.С этой книгой вы обучитесь объектно-ориентированному программированию на платформе Java SE и научитесь применять принципы ООП на практике.Эта книга охватывает важные аспекты программирования на языке Java, начиная с основ и заканчивая объектно-ориентированным подходом и командной разработкой кода.
Apache Kafka для магазинов
Всем привет! Меня зовут Игорь, я работаю системным архитектором в CSI. Хочу поделиться историей появления в нашем стеке технологий надежного и универсального брокера сообщений. Расскажу, как и для чего мы его используем, поделюсь полезными нюансами и примером с сетью Fix Price. Статей про Apache Kafka уже более, чем достаточно, но наш кейс немного отличается от стандартного использования. Надеюсь, опыт пригодится кому-то ещё.
Читать статью
Как создавать отказоустойчивые и масштабируемые системы? Одна их стратегий для этого — шардирование. Если вам интересна эта тема, приходите на открытые уроки онлайн-курсов «Microservice architecture» и «Highload Architect» в OTUS.
🗓 «Шардирование в Highload-системах», 15 июня в в 20:00 мск.
Рассмотрим виды шардинга, проанализируем стратегии шардирования, разберем консистентное шардирование, поиск, вычисления, хранение и посмотрим, как правильно делить данные.
Пройдите вступительный тест для записи на урок — https://otus.pw/UrNr/
🗓 «Шардирование в микросервисной архитектуре», 21 июня в 20:00 мск.
Обсудим смысл и назначение шардирования, рассмотрим преимущества и недостатки различных стратегий, а также изучим механизмы осуществления перешардирования и консистентного хеширования.
Пройдите вступительный тест для записи на урок — https://otus.pw/cJF0/
Как устроен HashMap?
HashMap состоит из «корзин» (bucket). С технической точки зрения «корзины» — это элементы массива, которые хранят ссылки на списки элементов. При добавлении новой пары «ключ-значение», вычисляет хэш-код ключа, на основании которого вычисляется номер корзины (номер ячейки массива), в которую попадет новый элемент. Если корзина пустая, то в нее сохраняется ссылка на вновь добавляемый элемент, если же там уже есть элемент, то происходит последовательный переход по ссылкам между элементами в цепочке, в поисках последнего элемента, от которого и ставится ссылка на вновь добавленный элемент. Если в списке был найден элемент с таким же ключом, то он заменяется.
Делай то о чём мечтал в детстве!
Не знаю о чём вы подумали но а мы про вашу мечту делать игры. Разработка игр сейчас одно из самых перспективных направлений в IT и настало время тебе им заняться.
Мы запускаем бесплатный марафон "Ваша первая игра за 7 дней" в котором с нуля шаг-за-шагом сделаем с тобой твою первую игру и опубликуем её в сторах.
Старт 13-го июня, успей записаться в нашем боте пока есть время - https://tg.pulse.is/IJuniorBot?start=6201721f64243a6b21636874|from=telegainit
Или опять похоронишь свои мечты?
Введение в объектно-ориентированный дизайн с Java (2022) PDF
Эта книга ориентирована на тех, кто уже знаком с языком программирования Java и хотел бы углубить свои знания и изучить объектно-ориентированный анализ и проектирование программного обеспечения. Вы познакомитесь с основными принципами и паттернами объектно-ориентированного дизайна, используемыми при разработке программных систем Java. Вы научитесь моделировать системы Java с помощью UML диаграмм, познакомитесь с основными понятиями и принципами объектно-ориентированного подхода, изучите порождающие, структурные и поведенческие шаблоны проектирования. Вы узнаете, как создавать модульное, гибкое и многоразовое программное обеспечение, применяя объектно-ориентированные принципы и шаблоны проектирования.
🎯 Хардкорный тест по Node JS
🚀 Ответьте на 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе - Node JS Developer от OTUS
Курс рассчитан на frontend-разработчиков или backend-разработчиков со знанием Javascript
🔥 РЕЗУЛЬТАТ ПРОХОЖДЕНИЯ КУРСА
Разработка серверных приложений любой сложности на Node.js с использованием Express, TypeScript, GraphQl, Apollo и Nest.js
Время прохождения теста ограниченно 30 минут
🎯 Первые шаги мы сделаем уже 8 июня в 20:00 на открытом уроке «Многопоточность и обработка данных в Node.js».
👉 ПРОЙТИ ТЕСТ
https://otus.pw/gOtk/
Что происходит за кулисами Java и как появляются новые функции
Из статьи вы узнаете о том, как создается Java, о процессе внедрения новых функций в платформу, а также о некоторых крупных проектах по улучшению JDK, которые появятся в будущем.
Читать статью
Обзор с примерами ожидаемых фич в Java 19
Хотя выпуск Java 19 выйдет 20 сентября 2022 г, мы уже знаем, какие фичи он будет в себя включать!
В этой статье мы рассмотрим ожидаемые нововведения на примерах, чтобы понять, насколько ценными они могут быть для ваших проектов.
Читать статью
Oracle Database Programming with Java: Ideas, Designs, and Implementations (2022) True PDF
Databases have become an integral part of modern life. Today’s society is an information-driven society, and database technology has a direct impact on all aspects of daily life. Decisions are routinely made by organizations based on the information collected and stored in databases. Database management systems such as Oracle are crucial to apply data in industrial or commercial systems. Equally crucial is a graphical user interface (GUI) to enable users to access and manipulate data in databases. The Apache NetBeans IDE with Java is an ideal candidate for developing a GUI with programming functionality.
Oracle Database Programming with Java: Ideas, Designs, and Implementations is written for college students and software programmers who want to develop practical and commercial database programming with Java and relational databases such as Oracle Database XE 18c.
Свершилось!
Профессор Массачусетского технологического института создал канал, в который выкладывает сверхэффективныетесты для программистов языка Python любых уровней.
Исследования лучшего IT-института в мире подтверждают, что прохождения этих тестовпо 7 минут в день, превратят чайника в мидла всего за 3 месяца.
Работать в Google — просто!
Подписывайся: @tests_IT
Markdown на GitHub стал поддерживать математику
"Математические выражения играют ключевую роль в обмене информацией между инженерами, учеными, специалистами по данным и математиками. Мы рады сообщить, что математические выражения теперь могут отображаться в Markdown на GitHub" - сообщили разработчики GitHub в своем блоге.
Читать статью
LinkedHashMap - что в нем от LinkedList, а что от HashMap?
Реализация LinkedHashMap отличается от HashMap поддержкой двухсвязанного списка, определяющего порядок итерации по элементам структуры данных. По умолчанию элементы списка упорядочены согласно их порядку добавления в LinkedHashMap(insertion-order). Однако порядок итерации можно изменить, установив параметр конструктора accessOrder в значение true. В этом случае доступ осуществляется по порядку последнего обращения к элементу (access-order). Это означает, что при вызове методов get() или put() элемент, к которому обращаемся, перемещается в конец списка.
При добавлении элемента, который уже присутствует в LinkedHashMap (т.е. с одинаковым ключом), порядок итерации по элементам не изменяется.
Погружение в паттерны проектирования (2021) PDF + Архив с примерами кода
Книга «Погружение в Паттерны Проектирования» описывает 22 классических паттерна проектирования, а также 8 принципов проектирования, на которых они основаны.
Каждая глава начинается с разбора определённой проблемы, возникающей при проектировании, и шаг за шагом подводит читателя к решению с помощью одного из паттернов.
Далее идёт детальный разбор структуры паттерна и его вариаций, а также пример реализации в коде.
Затем, читатель знакомится с кейсами использования паттерна и учится воспроизводить паттерн по шагам.
Заканчиваются главы обсуждением плюсов и минусов паттерна, а также обзором его связей с другими паттернами.