Ćwiczenia

[Data Brain]

One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one’s greatest efforts.

— Albert Einstein

In essence: What doesn’t kill you makes you smarter.

Bash

Zadania do wykonania w laboratorium:

W skryptach interaktywnych warto niekiedy użyć jednego z narzędzi:

Uważaj na człowieka, którego nie interesują szczegóły.

— William Feather

LaTeX

Zadania do wykonania w laboratorium:

Zadania opisowe

Blogger #1 (1995)

[Jorn Barger]

Jorn Barger (ukuł termin „weblog”)

Rozwiązania zadań opisowych należy umieścić na swoim11 blogu. Na przykład, rozwiązania ćwiczeń LaTeX-owych, powinny być dostępne pod jakimś takim URL:

http://sigma.ug.edu.pl/~wbzyl/sp/2009-11-22-tex.html

Oczywistości: 1. Zamiast wbzyl trzeba wstawić swój login, no i data będzie też inna. 2. Najprościej będzie dodać bloga do swojego repo na Githubie.

Edytor

1. Przygotować post ze ściągą do wyrażeń regularnych rozpoznawanych przez program egrep.

Markdown

1. Przećwiczyć notację Markdown online, na przykład tutaj

Grep

1. Wymyśl dwa zadania używające polecenia egrep i nietrywialne wyrażenie regularne.

Skrypty

1. Poprawić skrypt makedict.sh z wykładu tak, aby rozpoznawał polskie litery. Opisać jak ten skrypt działa.

2. W jBlogu jest kilka napisów, które należy wymienić, na przykład, w pliku index.html:

title: WB_Blog

a w pliku _layouts/default.html:

<meta name="author" content="Włodek Bzyl" />

Napisać prosty skrypt korzystający z programu sed wymieniający wszystkie takie napisy.

LaTeX

1. Zadania rozwiązywane w laboratoriach, na przykład zadania z „Laboratorium 2”, to tekst z listą wypunktowaną (otoczenia enumerate, itemize) oraz tytulariami (polecenia section, paragraph).

Wskazówka: Zajrzyj na strony Wiki: Documentation of the code completion feature, Some tips for using TeXworks.

Git

1. Sklonować repozytorium programu Git:

git clone git://github.com/git/git.git

Poniższe polecenia wykonać w sklonowanym repozytorium:

find . -type f -not -regex '\./\.git/.*' | wc -l
find . -type f -not -regex '\./\.git.*' -print0 | xargs -0 cat | wc -l
find . -name '*.[hcS]' -not -regex '\./\.git.*' | xargs cat | wc -l
git log --no-merges --pretty=oneline v1.7.5..v1.7.6 | wc -l
git diff --shortstat v1.7.5..v1.7.6

Co każde z tych poleceń wylicza?

Na koniec, jeszcze jedno polecenie:

git shortlog --no-merges

2. Napisać historyjkę pokazującą jak można wyszukać commit w którym po raz pierwszy pojawiła się określona funkcja. Umieścić historyjkę na jBlogu pod git-grep.

3. Napisać historyjkę ilustrującą użycie polecenia git cherry-pick. Umieścić historyjkę na jBlogu pod git-cherry-pick.

4. Przeczytać Git Repo Hosting via SSH i zastosować w praktyce. (dobrać jakiś projekt na 2–3 osoby).

Linki