A BalaBit szervezésű, programozóknak szóló tudásbővítő esemény 2014. június 12-én zajlott a BME Q épületében, a Simonyi Károly előadóteremben.  A szervezők mottója; a szaktudás a legnagyobb érték, vigyázni kell rá és frissen tartani, a világszerte egyik leggyorsabban fejlődő iparágban a mai tudás könnyen válhat holnapra értéktelenné. Erre kínál az Open Academy  megoldást minden érdeklődőnek, költségmentesen; gyakorló szakemberek és egyetemi oktatók segítségével, munkaidőn túli időzítésben. 

A BalaBit szervezésű, programozóknak szóló tudásbővítő esemény 2014. június 12-én zajlott a BME Q épületében, a Simonyi Károly előadóteremben.  A szervezők mottója; a szaktudás a legnagyobb érték, vigyázni kell rá és frissen tartani, a világszerte egyik leggyorsabban fejlődő iparágban a mai tudás könnyen válhat holnapra értéktelenné. Erre kínál az Open Academy  megoldást minden érdeklődőnek, költségmentesen; gyakorló szakemberek és egyetemi oktatók segítségével, munkaidőn túli időzítésben. 

A júniusi esemény témái és előadói:

Felhasználó-központú tervezés (UX)

Nagy Dániel Dávid, Budapesti Műszaki és Gazdaságtudományi Egyetem, egyetemi előadó, ügyvivő szakértő, három éve tanítja a felhasználói felületek ergonómiája tárgyat a BME-n.

 

Mobil, vagy webes alkalmazások fejlesztésekor egyaránt szükség van kliens-oldali grafikus felhasználói felületre (GUI), azok elérésére. Az elérhető képességek felhasználói értékelése nagy mértékben függ a kezelőfelület minőségétől, a felhasználóban kialakuló (azonnali) élményre nagy hatást gyakorolhat.

A pozitív felhasználói élmény biztosításához kiterjedt kutatómunkára és tervezésre van szükség, ezután következhet a fejlesztőeszköz alkalmazása. A vonatkozó folyamat legfontosabb elemeivel, eszközeivel, buktatóival ismertette meg a hallgatóságot az előadó.    

 

A felhasználó-központú tervezés egyfajta módszertant jelent a kényelmesebben használható szoftverek előállítására. Az általunk írott alkalmazás azok számára legyen használható, akik ténylegesen kezelni fogják a saját gondolkozások szerint.

A „pozitív felhasználói élmény" kifejezéssel kapcsolatosan sok a félreértés, sokféle definíció van használatban.

Az előadó szerint a legjobb megközelítés; az az élmény, amit a termék kivált a felhasználóban, amikor valós körülmények között használja azt. A felhasználói élmény értékelésekor nem arra vagyok kiváncsi, mi az, amire a termék használható, hanem, hogy hogyan használható. Sok, hasonló tudású alkalmazás közül a felhasználók azt fogják előnyben részesíteni, amely kellemes környezetet teremt számára, még akár ha kisebb tudású is. 

Félreértések övezik a felhasználás szempontjából a „user experience" kifejezést is, melyet nem teljesen fed a magyar „felhasználói élmény". A marketingesek sok esetben azt akarják elhitetni velünk, hogy egy jó termék felhasználói élménye legalább annyira kielégítő és izgalmas, mint egy hegyi kenuzás. Pedig a témakör lényege nem ebben van, sokkal kevesebb dologról van szó igazából, s ez a kevesebb dolog maga is nehezen elérhető célt jelent.  

Nem abban az értelemben törekszünk pozitív élményre, mint amilyen nagy élmény számunkra egy izgalmas könyvet elolvasni, vagy egy ismeretlen országot meglátogatni. Élményből annyit szeretnénk, hogy egy ébresztő órát könnyen be tudjunk úgy állítani, s a beállított időben megfelelően jelezzen. Ez nem hangzik nagy elvárásnak, túl izgalmasnak, de gyakran mellőzik a témával kapcsolatban. Az adott dolog egyrészt rendelkezzen azzal a funkcióval, amit használni szeretnék, másrészt „adja magát" a használata. Emlékezetes példa, hogy a kazettás videomagnókon

az aktuális időt a felhasználók gyakran be sem állították, állandóan fals értékeket mutatott, ennek használata nem volt evidens. Másrészt legyen olyan funkciója az ébresztőnek, amire igény van; a legtöbb online ébresztőóra alkalmazás-megjelenítőn az aktuális időn kívül nem lehet egyidejűleg látni az ébresztés beállított idejét, pedig ez alapvető igény lenne… Sok mobiltelefonon sem sikerül a beállított ébresztési időt újra megjeleníteni. A hiba nem a felhasználóban van! Ilyen okok következtében sok felhasználót lehet elveszíteni.  

