Backend
3.95K subscribers
38 photos
717 links
Комьюнити Backend программистов.
Python, Java, Golang, PHP, C#, C/C++, DevOps

Сайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp
Download Telegram
🤔 Что такое git-flow?

Это модель работы с Git, включающая ветки для разных этапов разработки:
- master – стабильные релизы.
- develop – текущая разработка.
- feature – ветки для новых фич.
- release – подготовка релиза.
- hotfix – исправление критических багов.
Используется в командах для удобного управления версиями и релизами.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
🤔 Что знаешь о принципах программирования KISS?

Это принцип проектирования и разработки, который предполагает, что системы и решения должны быть максимально простыми и избегать ненужной сложности. Этот принцип особенно важен в программировании и инженерии, так как помогает создавать более понятные, поддерживаемые и надежные системы.

🚩Аспекты

🟠Простота
Системы должны быть простыми в понимании и использовании. Чем проще система, тем меньше вероятность возникновения ошибок. Простота достигается за счет минимизации количества компонентов и взаимодействий между ними.

🟠Ясность
Код должен быть понятным и легко читаемым. Это облегчает его поддержку и модификацию. Использование понятных имен переменных, функций и классов, а также понятная структура кода способствуют ясности.

🟠Избегание избыточности
Компоненты или функциональность следует избегать. Если какой-то элемент системы не добавляет реальной ценности, его следует убрать. Это включает в себя как аппаратное, так и программное обеспечение.

🟠Модульность
Системы должны быть разбиты на небольшие, независимые модули, каждый из которых выполняет свою четко определенную задачу. Модульность помогает в тестировании, повторном использовании и поддержке кода.

🚩Примеры применения

🟠Программирование
При разработке функций или методов следует избегать создания слишком сложных алгоритмов, если можно использовать более простые и понятные решения. Использование стандартных библиотек и инструментов вместо написания собственного кода с нуля, когда это возможно.
🟠Проектирование систем
В системной архитектуре следует избегать излишнего усложнения связей между компонентами системы. Использование простых и проверенных шаблонов проектирования вместо сложных и экспериментальных решений.
🟠Документация
Документация должна быть простой и понятной, избегая излишне технических или сложных объяснений. Хорошо структурированная и лаконичная документация помогает пользователям и разработчикам быстрее понять систему.

🚩Плюсы

Легкость понимания и поддержки
Простые системы легче понимать и поддерживать, что снижает затраты на обучение и поддержку.
Снижение количества ошибок
Чем проще система, тем меньше вероятность возникновения ошибок и проблем при её использовании.
Повышение производительности
Простые решения часто требуют меньше ресурсов и могут работать быстрее и эффективнее.
Улучшение масштабируемости
Простые и модульные системы легче масштабировать и расширять по мере необходимости.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что такое интерполяция?

Это способ вставки значений переменных в строку.
- В Python, JS, Swift – f"Hello, {name}!", ${variable}.
- В CSS (SASS, LESS) – вставка переменных в стили.
- В математике – нахождение промежуточных значений между известными точками (линейная, полиномиальная интерполяция).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что такое SQL?

Это язык запросов, предназначенный для управления и манипулирования данными в реляционных базах данных. SQL используется для выполнения различных операций над данными, таких как создание, изменение, удаление и извлечение данных.

🚩Основные возможности SQL

🟠Создание и изменение структуры базы данных
DDL (Data Definition Language): Команды, которые позволяют создавать и изменять структуру базы данных, включая таблицы, индексы, представления и другие объекты базы данных.
CREATE: Создание новых таблиц, баз данных, индексов.
ALTER: Изменение структуры существующих объектов базы данных.
DROP: Удаление объектов из базы данных.

🟠Управление данными
DML (Data Manipulation Language): Команды, которые используются для управления данными в базе данных.
SELECT: Извлечение данных из таблиц.
INSERT: Вставка новых данных в таблицы.
UPDATE: Обновление существующих данных в таблицах.
DELETE: Удаление данных из таблиц.

🟠Управление доступом к данным
DCL (Data Control Language): Команды, которые управляют доступом пользователей к данным в базе данных.
GRANT: Предоставление прав пользователям.
REVOKE: Отзыв ранее предоставленных прав.

