Milyen vezetők a milliárdos techmogulok?

Bill Gates, Mark Zuckerberg, Larry Page, Jeff Bezos, Steve Jobs, Elon Musk, Zhang Yiming neve mindenkinek ismerős. Biztosan mindenki társítana hozzájuk rögtön cégnevet, projektet, küldetést, akár többet is. Milyen hard- és soft skill birtokában vannak a milliárdos techmogulok? Mi a szakterületük, azon belül mivel foglalkoznak? Milyen vezetők? Hogyan lehet velük kooperálni? Honnan származik igen erős küldetéstudatuk? Munkájukon kívül mivel foglalkoznak még? Vannak-e közöttük közös pontok, tulajdonságok, konfliktusok? Mitől sikeresek, eredményesek?

A Forbes üzleti magazin évről-évre megjelenteti a leggazdagabb emberek listáját. Közülük számos üzletember számítástechnikával, IT technológiával, szoftverfejlesztéssel, informati­kával foglalkozott/foglalkozik. Közülük válogattam ebben a blog bejegyzésben:

Mindhárom elemzett nagy vezető általában „nehéz ember”. A szakterületükön belül kiválóak, értenek ahhoz, mit csinálnak. Ez sokszor technológiai hard skilleket jelent. A vezetéshez viszont sok-sok soft skill is szükséges. Gyakran autokratikus stílust képviselnek, azaz tekintélyi, hatalmi eszközökkel, céltudatosan, fenyegetéssel érik el nagy céljaikat, amik erősen motiválják, vezérlik őket. A beosztottakra többnyire úgy gondolnak, mint kizsákmá­nyolható lehetőség, akik rendelkeznek a szükséges tapasztalatokkal, amire támaszkodnak a vezetők, de ezen túl a beosztottak emberek is (érzésekkel, gondolatokkal, véleménnyel), ami ezeknek a vezetőknek kevésbé vagy egyáltalán nem számít. Egy-egy projekt koordinálásában azonban mindegyikük kiváló, akár többféle szerepben is. Ez többnyire segít „elviselni őket”, hiszen meggyőző a szakértelmük.


Bill Gates

Bill Gates (1955-) amerikai üzletember, szoftverfejlesztő, feltaláló, filantróp, a világ egyik leggazdagabb embere. Életének mérföldkövei:

Szülei sikeres üzletemberek voltak. Érdeklődési területének meg­felelően a Lakeside középiskolába járt (1968-1973), mert ott kimagasló volt a számítás­tudomány specializáció. Felsőoktatási tanulmányait a Harvardon (1973-1975) matematika szakon kezdte, de 1976-ban halasztott és nem szerzett diplomát.

Gates első vállalkozása a Paul Allennel közösen alapított Traf-O-Data, amely a seattle-i utakon végzett forgalommérés adatait dolgozta fel mikroszámítógép segítségével. Az IT-ban hírnevét elsősorban a grafikus interfész forradalmasítása során végzett tevékenységéért szerezte. A Microsoft vezérigazgatója 1975-től.

A grafikus interfész ötletének eredete a ’60-as évekig nyúlik vissza, de sokáig laboratóriu­mokban, a nagyközönségtől elzártan maradt a koncepció. Az Apple alapító-tulajdonosának, Steve Jobsnak felkeltette az érdeklődését a Xerox PARC kutatólaboratóriumban folyó munka, illetve számítógépük, a Xerox Star, és az Apple elkezdett dolgozni a grafikus interfészen. Az Apple és a Microsoft ebben az időben szoros partneri viszonyban álltak, a Microsoft különféle szoftvereket fejlesztett a konstruktőr számára. A kapcsolatnak köszönhetően Gates tudomást szerzett a megvalósítási fázisba lépett tervről. Ő maga is elkötelezettje volt a grafikus felületnek. Steve Jobs előrelátóan olyan megállapodást kötött a Microsofttal, amelyben ki kellett jelenteniük, hogy 1983 decemberéig nem szállítanak grafikus felhasználói felületet az MS-DOS-hoz. Gates elhatározta, hogy az MS-DOS-hoz is kifejleszt egy grafikus képernyőt, ez lett a későbbi Windows. Amint ez Jobs tudomására jutott, lopással és ipari kémkedéssel vádolta meg Gatest, de akkor még sikerült elsimítani a konfliktust, mivel a Windows még csak ötlet szintjén létezett. 1984. január 23-án bemutatták az Apple Macintosht, amely óriási sikert aratott. A bemutatón Gates is részt vett, és kifejezte szándékát minél több Microsoft alkal­mazás Macintoshra történő adaptálására. A Microsoft következő generációs operációs rend­szere IBM-kompatibilis rendszerekre a grafikus felülettel rendelkező Windows 1.0 lett, amely kereskedelmi forgalomba majdnem két év késéssel, 1985. november 20-án került.

