NetAcademia

A legjobbakat tanítjuk!

Ez nem bé, és „essem” bé… (khm… SMB)

2017. november 17. 14:27 - Barcsi Tamás (NetAcademia)

Egy D-Link DNS 320-as NAS-t használok itthon, illetve kisebb vállalati környezetben való üzemeltetésre is nyugodt szívvel szoktam ajánlani. Van természetesen olyan eset, ahol biztosan nem ez lesz a megfelelő (mert lassú, mert Synology kell, mert 4 fiókosnál kisebb nem jó, mert…), próba szerencse, vagy mondhatom azt is, hogy környezet-, illetve kockázatelemzés, felmérés, ajánlás.

Szeptembertől a NetAcademia az R70 Irodaházban bérel irodá(ka)t. Új hely, új élet, új Windows. Online cég vagyunk, már olyan nagy gépszámmal sem rendelkezünk, az összesen 2 db irodai számítógépünket azért csak megszokásból is WDS-ből telepítettem. Ha már új Windows, akkor miért ne lehetne mondjuk a legújabb, amit a MAPS előfizetésünkből le lehet tölteni? Ez jelenleg a 1709-es, amit a közönség „Fall Creators Update” néven ismer.

Az új verzió viszont már az SMBv1-et fel sem telepíti, be sem kapcsolja alapértelmezetten. Na, ezen a ponton válik világossá, hogy mi köze van a D-Link NAS-nak a történethez (bár a WDS-ből telepítés bevallom, hogy csak töltelék miatt került bele :) ). A kicsi NAS-unk még bizony pontosan ezen a protokollon keresztül érhető el, ha a fájlmegosztásait nézzük. És mivel a 1709-es Windows 10 meg makacs módon kevésbé támogatja már ezt a verziót, ezért itt rögtön egy szívroham közeli állapot következik, amikor a megosztások tallózásánál bizony semmit sem látunk. Lehet, hogy van rá update, ami felokosítja, vagy lehet, hogy ki lehet dobni a kukába, azonban általában egy csak Windowshoz értő rendszergazda kevésbé piszkálja a Linux-ot futtató NAS lelkét.

A legszebb dolog az egészben az, hogy ha:

  • pingeted a NAS-t, ő válaszol. Miért is ne tenné, hiszen mi köze van a pingelésnek az SMB-hez?
  • ha csak a megosztásait akarod tallózni, akkor azt mondja, hogy ilyen eszköz márpedig nincs.
  • ha hálózatmonitorozol, akkor látod? Maximum, hogy SMBv1. De ettől még nem biztos, hogy rájössz, hogy itt bizony ingoványos talaj van a két kommunikáló fél között.
  • ha viszont csatolnád, mint hálózati meghajtó az egyik megosztását, akkor viszont jön a szép hibaüzenet, ami pont erre az SMBv1 nem támogatásra figyelmeztet. RTFszöveg (az RTFM után szabadon…)

Marad a másik megoldás: Nézzük meg, hogy nem-e lehet-e mégiscsak bekapcsolni-e a Windowsból-e az SMBv1-et-e? Kutakodva mindenfelé, leginkább azt írja az internet népe, hogy hogyan lehet kikapcsolni GPO-ból, Registryből, PWS-ből, Optional Features közül. Hopp, ez utóbbi ismerős lehet, ha itt ki lehet kapcsolni, nézzük meg, hogy az új verzióban megvan-e a visszakapcsolás lehetősége. A Windows fícsörök gyors ki-bekapcsolásához az optionalfeatures.exe-t futtatjuk, és láss csodát, ott az opció, hogy vissza tudjuk kapcsolni a támogatást.

Add-Remove Programs client method

Egy restart, egy újra próbálkozás, és huhh, megmenekültünk!

Házi feladat. Miért kell az SMBv1-et kidobni? Miért jó a v2, v3? Miért ne kapcsoljuk vissza a v1-et?

