[posobota, s02e01 – pandemická] online stream 28. 3. 2020

před 5 měsíci

chemix
Gold Partner | 1146
+
+24
-

posobota 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á.

Program

15:00 🎤 Přednášky

  • Jakub Englický – Komplexní vývojářský stack pro Nette aplikaci v Dockeru (PHP, MariaDB, Redis, Elasticsearch)
  • Jan Kuchař – Event Sourcing 101 / Proč event sourcing? Co to je? Kdy se to hodí? A jak se v tom neuvařit?
  • Matouš Němec – Latte a typy I., praktický průvodce jak na to.
  • David Grudl – Latte a typy a tipy II.

Záznamy z posoboty najdete na YouTube 📺


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

Golden partners
IDE partner

před 5 měsíci

Ivorius
Nette Blogger | 116
+
0
-

Paráda

před 5 měsíci

MajklNajt
Člen | 358
+
+6
-

bude aj pivo po prednáškach? :)

před 5 měsíci

chemix
Gold Partner | 1146
+
+1
-

program hotov ;-)

před 4 měsíci

chemix
Gold Partner | 1146
+
0
-

ale ty palive obedy budem muset nejak vyresit :-) jsem se tesil na nejakou indickou kuchyn ;-)

před 4 měsíci

chemix
Gold Partner | 1146
+
+1
-

časový harmonogram

15:00 – zahájení vysílání

15:10 – Jakub Englický – Komplexní vývojářský stack pro Nette aplikaci v Dockeru (PHP, MariaDB, Redis, Elasticsearch)
16:00 – 16:10 – otázky

16:15 – 17:00 — Jan Kuchař – Event Sourcing 101 / Proč event sourcing? Co to je? Kdy se to hodí? A jak se v tom neuvařit?
17:00 – 17:10 — otázky

17:15 — 17:45 — Matouš Němec – Latte a typy I., praktický průvodce jak na to.
17:45 – 17:55 — otázky

18:00 – 18:30 – David Grudl – Latte a typy a tipy II.
18:30 – 18:40 – otázky

18:40–19:00 – panelová diskuse – otázky z publikace + poznámky z publika

19:00 – 19:05 – rozloučení

před 4 měsíci

spagr
Člen | 17
+
+1
-

Máte někdo tip na hosting, který by byl cenově přijatelný na osobní a nekomerční projekty a dal se tam provozovat Docker?

před 4 měsíci

chemix
Gold Partner | 1146
+
0
-

pouzijme tento prostor pro dalsi otazky, na ktere nezbyl cas ve streamu

před 4 měsíci

chemix
Gold Partner | 1146
+
0
-

@spagr asi nejaka levna VPS ? ale musis si to resit sam. Nebo pak nejakej k8s? Vim ze rosti.cz ma hosting v dockeru … ale myslim ze to maji udelane jen tak pro izolaci uzivatelu, nez ze by ti umoznili doinstalovavat vlastni docker balicky

před 4 měsíci

chemix
Gold Partner | 1146
+
+1
-

Dotaz @HonzaKuchař existuje neco jako „Doctrine“ nebo obecne „ORM“ tak nejakej PHP system na vykopnuti a usnadneni techto event style ukladani entit? Nebo to mas nejak magicky napojene na Doctrine?

před 4 měsíci

Hologos
Člen | 19
+
0
-
  1. Proč je třída DefaultTemplate final? Takhle si budu muset generovat všechny std. property u každé *Template, a pokud se přidá další std. property, tak to bude celkem otročina to přidat do všech *Template tříd.
  2. Ohledně té featury {formPrint}, v tom výsledném kódu chybí vypsání chyb z $form->addError(). V jednom formuláři mi to chybělo a uživatelé pak netušili, co se děje, že se jim nedaří vytvořit objednávka.

Editoval Hologos (28. 3. 23:20)

před 4 měsíci

David Grudl
Nette Core | 7148
+
0
-

Nemusíš si generovat všechny standardní property u každé template, generuj jen ty, které opravdu používáš. Sám používám občas $basePath, $user, $flashes a vyjímečně $presenter. A ten má navíc v každé šabloně jiný typ.

ad formPrint: dobrý postřeh, doplním

před 4 měsíci

chemix
Gold Partner | 1146
+
0
-

před 4 měsíci

F.Vesely
Člen | 354
+
+2
-

@Hologos Vsak pouzij svuj vlastni BaseTemplate, jak ukazoval David ve videu.

před 4 měsíci

Hologos
Člen | 19
+
0
-

F.Vesely napsal(a):

