MacOSX'de php geliştirme ortamı kurmak, diğer işletim sistemlerine göre çok daha kolay. MAMP ile neredeyse tek drag & drop ile apache, php, mysql üçlüsünü çalışır hale getirmek mümkün.

Eğer *AMP kullanan bir web geliştiricisi iseniz muhtemelen tüm veritabanı yönetiminizi phpmyadmin ile yapıyorsunuzdur. PHPMyAdmin kuşkusuz taşınabilir ve esnek yapısıyla istediğiniz gibi özelleştirebileceğiniz bir yönetimsel araç. Fakat bazı noktalarda bazen bir masaüstü aracının sunacağı özellikleri sunamayabiliyor.

Sequel Pro, adından paralı bir yazılım gibi bir çağrışım yapsa da ücretsiz bir yazılım. Basit ve minimalist bir arayüze sahip Sequel Pro'nun kullanımı oldukça kolay.



Devamını Oku →
PyCharm, PhpStorm, and RubyMine kullanıcıları, jetbrains son güncellemelerden biriyle saydığım IDE'lere gelişmiş veritabanı desteği ekledi. Daha önce de vardı fakat hiç veritabanı bağlantısını PHPStorm'da kullanmamıştım fakat bu videodan sonra denemeye karar verdim ve oldukça efektif buldum.

Java bağlayıcılarını yükledikten sonra birçok veritabanı motorunu projenize bağlayabiliyorsunuz. Projenize veritabanı bağlantınızı kurduktan sonra veritabanı yapısını gözden geçirebilir, yapıyla oynayabilirsiniz. Teknik olarak phpmyadmin yerine bu kısımları kullanabilirsiniz. Bu kısmı ilgimi çok çekmedi, fakat spesifik olarak SQL geliştirirken veritabanı konsolunu kullanabilir ve kod yazım zekasını kullanabilirsiniz. Buraya kadar IDE'den bağımsız bir veritabanı yönetim aracı gibi geldi.

Asıl işe yarayan kısmı ise, kodunuzdaki SQL'leri doğrudan çalıştırabilir veya php kodunuzda SQL yazarken kod yazım zekasını kullanabiliyorsunuz. Videoda örnek kullanımda görebilirsiniz.


Kaynak:http://blog.jetbrains.com/webide/2012/11/sql-suppo......ase-tools/
16 Temmuz Pazartesi ´12   —   6 Yorum
Türkçesini çok bulamadığım hash kelimesini anahtar olarak kullanacağım. Burada aslında bahsettiğim anahtar herhangi bir veri grubunuza atadığınız, sayısal olmayan kimliklerden bahsediyorum. Yani rasgele üretilmiş belirli bir uzunlukta olan kimlikleri her yerde kullanıyoruz.

Neden sayısal bir kimlik kullanmak yerine bu anahtarlara ihtiyaç duyacağınızı en açık şekilde şöyle anlatabilirim. Mesela tahmin ederek erişilmesini istemeyeceğiniz ama şifre veya kullanıcı girişi gibi herhangi bir sınırlama koyamayacağınız bir sayfanız var, örnek veriyorum yapılacak işler listesi veritabanı oluşturuyorsunuz ve her kayıt bir yapılacak iş listesi. Veritabanında sayısal bir kimliğe yani numaraya sahip bu kayıtlar. Hazırladığınız bir php sayfası da liste numarasına göre yapılacak iş listesinin detayını ekrana döküyor.

Eğer liste_detay.php?no=145 gibi basit bir şekilde tutarsanız url'i oynayarak başkalarının listelerine erişebilir, sadece erişmek değil sistemdeki tüm listeleri basit bir script ile tahmin edebilir veya tarayıp kaydedebiliriz. Böyle bir durumda listelerinizi sadece sayısal değil, tahmin edilemeyecek bir anahtar ile (örneğin: t34de6gx) tanımlamak istiyorsunuz.

Bu noktada rastgele bir anahtar üretebilirsiniz, bunu yapmak çok zor değil. PHP'deki rasgele sayı üretme fonksiyonunu kullanarak ve bir karakter dizisinden rastgele elemanlar çekerek bir kelime üretebilirsiniz.

