Flex AS3 rpclib (XMLRPC) kiegészítés

Érdekes, hogy a fejlesztők kihagyták, első pillanatban nem is értettem a dolgot, de sikerült rájönni, hogy az AS3 rpclib képtelen kezelni az Object adattípust küldéskor. Magyarul ha egy sima tömbnél bonyolultabb adattípust akarunk elküldeni, jelen esetben XML-RPC-n keresztül, az nem fog menni, mert a serializer nem tudja lekezelni. Szerencsére a hívandó xml-struct típussá alakító metódus már benne van a kódban, így csak egy egészen apró kiegészítésre van szükség:

Az XMLRPCSerializer.as fájlban a 99. sor környékén nyomjunk egy ilyet és már működik is:

else if (tobject is Object){
         txmllist =  encodeStruct(tobject);
}

uTorrent több példányban

Hogyan lehet egy progit windowsban több példányban használni? Kétszer kell feltelpíteni? Nem. Nekem arra volt szükségem, hogy egy torrent program ne csak egy, hanem több példányban futhasson. Az uTorrent esetén ezt elég könnyű megoldani és mivel a progi egyébként is a szívem csücske, rá esett a választás. A módszer a következő:

1. Telepítjük az uTorrent legfrissebb változatát.
2. Duplikáljuk az uTorrent mappáját a ProgramFiles mappában uTorrent2 néven.
3. Az intéző címsorába pötyögjük be: %appdata%uTorrent
4. Hozzunk létre egy új mappát uTorrent2 néven az %appdata%-n belül.
5. Másoljunk minden .dat fájlt a %appdata%uTorrent2 mappába.
6. Készítsünk egy parancsikont a C:Program FilesuTorrent2uTorrent.exe-re.
7. Nyissuk meg a parancsikon tulajdonságait és a Target-et módosítsuk erre: “C:Program FilesuTorrent2uTorrent.exe” /RECOVER.

Enjoy!

AS3,Flex: rest paraméter trükk

Sok modern programozási nyelvben, így AS3-ban is használhatjuk az úgynevezett rest paramétert függvények definiálásakor. Nagyon hasznos dolog, mert nem kell előre gondolnunk a lehetséges paraméterekre, tisztább kód hozható létre vele, mindössze egy tömböt kell lekezelnünk a függvényen belül, amiben az összes “további” paraméter benne van. Például:


function elemLista(...items):void{
for( var i:int = 0; i < items.length; i++){
trace("Elem: ", items[i]);
}
}

elemLista(”A”,”B”,”C”, 1, 2, 3);

Kimenet:
Elem: A
Elem: B
Elem: C
Elem: 1
Elem: 2
Elem: 3

Nagyon hasznos dolog, amint látható én gyakran használom.
Egy moduláris program interfészén dolgoztam, amikor szembejött egy probléma ezzel kapcsolatban. Mi van, ha egy tömböt akarok így, végtelen paraméterszerűen átadni a végtelenszámú argumentumot fogadó függvénynek?!
Nos, ha a tömböt közvetlenül adom át: elemLista(tomb:Array) az nem fog menni.
Viszont egy kis objektumorientált trükközéssel megoldható a probléma. Használjuk az apply metódust. Hülyén hangzik, de az OO programozásban minden objektum, így a függvényhívást, vagyis a függvényt magát is tudjuk objektumként kezelni. A következőt kell tennünk:


function elemLista(...items):void{
for( var i:int = 0; i < items.length; i++){
trace("Elem: ", items[i]);
}
}

var lista:Array = new Array(”A”,”B”,”C”, 1, 2, 3);
elemLista.apply(this,lista);

Kimenet:
Elem: A
Elem: B
Elem: C
Elem: 1
Elem: 2
Elem: 3

Papaam! Már működik is. Nos, nekem ez egy óra kutakodásba került, remélem a kedves olvasó gyorsabban megtalálja

Nyári Dachstein (2008)