Bill Gates és felesége, Melinda 2000-ben hozta létre a Bill és Melinda Gates alapítványt. Az eleinte számítástechnikai irányultságú tervek (interneten elérhető nyilvános könyvtárak létrehozása) után a házaspár figyelme a szegény gyerekek támogatása és az orvosi célú kutatások felé fordult. Célul tűzték ki a gyermekhalandóság csökkentését, valamint az Egyesült Államokban beindítottak egy lakhatási programot hajléktalan családok számára. 2003-ban Indiában AIDS-ellenes kutatásokat támogatott az alapítvány, illetve malária-ellenes vakcinák kifejlesztésére fordítottak 258 millió dollárt. E két betegség ellen a szervezet ezt követően is kitartóan küzdött. 2006-ban az alapítvány három alappillérre helyezte tevékenységét, melyek a globális egészségügy, a globális fejlődés, illetve az Egyesült Államokban tapasztalható munkanélküliség csökkentése új munkahelyek teremtésével. Az alapítvány projektjei az évek során folyamatosan bővültek a fenntartható mezőgazdasági fejlődés, a természeti katasztró­fák elleni gyors reagálás, az éhínség leküzdése, a gyermekbénulás elleni harc, védőoltások és más hasonló témákkal, mely projektek elsősorban a fejlődő világ országaira fókuszáltak. Bill Gates 2012-ig 28 milliárd dollárt költött jótékonyságra. 2008-ban felhagyott a Microsoft-beli napi munkával, hogy minél több időt tudjon jótékonysági tevékenységére fordítani.

Bill Gates 2005. március 2-án lovagi címet kapott II. Erzsébet brit királynőtől, elsősorban jótékonysági tevékenységének elismeréseként. Világszerte hírnévre tett szert.

Bill Gates legfontosabb vezetői tulajdonságai voltak

  • Céltudatos
    Gates kezdettől fogva arra fókuszált, amihez a legjobban – és mindenki másnál jobban – értett: a szoftverre. Ezt kemény munkával a lehető legmagasabb szintre tökéletesítette. Évtizedeken át képes volt kitartóan követni célját, bármilyen akadályok kerültek útjába. Céltudatossága megmutatkozik jótékonysági tevékenységében is.
  • Elkötelezett
    Az volt az álma, hogy minden háztartásban legyen számítógép. Ezt a célt gyakorlatias módon, lépésenként haladva kívánta megvalósítani. Vezetői gyakorlatában azt az elvet követte, hogy „Ahelyett, hogy megpróbálnánk egyből a csúcsra jutni, egyszerre csak egy lépést teszünk”.
  • A változásokból előnyt kovácsolt
    „Az egyetlen biztos dolog a változás, és minél jobban tudunk alkalmazkodni hozzá, annál sikeresebbek lehetünk.” Bill Gates tisztában volt azzal, hogy az üzleti életben mindig vannak fluktuációk és változások, amelyekhez a siker elérése érdekében alkalmazkodni kell. Ezzel a hozzáállással egy olyan vállalatot hozott létre, amely túlélte a nehézségeket, válságokat, és sikerrel jött ki belőlük.
  • Szenvedélyes, mindent beleadva dolgozott
    Gates hitt abban, hogy „Ha valamit érdemes csinálni, akkor azt érdemes a lehető legjobban csinálni”. Óriási lelkesedéssel és szeretettel csinált mindent. Gates szerint rendkívül fontos, hogy mindent, amit az ember elvállal, a tőle telhető legnagyobb odaadással végezze.
  • Önképző
    Annak ellenére, hogy abbahagyta a felsőoktatást és tisztában volt a formális oktatás korlátaival, Gates számára a tanulás egy élethosszig tartó folyamatot jelent, és vezetőként is ezt a meggyőződést adta át az embereinek. Folyamatosan tanult, képezte magát, fejlesztette a kommunikációs és társas készségeit, tanulta a nyilvános beszéd fortélyait. Emellett rengeteget írt és olvasott. Többet, mint amennyit legtöbbünk valaha is fog egész életében. A tudás – ahogy Gates vallja – korlátlan, az emberben pedig bölcsességet és alázatot kell, hogy eredményezzen felsőbbrendűség helyett.
  • Jótékonykodó
    Bill Gates a világ egyik leggazdagabb embere, azt is elmondhatjuk róla, hogy ő az egyik azok közül, akik jótékonysági munkájuk által a legtöbbet adják vissza az emberiségnek, lásd fenn: Bill és Melinda Gates Alapítvány.
  • Jövőkép-orientált
    A Microsoft azért tudta legyőzni versenytársait, mert Gates mindig, folyamatosan egyre nagyobb és nagyobb jövőképet vizionált.