🟠Транзакции
TCL (Transaction Control Language): Команды, которые управляют транзакциями в базе данных.
COMMIT: Сохранение всех изменений, сделанных в транзакции.
ROLLBACK: Отмена всех изменений, сделанных в транзакции.

🚩Пример использования SQL

Создание таблицы
CREATE TABLE Employees (
id INT PRIMARY KEY,
name VARCHAR(100),
department_id INT,
salary DECIMAL(10, 2)
);


Вставка данных в таблицу
INSERT INTO Employees (id, name, department_id, salary)
VALUES (1, 'John Doe', 10, 50000.00);


Извлечение данных из таблицы
SELECT name, salary
FROM Employees
WHERE department_id = 10;


Обновление данных в таблице
UPDATE Employees
SET salary = 55000.00
WHERE id = 1;


Удаление данных из таблицы
DELETE FROM Employees
WHERE id = 1;


🚩Зачем нужен SQL

🟠Управление данными
SQL предоставляет мощные средства для извлечения, вставки, обновления и удаления данных, что позволяет эффективно управлять данными в больших объемах.

🟠Определение структуры данных
С помощью SQL можно создавать и изменять структуру базы данных, обеспечивая гибкость в управлении схемой данных.

🟠Управление доступом
SQL позволяет контролировать доступ к данным, обеспечивая безопасность и конфиденциальность информации.

🟠Обеспечение целостности данных
SQL поддерживает механизмы транзакций и ограничения, которые помогают поддерживать целостность данных и предотвращать их некорректное изменение.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как защитить куки от воровства и подделки?

- HttpOnly – запрещает доступ к куки через JavaScript (защита от XSS).
- Secure – передача куки только по HTTPS.
- SameSite – защита от CSRF (Strict, Lax).
- Подпись (HMAC) – контроль целостности.
- Короткий TTL – уменьшение времени жизни куки.
- Сессии на сервере – минимизация рисков утечки данных на клиенте.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Forwarded from easyoffer
На easyoffer 2.0 появится новый раздел:
Задачи с собеседований

🟠Задачи на Алгоритмические, Live-coding и System Design из реальных собеседований
🟠Вероятность встретить ту или иную задачу
🟠Возможность подготовиться к задачам конкретной компании

Есть много сайтов, на которых можно тренироваться решать задачи, но у них у всех одна проблема – сами задачи люди просто выдумывают. На easyoffer 2.0 вы сможете готовиться к live-coding и system design секциям на основе задач из реальных собеседований. Вы можете найдете самые частые задачи и сделаете упор на их решение.

Считаные дни остались до старта краудфандинговой кампании, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки, а те кто поддержат проект раньше других ито дешевле + получат существенный бонус. Следите за стартом 👉 в этом телеграм канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что такое чистый код?

Это понятие в программировании, обозначающее код, который легко читать, понимать и поддерживать. Принципы чистого кода помогают разработчикам создавать качественные и устойчивые к изменениям программы. Вот основные характеристики и принципы чистого кода:

🚩Основные характеристики чистого кода

🟠Читаемость
Код должен быть понятным и легким для чтения другими разработчиками. Имена переменных, функций и классов должны быть осмысленными и описательными.

🟠Простота
Код должен быть простым и ясным, избегая излишней сложности. Это делает его более понятным и легким в поддержке.

🟠Последовательность
Следование единому стилю кодирования и соглашениям по наименованию. Это упрощает чтение и понимание кода.

🟠Минимум избыточности
Избегание дублирования кода, что способствует его упрощению и уменьшению ошибок.

🟠Модульность
Разделение кода на независимые модули или компоненты, которые можно разрабатывать, тестировать и поддерживать отдельно.

🟠Тестируемость
Код должен быть легким для тестирования. Хорошо написанный код обычно легко покрыть юнит-тестами.

🚩Принципы чистого кода

🟠Именование
Имена переменных, функций и классов должны быть осмысленными и описывать их назначение.
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👍1
🤔 Что такое cherry-pick?

Это команда для переноса коммита из одной ветки в другую без слияния всей истории.
Используется, когда нужно выбрать отдельные изменения и применить их в другой ветке, например, исправить баг без переноса всех новых фич.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🤔 В чем суть принципа REST?