Múlt év Augusztusa óta nem volt időm, hogy leírjam ezt a beszámolót-kedvcsinálót.. 2008 nyarának utolsó hetében Katival egy hetet töltöttünk a Dachstein déli oldalán Ramsau falucska fölött.

Berghotel Dachstein

(Berghotel Dachstein, háttérben a Dachstein déli fala)

Már áprilisban lefoglaltunk személyenként napi 23 euroért egy szobát a Berghotel Dachstein-ben teljes ellátással, ami utólag ár-érték arányban nagyon jó választásnak tűnt. A hotel 1680m-en van, a Türlwand Hütte és a Dachtein Seilbahn (felvonó) parkolója alatt, ahonnét a környék túrista- és klettersteig útjainak 90%-a indul. Az épület kicsit leharcolt, de tiszta, rengeteg pici szobával, amik két embernek éppen megfelelőek, főleg ha túrázni jönnek és nem lábatlógatni. Hotel-túristaszálló-Hütte közti átmenetnek mondanám jó kajával és bárral. A tulaj egy helybéli “Nagyfalas Géza” ahogy a veterán mászókat szoktuk emlegetni. Egyik nap beszélgettünk vele és kiderült, hogy mászok.. rögtön a kezembe is nyomott egy mászókalauzt amiben több általa épített út van. Mondta,hogy szívesen mászna velem, aztán kiderült, hogy régen sokat vadászott Sopronban és mutogatta, hogy milyen trófeákat lőtt a Soproni erdőben, szóval jó arc volt az öreg. A Schwartzenegeres kép az előszobában lóg más expedíciós képek társaságában. Igazi mászós szálloda, de sokan vannak olyanok akik pihenni, sétálgatni jönnek a környékre.

PICT0501.JPG

(Terminátor és a házigazda a hotel teraszán.. - kb 20 éve)

A 23 euroban teljes ellátás (este meleg étel) és ingyen italfogyasztás volt, ami a környékbeli 4 Euros tea árakat figyelembevéve bomba jó ár!  A szobánk déli fekvésű volt, csak úgy mint a Sonnen Terasse ahol a hotel lakói délutánként ropogósra süttethették magukat, miközben a gyönyörű kilátást élvezhették a dél felé magasodó hegyekre és Ramsau völgyére.

Indulás előtt mindketten jó alaposan utánanéztünk a környékbeli programoknak (én a Klettersteig utaknak - mászni nem szokott Kati, klettertseigezni se nagyon, de mutatott rá hajlandóságot :) -, Kati pedig az egyéb szabadidős, pihizős lehetőségeknek ) Az épülethez, és a közelben lévő felvonóhoz (Seilbahn), ami a Skywalk-ra és a gleccserre visz, fizetős úton lehet feljutni, autóval meglehetősen drágán (pontos összegre sajna nem emlékszem). Viszont lehet kapni bérletet és van olyan konstrukció is, hogy ha a Seilbahnt használod, nem kell fizetni. A buszon (mi ezzel jártunk) fölfelé a sofőrnél, autóval lefelé kell fizetni a (falu végén induló) Ramsau Strasse Mautstelle-nél.

Ramsau faluról annyit, hogy van egy műugró pályája, egy vegyesboltja, egy temploma és nyolc darab sportboltja. Minden házhoz tartozik egy legelő. Ez a falu központjában is így van, így sikerült 10 km hosszúra nyújtani a települést. Van uszoda is, gyönyörű panorámával és két medencével (úszógumi rulz). Épült nemrégiben egy kalandpark + nyáribob (kötelező!!) + strand + íjjász kombó a falu végén. A bob sínen fut lefelé egy hegyoldalról, durvább a vidámparki témáknál, ha rendesen ereszti az ember.. 5 euro egy menet ha 19 alattinak hazudod magad :D.. pfff.. Ezt egyébként mindenütt eljátszottuk, megéri, sokat lehet spórolni ha nem nézel ki vénnek :) Viszont számíts keresztkérdésekre pl. “melyik évben születtél?” ha sokat gondolkozol az évszámon, lebuktál.

