sp-tutorial 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  # Środowisko Programisty
2
2
 
3
- Gem zawierający notatki do wykładu z „Środowiska Programisty”.
3
+ Gem zawierający notatki do wykładu „Środowisko Programisty”.
4
4
 
5
5
 
6
6
  ## Instalacja
@@ -16,11 +16,15 @@ Sprawdzamy gdzie w systemie został zainstalowany gem *sp-tutorial*:
16
16
 
17
17
  gem which sp-tutorial
18
18
 
19
- Przechodzimy do tego katalogu i uruchamiamy aplikację:
19
+ Aplikację uruchamiamy w takis sposób:
20
20
 
21
- <pre>rackup <i>ścieżka do katalogu z gemem</i>/lib/config.ru -p 8008
21
+ <pre>rackup /«<i>ścieżka do katalogu z gemem</i>»/lib/config.ru -p 8008
22
22
  </pre>
23
23
 
24
+ Na przykład:
25
+
26
+ rackup rackup /usr/lib/ruby/gems/1.8/gems/sp-tutorial-0.3.0/lib/config.ru -p 8008
27
+
24
28
  Po uruchomieniu aplikacja jest dostępna z URL:
25
29
 
26
30
  http://localhost:8008/
data/Rakefile CHANGED
@@ -6,25 +6,26 @@ begin
6
6
  require 'jeweler'
7
7
  Jeweler::Tasks.new do |gemspec|
8
8
  gemspec.name = "sp-tutorial"
9
- gemspec.summary = "Notatki do wykladu z Srodowiska Programisty."
10
- gemspec.email = "matwb@univ.gda.pl"
9
+ gemspec.summary = "Notatki do wykladu Srodowisko Programisty."
10
+ gemspec.email = "matwb@ug.edu.pl"
11
11
  gemspec.authors = ["Wlodek Bzyl"]
12
12
  gemspec.homepage = "http://github.com/wbzyl/sp-ii"
13
13
 
14
14
  gemspec.description = <<-EOF
15
- Notatki do frameworka Rails3
15
+ Notatki do wykladu: Srodowisko Programisty
16
16
  EOF
17
17
 
18
18
  gemspec.files = FileList['lib/**/*', "Rakefile",
19
19
  "VERSION.yml", "sp-tutorial.gemspec"]
20
-
20
+
21
21
  gemspec.add_runtime_dependency 'rack'
22
22
  gemspec.add_runtime_dependency 'sinatra'
23
23
  gemspec.add_runtime_dependency 'rdiscount'
24
24
  gemspec.add_runtime_dependency 'ultraviolet'
25
- gemspec.add_runtime_dependency 'sinatra-rdiscount'
26
25
  gemspec.add_runtime_dependency 'rack-codehighlighter'
27
-
26
+ gemspec.add_runtime_dependency 'sinatra-rdiscount'
27
+ gemspec.add_runtime_dependency 'sinatra-static-assets'
28
+
28
29
  gemspec.rubyforge_project = 'sp-tutorial'
29
30
  end
30
31
  Jeweler::GemcutterTasks.new
@@ -1,5 +1,5 @@
1
1
  ---
2
- :minor: 3
3
- :patch: 0
4
2
  :major: 0
3
+ :minor: 3
4
+ :patch: 1
5
5
  :build:
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  #logo {
16
- font: normal 256%/1 "Cyklop", "DejaVu Sans", sans-serif;
16
+ font: italic 256%/1 "Cyklop", "DejaVu Sans", sans-serif;
17
17
  margin-bottom: 24px;
18
18
  }
19
19
 