Bill Gates ismert gyenge pontjai voltak vezetőként

  • Konfliktuskerülő
    Gates nem szeretett konfrontálódni. Gyakran amennyire csak lehetett, kerülte a konfliktusokat, mert kényelmetlenül érezte magát ezekben a helyzetekben.
  • Arrogáns
    Amikor valaki mélyreható tudással rendelkezik egy témában, amit szenvedéllyel kutat, könnyen átcsúszhat a túlzott magabiztosságból az arroganciába. Gates önérvényesítő volt, nyíltan kinyilvánította az általa helyesnek vélt elképzeléseket, ötleteket. Ha úgy érezte, hogy az ő ötlete a legjobb, akkor elvárta, hogy azt kövessék. Amennyiben kiderült, hogy az adott elképzelés mégsem működik, Gates könnyen arrogánssá vált, amivel megnehezítette mások munkáját.

Steve Jobs

Steve Jobs (1955-2011) amerikai feltaláló és üzletember volt. Az Apple multinacionális IT vállalat társalapítója, egykori elnök-vezérigazgatója. Jobs irányítása alatt fejlesztette ki a cég egyik fő termékét, a kultikus Macintosh számítógépet, valamint az iPod médialejátszót, az iPhone okostelefont és az iPad táblagépet. Életének mérföldkövei:

A fiatal Steve Jobsra nagy hatással volt apja ezermester-tudása és tökéletességre való törek­vése. Jobs az iskolai éveket unalmasnak találta, később pedig beilleszkedési zavarai voltak. Több csínytevése volt, de örökbefogadó szülei laza fegyelemmel nevelték. A Life magazin egyik éhező gyerekeket mutató címlapjának hatására megingott a bizalma a keresztény vallásban. Jobs a Homestead középiskolában tanult, ahol kiemelten foglalkozott elektronikával. Kipró­bálta a marihuánát és az LSD-t is. Különc volt megjelenési és étkezési szokásait illetően. Egy elektronikai témájú órán ismerkedett meg az öt évvel idősebb, zseniális Steve Wozniakkal. Habár a szintén némileg aszociális Wozniak jelleme különbözött Jobsétól, mégis összebarát­koztak. Később együtt alapították meg az Apple vállalatot.

Vegyük sorra legfontosabb találmányait, amelyek elkészültében többféle szerepet is betöltött (technológiai innovátor, tervező, termékmenedzser, folyamatmenedzser, értékesítő):

  • Apple I., 1975: korának megfelelően „teljesen összeszerelt” számítógép volt, de tápegységgel, monitorral, burkolattal, de még billentyűzettel se rendelkezett, csak a készre szerelt alaplap volt meg a szükséges csatlakozóhelyekkel.
  • Apple II., 1977: az egyik első rendkívül sikeres, tömeggyártású mikroszámítógép, kapcsolóüzemű tápegységgel, értékesítése fogyasztói piacra irányult: az amerikai háztartásokat célozta meg.
  • Macintosh 128k (1984): az első üzleti sikert hozó számítógép a Classis Max OS grafikus felhasználói felülettel rendelkező operációs rendszerrel.
  • Apple-boltok (2001-től): exkluzív üzlethálózat az Apple termékek kizárólagos értékesítésére szánva.
  • iPod (2001): az első hordozható mp3 lejátszó.
  • iTunes-bolt (2004): legális digitális zeneletöltési lehetőség, online platform.
  • iPhone (2005): az első saját, zárt platformos okostelefon és egyben fejlesztői platform és online alkalmazásbolt.
  • iPad (2010): az első óriási táblagép, ezzel az Apple mindenhol jelen van, ahol csak lehet az elektronikai piacon.

Egy lopás története: Steve Jobsszal kapcsolatban az egyik legtöbbet emlegetett kritika, hogy ellopta a Xerox PARC által kifejlesztett grafikus felhasználói felület (GUI) és az egér ötletét, megfosztva a feltalálót a jogos sikerétől. A valóság azonban ennél árnyaltabb. Habár Jobs a Xerox PARC által fejlesztett találmányt felhasználta, sőt a „lopás tényét” is elismerte, jóval többet tett egy technika átvételénél. A Xerox PARC által készített rendszer nem csak nagyon drága, de működése is kényelmetlen és kidolgozatlan volt. Jobs a Xerox PARC egeret nem csak továbbfejlesztette, hanem az árát 300 dollárról mindössze 15 dollárra csökkentette. A grafikus kezelőfelület pedig jóval kifinomultabb és felhasználóbarátabb lett, mint az eredeti. Habár nem közismert, de a Xerox PARC 1981-ben – jóval Steve Jobs előtt – bemutatta a maga modelljét Xerox Star néven. Azonban a forradalmi gép üzleti bukás volt és mindössze 30 ezer darabot tudtak értékesíteni. Jobs így lényegében egy olyan technológiát „lopott el”, amit feltalálója nem tudott sikeresen hasznosítani. Ez az eset jó példája Jobs munkásságának, amikor mások számára sikertelen vagy kevésbé sikeres technológiát gondol újra és áttervezve sikerre viszi azt.

