Jak na SQL v kostce všechny užitečné materiály v jednom

Tenhle mikro článeček vznikl pro kolegy, které učím základy s MySQL

 

1) Výborný návod na základy s MySQL, tohle když projedete na nějakém nainstalovaném MySQL serveru, abyste si to mohli procvičit.

http://www.linuxsoft.cz/article.php?id_article=731
(pro případ nouze tento link)

2) Jak pochopit inner, outer, left a right joiny:

http://www.phpdeveloper.cz/prakticke-vyuziti-union-a-join-v-mysql/
(
pro případ nouze tento link )

3) Přehled datových typů v MySQL:

http://programujte.com/clanek/2007052903-prehled-datovych-typu-v-mysql/

(pro případ nouze tento link )

 

Postupně sem kdyžtak budu dál doplňovat užitečné odkazy, které si máte nastudovat. Ve své podstatě jde o to, že o MySQL už je všude článků dost, takže si myslím, že není nutné psát další články na totéž, když jich je všude po internetu tolik.

Černé video na facebooku, co s tím?

S tímto problémem se setkávám poměrně často. Máte video na facebooku a video je od začátku černé, musíte si ho přehrát znovu, aby se „vybarvilo“. V tomto příspěvku dávám řešení.

Pokud používáte jakýkoliv prohlížeč, který používá hardwarovou akceleraci videa, vypněte ji a problém pomine.

V Chromu přejděte na tuto adresu:

chrome://flags/#disable-accelerated-video-decode

Ve Firefoxu najdete řešení tady.

Pro prohlížeč Opera najdete řešení tady.

 zdroj

Enjoy

 

Jaký počítač pod stromeček pod 18 000? Vánoce 2016

Zkráceně tento:

https://www.czc.cz/179320,105970,161089,185236,191548,140785,194717,198645,99689/kody

Celková cena 17 954,-

Je tam vlna kompromisu, ale větší výkon za tu cenu s takovou užitnou hodnotou asi na trhu nenajdete. Bude to rychlé jak při práci díky SSD disku na systém, tak při hraní her s GTX 1060 + Core i3 6100.

 

Asi vás napadnou otázky:

1) A není ta core i3 6100 moc pomalá? Nebude to bottleneckovat?
Kdybych tam místo ní za tu cenu vrazil core i5, musel bych vzít na výkonu grafiky, takže finální výkon celého počítače by byl nižší, než s Core i3. Poslední generace Core i3 je stejně rychlá, jako předchozí generace Core i5, takže výkonu má skutečně dostatečně. Ve hrách, jako je Fallout 4 (procesorově silně závislá), tak je na tom lépe, než 8 jádrová AMDčka.
Viz tento odkaz anebo tohle video. Rozdíl je v procesorech max 5 FPS (snímků za vteřinu), v kritických situacích max 10 fps a to nestojí za zmínku ve srovnání při porovnání grafických karet, kde bývají rozdíly desítky snímků za vteřinu.

2) Kingstony se sypou! Vážně tam je vhodné dávat ten kingston?
Zatím se mi nevysypal ani jeden a kolegové o řadě UV400 také mluví lépe, než o řadě V300, která byla průšvih. Kdyby bylo více peněz, zvolím intel nebo OCZ či Crucial MX200/300, jenže peníze nejsou a my potřebujeme SSD 120GB na systém.

3) Kde je v tom operační systém?
Není, kupte si ho za 2 stovky originál legálně třeba zde:
http://aukro.cz/windows-10-professional-oem-licence-32-64-cz-i6645038839.html

4) Ta kastle je malá!
Je malá, ale vlezou se do ni grafické karty všech velikostí a v dané cenové kategorii je nejlépe vnitřně uspořádaná. Zdroj umístěný dole k nasávání chladného vzduchu, ventilátor vzadu na vyfukování ohřátého vzduchu a inteligentně vymyšlené ustájení SSD disku za základní deskou z druhé strany počítače.

5) Ty rasisto! Proč si tam nedal RX 480?!

