📓 Книги по Java
870 subscribers
340 photos
27 videos
5 files
835 links
📓 Книги по Java

Самый крутой канал c подборкой книг, статей, но и как без рекламы все в одном месте
По ворпосам размещения @qa_autom
Download Telegram
Каким будет результат сравнения в следующем коде?

Ответ:
s1 == s2 ? true

s1 == s3 ? false

s1 equals s3 ? true

Вопрос на понимание работы пула строк в Java и на понимание сравнения строк. Разберем детально: Переменная s1 ссылается на строку в пуле уникальных строк в памяти, переменная s2 ссылается на ту же саму строку в пуле уникальных строк, что и переменная s1, первое сравнение будет true, так как s1 и s2 ссылаются на один и тот же объект. Переменная s3 ссылается на новый объект, который не находится в пуле уникальных строк, так как он создан через new, следовательно второе сравнение будет false, так как сравниваем переменные которые ссылаются на на два разных объекта. Третье сравнение будет true, так как мы сравниваем строки посимвольно на эквивалентность через equals, а содержимое данных строк одинаково.
Functional Programming, Simplified

Автор:
Alvin Alexander
Год издания: 2017

#scala #english

Скачать книгу
Intern Meetup Week в Яндексе 🎉

С 17 по 20 апреля в Яндексе пройдёт неделя митапов для начинающих разработчиков. Будет доступен офлайн и онлайн формат.

17 апреля состоится митап для направления Backend: C++, Go, Java
Регистрация по ссылке: https://clck.ru/33qW3U

В программе лекции экспертов о технологиях, общение с руководителями команд и рекрутерами, нетворкинг и подарки.

При отборе на митапы у вас есть шанс получить приглашение на пробное собеседование на стажировку в Яндекс 🔥

📆Когда: 17 апреля 17:00 - 21:30, сбор гостей с 16:30
🌐Где: офис Яндекса, ул. Льва Толстого, 16, м.Парк Культуры и трансляция онлайн

Все подробности и регистрация по ссылке: https://clck.ru/33qW3U

А чтобы быть в курсе всех новостей Young&&Yandex, подписывайтесь на чат-бот.
Что напечатает следующий код?
В поисках работы Java программистом? Тогда тебе точно нужен наш канал!

Забудь о трате драгоценного времени на поиск работы. Мы ежедневно обновляем наш канал самыми свежими и интересными вакансиями от российских и зарубежных компаний.

У нас ты найдешь работу для любого уровня подготовки и индивидуальной специализации.

Кроме того, мы постоянно следим за рынком и выбираем для тебя только наиболее выгодные и перспективные предложения.

Присоединяйся к нашему каналу с Java вакансиями и найди работу своей мечты уже сегодня!
Как построить архитектуру сервиса, которые выдержит высокую загрузку? Начните погружение в Highload-архитектуру на открытых уроках онлайн-курса «Highload Architect» в OTUS. Они рассчитаны на веб-разработчиков, тимлидов команд веб-разработки, архитекторов, технических руководителей и специалистов, которые интересуются SRE или работают в этой области.

🗓 31 марта в 20:00 мск — «Когда нужны микросервисы, а когда монолиты»
Обсудим способы выбора между монолитной или микросервисной архитектурой, подходы и бенефиты, которые получаем от каждой из этих архитектур.

👉 Для записи на урок, пройдите вступительный тест — https://otus.pw/qj5y/

🗓 14 апреля в 20:00 мск — «Twitter-like архитектура приложений»
Спроектируем типовую архитектуру нагруженного twitter-like приложения, определим пользовательские сценарии и узкие места прототипа.

👉 Для записи на урок, пройдите вступительный тест — https://otus.pw/VO7y/

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

Стремишься занять позицию сеньора или даже архитектора? Этот курс для тебя!

Разберешься в event-driven системах
Обретешь уверенность на system design интервью в российских и зарубежных компаниях
Поймешь как устроен подход event sourcing, зачем и как правильно использовать паттерн CQRS
Твердо поймешь основы Domain-driven design, как его применять
Создашь распределенную event-sourcing based систему и сможешь заимплементить распределенную транзакцию с паттерном Saga или двухфазным коммитом

Авторский курс от преподавателя Санкт-Петербургского университета ИТМО и разработчика высоконагруженных систем Андрея Суховицкого.

Твоими менторами станут инженеры из Amazon, Revolut, JetBrains, Yandex или Ozon.

❗️Старт курса - 3 апреля!❗️
Переходи по ссылке и подавай заявку!
Прокачай свои знания в архитектуре современных распределенных систем

Стремишься занять позицию сеньора или даже архитектора? Этот курс для тебя!

