155PIN2 Projekt - Informatika 2

Z GeoWikiCZ

Anotace

Předmět navazuje na Projekt - Informatika. 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 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 SVN. 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 na repositáři SVN

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ř. SVN) a wiki.

Trac je dostupný na http://josef.fsv.cvut.cz/trac/pin2

Příklad vypsání ticketů pro skupinu A zde.

SVN

Zdrojové kódy včetně dokumentace jsou uloženy v SVN repositáři pin2. Právo zápisu do repositáře mají pouze členové dané skupiny, přístup pro čtení omezen není.

Návod pro práci s SVN naleznete zde.

Příklad stažení repositáře

  • pouze pro čtení
svn co http://josef.fsv.cvut.cz/svn/pin2
  • uživatel s právem zápisu
svn co svn+ssh://uzivatel@josef.fsv.cvut.cz/var/lib/svn/pin2
  • příklad stažení vybraného projektu
svn co svn+ssh://uzivatel@josef.fsv.cvut.cz/var/lib/svn/pin2/2009/a pin2-2009-a

Pro experimenty (seznámení s SVN) používejte pískoviště

svn co svn+ssh://uzivatel@josef.fsv.cvut.cz/var/lib/svn/pin2/piskoviste pin2-piskoviste

Pracovní cyklus

Nastavení editoru
export SVN_EDITOR=emacs
Stažení lokální kopie adresáře projektu ze vzdáleného repozitáře
svn co svn+ssh://uzivatel@josef.fsv.cvut.cz/var/lib/svn/pin2/2009/a pin2-2009-a
Vytvoření základních adresářů projektu (viz požadavky)
cd pin2-2009-a
svn mkdir dokumentace
svn mkdir src
svn mkdir prezentace
svn ci -m"zakladni adresare projektu"
Přidání nového souboru
cd dokumentace
svn add Makefile
svn ci -m"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.
svn up
  • Přehled aktuálního stavu poskytuje příkaz `svn status` (M - modifikovaný soubor, A - přidaný soubor, D - odstraněný soubor)
svn status
M       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
svn diff Makefile
Index: Makefile
===================================================================
--- Makefile    (revision 116)
+++ Makefile    (working copy)
@@ -6,3 +6,6 @@
 
 pdf:
        $(PDFLATEX) $(NAME).tex
+
+clean:
+       rm -f $(NAME).pdf
  • Nahraní změn do vzdáleného repozitáře
svn ci -m"Makefile: pridano pravidlo 'clean'"
Vytvoření kopie souboru
svn copy Makefile Makefile.old
svn ci -m"Makefile.old jako kopie Makefile"
Přejmenování/přesunutí souboru
svn mv Makefile.old Makefile.old1
svn ci -m"Makefile.old prejmenovan na Makefile.old1"
Odstranění souboru (lokální kopie i souboru ve vzdáleném repozitáři)
svn rm Makefile.old
svn ci -m"Makefile.old odstranen"
Vrátit provedené změny
  • Před odstraněním změn je vhodné zjistit jejich rozsah
svn diff Makefile
Index: Makefile
===================================================================
--- Makefile    (revision 117)
+++ Makefile    (working copy)
@@ -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 `svn revert`. Tyto změny jsou nevratné!
svn 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 'josef' 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)