Nah hát ennyit a környékről és a körülményekről.. igazából ezek a dolgok mind csak a pihenő napokon (kettő volt) kerültek szóba, mert a hét többi részét a Dachstein sziklái közt töltöttük. Tudni illik, hogy Katinak egy Rax-os klettersteig túrán kívül nem sok tapasztalata volt korábban a hegyekkel, de elég jó kondiban van, rendszeresen fut, edz, így nem volt gond egyik túrával és az A-B klettersteigekkel sem.

A túrák:

Türlwand Hütte(1692m) - Bachalm (1490m) - Ramsau(1250m) - Türlwand Hütte(1692m)

Dachstein2

(Bachalm panoráma - Dachstein - déli fal)

Ez egy jó kis egész napos kb. 25-30 km-es kör volt, feltérképeztük a környéket a Duregg-Hierzegg hegy megkerülésével. Reggel 9 körül indultunk a hotelből  a Neustattalm irányába, ahonnét egy kényelmes sétaúton, a Dachstein fennséges falaival párhuzamosan a völgyben haladva egy-két óra alatt eljutottunk a Bachalmra. Itt vannak állítólag mormoták, érdemes őket megnézni! Mi sajnos ezt csak később tudtuk meg Kati nagy bánatára. A Bachalm privát bekötőútját sokszor keresztezve leereszkedtünk a völgybe és a már említett hegyet megkerülve egy meglehetősen unalmas, keresztbeálló tehenekkel nehezített a műutat szorosan követő ösvényen begyalogoltunk Ramsauba. A zoknibeszerzés után pedig nekivágtunk az egyik sípályának, hogy a Dachstein Haus - Austria Hütte útvonalon visszacaplassunk a hotelunkig. Ez kb 4-500 m szintkülönbséget is jelentett, de mégis kellemes és szép séta azoknak akik utána esetleg a fenti Türlwand Hütte parkolójából induló Seilbahnnal akarnak feljutni a csúcsra.

Tor - egész napos, könnyű túra (családdal is)

PICT0522.JPG

(Ez nem a Tor úton van, de innen látszik jól az útvinal: Katitól kicsit balra  a Raucheck hegyes csúcsa és a déli fal közötti hágón kell átkelni)

Nagyon jó kis útvonal a déli fal tövében egészen a Türlwand Hüttétől nyugatra magasodó Raucheck 2033m magasan lévő nyergéig. A túrát a Südwand Hütte felé indítottuk (1871m), majd onnét kicsit visszaereszkedve kőgörgetegeken átvágva, a mászóutak beszállói felé vezető ösvényeket követve értük el a Raucheck csúcsa alatti völgyet. A csúcs nevéhez hűen szinte mindig felhőket bökdös még jóidőben is. A völgyből egy tüdőkoptató szerpentin visz fel a nyeregre, ahonnét a Torstein szabdalt csúcsaira és a távolabbi hegyekre, hátrafordulva pedig a teljes déli falra és a Türlwand környékére van meseszép kilátás tárul elénk.

PICT0594.JPG

(Racheck alatti hágó)

Innen kellemes sétával megkerülve a Rauchecket a Bachalm felé, majd pedig azon a korábbi túránál említett bizonyos lankás úton haladva tértünk vissza kiindulási pontunkhoz. Sokan csinálják ezt a túrát az ellenkező irányba, mert úgy lefelé haladnak a nyereg előtti “brutális” emelkedőn.  Igazuk van.

Hunerscharte (2687m) A-B és Hunerkogel C-D Klettersteig - Skywalk

PICT0529.JPG

(Hölgy-völgy)

