Tipy a triky

V tejto sekcii nájdete praktické rady a odporúčania, ako efektívne využívať kurzy cez úrad práce na získanie nových zručností. Tipy a triky sú navrhnuté tak, aby vám pomohli zvládnuť bežné úlohy rýchlejšie a efektívnejšie. Táto kategória je skvelým miestom pre tých, ktorí hľadajú spôsob, ako sa neustále zlepšovať.

Ako naprogramovať hru Čierny Peter v Jave
Tipy a triky
26.10.2017
Skillmea

Ako naprogramovať hru Čierny Peter v Jave

Programovanie hry Čierny Peter v JaveV tomto tutoriáli si spolu naprogramujeme kartovú hru Čierny Peter. Použijeme programovací jazyk Java a zameriame sa na to, aby sme použili OOP prístup, teda objektovo-orientované programovanie. Pravidlá hryNajskôr si musíme zanalyzovať danú hru. To spravíme tak, že si povieme a určíme pravidlá. V hre je 33 kariet. Jedna karta nemá pár, ostatné ho majú. Hru môže hrať 3 až 6 hráčov. Všetky karty sa rozdajú medzi hráčov. Automaticky si hráči vytriedia z ruky karty, ktoré majú páry. S ostatnými sa začína hra. Ten, čo má najviac kariet, nechá ťahať hráča po svojej pravici. Ak ten hráč získal pár, tak ho vyloží a ďalší hráč od neho ťahá kartu. Ak hráč prišiel o všetky karty, už viac nehrá. Komu ostane posledná karta, ten prehral hru. Analýza hry – vytváranie objektovTeraz je čas pripraviť si popis našich tried, rozhraní a podobne. V skratke, uvažujeme nad pravidlami, okolnosťami a členmi danej hry a chceme ich pretvoriť na objekty.  Čím všeobecnejšie napíšeme naše objekty, tým lepšie pre ich znovupoužiteľnosť. Ak by sme chceli niekedy naprogramovať karty žolíkové, sedmové alebo hocijaké iné, tak si nechajme túto možnosť. Teda napríklad vytváranie inštancií kariet nedávajme do triedy balíku, ale inde.  Postup: 1. vytvorím kartu  2. vytvorím balík kariet  3. vytvorím hráča  4. interakciu s používateľom  5. správu hry  6. logiku hry Čierny Peter  KartaKaždá hracia všeobecná karta má nejaké špecifikum. Je to kráľ srdcový, kráľ pikový a podobne. V našom prípade máme páry a každá karta v páre je iná, spoločné majú to, že sú pár. Ako napríklad v žolíkových kartách máme 4 kráľov. Každý je iný, ale majú spoločné, že sú to králi.  package sk.jaro.CiernyPeter; public class Karta { private int cisloKarty; //každá karta ma iné číslo private int cisloParu; //každý prá má iné číslo, len dve karty majú to isté číslo páru public Karta(int cisloKarty, int cisloParu) { this.cisloKarty = cisloKarty; this.cisloParu = cisloParu; } public int getCisloKarty() { return cisloKarty; } public int getCisloParu() { return cisloParu; } } Balík karietĎalej budeme potrebovať tieto karty uložiť do balíku. Každá hra má niekoľko kariet, ktoré tvoria balík. Takže náš balík bude obsahovať zoznam kariet. Čo sa dá robiť s balíkom? Napríklad miešať karty, alebo z balíku môžeme vybrať kartu. Keď vyberám karty alebo miešam karty, tak tam musia nejaké byť. Lebo ak vyberiem postupne všetky karty z balíku, tak nakoniec budem mať balík prázdny. Skúste miešať prázdny balík kariet :) Preto si vytvorím aj pomocnú metódu, ktorá zistí, či je balík prázdny alebo nie. package sk.jaro.CiernyPeter; import java.util.Collections; import java.util.List; public class BalikKariet { private List<Karta> karty; //implementacia listu pre zachovanie poradia public BalikKariet(List<Karta> karty) { this.karty = karty; } public List<Karta> getKarty() { return karty; } public void zamiesajKarty(){ if(!jeBalikPrazdny()) Collections.shuffle(karty); } private boolean jeBalikPrazdny(){ return karty == null || karty.isEmpty(); } public Karta getKartu(){ Karta karta = null; if(!jeBalikPrazdny()) { karta = karty.get(0); //vytiahnem prvú kartu karty.remove(karta); //kartu odstránim z balíku } return karta; } }HráčDo každej hry potrebujem hráča, teda niekoho kto bude danú hru hrať. Rozhodol som sa, že hráčovi dám meno a karty v ruke. Keď vytváram nového hráča pomocou new, tak sa zavolá konštruktor danej triedy a tam si všimni, že som mu do ruky nedal nič, teda tam má prázdno. To preto, lebo ešte nedostal nijakú kartu pri rozdávaní, ale musí mať nejaké úložisko kde mu ich dám :) Je tam ešte metóda, ktorá má na starosti odstrániť z ruky hráča všetky páry. Kto by si to chcel nejako zovšeobecniť, tak môže. Teda do objektu Hrac, by dal len metódu na odstránenie jednej karty, alebo zoznamu kariet. A ktoré karty to budú to nechá na iný objekt, ktorý spravuje pravidlá hry Čierny Peter.  package sk.jaro.CiernyPeter; import java.util.ArrayList; import java.util.List; public class Hrac { private String meno; private List<Karta> kartyVRuke; public Hrac(String meno) { this.meno = meno; this.kartyVRuke = new ArrayList<>(); } public String getMeno() { return meno; } public List<Karta> getKartyVRuke() { return kartyVRuke; } public void odstranParyZRuky() { ArrayList<Karta> akeKartyOdstraniZRuky = new ArrayList<>(); for(Karta karta : kartyVRuke){ try { for (Karta k : kartyVRuke) { if (karta.getCisloParu() == k.getCisloParu() && karta.getCisloKarty() != k.getCisloKarty()) { akeKartyOdstraniZRuky.add(karta); akeKartyOdstraniZRuky.add(k); break; } } }catch (Exception e){ e.printStackTrace(); } } kartyVRuke.removeAll(akeKartyOdstraniZRuky); } }Ovládanie hryAkú chceš spraviť aplikáciu? Ako chceš komunikovať s používateľom? Cez grafické rozhranie? Cez konzolu, alebo inak? Teraz budeme robiť konzolovú interakciu, ale ak by si chcel robiť v budúcnosti grafické rozhranie, tak je vynikajúca idea spraviť interface, teda rozhranie, kde popíšem metódy aké chcem používať na interakciu s používateľom. Potom keď budeš robiť grafické rozhranie, tak si len zaimplementuješ toto nové rozhranie a niekde v kóde hry povieš, že teraz používať túto implemntáciu, a nemusíš prepisovať aj celú hru, lebo metódy sú tam rovnaké, len z iného zdroja.  Čo potrebujeme vypísať používateľovi, alebo čo od neho chcem získať? Počet hráčov, ich mená, akú kartu chceme hráčovi zobrať a chceme vypísať koniec hry. Ak chceš niečo viac, tak si to kľudne dorob.  package sk.jaro.CiernyPeter.rozhrania; import sk.jaro.CiernyPeter.Hra; import sk.jaro.CiernyPeter.Hrac; public interface IOvladanieHry { int vyberPocetHracov(); Hrac getMenoHraca(int i); int zoberKartu(Hrac hrac1, Hrac hrac2); void vypisKtoPrehral(Hra hra); }Teraz si musíme zaimplementovať toto rozhranie. Teraz máme len predpis metód ale nie ich vnútro. Budeme používať konzolu, ktorú budeme čítať pomocou scanneru a na konci hry si uzavrieme scanner. Každá metóda je jednoduchá, vypíšem na konzolu čo chcem a potom nechám používateľa, aby mi to napísal.  Všimni si, keď berieš nextInt(), tak sa to pokúsi zobrať číslo. Ak nájde niečo iné je to chyba a tú ošetríme. Kľudne si dorob viac ošetrení, podmienok a výpisov. Potom ale musíš zobrať aj zvyšok. Lebo čo spravil používateľ? Zadal číslo a stlačil enter. Ty si zobral len to číslo, ale nie aj enter. Preto tam máme ešte nextLine – to nám zoberie zvyšok riadku aj s enterom.  Čierny Peter bude hráč, ktorý ostal posledný v hre.  package sk.jaro.CiernyPeter.gui; import sk.jaro.CiernyPeter.Hra; import sk.jaro.CiernyPeter.Hrac; import sk.jaro.CiernyPeter.rozhrania.IOvladanieHry; import java.util.Scanner; public class OvladanieHry implements IOvladanieHry { Scanner scanner = new Scanner(System.in); @Override public int vyberPocetHracov() { int pocetHracov = 0; System.out.println("Zadaj počet hráčov (3 až 6):"); try { pocetHracov = scanner.nextInt(); scanner.nextLine(); } catch (Exception ex) { System.out.println("Nepodarilo sa načítať počet hráčov. Zadal si správne číslo?"); pocetHracov = vyberPocetHracov(); } return pocetHracov; } @Override public Hrac getMenoHraca(int i) { Hrac hrac = null; System.out.println(String.format("Zadaj meno pre hráča %d :", i)); String meno = scanner.next(); scanner.nextLine(); if (meno.equals("") || meno.equals(" ")) { System.out.println(String.format("Prosím znovu zadajte meno pre hráča %d :", i)); hrac = getMenoHraca(i); } else { hrac = new Hrac(meno); } return hrac; } @Override public int zoberKartu(Hrac hrac1, Hrac hrac2) { int zoberKartuCislo = 0; System.out.print(hrac1.getMeno() + " ,ktorú kartu cheš zobrať hračovi "+hrac2.getMeno()+"?: "); for(int i = 0; i < hrac2.getKartyVRuke().size(); i++){ System.out.print(i+", "); } try { zoberKartuCislo = scanner.nextInt(); scanner.nextLine(); } catch (Exception ex) { System.out.println("Nepodarilo sa získať akú kartu chceš zobrať. Zadal si správne číslo?"); zoberKartuCislo = zoberKartu(hrac1,hrac2); } return zoberKartuCislo; } @Override public void vypisKtoPrehral(Hra hra) { System.out.println("Čierny Peter je hráč "+hra.getHraci().get(0).getMeno()); scanner.close(); } }HraKaždá hra má niekoľko hráčov, má balík kariet s ktorými sa hrá a má aj ovládanie. Toto si zadefinujeme.  public class Hra{ private BalikKariet balikKariet; private int pocetHracov; private List<Hrac> hraci; private OvladanieHry ovladanieHry;V konštruktore tejto Hry si nastavíme to, čo vieme:  public Hra() { this.ovladanieHry = new OvladanieHry(); this.pocetHracov = ovladanieHry.vyberPocetHracov(); this.hraci = vytvorHracov(); }Nestavili sme balík kariet, pretože, ten je špecifický pre každý typ hry iný. V našom prípade sú to karty pre hru Čierny Peter. Tak tie si vytvorím neskôr.  V kuse kódu vyššie sme si vytvorili inštanciu ovládania hry a hneď sme ju aj použili pri výbere počtu hráčov. Metóda výber hráčov je jednoduchá, používateľa aplikácie sa pýtam ako sa volajú a rovno ich vytvorím a dám do zoznamu.  public List<Hrac> vytvorHracov() { ArrayList<Hrac> hraci = new ArrayList<>(); for(int i = 0; i < pocetHracov; i++){ Hrac hrac = ovladanieHry.getMenoHraca(i+1); hraci.add(hrac); } return hraci; }Logiku hry spustím a teda začnem ju hrať keď zavolám metódu zacniHrat.  public void zacniHru() { HraCiernyPeter ciernyPeter = new HraCiernyPeter(); //vseobecna logika ku kazdej hre balikKariet = vytvorBalik(ciernyPeter.vytvorKarty()); balikKariet.zamiesajKarty(); //rozdaj karty z baliku ciernyPeter.rozdajKarty(this); // pre hru urcim prveho hraca // v ciernom petrovi je to hrac s najviac kartami a ten zacina tahat Hrac prvyHrac = ciernyPeter.getHracaSNajviacKartami(getHraci()); //vsobecne na zaklade prveho hraca zistim jeho poradie v zozname hracov v hre int prvyHracIndex = getHraci().indexOf(prvyHrac); ciernyPeter.zlozHracomParyZRuky(this); ciernyPeter.odstranHracovZHry(this); if(!ciernyPeter.jeKoniecHry(this)){ //idu do kruhu az kym hraju aspon dvaja hraci ciernyPeter.kolobehHry(this,prvyHracIndex); } }Tu si vytvorím inštanciu triedy HraCiernyPeter, ktorá má na starosti logiku, ktorá je špecifická práve pre tento typ hry. Tú si vytvoríme neskôr.  Na tomto mieste si vytvorím aj balík kariet pomocou kariet, ktoré sa vytvárajú v triede HraCiernyPeter. Keďže som zvolil názvy metód také, aby sa ľahko chápali, tak tušíme čo dané metódy robia. Keď vytvorím balík a idem hrať, tak karty pomiešam, potom ich rozdám hráčom.  Musím si určiť, ktorý hráč začína ako prvý. V čiernom petrovi je to ten, čo má najviac kariet.  Ako sme si povedali na začiatku, tak keď majú hráči rozdané karty, tak si zložia všetky páry a tým sa zbavia nejakých kariet. Skontrolujem či azda niekto nemal všetko páry na ruke a tým pádom skončil v hre. Spýtam sa, či je koniec hry – či ostal len jeden hráč, ktorý má čierneho petra – lebo táto karta nemá pár. Ak nie, tak začnem kolobeh hry.  V tejto triede mám aj iné pomocné triedy. Skús si ich prejsť sám.  package sk.jaro.CiernyPeter; import sk.jaro.CiernyPeter.gui.OvladanieHry; import java.util.ArrayList; import java.util.List; public class Hra{ private BalikKariet balikKariet; private int pocetHracov; private List<Hrac> hraci; private OvladanieHry ovladanieHry; public Hra() { this.ovladanieHry = new OvladanieHry(); this.pocetHracov = ovladanieHry.vyberPocetHracov(); this.hraci = vytvorHracov(); } public BalikKariet getBalikKariet() { return balikKariet; } public List<Hrac> getHraci() { return hraci; } public OvladanieHry getOvladanieHry() { return ovladanieHry; } public List<Hrac> vytvorHracov() { ArrayList<Hrac> hraci = new ArrayList<>(); for(int i = 0; i < pocetHracov; i++){ Hrac hrac = ovladanieHry.getMenoHraca(i+1); hraci.add(hrac); } return hraci; } public BalikKariet vytvorBalik(List<Karta> karty) { return new BalikKariet(karty); } public void odstranHracaZHry(Hrac hrac) { //ak ma prazdnu ruku odstranim ho if(hrac.getKartyVRuke().isEmpty()){ getHraci().remove(hrac); } } public void ukonciHru() { ovladanieHry.vypisKtoPrehral(this); } public void zacniHru() { HraCiernyPeter ciernyPeter = new HraCiernyPeter(); //vseobecna logika ku kazdej hre balikKariet = vytvorBalik(ciernyPeter.vytvorKarty()); balikKariet.zamiesajKarty(); //rozdaj karty z baliku ciernyPeter.rozdajKarty(this); // pre hru urcim prveho hraca // v ciernom petrovi je to hrac s najviac kartami a ten zacina tahat Hrac prvyHrac = ciernyPeter.getHracaSNajviacKartami(getHraci()); //vsobecne na zaklade prveho hraca zistim jeho poradie v zozname hracov v hre int prvyHracIndex = getHraci().indexOf(prvyHrac); ciernyPeter.zlozHracomParyZRuky(this); ciernyPeter.odstranHracovZHry(this); if(!ciernyPeter.jeKoniecHry(this)){ //idu do kruhu az kym hraju aspon dvaja hraci ciernyPeter.kolobehHry(this,prvyHracIndex); } } }Logika hry Čierny PeterV tejto časti si vytvoríme karty špecifické pre túto hru. Teda 16 párov a jedného čierneho petra.  public List<Karta> vytvorKarty() { ArrayList<Karta> karty = new ArrayList<>(); int j = 1; for(int i = 0; i < 16; i++, j=j+2){ karty.add(new Karta(j, i)); karty.add(new Karta(j+1, i)); } karty.add(new Karta(33,-1)); //Čierny Peter return karty; }Keď rozdávam karty, tak ich rozdávam po jednej. Táto metóda by mohla byť aj v triede Hra, ale teoreticky pre iné typy hier by sa karty rozdávali inak. Tu rozdávam všetky karty.  Z balíku kariet zoberiem prvú kartu, z balíka ju odstránim a dám ju hráčovi do ruky. Tu je taký fígeľ, že idem cez všetky karty a robím modulo nad poradím karty s počtom hráčov, to mi zaručí, že budem dookola prechádzať hráčov až kým neskončí balík.  public void rozdajKarty(Hra hra) { BalikKariet balikKariet = hra.getBalikKariet(); List<Hrac> hraci = hra.getHraci(); int pocetKariet = balikKariet.getKarty().size(); for(int i = 0; i<pocetKariet;i++){ Hrac hrac = hraci.get(i%hraci.size()); hrac.getKartyVRuke().add(balikKariet.getKartu()); } }Keď sa chystám odstrániť hráčov z hry (keď nemajú už žiadne karty na ruke), tak ich nemôžem odstrániť počas toho ako cez nich prechádzam (iterujem). Preto si ich dávam do pomocného zoznamu a až po iterácii ich odstránim.  public void odstranHracovZHry(Hra hra) { //nemôžem mazať hraca z kolekcie ak cez nu prechadzam, preto si vytvorim novy zoznam a odstranim potom ArrayList<Hrac> hraciNaOdstranenie = new ArrayList<>(); for(Hrac hrac : hra.getHraci()){ //skontrolujem ci uz niekto neskoncil, teda ma prazdnu ruku //ak ano odstranim ho z hry if(hrac.getKartyVRuke().isEmpty()){ hraciNaOdstranenie.add(hrac); } } for(Hrac hrac : hraciNaOdstranenie){ hra.odstranHracaZHry(hrac); } }Keď niekomu zoberiem kartu z ruky, tak každému z tých hráčov pomiešam karty. Jednému hráčovi zoberiem kartu z kolekcie kartičiek čo má na ruke a druhému pridám do kolekcie ďalšiu kartu.  public void zoberHracoviKartu(Hrac hrac1, Hrac hrac2, Hra hra) { int poradieZobranejKarty = hra.getOvladanieHry().zoberKartu(hrac1,hrac2); Karta vzataKarta = hrac2.getKartyVRuke().get(poradieZobranejKarty); hrac1.getKartyVRuke().add(vzataKarta); hrac2.getKartyVRuke().remove(vzataKarta); //pomiesam karty v ruke Collections.shuffle(hrac1.getKartyVRuke()); Collections.shuffle(hrac2.getKartyVRuke()); }Samozrejme kolobeh hry ide nasledovne. Hráme dovtedy, kým nám v hre ostanú aspoň dvaja hráči. Začínam u prvého hráča, ktorý zoberie kartu druhému hráčovi. A tu som si natrafil na chybu. Predsa hráč s najväčším počtom kariet neťahá ale malo by sa ťahať jemu teda, ten čo je za ním ťahá od neho. Tak tu si to môžete opraviť, to nechám na vás. Pomôcka: upravte index prvého hráča v triede Hra, ak si pamätáte, tam sme ho určili.  public void kolobehHry(Hra hra, int prvyHracIndex) { while (hra.getHraci().size() > 1) { int pocetHracov = hra.getHraci().size(); Hrac hrac1 = hra.getHraci().get(prvyHracIndex%pocetHracov); Hrac hrac2 = hra.getHraci().get((prvyHracIndex + 1)%pocetHracov); zoberHracoviKartu(hrac1, hrac2,hra); zlozHracomParyZRuky(hra); odstranHracovZHry(hra); if(jeKoniecHry(hra)) { break; } prvyHracIndex++; } }Tu je potom celý kód triedy aj s inými pomocnými metódami.  package sk.jaro.CiernyPeter; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class HraCiernyPeter { public List<Karta> vytvorKarty() { ArrayList<Karta> karty = new ArrayList<>(); int j = 1; for(int i = 0; i < 16; i++, j=j+2){ karty.add(new Karta(j, i)); karty.add(new Karta(j+1, i)); } karty.add(new Karta(33,-1)); //Čierny Peter return karty; } public void rozdajKarty(Hra hra) { BalikKariet balikKariet = hra.getBalikKariet(); List<Hrac> hraci = hra.getHraci(); int pocetKariet = balikKariet.getKarty().size(); for(int i = 0; i<pocetKariet;i++){ Hrac hrac = hraci.get(i%hraci.size()); hrac.getKartyVRuke().add(balikKariet.getKartu()); } } public Hrac getHracaSNajviacKartami(List<Hrac> hraci) { int max = 0; Hrac hracMax = null; for(Hrac hrac : hraci){ int size = hrac.getKartyVRuke().size(); if(max < size){ max = size; hracMax = hrac; } } return hracMax; } public void zlozHracomParyZRuky(Hra hra) { for(Hrac hrac : hra.getHraci()) { hrac.odstranParyZRuky(); } } public void odstranHracovZHry(Hra hra) { //nemôžem mazať hraca z kolekcie ak cez nu prechadzam, preto si vytvorim novy zoznam a odstranim potom ArrayList<Hrac> hraciNaOdstranenie = new ArrayList<>(); for(Hrac hrac : hra.getHraci()){ //skontrolujem ci uz niekto neskoncil, teda ma prazdnu ruku //ak ano odstranim ho z hry if(hrac.getKartyVRuke().isEmpty()){ hraciNaOdstranenie.add(hrac); } } for(Hrac hrac : hraciNaOdstranenie){ hra.odstranHracaZHry(hrac); } } public boolean jeKoniecHry(Hra hra) { if(hra.getHraci().size() < 2){ hra.ukonciHru(); return true; } return false; } public void zoberHracoviKartu(Hrac hrac1, Hrac hrac2, Hra hra) { int poradieZobranejKarty = hra.getOvladanieHry().zoberKartu(hrac1,hrac2); Karta vzataKarta = hrac2.getKartyVRuke().get(poradieZobranejKarty); hrac1.getKartyVRuke().add(vzataKarta); hrac2.getKartyVRuke().remove(vzataKarta); //pomiesam karty v ruke Collections.shuffle(hrac1.getKartyVRuke()); Collections.shuffle(hrac2.getKartyVRuke()); } public void kolobehHry(Hra hra, int prvyHracIndex) { while (hra.getHraci().size() > 1) { int pocetHracov = hra.getHraci().size(); Hrac hrac1 = hra.getHraci().get(prvyHracIndex%pocetHracov); Hrac hrac2 = hra.getHraci().get((prvyHracIndex + 1)%pocetHracov); zoberHracoviKartu(hrac1, hrac2,hra); zlozHracomParyZRuky(hra); odstranHracovZHry(hra); if(jeKoniecHry(hra)) { break; } prvyHracIndex++; } } }[Image]MainNakoniec som si vytvoril triedu s jednou main metódou, ktorá sa nám bude volať pri spustení programu.  public static void main(String[] args) { Hra hra = new Hra(); hra.zacniHru(); } Celý Java program si vieš stiahnuť odtiaľto. TODO - úloha pre tebaDorobte výpis, aké karty boli hráčovi odstránené z ruky, keď zložil páry. Spravte ďalšie podmienky pri zadávaní údajov od používateľa, aby nebral karty, ktoré niekto nemá v ruke a podobne.   Autorom tohto blogu je Jaro Beňo, autor Java online kurzu, ktorý môžeš na Learn2Code študovať zadarmo.
Klávesové skratky v Exceli
Tipy a triky
05.07.2017
Skillmea

Klávesové skratky v Exceli

Pripravili sme pre teba zoznam klávesových skratiek pre Excel 2010. Tento blog popisuje najpoužívanejšie klávesové skratky, funkčné klávesy a niektoré ďalšie bežné klávesové skratky pre Microsoft Excel 2010 pre Windows. Ak používaš Mac, namiesto Ctrl je potrebné použiť klávesu Cmd. Kopírování Ctrl + C Kopírování Ctrl+X Vystřižení Ctrl + V Přilepení Formátování Ctrl+B Změní text na tlustý Ctrl+I Změní text na kurzívu Ctrl + U Podtrhne text Ctrl + = Přidá vnější orámování Práce se souborem F12 Uložit jako Ctrl + O Otevření stávajícího sešitu Ctrl+N Vytvoření nového sešitu Ctrl+S Uložení sešitu Výběr buněk Ctrl+Home Přesune kurzor do první buňky Podržte Ctrl a můžete označit více objektů najednou Shift Označte první objekt, podržte Shift a označte poslední objekt Ctrl + A Označí celou tabulku ve které se nachází právě označená buňka Ctrl + ← Přesune kurzor doleva na začátek tabulky Ctrl + → Přesune kurzor doprava na konec tabulky Ctrl + ↑ Přesune kurzor nahoru na začátek tabulky Ctrl+↓ Přesune kurzor dolů na konec tabulky Ctrl + mezera Označí celý sloupec Shift + mezera Označí řádek F2 Úprava textu právě označené buňky Různé Ctrl + F Najde nebe nahradí text Ctrl+Z Přesune o 1 krok dozadu Ctrl+Y Přesune o 1 krok dopředu F4 Změní adresu buňky z relativní na absolutní a naopak Ctrl + , Zobrazí nebo skryje všechny vzorce F1 Zobrazí nápovědu Ctrl + F1 Zobrazí nebo skryje pásy na hlavním panelu Alt + F8 Otevře nabídku pro nahrávání maker Shift + F2 Vloží do buňky komentář Súbor s klávesovými skratkami v Exceli si môžeš stiahnuť odtiaľto. Plus bonusová časť: videotutoriál, ako si upraviť vzhľad Excelu podľa svojich preferencií.
Najvtipnejšie programátorské GIFká
Tipy a triky
02.06.2017
Martina Baumann

Najvtipnejšie programátorské GIFká

Keďže sa teraz trošku pohybujem v IT komunite ľudí, poznám niekoľko programátorov. A tak si stále hovorím (alebo myslím), že skutočne trávia za PC celé dni a keď sa zahĺbia do svojho kódu, nesledujú, čo sa deje okolo nich. Viem, čo hovorím - chalani si totiž už tretí týždeň vôbec nevšimli, že som ostrihaná! Ako môže teda niekedy vyzerať taký život ortodoxného kódera?  GIF webyAk si programátor a zároveň chceš propagovať svoju prácu povedzme prostredníctvom blogov alebo iných príspevkov, môžu sa ti niekedy hodiť do článkov aj vtipné GIFká. Všeobecne nemusíš byť len programátorom, na svoje si príde každý copywriter, bloger, redaktor, ktorý čo-to píše a potrebuje texty doplniť o nejaké to dobré GIFko. Ktoré webky majú tie naj GIFká? Čítaj ďalej! Takže, kde zaručene nájdeš GIF, ktoré práve potrebuješ? Čekuj najmä weby ako giphy.com - samozrejme, že ti ako prvé nemôžem ponúknuť nič iné ako Giphy, pretože práve tento web navštevujú denne milióny užívateľov (niektoré zdroje uvádzajú desiatky miliónov a iné zas sa pohybujú v stovkách miliónov) a je to určite najrozšírenejší zdroj GIFiek pod slnkom. Tu nájdeš všetko, používam ho aj ja úplne najčastejšie a musím priznať, že patrí medzi moje naj. Ďalšie weby, ktoré odporúčam, sú napríklad thecodinglove.com, reddit.com,  reactiongifs.com. Pre tých prieberčivých je ešte jedna možnosť a to vytvoriť si také GIF, aké presne potrebuješ. Ak si chceš urobiť vlastné GIF, tak určite na stránke makeagif.com. Späť k tým našim programátorom. Naozaj si myslím, že to môžu byť vtipní ľudia a vôbec s nimi nemusí byť až taká nuda. Aby som ťa presvedčila, vybrala som nasledujúce GIFká.  Pondelok ráno: Takže, zľahka si vyťukám svoj kód...[Image] Utorok (niekedy okolo obeda): A takto môže vyzerať homeoffice :)[Image] Streda (ráno) - still in progress[Image] Streda (neskoro poobede): Takto zas môže vyzerať, keď je kríza alebo sa jednoducho nedarí a kód si robí, čo chce[Image] Stále streda? Možno už štvrtok? Svitá na lepšie časy?[Image] Na druhej strane - nič nepoteší programátora viac, ako keď jeho kód skutočne funguje tak, ako má  A nasleduje nefalšovaná radosť! ...alebo aj takto (väčšinou už niekde okolo 18:00 h piatok) Programátor musí mať prstoklad! Alebo? Keď všetko fičí, ako má  Nadčasové CSS gifko, ktoré nikdy neomrzí:)[Image] Zmením len tento jeden riadok v kóde:[Image] Skutočne 👇 [Image] Tip na záver Mne osobne sa páči napríklad tento blog, ktorý ma vždy zaručene pobaví.  Páčil sa ti tento blog? Venuj mu 👍  Ktoré GIFko sa ti páčilo najviac? Napíš mi ho do komentára 👇  
Ako naprogramovať kalkulačku v Jave
Tipy a triky
05.05.2017
Skillmea

