- PHP programozás
- Milyen NAS-t vegyek?
- Milyen program, ami...?
- Aliexpress tapasztalatok
- 3 évig még biztosan nem rendelhetünk Xiaomi EV-t
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Windows 11
- Mesterséges Intelligencia topik
- Microsoft Excel topic
- Van, amit nehéz lett megtalálni a Google keresőjével
-
IT café
Új hozzászólás Aktív témák
-
ZéZé@PH
aktív tag
Szia!
Ezek a vizsgák többnyire arra mennek rá, hogy mennyire ismered a nyelv sajátosságait.
Java-nal pl előszeretettel kérdezik a static, final, finalize használatát, öröklést, melyik objektum mukor jön létre stb. Az egyetemi vizsgafeladatok szerintem jó kiindulási alap a gyakorlásra.''Elménk nem megtöltésre váró edény, hanem lángra lobbantandó tűz!'' Plutarkosz
-
cucka
addikt
.net, java - Ezek mögött kb. hasonló az elgondolás, bármelyikkel érdemes lehet foglalkozni, munkalehetőség van bőven.
c, c++ - Ha mérnök vonalon szeretnél mozogni, akkor ideális választás, munkalehetőség is van (elsősorban c++)
php - Előnye, hogy nagyon gyorsan lehet releváns tudásra szert tenni. Hátránya ugyanez. Szarul fizető php-s munkahelyet vagy projekteket tömegével lehet találni, komolyabb cégeknél viszont ritkán használják.
Python - Ritkán keresnek Python programozót, de kevesen is értenek hozzá. Jelenleg pythonban dolgozom, az általam látott legkirályabb scriptnyelv.Algoritmusok: az igazi klasszikus a Knuth féle "A számítógép-programozás művészete", de ehelyett a sokkal korszerűbb Cormen-Leiserson-Rivest féle Algoritmusok könyvet javaslom. Azt azért finoman hozzátenném, hogy ez egy meglehetősen tömény 900 oldalas könyv, viszont jó és tartalmas. Ha csak egy-egy algoritmus működésére van szükséged, akkor az angol nyelvű wikipédián mindent megtalálsz.
[ Szerkesztve ]
-
cucka
addikt
"Cormen-Leiserson-Rivest féle Algoritmusok könyvet javaslom" - kezdő szintnek is ajánlod?
A könyvben meglepő módon egy csomó algoritmus van, elmagyarázza, hogy mit tudnak és hogyan működnek. Ez alapján a kérdésed értelmezhetetlen. (A quicksort az quicksort, kezdő és haladó szinten is) -
modder
aktív tag
Helló,
Az Indigo a legújabb Eclipse kódneve, eclipse.org-ról legkönnyebben azt tudod letölteni
Mivel a letöltések nem telepítőfájlok, hanem tömörített mappák, nincs szükség installálásra. Ez jó abból a szempontból, hogy megkönnyíti különböző verziók egyidejű jelenlétét is a rendszereden.
Én külön "telepítést" használok minden egyes nyelvhez, hogy a sok modul ne lassítsa be teljesen az IDE-t.
Itt van Java EE és Java SE-hez külön ide: http://www.eclipse.org/downloads/
PHP-hoz letöltöd pl az Eclipse classic-ot, azután eszerint jársz el: http://www.eclipse.org/downloads/php_package.php
Python-hoz is szerintem Eclipse classic, és ha szerencséd van, van fönt a neten valami modul, de biztosan találsz valami Python development in eclipse tutorialt a neten
-
Jim Tonic
nagyúr
-
Jim Tonic
nagyúr
Nem tudom, jó ötlet-e.
Amúgy a kódod hatékonyságát fogják nézni. Hány sorban tudod megírni ugyanazt, és milyen gyorsan fut majd. Figyelj oda a felesleges változókra, illetve azok megfelelő definiálására (ebbe sokan beleesnek). Én nem ma kezdtem, de máig találok módot a sorok csökkentésére, van, hogy le is felezem. Nem tudom, ezt pont egy pályakezdőtől kell-e elvárni. Vagyis a lényeg, spórolj a memóriával, a procival. Ne legyenek felesleges iterációk sem.
[ Szerkesztve ]
Alcohol & calculus don't mix. Never drink & derive.
-
amargo
addikt
"Én sosem használtam pszeudó kódot, egyetemen se mutatták még."
Ne haragudj, de valamilyen programozáshoz közeli egyetemen voltál? Ha igen, melyiken?Szerk:
Pszeudokód esetén is kell optimalizálásról beszélni, de nyilván a logikája a lényeg és mit miért csináltál.[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Inkább tanítási szándékkal írom.
Azt tudod, hogy a postfix-es forma miért működik így? Mert az egész feladatnak gyanítom ez a lényege. Meg is kell tudni magyarázni, hogy miért ez a működése.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Szia!
Erre van szükséged - lengyel forma a neve.
A pdf-ben ott vannak a stukik, az algoritmus nevét ismerve már rengeteg implementációt találsz a neten, de érdemes lenne megírnod a pdf birtokában.
[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
WonderCSabo
félisten
A kiértékelés szvsz sokkal egyszerűbb, mint a lengyelformára hozás. A Wikipédián le van írva az egész.
-
doc
nagyúr
hat, szep kodot 'tanito' konyvet nem tudok, de ha olvasol programozassal komolyabban foglalkozo konyveket, az ottani forraskodokat erdemes nezegetni
illetve ha nem is szep kodokra, de megfelelo gondolkodasmodra valamilyen szinten tanitanak a Design patternekkel foglalkozo konyvek, azt mindenkepp erdemes megnezni -
amargo
addikt
Nehéz kérdés, hogy mitől fog valaki szép kódot írni. Szerintem nincs erre recept, de persze a coding standerd, a c++/c# hatékonyant is érdemes elolvasni és idővel kialakul a további pattenr-nek olvasásával is. Továbbá a VS is segít ebben a code analysis-el.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
bucsupeti
senior tag
Nemrégiben jelent meg egy könyv, aminek a címe: Tiszta kód
Érdem es megnézni, bár olvastam azt is hogy a magyar kiadásban épp a kódok tördelése nem sikerült és így nem túl "tiszták". Talán érdemes az angolnyelvű kiadást megnézni.
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
gygabor88
tag
Ket alapmu van a temaban:
Clean code, ahogy azt mar fentebb is emlitettek.
Code completeValamint altalaban a test-driven development rakenyszerit, hogy eleve normalis kodot irj, kulonben nem tudsz unit tesztet irni hozza vagy csak nagyon nehezen. Ehhez nem tudok ajanlani bevezeto konyvet, de a The clean coder reszben erinti a temat (ezt meg nem olvastam, de mar ajanlottak).
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
A lényegre a többiek már reagáltak. Még annyit, hogy a rekurziótól nem feltétlenül hozzá nem értésből, vagy gonoszságból "féltenek", hanem sokszor hatékonysági szempontok miatt. A Fibonacci-számok kiszámoltatását is meg lehet oldani többféleképpen, a "klasszikus", rövid kódot eredményező rekurzív számolás viszont mégis kevésbé hatékony, mint az iteratív, abban az értelemben, hogy többször számoltatsz ki már korábban is kiszámolt műveleteket.
De most látom, Wikipédián röviden és tömören összefoglalják erről a lényeget:
"A rekurzív programozás hátránya a nagy erőforrásigény, különösen rosszul szervezett, vagy kaszkádszerű rekurziók esetén, ugyanis ekkor újra és újra ki kell számítani ugyanazt. A hívás akár meg is szakadhat, vagy abnormális eredmény keletkezhet az erőforrással kapcsolatos gondok miatt. Egyes esetekben holtpontra is juthat a program. Ugyanakkor ez a módszer hatékony is lehet, amit a funkcionális programozás is mutat, ahol az iterációkat rekurzív függvényhívással oldják meg."Nem attól kell tehát eldobnod az agyadat, ha a tanáraid felhívják a figyelmedet arra, hogy többféle megoldás is létezik, és mielőtt a rekurzív megoldáshoz folyamodnál, gondold át még egyszer, biztos jó lesz-e az úgy, nem eredményez-e túl nagy erőforrásigényt.
A hozzá nem értés, a rég elavult ismeretek átadása, ódivatú nyelvek, fejlesztőeszközök erőltetése viszont sajnos a mai napig jellemző tendencia a középiskolákban és egyetemeken is, de szerencsére sok kivétel akad. Ettől függetlenül nem igaz nagy általánosságban, hogy "az egyetem rákényszerít" csúnya kód írására...
Ja, és még egy nagyon fontos tényező: NEM attól lesz szép, áttekinthető és egyben hatékony egy kód, hogy csupán rövid, pársoros utasításokból áll!!!
Nagyon könnyen lehet 20 soros szép kódot írni egy rövid 5 soros összegányolt szarral szemben is.[ Szerkesztve ]
Sk8erPeter
-
Gyuri16
senior tag
konyorgom szalljunk mar le errol az "egyetem nem azt tanitja, amit majd a ceg akar" temarol. egyetemnek nem az a celja, hogy megtanitson egypar epp divatos technologiat. mihez kezdesz vele 5-10-20 ev mulva? olyan tudast kell hogy adjon amire nyugdijig epithetsz, es aktualis marad.
az hogy mi a velemenyed a tanarokrol a te dolgod, de ha tenyleg objektiven rosszak erdemes tenni valamit. egyreszt el lehet menni a vezetoseghez panaszkodni (ha tobb embernek ez a velemenye), ha pedig rossz a helyzet mas iskolaba menni. nalunk elofordul olyan, aki valamiert nem szimpatikus, de a tobbseg nagyon okos es tapasztalt ember. masik dolog, hogy gyakran csak azok szidjak a tanarokat, akiknek gondot okoz az adott tantargy.
Nem vagyok egoista, csak uborkagyalu!
-
amargo
addikt
Lehet csak átmeneti volt, itt C bug-ok vannak.
.net-es
De elég sokat lehet találni. A megfelelő részt írd át.Egyetem/főiskola kérdés:
Meg kell néznie a leendő diáknak, hogy mivel akar majd foglalkozni és oda menni tanulni, mert óriási eltérések vannak. Több kollégám, ismerőseim az ország különböző részein tanultak, bizony nagyon sokrétű az oktatás.
Nálunk sokan azonos intézményből, azonos szakról kerültek ki, könnyebben megértjük egymást, mert nagyon hasonló oktatást kaptunk. Egy HR-nek ez is szempont lehet. Bárki megtanulhat nagyon jól programozni attól függetlenül, hogy hol végzett vagy hol nem végzett.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
Karma
félisten
Szerintem a probléma, amit leírsz, nem a creational design patternek témakörébe tartozik. Amit leírtál, mint absztrakt és konkrét osztályok nem factoryk és productok. Az a különbség, hogy ezek mind adatjellegű osztályok, nincs közöttük "ő hozza létre őt" logikai kapcsolat, ergo nem gyárak.
Úgy hiszem, hogy a problémának két része van, ami megkavarhatott.
1) A szakkör példányokat (a maguk hierarchiájában) el kell tárolnod a MongoDB-ben. Itt azért befigyel, hogy az SQL táblának semmi köze nincs a Mongo kollekciójához, sokkal könnyebb dolgod van. Szerintem egy szakkör példány = 1 dokumentum a Szakkörök kollekcióban, és olyan tulajdonságai vannak, ami az adott típushoz tartozik. Ne gondolkodj előre megkötött oszlopokkal rendelkező táblákban!
2) Létre kell hoznod a különböző típusú szakköröket, figyelembe véve a különböző kombinációkat, mert ezzel más és más tulajdonságokat lehet beállítani. Itt jön be az, hogy szerintem a felvázolt osztályhierarchia nem stimmel.
A legegyszerűbb felállás, hogy adott a szakkör ősosztály, amiben a közös mezők találhatóak (beleértve a szakkör nyelvét), és ennek leszármazottai a ConcreteFactory/AbstractProduct alatt felsoroltak (ahogy szükséges). És ilyen leszármazott osztályokat kell létrehoznod akkor, amikor a felhasználó felvesz egy új szakkört.
Na most a megfelelő osztály kiválasztása és példányosítása már factory probléma. Az előző hierarchia mellett van egy szakkörgyár, ami valamilyen kulcs alapján létrehozza az új példányt. Ehhez a Factory method minta is elég. A gyár implementálásához meg szükséged van valami támpontra, hogy milyen szakköröket lehet létrehozni.
Most ennyire van (nincs) időm, remélem volt valami értelme
Kritika természetesen jöhet.UI: természetesen a hierarchia mind a modell rétegbe kell hogy kerüljön. A gyár határeset. De ez nem olyan kritikus kérdés szvsz.
“All nothings are not equal.”
-
Karma
félisten
Őszintén? Sehova. Esetleg a Fowler-féle enterprise minták valamelyikébe, azokat nem tudom fejből.
Az előző hozzászólásomból kiemelném ismét, hogy a felsorolt osztályok egyike sem gyár. Sőt, az eddigiek alapján sok viselkedés nem is tartozik hozzájuk, csak adat, aminek adsz egy szerkezetet (magadnak meg fejfájást).
Apropó Builder, annak is megvan a maga helye, de nem ez. Célszerű elolvasni a minta által megoldott problémát (mindig ott van a definíció környékén), hangsúly most a bonyolult objektum többlépéses inicializációján. Példának meg javaslom a GsonBuilder osztályt a GSON libraryben, látványos.
Minta tekintetében továbbra is Factory Methodra szavazok (az Abstract változatára nincs szükség, mivel maga a factory csak egyféleképpen létezik), de ha extrémebbre veszed a figurát, használd a Prototype-ot.
Az említett támpont például egy enum vagy egy string, ami egyértelműen azonosít egy szakköraltípust, és ez alapján hozd létre a példányt/keresd elő a másolandó prototípust. Igen, mindkét esetben (ezekkel a mintákkal) kőbe kell vésned a támogatott típusokat, vagy extra köröket futnod egy reflexiós, classloaderes vagy komponensalapú dinamikus körítéssel.
Vagy.
Fogd meg teljesen más oldalról a problémát már a modell szintjén!
Igazából logika szempontjából két szakköraltípus között semmi különbség nincs, csak mások a tulajdonságai. Megfoghatod meta irányból a problémát: egy szakkör osztály, a közös fix jellemzők tagváltozók, valamint egy Map, amiben az extra tulajdonságokat tárolod. Ha saját osztályt készítesz ezeknek a propertyknek, akkor a "szükséges eszközök listája" jellegű dolgokat például a Composite mintával tudod megoldani. Jé, minta.
A különböző szakkörtípusok sémává válnak, ami leírja a propertyket. A sémákat külön tudod tárolni, újakat létrehozni, stb. a Java kódhoz nyúlás nélkül. A séma alapján legyártani az objektumot nem nagy kaland, prototípus és factory minta szerint se.
Ez a metamegközelítés egyébként megjelenítésnél is hasznos, hiszen nem tart semmiből végigiterálni a szakkör propertyjein
“All nothings are not equal.”
-
Karma
félisten
Áh, a séma szót csak úgy kitaláltam, nincs köze a Mongóhoz. A DB szempontjából ezek is objektumok, bennük egy név-típus listával (pl.).
Hirtelen nem tudok szakirodalmat, sőt azt se, hogy erre hasonlító minta van-e. Majd felütöm a PoEAA-t, ha hazaértem, hátha. Valamint még filózok, hogy tudnám leírni az egész gondolatmenetet egyszerűbben.
Közben azért kérném a többiek véleményét az egészről
[ Szerkesztve ]
“All nothings are not equal.”
-
cucka
addikt
Abstract factory helyett szerintem a sima factory is teljesen megfelelő.
A különböző szakköreidet könnyű hierarchiába rendezni, tehát öröklődéssel megoldhatod az egészet, nincs szükség absztrakt osztályokra.A factory-d meg lényegében egy függvény, ami Szakkör objektumokkal tér vissza, hogy pontosan milyen osztályúakkal, azt az ő dolga kitalálni a bemenő paraméterekből.
Esetleg csinálhatsz egy abstract factory-t, ahol a Szakkör osztályban lesz egy statikus függvény, ami saját maga példányaival tér vissza. Ezt megöröklik majd jól a leszármazottak is, tehát bármelyik szakkör osztályod fog tudni példányokat gyártani saját magából.
-
Karma
félisten
Cloud PaaS vagy IaaS talán? Vagy konkrét eszközt keresel?
Egy egész jó összefoglaló van sok szolgáltatóról a DZone-on (regisztráció kell), lehet köztük van.
Ha kapásból ki akarsz próbálni valami általánost, az OpenShift egy példa az ingyenes megoldásra
[ Szerkesztve ]
“All nothings are not equal.”
-
martonx
veterán
Figyi, nem bántásként, de amilyen alapvető hiányosságaid vannak, én azt mondom, hogy szard le a dizájn patterneket. Tanulj meg programozni, és ha az már megy, és minden szuper, akkor majd el lehet azon kezdeni gondolkozni, hogy ilyen-olyan kódszervezési gyakorlatokkal, meg lehetett volna-e jobban de inkább csak szebben oldani az adott feladatot.
Én kérek elnézést!
-
Karma
félisten
Most már Visual Studio Online-nak hívják, szerintem ezért nem találtad.
[ Szerkesztve ]
“All nothings are not equal.”
-
martonx
veterán
"3. Context Pattern helyett van más alternativa? Kellene egy olyan objektum, ami az alkalmazás életciklusa alatt él, és olyan mint a Web-es környezetben ismert Session, ahova adaokat lehet bepakolni, amit az összes réteg elér."
Ezt úgy hívják memória és ugyan nem tudom milyen nyelvről beszélünk, de vannak globális, statikus meg ilyesmi változók, amiknek pont az a szerepük, hogy mindenhonnan elérhetőek legyenek.
Én kérek elnézést!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5
- Bomba ár! HP EliteBook 830 G6 - i7-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!