Суть принципа REST (Representational State Transfer) заключается в том, чтобы предоставить простой, масштабируемый и гибкий способ взаимодействия между клиентом и сервером через веб. Основные принципы REST включают:

🟠Клиент-серверная архитектура
Клиент и сервер разделены, что позволяет независимое развитие и масштабирование обеих сторон. Клиент делает запросы, а сервер обрабатывает их и возвращает ответы.

🟠Бесподсессионное взаимодействие (stateless)
Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для его обработки. Сервер не сохраняет состояние между запросами.

🟠Кешируемость
Ответы на запросы могут быть помечены как кешируемые или не кешируемые. Это позволяет клиентам сохранять копии ответов и уменьшать количество запросов к серверу.

🟠Единый интерфейс (Uniform Interface)
Определяет единые методы взаимодействия с ресурсами:
GET: Получение ресурса.
POST: Создание нового ресурса.
PUT: Обновление ресурса.
DELETE: Удаление ресурса.

🟠Многоуровневая система
Архитектура может быть построена из нескольких слоев, что повышает гибкость и возможность кэширования.

🟠Представление ресурсов (Representations)
Ресурсы могут представляться в различных форматах (например, JSON, XML). Клиент и сервер договариваются о формате через заголовки HTTP.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from easyoffer
На easyoffer 2.0 появится:
Тренажер "Реальное собеседование"

🟠 Сценарии вопросов из реального собеседования
🟠Возможность подготовиться к собеседованию в конкретную компанию
🟠Итоговая статистика (прошёл/не прошёл)

Сценарий вопросов взят из реального собеседования. То есть вы тренируетесь на тех вопросах, которые действительно задавались в компании X.

Уже в начале следующей недели стартует краудфандинг кампания, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки. Первые 150 донатеров получать особо-выгодную цену и бонус. Следите за стартом 👉 в этом телеграм канале, в нем информация о старте будет опубликована за 6 часов до официального начала.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какие существуют типы баз данных?

1. Реляционные (SQL) – используют таблицы, строгую схему, поддерживают ACID.
- Примеры: PostgreSQL, MySQL, Oracle, MS SQL Server.
2. NoSQL – более гибкие структуры данных, часто работают с JSON или BSON.
- Документные (MongoDB, CouchDB).
- Ключ-значение (Redis, DynamoDB).
- Графовые (Neo4j, ArangoDB).
- Колонночные (Cassandra, HBase).
Выбор зависит от требований к данным, скорости работы и масштабируемости.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🤔 Что такое блокировки (локи) в БД?

Блокировки (локи) в базе данных - это механизмы, которые управляют доступом к данным, чтобы обеспечить их целостность и предотвратить конфликты при одновременном доступе нескольких транзакций.

🚩Основные типы

🟠Блокировки уровня таблицы (Table-Level Locks):
ACCESS SHARE: Позволяет чтение данных, блокирует команды, изменяющие таблицу.
ROW SHARE: Применяется для команд SELECT FOR UPDATE и SELECT FOR SHARE.
ROW EXCLUSIVE: Используется при вставке, обновлении или удалении строк.
SHARE UPDATE EXCLUSIVE: Используется для команд VACUUM.
SHARE: Обеспечивает видимость текущего состояния данных (ANALYZE).
SHARE ROW EXCLUSIVE: Используется для операций, требующих более строгого контроля (CREATE INDEX CONCURRENTLY).
EXCLUSIVE: Требуется для команд, изменяющих структуру таблицы (ALTER TABLE).
ACCESS EXCLUSIVE: Блокирует все команды, включая SELECT (DROP TABLE, ALTER TABLE).

🟠Блокировки уровня строки (Row-Level Locks):
SELECT FOR UPDATE: Блокирует строки для изменения.
SELECT FOR NO KEY UPDATE: Похоже на SELECT FOR UPDATE, но позволяет другим транзакциям выполнять SELECT FOR SHARE и SELECT FOR KEY SHARE.
SELECT FOR SHARE: Блокирует строки для чтения.
SELECT FOR KEY SHARE: Похоже на SELECT FOR SHARE, но позволяет другим транзакциям выполнять SELECT FOR NO KEY UPDATE и SELECT FOR UPDATE.

