HandyWeb Documentation Vydání 1.0 Jakub Wagner 29.09.2016
Obsah 1 Python 3 1.1 Na kopírování.............................................. 3 1.2 Zkratky.................................................. 3 2 Gnuplot 5 2.1 Tvorba obrázků.............................................. 5 2.2 Vykreslování obrázků.......................................... 5 2.3 Funkce a proměnné............................................ 5 2.4 Fitování dat................................................ 5 2.5 Palety................................................... 6 3 Latex 7 3.1 Vkládání obrázků............................................. 7 3.2 Tabulky.................................................. 7 3.3 Tečky za čísly kapitol.......................................... 7 3.4 Odkazování na rovnice v textu...................................... 8 3.5 Šablony v texmakeru pro vytváření nových souborů.......................... 8 4 Vim 9 4.1 Instalace balíčků............................................. 9 4.2 Vimrc................................................... 9 4.3 Užitečné příkazy............................................. 9 4.4 Začátek.................................................. 10 5 Tmux 11 5.1 Konfigurační soubor........................................... 11 5.2 Používání a příkazy........................................... 11 6 Příkazová řádka 13 6.1 Zkratky příkazové řádky......................................... 13 6.2 Užitečné příkazy v Bashi......................................... 13 7 Git 15 7.1 Zacatky.................................................. 15 7.2 Zalozeni repositare............................................ 15 7.3 Mene pouzivam............................................. 15 7.4 Cizi ucet................................................. 16 7.5 Neco se pokazilo!............................................ 16 i
8 Pythoní balíčky 17 8.1 Struktura balíčku............................................. 17 8.2 setup.py.................................................. 18 9 Markdown 19 9.1 Tabulky.................................................. 19 10 ssh 21 11 Jupyter 23 11.1 Spusteni notebooku........................................... 23 ii
HandyWeb Documentation, Vydání 1.0 Rozhodl jsem se na tento web co nejpřehledněji zapisovat věci, které se naučím, tak doufám, že z toho budete mít něco i Vy. Tato stránka ještě není úplně dodělaná, některé kapitoly obsahují pouze nadpisy, ale brzy přibude i obsah. Obsah: Obsah 1
HandyWeb Documentation, Vydání 1.0 2 Obsah
KAPITOLA 1 Python 1.1 Na kopírování #!/usr/bin/env python 1.2 Zkratky Budu používat takto importované balíčky: import numpy as np import matplotlib.pyplot as plt 1.2.1 Zpracování dat Asi nejdůležitější příkaz pro zpracovávání dat je: np.loadtxt("cestaksouboru", skiprows=pocetpreskocenychradku, usecols=(cislosloupce,), delmiter="rozde První sloupec je samozřejmě nultý. 1.2.2 Grafy Základní příkazy jsou: plt.plot(x, y, label="popis") plt.xlabel("nazevx-oveosy") plt.ylabel("nazevy-oveosy") plt.legend(loc="kdeumistit") plt.show() Jako místo, kde se umístí legenda se nejčastěji používají: upper right upper left lower right lower left 3
HandyWeb Documentation, Vydání 1.0 4 Kapitola 1. Python
KAPITOLA 2 Gnuplot 2.1 Tvorba obrázků Nejprve nastavte v gnuplotu správný terminál a velikost obrázku: set term pngcairo size 1280,768 Dále přidejte k vykonávaným příkazům: set output "NázevObrázku.png"; Příkazy můžete zadávat stejně jako předtím a obrázky se zadaným názvem se Vám budou ukládat do složky, kde jste gnuplot otevřeli. 2.2 Vykreslování obrázků Pokud máte obrázek uložený a chcete ho vykreslit pomocí gnuplotu, uděláte tak příkazem: plot ".image.dat" with image 2.3 Funkce a proměnné V gnuplotu můžete naprosto normálně vytvářet proměnné: NázevKonstanty = HodnotaKonstanty Dále můžete definovat funkce a používat v nich již definované proměnné: f(x) = a*x + b 2.4 Fitování dat Pokud máte data, která chcete nafitovat pomocí nějaké Vámi určené funkce, nejprve funkci nadefinujte a poté napište: fit f(x) "./Data.txt" 5
HandyWeb Documentation, Vydání 1.0 Takto fitujete data uložená v souboru Data.txt pomocí funkce f(x) kterou jste předtím definovali. Pokud víte, že fitujete, například, lineární závislost a víte hodnotu jednoho koeficientu, můžete ho nastavit jako proměnnou a fitovat jen pomocí jedné proměnné: fit f(x) "./Data.txt" via b Takto se mění pouze parametr b, přičemž parametr a jste již zadali. 2.5 Palety Pokud se Vám nelíbí základní nastavení barev v gnuplotu, dá se lehce změnit na nějakou jinou přednastavenou nebo na kombinaci tří funkcí. Pomocí funkcí ji změníme takto: set palette rgbformulae,, kde prázdná místa jsou čísla funkcí (je jich něco přes třicet). Některé zajímavé palety: gray = černobílá 21,22,23 = historická 6 Kapitola 2. Gnuplot
KAPITOLA 3 Latex 3.1 Vkládání obrázků Na vkládání obrázků, které centruji používám: \begin{center} \includegraphics[scale=0.5]{nazevobrazkuveslozce.png} \captionof{figure}{nazevkterysezobrazi} \end{center} 3.2 Tabulky Na tabulky používám: \begin{table}[h] \caption{nazevtabulky} \begin{adjustwidth}{-.5in}{-.5in} \begin{center} \begin{tabular}{} \end{tabular} \end{center} \end{adjustwidth} \end{table} Tabulka je pak centrovaná, má nadpis, který si můžete zvolit a navíc, pokud je široká, tak se roztahuje od středu a vleze se na celou stránku A4, přičemž ignoruje okraje. Pokud stránku dělíte na části, nezapomeňte, že prostředí minipage se vkládá až za prostředí table. 3.3 Tečky za čísly kapitol Tečky za čísly kapitol a podkapitol přidáte příkazy: \renewcommand{\thesection}{\arabic{section}.} \renewcommand{\thesubsection}{\thesection\arabic{subsection}.} 7
HandyWeb Documentation, Vydání 1.0 3.4 Odkazování na rovnice v textu Pokud používáte pro tvorbu rovnic equation a ne dolary, můžete dovnitř vložit label a rovnici tak pojmenovat a později na ni v textu odkazovat. Tedy rovnice vypadají nějak takto: \begin{equation} \label{nazevrovnice} \end{equation} A v textu na ně odkážete pomocí eqref : \eqref{nazevrovnice} 3.5 Šablony v texmakeru pro vytváření nových souborů V texmakeru najděte v menu Uživatel ---> Uživatelské značky ---> Upravit uživatelské značky, pak si nějakou vyberte, pojmenujte a zkopírujte tam text, který chcete používat jako šablonu. Poté, když vytvoříte nový soubor tak zmáčknete například jen SHIFT+F1 a můžete psát do šablony. Doporučuji používat tečky místo nadpisů, aby jste mohli rychle doplňovat nadpisy pomocí tabulátoru 8 Kapitola 3. Latex
KAPITOLA 4 Vim 4.1 Instalace balíčků Jelikož vim má složky pro skripty, nápovědy apod., tak je pro uživatele trochu nepřehledné něco hledat a vědět, kde se co nachází. Když si nainstalujete skript Pathogen, tak každý skript, balíček apod. bude mít svou vlastní složku ve ~/.vim/bundle/, což je trochu přehlednější. 4.1.1 Pathogen Nejprve začněte tím, že ve složce ~/.vim/ vytvoříte složky: mkdir autoload mkdir bundle Ve složce autoload použijte příkaz: curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim Do souboru ~/.vimrc, což je konfigurační soubor vimu připište: set nocompatible execute pathogen#infect() call pathogen#helptags() 4.2 Vimrc 4.3 Užitečné příkazy 4.3.1 Nahrazení výrazu Pro nahrazení výrazu na několika řádcích současně použijte: :1,5s/slovo/nahrazene/gc Takto Vám vim označí všechny výrazy na daných řádcích (1 až 5) a postupně se Vás bude ptát, zda ho má nahradit. 9
HandyWeb Documentation, Vydání 1.0 4.3.2 Kopírování velkého množství věcí Příkaz :set wrap dlouhé řádky zalomí tak, aby se všechno vlezlo na Vaši obrazovku: :set wrap 4.3.3 Zvýšení čísla Aniž by jste vstupovali do insert módu, můžete zvýšit číslo, na kterém máte kurzor, stiskem CTRL+A. Pokud předtím zmáčknete nějaké číslo, číslo na kurzoru se zvětší o Vámi stisknuté číslo, ne o jedničku. 4.4 Začátek Nejprve začněte tím, že do terminálu napíšete vimtutor a projdete si tento tutoriál. 10 Kapitola 4. Vim
KAPITOLA 5 Tmux 5.1 Konfigurační soubor Vytvořte soubor ~/.tmux.conf a vepište do něj: unbind C-b set -g prefix C-a bind C-a send-prefix 5.2 Používání a příkazy Doporučuji začít tím, že napíšete: tmux ls Tak zjistíte, zda už máte vytvořený nějaký tmux, popřípadě kolik, jak se jmenují a kolik mají otevřených oken. K nějakému z těchto terminálu se připojíte pomocí: tmux attach -t NazevTmuxu Pokud žádný tmux spuštěn napište prostě tmux. Okno přejmenujete: Ctrl+a, Celé tmuxovské sezení přejmenujete: Ctrl+a $ Odpojíte se: Ctrl+a d 11
HandyWeb Documentation, Vydání 1.0 12 Kapitola 5. Tmux
KAPITOLA 6 Příkazová řádka 6.1 Zkratky příkazové řádky Ctrl+Shift+T = Vytvoření záložky 6.2 Užitečné příkazy v Bashi ls -sh <Název> = Zjištení velikosti souboru nebo všech souborů v adresáři du -h <NázevSložky> = Zjištení velikosti složky 13
HandyWeb Documentation, Vydání 1.0 14 Kapitola 6. Příkazová řádka
KAPITOLA 7 Git 7.1 Zacatky Po vytvoreni slozky, ve ktere je Vas projekt napiste: git init Dalsim dulezitym prikazem je git status, ze ktereho se dozvite, zda pribyli nejake nove soubory, ktere jeste nemate verzovane pomoci gitu. Po vytvoreni noveho souboru jej muzete zaverzovat pomoci (nakonec pridat jmeno souboru): git add Dale ale jeste musite pouzit (nakonec opet pridat jmeno souboru): git commit -m, kde -m slouzi k napsani zpravy mezi uvozovky. Durazne doporucuji takto pouzivat a vzdy napsat alespon kratkou zpravu, co se zmenilo. 7.2 Zalozeni repositare S predchozimi prikazy muzete pracovat sami na svem pocitaci, ale pokud chcete mit vse ulozene na bitbucketu, musite jeste slozku nahrat na bitbucket: git remote add origin git@bitbucket.org:user/nameofrepository.git Prikazem: git push Vse, co mate commitle poslete na bitbucket. 7.3 Mene pouzivam Prikaz: 15
HandyWeb Documentation, Vydání 1.0 git log Vam dava informaci o ruznych verzich souboru, ktere jste commitli. 7.4 Cizi ucet Kliknutim na Fork v cizim projektu si ho zkopirujete k sobe. Prikazem: git clone git@bitbucket:user/directory.git si stahnete cely projekt (at svuj nebo cizi, pokud ho mate na uctu). 7.5 Neco se pokazilo! Kdyz se neco pokazi a vy chcete vse vratit do posledniho commitu, pouzijte: git reflog Ten Vam vypise posledni commity, vyberte si nejaky (treba ten posledni, pokud se do nej chcete vratit) a dale pouzijte: git reset --hard NumberOfCommit 16 Kapitola 7. Git
KAPITOLA 8 Pythoní balíčky 8.1 Struktura balíčku Struktura balíčku by mohla vypadat nějak takto: - NazevProjektu - setup.py - README.md - HlavniNazev - init.py - VedlejsiNazev - init.py - skripty.py - prikazy.py NazevProjektu je prostě pouze název projektu, hlavní složky, ve které je uložen a pod tímto jménem jej budete mít i na bitbucketu. *setup.py* je soubor, ve kterém lze nalézt nejdůležitější informace o balíčku a slouží k instalaci. *README.md* se zobrazuje na první stránce projektu na bitbucketu. HlavniNazev je název Vašeho balíčku. V této složce se vytváří další složky, které teprve obsahují skripty. První * init.py* obsahuje pouze: import ('pkg_resources').declare_namespace( name ) VedlejsiNazev je název nějaké části celého balíku. Těchto složek tu může být mnoho. Druhý * init.py* by měl obsahovat importy všech funkcí, které jsou potřeba v prikazy.py. skripty.py by měly obsahovat obecné funkce, které se volají z prikazy.py. Těchto souborů tu znovu může být libovolně mnoho. prikazy.py by měly obsahovat všechny spustitelné příkazy, které balíček má. 17
HandyWeb Documentation, Vydání 1.0 8.1.1 Příklad struktury 8.2 setup.py from setuptools import setup, find_packages from setuptools.command.test import test as TestCommand version = "0.1.0" setup(name="nazevprojektu", version=version, scripts=["probe_utils.py"], description="utilities for probe simulations", long_description="""\ """, classifiers=[], # Get strings from http://pypi.python.org/pypi?%3aaction=list_classifiers keywords="", author="jakub Wagner", author_email="somnambwl@gmail.com", url="", license="gplv3", packages=find_packages(exclude=["ez_setup", "examples", "tests"]), include_package_data=true, zip_safe=true, install_requires=[ # -*- Extra requirements: -*- "cleo", "h5py", ], entry_points=""" # -*- Entry points: -*- """, tests_require=["pytest"], namespace_packages=["probe"], cmdclass={"test": PyTest} ) 18 Kapitola 8. Pythoní balíčky
KAPITOLA 9 Markdown 9.1 Tabulky Tabulky se v markdownu dělají pomocí. Tento znak od sebe odděluje sloupce. Na první řádek se píší nadpisy, druhý řádek musí být vyplněn napřeskáčku spojníky a čarami - - - -, přičemž se začíná spojníkem 19
HandyWeb Documentation, Vydání 1.0 20 Kapitola 9. Markdown
KAPITOLA 10 ssh Abyste se mohli připojit na vzdálený počítač bez neustálého zadávání hesla, vygenerujte nejprve na svém počítači klíč: ssh-keygen Vše odklikejte a poté tento klíč zkopírujte na vzdálený počítač: ssh-copy-id user@hostname.example.com 21
HandyWeb Documentation, Vydání 1.0 22 Kapitola 10. ssh
KAPITOLA 11 Jupyter 11.1 Spusteni notebooku Jupyter notebook spustite prikazem (nejprve se presunte do slozky, kde chcete notebook spustit): jupyter notebook Pokud chcete spustit pouze konkretni notebook: jupyter notebook NazevNotebooku 23