„2008. 06. 04-ei szoftvertechnikák vizsga” változatai közötti eltérés
A VIK Wikiből
Nincs szerkesztési összefoglaló |
|||
(Egy közbenső módosítás ugyanattól a felhasználótól nincs mutatva) | |||
3. sor: | 3. sor: | ||
==1. Milyen fajta biztonsági megoldások vannak a .NET keretrendszerben? (12p)== | ==1. Milyen fajta biztonsági megoldások vannak a .NET keretrendszerben? (12p)== | ||
* '''Szerep alapú biztonság''' (Role based security): A felhasználó rendszerben betöltött szerepén és jogain alapuló biztonsági mechanizmus. | * '''Szerep alapú biztonság''' (Role based security): A felhasználó rendszerben betöltött szerepén és jogain alapuló biztonsági mechanizmus. | ||
* '''Kóderedet alapú biztonság''' (Code access security): Képes meghatározni, hogy a kód mit tehet, a meghívott kód mit tehet, valamint képes egyértelműen azonosítani a kódot | * '''Kóderedet alapú biztonság''' (Code access security): Képes meghatározni, hogy a kód mit tehet, a meghívott kód mit tehet, valamint képes egyértelműen azonosítani a kódot. | ||
==2. C# Event + példaprogram (12p)== | ==2. C# Event + példaprogram (12p)== | ||
Lásd: [ | Lásd: [[SzoftTechVizsga070530#2._C.23_Event_.2B_p.C3.A9ldaprogram|2007. május 30-ai vizsga 2. feladata]] | ||
==3. Eseményvezérelt programozás (15p)== | ==3. Eseményvezérelt programozás (15p)== | ||
Lásd: [ | Lásd: [[SzoftTechVizsga070530#3._Esem.C3.A9nyvez.C3.A9relt_programoz.C3.A1s|2007. május 30-ai vizsga 3. feladata]] | ||
==4. Szálkezelés (12p)== | ==4. Szálkezelés (12p)== | ||
101. sor: | 101. sor: | ||
==5. Rajzolj fel példát 1:1, 1:n, m:n relációkra, és írd fel, milyen táblákba képeznéd le őket! (12p)== | ==5. Rajzolj fel példát 1:1, 1:n, m:n relációkra, és írd fel, milyen táblákba képeznéd le őket! (12p)== | ||
Lásd: [ | Lásd: [[SzoftTechVizsga070530#5._Rajzolj_fel_p.C3.A9ld.C3.A1t_1:1.2C_1:n.2C_m:n_rel.C3.A1ci.C3.B3kra.2C_.C3.A9s_.C3.ADrd_fel.2C_milyen_t.C3.A1bl.C3.A1kba_k.C3.A9pezed_le_.C5.91ket|2007. május 30-ai vizsga 5. feladata]] | ||
==6. Tervezési minták (13p)== | ==6. Tervezési minták (13p)== | ||
'''a.) Mik azok, mire valók? (3p)''' <br> | '''a.) Mik azok, mire valók? (3p)''' <br> | ||
'''b.) Singleton kód c++ ||| Java || C# nyelven (10p)''' <br> | '''b.) Singleton kód c++ ||| Java || C# nyelven (10p)''' <br> | ||
Lásd: [ | Lásd: [[SzoftTechVizsga070606#6._Tervez.C3.A9si_mint.C3.A1k_mire_j.C3.B3k.3F_Singleton_k.C3.B3d_c.2B.2B_.7C.7C.7C_Java_.7C.7C_C.23_nyelven|2007. június 6-ai vizsga 6. feladata]] | ||
[[Sznikak_tervezesimintak|Tervezés minták]] | |||
==7. Model-View-Controller és Document-View jellemzés, leírás + példa az egyikre (13p)== | ==7. Model-View-Controller és Document-View jellemzés, leírás + példa az egyikre (13p)== | ||
Lásd: [ | Lásd: [[SzoftTechVizsga070606#7._MVC_vs._Document.2FView._Jellemz.C3.A9s.2C_le.C3.ADr.C3.A1s|2007. június 6-ai vizsga 7. feladata]] | ||
==8. Mi a szerver oldali vezérlők szerepe? Milyen típusok vannak? (13p)== | ==8. Mi a szerver oldali vezérlők szerepe? Milyen típusok vannak? (13p)== | ||
124. sor: | 124. sor: | ||
* Mobil web alkalmazások készítéséhet | * Mobil web alkalmazások készítéséhet | ||
* Figylembe veszi az adott mobil kliens képességeit | * Figylembe veszi az adott mobil kliens képességeit | ||
[[Category:Infoalap]] | [[Category:Infoalap]] |
A lap jelenlegi, 2013. február 6., 10:16-kori változata
1. Milyen fajta biztonsági megoldások vannak a .NET keretrendszerben? (12p)
- Szerep alapú biztonság (Role based security): A felhasználó rendszerben betöltött szerepén és jogain alapuló biztonsági mechanizmus.
- Kóderedet alapú biztonság (Code access security): Képes meghatározni, hogy a kód mit tehet, a meghívott kód mit tehet, valamint képes egyértelműen azonosítani a kódot.
2. C# Event + példaprogram (12p)
Lásd: 2007. május 30-ai vizsga 2. feladata
3. Eseményvezérelt programozás (15p)
Lásd: 2007. május 30-ai vizsga 3. feladata
4. Szálkezelés (12p)
a.) Miért könnyebb az egy folyamaton belüli szálak kommunikációja? (3p)
Röviden: * folyamatok elszigeteltek, a folyamatok közötti kommunikáció nehéz * A szálak egy adott folyamaton belül egy címtartományban vannak, így "könnyen" kommunikálnak A folyamatok egymástól elszigeteltek: * Védettek egymástól (minden folyamat saját kb. 2 GB virtuális címtartományt kap (32 bites OS esetén); a virtuális címeket a memóriamenedzser fizikai címekre képezi le (RAM) * Az OS védett a felhasználói folyamatoktól * Egy folyamat megszűntetésének nincs hatása a többire/OS-re
b.) Szálbiztos osztály fogalma egy-két mondatban (6p)
Szálbiztos: A kölcsönös kizárás problémája:<br/> * Környezet: megosztott erforráshoz több szál fér hozzá * Megosztott erőforrás: memória (változók, objektumok), fájl, stb. * Meg kell őrizni a konzisztenciát. Egy CPU esetén sem tudjuk, mikor veszi el az ütemez a szál futási jogát! Megoldás: biztosítanunk kell, hogy a megosztott erőforráshoz egyidőben csak egy szál férjen hozzá. (oszthatatlan test_and_set) Szálbiztos osztály: Egy osztály szálbiztos, ha úgy lett megírva, hogy többszálú környezetben is biztonságosan használható. * Maga garantálja a konzisztenciát * A felhasználás során már nem kell zárolni... public class Stack<T>{ readonly int size; int current = 0; T[] items; object syncObject = new object(); public void Push(T item){ lock(syncObject){ items[current++] = item; } } public T Pop(){ lock(syncObject){ return items[current--]; } } }
c.) Lock, Mutex, ReaderWriterLock konstrukciók összehasonlítása (12p) <br
Név | Cél | Folyamatok | Sebesség |
lock C# utasítás (Monitor.Enter/Monit or.Leave) | Biztosítja, hogy egy adott erőforráshoz/kódrészlethez egyidőben csak egy szál férhet hozzá. | nem | gyors |
Mutex | Mint a lock, de folyamatok között is. Pl. annak megoldására, hogy egy alkalmazásból csak egy példány indulhasson. | igen | közepes |
Semaphore | Mint a Mutex, de nem egy, hanem max. N hozzáférést engedélyez. | igen | közepes |
ReaderWriterLock | Sok olvasóra optimalizált megoldás. Egyszerre több olvasó is hozzáférhet az erforráshoz, de íróból csak egy (illetve az író kizárja az olvasókat is). Pl. ritkán módosított cache megvalósítása. | nem | közepes |
Pelda lockra: class ThreadSafeClass{ static bool flag; // Közös erforrás static object syncObject = new object(); static void Main(){ new Thread(Run).Start(); new Thread(Run).Start(); } static void Run(){ lock (syncObject){ while(flag){ flag = 1; // EF. használata flag = 0; } } } }
5. Rajzolj fel példát 1:1, 1:n, m:n relációkra, és írd fel, milyen táblákba képeznéd le őket! (12p)
Lásd: 2007. május 30-ai vizsga 5. feladata
6. Tervezési minták (13p)
a.) Mik azok, mire valók? (3p)
b.) Singleton kód c++ ||| Java || C# nyelven (10p)
Lásd: 2007. június 6-ai vizsga 6. feladata
7. Model-View-Controller és Document-View jellemzés, leírás + példa az egyikre (13p)
Lásd: 2007. június 6-ai vizsga 7. feladata
8. Mi a szerver oldali vezérlők szerepe? Milyen típusok vannak? (13p)
a.) HTML Controls
- System.Web.UI.htmlControls névtérben
- Egy-egy HTML taget tesz elérhetővé
- Szorosan burkolja az eredeti HTML elemeket, minimális funkcionalitást ad hozzá -> gyrosabb, mint a WebControl
b.) Web Controls
- System.Web.UI.WebControls névtérben bonyolultabb funkcionalitású osztályok
- Összetettebb HTML kódot generál
c.) Mobile Controls
- Mobil web alkalmazások készítéséhet
- Figylembe veszi az adott mobil kliens képességeit