2013. október 15., kedd

A robotok elleni harc folytatódik...

Folytatom elméleteimet a spambotokról, és egy kicsit beleveszem az előbb kifejtett mobilos témát is. A kettő együtt összefügg, és már egy honlap készítésénél el kell dönteni, hogy mit mutasson az oldal egy kereső robotnak, mit mutasson az oldal egy spamrobotnak és mit mutasson egy felhasználónak.

Mindenki eldönti, hogyan kíván harcolni a spamrobotok ellen. Ha az oldaladon nem engedélyezed a hozzászólást, és egy titkos admin oldalon keresztül adminisztrálod az oldalt, akkor nyugodtan elfelejtheted a harcot. De ki ne lenne kíváncsi a véleményekre, a visszajelzésekre azon kívül, hogy a statisztikát bámulod... egy weboldal célja ma már nemcsak egy egyszerű galéria, a visszajelzésekre is kíváncsi vagy, ahhoz pedig engedned kell a hozzászólásokat. Ha pedig fórumot tervezel, akkor a kérdés nem kérdés... a kesztyűt fel kell venned.
A spamrobotok nem kereső robotoknak fogják álcázni magukat, hanem normál felhasználóknak. A kereső robotokra meg szükség van, akárki akármit mond. Ha a spamrobotok nem használnak CSS-t, akkor a Honeypot jó megoldásnak tűnik, a kereső robotok meg úgysem fognak kommentelni (miért is tennék).

Milyen oldalt tervezel? Mert ez a kérdés meghatározza, hogy miként szeretnél harcolni a spambotok ellen, és miként állsz hozzá a kereső robotokkal szemben. Lássunk egy példát, és keressünk rá megoldást.

Az oldal, amit tervezünk, legyen egy felnőtt témában utazó blog - mondjuk, hogy nem szeretnénk, ha 12 éven aluliak látogatnák. Blog, tehát kíváncsiak vagyunk a látogatók véleményére. A keresőben szerepeljen a weboldalt, de ha valaki meglátogatja, akkor ne a weboldal tartalma legyen rögtön, hanem írja ki: az oldalt 12 éven aluliak nem látogathatják. Lássuk, hogyan oldjuk meg ezt a kérdést anélkül, hogy bárkinek foglalkoznia kellene különféle captcha-val, és csak a látogatáskor legyen kissé kényelmetlen a látogatás, és még névtelenül is hozzászólhatnak...

A weboldalnak minden oldal látogatáskor ellenőrzi, hogy keresőrobot-e vagy milyen böngésző. Ha keresőrobot, akkor semmilyen session-t nem fog ellenőrizni, megmutatja a tartalmat mint egy mobil böngésző, de hozzászólást nem enged (úgysem fog, de nem lehet tudni, nem-e spambot az illető, inkább legyünk óvatosak).
Ha valamilyen böngésző, akkor ellenőrizzük, hogy ez az első látogatása-e, vagy nem. Ehhez használjunk egy session vizsgálatot, azaz létezik-e egy bizonyos változó - ha nem létezik, akkor ez az első látogatás. Ha nem ez az első látogatása, akkor nincs teendőnk...
Ha viszont ez az első látogatása (mondjuk a mai nap folyamán), akkor jöhet a beléptető rendszer, benne egy honeypot-tal. Elmentjük a meglátogatni kívánt oldal hivatkozását egy sessionbe, és jön egy űrlap a következő szöveggel: "Ezt az oldalt csak 12 éven felüliek látogathatják". Alatta egy HoneyPot captcha (vagy egy checkbox is elegendő, melyet a felhasználónak ki kell pipálnia), és alatta két gomb ("Elmúltam 12 éves", "Nem múltam el 12 éves", mintkettő submit gomb, csak más name-mel). Ha a felhasználó eleget tesz a kérésnek, megkapja a session változót, miszerint látogató, és a hivatkozásra lép - mely session-t ezután törlésre ítélünk. Ha nem tesz eleget (mert spamrobot), akkor nem kapja meg a változót, és átdobjuk... mondjuk a Google-ra.
Innentől kezdve már azt se kell ellenőrizni, hogy spambot-e az illető, csak azt, hogy milyen bőngészővel nézi az oldalt. De a biztonság kedvéért az űrlapok aljára bedobhatjuk a HoneyPot captcha-t vagy ha beléptető rendszert is használunk (felhasználói név és jelszó), akkor annak aljára odadobjuk a checkbox-ot, miszerint a "Szabályzatot elfogadom".

2013. október 11., péntek

Battle of Clans

