NetAcademia
https://netacademia.blog.hu/atom
blfr4@https://blog.hu
©2024 blog.hu
https://netacademia.blog.hu/2018/08/28/na_vajon_mire_lehet_jo_az_ai_egy_fejlesztonek
Na, vajon mire lehet jó az AI egy fejlesztőnek?
2018-08-28T17:41:28+02:00
2018-08-28T17:41:28+02:00
Plesz Gábor
https://blog.hu/user/1112170
<p>Amikor a <a href="https://blogs.microsoft.com/blog/2018/06/04/microsoft-github-empowering-developers/" target="_blank" rel="noopener noreferrer">GitHub felvásárlása</a> kapcsán azt az üzenetet olvastam, hogy a fejlesztői közösség építése a legfőbb cél, és ehhez mindenféle AI eszközök segítenek a kódolásban, egy kicsit szkeptikus voltam. Akkor sem raktam össze a képet, amikor a Visual Studio <a href="https://blogs.msdn.microsoft.com/visualstudio/2018/05/07/introducing-visual-studio-intellicode/" target="_blank" rel="noopener noreferrer">AI-val felturbózott IntelliSense megoldásáról</a> olvastam. Azt gondoltam, hogy jójó, de valahogy nem láttam benne nagy fantáziát, szóval a forradalmi energia valahogy nem érintett meg.</p>
<p>Ami miatt most ezt írom az a <a href="https://www.ailab.microsoft.com/experiments" target="_blank" rel="noopener noreferrer">Sketch2Code.</a> "Természetesen" <a href="https://github.com/Microsoft/ailab/tree/master/Sketch2Code" target="_blank" rel="noopener noreferrer">C# nyelven készült</a>, és az Azure szolgáltatásait használja. <a href="https://sketch2code.azurewebsites.net/" target="_blank" rel="noopener noreferrer">Kipróbálható</a>. És ez most úgy tűnik, hogy átütötte a pajzsomat.</p>
<p>Röviden, mi a mutatvány: Segítségével egy szabadkézi vázlatot tudunk az AI képfelismerése és elemzése segítségével értelmezni, majd a tervet átültetni HTML kóddá, később, ha jól értem akár XAML kóddá is (ez nyilván nem akkora különbség). Ez már akkora képesség és teljesítményágyú, ami teljesen megváltoztathatja a mindennapos kódolási szokásainkat - a jó irányba.</p>
<p>Ti ismertek valami hasonlót? Írjátok meg, nagyon kíváncsi vagyok!</p>
<p>Rövid magyarázat:</p>
<p>AI: <a href="https://hu.wikipedia.org/wiki/Mesters%C3%A9ges_intelligencia" target="_blank" rel="noopener noreferrer">Artificial Intelligence - mesterséges intelligencia</a>. (Különböző technikai trükkökkel az emberi gondolkodást mintázva/szimulálva/megjátszva új képességekkel ruházza fel a számítógépet.)</p>
<p>GitHub: a legnépszerűbb forráskódkövető/verziókövető rendszer Git/Ruby alapokon. A Microsoft <a href="https://github.com/Microsoft" target="_blank" rel="noopener noreferrer">évek óta itt teszi közzé</a> a nyilvános kódjait.</p>
<p>Visual Studio: a Microsoft <a href="https://visualstudio.microsoft.com/vs/" target="_blank" rel="noopener noreferrer">fejlesztési környezete Windows operációs rendszeren</a>.</p>
<p>IntelliSense: A Visual Studio beépített "intelligenciája", jelzik, ha valamit elrontottunk, vagy valamit lehetne máshogy/jobban végezni.</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F08%2F28%2Fna_vajon_mire_lehet_jo_az_ai_egy_fejlesztonek%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F08%2F28%2Fna_vajon_mire_lehet_jo_az_ai_egy_fejlesztonek%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F08%2F28%2Fna_vajon_mire_lehet_jo_az_ai_egy_fejlesztonek%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Na, vajon mire lehet jó az AI egy fejlesztőnek?"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/08/28/na_vajon_mire_lehet_jo_az_ai_egy_fejlesztonek#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/14208305" border="0" /></a><br /></p>
csharp
AI
Artificial_Intelligence
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/08/01/az_elso_golya_204
Az első gólya :)
2018-08-01T13:16:20+02:00
2018-08-01T13:16:20+02:00
Plesz Gábor
https://blog.hu/user/1112170
<p>Van <a href="https://app.netacademia.hu/Tanfolyam/2018csharp-lenyugozo-c-programozas" target="_blank" rel="noopener noreferrer">egy rövid, de lendületes</a> nekifutásunk annak érdekében, hogy a C# nyelvet és a programozást megmutassuk az érdeklődők számára. Menet közben <a href="https://netacademia.blog.hu/2018/06/29/mondom_is_miert_nalunk_tanulj" target="_blank" rel="noopener noreferrer">jött az ötlet</a>, hogy jó lenne még több szereplőt bevonni a történetbe, hátha segít meggyőzni a bizonytalanokat, ha programozni szeretnének tanulni, akkor bizony ez a C# útvonal, amin megyünk, megfelelő.</p>
<p>Jó hír, hogy a felkérésre érkeznek a válaszok!</p>
<p>Az első mindjárt a <a href="https://www.geomant.com/" target="_blank" rel="noopener noreferrer">Geomant</a>-tól, ahol csevegőrobotot is és C# nyelvet is használnak minden egyes nap. Így a következő C# lenyűgöző alkalom számára irodájuk igazán barátságos környezetet nyújt majd nekünk.</p>
<p>Örömmel jelentem be tehát a jövő hétfői időpontot, 16:30-tól várunk szeretettel minden érdeklődőt <a href="https://www.meetup.com/Geomant-Software-Development-and-New-Technologies/events/252969471/" target="_blank" rel="noopener noreferrer">ezen a meetup-on</a>, ahol 17:00-től a szokásainknak megfelelően hajszálpontosan kezdődik az élő tartalom, így mindenkit kérünk, hogy 16:45-ig érkezzen meg.</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F08%2F01%2Faz_elso_golya_204%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F08%2F01%2Faz_elso_golya_204%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F08%2F01%2Faz_elso_golya_204%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Az első gólya :)"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/08/01/az_elso_golya_204#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/14155415" border="0" /></a><br /></p>
meetup
csharp
lenyűgöző_csharp
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/07/05/gyorsitsuk_fel_az_oktatast_a_tizszeresere
Gyorsítsuk fel az oktatást a tízszeresére!
2018-07-05T10:15:15+02:00
2018-07-05T10:15:15+02:00
Fóti Marcell
https://blog.hu/user/185087
<div id="ember8843" class="ember-view">
<div class="reader-article-content">
<p><img src="https://m.blog.hu/ne/netacademia/image/time.jpg" alt="time.jpg" class="imgnotext open-in-modal" /></p>
<p>Az időből mindenki egyforma mértékben részesedik. Minden egyes munkanap 24 órából áll. </p>
<p>Egyesek mégis többre viszik, mint mások. </p>
<p>Egyes vállalatok mégis tízszeres eredményt érnek el, mint mások.</p>
<p>Hogyan?</p>
<p>A titok nyitja az idő helyes kihasználásában rejlik. Tanulás esetén is.</p>
<p>Ma már az emberek nem képesek megnézni egy 70-es években készült filmet, annyira borzalmasan lassú.</p>
<p>Ugyanez a helyzet az oktatásban is. A hagyományos tantermi oktatás - egy Monthy Python-idézettel élve - complete waste of time.</p>
<p><strong>Gyorsítsuk fel az oktatást a tízszeresére!</strong></p>
<p>A hagyományos tantermi oktatásban rengeteg időt pazarolnak el üres fecsegésre, szaknyelven szólva: vattázásra. A 40 órát ki kell tölteni! Nemde? Nem!</p>
<p>Az első lépés az oktatás megreformálásában az időpocsékolások megszüntetése. Má már senki nem ér rá:</p>
<ul>
<li>másfél órát utazni egy tanfolyamért</li>
<li>30 percen keresztül a többi résztvevő bemutatkozását hallgatni</li>
<li>üres fecsegésként meghallgatni egy órában, miről fog szólni a tanfolyam</li>
<li>további süketelést hallgatni arról, hogyan volt ez régebben</li>
<li>további elméleti süketelést hallgatni póverpointozás közben</li>
<li>a tanfolyam tempóját kivárni</li>
</ul>
<p>A tanulás akkor hatékony, ha:</p>
<ul>
<li>nem tartalmaz üres fecsegést, süketelést, sallangokat, vattázást</li>
<li>ütemesen halad, de bármikor megállítható</li>
<li>tetszőleges időpontban, akár holt időben végezhető (buszon/vonaton)</li>
<li>a tempója szabadon megválasztható: kétszeres sebességtől a kikockázásig</li>
<li>akárhányszor átismételhető</li>
<li>gyakorlatorientált</li>
</ul>
<p>Emellett az sem baj, ha a rétestésztát kicsi rétesekre vágjuk. Ez lehetővé teszi, hogy mindenki annyit, és azt egyen, amire valóban szüksége van. Minek végigülni 600 óra fecsegést egy olyan témáról, ami a kisujjadban van? Elég neked az újdonság, a lényeg!</p>
<p>Tudom-tudom, még mi sem tartunk itt. De a gondolat megvan. Már csak meg kell valósítani.</p>
<p>Az újraindult <a href="https://tudastar.netacademia.hu/"><span>https://tudastar.netacademia.hu/ </span></a>egy erre irányuló kísérlet. Csírája.</p>
<p>Mi a NetAcademiánál azon dolgozunk, hogy az oktatás hatékonyságát a tízszeresére növeljük!</p>
</div>
</div>
<div class="reader-flag-content__wrapper mb4 clear-both" data-ember-action="" data-ember-action-8844="8844"></div>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F07%2F05%2Fgyorsitsuk_fel_az_oktatast_a_tizszeresere%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F07%2F05%2Fgyorsitsuk_fel_az_oktatast_a_tizszeresere%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F07%2F05%2Fgyorsitsuk_fel_az_oktatast_a_tizszeresere%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Gyorsítsuk fel az oktatást a tízszeresére!"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/07/05/gyorsitsuk_fel_az_oktatast_a_tizszeresere#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/14094383" border="0" /></a><br /></p>
time
idő
gyorsan
time_is_money
NetAcademia
NetAcademia_Ultimate
oktatás_tanulás
0
NetAcademia
https://netacademia.blog.hu
https://m.blog.hu/ne/netacademia/image/time.jpg
https://netacademia.blog.hu/2018/06/29/mondom_is_miert_nalunk_tanulj
Mondom is: miért nálunk tanulj!
2018-06-29T12:56:36+02:00
2018-06-29T12:56:36+02:00
Plesz Gábor
https://blog.hu/user/1112170
<p><a href="http://netacademia.blog.hu/2018/05/19/mondom_is_miert_c" target="_blank" rel="noopener noreferrer">Korábban</a> a C# nyelv és a .NET Core környezet néhány előnyéről írtam, csak úgy általánosságban. Tettem ezt azért, hogy mindenképpen vegyétek figyelembe, mint jó választást - leginkább akkor, ha most kezdenétek tanulni egy programozási nyelvet.</p>
<p>Ezúttal inkább arról írok, hogy miért <a href="https://app.netacademia.hu/elofizetes" target="_blank" rel="noopener noreferrer">hozzánk gyere C#-ot tanulni</a>, ha érdekel a nyelv?</p>
<p>Mi a NetAcadémiánál hosszú évek óta folyamatosan fejlesztjük a módját, hogyan lehet könnyebbé tenni a beavatást az újak számára.</p>
<p>A kérdés egyből adódik: miért kéne könnyebbé tenni bármit is?</p>
<p>Nos, a válasz majdnem ilyen egyszerű: nagyon, nagyon, nagyon nehéz elkezdeni programozni tanulni. Sok mindent kell elsajátítani ahhoz, hogy az alapfogalmakat megértsük. És ekkor még csak ott vagyunk, hogy a kérdéseket megérthetjük. Órák telhetnek úgy el, hogy semmi működő vagy használható dolog nem készült el a kezünk által, és még mindig csak az alapozást gyűrjük.</p>
<p>Persze ebben nincs semmi meglepő, általában így néz ki egy összetett világ bonyolult feladatok megoldására való eszközeinek a megismerése. Ahhoz, hogy ezt a belépési gátat megmásszuk kell még legyen elég időnk, eszközünk, motivációnk, és a többi, és a többi, ami mind, mind szükséges.</p>
<p>Ezért mi itt a NetAcademiánál <em>mutatunk egy jobb utat</em>.</p>
<p><strong>Először is</strong>, a tanfolyamainkon kivétel nélkül készítünk valami használhatót. Egyszerűen úgy épülnek fel, hogy a feladat valaminek a létrehozása.</p>
<p>Közbevetés. Én személy szerint ezzel kivételesen szerencsés helyzetben vagyok, már ugye a C# nyelvvel és a .NET környezettel. Ugyanis a C# egyaránt lehetőséget biztosít néhány óra alatt Raspberry PI alkalmazást, csevegőrobotot, kártyajátékot windows-ra, vagy webszerveres alkalmazást készíteni. Aki egy alkalmat végignézett már nálunk, az tudja ezt.</p>
<p>Sajnos már az egy alkalom is több órás, amihez a hallgatóinknak még mindig meg kell szervezni az időt, energiát, érdeklődést, és így tovább. Még csak egyetlen alkalomról beszélünk, ebből azért kell jópár, míg az ember beletanul a dolgokba.</p>
<p>Itt felmerül még egy kérdés: Hogy tudnánk ezt a csomagot egy kicsit könnyebbé tenni?</p>
<p><strong>Másodszor is</strong>, hát úgy, hogy felvétel készül minden tanfolyamunkból, így tetszőlegesen újranézhető egy-egy alkalom. Ezzel biztosítható az, hogy akár részletekben is megnézhető legyen az anyag.</p>
<p><strong>Harmadszor</strong>, a tanfolyamon készült forráskódot lépésenként feltöltöm a GitHub-ra, így az egy lépésben készült kód külön csomagban megnézhető, ezzel is csökkentve az egyszerre feldolgozandó ismeret csomag méretét.</p>
<p><strong>Ráadás.</strong> Az elmúlt időszakban a videóinkat is úgy daraboltam, hogy minden lépés egy-egy külön videóba kerül. Vagyis az egyszerre megértendő, gyakorolandó és otthon reprodukálandó anyag általában 10-30 perces részekben a rendelkezésre áll, a hozzá tartozó programkóddal együtt.</p>
<p>Vagyis: nem kell többé egy fél napot vagy ami még nehezebb, egy egész napot szabaddá tenni a tanuláshoz!</p>
<p>Ha valakinek van 10-20-30 perce, már tehet egy lépést az anyaggal. Megnézheti hazafelé a buszra várva, csak hogy tudja, miről lesz szó. Majd otthon még egyszer, közben nézve a hozzá tartozó forráskódot. Majd még egyszer, úgy, hogy maga is írja a kódot, saját kézzel elkészítve az adott lépést. Ezt, ha szükséges, a hallgatóink addig ismételhetik, amíg az anyagot teljesen el nem sajátították. Kis pici csomagokban, ezeket a csomagokat már <em>bárki</em> megértheti.</p>
<p>Nagyon sok jó visszajelzést kaptunk a módszerrel kapcsolatosan, és most azért álltam elő ezekkel a gondolatokkal, hogy jelezzem: <strong>ha érdekel a programozás, akkor most tényleg bele tudsz vágni.</strong> Vagy <strong>ha ismersz olyat, aki érdeklődik,</strong> de a belépési küszöb miatt aggódik, <strong>akkor szólj neki.</strong> Nézzétek meg nálunk a C# útvonalat, tegyetek egy próbát. Az első három tanfolyam az útvonalból véget ért, van ingyenes tanfolyami rész, senkinek sem kell zsákbamacskát vennie.</p>
<p>Tovább is van, mondjam még? :)</p>
<p>Vannak fejvadászok és cégek, akik szívesen találkoznának a hallgatóinkkal, alkalmasság esetén állást is kínálva nekik. Ugye, ugye, az informatikushiány... <br />Ne tagadjuk el, ehhez egy remek aduász, ha a tanfolyamsorozat végén a hallgató megszerzi <a href="https://www.netacademia.hu/certificate" target="_blank" rel="noopener noreferrer">a NetAcademia Certificate</a>-et.</p>
<p>Mivel az előzetesen tervezett ingyenes sorozatunk a <a href="https://www.netacademia.hu/lenyugozo-tanfolyamok#csharp" target="_blank" rel="noopener noreferrer">C# lenyűgöző tanfolyamból</a> véget ért, és sok pozitív visszajelzést és ötletet kaptunk a folytatásra vonatkozóan, tervezzük további alkalmak kiírását is.</p>
<p>Ehhez most az érdeklődő cégek oldaláról szeretnék barátokat gyűjteni: ha használtok C#-ot (azt már nem is írom, hogy esetleg csevegőrobot fejlesztésben is gondolkodtok, de ez utóbbi egyáltalán nem feltétel), büszkék vagytok a munkátokra és szívesen biztosítanátok helyet egy élő felvételnek, valamint a helyszínen megjelenő 10-20-30 érdeklődőnek frissítővel és pogácsával, akkor itt az idő, kérem jelezzétek felénk.</p>
<p>Nagy örömmel mutatnánk be a C# hatékonyságát élőben olyan cégeknél, akik értő módon használják azt. Az előnyök egy ilyen eseményen azt hiszem minden résztvevő számára egyértelműek.</p>
<p>És ha bármi kérdés adódik, írjatok!</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F06%2F29%2Fmondom_is_miert_nalunk_tanulj%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F06%2F29%2Fmondom_is_miert_nalunk_tanulj%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F06%2F29%2Fmondom_is_miert_nalunk_tanulj%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Mondom is: miért nálunk tanulj!"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/06/29/mondom_is_miert_nalunk_tanulj#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/14081891" border="0" /></a><br /></p>
tanulás
.NET
CSharp_Language
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/05/19/mondom_is_miert_c
Mondom is, miért C#
2018-05-19T18:11:54+02:00
2018-05-19T18:11:54+02:00
Plesz Gábor
https://blog.hu/user/1112170
<p>Tehát, szóval. <strong>Miért is érdemes C#-ban programozni?</strong></p>
<p>Csak nagyon röviden: mert szinte minden területen, kis belépési kültséggel, azonnal működő prototípust tudunk építeni, és a határ majdnem a csillagos ég. Ráadásul a tudáshoz való hozzáférés gyakorlatilag korlátlan.</p>
<p>Persze, hogy mindjárt mondok példákat is, de előbb megismétlem az eddigieket kicsit hosszabban:</p>
<p>Tegyük fel, hogy programozni szeretnél, és azt a nyelvet keresed, amin</p>
<p>a.) Windows-ra, <br />b.) Linuxra, <br />c.) iOS-re, <br />d.) Androidra, <br />e.) OSX-re</p>
<p>1. ) szerver <br />2. ) desktop <br />3. ) kliens <br />4. ) mobil<br />5. ) 2D/3D játék</p>
<p>alkalmazásokat írhatsz akár évtizedekig egy irányba haladva, nagy törések nélkül. Majd miután beletanultál <a href="https://www.google.hu/search?q=c%23+programoz%C3%B3+%C3%A1ll%C3%A1s&rlz=1C1GCEA_enHU763HU763&oq=c%23+programoz%C3%B3" target="_blank" rel="noopener noreferrer">dolgozni is szeretnél</a> vele.</p>
<p>Akkor az a helyzet, hogy egyről beszélünk, hát ezért <a href="https://hu.wikipedia.org/wiki/C_Sharp" target="_blank" rel="noopener noreferrer">CSharp</a>.</p>
<p>A nyelvet 2000-ben mutatták be, eleve úgy indult, hogy a Java-hoz hasonlóan mindenhol fog majd futni, de az MS Windows környzeten kívül nagyon lassan haladt a fejlődése, mivel a Microsoft a Windows-ra koncentrálta erőit. Óriási áttörés történt viszont ebben az elmúlt években, a <a href="https://blogs.microsoft.com/blog/2016/02/24/microsoft-to-acquire-xamarin-and-empower-more-developers-to-build-apps-on-any-device/" target="_blank" rel="noopener noreferrer">Xamarin megvásárlásával</a> és a házon belüli ASP.NET "lázadással" a nyílt forráskód irányába. Immár a felsorolt esetekben teljes értékű, első osztályú polgára a fejlesztési világnak.</p>
<p>Tényleg, mielőtt belevágunk: <em><strong>mi van a teljesítménnyel?</strong></em></p>
<p>Tudod, Microsoft..., meg a Windows... Hát, <g class="gr_ gr_26 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="26" data-gr-id="26">hogy</g> is <g class="gr_ gr_27 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling" id="27" data-gr-id="27">mondjam</g>.</p>
<p>Ebből a legújabb <a href="https://twitter.com/TFBenchmarks/status/997137835361628160" target="_blank" rel="noopener noreferrer">TechEmpower Framework Benchmarkból</a> egyértelműen kiderül, <strong>az ASP.NET Core</strong> környezet, amivel a szerveroldalon dolgozunk, <strong>másodpercenként majdnem 7 millió kérést szolgált ki</strong> a <em>plain text</em> versenyben, a verseny szabvány futtatókörnyezetében. Erre mondják, hogy a teljesítménymérések alfájában.</p>
<p>Ezzel a leggyorsabb versenyző 98.1%-os teljesítményét hozta. Vegyük észre, hogy <strong>előtte az eredménylistán hiába keressük a nagy frameworköket</strong>. Tényleg, aki a listán <em>hallott</em> ebben a kategóriában az ASP.NET Core előtt végző versenyzőkről, <em>és látott</em> már valamelyik használatával rendes fejlesztést, <strong><em>NetAcademia bögrét kap</em></strong>.</p>
<p>A teljesítmény tehát köszöni szépen, alakul, alakulgat.</p>
<p>Akkor nézzük ezt a sok környezetet, mondjuk manapság egy kikerülhetetlen dolog az IoT, és ennek egyik kiváló csillaga, a Raspberry PI. Jó. Akkor mondjuk ezzel mi van?</p>
<p>Az van, hogy az elmúlt <em>napokban</em> kétszer is belefutottam, egyszer <a href="https://www.hanselman.com/blog/BuildingRunningAndTestingNETCoreAndASPNETCore21InDockerOnARaspberryPiARM32.aspx" target="_blank" rel="noopener noreferrer">Hanselmann írt egy szívhezszóló cikket</a> arról, hogy is lehet Docker segítségével Raspberry PI (ARM) architektúrán C# huszárkodni.</p>
<p>Aztán pedig jelezte, hogy <a href="https://www.facebook.com/shanselman/posts/10155066568741618" target="_blank" rel="noopener noreferrer">most lesz nemsokára (azóta már volt)</a> a Twitch-en egy <a href="https://www.twitch.tv/videos/262711576" target="_blank" rel="noopener noreferrer">9 órás igyenes demonstráció/kódolási maraton/bemutató workshop</a>, ahol egyebek mellett Docker segítségével C# nyelven Raspberry PI-t <em><strong>is</strong></em> programoznak.</p>
<p>Na, ugye.</p>
<p>De miért mondtam mindezt itt el?</p>
<p>Mert az a helyzet, hogy mi itt Magyarországon olyan nagyon nem vagyunk lemaradva.</p>
<p>Mivel ezek <em>előtt</em>, 2018. április 23-án 15:00-18:00 között az <a href="https://app.netacademia.hu/Tanfolyam/2018csharp-lenyugozo-c-programozas" target="_blank" rel="noopener noreferrer">előző NetAcademia meetup-on</a> ki nem találnád, <br />de C# nyelven Docker segítségével a Raspberry PI ledjét villogtattuk. Az <a href="https://app.netacademia.hu/Videok/2018csharp-lenyugozo-c-programozas" target="_blank" rel="noopener noreferrer">eseményről készített videók</a> ingyenesen elérhetőek mindenkinek, regisztráció után.</p>
<p>A jegyzőkönyv kedvéért:</p>
<ul>
<li>A következő alkalom 2018. június 04-én lesz, amikoris a saját gépünkön futó csevegőrobotból fogjuk ezt a kódot használni.</li>
<li>Aztán pedig 2018. június 25-én kitesszük az egészet az Internetre, és akár Facebook Messengerből vagy Skype-ból is élvezhetjük munkánk gyümölcsét.</li>
</ul>
<p>Azt pedig már el sem mondom, hogy a hónap elején elindult a <a href="https://app.netacademia.hu/junior-csharp-developer" target="_blank" rel="noopener noreferrer">NetAcademia Certified Junior C# fejlesztő útvonal</a>, ha valaki hivatásszerűen szeretné megismerni a C# világát.</p>
<p>Régebbi C# motorosoknak pedig a szintén most indult <a href="https://app.netacademia.hu/unity-developer" target="_blank" rel="noopener noreferrer">NetAcademia Certified Unity Developer </a><br /><a href="https://app.netacademia.hu/unity-developer" target="_blank" rel="noopener noreferrer">útvonalról</a> nem beszélek bővebben, ami akár az előző után is elvégezhető mivel a tanfolyamokról szokásosan visszanézhető videó készül, a könnyebb elmélyülés érdekében.</p>
<p>Szóval tényleg csak elhatározás kérdése most rendes C# programozóvá válni:)</p>
<p>Azzal szeretném megköszönni, hogy idáig olvastál, hogy ha van valami ötleted, hogy mit lenne jó megvalósítani a következő NetAcademia meetup-on/meetup sorozaton, akkor vagy kommentben, vagy e-mail-en (<a href="http://mailto:plesz.gabor@netacademia.hu" target="_blank" rel="noopener noreferrer">plesz.gabor@netacademia.hu</a>) küldd el nekem.</p>
<p>Ajándékként azt tudom felajánlani, hogy ha nyersz, akkor -egy bögre mellett- a soron következő meetup-on -akár együtt is, ha van hozzá kedved- megcsináljuk.</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F05%2F19%2Fmondom_is_miert_c%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F05%2F19%2Fmondom_is_miert_c%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F05%2F19%2Fmondom_is_miert_c%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Mondom is, miért C#"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/05/19/mondom_is_miert_c#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13983664" border="0" /></a><br /></p>
tanulás
ASP.NET
NetAcademia
Docker
CSharp_Language
RaspberryPi
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/05/08/onkentes_it_angyal_kerestetik
önkéntes IT angyal kerestetik :)
2018-05-08T14:55:37+02:00
2018-05-08T14:55:37+02:00
Plesz Gábor
https://blog.hu/user/1112170
<p>A<span> </span><a href="http://netacademia.blog.hu/" target="_blank" rel="nofollow noopener noreferrer">NetAcademia blog</a>-on az elmúlt hónapokban<span> </span><a href="http://netacademia.blog.hu/tags/12FactorApp" target="_blank" rel="nofollow noopener noreferrer">folytatásokban lefordítottuk</a><span> </span>a következő cikkgyűjteményt:<span> </span><a href="https://12factor.net/" target="_blank" rel="nofollow noopener noreferrer">The Twelve-Factor App</a>. Ez egy kikristályosodott szabályrendszer arról, hogyan érdemes alkalmazást fejleszteni és üzemeltetni a 21. században. Azért lehet érdekes, mert a szerzők a<span> </span><a href="http://www.heroku.com/" target="_blank" rel="nofollow noopener noreferrer">Heroku-nál</a><span> </span>több százezer alkalmazás üzemeltetésében és több száz alkalmazás fejlesztésében vettek részt, így komoly tapasztalattal rendelkeznek.</p>
<p>Tapasztalatuk rengeteg féle alkalmazás hosszú éveken át történő fejlesztéséből, telepítéséből és üzemeltetéséből származik. Meglátásom szerint<span> </span><strong>minden szava aranyat ér</strong>.</p>
<p>Ír például a<span> </span><a href="https://en.wikipedia.org/wiki/Software_rot" target="_blank" rel="nofollow noopener noreferrer">szoftver-pusztulás</a><span> </span>fogalmáról, ami konyhanyelven szólva annyit jelent, hogy egy változatlan alkalmazás az idő múlásával a szükségszerűen változó környzetben (új OS kiadások, patch-ek, új hardverre költözés, új könyvtárba költöztetés, stb. stb.) évek vagy évtizedek alatt, egy idő után korszerűtlen, majd elavult, majd működésképtelen lesz. Mivel ez elkerülhetetlen, ezért az egy fontos kérdés, hogy lehet-e, és ha igen, akkor mit lehet tenni már a fejlesztés előtt/alatt, hogy ez a hatás lehetőleg minél hosszabb idő alatt alakuljon ki?<span> </span><strong>Nagyon nem mindegy, hogy évekről vagy évtizedekről beszélünk ugyanis</strong>.</p>
<p>Ez csak egy példa volt, hogy ez a 12 szempont milyen meghatározó lehet egy alkalmazás életciklusában. Sok-sok nemtriviális gondolat van benne, és egy jól járható irányt jelentenek a jövőre nézve. Tekinthetünk rá szabványként is: az így felépített alkalmazás a teljes életciklusa során jól meghatározott jellemzőkkel rendelkezik; olyan egyértelműen pozitív tulajdonságokkal, amikre aztán számítani is lehet ez alatt az életciklus alatt.</p>
<p>A szempontok fontosságát a fordításban a<span> </span><strong>tényező<em><span> </span></em></strong>kifejezés meghagyásával is szerettem volna hangsúlyozni: a szempontok<span> </span><strong>egyenként is fontosak</strong>,<strong><span> </span>de</strong><span> </span>a végeredményt tekintve szorzótényezőként viselkedve<span> </span><strong>egymás hatását is sokszorozzák</strong>. Vagy akár lenullázzák.</p>
<p>Ezért a pontos megértésük elengedhetetlen, és persze az is, hogy terjesszük az igét. Én magam nem vagyok natív angol, ezért aztán lefordítottam az anyanyelvemre, hogy<span> </span><strong>tényleg pontosan értsem a gondolatokat</strong>.</p>
<p>És hogy miért írom most ezt itt? Máris mondom.</p>
<p><a href="https://github.com/heroku/12factor/pull/180" target="_blank" rel="nofollow noopener noreferrer">A fordítást elküldtem a szerzőknek</a>, hogy nekik is meglegyen a magyar fordítás. Ha valaki esetleg nem a NetAcademia blogon fut bele, hanem az eredetit nézi, talán könnyebbséget jelent, ha ott van magyar fordítás.</p>
<p>Ahhoz, viszont, hogy a fordítás kikerüljön a<span> </span><a href="https://12factor.net/" target="_blank" rel="nofollow noopener noreferrer"><strong>12factor.net</strong></a><span> </span>oldalra, kell még legalább egy független szerkesztő/ellenőrző/áttekintő személy, aki a fordításom ellenőrzi, sajnálatos módon natív magyar kolléga náluk ebben a csoportban nem dolgozik.</p>
<p>Tehát. Aki a github-on eligazodik, tud angolul és van kedve önkéntes munkával a magyar nyelvű IT közösséget szolgálni, kérem nézzen rá a<span> </span><a href="https://github.com/heroku/12factor/pull/180" target="_blank" rel="nofollow noopener noreferrer">pull request-emre</a>, és csináljon egy review-t. Bármilyen visszajelzésnek örülök!</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F05%2F08%2Fonkentes_it_angyal_kerestetik%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F05%2F08%2Fonkentes_it_angyal_kerestetik%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F05%2F08%2Fonkentes_it_angyal_kerestetik%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=önkéntes IT angyal kerestetik :)"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/05/08/onkentes_it_angyal_kerestetik#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13900052" border="0" /></a><br /></p>
12FactorApp
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/04/17/c_c_plus_plus_makrok
Gyakori programozási hibák #1 - vigyázz, makrók! (C, C++)
2018-04-17T10:09:03+02:00
2018-04-17T10:09:03+02:00
bardóczi ákos
https://blog.hu/user/297292
<div>A posztsorozatban olyan tipikus programozási, konkrétabban kódolási hibákat, később szemantikai hibákat vesézek ki, amikkel szinte biztos, hogy szembesül az, akinek a C vagy a C++ az első programozási nyelve. A felsorolás persze szubjektív, a számomra legemlékezetesebb hibákat tárgyaljam, de többször puskázok Dennis Ritchie, Bjarne Stroustrup alapműveire, amiben fel is hívják a figyelmet egy-egy hibalehetőségre, ezen kívül Koenig C csapdák és buktatók, és <span class="st">Dewhurst</span> C++ hibaelhárító című könyeire.</div>
<div></div>
<div>A makró szigorúan nézve nem is a programozási nyelv része, hanem csak a fejlesztő munkáját segítő eszköz, amikor a fordító egyszerűsítve a fejlesztő által makróban meghatározott szöveggel cseréli le a forráskód összes, makróval hivatkozott részét.</div>
<div></div>
<div>Ennél egyszerűbb nem is lehetne, ugye? Természetesen ebben is van hibalehetőség az igen szigorú szintaxis miatt, ráadásul esetenként éppen olyan hibát eredményez, ami miatt a tanonc a hibát teljesen máshol kezdi el keresni, mint ahol az ténylegesen van, függően a makróban meghatározott szövegtől. Hogy még bonyolultabb legyen, esetenként implementációfüggő, hogy a fordító hogyan kezelje a makrókat.</div>
<div></div>
<div>A makró meghatározásának általános sémája:</div>
<div></div>
<div><em>#define makro_neve makro_erteke</em></div>
<div></div>
<div>Ami viszont nagyon nem mellékes, hogy a fordító véresen komolyan veszi, hogy a #define után egy szóközzel van elválasztva a makró neve és attól pontosan egy szóközzel van elválasztva a makró értéke, ami már mellékes, hogy mennyi szóközt tartalmaz, elvben, de arról később.</div>
<div></div>
<div>Vegyük az alábbi példát:</div>
<div></div>
<div><em>#define hozzaadas (szam) ((a)+1)</em></div>
<div></div>
<div>Ha nem tudjuk az előbb ismertetett ökölszabályt, akkor azt hihetnénk, hogy a</div>
<div></div>
<div><em>hozzaadas (szam)</em></div>
<div></div>
<div>előfordulási helyén majd mindenhol az <em>((a)+1)</em>-t építi be a fordító, valójában viszont ha a makrót úgy kezeljük, mintha függvény lenne a behívás helyén valami ilyesmi épülne be:</div>
<div></div>
<div><em>(szam) ((a)+1)</em></div>
<div></div>
<div>Ami teljesen világos, hogy mást csinál, ráadásul ez itt egy nagyon egyszerű eset.</div>
<div></div>
<div>A C-nél a C++nál gyorsan hozzá lehet szokni, hogy a forráskódban a szóköz gyakran csak szellősebbé teszi a forráskódot, ez a makróknál nem így van.</div>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F04%2F17%2Fc_c_plus_plus_makrok%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F04%2F17%2Fc_c_plus_plus_makrok%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F04%2F17%2Fc_c_plus_plus_makrok%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Gyakori programozási hibák #1 - vigyázz, makrók! (C, C++)"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/04/17/c_c_plus_plus_makrok#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13826290" border="0" /></a><br /></p>
makrók
C
C++
gyakori_programozási_hibák
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/04/05/onenote_evernote_alternativak
Agyagtáblától az Evernote-ig
2018-04-05T15:16:15+02:00
2018-04-05T15:16:15+02:00
bardóczi ákos
https://blog.hu/user/297292
<p><img src="https://m.blog.hu/ne/netacademia/image/digitalis_irastudas.jpg" alt="digitalis_irastudas.jpg" class="open-in-modal imgright" style="margin-left: 5px;" height="387" width="263" />Alighanem nagyon sokan találkoztak már két szélsőséges hozzáállással, ha okoseszközökről, productivity toolokról, például jegyzetkészítésről vagy egy tudományos publikáció megírásáról van szó. Az egyik, a "go paperless", ami szerint mivel mindenre van valamilyen frappáns, elérhető informatikai megoldás, egy idő után egyáltalán nem lesz szükség papírra és hagyományos írószerekre, mivel mindent a gépen tárolunk majd valamilyen módon, a mostani trend szerint a felhőben. A másik szélsőséget azok képviselik, akik esetleg nincsenek is tudatában annak, hogy a megfelelően megválasztott, korszerű, csoportmunkát támogató eszközök használatával mennyi időt, energiát és természetesen pénzt lehetne összesen megspórolni. <br /><br /> A következő posztban nem leszek objektív, nem is törekszem rá, inkább azzal kapcsolatban próbálok adni egy áttekintést, hogy miért lenne célszerű mindenkinek jóba lennie az olyan szolgáltatásokkal is, amik a felhasználónak valamilyen, esetleg több évtizedes megszokását törik meg lényegében, ezek közül ebben a posztban az egyszerű jegyzetelő appokra szorítkozok.</p>
<p><img src="https://m.blog.hu/ne/netacademia/image/don_tapscott_wikinomia.jpg" alt="don_tapscott_wikinomia.jpg" class="imgleft" height="263" width="197" />Ahogy a szépnevű piaci elemző cégek jelentései, úgy egy-egy korszak meghatározó szakkönyvei is tartalmaztak olyan jóslatokat a jövővel kapcsolatban, amik ha megvalósultak, lehetett hivatkozni rájuk, hogy már mikor sikerült megjósolni, ha pedig nem valósultak meg, mindenki elfelejti. <br /> Don Tapscott 2006-ban megjelent <a href="https://en.wikipedia.org/wiki/Wikinomics" target="_blank" rel="noopener noreferrer">Wikinómia </a><br /><a href="https://en.wikipedia.org/wiki/Wikinomics" target="_blank" rel="noopener noreferrer"> című könyvében</a> eléggé konkrétan érvelt amellett, hogy 2010-re gyakorlatilag megszűnik a print könyvek piaca. Ehhez képest a print könyvek piaca nemhogy eltűnt volna, hanem még kis mértékben növekedett is, ráadásul úgy, hogy közben megrázta a világot egy kiadós válság. </p>
<p>Bill Gates a 2002-ben kiadott, Üzlet a gondolat sebességével könyvében arról írt, hogy a Microsoft lényegében még kiskorában is, hasonlóan a többi tech céghez, elképesztő mennyiségű pénzt fordított nyomtatásra, majd kigondolta, hogy az összes, csak papír alapon létező dokumentumtípusból vigyenek be egy-egy példányt az irodájába. Az eredmény minimum elképesztő volt: több ezer, ha nem több tízezer különböző dokumentumot használt a Microsoft, amire egészen addig vagy nem volt megfelelő informatikai megoldás vagy nem jutott eszükbe használni. Ekkor a MS akkori feje lényegében kísérleti jelleggel kitalálta, hogy a mammutvállalatnál amilyen gyorsan csak lehet, de térjenek át a papírmentesebb adminisztrációra, ami sikerült is. Megjegyzem, Bill Gates sosem tolta túl a manapság divatos "go paperless" őrületet, egyszerűen azt vitték gépre, amit célszerűbb volt gépen kezelni. <br />Bill Gates a megállapításaival tényleg meghaladta a korát, több olyan trendet és eseményt is bejósolt, ami már-már sci-finek tűnt az ezredforduló táján, mára pedig mindennapi életünk részévé vált, legyen ez bármilyen közhelyes is.</p>
<p>Hogy mennyire jósolt pontosan? A Gates-kötet több kapcsolódó megállapítása azért is különösen érdekes, mert azt jóval később kvantitatív adatokkal is alátámasztották több pszichológiai kísérletben. Ezek közül az egyik, hogy ami 20-30 oldalnál hosszabb, azt a felhasználók többsége, alighanem kultúrától, így nyelvtől függetlenül inkább print formában, esetleg ebookon olvassa el, ha teheti, míg ennél rövidebb dokumentumok kényelmesen értelmezhetők anélkül, hogy kinyomtatnánk.</p>
<p>Szorosan kapcsolódik a témához az a néhány évvel ezelőtti, USA-beli elit egyetemen elvégzett kísérlet, amiben arra keresték a választ kutatók, hogy azok jegyzik meg hatékonyabban az előadáson elhangzottakat, akik semmilyen papíralapú eszközt nem használnak vagy éppen azok, akik hagyományos módon jegyzetelnek. Az eredmény hatalmas pofon volt - na jó, annak kellett volna lennie - azoknak, akik úgy gondolják, hogy mára az összes papíralapú eszköz felváltható laptoppal, tablettel vagy okoskütyüvel. <br />Annak ellenére, hogy már bőven rendelkezésre állnak olyan, könnyen elérhető eszközök és szolgáltatások, amik alkalmasak arra, hogy a felhasználónak elvben csak a jegyzetelésre kelljen figyelnie és az egész a papír alapú jegyzetelés rendelkezésre állásával összemérhetően működjön, <a href="https://www.npr.org/2016/04/17/474525392/attention-students-put-your-laptops-away" target="_blank" rel="noopener noreferrer">határozottan kevesebbet jegyeztek meg</a> az előadó által elmondottakból a teljesen kütyüre kattant, azaz papíralapú jegyzetet nem használó hallgatók a 2016-os tanulmány szerint. <br /><br />A kutatók persze többféle lehetséges magyarázattal is előálltak, amivel igencsak illik kalkulálnia az ICT-piacnak. Az egyik legfrappánsabb magyarázat nem az, hogy a hallgatók életük első, tanulási drillek szempontjából kritikus felét még okoskütyük nélkül töltötték, azaz nem szocializálódtak hozzá eléggé. A legvalószínűbb ok, akkor is eléggé jelentős szerepet kap a kinesztetikus memória és az ehhez kapcsolódó kognitív folyamatok a tanulás közben, ha nem versenytáncot tanul valaki.</p>
<p><br /><img src="https://m.blog.hu/ne/netacademia/image/tanulas_pszichologiaja.jpg" alt="tanulas_pszichologiaja.jpg" style="margin-right: 5px;" class="imgleft" height="225" width="163" />Pongyolán fogalmazva a kinesztetikus memóriához sorolható, ahogy jegyzetelés közben kézmozgással formáljuk a betűket, strukturáljuk a szöveget, lapozunk, ha betelt az oldal és így tovább. Nem meglepő módon egy írott szöveganyag megtanulásánál ugyancsak használatban van a kinesztetikus memória, azaz a papír tapintása, a lapozással járó mozdulatok és még ki tudja, hogy mi, amire nem gondolnánk, amikor olvasás alapján történő tanulásról van szó. Martin Schuster Bevezetés a tanulás lélektanába című könyvében pedig arról ír, hogy a legjobb teljesítményt elérő hallgatóknál általánosan megfigyelhető volt, hogy egy könyvből való tanuláskor egyszerűen ügyesebben bántak a szöveg aláhúzásával vagy kiemelésével, mint a kevésbé sikeresek. <br />Ki kell, hogy ábrándítsam azokat, akik úgy gondolják, hogy hamarosan már csak-csak elérkezik a paperless-kor. Az előző bekezdésben leírt kísérlet legvalószínűbb magyarázata szerint azok, akik csak tabletet vagy laptopot használtak, sokkal kevésbé használták a kinesztetikus memóriájukat. Igaz ugyan, hogy a tableten is kell koppintani, húzni, scrollolni és így tovább, egyszerűen sokkal kisebb variabilitást enged meg ahhoz képest, amikor koordinált kézmozgással és nem egyszerű érintgetéssel kell valamit lejegyezni, az pedig nem világos, hogy ha valaki úgy tanul meg írni és olvasni, hogy egész életében csak koppintgat és scrollol, ugyanolyan hatékony lesz vagy a finommozgások szerepe sokkal nagyobb.</p>
<p>A nagy helyzet, hogy máig vannak esetek, igaz, egyre ritkábban, amiket egyszerűen az adott szituációban praktikusabb papírcetlire feljegyezni, ha pedig szükség van a gépen való tárolására, arra ott az OCR, ha ez valami miatt nem opció, akkor a feljegyzés egyszerű lefotózása. <br />Kis szinesként itt megjegyzem, a magam részéről azért is tartom megmosolyogtató hülyeségnek a teljesen paperless világ utópiáját, mivel bizony-bizony, van nem egy olyan szakkönyvtár és levéltár Európában is, ahol a biztonsági előírások miatt írásos feljegyzés készíthető, de mindenféle kütyü használata tilos, azaz amivel lehetne fotózni...</p>
<p>Szó sincs róla, hogy az új eszközöket felváltanák a régieket, sokkal inkább arról, hogy értelmesen használva hatékonyabbá teszik a munkát, az ICT-játékosok hardver- és szoftver-oldalon egyaránt, mármint a rátermettebbek igyekszenek olyan megoldásokkal előállni, amik a régi és új módszereket ötvözik. Így például az ebook olvasók egy része nem bocsát ki fényt, de a hozzá tartozó tollal lehet a dokumentumban aláhúzni, kiemelni. Ugyanakkor nyilván elvárás, hogy egy jegyzetelő szolgáltatásban minél kisebb valószínűséggel forduljon elő olyan, hogy egy dokumentum elszálljon vagy olyan adatvesztés történjen, ami papír alapú eszközök esetén nem. Ahogy az is elvárás, hogy a szolgáltatás UX-szempontból legyen annyira letisztult, hogy tényleg csak az írásra kelljen figyelni. Ideális esetben az összes többi lehetséges szempont csak ezeket követi fontosságában. <br />Amikor legutóbb egy kurzust tartottam olyan témában, ahol a bemutatott technikák jellegéből adódóan fontos, hogy minél hatékonyabban dokumentáljuk, amit csinálunk, rövid ideig feladta a leckét az a kérdés, hogy melyik szolgáltatást javasoljam. Ahol lényegében egy pontos jegyzőkönyv elkészítésére van szükség, amiben pontosan látszik, hogy ki, mikor, mit szerkesztett, az adatvesztést és adatszivárgást minimalizálni kell, komolyabb alkalmazások jöttek számításba, amikről egy későbbi posztban írok, most pedig maradok az egyszerű jegyzetelőknél, felvillantva annak előnyeit-hátrányait.</p>
<p>Világos, hogy egy jegyzetelőalkalmazás nem lehet olyan funkciógazdag, mint egy wordprocessor vagy klasszikus értelembe vett szövegszerkesztő, ha pedig mégis, akkor minden fícsört, ami esetlegesen elterelheti a figyelmet, el kell rejteni a motorháztető alá, ami komoly UI/UX-kihívás, de nem megoldhatatlan. Ezen kívül persze elvárjuk egy-egy ilyen megoldástól, hogy legyen elérhető minél többféle platformon és minden platformon legalább nagyjából ugyanúgy viselkedjen. Általánosságban elmondható, hogy a piac szinte egészét itt is egy-két maréknyi szereplő uralja, ezen kívül még vannak olyan szolgáltatások, amik teljesen ingyenesnek mondják magukat, ilyenkor nyilván számítani kell vele, hogy előbb vagy utóbb, de lekapcsolják a villanyt, mert közösségi finanszírozás vagy jól megválasztott üzleti modell nélkül hosszú távon nem tarthatók fenn.</p>
<p><strong>0. A email postafiókod notesz mappája</strong></p>
<p>Alighanem sokan nem gondolnak rá, de már a kimondottan régi levelezőrendszerekben is volt egy speciális, szöveges feljegyzésére alkalmas tároló, amit számos levelezőrendszerben a mai napig megtalálunk Notes vagy hasonló név alatt, ha például IMAP4-klienssel csatlakozunk hozzá. <br /> Gyakorlatilag a leggyorsabb megoldás, ha például a gépünkről egy URL-t szeretnénk átküldeni a mobilunkra, más kérdés, hogy több esetben ezt a kommersz levelezőszolgáltatók kivezették és átszoktatták a felhasználói bázist például a saját noteszappjukra. <br /><br /><strong>1. Microsoft OneNote</strong></p>
<p><img src="https://m.blog.hu/ne/netacademia/image/microsoft_onenote.png" alt="microsoft_onenote.png" class="imgnotext" /></p>
<p>A klasszikus hotmail-es, outlook.com-os levelezőkben egykor volt, már nincs notesz mappa a postafiókban, viszont a változtatással körülbelül egy időben jelent meg a Microsoft jól ismert jegyzetelőszolgáltatása. Függetlenül attól, hogy böngészőn, asztali gép vagy mobileszköz alkalmazásán keresztül érjük el, majdnem ugyanazt tudja. Ahogy jól nevelt jegyzetelőapphoz illik, folyamatosan figyeli, hogy mikor torpanunk meg a billentyűzésben és ésszerű időközönként menti a jegyzetet a háttérben. <br />Az alapértelmezés szerinti az a jegyzet, amin legutóbb dolgoztunk, de a jegyzetek külön noteszekbe és levelek alá csoportosíthatók. Szükség esetén elővarázsolhatóak egy-egy notesz korábbi időpontokban automatikusan mentett verziói a webes felületen keresztül, viszont például az OSX-es kliensen már nem. Ahogy az OSX-es kliens lehetőségei a windows-osétől is kissé eltérnek, régebbi tableten pedig az egész akár kimondottan lassú lehet. <br />A OneNote a legnormálisabb általános célú jegyzetelő lehetne, de az előző fogyatékossága mellett szembetűnhet, hogy ha egy jegyzetet törlünk, az nem egy törölt elemek számára fenntartott helyre kerül, hanem elvben végleg megsemmisül. Az újabb verziókat már felkészítették hangjegyzetek, szabadkézi rajz rögzítésére, kimondottan szövegszerkesztő-funkciók kerültek bele, ugyanakkor a törölt jegyzet nem varázsolható vissza. <br /> <br /><strong>2. Evernote</strong></p>
<p>Míg a Onenote-tároló akkor keletkezik, amikor először használjuk a Microsoft-accountunkkal, az Evernote teljesen önálló, freemium szolgáltatás, amiben azok közül a funkciók közül, amikre idővel szükség is lesz, több hiányzik, így például a jegyzet korábbi verzióit csak a fizetős verzióban érhetjük el. A OneNote-tól eltérően az Evernote kliensprogramja - freemium használata esetén - egy accounthoz maximálisan két eszközön lehet telepítve, ha több helyről szeretnénk elérni, azt csak a webes belépést követően érhetjük el. Lomtár viszont van az ingyenes változatban is. <br />Ha van örök érvényű tapasztalat, hogy a freemiumot kínáló szolgáltatásoknak szinte mindegyike olyan módon van kialakítva, hogy idővel úgyis szükség lesz valamilyen funkcióra, ami viszont már csak a fizetős verzióban érhető el. A két eszközre való korlátozást akkor vezette be az Evernote, amikor már látszott, hogy ez nem veszélyezteti a piaci pozíciójukat, ugyan a megváltozott árazás az árérzékeny piacok esetén alighanem látszik is. <br />Az Evernote támogatja a kétlépcsős hitelesítést, amivel egyedüli azok közül az alkalmazások közt, amik kimondottan jegyzetelőalkalmazások és nem alkalmazáscsomag részei.</p>
<p><img src="https://m.blog.hu/ne/netacademia/image/evernote.jpg" alt="evernote.jpg" class="imgnotext open-in-modal" /><br /><strong>3. Apple Notes </strong></p>
<p>Az általam közel tíz évig használt noteszalkalmazás majdnem tökéletes lenne arra a célra, amire kitalálták, de sok-sok év után gyakorlatilag maga az Apple nyírta ki hagyományos formájában, nem is akárhogy. A Notes egy Apple-fiókhoz kapcsolódó alapszolgáltatás volt, amiben éppen az volt a szerethető, hogy amit feljegyeztem a legújabb almás mobilomba, az ugyanúgy jelent meg a közel 10 éves iPhone 3GS-en, az OSX Notes appjában, az egyiken elvégzett változtatás pedig gyakorlatilag azonnal látszott a többi eszközön bármiféle ütközés nélkül. Aztán néhány évvel ezelőtt egy új főverzióra való áttéréskor teljesen új Notes appot kaptak a felhasználók, ennek QA-szempontból elképesztően kínos, csak éppen kisebb felhasználói bázist érintő hatásaival. Arra lettem figyelmes, hogy az OSX-en beírt jegyzeteket eléri a mobilom, de a mobilon beírt jegyzeteket a nem is különösebben régi OSX Notes appja már nem, az iPad hol-hol nem, amit persze előre nem jelentett be az Apple. Arra korábban is volt lehetőség, hogy a Notes app ne az Apple cloudjában tárolja és kezelje a jegyzeteket az AppleID-hez kapcsolódó tárhelyen, beállítható volt olyan email-fiók is erre, amire a 0. pontban utaltam. De a kompatibilitási problémát ez sem oldja meg. A Notes app legújabb verziója csillog-villog, ha viszont régebbi eszközöknél próbáljuk meg beállítani, hogy a jegyzeteket például a GoogleMail-fiókból húzza elő, beállítás ide vagy oda, egyszerűen nem fog működni. A probléma nem érinti azokat, akik mindig a legújabb Apple-eszközt használják, viszont akik addig használnak egy-egy almás eszközt, amíg használható, kínos. <br /> <br /><strong>4. Google Keep</strong></p>
<p>A Google Keepben a hagyományos noteszkészítésen kívül lehetőség van emlékeztetők beállítására is, ami a Google Calendarnak a kezdetektől fogva alapfunkciója, azaz ha valaki szeretné értelmetlenül megbonyolítani az életét, akkor egy Google-fiókon belül két különböző helyre is mentheti az emlékeztetőket, mivel a kettő egymástól teljesen független, amire ügyelni kell, ha valaki az emlékeztetőit egy helyen, rendben szeretné tárolni. <br />A Google Keep minden Google-től várható feltételt teljesít, áttekinthető a felület, de felhasználói élmény gyakorlatilag nincs, ezen kívül nagy eséllyel jut a Google Reader sorsára, amit sokan is használtak, sokan is szerettek, viszont a Google nem tudott a megtérüléshez szükséges információt kinyerni a felhasználói bázisából. Teljesen általános, hogy a Google kivezet minden olyan szolgáltatást, amin keresztül nem sajtolható ki elég információ a userbase-ből.</p>
<p><br /><img src="https://m.blog.hu/ne/netacademia/image/megszunt_google_szolgaltatasok.png" alt="megszunt_google_szolgaltatasok.png" class="imgnotext open-in-modal" /><br /> <br /><strong>5. Quip </strong></p>
<p>Az alapvetően csoportmunkát támogató suite részét képző lightweight megoldás integrálható bármivel, minden ritkán használt, értelmetlen funkciót gondosan kigyomláltak belőle, így kimondottan régi eszközökön is nagyon gyors kliensprogrammal és webes felületen egyaránt. Fontos eltérés, hogy a többivel szemben a Quip még nem támogatja a kétlépcsős hitelesítést.</p>
<p><img src="https://m.blog.hu/ne/netacademia/image/quip_software_suite.png" alt="quip_software_suite.png" class="imgnotext open-in-modal" /><br /><strong>6. Zoho Notebook </strong></p>
<p>A Zoho-csomag részeként ingyenesen elérhető szolgáltatás a Zoho Writer egyszerűsített változatának tűnik, mindennel, amire szükség van egy jegyzetelőappban, a Quip megoldásához hasonlóan alapértelmezés szerint egy privát és egy osztható mappát tartalmaz, amelyikbe lehet rendszerezni a feljegyzéseket.</p>
<p><img src="https://m.blog.hu/ne/netacademia/image/zoho_notebook.jpg" alt="zoho_notebook.jpg" class="imgnotext open-in-modal" /><br /> <br /><strong>7. Simplenote</strong></p>
<p>Amellett, hogy a Simplenote erőssége éppen az egyszerűsége, nem fordulhat elő olyan, mint nagyon sok más megoldásnál, azaz, hogy egy átgondolatlan megosztással repül ki a dokumentum egyszerűen URL-lel elérhető formában a netre: ehhez a címkék közé fel kell venni annak a felhasználónak az email-címét, akivel megosztanánk a feljegyzést. A kétlépcsős hitelesítés még ugyancsak hiányzik. <br /> <img src="https://m.blog.hu/ne/netacademia/image/simplenote.png" alt="simplenote.png" class="imgnotext open-in-modal" /><br /><br /><strong>8. Dropbox Paper</strong></p>
<p>Viszonylag új versenyző a terepen, a Dropbox által felvásárolt Hackpad továbbfejlesztéseként azoknak lehet kényelmes választás, akik kimondottan a dropboxos környezethez szoktak hozzá. Félúton van az egyszerű noteszalkalmazások és wordprocessorok közt. <br /> <img src="https://m.blog.hu/ne/netacademia/image/dropbox_paper.jpg" alt="dropbox_paper.jpg" class="imgnotext" /><br /> <br /><strong>9. Nimbus Note </strong></p>
<p>Az OSX-et leszámítva az összes nagyobb platformra elérhető, sok másiktól eltérően van egy hatalmas előnye: egy-egy megosztásnál lehetőségünk van úgy dönteni, hogy nem bízunk önmagában a security through obscurity-ben, aminek az alapgondolata, hogy a megosztás URL-jében lévő link kellően barokkos ahhoz, hogy ne lehessen kitalálni véletlenül. A megosztásoknál külön-külön jelszót lehet beállítani. <br /> <img src="https://m.blog.hu/ne/netacademia/image/nimbus_note.png" alt="nimbus_note.png" class="imgnotext open-in-modal" /><br /><br /><strong>10. Laverna</strong></p>
<p>Meglehetősen kilóg a sorból, az alkalmazás nem is ad tárhelyet, ehelyett beállíthatjuk egy egyszerű API-kulccsal, hogy az alkalmazás a például a Dropbox-fiókunk tárterületét használja. Az alkalmazásban lehetőség van megadni a titkosításhoz szükséges kulcs mérete mellett egyedi salt-et is. <br /> <img src="https://m.blog.hu/ne/netacademia/image/laverna_notes.png" alt="laverna_notes.png" class="imgnotext open-in-modal" /><br />Érdemes szem előtt tartani, hogy ezek mindegyike vagy majdnem mindegyike mindent tud, amit egy általános célú jegyzetelő szolgáltatásnak tudnia kell, a motorháztető alá benézve pedig még annál is többet, míg a komplexebb feladatokra ott vannak a wordprocessorok, amiről ugyancsak szó lesz. A papírlapú eszközök jórésze ezekkel már lecserélhető, függetlenül egy-egy szervezet méretétől és profiljától, azoknak a productivity tooloknak is kiemelt szerepük van, amik látszólag nagyon egyszerű feladatot látnak el. Nem is akármilyen szerepük: hasonlóan nagyon sok más eszközhöz, egész egyszerűen lemaradnak azok a szervezetek, akik nem térnek át minél korábban a célnak megfelelő csoportmunkát támogató eszközök használatára. <br /> <br />Hogy az elévült eszközökhöz, lényegében megszokásokhoz való ragaszkodás miért jár sokszor észrevétlen, rendkívüli idő- és pénzveszteséghez, többféleképp is megközelíthető, amiről a posztsorozatban elméletibb szempontból is visszatérek. <br /> <br />képek forrása: Wikipedia, Evernote blog, Wordstream, Thenextweb</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F04%2F05%2Fonenote_evernote_alternativak%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F04%2F05%2Fonenote_evernote_alternativak%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F04%2F05%2Fonenote_evernote_alternativak%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Agyagtáblától az Evernote-ig"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/04/05/onenote_evernote_alternativak#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13812104" border="0" /></a><br /></p>
digitális_írástudás
Evernote
jegyzetelő
Google_Keep
Quip
OneNote
Apple_Notes
Simplenote
Dropbox_Paper
Nimbus_Note
Laverna
productivity_tools
0
NetAcademia
https://netacademia.blog.hu
https://m.blog.hu/ne/netacademia/image/digitalis_irastudas.jpg
https://netacademia.blog.hu/2018/03/26/a_nuget_org_ket_oran_keresztul_nem_volt_elerheto_az_ok_lejart_tanusitvany
A nuget.org két órán keresztül nem volt elérhető. Az ok: lejárt tanusítvány
2018-03-26T08:35:47+02:00
2018-03-26T08:35:47+02:00
Plesz Gábor
https://blog.hu/user/1112170
<p>Egyelőre csak egy rövid közlemény jelent meg erről, de a helyzet nem teljesen ismeretlen számomra sem. Évente/kétévente lejár a tanusítvány, és ezt szinte mindig elfelejti mindenki, aztán van a kapkodás. Az egyik jó megoldást már írták is a kommentben a közleményre:)</p>
<p><a href="https://blog.nuget.org/20180322/Incident-Report-NuGet-org-downtime-March-22.html" target="_blank" rel="noopener noreferrer">Incident report - NuGet.org downtime on March 22, 2018</a></p>
<p>Volt már ilyen veletek?</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F26%2Fa_nuget_org_ket_oran_keresztul_nem_volt_elerheto_az_ok_lejart_tanusitvany%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F26%2Fa_nuget_org_ket_oran_keresztul_nem_volt_elerheto_az_ok_lejart_tanusitvany%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F26%2Fa_nuget_org_ket_oran_keresztul_nem_volt_elerheto_az_ok_lejart_tanusitvany%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=A nuget.org két órán keresztül nem volt elérhető. Az ok: lejárt tanusítvány"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/03/26/a_nuget_org_ket_oran_keresztul_nem_volt_elerheto_az_ok_lejart_tanusitvany#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13780164" border="0" /></a><br /></p>
DevOp
nuget
LetsEncrypt
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/03/07/c_forraskod_szerver_oldali_gameboy_emulator_net_core_es_angular_megvalositassal
C# forráskód: Szerver oldali Gameboy emulátor .NET Core és Angular megvalósítással
2018-03-07T12:03:43+01:00
2018-03-07T12:03:43+01:00
Plesz Gábor
https://blog.hu/user/1112170
<p><a href="https://ax-h.com/about/" target="_blank" rel="noopener noreferrer">Valaki </a>megírta a 80-as évek Nintendo sikerét, a <a href="https://hu.wikipedia.org/wiki/Game_Boy" target="_blank" rel="noopener noreferrer">GameBoy videójátékot</a> szerver oldalon C# nyelven, Angular felülettel. Ehhez készített egy Z80 emulátort komplett teszt lefedettséggel, és ezt khm. <a href="https://ax-h.com/software/development/emulation/2017/11/25/emulation-on-dot-net.html" target="_blank" rel="noopener noreferrer">egészen</a> <a href="https://ax-h.com/software/development/emulation/2017/12/03/emulating-the-gameboy-cpu-on-dot-net.html" target="_blank" rel="noopener noreferrer">szépen</a> dokumentálta is. Hanselman szerint egészen kíváló forráskód, ínyenceknek kötelező!</p>
<p><a class="TitleLinkStyle" rel="bookmark" href="https://www.hanselman.com/blog/AMultiplayerServersideGameBoyEmulatorWrittenInNETCoreAndAngular.aspx">Hanselman: A multi-player server-side GameBoy Emulator written in .NET Core and Angular</a></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F07%2Fc_forraskod_szerver_oldali_gameboy_emulator_net_core_es_angular_megvalositassal%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F07%2Fc_forraskod_szerver_oldali_gameboy_emulator_net_core_es_angular_megvalositassal%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F07%2Fc_forraskod_szerver_oldali_gameboy_emulator_net_core_es_angular_megvalositassal%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=C# forráskód: Szerver oldali Gameboy emulátor .NET Core és Angular megvalósítással"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/03/07/c_forraskod_szerver_oldali_gameboy_emulator_net_core_es_angular_megvalositassal#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13721844" border="0" /></a><br /></p>
OpenSource
ScottHanselman
AlexHaslehurts
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/03/02/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_12_adminisztrativ_folyamatok
Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 12. Adminisztratív folyamatok
2018-03-02T05:00:00+01:00
2018-03-02T05:00:00+01:00
Plesz Gábor
https://blog.hu/user/1112170
<div>
<p><span>Előző fejezet: <a href="http://netacademia.blog.hu/2018/02/12/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_10_egyensuly_a_fejlesztes_es_az_uzemeltetes_ko" target="_blank" rel="noopener noreferrer"></a><a href="http://netacademia.blog.hu/2018/02/19/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_11_naplok" target="_blank" rel="noopener noreferrer">11. Naplók</a></span></p>
<h3><span></span><span>Az adminisztrációs és felügyeleti feladatokat futtassuk egyszer futó folyamatokként</span></h3>
<div><span>A <a href="http://netacademia.blog.hu/2018/01/11/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_8_parhuzamos_folyamatok" target="_blank" rel="noopener noreferrer">folyamat formája</a> pedig legyen olyan folyamatok együttese, amit az alkalmazás rendszeres üzleti folyamatai (például webes kérések kiszolgálására) is használnak. Ezen kívül a fejlesztők gyakran egyszeri adminisztrációs vagy karbantartási feladatokat is szeretnének végrehajtani, mint például:</span></div>
<br />
<ul>
<li><span>Adatbázis migrációk végrehajtása (pl.: <strong>manage.py migrate</strong> a Django-nál, <strong>rake d:migrate</strong> a Rails használatakor vagy <strong>migrate.exe</strong> a .NET Entity Frameworkben)</span></li>
<li><span>Konzol használata (vagy másnéven <a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop" target="_blank" rel="noopener noreferrer">REPL</a> shell) tetszőleges kód futtatásához vagy akár az alkalmazás adatmodelljének használatához az éles adatbázis vizsgálata közben. A legtöbb nyelv biztosít REPL eszközt az értelmező alkalmazás parancssori paraméterek nélküli futtatásával (mint a <strong>python</strong> vagy a <strong>perl</strong>), egyes esetekben pedig erre külön parancs van (mint az <strong>irb</strong> a Ruby-hoz, <strong>rails console</strong> a Rails-hoz).</span></li>
<li><span>Az egyszer használatos scripteket az alkalmazás kódtárában kell tárolni (egy php példa: <strong>scripts/fix_bad_records.php</strong>).</span></li>
</ul>
<p><span>Az egyszeri adminisztrációs folyamatokat ugyanolyan környezetben kell futtatni, mint az alkalmazás rendszeres, <a href="http://netacademia.blog.hu/2016/07/15/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_6_folyamatok" target="_blank" rel="noopener noreferrer">hosszan futó folyamatait</a>. Ugyanazt a <a href="http://netacademia.blog.hu/2016/04/16/hogy_kerulhetuk_el_a_szoftverpusztulast_12factor_app_1_a_kodbazis" target="_blank" rel="noopener noreferrer">kódbázist</a> és <a href="http://netacademia.blog.hu/2016/05/14/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_3_beallitasok_konfiguraciokezeles" target="_blank" rel="noopener noreferrer">konfigurációt</a> használó <a href="http://netacademia.blog.hu/2016/06/24/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_5_eloallitas_telepites_futtatas" target="_blank" rel="noopener noreferrer">telepítés</a> mellett futtatva, mint amit telepítés egyéb folyamatai használnak. Az adminisztrációs kódokat az alkalmazással együtt kell szállítani a szinkronizációs problémák elkerülése érdekében.</span></p>
<div><span>Ugyanazt az elkülönítési megoldást kell használni minden folyamattípusnál. Például, ha a Ruby webes folyamata a <strong>bundle exec thin start</strong> parancsot használja, akkor az adatbázis migrációnak <strong>bundle exec rake db:migrate</strong>-et kell használnia. Hasonlóan, a Virtualenv-et használó Python programnak a saját <strong>bin/python</strong> köyvtárát kall használnia a Tornado webkiszolgáló indításához ugyanúgy ahogy minden <strong>manage.py</strong> felügyeleti folyamathoz.</span></div>
<br />
<div><span>A tizenkét tényezős fejlesztés határozottan támogatja azokat a nyelveket, amik alapból kínálnak REPL környezetet és megkönnyítik az egyszeri adminisztrációs scriptek futtatását. A fejlesztők a saját gépükön az egyszeri admin scripteket egyből az alkalmazás munkakönyvtárából tudják parancssorban futtatni. Éles telepítés esetén a fejlesztők ilyen folyamatok futtatásához ssh-t vagy más, a telepítés futtatási környezete által biztosított távoli parancsvégrehajtási megoldást használhatnak.</span></div>
<div><span></span></div>
<div><span>The Twelve-Factor App: <a href="https://12factor.net/admin-processes" target="_blank" rel="noopener noreferrer">XII. Admin processes</a><a href="https://12factor.net/logs" target="_blank" rel="noopener noreferrer"></a></span></div>
<span></span></div>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F02%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_12_adminisztrativ_folyamatok%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F02%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_12_adminisztrativ_folyamatok%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F03%2F02%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_12_adminisztrativ_folyamatok%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 12. Adminisztratív folyamatok"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/03/02/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_12_adminisztrativ_folyamatok#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13705428" border="0" /></a><br /></p>
development
MultiPlatform
DevOp
12FactorApp
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/02/27/a_programozok_jogairol_egy_lehetseges_alkotmanykiegeszites
A programozók jogairól - egy lehetséges alkotmánykiegészítés :)
2018-02-27T06:00:00+01:00
2018-02-27T06:00:00+01:00
Plesz Gábor
https://blog.hu/user/1112170
<p>Hű de régi ez a cikk, mégis milyen jó :)</p>
<p>A <a href="https://hu.wikipedia.org/wiki/Az_Amerikai_Egyes%C3%BClt_%C3%81llamok_alkotm%C3%A1ny%C3%A1nak_m%C3%B3dos%C3%ADt%C3%A1sai#A_Bill_of_Rights_(Jognyilatkozat)" target="_blank" rel="noopener noreferrer">USA alkotmány kiegészítéseinek</a> mintájára a szerző összeírta, hogy milyen jogokat védhetne akár törvény is egy programozók által elképzelt ideális világban (a cikk 2006-ban íródott).</p>
<p>Röviden:</p>
<ol>
<li>Minden programozónak biztosítani kell két monitort.</li>
<li>Minden programozónak gyors számítógép jár.</li>
<li>Minden programozó saját egeret és billentyűzetet választhat.</li>
<li>Minden programozónak kényelmes szék jár .</li>
<li>Minden programozónak biztosítani kell gyors Internet elérést.</li>
<li>Minden programozónak elidegeníthetetlen joga a csendes munkakörnyezet.</li>
</ol>
<p>Részletek a <g class="gr_ gr_350 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="350" data-gr-id="350">linken</g>:</p>
<p><a href="https://blog.codinghorror.com/the-programmers-bill-of-rights/" target="_blank" rel="noopener noreferrer">Jeff Atwood: The Programmer's Bill of Rights</a></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F27%2Fa_programozok_jogairol_egy_lehetseges_alkotmanykiegeszites%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F27%2Fa_programozok_jogairol_egy_lehetseges_alkotmanykiegeszites%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F27%2Fa_programozok_jogairol_egy_lehetseges_alkotmanykiegeszites%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=A programozók jogairól - egy lehetséges alkotmánykiegészítés :)"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/02/27/a_programozok_jogairol_egy_lehetseges_alkotmanykiegeszites#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13692418" border="0" /></a><br /></p>
JeffAtwood
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/02/23/fejlesztoknek_vajon_erdemes_entity_framework_mellett_repository_mintaban_gondolkodni
Fejlesztőknek: Vajon érdemes Entity Framework mellett Repository mintában gondolkodni?
2018-02-23T08:53:41+01:00
2018-02-23T08:53:41+01:00
Plesz Gábor
https://blog.hu/user/1112170
<p>A kolléga .NET Core ügyekben kotangens, érdemes átnézni a blogját, igényes cikkeket ír.</p>
<p>A <a href="http://deviq.com/repository-pattern/" target="_blank" rel="noopener noreferrer">Repository minta</a> kiváló <a href="https://martinfowler.com/eaaCatalog/repository.html" target="_blank" rel="noopener noreferrer">eszköz</a> arra, hogy az adatok <a href="https://hu.wikipedia.org/wiki/Java_Persistence_API" target="_blank" rel="noopener noreferrer">perzisztenciájáért</a> felelős komponens, és az adatokat felhasználó komponensek <a href="https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Low_coupling" target="_blank" rel="noopener noreferrer">erős csatolását</a> megszüntessük (<a href="https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Indirection" target="_blank" rel="noopener noreferrer">indirekció</a> segítségével). Rengeteg példa megtalálható a neten arról, hogyan érdemes kódolni repository (és Unit of Work) mintát mindenféle nyelven, Entity Framework-öt használva vagy anélkül. Ez a cikk egy racionális áttekintés arról, hogy vajon <em>érdemes-e</em> repository mintát használni Entity Framework környezetben?</p>
<p>Ki mit gondol erről?</p>
<p><a href="https://www.thereformedprogrammer.net/is-the-repository-pattern-useful-with-entity-framework-core/" target="_blank" rel="noopener noreferrer"><span>Jon P Smith: </span>Is the repository pattern useful with Entity Framework Core?</a></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F23%2Ffejlesztoknek_vajon_erdemes_entity_framework_mellett_repository_mintaban_gondolkodni%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F23%2Ffejlesztoknek_vajon_erdemes_entity_framework_mellett_repository_mintaban_gondolkodni%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F23%2Ffejlesztoknek_vajon_erdemes_entity_framework_mellett_repository_mintaban_gondolkodni%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Fejlesztőknek: Vajon érdemes Entity Framework mellett Repository mintában gondolkodni?"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/02/23/fejlesztoknek_vajon_erdemes_entity_framework_mellett_repository_mintaban_gondolkodni#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13691540" border="0" /></a><br /></p>
Design_Patterns
EntityFramework
Deployment
EntityFramework_Core
RepositoryPattern
JonPSmith
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/02/21/fejlesztoknek_hogyan_tegyuk_erthetobbe_a_feltetelvizsgalatot_a_forraskodban_c
Fejlesztőknek: hogyan tegyük érthetőbbé a feltételvizsgálatot a forráskódban? (C++)
2018-02-21T09:26:08+01:00
2018-02-21T09:26:08+01:00
Plesz Gábor
https://blog.hu/user/1112170
<p>Most találkoztam ezzel a kollégával először, de egyből megtetszett a blogja. Egyszerű, érthető, azonnal felhasználható kódolási tanácsokat ad C++ példákkal, de minden fejlesztő számára érthető módon.</p>
<p>Érdemes végigböngészni a <a href="https://www.fluentcpp.com/posts/" target="_blank" rel="noopener noreferrer">blogot</a>, szerintem aranybánya.</p>
<p>Jonathan Boccara: <a href="https://www.fluentcpp.com/2017/07/21/making-if-statements-understandable/" target="_blank" rel="noopener noreferrer">How to Make If Statements More Understandable</a></p>
<p> </p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F21%2Ffejlesztoknek_hogyan_tegyuk_erthetobbe_a_feltetelvizsgalatot_a_forraskodban_c%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F21%2Ffejlesztoknek_hogyan_tegyuk_erthetobbe_a_feltetelvizsgalatot_a_forraskodban_c%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F21%2Ffejlesztoknek_hogyan_tegyuk_erthetobbe_a_feltetelvizsgalatot_a_forraskodban_c%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Fejlesztőknek: hogyan tegyük érthetőbbé a feltételvizsgálatot a forráskódban? (C++)"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/02/21/fejlesztoknek_hogyan_tegyuk_erthetobbe_a_feltetelvizsgalatot_a_forraskodban_c#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13686766" border="0" /></a><br /></p>
development
C++
CleanCode
JonathanBoccara
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/02/19/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_11_naplok
Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 11. Naplók
2018-02-19T17:48:26+01:00
2018-02-19T17:48:26+01:00
Plesz Gábor
https://blog.hu/user/1112170
<p><span>Előző fejezet: <a href="http://netacademia.blog.hu/2018/02/12/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_10_egyensuly_a_fejlesztes_es_az_uzemeltetes_ko" target="_blank" rel="noopener noreferrer">10. Egyensúly a fejlesztés és az üzemeltetés között</a></span></p>
<h3><span>Kezeljük a naplókat esemény-folyamatként</span></h3>
<p><span>A <em>naplók</em> a futó alkalmazás működésébe nyújtanak betekintést. Szerver alapú környezetben gyakran a lemezen egy állományba írják őket ("naplóállomány"); de ez csak egy kimeneti formátum.</span></p>
<div><span></span><span>A naplók valamennyi futó folyamat és háttérszolgáltatás kimeneti adataiból összegyűjtött és idő szerint rendezett <a href="https://adam.herokuapp.com/past/2011/4/1/logs_are_streams_not_files/" target="_blank" rel="noopener noreferrer">adatfolyama</a>. A naplók nyers állapota tipikusan szöveges formátum ahol minden esemény külön sorban szerepel (akkor is, ha a kivételekből származó veremtartalom több sorba is kerülhet). A naplóknak nincs meghatározott elejük vagy végük hanem folyamatosan keletkeznek egészen addig, amíg az alkalmazás üzemel.</span></div>
<div></div>
<div><strong>A tizenkét tényezős alkalmazás saját maga sosem foglalkozik a saját kimeneti adatfolyamának irányításával vagy tárolásával</strong>.<strong> Nem szabad naplófájlokat írnia vagy kezelnie.</strong> Helyette minden futó folyamat a saját eseményeit gyorsítótár nélkül kiírja a sztenderd kimenetre (<span style="background-color: #333333; font-family: 'courier new', courier, monospace; color: #ffffff;">stdout</span>). A fejlesztés alatt a fejlesztő a saját képernyője előtt ülve fogja nézni, hogy megfigyelje az alkalmazás viselkedését.</div>
<div></div>
<p><span>A tesztelési vagy az üzemeltetési telepítéseknél minden folyamat adatfolyamát a végrehajtási környezet rögzít, összevonva az alkalmazás összes többi adatfolyamával, megtekintésre és hosszútávú archiválásra egy vagy több végcél felé irányítva. Ezek az archívumok nem láthatók és konfigurálhatók az alkalmazásból, helyette teljes egészében a futtatókörnyezet kezeli őket. Ehhez nyílt forráskódú napló forgalom írányító eszközök állnak rendelkezésre (mint a <a href="https://github.com/heroku/logplex" target="_blank" rel="noopener noreferrer">Logplex</a> és a <a href="https://github.com/fluent/fluentd" target="_blank" rel="noopener noreferrer">Fluentd</a>).</span></p>
<p><span>Az alkalmazás eseményeinek adatfolyamát irányíthatjuk állományba, vagy valós időben figyelhetjük terminálablakban. A legfontosabb, hogy az adatfolyamot elküldhetjük egy naplóindexelő és elemző rendszerbe, mint a <a href="http://www.splunk.com/" target="_blank" rel="noopener noreferrer">Splunk</a>, vagy egy általános célú adattárház eszközbe, mint a <a href="http://hive.apache.org/" target="_blank" rel="noopener noreferrer">Hadoop/Hive</a>. Ezek a rendszerek elegendő teljesítményt és rugalmasságot biztosítanak az alkalmazások időbeli viselkedésének megismeréséhez, ideértve:</span></p>
<ul>
<li><span>Meghatározott múltbeli események keresése.</span></li>
<li><span>A trendek tágabb nézőpontból történő ábrázolása (mint a percenkénti kérések száma).</span></li>
<li><span>Aktív riasztás a felhasználó által létrehozott figyelésnek megfelelően (például egy riasztás jön létre, ha a percenkénti hibák száma meghalad egy bizonyos küszöbértéket).</span></li>
</ul>
<p><span>The Twelve-Factor App: </span><a href="https://12factor.net/logs" target="_blank" rel="noopener noreferrer">XI. Logs</a></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F19%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_11_naplok%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F19%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_11_naplok%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F19%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_11_naplok%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 11. Naplók"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/02/19/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_11_naplok#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13682694" border="0" /></a><br /></p>
development
MultiPlatform
DevOp
12FactorApp
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/02/12/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_10_egyensuly_a_fejlesztes_es_az_uzemeltetes_ko
Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 10. Egyensúly a fejlesztés és az üzemeltetés között
2018-02-12T09:44:23+01:00
2018-02-12T09:44:23+01:00
Plesz Gábor
https://blog.hu/user/1112170
<div><span>Előző fejezet: <a href="http://netacademia.blog.hu/2018/02/05/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_9_naplok" target="_blank" rel="noopener noreferrer">9. Eldobhatóság</a></span></div>
<h3><span>A fejlesztési és az üzemeltetési folyamatok legyenek annyira hasonlóak amennyire csak ez lehetséges.</span></h3>
<div><span></span><span>Történeti okokból jelentős különbségek vannak a fejlesztés (a fejlesztő az alkalmazás helyi <a href="http://netacademia.blog.hu/2016/04/16/hogy_kerulhetuk_el_a_szoftverpusztulast_12factor_app_1_a_kodbazis" target="_blank" rel="noopener noreferrer">telepítését</a> élőben módosítja) és az üzemeltetés (az alkalmazás végfelhasználók által elérhető, éppen futó telepítése) között. Ezek a különbségek és az ezekből adódó problémák három területen jelentkeznek:</span></div>
<div><span></span></div>
<ul>
<li><span>Az idő különbség: a fejlesztő a kódon dolgozhat napokig, hetekig vagy akár hónapokig, mire a munkája az üzemeltetett alkalmazásba kerülne.</span></li>
<li><span>A személyi különbség: A fejlesztő írja a kódot, az üzemeltető mérnök telepíti azt.</span></li>
<li><span>Az eszköz különbség: a fejlesztő dolgozhat olyan csomaggal, amiben Nginx, SQLite és OS X van, az üzemeltetés viszont Apache, MySQL és Linux környezetre telepíti az alkalmazást.</span></li>
</ul>
<div><strong>A tizenkét tényezős alkalmazást eleve <a href="http://avc.com/2011/02/continuous-deployment/" target="_blank" rel="noopener noreferrer">folyamatos telepítéshez</a> tervezzük, hogy ez a különbség a fejlesztés és az üzemeltetés között kicsi legyen. </strong>Nézzük a három különbséget egyenként:</div>
<div><span></span></div>
<ul>
<li><span>Az időbeli különséget tegyük kicsivé: a fejlesztő írhatja a kódot, és az órák vagy akár percek múlva az üzemeltetésbe kerülhet.</span></li>
<li><span>A személyi különbséget tegyük kicsivé: a kódot író fejlesztőt szorosan bevonjuk a a telepítésbe így közelről figyeli az üzemeltetésben az alkalmazás viselkedését.</span></li>
<li><span>Az eszközökben megjelenő különbséget tegyük kicsivé: legyen a fejlesztési és az üzemeltetési környezet olyan hasonló, amennyire csak lehet.</span></li>
</ul>
<pre><span></span></pre>
<div><span>Összegezve ebben a táblázatban:</span></div>
<div><span></span></div>
<table>
<tbody>
<tr>
<td></td>
<td><strong>Hagyományos alkalmazás</strong></td>
<td><strong>Tizenkét tényezős alkalmazás</strong></td>
</tr>
<tr>
<td><strong>Telepítések közötti idő</strong></td>
<td>Hetek</td>
<td>Órák</td>
</tr>
<tr>
<td><strong>Kód létrehozó kontra telepítő</strong></td>
<td>Különböző emberek</td>
<td>Ugyanazok az emberek</td>
</tr>
<tr>
<td><strong>Fejlesztési kontra üzemeltetés</strong></td>
<td>Szétágazó, különböző</td>
<td>Amennyire lehetséges hasonló</td>
</tr>
</tbody>
</table>
<div><span> </span></div>
<div><span>A <a href="http://netacademia.blog.hu/2016/05/21/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_4_hatterszolgaltatasok" target="_blank" rel="noopener noreferrer">háttérszolgáltatások</a>, mint az alkalmazás adatbázisa, az üzenetsor vagy a gyorsítótár olyan terület, ahol a fejlesztés és az üzemeltetés egyensúlya fontos. Sok nyelv kínál könyvtárakat, amik egyszerűsítik a hozzáférést a háttérszolgáltatáshoz, ideértve adaptereket a különböző típusú szolgáltatásokhoz. Néhány példa táblázatban:</span></div>
<pre><span></span></pre>
<div><span></span></div>
<table>
<tbody>
<tr>
<td><strong>Típus</strong></td>
<td><strong>Nyelv</strong></td>
<td><strong>Könyvtár</strong></td>
<td><strong>Adapter</strong></td>
</tr>
<tr>
<td>Adatbázis</td>
<td>Ruby/Rails</td>
<td>ActiveRecord</td>
<td>MySQL, PostgreSQL, SQLite</td>
</tr>
<tr>
<td>Üzenetsor</td>
<td>Python/Django</td>
<td>Celery</td>
<td>RabbitMQ, Beanstalkd, Redis</td>
</tr>
<tr>
<td>Gyorsítótár</td>
<td>Ruby/Rails</td>
<td>ActiveSupport::Cache</td>
<td>Memory, filesystem, Memcached</td>
</tr>
</tbody>
</table>
<pre></pre>
<div></div>
<div><span><span>A fejlesztők néha nagyon vonzónak találják, ha fejlesztés közben pehelysúlyú háttérszolgáltatást használhatnak a saját fejlesztési környezetükben, míg erős háttérszolgáltatások kerülnek az üzemeltetési környezetbe. </span></span>
<div>
<div><span>Például fejlesztéshez SQLite-ot üzemeltetéshez viszont PostgreSQL-t használni; vagy helyben a folyamat memóriáját, üzemeltetéskor pedig Memcached-et használni gyorsítótárazáshoz.</span></div>
</div>
</div>
<div><br /><span></span></div>
<p><span></span><span><strong>A tizenkét tényezős fejlesztő ellenál annak a kísértésnek, hogy más háttérszolgáltatást használjon a fejlesztési és az üzemeltetési környezetben</strong> még akkor is, ha az adapterek elméletileg bármilyen háttérszolgáltatások közötti különbséget eltüntetnek. A háttérszolgáltatások közötti különbségek azt jelenti, hogy apró inkompatibilitási problémák merülhetnek fel azt eredményezve, hogy a kód, ami működött és a teszteken megfelelően teljesített fejlesztési és tesztkörnyezetben, üzemeltetés közben hibára fut. A hibáknak ez a típusa súrlódást hoz létre ami a folyamatos telepítést akadályozza. Ennek a surlódásnak a negatív hatása a folyamatos telepítésre és az alkalmazás életciklusára összegzett kültsége rendkívül magas.</span></p>
<p><span>A</span><span></span><span> pehelysúlyú háttérszolgáltatások ma már kevésbé vonzóak, mint korábban voltak. A modern háttérszolgáltatásokat, mint a Memcached, a PostgreSQL és a RabbitMQ a modern csomagkezelési rendszereknek köszönhetően -mint a <a href="http://mxcl.github.com/homebrew/" target="_blank" rel="noopener noreferrer">Homebrew</a> és az <a href="https://help.ubuntu.com/community/AptGet/Howto" target="_blank" rel="noopener noreferrer">apt-get</a>, (vagy a Windows világban a <a href="https://www.nuget.org/" target="_blank" rel="noopener noreferrer">nuget </a>és <a href="https://chocolatey.org/" target="_blank" rel="noopener noreferrer">chocolatey</a>) egyáltalán nem körülményes telepíteni és futtatni. Alternatív megoldásként a deklaratív telepítő eszközök, mint a <a href="http://www.opscode.com/chef/" target="_blank" rel="noopener noreferrer">Chef </a>és a <a href="http://docs.puppetlabs.com/" target="_blank" rel="noopener noreferrer">Puppet</a>, kombinálva a vékony virtuális rendszerekkel, mint a <a href="https://www.docker.com/" target="_blank" rel="noopener noreferrer">Docker </a>és a <a href="http://vagrantup.com/" target="_blank" rel="noopener noreferrer">Vagrant </a>lehetővé teszi a fejlesztők számára, hogy az üzemeltetési környezethez nagyon hasonló fejlesztési környezetben dolgozhassanak. Ezen rendszerek telepítésének és használatának a költsége alacsony - összehasonlítva a fejlesztési és üzemeltetési egyensúllyal valamint a folyamatos telepítés előnyeivel.</span></p>
<p><span>A háttérszolgáltatások eléréséhez adaptereket használni továbbra is hasznos, mivel az újabb háttérszolgáltatásokra való áttéréet relatív fájdalommentessé teszik. De az alkalmazás valamennyi telepítésének (fejlesztési környezet, tesztelés és üzemeltetés) azonos típusú és verziójú háttérszolgáltatásokat kell használnia.</span></p>
<p>The Twelve-Factor App: <a href="https://12factor.net/dev-prod-parity" target="_blank" rel="noopener noreferrer">X. Dev/prod parity</a></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F12%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_10_egyensuly_a_fejlesztes_es_az_uzemeltetes_ko%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F12%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_10_egyensuly_a_fejlesztes_es_az_uzemeltetes_ko%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F12%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_10_egyensuly_a_fejlesztes_es_az_uzemeltetes_ko%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 10. Egyensúly a fejlesztés és az üzemeltetés között"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/02/12/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_10_egyensuly_a_fejlesztes_es_az_uzemeltetes_ko#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13658086" border="0" /></a><br /></p>
development
MultiPlatform
DevOp
12FactorApp
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/02/05/junior-e_a_senior_avagy_mit_tudhat_a_junoir_amirol_fogalma_sincs_a_seniornak
Junior-e a senior? Avagy mit tudhat a junoir, amiről fogalma sincs a seniornak?
2018-02-05T10:47:33+01:00
2018-02-05T10:47:33+01:00
Fóti Marcell NetAcademia
https://blog.hu/user/764061
<p><img src="https://m.blog.hu/ne/netacademia/image/aamaagdgaaoaaqaaaaaaaa80aaaajde4mmixztbhlwzkodqtndlkmi1hmjg3lwiyyzflywnkn2i1za.jpg" alt="aamaagdgaaoaaqaaaaaaaa80aaaajde4mmixztbhlwzkodqtndlkmi1hmjg3lwiyyzflywnkn2i1za.jpg" class="imgnotext open-in-modal" /></p>
<p>Junior-e a senior? Botrányosan fiatal Nagy Gergő kollégám tette fel ezt a kérdést, miután kiment egy céghez, hogy front-end fejlesztésről konzultáljon az ottani senior fejlesztőkkel.</p>
<p>Lenyűgözve tért vissza: ezek nem értenek semmihez!</p>
<p>Lefordítom: az adott cég senior fejlesztőinek halvány lila elképzelésük sem volt, hogy hogyan kellene manapság többplatformos, skálázható alkalmazást fejleszteniük. Mert amit tudtak, az talán ugyan még létezik, de összezsugorodott. Kell belőle valamennyi - de már csak egy csipetnyi. Helyét átvette az XY technológia - amiről ők szinte semmit sem tudnak.</p>
<p>Ez a cikk nem a frontend-fejlesztésről szól. Hanem például azokról a cégekről, akik lépten-nyomon senior fejlesztőket keresnek, nem tudván, hogy a seniort sok esetben egy a világra nyitott, haladó szellemű junior kenterbe veri, lealázza.</p>
<p>Hogy ne más telkére borítsuk a fertilizert, vegyük például az én esetemet. Én egy senior SQL-fejlesztő vagyok. Már akkor sarokba lettem szorítva, amikor jött a Code First-megközelítés a dotnetben, de ez még hagyján, mert ha nagyon akartam, még mindig piszkálgathattam az adatbázist kézzel. Akartam is! Az az enyém! Az adatbázistervezést azonban ezzel réges-régen kicsavarták a kezemből, és én tudom is ezt, hisz ennek már vagy 5-6 éve.</p>
<p>De jöttek az appok, a világméretű elérés, a freemium modellből származó irdatlan alapterhelés, majd erre rá a csúcsok, a rengeteg platform, és lassan kiderült, hogy az SQL Server nemhogy nem központi eleme egy ilyen rendszernek, hanem egyenesen egy porszem a gépezetben. HTML-generátorok, Angular, CDN-ek és cache-farmok, konténerek, bejelentkeztetési szolgáltatások és ezer egyéb réteg veszi le a terhelést a - már lassan tíz éve amúgy felhőben lévő, és akkor skálázhatónak kikiáltott - szerveroldali infrastruktúráról. Mert másképp nem megy. Mert másképp behal.</p>
<p>Aki a “régi” úton jár, az időről időre sorscsapásszerűen megbotlik. Ilyen például a NetAcademia rendszere. Én terveztem! :)</p>
<p>És én, mint senior SQL-guru, egy tejfölösszájútól tudom meg, hogy ha azt szeretném, hogy végre ne legyenek teljesítményproblémáink, akkor legalább a nagytömegű read-only adatelérést tegyük mán át FireBase-re (Google).</p>
<p>Ja, meg hagyjuk már, hogy az autentikáció mögött ugyanaz az SQL Server áll, mint a “rendes” adataink mögött, sőt, hagyjuk már a saját autentikációt békében pihenni, vannak erre kihegyezett rendszerek.</p>
<p>Ja, meg micsoda dolog, hogy szerveroldalon próbáljuk előállítani MVC-vel a weblapokat egy bármekkora szeverfarmmal, mert az be fog dőlni így is, meg úgy is. Donut cache? Ide nekünk egy frankó kis HTML-generáltort, meg egy CDN-t!</p>
<p>Felfogtam, megértettem. Hiába vagyok senior SQL-guru, az élet túllépett ezen, a hajdani “mindent főzzünk SQL-ből” helyét méretezési és teljesítményokokból átvette “Az SQL Servert maga Zeon, a föld alatt. The last human city” filozófia.</p>
<p>Lett tehát egy csomó olyan feladat, amihez ha kalapácsom van, és mindent szögnek nézek, akkor - ne engedjetek a közelébe!</p>
<p>Lassan esett le, de én már tudom. És pont azért tartott hosszú ideig, mert senior vagyok. Mert amihez értek, ahhoz én értek a legjobban, te meg itt HTML-ről süketelsz nekem, kispofám? </p>
<p>És ez az a pont, ahol a junior előnyt élvez a seniorral szemben. Eleinte nem tud ugyan semmit, de nem is köti semmi. Kész befogadni az újat, és nem rágódik azon, hogy a régivel mi lesz. A gondolkodását nem köti semmiféle olyan régi “igazság”, ami már egyáltalán nem igaz. Mi sokkal inkább nyitott szellemű juniorokat keresünk, mint guruvá aszott seniorokat, akikkel minden egyes régi, megdőlt igazság belátásáért harcolni kell.</p>
<p>Van egy csomó “palackba zárt” senior, aki nem tud semmit, de azt sem tudja, hogy nem tudja. Én is onnan jövök, tudom, miről beszélek. Aki el sem tudja képzelni, hogy a “világ vasfoga elrepült felette”, hogy egy igen költői képzavarral éljek. Ők azok a seniorok, akiknek az alapos tudása a mai világban rémisztően kevés. És - csakúgy, mint én még egy éve is! - tárgyi tudástól el nem vakított éleslátással hoznak meg a cégek működését hosszútávon súlyosan korlátozó döntéseket.</p>
<p>Igen, rengeteg senior sajnos junior. Én bevallottam magamról. Te mit gondolsz?</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F05%2Fjunior-e_a_senior_avagy_mit_tudhat_a_junoir_amirol_fogalma_sincs_a_seniornak%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F05%2Fjunior-e_a_senior_avagy_mit_tudhat_a_junoir_amirol_fogalma_sincs_a_seniornak%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F05%2Fjunior-e_a_senior_avagy_mit_tudhat_a_junoir_amirol_fogalma_sincs_a_seniornak%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Junior-e a senior? Avagy mit tudhat a junoir, amiről fogalma sincs a seniornak?"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/02/05/junior-e_a_senior_avagy_mit_tudhat_a_junoir_amirol_fogalma_sincs_a_seniornak#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13635476" border="0" /></a><br /></p>
fejlődés
nyitottság
junior
senior
NetAcademia
0
NetAcademia
https://netacademia.blog.hu
https://m.blog.hu/ne/netacademia/image/aamaagdgaaoaaqaaaaaaaa80aaaajde4mmixztbhlwzkodqtndlkmi1hmjg3lwiyyzflywnkn2i1za.jpg
https://netacademia.blog.hu/2018/02/05/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_9_naplok
Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 9. Eldobhatóság
2018-02-05T08:37:56+01:00
2018-02-05T08:37:56+01:00
Plesz Gábor
https://blog.hu/user/1112170
<p>Előző fejezet: <a href="http://netacademia.blog.hu/2018/01/11/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_8_parhuzamos_folyamatok" target="_blank" rel="noopener noreferrer">8. Párhuzamos folyamatok</a></p>
<p>Következő fejezet: <a href="http://netacademia.blog.hu/2018/02/12/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_10_egyensuly_a_fejlesztes_es_az_uzemeltetes_ko" target="_blank" rel="noopener noreferrer">10. Egyensúly a fejlesztés és az üzemeltetés között</a></p>
<h3>Maximális hibatűrés gyors üzembehelyezéssel és egyszerű, gördülékeny leállítással.</h3>
<p><strong>A tizenkét tényezős alkalmazás <a href="http://netacademia.blog.hu/2016/07/15/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_6_folyamatok" target="_blank" rel="noopener noreferrer">folyamatai</a> <em>eldobhatóak</em> (disposable), ami azt jelenti, hogy nagyjából a parancs észlelésének pillanatában elindul vagy leáll.</strong> Ez megkönnyíti a rugalmas <a href="https://hu.wikipedia.org/wiki/Sk%C3%A1l%C3%A1zhat%C3%B3s%C3%A1g" target="_blank" rel="noopener noreferrer">méretezést</a> (elastic scaling), a <a href="http://netacademia.blog.hu/2016/04/16/hogy_kerulhetuk_el_a_szoftverpusztulast_12factor_app_1_a_kodbazis" target="_blank" rel="noopener noreferrer">kód</a> vagy a <a href="http://netacademia.blog.hu/2016/05/14/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_3_beallitasok_konfiguraciokezeles" target="_blank" rel="noopener noreferrer">konfiguráció</a> gyors telepítését és a produkciós telepítések hibatűrését.</p>
<p>A folyamatoknak törekedniük kell <strong>az üzembehelyezésükhöz szükséges idő minimalizálására</strong>. Ideális esetben egy folyamatnak néhány másodpercig tart az indulási parancstól eljutni egészen addig, hogy a folyamat fut és kész a kérések vagy a feladatok fogadására. A gyors üzembehelyezési idő több teret biztosít a folyamat <a href="http://netacademia.blog.hu/2016/06/24/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_5_eloallitas_telepites_futtatas" target="_blank" rel="noopener noreferrer">üzembehelyezéséhez</a> és a felskálázódáshoz (scaling up); segíti a hibatűrést, ugyanis ha indokolt, a folyamatkezelő (process manager) könnyebben át tudja mozgatni a folyamatot egy új fizikai eszközre.</p>
<p>A folyamat <strong>álljon le egyszerűen és gördülékenyen, ha megkapja a leállító parancsot (<a href="https://en.wikipedia.org/wiki/Signal_(IPC)#SIGTERM" target="_blank" rel="noopener noreferrer">SIGTERM</a>)</strong> a folyamatkezelőtől. Webes folyamatoknál ez elérhető, ha megszüntetjük a szolgáltatás portján a rendelkezésre állást (listening - ezzel minden további kérést visszautasítva), engedélyezzük viszont a folyamatban lévő kérések teljesítését és csak ezután állítjuk le a folyamatot. Ebből következik, hogy ebben a modellben a HTTP kérések kiszolgálása rövid (nem több néhány másodpercnél), a hosszú ideig tartó hívásokkal történő folyamatos lekérdezés (<a href="https://www.pubnub.com/blog/2014-12-01-http-long-polling/" target="_blank" rel="noopener noreferrer">long polling</a>) esetén pedig a kliens zökkenőmentesen újrakapcsolódik, ha a kapcsolat megszakad.</p>
<p>Munkavégző folyamatok esetén az egyszerű és gördülékeny leállás elérhető az aktuális végrehajtás alatt lévő feladat visszahelyezésével a várakozósorba (work queue). Például a <a href="http://www.rabbitmq.com/" target="_blank" rel="noopener noreferrer">RabbitMQ</a> üzenetsor esetén a munkavégző folyamat küldhet egy <a href="http://www.rabbitmq.com/amqp-0-9-1-quickref.html#basic.nack" target="_blank" rel="noopener noreferrer">NACK</a> jelet; míg <a href="http://kr.github.io/beanstalkd/" target="_blank" rel="noopener noreferrer">Beanstalkd</a> esetén a feladat automatikusan visszakerül a várakozósorba, ha a munkavégző felé megszakad a kapcsolat. A <a href="https://github.com/collectiveidea/delayed_job#readme" target="_blank" rel="noopener noreferrer">Delayed Job</a>-hoz hasonló zárolás alapú rendszereknél fontos, hogy a zárolást ilyenkor a feladat adatrekordján feloldjuk. A modellünknek a következménye, hogy minden feladat <a href="http://en.wikipedia.org/wiki/Reentrant_%28subroutine%29" target="_blank" rel="noopener noreferrer">ismételhető</a> kell, hogy legyen, ami tipikusan a feladatok tranzakcióba burkolásával, vagy a műveletek <a href="https://en.wikipedia.org/wiki/Idempotence" target="_blank" rel="noopener noreferrer">idempotenssé</a> tételével (az első feladatvégzés után a további ismétlések nem változtatják az eredményt) érhető el.</p>
<p>A folyamatoknak ezen kívül <strong>jól kell tűrniük a hirtelen halált is</strong>, a futtató hardver eszköz meghibásodásának az esetét is. Bár ez a leállási parancs (SIGTERM) hatására történő egyszerű és gördülékeny leállásnál sokkal ritkábban előforduló lehetőség, azért meg szokott történni. Az javasolt megközelítés egy hibatűrő üzenetsor használata, mint például a Beanstalkd, ami egyszerűen visszahelyezi a feladatot a várakozósorba, ha kapcsolat megszakad az ügyfélprogram felé vagy a kliens időtúllépésbe kerül. Akárhogy is, a tizenkét tényezős alkalmazás a nem várt és/vagy nem gördülékeny leállások kezelésére megfelelő felépítést alkalmaz. A <a href="https://lwn.net/Articles/191059/" target="_blank" rel="noopener noreferrer">kizárólag-összeomlás (crash-only) elleni tervezési mód</a> ezt a koncepciót vonja le <a href="http://docs.couchdb.org/en/latest/intro/overview.html" target="_blank" rel="noopener noreferrer">logikus végkövetkeztetésként</a>.</p>
<p>The Twelve-Factor App: <a href="https://12factor.net/disposability" target="_blank" rel="noopener noreferrer">IX. Disposability</a></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F05%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_9_naplok%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F05%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_9_naplok%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F02%2F05%2Fhogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_9_naplok%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 9. Eldobhatóság"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/02/05/hogy_kerulhetjuk_el_a_szoftverpusztulast_12factor_app_9_naplok#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13565889" border="0" /></a><br /></p>
development
MultiPlatform
DevOp
12FactorApp
0
NetAcademia
https://netacademia.blog.hu
https://netacademia.blog.hu/2018/01/30/netacademia_fonixperiodusban
NetAcademia főnixperiódusban
2018-01-30T12:26:42+01:00
2018-01-30T12:26:42+01:00
Fóti Marcell NetAcademia
https://blog.hu/user/764061
<p><strong>Írta: Nagy Gergő (NetAcademia) (Bárcsak itt is működne a kukac karakter...)</strong></p>
<p><strong><img src="https://m.blog.hu/ne/netacademia/image/pic_pulse_stock_article_11.jpg" alt="pic_pulse_stock_article_11.jpg" class="imgnotext" /></strong></p>
<p>Volt egy beszélgetésem, amiben az alábbi kérdés merült fel: </p>
<p>“Nekem a főnix csak nagyon halvány emlékeket hoz elő, kifejted pls kicsit, hogy mit értesz főnixperiódus alatt?”</p>
<p>Ez az iromány erre a kérdésre született válaszként, csak kicsit kinőtte magát, úgyhogy inkább cikk lett belőle.</p>
<p>A Főnix az az elpusztíthatatlan, örökéletű madár, ami mikor az életciklusa végére ér, porrá ég, majd hamvaiból újjáéled. Mint a Doctor Who, csak ő madár :)</p>
<h2>De mit is jelent ez a NetAcademia szempontjából ? </h2>
<p>Ahhoz, hogy ezt értelmesen el tudjam mondani, kicsit hátrébb kell lépnünk először, mivel ez is egy emberi történettel indul. Minden ember élete periódikus valamilyen szinten. Nem kivétel ez alól Marcell sem, aki alapította a céget. De hogy is néz ez ki? </p>
<ol>
<li>Idealista vagyok, ötletem van, csináljunk valamit. </li>
<li>Elkezdem csinálni. </li>
<li>“Né’ má' ez király és még jó pénzt is termel.” </li>
<li>Akkor csináljuk tovább. </li>
<li>Mindennap ugyanazt csinálom, és hiába tudom, hogy ez király, de azért érdekes lenne valami új dolgot is kipróbálni. Mondjuk csináljuk bort. Miért ? Mert olyat még nem csináltam. - Ez eléggé olyan mint az 1-es pont nem ? :) Akkor ugorjunk a 2-es pontra.</li>
</ol>
<p>Viszont mi történik, amikor ennek a ciklusnak a mentén létrejön cég, szervezet, akármi, aminek azért igen hasznos lenne tovább csinálni amit csinál, mert azért csak értéket teremt ? (Meg nyilván bevételt is, hogy ne legyünk álszentek :)) Hát van a triviális válasz (zárjuk be, adjuk el), és az általános megoldás (elkezd a rendszer “valahogy” működni). Meg van a nehéz, de jó - jöjjön a következő generáció.</p>
<p>Esetünkben a következő generáció a megoldás, ami mentén elindultunk, viszont ez azért nem ennyire lineáris, vagy egyszerű. Először van egy “valahogy” működünk rész, utána peidg, mikor összeáll a következő generáció, akkor egy “elengedési - átvételi” ciklus. Ebben a részben általában csökken a produktum a világ felé, mert a belső dolgok viszik el az energiát. Viszont amikor ezek a belső dolgok helyre kerülnek, akkor jöhet a megújulási - “hamvaiból feltámad” szakasz.</p>
<p>Na mi most pont ezen a ponton vagyunk. Ez sokszor nehéz, sokszor felemelő de leginkább nagyon inspiráló. Én személyesen legalábbis ezeket az időszakokat imádom a legjobban. Amikor a lehetőségek végtelenek, de ezzel arányos a stressz és a feladtok mennyisége is. Viszont szerintem az “igazi csodák” bizony ebben a szakaszban történnek! </p>
<h2>Oké, értem. Újulunk. Király. De hogy ?</h2>
<p>Ennek része esetünkben például az, hogy az infrastruktúránk nagy részét kicseréljük vagy átalakítjuk, változtatunk az oktatási módszereinken, illetve az egész működésünket átformáljuk teória - mérés - döntés körforgásra, ami azért egy elég erős dolog szerintem. </p>
<h3>És a "csontvázakkal" mi van ? </h3>
<p>Személyesen nagyon élvezem, hogy bárkit megkérdőjelezhetek, és engem is akárki megkérdőjelezhet. NINCS TABU! Erre pedig az a reakció, hogy oké próbáljuk ki, nézzük meg melyik a hasznosabb, és menjünk a jobb irányba.</p>
<h3>Építsünk brain tank-ot</h3>
<p>Ez azt jelenti, hogy alapvetően motivált, tehetséges embereket keresünk kiemelt témák oktatásárára, tanárainknak pedig igyekszünk szabadkezet biztosítani tudásátadási módszerük kialakításában. Úgy tanítsanak, ahogy azt ők maguk a leghatékonyabbnak gondolják! </p>
<h3>Legyünk interaktívabbak!</h3>
<p>Jelenleg futó kurzusainkat a gamerekhez hasonlóan streameljük. Interakcióra chaten van lehetőség a diákok oldaláról, viszont oktatóként többször ütköztem ennek limitáltságába. </p>
<p>Amikor tanítok, nagyon szeretem látni a megértést a másik oldalról - elvégre ezért csinálom. Fontosnak találom tudni, hogy mennyire voltam érthető, gyors, lassú, részletes, vagy éppen felületes, majd a visszajelzések alapján fejlődni. </p>
<p>Sokszor az is probléma, hogy diákjaink az én rutinomhoz hasonlítják magukat, nem pedig egy hasonszőrű kezdőhöz, így gyakran kudarcként élik meg a fejlődésüket.</p>
<p>Ezeknek a megoldására találtuk ki, és teszteljük a “referenciadiák” rendszert. Azaz amikor lehetőségünk adódik rá, az órákra “beültetünk” - nyilván online - egy olyasvalakit, akinek lehet magyarázni, és adott esetben kérdez is. Úgy képzeld el, mintha online csinálnál pair programmingot egy juniorral. Építed a projektet, miközben minden lépést elmagyarázol a másiknak.</p>
<p>Természetesen vannak aggályok az ötlettel kapcsolatban - mennyire lesz bonyolult partnert találni, rontja-e az oktatás hatékonyságát stb. De hát itt jön majd a mérés. Megnézzük, hogyan működik a dolog, és ezt kiértékelve döntünk arról, hogy megtartjuk-e. Eddig egy ingyenes html kurzusban teszteltük, és elég jól jött ki. </p>
<h3>Csináljunk tanulócsoportokat!</h3>
<p>Emellett szeretnénk bevezetni a kiscsoportos közös foglalkozásokat is. Valami olyasmit kell elképzelni mint a közös zh-ra, vizsgára felkészülést. Azaz összeültök páran, akik ugyanazt tanulják, vannak feladatok, amiket meg kell oldani, és ezt mindenki csinálja magának. Lehet egymástól kérdezni, illetve mindig van valaki aki tud segíteni is, ha elakadás van.</p>
<h2>Definiáljuk az értékeinket!</h2>
<ul>
<li>Szabadság - Miért kéne, hogy a tanulás földrajzhoz vagy napszakhoz kötődjön ? </li>
<li>Elérhetőség - Azaz ne kelljen milliós tandíjakat elkérnünk, hanem elérhetők legyünk bárkinek. Én személyesen nagyon hiszek abban hogy a tudás alapjog, és __nem__ privilégium. </li>
<li>Hatékonyság - Alakítsuk ki az oktatásainkat úgy, hogy az a legjobban támogassa a tanulási folyamatot. Mert mint bizonyára tudjátok, oktatás nincs! Csak a tanulást lehet segíteni és a személyes motivációt támogatni. </li>
<li>Hitelesség - Csak olyan témaköröket tanítunk és csak olyan tanárok tanítanak, akik gyakorlatban is alkalmazzák azt, amiről beszélnek. </li>
<li>Naprakész tudás - Ez leginkább a front-end és webes dolgokra igaz, ahol minden fénysebességgel változik. Nézzük meg, hogy mik az aktuális trendek a világban és aszerint tanítsunk. Miért kellene lemaradásban lenni, ha az élmezőnyben is lehetünk? Gyorsan fejlődik a Vue ? Használjuk és oktassuk azt! <a href="https://risingstars.js.org/" target="_blank" rel="nofollow noopener noreferrer">https://risingstars.js.org/</a></li>
</ul>
<h2>Zárás gyanánt </h2>
<p>Talán azt tudnám megfogalmazni, hogy eléggé szerencsésnek érzem magam, hogy ide keveredtem. Olyan közeg ez számomra, ahol a kultúra és az értékrend egybevág azzal, amit mindig is kerestem. Az anyagi háttér is stabil - teszem hozzá transzparens, ami igen nagy szó - és a munkánk során olyan dolgot építünk, ami jobbá teszi a világot és segít az embereknek. </p>
<p>Ráadásul ahhoz, hogy ezt az egészet a lehető legjobban képviseljem, “csupán” azt kell csinálnom, amit imádok. Tanulni 0-24, fejleszteni és ezt átadni másoknak. Meg néha ezeket kiírni magamból, hogy lehetőleg minél több emberhez jusson el az üzenet :)</p>
<h2>Let's talk!</h2>
<p>Persze a végére a hatékonyságot dobjuk meg még kicsit :) Ha a fentiekben olyasmit olvastál ami tetszik, akkor bátran írj rám és beszélgessünk! Van háttér és építkezünk gőzerővel, úgyhogy ha szeretnél ebben részt venni, akkor legalább 6*10^23-féleképpen tudsz nálunk értéket teremteni! :)</p>
<p>Akko’ csá!</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F01%2F30%2Fnetacademia_fonixperiodusban%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F01%2F30%2Fnetacademia_fonixperiodusban%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F01%2F30%2Fnetacademia_fonixperiodusban%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=NetAcademia főnixperiódusban"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/01/30/netacademia_fonixperiodusban#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13616852" border="0" /></a><br /></p>
NetAcademia
főnixperiódus
0
NetAcademia
https://netacademia.blog.hu
https://m.blog.hu/ne/netacademia/image/pic_pulse_stock_article_11.jpg
https://netacademia.blog.hu/2018/01/29/c_programozo_vagy_es_erdekel_a_blockchain_bitcoin
C# programozó vagy és érdekel a Blockchain (Bitcoin)?
2018-01-29T17:07:06+01:00
2018-01-29T17:07:06+01:00
Plesz Gábor
https://blog.hu/user/1112170
<p>A kriptovaluták technológiája általában is érdekes téma, C# programozóként viszont eddig nem nagyon volt átfogó segédeszköz a kezünkben, egészen mostanáig. <a href="https://buildazure.com/2018/01/25/open-source-book-programming-the-blockchain-in-c/" target="_blank" rel="noopener noreferrer">Egy ingyenes könyv</a> segítségével már ebből sem kell kimaradni.</p>
<p>A tartalomjegyzék</p>
<ul>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/README.md">README</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/foreword.md">Foreword</a>
<ul>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/second_communitry_edition.md">Second (Community) Edition</a></li>
</ul>
</li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/README.md">Introduction</a>
<ul>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/why_blockchain_programming_and_not_bitcoin_program.md">Why Blockchain Programming and not Bitcoin Programming?</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/why_c.md">Why C#?</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/why_do_people_hate_bitcoin.md">Why this book?</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/crowdfunding_this_book.md">Crowdfunding this book</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/complementary_reading.md">Complementary reading</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/diagrams.md">Diagrams</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/license_cc_asa_3u.md">License: CC (ASA 3U)</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/pre-requisites.md">Prerequisites</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/introduction/project_setup.md">Project setup</a></li>
</ul>
</li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/README.md">Bitcoin transfer</a>
<ul>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/bitcoin_address.md">Bitcoin address</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/payment_script.md">ScriptPubKey</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/private_key.md">Private key</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/transaction.md">Transaction</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/blockchain.md">Blockchain</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/the_blockchain_is_more_than_just_bitcoin.md">“The Blockchain is more than just Bitcoin”</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/spend_your_coin.md">Spend your coin</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/bitcoin_transfer/proof_of_ownership_as_an_authentication_method.md">Proof of ownership as an authentication method</a></li>
</ul>
</li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/key_generation/key_generation.md">Key generation and encryption</a>
<ul>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/key_generation/key_generation.md#is-it-random-enough">Is it random enough?</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/key_generation/key_generation.md#key-derivation-function">Key Derivation Function</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/key_generation/key_generation.md#like-the-good-ol-days">Like the good <g class="gr_ gr_57 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling" id="57" data-gr-id="57">ol</g>’ days</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/key_generation/key_generation.md#bip38-part-2">BIP38 (Part 2)</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/key_generation/key_generation.md#hd-wallet-bip-32">HD Wallet (BIP 32)</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/key_generation/key_generation.md#mnemonic-code-for-hd-keys-bip39">Mnemonic Code for HD Keys (BIP39)</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/key_generation/key_generation.md#dark-wallet">Dark Wallet</a></li>
</ul>
</li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/README.md">Other types of ownership</a>
<ul>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/p2pk%5Bh%5D_pay_to_public_key_%5Bhash%5D.md">P2PK[H] (Pay to Public Key [Hash])</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/p2wpkh_pay_to_witness_public_key_hash.md">P2WPKH (Pay to Witness Public Key Hash)</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/multi_sig.md"><g class="gr_ gr_58 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="58" data-gr-id="58">Multi Sig</g></a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/p2sh_pay_to_script_hash.md">P2SH (Pay To Script Hash)</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/p2wsh_pay_to_witness_script_hash.md">P2WSH (Pay to Witness Script Hash)</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/p2w_over_p2sh.md">P2W* over P2SH</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/arbitrary.md">Arbitrary</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_ownership/using_the_transactionbuilder.md">Using the TransactionBuilder</a></li>
</ul>
</li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_asset/README.md">Other types of asset</a>
<ul>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_asset/colored_coins.md">Colored Coins</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_asset/issuing_an_asset.md">Issuing an asset</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_asset/transfer_an_asset.md">Transferring an asset</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_asset/unit_tests.md">Unit tests</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_asset/ricardian_contracts.md">Ricardian contracts</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_asset/liquid_democracy.md">Liquid Democracy</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/other_types_of_asset/proof_of_burn_and_reputation.md">Proof of Burn and Reputation</a></li>
<li><a href="https://github.com/ProgrammingBlockchain/ProgrammingBlockchain/blob/master/security/protecting_your_private_keys.md">Protecting your private keys</a></li>
</ul>
</li>
</ul>
<p><a href="https://buildazure.com/2018/01/25/open-source-book-programming-the-blockchain-in-c/" target="_blank" rel="noopener noreferrer">Programming The Blockchain in C#</a></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F01%2F29%2Fc_programozo_vagy_es_erdekel_a_blockchain_bitcoin%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F01%2F29%2Fc_programozo_vagy_es_erdekel_a_blockchain_bitcoin%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fnetacademia.blog.hu%2F2018%2F01%2F29%2Fc_programozo_vagy_es_erdekel_a_blockchain_bitcoin%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=C# programozó vagy és érdekel a Blockchain (Bitcoin)?"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://netacademia.blog.hu/2018/01/29/c_programozo_vagy_es_erdekel_a_blockchain_bitcoin#comments"><img class="item_ctp" src="https://netacademia.blog.hu/rss/image/post/id/13614283" border="0" /></a><br /></p>
Bitcoin
CSharp_Language
OpenSource
Blockchain
0
NetAcademia
https://netacademia.blog.hu