Nejsem rasista, sám mám R9 290x, ale radeony neumí CUDA, pokud chcete herní stroj, chcete aby měl podporu Cuda, které AMD bohužel nemá, nehledě na to, že se neustále potýkám s problémy s kompatibilitou a ovladači na AMD grafikách. Posledním hřebíčkem do rakve RX 480 je dalších 600 až 900 korun nad rozpočet, které rovněž do rozpočtu 18 000 už prostě nevymyslíme.

6) Proč si tam nedal taktovatelné paměti kingston hyper-x?
Protože paměti dnes tvoří mizivé procento výkonu. Dokonce rozdíl mezi DDR3 a DDR4 ve většině aktuálních her jsou 2 max 4FPS (FPS = snímek za vteřinu)

7) Budou na tom hry plynulý?

Cokoliv co utáhnete nad 40 FPS, tak je nádherně plynulé, někomu stačí jen 30FPS (herní konzole mají často uzamčení na 30 snímků za vteřinu), já jsem spokojen s čímkoliv nad 40FPS a když chci natáčet, tak 60 FPS je minimum a tato Core i3 6100 spolu s GTX 1060 s proražením 60FPS nebude mít ve hrách problém.

8) Za jak dlouho budu muset vylepšovat a přikupovat?
Odhaduji tak 3 roky a bude potřeba dokoupit Core i5 (to za 3 roky bude stát tak řekněme 2500 až 4000 kč) , dalších 8GB RAM (tam odhaduji za 3 roky ceny od 500 do 900 korun)  a lepší grafiku (podobná cena, jako u té dnešní GTX 1060), za tu dobu vše však zlevní zpravidla minimálně na 40% aktuálních cen dnešního high-endu.

Další dotazy? Ptejte se v diskusi.

 

 

Project cars: Unhandled exception trapped. EXCEPTION_ACCESS_VIOLATION at 0x40dfa67b. Reading from Adddress 0x000000000. Thread 0x00000b1c Build SMSARI.20161118.1246.BLDA000

Velmi často objevující se bug:

Project cars: Unhandled exception trapped. EXCEPTION_ACCESS_VIOLATION at 0x40dfa67b. Reading from Adddress 0x000000000. Thread 0x00000b1c  Build SMSARI.20161118.1246.BLDA000

Vypadá to nějak takto:

unhandled_exception_project_cars

Je v podstatě jedno co Vám to píše za adresy 0x0000 atd.., problém mají jak majitelé Nvidia Geforce karet, tak majitelé AMD Radeonů. V případě radeonů na PC kde jsem problém řešil, nepomohly ani starší, ani novější drivery (catalysty vs. crimson vs. crimson relive), podtaktování grafiky dokonce pod úroveň defaultních frekvencí jen oddálila problém, ale stejně ta hra pak spadla.

Situace na oficiálních forech Project Cars vypadá podobně

Někomu pomohlo snížit si frekvenci ramek, někomu vrátit přetaktovanou grafiku na původní takty od výrobce, ale celkově to neznamená vyřešení problému. Na počítačích, kde je hra spouštěna za standardního uživatele bez administrátorských práv je doporučováno hru spustit s právy administrátora. Pokud máte steam, tak prvně spustit steam s právy administrátora a následně spustit hru s právy administrátora, ale většinou tohle vůbec nemá vliv na pády hry, stejně hra spadla.

Jak se problému zbavit

Následující řešení však pomohlo na počítači, kde jsem tento problém řešil já:

1)  start /ovladací panely / (vpravo nahoře zobrazit podle: vyberte Malé ikony) možnosti napájení/ Vyberte Vysoký výkon (nebo performance, podle toho jak se Vám to tam zobrazuje).

2) (tento bod je asi nejdůležitější) start /ovladací panely / (vpravo nahoře zobrazit podle: vyberte Malé ikony)/systém / nalevo kliknete na upřesnit nastavení systému/ v poli kde se píše „Výkon“ „Vizuální efekty, plánování procesoru, využití paměti a virtuální paměť“ klikněte na tlačítko Nastavení / objeví se tabulka kde zaškrtnete „Optimalizovat pro výkon“ jako vidíte na obrázku a dáte dole OK.

Optimalizovat pro vykon

 

