for
в C++ используется для повторения блока кода определенное количество раз. Он состоит из трех частей: инициализация, условие и итерация.
#include <iostream>
int main() {
// Инициализация: int i = 0
// Условие: i < 5
// Итерация: i++
for (int i = 0; i < 5; i++) {
std::cout << "Итерация: " << i << std::endl; // Вывод текущей итерации
}
return 0;
Инициализация выполняется один раз в начале. Условие проверяется перед каждой итерацией. Итерация выполняется после каждого прохода цикла. Если условие ложно, цикл завершает выполнение.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
CREATE TABLE Authors (
AuthorID INT PRIMARY KEY, -- Первичный ключ таблицы авторов
Name VARCHAR(100)
);
CREATE TABLE Books (
BookID INT PRIMARY KEY, -- Первичный ключ таблицы книг
Title VARCHAR(100),
AuthorID INT, -- Внешний ключ, ссылающийся на таблицу Authors
FOREIGN KEY (AuthorID) REFERENCES Authors(AuthorID)
);
В данном примере один автор может иметь много книг.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5⚡1
Пример:
$value = 10; // Переменная $value имеет тип integer
$value = "Hello"; // Теперь $value имеет тип string
PHP автоматически преобразует типы, когда это необходимо, например, при сложении числа и строки:
$sum = 5 + "10"; // Результат: 15, строка "10" преобразуется в число
Динамическая типизация упрощает код, но может привести к неожиданным результатам, если не учитывать преобразования типов.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
JMM гарантирует, что изменения в одной нити видны другим, регулируя порядок операций. Ключевые концепции включают видимость, атомарность и упорядоченность.
Пример:
volatile
гарантирует видимость изменений переменной между потоками.
class Example {
private volatile boolean flag = true;
void stop() {
flag = false; // Изменение видимо другим потокам
}
}
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
-- Таблица студентов
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100)
);
-- Таблица курсов
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
Title VARCHAR(100)
);
-- Промежуточная таблица для связи "многие ко многим"
CREATE TABLE StudentCourses (
StudentID INT,
CourseID INT,
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID),
PRIMARY KEY (StudentID, CourseID)
);
Эта структура позволяет одному студенту записываться на несколько курсов и одному курсу иметь нескольких студентов.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
define('PI', 3.14); // Определение константы PI
const PI = 3.14; // Определение константы PI
const быстрее, так как обрабатывается на этапе компиляции.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
OAuth2 — это протокол, который позволяет приложениям выполнять аутентификацию и авторизацию без передачи паролей. Он использует токены доступа для предоставления ограниченного доступа к ресурсам.
Основные шаги:
1️⃣ Клиент запрашивает авторизацию у пользователя.
2️⃣ Пользователь предоставляет разрешение.
3️⃣ Клиент получает код авторизации.
4️⃣ Клиент обменивает код на токен доступа.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Backend собеседования
Основные шаги:
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Создать EnumSet можно с помощью статических методов, например,
EnumSet.of
, EnumSet.allOf
и EnumSet.noneOf
. EnumSet поддерживает операции добавления, удаления и проверки наличия элементов.
enum Color { RED, GREEN, BLUE }
EnumSet<Color> colors = EnumSet.of(Color.RED, Color.GREEN); // Создание EnumSet с выбранными цветами
colors.add(Color.BLUE); // Добавление элемента
if (colors.contains(Color.RED)) { // Проверка наличия элемента
// Действия, если элемент найден
}
Использование EnumSet позволяет легко управлять группами связанных значений enum, делая код более читабельным и поддерживаемым.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Объявление класса начинается с ключевого слова
class
, за которым следует имя класса и тело класса в фигурных скобках. Внутри тела объявляются члены класса: переменные (поля) и функции (методы). По умолчанию все члены класса являются приватными, если не указано иное.
class MyClass {
private:
int privateVar; // Приватное поле
public:
void setVar(int value) { // Публичный метод
privateVar = value;
}
int getVar() { // Публичный метод
return privateVar;
}
};
В этом примере
privateVar
— приватное поле, доступное только внутри класса. Методы setVar
и getVar
— публичные, их можно вызывать извне для управления значением privateVar
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Пример использования подзапроса для фильтрации:
SELECT name
FROM employees
WHERE department_id = (
SELECT id
FROM departments
WHERE name = 'Sales'
);
Здесь подзапрос возвращает идентификатор отдела "Sales", который затем используется в основном запросе для выбора сотрудников из этого отдела.
Подзапросы могут быть вложены в SELECT, FROM, WHERE, HAVING и другие части SQL-запроса. Они помогают структурировать сложные запросы и выполнять их поэтапно.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Память в .NET делится на три поколения: 0, 1 и 2. Новые объекты создаются в поколении 0. Если объект переживает сборку мусора, он перемещается в следующее поколение. Чаще всего сборка мусора происходит в поколении 0, реже — в поколении 1, и ещё реже — в поколении 2.
GC работает в нескольких режимах: Workstation (для клиентских приложений) и Server (для серверных приложений). В режиме Server используется несколько потоков для сборки мусора, что повышает производительность.
Пример кода, показывающий, как можно влиять на GC:
// Принудительная сборка мусора
GC.Collect();
GC.WaitForPendingFinalizers();
// Отключение финализации для объекта
GC.SuppressFinalize(this);
GC автоматически определяет, когда нужно освободить память, но в некоторых случаях можно вручную вызвать сборку мусора, хотя это не рекомендуется делать без необходимости.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1