🟠Консультативные блокировки (Advisory Locks):
Устанавливаются вручную для синхронизации произвольных ресурсов.
pg_advisory_lock: Устанавливает консультативную блокировку.
pg_advisory_unlock: Снимает консультативную блокировку.
pg_try_advisory_lock: Пытается установить консультативную блокировку без ожидания.

🚩Основные цели

🟠Предотвращение гонок (race conditions):
Обеспечивают корректность данных при одновременном доступе нескольких транзакций.
🟠Изоляция транзакций:
Выполнение каждой транзакции в изолированном контексте.
🟠Защита целостности данных:
Предотвращение одновременного изменения данных, что может привести к их несогласованности.

🚩Примеры использования

🟠Интернет-магазин:
Блокировки могут предотвращать одновременное изменение состояния товара.
🟠Банковские операции:
При переводе средств используются блокировки для предотвращения одновременного списания или зачисления.
🟠Редактирование данных:
При одновременном редактировании одной записи несколькими пользователями.

🚩Проблемы, связанные с блокировками

🟠Дедлоки (Deadlocks):
Ситуация, когда транзакции блокируют друг друга, ожидая освобождения ресурсов.
🟠Гранулярность блокировок:
Блокировки высокой гранулярности могут снижать производительность.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как можно заблокировать конкретные поля в PostgreSQL?

Можно заблокировать доступ к полям таблицы, используя:
- Ограничения SELECT с REVOKE:
- REVOKE SELECT (column_name) ON table_name FROM role;
- Маскирование (column masking):
- CREATE VIEW с исключением поля.
- Политики Row-Level Security (RLS):
- Разрешает доступ к отдельным строкам и колонкам.
Эти методы позволяют скрывать чувствительные данные без полного запрета на доступ к таблице.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что такое rest api?

Это архитектурный стиль для создания веб-сервисов, который использует стандартные HTTP методы и принципы для взаимодействия между клиентом и сервером. REST API предоставляет набор операций для создания, чтения, обновления и удаления ресурсов, представленных в виде URL.

🚩Основные принципы REST API

🟠Клиент-серверная архитектура
Клиент и сервер отделены друг от друга. Клиент запрашивает ресурсы, сервер обрабатывает запросы и возвращает ресурсы или статус операции.

🟠Бесподсессионное взаимодействие (stateless)
Каждое взаимодействие между клиентом и сервером независимое. Сервер не хранит состояние клиента между запросами. Вся необходимая информация для выполнения запроса должна быть предоставлена в каждом запросе.

🟠Кеширование
Ответы сервера могут быть кешированы клиентом или промежуточными звеньями (прокси-серверами) для повышения производительности и снижения нагрузки на сервер.

🟠Единый интерфейс (Uniform Interface)
Универсальный интерфейс упрощает взаимодействие между клиентом и сервером. Основные методы HTTP (GET, POST, PUT, DELETE) используются для выполнения операций с ресурсами.

🟠Многоуровневая система
REST API может быть организован в виде многоуровневой системы, где компоненты выполняют разные задачи (например, балансировка нагрузки, кеширование, защита и т.д.).

🟠Представление ресурсов (Representations)
Ресурсы представляются в виде различных форматов (обычно JSON или XML). Клиент и сервер могут договариваться о формате данных через заголовки HTTP (например, Content-Type и Accept).

🚩Основные методы HTTP в REST API

🟠GET
Извлечение данных с сервера. Например, получение информации о пользователе.
🟠POST
Отправка данных на сервер для создания нового ресурса. Например, создание новой учетной записи пользователя.
🟠PUT
Обновление существующего ресурса на сервере. Например, обновление информации о пользователе.
🟠DELETE
Удаление ресурса с сервера. Например, удаление учетной записи пользователя.
🟠PATCH
Частичное обновление ресурса на сервере. Например, изменение только email пользователя.

🚩Примеры запроса и ответа

Запрос на создание нового пользователя (POST /users)
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "[email protected]"
}


Ответ на успешное создание пользователя
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 1,
"name": "John Doe",
"email": "[email protected]"
}


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from easyoffer
На easyoffer 2.0 появится:
База тестовых заданий

🟠Тестовые задания для разных грейдов
🟠Фильтрация тестовых заданий по технологиям и компаниям

Когда я только начинал учиться на программиста, я постоянно выдумывал себе задачи для практики и тратил на это много времени. Но только в момент поиска работы я столкнулся с тестовыми заданиями, и понял насколько круто они прокачивают навыки. Нужно было еще на этапе обучения пробовать их делать. Все компании стараются составить тестовое задание "под себя", это дает большой выбор в тематике задач и технологий. На easyoffer 2.0 вы сможете отфильтровать тестовые задания по навыкам/грейдам и найти те, что подходят лично вам для практики.

В течение 1-2 дней я объявлю о краудфандинг кампании, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки и смогут попасть на закрытое бета-тестирование. А первые 150 донатеров получать особо-выгодную цену и бонус.

🚀 Следите за стартом 👉 в этом телеграм канале, в нем информация о старте будет опубликована за 6 часов до официального начала.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 В чем разница get от post?

Методы GET и POST являются двумя наиболее часто используемыми HTTP-методами для передачи данных между клиентом и сервером. Они выполняют разные задачи и имеют свои особенности и случаи применения.

🚩GET

🟠Цель использования
Метод GET используется для получения данных с сервера. Это наиболее часто используемый метод для запросов, которые не изменяют состояние сервера.

🟠Передача данных
Данные передаются через URL в строке запроса (query string). Это делает данные видимыми и ограничивает их размер.

🟠Кэширование
Запросы GET могут кэшироваться браузерами, серверами и прокси-серверами. Это позволяет ускорить повторные запросы и снизить нагрузку на сервер.

🟠Идемпотентность
GET-запросы являются идемпотентными, что означает, что повторное выполнение одного и того же GET-запроса приведет к одному и тому же результату, не изменяя состояние ресурса.

🟠Безопасность
GET-запросы считаются безопасными, так как они не изменяют данные на сервере.

🚩POST

🟠Цель использования
Метод POST используется для отправки данных на сервер, чтобы создать или изменить ресурсы. Это подходящий метод для операций, которые изменяют состояние сервера.

🟠Передача данных
Данные передаются в теле запроса. Это позволяет отправлять большие объемы данных и сохранять конфиденциальность данных, поскольку они не видны в URL.

🟠Кэширование
Запросы POST не кэшируются браузерами и прокси-серверами по умолчанию. Это обеспечивает, что данные будут отправлены на сервер каждый раз при выполнении запроса.

🟠Идемпотентность
POST-запросы не являются идемпотентными. Каждый новый POST-запрос может привести к созданию новых ресурсов или изменению существующих, что делает их выполнение неоднозначным при повторении.

🟠Безопасность
POST-запросы более безопасны в плане передачи данных, так как информация передается в теле запроса и не видна в URL.

🚩Примеры использования

🟠GET
Получение информации о пользователе, загрузка страницы или получение данных с API.
🟠POST
Отправка формы с данными регистрации, добавление нового товара в базу данных, обновление информации о пользователе.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Есть ли диалекты в SQL?

Да, в SQL есть диалекты. Это стандартный язык для управления реляционными базами данных, но каждая система управления базами данных (СУБД) может реализовывать его по-своему, добавляя собственные расширения и особенности. Эти вариации называются диалектами SQL.

🚩Почему существуют диалекты SQL?

🟠Разные стандарты SQL
хотя существуют стандарты SQL (например, SQL-92, SQL:1999, SQL:2003, SQL:2011 и другие), не все СУБД полностью их поддерживают. Вместо этого каждая СУБД адаптирует стандарт под свои нужды.

🟠Производительность и оптимизация
разработчики СУБД добавляют специфические функции и операторы, которые улучшают производительность и позволяют работать с данными эффективнее.

🟠Дополнительные возможности
каждая СУБД может предлагать уникальные функции, такие как пользовательские типы данных, расширенные индексы, собственные функции аналитики и т. д.

🚩Примеры диалектов SQL

🟠MySQL SQL
имеет специфические функции, такие как LIMIT для ограничения количества строк в запросе и специфичный синтаксис для UPSERT (INSERT ... ON DUPLICATE KEY UPDATE).
🟠PostgreSQL SQL
поддерживает сложные типы данных, такие как JSON и массивы, а также расширенные функции работы с рекурсивными запросами.
🟠Microsoft SQL Server (T-SQL)
включает процедурные расширения, такие как DECLARE, BEGIN ... END, TRY ... CATCH и другие.
🟠Oracle SQL (PL/SQL)
содержит мощный встроенный язык программирования для написания хранимых процедур и триггеров.
🟠SQLite SQL
минималистичный диалект, который не поддерживает некоторые сложные конструкции, но удобен для встраиваемых решений.

