16. října 2014 22:40

67 dnů SuperMartase

Jaký byl srpen 2014 pro vás?
6/75%Dobrý
8Hlasovalo
Jaké bylo září 2014 pro vás?
3/38%Dobré
8Hlasovalo

Po velmi dlouhé době je mi potěšením vás přivítat u dalšího článku ze série SuperMartasových měsíců. Ačkoliv je nadpis díky dlouhé pauze lehce odlišný, jedná stále o článek z této série. Už jsem myslel, že tento rok bude významný tím, že ani jeden článek o shrnutí měsíce nevynechám. Ale díky jednomu strašně hodnému (myšleno ironicky) člověku jsem absolutně neměl náladu na psaní článků. Já a Víčko s ním totiž už od začátku srpna řešíme problém, kdy nám tato osoba měla předat odměnu za placené programování. Bohužel se tak ale do dnešního dne nestalo, a pokud nám opět nelže, podle našich výpočtů dostaneme odměnu nejdříve někdy v listopadu. No nesralo by vás to? Navíc to nám oběma docela dost hodně komplikuje život. Nemůžeme kvůli tomu dělat věci, na které se už někdy od května tak strašně moc těšíme. Nejvíc mě asi štve, že jsme naprosto bezmocní. Nemůžeme po něm tu odměnu právně vymáhat, protože na to nemáme smlouvu. Nemůžeme proti tomu dělat zkrátka vůbec nic.

Z toho vyplývá poučení pro všechny z vás: Než začnete pro kohokoliv cokoliv dělat ať už za peněžní či věcnou odměnu, požadujte po něm smlouvu. Vyhnete se tak případným sporům, kdy vám daná osoba (včas) nevyplatí tuto odměnu.

Má tvorba

Za ty dva měsíce jsem s mou tvorbou moc nepokročil. Vydal jsem pouze betaverzi programu Tidiness, o kterém si můžete přečíst v minulém článku. V betaverzi ještě nejspíš pěknou dobu zůstane, kvůli zmíněné odměně ho do stabilního stádia zařadit nemohu.

Ve zbytku jsem (paradoxně) nechal 100 % času u (ne)placeného programování. Tentokrát už jsme si to ale lehce pojistili tím, že aplikaci vyvíjíme na našem serveru. Protože jsme ale do dalšího termínu zase nic nezískali, přestali jsme takto aktivně vyvíjet a nyní už děláme z 50 % pro sebe. V poslední době se však stalo několik událostí, díky kterým jsem ještě nezačal aktivně spolupracovat na jednom projektu s Víčkem. O dvou z nich vám nyní povím.

PhpStorm

PhpStorm jsem chtěl již velmi dlouhou dobu vyzkoušet kvůli jeho údajným skvělým funkcím. Odrazovala mě ovšem jeho poměrně vysoká cena. Přemýšlel jsem i o cracknutí, ale nakonec se to vyřešilo lépe, než jsem čekal. Společnost JetBrains asi před deseti dny spustila akci, ve které mají všichni studenti středních a vysokých škol všechny jejich produkty naprosto zdarma. Akce jsem samozřejmě hned využil (ačkoliv jsem měl původně v plánu ještě počkat) a opravdu toho nelituji. PhpStorm je totiž zatím nejlepší IDE, co jsem kdy používal, pro HTML, CSS, JavaScript, PHP a dokonce i MySQL.

