window.updateColours = () => {
const colours = document.querySelectorAll('[data-href]')
colours.forEach(colour => {
const href = $(colour).data('href')
const hrefParts = href.split('/')
const id = hrefParts[hrefParts.length - 1]
// ...
$(colour).on('click', () => {
history.replaceState(null, '', href) // pay attention here
// ...
$.ajax({
url: ...,
method: 'get',
success: (response) => { ... },
error: (response) => { ... }
})
})
})
}
data-href
это кастомный аттрибут, в котором я сохраняю данные, которые мне нужны в дальнейшем для обработкиhistory.replaceState(null, '', href)
import { useState, useRef, forwardRef } from "react";
import "./ScrollToNextSection.css";
const ScrollToNextSection = forwardRef(({ visibleSection }, ref) => {
const scrollToSection = () => {
const currentIndex = ref.current.findIndex(
(sectionRef) => sectionRef && sectionRef.id === visibleSection
);
const nextSection = ref.current[currentIndex + 1];
if (nextSection) {
nextSection.scrollIntoView({ behavior: "smooth" });
} else if (ref.current[0]) {
ref.current[0].scrollIntoView({ behavior: "smooth" });
}
};
return (
<button onClick={scrollToSection} className="scroll-btn">
Вниз
</button>
);
});
export default ScrollToNextSection;
содержимое файла - некрасивое, как сделать плавный переход цвета?
services:
- id:uuid
- name:varchar
- description:varchar
options:
- id:uuid
- name:varchar
- price:float
orders:
- id:uuid
- duration:integer
- total_price:float
- service_fk:uuid
order_options:
- order_fk:uuid
- option:fk:uuid
task
id:guid unique
groups
id:guid unique
task_fk:guid <--
manager:
id:guid unique
group_fk:guid unique
worker
id:guid unique
group_fk:guid <--
unique
даёт возможность нескольким записям в этой таблице быть связанным с другой таблицей (groups
) либо, другими словами, связь one-to-many
. Наличие unique
в таблице managers
явно указывает, что только один менеджер может быть привязан в конкретной группе, другими словами, это связь one-to-one
, где внешний ключ (foreign key
) находится в таблице managers
.Группы нужно формировать из 1 управляющего и из 1-3 рабочих.
N % d >= 10
d >= 10
N
на d
- q
запишем вот так:m = N / d - целая часть деления
q = N - m * d - остаток от деления N / d
17 % 15 = 17 - (17 / 15 * 15) = 17 - 15 = 2
N - m * d = q, q >= 10
10 < q < d
N > m * q + 10
N
и d
:N - 10 > m * q
(N - 10) / q > m
m = 193 / 19 = 10
(193 - 10) / 19 > 10
9.63 > 10 false ¯\_(ツ)_/¯
m = 9
(193 - 10) / 19 > 9
9.63 > 9 true
asp.net core
ЧТО? Blazor Server
? Blazor Web Assembly
? Razor Pages
? Web Api
?HttpException
это по факту ошибка работы с протоколом Http
, ошибка передачи информации или подобное. И то, даже школьники уже понимают, что ошибки нужно обрабатывать, а не специально генерировать. Если у вас программа будет на сервере, а вас просто сервер накроется из-за такого кода и вам нужно будет лезть и всё заново запускать404
это просто статус ответ от сервера, который уведомляет вас о том, что запрашиваемый ресурс не найден. Если у вас всё же стоит Web Api
, тогда просто в контроллере делаете return NotFound()
Razor Pages
или MVC
, просто сделайте return RedirectToAction("NotFound", "Home")
предварительно создав страницу NotFound
в контроллере Home
[конец действия]
в отдельную таблицу [услуг]
. А далее все таблицы, что нужно соединить с ней в формате one-to-many
customizations
- id:uuid unique
- image_name:varchar
- image_extention:varchar
- site_url:varchar
- service_fk:uuid unique
coupons
- id:uuid unique
- discount:float
- ticket_count:integer
- restaurant_fk
- service_fk:uuid unique
accesses
- id:uuid unique
- file_url:varchar
- service_fk:uuid unique
services:
- id:uuid unique
- date_start:timestamp
- date_end:timestamp
JOIN
и получаете нужные таблицы в связке string[] strArr = new string[charArr.Length];
[ ]
это доступ по индексу. Вы пытаетесь достучаться к новой строке по индексу, или как?char -> string
, т.е. вот такой код работать не будет:string a = charArr[0];
string a = charArr[0].ToString();
string a = $"{charArr[0]}";
string a = string.Join(charArr[0]);
char[]
пересобрать в string
, а потом запихнуть это всё в string[]
. Тут есть два варианта, что бы долго не играться - через простые циклы или через linq
. 1й вариат:string word = Console.ReadLine();
char[] charArr = word.ToCharArray();
string[] strArr = new string[charArr.Length];
for (int i = 0; i < charArr.Length; i++)
{
strArr[i] = charArr[i].ToString(); // Или другой из методов
}
string word = Console.ReadLine();
char[] charArr = word.ToCharArray();
string[] strArr = charArr.Select(c => c.ToString()).ToArray();