Ako naprogramovať kalkulačku v Jave

Dnes sa naučíme základné operácie v Jave, ktoré si ukážeme pri programovaní jednoduchej kalkulačky. Okrem iného sa naučíme: • vypísať zadaný text • uložiť hodnoty pre premenné typu String a int • vytvorenie vstupu pre užívateľa • parsovanie textu na čísla • podmienky a jednoduché vetvenie • základné matematické výpočy v Jave Program kalkulačka v Jave Čo teda chceme, aby náš program vedel urobiť? 1. Dokáže zaznamenať 2 čísla zadané užívateľom do konzoly 2. Dokáže podľa inštrukcií zadaných užívateľom do konzoly určiť operáciu (+, -, x, /) 3. Dokáže zo zadaných udajov vykonať výpočet a výsledok vypísať Po dokončení by program mal vyzerať nasledovne:[Image] *nezabudnite si nastaviť podporu UTF 8, pretože znaky ľšťžýážä to brať nebude Počas programovania vlastnej kalkulačky ju môžete použiť ako šablónu a pokiaľ objavíte vo svojom programe chybu, môžete si ju podľa šablóny opraviť.  Poďme si vysvetiť, ako sme takýto program vytvorili. Zatiaľ si nebudeme vysvetľovať základnú štruktúru programu, pretože sa jedná o zložité a pre začiatočníkov ťažko pochopiteľné pojmy (balík, trieda, metóda ...). Viac sa o štruktúre programu dozviete, keď sa budeme venovať objektovo orientovanému programovaniu (OOP). Do programu opíšte to, čo vidíte v šablóne.  Vypísanie textu Jednou z najjednoduchších vecí, ktoré budeme od našej aplikácie chcieť, je vypísať nejaký text. K tomu použijeme príkaz System.out.println(“Text“) ; Ako sa dozvieme neskôr, do zátvoriek môžeme namiesto textu v úvodzovkách napísať názov premenej a program nám vypíše jeho program. Tento príkaz nám odriadkuje text v programe, pokiaľ chceme namiesto odriadkovania pokračovať na rovnakom riadku, použijeme príkaz System.out.print(“Text“); Bodkočiarka nám predstavuje koniec jedného príkazu.  V našom programe ho použijeme k vypísaniu inštrukcií pre užívateľa. Prázdne úvodzovky nám poslúžia pre vytvorenie prázdneho riadku.  Premenné typu String a intPremenné sú názvy, ktoré zastupujú určité číslo alebo text, ktorý je v nich uložený. Pred názvom premennej určujeme typ premennej. Pre číslo slúži int a pre text String.  Ukážme si niekoľko príkladov:  int a = 5; String b = “Ahoj“; Pokiaľ by sme chceli v kóde vypísať premennú, použijeme príkaz System.out.println(a); Samozrejme môžeme vypísať niekoľko premenných vedľa seba kľudne aj s obyčejným textom a to pomocou znamienka + . Kód by potom mohol vyzerať nasledovne:  System.out.println (a + b + “Text“) ; Hodnoty premenných sa môžu počas priebehu programu meniť. Pokiaľ budeme operovať s premennou, ktorá už bola definovaná (bol u nej určený typ), nebudeme znovu jej typ určovať:  int a= 5; a=6; Dávajte si pozor na veľké a malé písmená. Pri Stringu sa píše prvé písmeno veľké, pretože sa jedná o referenčný dátový typ, zatiaľčo int je primitívny dátový typ. Tým sa však zatiaľ nebudeme zaoberať.  V našom programe si určíme premenné int cislo1, int cislo2, int vysledok a String operácia.  Vytvorenie vstupu pre užívateľaĎalej budeme chcieť, aby bol náš program interaktívny. Teda, aby tu dochádzalo k obojstrannej komunikácii medzi počítačom a užívateľom. K tomu si vytvoríme užívateľský vstup. Najskôr si úplne na začiatok kódu pridáme metódu import java.util.Scanner; ktorá nám sprístupní funkcie pre vstup užívateľa z konzoly. Do hlavného bloku kódu si potom nadefinujeme premennú, ktorá nám ponesie Scanner:  Scanner sc= new Scanner (System. in) ; Zátvorka nám tu bude definovať diakritiku, ktorú použijeme. Pokiaľ vám nebude fungovať tento kód, skúste napísať: Scannee sc = new Scanner(System.in, “Windows-1250“); Vstup vykonáme tak, že ho priradíme ako hodnotu k premennej pomocou príkazu:  sc. nextLine() ; Mohlo by to vyzerať asi takto: String vstup = sc. nextLine() ; V programe získame od užívateľa hodnotu pre cislo1, cislo2 a operáciu Počítač prečíta vstupy od užívateľa vždy ako text. Čo však v prípade, keď budeme chcieť od užívateľa zadať číslo? K tomu slúži tzv. parsovanie. ParsovanieFunkcia parsovania nám slúži, pokiaľ chceme previesť užívateľom zadaný text na číslo. K tomu použijeme funkciu int nazovpremennej = Integer.parseInt(sc.nextLine() ); V našom programe nám poslúži na prevedenie vstup u premenných cislo1 a cislo2 z textu na číslo. PodmienkyPokiaľ chceme, aby prebehla časť kódu len pokiaľ sú splnené určité podmienky, použijeme k tomu funkciu if. Pokiaľ nie sú splnené podmienky, časť kódu bude preskočená a bude sa pokračovať až za ňou.  Podmienky píšeme do zátvoriek za kľúčové slovo if a príkazy do zložených zátvoriek.  a=1 if (a==1) { System.out.println(“Ahoj“) ; }Pri podmienkach používame ==  Pri textových premenných používáme namiesto == funkciu equals() String a = “Ahoj“ if (a. equals(“Ahoj“){ System.out.println (“Čau“) ; }Je možné používať ďalšie matematické funkcie ako napríklad porovnávanie (<, >). V našom programe pomocou štyroch if funkcií zistíme, akú zadal užívateľ operáciu a podľa toho vykonáme výpočet.  Matematické operácieV Jave môžeme pracovať s rôznymi matematickými funkciami:  Napríklad int a=1+2; Samozrejme je možné nahradiť čísla premennými, napr. int a= b – c ; V našom programe vypočítame výsledok pomocou vysledok= cislo1 [operacia] cislo2; Dúfam, že sa vám podarilo vytvoriť vlastnú funkčnú kalkulačku. Pokiaľ stále máte problémy, skúste ešte skontrolovať, či: • nechýba na konci niektorého príkazu bodkočiarka,  • sú správne umiestnené zložené zátvorkyJsou správně umístěné složené závorky  • sú veľké a malé písmená zapísané správne  Pre dnešok to bude všetko. Java videotutoriál pre začiatočníkov nájdete tu a úplne zadarmo. 
Aká je idálna aplikácia na fotomontáž fotiek
Tipy a triky
10.04.2017
Skillmea

Aká je idálna aplikácia na fotomontáž fotiek

Povedal by si, že budeš niekedy schopný vytvoriť fotomontáž fotiek vo Photoshope? Prečítaj si tento článok a dodrž postupy. Vďaka tomu sa naučíš vytvoriť akúkoľvek fotomontáž, dokonca aj pomocou rôznych aplikácií na fotomontáž. Možno ti to znie náročne, ale v skutočnosti sú tieto kroky jednoduché, len vyžadujú trochu cviku. Každá jedna fotomontáž pozostáva zo spojenia viacerých vrstiev. K tomu patrí aj správne nastavenie farebných tónov, aby všetky vrstvy pôsobili zhodne a vytvorili ucelený výsledok. Ako som postupoval pri tvorbe fotomontáže?1. Výber správnych fotografií – Základom je nájsť obrázky, ktoré majú rovnaký uhol a správne postavenie objektov, aby výsledná montáž vyzerala realisticky. Správne zdroje obrázkov nájdeš v našom online kurze. 2. Určenie témy a emócie – Pred začiatkom je dôležité si určiť tému fotomontáže. Chceš vytvoriť scénu so zameraním na letnú atmosféru alebo zimnú? Definuj si farebnú schému a tón, ktorý chceš vyvolať. 3. Zvoliť nástroje pre výber objektov – Zváž, či pozadie na fotografii je jednoduché alebo zložité, prípadne či obsahuje tiene. Jednoduché pozadie zvládneš s nástrojmi ako Magnetické laso či Kúzelná palička, ale pri náročnejších scénach sa odporúča použiť PenTool. Viac o nástrojoch výberu nájdeš v našich vzdelávacích kurzoch zameraných na Photoshop. 4. Úvodné pospájanie vrstiev – Spojenie vrstiev do dokumentu ti pomôže vizuálne posúdiť, ktoré fotografie sa k sebe najlepšie hodia. Často je vhodné mať pripravených viacero alternatív, ktoré môžeš kombinovať. 5. Farebná korekcia – Tento krok zahŕňa nastavenie farebnej zhody. Napríklad, letné obrázky vyžadujú inú tonalitu než zimné, preto je dôležité nastaviť rovnakú tonalitu vo všetkých vrstvách. 6. Nástroje ako Krivky a Úrovne – Tieto funkcie pomáhajú doladiť teplé a studené tóny na jednotlivých kanáloch. V našich inovačných vzdelávacích kurzoch sa naučíš pracovať s histogramom a správne nastaviť tieto nástroje. 7. Hue/Saturation a Color Balance – Pomocou nich dokážeš dolaďovať farebné odtiene jednotlivých vrstiev. Kombináciou príkazov na tonalitu, saturáciu a svetlosť môžeš dosiahnuť želanú harmóniu medzi všetkými vrstvami. 8. Jednoduché filtre – Filtre ako Color Lookup a Photo Filter sú užitočné na nastavenie špecifických farebných efektov, ktoré dodajú fotomontáži jednotnú atmosféru. 9. Módy prelínania – Tieto módy umožňujú prepojiť vrstvy tak, aby sa eliminovali nevhodné svetelné efekty. Pri nastavovaní svetlých a tmavých miest je možné použiť rôzne módy prelínania, ktoré pomôžu dosiahnuť realistickejší efekt. Postupy s módmi prelínania nájdeš aj v našom online kurze Umelá inteligencia (AI). 10. Finalizačné úpravy – Finálne úpravy zahŕňajú nastavenie tonality pre celý obrázok alebo pridanie textúr a vzorov. Technika Dodge and Burn zvýrazní kontrasty medzi svetlými a tmavými časťami. Na dosiahnutie efektu môžeš tiež použiť Gradient map, ktorá nastaví hodnoty svetlých a tmavých pixelov. Viac o týchto technikách sa dozvieš v našich kurzoch, ktoré pokrývajú všetky aspekty profesionálnej fotomontáže. Toto by bolo všetko, čo sa týka tvorby fotomontáže. Na obrázku môžeš vidieť rýchly postup. Ale tu máš aspoň v skratke opísané, ako by si mal aj ty postupovať, keď si budeš chcieť vytvoriť vlastnú fotomontáž. Už si vytvoril svoju vlastnú fotomontáž, ale postupoval si inak? Podeľ sa o svoje poznatky do komentára :)  Autorom článku je Marek Chrenko.
Obrázky na stiahnutie úplne zadarmo
Tipy a triky
31.03.2017
Martina Baumann