1000m-es szintkülönbségű túra, a végén nagyon izgalmas, kezdőknek is ajánlott könnyű klettersteiggel. Ismét csak a hotelünktől, azaz a Türlwand Hüttétől a Talstation-t (felvonó megállója) megkerülve a Südwandhütte felé vettük az irányt. A parkolóból is jól látható hüttét kb 40 perc alatt értük el, majd nekivágtunk a szép nagy falatnak ígérkező völgynek (615-ös út). Ebben a völgyben megy fel a felvonó drótkötele is. Mi alatta kanyarogva, kitartóan lihegve értük el a völgy utolsó, már sziklásabb harmadában induló Klettersteiget. Magunkraaggattuk a példásan komplett felszerelést, kantárokat, sisakokat és minden extrát, aztán nekivágtunk a néhol vicc számba menő Klettersteignek. Sokan ezt egyébként felszerelés nélkül teszik.. apukák, anyukák, nagymamák, nagytaták.. Sokszor gondolkoztam és beszélgettem másokkal is, hogy miért.. miért jó egy véletlen megcsúszás miatt meghalni?? Tudvalevő, hogy  “A hegyek közt rá lehet b@szni.. és sokan rá is b@sznak.” Hiába, kell a statisztika.. Másnap egyébként órákig körözött a Police helikopter a falnak ezen a részén, szal’ valószínűleg valaki tényleg rá is… Persze mi sem akasztgattunk minden szakaszon, de a kiszálló előtti befelé dőlő, agyonvasalt falon a felhőben -ami sokszor körülvett minket fölfelé menet- biztos be lettem volna tojva kantár nélkül.

A gleccserre felérve hó fogadott minket (ahogy azt egy rendes gleccseren szokás). Árnyékban egészen firnes, napos részeken pedig olvadozó volt az állaga. Ilyenkor is sielnek rajta, járnak is a gépek néha, egyengetik a koszos havat. A Hunerscharte klettersteig kiszállója a Skywalktól keleti irányban pár száz méterre van, ezt a távot havon csoszogva tettük meg, majd jött az okos ötletem, hogy mi lenne ha a skywalk korlátján fejeznénk be a túrát. Ugyanis van egy rövidke (kb 60-80m) C-D nehézségű via ferratta út a gleccserről a felvonó épületének korlátjáig. Rengeteg ember volt odafönn és mint valami messiást álltak körül minket, miközben egyik lábunkat a másik után lendítettük át a korláton. Mókás volt.. már csak a taps hiányzott. Magyarok is voltak fönn, a családapa nagyon megörült, mikor kiderült, hogy a kemény hegymászók (ezek mi voltunk) akiket figyeltek, szintén magyarok. Már menetközben és a megtekintett jégbarlangban (pénzkidobás, nem ajánlott) rákészültem a forró levesre, de kiderült, hogy a szelepes főzőmhöz nem csavaros-szelepes hanem rányomós-szelepes palackot sikerült utolsó pillanatban vennem még Sopronban. Szal’ a leveske kimaradt. Visszafelé csaltunk, mert a Seilbahnnal jöttünk.

Az utolsó napra hagytuk a legizgalmasabbat:

Edelgriess völgy - Koppenkarstein Klettersteig (A-B) függőhíddal

PICT0615.JPG

(Edelgriess völgy)

Szokás szerint a hoteltől indultunk, hegymászókhoz méltatlan 9 órás időpontban. A felvonó megállója alatt most jobbra tartottunk, mert a déli falat egy másik völgyből, az Edelgriess felől próbáltuk meghódítani. A Türlspitz csúcsok által elválasztott völgybe keleti irányban tudtunk felkapaszkodni, előbb legelőkön, majd törpefenyvesen, végül hosszú kőgörgetegeken átküzdve magunkat. A völgy lankásabb, meglehetősen kopár, de még így is egészen gyönyörű. Közepe felé jobbra kell fordulniuk akik a Ramsauer Klettersteiget választják, mi viszont végighaldtunk a völgyön és a végében nekivágtunk a szintén kopár, köves meredélynek. Az 572-es utat végig piros jelzés mutatja, nem lehet eltévedni. A Hinterer Türlspitz mögött Klettersteig kezdődik, de nem érdemes komolyan venni, mert csak 10m hosszú. Felérve egy kisebb gleccser, az Edelgriessgletscher terül el. Táblák itt nem nagyon vannak, mi a gleccser nyugati szélén, a sziklafal tövében tartottuk az északi-északnyugati irányt, mikor megtaláltuk az Austriascharte felé mutató táblákat és klettersteigszerű (sajnos ezen a szakaszon a drótkötelek mindenütt cafatokban lafogtak) köves kapaszkodót.

