JavaStart
916 subscribers
902 photos
28 videos
612 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Возможно ли напрямую создать экземпляр интерфейса в Java?
Anonymous Quiz
30%
Да
65%
Нет
5%
Посмотреть ответ
🎉42👍1
Команды Git. Часть 5.2.

Еще несколько полезных команд Git для начинающих:

1) Команда ниже показывает изменения, внесенные в файл file.txt с момента последней фиксации.

git diff file.txt

2) Управление ветками

git branch

Эта команда используется для управления ветвями в вашем репозитории.

Команда ниже создает новую ветку с именем new_feature.

git branch new_feature

3) Переключение между ветками

git checkout

Эта команда используется для переключения между ветвями.

Команда ниже переключает на ветку new_feature.

git checkout new_feature

4) Объединение изменений

git merge

Эта команда используется для объединения изменений из одной ветки в другую.

Команда ниже объединяет изменения, сделанные в ветке new_feature, с текущей веткой.

git merge new_feature

5) Клонирование

git clone

Эта команда используется для клонирования существующего репозитория.

Команда ниже клонирует репозиторий https://github.com/user/repo.git на ваш локальный компьютер.

git clone https://github.com/user/repo.git

Это лишь некоторые из многих команд Git, которые могут помочь вам управлять своим кодом и сотрудничать с другими разработчиками. По мере знакомства с Git вы откроете для себя еще больше команд и функций, которые помогут вам работать более эффективно и результативно. Независимо от того, являетесь ли вы новичком или опытным разработчиком, знание этих команд необходимо для успешной разработки программного обеспечения.

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32👨‍💻2
Какое расширение файла обычно используется для файлов JSON?
Anonymous Quiz
6%
.xml
6%
.js
82%
.json
2%
.html
3%
Посмотреть ответ
😁53👍3🎉3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁74👨‍💻2
Какого типа данных всегда должны быть ключи в JSON?
Anonymous Quiz
4%
Number
3%
Boolean
16%
Object
71%
String
6%
Посмотреть ответ
2👍2🎉2
Команды Git. Часть 5.3.

Один из необычных вопросов, который могут задать на собесе касательно Git звучит следующим образом:

Что такое HEAD ?

Начнем с того, что HEAD – это указатель на коммит в вашем репозитории, который станет родителем следующего коммита.

Давайте посмотрим на первую картинку – эти три коммита создавались в порядке слева направо от a98cce4 к 2b826bb. Каждый раз, когда мы отправляли новый коммит в репозиторий, HEAD смещался и указывал на него. После того как мы отправили коммит с id = 2b826bb, указатель HEAD стал показывать на него, т.е. данный коммит будет родителем для следующего.
И когда мы сделаем еще один коммит, HEAD сместится на него (вторая картинка).

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

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43👨‍💻2🤓1
Команды Git. Часть 5.4.

Распространенная команда git cherry-pick.

На собеседовании начинающего Java разработчика могут спросить - Что такое cherry-pick? Ответ нужно знать, потому что это очень нужная команда Git в процессе разработки ПО.

Команда git cherry-pick позволяет применять коммиты из одной ветки в другую. Это может быть полезно, если вы хотите взять определенный коммит из одной ветки и применить его в другой ветке без переноса всей истории коммитов.

Чтобы использовать git cherry-pick, нужно выполнить следующие шаги:

1) Перейти в ту ветку, в которую мы хотим применить коммит.
2) Выполнить команду git cherry-pick <commit-hash>,
где <commit-hash> - это хэш-код коммита, который мы хотим применить.

Давайте посмотрим на пример использования git cherry-pick. Предположим, что у нас есть две ветки: master и feature. Мы хотим применить коммит с хэш-кодом 123abc из ветки feature в ветку master. Выполним следующие команды:

– git checkout master (переключились на ветку master)

– git cherry-pick 123abc (применяем коммит с хэш-кодом 123abc в текущую ветку master, на которой находимся)

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥21
Необычный случай из практики с Git.

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

Сначала он пытался самостоятельно разобраться, но это только усугубляло ситуацию. Он попытался вернуться к предыдущим коммитам, использовал git reset, git revert, но это лишь увеличивало хаос. Наконец, он понял, что без помощи не обойтись, и обратился к опытному коллеге.

Они вместе рассмотрели историю коммитов и использовали git cherry-pick, чтобы выбрать нужные изменения и перенести их в отдельную ветку. Затем, с помощью git rebase, аккуратно объединили изменения, решив конфликты и восстановив порядок.

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

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53👨‍💻3
Какое из нижеуказанных выражений валидно для создания LocalDate объекта?
Anonymous Quiz
12%
LocalDate.of(2024)
11%
LocalDate.with(2024.8.30)
13%
LocalDate.of(2024.0.30)
57%
LocalDate.now().plusDays(5)
7%
Посмотреть ответ
6🔥3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁124👨‍💻3
Преимущества удаленной работы

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁43👍3🤓2👨‍💻1
Функциональный интерфейс в Java. Часть 1.

Термин функциональный интерфейс был введен в Java 8. Это интерфейс, который содержит только один абстрактный (не реализованный) метод. Может содержать стандартные и статические, которые имеют реализацию, в дополнение к одному нереализованному.

Вот пример:

public interface MyFunctionalInterface {
public void execute();
}

Вышеуказанный интерфейс содержит только один метод, и этот метод не имеет реализации.

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

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

К функциональному интерфейсу можно добавить аннотацию @FunctionalInterface. Это не обязательно, но при наличии данной аннотации код не скомпилируется, если будет больше или меньше, чем 1 абстрактный метод.

Основное назначение функционального интерфейса – это использование в лямбда выражениях и method reference.

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

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4👨‍💻21🔥1💯1🤓1
Функциональный интерфейс в Java. Часть 2.

Касательно функциональных интерфейсов в Java есть один тонкий момент, о котором нужно знать, идя на собеседование, причем неважно - джуниор ты или синьор, подловить тут можно любого!)

Этот тонкий момент описан в Java Language Specification: “interfaces do not inherit from Object, but rather implicitly declare many of the same methods as Object.”

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

Будьте внимательны на собеседовании! 🤘

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥3😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10💯4👍3🎉1
Анонимный класс в Java.

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

И так, Анонимные классы – это классы, что не имеют имени и их создание происходит в момент инициализации объекта. Такие классы много где используются в Java и с ними вы ещё часто будете сталкиваться.

Рассмотрим небольшой пример.

Предположим что у нас есть интерфейс Auto с методом void flyingMoto(), который необходимо реализовать. Для реализации можно создать отдельный класс (например, FamilyAuto или WorkAuto), в нём реализовать интерфейс (заимплементить наш интерфейс Auto), далее создать объект на основе класса и через объект ссылаться на методы классы.

Звучит логично, но не оправдано с точки зрения количества действий.

Куда проще создать объект и для него сразу выполнить создание анонимного класса. Так и читается легче и меньше кода (мы не создали целый отдельный класс для имплементации интерфейса).

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53👨‍💻3
Хорошее место

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁53💯3👍1