Obrázky na stiahnutie úplne zadarmo

Každý, kto má svoj vlastný blog alebo webstránku, veľmi dobre pozná problém s fotografiami a obrázkami k článkom, príspevkom a blogspotom. Pokiaľ nie si vášnivý fotograf a nemáš v zálohe plno vlastných ilustračiek a nefotíš ako divý všetko, čo ti príde pod ruku, musíš rozmýšľať, aký obrázok použiť pri písaní vlastných textov. Online kurzy zamerané na umelú inteligenciu dnes ponúkajú rôzne nástroje, ktoré ti môžu pomôcť s generovaním alebo úpravou obrázkov pre tvoje články. Povedzme si úprimne, kto dnes už číta články bez fotiek? Naopak, fotka je to prvé, čo človeka hneď upúta a so záujmom klikne na publikovaný materiál. A práve spomínané foto ruka v ruke s dobrým titulkom namotivuje potencionálneho čitateľa, aby sa príspevkom zaoberal (a v tom lepšom prípade zdieľal aj na fejsbúk, kde potom celý večer sleduješ lajky). Umelá inteligencia sa stáva neoceniteľným nástrojom pre blogerov, ktorí chcú optimalizovať svoje vizuálne a textové materiály. Pozor na autorské práva!Obrázky na stiahnutie zadarmo sú často vyhľadávané na internete, pretože je plný profesionálnych fotografií, problém však je s autorskými právami. Používať cudzie materiály je totiž neetické, na druhej strane vám môže za autorskú fotku hroziť aj mastná pokuta. Čo teda (ne)robiť, ak nemám žiadnu databázu obrázkov a nemám financie na používanie platených služieb agentúr, ktoré poskytujú obrazový servis? V prvom rade určite nesťahovať autorskú fotku, tiež by sa ti nepáčilo, keby sa niekto prezentoval tvojou prácou. Kurzy cez úrad práce môžu byť vynikajúcou príležitosťou, ako sa naučiť pracovať s bezplatnými obrázkami na stiahnutie zdarma alebo open-source nástrojmi na úpravu obrázkov a fotografií, čo ti umožní vytvoriť vlastné vizuálne materiály bez porušovania autorských práv. Tieto kurzy často ponúkajú bezplatný prístup k základným zručnostiam potrebným pre digitálnu tvorbu, vrátane práce s programami na tvorbu a úpravu obrázkov, ktoré môžu byť skvelou alternatívou k plateným zdrojom. Nerob paniku, na internete nájdeš aj fotky, ktoré sú free!Opäť tu je pomocník internet - treba však hľadať na správnych webstránkach a teda takých, čo sú "free". Ako? Stále existuje dostatočné množstvo zdrojov, odkiaľ môžete čerpať obrázkové materiály zdarma na ďalšie použitie bez rizika pokút. Tak a teraz odkiaľ stiahnuť obrázky pre tvoj projekt? Aké sú THE BEST FREE PHOTOBANKS? FLICKR Nekonečné milióny a bilióny fotiek (množstvo z nich free) - to je Flickr, komunita, miesto, nevyčerpateľný zdroj obrázkov, ktorý využívajú milióny ľudí. Veľmi populárny, nezabudni však čeknúť ich licenciu. Cez Creative Commons si teda vieš pozrieť presné podmienky používania fotografií a niekoľko možností, ako môžeš obrázok použiť. PIXABAY Ďalšia webka, na ktorej môžeš nájsť, sťahovať a zdieľať obrázky, je Pixabay - pričom stránka uvádza, že všetky obrázky sú publikované v rámci Creative Commons. Výhodou je, že obrázky sa dajú nielen sťahovať, ale tiež upravovať a ďalej distribuovať aj na komerčné účely. A to nie je všetko, okrem obrázkov ponúka aj vektory a rôzne ilustrácie. FREEPIK Zaujímavé možnosti obrázkov ponúka aj Freepik, ktorý je ako inak - zdarma! Databáza vyhľadáva obrázky pomocou niekoľkých zdrojov, preto sa väčšina používateľov zhoduje v tom, že táto webka ti ušetrí kopec času. Vyhľadáš si konkrétnu fotku podľa názvu alebo kategórie. PEXELS Pexels má tiež bohatú databázu rôznych obrázkov, ktoré sú na voľné použitie, pričom tiež fungujú na princípe Creative Commons. A opäť hurá - všetky fotky sú použiteľné na komerčné účely. UNSPLASH Parádne fotky zadarmo a všetky na komerčné využitie pod Creative Commons Zero licenciou. Môžeš sa prihlásiť do ich newslettra a dostávať 10 fotiek vo vysokom rozlíšení každý 10 dní. DREAMSTIME Dreamstime má sekciu, v ktorej najdeš fotky zadarmo. Je potrebné vytvoriť si na stránke účet. PICJUMBO Fotobanka českého fotografa a dizajnéra Viktora Hanáčka, ktorý túto stránku založil v roku 2013 ako reakciu na odmietanie jeho fotografií klasickými platenými fotobankami z dôvodu nedostatočnej kvality. Doteraz z nej bolo stiahnutých používateľmi niekoľko miliónov obrázkov. CANVA Pri slove Photoshop chytáš paniku a srdce ti začína divoko biť? Pokiaľ si naň netrúfaš a máš mať z neho nočné mory, použi bezplatný servis, ktorý ponúka CANVA - je jednoduchá, rýchla a efektívna. Dokážeš v nej tvoriť kopec ilustračných obrázkov, ponúka množstvo voľných obrázkov a grafík. Stačí sa len zaregistrovať prostredníctvom mailu alebo Facebooku a ideš na to! Na začiatok ti úplne postačí. Ďalšie free databázyhttps://morguefile.com/ https://www.sitebuilderreport.com/stock-up http://www.rgbstock.com/ https://stocksnap.io/ + ďalšie desiatky zdrojov, ktoré na internete existujú. Tip: s CC Search dokážeš vyhľadávať obrázky podľa zvolenej licencie cez externé služby, ako napr. Flicke alebo Google Images. CENNÁ RADA NAD ZLATO Spomínané databázy ti môžu zjednodušiť tvoju prácu, nezabudni si však pozorne prečítať pravidlá, môžeš sa tak vyhnúť mnohým problémom – tu určite platí: Dvakrát pozri, prever a raz stiahni! A čo sa týka pravidiel, ktoré by sa nikdy nemali porušiť – takéto fotky určite ďalej nepoužívaj na ďalší predaj, prípadne si nimi neplň svoju online databázu. Mysli na zdroj! Aj keď sú obrázky z free databáz úžasným pomocníkom, treba si vždy pozrieť a prečítať podmienky používania a licenciu danej fotobanky. Každá ich môže mať iné, môže ich priebežne meniť a podobne. Niektoré databázy zvyknú žiadať o uverejnenie spätného odkazu, odkiaľ si fotku čerpal. Čiže vždy si pre istotu prever, ako je to s licenciou, a nezabudni zdrojovať, zdrojovať, zdrojovať. Zlaté pravidlo, ktoré slúži ku cti :) Používaš fotobanky alebo obrázky zadarmo? Svoje prípadné ďalšie tipy na stránky s free fotkami napíš do komentára, radi rozšírime náš zoznam. Online vzdelávanie a vzdelávacie kurzy často poskytujú potrebné informácie o legálnom používaní digitálnych zdrojov a môžu ti pomôcť získať zručnosti na správnu správu a používanie obrazového obsahu pre tvoje projekty.
16 Photoshop pluginov, ktoré ti zjednodušia život
Tipy a triky
13.01.2017
Skillmea