PICT0631.JPG

(A déli fal fölötti Koppenkarstein kitett, de könnyű klettesteig útvonalán)

A gleccser fölé emlkedve végre elérünk egy gerincre, ami nagyjából 1m széles és bizonyos részeken nincs biztosítva. Itt mutatja meg magát igazán a déli fal. Balra letekintve nagyjából 1000m-es mélység van alattunk, hihetetlen élmény volt Katinak, bár igazából az a mélység engem is picit megszédített, annak ellenére, hogy másztam már nagyfalon és hozzá vagyok szokva a magassághoz. A gerincen átkelve egy látszólag új úton elcsalhatjuk az út legizgalmasabb részét és egyből átsétálhatunk a Dachstein gleccserre, de mi úgy döntöttünk, hogy az Austriascharte (2736m) csúcsra indulunk. A felfelé vezető klettesteig nem nehéz, többnyire biztosított, bár a hó és a jég itt is sok helyen szétszabdalta a drótokat. A csúcs alatt találkozunk a Koppenkarstein csúcsról érkező azonos nevű via ferratta úttal, ami a déli fal gerincen megy végig a Hunerscharte-ig, azaz a fenti felvónóállomásig. Nagyon kitett, izgalmas út, kezdők számára bátran ajánlott jó időben. És itt jött a legizgibb rész, a kötélhíd!

PICT0622.JPG

(A függőhíd, balra a mélység felhőben, jobbra a gleccer és a Dachstein cúcs szintén felhőben)

Három kábel, 20m hosszan egy kb. 50m-es szakadékkal és kicsit balra további ezer méterrel a völgy, jobbra pedig további 100-al a gleccser felett. Kati nem akart átjönni (lehetőség van kerülni), de aztán megmutattam neki, hogy nincs mitől félni és rávettem. Nem bánta meg, nagyon nagy élmény volt neki! Az átkelés és fényképezkedés után továbbhaladtunk a gerincen. Kisebb felhők is voltak, amiket az áramlat az alattunk magasodó hatalmas sziklafalnak nyomva fújt felénk. Egészen mesebéli volt a felhők felett-között járni a jellegzetes magashegyi királykék égbolt alatt. A kilátás pedig a völgy és a gleccser irányába is lélegzetelállító volt!  Visszafelé megint a felvonót használtuk, mert én speciel utálok lefelé tülekedni a jó időben igencsak forgalmas könnyebb klettersteig utakon.

Egy áttekintő térkép a déli fal klettesteig útjairól + Tor útvonal családi, pihenő kirándulásnak.
php405D

IIS7 aldomain átirányítás

Az aldomainek (subdomain) leggyakrabban két átirányítási formája létezik: a redirect és a rewrite. Hagyományosan az átirányítás, azaz a rewrite csak annyit tesz, hogy egy 301-es üzenettel egy másik címre “dobja” a böngészőnket, így a böngészőbe írt url is megváltozik. A rewrite, vagyis az “átírás” ezzel szemben elfedi a kiszolgálás helyét. Lássunk két példát és IIS rule kódjaikat:

A böngészőbe ezt írjuk: http://valami.vargapeter.com/index.html
A kiszolgálás valós helye mindkét esetben:  http://vargapeter.com/valami/index.html.

