Pamatujete si na svou první aplikaci? A stydíte se za ni? 🙂 Já se samozřejmě tak trochu stydím za úroveň kódu, ale zároveň se dmu pýchou za to, že jsem to dal dohromady a vytvořil něco, o čem mi tvrdili, že to není možné.

Programovacích „poprvé“ mám samozřejmě několik. Pamatuju si, že brácha měl na střední programování v Pascalu a já jsem si půjčil jeho skripta a podle nich naprogramoval své první pokusy. Samozřejmě, že to hlavně byly primitivní hry.

Vím, že mi tehdá strašně vadilo, že výsledek byl „ihned“. Moje první kalkulačka vrátila součet dvou čísel ihned poté, co uživatel zadal druhé číslo. To mi děsně vadilo, a tak jsem do programů zapracovával šikovné funkce, které vypsání výsledku opozdily třeba o půl vteřiny. A aplikaci jsem vyťukal k dokonalosti tak, že po zadání těch dvou čísel k sečtení tu půl vteřinu vypisovala hlášku „Počítám.“

Vrchol technologického pokroku!

Pak jsem samozřejmě objevil první chyby ve svých programech a pochopil, proč je zdržování výsledků naprostá blbost. Když to zmáčkete jednou, tak to může vypadat nádherně. Ale když objevíte chybu, co se objeví až po dvaceti cyklech, tak jste zabili minimálně deset vteřin svého života.

Možná vám to připadne, jako nic, ale zkuste příště po spuštění vaší oblíbené aplikace na telefonu na deset vteřin zavřít oči, než se na ni budete moci podívat. Bude se to zdát, jako naprostá věčnost.

Moje první webová aplikace byla značně komplikovaná. Potřeboval jsem vyřešit, jak registrovat uživatele a pak jeho údaje zobrazit na interaktivní mapě. A to v době, kdy jsem ještě ani pořádně nechápal, jak funguje odeslání formuláře.

A tak jsem udělal to samé, co tehdá u svého prvního programu. Našel jsem si český návod „jak napsat PHP aplikaci“ a pak také anglický návod, jak zprovoznit Google mapy pomocí PHP a MySQL a začal.

První verze uměla jenom registraci. Tak trochu jsem zapomněl na to, že když se někdo registruje, tak možná bude chtít měnit své údaje. A o mazání ani nemluvě. Všechno se to muselo dělat „natvrdo“ v databázi.

A tak jsem po nějakém čase zasednul znova na zadek a poučen z přechozích zjištění napsal „verzi 2.0“. A ta, vážení, běží dodnes. Stydím se za ten kód? Ovšemže! Udělal bych to dneska jinak? Naprosto! Jsem hrdý na to, že to stále dělá to, co by to mělo. Webová aplikace tedy spíš „hnije,“ než běží a jenom pár „zasvěcených“ si pamatuje, že něco takového kdysi existovalo.

Možná, že je to ten důvod, proč své „poprvé“ nejmenuji a ani nemám motivaci napsat „verzi 3.0“. Samozřejmě, nikdy neříkaj nikdy 🙂

Na co jsem retrospektivně stále hrdý?

  •  Vyřešil jsem registraci uživatelů tak, abych nikde nemusel ukládat heslo. Věděl jsem, že nejsem dostatečně schopný na to heslo bezpečně uložit, a tak heslo nepoužívám a nikde neukládám
  • Ano, moje řešení přes „vlastní token“ je tak trochu „security through obscurdity,“ ale je stále dostatečně „dobré“ na to, aby uživatele ochránilo
  • Vyřešil jsem Google API. Moje první API propojení bylo zároveň mojí první webovou aplikací.
  • Ano, šlo by to udělat lépe a více parametricky, jenže „funguje to, tak na to nešahej“
  • Vymyslel jsem si vlastní databázovou strukturu, která řeší obecně parametry uživatele. Ty vysokoškolské semestry z databází se nakonec k něčemu hodily 🙂
  • Ve verzi 2.0 jsem vymyslel samostatnou administrátorskou sekci, kde admin může měnit a mazat uživatele. Už žádné zasahování do databáze!
  • Zároveň jsem vymyslel měnění a mazání přímo pro uživatele. A jelikož to řeším přes ověřovací e-maily, tak jsem rovnou objevil kouzlo cron jobů a tím pádem časového omezení tokenů, abych zabránil spamování uživatelů
  • Největší hrdost: Aplikace umožňuje hromadný e-mailing, kde se uživatelé dají filtrovat podle všeho, co zadali do formuláře. Zároveň každému uživateli zašle e-mail pouze jednou, i v případě, že má uživatel dva záznamy pod stejným e-mailem. A tohle jsem vyřešil už v první verzi, kdy jsem ani netušil, co to jsou PHP funkce. Ano, ten kus kódu, co tohle v první verzi řešil, byl neskutečně zapeklitej, ale vyřešil to