Yardımcı programlar etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Yardımcı programlar etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

7 Ocak 2020

Web site yönetim paneli yazılımı

Web sitesi yönetimi özellikle de tamamen kontrolü elinde bulundurmak istediğiniz özel bir cms sahibi olmak istediğiniz zamanlarda karmaşık hale gelebilir. Bir web yazılımcı olarak kendi geliştirdiğim web site yönetim paneli yazılımını kullanıyorum ve bu şekilde şimdiye kadar birçok müşterim için ihtiyaçlar doğrultusunda web site yönetim ihtiyacını karşılayacak şekilde özel bir yönetim paneli geliştirme konusunda hizmet sağlıyorum. Bazı müşterilerim beğendikleri hazır bir tema kullanmayı tercih ederken bazı müşterilerim ise özel bir tasarım yaptırmayı tercih ediyorlar. Her iki durumda da arayüzün bana teslim edilmesiyle birlikte müşteri ihtiyaçlarını analiz ederek kullanımı kolay ve pratik bir şekilde web sitesine ait içeriklerin ve verilerin yönetilebileceği bir yönetim paneli hazırlayıp ön yüz yazılımını da yaparak müşterilerime teslim ediyorum.

Aşağıdaki videoda yönetim paneli yazılımının kullanıldığı örnek kullanımı izleyebilirsiniz. Bu sadece örnek bir proje olup yönetim paneli yazılımında müşterilerime daha farklı türlerdeki içerik ve veri yönetimini yapabilecekleri şekilde yönetim alanları mevcuttur ve her projeye göre özel olarak ayarlanmaktadır.

Eğer siz de web sitesi projeniz için yönetim paneli sahibi olmak ve statik web sitesinizi yönetim panelli dinamik bir web sitesi haline getirmek yada beğendiğiniz bir tema ile yeni bir web sitesi sahibi olmak yada sitenizi yenilemek isterseniz yandaki iletişim formu ile bana ulaşabilir ve teklif alabilirsiniz.


Website admin panel

23 Nisan 2012

Web tabanlı mysql veritabanı yönetim aracı

Bir süredir mysql için kullandığım bir web tabanlı veritabanı yönetim aracından bahsetmek istiyorum. Bu yazılım iki farklı isimle geçiyor: Adminer yada phpminadmin. www.adminer.org adresinden ulaşabilirsiniz. Bu yazılım php ile kodlanmış ve phpmyadmin ile benzer işlevlere sahip ancak tek dosya halinde paketlenmiş olarak kullanma imkanı ile işinizi kolaylaştıracaktır. Sunucuya yaklaşık 160kb - 200kb kadar tek bir dosya atarak tüm veritabanı yönetim işlemlerini yapabiliyorsunuz. Mysql dışında farklı veritabanı türlerini destekleyen şekilde de indirip kullanabilirsiniz. Mysql için tablo ve kayıt ekleme, düzenleme, arama gibi temel işlemler yanında yabancı foreign key tanımları, index, trigger, view, procedure, function, event gibi mysql özelliklerini/işlevlerini eklemeye - düzenlemeye izin veren pratik bir araç adminer. Ayrıca yedekleme özelliği de gayet kullanışlı. Bunun dışında bağımsız olarak sorgulama da yapabiliyorsunuz. Daha fazla bilgi almak ve adminer paketini indirmek için www.adminer.org adresini ziyaret edebilirsiniz.

14 Nisan 2012

Dropbox ile otomatik yedekleme

Bu yazımda bir süredir kullandığım online yedekleme ve paylaşım hizmeti yazılımı olan dropbox ile pratik olarak otomatik yedekleme nasıl yapılabilir bundan bahsetmek istiyorum.   Yöntemlerden biri basit bir bash script yazarak rsync komutuyla yereldeki bir dizini dropbox dizini altına bir başka dizine senkronize etmek şeklinde olabilir. Bunu şu şekilde yapabilirsiniz:
dropbox stop
rsync -avx --delete /konum/yerel_dizin/ ~/Dropbox/online_yedek/
dropbox start

