[Poslední sobota, 85] Praha – Nette (28. 1. 2017)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
chemix
Nette Core | 1294
+
+13
-

Poslední sobota je pravidelným místem setkání všech fanoušků programování webových aplikací, ať už to jsou odborníci nebo amatéři. Cestujeme po republice kde se dá. Vstup na akci je zdarma, jen prosím potvrďte účast.

Program

10:00 – Workshop

domluveny jsou dva workshopy, junior a senior

  • Martin Zlámal – Nette + GraphQL + React.JS
  • David Matějka – základy Nette Framework
12:30 – Pálivý oběd
15:00 – Začátek přednášek
  • Martin Zlámal – GraphQL API s Nette
  • David Grudl – Novinky kolem Nette
  • Petr Soukup – Faily při provozu PHP v cloudu
  • Jan Tvrdík – SSA optimalizace v PHP 7.1 aneb první krůčky k JIT (short)
  • Honza Gula – instante/tracy-login Tracy panel pro testování uživatelů (short)
  • Přemek Koch – Moje první nette přednáška (short)
18:55 – Závěrečný blok
19:00 – Zakončení

Pivo & networking


Martin Zlámal – GraphQL API s Nette

Co je to GraphQL (vlastnoti, výhody, nevýhody), jak jej jednoduše implementovat v Nette Frameworku a jak použít toto API pro komunikaci s React prostředím na frontendu. Přednáška volně doplňuje články na blogu zlml.cz.


PoSobotu nám pomáhají tvořit partneři, děkujeme

Jan Tvrdík
Nette guru | 2595
+
+5
-

@chemix Jestli je zájem, tak bych si vzal krátkou přednášku na téma, co znamená „Added DFA optimization framework based on e-SSA form.“ a „Added specialized opcode handlers“ v changelogu PHP 7.1

chemix
Nette Core | 1294
+
0
-

@JanTvrdík kolik casu? vlezes se do tech 10min?

Jan Tvrdík
Nette guru | 2595
+
0
-

@chemix Řekněme 10 – 15 minut.

chemix
Nette Core | 1294
+
0
-

A pojmenujes to prosim nejak do 50 znaku pro zelenace jako jsem ja :-) @JanTvrdík

Jan Tvrdík
Nette guru | 2595
+
0
-

„SSA optimalizace v PHP 7.1 aneb první krůčky k JIT“

souki
Bronze Partner | 22
+
+13
-

Kdyby byla díra v programu, tak bych mohl nabídnout „faily při provozu PHP v cloudu“. Pojal bych to jako sbírku prkotin, které vývojáře ani nenapadne řešit při vývoji lokálně/na hostingu, ale vymstí se v cloudu. Race conditions, paralelní běh, latence, …

Je to ale poměrně obecné téma, takže bych to bral spíš jako záložní, když bude v programu díra. Buď jen prosvištění checklistu, na co si dát pozor a nebo delší verze s konkrétnějším vysvětlením. Nebo možná spíš vybrat jen jednu věc? :)

premek_k
Člen | 172
+
0
-

@chemix napiš mne na tu sedmiminutovku. Dík.

chemix
Nette Core | 1294
+
0
-

@premek_k a nazev?

chemix
Nette Core | 1294
+
0
-

@souki pocitam s tebou, aspon to trosku zobecnime a nalakame i dalsi bubliny

andros
Člen | 145
+
+1
-

Ahoj, chtěl bych se zeptat, jestli poslední sobota je i pro ty, co s Nette teprve začínají a objevují jeho možnosti, nebo je určena pokročilým uživatelům.

chemix
Nette Core | 1294
+
+4
-

@andros ahoj, posobota je i pro lidi co s Nette nepracuji. Je dobre mit nejake zaklady Nette Frameworku pro komplikovanejsi prednasky, ale tech neno 100%.

Navic ted jsem se domluvil s @DavidMatějka, ze by pripravil juniorsky workshop, takze pokud s Nette zacinas, urcite si rano privstan.

PS: i kdyby byly prednasky komplikovane, tak za poznani komunity a seznameni se, to urcite stoji :)

andros
Člen | 145
+
+1
-

@chemix díky za odpověď. Já s Nette teprve začínám. Je silně návykové a postupně se něj dostávám. Dřív jsem se žádným Frameworkem nepracoval, takže chviličku trvalo pochopení celé logiky (Presentery, templates atd). Juniorský workshop je perfektní nápad a už se těším. Myslím, že je to přesně to co potřebuju. I když budu na spoustu věcí koukat jak „tele na vrata“, máš naprostou pravdu, že už jen to seznámení s komunitou za to opravdu stojí :)

parti
Člen | 117
+
0
-

@andros
Co znamena rano privstat ? rad bych se taky zucastnil juniorskeho workshopu. Muzes rict nejaku hodinu??
Dekuji

David Matějka
Moderator | 6445
+
+2
-

@parti mel by jet paralelne s graphql workshopem, takze od 10:00

parti
Člen | 117
+
0
-

Dekuji za info.

igor.pocta
Člen | 100
+
0
-

@DavidMatějka Máš nějakou představu co by jsi chtěl na WS probírat? Zda úplné základy nebo … ?

David Matějka
Moderator | 6445
+
0
-

@igor.pocta zalezi, co budou ucastnici chtit :) ale kdyz jsem tyhle workshopy delal nekdy dva roky zpatky, tak to bylo opravdu od zacatku (vcetne composeru, vysvetleni struktury app, presenteru atd.)

mrtnzlml
Člen | 140
+
+8
-

Toto bude nejsložitější návod na workshop vůbec… :D

