June 6 - 22, 2012 Open Source Summer School
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

curriculum:auto-dev [2012/06/17 20:48]
razvan [Exerciții practice]
curriculum:auto-dev [2012/06/24 17:58] (current)
razvan
Line 1: Line 1:
 = Automatizare în dezvoltarea aplicațiilor = = Automatizare în dezvoltarea aplicațiilor =
  
-* [[http://open-source.cs.pub.ro/summer-school/resources/res/slides/auto-dev.pdf|Slide-urile prezentării]]+* [[http://open-source.cs.pub.ro/summer-school/res/slides/auto-dev.pdf|Slide-urile prezentării]]
  
 <html> <html>
Line 11: Line 11:
 == Exerciții practice == == Exerciții practice ==
  
-* Folosiți arhiva cu resurse de [[http://open-source.cs.pub.ro/summer-school/res/tasks/auto-dev.zip|aici]].+* Folosiți arhiva cu resurse de [[http://open-source.cs.pub.ro/summer-school/res/tasks/tasks-auto-dev.zip|aici]].
 ** Descărcați și dezarhivați fișierul:<code> ** Descărcați și dezarhivați fișierul:<code>
 wget http://open-source.cs.pub.ro/summer-school/res/tasks/tasks-auto-dev.zip wget http://open-source.cs.pub.ro/summer-school/res/tasks/tasks-auto-dev.zip
 unzip tasks-auto-dev.zip unzip tasks-auto-dev.zip
 </code> </code>
-* Instalați Dia, Ant, Sun Java SDK și LaTeX:<code>+* Instalați Dia, Ant, Sun Java SDK, Flex și Bison și LaTeX:<code>
 apt-get install dia apt-get install dia
 apt-get install ant apt-get install ant
 apt-get install sun-java6-jdk apt-get install sun-java6-jdk
 +apt-get install flex bison
 apt-get install texlive-latex-base texlive-latex-extra texlive-bibtex-extra texlive-publishers highlight apt-get install texlive-latex-base texlive-latex-extra texlive-bibtex-extra texlive-publishers highlight
 </code> </code>
  
 # Creați un repository Git în cadrul directorului obținut din dezarhivare:<code> # Creați un repository Git în cadrul directorului obținut din dezarhivare:<code>
 +git init .
 git add . git add .
 git commit -m 'Add OSSS tasks' git commit -m 'Add OSSS tasks'
Line 52: Line 54:
 ##*** {{{PDFLATEX}}}, comanda folosită pentru compilarea surselor. ##*** {{{PDFLATEX}}}, comanda folosită pentru compilarea surselor.
 ##*** {{{BASENAME}}}, numele de bază al fișierului ({{{cap-01}}}). ##*** {{{BASENAME}}}, numele de bază al fișierului ({{{cap-01}}}).
-##*** {{{TEX}}}, numele fișierului sursă ({{{cap-01.tex}}}) (concanenați extensia {{{.tex}}} la {{{BASENAME}}}). +##*** Folosiți o construcție de forma {{{$(addsuffix extension, $(BASENAME))}}} pentru a defini noi variabile: 
-##*** {{{PDF}}}, numele de bază al fișierului ({{{cap-01.pdf}}}) (concanenați extensia {{{.tex}}} la {{{BASENAME}}})+##**** {{{TEX}}}, numele fișierului sursă ({{{cap-01.tex}}}) (concanenați extensia {{{.tex}}} la {{{BASENAME}}}). 
-##**** Folositi construcția {{{$(addsuffix .tex, $(BASENAME)}}}.+##**** {{{PDF}}}, numele de bază al fișierului ({{{cap-01.pdf}}}) (concanenați extensia {{{.tex}}} la {{{BASENAME}}}).
 ##** Actualizați fișierul Makefile pentru a defini variabila {{{OUT_DIR}}} cu valoarea {{{texfiles}}}. ##** Actualizați fișierul Makefile pentru a defini variabila {{{OUT_DIR}}} cu valoarea {{{texfiles}}}.
 ##*** Comanda {{{pdflatex}}} primește ca argument opțiunea {{{-output-directory}}} (vezi manual) pentru a genera fișierele de ieșire acolo. ##*** Comanda {{{pdflatex}}} primește ca argument opțiunea {{{-output-directory}}} (vezi manual) pentru a genera fișierele de ieșire acolo.
Line 66: Line 68:
 ##* Pentru compilarea corespunzătoare, trebuie să folosiți și fișierul {{{Makefile}}} din subdirectorul {{{code/}}}. ##* Pentru compilarea corespunzătoare, trebuie să folosiți și fișierul {{{Makefile}}} din subdirectorul {{{code/}}}.
 ##** Includeți, în fișierul Makefile, în locul potrivit comenzile:<code> ##** Includeți, în fișierul Makefile, în locul potrivit comenzile:<code>
--test -d $(CODE_DIR) && make -C $(CODE_DIR+-test -d $(CODE_DIR) && make -C $(CODE_DIR)
 -test -d $(CODE_DIR) && make -C $(CODE_DIR) clean -test -d $(CODE_DIR) && make -C $(CODE_DIR) clean
 </code> </code>
Line 116: Line 118:
 #* Compilați sursele:<code> #* Compilați sursele:<code>
 JAVA_HOME=/usr/lib/jvm/java-6-sun/ ant JAVA_HOME=/usr/lib/jvm/java-6-sun/ ant
 +</code>
 +#** Ca să câștigați timp, puteți exporta variabila {{{JAVA_HOME}}} în shell:<code>
 +export JAVA_HOME=/usr/lib/jvm/java-6-sun/
 </code> </code>
 #* Urmăriți fișierele {{{.class}}} compilate în directorul {{{classes/}}}. #* Urmăriți fișierele {{{.class}}} compilate în directorul {{{classes/}}}.
 #* Folosiți comanda Ant de rulare a aplicației (nu va rula din cauza absenței serverului). #* Folosiți comanda Ant de rulare a aplicației (nu va rula din cauza absenței serverului).
-#* Folosiți comanda Ant de generare a documentației JavaDoc în directorul {{{doc/api/}}}.+#* Folosiți comanda Ant de generare a documentației Javadoc în directorul {{{doc/api/}}}
 +#** Fișierul {{{buil.xml}}} dispune de regulă pentru generarea documentației. Folosiți acea regulă.
 #** Parcurgeți documentația generată. #** Parcurgeți documentația generată.
 # Intrați în subdirectorul {{{05-ant-from-scratch/}}}. # Intrați în subdirectorul {{{05-ant-from-scratch/}}}.
 #* Construiți setupul necesar astfel încât să fie compilabil cu Ant. #* Construiți setupul necesar astfel încât să fie compilabil cu Ant.
 +#** Porniți de la fișierul {{{build.xml}}} de la exercițiul anterior.
 #* Folosiți pachetul {{{ro.pub.cs.sprc.chord}}}. #* Folosiți pachetul {{{ro.pub.cs.sprc.chord}}}.
-#** Adică trebuie precizat, la începutul fiecărui fișier {{{.java}}}<code>+#** Adică trebuie adăugată, la începutul fiecărui fișier {{{.java}}}, următoarea linie:<code>
 package ro.pub.cs.sprc.chord; package ro.pub.cs.sprc.chord;
 </code> </code>
 +#* Nu folosiți regulă de {{{run}}}. Sunt mai multe clase de tip main și nu are rost să complicăm fișierul {{{build.xml}}}.
 +#* Folosiți, respectiv, regulile {{{build}}} (implicit), {{{clean}}} și {{{doc}}}.
 +#* Înainte de a comite actualizările, folosiți fișiere {{{.gitignore}}} pentru a ignora fișierele obținute (fișierele {{{.class}}} și fișierele de ieșire de tip Javadoc).
 +#** **Hint**: Puteți ignora directoarele care conțin aceste fișiere.

OS

Calendar
  • June 6-7: welcoming and intro from UPB Summer School
  • Friday, June 8: intro of OSSC: presentation of people involved, curriculum, projects, selection of projects
  • June 11-15, 18-21: presentations and hackathons
  • Friday, June 22: presentation of project outcomes, diplomas and prizes, closing
Powered by

CS

ROSEdu

Systems

Sponsori

Adobe

EDW

Google