@@ -0,0 +1,296 @@
1
+ #### {% title "Bash w przykładach" %}
2
+
3
+ <!-- opracował Robert Fidytek -->
4
+
5
+ # Bash w przykładach
6
+
7
+ <blockquote>
8
+ {%= image_tag "/images/algorithm.png", :alt => "[Rozwiązanie…]" %}
9
+ </blockquote>
10
+
11
+ 1\. Podaj przykład skryptu wykorzystującego zmienne i
12
+ zmienne środowiskowa np. $USER, $PWD, $HOME.
13
+
14
+ :::shell-unix-generic
15
+ #!/bin/bash
16
+ echo "Czesc $USER"
17
+ echo "twoj aktualny katalog to $PWD"
18
+ zmienna="a to twoj katalog domowy to $HOME"
19
+ echo $zmienna
20
+ echo "nazwa twojego hosta to: $HOSTNAME"
21
+ echo "korzystasz z systemu operacyjnego: $OSTYPE"
22
+ zmienna2=$(pwd)
23
+ echo "\"Ciapki\" – przyklad: $zmienna2"
24
+ exit 0
25
+
26
+ 2\. Podaj przykład skryptu korzystującego ze zmiennych
27
+ specjalnych, czyli użyj $0, $1, $2, …, $9, $@, $*, $?, $$.
28
+
29
+ :::shell-unix-generic
30
+ #!/bin/bash
31
+ echo "Nazwa biezacego skryptu: $0"
32
+ echo "Pierwszy przekazany parametr do skryptu: $1"
33
+ echo "Drugi przekazany parametr do skryptu: $2"
34
+ echo "..."
35
+ echo "Dziewiaty przekazany parametr do skryptu: $9"
36
+ # separatorem będzie spacja
37
+ echo "Skrypt uruchomiono z parametrami: $@"
38
+ # separator okresla zmienna $IFS
39
+ echo "Skrypt uruchomiono z parametrami: $*"
40
+ echo "Kod powrotu ostanio wykonywanego polecenia: $?"
41
+ echo "PID procesu biezacej powloki: $$"
42
+ exit 0
43
+
44
+ 3\. Podać przykład skryptu korzystającego z tablic
45
+ (Użyj declare, unset, *, @, # ).
46
+
47
+ :::shell-unix-generic
48
+ owoc[0]="jablko"
49
+ owoc[1]="gruszka"
50
+ owoc[2]="sliwka"
51
+ owoc[3]="wisnia"
52
+ echo "Pierwszy element tablicy owoc to: ${owoc[0]}"
53
+ echo "Wszystkie elementy tablicy owoc to: ${owoc[*]}"
54
+ echo "Wszystkie elementy tablicy owoc to: ${owoc[@]}"
55
+ echo "Drugi element tablicy owoc ma ${#owoc[1]} znakow"
56
+ echo "Tablica owoc ma ${#owoc[*]} elementy"
57
+ imie=(Jola Ania Kasia Basia Magda)
58
+ echo "Wszystkie elementy tablicy imie to: ${imie[@]}"
59
+ unset imie # usuniecie tablicy
60
+ echo "Tablica imie ma ${#imie[*]} elementow"
61
+ tab1=(`cat /etc/passwd`)
62
+ echo "Tablica tab1 ma ${#tab1[*]} elementow"
63
+ declare tab2=(`cat /etc/passwd`)
64
+ echo "Tablica tab2 ma ${#tab2[*]} elementow"
65
+ exit 0
66
+
67
+ 4\. Napisać skrypt obliczający sumę, różnicę i iloczyn dwóch
68
+ wczytanych liczb całkowitych. (Użyj polecenia read.)
69
+
70
+ :::shell-unix-generic
71
+ #!/bin/bash
72
+ echo -n "Podaj pierwsza liczbe: "
73
+ read liczba1
74
+ echo -n "Podaj druga liczbe: "
75
+ read liczba2
76
+ echo
77
+ suma=$[liczba1 + liczba2] #1 sposob
78
+ echo "Suma liczb wynosi: $suma"
79
+ roznica=$((liczba1-liczba2)) #2 sposob
80
+ echo "Roznica liczb wynosi: $roznica"
81
+ let iloczyn=liczba1*liczba2 #3 sposob
82
+ echo "Iloczyn liczb wynosi: $iloczyn"
83
+ iloraz=$[liczba1/liczba2]
84
+ echo "Iloraz liczb wynosi: $iloraz" #czesc calkowita
85
+ modulo=$[liczba1%liczba2]
86
+ echo "Modulo liczb wynosi: $modulo" #reszta
87
+ exit 0
88
+
89
+ 5\. Napisać skrypt sprawdzający, czy w katalogu głównym użytkownika
90
+ istnieje plik *.bashrc*. (Użyj instrukcji warunkowej if.)
91
+
92
+ :::shell-unix-generic
93
+ if [ -e ~/.bashrc ]
94
+ # lub rownowaznie: if test -e ~/.bashrc
95
+ then echo "Masz plik .bashrc"
96
+ else echo "Nie masz pliku .bashrc"
97
+ fi
98
+ exit 0
99
+
100
+ Krótka ściąga z pozostałych warunków:
101
+
102
+ <table class="span-19" summary="Scaffold">
103
+ <colgroup>
104
+ <col class="table1"/>
105
+ <col class="table2"/>
106
+ </colgroup>
107
+ <tbody>
108
+ <tr>
109
+ <td>-d plik</td>
110
+ <td>plik jest katalogiem</td>
111
+ </tr>
112
+ <tr>
113
+ <td>-e plik</td>
114
+ <td>plik istnieje</td>
115
+ </tr>
116
+ <tr>
117
+ <td>-f plik</td>
118
+ <td>plik jest plikiem regularnym</td>
119
+ </tr>
120
+ <tr>
121
+ <td>-g plik</td>
122
+ <td>plik ma przypisany set-group-id</td>
123
+ </tr>
124
+ <tr>
125
+ <td>-r plik</td>
126
+ <td>plik daje się odczytac</td>
127
+ </tr>
128
+ <tr>
129
+ <td>-s plik</td>
130
+ <td>plik ma niezerowy rozmiar</td>
131
+ </tr>
132
+ <tr>
133
+ <td>-u plik</td>
134
+ <td>plik ma przypisany set-user-id</td>
135
+ </tr>
136
+ <tr>
137
+ <td>-w plik</td>
138
+ <td>plik można edytowac (można pisac))</td>
139
+ </tr>
140
+ <tr>
141
+ <td>-x plik</td>
142
+ <td>plik wykonywalny</td>
143
+ </tr>
144
+ </tbody>
145
+ </table>
146
+
147
+
148
+
149
+ 6\. Napisać skrypt pytający się czy już jest wieczór. Dla odpowiedzi
150
+ „tak” powinien wypisać „Dobry wieczor”, dla odpowiedzi „nie” –
151
+ „Dzien dobry”, dla pozostałych odpowiedzi „Nie rozpoznana odpowiedz: ”
152
+ i przytoczyć treść odpowiedzi. (Użyj instrukcji warunkowej if-elif.)
153
+
154
+ :::shell-unix-generic
155
+ #!/bin/bash
156
+ echo -n "Czy jest wieczor? Odpowiedz tak lub nie: "
157
+ read odp
158
+ if [ "$odp" = "tak" ]
159
+ then echo "Dobry wieczor"
160
+ elif [ "$odp" = "nie" ]
161
+ then echo "Dzien dobry"
162
+ else
163
+ echo "Nie rozpoznana odpowiedz: $odp"
164
+ exit 1
165
+ fi
166
+ exit 0
167
+
168
+ Jeszcze jedna ściąga:
169
+
170
+ <table class="span-19" summary="Scaffold">
171
+ <colgroup>
172
+ <col class="table1"/>
173
+ <col class="table2"/>
174
+ </colgroup>
175
+ <tbody>
176
+ <tr>
177
+ <td>ciąg</td>
178
+ <td>ciąg jest niepusty</td>
179
+ </tr>
180
+ <tr>
181
+ <td>ciąg1=ciąg2</td>
182
+ <td>ciągi sa jednakowe</td>
183
+ </tr>
184
+ <tr>
185
+ <td>ciąg1!=ciąg2</td>
186
+ <td>ciągi nie sa rowne</td>
187
+ </tr>
188
+ <tr>
189
+ <td>-n ciąg</td>
190
+ <td>ciąg nie jest NULL</td>
191
+ </tr>
192
+ <tr>
193
+ <td>-z ciąg</td>
194
+ <td>ciąg jest NULL (pusty)</td>
195
+ </tr>
196
+ </tbody>
197
+ </table>
198
+
199
+
200
+ 7\. Napisać skrypt pobierający numer dnia tygodnia i wypisujący jego
201
+ nazwę lub informację „Nie rozumiem”. (Użyj polecenia read i
202
+ instrukcji warunkowej case.)
203
+
204
+ :::shell-unix-generic
205
+ #!/bin/bash
206
+ echo "Podaj numer dnia tygodnia: "
207
+ read dzien
208
+ case "$dzien" in
209
+ "1") echo "poniedzialek" ;;
210
+ "2") echo "wtorek" ;;
211
+ "3") echo "sroda" ;;
212
+ "4") echo "czwartek" ;;
213
+ "5") echo "piatek" ;;
214
+ "6") echo "sobota" ;;
215
+ "7") echo "niedziela" ;;
216
+ *) echo "Nie rozumiem"
217
+ esac
218
+ exit 0
219
+
220
+ 8\. Wyświetlić z bieżącego katalogu nazwy wszystkich plików:
221
+ \*.html, \*.htm, *.php, *.css, *.gif, *.jpg. (Użyj pętli for.)
222
+
223
+ :::shell-unix-generic
224
+ #!/bin/bash
225
+ for nazwa in *.html *.htm *.php *.css *.gif *.jpg
226
+ do
227
+ echo $nazwa
228
+ done
229
+ exit 0
230
+
231
+ To samo, ale bez rozróżniania małych i dużych liter.
232
+
233
+ 9\. Napisać skrypt wykonujący pętlę 15 razy i wypisujący za każdym
234
+ razem numer obiegu pętli. (Użyj pętli while.)
235
+
236
+ :::shell-unix-generic
237
+ #!/bin/bash
238
+ n=1;
239
+ # gdy warunek stanie się fałszywy to petla zakonczy dzialanie
240
+ while [ $n -le 15 ]
241
+ do
242
+ echo "Petla wykonuje sie po raz: $n"
243
+ n=$[n + 1]
244
+ done
245
+ exit 0
246
+
247
+ Ściąga z operatorów wykorzystywanych w warunkach:
248
+
249
+ <pre>-eq (==) -ne (!=) -lt (&lt;)
250
+ -le (&lt;=) -gt (>) -ge (>=)
251
+ </pre>
252
+
253
+ 10\. Napisać skrypt sprawdzający, czy użytkownik, którego login został
254
+ podany jako parametr skryptu zalogował się. (Użyj pętli until.)
255
+
256
+ :::shell-unix-generic
257
+ #!/bin/bash
258
+ until who | grep "$1" > /dev/null
259
+ # gdy warunek stanie się prawdziwy to petla zakonczy dzialanie
260
+ do
261
+ sleep 60
262
+ done
263
+ echo -e \\a
264
+ echo "$1 wlasnie sie zalogowal !!! "
265
+ exit 0
266
+
267
+ 11\. Napisać skrypt pytający się użytkownika co wybiera: kawe,
268
+ herbate, sok, quit. Po dokonaniu wyboru powinna się pojawić
269
+ informacja co zostało wybrane. Po wybraniu quit skrypt powinien
270
+ zakończyć działanie. (Użyj pętli select i instrukcji warunkowej case.)
271
+
272
+ :::shell-unix-generic
273
+ #!/bin/bash
274
+ echo "Co wybierasz?"
275
+ select x in kawe herbate sok quit
276
+ do
277
+ case $x in
278
+ "kawe") echo "Wybrales kawe." ;;
279
+ "herbate") echo "Wybrales herbate." ;;
280
+ "sok") echo "Wybrales sok." ;;
281
+ "quit") echo "Wybrales quit."; break ;;
282
+ *) echo "Nic nie wybrales."
283
+ esac
284
+ done
285
+ exit 0
286
+
287
+ 12\. Zmienić nazwy plików i katalogów pisane dużymi literami na nazwy
288
+ pisane małymi literami.
289
+
290
+ :::shell-unix-generic
291
+ #!/bin/bash
292
+ for nazwa in *
293
+ do
294
+ mv $nazwa $(echo $nazwa | tr '[A-Z]' '[a-z]')
295
+ done
296
+ exit 0
@@ -8,6 +8,7 @@
8
8
  1. <a href="http://sigma.inf.ug.edu.pl/~bberda/sp/">Berda, Bartłomiej</a>