Bunu daha pratik bir şekilde tek satırda bile yapabilirsiniz:
$anahtar = substr(str_shuffle('abcdefghklmnoprstuvyzqxw1234567890'), 0, 6);
Bu satır size 6 karakterlik bir kelime üretecektir. Basitçe str_shuffle fonksiyonu ile özel karakter içermeyen ve rakamlarında dahil olduğu bir alfabeyi karıştırıyor ve başındaki ilk 6 karakteri alıyoruz.

Şimdi bu, işin basit kısmı. Eğer veritabanındaki bir veri set için bu anahtarı oluşturuyorsanız üretilen anahtarın veri setinde daha önce kullanılıp kullanılmadığını test etmek zorundasınız. Sonuçta tekil bir anahtar oluşturuyorsunuz. Bu arada veri setiniz mysql veya bir sql veritabanında olmak zorunda değil, bir xml, csv veya txt dosyasında saklı olan bir set için de benzer şeyi uygulayabilirsiniz.

Veritabanındaki veriyi test ederek bir anahtar oluşturmanın en kısa ve basit kodu şöyle:
do {
    $anahtar = substr(str_shuffle('abcdefghklmnoprstuvyzqxw1234567890'), 0, 6);

    $query = mysql_query("SELECT no FROM listeler 
        WHERE anahtar LIKE '" . $anahtar . "'");
} while (mysql_num_rows($query) > 0);

print $anahtar;
Bu kod, veritabanında olmayan bir anahtar üretmenizi sağlayacaktır. Sonra verinizi hazırlayıp tablonuza yeni kayıdınızı ekleyebilirsiniz.


Hazırlayan: Mehmet Fatih YILDIZ
9 Eylül Çarşamba ´09
MySQL'de Procedure Analyse fonksiyonu ile tablo yapınıza ait betimsel istatistikler ve alanlara ait veri türü önerisi elde edebilirsiniz. Bu sayede içi dolu olan bir tablonuzun yapısını optimize ederken kaydedilen veri hakkında fikir sahibi olabilirsiniz.

Procedure Analyse, çıktı olarak tablonuzdaki her alana ait minimum, maksimum, içindeki veri boyutlarının alt ve üst sınırlarını, ortalama standart sapma ve en önemlisi, o ana kadar kaydedilmiş verilerin profiline göre o alanın en ideal hangi türde olması gerektiğine dair öneri veriyor.

Sonuçta nümerik alanlarda ortalama, standart sapma, minimum maksimim değerleri düşünerek veri boyutunuzu saptayabilirsiniz. Aynı durum varchar alanlarda da geçerli. Çoğu zaman select sorguları gereksiz yere büyük açılmış alan türlerinden ve indeks oluşturulmamış basit alanlardan dolayı oldukça uzun sürelerde sonuç veriyor. Hatta bazen zaman aşımına uğruyor.

MySQL'de Procedure Analyse hakkında bilgi almak için
taze yazdığım şu dökümanı inceleyebilirsiniz :

MySQL'de Procedure Analyse ile optimizasyon analizi

Popüler Etiketler

google social media service blog xml nedir örnek kod ie internet explorer css3 html5 facebook opengraph api optimization fql wordpress cms firefox logo connect mssql apple php object javascript js mootools mfyz mobile table iphone css windows linux fstab ntfs kontrol yapıları if switch mysql sql optimizasyon analyse procedure konsol login radio button svn subversion git version control deployment spam htaccess apache route router mod_rewrite ruffles wanda oyun ubuntu rss lifestream dokuman pharma hack seo zaman html imza signature mail iOS cache auth ui ux icons db database free xmlhttprequest ajax graph share regex browsers support laptop notebook doritos url cookie assets less language development style code jquery framework plugin session job ipucu parse form date diff download twitter istatistik sosyal medya tebrik workspace player license lisans meta ipad terminal portfolio insanlar gimp howto pear mdb2 prepare execute injection nasıl wireless input textarea select compile compiler macosx app on-the-fly network link internet search integration subdomain tool ios itunes banner proje coding ide editor phpstorm jetbrains http icon ikon grafik calendar xhtml digital startups generator tarih server kitap design query www redirect crossdomain open source pgsql screen kurulum statistics developer chart box export browser app store store in-app purchase purchase subscription verification storekit itunes connect kampanya osx applications widget sitemap webkit web app music newsletter bootstrap tytz while