16 Photoshop pluginov, ktoré ti zjednodušia život

Áno, každý z nás chce ušetriť čas a platí to aj pri Photoshope. Preto existujú pluginy. Teda akési rozšírenia, vďaka ktorým ušetríš kopu času. Určite zvládneš pracovať aj bez pluginov, ale bude to pracnejšie. Už ako názov hovorí: plug (vložiť) - in (do niečoho). Dobre, stačí slovíčkarenia. Jedná sa o rozšírenie do aplikácie. Tí počítačovo zdatnejší poznajú, ako sa kedysi inštalovali také pluginy, kde ste museli nájsť správny priečinok, rozbaliť obsah zazipovaného súboru, prekopírovať to tam, reštartovať Photoshop a bolo to. Teraz to je o troška jednoduchšie. Existuje aplikácia Adobe Extension Manager (je zadarmo), vďaka ktorej dokážeš vyhľadávať pluginy každého druhu a každej chuti pre rôzne aplikácie – samozrejme od Adobe 😊 Stačí zadať kľúčové slovo, čo chceš aby plugin vyriešil za teba a vybehne ti niekoľko príkladov pluginov, ktoré si jednoducho nainštaluješ a máš to v aplikácii. Nemusíš používať Adobe Extension Manager. Tiež môžeš ísť na oficiálnu stránku tvorcu pluginu a odtadiaľ si stiahnuť tento plugin a nainštalovať – ale pozor: platí, že plugin by sa mal vedieť „nainštalovať sám“. Adobe Photoshop CC 2017 obmedzil inštaláciu pluginov „piate cez deviate“. Alebo to už bol CC 2015? Doba sa mení. Všetko, čo má príponu XZP (teda pluginové balíky) by sa malo inštalovať prostredníctvom Adobe Extension Manager. Dosť rozprávania. Prejdime k tomu dôležitejšiemu. Ktoré sú to najpoužívanejšie pluginy ktoré ti ušetria čas? A sú teda aj bezplatné 😊 Môže ich byť viac alebo menej, ale toto sú jedny z najobľúbenejších: Google Nik CollectionToto neber doslova. Je to Photoshop od Googlu. Vďaka tomuto pluginu dokážeš odstrániť noise (šum) z fotografie, vieš sa pohrať s tonalitou obrázkov alebo zvoliť rôzne prednastavené filtre aby tvoje fotky vyzerali ešte lepšie. Layers ControlVeľmi užitočný nástroj, vďaka ktorému si zachováš poriadok vo svojich vrstvách. Skontroluje a odstráni prázdne vrstvy, rýchlo premenuje vrstvy alebo prekonvertuje vrstvu na Smart Object. Sú to banálne veci? Môžu byť, ale pri pravidelných úpravách vrstiev si tento plugin zamiluješ. VelositeyTaktiež veľmi užitočný plugin pre dizajnerov. Pomocou neho dokážeš navrhnúť design stránky za „pár“ sekúnd. Cut and slice meZabudni na stratený čas pri nastavovaní rozmerov na obrázku. Tento plugin má uložených mnoho rozmerov, ktoré určite využiješ. Size MarksUž si potreboval zistiť medzeru medzi dvoma elementami? Ako si to skúšal? Existujú krkolomné spôsoby, ale víťazom sa stáva... Shadow generatorPoznáš flat design? Je to celkom populárne. Hlavne keď sa rozmáha minimalizmus. Long shadows, teda dlhé tiene sú neodmysliteľnou súčasťou flat designu. ComposerPotrebuješ vykonať jednu zmenu na 15 vrstvách? Jedna zmena na prvej vrstve, druhá zmena na druhej vrstve, tretia zmena a prejde aj pol hodina 😁  Vykonaj kľudne zmenu aj na 100 vrstvách pomocou pár klikov. Harry’s filterKto vie kto bol ten Harry, ale musel to byť niekto šikovný keď bol po ňom pomenovaný tento plugin. V ňom nájdeš desiatky prednastavených efektov ktoré sú pripravené na použitie. DupplicatorJednoducho .. kopíruj vrstvy toľko krát, koľko bude potrebné. Už sme spomenuli niekoľko pluginov na prácu s vrstvami. Tak hádam si vyberieš jeden z nich. Výborné pluginy, ale platené: WebZapDesignuj weby jak páááán. Tento plugin ti v tom pomôže. RenamyMôžeš, nemusíš použiť, tentokrát zvládneš premenovať aj 100 vrstiev naraz. PSD CleanerPriznajme si to, sme trošku bordelári. Tento plugin nám pomôže udržiavať naše PSDčko čisté a prehľadné. Napríklad odstráni nepotrebné alebo nepoužité vrstvy. CSS HatPre front-end kóderov to môže byť alfa a omega. Všetko, čo vytvoria vo Photoshope vedia skonvertovať do CSS3. Retouching panelŽe profesionálna retuš je ťažká na naučenie? Nemusí to tak byť vždy. FlaticonA sme zase pri flat designe. Bohatá databáza ikoniek, ktoré využijete pri nejednej infografike. Super SprayŽe Photoshop má málo prednastavených brushov? Nevadí, rozšír si kolekciu brushov. S týmito brushmi môžeš doslova kresliť čokoľvek. DOSLOVA! Možno si povieš, že celkom slušná pálka za takéto pluginy, ale keď to využiješ a zarobí ti to, prečo to nevyužiť? Takto to platí aj pre online kurzy o Photoshope. Investovaný čas do týchto kurzov sa môže premeniť napríklad v sľubnú prácu grafika. Toto bol zoznam obľúbenejších pluginov. Poznáš iné, ktoré sú tiež v niečom užitočné? Podeľ sa o ne v komentároch.
Najpoužívanejšie klávesové skratky v Adobe Photoshop
Tipy a triky
02.01.2017
Skillmea