Hasonló problémákkal találkozik pl. a felhasználó az álláskereső oldalakon, amikor un. „kulcsszót" kér rajta számon az alkalmazás, de a kifejezésnek nincs megadva a feloldása. A felület megjelenése, a mögöttes interakció nem tekinthető egy szoftver kihúzható-betehető moduljának, ez vele együtt létezik, s ha nem megfelelő, akkor tekintélyes veszteséget okoz.  

A mobil alkalmazás-fejlesztés világa tovább bonyolítja a helyzetet. Egyfajta „aranyláz" indult be az utóbbi időben a különböző apps-okkal kapcsolatban, mint amikkel gyors gyarapodást lehet elérni. A siker nagy mértékben szerencse kérdése is, de egy mobil alkalmazást jól megcsinálni sokkal nehezebb, mint egyéb megoldásokat. Egészen más élethelyzetekben alkalmazzák, ritka eset az, amikor azért alkalmazzuk, mert restek vagyunk odaülni a számítógéphez és azon megcsinálni. Inkább arról van szó, hogy elkapott időpillanatokban szeretnénk az üresjáratokat hasznosan kihasználni, pl. egy hosszú sorállás közepette. Apró rész-műveleteket tudunk ilyenkor elvégezni pl. egy grafikus témán retusálni, de nem állunk neki szerkeszteni. Nem vagyunk kiszolgáltatva, amennyiben a készülékben található szoftver erre nem alkalmas, könnyen találunk másik, hasonló alkalmazást céljainkra. A vonatkozó fejlesztési módszerek az életciklusnak megfelelően rendszerezhetőek. 

Ahhoz, hogy az alkalmazás megfelelő felhasználói élményt tudjon biztosítani; tudnunk kell, hogy kiknek, mit és miért csinálunk, el kell dönteni, hogy hogyan fog kinézni, s tudnunk kell, jó lesz-e ez a felhasználónak.  

A következtetések levonásához fel kell állítanunk egy átlagos felhasználót, egy „perszonát". Valós emberekről gyűjtött információk képezik kialakításának alapját. Az alkalmazás lehetséges felhasználóit veszik alapul ehhez,        

A csoportra leginkább jellemző személy lesz a persona. Számára fejlesztjük az alkalmazást, közös döntési alapot fog képezni, segít a konkrét tervezési feladatokra összpontosítani, közös kiindulási alapot képez, eliminálja a szubjektív megközelítéseket. A persona kizárja az egyéni megközelítéseket. A felhasználó, mint fogalom, önmagában nem jelent semmit a tervezés számára, az a felhasználói felület, ami mindenkinek készült, az senkinek sem készült. A fejlesztés számára a persona nyújt támaszt, két-három persona, amely nagyjából lefedi a társadalmi elvárásokat, az felmutatja a szükséges és a lényegtelen elvárásokat. Figyelemmel kisérésükkel a szükséges kompromisszumok kézben tarthatók. 

Fontos, hogy mindig legyen elsődleges personánk, ő az első az egyenlők között, a personák között kialakuló konfliktus helyzetben mindig az elsődleges persona javára döntünk. Az összes sikeres alkalmazás között, egy bizonyos aspektusból, egy bizonyos célcsoport számára az alkalmazás bizonyos értéket képes biztosítani.

Azokat érdemes elsődleges personának használni, amelyek a legtöbb számunkra szükséges funkciót tartalmazzák. Az alkalmazások kinézetének megválasztásakor nem csak a kinézetre kell gondolni, hanem a funkciókra is. 

Mobil esetben, végig kell gondolnunk, mik azok a dolgok, amelyeket mozgásban is el szeretnénk érni. Alapszabály: a kevesebb több.

http://en.wikipedia.org/wiki/User_experience_design 

JavaScript Module Server

Szabolcsi-Tóth Szabolcs, Ustream, senior front-end engineer

