„SzoftTechZH20130422” változatai közötti eltérés

Regirl (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
User15734 (vitalap | szerkesztései)
a A C# kód bénán volt betördelve, ezt javítottam.
 
(5 közbenső módosítás, amit 4 másik szerkesztő végzett, nincs mutatva)
20. sor: 20. sor:


public KeyArgs(char character) {
public KeyArgs(char character) {
        _character = character;
          _character = character;
}
        }
}
}


31. sor: 31. sor:
public event KeyEventHandler KeyDown;
public event KeyEventHandler KeyDown;


// ennek a metódusnak a meghívásával tudjuk a keyup eventet  
        // ennek a metódusnak a meghívásával tudjuk a keyup eventet  
// elsütni
        // elsütni


public void FireKeyUp(char c)
        public void FireKeyUp(char c)
{
        {
if(KeyUp != null)
    if(KeyUp != null)
          KeyUp(new KeyArgs(c));
              KeyUp(new KeyArgs(c));
}
        }


// ennek a metódusnak a meghívásával tudjuk a keydown eventet  
        // ennek a metódusnak a meghívásával tudjuk a keydown eventet  
// elsütni
        // elsütni
public void FireKeyDown(char c)
        public void FireKeyDown(char c)
{
        {
if(KeyDown != null)
            if(KeyDown != null)
KeyDown(new KeyArgs(c));
            KeyDown(new KeyArgs(c));
}
        }
}
}


public class KeyBoardSubscriber
public class KeyBoardSubscriber
{
{
// egy referenciát tárolunk egy KeyboardManager példányra, hogy
        // egy referenciát tárolunk egy KeyboardManager példányra, hogy
// fel tudjunk iratkozni az eseményeire
        // fel tudjunk iratkozni az eseményeire
private KeyboardManager manager = new KeyBoardManager();
private KeyboardManager manager = new KeyBoardManager();


public void Subscribe()
public void Subscribe()
{
        {
//feliratkozás
    //feliratkozás
manager.KeyUp += ProcessKeyUp;
        manager.KeyUp += ProcessKeyUp;
}
}
152. sor: 152. sor:
Sok olvasóra optimalizált megoldás. Egyszerre több olvasó is hozzáférhet az  erőforrá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. Folyamatok között: nem. Sebesség: közepes.
Sok olvasóra optimalizált megoldás. Egyszerre több olvasó is hozzáférhet az  erőforrá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. Folyamatok között: nem. Sebesség: közepes.


'''c,
'''c,'''
-főszál indít munkaszálat, tegyen be egy számot az item listbe, ezt jelezze a    munkaszálnak
* főszál indít munkaszálat, tegyen be egy számot az item listbe, ezt jelezze a    munkaszálnak
- várja meg, míg befejezi a futását a munkaszál
* várja meg, míg befejezi a futását a munkaszál
- munkaszál indulás után hatékonyan várakozzon a főszál jelzésére
* munkaszál indulás után hatékonyan várakozzon a főszál jelzésére
- jelzés után vegye ki a listából az elemet
* jelzés után vegye ki a listából az elemet
- írja ki a konzolra
* írja ki a konzolra
- fejezze be a futást
* fejezze be a futást
Kölcsönös kizárás biztosítása, ha kell.
Kölcsönös kizárás biztosítása, ha kell.
'''
 
<pre>
public class Process
public class Process
{
{
189. sor: 190. sor:
}
}
}
}
</pre>


Kölcsönös kizárás megvalósítására nincs szükség, mivel a listához időben szeparáltan férünk hozzá a két szálról(először az elsőről, aztán a másodikról).
Kölcsönös kizárás megvalósítására nincs szükség, mivel a listához időben szeparáltan férünk hozzá a két szálról(először az elsőről, aztán a másodikról).


Alternatív megoldás, hogy a removedEvent-et kitöröljük a kódból, és a removedEvent.WaitOne() sor helyett workerThread.Join() -t használunk.
Alternatív megoldás, hogy a removedEvent-et kitöröljük a kódból, és a removedEvent.WaitOne() sor helyett workerThread.Join() -t használunk.
5, Generikus típusok
 
a, Példa generikus kényszer alkalmazására
 
'''5, Generikus típusok'''
 
'''a, Példa generikus kényszer alkalmazására'''
 
<pre>
<pre>
class Dictionary<K,V>: IDictionary<K,V>
class Dictionary<K,V>: IDictionary<K,V>
209. sor: 215. sor:
'''b, Milyen esetben célszerű a dispose minta alkalmazása?'''
'''b, Milyen esetben célszerű a dispose minta alkalmazása?'''


A drága,és felügyelt erőforrások felszabadítására használjuk, pl a File.Close() is dispose-t hív.
A drága, és nem felügyelt erőforrások felszabadítására használjuk, pl a File.Close() dispose-t hív.
A nem felügyelt (pl. DLL-ek) erőforrások felszabadítására a destruktort használjuk, aminek lefutása soha nem determinisztikus.
 


//(destruktor sose az nem, nem valami olyasmi kéne, hogy, ha valami nagy //erőforrásigényű dolgot csináltunk?) <- így van.  
A Dispose() meghívása nem történik automatikusan, ezt nekünk kell megtenni.


