<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><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" version="2.0">

<channel>
	<title>Pixel.lt</title>
	
	<link>http://pixel.lt</link>
	<description>Coding: priceless</description>
	<pubDate>Sat, 21 Apr 2012 06:55:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Pixel" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="pixel" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Pixel</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Papimpink savo… Arba kaip mes kūrėme Youtube…</title>
		<link>http://pixel.lt/papimpink-savo-arba-kaip-mes-kureme-youtube.html</link>
		<comments>http://pixel.lt/papimpink-savo-arba-kaip-mes-kureme-youtube.html#comments</comments>
		<pubDate>Sun, 18 May 2008 20:00:00 +0000</pubDate>
		<dc:creator>NePo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[Assembly]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[C/C++]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Darbas]]></category>

		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[HTML]]></category>

		<category><![CDATA[Internetas]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Karkasai]]></category>

		<category><![CDATA[Kita]]></category>

		<category><![CDATA[OS]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Pascal]]></category>

		<category><![CDATA[Pixel.lt]]></category>

		<category><![CDATA[Programos]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Saugumas]]></category>

		<category><![CDATA[Skaitiniai]]></category>

		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://pixel.lt/?p=700</guid>
		<description><![CDATA[Antrasis .Net grupės susitikimas įvyko gegužės 14, tradiciškai Reval Hotel Lietuva viešbutyje. Buvo du pranešėjai, vienas jų - grupės iniciatorius Sergejus.
Kaip ir buvo skelbta, konferencija prasidėjo 17 valandą. Sergejus pasidžiaugė, jog didžioji dalis žmonių yra nauji ir nedalyvavę pirmojoje konferencijoje. Aš ne taip optimistiškai interpretuočiau šį faktą: tiems, kurie buvo pirmoje konferencijoje, ji taip nepatiko, [...]]]></description>
			<content:encoded><![CDATA[<p>Antrasis .Net grupės susitikimas įvyko gegužės 14, tradiciškai Reval Hotel Lietuva viešbutyje. Buvo du pranešėjai, vienas jų - grupės iniciatorius <a href="http://sergejus.blogas.lt/" target="_blank" title="Sergejus">Sergejus</a>.</p>
<p>Kaip ir buvo skelbta, <a href="http://pixel.lt/tag/konferencija" class="st_tag internal_tag" rel="tag" title="Posts tagged with konferencija">konferencija</a> prasidėjo 17 valandą. Sergejus pasidžiaugė, jog didžioji dalis žmonių yra nauji ir nedalyvavę pirmojoje konferencijoje. Aš ne taip optimistiškai interpretuočiau šį faktą: tiems, kurie buvo pirmoje konferencijoje, ji taip nepatiko, kad į antrą net nesiregistravo&#8230;<br />
Kita vertus, 30 iš 40 konferencijos vietų buvo užimtos praėjus dviems valandoms, nuo paskelbimo apie registraciją, tai visai tikėtina, kad dalis žmonių tiesiog nespėjo sureaguoti. Kaip sakant, tų kurie ilgai kompiliuoja niekas nelaukia.<br />
Pirmąją temą - dinaminis tinklalapių kūrimas su <a href="http://pixel.lt/tag/silverlight" class="st_tag internal_tag" rel="tag" title="Posts tagged with Silverlight">Silverlight</a> pristatė <a href="http://pixel.lt/author/sergejus" target="_blank" title="Sergejus">Sergejus</a>. Jis perspėjo visus, jog tai tos pačios skaidrės, kurias pristatinėjo MIDI konferencijoje, tiesa, ten jos vadinosi &#8220;Papimpink savo tinklalapį su <a href="http://pixel.lt/tag/silverlight" class="st_tag internal_tag" rel="tag" title="Posts tagged with Silverlight">Silverlight</a>&#8220;.<br />
Kas yra <a href="http://pixel.lt/tag/silverlight" class="st_tag internal_tag" rel="tag" title="Posts tagged with Silverlight">Silverlight</a>? Originalus apibūdinimas paimtas iš <a href="http://en.wikipedia.org/wiki/Microsoft_Silverlight" target="_blank" title="Microsoft Silverlight">Wikipedia</a>:</p>
<pre>
Microsoft <a href="http://pixel.lt/tag/silverlight" class="st_tag internal_tag" rel="tag" title="Posts tagged with Silverlight">Silverlight</a> is a web browser plugin that provides support for rich internet applications such as animation, vector graphics and audio-video playback.
</pre>
<p>Kažką primena? Galbūt Flash?<br />
Tačiau kaip teigė Sergejus, tai daugiau negu Flash. Jau vien dėl to, kad logika programuoja .NET platformoje, reiškia, kad jūs galite logiką kurti su C#, Visual Basic, IronRuby, IronPython (ir galbūt IronPhp?). O gražius vaizdus galima atvaizduoti su WPF (Windows Presentation Foundation) <del datetime="2008-05-24T12:45:22+00:00">WMF (windows media foundation)</del>. Be to, šis Microsoft produktas veikia ant daugelio standartinių OS (Windows, Mac, Linux), o taip pat ant Windows mobile bei artimiausioje ateityje ant Symbian OS. Taip pat palaiko ne tik Internet Explorer, Firefox, Opera, Safari, bet ir Konqueror ir daugelį kitų.<br />
O sakyti, kad .NET programuotojų yra gerokai daugiau nei Flash, turbūt neverta, juk mes čia ne propagandą varom.<br />
Viską susumavus, <a href="http://pixel.lt/tag/silverlight" class="st_tag internal_tag" rel="tag" title="Posts tagged with Silverlight">Silverlight</a> laukia gražios perspektyvos.<br />
Tiesa, yra ir keletas trūkumų, šiuo metu naujausioje versijoje Silverlight2beta1 nėra iškrentančio meniu (DropList).<br />
Po trumpos įžangos Sergejus pateikė labai praktišką pavyzdį, kuris pakerėjo mane. Turbūt nereikia aiškinti kaip atrodo teksto įvedimo laukas, jeigu kas nors nežinote, tai pelės žymekliu užeikite ant šliužtės esančios dešinėje pusėje ir slenkamuoju pelės judesiu nutraukite ją žemyn iki komentarų formos. O dabar įsivaizduokite, kad komentarų formos fone paleidžiate kokį nors video. Tiems, kurie buvo konferencijoje įsivaizduoti nereikia, nes jie matė tai realiai. Aišku jūs paklausite manęs, kas tokio praktiško šitame pavyzdyje, aš, žinoma, atsakysiu - pagalvokite apie ateities reklamas. Reklamos efektyvios, tiek kiek jas pamato vartotojai, o kur geriau dėti reklamą, jeigu ne į komentarų formos foną?<br />
Vėliau tą įvedimo lauką Sergejus patobulino priversdamas jį suktis. Na kokia nauda iš besisukančio teksto įvedimo lauko, net jeigu ir gali įvedinėti tekstą, man visiškai neaišku. Bet gražu.<br />
Antrajame pavyzdyje mes kūrėme video pateikimo puslapį, kurio pagrindinės funkcijos: kairėje pusėje 10 atsitiktinių video failų, dešinėje video peržiūra ir paieška.<br />
<img src="http://www.blogas.lt/uploads/s/seriog/193760.png" alt="video" width="500"/><br />
Detalų paaiškinimą kaip sukurti tokį puslapį galite rasti Sergejaus puslapyje (<a href="http://sergejus.blogas.lt/368511/ivadas-i-silverlight-20--1-dalis.html" target="_blank" title="ivadas-i-silverlight-20--1-dalis">1</a>,<a href="http://sergejus.blogas.lt/368959/ivadas-i-silverlight-20--2-dalis.html" target="_blank" title="ivadas-i-silverlight-20--2-dalis">2</a>,<a href="http://sergejus.blogas.lt/372104/ivadas-i-silverlight-20--3-dalis.html" target="_blank" title="ivadas-i-silverlight-20--3-dalis">3</a>,<a href="http://sergejus.blogas.lt/373086/ivadas-i-silverlight-20--4-dalis.html" target="_blank" title="ivadas-i-silverlight-20--4-dalis">4</a>,<a href="http://sergejus.blogas.lt/375004/ivadas-i-silverlight-20--5-dalis.html" target="_blank" title="ivadas-i-silverlight-20--5-dalis">5</a>,<a href="http://sergejus.blogas.lt/375773/ivadas-i-silverlight-20--6-dalis.html" target="_blank" title="ivadas-i-silverlight-20--6-dalis">6</a>,<a href="http://sergejus.blogas.lt/376758/ivadas-i-silverlight-20--7-dalis.html" target="_blank" title="ivadas-i-silverlight-20--7-dalis">7</a> dalys).</p>
<p>Antrąją temą pristatinėjo Donatas Mažionis <del datetime="2008-05-20T06:45:22+00:00">Mačionis</del> ir ji vadinosi WCSF. Aišku į WCSF jūs man greičiausiai atsakytumėte WTF. Taigi tikrasis temos pavadinimas buvo Įvadas į Web Client Software Factory.<br />
WCSF yra geriausių praktikų ir šablonų rinkinys, kuris padeda greičiau atlikti standartinius sprendimus, automatizuodamas kodo generavimą. Vienas didelis privalumas, kad kartu jis sugeneruoja ir Unit testus. Deja, jis nėra vaistas nuo visų ligų, geriausiai tinka Krioklio (Waterfall) modeliui, ar šiais laikais kas nors programuoja tokiu modeliu (apie bakalaurinių ir magistrinių darymą universitetuose aš nekalbu)?<br />
Šis pristatymas atrodė kiek trumpesnis. Donatas priešingai nei Sergejus nerašė kodo kartu su visais, tiesiog parodė sukurtos programos pavyzdį ir jį paaiškino. Didžiausiu tokio pristatymo trūkumu aš laikyčiau, jog paskui pasidaro neaišku, kokį kodą WCSF sugeneruoja automatiškai, o kokį tenka pasirašyti pačiam. </p>
<p>Apibendrinus galima pasakyti, kad renginys labai šaunus ir nekantriai lauksim trečio. Tuo tarpu <a href="http://dotnetgroup.lt/post/Pasibaigus-antram-Lietuvos-NET-vartotoju-grupes-susitikimui.aspx" target="_blank" title="Pasibaigus-antram-Lietuvos-NET-vartotoju-grupes-susitikimui">organizatoriai</a> nori paprašyti visų, pasiūlyti kokias temas norėtų išgirsti, o galbūt ir patys paskaityti. Todėl nesvarbu jūs buvote ar ne būtinai <a href="http://dotnetgroup.lt/post/Pasibaigus-antram-Lietuvos-NET-vartotoju-grupes-susitikimui.aspx" target="_blank" title="Pasibaigus-antram-Lietuvos-NET-vartotoju-grupes-susitikimui">pareikškite savo pageidavimus čia</a>. Tuo tarpu aš tikiuosi, kad .NET bendruomenė suaktyvės ir norės pasidalinti savo patirtimi su kitais - <a href="http://pixel.lt/tag/pixellt" class="st_tag internal_tag" rel="tag" title="Posts tagged with Pixel.lt">Pixel.lt</a> tam labai patogi vieta: labai paprasta prisiregistruoti, patogus teksto redaktorius, (ilgą kodą galima talpinti į <a href="http://www.paste.lt/" target="_blank" title="paste.lt">paste.lt</a>), o mūsų redaktorė ištaiso gramatines klaidas. </p>
<p>Konferencijos medžiagos <a href="http://dotnetgroup.lt/post/Antrasis-Lietuvos-NET-vartotoju-grupes-susitikims---skaidres.aspx" target="_blank" title="/Antrasis-Lietuvos-NET-vartotoju-grupes-susitikims---skaidres">ieškokite čia</a>.</p>

	Gairės: <a href="http://pixel.lt/tag/net" title=".NET" rel="tag">.NET</a>, <a href="http://pixel.lt/tag/silverlight" title="Silverlight" rel="tag">Silverlight</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Pixel?a=Vab9acPw"><img src="http://feeds.feedburner.com/~f/Pixel?d=41" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/-Q0KN3qMnxk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/papimpink-savo-arba-kaip-mes-kureme-youtube.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Skaitiniai #55</title>
		<link>http://pixel.lt/skaitiniai-55.html</link>
		<comments>http://pixel.lt/skaitiniai-55.html#comments</comments>
		<pubDate>Sat, 03 May 2008 10:57:22 +0000</pubDate>
		<dc:creator>asterisk</dc:creator>
		
		<category><![CDATA[Skaitiniai]]></category>

		<guid isPermaLink="false">http://pixel.lt/?p=696</guid>
		<description><![CDATA[Skaitiniai is back!
Per girias, jūras ir ilguosius savaitgalius atžygiavo 55-ieji skaitiniai. Be didesnių ceremonijų pateikiu juos:
Opera Developer Community: Stop using Ajax!
Vileworks: Using captcha without displaying it
IBM developerWorks: Build a customizable RSS feed aggregator in PHP
Making The Web: Choosing Optimal MySQL Data Types
A List Apart: Getting Started with Ruby on Rails
A List Apart: Creating More Using [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://pixel.lt/tag/skaitiniai" class="st_tag internal_tag" rel="tag" title="Posts tagged with Skaitiniai">Skaitiniai</a> is back!<br />
Per girias, jūras ir ilguosius savaitgalius atžygiavo 55-ieji <a href="http://pixel.lt/tag/skaitiniai" class="st_tag internal_tag" rel="tag" title="Posts tagged with Skaitiniai">skaitiniai</a>. Be didesnių ceremonijų pateikiu juos:<br />
<a href="http://dev.opera.com/articles/view/stop-using-ajax/" target="_blank" title="Opera Developer Community: Stop using Ajax!">Opera Developer Community: Stop using Ajax!</a><br />
<a href="http://www.vileworks.com/blog/37-blog/58-using-captcha-without-displaying-it.html" target="_blank" title="Vileworks: Using captcha without displaying it">Vileworks: Using captcha without displaying it</a><br />
<a href="http://www.ibm.com/developerworks/library/wa-aj-rssphp/index.html?S_TACT=105AGX44&#038;S_CMP=EDU" target="_blank" title="IBM developerWorks: Build a customizable RSS feed aggregator in PHP">IBM developerWorks: Build a customizable RSS feed aggregator in PHP</a><br />
<a href="http://making-the-web.com/2008/04/27/choosing-optimal-mysql-data-types/" target="_blank" title="Making The Web: Choosing Optimal MySQL Data Types">Making The Web: Choosing Optimal MySQL Data Types</a><br />
<a href="http://www.alistapart.com/articles/gettingstartedwithrubyonrails" target="_blank" title="Getting Started with Ruby on Rails">A List Apart: Getting Started with Ruby on Rails</a><br />
<a href="http://www.alistapart.com/articles/creatingmoreusinglesseffortwithrubyonrails" target="_blank" title="Creating More Using Less Effort with Ruby on Rails">A List Apart: Creating More Using Less Effort with Ruby on Rails</a><br />
<a href="http://www.cssnewbie.com/using-definition-lists-question-answer-formatting/" target="_blank" title="CSSnewbie: Using Definition Lists: Question &#038; Answer formatting">CSSnewbie: Using Definition Lists: Question &#038; Answer formatting</a></p>
<p>Gero savaitgalio ir <a href="http://www.shutdownday.org/" target="_blank" title="Shutdown day">išjunkit kompiuterius</a>!</p>

	Gairės: <a href="http://pixel.lt/tag/skaitiniai" title="Skaitiniai" rel="tag">Skaitiniai</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=lL7Y_h8VbNo:u6APPeUTQgY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/lL7Y_h8VbNo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/skaitiniai-55.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Limituojam MySQL duombazės dydį su… pačiu MySQL</title>
		<link>http://pixel.lt/limituojam-mysql-duombazes-dydi-su-paciu-mysql.html</link>
		<comments>http://pixel.lt/limituojam-mysql-duombazes-dydi-su-paciu-mysql.html#comments</comments>
		<pubDate>Wed, 30 Apr 2008 13:26:48 +0000</pubDate>
		<dc:creator>Raigedas</dc:creator>
		
		<category><![CDATA[SQL]]></category>

		<category><![CDATA[db]]></category>

		<category><![CDATA[DBMS]]></category>

		<category><![CDATA[DBVS]]></category>

		<category><![CDATA[limits]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[STORED PROCEDURE]]></category>

		<category><![CDATA[TRIGGER]]></category>

		<guid isPermaLink="false">http://pixel.lt/?p=692</guid>
		<description><![CDATA[Iškilo būtinybė uždėti limitą duombazės dydžiui. Pats MySQL tokio funkcionalumo neturi. Ieškojau kaip išspręsti šią problemą&#8230; Mano reikalavimai sprendimui tokie:

reikalavimų minimumas; portabilumas - kad nereikėtų įdiegti papildomos programinės įrangos, kad veiktų kuo įvairesnėse aplinkose, nereikalautų didelio paruošimo bei palaikymo;
resursų taupymas

Kaip gali būti realizuota tokia funkcija? Atrodo pakankamai paprastai - tereikia žinoti duombazės dydį (esamą.. bet [...]]]></description>
			<content:encoded><![CDATA[<p>Iškilo būtinybė uždėti limitą duombazės dydžiui. Pats <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> tokio funkcionalumo neturi. Ieškojau kaip išspręsti šią problemą&#8230; Mano reikalavimai sprendimui tokie:</p>
<ul>
<li>reikalavimų minimumas; portabilumas - kad nereikėtų įdiegti papildomos programinės įrangos, kad veiktų kuo įvairesnėse aplinkose, nereikalautų didelio paruošimo bei palaikymo;</li>
<li>resursų taupymas</li>
</ul>
<p>Kaip gali būti realizuota tokia funkcija? Atrodo pakankamai paprastai - tereikia žinoti duombazės dydį (esamą.. bet geriau tą, kuris būtų po užklausos įvykdymo) ir jei tas dydis viršija mūsų nustatytą limitą tai atitinkamai arba leidžiama įvykdyti užklausą arba ne. </p>
<p>Bet yra ir kitas būdas. Žinome, kad <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> kiekvieną duombazę saugo atskirame kataloge. Taigi tereiktų failų sistemos lygyje nustatyti apribojimą tam katalogui, kad nesipūstų per daug. GNU/Linux sistemoje yra tokia galimybė nustatyti limitą konkrečiam naudotojo namų katalogui. Taigi:</p>
<ul>
<li>sukuriam naują vartotoją (tebūnie &#8216;manovardas&#8217;) serveryje ir nustatom limitą jo namų katalogui.</li>
<li>sukuriam naują duombazę:

<div class="wp_syntax"><div class="code"><pre class="sql"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> manodb</pre></div></div>

</li>
<li>sustabdom <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> servisą - nebūtina, bet labai rekomenduojama!</li>
<li>perkeliam duombazės katalogą pas naudotoją &#8220;į namus&#8221;:
<pre>mv /var/lib/<a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">mysql</a>/manodb /home/manovardas</pre>
<p> (gal reikia &#8220;-R&#8221; rakto, nepamenu)</li>
<li>sukuriam nuorodą:
<pre>ln -s /home/manovardas/manodb /var/lib/<a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">mysql</a>/manodb</pre>
</li>
<li>paleidžiam <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> servisą.</li>
</ul>
<p>Viskas. Ar šis sprendimas tinka visada? Nemanau. Pavyzdžiui, mes nežinom, kas bus, kai duombazė pasieks tą nustatytą limitą? Ar mums vykdant &#8220;insert&#8221; užklausą bus išmesta klaida? Ar viskas užstrigs? Servisas nulūš? Internete radau kažkieno pasakymą, kad tokiu atveju lūžta einamoji <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> serviso gija. Visgi man sunku tuo patikėt - kai man pačiam buvo pasibaigus vieta particijoj ir įterpinėjau duomenis tai tiesiog mano užklausa užšaldavo. Kiti susijungimai toliau leisdavo vykdyt SELECT užklausas. Sako, tyla gera byla, bet mūsų atveju geriau būtų klaida :) dabar sėdi naudotojas ir nežino kas vyksta. Kita problema - reikia turėti teises į failų sistemą. Dar reikia kurti papildomą sistemos naudotoją&#8230; taigi, man šis sprendimas netiko, todėl ieškojau kaip realizuot pirmu minėtu metodu (patikrinant <a href="http://pixel.lt/tag/db" class="st_tag internal_tag" rel="tag" title="Posts tagged with db">DB</a> dydį).</p>
<p><strong>Duombazės dydis</strong> - kaip jį sužinoti?</p>
<p>Turbūt paprasčiausia būtų pažiūrėt, kiek užima duombazės failai. Bet ne visada galim turėt galimybę tai atlikt. Pavyzdžiui, jei jungiamės prie nutolusio <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> serverio. Arba net jei tai vietinis serveris, vis tiek galime neturėti teisių tokiam veiksmui.</p>
<p>Suskaičiuoti visus įrašus&#8230; mm.. būtų galima bandyt, jei kiekvienas įrašas užimtų tiek pat vietos - tada apskaičiuotume įrašo dydį, sudaugintume su eilučių skaičiumi lentelėje ir tai pakartotume visoms lentelėms. Bet, deja, ne visi įrašai yra fiksuoto dydžio - kaltininkai čia būtų VARCHAR (ir kt.) laukai. Taigi, pamirštam.</p>
<p>Atrodo yra paprastesnis būdas. Tai, ko mums reikia, grąžina užklausa:</p>

<div class="wp_syntax"><div class="code"><pre class="sql"><span style="color: #993333; font-weight: bold;">SHOW</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #993333; font-weight: bold;">STATUS</span>;</pre></div></div>

<p>Kad nesikartočiau, ką jau kažkas parašė, siūlau tiesiog užeit šiuo adresu:<br />
<a href="http://www.drquincy.com/resources/tutorials/webserverside/getthesizeofamysqldatabasewithphp/">http://www.drquincy.com/resources/tutorials/webserverside/getthesizeofamysqldatabasewithphp/</a></p>
<p><strong>Limitai</strong></p>
<p>Žinom duombazės dydį - kas dabar? Sakykim, mūsų sistema, kuri naudos duombazę, yra svetainė rašoma su <a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">PHP</a>. Tai nejau prieš kiekvieną užklausą vykdysim tą kodą, kuris tikrina <a href="http://pixel.lt/tag/db" class="st_tag internal_tag" rel="tag" title="Posts tagged with db">DB</a> dydį? Jei mums reikės padaryt 10 000 įterpimų, tai tiek kartų tikrinti būtų neracionalu. Ypač jei <a href="http://pixel.lt/tag/db" class="st_tag internal_tag" rel="tag" title="Posts tagged with db">DB</a> klientas ir <a href="http://pixel.lt/tag/db" class="st_tag internal_tag" rel="tag" title="Posts tagged with db">DB</a> serveris yra nutolę. Kita problema - gal mes norime kad ne tik <a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a> skriptas įterpinėjant duomenis neperžengtų ribos, bet kad niekaip nebūtų įmanoma apeiti limito (net tiesiai prisijungus iš konsolės)? Tada reiktų tikrinimą kažkaip &#8220;įklijuoti&#8221; į patį <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a>. Taip ir padarom:</p>
<ul>
<li>sukuriam funkciją (kažkas tokio kaip <a href="http://pixel.lt/tag/stored-procedure" class="st_tag internal_tag" rel="tag" title="Posts tagged with STORED PROCEDURE">STORED PROCEDURE</a>, tik grąžins skaičių) kuri nustato <a href="http://pixel.lt/tag/db" class="st_tag internal_tag" rel="tag" title="Posts tagged with db">DB</a> dydį</li>
<li>ant kiekvienos lentelės sukuriam trigerius, kurie suveiktų, pavyzdžiui, prieš įterpimą; trigeris turėtų patikrinti ar galima įterpti, ar ne.</li>
</ul>
<p>Atrodo gražu, bet viena problemėlė. O kaip mes trigeryje pasakysim &#8220;žinai, nebedarom įterpimo nes pasiektas limitas&#8221;? <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> neturi tokios galimybės kaip kad &#8220;raise_error&#8221; ant Microsoft <a href="http://pixel.lt/tag/sql" class="st_tag internal_tag" rel="tag" title="Posts tagged with SQL">SQL</a> Server. Sako, kad nuo <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> 5.2 gal jau bus &#8220;signalai&#8221;, kurie leis padaryt tai, ko mums reikia.. bet mums reikia dabar. Visgi yra sprendimas:<br />
<a href="http://www.brokenbuild.com/blog/2006/08/15/mysql-triggers-how-do-you-abort-an-insert-update-or-delete-with-a-trigger/">http://www.brokenbuild.com/blog/2006/08/15/mysql-triggers-how-do-you-abort-an-insert-update-or-delete-with-a-trigger/</a><br />
Siūlo tiesiog sukelti bet kokią kitą klaidos situaciją, pvz &#8220;unknown column&#8221;. </p>
<p>Beliko viską realizuot. Kadangi aš beveik nesu rašęs <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> saugomų procedūrų (&#8221;<a href="http://pixel.lt/tag/stored-procedure" class="st_tag internal_tag" rel="tag" title="Posts tagged with STORED PROCEDURE">STORED PROCEDURE</a>&#8220;), funkcijų tai neišsiverčiau be <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">MySQL</a> dokumentacijos ir kodo pavyzdžių, rastų internete. Pavyzdžiui, štai kaip reiktų prasukt ciklą pasinaudojant kursoriais:<br />
<a href="http://dev.mysql.com/doc/refman/5.0/en/cursors.html">http://dev.mysql.com/doc/refman/5.0/en/cursors.html</a><br />
Man šitas ciklas pasirodė keistokas, todėl dariau taip kaip parodyta čia:<br />
<a href="http://www.futhark.ch/mysql/130.html">http://www.futhark.ch/mysql/130.html</a></p>
<p>Viskas, daugiau paaiškinimų nebebus.</p>
<p>Funkcijos, nustatančios <a href="http://pixel.lt/tag/db" class="st_tag internal_tag" rel="tag" title="Posts tagged with db">DB</a> dydį, kodas:</p>

<div class="wp_syntax"><div class="code"><pre class="sql">delimiter //
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">FUNCTION</span> dbsize <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> RETURNS integer
READS SQL <span style="color: #993333; font-weight: bold;">DATA</span>
BEGIN
  DECLARE size integer <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #cc66cc;">0</span>;
  DECLARE c1, c2, c3, c4, c5, c6,
    datalength, c8, indexlength,
    c10, c11, c12, c13, c14, c15, c16,
		c17, c18 integer;
  DECLARE done <span style="color: #993333; font-weight: bold;">BOOLEAN</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> FALSE;
&nbsp;
  DECLARE curr CURSOR <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #993333; font-weight: bold;">SHOW</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #993333; font-weight: bold;">STATUS</span>;
  DECLARE CONTINUE HANDLER <span style="color: #993333; font-weight: bold;">FOR</span> SQLSTATE <span style="color: #ff0000;">'02000'</span> <span style="color: #993333; font-weight: bold;">SET</span> done = TRUE;
&nbsp;
  OPEN curr;
&nbsp;
  loop1: LOOP
&nbsp;
    FETCH curr <span style="color: #993333; font-weight: bold;">INTO</span> c1, c2, c3, c4, c5, c6, datalength, c8, indexlength, c10, c11, c12, c13, c14, c15, c16, c17, c18;
    <span style="color: #993333; font-weight: bold;">IF</span> done THEN LEAVE loop1; END <span style="color: #993333; font-weight: bold;">IF</span>;
    <span style="color: #993333; font-weight: bold;">SET</span> size := size + datalength + indexlength;
&nbsp;
  END LOOP loop1;
&nbsp;
  CLOSE curr;
&nbsp;
  <span style="color: #993333; font-weight: bold;">RETURN</span> size;
&nbsp;
END;
//
delimiter ;</pre></div></div>

<p>Trigerio kodas:</p>

<div class="wp_syntax"><div class="code"><pre class="sql">delimiter //
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> t1bi
BEFORE <span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">ON</span> t1
  <span style="color: #993333; font-weight: bold;">FOR</span> EACH ROW
BEGIN
  <span style="color: #993333; font-weight: bold;">SET</span> @dummy = <span style="color: #cc66cc;">0</span>;
  <span style="color: #993333; font-weight: bold;">IF</span> dbsize<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> &amp;gt; <span style="color: #cc66cc;">20000</span> THEN
    <span style="color: #993333; font-weight: bold;">SELECT</span> Database_size_limit_reached <span style="color: #993333; font-weight: bold;">INTO</span> @dummy <span style="color: #993333; font-weight: bold;">FROM</span> t1;
  END <span style="color: #993333; font-weight: bold;">IF</span>;
END;
//
delimiter ;</pre></div></div>

<p>Čia:</p>
<ul>
<li>20000 - skaičius 20000 rodo baitų kiekį, kurio negali peržengti duombazės dydis.</li>
<li>t1 - lentelė, kuriai kuriamas trigeris; reikėtų sukurti kiekvienai lentelei.</li>
<li>t1bi - kuriamo trigerio vardas (lentelės vardas plius pirmosios raidės iš &#8220;BEFORE INSERT&#8221;)</li>
</ul>
<p>Dabar beliko sutvarkyt leidimus <em>(angl. permissions)</em>. Naudotojui leisti tik SELECT, INSERT, UPDATE, DELETE, bet neleisti kurti/trinti (būtent trinti) funkcijų ir trigerių.</p>
<p><strong>Išvados</strong></p>
<p>Man šis sprendimas labai tinka nes:</p>
<ul>
<li>nėra jokių papildomų reikalavimų, nereikia nieko papildomai įdiegti, kurti papildomų lentelių. Na gerai, yra reikalavimai - būtinas trigerių palaikymas bei lentelėse negali būti stulpelis pavadinimu &#8220;Database_size_limit_reached&#8221; :)</li>
<li>nors tenka kiekvienu įterpimu iš naujo patikrinti <a href="http://pixel.lt/tag/db" class="st_tag internal_tag" rel="tag" title="Posts tagged with db">DB</a> dydį, bet tai sąlyginai mažai resursų reikalaujantis procesas (pas mane tik ~10 lentelių o ne 200+), ir pasitelkus &#8220;STORED PROCEDURES&#8221; tikrinimas vyksta ne pas klientą o pačioje <a href="http://pixel.lt/tag/dbvs" class="st_tag internal_tag" rel="tag" title="Posts tagged with DBVS">DBVS</a>, nenaudojamas tinklo srautas.</li>
</ul>

	Gairės: <a href="http://pixel.lt/tag/db" title="db" rel="tag">db</a>, <a href="http://pixel.lt/tag/dbms" title="DBMS" rel="tag">DBMS</a>, <a href="http://pixel.lt/tag/dbvs" title="DBVS" rel="tag">DBVS</a>, <a href="http://pixel.lt/tag/limits" title="limits" rel="tag">limits</a>, <a href="http://pixel.lt/tag/mysql" title="mysql" rel="tag">mysql</a>, <a href="http://pixel.lt/tag/sql" title="SQL" rel="tag">SQL</a>, <a href="http://pixel.lt/tag/stored-procedure" title="STORED PROCEDURE" rel="tag">STORED PROCEDURE</a>, <a href="http://pixel.lt/tag/trigger" title="TRIGGER" rel="tag">TRIGGER</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=hlMHFOYx8cE:euQGLHwxfgI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/hlMHFOYx8cE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/limituojam-mysql-duombazes-dydi-su-paciu-mysql.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Banklink - realizuojam SEB ir Hanza bankams</title>
		<link>http://pixel.lt/bankilink-realizuojam-seb-ir-hanza-bankams.html</link>
		<comments>http://pixel.lt/bankilink-realizuojam-seb-ir-hanza-bankams.html#comments</comments>
		<pubDate>Wed, 23 Apr 2008 16:20:08 +0000</pubDate>
		<dc:creator>remdex</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[banklink]]></category>

		<category><![CDATA[hanza]]></category>

		<category><![CDATA[seb]]></category>

		<guid isPermaLink="false">http://pixel.lt/?p=691</guid>
		<description><![CDATA[Turbūt daugelis elektroninių parduotuvių šiuo metu turi integruotus elektroninius mokėjimus. Pabandysiu pateikti nuoseklią seką būtiną realizuojant mokėjimus PHP. Visų pirma pateikiu seką būtiną sertifikatų generavimui.
Norint pradėti realizaciją mums būtina susigeneruoti sertifikatą ir privatų raktą.
Taigi pradedam:

openssl req -new -out cert_request.pem -keyout private_key.pem

Generacijos metu reikės įvesti informaciją, kaip elektroninio pašto adresas kompanijos pavadinimas ir t.t. Iš esmės [...]]]></description>
			<content:encoded><![CDATA[<p>Turbūt daugelis elektroninių parduotuvių šiuo metu turi integruotus elektroninius mokėjimus. Pabandysiu pateikti nuoseklią seką būtiną realizuojant mokėjimus <a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">PHP</a>. Visų pirma pateikiu seką būtiną sertifikatų generavimui.</p>
<p>Norint pradėti realizaciją mums būtina susigeneruoti sertifikatą ir privatų raktą.<br />
Taigi pradedam:</p>
<pre>
openssl req -new -out cert_request.pem -keyout private_key.pem
</pre>
<p>Generacijos metu reikės įvesti informaciją, kaip elektroninio pašto adresas kompanijos pavadinimas ir t.t. Iš esmės vienintelė bankui rūpima informacija - tai elektroninio pašto adresas. Po šios operacijos bus sugeneruoti du failai:</p>
<ul>
<li> cert_request.pem</li>
<li> private_key.pem</li>
</ul>
<p>Pirmasis failas tai mūsų viešas raktas, kurio informaciją galime peržiūrėti komanda:</p>
<pre>
openssl req -text -noout -in cert_request.pem
</pre>
<p>Antrasis bus naudojamas susigeneruoti parduotuvės sertifikatą. Tačiau dabartinis privatus raktas yra apsaugotas slaptažodžiu, o mums reikia privataus rakto neapsaugoto slaptažodžiu. Taigi susigeneruojam privatų raktą neapsaugotą slaptažodžiu, kuris bus naudojamas taip ogo parduotuvės siunčiamiems duomenimis pasirašyti.</p>
<pre>
openssl rsa -in private_key.pem -out new_private_key.pem
</pre>
<p>Šio proceso metu reikės įvesti anksčiau įvestą slaptažodį, kuris buvo panaudotas generuojant privatų raktą pirmąja komanda. Taigi kai turime privatų raktą neapsaugotą slaptažodžiu galime sugeneruoti parduotuvės sertifikatą:</p>
<pre>
openssl req -new -x509 -days 720 -key new_private_key.pem -out rsa_new.crt
</pre>
<p>Bus sugeneruotas naujas failas rsa_new.crt tai ir bus mūsų sertifikatas. Kuris sutarties pasirašymo metu yra siunčiamas bankui. Bankas visus siunčiamus mūsų pranešimas patikrina remiantis šiuo sertifikatu.<br />
Kai turim parduotuvės sertifikatą galime judėti toliau. Standartiškai testuojant bankas duoda kažkokį savo sertifikatą. Šiuo atveju kadangi jo neturim susigeneruojam jį tokia pat tvarka kaip ir generavom parduotuvės sertifikatą.</p>
<pre>
openssl req -new -out cert_request.pem -keyout private_key.pem
openssl rsa -in private_key.pem -out new_private_key.pem
openssl req -new -x509 -days 720 -key new_private_key.pem -out rsa_new.crt
</pre>
<p>Kad būtų aiškiau pasidariau tokią katalogų struktūrą:</p>
<ul>
<li><a href="http://pixel.lt/tag/seb" class="st_tag internal_tag" rel="tag" title="Posts tagged with seb">seb</a>
<ul>
<li>crtshop</li>
<li>crt</li>
</ul>
</li>
<li><a href="http://pixel.lt/tag/hanza" class="st_tag internal_tag" rel="tag" title="Posts tagged with hanza">hanza</a>
<ul>
<li>crtshop</li>
<li>crt</li>
</ul>
</li>
<li>classes
<ul>
<li> <a href="http://pixel.lt/tag/hanza" class="st_tag internal_tag" rel="tag" title="Posts tagged with hanza">hanza</a>.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a></li>
<li> hanzatest.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a></li>
</ul>
</li>
<li>index.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a></li>
<li>verify.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a></li>
<li>server.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a></li>
</ul>
<p>Kai turime sertifikatus atitinkamuose kataloguose crtshop - parduotuvės sertifikatas, crt - tariamo banko sertifikatas. Galime pradėti realizaciją. Realizacija iš esmės nėra sudėtinga. Visas veiksmas vyksta daugmaž tokia tvarka:</p>
<li>parduotuvė siunčia pranešimą pasirašytu savo slaptuoju raktu. Pranešimą standartiškai sudaro VK_MAC reikšmė. Ši reikšmė sudaroma iš pirkinio informacijos ir užkoduojama parduotuvės slaptuoju raktu;</li>
<li>bankas gavęs pranešimą patikrina pranešimo autentiškumą su parduotuvės sertifikatu ir sulygina gautą reikšmę su VK_MAC reikšme;</li>
<li>vyksta veiksmai banko sistemoje;</li>
<li>bankas grąžina atsakymą pasirašytą savo privačiu raktu. Parduotuvė patikrina pranešimo autentiškumą naudodamasi banko sertifikatu.</li>
</ul>
<p>Taigi visas mechanizmas gan paprastas.<br />
Kadangi pagrindinė problema susijusi su testavimu, kuris įmanomas tik kai bankas įjungia sąsaja. Sukūriau šiokį tokį frameworką testavimui. Iš esmės jo veikimas identiškas bankų veikimui.<br />
index.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a> failas sugeneruoja parduotuvės užklausą bankui.<br />
server.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a> patikrina ar atėję parametrai buvo pasirašyti parduotuvės<br />
verify.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a> ar atsakymas atėjo iš serverio.</p>
<p>Iš esmės dabar turėtų eiti <a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a> kodo dalis, bet jo pastinimas manyčiau būtų netikslingas - tai pateikiu realizuotą sistemą, kurią galite parsisiųsti iš <a href='http://pixel.lt/wp-content/uploads/2008/04/banklinktgz.gz' target='_blank' title='banklink pavyzdys'>čia</a></p>
<p>Realizacija nėra sudėtinga, kai žinai ką reikia daryti. Pateiktame pavyzdyje realizacija pritaikyta <a href="http://pixel.lt/tag/hanza" class="st_tag internal_tag" rel="tag" title="Posts tagged with hanza">Hanza</a> bankui, bet <a href="http://pixel.lt/tag/seb" class="st_tag internal_tag" rel="tag" title="Posts tagged with seb">SEB</a> bankui viskas vyksta taip pat. Kodas gal ir nėra idealiai švarus, tačiau man ir tokio būtų užtekę, kai ieškojau informacijos apie <a href="http://pixel.lt/tag/banklink" class="st_tag internal_tag" rel="tag" title="Posts tagged with banklink">banklink</a> realizaciją. Trumpai tariant gal pravers kam nors. :)</p>

	Gairės: <a href="http://pixel.lt/tag/banklink" title="banklink" rel="tag">banklink</a>, <a href="http://pixel.lt/tag/hanza" title="hanza" rel="tag">hanza</a>, <a href="http://pixel.lt/tag/php" title="PHP" rel="tag">PHP</a>, <a href="http://pixel.lt/tag/seb" title="seb" rel="tag">seb</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=tECeCBl3UW0:eNW3bvoyjuY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/tECeCBl3UW0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/bankilink-realizuojam-seb-ir-hanza-bankams.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Ubucon’08 Vilniuje</title>
		<link>http://pixel.lt/ubucon08-vilniuje.html</link>
		<comments>http://pixel.lt/ubucon08-vilniuje.html#comments</comments>
		<pubDate>Mon, 21 Apr 2008 10:17:00 +0000</pubDate>
		<dc:creator>sirex</dc:creator>
		
		<category><![CDATA[Kita]]></category>

		<category><![CDATA[konferencija]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://pixel.lt/?p=690</guid>
		<description><![CDATA[Naujos Ubuntu versijos išleidimo proga, Vilniuje, gegužės 17 d. šeštadienį, 11:00 vyks Ubucon&#8217;08. Tai renginys, kurio metu bus skaitomi pranešimai apie Ubuntu ir Baltix. Tačiau pagrindinė renginio dalis – masinis naujų Ubuntu ir Baltix versijų diegimas. Kviečiami visi besidomintys Linux ar paprasčiausiai norintys susipažinti su šia puikia operacine sistema.
Po kelių Install Fest renginių Kaune, pagaliau [...]]]></description>
			<content:encoded><![CDATA[<p>Naujos <em><a href="http://pixel.lt/tag/ubuntu" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">Ubuntu</a></em> versijos išleidimo proga, Vilniuje, gegužės 17 d. šeštadienį, 11:00 vyks Ubucon&#8217;08. Tai renginys, kurio metu bus skaitomi pranešimai apie <em><a href="http://pixel.lt/tag/ubuntu" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">Ubuntu</a></em> ir <em>Baltix</em>. Tačiau pagrindinė renginio dalis – masinis naujų <em><a href="http://pixel.lt/tag/ubuntu" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">Ubuntu</a></em> ir <em>Baltix</em> versijų diegimas. Kviečiami visi besidomintys Linux ar paprasčiausiai norintys susipažinti su šia puikia operacine sistema.</p>
<p>Po kelių <em>Install Fest</em> renginių Kaune, pagaliau kažkas panašaus vyks ir Vilniuje. Todėl visi vilniečiai neturėję galimybių atvykti į Kauną, dabar galės susipažinti su <em>Linux</em> ir savo mieste. Renginys vyks VU Matematikos ir Informatikos fakultete.</p>
<p>Mintis apie šį renginį kilo planuojant <em>„Hardy Release Party“</em>, kuris anksčiau apsiribodavo pasisėdėjimu Forto Dvare. Šį kartą sumąstėme padaryti kažką įdomiau ir visa tai išsirutuliojo iki <a href="http://www.ubuntu.lt/ubucon">Ubucon&#8217;08</a>.</p>
<p>Renginio metu prieš diegynę išgirsite kelis pranešėjus, kurie papasakos, kas yra atviras kodas, <em>Linux</em>, <em><a href="http://pixel.lt/tag/ubuntu" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">Ubuntu</a></em> ir <em>Baltix</em>. Sužinosite nuo ko visa tai prasidėjo ir į ką išaugo. Po pranešimų vyks du diegynės etapai. Pirmajame etape, pažingsniui bus aiškinama kaip diegti <em><a href="http://pixel.lt/tag/ubuntu" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">Ubuntu</a></em>, visa tai matysite dideliame ekrane, kur pranešėjas sustos ties kiekvienu žingsniu ir papasakos detaliau apie tai kas daroma. Po to prasidės antrasis etapas, kurio metu sužinosite kaip pritaikyti savo poreikiams naujai suinstaliuotą sistemą. Sužinosite apie dažniausiai naudojamas programas ir jų privalumus. Žinoma patys taip pat galėsite užduoti klausimus.</p>
<p>Visus norinčius renginio metu įsidiegti <em><a href="http://pixel.lt/tag/ubuntu" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">Ubuntu</a></em> į savo kompiuterius prašome <a href="http://www.ubuntu.lt/ubucon/?page=registracija">užsiregistruoti Ubucon&#8217;08 svetainėje</a>. Registracija reikalinga tam, kad žinotume su kokia kompiuterio technika turėsime reikalų ir galėtume tam pasiruošti.</p>
<p><strong>Tiksli informacija apie renginį.</strong></p>
<ul>
<li><strong>Renginio svetainė:</strong> <a href="http://www.ubuntu.lt/ubucon">ubuntu.lt/ubucon</a></li>
<li><strong>Laikas:</strong> 2008 m. gegužės 17 d. šeštadienį, 11:00</li>
<li><strong>Vieta:</strong> VU Matematikos ir Informatikos fakultetas, 101 auditorija (Naugardugo g. 24, Vilnius)</li>
</ul>
<p>Renginį organizuoja Lietuvos <a href="http://pixel.lt/tag/ubuntu" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">Ubuntu</a> bendruomenė.</p>

	Gairės: <a href="http://pixel.lt/tag/konferencija" title="konferencija" rel="tag">konferencija</a>, <a href="http://pixel.lt/tag/ubuntu" title="Ubuntu" rel="tag">Ubuntu</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=l7R3aLyzEKc:7ua4Vumu0Ek:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/l7R3aLyzEKc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/ubucon08-vilniuje.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Zend Framework + Smarty</title>
		<link>http://pixel.lt/zend-framework-smarty.html</link>
		<comments>http://pixel.lt/zend-framework-smarty.html#comments</comments>
		<pubDate>Fri, 11 Apr 2008 11:04:53 +0000</pubDate>
		<dc:creator>NePo</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Smarty]]></category>

		<category><![CDATA[template]]></category>

		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://pixel.lt/?p=680</guid>
		<description><![CDATA[Reikia pripažinti, jog žmonių požiūris keičiasi ir kartais labai drastiškai. Atsimenu prieš porą metų aš niekaip negalėjau suprasti kam reikalingi template, juk jie stabdo. Dabar aš negaliu suprasti, kaip galima sukurti tinklalapį nenaudojant template, juk maišyti html ir php kodą yra šlykštu.
Vedamas savo naujausių religinių įsitikinimų (jeigu dar nesupratote šis straipsnis apie religiją, dogmas ir [...]]]></description>
			<content:encoded><![CDATA[<p>Reikia pripažinti, jog žmonių požiūris keičiasi ir kartais labai drastiškai. Atsimenu prieš porą metų aš niekaip negalėjau suprasti kam reikalingi <a href="http://pixel.lt/tag/template" class="st_tag internal_tag" rel="tag" title="Posts tagged with template">template</a>, juk jie stabdo. Dabar aš negaliu suprasti, kaip galima sukurti tinklalapį nenaudojant <a href="http://pixel.lt/tag/template" class="st_tag internal_tag" rel="tag" title="Posts tagged with template">template</a>, juk maišyti html ir <a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a> kodą yra šlykštu.<br />
Vedamas savo naujausių religinių įsitikinimų (jeigu dar nesupratote šis straipsnis apie religiją, dogmas ir kitus panašius dalykus) vos tik pabandęs <a href="http://pixel.lt/tag/zend-framework" class="st_tag internal_tag" rel="tag" title="Posts tagged with Zend Framework">Zend framework</a> supratau ko man trūksta, labai trūksta - <a href="http://pixel.lt/tag/smarty" class="st_tag internal_tag" rel="tag" title="Posts tagged with Smarty">Smarty</a>. Iš karto pradėjau melstis interneto dievui, taip, taip  - Google, kad nušviestų mano protą ir nuvestų dora nuoroda. Ir man beveik pasisekė. Radau netgi keturis straipsnius: <a href="http://framework.zend.com/manual/en/zend.view.scripts.html">Template Systems Using Zend_View_Interface</a>, <a href="http://devzone.zend.com/node/view/id/120">Integrating Smarty with the Zend Framework</a>, <a href="http://kpumuk.info/php/zend-framework-using-smarty-as-template-engine/">Zend Framework: Using Smarty as template engine</a>, <a href="http://naneau.nl/2007/05/31/using-naneau_view_smarty-with-rc1/">Using Naneau_View_Smarty with RC1</a>, tačiau nei vienas straipsnis man nepatiko, dėl labai paprastos priežasties: man kaip ateistui svarbiausia veikiantis kodas, o kitas dogmas aš išsiaiškinsiu pats. Taigi&#8230;</p>
<p>Aš tikrai čia nesukūriau dar vieno super magiško geresnio būdo integruoti <a href="http://pixel.lt/tag/zend-framework" class="st_tag internal_tag" rel="tag" title="Posts tagged with Zend Framework">Zend framework</a> bei <a href="http://pixel.lt/tag/smarty" class="st_tag internal_tag" rel="tag" title="Posts tagged with Smarty">Smarty</a>, aš tiesiog remdamasis tuo, ką perskaičiau pabandžiau sukurti puslapį, kad nereiktų sukti galvos kokį tinklalapį kurti, pasinaudojau mūsų anksčiau sukurtu <a href="http://www.nepo.lt/siuntiniai/php/zendfr1/notebook.zip">notebook</a>, apie kurį buvo rašyta <a href="http://pixel.lt/norit-php-sudetingai.html">čia</a> ir <a href="http://pixel.lt/zend-framework-prisijungimas.html">čia</a>.<br />
Ilgai negalvodamas griebiau <a href="http://framework.zend.com/manual/en/zend.view.scripts.html">pirmą pavyzdį</a> ir pabandžiau pritaikyti. Kas gavosi? Ne kas&#8230;<br />
Pirmiausia tai norit daryti include reikia nurodyti absoliutų kelią, kas atrodytų maždaug taip:</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #b1b100;">require_once</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;./application/smarty_view.php&quot;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Taip greičiausiai atsitiko dėl to, kad aš kažko prikodinau kurdamas notebook projektą. Toliau pastebėjau, jog metodo <em>setScriptPath</em> neužtenka, pasirašiau tokį patį kuris nustato kelią iki <em>compile_dir</em>. O pats įdomiausias dalykas, kad po to jis vis tiek kreipiasi į <em>view/index.phtml</em>&#8230; Ką aš dar galiu pasakyti&#8230;<br />
Patyrinėjęs atidžiau tą pavyzdį supratau vieną dalyką, pažiūrėkite patys:<br />
Pirma dalis</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #0000ff;">$rendered</span> = <span style="color: #0000ff;">$view</span>-&gt;<span style="color: #006600;">render</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'bookinfo.tpl'</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Antra dalis</p>

<div class="wp_syntax"><div class="code"><pre class="php">    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> render<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$name</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#123;</span> 
        <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$this</span>-&gt;_smarty-&gt;<span style="color: #006600;">fetch</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$name</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Kaip jūs manote kokia bus <em>$rendered</em> reikšmė? O gi visas išspausdintas <a href="http://pixel.lt/tag/template" class="st_tag internal_tag" rel="tag" title="Posts tagged with template">template</a> ir ką man su juo daryti?<br />
Tiesa, <em>return</em> galima pakeisti į <em>echo</em>, arba <em>fetch</em> į <em>display</em>. Bet šitas pakeitimas vis tiek neišsprendžia vieno dalyko: vis tiek reikia kiekvienam <em>controler</em>&#8216;ui kurti po vaizdinį, nors ir tuščią. Koks mulkis, kurtų daug tuščių <em>view</em> failų, tam kad jo sistema veiktų?<br />
Po ilgų instrukcijų skaitymo pagaliau įrašiau tokią eilutę:</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #0000ff;">$this</span>-&gt;_helper-&gt;<span style="color: #006600;">viewRenderer</span>-&gt;<span style="color: #006600;">setNoRender</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Ir mano nuostabai jinai suveikė, nors nelabai supratau kodėl. Tiesa, remiantis instrukcija, ta eilutė išjungia <em>view</em> failo generavimą tik vienam <em>action</em>, bet tai jau pradžia, kas nors žino geresnį variantą?</p>
<p>Apibendrinkime, ką per ilgas kančias pavyko pasiekti: mes galim pakeisti vieną <em>action</em> ir vietoj standartinio <em>zend_view</em>, visa bėda, kad jeigu norėsime pakeisti vietoj visų, teks kopijuoti daug kodo, kas man visai nėra miela&#8230; Pabandysiu padaryti kas išeis, bet labai tikiuosi ir jūsų pagalbos.</p>
<p>Dabar susimąsčiau, o kam man tas <a href="http://pixel.lt/tag/smarty" class="st_tag internal_tag" rel="tag" title="Posts tagged with Smarty">smarty</a>&#8230; Matote iki šiol dirbom teoriniame lygyje tikėdamiesi, jog praktikoje viskas su realiais duomenimis veiks puikiai&#8230; Nė velnio! Pasirodo, anksčiau parašytas projektas <em>notebook</em> duomenis grąžina <em>Zend_Db_Table_Rowset</em>, kuris paprastai nenori būti masyvu.  </p>
<p>Tiek to sureagavau per daug karštai, tiesiog jau nusibodo knistis po instrukcijas, problema išsisprendžia gana lengvai:</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #0000ff;">$note</span>-&gt;<span style="color: #006600;">fetchAll</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>-&gt;<span style="color: #006600;">toArray</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Kaip matote paversti į masyvą viską labai lengva. </p>
<p>Kad nereiktų šimtus kartų kurti objekto, kuris dirba su <a href="http://pixel.lt/tag/smarty" class="st_tag internal_tag" rel="tag" title="Posts tagged with Smarty">smarty</a>, visą kūrimą iškeliam į <em>index.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a></em> failą, o sukurtą objektą užregistruojam.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #0000ff;">$view</span> = <span style="color: #000000; font-weight: bold;">new</span> Zend_View_Smarty<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$view</span>-&gt;<span style="color: #006600;">setScriptPath</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'./smarty/templates'</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$view</span>-&gt;<span style="color: #006600;">setCompilePath</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'./smarty/templates_c'</span><span style="color: #66cc66;">&#41;</span>;
Zend_Registry::<span style="color: #006600;">set</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'view'</span>, <span style="color: #0000ff;">$view</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Toliau kiekviename action tereikia išsitraukti $view iš registro ir galima su juo dirbti</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #0000ff;">$view</span> = Zend_Registry::<span style="color: #006600;">get</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'view'</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Kažkoks Emo įrašas gavosi, bet, rodos, tai svarbiau negu ką norėjau pasakyti, daugiau <a href="http://www.nepo.lt/siuntiniai/php/zendfr1/notebook-103.zip">pamatysite parsisiuntę kodą</a>. </p>
<p>Tiesa, originalus notebook projektas buvo sukurtas ant <a href="http://pixel.lt/tag/zend-framework" class="st_tag internal_tag" rel="tag" title="Posts tagged with Zend Framework">zend framework</a> 1.0.3 versijos, ar jis veiks ant naujesnės 1.5.1? Patikrinkim.<br />
Deja, atrodo atsirado kai kurių pakeitimų, bibliotekų užkrovime. Hm&#8230; kažkaip einam tolyn, bet gaunasi ne progresas, o regresas. Anksčiau visas direktorijas buvo galima nurodyti su komanda <strong>set_include_path</strong>, tačiau 1.5.1 versija kažkaip įsigudrino ignoruoti šį parametrą, todėl dabar prie savo sukurtų klasių reikia nurodyti ir direktoriją, kuriose jos yra, atrodo šitaip</p>

<div class="wp_syntax"><div class="code"><pre class="php">Zend_Loader::<span style="color: #006600;">loadClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Zend_View_Smarty'</span>,<span style="color: #ff0000;">'./library/'</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><a href="http://www.nepo.lt/siuntiniai/php/zendfr1/notebook-151.zip">Kodas</a> su viena pataisyta eilute.</p>
<p>Ką manote apie tokį <a href="http://pixel.lt/tag/zend-framework" class="st_tag internal_tag" rel="tag" title="Posts tagged with Zend Framework">Zend framework</a> ir <a href="http://pixel.lt/tag/smarty" class="st_tag internal_tag" rel="tag" title="Posts tagged with Smarty">Smarty</a> apjungimą? Ar galite pasiūlyti ką patobulinti esamame būde, ar geriau pabandyti kurį nors kitą?</p>

	Gairės: <a href="http://pixel.lt/tag/smarty" title="Smarty" rel="tag">Smarty</a>, <a href="http://pixel.lt/tag/template" title="template" rel="tag">template</a>, <a href="http://pixel.lt/tag/zend-framework" title="Zend Framework" rel="tag">Zend Framework</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=PE3rTPH-jyk:Qw522OUz-4o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/PE3rTPH-jyk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/zend-framework-smarty.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>RubyConfLT 1.2008</title>
		<link>http://pixel.lt/rubyconflt-1-2008.html</link>
		<comments>http://pixel.lt/rubyconflt-1-2008.html#comments</comments>
		<pubDate>Tue, 08 Apr 2008 10:14:51 +0000</pubDate>
		<dc:creator>arturaz</dc:creator>
		
		<category><![CDATA[Kita]]></category>

		<category><![CDATA[konferencija]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://pixel.lt/?p=689</guid>
		<description><![CDATA[Programuoji? Programuoji “web’ui”? Programuoji, tačiau programavimas nesijaučia “fun”? Ko gero tau reikia susipažinti su Ruby - programavimo kalba, darančia programuotojus laimingais ;)
Užsuk į Ruby konferenciją ir sužinok, jog programuoti galima ir mėgaujantis ;)
Laukiami ne vien “web developeriai”, tačiau ir žmonės norintys susipažinti su kalba, jos ideologija ir principais stovinčiais už jos.
Temos:

Artūras ‘arturaz’ Šlajus

How I fell [...]]]></description>
			<content:encoded><![CDATA[<p>Programuoji? Programuoji “web’ui”? Programuoji, tačiau programavimas nesijaučia “fun”? Ko gero tau reikia susipažinti su <strong><a href="http://pixel.lt/tag/ruby" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ruby">Ruby</a></strong> - programavimo kalba, darančia programuotojus laimingais ;)<br />
Užsuk į <a href="http://pixel.lt/tag/ruby" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ruby">Ruby</a> konferenciją ir sužinok, jog programuoti galima ir mėgaujantis ;)</p>
<p>Laukiami ne vien “web developeriai”, tačiau ir žmonės norintys susipažinti su kalba, jos ideologija ir principais stovinčiais už jos.</p>
<p><strong>Temos:</strong></p>
<ul>
<li>Artūras ‘arturaz’ Šlajus
<ul>
<li>How I fell in love (and started abusing) <a href="http://pixel.lt/tag/ruby" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ruby">Ruby</a></li>
<li>Rails? Čia tas naujas serialas iš Meksikos?</li>
<li>(Į)skiepai nuo galvasopio</li>
<li>Pažintis su CRUD-oriented architektūros kūrimu</li>
<li>Rails profilingas ir optimizavimas</li>
</ul>
</li>
<li>Eimantas ‘enc’ Vaičiūnas
<ul>
<li>UJS: nepiktas HTML tiuningas su unobtrusive Javascript</li>
</ul>
</li>
<li>Saulius Grigaitis
<ul>
<li>Testavimas su RSpec/Selenium/Watir</li>
<li>Saugus seksas su Rails</li>
<li>Rails “deploy’inimas” lengvai</li>
</ul>
</li>
<li>Fiodor Vereščiaka
<ul>
<li>MERB: WEB’as su <a href="http://pixel.lt/tag/ruby" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ruby">Ruby</a> tai ne tik Rails (+ data_mapper)</li>
</ul>
</li>
<li>Laurynas Liutkus
<ul>
<li><a href="http://pixel.lt/tag/ruby" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ruby">Ruby</a> and C - make love, not war</li>
</ul>
</li>
</ul>
<p>Trumpa programėlė:</p>
<ol>
<li>Įžanginės temos</li>
<li>Pertraukėlė kavai/picai/sumuštiniams</li>
<li>Tęsiam konferenciją toliau</li>
<li>Atvira diskusija - jūs klausiat, mes atsakom (o gal geriau atvirkščiai?)</li>
</ol>
<p>Taigi lauksime klausytojų, o taipogi gal ir atsiras kas nors dar norintis paplepėti? :)</p>
<p>Konferencijos stilius: neoficialus ir linksmas. <a href="http://pixel.lt/tag/ruby" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ruby">Ruby</a> tai ne Java, su <a href="http://pixel.lt/tag/ruby" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ruby">Ruby</a> reik programuot linksmai ;)</p>
<p><strong>Vieta:</strong> KTU Informacinių Technologijų Plėtros Institutas (ITPI, dar žinomas kaip Skaičiavimo Centras (SC)), <strong><a href="http://www.arturaz.net/blog/wp-content/uploads/2008/03/ktu_sc_maps_lt.png">Studentų g. 48A</a></strong>, Kaunas.<br />
<strong>Pradžia:</strong> 2008 m. balandžio 13 d., sekmadienis, 11:00.<br />
Įėję į pastatą rasite rodykles vedančias jus į patalpas, kuriose ir plepėsim.<br />
Kaip nusigauti iki pastato? Na yra du būdai: <a href="http://www.arturaz.net/blog/wp-content/uploads/2008/03/ktu_sc_from_vilnius.jpg">su mašina</a> arba <a href="http://www.arturaz.net/blog/wp-content/uploads/2008/03/ktu_sc_from_bus_station.jpg">su autobusu</a>. Su traukiniu nepažįstantiems Kauno nelabai rekomenduoju, mat traukinių stotis (nuo Vilniaus pusės yra uždaryta, nes remontuojamas tunelis, ir tektų įdomiai po Kauną pasibaladoti, jog nusigauti iki SC)<br />
Taipogi galite pasinaudoti šiais nuostabiais įrankiais: <a href="http://marsrutai.lt/kaunas/?a=p.routes&amp;transport_id=search&amp;l=lt">optimalaus maršruto paieška</a> ir <a href="http://marsrutai.lt/kaunas/?a=p.routes&amp;transport_id=auto&amp;t=xhtml&amp;l=lt">trumpiausio kelio paieška</a>.<br />
<strong>DĖMĖSIO:</strong> jeigu sugalvotumėte atvykti, būtų malonu, jog užpildytumėte <a href="http://arturaz.net/blog/i-am-half-a-robot/ruby/rubyconflt-12008-apklausele-atvykstantiems/">šią trumpą formą</a>.<br />
Daugiau (pabiros) informacijos:</p>
<ul>
<li><a title="RubyConfLT spoiler!" href="http://www.arturaz.net/blog/i-am-half-a-robot/ruby/rubyconflt-spoiler/">RubyConfLT spoiler!</a></li>
<li><a title="Permanent Link to RubyConfLT 1 - šiek tiek info" href="http://www.arturaz.net/blog/gyvenimas/rubyconflt-1-siek-tiek-info/">RubyConfLT 1 - šiek tiek info</a></li>
</ul>
<p><br/></p>

	Gairės: <a href="http://pixel.lt/tag/konferencija" title="konferencija" rel="tag">konferencija</a>, <a href="http://pixel.lt/tag/ruby" title="Ruby" rel="tag">Ruby</a>, <a href="http://pixel.lt/tag/ruby-on-rails" title="Ruby On Rails" rel="tag">Ruby On Rails</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=JOdTvZVjtUc:fp8BcTHOBGM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/JOdTvZVjtUc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/rubyconflt-1-2008.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Registruokitės į PHP konferenciją 2008</title>
		<link>http://pixel.lt/registruokites-i-php-konferencija-2008-2.html</link>
		<comments>http://pixel.lt/registruokites-i-php-konferencija-2008-2.html#comments</comments>
		<pubDate>Mon, 07 Apr 2008 06:41:53 +0000</pubDate>
		<dc:creator>tygas</dc:creator>
		
		<category><![CDATA[Kita]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[php konferencija]]></category>

		<guid isPermaLink="false">http://pixel.lt/?p=687</guid>
		<description><![CDATA[
Sergej Kurakin - Pasiimam duomenis iš trečios šalies šaltinių
Emilis Dambauskas - Kodo interpretacija ir analizė
Rimtantas Liubertas, imCat - CSRF
Tomas Liubinas - Perfomance
Povilas Poderskis- PHP saugumas: sudėtingos atakos

Konferencijos pradžia: 10:00, Balandžio 12 d.
Vieta, kaip visad - KTU Informacinių Technologijų Plėtros Institutas, Studentų g. 48A, Kaunas

Registracija 
Turit klausimų? Rašykite.
Konferencijos rėmėjai - 
Kompanija ieškanti patyrusių programuotojų.

	Gairės: php konferencija
]]></description>
			<content:encoded><![CDATA[<ol>
<li>Sergej Kurakin - Pasiimam duomenis iš trečios šalies šaltinių</li>
<li>Emilis Dambauskas - Kodo interpretacija ir analizė</li>
<li>Rimtantas Liubertas, imCat - CSRF</li>
<li>Tomas Liubinas - Perfomance</li>
<li>Povilas Poderskis- <a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">PHP</a> saugumas: sudėtingos atakos</li>
</ol>
<p>Konferencijos pradžia: 10:00, Balandžio 12 d.</p>
<p>Vieta, kaip visad - KTU Informacinių Technologijų Plėtros Institutas, <a href="http://www.arturaz.net/blog/wp-content/uploads/2008/03/ktu_sc_maps_lt.png">Studentų g. 48A</a>, Kaunas<span style="x-small;"><strong><span style="#ffcc00;"><br />
</span></strong></span></p>
<p><a title="registraciją į PHP konferenciją 2008" href="http://www2.infosa.lt/infoshow/main.php/id/211/lang/1">Registracija </a></p>
<p>Turit klausimų? <a title="užduokite klausimus dėl php konferencijos" href="mailto:eimantas@tauklys.lt">Rašykite.</a></p>
<p>Konferencijos rėmėjai - <img src="http://www.oxid-esales.lt/out/oxbaseshop/html/0/images/nfq_partner.gif" alt="Net Frequence" width="92" height="29" /></p>
<p>Kompanija ieškanti patyrusių programuotojų.</p>

	Gairės: <a href="http://pixel.lt/tag/php-konferencija" title="php konferencija" rel="tag">php konferencija</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=gU3AL19rLe4:j1aEijDvw-g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/gU3AL19rLe4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/registruokites-i-php-konferencija-2008-2.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Kuriam savo TVS</title>
		<link>http://pixel.lt/kuriam-savo-tvs.html</link>
		<comments>http://pixel.lt/kuriam-savo-tvs.html#comments</comments>
		<pubDate>Mon, 31 Mar 2008 13:46:37 +0000</pubDate>
		<dc:creator>NePo</dc:creator>
		
		<category><![CDATA[Kita]]></category>

		<category><![CDATA[TVS]]></category>

		<guid isPermaLink="false">http://pixel.lt/kuriam-savo-tvs.html</guid>
		<description><![CDATA[Norėčiau pakviesti visus diskusijai apie tai, kas yra gera turinio valdymo sistema. Ne, teiginiai jog, &#8220;PHPnuke rulz&#8221; arba &#8220;Joomla zux&#8221; ne argumentas. Mes esame programuotojai, todėl pamėginkime išnarplioti&#8230; išardyti gerą turinio valdymo sistemą po kaulelį ir po to vėl surinkti.
Esu matęs ne vieną turinio valdymo sistemą ir mane labiausiai trikdydavo tai, kad kiekvienam moduliui būdavo [...]]]></description>
			<content:encoded><![CDATA[<p>Norėčiau pakviesti visus diskusijai apie tai, kas yra gera turinio valdymo sistema. Ne, teiginiai jog, <em>&#8220;PHPnuke rulz&#8221;</em> arba <em>&#8220;Joomla zux&#8221;</em> ne argumentas. Mes esame programuotojai, todėl pamėginkime išnarplioti&#8230; išardyti gerą turinio valdymo sistemą po kaulelį ir po to vėl surinkti.</p>
<p>Esu matęs ne vieną turinio valdymo sistemą ir mane labiausiai trikdydavo tai, kad kiekvienam moduliui būdavo mažiausiai po kelis vienodus failus. Įsivaizduokite, kad turime naujienų modulį tuomet mes greičiausiai turėsime <em>news.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a></em> ir <em>news.class.<a href="http://pixel.lt/tag/php" class="st_tag internal_tag" rel="tag" title="Posts tagged with PHP">php</a></em>, manote jog tai viskas? Klystate, tokius failus turėsime kliento ir administratoriaus dalyje, nesuprantu, kam reikalingas tų failų, tų pačių funkcijų dubliavimas.<br />
Kitas man nesuprantamas dalykas, tai kodėl norėdamas parašyti naują straipsnį turiu jungtis prie administravimo? Kodėl negalėtų būti tiesiog meniu punktas &#8220;rašyti&#8221; vartotojo dalyje? Ar tikrai reikia atskirti vartotojo ir administratoriaus dalis?<br />
Taigi, kuriam savo <a href="http://pixel.lt/tag/tvs" class="st_tag internal_tag" rel="tag" title="Posts tagged with TVS">TVS</a>. Nuo ko turėtume pradėti? Gal nuo failų struktūros. Šia tema <a href="http://pixel.lt/tag/pixellt" class="st_tag internal_tag" rel="tag" title="Posts tagged with Pixel.lt">Pixel.lt</a> buvo <a href="http://pixel.lt/php-programos-struktura.html">vienas straipsnis</a>, tačiau labai sukritikuotas. Todėl, matyt, reikėtų pradėti nuo pradžių.<br />
Greičiausiai CSS failus saugosime direktorijoje <em>css</em>, js - <em>scripts</em>, paveikslėlius - <em>images</em>, vartotojo įkeliamus failus - <em>files</em>. Gerai?<br />
O puslapio dizaino paveikslėlius kur saugoti <em>css/images</em> ar tiesiog <em>images</em>?<br />
Ar reikalinga galimybė lengvai pasikeisti puslapio dizainą? Jeigu taip, tai galbūt reiktų dizainus saugoti direktorijoje <em>themes/dizaino_pavadinimas</em>? Atitinkamai persikels ir css bei dizaino paveikslėlių failai į <em>themes/dizaino_pavadinimas/css</em> bei <em>themes/dizaino_pavadinimas/images</em>. Kita vertus, kaip dažnai jūs keičiate savo puslapio dizainą?<br />
Aš esu didelis <a href="http://pixel.lt/tag/smarty" class="st_tag internal_tag" rel="tag" title="Posts tagged with Smarty">Smarty</a> šalininkas, tačiau ar tikrai verta naudoti šablonų variklį? Jeigu taip, tai gal yra kas nors geriau už <a href="http://pixel.lt/tag/smarty" class="st_tag internal_tag" rel="tag" title="Posts tagged with Smarty">Smarty</a>?<br />
Pakalbėkime apie <a href="http://pixel.lt/tag/tvs" class="st_tag internal_tag" rel="tag" title="Posts tagged with TVS">TVS</a> varikliuką. Jeigu kalbėsim sąžiningai, tai funkcinis kodas veikia greičiau, tačiau ar 0.001 sekundė mums svarbi? Jeigu rašome objektiškai tai greičiausiai klases saugosim direktorijoje <em>classes</em>, o modulius - <em>modules</em>. Gerai?<br />
Duomenų bazė. Naudosime <a href="http://pixel.lt/tag/mysql" class="st_tag internal_tag" rel="tag" title="Posts tagged with mysql">Mysql</a>? O gal geriau susikurti failinę struktūrą ir viską saugoti xml, csv, ar kitokio tipo failuose?<br />
Dar vienas dalykas - kalbos, ar reikia daryti daugiakalbę sistemą ar užteks vienkalbės? Jeigu darome daugiakalbę, kaip tuomet daryti su vertimais? Talpinti duomenų bazėje? O gal geriau failuose? Kaip lengviausiai ir geriausiai padaryti vertimus, kad nereiktų vėliau dėl to gaišti daug laiko?<br />
Moduliai. Kokių modulių jums reikia? Man asmeniškai užtenka naujienų su komentavimo galimybe ir RSS, o jums?<br />
Niekada nesupratau, kam reikalingi tokie moduliai, kaip sistemos statistika arba naujienų prenumerata. Jeigu norite statistikos įsidedate Google Analytics, jis tikrai nėra vienintelis šioje srityje, tiesiog geriausiai žinomas. Jeigu norite naujienų prenumeratos, tai tuomet savo RSS paleidžiate per FeedBurner ir valio. O gal vis dėl to yra priežastys, kurti tokius modulius?<br />
Atrodo būsiu praleidęs vieną labai svarbią dalį: visą kodą rašyti savo ar galbūt naudotis kokiomis kodo bibliotekomis? <a href="http://pixel.lt/tag/zend-framework" class="st_tag internal_tag" rel="tag" title="Posts tagged with Zend Framework">Zend Framework</a>, prototype.js, jquerry, žinote dar kokią nors gerą?<br />
Ar projektui reiktų naudoti MVC, o gal yra kokia nors geresnė alternatyva?<br />
Tikiuosi išsamios diskusijos, pasiūlymų, idėjų, klausimų. Rėžkit viską nuo liežuvio galo, negailėkit klaviatūrų. Jeigu diskusija pavyks, pabandysiu parašyti dar vieną apibendrinantį straipsnį. O dabar laukiu jūsų komentarų.</p>

	Gairės: <a href="http://pixel.lt/tag/tvs" title="TVS" rel="tag">TVS</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=4zQ1QUp16Oc:Jx7UI93ZIrA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/4zQ1QUp16Oc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/kuriam-savo-tvs.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>BLOGin 2008 ir tinklaraščių rinkimai</title>
		<link>http://pixel.lt/blogin-2008-ir-tinklarasciu-rinkimai.html</link>
		<comments>http://pixel.lt/blogin-2008-ir-tinklarasciu-rinkimai.html#comments</comments>
		<pubDate>Fri, 28 Mar 2008 15:01:23 +0000</pubDate>
		<dc:creator>asterisk</dc:creator>
		
		<category><![CDATA[Pixel.lt]]></category>

		<category><![CDATA[blogin]]></category>

		<guid isPermaLink="false">http://pixel.lt/blogin-2008-ir-tinklarasciu-rinkimai.html</guid>
		<description><![CDATA[Sveiki,
jau turbūt daugelis iš jūsų girdėjote apie šiemet vykstančią tinklaraščių ir interneto konferenciją BLOGin 2008. Jeigu nežinojote, bet vis dar norite patekti - paskubėkite. Beliko mažiau negu 30 bilietų.
Taip pat šiemet vėl rengiami geriausių tinklaraščių rinkimai. Kadangi pernai mes jau laimėjome technologijų kategorijoje, šiemet nebeagituojam balsuoti už šį tinklaraštį. Tačiau visgi, noriu pasiūlyti balsuoti ir [...]]]></description>
			<content:encoded><![CDATA[<p>Sveiki,<br />
jau turbūt daugelis iš jūsų girdėjote apie šiemet vykstančią tinklaraščių ir interneto konferenciją <a href="http://www.blogin.lt">BLOGin 2008</a>. Jeigu nežinojote, bet vis dar norite patekti - paskubėkite. <a href="http://www.blogin.lt/paskutiniai-bilietai-ir-paskutine-registracijos-diena/" title="Beliko mažiau negu 30 bilietų" target="_blank">Beliko mažiau negu 30 bilietų</a>.</p>
<p>Taip pat šiemet vėl rengiami geriausių tinklaraščių rinkimai. Kadangi pernai mes jau laimėjome technologijų kategorijoje, šiemet nebeagituojam balsuoti už šį tinklaraštį. Tačiau visgi, noriu pasiūlyti balsuoti ir pareikšti nuomonę apie geriausius tinklaraščius. Kai kam tai bus motyvacija pasistengti labiau. Tai atlikti galima Alfa.lt portale - &#8220;<a href="http://alfa.lt/konkursoDalyviai/204" title="BLOGin 2008: Geriausių tinklaraščių rinkimai" target="_blank">BLOGin 2008: Geriausių tinklaraščių rinkimai</a>&#8220;.<br />
Taip kaip ir kitos tematikos blogas - <a href="http://dievuziniasklaida.blogas.lt/362481/rekomenduoju-tinklarasciai.html" target="_blank" title="Rekomenduoju ||| Tinklaraščiai">Dievų Žiniasklaida</a>, norėčiau pristatyti kolegas iš technologijų kategorijos.</p>
<ul>
<li><a href="http://www.nejau.net" target="_blank" title="http://www.nejau.net">A. Aleksandravičius http://www.nejau.net</a> - asmeniškai šio blogo neskaitau, tačiau jis turi beveik 100 prenumeratorių.</li>
<li><a href="http://www.aurimas.eu" target="_blank" title="www.aurimas.eu">Aurimas Online www.aurimas.eu</a> - šiuo metu aprimęs, tačiau rašo įdomiai.
</li>
<li>
<a href="http://Blogas.lt/Internetas" target="_blank" title="Blogas.lt/Internetas">Blogas.lt/Internetas</a> - pristatyti šio blogo turbūt nereikia. Jį privalote skaityti visi. Įvairios &#8220;slaptos&#8221; naujienos/gandai, kurie būna tikslūs. Ir stebėtinas anonimiškumas.</li>
<li><a href=" http://boom.lt/" target="_blank" title=" http://boom.lt/">http://boom.lt/</a> - programinės įrangos blogas. Jame rašyti galite visi, lygiai taip kaip ir <a href="http://pixel.lt/tag/pixellt" class="st_tag internal_tag" rel="tag" title="Posts tagged with Pixel.lt">Pixel.lt</a>. Asmeniškai aš balsavau už jį (aišku, todėl, kad esu administratorius :) ).</li>
<li>
<a href="http://InformacijosApsauga.lt" target="_blank" title="InformacijosApsauga.lt">InformacijosApsauga.lt</a> - įdomus tinklaraštis apie informacijos apsaugą Lietuvoje. Jeigu turėčiau tris balsus - trečiasis būtų atitekęs jam.</li>
<li>
<a href="http://www.nezinau.lt" target="_blank" title="www.nezinau.lt">www.nezinau.lt</a> - vėlgi, šio tinklaraščio pristatinėti turbūt nereikia. Pernai metais jam nepasisekė laimėti, šiais metais jis yra ryškus lyderis (bent jau šio straipsnio rašymo metu).</li>
<li><a href="http://pawka.linija.net" target="_blank" title="http://pawka.linija.net">Povilas Balzaravičius http://pawka.linija.net/</a> - šis žmogus rašo nedažnai, bet jo pamąstymai ir straipsniai verti dėmesio. Beje, jis yra parašęs ir į <a href="http://pixel.lt/tag/pixellt" class="st_tag internal_tag" rel="tag" title="Posts tagged with Pixel.lt">Pixel.lt</a></li>
<li><a href="http://www.radiocool.lt" target="_blank" title="www.radiocool.lt">www.radiocool.lt</a> - puiki gizmodo.com alternatyva Lietuvoje. Netgi geresnė - ne toks didelis srautas, o sužinai daug.</li>
<li><a href="http://tikra.info" target="_blank" title="http://tikra.info">http://tikra.info</a> - &#8220;tik tikra informacija&#8221;. IT naujienos ir pan. Kada nors tokie blogai nukonkuruos Delfi`us :)</li>
<li><a href="http://www.zilionis.net" target="_blank" title="Vaidas Žilionis">Vaidas Žilionis http://www.zilionis.net/</a> - be komentarų. Daug kam žinomas - rašo aktualiai ir pateikia įdomią informaciją.</li>
<li><a href="http://emptydot.com/vidmantas" target="_blank" title="Vidmantas // emptydot.com">Vidmantas // emptydot.com</a> - programuotojas, įdomus žmogus ir tikrai vertas dėmesio blogeris. Bei vienas iš tų kelių lietuvių blogerių, kurie yra mano prenumeruojamų RSS sąraše.</li>
</ul>
<p></p>
<p>Ką gi, pasirinkimas didelis. Pareikškit savo balsą - blogeriams jo reikia. P.s. palaikyti galite ir vieno iš mūsų administratorių, NePo, komiksų tinklaraštį <a href="http://Co.Nepo.lt">Co.Nepo.lt</a> kategorijoje &#8220;Medijos&#8221;. :)</p>
<p>Susitiksim <a href="http://pixel.lt/tag/blogin" class="st_tag internal_tag" rel="tag" title="Posts tagged with blogin">BLOGin</a> 2008!</p>
<p><strong>Atnaujinimas 2008-03-39 17:05:</strong> už <a href="http://pixel.lt/tag/pixellt" class="st_tag internal_tag" rel="tag" title="Posts tagged with Pixel.lt">pixel.lt</a> balsuojama nesąžiningai. Gavome informacijos iš organizatorių, jog panaudoti ir užsienio IP adresai. <a href="http://pixel.lt/tag/pixellt" class="st_tag internal_tag" rel="tag" title="Posts tagged with Pixel.lt">Pixel.lt</a> nepritaria tokiems žingsniams ir jau yra sprendžiami tolimesni veiksmai. Pirmadienį organizatoriai nuspręs ar <a href="http://pixel.lt/tag/pixellt" class="st_tag internal_tag" rel="tag" title="Posts tagged with Pixel.lt">pixel.lt</a> pasitrauks iš balsavimo, ar bus imtasi kitų priemonių.<br />
P.s. kad ir kas taip elgiasi, žinokite, jog tai mums naudos neduoda.</p>

	Gairės: <a href="http://pixel.lt/tag/blogin" title="blogin" rel="tag">blogin</a>, <a href="http://pixel.lt/tag/pixellt" title="Pixel.lt" rel="tag">Pixel.lt</a>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Pixel?a=ujbMEgB1URw:M_RMcFhtVIo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Pixel?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Pixel/~4/ujbMEgB1URw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://pixel.lt/blogin-2008-ir-tinklarasciu-rinkimai.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