Najpoužívanejšie klávesové skratky v Adobe Photoshop

Človek je tvor lenivý, resp. tvor vynaliezavý a ešte aj v počítačovej ére sa vynašiel a zaviedol klávesové skratky. Ale musí sa uznať, že klávesové skratky dokážu ušetriť naozaj veľa času. Ľudia, ktorí ovládajú klávesové skratky v programoch sa nazývajú PC ninjovia :) Určite budeš potrebovať veľké odhodlanie a dávku trpezlivosti, aby si sa stal takýmto machrom, ale výsledok stojí za to. Ušetríš veľké množstvo času, ktoré by si inak stratil pri rozklikávaní jednotlivých záložiek a hľadaní konkrétnych príkazov ... a určite ohúriš kolegov alebo kamošov, keď uvidia čo dokážu tvoje prsty na klávesnici.[Image] Chceš sa stať PC ninjom vo Photoshope? Pripravili sme pre teba zoznam 26 najpoužívanejších skratiek vo Photoshope, veríme, že ti pomôžu a využiješ ich. Aaaa pozor, aby sa ti nezaplietli prsty z tých klávesovych kombinácii :) [Image] Zoznam najpoužívanejších klávesových skratiek vo Photoshope PDF verziu tejto infografiky s klávesovými skratkami si môžeš stiahnuť odtiaľto. UPDATE 10.1.2017: pribudol videotutoriál, ktorý ťa prevedie tvorbou infografiky. Sleduj video, skúšaj a vyrob svoju vlastnú grafiku: Poznáš aj iné klávesové skratky, ktoré zjendodušujú prácu? Podeľ sa a napíš ich do komentu dole. Mimochodom, páči sa ti táto infografika? Je to moderný spôsob podávania informácii v dnešnej počítačovej ére. Určite by sa to zišlo aj tebe. Nauč sa ako vytvoriť takúto infografiku v našom kurze Visual Design Digital: úprava fotiek vo Photoshope, kde si ukážeme ako sa vytvorí takáto infografika krok po kroku. Tiež si vysvetlíme technické predpoklady, ktoré by mala spĺňať vytvorená infografika. Určite to bude stáť za to ;)
Ako sa stať iOS vývojárom
Tipy a triky
03.10.2016
Skillmea