9
9
  bb (czyli brak bloga)
10
10
  1. <a href="http://sigma.inf.ug.edu.pl/~mwanta/sp/">Wanta, Marcin</a> bb
11
+ 1. <a href="http://sigma.inf.ug.edu.pl/~azmuda/sp/">Żmuda, Adam</a> br 16.11 23.11 30.11 7.12
11
12
  -->
12
13
 
13
14
  1. <a href="http://sigma.inf.ug.edu.pl/~kbasinski/sp/">Basiński, Krzysztof</a> 16.11
@@ -27,4 +28,4 @@
27
28
  1. <a href="http://sigma.inf.ug.edu.pl/~dwojkiewicz/sp/">Wojkiewicz, Daniel</a> lab4 (16.11)
28
29
  1. <a href="http://sigma.inf.ug.edu.pl/~pzawodny/sp/">Zawodny, Paweł</a> br
29
30
  1. <a href="http://sigma.inf.ug.edu.pl/~dzduniak/sp/">Zduniak, Daniel</a> br 16.11
30
- 1. <a href="http://sigma.inf.ug.edu.pl/~azmuda/sp/">Żmuda, Adam</a> br 16.11
31
+
@@ -162,7 +162,7 @@ Na *indeks* mówimy też *staging area* (punkt etapowy, punkt tranzytowy),
162
162
  a *trunk* to *trunk*.
