<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>arvydas.net &#187; Programavimas</title>
	<atom:link href="http://www.arvydas.net/category/programavimas/feed" rel="self" type="application/rss+xml" />
	<link>http://www.arvydas.net</link>
	<description>Arvydo asmeninių atradimų, minčių ir idėjų namai</description>
	<lastBuildDate>Wed, 25 Aug 2010 13:24:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Programavimo kalbos pasirinkimas</title>
		<link>http://www.arvydas.net/programavimo-kalbos-pasirinkimas</link>
		<comments>http://www.arvydas.net/programavimo-kalbos-pasirinkimas#comments</comments>
		<pubDate>Fri, 15 Jan 2010 15:45:25 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Programavimas]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/?p=775</guid>
		<description><![CDATA[
Tęsiu savo rašinių ciklą apie programavimą šiandien noriu papasakoti apie programavimo kalbų pasirinkimą. Prisiminimui galite paskaityti mano ankstesnį rašinį pasakojantį nuo ko pradėti norint išmokti programuoti. Per 15 programavimo metų išmokau pagrindinio dalyko: atlikti užduotį programavimo kalba yra visiškai nesvarbi. Daug svarbiau &#8211; jau sukurtos kalbos pagalbinės priemonės palengvinančios programuotojo darbą.
Paimkite bet kurią programavimo kalbą [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.arvydas.net/wp-content/uploads/2009/08/visual-studio-new-project.png" rel="lightbox[775]" class="liimagelink"><img class="alignnone size-full wp-image-543" title="Programavimas" src="http://www.arvydas.net/wp-content/uploads/2009/08/visual-studio-new-project.png" alt="" width="500" height="300" /></a></p>
<p>Tęsiu savo rašinių ciklą apie programavimą šiandien noriu papasakoti apie programavimo kalbų pasirinkimą. Prisiminimui galite paskaityti mano ankstesnį rašinį pasakojantį <a href="http://www.arvydas.net/nuo-ko-pradeti-norint-ismokti-programuoti" target="_blank" class="liinternal">nuo ko pradėti norint išmokti programuoti</a>. Per 15 programavimo metų išmokau pagrindinio dalyko: atlikti užduotį programavimo kalba yra visiškai nesvarbi. Daug svarbiau &#8211; jau sukurtos kalbos pagalbinės priemonės palengvinančios programuotojo darbą.</p>
<p><span id="more-775"></span>Paimkite bet kurią programavimo kalbą ir suprasite, kad semantiniu požiūriu viena nuo kitos skiriasi tik sintakse. Visos modernios programavimo kalbos turi objektus, paveldimumą, objektų deklaravimą, kintamuosius, įvairius ciklus iteracijai, funkcijų deklaracijas ir t.t. Skirtumas tik tas, kad su viena programavimo kalba turėsite parašyti daugiau teksto ne su kita. Pavyzdžiui, ta pati funkcija</p>
<p>Pascal</p>
<pre class="brush: delphi;">
procedure SayHi(Name: String)
Begin
  WriteLn(&quot;Hi, &quot; + Name);
End;
</pre>
<p>C#</p>
<pre class="brush: cpp;">
public void SayHi(String name)
{
  Console.WriteLine(&quot;Hi, &quot; + name);
}
</pre>
<p>Ruby</p>
<pre class="brush: ruby;">
def SayHi(name)
  puts &quot;Hi, &quot; + Name
end
</pre>
<p>VB.NET</p>
<pre class="brush: vb;">
Private Function SayHi(name)
  Console.WriteLine(&quot;Hi, &quot; &amp; name)
End Function
</pre>
<p>Visi šie kodo gabaliukai pateikia tą patį rezultatą: iškvietus funkciją SayHi(&#8220;Arvydas&#8221;) ekrane bus parodytas tekstas &#8220;Hi, Arvydas&#8221;. Žinant kaip gauti rezultatą su viena programavimo kalba tampa nesunku tai padaryti su kitom, nes viskas ko reikia &#8211; išsiaiškinti sintaksės subtilumus.</p>
<p>Jeigu programavimo kalba nesvarbu, tuomet programuojant kas <em>yra</em> svarbu? Ogi visos papildomos programavimo priemonės su kuriom kuriamos programos.</p>
<h3>IDE</h3>
<p>IDE (Integrated Development Environment) &#8211; kodo redaktorius, kompiliatorius ir pagrindinis programuotojo pagalbininkas. Jo pagalba galima greitai aptikti paliktas sintaksės klaidas, sustabdyti programą jos vykdymo viduryje ir analizuoti kintamųjų reikšmes. IDE yra sukurta labai daug ir skirtų vienai ar kelioms programavimo kalboms. Kai kurie programuotojai mėgsta programuoti vien tik su teksto redaktorium, bet man asmeniškai IDE yra būtinas, nes smarkiai pagreitina darbą pateikdamas kiekvieno objekto metodus ir savybes.</p>
<h3>API</h3>
<p>API (Application Programming Interface) &#8211; standartinių funkcijų ir objektų visuma. Tai visos pagalbinės paprogramės ir objektai, kurios yra programavimo kalbos dalis. Jie smarkiai pagreitina darbą ir supaprastina kodą, nes nereikia rūpintis kaip atidaryti failą, nuskaityti teksto gabaliuką ar išskaidyti sakinį žodžiais. Absoliučiai visą programavimo kalbos API nebūtina žinoti, nes tai ne tik kad neįmanoma, bet visada yra Google, kurio pagalba galima susirasti pavyzdinį kodą ir jį panaudoti programoje.</p>
<h3>Frameworks</h3>
<p>Frameworks yra programavimo karkasai, kurių pagalba programos kuriamos daug greičiau nei jas kuriant vien su tos programavimo kalbos API. Vienas mano mėgstamiausių framework tipų yra ORM (Object Relational Mapping), kuris smarkiai supaprastina darbą su duomenų bazėm ir prgoramavimo kalbos objektuose paslepia tiesiogines duomenų bazės užklausas, kurie tuo pasirūpina už programuoją. Be ORM norint įrašyti tarkim naują įrašą į duomenų bazę aš turėčiau prirašyti virš 50 eilučių kodo kuris atliktų šiuos veiksmus naudojantis programavimo kalbos API:</p>
<ol>
<li>Prisijungtų prie duomenų bazės</li>
<li>Pradėtų tranzakciją</li>
<li>Sugeneruotų duomenų bazės užklausą</li>
<li>Ją įvykdytų</li>
<li>Užbaigtų tranzakciją</li>
</ol>
<p>Tuo tarpu su ORM tai atrodo maždaug taip:</p>
<pre class="brush: ruby;">
post = Post.new
post.title = &quot;Programavimo kalbų pasirinkimas&quot;
post.body = &quot;Mano rašinio tekstas&quot;
post.save
</pre>
<p>Tai ne tik supaprastina kodo skaitomumą, bet kartu ir smarkiai palengvina jo priežiūrą ateityje. Programuojančius be freimworkų aš vadinu mazochistais. :)</p>
<h3>Programavimo metodikos</h3>
<p>Dar visai nesenai buvo naudojamas panašus į namo statymą programos kūrimo metodas: visų pirma sukuriama pilna programos specifikacija, kaip namo pamatai, o tada programuotojai imasi darbo ir ją kuria. Rezultate gaudavosi taip, kad galutinė programos versija neatitinka vartotojų reikalavimų: vartotojai buvo neteisingai suprasti, dėl to sistemos architektas pasirinko netinkamą framework, o per tuos metus kai programa buvo užbaigta, firmos poreikiai kardinaliai pasikeitė. Šis senovinis metodas remiasi tuom, kad pastačius namo pamatus ir pirmą aukštą yra labai sudėtinga po to jį nugriauti ir pradėti viską iš naujo: juk gyventojai namą galės išbandyti tik kai jis bus užbaigtas ir kai į jį įsikraustys.</p>
<p>Šis dešimtmečiais naudotas projekto kūrimo metodas programavime visiškai netinka, nes programavimas yra daug lankstensis, nei namo statymas. Dėl to dabar labai smarkiai išpopuliarėjo Agile programavimo metodika: Test Driven Development (TDD) ir Behaviour Driven Development (BDD). Jų pagalba programos kuriamos vartotojams koncentruojantis į vartotojo poreikius visos programos kūrimo metu įtraukiant vartotojus į testavimo ir naudojimo procesą nuo pirmos dienos. Šios metodikos pritaikomos tam sukurtais programavimo kalbos frameworkais ir yra labai svarbus sėkmingo projekto aspektas. Juk kam kitam, jei ne vartotojams kuriamas programinis produktas?</p>
<h3>Bendruomenė</h3>
<p>Programuotojų bendruomenė yra labai svarbu, nes tai yra pagrindinė vieta iš kurios galima semtis žinių ir kodo pavyzdžiui. Kuo ji draugiškesnė ir platesnė &#8211; tuo daugiau informacijos galima surasti ir tuo lengviau kurti programas. Labai dažnai su iškilusia problema jau būna kažkas susidūręs ir viskas ko reikia &#8211; pasinaudoti Google paieška ir surasti sprendimą.</p>
<p>Programavimo kalbos skiriasi ne tik programavimo sintakse, bet ir pritaikymo galimybėmis:</p>
<ul>
<li>Žemo lygio kompiliuojamos programavimo kalbos kaip C naudojamos kuriant operacines sistemas ar žaidimus dėl greito kodo veikimo, kuris yra būtinas tokio tipo programoms (taip, operacinė sistema irgi yra programa, tik labai didelė).</li>
<li>Kitos kompiliuojamos programavimo kalbos kaip C++, C#, Delphi, Objective C, Java naudojamos kurti įprastas kompiuterio programas (desktop applications).</li>
<li>Interpretuojamos programavimo kalbos tokios kaip Perl, Python, PHP ar Ruby daugiausia naudojamos kurti internetines svetaines. C# čia irgi galima dėti dėl ASP.NET framework.</li>
</ul>
<p>Pritaikimo galimybes riboja tik frameworkų trūkumas, tačiau jokiais būdais nereiškia, kad su Python ar Ruby negalima kurti įprastų kompiuterio programų, o su C negalima sukurti internetinio puslapio: kodas bus sudėtingas prižiūrėti, jo bus daug, trūks kokių nors vizualinių elementų, bet programą yra įmanoma parašyti. Niekas nepainioja programavimo kalbų rimtuose projektuose, nes su kita programavimo kalba tai galima padaryti daug greičiau ir efektyviau.</p>
<p>Tai kokią gi rinktis programavimo kalbą? Pilnus projektus man teko kurti ir prižiūrėti su: Pascal, Delphi, Delphi.NET, C++, Perl, VB, VB.NET, C#, PHP ir Ruby. Šiandien, jei man reikia kurti internetinę aplikaciją aš naudoju Ruby on Rails framework dėl fantastiško BDD metodikos palaikymo, išplėtoto ORM ir malonios akiai programavimo sintaksės. Priežasčių yra daugiau, bet tam reiktų rašyti atskirą įrašą. Jeigu reikia kurti desktop application, tuomet renkuosi C# ir Microsoft.NET/Mono 2.0 framework dėl galimybės programas leisti tiek Windows, Linux ar MacOSX operacinėse sistemose. Kaip bus rytoj? Nežinau. Svarbu neapsiriboti viena programavimo kalba, todėl nuolat tobulėju ir stebiu ką gero turi pasiūlyti kitos programavimo kalbos ir jų frameworkai, klausau kuom džiaugiasi ar skundžiasi kiti programuotojai. Blogiausia ką gali padaryti programuotojas &#8211; užsistovėti ties viena technologija ir programavimo kalba. Būtina išlaikyti balansą ir domėtis populiariausių programavimo kalbų tendencijom, nes visuomet galima pasisemti žinių iš vienos ar kitos programavimo kalbos ir pritaikyti dabartiniam projektui prie kurio dirbi.</p>
<p>Turiu džiugią žinią: nesvarbu kokią programavimo kalbą pasirinksi, norint ją išmokti nereikia talento, kaip kad dainavimui ar piešimui. Viskas ko reikia &#8211; daug ir sunkiai praktikuotis. Tuomet ateis tokia diena, kai neberūpės programavimo kalbos sintaksė, nes projekto įgyvendinimui svarbiausia lankstūs frameworkai, kurių pagalba ateityje galima bus lengvai ir be skausmo tobulinti projektą. Kiek teko dirbti dar nemačiau programinio projekto, kuris būtų iki galo užbaigtas. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/programavimo-kalbos-pasirinkimas/feed</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Muzikinis eksperimentas TrixPlayer</title>
		<link>http://www.arvydas.net/muzikinis-eksperimentas-trixplayer</link>
		<comments>http://www.arvydas.net/muzikinis-eksperimentas-trixplayer#comments</comments>
		<pubDate>Fri, 23 Oct 2009 15:15:12 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Programavimas]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/?p=617</guid>
		<description><![CDATA[
Kai man atsibosta kurti duomenų bazes ir web puslapius, susigalvoju sau kokį eksperimentą. Taip gimė programa TrixPlayer &#8211; 16&#215;16 sequencer&#8217;is. Daug nepasakojant galite pasižiūrėti kaip jis veikia:
Parsisiuntimas

Windows &#8211;  TrixPlayer-0.1-win32.zip
Linux - TrixPlayer-0.1-linux.tar.gz

Linux vartotojams reikia prieš paleidžiant TrixPlayer.exe paleisti tokią komandą konsolėje (Ubuntu distribucijai):
sudo apt-get install gtk-sharp gtk-sharp2 libgdiplus libsdl1.2debian libsdl1.2debian-all libsdl-mixer1.2 libsdl-image1.2 libsdl-ttf2.0-0 libsdl-gfx1.2-4 libsmpeg0 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-618" title="TrixPlayer 0.1" src="http://www.arvydas.net/wp-content/uploads/2009/10/trixplayer-0-1.png" alt="TrixPlayer 0.1" width="490" height="466" /></p>
<p>Kai man atsibosta kurti duomenų bazes ir web puslapius, susigalvoju sau kokį eksperimentą. Taip gimė programa TrixPlayer &#8211; 16&#215;16 sequencer&#8217;is. Daug nepasakojant galite pasižiūrėti kaip jis veikia:</p>
<p><a href="http://www.arvydas.net/muzikinis-eksperimentas-trixplayer"><em>Click here to view the embedded video.</em></a></p>
<h3>Parsisiuntimas</h3>
<ul>
<li><strong>Windows &#8211; </strong> <a href="http://www.arvydas.net/wp-content/uploads/2009/10/TrixPlayer-0.1-win32.zip" class="liinternal">TrixPlayer-0.1-win32.zip</a></li>
<li><strong>Linux -</strong> <a href="http://www.arvydas.net/wp-content/uploads/2009/10/TrixPlayer-0.1-linux.tar.gz" class="liinternal">TrixPlayer-0.1-linux.tar.gz</a></li>
</ul>
<p>Linux vartotojams reikia prieš paleidžiant TrixPlayer.exe paleisti tokią komandą konsolėje (Ubuntu distribucijai):</p>
<blockquote><p>sudo apt-get install gtk-sharp gtk-sharp2 libgdiplus libsdl1.2debian libsdl1.2debian-all libsdl-mixer1.2 libsdl-image1.2 libsdl-ttf2.0-0 libsdl-gfx1.2-4 libsmpeg0 timidity</p></blockquote>
<p>Bandydamas Ubuntu 9.04 OS pastebėjau, kad garsas vėluoja, bet gal čia dėl to, kad leidau VirtualBox&#8217;e. Jokių šimtaprocentinių garantijų, kad pas jus veiks. :)</p>
<h3>Veikimo principas</h3>
<p>Kol kas nekreipkit dėmesio į dešinėje pusėje esančius L1-L5 mygtukus. Jie ten tik laikinai, ir bus pervadinti į F1-F5.</p>
<p>Muziką galite kurti su penkiais sluoksniais (layers), kurie yra pavadinti L1-L5 ir valdomi kairėje pusėje esančiais tap pat pavadintais mygtukais. Kiekvienam sluoksniui priskirtas vienas instrumentas. O kiekvienas instrumentas turi po 16 &#8220;natų&#8221; išsidėsčiusių juostomis horizontaliai.  Kiekvienas sluoksnis turi po 16 patternų, kuriuos galite pasirinkti nuspaudę ir laikydami klaviatūros mygtukus 1-5 atitinkamai pasirinktam sluoksniui ir pasirinkę vieną iš horizontalių juostų su kairiuoju pelės klavišu. Su dešiniuoju pelės klavišu paspaudimu pasirinktas patternas nukopijuojamas į naująjį (maždaug ties video 1:06 galite pamatyti kaip aš tai darau).</p>
<h3>Valdymas</h3>
<ul>
<li>Kairysis pelės klavišas &#8211; įjungia arba išjungia natos grojimą;</li>
<li>Klaviatūros mygtukai 1, 2, 3, 4, 5 &#8211; keičia sluoksnius</li>
<li>Laikant nuspaustą 1, 2, 3, 4, 5 + kairysis pelės klavišas keičia patterną;</li>
<li>Laikant nuspaustą 1, 2, 3, 4, 5 + dešinysis pelės klavišas kopijuoja paskutinį pasirinktą patterną į naują.</li>
<li>Space &#8211; išvalo patterną;</li>
<li>Laikant nuspaustą F1 + kairiuoju pelės klavišu galima keisti sluoksnio garsumo lygį.</li>
</ul>
<h3>Planai ir mintys</h3>
<p>Jeigu bus noro ir laiko dar padarysiu</p>
<ol>
<li>Įrašyti normalius instrumentus ir padaryti jų pasirinkimą. Dabartiniai sucks, bet tai geriausia ką radau nemokamai internete.</li>
<li>Padaryti software sintezatorių vietoj samplų grojimo;</li>
<li>Išsaugoti/atidaryti muzikinį kūrinį;</li>
<li>Keisti grojimo tempą</li>
<li>Keisti sluoksnio grojimo tempą</li>
<li>ir t.t.</li>
</ol>
<p>Have fun! Pasiūlymai, paskatinimai ir idėjos visada laukiami. Prie progos paskelbsiu source ir kaip susikompiliuoti pačiam.</p>
<h3>Techniniai duomenys kam įdomu</h3>
<ul>
<li>Sukurta su: Microsoft Visual Studio 2008/Mono Develop 2.1 beta</li>
<li>Programavimo kalba: C#</li>
<li>Platforma: Mono 2.0 arba Microsoft.NET 2.0</li>
<li>Grafikos/garso variklis: <a href="http://cs-sdl.sourceforge.net/index.php/Main_Page" target="_blank" class="liexternal">SDL.NET</a></li>
<li>OS: Windows ir Linux. Teoriškai turėtų veikti ir po Mac OSX, bet neturiu obuolio kompiuterio, todėl negaliu pratestuoti ir sukompiliuoti.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/muzikinis-eksperimentas-trixplayer/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Paskutinė Wordpress saugumo spraga &#8211; programuotojų žioplumas</title>
		<link>http://www.arvydas.net/paskutine-wordpress-saugumo-spraga-programuotoju-zioplumas</link>
		<comments>http://www.arvydas.net/paskutine-wordpress-saugumo-spraga-programuotoju-zioplumas#comments</comments>
		<pubDate>Wed, 09 Sep 2009 11:12:08 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Programavimas]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/?p=603</guid>
		<description><![CDATA[
Paskutinė didelė Wordpress saugumo spraga, dėl kurios nukentėjo daug įžymių svetainių, yra rimtas programuotojų neapsižiūrėjimas: Wordpress kūrėjai pamiršo patikrinti varototojų teises kai kuriuose administravimo puslapiuose. Jei senos versijos Wordpress tinklaraštis yra atviras registracijoms, paprastas varototojas galėjo atlikti tinklaraščio administravimo veiksmus: keisti diskusijų, standartinius, pastoviųjų nuorodų, paveiksliukų, privatumo, skaitymo, rašymo nustatymus, temų šablonus ir jų failus, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-604" title="wordpress-vulnerability" src="http://www.arvydas.net/wp-content/uploads/2009/09/wordpress-vulnerability.png" alt="wordpress-vulnerability" width="500" height="304" /></p>
<p>Paskutinė didelė <a href="http://www.wordpress.org" target="_blank" class="liexternal">Wordpress</a> saugumo spraga, dėl kurios nukentėjo daug įžymių svetainių, yra rimtas programuotojų neapsižiūrėjimas: Wordpress kūrėjai <a href="http://core.trac.wordpress.org/changeset/11762" target="_blank" class="liexternal">pamiršo patikrinti varototojų teises kai kuriuose administravimo puslapiuose</a>. Jei senos versijos Wordpress tinklaraštis yra atviras registracijoms, paprastas varototojas galėjo atlikti tinklaraščio administravimo veiksmus: keisti diskusijų, standartinius, pastoviųjų nuorodų, paveiksliukų, privatumo, skaitymo, rašymo nustatymus, temų šablonus ir jų failus, vartotojus ir tuo pačiu savo kaip vartotojo teises. Su tokiom įsilaužimo galimybėm nenuostabu, kad daug įžymių tinklaraščių buvo smarkiai išdarkyti. Jei neklystu pažiūrėjęs į kodą, tinklaraščiai, kurie neturi viešos registracijos nuo šios problemos yra apsaugoti.</p>
<p>Keista tik kaip tokia saugumo spraga buvo nepastebėta tokį ilgą laiko tarpą: visuose WordPress versijose iki 2.8.4! O WordPress kuo toliau tuo labiau pučias ir pučias funkcionalumo, <a href="http://webjawns.com/2009/09/wordpress-memory-usage-reduced-from-14mb-to-1-4mb/" target="_self" class="liexternal">atminties naudojimo</a> ir tuo pačių dar neatrastų klaidų prasme. Ar nebus taip, kad galų gale paprasti vartotojai naudos vos 2% visų WordPress galimybių, kaip dabar yra su Microsoft Office? Man anksčiau labiau patiko, kai WordPress tebuvo tinklarašių rašymo karkasas, o visą reikalingą funkcionalumą parsiplėsdavai įskiepių pagalba.</p>
<p>Žiūriu dabar į tą Wordpress PHP kodo košę ir džiaugiuosi, kad perėjau prie <a href="http://rubyonrails.org/" target="_self" class="liexternal">Ruby on Rails</a>: paprasto, gražaus, elegantiško, lengvai suprantamo ir plečiamo framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/paskutine-wordpress-saugumo-spraga-programuotoju-zioplumas/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Nuo ko pradėti norint išmokti programuoti?</title>
		<link>http://www.arvydas.net/nuo-ko-pradeti-norint-ismokti-programuoti</link>
		<comments>http://www.arvydas.net/nuo-ko-pradeti-norint-ismokti-programuoti#comments</comments>
		<pubDate>Tue, 11 Aug 2009 16:12:00 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Programavimas]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/?p=542</guid>
		<description><![CDATA[
Programavimas yra visko po truputį: matematika, fizika, geometrija, logika, abstraktus mąstymas, dizainas ir net filosofija. Kiekvienam pradedančiajam visada iškyla klausimas: nuo ko pradėti? To savęs klausiu ir po 14 programavimo metų kaskart pradėdamas naują projektą, mokindamasis naują technologiją ar šiaip ieškodamas programinio sprendimo.
Net ir turint programavimo pagrindus pradėjus mokintis naują technologiją jautiesi kaip visiškas naujokas [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-543" title="Programavimas" src="http://www.arvydas.net/wp-content/uploads/2009/08/visual-studio-new-project.png" alt="Programavimas" width="500" height="300" /></p>
<p>Programavimas yra visko po truputį: matematika, fizika, geometrija, logika, abstraktus mąstymas, dizainas ir net filosofija. Kiekvienam pradedančiajam visada iškyla klausimas: nuo ko pradėti? To savęs klausiu ir po 14 programavimo metų kaskart pradėdamas naują projektą, mokindamasis naują technologiją ar šiaip ieškodamas programinio sprendimo.</p>
<p>Net ir turint programavimo pagrindus pradėjus mokintis naują technologiją jautiesi kaip visiškas naujokas atsimušęs į nežinios sieną: aš žinau kaip sukurti <em>tą</em> funkciją kitoje mano naudotoje programavimo kalboje, o kaip tai padaryti šioje? Kad ir kokią programavimo kalbą ar technologiją pasirinktum, dažnai viską tenka pradėti iš pradžių.</p>
<h3>Skaityk tutorials</h3>
<p>Pirmas susipažinimo su nauja programavimo kalba žingsnis yra tutorials. Net nežinau šiam žodžiui tinkamo lietuviško atitikmens. Tai yra trumpi straipsniai ar video įrašai (screencasts) pradedantys susipažinti su programavimo kalbos pradmenimis: kaip susikurti naują projektą, padaryti pirmą &#8220;Hello world&#8221; programą, pamatyti rezultatus. <span id="more-542"></span></p>
<p>Nepriklausomai nuo pasirinktos programavimo kalbos (C# , PHP, Ruby, JavaSript ir t.t.) geriausia pradėti paiešką nuo Google užklausų (be kabučių) &#8220;<strong><em>programavimo-kalba</em> beginner tutorials</strong>&#8221; arba &#8220;<strong><em>programavimo-kalba</em> beginner screencasts</strong>&#8220;. Vietoj <em>programavimo-kalba</em> įsirašykite jus dominančios programavimo kalbos pavadinimą. Šių interneto resursų pagalba rasite ne tik kalbos pradmenis, bet ir paaiškinimus kaip susikurti ir pasiruošti programavimo aplinką.</p>
<h3>Eksperimentuok</h3>
<p>Internete yra daugybė jau sukurtų programų, kurių autoriai duoda parsisiusti išeitinius tekstus (source kodą). Ir čia naudokis Google paieška: &#8220;<strong><em>programavimo-kalba</em> simple examples</strong>&#8220;. Parsisiųsk juos, pabandyk paleisti savo kompiuteryje ir pakaitalioti eksperimentuodamas. Stebėk kaip nuo tavo pakeitimų keičiasi ir programos veikimas. Tai yra puikus būdas &#8220;apšilti&#8221; ir apsiprasti su programavimo įrankiais.</p>
<h3>Pirmoji užduotis</h3>
<p>Susipažinus su pradmenimis pats laikas susigalvoti sau konkrečią užduotį, kurią norėtum įgyvendinti su tave dominančia programavimo kalba. Tai yra puiki motyvacija, nes mokintis be užduoties &#8211; neįdomu. Kokią užduotį pasirinkti? Jeigu esi visiškai pradedantysis, siūlau pabandyti sukurti kokį nors paprastą žaidimą, kaip tai darydavau pats pradėjęs mokintis programuoti: iksiukai-nuliukai, klausimai-atsakymai iš pasirinktų variantų ar bet kas kitas šaunantis į galvą. Svarbu, kad tai būtu nesudėtinga ir dar svarbiau, kad tai <strong>būtu įdomu tau</strong>.</p>
<p>Galbūt tavo idėją su pasirinkta programavimo kalba jau kas nors yra sukūręs ir pateikęs source kodą? Tuomet tai yra idealu! Nieko nėra geriau kaip imti ir pasinagrinėti jau sukurtą projektą ir pasisemti minčių iš ten. Savo programą gali bandyti &#8220;lipdyti&#8221; iš jau sukurtos dalių.</p>
<h3>Skaidyk</h3>
<p>Nei viena programa neparašoma atsisėdus vienu ypu. Bet kuri programa yra sudaryta iš daug mažų programėlių, kurios, sujungtos į bendrą visumą, atlieka norimą funkciją. Pradžioje siūlau susirašyti sau pačius paprasčiausius klausimus į kuriuos dar nežinai atsakymo. Pavyzdžiui:</p>
<ul>
<li>Kaip parodyti mygtuką?</li>
<li>Kaip padaryti kad nuspaudus mygtuką pasirodytų pranešimas?</li>
<li>Kaip pakeisti užrašo tekstą kai nuspaudžiamas mygtukas?</li>
</ul>
<h3>Ieškok</h3>
<p>Galbūt atsakymą į iškeltus klausimus prisiminsi matęs skaitytuose tutorials ar nagrinėtose programose, bet jei nežinai &#8211; ne bėda. Bandyk ieškot Google,  o jei nepavyks, visada gali prašyti pagalbos programavimo kalbos forumuose, naujienų grupėse ar IRC pokalbių kanaluose. IRC, beje, tik programuotojai ir liko aktyvūs, už tai visada labai draugiški pradedantiesiems. :)</p>
<h3>Koncentruokis ir užsispirk</h3>
<p>Stenkis išmokti tik tiek, kiek reikia atsakyti į vieną konkretų klausimą. Labai svarbu nesiblaškyti ir po truputį rasti atsakymus į visus sau iškeltus klausimus. Atmink, kad pagrindinis tikslas &#8211; mažais žingsniais <em><strong>užbaigti </strong></em>galutinę programą. Kas nors nesiseka? Tuomet mokymąsi verta atidėti kitai dienai: po gero nakties miego smegenys sustatys viską į savo vietas ir net nustebsi, kad ryte jau žinosi sprendimą. Įrodyta moksliškai ir savo kailiu.</p>
<h3>Mokinkis atsirinkti</h3>
<p>Programavimas yra nuolatinis sprendimų ieškojimas. Tam, kad surastum geriausią sprendimą reikia daug ir be perstojo mokintis. Informacijos resursų yra be galo daug, todėl labai svarbu yra išmokti atsirinkti tik tą informaciją, kurios tau reikia šiuo metu. Programavimo pagrindus tau gali suteikti mokykla ar universitetas, bet daugiausia išmoksi niekeno neverčiamas ir mokindamasis pats.</p>
<h3>Apie straipsnių ciklą</h3>
<p>Tai pirmas įrašas iš serijos apie programavimą. Netrukus laukite daugiau naujų įrašų apie programavimo kalbų pasirinkimą ir kaip tapti geru programuotoju.</p>
<h3>Apie programavimą taip pat neseniai rašė</h3>
<ul>
<li>Gedzis &#8211; <a href="http://gedzis.net/irasai/programavimas-nuo-ko-a-pradejau/" target="_blank" class="liexternal">Programavimas. Nuo ko aš pradėjau</a></li>
<li>Gedzis &#8211; <a href="http://gedzis.net/irasai/tobulek-programuodamas/" target="_blank" class="liexternal">Tobulėk programuodamas</a></li>
<li>Gintaras Slavinskas &#8211; <a href="http://slavinskas.eu/archives/79" target="_blank" class="liexternal">Programuotojo darbo procesas: #1 Įžanga</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/nuo-ko-pradeti-norint-ismokti-programuoti/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Ar pasauliui reikalingas dar vienas naujienų skaitytuvas?</title>
		<link>http://www.arvydas.net/ar-pasauliui-reikalingas-dar-vienas-naujienu-skaitytuvas</link>
		<comments>http://www.arvydas.net/ar-pasauliui-reikalingas-dar-vienas-naujienu-skaitytuvas#comments</comments>
		<pubDate>Sat, 16 Feb 2008 13:00:21 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Kompiuteris]]></category>
		<category><![CDATA[Programavimas]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/ar-pasauliui-reikalingas-dar-vienas-naujienu-skaitytuvas</guid>
		<description><![CDATA[
Ech&#8230; Keistas klausimas, kurį pastaruoju metu vis dažniau sau uždavinėju. Na, niekur nerandu normalaus RSS skaitytuvo, net ir tas kurį nusipirkau toli gražu nepateisina visų mano lūkesčių. O visgi, kokie tie lūkesčiai?
Paprastumas ir funkcionalumas viename
Mano RSS skaitytuvas turėtų būti paprastas ir aiškus naudoti be jokių instrukcijų. Valdymas ten kur ir turi būti, mygtukai su aiškiom [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.arvydas.net/wp-content/uploads/2008/02/rss.jpg" alt="rss.jpg" /></p>
<p>Ech&#8230; Keistas klausimas, kurį pastaruoju metu vis dažniau sau uždavinėju. Na, niekur nerandu normalaus RSS skaitytuvo, net ir <a href="http://www.arvydas.net/kaip-as-savo-pirmaja-programa-pirkau" target="_blank" class="liinternal">tas kurį nusipirkau</a> toli gražu nepateisina visų mano lūkesčių. O visgi, kokie tie lūkesčiai?</p>
<p><strong>Paprastumas ir funkcionalumas viename</strong></p>
<p>Mano RSS skaitytuvas turėtų būti paprastas ir aiškus naudoti be jokių instrukcijų. Valdymas ten kur ir turi būti, mygtukai su aiškiom ikonom ir užrašais, neperkrauta vartotojo sąsaja. Programa turi daryti tik tai ko ji yra prašoma daryti, o visos papildomos galimybės (naujienų grupių prenumeratos, paieška, filtrai ir kt.) plečiamos įskiepių pagalba. Tokiu būdu kiekvienas naudoja tik jam reikalingas funkcijas, o ne programą, kurios išnaudoja vos 10% funkcijų. Svarbiausias reikalavimas, kad būtų įgyvendinta tokia frazė: &#8220;It just works!&#8221;.</p>
<p><strong>Galimybė prenumeruoti komentarus</strong></p>
<p>Įrašo komentarų prenumerata yra būtina savybė, kuri padeda sekti diskusijas tinklaraščiuose. Anksčiau naudojau prenumeratą el. paštu ir <a href="http://www.blogeriai.info/2007/12/10/komentarai-el-pastu/" target="_blank" class="liexternal">pats agitavau</a>, bet pastebėjęs patogią komentarų srauto prenumeratą, kurią turi Omea ir mano NewzCrawler dabar jau nebeįsivaizduoju savo priklausomybės nuo jokių <a href="http://commentfull.blogflux.com/" target="_blank" class="liexternal">Commentfull</a> tarnybų, kurios kartais streikuoja.</p>
<p><strong>Galimybė redaguoti savo tinklaraštį</strong></p>
<p>Argi nebūtų puiku, jeigu aptikus įdomų straipsnį galima būtų iš tos pačios programos prašyti rašinį savo tinklaraštyje? Automatiškai įterptų ir (via) nuorodą, todėl tektų tik surašyti savo tekstą ir paspausti &#8220;Skelbti!&#8221;. Dabar gi tenka &#8220;mėtytis&#8221; tarp RSS skaitymo programos, tinklaraščio rašymo programos ir dar balažino kokių programų vien tam, kad susekti ir skelbti kasdienį informacijos srautą.</p>
<p><strong>Sinchronizacija</strong></p>
<p>Nors man asmeniškai ši funkcija nėra aktuali, visgi yra žmonių, kurie RSS skaito keliuose kompiuteriuose. RSS skaitytuvas turėtų turėti stabilią ir greitai atnaujinamą ryšį su serveriu, kuriame galima būtu susinchronizuoti perskaitytus ir pažymėtus srautus tarp kelių programų naudojamų to paties žmogaus.</p>
<p><strong>Daugiaplatformiškumas</strong></p>
<p>Baisus žodis programuotojams, kuris reiškia, kad reikia programos dirbančios skirtingose operacinėse sistemose tarp kurių Windows, Mac ir bent keletas labiausiai naudojamų Linux distribucijų.</p>
<p><strong>Ar yra kas nors panašaus?</strong></p>
<p><em>Nėra</em>. Kuo labiau mąstau, tuo labiau noriu imti ir sukurti tokią programą pats. Tik kai pagalvoju kiek darbo, tai darosi šiek tiek baisu, bet aš <a href="http://www.blogeriai.net" target="_blank" class="liexternal">mėgstu</a> <a href="http://www.blogeriai.lt" target="_blank" class="liexternal">iššūkius</a>. :o)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/ar-pasauliui-reikalingas-dar-vienas-naujienu-skaitytuvas/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Bevertės programavimo kalbos?</title>
		<link>http://www.arvydas.net/bevertes-programavimo-kalbos</link>
		<comments>http://www.arvydas.net/bevertes-programavimo-kalbos#comments</comments>
		<pubDate>Sun, 13 Jan 2008 10:00:10 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Programavimas]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/bevertes-programavimo-kalbos</guid>
		<description><![CDATA[
Ar yra toks dalykas kaip bevertė programavimo kalba? Man toks klausimas iškilo diskutuojant su Tadu apie Pascal programavimo kalbos naudojimą mokyklose mokinant programavimo pagrindų.
Negi Pascal per daug bloga mokintis programavimo pradmenis? Sukurta dar 1970 kaip lengva programavimo kalba skatinanti struktūrinį programavimą iki mūsų dienų ji atkeliavo Objektinio Paskalio pavidalu, kurio geriausiai žinomas kompiliatorius yra CodeGear [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.arvydas.net/wp-content/uploads/2008/01/pascal-code.jpg" alt="pascal-code.jpg" /></p>
<p>Ar yra toks dalykas kaip bevertė programavimo kalba? Man toks klausimas iškilo diskutuojant su <a href="http://www.domarkas.lt/" target="_blank" class="liexternal">Tadu</a> apie <a href="http://www.domarkas.lt/read-the-fucking-manual.html" target="_blank" class="liexternal">Pascal programavimo kalbos naudojimą mokyklose</a> mokinant programavimo pagrindų.</p>
<p>Negi Pascal per daug bloga mokintis programavimo pradmenis? Sukurta dar 1970 kaip lengva programavimo kalba skatinanti struktūrinį programavimą iki mūsų dienų ji atkeliavo Objektinio Paskalio pavidalu, kurio geriausiai žinomas kompiliatorius yra CodeGear Delphi, <a href="http://blog.marcocantu.com/blog/1.75_millions_delphi.html" target="_blank" class="liexternal">naudojamas 1.75 milijono programuotojų visame pasaulyje</a>. Beje, visi norintys pabandyti Delphi gali parsisiųsti ir kurti programas su visiškai legalia ir <a href="http://www.turboexplorer.com/" target="_blank" class="liexternal">nemokama TurboDelphi versija</a>.</p>
<p>Paskalis turi keletą svarbių savybių, itin aktualių pradedančiajam:</p>
<ol>
<li>Kintamieji privalo būti <em>aprašomi procedūros ar funkcijos pradžioje</em>, todėl niekada nepasimesi kur koks kintamasi galioja;</li>
<li>Begin-End blogai <em>išryškina ciklų ar sąlyginių sakinių</em> pradžias ir pabaigas;</li>
<li>Prieš paleidžiant programa turi būti <em>sukompiliuota</em>, kas sumažina programavimo klaidų skaičių;</li>
</ol>
<p>Atrodytų smulkmenos ir patyrusiam programuotojui 1 ir 2 yra nepatogumas, o 3 tampa savaime suprantamu dalyku, pradedančiajam suteikia aiškumo: &#8220;A! Čia Begin, reiškias pradedam kažką, čia End &#8211; ciklo pabaiga.&#8221; Man iki šiol C stiliaus programavimo kalbos atrodo tokios&#8230; retos, kur daugiau tuščių eilučių ir tarpo simbolių nei paties kodo.</p>
<p>Jei ne Pascal, tuomet ką pasirinkti mokinant programavimo pagrindus?</p>
<p><strong>C++ ?</strong> Užmušite bet kokį domėjimąsi programavimu, jei pradėsite aiškinti apie <em>pointerius</em>, adresus, <em>referencus</em> ir tai, kad sukurtą <em>pointerį</em> reikia vėliau sunaikinti. Nepamirškime paminėti, kad <em>String</em> iš tiesų yra klasė ir jai operatorius + yra <em>overloadintas</em>&#8230;</p>
<p><strong>Ruby/Java/Python?</strong> Vien tam kad paleistum pirmąją &#8220;Hello World&#8221; programą nieko nenutuokiančiams apie programavimą mokinukams pirmiausia reikės išaiškinti, kas yra klasė, kad kažkuri klasė gali būti statinė ir turėti <em>Main</em> metodą ir jau tada į tą metodą galima rašyti savo std.out(&#8220;Hello World!&#8221;). Oj, palaukite, o kaip tą programą paleisti?.. Kokia ten komandinė eilutė?</p>
<p>&#8220;c:\Program Files\Java\jdk1.6.0_03\bin\java.exe&#8221; -cp src\;helloworld.jar com.MyFirstSample&#8221;</p>
<p>Čia be kompiliavimo komandinės eilutės, beje&#8230; Yep, pats tas humanitarui dešimtokui&#8230;</p>
<p><strong>C#?</strong> Greitai galima pasiklysti tarp visų namespace ir ką jie daro, todėl prieš tai mokytojai turėtu pravesti metus trunkančia jų apžvalgą. Iš esmės, .NET su C# galėtų būti pakaitalas Pascal, bet negi dabar imsim perrašinėti visus vadovėlius vien dėl to kad norim tapti modernūs? Pradedančiajam  C# bus per daug sudėtinga vien dėl 100% objektiškumo.</p>
<p><strong>PHP?</strong> Nebent mokinti programuoti webui, bet prieš tai dar reiks paaiškinti kas tai yra web serveris, Apache, virtualios direktorijos, POST ir GET metodai&#8230; Mokiniui apibendrintame programavimo kurse tikrai to reikia?</p>
<p>Tai visgi gal liekam prie <strong>Pascal</strong>?<br />
<code><br />
program Labas;<br />
begin<br />
WriteLn("Labas pasauli!");<br />
end. </code></p>
<p>Tada Ctrl + F9 Paskal&#8217;io redaktoriuje ir nuspaudę F5 iš karto matome norimą rezultatą.</p>
<p>Mokykloje ar universitete dar nei vienas neišmoko programuoti taip, kad daugiau niekada nereiktų mokintis papildomai. Mokymo įstaigoje galima gauti tik pradmenis ir jų pagalba atrandi susidomėjimą programavimu arba ne. Lygiai taip pat jei mokintumėtės fizikos ir imtumėte reikalauti kiekvienoje mokykloje naujausios laboratorinės įrangos, nes, mat, senoji dar iš 1960-ųjų jau visai atgyveno ir nebelygis su ja mokintis.</p>
<p>Programavimo kalbos atsiranda ir palengva išnyksta jas pakeičiant naujesnėmis, tobulesnėmis ir patogesnėmis. Kiekviena jų atspindi sukūrimo laikotarpiu naudotas technologijas, programavimo metodus, idėjas ir paskirtį. Jegu atsiranda naujų programavimo kalbų ar senosios tampa visiškai bevertės? Tik ne Pascal, nes ji iki šiol puikiai atlieka savo paskirtį: mokina programavimo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/bevertes-programavimo-kalbos/feed</wfw:commentRss>
		<slash:comments>107</slash:comments>
		</item>
		<item>
		<title>Korektiška data tinklaraščio footer srityje</title>
		<link>http://www.arvydas.net/korektiska-data-tinklarascio-footer-srityje</link>
		<comments>http://www.arvydas.net/korektiska-data-tinklarascio-footer-srityje#comments</comments>
		<pubDate>Thu, 03 Jan 2008 13:26:22 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Programavimas]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/korektiska-data-tinklarascio-footer-srityje</guid>
		<description><![CDATA[
Labai dažnai internetiniai projektai footer (liet. poraštė) srityje esančia data parodo savo gyvavimo laiką (kaip matote aš esu neišimtis). Pirmieji metai rodo įkūrimą, antrieji &#8211; šie metai, kurie paprastai redaguojami rankiniu būdų: pasikeitus metams įrašomas naujas skaičius. Ne visi prisimena, kad reikia atnaujinti poraštę iš karto po Naujųjų ir susizgrimba po kelių mėnesių, geriausiu atveju [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.arvydas.net/wp-content/uploads/2008/01/footer.jpg" alt="footer.jpg" /></p>
<p>Labai dažnai internetiniai projektai footer (liet. poraštė) srityje esančia data parodo savo gyvavimo laiką (kaip matote aš esu neišimtis). Pirmieji metai rodo įkūrimą, antrieji &#8211; šie metai, kurie paprastai redaguojami rankiniu būdų: pasikeitus metams įrašomas naujas skaičius. Ne visi prisimena, kad reikia atnaujinti poraštę iš karto po Naujųjų ir susizgrimba po kelių mėnesių, geriausiu atveju &#8211; savaičių.</p>
<p>Šį blogą pradėjau rašyti tik pernai, todėl poraštėje figūravo tik vienas skaičius &#8211; &#8220;<em>2007</em>&#8220;, kurį reikėjo pakeisti į &#8220;<em>2007 &#8211; 2008</em>&#8220;. Tam, kad 2009-aisiais man nereiktų vėl rankomis keisti į &#8220;2007 &#8211; 2009&#8243; įsidiegiau pas save automatinį antrosios datos rodymą. Tai pasidaryti <a href="http://wordpress.org" target="_blank" class="liexternal">Wordpress</a> yra labai paprasta: tereikia atverti savo naudojamo šablono footer.php failą per FTP arba įeiti į WP administravimo meniu <em>Išvaizda &gt; Šablonų redagavimas</em> ir  pasirinkti &#8220;Poraštė&#8221;. Atsidariusiame faile susiraskite kur rodoma data ir, pavyzdžiui, vietoj &#8220;2007 &#8211; 2008&#8243; įrašykite tokį kodą:</p>
<p><code>2007 - &lt;?php echo date("Y") ?&gt;</code></p>
<p>Pavyzdžiui, mano footer.php dabar atrodo taip (datos atvaizdavimą paryškinau raudonai):</p>
<p><code>&lt;/div&gt;<br />
&lt;div id="footer"&gt;&lt;/div&gt;<br />
&lt;div id="footerbox"&gt;<br />
&lt;div class="footer"&gt;<br />
© &lt;?php bloginfo('name'); ?&gt; <font color="#ff0000">2007 - &lt;?php echo date("Y") ?&gt;</font>.<br />
Naudojuos &lt;a href="http://wordpress.org/"&gt;WordPress&lt;/a&gt;.<br />
Temą sukūrė &lt;a href="http://www.blogohblog.com"&gt;Bobas&lt;/a&gt;, o aš ją dar pakoregavau<br />
&lt;?php wp_footer(); ?&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<p>Pakoreguoti užtruksite tik minutę ir jau kitais metais nebereikės rūpintis poraštėje esančia data, o 2009 vasarį akims netyčia užkliuvus už poraštės būsite maloniai nustebinti, kad viskas kuo puikiausiai veikia. :o)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/korektiska-data-tinklarascio-footer-srityje/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Validus XHTML</title>
		<link>http://www.arvydas.net/validus-xhtml</link>
		<comments>http://www.arvydas.net/validus-xhtml#comments</comments>
		<pubDate>Thu, 03 Jan 2008 11:40:47 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Internetas]]></category>
		<category><![CDATA[Programavimas]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/validus-xhtml</guid>
		<description><![CDATA[
Mano tinklaraštis atitinka XHTML standartus ir yra validus. Valio! Ar vertėjo vargti? Pabandysiu atsakyti į šį klausimą, bet prieš tai nesuprantantiems bandysiu paaiškinti trumpai ir žmogiškai kas yra ta baisi frazė XHTML validumas.
XHTML for dummies
Internetinės svetainės kuriamos tam tikra &#8220;programavimo&#8221; kalba. Pavyzdžiui, tam kad atsirastų paveiksliukas mano įraše, reikia parašyti tokį kodą paprasčiausiame teksto redaktoriuje:
&#60;img [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.arvydas.net/wp-content/uploads/2008/01/valid-xhtml.jpg" alt="valid-xhtml.jpg" /></p>
<p>Mano tinklaraštis atitinka XHTML standartus ir yra validus. Valio! Ar vertėjo vargti? Pabandysiu atsakyti į šį klausimą, bet prieš tai nesuprantantiems bandysiu paaiškinti trumpai ir žmogiškai kas yra ta baisi frazė <em>XHTML validumas</em>.</p>
<p><span id="more-162"></span><strong>XHTML for dummies</strong></p>
<p>Internetinės svetainės kuriamos tam tikra &#8220;programavimo&#8221; kalba. Pavyzdžiui, tam kad atsirastų paveiksliukas mano įraše, reikia parašyti tokį kodą paprasčiausiame teksto redaktoriuje:</p>
<p>&lt;img src=&#8221;http://kazkoks.adresas.lt/kazkoks/katalogas/paveiksliukas.jpg&#8221; /&gt;</p>
<p>Šį tekstą kaip dalį internetinės svetainės parsisiuntusi naršyklė gaus instrukciją, kad reikia rodyti paveiksliuką (IMG yra trumpinys nuo IMAGE), kurį prieš tai dar reikia parsisiųsti iš http://kazkoks.adresas.lt/kazkoks/katalogas/paveiksliukas.jpg (SRC yra trumpinys nuo SOURCE). Visi kiti &lt;, /&gt;, = simboliai tėra tam tikros sintaksės dalis, kuri ir vadinama XHTML.</p>
<p>Taip, kaip lietuvių kalba turi savo sintaksę, lygiai taip pat ir XHTML turi savo griežtą struktūrą. Kartais kalbėdami ar rašydami darome klaidų, bet suprantame vienas kitą, ar ne? Panašiai ir programuojant: internetinių svetainių kode irgi kartais paliekamos klaidos, todėl mano pavyzdys su paveiksliuku galėtų būti parašytas ir be kai kurių simbolių.</p>
<p>&lt;img src=http://kazkoks.adresas.lt/kazkoks/katalogas/paveiksliukas.jpg &gt;</p>
<p>Kaip matote aukščiau, pamiršau kabutes ir gale privalomą direktyvos užbaigimo simbolį /, bet šiuolaikinės internetinės naršyklės vis tiek paveiksliuką atvaizduos, nes savyje turi &#8220;spėliojimo&#8221; galimybes, kurios bando ištaisyti programuotojų paliktas klaidas.</p>
<p>Kiek pamenu, lietuvių kalbos mokytoja man mokykloje būdavo griežta: kiekvieną klaidą rašiniuose taisydavo raudonai. :o) Lietuvių kalbos mokytojos vaidmenį internetinių svetainių programuotojams atlieka <a href="http://validator.w3.org/" target="_blank" class="liexternal">validator.w3.org</a> tarnyba, kuri parodo visas klaidas ir paaiškina kaip viskas turėtų būti įrašyta be klaidų.</p>
<p><strong> Tai apie ką mes čia?</strong></p>
<p>Ach taip, grįžkime prie to, kad mano blogas yra validus&#8230; Esu programuotojas, todėl padaryti savo blogą validžiu sudėtinga nebuvo. Turėjau pataisyti vos 30 klaidų, kurios buvo mano šablono redagavimo ir sukurto įskiepio pasekmė. Ką iš to išlošiau? Nieko ypatingo: tiek Internet Explorer, tiek Mozilla Firefox, tiek Opera naršyklės rodo mano svetainę taip kaip ir rodė anksčiau. Vienintelis privalumas &#8211; tikiuosi aukštesnio rango Google paieškoje. Na, dar gavau teisę įsidėti W3C validumą patvirtinančią ikoną, kurią rasite dešinėje po nuotraukomis, bet čia &#8211; smulkmena&#8230;</p>
<p><strong>Ar TAU reikia atitikti standartus?</strong></p>
<p>Jei tavo svetainė atitinka kodo standartus dar <em>nereiškia, kad ji bus vienodai rodoma visose naršyklėse</em>. Kur problema? Pačios naršyklės neatitinka standartų. :o) Validumu verta užsiiminėti nebent iš sportinio intereso, o man pačiam kaip programuotojui tai šiek tiek ir garbės reikalas. Blogeriui, kuris nieko net nenutuokia apie korektišką XHTML ir visą kitą programavimo briedą užtenką, kad svetainė būtų panašiai rodoma populiariausiose Internet Explorer ir Mozilla Firefox naršyklėse.</p>
<p>Daugiau apie nevaldžius tinklaraščius ir to priežastis galite pasiskaityti <a href="http://www.nezinau.lt/svetaines-optimizavimas-iii-dalis-validus-xhtml" target="_blank" class="liexternal">išsamesniame vienotokio rašinyje</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/validus-xhtml/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>CSS mygtukų dizaineris</title>
		<link>http://www.arvydas.net/css-mygtuku-dizaineris</link>
		<comments>http://www.arvydas.net/css-mygtuku-dizaineris#comments</comments>
		<pubDate>Sun, 09 Dec 2007 13:23:48 +0000</pubDate>
		<dc:creator>Arvydas</dc:creator>
				<category><![CDATA[Internetas]]></category>
		<category><![CDATA[Linksmai]]></category>
		<category><![CDATA[Programavimas]]></category>
		<category><![CDATA[bejeriai]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[mygtukai]]></category>

		<guid isPermaLink="false">http://www.arvydas.net/2007/12/09/css-mygtuku-dizaineris/</guid>
		<description><![CDATA[
Beieškodamas kaip susikurti gražesnį savo tinklaraščio paieškos mygtuką užtikau  tokį puslapį, kuriame galima tai padaryti vizualiai. Funkcionalumo prasme ten viskas super, bet mane labai sudomino lango valdymo mygtukai esantys viršuje. Galvoju, kokio velnio čia tie mygtukai viduryje internetinio puslapio?! Nuspaudžiau šiaip, iš įdomumo&#8230; na, ir prasidėjo! Papasakokit kaip jums sekės.  :-)
P.S. Ir netingi [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.arvydas.net/wp-content/uploads/2007/12/css-button-designer.jpg" alt="css-button-designer.jpg" /></p>
<p>Beieškodamas kaip susikurti gražesnį savo tinklaraščio paieškos mygtuką užtikau  tokį puslapį, kuriame <a href="http://www.pagetutor.com/button_designer/index.html" title="CSS button designer" target="_blank" class="liexternal">galima tai padaryti vizualiai</a>. Funkcionalumo prasme ten viskas super, bet mane labai sudomino lango valdymo mygtukai esantys viršuje. Galvoju, kokio velnio čia tie mygtukai viduryje internetinio puslapio?! <span id="more-5"></span>Nuspaudžiau šiaip, iš įdomumo&#8230; na, ir prasidėjo! Papasakokit kaip jums sekės.  :-)</p>
<p>P.S. Ir netingi kartais žmonės iš idėjos programuoti.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arvydas.net/css-mygtuku-dizaineris/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
