Nette – jak vytvořit REST API – json

Co to je REST

REST neboli Representational state transfer je způsob jak jednoduše číst (GET), editovat (PUT), mazat (DELETE) a vytvářet (POST) obsah na serveru pomocí HTTP volání.

REST je vhodný pro jednotný a snadný přístup ke zdrojům. Na rozdíl od SOAP či XML-RPC je REST orientován datově, nikoli procedurálně. Všechny REST zdroje mají jednoznačný identifikátor (URL)

Jak na to v Nette?

Zapomeňte na nějaké složité generování v šabloně. Dokonce nebudete potřebovat ani funkci json-encode. V Nette uděláte JSON výstup velice jednoduše.

Ukázka vygenerování JSONu:

public function actionJson()
{
   $a = array( "date" => "20.8.2014 22:34", "temp_in" => "24.2°C", "temp_out" => "14.9°C" );

   $this->sendResponse( new Nette\Application\Responses\JsonResponse( $a ) );
}

Důležité je, že response je možné vygenerovat pouze metodou sendResponse které předhodíte response

TIP: pokud budete chtít posílat i kódování, provedete to následujícím způsobem:

$this->sendResponse( new Nette\Application\Responses\JsonResponse( $a, "application/json;charset=utf-8" ) );

 

Odeslání historie linuxových příkazů na email

Linuxovým administrátorům se často stává, že jejich kolega potřebuje pomoct s konfigurací v příkazové řádce. Pokud chcete mít rychlý přehled o tom co se dělo v příkazové řádce, odešlete si její historii do emailu.

#cd /tmp
#vim hist.sh

do kterého přidejte následující kód:
#!/bin/bash
NOW=$(date)
mail -s “Log $HOSTNAME @ $NOW” balusreekanth@gmail.com <$HOME/.bash_history

vim ukončíte zadáním příkazu: wq a nastavte oprávnění pro spuštění:
#chmod -x hist.sh

Nyní je script připraven a můžete jej spustit:
#./hist.sh

 

Jaký byl Brněnský Barcamp 2014?

Poslední květnovou sobotu se v Brně konal Barcamp. Brno mám trochu z ruky ale po povedeném Plzeňském Barcampu jsem tuto výzvu s radostí přijal.

Na akci bylo přihlášeno 1800 lidí! Kapacitu přednáškových místností jsem přibližně spočítal na 1000 míst. Vejdeme se?
@eshopkonzultant vytáhl auto. V Písku jsme nabrali Milana a hurá do Brna. Oblíbená D1 byla průjezdná bez kolon a my vpohodě stihli warmup párty.

Brněnský dobrodruh @zburival domluvil warmup v příjemné restauraci U Richarda kde točí vlastní pivo Richard. Šmakózní záležitost. V průběhu večera dorazili Pekaři z Plzně a zahřátí na sobotu bylo odstartováno.

Sobota začala nejlépe jak mohla – snídaní u švédských stolů 🙂 Taky proto jsme do areálu FIT dorazili až v 9:05. U vchodu nás čekala dlouhá fronta.
BCBRNO2014

Ve frontě jsme se naštěstí rychle posouvali. Ve finále fronty stačilo uvést své jméno, email a twitter. Kdyby u vstupu pořadatelé hledali a odšrtávali jednotlivé návštěvníky, byli bychom ve frontě ještě teď. Palec na horu.

Oběd
Oběd byla jediná piha na kráse celého víkendu.
Jelikož u 3 opic bylo plno a 1 servírka na celou hospodu, zkusili jsme štěstí jinde. Nevím zda to bylo tím že nás vedl @eshopkonzultant ale došli jsme do hospody jejíž jméno znělo hodně SEO magicky: H3
Do hospody jsme dorazili jako jedni z prvních, spokojeně si objednali a těšili se na nové chuťové požitky. Zanedlouho se hospoda celá zaplnila. Mnoho návštěvníků nevydrželo a oběd vzdalo když se dozvěděli, že jídlo dostanou nejdříve za 2 hodiny. My natěšeně očekávali jídlo. Po hodině čekání začali někteří hosté dostávat jídlo. Co to je?! Oni přišli až hodně dlouho po nás a až mají jídlo? Asi dostali polévku, uklidňoval jsem kolegu. Za chvíli musí přinést to naše jídlo. Pomyslná sklenka přetekla když všichni okolo jedli. To teda ne! Jdeme za paní provozní. Přišli jsme jako první a ještě jsme nebyli obslouženi! Paní vrchní nám sdělila že nejprve sepsala všechny objednávky, které pak předala do kuchyně a tam se začaly náhodně připravovat. WTF? To teda ne! Ještě že nejsme sprostý, jinak bychom ji poslali do prdele ☺

Díky obědu jsem nestihl polštářovou válku ani první přednášku po obědě.Škoda.

Všechny přednášky které jsem navštívil měly koule. Nejvíce se mi líbil Nodě.js a GA pro startup. Daly mi velkou inspiraci a několik nápadů.

After party
After party sponzorovala firma Kentico a stála za to! Odehrávala se v perfektních prostorech a cattering byl dokonalý. Dokonce byly i hamburgery, které jsme k obědu nedostali. Příště snad jen na exkurzi do Kentica ☺

2. WordPress konference – Hluboká nad Vltavou

Druhá WordPress konference je za námi. Povedla se!