163
163
 
164
164
 
165
- ### Git na codzień
165
+ ### Git na co dzień
166
166
 
167
167
  Zazwyczaj praca z repozytorium wygląda tak:
168
168
 
@@ -13,5 +13,16 @@
13
13
  2\. Przygotować po jednym dokumencie (1–2 strony wydruku)
14
14
  pokazującym podstawowe możliwości każdego z pakietów:
15
15
 
16
- * *graphicx* (dokumentacja *epslatex.pdf*)
17
- * *floatlft* albo *photo* (pływające wstawki)
16
+ * grafika: *graphicx* (dokumentacja *epslatex.pdf*)
17
+ * pływające wstawki:
18
+ [*wrapfigure*](http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions)
19
+ (podstawowa funkcjonalność) [floatlft][] albo [photo] (więcej możliwości).
20
+
21
+ Zobacz też artykuł w Wikipedii
22
+ [LaTeX/Floats, Figures and Captions](http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions).
23
+
24
+ 3\. [Jeopardy!][jeopardy]
25
+
26
+ [floatlft]: http://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/
27
+ [photo]: http://tug.ctan.org/tex-archive/macros/latex/contrib/photo/
28
+ [jeopardy]: http://tug.ctan.org/tex-archive/macros/latex/contrib/jeopardy/
@@ -148,9 +148,9 @@ dwukrotnie skompilować dokument).
148
148
  % jeśli tego nie zrobisz będzie drukowana aktualna data