Steve Jobs legfontosabb vezetői tulajdonságai

  • Nem szívesen delegált.
  • Jobs tudta, hogy a kreativitás csak „összekapcsolja a dolgokat”.
  • Megtalálta az egyensúlyt a munkatársai felhatalmazása és a példamutatás között.
  • Távol tartotta a kreatív munkatársait a kritikusoktól.
  • Az innováció néha a kivonásról szól. „Hagyjuk el a nem szükséges dolgokat, funkciókat, nyessük le a vadhajtásokat.”
  • Rendíthetetlenül szenvedélyes volt cégei iránt.
  • Nem félt másként gondolkodni.
  • „Sokkal többre van szükséged, mint a vízióra – makacsságra, szívósságra, hitre és türelemre van szükséged ahhoz, hogy megtartsd az irányt” – mondta Edwin Catmull, a Pixar társalapítója. „Steve esetében egészen a határig nyomul, hogy megpróbálja megtenni a következő nagy lépést előre.”
  • „A nagyszerű dolgokat az üzleti életben soha nem egy ember csinálja, hanem egy csapat ember.”
  • Hatékony prezentációs technikát fejlesztett ki.

Elon Musk

Elon Musk (1971-) dél-afrikai származású amerikai mérnök, vállalkozó és multimilliárdos újító, a világ egyik leggazdagabb embere. Nevéhez fűződnek a következő cégek/projektek: Zip2, X.com, PayPal, SpaceX, Tesla Inc., SolarCity, The Boring Company, Neuralink, Starlink, Hyperloop. Napjaink egyik géniusza, megszállott zseni, magával ragadó jövőképpel és tömény ambícióval. Életének mérföldkövei:

12 évesen játékprogramot írt, amivel 500 dollárt keresett. 17 évesen Amerikába szeretett volna emigrálni, de csak Kanadában kapta meg az állampolgárságot. Fizikát és közgazdaság­tant tanult, szerzett is 2 diplomát, majd az USA-ba költözött. 1995-ben meg alapította az öccsével a Zip2 vállalatot, majd ezt el is adták 1999-ben 345 millió dollárért a Compaqnak. Musk vállalatai az elektronika köré csoportosítható technológiákkal foglalkoznak, ő maga pedig az elektromos járműveinek (Tesla típusok), akkumulátorainak és napenergiás termékei­nek terméktervezési, mérnöki és globális gyártási munkálatait látja el. Űrkutatással foglalkozó vállalata kifejlesztette a Dragon űrhajót és a Falcon hordozórakétát, amelyek képesek a Nem­zetközi Űrállomás ellátására, innovatív, nagy arányban újrahasznosítható/visszatérő modulok­ból állnak.