3) Posledním bodem, který je důležitý pokaždé, když měníte nastavení grafiky v Project cars, je nutné vymazat jeden XML soubor a to konkrétně v cestě:

C:/Users/<jméno vašeho uživatele/Documents (nebo Dokumenty)/Project CARS/

a zde SMAŽETE nebo PŘEJMENUJETE soubor:

graphicsconfigdx11.xml

(buďte vklidu, při spuštění hry, si hra konfigurační soubor vygeneruje znovu)

4) V nastavení grafiky ve hře si pohlídejte, abyste měli zakázané sdílení videopaměti (tuším že je to poslední záložka v nastavení).

5) Na PC s Radeonem R9 290x jsem snížil navíc ještě frekvence videopamětí z defaultních 1250 na 1145Mhz a čip z 1000 Mhz na 945Mhz (někam na úroveň Radeona R9 290) a problém se již nevyskytnul. (jsem však přesvědčen, že největší vliv na to mělo zakázání těch grafických funkcí ve windows, se kterými se hra nemusí snášet).

 

 

 

Přestaly Vám fungovat aktualizace na Windows 7?

Pokud jste zrovna nainstalovali originální windows 7 a nějak Vám nefungují aktualizace, respektive fungují, ale nic to nedělá, tak doporučím tento link.

Ve své podstatě jde o tyto aktualizace:

Windows 7 32-bit (x86):

Windows 7 64-bit (x64):

Jenže ani přesto Vám to nepůjde nainstalovat, takže před každou instalací konkrétní aktualizace musíte otevřít příkazovou řádku za admina a napsat:

net stop wuauserv
net start wuauserv 

Anebo po každé instalaci jednotlivých aktualizací restartovat počítač, pokud se necítíte na to, spustit příkazovou řádku za admina a provést restart služby. Oboje řešení jsou možná.

Příprava na LPIC-1 certifikační zkoušku #2 Otravná teorie 2/2

 

Dnes si spláchneme pojmosloví.

Není Linux jako Linux. Franta má Ubuntu Linux, Pepa má Debian Linux, Honza má CentOS Linux. Všechno je to Linux, ovšem každá z těchto distribucí má trošku upravené jádro, zastává jinou mentalitu a tomu odpovídá i míra využívání jednotlivých distribucí pro jejich účely.

Wikipedie sice není relevantní zdroj, proto sem koukněte na seznam linuxových distribucí jen pro základní orientaci v distribucích.

Svoje názory do článků budu psát kurzívou, aby jste věděli, že to nesouvisí s kurzem, ale s mým osobním přidáním názoru na věc.

Za mě nejslavnější distribuce seřazené dle abecedy:  

Arch Linux
CentOS
Debian
Fedora
Gentoo
Mint
OpenWRT
Puppy
Raspberian
Red Hat Enterprise Linux
Slackware
Slax
Suse
Ubuntu

Historie Linuxu v kostce zde. Zde historie od Unixu k Linuxu. Pro extra hnidopichy, které neodradily předchozí 2 články o historii přidám i tento, co je to Operační systém, což Vám odpoví na základní otázku života, smrti a tak podobně, co se účelu vzniku operačních systému týče.

Smysl a účel Kernelu

3 hlavní komponenty operačního systému jsou:

  • Filesystem (souborový systém)
  • Kernel
  • Shell

Kernel vše řídí a naviguje, řeší co se má dít s pamětí, spouští, zabijí programy, zajišťuje zobrazování textu na monitor. Kernel je v operačním systému takový základ, jako je gravitace a veškeré fyzikální zákony v našem existujícím světě. Když aplikace chce zapsat na disk, musí ji to povolit kernel. Pokud se 2 či více aplikací dožadují stejného zdroje, Kernel rozhodne komu a na jak dlouho zdroje přidělí. Představte si Kernel jako Matrix ve stejnojmenném filmu.

Kernel se tedy stará o běžící programy v počítači. Spuštěný program je proces. Procesy si představte jako pasažéry v autobusu. 8 jádrový procesor zvládne utáhnout 8 běžících procesů, které spotřebovávají 100% všech jader procesoru. Je to jako kdybychom měli autobus s 8 pasažéry, kteří zabírají 100% prostoru pro pasažéry, tedy všech 8 sedadel. Když nějaký proces jel dostatečně dlouho,  CPU ho dočasně pozastaví, aby se mohl svézt jiný proces. Všichni se tedy na těchto sedadlech autobusu neustále střídají a dělí o sedadla, aby mohli sedět všichni.

  • To je preemptivní multitasking (pre-emptive multitasking)

