Editing
Přechod z MySQL na PostgreSQL, který nepodceníte
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
První rok v IT je o růstu, ale taky o tom, že se naučíš říkat si o pomoc. Pokud se ti něco zdá přehnané, jako třeba termíny nebo rozsah úkolů, řekni to včas, ne až na poslední chvíli. Nikdo nečeká, že budeš hned perfektní. Důležité je, že se zlepšuješ a že jsi schopen přinést hotovou práci. Za pár měsíců zjistíš, že věci, které tě na začátku stresovaly, jsou rutina. A to je přesně ten moment, kdy se můžeš posunout na další úroveň.<br><br>První testovací úkol: najděte chybu v běžné aplikaci Začněte u aplikací, které používáte denně — internetové bankovnictví, e-shop, mobilní hru nebo třeba kalendář. Zkuste si vytvořit jednoduchý testovací plán: co chcete ověřit, jaké kroky provedete a jaký výsledek očekáváte. Zaznamenejte si každou odchylku od očekávání, ať je sebemenší. Pozor na typickou chybu začátečníků: testují jen šťastnou cestu, tedy že vše funguje, když uživatel dělá přesně to, co aplikace předpokládá. Skutečný tester musí zkoušet i neobvyklé vstupy, prázdná pole, neplatné formáty nebo rychlé klikání. Právě tam se skrývá nejvíce chyb.<br><br>Typickou chybou juniorů je, že se na pohovoru snaží odpovědět na všechno, i když netuší. Mnohem lepší je říct „tohle jsem zatím nepoužil, ale na základě principů bych to řešil takhle". Ukážeš tím, že umíš přemýšlet, a to je cennější než dokonalá znalost syntaxe. Stejně tak se vyhni tomu, abys na pohovoru kritizoval technologie, které neznáš. Každá firma má své preferované nástroje a pokud ti nevyhovují, je lepší to probrat férově, ale bez zbytečného negativismu.<br><br>Čistý kód není o dodržování módních trendů, ale o tom, aby se v něm dalo pracovat i za půl roku. Když píšete JavaScript a cítíte, že se vám proměnné začínají plést, zastavte se a zaměřte se na dvě věci: čitelné pojmenování a krátké funkce. Funkce by měla dělat jednu věc, a to dobře. Pokud má funkce více než dvacet řádků a tři úrovně vnoření, je to signál, že ji máte rozdělit. Název funkce pak nepopisuje, co dělá, ale co vrací — místo checkData() použijte dataAreValid() či hasRequiredFields().<br><br>Psaní commit zpráv vypadá jako banální rutina, ale právě tady se rozhoduje, jestli bude historie projektu čitelná za měsíc, za rok, nebo za tři roky. Většina vývojářů tlačí do repozitáře desítky commitů týdně a málokdo se zastaví nad tím, co vlastně do zprávy píše. Přitom stačí pár sekund navíc a místo hádanek „co se to tu sakra stalo" vznikne záznam, který odpovídá na otázky, jež si budete klást při hledání chyby nebo při code review.<br><br>Další pastí je zaměření pouze na funkční testy, tedy na to, co aplikace dělá. Zkuste se podívat i na další aspekty: jak se aplikace chová při pomalém připojení, co se stane, když odpojíte internet uprostřed operace, nebo jak vypadá uživatelské rozhraní na malém mobilu. Tyto „nefunkční" testy jsou v praxi žádané a můžete je dělat s minimálním vybavením — stačí emulátor nebo běžný prohlížeč. Uložte si i tyto scénáře a výsledky.<br><br>Nezapomínejte ani na zálohování a obnovu dat. Podpora pro datab znamená, že máte připravený plán pro případ výpadku. Důležité je nejen zálohovat, ale také pravidelně testovat obnovení zálohy. Mnoho firem zjistí, že jejich zálohy jsou nepoužitelné, až když je opravdu potřebují. Stanovte si intervaly zálohování podle toho, jak často se data mění, a ověřte, že obnova proběhne v rozumném čase. Rovněž zvažte použití transakčního logu, který umožňuje obnovu do konkrétního okamžiku, a tím minimalizuje ztrátu dat.<br><br>Migrace databáze mezi dvěma odlišnými systémy není kopírování dat. MySQL a PostgreSQL se liší v typech, chování i syntaxi. Pokud přistoupíte k převodu jako k prostému exportu a importu, narazíte na problémy, které se projeví až v produkci. Nejčastější chybou bývá podcenění rozdílů v datových typech a v práci s transakcemi.<br><br>Po migraci spusťte sadu testů, která porovná výsledky dotazů na obou databázích. Zaměřte se na dotazy s datem, textem a agregacemi. Typická chyba je v použití funkce DATE_FORMAT, kterou PostgreSQL nemá – musíte ji nahradit funkcí TO_CHAR. Ujistěte se, že vaše aplikace používá ovladač pro PostgreSQL a že je správně nakonfigurována pro práci s novým typem vrácených dat.<br><br>Na závěr si dejte pozor na jednu věc: neposílejte životopis, ve kterém napíšete „nemám praxi, ale jsem pečlivý". Taková fráze nefunguje. Místo toho uveďte konkrétní projekt, na kterém jste testovali, kolik chyb jste nahlásili a jaké typy testů jste prováděli. Můžete si založit jednoduché portfolio, kde budou ukázky vašich reportů a testovacích plánů. Když tohle ukážete, nikdo se nebude ptát, kde jste pracoval. Klíčem je ukázat, že už testovat umíte — a že vám chybí jen formální razítko v podobě zaměstnání.
Summary:
Please note that all contributions to IT-Core are considered to be released under the GNU Free Documentation License 1.3 or later (see
IT-Core:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information