Nyilván átmeneti megoldásnak, tűzoltásnak azért csak jó lesz, de fel lehet venni a feladatlistánkra, hogy foglalkozzunk a témával a közeljövőben (azaz lehet, hogy mégsem ússzuk meg a Linux lelkivilágának piszkálását).

Szólj hozzá!

Jönnek a Cray szuperszámítógépek az Azure-ra!

2017. október 25. 11:34 - Plesz Gábor (NetAcademia)

Ha valakinek még kétséges lett volna, hogy érdemes-e az Azure-ral foglalkozni.

Az Azure a Microsoft úgynevezett felhőszolgáltatása. Ez azt jelenti, hogy high-tech számítógép központokban Microsoft rendszermérnökök által üzemeltetett szervereken mindenféle, de tényleg mindenféle informatikai infrastruktúrát bérelhetünk. Ezzel a Microsoft nem egyedülálló, még még csak nem is úttörő, van az Amazonnak az AWS ami azért előbb volt, mint az Azure, a Goggle-nak a GoogleCloudPlatform, és jó néhányat lehetne még sorolni a kisebbekből is.

Mi az Azure-t használjuk elsősorban, ennek az oka az lehet, hogy bár Microsoft infrastruktúrát az Aws-en is lehet bérelni, az Azure egy Microsofton szocializálódott fejlesztő számára inkább hazai pálya. Így hát joggal tudom mondani, hogy az elmúlt két évben látványos a fejlődés az Azure-on, Windows, Linux, illetve ilyen alapú kulcsrakész komplex csomagok elérhetőek (RabbitMQ, ElasticSearch, kölönféle virtualizációs szervermegoldáson keresztül, a teljes listát nem lehet felsorolni). Azt azért lehet mondani, hogy elsősorban PC architektúrájú megoldások elérhetőek.

És az egyik előnye a sok közül a felhőszolgáltatásoknak, hogy akár egy napra, vagy akár egy órára kipróbálhatjuk az elérhető legnagyobb teljesítményű gépeket, vagy a belőlük alkotott hálózatokat, mivel az elszámolás lehető teszi, hogy bekapcsoljuk, majd ha már nem kell kikapcsoljuk őket.

Ide érkezik a Cray szuperszámítógépek által kínált kimagaslóan nagy teljesítmény, a kifejezetten számításigényes műveletek támogatásához. Ezzel, ami egykor csak kiváltságosok számára volt elérhető, egy karnyújtásnyira kerül.

Szólj hozzá!

Multiplatformos fiddler? Hát persze, hogy .NET Core :)

2017. augusztus 25. 09:26 - Plesz Gábor (NetAcademia)

