cutty.dev tehnoloģiskais stabs — apzinātas izvēles
Kas ir cutty.dev apakšā un kāpēc. Bez evaņģelisma — filozofija: garīga, stabilna tehnoloģiju krusta (stack) kopums, hostinga uzņēmums ES un privātums, kas ir iekļauts arhitektūrā, kuru viens cilvēks spēj uzturēt.
Lielākā daļa rakstu "mans tech stack" ir lepojums jaunatniecības saraksts. Šis ir par kaut ko citu — par filozofiju, kas stāv aiz cutty.dev izvēles: garlaicīgs un stabils, nevis moderns, Eiropas, nevis Amerikas, no sākuma privāts, un tik vienkāršs, lai vienam cilvēkam tas būtu uzturējams.
Frameworks: Astro (server-side rendering)
cutty.dev ir Astro lietotne, kas tiek renderēta servera pusē. Katrs pieprasījums iet cauri serverim, dinamiski sastāda lapu un atbild ar gatavu HTML.
Kāpēc: es vēlējos servera puses renderēšanu bez smagām mehānismām, labu daudzvalodu atbalstu, kas ir iebūvēts pašā rāmjos, un ātrumu bez papildu slogiem. Astro sniedz visu šo, un kods paliek čitams — kas projektam, ko vadu solo, ir vērtīgā par jebkuru modernu pieliegumu.
Datubase: SQLite
Viena datubase, viens fails. Pievienojot pieejamību ar jautājumu slanju, kas ir draudzīga TypeScript, jebkāda datu struktūras izmaiņa nekavējoties parādīs kļūdas kodā, nevis ražošanā.
Kāpēc: cutty.dev ir galvenokārt "read-heavy" — katrs klikšķis uz saiti ir lasīšana plus skaitītāja palielināšana. SQLite to dara lieliski, līdz ļoti lielam ikdienas satura apjomam. Rezerves kopija ir vienkārši viena faila kopēšana — bez replikācijas ceremonijām, bez sarežģītiem skriptiem. Vienkāršība šeit nav kvalitātes taupīšana; tā ir apzināta izvēle, ka mazāk kustīgu daļu nozīmē mazāk lietu, kas var sabojoties.
Hosting: serveris Eiropas Savienībā
Dedzināts serveris ES, pašu TLS sertifikāts, reverse proxy ar automātisku HTTPS, lietotne konteineros.
Kāpēc: tas ir pamats tam, kā cutty.dev attiecas pret datiem. Pilna kontrole pār to atrašanās vietu (galvenais ES klientiem un Visiem datu aizsardzības regulas ievērošanai), atbrīvošanās no atkarības no viena pakalpojumu sniedzēja, trūkums no automātiskas replikācijas ASV, ko piedāvā lielās māslinieku platformas, un prognozējamas izmaksas, nevis satraukuma radošs rēķins, kas atkarīgs no satura apjoma. Ērtas rietumu platformas sniegtu ātrāku startu — bet par cenu tam, kur fiziski nonāk jūsu lietotāju dati.
Tulkojumi: vietējais AI modelis
cutty.dev runā 25 valodās, un tulkojumus veic lokāls, atvērts AI modelis, kas darbojas mūsu pašā infrastruktūrā.
Kāpēc: neviens saskarnes teksts neiziet ārpus — mēs to nesūtam nekādam ārējam AI pakalpojumu sniedzējam. Tam pievienojas nulle izmaksas par vienu tulkojumu un pilna kontrole pār kvalitāti: mēs varam tos atjaunot, kad vien vēlamies. Mašīntulkojumam vienmēr ir nepieciešama cilvēka pārbaude — un katra valoda ir izgājusi cauri šādai pārbaudei — bet to veikšana savā vidē nozīmē, ka privātums nav tikai opcija cenu sarakstā, bet gan arhitektūras īpašība.
CSS: utility-first (Tailwind)
Viens stilu sistēma, bez CSS-in-JS, bez atsevišķām stilu failiem. Viss tieši šabloņos.
Kāpēc: iterācijas ātrums. Es nezaudēju laiku, izdomājot klasu nosaukumus, un neizmantotie stili un tāpat neiekļūst galvenajā lapā. Vienmērīgs dizains, ko piespiež pats sistēma. Vienai personai svarīga ir katra minūte, kuru nepavadu pie blakus matters.
Uzpliktums: konteineri
Aplikācija konteineros (Docker), kas tiek izvietota atkārtojamā, pārvietojamā veidā.
Kāpēc: tāda pati vide lokāli un ražošanā, neeksistējošs "man pie mums darbojos", un iespēja pārvietot visu uz citu serveri pus साथ stundās, ja tas būtu nepieciešams. Pārnestība ir neatkarības veids.
Ko tas mani iemācīja
- Garlaudais steks uzvar. Astro, SQLite, Tailwind, konteineri — viss ir pieaugušis, labi dokumentēts, stabils. Neceļas pilnībā pats negaidītākajā brīdī.
- Hostingam ES ir gatavs produkcijai. Mīts "tev jādodies lielajā amerikāņu mākoņpakalpojumā, lai tas būtu nopietni" ir tieši tas — mīts.
- Lokālā AI ir reāla. Nav nepieciešams nododet savus datus ārējam API, lai 얻ētu labas tulkojumus.
- Viena persona var izlaist lietu, kas izskatās pēc komandas produkta. Laiks ir resurss dārgāks par naudu, tāpēc katrs šeit veiktais izvēles tieši aizsargāja laiku.
Skatīties tiešraidē. Jautājumi par tehnisko pieeju — hello@cutty.dev, atbildēju tajā pašā dienā.