Geçenlerde bir web sitemin yedeğini almak istedim fakat ftp programı ile 20 mb boyutundaki dizini indirmek tam bir zülüm.Birde içerisinde 1.255 adet dosya olunca dosya indirmek çok uzun sürüyor, ftp programı her dosya için tek tek istek gönderiyor vs..
Kısacası bu süreyi azaltmak için 1.255 dosyayı zipleyerek tek dosya haline getiriyoruz Tam emin değilim ama httpd download hızı ftp'den daha hızlı sanırım.
Kendim yazmadığım ve bu adreste bulduğum hazır fonksiyonu paylaşmak istedim.
Fonksiyon ve Kullanımını bu adreste bulabilirsiniz.
Not:Oluşturulacak arşiv dosyasının dizini yazılabilinir olmalıdır.
Ek Olarak aynı mantıkla sunucuya yükleyeceğiniz dosyaları tek dosya olarak zipleyip, php ile dosyayı açabilirsiniz.
Web sektöründe zaman ve hız önemlidir.
11 Kasım 2010 Perşembe
4 Ekim 2010 Pazartesi
Mutluluk Fonksiyonu (Ütopik)
<?php
function mutluluk($b, $n) {
global $b, $n, $sonuc;
for($i = $b; $b <= $n; $i ++) {
$hayat .= file_get_contents ( "hayat_log/" . $i . ".yasam" );
}
preg_match_all ( "/^mutluluk/i", $hayat, $sonuc );
if (count ( $sonuc ) > 1) {
return True;
} else {
return False;
}
}
$b = "1985";
$n = "2010";
if (mutluluk ( $b, $n ) === True) {
print_r ( $sonuc );
} else {
echo 'Mutlu Olmaya Daha Var....';
}
?>
11 Ağustos 2010 Çarşamba
Cep No Doğrulama
Cep no doğrulama için yazdığım bir kaç regex kodu.
Desen:^(0) \([5]([0-9]){2}\) [1-9]([0-9]){2}[-]([0-9]){4}$
Yakaladığı:0 (555) 555-5555
http://regexr.com?2rumt
Desen:^(0) [5]([0-9]){2} [1-9]([0-9]){2} ([0-9]){4}$
Yakaladığı:0 555 555 5555
http://regexr.com?2rumq
Desen:^(05)([0-9]){2}[1-9]([0-9]){2}([0-9]){4}$
Yakaladığı:05555555555
http://regexr.com?2rumn
Hepsinde temel amaç 05 ile başlayan ve 5. karekter 0 olmayanı yakalamak.
Desen:^(0) \([5]([0-9]){2}\) [1-9]([0-9]){2}[-]([0-9]){4}$
Yakaladığı:0 (555) 555-5555
http://regexr.com?2rumt
Desen:^(0) [5]([0-9]){2} [1-9]([0-9]){2} ([0-9]){4}$
Yakaladığı:0 555 555 5555
http://regexr.com?2rumq
Desen:^(05)([0-9]){2}[1-9]([0-9]){2}([0-9]){4}$
Yakaladığı:05555555555
http://regexr.com?2rumn
Hepsinde temel amaç 05 ile başlayan ve 5. karekter 0 olmayanı yakalamak.
Youtube Engelini Aşma( MAC ) Kullanıcıları için
1)System Preferences -> Network ->
2)DNS Server yerine 8.8.8.8, 8.8.4.4 Yazıp Apply diyoruz.
3)Daha Sonra Konsolu açıyoruz.
4)Eğer Textmate Kullanıyorsanız "mate /etc/hosts" yazıyoruz ve açılan hosts dosyasına alttaki satırları ekliyoruz.
74.125.43.103 youtube.com
74.125.43.103 www.youtube.com
ve kaydedip çıkıyoruz,Eğer Textmate yoksa kullandığınız favori metin editörü ile açıp aynı işlemi yapıyoruz.
5)Daha Sonra Konsola "dscacheutil -flushcache" yazıp DNS cache'ini temizliyoruz.
Hepsi bu kadar daha sonra engelsiz bir şekilde youtube.com giriyoruz.
2)DNS Server yerine 8.8.8.8, 8.8.4.4 Yazıp Apply diyoruz.
3)Daha Sonra Konsolu açıyoruz.
4)Eğer Textmate Kullanıyorsanız "mate /etc/hosts" yazıyoruz ve açılan hosts dosyasına alttaki satırları ekliyoruz.
74.125.43.103 youtube.com
74.125.43.103 www.youtube.com
ve kaydedip çıkıyoruz,Eğer Textmate yoksa kullandığınız favori metin editörü ile açıp aynı işlemi yapıyoruz.
5)Daha Sonra Konsola "dscacheutil -flushcache" yazıp DNS cache'ini temizliyoruz.
Hepsi bu kadar daha sonra engelsiz bir şekilde youtube.com giriyoruz.
Etiketler:
/etc/hosts,
mac,
mac os x,
youtube,
youtube engel
28 Temmuz 2010 Çarşamba
Programcılar İçin Adım Adım Sosyalleşme
Başlık biraz garip olabilir "Programcılar İçin Adım Adım Sosyalleşme" ama başlığı boş verin içeriğe bakın :)
Eskiden bloglar ve forumlar vardı şimdilerde twitter,friendfeed,formspring,facebook gibi sosyal ağ siteleri var.
Bu tür sitelerden pek fazla hoşlanmasamda ister istemez çağa ve zamana ayak uydurmak zorundalığı var.
Bu gün içimde gözlemlediklerimi blog'a yazma sevdası oluştu birden.
Gördüğüm kadarıyla sosyal ağlar iyiden iyiye forumları ve blogları öldürmeye yok etmeye başladı. Aslında bir yandan iyi oluyor blog ve forum çöplüğünden kurtulmaya başlıyoruz bir ikinci güzel yanı ise eğer programcı iseniz herhangi bir yerde takıldıysanız sorunlarınıza çok hızlı bir şekilde çözüm bulabiliyorsunuz.
Yapmanız gerekenler çok basit.
Fakat bir kaç kurala uymanız gerekmekte.
1) Feed uzunluğunu olabildiğince kısa tutun.
2) Eğer uzun linkler varsa bit.ly tarzı sitelerde kısaltın.
3) Örnek betiği yada varsa hata mesajlarını tinypaste,pastebin türü sitelere ekleyin.
4) Tasarımsal sorununuz varsa mutlaka Feed'e ScreenShot ekleyin.
5) Soruyu sormadan önce iyice düşünün
6) Sorunuzu olabildiğince basite indirgeyerek sorun.
7) Karşınızdakilerin size yardım etme zorunluluklarının olmadığını unutmayın!
Yukardaki kurallara uyduğunuz sürece her zaman sorularınıza cevap alabilirsiniz, unutmadan söylemekte fayda var yukardaki kurallar işleri biraz daha kolaylaştırıp hızlandırmak içindir.
Kapanışı nasıl yapacağımı bilemiyorum fakat eğer bana soru sorma gibi bir niyetiniz varsa formspring aracılığı ile soru sorabilirsiniz.
Eğer beni takip etmek istiyorsanız http://friendfeed.com/s4l1h adresinden takip edebilirsiniz.
Makalelerde resim kullanmak güzel oluyor fakat
Resimi bulmakla boyutlandırmakla kim uğraşacak.
İyi yönden bakacak olursak; bu makaleyi okurken sizi extradan 1 adet daha HTTP isteğinden kurtardım.
Eğer illada sol üstte resim görmek istiyorsanız "twitter,friendfeed,formspring,facebook"'e ait logoların olduğu bir resim hayal edin.
Eskiden bloglar ve forumlar vardı şimdilerde twitter,friendfeed,formspring,facebook gibi sosyal ağ siteleri var.
Bu tür sitelerden pek fazla hoşlanmasamda ister istemez çağa ve zamana ayak uydurmak zorundalığı var.
Bu gün içimde gözlemlediklerimi blog'a yazma sevdası oluştu birden.
Gördüğüm kadarıyla sosyal ağlar iyiden iyiye forumları ve blogları öldürmeye yok etmeye başladı. Aslında bir yandan iyi oluyor blog ve forum çöplüğünden kurtulmaya başlıyoruz bir ikinci güzel yanı ise eğer programcı iseniz herhangi bir yerde takıldıysanız sorunlarınıza çok hızlı bir şekilde çözüm bulabiliyorsunuz.
Yapmanız gerekenler çok basit.
Fakat bir kaç kurala uymanız gerekmekte.
1) Feed uzunluğunu olabildiğince kısa tutun.
2) Eğer uzun linkler varsa bit.ly tarzı sitelerde kısaltın.
3) Örnek betiği yada varsa hata mesajlarını tinypaste,pastebin türü sitelere ekleyin.
4) Tasarımsal sorununuz varsa mutlaka Feed'e ScreenShot ekleyin.
5) Soruyu sormadan önce iyice düşünün
6) Sorunuzu olabildiğince basite indirgeyerek sorun.
7) Karşınızdakilerin size yardım etme zorunluluklarının olmadığını unutmayın!
Yukardaki kurallara uyduğunuz sürece her zaman sorularınıza cevap alabilirsiniz, unutmadan söylemekte fayda var yukardaki kurallar işleri biraz daha kolaylaştırıp hızlandırmak içindir.
Kapanışı nasıl yapacağımı bilemiyorum fakat eğer bana soru sorma gibi bir niyetiniz varsa formspring aracılığı ile soru sorabilirsiniz.
Eğer beni takip etmek istiyorsanız http://friendfeed.com/s4l1h adresinden takip edebilirsiniz.
Makalelerde resim kullanmak güzel oluyor fakat
Resimi bulmakla boyutlandırmakla kim uğraşacak.
İyi yönden bakacak olursak; bu makaleyi okurken sizi extradan 1 adet daha HTTP isteğinden kurtardım.
Eğer illada sol üstte resim görmek istiyorsanız "twitter,friendfeed,formspring,facebook"'e ait logoların olduğu bir resim hayal edin.
Etiketler:
facebook,
formspring,
friendfeed,
sosyal,
twitter
7 Temmuz 2010 Çarşamba
Ücretsiz İletişim Formu PSD ve HTML
26 Haziran 2010 Cumartesi
PHP Sayfalama Sınıfı
Vakti zamanında PHP sayfalama sınıfı yazmıştım, ve şimdi paylaşıyorum.
Sayfalama Şekli Digg tarzında sayfalar oluşturuyor.
Kullanımına basitçe şu şekilde.
Sayfalama Şekli Digg tarzında sayfalar oluşturuyor.
Kullanımına basitçe şu şekilde.
Etiketler:
php,
php class,
php sayfalama,
php sayfalama classı,
php sınıf,
sayfalama,
sayfalama sınıfı
7 Mayıs 2010 Cuma
Zaman Zaman Zaman
Bu sıralar yeni bir oluşum içerisindeyim(İşşşşşş), gerek aile, gerek arkadaş, gerekse iş hayatı için zamanı bir türlü ayarlıyamıyorum hiç birine zaman yetmiyor ne yapsam bilemiyorum.
Bazen aşağıdaki kodu yazasım geliyor.
Bazen aşağıdaki kodu yazasım geliyor.
4 Nisan 2010 Pazar
Cms Explorer
Cms Explorer nedir ? diye soracak olursanız adındanda anlaşılacağı gibi drupal,wordpress,joomla gibi popüler Cms'ler üzerinde kurulu olan tema, plugin ve modülleri bulup listeliyor.
Peki Cms explorer ne işimize yarayacak diye soracak olursanız Cms Explorer aynı zamanda bir güvenlik açığı tarayıcı.
Cms Explorer'in çalışma mantığını kısaca anlatacak olursak, öncelikle hedef sitedeki kurulu plugin ve modülleri bizim için buluyor, kodları inceleyebilmemiz için CVS adreslerinide buluyor ve eğer OSVDB api key'ine sahipseniz kurulu olan plugin ve modüller için güvenlik açığı bildirilmişmi diye Osvdb.org sitesinde arayıp bizim için listeliyor( Ekran görüntüsüne bakacak olursanız örnek bir tarama çıktısını görebilirsiniz.)
Cms Explorer yazılımını buradan indirebilirsiniz.
Proje sayfasına da buradan ulaşabilirsiniz.
Kullanım hakkındaki makaleye buradan ulabilirsiniz.
Not:OSVDB sitesine üye olduktan sonra aldığınız api key'ini cms-explorer.pl ile aynı dizinde osvdb.key adında dosya oluşturup içine yazın ve tarama yaparken -osvdb parametresini ekleyin, böylelikle bulduğu güvenlik açıklarınıda listeyecektir, sahip olduğunuz api key ile günlük 100 sorgulama yapabiliyorsunuz.
Yazılımı kullanabilmek için Readme.txt Dosyası ve Usage Wiki sayfası okumanız yeterlidir.( Sayfalar ingilizce olabilir fakat kanımca pek fazla ingilizce bilmeye gerek olmadan anlaşılacak düzeydedir)
Cms Explorer gereksinimleri.
PERL 5.x
Getopt::Long
LibWhisker2 (yazılımla birlikte geliyor LW2.pm dosyası)
OSVDB API key (Opsiyonel)// Eğer güvenlik açıklarını tarayacaksanız zorunlu.
Yazılımı ister legal ister illegal işler için kullabilirsiniz :) eğer kendi siteniz varsa basit bir tarama yapın derim, sonra hackerin biri gelip emeğinizi heba etmesin.
İstekler doğrultusunda güvenlik hakkında makaleler yazmayı düşünüyorum arasırada 0day bypasslar exploitler yayınlarım belkide kim bilir belki kitap bile yazıp yayınlarım.( Hass.. diyenler var sanırım :p)
Etiketler:
Cms Explorer,
güvenlik,
güvenlik açığı tarayıcı,
hacker,
hacking
28 Mart 2010 Pazar
Python Domain Whois
Python ile haşır neşirken tkinter kullanarak deneme amaçlı domain whois programı yazmıştım blog'da ne paylaşsam diye
düşünürken aklıma geldi.
Kodlara bakmak isteyebilirsiniz :)
PyDomainWhois Proje sayfası.
Programa ait ekran görüntüleri.
düşünürken aklıma geldi.
Kodlara bakmak isteyebilirsiniz :)
PyDomainWhois Proje sayfası.
Programa ait ekran görüntüleri.
24 Mart 2010 Çarşamba
Wonderful life & Nick Cave
İngilizce bilmeye gerek yok, yeterki dinleyin candan dinleyin.
Eğer video'u izleyemiyorsanız sizin için üzülüyorum nasıl izleyeceğinizi bulabilirsiniz sanırım.
Eğer video'u izleyemiyorsanız sizin için üzülüyorum nasıl izleyeceğinizi bulabilirsiniz sanırım.
23 Mart 2010 Salı
Flex Denemelerim..
Yaklaşık 1 ay önce Flex builder 4'ü indirip denemeler yapmaya başlamıştım pek fazla vakit bulamadığım için uğraşamadım fazla ,fakat bu gün nerden estiyse :) biraz kurcaliyim dedim.basit bir şeyler karaladım.
Bu arada operada yazı yazılamıyor flex bug'u sanırım.
Flash kısmına sağtıklayarak sourceye bakabilir ve indirebilirsiniz.
Burada size flex'in ne olduğunu anlatmayacağım tabiki internette bir çok makale mevcut. Flex için kısaca ActionScript frameworku diyebiliriz sanırım.
XML tabanlı olan flex gerçekten çok basit ve öğrenilmesi o denli zevkli, Fakat Flex ile uygulama geliştirebilmek için azda olsa ActionScript Yazmayı bilmek yada anlamak gerekiyor ben şahsen ActionScripte yeni yeni bakıyorum deneme yanılma yoluyla debug ederek öğrenmeye çalışıyorum.
Php bilenler için basitçe karşılaştıracak olursak.
Zaten programlama dillerinin bir birine benzer bir yapıları var.
C# Python C++ JAVA PHP Bu dilleri hepsiyle az çok haşır neşir olmuşumdur.
Özellikle OOP'nin ne olduğunu çözdüğünüz vakit gerisi çok basit, lafı fazla uzatmadan ActionScript ile PHP'yi karşılaştıralım.
Not:
Erişilebilirlik = public,private,protected olması.( Nesnelere Erişim.)
Veritipi = String Array int Number Float double vs..
ActionScript'te PHP'de olduğu gibi veri türleri bulunuyor, PHP de herhangi bir değişken tanımladığınızda otomatik olarak php bunu algılıyor fakat ActionScript dilinde veritipini belirtmek zorunlu ( Zaten doğrusu bu).
PHP5 ile birlikte sınıf yazarken sınıflar içerisindeki fonksiyonların ve değişkenlerin public private protected olduğunu belirtiyoruz.
ActionScriptte değişkenlerin,fonksiyonların Erişilebilirliklerini ve döndürdükleri sonuçun veri tipini yazmak zorundayız.
Ek olarak Sınıfların Erişilebilirliklerini'de belirtmek zorundayız.
Ekleme yapalım ActionScriptte PHP'de olmayan Paket diye bişey bulunuyor onunla birlikle internal diye bir erişebilirlik bulunuyor.MMistanbul Adresindeki Makaleden Alıntı bir resim.
Bir örnek verecek olursak.
Aynı Sınıfı PHP'de yazalım.
Daha önce söylediğim gibidaha yeni yeni öğrenmeye başlıyorum ActionScript dilini, deneme yanılma biraz manul'e bakarak öğrenmeye çalışıyorum.
Bence bir dili öğrenmek için önce mantığını kavramak gerekiyor yazım kurallarını öğrenmek gerekiyor gerisi zaten manuel'e kalıyor :p
Yukardaki bilgilerin doğruluğunu garanti etmiyorum :)Size bir kaç site önerisinde bulunayım.
http://www.mmistanbul.com/ // Ziyaret edip görün.
http://www.flexadami.com/ // Görsel Flex dersleri bulunuyor.
http://as3coder.com/ // ActionScript 3 için dersler bulunuyor.
Herkese Bol Flex'li günler.
Bu arada makale Flex denemelerimden ActionScript vs PHP 'ye döndü istemeden :P
Bu arada operada yazı yazılamıyor flex bug'u sanırım.
Flash kısmına sağtıklayarak sourceye bakabilir ve indirebilirsiniz.
Burada size flex'in ne olduğunu anlatmayacağım tabiki internette bir çok makale mevcut. Flex için kısaca ActionScript frameworku diyebiliriz sanırım.
XML tabanlı olan flex gerçekten çok basit ve öğrenilmesi o denli zevkli, Fakat Flex ile uygulama geliştirebilmek için azda olsa ActionScript Yazmayı bilmek yada anlamak gerekiyor ben şahsen ActionScripte yeni yeni bakıyorum deneme yanılma yoluyla debug ederek öğrenmeye çalışıyorum.
Php bilenler için basitçe karşılaştıracak olursak.
Zaten programlama dillerinin bir birine benzer bir yapıları var.
C# Python C++ JAVA PHP Bu dilleri hepsiyle az çok haşır neşir olmuşumdur.
Özellikle OOP'nin ne olduğunu çözdüğünüz vakit gerisi çok basit, lafı fazla uzatmadan ActionScript ile PHP'yi karşılaştıralım.
Not:
Erişilebilirlik = public,private,protected olması.( Nesnelere Erişim.)
Veritipi = String Array int Number Float double vs..
ActionScript'te PHP'de olduğu gibi veri türleri bulunuyor, PHP de herhangi bir değişken tanımladığınızda otomatik olarak php bunu algılıyor fakat ActionScript dilinde veritipini belirtmek zorunlu ( Zaten doğrusu bu).
PHP5 ile birlikte sınıf yazarken sınıflar içerisindeki fonksiyonların ve değişkenlerin public private protected olduğunu belirtiyoruz.
ActionScriptte değişkenlerin,fonksiyonların Erişilebilirliklerini ve döndürdükleri sonuçun veri tipini yazmak zorundayız.
Ek olarak Sınıfların Erişilebilirliklerini'de belirtmek zorundayız.
Ekleme yapalım ActionScriptte PHP'de olmayan Paket diye bişey bulunuyor onunla birlikle internal diye bir erişebilirlik bulunuyor.MMistanbul Adresindeki Makaleden Alıntı bir resim.
Bir örnek verecek olursak.
package
{
import flash.display.Sprite;
public class Deneme extends Sprite
{
public var isim:String;
public function Ad():String
{
return isim;
}
}
}
// "x" diye bir Obje oluşturduk.
var x:Deneme=new Deneme();
// "x" objesinin "isim" değişkenine "Adım Budur" değerini atadık.
x.isim="Adım Budur";
// x objesinin Ad fonksiyonunu çağırdık.Bu fonksiyon Adım Budur değerini
x.Ad();// isim değişkenini return edecek
Aynı Sınıfı PHP'de yazalım.
class Deneme{
public $isim;
public function Ad(){
return $this->isim;
}
}
// "x" diye bir obje oluşturduk.
$x=new Deneme();
// "x" objesinin isim değişkenine "Adım Budur" değerini atadık.
$x->isim="Adım Budur";
// x objesinin Ad fonksiyonunu çağırdık.
$x->Ad();// isim değişkenini return edecek
Daha önce söylediğim gibidaha yeni yeni öğrenmeye başlıyorum ActionScript dilini, deneme yanılma biraz manul'e bakarak öğrenmeye çalışıyorum.
Bence bir dili öğrenmek için önce mantığını kavramak gerekiyor yazım kurallarını öğrenmek gerekiyor gerisi zaten manuel'e kalıyor :p
Yukardaki bilgilerin doğruluğunu garanti etmiyorum :)Size bir kaç site önerisinde bulunayım.
http://www.mmistanbul.com/ // Ziyaret edip görün.
http://www.flexadami.com/ // Görsel Flex dersleri bulunuyor.
http://as3coder.com/ // ActionScript 3 için dersler bulunuyor.
Herkese Bol Flex'li günler.
Bu arada makale Flex denemelerimden ActionScript vs PHP 'ye döndü istemeden :P
10 Mart 2010 Çarşamba
Bedava Ziyaretçi Defteri
Gençlik zamanımda :) ilk php ye başladığım zaman ziyaretçi defteri scripti yazmıştım sonradan aklıma neden bunu servis haline getirmiyorum diye düşünüp defter.us adresini açmıştım o gün bu gündür ayakta tuttum herhangi bir reklam yayınlamadım herhangi bir beklentimde olmadı :) link filan satmadım :) Fakat geçen gün fark ettimki google'da Bedava Ziyaretçi Defteri diye aratınca artık defter.us çıkmıyor sanırım filtreye filan girdi çünkü tasarım hala ilk günkü tasarım içeriğin de değiştiği yok çoklu tema desteği ve benzeri bir çok seçenek ekleyecektim ama bir türlü denk getiremedim ve scripti geliştiremedim :( Fakat yinede okullar , devlet daireleri, dj ler hesap açıyorlar :).
Ve hemen sadede gelecek olursak demem o ki ey google duy bu blog yazarının sesini ,Biri Google.com.tr'de Bedava Ziyaretçi Defteri diye aratınca defter.us'u yine ilk sayfaya koy :) Ziyaretçi Defteri
Ve hemen sadede gelecek olursak demem o ki ey google duy bu blog yazarının sesini ,Biri Google.com.tr'de Bedava Ziyaretçi Defteri diye aratınca defter.us'u yine ilk sayfaya koy :) Ziyaretçi Defteri
27 Şubat 2010 Cumartesi
Proje: SourceCop Decoder / Decryp
Burada bahsettiğim Decoder Online sitesine
SourceCop Decoder ekledim.Eğer zaman bulursam Zend decoder'i de ekleyeceğim.
SourceCop Decoder ekledim.Eğer zaman bulursam Zend decoder'i de ekleyeceğim.
Bu arada epeyce yorum yapılmış blog'a onları onaylayıp elimden geldiğince cevap yazmaya çalışacağım :)
Proje: Decoder Online
Daha önce yazdığım makalede eval gzinflate str_rot13 base64_decode Decode okuyanlar bilirler, ordaki kodları epeyce bir değiştirerek servis haline getirdim.Projeye buradan ulaşabilirsiniz.
Decoder Online
eval gzinflate str_rot13 base64_decode online decoder
Decoder Online
eval gzinflate str_rot13 base64_decode online decoder
İlerleyen zamanlarda zend decoder base64 decoder vs.. türü decoderler ekleyeceğim.
Neden uzun süredir yazmıyorum?
Neden uzun süredir blog'a yazmıyorum diye merak edip mail atan arkadaşlar var,3 4 aydır günlerim çok yoğun geçiyor makale yazmak için hiç vakit bulamıyorum, bu blogu kapatıp 21o'da yazmaya devam etmeye niyetim var fakat zaman neyi gösterir bilemiyorum, her şeyin hayırlısı diyelim :p
{ 21o.org da ki script wordpress değildir kendi yazılımımdır bir türlü bitiremedim bir sürü bug var :P}
{ 21o.org da ki script wordpress değildir kendi yazılımımdır bir türlü bitiremedim bir sürü bug var :P}
Kaydol:
Kayıtlar (Atom)