Bu şekilde sh uzantılı bir bash script dosyası hazırlayıp istediğiniz zaman bash yedekle.sh şeklindeçalıştırabilirsiniz. Önce dropbox durdurulup işlem bittiğinde tekrar açıldığından herhangi bir çakışma olmadan bu işlemden sonra dropbox hesabınıza senkronizasyon işlemini otomatik olarak başlatmış olursunuz.

Bu yöntem dışında benim kullandığım daha zarif ve basit bir çözüm var ki hem kullanmak için yukarıdaki gibi bir komut çalıştırmanıza gerek kalmıyor hem de yedeklenecek dosya ve dizinlerin Dropbox dizininizde ikinci bir kopyasını oluşturmak gerekmediğinden yer tasarrufu da sağlıyor.

Bu yöntem aslında Linuxda bazen kullandığımız sembolik link oluşturmaya dayanıyor. Bunun için Dropbox dizininizin içinde sisteminizdeki herhangi başka bir dizine ait bir sembolik bağlantı oluşturuyorsunuz. Tek yapmanız gereken bu kadar. Bundan sonra dropbox programı açık olduğu sürece sizin asıl dizininizde yapılan tüm değişiklikler anlık olarak takip edilip anında online olarak yedeklenecektir. Bunun için kullanabileceğiniz komutlar şu şekildedir:
cd ~/Dropbox
ln -s /var/www/ www/Yedek

Bu komutlar ile kullanıcı ev dizini içindeki Dropbox dizinine gittikten sonra burada yereldeki /var/www/ dizini için bir sembolik bağlantı (symbolic link) oluşturmuş oluyorsunuz. Bundan sonra artık Dropbox hizmeti açık olduğu sürece asıl dizinde yapılan tüm değişiklikleri anlık olarak takip ederek online deponuzla senkronize edecektir. Tabi isterseniz yereldeki herhangi bir veri kaybına karşı önlem olarak dropbox hizmetini sürekli olarak açık tutmak yerine sadece belirli zamanlarda açarak yedekleme yapılmasını da sağlayabilirsiniz. Ayrıca dropbox programındaki selective sync (seçici senkronizasyon) ayarını kullanarak da online deponuzdan sadece istediğiniz dizinlerin kullandığınız makine ile senkronize edilmesini sağlayabilirsiniz.

Dropbox hizmetine üye olarak ücretsiz kişisel 2GB depolama alanına sahip olabilir ve yukarıda anlattığım şekilde kolayca yedekleme, senkronizasyon ve paylaşım işlemleri yapabilirsiniz. Dropbox hizmetine üye olmak için tıklayın.

7 Ocak 2012

Php short open tag sorunu ve çözümü

Bildiğiniz gibi Php dilinde açılış imi olarak standart kullanım <?php şeklinde olmakla birlikte bunun yerine çoğu zaman kısaca <?  şeklinde de yazabilirsiniz ancak bunun için sunucudaki short_open_tag ayarının açık olması gerekiyor. Linux sunucularda muhtemelen bu ayar açık olur ancak windows sunucularda sorun yaşabilirsiniz. Bu sorundan kurtulmak için ya short_open_tag ayarını php.ini ayarlarından açmanız yada kodunuzdaki tüm <? kısımlarını <?php ile değiştirmeniz gerekir. Açılış imi yanında ayrıca  <?='Deneme'?> şeklindeki kısa echo ifadeleri de cabası. Geçenlerde bu sorunla karşılaşıp kodların tamamında düzeltme yapmam gerekti ve bunun için pratik bir çözüm aradım. İnternette bulduğum bazı kodlardan yararlanarak bir PHP konsol komutu oluşturdum. Bu komut ile input dizininde bulunan tüm dosyaları tarayıp kısa imleri normal imlere dönüştürüyor. Yazdığım araç tokenizer işlevlerini kullanıyor. Eğer phpinfo() komutu çıktısında tokenizer başlığı altında Tokenizer Support değeri enabled ise o zaman bu kod sunucunuzda çalışır. Buraya tıklayarak dosyayı indirebilirsiniz. Kullanmak için arşivi açtıktan sonra sunucunuzda bir dizine kopyalayıp. output dizinine yazma yetkisi verdikten sonra input dizinine düzeltmek istediğiniz php dosya/dizinlerini kopyalayıp ardından komut isteminden şu komutu çalıştırın:
php convert_short_tags.php