Ako sa stať iOS vývojárom

Zrejme uvažuješ nad tým, že sa staneš vývojárom pre platformu iOS. Budeš mať blízko aj k programovaniu pre tvOS (Apple TV), watchOS (Apple Watch), macOS (stolové a prenosné počítače) a možno v budúcnosti carOS, … Tentoraz sa pozrieme na to, čo všetko potrebuješ k tomu, aby si sa stal iOS vývojárom buď na voľnej nohe alebo ako zamestnanec. Skúsim to ozrejmiť z pohľadu, ako to riešime my v become.sk. Pokojne sa mi ozvi pre bližšie informácie, určite ťa odkážem na Swiftológa, online kurz iOS programovania, ktorý prebieha formou náučných videí. V tomto kurze získaš základný prehľad jazyka Swift a vyskúšaš si v ňom urobiť (zatiaľ) jednu vzorovú aplikáciu. Čo potom? Povieš si, veď to všetko stojí peniaze. No áno, no stojí. Treba si uvedomiť, že vo všetkom je ľudská energia a čas. Platí sa zaň. Ak existujú veci zadarmo, tak tie zaplatil niekto iný miesto teba, za čo môžeme v podstate všetci ďakovať. No dobre, dosť bolo moralizovania, poďme si ukázať, čo všetko potrebuješ na to stať sa riadnym iOS programátorom, povedzme v priebehu roka. Hardvér a softvér – koľko ťa to bude stáťMožno už máš počítač s OS X, neskôr macOS. Ak nie, tak vedz, že potrebuješ práve ten. Ak nemáš, na tvojom mieste by som v závislosti na pomere cena/výkon volil iMac 21,5“. Tento odkaz nie je reklama, uvádzam ho na Traco čisto dobrovoľne :-). Taký iMac kúpiš za cca 1200€ a vyššie. Ak chceš lacnejší stolový počítač, tak budeš musieť siahnuť po Mac Mini, trochu mu budeš musieť rozšíriť RAM (cca 100€), dokúpiť displej aspoň za 300€, dokúpiť Apple klávesnicu (120€) a myš (86€) alebo Trackpad (144€). Táto možnosť dohromady vychádza cca. 1200€, čiže rovnako, ako komplexný iMac, kde už máš všetko. Cenu vieš samozrejme zraziť cenou displeja. Zo skúsenosti však viem, že čím lepší displej, tým ľahšie sa bude aj tebe programovať. [Image] Rôzne typy Mac zariadení Ak chceš prenosný počítač, odporúčam MacBook Pro. Nový a najlacnejší 13“ kúpiš za 1450€. Občas sú aj výpredaje starších modelov, kde sa vieš cenou dostať na 1150€. Nad iným ako Pro ani neuvažuj, pretože MacBook ani MacBook Air sa na vývoj nehodí. Sú príliš nevýkonné na to, čo časom budeš potrebovať. Zo začiatku možno áno, ale o rok intenzívneho vývoja od tvojho začiatku isto nebudú stíhať. Ver mi. No dobre, a čo zariadenie, pre ktoré budeš vyvíjať? Máš iPhone (679€)? Máš iPad (369€)? A čo Apple TV (179€) alebo Apple Watch (349€)? Odporúčam začať s iPhone zariadením. Nielen, že budeš mať telefón, ale aj riadny systém iOS, ktorý ti umožňuje veľmi veľa, kým tvOS a watchOS sú do istej miery obmedzené. iPad je tiež v pohode, no neobsahuje niektoré dôležité súčiastky, ktoré obsahuje iPhone. Napr. si z neho nezavoláš cez operátora. Ono to ide pomocou Continuity, aj z Macu dnes už zavoláš, ale v zásade len keď máš iPhone. Keď to skúsim zhruba spočítať, tak na hardvér potrebuješ 2000€. Či je to veľa, či málo, je na tebe. Keď však budeš dobrý, vráti sa ti to niekoľkonásobne. Softvér ťa vyjde v podstate zadarmo. Čo ti stačí je vývojové prostredie Xcode, v ktorom budeš všetko programovať. Ak si schopný urobiť si aj grafiku, odporúčam Sketch, ktorý však stojí $99. Ak chceš kresliť rastrové obrázky, odporúčam Pixelmator za 29,99€. Ako príklad uvediem seba. Ja som si v roku 2010 kúpil iMac 27“ za 1600€ a mám ho dodnes. Raz som mu rozširoval RAM zo 4GB na 16GB. Vďaka nemu som začal programovať pre iOS. Úplnou náhodou, no to je iný príbeh. Začal som podľa knihy ešte v jazyku Objective-C, robil som vlastné appky, nejaké klientské, neskôr pracoval pre starbug, inloop a teraz vediem tím vývojárov mobilných appiek a školím/učím programovať pre iOS. Takže tých 1600€ sa mi vrátilo v priebehu 6 rokov dostatočne na to, aby som uživil rodinu, aby sme si mohli dovoliť kúpiť auto, … Na čo ešte čakáš? Licencia, živnosť alebo zamestnanieNepotrebuješ nič z toho. Ale ak uvažuješ nad serióznym vývojom, tak minimálne Apple licenciu za $99/rok potrebuješ. Tá ti umožňuje odosielať aplikácie do App Store, prípadne máš viac výhod spojených s dostupnosťou obsahu pre Apple vývojárov, ako i beta verzie nového softvéru na vývoj a máš šancu dostať sa na konferenciu WWDC poriadanú firmou Apple. Akonáhle však začneš peniaze zarábať, hoc aj jeden cent, potrebuješ ich priznať daňovému úradu. Ak táto suma je menšia ako nejaká hodnota, daň ani odvody neplatíš. Ak presiahneš istú sumu, už musíš platiť aj daň, odvody atď. Tam je už dobrá živnosť alebo sročka. Vo všetkom okolo daňových informácií ti poradí šikovný účtovník alebo účtovníčka. Ak nechceš mať tieto problémy, zamestnaj sa vo firme, ktorá vyvíja mobilné appky. Zarobíš stabilne. No aj tak, ak chceš predávať aj vlastné veci, platí vyššie spomínané. Všetky peniaze musíš priznať. Ak ti môžem ja poradiť: založ si živnosť a nájdi si stabilný príjem z vývoja (na voľnej nohe, zamestnanec, to je jedno). Budeš mať viac možností, viac voľnosti. Možno ťa to vyjde viac peňazí odvedených do štátnej kasy, ale tým sa netráp. Aj štát potrebuje na prevádzku isté peniaze rovnako, ako aj ty. Platí pravidlo: ak veľmi chceš, neriešiš prkotiny, ale podstatu toho, čo chceš. PraxPoznáš inzeráty typu: „hľadáme mladého flexibilného absolventa s praxou.“ Často však absolventi prax nemajú, lebo „vysoké školy nie sú učňovky,“ ako mi raz zahundral vedúci našej katedry informatiky. Asi sa urazil, keď som mu povedal, že mali by sme mať viac praktických skúseností, ako teórie. Ako to ale vyriešiť? Popri škole môžeš využiť rôzne školenia, kurzy, a keď sa bavíme o programovaní pre iOS, urob si na začiatku Swiftológa a potom sa prihlás k nám do become.sk, lebo sme vymysleli spôsob, ako získaš zadarmo prax ešte počas štúdia na škole a naučíš sa pri tom programovať. Zlepšíš sa a postupne začneš už aj zarábať na stále náročnejších projektoch. Niektorým z vás prešiel po chrbte mráz, keď som vyslovil „stále náročnejších“. No áno, programovať nie je jednoduché. Mozog ti bude na začiatku vytekať z hlavy a budeš hladný, no pokiaľ vydržíš, pozbieraš ovocie. Poradím ti: nechci zarobiť hneď na začiatku veľa peňazí. Nevyplatí sa ti to a nebudeš mať ani prax, ani peniaze. Buď ochotný dať istý čas svojmu vzdelaniu bez nároku na výplatu. Si ešte študent, máš zrejme rodičov, ktorí ti hradia štúdium. To je obrovská výhoda, ktorú je dobré využiť. Nepotrebuješ už vtedy zarábať ako Mark, Steve alebo Milan. Fakt nie :-). Alebo ak sa chceš stať programátorom popri práci, ktorú už nechceš robiť, tak v nej pokračuj, kým nezískaš skúsenosti v programovaní natoľko, že si môžeš dovoliť vziať platený projekt. Ono to začne. Príde jeden projekt za rok, na ďalší rok dva, potom štyri, osem, … a exponenciála rastie a prináša ovocie. Len vydrž a nechci všetko hneď. Lebo tak tento svet nefunguje. [Image] A zavri už ten článok o príbehu ďalšieho úspešného startupu, ktorý získal peniaze, no reálnu hodnotu nevytvára. Je to bublina. Prečítaj si radšej článok o tom, prečo zas ďalší (relatívne) úspešný projekt končí. Nechce sa ti to čítať? Prezradím ti podstatu: nezarábajú dosť peňazí na svoju prevádzku. Zabudni na miliónový startup, urob niečo užitočné pre seba a svoje okolie a možno budeš mať šťastie a zarobíš na tom. Potom sa bude o tebe písať, no ty budeš vedieť, že úspech neprichádza cez noc, ale po rokoch driny a odriekania. Dosť bolo mudrovania, uvediem ti teraz niekoľko zdrojov, z ktorých môžeš čerpať pri svojom vzdelávaní. Vzdelávacie programy  Apple ponúka osnovu a materiály vzdelávacieho programu programovania v jazyku Swift. Ono to je veľa materiálu, no bez edukačnej teórie, samotný materiál nevzdeláva, nie je tam žiadna príručka, nie je to náhrada kurzov. Je určený učiteľom, ktorí chcú niekoho učiť programovať. Podľa neho idem individuálne učiť jedného človeka, ktorý sa chce naučiť od nuly programovať a hneď ide skočiť na jazyk Swift a Apple platformu. Aby som to uviedol na pravú mieru, ten človek prešiel dennými kurzami s viac účastníkmi i online kurzami, no zistil, že jemu vyhovuje iné tempo a individuálny prístup. Potom tu máme online vzdelávacie kurzy, napr. Swiftológ od Learn2Code, ktorý som pripravil ja. Má dve časti, v prvej si prejdeš jazykom Swift, v tej druhej si naprogramuješ ukážkovú aplikáciu. Aby som bol kompletný, musím uviesť aj iné vzdelávacie inštitúcie, ktoré ponúkajú online kurzy programovania pre iOS. Coursera ponúka kurzy vývoja pre iOS, ich nevýhodou i výhodou v našich končinách je anglický jazyk. Takto v teréne sa ho naučíš najlepšie. Niektoré kurzy sú platené, iné zadarmo. Stačí si vybrať a študovať. Potom tu je EdX, ale o iOS je tam toho podstatne menej. Tutoriály  Niekedy si povieš, že ideš si sám alebo sama skúšať postupy, ktoré niekto dal dohromady. Ako vytvoriť hru, ako urobiť aplikáciu podobnú instagramu, atď. Tieto návody sú peknou ilustráciou toho, ako veci na pozadí aplikácií fungujú. Ak chceš vyskúšať skutočne dobré tutoriály, zájdi na RayWenderlich.com a niečo pohľadaj. Tutoriálov sú tam stovky, od programovania jednoduchej „Hello World“ appky, cez programovanie serverovej časti pre podporu aplikácie až po Apple Watch alebo Apple TV. Vybrať si môžeš, väčina z nich je zadarmo, inak ponúkajú ucelené knihy plné návodov, aj takých, čo sa na web nevošli. Možno časom narazíš aj na iný web venujúci sa návodom, tento je však jeden z najlepších. Fórum  Občas sa stane, že sa potrebuješ opýtať, ako vyriešiť „neriešiteľný“ problém, no zo začiatku nepoznáš nikoho znalého, lepšieho ako ty, kto by ti poradil. Preto zájdi na StackOverflow a opýtaj sa tam. Ich premakaný systém hodnotenia otázok a odpovedí dáva tomuto fóru jedinečnosť v tom, že určite vieš na prvý pohľad zistiť, ktorá odpoveď je vhodná pre tvoj problém. Oni totiž implementovali premyslenú gamifikáciu, ktorá vo svojej podstate stojí na kladení otázok, ich odpovedaní, editácii a hodnotení. Na tomto základe získavaš hodnosti a reputáciu na fóre. Ono to funguje výborne, lebo každého človeka to udržiava v aktivite. Celé fórum je v angličtine, samozrejme. Znovu platí, pokiaľ pretrpíš začiatky, že angličtine nerozumieš, tak neskôr porozumieš. A bude to dobré. Ako porozumieť angličtineUž som čosi naznačil skôr v článku. Sú štyri oblasti angličtiny (aj iných jazykov), ktoré je dobré trénovať: 1. Posluch 2. Čítanie  3. Rozprávanie  4. Písanie  [Image] Posluch si trénuj tak, že budeš audiovizuálny obsah sledovať výlučne v angličtine, aj keď tomu nebudeš hneď rozumieť. Slovíčka a frázy sa zvyknú opakovať a ty postupne pochopíš kontext vysloveného. Čítanie trénuj dobrým čítaním. Nielen tutoriálov a dokumentácie, ale aj článkov na blogoch a magazínoch, rôzne fóra. Tak sa naučíš, ako sa skladajú vety, aj keď mnohokrát sa môžu vyskytnúť chyby. Nič si z toho nerob, postupne ich budeš vedieť odhaliť. Buď sám, alebo s trochou pomoci zbehlejšieho prekladateľa. Rozprávanie trénuj rozprávaním :-) Zapni Siri a niečo jej povedz… každý deň :-). To by bol začiatok. Potom nájdi človeka, s kým sa môžeš porozprávať v angličtine. Ideálne zo zahraničia cez Skype. Alebo vycestuj do zahraničia a skús sa niečo opýtať. Napríklad skús MyEnglishTeacher.eu, speaking24.com alebo si pozri zoznam ďalších. Pri troche snahy sa dá takýchto zdrojov nájsť kvantum, over si, ktorý ti vyhovuje a choď na to. Písanie sa zvezie popri troch vyššie spomínaných aktivitách. Totiž musíš vedieť napísať, čo hľadáš, napíšeš nejaký komentár pod prečítané alebo svoj vlastný názor na Facebook, či Medium. Tak isto si dohodneš rozhovor s človekom zo zahraničia cez email, kde musíš písať taktiež. Pri všetkých aktivitách sa neboj robiť chyby. Pár ľudí ťa zdrbe za to, že si vôbec dovoľuješ s takou angličtinou niečo prezentovať. Lenže to je presne ten správny moment, kedy sa naučíš niečo nové. Opýtaj sa tých ľudí na to, ako by znenie zmenili a určite ti poradia. Tvoja cenaNebuď hlúpy a nepýtaj veľa. Si junior, začiatočník alebo veľmi mierne a vlažne pokročilý, no ešte stále sa máš čo ušiť. Ako to viem? No lebo čítaš tento článok, si jeho cieľovka. Aj profík to musí, ale na inej úrovni. Nastav si cenu na začiatku napr. na interval 0€ – 5€/hod. Teraz si to v hlave prerátaš, zistíš, že za mesiac (160 hodín) by si zarobil 800€ a za rok 9600€. Z toho odviesť ešte daň, odvody a ostane ti polovica. Tvoja predstava však bola aspoň dvoj až trojnásobná. No povedzme si pravdu, že aby si fakt mohol zarábať 20000€ ročne a viac, potrebuješ si toho dosť veľa odprogramovať, aby si appku nerealizoval dva mesiace, ale dva týždne. Vieš, toho, čo ti bude dávať peniaze tiež niečo stojíš a dobre si rozmyslí, či sa mu oplatí zaplatiť profíka na málo hodín alebo začiatočníka na veľa hodín. V konečnom dôsledku ho to finančne vyjde rovnako, no rýchlejšia realizácia = viac zrealizovaných projektov a viac financií na účte. [Image] S cenou to je ako so stromom. Teraz sa asi učíš programovať, si na začiatku, tak to ber, že si zasadil semiačko jablone. Začínaš rásť, ako rastie malý výhonok, no od toho výhonku ešte nežiadaš, aby ti dal jablká. Sám vieš, že dospelou jabloňou ešte nie je. Stačilo by, keby prišla myš, obhrýzla korienok a všetko je v prdeli. Ty si tiež ten výhonok, a keď sa budeš snažiť zarobiť čo najviac, nič z toho nebude, lebo nik ti to nedá. Pýtaj si vodu, ktorou cháp projekty, ktoré budeš robiť hoc aj zadarmo. Zo začiatku. Na nich sa naučíš komunikovať, projektový manažment, osobný časový manažment, plánovať a v neposlednom rade aj programovať. Ani sa nenazdáš a o pár mesiacov budeš na úrovni, kedy už budeš aj čo-to zarábať. ZáveromPrestaň teraz čítať, prejdi Swiftológa, otvor Xcode a urob niečo. Prípadne sa mi ozvi ;-) a potom si daj Swiftológa. Autorom blogu je Peter Druska, ktorý je lektorom online kurzu programovania iOS aplikácií Swiftológ. Zaujíma ťa programovanie alebo dizajnovanie? Vyber si niektorý z našich ďalších online a prezenčných kurzov pre začiatočníkov a mierne pokročilých na https://skillmea.sk.
Prečo sa venovať programovaniu pre iOS?
Tipy a triky
11.08.2016
Skillmea

