Кто в SCRUM отвечает за устранение преград, мешающих команде достигнуть цели спринта?
Anonymous Quiz
12%
Product owner
58%
Scrum Master
9%
Development team
9%
Scrum Coach
13%
Посмотреть ответ
✍2👍2🎉2👨💻1
Иммутабельность в Java. Часть 2. Примеры.
Вопрос про иммутабельность часто встречается на собеседовании. Из того, что железобетонно нужно запомнить — все классы-обертки над примитивными типами — неизменяемые. Integer, Byte, Character, Short, Boolean, Long, Double, Float — все эти классы создают Immutable объекты.
Например,
1) String immutableString = "Hello, World!";
// Методы работы со строками не изменяют текущую строку, а возвращают новую
String newString = immutableString.toUpperCase();
2) Работа с классом java.time.LocalDate:
LocalDate immutableDate = LocalDate.of(2023, 11, 3);
// Методы работы с датой также возвращают новую дату
LocalDate nextMonth = immutableDate.plusMonths(1);
3) И еще раз пример своего собственного иммутабельного класса на Картинке 2.
Использование иммутабельности в Java способствует созданию более надежного и чистого кода, а также улучшает его производительность в многозадачных и многопоточных сценариях.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Вопрос про иммутабельность часто встречается на собеседовании. Из того, что железобетонно нужно запомнить — все классы-обертки над примитивными типами — неизменяемые. Integer, Byte, Character, Short, Boolean, Long, Double, Float — все эти классы создают Immutable объекты.
Например,
1) String immutableString = "Hello, World!";
// Методы работы со строками не изменяют текущую строку, а возвращают новую
String newString = immutableString.toUpperCase();
2) Работа с классом java.time.LocalDate:
LocalDate immutableDate = LocalDate.of(2023, 11, 3);
// Методы работы с датой также возвращают новую дату
LocalDate nextMonth = immutableDate.plusMonths(1);
3) И еще раз пример своего собственного иммутабельного класса на Картинке 2.
Использование иммутабельности в Java способствует созданию более надежного и чистого кода, а также улучшает его производительность в многозадачных и многопоточных сценариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4✍2👨💻1
Иммутабельность в Java. Часть 3. String Immutable.
В Java, строка (String) является immutable (неизменяемой). Это означает, что после создания объекта String его значение нельзя изменить. Давайте разберемся, почему это важно и как это работает.
💡 Преимущества неизменяемости String.
1) Безопасность
Строки, которые вы передаете в методы или возвращаете из них, не могут быть случайно изменены другим кодом.
2) Кэширование
Java может кэшировать строковые литералы, что экономит память и ускоряет выполнение программы.
3) Потокобезопасность
Из-за неизменяемости строки безопасны в многопоточных сценариях.
🧐 Пример использования String
String original = "Hello";
String modified = original + ", World!";
// Новая строка создается при конкатенации (сложение строк, поговорим об этом в след постах)
System.out.println(original);
// Выводит "Hello"
System.out.println(modified);
// Выводит "Hello, World!"
👩💻 Практический совет:
При работе со строками в Java помните о их неизменяемости и выбирайте подходящие методы для эффективной обработки данных.
📌 Заключение:
Понимание неизменяемости строк помогает нам писать более эффективный и безопасный код на Java. Практикуйтесь и улучшайте свои навыки!
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
В Java, строка (String) является immutable (неизменяемой). Это означает, что после создания объекта String его значение нельзя изменить. Давайте разберемся, почему это важно и как это работает.
💡 Преимущества неизменяемости String.
1) Безопасность
Строки, которые вы передаете в методы или возвращаете из них, не могут быть случайно изменены другим кодом.
2) Кэширование
Java может кэшировать строковые литералы, что экономит память и ускоряет выполнение программы.
3) Потокобезопасность
Из-за неизменяемости строки безопасны в многопоточных сценариях.
🧐 Пример использования String
String original = "Hello";
String modified = original + ", World!";
// Новая строка создается при конкатенации (сложение строк, поговорим об этом в след постах)
System.out.println(original);
// Выводит "Hello"
System.out.println(modified);
// Выводит "Hello, World!"
👩💻 Практический совет:
При работе со строками в Java помните о их неизменяемости и выбирайте подходящие методы для эффективной обработки данных.
📌 Заключение:
Понимание неизменяемости строк помогает нам писать более эффективный и безопасный код на Java. Практикуйтесь и улучшайте свои навыки!
Please open Telegram to view this post
VIEW IN TELEGRAM
✍3🔥3👍2👨💻1
Какой оператор используется для выбора всех столбцов из таблицы в SQL?
Anonymous Quiz
7%
SELECT COLUMN
1%
SELECT FIELDS
74%
SELECT *
16%
SELECT ALL
2%
Посмотреть ответ
🎉3✍2👍2❤1
Иммутабельность в Java. Часть 4. Конкатенация строк.
В предыдущих частях мы узнали, что иммутабельность в Java способствует безопасности и устойчивости программ. Сегодня мы рассмотрим, как работает конкатенация строк в контексте иммутабельности.
👉 Что такое конкатенация строк?
Конкатенация - это процесс объединения строк. В Java есть несколько способов это сделать, и один из них - использовать оператор + или метод .concat().
🧊 Пример:
String firstName = "John";
String lastName = "Doe";
String fullName = firstName + " " + lastName;
// или
String fullNameConcat = firstName.concat(" ").concat(lastName);
Вывод в обоих случаях: John Doe
❗ Остерегайтесь ловушек!
Оператор + или метод .concat() не изменяют оригинальные строки. Вместо этого они создают новую строку. Это особенно важно, когда вы работаете с большим количеством строк. Создание новых объектов String при конкатенации - очень распространенный вопрос с собеседования.
🔗 Почему это важно в контексте иммутабельности?
Такие операции не создают мутации в исходных строках, что делает их безопасными и предсказуемыми. Мы можем быть уверены, что исходные строки останутся неизменными.
⚖️ Плюсы и минусы конкатенации:
Плюсы:
1) Простота использования.
2) Удобство читаемости кода.
Минусы:
1) Новые строки могут занимать больше памяти.
2) Время выполнения может быть медленнее при большом количестве конкатенаций.
🔍 Совет:
Для более эффективной работы с большим количеством конкатенаций, например, конкатенация в цикле, рекомендуется использовать StringBuilder или StringBuffer. О них поговорим в следующих постах.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
В предыдущих частях мы узнали, что иммутабельность в Java способствует безопасности и устойчивости программ. Сегодня мы рассмотрим, как работает конкатенация строк в контексте иммутабельности.
👉 Что такое конкатенация строк?
Конкатенация - это процесс объединения строк. В Java есть несколько способов это сделать, и один из них - использовать оператор + или метод .concat().
🧊 Пример:
String firstName = "John";
String lastName = "Doe";
String fullName = firstName + " " + lastName;
// или
String fullNameConcat = firstName.concat(" ").concat(lastName);
Вывод в обоих случаях: John Doe
❗ Остерегайтесь ловушек!
Оператор + или метод .concat() не изменяют оригинальные строки. Вместо этого они создают новую строку. Это особенно важно, когда вы работаете с большим количеством строк. Создание новых объектов String при конкатенации - очень распространенный вопрос с собеседования.
🔗 Почему это важно в контексте иммутабельности?
Такие операции не создают мутации в исходных строках, что делает их безопасными и предсказуемыми. Мы можем быть уверены, что исходные строки останутся неизменными.
⚖️ Плюсы и минусы конкатенации:
Плюсы:
1) Простота использования.
2) Удобство читаемости кода.
Минусы:
1) Новые строки могут занимать больше памяти.
2) Время выполнения может быть медленнее при большом количестве конкатенаций.
🔍 Совет:
Для более эффективной работы с большим количеством конкатенаций, например, конкатенация в цикле, рекомендуется использовать StringBuilder или StringBuffer. О них поговорим в следующих постах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3✍2👨💻2🔥1
Иммутабельность в Java. Часть 5.1. Конкатенация строк с помощью StringBuilder.
Продолжаем глубже погружаться в мир иммутабельности в Java! Сегодня мы рассмотрим эффективный способ конкатенации строк с использованием StringBuilder.
👉 Что такое StringBuilder?
StringBuilder - это класс в Java, предназначенный для изменения строк без создания новых объектов. Это особенно полезно при выполнении множественных операций конкатенации.
🛠️ Как использовать StringBuilder:
// Инициализация
StringBuilder stringBuilder = new StringBuilder();
// Добавление текста
stringBuilder.append("Hello");
stringBuilder.append(" ");
stringBuilder.append("World");
// Преобразование в строку
String result = stringBuilder.toString();
При выводе переменной result получим Hello World
🚀 Преимущества использования StringBuilder:
1) Эффективность
Изменение содержимого без создания новых объектов.
2) Производительность
Особенно важно при множественных операциях конкатенации.
⚖️ Когда использовать StringBuilder?
1) При многократных операциях изменения строки в цикле.
2) Когда требуется эффективное использование памяти.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Продолжаем глубже погружаться в мир иммутабельности в Java! Сегодня мы рассмотрим эффективный способ конкатенации строк с использованием StringBuilder.
👉 Что такое StringBuilder?
StringBuilder - это класс в Java, предназначенный для изменения строк без создания новых объектов. Это особенно полезно при выполнении множественных операций конкатенации.
🛠️ Как использовать StringBuilder:
// Инициализация
StringBuilder stringBuilder = new StringBuilder();
// Добавление текста
stringBuilder.append("Hello");
stringBuilder.append(" ");
stringBuilder.append("World");
// Преобразование в строку
String result = stringBuilder.toString();
При выводе переменной result получим Hello World
🚀 Преимущества использования StringBuilder:
1) Эффективность
Изменение содержимого без создания новых объектов.
2) Производительность
Особенно важно при множественных операциях конкатенации.
⚖️ Когда использовать StringBuilder?
1) При многократных операциях изменения строки в цикле.
2) Когда требуется эффективное использование памяти.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍2👍2👨💻2⚡1
Какой тип данных используется для хранения целых чисел в Java?
Anonymous Quiz
1%
float
6%
inter
1%
double
0%
char
91%
int
0%
Посмотреть ответ
🎉5👍1🤓1👨💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7❤2👍1🔥1
Иммутабельность в Java. Часть 5.2. Конкатенация строк с помощью StringBuilder.
Рассмотрим еще несколько примеров использования StringBuilder в Java.
StringBuilder message = new StringBuilder("Welcome");
message.append(" to").append(" Java").append("!");
String finalMessage = message.toString();
Вывод переменной finalMessage: Welcome to Java!
Пример использования StringBuilder в цикле на Картинке 2:
В классе StringBuilderExample мы сначала создаем объекта СтрингБилдера, затем создаем массив некоторых строк. Проходимся по массиву с помощью цикла форыч и склеиваем строки из массива с помощью СтрингБилдера и его метода .append(). Далее преобразуем СтрингБилдер в строку через метод .toString() класса Object (не забываем, что StringBuilder тоже наследуется от класса Object) и выводим результат в консоль.
В этом примере StringBuilder эффективно используется в цикле для конкатенации слов из массива. Это помогает избежать создания большого количества временных объектов строк, что может привести к снижению производительности.
Помним, что StringBuilder - отличный выбор, когда нам нужно изменять строки в цикле или при конкатенации большого количества строк для улучшения производительности.
🚀 Вывод:
Используем StringBuilder для эффективной и производительной конкатенации строк в Java.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Рассмотрим еще несколько примеров использования StringBuilder в Java.
StringBuilder message = new StringBuilder("Welcome");
message.append(" to").append(" Java").append("!");
String finalMessage = message.toString();
Вывод переменной finalMessage: Welcome to Java!
Пример использования StringBuilder в цикле на Картинке 2:
В классе StringBuilderExample мы сначала создаем объекта СтрингБилдера, затем создаем массив некоторых строк. Проходимся по массиву с помощью цикла форыч и склеиваем строки из массива с помощью СтрингБилдера и его метода .append(). Далее преобразуем СтрингБилдер в строку через метод .toString() класса Object (не забываем, что StringBuilder тоже наследуется от класса Object) и выводим результат в консоль.
В этом примере StringBuilder эффективно используется в цикле для конкатенации слов из массива. Это помогает избежать создания большого количества временных объектов строк, что может привести к снижению производительности.
Помним, что StringBuilder - отличный выбор, когда нам нужно изменять строки в цикле или при конкатенации большого количества строк для улучшения производительности.
🚀 Вывод:
Используем StringBuilder для эффективной и производительной конкатенации строк в Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5✍2🔥1👨💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11❤2💯2
Что делает команда git commit -m "Message"?
Anonymous Quiz
29%
Сохраняет изменения в индексе
6%
Создаёт новую ветку
53%
Добавляет изменения в репозиторий
6%
Выводит текущее состояние репозитория
6%
Посмотреть ответ
✍3👍2🎉2
Иммутабельность в Java. Часть 5.3. Конкатенация строк с помощью StringBuffer.
Продолжаем погружение в мир иммутабельности, и сегодня рассмотрим использование StringBuffer для конкатенации строк.
🚀 StringBuffer: Безопасная конкатенация
В предыдущих частях мы узнали, что строки в Java неизменяемы (immutable). И если нам нужно часто модифицировать строки без создания новых объектов, мы можем использовать не только StringBuilder, но и StringBuffer.
Пример использования на Картинке:
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Привет, ");
stringBuffer.append("мир!");
String result = stringBuffer.toString();
Вывод: Привет, мир!
🔗 StringBuffer vs StringBuilder:
Оба класса предоставляют похожие функциональности, но StringBuilder является его несинхронизированной версией, что делает его более производительным в непотокобезопасных сценариях.
✨ Преимущества StringBuffer:
1) Изменяемость
Может быть изменен без создания новых объектов.
2) Потокобезопасность
Методы append и delete синхронизированы, что делает StringBuffer потокобезопасным.
🤔 Когда выбрать StringBuffer?
Если наши операции с конкатенацией могут быть использованы в многопоточной среде, StringBuffer - наш выбор.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Продолжаем погружение в мир иммутабельности, и сегодня рассмотрим использование StringBuffer для конкатенации строк.
🚀 StringBuffer: Безопасная конкатенация
В предыдущих частях мы узнали, что строки в Java неизменяемы (immutable). И если нам нужно часто модифицировать строки без создания новых объектов, мы можем использовать не только StringBuilder, но и StringBuffer.
Пример использования на Картинке:
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Привет, ");
stringBuffer.append("мир!");
String result = stringBuffer.toString();
Вывод: Привет, мир!
🔗 StringBuffer vs StringBuilder:
Оба класса предоставляют похожие функциональности, но StringBuilder является его несинхронизированной версией, что делает его более производительным в непотокобезопасных сценариях.
✨ Преимущества StringBuffer:
1) Изменяемость
Может быть изменен без создания новых объектов.
2) Потокобезопасность
Методы append и delete синхронизированы, что делает StringBuffer потокобезопасным.
🤔 Когда выбрать StringBuffer?
Если наши операции с конкатенацией могут быть использованы в многопоточной среде, StringBuffer - наш выбор.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍2💯2
Frontend vs Backend: Разбираем разницу в мире разработки!
Сегодня мы поговорим о том, что делает frontend и backend разработки уникальными. Давайте разберем ключевые различия.
🚀 Frontend: Основа пользовательского интерфейса
Frontend - это та часть веб-приложения, с которой взаимодействует пользователь. Вот ключевые моменты:
1) Языки программирования: HTML, CSS, JavaScript.
2) Ответственности: Отображение данных, взаимодействие с пользователем, создание интерфейса.
👩💻 Backend: Сердце приложения
Backend - это "мозги" веб-приложения, скрытые от пользователя. Вот, что важно:
1) Языки программирования: Java, PHP, Python, Ruby, Node.js и др.
2) Ответственности: Обработка данных, бизнес-логика, взаимодействие с базой данных.
🔄 Совместная работа:
Frontend и backend взаимодействуют, обмениваясь данными через API. Frontend отправляет запросы на backend, и тот отвечает необходимой информацией. А frontend, в свою очередь, отрисовывает понятный человеческому глазу интерфейс в приложении (будь то веб сайтом, мобильным приложением или десктопом (приложение для рабочего стола)).
🌈 Еще есть Full-Stack разработчики:
Они охватывают и frontend, и backend! Полный контроль над приложением.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Сегодня мы поговорим о том, что делает frontend и backend разработки уникальными. Давайте разберем ключевые различия.
🚀 Frontend: Основа пользовательского интерфейса
Frontend - это та часть веб-приложения, с которой взаимодействует пользователь. Вот ключевые моменты:
1) Языки программирования: HTML, CSS, JavaScript.
2) Ответственности: Отображение данных, взаимодействие с пользователем, создание интерфейса.
👩💻 Backend: Сердце приложения
Backend - это "мозги" веб-приложения, скрытые от пользователя. Вот, что важно:
1) Языки программирования: Java, PHP, Python, Ruby, Node.js и др.
2) Ответственности: Обработка данных, бизнес-логика, взаимодействие с базой данных.
🔄 Совместная работа:
Frontend и backend взаимодействуют, обмениваясь данными через API. Frontend отправляет запросы на backend, и тот отвечает необходимой информацией. А frontend, в свою очередь, отрисовывает понятный человеческому глазу интерфейс в приложении (будь то веб сайтом, мобильным приложением или десктопом (приложение для рабочего стола)).
🌈 Еще есть Full-Stack разработчики:
Они охватывают и frontend, и backend! Полный контроль над приложением.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👨💻2✍1
Кто в SCRUM отвечает за управление бэклогом продукта?
Anonymous Quiz
34%
Scrum Master
10%
Development Team
30%
Product Owner
10%
Scrum Coach
15%
Посмотреть ответ
✍4👍2🎉2❤1👨💻1
Как взаимодействуют frontend и backend?
Сейчас будет очень важное описание на пальцах для хорошего понимания сути. Предположим, у нас есть юзер, который пользуется мобильным приложением, у которого backend написан на Java, а frontend написан на языке Kotlin для Android.
Взаимодействие фронтенда и бэкенда происходит следующим образом:
- есть некий компьютер - сервер;
- есть backend приложение, которое задеплоено (живет) на этом сервере/компьютере;
- есть некий юзер, который пользуется этим приложением через фронтенд (мобильное приложение);
– клиентская часть приложения (фронтенд) отправляет информацию, введенную пользователем, на сервер (бэкенд);
– программа на сервере обрабатывает информацию (бэкенд), общается с своей базой данных, если такое имеется;
– далее информация возвращается клиентской стороне (фронтенд) в понятной для пользователя форме.
Несмотря на то что бэкендом и фронтендом занимаются разные специалисты, каждому из них желательно понимать принципы, по которым работают коллеги.
🤝 По каким правилам/стандартам происходит взаимодействие бэка и фронта?
1) API (Application Programming Interface): Это мост между frontend и backend.
Можно вернуться к постам про REST API по ссылке.
2) HTTP/HTTPS протоколы: Frontend отправляет запросы, а backend отвечает.
Закрепим кратко:
💬 Что происходит в реальном времени?
Frontend отправляет запрос: Например, "Покажи мне данные пользователя".
Backend обрабатывает запрос: Запрашивает данные из базы данных.
Backend отправляет ответ: Frontend получает данные и отображает их.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Сейчас будет очень важное описание на пальцах для хорошего понимания сути. Предположим, у нас есть юзер, который пользуется мобильным приложением, у которого backend написан на Java, а frontend написан на языке Kotlin для Android.
Взаимодействие фронтенда и бэкенда происходит следующим образом:
- есть некий компьютер - сервер;
- есть backend приложение, которое задеплоено (живет) на этом сервере/компьютере;
- есть некий юзер, который пользуется этим приложением через фронтенд (мобильное приложение);
– клиентская часть приложения (фронтенд) отправляет информацию, введенную пользователем, на сервер (бэкенд);
– программа на сервере обрабатывает информацию (бэкенд), общается с своей базой данных, если такое имеется;
– далее информация возвращается клиентской стороне (фронтенд) в понятной для пользователя форме.
Несмотря на то что бэкендом и фронтендом занимаются разные специалисты, каждому из них желательно понимать принципы, по которым работают коллеги.
🤝 По каким правилам/стандартам происходит взаимодействие бэка и фронта?
1) API (Application Programming Interface): Это мост между frontend и backend.
Можно вернуться к постам про REST API по ссылке.
2) HTTP/HTTPS протоколы: Frontend отправляет запросы, а backend отвечает.
Закрепим кратко:
💬 Что происходит в реальном времени?
Frontend отправляет запрос: Например, "Покажи мне данные пользователя".
Backend обрабатывает запрос: Запрашивает данные из базы данных.
Backend отправляет ответ: Frontend получает данные и отображает их.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍2🔥2👨💻1
Как добавить новую запись в таблицу SQL?
Anonymous Quiz
14%
ADD NEW
3%
ADD RECORD
79%
INSERT INTO
2%
INSERT RECORD
3%
Посмотреть ответ
🎉5✍2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
💯7👍3😁3❤1