<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs"><generator uri="https://jekyllrb.com/" version="4.2.1">Jekyll</generator><link href="https://www.wr.cz/atom.xml" rel="self" type="application/atom+xml" /><link href="https://www.wr.cz/" rel="alternate" type="text/html" hreflang="cs" /><updated>2026-10-13T17:11:34-05:00</updated><id>https://www.wr.cz/atom.xml</id><title type="html">Lukáš Bařinka</title><subtitle>Linux and OSS enthusiast who loves to learn and to teach. Always trying to expand horizons in the world where teaching means learning.</subtitle><entry><title type="html">Coreutils a základy skriptování v shellu - prakticky</title><link href="https://www.wr.cz/installfest-2025" rel="alternate" type="text/html" title="Coreutils a základy skriptování v shellu - prakticky" /><published>2025-03-15T10:00:00-05:00</published><updated>2025-03-15T10:00:00-05:00</updated><id>https://www.wr.cz/installfest-2025</id><content type="html" xml:base="https://www.wr.cz/installfest-2025">&lt;p&gt;První část úvodu do skriptování v shellu a použití základních
nástrojů - „&lt;strong&gt;coreutils&lt;/strong&gt;“. Tato část se zaměřuje především na
základní konstrukce v shellu. Přednáška vznikla pro linuxovou konferenci
&lt;a href=&quot;https://www.linuxdays.cz/2024/&quot;&gt;LinuxDays&lt;/a&gt; na ČVUT FIT.&lt;/p&gt;

&lt;p&gt;Asi už nemá cenu zmiňovat, že jsem do přednášky naplánoval mnohem více obsahu,
než jsem schopen sdělit za plánovaných 50 minut. Tak alespoň nemusím moc
přemýšlet nad tématem další přednášky (pravděpodobně na Installfestu 2025).&lt;/p&gt;

&lt;p&gt;Nyní již obě části, tedy tato první z LinuxDays 2024 i druhá z
&lt;a href=&quot;/installfest-2025&quot;&gt;Installfestu 2025&lt;/a&gt;
k dispozici díky záznamu
&lt;a href=&quot;https://avc.siliconhill.cz/&quot;&gt;Strahovského AVC&lt;/a&gt;.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/P3VP657Yc4s?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/ZTOVdj_zGmc?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;obsah-přednášky&quot;&gt;Obsah přednášky&lt;/h2&gt;

&lt;p&gt;Proč bychom vůbec měli chtít psát skripty a jaké k tomu máme základní nástroje?
Ukážeme si základní konstrukce v shellu jako je spuštění příkazu, expanze jmen
souborů a řetězení příkazů (pipes). Pro běžné úkoly nám slouží základní příkazy
(coreutils), které si v rychlosti představíme, spolu s jejich filozofií.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/coreutils/if25.svg&quot; class=&quot;button&quot;&gt;
&lt;button class=&quot;view&quot;&gt;
  &lt;span class=&quot;circle&quot; aria-hidden=&quot;true&quot;&gt;
    &lt;span class=&quot;icon arrow&quot;&gt;&lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&quot;button-text&quot;&gt;Prezentace v SVG&lt;/span&gt;
&lt;/button&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://gitlab.com/lukasbarinka/if25&quot;&gt;Repozitář s prezentací a doprovodnými soubory&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Když to děláš podruhé, pravděpodobně to neděláš naposled&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jaké úkoly se řešily/řeší na počítači&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Spouštění programů v jiném čase/místě&lt;/li&gt;
      &lt;li&gt;Uchování a zpracování výstupů programů (dat)&lt;/li&gt;
      &lt;li&gt;Testování programů (spouštění programů se vstupy a porovnávání výsledků)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Základní filozofické koncepty&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;UNIXová filozofie (rozděl a panuj)
        &lt;ul&gt;
          &lt;li&gt;jednoduché nástroje (coreutils)&lt;/li&gt;
          &lt;li&gt;kooperace nástrojů (pipe)&lt;/li&gt;
          &lt;li&gt;jednotné rozhraní (text I/O)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Kód jako minimum dokumentace&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;coreutils&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;fileutils (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cp&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mv&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rm&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;touch&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ls&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mkdir&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mktemp&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rmdir&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dd&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;df&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sync&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chmod&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chown&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chgrp&lt;/code&gt;)&lt;/li&gt;
      &lt;li&gt;textutils (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cat&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;c/split&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;head&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tail&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wc&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*sum&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tr&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cut&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;join&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;paste&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;t/sort&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;comm&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;uniq&lt;/code&gt;)&lt;/li&gt;
      &lt;li&gt;shellutils (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;basename&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dirname&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;date&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;du&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stat&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pwd&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;echo&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;printf&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tee&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;env&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;printenv&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;expr&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;factor&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;seq&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;false&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;test&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sleep&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;timeout&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;yes&lt;/code&gt;)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Základní konstrukce v shellu&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Spuštění příkazu (název, parametry) - krátké a dlouhé přepínače - argumenty přepínačů&lt;/li&gt;
      &lt;li&gt;Vstup a výstup - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Subshell&lt;/li&gt;
      &lt;li&gt;Proměnné&lt;/li&gt;
      &lt;li&gt;Podmíněné spouštění příkazů - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;amp;&amp;amp;&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;||&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Cykly - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;for&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;while&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Skript&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Vytvořit skript&lt;/li&gt;
      &lt;li&gt;Nastavit právo spustitelnosti&lt;/li&gt;
      &lt;li&gt;Spustit i s parametrem&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Ukázky použití coreutils v rámci řešených problémů&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;V repozitáři jsou také ukázkové skripty, a prostředí, ve kterém je možné si je
zobrazit a interaktivně vyzkoušet. Prostředí je založené na příkazu &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tmux&lt;/code&gt;,
které má svou konfiguraci a spouští pro interaktivní práci &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bash&lt;/code&gt; s vlastním
nastavením (přípravou ukázek) a historií, ze které je možné vyvolávat příkazy.&lt;/p&gt;</content><author><name></name></author><category term="prezentace" /><category term="shell" /><category term="svg" /><summary type="html">První část úvodu do skriptování v shellu a použití základních nástrojů - „coreutils“. Tato část se zaměřuje především na základní konstrukce v shellu. Přednáška vznikla pro linuxovou konferenci LinuxDays na ČVUT FIT.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22coreutils2.png%22,%20%22teaser%22=%3E%22coreutils2_tn.png%22,%20%22thumb%22=%3E%22coreutils2_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22coreutils2.png%22,%20%22teaser%22=%3E%22coreutils2_tn.png%22,%20%22thumb%22=%3E%22coreutils2_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Coreutils a základy skriptování v shellu</title><link href="https://www.wr.cz/linuxdays-2024" rel="alternate" type="text/html" title="Coreutils a základy skriptování v shellu" /><published>2024-10-12T10:00:00-05:00</published><updated>2024-10-12T10:00:00-05:00</updated><id>https://www.wr.cz/linuxdays-2024</id><content type="html" xml:base="https://www.wr.cz/linuxdays-2024">&lt;p&gt;První část úvodu do skriptování v shellu a použití základních
nástrojů - „&lt;strong&gt;coreutils&lt;/strong&gt;“. Tato část se zaměřuje především na
základní konstrukce v shellu. Přednáška vznikla pro linuxovou konferenci
&lt;a href=&quot;https://www.linuxdays.cz/2024/&quot;&gt;LinuxDays&lt;/a&gt; na ČVUT FIT.&lt;/p&gt;

&lt;p&gt;Asi už nemá cenu zmiňovat, že jsem do přednášky naplánoval mnohem více obsahu,
než jsem schopen sdělit za plánovaných 50 minut. Tak alespoň nemusím moc
přemýšlet nad tématem další přednášky (pravděpodobně na Installfestu 2025).&lt;/p&gt;

&lt;p&gt;Nyní již obě části, tedy tato první z LinuxDays 2024 i druhá z
&lt;a href=&quot;/installfest-2025&quot;&gt;Installfestu 2025&lt;/a&gt;
k dispozici díky záznamu
&lt;a href=&quot;https://avc.siliconhill.cz/&quot;&gt;Strahovského AVC&lt;/a&gt;.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/P3VP657Yc4s?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/ZTOVdj_zGmc?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;obsah-přednášky&quot;&gt;Obsah přednášky&lt;/h2&gt;

&lt;p&gt;Proč bychom vůbec měli chtít psát skripty a jaké k tomu máme základní nástroje?
Ukážeme si základní konstrukce v shellu jako je spuštění příkazu, expanze jmen
souborů a řetězení příkazů (pipes). Pro běžné úkoly nám slouží základní příkazy
(coreutils), které si v rychlosti představíme, spolu s jejich filozofií.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/coreutils/ld24.svg&quot; class=&quot;button&quot;&gt;
&lt;button class=&quot;view&quot;&gt;
  &lt;span class=&quot;circle&quot; aria-hidden=&quot;true&quot;&gt;
    &lt;span class=&quot;icon arrow&quot;&gt;&lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&quot;button-text&quot;&gt;Prezentace v SVG&lt;/span&gt;