Mezi jeho přední vlastnosti, které mi v předchozích editorech (Notepad++ a PSPad) chyběly a podařily se mi doposud odhalit, patří:

  • Vysoce inteligentní napovídání kódu srovnatelné s IntelliSense od Microsoftu ve Visual Studiu pro C#.
  • Bezkonkurenčně nejvíc možností pro nastavení stylu kódu (odsazení, kde bude jaká závorka či mezera, jak se bude co zalamovat apod.).
  • Synchronizace s FTP. Všechny změny jsou prováděny lokálně a nahrají se například až po explicitním zavolání (Ctrl + S) nebo minimalizaci programu.
  • Rozpoznávání konfliktů při uploadu na FTP a řešení sloučením. To se hodí, např. když s někým spolupracujete, on upraví kód, vy ho také upravíte, ale váš spolupracovník kód stihne nahrát na server dříve než vy. Pak to před uložením PhpStorm rozpozná a nabídne řešení sloučením souborů. Navíc má krásně zpracovaný slučovací nástroj.
  • Inspekce kódu. Ta například dokáže upozornit na nikde nedeklarovanou proměnnou, zapomenutý středník, dělení nulou, implicitně deklarovanou proměnnou v JavaScriptu apod. Navíc dokáže kód občas i zjednodušit, např.:
    if ($id)
      return $id;
    else
      return null;
    zjednoduší na:
    return $id ? $id : null;
    ačkoliv v tomto konkrétním případě by to šlo ještě jednodušeji:
    return $id ?: null;
  • Správa databáze (např. MySQL). Ta je stejně jako ostatní soubory stažena někam do lokálního úložiště a pak už se jen synchronizuje se serverem. Lze s ní provádět běžné úkony jako přidání, úprava a smazání řádku, sloupce, tabulky apod.
  • Zvýrazňování SQL dotazů. Taková blbost přitom to ani PSPad ani Notepad++ neuměli. PhpStorm by dokonce měl umět i napovídání sloupců a tabulek v SQL dotazech, ovšem zatím jsem to neměl možnost přímo vyzkoušet (z volání funkce jméno tabulky získat neumí), ale věřil bych tomu.
  • Refaktorizace kódu, z níž jsem zatím využil pouze přejmenování (nejčastěji proměnné) a musím říct, že funguje perfektně.
  • Integrovaný a úžasně rychlý (na rozdíl od Notepadu++, kde na chvíli zamrzl celý editor) nástroj Emmet. Tento nástroj slouží k rychlému generování HTML kódu pomocí zápisu podobnému tomu z CSS. Tento skromný kód:
    !>h1#nadpisHura{Třikrát hurá}+(hr+div.hip{Hip!}*2+div.hura{Hurá!})*3
    vygeneruje po stisknutí tabulátoru:
    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="UTF-8">
        <title>Document</title>
      </head>
      <body>
        <h1 id="nadpisHura">Třikrát hurá</h1>
        <hr />
        <div class="hip">Hip!</div>
        <div class="hip">Hip!</div>
        <div class="hura">Hurá!</div>
        <hr />
        <div class="hip">Hip!</div>
        <div class="hip">Hip!</div>
        <div class="hura">Hurá!</div>
        <hr />
        <div class="hip">Hip!</div>
        <div class="hip">Hip!</div>
        <div class="hura">Hurá!</div>
      </body>
    </html>
    A to není vše! Emmet má i zkratky pro CSS, takže například:
    p40-50
    vygeneruje opět po stisknutí tabulátoru:
    padding: 40px 50px;
  • Zobrazení struktury dokumentu, tedy přehledného seznamu funkcí (metod) a jejich parametrů a návratových hodnot, datových složek apod. To se hodí například při hledání některé funkce v cizím kódu nebo i ve vlastním rozsáhlém kódu.
  • Zobrazení celého kódu funkce či metody pomocí Ctrl a kliknutí na jméno funkce při jejím volání. Opět se to hodí především u cizího kódu, u kterého by bylo složité hledat, kde má daná funkce svou deklaraci. Taktéž se to dá udělat klávesovou zkratkou Ctrl + B.
  • Skvěle zpracované uživatelské prostředí po grafické stránce (především tedy téma Darcula). Parádně zpracované jsou jak ikonky, tak i celkový vzhled aplikace a dokonce i výchozí zvýrazňovač kódu. Ačkoliv tohle nepatří mezi ty nejdůležitější faktory kvalitního editoru, s hezčím prostředím se hned lépe pracuje. To se bohužel o Notepadu++ ani PSPadu říct nedá.
  • A spousta dalších skvělých nástrojů a funkcí...