Redirect

Eredmény:  http://domain.hu/valami/index.html

<rule name="aldomain" stopProcessing="true">
     <match url="^(.*)$" ignoreCase="false" />
     <conditions logicalGrouping="MatchAny">
           <add input="{HTTP_HOST}" pattern="^valami.vargapeter.com" />
     </conditions>
     <action type="Redirect" url="http://www.vargapeter.com/valami" redirectType="Permanent" />
</rule>

Rewrite

Eredmény: http://valami.domain.hu/index.html

<rule name="aldomain" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^valami.vargapeter.com(.*)" />
    </conditions>
    <action type="Rewrite" url="valami/{R:1}" />
</rule>

Fontos, hogy az aldomainek minden esetben konfigurálva legyenek a DNS szervereken és az IIS-ben pedig a webhely (Site) kötéseihez -utálom ezt a szót- (bindings) hozzá legyenek adva.

A Rewrite talán érdekesebb picit, ezért még egy kis regexpel tarkított kódrészletet is bemutatnék, amivel praktikusan kezelhetjük aldomainjeink átirányítását. A szabály lényege, hogy a valami.vargapeter.com domaint a wwwroot/_sub/valami könyvtárra irányítja. Így nem kell öt szabályt létrehoznunk, ha öt domainünk van és külön-külön megadni a valós kiszolgálási helyüket, hanem “rendszerezve” a _sub mappában az aldomain első tagjával megegyező nevű mappa lesz a subwwwroot-juk.

<rule name="SubDomain" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^(.+).vargapeter.com(.*)" />
    </conditions>
    <action type="Rewrite" url="_sub/{C:1}/{R:1}" />
</rule>

Charles - Flex/Air XML RPC debug

Államvizsgáztam, meg van a diplomám, így kicsit több időm van új dolgok kipróbálására és a blog írására is. Már hetekkel ezelőtt rákattantam az Adobe Air+Flex kombóra, de fejleszteni csak most kezdtem el benne. Rendkívül zavart, hogy a php webes alkalmazásom és az Adobe Air kiliensem közti XML alapú kommunikációt nem láthatom, nem tudom debugolni.  Read more

Google Adwords - Analytics: nem jelennek meg a látogatási adatok

Mi az a gclid? Bevallom, néhány hónappal ezelőttig én sem tudtam, pedig már lassan egy éve benne vagyok az Google Adwords okosságaiban. A cikkben azoknak szeretnék segíteni, akik Google Analytics rendszerüket az AdWords hirdetéseik hatékonyságának figyelésére akarják használni, de valamilyen probléma miatt ez nem sikerül nekik. Nálam is voltak ilyen gondok és hosszas fejvakarászás után jöttem csak rá a megoldás kulcsára. A Google súgója erről egy szót sem ír, ezért kicsit bővebb magyarázatot fűzök hozzá.

A saját rendszerről röviden:
Van egy 10-20 honlapból összerakott optimalizálási halmaz amit rámbíztak. Egy fő honlap, + sok kis microsite, amik a fő honlapot nyomják előre és az egyes “szakterületeket” lefedik/részletezik. + az Adwords amit a költségek miatt nem szívesen alkalmazunk, csak ha muszáj.

Elég jó eredményeket sikerült eddig elérni adwords nélkül is, de sajnos vannak olyan kulcsszavak amiknél akkora a verseny és olyan “nagyok” vannak elöttünk, hogy csak lassan vagy kevés eredményünk van. Ilyenkor jön az Adsense, adott költségkerettel, csak a fontos szavakra a garantált megjelenés érdekében. Viszont nyilván ezekről szeretnénk tudni, hogy mennyire térülnek meg.

Az Adwords egy bazi nagy pénznyelő tud lenni, ha az ember nem néz rá legalább hetente és nem mélyed el a kezelésében eléggé. Csak nyomod bele a pénzt, látod, hogy kattintottak, aztán szevasz. Hogy az illető hová jutott és mit csinált a honlapon, arról már semmit sem tudsz. Itt jön képbe az Analytics!