Celý program probíhal v hotelu Záviš z Falkenštejna kde o celou akci(přibližně 80 lidí) bylo perfektně postaráno. Přednášky vycházely z konceptu Komunitní výzvy („Podpoř ostatní tím, co umíš“) a byly bez nároku na honorář. Celá akce byla štědře sponzorována firmou WEDOS s možností prohlídky datacentra.

Celá konference navíc měla i sociálně-lidský rozměr díky tweetu od @jakubloudat: „Kdo mi sežral kuře“.

Přednášky na sebe příjemně navazovaly a měly koule. U žádné jsem se nenudil.

Pro ty které se nemohli zúčastnit přidávám záznam.

Radek Kučera – Základní zabezpečení WordPressu – video
Jakub Klapka – Jak zrychlit WP pomocí cachovacích pluginů – video
David Biňovec – Principy cachování ve WordPressu – video
Tomáš Andrlík – WordPress a členské sekce – video
Daniel Dubravec (Wedos) – Nejčastější problémy s WordPress, které řeší zákaznická podpora – video
Vladislav Musílek – Tvorba pluginů – video
Petr Bechyně – Google analytics pro vývojáře a designéry – video
Zdeněk Dvořák –  Jak získávat a udržovat odkazy s WordPressem – video
Michal Kubíček – Jak proměnit WordPress ve stroj na peníze – video

Mne osobně nejvíce potěšil Vladislav Musílek s tvorbou pluginů. Petr Bechyně jako vždy nezklamal.

Největší překvapení pro mne byla diskuse u večeře ( řízek jsem dostal 😀 ). Několik spolusedících vůbec neznalo ceny WEDOSu a divilo se jak nízké ceny má.

Děkuji naswp.cz a WEDOS za uspořádání této skvělé akce a budu se těšit příště.

Nejlevnější webhosting

Jak nainstalovat WINDOWS 7 na základní desku s UEFI BIOSem?

Důležité: je notné instalovat WINDOWS 7 se SERVICPACK1!

UEFI BIOS obsahuje SECURE BOOT, který na který jsou připravené WINDOWS 8 a bez problémů si sním poradí. SECURE BOOT je funkce, která hlídá zda jsou při bootování načteny prověřené a digitálně podepsané soubory OS.
S instalací WINDOWS 7 je problém při bootování nainstalovaného OS.

Při instalaci W7 je potřeba využít následující fintu

  • Advanced – Boot Configurations – Fast Boot : [Disabled]
  • Advanced – Boot Configurations – CSM : [Enabled]
  • Security – Secure Boot Configuration – Secure Boot Option : [Disabled]

Po uložení a rebootu již nic nebrání úspěšné instalaci WINDOWS 7

Heartbleed – oprava v Debian

7.4.2014 vyplaval na povrch bezpečností chyba v  knihovně OpenSSL – Heartbleed. Tato chyba umožňuje útočníkovi získat obsah 64KB paměti procesoru, který využívá knihovna OpenSSL. Útočník tak může získat privátní klíč k certifikátu, kterým může dešifrovat komunikaci. Kód této zranitelnosti je CVE-2014-0160.

Tento útok není možné žádným způsobem odhalit, protože útočník za sebou nezanechá žádné stopy.

Závažný problém

Tento bezpečnostní problém je považován za katastrofální, jelikož si nemžeme být jisti zda ze serveru byl získán privátní klíč.
Odborník na bezpečnost Bruce Scheiner označil tento problém na stupnici od 1 do 10 číslem 11.

Problémové verze OpenSSL

Starší verze: 1.0.0 a 0.9.7 zranitelností netrpí. Ohroženy jsou všechny servery využívající OpenSSL 1.0.1 až verze 1.0.1f. Od verze 1.0.1g je problém opraven. Problémová verze OpenSSL se nachází v aktuální verzi Debianu.

Týká se mne Heartbleed

Můžete si jednoduchým způsobem otestovat zda de Vás Heartbleed týká na těchto odkazech:

Pokud jste zdatnější můžete zjistit přímo verzi OpenSSL:
dpkg -l | grep "openssl"

Seznam distribucí a verzí od kterých je problém opraven:

  • Debian 6 (Squeeze): Žádný problém (v této verzi se zranitelnost neobjevila)
  • Debian 7 (Wheezy): 1.0.1e-2+deb7u6
  • Debian testing (Jessie): 1.0.1g-1
  • Debian unstable (Sid): 1.0.1g-1

V bezpečí jste pokud používáte Debian 7 (Wheezy) jste v bezpečí pokud máte alespoň verzi 1.0.1e-2+deb7u6

Jak opravit Heartbleed

Nejjednodužší způsob jak opravit chybu Heartbleed je aktualizovat celý systém (apt-get update && apt-get upgrade) a restartovat apache: /etc/init.d/apache2 restart
Ne vždy je možné aktualizovat celý systém, pak stačí aktualizovat OpenSSL, libssl a restartovat apache:
apt-get update && apt-get install openssl libssl1.0.0 && /etc/init.d/apache2 restart

Pokud není nová verze pro vaši distribuci dostupná, budete ji muset přistoupit na kompilaci ze zdrojového kódu.

To je vše?

Není 🙂 Je důležité znovu vygenerovat certifikáty které jsou na serveru používány. Doporučuji změnit přístupová hesla.