Elon Musk vezetői tulajdonságai

  • Megszállott
    A munkája a lételeme. Hajthatatlan. Minden ébren töltött órájában formálja, finomítja és megvalósítja elképzeléseit. Szenvedélyesen merül bele a munka legapróbb részleteibe is. Napjainkra elért sikerének kulcsa, hogy heti kb. 100 órát dolgozik. Extrém magas elvárásokat támaszt önmaga és a cég emberei felé is, és hidegvérrel kirúgja azokat, akik nem képesek megugrani ezeket. Nagyon személyes kapcsolat fűzi találmányaihoz és vállalkozásaihoz. Ez a szenvedély és szeretet pedig ragályos: bizalmat, tiszteletet, sőt odaadást, imádatot vált ki másokból. Hosszú távú és másokat is magával ragadó jövőképpel rendelkezik. Rendkívüli ambícióval és kitartással valósítja meg mindazokat a dolgokat, amiket mindenki más lehetetlennek tart. Musk jövőképe, a sikerei mögött rejlő hajtóerő: az emberiség jobb jövője. Egy olyan világ, amely a fosszilis energiahordozók helyett környezetbarát energiaforrásokkal működik. Egy olyan világ, amely elektromos autókat használ, amely meghódítja az űrt és kolóniákat épít a Marson. Ezenfelül Musk azáltal, hogy megosztja grandiózus jövőképét és céljait a munkavállalókkal, képes magához vonzani a világ legtehetségesebb, legjobb szakembereit. Még olyankor is, amikor más vállalatok jelentősen nagyobb fizetéseket vagy kedvezőbb feltételeket ígérnek nekik. Az egyik tehetséges szakembere így nyilatkozott erről: „Amikor döntenem kellett, hogy Musknak akarok-e dolgozni vagy egy másik cégnél, ahol többet fizetnek, eldobtam minden logikát és óvatosságot, és a kreatív géniusz mellett döntöttem.”
  • Csapatban gondolkodik
    Musk folyamatosan nyeri el követőinek bizalmát még a bizonytalan helyzetekben is azáltal, hogy kiszámítható, megbízható és átlátható. Ezért tartanak ki mellette a befektetői és támogatói még a gazdaságilag instabil időszakokban is. Musk rendkívüli mértékben tudja inspirálni az embereit. Kulcsfontosságú számára, hogy a legjobb embereket a számukra legmegfelelőbb munkakörökben alkalmazza. Majd ezt követően magas követelményeket támasszon feléjük és – amennyiben teljesítik ezeket – tisztességes javadalmazásban részesítse őket. Ugyanakkor igen gyorsan kirúgja azokat, akik nem végzik munkájukat kellő szenvedéllyel és lelkesedéssel.
  • Rendíthetetlenül optimista
    Musk ötleteit sokan kételyekkel fogadják. Őt azonban semmilyen módon nem befolyásolja mások szkepticizmusa, és nem törődik azzal, ha mások nem hisznek benne. Folyamatosan kiáll azért, amiben hisz. A kritikát, ellenvéleményeket azonnal lereagálja, és konkrét tényekkel érvelve támasztja alá meggyőződéseit. Musk számára a kudarc a kreatív, alkotó folyamat természetes velejárója. Nagyra értékeli a visszajelzéseket. Folyamatosan arra törekszik, hogy egyre jobban teljesítsen, mert tudja, hogy csak így juthat el céljai megvalósításához. Musk a kudarcok ellenére is mindig megtartja rendíthetetlen optimizmusát, és teljes bizonyossággal tudja, hogy sikert fog elérni.
  • Az állandó tanulásra, fejlődésre fókuszál egyéni és vállalati szinten egyaránt
    Muskot a folyamatos kíváncsiság, tudásszomj és tanulási vágy jellemzi. Az összes vállalkozásának minden részletét alaposan kitanulta. Hibáiból, kudarcaiból és sikereiből egyaránt gyorsan tanul. Minden új információra nyitott, és nem fél a változtatástól, amikor új információk segítségével ismeretlen szituációkhoz kell alkalmazkodnia. Dolgozóit is arra biztatja, hogy merjenek elrugaszkodni a megszokottól, a hagyományos módszerektől, és legyenek kreatívak, innovatívak. „Igen, lehet, hogy hibázni fog az ember. Ha sosem hibázik, az azt jelenti, hogy nem eléggé újító.”
  • Nagyra értékeli önmagát
    Musk a gyengeségei helyett az erősségeire fókuszál, és ezeket nem rejti véka alá. Nem szerénykedik képességeivel, tudásával, sőt, nyíltan vállalja azokat.
  • Nyers stílusban kommunikál
    Muskot agresszív, követelőző magatartás jellemzi. Makacs és rugalmatlan. Nyers, durva stílusban kommunikál és konfrontálódik. Egocentrikus, és ez a mindennapos kommunikációjában is jelen van. Hiányoznak az érzelmi intelligenciához szükséges bizonyos képességei. Nem képes az empátiára, és nem tudja felismerni mások érzéseit. Számára egyébként sem fontos a dolgozók lelkivilága, vagy az, hogy az emberei hogyan érzik magukat a cégnél. A termelékenység és a hatékonyság élvez prioritást a humán tényezőkkel szemben.

Források

Egy matematika érettségi feladat megoldása programozással 2023

érettségi logó

érettségi logó

A 2023-as középszintű matematika érettségi feladatsorból az 5. feladat alkalmasnak bizonyult arra, hogy a programozás eszköztárával oldjuk meg. Rögtön többféleképpen is, hogy összehasonlíthatóak legyenek egymással. Érdekes belegondolni, hogy mennyire más lehetne a problémamegoldás, ha programozhatnánk a matematika érettségi vizsgán. A teljes feladatsor letölthető az oktatas.hu-ról.

5. feladat

Adja meg a 420 és az 504 legnagyobb közös osztóját! Megoldását részletezze!

Íme kulcsszavakban, mit érdemes átgondolni a megoldás előtt: számelmélet alaptétele, prímfelbontás (prímtényezős felbontás, faktorizáció), osztópár, prímek szorzata, prímtényezők szorzata, kanonikus alak, euklideszi algoritmus.

1. megoldás

Az első megoldás az euklideszi algoritmus alkalmazása. A metódus paraméterezhető. Pozitív paramétereket vár és képes kiírni a konzolra a két szám legnagyobb közös osztóját. A módszer alapötlete: a legnagyobb közös osztó nem változik, ha a nagyobb számot a két szám különbségével helyettesítjük. Ezzel csökken a nagyobb szám, így a cserék ismétlésével egyre kisebb számokat kapunk, amíg a két szám egyenlővé nem válik. Ez az eddigi számpároknak, így az eredeti számpárnak is a legnagyobb közös osztója. Az eredményt az utolsó nem nulla maradék while(m!=0) adja meg int lnko=b;. Az algoritmus lépésszáma csökkenthető, ha a>b, de ennek ellenőrzése nélkül is működik. Mivel a feladat kéri a megoldás részletezését, így aktiválva a megjegyzésbe tett forráskódokat, a kiírásból könnyen érthető, mi és hogyan történik:

A konkrét esetben a metódus eredménye: lnko (420; 504) = 84. Nagyobb számok esetében „beszédesebb” a program kiírása, több lépésben írja ki a megoldáshoz vezető utat, ezért érdemes többféle paraméterrel is tesztelni a metódust.

2. megoldás