Szerepjátékos vagyok, ezért kerestem egy könnyed kis játékot a mobilomra, hogy ha unaloműzésként is BKV-zás alatt arra az 5-10 percre valahogy ellegyek. Tudom, hogy ez egy kicsit veszélyes, de így bukkantam a fenti játékra.

 A Battle of Clans, vagy régebbi nevén Battle Arena egy klikkelgetős online RPG játék Androidra. Ami tetszik nekem, hogy nem egy Mafia alapú RPG, mely külföldön nagyon elterjedt, de számomra kissé fantáziátlan. Nem is RPG-k, hanem amolyan: klikkelgessünk, gyűjtsünk be mindent, alázzuk meg a többieket, de semmi közösségi élmény nincs benne, még akkor is, ha vannak klánok, vannak úgymond kérések - aminek ha akarsz eleget teszel, ha akarsz nem, de akkor se történik semmi... de semmi. Ezekben nincs semmi olyasmin, ami alapján azt mondanánk - ez egy RPG.

A Battle of Clans nekem inkább a magyar VégzetÚrra hasonlít - hasonlóak az alapelvek, bár egy kicsit máshogyan kezdődik maga a játék. Én még csak a 10. szintnél tartok, de már látok benne egy kis közösségi elemet a játékban, és lehet, hogy lesznek a későbbiek folyamán is, de nem kívánok belelendülni, hiszen a Végzetúrnál is azok teljesítenek jobban, akik az erőforrásokat gyűjtik és hasznosítják, nem pedig a gyors haladást választják. Ám mégiscsak van különbség a két játék között... míg a szintlépés a Végzetúrnál kissé magától jön, addig a Battle of Clansnál inkább kiút a tétlenségből...

Kezdem az elején. A legtöbb játék a küldetésekbe rejti a tutorialokat... itt is így van. Kezdi a felszereléssel (kapunk egy tőrt), aztán jön a bányászat, majd jön a kováccsal, hogyan kell fejleszteni a felszerelést, hogyan kell ékkövet belerakni. Majd jön a legfontosabb rész, az Aréna, ahol összecsaphatsz a többi játékossal, de nem végtelenségig, mert van egy korlát - az Akciópontok... Minden további lépés a szintlépések után, és szinte minden szintlépés új dolgot hoz a játékba.
Ami nem lenne rossz, csak a legnagyobb bajom azzal volt, hogy a karakter fejlesztési lehetőség is szinthez köti. Van 4 Tulajdonságunk, az Erő, a Gyorsaság, az Egészség és az Ügyesség, de szinttől függ, hogy melyik fejleszthető, és szintenként kapsz 2 pontot a fejlesztésre, amivel alapban 1 Tulajdonságot fejleszthetsz +1-gyel (10. szint felett meg már +3 és így tovább). Emiatt a félreértés miatt az Erőmre többet raktam, és amikor már a többit is fejleszthettem, akkor derült ki, hogy nincs elég pontom a fejlesztésre... A fejlesztés ráadásul el van dugva a kezdőlapon, és nem is szerepel a küldetések közt... talán ezért van az, hogy a játék elején elég sok a gyenge ellenfél az Arénában.

Mint mondtam, a szintlépések után jelennek meg egymás után az újdonságok, és a küldetések is lassan csepegtetik az új információkat. De vannak ismétlődő küldetések is - pl. a bányássz 3 szenet naponta vagy a 20 győzelmet érj el az Arénában naponta. De egy kicsit előreszaladtam. Apropó, Bánya... A bányászat során fontos erőforrásokat szerezhetsz meg - pl. az ékköveket és drágaköveket, amik fontosak a felszerelésed fejlesztésénél. Persze találhatsz szenet meg fura vasdarabot, amiknek a jelentősége csak később derül ki...

Szintlépés után jelenik meg a bolt, ahol megveheted azokat a tárgyakat, amiket fel tudsz venni a szintet szerint. Azaz szintlépés után itt érdemes körülnézni, majd irány a kovács, és fejleszteni a cuccokat addig, ameddig lehet pénzért - egy idő után már csak kristályokért, amiknek a szerepéről egy kicsit később). Mivel mindennap bányászol, ezért egy rakásnyi ékkőt fogsz kapni, amit a tárgyakba be is rakhatsz a kováccsal, ezek az Tulajdonságaidat növelhetik. Aztán megjelennek (most nem tudom, melyik szinten) a Kalandozások lehetősége - ebből kétféle van, az egyik a Felfedezés a másik a Kaland. Előbbinél különféle növényeket és kincsesládákat találhatsz miután vettél egy térképet, az utóbbinál pedig különféle szörnyekkel küzdhetsz meg. És itt most kicsit elnyomok egy mosolyt, mert a kezdeti szinteken különféle katicákkal meg békákkal küzdesz meg, és kissé dühöngök is, amikor egy közelharcban sok másik játékost lenyomsz, mint egy bélyeget, de 3-4 katica és gyík eközben pépesre ver... Az egyik szintlépés után megjelenik a Kocsma is, ahol - ha akarsz, persze - a többi játékossal cseveghetsz.

