Когда класс перенимает свойство от другого класса, это называется...?
Anonymous Quiz
0%
Инкапсуляция
8%
Полиморфизм
90%
Наследование
0%
Инстанцирование
1%
Посмотреть ответ
🎉3✍2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7✍1🔥1
Git. Часть 4.
Давайте подробно рассмотрим примитивную схему Git ветвей. Постараюсь не сложно рассказать, основываясь на боевой опыт и опустив сложные формальности)
Обычно при командной разработке приложения существует главная ветка master. Где находится зафиксированный код рабочей программы, которой пользуются реальные пользователи.
Когда же поступает задача от заказчика разработать какой-то новый функционал, то разработчикам нужно дополнять зафиксированный в ветке master код своим новым кодом. В целях безопасности запрещено сразу дополнять код в главной ветке master.
А как тогда делать?
Каждый разработчик тогда делает свою индивидуальную ветку, отпочковавшись от ветки master. Получается, что весь код, который есть в ветке master, есть и на его новой ветке.
Со временем, когда разраб пишет больше кода, ему нужно фиксировать это у себя, чтобы не потерять изменения, например, если среда разработки глюкнет или чтобы можно было откатиться назад на шаг, в случае локальных проблем непонятного происхождения. Такое фиксирование делается с помощью коммита. То есть изменения/новый код фиксируется в системе Git. Вот эти кружочки на картинке – это и есть коммиты! По коммитам еще очень удобно смотреть историю всех изменений на ветке.
После того как новый функционал полностью реализован на отдельной ветке – он проходит стадию тестирования (например, с помощью тестировщиков, которые работают на совместном проекте). И только после стадии тестирования этот новый функционал / отдельная ветка может быть успешно влита (смержена / to be merged) в основную ветку master.
И в дальнейшем эти изменения могут быть донесены до конечного пользователя нашего с вами приложения. Но, конечно, не мгновенно и не без еще одного процесса, который называется деплоем на сервер) Об этом как-нибудь в другой раз!
В случае критической ошибки после вливания нового функционала в основную ветку master – мы всегда можем откатить рабочее приложение на шаг назад – на предыдущий коммит и вернуть его прежнюю работоспособность.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Давайте подробно рассмотрим примитивную схему Git ветвей. Постараюсь не сложно рассказать, основываясь на боевой опыт и опустив сложные формальности)
Обычно при командной разработке приложения существует главная ветка master. Где находится зафиксированный код рабочей программы, которой пользуются реальные пользователи.
Когда же поступает задача от заказчика разработать какой-то новый функционал, то разработчикам нужно дополнять зафиксированный в ветке master код своим новым кодом. В целях безопасности запрещено сразу дополнять код в главной ветке master.
А как тогда делать?
Каждый разработчик тогда делает свою индивидуальную ветку, отпочковавшись от ветки master. Получается, что весь код, который есть в ветке master, есть и на его новой ветке.
Со временем, когда разраб пишет больше кода, ему нужно фиксировать это у себя, чтобы не потерять изменения, например, если среда разработки глюкнет или чтобы можно было откатиться назад на шаг, в случае локальных проблем непонятного происхождения. Такое фиксирование делается с помощью коммита. То есть изменения/новый код фиксируется в системе Git. Вот эти кружочки на картинке – это и есть коммиты! По коммитам еще очень удобно смотреть историю всех изменений на ветке.
После того как новый функционал полностью реализован на отдельной ветке – он проходит стадию тестирования (например, с помощью тестировщиков, которые работают на совместном проекте). И только после стадии тестирования этот новый функционал / отдельная ветка может быть успешно влита (смержена / to be merged) в основную ветку master.
И в дальнейшем эти изменения могут быть донесены до конечного пользователя нашего с вами приложения. Но, конечно, не мгновенно и не без еще одного процесса, который называется деплоем на сервер) Об этом как-нибудь в другой раз!
В случае критической ошибки после вливания нового функционала в основную ветку master – мы всегда можем откатить рабочее приложение на шаг назад – на предыдущий коммит и вернуть его прежнюю работоспособность.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍3🔥3
Команды Git. Часть 5.1.
Вот несколько полезных команд Git для начинающих:
1) Инициализация
git init
Эта команда инициализирует новый репозиторий Git в текущем каталоге. Это первый шаг к использованию Git в новом проекте.
2) Статус
git status
Эта команда отображает текущий статус вашего репозитория, включая файлы, которые были изменены, добавлены или удалены.
3) Добавление файлов
git add
Эта команда добавляет файлы в промежуточную область, где изменения помещаются на промежуточный этап перед фиксацией.
4) Команда ниже добавляет файл file.txt в промежуточную область.
git add file.txt
5) Фиксация изменений
git commit
Эта команда создает новую фиксацию, которая записывает изменения, внесенные в репозиторий.
6) Команда ниже создает новую фиксацию с сообщением «Исправил ошибку в файле file.txt».
git commit -m «Исправил ошибку в файле file.txt»
7) Логи
git log
Эта команда отображает историю репозитория, включая список всех коммитов, дату и время каждого коммита и автора каждого коммита.
8) Разница между версиями
git diff
Эта команда отображает разницу между текущей версией файла и последней зафиксированной версией.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Вот несколько полезных команд Git для начинающих:
1) Инициализация
git init
Эта команда инициализирует новый репозиторий Git в текущем каталоге. Это первый шаг к использованию Git в новом проекте.
2) Статус
git status
Эта команда отображает текущий статус вашего репозитория, включая файлы, которые были изменены, добавлены или удалены.
3) Добавление файлов
git add
Эта команда добавляет файлы в промежуточную область, где изменения помещаются на промежуточный этап перед фиксацией.
4) Команда ниже добавляет файл file.txt в промежуточную область.
git add file.txt
5) Фиксация изменений
git commit
Эта команда создает новую фиксацию, которая записывает изменения, внесенные в репозиторий.
6) Команда ниже создает новую фиксацию с сообщением «Исправил ошибку в файле file.txt».
git commit -m «Исправил ошибку в файле file.txt»
7) Логи
git log
Эта команда отображает историю репозитория, включая список всех коммитов, дату и время каждого коммита и автора каждого коммита.
8) Разница между версиями
git diff
Эта команда отображает разницу между текущей версией файла и последней зафиксированной версией.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5✍3👨💻3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥3✍1
Возможно ли напрямую создать экземпляр интерфейса в Java?
Anonymous Quiz
30%
Да
65%
Нет
5%
Посмотреть ответ
🎉4✍2👍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. Подписаться
Еще несколько полезных команд 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 вы откроете для себя еще больше команд и функций, которые помогут вам работать более эффективно и результативно. Независимо от того, являетесь ли вы новичком или опытным разработчиком, знание этих команд необходимо для успешной разработки программного обеспечения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3✍2👨💻2
Какое расширение файла обычно используется для файлов JSON?
Anonymous Quiz
6%
.xml
6%
.js
82%
.json
2%
.html
3%
Посмотреть ответ
😁5✍3👍3🎉3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7✍4👨💻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. Подписаться
Один из необычных вопросов, который могут задать на собесе касательно Git звучит следующим образом:
Что такое HEAD ?
Начнем с того, что HEAD – это указатель на коммит в вашем репозитории, который станет родителем следующего коммита.
Давайте посмотрим на первую картинку – эти три коммита создавались в порядке слева направо от a98cce4 к 2b826bb. Каждый раз, когда мы отправляли новый коммит в репозиторий, HEAD смещался и указывал на него. После того как мы отправили коммит с id = 2b826bb, указатель HEAD стал показывать на него, т.е. данный коммит будет родителем для следующего.
И когда мы сделаем еще один коммит, HEAD сместится на него (вторая картинка).
Когда вы переключаетесь с ветки на ветку, используя операцию checkout, то в вашем репозитории указатель HEAD будет переключаться между последними коммитами выбираемых вами ветвей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍3👨💻2🤓1
Какое назначение команды LIMIT в SQL?
Anonymous Quiz
1%
Фильтрует строки, возвращаемые оператором SELECT
0%
Упорядочивает результаты в порядке возрастания или убывания
0%
Группирует строки с одинаковыми значениями
97%
Ограничивает количество строк, возвращаемых оператором SELECT
2%
Посмотреть ответ
👍5✍4🎉3
Команды 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. Подписаться
Распространенная команда 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, на которой находимся)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6✍5🔥2❤1
Необычный случай из практики с Git.
Один из коллег, разрабатывающий на Java, столкнулся с неожиданной проблемой. Работая над новой функциональностью, он случайно внес изменения в чужую ветку, забыв создать свою. Это не сразу заметили, и спустя несколько дней работа нескольких разработчиков переплелась в одну ветку с конфликтующими изменениями.
Сначала он пытался самостоятельно разобраться, но это только усугубляло ситуацию. Он попытался вернуться к предыдущим коммитам, использовал git reset, git revert, но это лишь увеличивало хаос. Наконец, он понял, что без помощи не обойтись, и обратился к опытному коллеге.
Они вместе рассмотрели историю коммитов и использовали git cherry-pick, чтобы выбрать нужные изменения и перенести их в отдельную ветку. Затем, с помощью git rebase, аккуратно объединили изменения, решив конфликты и восстановив порядок.
Эта ситуация показала, насколько важно создавать отдельные ветки для каждой задачи и следить за своими изменениями. Она также подчеркнула важность командной работы и своевременного обращения за помощью, когда проблема становится слишком сложной для одного человека.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Один из коллег, разрабатывающий на Java, столкнулся с неожиданной проблемой. Работая над новой функциональностью, он случайно внес изменения в чужую ветку, забыв создать свою. Это не сразу заметили, и спустя несколько дней работа нескольких разработчиков переплелась в одну ветку с конфликтующими изменениями.
Сначала он пытался самостоятельно разобраться, но это только усугубляло ситуацию. Он попытался вернуться к предыдущим коммитам, использовал git reset, git revert, но это лишь увеличивало хаос. Наконец, он понял, что без помощи не обойтись, и обратился к опытному коллеге.
Они вместе рассмотрели историю коммитов и использовали git cherry-pick, чтобы выбрать нужные изменения и перенести их в отдельную ветку. Затем, с помощью git rebase, аккуратно объединили изменения, решив конфликты и восстановив порядок.
Эта ситуация показала, насколько важно создавать отдельные ветки для каждой задачи и следить за своими изменениями. Она также подчеркнула важность командной работы и своевременного обращения за помощью, когда проблема становится слишком сложной для одного человека.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5✍3👨💻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
😁12✍4👨💻3
Функциональный интерфейс в Java. Часть 1.
Термин функциональный интерфейс был введен в Java 8. Это интерфейс, который содержит только один абстрактный (не реализованный) метод. Может содержать стандартные и статические, которые имеют реализацию, в дополнение к одному нереализованному.
Вот пример:
public interface MyFunctionalInterface {
public void execute();
}
Вышеуказанный интерфейс содержит только один метод, и этот метод не имеет реализации.
Обычно интерфейс не содержит реализации методов, которые он объявляет, но он может содержать реализации в методах по умолчанию (default) или в статических (static).
На картинке приведен еще один пример с реализациями некоторых методов. Этот интерфейс все еще считается функциональным, поскольку он содержит только один не реализованный метод.
К функциональному интерфейсу можно добавить аннотацию @FunctionalInterface. Это не обязательно, но при наличии данной аннотации код не скомпилируется, если будет больше или меньше, чем 1 абстрактный метод.
Основное назначение функционального интерфейса – это использование в лямбда выражениях и method reference.
Рекомендуется добавлять @FunctionalInterface. Это позволит использовать интерфейс в лямбда выражениях, не остерегаясь того, что кто-то добавит в интерфейс новый абстрактный метод и он перестанет быть функциональным.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Термин функциональный интерфейс был введен в Java 8. Это интерфейс, который содержит только один абстрактный (не реализованный) метод. Может содержать стандартные и статические, которые имеют реализацию, в дополнение к одному нереализованному.
Вот пример:
public interface MyFunctionalInterface {
public void execute();
}
Вышеуказанный интерфейс содержит только один метод, и этот метод не имеет реализации.
Обычно интерфейс не содержит реализации методов, которые он объявляет, но он может содержать реализации в методах по умолчанию (default) или в статических (static).
На картинке приведен еще один пример с реализациями некоторых методов. Этот интерфейс все еще считается функциональным, поскольку он содержит только один не реализованный метод.
К функциональному интерфейсу можно добавить аннотацию @FunctionalInterface. Это не обязательно, но при наличии данной аннотации код не скомпилируется, если будет больше или меньше, чем 1 абстрактный метод.
Основное назначение функционального интерфейса – это использование в лямбда выражениях и method reference.
Рекомендуется добавлять @FunctionalInterface. Это позволит использовать интерфейс в лямбда выражениях, не остерегаясь того, что кто-то добавит в интерфейс новый абстрактный метод и он перестанет быть функциональным.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍4👍4👨💻2⚡1🔥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. Подписаться
Касательно функциональных интерфейсов в Java есть один тонкий момент, о котором нужно знать, идя на собеседование, причем неважно - джуниор ты или синьор, подловить тут можно любого!)
Этот тонкий момент описан в Java Language Specification: “interfaces do not inherit from Object, but rather implicitly declare many of the same methods as Object.”
Это означает, что функциональные интерфейсы могут содержать дополнительно абстрактные методы, определенные в классе Object. Код на картинке валиден, ошибок компиляции и во времени выполнения не будет.
Будьте внимательны на собеседовании! 🤘
Please open Telegram to view this post
VIEW IN TELEGRAM
✍4👍3🔥3😁1
Какое предназначение у ключевого слова abstract в Java?
Anonymous Quiz
6%
Для предотвращения наследования класса
1%
Для предотвращения переопределения метода
2%
Для создания экземпляра класса
90%
Для объявления абстрактного класса или метода
1%
Посмотреть ответ
👍3✍2⚡1🔥1🎉1👨💻1