A második megoldás a prímtényezős felbontásokon alapul. Mindkét szám esetén gyűjtsük össze listában ezeket, majd vegyük a két lista közös részét. (Ha lista helyett halmazok lennének, akkor metszet programozási tétel lenne.) A generikus listákba prímszámok kerülnek és bármelyik többször is előfordulhat. (Ezért most a leghosszabb közös részsorozat(ok) előállítása szükséges.) Addig osztjuk a számot 2-vel, amíg lehet, utána következik a többi prímosztó, amíg vannak. Érdemes több metódusra szétosztani a megoldást, mert jóval áttekinthetőbb és karbantarthatóbb Java forráskódot eredményez. A beszédes változó, objektum és metódusnevek is segítenek a megértésben. A második megoldás természetesen ugyanazt az eredményt adja, mint az első megoldás. Aktiválva a megjegyzésbe tett forráskódokat, a kiírásból most is könnyen érthetővé válik (középiskolás matematikaóra-szerűen), mi és hogyan történik:

Kanonikus alakban: 420 = 22 * 3 * 5 * 7, 504 = 23 * 32 * 7, így lnko (420; 504) = 22 * 3 * 7. Azaz összeszorozzuk a közös prímtényezőket az előforduló legkisebb hatványon.
A megoldás erősen épít a generikus kollekciók esetén jól használható Stream API lambda kifejezéseire. Ezeket most nem részletezem, helyette ajánlom a szakmai blogból a lambda kifejezés címkét.

Érdemes átgondolni

  • Nagy prímszámok esetén az euklideszi algoritmus nem hatékony. Az algoritmus végrehajtása kifejezetten lassú például a Fibonacci-számok esetén. A prímtényezőkre bontás feltételezett bonyolultságát számos kriptográfiai algoritmus használja ki. Vannak különleges esetek is, például: egyforma számok, az egyik szám 1, a két szám egymás többszöröse.
  • A feladat nem kérte a legkisebb közös többszörös meghatározását, de ha tudjuk a lnko(a, b)-t, akkor abból könnyen adódik a lkkt(a, b)=a*b/lnko(a, b).
  • A legnagyobb közös osztó tulajdonságait megismerve az euklideszi algoritmus könnyen optimalizálható. Számos esetben ellenőrzést végezhetünk, illetve triviális alapesetek is vannak. Létezik kiterjesztett euklideszi algoritmus is.

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Ajánljuk matematika érettségi feladat címkénket, mert a témában évről-évre blogolunk.

A feladat a Java SE szoftverfejlesztő tanfolyam szakmai moduljának 5-8. óra: Vezérlési szerkezetek, 9-12. óra: Metódusok, rekurzió, valamint 17-28. óra: Objektumorientált programozás alkalmaihoz kötődik.

Sankey-diagram készítése

A Sankey-diagram alkalmas kétféle adatsor közötti N:M fokszámú kapcsolat, összefüggés és a köztes átmenet ábrázolására. Hangsúlyozza a fő átvitelt vagy áramlatokat egy rendszeren belül. Az áramlás irányát nyíllal szemlélteti és az áramlatok szélessége arányos az áramlási mennyiségekkel.

Feladat

Jelenítsük meg HTML formátumú weboldalként a magyarországi régiókban a foglalkoztatottak számát nemzetgazdasági szektorok szerint a KSH 2018-as adatsora alapján! Automatizáljuk egy Java programmal úgy a feladatot, hogy az év paraméterként megadható legyen!

Tervezés

A KSH témastruktúrában a táblázat elérési útja:

  • 5. Területi adatok,
  • 5.1. A munkaerő-piaci tendenciák Magyarország régióiban,
  • 5.1.3. A foglalkoztatottak száma nemzetgazdasági szektorok szerint, nemenként (2008–)

Online böngészhető táblázat:
https://www.ksh.hu/docs/hun/xstadat/xstadat_hosszu/h_qlf017.html

Letölthető táblázat (XLS formátumban):
https://www.ksh.hu/docs/hun/xstadat/xstadat_hosszu/xls/h5_1_3.xls

A táblázatban lévő adatforrás szükséges része látható az ábrán:

KSH adatforrás Sankey-diagramhoz

A táblázatban a régiók az A105:A112 cellatartományban találhatók. A hozzájuk tartozó 3 nemzetgazdasági szektor a B-C-D oszlopok azonos soraiból olvashatók ki. POJO-k létrehozása mindenképpen hasznos a megvalósításhoz, például new SankeyData("Közép-Dunántúl", "Szolgáltatás", 253.89). Ezekből generikus listát is célszerű építeni: List<SankeyData> sankeyDataList.

