React – základ – poznámky

Stažení knihovny create-react-app a následné vygenerování nového projektu s její pomocí.

Alternativou může být příkaz npx, který příkaz rovnou vykoná

Základní obsah souboru src/index.js

  • pomocí importu lze přidat i css soubory import ‚./soubor.css‘
  • named vs default export
    • default – pokud obsahuje jeden defaultní
    • named – pokud vyjmenovává více

JSX

JSX přidává do JavaScriptu  XML syntax. Předchozí zápis App se tak zkompiluje do následujícího JS kódu, aby byl v prohlížeči funkční.

https://babeljs.io/repl | http://buildwithreact.com/tutorial/jsx

HTML a JSX zápis není úplně stejný, jsou tam drobné odlišnosti.

  • style=“font-weight:bold“ => style={{fontWeight:’bold‘,color:’grey‘}}
    • {} = proměnná, {{}} = proměnná obsahující js objekt, kterému musí odpovídat zápis
  • class – v JS vyhrazené slovo, pro HTML class by se mělo použít className (v budoucnu bude možná odstraněno)
  • proměnné z JS jsou zobrazované v „{proměnné/fce}“
    • vypsání proměnné a textu (pokud promenna = 5, tak výstup bude „5 text“)
  • pro <label> místo for použít htmlFor

Props

  • předávání dat do podřazených komponent
  • jako atribut elementu
  • v rámci komponenty získané z prvního parametru
  • lze udělat defaultní nastavení props v rámci komponenty

State

  • objekt, držící data komponenty
    • pokud komponenta obsahuje input s kterým se pracuje – drží se jeho data ve state a pro jejich získání se nepřistupuje do DOMu
  • inicializace v konstruktoru this.state = {}
  • plnění vždy přes this.setState({})
    • vyvolá opětovné vykreslení komponenty

Class-based

Lifecycle

  • základní
    • constructor – jednorázové nastavení
    • render – pouze vykreslení
    • componentDidMount – načítání dat
    • componentDidUpdate – při změně state, props, případně pro další načítání dat
    • componentWillUnmount
  • méně časté
    • shouldComponentUpdate
    • getDrivedStateFromProps
    • getSnapshotBeforeUpdate

API požadavky

  • fetch
  • Axios 

Redux

  • action creator (vytvoří objekt action)
  • action (objekt popisující jaké změny dat se mají provést)
  • dispatch (vytvoří kopii objektu akce a rozešle ho na všechny ‚reducers‘)
  • reducers (zpracovávají data z objektu akce, vracejí nová data)
  • state (aktualizovaná data z reducerů se ukládají do stavu)

Pravidla reducerů

  • musí vrátit nějakou hodnotu mimo hodnoty undefined
  • reducer přebírá vždy předchozí stav a akci (vyjma první inicializace, kdy je předchozím stavem undefined
  • jednoduchost; pro rozhodnutí o tom, jakou hodnotu vrátit, nesmí dělat volání dalších funkcí mimo (hledat v imputu, vyvolat api request,…)
  • nesmí se měnit první vstupní parametr reduceru (state) – může pak dojít k nepřerenderování reactí aplikace (je potřeba vrátit nový objekt/pole/hodnotu… pokud chceme, aby si redux uvědomil, že došlo ke změně… při vrácení stejného o/p/h to redux vyhodnotí jako že nedošlo ke změně a neaktualizuje zbytek aplikace)

Zdroje

  1. https://www.udemy.com/react-redux/
  2. https://stackoverflow.com/questions/50605219/difference-between-npx-and-npm
  3. https://reactjs.org/docs/introducing-jsx.html
  4. React component lifecycle
  5. Named Export vs Default Export in ES6
Rubriky: Nezařazené | Štítky: , | Napsat komentář

speedtest: SanDisk Ultra USB Drive 128 GB Type-C

Flash disk SanDisk Ultra Dual – 128GB.

 

 

Celý příspěvek

Rubriky: Nezařazené | Štítky: | Napsat komentář

Strojové učení – poznámky

Základní poznámky ke strojovému učení, převážně z knihy Mastering Java Machine Learning

Celý příspěvek

Rubriky: Nezařazené | Štítky: | Napsat komentář

HAProxy

HAProxy v docker kontejneru. Příklad možného nastavení pro směrování požadavků ze subdomén na různé kontejnery. Celý příspěvek

Rubriky: Nezařazené | Štítky: , | Napsat komentář

Zvýšení výkonu PHP

Upřesněním namespace pro globální funkce a konstanty lze zvýšit výkon PHP.
Celý příspěvek

Rubriky: Nezařazené | Štítky: | Napsat komentář

Význam zápisů v PHP

Rubriky: Nezařazené | Štítky: | Napsat komentář

Elasticsearch – základní koncept – poznámky

Elasticsearch (ES)

  • vysoce škálovatelný, open-source fulltextový vyhledávač a analytický nástroj umožňující pracovat s daty v téměř reálném čase
  • ukázkový use-cases
    • katalog produktů s vyhledáváním a našeptáváním
    • sbírání dat pro analýzu – trendy, statistika, anomálie,…
    • výstrahy (alerts & notifications) – pokud data v ES splní nějakou podmínku
    • rychlé výstupy pro „ad hoc“ dotazy nad velkým množství dat (např. ve spojení s Kibanou – vizualizace dat)

Celý příspěvek

Rubriky: Nezařazené | Štítky: | Napsat komentář

screen: Must be connected to a terminal.

https://github.com/moby/moby/issues/30421

uvnitř běžícího kontejneru příkaz:

 

Rubriky: Nezařazené | Štítky: | Napsat komentář

Vytvoření uživatele s veřejným klíčem

  1. vytvořit uživatele
  2. vytvořit klíče a veřejný přidat do /home/joe/.ssh
  3. importovat veřejný klíč do authorized_keys (=soubor)
  4. nastavit práva (bez správného nastavení nebude fungovat!)
  5. ujistit se, že je povolená autentizace pomocí veřejného klíče

    očekávaný výstup: PubkeyAuthentication yes
  6. seznam uživatelů s povoleným přístupem může být omezen v souboru /etc/ssh/sshd_config

    ve stejném souboru lze zrušit povolení pro přihlášení roota

    poté je potřeba restart služby

     

Zdroje

Rubriky: Linux | Napsat komentář

Zabezpečení OpenSSH

  • vypnut starší a méně bezpečný protokol 1
  • zakázat přihlašování pro roota
  • omezit přihlašování jen na vybrané uživatele
  • změnit port 22
  • omezení přístupu na IP nebo omezení IP po určitém počtu chybných přihlášení
  • nastavení veřejného/soukromého klíče pro autentizaci a následné vypnutí přihlášení pomocí hesla

Zdroj

https://wiki.centos.org/HowTos/Network/SecuringSSH

Rubriky: Linux | Napsat komentář