<?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>Open Sorce Youth Community</title>
	<atom:link href="http://www.os-youth.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.os-youth.com</link>
	<description>Simple Is Perfect</description>
	<lastBuildDate>Sun, 25 Oct 2009 18:50:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dijital Fotoğrafcılık Hakkında Genel Bilgiler</title>
		<link>http://www.os-youth.com/dijital-fotografcilik-hakkinda-genel-bilgiler/</link>
		<comments>http://www.os-youth.com/dijital-fotografcilik-hakkinda-genel-bilgiler/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 18:13:23 +0000</pubDate>
		<dc:creator>tayfun.ozis.erikan</dc:creator>
				<category><![CDATA[Dijital Fotoğrafcılık]]></category>
		<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[fotoğrafcılık]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=290</guid>
		<description><![CDATA[Dijital fotoğrafçılık ile ilgili genel açıklamalar
Dijital teknolojinin hızlı sonuç verme özelliği, fotoğrafçılıkta devrim yarattı ve onu eskisinden çok daha erişilebilir bir hale getirdi. Artık bodrum kattaki karanlık odalar geçmişte kaldı. Bu gün 9 yaşındaki çocuktan 90 yaşındaki nineler ve dedelere kadar herkes fotoğraf çekebiliyor. Fotoğraf artık herzamankınden çok gördüğünüzü ve hissetiğinizi yakalama konusu haline geldi.
Bu [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><strong>Dijital fotoğrafçılık ile ilgili genel açıklamalar</strong></p>
<p>Dijital teknolojinin hızlı sonuç verme özelliği, fotoğrafçılıkta devrim yarattı ve onu eskisinden çok daha erişilebilir bir hale getirdi. Artık bodrum kattaki karanlık odalar geçmişte kaldı. Bu gün 9 yaşındaki çocuktan 90 yaşındaki nineler ve dedelere kadar herkes fotoğraf çekebiliyor. Fotoğraf artık herzamankınden çok gördüğünüzü ve hissetiğinizi yakalama konusu haline geldi.</p>
<p>Bu gün dijital fotoğrafçı olabilmek artık size bir teknoloji mağazası kadar yakın. Sanıldığının aksine fotoğraf çekebilmek ve çektiğiniz fotoğrafları görüntülemek, baskıya vermek veya paylaşmak artık neredeyse çocuk oyuncağı kadar kolay oldu.<span id="more-290"></span></p>
<p><strong>Dijital fotoğraf makineleri ile ilgili genel bilgiler</strong></p>
<p>Makinenizden en iyi sonucu alabilmek için onun nasıl çalıştığını bilmelisiniz. Daha sonra dışarıya çıkıp denemelere başlayabilirsiniz.</p>
<p>Dijital fotoğraf makinelerinin görünümü ve kontrolleri filmli fotoğraf makinelerine çok benzer. Önemli farklılıklar ise makinenin içinde yer alır. Bu farklar fotoğraf dünyasında yepyeni kapılar araladı.</p>
<p><img class="alignnone size-full wp-image-301" title="Untitled-1" src="http://www.os-youth.com/wp-content/uploads/2009/10/Untitled-1.jpg" alt="Untitled-1" width="600" height="185" /></p>
<p>Dilerseniz 4 temel fotoğraf makinesi çeşidine bir göz atalım;</p>
<ul>
<li><strong><em>Bas-Çek (Kompakt) Modeller</em></strong><em>: </em>Sabit objektifli ve flaşları olan, otomatik pozlama ve netleme yapan küçük modellerdir. Enstantane fotoğraflar için idealdirler ancak çekime müdahale imkanı sınırlıdır.</li>
<li><strong><em>Gelişmiş Kompakt Modeller:</em></strong> Refleks makinelerin çoğu özelliğine, özellikle de manual kontrol imkanına sahip, ancak daha küçük ve ucuz makinelerdir.</li>
<li><strong><em>Refleks (SLR) Makineler:</em></strong> Obkektifleri değişebilen, kaliteli bir sensör ve işlemciye, geniş bir ISO ayar aralığına sahip, harici flash ve aksesuar takılabilen, büyük ve gelişmiş makinelerdir. Neredeyse sınırsız yaratıcı müdahaleye imkan tanırlar.<strong> </strong></li>
<li><strong><em>Kameralı Telefonlar:</em></strong> Sürekli gelişen bir alan. Şu anda 2 ve 3.2 hatta 5 megapiksel modeller neredeyse standart hale geldi. Artık ISO ve beyaz ayarı gibi seçenekler bile sunabiliyorlar.<strong> </strong></li>
</ul>
<p>Bir fotoğraf makinesinde bulunan temel bazı aksanlardan da bahsetmekte fayda var;</p>
<ul>
<li><strong><em>Vizör:</em></strong> Kompozisyonunuzu oluşturmak için baktığınız alandır. Özellikle parlak ışıkta LCD ekrandan iyi görüntü alamadığızda kullanışlıdır.</li>
<li><strong><em>Flaş:</em></strong><em> </em>Entegre flaşların aydınlatma mesafesi çoğu kompakt fotoğraf makinesinde 3-4 metreye kadardır. Bazılarında kırmızı göz önleme ayarı vardır.<strong> </strong></li>
<li><strong><em>Objektif:</em></strong><em> </em>Sabit odak uzunluklu, optik ve/veya dijital zum özellikleri bulunur. Objeltiflerdeki diyafram açıklığı içeriye girecek ışık miktarını kontrol eder.</li>
<li><strong><em>Algılayıcı (Sensör):</em></strong> Üzerine düşen ışığın yoğunluğuna göre tepki veren, ışığa duyarlı hücrelerden (piksel) yapılmıştır. <strong> </strong></li>
<li><strong><em>İşlemci:</em></strong> Sensörden gelen bilgiyi dijitale çevirir.<strong> </strong></li>
<li><strong><em>Pil:</em></strong><em> </em>Çoğu model şarj edilebilen litum iyon pil kullanır. Kalem pillerin de kullanılabildiği modeller daha kullanışlıdır.<strong> </strong></li>
<li><strong><em>Bellek Kartı: </em></strong>Başka yere aktarılana kadar fotoğrafları depo eder. Eski fotoğraf makinelerindeki filmlere benzetebiliriz. Kapasitesi kayıt edilebilecek fotoğraf sayısını belirler.<strong> </strong></li>
<li><strong><em> Deklanşör:</em></strong> Otofokus ve otomatik pozlamayı devreye almak için yarıya kadar basılabilen ve tam olarak basıldığında ise fotoğrafı çeken düğmedir. Modele göre özelliği değişir.<strong> </strong></li>
<li><strong><em>Mod Kadranı:</em></strong> Çekim modunu ve diğer ayarları değiştirir. Doğru modun seçildiğinden emin olmak için fotoğraf çekmeden önce mutlaka kontrol etmeniz önerilir.<strong></strong></li>
<li><strong><em>LCD Ekran</em></strong><strong>:</strong> Görüntü izleme, görüntü bilgisi, menüler ve ayarların görüntülendiği alandır. Fotoğraflarımızı çektiğimiz anda görmemizi sağlaması dijital fotoğraf makinelerinin analog modellerin tahtını ele geçirmesindeki en önemli silahıdır.<strong></strong></li>
<li><strong><em>Açma-Kapama:</em></strong><strong> </strong>Makinenin açılıp kapandığı düğmedir. Veri kaybetmemek için bellek kartı takarken makinenizi mutlaka kapalı tutunuz.<strong></strong></li>
</ul>
<p><strong>Fotoğraf çekimine başlamadan önce neler yapmalıyız ? Ön hazırlıklar nelerdir ?</strong></p>
<p>Fotoğraf çekimimizi işgence haline getirmemek için çekşme başlamadan önce dikkat etmemiz gereken bazı kurallar vardır. Dilerseniz bunları bir sıralayalım.</p>
<ul>
<li>Çekime başlamadan önce veya bir önceki çekimden sonra mutlaka pillerinizi şarj edin veya yenileriyle değiştirin. Çekimin ortasında pil bitmesi gerçekten çok sinir bozucu olabiliyor.</li>
<li>Her çekimden sonra hafıza kartınızı mutlaka bilgisayarınıza yedekleyin. Hafıza kartınızda boş yer olduğundan emin olarak çekime çıkın.</li>
<li>Çekim yapmadan önce fotoğraf makinenizin ayar kadranındaki seçenekleri gözden geçirin. Bir önceki çekimden kalma ayarlarınızı standart ayarlara geri getirin.</li>
<li>ISO değerleri ile oynadıysanız ayarlarınızı geri alın.</li>
<li>Fotoğrafların kayıt edileceği boyut ve kalite gibi ayarları gözden geçirin. Tüm gün çekim yaptıktan sonra düşük kalite ve en küçük boyutta bıraktığınız ayarları farkettiğinizde ağlayabilirsiniz.</li>
</ul>
<p>O günkü fotoğraflarınızı çekmeden önce birkaç dakikanızı bu kontrollere ayırırsanız, sorun stress yaşamadn fotoğraf çekerisiniz. Böylelikle saçlarınız daha geç dökülür ve daha geç yaşlanırsınız</p>
<p><strong><img class="alignright size-full wp-image-297" title="image008" src="http://www.os-youth.com/wp-content/uploads/2009/10/image008.jpg" alt="image008" width="360" height="315" />Megapiksel hakkında açıklamalar</strong></p>
<p>Fotoğraf makinelerinin sensör kapasitesi “milyon piksel” anlamına gelen megapiksellerle ölçülür. Daha çok piksel daha fazla detay demektir. Ancak tıpkı arabaların gücü gibi burada da gerçek ihtiyacın bir sınırı vardır. Üstelik mesele sadece megapiksellerle ilgili değil, objektifin kalitesi ve işlemci de çok önemlidir. Çok MP li kameraların keskin renk, fazla detay ve daha az parazit üretme gibi avantajları vardır. Söz konusu parazit dijital fotoğraflarda ortaya çıkan gren şeklindedir.</p>
<p>Özetle eğer çekimlerinizi internette paylaşıyor ve pek baskı yapmayı düşünmüyorsanız, size 2 MP lik bir makine yeterli olacaktır. Büyük baskılar alacaksanız daha çok piksele ihtiyacınız olacak demektir.  Örneğin 10 MP.</p>
<p>Yandaki resmi inceleyiniz.</p>
<p><strong>Fotoğraf formatı hakkında açıklamalar</strong></p>
<p>Dijital fotoğraflar farklı formatlarda kaydedilebilmektedir. En yaygın format JPEG formatıdır. JPEG fotoğrafımızı optimum seviyede sıkıştırarak yerden kazanmamızı sağlar. Ancak bu sıkıştırma algoritması görüntü kalitesinde de bir azalmaya sebiyet verir. Sıkıstırma oranı ile oynayarak görüntü-boyut-kalite oranınızı belirleyebilirsiniz.</p>
<p>Boyut olarak fotoğraf makinelerimize S (küçük), M (orta), F (büyük) gibi seçenkler görürüz. Aynı zamanda dosya formatları olarak da JPEG, TIFF, RAW gibi formatlar da bulunmaktadır. Çoğu bas-çek fotoğraf makinesinin formatı zaten JPEG’dir. Ancak daha profesyonel makineler TIFF gibi daha karmaşık formatlara yada RAW gibi ham (işlenmemiş) dosya formatlarında kayıt yapmanıza izin vermektedir.</p>
<p><strong>Fotoğraf çekim modları (P-S-A-M)?</strong></p>
<p>Bas-çek fotoğrafçılığın ötesine geçmek istiyorsanız, işte bilmeniz gereken birkaç temel nokta. Enstantaneyi kontrol etmek, size hareketi dondurmak yada fotoğrafa hareket hissi katabilmek için hareketle birlikte pan yapma olanağı sağlar. Diyafram açıklığını ve dolayısıyla alan derinliğini kontrol etmek neyin netlenip neyin netlenmeyeceğini belirler. Deneme yapmaktan çekinmeyin. Dijital fotoğraf makinelerinde deneme yapmak bedavadır!</p>
<p>İşte temel terimler;</p>
<p><strong><em>Diyafram Açıklığı (f/2.0, f/2.8, f/4.0, f/5.6 …) :</em></strong><strong> </strong>Objektifin diyaframındaki deliğin boyutudur ve f-stop ile ölçülür. Büyük açıklık için sayı düşük, (f/2.8), küçük açıklık için ise sayı büyük (f/11) tutulur.  F değeri yükseldikçe alan derinliği artar. Ayrıca f değeri fotoğraf makinemizin sensörüne ne kadar ışık süzüleceğini de belirler.</p>
<p><strong><em>Enstantane (1, 1/30, 1,60, 1/125 …) :</em></strong><strong> </strong>Sensörün önündeki perdenin ışığı almak üzere açık kaldığı süredir. Saniyenin kesirleriyle ifade edilir. Hızlı enstantane hareketi dondurur, yavaş enstantane ise bulanıklaştırır.</p>
<p><strong><em>ISO (60, 100, 200, 400, 800, 1100, 3600…) :</em></strong><strong> </strong>Eskiden filmin ışığa karşı duyarlılığını ifade ediyordu, şimdi ise fotoğraf makinesinin sensörünün ışık hassasiyetini. Rakam yükseldikçe duyarlılık yükselir, dütükçe artar. Yüksek ISO değerlerinde noise (gren) dediğimiz paratiz oluşma riski ortaya çıkar. Düşük iso değerlerinde ise perde hızının yüksek tutulması tercih edilir. Özellikle tripodumuz (üç ayak) olmadığı zamanlarda gece çekimleri yapacaksak iso yükseltilebilir. Bunun dışında genellikle ISO değerini makinenizin izin verdiği en düşük değerde tutmanızda fayda vardır. Eğer bir üç ayağınız varsa gece cekimlerind üç ayak ve düşük ISO değerlerini kullanmanız tavsiye edilir.</p>
<p><strong>Çekim Modları:</strong></p>
<p><img class="size-full wp-image-298 alignright" title="image010" src="http://www.os-youth.com/wp-content/uploads/2009/10/image010.jpg" alt="image010" width="210" height="196" /></p>
<p>Gelişmiş dijital kompakt makinelerin çoğunda pozlama modunu Programdan Manuale çevirmeye yarayan bir kadran vardır.</p>
<p><em>Programlı Otomatik (P) : </em>Gerçek bas-çek. Hem diyafram açıklığı, hem de enstantaneye makine karar verir.</p>
<p><strong><em>Diyafram Öncelikli (A) : </em></strong>İstediğiniz alan derinliğini veren diyarfarm açıklığını seçin, enstantane  hızına makineniz karar versin.</p>
<p><strong><em>Ensantantane Öncelikli (S) : </em></strong>Hareketi donduracak ve bulanıklaştıracak enstantaneyi seçin, diyafram hızını seçme işini makinenize bırakın.</p>
<p><strong><em>Manuel (M) :</em><em> </em></strong>Tam kontrol için diyafram açıklığı/enstantane kombinasyonunu seçin. Genellikle stüdyo çekimlerinde veya deneysel takılmak için kullanabilirsiniz.</p>
<p><strong>Odaklama, netlik ve hareket ile ilgili temel kavramlar ve bilgiler?</strong></p>
<p>Fotoğraf çekerken dikkat etmemiz gereken diğer bir konu ise odaklama ve netlik konularıdır. Odaklanma işlemi fotoğraf makinelerinin objektifleri tarafından yapılmaktadır. Ve netlik ile doğrudan ilgilidir. Fotoğraf makinelerinin objektifleri tıpkı gözlerimiz gibi davranır. Bir konuya odaklanmak istediğimizde objektifimizin odak noktasını o konunun üzerine hizalar ve o kısmın netleşmesi için oraya odaklanmasını sağlarız. Artık gelişmiş fotoğraf makinelerinin çoğu otomatik odaklama sağlamaktadır. Ve dijital fotoğraf makineleri bu konuda oldukça başarılıdır. Odaklanma, konuyu ön plana yada arka plana atmak için kullanılabileceği gibi, harket hissi vermek yada farklı deneysel çalışmalar yapmak için kullanılabilir. Genelde fotoğraf makinelerimizin deklanşörüne yarım basarak objektifin konuya odaklanmasını otomatik olarak makinenin ayarlamasını sağlayabiliriz. Ancak bazı gelişmiş fotoğraf makinelerinde manuel odaklama özelliği de bulunmaktadır. Bu çok yakın makro çekimlerde yada karanlık ortamlarda odaklanmayı kendizin ayarlamasını sağlamak için kullanışlı olur.</p>
<p><strong>Hangi ortamda hangi ayarı kullanmalıyım ?</strong></p>
<p>Fotoğraf çekimlerimiz sırasında birçok farklı atomesferde, zamanda ve mekanda çekim yapma olasılığımız bulunmaktadır. Aslında bunun çok genel bir tanımı olmasa da şu şekilde genellemeye çalışayım;</p>
<ul>
<li>Eğer aydınlık ortamlarda çekim yapıyorsanız, ve gezi esnasında iseniz, yani süprizlere her an hazırlıklı olmak istiyorsanız, ayar yapmadan hemem çekm yapmak için Program  (P) modunu kullanabilirsiniz. Bu size anı kaçırmamanız için fırsat sağlarken, konuya konsantre olmanızı sağlar.</li>
<li>Eğer zaman ve mekanda ani olaylardan ziyade konu odaklı çalışıyorsanız, ve sizi acele ettirecek bir durum yoksa A-S-M modlarını kullanabilir, çekim yapmadan önce konu üzerinde düşünebilir ve ayarlarınızı buna göre yapabilirsiniz.</li>
<li>Eğer bir manzara çekiyorsanız diyafram öncelikli kipte (A) çekim yapıp Alan derinliğini yüksek  (f/11( bir değere getirererk daha fazla alanın net olmasını sağlayabilirsiniz.</li>
<li>Eğer bir portre çekiyorsanız ve arkada kalan detaylardan kurtulmak ve konuyu ön plana getirmek istiyorsanız gene diyarfram öncelikli kipte (A) , düşük f-stop ayarını (f/2.0) kullanabilirsiniz. Bu konunuzu net ama arkada kalan tüm alanı bulanık yapmanızı sağlar.</li>
<li>Eğer bir spor yada hareketli aktiviteyi çekiyorsanız enstantane öncelikli kipte (S) ve yüksek perde hızında (1/250) çekiminizi gerçekleştirebilir ve hareketi dondurabilirsiniz. Örneğin bir formula araba yarışı fotoğraflıyorsanız bu kip çok işinize yarayacaktır.</li>
<li>Eğer bir durağan cismi hareketliymiş gibi göstermek istiyorsanız ensatantane öncelikli kipi düşük perde hızına ayarlayıp (1/20) pan efekti kullanabilirsiniz.</li>
<li>Eğer gece çekim yapıyor ve elinizde üçayağınız yoksa, yüksek ISO değerlerinde (ISO 560) çekim yapabilirsiniz. Ancak fazla gürültü olmaması açısından bu değerleri çok abartmamakta fayda vardır.</li>
<li>Eğer gece çekim yapıyor ve hareketsiz objeleri resmediyorsanız, örneğin bir gün batımı, yada bir dağ, üç ayak kullanarak diyafram öncelikli kipte geniş alan derinliğinde ve düşük iso hızında çekim yapabilirsiniz. A modu, f/11, 1/80, ISO 100 gibi. Eğer tripod kullanırsanız titreme ve bulanıklık sorunları yaşamazsınız.</li>
</ul>
<p>Gördüğünüz gibi bu seçeneklerin sonu yok, burada yapacağınız sadece çok fazla fotoğraf çekmek, yaptığınız ayarlara makinenizin nasıl tepki verdiğini gözlemlemek ve olayı zamana bırakarak alışmaya çalışmaktır. Göreceksiniz zamanla her mekana makinenizi ve kendinizi hızlıca adapte edebildiğinizi farkedeceksiniz.</p>
<p><strong>Tripod (üç ayak) hangi durumlarda kullanılmalıdır ?</strong></p>
<p>Az önce de bahsettiğim gibi tripod daha çok gece cekimlerinde yada elinizle çekerken yaşanan titreme ve bulanıklık sorunlarını ortadan kaldırmak için çok gerekli bir araçtır. Eğer zamanınız kısıtlı değilse, ve fotoğraf çektiğiniz mekanlarda üç ayak kullanmanıza izin veriyorlarsa çekimlerinizi her zaman üç ayak kullanarak yapmanızı tavsiye ederim. Profesyonel fotoğrafçıların jilet gibi keskin fotoğraflar çekmelerinin sebebi  üç ayak kullanmalarından kaynaklanmaktadır.</p>
<p><strong>Flaş kullanımı ne zaman gereklidir. Flaş kullanırken nelere dikkat edilmelidir ?</strong></p>
<p>Her ne kadar fotoğfarçılıkda doğal ışık daha çok tercih edilse de, bazı ışığın yetersiz olduğu durumlarda, kapalı mekanlarda özellikle stüdyo çekimleride flaş olmazsa olmaz bir ekipmandır. Çoğu fotoğraf makinesi üzerinde bir dahili flaş ile gelmektedir. Flaş fotoğraf çekilirken biz deklanşöre bastığımız anda yöneltildiği cisme doğru yükek ışık yayan bir cihazdır. Bu ışığın şiddeti, rengi ve yayılma süresi gibi özelliklerini bazı gelişmiş modellerde ayarlama şansımız vardır. Ayrıca bazı modellerde kırmızı göz oluşumunu engelleyen seçenekler de bulunmaktadır.</p>
<p>Özetlemek gerekirse, haraketli görüntüleri dondurmak, kapalı mekanlarda çekim yapmak, farklı ışık ve renk oyunları yapmak istiyorsanız mutlaka flash kullanmalısınız. Ne yazık ki belirtmeliyim, kompakt modellerin ve hatta slr modellerin çoğunda bulunan dahili flaşlar direkt konunuzun  üzerinde patladığı için, ve çok koyu ve açık tonlar oluşturduğu için tamamen felaket sonuçlar doğuruyor. Bu bakımdan çoğu profesyonel fotoğrafçı açısı yönü şiddeti rengi ayarlanabilen harici flaşlarla çalışmayı tercih eder. Genede flash kullanmanız gerekiyorsa ve elinizde dahili flasşlı  bir makine varsa konuya uzaktan ancak objektifle zum yaparak çekim yapıni böylelikle sert ışık diye tabir edilen rahatsız edici unsurdan bir nebze kurtulmuş olursunuz.</p>
<p><strong>Fotoğrafçılıkta kompozisyonun önemi ?</strong></p>
<p>Fotoğraflarımızı çekerken vereceğimiz mesaj olulturduğumuz komposizyona bağlıdır. Bizler genellikle dünyayı yatay bir dikdörtgen şeklinde gördüğümüzden fotoğraf makinelerimizin vizörleri ve görş alanları da bu yapıya göre hazırlanmıştır.</p>
<p>Fotoğrafçılıktakı kompozisyonun ana fikri aslında o fotoğrafın konusunu oluşturmakla ilgilidir. Siz fotoğrafınızı çekmeden önce fotoğrafınıza bakan kişinin o kare hakkında ne düşünmesini istiyorsanız, karenizi buna göre kurgulamalısınız. Aynı kareyi farklı 10 fotoğrafçıdan çekmesini istesek herkes farklı fikirler ile kompozisyonunu kurgulayacağından 10 tane farklı kare elde etmiş oluruz.</p>
<p>Burada farklı olmak için kompozisyon konusuna çok önem vermemiz gerektiğini belirtmeliyim. Başarılı fotoğraflar izleyicisine birşeyler anlatabilen fotoğraflardır. Eğer bır fotoğrafınız hakkında ona bakan kişilere açıklamalarda bulunmak zorunda kalıyorsanız o fotoğrafı atın çöpe gitsin.</p>
<p><strong>Fotoğrafçılıkta açı ve kadraj konularının önemi ?</strong></p>
<p>Fotoğraflar farklılaştırmada kompozisyon ne derece önemlidir az önce değinmiştik. Peki kompozisyonumuzu kurgularken nelere dikkat etmeliyiz. Ve bu kurguyu yapmamızda bize hangı kavramlar yardımcı olur. Bu noktada kadrajlama ve açı konuları ön plana çıkmaktadır.</p>
<p>Kısaca <strong>kadraj</strong>; makinenin vizöründe gördüğün şeydir. Yani fotoğraf karesinin içine dahil ettği herşey kadrajdır. Dolayısı ile kadrajımızı düzgün ayarlamamız çok önemlidir.</p>
<p>Kısaca <strong>açı ve pozisyon</strong>; kadrajımızı ayarlarken karemize vereceğimiz perspektif hissini, konunun ve makanın birbiriyle olan ilişkisini, karenin farklılaştırılmasını sağlayan önemli unsurlardan biridir.</p>
<p>Farklı fotoğraf çekmenin bir yöntemi ise bizlerin her zaman görmeye alışık olmadığımız açılardan çekim yapmaktan geçer. Örneğin bir çiçeği her yukarıdan çekerseniz, bizlerin de hep baktığımız bir açıdan çekim yapmış olursunuz ve bu sıradan bir kare olur. Ancak çiçeğin altına yatar yada farklı bır açından çekim yaparsanız (böcek gözüyle) emin olun çekiminiz daha da ilginçleşecektir. Bu yönetmi hemen hemen her konuda uygulayabilirsiniz, deneyin ve farkınızı ortaya koyun.</p>
<p>Son olarak; bu konudaki fikirlerini benimle paylaşan, denizlili fotoğraf sanatçısı çok değerli <strong>Serdar YAĞCI</strong> (<a href="http://www.evliyacelebi.com/" target="_blank">www.evliyacelebi.com</a>) ustama teşekkürü bir borç bilirim.</p>
<p><strong>Dijital fotoğraflar nasıl saklanır ?</strong></p>
<p>Dijital fotoğraflarımızı bellek kartlarında saklarız. Eksiden fotoğraflarımızı çekmek için filmer kullanırdık ve daha sonra tekrar banyo ettirebilmek için negatifleri saklardık. Şimdi ise hafıza kartlarından bilgisayarlarımıza aktararak veya CD gibi medyalara yazarak saklamaktayız fotoğraflarımız.</p>
<p><strong>Hafıza kartları hakkında genel bilgiler ?</strong></p>
<p><strong><img class="alignleft size-full wp-image-300" title="image012" src="http://www.os-youth.com/wp-content/uploads/2009/10/image0121.jpg" alt="image012" width="607" height="94" /><br />
</strong></p>
<p>Dijital fotoğraflarımızı bellek kartlarında saklarız. Marka, model ve özellik olarak çok farklı çeşitte hafıza kartı bulunur. Bu hafıza kartları teknolojisine göre veya kapasitesine göre grupandırılmıştır.  Genellikle kullanacağınız bellek kartı türünü fotoğraf makineniz belirler.  Bu kartların hepsi küçüktür ama kapasiteleri çok büyüktür. Kartınızın en az 512 megabayt kapasiteli olması iyidir. Veri okuma-yazma hızı da kartlar açısından önemli bir unsurdur. Hızlı bir makineniz varsa hızlı kart kullanmanız yararınıza olur.</p>
<p><strong>Çektiğimiz fotoğrafları bilgisayarımıza nasıl yükleriz ?</strong></p>
<p>Bildiğiniz gibi fotoğraflarımız çekim yaptıkça hafıza kartlarında saklanıyor. Her hafıza kartının bir kapasitesi vardır. Ve bu zamanla dolar. Çekimlerimizi arşivlemek ve veri kaybı yaşamamak için fotoğraflarımızı düzenli olarak bilgisayarımıza yada başka depolama alanlarına yedeklemeliyiz. Dijital fotoğraf makinelerinin hafıza kartlarını 2 şekilde bilgisayarımıza yedekleyebiliriz. 1 fotoğraf makinesinin arkasında bulunan USB kablosu aracılığı ile, yada bilgisyarımızda bulunan kart okuyucu kullanarak. Bu işlemlerin ne şekilde yapılabileceği fotoğraf makinelerinizin kullanım klavuzlarında detaylı olarak anlatılmaktadır.</p>
<p><strong>Fotoğraflarımızı bilgisayarımıza ne şekilde saklamalı ve arşivlemeliyiz ?</strong></p>
<p>Fotoğraflarımızı da tıpkı çalışma dosyalarımız, dokumanlarımız ve önemli evraklarımıza gösterdiğimiz özen gibi, bilgisayarımızda da klasörler içinde ve tarih sırasına göre saklamakta fayda vardır. Bu sayede fotoğraflarınızı aradığınız zaman kolaylıkla bulabilirsiniz. Ayrıca özellikle belirtmeiliyim ki, fotoğraflarınızda bır takım değişiklikler yapcaaksanızi boyutlarında oynamalar yapacaksanız, fotoğraflarınızın ham ve işlenmiş hallerini mutlaka farklı dizinlerde saklayınız.</p>
<p><em><strong>Faydalandığım Bazı Kaynaklar:</strong></em></p>
<ul>
<li><em>National Geographic &#8211; Dijital Fotoğrafçılık Okulu</em></li>
<li><em>Scott Kelby - Dijital Fotoğrafçının El Kitabı</em></li>
</ul>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Fdijital-fotografcilik-hakkinda-genel-bilgiler%2F&amp;linkname=Dijital%20Foto%C4%9Frafc%C4%B1l%C4%B1k%20Hakk%C4%B1nda%20Genel%20Bilgiler">Paylaş / Kaydet</a>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/dijital-fotografcilik-hakkinda-genel-bilgiler/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CodeIgniter kullanıcı klavuzu için Firefox eklentisi</title>
		<link>http://www.os-youth.com/codeigniter-kullanici-klavuzu-icin-firefox-eklentisi/</link>
		<comments>http://www.os-youth.com/codeigniter-kullanici-klavuzu-icin-firefox-eklentisi/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 21:09:07 +0000</pubDate>
		<dc:creator>tayfun.ozis.erikan</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[eklenti]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[kullanıcı kılavuzu]]></category>
		<category><![CDATA[user guide]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=283</guid>
		<description><![CDATA[Merhaba CI aşıkları,
CodeIgniter’ ı elinizin altından düşürmemeniz için size bir kaynak daha sunuyorum.
CI forumlarında gezerken farkettigim bu kaynakta, mozilla firefox kullanıcıları için hazırlanmış bir eklenti ile CI’nin her zaman elinizin altında bulunmasını sağlayabilirsiniz. Eklenti CI kullanıcı klavuzunun en güncel haline sürekli erişmenizi sağlayacaktır.
Eklentiyi kurup firefoxu yeniden başlattığınızda firefoxa bir CI menüsü geliyor ve bu menü [...]


Related posts:<ol><li><a href='http://www.os-youth.com/codeigniter%e2%80%99a-girisi-codeigniter-kutuphanelerine-genel-bir-bakis/' rel='bookmark' title='Permanent Link: Codeigniter’a Girişi &#8211; Codeigniter Kütüphanelerine Genel Bir Bakış'>Codeigniter’a Girişi &#8211; Codeigniter Kütüphanelerine Genel Bir Bakış</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Merhaba CI aşıkları,<img class="alignright" src="http://www.kintek.com.au/ci_screen.png" alt="" width="163" height="275" /></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">CodeIgniter’ ı elinizin altından düşürmemeniz için size bir kaynak daha sunuyorum.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">CI forumlarında gezerken farkettigim bu kaynakta, mozilla firefox kullanıcıları için hazırlanmış bir eklenti ile CI’nin her zaman elinizin altında bulunmasını sağlayabilirsiniz. Eklenti CI kullanıcı klavuzunun en güncel haline sürekli erişmenizi sağlayacaktır.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Eklentiyi kurup firefoxu yeniden başlattığınızda firefoxa bir CI menüsü geliyor ve bu menü ile kullanıcı kılavuzuna doğrudan erişebiliyorsunuz.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;"><strong>Eklenti URL:</strong><br style="padding: 0px; margin: 0px; border: 0px initial initial;" /><a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/www.kintek.com.au');" href="http://www.kintek.com.au/CodeIgniterMenu.xpi">http://www.kintek.com.au/CodeIgniterMenu.xpi</a></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;"><strong>Orjiinal Kaynak:</strong> <br style="padding: 0px; margin: 0px; border: 0px initial initial;" /><a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/www.kintek.com.au');" href="http://www.kintek.com.au/codeigniter-firefox-extension.html" target="_blank">http://www.kintek.com.au/codeigniter-firefox-extension.html</a></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Sevgilerimle.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Fcodeigniter-kullanici-klavuzu-icin-firefox-eklentisi%2F&amp;linkname=CodeIgniter%20kullan%C4%B1c%C4%B1%20klavuzu%20i%C3%A7in%20Firefox%20eklentisi">Paylaş / Kaydet</a>

<p>Related posts:<ol><li><a href='http://www.os-youth.com/codeigniter%e2%80%99a-girisi-codeigniter-kutuphanelerine-genel-bir-bakis/' rel='bookmark' title='Permanent Link: Codeigniter’a Girişi &#8211; Codeigniter Kütüphanelerine Genel Bir Bakış'>Codeigniter’a Girişi &#8211; Codeigniter Kütüphanelerine Genel Bir Bakış</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/codeigniter-kullanici-klavuzu-icin-firefox-eklentisi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sıra Zend Framework’ te</title>
		<link>http://www.os-youth.com/sira-zend-framework%e2%80%99-te/</link>
		<comments>http://www.os-youth.com/sira-zend-framework%e2%80%99-te/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 21:03:26 +0000</pubDate>
		<dc:creator>tayfun.ozis.erikan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[zend studio neon]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=276</guid>
		<description><![CDATA[Bir süre düşünüp taşındıktan sonra ale çantama zend framework‘ ü de katmaya karar verdim. Zend Framework (zf) bence emsallari arasında oop kurallarını en iyi şekilde uygulayan bir uygulama çatısı. Tabi bu benim Codegniter‘ ı bırakacagım anlamına gelmiyor, üzerine zf yı de eklıyorum sadece. Ancak frameworklere ci sayesinde yumşulak bir geçiş yaptıgım için ve benım web geliştirmeye bakış [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Bir süre düşünüp taşındıktan sonra ale çantama <a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/framework.zend.com');" href="http://framework.zend.com/" target="_blank">zend framework</a>‘ ü de katmaya karar verdim. Zend Framework (zf) bence emsallari arasında oop kurallarını en iyi şekilde uygulayan bir uygulama çatısı. Tabi bu benim <a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/www.codeigniter.com');" href="http://www.codeigniter.com/" target="_blank">Codegniter</a>‘ ı bırakacagım anlamına gelmiyor, üzerine zf yı de eklıyorum sadece. Ancak frameworklere ci sayesinde yumşulak bir geçiş yaptıgım için ve benım web geliştirmeye bakış açımı ci köklü bir şekilde değiştirdiği için codeigniter’ı seviyorum ve sevmeye devam edecegım.<span id="more-276"></span></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Ancak gördum ki buyuk çaplı projeler için ve sürdürülebilir kodlar yazabilmek için zf çok daha elverişli bir ortam. Elbette bu zekice tasarlanmış ci kodları ılede mumkun ama bizim gibi orta seviye web geliştiricileri icin zend framework bir basamak yukselmek ve daha sistematık kodlama yapabilmek için daha elverişli. Zend Framework’u geliştiren ekibin PHP’yi geliştirenler olması da bir başka cazip yanı zf’nin.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Son olarak da <a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/www.zend.com');" href="http://www.zend.com/en/products/studio/" target="_blank">Zend Studio Neon</a>‘ dan bahsetmeliyim, gerçekten çok ciddi IDE sıkıntıları yaşamış bir geliştirici olarak söylemeliyim ki ZF ile Zend Neon çok uyumlu bir şekilde çalışıyorlar. MVC outline, new zf project, refactoring, profiling, debug, kod tamamlama, classlar ıcınde hızlıca dolasabilme ve birçok daha artı yanı var Zend Neon IDE’ nin. ZF kullanmayı duşunenlere şiddetle tavsiye ederim. Artı benım gibi <a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/www.eclipse.org');" href="http://www.eclipse.org/" target="_blank">Eclipse</a>‘ e aşina iseniz Zend Neounun da Eclipse platform uzerine geliştirildiğini eklemeden edemeyeceğim.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">ZF ile ilgili deneyimlerimi sizinle paylaşmaya devam edeceğim. Ancak kendiniz de incelemek isterseniz buyrun zf web adresi: <a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/framework.zend.com');" href="http://framework.zend.com/" target="_blank">http://framework.zend.com</a></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Hatta bir quick start dokumanına da <a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/framework.zend.com');" href="http://framework.zend.com/docs/quickstart" target="_blank">şuradan </a>direkt balıklama dalabilirsiniz.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Sevgilerimle.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Fsira-zend-framework%25e2%2580%2599-te%2F&amp;linkname=S%C4%B1ra%20Zend%20Framework%E2%80%99%20te">Paylaş / Kaydet</a>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/sira-zend-framework%e2%80%99-te/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter’a Girişi &#8211; Codeigniter Kütüphanelerine Genel Bir Bakış</title>
		<link>http://www.os-youth.com/codeigniter%e2%80%99a-girisi-codeigniter-kutuphanelerine-genel-bir-bakis/</link>
		<comments>http://www.os-youth.com/codeigniter%e2%80%99a-girisi-codeigniter-kutuphanelerine-genel-bir-bakis/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 20:44:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Frameworks]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=270</guid>
		<description><![CDATA[Merhaba,
Bu yazımızda yüzeyel olarak Codeigniter&#8217;ın sınıflarına yüzeysel değineceğiz. Bu yazıda hiç kod bulamayacaksınız. Bunun nedeni her sınıfın ayrı ayrı incelenmeye değer olmasıdır. Sırf Database sınıfı için ayrı bir yazı dizisi yazılabilir. Burada ki genel amacımız PHP programcısına Codeigniter&#8217;a başlamadan önce genel bir çerceve çizmektir.
Yani Codeigniter ile ne yapıp yapamayacağınızı bilmeniz gerekmektedir. Bu büzden Codeigniter&#8217;ın çekirdeğinde [...]


Related posts:<ol><li><a href='http://www.os-youth.com/codeigniter-kullanici-klavuzu-icin-firefox-eklentisi/' rel='bookmark' title='Permanent Link: CodeIgniter kullanıcı klavuzu için Firefox eklentisi'>CodeIgniter kullanıcı klavuzu için Firefox eklentisi</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Merhaba,</p>
<p style="text-align: justify;">Bu yazımızda yüzeyel olarak Codeigniter&#8217;ın sınıflarına yüzeysel değineceğiz. Bu yazıda hiç kod bulamayacaksınız. Bunun nedeni her sınıfın ayrı ayrı incelenmeye değer olmasıdır. Sırf Database sınıfı için ayrı bir yazı dizisi yazılabilir. Burada ki genel amacımız PHP programcısına Codeigniter&#8217;a başlamadan önce genel bir çerceve çizmektir.</p>
<p style="text-align: justify;">Yani Codeigniter ile ne yapıp yapamayacağınızı bilmeniz gerekmektedir. Bu büzden Codeigniter&#8217;ın çekirdeğinde bulunan bütü kütüphaneler hakkında iki üç pragraflık açıklamalar bulacaksınız. Yazı dizisinin ilerleyen bölümünde zaten hepsini tek tek incelemeye çalışacağız. Tabii bankadan fırsat bulabilirsek. Evet ben bir bankacıyım. <img src='http://www.os-youth.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;"><span id="more-270"></span></p>
<h3 style="text-align: justify;">Codeigniter Sınıfları</h3>
<ul style="text-align: justify;">
<li><a href="http://codeigniter.com/user_guide/libraries/benchmark.html">Benchmarking Class</a> Bu sınıfın en önemli özelliği size sizin işaretlediğiniz kod satırındaki iki nokta arasında kodun çalıştırılma süresini ve memory kullanımını verir.  View sayfaların her hangi bir yerine <code>{elapsed_time} ve </code><code>{memory_usage} </code>ifadesini yazarsanız sayfanın toplam derlenme süresini ve hafıza kullanımını size gösterir. Sınıf otomatikmen Codeigniter tarafında yüklenir.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/calendar.html">Calendaring Class</a> Calender sınıfımız size dinamik takvimler yapmanızı sağlar. Bu sınıf otomatikmen yüklenmez.  <code>$this-&gt;load-&gt;library('calendar'); </code>ifadesi ile yüklenmesi gerekmektedir. Sınıftan bir kere object üretiğiniz zaman <dfn>$this-&gt;calendar </dfn>ifadesi ile sınıfın methodlarına ulaşabilirsiniz. Bu sınıf takvimi ay &#8211; yıl veya gün &#8211; ay formatında gösterebilir. Sınıfa çeşitli parametler yükleyip modifiye edebilirsiniz.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/config.html">Config Class</a> Bu sınıf Codeigniter tarafından otomatik yüklenir. Bu sınıf ile application/config/config.php adresinde default bunulanan veya sizin yaratacağınız bir config dosyası yardımı ile sitenizin config ayarlarını yapılandırırsınız.  Config dosyaları <code>$this-&gt;config-&gt;load('<var>filename</var>'); </code> ifadesi ile ya manuel yüklenir yadaapplication/config/autoload.php dosyası sayesinde otomatik olarak yüklenebilir.</li>
<li><a href="http://codeigniter.com/user_guide/database/index.html">Database Class</a> Codeigniter&#8217;ın en sevdiğim sınıfıdır. <code>$this-&gt;load-&gt;database();</code> ifadesi ile otomatik yüklenir. Database ayarları tek dosyadan yüklenebilir veya Controller içinden yapılabilir. mysql, postgres, odcc gibi veritabanlarını destekler. Caching, Transaction, Active Record gibi bir çok özelliği vardır. Başlı başına ayrı bir yazı dizisini hak eder.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/email.html">Email Class</a> Mail, Sendmail, and SMTP gibi çoklu protokolleri destekler. CC ve BCC özelliği vardır. HTML veya text formatında mail atabilirsiniz, dosya ekleyebilirsiniz, word warp yapabilirsiniz.  Mail için debug toolsları vardır.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/encryption.html">Encryption Class</a> Mcrypt sınıfı kullanarak encode ve decode yapabilirsiniz. Dürüst olmak gerekirse pek fazla kullamadım.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/file_uploading.html">File Uploading Class</a> Fileupload sınıfımız bize tek veya birçok dosyayı bizim belirlediğimiz çeşitli parametreler ve sınırlamalar ile servera yüklememizi sağlar.  Upload işleminden sonra size tek bir arrayde ilgili dosya ile ilgili bütün bilgileri bir parametre olarak verir.</li>
<li>Form Validation Class : Bu sınıf Codeigniter&#8217;ın 1.7 versiyonu ile geliştirildi. Bu sınıf sayesinde Formlarınızı PHP fonksiyonları, kendi yazacağınız fonksiyonlara tabii tutabilirsiniz. Formda bir validasyon hatası olursa kullanıcının yazdığı değerler forma geri yüklenerek ilgili validasyonların hata mesajları ekrana gösterilecektir. Codeigniter 1.7 ile artık validasyon sınıfı tags[] gibi array yapısınıda desteklemektedir. Core&#8217;a müdahale etmeye gerek kalmamıştır. <img src='http://www.os-youth.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><a href="http://codeigniter.com/user_guide/libraries/ftp.html">FTP Class</a> FTP sınıfımız SFTP yi veya SLL FTP yi desteklememektedir.  Bunun dışında mirror bile kullanabilirsiniz. Hiç kullamamı gerektirecek bir durum olmadığına belirtmek isterim.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/table.html">HTML Table Class</a> HTML Table sınıfımız size tablo yapmanızı sağlar ancak ben hiç kullanmadım. CSS ve XHTML desteği bana yeterli gelmemiştir.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/image_lib.html">Image Manipulation Class</a>X Image Manipulation sınıfı ile resimleri resize yapabilirsiniz. Ayrıca thumbnail yaratabilir, crop, watermark, rotaing yapabilirsiniz. Bu sınıfı bütün özellikleri ile kullanılabilmesi için GD veya GD2 kütüphanelerinin serverda kurulu olması gerekmektedir.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/input.html">Input and Security Class</a> Bu sınıf Codeigniter tarafından otomatik olarak yüklenir. XSS filter özelliği ile kullanıcıdan gelen verileri temizyelebilirsiniz. Ayrıca POST, COOKİES  ve SERVER değişkenlerine erişebilirsiniz.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/loader.html">Loader Class</a> Loader sınıfı Codeigniter tarafından otomatik yüklenir. Loader sınıfı elementlerin yüklenmesini sağlar. Bu elementler sınıflar (libraris), viewler, helper, pluginler veya sizin dosyalarınız olabilir. Ayrıca config dosyaları ve dil dosyalarıda loader sınıfı ile yüklenir.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/language.html">Language Class</a> Dil sınıfımız sitenizin birden fazla dili desteklemesini sağlar. Sizin yapmanız gereken tek nokta viewlerin içinde $this-&gt;lang-&gt;line(&#8217;mylang&#8217;); ifadesi ile dillerinizi göstermektir. Burada yapmanız gereken kaç dildesteğiniz var ise language klasörünün altında o kadar dil dosyası oluşturmanızdır. Ayrıca dil dosyaları için autoload ve helper özellikleri vardır.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/output.html">Output Class</a> Çıktı sınıfı site ziyaretçilerinize göstereceğiniz son htmlleri sisteme yüklenmesini sağlar.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/pagination.html">Pagination Class</a> Sayfalama sınıfı verilerinizi sayfanızda listelemenizi sağlar. Esnek bir yapıya sahiptir. Ayarları isterseniz direk controllerdan isterseniz, bir config dosyasından ayarlayabilirsiniz.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/sessions.html">Session Class</a> Tahmin ettiğiniz gibi sessionları düzenlemenizi sağlar. Codeigniter&#8217;ın session sınıfı iyi değildir. Kullanıcılar bunun yerine üçüncü party session sınıfları kullanırlar.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/unit_testing.html">Unit Testing Class</a> Codeigniter&#8217;ın kendi unit test sınıfı vardır.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/uri.html">URI Class</a> Bu sınıf sizin URİ&#8217;lerinizi yönetmenizi sağlamaktadır. Detaylı bilgiyi Tayfun ÖZİŞ ERİKAN arkadaşımız verecektir.  Bu sınıf codeigniter tarafından otomatik yüklenmektedir.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/user_agent.html">User Agent Class</a> User Agent sınıfı sitenize ziyaret edenlerin kimliklerini almaktadır. Ziyaret eden bir arama motoru robotu mu yoksa bir browser mı yoksa bir mobil cihazmı anlamanızı sağlar.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/validation.html">Validation Class</a> Codeigniter&#8217;ın validation sınıfı versiyon 1.7 ye kadar pek tatmin edici değildi. Özellike inputlara array() biçiminde değişken gönderildiğinde sorunlar ile karşılanıyordu.  Şimdi versiyon 1.7 ile birlikte bu sorunlar çözüleceğe benziyer. Genel olarak özellikleri verilerin bir filitremeye tabii tutulması, veriler validasyondan geçemiyorsa hata mesajı gönderilmesi ve kullanıcının yazdığı ilk verilerin inputlara geri yüklenmesi, kendi hata mesajlarınızı yazabilmeniz şeklinde özetlenebilir.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/xmlrpc.html">XML-RPC Class</a> Web serverlere ulaşmanızı ve kendi web serverlerini yaratmanızı sağlıyor. Web 2.0 ile basite alınamayacak bir konudur.</li>
<li><a href="http://codeigniter.com/user_guide/libraries/zip.html">Zip Encoding Class</a> Tahmin edebileceğiniz gibi dosyalarınızı zip encoding ile düzenlemenizi sağlıyır.</li>
</ul>
<p style="text-align: justify;">Şimdi Codeigniter&#8217;ın ana sınıflarını biliyorsunuz. Tabii ki teoriler, kullanışları, değişkenlerine ve methodlarına burada değinmedik. Fırsat buldukça tek tek kütüphanelerin kullanılışına değineceğiz. Bundan sonraki bölümümüz Codeigniter&#8217;ın helperları olacaktır.</p>
<p style="text-align: justify;">Gününüz verimli kodunuz açık olsun.</p>
<p style="text-align: justify;">Saygılar.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Fcodeigniter%25e2%2580%2599a-girisi-codeigniter-kutuphanelerine-genel-bir-bakis%2F&amp;linkname=Codeigniter%E2%80%99a%20Giri%C5%9Fi%20%26%238211%3B%20Codeigniter%20K%C3%BCt%C3%BCphanelerine%20Genel%20Bir%20Bak%C4%B1%C5%9F">Paylaş / Kaydet</a>

<p>Related posts:<ol><li><a href='http://www.os-youth.com/codeigniter-kullanici-klavuzu-icin-firefox-eklentisi/' rel='bookmark' title='Permanent Link: CodeIgniter kullanıcı klavuzu için Firefox eklentisi'>CodeIgniter kullanıcı klavuzu için Firefox eklentisi</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/codeigniter%e2%80%99a-girisi-codeigniter-kutuphanelerine-genel-bir-bakis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress Google XML Sitemaps Eklentisi</title>
		<link>http://www.os-youth.com/wordpress-google-xml-sitemaps-eklentisi/</link>
		<comments>http://www.os-youth.com/wordpress-google-xml-sitemaps-eklentisi/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 21:42:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Servis]]></category>
		<category><![CDATA[Google Sitemap]]></category>
		<category><![CDATA[Keywords]]></category>
		<category><![CDATA[Seo]]></category>
		<category><![CDATA[Sitemap]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=266</guid>
		<description><![CDATA[Merhaba,
Bu yazı dizimiz Wordpress için yazılmış Google XML Sitemaps eklentisinin kullanılmasıyla ilgilidir. Bildiğiniz gibi google siteleri daha iyi indexsleyebilmek ve web masterların işini kolaylaştırmak için bazı araç gereçler sundu. Bunlara linkten göz atabilirsiniz.

Biz bunlarda Google XML Sitemap&#8216;i anlatacağız. Bu eklendi otomatikmen sizin için google&#8217;un anlayacağı tarda site haritasını oluşturmaktadır.
Kurulum

Google XML Sitemaps adresinden plugini indiriyoruz.
Sizin wp-content/plugins [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Merhaba,</p>
<p>Bu yazı dizimiz Wordpress için yazılmış Google XML Sitemaps eklentisinin kullanılmasıyla ilgilidir. Bildiğiniz gibi google siteleri daha iyi indexsleyebilmek ve web masterların işini kolaylaştırmak için bazı araç gereçler sundu. Bunlara <a href="http://www.google.com.tr/webmasters/tour/tour1.html">linkten</a> göz atabilirsiniz.</p>
<p><span id="more-266"></span></p>
<p>Biz bunlarda <a href="https://www.google.com/webmasters/tools/docs/tr/about.html">Google XML Sitemap</a>&#8216;i anlatacağız. Bu eklendi otomatikmen sizin için google&#8217;un anlayacağı tarda site haritasını oluşturmaktadır.</p>
<p><strong>Kurulum</strong></p>
<ol>
<li><a title="Google XML Sitemap" href="Google XML Sitemaps" target="_blank">Google XML Sitemaps</a> adresinden plugini indiriyoruz.</li>
<li>Sizin wp-content/plugins dizinine upload ediyoruz.</li>
<li>wp-config.php dosyasının olduğu kök dizinine sitemap.xml ve sitemap.xml.gz isminde iki dosya oluşturuyoruz ve CHMOD&#8217;larını 666 yapıyoruz.</li>
<li>Plugini aktive ediyoruz.</li>
<li>Plugini ilk çalıştırdığımızda &#8220;Options&#8221; ifadesinin altında &#8220;build the sitemap the first time&#8221; ifadesini görüyoruz. İlk defa kurulduğu için orayı tıklıyoruz.</li>
<li>İşte hepsi bu&#8230;</li>
</ol>
<p>Daha sonra google web master tools a üye olmayı ve siteyi tanıtmayı unutmayınız!.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Fwordpress-google-xml-sitemaps-eklentisi%2F&amp;linkname=Wordpress%20Google%20XML%20Sitemaps%20Eklentisi">Paylaş / Kaydet</a>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/wordpress-google-xml-sitemaps-eklentisi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP İle Güçlü Şifreleme</title>
		<link>http://www.os-youth.com/php-ile-guclu-sifreleme/</link>
		<comments>http://www.os-youth.com/php-ile-guclu-sifreleme/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 11:59:17 +0000</pubDate>
		<dc:creator>kivanc.ciftci</dc:creator>
				<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[decode]]></category>
		<category><![CDATA[encode]]></category>
		<category><![CDATA[kriptografi]]></category>
		<category><![CDATA[md5]]></category>
		<category><![CDATA[şifre]]></category>
		<category><![CDATA[şifreleme]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=247</guid>
		<description><![CDATA[Veritabanında sakladığımız şifreleri genellikle md5 algoritması ile şifreleyip öyle saklarız. md5 geri çözülemeyen bir şifreleme yöntemidir ama son zamanlarda artık md5 şifreler bile kırılabilmektedir.
İlk yazımda size bahsetmek istediğim kırılamıyacak şifreler üretmek için alternatif bir yöntem. Bunun için PHP dilinde bir fonksiyon ile örnek vereceğim.
Bu şifreleme yönteminde kullanmak için elimizde rastgele 64 karakterden oluşan bir string [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Veritabanında sakladığımız şifreleri genellikle md5 algoritması ile şifreleyip öyle saklarız. md5 geri çözülemeyen bir şifreleme yöntemidir ama son zamanlarda artık md5 şifreler bile kırılabilmektedir.<br />
İlk yazımda size bahsetmek istediğim kırılamıyacak şifreler üretmek için alternatif bir yöntem. Bunun için PHP dilinde bir fonksiyon ile örnek vereceğim.<span id="more-247"></span><br />
Bu şifreleme yönteminde kullanmak için elimizde rastgele 64 karakterden oluşan bir string olmalı. Bunun için <a href="https://www.grc.com/passwords.htm" target="_blank">şurdan</a> yararlanabilirsiniz. Öncelikle şifrelemek istediğimiz stringi alıp karakterlere ayırıyoruz. Ardından her bir karakteri daha önceden oluşturmuş olduğumuz stringe dahil ederek birleştiriyoruz. Tabi birleştirmeden önce her bir karakteri md5 metodundan geçiriyoruz. Sonuçta elimizde girilen şifreninde karakter sayısına bağlı olarak çok uzun bir string olacaktır. Bunu son koz md5 metodundan geçirip 32 karakterlik bir katara indirgiyoruz. İşte elimizde geri çözülmesi pek mümkün olmayan bir hash değeri elde etmiş oluyoruz. Aşağıdaki PHP metodu bu anlatılan işi yapmaktadır.</p>
<pre lang="PHP line=">/*
* Bu metod verilen bir stringi sifreleyip bir hash degeri dondurur.
*
* @param $password
*/
function strongEncode($password) {
	$salt = '3C305A3C1ED1B8D01C9CCC0F024B2B81B53CC28F356022E841CD08286C8C8E1A'; 

	// PHP5 kullaniyorsak
	if (function_exists('str_split')) {
		$pass = str_split($password);
	} else { // PHP4 kullaniyorsak
		$pass = array();
		if (is_string($password)) {
			for ($i = 0; $i &lt; strlen($password); $i++) {
				array_push($pass, $password[$i]);
			}
		}
	}

	// Her bir karakteri sifreleyip $salt ile birleştirelim
	foreach ($pass as $hashpass) {
		$salt .= md5($hashpass);
	}

	// Son olarak md5 ile sifreleyip dondurelim
	return md5($salt);
}</pre>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Fphp-ile-guclu-sifreleme%2F&amp;linkname=PHP%20%C4%B0le%20G%C3%BC%C3%A7l%C3%BC%20%C5%9Eifreleme">Paylaş / Kaydet</a>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/php-ile-guclu-sifreleme/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UTF 8 destekli ‘URL Title’ helper ile arama motoru dostu URL’ ler oluşturun</title>
		<link>http://www.os-youth.com/utf-8-destekli-%e2%80%98url-title%e2%80%99-helper-ile-arama-motoru-dostu-url%e2%80%99-ler-olusturun/</link>
		<comments>http://www.os-youth.com/utf-8-destekli-%e2%80%98url-title%e2%80%99-helper-ile-arama-motoru-dostu-url%e2%80%99-ler-olusturun/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 08:35:26 +0000</pubDate>
		<dc:creator>tayfun.ozis.erikan</dc:creator>
				<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[url_title]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=237</guid>
		<description><![CDATA[Çalışan halini Paperobot’ ta (http://www.paperobot.com/papers/sermaye-akimlarinin-temel-makroekonomik-gostergeler-uzerindeki-etkileri-turkiye-ornegi-1989-iii-19) kullandığımız, arama motoru dostu url ler olusturmanıza yarayacak, üstelik tüm dillerde sorunsuzca calışan utf8 destekli bir fonksiyonu sizinle paylaşmak istiyorum.
Method CodeIgniter’ ın url_title metodu gibi çalışmaktadır. Farkı ise sadece ingilizcede değil tüm dillerde istediğiniz sonucu veriyor olmasıdır. Ayrıca çevirmek istedeğiniz string değer içerisindeki bazı özel karakterleri de temizleyerek daha temiz [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">Çalışan halini Paperobot’ ta (http://www.paperobot.com/papers/sermaye-akimlarinin-temel-makroekonomik-gostergeler-uzerindeki-etkileri-turkiye-ornegi-1989-iii-19) kullandığımız, arama motoru dostu url ler olusturmanıza yarayacak, üstelik tüm dillerde sorunsuzca calışan utf8 destekli bir fonksiyonu sizinle paylaşmak istiyorum.</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">Method CodeIgniter’ ın url_title metodu gibi çalışmaktadır. Farkı ise sadece ingilizcede değil tüm dillerde istediğiniz sonucu veriyor olmasıdır. Ayrıca çevirmek istedeğiniz string değer içerisindeki bazı özel karakterleri de temizleyerek daha temiz bir url oluşturmanızı sağlamaktadır.</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">Araştırmalarım sonunda aşağıdaki methodu buldum ve çok işime yaradı, umarım sızın de işinizi görecektir. Simdilik nerden buldugumu hatırlayamadıgım için orjinal kaynagını refere edemıyorum.  Yazan arkadaşın ellerine sağlık diyip durumu kurtaralım hiç olmazsa</div>
<p>Çalışan halini Paperobot’ ta (<a href="http://www.paperobot.com/papers/sermaye-akimlarinin-temel-makroekonomik-gostergeler-uzerindeki-etkileri-turkiye-ornegi-1989-iii-19" target="_blank">http://www.paperobot.com/papers/sermaye-akimlarinin-temel-makroekonomik-gostergeler-uzerindeki-etkileri-turkiye-ornegi-1989-iii-19</a>) kullandığımız, arama motoru dostu url ler olusturmanıza yarayacak, üstelik tüm dillerde sorunsuzca calışan utf8 destekli bir fonksiyonu sizinle paylaşmak istiyorum.<span id="more-237"></span></p>
<p>Method CodeIgniter’ ın url_title metodu gibi çalışmaktadır. Farkı ise sadece ingilizcede değil tüm dillerde istediğiniz sonucu veriyor olmasıdır. Ayrıca çevirmek istedeğiniz string değer içerisindeki bazı özel karakterleri de temizleyerek daha temiz bir url oluşturmanızı sağlamaktadır.</p>
<p>Araştırmalarım sonunda aşağıdaki methodu buldum ve çok işime yaradı, umarım sızın de işinizi görecektir. Simdilik nerden buldugumu hatırlayamadıgım için orjinal kaynagını refere edemıyorum.  Yazan arkadaşın ellerine sağlık diyip durumu kurtaralım hiç olmazsa  ;)</p>
<p><span style="font-family: Arial, Verdana, Helvetica, sans-serif; line-height: normal; font-size: 12px; color: #555555;"> </span></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;"><strong>Buyrun methodumuz:</strong></p>
<div class="wp_syntax" style="border: 1px solid silver; margin: 0px 0px 1.5em; padding: 0px; color: #110000; background-color: #f9f9f9; overflow-x: auto; overflow-y: hidden; width: 461px;">
<div class="code" style="padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; vertical-align: top; margin: 0px; border: 0px initial initial;">
<pre class="php php" style="margin: 0px; padding: 0px; overflow: visible; width: auto; float: none; clear: none; font-size: 12px; line-height: 1.333; font-family: monospace;"><span style="color: #0000ff; font-style: italic; padding: 0px; margin: 0px; border: 0px initial initial;">/**
 * UTF 8 Supported like url title helper
 *
 * @param string $string
 * @return string $url
 */</span>
<span style="color: #000000; font-weight: bold; padding: 0px; margin: 0px; border: 0px initial initial;">function</span> OSY_clean_url<span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$string</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span>
<span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">{</span>
	<span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span> <span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">=</span> <span style="color: #990000; padding: 0px; margin: 0px; border: 0px initial initial;">str_replace</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="color: #0000ff; padding: 0px; margin: 0px; border: 0px initial initial;">"'"</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="padding: 0px; margin: 0px; border: 0px initial initial;">''</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$string</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span>;
	<span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span> <span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">=</span> <span style="color: #990000; padding: 0px; margin: 0px; border: 0px initial initial;">str_replace</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="padding: 0px; margin: 0px; border: 0px initial initial;">'%20'</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="padding: 0px; margin: 0px; border: 0px initial initial;">' '</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span>;
	<span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span> <span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">=</span> <span style="color: #990000; padding: 0px; margin: 0px; border: 0px initial initial;">preg_replace</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="padding: 0px; margin: 0px; border: 0px initial initial;">'~[^<span style="padding: 0px; margin: 0px; border: 0px initial initial;">\\</span>pL0-9_]+~u'</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="padding: 0px; margin: 0px; border: 0px initial initial;">'-'</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span>;
	<span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span> <span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">=</span> <span style="color: #990000; padding: 0px; margin: 0px; border: 0px initial initial;">trim</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="color: #0000ff; padding: 0px; margin: 0px; border: 0px initial initial;">"-"</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span>;
	<span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span> <span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">=</span> <span style="color: #990000; padding: 0px; margin: 0px; border: 0px initial initial;">iconv</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="color: #0000ff; padding: 0px; margin: 0px; border: 0px initial initial;">"utf-8"</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="color: #0000ff; padding: 0px; margin: 0px; border: 0px initial initial;">"us-ascii//TRANSLIT"</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span>;
	<span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span> <span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">=</span> <span style="color: #990000; padding: 0px; margin: 0px; border: 0px initial initial;">strtolower</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span>;
	<span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span> <span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">=</span> <span style="color: #990000; padding: 0px; margin: 0px; border: 0px initial initial;">preg_replace</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="padding: 0px; margin: 0px; border: 0px initial initial;">'~[^-a-z0-9_]+~'</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="padding: 0px; margin: 0px; border: 0px initial initial;">''</span><span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">,</span> <span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span>;
	<span style="color: #b1b100; padding: 0px; margin: 0px; border: 0px initial initial;">return</span> <span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$url</span>;
<span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">}</span></pre>
</div>
</div>
<p><span style="font-family: Arial, Verdana, Helvetica, sans-serif; line-height: normal; font-size: 12px; color: #555555;"> </span></p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;">Dilerseniz yukarıdaki methodu codeigniter helperı haline de getirerek CI uygulamalarınızda da kullanabilirsiniz. Nasıl CI helperları oluşturacağınızı öğrenmek için <a style="color: #bcce62; text-decoration: none; padding: 0px; margin: 0px; border: 0px initial initial;" onclick="javascript:pageTracker._trackPageview ('/outbound/codeigniter.com');" href="http://codeigniter.com/user_guide/general/helpers.html" target="_blank">kullanım dokumanına</a> bakabılırsınız.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;"><strong>Hemen örnek bir kullanım görüyoruz.</strong></p>
<div class="wp_syntax" style="border: 1px solid silver; margin: 0px 0px 1.5em; padding: 0px; color: #110000; background-color: #f9f9f9; overflow-x: auto; overflow-y: hidden; width: 461px;">
<div class="code" style="padding-top: 2px; padding-right: 4px; padding-bottom: 2px; padding-left: 4px; vertical-align: top; margin: 0px; border: 0px initial initial;">
<pre class="php php" style="margin: 0px; padding: 0px; overflow: visible; width: auto; float: none; clear: none; font-size: 12px; line-height: 1.333; font-family: monospace;"><span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$string</span> <span style="color: #339933; padding: 0px; margin: 0px; border: 0px initial initial;">=</span> <span style="color: #0000ff; padding: 0px; margin: 0px; border: 0px initial initial;">"Biz Türk gençleri yazılım dünyasında ses getirecek projeler üreterek, ülkemizin gelişimine bilişim adına büyük katkılar sağlamalıyız..."</span>;
<span style="color: #990000; padding: 0px; margin: 0px; border: 0px initial initial;">echo</span> OSY_clean_url<span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">(</span><span style="color: #000088; padding: 0px; margin: 0px; border: 0px initial initial;">$string</span><span style="color: #009900; padding: 0px; margin: 0px; border: 0px initial initial;">)</span> ;

<span style="color: #666666; font-style: italic; padding: 0px; margin: 0px; border: 0px initial initial;">/*
Output:
--------
biz-turk-gencleri-yazilim-dunyasinda-ses-getirecek-projeler-ureterek-ulkemizin-gelisimine-bilisim-adina-buyuk-katkilar-saglamaliyiz
*/</span></pre>
</div>
</div>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; text-align: left; font-size: 12px; line-height: 20px; margin: 0px; border: 0px initial initial;"><span style="color: #800000; padding: 0px; margin: 0px; border: 0px initial initial;">Unutmadan belirteyim, kodlarınızın çalışabilmesi için php dosyanızı utf8 olarak kaydetmelisiniz.</span></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Futf-8-destekli-%25e2%2580%2598url-title%25e2%2580%2599-helper-ile-arama-motoru-dostu-url%25e2%2580%2599-ler-olusturun%2F&amp;linkname=UTF%208%20destekli%20%E2%80%98URL%20Title%E2%80%99%20helper%20ile%20arama%20motoru%20dostu%20URL%E2%80%99%20ler%20olu%C5%9Fturun">Paylaş / Kaydet</a>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/utf-8-destekli-%e2%80%98url-title%e2%80%99-helper-ile-arama-motoru-dostu-url%e2%80%99-ler-olusturun/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Liferay Portal ve Portlet Geliştirme</title>
		<link>http://www.os-youth.com/liferay-portal-ve-portlet-gelistirme/</link>
		<comments>http://www.os-youth.com/liferay-portal-ve-portlet-gelistirme/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 21:12:55 +0000</pubDate>
		<dc:creator>Ali BAKAN</dc:creator>
				<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[liferay]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=216</guid>
		<description><![CDATA[Bu yazı liferay portlet uygulamaları geliştirmek isteyen ve ne forumlarında ne bloglarında ne de kendi dökümantasyonunda bu konu ile ilgili yeterli bilgi bulamayan geliştiriciler için yazılmıştır.
Son bir kaç gündür liferay portalı araştırıyorum. Genel izlenimim jetspeed ve open portal&#8217;a henüz bakmamış olsam da başarılı olduğudur. Fakat başka bir açık kaynak kodlu portal çözümü olan pluto&#8217;yu da [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Bu yazı liferay portlet uygulamaları geliştirmek isteyen ve ne forumlarında ne bloglarında ne de kendi dökümantasyonunda bu konu ile ilgili yeterli bilgi bulamayan geliştiriciler için yazılmıştır.</p>
<p>Son bir kaç gündür liferay portalı araştırıyorum. Genel izlenimim jetspeed ve open portal&#8217;a henüz bakmamış olsam da başarılı olduğudur. Fakat başka bir açık kaynak kodlu portal çözümü olan pluto&#8217;yu da başarız bulduğumu belirtmek istiyorum. Gelelim konumuza eğer daha önceden bir portlet uygulaması geliştirmiş iseniz zaten portlet uygulamasının da bir web uygulaması olduğunu bilirsiniz. Portlet uygulamasında web.xml haricinde bir de porlet.xml mevcuttur. portlet.xml portlet ile ilgili bir takım bilgileri içerir. (portlet nesnesinin adı, desteklediği modlar, dil dosyası adı, portlet adı, açıklaması vb.) Liferay portlet projesi için de bunlar geçerlidir. Fakat bunun haricinde bir takım başka xml dosyalarına da ihtiyaç duyuyor. (liferay-display.xml, liferay-portlet.xml vb.) Tabi bu xml ve konfigürayon dosyalarının elle oluşturulması büyük külfet. Bu durumda bunu en pratik şekilde nasıl yapabiliriz sorusu soruluyor. Soruyu başka türlü sormak gerekirse liferay portlet projesi geliştirmek için hangi ortamı kullanmalıyız bunun için bir ide var mı?<span id="more-216"></span></p>
<p>Liferay geliştiricilerinin bizler için hazırlamış oldukları sdk&#8217;lar mevcut. Sdk&#8217;lar diyorum çünkü iki farklı alternatif geliştirmişler. Birincisi Eclipse&#8217;e entegre edilebilen extention environment kütüphanesi ve eclipse pluginleri. ext ortamı ile liferay&#8217;in geliştirilmesine de yardımcı olmak mümkün. Sadece portlet uygulaması geliştirmek için ext ortamının hazırlanması bence gereksizdi. Bu sebeble ayrıca ben de ortamı kurmadığım için bu kısmı geçiyorum.<br />
İkincisi ise plug-in sdk adını verdileri bir ortam. Terminal (ya da komut satırı) &#8216;ından ./createPortlet.sh ya da bat dosyasını çalıştımanız yeterli. (Apache ant&#8217;a gereksinim duyuyor)Bu şekilde basit bir liferay portlet projesi iskeleti oluşturulabiliyor. Gerisi yine bize kalmış. Yani portletlerimizde jsf bileşenleri kullanmak istersek ilgili jar dosyalarını lib altına atmak ve faces-config.xml oluşturmak gibi işlemleri plugin sdk bizim için yapmıyor. Yeri gelmişken liferay dökümantasyonunun da güncel olmaması ve dağınık olması da oldukça can sıkıcı. Gerçi bu konuda ibm&#8217;in eline su dökemezler ama&#8230; neyse konuy dağıtmadan devam edelim.</p>
<p>Artık üçüncü gün sonunda ben liferay&#8217;den vazgeçmek üzereyken bir yerde netbeans için geliştirilmiş portal pack gözüme çarptı. jsr 286 portlet geliştirme yetisi olan ayrıca geliştirdiğimiz uygulamaları Glassfish Web Space Server, Liferay Portal Server 5.1.x/5.2.x, Open Portal, Sun Java System Portal gibi ortamlara deploy etmeyi mümkün kılan bir paket. Bu arada Sun firmasının liferay&#8217;i satın aldığına ait duyumlar aldım ama ne kadar doğru bilemiyorum. Belki bu sebebten dolayıda netbeans ile destek vermiş olabilir. Netbeans Portal Pack şu an versiyon 3.o mevcut. Kurulum ve kullanım da oldukça kolay. Öncelikle paketi download adip. Bir dizin altına açıyoruz. Sonrasında netbeans ide&#8217;nin Tools-Plugin menüsünü tılayarak açılan pencenin Downloaded sekmesine gelip add plugin butonunu kullanarak biraz önce bir dizin altına açtığımız portal pack dosyalarının tamamını seçip install ediyoruz. Portal pack plugin-in&#8217;leri kullanıma hazır.</p>
<p>Şimdi de basit bir liferay portlet projesi geliştirip çalıştıralım. Fakat bunun öncesinde liferay&#8217;in sitesinden herhangibir bundled portal&#8217;ı indirdiğinizi ve bilgisayarınızda bir dizin altına açtığınızı varsayıyorum. (Örneğin /opt/lferay dizinide açalım) Ben tomcat 6.0 bundled veriyonunu kullanıyorum. Netbeans ide&#8217;den File-New Project ile yeni bir proje oluşturacağız. Açılan pencerede Java Web ve Web Application&#8217;ı seçiyoruz. İleri deyip proje adı ve lokasyonunu da belirledikten sonra bir daha ileri tıklıyoruz. Server ayarlarında server olarak Liferay Portal Server 5.1.x/5.2.x seçiyoruz. Fakat ilk kullanımda combobox&#8217;ta olmayacaktır bu sebeble yandaki add butonu ile Liferay Portal Server ekliyeceğiz. Bunun için add butonuna tıkladığımızda açılan pencerede Liferay Portal Server&#8217;ı seçip bir sonraki adımda server tipini tomcat 6.0, Catalina Home ve Catalina Base değerlerinde de /opt/liferay/tomcat-6.0.18 yolunu giriyoruz yada yazıyoruz. (biraz önce bundled liferay dosyasını /opt/liferay dizinine açmıştım). Finish diyerek server tanımlama işlemini tamamlıyoruz. Proje oluşturma adımlarına kaldığımız yerden devam edelim. İleri diyerek Framework ayarlarına geçiyoruz. Bu kısımda öncelikle portlet projesi olacağı için Portlet Support&#8217;u işeretliyelim. Alt taraftaki portlet versiyonunu 2.0 seçelim ve isteğe bağlı olarak portlet adı kısa ad ve açıklama alanlarını değiştirebiliriz. Ayrıca ben faces bileşenlerini kullandığımdan ötürü javaserver faces&#8217;ı da işaretledim. Finish butonu ile işlemimizi tamamlıyoruz. Netbeans bizim için gerekli xml dosyalarını oluşturuyor ayrıca gerekli jar dosyalarını da proje kütüphanesine ekliyor. Büyük kolaylık <img src='http://www.os-youth.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Portlet&#8217;in kullandığı jsp dosyalarını Web Page &#8211; jsp altında görebiliyoruz. Portlet uygulamamızı deploy etmek için tek yapmamız gereken projeye sağ tıklayıp deploy&#8217;u tıklamak. Netbeans deploy işlemini bitirdikten sonra browser&#8217;ın adres çubuğuna http://localhost:8080 yazarak liferay portal&#8217;ı açalım. Eğer portal&#8217;a admin kullanıcısı ile login olursanız  (default değerler user: bruno@7cogs.com pass: bruno) sağ üst taraftaki aparatta Add Application&#8217;ı seçeneğini görebilirsiniz demektir. Üzerine gelince açılan menüden Add application&#8217;ı seçerek açılan pencerede arama kutucuğuna eğer değiştirmediyseniz WebApplicationX şeklinde olan portlet ismini yazarak portletleri filtreleyebiliriz. Ve son olarak deploy ettiğimiz portleti add diyerek sayfamıza ekleyelim.</p>
<p>Görüldüğü üzere liferay portal üzerinde sadece bizim yazdığımız portlet uygulamaları yok. Bunun haricinde kullanabileceğimiz bir çok alternatif hazır portlet uygulamacıkları da mevcut.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Fliferay-portal-ve-portlet-gelistirme%2F&amp;linkname=Liferay%20Portal%20ve%20Portlet%20Geli%C5%9Ftirme">Paylaş / Kaydet</a>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/liferay-portal-ve-portlet-gelistirme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP Design Pattern &#8211; Singleton Pattern &#8211; Yalnızlık Tasarım Şablonun</title>
		<link>http://www.os-youth.com/php-design-pattern-singleton-pattern-yalnizlik-tasarim-sablonun/</link>
		<comments>http://www.os-youth.com/php-design-pattern-singleton-pattern-yalnizlik-tasarim-sablonun/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 16:46:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Object Oriented]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP Design Pattern]]></category>
		<category><![CDATA[Signleton Pattern]]></category>
		<category><![CDATA[Tasarım Şablonları]]></category>
		<category><![CDATA[Yalnızlık Tasarım Şablonu]]></category>

		<guid isPermaLink="false">http://www.os-youth.com/?p=205</guid>
		<description><![CDATA[Eğer bir sınıftan sadece bir tane nesne oluşturulacak ve bu nesne tüm sistem kullanılacak ise yalnızlık tasarım şablonu kullanır. Bununla ilgili verilecebilecek en iyi soyut örnek Tanrı Sınıfdır. Tanrı sınıfından sadece bir tane üretebiliriz çünkü tanrı tektir.
Daha somut bir örnek ile kodumuzu yazalım. Yalnızlık tasarım şablonu daha ziyade veritabanına bağlatılarda kullanılaiblir. Basit bir kod ile [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Eğer bir sınıftan sadece bir tane nesne oluşturulacak ve bu nesne tüm sistem kullanılacak ise <strong>yalnızlık tasarım şablonu</strong> kullanır. Bununla ilgili verilecebilecek en iyi soyut örnek Tanrı Sınıfdır. Tanrı sınıfından sadece bir tane üretebiliriz çünkü tanrı tektir.</p>
<p>Daha somut bir örnek ile kodumuzu yazalım. Yalnızlık tasarım şablonu daha ziyade veritabanına bağlatılarda kullanılaiblir. Basit bir kod ile örnek verelim. Birinci örneğimiz PHP|Architect&#8217;s grubunun çıkardığı &#8220;Zend PHP 5 Certification Study Guide&#8221; kitabından alıntıdır.</p>
<p><span id="more-205"></span></p>
<pre lang="php">class DB {

	private static $_singleton;
	private $_connection;

	private function construct()
	{
		$this-&gt;_connection = mysql_connect();
	}

	public static function getInstance()
	{
		if ( is_null( self::$_singleton ) )
		{
			self::$_singleton = new DB();
		}

		return self::$_singleton;
	}

}

$db = DB::getInstance();</pre>
<p><strong>3 ve 4 Satırlar</strong></p>
<pre lang="php">	private static $_singleton;
	private $_connection;</pre>
<p>Üçüncü satırda Singleton sınıfından yaratılacak tek nesneyi private ve statik değişken olarak $_singleton sınıfına atadık.  Dördüncü satırda ise $_connection değişkenini private olarak tanımladık. Her iki değişken sadece DB sınıfı tarafından değiştirilebilir.</p>
<p><strong>6 &#8211; 9 Satır Aralığı</strong></p>
<pre lang="php">	private function construct()
	{
		$this-&gt;_connection = mysql_connect();
	}</pre>
<p>DB sınıfının yapılandırıcısının (=construct) yalnızlık (=singleton) tasarım şablonunda erişilmez olması gerekmektedir. O yüzden private yapılır. Bunun nedeni methodun yapılandırıcısının sadece kendi içinden çalıştırılması yatar. Burada yapılandırıcı mysql_connect() fonksiyonunu private _connection değişkenine atıyor.</p>
<p><strong>11 &#8211; 19 Satır Aralığı</strong></p>
<pre lang="php">	public static function getInstance()
	{
		if ( is_null( self::$_singleton ) )
		{
			self::$_singleton = new DB();
		}

		return self::$_singleton;
	}</pre>
<p>getInstance methodu yalnızlık (=singleton) tasarım şablonundan oluşturlulabilecek tek nesneye ulaşmak için kullanılıyor.  is_null fonksiyonu ile $_singleton değişkenine bir değer atanıp atanmadığını kontrol ediyor. Eğer atama yoksa new BD() ; sınıfını oluşturarak atamayı yapıyor ve $_singleton değişkenini döndürüyor.</p>
<p><strong>23 üncü Satır</strong></p>
<pre lang="php">$db = DB::getInstance();</pre>
<p>Son olarak $db değişkenine yalnızlık tasarım şablonundan elde ettiğimiz tek neslenin yüklenmesi kalmıştır. getInstance() methodu statik bir method olduğundan new DB(); ifadesi ile ynei bir nesne oluşturmadan direk :: ifadesi ile erişilebilir.</p>
<p><strong>Yalnızlık Tasarımının Bazı Özellikleri</strong></p>
<ul>
<li>Sınıfın yapılandırıcısı private olmalıdır. Bunun mantığı bu sınıftan new operatörü ile nesneler üretemezsiniz.</li>
<li>Bu sınıftan tek bir nesne üretileceği için üretilecek nesneyi sınıfa static ve private özelliği ile değişken olarak tanımlamak gerekmektedir.</li>
<li>Bu sınıfta statik olarak tanımlanmış nesneyi geri vermeye yarıyacak satatik bir method olmalıdır. Bu methoda genellikle getInstance(); instance() methodu ismi verilir.</li>
</ul>
<p><strong>Bir kaç uyarı</strong></p>
<p>Yukarıdaki kod bloğu belki size Zend Sertifakasını getirir ama kendi içinde bir güvenlik açığı barındırmaktadır. Tanrı Sınıfından sadece bir tane tanrı nesnesi yaratabildiğimize göre bu nesnenin _clone() ve _wakeup() methodları ile kopyalanmasını engellememiz gerekmektedir. Bunun için aşağıdaki kod bloğununda sınıfa eklenmesi gerekmektedir. İsterseniz methodların içlerini boş bırakabilirsiniz.</p>
<pre lang="php">  public function __clone()
  {
    trigger_error('Clone is not allowed.', E_USER_ERROR);
  }

  public function __wakeup()
  {
    trigger_error('Deserializing is not allowed.', E_USER_ERROR);
  }</pre>
<p>Eğer PHP programcısıysanız yalnızlık tasarım şablonu ile bilmeniz gerekenler bu kadardır. JAVA programcısıysanız çoklu kanal için ayrı bir kod eklemeniz gerekmektedir. Bu başka bir konudur ve bu yazının içeriğine girmez.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.os-youth.com%2Fphp-design-pattern-singleton-pattern-yalnizlik-tasarim-sablonun%2F&amp;linkname=PHP%20Design%20Pattern%20%26%238211%3B%20Singleton%20Pattern%20%26%238211%3B%20Yaln%C4%B1zl%C4%B1k%20Tasar%C4%B1m%20%C5%9Eablonun">Paylaş / Kaydet</a>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.os-youth.com/php-design-pattern-singleton-pattern-yalnizlik-tasarim-sablonun/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
