gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f37cd8e)
raw | patch | inline | side by side (parent: f37cd8e)
author | Doni Pracner <quinnuendo@gmail.com> | |
Sat, 23 Feb 2013 18:34:16 +0000 (19:34 +0100) | ||
committer | Doni Pracner <quinnuendo@gmail.com> | |
Sat, 23 Feb 2013 18:34:16 +0000 (19:34 +0100) |
skripta-os2.tex | patch | blob | history |
diff --git a/skripta-os2.tex b/skripta-os2.tex
index 41a2d2d67310424eb562b74de484fd5abfe9f78b..d4e728f79ed03472ba90d9ef342517492709c83a 100644 (file)
--- a/skripta-os2.tex
+++ b/skripta-os2.tex
\renewcommand{\familydefault}{\sfdefault}
\usepackage{pifont}
-\usepackage{keystroke}
%podesavanja outputa za pdf verzije
\usepackage[bookmarks,pdffitwindow=false,unicode=true,%
\usepackage{latexsym}
\usepackage{multicol}
+%\usepackage{keystroke}
+% ispod je dodata alternativa za ovaj paket
+
\usepackage{tikz}
+\usetikzlibrary{shadows}
+
+\newcommand*\keystroke[1]{%
+ \tikz[baseline=(key.base)]
+ \node[%
+ draw,
+ fill=white,
+ drop shadow={shadow xshift=0.2ex,shadow yshift=-0.2ex,fill=black,opacity=0.75},
+ rectangle,
+ rounded corners=2pt,
+ inner sep=1pt,
+ line width=0.5pt,
+ font=\small\sffamily
+ ](key) {#1\strut}
+ ;
+}
+
+\newcommand*\Ctrl{\keystroke{Ctrl}}
+\newcommand*\Tab{\keystroke{Tab}}
+\newcommand*\Esc{\keystroke{Esc}}
%margine
\usepackage[top=1.5cm, bottom=1cm, left=2.5cm, right=2cm]{geometry}
bez korišćenja pomoćne promenljive \kod{c} da se dobije povratna
vrednost.
-Tabela pretvaranja tipova se može videti na
-\url{http://www.nongnu.org/gm2/interface_to_c.html}
+Neki primeri pretvaranja tipova su dati u Tabeli~\ref{t-pretvaranje-tipova}, preuzetoj sa \url{http://www.nongnu.org/gm2/interface_to_c.html}.
+
+\begin{table}[htp]
+\begin{center}
+\begin{tabular}{lll}
+Stvarni parametar & Konverzija & Tip vrednosti koji će biti prosleđen\\
+\hline
+123 & - & long long int\\
+"hello world" & - & const char *\\
+a: ARRAY OF CHAR & ADR(a) & char *\\
+a: ARRAY [0..5] OF CHAR& ADR(a) & char *\\
+3.14 & - & long double
+\end{tabular}
+\end{center}
+\caption{Tabela pretvaranja tipova\label{t-pretvaranje-tipova}}
+\end{table}
\subsubsection{Primer: Izlistavanje sadržaja direktorijuma}
\skica{možda i build from source}
+\newpage
\section{Tekst editor Joe}
\label{app-joe}
\end{terminal}
Ili analogno na drugim sistemima za instaliranje softvera.
-Otvoranje postojećeg fajla ``hello.mod'' za uređivanje,
-odnosno otvaranje novog praznog fajla u koji ćemo unositi
-odgovarajući kod ili tekst se može postići sledećom komandom:
+Otvaranje postojećeg fajla ``hello.mod'' za uređivanje, odnosno
+otvaranje novog praznog fajla u koji ćemo unositi odgovarajući kod ili
+tekst se može postići sledećom komandom:
\begin{terminal}
joe hello.mod
\end{terminal}
-Snimanje sa izlaskom iz programa se može uraditi sa \Ctrl
-+\keystroke{K}\keystroke{X} (\emph{ctrl} i \emph{K} odjednom, pa onda
-\emph{X}, ova šema pritiskanja tastera važi za sve prečice), dok se
-samo snimanje izvršava sa \Ctrl +\keystroke{K}\keystroke{D}. U oba
-slučaja joe pita za ime fajla koji snimamo, pri čemu kao podrazumevanu
-vrednost ponudi trenutno ime. Brz izlaz iz editora je moguć i sa
-\Ctrl+\keystroke{C} (što je i standardna komanda za ``ubijanje''
-trenutnog procesa u terminalu), pri čemu će joe pitati da li želimo da
-izađemo ako postoje promene koje nisu snimljene.
+\subsection{Sistem pomoći}
Za pomoć pri korišćenju ediora ``joe'' preporučujemo pritiskanje
kombinacije \Ctrl +\keystroke{K}\keystroke{H}, koja daje spisak
komandi u gornjem delu editora. Postoji nekoliko stranica ove pomoći
-kroz koje se može kretati sa \Esc \keystroke{.} i \Esc \keystroke{,}.
+kroz koje se može kretati sa \Esc \keystroke{.} (tačka) i \Esc
+\keystroke{,} (zarez).
+
+U okviru pomoći postoje maltene sve komande koje editor pruža, a na
+kraju su čak uključene i ASCII tabele znakova. Preporučuje se makar
+ovlašno upoznavanje sa stranicama pomoći i mogućnostima editora.
+
+\subsection{Rad sa fajlovima}
-U okviru pomoći stoje i komande za označavanje blokova teksta i
-njihovo nakndadno premeštanje, kopiranje ili brisanje. Pritiskom na
-\Ctrl+\keystroke{\_} se vraća poslednja promena (undo).
+Snimanje sa izlaskom iz programa se može uraditi sa \Ctrl
++\keystroke{K}\keystroke{X} (\emph{ctrl} i \emph{K} odjednom, pa onda
+\emph{X} -- ova šema pritiskanja tastera važi za sve prečice), dok se
+samo snimanje izvršava sa \Ctrl +\keystroke{K}\keystroke{D}. U oba
+slučaja ``joe'' pita za ime fajla koji snimamo, pri čemu kao podrazumevanu
+vrednost ponudi trenutno ime.
+
+Joe može raditi sa više fajlova odjednom. Novi fajl se može otvoriti
+sa \Ctrl +\keystroke{K}\keystroke{E}. Na dnu editora će se pojaviti
+polje za kucanje imena fajla koje dozvoljava i da se putanja
+automatski dopunjava mogućnostima pritiskom na taster \Tab (Tab), baš
+kao i u komandnoj liniji.
+
+Prelazak na sledeći, odnosno prethodni, otvoreni fajl se dobija pritiskom
+na \Esc \keystroke{V}, odnosno \Esc \keystroke{U}.
+
+Zatvaranje fajla je moguće sa \Ctrl+\keystroke{C} (što je i
+standardna komanda za ``ubijanje'' trenutnog procesa u terminalu), pri
+čemu će ``joe'' pitati da li želimo da izađemo ako postoje promene
+koje nisu snimljene. Ako je u pitanju bio jedini otvoren fajl, tada će
+se i sam editor zatvoriti.
+
+\subsection{Rad sa tekstom}
+
+Pritiskom na \Ctrl+\keystroke{\_} se poništava poslednja promena (undo).
+
+Premeštanje i kopiranje delova teksta je malo drugačije nego u
+klasičnim grafičkim programima. Prvo je potrebno označiti željeni
+tekst u dva koraka: \Ctrl +\keystroke{K}\keystroke{B} postavlja
+početak bloka na trenutnu poziciju kursora, a \Ctrl
++\keystroke{K}\keystroke{K} postavlja kraj bloka, nakon čega će
+selekcija biti i vizuelno označena. Sada je moguće na proizvoljnom
+mestu u istom ili drugom dokumentu pritisnuti \Ctrl
++\keystroke{K}\keystroke{C} da bi se iskopirao označeni blok, odnosno
+\Ctrl +\keystroke{K}\keystroke{M} da bi se on premestio.
+Komanda \Ctrl +\keystroke{K}\keystroke{Y} briše odabrani blok.
+
+Pretraga dokumenta se započinje sa \Ctrl +\keystroke{K}\keystroke{F}.
Pritiskom na \Ctrl +\keystroke{T} se dobija meni sa opcijama u kome se
može odabrati više opcija za rad, kao što su margine, automatsko
prelamanje redova, očuvanje uvlačenja redova (\emph{auto-indent}),
sintaksno bojenje itd.
+\subsection{Rad sa prozorima}
+
+``Joe'' ima mogućnosti i da podeli radnu površinu na nekoliko prozora
+koji omogućavaju da se vidi više dokumenata, ili čak da se vide
+različiti delovi istog dokumenta. Prozor se deli na dva komandom \Ctrl
++\keystroke{K}\keystroke{O}. Veličina trenutnog prozora se potom može
+povećavati (\Ctrl +\keystroke{K}\keystroke{G}) ili smanjivati (\Ctrl
++\keystroke{K}\keystroke{T}) na uštrb drugih prozora. Prelazak na
+sledeći, odnosno prethodni prozor se dobija pristikom na \Ctrl
++\keystroke{K}\keystroke{N}, odnosno na \Ctrl
++\keystroke{K}\keystroke{P}. Komanda \Ctrl +\keystroke{K}\keystroke{I}
+omogućuje da se naizmenično vide svi prozori, ili samo jedan.
+
+\subsection{Problem: ``zamrzavanje'' pri snimanju} ako editor izgleda
+kao da se zaledio verovatno je problem što je stisnuta ``klasična''
+kombinacija za snimanje \Ctrl + \keystroke{S} koja ne radi u
+ovom programu, a nažalost izaziva prekid osvežavanja ekrana. Efekat
+se poništava pritiskom na \Ctrl + \keystroke{Q}. Za više detalja
+pogledati Glavu~\ref{g-smrzavanje}.
+
\skica{joe i sintaksno bojenje za m2}
+\newpage
\section{Putty}
\emph{Putty} je program koji služi da se pod Windows operativnim
lozinke.
\subsection{Problem: terminal ne odgovara na unos, ``smrznuo'' se}
-
-Putty se može dovesti u stanje da ne prikazuje ispis unosa na ekranu,
-pritiskom na \Ctrl+\keystroke{S} (što je često velik problem jer se
-poklapa sa standardnom prečicom za snimanje u većini grafičkih
-aplikacija). Iz ovog režima rada se može izaći prečicom
-\Ctrl+\keystroke{Q}.
-Ukratko:
+\label{g-smrzavanje}
+
+Putty (kao i većina standardnih linux terminala koji koriste
+softversku kontrolu toka podataka \emph{software flow control}) se
+može dovesti u stanje da ne prikazuje ispis unosa na ekranu, pritiskom
+na \Ctrl+\keystroke{S}. Ovo je često velik problem jer se poklapa sa
+standardnom prečicom za snimanje u većini grafičkih aplikacija, pa se
+može nehotično aktivirati. Iz ovog režima rada se može izaći prečicom
+\Ctrl+\keystroke{Q}. Ukratko:
\begin{lstlisting}[xleftmargin=10em]
Do not press
Ctrl S
Ctrl Q
\end{lstlisting}
+Smisao postojanja ovakve opcije je dobrim delom istorijski, iz vremena
+kad su brzine protoka bile veoma male, i kada se štedelo time što bi
+se privrmeno isključio protok kada nisu neophodne povratne
+informacije, na primer kod komandi koje se dugo izvršavaju. Naravno
+ovo ima svoje primene i danas kod slabijih veza, ili kod mobilnih veza
+koje se plaćaju po protoku, a nekad se može i dobiti na brzini
+izvršavanja programa, ako se ne gubi vreme na osvežavanje ekrana.
+
\skica{literatura i linkovi izdovjeni na kraju dokumenta}
%\end{multicols}