Többféleképpen is hozzájuthatunk az adatokhoz attól függően, hogy milyen előismeretekkel rendelkezünk a különböző tanfolyamainkon:

  • A Java SE szoftverfejlesztő tanfolyamon „kézzel” letölthetjük a projekt files mappájába az XLS fájlt. Ezután akár manuálisan is összeállítható a POJO lista, vagy a JExcel API-val is hatékonyan feldolgozható a XLS fájl aktuális munkalapja. Fájlkezelés előtt az összeállított HTML fájlt kiírathatjuk a konzolra, ahonnan „kézzel” vágólapozva létrehozhatjuk belőle a szükséges HTML fájlt. Fájlkezeléssel persze adott mappába, adott fájlnévvel, kivételkezeléssel a java.io vagy java.nio csomagot használva a HTML fájl generálása is automatizálható.
  • A Java EE szoftverfejlesztő tanfolyamon megvalósítható, hogy a program kivételkezeléssel hálózati kapcsolatot épít, majd letölti az XLS fájlt és ezzel a feladat visszavezethető az előző esetekre. Azt is megtehetjük, hogy az XLS fájlt nem töltjük le, hanem olvasunk belőle közvetlenül a webről. Ekkor is rendelkezésünkre áll a POJO lista. Itt már tudunk HTML fájlt is automatikusan generálni.

Tanulmányoznunk kell a Google Charts galériában a Sankey diagram dokumentációját! Meg kell ismernünk a paraméterezési lehetőségeit és JavaScript forráskódját!

Megvalósítás

A createSankeyDiagram() függvény létrehozza a HTML fájl szöveges tartalmát. Átveszi adatforrásként a sankeyDataList generikus POJO listát. A String típusú sankeyData objektum tartalmazza a Stream API-val hatékonyan összefűzött – POJO-któl elkért – toString() szövegeket. Ezek a diagramhoz szükséges adatok ( addRows …). Például: "['Közép-Dunántúl', 'Szolgáltatás', 253.89]". A  String típusú  html objektum kezdetben tartalmazza a diagramhoz nem szükséges fix részeket, a diagram alapbeállításait, valamint a diagram fejlécéhez szükséges metaadatokat ( addColumnRégió, Nemzetgazdasági szektor, Foglalkoztatottak száma (ezer fő)). A függvény végül a html objektum #SankeyData# részét cseréli a sankeyData-val és az adatfüggő résszel frissített HTML tartalommal tér vissza.

Eredmény

Az egyik eredmény a generált HTML fájl (benne a grafikonhoz tartozó JavaScript) forráskódját tartalmazza:

A másik eredmény a Sankey-diagram képernyőképe, amelyről kiválóan leolvashatók az értékek:

Sankey-diagram

A böngészőben megjelenő HTML oldalon a Sankey-diagram dinamikusan – az egérkurzor pozíciójától függően – képes az aktuális adatok megjelenítésére, mintegy lebegő jelmagyarázatként.

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Murphy törvénykönyve – görbe tükör IT szemmel

Arthur Bloch népszerű könyvéből gyűjtögettem néhány szösszenetet. Biztosan sokaknak ismerős. A címe: Murphy törvénykönyve, avagy miért romlik el minden? A gondolatokat itt-ott kiegészítettem a programozásra, szoftverfejlesztésre jellemző szemléletmóddal. Ezt a blog bejegyzést április 1-jén tesszük közzé. Nem véletlenül. 🙂 Az alap Murphy-törvényből induljunk ki: „Ami el tud romlani, az el is romlik.” Következzen 13+1 bölcsesség.

„Semmi sem olyan egyszerű, mint amilyennek látszik.” Pláne, ha az ügyfél úgy gondolja, hogy ezt az apróságot bizony 4 perc alatt megoldja egy ügyes fejlesztő.

„Minden több időt vesz igénybe, mint gondolnád.” Ha csak egy paraméter típusát változtatod meg egy metódusban, akkor az biztos, hogy lavinát indít és a forráskódban sok helyen kell módosítanod.

„Ha többféle dolog is elromolhat, biztos, hogy az romlik el közülük, amelyik a legnagyobb kárt okozza.” Elegendő belegondolni abba, hogy egy WordPress-ben lehet bármennyi bővítményed, amik általában gond nélkül frissülnek, de egy apró PHP frissítéstől összedől az egész weboldal.

„Ha rájöttél, hogy egy művelet négyféle módon mondhat csődöt, s mindegyiket kivéded, menten fellép az ötödik.” Hiába készülsz fel minden input adatra, billentyűzet- és egéreseményből adódó problémára. Egy webes űrlap esetén, egy macska mindig átfuthat a billentyűzeten. Teljesen váratlanul.

„Semmit sem lehet a kétbalkezesek ellen bebiztosítani, mert a kétbalkezesek rendkívül találékonyak.” Egy tesztelő mindig tud olyan tesztesetet produkálni, amire senki sem gondolt korábban a tervezésnél, megvalósításnál, dokumentálásnál. Bár egy kicsit sántít ez a gondolat, mert egy tesztelő messze nem kétbalkezes, hanem tudatosan csinálja, amit csinál. Legalábbis remélem.

„Ha javulni látod a dolgokat, akkor valami fölött elsiklottál.” Amikor azt érzed, hogy ez a sprint végre most elkészül határidőre, akkor az utolsó napon, órában, percben tutira borul valami.