Bu komutu çalıştırınca input dizinindeki kodlardaki short tag türü php imleri normal hale getirilip çıktılar output dizininde oluşturulacaktır.

14 Aralık 2011

Linux komut isteminde apg ile rastgele parola/şifre üretmek

Bugün farkettiğim bir linux komutuyla basit bir şekilde rastgele şifre üretebilirsiniz. Özellikle hosting vb. hesap kurulumlarında elle yazmak istemediğiniz ve güçlü olmasını istediğiniz parolalar için kullanabilirsiniz bu komutu. Bahsettiğim komut apg ve çok sayıda parametresi olmakla birlikte basit bir şekilde şu komut ile parola üretebilirsiniz:

[code]apg -c cl_seed[/code]

Bu komut sonucunda birkaç rastgele üretilmiş şifreniz olacaktır.

[code]apg --help[/code]

komutu ile apg için kullanabileceğiniz tüm seçenekleri görebilirsiniz.

1 Haziran 2011

Super boot manager Türkçe sürüm

Geliştiricisinin ricası üzerine Super boot manager adlı paketin Türkçe tercümelerini yapmış bulunuyorum. Böyle bir yazılıma ihtiyacı olan varsa diye duyurmak istedim. Projeyi şu adreste bulabilirsiniz:

http://www.sourceslist.eu/projects/super-boot-manager/

 

12 Haziran 2010

Linux 'ta Rsync ile kolay yedekleme işlemi

Linux kullanıyorsanız (ör: Ubuntu) mutlaka bir süre sonra yedekleme işlemi yapmak üzere bir arayış içinde olacaksınız. Bu amaçla kullandığım rsync komutundan (konsol programı desek daha doğru) bahsetmek istiyorum. Örneğin ben bu program oluşturduğum bir komut dosyası (bash script) ile iki farklı hafıza birimine yedekleme işlemi yapıyorum. Bunlardan biri 500Gb kapasiteli bir hard disk diğeri de daha sık ve daha az sayıda dizini yedeklemek için kullandığım 4Gb lık bir usb bellek. Usb bellekte yedekleme yapmak için şu şekilde bir komut dosyası kullanıyorum.

[bash]
rsync -avx --delete --log-file='rsync_www.log' /var/www/ ./www/
rsync -avx --delete --log-file='rsync_home.log' /home/eren/ ./eren/
[/bash]
Bu komutlar ile makinemdeki /var/www/ ve /home/eren/ dizinlerini usb diskteki www ve eren dizinlerine aktarıyorum. Hedef dizinlerin ./ ile başladığını görüyorsunuz. . işareti mevcut dizin anlamına gelir. Bu şekilde yazmamın amacı usb disk sürücüsünün sisteme göre farklı bir adrese bağlanmış (mount) olabileceği. Hedef dizinleri bu şekilde belirtebilmek için komutların çalıştırılmadan önce çalışma dizininin usb dizini olarak değiştirilmesi gerekir. (Ör: cd /media/disk-adi/ şeklinde). Bu komutları her seferinde yazmak yerine bir komut dosyası olarak kaydetmenizi öneririm. Eğer komutları rsync.sh adında bir dosyaya kaydederseniz çalıştırmak için önce usb disk dizinine gidip daha sonra
[bash]
bash rsync.sh
[/bash]
komutunu kullanabilirsiniz.

