Új hozzászólás Aktív témák
-
proci985
MODERÁTOR
válasz
szervizeszso #8708 üzenetére
simán procedurális logikával (loopok és if/else elágazások).
-
proci985
MODERÁTOR
válasz
szervizeszso #8701 üzenetére
melyik része nem megy?
alapvetően én felosztanám a feladatot kisebb egységekre.
kell a szokásos GUI rész, ezt lehet generáltatni. ha nem akarod nagyon túlbonyolítani a struktúrális designt, akkor a GUI és controller class összevonható (én ezt csinálnám, ronda lesz és a cohesion része nem a legszebb, de scope szempontból egyszerűbb). Ezt a classt nevezzük Controllernek.
ha nem kell threaded Person, akkor a controller classba simán raksz egy simulation() funciót egy loopal, ami végighívja mindenkin a meccsnézést annyiszor, ahányan éppen vannak. én ezt úgy csinálnám, hogy fognék egy ArrayList<Married> marriedPairst, amiből a simulation() random kiválasztja a párokat egy temporáris (funkcion scope) tárolóba szintén Married typevel, aztán szépen végighívod a watchFootball() funkciót az összes elemen a temp tárolóban loopban, amit beraksz még egy loopba hogy elégszer nézzék a meccset.
A Marriedben le kell tárolnod egy Wife és egy Man típusú objectet. Ezeket a párokat célszerű még a Controller constructorjában létrehozni (a focicsapatokkal együtt). A Wife és a Mant lehetne inheritelni egy Personból, de mivel a Married eleve egy eléggé domain specifikus funkció amibe szvsz felesleges túlbonyolítás berakni egy generic containert, és mivel az nem kell, ahogy nézem más miatt sincs szükség ezzel a call/information struktúrával inheritre.
Aztán kellenek még a focicsapatok. Én lusta lennék és előre legenerálnám egy listába (Controller constructor, megint), az összes létező lehetséges meccset, majd ezt kalapként használva kihúznék egy elemet amit utána ki lehetne törölni a listából (ha csak egyszer játszhatnak). Meg ide még kell pár funkció.
Aztán kell még a GUIbe egy lista ami lehívja az összes Man és Wifet a Married párokból (lusta megoldás: simán a marriedPairs containerből a married.getWife().getAmikell() loopolva elvileg tökéletes lesz és akkor tényleg nem kell szórakoznod a Person inheritancevel ha ez nem kritikus, sőt a Serializable is max fileIO miatt kell majd), meg kell egy lista a lefutott meccsekkel és az eredményekkel, mondjuk ez meg lehet egy Match class eleme.
Ja félig angolul, de a kulcsszavakat ha nem érted úgy vissza tudod követni pl stackoverflowon vagy a ref manualban.
-
proci985
MODERÁTOR
válasz
ToMmY_hun #8687 üzenetére
Azert vannak ennek elonyei. Jelenleg egy projekten Java8at hasznalok egy feladatra, viszont kulso processkent C programokat hivogatok. A C programok egy resze felig obskurus es a 80as evekben irtak oket. Hat igy a 100soros C kodnal eroteljesen anyazok, hogy:
- mit ir ki
- mi a feneert van hardcodeolva pl fix 13ra az osszes forloop?Termeszetesen hosszra vannak optimizalva szoval egy 100soros programhoz kepest eleg sok mindent csinalnak. Dokumentacio meg izebize.
Ugyanugy, en meg emlekszem a Turbo Pascalra meg a Borland Cre mint fejlesztoi kornyezetekre, valoszinuleg sikitofraszt kapnek ha az ido nagyreszeben abban kene dolgoznom. Meg internet nelkul. De minimum erezhetoen csokkenne a produktivitasom.
-
proci985
MODERÁTOR
ha veletlenul kulfoldieknek kene eladni a kodbazist / felvasarlas van akkor lehet az egeszre refactort tolni. ha fel kell venni kulfoldi kollegat aki nem tud magyarul mert kell a kompetencia akkor megint baj van. ahol dolgozom jelenleg majdnem 50% a kulfoldiek aranya, meetingeken az angol gyakorlatilag de facto hivatalos nyelvve lepett elo, kaveszunet valtozo (helyi nyelvet jellemzoen a frissen atrekrutaltak meg nem tudjak).
plusz egy nyelven jellemzoen egyszerubb egyszerre gondolkodni, mint bekeverni meg egyet.
emellett jellemzoen referencek es forumok mind angolul vannak, tehat informaciokereses miatt is kritikus az angol.
-
proci985
MODERÁTOR
válasz
smallmer #8673 üzenetére
nem párhuzamosan futnak a szálaim, mert a run metódusom törzse szinkronizált blokkban van
igen, ez az amit mondtam korabban.akkor szerintem most nyisd ki az eloadast / konyvet es nezd vegig a potencialis szinkronizacios mechanizmusokat.
Javaban van egy csomo beepitett megoldas a problemara, pl explicit mutual exclusion, lock, monitor. ha az egyenleg static es eleg ha egyszerre egy thread tartja a resourcet akkor van keyword szintu megoldas is.
de tenyleg nezd meg az elmeleti hatteret mert anelkul nem fogod megerteni.
Gyuri16: gondolom elso beadas a targybol es nem akarjak komplikalni OOval a helyzetet.
-
proci985
MODERÁTOR
-
proci985
MODERÁTOR
válasz
Gyuri16 #8662 üzenetére
minden szalnak kolon egyenlege van, nem ugyanahhoz a valtozohoz fernek hozza
ez nem tul szep es nem is effektiv: synchronized (Szalak.class)a tanár helyében én emiatt simán visszadobnám az egészet külön-külön is (nincs jelentősége a szinkronizációnak / a kritikus szakaszok védelme nem megfelelő), nem hogy a kettőt kombinálva. főleg javában, ahol van kismillió lehetőség szinkronizációra.
és akkor arról még nem beszéltünk, hogy miért használna bárki is valaha magyar változóneveket (bár ez mondjuk a feladat szövegétől függően még nem lesz explicit újrabeadás).
-
proci985
MODERÁTOR
-
proci985
MODERÁTOR
használ valaki virtuális gépben (ubuntu@VMware) eclipset? hány szálat/mennyi memóriát érdemes neki adni?
fizikailag négy magom és 8 giga ramom van, jelenleg egy mag és giga ram dedikálással. szerintem két (adott esetben három) magot és olyan 2-4giga dedikáltat tudok neki adni, ha kell (win7 x64 alapon van a rendszer).
van valakinek tapasztalata hasonló környezettel? (ennek a megoldásnak az előnye, hogy a teljes fejlesztői környezet felrakható egy pendrivera és hurcolható)
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Autószerelők, autószerelés
- Azonnali fotós kérdések órája
- 3D nyomtatás
- Győr és környéke adok-veszek-beszélgetek
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- PlayStation 4
- Vezetékes FÜLhallgatók
- Elemlámpa, zseblámpa
- Luck Dragon: Asszociációs játék. :)
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- További aktív témák...
- 127 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 (ELKELT)
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- BESZÁMÍTÁS! Gigabyte H610M i5 13400F 16GB DDR4 512GB SSD RX 6700XT 12GB DeepCool MATREXX 40 650W
- AKCÓÓÓ!!! Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló
- BESZÁMÍTÁS! ASUS ROG CROSSHAIR VI EXTREME alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest