JavaStart
909 subscribers
910 photos
28 videos
620 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Знакомство с REST API. Часть 1.

🌐 Что такое REST API?

REST (Representational State Transfer) - это архитектурный стиль для построения веб-сервисов, который использует стандартные протоколы HTTP. REST API позволяет нам создавать, изменять, удалять и получать данные с удаленного сервера.

Ключевые понятия:

1) Ресурсы (Resources):

В REST API данные представлены в виде ресурсов. Ресурсы могут быть объектами, услугами или чем-то еще.

2) HTTP методы:

REST API использует стандартные HTTP методы для выполнения операций:

GET - получение данных.
POST - создание новых данных.
PUT - обновление данных.
DELETE - удаление данных.

3) Универсальные Идентификаторы (URI):

Каждый ресурс в REST API идентифицируется уникальным URI (Uniform Resource Identifier). Например, https://api.example.com/users, где https - протокол.

4) Представление (representation):

Данные, представленные в REST API, могут быть в различных форматах, таких как JSON или XML.

5) Stateless (без состояния):

Клиент и сервер обмениваются данными без хранения состояния между запросами. Каждый запрос сервера содержит всю информацию, необходимую для выполнения операции.
Это важное свойство REST API, о котором обязательно нужно говорить на собеседовании!

🚀 Пример использования:

Давайте представим, что у нас есть приложение для управления книгами на полке. Мы можем использовать REST API для создания, получения, обновления и удаления книг.

1) Создание книги:

Метод: POST
URI: https://api.example.com/books
Тело запроса (Body): JSON с данными задачи.

2) Получение списка книг:

Метод: GET
URI: https://api.example.com/books

3) Обновление книги:

Метод: PUT
URI: https://api.example.com/books/{bookId}
Тело запроса (Body): JSON с обновленными данными книги.

4) Удаление книги:

Метод: DELETE
URI: https://api.example.com/books/{bookId}

Это основы REST API! Желательно, запомнить перечисленные примеры, чтобы смочь воспроизвести их на собеседовании, когда спросят про REST API.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3👨‍💻1
Знакомство с REST API. Часть 2.

Некорректный формат запроса.

В REST API очень часто начинающие разработчики допускают ошибку, когда отправляют запрос в API, используя неверный HTTP-метод или предоставляя данные в неправильном формате. Важно понимать ожидаемый формат запроса, чтобы избежать этой проблемы.

Примеры:

1) Неверный HTTP-метод:

Ошибка: Мы пытаемся выполнить операцию по созданию ресурса (например, добавление нового пользователя), используя метод GET вместо POST.

Избежание: Нужно проверить документацию API и использовать соответствующий HTTP-метод.

// Ошибка
GET /api/users/create

// Исправление
POST /api/users

2) Неправильный формат данных:

Ошибка: Передача данных в запросе в неверном формате, не соответствующем ожидаемому API (например, отправка XML, когда API принимает JSON).

Избежание: Нужно проверить формат данных, который ожидает API, и убедиться, что наш запрос соответствует этим требованиям.

// Ошибка (ожидается JSON)
POST /api/users
Content-Type: application/xml
<user>
  <name>John Doe</name>
</user>

// Исправление
POST /api/users
Content-Type: application/json
{
  "name": "John Doe"
}

Главное правило — всегда внимательно читать документацию API, чтобы быть уверенным в правильном использовании HTTP-методов и формата данных при отправке запросов.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3👨‍💻211
Знакомство с REST API. Часть 3.

REST API в реальной жизни: примеры популярных сервисов.

REST API (Representational State Transfer Application Programming Interface) является основой многих современных веб-сервисов. Давайте рассмотрим несколько примеров популярных сервисов и приложений, которые успешно используют REST API в своей работе.

1) Twitter:

Как используется API: Twitter предоставляет обширное API для взаимодействия с твитами, пользователями, поиском и т. д. Разработчики могут создавать приложения, интегрированные с Twitter, используя их API.

2) GitHub:

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

3) Google Maps:

Как используется API: Google Maps API позволяет интегрировать карты в веб-приложения и мобильные приложения. Разработчики могут использовать API для отображения карт, поиска местоположений и маршрутов.

4) Stripe:

Как используется API: Stripe API предоставляет инструменты для обработки платежей в онлайн-магазинах и приложениях. Разработчики могут интегрировать Stripe для принятия платежей с использованием RESTful запросов.

5) Spotify:

Как используется API: Spotify предоставляет API для взаимодействия с музыкальными данными, поиска треков, создания плейлистов и управления аккаунтом.

6) OpenWeatherMap:

Как используется API: OpenWeatherMap API предоставляет данные о погоде для различных регионов. Разработчики могут интегрировать эти данные в свои приложения для отображения текущей погоды.

Эти примеры демонстрируют разнообразие применений REST API в реальном мире. От социальных сетей до финансовых сервисов, использование REST API становится неотъемлемой частью разработки приложений в различных областях.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍521🔥1
Наверное каждый, кто начинает вкатываться в айти, что-то слышал о LinkedIn.

Но что это вообще такое и зачем?)

LinkedIn — это социальная сеть, созданная специально для бизнес-профессионалов. Для разработчика это не просто площадка для социального общения, а мощный инструмент для профессионального роста. Давайте разберем, почему вам стоит вступить в мир LinkedIn:

1. 🌐 Глобальное сообщество

LinkedIn объединяет профессионалов со всего мира. Там мы можем общаться с разработчиками, специалистами и предпринимателями из разных стран, узнавать о новых технологиях и подходах.

2. 📊 Профессиональная видимость

Можно создать профиль, выделяющий наши навыки и достижения. Это наша визитная карточка в онлайне. Работодатели и рекрутеры могут легко найти вас и ознакомиться с вашим опытом.

3. 🤝 Сетевое взаимодействие

Устанавливайте контакты с коллегами, менторами и индустриальными лидерами. LinkedIn — идеальное место для создания профессиональных связей.

4. 🚀 Поиск работы и проектов

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

5. 🎓 Обучение и развитие

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

6. 🎨 Продвижение личного бренда

Можно делиться своим опытом, публиковать статьи, принимать участие в дискуссиях. Это помогает выделяться среди других разработчиков и укреплять свой профессиональный бренд.

7. 🤖 Технологические тренды

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

LinkedIn — это не просто социальная сеть, это инструмент для построения успешной карьеры. Присоединяйтесь к этому профессиональному сообществу, делитесь своим опытом и открывайте новые возможности для своего роста! 🚀

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👨‍💻2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12👨‍💻211👍1
🚀 Советы по составлению резюме для Junior Java-разработчика.

Хорошо составленное резюме - это уже 50% успеха при приеме на работу. Потому что прежде чем попасть на собеседование и пройти его, нужно сначала пройти отбор по резюме.

Причем наше резюме должно выделяться среди всех остальных 100500 резюме, поданных на ту или иную вакансию)

Давайте рассмотрим основные моменты по составлению резюме:

1) Обзор навыков.
Выделяем ключевые навыки, такие как знание Java, работа с базами данных, основы веб-разработки и т.д. Это поможет работодателю быстро оценить наши квалификации.

2) Проекты и портфолио.
Указываем свои проекты, особенно те, которые связаны с Java. Указываем задачи, с которыми сталкивались, и решениях, которые предложили.

3) Образование.
Если у вас есть академическое образование или курсы по Java, обязательно укажите их. Это может быть важным показателем ваших знаний.

4) Опыт работы.
Даже если у вас нет опыта работы в разработке, укажите предыдущие места работы и ответственности, которые вы выполняли. Это может включать в себя стажировки, проекты в университете и т.д.

5) Soft skills.
Выделяем мягкие навыки, такие как коммуникабельность, умение работать в команде и обучаемость. Эти качества также ценятся работодателями.

6) Оформление и структура.
Резюме должно быть лаконичным и четким. Используем структурированный формат с разделами для навыков, образования, опыта и проектов.

7) Профессиональные соцсети.
Указываем ссылки на профили в профессиональных соцсетях, таких как LinkedIn. Это может быть дополнительным источником информации о нас.

8) Проверка на ошибки.
Перед отправкой резюме тщательно проверяем его на ошибки. Неграмотности могут создать негативное впечатление.

9) Подготовка к интервью.
Будьте готовы рассказать подробнее о своих проектах и навыках на собеседовании. Подготовьтесь к вопросам о вашем опыте и мотивации.

10) Обратная связь.
Если возможно, просим коллег или профессионалов из индустрии внести свои комментарии по поводу резюме.

Не забывайте, что наше резюме - это своего рода визитная карточка, поэтому стараемся сделать его максимально информативным и привлекательным 🌟

В рамках нашего курса JavaStart мы помогаем нашим студентам с составлением качественного резюме, а также с рекомендациями этого резюме в другие компании, что гарантирует выход на собеседование)

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍2👏1
Naming в Java. Как правильно называть методы и переменные?

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

Вот несколько советов по неймингу:

1) Описание действия.
Название метода должно отражать выполняемое им действие. Например, calculateTotalAge() лучше, чем processData().

2) Избегайте сокращений.
Не используйте слишком много сокращений, чтобы ваш код был понятен. Например, getUserInfo() лучше, чем getUsrInfo().

3) CamelCase для переменных.
Принято использовать CamelCase для переменных, начиная с маленькой буквы. Например, totalCount или customerName.

4) Говорящие имена.
Имена переменных и методов должны быть говорящими. Это позволяет легче понимать их назначение. Например, calculateAverageAge().