Multitasking je víceúlohovost. Každá žena umí multitasking, tedy zvládat více úkolů naráz. (poslouchat hudbu, číst, dávat přitom pozor na děti a ještě stíhat vařit).
Pre-emptivní (pre-emptive) znamená, že se Kernel rozhoduje, kdy předat řízení jakému procesu. (kdy se má který pasažér posadit) Když se neustále na procesoru běžící procesy střídají (když se neustále střídají pasažéři v tom kdo bude sedět na sedadle autobusu), tak se zdá, že počítač dělá hodně věcí současně. Ve skutečnosti je to však pouhé střídání se pasažérů na jednom sedadle.

Každá aplikace se domnívá, že má velký blok paměti vyhrazenou systémem, ale ve skutečnosti je Kernel tak „chytrý“, že neustále přemapovává, přerozděluje, organizuje malé bloky (části) paměti napříč běžícími aplikacemi, anebo odkládá nepoužívané části paměti na disk, aby si paměť uvolnil.

Když počítač startuje

načte základní program, kterému říkáme:

  • Bootloader
    ten následně spustí:
  • Kernel

Co je to Aplikace

představte si křižovatku a uprostřed ni je Policista, který organizuje dopravu. Policista je Kernel, projíždějící auta jsou spuštěné aplikace. Policista má nad auty výhradní kontrolu. Může je zastavovat, sledovat jejich provoz, pouštět dle požadavku a řešit systémové zdroje (uzavírat silnici apod…)

V rychlosti o Open-source

Linux vychází z operačního systému UNIX, který vzešel z laboratoří AT&T v USA. Autorem Linuxu je Linus Torvalds, byla to jeho disertační práce. K jeho projektu se pak přidali další lidi, kteří zajistili, aby se nejen v počátečních verzí linuxu neobjevily stejné chyby, jaké se objevily v OS UNIX. Open-source znamená otevřený kód. Napíšete program, jeho zdrojové kódy volně vydáte a pak se nestíháte divit, že Váš kód někdo vezme a třeba na to naváže. Jakmile je něco vydáno jako open-source, je to zdarma, pokud někdo chce na Vaši práci navázat, tak může. Pokud mě však paměť nešálí, nikdo nemůže použít něčí open-source kód v komerčním produktu. (To nechme na diskusi)

Ve zkratce a co největší stručnosti. Když programátor píše program, píše tzv zdrojový kód (source code), což je uživatelem čitelný seznam různých příkazů. Zdrojový kód (source code) může být psán v různých jazycích. Od programovacího jazyku C, až po jazyky jako jsou Java, PHP, Python, C#. Každý jazyk má své výhody a nevýhody, každý se hodí na něco jiného. Linux byl napsán v programovacím jazyku C.

Zdrojový kód (source code) je jako těsto, které potřebujete nechat upéct, aby se to dalo jíst. Zdrojový kód (source code) potřebujete proto zkompilovat (upéct), k čemuž použijete kompilátor (compiler). Kompilátor zdrojový kód (source code) vezme, pak následuje vcelku komplikovaný postup práce kompilátoru, který Vás výborně naučí na Mendelově Univerzitě pan Doc. Rybička v předmětu Teorie programovacích jazyků a na konci tohoto postupu máme spustitelný program. Ještě připomenu, že máme jazyky interpretované a kompilované. Kompilované jazyky jsem popsal těstem a pečením. Příkladem kompilovaných jazyků jsou například C++, C#, C, Pascal, Objective-C, Java.
Příkladem interpretovaných jazyků jsou například jazyky PHP, HTML, Perl, Python, BASH, JavaScript, Ruby, Tcl, VBScript, MATLAB, R, PostScript, Wolfram, Lua, Maple, Game Maker Language. Zdroj
Interpretované jazyky nepotřebujete kompilovat, ale při spuštění probíhá překlad zdrjového kódu interpretem, který musíte mít v systému. Pro interpretaci HTML kódu potřebujete internetový prohlížeč. Pro spuštění BASH skriptu potřebujete mít v systému nainstalovaný interpret bashe, zkrátka něco, co přeloží kód za chodu a vykoná co je potřeba. (Toť opravdu ve stručnosti, nechtěl jsem do toho moc zacházet. V diskusi mě prosím příliš netrestejte za takto jednoduchá vysvětlení).