Időközben lehet nézelődni, hogy milyen lehetőségek vannak még. A Kovácsnál ugyanis nemcsak fejleszteni lehet a cuccokat és nemcsak ékkövekkel felturbózni, hanem ki lehet szedni az ékköveket a tárgyakból. Ha van 10 ékkövet egy fajtából, akkor csinálhatsz egy fúziót is, hogy jobb ékövet kaphass. És itt most visszatérek az ékkövekre: egy tárgyra nemcsak egy ékkő rakható, hanem 2-3 is, de a második ékkő helyének kialakításához már nem rubin kell, hanem zafír, és a 3. helyhez gyémánt kell - de itt már nagy az esélye, hogy dobhatod a cuccodat, mert nem sikerül a művelet.
A Kovácsnál van két olyan lehetőség még, amit csak most fedeztem fel. Az egyik a saját cuccok készítése, itt a bányászott és megtalált dolgokból újat készíthetsz el, ha előtte megveszed a kezdő barkácsolók kézikönyvét. A másik a varázsitalok kotyvasztása, ahol különféle növényi alkatrészekből erős varázsitalokat kotyvaszthatsz, mellyel ideiglenesen fejlesztheted a Tulajdonságaidat. Ilyen növényeket Felfedezés során bukkanhatsz.

Jelenleg itt tartok, de már most úgy érzem, hogy szerintem ez a játék van olyan jó, mint a VégzetÚr. Mielőtt elmondanám a taktikámat a játékban, még jövök egy magyarázattal: hogy lehet ingyenes egy ilyen játék, mert egy reklámmal se találkoztam. Nos, a Battle of Clans-nak is van "ősköve", aki Végzeturas, az érteni fogja. A Kristályokkal különféle előnyök szerezhetők meg - pl. a tárgyak egy fejlettség felett már csak Kristályokkal fejleszthetők, ha elfogynak az Akciópontjaid, akkor 3 kristályért kapsz 60-at, ha türelmetlen vagy a bányászatnál, akkor kristályért cserébe gyorsan elvégezheted... és így tovább. Ám ellentétben a VégzetÚrral, kristály nemcsak pénzért (azaz utalással) szerezhető meg, hanem mondjuk szintlépésenként szerezhető 1 darab, és naponta a Facebook oldalról megszerzett promó kóddal is szerezhető 1 darab. Igazán nagy előnyét nem láttam még, mert az én taktikámmal nem igazán fér össze a kristályok gyűjtögetése és felhasználása...

És jöjjön az én taktikám - mert ezt a játékot is lehet ésszel játszani, és jól optimalizálni a karakterünket. Sokan bizonyára ott követhetik el a hibát, hogy akkor gyorsan végigjátszani, egymás után szintet lépni... nagy hiba, szerintem. A pénz sokkal fontosabb erőforrás, meg az ékkövek, felszerelések gyűjtögetése, mint az XP gyűjtése. Szintlépés után megpróbálok minden cuccot beszerezni, amit a szintem alapján be lehet szerezni, és azokat fejleszteni addig, amíg nem kerül kristályba. Ezek alapján nem ragaszkodok ahhoz, hogy annyira fejlesszek egy cuccot, hogy fájó szívvel megszabaduljak tőle. Ha a lecserélt cuccban volt ékkő, akkor a másik cuccba is rakok ékkövet, és miután már nem tudok mit csinálni, akkor megyek az Arénába, és gyűjtöm az XP-ket meg némi pénzt. Vigyázni kell a Kalandokkal is, mert ugyan ott péppé vernek a bogarak és szöcskék, de több XP-t szerzel, mint az Arénában, mint amennyi haszna van... de néhány komponenst csak ott lehet beszerezni. Ja, és egyedi cuccokat is, melyek sokkal erősebbek a boltban kapható társainál.

Mi lehet a későbbiek folyamán? Itt is vannak klánok, vagy szövetségek (12. szint után), amiknél már sokkal több lehetőségünk lehet. Ha pedig beindulnak a szövetségek, akkor bizonyára meglesz az az érzés, amit hiányolok a legtöbb Maffiás rendszerű RPG játéknál... Persze remélem, találok olyan szövetséget, melyeknél magyarok is vannak, mert külföldi klánnál elveszhet a közösségi összetartozás érzése...

Módosítás: VAN MAGYAR KLÁN. Ha a klánkeresőbe beütitek, hogy magyar, akkor egyből kidobja a Magyar szocialista m [HUN] klánt. Bár nem értem, miért ez a nevük, de ez tűnik az egyetlen magyar klánnak a játékban...

2013. október 1., kedd

A Metallica film - Through the Never

Komolyan mondom, nem értem... Mármint azokat nem értem, akik össze-vissza fikázzák a filmet, főleg azért, mert... úgymond... többet vártak Antal Nimródtól.

Szerintem ez egy jó film volt... pontosabban nem is film. Egy majdnem 2 órás 3D-s koncertfilmet láthattunk, melyben volt ugyan eseménysor is, de nem kell túl sokat belelátni. Én úgy veszem, mint egy koncert klippet, és nem kell bele túl sokat gondolni. Érdekes, hogy a banális történetű ABBA filmnél - amikor egy riporter még a koncertre se jut el az újságírói pass-szal - senki, de senki sem kritizálta azt, hogy hol a történet... tessék ezt is úgy venni, és felejtsük el azt a tényt, hogy magyar a rendező, mert az irigységnél több úgysem hangzik ki belőle.