Ancak şunu belirteyim rsync ile yapılan aktarma sıradan bir kopyalama işlemi gibi değildir. Bu yedekleme işlemi aslında bir eşzamanlı hale getirme (synchronization) işlemidir. Bu arada rsync adının Remote Synchronization ifadesinden geldiğini söylemeliyim. Bu komutların çalışması genelde biraz uzun sürüyor ve işlem sonucunda usb diskteki dizinler dosyaların kaynağı olan bilgisayarın son durumu gibi oluyor. -v parametresi işlem yapılırken çıktının ekrana verilmesi için, -a parametresi archive mod kullanmak için (-rlptgoD parametrelerine eşdeğer),  -x parametresi de dosya sistemiyle ilgili bir parametre (dizin taraması yapılırken karşılaşılan sembolik bağlantı vb. dosyalar nedeniyle belirtilen kaynak dizinlerinin dışına çıkmaması için. Aksi halde sistemdeki başka bir dizine atlayıp yedeklemek istemediğiniz dosya ve dizinleri de kopyalayabilirsiniz). --log-file parametresi tahmin ettiğiniz gibi işlem sonuçlarını günlük dosyası olarak kaydetmek için.

Komutlardaki --delete de parametresi yedekleme yapılırken kaynakta silinmiş olan dosya/dizinlerin hedefte de silinmesi için. Yani bu işlem sonrası kaynak ve hedefteki dizinler eşitlenmiş oluyor. Bunlar dışındaki parametrelerin anlamları için rsync komutunun kullanım klavuzuna bakabilirsiniz. Bunun için man rsync komutunu kullanmanız yeterli. Göreceğiniz gibi rsync programı her türlü yedekleme ihtiyacını karşılamak için çok sayıda seçenek içerir.

27 Ocak 2010

Linux için Google Chrome

Google Chrome web tarayıcısının Linux için beta sürüm paketleri yayınlanmış. Daha önce başka bir platformda Chrome kullandıysanız diğer tarayıcılardan fark ve üstünlüklerini az çok biliyorsunuzdur.

Google Chrome 'u şu adresten indirebilirsiniz:
http://www.google.com/chrome?platform=linux

Google Chrome hakkında detaylı bilgi için:
http://www.google.com/chrome/intl/tr/features.html?platform=linux

15 Ocak 2010

PHP kodlarını korumak / şifrelemek

Php dili hepinizin bildiği gibi derlenmeyen yani betiksel olarak çalışan bir dil. Bu yüzden php ile geliştirilen bir yazılım resmi olarak olmasa da aslında açık kaynaktır. Eğer yaptığınız yazılımın başkaları tarafından incelenmesini, düzenlenmesini yada kopyalanması istemiyorsanız bir şekilde kodlarınızı korumanız gerekmektedir. Bunu sağlamanın en mantıksal yolu kodlarınızı kendinize ait sunucunuzda barındırmak olsa da bu yöntem çoğu programcı için uygun değildir. Ayrıca bazı durumlarda yazılımı başkasına teslim etmeniz gerekebilir. Buna bir örnek olarak yazılımınızı bir yada birçok müşteriye satma durumu verilebilir.

Piyasada php kodlarını derlediğini iddia eden birçok yazılım mevcut. Aslında bu derleme normal bir derleme işlemi değil. Bu işlem aslında kaynak kodları bytecode haline getirmektir.

Bu amaçla kullanılan yazılımların sayısı oldukça fazla. Bunların bir kısmı sunucuya bir eklenti kurulmasını gerektirmektedir. Herhangi bir kurulum gerektirmeden çalışacak şekilde kod dönüşümü yapan yazılımlar da mevcut ancak bu yöntem muhtemelen yazılımınızın hızını düşürecektir çünkü kodları asıl haline getirmek için bir ters şifreleme işlemi gereklidir.

Araştırmalarıma göre piyasada bu konuda en iddialı ve en yaygın olarak kullanılan iki yazılım var. Bunlardan biri Zend Guard, diğeri ise Ioncube Encoder. Günümüzde neredeyse bütün web sunucularında bu iki yazılım için çalıştırma ortamı eklentileri kurulu durumda. Bu yazıyı yazdığım sırada bu iki yazılımın fiyatları şu şekildeydi:

Zend Guard: $600
Ioncube Encoder: $199(Basic) , $299 (Pro) , $379 (Cerberus)

Zend guard 'ın fiyatı 1 yıllık kullanım içindir ve kullanmaya devam etmek için her sene bu ücreti tekrar ödemeniz gerekiyor.

