Základní informace

Tyto stánky jsou zatím ve výstavbě. To co tu zatím není můžete zatím najít na starší verzi webu https://mamut.spseol.cz/nozka/.

blik :-O

Občas mě najdete in online; (nejen) pro podporu výuky…

  •  máme zřízený server na Discordu
  •  a také skupinu na Telegramu
  • Už jsme zaznamenali nějaké zneužití, takže zde neuvádím zvací odkazy, ale každému, kdo o něj (osobně) požádá, jej rád zašlu.

Moje projekty

  • Marrek.cz -- osobní webové stránky a blog.
  • OpenZone -- volnočasové aktivity související se vším, čím se zabývám.
  • pyOdorik -- klientská CLI aplikace pro snadné vyhledání kontaktu a obědnání zpětného volání u VoIP operátora Odorik.cz.
  • pwscly -- CLI aplikace s fuzzy(fzy) vyhledáváním pro snadnou práci s hesly ve formátu .pwsafe3

neDávné Posty všechny posty

Secure Shell II Klíče, vzdálené příkazy, tunely
posted in PSKáčko

Pohodlíčko¶ Aby nebylo nutné stále znovu a znovu zadávat heslo, je možné ověřovat identitu pomocí klíče (souboru, uloženého na disku). Celý proces autentizace je založen na asymetrické kryptografii. Nejprve je nutné vygenerovat si keyPair. To udělá příkaz ssh-keygen. 1 2 3 4 5 6 7 8 9 10 11 12 …

Webový server Instalace a konfigurace Apache
posted in PSKáčko

Pod pojmem webový server rozumíme počítačový program (někdy je tímto pojmem označován počítač), který je zodpovědný za vyřizování požadavků pomocí protokolu HTTP. Klientem, který dává požadavky je většinou webový prohlížeč. Instalace, spuštění¶ Webový server je počítačový program, proto existuje více jeho implementací. Například od firmy Microsoft pochází program IIS. Asi …

Secure Shell I Vzdálené přihlášení a přenos souborů
posted in PSKáčko

SSH umožňuje bezpečnou komunikaci mezi dvěma počítači, která se využívá pro zprostředkování přístupu k příkazovému řádku, kopírování souborů a též jakýkoliv obecný přenos dat (s využitím síťového tunelování). Zabezpečuje autentizaci obou účastníků komunikace, transparentní šifrování přenášených dat, zajištění jejich integrity a volitelnou bezeztrátovou kompresi. Server standardně naslouchá na portu TCP …

Instalace software a nastavení sítě Balíčkovací systém, konfigurace sítě
posted in PSKáčko

Tento text předpokládá, že každý máte nainstalovaný svůj vlastní počítač s Linuxem. Používáme distribuci Debian GNU/Linux a postupy zde popsané jsou většinou aplikovatelné jen v této distribuci nebo v distribucích, které jsou z Debianu odvozené (například Ubuntu). Instalace software¶ Programy a knihovny, které programy používají do sebe musí zapadat …

Shell — test Samostatná práce
posted in PSKáčko

Shell¶ Vytvořte proměnnou JMENO, do které uložíte své jméno a příjmení. Vytvořte proměnnou DNES a uložte do ní výstup programu date. Vytvořte vzor, kterému v shellu vyhoví všechny soubory, které začínají na písmeno a nebo b nebo c a mají příponu .txt Soubory¶ Ve svém domovském adresáři vytvořte adresář test …

Základy skriptování Shellové skripty, podmínky, cykly
posted in PSKáčko

Unixový shell se dá použít nejen pro interaktivní práci, ale i jako programovací jazyk. Jednotlivé příkazy můžeme zapsat do souboru a tento soubor nechat interpretovat příkazovým interpretem. Tento soubor je potom označován jako skript nebo shellový skript. Hlavička¶ Aby bylo možné skript jednoduše spouštět je nutné opatřit ho hlavičkou: První …

Počáteční nastavení Počáteční nastavení příkazového interpretu
posted in PSKáčko

Login shell¶ Shell, který se spustí při přihlášení se nazývá login shell. Je to například shell, který získá uživatel po přihlášení na textovou konzolu nebo po přihlášení na vzdálený systém pomocí služby SSH. Každý jiný shell, který nebyl spuštěn systémem automaticky po přihlášení (například jednotlivá okna grafického terminálu) není login …

