Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6😁5💯2👍1
Иммутабельность в Java. Часть 1.
Когда речь заходит о программировании на Java, понятие иммутабельности становится ключевым. Давайте разберемся, что это такое и почему это важно.
🔒 Что такое Иммутабельность?
Иммутабельность означает, что объект не может быть изменен после создания. Как-будто вы делаете печать на письме - после того, как она нанесена, ее нельзя изменить.
Пример с иммутабельным классом:
public final class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
В этом классе Person поля name и age объявлены как final, что делает объект этого класса неизменяемым. Мы не можем просто так изменить имя или возраст после создания объекта Person.
Почему иммутабельность важна?
1) Потокобезопасность
Иммутабельные объекты являются потокобезопасными по своей природе, так как их состояние не изменяется.
2) Безопасность
Избегание изменений в объектах после создания помогает предотвратить ошибки, связанные с неожиданными изменениями.
3) Производительность
Иммутабельные объекты упрощают кеширование и повторное использование, так как их можно считать безопасными для разделения между различными частями кода.
4) Ясность кода
Использование иммутабельности делает код более предсказуемым и легким для понимания.
Применение иммутабельности в Java - это мощный инструмент для создания надежных и эффективных программ. Он добавляет стабильность и предсказуемость, что особенно важно в мире разработки ПО. 🚀
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Когда речь заходит о программировании на Java, понятие иммутабельности становится ключевым. Давайте разберемся, что это такое и почему это важно.
🔒 Что такое Иммутабельность?
Иммутабельность означает, что объект не может быть изменен после создания. Как-будто вы делаете печать на письме - после того, как она нанесена, ее нельзя изменить.
Пример с иммутабельным классом:
public final class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
В этом классе Person поля name и age объявлены как final, что делает объект этого класса неизменяемым. Мы не можем просто так изменить имя или возраст после создания объекта Person.
Почему иммутабельность важна?
1) Потокобезопасность
Иммутабельные объекты являются потокобезопасными по своей природе, так как их состояние не изменяется.
2) Безопасность
Избегание изменений в объектах после создания помогает предотвратить ошибки, связанные с неожиданными изменениями.
3) Производительность
Иммутабельные объекты упрощают кеширование и повторное использование, так как их можно считать безопасными для разделения между различными частями кода.
4) Ясность кода
Использование иммутабельности делает код более предсказуемым и легким для понимания.
Применение иммутабельности в Java - это мощный инструмент для создания надежных и эффективных программ. Он добавляет стабильность и предсказуемость, что особенно важно в мире разработки ПО. 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3✍3
Кто в 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