&lt;/button&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://gitlab.com/lukasbarinka/linuxdays-2024&quot;&gt;Repozitář s prezentací a doprovodnými soubory&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Když to děláš podruhé, pravděpodobně to neděláš naposled&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jaké úkoly se řešily/řeší na počítači&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Spouštění programů v jiném čase/místě&lt;/li&gt;
      &lt;li&gt;Uchování a zpracování výstupů programů (dat)&lt;/li&gt;
      &lt;li&gt;Testování programů (spouštění programů se vstupy a porovnávání výsledků)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Základní filozofické koncepty&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;UNIXová filozofie (rozděl a panuj)
        &lt;ul&gt;
          &lt;li&gt;jednoduché nástroje (coreutils)&lt;/li&gt;
          &lt;li&gt;kooperace nástrojů (pipe)&lt;/li&gt;
          &lt;li&gt;jednotné rozhraní (text I/O)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Kód jako minimum dokumentace&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;coreutils&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;fileutils (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cp&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mv&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rm&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;touch&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ls&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mkdir&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mktemp&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rmdir&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dd&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;df&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sync&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chmod&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chown&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chgrp&lt;/code&gt;)&lt;/li&gt;
      &lt;li&gt;textutils (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cat&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;c/split&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;head&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tail&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wc&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*sum&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tr&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cut&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;join&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;paste&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;t/sort&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;comm&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;uniq&lt;/code&gt;)&lt;/li&gt;
      &lt;li&gt;shellutils (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;basename&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dirname&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;date&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;du&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stat&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pwd&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;echo&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;printf&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tee&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;env&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;printenv&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;expr&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;factor&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;seq&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;false&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;test&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sleep&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;timeout&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;yes&lt;/code&gt;)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Základní konstrukce v shellu&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Spuštění příkazu (název, parametry) - krátké a dlouhé přepínače - argumenty přepínačů&lt;/li&gt;
      &lt;li&gt;Vstup a výstup - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Subshell&lt;/li&gt;
      &lt;li&gt;Proměnné&lt;/li&gt;
      &lt;li&gt;Podmíněné spouštění příkazů - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;amp;&amp;amp;&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;||&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Cykly - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;for&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;while&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Skript&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Vytvořit skript&lt;/li&gt;
      &lt;li&gt;Nastavit právo spustitelnosti&lt;/li&gt;
      &lt;li&gt;Spustit i s parametrem&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Ukázky použití coreutils v rámci řešených problémů&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;V repozitáři jsou také ukázkové skripty, a prostředí, ve kterém je možné si je
zobrazit a interaktivně vyzkoušet. Prostředí je založené na příkazu &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tmux&lt;/code&gt;,
které má svou konfiguraci a spouští pro interaktivní práci &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bash&lt;/code&gt; s vlastním
nastavením (přípravou ukázek) a historií, ze které je možné vyvolávat příkazy.&lt;/p&gt;</content><author><name></name></author><category term="prezentace" /><category term="shell" /><category term="svg" /><summary type="html">První část úvodu do skriptování v shellu a použití základních nástrojů - „coreutils“. Tato část se zaměřuje především na základní konstrukce v shellu. Přednáška vznikla pro linuxovou konferenci LinuxDays na ČVUT FIT.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22coreutils.png%22,%20%22teaser%22=%3E%22coreutils_tn.png%22,%20%22thumb%22=%3E%22coreutils_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22coreutils.png%22,%20%22teaser%22=%3E%22coreutils_tn.png%22,%20%22thumb%22=%3E%22coreutils_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Proměnné v shellu</title><link href="https://www.wr.cz/linuxdays-2023" rel="alternate" type="text/html" title="Proměnné v shellu" /><published>2023-10-07T10:00:00-05:00</published><updated>2023-10-07T10:00:00-05:00</updated><id>https://www.wr.cz/linuxdays-2023</id><content type="html" xml:base="https://www.wr.cz/linuxdays-2023">&lt;p&gt;Detailní pohled na „&lt;strong&gt;Proměnné v shellu&lt;/strong&gt;“ se zaměřením na bash je
jenom malým výsekem užitečným při skriptování v shellu. Tentokrát byla přednáška
součástí linuxové konference &lt;a href=&quot;https://www.linuxdays.cz/2023/&quot;&gt;LinuxDays&lt;/a&gt; na
ČVUT FIT v Dejvickém kampusu.&lt;/p&gt;