Разберешься в event-driven системах
Обретешь уверенность на system design интервью в российских и зарубежных компаниях
Поймешь как устроен подход event sourcing, где и как правильно применять паттерн CQRS
Твердо поймешь основы Domain-driven design, как его применять
Создашь распределенную event-sourcing based систему и сможешь заимплементить распределенную транзакцию

Авторский курс от преподавателя Санкт-Петербургского университета ИТМО и разработчика высоконагруженных систем Андрея Суховицкого.

Твоими менторами станут ребята из Amazon, Revolut, JetBrains, Yandex или Ozon.

❗️Старт курса - 3 апреля, лекции и задания доступны уже сейчас!❗️
Переходи по ссылке и подавай заявку!
Media is too big
VIEW IN TELEGRAM
JAVA SPRING TRANSACTIONAL: ОСНОВЫ ТРАНЗАКЦИЙ ЗА 7 МИНУТ

00:00 - Определение транзакции, схематичный пример
00:46 - Свойство транзакции
00:59 - Знакомство с кодовой базой
02:05 - Пример, где нужна аннотация Transactional
03:10 - Вызов в пределах одного класса
04:04 - Обработка не всех исключений
04:47 - Область видимости метода
05:10 - Транзакция занимает соединение с БД
06:25 - Повторяем

Код примера: https://github.com/dispikerton/transactional

источник

👉@BookJava
Как построить архитектуру сервиса, которые выдержит высокую загрузку? Начните погружение в Highload-архитектуру на открытых уроках онлайн-курса «Highload Architect» в OTUS. Они рассчитаны на веб-разработчиков, тимлидов команд веб-разработки, архитекторов, технических руководителей и специалистов, которые интересуются SRE или работают в этой области.

🗓 31 марта в 20:00 мск — «Когда нужны микросервисы, а когда монолиты»
Обсудим способы выбора между монолитной или микросервисной архитектурой, подходы и бенефиты, которые получаем от каждой из этих архитектур.

👉 Для записи на урок, пройдите вступительный тест — https://otus.pw/wV8x/

🗓 14 апреля в 20:00 мск — «Twitter-like архитектура приложений»
Спроектируем типовую архитектуру нагруженного twitter-like приложения, определим пользовательские сценарии и узкие места прототипа.

👉 Для записи на урок, пройдите вступительный тест — https://otus.pw/i1Bq/

После занятий вы сможете продолжить обучение на курсе, доступном в рассрочку. Не упустите возможность пообщат...
Методы start и end

Выше представлен пример, в котором производится подсчет количества раз, когда в строке ввода встречается слово "кот".

Как видим, в данном примере используются границы слов с целью удостоверения в том, что буквы "c" "a" "t" не являются частью другого слова. Также отображаются определенные полезные сведения касательно нахождения совпадения в вводимой строке.

Метод start производит возврат начального индекса в последовательности, захваченной в данной группе в ходе предыдущей операции поиска совпадений, а end производит возврат индекса к последнему совпавшему символу, плюс один.
Java developer (middle, senior)
#офис #полныйдень
Локация: Новосибирск, Москва

Обязанности:
- задачи в рамках опенсорс проектов по оптимизация распределенных алгоритмов. Если у вас не было опыта работы в них, мы готовы вас обучить.

Требования:
- Опыт Backend разработки на Java, Kotlin, Scala
- уверенное знание принципов работы JVM

Будет плюсом:
- знание BigData
- знакомство с фреймворками (Spark, Flink, Hadoop, Hudi, Nifi, Kafka, ES и пр.)
-глубокое понимание принципов построения баз данных
- опыт низкоуровневой оптимизации Java
- опыт написания своих парсеров и оптимизаторов (SQL или любого другого языка)

Откликнуться: @Svetlanakachar
JUnit

JUnit — свободный Java-фреймворк для создания модульных тестов (они же — юнит-тесты). Эта библиотека — одна из самых популярных, её используют почти все. Рекомендуем вам разобраться с ней как можно быстрее, поскольку очень часто начинающих Java-разработчиков и Java Trainee заставляют «покрывать код тестами». И, надо сказать, это далеко не самое плохое начало карьеры.

Больше информации о Junit можно найти здесь.
👩‍💻 Java. Об Iterator и Iterable c примерами.

В данном видео объясняется что такое паттерн Iterator и интерфейс Iterable в языке программирования Java. На примерах показывается для чего нужен Iterator и как его использовать. Рассматривается так же вопрос удаления и вставки элементов в LinkedList за константное время.
Java разработчик (middle+/senior)
#удаленка #полныйдень
ЗП: 3000$ - 3900$
Локация: Беларусь
Компания: Dev Team Inc

