<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Varga Peti blogja</title>
	<atom:link href="http://blog.vargapeter.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vargapeter.com</link>
	<description>Varga Peti blogja</description>
	<pubDate>Wed, 20 Jan 2010 19:06:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google Apps migrációs problémák és megoldásaik</title>
		<link>http://blog.vargapeter.com/2010/01/20/google-apps-migracios-problemak-es-megoldasaik/</link>
		<comments>http://blog.vargapeter.com/2010/01/20/google-apps-migracios-problemak-es-megoldasaik/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 19:04:47 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=958</guid>
		<description><![CDATA[Több domain levelezését átraktam Google Apps alá, mert az jó. De tényleg.. komplett megoldást nyújt már a Standard (ingyenes) változat is, sokkal jobb (érthető okok miatt) a SPAM szűrés, mint bármilyen saját szűrős megoldás, rengeteg plusz szolgáltatást (Calendar, Docs, ActiveSync, stb..) tudunk igénybevenni saját domainünkkel, kapunk egy egyszerű admin felületet, ahol szabályozhatjuk a domain felhasználóit [...]]]></description>
			<content:encoded><![CDATA[<p>Több domain levelezését átraktam Google Apps alá, mert az jó. De tényleg.. komplett megoldást nyújt már a Standard (ingyenes) változat is, sokkal jobb (érthető okok miatt) a SPAM szűrés, mint bármilyen saját szűrős megoldás, rengeteg plusz szolgáltatást (Calendar, Docs, ActiveSync, stb..) tudunk igénybevenni saját domainünkkel, kapunk egy egyszerű admin felületet, ahol szabályozhatjuk a domain felhasználóit (postafiókjait). Nem is részletezem, próbáljátok ki!</p>
<p>A levelezés migrációja nem mondható bonyolultnak, néhány új MX és CNAME rekord beállítására van csak szükség domainünk NS szerverein, létre kell hoznunk a kívánt email (domain) felhasználókat, esetlegesen áttölteni a régi leveleiket, aliasokat és csoportos kézbesítéseket létrehozhzni, stb, stb..</p>
<p>A migrációt követően viszont van néhány kellemetlen dolog, amik megoldásával el kell játszani egy darabig, főleg ha nem tudjuk mi is igazából a probléma.<br />
Lássuk, nálam milyen problémák jöttek elő és azokra milyen megoldásokat találtam:</p>
<p><strong>1. probléma: PHP levélküldés nem működik a domaint kiszolgáló webszerveren, SPAM-be kerül a címzettnél.</strong></p>
<p>Ezzel a problémával nagy valószínűséggel szinte mindenki találkozik, aki weboldalt is hosztol egy másik szerveren a GoogleApps-al használt domain alatt. Nálam a mailszerver és a webszerver is egy vason volt korábban, ilyen esteben a php.ini-ben és a mailszerveren megadott beállítások relative egyszerűek, a php mail() függvény teszi a dolgát a lokális SMTP-n keresztül, nem is kell vele foglalkoznunk.</p>
<p>De mi van, ha a domaint valósan kiszolgáló MTA fizikailag egy másik szerverre, jelen esetben a Google Apps szervereire kerül? Ha megmarad a mailszerver használhatjuk annak SMTP-jét, vagy telepítünk valamilyen mini SMTP szervert  a webszerver mellé! Így a levélküldés működik szépen, csak az okosabb SPAM szűrők ki fogják dobni a címzett oldalán összes levelünket. Miért is?<br />
Egyszerűen azért, mert a  szűrő csak annyit lát, hogy a domainem.hu MX rekordja nem arra a szerverre mutat,  amiről a levél érkezik. A Gmail szűrője (nagyon helyesen) ezt figyeli, rosszabb esetben törli és soha nem kapjuk meg, jobb esetben felcimkézi SPAM cimkével a levelet. Ha nem tenné, bárki küldözgethetne nekünk saját domainem.hu-s címünkkel leveleket..</p>
<p><strong>A megoldás:</strong></p>
<blockquote><p>SPF rekord. Az SPF (Sender Policy Framework) TXT rekordok segítségével szabályozhatjuk DNS szinten, hogy mely szerverek küldhetnek domainünk alól levelet. Sok próbálkozás és a Google által ajánlott megoldás helyett végül a következő SPF rekord került beállításra nálam és azóta rendben mennek a dolgok:</p>
<h3>v=spf1 a mx a:000.000.000.000 include:_spf.google.com include:aspmx.googlemail.com ~all</h3>
<p>A 000.000.000.000 helyére a webszerver IP címét írjuk! Azét a szerverét, ahonnét php mail()-el küldeni akarunk.<br />
Fontos! Az all végződés előtti karakter nem kötőjel (-) hanem hullám karakter!<br />
A fenti SPF rekord beállításával működik a php-ből indított levelek küldése, nem kerülnek SPAM-be a címzettnél.</p></blockquote>
<p><strong>2.probléma: SPAM levelek és a POP3</strong></p>
<p>A Gmailben nem lehet kikapcsolni a SPAM szűrést. Alapértelmezetten minden fiókban van egy &#8220;Spam&#8221; mappa, illetve Gmail címke, amelyet minden beérkező levél megkap. Így a bejövő levelek közt nem jelennek meg, csak a SPAM mappában (címke alatt). Innen a  levelek egyébként 30 nap elteltével automatikusan törlődnek is, tehát érdemes gyakran ellenőrizni..</p>
<p>Ha a Gmail felületét használjuk, ott van a mappa (címke), bármikor megnézhetjük,  semmi gond. Sőt IMAP protokoll használatával is szépen el lehet érni a címkét mint IMAP mappa.<br />
Viszont a POP3 egy régi protokoll, csak arra képes, hogy a bejövő (INBOX) leveleket letöltse. Sok cégnél ragaszkodnak a POP-hoz, ezért a problémára valamilyen megoldást kellett keresnem:</p>
<p><strong>A megoldás:</strong></p>
<blockquote><p>Sajnos csak olyan lehetőségünk van, amivel a SPAM szűrést mellőznünk kell. Persze ez arra a minimális SPAM mennyiségre vonatkozik, ami egy átlagos gmail fiókba érkezik.. (nálam napi 1-2 levél 3 ráirányított címmel). Rengeteg SPAM-et már eleve át sem enged a Gmail levélszemét szűrője és eldobja kézbesítés előtt.</p>
<p>A megoldás lényege, hogy létrehozunk egy Gmail szűrőt, ami a Spam mappa helyett a bejövő mailek közé rakja a levelet, így a POP kliens le tudja tölteni:</p>
<p>1. Hozzunk létre a Gmail / Beállítások / Szűrők menüben egy újat!<br />
2.<span class="aS">&#8220;Tartalmazza a következő szavakat:&#8221; nevű mező tartalma legyen ez:  is:spam<br />
3. Tovább, majd jelöljük ki a &#8220;</span><label class="aD" for=":23">Soha ne legyen spam</label>&#8221; opciót.<br />
4. Done. Enjoy the SPAM!</p></blockquote>
<p><strong>Folyt. köv.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2010/01/20/google-apps-migracios-problemak-es-megoldasaik/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wp Post Thumbnail 0.2b Loading.. bug fix</title>
		<link>http://blog.vargapeter.com/2010/01/20/wp-post-thumbnail-02b-loading-bug-fixed/</link>
		<comments>http://blog.vargapeter.com/2010/01/20/wp-post-thumbnail-02b-loading-bug-fixed/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 17:37:14 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[web-dev]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=961</guid>
		<description><![CDATA[Finaly I found all the bugs in the Wordpress Post Thumbnail plugin. This fixed wppt.php file solves the famous &#8220;Loading.. &#8221; problem, but only works under IIS hosted Wordpress blogs. If your hosting server or local development server is IIS (windows webserver) based, you should check this fix!
Download here  the fixed file: wppt.php.zip
Please note:
This [...]]]></description>
			<content:encoded><![CDATA[<p>Finaly I found all the bugs in the Wordpress Post Thumbnail plugin. This fixed wppt.php file solves the famous &#8220;Loading.. &#8221; problem, but only works under IIS hosted Wordpress blogs. If your hosting server or local development server is IIS (windows webserver) based, you should check this fix!</p>
<p>Download here  the fixed file: <a href="http://blog.vargapeter.com/wp-content/uploads/2010/01/wppt.php.zip">wppt.php.zip</a></p>
<p>Please note:<br />
<strong>This is NOT a crossplatform fix, only works under IIS!</strong></p>
<p>Instructions:<br />
1. Replace the original wppt.php with the unarchived.<br />
2. If  the wp-content/uploads/wp-post-thumbnail/ directory doesn&#8217;t exist, create it!<br />
3. Enjoy the fixed plugin!</p>
<p>If this bugfix saved your life or something like that, please send me some beer or donate (on the sidebar)!</p>
<p>Thank you!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2010/01/20/wp-post-thumbnail-02b-loading-bug-fixed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gmail Apps Php Mailer SMTP beállítások</title>
		<link>http://blog.vargapeter.com/2009/12/04/google-gmail-apps-php-smtp/</link>
		<comments>http://blog.vargapeter.com/2009/12/04/google-gmail-apps-php-smtp/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 22:54:22 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[web-dev]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=954</guid>
		<description><![CDATA[Ezt a postot részben magamnak ajánlom, mert mindig elfelejtem valamelyik paramétert, részben pedig azoknak a sorstársaknak, akik a Google Apps / Gmail fiókjuk nevében akarnak emailt küldeni php mailer libraryvel. 

$mail->IsSMTP();
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = "username@gmail.com";
$mail->Password = "password";

]]></description>
			<content:encoded><![CDATA[<p>Ezt a postot részben magamnak ajánlom, mert mindig elfelejtem valamelyik paramétert, részben pedig azoknak a sorstársaknak, akik a Google Apps / Gmail fiókjuk nevében akarnak emailt küldeni php mailer libraryvel. </p>
<pre class="code">
$mail->IsSMTP();
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = "username@gmail.com";
$mail->Password = "password";
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/12/04/google-gmail-apps-php-smtp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex: ViewStack select by id</title>
		<link>http://blog.vargapeter.com/2009/11/19/flex-viewstack-select-by-id/</link>
		<comments>http://blog.vargapeter.com/2009/11/19/flex-viewstack-select-by-id/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 11:28:13 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[Apache, php, perl]]></category>

		<category><![CDATA[art]]></category>

		<category><![CDATA[web-dev]]></category>

		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=944</guid>
		<description><![CDATA[Flashben programozni szívás, Flexben is. Ezzel a problémával több mint egy órát tököltem, ezért szentelek neki egy gyors kis blogbejegyzést..
Van egy ViewStack komponensünk (MyViewStack), ebben pedig szépen elnevezett gyermek elemek. Elnevezés alatt azt értem, hogy mindegyiknek van saját &#8220;id&#8221;-je. Szeretnénk, hogy ne csak hagyományos módon az index alapján  ( MyViewStack.selectedIndex=1) lehessen elérni, hanem a &#8220;Stack&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Flashben programozni szívás, Flexben is. Ezzel a problémával több mint egy órát tököltem, ezért szentelek neki egy gyors kis blogbejegyzést..</p>
<p>Van egy ViewStack komponensünk (MyViewStack), ebben pedig szépen elnevezett gyermek elemek. Elnevezés alatt azt értem, hogy mindegyiknek van saját &#8220;id&#8221;-je. Szeretnénk, hogy ne csak hagyományos módon az index alapján  ( MyViewStack.selectedIndex=1) lehessen elérni, hanem a &#8220;Stack&#8221; id-je alapján, amit stringként közlünk a megjelenítő metódussal.</p>
<p>A metódus adott: MyViewStack.selectedChild=, viszont a bemenet nyilván nem lehet egy sima változónév, Container-re kell hivatkoznunk. Naív módon próbálkoztam ilyen flashes közhelyekkel: this[target] és társai..</p>
<p>Persze nem ment. Mivel Container kellett neki minden áron, beimportáltam az  mx.core.Container csomagot és rájöttem, hogy mennyire  szépen meg lehet ezek után oldani a problémát:</p>
<pre class="xml" name="code">import mx.core.Container;
private function showTarget(target:String) : void
{
    MyViewStack.selectedChild = Container(MyViewStack.getChildByName(target)) ;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/11/19/flex-viewstack-select-by-id/feed/</wfw:commentRss>
		</item>
		<item>
		<title>updown.com - online tőzsde</title>
		<link>http://blog.vargapeter.com/2009/11/14/akasszuk-fel-a-bankarokat-brokereket-befektetesi-tanacsadokat-etc/</link>
		<comments>http://blog.vargapeter.com/2009/11/14/akasszuk-fel-a-bankarokat-brokereket-befektetesi-tanacsadokat-etc/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 02:11:40 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[egyéb]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=937</guid>
		<description><![CDATA[
Van egy remek online játék, az updown.com. Igazi tőzsdei adatokkal (minimális késleltetéssel) működő online tőzsdei game. Kapsz 1M dollár kezdőtőkét, azt okosba befektetedheted, pontosan úgy adhatod-veheted a részvényeket, shortolhatod az OTP-t mint Soros Gyuri bácsi.. Közösségileg megvitathatod mik a trendek, mit és mit nem érdemes vásárolni, stb, stb.. (OTP amúgy nincs persze, ilyen balkáni (wc)papírokkal [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.updown.com/images/common/logo_big.jpg" alt="updown" /><br />
Van egy remek online játék, az updown.com. Igazi tőzsdei adatokkal (minimális késleltetéssel) működő online tőzsdei game. Kapsz 1M dollár kezdőtőkét, azt okosba befektetedheted, pontosan úgy adhatod-veheted a részvényeket, shortolhatod az OTP-t mint Soros Gyuri bácsi.. Közösségileg megvitathatod mik a trendek, mit és mit nem érdemes vásárolni, stb, stb.. (OTP amúgy nincs persze, ilyen balkáni (wc)papírokkal nem foglalkoznak.</p>
<p>Kb. fél éve volt egy BÉT előadás a tőzsde működéséről, alapfogalmakról, amit végighallgattam. Érdekes volt, akkor regisztráltam az updown.com-ra is. Akkor 1-2 hétig játszogattam vele, jópofának tűnt. Aztán se időm nem volt, se kedvem hozzá, nem foglalkoztam vele.<br />
Benne maradt kb 100.000 USD részvényekben. A többi alaptőkét nem fektettem be. Jelenleg 1.165.000 USD-m van játékpénzben. Elgondolkodtató, nem? Szinte random módon kiválasztott cégek részvényeiről van szó, amikről pénzügyi szempontból semmit nem hallottam eddig, nem figyelem a híreket és egy grafikonjukat sem nézegettem még trendelemzési szándékkal. Hagytam őket érlelődni 5 hónapot és mi lett belőle? Dupla annyi pénz, sőt 1,5x-ese a befektetett összegnek. Ezek után örülnöm kellene a garantált <10 %-ékoknak? <img src='http://blog.vargapeter.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Most akkor mi legyen, tőzsdézzek? </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/11/14/akasszuk-fel-a-bankarokat-brokereket-befektetesi-tanacsadokat-etc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>E-felvételi 2010</title>
		<link>http://blog.vargapeter.com/2009/11/10/e-felveteli-2010-ez-rossz/</link>
		<comments>http://blog.vargapeter.com/2009/11/10/e-felveteli-2010-ez-rossz/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 18:47:13 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[egyéb]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=932</guid>
		<description><![CDATA[Volt szerencsém kipróbálni az e-felvételi rendszert, jelentkeztem egy MSC kézésre. Imádom a kihívásokat, ezért döntöttem az online módszer mellett. Titkon reméltem, hogy látok majd valami jó megoldást, valami olyat, amire azt mondhatom: igen a Felvisek megcsinálták. Sajnos csalódnom kellett, ez a rendszer is a következő tipikusan &#8220;magyar IT modellen&#8221; alapul:
1. Végy egy lejárt tanúsítványt.
2. Egy [...]]]></description>
			<content:encoded><![CDATA[<p>Volt szerencsém kipróbálni az e-felvételi rendszert, jelentkeztem egy MSC kézésre. Imádom a kihívásokat, ezért döntöttem az online módszer mellett. Titkon reméltem, hogy látok majd valami jó megoldást, valami olyat, amire azt mondhatom: igen a Felvisek megcsinálták. Sajnos csalódnom kellett, ez a rendszer is a következő tipikusan &#8220;magyar IT modellen&#8221; alapul:<br />
1. Végy egy lejárt tanúsítványt.<br />
2. Egy tehetségtelen programozót, rendszergazdát és sitebuildert. Ha elég pénzed van (közigazgatási szektor, hogyne lenne), akkor akár egy csapatnyit is.<br />
3. Félig működő állami infrastruktúrát és kapcsolódó szolgáltatásokat (pl. Ügyfélkapu).<br />
4. Az OTP szutyok online fizetési rendszerét.<br />
6. Jól gyúrd össze!<br />
Készen is van! Ha véletlenül a magyaroszag.hu-t kaptad a felvi.hu helyett, akkor rossz irányba keverted.<br />
Persze, tudom fikázni könnyű.. hibázni mindenki szokott, én is, de ha én egymagam ennyi hibát találtam, az már tényleg gáz:</p>
<p>0. Hol az efelvételi? Október 15-e éjjel (a jelentkezés első napja): Nézem a felvi.hu-t&#8230; mindenütt kinn a szöveg, hogy hogyan jelentkezz, mit adj meg, hova klikkelj, de az eFelvételi menüpont hiányzik. Okt. 16 de.: még mindig semmi, hívom az ügyfélszolgálatot, hogy bocsánat, lehet, hogy én vagyok a hülye, de nem találom az efelvételi menüpontot.<br />
&#8220;Ja, az még nincs aktiválva.&#8221; &#8220;Hmm.. és mikor várható? &#8221; &#8220;Őőőő talán a holnapi napon. De ha nem, akkor hétfőig biztosan.&#8221; &#8220;Ja, jó.. köszönöm. Viszhall!&#8221; Kiváncsi lennék, hogy ha én 3 nappal a jelentkezési határidő után jelentkeznék, azt elfogadnák-e. </p>
<p>1. Dokumentumfeltöltés esetén, ha túl nagy a fájl, benyom az iframe-be egy Bad Request HTTP error böszme feliratot.. Se hibakezelés, se semmi.. a szegény hétköznapi diák meg jöjjön rá mivan.. </p>
<p>2. Lejárt session.. ajaxos művelet esetén kiokádja a div-be újra az egész oldalt.. Site in a div effect, értem én.. </p>
<p>3. Ügyfélkapu hitelesítés.. na ez a legszebb, komolyan.. SSL error. Rossz a tanúsítvány, de nem csak szimplán rossz, hanem durván.. én ilyet még nem láttam.. Kb. 18-at kellett klikkelnem Firefoxban mire letöltötte és elfogadta az ócska tanúsítványt. Ok, én tudom, hogy ez a programozók, rendszergazdák hanyagsága, de egy ÁLLAMI cég tanúsítványa legyen már rendben könyörgöm!! Főleg ha azon a személyes adataimat hitelesítem. Miért neveljük szerencsétlen felhasználókat arra, hogy lesz@rják a tiltó és figyelmeztető üzeneteket?!</p>
<p>+1 a ráadás. OTP fizetés.. Fizetek, jön az SMS, 9essze&#8217; levonva a számláról. Böngészőben szép kis HTTP error. Visszakavarodok a felvi.hu-ra.. látom, a felületen továbbra is &#8220;Önnek 9000 Ft díjtartozása van.&#8221; Ekkor a jelentkezés folyamata során harmadszor hívom az ügyfélszolgálatot.. Azonnal felveszik, mondom mi a gond. 10 msp múlva már mondja is a srác, hogy minden rendben, jóváírták az összeget, hamarosan a felületen is ezt látom majd. Elköszön. </p>
<p>Leteszem, aztán elgondolkodok.. Nem is érdekelte, hogy hibás a fizetési rendszer.. Feltételezem az ügyfélkapus hitelesítésnél felugró tanúsítványablakokkal sem bírkózott meg mindenki, arról is tudnak.. és tudjátok mi van? Leszarják. Leszarják, mert na és? Mi van, ha nem megy.. max beadod papíron, vagy nem leszel jövőre egyetemista. Ez az ami baromira dühítő az egészben.. na meg az, hogy a főnökeik, meg az ő főnökeik is így gondolkoznak. </p>
<p>De legalább a support gyors <img src='http://blog.vargapeter.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/11/10/e-felveteli-2010-ez-rossz/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IIS - MySQL Membership Provider telepítése</title>
		<link>http://blog.vargapeter.com/2009/10/31/iis-mysql-membership-provider-telepitese/</link>
		<comments>http://blog.vargapeter.com/2009/10/31/iis-mysql-membership-provider-telepitese/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 19:21:05 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[IIS7]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=912</guid>
		<description><![CDATA[A cél egy integrált vitruális felhasználókat kezelő rendszer létrehozása volt IIS alá, ami független az IIS Manager Userektől és természetesen a Windows felhasználói fikókoktol is, ugyanakkor elérhető az IIS FTP, WebDAV és egyéb szolgáltatásaiból. A megoldás egyik alappillére a .Net Membership rendszere. 
Az én megvalósításomban az adatbázis nem a megszokott Microsoft SQL, hanem MySQL. A [...]]]></description>
			<content:encoded><![CDATA[<p>A cél egy integrált vitruális felhasználókat kezelő rendszer létrehozása volt IIS alá, ami független az IIS Manager Userektől és természetesen a Windows felhasználói fikókoktol is, ugyanakkor elérhető az IIS FTP, WebDAV és egyéb szolgáltatásaiból. A megoldás egyik alappillére a .Net Membership rendszere. </p>
<p>Az én megvalósításomban az adatbázis nem a megszokott Microsoft SQL, hanem MySQL. A telepítés kicsit macerás volt egy idegesítő hiba és a konfiguráció nüanszai miatt, ráadásul mivel nem vagyok .Net fejlesztő és VS-ből soha nem próbáltam ilyen kapcsolatot létrehozni, IIS-ből sem volt könnyebb.</p>
<p>Kapásból vakvágányra futottam, mert Google-ban keresgéltem, megszegve ezzel az MS fejlesztők és rendszergazdák elsőszámú szabályát: használd a Support weboldalakat, mert sz@runk a google-ra és nem hagyjuk, hogy a jó megoldásokat első oldalon hozza. Szal&#8217; elkezdtem behackelni ezt a göncöt: http://www.codeproject.com/KB/database/mysqlmembershipprovider.aspx Már az SQL táblák létrehozása egy katasztrófa, hagyjuk is.</p>
<p>A jó megoldást a MySQL saját connectora jelenti: <a href="http://dev.mysql.com/downloads/connector/net/6.2.html">Connector/Net 6.2: </a>Nem kell félni az MSI installertől, kiválóan működik.</p>
<p>A Connector mellé installálni kell a MySQL ODBC Drivert is. <a href="http://dev.mysql.com/downloads/connector/odbc/5.1.html">Töltsük le</a> a MySQL oldaláról, majd telepítsük.</p>
<p>IIS Managerben elég bonyolult a sok kattintgatás, ezért inkább postolok egy helyes, jól működő web.config kódot:</p>
<pre class="xml" name="code">&lt;!-- Előbb eltávolítjuk az alapértelmezetteket, mert az IIS hiányolja őket és a sajátunk nem fog működni--&gt;
&lt;connectionStrings&gt;
        &lt;remove name="LocalSqlServer" /&gt;
        &lt;remove name="LocalMySqlServer" /&gt;
        &lt;add name="LocalMySqlServer" connectionString="Datasource=localhost;Database=dbname;uid=username;pwd=password;" providerName="MySql.Data.MySqlClient" /&gt;
&lt;/connectionStrings&gt;

&lt;system.web&gt;
    &lt;roleManager enabled="true" defaultProvider="MySQLRoleProvider"&gt;
      &lt;providers&gt;
        &lt;clear /&gt;
        &lt;add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.0.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="LoginControl" /&gt;
      &lt;/providers&gt;
    &lt;/roleManager&gt;

&lt;!-- autogenerateschema="true", ha nem kézzel akarjuk létrehozni a táblákat..--&gt;
 &lt;membership defaultProvider="MySQLMembershipAppProvider"&gt;
       &lt;providers&gt;
        &lt;clear /&gt;
        &lt;add name="MySQLMembershipAppProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.0.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" autogenerateschema="true" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="LoginControl" requiresUniqueEmail="true" passwordFormat="hashed" maxInvalidPasswordAttempts="7" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /&gt;
      &lt;/providers&gt;
    &lt;/membership&gt;

    &lt;compilation&gt;
      &lt;assemblies&gt;
        &lt;add assembly="MySql.Data, Version=6.0.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /&gt;
      &lt;/assemblies&gt;
    &lt;/compilation&gt;

&lt;/system.web&gt;</pre>
<p>Jellegzetes hibalehetőségek, amikkel én is szívtam:</p>
<p>1. ODBC Dirver tényleg legyen rendben, akár teszteljük is, mielőtt bármit konfigurálnánk.</p>
<p>2. Ha az ODBC rendben, ne felejtsük a schema=&#8221;true&#8221;-t hozzáadni a MemberShip Providerhez, mert különben nem jönnek létre a szükséges táblák a MySQL adatbázisunkban.</p>
<p>3. Figyeljünk, hogy ne legyen hiba a connection stringben, nem szereti a jelszóban a különleges karaktereket.</p>
<p>Ha mindent jól csináltunk, az IIS Manager ASP.NET / .Net Users-be belépve egyrészt nem kapunk hibát, másrészt létrejönnek adatbázisunkban a szükséges táblák és akár meg is kezdhetjük a felhasználók feltöltését. Az IIS tökéletes felhasználókezelést nyújt, nemsokára posztolom az én Flexben készült &#8220;Fancy Remote&#8221; applikációmat, ami még fejlesztés alatt áll.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/10/31/iis-mysql-membership-provider-telepitese/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IIS7 Custom Basic Authentication</title>
		<link>http://blog.vargapeter.com/2009/10/31/iis7-custom-basic-authentication/</link>
		<comments>http://blog.vargapeter.com/2009/10/31/iis7-custom-basic-authentication/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 18:33:10 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[IIS7]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=839</guid>
		<description><![CDATA[Már régóta kerülgetem a Codeplex-en ezt a projektet, soha nem jutottam el addig, hogy kipróbáljam. Az a baj az IIS Basic Authentication-nel, hogy nem tudunk vele virtuális felhasználókat kezelni, csak igen komplikált módon. Akkor is csak úgy, hogy az IIS configjában tárolódnak a felhasználók adatai. A célom az volt, hogy egy külső MySQL adatbázisba valamilyen [...]]]></description>
			<content:encoded><![CDATA[<p>Már régóta kerülgetem a Codeplex-en ezt a projektet, soha nem jutottam el addig, hogy kipróbáljam. Az a baj az IIS Basic Authentication-nel, hogy nem tudunk vele virtuális felhasználókat kezelni, csak igen komplikált módon. Akkor is csak úgy, hogy az IIS configjában tárolódnak a felhasználók adatai. A célom az volt, hogy egy külső MySQL adatbázisba valamilyen okos formában tárolódjanak az IIS virtuális felhasználói és azokat az összes IIS-es szolgáltatásból (Védett könyvtárak, FTP, WebDav, stb..) elérjem, autentikálhatóak legyenek. Pontosan erre jó a Custom Basic Authentication nevű kis projekt. Pontosabban arra, hogy egy .Net Membership Providert elérhetővé tegyen Basic Authentication formában. </p>
<p>Telepítése nem túl bonyolult:<br />
Töltsük le a http://www.codeplex.com/CustomBasicAuth weboldalról (az installert, ne a forrást).<br />
Persze gondok lesznek, különben nem ínék róla <img src='http://blog.vargapeter.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Az installer.cmd a gautil.exe-t használja, ami nagy marhaság a kedves fejlesztő részéről, hiszen a .Net Framework 2 óta ez a utility nincs benn a Frameworkben, csak az SDK-ban. Kiszolgálókra meg ugyebár mióta divat SDK-t pakolni :S Az MS hivatalos álláspontja egyébként az, hogy a GACUTIL egy fejlesztői eszköz, ezért is vette ki a Frameworkből. </p>
<p>Itt kicsit tétováztam, mert nem igazán tudtam, mire jó egyáltalán ez a kis programocska. Aztán kiderült, hogy igazából nincs rá szükség. Fogjuk a 3db dll fájlt és másoljuk a C:/Windows/assembly könyvtárba, így bekerülnek a GAC-ba. Majd az installer kikommentelt utolsó két parancsát futtassuk le parancssorból a fájlok mappájában:</p>
<pre name="code" class="vb">
iisschema.exe /install CustomBasicAuthentication_schema.xml</pre>
<pre name="code" class="vb">IisRegMgmt CustomBasicAuth LeastPrivilege.CustomBasicAuthentication.Management.CustomBasicAuthenticationModuleProvider LeastPrivilege.CustomBasicAuthentication.Management.dll</pre>
<p>Voila, készen is vagyunk, az IISManager-ben a Site-unk Authentication panelján már ott kell lennie a Custom Basic Authentication opciónak is. Az Edit-re kattintva konfigurálhatjuk, hogy melyik providert használja. Tiltsuk le az összes többi Authentication módot és próbáljuk ki a böngészőből. Ha feldobja az autentikációs ablakot, akkor nyertünk. A sikeres bejelentkezéshez persze kell a működő provider is. </p>
<p>Ha esetleg nem működne a cucc, és még nincs a helyén, akkor az IIS Managerben a Modules panelon adjuk hozzá az installált modulokhoz a CustomBasicAuthentication-t is a legördülő listából.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/10/31/iis7-custom-basic-authentication/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IIS7 Pass-through Authentication + WebDAV</title>
		<link>http://blog.vargapeter.com/2009/10/31/iis7-pass-through-authentication/</link>
		<comments>http://blog.vargapeter.com/2009/10/31/iis7-pass-through-authentication/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 14:24:29 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[IIS7]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=842</guid>
		<description><![CDATA[Miután sikerült beüzemelni a .Net Membership Providert és a Custom Basic Authentication kiegészítést, lehetővé vállt, hogy MySQL-ben tárolt virtuális felhasználóimat minden szolgáltatásnál használhassam. A WebDAV persze megint bekavart..
Amit én szerettem volna az a következő:
1. WebDAV SSL titkosítással
2. Egy központi WebDAV root folder és abban Virtuális mappaként bemappolva a felhasználók Site-jai úgy, hogy a webdav root-hoz [...]]]></description>
			<content:encoded><![CDATA[<p>Miután sikerült beüzemelni a .Net Membership Providert és a Custom Basic Authentication kiegészítést, lehetővé vállt, hogy MySQL-ben tárolt virtuális felhasználóimat minden szolgáltatásnál használhassam. A WebDAV persze megint bekavart..</p>
<p>Amit én szerettem volna az a következő:<br />
1. WebDAV SSL titkosítással<br />
2. Egy központi WebDAV root folder és abban Virtuális mappaként bemappolva a felhasználók Site-jai úgy, hogy a webdav root-hoz és más domainjai alatt lévő tartalomhoz se férjenek hozzá.<br />
Az egyes hosztolt weboldalak elérései így néznének ki:<br />
http://www.host.hu/webdav/domain1.hu<br />
http://www.host.hu/webdav/domain2.hu</p>
<p>Az elképzelés tökéletesen működhetne, de nem ment elsőre a dolog..<br />
A főbb lépések így néztek ki:<br />
1. A host.hu/webdav/domain1.hu - virtuális mappa WebDav Authentication Rule-jai közé hozzáadtam a  &#8220;test&#8221; nevű felhasználót.<br />
 2. Adtam neki WebDAV jogokat, innentől kezdve elméletileg van joga a virtuális könyvtár fizikai helyére és annak összes alkönyvtárára WebDAV-on keresztül.<br />
3. Csatlakoztam a &#8220;test&#8221; nevű felhasználóval és rendben meg is jelent a domain1.hu könyvtár tartalma:</p>
<pre name="code" class="vb">
log/                   --        Tue, 20 Jan 2009 09:07:05 GMT
tmp/                   --        Tue, 20 Jan 2009 09:07:13 GMT
www/                   --        Wed, 28 Jan 2009 15:35:31 GMT</pre>
<p>A log és tmp könyvtárakkal semmi gond, minden jog érvényesült. Viszont a www-re listázáskor hibát kaptam, nem érvényesültek rá a domain1.hu-ra kiadott jogok. Csak a www-re? Mivan? Miért is? </p>
<p>Mivel az IIS konfigurációja elosztott,  több szinten definiálható, ezért amikor egy kérés jön a webszerverhez, ő gyorsan körbenéz minden beállítási szinten: megnézi az applicationHost.config fájlban az alapbeállításokat, érvényesíti, a location tagekben (ha van) a site konfigurációját, érvényesíti, egy szinttel lejjebb, a könyvtárstruktúrában elhelyezett web.config fájlokban keres, érvényesít és halad méglejjebb az almappák web.config-jaihoz, stb, stb.. Hopp! Ez lesz a baj!</p>
<p>Mivel a http://www.host.hu/domain1.hu/www mappa igazábol a szerveren hosztolt domain1.hu site root-ja, az ottani web.config fájlt is érvényesíteni szeretné függetlenül attól, hogy én WebDAV-on keresztül egy másik alkalmazásból hívom meg a könyvtár elemeit. Szeretne hozzáférni a web.config-hoz, de nyilván nem tud, innentől kezdve nagyon egyszerű dolgunk van, hiszen csak azt kell megakadályoznunk, hogy a domain1.hu alkönyvtárait és az azok alatti könyvtárak web.config fájljait is keresse az IIS. A legszebb az egészben, hogy ehhez csak annyit kell tennünk, hogy a domain1.hu virtuális könyvtárához hozzáadjuk az  allowSubDirConfig=&#8221;false&#8221; paramétert az applicationHost.config központi konfigurációs fájlban. </p>
<p>A dolog működik, viszont óriási biztonsági rést üt. Gondolkozzunk el egy picit, hogy hogyan működik a WebDAV. A HTTP protokoll hátán utaznak az infok, a 80-as porton. Az IIS elkülöníti a WebDAV és sima HTTP kéréseket, jogosultságilag is, azzal nincs is gond, hogy a WebDAV jogokat csak a webdav/domain1.hu, webdav/domain2.hu stb.. virtuális mappákra és azok felhasználóira adom ki így megakadályozva, hogy egyik felhasználó a másik cuccai közt bóklásszon.<br />
De ha ezt sima HTTP-n keresztül teszi, akkor autentikáció után a böngészőbe csak a mefelelő elérési utat kell bepötyögnie és bármilyen fájlhoz hozzáfér amit a virtuálsi WebDAV-os mappákkal bemappoltam. Azt mondanán, hogy ez sem gond, hiszen ezt közvetlenül mondjuk a domain1.hu/titok.html-en keresztül közvetlenül is megteheti. Pedig nem. Mivel a web.config fájlokban olyan autentikációs és authorizációs illetve átirányítási utasítások lehetnek, melyek elfednek bitonyos fájlokat a működő aplikációkban, ezért ha mi hatástalanítjuk a allowSubDirConfig-al, szabad az út az ilyen módon védett tartalomhoz. a http://www.host.hu/webdav/ felől érkezve. </p>
<p>Ezért mindenképp meg kell akadályoznunk, hogy a bejelentkezett felhasználó  HTTP (nem WebDav) kéréssel elérje a könyvtárakat (persze a saját könyvtárát el kell, hogy érje, hiszen ha HTTP nincs, WebDAV sincs). A megoldás pofon egyszerű és szép is: </p>
<p>1. A webdav/ könyvtárunkat fosszuk meg az Authorization beállításoknál az Allow All-tól. Ezzel megakadályozva, hogy az autentikált felhasználó bármit is elérjen a könyvtáron belül.<br />
2. Osszunk ki egy szinttel lejjebb a webdav/domain1.hu felhasználójának a &#8220;test&#8221; usernek egy Allow-t. </p>
<p>Kész a shared hosting webdav elérés is. Enjoy!<br />
Felelőséget persze nem vállalok az itt leírtakért, mert csak részben érintem a biztonsági kérdéseket. Ezen kívül rengeteg egyéb követelménynek kell teljesülnie egy biztonságos kiszolgálón. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/10/31/iis7-pass-through-authentication/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Napi Script: Window wget alternatívák</title>
		<link>http://blog.vargapeter.com/2009/10/14/napi-script-window-wget-alternativak/</link>
		<comments>http://blog.vargapeter.com/2009/10/14/napi-script-window-wget-alternativak/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 12:28:33 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[VBScript]]></category>

		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=811</guid>
		<description><![CDATA[Ez az első szkript, amit megosztanék a &#8220;Napi script&#8221; sorozatban. Terveim szerint felteszek majd sokkal komplexebb, speciális kódrészleteket is főleg PowerShell és VBScript nyelveken. Elsősorban olyan szkripteket, amik az adminisztrátorok mindennapos problémáit oldják meg windows rendszereken. Rengeteg (akár fizetős) segédprogram és alkalmazás kiváltható szkriptes megoldásokkal. Minimális programozási tudással lehet rajtuk változtatni, testreszabni, okosítani őket. 
WGET: [...]]]></description>
			<content:encoded><![CDATA[<p>Ez az első szkript, amit megosztanék a &#8220;Napi script&#8221; sorozatban. Terveim szerint felteszek majd sokkal komplexebb, speciális kódrészleteket is főleg PowerShell és VBScript nyelveken. Elsősorban olyan szkripteket, amik az adminisztrátorok mindennapos problémáit oldják meg windows rendszereken. Rengeteg (akár fizetős) segédprogram és alkalmazás kiváltható szkriptes megoldásokkal. Minimális programozási tudással lehet rajtuk változtatni, testreszabni, okosítani őket. </p>
<p>WGET: A unixos wget parancs nagyon hasznos, gyakran használjuk és éppen ezért windowson erősen érezhető a hiánya. A Windows CMD parancsai között nincs ilyen, helyette több alternatívát ismertetnék:</p>
<p>1. Wget.exe - Remek kis utility. Aki nem akar sokat szórakozni<a href="http://users.ugent.be/~bpuype/wget/"> töltse le</a>, másolja be valamelyik PATH mappába és már használhatja is úgy mint más rendszereken. Mivel a  normál commandline-ban nem csak wget parancs nincs, hanem a szögfeldolgozási lehetőségek is igen gyérek, a visszakapott http válasszal, vagy fájlal már nem nagyon tudunk mit kezdeni. Ha mégi ilyen szándékaink vannak, más, szkriptelési megoldások után kell néznünk:</p>
<p>2. VBScript: Az alap, <a href="http://msdn.microsoft.com/en-us/library/ms760305(VS.85).aspx">IXMLHTTPRequest</a> interfészt használó HTTP kérést végrehajtó szkript alább látható. Nem többről van szó, mint egy http kérés indításáról és a válasz tartalmának kiíratásáról. A kikommentelt rész az url paraméterként való megadhatóságára szolgál ha CMD-ből, szeretnénk futtatni. </p>
<pre name="code" class="vb">
Option Explicit
On Error Resume Next

Dim url
url="http://blog.vargapeter.com"

'Dim paramz
'Set paramz = WScript.Arguments
'url = paramz(0)

Set objHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
objHTTP.open "GET", url, false
objHTTP.send()
MsgBox objHTTP.responseText
Set objHTTP = Nothing
</pre>
<p>3. Powershell: Mivel PS-ből meg tudunk hívni .Net-es osztályokat, használjuk a  <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.80).aspx">System.Net.WebClient</a>-et. A neve beszédes, van egy rakás metódusa és tulajdonsága. Lássunk egy egyszerű példát az előző kód mintájára:</p>
<pre name="code">$httpclient= new-object System.Net.WebClient
$httpclient.DownloadString("http://blog.vargapeter.com")</pre>
<p>4. Mi van még? PS alatt azért jól el vagyunk látva, írtak többen is cmdleteket az egyszerűbb hívás érdekében:<br />
<a href="http://huddledmasses.org/wget-2-for-powershell/ ">WGet 2 for PowerShell</a><br />
<a href="http://johnny64.wordpress.com/2008/07/21/how-to-use-wget-in-powershell/">Jacobian&#8217;s wget for PowerShell</a></p>
<p>Hát ennyi.. használjuk azt a megoldást, ami céljainknak legjobban megfelel.<br />
Holnap új téma, új szkriptek! </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/10/14/napi-script-window-wget-alternativak/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex AS3 rpclib (XMLRPC) kiegészítés</title>
		<link>http://blog.vargapeter.com/2009/09/16/flex-as3-rpclib-kiegeszites/</link>
		<comments>http://blog.vargapeter.com/2009/09/16/flex-as3-rpclib-kiegeszites/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 06:52:10 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=800</guid>
		<description><![CDATA[É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 [...]]]></description>
			<content:encoded><![CDATA[<p>Érdekes, hogy a fejlesztők kihagyták, első pillanatban nem is értettem a dolgot, de sikerült rájönni, hogy az <a href="http://code.google.com/p/as3-rpclib/">AS3 rpclib</a> 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:</p>
<p>Az XMLRPCSerializer.as fájlban a 99. sor környékén nyomjunk egy ilyet és már működik is:</p>
<pre><span>else</span> <span>if</span> (tobject <span>is</span> Object){
         txmllist =  encodeStruct(tobject);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/09/16/flex-as3-rpclib-kiegeszites/feed/</wfw:commentRss>
		</item>
		<item>
		<title>uTorrent több példányban</title>
		<link>http://blog.vargapeter.com/2009/09/14/utorrent-tobb-peldany/</link>
		<comments>http://blog.vargapeter.com/2009/09/14/utorrent-tobb-peldany/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 17:19:19 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=796</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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ő:</p>
<p>1. Telepítjük az uTorrent legfrissebb változatát.<br />
2. Duplikáljuk az uTorrent mappáját a ProgramFiles mappában uTorrent2 néven.<br />
3. Az intéző címsorába pötyögjük be: %appdata%uTorrent<br />
4. Hozzunk létre egy új mappát uTorrent2 néven az %appdata%-n belül.<br />
5. Másoljunk minden .dat fájlt a %appdata%uTorrent2 mappába.<br />
6. Készítsünk egy parancsikont a C:Program FilesuTorrent2uTorrent.exe-re.<br />
7. Nyissuk meg a parancsikon tulajdonságait és a Target-et módosítsuk erre: &#8220;C:Program FilesuTorrent2uTorrent.exe&#8221; /RECOVER.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/09/14/utorrent-tobb-peldany/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AS3,Flex: rest paraméter trükk</title>
		<link>http://blog.vargapeter.com/2009/08/11/as3flex-rest-parameter-trukk/</link>
		<comments>http://blog.vargapeter.com/2009/08/11/as3flex-rest-parameter-trukk/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 13:26:16 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[web-dev]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=788</guid>
		<description><![CDATA[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 &#8220;további&#8221; paraméter benne van. Például:

function elemLista(...items):void{
     for( var i:int = [...]]]></description>
			<content:encoded><![CDATA[<p>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 &#8220;további&#8221; paraméter benne van. Például:</p>
<p><code><br />
function elemLista(...items):void{<br />
     for( var i:int = 0; i &lt; items.length; i++){<br />
         trace("Elem: ", items[i]);<br />
     }<br />
}</p>
<p>elemLista(&#8221;A&#8221;,&#8221;B&#8221;,&#8221;C&#8221;, 1, 2, 3);</p>
<p>Kimenet:<br />
Elem: A<br />
Elem: B<br />
Elem: C<br />
Elem: 1<br />
Elem: 2<br />
Elem: 3<br />
</code></p>
<p>Nagyon hasznos dolog, amint látható én gyakran használom.<br />
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?!<br />
Nos, ha a tömböt közvetlenül adom át: elemLista(tomb:Array) az nem fog menni.<br />
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: </p>
<p><code><br />
function elemLista(...items):void{<br />
     for( var i:int = 0; i &lt; items.length; i++){<br />
         trace("Elem: ", items[i]);<br />
     }<br />
}</p>
<p>var lista:Array = new Array(&#8221;A&#8221;,&#8221;B&#8221;,&#8221;C&#8221;, 1, 2, 3);<br />
elemLista.apply(this,lista);</p>
<p>Kimenet:<br />
Elem: A<br />
Elem: B<br />
Elem: C<br />
Elem: 1<br />
Elem: 2<br />
Elem: 3<br />
</code></p>
<p>Papaam! Már működik is. Nos, nekem ez egy óra kutakodásba került, remélem a kedves olvasó gyorsabban megtalálja</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/08/11/as3flex-rest-parameter-trukk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nyári Dachstein (2008)</title>
		<link>http://blog.vargapeter.com/2009/07/06/nyari-dachstein-klettersteig-tura/</link>
		<comments>http://blog.vargapeter.com/2009/07/06/nyari-dachstein-klettersteig-tura/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 23:09:19 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[Túrák - klasszikus alpinizmus]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=684</guid>
		<description><![CDATA[
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, 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 [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>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.</p>
<p><a class="flickr-image alignnone" title="Berghotel Dachstein" href="http://www.flickr.com/photos/vargapeti/3692280042/"><img src="http://farm3.static.flickr.com/2583/3692280042_1069997037.jpg" alt="Berghotel Dachstein" width="400" height="174" /></a></p>
<p><span style="font-family: mceinline;">(Berghotel Dachstein, háttérben a Dachstein déli fala)</span></p>
<p>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 &#8220;Nagyfalas Géza&#8221; 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. </p>
<p><a class="flickr-image alignnone" title="PICT0501.JPG" href="http://www.flickr.com/photos/vargapeti/3691488259/"><img src="http://farm4.static.flickr.com/3551/3691488259_6b5f3de3a8.jpg" alt="PICT0501.JPG" width="400" height="300" /></a></p>
<p><span style="font-family: mceinline;">(Terminátor és a házigazda a hotel teraszán.. - kb 20 éve)</span></p>
<p>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.</p>
<p>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 <img src='http://blog.vargapeter.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> -, 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.</p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=hu&amp;geocode=&amp;q=ramsau+dachstein&amp;sll=37.579413,-95.712891&amp;sspn=36.011613,79.013672&amp;ie=UTF8&amp;ll=47.563554,13.684845&amp;spn=0.32433,0.583649&amp;z=10&amp;iwloc=A&amp;output=embed"></iframe></p>
<p>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 <img src='http://blog.vargapeter.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Viszont számíts keresztkérdésekre pl. &#8220;melyik évben születtél?&#8221; ha sokat gondolkozol az évszámon, lebuktál.</p>
<p>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.</p>
<p>A túrák:</p>
<p><strong>Türlwand Hütte(1692m) - Bachalm (1490m) - Ramsau(1250m) - Türlwand Hütte(1692m)</strong></p>
<p><a class="flickr-image alignnone" title="Dachstein2" href="http://www.flickr.com/photos/vargapeti/3692291986/"><img src="http://farm4.static.flickr.com/3573/3692291986_81fa3039b4.jpg" alt="Dachstein2" width="400" height="242" /></a></p>
<p><span style="font-family: mceinline;">(Bachalm panoráma - Dachstein - déli fal)</span></p>
<p>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.</p>
<p><strong>Tor - egész napos, könnyű túra (családdal is)</strong></p>
<p><strong><a class="flickr-image alignnone" title="PICT0522.JPG" href="http://www.flickr.com/photos/vargapeti/3691489093/"><img src="http://farm3.static.flickr.com/2436/3691489093_3120273dd6.jpg" alt="PICT0522.JPG" width="400" height="300" /></a></strong></p>
<p><span style="font-family: mceinline;">(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)</span></p>
<p>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.</p>
<p><a class="flickr-image alignnone" title="PICT0594.JPG" href="http://www.flickr.com/photos/vargapeti/3691493741/"><img src="http://farm3.static.flickr.com/2568/3691493741_53a6ceb344.jpg" alt="PICT0594.JPG" width="400" height="300" /></a></p>
<p><span style="font-family: mceinline;">(Racheck alatti hágó)</span></p>
<p>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 &#8220;brutális&#8221; emelkedőn.  Igazuk van.</p>
<p><strong>Hunerscharte (2687m) A-B és Hunerkogel C-D Klettersteig - Skywalk</strong></p>
<p><strong><a class="flickr-image alignnone" title="PICT0529.JPG" href="http://www.flickr.com/photos/vargapeti/3692296678/"><img src="http://farm4.static.flickr.com/3594/3692296678_3519dc6720.jpg" alt="PICT0529.JPG" width="400" height="300" /></a></strong></p>
<p><span style="font-family: mceinline;">(Hölgy-völgy)</span></p>
<p>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  &#8220;A hegyek közt rá lehet b@szni.. és sokan rá is b@sznak.&#8221; 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&#8217; valószínűleg valaki tényleg rá is&#8230; 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.</p>
<p>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&#8217; a leveske kimaradt. Visszafelé csaltunk, mert a Seilbahnnal jöttünk.</p>
<p>Az utolsó napra hagytuk a legizgalmasabbat:</p>
<p><strong>Edelgriess völgy - Koppenkarstein Klettersteig (A-B) függőhíddal</strong></p>
<p><strong><a class="flickr-image alignnone" title="PICT0615.JPG" href="http://www.flickr.com/photos/vargapeti/3691495175/"><img src="http://farm3.static.flickr.com/2573/3691495175_3ee577c05a.jpg" alt="PICT0615.JPG" width="400" height="300" /></a></strong></p>
<p><span style="font-family: mceinline;">(Edelgriess völgy)</span></p>
<p>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.</p>
<p><a class="flickr-image alignnone" title="PICT0631.JPG" href="http://www.flickr.com/photos/vargapeti/3692300790/"><img src="http://farm4.static.flickr.com/3571/3692300790_2b3def913f.jpg" alt="PICT0631.JPG" width="400" height="300" /></a></p>
<p><span style="font-family: mceinline;">(A déli fal fölötti Koppenkarstein kitett, de könnyű klettesteig útvonalán)</span></p>
<p>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!</p>
<p><strong><a class="flickr-image alignnone" title="PICT0622.JPG" href="http://www.flickr.com/photos/vargapeti/3692299734/"><img src="http://farm3.static.flickr.com/2425/3692299734_998b138393.jpg" alt="PICT0622.JPG" width="400" height="300" /></a></strong></p>
<p><span style="font-family: mceinline;">(A függőhíd, balra a mélység felhőben, jobbra a gleccer és a Dachstein cúcs szintén felhőben)</span></p>
<p>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.</p></div>
<p>Egy áttekintő térkép a déli fal klettesteig útjairól + Tor útvonal családi, pihenő kirándulásnak.<br />
<a href="http://www.flickr.com/photos/vargapeti/3692447126/" title="php405D" class="flickr-image alignnone" rel="flickr-mgr" ><img src="http://farm3.static.flickr.com/2454/3692447126_185217116c.jpg" alt="php405D" class="flickr-original"  longdesc="http://farm3.static.flickr.com/2454/3692447126_4250cc0856_o.jpg"  width="400" height="*"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/07/06/nyari-dachstein-klettersteig-tura/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IIS7 aldomain átirányítás</title>
		<link>http://blog.vargapeter.com/2009/06/30/iis7-aldomain-atiranyitas/</link>
		<comments>http://blog.vargapeter.com/2009/06/30/iis7-aldomain-atiranyitas/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 19:02:39 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[IIS7]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=651</guid>
		<description><![CDATA[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 &#8220;dobja&#8221; a böngészőnket, így a böngészőbe írt url is megváltozik. A rewrite, vagyis az &#8220;átírás&#8221; ezzel szemben elfedi a kiszolgálás helyét. Lássunk két példát és IIS rule kódjaikat:
A [...]]]></description>
			<content:encoded><![CDATA[<p>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 &#8220;dobja&#8221; a böngészőnket, így a böngészőbe írt url is megváltozik. A rewrite, vagyis az &#8220;átírás&#8221; ezzel szemben elfedi a kiszolgálás helyét. Lássunk két példát és IIS rule kódjaikat:</p>
<p>A böngészőbe ezt írjuk: http://valami.vargapeter.com/index.html<br />
A kiszolgálás valós helye mindkét esetben:  http://vargapeter.com/valami/index.html.</p>
<p><strong>Redirect</strong></p>
<p>Eredmény:  http://domain.hu/valami/index.html</p>
<pre name="code" class="xml">&lt;rule name="aldomain" stopProcessing="true"&gt;
     &lt;match url="^(.*)$" ignoreCase="false" /&gt;
     &lt;conditions logicalGrouping="MatchAny"&gt;
           &lt;add input="{HTTP_HOST}" pattern="^valami.vargapeter.com" /&gt;
     &lt;/conditions&gt;
     &lt;action type="Redirect" url="http://www.vargapeter.com/valami" redirectType="Permanent" /&gt;
&lt;/rule&gt;</pre>
<p><strong>Rewrite</strong></p>
<p>Eredmény: http://valami.domain.hu/index.html</p>
<pre name="code" class="xml">&lt;rule name="aldomain" stopProcessing="true"&gt;
    &lt;match url="(.*)" /&gt;
    &lt;conditions logicalGrouping="MatchAll"&gt;
        &lt;add input="{HTTP_HOST}" pattern="^valami.vargapeter.com(.*)" /&gt;
    &lt;/conditions&gt;
    &lt;action type="Rewrite" url="valami/{R:1}" /&gt;
&lt;/rule&gt;</pre>
<p>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.</p>
<p>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 &#8220;rendszerezve&#8221; a _sub mappában az aldomain első tagjával megegyező nevű mappa lesz a subwwwroot-juk.</p>
<pre name="code" class="xml">&lt;rule name="SubDomain" stopProcessing="true"&gt;
    &lt;match url="(.*)" /&gt;
    &lt;conditions logicalGrouping="MatchAll"&gt;
        &lt;add input="{HTTP_HOST}" pattern="^(.+).vargapeter.com(.*)" /&gt;
    &lt;/conditions&gt;
    &lt;action type="Rewrite" url="_sub/{C:1}/{R:1}" /&gt;
&lt;/rule&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/06/30/iis7-aldomain-atiranyitas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Charles - Flex/Air XML RPC debug</title>
		<link>http://blog.vargapeter.com/2009/06/12/charles-flexair-xml-rpc-debug/</link>
		<comments>http://blog.vargapeter.com/2009/06/12/charles-flexair-xml-rpc-debug/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 17:41:33 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[web-dev]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=647</guid>
		<description><![CDATA[Á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. 
Elkezdtem hát [...]]]></description>
			<content:encoded><![CDATA[<p>Á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. <span id="more-647"></span></p>
<p>Elkezdtem hát keresni egy olyan kényelmes Air applikációkkal is használható megoldást, ami a kliens és a szerver közti adatforgalmat sniffeli. Rá is akadtam a Charles nevezetű web debugging proxyra. Segítségével minden adatforgalmat nyomon tudunk követni, nem kell a szerveren kilogolni vagy más körülményes módszerekhez folyamodni.</p>
<p>A program OSX, Linux és Windows programra is letölthető a készítők weboldalán: <a href="http://www.charlesproxy.com/download/latest-release/download.do">Charles</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/06/12/charles-flexair-xml-rpc-debug/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Adwords - Analytics: nem jelennek meg a látogatási adatok</title>
		<link>http://blog.vargapeter.com/2009/06/05/google-adwords-analytics-nem-jelennek-meg-latogatasi-adatok/</link>
		<comments>http://blog.vargapeter.com/2009/06/05/google-adwords-analytics-nem-jelennek-meg-latogatasi-adatok/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 22:24:34 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[AdWords]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=620</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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á.</p>
<p style="padding-left: 30px;">A saját rendszerről röviden:<br />
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 &#8220;szakterületeket&#8221; lefedik/részletezik. + az Adwords amit a költségek miatt nem szívesen alkalmazunk, csak ha muszáj.</p>
<p style="padding-left: 30px;">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 &#8220;nagyok&#8221; 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 <strong>mennyire térülnek meg. </strong></p>
<p><strong>Az Adwords egy bazi nagy pénznyelő tud lenni</strong>, 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. <strong>Itt jön képbe az Analytics!</strong></p>
<p>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<strong> visszajelzés</strong>t nyújt reklámokra költött pénzük hatékonyságáról.</p>
<p>Adwords fiókunkat a következő módon köthetjük össze az Analytics rendszerével: <a href="http://www.google.com/support/googleanalytics/bin/answer.py?hl=en&amp;answer=26789">Google Súgó</a><br />
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..</p>
<p>A lehetséges problémák felkutatásához ismerjük meg a konverziókövetés technikai hátterét:</p>
<p><strong>Mi történik a hirdetésre kattintás után?<br />
</strong>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.<em> Cél-URL automatikus címkézésé</em>t használja. Ez a gyakorlatban így néz ki: <span style="font-family: Courier New,Courier,mono;">www.celurl.hu/?gclid=abc123</span></p>
<p><strong>A legrosszabb dolog ami történhet, hogy a látogató megérkezett weboldalunkra, a pénzt levonták, de nem lát semmit!</strong></p>
<p>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 &#8220;?&#8221; után megadható url paramétereket.<br />
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.</p>
<p><strong>A látogató megérkezik, de erről mi nem értesülünk.<br />
</strong>A paraméter nincs tiltva, de nem &#8220;jelenik&#8221; meg a Google Analytics tracker kódja számára. Ennek leggyakoribb oka megint az url-ek környékén keresendő:</p>
<p>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 &#8220;keresőbarát&#8221; url-ek felépítéséhez. Viszont arra nem figyeltünk, hogy a http://weboldalunk.hu/utazas/magyarorszag.html?<span style="font-family: Courier New,Courier,mono;">gclid</span>=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.</p>
<p>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.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/06/05/google-adwords-analytics-nem-jelennek-meg-latogatasi-adatok/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MSSQL Időzített Backup</title>
		<link>http://blog.vargapeter.com/2009/06/05/mssql-idozitett-backup/</link>
		<comments>http://blog.vargapeter.com/2009/06/05/mssql-idozitett-backup/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 21:25:46 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[MSSQL]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=623</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>Lássuk csak, mit kell tennünk:</p>
<p>1. Csatlakozzunk az MSSQL szerverünkhöz a Management Studio-n keresztül.</p>
<p>2. Válasszuk ki az adatbázist amiről biztonsági mentéseket akarunk készíteni.</p>
<p>3. A helyi menüből (jobb klikk) válasszuk a Tasks / Back Up.. funkciót.</p>
<p>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.</p>
<p>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: &#8220;Append to an existing backup set&#8221;. 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 &#8220;Overwrite all existing backup sets&#8221; opciót.</p>
<p>6. Érdemes lehet itt bejelölni még a &#8220;Verify backup when finished&#8221; és a &#8220;Checksum before..&#8221; funkciókat, ha paranoidok vagyunk érzékeny adatainkat illetően.</p>
<p>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 &#8220;Script action to File&#8221; opciót és mentsük el valahová a fájlt. Ha jól dolgoztunk, a bal alsó sarokban megjelenik egy helyes kis &#8220;Scripting completed succesfully.&#8221; felirat.</p>
<p>8. Ha leOKézzuk az ablakot, az első backup meg is kell, hogy történjen.</p>
<p>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:</p>
<pre> sqlcmd -S .\SQLEXPRESS -i "C:\scripts\mssqlbackup\backup.sql"</pre>
<p>10. Próbáljuk ki parancssorból, hogy működik-e.</p>
<p>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.</p>
<p>Cool huh? <img src='http://blog.vargapeter.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/06/05/mssql-idozitett-backup/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Párizs - Képek</title>
		<link>http://blog.vargapeter.com/2009/02/24/parizs-kepek/</link>
		<comments>http://blog.vargapeter.com/2009/02/24/parizs-kepek/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 13:33:37 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[Utazás]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=619</guid>
		<description><![CDATA[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
]]></description>
			<content:encoded><![CDATA[<p>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: <a href="http://www.flickr.com/photos/31327934@N07/sets/72157614193214973/">Flickr - Párizs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/02/24/parizs-kepek/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Napsugár Óvoda</title>
		<link>http://blog.vargapeter.com/2009/02/23/napsugar-ovoda/</link>
		<comments>http://blog.vargapeter.com/2009/02/23/napsugar-ovoda/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 08:29:15 +0000</pubDate>
		<dc:creator>Varga Péter</dc:creator>
		
		<category><![CDATA[egyéb]]></category>

		<guid isPermaLink="false">http://blog.vargapeter.com/?p=618</guid>
		<description><![CDATA[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. &#8220;Hálló tessék, Napsugár Óvoda!&#8221; 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 [...]]]></description>
			<content:encoded><![CDATA[<p>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. &#8220;Hálló tessék, Napsugár Óvoda!&#8221; 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: &#8220;Gyerekke&#8217; jár idé&#8217;?&#8221; /Nem, autóval./ Tisztára feldobta a napomat ez az egész&#8230; Volt már olyan, hogy betonkeverőt akartak kölcsönözni, vagy csak &#8220;Jouzsit&#8221; keresték, de &#8220;Napsugár Ovi&#8221;, az még nem.</p>
<p>Tisztában vagyok vele, hogy ez nem mindenkit dob fel úgy mint engem, ezért itt egy &#8220;sírva röhögős&#8221; videó, hogy titeket is beragyogjon a &#8220;Napsugár&#8221;!</p>
<p><object width="420" height="339" id="flvplayer"><param name="movie" value="http://files.indavideo.hu/player/vc_o.swf?vID=84bf868ac1" /><param name="menu" value="false" /><param name="allowScriptAccess" value="always"><param name="allowFullScreen" value="true"><embed src="http://files.indavideo.hu/player/vc_o.swf?vID=84bf868ac1" width="420" height="339" name="flvplayer"  allowFullScreen="true"  allowScriptAccess="always" type="application/x-shockwave-flash" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vargapeter.com/2009/02/23/napsugar-ovoda/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
