Ба саҳифаи асосӣ

Тарзи кори сохтан

Ин саҳифа механизми паси даъвои марказии MockLab — бе маҳдудияти сабт — ба тавре кушода шарҳ медиҳад, ки шумо тавонед дар бораи муомилаҳои воқеии он фикр кунед, на танҳо ба реклама бовар кунед.

Seed

Ҳар захира seed дорад: сатри кӯтоҳи тасодуфие, ки ҳангоми сохта шудани захира таъин мешавад. Seed, якҷоя бо индекси сабт (мавқеи он дар рӯйхат — 0, 1, 2 ва ғайра), ягона воридие аст, ки сохтан ҳеҷ гоҳ ба чизи дигар ниёз надорад. Бо ҳамон seed ва ҳамон индекс, ҳамон навъҳои майдон, бо ҳамон тартиб, ҳамеша ҳамон арзишҳоро месозанд — дар ҳар мошин, дар ҳар просесс, бидуни он ки ягон сабт ҳеҷ гоҳ ба пойгоҳи додаҳо навишта шуда бошад.

Механизм

Барои индекси сабти i, сервер хэши рақамии seed + ":" + i-ро ҳисоб мекунад ва онро барои seed кардани генератори хурду тезкори рақамҳои псевдотасодуфӣ истифода мебарад. Сипас ҳар майдон дар схема аз ҳамон як генератор арзиш мегирад, бо тартибе ки майдонҳо дар схема пайдо мешаванд — маҳз ба ҳамин сабаб тағйир додани тартиби майдонҳо дар созандаи схема он чизеро, ки ҳар майдон месозад, тағйир медиҳад (гирифтани ҳар майдон аз пайдарпайӣ ҷой иваз мекунад), дар ҳоле ки илова кардани як опсия ба майдони мавҷуда танҳо натиҷаи худи он майдонро тағйир медиҳад. id-и сабт қасдан аз пайдарпайии алоҳида сохта мешавад, ки аз seed + ":id:" + i seed мешавад — мустақил аз майдонҳои дода — маҳз барои он, ки таҳрир кардани майдонҳои схемаи шумо ҳеҷ гоҳ id-ҳои сабтҳои аллакай мавҷударо тағйир надиҳад.

Ин инчунин сабабест, ки чаро сохтани як миллион сабт қариб ҳеҷ чиз харҷ намекунад: ҳеҷ ҷустуҷӯ, ҳеҷ сатри пойгоҳи додаҳо, ҳеҷ ҳолати нигоҳдошташуда барои ҳар сабт вуҷуд надорад. Сервер миқдори хурди ҳисоббарориро барои ҳар сабт, барои ҳар дархост ва танҳо барои сабтҳои дар саҳифае, ки воқеан дархост кардаед, иҷро мекунад.

Воқеан чӣ нигоҳ дошта мешавад

Ҳеҷ чиз дар бораи додаҳои сохташуда ҳеҷ гоҳ нигоҳ дошта намешавад. Ягона чизе ки нигоҳ дошта мешавад тағйиротҳои шумост — натиҷаи ҳар POST, PUT, PATCH ва DELETE-е, ки кардаед (ба Сохтан, навсозӣ ва нест кардан нигаред). Дархости хониш равзанаи дархостшудаи сабтҳоро месозад, ҳар тағйиротро болои он муттаҳид мекунад (сабтҳои таҳриршударо иваз мекунад, нестшударо мепартояд, навсохтаро илова мекунад), сипас натиҷаро филтр, ҷустуҷӯ, тартиб ва саҳифабандӣ мекунад.

Ҳадди самимона: 10,000 сабт

Барои захираҳо бо 10,000 сабт ё камтар, сервер тамоми маҷмӯи муттаҳидшударо як бор барои ҳар версияи додаҳо ба хотира ворид мекунад ва аз он филтр, ҷустуҷӯ ва тартибро хизмат мерасонад. Аз 10,000 боло, филтр, ҷустуҷӯ ва тартибдиҳӣ комилан ғайрифаъол мешаванд — танҳо саҳифабандӣ кор мекунад. Ин ёддошти рекламавӣ нест: ҷавобе, ки аз ин таъсир мебинад, ҳедери воқеан санҷидашаванда дорад, X-MockLab-Notice: sort-filter-disabled-above-10000, пас коди шумо (ё шумо, ҳангоми хондани network tab) метавонед бифаҳмед, ки ин рӯй додааст, ба ҷои он ки хомӯшона натиҷаҳои тартибнаёфта ё филтрнашуда гиред.

const response = await fetch("https://mocklab.dev/m/demo7k2m9x/logs?sort=createdAt");
if (response.headers.get("X-MockLab-Notice") === "sort-filter-disabled-above-10000") {
  console.warn("This resource is too large for sort/filter — showing unsorted pages instead.");
}
const records = await response.json();
import { useQuery } from "@tanstack/react-query";

function useSortedRecords(sort) {
  return useQuery({
    queryKey: ["logs", sort],
    queryFn: async () => {
      const res = await fetch(`https://mocklab.dev/m/demo7k2m9x/logs?sort=${sort}`);
      return {
        records: await res.json(),
        sortDisabled: res.headers.get("X-MockLab-Notice") === "sort-filter-disabled-above-10000",
      };
    },
  });
}

Ҳамон ҳад роҳҳои як-сабтаро аз 10,000 сабт боло ба тарзи алоқаманд таъсир мерасонад: GET, PUT, PATCH ва DELETE бо id танҳо барои сабтҳое кор мекунанд, ки аллакай тағйирот доранд, зеро баргардонидани id-и дилхоҳ ба индекси сохташудаи он маънои сохтани сабтҳоро то пайдо шудани мувофиқат дорад — маҳз ҳамон сканеи бемаҳдудеро, ки ҳад барои пешгирии он вуҷуд дорад. Поёнтар аз 10,000 сабт, ҳеҷ кадоме аз инҳо кор намекунад; ҳар сабт фавран бо id дастрас аст, тартибдиҳӣ ва филтр ҳамеша дастрасанд ва ҳедери огоҳӣ ҳеҷ гоҳ пайдо намешавад. Версияи ояндае ин ҳадро бо индекси мувофиқ баланд мекунад; ҳозира он ҳуҷҷатнок аст, на пинҳон.