Prečo sa venovať programovaniu pre iOS?

Mnoho ľudí dnes uvažuje nad tým, že začne programovať mobilné aplikácie. Je to v móde, trendové a roboty je stále dosť. Navyše predstava je taká, že človek hneď začne zarábať veľké peniaze, že o rok bude doma Teslu nabíjať. Pravda však nie je taká ružová, ako sa na prvý pohľad zdá. Nechcem nikoho od programovania pre iOS, tobôž všeobecne, odrádzať, skôr naopak. Ja budem rád, keď sa programovaniu budeš venovať. Tak prečo ten oxymoron? Na jednej strane hovorím, že pravda o predstavách nie je taká ružová, ako sa zdá, no na druhej strane chcem, aby si do toho šiel. Je to ako so všetkým v živote. Ak sa niečomu venuješ neustále, naplno a s chuťou, tak vždy dosiahneš výsledky. Vždy! Ešte raz to zopakujem: vždy. Zniem už možno ako akýsi motivačný spisovateľ, no ja ťa chcem motivovať. Ale chcem ti ukázať aj druhú stránku mince. Začnime príbehmi o úspechoch. Moja rada znie: nečítaj ich. Šok? Radšej si prečítaj príbehy o tom, ako niekto zlyhal. Jáj, také sa nedajú moc prečítať, nik sa nechce chváliť tým, v čom neuspel. Vec sa má tak, že príbeh o úspešnom projekte sa dobre číta v priebehu 30 minút, za ktoré sa dokážeš namotivovať, že aj tvoj nápad je tak jedinečný a bude určite úspešný. Že je to tak? Ak sa mýlim, zavri tento článok a napíš mi :-). Platí pravidlo, že každý úspešný produkt, každá úspešná služba alebo firma je budovaná dlhé roky. Vychádza práve z mnohých neúspechov, ktoré ozrejmia, ako veci urobiť lepše v budúcom pokuse. A keď ľudia okolo produktu/služby/firmy vydržia dosť dlho, jeden z tých pokusov vyjde a stane sa úspešným. Tak je to. Je to na prvý pohľad jednoduché, no trvá to dlho. Zapamätaj si, že neexistuje úspech, ktorý sa udeje cez noc. A programovať sa nenaučíš za pár dní. Chce to veľa odriekana, driny a potenia krvi. Tvoj mozog sa bude točiť na plné obrátky a ty nebudeš chápať, čo to od teba ten program vlastne chce. Budeš si trhať vlasy, radšej budeš hladný, len aby si vyriešil alebo vyriešila problém, ktorý pred tebou už niekoľko dní visí. Prebdieš mnohé noci, s priateľmi sa budeš rozprávať len na autopilota, lebo v hlave ti pôjdu logické obvody, ktoré si naštartoval na plné obrázky. Tie ťa tak veľmi zamestnajú, že čoskoro budeš vylúčený z partie, v ktorej si bol možno alfa samcom. Budeš sa meniť, nebudeš sa vedieť smiať ich humoru, bude to ťažké. To je ten lepší prípad. Môže sa ti stať, že ťa budú mať za divného, čudáka, ktorý robí niečo, čo nedáva na prvý pohľad zmysel. Z krátkodobého pohľadu určite nie. No z dlhodobého pohľadu získaš ďalšiu superschopnosť, pri ktorej používaní nebudeš musieť nosiť krikľavé elasťáky, navliekať sa do nepohodlnej masky a zachraňovať sociálne slabších jedincov. Svet budeš zachraňovať inak, z úzadia, z pohodlia domova či pri starostlivosti o svoje deti. Sedíš pohodlne? Lebo teraz vymenujem výhody, ktoré ti programovanie určite prinesie. Naučíš sa angličtinuTreba si uvedomiť, že svet je dnes viac a užšie prepojený, ako kedysi. Poznať len slovenčinu je málo. Áno, biznis sa dá robiť aj tu, lokálne, no ak chceš ísť do sveta, ak chceš, aby ťa poznali aj v iných lokalitách, angličtina je základ. Ak ju nevieš, nevadí. Do všetkého sa dostaneš postupne. Pozeraj filmy, seriály a youtube videá výhradne v angličtine. Niečo z hovoreného slova pochytíš. Čítaj články v angličtine, ideálne http://medium.com, kde je mnoho zaujímavých názorov, hovorová angličtina, jednoduchšia, ťažšia, rôznorodá. Ozvi sa niekomu anglicky hovoriacemu cez Facebook, Twitter… daj si s niekým skype. Prihlás sa do nejakého online kurzu cez www.edx.org, alebo iné. Dnes už nemusíš cestovať do inej krajiny, aby si sa naučil angličtinu. Naučíš sa programovaťOkrem iného :-). Programovnie nie je jediná oblasť v spoločnosti, ktorá sa dá robiť. Je toho veľa. Vymenovávať to nejdem. V zásade dnes si vieš zarábať nahrávaním YouTube videí, hraním alebo testovaním hier, kreslením, upratovaním, staraním sa o deti alebo programovaním. Je predpoklad, keď čítaš tento článok, že sa chceš venovať programovaniu. Vedieť programovací jazyk znamená vedieť, ako funguje tento svet. Zdá sa to divné, no celý náš život sú algoritmy, predpísané pravidlá, podmienky, cykly, triedy, polia, objekty. Presne to popisuje aj väčšina dnešných programovacích jazykov. [Image] Naučíš sa logicky myslieťBez logiky sa nepohneš. Bez logiky uveríš ľuďom a politikom, ktorí klamú. S chápaním výrokovej logiky a boolovskej algebry budeš poznať mocný nástroj na odhalenie poloprávd, lží a zavádzaní. Bude to ale trvať dlho. Naučíš sa komunikovať v tímeBudeš zrejme na Slacku (alebo inom IM) v kontakte s ľuďmi v tíme. Nebudeš len ticho sedieť a robiť si svoju prácu. Budeš argumentovať, obhajovať svoje postoje, návrhy, prijímať zmenové požiadavky, reagovať na ne. Budeš dávať vedieť o tom, kto si, čo robíš, prečo to robíš, ako to robíš. Zrejme budeš mať niekoho, ktorí robí pre druhú platformu, v našom prípade Android, s ktorým budeš komunikovať návrh databázy, API, grafiky, … Budeš komunikovať s grafikom, grafičkou, ilustrátorom, obchodníčkou, … Bez komunikácie ani na krok. [Image] Budeš prispievať vecami zadarmo do komunityPriprav sa na to, že v záujme tvojho rastu budeš robiť veci zadarmo. Normálne, že nik ti za ne nezaplatí a sám ich dáš von. Napríklad na GitHub.com. Ak chceš, aby ľudia o tebe vedeli a prípadne ti pomohli, musíš aj ty pomôcť im. Je to vzájomné a lepšie sa ti potom bude dýchať. Nie je to podmienka, nemusíš nič uverejniť, nikomu pomôcť. Ber to ako odporúčanie, ako vyrásť, ako získať konštruktívnu kritiku na svoju prácu a tak sa zlepšiť. Budeš pomáhať iným ľuďomStačí, že sa staneš trochu známym, ľudia ti budú písať, aby si im s niečím pomohol. Buď poradiť, alebo vysvetliť, nebodaj dokonca naučiť. Priprav sa na to, lebo to ťa čaká. Zase sme pri komunikácii, no táto je už na inej úrovni. Nezabudni však reálne ohodnotiť svoje schopnosti a sľúbiť len to, čo vieš dať. Inak môžeš veľmi rýchlo vyhasnúť, čo by malo za následok, že by si prestal/a s programovaním. Naučíš sa osobný time managementNie je nič horšie, ako čakať od druhých ľudí, že ti pripravia program dňa, týždňa, mesiaca. Nie. Dnes musíš ty rozmýšľať, ako, kedy, a čo urobíš. Dostaneš projekt, v lepšom prípade si termín určíš ty, v tom horšom ho dostaneš a tvojou úlohou bude projekt si naplánovať tak, aby si ho stihol. Úlohu po úlohe, kúsok po kúsku. Tieto úlohy bude sledovať ešte niekoľko párov iných očí ľudí v tíme. Tie oči majú za sebou mozog, ktorý sa ťa bude pýtať, čo robíš, kedy chceš dokončiť väčšie celky a podobne. Častokrát to budú nepríjemné otázky, pretože sám vnútorne vieš, že niečo nevieš, no bojíš sa to povedať. Spoznáš nových ľudíSi píš. Aj keby si mal naučený strach z ľudí, tomuto sa nevyhneš. Skôr či neskôr príde za tebou neznámy kolega a bude niečo strašné chcieť. Možno mu na začiatku nebudeš rozumieť, no naučíš sa jeho jazyku rozumieť. Ak niečo nebude jasné, smelo sa pýtaj, klaď aj hlúpe a trápne otázky, iba tak sa posunieš a naučíš to, čo je treba. Každý nový človek v živote človeka prináša obohatenie, konfrontáciu s novými a odlišnými názormi, iný pohľad na tú istú vec. Oboch vás to obohatí. PeniazeSamozrejme, programovanie pre iOS prináša aj peniaze. Kto by to bol býval čakal, všakže? Nečakaj však hneď plat ako čítaš v motivačných článkoch. O rok nebudeš mať Teslu v garáži, ani najnovšiu techniku od Apple. Budeš stále fičať na tom, čo máš, v garáži okrem bicykla bude ojazdené auto. Skôr buď zdravo sebavedomý, predaj sa, no nepýtaj prehnané sumy. Ono to ovocie (rozumej peniaze) príde akosi samé. A potom aj tú Teslu budeš doma nabíjať. [Image] Tak je to so životom programátora pre iOS. Sú lepšie dni, sú dni, kedy to budeš chcieť zavesiť na klinec. (Alebo na GitHub?) No tak to býva všade v živote. Len rob to, čo ťa baví, napĺňa a obohacuje osobnostne i finančne. Niekedy nemusíš mať mega prachov, aby si bol šťastný alebo šťastnou. Možno menej peňazí vymeníš za väčšiu slobodu v práci, za flexibilitu pracovného času, za čas strávený s rodinou. Určenie priorít je už na tebe. Veľa šťastia :) Autorom blogu je Peter Druska, ktorý je lektorom online kurzu programovania iOS aplikácií Swiftológ. Zaujíma ťa programovanie alebo dizajnovanie? Vyber si niektorý z našich ďalších online a prezenčných kurzov pre začiatočníkov a mierne pokročilých na https://skillmea.sk.
Tajné tipy, triky a nástroje všetkých dobrých web developerov
Tipy a triky
10.12.2015
Skillmea

