Archive for the ‘Tech-Ed’ Category

Kéthétnyi kihagyás után, mely nagyrészt beadandó, könyv és hibajavító kódok írásával telt, ismét jelentkezem egy újabb (remélhetőleg) érdekes és hasznos cikkel. Ebben a részben Chris Diaz (Visual Studio-s csapatnál group program manager) Tips&Tricks: Visual Studio 2010 IDE & Extensions nevet viselő előadásán elhangzottakat szeretném Veletek megosztani.

Elsőre kicsit szkeptikusan álltam hozzá, mert az ilyen előadások ritkán szoktak hasznos információval szolgálni, de végül pozitívan kellett csalódnom. Sok okosság hangozott el (étvágygerjesztőként: a VS 20 millió kódsorból áll; kommentek, whitespacek nélküli is, több mint 4 millió) és nem csak egy másfélórás shortkey bemutató volt az egész. Nézzük sorjában a fontosabbakat:

– A Visual Studio kezdőlapját teljesen áttervezték. Jár is érte a piros pont a VS csapatnak. De a legjobb az egészben, hogy bárki átszerkesztheti, sőt akár fejleszthet is bele új modulokat (mármint a kezdőlapba). Ehhez annyit kell tenni, hogy az online template-k között rá kell keresni a Custom Start Page Project Template-re. (A háttérben a Visual Studio Gallery oldal taralmában keresünk.) Ehhez előtte persze fel kell telepíteni a Visual Studio SDK-t. Ha ez megvan, akkor a letöltött start page template-t egyből tesztre is szabhatjuk. Build után a Visual Studio-ban úgy tudjuk beállítani az új kezdőlapot, hogy elnavigálunk a Tools >> Options >> Startup és itt a Customize Start Page legördülő listából ki kell választani a sajátot.

Magyarított egyedi VS kezdőoldal

– Egy másik hasznos dolog a Productivity Power Tools  kiegészítés a Visual Studio-hoz, amelyet az MS fejlesztett (igazándiból azt nem értem, ez miért nincs alapból benne). Ez valójában egy tonna cool szolgáltatást tartalmaz (pl.: Solution Navigator, Quick Access) és egy jó pár olyat, ami nélkül azért lehet élni (pl.: tripla kattintás, ctrl + klikk >> go to definition, stb.). Én most csak a Solution Navigator-t és a Quick Access-t mutatnám be. A Solution Navigator-nek két nézete van, az egyik a Solution Explorer és a Class View összedolgozása igazándiból, a másik egy inline referencia és hívás kereső. Ezek eléggé elő tudják segíteni egy új rendszer megismerését, vagy egy komplex rendszer átlátását. (Persze ez nem helyettesíti az architecture explorer és a függőségi gráf használatát.)

Solution Navigator 

Inline Solution Navigator

A Quick Access ablak lényege, hogy egy adott fogalomhoz kapcsolódó összes Visual Studio-s szolgáltatásra, menüpontra, beállításra, stb. rá lehet keresni. Tehát ha például a debug beállításait nem találjuk az IDE-ben, akkor egyszerűen le kell ütnünk az CTRL + 3-at és be kell írni a keresőbe, hogy debug, a többit a VS megoldja. Ez egy eléggé hasznos és gyakran használható kis ablak szerintem.