„Ha egyszer összekutyulódott valami, a kijavítására tett minden kísérlet csak rontani fog rajta.” Pláne, hogy mindenhol, még a jól megtervezett osztálykönyvtárakban is van legalább egy leggyengébb láncszem.

„Amit ember összerakott, előbb-utóbb szétesik.” Amikor azt gondoljuk, hogy egy jó dátumkezelő funkciót kiválóan megterveztünk, rommá teszteltünk, akkor bezzeg nem 3,9 év múlva jön egy szökőév…

„Egy esemény előfordulásának valószínűsége fordítottan arányos bekövetkezésének kívánatosságával.” Azt kár feltételezni, hogy a jogszabályok, végrehajtási rendeletek ritkán változnak. Pedig gyakran építünk sok-sok funkciót ezekre építve szinte bármilyen szoftverben, webáruházban.

„Nyomás alatt a dolgok tovább rosszabbodnak.” Pedig kipróbáltuk az legkritikusabb adatbázis táblát 1000 db tesztadattal, de arra nem számítottunk, hogy élesben napi 500 rekord kerül bele és ugye előbb-utóbb eljön a havi zárás annyi adattal, amire nem készültünk fel. Ugyanilyen, ha nem skálázható webtárhelyen futó WordPress-re irányítunk intenzív marketingkampánnyal sok-sok látogatót és akkor egyszer csak összeomlik a weboldal a váratlan nagy terhelés alatt.

„Ha n számú alkatrészre van szükség, éppen n-1 van raktáron.” Ez – főleg – akkor (is) igaz, ha egy SCRUM csapatban az alkatrészt kollégának tekintjük. Még szűkebb keresztmetszet, hogy legyen releváns tapasztalata is az aktuális problémához és éppen érjen is rá. És persze ne holnap menjen el a konkurenciához/külföldre dolgozni f+1 fizetésért és ne holnapután üsse el a villamos.

„Legjobban azzal ébreszthetsz magadban új gondolatokat, ha leragasztasz egy levelet.” Korszerűsítve és adaptálva a gondolatot: miután lenyomtad a Deploy gombot egy webalkalmazás aktuális változatának publikálásához, akkor biztosan eszedbe jut, hogy mit kellett volna még beletervezni, fejleszteni a szoftver aktuális verziójába. Nem baj, hamarosan kiadjuk majd a következő frissítést is.

Eddig volt 13 bölcsesség. Azzal akartam zárni, hogy a +1-edik bölcsesség elromlott, hiszen biztosan erre is érvényes a Murphy-törvény, de inkább írok még egyet. Még jó, hogy „Murphy optimista volt”. 🙂 Ez a szerencsénk. Mi lenne velünk, ha pesszimista lett volna? 🙂

Digitális Témahét 2023

A Digitális Témahét 2016-ban indult országos rendezvénysorozat. Fő célja, hogy a digitális eszközökkel támogatott projektpedagógia és innovatív pedagógiai módszerek terjesztésén keresztül. A program fontos törekvése, hogy a digitáliskompetencia-fejlesztés az informatikán túl kiterjedjen más tantárgyakra is. A résztvevő pedagógusok és diákok változatos és kreatív iskolai projektek keretében fejleszthetik képességeiket technológiával támogatott tanulás során. A Digitális Témahét rendezvény minden meghirdetett programja ingyenes. A 2021/2022-es tanévben 811 hazai és külhoni intézmény regisztrált, és 115 ezer tanuló vett részt egy vagy több programon, digitális projektben.

A 2022/2023-as tanévben a rendezvény március 27-31. között valósult meg. Kiemelt témák:

  • digitális állampolgárság;
  • a digitalizáció jelene és jövője;
  • a technológia eszközei és alkalmazásai;
  • az algoritmikus gondolkodás és programozás mint az alkotás eszközei;
  • digitális biztonság és digitális esélyteremtés.

Rendezvényünk plakátja

Az it-tanfolyam.hu 2023-ban is csatlakozott a rendezvénysorozathoz. Oktatóink meghirdettek hét programot, amelyekre 2023. március 31-én 18:00-21:00 óráig került sor.

Köszönöm oktató kollégáimnak, hogy örömmel csatlakoztak. A résztvevőinknek is köszönjük, hogy ellátogattak hozzánk. Mindannyian jól éreztük magunkat: közel 40-en voltunk jelen személyesen és online is közel 30-an követtek bennünket. Igazán tartalmas programot állítottunk össze. Valódi flow-élményt jelentett. Tanfolyamunk hallgatói és az érdeklődők számára is tudtunk újat mutatni. A programok közötti szünetek lehetőséget adtak a kérdésekre, az ismerkedésre. A kiállított posztereink körül is többször alakult ki csoportosulás, kötetlen beszélgetés. Idén is szívesen csatlakoztunk a rendezvénysorozathoz és szívesen emlékszünk majd vissza rá.