а менять его неправильно. так как бы временный
Можно ли удалить файл theme.min.css из dev сборки?
Корректно ли это делать при каждом просмотре поста?
Или тут зависит от посещаемости? Чем больше она, тем больше проблем от этого способа будет?
Хотел узнать, каким образом правильно обновлять количество просмотров в БД.
Или данные где-то сохраняются и в базу добавляются потом, а не так часто?
Но смотря ролики на ютубе, часто стал замечать, что многие предпочетают работать на ноутбуках, покупают подставки, чтоб на уровне глаз был экран, отдельные клавиатуры и тд.
Какие плюсы от этого?
В первую очереди улучшить UI за счёт React библиотек
Но в общем, я не хочу тратить время на написание сервера на каком-то NodeJS и т.д.
const list = {
'Audi': 'Audi AG — немецкая автомобилестроительная компания в составе концерна Volkswagen Group, специализирующаяся на выпуске автомобилей под маркой Audi. Штаб-квартира расположена в Ингольштадте.',
'Volkswagen': 'Volkswagen — немецкая автомобильная марка, одна из многих, принадлежащих концерну Volkswagen AG. Под этой маркой в 2007 году было реализовано 5 млн 20 тыс. автомобилей. Штаб-квартира — в Вольфсбурге.',
'Opel': 'Adam Opel AG — немецкий производитель автомобилей. Штаб-квартира расположена в Рюссельсхайме, Германия. Компания была основана 21 января 1863 года и приступила к выпуску автомобилей в 1899 году. С 1929 года принадлежала концерну General Motors.'
}
document.addEventListener('DOMContentLoaded', () => {
const select = document.querySelector('#select');
const output = document.querySelector('#output');
select.addEventListener('change', () => {
output.textContent = list[select.value];
});
});
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))
Планирую сделать парсер букмекерской конторы
подскажите какие темы нужно поучить
есть начальные знания питона, остановился на списках, кортежах и тп