– A harmadik bekezdésbe néhány kódszerkesztésnél hasznos feature-t és billentyűkombinációt gyűjtöttem össze. Néha elfordul olyan, hogy az IntelliSence és a VS túlbuzgó, például ha egy még meg nem írt metódust akarunk meghívni egy osztály példányon, akkor ő a hozzá legjobban hasonlító szóra fogja lecserélni az általunk beírt függvény nevét. Jó hír, le lehet ezt tiltani ideiglenesen az IntelliSence-nél (egy úgynevezett Suggestion Mode-ba lehet átváltani) a Ctrl + Alt + Space segítségével. Persze ne felejtsük el utána vissza bekapcsolni! Egy másik hasznos feature a több sor egyidejű módosítása, pl.: hozzáférési szint átállításkor. Ilyenkor az Alt + egér vagy az Alt + Shift és a le,föl,jobbra,balra gombok segítségével ki kell jelölni a szerkesztendő sorokat, majd utána már gépelhetjük is a kódot egyszerre több sorba.

 Utolsó dologként a blokkmozgatás technikát mutatnám meg. Jelöljük ki a mozgatni kívánt szöveget és az Alt + le,föl gombok segítségével helyezzük át a megfelelő helyre. Néhány esetben valamivel kényelmesebb, mint a Ctrl+C, Crtl+V páros.
Utolsó gondolatként csak annyit fűznék még hozzá ehhez a bejegyzéshez, hogy érdemes megnézni az előadásról készült videót, mert tényleg sok hasznos dolgot, technikát lehet belőle tanulni.

A sorozat következő részében az SQL Server 2008 R2 egy új szolgáltatásával fogunk foglalkozni. (Változás jogát fenntartom!)

A Tech-Ed-es sorozatom első szakmai cikkének Christian Wenz által tartott Web Applications in Danger: Attacks Against Web Sites and RIAs interaktív szekciójának taglalását választottam. Bár a címből nem látszik, de ez valójában egy kétrészes előadássorozat első fele, melynek a folytatása a Usability, SEO, Security: Common RIA and Ajax Mistakes (and Fixes) nevet kapta. A kettő együtt alkotja a mostani blogbejegyzésem témáját.

 Webes Támadások

A biztonságról (kifejezetten a webes alkalmazásoknál, melyeket bárki elérhet, emiatt több lehet köztük a potenciális rosszakaró) órákon és órákon keresztül lehetne (és kéne is) beszélni, de sokan csak úgy gondolnak rá (rendkívül helytelenül), hogy ez csak egy extra szolgáltatás. NEM, az alkalmazásoknak ugyanúgy a szerves részét képezi a biztonság, mint például az adatelérési réteg. Ebben a bejegyzésben nem a téma létjogosultságáról és az alapjairól szeretnék értekezni, hanem (mint ahogyan az előadásokon is) néhány érdekesebb és mostanság „divatos” támadási technikát és ellenszert (countermeasure-t) szeretnék Nektek bemutatni, Veletek megosztani.

Támadások célpontjai

Az SQL Injection-ről (1,2,3) és a Cross-Site Scripting-ről (1,2,3) (remélhetőleg) már mindenki hallott és tudja, miként kell ellenük védekezni. Viszont a Cross-Site Request Forgery-ről (1,2,3,4) vagy a Clickjacking-ről (1,2,3,4) már annál kevesebben. Kezdjük először a CSRF kivesézésével kérdez-felelek formában.

– Mi is az a Cross-Site Request Forgery?
– Ez egy olyan webes támadási technika, amelynek az alapja pont az XSS alapjának ellentéte. Míg ott a felhasználó bízik meg az adott oldal tartalmában, addig itt a weboldal fogadja bizalmába a klienst és hajt végre a nevében a nem kívánt műveletet. A CSRF-et szokás még XSRF, illetve session riding néven is emlegetni.

– Hogyan működik a CSRF?
– Az áldozatnak be kell jelentkezve lennie egy adott rendszerbe, ahol az authentikációs információk egy részét a sütiben tárolják. Ezeket az értékes adatokat a böngésző egy GET http utasítás ellenében minden további nélkül rendelkezésére bocsájtja a rendszernek. Az URL-be be lehet csomagolni GET paramétereket, amelyek segítségével az oldalon meg lehet hívni bizonyos műveleteket. Íme, egy egyszerű példa:

https://ourbank.com/withdraw?from=you&to=me&amount=1000000