(Véletlenül tudom, hogy indul C# tanfolyam teljesen kezdőknek,Vagy inkább .NET Standard, de ez csak a csomó a kákán. A Standard a specifikáció, a Core pedig az implementáció, hogy két jól hangzó idegen szóval ékesítsem a mondatot, vagyis ugyanazt eredményezik bizonyos szempontból.

Őszinte leszek, azt sem tudtam, hogy a Fiddlert (is) a Telerik jegyzi, de használni használtam már http/https forgalom figyeléséhez, API teszteléséhez. A lényeg, hogy egy igazi Microsoft-os termét az Internet Explorer(!) Program Managerétől Windows-ra (a Program Manager-ről itt olvashatsz, és még egy cikk a témában), 2003-ból, amit 2012-ben megvásárolt a Telerik.

Hát most multiplatformossá válik, köszönhetően a .NET Core lehetőségeinek:

FiddlerCore for .NET Standard and Fiddler Orchestra—the Future of Fiddler

Szép új C# világ :)

(Véletlenül tudom, hogy indul C# tanfolyam teljesen kezdőknek a jövő héten. Aki belevág, nem tesz rossz lóra.)

Szólj hozzá!

Az Akka.NET csatlakozott a .NET Alapítványhoz. Miért érdekes ez?

2017. augusztus 14. 11:34 - Plesz Gábor (NetAcademia)

Nagy teljesítményű, jól skálázható, robosztus és hatékonyan programozható, nagymértékben párhuzamosan végrehajtható alkalmazások készítéséhez használják az Actor modell-t.

Legelőször is a Microsoftnak van saját Actor model implementációja (Orleans). Például a Halo4 és Halo5  játékok hálózati kiszolgálásának ez a háttere.

Aztán, ha akarjuk valamennyire ide lehet számolni az Azure Service Fabric szolgáltatását is.

Az Akka.NET-ről már volt említés itt a blogon, ő az eredeti Akka portolása .NET alá, amit néhány civil kezdett néhány éve.

Ez itt egy jó áttekintő összehasonlítás az Akka.NET és az Orleans tulajdonságairól, ez pedig az Akka csapat összehasonlítása az Akka és az Orleans környezetekről.

Szóval ehhez képes nagy dolog, hogy az Akka.NET csatlakozott a .NET alapítványhoz:

Akka.NET has Joined the .NET Foundation

 

Szólj hozzá!

Ha még nem használsz Automapper-t, akkor itt az ideje az ismerkedésnek

2017. augusztus 04. 10:02 - Plesz Gábor (NetAcademia)

A magasabb szintű programozási nyelvek egyik leghatásosabb eszköze a változók használata. A változók egyszerű, könnyen áttekinthető használata. Nem kell már beírni a regiszterbe, ha egy számot a következő műveletben fel szeretnénk használni, és a sztringek misztikus kezelése is sokat egyszerűsödött, ha valaki mondjuk például C#-ot használ.

Ez tehát elmondható a számokról, szövegekről, egyszóval, (szakmai szargonban) az érték típusokról. A hivatkozás típusok (amikor egy bonyolultabb konstrukciót hozunk létre és használjuk, szintén zsargonban osztályt példányosítunk) azért még adnak munkát rendesen.

Legalábbis, az Automapper előtt ez volt a helyzet.

Ha például egy jármű típust hozunk létre, megadva, hogy hány kereke, ajtaja, miegymás értéke van, ami őt jellemzi, majd szeretnénk ezzel kezdeni valamit, akkor két lehetőségünk is van. Ez az autó valahol csücsül a memóriában, és az őt "tartalmazó" változóban a rá mutató hivatkozás segítségével érhetjük el. Műveletet végezhetünk rajta, megszüntethetjük, vagy ezt a hivatkozást betehetjük egy másik változóba.

Vagy, létrehozhatunk egy másik autót, egy másik helyen a memóriában, és szépen végigmenve az autó tulajdonságain, egyesével átmásolhatjuk az ajtók számát, a kerekek számát és a többi jellemzőt. Gyakorlatilag  értékadást szimulálva, mindha egy számot írnánk egyik változóból a másikba.

Legalábbis, az Automapper előtt ez volt a helyzet.

Az AutoMapper egy nyílt forráskódú eszköz, .NET fejlesztőknek C# nyelven. Nuget-tel települ, és a küldetése az, hogy ha nem referencia, hanem érték szerint szeretnénk értékadást végezni két osztály típusú változó között, akkor nem kell egyesével kézzel végigmenni egy osztály felületén és minden tulajdonságot lemásolni, hanem egy lépésben egy értékadással elvégezhetjük. Ez triviális módon megy, ha azonos típusú példányokról van szó.

De az AutoMapper nem áll meg itt, hanem képes különböző típusok közötti konverzióra, listák közötti értékadásra egy lépésben, nem felejti el, ha időközben változott az osztály definíció, és már színt is nyilvántartunk az autó példányban, a .NET Standard támogatással nem csak windows-on, de linuxon, androidon és iOS-en is bevethető, és még sorolhatnám a képességeit napestig.

És hogy miért írtam ezt a sokmindent? Eddig is lehetett sejteni, hogy ez egy jó irány, persze meg kellett tanulni a használatát, és ez néha nem esik jól az embernek. De az irány az valahogy mégis rendben lévőnek látszott.

Nos, ezt most már a .NET alapítvány is hasonlóan gondolja:

AutoMapper joins the .NET Foundation

Szólj hozzá!

Peachpie: 7.1 PHP fordító .NET platformra II.

2017. július 28. 18:39 - Plesz Gábor (NetAcademia)

Korábban szűkszavúan már hírt adtunk a kezdeményezésről, ami egy érdekes egzotikum volt, a phalanger nevű PHP fordító utódja. Most azért érdemes is visszatérni rá, mert néhány hónapja bejelentették, hogy pár módosítással már a Wordpress forráskódját is fordítani és futtatni tudja ez a PHP fordító, most pedig, hogy már a .NET alapítványhoz tartozik.

Itt egy videó is erről. A fordító .NET Core környezetre fordít, ami a gyorsaságra igazán sokat ad, a sebességre úgy tűnik itt is figyelnek, így a PHP világ legjobb megoldásai a .NET Core újdonságaival ütős páros lehet.

A dolog egyelőre nem éles üzemeltetésre kész, bár van aki használja már, de hogy van-e fantázia benne, az már látszik.

Saját template-ekkel, VS Code beépülővel érkezik, nyílt forráskódú.

Innen vagyok ilyen tájékozott:

Peachpie - Open Source PHP Compiler to .NET and WordPress under ASP.NET Core

 

 

 

Szólj hozzá!

A Multiplatform fejlesztés tanulságai: az FTP

2017. július 24. 10:40 - Plesz Gábor (NetAcademia)

Egy hibakeresés története, ami minden windows fejlesztő számára érdekes, aki szeretné az alkalmazását linuxon is futtatni. Két fejlesztő, két környezet, ami valamennyire egyforma, majd a végén már teljesen az. Ugyanaz a HelloWorld(!) alkalmazás, az egyik fut, a másik nem. És tíz óra múlva sem.

Van a történetben C#, .NET, image burner (Win32diskimager, etcher.io), Filezilla, WinSCPstrace, GDB,  FTP, és ...

Nem lövöm le a poént, érdemes végigfutni, hogy legközelebb a végén kezdjük a keresést.

13 hours debugging a segmentation fault in .NET Core on Raspberry Pi and the solution was...

Szólj hozzá!

ASP.NET Core: 859 szeres(!) teljesítmény javulás 2015.11.23 és 2016.11.16 között

2017. július 10. 11:06 - Plesz Gábor (NetAcademia)

Plain text kérések kiszolgálásában, linuxon.

Ez egy korábbi anyag, de most találtam rá. Egy nagyon széles merítéssel dolgozó, reális kiszolgálóterhelést szimuláló, webes keretrendszerek teljesítményét tesztelő kezdeményezés. A tesztet végző kódok nyílt forráskódúak, a kódtár a githubon nyilvános, nagyrészt önkéntesek írják őket, és a mai napon 9.351 db (!) commit-et tartalmaz. A teszteket általában AWS infrastruktúrán futtatták, de ez a kör (Round 13) az azure-on futott.

Ahogy a írják az ASP.NET Core-ról:

"We congratulate the Microsoft .NET team for a massive performance improvement and for making ASP.NET Core a mainstream option that has the performance characteristics of an acutely-tuned fringe platform. It’s like an F1 car that anyone can drive. We should all be so lucky."

Ebben a kategóriában ebben a körben 10. volt, az utolsó -Round 14- körben egy kissé visszaesett, a másodpercenként 1,822,366 kérés kiszolgálásáról 1,713,171-ra és 14.re (145-ből).

A többi kategóriában nem muzsikált ennyire szépen, de azért mondhatni jól állja a sarat. Érdemes összehasonlítani a nodejs, ruby, php vagy a spring teljesítményével például, házi feladat, nem lövöm le a poént:)

Ami szerintem a legfontosabb, hogy az ASP.NET Core csapat ringbe szállt, és a vállalja hogy félévenkénti független megmérettetésen, nyilvános formában kiderül, hogy másokhoz képest milyen éppen a teljesítménye a keretrendszernek.

Szólj hozzá!