Microsoft PowerPoint - Curs_TPI_22_v01.ppt

Documente similare
Microsoft Word _POO_Lab_1_Modificari_v01.htm

Procesarea de imagini folosind programarea paralela. Implementari Java. Continut laborator: 1. Obiectivul lucrarii. 2. Notiuni teoretice: 3. Cerinte l

Programarea şi utilizarea calculatoarelor

Microsoft Word - CarteC.doc

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Limbaje de Programare Curs 8 – Fisiere

Limbaje de Programare Curs 5 – Siruri de caractere

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Declararea variabilelor

Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo

Microsoft Word _SwRTc_Proiect_Faza1_v01.htm

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Lucrarea nr. 9 - Liste dublu înlănţuite Breviar teoretic În cadrul elementelor studiate anterior s-a putut observa utilitatea listelor simplu înlănuit

Laborator 3

1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de

Algoritmi genetici paraleli. Implementari Java. Continut laborator: 1. Obiectivul lucrarii. 2. Notiuni teoretice: 3. Cerinte laborator. 4. Tema. 1. Ob

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Slide 1

Object Oriented Programming

Proiectarea Sistemelor Software Complexe

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

PowerPoint Presentation

Top

Lucrarea 10

LUMINIŢA SCRIPCARIU

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

C++ Probleme

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

PCLPII-C16(9)

Gestionarea I/E

PROGRAMA DE EXAMEN

L7

Lucrarea nr. 4 - Algoritmi de sortare şi ordonare Breviar teoretic Un algoritm de sortare este o metoda prin care se aranjează elementele unui tablou

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Facultatea de Mate

Lucrarea 11. IoT Internet of Things - Accesul prin Internet la obiecte sau dispozitive simple 1. Obiectivul lucrarii Lucrarea isi propune sa studieze

PROGRAMARE ORIENTATA PE OBIECTE

1

Microsoft Word - PCLP2_Curs_4_2019.doc

Microsoft Word - Ansamblul software CRONIS

Microsoft Word - lab4.doc

Ingineria Sistemelor de Programare

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Microsoft PowerPoint - TDRC_II-10-TCP.ppt

SUBPROGRAME

Curs 10

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Paradigme de Programare

INFORMATICĂ ŞI MARKETING

Microsoft Word - 4-Interfete paralele.doc

A TANTÁRGY ADATLAPJA

Microsoft Word - lab-fr_3