Tajné tipy, triky a nástroje všetkých dobrých web developerov

Chrome, Sublime text, WordPress a MAMP či WAMP už poznáte. Tu sú ďalšie vynikajúce zdroje, ktoré vás posunú o level vyššie. Zoznam nie je ani zďaleka kompletný, no priebežne bude dopĺňaný. Ak máte nejaké dobré nápady, pokojne napíšte do komentárov alebo dajte pull request.[Image] Šablóny• themeforest.com - platené, no veľmi dobré • html5up.net - pekné čisté HTML5 šablóny zdarma Fotky• unsplash.com • compfight.com • Canva • Pixlr • Pixabay Práca a kolaborácia• Atom alternatíva k Sublime Text - postavené na webových technológiách, žerie viac pamäte • GitHub (alebo aj BitBucket) + napr. SourceTree alebo GitHub Desktop alebo git v príkazovom riadku • Trello - kolaborácia, plánovanie a organizácia projektov • Toggle - trackovanie času, reporting • Slack - komunikačný nástroj pre teamy • SuperFaktúra - aj fakturovať treba • Coffitivity - príjemný hluk kaviarne, ak máte doma príliš ticho - výskum potvrdzuje • Bonus: vim - ak ste veľký frajeri a Atom sa vám zdá príliš farebný Tutoriály a vzdelávanieVáš najlepší kamarát: YouTube Online univerzitné kurzy zdarma: • Coursera Platené, miestami free trial: • webrebel - slovenské video tutoriály (HTML, CSS, JavaScript, PHP, MySQL, Laravel)! • treehouse • lynda Prednášky z WebExpo 2015 Články a blogy: • CSS Tricks • Code guide by @mdo Knihy zdarma: • eloquent javascript • Getting Real by 37 Signals / Basecamp • Playbook a Guides by Thoughbot UX• Julesove UXthis! • GoodUI • Kniha musí byť: Don't Make Me Think od Steve Krug Hosting• DigitalOcean • Na menšie veci a registráciu domén: WebSupport Čo sa ďalej naučiť• SASS • viac Javascriptu • Foundation namiesto Bootstrap • Gulp/Grunt • Bower • Node.js - hlavne kvôli npm • Markdown - zjednodušený formátovací jazyk, v ktorom je písaný tento dokument Bonus a špeciality• CSS vtipy Moje obľúbené podcasty• StartUp • The Complete Guide To Everything • Beyond the To Do List • Question of the Day • Accidental Creative • The EntreLeadership Podcast • Bizcraft - tento je naozaj o weboch a spol. • The Tim Ferriss Show nemôžem vynechať Tak trochu v tejto kategórii osobného rozvoja a udržania duševného zdravia: • Spotify • Audible Autorom tohto blog postu je Matúš Marcin, lektor kurzu webdesignu v Košiciach, ktorý sa webdevelopmentu venuje už takmer dekádu. Ak máte nejaké otázky, alebo chcete doplniť tento zoznam, napíšte nám komentár.
8 známych webov vytvorených v PHP
Tipy a triky
12.10.2015
Skillmea

8 známych webov vytvorených v PHP

PHP je to open source skriptovací jazyk a používa sa najmä na programovanie klient-server aplikácií a pre vývoj dynamických webových stránok. Skratka PHP pôvodne znamenala Personal Home Page, dnes táto skratka znamená Hypertext Preprocessor. PHP možno používať aj na vývoj aplikáci s uživateľským rozhraním. Okrem iného PHP dokáže spolupracovať s relačnými databázami, pričom zachováva jednoduchú a priamočiaru syntax. Pozrite si zoznam najznámejšich webov vytvorených v PHP:  Facebook [Image] Wordpress [Image] Fickr [Image] Yahoo [Image] iStock [Image] Digg [Image] Wikipedia [Image] LiveBid Auction [Image] Chceš sa naučiť tvoriť weby v PHP a jeho populárnom frameworku Laravel? Choď na webrebel.sk a my ťa to naučíme. Pridaj sa k nám aj ty, nauč sa programovať a možno o pár rokov už budeme písať o tebe! ;)