To byl opravdu jen stručný výpis funkcí, které PhpStorm nabízí a se kterými mám nějakou zkušenost. Nemluvil jsem tak třeba, že aplikace dokáže asi i debugovat PHP (podobně jako třeba v C#), ale to jsem se zatím nepokoušel rozchodit.

Asi jedinou nevýhodou PhpStormu je, že zabírá ohromné množství paměti RAM (od nějakých 400 MB do klidně až 1.1 GB po delším běhu) a na pomalejších PC se může i sekat. Ale tyhle nevýhody naprosto převálcují bezkonkurenční vlastnosti popsané výše.

Nakonec přikládám screenshot ze stránek PhpStormu a krátké video shrnující novinky nejnovější verze 8.

PhpStorm 8

Linux

Psal se 18. duben a já se po tom, co si spolužák nainstaloval Ubuntu jako free náhradu za již nepodporovaný Windows XP, rozhodl také nějaký ten "pravý" Linux vyzkoušet. Stáhl jsem si VirtualBox jakožto free náhradu za virtualizační program VMWare, který používáme ve škole. Dále jsem si stáhl Ubuntu a už se instalovalo.

Tehdy jsem si Linux jen tak trošku vyzkoušel, ale na několik měsíců jsem ho nechal ležet ladem. Až nedávno, kdy si Víčko nainstaloval do dual bootu Fedoru. Po jeho skvělých zkušenostech s tímto systémem (viz mikroblog a článek o Víčkově začátku školy) jsem se rozhodl, že budu vyvíjet C++ aplikace na nějakém Linuxu a nainstaluji si Linux do dual bootu.

Jenže jak si mezi těmi mnoha distribucemi vybrat? Rozhodl jsem se to omezit jen na ty, které znám a jsou asi i nejznámější. Jsou jimi Debian, CentOS, Fedora, OpenSUSE a Ubuntu. Až na CentOS a OpenSUSE mám již všechny ostatní distribuce nainstalované. A jaký je zatím můj názor na tyto systémy? Zatím budu hodnotit pouze svižnost systému a grafické prostředí.

Když jsem zkoušel Debian čistě po instalaci, říkal jsem si, že je to docela líný systém. Později se však vše tak nějak ustálilo a systém je velmi svižný.

Fedora je asi nejpomalejší a nejzabugovanější systém ze všech tří testovaných. Jako jediný mi laguje kompletně celý systém. Navíc se tu graficky buguje i pohyb kurzoru. Anebo víte, jak se jmenuje můj monitor? (null) 0". Ale na pomalost Windows 10 to nemá. Ten je o mnoho více pomalý (alespoň při virtualizaci).

Snad jen o trochu rychlejší než Debian se mi zdá Ubuntu. Ale možná je to jen můj subjektivní pocit, testy to podložené nemám. Nejvíc se lagne asi při přihlašování, ale tak je to asi i u Debianu, akorát to není tolik vidět.

Na Debianu i Fedoře běží grafické rozhraní GNOME, proto to shrnu do jednoho odstavce, rozdíly jsou tam opravdu nepatrné. GNOME mě nějak zvlášť neoslovilo, grafika se mi nezdá příliš vydařená (i jednoduchá grafika Windows 8.1 se mi zdá hezčí). Jediné, co mě více zaujalo, je správa činností (to vlevo nahoře). To se mi vcelku líbí.

Oproti tomu Unity, tedy grafické rozhraní Ubuntu, se mi zdá mnohem hezčí ve všech směrech a zcela se mi líbí. K tomu všemu se přidávají nádherné efekty, prostě bomba. Na testování jsem neměl moc času, takže nevím, jak se kdy Unity chová, ale pokud nenarazím na hezčí prostředí, Unity bude jasná volba.

Na testování jsem si příliš času nenašel, ovšem zatím u mě vede Ubuntu. Snad se k tomu někdy pořádně dostanu, otestuji i CentOS a OpenSUSE a další grafická rozhraní a pak vám určitě přinesu nejspíš aktualizovaný názor.

Závěr

Fíha, to je ale dlouhý článek. Tak snad vám to aspoň trochu vynahradí tu dvouměsíční pauzu a já se na vás budu těšit u dalšího článku, který snad vyjde včas.

Hodnocení

Celkové hodnocení
6 hlasů
Vaše hodnocení
Vyberte počet hvězdiček

Komentáře

Jméno:
Předmět:
Komentář:
  :):-|:P:D;):(8)[evil][arrow][idea][?][!]
Kontrola:
Žádné komentáře.
© 2011 - 2017 SuperMartas a Tomáš Hypeš