Az Analytics-et egy nagyon jó statisztikai rendszerré fejlesztették ki Gugliék az utóbbi egy évben. Integrálódott az Adwordsbe is (vagy fordítva?) ami az Adwords felhasználók számára visszajelzést nyújt reklámokra költött pénzük hatékonyságáról.

Adwords fiókunkat a következő módon köthetjük össze az Analytics rendszerével: Google Súgó
Ha sikerült, várjunk néhány napot. Ha szépen jönnek az adatok a fizetett látogatókról, akkor a cikk további része már nem is érdekes. Örüljünk, figyeljünk, döntsünk pénzünkről. Ha az adatok nem érkeznek meg és egyértelműen lehetetlen, hogy 0 fizetett látogatónk van, akkor gondolkozzunk el, hogy nem mi rontottunk-e el valamit még a weboldal programozásakor..

A lehetséges problémák felkutatásához ismerjük meg a konverziókövetés technikai hátterét:

Mi történik a hirdetésre kattintás után?
A Google hirdetésre kattintás után a google saját url-je hívódik meg, regisztrálja a kattintást, annak költségét, stb.. és átirányít a Cél URL-re. Az Adwords hirdetések esetén a Google un. Cél-URL automatikus címkézését használja. Ez a gyakorlatban így néz ki: www.celurl.hu/?gclid=abc123

A legrosszabb dolog ami történhet, hogy a látogató megérkezett weboldalunkra, a pénzt levonták, de nem lát semmit!

Előfordul, hogy a a webhelyünk tiltja a paraméterek használatát, mert mondjuk ilyen url-eket használunk az optimalizáció miatt: http://weboldalunk.hu/utazas/magyarorszag.html és a programozáskora a paraméterek keveredésének megelőzése, vagy biztonsági szempontok miatt letiltották a “?” után megadható url paramétereket.
Két lehetőségünk van, az egyik, hogy letiltjuk a gclid használatát, de ezzel lemondunk a nyomonkövetésről is egyben. Nyilván mi nem akarjuk csak úgy vaktában szórni a lét, tehát a szimpatikusabb megoldást választjuk: programozunk. Engedélyezünk.

A látogató megérkezik, de erről mi nem értesülünk.
A paraméter nincs tiltva, de nem “jelenik” meg a Google Analytics tracker kódja számára. Ennek leggyakoribb oka megint az url-ek környékén keresendő:

http://weboldalunk.hu/utazas/magyarorszag.html webcímet nem mappákkal és html fájlokkal értük el, hanem  mod_rewrite (apache) vagy url_rewrite (IIS) átirányításokat használunk a “keresőbarát” url-ek felépítéséhez. Viszont arra nem figyeltünk, hogy a http://weboldalunk.hu/utazas/magyarorszag.html?gclid=abc123 cím is átirányítódjon. Sajnos ebben az esetnen is kicsit programozgatnunk kell, hogy a get paramétereket is benyelje regexpünk.

Ha minden hasonló hibát kiküszöböltünk, akkor az Analytics fiókunkban szépen meg fognak jelenni a fizetett forgalmi adatok is. Ez természetesen legalább 1 nap elteltével történik, ahogy a statisztikai adatok frissülnek.

MSSQL Időzített Backup

Az alábbiakban egy egyszerű módszert ismertetek, mely a Windows Task Schedulert használja időzített backupok készítésére egyes Microsoft SQL Server adatbázisainkról. Hasznos lehet, ha naponta vagy hetente szeretnénk  teljes backupot külső fájlba menteni külső szkriptekkel, hogy aztán további műveleteket végezhessünk velük. Az alábbi segédlet Microsoft Windows Server 2008 és SQL Server 2008 Management Studio programokhoz íródott.

Lássuk csak, mit kell tennünk:

