Automatizácia vo svete počítačov I. - úvod
Hovorí sa, že lenivosť núti človeka vymýšľať nové veci a zjednodušovať si život. Aj počítače boli vytvorené, aby nám uľahčili život. Aby to však skutočne dokázali, musíme ich správne ovládať.
1. Na čo slúži automatizácia
Automatizácia nám pomáha automatizovať určité druhy procesov tak, aby sme do nich nemuseli prípadne len minimálne zasahovať. Ide hlavne o procesy, ktoré nie sú nijak náročné pre človeka na rozmýšľanie, sú ale zdĺhavé a hlavne nudné.
Vezmime si príklad: Potrebujeme premenovať stovky súborov a očíslovať ich. Nič náročné a dokáže to aj cvičená opica. Koľko času však pri tom človek strávi? Nehovoriac, že človek samotný sa môže pri podobných činnostiach pomýliť. Robí to mechanicky, ponáhľa sa a môže ho počas toho vyrušiť kolega prípadne telefonát. Keď sa vráti k práci, zabudol kde skončil a pod.
Na čo teda slúži?
- zrýchľuje časovo náročné úlohy
- odstraňuje výskyt chýb počas riešenia úlohy
- umožňuje váš čas využiť na dôležitejšie úlohy
2. Príklady automatizácie
Ak hovoríme o prostredí použitia v malom podniku, kde každé ušetrenie človekohodiny má svoje opodstatnenie, môžme uviesť tieto príklady.
2.1. Zadávanie a zber dát
Prvou z vecí, ktoré počítače priniesli bolo, že údaje sa preniesli z papiera do elektronickej podoby (na obrazovku počítača). Klesla chybovosť údajov, pretože sa eliminovala náročnosť pri čítaní škaredého písma úradníkov. Ďalším prínosom bola štruktúrovanosť dát pre ďalšie spracovanie. Zber dát pri použití počítačov rastie a aj samotné aplikácie a systémy generujú častokrát viac dát ako samotný človek.
2.2. Dátová analýza
Dáta sú uložené v rôznych dátových štruktúrach, ktoré väčšinou nie sú pre bežného človeka čitateľné, resp. v danej forme ich analýza môže trvať dlho. Preto existujú nástroje, ktoré zautomatizujú proces, vytiahnu potrebné údaje, správne ich spočítajú, zotriedia a prehľadne zobrazia tak, aby človeku pracujúcemu v určitej oblasti priniesli relevantné údaje.
2.3. Data munging
Munging je o písaní malých skriptov, ktoré vykonávajú určité úlohy rýchlo a heuristicky. Ide napríklad o tzv. ETL (extract-transform-load) skripty. Môže ísť ale aj o oveľa sofistikovanejšie riešenia. Napríklad potrebujete prezrieť logy, z ktorých každý má niekoľko tisíc riadkov. Preveriť každý riadok logu na existenciu určitého reťazca. Po nájdení prekopírovať riadok logu do iného súboru. Iný skript sa potom postará o to, že pravidelne tento nový súbor pretransformuje do excelu alebo iného tabuľkového procesora a zašle mailom na analytika. Ten má potom každé ráno čerstvé údaje, ktoré môže prezentovať na meetingu.
2.4. Extrakcia dát
Extrakcia dát z rôznych zdrojov. Môže ísť o dáta z XML súboru, z obrázku, zvukového záznamu, z PDF súboru, prípadne často sa používa zber textu z webových stránok.
2.5. Transformácia dát
Vo väčšine prípadov ide o zmenu dát z jedného formátu do iného. Napríklad zoznam hodnôt oddelených čiarkou do XML alebo SQL dotazu. Vo všeobecnosti ide o konverziu, ale transformácia môže slúžiť aj pri doplnení metadát. Napríklad máme zošit tabuľkového procesora s jeho riadkami a stĺpcami, pričom potrebujeme doplniť mapovanie na inú štruktúru (inú tabuľku).
2.6. Integrácia dát
Pokiaľ k vám alebo do vašej aplikácie pritekajú dáta z rôznych zdrojov (XML, databázové tabuľky a pod.) potrebujete ich integrovať do jedného celku. Z viacerých rozdielnych vstupov vychádza ucelený a jednotný formát dát pre vašu aplikáciu.
2.7. Zálohovanie dát
Veľmi často automatizovaná úloha je záloha dát. Áno, existuje množstvo plateného aj voľného softvéru, ktorý rieši problematiku zálohy. Niekedy však nevyhovuje naším potrebám a predstavám. Skriptovacie jazyky nám potom umožňujú zálohu riešiť vlastnou cestou. Urobiť si vlastné plánovanie a spôsoby vykonávanie zálohy.
3. Prečo automatizovať?
Príkladov k automatizácií môžme nájsť mnoho a určite aj Vás v tomto momente napádajú oblasti, kde by ste si radi zjednodušili život a určitý proces si zautomatizovali. Treba samozrejme brať do úvahy, že v určitých prípadoch automatizácia procesu nie je rentabilná. Pokiaľ len vytvorenie skriptu zaberie viac času ako mechanické vykonanie procesu, nemá automatizácia zmysel. Ak však daný proces vykonávate denne, prípadne s inou pravidelnosťou, situácia môže byť odlišná.
Je niekoľko dobrých dôvodov, prečo automatizovať:
- potrebujete ušetriť čas
- potrebujete minimalizovať vaše úsilie
- potrebujete zjednodušiť proces alebo časť procesu
- potrebujete zredukovať výskyt chýb
- potrebujete ušetriť ľudskú silu (čo v určitých prípadoch môže znamenať aj to, že niektorí zamestnanci už nie sú potrební)
- s predošlým bodom súvisí aj nasledujúci, potrebujete ušetriť náklady.
3.1. Šetrenie času
Je primárnym dôvodom automatizácie. Namiesto ručného zmenšovania obrázkov sa môžete venovať práci, ktorá automatizovať nejde.
3.2. Minimalizácia úsilia
Nie je to to isté, ako ušetrenie času. Môžte mať proces, ktorý nevyžaduje veľa času, ale zahŕňa veľa rozdielnych ľudí (napríklad rôznych profesií), rozdielnych aplikácií, rozdielnych typov interakcií za rôzny čas. Takéto kombinácie vyžadujú veľkú dávku úsilia.
3.3. Zjednodušenie procesov
Zjednodušenie je ďalšie víťazstvo. Môžte mať napríklad proces skladajúci sa z 10 manuálnych krokov. Možno nie je možné ho kompletne automatizovať, ale redukcia krokov napríklad na polovicu znamená výrazné zjednodušenie a svoj čas lepšie využijete na manuálne kroky, ktoré ostali.
3.4. Redukcia chýb
Ako som písal aj vyššie, pri práci máme okolo seba množstvo rušivých vplyvov. Každé vyrušenie od práce, ktorú vykonávame, spôsobí, že pri návrate k začatej práci nasledujúcich 15 minút trvá, kým sa opäť začneme naplno sústrediť. Takéto vyrušenie môže spôsobiť chybovosť v procese.
3.5. Šetrenie ľudskej sily
Prácu, ktorú dnes vykonáva viacero ľudí, po automatizácií zredukujeme napríklad na jedného. Ak máme 5 ľudí, z ktorých každý denne spracuje 100 súborov a tento proces zautomatizujeme, budeme potrebovať jedného, ktorý bude mať na starosti len overenie výsledku.
3.6. Šetrenie nákladov
Ak vezmeme do úvahy príklad z predošlého bodu. Máme 5 ľudí, každý dostáva na hodinu 10 eur a pracuje 8 hodín denne. Ich plat nás stojí 400 eur denne (nepočítame dane a odvody ;) ). Po zredukovaní počtu zamestnancov na 1 ušetríme denne 320 eur, čo mesačne vychádza cca. 6400 eur.
4. Záver
V tejto časti sme si teda povedali, o čom je automatizácia, v čom nám pomáha a môže pomôcť a prečo by sme ju mali využiť. V ďalších častiach by som sa chcel zamerať na riešenie konkrétnych príkladov a situácií. Zo začiatku hlavne niečo jednoduchšie pre domácich používateľov a neskôr aj zložitejšie úlohy. Príklady budú riešené pomocou automatora a applescript, ale budem rád ak sa pridá niekto znalý perl, bash a pod.
Paráda!
Budou v dalších dílech rozepsány ty jednotlivé automatizace? Mě by se třeba líbil nějaký úvod a vysvětlení regulárních výrazů (nebo na ně rovnou další "seriál").
koukni na toto:
www.regularnivyrazy.info (docela dobry web)
regularni-vyrazy-1
Jo je toho na webu tuna. A mě by se právě líbilo, kdyby bylo pár kilo i u nás a až by se někdo někde ptal na regulární výrazy, tak by mu dávali odkaz sem.
Proto jsem to psal.
ano planujem nejake ukazky - minimalne teda ten backup. Neviem do akej miery to bude o regularnych vyrazoch (moc sa s nimi nekamaratim ), ale pokial to bude vhodne, tak s niekym prekonzultujem.
jestli budeš mít chuť a možnost i na win nástroje, tak nezapomeň na možnosti Power Shellu na win.
Proč?
- předinstalován na nových win a na starých doinstalovatelný
- je to mocná věc, přes interpret cmd se nedá realizovat všechno
- zvládne fungovat i na nixech (mono, pash), nicméně na systémovou práci je lepší být doma na win- tam má silné využití, na applu by to zprovoznit mělo jít MonoMacPackager.
---
krásnou ukázkou automatizovaných skriptů Power shellu je Microsoft Fix it Center, což je malý řídící program a stovky ps1 skriptů. poradce při potížích je naprosto to samý, jen si člověk nemůže skripty číst.
a inspiraci můžeš nabrat tuna: index.jspa - tam to centrum loudí rovnou přes ps wmi informace.
díky.
Díky za zajímavý článek a těším se na pokračování.