155PIN2 Projekt - Informatika 2
Anotace
Předmět navazuje na Projekt - Informatika z bakalářského studia. Studenti jsou rozděleni do skupin, které během semestru pracují na zadaném tématu z oboru geoinformačních technologií.
Skupiny během semestru průběžně prezentují výsledky a postup prací. Semestr je zakončen veřejnou prezentací projektů.
Zadání projektu
Akademický rok 2010/2011
Akademický rok 2009/2010
Akademický rok 2008/2009
Požadavky
- Výsledek projektu je šířen pod licencí GNU GPL, pokud s touto podmínkou autoři nesouhlasí, musí to explicitně uvést na první straně dokumentace
- Závěrečná zpráva je uložena do repositáře pin2. Součástí závěrečné zprávy musí být:
- textová dokumentace ve formátu PDF včetně zdrojového textu, např. LaTeX
- všechny zdrojové texty strukturované podle potřeby do hierarchie podadresářů
- se zdrojovými texty překládaných programů musí být dodán vždy soubor
Makefile
Struktura adresáře (příklad pro skupinu A rok 2009):
/2009 | |-/a | |-/dokumentace |-/src |-/prezentace
- Projekt je zakončen veřejnou prezentací
- K prezentaci se předkládá textová část dokumentace (nemusí obsahovat přílohy), tak aby byla k dispozici a mohla být dána k nahlédnutí přítomným zájemcům
- Plná dokumentace musí být k datu odevzdání zprávy vystavena v repositáři pin2
Trac
Trac je nástroj pro správu projektu a hlášení chyb. Trac je svobodný software licencovaný pod GNU GPL. Umožňuje integraci systému hlášení chyb, systému pro správu verzi (např. Git) a wiki.
Trac předmětu je dostupný na adrese
Příklad vypsání ticketů pro skupinu 2010/A.
Git
Zdrojové kódy včetně dokumentace jsou uloženy v Git repositáři pin2. Právo zápisu je omezen na členy dané skupiny, přístup pro čtení omezen není.
Návod pro práci s Gitem naleznete zde.
Příklad stažení repositáře
git clone git@geo102.fsv.cvut.cz:pin2.git
a nahraní submodulu pro daný akademický rok
cd pin2 git submodule init git submodule update 2010
Pro experimenty (seznámení s Gitem) používejte sandbox
git clone git@geo102.fsv.cvut.cz:sandbox.git
Pracovní cyklus
- Před prvním commitem je vhodné nastavit osobní data a textový editor
git config user.name "Martin Landa" git config user.email "martin.landa@fsv.cvut.cz" git config core.editor "emacs"
- Naklonování repozitáře a submodulu pro daný akademický rok
git clone git@geo102.fsv.cvut.cz:pin2.git cd pin2 git submodule init git submodule update 2010
- Vytvoření základních adresářů projektu (viz požadavky)
cd 2010/a mkdir dokumentace mkdir src mkdir prezentace
- Přidání nového souboru
cd dokumentace git add Makefile git commit -am"Makefile pro dokumentaci projektu"
- Nahrání změn do vzdáleného repozitáře
Před modifikací souborů je vhodné aktualizovat všechny soubory v aktuálním adresáři a tím zabránit případným kolizím při nahrávaní změn do vzdáleného repozitáře.
git pull
Přehled aktuálního stavu poskytuje příkaz `git status`
git status
# On branch master # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: Makefile #
Před nahráním změn do vzdáleného repozitáře je vhodné pro kontrolu zobrazit změny, které jste v lokální kopii provedli
git diff Makefile
diff --git a/Makefile b/Makefile index c1b0730..2f43e19 100644 --- a/Makefile +++ b/Makefile @@ -6,3 +6,6 @@ pdf: $(PDFLATEX) $(NAME).tex + +clean: + rm -f $(NAME).pdf
- Nahraní změn do vzdáleného repozitáře
git commit -m"Makefile: pridano pravidlo 'clean'" git push
- Přejmenování/přesunutí souboru
git mv Makefile.old Makefile.old1 git commit -m"Makefile.old prejmenovan na Makefile.old1" git push
- Odstranění souboru (lokální kopie i souboru ve vzdáleném repozitáři)
git rm Makefile.old git ci -m"Makefile.old odstranen" git push
- Vrátit provedené změny
- Před odstraněním změn je vhodné zjistit jejich rozsah
git diff Makefile
diff --git a/Makefile b/Makefile index c1b0730..2f43e19 100644 --- a/Makefile +++ b/Makefile @@ -2,9 +2,6 @@ NAME=dokumentace.tex all: - make pdf - -pdf: $(PDFLATEX) $(NAME).tex clean:
- Odstranění lokální modifikace (tj. přepsání souboru lokální kopie souborem ze vzdáleného repozitáře) se provede příkazem `git revert`. Tyto změny jsou nevratné!
git revert Makefile
- Přehled provedených změn
svn log
------------------------------------------------------------------------ r117 | landa | 2010-03-07 18:12:39 +0100 (Sun, 07 Mar 2010) | 1 line Makefile: pridano pravidlo 'clean' ------------------------------------------------------------------------ r116 | landa | 2010-03-07 18:08:56 +0100 (Sun, 07 Mar 2010) | 1 line Makefile pro dokumentaci projektu ------------------------------------------------------------------------ r115 | landa | 2010-03-07 18:04:09 +0100 (Sun, 07 Mar 2010) | 1 line zakladni adresare projektu ------------------------------------------------------------------------
Viz také zobrazení změn v Tracu.
- Nastavení svn:ignore
svn propedit svn:ignore .
- Výpis vlastností
svn proplist -v .
-->
PostGIS
Pro účel projektu je na serveru 'geo102' zřízena databáze pgis_pin2. Každé skupině je přiřazeno unikátní schéma, např. skupině 'A' v roce 2009 - a09. V projektech se schéma uvádí vždy explicitně pro každou tabulku, tedy např.
SELECT count(*) FROM a09.obce;
Pro potřeby UMN MapServer či QGIS lze k databázi přistupovat jako uživatel 'postgis' s heslem 'postgis1'.
Konzultace
- Ing. Martin Landa <martin.landa fsv.cvut.cz> (B802, konzultační hodiny)