Чистый код — это понятие в программировании, обозначающее код, который легко читать, понимать и поддерживать. Принципы чистого кода помогают разработчикам создавать качественные и устойчивые к изменениям программы. Вот основные характеристики и принципы чистого кода:
int age; // Понятно, что переменная хранит возраст
void calculateAndPrintTotal() {
int total = calculateTotal();
printTotal(total);
}// Calculate the total price including tax
int totalPrice = calculateTotalPrice();
if (isValid) {
process();
} else {
handleError();
} try {
processFile(file);
} catch (IOException e) {
logError(e);
}static final int MAX_USERS = 100;
Чистый код — это понятный, читаемый и поддерживаемый код. Он следит за принципами читаемости, простоты, последовательности, минимизации дублирования, модульности и тестируемости. Чистый код облегчает работу с программой и снижает вероятность ошибок.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Клиент-серверная архитектура — это модель взаимодействия в сетях, где задачи распределяются между поставщиками ресурсов или услуг, называемыми серверами, и потребителями, называемыми клиентами. Это одна из самых распространенных архитектурных моделей в разработке программного обеспечения и сетевых приложений.
Клиент-серверная архитектура — это модель взаимодействия, где клиенты отправляют запросы к серверам, которые обрабатывают эти запросы и возвращают ответы. Она обеспечивает централизованное управление, масштабируемость, разделение обязанностей и безопасность. Примеры включают веб-приложения, электронную почту и базы данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
3%
Только стандартная модель
15%
Кастомная модель с наследованием от AbstractUser
11%
Кастомная модель с наследованием от AbstractBaseUser
71%
Варианты 2 и 3
XML (Extensible Markup Language) — это расширяемый язык разметки, используемый для представления структурированных данных в формате, который легко читается как человеком, так и машиной. XML разработан для хранения и обмена данными между различными системами и платформами.
XML-документ состоит из элементов, атрибутов и текста. Основные компоненты включают:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<!-- Другие элементы -->
</root>
<book>
<title>XML Basics</title>
<author>John Doe</author>
<year>2023</year>
</book>
<book genre="fiction">
<title>XML Basics</title>
<author>John Doe</author>
<year>2023</year>
</book>
<?xml version="1.0" encoding="UTF-8"?>
<library>
<book id="1" genre="fiction">
<title>XML Basics</title>
<author>John Doe</author>
<year>2023</year>
</book>
<book id="2" genre="non-fiction">
<title>Learning XML</title>
<author>Jane Smith</author>
<year>2022</year>
</book>
</library>
XML (Extensible Markup Language) — это язык разметки, используемый для представления структурированных данных. Он позволяет создавать гибкие, читаемые и платформенно независимые документы. XML широко используется для обмена данными между системами и поддерживается множеством технологий и инструментов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
42%
Интерфейс с несколькими методами
51%
Интерфейс с одним абстрактным методом
4%
Интерфейс для работы с базами данных
3%
Интерфейс для работы с сетевыми протоколами
Anonymous Quiz
6%
Рекурсия использует цикл, итерация — рекурсивные вызовы
87%
Рекурсия использует рекурсивные вызовы, итерация — циклы
5%
Рекурсия медленнее итерации
3%
Итерация занимает больше памяти
😁4
📌 Что такое ORM?
💬 Спрашивают в 13% собеседований
🤔 ORM (Object-Relational Mapping) — это техника программирования, которая используется для преобразования данных между несовместимыми системами типов в объектно-ориентированных языках программирования. ORM позволяет разработчикам работать с базами данных, используя объектно-ориентированную парадигму вместо традиционного написания SQL-запросов. Основные функции ORM включают:
1️⃣ Маппинг объектов: ORM сопоставляет классы и их свойства в объектно-ориентированном языке программирования с таблицами и столбцами в реляционной базе данных.
2️⃣ Автоматическое создание запросов: ORM автоматически генерирует SQL-запросы для выполнения операций с базой данных (CRUD - Create, Read, Update, Delete).
3️⃣ Управление связями: ORM обрабатывает отношения между объектами, такие как один к одному, один ко многим и многие ко многим, что упрощает управление связями между таблицами в базе данных.
4️⃣ Кэширование: Многие ORM включают механизмы кэширования, чтобы уменьшить количество обращений к базе данных и улучшить производительность приложения.
🤔 Популярные ORM-фреймворки:
➕ Hibernate (для Java)
➕ Entity Framework (для .NET)
➕ SQLAlchemy (для Python)
➕ ActiveRecord (для Ruby on Rails)
➕ Django ORM (для Django, Python)
Использование ORM упрощает разработку приложений, позволяет избежать ошибок при написании SQL-запросов и делает код более чистым и поддерживаемым.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых
💬 Спрашивают в 13% собеседований
Использование ORM упрощает разработку приложений, позволяет избежать ошибок при написании SQL-запросов и делает код более чистым и поддерживаемым.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
12%
Менеджер памяти
29%
Инструмент для работы с потоками данных
51%
Объект для управления ресурсами в блоке кода
8%
Средство для управления базами данных
👍1
Anonymous Quiz
21%
Через обычное наследование классов
15%
Используя миксины
14%
Используя абстрактные базовые классы
50%
Варианты 1 и 3
❤1👍1
Использование HTTPS стало стандартом для большинства современных веб-сайтов, особенно тех, которые обрабатывают конфиденциальную информацию. Это обеспечивает безопасность, доверие пользователей и улучшенные позиции в поисковой выдаче.
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
23%
При высоком числе признаков
28%
При необходимости интерпретации влияния признаков
28%
При большом объеме данных
20%
При высокой нелинейности данных
🤔2
Выбор между Scrum и Kanban зависит от конкретных потребностей и условий вашей команды и проекта. Scrum может быть предпочтителен для проектов с фиксированными сроками и требованиями, требующих регулярных проверок и адаптаций. Kanban лучше подходит для команд, работающих в условиях изменяющихся приоритетов и требующих гибкости в управлении задачами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
6%
GET
21%
POST
73%
PUT
1%
DELETE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
93%
200
3%
400
0%
404
3%
500
private, protected, public).public class Person {
private String name;
private int age;
// Конструктор
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Геттер для имени
public String getName() {
return name;
}
// Сеттер для имени
public void setName(String name) {
this.name = name;
}
// Геттер для возраста
public int getAge() {
return age;
}
// Сеттер для возраста
public void setAge(int age) {
if (age > 0) {
this.age = age;
} else {
System.out.println("Возраст должен быть положительным числом.");
}
}
}class Person:
def __init__(self, name, age):
self._name = name
self._age = age
# Геттер для имени
@property
def name(self):
return self._name
# Сеттер для имени
@name.setter
def name(self, name):
self._name = name
# Геттер для возраста
@property
def age(self):
return self._age
# Сеттер для возраста
@age.setter
def age(self, age):
if age > 0:
self._age = age
else:
print("Возраст должен быть положительным числом.")
# Пример использования
person = Person("John", 30)
print(person.name) # John
person.age = -5 # Возраст должен быть положительным числом.
print(person.age) # 30
Инкапсуляция способствует созданию более стабильного и управляемого кода, повышая модульность и реиспользуемость компонентов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
82%
npm
4%
pip
6%
composer
7%
maven
❤1
COUNT, SUM, AVG, MAX, MIN), чтобы выполнять вычисления для каждой группы в результате запроса.GROUP BY группирует строки, имеющие одинаковые значения в указанных столбцах, в одну группу.GROUP BY часто используются агрегатные функции для выполнения вычислений на уровне групп, а не отдельных строк.SELECT column1, aggregate_function(column2)
FROM table_name
GROUP BY column1;
Предположим, у нас есть таблица
employees со следующей структурой:| id | department | salary |
|----|------------|--------|
| 1 | HR | 5000 |
| 2 | IT | 6000 |
| 3 | HR | 5500 |
| 4 | IT | 7000 |
| 5 | Marketing | 4500 |
Мы хотим подсчитать количество сотрудников в каждом отделе:
SELECT department, COUNT(*)
FROM employees
GROUP BY department;
| department | count |
|------------|-------|
| HR | 2 |
| IT | 2 |
| Marketing | 1 |
Допустим, мы хотим узнать общую зарплату по каждому отделу:
SELECT department, SUM(salary) as total_salary
FROM employees
GROUP BY department;
| department | total_salary |
|------------|--------------|
| HR | 10500 |
| IT | 13000 |
| Marketing | 4500 |
SELECT, которые не являются частью агрегатной функции, должны быть перечислены в GROUP BY.GROUP BY выполняется после фильтрации строк с помощью WHERE и перед сортировкой с помощью ORDER BY.GROUP BY, используется HAVING.Если мы хотим выбрать только те отделы, где общая зарплата превышает 10000:
SELECT department, SUM(salary) as total_salary
FROM employees
GROUP BY department
HAVING SUM(salary) > 10000;
| department | total_salary |
|------------|--------------|
| HR | 10500 |
| IT | 13000 |
Операция
GROUP BY является мощным инструментом для агрегирования и анализа данных в SQL, позволяя эффективно группировать и вычислять значения по определенным критериям.Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
2%
MySQL
4%
PostgreSQL
90%
MongoDB
4%
SQLite