Procesy bez přihlášení Plánované spouštění programů a správce sezení
posted in PSKáčko

Skupiny procesů¶ Každý proces je vytvořen jako potomek svého rodiče. Procesy jsou na sobě závislé a tvoří skupiny. Například program man běží v shellu a zároveň používá program less. V následujícím příkladu vidíme ve sloupci PPID PID rodičovského procesu a ve sloupci PGRP PID vedoucího skupiny. Jestli-že bude z jakéhokoliv …

Procesy Správa procesů, signály
posted in PSKáčko

Proces (program)¶ Proces (anglicky process) je v informatice název pro spuštěný počítačový program. Proces je umístěn v operační paměti počítače v podobě sledu strojových instrukcí vykonávaných procesorem. Obsahuje nejen kód vykonávaného programu, ale i dynamicky měnící se data, která proces zpracovává. Jeden program může v počítači běžet jako více procesů …

Vstupy, výstupy, přesměrování Přesměrování vstupu a výstupu, roury
posted in PSKáčko

Vstup a výstup¶ Jedním ze základních stavebních kamenů operačního sytému Unix je následující přístup: Každý program se chová jako filter. Vždy se předpokládá, že výstup jednoho programu se může stát vstupem druhého programu. Univerzálním komunikačním rozhraním je text. V Unixu má každý proces (program) standardní vstup stdin, standardní výstup stdout …

Přístupová práva Oprávnění souborů a adresářů v Unixu
posted in PSKáčko

Přístupová práva v Unixu umožňují ve víceuživatelském systému definovat přístup k adresářům a souborům na základě uživatelských účtů nebo skupin uživatelů. Kontrola přístupu umožňuje na systémové úrovni zabránit uživatelům, aby záměrně nebo omylem cizí data poškodili nebo zneužili. Základní oprávnění (označována také jako tradiční unixová oprávnění), která v unixových systémech …

Základní příkazy Cesty, soubory, adresáře, odkazy
posted in PSKáčko

Na této stránce naleznete přehled základních příkazů. Pokud se chcete dozvědět víc podívejte se na seriál Unixové nástroje. Zápis cesty¶ V příkazech zapisujeme velice často cesty k souborům. Jako oddělovač adresářů se používá znak lomeno /. Například 1 2/home/students/pepa MojeData/soubor.txt Cestu lze zapsat relativně, nebo absolutně …

Zpracování příkazového řádku Proměnné, expanze, návratové hodnoty
posted in PSKáčko

Před spuštěním příkazu provádí shell nad příkazovou řádkou několik transformací: Expanze proměnných¶ Proměnnou vytvoříme pomocí znaku = 1PROMENA=data Její obsah je možné vybrat pomocí znaku $: 1ls $PROMENA Existují i proměnné speciálního významu: Proměnná Význam $$ PID shellu $! PID posledního procesu spuštěného na pozadí $? návratová hodnota posledního dokončeného procesu Expanze …

Úvod do Linuxu Příkazový řádek a manuálové stránky
posted in PSKáčko

Příkazový řádek¶ Základním komunikačním rozhraním v OS Unix je příkazový řádek. Ihned po přihlášení se uživateli spustí tzv. příkazový interpret neboli shell. Ve většině Linuxových distribucí je jako výchozí shell nastaven program Bash. Ale nabídka je mnohem větší: Např. C shell, Korn shell nebo můj oblíbený Z shell. Unixový shell …

PSK Počítačové sítě a komunikační technika
posted in PSKáčko

Linuxový Shell¶ Úvod do Linuxu Zpracování příkazového řádku Základní příkazy Přístupová práva Vstupy, výstupy, přesměrování Procesy Procesy bez přihlášení Počáteční nastavení Základy skriptování Shell — test Instalace software a nastavení sítě Secure Shell I Secure Shell II Webový server Přenos informací¶ Zatím jen na staré verzi webu: https://mamut.spseol.cz …

Céčko — pác věcí, kterých byste si fakt měli všimnout
posted in MITka