GNU project (GNU’s not UNIX)

Až nedávno jsem se dozvěděl že GNU se vyslovuje [Ga-nů]. GNU vytvořilo různé nástroje pro OS UNIX, zdrojové kódy (source code) byly volně zcela zdarma dostupné (zejména pro různá UI, kompilátory apod…). Některé nástroje jsou z GNU dostupné i dnes v dnešním Linuxu.

Distribuce Linuxu

Distribuci Linuxu si představte jako jeden velký koncern vyrábějící automobily. V podstatě je jedno jestli si koupíte škodovku, nebo volskwagen či audi. Patří pod stejný koncern, všechny mají 4 kola, volant, karoserii, stěrače, kufr, sedadla, všechny vyžadují údržbu, pohonné hmoty apod. Co dělá linux linuxem a auto autem? Vezměte linux, nástroje GNU, přidejte třeba grafické uživatelské rozhraní, emailového klienta, webový prohlížeč, nějaké karetní hry a máte základ distribuce linuxu. Ve své podstatě distribuce Linuxu dělají z Linuxu použitelný operační systém, protože obsahují stovky nástrojů a programů, bez nichž by operační systém byl pro uživatele nepoužitelný základ asi tak, jako když by se Vám výrobce automobilu snažil prodat jen podvozek, namísto hotového automobilu. I ten podvozek se rozjede, ale nechtěli byste na podvozku jet vysokou rychlostí v zimě.

Mezi základní distribuce jmenuji Debian, Ubuntu, Centos, Red Hat, Fedora, Arch Linux, Scientific Linux, Puppy linux, Suse/OpenSuse, Slax, Slackware.
Rozeberme si tu ale 2 distribuce, které jsem zmínil na začátku. Ubuntu a Centos.

Ubuntu vyšlo z Debian linuxu, takže většina problémů, které řešíte na Debianu, pravděpodobně řešíte i na Ubuntu a naopak. Centos vychází z Red Hat enterprise Linuxu a je velmi podobný i Fedoře či Scientific Linuxu.
Pokud instalujete programy, můžete využít balíčkovací systémy yum a apt využívající balíčky rpm a deb. To uživatelé Windows neznají. V zásadě napíšete příkaz, co chcete nainstalovat a operační systém to za Vás vyhledá v dostupných repozitářích, stáhne, nainstaluje a připraví ke spuštění. Už chápete genialitu Linuxu? 😉

Centos, Fedora, Red Hat používají RPM balíčkovacího manažera (zkratka Red Hat Package Manager). Debian, Ubuntu a další odnoše jako je ZorinOS, Edubuntu, Kubuntu apod. obsahují deb balíčky.

Na Centos/Fedora/Red Hat linuxu instalujete balíčky pomocí příkazu yum a na Debian/Ubuntu  pomocí příkazu apt-get.

 

Release cycle

Tohle je velmi důležité vědět. Každá distribuce má jiný životní cyklus (life cycle). Nebudu tu ultra do podrobna probírat životní cykly, freezy apod… Důležité je znát zkratu LTS (Long term support), což znamená dlouhodobá podpora bezpečnostích aktualizací a jednotlivých balíčků. Pokud chcete dát nějakou distribuci na server, chcete aby měla co nejdelší dobu LTS. Zpravidla Ubuntu žije u LTS distribucí zhruba 5 let, Debian mívá +- 4 roky zdroj, Centos žije většinou 10 let, Fedora mívá velmi krátký životní cyklus několik desítek měsíců. Není na to vyloženě návod nebo doporučení co používat. Pokud chcete mít v systému nejnovější balíčky, zato ale občas zanadávat, že Vám občas nějaký program nemusí běžet pořádně, protože je moc nový a ještě úplně neodladěný, tak zkuste pro běžný počítač třeba Fedoru, Ubuntu-desktop, Arch Linux apod… Pokud chcete něco stabilního, co Vám někde na nějaké serverové mašině za firewallem poběží vklidu a nechcete s tím mít moc problémů, tak by vás mohl zaujmout Centos. Pokud potřebujete stabilitu a budete přecházet na novější verze distribuce jednou za 3 až 4 roky, tak debian nebo ubuntu-server. Toť moje doporučení, nesouvisí to nijak s konkrétními znalostmi linuxu, nebo něčím, co byste měli nutně dělat.

