Tīmekļa programmēšana

Preview:

DESCRIPTION

Tīmekļa programmēšana. 20 13 . gada rudens semestris. Lekcijas. Ceturtdien, 16:30 – 19:45 Raiņa bulvāris 29, 413. auditorija. Kontakti. docente Dr.dat. Alina Vasiļjeva alina.vasiljeva@gmail.com. Kursa materiāli. Kursa Web lapa http://ante.lv  - PowerPoint PPT Presentation

Citation preview

Tīmekļa programmēšana

2013. gada rudens semestris

Lekcijas

• Ceturtdien, 16:30 – 19:45

Raiņa bulvāris 29, 413. auditorija

Kontakti

• docente Dr.dat. Alina Vasiļjevaalina.vasiljeva@gmail.com

Kursa materiāli

• Kursa Web lapa• http://ante.lv

LU maģ. "Tīmekļa programmēšana" 2013.g. rudens

Tieša saite: http://ante.lv/web-programming-2013/

• Moodle• http://estudijas.lu.lv • DatZ5008

Google grupa diskusijām• Grupas nosaukums: Web Programming LU 2013

• Grupas mājas lapa: http://groups.google.com/group/web-programming-lu-2013

• Grupa ir paredzēta vispārīgu jautājumu apspriešanai, kas varētu interesēt visus kursa dalībniekus• Praktisko darbu precizējumi• Tehnisko grūtību atrisināšana• utml

Kursa prasības

• 1.praktiskais darbs (obligāts): 30% (25% + 5%), min 15%

• 2.praktiskais darbs (obligāts): 30% (25% + 5%), min 15%

• 3.praktiskais darbs (obligāts): 25% (20% + 5%), min 10%

• Individuālie mājasdarbi (neobligāti): 15% + 15%

• Izvēļu testi (neobligāti): 10%

• Negaidīti mazie mājasdarbi (neobligāti): max 10%

• Konferences (neobligāti): max 10%

Praktiskie darbi

• Darbus var pildīt individuāli, vai divu cilvēku komandās

• Komandas ir jāpiesaka līdz 23.09.2013 pa e-pastu

• Komandas gadījumā katram cilvēkam ir jāpiedalās katra darba izstrādē un jāmāk paskaidrot gan sevis izpildītas uzdevuma daļas, gan arī visu risinājumu kopumā!!!

Praktiskie darbi• 1. PD (30%)• Uzdevums: Java konsoles programma. Datu iegūšana no

tīmekļa (HTTP klients), datu saglabāšana datubāzē.• Termiņš: 11. novembris (check point: 28. oktobris)

• 2. PD (30%)• Uzdevums: Spring MVC tīmekļa portāls• Termiņš: 9. decembris (check point: 25. novembris)

• 3. PD (25%)• Uzdevums: Rich GUI un Ajax tīmekļa portāls• Termiņš: 19. decembris

Praktiskie darbi• Kavējuma sods

• Par katru nokavētu dienu 0,5 punkti tiek atskaitīti:• 10 dienu garumā ‘check point’ gadījumā• 10 dienu garumā gala termiņa gadījumā

• PĒC 10 DIENĀM IESNIEGT VAIRS NEDRĪKST !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

• Problēmu gadījumā SAVLAICĪGI informēt pasniedzēju!!!

• Darbus vajadzēs iesūtīt pa e-pastu

• Sesijas laikā visus darbus vajadzēs aizstāvēt klātienē

Praktiskie darbi

• Kavējuma soda piemērs

• Iesniegšanas termiņš = 11.11.2013

• Darbs iesūtīts:

• 11.11.2012 max atzīme = 30

• 12.11.2012 max atzīme = 29,5

• 13.11.2012 max atzīme = 29

• .....

• 21.11.2012 max atzīme = 25

• 22.11.2012 FAILED!!!

Extra credit

• Praktiskajiem darbiem papildus pamata prasībām tiks definēti arī “extra credit” uzdevumi, par kuriem būs iespējams iegūt papildus punktus

• Extra credit uzdevumus drīkst pildīt līdz sesijas beigām• “līdz sesijas beigām” = darbu jāiesūta vismaz 60

stundas pirms nākšanas uz eksāmenu

Individuālas prakt. darbu tēmas

• Ja Jūsu pieredze tīmekļa programmēšanā ir attīstījusies citā virzienā un vēlaties kursa laikā programmēt citas tīmekļa lietojumprogrammas, tad piesakoties pirmajās 2 nedēļās varat piedāvāt savu praktisko darbu virkni

Individuālie mājasdarbi

• Nav obligāti

• Pirmo uzdevumu izlozē – tiks piedāvāti 3 varianti, var izvēlēties kuru pildīt

• Otro uzdevumu var brīvi izvēlēties

• Termiņš – līdz sesijas beigām• “līdz sesijas beigām” = darbu jāiesūta vismaz 60

stundas pirms nākšanas uz eksāmenu

Izvēļu testi

• Būs pieejami Moodle vidē semestra beigās

• Nav obligāti

Negaidīti mazie mājasdarbi

• Iespējams, tiks uzdoti lekciju laikā

• Izpildes termiņš: 1 nedēļa

• Maksimāls punktu skaits, kurus būs iespējams iegūt: 10%

Konferences

• Motivācija:• vairāk iesaistīt studentus mācību procesā • padarīt lekcijas interaktīvākās• dalīties ar pieredzi

• Veltītas konkrētai tēmai• NoSQL datubāzes, MVC ietvari, Ajax ietvari utml

• Studenti veiks 10-15 minūtes ilgas prezentācijas