5) Используйте английский.
Придерживайтесь английского языка для именования методов и переменных. Это стандарт и делает код более доступным для разработчиков со всего мира.

6) Избегайте однобуквенных имен.
Если только не используется для счетчиков в циклах, избегайте однобуквенных имен переменных. Например, index лучше, чем i.

7) Используйте нотацию для методов.
Используйте глагольную нотацию для методов (например, calculateTotal(), getUserInfo()). Иными словами, что метод делает, так его и называем.

8) Избегайте ненужных префиксов и суффиксов.
В большинстве случаев, они не несут дополнительной информации и только усложняют код.

9) Соблюдайте стандарты кодирования.
Если в проекте используются стандарты кодирования (например, Java Code Conventions), придерживайтесь их. Иными словами, код стайл проекта, которого придерживаются другие разработчики этого проекта.

Помните, что читаемость кода важнее краткости. Правильное именование сделает ваш код более понятным и поддерживаемым. Следуйте этим советам, и ваш код будет блеском чистоты и ясности!

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥2👨‍💻21
Какой метод в Java используется для получения длины строки?
Anonymous Quiz
6%
getSize()
6%
size()
0%
count()
87%
length()
0%
Посмотреть ответ
👍3🎉21🤓1
Отличие между == и .equals() в Java.

В Java существует два основных метода сравнения объектов: == и .equals(). Они имеют разные цели и поведение, и важно понимать, когда использовать каждый из них. Также вопрос о различии этих двух методов практически всегда присутствует на собеседовании уровня junior или trainee.

1) == (сравнение ссылок):

Оператор == сравнивает значения двух ссылок на объекты.
Возвращает true, если ссылки указывают на один и тот же объект в памяти, и false в противном случае.
Эффективен для примитивных типов данных. Пример на Картинке 1.

2) .equals() (сравнение содержимого):

Метод .equals() сравнивает содержимое объектов, а не их ссылки. И обычно переопределен в классах, чтобы определить равенство по логике приложения.
Часто используется для сравнения строк (пример на Картинке 1).

Переопределение метода .equals() также на Картинке 2.

Objects.equals():

Метод Objects.equals(a, b) может использоваться для сравнения двух объектов, учитывая возможность null.
Внутренне использует .equals(). Пример на Картинке 2.

Выбор между == и .equals() зависит от контекста и целей сравнения. Важно помнить о переопределении .equals() для пользовательских классов.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥21
Может ли объект получить доступ к члену класса, объявленному как private? Если да, то каким образом?

☕️ Внутри класса доступ к приватной переменной открыт без ограничений;

☕️ Вложенный класс имеет полный доступ ко всем (в том числе и приватным) членам содержащего его класса;

☕️ Доступ к приватным переменным извне может быть организован через отличные от приватных методов, которые предоставлены разработчиком класса. Например: getX() и setX().

☕️ Через механизм рефлексии (Reflection API) (см. Картинку). Не рекомендуется использовать в проектах.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👨‍💻21🔥1🤓1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12👨‍💻2👍1
Какие из следующих слов являются ключевыми словами в Java?
Anonymous Quiz
8%
key, value, object
2%
function, loop, var
0%
execute, run, process
88%
return, static, final
2%
Посмотреть ответ
3👍2🎉2👨‍💻1
Вопрос из собеседования - Как и когда происходит увеличение количества корзин в HashMap?

Помимо capacity у HashMap есть еще поле loadFactor, на основании которого, вычисляется предельное количество занятых корзин capacity * loadFactor. По умолчанию loadFactor = 0.75.
По достижению предельного значения, число корзин увеличивается в 2 раза и для всех хранимых элементов вычисляется новое «местоположение» с учетом нового числа корзин.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43👨‍💻2
Класс Object в Java.

Вопрос про класс Object и его методы очень часто встречается на собеседованиях. Это - база.

В Java есть специальный суперкласс Object, который является родителем для всех остальных классов, другими словами - все классы в Java наследуются от класса Object.

Поэтому ссылочная переменная класса Object может ссылаться на объект любого другого класса. Поэтому объекты всех классов могут реализовать те методы, которые определены в классе Object.

А методы класса Object следующие:

– Class<?> getClass() – получает класс объекта во время выполнения;

– int hashCode() – возвращает хэш-код, связанный с вызывающим объектом;

– boolean equals(Object obj) – определяет, равен ли один объект другому;

– String toString() – возвращает строку, описывающую объект;

– Object clone() – создаёт новый объект, не отличающийся от клонируемого;

– void finalize() – вызывается перед удалением неиспользуемого объекта;

– void notify() – возобновляет выполнение потока, который ожидает вызывающего объекта;

– void notifyAll() – возобновляет выполнение всех потоков, которые ожидают вызывающего объекта;

– void wait() – ожидает другого потока выполнения.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👨‍💻2🔥1