Darbi03 / 05

Neoficiāla GTA 6 uzziņu vietne, kur fakts ir ieraksts, nevis teikums: četri statusi, avotu ķēde un statuss, kas nevar mainīties bez datēta iemesla.

thecity.gg

Atspēkots apgalvojums Leonida Ledger vietnē: pārsvītrots formulējums, avotu ķēde un statusa vēsture
Viens apgalvojums pilnībā: formulējums, avoti, kas mainījās un kad.
Produkts
Neoficiāla GTA 6 uzziņu vietne; nav saistīta ne ar Rockstar Games, ne ar Take-Two
Loma
Izstrāde: satura modelis, vietne, administrēšanas panelis, mitināšana
Periods
2026. gada septembris–oktobris
Tehnoloģijas
Next.js 16, React 19, TypeScript, PostgreSQL 17, Claude API, Docker
Tiešsaistē
thecity.gg

Lielākā daļa GTA 6 vietņu vienā teikumā jauc oficiālus faktus, minējumus no treileriem un baumas, un lasītājs nevar atšķirt, kas ir kas. Šī vietne tos šķir. Katrs faktu apgalvojums ir atsevišķs ieraksts ar vienu no četriem statusiem (apstiprināts, ziņots, baumas, atspēkots), avotu sarakstu un to, ko katrs avots lika noprast, kad parādījās.

Raksti norāda uz šiem ierakstiem, nevis pārraksta tos. Kad baumas tiek apstiprinātas vai nogalinātas, ieraksts mainās vienreiz, un katra lapa, plūsma un logrīks, kas to citē, seko. Atspēkots apgalvojums paliek redzams, pārsvītrots. Jauns datums ir jauns apgalvojums, nekad ne labojums.

Sauklis ir „fakti ar čekiem”, un tas jāsaprot burtiski: čeka jēga ir tā, ka apgalvojumu var pārbaudīt, neuzticoties veikalam.

  1. 01

    Apgalvojums kā vienība

    Katram apgalvojumam ir formulējums, statuss, avoti un vēsture, ko var tikai papildināt. Noteikumus uztur kods: pēdējam vēstures ierakstam jāsakrīt ar pašreizējo statusu, katram solim jāsākas tur, kur beidzās iepriekšējais, un atsauci uz neesošu apgalvojumu nevar saglabāt.

  2. 02

    Viss atvasināts, nekas netiek kopts ar rokām

    Izmaiņu žurnāls, RSS, labojumu lapa, vietnes kartes, llms.txt un katras lapas Markdown dvīnis tiek ģenerēti no tiem pašiem ierakstiem, tāpēc neko nevar klusi izlaist.

  3. 03

    Administrēšanas panelis, kas publicē bez izvietošanas

    Katra sadaļa ir rediģējama septiņās valodās. Statusa maiņa prasa viena teikuma iemeslu, kas kļūst par publisko izmaiņu žurnāla rindu, un bez tā saglabāšana tiek atteikta. Katra saglabāšana validē visu vietni tādu, kāda tā būs pēc izmaiņas.

  4. 04

    Septiņas valodas

    Angļu, vācu, franču, spāņu, japāņu, ķīniešu un hindi. Tulkošana notiek caur Claude ar vienu galveno norādi: nepievienot, nemīkstināt un nepastiprināt nevienu apgalvojumu. Mašīntulkojumi lapā ir atzīmēti kā tādi.

  5. 05

    Apzināti atvērts mašīnām

    llms.txt, JSON galapunkts katram apgalvojumam, plūsmas katrā valodā, ClaimReview un citi strukturēti dati katrā lapas tipā un iegulstams logrīks smilškastes iframe, kam ar lapu, kurā tas iegults, nav kopīga ne koda, ne stilu.

Kā tas uzbūvēts

  1. Avoti

    • Oficiālie kanāli
    • Video materiāli un presear to, ko katrs tobrīd lika noprast
  2. Reģistrs

    • Apgalvojumsstatuss, avoti, vēsture
    • Validācijavisa vietne pie katras saglabāšanas
  3. Atsauces

    • Statusa plāksneslapās, pēc id
    • [[claim:id]]dzīvs statuss tekstā
  4. Visur citur

    • Izmaiņu žurnāls, RSS, labojumi
    • Logrīki, API, llms.txt
