Rozhodnutí psát aplikace pro Android vypadá jednoduše, dokud neotevřete první projekt. Najednou stojíte před desítkami souborů, konfigurací a pojmů, které spolu zdánlivě nesouvisí. První týden proto věnujte pochopení základní architektury, ne hromadění hotových řešení. Nainstalujte si vývojové prostředí určené přímo pro Android, ne obecný editor s doinstalovaným pluginem. Tím získáte simulátor, správce závislostí i nástroje pro ladění v jednom celku. Vyberte jazyk, který je pro platformu oficiální a dlouhodobě podporovaný, a držte se ho alespoň první tři měsíce. Přeskakování mezi dvěma jazyky na začátku jen zpomalí učení.
Kde se čas ztrácí nejčastě
Neignorujte chybová hlášení. Podrobná chybová zpráva z databáze prozradí názvy tabulek, sloupců i typy dat a útočníkovi výrazně usnadní další postup. V produkčním prostředí proto zapněte obecné chybové stránky a podrobnosti logujte pouze na server. Totéž platí pro ladící nástroje, které nesmí být veřejně dostupné.
Dokumentujte chybové stavy stejně pečlivě jako úspěch. Uveďte, jaké kódy mohou přijít při neplatném vstupu, chybějícím oprávnění, neexistujícím zdroji nebo konfliktu. Nestačí napsat “vrací 400”. Napište, které pole to způsobí a jak má vypadat opravený požadavek. Frontend pak nemusí hádat, zda chyba vznikla na jeho straně, nebo na straně serveru.
Ladění berte jako běžnou součást práce, ne jako trest. Nastavte si logování s jasnými značkami a čtěte výpisy chyb odshora dolů, protože příčina bývá v prvních řádcích, ne v posledním. Při každé chybě si napište do poznámek, co ji způsobilo. Po měsíci budete mít vlastní seznam, který je cennější než jakýkoli kurz. Nebojte se používat simulátor pro rychlé kontroly a skutečný telefon pro chování na dotyk, baterii a pomalé síti.
SQL injection vzniká ve chvíli, kdy aplikace vloží vstup od uživatele přímo do databázového dotazu, aniž by jej oddělila od samotné logiky dotazu. Útočník pak může místo očekávané hodnoty předat fragment SQL, který změní význam příkazu, přečte cizí data, zapíše nová nebo je smaže. Nejde přitom o okrajovou chybu. Stačí jedno neošetřené pole ve formuláři nebo parametr v adrese a celá databáze je ohrožená.
Druhé časté místo úniku je zpracování chyb a logování. Výjimka z databáze, která se zobrazí uživateli, prozradí strukturu dotazu, názvy sloupců i typ databáze. Útočník pak zkouší méně slepé varianty. hlášky patří do logu, ne do odpovědi prohlížeči. Stejně tak se vyhněte vracení celého dotazu v chybové zprávě, i když si myslíte, že ji vidí jen administrátor.
První skutečný projekt ať je malý, ale dokončený. Ideálně aplikace, kterou sami použijete: poznámky, jednoduchý převodník jednotek nebo sledování návyků. Rozdělení do obrazovek navrhněte na papíře dřív, než napíšete první řádek. Zjistíte, že většina chyb nevzniká v kódu, ale v nejasném zadání. Každou obrazovku postavte jako samostatnou část, která dostane data z jednoho místa. Když se data začnou tahat z pěti různých zdrojů, aplikace se rozpadne při první změně.
Jakmile první aplikace běží, nespěchejte s jejím zveřejněním. Nechte ji týden používat někým jiným a sledujte, kde se zasekne. Verzujte kód od prvního dne, i když pracujete sami. Zvykněte si psát krátké popisy změn, které za půl roku pochopíte. Až budete mít hotové dvě až tři malé aplikace, teprve pak má smysl řešit publikaci, propagaci a další růst. Do té doby je každá hodina strávená u kódu investicí, která se vrátí osvětlení v obýváku podobě klidnějšího vývoje.
Dokumentace REST API není popis toho, co jsme naprogramovali, ale smlouva mezi backendem a frontendem. Pokud si ji backend i frontend vyloží jinak, vznikají chyby, které se hledají těžko. Cílem je, aby se vývojář na frontendu dozvěděl z dokumentace vše potřebné bez ptaní a aby se kontrakt nezměnil, aniž by si toho někdo všiml.
Kde začátečníci nejčastěji ztrácejí čas Největší pastí je snaha napsat všechno ručně. Layout skládejte z hotových prvků a vlastní kreslení si nechte na okamžik, kdy opravdu narazíte na limit. Druhou pastí je ukládání dat přímo v obrazovce. Jakmile aplikaci zavřete a otevřete, přijdete o stav a začnete psát záplaty. Naučte se proto oddělit zobrazení od logiky hned na prvním projektu, i když to znamená více souborů. Třetí pastí je testování pouze na jednom zařízení. Rozdíly ve velikosti displeje, verzi systému a výkonu odhalí problémy, které emulátor na notebooku nikdy neukáže.
Začněte jednotným formátem odpovědí. Každé volání by mělo vracet stejnou obálku: data, stavový kód, případně seznam chyb. U chyb vždy uvádějte strojově čitelný kód, lidsky čitelnou zprávu a pole, kterého se týká. Vyhněte se tomu, aby jedna chyba vracela řetězec a jiná objekt. Frontend pak nemusí řešit desítky variant a stačí mu jedna funkce pro zpracování odpovědi.
If you loved this post and you would like to get far more information concerning osvětlení V obýváku kindly visit our web-page.