{"id":2308,"date":"2026-05-29T21:47:53","date_gmt":"2026-05-29T21:47:53","guid":{"rendered":"https:\/\/vkrastev1blog.com\/?p=2308"},"modified":"2026-05-29T21:48:41","modified_gmt":"2026-05-29T21:48:41","slug":"questions-and-informations-prepairing-for-java-developer-job-interview","status":"publish","type":"post","link":"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/","title":{"rendered":"Java Developer \u00e1ll\u00e1sinterj\u00fara k\u00e9sz\u00fcl\u0151 k\u00e9rd\u00e9sek \u00e9s inform\u00e1ci\u00f3k"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Mik azok a SOLID elvek?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az Egys\u00e9ges Felel\u0151ss\u00e9g Elve (SRP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Egy oszt\u00e1lynak csak egy felel\u0151ss\u00e9ge lehet.<br>Csak egy oka lehet a v\u00e1ltoztat\u00e1sra.<br>Az el\u0151ny\u00f6k k\u00f6z\u00e9 tartozik a k\u00f6nnyebb tesztel\u00e9s, az alacsonyabb csatol\u00e1s \u00e9s a jobb szervez\u00e9s.<br>P\u00e9lda:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">nyilv\u00e1nos oszt\u00e1ly k\u00f6nyv {<br>priv\u00e1t karakterl\u00e1nc neve;<br>priv\u00e1t String szerz\u0151;<br>priv\u00e1t String sz\u00f6veg;<br>\/\/ konstruktorok, getterek \u00e9s setterek<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az a nyitott-z\u00e1rt elv (OCP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A szoftver entit\u00e1sok (oszt\u00e1lyok, modulok, f\u00fcggv\u00e9nyek) legyenek nyitottak a b\u0151v\u00edt\u00e9sre, de z\u00e1rva legyenek a m\u00f3dos\u00edt\u00e1sra.<br>Ezt interf\u00e9szek, absztrakt oszt\u00e1lyok \u00e9s \u00f6r\u00f6kl\u0151d\u00e9s haszn\u00e1lat\u00e1val \u00e9rheti el.<br>P\u00e9lda:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">interf\u00e9sz alak {<br>double area();<br>}<br>oszt\u00e1ly A Circle Shape { \/* implement\u00e1ci\u00f3t val\u00f3s\u00edt meg <em>\/ } oszt\u00e1ly T\u00e9glalap megval\u00f3s\u00edtja az alakzatot { \/<\/em> megval\u00f3s\u00edt\u00e1s *\/ }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi a Liskov-helyettes\u00edt\u00e9si elv (LSP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az alt\u00edpusoknak helyettes\u00edthet\u0151nek kell lenni\u00fck az alapt\u00edpusukkal an\u00e9lk\u00fcl, hogy a program helyess\u00e9g\u00e9t megv\u00e1ltoztatn\u00e1k.<br>K\u00f6veti az &#8220;is-a&#8221; kapcsolatot.<br>P\u00e9lda:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">oszt\u00e1ly Mad\u00e1r { \/* gyakori mad\u00e1rviselked\u00e9s <em>\/ } oszt\u00e1ly Ver\u00e9b kiterjeszti Madarat { \/<\/em> speci\u00e1lis ver\u00e9b viselked\u00e9s *\/ }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az Interface Segregation Principle (ISP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az \u00fcgyfeleket nem szabad arra k\u00e9nyszer\u00edteni, hogy olyan interf\u00e9szekt\u0151l f\u00fcggjenek, amelyeket nem haszn\u00e1lnak.<br>A nagy interf\u00e9szek feloszt\u00e1sa kisebb, pontosabb interf\u00e9szekre.<br>P\u00e9lda:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">interf\u00e9sz dolgoz\u00f3 {<br>\u00fcres munka();<br>}<br>interf\u00e9sz Eater {<br>void eat();<br>}<br>oszt\u00e1ly Robot implement\u00e1lja a Worker { \/* implement\u00e1ci\u00f3j\u00e1t *\/ }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az a f\u00fcgg\u0151s\u00e9gi inverzi\u00f3s elv (DIP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A magas szint\u0171 modulok nem f\u00fcgghetnek az alacsony szint\u0171 modulokt\u00f3l; mindkett\u0151nek az absztrakci\u00f3kt\u00f3l kell f\u00fcggnie.<br>Az absztrakci\u00f3k nem f\u00fcgghetnek a r\u00e9szletekt\u0151l; a r\u00e9szleteknek az absztrakci\u00f3kt\u00f3l kell f\u00fcggni\u00fck.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Absztrakci\u00f3<br>interface MessageSender {<br>void sendMessage(String message);<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Magas szint\u0171 modul<br>class NotificationService {<br>priv\u00e1t MessageSender messageSender;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public NotificationService(MessageSender messageSender) {<\/div><div class=\"cm-line\">    this.messageSender = messageSender;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void send(String message) {<\/div><div class=\"cm-line\">    messageSender.sendMessage(message);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Alacsony szint\u0171 modul<br>class EmailSender megval\u00f3s\u00edtja a MessageSender {<br>@Fel\u00fclb\u00edr\u00e1l\u00e1s<br>public void sendMessage(String message) {<br>System.out.println(&#8220;E-mail k\u00fcld\u00e9se: &#8221; \u00fczenet);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Egy m\u00e1sik alacsony szint\u0171 modul<br>class SmsSender megval\u00f3s\u00edtja a MessageSender {<br>@Fel\u00fclb\u00edr\u00e1l\u00e1s<br>public void sendMessage(String message) {<br>System.out.println(&#8220;SMS k\u00fcld\u00e9se: &#8221; + \u00fczenet);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ F\u0151oszt\u00e1ly<br>public class F\u0151 {<br>public static void main(String[] args) {<br>\/\/ Az EmailSender haszn\u00e1lata<br>MessageSender emailSender = new EmailSender();<br>NotificationService notificationService1 = new NotificationService(emailSender);<br>notificationService1.send(&#8220;\u00dcdv\u00f6z\u00f6lj\u00fck e-mailben!&#8221;);<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \/\/ Use SmsSender\n    MessageSender smsSender = new SmsSender();\n    NotificationService notificationService2 = new NotificationService(smsSender);\n    notificationService2.send(&#034;Hello via SMS!&#034;);\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A MessageSender interf\u00e9sz szolg\u00e1l absztrakci\u00f3k\u00e9nt.<br>A magas szint\u0171 NotificationService modul konkr\u00e9t megval\u00f3s\u00edt\u00e1sok helyett ett\u0151l az absztrakci\u00f3t\u00f3l f\u00fcgg.<br>Az olyan alacsony szint\u0171 modulok, mint az EmailSender \u00e9s az SmsSender, szint\u00e9n az absztrakci\u00f3t\u00f3l f\u00fcggenek a MessageSender fel\u00fclet megval\u00f3s\u00edt\u00e1s\u00e1val.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az SQL normaliz\u00e1l\u00e1sa?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi a normaliz\u00e1l\u00e1s?<br>A normaliz\u00e1l\u00e1s mag\u00e1ban foglalja az adatok rel\u00e1ci\u00f3s adatb\u00e1zison bel\u00fcli struktur\u00e1l\u00e1s\u00e1t az anom\u00e1li\u00e1k, p\u00e9ld\u00e1ul a redundancia kik\u00fcsz\u00f6b\u00f6l\u00e9se \u00e9rdek\u00e9ben.<br>A nagy, \u00f6sszetett t\u00e1bl\u00e1kat kisebbekre bontja, mik\u00f6zben fenntartja az adatkapcsolatokat.<br>Mi\u00e9rt fontos a normaliz\u00e1l\u00e1s?<br>Cs\u00f6kkenti a redundanci\u00e1t: Az adatok kisebb t\u00e1bl\u00e1kra val\u00f3 feloszt\u00e1s\u00e1val elker\u00fclhetj\u00fck, hogy ugyanazt az inform\u00e1ci\u00f3t t\u00f6bbsz\u00f6r t\u00e1roljuk.<br>Jav\u00edtja a lek\u00e9rdez\u00e9s teljes\u00edtm\u00e9ny\u00e9t: A kisebb normaliz\u00e1lt t\u00e1bl\u00e1k gyorsabb lek\u00e9rdez\u00e9sv\u00e9grehajt\u00e1st eredm\u00e9nyeznek.<br>Minimaliz\u00e1lja a friss\u00edt\u00e9si anom\u00e1li\u00e1kat: A friss\u00edt\u00e9sek a t\u00f6bbi rekord befoly\u00e1sol\u00e1sa n\u00e9lk\u00fcl v\u00e9gezhet\u0151k el.<br>Jav\u00edtja az adatok integrit\u00e1s\u00e1t: Konzisztens \u00e9s pontos adatokat biztos\u00edt.<br>A normaliz\u00e1l\u00e1s forgat\u00f3k\u00f6nyvei:<br>Adatok integrit\u00e1sa: Az adatok friss\u00edt\u00e9se sor\u00e1n el\u0151fordul\u00f3 k\u00f6vetkezetlens\u00e9gek megel\u0151z\u00e9se (p\u00e9ld\u00e1ul az \u00fcgyfelek \u00e9letkor\u00e1nak v\u00e1ltoz\u00e1sa).<br>Hat\u00e9kony lek\u00e9rdez\u00e9s: Egyszer\u0171s\u00edtse le az \u00f6sszetett lek\u00e9rdez\u00e9seket az adatok lebont\u00e1s\u00e1val.<br>T\u00e1rhelyoptimaliz\u00e1l\u00e1s: Helytakar\u00e9koss\u00e1g \u00e9rdek\u00e9ben sz\u00fcntesse meg a felesleges redundanci\u00e1t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az a Microservices monolit?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az a monolit?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Egy monolitikus alkalmaz\u00e1s egyetlen, egys\u00e9ges egys\u00e9gk\u00e9nt \u00e9p\u00fcl fel. Szorosan \u00f6sszekapcsolja az \u00f6sszes \u00f6sszetev\u0151t (p\u00e9ld\u00e1ul az \u00fcgyf\u00e9loldali felhaszn\u00e1l\u00f3i fel\u00fcletet, az adatb\u00e1zist \u00e9s a szerveroldali alkalmaz\u00e1st) egyetlen k\u00f3db\u00e1zisba.<br>El\u0151ny\u00f6k:<br>K\u00f6nny\u0171 telep\u00edt\u00e9s: Mivel egyetlen v\u00e9grehajthat\u00f3 f\u00e1jlr\u00f3l vagy k\u00f6nyvt\u00e1rr\u00f3l van sz\u00f3, a telep\u00edt\u00e9s egyszer\u0171.<br>Fejleszt\u00e9si sebess\u00e9g: A projekt \u00e9let\u00e9nek korai szakasz\u00e1ban a monolitok egyszer\u0171s\u00e9g\u00fck miatt gyors fejleszt\u00e9st tesznek lehet\u0151v\u00e9.<br>Teljes\u00edtm\u00e9ny: A k\u00f6zpontos\u00edtott k\u00f3d k\u00fcl\u00f6nf\u00e9le funkci\u00f3kat k\u00e9pes kezelni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mik azok a mikroszolg\u00e1ltat\u00e1sok?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A mikroszolg\u00e1ltat\u00e1sok az alkalmaz\u00e1st kisebb, egym\u00e1st\u00f3l f\u00fcggetlen\u00fcl telep\u00edthet\u0151 szolg\u00e1ltat\u00e1sokra bontj\u00e1k. Minden szolg\u00e1ltat\u00e1s egy adott \u00fczleti ter\u00fcletre \u00f6sszpontos\u00edt.<br>El\u0151ny\u00f6k:<br>Sk\u00e1l\u00e1zhat\u00f3s\u00e1g: A mikroszolg\u00e1ltat\u00e1sok lehet\u0151v\u00e9 teszik az egyes komponensek f\u00fcggetlen sk\u00e1l\u00e1z\u00e1s\u00e1t.<br>Rugalmass\u00e1g: A fejleszt\u0151k k\u00fcl\u00f6nb\u00f6z\u0151 technol\u00f3gi\u00e1kat v\u00e1laszthatnak az egyes szolg\u00e1ltat\u00e1sokhoz.<br>Elszigetel\u0151d\u00e9s: Az egyik szolg\u00e1ltat\u00e1s meghib\u00e1sod\u00e1sa nem \u00e9rinti a t\u00f6bbi szolg\u00e1ltat\u00e1st.<br>Kih\u00edv\u00e1sok:<br>Bonyolults\u00e1g: T\u00f6bb szolg\u00e1ltat\u00e1s kezel\u00e9se er\u0151teljes hangszerel\u00e9st ig\u00e9nyel.<br>H\u00e1l\u00f3zati t\u00f6bblet: A szolg\u00e1ltat\u00e1sok k\u00f6z\u00f6tti kommunik\u00e1ci\u00f3 k\u00e9sleltet\u00e9st vezet be.<br>Telep\u00edt\u00e9si \u00f6sszetetts\u00e9g: A friss\u00edt\u00e9sek \u00f6sszehangol\u00e1sa a szolg\u00e1ltat\u00e1sok k\u00f6z\u00f6tt bonyolult lehet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi a polimorfizmus?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00f3dszer fel\u00fclb\u00edr\u00e1l\u00e1sa:<br>Amikor egy aloszt\u00e1ly konkr\u00e9t megval\u00f3s\u00edt\u00e1st biztos\u00edt egy olyan met\u00f3dushoz, amely m\u00e1r defini\u00e1lt a szuperoszt\u00e1ly\u00e1ban.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00f3dszer t\u00falterhel\u00e9s:<br>Amikor egy oszt\u00e1ly t\u00f6bb met\u00f3dussal rendelkezik azonos n\u00e9vvel, de elt\u00e9r\u0151 param\u00e9terekkel (k\u00fcl\u00f6nb\u00f6z\u0151 sz\u00e1m\u00fa vagy t\u00edpus\u00fa argumentum).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mit haszn\u00e1lnak a mag\u00e1n\u00e9p\u00edt\u0151k?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; A priv\u00e1t konstruktorokat hasznoss\u00e1gi oszt\u00e1lyokban vagy konstans oszt\u00e1lyokban haszn\u00e1lj\u00e1k.<br>Ezek az oszt\u00e1lyok csak statikus met\u00f3dusokat vagy tagokat tartalmaznak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Az aloszt\u00e1lyoz\u00e1s elker\u00fcl\u00e9se<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Kivitelez\u0151i deleg\u00e1ci\u00f3:<br>A priv\u00e1t kivitelez\u0151k lehet\u0151v\u00e9 teszik a konstrukt\u0151r deleg\u00e1l\u00e1s\u00e1t, ahol az egyes kivitelez\u0151k k\u00f6z\u00f6s mag\u00e1nkonstruktort h\u00edvnak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Singleton Pattern<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A JVM-r\u0151l<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;\u00d6ssze\u00e1ll\u00edt\u00e1s:<br>Amikor .java f\u00e1jlt ford\u00edt le, a Java ford\u00edt\u00f3 b\u00e1jtk\u00f3dot tartalmaz\u00f3 .class f\u00e1jlokat \u00e1ll\u00edt el\u0151 (k\u00f6ztes reprezent\u00e1ci\u00f3).<br>A bytecode platformf\u00fcggetlen, \u00e9s b\u00e1rmely kompatibilis JVM-mel rendelkez\u0151 rendszeren futhat.<br>&#8211;Oszt\u00e1lybet\u00f6lt\u0151 alrendszer:<br>Felel\u0151s az oszt\u00e1lyok mem\u00f3ri\u00e1ba val\u00f3 bet\u00f6lt\u00e9s\u00e9\u00e9rt.<br>Beolvassa a .class f\u00e1jlokat, bin\u00e1ris adatokat gener\u00e1l, \u00e9s a met\u00f3dus ter\u00fclet\u00e9n t\u00e1rolja.<br>L\u00e9trehoz egy oszt\u00e1ly objektumot, amely a bet\u00f6lt\u00f6tt oszt\u00e1lyt reprezent\u00e1lja a kupacmem\u00f3ri\u00e1ban.<br>P\u00e9lda: Student s1 = new Student(); Oszt\u00e1ly c1 = s1.getClass();<br>&#8212; Linkel\u00e9s:<br>H\u00e1rom l\u00e9p\u00e9sb\u0151l \u00e1ll:<br>Ellen\u0151rz\u00e9s: Biztos\u00edtja a .class f\u00e1jl helyess\u00e9g\u00e9t.<br>El\u0151k\u00e9sz\u00edt\u00e9s: Mem\u00f3ri\u00e1t foglal le az oszt\u00e1lyv\u00e1ltoz\u00f3k sz\u00e1m\u00e1ra, \u00e9s inicializ\u00e1lja azokat.<br>Felbont\u00e1s (opcion\u00e1lis): Feloldja a szimbolikus hivatkoz\u00e1sokat m\u00e1s oszt\u00e1lyokra vagy met\u00f3dusokra.<br>&#8211;Inicializ\u00e1l\u00e1s:<br>Statikus inicializ\u00e1l\u00f3kat (pl. statikus blokkokat) hajt v\u00e9gre, \u00e9s statikus v\u00e1ltoz\u00f3kat inicializ\u00e1l.<br>A p\u00e9ld\u00e1nyv\u00e1ltoz\u00f3k az objektum l\u00e9trehoz\u00e1sakor inicializ\u00e1l\u00f3dnak.<br>&#8211;V\u00e9grehajt\u00e1si motor:<br>A b\u00e1jtk\u00f3dot g\u00e9pi k\u00f3dd\u00e1 alak\u00edtja.<br>Tartalmazza a Just-In-Time (JIT) \u00f6ssze\u00e1ll\u00edt\u00e1st a teljes\u00edtm\u00e9ny optimaliz\u00e1l\u00e1s\u00e1hoz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6sszefoglalva, a JVM lehet\u0151v\u00e9 teszi a Java programok b\u00e1rhol futtat\u00e1s\u00e1t a b\u00e1jtk\u00f3d \u00e9rtelmez\u00e9s\u00e9vel \u00e9s a mem\u00f3ria kezel\u00e9s\u00e9vel<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az a Privat absztrakt m\u00f3dszer?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Haszn\u00e1ljon eseteket priv\u00e1t m\u00f3dszerekhez az absztrakt oszt\u00e1lyokban:<br>M\u00edg az absztrakt met\u00f3dusok nem lehetnek priv\u00e1tak, egy absztrakt oszt\u00e1lyon bel\u00fcl k\u00fcl\u00f6nf\u00e9le c\u00e9lokra haszn\u00e1lhat priv\u00e1t met\u00f3dusokat:<br>&#8211;Helper Methods: M\u00e1s m\u00f3dszerek \u00e1ltal megosztott k\u00f6z\u00f6s funkci\u00f3k megval\u00f3s\u00edt\u00e1sa.<br>&#8212; Encapsulation: A megval\u00f3s\u00edt\u00e1s r\u00e9szleteinek elrejt\u00e9se az aloszt\u00e1lyokb\u00f3l.<br>&#8211;Strukt\u00faraszer\u0171 oszt\u00e1lyok: Hozzon l\u00e9tre kis oszt\u00e1lyokat priv\u00e1t met\u00f3dusokkal, amelyek adatt\u00e1rol\u00f3k\u00e9nt szolg\u00e1lnak<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az a szem\u00e9tgy\u0171jt\u0151?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Heap mem\u00f3ria:<br>A Java objektumok a kupacban, egy dedik\u00e1lt mem\u00f3riater\u00fcleten j\u00f6nnek l\u00e9tre.<br>Egyes objektumok el\u00e9rhetetlenn\u00e9 v\u00e1lnak (a program m\u00e1r nem hivatkozik r\u00e1juk).<br>&#8212; Szem\u00e9tgy\u0171jt\u0151 (GC):<br>A GC azonos\u00edtja \u00e9s t\u00f6rli a nem haszn\u00e1lt objektumokat, hogy mem\u00f3ri\u00e1t szabad\u00edtson fel.<br>A h\u00e1tt\u00e9rben automatikusan fut.<br>K\u00e9t t\u00edpus:<br>Kisebb GC: Elt\u00e1vol\u00edtja az el\u00e9rhetetlen t\u00e1rgyakat a fiatal gener\u00e1ci\u00f3ban.<br>Major GC (Full GC): T\u00f6rli az objektumokat a r\u00e9gi gener\u00e1ci\u00f3ban.<br>&#8212; El\u0151ny\u00f6k:<br>A fejleszt\u0151knek nem kell kifejezetten t\u00f6r\u00f6lni\u00fck az objektumokat.<br>A GC biztos\u00edtja a mem\u00f3ria rendelkez\u00e9sre \u00e1ll\u00e1s\u00e1t \u00e9s megakad\u00e1lyozza az OutOfMemoryError-okat<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az az OOP?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az OOP n\u00e9gy alapelve:<br>&#8212; Encapsulation: Az adatok (attrib\u00fatumok) \u00e9s met\u00f3dusok (f\u00fcggv\u00e9nyek) egy oszt\u00e1lyon bel\u00fcli \u00f6sszekapcsol\u00e1sa a megval\u00f3s\u00edt\u00e1s r\u00e9szleteinek elrejt\u00e9se \u00e9s tiszta fel\u00fclet biztos\u00edt\u00e1sa \u00e9rdek\u00e9ben.<br>&#8212; \u00d6r\u00f6kl\u0151d\u00e9s: \u00daj oszt\u00e1lyok l\u00e9trehoz\u00e1sa a megl\u00e9v\u0151k alapj\u00e1n, tulajdons\u00e1gaik \u00e9s viselked\u00e9s\u00fck \u00f6r\u00f6kl\u00e9se. El\u0151seg\u00edti a k\u00f3d \u00fajrafelhaszn\u00e1l\u00e1s\u00e1t.<br>&#8212; Polimorfizmus: Lehet\u0151v\u00e9 teszi a k\u00fcl\u00f6nb\u00f6z\u0151 oszt\u00e1lyokba tartoz\u00f3 objektumok egys\u00e9ges kezel\u00e9s\u00e9t egy k\u00f6z\u00f6s interf\u00e9szen kereszt\u00fcl. Rugalmass\u00e1got \u00e9s b\u0151v\u00edthet\u0151s\u00e9get tesz lehet\u0151v\u00e9.<br>&#8212; Absztrakci\u00f3: Az alapvet\u0151 jellemz\u0151kre \u00f6sszpontos\u00edt, mik\u00f6zben elrejti a sz\u00fcks\u00e9gtelen bonyolults\u00e1gokat. Az absztrakci\u00f3 leegyszer\u0171s\u00edti a tervez\u00e9st \u00e9s kezelhet\u0151bb\u00e9 teszi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az ACID tulajdons\u00e1gok d\u00f6nt\u0151 szerepet j\u00e1tszanak a tranzakci\u00f3k megb\u00edzhat\u00f3s\u00e1g\u00e1nak \u00e9s k\u00f6vetkezetess\u00e9g\u00e9nek biztos\u00edt\u00e1s\u00e1ban.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Atomos \u00e1llapot:<br>A tranzakci\u00f3kat vagy teljesen, vagy egy\u00e1ltal\u00e1n nem hajtj\u00e1k v\u00e9gre.<br>Nincs r\u00e9szleges v\u00e9grehajt\u00e1s: Ha egy tranzakci\u00f3 f\u00e9l\u00faton meghi\u00fasul, az adatb\u00e1zisban v\u00e9grehajtott m\u00f3dos\u00edt\u00e1sok vissza\u00e1ll\u00edt\u00e1sra ker\u00fclnek.<br>P\u00e9lda: Fontolja meg 100 USD \u00e1tutal\u00e1s\u00e1t az X sz\u00e1ml\u00e1r\u00f3l az Y sz\u00e1ml\u00e1ra. Ha a tranzakci\u00f3 az X-b\u0151l val\u00f3 levon\u00e1s ut\u00e1n, de az Y-hoz val\u00f3 hozz\u00e1ad\u00e1s el\u0151tt meghi\u00fasul, az adatb\u00e1zis konzisztens marad.<br>&#8211;K\u00f6vetkezetess\u00e9g:<br>Az adatb\u00e1zisnak fenn kell tartania az integrit\u00e1si megszor\u00edt\u00e1sokat a tranzakci\u00f3 el\u0151tt \u00e9s ut\u00e1n.<br>P\u00e9lda: Ha a tranzakci\u00f3 el\u0151tti teljes \u00f6sszeg 700 USD (X: 500 USD, Y: 200 USD), akkor a tranzakci\u00f3 ut\u00e1n is v\u00e1ltozatlannak kell maradnia (X: 400 USD, Y: 300 USD).<br>&#8211;Elk\u00fcl\u00f6n\u00edt\u00e9s:<br>Egyidej\u0171leg t\u00f6bb tranzakci\u00f3 is l\u00e9trej\u00f6het an\u00e9lk\u00fcl, hogy egym\u00e1st befoly\u00e1soln\u00e1.<br>Az egyik tranzakci\u00f3 \u00e1ltal v\u00e9grehajtott v\u00e1ltoztat\u00e1sok a v\u00e9grehajt\u00e1sig nem l\u00e1that\u00f3k m\u00e1sok sz\u00e1m\u00e1ra.<br>Egyen\u00e9rt\u00e9k\u0171 eredm\u00e9nyeket biztos\u00edt, mintha a tranzakci\u00f3kat sorozatban hajtan\u00e1k v\u00e9gre.<br>P\u00e9lda: A tranzakci\u00f3k elk\u00fcl\u00f6n\u00edt\u00e9se megakad\u00e1lyozza az interleaved m\u0171veletek miatti k\u00f6vetkezetlens\u00e9geket.<br>&#8211;Tart\u00f3ss\u00e1g:<br>A tranzakci\u00f3 v\u00e9gleges\u00edt\u00e9se ut\u00e1n a v\u00e1ltoztat\u00e1sok v\u00e9glegesek.<br>T\u00fal\u00e9li a rendszerhib\u00e1kat vagy \u00f6sszeoml\u00e1sokat.<br>Biztos\u00edtja az adatok fennmarad\u00e1s\u00e1t.<br>P\u00e9lda: A v\u00e9grehajtott v\u00e1ltoztat\u00e1sok a rendszer \u00fajraind\u00edt\u00e1sa ut\u00e1n is \u00e9rintetlenek maradnak.<br>Ne feledje, az ACID tulajdons\u00e1gok biztos\u00edtj\u00e1k a megb\u00edzhat\u00f3 \u00e9s k\u00f6vetkezetes adatb\u00e1zis-m\u0171veletek alapj\u00e1t! \ud83c\udf1f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az a strat\u00e9giai minta?<br>Le\u00edr\u00e1s: Meghat\u00e1rozza az algoritmusok csal\u00e1dj\u00e1t, mindegyiket be\u00e1gyazza, \u00e9s felcser\u00e9lhet\u0151v\u00e9 teszi \u0151ket. Lehet\u0151v\u00e9 teszi, hogy az algoritmus az azokat haszn\u00e1l\u00f3 \u00fcgyfelekt\u0151l f\u00fcggetlen\u00fcl v\u00e1ltozzon.<br>P\u00e9lda:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Interf\u00e9sz az \u00e9tkez\u00e9si viselked\u00e9shez<br>interf\u00e9sz EatBehavior {<br>void eat();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Az \u00e9tkez\u00e9si magatart\u00e1s konkr\u00e9t megval\u00f3s\u00edt\u00e1sai<br>class NormalDiet megval\u00f3s\u00edtja az EatBehavior {<br>@Fel\u00fclb\u00edr\u00e1l\u00e1s<br>public void eat() {<br>\/\/ Norm\u00e1l \u00e9tel<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">oszt\u00e1ly LosingWeightDiet EatBehavior {<br>@Fel\u00fclb\u00edr\u00e1l\u00e1s<br>public void eat() {<br>\/\/ Eg\u00e9szs\u00e9ges t\u00e1pl\u00e1lkoz\u00e1s<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Macskaoszt\u00e1ly ev\u00e9si viselked\u00e9ssel<br>absztrakt oszt\u00e1ly Cat {<br>EatBehavior eatBehavior;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public void eat() {<\/div><div class=\"cm-line\">    eatBehavior.eat();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void setEatBehavior(EatBehavior eatBehavior) {<\/div><div class=\"cm-line\"> this.eatBehavior = eatBehavior;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Haszn\u00e1lat<br>Cat cat = new Cat();<br>cat.setEatBehavior(new LosingWeightDiet());<br>cat.eat(); \/\/ A macska eg\u00e9szs\u00e9gesebb \u00e9trenddel eszik<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alkot\u00f3 mint\u00e1k:<br>Ezek a mint\u00e1k az oszt\u00e1ly p\u00e9ld\u00e1nyos\u00edt\u00e1s\u00e1ra \u00f6sszpontos\u00edtanak.<br>P\u00e9ld\u00e1k benne<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Gy\u00e1ri m\u00f3dszer,<br>Probl\u00e9manyilatkozat: Tegy\u00fck fel, hogy k\u00fcl\u00f6nb\u00f6z\u0151 t\u00edpus\u00fa term\u00e9keket (p\u00e9ld\u00e1ul aut\u00f3kat, ker\u00e9kp\u00e1rokat, ker\u00e9kp\u00e1rokat) szeretn\u00e9nk l\u00e9trehozni an\u00e9lk\u00fcl, hogy a k\u00f3dunkat szorosan \u00f6sszekapcsoln\u00e1nk a konkr\u00e9t megval\u00f3s\u00edt\u00e1sokkal.<br>F\u0151bb komponensek:<br>Term\u00e9k: Absztrakt oszt\u00e1ly vagy interf\u00e9sz, amely k\u00f6z\u00f6s m\u0171veleteket hat\u00e1roz meg a gy\u00e1r \u00e1ltal l\u00e9trehozott objektumokhoz.<br>Konkr\u00e9t term\u00e9kek: A term\u00e9k interf\u00e9szt megval\u00f3s\u00edt\u00f3 t\u00e9nyleges oszt\u00e1lyok, amelyek meghat\u00e1rozott t\u00edpus\u00fa objektumokat k\u00e9pviselnek.<br>Alkot\u00f3: a gy\u00e1ri met\u00f3dust deklar\u00e1l\u00f3 absztrakt oszt\u00e1ly vagy interf\u00e9sz. Felel\u0151s a term\u00e9kobjektumok l\u00e9trehoz\u00e1s\u00e1\u00e9rt, de a t\u00e9nyleges l\u00e9trehoz\u00e1st aloszt\u00e1lyokra deleg\u00e1lja.<br>Konkr\u00e9t alkot\u00f3k: a Creator aloszt\u00e1lyai, amelyek megval\u00f3s\u00edtj\u00e1k a gy\u00e1ri m\u00f3dszert. A bemeneti param\u00e9terek vagy konfigur\u00e1ci\u00f3 alapj\u00e1n d\u00f6ntik el, hogy melyik konkr\u00e9t Betonterm\u00e9ket k\u00e9sz\u00edts\u00e9k el.<br>Gy\u00e1ri m\u00f3dszer: A Creator oszt\u00e1lyban meghat\u00e1rozott met\u00f3dus, amely Product objektumokat hoz l\u00e9tre. A Teremt\u0151ben \u00e1ltal\u00e1ban absztraktnak nyilv\u00e1n\u00edtott\u00e1k, \u00e9s a Konkr\u00e9t Alkot\u00f3kban implement\u00e1lt\u00e1k.<br>P\u00e9lda Java nyelven: Tegy\u00fck fel, hogy van egy gy\u00e1runk, amely k\u00fcl\u00f6nb\u00f6z\u0151 t\u00edpus\u00fa j\u00e1rm\u0171veket gy\u00e1rt. \u00cdme egy egyszer\u0171s\u00edtett p\u00e9lda:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ AbstractProduct<br>interf\u00e9sz Term\u00e9k {<br>void display();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Betonterm\u00e9kek<br>oszt\u00e1ly Aut\u00f3szersz\u00e1mok Term\u00e9k {<br>public void display() {<br>System.out.println(&#8220;Aut\u00f3 l\u00e9trehozva&#8221;);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">oszt\u00e1ly Ker\u00e9kp\u00e1reszk\u00f6z\u00f6k Term\u00e9k {<br>public void display() {<br>System.out.println(&#8220;Ker\u00e9kp\u00e1r l\u00e9trehozva&#8221;);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Alkot\u00f3 (gy\u00e1ri)<br>interf\u00e9sz Gy\u00e1ri {<br>Term\u00e9kgy\u00e1ri m\u00f3dszer();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Konkr\u00e9t alkot\u00f3k<br>class ConcreteFactoryA megval\u00f3s\u00edtja a Factory {<br>public Product factoryMethod() {<br>\u00faj aut\u00f3 visszak\u00fcld\u00e9se();<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">class ConcreteFactoryB implements Factory {<br>public Product factoryMethod() {<br>return new Bike();<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class FactoryMethodExample {<br>public static void main(String[] args) {<br>Gy\u00e1ri gy\u00e1rA = new ConcreteFactoryA();<br>Term\u00e9k term\u00e9kA = gy\u00e1riA.gy\u00e1ri m\u00f3dszer();<br>productA.display();<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    Factory factoryB = new ConcreteFactoryB();\n    Product productB = factoryB.factoryMethod();\n    productB.display();\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; \u00c9p\u00edt\u0151<br>A Builder Pattern egy kreat\u00edv tervez\u00e9si minta, amely lehet\u0151v\u00e9 teszi \u00f6sszetett objektumok l\u00e9p\u00e9sr\u0151l l\u00e9p\u00e9sre t\u00f6rt\u00e9n\u0151 fel\u00e9p\u00edt\u00e9s\u00e9t,<br>elv\u00e1lasztva konstrukci\u00f3jukat az \u00e1br\u00e1zol\u00e1sukt\u00f3l. \u00cdme egy egyszer\u0171 p\u00e9lda Java nyelven:<br>\/\/ Hat\u00e1rozza meg az \u00e9p\u00edteni k\u00edv\u00e1nt oszt\u00e1lyt<br>class bejegyz\u00e9s {<br>priv\u00e1t v\u00e9gleges String c\u00edm;<br>priv\u00e1t v\u00e9gleges String sz\u00f6veg;<br>priv\u00e1t v\u00e9gleges String kateg\u00f3ria;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Post(Builder builder) {<\/div><div class=\"cm-line\">    this.title = builder.title;<\/div><div class=\"cm-line\">    this.text = builder.text;<\/div><div class=\"cm-line\">    this.category = builder.category;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Getters for properties<\/div><div class=\"cm-line\">public String getTitle() {<\/div><div class=\"cm-line\">    return title;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public String getText() {<\/div><div class=\"cm-line\">    return text;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public String getCategory() {<\/div><div class=\"cm-line\">    return category;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Builder class<\/div><div class=\"cm-line\">public static class Builder {<\/div><div class=\"cm-line\">    private String title;<\/div><div class=\"cm-line\">    private String text;<\/div><div class=\"cm-line\">    private String category;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Builder title(String title) {<\/div><div class=\"cm-line\">        this.title = title;<\/div><div class=\"cm-line\">        return this;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Builder text(String text) {<\/div><div class=\"cm-line\">        this.text = text;<\/div><div class=\"cm-line\">        return this;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Builder category(String category) {<\/div><div class=\"cm-line\">        this.category = category;<\/div><div class=\"cm-line\">        return this;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Post build() {<\/div><div class=\"cm-line\">        return new Post(this);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Haszn\u00e1lat<br>public class F\u0151 {<br>public static void main(String[] args) {<br>Post post = new Post.Builder()<br>.title(&#8220;Java Builder Pattern&#8221;)<br>.text(&#8220;Az Builder Pattern Java nyelven val\u00f3 megval\u00f3s\u00edt\u00e1s\u00e1nak magyar\u00e1zata&#8221;)<br>.category(&#8220;Tervez\u00e9si mint\u00e1k&#8221;)<br>.\u00e9p\u00edt();<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    System.out.println(&#034;Title: &#034; + post.getTitle());\n    System.out.println(&#034;Text: &#034; + post.getText());\n    System.out.println(&#034;Category: &#034; + post.getCategory());\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Protot\u00edpus<br>A Prototype Pattern egy kreat\u00edv tervez\u00e9si minta, amely lehet\u0151v\u00e9 teszi \u00faj objektumok l\u00e9trehoz\u00e1s\u00e1t egy megl\u00e9v\u0151 objektum m\u00e1sol\u00e1s\u00e1val.<br>Ahelyett, hogy a semmib\u0151l hozna l\u00e9tre \u00faj p\u00e9ld\u00e1nyokat, kl\u00f3nozzon egy megl\u00e9v\u0151 protot\u00edpust, amely hat\u00e9konyabb \u00e9s rugalmasabb lehet. N\u00e9zz\u00fcnk egy p\u00e9ld\u00e1t Java nyelven:<br>A protot\u00edpus interf\u00e9sz meghat\u00e1roz\u00e1sa: El\u0151sz\u00f6r l\u00e9trehozunk egy absztrakt oszt\u00e1lyt vagy interf\u00e9szt Tree n\u00e9ven egy absztrakt copy() met\u00f3dussal:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public abstract class Fa {<br>publikus absztrakt Fa m\u00e1solat();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beton protot\u00edpusok: Ezut\u00e1n k\u00e9t betonoszt\u00e1lyt val\u00f3s\u00edtunk meg, amelyek kiterjesztik a f\u00e1t: PlasticTree \u00e9s PineTree. Ezek az oszt\u00e1lyok meghat\u00e1rozott t\u00edpus\u00fa f\u00e1kat k\u00e9pviselnek, \u00e9s biztos\u00edtj\u00e1k a copy() met\u00f3dus saj\u00e1t megval\u00f3s\u00edt\u00e1s\u00e1t:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class PlasticTree kiterjeszti fa {<br>@Fel\u00fclb\u00edr\u00e1l\u00e1s<br>public Tree copy() {<br>PlasticTree plasticTreeClone = new PlasticTree(this.getMass(), this.getHeight());<br>plasticTreeClone.setPosition(this.getPosition());<br>vissza m\u0171anyagTreeClone;<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class PineTree kiterjeszti fa {<br>@Fel\u00fclb\u00edr\u00e1l\u00e1s<br>public Tree copy() {<br>PineTree pineTreeClone = new PineTree(this.getMass(), this.getHeight());<br>pineTreeClone.setPosition(this.getPosition());<br>return pineTreeClone;<br>}<br>}<br>Ezekben az oszt\u00e1lyokban testreszabjuk a kl\u00f3noz\u00e1si folyamatot az adott fat\u00edpus alapj\u00e1n. P\u00e9ld\u00e1ul lem\u00e1soljuk az eredeti fa t\u00f6meg\u00e9t, magass\u00e1g\u00e1t \u00e9s helyzet\u00e9t.<br>Haszn\u00e1lat: Most k\u00e9sz\u00edts\u00fck el a konkr\u00e9t protot\u00edpusaink p\u00e9ld\u00e1nyait:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class F\u0151 {<br>public static void main(String[] args) {<br>Fa eredetiPlasticTree = new PlasticTree(10, 5);<br>Fa kl\u00f3nozottPlasticTree = eredetiPlasticTree.copy();<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    Tree originalPineTree = new PineTree(15, 8);\n    Tree clonedPineTree = originalPineTree.copy();\n\n    \/\/ Use the cloned trees as needed\n    \/\/ ...\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mik azok a struktur\u00e1lis mint\u00e1k?<br>Ezek a mint\u00e1k egy oszt\u00e1ly szerkezet\u00e9vel \u00e9s \u00f6sszet\u00e9tel\u00e9vel foglalkoznak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Adapter minta<br>Az Adapter Pattern egy szerkezeti tervez\u00e9si minta, amely lehet\u0151v\u00e9 teszi, hogy k\u00e9t inkompatibilis interf\u00e9sz egy\u00fctt m\u0171k\u00f6dj\u00f6n.<br>H\u00eddk\u00e9nt m\u0171k\u00f6dik ezen interf\u00e9szek k\u00f6z\u00f6tt, lehet\u0151v\u00e9 t\u00e9ve az egy\u00fcttm\u0171k\u00f6d\u00e9st a forr\u00e1sk\u00f3d m\u00f3dos\u00edt\u00e1sa n\u00e9lk\u00fcl.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Objektum adapter:<br>Ebben a megk\u00f6zel\u00edt\u00e9sben az \u00f6sszet\u00e9telt haszn\u00e1ljuk a logika \u00e1tad\u00e1s\u00e1ra az illeszt\u0151nek.<br>Az illeszt\u0151 tartalmazza az Adaptee-t, \u00e9s deleg\u00e1lja a request() met\u00f3dust a specificRequest() met\u00f3dusra az Adaptee-ban.<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Alkalmazkod\u00f3 (megl\u00e9v\u0151 oszt\u00e1ly)<br>class alkalmazkod\u00f3 {<br>void specificRequest() {<br>System.out.println(&#8220;Az alkalmazkod\u00f3 egyedi k\u00e9r\u00e9se&#8221;);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ C\u00e9l fel\u00fclet<br>interf\u00e9sz C\u00e9l {<br>\u00e9rv\u00e9nytelen k\u00e9r\u00e9s();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adapter (kompoz\u00edci\u00f3t haszn\u00e1lva)<br>oszt\u00e1ly Adapter implements Target {<br>priv\u00e1t v\u00e9gleges Alkalmazkod\u00f3 alkalmazkod\u00f3;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Adapter(Adaptee adaptee) {<\/div><div class=\"cm-line\">    this.adaptee = adaptee;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public void request() {<\/div><div class=\"cm-line\">    adaptee.specificRequest();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Oszt\u00e1lyadapter:<br>T\u00f6bbsz\u00f6r\u00f6s \u00f6r\u00f6kl\u0151d\u00e9st ig\u00e9nyel (Java alatt k\u00f6zvetlen\u00fcl nem lehets\u00e9ges).<br>Ezt alap\u00e9rtelmezett met\u00f3dus\u00fa interf\u00e9szek seg\u00edts\u00e9g\u00e9vel \u00e9rhetj\u00fck el.<br>Az adapter kiterjeszti a Target \u00e9s az Adaptee oszt\u00e1lyokat is.<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ C\u00e9l fel\u00fclet<br>interf\u00e9sz C\u00e9l {<br>\u00e9rv\u00e9nytelen k\u00e9r\u00e9s();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Alkalmazkod\u00f3 (megl\u00e9v\u0151 oszt\u00e1ly)<br>class alkalmazkod\u00f3 {<br>void specificRequest() {<br>System.out.println(&#8220;Az alkalmazkod\u00f3 egyedi k\u00e9r\u00e9se&#8221;);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Adapter (oszt\u00e1ly\u00f6r\u00f6kl\u0151d\u00e9st haszn\u00e1lva)<br>class Adapter expands Adaptee implements Target {<br>@Fel\u00fclb\u00edr\u00e1l\u00e1s<br>public void request() {<br>specificRequest();<br>}<br>}<br>El\u0151ny\u00f6k \u00e9s kompromisszumok:<br>Az Oszt\u00e1lyadapter j\u00f3l m\u0171k\u00f6dik az egy az egyhez m\u00f3dszer-lek\u00e9pez\u00e9shez.<br>Az Object Adapter nagyobb rugalmass\u00e1got biztos\u00edt, \u00e9s elker\u00fcli a k\u00f3dm\u00f3dos\u00edt\u00e1st.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Dekor\u00e1tor minta<br>A Decorator Pattern egy kreat\u00edv tervez\u00e9si minta, amely lehet\u0151v\u00e9 teszi, hogy dinamikusan funkcionalit\u00e1st \u00e9s viselked\u00e9st adjon egy objektumhoz an\u00e9lk\u00fcl<br>befoly\u00e1solja az azonos oszt\u00e1lyon bel\u00fcli t\u00f6bbi l\u00e9tez\u0151 objektum viselked\u00e9s\u00e9t. Ez k\u00fcl\u00f6n\u00f6sen akkor hasznos, ha egy objektumot szeretne kiterjeszteni<br>k\u00e9pess\u00e9geit an\u00e9lk\u00fcl, hogy megv\u00e1ltoztatn\u00e1 a szerkezet\u00e9t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c1ttekint\u00e9s:<br>A Decorator Pattern tov\u00e1bbfejlesztett fel\u00fcletet biztos\u00edt az eredeti objektumhoz az\u00e1ltal, hogy tov\u00e1bbi funkci\u00f3kkal burkolja azt.<br>El\u0151nyben r\u00e9szes\u00edtj\u00fck az \u00f6sszet\u00e9telt az \u00f6r\u00f6kl\u00e9ssel szemben, hogy cs\u00f6kkents\u00fck az aloszt\u00e1lyoz\u00e1si t\u00f6bbletk\u00f6lts\u00e9get.<br>A dekor\u00e1torok fut\u00e1s k\u00f6zben is hozz\u00e1adhat\u00f3k, ami rugalmass\u00e1got tesz lehet\u0151v\u00e9.<br>P\u00e9lda forgat\u00f3k\u00f6nyvre: Tegy\u00fck fel, hogy van egy kar\u00e1csonyfa t\u00e1rgyunk, \u00e9s k\u00fcl\u00f6nf\u00e9le t\u00e1rgyakkal szeretn\u00e9nk d\u00edsz\u00edteni, p\u00e9ld\u00e1ul f\u00fcz\u00e9rrel, talmival \u00e9s bubor\u00e9kl\u00e1mp\u00e1kkal. K\u00f6vetj\u00fck az eredeti N\u00e9gy banda tervez\u00e9si konvenci\u00f3it:<br>V\u00e9grehajt\u00e1s:<br>El\u0151sz\u00f6r hozzon l\u00e9tre egy ChristmasTree fel\u00fcletet:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">nyilv\u00e1nos fel\u00fclet kar\u00e1csonyfa {<br>String d\u00edsz\u00edt();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Val\u00f3s\u00edtsa meg a fel\u00fcletet egy alapf\u00e1val:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class ChristmasTreeImpl megval\u00f3s\u00edtja a ChristmasTree {<br>@Fel\u00fclb\u00edr\u00e1l\u00e1s<br>public String d\u00edsz\u00edt() {<br>vissza a &#8220;kar\u00e1csonyfa&#8221;;<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ezut\u00e1n hozzon l\u00e9tre egy absztrakt TreeDecorator oszt\u00e1lyt, amely megval\u00f3s\u00edtja a kar\u00e1csonyf\u00e1t \u00e9s tartja a feld\u00edsz\u00edtett f\u00e1t:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public abstract class TreeDecorator megval\u00f3s\u00edtja a kar\u00e1csonyf\u00e1t {<br>priv\u00e1t v\u00e9gs\u0151 kar\u00e1csonyfa;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public TreeDecorator(ChristmasTree tree) {<\/div><div class=\"cm-line\">    this.tree = tree;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public String decorate() {<\/div><div class=\"cm-line\">    return tree.decorate();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Most hozzon l\u00e9tre konkr\u00e9t dekor\u00e1torokat. P\u00e9ld\u00e1ul BubbleLights:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class BubbleLights kiterjeszti a TreeDecorator {<br>nyilv\u00e1nos BubbleLights (kar\u00e1csonyfa) {<br>szuper(fa);<br>}<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public String decorate() {<\/div><div class=\"cm-line\">    return super.decorate() + &quot; with Bubble Lights&quot;;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class Garland kiterjeszti TreeDecorator {<br>public Garland(kar\u00e1csonyfa) {<br>szuper(fa);<br>}<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public String decorate() {<\/div><div class=\"cm-line\">    return super.decorate() + &quot; with Garland&quot;;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<br>Haszn\u00e1lat:<br>D\u00edsz\u00edtett f\u00e1k l\u00e9trehoz\u00e1sa:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class DecoratorPatternDemo {<br>public static void main(String[] args) {<br>kar\u00e1csonyfa1 = new Garland(new Christmas TreeImpl());<br>System.out.println(fa1.decorate()); \/\/ Kimenet: &#8220;Kar\u00e1csonyfa f\u00fcz\u00e9rrel&#8221;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    ChristmasTree tree2 = new BubbleLights(new Garland(new Garland(new ChristmasTreeImpl())));\n    System.out.println(tree2.decorate()); \/\/ Output: &#034;Christmas tree with Garland with Garland with Bubble Lights&#034;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<br>A minta lehet\u0151v\u00e9 teszi dekor\u00e1torok hozz\u00e1ad\u00e1s\u00e1t fut\u00e1s k\u00f6zben, rugalmass\u00e1got biztos\u00edtva a sz\u00fcks\u00e9ges d\u00edsz\u00edt\u00e9shez.<br>Ne feledje, a Decorator Pattern sz\u00e9les k\u00f6rben haszn\u00e1latos olyan esetekben, amikor az objektum viselked\u00e9s\u00e9t az alapvet\u0151 szerkezet\u00e9nek m\u00f3dos\u00edt\u00e1sa n\u00e9lk\u00fcl szeretn\u00e9 jav\u00edtani.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Homlokzati minta<br>A homlokzati minta egy szerkezeti tervez\u00e9si minta, amely leegyszer\u0171s\u00edti az interakci\u00f3t egy \u00f6sszetett alrendszerrel az\u00e1ltal, hogy egys\u00e9ges fel\u00fcletet biztos\u00edt.<br>&#8220;Bej\u00e1rati ajt\u00f3k\u00e9nt&#8221; m\u0171k\u00f6dik, hogy elrejtse a m\u00f6g\u00f6ttes bonyolults\u00e1got, \u00e9s megk\u00f6nny\u00edtse az \u00fcgyfelek sz\u00e1m\u00e1ra a rendszer haszn\u00e1lat\u00e1t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;\u00d6sszetett<br>Az \u00d6sszetett minta egy szerkezeti tervez\u00e9si minta, amely lehet\u0151v\u00e9 teszi, hogy az objektumokat fastrukt\u00far\u00e1kba \u00e1ll\u00edtsa \u00f6ssze, hogy r\u00e9sz-eg\u00e9sz hierarchi\u00e1kat k\u00e9pviseljen.<br>Az \u00f6sszetett minta m\u00f6g\u00f6tt megh\u00faz\u00f3d\u00f3 f\u0151 gondolat egy objektumokb\u00f3l \u00e1ll\u00f3 fastrukt\u00fara fel\u00e9p\u00edt\u00e9se, ahol az egyes objektumok \u00e9s az \u00f6sszetett objektumok k\u00f6z\u00f6s fel\u00fcleten osztoznak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alap\u00f6sszetev\u0151 (r\u00e9szleg): Egy egyszer\u0171 oszt\u00e1lyfel\u00fcletet fogunk meghat\u00e1rozni alapkomponens\u00fcnkk\u00e9nt:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">nyilv\u00e1nos fel\u00fclet Oszt\u00e1ly {<br>void printDepartmentName();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Leaf Components (P\u00e9nz\u00fcgyi Oszt\u00e1ly \u00e9s \u00c9rt\u00e9kes\u00edt\u00e9si Oszt\u00e1ly): Hozzunk l\u00e9tre oszt\u00e1lyokat a p\u00e9nz\u00fcgyi \u00e9s \u00e9rt\u00e9kes\u00edt\u00e9si oszt\u00e1lyok sz\u00e1m\u00e1ra, mindkett\u0151 megval\u00f3s\u00edtva a r\u00e9szleg fel\u00fclet\u00e9t:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class P\u00e9nz\u00fcgyi Oszt\u00e1ly megval\u00f3s\u00edtja Oszt\u00e1ly {<br>\/\/ A megval\u00f3s\u00edt\u00e1s r\u00e9szletei (pl. azonos\u00edt\u00f3, n\u00e9v)<br>public void printDepartmentName() {<br>System.out.println(getClass().getSimpleName());<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class SalesDepartment implements Department {<br>\/\/ A megval\u00f3s\u00edt\u00e1s r\u00e9szletei (pl. azonos\u00edt\u00f3, n\u00e9v)<br>public void printDepartmentName() {<br>System.out.println(getClass().getSimpleName());<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ezek a lev\u00e9loszt\u00e1lyok a printDepartmentName() met\u00f3dust val\u00f3s\u00edtj\u00e1k meg, \u00e9s nem tartalmaznak hivatkoz\u00e1sokat m\u00e1s oszt\u00e1lyobjektumokra.<br>\u00d6sszetett elem (HeadDepartment): \u00d6sszetett oszt\u00e1lyk\u00e9nt hozzunk l\u00e9tre egy HeadDepartment-ot, amely oszt\u00e1lyelemek gy\u0171jtem\u00e9ny\u00e9t tartalmazza:<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">import java.util.ArrayList;<br>import java.util.List;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class HeadDepartment implements Department {<br>priv\u00e1t eg\u00e9sz azonos\u00edt\u00f3;<br>priv\u00e1t karakterl\u00e1nc neve;<br>priv\u00e1t Lista gyermekR\u00e9szlegek;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public HeadDepartment(Integer id, String name) {<\/div><div class=\"cm-line\">    this.id = id;<\/div><div class=\"cm-line\">    this.name = name;<\/div><div class=\"cm-line\">    this.childDepartments = new ArrayList&lt;&gt;();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void printDepartmentName() {<\/div><div class=\"cm-line\">    childDepartments.forEach(Department::printDepartmentName);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void addDepartment(Department department) {<\/div><div class=\"cm-line\">    childDepartments.add(department);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void removeDepartment(Department department) {<\/div><div class=\"cm-line\">    childDepartments.remove(department);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A HeadDepartment oszt\u00e1ly a printDepartmentName() met\u00f3dust val\u00f3s\u00edtja meg, \u00e9s m\u00f3dszereket biztos\u00edt az al\u00e1rendelt r\u00e9szlegek hozz\u00e1ad\u00e1s\u00e1hoz \u00e9s elt\u00e1vol\u00edt\u00e1s\u00e1hoz.<br>Haszn\u00e1lat: L\u00e9trehozhat p\u00e9ld\u00e1nyokat lev\u00e9lr\u00e9szlegekb\u0151l (pl. P\u00e9nz\u00fcgyi oszt\u00e1ly, \u00c9rt\u00e9kes\u00edt\u00e9si Oszt\u00e1ly) \u00e9s \u00f6sszetett r\u00e9szlegb\u0151l (pl. HeadDepartment). Adja hozz\u00e1 a lev\u00e9lr\u00e9szlegeket az \u00f6sszetetthez, \u00e9s nyomtassa ki a nev\u00fcket.<br>J\u00e1va<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class F\u0151 {<br>public static void main(String[] args) {<br>P\u00e9nz\u00fcgyi oszt\u00e1ly = new Financial Department();<br>Oszt\u00e1ly \u00e9rt\u00e9kes\u00edt\u00e9s = new SalesDepartment();<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    HeadDepartment headDepartment = new HeadDepartment(1, &#034;Company Departments&#034;);\n    headDepartment.addDepartment(finance);\n    headDepartment.addDepartment(sales);\n\n    headDepartment.printDepartmentName();\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kimenet:<br>P\u00e9nz\u00fcgyi Oszt\u00e1ly<br>\u00c9rt\u00e9kes\u00edt\u00e9si Oszt\u00e1ly<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az \u00f6sszetett minta lehet\u0151v\u00e9 teszi rugalmas fastrukt\u00far\u00e1k l\u00e9trehoz\u00e1s\u00e1t ahol<br>az egyes t\u00e1rgyak \u00e9s kompoz\u00edci\u00f3k (kompozitok) egys\u00e9gesen kezelhet\u0151k.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi az a HASH funkci\u00f3!!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A hash f\u00fcggv\u00e9ny olyan matematikai f\u00fcggv\u00e9ny, amely bemenetet (vagy &#8220;\u00fczenetet&#8221;) fogad, \u00e9s egy r\u00f6gz\u00edtett m\u00e9ret\u0171 karaktersorozatot ad vissza,<br>amely jellemz\u0151en sz\u00e1mok \u00e9s bet\u0171k sorozata. Ezt a kimenetet &#8220;hash \u00e9rt\u00e9knek&#8221; vagy egyszer\u0171en &#8220;kivonatnak&#8221; nevezik.<br>A hash f\u00fcggv\u00e9nyeket gyakran haszn\u00e1lj\u00e1k a sz\u00e1m\u00edt\u00e1stechnik\u00e1ban \u00e9s a kriptogr\u00e1fi\u00e1ban, \u00e9s van n\u00e9h\u00e1ny fontos tulajdons\u00e1guk:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">=== Hogyan haszn\u00e1ln\u00e1d a hash f\u00fcggv\u00e9nyt \u00e9s hogyan m\u0171k\u00f6dik?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Determinisztikus: Ugyanaz a bemenet mindig ugyanazt a hash-t \u00e1ll\u00edtja el\u0151.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gyors: A f\u00fcggv\u00e9ny gyorsan ki tudja sz\u00e1m\u00edtani a hash \u00e9rt\u00e9k\u00e9t b\u00e1rmely adott bemenethez.<br>Egyedi (majdnem): K\u00e9t k\u00fcl\u00f6nb\u00f6z\u0151 bemenetnek k\u00fcl\u00f6n\u00e1ll\u00f3 kivonatokat kell produk\u00e1lnia (ezt az &#8220;\u00fctk\u00f6z\u00e9sek&#8221; minimaliz\u00e1l\u00e1s\u00e1nak nevezik).<br>Irreverzibilis: Ha adott egy hash, sz\u00e1m\u00edt\u00e1silag lehetetlennek kell lennie az eredeti bemenet meghat\u00e1roz\u00e1sa.<br>Egys\u00e9ges: A hash \u00e9rt\u00e9kek egyenletesen oszlanak el a kimeneti t\u00e9rben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A hash f\u00fcggv\u00e9nyeket sz\u00e9les k\u00f6rben haszn\u00e1lj\u00e1k k\u00fcl\u00f6nf\u00e9le alkalmaz\u00e1sokban, p\u00e9ld\u00e1ul:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adatintegrit\u00e1s: Annak biztos\u00edt\u00e1sa, hogy az adatokat ne v\u00e1ltoztatt\u00e1k meg vagy hamis\u00edtott\u00e1k meg, a hash \u00e9rt\u00e9kek \u00f6sszehasonl\u00edt\u00e1s\u00e1val.<br>Jelsz\u00f3t\u00e1rol\u00e1s: Kivonatolt jelszavak biztons\u00e1gos t\u00e1rol\u00e1sa a t\u00e9nyleges jelszavak helyett.<br>Kriptogr\u00e1fia: Digit\u00e1lis al\u00e1\u00edr\u00e1sokhoz \u00e9s m\u00e1s kriptogr\u00e1fiai algoritmusokhoz haszn\u00e1lj\u00e1k.<br>Hash Tables: A hat\u00e9kony adatlek\u00e9r\u00e9shez a programoz\u00e1sban.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">=== Mondj egy p\u00e9ld\u00e1t hash t\u00e9rk\u00e9pre, hogyan haszn\u00e1ln\u00e1d?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SHA (Secure Hash Algorithm):<br>Olyan v\u00e1ltozatokat tartalmaz, mint az SHA-1, SHA-256, SHA-384 \u00e9s SHA-512.<br>Az SHA-256 \u00e9s az SHA-512 sz\u00e9les k\u00f6rben haszn\u00e1latos a kriptogr\u00e1fi\u00e1ban \u00e9s a blokkl\u00e1nc-technol\u00f3gi\u00e1ban (pl. Bitcoin).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">import java.security.MessageDigest;<br>import java.security.NoSuchAlgorithmException;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class HashExample {<br>public static void main(String[] args) {<br>pr\u00f3b\u00e1ld meg {<br>\/\/ A kivonatolni k\u00edv\u00e1nt bemeneti karakterl\u00e1nc<br>String input = &#8220;Szia, vil\u00e1g!&#8221;;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>        \/\/ Create a MessageDigest instance for SHA-256\n        MessageDigest digest = MessageDigest.getInstance(&#034;SHA-256&#034;);\n\n        \/\/ Compute the hash\n        byte&#091;] hash = digest.digest(input.getBytes());\n\n        \/\/ Convert the hash bytes to a hexadecimal string\n        StringBuilder hexString = new StringBuilder();\n        for (byte b : hash) {\n            String hex = String.format(&#034;%02x&#034;, b);\n            hexString.append(hex);\n        }\n\n        \/\/ Print the resulting hash\n        System.out.println(&#034;SHA-256 Hash: &#034; + hexString.toString());\n    } catch (NoSuchAlgorithmException e) {\n        System.err.println(&#034;Error: &#034; + e.getMessage());\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bemeneti adatok: A bemeneti v\u00e1ltoz\u00f3 tartalmazza a kivonatolni k\u00edv\u00e1nt adatokat.<br>MessageDigest inicializ\u00e1l\u00e1s: A MessageDigest p\u00e9ld\u00e1ny a getInstance(&#8220;SHA-256&#8221;) haszn\u00e1lat\u00e1val j\u00f6n l\u00e9tre, amely az SHA-256 kivonatol\u00e1si algoritmust hat\u00e1rozza meg.<br>Kivonatol\u00e1s: A kivonatol\u00e1si m\u00f3dszer kisz\u00e1m\u00edtja a bemeneti adatok kivonat\u00e1t.<br>Hexadecim\u00e1lis \u00e1talak\u00edt\u00e1s: Mivel a hash bin\u00e1ris form\u00e1tum\u00fa, egy ciklus seg\u00edts\u00e9g\u00e9vel alak\u00edtjuk \u00e1t olvashat\u00f3bb hexadecim\u00e1lis karakterl\u00e1ncokk\u00e1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tedd \u00e9s Patch? Mikor kell haszn\u00e1lni?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mind a PUT, mind a PATCH HTTP-m\u00f3dszer, amelyet a kiszolg\u00e1l\u00f3n l\u00e9v\u0151 er\u0151forr\u00e1sok friss\u00edt\u00e9s\u00e9re haszn\u00e1lnak, de k\u00fcl\u00f6nb\u00f6znek a friss\u00edt\u00e9sek kezel\u00e9s\u00e9ben:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PUT:<br>Teljes friss\u00edt\u00e9s:<br>A PUT egy megl\u00e9v\u0151 er\u0151forr\u00e1s teljes helyettes\u00edt\u00e9s\u00e9re szolg\u00e1l.<br>A teljes er\u0151forr\u00e1st el kell k\u00fcldeni a k\u00e9r\u00e9sben, m\u00e9g akkor is, ha annak csak egy r\u00e9sze m\u00f3dosul.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ha az er\u0151forr\u00e1s nem l\u00e9tezik, a PUT gyakran l\u00e9trehozza (b\u00e1r ez a viselked\u00e9s v\u00e1ltozhat).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Idempotens:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Az azonos adatokkal ism\u00e9telt PUT k\u00e9r\u00e9sek mindig ugyanazt az er\u0151forr\u00e1s \u00e1llapotot eredm\u00e9nyezik.<br>P\u00e9lda: Felhaszn\u00e1l\u00f3 profilj\u00e1nak friss\u00edt\u00e9se:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">json<br>PUT \/users\/123<br>{<br>&#8220;n\u00e9v&#8221;: &#8220;Velislav&#8221;,<br>&#8220;e-mail&#8221;: &#8220;velislav@example.com&#8221;,<br>&#8220;\u00e9letkor&#8221;: 30<br>}<br>Ha csak a n\u00e9v v\u00e1ltozik, de az e-mail c\u00edm \u00e9s az \u00e9letkor v\u00e1ltozatlan marad, akkor is szerepelnie kell a k\u00e9relemben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FOLTOK:<br>R\u00e9szleges friss\u00edt\u00e9s:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A PATCH egy megl\u00e9v\u0151 er\u0151forr\u00e1s r\u00e9szleges friss\u00edt\u00e9s\u00e9re szolg\u00e1l.<br>A k\u00e9relemben csak a m\u00f3dos\u00edtand\u00f3 mez\u0151ket kell elk\u00fcldeni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Idempotens (t\u00f6bbnyire):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A PUT-hoz hasonl\u00f3an az ism\u00e9tl\u0151d\u0151 PATCH k\u00e9r\u00e9sek ugyanazokkal az adatokkal \u00e1ltal\u00e1ban az er\u0151forr\u00e1s azonos \u00e1llapot\u00e1t eredm\u00e9nyezik.<br>A viselked\u00e9s azonban a szerver megval\u00f3s\u00edt\u00e1s\u00e1t\u00f3l f\u00fcgghet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">P\u00e9lda: Csak a felhaszn\u00e1l\u00f3 nev\u00e9nek friss\u00edt\u00e9se:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">json<br>PATCH \/users\/123<br>{<br>&#8220;n\u00e9v&#8221;: &#8220;Velislav&#8221;<br>}<br>Itt csak a n\u00e9vmez\u0151 friss\u00fcl, a t\u00f6bbi mez\u0151 v\u00e1ltozatlan marad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u0151bb k\u00fcl\u00f6nbs\u00e9g:<br>A PUT a teljes er\u0151forr\u00e1st lecser\u00e9li, m\u00edg a PATCH csak az er\u0151forr\u00e1s meghat\u00e1rozott mez\u0151it m\u00f3dos\u00edtja.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>HTTP met\u00f3dusok r\u00f6vid le\u00edr\u00e1ssal.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GET: Adatok lek\u00e9r\u00e9s\u00e9re szolg\u00e1l a szerverr\u0151l azok m\u00f3dos\u00edt\u00e1sa n\u00e9lk\u00fcl. \u00c1ltal\u00e1ban er\u0151forr\u00e1sok vagy inform\u00e1ci\u00f3k lek\u00e9r\u00e9s\u00e9re haszn\u00e1lj\u00e1k.<br>POST: Adatok k\u00fcld\u00e9s\u00e9re szolg\u00e1l a szervernek, jellemz\u0151en \u00faj er\u0151forr\u00e1s l\u00e9trehoz\u00e1s\u00e1ra. P\u00e9ld\u00e1ul \u0171rlap bek\u00fcld\u00e9se vagy f\u00e1jl felt\u00f6lt\u00e9se.<br>PUT: A szerveren l\u00e9v\u0151 megl\u00e9v\u0151 er\u0151forr\u00e1s friss\u00edt\u00e9s\u00e9re vagy teljes cser\u00e9j\u00e9re szolg\u00e1l. Ha az er\u0151forr\u00e1s nem l\u00e9tezik, l\u00e9trehozhat\u00f3.<br>PATCH: Megl\u00e9v\u0151 er\u0151forr\u00e1sok r\u00e9szleges friss\u00edt\u00e9s\u00e9re szolg\u00e1l, csak a megadott mez\u0151ket m\u00f3dos\u00edtva.<br>T\u00d6RL\u00c9S: Er\u0151forr\u00e1s t\u00f6rl\u00e9s\u00e9re szolg\u00e1l a szerverr\u0151l.<br>HEAD: Hasonl\u00f3 a GET-hez, a fejl\u00e9cek lek\u00e9r\u00e9s\u00e9re szolg\u00e1l er\u0151forr\u00e1s t\u00f6rzse n\u00e9lk\u00fcl.<br>OPCI\u00d3K: Megmondja, hogy mely HTTP met\u00f3dusok enged\u00e9lyezettek.<br>TRACE: F\u0151leg diagnosztikai c\u00e9lokra haszn\u00e1lj\u00e1k a k\u00e9r\u00e9s visszak\u00fcld\u00e9s\u00e9vel az \u00fcgyf\u00e9lnek<br>CONNECT: Alagutat hoz l\u00e9tre a szerver fel\u00e9, amelyet gyakran haszn\u00e1lnak SSL\/TLS kapcsolatokhoz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">========== Funkcion\u00e1lis interf\u00e9sz ====================================<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A Java funkcion\u00e1lis interf\u00e9sze olyan fel\u00fclet, amely pontosan egy absztrakt met\u00f3dust tartalmaz. Ezeket az interf\u00e9szeket els\u0151sorban lambda-kifejez\u00e9sekben \u00e9s met\u00f3dushivatkoz\u00e1sokban haszn\u00e1lj\u00e1k, ami t\u00f6m\u00f6rebb \u00e9s olvashat\u00f3bb funkcion\u00e1lis programoz\u00e1st tesz lehet\u0151v\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">F\u0151bb jellemz\u0151k:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Egyetlen absztrakt m\u00f3dszer<\/strong>: Egy funkcion\u00e1lis interf\u00e9sznek csak egy absztrakt m\u00f3dszere van. Ez a m\u0171k\u00f6d\u00e9s\u00e9nek l\u00e9nyege.<\/li>\n\n\n\n<li><strong>Alap\u00e9rtelmezett \u00e9s statikus m\u00f3dszerek<\/strong>: A funkcion\u00e1lis interf\u00e9szek tartalmazhatnak alap\u00e9rtelmezett \u00e9s statikus met\u00f3dusokat, de ezek nem sz\u00e1m\u00edtanak egyetlen absztrakt met\u00f3dusnak.<\/li>\n\n\n\n<li><strong>@FunctionalInterface Annotation<\/strong>: B\u00e1r ez a megjegyz\u00e9s nem k\u00f6telez\u0151, seg\u00edt az\u00e1ltal, hogy jelzi, hogy az interf\u00e9sz c\u00e9lja, hogy funkcion\u00e1lis legyen. Ha tov\u00e1bbi absztrakt met\u00f3dusokat adunk az interf\u00e9szhez, a ford\u00edt\u00f3 hib\u00e1t jelez.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">P\u00e9lda:<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@FunctionalInterface<\/div><div class=\"cm-line\">interface Calculator {<\/div><div class=\"cm-line\">    int calculate(int a, int b);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Using lambda expression<\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        \/\/ Implementing the calculate method using a lambda<\/div><div class=\"cm-line\">        Calculator addition = (a, b) -&gt; a + b;<\/div><div class=\"cm-line\">        Calculator multiplication = (a, b) -&gt; a * b;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(&quot;Addition: &quot; + addition.calculate(5, 3));  \/\/ Output: 8<\/div><div class=\"cm-line\">        System.out.println(&quot;Multiplication: &quot; + multiplication.calculate(5, 3));  \/\/ Output: 15<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Haszn\u00e1lati eset:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A <code>Calculator<\/code> A p\u00e9ld\u00e1ban szerepl\u0151 interf\u00e9sz egyetlen absztrakt met\u00f3dussal rendelkezik <code>calculate<\/code>, \u00edgy funkcion\u00e1lis interf\u00e9sszel.<br>Ez lehet\u0151v\u00e9 teszi sz\u00e1munkra, hogy lambda kifejez\u00e9seket haszn\u00e1ljunk a r\u00f6vids\u00e9g \u00e9s az elegancia \u00e9rdek\u00e9ben a megval\u00f3s\u00edt\u00e1sban.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gyakori funkcion\u00e1lis interf\u00e9szek a Java nyelvben:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A Java sz\u00e1mos be\u00e9p\u00edtett funkcion\u00e1lis interf\u00e9szt biztos\u00edt a <code>java.util.function<\/code> csomagok, mint pl.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u00c1ll\u00edtm\u00e1ny<\/strong>: Bemenetet vesz, \u00e9s logikai \u00e9rt\u00e9ket ad vissza.<\/li>\n\n\n\n<li><strong>Funkci\u00f3<\/strong>: Fog egy bemenetet, \u00e9s egy R t\u00edpus\u00fa kimenetet ad vissza.<\/li>\n\n\n\n<li><strong>Sz\u00e1ll\u00edt\u00f3<\/strong>: Bemenet n\u00e9lk\u00fcli \u00e9rt\u00e9ket ad meg.<\/li>\n\n\n\n<li><strong>Fogyaszt\u00f3<\/strong>: \u00c9rt\u00e9ket fogad el \u00e9s m\u0171veletet hajt v\u00e9gre.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A funkcion\u00e1lis interf\u00e9szek leegyszer\u0171s\u00edtik a m\u0171veleteket, k\u00fcl\u00f6n\u00f6sen olyan forgat\u00f3k\u00f6nyvekben, mint a gy\u0171jtem\u00e9nyek, adatfolyamok vagy aszinkron feladatok.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Felhatalmazz\u00e1k a Java-t a funkcion\u00e1lis programoz\u00e1si paradigm\u00e1k \u00e1tv\u00e9tel\u00e9re, mik\u00f6zben meg\u0151rzik objektum-orient\u00e1lts\u00e1g\u00e1t.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">================ A magasabb rend\u0171 f\u00fcggv\u00e9ny ==============================<br>A magasabb rend\u0171 f\u00fcggv\u00e9ny olyan f\u00fcggv\u00e9ny, amely vagy m\u00e1s f\u00fcggv\u00e9nyeket vesz argumentumk\u00e9nt, vagy egy f\u00fcggv\u00e9nyt ad vissza eredm\u00e9nyk\u00e9nt. M\u00e1s sz\u00f3val, funkci\u00f3kat m\u0171k\u00f6dtet, &#8220;els\u0151 oszt\u00e1ly\u00fa \u00e1llampolg\u00e1rokk\u00e9nt&#8221; kezeli \u0151ket. Ez egy hat\u00e9kony funkci\u00f3 a funkcion\u00e1lis programoz\u00e1si paradigm\u00e1kban, lehet\u0151v\u00e9 t\u00e9ve az absztrakci\u00f3t, a k\u00f3d \u00fajrafelhaszn\u00e1l\u00e1s\u00e1t \u00e9s a kompoz\u00edci\u00f3t.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">P\u00e9lda egy magasabb rend\u0171 f\u00fcggv\u00e9nyre Java-ban:<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.function.Function;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        \/\/ Higher-order function: applies a function to a value<\/div><div class=\"cm-line\">        Function&lt;Integer, Integer&gt; squareFunction = x -&gt; x * x;<\/div><div class=\"cm-line\">        int result = applyFunction(5, squareFunction);<\/div><div class=\"cm-line\">        System.out.println(&quot;Square of 5: &quot; + result);  \/\/ Output: 25<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static int applyFunction(int value, Function&lt;Integer, Integer&gt; function) {<\/div><div class=\"cm-line\">        return function.apply(value);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">A fenti p\u00e9ld\u00e1ban:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <code>applyFunction<\/code> A met\u00f3dus magasabb rend\u0171 f\u00fcggv\u00e9ny, mert elfogad egy m\u00e1sik f\u00fcggv\u00e9nyt (<code>Function&lt;Integer, Integer&gt;<\/code>) param\u00e9terk\u00e9nt.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Jellemz\u0151k:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>A f\u00fcggv\u00e9nyeket argumentumk\u00e9nt fogadja el<\/strong>: A magasabb rend\u0171 funkci\u00f3k m\u00e1s funkci\u00f3kat is haszn\u00e1lhatnak bemenetk\u00e9nt meghat\u00e1rozott m\u0171veletek v\u00e9grehajt\u00e1s\u00e1hoz.<\/li>\n\n\n\n<li><strong>Funkci\u00f3kat ad vissza<\/strong>: Dinamikusan tudnak \u00faj f\u00fcggv\u00e9nyeket gener\u00e1lni \u00e9s visszaadni.<\/li>\n\n\n\n<li><strong>B\u00e1tor\u00edtja a k\u00f3d \u00fajrafelhaszn\u00e1l\u00e1s\u00e1t<\/strong>: El\u0151seg\u00edti a modul\u00e1ris \u00e9s \u00fajrafelhaszn\u00e1lhat\u00f3 k\u00f3dot, mivel a funkci\u00f3k egym\u00e1s k\u00f6z\u00f6tt \u00e1tadhat\u00f3k \u00e9s \u00f6ssze\u00e1ll\u00edthat\u00f3k.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Haszn\u00e1lati eset:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A Java-ban a magasabb rend\u0171 f\u00fcggv\u00e9nyeket \u00e1ltal\u00e1ban a funkcion\u00e1lis programoz\u00e1sban haszn\u00e1lj\u00e1k adatfolyamokkal, lambd\u00e1kkal \u00e9s met\u00f3dushivatkoz\u00e1sokkal. P\u00e9ld\u00e1ul:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;String&gt; names = Arrays.asList(&quot;John&quot;, &quot;Jane&quot;, &quot;Jake&quot;);<\/div><div class=\"cm-line\">names.stream()<\/div><div class=\"cm-line\">     .filter(name -&gt; name.startsWith(&quot;J&quot;))  \/\/ Takes a lambda function as argument<\/div><div class=\"cm-line\">     .forEach(System.out::println);         \/\/ Takes a method reference as argument<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">A magasabb rend\u0171 funkci\u00f3k rugalmass\u00e1got \u00e9s teljes\u00edtm\u00e9nyt k\u00f6lcs\u00f6n\u00f6znek a Java programoknak, lehet\u0151v\u00e9 t\u00e9ve a fejleszt\u0151k sz\u00e1m\u00e1ra, hogy tiszta, t\u00f6m\u00f6r \u00e9s kifejez\u0151 k\u00f3dokat \u00edrjanak!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e9h\u00e1ny val\u00f3s Interj\u00fa v\u00e1laszk\u00e9szlet itt.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Meg\u00e9rti az olyan alapokat, mint a polimorfizmus, a statikus m\u00f3dszerek \u00e9s a String pool<\/li>\n\n\n\n<li>ismeri a gy\u0171jtem\u00e9nyeket (pl. HashSet, TreeSet) \u00e9s azok haszn\u00e1lati eseteit.<\/li>\n\n\n\n<li>Helyesen azonos\u00edtja a bab hat\u00f3k\u00f6r\u00f6ket (singleton, protot\u00edpus)<\/li>\n\n\n\n<li>Tiszt\u00e1ban van a f\u00fcgg\u0151s\u00e9gi injekci\u00f3val \u00e9s c\u00e9lj\u00e1val.<\/li>\n\n\n\n<li>tudja, hogyan val\u00f3s\u00edtson meg sok-sok kapcsolatokat kapcsol\u00f3t\u00e1bl\u00e1k seg\u00edts\u00e9g\u00e9vel.<\/li>\n\n\n\n<li>Meg\u00e9rti az indexek c\u00e9lj\u00e1t (b\u00e1r fel\u00fcletesen)<\/li>\n\n\n\n<li>k\u00fcl\u00f6nbs\u00e9get tud tenni monolitikus \u00e9s mikroszolg\u00e1ltat\u00e1si architekt\u00far\u00e1k k\u00f6z\u00f6tt<\/li>\n\n\n\n<li>meg\u00e9rti az alapvet\u0151 kompromisszumokat (sk\u00e1l\u00e1zhat\u00f3s\u00e1g, karbantarthat\u00f3s\u00e1g)<\/li>\n\n\n\n<li>f\u00e9lre\u00e9rti Liskov helyettes\u00edt\u00e9si elv\u00e9t \u00e9s a f\u00fcgg\u0151s\u00e9gi inverzi\u00f3t<\/li>\n\n\n\n<li>K\u00fczd, hogy konkr\u00e9t p\u00e9ld\u00e1kat adjon a Nyitott\/Z\u00e1rt elvre.<\/li>\n\n\n\n<li>Hi\u00e1nyzik a bab \u00e9letciklus-kezel\u00e9s\u00e9nek m\u00e9lys\u00e9ge<\/li>\n\n\n\n<li>Nem vil\u00e1gos a fejlett f\u00fcgg\u0151s\u00e9gi injekci\u00f3r\u00f3l<\/li>\n\n\n\n<li>az indexek fel\u00fcletes meg\u00e9rt\u00e9se (\u00f6sszetett indexek, lek\u00e9rdez\u00e9s optimaliz\u00e1l\u00e1s)<\/li>\n\n\n\n<li>Nem ismeri az elszigetelts\u00e9gi szinteket \u00e9s az optimista\/pesszimista z\u00e1rol\u00e1st<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">El\u0151ny\u00f6k:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hatalmas \u00e9s \u00f6sszetett rendszerben dolgozott \u00f6r\u00f6k\u00f6lt k\u00f3ddal<\/li>\n\n\n\n<li>Ismeri a SOLID-ot<\/li>\n\n\n\n<li>A patakok ismerete<\/li>\n\n\n\n<li>Magyar\u00e1zott indexek \u00e9s ACID<\/li>\n\n\n\n<li>J\u00f3 szint\u0171 angol nyelvtud\u00e1s<br>H\u00e1tr\u00e1nyok:<\/li>\n\n\n\n<li>Nincs felel\u0151ss\u00e9g a telep\u00edt\u00e9s\u00e9rt vagy az infrastrukt\u00far\u00e1\u00e9rt, az \u00e9p\u00edt\u00e9szeti tervez\u00e9sben val\u00f3 r\u00e9szv\u00e9tel\u00e9rt<\/li>\n\n\n\n<li>Van n\u00e9mi ismerete az OOP elveir\u0151l, de nagyon nehezen tudta elmagyar\u00e1zni \u0151ket, \u00e9s n\u00e9h\u00e1ny fogalmat f\u00e9lre\u00e9rt<\/li>\n\n\n\n<li>\u00c1ltal\u00e1nos ismeretek a gy\u0171jtem\u00e9nyekr\u0151l, de vannak hi\u00e1nyoss\u00e1gai \u00e9s nagyon bizonytalanok<\/li>\n\n\n\n<li>Nem \u00e9rti a k\u00fcl\u00f6nbs\u00e9get a p\u00e1rhuzamoss\u00e1g \u00e9s a p\u00e1rhuzamoss\u00e1g k\u00f6z\u00f6tt, nem t\u00fal er\u0151s a p\u00e1rhuzamoss\u00e1g ismerete<\/li>\n\n\n\n<li>Nem sokat foglalkoztam a mikroszolg\u00e1ltat\u00e1si architekt\u00far\u00e1val<\/li>\n\n\n\n<li>N\u00e9h\u00e1ny adatb\u00e1zis-koncepci\u00f3 hom\u00e1lyos (az indexek megvitat\u00e1sa felsz\u00edni szinten zajlott)<\/li>\n\n\n\n<li>Livelockot nem tudtam megmagyar\u00e1zni<\/li>\n\n\n\n<li>A r\u00e9sek v\u00e9g\u00fcl akad\u00e1lyozz\u00e1k a meg\u00e9rt\u00e9st<\/li>\n\n\n\n<li>A kiv\u00e9telkezel\u00e9s saj\u00e1toss\u00e1gainak korl\u00e1tozott ismerete<\/li>\n\n\n\n<li>Zavar a hozz\u00e1f\u00e9r\u00e9s-m\u00f3dos\u00edt\u00f3k k\u00f6r\u00fcl (v\u00e9dett vs. Package Private)<br>A konszenzusos v\u00e9lem\u00e9ny \u2026 az<br>technikai tud\u00e1s\u00e1nak hi\u00e1nyoss\u00e1gai miatt nem alkalmas a Mid-Java fejleszt\u0151i poz\u00edci\u00f3ra.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Profik<br>SZIL\u00c1RD j\u00f3l elmagyar\u00e1zta<br>J\u00f3l elmagyar\u00e1zta az OOP-t<br>Elmagyar\u00e1zott kompoz\u00edci\u00f3 (de kezdetben egy kicsit k\u00fczd\u00f6tt)<br>A gy\u0171jtem\u00e9nyek kiv\u00e1l\u00f3 meg\u00e9rt\u00e9se<br>A list\u00e1k \u00e9s a k\u00e9szletek k\u00f6z\u00f6tti k\u00fcl\u00f6nbs\u00e9g<br>Hashsets<br>Hashmap<br>ConcurrentHashmap<br>Az adatstrukt\u00far\u00e1k \u2013 veremek, sorok, f\u00e1k \u2013 j\u00f3 meg\u00e9rt\u00e9se<br>A jvm architekt\u00fara j\u00f3 ismerete<br>Megmagyar\u00e1zta a p\u00e1rhuzamoss\u00e1got \u00e9s a p\u00e1rhuzamoss\u00e1got, bemutatta a t\u00f6bbsz\u00e1l\u00fa alkalmaz\u00e1sok j\u00f3 ismeret\u00e9t<br>A REST j\u00f3 meg\u00e9rt\u00e9se<br>J\u00f3l elmagyar\u00e1zta a db indexeket<br>Elmagyar\u00e1zta a k\u00fcl\u00f6nb\u00f6z\u0151 t\u00edpus\u00fa csatlakoz\u00e1sokat<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mik azok a SZIL\u00c1RD elvek? Mi az Egys\u00e9ges Felel\u0151ss\u00e9g Elve (SRP): Egy oszt\u00e1lynak csak egy sz\u00f6g\u00f6s\u00e9 lehet.Csak egy oka lehet a v\u00e1g\u00e1sra.Az proizvodz\u00e1g\u00e9 ge\u00e1zere a lejj\u00e1g tesztel\u00e9s, az als\u00f3 csatol\u00e1s \u00e9s a jobb \u00e9s jobb \u00f3sz\u00e9g\u00e9.P\u00e9lda: J\u00e1va public oszt\u00e1ly k\u00f6nyv {priv\u00e1t karekterl\u00e1nc \u00e9s sz\u00f6gek;\/ get String author setterek} Mi az \u00f6z\u00f6tt-z\u00e1rt elv [&hellip;]<\/p>\n","protected":false},"author":65283547,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1017],"tags":[11788,789678139,2549795,196,789678143],"class_list":["post-2308","post","type-post","status-publish","format-standard","hentry","category-java","tag-interju","tag-interju-java-fejlesztovel","tag-java","tag-programozas","tag-kerdeseket-tesz-fel-a-java-fejlesztonek"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4CoHV-Be","jetpack-related-posts":[{"id":2537,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/02\/%d1%82%d1%80%d0%b5%d1%82%d0%b8%d1%8f%d1%82-%d0%b2%d1%81%d0%b5%d0%bb%d0%b5%d0%bd%d1%81%d0%ba%d0%b8-%d1%81%d1%8a%d0%b1%d0%be%d1%80-%d0%b2-%d0%b5%d1%84%d0%b5%d1%81-431-%d0%b3-%d1%85%d1%80%d0%b8%d1%81\/","url_meta":{"origin":2308,"position":0},"title":"A Harmadik Efezusi \u00d6kumenikus Zsinat (431): Alexandriai Cirill \u00e9s Nesztoriosz krisztol\u00f3giai vita, valamint az Istensz\u00fcl\u0151r\u0151l sz\u00f3l\u00f3 tan meger\u0151s\u00edt\u00e9se","author":"vkrastev2014","date":"02.10.2026","format":false,"excerpt":"\u0422\u0440\u0435\u0442\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440 \u0432 \u0415\u0444\u0435\u0441 (431 \u0433.): \u0445\u0440\u0438\u0441\u0442\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u0438\u044f\u0442 \u0441\u043f\u043e\u0440 \u043c\u0435\u0436\u0434\u0443 \u041a\u0438\u0440\u0438\u043b \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0438\u0439\u0441\u043a\u0438 \u0438 \u041d\u0435\u0441\u0442\u043e\u0440\u0438\u0439 \u0438 \u0443\u0442\u0432\u044a\u0440\u0436\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0443\u0447\u0435\u043d\u0438\u0435\u0442\u043e \u0437\u0430 \u0411\u043e\u0433\u043e\u0440\u043e\u0434\u0438\u0446\u0430 \u041d\u0430\u0443\u0447\u043d\u043e-\u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e \u0438 \u0431\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u0441\u043a\u043e \u0438\u0437\u0441\u043b\u0435\u0434\u0432\u0430\u043d\u0435 \u0410\u0432\u0442\u043e\u0440: \u0412\u0435\u043b\u0438\u0441\u043b\u0430\u0432 \u041a\u0440\u044a\u0441\u0442\u0435\u0432\u0422\u0435\u043c\u0430: \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0430 \u0440\u0430\u043d\u043d\u0430\u0442\u0430 \u0426\u044a\u0440\u043a\u0432\u0430 \u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043d\u0430 \u0445\u0440\u0438\u0441\u0442\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u0442\u0430 \u0434\u043e\u0433\u043c\u0430\u0442\u0438\u043a\u0430\u041f\u0435\u0440\u0438\u043e\u0434: 428\u2013451 \u0433.\u041e\u0441\u043d\u043e\u0432\u043d\u043e \u0441\u044a\u0431\u0438\u0442\u0438\u0435: \u0422\u0440\u0435\u0442\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440, \u0415\u0444\u0435\u0441, 431 \u0433. \u0420\u0435\u0437\u044e\u043c\u0435 \u0422\u0440\u0435\u0442\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440, \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u2026","rel":"","context":"In &quot;Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l&quot;","block_context":{"text":"Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":901,"url":"https:\/\/vkrastev1blog.com\/2024\/11\/17\/%d0%ba%d0%be%d0%bb%d0%ba%d0%be-%d0%bf%d1%80%d0%be%d1%82%d0%b5%d0%b8%d0%bd%d0%b8-%d0%b4%d0%b0-%d0%bf%d1%80%d0%b8%d0%b5%d0%bc%d0%b0%d0%bc%d0%b5-%d0%bd%d0%b0-%d0%b4%d0%b5%d0%bd\/","url_meta":{"origin":2308,"position":1},"title":"Mennyi feh\u00e9rj\u00e9t kell enni naponta \u00e9s a feh\u00e9rje\u00e9hez\u00e9s hat\u00e1sai","author":"vkrastev2014","date":"17.11.2024","format":false,"excerpt":"\u041a\u043e\u043b\u043a\u043e \u043f\u0440\u043e\u0442\u0435\u0438\u043d\u0438 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0430\u043c\u0435 \u043d\u0430 \u0434\u0435\u043d \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0438\u0446\u0438\u0442\u0435 \u043e\u0442 \u043f\u0440\u043e\u0442\u0435\u0438\u043d\u043e\u0432 \u0433\u043b\u0430\u0434 \u041f\u0440\u0438\u0435\u043c\u044a\u0442 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u043d\u043e \u043f\u0440\u043e\u0442\u0435\u0438\u043d\u0438 \u043d\u0430 \u0434\u0435\u043d \u0435 \u043e\u0442 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043c\u0430 \u043f\u043e\u0440\u0430\u0434\u0438 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0438: \u0418\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435 \u0438 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u044a\u043a\u0430\u043d\u0438: \u041f\u0440\u043e\u0442\u0435\u0438\u043d\u0438\u0442\u0435 \u0441\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u0433\u0440\u0430\u0434\u0438\u0432\u043d\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u043d\u0430 \u043c\u0443\u0441\u043a\u0443\u043b\u0438\u0442\u0435, \u043a\u043e\u0436\u0430\u0442\u0430, \u043a\u043e\u0441\u0430\u0442\u0430 \u0438 \u043d\u043e\u043a\u0442\u0438\u0442\u0435. \u0422\u0435 \u0441\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438 \u0437\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u044a\u043a\u0430\u043d\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u2026","rel":"","context":"In &quot;Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l&quot;","block_context":{"text":"Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/11\/image-17.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/11\/image-17.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/11\/image-17.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/11\/image-17.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2586,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/02\/%d0%b2%d0%b5%d0%bb%d0%b8%d0%ba%d0%b0%d1%82%d0%b0-%d1%81%d1%85%d0%b8%d0%b7%d0%bc%d0%b0-%d0%be%d1%82-1054-%d0%b3-%d0%b8%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d1%82%d0%b5\/","url_meta":{"origin":2308,"position":2},"title":"Az 1054-es nagy szakad\u00e1s \u2013 az ortodox \u00e9s a r\u00f3mai katolikus egyh\u00e1z sz\u00e9tv\u00e1l\u00e1s\u00e1nak t\u00f6rt\u00e9nelmi okai","author":"vkrastev2014","date":"02.10.2026","format":false,"excerpt":"\u0412\u0435\u043b\u0438\u043a\u0430\u0442\u0430 \u0441\u0445\u0438\u0437\u043c\u0430 \u043e\u0442 1054 \u0433. \u2014 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0442\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0438 \u0437\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u0442\u043e \u043c\u0435\u0436\u0434\u0443 \u041f\u0440\u0430\u0432\u043e\u0441\u043b\u0430\u0432\u043d\u0430\u0442\u0430 \u0438 \u0420\u0438\u043c\u043e\u043a\u0430\u0442\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u0442\u0430 \u0446\u044a\u0440\u043a\u0432\u0430 \u0420\u0435\u0437\u044e\u043c\u0435 \u0412\u0435\u043b\u0438\u043a\u0430\u0442\u0430 \u0441\u0445\u0438\u0437\u043c\u0430 \u043e\u0442 1054 \u0433. \u0435 \u0435\u0434\u043d\u043e \u043e\u0442 \u043d\u0430\u0439-\u0437\u043d\u0430\u0447\u0438\u043c\u0438\u0442\u0435 \u0441\u044a\u0431\u0438\u0442\u0438\u044f \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u043d\u0430 \u0445\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u0442\u0432\u043e\u0442\u043e. \u0422\u044f \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0441\u0435 \u0441\u0432\u044a\u0440\u0437\u0432\u0430 \u0441 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0446\u044a\u0440\u043a\u043e\u0432\u043d\u043e\u0442\u043e \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0420\u0438\u043c\u0441\u043a\u0430\u0442\u0430 \u0446\u044a\u0440\u043a\u0432\u0430 \u043d\u0430 \u0417\u0430\u043f\u0430\u0434 \u0438 \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438\u043d\u043e\u043f\u043e\u043b\u0441\u043a\u0430\u0442\u0430 \u0446\u044a\u0440\u043a\u0432\u0430 \u043d\u0430 \u0418\u0437\u0442\u043e\u043a. \u0421\u044a\u0431\u0438\u0442\u0438\u044f\u0442\u0430\u2026","rel":"","context":"In &quot;Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l&quot;","block_context":{"text":"Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":2663,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/10\/%d1%81%d1%8a%d0%b1%d1%80%d0%b0%d0%bd%d0%b8-%d0%bb%d0%b8%d0%bd%d0%ba%d0%be%d0%b2%d0%b5-%d0%ba%d1%8a%d0%bc-%d0%b4%d0%be%d0%b1%d1%80%d0%b8-%d1%85%d1%80%d0%b8%d1%81%d1%82%d0%b8%d1%8f%d0%bd%d1%81%d0%ba\/","url_meta":{"origin":2308,"position":3},"title":"\u00d6sszegy\u0171jt\u00f6tt linkek j\u00f3 kereszt\u00e9ny filmekhez az internetr\u0151l","author":"vkrastev2014","date":"10.10.2026","format":false,"excerpt":"\u0421\u044a\u0431\u0440\u0430\u043d\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u0435 \u043a\u044a\u043c \u0434\u043e\u0431\u0440\u0438 \u0425\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u043a\u0438 \u0424\u0438\u043b\u043c\u0438 \u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0422\u0443\u043a \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043c \u0441\u043f\u0438\u0441\u044a\u043a \u0441 \u0434\u043e\u0431\u0440\u0438 \u0425\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u043a\u0438 \u0424\u0438\u043b\u043c\u0438 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u0421\u0442\u0430\u0442\u0438\u044f\u0442\u0430 \u0449\u0435 \u0441\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441 \u043d\u043e\u0432\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u0435, \u043d\u0435 \u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u044f. \u0418\u043c\u0430 \u0438 \u0444\u0438\u043b\u043c\u0438 \u0441 \u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438 \u043f\u0440\u0435\u0432\u043e\u0434 \u0438 \u0441 \u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438 \u043d\u043e \u043d\u044f\u043a\u043e\u0438 \u0441\u0430 \u0441\u0430\u043c\u043e \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438 \u0435\u0437\u0438\u043a. \u041f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0442\u0435\u0437\u0438\u2026","rel":"","context":"In &quot;Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l&quot;","block_context":{"text":"Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2532,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/02\/%d0%b2%d1%82%d0%be%d1%80%d0%b8%d1%8f%d1%82-%d0%b2%d1%81%d0%b5%d0%bb%d0%b5%d0%bd%d1%81%d0%ba%d0%b8-%d1%81%d1%8a%d0%b1%d0%be%d1%80-%d0%b2-%d0%ba%d0%be%d0%bd%d1%81%d1%82%d0%b0%d0%bd%d1%82%d0%b8%d0%bd\/","url_meta":{"origin":2308,"position":4},"title":"A m\u00e1sodik konstantin\u00e1polyi \u00f6kumenikus zsinat (381) - a Szentl\u00e9lek tan\u00e1nak meger\u0151s\u00edt\u00e9se","author":"vkrastev2014","date":"02.10.2026","format":false,"excerpt":"\u0412\u0442\u043e\u0440\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440 \u0432 \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438\u043d\u043e\u043f\u043e\u043b (381 \u0433.) \u2013 \u0443\u0442\u0432\u044a\u0440\u0436\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0443\u0447\u0435\u043d\u0438\u0435\u0442\u043e \u0437\u0430 \u0421\u0432\u0435\u0442\u0438\u044f \u0414\u0443\u0445 \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0430 \u0445\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u0442\u0432\u043e\u0442\u043e \u2022 \u0412\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440\u0438 \u2022 IV \u0432\u0435\u043a \u0412\u0442\u043e\u0440\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440, \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d \u043f\u0440\u0435\u0437 381 \u0433. \u0432 \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438\u043d\u043e\u043f\u043e\u043b, \u0435 \u0435\u0434\u043d\u043e \u043e\u0442 \u043d\u0430\u0439-\u0432\u0430\u0436\u043d\u0438\u0442\u0435 \u0441\u044a\u0431\u0438\u0442\u0438\u044f \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u043d\u0430 \u0440\u0430\u043d\u043d\u043e\u0442\u043e \u0445\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u0442\u0432\u043e. \u041d\u0430 \u043d\u0435\u0433\u043e \u0435 \u043f\u043e\u0442\u0432\u044a\u0440\u0434\u0435\u043d\u0430 \u041d\u0438\u043a\u0435\u0439\u0441\u043a\u0430\u0442\u0430 \u0432\u044f\u0440\u0430 \u043e\u0442 325\u2026","rel":"","context":"In &quot;Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l&quot;","block_context":{"text":"Cikkek a Bibli\u00e1nak, valamint a l\u00e9lekr\u0151l \u00e9s a testr\u0151l","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":297,"url":"https:\/\/vkrastev1blog.com\/2024\/05\/15\/artifitial-eye\/","url_meta":{"origin":2308,"position":5},"title":"A mesters\u00e9ges szem \u2013 meddig jutott el a tudom\u00e1ny 2026-ban","author":"vkrastev2014","date":"15.05.2024","format":false,"excerpt":"\u0418\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d\u043e\u0442\u043e \u043e\u043a\u043e \u2013 \u0434\u043e\u043a\u044a\u0434\u0435 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u043b\u0430 \u043d\u0430\u0443\u043a\u0430\u0442\u0430 \u043f\u0440\u0435\u0437 2026 \u0433\u043e\u0434\u0438\u043d\u0430 \u041e\u0442 \u0440\u0435\u0442\u0438\u043d\u0430\u043b\u043d\u0438 \u0438\u043c\u043f\u043b\u0430\u043d\u0442\u0438 \u0434\u043e \u0438\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d\u0430 \u0440\u0435\u0442\u0438\u043d\u0430 \u0438 \u0442\u0440\u0430\u043d\u0441\u043f\u043b\u0430\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 \u0446\u044f\u043b\u043e \u043e\u043a\u043e \u0418\u0434\u0435\u044f\u0442\u0430 \u0437\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d\u043e \u043e\u043a\u043e, \u043a\u043e\u0435\u0442\u043e \u0434\u0430 \u0437\u0430\u043c\u0435\u043d\u0438 \u043d\u0430\u043f\u044a\u043b\u043d\u043e \u0447\u043e\u0432\u0435\u0448\u043a\u043e\u0442\u043e \u043e\u043a\u043e \u0438 \u0434\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u0438 \u0437\u0440\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0441\u043b\u0435\u043f\u0438 \u0445\u043e\u0440\u0430, \u0434\u044a\u043b\u0433\u043e \u0432\u0440\u0435\u043c\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0435\u0448\u0435 \u043f\u0440\u0435\u0434\u0438\u043c\u043d\u043e \u043d\u0430 \u043d\u0430\u0443\u0447\u043d\u0430\u0442\u0430 \u0444\u0430\u043d\u0442\u0430\u0441\u0442\u0438\u043a\u0430. \u041f\u0440\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0434\u0435\u0441\u0435\u0442\u0438\u043b\u0435\u0442\u0438\u044f\u2026","rel":"","context":"In &quot;Mesters\u00e9ges szervek \u2013 meddig jutott a tudom\u00e1ny 2026-ban&quot;","block_context":{"text":"Mesters\u00e9ges szervek \u2013 meddig jutott a tudom\u00e1ny 2026-ban","link":"https:\/\/vkrastev1blog.com\/category\/mesterseges-szervek-meddig-jutott-a-tudomany-2026-ban\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/05\/d0bed0bad0be.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/05\/d0bed0bad0be.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/05\/d0bed0bad0be.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/05\/d0bed0bad0be.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/users\/65283547"}],"replies":[{"embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/comments?post=2308"}],"version-history":[{"count":6,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308\/revisions"}],"predecessor-version":[{"id":2314,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308\/revisions\/2314"}],"wp:attachment":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/media?parent=2308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/categories?post=2308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/tags?post=2308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}