Ha mindezt mondjuk egy kép src attribútumába helyezzük el, akkor az áldozat számára az egész művelet mind addig láthatatlan marad, amíg meg nem érkezik a hó végi számlakivonata a banktól.

Cross Site Request Forgery működése

– Miként lehet ellene védekezni?
– Kliensként javaslott kijelentkezni a rendszerekből, ha már nem használjuk őket és elkerülni az „emlékezzen rám” lehetőségeket. Fejlesztőként használjuk a Synchronizer Token Pattern-t, melynek lényege, hogy egy extra véletlen generált token-t is utaztatunk az oldalon, melyet a sessionid-val együtt mindig megvizsgálunk oldalkéréskor. További lehetőségek az alábbi oldalon találhatóak.

 

– Mi is az a Clickjacking, vagy klikkeltérítés?
– Ez is egy olyan webes támadási technika, mely a weboldal felhasználó iránti bizalmára épül. Itt a kliens a tudta nélkül kattint egy olyan gombra, mely olyan http üzeneteket küld el, melyekkel saját magáról adhat ki információkat, vagy rosszabb esetben akár a gép fölötti irányítást ruházza át másra. Szokás ezt a támadást még UI redressing-nek is hívni.

– Hogyan működik?
– A technika lényege, hogy a támadó rávegye az áldozatot arra, hogy rákattintson egy olyan linkre, amire esze ágába nem klikkelne, ha tudna róla. Általában egy iframe segítségével két réteget hoznak létre egymás fölött, ahol a felső réteg nem feltétlenül fedi teljesen az alsót. Amikor a felhasználó azt hiszi, hogy rákattint a felső rétegen egy gombra, akkor valójában az alsó rétegen lévőre kattint és annak a kódját hajtja végre a rendszer. Az elmúlt pár évben ez eléggé nagy port kavart, ugyanis ily módon a flash webkamera funkcióját is be lehetett aktiválni. Néhány érdekes cikk a témával kapcsolatban(1,2,3,4).

Clickjacking működése

– Miként lehet ellene védekezni?
– Kliensként egyrészt ne kattintgassunk mindenféle reklámra, mely valamilyen banális dolgot kínálnak számunkra INGYEN. Másrészt használjuk a FireFox-os NoScript kiegészítést, mely CleanClick-nek elnevezett funkciója meggátolja, hogy clickjacking áldozattá váljunk. Fejlesztőként használjuk a framekiller nevezetű js kódot, mely meggátolja, hogy az oldalunkat mások beágyazhassák frame-ekbe, vagy használjuk az X-Frame-Option header tag-et.

 

– További webes támadásokról és ellenszereikről, hol olvashatok bővebben?
– Egyrészt az alábbi MSPress könyvben: Developing More-Secure ASP.NET 2.0 Applications, másrészt pedig az OWASP és a Seven Deadliest WebAttacks oldalakon.

– A jövőben szívesen olvasnál a blogon hasonló témájú cikkeket?
– Ha igen, akkor kérlek, jelezd valamilyen úton-módon.

A Tech-Ed cikksorozat második részében magát a konferenciát szeretném Nektek bemutatni.  Ez a több mint 3000 fejlesztőt és üzemeltetőt Németország szívébe csalogató öt napos konferencia az európai színhelye a minden évben 3 kontinensen megrendezésre kerülő Tech-Ed franchise-nak.  Az amerikai változatot bonyolítja le a leghamarabb még májusban, majd utána jön az európai hadszíntér, végül pedig Kína decemberben, illetve Dubai márciusban.

