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...

2013. augusztus 14., szerda

Android Restart... 2. rész

A múlt héten írtam egy bejegyzést az Android Restartról, és most végre belevágtam. Igaz, nem azzal a két programmal, amit javasoltam - hanem egy viszonylat kényelmesebb módszerrel. Amit használtam, az a SAFE BACKUP alkalmazás. Lépésről lépésre elmagyarázom, hogyan kell, és a csattanót a végére hagyom, hogy miért is kell ez az egész...

1. Elsőként feltelepíted ezt a programot, és az SD kártyádra végrehajtasz egy teljes mentést. Az SD kártyádon lévő könyvtárt, ahova elvégezted a mentést, átmásolod a számítógépedre. Ha vannak még olyan fájlok, amiket meg akarsz menteni (zenék, fényképek), akkor azokat még lemented.
2. Ezután jöhet a visszaállítás. Dózerold le az SD kártyát is, üritsd ki teljesen a gépedet. A Beállításoknál engedélyezd, hogy ne csak a Google Playről telepíthess programokat.
3. Kapd ki ismét az SD kártyádat, és másold vissza a kártyára a mentést.
4. A Google Play-en keresd meg a Safe Backup-ot ismét, ugyanis saját magát nem menti le.
5. Az applikációval keresd meg a könyvtárat, ahova lementetted, és figyeld a másolási folyamatot. A programokat úgy tudja visszarakni, hogy újra kell telepítened őket, tehát némi kézimunkával azokat a programokat telepíted vissza, amiket előtte is használtál.
6. Minden mást neked kell kézileg beállítanod, így a csengőhangokat is. A programokat ismét fel kell térképezned, bejelentkezni abba, ahol korábban bejelentkeztél... de az ürítés-visszaállítás legnehezebb részétől a Safe Backup mentesít, tehát nem kell újra beszerezned az ismerőseid telefonszámát, az SMS-eid is megvannak, és nem kell ismét a Google Playről vadásznod a programokat.

Végezetül az ok, amiért javaslom mindezt megtenni úgy félévente egyszer: egyrészt nekem kis memóriájú mobilom van, aminél mindenki tapasztalhatta, hogy nagyon könnyű 20 Megabyte szabad hely alá kerülni. Egy idő után már azt sem tudod, melyik programtól szabadulj meg, hiszen már lassan minden program kezd nélkülözhetetlenné válni. 18 Megabájt alatt az Android még az SMS-eket se hajlandó fogadni! Amikor úgy döntöttem, hogy csinálok egyfajta "újratelepítést", akkor a 20 Megabyte körül jártam, és a procedúra után ez 65 Megabyte-ra nőtt. Tehát az Android egy idő után szemeteli a telefon belső háttérterét, és akármilyen takarító program se képes azt kitakarítani...

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

Android... restarthoz két segítség

Úgy veszem észre, hogyha azt mondom, hogy megnyitom újra a blogomat (hopp, kimondtam), akkor hosszú időig nem is nézek rá... Úgyhogy nem mondom... vagy kimondtam? A francba.

Időközben lett egy jó kis telefonom, a lehető legolcsóbb és sokat is kínlódok vele. Sokan esküsznek az Androidos mobilokra, de mind a mai napig okostelefonként tekintenek rájuk, nem pedig egy olyan eszközre, mely már majdnem számítógép.
Egyszer történt meg velem az, hogy valami elromlott benne. Folyamatosan merült, valamiért szinkronizált. Dühömben azt tettem, hogy a Gyári adatok visszaállítását csináltam. Meggondolatlan tett volt, mert ez minden adatot letörölt... még az SD kártyáról is. Úgy kellett visszaszedegetnem az adatokat, programokat, hogy fél napom elment rá...



Mára már okosabb lettem, de még mindig nem merném megtenni ezt a lépést. A Gyári adatok visszaállítása ugyanis olyan, mint egy Windows újratelepítése... bár míg annál a partíciókkal elérhető az, hogy ne kelljen biztonsági mentésekbe bonyolódni, addig az Androidnál ennek kell lennie az első feladatnak. Próbáltam olyan programokat keresni, melynek köszönhető ez egy lépésben megtehető... vagy egy olyan program, ami ezt elvégzi, és nem is kell vele foglalkozni... de nincs ilyen.

De kettő van, és ez a két program önmagukban is hasznosak. Az egyik program a TrustGo Security, mely egy antivirus program, de ha regisztrálsz egy fiókot, akkor nemcsak antivirus, hanem ingyenes lopásgátló - feltéve, ha be van kapcsolva a mobilod internetkapcsolata... ami egy olyan "környezettudatos" magyarnál, mint én, elég ritka. De ha be van kapcsolva, és ellopják a mobilodat, akkor csak felmész a trustgo.com oldalra, és letilthatod a mobilodat, bemérheted, hol van, letörölheted az összes adatodat... és elmentheted a TrustGo szerverére az összes kapcsolatodat, üzeneteted és híváslistádat. Pont emiatt van itt most megemlítve...

A kapcsolatok ezzel meg is vannak mentve, de mi a helyzet az applikációkkal. Egy Androidosnál előfordulhat, hogy kismillió - na jó, annyi nem - programot letölt, használ majd töröl... és akkor, amikor próbál visszaemlékezni arra, hogy melyik programot is használta az "újratelepítés" előtt... akkor a Play fiókjában szembesül azzal, hogy kismillió általa feltelepített program közül kell visszaemlékeznie arra, hogy melyek azok, amiket használta. A másik program ebben segít... az applikációk, és persze a fényképek, zenék elmentésében.