Pokud chcete na GraphQL workshop přijít a jen poslouchat, tak je to v pořádku a máte hotovo. V opačném případě je potřeba zprovoznit 2 aplikace. Jedna aplikace je napsána v Nette a slouží jako API endpoint. Druhá aplikace je frontend napsaný v Reactu. Začněme postupně v řeči programátora:

Nette Backend

Backend je postavený na PostgreSQL, takže doporučuji. Ale půjde to i na MySQL (ORM FTW!).

git clone git@github.com:adeira/connector.git
cd connector
composer install
cp config/config.local.neon.travis config/config.local.neon

A zde samozřejmě upravíme přístupové údaje k DB (vytvořte si prázdnou). Pro MySQL nějak takto:

doctrine.orm:
	connection:
		dbname: adeira-connector
		user: root
		password: root
		driver: pdo_mysql

Kdyby něco, nezapomeňte ručně smazat cache (všiml jsem si, že se zde ne úplně spolehlivě invaliduje). Pokračujeme:

bin/console                             <<< mělo by vrátit výpis Symfony konzole!
bin/console orm:schema-tool:create      <<< v databázi budou nově automaticky 3 tabulky
bin/console adeira:user:create username password

Poslední příkaz vytvoří uživatele a vrátí UUID. Tento identifikátor si někam uložte – budeme s ním později pracovat (dá se případně najít v databázi). V mém případě je to 3d1add46-ac04-4785-830f-e67f74550f89. Už jen ověříme, že vše funguje a je to:

bin/console adeira:graphql:query 3d1add46-ac04-4785-830f-e67f74550f89

Vrátí něco takového:

{
  "data": {
    "allQueries": {
      "queries": [
        {
          "name": "user"
        },
        ...
      ]
    }
  }
}

React Frontend

Vrátíme se do výchozí složky a jedeme znovu (pravděpodobně bude fungovat i s npm):

git clone git@github.com:adeira/connector-frontend.git
cd connector-frontend
yarn install

Instalace trvá na normálním stroji 88.50s. Ověříme, že naše prostředí funguje a to tak, že rovnou spustíme vývojový server:

yarn run start

Mělo by se otevřít okno na adrese http://127.0.0.1:1234/. Toto lze změnit v souboru package.json v sekci scripts pod klíčem start. S trochou štěstí se zobrazí přihlašovací formulář. Ke vší smůle se však při pokusu o přihlášení zobrazí hláška Backend API server is not reachable... (přihlašovací údaje ke svému uživateli znáte z první poloviny návodu). Frontend totiž neví kde je backend. Napravte to prosím v souboru src/index.js:

const apolloClient = new ApolloClient({
	networkInterface: new HTTPFetchNetworkInterface('//connector.adeira.localhost/graphql'), //FIXME
});

Nyní se můžete přihlásit. Pokud vidíte stránku s hlavičkou (modrozelený gradient), tak máte vyhráno. Nezapomeňte si projekty za týden zaktualizovat. Je pravděpodobné, že to ještě budu tunit.

Pokud něco nefunguje, zapněte konzoli v prohlížeči případně logy v Nette aplikaci a dejte mi vědět (tady nebo ideálně na Slacku pépápkařů).

Na workshopu si s tímto prostředím budeme hrát (nic náročného). Workshop je určen pro lidi, kteří s GraphQL/React/API nemají zkušenosti, ale dovedou tento návod projít a splnit.

V průběhu psaní tohoto návodu jsem jej zároveň zkoušel, abych ověřil, že jsem něco nevynechal a nebylo ublíženo žádnému zvířátku… :)

parti
Člen | 117
+
0
-

@DavidMatějka
Ja osobne bych si rad prosel zaklady neco jsem naprogramoval podle dokumentace ale mam v tom trochu chaos.Ale samozrejme se prizpusobim.
Dekuji

filsedla
Člen | 101
+
0
-

Ahoj, plánuju se zúčasnit (poprvé), ale nemám facebook. Chtěl bych i na ten react workshop.

chemix
Nette Core | 1294
+
0
-

@filsedla tak doraz na 10 ;-)

snizemic
Člen | 28
+
0
-

Ahoj, @DavidMatějka nám na poslední posobtě přislíbil, že někam pověsí kód té miniapky, na které nám ukazoval základy Nette. Je to už někde, nebo ne, nevíte, pls?

David Matějka
Moderator | 6445
+
+1
-

@snizemic sry, vim o tom. jen to dam nejak do kupy :) snad dneska se k tomu dostanu

snizemic
Člen | 28
+
0
-

David Matějka napsal(a):

@snizemic sry, vim o tom. jen to dam nejak do kupy :) snad dneska se k tomu dostanu

Díky moc! V pohodě, až budeš mít čas ;-)

parti
Člen | 117
+
0
-

Zdravim chtel bych se zeptat jestli se bude konat tenhle mesic akce posledni sobota?
Dekuji moc za odpoved.

andros
Člen | 145
+
0
-

parti napsal(a):

Zdravim chtel bych se zeptat jestli se bude konat tenhle mesic akce posledni sobota?
Dekuji moc za odpoved.

Tady je info:
https://forum.nette.org/…lu-25-2-2017

HappyFace
Člen | 162
+
+4
-

videa z [Poslední sobota, 85] Praha – Nette (28. 1. 2017):
https://www.youtube.com/playlist?…

souki
Bronze Partner | 22
+
+1
-

HappyFace napsal(a):

videa z [Poslední sobota, 85] Praha – Nette (28. 1. 2017):
https://www.youtube.com/playlist?…

Ehm… koukám, že jsem svoji 20ti minutovou přednášku brutálně přetáhnul :)))