1. Csatlakozzunk az MSSQL szerverünkhöz a Management Studio-n keresztül.

2. Válasszuk ki az adatbázist amiről biztonsági mentéseket akarunk készíteni.

3. A helyi menüből (jobb klikk) válasszuk a Tasks / Back Up.. funkciót.

4. A Back Up Database párbeszédablakban adjunk meg egy tetszőleges nevet a Backup Set-nek és a Destination listához adjuk hozzá annak a könyvtárnak az elérési útját ahová a backup fájlt szeretnénk menteni.

5. Baloldalt az Options részben állítsuk be, hogy a generált backup fájl tartalmához a visszaállítás hozzáírja-e az adatbázis tartalmát, vagy felülírja azt. Ha azt szeretnénk, hogy felülírja: “Append to an existing backup set”. Figyeljünk a fájlméretre! Ha nagy az adatbázisunk gondoskodjunk megfelelő méretű tárterületről a mentési periódus függvényében. Ha azt szeretnénk, hogy mindig csak a legutóbbi adatok legyenek a fájlban, válasszuk az “Overwrite all existing backup sets” opciót.

6. Érdemes lehet itt bejelölni még a “Verify backup when finished” és a “Checksum before..” funkciókat, ha paranoidok vagyunk érzékeny adatainkat illetően.

7. A későbbi futtatásokhoz szükség lesz az imént elvégzett beállítások adataival generált SQL fájlra. A Script gomb melletti legördülő menüből válasszuk a “Script action to File” opciót és mentsük el valahová a fájlt. Ha jól dolgoztunk, a bal alsó sarokban megjelenik egy helyes kis “Scripting completed succesfully.” felirat.

8. Ha leOKézzuk az ablakot, az első backup meg is kell, hogy történjen.

9. Az elkészített sql fájlt a parancssori Sqlcmd alkalmazáson keresztül fogjuk futtatni, ami a Microsoft SQL Server Native Client nevezetű eszköz fedőneve. Mindezt kézenfekvően egy batch fájlon keresztül. Készítsünk egy új szövegfájlt (Jegyzettömb), és a következő tartalommal mentsük el .bat kiterjesztéssel:

 sqlcmd -S .\SQLEXPRESS -i "C:\scripts\mssqlbackup\backup.sql"

10. Próbáljuk ki parancssorból, hogy működik-e.

11. Ha sikerült lefuttatnunk a batch scriptünket, a Windows Task Scheduler segítségével ütemezzük futtatását. A batch fájlba más utasításokat is írhatunk így egészen komplex backup scriptet készíthetünk.

Cool huh? :)

Párizs - Képek

Több ismerőstől is megkaptam a lecseszést, hogy még minidig nincsenek képek Párizsról. Jogos, de a hülye blog képfeltöltése nem megy és nem volt időm vele foglalkozni. Addig is a flickr albumba feltettem 1-2 képet: Flickr - Párizs

Napsugár Óvoda

Hogy kezdődhet szebben egy nap? Túl kora volt, nem vettem fel a telefonom, ezért miután kikászálódtam az ágyból visszahívtam az ismeretlen 52-es körzetszámú számot. “Hálló tessék, Napsugár Óvoda!” Egy pillanatig nem tudtam mi van, nem szóltam semmit. Aztán kitört belőlem a röhögés. Kiderült, hogy Polgáriból hívott valaki tévesen, de a helyzet tisztázása közben azért elhangzott még ilyen kérdés: “Gyerekke’ jár idé’?” /Nem, autóval./ Tisztára feldobta a napomat ez az egész… Volt már olyan, hogy betonkeverőt akartak kölcsönözni, vagy csak “Jouzsit” keresték, de “Napsugár Ovi”, az még nem.

Tisztában vagyok vele, hogy ez nem mindenkit dob fel úgy mint engem, ezért itt egy “sírva röhögős” videó, hogy titeket is beragyogjon a “Napsugár”!