Egy tökéletesre megkomponált (ja igen, 5 koncertből össze lehet gyúrni) koncertet láthatunk, ahol kisebb bakikon kívül egy ereje teljében lévő együttest láthatunk. Minden van a koncertben, amit eddig megfordulhatott egy Metallica koncerten és mindezt olyan közelről, ahogyan azt eddig sosem. OK... koncert feeling csak részben van benne, az lett volna az igazi, ha a moziban is úgy csápoltak és ördögvilláztak volna - helyette mozgott a testünk a koncert ritmusára ültünkben, és oda képzeltük magunkat.

Minden volt: leomló Justicia szobor, villámot hasító villamos szék, tüzijáték dögivel, géppuskaropogás és csatazaj és még a kamubaleset is, ami megszakítja a koncertet, hogy aztán egy majdnem unplugged-ot nyomjon a végén az együttes. Ne is említsük a LED koporsóból kiszabadulni akaró embereket, és a világító füstölgő kereszteket.
A koncertet átkötő filmről. Először nem értettem, miért nincs felirat a filmhez, de rájöttem... nem is kell. Ez egy klip, ezt még a vaknak is látnia kellett. A történet szerint egy Justin Bieberhez hasonló kinézetű futársrác szurreális kalandjait élhetjük át, akinek ott kellett hagynia a koncertet, mert a Metallica gépezete elküldte egy csomagért. Ám amikor ezért a csomagért ment a furgonjával, egy piros lámpánál baleset éri. Aztán kiderült, hogy egy utcai zavargás elől menekülő férfi volt a másik kocsiban, és a futár is a kellős közepében találja magát az utcai harcban - tüntetők és rendőrök közt. Ám a tüntetőket egy álarcos lovas is ritkítja - elkapja lasszójával és felakasztja őket. Ezt hősünk nem nézhette tétlenül, és szembeszállt az apokalipszis lovasával - de menekülni is kényszerül.
Később megtalálja a lerobbant kocsit, és benne a rémült sofőrrel, aki ki se mer mozdulni. A kocsiban megtalálja azt a kelléket, ami hiányzik a koncertről, és döbbent arcot lehet látni. Akit izgat, hogy mi volt a táskában... nos, az nem is fog többet megtudni. A srác arcáról az olvasható le, hogy teljesen felesleges lehetett az útja. De hát a munka, az munka...
Visszafele a lovassal és néhány csatlósával néz szembe. Erőt vesz magán, lelocsolja magát benzinnel és tűzre lobbantja magát, és megverekszik a bandával... de alulmarad. Miután feltámad, már csak a lovas az egyetlen akadály közte, és a koncert közt... de sikeresen, szinte majdnem heroikusan össze is csap vele. Ám a koncert végére ér csak oda... a táskával, amiről nem tudjuk meg, mi lehetett benne...

Nekem ez a film bejött, bár én nem gondoltam bele túl sokat. Szerintem el kéne dobni az elvárásainkat, és akkor egészen más lesz. A zenék jól össze voltak válogatva, a koncert tökéletes volt, a klip is olyan, amilyennek egy klipnek lennie kell... nem film, hanem egy klip...

Szerkesztés: Időközben többekben is felmerült a kérdés a Facebook-on: mi volt a táskában... Egy rajongó számára vajon mi lehet a válasz... hogy a táskában Cliff Burton lelke volt, aki a Metallica első és tragikus körülmények közt elhunyt basszusgitárosa volt. A következtetést erre az utolsó dal adta meg, az Orion, melyet a zenekar a későbbiek során mindig Cliff emlékére játsszák. Mint látjátok: egy rajongó számára a legérdekesebb részlet is rejt tartalmat, és talán érthető is, hogy egy táska miért volt annyira fontos az együttes számára... még ha jelentéktelennek is tűnik. Csak ezek után meg azt mondom, hogy a főszereplő srác nem éppen a legjobb választás volt, mert abszolút érdekes arcot vágott, amikor megtalálta a táskát...

Idáig jutott Magyarország

Kedves pozitívan gondolkozók társasága. Egy ismerősöm osztotta meg velem tapasztalatait az állítólag híres magyar vendégszeretetről. Döbbenten hallgattuk, és érett bennem az, hogy megosszam veletek, akik keresik az okokat, miért van az, hogy ennyire lehangoló Magyarországon élni, és miért menekülnek ki külföldre egyre többen.

Kezdődjék a történet ott, hogy az ismerősöm egy barátjával elutazott egy vasárnapi napon egy Balaton melletti nagy turistaközpontba, Keszthelyre. Elnézték a menetrendet, mert azt hitték, hogy az utolsó vonat 9-kor megy, de nem, 19 órakor... Így óhatatlanul is elkéstek, és várniuk kellett a következő, hajnali vonatra. De a kalandjuk csak most kezdődött... ráadásul zuhogott az eső.