Ioncube Encoder için ise ücret bir defa ödeniyor ve 1 yıllık güncelleme ve destek hizmeti ücretsiz olarak ürüne dahil oluyor. Bu süre bitiminde 2 hafta içinde daha düşük bir ücret ödeyerek süreyi uzatabiliyorsunuz.

Benim googleda araştırmalarıma göre Ioncube kalite olarak çok iyi ve arama sonuçlarında gördüğüm kadarıyla bu yazılımla korunan kaynak kodlar diğer ürünlere göre daha sağlam bir şekilde korunuyor. Ayrıca günümüzde neredeyse bir standart olarak bütün sunucularda Ioncube desteği mevcut.

Ioncube için farklı özelliklere sahip 3 sürüm var. Bunlar Basic, Pro ve Cerberus sürümleri. Bu sürümlerin karşılaştırmasını şu adreste görebilirsiniz:
http://www.ioncube.com/sa_encoder.php?page=pricing

Farklarını kısaca açıklamak gerekirse Basic (Entry Level) sürümü ile kodlarınızı incelenmeye ve düzenlenmeye karşı koruyabilirsiniz ancak bu durumda kodlar kopyalanmaya karşı korumasızdır. Pro sürümünde buna ek olarak zaman aşımı, ip ve alanadına göre kısıtlama getirmek üzere lisans dosyası oluşturarak kodlarınızın sadece istediğiniz sitede / istediğiniz süre boyunca kullanılabilmesini sağlayabilirsiniz. Cerberus sürümünde ise Pro sürümündeki özelliklerle birlikte yazılımın çalışacağı makinenin MAC adresine göre kısıtlama getirmenize olanak sağlıyor.

Bu özelliklere göre özel bir projeye ait kodları korumak yada yazılımdaki parola gibi hassas verileri korumak için basic sürümü yeterli olabilir. Yazılımın kopyalarının ticari olarak satılması amacı için ise Pro sürümü uygun olacaktır. Cerberus sürümü ise sadece makine bazlı kısıtlama gerektiren özel durumlarda gerekli olacaktır.

Ben daha önce Basic sürümünü denedim ve memnun kaldım. Ücretsiz olarak indirip kullanılabilen Ioncube Loader modülünü yerel sunucumda kurdum ve kodların sorunsuz olarak çalıştığını gördüm. Ancak daha yüksek güvenlik sağlayan obfuscation (kod karıştırma) seçeneğini kullanmak herhangi bir işlev adının kod içinde string olarak kaydedildiği durumlarda bazı yazılımlarda uygun olmayabiliyor. Ancak bu seçeneği kullanmak zorunlu değil. Yerel makinem dışında kullandığım web sunucusunda da ioncube ile kodlanmış yazılım için deneme yaptım ve yine sorunsuz olarak çalıştığını gördüm. Deneme sürümü iki haftalık kullanım sağlıyor ve deneme sürümü kullanılarak kodlanmış yazılım ise yanlış hatırlamıyorsam üç gün boyunca kullanılabiliyor.

Sonuç olarak Php gibi betiksel bir dil kullanarak ticari yazılım geliştiren yada yaptığı yazılımları korumak isteyen her geliştirici için Ioncube makul bir tercih olacaktır. Profesyonel web geliştirme amacıyla verilecek 200-300 $ gibi bir ücret bu sistemin faydası dikkate alındığında bence çok fazla bir ücret değil.

http://www.ioncube.com

25 Mart 2009

Javascript tabanlı kod renklendirme (Syntax Highlighter)

Daha önceki sitemde verdiğim kodları renklendirmek için fck düzenleyicisine eklenen bir geshi eklentisi kullanmıştım. Ancak geshi renklendirme (syntax highlighting) işlemini sunucu tarafında yaptığı için istemci tarafında çalışacak javascript tabanlı bir araç aramaya başladım. Sonunda şunu buldum:

http://alexgorbatchev.com/wiki/SyntaxHighlighter

