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

<channel>
	<title>Crimson ruby</title>
	<atom:link href="http://samurai.ge/feed/" rel="self" type="application/rss+xml" />
	<link>http://samurai.ge</link>
	<description></description>
	<pubDate>Sat, 27 Feb 2010 18:30:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ლოგოების ხელოვნება</title>
		<link>http://samurai.ge/2010/02/27/the-art-of-logos/</link>
		<comments>http://samurai.ge/2010/02/27/the-art-of-logos/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 18:30:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://samurai.ge/?p=303</guid>
		<description><![CDATA[მე ახლა თავს უფლებას ვერ მივცემ ლოგოების ავ-კარგიანობაზე ან ’როგორი-უნდა-იყოს-ლოგო’ თემაზე ვისაუბრო  )  მაგრამ თვალიერება მეტისმეტად მიყვარს. დღეს კიდევ ფრიად სასიამოვნოდ გამაკვირვა რამდენიმე მათგანმა.
საქმე იმაშია, რომ არ მოველოდი ქართულ ტიპოგრაფიას იმ საიტებზე, სადაც გამორჩეული ლოგოების გალერეებია. არა იმიტომ, რომ ქართული რაიმეთი ნაკლებია.. უბრალოდ არ ვარ განებივრებული მსგავსი მოულოდნელობებით.
აი, თავად ნახეთ:

ეს Web designer ledger-ზე იყო..
ამას [...]]]></description>
			<content:encoded><![CDATA[<p>მე ახლა თავს უფლებას ვერ მივცემ ლოგოების ავ-კარგიანობაზე ან ’როგორი-უნდა-იყოს-ლოგო’ თემაზე ვისაუბრო <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> )  მაგრამ თვალიერება მეტისმეტად მიყვარს. დღეს კიდევ ფრიად სასიამოვნოდ გამაკვირვა რამდენიმე მათგანმა.</p>
<p>საქმე იმაშია, რომ არ მოველოდი ქართულ ტიპოგრაფიას იმ საიტებზე, სადაც გამორჩეული ლოგოების გალერეებია. არა იმიტომ, რომ ქართული რაიმეთი ნაკლებია.. უბრალოდ არ ვარ განებივრებული მსგავსი მოულოდნელობებით.</p>
<p>აი, თავად ნახეთ:</p>
<p><img class="aligncenter size-full wp-image-304" title="logos1" src="http://samurai.ge/wp-content/uploads/2010/02/logos1.jpg" alt="logos1" width="450" height="377" /></p>
<p>ეს <a href="http://webdesignledger.com" target="_blank">Web designer ledger</a>-ზე იყო..<br />
ამას კი <a href="http://logopond.com" target="_blank">logopond.com</a>-ზე გადავაწყდი:&lt;<br />
<img class="aligncenter size-full wp-image-305" title="logos2" src="http://samurai.ge/wp-content/uploads/2010/02/logos2.jpg" alt="logos2" width="450" height="377" /><br />
ეს ”იმედის გმირები” milash-ს, იგივე გიორგი ბოხუას ეკუთვნის და მისი სხვა ლოგოები <a href="http://logopond.com/members/profile/showcase/17896" target="_blank">ამ ბმულზე</a> შეგიძლიათ ნახოთ.<br />
ამავე საიტზე შემხვდა ქართული ლოგოების კიდევ ერთი ავტორი - topicha</p>
<p><img class="aligncenter size-full wp-image-307" title="giwa-by-topicha1" src="http://samurai.ge/wp-content/uploads/2010/02/giwa-by-topicha1.png" alt="giwa-by-topicha1" width="286" height="237" />მისი გალერეა <a href="http://logopond.com/members/profile/showcase/22948" target="_blank">ამ ბმულზეა.</a></p>
<p><a href="http://logopond.com/members/profile/showcase/22948" target="_blank"></a>თქვენ თუ ხართ იქ დარეგისტრირებული თქვენი ლოგოებიანად ან იცით ვინმე ქართველი, კომენტარებში გამიმხილეთ. მეც დიდი სიამოვნებით ვნახავდი )</p>
<p>აქ კი logopond.com-ზე არსებული პორტფოლიოებიდან რამდენიმე ჩემს ფავორიტს, ორიგინალურ ლოგოს ამოვარჩევ:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-308" title="the_human_elements_by_impodster" src="http://samurai.ge/wp-content/uploads/2010/02/the_human_elements_by_impodster.png" alt="the_human_elements_by_impodster" width="210" height="168" />The Human Elementsby impodster</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-309" title="in_safe_hands_by_danny" src="http://samurai.ge/wp-content/uploads/2010/02/in_safe_hands_by_danny.png" alt="in_safe_hands_by_danny" width="210" height="168" /></p>
<p style="text-align: center;">In Safe Hands by danny</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-310" title="minimal_logos_8" src="http://samurai.ge/wp-content/uploads/2010/02/minimal_logos_8.jpg" alt="minimal_logos_8" width="210" height="168" /></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-311" title="minimal_logos_21" src="http://samurai.ge/wp-content/uploads/2010/02/minimal_logos_21.jpg" alt="minimal_logos_21" width="210" height="168" /></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-312" title="minimal_logos_2" src="http://samurai.ge/wp-content/uploads/2010/02/minimal_logos_2.jpg" alt="minimal_logos_2" width="210" height="168" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-313" title="the_little_big_company_by_nido" src="http://samurai.ge/wp-content/uploads/2010/02/the_little_big_company_by_nido.png" alt="the_little_big_company_by_nido" width="210" height="168" />The Little Big Company by nido</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-314" title="gels_kitchen_by_lboi" src="http://samurai.ge/wp-content/uploads/2010/02/gels_kitchen_by_lboi.png" alt="gels_kitchen_by_lboi" width="210" height="168" />Gel&#8217;s Kitchen by lboi</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-315" title="grace_hospice_by_strangeideas" src="http://samurai.ge/wp-content/uploads/2010/02/grace_hospice_by_strangeideas.png" alt="grace_hospice_by_strangeideas" width="210" height="168" />Grace Hospice by strangeideas</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-316" title="more_by_actiondesigner" src="http://samurai.ge/wp-content/uploads/2010/02/more_by_actiondesigner.png" alt="more_by_actiondesigner" width="210" height="168" />More by actiondesigner</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-317" title="hope_by_janzabransky" src="http://samurai.ge/wp-content/uploads/2010/02/hope_by_janzabransky.png" alt="hope_by_janzabransky" width="210" height="168" />Hope by janzabransky</p>
<p style="text-align: left;">ბოლოს იდეა ძალიან მომწონს :))</p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2010/02/27/the-art-of-logos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ნუ მაჭრით თმებს ;(</title>
		<link>http://samurai.ge/2010/02/11/nu-machrit-tmebs/</link>
		<comments>http://samurai.ge/2010/02/11/nu-machrit-tmebs/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 15:54:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Non-virtual life :)]]></category>

		<category><![CDATA[ბავშვი]]></category>

		<category><![CDATA[თმები]]></category>

		<category><![CDATA[ფოტო]]></category>

		<guid isPermaLink="false">http://samurai.ge/?p=296</guid>
		<description><![CDATA[არც ავტორის და არც ბავშვის ვინაობა არ ვიცი, მაგრამ საშინლად მიყვარს ეს ფოტო..  და აქ იყოს რომ ხშირად დავინახო ხოლმე..

]]></description>
			<content:encoded><![CDATA[<p>არც ავტორის და არც ბავშვის ვინაობა არ ვიცი, მაგრამ საშინლად მიყვარს ეს ფოტო.. <img src='http://samurai.ge/wp-includes/images/smilies/girl_in_love.gif' alt=':girl_in_love:' class='wp-smiley' /> და აქ იყოს რომ ხშირად დავინახო ხოლმე..</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-297" title="nu-machrit-tmebs" src="http://samurai.ge/wp-content/uploads/2010/02/0w8hosa5si44w4f18518.jpg" alt="nu-machrit-tmebs" width="450" height="311" /></p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2010/02/11/nu-machrit-tmebs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>File input ველი html-ში</title>
		<link>http://samurai.ge/2010/02/05/file-input-field-in-html/</link>
		<comments>http://samurai.ge/2010/02/05/file-input-field-in-html/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 19:57:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[HTML/CSS]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://samurai.ge/?p=291</guid>
		<description><![CDATA[ბლოგზე მაინც დავწერო რამე, გულს გადავაყოლებ..
ყველაზე ბოლოს რაც მახსოვს, html file input-ის ღილაკზე მინდოდა სტილის დადება (არ მითხრათ flash-ით გექნაო :D)

ნუ, თურმე, რაც არ უნდა თავი მოიკლას კაცმა, მაგ ღილაკს სტილს ვერ შეუცვლის.. ვერც ტექსტს (choose file&#8230;). ამ ტექსტს ბრაუზერი სვამს და თან სხვადასხვა ბრაუზერში სხვადასხვაა ხოლმე.
გუგლმა რაღაც ჰაკებამდე მიმიყვანა.. ხალხი css-ით და javascript-ით აღწევს [...]]]></description>
			<content:encoded><![CDATA[<p>ბლოგზე მაინც დავწერო რამე, გულს გადავაყოლებ..</p>
<p>ყველაზე ბოლოს რაც მახსოვს, html file input-ის ღილაკზე მინდოდა სტილის დადება (არ მითხრათ flash-ით გექნაო :D)</p>
<input name="some_file" type="file" />
<p>ნუ, თურმე, რაც არ უნდა თავი მოიკლას კაცმა, მაგ ღილაკს სტილს ვერ შეუცვლის.. ვერც ტექსტს (choose file&#8230;). ამ ტექსტს ბრაუზერი სვამს და თან სხვადასხვა ბრაუზერში სხვადასხვაა ხოლმე.</p>
<p>გუგლმა რაღაც ჰაკებამდე მიმიყვანა.. ხალხი css-ით და javascript-ით აღწევს იმას, რომ ამ file input-ს გამჭვირვალეს ასვამს თავზე ჩვეულებრივ ღილაკს და input ველს (ანუ fileinput ზევიდანაა).</p>
<p>და მერე ჯავასკრიპტით იღებს ფაილის სახელს..</p>
<p>ერთი კი ვიფიქრე, ამხელა ამბები რად უნდა თქო.. იმიტომ რომ ერთი შეხედვით სამ ხაზში გამოდიოდა ყველანაირად მარტივი პასუხი:</p>
<pre class="brush: text;">&lt;button type=&quot;submit&quot; id=&quot;fake-btn&quot; onclick=&quot;document.getElementById('real').click();&quot;&gt; ატვირთვა&lt;/button&gt;
&lt;input type=&quot;text&quot; id=&quot;filename_in&quot;/&gt;
&lt;input type=&quot;file&quot; id=&quot;real&quot; style=&quot;display:none&quot; value=&quot;some&quot; onchange=&quot;document.getElementById('filename_in').value = this.value;&quot;/&gt;</pre>
<p>ანუ, ვმალავ ნამდვილ ამტვირთავ ინფუთს, მაქვს ჩემი ღილაკი და ტექსტური ინფუთი და როცა ვინმე დააჭერს ჩემს ღილაკზე, ვაჭერინებ დამალულზეც click() მეთოდით. ხოლო მერე რა value-საც მიიღებს დამალული ელემენტი , ის გამომაქვს ჩემს ტექსტურ ინფუთში (onchange ივენტის საშუალებით).</p>
<p>მაგრამ მერე გამოჩნდა რატომაც არ გამოდიოდა ესე მარტივად. მოზილას და ოპერას click() მეთოდი (რომლითაც პროგრამულად ვაკეთებთ ელემენტზე მაუსის დაჭერის შემცვლელ მოქმედებას) არ აქვთ file input-ისთვისთვის.. გამონაკლისია ეს. ალბათ უსაფრთხოების მხრივ, მაგრამ რა დიდი ზარალი ეგ არის, ერთი ფაილ დიალოგი გამოვიდეს და მორჩა.. მოკლედ არ ვიცი რატომ არ აქვთ <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> მაგრამ ფაქტია.. და კიდევ არც onchange ივენთი არ ესმით მაგისთვის.</p>
<p>ჰაკებსაც არ ადგიათ კარგი დღე. თუ ვინმე გადაწყვეტთ ამ ფაილ ინფუთის გალამაზებას, ბევრი ბრაუზერის ხუშტურების გათვალისწინება მოგიწევთ <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> მგონი ყველასი სათითაოდ <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> </p>
<p>ყოველი შემთხვევისთვის ერთ-ერთი გავრცელებული გზა ეს არის: <a href="http://www.quirksmode.org/dom/inputfile.html" target="_blank">Quirksmode.org</a></p>
<p>ისე კარგი ამბავიც არის - html5-ში multiple file ამტვირთავი იქნება ეს ელემენტი. ახლა ეს შესაძლებლობა არ აქვს და flash-ის uploader-ებს იყენებენ ხოლმე.</p>
<p>რომ დავფიქრდი, მგონი ყველაზე მეტი ამ ელემენტმა მაწვალა <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> მე კიდევ jquery-ის ვაწვალებდი. აი მაგალითად აჯაქს რიქვესთით კი ვერ ატვირთავთ სურათს <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> აუცილებლად უნდა გადავიდეს საბმიტის გვერდზე. jquery.post-ით ფორმის მონაცემებს რომ ვგზავნით, არ იგზავნება ეს. არც jQuery-ის serialize() ფუნქცია მოქმედებს მაგაზე, ფორმის სერიალიზებას როცა ვაკეთებთ..</p>
<p>გამოსავალი iframe ელემენტია ან ისევ flash uploader-ი.</p>
<p>და ბოლოს, რომ გამოვკეთდები ეს პოსტი რომ არ წავშალო, სიმღერასაც დავამატებ&#8230; : D i love it<br />
<br/><br />
<object width="425" height="344" data="http://www.youtube.com/v/ZqaYmQZgrB4&amp;hl=en_US&amp;fs=1&amp;color1=0x5d1719&amp;color2=0xcd311b" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ZqaYmQZgrB4&amp;hl=en_US&amp;fs=1&amp;color1=0x5d1719&amp;color2=0xcd311b" /><param name="allowfullscreen" value="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2010/02/05/file-input-field-in-html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Polling და Pushing აჯაქსით</title>
		<link>http://samurai.ge/2010/02/01/polling-and-pushing-with-ajax/</link>
		<comments>http://samurai.ge/2010/02/01/polling-and-pushing-with-ajax/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 17:59:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[სხვადასხვა]]></category>

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

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

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

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

		<category><![CDATA[შეტყობინებები]]></category>

		<guid isPermaLink="false">http://samurai.ge/?p=287</guid>
		<description><![CDATA[მივადექი საიტის შეტყობინებების (notifications) ნაწილს და ბლოგი ძალიან რომ არ მივივიწყო, ნანახის მიმოხილვას აქ გავაკეთებ  
შეტყობინებებში ვგულისხმობ მომხმარებელს რომ პატარა ღრუბელი გამოუჩნდება ხოლმე ”თქვენ მიიღეთ ახალი შეტყობინება”, ან ”თქვენს თემას აქვს ახალი გამოხმაურება”.. ან ჩატის ანალოგი ავიღოთ..  ეს არის შემთხვევა, როდესაც სერვერზე ხდება რაღაც მოვლენა და კლიენტს უნდა მიუვიდეს ამის შესახებ ინფორმაცია.
რადგან სერვერი ვერ [...]]]></description>
			<content:encoded><![CDATA[<p>მივადექი საიტის შეტყობინებების (notifications) ნაწილს და ბლოგი ძალიან რომ არ მივივიწყო, ნანახის მიმოხილვას აქ გავაკეთებ <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> </p>
<p>შეტყობინებებში ვგულისხმობ მომხმარებელს რომ პატარა ღრუბელი გამოუჩნდება ხოლმე ”თქვენ მიიღეთ ახალი შეტყობინება”, ან ”თქვენს თემას აქვს ახალი გამოხმაურება”.. ან ჩატის ანალოგი ავიღოთ..  ეს არის შემთხვევა, როდესაც სერვერზე ხდება რაღაც მოვლენა და კლიენტს უნდა მიუვიდეს ამის შესახებ ინფორმაცია.</p>
<p>რადგან სერვერი ვერ იქნება ინიციატორი, აუცილებელია რომ პირველად მოთხოვნა კლიენტისგან გაიგზავნოს. პრობლემა კი იმაშია, რომ კლიენტმა წინასწარ არ იცის მოვლენა როდის მოხდება სერვერზე.</p>
<p>ამ ამოცანის გადასაჭრელად ძირითადად ორ გზას იყენებენ ხოლმე:</p>
<blockquote><p>1. ყოველ 5 წამში (სიტყვაზე) ბრაუზერი ეკითხება სერვერს ჩემთვის რამე ახალი ხომ არ გაქვსო (უგზავნის მოთხოვნას XMLHttpRequest ობიექტის საშუალებით). სერვერიც თავის მხრივ პასუხს უბრუნებს და ასე გრძელდება დაუსრულებლად. ამას polling-ს ეძახიან.</p>
<p>2. ბრაუზერი მიმართავს სერვერს და ამის შემდეგ კავშირს არც ერთი მხარე არ ხურავს. HTTP ქონექშენი ღიაა. თუ სერვერზე რამე ახალი მოხდება, სტრიმის სახით გაუშვებს ინფორმაციას კლიენტთან ამ კავშირით. ეს push-ია.</p></blockquote>
<p>ორივე მეთოდს თავისი დადებითი და უარყოფითი მხარეები აქვს და ამიტომ ერთი ხელის მოსმით ვერ იტყვი რომელია უკეთესი. განვიხილოთ.</p>
<p>polling-ს ზედვე ეტყობა როგორ ხარჯავს რესურს. ჯერ მარტო ამდენი ქონექშენის გახსნით და დახურვით სერვერს ტვირთავს, მით უმეტეს როცა მომხმარებლების რაოდენობა ძალიან დიდია. ბოლოს ვეღარ გაუძლებს იქით მხარეს სერვისი და მოკვდება <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> </p>
<p>მიუხედავად იმისა, რომ push-ს ეს პრობლემა არ აქვს, აქ სხვა სახით გვაქვს სერვერზე დატვირთვა. მას ძალიან დიდი რაოდენობით გახსნილი ქონექშენის ხელში ჭერა უწევს.</p>
<p>გადატვირთვის თავიდან ასაცილებლად IE 6/7 -ში შეზღუდვაც კია დაუხურავ კავშირებზე. ამ ბრაუზერში კლიენტს არ შეუძლია ქონდეს ორზე მეტი ღია ქონექშენი სერვერთან. ანუ მაგალითად, თუ ორ ტაბში გვაქვს გახსნილი ერთი და იგივე საიტი, რომელიც ასეთ დაუხურავ კავშირს იყენებს და მესამე ტაბშიც გავხსნით, მესამე აღარ ჩაიტვირთება.</p>
<p>ამისთვის ჰეკები არსებობს რა თქმა უნდა. სხვა მნიშვნელოვან ბრაუზერებს ამის პრობლემა არ ქონიათ.</p>
<p>გასათვალისწინებელია გახსნილი ქონექშენის სტრიმის გამაჩერებლებიც - ეს შეიძლება იყოს პროქსი სერვერები, სხვადასხვა firewall-ები ან ვებ სერვერი.. მაგალითად აპაჩის mod_jk კონექტორი (ტომკეტისთვის) ხელს უშლის თურმე push-ის რეალიზაციას.</p>
<p>იმ ბრაუზერებისთვის, რომლებსაც ნამდვილი push-ის გაკეთებაზე ბევრი პრობლემა აქვთ, არის კიდევ ერთი მეთოდი - long polling. აქ push-იც გვაქვს და poll-იც. ბრაუზერი გზავნის მოთხოვნას სერვერთან და თუ მეორე მხარეს მისთვის ჯერ არაფერი არ არის, სერვერი არ პასუხობს და ქონექშენს ღიას ტოვებს, ხოლო როცა რამე გამოჩნდება, ნაკადად კი არ უშვებს არამედ მთელ პასუხს უგზავნის უკან და ხურავს კიდეც. შემდეგ კლიენტი ისევ თავიდან გზავნის მოთხოვნას და ასე შემდეგ.</p>
<p>ძალიან აღარ ჩავუღრმავდები, მით უმეტეს რომ პრაქტიკულად ამის გაკეთება გადავიფიქრე და polling ვიკმარე, რომელიც ცუდი გადაწყვეტილება არ არის, თუ რეაქციის პატარა დრო არ არის აუცილებელი ამოცანისთვის და რამდენიმე წუთში ერთხელ განახლებაც საკმარისია.</p>
<p>თუმცა რა თქმა უნდა ამოცანას გააჩნია. Push , რომლის პატერნს Comet-საც ეძახიან გამოიყენება GMail-ში, GMail-ის ჩატში, GDocs-ში, Meebo-სა და სხვა ჩატის თუ collaborate რედაქტირების საიტებში.</p>
<p>პ.ს. long polling-ის თავიდან ასაცილებლად და სულ ღია კავშირების ხარჯზე ინფორმაციის მიმოცვლისთვის HTML 5-ის სპეციფიკაციაში შემოაქვთ WebSocket კლასი, რომლითაც ასეთი პატერნის რეალიზაციაა შესაძლებელი. http://dev.w3.org/html5/websockets/</p>
<p>პ.პ.ს. იმედია, ჩემი სიტყვებით გადმოცემული პოსტი დიდად არ დაშორდა რეალურ შინაარს <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> </p>
<p>რეკომენდირებული საყურებელი:</p>
<p><a href="http://www.infoq.com/presentations/Comet-DWR-Joe-Walker" target="_blank">Interactive Websites with Comet and DWR  by Joe Walker</a></p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2010/02/01/polling-and-pushing-with-ajax/feed/</wfw:commentRss>
		</item>
		<item>
		<title>პოსტერის დიზაინის კონკურსი. პრიზი - ვაკომის პლანშეტი</title>
		<link>http://samurai.ge/2010/01/15/poster-contest-win-intuos/</link>
		<comments>http://samurai.ge/2010/01/15/poster-contest-win-intuos/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 20:04:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[wacom intuos]]></category>

		<category><![CDATA[დიზაინი]]></category>

		<category><![CDATA[კონკურსი]]></category>

		<guid isPermaLink="false">http://samurai.ge/?p=284</guid>
		<description><![CDATA[  ნორმალურ პოსტებს ცოტა ხანში დავუბრუნდები..  მანამდე კი - ერთ კონკურსს გადავაწყდი. სამწუხაროდ ცოტა გვიან ვნახე და სამი დღეღაა დარჩენილი დასრულებამდე.
შესაქმნელია www.freelancereview.net საიტის პრომო პლაკატი.
კონკურსის აღწერა, პირობები და პრიზები იხილეთ აქ:
http://99designs.com/contests/34680/brief
]]></description>
			<content:encoded><![CDATA[<p> <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> ნორმალურ პოსტებს ცოტა ხანში დავუბრუნდები..  მანამდე კი - ერთ კონკურსს გადავაწყდი. სამწუხაროდ ცოტა გვიან ვნახე და სამი დღეღაა დარჩენილი დასრულებამდე.</p>
<p>შესაქმნელია <a href="http://www.freelancereview.net/">www.freelancereview.net</a> საიტის პრომო პლაკატი.</p>
<p>კონკურსის აღწერა, პირობები და პრიზები იხილეთ აქ:<br />
<a href="http://99designs.com/contests/34680/brief">http://99designs.com/contests/34680/brief</a></p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2010/01/15/poster-contest-win-intuos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>კიდევ ერთი ლოდინი დასრულდა&#8230;</title>
		<link>http://samurai.ge/2009/11/05/kidev-erti-lodini-dasrulda/</link>
		<comments>http://samurai.ge/2009/11/05/kidev-erti-lodini-dasrulda/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 19:51:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Non-virtual life :)]]></category>

		<category><![CDATA[Wacom Cintiq]]></category>

		<category><![CDATA[პლანშეტი]]></category>

		<category><![CDATA[ხატვა]]></category>

		<guid isPermaLink="false">http://samurai.ge/?p=274</guid>
		<description><![CDATA[ბლა ბლა ბლა მიზეზების გამო ბოლო ერთი თვე გზაში იყო და ახლახანს ჩამოვა ჩემთან ის რაღაცა, რაზეც 9 თვის წინ მქონდა პოსტი (Gadgets from my wishlist). მაშინაც და შეძენამდე ერთი დღით ადრეც არ ვფიქრობდი რომ მაგას ავირჩევდი.. მაგრამ ბოლოს გადავწყვიტე რომ არც თუ ბევრი რამ მინდა.. უფრო სწორედ არაფერი მინდა ამდენი ხნის განმავლობაში (ამის გამოკლებით) [...]]]></description>
			<content:encoded><![CDATA[<p>ბლა ბლა ბლა მიზეზების გამო ბოლო ერთი თვე გზაში იყო და ახლახანს ჩამოვა ჩემთან ის რაღაცა, რაზეც 9 თვის წინ მქონდა <a href="http://samurai.ge/2009/02/04/gadgets-from-my-wishlist/" target="_blank">პოსტი (Gadgets from my wishlist).</a> მაშინაც და შეძენამდე ერთი დღით ადრეც არ ვფიქრობდი რომ მაგას ავირჩევდი.. მაგრამ ბოლოს გადავწყვიტე რომ არც თუ ბევრი რამ მინდა.. უფრო სწორედ არაფერი მინდა ამდენი ხნის განმავლობაში (ამის გამოკლებით) და გამოვიწერე Wacom Cintiq 12wx.</p>
<p>ნუ, თუ არ ცდის ადამიანი, ბევრიც რომ ვილაპარაკო ძნელი აღსაქმელი იქნება - ძალიან მოსახერხებელია. წარმოიდგინეთ, რომ ფურცელზე გაქვთ ფოტოშოპის შესაძლებლობები (ძირითადად ამასთან მაქვს შეხება, თორემ სამ განზომილებიან ობიექტებზე მუშაობისასაც ხშირად გამოიყენება).</p>
<p>ფანქარს 1024 დაჭერის (pressure) დონე აქვს და ამის გამო ძალიან გავს ნამდვილს. ერთადერთი ხმა არ აქვს <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> ხატვის დროს..  არც დაყოვნების დროს შეამჩნევთ. ეკრანზეც ზუსტად იმ დროს დადის კურსორი, რა დროსაც ფიზიკურად ფანქარი.</p>
<p>ზედ არსებული shortcut ღილაკები ყველანაირად ხელს უწყობენ მომხმარებელს, რომ კომპიუტერის კლავიატურაზე არ მოუწიოთ ხელის გადაყოფა <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> </p>
<p>პლანშეტის ეკრანი ცალკე მონიტორად უერთდება კომპიუტერს და უფრო დიდი სივრცეა ^^</p>
<p>ჯერჯერობით ნაკლი, რაც თვალში მხვდება, ბევრი კაბელები და ბლოკებია. ერთგან თუ ააწყობ, იმის მიგრაციას ერთი საათი უნდა <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' />  საერთო ჯამში კი იმაზე კმაყოფილი ვარ, ვიდრე შეიძლება <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>ეხლა მთავარია მოვიფიქრო, <a href="http://www.giolekva.com" target="_blank">ლეკვას</a> როგორ ვაჩვენო. თუ არა და მთის და მუჰამედის პრინციპით ვიმოქმედებ <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> </p>
<p><img class="aligncenter size-full wp-image-275" title="wacom-copy" src="http://samurai.ge/wp-content/uploads/2009/11/wacom-copy.jpg" alt="wacom-copy" width="400" height="400" /></p>
<p>p.s. სურათს ხვალ დღის სინათლეზე გადავუღებ <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2009/11/05/kidev-erti-lodini-dasrulda/feed/</wfw:commentRss>
		</item>
		<item>
		<title>კოდის წერის სიჩქარის მნიშვნელოვნად გაუმჯობესება</title>
		<link>http://samurai.ge/2009/09/26/how-to-code-faster/</link>
		<comments>http://samurai.ge/2009/09/26/how-to-code-faster/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 16:29:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[სხვადასხვა]]></category>

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

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

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

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

		<guid isPermaLink="false">http://samurai.ge/?p=261</guid>
		<description><![CDATA[არა მარტო კოდის  
ალბათ უმეტესი თქვენგანი უკვე იყენებს მას ან მის ალტერნატივას. ზოგიერთ IDE-ს ჩადგმული აქვს მისი შესაძლებლობები.
მე კი მხოლოდ დღეს ვნახე Nettuts+  საიტზე და უკვე შემიყვარდა. ლაპარაკია Texter პროგრამაზე.
მისი საშუალებით სიტყვებს ან სიმბოლოებს ვაბამთ სრულ სკრიპტებს, კოდის ფრაგმენტებს, თუნდაც წერილის შაბლონებს და წერის დროს უკვე ამ სიტყვებს ვიყენებთ shortcut-ის როლში იმ დიდი [...]]]></description>
			<content:encoded><![CDATA[<p>არა მარტო კოდის <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>ალბათ უმეტესი თქვენგანი უკვე იყენებს მას ან მის ალტერნატივას. ზოგიერთ IDE-ს ჩადგმული აქვს მისი შესაძლებლობები.</p>
<p>მე კი მხოლოდ დღეს ვნახე <a href="http://net.tutsplus.com/videos/screencasts/how-i-can-code-twice-as-fast-as-you/" target="_blank">Nettuts+ </a> საიტზე და უკვე შემიყვარდა. ლაპარაკია <a href="http://lifehacker.com/238306/lifehacker-code-texter-windows" target="_blank">Texter</a> პროგრამაზე.</p>
<p>მისი საშუალებით სიტყვებს ან სიმბოლოებს ვაბამთ სრულ სკრიპტებს, კოდის ფრაგმენტებს, თუნდაც წერილის შაბლონებს და წერის დროს უკვე ამ სიტყვებს ვიყენებთ shortcut-ის როლში იმ დიდი ტექსტის ჩასასმელად.</p>
<p>არა მარტო ტექსტს ვაბამთ. შესაძლებელია მაკროსების წერაც. მაგალითად, თუ წინადადების ბოლოს გაგვახსენდა, რომ წინადადება &lt;p&gt;&lt;/p&gt; პარაგრაფის ტეგებში უნდა ჩაგვესვა, Texter-ს შეუძლია ისევ რაღაც წინასწარ განსაზღვრული shortcut-ით ეს ტეგები ჩაუსვას, თუ ამ shortcuts განვსაზღვრავთ მაკროსით: {HOME}&lt;p&gt; {END}&lt;/p&gt;</p>
<p>ძალიან ზოგადად ვლაპარკობ, იმიტომ რომ ვფიქრობ ვიდეოში ყველაფერს დაწვრილებით ხსნის ჩემი ერთ-ერთი საყვარელი რედაქტორი - ჯეფრი ვეი. ვიდეო <a href="http://net.tutsplus.com/videos/screencasts/how-i-can-code-twice-as-fast-as-you/" target="_blank">ამ ბმულზეა</a>.</p>
<div id="attachment_262" class="wp-caption aligncenter" style="width: 350px"><img class="size-full wp-image-262" title="texter" src="http://samurai.ge/wp-content/uploads/2009/09/texter.png" alt="Hotstring-ის დამატება Texter-ში" width="340" height="150" /><p class="wp-caption-text">Hotstring-ის დამატება Texter-ში</p></div>
<p>როგორც ჩანს LifeHacker-ის Texter-ის გარდა კიდევ არსებობს მისი მსგავსი პროგრამები, მაგრამ მე უკეთესი ვერ შევარჩიე. ამას კი ჯერჯერობით რაც ვუპოვე ერთადერთი ნაკლი უნიკოდია. არა მარტო ის, რომ უნიკოდი თვითონ პროგრამას არ ესმის, არამედ ხელსაც მიშლის, როცა სხვაგან ვწერ ქართულად და პროგრამის გათიშვა მიწევს.. მიუხედავად ამისა მაინც საშინლად მოსახერხებელია <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2009/09/26/how-to-code-faster/feed/</wfw:commentRss>
		</item>
		<item>
		<title>უტოპია</title>
		<link>http://samurai.ge/2009/09/22/utopia/</link>
		<comments>http://samurai.ge/2009/09/22/utopia/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 18:33:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Non-virtual life :)]]></category>

		<category><![CDATA[უტოპია]]></category>

		<guid isPermaLink="false">http://samurai.ge/?p=255</guid>
		<description><![CDATA[პოსტი არქივიდან&#8230;

 4746 by CrazyTob
თბილისის ფორუმის ხშირი სტუმარი არ ვარ, მაგრამ ხანდახან წამიცდება ხოლმე მაინც ხელი და შევდივარ  იმ დღესაც ერთი თემის სათაურმა მიიქცია ყურადღება: ადამი და ევას მერე უარესობისკენ რატომ ვითარდება ყველაფერი და რამე თუ გვეშველება როდისმეო..
ეგ იყო და გამახსენდა პატარაობის თავსატეხი  ყველას უფიქრია ალბათ, ბავშვობაში მაინც, როგორი უნდა ყოფილიყო სრულყოფილი სამყარო, [...]]]></description>
			<content:encoded><![CDATA[<p><em>პოსტი არქივიდან&#8230;</em></p>
<p><img class="size-full wp-image-256" title="utopia_4746_by_crazytob" src="http://samurai.ge/wp-content/uploads/2009/09/utopia_4746_by_crazytob.jpg" alt="4746 by CrazyTob" width="400" height="400" /><br />
<span style="color:#888888;font-size:10px"> 4746 by CrazyTob</span></p>
<p>თბილისის ფორუმის ხშირი სტუმარი არ ვარ, მაგრამ ხანდახან წამიცდება ხოლმე მაინც ხელი და შევდივარ <img src='http://samurai.ge/wp-includes/images/smilies/biggri.gif' alt=':D' class='wp-smiley' /> იმ დღესაც ერთი თემის სათაურმა მიიქცია ყურადღება: ადამი და ევას მერე უარესობისკენ რატომ ვითარდება ყველაფერი და რამე თუ გვეშველება როდისმეო..</p>
<p>ეგ იყო და გამახსენდა პატარაობის თავსატეხი <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> ყველას უფიქრია ალბათ, ბავშვობაში მაინც, როგორი უნდა ყოფილიყო სრულყოფილი სამყარო, სადაც ყველა ტკივილის გარეშე იცხოვრებდა და ბედნიერი იქნებოდა : )<br />
მახსოვს რომ ვერანაირ დასკვნამდე მივდიოდი და თავს ვანებებდი ხოლმე.</p>
<p>გვიან მივხვდი, ასეთი სამყაროს არსებობა ადამიანის ბუნებიდან გამომდინარე შეუძლებელია.<br />
თუნდაც იმიტომ, რომ ფარდობითობა არ იძლევა ამის საშუალებას,<br />
რომ ტკივილის განცდის, უბედურების გარეშე ვერ აღიქვამს ადამიანი ბედნიერებას;<br />
რომ მარტოობის გარეშე ვერ გაიგებს მეგობრის ფასს;<br />
რომ ღალატის, ტყუილის გარეშე სათანადოდ ვერ დააფასებს ერთგულებას;<br />
რომ იმედგაცრუების, შეცდომის სიმწარის, შრომის გარეშე არ მოუტანს მიღწეული წარმატება სიამოვნებას;<br />
რომ შიშის გარეშე არაფრად ჩააგდებს სხვის სიმამაცეს;<br />
რომ თუ ყველაფერი ლამაზი იქნება მის გარშემო, ამას უკვე ჩვეულებრივ ამბად მიიღებს;<br />
რომ თუ ყოველთვის ბედნიერი იქნება, ის არ იქნება სინამდვილეში ბედნიერი;<br />
რომ ადამიანებს შორის ყოველთვის აღმოჩნდება გასაყოფი საგანი, რასაც ვერ გაიყოფენ;<br />
რომ რაც უფრო გიყვარს ახლობელი, უფრო მეტად გძულს ის, ვინც მის საწინააღმდეგოდ მოქმედებს;<br />
რომ განადგურება უფრო ადვილია, ვიდრე შექმნა და რომ ყოველთვის აღმოჩნდება ზარმაცი და უსინდისო, ვინც შეეცდება მარტივი გზით მიიღოს ყველაფერი;<br />
რომ ყველას განსხვავებული აზრი აქვს იმის შესახებ, თუ რა არის კარგი და რა არის ცუდი;<br />
რომ ყველას განსხვავებული გემოვნება აქვს;<br />
რომ სინამდვილეში ვერავინ გაგიგებს, მანამ სანამ საკუთარ თავზე არ გამოცდის იგივეს;<br />
რომ ადამიანებს ძალიან სჭირდებათ მიიღონ დაფასება, მაგრამ ხშირ შემთხვევაში მას არ გასცემენ;<br />
რომ სიცოცხლეს აზრი არ ექნებოდა სიკვდილის გარეშე;</p>
<p>არ ვიცი ასეთი ბუნება კარგია თუ ცუდი, მაგრამ ფაქტია, რომ ასეა <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> და ფიზიკურად შეუძლებელია ისეთი გარემოს არსებობა, რომელიც ყველასთვის მისაღები იქნება..</p>
<p>მორალი: საჭიროა შეცდომებიც, საჭიროა სინანულიც, საჭიროა ტკივილიც, საჭიროა იმედგაცრუებაც <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> იმიტომ რომ ესენი გვიბიძგებენ უკეთესობისკენ, სტიმულსაც გვაძლევენ რაღაც გაგებით, მთავარი გამოსავლის პოვნაა, გამკლავება : ) იმიტომ რომ ”რაც არ გვკლავს, გვაძლიერებს”&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2009/09/22/utopia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Zend PHP Certification: PHP Basics, part 2</title>
		<link>http://samurai.ge/2009/09/19/zend-php-certification-php-basics-part-2/</link>
		<comments>http://samurai.ge/2009/09/19/zend-php-certification-php-basics-part-2/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 20:15:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Zend PHP Certification]]></category>

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

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

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

		<guid isPermaLink="false">http://samurai.ge/?p=246</guid>
		<description><![CDATA[ორიოდ სიტყვას კიდევ ვიტყვი რიცხვით ტიპებზე, რადგან წინა პოსტში რაღაცეები გამოვტოვე.
Integer ტიპის ზომა პლატფორმაზეა დამოკიდებული.
32 ბიტიანი სისტემისთვის რიცხვი უნდა იყოს შუალედში  -2^31  და  2^31-1
64 ბიტიანი სისტემისთვის    -2^63    და  2^63-1
თექვსმეტობით (hexadecimal) წარმოდგენილი რიცხვისთვის ეს შუალედები განსხვავდება:
32 ბიტიანი სისტემისთვის  0-დან   2^31-1 -მდე
64 ბიტიანი სისტემისთვის [...]]]></description>
			<content:encoded><![CDATA[<p>ორიოდ სიტყვას კიდევ ვიტყვი რიცხვით ტიპებზე, რადგან წინა პოსტში რაღაცეები გამოვტოვე.</p>
<p>Integer ტიპის ზომა პლატფორმაზეა დამოკიდებული.<br />
32 ბიტიანი სისტემისთვის რიცხვი უნდა იყოს შუალედში  -2^31  და  2^31-1<br />
64 ბიტიანი სისტემისთვის    -2^63    და  2^63-1</p>
<p>თექვსმეტობით (hexadecimal) წარმოდგენილი რიცხვისთვის ეს შუალედები განსხვავდება:<br />
32 ბიტიანი სისტემისთვის  0-დან   2^31-1 -მდე<br />
64 ბიტიანი სისტემისთვის 0-დან   2^63-1 -მდე.</p>
<p>თუ ინტერპრეტატორს შეხვდება რიცხვი ამ საზღვრებს გარეთ (overflow), ის რიცხვს float ტიპად მიიღებს.</p>
<pre class="brush: text;">
$large_number =  2147483647;  // = 2^31-1
var_dump($large_number);
// output: int(2147483647)

$large_number =  2147483648;  // = 2^31
var_dump($large_number);
// output: float(2147483648)
</pre>
<p>Float ტიპის ზომაც პლატფორმაზეა დამოკიდებული თუმცა მაქსიმალური მნიშნველობა მიახლოებით 1.8e308-ია (64 ბიტიანისთვის, თუ სწორად გავიგე).</p>
<p>Float ტიპის რიცხვები შეიძლება წარმოვადგინოთ შემდეგი სინტაქსით (მთელის და წილადის გამოსაყოფად აუცილებლად წერტილია საჭირო და არა მძიმე):</p>
<pre class="brush: text;">
&lt;?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?&gt;
</pre>
<p>გასათვალისწინებელია, რომ PHP-ის შემთხვევაში ამ ტიპის რიცხვები სიზუსტეს კარგავს ბინარულში გადასვლის შემდეგ. მაგალითად  (int)((0.1 + 0.7) * 10) საბოლოო ჯამში მოგვცემს 7-ს და არა 8-ს.  (0.1 + 0.7)*10 გვაძლევს 7.99999..-ს.   (მთელ რიცხვზე (int) დაყვანის დროს, რიცხვი ქვედა ზღვრისკენ მრგვალდება.)</p>
<p>ამიტომ თუ მათემატიკური გამოთვლები ან შედარება გვჭირდება float ტიპით, ყოველთვის <a href="http://www.php.net/manual/en/ref.bc.php" target="_blank">BC math</a> ან <a href="http://www.php.net/manual/en/ref.gmp.php" target="_blank">gmp</a> ფუნქციები უნდა გამოვიყენოთ.</p>
<h2><strong>ოპერატორები</strong></h2>
<p>ოპერატორი შეიძლება წარმოვიდგინოთ, როგორც რაღაც, რასაც გადავცემთ ერთ ან მეტ მნიშვნელობას ან გამოსახულებას და ის თავის მხრივ რაღაც მნიშვნელობას გვიბრუნებს. ასე რომ ფუნქციებიც (მაგალითად print) შეგვიძლია ოპერატორებში ჩავთვალოთ, მაგრამ არა ისეთი კონსტრუქციები, რომელიც არაფერს აბრუნებს (მაგალითად echo).</p>
<p>ოპერატორები დაყოფილია ტიპებად (მხოლოდ რამდენიმე დეტალს ჩავუღრმავდები, დანარჩენი ჩვეულებრივი განმარტებები php.net-ზეა ან აგერ <a href="http://lemill.net/content/webpages/10dd10de10d410e010d010e210dd10e010d410d110d8-php-10e810d8-2" target="_blank">ქართულად ამ ლინკზე</a>):</p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.arithmetic.php" target="_blank">არითმეტიკული ოპერატორები</a></strong></p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.assignment.php" target="_blank">მინიჭების ოპერატორები</a></strong></p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.bitwise.php" target="_blank">ბიტური ოპერატორები</a></strong><br />
გასათვალისწინებელია შესრულების მიმდევრობა. მაგალითად == შედარებას უფრო მაღალი პრიორიტეტი აქვს ვიდრე &amp; ბიტურ ოპერაციას, ამიტომ  $a &amp; $b  == true  შემთხვევაში ჯერ შედარება შესრულდება.</p>
<p>კიდევ ერთი რამ: რატომ ვწერთ ხოლმე შეცდომების რეპორტინგის ჩართვის დროს მაგალითად ასეთ რამეს? E_ALL &amp; ~E_NOTICE</p>
<p>error_reporting-ი მიმდინარე სეთინგების შესანახად bitmask-ს იყენებს. თითოეულ ასეთი კონსტანტის უკან ბიტების ერთობლიობა დგას.</p>
<p>მაგალითად<br />
E_ALL –ს შეესაბამება  00000000000000000111011111111111.<br />
E_NOTICE  =&gt; 00000000000000000000000000001000<br />
(ანუ ბოლოდან მეოთხე ბიტი როცა ”ჩართულია”, ეს ნიშნავს რომ E_NOTICE ჩართულია)<br />
~E_NOTICE გამოვა =&gt; 11111111111111111111111111110111<br />
E_ALL &amp; ~E_NOTICE   =&gt; 00000000000000000111011111110111</p>
<p>საბოლოო ჯამში მოგცემს მთელ სიმრავლეს ოღონდ შენიშვნების (notice) გამოკლებით.</p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.comparison.php" target="_blank">შედარების ოპერატორები<br />
</a><span style="font-weight: normal; ">ამ ოპერატორებიდან and და &amp;&amp; ზუსტად ერთნაირად მოქმედებენ. ასევეა or და ||. განსხვავება მათ შორის მხოლოდ შესრულების <a href="http://www.php.net/manual/en/language.operators.precedence.php" target="_blank">მიმდევრობის პრიორიტეტებშია</a>. &amp;&amp; და ||  ოპერატორებს უფრო მაღალი პრიორიტეტი აქვთ შესრულების დროს ვიდრე მათ შესაბამის სიტყვიერ ჩანაწერებს.</span></strong></p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.errorcontrol.php" target="_blank">შეცდომების კონტროლის ოპერატორები<br />
</a><span style="font-weight: normal; ">ასეთი php-ში მხოლოდ ერთია  -   @, რომელიც შეცდომის დასაფარად გამოიყენება. ეს არ ნიშნავს, რომ ის კოდში მომხდარ შეცდომას მიხედავს, არამედ უბრალოდ შეცდომის შეტყობინებას არ გამოიტანს. ამიტომ მისი გამოყენების დროს სიფრთხილეა საჭირო და ის არ არის try..catch -ის შემცვლელი (ჩვეულებრივ მოქმედებს ფატალური შეცდომების დროსაც, როცა სკრიპტი შესრულებას წყვეტს. შეცდომის შეტყობინებას მაინც არ გამოიტანს).</span></strong></p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.execution.php" target="_blank">სისტემური ბრძანების შესრულების ოპერატორები</a></strong><br />
ასეთი ბრძანების გასაშვებად გამოიყენება ` ` ბრჭყალები (backticks). მაგალითად echo `ls -al`;</p>
<p>ისინი არ მუშაობენ თუ ჩართულია safe_mode ან გამორთულია shell_exec()</p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.increment.php" target="_blank">მნიშნველობის გასაზრდელი/შესამცირებელი ოპერატორები </a></strong>(++ &#8211;)<br />
boolean ტიპზე არ მოქმედებს.</p>
<p><a href="http://www.php.net/manual/en/language.operators.logical.php" target="_blank">ლოგიკური ოპერატორები</a><br />
აქ მხოლოდ იმას შევნიშნავ, რომ ოპერანდების მნიშვნელობიდან და ოპერატორიდან გამომდინარე შედეგის მისაღებად ყველა ოპერანდის შესრულება საჭირო არ არის და არც სრულდება. მაგალითად if (false &amp;&amp; some_function()) { }  ასეთ შემთხვევაში some_function() არასდროს გამოიძახება, რადგან false და &amp;&amp; უკვე ნიშნავს რომ საბოლოო შედეგიც false იქნება.</p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.logical.php" target="_blank">სტრიქონის ოპერატორები ( .   .= ) </a></strong></p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.array.php" target="_blank">მასივის ოპერატორები </a></strong></p>
<p><strong><a href="http://www.php.net/manual/en/language.operators.type.php" target="_blank">ტიპის ოპერატორები (instanceof)</a></strong></p>
<h2><strong>შეკითხვები:</strong></h2>
<p>1. რა მნიშვნელობები იქნება float1 და float2 ცვლადებში? (php.net)</p>
<pre class="brush: text;">
$float1 = (float) '1.5';
$float2 = (float) '1,5';
</pre>
<p><a style="display:none;" id="ddetlink1037328447" href="javascript:expand(document.getElementById('ddet1037328447'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet1037328447"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1037328447'));expand(document.getElementById('ddetlink1037328447'))</script>
1.5<br />
1<br />
</div></p>
<p>2. რა შედეგი ექნება კოდს? (php.net)</p>
<pre class="brush: text;">
&lt;?php
var_dump(25/7);
var_dump((int) (25/7));
var_dump(round(25/7));
?&gt;
</pre>
<p><a style="display:none;" id="ddetlink478356786" href="javascript:expand(document.getElementById('ddet478356786'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet478356786"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet478356786'));expand(document.getElementById('ddetlink478356786'))</script>
float(3.5714285714286)   -> / ოპერატორი არ ასრულებს მთელ გაყოფას და ჩვეულებრივ float-ს გვაძლევს შედეგად.<br />
int(3)<br />
float(4)<br />
</div></p>
<p>3. რა შედეგი ექნება f() ფუნქციის გამოძახებას? (php.net)</p>
<pre class="brush: text;">
int f()
{
  int a, b;
  a = 2, b = 4;

  return a;
}
</pre>
<p><a style="display:none;" id="ddetlink1828627391" href="javascript:expand(document.getElementById('ddet1828627391'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet1828627391"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1828627391'));expand(document.getElementById('ddetlink1828627391'))</script>
პარსირების შეცდომა მოხდება. C ენისგან განსხვავებით php-ში მძიმის გამოყენება არ შეიძლება ესეთი კომბინირებული expression-ების დასაწერად. თუმცა for ციკლში დაშვებულია.  ასეთი რამ იმუშავებს: for ($a = 2, $b = 4; $a < 3; $a++) { }<br />
</div></p>
<p>4. რა შედეგი ექნება კოდს?</p>
<pre class="brush: text;">
$a = -10 % 3;
$a += &quot;1&quot;;
echo $a;
</pre>
<p><a style="display:none;" id="ddetlink183354431" href="javascript:expand(document.getElementById('ddet183354431'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet183354431"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet183354431'));expand(document.getElementById('ddetlink183354431'))</script>
0<br />
მოდულით გაყოფის დროს თუ ერთ ერთი უარყოფითია, პასუხიც უარყოფითია.<br />
რიცხვით ტიპს თუ ვამატებთ სტრიქონს, სტრიქონი რიცხვზე დაიყვანება და ისე შესრულდება ოპერაცია.<br />
</div></p>
<p>5. რა შედეგი ექნება კოდს?(php.net)</p>
<pre class="brush: text;">
$a=1;
$a  +=  $a++   +   ++$a;
echo $a;
</pre>
<p><a style="display:none;" id="ddetlink1836149238" href="javascript:expand(document.getElementById('ddet1836149238'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet1836149238"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1836149238'));expand(document.getElementById('ddetlink1836149238'))</script>
1. ++$a is first incremented. Now $a is 2.<br />
$a += $a++  +  2<br />
$a is 2</p>
<p>2. $a++ is added to 2 then $a is incremented<br />
$a += 2 + 2<br />
$a is 3</p>
<p>3. now the value of 2 + 2 is added to $a ($a is 3)<br />
$a = $a + 2 + 2</p>
<p>Answer: 3 + 2 + 2 = 7<br />
</div></p>
<p>6. რა მნიშვნელობა იქნება $a ცვლადში ამ სტრიქონის შესრულების შემდეგ (php.net)?</p>
<pre class="brush: text;">$a = true ? 0 : true ? 1 : 2; </pre>
<p><a style="display:none;" id="ddetlink1215322904" href="javascript:expand(document.getElementById('ddet1215322904'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet1215322904"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1215322904'));expand(document.getElementById('ddetlink1215322904'))</script>
(true ? 0 : true) ? 1 : 2 = 2<br />
</div></p>
<p>7. რას დაბეჭდავს კოდი (php.net)?</p>
<pre class="brush: text;">echo 2 ^ &quot;3&quot;;
echo &quot;2&quot; ^ 3;
</pre>
<p><a style="display:none;" id="ddetlink640212888" href="javascript:expand(document.getElementById('ddet640212888'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet640212888"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet640212888'));expand(document.getElementById('ddetlink640212888'))</script>
1 1<br />
ორივე შემთხვევაში int-ზე დაიყვანს<br />
2 ^ ((int)&#8221;3&#8243;) => 1<br />
((int)&#8221;2&#8243;) ^ 3 => 1<br />
</div></p>
<p>8. რას დაბეჭდავს კოდი?</p>
<pre class="brush: text;">
function f(){
  echo 'I am inside f function\n';
  return false;
}

if (true | f()){
	echo 'bla bla bla';
}
</pre>
<p><a style="display:none;" id="ddetlink673268449" href="javascript:expand(document.getElementById('ddet673268449'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet673268449"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet673268449'));expand(document.getElementById('ddetlink673268449'))</script>
I am inside f function<br />
bla bla bla</p>
<p>| ოპერატორი || -ის მსგავსად short-circuit არ არის. ორივე მხარე შესრულდება, იმის მიუხედავად, რომ პირველი ოპერანდი true-ს უდრის.<br />
</div></p>
<p>9. რას დაბეჭდავს კოდი?</p>
<pre class="brush: text;">$a=true;
$a--;
echo $a;
</pre>
<p><a style="display:none;" id="ddetlink1181145406" href="javascript:expand(document.getElementById('ddet1181145406'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet1181145406"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1181145406'));expand(document.getElementById('ddetlink1181145406'))</script>
1<br />
++ და &#8212; ოპერატორები ბულის ტიპებზე არ მოქმედებს.<br />
</div></p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2009/09/19/zend-php-certification-php-basics-part-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Zend PHP Certification: PHP Basics</title>
		<link>http://samurai.ge/2009/08/16/zend-php-certification-php-basics/</link>
		<comments>http://samurai.ge/2009/08/16/zend-php-certification-php-basics/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 12:16:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Zend PHP Certification]]></category>

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

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

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

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

		<guid isPermaLink="false">http://samurai.ge/?p=227</guid>
		<description><![CDATA[PHP ტეგები
სულ ოთხი ტიპის ტეგი არსებობს, რომელთაგან მხოლოდ პირველის გამოყენებაა რეკომენდირებული.

1. ჩვეულევრივი
&#60;?php echo &#34;Hello World&#34;; ?&#62;
2. short tags
&#60;? echo &#34;Hello World&#34;; ?&#62;  ან &#60;?= &#34;Hello World&#34; ?&#62;
3. ASP tags
&#60;% echo &#34;Hello World&#34;; %&#62; (მისი shortcut &#60;%= &#34;Hello World&#34; %&#62;
4. Script tags
&#60;script language=&#34;php&#34;&#62;
echo 'Hello world';
&#60;/script&#62;


ამ ოთხიდან Short და Asp ტეგების გამოყენება თუ გვინდა, php-ის კონფიგურაციაში [...]]]></description>
			<content:encoded><![CDATA[<p style="color:#CC3300;font-weight:bold;font-size:17px;">PHP ტეგები</p>
<p>სულ ოთხი ტიპის ტეგი არსებობს, რომელთაგან მხოლოდ პირველის გამოყენებაა რეკომენდირებული.</p>
<pre class="brush: php;">
1. ჩვეულევრივი
&lt;?php echo &quot;Hello World&quot;; ?&gt;
2. short tags
&lt;? echo &quot;Hello World&quot;; ?&gt;  ან &lt;?= &quot;Hello World&quot; ?&gt;
3. ASP tags
&lt;% echo &quot;Hello World&quot;; %&gt; (მისი shortcut &lt;%= &quot;Hello World&quot; %&gt;
4. Script tags
&lt;script language=&quot;php&quot;&gt;
echo 'Hello world';
&lt;/script&gt;
</pre>
<ul>
<li>ამ ოთხიდან Short და Asp ტეგების გამოყენება თუ გვინდა, php-ის კონფიგურაციაში უნდა გავააქტიუროთ შესაბამისი ფუნქციონალი. ისინი პორტატული არ არის და საერთოდ გვირჩევენ, რომ არ გამოვიყენოთ.</li>
<li>short ტეგებს კონფლიქტი მოსდით xml ჰედერთან.</li>
<li>ყველანაირი სიმბოლოები (მათ შორის ”ცარიელი” space-ები, ახალი ხაზის “\n” სიმბოლოები, ტაბები “\t”) რაც php ტეგების გარეთაა, პირდაპირ ბრაუზერის output-ში წავა. და თუ ისინი ჰედერებს გაუსწრებენ, არასასურველი შედეგი იქნება.</li>
<li>ზედა პუნქტიდან გამომდინარე php პარსერი დამხურავი ტაგის მომდევნო პირველ newline სიმბოლოს output-ში არ გაგზავნის, იმიტომ რომ ზოგი რედაქტორი ავტომატურად, ჩვენს გარეშე ამატებს ”\n”-ს ფაილის ბოლოს.</li>
<li>თუ დამხურავი ტეგი ფაილის ბოლოს არის, ის შეიძლება საერთოდ გამოვტოვოთ და ამით თავიდან ავიცილოთ ზევით განხილული შემთხვევა. შეცდომა არ იქნება, ოღონდ ეს xml პარსერს შეუშლის ხელს.</li>
</ul>
<p style="color:#CC3300;font-weight:bold;font-size:17px;">კომენტარები</p>
<ul>
<li>ერთ-ხაზიანი კომენტარებისთვის შეგვიძლია // და # გამოვიყენოთ. მათი მოქმედება სრულდება იმავე ხაზის ბოლოს ან იმ ხაზზე მყოფ php-ის დამხურავ ტეგთან (ეს არ ეხება script  დამხურავ ტეგს).</li>
<li>მრავალ სტრიქონიანი კომენტარებისთვის -  /* */  ან /**  */<br />
მათზე php-ის დამხურავ ტეგს ზეგავლენა არ აქვს. ასევე არ აქვს მნიშვნელობა თუ რამდენ ასეთ კომენტარის ბლოკს ჩავდგამთ ერთმანეთში, მაგრამ მისი პირველივე დამხურავი ყველას ერთდროულად დახურავს.</li>
</ul>
<p style="color:#CC3300;font-weight:bold;font-size:17px;">ტიპები</p>
<p>PHP-ში რვა პრიმიტიული ტიპი არსებობს. აქედან:</p>
<p>ოთხი სკალარული: boolean, integer, float (ზუსტად იგივეა რაც double, ორი სახელი მხოლოდ ისტორიული მიზეზის გამოა შემორჩენილი), string</p>
<p>ორი შედგენილი: array, object</p>
<p>ორი სპეციალური ტიპი: resource, NULL</p>
<p>ასევე არის რამენიმე ფსევდო-ტიპი: mixed, number, callback</p>
<p>PHP მკაცრად ტიპიზირებული ენა არ არის, ამიტომ ცვლადის წინასწარ აღწერა და ტიპის გამოცხადება საჭირო არ არის. ტიპის დადგენა runtime დროს ხდება.</p>
<p><span style="color:#CC3300;font-weight:bold;font-size:17px;">ტიპების ერთმანეთზე დასაყვანად</span> ცვლადს წინ ვუწერთ ფრჩხილებში ტიპის სახელს. დაშვებულია შემდეგი:</p>
<ul>
<li>(int), (integer) - cast to integer</li>
<li>(bool), (boolean) - cast to boolean</li>
<li>(float), (double), (real) - cast to float</li>
<li>(string) - cast to string</li>
<li>(array) - cast to array</li>
<li>(object) - cast to object</li>
</ul>
<p><strong>boolean-ზე დაყვანის შემთხვევაში</strong> შემდეგი გამოსახულებები გამოდის false:</p>
<ul>
<li>integer 0 (ნული)</li>
<li>float 0.0 (ნული)</li>
<li>ცარიელი სტრიქონი (string), და ასევე სტრიქონი, რომელიც მარტო ერთი ”0”-გან შედგება.</li>
<li>მასივი, რომელშიც ელემენტები არ არის.</li>
<li>სპეციალური ტიპი NULL</li>
<li>SimpleXML ობიექტი, რომელიც ცარიელი ტეგებისგან არის შექმნილი</li>
</ul>
<p><strong>integer ტიპზე დაყვანის დროს:</strong></p>
<ul>
<li>boolean ცვლადის დროს true გადადის ერთიანში, ხოლო false გადადის 0-იანში.</li>
<li>string ცვლადის დროს თუ სტრიქონი მხოლოდ რიცხვს არ შეიცავს, მაშინ ინტერპრეტატორი ყველანაირად ცდილობს მხოლოდ რიცხვის ნაწილი ამოიღოს. ის უგულველყოფს space-ებსაც, მაგრამ ვერაფერს იზამს, თუ სტრიქონი სხვა სიმბოლოებით იწყება (ამაზე იხილეთ სავარჯიშო 4 <img src='http://samurai.ge/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> )</li>
</ul>
<p>მთელი რიცხვები (integer)  შეიძლება წარმოდგენილი იყოს ათობით, თექვსმეტობით ან რვაობით ათვლის სისტემებში. რვაობითი რიცხვები აუცილებლად იწყება 0-ით, ხოლო თექვსმეტობითი 0x-ით.</p>
<p style="color:#CC3300;font-weight:bold;font-size:17px;">შეკითხვები:</p>
<p>შეკითხვები:<br />
1. რას დაბეჭდავს შემდეგი კოდი:</p>
<pre class="brush: php;">/*
echo &quot;Hi&quot;
// */ echo &quot;Am I commented out?&quot;;
</pre>
<p><a style="display:none;" id="ddetlink1141182224" href="javascript:expand(document.getElementById('ddet1141182224'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet1141182224"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1141182224'));expand(document.getElementById('ddetlink1141182224'))</script>
Am I commented out?<br />
*/-ს გადაფარავს //-ს.<br />
</div> </p>
<p>2. რას დაბეჭდავს შემდეგი კოდი:</p>
<pre class="brush: php;">// /* Hi ?&gt; */ Am I commented out?</pre>
<p><a style="display:none;" id="ddetlink362953577" href="javascript:expand(document.getElementById('ddet362953577'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet362953577"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet362953577'));expand(document.getElementById('ddetlink362953577'))</script>
Am I commented out?<br />
მიუხედავად იმისა, რომ PHP-ის დამხურავი ტეგი მრავალსტრიქონიან კომენტარებშია მოქცეული, ის მაინც დახურავს კომენტარს. როგორც ჩანს ამ შემთხვევაში //-ს გადაფარავს */-ს.<br />
</div> </p>
<p>3. რას დაბეჭდავს შემდეგი კოდი (php.net):</p>
<pre class="brush: php;">var_dump(0 == 1);
var_dump(0 == (bool)'all');
var_dump(0 == 'all');
var_dump(0 === 'all');</pre>
<p><a style="display:none;" id="ddetlink203061284" href="javascript:expand(document.getElementById('ddet203061284'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet203061284"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet203061284'));expand(document.getElementById('ddetlink203061284'))</script>
boolean false<br />
boolean false<br />
boolean true<br />
boolean false<br />
</div> </p>
<p>4. რას შედეგი ექნება დაყვანებს (phpf1.com):</p>
<pre class="brush: php;">1. (int)&quot;10&quot;
2. (int)&quot;10.5&quot;
3. (int)&quot;10,5&quot;
4. (int)&quot;10  &quot;
5. (int)&quot;  10  &quot;
6. (int)&quot;10test&quot;
7. (int)&quot;test10&quot;</pre>
<p><a style="display:none;" id="ddetlink519215191" href="javascript:expand(document.getElementById('ddet519215191'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet519215191"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet519215191'));expand(document.getElementById('ddetlink519215191'))</script>
1. 10<br />
2. 10<br />
3. 10<br />
4. 10<br />
5. 10<br />
6. 10<br />
7. 0<br />
</div> </p>
<p>5. რას დაბეჭდავს კოდი (php.net):</p>
<pre class="brush: php;">echo 01090;</pre>
<p><a style="display:none;" id="ddetlink871872190" href="javascript:expand(document.getElementById('ddet871872190'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet871872190"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet871872190'));expand(document.getElementById('ddetlink871872190'))</script>
დაბეჭდავს რიცხვს 8.<br />
ეს არის რვაობითის ჩანაწერი, რადგან 0-ით იწყება. მაგრამ რვაობითისთვის დაუშვებელ ციფრსაც შეიცავს. როცა ასეთი ციფრი ხვდება ინტერპრეტატორს, ის უბრალოდ დანარჩენს ჩამოაჭრის. ამ შემთხვევაში დარჩება 010, რაც ათობითში 8-ის ტოლია.<br />
</div><br />
6. რას დაბეჭდავს კოდი (php.net):</p>
<pre class="brush: php;">echo false;
echo false+false;
echo intval(false);
echo true;
echo true+true;
echo intval(true);</pre>
<p><a style="display:none;" id="ddetlink2099519988" href="javascript:expand(document.getElementById('ddet2099519988'))">პასუხის ნახვა</a>
<div class="ddet_div" id="ddet2099519988"><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet2099519988'));expand(document.getElementById('ddetlink2099519988'))</script>
როგორც ჩანს boolean კონსტანტებს, true-ს და false-ს სხვადასხვანაირად ექცევა ინტერპრეტატორი.<br />
იმის მაგივრად, რომ გამოვიდეს 000121, გამოდის 00121.<br />
ცალკე აღებული false სტრიქონად გარდაქმნის დროს 0 არ ხდება, ხოლო true ხდება 1.<br />
</div></p>
]]></content:encoded>
			<wfw:commentRss>http://samurai.ge/2009/08/16/zend-php-certification-php-basics/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