Обязанности::
Оформленного списка задач нет, но из того что в планах:
- настройка архитектуры Dev In test окружения (включая CI/CD процессов)
- взаимодействие с AI движком и написание различных интеграций (возможность прокачки в этом направлении)
- большая часть задач будет связана с рутинными задачами по разработке (так как есть множество мест, где нужна помощь другим разработчикам)

Требования:
- опыт работы от 4-х лет в разработке web-приложений на Java
- уверенные знания фреймворка Spring (Boot, Core, MVC, JDBC, Security);
- клиент-серверные приложения, использующие JSON/XML и REST API;
- опыт работы в ORM: JPA, Hibernate;
- хорошие знания MySQL/PostgreSQL
- знания wiki систем (Confluence), систем управления проектами Jira, IDE Idea, Bitbucket-Git
- Английский уровня intermediate или выше.

Откликнуться: @andrey_poklyak
#статья

Кто такой тим-лидер и чем он занимается?

Глава, руководитель, менеджер, босс, как только не называют тим-лидера.

Пришло время расставить все точки над i, рассказали об обязанностях тим-лидера в нашей статье


Ещё больше интересных статей и полезной информации вы можете читать на нашем Яндекс Дзен канале!
This media is not supported in your browser
VIEW IN TELEGRAM
😎Хотите расширить свой стек языком Clojure? Приходите на бесплатный вебинар «Разработка скриптов на Clojure», приуроченный к старту онлайн-курса «Clojure Developer» в OTUS.

— Clojure — это язык программирования общего назначения, на нём можно разрабатывать абсолютно все. До недавнего времени разработка скриптов на Clojure была трудной задачей в основном из-за медленного старта JVM, но появление GraalVM позволило обойти это ограничение. Скрипты, написанные на Clojure, теперь стартуют практически мгновенно, при этом, в процессе разработки доступен REPL и весь арсенал языка Clojure.

— На занятии мы познакомимся с проектом Babashka и узнаем, как именно эта библиотека помогает разрабатывать скрипты.

Не упустите возможность протестировать курс! После открытого урока вы сможете приобрести курс, доступный в рассрочку.

👉Пройдите полный тест на сайте, узнайте, осилите ли вы обучение: https://otus.pw/TutR/
Что такое cookies?

Сookies («куки») — небольшой фрагмент данных, отправленный web-сервером и хранимый на устройстве пользователя. Всякий раз при попытке открыть страницу сайта, web-клиент пересылает соответствующие этому сайту cookies web-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя и на практике обычно используется для:
• аутентификации пользователя;
• хранения персональных предпочтений и настроек пользователя;
• отслеживания состояния сеанса доступа пользователя;
• ведения разнообразной статистики.
51 Java -Spring Boot- Лучшие практики для разработчиков приложений

1.Использовать внешний сервер конфигурации
2. Используйте правильные зависимости
3. Сохраняйте модульность приложения
4. Используйте кэширование с умом
5. Контролируйте и протоколируйте свое приложение
6. Используйте последовательный стиль кода
7. Пишите модульные и интеграционные тесты
8. Используйте балансировщик нагрузки
9. Используйте последовательный формат протоколирования
10. Используйте инструмент мониторинга
11. Используйте инструмент сборки
12. Используйте инструмент версионирования кода
13. Использовать IDE
14. Использовать форматтер кода
15. Используйте линкер кода
16. Используйте клиентскую библиотеку HTTP
17. Использовать библиотеку JSON
18. Использовать пул соединений с базой данных
19. Использовать библиотеку безопасности
20. Использовать библиотеку тестирования
21. Использовать фреймворк для инъекции зависимостей
22. Используйте клиентскую библиотеку REST
23. Используйте брокер сообщений
24. Используйте профилировщик
25. Используйте инструмент обзора кода
26. Используйте инструмент статического анализа
27. Используйте инструмент покрытия кода
28. Используйте инструмент непрерывной интеграции
29. Используйте инструмент развертывания
30. Используйте инструмент управления конфигурацией
31. Использовать инструмент контейнеризации
32. Использовать облачную платформу
33. Использовать инструмент миграции баз данных
34. Использовать веб-сервер
35. Использовать инструмент CI/CD
36. Использовать обратный прокси-сервер HTTP
37. Используйте профилировщик JVM
38. Используйте профилировщик базы данных
39. Используйте инструмент нагрузочного тестирования
40. Используйте инструмент непрерывной доставки
41. Используйте API-шлюз
42. Используйте очередь сообщений
43. Используйте сетку сервисов
44. Используйте инструмент управления конфигурацией
45. Используйте конвейер развертывания
46. Использование Swagger для документации Api
47. Использование актуатора
48. Использование AOP
49. Использование рулевых диаграмм
50. Использование распределенной трассировки
51. Использование Lombok

https://connect2grp.medium.com/51-java-spring-boot-best-practices-for-application-developers-cafff2766896

👉@BookJava