Eski kodların bazılarını bu sisteme dönüştürdüm. Kalanları da zamanım oldukça sırayla değiştirmeyi düşünüyorum. Blogger sunucuya dosya yüklemeye izin vermediği için gereken dosyaları eklentinin kendi sitesinden kullanıyorum. Eğer siz de bu sistemi kullanmak istiyorsanız blog şablonunuz içine head imleri arasına aşağıdaki gibi bir ekleme yaparak bu aracı uygulayabilirsiniz. Eğer dosyaları kendi sunucunuzda barındıracaksanız adres değerlerini sitenize göre değiştirmelisiniz.
[html]
&lt;link href='http://alexgorbatchev.com/pub/sh/2.0.296/styles/shCore.css' rel='stylesheet' type='text/css'/&gt;
&lt;link href='http://alexgorbatchev.com/pub/sh/2.0.296/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/&gt;

&lt;script src='http://alexgorbatchev.com/pub/sh/2.0.296/scripts/shCore.js' type='text/javascript'/&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/2.0.296/scripts/shLegacy.js' type='text/javascript'/&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/2.0.296/scripts/shBrushPhp.js' type='text/javascript'/&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/2.0.296/scripts/shBrushXml.js' type='text/javascript'/&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/2.0.296/scripts/shBrushCss.js' type='text/javascript'/&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/2.0.296/scripts/shBrushJScript.js' type='text/javascript'/&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/2.0.296/scripts/shBrushSql.js' type='text/javascript'/&gt;
[/html]
[html]&lt;script type='text/javascript'&gt;
SyntaxHighlighter.config.bloggerMode=true;
SyntaxHighlighter.all();
&lt;/script&gt;
[/html]
Bu araç çok sayıda programlama dilinde yazılmış kaynak kod için renklendirme yapabiliyor. Ben sadece kullanma ihtimalim olan bazı diller için gerekli dosyaları dahil ettim. Blogger için kullanılacaksa benim yaptığım gibi bloggerMode ayarının etkinleştirilmesi gerekiyor. Bu aracın kullanımı için kaynak kodu pre imleri içine yazıyoruz ve örneğin javascript renklendirmesi için pre imine class="brush: js" şeklinde sınıf veriyoruz:
[html]
&lt;pre class="brush: js"&gt;
SyntaxHighlighter.config.bloggerMode=true;
SyntaxHighlighter.all();
&lt;/pre&gt;
[/html]
Bu kod sonuçta aşağıdaki gibi görünür:
[js]
SyntaxHighlighter.config.bloggerMode=true;
SyntaxHighlighter.all();
[/js]

16 Kasım 2008

Firebug ile hata ayıklama

Her yazılım alanında olduğu gibi web programlamada da hata ayıklama programcı için önemli bir süreçtir. Bu yazımda hata ayıklama sürecini geliştiriciler için kolaylaştırmak için kullanabileceğiniz Firebug eklentisinden bahsetmek istiyorum. Bu eklenti firefox tarayıcısı için geliştirilmiştir ve şu adresten kolayca indirip kurabilirsiniz: https://addons.mozilla.org/en-US/firefox/addon/1843 . Firebug 'ın IE, Opera, ve Safari için kullanabileceğiniz bir Lite sürümü de vardır ancak bunun firefox için geliştirilen orjinal eklenti kadar iyi olduğunu sanmıyorum.

Firebug ile tarayıcıyı ilgilendiren her kod üzerinde hata ayıklama ve izleme yapabilirsiniz. Yani izlediğiniz sayfada bulunan Html, Css ve Javascript kodlarını düzenleyip değişiklikleri eşzamanlı olarak görebilirsiniz. Ayrıca firebug ile sunucuya yapılan çağrıları da (post/get) izleyebilirsiniz. Aşağıda firebug eklentisinin örnek bir görüntüsü bulunuyor. Eklentiyi kurduktan sonra firebug 'ı açmak için tarayıcının sağ alt köşesindeki firebug böcek resmini tıklayabilir yada F12 tuşunu kullanabilirsiniz.