Elsőként kerestek szállást. Se panzióba, se szállodába nem tudtak bejutni. Telefonáltak mindenhova, de sehol se vették fel a telefont. Kerestek kiadó szobákat, hogy legalább meghúzzák magukat egy éjszakára. A pénz se volt kérdés, de nem találtak szállást sem. Még ismerősöket is felhívtak, akik ajánlottak nekik egy-két helyet, de még ott sem vették fel a telefont. Sőt - egyszer egy ismerős hívta fel az egyik helyet, de ott sem vették fel.

Próbálkoztak egy kollégiumnál, de ott még be se engedték őket. Még az előtérbe se, mert a portás féltette az állását, és bármennyire lett volna meg benne a jószándék, nem engedhette meg magának, hogy legalább megmelegedjenek. Mert ugyan ott adnak ki egy-két éjszakára szobákat, de mivel a pénztár zárva van, még előlegbe vagy hogy utána kifizessék a számlát - azt sem lehetett.

A vasútállomásnál és a buszállomásnál is próbálkoztak, de a várótermet egyszerűen bezárják, nehogy mindenféle hajléktalan ott húzza meg magát. Sőt, amikor úgy döntöttek, hogy legalább fedél alatt legyenek, majdnem el is zavarták őket, hogy csak akkor lehetnek ott, ha vasútra vagy buszra várakoznak.

Így áztak-fáztak egészen hajnalig, amikor már megjött az első vonat, és elindulhattak...

Tanulság... könyörgöm ne az legyen, hogy miért nem figyeltek oda... Bárkivel előfordulhat az, hogy lekési az utolsó vonatot... Sajnálom, hogy idáig jutott el Magyarország, hogy még a napi egy jócselekedet híveit se találták meg az egész városban. Hogy szemernyi vendégszeretet, szemernyi jóindul se volt feléjük. Miért kellett odáig jutnunk, hogy félünk az idegenektől, félünk attól, hogy nehogy kirúgjanak minket az állásunkból... Az is érthetetlen számomra, hogy annyira lusták ott, ahol ezzel foglalkoznak, ahol fizetős vendégeket fogadnak... hogy azok se veszik a fáradságot, hogy felvegyék a telefont?

Számomra döbbenetes volt ez a kis beszélgetés, és sajnálom, hogy idáig jutott el az ország, hogy a vendégszeretetéről híres városában is így járjon két fiatal a zuhogó esőben, ráadásul készpénzzel a zsebében, hogy sehol sem tudja magát meghúzni.

2013. szeptember 30., hétfő

Mobilra optimalizálás

Mostani témám a PHP programozásról a következő: egy oldal mobilra történő optimalizálása. Hatalmas probléma, hiszen dönthetsz úgy, hogy külön mobiloldalt készítesz az oldal adatbázisa alapján, vagy a meglévő stílust átalakítod mobilon is nézhetővé. Én ez utóbbinak vagyok híve, és ezért ástam bele magamat a Bootstrap-be... amit ismét tanulhatok meg újra, hiszen a 3-as verzió alapjaiban más, mint a 2-es.

A Bootstrap 3-as verziójának új jelszava: a mobilra optimalizálás már nem opció, hanem elsődleges! Igenis igény van arra, hogy egy oldalt mobilról is lehessen olvasni, böngészni. Nagyon sokminden változott benne, és aki frissíteni akarja a verziót, az egész oldal CSS hivatkozásainak a class-ait át kell migrálnia, ha 3-as verzióra frissít.

De a Bootstrap-ről később... mert szerintem nem egészen tökéletes az a megoldás, hogy csak a szélességét nézzük egy oldalnak! Az, aki azt mondja, hogy elég, ha a mobiloldal responzív, akkor az számtalan bosszúsággal néz szembe. Egy mobiloldal nem nézhető meg úgy, hogy csak a szélességét változtatjuk meg, és elég, ha néhány elem eltűnik és megjelenik máshol... mert nagyon sok dolog nem így működik.

Sok helyen úgy csinálják, hogy külön oldalt terveznek a mobilok felé, csak az adatbázis a közös. Ez azért nem jó, mert a Google számára a canonical metatagot is be kell állítani, hogy ne legyen duplikáció. A legjobb az MVC (model-view-controller) framework-ökben azt, hogyha akarod, akkor a mobiloldalaknak más sablont készítesz, és a controllernek meghatározod, hogy melyiket hívja be. Így a link ugyanaz, csak az oldal lesz más.