A Tech-Ed oly módon van felépítve, mint a PDC vagy a MIX, vagyis van egy plenáris ülés, amit Keynote-nak hívnak, utána pedig több teremben folynak párhuzamosan az előadások, melyek közül a hallgatóság tetszése szerint válogathat. Az előadásokat alapjában véve kétféle szempont szerint csoportosítják: szint (level {100, 200, 300, 400}), illetve tartalom (pl.: architektúra, adatbázis, menedzsment, webfejlesztés, mobilfejlesztés, stb.). Persze a szint sokszor becsapós, ugyanis level 300-as előadások is néha eléggé bevezető szintűre sikerülnek. Minden előadás 1 óra hosszú (rövid), ezért van egy jó pár olyan témakör, amikből emiatt előadássorozatokat szoktak inkább tartani (pl.: software testing, performance tuning). Vannak úgy nevezett interactive session-ök is (interaktív szekciók), melyek nem 300-500 fős előadótermekben kaptak helyet, hanem a kiállítási részlegen belül lekerített kb. 30-40 fős pavilonokban. Mint ahogyan a nevéből és a létszámból is adódik, itt van lehetőség beleszólni, belekérdezni az előadásba. Összességében több mint 150 előadó közel 600 előadással szórakoztatta kb. 3,5 napon keresztül a nagyérdeműt.

Az alapozó után nézzük meg mennyivel tudott többet/kevesebbet nyújtani az idei berlini Tech-Ed a két évvel ezelőtti barcelonaihoz képest.

Barcelona VS. Berlin (TechEd)

Nos, Barcelona a földrajzi adottságai miatt előnyt élvez, ugyanis ott a mediterrán időjárás és a tengerpart közelsége, melyek rendkívül kellemes élményt nyújtanak. Berlinről sajnos ez nem mondható sőt, sajnos szinte mindennap esett az eső és eléggé hideg is volt az ott létünk alatt.
A konferenciának helyet adó épületek közül nekem személy szerint a barcelonai sokkal szimpatikusabb volt. Ott egyetlen hatalmas épület volt, amiben nehezen lehetett eltévedni. Míg a berlini Messe Berlin csarnok valójában egy épületegyüttes, melyben nagyon egyszerű elveszíteni a fonalat, hogy éppen merre is van az arra. Két előadás közötti szünetek nagy része mindig azzal telt el, hogy kerestük a következő termet és elkóboroltunk valahogy oda negyedóra alatt.
Sajnos az idei büdzsé valamivel kisebb volt, mint anno két éve. Ez nagyon meglátszott azon, hogy összevonták az üzemeletető és fejlesztő konferenciát (60/40 arányban voltak az előadások, sajnos), illetőleg a regisztrációkor szokássá vált Tech-Ed táskákat is leváltották szatyrokra. Sajnos idén Company Store se volt jelen, ahol lehetett volna cool MS cuccokat beszerezni vagy akár MsPress könyveket.
A berlini Tech-Ed egyik pozitívuma az volt, hogy sok konferencia utáni (este 7 utáni) eseményt szerveztek. Volt Windows Phone este, volt Magyar est, volt Student Partner est, stb..

Összességében azt mondanám, hogy a rendezvény színvonala sajnos kicsit esett az elmúlt években, de a szakmai értéke cseppet se csorbult. Bár az előadásokat összeválogatni (úgy, hogy főleg cloud és wp7 előadások voltak a developer szekciókban) és rájuk bejutni eléggé nehézkes feladatnak bizonyult, de ha egyszer sikerült bekerülni, akkor sok-sok hasznos információval gazdagodhattunk.

Utolsó utáni gondolatként egy pletykát hadd osszak meg Veletek, mi szerint lehet, hogy jövőre nem biztos, hogy lesz Tech-Ed Europe, ugyanis a franciák nem tudnak megegyezni a németekkel, hogy ki tartsa jövőre a rendezvényt. Hogy ennek mennyi igazság tartalma azt nem tudom, de mindenesetre érdekes lenne, ha 2011-ben Párizs adna otthont a konferenciának.

Ebben a most induló cikksorozatban az elmúlt egy hetes berlini Tech-Ed élményeimet szeretném Veletek megosztani.  A cikkek vagy pontosabban blog-bejegyzések, nem lesznek túl hosszúak, maximum 1 oldalasak. Elsőként magát Berlint szeretném bemutatni Nektek, majd a következő részben a Tech-Ed-et im allgemeinen (overall) + összehasonlítva a két évvel ezelőtti barcelonai változattal, ezek után pedig az érdekesebb előadásokról ejtenék majd néhány szót.