Firebug 'ı ister yeni bir pencerede ister tarayıcının alt kısmında çalıştırabilirsiniz.Css sekmesini kullanarak sayfanızdaki öğelerin biçimlendirmesini anlık olarak değiştirebilirsiniz. Net sekmesini kullanarak sayfanızın yaptığı çağrıların tümünü ms cinsinden yüklenme zamanlarıyla ve ayrıntılı başlık ve yanıt bilgileriyle izleyebilirsiniz. Ayrıca Javascript sekmesini kodlarınızı düzenleyebilir ve hata ayıklama işlemleri yapabilirsiniz. Bununla birlikte performans ölçümü yaparak kodlarınızın nerede tıkandığını görebilirsiniz. Sayfanızın işleyişi boyunca herhangi bir hata oluştuğunda tarayıcı pencerenizin sağ alt köşesinde oluşan hata sayısıyla birlikte bir uyarı görürsünüz. DOM sekmesini kullanarak sayfanızın nesne yapısını inceleyebilirsiniz. Firebug 'ın ilginç bir özelliği de doğrudan javascript kodu çalıştırabilmenizdir. Bunu yapmak için konsol sekmesini açıp en altta çıkan ve başında >>> bulunan satırı kullanabilirsiniz. Ayrıca bu satırın en sağındaki ok işaretini kullanarak kod yazabileceğiniz bölümü genişletebilirsiniz. Özet olarak Firebug bir geliştirici olarak karşılaşabileceğiniz hataları bulup düzeltmek için kullanışlı bir araçtır.

1 Kasım 2008

Google Chrome web tarayıcısı

Google 'ın Chrome adında yeni bir internet tarayıcısı yayınladığını belki duymuşsunuzdur. Bu tarayıcının bana (ve başka web yazılımcılarına) göre ilk dikkat çeken özelliği diğer tarayıcılara göre üstün bir javascript yorumlama hızına sahip olması. Bu konuda diğerlerinden farkı javascript kodlarını önce derleyip (V8 adını verdikleri javascript makinası ile) sonra çalıştırıyor olması. Bunun yanında adres çubuğuna (tarayıcı geçmişinden değil google 'dan alınan verilerle) adres önerileri sunması farklı bir özellik olarak öne çıkıyor. Ayrıca çökme kontrolü, gizli sekme özelliği gibi yeniliklerle henüz tam sürümü çıkmamış olmasına rağmen gayet iddialı bir çıkış yapmış gibi görünüyor.

Aşağıda google 'ın Chrome ile ilgili açıklamasını bulabilirsiniz:

Bizler Google'da zamanımızın büyük bir kısmını bir Internet tarayıcısı kullanarak geçiriyoruz. Aynı tarayıcıda arama yapıyor, chatleşiyor, e-posta gönderip alıyor ve birlikte çalışıyoruz. Herkes gibi biz de boş zamanlarımızda alışveriş yapıyor, banka hesabımızı kontrol ediyor, haberlere göz gezdiriyor ve arkadaşlarımızla konuşuyoruz. Bütün bu işlemler için de bir tarayıcı kullanıyoruz. İnsanlar her geçen gün zamanlarının daha büyük bir kısmını Internet'te geçiriyor ve 15 yıl öncesinde Internet'in ilk günlerinde akla hayale gelmeyecek şeyler yapıyor.

Internet'te bu kadar uzun zaman geçirdiğimizi gördükçe eğer sıfırdan bir tarayıcı yaratılsa nasıl olurdu diye düşünmeye başladık.

Fark ettik ki Internet, basit metin sayfalarından gelişerek zengin ve interaktif uygulamaların olduğu bir yer haline gelmişti ve bu nedenle geliştireceğimiz Internet tarayıcısını sil baştan düşünmemiz gerekiyordu.

Artık ihtiyacımız olan sadece bir tarayıcı değil, web sayfaları ve uygulamaları için modern bir platformdu ve biz de bu amaçla yola çıktık.

Çalışmalarımızın sonunda yeni bir açık kaynaklı Internet tarayıcısının beta versiyonunu yayınlıyoruz: Google Chrome.