A JavaScript ma már elválaszthatatlan a webtől, rengeteg webes alkalmazás, aszinkron kommunikáción alapuló SPA (single page application) alapja a JS kódbázis. A JavaScript kiszolgálása azonban a mai napig problémákat vet fel, ill. nem egyértelmű, hogy ilyenkor mi az ideális megoldás. Nagyszámú file letöltésekor felhalmozódik a hálózati késleltetés, egy nagy forrásfile letöltése pedig blokkolja az oldal működését, ill. cache problémákat vet fel. Ezen gondok megoldására hoztak létre a Ustreamnél egy szerveralkalmazást, ami kifejezetten JavaScript modulokat szolgál ki, kezeli azok függőségeit, a kérések számát, s a file-méretet a lehető leghatékonyabb módon kezeli.   

Az előadó szólt magáról a problémáról, a Ustream megoldásáról, és a szemléletben rejlő azon lehetőségekről, hogy a JavaScript kód többé nem egy statikus fájlt jelent egy ftp szerveren.

https://hu-hu.facebook.com/UstreamHungaryKft 

http://en.wikipedia.org/wiki/Single-page_application

Functional Reactive Programming in ELM

Evan Czaplicki, szoftver-mérnök, angol nyelvű előadása

Functional Reactive Programming (FRP) is a simple and elegant way to design and structure interactive code, like games and GUIs. Elm is a young functional language that brings this approach to the web, allowing you to easily create complex interactions. This talk will fully explain the key concepts of Functional Reactive Programming, building up to live-coding to show these ideas in action. It is pretty easy to integrate Elm into existing JS projects, but the key insights of FRP will help you write better programs in any language.   

http://programming.oreilly.com/2012/12/emerging-languages-spotlight-elm.html

http://elm-lang.org 

Hitchhiker's Guide To Agile Testing

Szász Zoltán, a BalaBit IT Security szoftver-mérnöke

Jelenleg vita zajlik arról, hogy a TDD halott-e, ennek kapcsán meg kell fontolni, hogyan tudunk a fejlesztés során hatékonyabban dolgozni, milyen automata tesztelési módszereket és teszt eszközöket használunk nap nap után.

Az előadó rámutatott a lehetséges felhasználási területekre, s az eszközök optimális használatára, ill., hogy lehetséges-e automatikusan azonosítani egy informális specifikáció érvényességét. 

http://en.wikipedia.org/wiki/Test-driven_development

A meetup szekció előadásai:

Online interaktív webes fejlesztés F#-ban  

Gránicz Ádám ügyvezető, IntelliFactory

A funkcionális programozás rövid áttekintése után az előadó a webes és web-alapú mobil alkalmazásoknak a  megszokott technológiáknál jóval hatékonyabb fejlesztéséről szólt. Olyan online környezet segíti mindezt, amely interaktív fejlesztést, egynyelvű programozási modellt, magas-szintű, absztrakt szerkezeteket és azonnali tesztelési lehetőséget biztosít.  

http://fsharp.inf.elte.hu 

http://research.microsoft.com/en-us/projects/fsharp  

http://www.intellifactory.com/regional/Hungary.aspx

Szöveges adatok elemzése Python-nal  

Csernai Eszter, a BalaBit IT Security data scientist-je előadásában arról szólt, miként elemezhetjük közepes méretű, memóriába egyszerre be nem tölthető, de egy gépen reálisan feldolgozható szöveges adatainkat az IPython, NumPy, pandas, PyTables és scikit-learn python modulok segítségével.   

http://hu.wikipedia.org/wiki/Python_(programozasi_nyelv)   

JavaEE7: légy REST!

Auth Gábor, Java fejlesztő, JavaForum

A JavaEE 7 egyik újdonsága a REST protokoll támogatása, így a meglévő EJB rétegünkre könnyedén tehetünk REST interfészt is, természetesen megtartva az azonosítást (authentikációt) és a jogosult hozzáférést (authorizációt) a JavaEE konténeren belül.

http://hu.wikipedia.org/wiki/REST 

http://www.ejbtutorial.com   

http://www.meetup.com/javaforum-hu  

http://docs.oracle.com/javaee/7/tutorial/doc/home.htm

Lambda architektúra Amazonon

Kasler Lóránd, Virgo, vezető fejlesztő

A big data alkalmazások sikeres implementálásához elengedhetetlen a felépítés áttekintése (az architekturális látásmód), a számos java (ill. főleg jvm alapú) technológiák ismerete és a mindenen átívelő devops (development and operations) tudás. Az előadás során be fogok mutatni egy Lambda Architektúrára épülő ajánlórendszert, folyamatosan bevezetve építőkockáit.

http://en.wikipedia.org/wiki/DevOps 

http://lambda-architecture.net 

www.virgo.hu

openacademy@balabit.hu

http://www.facebook.com/openacademy

 

Harmat Lajos

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük