Sayfalar

11 Kasım 2010 Perşembe

Php'de Klasör Zipleme

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.

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.

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.

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.

7 Temmuz 2010 Çarşamba

Ücretsiz İletişim Formu PSD ve HTML

Bu sıralar çok feci bir şekilde Web Arayüz Tasarlama,PhotoShop ve css'ye sarmış durumdayım FF de yayınladığım PSD dosyasını HTML'ye çevirdim ve şimdi paylaşıyorum.
Ne derece çizip çevirdim tartışılır tabi :) daha iyisini çizip çevirirseniz e-posta atın lütfen.
Önizleme
İndir

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.

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.

4 Nisan 2010 Pazar

Cms Explorer

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)

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.



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.

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.

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

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.

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

İ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}