i386 vs. x86_64

Stručně. i386, i486, i586, i686 apod… jsou 32bitové distribuce Linuxu, které Vám poběží na starším počítači. Umí využít maximálně něco přes 3,2 GB RAM i přestože můžete mít 4 GB či víc, tak systém vidí jen tuto část. Nespustíte na takovém systému 64bitové aplikace a programy spuštěné v takovém systému by měly konzumovat méně operační paměti (RAM).

Když příkazem uname -a na linuxu zjistíte informace o kernelu a bude tam někde napsáno x86_64 či AMD64, tak víte, že se právě nacházíte na 64bitovém linuxu, který využije řádově více ram (zhruba 16,8 milionů terabajtů RAM zdroj). Zvládá spouštět i 32 bitové aplikace, aplikace i systém budou konzumovat nepatrně více paměti.

 

Shell

To není reklama na čerpací stanice, to je rozhraní (interface), který nám umožňuje do počítače zadávat příkazy, co po něm chceme aby udělal. Shell je v podstatě interpret (viz nahoře o interpretovaných jazycích). Příkazy, které zadáme do Shellu vykoná kernel.

Existují 2 typy shellů:

  • GUI (Graphical User Interface) <- grafické rozhraní, ikonky, plocha, okna, klikání myší
  • CLI (Command Line Interface) <- textové rozhraní, příkazy, to čeho se začátečníci bojí jak čert kříže

Výhody CLI

  • Opakování příkazů (command repetition) – napsat znovu stejný příkaz znamená mít možnost zopakovat co chcete
  • Zdroje (resources) – na serverech třeba GUI většinou není, protože GUI žere docela dost paměti, příkazová řádka je velmi nenáročná na systémové zdroje  a systém je tak mnohem stabilnější.
  • Skriptování (scripting) – napíšete si skript, skládající se z mnoha příkazů, který za Vás něco udělá kdykoliv budete chtít, kolikrát budete chtít. V grafickém rozhraní se špatně něco automatizuje.
  • Flexibilita příkazů (Command Flexibility) – možnosti příkazů, které Vám jednotlivé příkazy nabízí jsou většinou bohatší, než Vám nabídne nějaký grafický program, kde když není tlačítko, tak zkrátka nějakou funkci nevyvoláte. U příkazu zvolíte přepínač a najednou jste schopni např. data setřídit od největšího po nejmenší a naopak, nebo opomenout velká a malá písmena atd…
  • Vzdálený přístup (remote access) – Pokud se připojíte na server přes příkazy, nepotřebujete ani rychlý internet, ani myš, stačí Vám jen klávesnice a napsat pár příkazů, nebo je dokonce jen poslat vykonat na vzdálený server bez nutnosti někam klikat a čekat než se Vám načte vzdálené grafické rozhraní.
  • Vývoj (development) – když někdo vyvíjí aplikaci, tak vyvinout základní funkčnost někde v příkazové řádce trvá mnohem kratší dobu, než vyvinout grafickou aplikaci, kde musíte na něco klikat, řešíte rozložení prvků, vzhled, uživatelskou přívětivost, vývoj grafických aplikací zkrátka trvá déle a nezaručuje to, že by aplikace byla robustnější, nebo spolehlivější.
  • Snazší automatizace (ease of automation) – napíšete skript, který zavolá jiný skript. Až projedete tímto kurzem, pochopíte, výhody automatizace na linuxu.

Chtěl jsem tu začít se základními linux příkazy, ale asi to nechám na příště.