Functional Programming
Type Inference
Toss
- (incorporates former Speagram)
Emacs
Kurs Pascala
Artificial General Intelligence
AI:
Algorithmic Game Theory: Prediction Markets (po polsku)
Programming in Java
kurs pracy w systemie Linux
Evolutionary Algorithms
Animation
Data Stores and Data Mining
Language Understanding
Systemy Inteligentnych Agentów
Przetwarzanie Języka Naturalnego
Programowanie Funkcjonalne
PmWiki
pmwiki.org
add user
edit SideBar
|
- Lista 1
- Lista 2
- Lista 3
- Lista 4
- Lista 5
- Lista 6
- Lista 7
- Lista 8
- Lista 9
- Lista 10
Listy zadań:
- Podstawowe komendy pracy z systemem plików. oryginał
- Utwórz plik na dysku z poleceniami demonstrującymi podstawowe operacje na plikach: tworzenie pliku i katalogu, zmienianie nazwy, praw dostępu, linkowanie, kasowanie pliku, itp. Uruchamiaj plik jako skrypt, czyli:
sh nazwa-pliku
Włącz śledzenie wykonania poleceń w pliku: set -x .
- Opracuj polecenia find realizujące następujące zadania:
- znalezienie wszystkich plików w katalogu /var które zmieniły się w ciągu ostatniej doby
- to samo dla plików we własnym katalogu domowym, jednak z pominięciem określonego zestawu plików, które często się zmieniają, lecz nie są interesujące, np. .Xauthority, .gconf, itp.
- plików w katalogu /etc które są: zwykymi plikami (typ pliku), dostępnymi dla użytkownika
- użyj
grep bezpośrednio lub wywołanego na wyniku find , żeby znaleźć wszystkie wystąpienia danego słowa w plikach o danym rozszerzeniu w danym katalogu i jego podkatalogach
- (dodatkowe) zadanie 3 z listy wykładowcy
- Skrypty shella i praca z edytorami Emacs i Vi
- Skrypty shella.
- Zadania 5–8 z Listy 2 Marcina Bieńkowskiego.
- Napisz skrypt, który:
- Dla każdego pliku pasującego do wzorca podanego jako argument:
- skompiluje go (możesz pobrać komendę jako argument; trudniejszy wariant: możesz dobrać komendę sprawdzając rozszerzenie pliku),
- uruchomi powstały plik wykonywalny, (w prostszej wersji synchronicznie, w trudniejszej — patrz poniżej)
- przekazując mu pozostałe argumenty skryptu,
- (dodatkowe) zabije wyżej utworzony proces jeśli ten przekroczy zadany czas (wzięty z argumentu)
- zapisze wynik (standardowe wyjście) programu do pliku o nazwie w rodzaju
nazwa_pliku_zrodlowego.wynik ,
- porówna, czy wynik jest równy wzorcowi (patrz komenda
diff -q ),
- doklei ten fakt na początku pliku z wynikiem,
- wypisze, ile wyników było zgodnych ze wzorcem.
- Zapoznaj się z edytorem Emacs (patrz np. Being Productive With Emacs) bądź Vim (patrz np. A Byte of Vim).
- Poznaj sugerowane przez edytor (w przypadku Emacsa chodzi o skróty klawiszowe nie używające strzałek) mechanizmy: ładowania pliku, poruszania się po pliku (po jednym znaku/linii, po jednym słowie/akapicie), kasowania, kopiowania, wklejania fragmentów tekstu.
- Emacs: zapoznaj się z komendami
pc-bindings-mode i pc-selection-mode .
- Emacs: zapoznaj się z komendami
shell-command , compile i grep .
- Uruchamianie komend przez nazwy, help dla komend, help dla skrótów klawiszowych, znajdowanie potrzebnej komendy.
- Zdefiniuj makro edycyjne (np. wariant przykładów z ww. tutoriali). Zastosuj je automatycznie do całego pliku (tzn. w pętli opuszczanej gdy wywołanie makra spowoduje błąd).
- Poza edytorem: podmień klawisz “Caps Lock” na “Ctrl” (jeśli używasz Emacsa) lub “Esc” (dla Vima); (preferowane przenośne rozwiązanie: komenda shella, ale możesz też skorzystać z interfejsu graficznego danej dystrybucji Linuxa).
- Dodaj do swojego pliku
.emacs lub .vimrc polecenie wiążące wybraną komendę z wybranym skrótem klawiszowym.
- (dodatkowe) Zaprogramuj w języku skryptowym edytora nietrywialną komendę edycyjną, np. zamieniającą nawias pod kursorem oraz odpowiadający mu nawias zamykający/otwierający z okrągłego na kwadratowy lub odwrotnie.
- Jeszcze o terminalach i powłokach. Proste eksperymenty z X Window: źródło większości zadań (pozostałe zadania z tej listy będą uwzględnione na kolejnej liście zadań).
- Utwórz skrypt eksportujący wartość zmiennej środowiskowej i następnie uruchamiający drugi skrypt, wyświetlający wartość tej zmiennej. Skrypty utwórz w wariantach dla basha i csha/tcsha, łącznie cztery skrypty jako pliki wykonywalne uruchamiające odpowiednią powłokę.
- Jakie własności mają terminale o typach dumb, linux, xterm?
- Emacs: Spróbuj wywołać polecenie
man z emacsowego shella (komenda shell ). Lepiej użyć komendy emacsa man (M-x man).
- Jaki efekt mają skróty klawiszowe C-c, C-d w danym terminalu? Jak ustawiać takie skróty? Patrz
stty .
- Uruchom drugi serwer X-ów (np. poleceniem
X :1 , wtedy pierwszego klienta trzeba uruchomić z innego terminala przez np. xterm -display :1 & ).
- Opanuj uruchamianie różnych klientów z wybraną geometrią okien, kolorami, może też czcionkami.
- Zapoznaj się z komendami
xterm a dostępnymi po naciśnięciu Ctrl i poszczególnych klawiszy myszy, m.in. Enable Scroll Bar (jak przewijać przy pomocy tego paska?)
- Zapoznaj się metodami zaznaczania i kopiowania myszą. Skopiuj tekst z xterma w wybraną pozycję pliku otwartego w Emacsie lub Vimie.
- Rozróżnienie pomiędzy selekcją a schowkiem. Co się stanie, jeśli skopiujesz tekst, a potem zaznaczysz inny? Jak wkleić każdy z tych tekstów w twoim edytorze?
- Emacs: sprawdź komendy
yank i clipboard-yank , która jest związana z: środkowym klawiszem myszy, <Edit>/<Paste> w rozwijanym menu, skrótem C-y (tzn. Control y)?
- Zapoznaj się z parametrami
xset . Zmniejsz głośność dzwonka.
- Używając
xkill zamykaj uruchomione programy, zamknij drugi serwer X-ów (uważaj żeby nie zamknąć pierwszego serwera).
- Zapisz wywołania programów z odpowiednią geometrią do pliku
.initrc i uruchom drugi serwer komendą xinit . Co powoduje dodawanie/zdejmowanie & z wywołań klientów w .initrc ?
- (dodatkowe) Pełna treść zadania 6 z listy wykładowcy.
- Zmodyfikuj/utwórz plik konfiguracyjny
.Xdefaults , lub utwórz plik /etc/X11/Xresources/emacs (lub poradź sobie inaczej, w zależności od tego co działa i jakie masz uprawnienia na danym systemie), tak, by twój edytor (Emacs lub Vim) uruchamiał się od razu z szerokością 80 znaków, i rozpiętością w pionie na całą wysokość “pulpitu”, po prawej stronie ekranu (być może nie przylegając ściśle do prawej krawędzi). Możesz też ustalić font i kolory. (Uwaga: zmiana .Xdefaults będzie mieć efekt dopiero po restarcie Xów, chyba że np. wywołasz xrdb ~/.Xdefaults )
- Zapoznaj się z programem
editres , może też xprop .
- Emacs: zapoznaj się ze zmienną
initial-frame-alist (np. C-h v initial-f[ENTER]). (Uwaga: jej ustawienie ma efekt dopiero podczas ładowania konfiguracji przez Emacsa.)
- (komentarz) Emacs: możesz zainstalować u siebie tryb Color Theme.
- Zdalni klienci X-Window, zdalna sesja X-Window. Porównanie środowisk graficznych.
- Zaloguj się na wybrany serwer, skopiuj na niego plik. Sprawdź jakie drukarki dostępne są na serwerze; wydrukuj przekazany plik (albo pokaż jak możnaby to zrobić). (Przykładowe przydatne komendy:
ssh lub telnet , ftp lub scp , lpr .)
- (Źródło: Zadanie 8 ze strony wykładowcy.) Uruchamianie zdalnych klientów na lokalnym serwerze X.
- (dodatkowe) (Źródło: Zadanie 10 ze strony wykładowcy.) Uruchamianie zdalnej sesji X na lokalnym serwerze X.
- (dodatkowe) Jak wygląda obciążenie lokalnego komputera (co jest liczone lokalnie)? Jak wygląda obciążenie sieci (transfer)? Co jeśli wykorzystujemy FreeNX?
- Sprawdź jakie zależności (biblioteki systemowe) nie są spełnione dla przykładowego komponenta (programu w rodzaju Konqueror czy Nautilus) środowiska graficznego KDE / Gnome w typowej instalacji Gnome / KDE. Czy jakieś inne problemy mogą się pojawić przy korzystaniu z programu w “nietypowym” środowisku?
- (domowe, dodatkowe) Przetestuj zdalną sesję z wykorzystaniem systemu (protokołu?) VNC (na bazie protokołu RFB) (np. aplikacja Remote Desktop Viewer w dystrybucji Ubuntu) i zdalną sesję na systemie MS-Windows z wykorzystaniem protokołu RDP (np. aplikacja Terminal Server Client w dystrybucji Ubuntu).
- Sprawdź jak modyfikować ustawienia np. skrótów klawiszowych interfejsem graficznym środowiska; sprawdź czy konfigurator “współpracuje” z komendą
xmodmap .
- (domowe, dodatkowe ale proste) Zapoznaj się z możliwościami zarządcy okien Compiz i sprawdź jak go konfigurować (np. skróty klawiszowe włączające “lupę”, negatyw itd.).
- Wyrażenia regularne i przetwarzanie tekstu.
- Wszystkie zadania spośród listy na stronie wykładowcy. Zadania 1–3 są za 1 punkt każde, zadania 4–8 za 2 punkty każde. Wymagane 7 punktów + dodatkowe 6 punktów.
- Wykorzystanie edytora Emacs, komendy `query-replace-regexp’, z wykonaniem manipulacji na podstawieniu. Jeśli nie lubisz Emacsa możesz rozwiązać zadania — punkty 1 i 3 — używając Vim i/lub standardowych narzędzi Unixowych.
- Wykorzystując
query-replace-regexp (C-M-% ) wstaw w danym pliku, na początku każdej niepustej linii: numer linii (numer kolejny niepustej linii, a nie faktycznie numer linii pliku), dwukropek, wypełnienie spacjami tak by tekst rozpoczynał się w 7 kolumnie. (Dokonując podstawień, odpowiedz kilka razy y żeby zobaczyć czy wszystko działa, a następnie ! .)
- W “łopatologicznym” rozwiązaniu użyłem funkcji:
make-string , truncate , log10 , dyrektyw dopasowania ^ , . , oraz dyrektyw podstawienia \# , \& , \,( ) . Może da się bardziej elegancko. Jaki jest problem z wykorzystaniem funkcji format tutaj?
- (obowiązuje tylko użytkowników Emacsa) Zdefiniuj makro którego jedyną komendą jest
C-y (wklejenie tekstu) (C-x ( (lub F3 — ale może nie działać) rozpoczyna definiowanie makra, C-x ) (lub F4 — ale może nie działać) kończy). Skopiuj wybrany fragment tekstu i powiel wielokrotnie używając prefiksu numerycznego i tak zdefiniowanego makra, np.: M-4 M-4 C-x e (zamiast C-x e również F4 — ale może nie działać).
- Dla języka o składni C-podobnej (tzn. “matematycznej”) wywołań funkcji, dla wybranej funkcji dwuargumentowej zamień używając `replace-regexp’ kolejność argumentów w wywołaniach, ale tylko dla przypadków gdy jest to w miarę proste z wyrażeniem regularnym (brak nawiasów i przecinków w argumentach). Następnie wykorzystując
isearch-forward-regexp (C-M-s ) odnajdź pozostałe wywołania.
- Porównaj składnie wyrażeń regularnych i dyrektyw podstawień: (Extended) POSIX, Emacsową, Perla.
- Podpunkt pierwszy obowiązywał do 23 listopada, pozostałe obowiązują do 9 grudnia. (Pracownia 9 grudnia jest przesunięta na po południu, ale można przysłać rozwiązania mailem i opowiedzieć później.)
- Obowiązuje lista ze strony wykładowcy, przy czym zadania dotyczące
sshd są dodatkowe (chyba nie ma dostępu do sshd w pracowniach).
- Na listach 3 i 4 zajmowaliśmy się sesjami X Window, m.in. tym jak uruchomić managera okien na innym komputerze z wyświetlaniem na naszym. Teraz poznamy terminalowego (tekstowego) managera okien screen.
- Połącz się ze swoim ulubionym serwerem przez
ssh i uruchom tam screen . Zapoznaj się z komendami przełączania (tworzenia i kasowania) okien (Ctrl-A ? to help), uruchom kilka programów jednocześnie (np. top , lynx , etc.)
- Uf, przerwało połączenie! Na szczęście, sesja
screen ciągle działa. Przerwij połączenie, a następnie zaloguj się ponownie i wylistuj sesje screen . Podepnij się do porzuconej sesji. Porzuć screen nie zabijając sesji. Podepnij się ponownie i wyjdź ze screen kończąc sesję.
- Zapoznaj się z mechanizmem
screen do logowania sesji.
- Zapoznaj się z mechanizmem monitorowania aktywności i ciszy; wymyśl odpowiednią parę zastosowań (np. kompilowanie projektu przez
make dla monitorowania ciszy, jakiś program długo liczący i wypluwający wynik dla monitorowania akywności).
- (dodatkowe) Zademonstruj mechanizm
screen pozwalający na współpracę kilku użytkowników w jednej sesji.
- (dodatkowe) Zademonstruj, np. programem
tcpdump , że telnet faktycznie przesyła dane jawnie (i potrafiłbyś kogoś podsłuchać), a ssh przesyła dane zaszyfrowane.
- Co to są porty w kontekscie TCP/IP? Poeksperymentuj ze skanowaniem portów, np. programem
nmap .
- (dodatkowe) Skonstruuj “loggera” na tunelach
ssh : mechanizm (mniej-lub-bardziej automatyczny, w najprostszym przypadku ręcznie), który uruchamia na serwerze/zdalnym komputerze równoważnik polecenia komenda1 | komenda2 , przy czym cała treść “pipe’a” (wyjścia komenda1 , które jest wejściem komenda2 ) na bieżąco pojawia się w pliku na komputerze lokalnym.
- Zasymuluj
scp dla katalogów: bez używania scp , przy pomocy poleceń tar , ssh i dd (i być może gzip żeby zmniejszyć transfer) skopiuj katalog z komputera lokalnego na serwer (lub z komputera zdalnego na lokalny).
- Zapoznaj się z forwardowaniem portu przez tunelowanie SSH, komenda
ssh -L . Sklej dwa tunele SSH i wykorzystaj utworzony port do przesłania pliku przy pomocy scp -P przeskakując przez dwa (lub więcej) komputery/serwery.
- (dodatkowe) Zapoznaj się z
ssh -R i zapodaj na swój komputer lokalny port z serwera/komputera zdalnego, dla jakiegoś serwera (demona). (Możesz wykorzystać wcześniej utworzony port-tunel.)
- Jeszcze o podpisie elektronicznym. System plików. Lista 7
obowiązuje na 16 grudnia ostateczny termin to 6 stycznia.
- Powtórzenie zadania o PGP (obowiązuje osoby które mogą mieć wątpliwości czy zrobiły je wcześniej poprawnie). Prześlij mi dwa maile: jeden z kluczem publicznym, oraz drugi, czytelny (nie zaszyfrowany ani nie skompresowany) (i niepusty, np. z zawartością konsoli) mail, podpisany (podpis nie jest osobno), tak żebym mógł zweryfikować podpis.
- Podpisy OpenSSL.
- Stwórz certificate authority albo poproś kolegę o podpisanie twojej sygnatury.
- Stwórz żądanie certyfikacji.
- Podpisz certyfikat (lub wyślij koledze do podpisania).
- Użyj certyfikatu do podpisania wiadomości MIME.
- Mailowanie z linii poleceń.
- Zobacz jakim programem tak naprawdę jest komenda
rmail , a jakim mail (w systemach do których masz dostęp). Czym są MUA i MTA? (Poza faktem, że są TLSami.)
- (dodatkowe) Poeksperymentuj z ustawianiem różnych wartości pól nagłówka From: (tzn. innej wartości niż twoje konto), To: (tzn. innego adresata niż ten do którego mail jest faktycznie wysyłany), Date: (tzn. innej daty niż bieżąca), Sender:; na co pozwala system, z którego masz dostęp do komendy
sendmail ?
- Co powinny zawierać standardowe podkatalogi korzenia
“/” ? bin, boot, dev, etc, home, lib, lost+found, mnt, proc, root, sbin, tmp, usr, var
- Przykład:
/etc/ : skrypty i pliki konfiguracyjne systemu.
- Sprawdź jakie programy/procesy (też których użytkowników) wykorzystują dane urządzenie (np. żeby się tych procesów pozbyć w celu odmontowania urządzenia).
- Wylistuj zamontowane urządzenia poleceniem
mount . Co oznaczają typy urządzeń ext2/ext3 , proc , tmpfs .
- (Raczej domowe: wymaga uprawnień
root .) Zapisz Master Boot Record do pliku przy pomocy komendy dd . Sprawdź zawartość np. programem hexedit .
- Przy pomocy jednego zwartego wywołania
mkdir stwórz podkatalogi ./proj/bin, ./proj/src/org/proj/main, ./proj/doc/html, ./proj/doc/pdf. Usuń je jednym poleceniem.
- (Dodatkowe, raczej domowe: wymaga uprawnień
root .) Sprawdź z linii poleceń jakiej firmy dysk jest zamontowany w komputerze.
- Wyświetl ilość wolnego miejsca na dyskach (polecenie
df ), oraz rozmiary (plików i) katalogów w katalogu domowym w megabajtach (nawet katalogów o rozmiarze ponad gigabajtowym) (polecenie du ).
- Dodatkowe: posortuj względem rozmiarów, pomiń wszystkie pliki i katalogi o rozmiarze poniżej jednego megabajta.
- Zamontuj tymczasowy pamięciowy system plików tzw. ramdysk (ang. memdisk) (polecenie
mount ; mount_mfs na FreeBSD). Porównaj wydajność odczytu i zapisu dużej ilości danych na zwykłym dysku i na ramdysku (polecenia time i dd , możesz użyć urządzeń /dev/zero i /dev/null ).
- Stwórz plik z tzw. obrazem ISO, przez zgranie płyty CD (polecenie
dd ) albo z plikami z wybranego katalogu (polecenie mkisofs ). Zamontuj tak utworzony obraz ISO.
- Skopiuj wybrany fragment ze środka źródłowego pliku nadpisując wybrany fragment w środku docelowego pliku (polecenie
dd ).
- (dodatkowe) Stwórz pozornie duży plik sparse file (poleceniem
dd ). Sprawdź rozmiar pliku poleceniami ls , du , du —apparent-size . Zapisz kilka bajtów w środku pliku i sprawdź jeszcze raz.
- Mega-dodatkowe: stwórz wirtualny dysk / wirtualną partycję pozornie ogromnego rozmiaru. Sformatuj ją z różnymi systemami plików — porównaj narzut systemów sprawdzając ile po sformatowaniu plik wirtualnego dysku faktycznie zajmuje miejsca.
- Skopiuj poprzez sieć katalog z pełną zawartością (polecenie
rsync -a ).
- (dodatkowe) Jak wymusić sprawdzenie dysku przy następnym restarcie systemu?
- (dodatkowe) Sprawdź jakie urządzenia są automatycznie montowane, i gdzie. Kiedy następuje montowanie? Co oznacza parametr
timeout ?
- (dodatkowe) (Komenda
debugfs , wymaga uprawnień root .) Sprawdź, jakie bloki zajmuje dany plik. Jakie pola zawiera inode? Czy możesz je modyfikować? Spróbuj przeczytać wybrany inode (zrzucić do pliku). (Uwaga: korzystniej jest pracować na niezamontowanym systemie plików, jeśli otwiera się go w debugfs do zapisu.)
- (dodatkowe) Jak odzyskać skasowany plik?
- Treścią naszej listy 8 są zadania ze strony wykładowcy http://sequoia.ict.pwr.wroc.pl/~witold/linuxuwr/linux7_10.html. Termin oddawania to pracownie
23 grudnia i pierwsza w nowym roku 6 stycznia i ostateczny 13 stycznia.
- LATEX, gnuplot, postscript i konwersja formatów graficznych.
- (zadanie 8) Zapoznaj się z programem
xwd i zarejestruj obraz z zestawem okien na monitorze. Przekonwertuj obraz do formatu JPEG (np. man convert ).
- Zapoznaj się z przykładowym plikiem w LaTeXu przygotowanym przez Jakuba Michaliszyna przyklad.tex. Skompiluj go do formatu pdf: porównaj strategie:
latex → dvipdf , latex → dvipdfm , pdflatex .
- Poszukaj (i zademonstruj) możliwości generowania polskich znaków z poziomu LATEXa: bez pakietów inputenc i babel (czy im podobnych).
- Skompiluj plik LaTeXa do formatu pdf zawierającego hiperlinki: ze spisu treści do poszczególnych rozdziałów, itd.
- (dodatkowe) Czcionki w pdf
- Jak sprawdzić jakie fonty są wykorzystane w danym pliku pdf i które z nich są w nim zawarte (embedded)?
- Jak zmusić plik pdf do posiadania danego fontu / wszystkich fontów embedded?
- Dla pliku generowanego z pliku ps.
- Dla pliku kompilowanego z LATEXa przez pdflatex.
- (obowiązkowe) Zadanie http://sequoia.ict.pwr.wroc.pl/~witold/linuxuwr/linuxA_10.html.
- (dodatkowe) Napisz w dowolnym języku program całkujący dowolną metodą autonomiczny układ dynamiczny dwóch zmiennych (autonomiczne równanie różniczkowe zwyczajne pierwszego rzędu dwóch zmiennych zależnych) i generujący przy pomocy gnuplota (np. wysyłający komendy i dane dla gnuplota na standardowe wyjście; w prostszym rozwiązaniu korzystający z biblioteki lub narzędzia dostępnego w danym języku) wykres zawierający:
- pole wektorowe danego układu dynamicznego (siatkę kreseczek-wektorków reprezentujących wartości pochodnych w punktach zaczepienia),
- kilka orbit (trajektorii) przechodzących przez sąsiednie, losowo wybrane punkty — różnymi kolorami.
- (jeden podpunkt liczony jako obowiązkowy) Stwórz dokument w LATEXu z grafem automatu skończonego, z wyróżnionym stanem początkowym i stanami końcowymi, z etykietami stanów i przejść:
- przy pomocy pakietu PGF/TikZ (pakiet TEXa),
- przy pomocy pakietu graphviz, programy
dot i neato — porównaj ich wyniki. (Wygeneruj pliki w formacie wygodnym do wykorzystania z dokumentu LATEXowego.)
- Zapoznaj się z pakietem do edycji TeXa/LaTeXa w Emacsie AUCTeX (obecnie jest częścią GNU Emacsa) oraz jego możliwościami preview (dawniej tryb preview-latex). (Niestety, u mnie ma kłopoty z wstawianiem podglądu dla “inline math” we właściwe miejsce.)
- (domowe) Zapoznaj się z TeXmacsem, programem do składania tekstu (w szczególności bogatego w notacje matematyczne) typu “What You See Is What You Want”.
- Stwórz dokument z tytułem, autorem, spisem treści, (pod)rozdziałami, równaniami wystawionymi, a także przy pomocy skrótów klawiszowych: tekstem zwykłym z “inline math”, formułami z ułamkami (kreską poziomą), pierwiastkami i całkami, kreseczką lub strzałką ponad formułą jak przy oznaczaniu wektora, itd.
- Wypróbuj kilka symboli-komend LATEXa: które działają, które nie?
- (dodatkowe) Wstaw sesję Maximy (albo Axioma, etc.) i policz w niej symbolicznie jakąś całkę.
- (dodatkowe) Zadanie z Beamera Jakuba Michaliszyna.
- (dodatkowe) Opisz formaty graficzne (co je charakteryzuje): gif, png, jpeg, svg, fig, eps.
- Konfiguracja sieci. Uzupełnienie: polecenia
diff /patch i adduser /useradd .
- Zadanie 3 z listy Marcina Bieńkowskiego http://www.ii.uni.wroc.pl/~mbi/dyd/linux_08w/p10.pdf. (polecenia
diff /patch )
- Zadanie 4 z listy Marcina Bieńkowskiego http://www.ii.uni.wroc.pl/~mbi/dyd/linux_08w/p10.pdf. (polecenie
patch , niedopasowanie)
- (dodatkowe) Zapoznaj się z zestawem poleceń Emacsa Ediff (menu Tools: Compare, Merge, Apply patch). W szczególności, przygotuj plik oryginalny i dwie niezależne, częściowo konfliktujące, jego modyfikacje, i przetestuj polecenie Merge Files/Buffers with ancestor.
- http://www.ii.uni.wroc.pl/~mbi/dyd/linux_08w/p11.pdf
- http://sequoia.ict.pwr.wroc.pl/~witold/linuxuwr/linux9_10.html
|