Tehát az is megoldás, hogy különböző view-okat készítesz, és a PHP agent detektálás (pl. a http://mobiledetect.net.) által meghatározod, hogy melyik template-t töltöd be. Az oldal tartalma (content) általában ugyanaz, elég, ha ezt responsívnak tervezed, a többi tartalomelemet, widget-eket pedig hozzáigazítod.


De ha ragaszkodsz a responsive megoldáshoz, keverheted is módszereket - csak egy template-t használsz, a tagnak adsz egy id-t, amit a PHP-s detektálás által meghatározol, majd CSS-ben és JQuery-vel így hivatkozol a responsív részekre: body#mobile vagy body#tablet.

Mint fentebb említettem, a csak responsive megoldás nem tökéletes megoldás. Bár lehet, hogy Amerikában a képek letöltése pikk-pakk megvan, a hazai mobilszolgáltatók előszeretettel tesznek adatmennyiségi korlátot a nagysebességű 3G csomagokra. Ha pedig letelik az adatmennyiség, csiga lassúsággal mehetsz tovább 2G-vel, vagy WIFI-re vadászhatsz... Paradoxon ugyanis az, hogy az emberek türelmetlenek, és ha egy oldal betöltése 1 percnél tovább tart, akkor a felhasználó már rögtön más oldal után néz... Ilyen feltételek mellett a képeket is optimalizálnod kell, és képek esetében nem választható módszer az, hogy elég ha responsív... vagyis... a PHP-s eszközdetektálás által azt a képet választod ki, amelyik a legoptimálisabb szélességre is, és fájlméretben is.

Megteheted azt, hogy a kép linkje nem maga a kép, hanem egy kiválasztó controller, és külön mappára rakod a mobilra szánt elemeket, a tabletre szánt elemeket és a számítógépre szánt elemeket. Ha pedig a felhasználók tudnak képeket feltölteni, akkor lehet külön mappákba rakni a bélyegképeket abban a méretben, amikben szeretnéd, hogy megjelenjenek (pl. a mobiloldal thumbnailjei 80 pixel nagyságúak, a tablet-é 120 pixel, az asztali 150 pixel).

Őrült paradoxon szerint kell tervezni egy weboldalt. Miközben az asztali gépekre szinte elvárás lesz a nagy háttérképek használata, addig a mobiloldalaknál még mindig a kicsi a legjobb... a megoldás persze, hogy a responsívitás, de a nagy kép nem lesz optimális fájlméretben. Remélem, hogy tudtam segíteni abban, hogy megtaláld a legjobb megoldást.

2013. szeptember 24., kedd

Igényszint és ár/érték arány

Egy kis elmélkedésemet osztom meg, természetesen le lehet hurrogni, de az is lehet, hogy van benne valami... Szóval történt egyszer egy vitatkozás egy közösségi oldalon, aminek szemtanúja voltam. A két srác azon vitatkozott, hogy ő egy koncertre akkor is hazajön Svájcból, ha fene-fenét eszik is, és így neki megéri, hiszen a haverokkal együtt bulizhat, a másik meg vidékről sajnálta a pénzt rá... Kicsit elgondolkoztam a vitán, és elméletet gyártottam. Egyértelmű, hogy a vita az anyagiakról szólt, de bizonyára van benne más is.


Mit nevezek a címben igényszintnek, és szerintem mi az az árérték arány...

Csak egy egyszerű példát említek: adott egy étterem, és két ember, aki ott ebédel. Az egyik azt mondja, hogy nagyon jók a kaják, kedves a kiszolgáló személyzet, és még olcsó is. A másik szerint nem finom az étel, sokáig kellett várni, és szerinte drága.

A példát tekintve azt mondjuk, a másik személynek magasabbak az igényei. De miért? Társadalmi okokból? Életkor? Lakhely? Végzettség? Foglalkozás? Fizetés?
Azt hihetnénk, hogy egy fiatalnak alacsonyabbak az igényei, egy egyetemi végzettségűnek magasabbak, egy vidéki ember kisebb szolgáltatással is megelégszik, egy tanár többet szeretne kapni, és egy milliomos szeretne fürödni a luxusban.

Akkor vegyük újra a példát, nevezzük az elégedettebb személy Ádámnak, a másikat Balázsnak. Ádám egy budapesti egyetemista tanár, aki a minisztériumban dolgozik. Megvendégeli rég nem látott barátját, Balázst, akivel még a középiskolában együtt lógott. Balázs vidékre költözött a szüleihez, és egy gyártósor mellett talált állást.
Ha a fenti sztereotípiákat vesszük, akkor azok alapján Ádámnak kellene magasabbnak lennie az igényszintnek, nem pedig Balázsnak. Ha azt is belevesszük, hogy Ádám vendégelte meg Balázst, akkor végképp nem lehet érteni a panaszkodását.

Ahhoz, hogy megértsük a helyzetet, nem szabad a sztereotípiára hagyatkozni. Az igényszintet, vagy elvárási szintet mindig is relatívnak kell tekinteni, és az előzményektől is függ. A viszonyítási alap ebben a példában a következő: Ádám sok étteremben járt már, így bátran merte odavinni barátját kedvenc törzshelyére. Balázsnak nincs pénze ahhoz, hogy étterembe járjon, neki a házi koszt marad - édesanyja főztje, ami nagyon is megfelel az ízlésének.

Ha megfordítjuk a helyzetet: ha Balázs ajánlott volna egy olyan kifőzdét, amit már korábban ajánlottak volna neki, akkor szinte biztos, hogy Ádám lett volna elégedetlen, annak ellenére, hogy azonnal megkapták volna az ételt, nagyon olcsón kijöttek volna, és még finom is az étel. Ádám igényeibe bizonyára benne van az, hogy kiszolgálják, hogy az étkezés előtt beszélgetni tudnak, és hangulatos a hely. A sztereotípia alapján az igényszint ebben az esetben a helyén is lett volna...
Bár az igényszint egyéninek tűnik, a kapott eredmények összegezhetők, és az így kapott eredmény alapján maga a vállalkozás dönthet, hogy módosít-e az üzleti modelljén. Ha pl. sokan mondják azt, hogy az étel nem ízlik, pocsék a kiszolgálás, akkor a cég vezetése kirúghatja a szakácsot vagy módosít a ételválasztékon, és a pincérekkel elbeszélget. Ám ezen eredmények nehezen csikarhatók ki a vendégekből. Az elégedett vevő nem fogja elmondani a véleményét - az elégedetlen az, aki jobban ki meri mondani... aminek hangozhat úgy is, hogy dögöljön meg a szomszéd tehene... Nem marad más eszköze a vállalkozásoknak, mint az eredményből, a törzsvevői adatbázisból történő találgatás...

Ehhez a témakörhöz tartozik a mostanában hangoztatott ár/érték arány is. Ha úgy nézzük, akkor ez a viszonyítási alap is erősen szubjektív, főleg azt nézve, hogy az érték nem más, mint az igényszint. De az ár is szubjektív, hiszen a mai világban mindent beleszámol: a ráfordított időt, az utazási költségeket, de még a jövedelmét is figyelembe veszi, még akkor is, ha erre nem is gondol.

Vegyünk ismét egy példát: lehet, hogy egy budapestinek nagyon könnyű cigit vennie, hiszen csak a szomszédba ugrik le. Ugyanaz a doboz cigi sokkal többe kerül egy vidékinek, főleg, ha a szomszéd faluba kell leugrania... De vegyünk egy internetes szolgáltatást, ami gyakorlatilag ingyen van - csak van az internetnek költsége, bonyolult űrlapokkal bajlódás, mindenféle kényelmetlenségek.

A jövedelemszint nagyban befolyásolja az ár/érték arányt. Akinek a jövedelme magas, az szinte meg sem érez 20000 Ft-ot, de akinek alacsony, az már másként tekint az árra. Önkéntelenül is figyelembe veszi azt, hogy ezért az összegért mennyit dolgozik, mennyit tud félrerakni egy hónapban. Ha hitelre kényszerül, azt is figyelembe veszi, hogy mennyit kell visszafizetnie - feltéve, ha felelősen gondolkozó személyről van szó... Tehát az "ár" nem is árt jelent, hanem azt, hogy mennyi időt fektetett bele az adott áru megszerzéséért. Minél magasabb neki ez az érték, annál jelentősebbnek érzi az árat.
Apropó, hitel. A legtöbb ember még akkor sem tudja felmérni a hitele értékét, ha a bank figyelmezteti előre, hogy mivel járhat. Pl. ha hitelből meg tudja szerezni az adott terméket, akkor pikk-pakk más lesz neki az ár/érték aránya, mert nem veszi bele azt, hogy emiatt mennyit kell havonta törlesztenie.

Kapcsolódjunk vissza az igényszintre. Azt lehet tapasztalni a mai világban, hogy minél nagyobb a szubjektív ár, annál nagyobbak igények... amit teljesen lehetetlenség teljesíteni. Pl. egy budapesti koncert más egy budapesti számára, és más egy vidéki számára. Míg a budapestinek a koncertjegyen és a tömegközlekedésen kívül nem kell mást kifizetnie, addig egy vidékinek meg kell oldania az odautazást, az éjszakázást is. Ez alapján érthető, hogy csakis a szeretett banda, énekes kedvéért hajlandó ennyit áldozni.

A fentiek alapján érthető, ha két ember közt egyre nagyobb a szakadék. Hogy csak egy másik példát mutassak: egy bécsi kirándulás kiruccanást jelent az egyiknek, a másiknak már felér egy nyaralással. Vagy amikor egy luxuscikkért kimegy külföldre, mert ott sokkal olcsóbb.

2013. augusztus 15., csütörtök

Harcolni a spamek ellen... Captcha nélkül?

Egyszer valaki azt javasolta, hogyha már aktívan PHP programozó vagyok, valamint van egy honlapom, az slhungary.hu, akkor mi lenne, ha a blogomban szakmai dolgokat is írnék. A designváltás is ennek a jegyében történt, hiszen hamarosan lesz egy olyan oldal, melynek programozását elvállaltam... de erről később, hiszen az oldal jelenleg még nem aktív.

A CMS oldalak egyik rákfenéje a SPAM-ekkel szembeni harc. Nagyon sokáig a captcha rendszerekben hittek, de mint kiderült, a captcha nemcsak a SPAMrobotok ellen jó, hanem azok ellen a felhasználók ellen is, akik nem tudnak jól olvasni, meg alapban idegesítik az, hogy megszakad a postok elküldésének folyamata. Mert valljuk be, borzalmas egy olyan szöveget olvasni, melyek girbe gurbák, összenyomottak csak azért, hogy az OCR-t használó robotok ne tudják elolvasni. Valamint kiderült, hogy a spammelőket ez sem tartja vissza... főleg a fizetett kis kínaikat, akik CTRL-C CTRL-V módszerrel nyomják az ipart...


Nemrégiben terjedt el egy újabb felfogás, mely szerint a captcha inkább káros, mint hasznos. Egy adminisztrátor készített a közösségi alapú fórumán egy statisztikát, hogy mennyi spammelő volt akkor, amikor nem volt captcha és mennyi akkor, amikor volt captcha. Valamint az összes postból mennyi volt az, ami fel jutott a helyére, és mennyi volt az, amennyi elveszett. (itt olvashatjátok angolul a cikket).

Az tény és való, hogy a Captcha bevezetésével a spamek száma tizedére csökkent, de valójában a tényleges spam 2% volt az összes hozzászóláshoz képest. A spam igazából akkor tud zavaró lenni, amikor a közösségi oldalon nagyon kevés a hozzászóló - pl. egy blog esetében, ahol ritka a hozzászólás. A captcha bevezetése azonban azzal járt, hogy az érdemleges hozzászólások közel 8%-a a captcha miatt veszett el. A statisztika tulajdonképpen nem mutatja azt, hogy csökkent volna a látogatások száma, de egyre több helyről hallani azt, hogy egy captcha rendszer inkább riasztó és felesleges.

Ezek után feltettem magamban a kérdést, hogy milyen módszerek vannak még... és meglepetésembe nagyon sok egyszerű módszer van, melyek nem a hozzászólók képességein alapul (képes-e olvasni girbegurba betűket), hanem a spambotok képességein - illetve azok hiányain. Az egyik ilyen módszer, ami nagyon megtetszett, az a Honeypot, ami nem is captcha...


A Honeypot módszere rendkívül egyszerű: legyen egy űrlapmező, melyet CSS-sel vagy Javascripttel eltüntetünk (inkább CSS-sel, mert az egyik honlap tanúsága szerint már van olyan spambot, mely Javascriptet is használ), és az ellenőrző oldalon csak annyit ellenőrzünk, hogy ki lett-e töltve a mező. Ha ki lett töltve, akkor a hozzászólást dobjuk. Hogy a spambot mindenképpen kitöltse a mezőt, használjunk egy általános elnevezést (pl. name, message, email), és ha van hasonló mezőnk az űrlapban, akkor arra egy másik alternatívát használjunk. Amennyiben valaki olyan böngészőt használ, ahol megjelenik az űrlap, akkor kérjünk csak annyit, hogy "Hagyd üresen ezt a mezőt:".

De egy másik módszer szerint egy egyszerű pipa is elegendő... vagy több checkbox, melyek közül nekünk kell eldönteni, hogy melyiket kell bepipálni. Állítólag ez is nagyon hatékony módszer a robotok ellen, talán még a Honeypotnál, sőt... a captcha-nál is hatékonyabb.

A módszerek egyszerűnek tűnnek, de mégsem az. Ezzel ugyan csapdába csaljuk a robotokat, de csakis őket. A szorgos kis kínaiakat ezzel nem állítjuk meg. De vannak módszerek, melyek őket is csapdába kergetik. Ezen az oldalon konkrét kódokat is találhatunk, hogyan vértezzük fel magunkat, míg egy másik oldalon 10 dolgot sorolnak fel, hogy miként kell kivédenünk ezeket. Az egyik mókás, de vitatható dolog a CTRL+C CTRL+V kivédése azáltal, hogy mérik a kitöltési időt - egy értékes comment nem fog elkészülni egy perc alatt, de egy rövid üzenethez ennél kevesebb kell...

Az első cikk nem tér ki arra, hogy mit tegyen az automatika, ha spamgyanús tartalmat érzékel. Eldobja? Mi van akkor, ha ez nem egy robot, hanem egy ember, aki szidalmazni fog téged azért, mert eldobtad az üzenetét, mindössze csak azért, mert tartalmazott egy-két linket... Erre a második cikk adja meg a választ: a tartalmat ne jelenítsük meg, és legyen logolva minden adat, hogy eldönthessük, hogy az adott tartalom spam volt-e vagy értékes tartalom. Valamint ha egy ember spammel, és azt látja, hogy nem jelenik meg az adott tartalom, akkor nagy valószínűséggel nem fogja folytatni a tevékenységét az oldalunkon. Valamint a spammelő felhasználót nyugodtan kitilthatjuk az oldalról, nem hiszem, hogy meg fog haragudni ránk...