🚩Как учитывать диалекты при разработке?

Если проект должен работать на разных СУБД, следует использовать стандартный SQL (ANSI SQL) или ORM (например, SQLAlchemy, Hibernate), который может адаптировать запросы под нужный диалект. При выборе конкретной СУБД важно изучить её специфические возможности и ограничения, так как переносимость SQL-кода между разными диалектами не всегда тривиальна.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from easyoffer
🎉 Краудфандинг easyoffer 2.0 стартовал!

Друзья, с этого момента вы можете поддержать проект и получить существенный бонус:

🚀 PRO-тариф на 1 год, по цене месячной подписки на релизе.
Доступ к закрытому бета-тесту easyoffer 2.0 (середина–конец мая)

Поддержать проект можно здесь:
https://planeta.ru/campaigns/easyoffer

📌 Если не получается оплатить через карту РФ — напишите мне @kivaiko, и мы найдём удобный способ
Forwarded from easyoffer
Я поставил целью сбора скромные 300 тыс. рублей, но ребята, вы накидали больше млн. всего за 1 день. Это просто невероятно!

Благодаря вашей поддержке, я смогу привлечь еще больше людей для разработки сайта и обработки собеседований. Ваш вклад сделает проект качественнее и ускорит его выход! Огромное вам спасибо!

Краудфандинг будет продолжаться еще 31 день и все кто поддержать проект сейчас, до его выхода, смогут получить:

🚀 PRO-тариф на 1 год, по цене месячной подписки на релизе.
Доступ к закрытому бета-тесту easyoffer 2.0 (середина–конец мая)

Поддержать проект можно здесь:
https://planeta.ru/campaigns/easyoffer

Огромное спасибо за вашу поддержку! 🤝
🤔 Какие есть статус коды?

Статус коды HTTP используются для обозначения результата обработки запроса сервером.

🚩Информационные (100-199)

🟠100 Continue
Сервер получил начальную часть запроса клиента и ожидает продолжения.
🟠101 Switching Protocols
Клиент запросил изменение протокола, и сервер согласен выполнить это.

🚩Успешные (200-299)

🟠200 OK
Запрос успешно обработан, и сервер отправляет запрашиваемые данные.
🟠201 Created
Запрос успешно выполнен, и в результате был создан новый ресурс.
🟠202 Accepted
Запрос принят для обработки, но обработка еще не завершена.
🟠204 No Content
Запрос успешно выполнен, но сервер не возвращает никаких данных.

🚩Перенаправления (300-399)

🟠301 Moved Permanently
Запрашиваемый ресурс был окончательно перемещен на новый URI.
🟠302 Found
Запрашиваемый ресурс временно доступен по другому URI.
🟠304 Not Modified
Данные не изменились, клиент может использовать кэшированную версию.

🚩Клиентские ошибки (400-499)

🟠400 Bad Request
Сервер не может обработать запрос из-за ошибки клиента (например, неверный синтаксис).
🟠401 Unauthorized
Для доступа к запрашиваемому ресурсу требуется аутентификация.
🟠403 Forbidden
У клиента нет прав на доступ к запрашиваемому ресурсу.
🟠404 Not Found
Запрашиваемый ресурс не найден на сервере.
🟠405 Method Not Allowed
Метод, указанный в запросе, не поддерживается данным ресурсом.

🚩Ошибки сервера (500-599)

🟠500 Internal Server Error
Общая ошибка сервера, когда обработка запроса не может быть завершена.
🟠501 Not Implemented
Сервер не поддерживает функциональность, необходимую для обработки запроса.
🟠502 Bad Gateway
Сервер, выполняющий роль шлюза или прокси, получил недействительный ответ от вышестоящего сервера.
🟠503 Service Unavailable
Сервер временно не доступен (например, из-за перегрузки или технического обслуживания).
🟠504 Gateway Timeout
Сервер, выполняющий роль шлюза или прокси, не дождался ответа от вышестоящего сервера вовремя.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1