&lt;p&gt;Původně jsem plánoval (jako obvykle) přednášku na 50 minut, ale (jako obvykle)
jsem ji ve nestihl říct. Asi se (zlo)zvyku na 90 minutové přednášky ze školy
nezbavím. Nicméně to, co jsem nestihl říct na konferenci jsem dotočil doma.
První část z přednášky (díky záznamu &lt;a href=&quot;https://avc.siliconhill.cz/&quot;&gt;Strahovského AVC&lt;/a&gt;)
i její pokračování můžete sledovat ze záznamu.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/IdahH7xfcMw?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/aFHYtL7UDyI?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;obsah-přednášky&quot;&gt;Obsah přednášky&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;/shell-variables&quot; class=&quot;button&quot;&gt;
&lt;button class=&quot;view&quot;&gt;
  &lt;span class=&quot;circle&quot; aria-hidden=&quot;true&quot;&gt;
    &lt;span class=&quot;icon arrow&quot;&gt;&lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&quot;button-text&quot;&gt;Prezentace v HTML&lt;/span&gt;
&lt;/button&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Co je to proměnná&lt;/strong&gt;&lt;br /&gt;
vypsání hodnoty, náhrada za hodnotu (substituce), bezpečný výpis, výpis hodnoty a atributů, výpis všech proměnných&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Vytvoření/změna/zrušení proměnné&lt;/strong&gt;&lt;br /&gt;
způsob interpretace, přiřazení, vyprázdnění, odstranění, formátování, vytvoření&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Použití proměnné&lt;/strong&gt;&lt;br /&gt;
reference (odkaz), délka, prázdná/neexistující, podřetězce, ořez, náhrady/úpravy hodnoty, změna velikosti (case), transformace, výpis podle prefixu, klíče pole, skalární (falešné) pole, testy proměnných, pořadí expanzí&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Typy proměnných&lt;/strong&gt;&lt;br /&gt;
deklarace, proměnné prostředí (environment), číslované pole, konstanta (read-only), asociativní pole, celé číslo (integer), odkaz na proměnnou, lower/upper case, poziční parametry, průchody parametry, pole a jejich indexy, rozdělení na slova při přiřazení, autoindexace polí&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Viditelnost proměnných&lt;/strong&gt;&lt;br /&gt;
export a subshell, dědičnost, atributy, autoexport, návratová hodnota, file-descriptory, funkce a lokální/globální proměnné, parametry funkcí, předávání parametrů z/do funkcí odkazem, funkce vs skript&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Problémy a omezení&lt;/strong&gt;&lt;br /&gt;
uložení/načtení ze souboru, uložení binárních dat, neexistující export polí a jeho řešení&lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="prezentace" /><category term="shell" /><category term="web" /><summary type="html">Detailní pohled na „Proměnné v shellu“ se zaměřením na bash je jenom malým výsekem užitečným při skriptování v shellu. Tentokrát byla přednáška součástí linuxové konference LinuxDays na ČVUT FIT v Dejvickém kampusu.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22shell-variables.png%22,%20%22teaser%22=%3E%22shell-variables_tn.png%22,%20%22thumb%22=%3E%22shell-variables_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22shell-variables.png%22,%20%22teaser%22=%3E%22shell-variables_tn.png%22,%20%22thumb%22=%3E%22shell-variables_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Tam by šlo ušetřit znaků</title><link href="https://www.wr.cz/installfest-2022" rel="alternate" type="text/html" title="Tam by šlo ušetřit znaků" /><published>2022-06-10T10:00:00-05:00</published><updated>2022-06-10T10:00:00-05:00</updated><id>https://www.wr.cz/installfest-2022</id><content type="html" xml:base="https://www.wr.cz/installfest-2022">&lt;p&gt;Trochu odlehčenější téma „&lt;strong&gt;Tam by šlo ušetřit znaků&lt;/strong&gt;“ je opět
především o shellu. Po delší odmlce přednáška opět proběhla naživo na
linuxové konferenci &lt;a href=&quot;https://installfest.cz/if22/&quot;&gt;InstallFest&lt;/a&gt;.
Tentokrát v netradičním termínu, ale tradičně na ČVUT FEL na Karlově náměstí.
Pokud někoho zajímá nejen, kde všude lze ušetřit pár znaků, ale především proč
(a jestli), je to přednáška právě pro něj. Díky záznamu
&lt;a href=&quot;https://avc.siliconhill.cz/&quot;&gt;Strahovského AVC&lt;/a&gt; se můžete na přednášku podívat.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/vksq3wOQ-gA?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Zapisovat příkazy v shellu
co nejúsporněji?
Záleží na tom?
Je to správná cesta?
Zajímá to vůbec někoho?&lt;/p&gt;

&lt;figure&gt;
&lt;img src=&quot;/images/spare-tw.png&quot; alt=&quot;Příklad animace měřené veličiny&quot; title=&quot;Příklad animace měřené veličiny&quot; /&gt;
  &lt;figcaption&gt;Motivace pro přednášku o šetření znaky z twitteru.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;obsah-přednášky&quot;&gt;Obsah přednášky&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;/spare&quot; class=&quot;button&quot;&gt;
&lt;button class=&quot;view&quot;&gt;
  &lt;span class=&quot;circle&quot; aria-hidden=&quot;true&quot;&gt;
    &lt;span class=&quot;icon arrow&quot;&gt;&lt;/span&gt;
  &lt;/span&gt;
  &lt;span class=&quot;button-text&quot;&gt;Prezentace v HTML&lt;/span&gt;
&lt;/button&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Shell a ti druzí
    &lt;ul&gt;
      &lt;li&gt;Různá prostředí, různé znaky, různé významy&lt;/li&gt;
      &lt;li&gt;Interpretace a její zabránění (quoting)&lt;/li&gt;
      &lt;li&gt;Speciální znaky v shellu&lt;/li&gt;
      &lt;li&gt;Interpretace příkazové řádky a spouštění příkazů&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Čitelnost, úspornost, bezpečnost
    &lt;ul&gt;
      &lt;li&gt;Pozitiva a negativa krátkých zápisů&lt;/li&gt;
      &lt;li&gt;Použití uvozovek&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Časté problémy a jejich řešení
    &lt;ul&gt;
      &lt;li&gt;Procházení seznamu souborů&lt;/li&gt;
      &lt;li&gt;Zpracování vstupních dat&lt;/li&gt;
      &lt;li&gt;Čtení jedné řádky ze vstupu&lt;/li&gt;
      &lt;li&gt;Přidání hodnoty do proměnné&lt;/li&gt;
      &lt;li&gt;Rozdělení řetězce&lt;/li&gt;
      &lt;li&gt;Zpracování argumentů&lt;/li&gt;
      &lt;li&gt;Použití názvu skriptu&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Úspornější zápisy (kde vzít a nekrást)
    &lt;ul&gt;
      &lt;li&gt;Práce s proměnnou&lt;/li&gt;
      &lt;li&gt;Seznam hodnot ve skalární proměnné Vs v poli&lt;/li&gt;
      &lt;li&gt;Testování podmínek běhu&lt;/li&gt;
      &lt;li&gt;Úspornější zápisy příkazů
        &lt;ul&gt;
          &lt;li&gt;Kratší jména&lt;/li&gt;
          &lt;li&gt;Implicitní chování&lt;/li&gt;
          &lt;li&gt;Proměnné prostředí&lt;/li&gt;
          &lt;li&gt;Expanze&lt;/li&gt;
          &lt;li&gt;Opakované použití&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="prezentace" /><category term="shell" /><category term="web" /><summary type="html">Trochu odlehčenější téma „Tam by šlo ušetřit znaků“ je opět především o shellu. Po delší odmlce přednáška opět proběhla naživo na linuxové konferenci InstallFest. Tentokrát v netradičním termínu, ale tradičně na ČVUT FEL na Karlově náměstí. Pokud někoho zajímá nejen, kde všude lze ušetřit pár znaků, ale především proč (a jestli), je to přednáška právě pro něj. Díky záznamu Strahovského AVC se můžete na přednášku podívat.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22spare.png%22,%20%22teaser%22=%3E%22spare_tn.png%22,%20%22thumb%22=%3E%22spare_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22spare.png%22,%20%22teaser%22=%3E%22spare_tn.png%22,%20%22thumb%22=%3E%22spare_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Pokročilé programování v shellu</title><link href="https://www.wr.cz/advanced-shell-programming/" rel="alternate" type="text/html" title="Pokročilé programování v shellu" /><published>2022-02-13T19:00:00-06:00</published><updated>2022-02-13T19:00:00-06:00</updated><id>https://www.wr.cz/advanced-shell-programming</id><content type="html" xml:base="https://www.wr.cz/advanced-shell-programming/">&lt;p&gt;&lt;strong&gt;„Webové Prezenace k Pokročilému programování v shellu“&lt;/strong&gt; jsou
doprovodným materiálem k výuce skriptování jak v prosředí &lt;code&gt;bash&lt;/code&gt;, tak také v jazycích &lt;code&gt;sed&lt;/code&gt; (Stream Editor) a &lt;code&gt;awk&lt;/code&gt; (Aho-Weinberger-Kernighan).
Jsou vytvořeny v prezentačním systému reveal.js, jako webové stránky. Ideální projektce je
ve webovém prohlížeči (fullscreen) v poměru stran 16:9.&lt;/p&gt;

&lt;p&gt;Jednotlivá podtémata vedou do prezentace na příslušný slide. Někdy je
téma přes několik slidů. Pohyb po slidech je buď pomocí mezerníku
nebo klávesami &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PgUp&lt;/code&gt; a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PgDown&lt;/code&gt;, případně šipkami. Klávesa &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;M&lt;/code&gt; nebo
hamburger vlevo dole otevírá menu s obsahem, klávesa &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ESC&lt;/code&gt; zobrazuje
přehled slidů a klávesa &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;B&lt;/code&gt; zatemní obraz.&lt;/p&gt;

&lt;h2 id=&quot;obsah&quot;&gt;Obsah&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;bash&quot;&gt;Bourne-Again SHell (bash)&lt;/a&gt; [EN+CS]&lt;br /&gt;
  &lt;em&gt;Pokročilejší aspekty prostředí &lt;code&gt;bash&lt;/code&gt;.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;row&quot;&gt;
    &lt;li&gt;Spouštění a konfigurace shellu&lt;/li&gt;
    &lt;li&gt;Rozšířené prostředí&lt;/li&gt;
    &lt;li&gt;Skript&lt;/li&gt;
    &lt;li&gt;Funkce&lt;/li&gt;
    &lt;li&gt;Vykonávání&lt;/li&gt;
    &lt;li&gt;Proměnné&lt;/li&gt;
    &lt;li&gt;Interaktivní skripty&lt;/li&gt;
    &lt;li&gt;Poznámky&lt;/li&gt;
  &lt;/ul&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;sed&quot;&gt;Stream EDitor (sed)&lt;/a&gt; [EN+CS]&lt;br /&gt;
  &lt;em&gt;&lt;code&gt;sed&lt;/code&gt; jako programovací jazyk, cykly, podmínky, skoky, pokročilé náhrady. Pattern a Hold buffery.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;row&quot;&gt;
    &lt;li&gt;Syntaxe&lt;/li&gt;
    &lt;li&gt;Příkazy&lt;/li&gt;
    &lt;li&gt;Buffery (prostory)&lt;/li&gt;
    &lt;li&gt;Multiline&lt;/li&gt;
    &lt;li&gt;Větvení&lt;/li&gt;
    &lt;li&gt;Ladění&lt;/li&gt;
    &lt;li&gt;GNU rozšíření&lt;/li&gt;
  &lt;/ul&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;awk&quot;&gt;Aho-Weinberger-Kernighan (awk)&lt;/a&gt; [EN+CS]&lt;br /&gt;
  &lt;em&gt;Pokročilé programování v &lt;code&gt;awk&lt;/code&gt;, podmínky, cykly, funkce, použití více souborů najednou, síťová komunikace.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;row&quot;&gt;
    &lt;li&gt;Syntaxe&lt;/li&gt;
    &lt;li&gt;Jednoduché použití&lt;/li&gt;
    &lt;li&gt;Řídící konstrukce&lt;/li&gt;
    &lt;li&gt;Pole&lt;/li&gt;
    &lt;li&gt;Vstup a výstup&lt;/li&gt;
    &lt;li&gt;Funkce&lt;/li&gt;
    &lt;li&gt;Průchod polem&lt;/li&gt;
  &lt;/ul&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;scripts&quot;&gt;Shell script from scratch&lt;/a&gt; [EN+CS]&lt;br /&gt;
  &lt;em&gt;Jak psát složitější skript v shellu. Skript, který zpracovává data - od nuly až k funkčnímu prototypu.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class=&quot;row&quot;&gt;
    &lt;li&gt;Zadání&lt;/li&gt;
    &lt;li&gt;Kostra řešení&lt;/li&gt;
    &lt;li&gt;Prototyp&lt;/li&gt;
    &lt;li&gt;Vylepšování&lt;/li&gt;
  &lt;/ul&gt;</content><author><name></name></author><category term="vyuka" /><category term="ps" /><category term="shell" /><summary type="html">„Webové Prezenace k Pokročilému programování v shellu“ jsou doprovodným materiálem k výuce skriptování jak v prosředí bash, tak také v jazycích sed (Stream Editor) a awk (Aho-Weinberger-Kernighan). Jsou vytvořeny v prezentačním systému reveal.js, jako webové stránky. Ideální projektce je ve webovém prohlížeči (fullscreen) v poměru stran 16:9.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22asp-title.png%22,%20%22teaser%22=%3E%22asp-title_tn.png%22,%20%22thumb%22=%3E%22asp-title_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22asp-title.png%22,%20%22teaser%22=%3E%22asp-title_tn.png%22,%20%22thumb%22=%3E%22asp-title_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Regulární výrazy</title><link href="https://www.wr.cz/re/" rel="alternate" type="text/html" title="Regulární výrazy" /><published>2021-11-05T11:00:00-05:00</published><updated>2021-11-05T11:00:00-05:00</updated><id>https://www.wr.cz/re</id><content type="html" xml:base="https://www.wr.cz/re/">&lt;p&gt;&lt;strong&gt;„Regulární výrazy“&lt;/strong&gt; (RE = Regular Expressions = regex) jsou výrazy (řetězce),
které definují celou množinu odpovídajících řetězců.
Pomocí znaků a konstrukcí se speciálním významem můžeme
popsat, jak by měly vypadat řetězce podle naší představy. Napříkad slovo
obsahující právě jedno velké písmeno, nebo řádek končící číslem.&lt;/p&gt;

&lt;p&gt;Použití RE je především při zpracování textů a dat. Je tak běžnou součástí jak
textových editorů a filtrů/nástrojů, tak i knihoven a (programovacích) jazyků.
Takže jejich uplatnění je široké a užitečné a proto se vyplatí se naučit je
používat.&lt;/p&gt;

&lt;p&gt;Na toto téma jsem nahrál několik videí v rámci seriálů
&lt;a href=&quot;https://www.youtube.com/watch?v=gGfDy9-Y2CM&amp;amp;list=PLHS-Uhp7t2Ys5lwy-5jops3t_DCfpXu_j&quot;&gt;„Programování v shellu“ (PS)&lt;/a&gt; a
&lt;a href=&quot;https://www.youtube.com/watch?v=R7BYIIxfNpY&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;„Shellu prakticky“ (SP)&lt;/a&gt; nebo
&lt;a href=&quot;https://www.youtube.com/playlist?list=PLHS-Uhp7t2Yuvd-1azvTpMmGT9AjXA0zQ&quot;&gt;příspěvků na konferencích (InstallFest)&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/wMyT8AfnaWM&quot;&gt;PS: Regulární výrazy - grep, egrep, fgrep&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/32tTZ-bhJEo&quot;&gt;PS: Regulární výrazy - Atomické výrazy a kotvy&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/hpSWkLxD9ww&quot;&gt;PS: Regulární výrazy - Kvantifikátory&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/sO5rpTibRok&quot;&gt;PS: Regulární výrazy - Podvýrazy a speciální znaky&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/OsMBVv2hW1I&quot;&gt;PS: Regulární výrazy - Syntaxe&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/H8KG-pMUHWw&quot;&gt;SP: Regulární výrazy při zpracování logů&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=xyPzJuR8Bz4&amp;amp;list=PLHS-Uhp7t2Yuvd-1azvTpMmGT9AjXA0zQ&amp;amp;index=5&amp;amp;t=139s&quot;&gt;InstallFest: bash a zpracování textů&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=dOKydwMDYUU&amp;amp;list=PLHS-Uhp7t2Yuvd-1azvTpMmGT9AjXA0zQ&amp;amp;index=8&amp;amp;t=25s&quot;&gt;InstallFest: bash a regulární výrazy VS shellovské vzory&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tahák pro RE [formát SVG]:
&lt;a href=&quot;/assets/re/re-color-a4.svg&quot;&gt;A4 barevně&lt;/a&gt;,
&lt;a href=&quot;/assets/re/re-color-a5.svg&quot;&gt;A5 barevně&lt;/a&gt;,
&lt;a href=&quot;/assets/re/re-bw-a4.svg&quot;&gt;A4 černobíle&lt;/a&gt;,
&lt;a href=&quot;/assets/re/re-bw-a5.svg&quot;&gt;A5 černobíle&lt;/a&gt;&lt;/p&gt;

&lt;figure&gt;
  
  &lt;picture&gt;
    &lt;source type=&quot;image/webp&quot; width=&quot;100%&quot; height=&quot;56.25%&quot; srcset=&quot;/assets/resized/images/120/re-color-a4.webp 120w,/assets/resized/images/480/re-color-a4.webp 480w,/assets/resized/images/800/re-color-a4.webp 800w,/assets/resized/images/1400/re-color-a4.webp 1400w&quot; /&gt;
      &lt;img width=&quot;100%&quot; height=&quot;56.25%&quot; src=&quot;/assets/resized/images/120/re-color-a4.png&quot; alt=&quot;Tahák pro RE&quot; data-srcset=&quot;/assets/resized/images/120/re-color-a4.png 120w,/assets/resized/images/480/re-color-a4.png 480w,/assets/resized/images/800/re-color-a4.png 800w,/assets/resized/images/1400/re-color-a4.png 1400w&quot; class=&quot;blur-up lazyautosizes lazyload&quot; title=&quot;Tahák pro RE&quot; /&gt;
    &lt;/picture&gt;
  &lt;figcaption&gt;&lt;/figcaption&gt;
  
&lt;/figure&gt;

&lt;p&gt;Regulární výrazy se skládají z atomů, což může být buď konkrétní znak, jeden
znak z množiny nebo libovolný znak, případně skupina uzavřená v závorkách. Atomy
se skládají rovnou za sebe jako písmena ve slově. Atomy je možné opakovat pomocí
kvantifikátorů. Text odpovídající RE se hledá kdekoliv na řádce, ale je možné
jej pomocí kotev ukotvit k začátku nebo konci řádky nebo slova.&lt;/p&gt;

&lt;h2 id=&quot;základní-bre-a-rozšířené-regulární-výrazy-ere&quot;&gt;Základní (BRE) a rozšířené regulární výrazy (ERE)&lt;/h2&gt;

&lt;p&gt;Původně uměly nástroje pro práci s regulárními výrazy menší sadu speciálních znaků,
které nereprezentují samy sebe (doslovně), ale znamenají nějakou konstrukci v RE.
Např. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[&lt;/code&gt; a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;]&lt;/code&gt;, zapisující množinu znaků nebo &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*&lt;/code&gt; pro libovolné opakování, nebo
kotvy &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;^&lt;/code&gt; a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Později se skupina speciálních konstrujcí rozrůstala pomoužitím
speciálního znaku &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\&lt;/code&gt;, který umožňuje nejenom rušit, ale také přidávat, speciální
význam. Např. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\(&lt;/code&gt; a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\)&lt;/code&gt; pro označení podvýrazu, nebo &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\{&lt;/code&gt; a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\}&lt;/code&gt; pro určení
počtu opakování.&lt;/p&gt;

&lt;p&gt;Znaky &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\&lt;/code&gt; však dělaly RE hůř čitelné a proto vznikly rozšířené regulární výrazy,
které od začátku závorky definovaly jako speciální znaky a k nim přidaly ještě
řadu dalších možností. Např. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt; pro zápis variant řetězců nebo zpětné odkazy
na podvýrazy.&lt;/p&gt;

&lt;p&gt;Rozšířené regulární výrazy (ERE) tedy jak rozšířují základní regulární výrazy (BRE),
tak je také zjednodušují (zpřehledňují). Různé nástroje pro práci s RE podporují
různou podmnožinu regulárních výrazů a některé (např. Perl) ji dokonce ješte výrazně
rozšiřují.&lt;/p&gt;

&lt;h2 id=&quot;rozdíly-mezi-různými-verzemi-grepsedawkvim&quot;&gt;Rozdíly mezi různými verzemi (grep/sed/awk/vim)&lt;/h2&gt;

&lt;p&gt;Existuje obrovské množství programů a prostředí, které podporují regulární
výrazy v nějaké podobě (podmnožině). Různé programy nebo dokonce jejich verze
navíc mají různou syntaxi. Je dobré se s tím smířit a nespoléhat na to, že
syntaxe, kterou umíte, bude fungovat vždy a všude.&lt;/p&gt;

&lt;p&gt;Tahák pro podporu RE v různých programech [formát SVG]:
&lt;a href=&quot;/assets/re/re-flavours-color-a4.svg&quot;&gt;A4 barevně&lt;/a&gt;,
&lt;a href=&quot;/assets/re/re-flavours-color-a5.svg&quot;&gt;A5 barevně&lt;/a&gt;,
&lt;a href=&quot;/assets/re/re-flavours-bw-a4.svg&quot;&gt;A4 černobíle&lt;/a&gt;,
&lt;a href=&quot;/assets/re/re-flavours-bw-a5.svg&quot;&gt;A5 černobíle&lt;/a&gt;&lt;/p&gt;

&lt;figure&gt;
  
  &lt;picture&gt;
    &lt;source type=&quot;image/webp&quot; width=&quot;100%&quot; height=&quot;56.25%&quot; srcset=&quot;/assets/resized/images/120/re-flavours-color-a4.webp 120w,/assets/resized/images/480/re-flavours-color-a4.webp 480w,/assets/resized/images/800/re-flavours-color-a4.webp 800w,/assets/resized/images/1400/re-flavours-color-a4.webp 1400w&quot; /&gt;
      &lt;img width=&quot;100%&quot; height=&quot;56.25%&quot; src=&quot;/assets/resized/images/120/re-flavours-color-a4.png&quot; alt=&quot;Tahák pro syntaxe RE v grep/sed&quot; data-srcset=&quot;/assets/resized/images/120/re-flavours-color-a4.png 120w,/assets/resized/images/480/re-flavours-color-a4.png 480w,/assets/resized/images/800/re-flavours-color-a4.png 800w,/assets/resized/images/1400/re-flavours-color-a4.png 1400w&quot; class=&quot;blur-up lazyautosizes lazyload&quot; title=&quot;Tahák pro syntaxe RE v grep/sed&quot; /&gt;
    &lt;/picture&gt;
  &lt;figcaption&gt;&lt;/figcaption&gt;
  
&lt;/figure&gt;

&lt;p&gt;Obecně se dají případy rozdělit na použití základních (BRE) a rozšířených (ERE)
regulárních výrazů. Typicky tedy příkazy &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt; (BRE) a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;egrep&lt;/code&gt; (ERE). GNU verze
příkazů mají často přepínač, kterým je možné změnit typ regulárních výrazů, např.
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep -E&lt;/code&gt; nebo &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sed -r&lt;/code&gt; pro ERE.&lt;/p&gt;

&lt;p&gt;Naštěstí princip RE je všude stejný a pokud se nepohybujete napříč různými systémy
a programy nebo jejich verzemi, naučíte se tu variantu, která vám vyhovuje a vaše
programy umí a s dál si s tím hlavu nelámete (pokud nemusíte). V takovém případě
doporučuji GNU nástroje a &lt;strong&gt;rozšířené regulární výrazy (ERE), které podporuje i
bash&lt;/strong&gt; (&lt;a href=&quot;https://www.youtube.com/watch?v=dOKydwMDYUU&amp;amp;list=PLHS-Uhp7t2Yuvd-1azvTpMmGT9AjXA0zQ&amp;amp;index=8&amp;amp;t=25s&quot;&gt;Video: bash a regulární výrazy VS shellovské vzory&lt;/a&gt;).&lt;/p&gt;</content><author><name></name></author><category term="vyuka" /><category term="ps" /><category term="shell" /><summary type="html">„Regulární výrazy“ (RE = Regular Expressions = regex) jsou výrazy (řetězce), které definují celou množinu odpovídajících řetězců. Pomocí znaků a konstrukcí se speciálním významem můžeme popsat, jak by měly vypadat řetězce podle naší představy. Napříkad slovo obsahující právě jedno velké písmeno, nebo řádek končící číslem.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22re.png%22,%20%22teaser%22=%3E%22re_tn.png%22,%20%22thumb%22=%3E%22re_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22re.png%22,%20%22teaser%22=%3E%22re_tn.png%22,%20%22thumb%22=%3E%22re_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Shell Prakticky</title><link href="https://www.wr.cz/practical-shell/" rel="alternate" type="text/html" title="Shell Prakticky" /><published>2021-10-04T10:00:00-05:00</published><updated>2021-10-04T10:00:00-05:00</updated><id>https://www.wr.cz/practical-shell</id><content type="html" xml:base="https://www.wr.cz/practical-shell/">&lt;p&gt;Cílem seriálu &lt;strong&gt;„Shell Prakticky“&lt;/strong&gt;
je vyzkoušet si samostatně, nebo s video-doprovodem různé apekty používání shellu.
Témata rozšířují video-sérii Programování v shellu.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed?listType=playlist&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;konceptuální-obsah&quot;&gt;Konceptuální obsah&lt;/h2&gt;

&lt;p&gt;Stejně jako v seriálu „Programování v shellu“ se postupně putuje přes různé
oblasti shellu, ale tentokrát výrazně praktičtěji. Jedná se o sérii příkladů
ke každému z témat. Témata jsou rozdělena na více kratších částí, pokud to jenom
trochu jde a dává to smysl.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Jak začít s Linuxem&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Úvod do příkazové řádky&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Práce s časem (countdown)&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Interpretace příkazové řádky&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Filesystém a linky&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Přesměrování a textové filtry&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Zpracování logů&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Regulární výrazy&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Textové transformace příkazem sed&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Složené příkazy v shellu (řídící konstrukce)&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Textové transformace příkazem awk&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Přístupová práva a příkaz find&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Na začátku seriálu je jedno předtéma - „Jak začít s Linuxem“ - které vás provede
jednoduchou cestou, jak získat Linux, aniž by bylo potřeba jej instalovat. Jedná
se o krátký postup, jak stáhnout nainstalovaný virtuální disk s Debian Linuxem
a ten zprovozniv v rámci VirtualBoxu.&lt;/p&gt;

&lt;p&gt;Pak již následují příklady ve formě slidů. Ty obsahují vždy i jedno z možných
řešení. Video pak příklady rozebírá a ukazuje jednu z možných cest k nalezení
řešení a případně i alternativná způsoby řešení.&lt;/p&gt;

&lt;h2 id=&quot;detailní-obsah&quot;&gt;Detailní obsah&lt;/h2&gt;

&lt;p&gt;Ukázky jsou tentorkát vytvořeny na systému Debian Linux, ale je možné je zkoušet
(občas s mírnou úpravou) také na jiných Unixových systémech (nebo MacOS). Pokud
projdete předtématem a nainstalujete si (třeba do VirtualBoxu) Debian Linux,
budete mít naprosto stejné prostředí, jaké je ve video-komentářích.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Jak začít s Linuxem&lt;/strong&gt; [00:24:01] — &lt;a href=&quot;/practical-shell/linux&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Jak začít s Linuxem&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=R7BYIIxfNpY&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Jak začít s Linuxem&lt;/a&gt; [00:24:01]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Úvod do příkazové řádky&lt;/strong&gt; [01:26:28] — &lt;a href=&quot;/practical-shell/intro&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Úvod do příkazové řádky&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=TeBZGDhUr68&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Dokumentace k příkazům&lt;/a&gt; [00:19:42]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=B8BR7vz1va8&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Použití proměnné&lt;/a&gt; [00:09:17]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=FF_SI_i6v8I&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Počítání řádků&lt;/a&gt; [00:17:38]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=r8_4svbbYz0&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Práce s proměnnou&lt;/a&gt; [00:17:45]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=PpHXWy2lOWw&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Ovládání příkazů&lt;/a&gt; [00:22:06]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Práce s časem&lt;/strong&gt; [01:27:44] — &lt;a href=&quot;/practical-shell/clock&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Práce s časem&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Is_E4ftMw9g&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Práce s časem (komplet)&lt;/a&gt; [01:27:44]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Interpretace příkazové řádky&lt;/strong&gt; [01:58:15] — &lt;a href=&quot;/practical-shell/interpretation&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Interpretace příkazové řádky&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=MTGFdicKsLw&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Interpretace příkazové řádky (začátek)&lt;/a&gt; [01:05:43]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=kT_qzD3ouP0&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Interpretace příkazové řádky (pokračování)&lt;/a&gt; [00:52:32]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Filesystém a linky&lt;/strong&gt; [01:03:40] — &lt;a href=&quot;/practical-shell/links&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Linky&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=jCJQeMoxreY&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Logická a fyzická cesta&lt;/a&gt; [00:23:50]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=zRPiVO-ZiPQ&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Práce s linky (Symlink Vs Hardlink)&lt;/a&gt; [00:39:50]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Přesměrování a textové filtry&lt;/strong&gt; [02:03:05] — &lt;a href=&quot;/practical-shell/filters&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Filtry&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GaNkhsffSQA&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Přesměrování vstupů a výstupů&lt;/a&gt; [00:24:48]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=gEybB3b0O-E&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Příkaz getent a soubor /etc/nsswitch.conf&lt;/a&gt; [00:21:32]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=qmk3mDYp5Rw&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Jednoduché textové filtry&lt;/a&gt; [02:51:16]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Zpracování logů&lt;/strong&gt; [01:28:25] — &lt;a href=&quot;/practical-shell/logs&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Zpracování logů&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=nuRra_FuTwU&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Zpracování logů pomocí jednoduchých textových filtrů&lt;/a&gt; [01:28:25]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=H8KG-pMUHWw&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Zpracování logů pomocí regulárních výrazů&lt;/a&gt; [01:22:51]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Typické problémy začátečníka, otázky a odpovědi&lt;/strong&gt; [01:46:36] — &lt;a href=&quot;/practical-shell/qanda&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Typické problémy a konzultace&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=crMlMYEw01Y&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Typické problémy začátečníka v shellu&lt;/a&gt; [01:46:36]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Textové transformace příkazem sed&lt;/strong&gt; [01:59:24] — &lt;a href=&quot;/practical-shell/sed&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Textové transformace příkazem sed&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=TF70oW8CDWM&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Jednoduché textové transformace&lt;/a&gt; [00:45:46]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=pe8I1ohBfRM&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Složitější textové transformace&lt;/a&gt; [01:13:38]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Složené příkazy v shellu (řídící konstrukce)&lt;/strong&gt; [01:53:37] — &lt;a href=&quot;/practical-shell/compound&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Složené příkazy v shellu&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=gsw6GcCSTBw&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Cykly&lt;/a&gt; [01:14:23]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=3uXQFk03rDk&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Větvení&lt;/a&gt; [00:39:14]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Typické problémy začátečníka, otázky a odpovědi 2&lt;/strong&gt; [01:16:03] — &lt;a href=&quot;/practical-shell/qanda&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Typické problémy a konzultace&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=qqdzMyPQTes&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Typické problémy začátečníka v shellu 2&lt;/a&gt; [01:16:03]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Textové transformace příkazem awk&lt;/strong&gt; [01:27:55] — &lt;a href=&quot;/practical-shell/awk&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Textové transformace příkazem awk&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=09aSGpFeTAQ&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Jednoduché textové transformace&lt;/a&gt; [00:41:26]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GR9XCDVqnMI&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Složitější textové transformace&lt;/a&gt; [00:46:29]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Přístupová práva a příkaz find&lt;/strong&gt; [02:10:25] — &lt;a href=&quot;/practical-shell/files&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Přístupová práva a příkaz find&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=_jboOrcE264&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Přístupová práva&lt;/a&gt; [01:11:39]&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=DX5psA-pmu0&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Příkaz find&lt;/a&gt; [00:58:46]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Typické problémy začátečníka, otázky a odpovědi 3&lt;/strong&gt; [02:08:14] — &lt;a href=&quot;/practical-shell/qanda&quot;&gt;&lt;i class=&quot;fa fa-fw fa-desktop&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Prezentace: Typické problémy a konzultace&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=dszjUDuw5V8&amp;amp;list=PLHS-Uhp7t2YscfzR44M035ClqBs7Dz_VR&quot;&gt;&lt;i class=&quot;fa fa-fw fa-youtube-play&quot; aria-hidden=&quot;true&quot;&gt;&lt;/i&gt;Typické problémy začátečníka v shellu 3&lt;/a&gt; [02:08:14]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="vyuka" /><category term="ps" /><category term="shell" /><summary type="html">Cílem seriálu „Shell Prakticky“ je vyzkoušet si samostatně, nebo s video-doprovodem různé apekty používání shellu. Témata rozšířují video-sérii Programování v shellu.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22practical-shell.png%22,%20%22teaser%22=%3E%22practical-shell_tn.png%22,%20%22thumb%22=%3E%22practical-shell_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22practical-shell.png%22,%20%22teaser%22=%3E%22practical-shell_tn.png%22,%20%22thumb%22=%3E%22practical-shell_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Základy webu</title><link href="https://www.wr.cz/web-101/slides" rel="alternate" type="text/html" title="Základy webu" /><published>2021-05-18T19:00:00-05:00</published><updated>2021-05-18T19:00:00-05:00</updated><id>https://www.wr.cz/web-101/web-101</id><content type="html" xml:base="https://www.wr.cz/web-101/slides">&lt;p&gt;&lt;strong&gt;„Webové Prezenace k Základům webu“&lt;/strong&gt; jsou
doprovodným materiálem k výuce statického webu a základním technologiím pro jeho tvorbu.
Jsou vytvořeny v prezentačním systému reveal.js, jako webové stránky. Ideální projektce je
ve webovém prohlížeči (fullscreen) v poměru stran 16:9.&lt;/p&gt;

&lt;p&gt;Jednotlivá podtémata vedou do prezentace na příslušný slide. Někdy je
téma přes několik slidů. Pohyb po slidech je buď pomocí mezerníku
nebo klávesami &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PgUp&lt;/code&gt; a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PgDown&lt;/code&gt;, případně šipkami. Klávesa &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;M&lt;/code&gt; nebo
hamburger vlevo dole otevírá menu s obsahem, klávesa &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ESC&lt;/code&gt; zobrazuje
přehled slidů a klávesa &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;B&lt;/code&gt; zatemní obraz.&lt;/p&gt;

&lt;h2 id=&quot;obsah&quot;&gt;Obsah&lt;/h2&gt;

&lt;p&gt;Cílem výuky Základů webu je jednak seznámení se se základními technologiemi
pro tvorbu statického webu, ale také pochopení hlubších souvislostí webu a jeho uživatelů.
Materíly jsou rozděleny do několika částí, které postupně projdou jazyky pro statické webové stránky
(HTML a CSS), teorii architektury informací (struktury webu) a základy přístupnosti a použitelnosti.
Završením je pak kapitola o návrhu zaměřeného na uživatele, bez něhož by celý web neměl smysl.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;html&quot;&gt;Jazyk HTML (HTML – HyperText Markup Language)&lt;/a&gt; [CS]
&lt;em&gt;Základy jazyka HTML s důrazem na jeho sémantiku.&lt;/em&gt;
    &lt;ul class=&quot;row&quot;&gt;
 &lt;li&gt;Účel jazyka HTML&lt;/li&gt;
 &lt;li&gt;Historie, vývoj&lt;/li&gt;
 &lt;li&gt;Syntaxe a struktura HTML dokumentu&lt;/li&gt;
 &lt;li&gt;Základní typy elementů a atributů&lt;/li&gt;
 &lt;li&gt;Složené typy elementů&lt;/li&gt;
 &lt;li&gt;Tabulka&lt;/li&gt;
 &lt;li&gt;Poznámky a doporučená literatura&lt;/li&gt;
&lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;css&quot;&gt;Kaskádové styly (CSS – Cascading Style Sheets)&lt;/a&gt; [EN]&lt;br /&gt;
&lt;em&gt;Přehled kaskádových stylů, od základů syntaxe až po novější aspekty jazyka.&lt;/em&gt;
    &lt;ul class=&quot;row&quot;&gt;
 &lt;li&gt;Basic principles&lt;/li&gt;
 &lt;li&gt;Syntax&lt;/li&gt;
 &lt;li&gt;Selectors&lt;/li&gt;
 &lt;li&gt;Inheritance&lt;/li&gt;
 &lt;li&gt;Formating (box) model&lt;/li&gt;
 &lt;li&gt;Visual formating&lt;/li&gt;
 &lt;li&gt;Text&lt;/li&gt;
 &lt;li&gt;Generated content&lt;/li&gt;
 &lt;li&gt;Media&lt;/li&gt;
 &lt;li&gt;Layout&lt;/li&gt;
&lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ia&quot;&gt;Architektura informací (IA – Information Architecture)&lt;/a&gt; [EN+CS]&lt;br /&gt;
&lt;em&gt;Alias Informační architektura, tedy jak uspořádat větu, odstavec, stráku i celý web.&lt;/em&gt;
    &lt;ul class=&quot;row&quot;&gt;
 &lt;li&gt;Co je IA&lt;/li&gt;
 &lt;li&gt;Organizace&lt;/li&gt;
 &lt;li&gt;Značení (Labeling)&lt;/li&gt;
 &lt;li&gt;Navigace&lt;/li&gt;
 &lt;li&gt;Vyhledávání&lt;/li&gt;
&lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;a11y&quot;&gt;Přístupnost webových stránek (A11Y – Accessibility)&lt;/a&gt; [EN+CS]&lt;br /&gt;
&lt;em&gt;Přístupný web je takový, který neklade svým uživatelům žádné překážky v jeho používání.&lt;/em&gt;
    &lt;ul class=&quot;row&quot;&gt;
 &lt;li&gt;Co je přístupnost&lt;/li&gt;
 &lt;li&gt;Obecné zásady tvorby přístupného webu&lt;/li&gt;
 &lt;li&gt;Web Content Accessibility Guidelines (WCAG)&lt;/li&gt;
 &lt;li&gt;Pravidla přístupnosti podle zákona ČR&lt;/li&gt;
&lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;u7y&quot;&gt;Použitelnost (U7Y – Usability)&lt;/a&gt; [EN+CS]&lt;br /&gt;
&lt;em&gt;Dobré zvyky a špatné zlozvyky v použitelnosti webu.&lt;/em&gt;
    &lt;ul class=&quot;row&quot;&gt;
  &lt;li&gt;Dobré zvyky webdesignu&lt;/li&gt;
  &lt;li&gt;Špatné zvyky webdesignu&lt;/li&gt;
  &lt;li&gt;Zdroje&lt;/li&gt;
&lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;ucd&quot;&gt;Návrh zaměřený na uživatele (UCD – User Centered Design)&lt;/a&gt; [CS]&lt;br /&gt;
&lt;em&gt;Kompilát přednášek doc. Jana Schmidta o UCD.&lt;/em&gt;
    &lt;ul class=&quot;row&quot;&gt;
 &lt;li&gt;Navrhnout NĚCO pro NĚKOHO&lt;/li&gt;
 &lt;li&gt;Návrh zaměřený na uživatele&lt;/li&gt;
 &lt;li&gt;Návrhář a uživatel&lt;/li&gt;
 &lt;li&gt;Spolupráce s uživateli&lt;/li&gt;
 &lt;li&gt;Testování použitelnosti&lt;/li&gt;
&lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="vyuka" /><category term="web-101" /><category term="web" /><summary type="html">„Webové Prezenace k Základům webu“ jsou doprovodným materiálem k výuce statického webu a základním technologiím pro jeho tvorbu. Jsou vytvořeny v prezentačním systému reveal.js, jako webové stránky. Ideální projektce je ve webovém prohlížeči (fullscreen) v poměru stran 16:9.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22web-101-title.png%22,%20%22teaser%22=%3E%22web-101-title_tn.png%22,%20%22thumb%22=%3E%22web-101-title_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22web-101-title.png%22,%20%22teaser%22=%3E%22web-101-title_tn.png%22,%20%22thumb%22=%3E%22web-101-title_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Blender 09 - Postprocessing (compositing)</title><link href="https://www.wr.cz/blender-09-postprocessing" rel="alternate" type="text/html" title="Blender 09 - Postprocessing (compositing)" /><published>2021-04-19T12:30:00-05:00</published><updated>2021-04-19T12:30:00-05:00</updated><id>https://www.wr.cz/blender-postprocessing</id><content type="html" xml:base="https://www.wr.cz/blender-09-postprocessing">&lt;p&gt;&lt;strong&gt;Postprocessing - úprava renderu, obrázků nebo videí.&lt;/strong&gt;
Ne vždy musí tvorba výsledku končit renderem. Některé operace může být potřeba
provádět s výstupem renderu. Například je možné kombinaovat výce vstupů
(renderů i statických obrázků nebo videí), aplikovat filtry nebo výstupy
transformovat a měnit jenich barevnost. Také je možné maskování objektů a nebo
klíčování videa.&lt;/p&gt;

&lt;p&gt;Postprocessing je možné si představit jako práci v bitmapovém editoru, kdy
kombinujeme různé vrstvy (obrázky), provádíme jejich transformace nebo barevné
úpravy. Při tom používáme různé nástroje a filtry. To přesně se děje při
postprocessingu. V Blenderu se tomu říká &lt;em&gt;Compositing&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;V praxi je možné provádět úpravy ručně v externím nástroji (např. ve photoshopu
nebo gimpu) nad uloženým renderem. Výhoda práce v blenderu je, že je možné ji
parametrizovat a provádět automaticky a opakovaně. Což se hodí především
v situaci, kdy render děláme opakovaně, např. u animace. Také je možné v průběhu
animace parametry jednotlivých operací měnit.&lt;/p&gt;

&lt;p&gt;V deváté části předmětu Blender (BI-BLE) si ukážeme jednak fungování
postprocessingu (compositingu) založeném na nodech a také použítí
některých typických uzlů (nodů) v praxi.
Videa vznikla jako přednáška a navazující cvičení v předmětu BI-BLE (Blender)
na FIT ČVUT v Praze.&lt;/p&gt;

&lt;h2 id=&quot;obsah&quot;&gt;Obsah&lt;/h2&gt;

&lt;p&gt;Na začátku si ukážeme zapnutí a vypnutí postprocessingu (compositingu) a práci
s uzly (node tree). Především nás budou zajímat vstupní a výstupní uzly. Poté
si projdeme jednotlivé kategorie uzlů a jejich zástupce.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/vnEu_ii7Hw4?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=0s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:00:00&lt;/code&gt; Úvod&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=2m59s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:02:59&lt;/code&gt; Zapnutí post processing&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=7m21s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:07:21&lt;/code&gt; Náhled kompozitoru (viewer)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=13m0s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:13:00&lt;/code&gt; Propojení výstupu na více vstupů&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=16m0s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:16:00&lt;/code&gt; Náhledy jednotlivých uzlů (node wrangler)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=18m4s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:18:04&lt;/code&gt; Zpracování obrázku místo renderu&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=22m32s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:22:32&lt;/code&gt; Ukládání mezivýsledků do souborů&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=24m39s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:24:39&lt;/code&gt; Vkládání uzlů v kompozitoru&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=26m36s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:26:36&lt;/code&gt; Kombinace více renderů najednou&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=33m20s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:33:20&lt;/code&gt; Více průchodů renderu (render passes)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=42m24s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:42:24&lt;/code&gt; Odšumění renderu (denoise)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=50m0s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:50:00&lt;/code&gt; Vinětace&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=55m5s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:55:05&lt;/code&gt; Filtry&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=59m45s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:59:45&lt;/code&gt; Změna textury objektů&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=1h1m22s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:01:22&lt;/code&gt; Maska objektů (cryptomatte)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=1h7m59s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:07:59&lt;/code&gt; Dočasné vypnutí uzlu (mute)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=1h9m14s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:09:14&lt;/code&gt; Deformace obrazu&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=1h12m50s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:12:50&lt;/code&gt; Hloubka/vzdálenost od kamery (depth)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=1h16m0s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:16:00&lt;/code&gt; Klíčování pozadí a pozicování videa&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/vnEu_ii7Hw4?t=1h23m0s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:23:00&lt;/code&gt; Dotazy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;práce-studentů&quot;&gt;Práce studentů&lt;/h2&gt;

&lt;p&gt;Úspěšný absolvent předmětu vytváří 2 práce, jednak vlastní showreel a také prezentaci semestrální práce. Obě práce mají formu krátkého videa. Můžete se na ně podívat v playlistech &lt;a href=&quot;https://www.youtube.com/channel/UCkeKYJaciO1LNOVh3PYJBQQ/playlists&quot;&gt;YouTube účtu Multimédia FIT ČVUT&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Studenti průběžně pracují na úkolech (každý týden) v jednotlivých tématech. Z těchto výsledků na konci zkompletují svůj showreel. Ten prezentuje jejich dovednosti průřezově ve různých oblastech Blenderu.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://photos.app.goo.gl/Me5YKiLimG8sGaBK7&quot;&gt;Výsledky devátého úkolu - Postprocessing 2021&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://photos.app.goo.gl/seNxonK2T82yBtjr8&quot;&gt;Výsledky devátého úkolu - Postprocessing 2020&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipPu0GkrSec0WJrNOHl8aUA2rOYTLAS3-HhgHhHPg6pFzbEmuBORrefQJvfTDuh6bA/photo/AF1QipML8gU00aPImxkj8CosNhhJ33B3Pe5Jr42RhcZ-?key=M3hjUGQxZXBhRzVHdnVuOWc5bkNxR21aTTRKSWl3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/pw/AJFCJaVgB8BPHpvYwOnuwHwtrwUTSuTIOzB4DhtdZuF7NGMNWVo-iKVpJbcn8wU-leYM4olMFUewvrXhppIeLXaJzwIUsfvZrsSo1v1dI-ORIEno_wiqmW54uWazMcV-lY4TQzLM22Vb0yd1YxuxAgD2no-X=w1920-h1080-no&quot; alt=&quot;Vojtěch Hieke&quot; /&gt;&lt;em&gt;Vojtěch Hieke (2022)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipPu0GkrSec0WJrNOHl8aUA2rOYTLAS3-HhgHhHPg6pFzbEmuBORrefQJvfTDuh6bA/photo/AF1QipOfy5DEp7FSr9JF2YtVZmElQevOnoGHaK7qLk6_?key=M3hjUGQxZXBhRzVHdnVuOWc5bkNxR21aTTRKSWl3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/pw/AJFCJaU_iZfoQH3V-bN0BvtwSqR55tHQsBG1kSjLPjilST7ehOBOSVJknxx4OUbLBbbWFgAc06vgBWfQi-4Foi9qD9NR6uBV7WsDtoi5xZBHZDd6d3S4krWtH--dgN3eTs_mNE5A52nwWy2sZ4kjH-BG4rYk=w1536-h864-no&quot; alt=&quot;Marat Faizrakhmanov&quot; /&gt;&lt;em&gt;Marat Faizrakhmanov (2022)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kromě práce na úkolech si každý student zvolí jednu oblast Blederu/tvorby, které by se chtěl detailněji věnovat. Např. ruční animace, simulace, sculpting, tvorba rozsáhlejšího světa. V tomto zvoleném tématu pak pracuje na své semestrální práci (např. vytvoření assetů do hry) a její výsledek prezentuje ve formě videa.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=RbjSddl8-gg&amp;amp;list=PLRGHOr2XU5baq6M8oBPWdAcmB5kSvFlW_&quot;&gt;Showreels &amp;amp; Projects 2021&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;htoL81tps://www.youtube.com/watch?v=J8xndr9eaeA&amp;amp;list=PLRGHOr2XU5bZRaGBpY0W27knGukDk_YRZ&quot;&gt;Showreels &amp;amp; Projects 2020&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=C39LGVVKjHA&amp;amp;list=PLRGHOr2XU5bYKWEVRZCCDd7WozLfdp0z7&quot;&gt;Showreels &amp;amp; Projects 2019&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5Y0D69kLPVc&amp;amp;list=PLRGHOr2XU5bYOOYqVubLVNmyWkjAbedIz&quot;&gt;Showreels &amp;amp; Projects 2018&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><author><name></name></author><category term="vyuka" /><category term="graphics" /><summary type="html">Postprocessing - úprava renderu, obrázků nebo videí. Ne vždy musí tvorba výsledku končit renderem. Některé operace může být potřeba provádět s výstupem renderu. Například je možné kombinaovat výce vstupů (renderů i statických obrázků nebo videí), aplikovat filtry nebo výstupy transformovat a měnit jenich barevnost. Také je možné maskování objektů a nebo klíčování videa.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22blender09.png%22,%20%22teaser%22=%3E%22blender09_tn.png%22,%20%22thumb%22=%3E%22blender09_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22blender09.png%22,%20%22teaser%22=%3E%22blender09_tn.png%22,%20%22thumb%22=%3E%22blender09_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Blender 08 - Simulace a rigging</title><link href="https://www.wr.cz/blender-08-simulation" rel="alternate" type="text/html" title="Blender 08 - Simulace a rigging" /><published>2021-04-12T12:30:00-05:00</published><updated>2021-04-12T12:30:00-05:00</updated><id>https://www.wr.cz/blender-simulation</id><content type="html" xml:base="https://www.wr.cz/blender-08-simulation">&lt;p&gt;&lt;strong&gt;Animace pomocí částicových systémů, simulací a rigingu.&lt;/strong&gt; Pokročilejší techniky
animace, které jsou založené složitějších objektech. Jednak jsou založené na
fyzikálních simulacích chování jednotlivých objektů nebo dokonce
jejich velkých skupin. Při animaci pomocí riggingu dochází ke změnám geometrie
komplexních objektů zažených na pózách kostry, na kterou je geometrie navázána.&lt;/p&gt;

&lt;p&gt;Pro různé situace se hodí různé způsoby animace. Každá metoda má své výhody
a omezení. Čím více způsobů znáte, tím lépe a především snáze dokážete vyjádřit
svůj záměr. Animační systém Bleneru se snaží o to, aby potřebné práce pro
vytvoření animace bylo co nejméně.&lt;/p&gt;

&lt;p&gt;V osmé části předmětu Blender (BI-BLE) si ukážeme pokročilejší metody animace
jednotlivých objektů a jejich interakce a také celých skupin objektů založených
na částicových systémech.
Videa vznikla jako přednáška a navazující cvičení v předmětu BI-BLE (Blender)
na FIT ČVUT v Praze.&lt;/p&gt;

&lt;h2 id=&quot;obsah-první-části&quot;&gt;Obsah první části&lt;/h2&gt;

&lt;p&gt;Generování velkého počtu objektů a jejich následná animace je velmi pracná, pokud
by se měla dělat ručně. Ruční animace interakce více objektů je jednak také
velmi pracná, ale především nevypadá realisticky.&lt;/p&gt;

&lt;p&gt;Řešením prvního problému je použití částicového systému, který objekty jednak
vygeneruje, ale také je může animovat podle zvolených parametrů. Např. pohyb v
gravitačním nebo jiném poli, kolize s dalšími objekty a podobně.&lt;/p&gt;

&lt;p&gt;Řešením druhého problému je použití simulačního subsystému Blenderu, který dokáže
počítat jak kolize pevných tak pružných objektů, simulaci kapalin a plynů, nebo
simulaci látky. Objekty mohou také “kreslit” do textur jiných objektů a tím
simulovat např. déšť nebo stopy ve sněhu.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/4WgndIPkGxc?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=0s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:00:00&lt;/code&gt; Úvod&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=3m17s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:03:17&lt;/code&gt; Částicové systémy&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=10m47s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:10:47&lt;/code&gt; Zobrazení částic jako objektů&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=15m58s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:15:58&lt;/code&gt; Kolize částic&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=19m7s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:19:07&lt;/code&gt; Pole ovlivňující částice&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=30m15s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:30:15&lt;/code&gt; Fyzika tuhých objektů (rigid body)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=36m30s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:36:30&lt;/code&gt; Animování pohybu objektů (animated)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=39m40s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:39:40&lt;/code&gt; Dynamické kreslení (dynamic paint)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=1h7m26s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:07:26&lt;/code&gt; Kvalita simulace a čase (substeps)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=1h17m53s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:17:53&lt;/code&gt; Simulace látky (cloth)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=1h20m42s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:20:42&lt;/code&gt; Simulace kapaliny (fluid)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/4WgndIPkGxc?t=1h31m30s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1:31:30&lt;/code&gt; Dotazy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;obsah-druhé-části&quot;&gt;Obsah druhé části&lt;/h2&gt;

&lt;p&gt;Ne vše, co bylo naplánováno jsem stihl představit v první části (přednášce).
Pokračování se věnuje kostrám objektů a navázáním geometrie objektu na kostru.
Změny polohy jednotlivých kostí kostry se pak přenášejí na navázanou geometrii
objektu.&lt;/p&gt;

&lt;p&gt;Postupně si ukážeme vytvoření jednoduché i složitější kostry a navázání geometrie
na ni. S kostrou lze manipulovat jako s ostatními objekty (tzv. příma kinematika)
nebo naopak zvolit polohu např. prstu na ruce a zbytek kostí se podle ní dopočítá
automaticky (tzv. inverzní kinematika).&lt;/p&gt;

&lt;p&gt;Kosti v kostře mohou být také pružné a mohou se deformovat. Tím lze množství
kostí v kostře snížit a celou kostru tak zjednodušit. Pro komplexní postavy,
např. člověka nebo zvířat je možné použít existující kostry a jejich nastavené
omezení pohybu. Také je možné, pomocí plug-inu Rigify, vytvořit pomocné objekty,
které budou s kostrou pohybovat komplexně a animaci tak výrazně zjednoduší. Např.
udělání dřepu, sledování předmětu očima, nebo pohyby a gesta rukou.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/zAevo6veCyk?enablejsapi=1&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; title=&quot;Video na Youtube&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zAevo6veCyk?t=0s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:00:00&lt;/code&gt; Úvod&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zAevo6veCyk?t=2m5s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:02:05&lt;/code&gt; Kostra (armature)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zAevo6veCyk?t=5m27s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:05:27&lt;/code&gt; Propojení kostry s objektem&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zAevo6veCyk?t=10m19s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:10:19&lt;/code&gt; Dopředná a zpětná/inverzní kinematika (FK a IK)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zAevo6veCyk?t=15m32s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:15:32&lt;/code&gt; Inverzní kinematika&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zAevo6veCyk?t=28m45s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:28:45&lt;/code&gt; Pružné kosti (bendy bones)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://youtu.be/zAevo6veCyk?t=34m23s&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0:34:23&lt;/code&gt; Rigify add-on&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;práce-studentů&quot;&gt;Práce studentů&lt;/h2&gt;

&lt;p&gt;Úspěšný absolvent předmětu vytváří 2 práce, jednak vlastní showreel a také prezentaci semestrální práce. Obě práce mají formu krátkého videa. Můžete se na ně podívat v playlistech &lt;a href=&quot;https://www.youtube.com/channel/UCkeKYJaciO1LNOVh3PYJBQQ/playlists&quot;&gt;YouTube účtu Multimédia FIT ČVUT&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Studenti průběžně pracují na úkolech (každý týden) v jednotlivých tématech. Z těchto výsledků na konci zkompletují svůj showreel. Ten prezentuje jejich dovednosti průřezově ve různých oblastech Blenderu.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://photos.app.goo.gl/pv9HEeF11tZ7vbfj7&quot;&gt;Výsledky osmého úkolu - Simulace 2021&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://photos.app.goo.gl/FAQQC5kxCrma5hNW8&quot;&gt;Výsledky osmého úkolu - Simulace 2020&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipObw79U7BWvcAbXDsqbTnGZ4xxS89dmKPNqSWn_L7WRJC9ZCH9CnKGqCPcb0UUEzQ/photo/AF1QipNf5ObiEOvWAyxxlKyuGWNFl9p12WP4eMdT-_JG?key=UGdQNS1DS0l5WjNLWmRiWXZPem9mMVRVQ2NDNnV3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/pw/AL9nZEWs9e9jnTX4FDwFSSmSrH55lxADhADom8u_WTNkPRnBdfJ49ad0AtbfzOMsDiVqcHnCm3CioQo-30vQRXDQ9fF3eenEyEZIdAO1Sa8HLqsurn2RXGa-g_n_pNGBDY9OySnjupwnH7_I4HY0ebOkwbSX=w1920-h1080-no&quot; alt=&quot;Marko Šoltés&quot; /&gt;&lt;em&gt;Marko Šoltés (2021)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipObw79U7BWvcAbXDsqbTnGZ4xxS89dmKPNqSWn_L7WRJC9ZCH9CnKGqCPcb0UUEzQ/photo/AF1QipPsVNOX5PKWndzRLL6dTKOTMqlOs0tHcl8vP47M?key=UGdQNS1DS0l5WjNLWmRiWXZPem9mMVRVQ2NDNnV3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/pw/AL9nZEX-vvtTogf2TfKgWZaFUet5FqM6fyQ3sofgoLD9JXdZJHn8rUrqxY5sQVFIf-FBRF6R56jsckMsDnY0yx-RT91iHfeDhvtFMy88TbFXJUWaSze28W6nHu7BRJFDtJ8TOrXljhe8Vtzmb5OVetOWNyEk=w1920-h1080-no&quot; alt=&quot;David Pešák&quot; /&gt;&lt;em&gt;David Pešák (2021)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipObw79U7BWvcAbXDsqbTnGZ4xxS89dmKPNqSWn_L7WRJC9ZCH9CnKGqCPcb0UUEzQ/photo/AF1QipOvOGRYNKUnRLZ92EdUUO9scuR6pFSwhJBVC0A9?key=UGdQNS1DS0l5WjNLWmRiWXZPem9mMVRVQ2NDNnV3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/pw/AL9nZEWVWqu0hhoQfPQJjca0tcotVWyvn6RLntcCoz6hYV7_LwbQn5lFI_Bdnhh1IntfybGV6tlj320l8e1ZIScu97zzwyh3ldSzqHHSvaB9BLhDEVwzsaT1FD5Y70gSCSGz75KrBDam7S2SpI0pwcIq_cuj=w1920-h1080-no&quot; alt=&quot;Radek Večerník&quot; /&gt;&lt;em&gt;Radek Večerník (2021)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipObw79U7BWvcAbXDsqbTnGZ4xxS89dmKPNqSWn_L7WRJC9ZCH9CnKGqCPcb0UUEzQ/photo/AF1QipMqpQeTXfVS4-3XT1F_VPJAp7QDXDxkFHZUWLyB?key=UGdQNS1DS0l5WjNLWmRiWXZPem9mMVRVQ2NDNnV3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/TTfGkaF5iC1YqnLdSoAfHKv7Dn7uWeeEsIwXNWlcwMSuLFyyUFh5oc8FzECz4EQwr9iAU7Stv-7L5mYpwsEETllzkwq9hnK3f7OKq9dUeTC_y52dKs-8plRBSPGlHMRIqDFH13pHjw=w1920-h1080-no&quot; alt=&quot;Michal Sládek&quot; /&gt;&lt;em&gt;Michal Sládek (2021)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipPbnjQNU5sFYW6zjoWscr5SLCuN8I4dCH7qd0NHCIDHRiBgSO48mt9rZw1eS_sjWg/photo/AF1QipNLz4xNzwwmv-PNn7oP5A3i5g30Qjyw0O2Z9yva?key=Y3pWRWlmSDFIUGNsVDZMdGdtc09iZjRheHZIckR3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/pw/AL9nZEWavDuqtENf4SFqLQiihu_B3hqg9mrn3J5Wkv6czmmpYNy3S3Z4x-8v61J7uHjWjkxWbHesewl6fLAB93bV1lBf8e8-Uz0l7-wAPIf6lkRrp79OImKQrQR5K1VBmIseu-09TbF98iw1Dg6ujMDFZJQ5=w1920-h1080-no&quot; alt=&quot;Martin Němec&quot; /&gt;&lt;em&gt;Martin Němec (2022)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipPbnjQNU5sFYW6zjoWscr5SLCuN8I4dCH7qd0NHCIDHRiBgSO48mt9rZw1eS_sjWg/photo/AF1QipN7ThK3Q2FjPKhJg5mLgGjThzDlGTm_F69hmY6E?key=Y3pWRWlmSDFIUGNsVDZMdGdtc09iZjRheHZIckR3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/pw/AL9nZEXyJwSli5V65Pz-h8yOjBVTGtuTKLgtsAuH1ADv-Wg6QBJZVlNAvTPjN2-INnqLkMT4erTsKBAY-gompvWNmTDTKWIxbLTL31aXw9WUsHQXCRubtMdlWf71yeGuV2OEA8-Acbzn0DMiiUD8nXeEiBMy=w1920-h1080-no&quot; alt=&quot;Vojtěch Hieke&quot; /&gt;&lt;em&gt;Vojtěch Hieke (2022)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://photos.google.com/share/AF1QipPbnjQNU5sFYW6zjoWscr5SLCuN8I4dCH7qd0NHCIDHRiBgSO48mt9rZw1eS_sjWg/photo/AF1QipOOIhyOCwg80uacjEJ1kmKM7_Qy3Uf8xP-XIWI3?key=Y3pWRWlmSDFIUGNsVDZMdGdtc09iZjRheHZIckR3&quot;&gt;
&lt;img src=&quot;https://lh3.googleusercontent.com/pw/AL9nZEWVSKX4j274h0LqLCB5uvGkg5lIRW4CqJXLTaCO8b8QrTB5zg2NjOUkfZigTy8vYaXPY4XIAUhRwtS0oug4uLYBVq83bUrjO9iC9hOMyKiwPeBMFsKjjo47y8plq2UvqD6dGbIMUf97hJ4bpFHa4w7M=w1920-h1080-no&quot; alt=&quot;Valiantsin Lubinski&quot; /&gt;&lt;em&gt;Valiantsin Lubinski (2022)&lt;/em&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kromě práce na úkolech si každý student zvolí jednu oblast Blederu/tvorby, které by se chtěl detailněji věnovat. Např. ruční animace, simulace, sculpting, tvorba rozsáhlejšího světa. V tomto zvoleném tématu pak pracuje na své semestrální práci (např. vytvoření assetů do hry) a její výsledek prezentuje ve formě videa.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=RbjSddl8-gg&amp;amp;list=PLRGHOr2XU5baq6M8oBPWdAcmB5kSvFlW_&quot;&gt;Showreels &amp;amp; Projects 2021&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;htoL81tps://www.youtube.com/watch?v=J8xndr9eaeA&amp;amp;list=PLRGHOr2XU5bZRaGBpY0W27knGukDk_YRZ&quot;&gt;Showreels &amp;amp; Projects 2020&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=C39LGVVKjHA&amp;amp;list=PLRGHOr2XU5bYKWEVRZCCDd7WozLfdp0z7&quot;&gt;Showreels &amp;amp; Projects 2019&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5Y0D69kLPVc&amp;amp;list=PLRGHOr2XU5bYOOYqVubLVNmyWkjAbedIz&quot;&gt;Showreels &amp;amp; Projects 2018&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><author><name></name></author><category term="vyuka" /><category term="graphics" /><summary type="html">Animace pomocí částicových systémů, simulací a rigingu. Pokročilejší techniky animace, které jsou založené složitějších objektech. Jednak jsou založené na fyzikálních simulacích chování jednotlivých objektů nebo dokonce jejich velkých skupin. Při animaci pomocí riggingu dochází ke změnám geometrie komplexních objektů zažených na pózách kostry, na kterou je geometrie navázána.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.wr.cz/%7B%22feature%22=%3E%22blender08.png%22,%20%22teaser%22=%3E%22blender08_tn.png%22,%20%22thumb%22=%3E%22blender08_tn.png%22%7D" /><media:content medium="image" url="https://www.wr.cz/%7B%22feature%22=%3E%22blender08.png%22,%20%22teaser%22=%3E%22blender08_tn.png%22,%20%22thumb%22=%3E%22blender08_tn.png%22%7D" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>