cutty.dev tehnoloģiskais stabs — apzinātas izvēles
Kas ir cutty.dev apakšā un kāpēc. Bez evaņģelizācijas — filozofija: garīga, stabilna tehnoloģiju kapeņa (stack) kopa, hostinga vērtība ES un privātums, kas ir iekļauts arhitektūrā, kuru viens cilvēks spēj uzturēt.
Lielākā daļa ierakstu "mans tehnoloģiju komplekts" ir lepojā jaunumu saraksts. Skaties, man ir tas, man ir tas, un šeit vēl svaiga bibliotēka no pagājušās nedēļas. Šis būs cits.
Tā ir patiesība, ka, ja vadīji projektu pats, tu nemeklē pašmodernāko. Tu meklē kaut ko, kas tevi neizbudīs nakts trešajā pulkstenī. Un tieši par to ir visa šis tehnoloģiskais staks cutty.dev: garš, nevis moderns, Eiropas, nevis Amerikas, privāts jau no pamatiem, un tik vienkāršs, lai ar to tiktu galā viena roku pāris.
Es izskleidoju vienu pēc vienas, tā, it kā es tev to skaidrotu kafijas garā.
Astro serverī renderēts (un kāpēc ne kaut kas "sajaukāks")
cutty.dev ir Astro ar servera pusē renderēšanu. Katrs pieprasījums iet cauri serverim, sastāda lapu un atsūta gatavu HTML. Garīgi? Tieši par to arī ir runa.
Es vēlējos trīs lietas: servera renderēšanu bez smagām mašīnerijām, kvalitatīvu atbalstu vairām valstiм no pirmā brīža un ātrumu bez papildu slogiem. Astro sniedz visu šo, un kods paliek čitavams. Kad pēc divu mēnešu pārtraukuma atgriežos pie tā, es zinu, kas tur notiek. Solo projektam tas ir vērtīgāks nekā jebkurš modernais papildinājums, ko pēc gada vairs neviens neatbalsta.
Viena fails, nevis datubase ar šokolādi
SQLite. Viena datubase, viens fails uz diska. Pievienota pieprasījumu slāvis, kas sazinās ar TypeScript, tāpēc, ja es mainīšu datu struktūru, kļūda parādās man redaktorā, nevis ražošanā pusvārtā.
Kāpēc tieši tas? cutty ir "read-heavy". Kāds noklikšķina uz saīsināto saiti, mēs veicam lasīšanu un palielinām skaitītāju. Tiklīdz. SQLite šādu satiksmi pārcita mierīgi, līdz pat patiesi lieliem diennaitiem skaitiem. Bet backup? Nokopē failu. Beigas. Bez replikācijas ceremonijām, bez skriptiem, kurus neviens atceras, kā darbojas.
Šeit uzmanies vienā thingā, jo tā ir bieža slazda: cilvēki dz hears "SQLite" un domā "rotaļlieta projektam pasieluškai". Tas nav patiesība. Mazāk kustīgu daļu nozīmē mazāk lietu, kas var sabrukt. Tas nav taupīšana uz kvalitāti, tā ir apzināta izvēle.
Serveris atrodas Eiropā un tas nav nejaušs
Dedzināts serveris ES. Savs TLS, reverse proxy ar automātisku HTTPS, lietotne konteineros.
Tas ir pamats, kā cutty rīkojas ar datiem. Es precīzi zinu, kur tie fiziski atrodas (ES un Visiem klientiem tas nav tikai interesanta detaļa, bet noteikums), es neesmu piespiests vienam pieejamajam pakalpojumu sniedzējam, nekas automātiski neizplūst pāri okeānam, un rēķins ir prognozējams, nevis mainās kopā ar satiksmes apjomu.
Jā, ērti platformas no Rietumu nodales sniegtu ātrāku startu. Noklikšķini, deploy, darbojas. Tikai tā, ka par to tu maksā ar to, kur atrodas tavu lietotāju dati. Man šī bija sliktā darījuma izvēle.
Tulkojumi izveido savu modeli, pie siebie
cutty runā 25 valodās. To tulko vietējais, atvērtais AI modelis, kas darbojas uz manas infrastruktūras. Es nesūtu tekstu no saskarnes nevienam ārējam pakalpojumu sniedzējam.
Priekšrocības ir praktiskas. Viena tulkojuma izmaksas ir nulle. Man ir pilna kontrole pār kvalitāti un es varu tās atjaunot, kad vien vēlos. Un mašīnai vienmēr ir nepieciešams cilvēka skats, tāpēc katra no šīm 25 valstiņām ir pārbaudīta. Bet fakts, ka es to daru savā pavērsenē, nozīmē, ka privātums nav pozīcija cenu sarakstā. Tas ir īpašība tam, kā visa sistēma ir uzbūvēta.
Tailwind, konteineri un dažādi mazāki lēmumi
Stils? Utility-first, jeb Tailwind. Bez CSS-in-JS, bez atseparētām stilu failiem, viss tieši šabloņos. Es nezaudēju laiku, izdomājot klasu nosaukumus, neizmantotie stili un tāpat nenonāk uz galvenās lapas, un dizains ir loģisks, jo pats sistēma to piespiež. Vienai personai katra minute, kas netiek novērsta uz sīkumiem, ir svarīga.
Implementēšana ir Docker. Tāpatā vide lokāli un ražošanā, beigas ar "man pie mums darbojos". Un, ja kaut kādā reiz būtu nepieciešams, es visu pārvadu uz citu serveri aptuveni pus साथ stundās. Pārnesamība ir klusa neatkarības forma.
Ko es no tā secināju
Garala steka uzvara. Astro, SQLite, Tailwind, konteineri. Viss ir pieaugušs, pārbaudīts, aprakstīts. Nekas neizluuz, tajā brīdī, kad tas ir vismaz nepieciešams.
Hostingā ES viss ir gatavs produkcijai, tiešām. Pasaka, ka "jādodas lielajā amerikāņu mākoņ
Veidojot kaut ko savu, katrai tehnoloģijai uzdodiet sev vienu jautājumu: vai pēc gada es spēšu to uzturēt pats? Ja nē, tad jums, visticamāk, ir atbilde.
Viss šeit darbojas: cutty.dev. Un, ja vēlies aprunāties par kādu no šiem lēmumiem, raksti uz [email protected], atbildēju tajā pašā dienā.