Je hodně věcí, o kterých se dá mluvit v souvislosti s jazykem C. Nechci sem psát učebnici, protože je jich napsaných spousta. Mám ale dojem, že je potřeba napsat malý přehled toho, co byste měli v souvislosti s programováním mikroprocesorů vzít jistě v potaz. Zde tedy nabízím výcuc, který by …

Vývoj STM8 s OpenSource nástroji
posted in MITka

Vývojové nástroje jsou asi největší slabinou celého ekosystému STM8. Výrobce dodává vývojové prostředí STVD (návod zde), které je sice dostačující, ale staré a již nevyvíjené. Navíc se občas stane, že na nějakém PC je problém to rozjet. Kompilátor Cosmic sice funguje, ale ta neustálá kontrola licence, je fakt opruz; … a …

Oddělená kompilace a vlastní knihovny
posted in MITka

Když začínáte programovat, máte všechno v jednom souboru. To je v pohodě, dokud je program krátký. Jakmile ale začne růst, stane se z něj nepřehledný moloch. V Céčku se tohle řeší tak, že si program rozdělíte do více souborů — modulů. Každý modul obsahuje funkce, které spolu logicky souvisí. Pojďme …

Malý kurz STM8-GDB debuggin s GDB
posted in MITka

Tento post je součástí série článků o vývoji pro STM8 s OpenSource nástroji. Celý popis toolchainu najdete v postu Vývoj STM8 s OpenSource nástroji GDB (GNU Debugger) je standardní nástroj na hledání chyb v software. Pokud budeme chtít program krokovat a za běhu se dívat do proměnných budeme potřebovat upravený …

Git Distribuovaný systém správy verzí
posted in Programování

Git najdete na https://git-scm.com/. Ovládá se z příkazové řádky. Pokud toužíte po nějakém grafickém ovládání stačí si vybrat z dlouhého seznamu ten, co se vám bude zdát nejhezčí. GitHub má svou vlastní grafickou aplikaci. Vynikajícím začátkem s Gitem je volně šiřitelná kniha Pro Git, ve které najdete vše …

Hartware pro Mikroprocesorovou techniku
posted in MITka

Náměty pro hardware a jiné pomůcky¶ Nucleo-8S208RB¶ Ve výuce používáme vývojovou desku Nucleo-8S208RB s mikroprocesorem STM8S208RB. Tato deska je (ale nemusí být) napájena z USB. Obsahuje programátor s HW debugerem a USB2UART bridge. Můžete si zvolit pinout, který je Arduino-kompatibilní nebo plnohodnotný pinout, který sedí na univerzální PCB …

pip a venv Jak nainstalovat balíček pro Python
posted in Programování

pip je instalátor balíčků pro Python. Kromě toho, že umí nainstalovat balíček, tak umí nainstalovat i všechny jeho závislosti a umí tyto balíčky spravovat. To znamená, že kromě akce install existuje i akce unistall nebo list. Někdy se stane, že při zadání příkazu pip obdržíte pouze hlášení, že příkaz neexistuje …

Základní základy pro práci s STM8
posted in MIT

Zde je (nebo se postupně tvoří) seznam znalostí, které byste opravdu měli vědět. Kdykoli. Kdekoli. Bez velkého přemýšlení a přípravy. a b

MIT Mikroprocesorová technika
posted in MITka

Pro výuku mikroprocesorové techniky používáme v současné době mikroprocesory řady STM8S. OpenSource toolchain Hardware Projektové úlohy Základní základy Gitlab: Zdrojáky Dokumentace¶ Celá řada STM8S používá stejnou sadu periferií. Jejich popis najdete v reference manuálu zde. Různé čipy pak obsahují různou sadu těchto periferií. Co přesně se nachází na kterém čipu …

Projektové úlohy MIT
posted in MITka

Co se od vás očekává?¶ Každý žák vypracuje několik projektových úloh dle vlastní volby. Zadání bude nejprve schváleno vyučujícím, potom se můžete dát do práce. Níže ( tady a tam ) uvádím několik nápadů na zadání, kterými se můžete nechat inspirovat pokud žádný nápad nemáte. Jak bude vypracovaný projekt vypadat?¶ Vypracovaný projekt …