• Pēc prezentācijām notiks kopēja diskusija

• Maksimāls punktu skaits: 10%

Jautājumi ???

Maģistra darbi

Pieredze: 16 veiksmīgi aizstāvēti vadītie maģistra darbi

1.Visdažādākās tēmas, kas saistītas ar tīmekli un programmēšanu

2.Kvantu skaitļošana

Nāciet runāt...Nāciet runāt...Rakstiet e-pastus... Rakstiet e-pastus...

Kursa saturs

Internets mūsdienās

• Mūsdienās VISI zina kas ir Internets un

VISI izmanto Internetu

• Bet mūs, kā datoriķus, interesē kā veidot tīmekļa lietojumprogrammas

gan mazuļi gan vecmammiņas

Kursa mērķis

• Kursa mērķis ir iepazīties ar dažādām Java un Java Enterprise Edition tehnoloģijām, kas noder tīmekļa lietojumprogrammu veidošanai

Kas ir Kas ir tīmekļa tīmekļa

lietojumprogramma ???lietojumprogramma ???

Kursa saturs (1., 2. lekcija)

• Java programmēšanas valodas svarīgāko elementu pārskats

• Rīki un palīglīdzekļi, kuru izmantošana atvieglo programmētāja dzīvi un darba pieredze ar kuriem ir nepieciešama mūsdienu programmētājam:• Integrētas izstrādes vide Eclipse• Versiju kontroles rīki Git un Subversion• Projektu pārvaldības un būvēšanas rīki Maven un Ant

Kursa saturs (3. lekcija)

• Spring Framework – lietojumprogrammu izstrādes ietvars Java platformai

• Vispārīgs Spring ietvara pārskats

• Spring moduļi

• ”Atkarību injicēšanas” princips (Dependency Injection)

• ”Kontroles inversijas” konteineris (Inversion of Control)

Kursa saturs (4. lekcija)

• HTTP protokols • HTTP klientu programmēšana Java valodā

• Tīmekļa datu apmaiņas formāti• JSON, XML, YAML un citi

• Programmatiskā apstrāde, lasīšana, ģenerēšana

• XML apstrāde: DOM, SAX un citas pieejas

Kursa saturs (5.,6. lekcija)

• Datubāzes piekļuve

• Java Database Connectivity (JDBC)

• Objektu-relāciju attēlojums (Object-Relational Mapping)

• Java Persistence API ietvars

• Java Persistence Query Language (JPQL)

• Hibernate ietvars

Kursa saturs (6.,7. lekcija)

• NoSQL datubāzes• Key-Value Stores

• Document Stores

• Graph Databases

• Multivalue databases

• Object databases

• Spring Data:• Redis (key-value store)

Kursa saturs (7. lekcija)

• Žurnalēšanas ietvars log4j

• Vienību testēšana• JUnit

• Mockito

• Spring Test Framework

Kursa saturs (8. lekcija)

• Pārskata lekcija par moderno tīmekli

• HTML5, CSS3 interesantākie elementi

• Node.js

Kursa saturs (9. lekcija)

• Tīmekļa lietojumprogrammu arhitektūra un darbības pamatprincipi• Tīmekļa serveri, lietojumprogrammu serveri

• Tīmekļa lietojumprogrammas komponenti

• Moduļa (WAR) struktūra

• Tīmekļa lietojumprogrammas konfigurācija (web.xml fails)

• Tīmekļa lietojumprogrammu izvietošana (deployment) uz servera

• Java Enterprise Edition: tīmekļa lietojumprogrammu izstrādes platforma

Kursa saturs (9. lekcija)

• Tīmekļa lietojumprogrammu arhitektūra un darbības pamatprincipi• Tīmekļa serveri, lietojumprogrammu serveri

• Tīmekļa lietojumprogrammas komponenti

• Moduļa (WAR) struktūra

• Tīmekļa lietojumprogrammas konfigurācija (web.xml fails)

• Tīmekļa lietojumprogrammu izvietošana (deployment) uz servera

• Java Enterprise Edition: tīmekļa lietojumprogrammu izstrādes platforma

Kursa saturs (10. lekcija)

• Java Servlet tehnoloģija

• Servlet - Java programma, kas tiek darbināta uz tīmekļa servera, apstrādā HTTP pieprasījumus un veido tīmekļa lapas

Kursa saturs (11. lekcija)

• JavaServer Pages (JSP) tehnoloģija• servera puses Java tehnoloģija, kas ļauj veidot

dinamiski ģenerētas tīmekļa lapas HTML formātā

• JSTL tagu bibliotēka

Kursa saturs (11., 12., 13. lekcijas)

• Spring Web MVC

ietvars tīmekļa lietojumprogrammu izstrādei

• Tīmekļa lietojumprogrammu testēšana• Selenium

• HttpUnit

Kursa saturs (14. lekcija)

• Tīmekļa pakalpes (Web servisi)

• Tīmekļa servisu dažādi izmantošanas stili –

SOA un REST

• SOA tīmekļa servisu standarti – SOAP, WSDL

• RESTful tīmekļa servisi

• Tīmekļa servisu izstrāde ar JAX-WS un JAX-RS lietojumprogrammas saskarnēm

Kursa saturs (15. lekcija)

• Bagātīgas tīmekļa lietojumprogrammas

(Rich Internet Applications)

• Ajax - bagātīgu tīmekļa lietojumprogrammu izstrādes tehnoloģiju kopa

• Comet (Ajax Push)

Kursa saturs (15., 16. lekcijas)

RIA un Ajax ietvari

•Google Web Toolkit ietvars (GWT)

•jQuery bibliotēka

Recommended