Ez a program nem más, mint a nagyon hasznos program: az AirDroid. Akinek van odahaza WiFi-je, annak felettébb hasznos - hiszen nem kell USB-vel bajlódnia, és programot feltelepítenie. Mivel Samsung Mini-m van, nagyon durva, hogy a Windows XP-re (még mindig) egy olyan haszontalan programot kell feltelepíteni, amit én feleslegesnek tartok. Ám az AirDroid feleslegessé teszi ezt a programot, elég beüzemeltetni, és máris a böngésződből adminisztrálhatod a mobilodat Wi Fi-n keresztül...

...és lementheted az összes feltelepített alkalmazásod APK fájlát, az összes fotódat, az összes zenédet és videódat. Ezzel meg is vagyunk a biztonsági mentéssel. Amikor pedig ismét fel akarod építeni a ledózerolt rendszeredet, csak ezt a két programot kell megkeresned a Google Playben, a TrustGo-val visszaszerezni a fontos telefonadatokat, az AirDroiddal pedig feltelepíteni a lementett és nélkülözhetetlen alkalmazásaidat.

Persze mi van, ha nincs Wi Fi-d? Nos, AirDroid helyett alkalmazható a Total Commander is, amivel az SD kártyádra lemented a fájlokat, majd kikapod a mini SD-t, berakod egy SD kártya olvasóba, és lemented az adatokat. Visszarakod a mobilba az SD-t, és mehet a dózer. De ez kissé macerásabb, és kell hozzá egy kártyaolvasó (én egy euróshopban vettem az enyémet alig 300 forintért)...

Persze van egy olyan program, mellyel ez az egész egy lépésben végrehajtható (Safe Backup a neve), de ezt a programot akkor érdemes feltelepíteni, amikor tényleg az a célod, hogy újratelepíteni a gépet. Ekkor is kell valami, amivel lemented az így lementett fájlokat, és akkor is kell egy vírusírtó, amivel véded a Droidodat...

2013. május 15., szerda

Hola back és további eBay tapasztalatok röviden...

Visszajöttem. Van mit mondanom...
Szóval, amilyen rég néztem a blogomra, azért megnéztem, hogy milyen hozzászólások ragadtak bent a moderátori fiókban.

Nos, az eBay-jel kapcsolatban csak annyit, hogy azóta több terméket is eladtam ott, és azt kell mondanom, hogy mára sokkal jobbnak látom, mint a Vaterát. Az zavart meg annakidején, hogy mindent ki akartam tölteni, és korrekt módon kiszámolni vagy megsaccolni a postaköltséget (a Free Shippinget még most is parasztvakításnak tartom, nem hülyék vannak odaát sem). Nem vagyok továbbra sem hivatásos eladó, azt a szintet még nem értem el, csak segítek valakinek, aki hébe-hóba eladogatja a cuccait, amit sokszor nem érdemes a Vaterára felrakni, hanem az eBay-en. Néha állnak a cuccok, néha viszont gyorsan elmennek...

Sok új tapasztalatom is van az eBay-en, és sok változás is történt azóta. Már több képet is fel lehet tölteni ingyenesen - ez pl. egy jó döntése volt az eBay-nek. Általában a változásokat nem veszed észre rögtön, és csak apránként jössz rá. De arról, hogy nekünk már 20 terméket lehet egy hónapban ingyenesen feltölteni, arról rögtön kaptunk értesítést.
Sajnos, az amerikai szerver külön pénzt kér már azért, ha UK-ba is szeretnéd listáztatni a termékedet. Nagyon viccesnek tartom ezt a döntésüket.
Időközben megtapasztaltam azt is, hogy aukcióra felrakás mellett lehet megadni Buy It Now árat is, de a kezdő licitnek 10%-kal alacsonyabbnak kell lennie. Vagyis a kedves vevő vagy kifizeti a magasabb árat, de rögtön megkaphatja, vagy licitál, izgul a lezárásig. Vagy addig se, mert az akciót le lehet zárni hamarabb is...
Sajnos, azt az opciót, hogy náluk a Domestic az nem lehet más, csak Amerika, még mindig nem javították ki. Így ha Magyarországot is meg akarod adni a szállítási költségnél, akkor kénytelen vagy megadni a Hungaryt is (én nem tettem, mert nekem külföld a cél, de ha egy magyar csapta volna le, akkor változtattam volna a szállítási költségen). Igen, időközben megtapasztaltam azt is, hogy a szállítási költséget utólag lehet módosítani is.

Nagyon sokan alkudoznak is... és egyre többen. Tudom, hogy vannak nálunk tapasztaltabbak, akár vevők akár eladók, de elég sok érdekes emberrel találkoztunk. Voltak nálunk is próbálkozók (akik pl. kapásból a fele árat mondták a kiírtnak), és olyan próbálkozóval is, akihez meg sem érkezett a cucc, de már reklamált, hogy sérült volt a csomag... Vannak bunkók is, akik a "crap" szót előszeretettel használják (szerencsére, csak egyszer), de volt olyan hülyegyerek is, aki nem volt hajlandó lecsapás után fizetni, és miatta állt a dolog. Hogy mit lehet ilyenkor tenni? Nos, szólni... várni... és úgy 7 nap után lehet jelentést küldeni az eBay-nek, hogy nem lett kifizetve a cucc, és... megint várni... de 4 nap után ha nem történik változás, akkor egyszerűen lehet törölni az üzletet és újra felrakni az így bennakadt cuccot...

Nos, csak ennyit akartam mondani, és ezennel újra megnyitom blogomat...