Apgalvojumu reģistrs ar skaitītājiem katram statusam
Reģistrs: baumas ir vienu rindu no apstiprinājuma, un tās var atšķirt.

Tas, kas portfolio parasti nenonāk. Tas viss notika patiesībā, un tas viss ir komitu vēsturē.

  1. Kļūme 01

    Reģistra pirmais īstais pārbaudījums pieķēra pašu reģistru

    Simptoms
    29. oktobrī reģistrā parādījās apgalvojums, ka Rockstar nav nosaucis komponistu. Statuss: apstiprināts, pārbaudīts pret divām publikācijām. Tajā pašā dienā Rockstar komponistu nosauca.
    Cēlonis
    Kad tas tika rakstīts, nekas nebija nepareizi. Pašas vietnes vārdiem: ievadīšanas brīdī tas bija patiess un dienas laikā vairs tāds nebija.
    Risinājums
    Nākamajā dienā tas pārgāja Confirmed → Debunked ar datētu iemeslu, un es pārbaudīju vienu apgalvojumu no sākuma līdz galam: apgalvojuma lapa, Markdown dvīnis, JSON, izmaiņu žurnāls, RSS, labojumi, logrīks, llms.txt, japāņu versija. Viss sakrita. Tas ir pirmais īstais pārbaudījums, nevis uzkrāta pieredze, un tas parāda, kur garantija beidzas: fakts, kas citēts pēc id, seko reģistram, fakts, kas ierakstīts publikācijā, neseko. Apgalvojumi izplatās, proza — nē.
  2. Kļūme 02

    1,5 sekundes budžets un labojums, atsaukts pēc 7,5 minūtēm

    Simptoms
    Budžets bija ierakstīts dizainā: LCP zem 1,5 s lēnā 4G. Pirmie skaitļi izskatījās lieliski, jo bija tapuši pirms fotogrāfijām.
    Cēlonis
    Pirmais labojums bija nepareizs, un vēsture to atklāti pasaka: content-visibility neaizturēja galerijas attēlu pieprasījumus, un pēc 7,5 minūtēm komits apgalvojumu atsauca un ierakstīja īstos skaitļus. Pati fotogrāfija sver 17–27 KB. Izmaksas ir aritmētika: latentums, tad rinda aiz dokumenta, diviem fontiem un ietvara.
    Risinājums
    Tāda, kas to slēptu, nav. Fotogrāfija pirmajā ekrānā izvēlēta apzināti, un pārsniegums pierakstīts. Šodienas mērījumi: teksta lapas 1,14–1,38 s, budžetā; lapas, kas sākas ar fotogrāfiju, 2,2–2,4 s, pāri budžetam. Lielākā daļa vietņu šādu pārsniegumu apglabā. Šai ir publiskas pēdas: nepareizs labojums, atsaukums un atklāti nosaukts kompromiss.
  3. Kļūme 03

    Drošības pārbaude, kas kļuva par dīkstāvi

    Simptoms
    Ziņu publikācija varēja nokrist ar HTTP 500.
    Cēlonis
    Nepareiza atsauce uz apgalvojumu apzināti tika padarīta par cietu kļūdu, un failiem tas ir pareizi: būvējums krīt, un līdz lasītājam nekas nenonāk. Ziņu publikācijas dzīvo Postgres un caur būvējumu neiet nekad. Tas pats throw pārcēlās no būvēšanas laika uz pieprasījuma laiku, un drukas kļūda kļuva par dzīvu 500.
    Risinājums
    Viens noteikums kļuva par diviem. Renderējot nekad nemest izņēmumu: atmest atsauci un brīdināt. Saglabājot atteikt un ieteikt tuvāko īsto id pēc rediģēšanas attāluma. Tas, kur pārbaude notiek, ir tikpat svarīgi kā tas, ko tā pārbauda.
  4. Kļūme 04

    Kā „pilnīgi statisku” vietni padarīt rediģējamu bez izvietošanas

    Simptoms
    Trīs nedēļas pirms spēles iznākšanas bez būvēšanas varēja mainīt tikai ziņas. Katrs apgalvojuma labojums nozīmēja komitu un izvietošanu.
    Cēlonis
    Pārbūve pēc katra labojuma ir lēna un smaga. Pārnesot visu datubāzē, zūd git pārskatīšana un atritināšana. Turklāt būvējums datubāzi neredz, tāpēc iepriekš renderētas lapas redaktora izmaiņas vietā rādītu veco versiju.
    Risinājums
    Trīs slāņi. Pamats ir faili git repozitorijā. Postgres rinda, kuras atslēga ir precīzs faila ceļš, aizstāj šo failu, tāpēc pārējā sistēma nezina, ka datubāze vispār pastāv. Pieprasījumus apkalpo slānis atmiņā. Iepriekšēja renderēšana tika atmesta, un līdz ar to arī „pilnīgi statiskais”. Rezultāts: 63 no 85 dzīvajiem apgalvojumiem ir tikai Postgres, pievienoti divu dienu laikā pēc šī komita, bez nevienas CMS atkarības.
  5. Kļūme 05

    Septiņas valodas, viens izkārtojums, bez tīmekļa fonta

    Simptoms
    Japāņu, ķīniešu un hindi valodai bija jāiekļaujas dizainā, kas balstīts uz augstiem sašaurinātiem lielajiem burtiem, ciešu burtu atstarpi un 0,92 rindstarpu, un jāpaliek veiktspējas budžetā.
    Cēlonis
    CJK tīmekļa fonts maksā megabaitus, un tipogrāfija, kas nosaka izskatu, šīm rakstībām kaitē: negatīva burtu atstarpe tās saspiež, un 0,92 rindstarpa saduras ar Devanagari. Un tad vēl pieņēmumi, kas der tikai angļu valodā: vārdu secība veidnēs, toLowerCase(), virsraksta garums, skaitīts rakstzīmēs.
    Risinājums
    Sistēmas fonti katrai valodai, lielāka rindstarpa, bez negatīvas burtu atstarpes, japāņu virsraksti, kas pārnesas starp frāzēm, virsraksta platums pikseļos un veidnes, kurām vārdu secība ir droša. Izmērītais rezultāts: japāņu sākumlapa sver par 3 KB vairāk nekā angļu, ar to pašu LCP. Darbs bija pieņēmumu izņemšana, nevis fontu pievienošana.

  • apgalvojumi reģistrā42 apstiprināti, 34 ziņoti, 4 baumas, 5 atspēkoti; 2026. gada 30. oktobris
  • apgalvojumi, pievienoti administrēšanas panelī 48 stundāsbez komita, bez izvietošanas
  • URL vietnes kartēsseptiņas valodas, 43 ziņu publikācijas
  • japāņu lapa pret angļuLighthouse: 424 pret 421 KB
  • pieejamība, labā prakse, SEOLighthouse piecās lapās, katrā palaidienā; veiktspēja 95–100
  • komiti 8 aktīvās dienās22 no 23 CI palaidieniem zaļi: lint, tipi, visas vietnes validācija, JSON-LD pārmeklēšana. Vienībtestu nav

Projekta pulss

Katrs komits projekta repozitorijos uz vienas līnijas. Jo augstāks stabiņš, jo karstāks laiks.

2026. g. sept.2026. g. okt.
  1. Dzinējs vienā vakarā: apgalvojumi, vēsture, astoņi lapu tipi
  2. Septiņas valodas: infrastruktūra, pēc 31,5 minūtēm saturs
  3. thecity.gg sāk darboties savā domēnā
  4. Ziņu 500 izlabots, vietnes kartes un pāradresācijas
  5. Katra sadaļa rediģējama bez izvietošanas

Ja tam, ko publicējat, jāpaliek patiesam arī pēc publicēšanas, par vienību padariet faktu, nevis lapu. Tā pati struktūra der cenrāžiem, atbilstības paziņojumiem un produktu specifikācijām: visam, kas noveco desmit vietās vienlaikus. Ja tas izklausās pēc jūsu vietnes, pastāstiet man par to.

Uzrakstīt brīfu

Ātri atbildu WhatsApp un Telegram

Vai pajautājiet par to digitālajam prātam
Nākamais projektsLA Abramova