149
149
 
150
150
  \begin{document}
151
- \maketitle % drukuj tytuł
151
+ \maketitle % składaj tytuł
152
152
 
153
- \tableofcontents % drukuj spis treści
153
+ \tableofcontents % składaj spis treści
154
154
 
155
155
  \section{Pierwsza sekcja}
156
156
 
@@ -182,7 +182,104 @@ też są znakami specjalnymi. Jeśli je wpiszesz,
182
182
  to zostaną wydrukowane zupełnie inne rzeczy.
183
183
 
184
184
 
185
- ## Bibliografia albo Literatura
185
+ ## Bibliografia pakiet *amsrefs*
186
+
187
+ Na stronie [The amsrefs package] [amsrefs] umieszczono
188
+ link do dokumentacji oraz przykładów.
189
+
190
+ Prosty przykład może wyglądać tak, plik *szablon.tex*:
191
+
192
+ :::latex
193
+ % !TEX TS-program = xelatex
194
+ % !TEX encoding = UTF-8 Unicode
195
+
196
+ \documentclass[12pt]{article}
197
+ \usepackage{amsrefs}
198
+
199
+ \usepackage{fontspec}
200
+ \defaultfontfeatures{Mapping=tex-text}
201
+ \usepackage{hyperref}
202
+ \usepackage{xunicode}
203
+ \usepackage{xltxtra}
204
+ \usepackage{url} % do przełamywania url
205
+ \usepackage[polish]{polyglossia}
206
+
207
+ \begin{document}
208
+
209
+ \section{Pierwszy rozdział}
210
+
211
+ SGML~\cite{Goldfarb2002} jest to \emph{metajęzyk}
212
+ służący do opisywania struktury i~zawartości dokumentów.
213
+
214
+ \section{Drugi rozdział}
215
+
216
+ Typowy proces produkcji dokumentów w~standardzie SGML
217
+ podzielony jest na kilka części. Najważniejsze elementy tego
218
+ procesu są opisane w~\cite{Eisenberg2002}.
219
+
220
+ \begin{bibdiv}
221
+ \begin{biblist}
222
+ \bibselect{literatura}
223
+ \end{biblist}
224
+ \end{bibdiv}
225
+
226
+ \end{document}
227
+
228
+ Plik z bibliografią może wyglądać tak, *literatura.ltb*:
229
+
230
+ :::latex
231
+ % !TEX TS-program = xelatex
232
+ % !TEX encoding = UTF-8 Unicode
233
+
234
+ \documentclass[12pt]{amsbook}
235
+ \usepackage{amsrefs}
236
+
237
+ \usepackage{fontspec}
238
+ \defaultfontfeatures{Mapping=tex-text}
239
+ \usepackage{xunicode}
240
+ \usepackage{xltxtra}
241
+ \usepackage[polish]{polyglossia}
242
+
243
+ \raggedbottom
244
+
245
+ \begin{document}
246
+
247
+ \begin{bibdiv}
248
+ \begin{biblist}
249
+
250
+ \bib{Goldfarb2002}{book}{
251
+ author={Charles F. Goldfarb},
252
+ author={Paul Prescod},
253
+ title={Charles F. Goldfarb's XML handbook},
254
+ edition={Fourth},
255
+ publisher={Princeton-Hall},
256
+ address={Englewood Cliffs, NJ 07632, USA},
257
+ date={2002},
258
+ ISBN={0-13-065198-2; 978-0-13-065198-3},
259
+ }
260
+ \bib{Eisenberg2002}{article}{
261
+ author={Andrew Eisenberg},
262
+ author={Jim Melton},
263
+ title={SQL\slash XML is making good progress},
264
+ date={2002},
265
+ ISSN={0000-0000},
266
+ journal={SIGMOD},
267
+ volume={31},
268
+ number={2},
269
+ pages={101\ndash 108},
270
+ }
271
+
272
+ \end{biblist}
273
+ \end{bibdiv}
274
+ \end{document}
275
+
276
+ Dokument *szablon.tex* kompilujemy dwukrotnie:
277
+
278
+ xelatex szablon
279
+ xelatex szablon
280
+
281
+
282
+ ## Bibliografia klasycznie, czyli bibtex
186
283
 
187
284
  Teraz przyjrzymy się bardziej skomplikowanemu dokumentowi.
188
285
  Pokazuje on jak przygotowywać bibliografię w systemie LaTeX.
@@ -308,10 +405,13 @@ tabelek, korzystanie z koloru, notacja do wpisywania matematyki...
308
405
 
309
406
  \usepackage{geometry}
310
407
  \geometry{a4paper}
311
-
408
+
312
409
  \usepackage{fontspec}
313
410
  \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
314
- %\setmainfont{Lucida}
411
+ \setmainfont[Mapping=tex-text]{Minion Pro:+onum}
412
+ \setsansfont[Mapping=tex-text]{Myriad Pro}
413
+ \setmonofont{Monaco}
414
+
315
415
  \usepackage{xunicode}
316
416
  \usepackage{xltxtra}
317
417
  \usepackage{hyperref}
@@ -430,3 +530,5 @@ powinno przekonać do programu niedowiarków.
430
530
  [tug]: http://www.tug.org/ "TUG"
431
531
 
432
532
  [arxiv]: http://arxiv.org/ "arXiv.org"
533
+
534
+ [amsrefs]: http://www.ams.org/tex/amsrefs.html "amsrefs doc"
@@ -16,10 +16,10 @@
16
16
  </head>
17
17
  <body>
18
18
  <div class="span-21" id="header">
19
- <div id="logo" class="push-1 span-7">
20
- <%= link_to "WB@SP", "/" %><span>2dc87f0d…</span>
19
+ <div id="logo" class="push-1 span-13">
20
+ <%= link_to "WB@SP", "/" %><span>2dc87f…</span>
21
21
  </div>
22
- <div class="span-13 last">
22
+ <div class="span-7 last">
23
23
  <div class="append-1" id="links">
24
24
  <a href="http://inf.ug.edu.pl/~wbzyl/">home</a>
25
25
  <a href="http://inf.ug.edu.pl/~wbzyl/galeria/zakopane/2009-08-28-zawrat/">galeria</a>
@@ -23,17 +23,18 @@ w komputerze tak się Wam spodobał.
23
23
  1. {%= link_to "Jak zostać Uniksowym guru w kwadrans", "/unix-guru" %}
24
24
  1. {%= link_to "TeXLive i inne różne rzeczy", "/texlive" %}
25
25
  1. {%= link_to "Skryptologia stosowana", "/scripts" %}
26
+ 1. {%= link_to "Bash w przykładach", "/bash" %}
26
27
 
27
28
  Różne rzeczy:
28
29
 
29
30
  * {%= link_to "Wykłady", "/ll"%}
30
31
  * {%= link_to "Ćwiczenia", "/exercises" %}
31
- * {%= link_to "Odpowiedzi", "/answers" %}
32
32
  * {%= link_to "Blogi studentów", "/blogs" %}
33
33
 
34
34
 
35
35
  ## Literatura
36
36
 
37
+ 1. [FreeBSD Man Pages] [freebsd].
37
38
  1. A. Robbins, N. H. F. Beebe. „Programowanie skryptów powłoki”. Helion 2005.
38
39
  1. C. Albing, JP Vossen, C. Newham. „Bash receptury”. Helion 2008.
39
40
  1. S. Chacon. [Pro Git – professional version control] [progit].
@@ -57,6 +58,7 @@ Różne rzeczy:
57
58
 
58
59
  #### Linki
59
60
 
61
+ [freebsd]: http://www.freebsd.org/cgi/man.cgi "FreeBSD Man Pages: Index Page"
60
62
  [lshort2e]: ftp://ftp.gust.org.pl/pub/CTAN/info/lshort/polish/lshort2e.pdf "Wprowadzenie do systemu LaTeX2e"
61
63
  [gnu os]: http://www.gnu.org/fun/fun.html "Laugh along with GNU - GNU Project - Free Software Foundation (FSF)"
62
64
  [progit]: http://progit.org/book/ "Pro Git – professional version control"
@@ -47,8 +47,8 @@ Zawartość tego pliku podejrzymy tak:
47
47
  Na stronie [TeX Live availability](http://www.tug.org/texlive/acquire.html)
48
48
  znajdziemy link do instalki systemu bezpośrednio z internetu
49
49
  „TeX Live installation over the Internet”:
50
- [Linux](http://mirror.ctan.org/systems/texlive/tlnet/2008/install-tl-unx.tar.gz)
51
- [Windows](http://mirror.ctan.org/systems/texlive/tlnet/2008/install-tl.zip).
50
+ [Linux](http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz)
51
+ [Windows](http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip).
52
52
 
53
53
  Po rozpakowaniu archiwum, uruchamiamy skrypt:
54
54
 
@@ -58,7 +58,7 @@ i po chwili widzimy, że będziemy musieli czekać z tydzień, zanim
58
58
  zostaną ściągnięte wszystkie pakiety. Aby przyspieszyć instalację
59
59
  wymieniamy domyślnie ustawiony serwer z którego pobierane są pakiety:
60
60
 
61
- sudo ./install-tl -location ftp://ftp.gust.org.pl/tex-archive/systems/texlive/tlnet/2008/tlpkg/
61
+ sudo ./install-tl -location ftp://ftp.gust.org.pl/tex-archive/systems/texlive/tlnet/tlpkg/
62
62
 
63
63
  Domyślne ustawienie drzewek techowych w TeXLive:
64
64
 
@@ -353,6 +353,7 @@ Edytory ASCII i non-ASCII. [Emacs kontra Vi] [wojny edytorowe].
353
353
 
354
354
  Użyteczne linki:
355
355
 
356
+ * [emacs-fu](http://emacs-fu.blogspot.com/)
356
357
  * [A Guided Tour of Emacs] [emacs-tour]
357
358
  * {%= link_to "Skróty klawiszowe edytora Emacs", "/doc/survival.pdf" %}
358
359
  * [Emacs Wiki] [emacs-wiki]
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sp-tutorial}
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Wlodek Bzyl"]
12
- s.date = %q{2009-11-26}
13
- s.description = %q{Notatki do frameworka Rails3
12
+ s.date = %q{2009-12-27}
13
+ s.description = %q{Notatki do wykladu: Srodowisko Programisty
14
14
  }
15
- s.email = %q{matwb@univ.gda.pl}
15
+ s.email = %q{matwb@ug.edu.pl}
16
16
  s.extra_rdoc_files = [
17
17
  "README.markdown"
18
18
  ]
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/public/doc/survival.pdf",
31
31
  "lib/public/doc/templates/article-bibliography.tex",
32
32
  "lib/public/doc/templates/article-hyperref.tex",
33
+ "lib/public/doc/xetex-pl.pdf",
33
34
  "lib/public/images/Thatll_Flat_Git_It_Vol_20.jpg",
34
35
  "lib/public/images/alan_kay.jpg",
35
36
  "lib/public/images/alan_perlis.jpg",
@@ -73,6 +74,7 @@ Gem::Specification.new do |s|
73
74
  "lib/public/stylesheets/uv.css",
74
75
  "lib/sp-tutorial.rb",
75
76
  "lib/views/answers.rdiscount",
77
+ "lib/views/bash.rdiscount",
76
78
  "lib/views/blogs.rdiscount",
77
79
  "lib/views/exercises.rdiscount",
78
80
  "lib/views/favicon.ico.rdiscount",
@@ -102,7 +104,7 @@ Gem::Specification.new do |s|
102
104
  s.require_paths = ["lib"]
103
105
  s.rubyforge_project = %q{sp-tutorial}
104
106
  s.rubygems_version = %q{1.3.5}
105
- s.summary = %q{Notatki do wykladu z Srodowiska Programisty.}
107
+ s.summary = %q{Notatki do wykladu Srodowisko Programisty.}
106
108
 
107
109
  if s.respond_to? :specification_version then
108
110
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
@@ -113,23 +115,26 @@ Gem::Specification.new do |s|
113
115
  s.add_runtime_dependency(%q<sinatra>, [">= 0"])
114
116
  s.add_runtime_dependency(%q<rdiscount>, [">= 0"])
115
117
  s.add_runtime_dependency(%q<ultraviolet>, [">= 0"])
116
- s.add_runtime_dependency(%q<sinatra-rdiscount>, [">= 0"])
117
118
  s.add_runtime_dependency(%q<rack-codehighlighter>, [">= 0"])
119
+ s.add_runtime_dependency(%q<sinatra-rdiscount>, [">= 0"])
120
+ s.add_runtime_dependency(%q<sinatra-static-assets>, [">= 0"])
118
121
  else
119
122
  s.add_dependency(%q<rack>, [">= 0"])
120
123
  s.add_dependency(%q<sinatra>, [">= 0"])
121
124
  s.add_dependency(%q<rdiscount>, [">= 0"])
122
125
  s.add_dependency(%q<ultraviolet>, [">= 0"])
123
- s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
124
126
  s.add_dependency(%q<rack-codehighlighter>, [">= 0"])
127
+ s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
128
+ s.add_dependency(%q<sinatra-static-assets>, [">= 0"])
125
129
  end
126
130
  else
127
131
  s.add_dependency(%q<rack>, [">= 0"])
128
132
  s.add_dependency(%q<sinatra>, [">= 0"])
129
133
  s.add_dependency(%q<rdiscount>, [">= 0"])
130
134
  s.add_dependency(%q<ultraviolet>, [">= 0"])
131
- s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
132
135
  s.add_dependency(%q<rack-codehighlighter>, [">= 0"])
136
+ s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
137
+ s.add_dependency(%q<sinatra-static-assets>, [">= 0"])
133
138
  end
134
139
  end
135
140
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sp-tutorial
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wlodek Bzyl
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-26 00:00:00 +01:00
12
+ date: 2009-12-27 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -52,6 +52,16 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: "0"
54
54
  version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: rack-codehighlighter
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
55
65
  - !ruby/object:Gem::Dependency
56
66
  name: sinatra-rdiscount
57
67
  type: :runtime
@@ -63,7 +73,7 @@ dependencies:
63
73
  version: "0"
64
74
  version:
65
75
  - !ruby/object:Gem::Dependency
66
- name: rack-codehighlighter
76
+ name: sinatra-static-assets
67
77
  type: :runtime
68
78
  version_requirement:
69
79
  version_requirements: !ruby/object:Gem::Requirement
@@ -73,9 +83,9 @@ dependencies:
73
83
  version: "0"
74
84
  version:
75
85
  description: |
76
- Notatki do frameworka Rails3
86
+ Notatki do wykladu: Srodowisko Programisty
77
87
 
78
- email: matwb@univ.gda.pl
88
+ email: matwb@ug.edu.pl
79
89
  executables: []
80
90
 
81
91
  extensions: []
@@ -96,6 +106,7 @@ files:
96
106
  - lib/public/doc/survival.pdf
97
107
  - lib/public/doc/templates/article-bibliography.tex
98
108
  - lib/public/doc/templates/article-hyperref.tex
109
+ - lib/public/doc/xetex-pl.pdf
99
110
  - lib/public/images/Thatll_Flat_Git_It_Vol_20.jpg
100
111
  - lib/public/images/alan_kay.jpg
101
112
  - lib/public/images/alan_perlis.jpg
@@ -139,6 +150,7 @@ files:
139
150
  - lib/public/stylesheets/uv.css
140
151
  - lib/sp-tutorial.rb
141
152
  - lib/views/answers.rdiscount
153
+ - lib/views/bash.rdiscount
142
154
  - lib/views/blogs.rdiscount
143
155
  - lib/views/exercises.rdiscount
144
156
  - lib/views/favicon.ico.rdiscount
@@ -190,6 +202,6 @@ rubyforge_project: sp-tutorial
190
202
  rubygems_version: 1.3.5
191
203
  signing_key:
192
204
  specification_version: 3
193
- summary: Notatki do wykladu z Srodowiska Programisty.
205
+ summary: Notatki do wykladu Srodowisko Programisty.
194
206
  test_files: []
195
207