Dışarıdan bakıldığında akıcı ve basit bir tarayıcı bir tasarladık. Bir çok insana göre Internet tarayıcısı önemli olmayan, sadece web sayfalarını ve uygulamalarını çalıştırmak için kullandığımız bir araçtır. Klasik Google ana sayfası gibi Google Chrome da hızlı ve sade. Yolunuzdan çekiliyor ve sizi gitmek istediğiniz yere götürüyor.

Yakından incelendiğinde, günümüzün karmaşık Internet tabanlı uygulamalarını çok daha iyi çalıştıran bir Internet tarayıcısının temellerini atmayı başardık. Her bir sekmeyi ayrı bir "sandbox"ta tutarak bir sekmenin diğer bir sekmeyle çakışmasını engelleyip sakıncalı web sitelerine karşı çok daha gelişmiş bir koruma sağladık. Hızı ve yanıt verebilirliği arttırdık ve ayrıca günümüz tarayıcılarında kullanımı mümkün olmayan yeni nesil internet uygulamalarını desteklemesi için daha güçlü bir JavaScript makinası olan V8'i kurduk.

Bu daha sadece başlangıç, Google Chrome varacağı noktadan çok uzak. Bu Windows için uyumlu beta versiyonunu daha geniş bir tartışma başlatmak ve en yakın zamanda sizin fikirlerinizi öğrenmek için yayınlıyoruz. Mac ve Linux uyumlu versiyonlarını da hayata geçirmek için çalışıyoruz ve Google Chrome'u çok daha hızlı ve güçlü hale getirmek için çalışmaya devam edeceğiz.

Açık kaynak projelere çok şey borçluyuz ve onların yolundan devam ediyoruz. Apple'ın WebKit ve Mozilla'nın Firefox bileşenlerinden faydalandığımız kaynaklardan sadece ikisi ve biz de bütün kodlamamızı açık kaynak yapıyoruz. Internet'in ilerlemesi için bütün açık kaynak (yazılım) topluluğu ile birlikte çalışmayı umuyoruz.

Internet artan seçenekler ve yenilikler ile sürekli gelişiyor. Google Chrome da yeni bir seçenek ve umuyoruz ki Internet'in daha da gelişmesine katkıda bulunacak.

Bu kadar anlatmak yeter. En iyisi bir de siz kendiniz Google Chrome'u test edin.

23 Ekim 2008

PhpMyAdmin Türkçe karakter sorunu

PhpMyadmin kullananlar genelde veri aktarımı yaparken (ör: başka bir sunucudan veritabanı alırken) Türkçe karakter sorunundan şikayetçidirler. Aynı sorun yakın zamanda benim de başıma gelmişti ve biraz denemeden sonra bir çözüm buldum. Phpmyadmin ile aktarmak istediğim veritabanı utf8 olarak kodlanmıştı ve bunu başka bir sunucuya kopyalamam gerekiyordu. İçeri aktar bölümünde bazı denemeler yaptım ancak birçok karakter setini denesem de değişik biçimlerde bozulmuş olan Türkçe karakterler elde ettim. En sonunda aklıma binary seçeneği geldi ve bu işe yaradı. Meğer phpmyadmin bu aktarma işlemine başlamadan önce seçilen karakter setine göre bir set names sorgusu çalıştırıyormuş. Bu yüzden kaynak veritabanı utf8 olduğunda listeden de utf8 seçtiğimde gereksiz bir dönüşüm yapmaya çalışıp Türkçe karakterleri bozuyormuş. Başka bir karakter seti seçtiğimde ise verinin gösterildiği sitenin kodlaması farklı olduğu için bozuk karakterler elde ediyordum. Sonuç olarak eğer PhpMyadmin ile içeri aktarma işlemi yapacaksanız ve kaynak veritabanının kodlaması yeni sunucuda kullanmak istediğiniz kodlamayla aynı ise karakter seti olarak binary seçin. Yalnızca farklı bir karakter setine dönüşüm yapmak istiyorsanız elde etmek istediğiniz karakter setini seçin.

Kripto paralar hakkında

Kripto paralar, merkezi olmayan, şifrelenmiş ve dağıtılmış bir veritabanı olan blok zinciri teknolojisi kullanılarak oluşturulan dijital par...