Berlin egy nagyon érdekes város melyet, nagyrészt a történelemi múltjának köszönhet. Alapból két reptérrel rendelkezik, és nem azért mert egy nem lett volna elég a légi forgalom kiszolgálásához, hanem mert ugyebár egy jó ideig két külön országhoz tartozott. Egy másik fontos dolog, amit szintén a világháborúnak köszönhet Berlin az a tágas terek, a jól szervezett közlekedés, illetve a régi és modern épületek kontrasztja. A lebombázás következményeképpen a teljesen újjá épített és újraszervezett város könnyen ki tudta küszöbölni azokat a hibákat, amelyek a mai nagy városokat túlzsúfolttá teszik. A rendkívül hatékonyan megszervezett tömegközlekedésnek köszönhetően sokan használják a BVG-t (az ottani BKV-t), így kevesebben járnak autókkal az utakon. Ennek következtében ritkán fordulnak elő dugok, és sok utat át tudtak alakítani sétálóutcákká. (Mindemellett sok-sok park és tér is tarkítja Berlin térképét.)  Szinte mindenhol van kerékpár sáv is, illetve biciklitároló helyek is találhatóak szerte a városban. A tömegközlekedés oly annyira jól megoldott, hogy az egy hetes kinn tartózkodásunk alatt mindösszesen kétszer használtunk buszt (akkor is a reptér miatt), a többit meg tudtuk oldani S-Bahn-nal (itteni HÉV megfelelője), illetve U-Bahn-nal (a metró ottani neve).
A közlekedési lámpák is egyediek Berlinben ugyanis itt kalapos emberkék jelzik a gyalogosok számára a szabad átkelést vagy éppen a várakozást.

Közlekedési lámpa Kelet-Berlinben

A berliniek ezt annyira magukénak érzik, hogy a szuvenír boltok nagy része ilyen ábrákkal ellátott bóvlikat árul. A másik nagyon menő figura a medve, ami onnan jön, hogy a Berlin-t úgy is le lehet írni, hogy Bärlin (der Bär – németül a medve).

Barlin

Építészet ügyileg a német fővárosban látszólag jól megférnek egymás mellett a régi stílusú múzeumok, templomok és az ultramodern irodaházak, plázák. Számomra viszont teljesen kiábrándító volt látni, hogy a Reichtag-tól (~ Magyarországon a Parlament) kb. 100 méterre egy hatalmas több száz méteres épület komplexum foglalja el a patak túl partját.

 Reichstag és a modern épület komplexum

Egy másik dolog, amiben sajnos csalódnom kellett: a germán nők szépsége.  Ennek persze nagyon sok köze van ahhoz, hogy a németek egy eléggé öreg társadalom, kb. 40-45 év lehet az átlag életkor az általunk vett minta alapján. Plussz az elvétve néha-néha felbukkanó fiatal mädchen-ek sem voltak éppen a korcsoportjuk kiemelkedően hübsch példányai.

Utolsó gondolatként még a német konyhaművészetről emlékeznék meg pár szóban: íztelen és mindemellett wc-re gyakran csalogató ételeik vannak, ellenben nagyon sok finom sörük is van. 

Bár a városról és a német életvitelről még nagyon sok mindent lehetne írni, de akkor sajnos nem férnék bele az 1 oldalas méretkorlátba és ezt különben is látni kell. Én tényleg csak ajánlani tudom mindeninek, mert pénzügyileg sem egy vészes dolog: a repülőjegyeket 30 ezer alatt sikerült beszereznünk (és nem fű alatt) a szállásunk is egy 3 csillagos szállodában volt és 6 napra 2 főre 200 euró környéki összegtől szabadították meg a bankkártyánkat.