@Hologos Vsak pouzij svuj vlastni BaseTemplate, jak ukazoval David ve videu.

Nakonec mi to taky došlo, ale už jsem to tu nechal :-)
Správnější řešení ale nejspíše bude to, co psal David. Tedy posílat tam opravdu jen to, co má pro danou šablonu smysl.

Díky za nasměrování.

Editoval Hologos (29. 3. 12:58)

před 4 měsíci

kuba.englicky
Člen | 1
+
+7
-

Ahoj,
díky za sledování mé včerejší přednášky. Hodil jsem ukázku kódu, který jsem včera použival na Github, tak se můžete podívat na kompletní konfiguraci, a případně si to sami vyzkoušet. https://github.com/…a-pandemicka


Co se týká hostingu pro provoz docker appek. Já jsem používal CloudVPS u Forpsi a nyní používám DigitalOcean.

před 4 měsíci

ppar
Backer | 333
+
0
-

Ahoj, zkouším rozjet stack z githubu, ale skončím s chybou:

Pulling console (posobota_web:)...
pull access denied for posobota_web, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

Jak mám prosím vytvořit image posobota_web?

Editoval ppar (1. 4. 19:03)

před 4 měsíci

CZechBoY
Člen | 3587
+
0
-

@ppar Nejspíš docker-compose build

před 4 měsíci

jiri.pudil
Člen | 928
+
0
-

chemix napsal(a):

Dotaz @HonzaKuchař existuje neco jako „Doctrine“ nebo obecne „ORM“ tak nejakej PHP system na vykopnuti a usnadneni techto event style ukladani entit? Nebo to mas nejak magicky napojene na Doctrine?

Používáme řešení zčásti vlastní, zčásti postavené na balíčcích Prooph – zejména prooph/pdo-event-store, což je právě ta část persistující události, na kterou se ptáš. Vedle Prooph existuje mj. ještě Broadway, ale to jsem jen zahlédl, nemám s tím nemám zkušenosti.

před 4 měsíci

F.Vesely
Člen | 354
+
+1
-

@ppar Docker compose defaultně pojmenovává image, který builduje, jako <nazev-slozky>_<nazev-sluzby>. Takže si to buďto hoď do složky posobota, nebo si do služby web přidej image: posobota_web.

před 4 měsíci

ppar
Backer | 333
+
+1
-

@FVesely díky moc, s dockerem si občas hraju léta. Pořád pro mě je docker velká magie.

před 4 měsíci

CZechBoY
Člen | 3587
+
+1
-

Aha, já koukám proč potřebuješ zrovna tohle jméno… No jo, to někdo nedopsal image do hlavního docker-compose.yml :-)

před 2 měsíci

roman.campula
Člen | 43
+
0
-

Ahoj,
David ukazoval v přednášce Latte a typy a tipy (https://youtu.be/WjQEKw186zc?…) jak jdou vytvořit šablony k různým view a tyto šablony dědí od obecnější BaseTemplate. Pěkná věc, to se mi líbí. Podařilo se mi to zprovoznit, ale narazil jsem na problém s vlastními funkcemi vyžadujícími další závislosti. Umím si vytvořit vlastní funkci assetGlobal, která je dostupná ze všech view. Pokud však potřebuji v dané funkci nějakou závislost (zde třídu obsahující obecné parametry), tak to už nevím, jak ji tam předat. Přes konstruktor mi to nejde.

Můžeme mi prosím poradit, jak si mám do BaseTemplate předat nějaké závislosti, které budu následně vyžívat pro tvorbu obecných funkcí a filtrů?

Díky

TestPresenter.php

class TestPresenter extends Nette\Application\UI\Presenter {
  function __construct() {
    parent::__construct();
  }

  function renderDefault() {
    $template = $this->createTemplate(TestDefaultTemplate::class);
    $this->sendTemplate($template);
  }
}

class TestDefaultTemplate extends WebModule\Templates\BaseTemplate {
  use Nette\SmartObject;
}

BaseTemplate.php

class BaseTemplate extends Nette\Bridges\ApplicationLatte\Template {
  use Nette\SmartObject;

  public AppModule\Model\Parameters $parameters;

  function __construct(Latte\Engine $latte) {
    parent::__construct($latte);

    $this->addFunction("assetGlobal", function ($file) {
      $fileResult = $file . "?domain=" . $this->parameters->domain; // zde potřebuji získat závislost na parameters

      return $fileResult;
    });
  }
}

default.latte

{assetGlobal('/system/ajax/nette.ajax.min.js')}

Editoval roman.campula (26. 5. 20:03)