Skip to content

Instantly share code, notes, and snippets.

View devitfro's full-sized avatar
😺

Alina devitfro

😺
View GitHub Profile
class News {
constructor(title, date = new Date(), text, tags = []) {
this.title = title;
this.date = date;
this.text = text;
this.tags = tags;
}
print() {
document.write("<h1>");
// Task 1
// Создать объект, описывающий прямоугольник (хранит координаты левой верхней и правой нижней точек),
// и написать следующие функции, для работы с таким объектом.
// 1. Функция принимает объект-прямоугольник и выводит информацию о нем (где какая точка расположена).
// 2. Функция принимает объект-прямоугольник и возвращает его ширину.
// 3. Функция принимает объект-прямоугольник и возвращает его высоту.
// 4. Функция принимает объект-прямоугольник и возвращает его площадь.
// 5. Функция изменения ширины прямоугольника. Она принимает объект-прямоугольник и на сколько единиц изменить ширину.
let rectangle = {
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
// Task 1
// Написать функцию, которая принимает 2 числа и возвращает меньшее из них.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>hello world!</p>
Асинхронность позволяет выполнять операции, не блокируя основной поток выполнения программы, и при этом более экономно использовать потоки.
Когда мы используем async и await, говорим компилятору, что метод будет выполнять долгую операцию, но не будет задерживать работу других задач.
Ключевое слово async - указывает, что метод асинхронный.
Ключевое слово await используется для ожидания завершения асинхронной операции, не блокируя поток выполнения.
Когда await встречает асинхронный вызов, выполнение метода приостанавливается, а сам поток остается свободным, и другие задачи могут продолжать выполняться.
Как только асинхронная операция завершена, выполнение метода продолжается с того места, где оно было приостановлено.
CREATE DATABASE TestProject;
USE TestProject;
CREATE TABLE Category (
id INT PRIMARY KEY identity(1, 1),
name nvarchar(50) NOT NULL
);
CREATE TABLE Review (
1.Принцип единственной ответственности (Single Responsibility Principle, SRP)
В проекте реализован принцип SRP при использовании класса DataBase.
Этот класс отвечает только за работу с подключением к базе данных и не содержит логики, связанной с другими аспектами приложения.
Он инкапсулирует операции открытия и закрытия соединения, предоставляя методы OpenConnection() и CloseConnection(),
которые используются в других частях приложения. Это способствует разделению ответственности и облегчает сопровождение кода.
2. Нарушение принципа SOLID
Принцип открытости/закрытости (Open/Closed Principle, OCP) в методе SaveTaskToDatabase() класса AppForm.
Этот метод напрямую взаимодействует с базой данных, создавая команду SqlCommand и выполняя запросы.
Если в будущем потребуется изменить способ хранения данных (например, использовать другую базу данных),
-- 1. Написать функцию, которая покажет список всех пользовательских баз данных SQL Server, и их общие размеры в байтах
CREATE FUNCTION GetUserDBSize()
RETURNS TABLE
AS RETURN (
SELECT
name AS DatabaseName,
SUM(size * 8 * 1024) AS TotalSizeBytes
FROM sys.master_files
WHERE type IN (0)
AND database_id > 4
USE Storik
-- 1. Написать хранимую процедуру, которая показывает общее количество проданных товаров в каждой из категорий и от каждого производителя.
CREATE PROCEDURE PROC_01 AS
SELECT
p.name AS product_name,
c.name AS category_name,
SUM(s.quantity) AS total_sales,
pr.name AS producer_name
FROM Product p
-- 1. Показать среднее арифметическое трёх вещественных чисел, хранящихся в переменных
DECLARE @x float = 10.5, @y float = 8.7, @z float = 1.1
DECLARE @avg float = (@x + @y + @z) / 3
PRINT @avg
-- 2. Показать горизонтальную линию из звёздочек длиной @L
DECLARE @L int = 10;
DECLARE @symb char = '-'
DECLARE @start int = 1