/users/:userId
, предполагаю, идентификаторы пользователей уникальны не только в пределах магазина, но и всей системы. В таком случае, уровень /shops/:shopId
будет лишним в задаче изменения информации о пользователе, даже если у пользователя есть привязка к магазину в плоскости бизнес-логики. Поэтому, используйте /users/:userId
. void DoSomething (ICreatable layer) {
layer.Create();
}
DoSomething(new PerlinNoiseLayer())
Для генерации каждого слоя нужен разный набор параметров и генерируются они, соответственно, по-разномуНу вот у вас есть разница - вот и отобразите её в своем коде.
Это слой? - Да. - Ок, тогда посмотрим его высоты.Если есть такая необходимость - почему бы не ввести отдельный интерфейс для высот?
void DoSomething (IHasHeights layer) {
layer.Heights; // <== тут есть высоты
}
public abstract class Layer: ICreatable
{
float[,] Heights { get; set; }
public abstract void Create();
}
public class PerlinNoiseLayer : Layer
{
private float[,] _heights;
readonly int _resolution ;
public PerlinNoiseLayer (int resolution) {
_resolution = resolution;
}
public override void Create()
{
// тут расширение уже есть
}
}
<span data-rim="nI41sNGXnsbfvdqY"></span>
nI41sNGXnsbfvdqY -> Ni41SngxNSBFVDQy==
base64_decode("Ni41SngxNSBFVDQy==");
6.5Jx15 ET42䀀
Хотелось бы автоматизировать весь процесс (допустим как в экзисте/емех)Есть очень простой базовый принцип - Если автоматизировать бардак, получиться автоматизированный бардак.
pm = dynamic
pm.max_children = 100
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 15
pm.max_requests = 100
max_children:
Этот параметр устанавливает ограничение на число одновременных запросов, которые будут обслуживаться
Palit GeForce RTX 2080
CPU Intel Core i7-8700 (4.6Ghz, Socket 1151v2)
MSI MAG Z390 TOMAHAWK
PCI-E Creative SB Z (SB1500)
Corsair CMK16GX4M2B3000C15
Thermalright Macho 120 SBM
M.2 Samsung 970 evo 500Gb
Seagate ST2000DM006
AeroCool Aero-500
AOC G2460PF
Deepcool DA700 700W
export default {
data(){
return {
blockBtn: false
}
},
methods: {
async isWait(url) {
this.blockBtn = true;
let dosomething = await fetch(url)
this.blockBtn = false;
}
}
}
export default {
data(){
return {
blockBtn: false
}
},
methods: {
isWait(url) {
this.blockBtn = true;
let dosomething = fetch(url).then(() => {
this.blockBtn = false;
});
}
}
}
data.goals[0].gs_id
export default class Forma extends React.Component {
constructor(props) {
super(props);
this.state ={ data: {}, isFetching: true, error: null };
}
componentDidMount() {
fetch('http://localhost:3001')
.then(response => response.json())
.then(result => this.setState({data: result, isFetching: false }));
.catch(e => {
console.log(e);
this.setState({data: result, isFetching: false, error: e }));
});
}
render() {
const { data, isFetching, error } = this.state;
if (isFetching) return <div>...Loading</div>;
if (error) return <div>{`Error: ${e.message}`}</div>;
return <h1>{data.goals[0].gs_id}</h1>;
}
}
Суть такова, что есть прайс(ы) ~5млн и его нужно быстро обновлять (раз в 2 часа).
обновлять или удалять и заново записывать