Sisteme de calcul în timp real

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIŞA DISCIPLINEI (CO

Ingineria Sistemelor de Programare

Slide 1

9. Design patterns - Singleton, Factory, Observer Scopul acestui curs este familiarizarea cu folosirea unor pattern-uri des întâlnite în design-ul atâ

Informatică aplicată TEST GRILA TEST GRILĂ - REZOLVAT 1.Structura de principiu a unui sistem de calcul contine urmatoarele componente principale: A. u

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

LUCRAREA NR

Slide 1

Microsoft Word - 2 ES RO.doc

VoIP Voice Over IP

Reţele de calculatoare

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Matematică şi Info

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

CURS

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez

WorkCentre M123/M128, WorkCentre Pro 123/128, CopyCentre C123/128 Ghid de Configurare Rapidă pentru Reţea

FIŞA DISCIPLINEI

Structuri de date pentru partiţii de mulţimi O partiţie finită a unei mulţimi nevide S este o mulţime finită de submulţimi ale lui S: {S 1, S 2,..., S

Microsoft Word - CarteC.doc

Microsoft Word - O problema cu bits.doc

Microsoft Word _LPAI_Lab_5_v01.htm

Guardian2012_RO3

PPSD

Microsoft Word - barcan.doc

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai din Cluj-Napoca superior 1.2 Facultatea Facultatea de

Programarea şi utilizarea calculatoarelor

Aggregating Data

Subiectul 1

Kein Folientitel

Slide 1

Utilizare Internet

Update firmware aparat foto Mac Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încr

Example Title with Registration Microsoft® and Trademark SQL ServerTM

Microsoft PowerPoint - cap4.ppt

Example Title with Registration Microsoft® and Trademark SQL ServerTM

09. Informatica 2 - MM 1

PowerPoint Presentation

PowerPoint Presentation

Laborator 10 - Paradigme de Programare Corutine - suport nativ pentru paralelism în Kotlin Înainte de a trece la realizarea unei aplicații utilizând c

Biomedical Wi-Fi data transmissons

Laborator - Configurarea Rutelor IPv4 Statice și Implicite Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gate

HONEYWELL AWARD

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default

Transcriere:

UPB Facultatea ETTI Curs TPI an III RST 2009-2010 Tehnologii de Programare in Internet (TPI / RST) Titulari curs: Mihnea Magheti, Eduard-Cristian Popovici Suport curs: http://discipline.elcom.pub.ro/tpi/ Moodle: http://electronica07.curs.ncit.pub.ro/course/category.php?id=3 TPI 07.03.2010 18:01 1

Continut curs TPI Structura cursului 1. Introducere in tehnologiile Internet 2. Introducere in tehnologiile desktop (SE) Java 2.1. Elemente de baza. Tipuri de date referinta. Clase de biblioteca 2.2. Clase pentru fluxuri de intrare-iesire (IO) 3. Programarea la nivel socket in Java 3.1. Introducere in Protocolul Internet (IP) si stiva de protocoale IP 3.2. Socketuri flux (TCP) Java si programe multifilare (threads) 3.3. Socketuri datagrama (UDP) Java 4. Tehnologii Java de programare a aplicatiilor Web (EE) Java 4.1. Tehnologii client. Miniaplicatii Java (applet-uri) 4.2. Clase pentru interfete grafice cu utilizatorul (AWT, Swing) 4.3. Platforma Java EE. Arhitectura si tehnologiile implicate 4.4. Tehnologii server. Tehnologia Java Servlet 4.5. Tehnologia Java ServerPages (JSP) 4.6. Accesul la baze de date prin tehnologii Java (JDBC, Hibernate) 4.7. Tehnologii avansate (frameworks, componente EJB, Servicii Web) TPI 07.03.2010 18:01 2

Structura cursului 2. Introducere in tehnologiile desktop Java 2.2. Clase pentru fluxuri de intrare-iesire (IO) TPI 07.03.2010 18:01 3

Programele pot avea nevoie de a: - prelua informatii de la surse externe - trimite informatii catre destinatii externe Sursa / destinatia poate fi: fisier pe disc retea (socket) memorie (program) dispozitiv IO (ecran, tastatura) TPI 07.03.2010 18:01 4

Pentru preluarea informatiilor programul - deschide un flux de intrare de la o sursa de informatii si - citeste informatiile secvential Program consumator citire Flux (FIFO) Sursa informatie TPI 07.03.2010 18:01 5

Pentru trimiterea informatiilor programul - deschide un flux de iesire catre o destinatie a informatiilor si - scrie informatiile secvential Program producator scriere Flux (FIFO) Destinatie informatie TPI 07.03.2010 18:01 6

In functie de tipul de date transferate, clasele din pachetul java.io se impart in doua categorii: - fluxuri de caractere (date reprezentate in UNICODE pe 16b), avand ca radacini ale arborilor de clase derivate superclasele abstracte: - Reader (de intrare) si - Writer (de iesire) - fluxuri de octeti (date reprezentate pe 8b), avand ca radacini ale arborilor de clase derivate superclasele abstracte: - InputStream (de intrare) si - OutputStream (de iesire) TPI 07.03.2010 18:01 7

Fluxuri de octeti TPI 07.03.2010 18:01 8

Fluxuri de caractere TPI 07.03.2010 18:01 9

In functie de specializarea pe care o implementeaza, subclasele claselor abstracte se impart in alte doua categorii: - terminale (data sink), care nu au ca sursa / destinatie alte fluxuri, ci: - fisierele - memoria (tablourile) - reteaua (socketurile) - sirurile de caractere (String) - alte programe (prin conducte - pipes) - de prelucrare (processing), care au ca sursa / destinatie alte fluxuri, si au ca rol prelucrarea informatiilor: - buffer-are (stocare temporara) - filtrare de diferite tipuri (conversie, contorizare, etc.) - tiparire TPI 07.03.2010 18:01 10

Clase pentru fluxuri IO TPI 07.03.2010 18:01 11

Tipuri de fluxuri terminale - NU au ca sursa / destinatie alte fluxuri Tip de Terminal Utilizare Fluxuri de caractere Fluxuri de octeti Memorie Accesul secvential la tablouri Accesul secvential la siruri de caractere CharArrayReader CharArrayWriter StringReader StringWriter ByteArrayInputStream ByteArrayOutputStream StringBufferInputStream StringBufferOutputStrea m Canal / conducta (pipe) Conducte intre programe PipedReader PipedWriter PipedInputStream PipedOutputStream Fisier Accesul la fisiere FileReader FileWriter FileInputStream FileOutputStream TPI 07.03.2010 18:01 12

Fluxuri terminale - NU au ca sursa / destinatie alte fluxuri TPI 07.03.2010 18:01 13

Program de copiere a fisierelor folosind fluxuri de octeti import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; public class CopyBytes { public static void main(string[] args) throws IOException { FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream( in.txt"); out = new FileOutputStream("out.txt"); int c; while ((c = in.read())!= -1) { out.write(c); } } } } finally { if (in!= null) { in.close(); } if (out!= null) { out.close(); } } TPI 07.03.2010 18:01 14

Tipuri de fluxuri de prelucrare - AU ca sursa / destinatie alte fluxuri Tip de Prelucrare Buffer-are Utilizare Stocare temporară Fluxuri de Caractere BufferedReader BufferedWriter Fluxuri de octeti BufferedInputStream BufferedOutputStream Filtrare Prelucrare FilterReader FilterWriter FilterInputStream FilterOutpuStream Conversie octet/caracter Bridge byte-char InputStreamReader OutputStreamWriter Concatenare Serializarea obiectelor Prelucrare SequenceInputStream ObjectInputStream ObjectOutputStream Conversia datelor Acces la tip date primitiv Java DataInputStream DataOutputStream Numararea Numarare linii LineNumberReader LineNumberInputStream Imprimare Tiparire PrintWriter PrintStream TPI 07.03.2010 18:01 15

Fluxuri care fac conversia de la octeti la caractere Unicode si de la Unicode la caractere octeti TPI 07.03.2010 18:01 16

Cascada de fluxuri inlantuirea fluxurilor Citirea de la tastatura: pentru eficienta maxima, este recomandata inlantuirea (plasarea in cascada), astfel: BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); Citirea unui nume de la tastatura: BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println( Introduceti numele: ); String nume = in.readline(); TPI 07.03.2010 18:01 17

Fluxuri de date formatate TPI 07.03.2010 18:01 18

Fluxuri de date formatate Citirea unui nume de la tastatura folosind inlantuirea (cascada) unui DataInputStream cu un BufferedInputStream si cu System.in DataInputStream in = new DataInputStream(new BufferedInputStream(System.in)); System.out.println( Introduceti numele: ); String nume = in.readline(); Afisarea argumentelor programului curent folosind un DataOutputStream in cascada cu System.out DataOutputStream dos = new DataOutputStream (System.out); dos.writebytes( Argumentele programului: \n ); for (int i=0; i<args.length; i++) { dos.writebytes(args[i] + ); } dos.writechar( \n ); dos.flush(); TPI 07.03.2010 18:01 19

Serializarea obiectelor fluxuri de obiecte TPI 07.03.2010 18:01 20