<?xml version="1.0" encoding="UTF-8"?>
<rss 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/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>vbali blogja</title>
	
	<link>http://vbali.com</link>
	<description>Geek, szabadúszó fejlesztő, webmunkás, nem mellesleg apa</description>
	<lastBuildDate>Thu, 11 Mar 2010 11:19:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/vbali" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="vbali" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>MacBook Pro frissítés</title>
		<link>http://vbali.com/2010/03/11/macbook-pro-frissites/</link>
		<comments>http://vbali.com/2010/03/11/macbook-pro-frissites/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 09:23:08 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[macbook]]></category>

		<guid isPermaLink="false">http://vbali.com/2010/03/11/macbook-pro-update/</guid>
		<description><![CDATA[
Már 10 napja annak, hogy az új MacBook Pro-t használom és most jött el az ideje annak, hogy beszámoljak eddigi tapasztalataimról. Az unibody széria már tavaly debütált, nálam azonban még csak most érkezett el az ideje annak, hogy újítsak. Több dolog is közrejátszott ami miatt úgy döntöttem, hogy frissítem a pont 2 éves MacBook Pro-mat.
Az [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://vbali.com/UserFiles/Image/wpid-mbp-unibody.Up0knerEFIdQ.jpg" alt="wpid-mbp-unibody.Up0knerEFIdQ.jpg" class="media" /><br />
Már 10 napja annak, hogy az új MacBook Pro-t használom és most jött el az ideje annak, hogy beszámoljak eddigi tapasztalataimról. Az unibody széria már tavaly debütált, nálam azonban még csak most érkezett el az ideje annak, hogy újítsak. Több dolog is közrejátszott ami miatt úgy döntöttem, hogy frissítem a <a href="/2008/03/30/minosegi-valtas/">pont 2 éves MacBook Pro</a>-mat.</p>
<p>Az iPad bejelentése első körben nem nyűgözött le, de mélyebben átgondolva a dolgot arra jutottam, hogy remek kis eszköz lenne a nappaliba. Olvasásra, netezésre teljesen el tudom képzelni. Igaz, hogy nagyságrendileg ugyanazt nyújtja mint az iPhone, de a méretes kijelző mégiscsak gazdagítaná a felhasználói élményt. <i>(Btw, bárki bármit is mond, az iPhone – a képernyő méretéből kifolyólag – könyvolvasásra egyszerűen alkalmatlan.)</i> Szóval elkezdtem kacérkodni a gondolattal, hogy milyen frappáns is lenne, ha az iPhone fejlesztésből befolyt összeget stílszerűen iPad vásárlásra fordítanám, ezzel megfinanszírozva a további fejlesztések hardveres oldalát.  Már-már rá is szántam magam, hogy a büdzsében elkülönítek egy összeget az eszköznek, de ekkor bevillant, hogy annyi ismeretlen tényező van még ami megakadályozhatja vagy megnehezítheti a vásárlást, hogy a tényleges beruházásig akár még egy év is eltelhet. Arra gondolok, hogy hazánkban mikor lesz hozzáférhető (legálisan), ki fogja értékesíteni (ha mobilszolgáltató akkor milyen kondíciókkal) és az első szériának milyen hibái derülnek ki a megjelenést követően.</p>
<p>Néhány hete a laptopom egy furcsa jelenséget kezdett el produkálni. Valahányszor a beépített hangszóró megszólalt egy magas frekvenciás sípoló hangot kezdett el sugározni, egészen addig amíg a hangszórót – pár másodperc elteltével – a gép ki nem kapcsolta. És ez így ment valahányszor egy e-mail érkezett vagy megszólalt a Startup Sound. Hosszú távon nem volt zavaró, mert ha hozzászokott a fülem a sípoláshoz – úgy mint az óra ketyegéséhez – akkor már fel sem tűnt az egész, de valahányszor  megszólalt akkor akaratlanul elvonta a figyelmemet. Volt egy másik probléma is a géppel, mégpedig az akku élettartama. Igyekeztem nagyon vigyázni a gép akkumulátorára – az első MacBook-om vásárlásakor egy <a href="/2007/05/04/macbook-akku/">posztot</a> is szenteltem neki – de hiába. Az utolsó mérések szerint 50%-os volt a kapacitása és ezt egy valószínűsített cellazárlat tovább súlyosbította. Hiába az odafigyelés, a havi kalibrálás és a 80 töltési ciklus (2 év alatt!!!) a cucc erősen kezdte magát megadni, kb. 2 órára csökkent az élettartama.</p>
<p>Mindezek mellett már nagyon időszerű volt egy memória upgrade is, mivel a megvásárlás óta az alap 2GB RAM-mal használtam a gépet, amit már kezdtem nagyon kinőni. Mindezeket összevetve arra jutottam, hogy idén inkább laptop vásárlással áldozok az Apple oltára előtt. A RAM és az akku cserére nem volt kedvem túl sokat költeni, a szervizelés gondolatától pedig rázott a hideg. Bele sem mertem gondolni, hogy mennyi ideig kellene a feleségem laptopjával dolgoznom, amíg az enyém le van adva javításra. Grrrrrrr!</p>
<p>Összességében ezek a dolgok vezettek oda, hogy ismét a laptop csere mellett döntöttem. <a href="http://www.ijoe.hu">iJoe</a> – a fentiek ismeretében – nagyon méltányos ajánlatot adott és immáron 10. napja az új MacBook Pro 15”-t nyúzom. Az eddigi tapasztalataim nagyon kellemesek, szembeötlőek a változások (nem csak a külsőt tekintve). Az új gép észrevehetően csendesebb mint a régi volt, sokkal kevesebbet tekeri a ventilátort (vagy csak egyszerűen csendesebben teszi azt). A laptop felülete is sokkal hűvösebb, nincs az a kellemetlen érzés, hogy izzad a tenyerem a billentyűzet fölött. A billentyűzet fényévekkel kényelmesebb mint a régi volt a glossy kijelző viszont kissé zavaró. Ha hátulról kapom a fényt akkor erőteljesen tükröződik és keményen be kell neki árnyékolni vagy pozíciót kell váltani.</p>
<p>Az akkura most igyekszem az eddiginél is jobban odafigyelni. Legújabb információim szerint nem árt neki, ha egy-két naponta járatjuk egy kicsit töltő nélkül is, de ez úgyis csak hosszú távon derül majd ki. Összességében nagyon elégedett vagyok a cserével.</p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2010/03/11/macbook-pro-frissites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi lesz az iPad?</title>
		<link>http://vbali.com/2010/01/28/mi-lesz-az-ipad/</link>
		<comments>http://vbali.com/2010/01/28/mi-lesz-az-ipad/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 09:53:29 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[ibooks-store]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=1042</guid>
		<description><![CDATA[
Tegnap történelmi eseménynek lehetett szemtanúja az Apple legendásan híres rajongói tábora. A cég bejelentette az iPad névre keresztelt táblarendszerét amely valahol az iPod Touch és a MacBook között fog elhelyezkedni a termékpalettán. Mivel jó ideje nem lehet élő videóközvetítésen követni a tegnapihoz hasonló Apple eseményeket így erre szakosodott híroldalakról lehetett követni a Keynote történéseit. Hazánk [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" title="ipad" src="/UserFiles/Image/ipad.png" alt="" /></p>
<p>Tegnap történelmi eseménynek lehetett szemtanúja az Apple legendásan híres rajongói tábora. A cég bejelentette az <a href="http://www.apple.com/ipad/">iPad</a> névre keresztelt táblarendszerét amely valahol az iPod Touch és a MacBook között fog elhelyezkedni a termékpalettán. Mivel jó ideje nem lehet élő videóközvetítésen követni a tegnapihoz hasonló Apple eseményeket így erre szakosodott híroldalakról lehetett követni a <a title="Keynote video" href="http://www.apple.com/quicktime/qtv/specialevent0110/">Keynote</a> történéseit. Hazánk fiai hordákba verődve várták a nagy bejelentést, több helyen online streamelték is a Keynote bulit. Én a távolból, a <a href="http://plastik.hu/2010/01/27/ipad/">Plastikon</a> követtem az eseményeket.</p>
<p>Már a bejelentés előtt is tudta mindenki, hogy ma egy Apple tábla kerül bemutatásra. 3 éve ezt várta minden Apple fanatikus, hogy Steve kijön a színpadra, előhúzza a tábálát és demózni kezd, mi pedig ámulunk és bámulunk, miközben hitetlenkedünk, hogy micsoda korban élünk. Még a (táblával szemben) szkeptikusok is mint én azt fogják mondani a Keynote után, hogy &#8220;Húú bazmeg, ilyen kell!&#8221;. Mégis valahogy felemás érzésekkel álltam fel a monitor elől. Nem titok, ugyanazon a véleményen voltam mint majd&#8217; mindenki akivel az esemény során beszéltem: az iPad <strong>csak egy óriás iPod Touch</strong>. Mivel lehetett számítani az iPad bejelentésére így nekem konkrét kérdéseim voltak melyekre választ szerettem volna kapni. Ezek egy részére a demózás során meg is érkezett a válasz és persze van olyan is amit csak tapasztalati úton fogok megtudni (pl. mennyire válik maszatossá a kijelző a mindennapi használat során). Maradt azonban egy nagyon nagy kérdőjel. Megválaszolatlan maradt számomra, hogy <strong>ki a célközönsége</strong> az eszköznek? Mire tervezték az iPadot? Internettáblának? E-book readernek (mint Kindle-killer)? Játékgépnek? Esetleg üzletemberek játékszere lehet a cucc? Nekem olyan, mintha a fókusz egy kicsit elment volna. Ahelyett, hogy az iPad egy valami lenne, inkább <strong>minden akar lenni</strong>.</p>
<p>Úgy érzem, hogy nem vagyok megtalálható annak a két halmaznak az uniójában ahol az iPad és annak a célcsoportja található. A célcsoport valahol tényleg ott lehet ahol Kobak és Wyctim is említette Twitteren: <a href="https://twitter.com/kobak/status/8295163319">geek feleségeknek</a> és <a href="https://twitter.com/wyctim/status/8295154431">anyukáknak</a> való az eszköz, ahol a termék egyszerűsége és használhatósága hatványozottan kijön. Mintha a Keynote-os demózásnak is lett volna egy olyan rejtett üzenete, hogy ezt a terméket otthon, a fotelban kell használni notebook helyett. Itt pedig felmerül bennem egy másik fontos kérdés, <strong>a fejlesztők</strong>. Az okostelefonban az a fantasztikus, hogy olyan mobil eszköz amely mindig ott van a tulajdonosánál. Így a rajta tárolt adatok és a programok mindig kéznél vannak. Hurcoljuk magunkkal a munkába, az ágyba, a budira, egyszóval mindenhova. Ez persze hatalmas lendületet ad a fejlesztésnek is. Milliónyi ötletet lehet megvalósítani, amelyre korábban nem igazán létezett platform, majd egycsapásra megszülettek az eszközök amelyek biztosítottak mindent ami a jó kis ötletek megvalósításához kell. Internet, navigáció, mobilitás, nagy kijelző, mozgásérzékelő. Ezt nem látom az iPad esetén és ezért nagyon kíváncsi vagyok, hogy az iPad-ra készült alkalmazások ugyanolyan sikeresek lesznek-e mint azok amelyek az iPhone-t vették célba (itt persze tegyük félre az átjárhatóságot az iPhone -&gt; iPad között, ami nagyon dicsérendő megoldás). A másik nagyon fontos dolog, hogy az iPhone &#8220;kicsiny&#8221; kijelzőjét könnyű megölteni tartalommal. A jól átgondolt és megtervezett navigációs felület segítségével könnyűszerrel implementálható majd&#8217; minden funkcionalitás. A fejlesztő egyik szeme sír a másik meg nevet. Nevet, mert az iPad méretének dimenzióiban már sokkal több tartalmat és funkcionalitást lehet elhelyezni egyetlen képernyőnyi méreten, de sír, mert nem az a platform ahova feldobok egy beviteli mezőt és egy gombot és már adom is ki az 1.0-ás verziót az alkalmazásból, hogy dőljön befelé a rengeteg dohány. Persze félreértés ne essék, nem a nagy kijelző és a jól kidolgozott, minőségi alkalmazások ellen kampányolok. Dehogyis! Csak arra gondolok, hogy előfordulhat, hogy az iPad platform nem lesz annyira vonzó a fejlesztők számára mint amennyire az iPhone és iPod Touch. Ha pedig ez így lenne, akkor Phil Schiller rohangálhat körbe a színpadon, hogy &#8220;Developers, developers, developers&#8230;&#8221;. Persze nagyon valószínű, hogy sok iPhone fejlesztő most egyből rárepül a lehetőségre, hiszen az új &#8220;aranybányából&#8221; senki sem szeretne kimaradni.</p>
<p>A Kindle-killer funkcióról egyelőre nem is érdemes beszélni. Az Amazont még egy Apple méretű cégnek sem lenne egyszerű lenyomni. Persze többször megcsinálta már az Apple a lehetetlent, de szerintem itt egyáltalán nem arról van szó. Egyszerűen csak terjeszkednek a hosszú farok területén és teljesen kézenfekvő, hogy a zene és a videó után a könyvpiacon is otthagyják a kezük nyomát. Azt pedig úgyis csak hosszú távon fog kiderülni, hogy mennyire működőképes a koncepció, hogy van-e hely az Amazon mellett (és nem helyett). Minden esetre én örülök az iBooks store-nak, de nekem az lesz a befutó eszköz amelyik először fogja biztosítani a magyar nyelvű könyvek megvásárlását.</p>
<p>Azt gondolom, hogy az iPad célcsoportja alapvetően nem az alkalmazásbuzi réteg lesz. Ha az iBooks könyváruház megfelelően beindul akkor egy remek kis könyvolvasó válhat belőle, amely mindamellett, hogy kiváló céleszköz – a könyvolvasásra – még internetezési és alkalmazásfuttatási lehetőséget is biztosít. Ha tényleg ez a fókusz akkor azt mondom fasza. Ha beérik akkor jó áron, jó kis eszköz. Nagyon homályos ez még számomra. Egyelőre inkább a háttérből figyelem az eseményeket.</p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2010/01/28/mi-lesz-az-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doctrine és Zend Framework integráció</title>
		<link>http://vbali.com/2010/01/24/doctrine-es-zend-framework-integracio/</link>
		<comments>http://vbali.com/2010/01/24/doctrine-es-zend-framework-integracio/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 13:17:37 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=996</guid>
		<description><![CDATA[
Jó ideje Zend Frameworkkel gyártom a &#8220;kontentot&#8221; és az elmúlt két év tapasztalatából azt a fájdalmas konzekvenciát kellett levonnom, hogy a Zend MVC-jének modell rétegével kínkeserves meló egy korrekt Domain Modell leprogramozása, a modell változásainak követése és karbantartása. Amikor a feladat szükségessé teszi egy komolyabb adatbázis-struktúra kezelését akkor a Zend_Db időről-időre csődöt mond. Hiába próbáltam [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" title="doctrine" src="/UserFiles/Image/doctrine.png" alt="" /></p>
<p>Jó ideje <a href="http://framework.zend.com/">Zend Frameworkkel</a> gyártom a &#8220;kontentot&#8221; és az elmúlt két év tapasztalatából azt a fájdalmas konzekvenciát kellett levonnom, hogy a Zend MVC-jének modell rétegével kínkeserves meló egy korrekt <a href="http://en.wikipedia.org/wiki/Domain_model">Domain Modell</a> leprogramozása, a modell változásainak követése és karbantartása. Amikor a feladat szükségessé teszi egy komolyabb adatbázis-struktúra kezelését akkor a <a href="http://framework.zend.com/manual/en/zend.db.html">Zend_Db</a> időről-időre csődöt mond. Hiába próbáltam hosszú időn keresztül elkészíteni a tökéletes adatbázis absztrakciós réteget, sajnos sosem jártam igazi sikerrel. Kipróbáltam mások elképzeléseit is (<a href="http://weierophinney.net/matthew/archives/202-Model-Infrastructure.html">Model Infrastructure</a>, <a href="http://blog.realmofzod.com/2009/04/03/domain-model-programming-with-the-zend-framework/">Domain Model Programming With the Zend Framework</a>) de hosszabb távon, az igények növekedésével ezek a megvalósítások mindig zsákutcának bizonyultak. Nem arról van szó, hogy a Zend modell rétege nem működne, sőt egyszerű modellek esetén nagyon kényelmes és gyors is. Arról van szó, hogy egy megfelelően bonyolult domain modell karbantartása indokolatlanul sok feladatot hárít a fejlesztőre, így sokszor a napi maintenance munka nagy része azzal megy el, hogy az alkalmazás működésében vagy az adatmodellben bekövetkezett változások miatt az domain modellt kell püfölni. Egy agilis fejlesztési folyamat során ez sajnos nem megengedhető, túlzottan sok időt és energiát emészt fel.</p>
<p>A legutóbbi nagyobb projekt során az egyik kolléga hívta fel a figyelmet arra, hogy a jelenlegi – Zend_Db-vel készült – modell struktúra enyhén szólva is kurva bonyolult és átláthatatlan. Mivel napi szinten benne voltam a modell karbantartásában és fejlesztésében ez szinte fel sem tűnt, de amikor bármi miatt módosítani kellett az egy rémálom volt. A javításról nem is beszélve. Eldöntöttük, hogy ideje nyugdíjazni a Zend_Db-t a projekt keretein belül és alternatíva után kezdtem kutakodni. Így került képbe a <a href="http://www.doctrine-project.org/">Doctrine</a>, amit már jó ideje figyelemmel kísértem és konkrét tapasztalataim is voltak vele, de Zend Framework integrációval még sosem próbálkoztam. Találtam egy remek bejegyzést Eric Leclerc blogján <a href="http://www.danceric.net/2009/10/29/doctrine-1-2-is-zend-framework-friendly/">Doctrine 1.2 is Zend Framework friendly</a> címmel, valamint a zendcasts.com-on (<a href="http://feeds.feedburner.com/ZendScreencastsVideoTutorialsAboutTheZendPhpFrameworkForiPhone ">Podcast</a>) található egy screencast sorozat is a témában:</p>
<div id="_mcePaste">
<ul>
<li><a href="http://www.zendcasts.com/introducing-doctrine-1-2-integration/2009/11/">Introducing Doctrine 1.2 Integration</a></li>
<li><a href="http://www.zendcasts.com/doctrine-relations-and-zend-mvc/2009/12/">Doctrine Relations and Zend MVC</a></li>
<li><a href="http://www.zendcasts.com/deep-integration-between-zend-and-doctrine-1-2/2010/01/">Deep Integration between Zend and Doctrine 1.2</a></li>
<li><a href="http://www.zendcasts.com/writing-a-zend_auth_adapter-with-doctrine/2010/01/">Writing a Zend_Auth_Adapter with Doctrine</a></li>
</ul>
</div>
<p>A Doctrine egy object relational mapper (meg sem próbálkozok a fordításával) amely tulajdonképp az adatbázis absztrakciós réteg tetején ül és integrálódik az OOP-s környezetbe. A parancssori interfész segítségével képes adatbázis sémákból php modelleket generálni (és vica versa), tesztadatok betöltésére vagy akár unit tesztelésre is. Szóval tényleg nagyon erős kis eszköz, igazán szerethető. A <a href="http://www.symfony-project.org">Symfony projekt</a> is ezt használja például alapértelmezett ORM-ként a Propel mellett. Ami pedig a legszebb, hogy nagyon gyorsan megtanulható és üzembe állítható. Ezt mi sem bizonyítja jobban, mint az imént említett projekt, ahol a Zend_Db alapú modellek elkészítése több hétig tartott, a Doctrine migráció pedig mindösszesen <strong>egyetlen napig</strong> (bár az is igaz, hogy  egy meglehetősen hosszú nap volt).</p>
<p><img class="medialeft" title="doctrine-tree" src="/UserFiles/Image/doctrine-tree.png" alt="" />Lássuk, hogyan is történik ez integrálás a gyakorlatban. A standard Zend projekt fában a képen látható mappaszerkezetet kell létrehozni. A Doctrine projekt honlapjáról letöltött csomag <code>lib</code> könyvtárából másoljuk be a komplett <code>Doctrine</code> és <code>vendor</code> foldereket a projektünk library könyvtárába a Zend mellé valamint a <code>doctrine.php</code>-t szintén a library folderbe. Ezt követően az <code>application.ini</code>-ben kell némi konfigurációt elvégezni:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">autoloadernamespaces<span style="">&#91;</span><span style="">&#93;</span>      <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;Doctrine_&quot;</span>
doctrine.connection_string  <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;mysql://user:password@mysqlhost/dbname&quot;</span>
doctrine.data_fixtures_path <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> APPLICATION_PATH </span><span style="color: #933;">&quot;/../doctrine/data/fixtures&quot;</span>
doctrine.models_path        <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> APPLICATION_PATH </span><span style="color: #933;">&quot;/models&quot;</span>
doctrine.migrations_path    <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> APPLICATION_PATH </span><span style="color: #933;">&quot;/../doctrine/migrations&quot;</span>
doctrine.sql_path           <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> APPLICATION_PATH </span><span style="color: #933;">&quot;/../doctrine/data/sql&quot;</span>
doctrine.yaml_schema_path   <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> APPLICATION_PATH </span><span style="color: #933;">&quot;/../doctrine/schema&quot;</span>
doctrine.generate_models_options.pearStyle              <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> true</span>
doctrine.generate_models_options.generateTableClasses   <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> false</span>
doctrine.generate_models_options.generateBaseClasses    <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> true</span>
doctrine.generate_models_options.baseClassesDirectory   <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> null</span>
doctrine.generate_models_options.classPrefixFiles       <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> false</span>
doctrine.generate_models_options.classPrefix            <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 'Model_'</span>
doctrine.generate_models_options.baseClassPrefix        <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 'Base_'</span></pre></div></div>

<p>Majd a Bootstrap.php-ban kell a Doctrine-hez kapcsolódó initet elkészíteni, hogy az alkalmazás szintjén müködjön:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> _initDoctrine<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'Doctrine.php'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$autoloader</span> <span style="color: #339933;">=</span> Zend_Loader_Autoloader<span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$autoloader</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">registerNamespace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sfYaml'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">pushAutoloader</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Doctrine'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'autoload'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sfYaml'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$doctrineConfig</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getOption</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'doctrine'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$manager</span> <span style="color: #339933;">=</span> Doctrine_Manager<span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$conn</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$manager</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">openConnection</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$doctrineConfig</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'connection_string'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$conn</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setCharset</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'utf8'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$manager</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Az <code>application/cli_bootstrap.php</code>-ba a következő kerül:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// Define path to application directory</span>
<span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_PATH'</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">||</span> <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_PATH'</span><span style="color: #339933;">,</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Define application environment</span>
<span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_ENV'</span><span style="color: #009900;">&#41;</span>
    <span style="color: #339933;">||</span> <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_ENV'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_ENV'</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_ENV'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">'production'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">set_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span>PATH_SEPARATOR<span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #990000;">realpath</span><span style="color: #009900;">&#40;</span>APPLICATION_PATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/../library'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
    <span style="color: #990000;">get_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009933; font-style: italic;">/** Zend_Application */</span>
<span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'Zend/Application.php'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Create application, bootstrap, and run</span>
<span style="color: #000088;">$application</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Application<span style="color: #009900;">&#40;</span>
    APPLICATION_ENV<span style="color: #339933;">,</span>
    APPLICATION_PATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/configs/application.ini'</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Készíteni kell a projekt mappában egy <code>scripts/doctrine-cli</code> állományt a következő tartalommal:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">#!/usr/bin/env php
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_ENV'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'development'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require</span> <span style="color: #990000;">realpath</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/../application/cli_bootstrap.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$application</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getBootstrap</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">bootstrap</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'doctrine'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$application</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getOption</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'doctrine'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #000088;">$cli</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Doctrine_Cli<span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$cli</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">run</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'argv'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Majd futtathatóvá kell tenni. Ez lesz a parancssori interfész amelyen keresztül utasításokat lehet adni az ORM-nek. Ezzel a Doctrine teljesen beágyazódik a Zend Frameworkbe és a projekt honlapján lévő <a href="http://www.doctrine-project.org/documentation">dokumentációk</a> alapján már lehet is gyártani a szebbnél szebb modelleket és tolni a kódból a <a href="http://www.doctrine-project.org/documentation/manual/1_2/en/dql-doctrine-query-language">DQL</a>-t <img src='http://vbali.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2010/01/24/doctrine-es-zend-framework-integracio/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iCacti – Szerver monitorozás iPhone-on</title>
		<link>http://vbali.com/2009/12/30/icacti-szerver-monitorozas-iphone-on/</link>
		<comments>http://vbali.com/2009/12/30/icacti-szerver-monitorozas-iphone-on/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 11:47:08 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[appstore]]></category>
		<category><![CDATA[fejlesztés]]></category>
		<category><![CDATA[icacti]]></category>
		<category><![CDATA[szerver]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=984</guid>
		<description><![CDATA[
Újabb példánnyal bővült a Webin névvel fémjelzett alkalmazások köre az AppStore-ban, ami azért meglepő mert alapvetően webes fejlesztésre orientálódtam. Tegnap hagyta jóvá az Apple az iCacti nevű alkalmazásomat (iTS link), amely kevesebb mint 24 órát várakozott a queue-ban mielőtt megkapta a &#8216;Ready for Sale&#8217; státuszt. Ennek a hátterében vagy az van, hogy az Apple személy [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" title="iCacti" src="/UserFiles/Image/iCacti.png" alt="iCacti" width="600" height="294" /></p>
<p>Újabb példánnyal bővült a <a href="http://webin.hu">Webin</a> névvel fémjelzett alkalmazások köre az AppStore-ban, ami azért meglepő mert alapvetően webes fejlesztésre orientálódtam. Tegnap hagyta jóvá az Apple az <a href="http://icacti.webin.hu">iCacti</a> nevű alkalmazásomat (<a href="http://itunes.apple.com/hu/app/icacti-server-monitor/id348529501?mt=8">iTS link</a>), amely kevesebb mint 24 órát várakozott a queue-ban mielőtt megkapta a &#8216;Ready for Sale&#8217; státuszt. Ennek a hátterében vagy az van, hogy az Apple személy szerint nekem szeretett volna kedvezni – bár ennek nagyon örülnék azért mégsem tartom túl valószínűnek – vagy pedig valami történik a háttérben és egyszerűen felgyorsult a jóváhagyási procedúra. Ez utóbbit megerősíti az is, hogy a tegnap beküldött 1.2-es verziószámú <a href="http://eventlist.webin.hu">EventList</a> frissítés néhány óra alatt &#8216;In Review&#8217; állapotú lett (erre korábban ~1 hetet kellett várni).</p>
<p><img class="media" src="/UserFiles/Image/icacti_history.jpg" alt="icacti_history" /></p>
<p>Korábban is tettem már említést a <a href="http://cacti.net/">Cactiról</a> (<a href="/2006/05/03/cacti-snmp-rendszerfelugyelet/">itt</a> és <a href="/2008/09/01/svn-statisztikak/">itt</a>) ami egy webes rendszer monitorózó megoldás. Az elmúlt évek során jól megismernem és nagyon megszerettem. Nem igazán találtam még ehhez hasonló webes szerver monitorozó eszközt ebben az árfekvésben (nem az ingyenességre gondolok). Talán a <a href="http://munin.projects.linpro.no/">Munin</a> ami még hasonló képességekkel bír, de az nekem egy kicsit fapados a Cactihoz képest.</p>
<p>Gyakran böngészgetem a szerver állapotát megjelenítő grafikonokat, hogy az automatikus riasztásokon túl az esetleges rendellenességekről, terhelésről időben értesüljek és ha szükséges még időben lépni tudjak. iPhone-on ez a tevékenység kicsit körülményes. Reggelente, a rutinfeladatok elvégzése közben szoktam megejteni a szerver ellenőrzését és – bár minden funkció tökéletesen működik a mobil Safarival – mégsem túl kényelmes azt használni amikor gyors áttekintést szeretnék kapni az aktuális állapotról. Ezért merült fel bennem egy natív iPhone alkalmazás elkészítésének a gondolata, amely képes kapcsolódni a Cacti szerverhez és az ott tárolt információkat megjeleníteni a telefonon. Az iCacti pont ezt tudja, se többet, se kevesebbet. Megjeleníti a monitorozott szerverek állapotát (up, down, maintenance), az uptime-ot százalékosan és természetesen a grafikonokat (amelyeknél beállítható, hogy mely időintervallumból gyűjtse le az adatokat). A telefont &#8220;elfektetésével&#8221; pedig nagyobb méretben lehet böngészni.</p>
<p>Kijelenthető, hogy ez az alkalmazás egy szűk felhasználói réteg igényeit elégíti ki, de azoknak – akik Cacti és iPhone használók is egyben – ez egy hiánypótló megoldás lehet. Elvégre pont azért készült.</p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2009/12/30/icacti-szerver-monitorozas-iphone-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BetStock: Második nekifutásra</title>
		<link>http://vbali.com/2009/11/24/betstock-masodik-nekifutasra/</link>
		<comments>http://vbali.com/2009/11/24/betstock-masodik-nekifutasra/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 09:20:14 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[bejelentés]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[appstore]]></category>
		<category><![CDATA[betstock]]></category>
		<category><![CDATA[fejlesztés]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[tőzsde]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=970</guid>
		<description><![CDATA[
Még az EventList előtt küldtem be jóváhagyásra a BetStock nevű iPhone alkalmazásomat, ami tulajdonképp egy tőzsdei árfolyamfigyelő és portfóliókezelő program. 5-6 nap várakozás után &#8220;In Review&#8221; státuszba került az AppStore jóváhagyó gépezetében. Kalkulációim szerint 2-3 nap múlva lett volna esedékes a jóváhagyás.
A kalkuláció helyesnek bizonyult, azonban a programnak nem sikerült átverekednie magát a boltba mivel [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" title="iPhone_Planning" src="/UserFiles/Image/iPhone_Planning.jpg" alt="iPhone_Planning" width="600" height="170" /></p>
<p>Még az <a href="http://eventlist.webin.hu">EventList</a> előtt küldtem be jóváhagyásra a BetStock nevű iPhone alkalmazásomat, ami tulajdonképp egy tőzsdei árfolyamfigyelő és portfóliókezelő program. 5-6 nap várakozás után &#8220;In Review&#8221; státuszba került az AppStore jóváhagyó gépezetében. Kalkulációim szerint 2-3 nap múlva lett volna esedékes a jóváhagyás.</p>
<p>A kalkuláció helyesnek bizonyult, azonban a programnak nem sikerült átverekednie magát a boltba mivel elutasításra került. A programot elemző szakember azt kifogásolta, hogy internetkapcsolat hiányában a program nem jelzi a felhasználónak, hogy szüksége volna internetelérésre az adatok frissítéséhez. Ez megzavarhatja a felhasználót és nem illeszkedik az iPhone Human Interface Guidelines-ban megfogalmazottakra ezért ezt a &#8220;hibát&#8221; javítsam.</p>
<p>A hibajavítás kb. 5 perc alatt meg is történt. Lementek a tesztek és minden az elvártaknak megfelelően működött, így a javított binárist ismételten a jóváhagyás rögös útjára eresztettem. A procedúra újraindult és ismét &#8220;Waiting For Review&#8221; állapotba került a program. Második nekifutásra már mindent jónak találtak és a BetStock ma éjszaka – magyar idő szerint – éjfél előtt néhány perccel jóváhagyásra került és megjelent az AppStore-ban.</p>
<p>Nagyon fontos megemlítenem, hogy a program ikonja <a href="http://wyctim.com">Benke Zsolt</a> keze munkáját dicséri. Volt olyan rendes, hogy felajánlotta a segítségét az ikon elkészítésében. Én elmondtam neki, hogy nagyjából mit szeretnék, majd nem sokkal később jelentkezett az elképzelés első-, majd nem sokkal később a második verziójával. Ezeket követte a jelenlegi verzió ami a végleges alkalmazás ikonja lett. Véleményem szerint <a href="http://twitter.com/wyctim">@wyctim</a> szuper munkát végzet így ezúton is big respect neki!</p>
<p>Végezetül, azt hiszem nem árulok el nagy titkot azzal, hogy további fejlesztések is vannak folyamatban, bár állandóan küzdök az időhiánnyal. Másodállásban, délutánonként és éjszakánként jutok oda, hogy az iPhone fejlesztésekkel foglalatoskodjak, ez pedig gyakran éjszakázással jár, ami 8-10 óra PHP után nem mindig fenékig tejföl, de furcsa is lenne már ha egyszer kipihenten ébrednék <img src='http://vbali.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2009/11/24/betstock-masodik-nekifutasra/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>EventList: Ready for Sale</title>
		<link>http://vbali.com/2009/11/20/eventlist-ready-for-sale/</link>
		<comments>http://vbali.com/2009/11/20/eventlist-ready-for-sale/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 09:06:35 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[bejelentés]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[appstore]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[eventlist]]></category>
		<category><![CDATA[fejlesztés]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=963</guid>
		<description><![CDATA[
Nemrégiben elkezdtem kóstolgatni az iPhone alkalmazásfejlesztés alapjait, majd annyira belejöttem, hogy össze is dobtam 2 alkalmazást amit az AppStore-ba szántam. Kicsit félve indultam neki az egésznek. Korábban elég rossz tapasztalatokat szereztem az Objective-C/Cocoa fejlesztés háza tájáról, nem igazán tetszett az Obj-C &#8220;kitekert&#8221; szintaktikája, a kilométer hosszúságú metódusnevek és hasonlók. Most, hogy csak az iPhone-ra fókuszáltam [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" title="eventlist" src="/UserFiles/Image/eventlist.png" alt="eventlist" width="600" height="170" /></p>
<p>Nemrégiben elkezdtem kóstolgatni az iPhone alkalmazásfejlesztés alapjait, majd annyira belejöttem, hogy össze is dobtam 2 alkalmazást amit az AppStore-ba szántam. Kicsit félve indultam neki az egésznek. Korábban elég rossz tapasztalatokat szereztem az Objective-C/Cocoa fejlesztés háza tájáról, nem igazán tetszett az Obj-C &#8220;kitekert&#8221; szintaktikája, a kilométer hosszúságú metódusnevek és hasonlók. Most, hogy csak az iPhone-ra fókuszáltam és konkrét célokat fogalmaztam meg a tanulási folyamat során sokkal kellemesebb tapasztalatokat szereztem és mostanra bátran merem állítani, hogy fekszik nekem az Obj-C és a Cocoa framework, jó barátok lettünk, megszerettük egymást.</p>
<p>Aggasztott kicsit az a rengeteg negatív kicsengérű hír amit az Apple jóváhagyási procedúrájáról és úgy általában az <a href="http://developer.apple.com/iPhone/program/">iPhone Developer Programról</a> hallani lehet, de úgy tűnik eddig szerencsém volt. Az iPhone Developer Program jelentkezésemet bruttó 2 nap alatt fogadták el. Erről hallottam, hogy sok esetben több hétig tart, sőt hónapos várakozásról és hosszas adategyeztetésről is suttogtak a neten. Nem tudom, hogy szerencsém volt-e vagy csak szimplán javultak azóta a folyamatok, de a bruttó 2 nap teljesen elfogadható volt. Majd jött a jóváhagyási procedúra ami már legendásan hírhedtté vált a sok értelmetlen indokkal elutasított alkalmazással és a hosszú várakozással. Szeretném azt hinni, hogy nagyon szerencsés vagyok, hiszen az első alkalmazásom 9 nap alatt jóváhagyásra került. Valójában azonban lehet sejteni, hogy nem szerencséről van itt szó, hanem az Apple igyekszik felgyorsítani a jóváhagyási folyamatot a rengeteg kritika hatására.</p>
<p>A rövid kis kitérő után pedig a lényeg, hogy magyar idő szerint ma hajnalban (cupertinoi idő szerint tegnap délután fél négykor) &#8220;Ready for Sale&#8221; státuszba került az első iPhone alkalmazásom, az <a href="http://eventlist.webin.hu">EventList</a> és néhány órával később megjelent az <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=339979933&amp;mt=8">AppStore-ban is</a>. Ez egy egyszerű névnap alkalmazás, amely 16 ország névnapjait ismeri és a &#8220;beépített&#8221; névnapokon túl saját eseményekkel is (születésnapok, évfordulók, ünnepek stb.) bővíthető a lista.</p>
<p>Rövid időn belül várható további alkalmazások élesedése is az AppStore-ban, de azokról majd akkor&#8230;</p>
<p><small><em>A Webinhez kapcsolódó fejlesztéseknek a szerző egy külön twitter fiókot nyitott <a href="http://twitter.com/webindev">@webindev</a> néven, ahol nem túl nagy intenzitással, de folyamatosan mikroblogolja az eseményeket. Tessék hát őt is követni, de izibe&#8217;!</em></small></p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2009/11/20/eventlist-ready-for-sale/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Találkozás a tökéletes háttérképpel</title>
		<link>http://vbali.com/2009/09/25/talalkozas-a-tokeletes-hatterkeppel/</link>
		<comments>http://vbali.com/2009/09/25/talalkozas-a-tokeletes-hatterkeppel/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 06:15:50 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[egyéb]]></category>
		<category><![CDATA[castle-mountain]]></category>
		<category><![CDATA[háttérkép]]></category>
		<category><![CDATA[new-york]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=943</guid>
		<description><![CDATA[
Világ életemben az absztrakt vagy nonfiguratív háttérképeket kedveltem. Imádtam a Tiger Aqua hátterét, amit a mai napig gyönyörűnek tartok, de másfél év használat után egy kicsit megcsömörlöttem a sok kéktől. Ezt követően egy rövid ideig használtam a Leopard és a Snow Leopard alapértelmezett Aurora háttereit. Ezeket sosem kedveltem igazán, mert igaz ugyan, hogy szépek, de [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" title="Route_To_Castle_Mountain" src="/UserFiles/Image/Route_To_Castle_Mountain.jpg" alt="Route_To_Castle_Mountain" /></p>
<p>Világ életemben az absztrakt vagy nonfiguratív háttérképeket kedveltem. Imádtam a Tiger Aqua hátterét, amit a mai napig gyönyörűnek tartok, de másfél év használat után egy kicsit megcsömörlöttem a sok kéktől. Ezt követően egy rövid ideig használtam a Leopard és a Snow Leopard alapértelmezett Aurora háttereit. Ezeket sosem kedveltem igazán, mert igaz ugyan, hogy szépek, de nekem túl sötétek.</p>
<p>Nemrégiben szakítottam a régi szokásommal és New York utcáit ábrázoló, nyüzsgő képeket tettem az asztalra. Ezekkel azonban többnyire az volt a baj, hogy az utca képének részletei között elvesztek az asztalra helyezett ikonok. Ezért maradtam ugyan New Yorknál, de változtattam a témán és a Central Park került a fókuszba.</p>
<p>Imádom a Central Parkról készült képeket, tetszik, ahogy a betondzsungel körülöleli azt a hatalmas zöld területet. Ha egyszer anyagi lehetőségeim megengedik, biztos, hogy el fogok látogatni New Yorkba, mert valami furcsa, megmagyarázhatatlan vonzódást érzek ez iránt a város iránt. Még akkor is, ha háttérként nem volt hosszú életű, mert csak néhány hetet élt meg. A minap ugyanis teljesen váratlanul megtaláltam a tökéletes tapétát az asztalomnak, amely a kanadai <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Castle+Mountain+canada&amp;sll=51.60096,-115.545959&amp;sspn=0.974113,2.653198&amp;ie=UTF8&amp;ll=51.165567,-115.993652&amp;spn=2.053047,5.306396&amp;z=8">Castle Mountain</a>-ba vezető utat ábrázolja. A kép gyönyörű, az ikonok is jól látszódnak rajta és ha bármikor gyönyörködni akarok egyet csak ütök egy F11-et. Innen szedhető mindenféle felbontásban: <a href="http://www.ewallpapers.eu/Nature/Landscape/Route-To-Castle-Mountain.html">eWallpapers</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2009/09/25/talalkozas-a-tokeletes-hatterkeppel/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mobilnet tiltás, nem túl egyszerűen</title>
		<link>http://vbali.com/2009/09/24/mobilnet-tiltas-nem-tul-egyszeruen/</link>
		<comments>http://vbali.com/2009/09/24/mobilnet-tiltas-nem-tul-egyszeruen/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 06:15:37 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobilnet]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=930</guid>
		<description><![CDATA[
Az iPhone-t a T-Mobile Ikon 200-as díjcsomaggal vásároltam, ami azt jelenti, hogy havi 1GB adatforgalommal kell beérnem. Előzetesen úgy kalkuláltam, hogy csak a telefonnal használva a mobilnetet ennek elegendőnek kell lennie. Ezen felül ott van még – az időközben kisebbre szabott – Vodafone-os internet csomagom, amivel szükség szerint a notebookot is el tudom látni internettel.
Van [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" title="iphone-configuration-utility" src="http://vbali.com/UserFiles/Image/iphone-configuration-utility.jpg" alt="iphone-configuration-utility" /><br />
Az iPhone-t a T-Mobile Ikon 200-as díjcsomaggal vásároltam, ami azt jelenti, hogy havi 1GB adatforgalommal kell beérnem. Előzetesen úgy kalkuláltam, hogy csak a telefonnal használva a mobilnetet ennek elegendőnek kell lennie. Ezen felül ott van még – az időközben kisebbre szabott – Vodafone-os internet csomagom, amivel szükség szerint a notebookot is el tudom látni internettel.</p>
<p>Van nekem egy <a href="http://www.hedonicsoft.com/prod/iphone/download-meter/">Download Meter</a> nevezetű kis applikációm a telefonomon amellyel a forgalmazott adatmennyiséget lehet szépen nyomon követni. Megfigyeltem, hogy a telefon előszeretettel kommunikál a külvilággal 3G-n keresztül még olyankor is, ha a Push Notification és a Mail fecth ki van kapcsolva. Arra gondoltam, hogy mi van akkor ha valami oknál fogva elérem a havi adatforgalmi limitet és hiába tartóztatom meg magam, a telefon önkényesen átbillent és onnantól fizethetek kőkeményen a megkezdett 10 kb-okért. Persze olyan pici adatforgalomról van szó, hogy ez normális esetben egyszerűen elő sem fordulhat, de az ördög sohasem alszik.</p>
<p>Gyors kutakodásba kezdtem, de az mobilnet letiltására utaló jelet nem találtam a beállítások között, sőt az APN szerkesztésére sem – mivel azt a szolgáltató kommunikálja le a telefonnak – ami egy csúnya de hatékony megoldása lenne a tiltásnak. Végül külföldi fórumokon találtam az ajánlást. Az <a href="http://www.apple.com/support/iphone/enterprise/">iPhone Configuration Utility</a> segítségével lehet készíteni egyedi konfigurációkat a telefonra és ezen konfigurációban beállítható az APN címe is. Egyszerűen létrehoztam egy &#8220;Disable Network&#8221; nevű profilt amelyben egy kinullázott APN van megadva, fake felhasználói névvel és jelszóval. Szóval a profil tutira sikertelen csatlakozást eredményez. Ezt egy email mellékleteként elküldtem magamnak, így a fent nevezett profil ott figyel a levelezésemben. Ha valami oknál fogva teljesen le szeretném tiltani a mobilinternet hozzáférést akkor csak telepítem és aktiválom a profilt. Ha már nincs szükség a korlátozásra akkor törlöm a profilt és minden visszaáll. Később a mailből bármikor ismételten telepíthető a &#8220;Disable Network&#8221;.</p>
<p>Van ennek valami egyszerűbb és barátságosabb megoldása is?</p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2009/09/24/mobilnet-tiltas-nem-tul-egyszeruen/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>iPhone 3GS: első tapasztalatok</title>
		<link>http://vbali.com/2009/09/21/iphone-3gs-elso-tapasztalatok/</link>
		<comments>http://vbali.com/2009/09/21/iphone-3gs-elso-tapasztalatok/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 08:13:31 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[3g]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=896</guid>
		<description><![CDATA[
Ahogyan azt már korábban beharangoztam, lecseréltem a telefonomat és iPhone 2G-ről 3GS-re váltottam, mégpedig a fekete 32GB-os modellre. A készülék pár nappal ezelőtt érkezett meg (egy hetet kellett rá várni). Teljesen élesben még nem sikerült kipróbálnom, mert a számhordozás folyamatban van, de hamarosan az is megtörténik és onnantól teljes értékűvé válik a szolgáltatás. Éppen ezért [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" title="iphone-3gs" src="/UserFiles/Image/iphone-3gs.jpg" alt="iphone-3gs" /><br />
Ahogyan azt már korábban beharangoztam, lecseréltem a telefonomat és iPhone 2G-ről 3GS-re váltottam, mégpedig a fekete 32GB-os modellre. A készülék pár nappal ezelőtt érkezett meg (egy hetet kellett rá várni). Teljesen élesben még nem sikerült kipróbálnom, mert a számhordozás folyamatban van, de hamarosan az is megtörténik és onnantól teljes értékűvé válik a szolgáltatás. Éppen ezért mobilnetes tapasztalatokról nem tudok még beszámolni, de nagyon várom a szolgáltatás aktiválását, ugyanis a váltást elsősorban az internet elérés indokolta. Ugyanakkor az elmúlt néhány nap során sikerült megismerkednem magával a készülékkel így arról megosztanék pár gondolatot.</p>
<p>Mivel eddig egy ezüsthátú, első generációs iPhone-t birtokoltam, így egy lépcsőfok – az iPhone 3G – nekem teljesen kimaradt és sokkal több újdonsággal szolgál a készülék mind mondjuk egy 3G felhasználónak. Első ránézésre az új hátlap gagyibbnak tűnik mint a 2G esetében volt. A fémes, ezüstös hátlap nagyon elegáns és igényes megjelenést adott a készüléknek. Az új fekete műanyag borítás megjelenésben meg sem közelíti a régit és az ujjlenyomatok is nyomot hagynak rajta. Ezért már nem csak a kijelzőt, hanem a hátlapot is rendszeresen takarítani kell. Ez annyira nem tetszik, de ott van a dolognak a másik oldala is: a jelerősség. Érezhetően sokkal jobb lett a vezeték nélküli kapcsolat minősége. A lakás azon pontjairól is gond nélkül tudok csatlakozni az otthoni wifi hálózathoz, ahonnan a régi telefonnal nem, vagy csak akrobatikus mozdulatokat árán. Márpedig a budin ülve ez például kimondottan kellemetlen volt <img src='http://vbali.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Összességében tehát előrelépés történt és inkább megemésztem a hátlap maszatolódását, de jobb minőségű internet elérést kapok cserébe.</p>
<p>Itt kell említést tennem a 3GS legelőnyösebb tulajdonságáról, a sebességről. Igen, látványosan gyorsabb lett a készülék az elődeihez képest, minden területen. Bekapcsolás, programok indítása, oldalak megjelenítése. Minden nagyon gyors és fürge. Nincs várakozás, megbököd és azonnal ott van aminek kell. Ennek a sebességnövekedésnek azonban ára van, amit hazánkban forintban mérnek. Nagyon sokat gondolkodtam rajta, hogy ez a sebességnövekedés megéri-e azt a ~25eFt-ot, amivel többet kérnek egy azonos méretű 3G-hez képest, de nem igazán sikerült választ találnom erre a kérdésre. Nálam a 3GS irányába a 32GB-os kapacitás mozdította el a mérleg nyelvét, és ilyen opció ugyebár nem választható a sima 3G-nél. Úgy voltam vele, hogy ha már rászántam magam a váltásra és egy rakás pénzt legombolok a T-nek a készülékért és az előfizetésért, akkor minden téren legyen előrelépés, így nem elégedtem meg a +8GB tárterülettel. Igaz ez végül +50eFt-os árkülönbözetet eredményezett, de nincs többé az a kompromisszum, hogy csak bizonyos zenei összeállításokat tudok az iTunes könyvtáramból a telefonra szinkronizálni. Az összes zeném gond nélkül ráfér a telefonra és még marad is úgy 10GB-nyi felhasználható terület a programoknak, fényképeknek, videóknak és egyéb adatoknak. Imádom! Persze biztos hamarosan bejelentik majd a 64GB-os modellt is – így szokott ez lenni – de azt már úgysem vártam volna meg.</p>
<p>A másik érdekes újítás – még a 3G-hez képest is – a beépített iránytű. Őszintén megmondom, hogy mikor a keynote-on bemutatták ezt a feature-t akkor egyáltalán nem értettem, hogy mi a nagy extra a telefonba rejtett iránytűben. A 30eFt-os, autós GPS is meg tudja mutatni, hogy milyen irányba haladok beépített iránytű nélkül, a műholdak alapján. A kulcs a <em>&#8220;milyen irányba haladok&#8221;</em>-on van, ugyanis a 3GS egy helyben állva is meg tudja mutatni, hogy merre kell elindulnom míg ugyanezt az autós GPS-em csak akkor teszti meg, ha már elindultam. Ez teljesen idegen terepen jól tud jönni. Nagyon jó móka, hogy a kézben tartott térképet, egy helyben állva mindig a tájolásnak megfelelően forgatja el a telefon. Geocaching-hez szinte elengedhetetlen. Szóval jó kis feature ez, de meg lehet lenni nélküle.</p>
<p>A fénykép és videó funkciókat nem nagyon volt időm tesztelni. Mindössze annyi volt, hogy kipróbáltam. Működik, szép, az autofocus nagyon jó, a videó minőség elfogadható, de majd a mindennapi használat során derül ki, hogy mennyire válnak be. Egyelőre többet nem tudok elmondani. <small><em>(Kérem kapcsolja ki!)</em></small></p>
<p>A legnagyobb negatívum, hogy az Apple a 3G és 3GS telefonokhoz már nem mellékeli az asztali dokkólót, ami nem túl elegáns. Mindig imádtam, hogy a régi iPhone ott volt előttem egész nap az asztalon, stílusosan a dokkolóban. Nem ejtettem rá semmit, nem löktem arrébb, mindig rálátásom volt a kijelzőre és a kábelt sem kellett állandóan hajlítgatnom. Volt egy dedikált helye a telefonnak az asztalon és ezt nagyon csipáztam. Az újabb modellek mellől ezt a dokkólót kispórolták így kénytelen voltam eBay-ről beszerezni egyet. Még nem érkezett meg a csomag, de remélem, hogy a hétvége felé vagy jövő hétre már ideér. Ugyanígy kispórolták annó a MacBook Pro mellől a távirányítót. Bár az annyira nem zavart és azóta is jól megvagyok nélküle, azért az elég gagyi az Apple részéről, hogy egy félmillás gép mellől kispórolja azt a kis apró tartozékoz, amit a sokkal olcsóbb &#8220;öcsi MacBook&#8221;-hoz mellékel. Ugyanígy vagyok a dokkolóval is. Hatalmas összeget fizetek ki a jézustelefonért és egy ilyen apróságot kispórolnak. Persze tudom, hogy ez nem befolyásol semmit, de akkor sem túl szép gesztus.</p>
<p>Egy hetet kellett várnom a készülékre a régit pedig már eladtam. Nagyon furcsa volt, mert most éreztem meg igazán, hogy mennyire a mindennapjaim részévé vált az iPhone. Még Anita is említette, hogy igazán jöhetne már az új telefon, mert esténként nem tud netezni. Ott van ugyan mindenkinek a saját gépe, de macera azt pár perces netezés miatt bekapcsolgatni. A reggeli wc-session telefon, internet és információ nélkül is nagyon durva volt <img src='http://vbali.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Hiába, könnyű hozzászokni a kényelemhez, az pedig csak tetőzte az egészet, hogy átmenetileg egy penge Moto-val voltam kénytelen pótolni a telekommunikációs igényeimet. A Motorolák pedig logikailag a világ legelcseszetteb készülékei.</p>
<p>Összességében nagyon jó döntésnek tűnik a váltás és nagyon örülök az új készüléknek. A legnagyobb ugrás, hogy végre lesz a zsebemben egy 3G-s telefon amivel bármikor, bárhonnan internethez tudok jutni. Ez nagyon fontos! Ez indokolta azt is, hogy a régi készülékemet lecseréljem. Megérte rá várni és egyelőre nagyon meg vagyok vele elégedve.</p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2009/09/21/iphone-3gs-elso-tapasztalatok/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bye bye iPhone!</title>
		<link>http://vbali.com/2009/09/10/bye-bye-iphone/</link>
		<comments>http://vbali.com/2009/09/10/bye-bye-iphone/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 11:01:12 +0000</pubDate>
		<dc:creator>vbali</dc:creator>
				<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://vbali.com/?p=883</guid>
		<description><![CDATA[
Elérkezett az ideje, hogy elbúcsúzzak az iPhone-omtól, tegnap eladtam. Másfél évvel ezelőtt vettem, amikor még csak az ezüsthátú 2G létezett. Persze a vásárlást követő egy héten belül az Apple bejelentette a 3G-t, de akkor az teljesen hidegen hagyott. A 3G net nem hozott lázba – bár a GPS-t irigyeltem – de a felárat akkor még [...]]]></description>
			<content:encoded><![CDATA[<p><img class="media" src="/UserFiles/Image/iphone2g.jpg" alt="iphone2g" width="600" height="170" /><br />
Elérkezett az ideje, hogy elbúcsúzzak az iPhone-omtól, tegnap eladtam. Másfél évvel ezelőtt vettem, amikor még csak az ezüsthátú 2G létezett. Persze a vásárlást követő egy héten belül az Apple bejelentette a 3G-t, de akkor az teljesen hidegen hagyott. A 3G net nem hozott lázba – bár a GPS-t irigyeltem – de a felárat akkor még nem érte volna meg nekem. Elégedett voltam a telefonommal, amit mi sem bizonyít jobban, minthogy a mai napig használtam a legnagyobb megelégedésemre. Akkor mégis mi indokolta az eladását? Alapvetően a múltkor taglalt <a href="/2009/06/15/koltsegcsokkentes/">költségracionalizálás</a> vezetett oda, hogy áruba bocsátsam a készüléket. Egyrészt a mobilnetes előfizetéssel játszottam, másrészt bíztam benne, hogy még jó áron sikerül túladnom a telefonon, a 3G és 3GS árnyékában.</p>
<p>Elégedettséggel töltött el, hogy a kereskedő megdicsérte a telefon állapotát és ezt figyelembe vette amikor árajánlatot adott. Gyorsan sikerült megegyeznünk, mivel korrekt volt az ajánlat is és a készülék is. Mindenki nyert. Mielőtt végleg átadtam volna a készüléket elindítottam egy teljes adattörlést, hogy minden privát cuccot eltüntessek róla. Ez megközelítőleg egy órát vesz igénybe amit nem volt kedvem végigvárni, így úgy jöttem el, hogy a process még futott. Azt azonban nem tudtam, hogy a teljes törlés az iPhone-t aktiválás előtti alapértelmezett állapotba állítja, így igencsak meglepődtem amikor jött a hívás, hogy minden eltűnt a telefonról és tulajdonképp semmire sem lehet használni. Akkor már sejtettem, hogy ez az adattörléssel lesz kapcsolatban. Épp befejeztem a futóedzést mikor a hívás érkezett, és mivel épp a közelben voltam így elég leharcolt állapotban érkeztem vissza a boltba <img src='http://vbali.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  A megcsupaszodott telefont összedugtam a boltban lévő PC-vel, mire szólt is az iTunes, hogy neki van friss iPhone OS verziója a telefon számára. Na köszi! Firmware frissítés és QuickPwn futtatás következett. Az iPhone a friss OS-szel összebarátkoztatva &#8220;meggyógyult&#8221; és ismét használhatóvá vált, mindenki örült.</p>
<p>Még aznap volt egy köröm a Pannonnál, hogy a meglévő előfizetésemet megszüntessem és kezdeményezzem a számhordozást. Amíg várakoztam akaratlanul végighallgattam egy WAP dicsőítést, ami az előttem lévő ügyfélnek szólt. Azt hittem rögtön lefordulok a székről, amikor végighallgattam, hogy WAP-on keresztül mennyi információ megtalálható, milyen gyors és gazdaságos és mekkora nagy királyság már az egész. Ezeknek nem mondták, hogy a WAP már rég halott?</p>
<p>Most várakozás van amíg megérkeznek a számhordozáshoz szükséges dokumentumok és az új telefonom, az iPhone 3GS. Addig meg nyúzom a régi Motorola Razr V3-at, ami egy agyrém a jézustelefonhoz képest.</p>
]]></content:encoded>
			<wfw:commentRss>http://vbali.com/2009/09/10/bye-bye-iphone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
