init() {
this.targets.forEach((target, index) => {
target.index = index;
target.addEventListener("click", (event) => this.animateTab(event, this));
});
}
init() {
for (let i = 0; i < this.targets.length; i++) {
this.targets[i].index = i;
this.targets[i].addEventListener("click", this.animateTab.bind(this));
}
}
А как описывается апишка, когда я хочу добавить вариант поиска по совпадениям с начала строки?
api/users/search?name=max&startsWith=true
api/users/search?name=max|vasya&startsWith=true
api/users/search?name=max&endsWith=true
api/users/search?name=max&contains=true
api/users/search?name=max&fuzzy=true
Если множество пользователей, скажем 500 вызовут её
await state.update_data(text=message.text)
данные сохраняются отдельно, для каждого из пользователей.Важное условие, ни бд, ни MemoryStorage не используется.
Мнение юриста компании: Оплатить 50 тыс защитникам законности, ибо суд те выиграют и будет еще хуже.
Мнение директора: эти деньги списать с того вебмастера, который 10 лет назад эту картинку из интернета опубликовал.
Я думаю, что подобный инцидент не повлечёт за собой никакого судебного разбирательства
// _app.js
import {HeadProvider} from './HeadProvider';
function App({Component, pageProps}) {
return (
<HeadProvider>
<Component {...pageProps} />
</HeadProvider>
);
}
// HeadProvider.js
import React, {createContext, useContext, useState} from 'react';
const HeadContext = createContext();
export const useHead = () => useContext(HeadContext);
export function HeadProvider({children}) {
const [headData, setHeadData] = useState({
title: 'Init title',
description: 'Init description',
keywords: 'Init keywords'
});
return (
<HeadContext.Provider value={{headData, setHeadData}}>
{children}
</HeadContext.Provider>
);
}
// MyBestHead.js
import Head from 'next/head';
import {useHead} from './HeadProvider';
export function MyBestHead() {
const {headData} = useHead();
return (
<Head>
<title>{headData.title}</title>
<meta name="description" content={headData.description}/>
{/* more head items */}
</Head>
);
}
// MyComponent.js
import React, {useCallback} from 'react';
import {useHead} from './HeadProvider';
export function MyComponent() {
const {setHeadData} = useHead();
const handleClick = useCallback(() => {
setHeadData({
title: 'New title',
description: 'New description',
keywords: 'New keywords'
});
}, [setHeadData]);
return (
<button onClick={handleClick}>Update Head Data</button>
);
}
async def add_order(self, order, name, tg, number, amount, promo, date):
with self.connection:
return self.cursor.execute('INSERT INTO orders ("order", name, tg, number, amount, promo, date) VALUES (?, ?, ?, ?, ?, ?, ?)', (order, name, tg, number, amount, promo, date))
Планирую сделать парсер букмекерской конторы
подскажите какие темы нужно поучить
есть начальные знания питона, остановился на списках, кортежах и тп
Если я правильно понимаю работу Next.js: компоненты без состояния рендерятся на сервере и могут индексироваться поисковыми роботами
А с состоянием - на стороне клиента, и роботы их не видят.
Однако в компоненте самой страницы ArticlePage у меня в любом случае будет использование useState. Значит ли это, что вся страница будет отрисовываться на клиенте?
И что поисковые роботы обойдут контент страницы стороной?
P.S. Вопрос, возможно, глупый, но я правда не понимаю...
1) Если говорить об изображении, как обычно пишут верстку, если контент динамический, картинки в такие блоки вставляются любых размеров? или говорите администратору, что допустим перед вставкой изображения, приведи его к такой то высоте и ширине?
2) если блоки начинают адаптивно перескакивать, допустим flex: wrap или медиа запрос, как сделать так, чтобы это было плавно, я видел как такие вещи как-будто анимированы, как их в общем делают, это библиотеки?