PWA Programování webových aplikací
posted in Programování

Python¶ Programujeme v jazyce Python, proto zde platí prakticky vše, co pro PRG. Instalace knihoven¶ Budeme potřebovat modul Flask. Jeho instalaci zajistí pip. Doporučuji přečíst si celý post věnovaný pipu a virtuálnímu prostředí. Ve Windows to může vypadat třeba takto: 1pip install flask V Linuxu spíš takto: 1pip3 …

Generování zvuku — základy
posted in MITka

Zvuk je jak známo mechanické vlnění. Pro jeho vyloudění tedy potřebujeme nějaký “vlnič” — tedy elektro-akustický měnič. Nejjednodušší je asi použít piezo měnič. Ten má ovšem poněkud omezený frekvenční rozsah. Jeho frekvenční charakteristika může vypadat například takto: (Mimochodem prý existuje nějaký výzkum, podle kterého optimální frekvence pro budík je 100 Hz …

Sítě Počítačové/Datové sítě
posted in SÍTě

Taháky¶ Příkazy pro Linux a Router OS Malá pomůcka pro dělení na podsítě Pracovní listy¶ Všechny pracovní listy v jediném souboru: vse.pdf. Připojení do sítě: Směrování — Linux router: Směrování — spousta místa pro vaše poznámky: Směrování s dělením na podsítě: Video-návody¶ Maska sítě¶ Maska sítě Rozdělení na podsítě Síťování ve …

Dělení v pevné řadové čárce
posted in MITka

Pevná řádová čárka je způsob jak v paměti reprezentovat reálné číslo. To je v paměti uloženo jako celé číslo (int) ale při jeho reprezentaci se uvažuje, že je někde pomyslná desetinná čárka. Proč bych něco takového chtěl? V Céčku přece můžu použít flat a nemusím se dál o nic starat …

PRG Programování v jazyce Python
posted in Programování

Tahák¶ Vytvořil jsem tahák, kde je z Pythonu více-méně vše, co byste měli mít v pohotovostní výbavě. Tyto texty lze číst buď na Githubu nebo nbvieweru. Instalace¶ návod zde. Klíčové je nainstalovat i pip a přidat si Python do proměnné prostředí PATH: Add Python to PATH, add Python to enviroment …

VSCode/Codium Pokročilý editor zdrojových kódů
posted in Programování

V poslední době se mi jako editor nejvíc osvědčil VSCode/Codium. Já osobně sice používáme VIm, ale ve výuce a se studenty používáme VSCode/Codium. Visual Studio Code je brilantní open-source editor z dílny firmy Microsoft s vestavěnou podporou pro systém Git. Editor je multiplatformní, takže je jedno jestli používáte …

Chocolatey The package manager for Windows
posted in Programování

Chocolatey je správce balíčků pro operační systém windows. Dá se říct, že se snaží o co nejjednodušší instalaci software. Podobný způsob instalace je znám z linuxových distribucí. Já tento způsob instalace doporučuji a zatím se mi jen a jen osvědčil. Nemusíte SW nikde dlouze hledat instalovat atd. Například instalaci VSCodia …

Ultrazvukový měřič vzdálenosti pomocí timeru TIM2
posted in MITka

zde se časem objeví zajímavý text :) Zdrojové kódy¶ Kompletní zdrojové kódy naleznete v repositáři na GitHubu: základní princip — větev princip main.c řešení typu Stavový automat — větev stav_automat main.c

Použití časovače jako generátoru PWM
posted in MITka

TIM2 a TIM3¶ zde se časem objeví zajímavý text :) Zdrojové kódy¶ Kompletní zdrojové kódy naleznete v repositáři na GitHubu: RGB LED — RGB_LED main.c

Základní použití časovače
posted in MITka

Náš STM8S208RB má na těle celkem čtyři časovače: TIM1, TIM2, TIM3 a TIM4. TIM4¶ TIM4 je nejjednodušší. Čítač je 8-bitový a předdělička umožňuje dělit kmitočet /1, /2, /4, /8, /16, /32, /64 a /128. Auto-reload register říká kam až se bude čítat — tedy nastavuje strop časovače. Nastavení se děje pomocí …