Mit biztosít számunkra a dispose minta?
A dispose tervezési mintának köszönhetően az objektumok által foglalt erőforrások felszabadítása válik determinisztikussá.


A dispose tervezési mintának köszönhetően az objektumok által foglalt    erőforrások felszabadítása válik determinisztikussá.
'''c, .Net kóderedet alapú biztonsági mechanizmus lényege'''


c, .Net kóderedet alapú biztonsági mechanizmus lényege
Adott helyről letöltött programnak milyen jogai vannak (rosszindulatú kódtól nem véd!)
Adott helyről letöltött programnak milyen jogai vannak (rosszindulatú kódtól nem véd!)


(CAS) code acces security
(CAS) code acces security
Nincsenek felkészítve a mobil kódokra. (levélhez csatolva, netről, dokumentumban tárolva érkezhetnek a gépre)
Nincsenek felkészítve a mobil kódokra. (levélhez csatolva, netről, dokumentumban tárolva érkezhetnek a gépre)
Kód eredetét is kell ellenőrizni
Kód eredetét is kell ellenőrizni
Kódhoz kötött jogosultságok: nem csak a felhasználót azonosítja, hanem a végrehajtott kódot is.
Kódhoz kötött jogosultságok: nem csak a felhasználót azonosítja, hanem a végrehajtott kódot is.
A Szerelvényekhez kell meghatározni, hogy milyen jogaik vannak. (pl: netről töltött kód nem kap írási, és olvasási jogot, csak egy bizonyos mappára-> nem árthat nekünk)
A Szerelvényekhez kell meghatározni, hogy milyen jogaik vannak. (pl: netről töltött kód nem kap írási, és olvasási jogot, csak egy bizonyos mappára-> nem árthat nekünk)
Nem egyesével adnak ki jogokat, hanem biztonsági házirendet alakíthat ki a rendszergazda.  
Nem egyesével adnak ki jogokat, hanem biztonsági házirendet alakíthat ki a rendszergazda.  


'''6, Robusztus ADO.NET kapcsolat alapú modell
 
Írjon példakódot: beszúr rekordot egy táblába: Student(StudentID, Name, YearofBirth)
'''6, Robusztus ADO.NET kapcsolat alapú modell'''
(Nem szükséges sql paraméter használata.)'''
 
'''Írjon példakódot: beszúr rekordot egy táblába: Student(StudentID, Name, YearofBirth)'''
 
'''(Nem szükséges sql paraméter használata.)'''
<pre>
<pre>
254. sor: 264. sor:
</pre>
</pre>
'''7, Bináris komponensek
'''7, Bináris komponensek'''
a, Mit értünk dinamiks linkelés alatt? 3 előnye és 1 hátránya a statikus linkeléssel szemben.'''
 
'''a, Mit értünk dinamiks linkelés alatt? 3 előnye és 1 hátránya a statikus linkeléssel szemben.'''


Definíció: a futó program csak futásidőben tölti be a számára szükséges könyvtárakat.
Definíció: a futó program csak futásidőben tölti be a számára szükséges könyvtárakat.


Előnyök:
Előnyök:
-Ha több process használja a könyvtárat, akkor a memóriába csak egy példányban töltődik be (a kódrész, az adat marad külön!)
* Ha több process használja a könyvtárat, akkor a memóriába csak egy példányban töltődik be (a kódrész, az adat marad külön!)
-A háttértáron is csak egyszer foglal helyet (ha az alkalmazások megosztottan használják pl. a windows\system könyvtárból)
* A háttértáron is csak egyszer foglal helyet (ha az alkalmazások megosztottan használják pl. a windows\system könyvtárból)
-Kis alkalmazás (.exe) fájlméret
* Kis alkalmazás (.exe) fájlméret
-Ha a .dll-ben szerepel egy hibás függvény, akkor a programot egyszerűen a .dll cseréjével is javíthatjuk, nem kell újrafordítani.
* Ha a .dll-ben szerepel egy hibás függvény, akkor a programot egyszerűen a .dll cseréjével is javíthatjuk, nem kell újrafordítani.


Hátrányok:
Hátrányok:
-A program futásakor jelen kell legyenek az általa használt DLL-ek, ezek nélkül az alkalmazás futásképtelen.
* A program futásakor jelen kell legyenek az általa használt DLL-ek, ezek nélkül az alkalmazás futásképtelen.
-Ha az alkalmazások megosztottan használják (pl. a windows\system könyvtárból): verzió kavarodás, DLL hell.
* Ha az alkalmazások megosztottan használják (pl. a windows\system könyvtárból): verzió kavarodás, DLL hell.
 
(DLL hell példa volt a .NET szerelvényeknél)
(DLL hell példa volt a .NET szerelvényeknél)


 
'''b, C# kód -> változó típusának kiírása konzolra.'''
b, C# kód -> változó típusának kiírása konzolra.
<pre>
<pre>
int asd;
int asd;
304. sor: 315. sor:
// Az AttributeUsage azt határozza meg, mihez tudjuk az adott attribútumot hozzárendelni
// Az AttributeUsage azt határozza meg, mihez tudjuk az adott attribútumot hozzárendelni
</pre>
</pre>
[[Category:Infoalap]]
A lap eredeti címe: „https://vik.wiki/SzoftTechZH20130422