PIC Basic’de PORTA’yı çıkış olarak kullanmak

PIC16F877 üzerinde denemeler yaparken PORTA‘yı her yazışımda sıfırlandığını gördüm. Örneğin aşağıdaki kod çalıştıktan sonra yanık kalan tek led PORTA.1‘e bağlı olandı. PORTA‘nın herhangi bir bitine yeni bir değer yazıldığında diğer tüm bitler sıfırlanıyordu. Diğer taraftan PIC16F877‘nin diğer portları aynı davranışı sergilemedi.

Henüz yeni olduğum PIC programlama konusunda araştırma yaparken buradaki güzel örneği gördüm. Tam da aradığım kod. PORTA‘yı çıkış olarak süren bir örnek. Kodda görebileceğiniz gibi All_Digital = True PBP direktifi ile tüm çıkışlar dijital giriş/çıkışa hazır hale getiriliyor. Bu direktif makine kodunda binde 2’lik gibi artışa neden oldu. All_Digital direktifi ile PORTA’nın sıfırlanması sorunu ortadan kalktı.

PHP ile Paralel Port (LPT) Kontrolü

Bir önceki yazımda Pardus Linux üzerinde LPT kontrolünün nasıl yapılacağını anlatmıştım. Şimdi bu işi bir adım daha ileri götürerek paralel port kontrolünü PHP ile web sayfası üzerinden nasıl yapabileceğimize bakacağız.

İlk olarak apache ve php kurulumunu yapmalıyız. Sisteminizde apache ve mod_php kurulu değilse root’a geçtikten sonra aşağıdaki pisi komutu ile kurulumu kolayca gerçekleştirebilirsiniz.

pisi it apache mod_php -y

Bir önceki uygulamada komut satırını kullanarak derlediğimiz lptout programına parametre gönderiyorduk. Şimdi ise aynı komutu PHP içerisinden çalıştıracağız. PHP içinde sistem komutu çalıştırmak için shell_exec ve exec gibi komutlar var.

Bir önceki yazımda olduğu gibi, LPT’nin data gurubunun tüm pin’lerini +5v’a çekmek için PHP sayfasına yazılması gereken kod şöyle;

Yukarıdaki PHP kodu /home/tankado dizini altındaki lptout programına 2 adet parametre göndererek çalıştırılmasını sağlıyor.

Okumaya devam et “PHP ile Paralel Port (LPT) Kontrolü”

Pardus Linux ile Paralel Port (LPT) kontrolü

Linux’da paralel port kontrolü diğer işletim sistemlerine göre oldukça kolay. Tek bir satır C kodu ile porta değer göndermek mümkün.

Örneğin;

outb komutu birinci parametresi ile verilen değeri, ikinci parametresinde donanım adresi belirtilen port’a yazıyor.

Okumaya devam et “Pardus Linux ile Paralel Port (LPT) kontrolü”

WordPress Eklenti Geliştiricilerine Tavsiyeler

  1. WordPress eklentisinin kodları buradaki kod standartlarına uymalıdır. Lütfen satır içi dökümatasyon standartlarını da göz önünde bulundurunuz.
  2. Eklentinizdeki tüm fonksiyonlar WordPress çekirdeğindeki fonksiyonlar, diğer eklenti ve temalar ile çakışmaması için tekil bir isme sahip olmalıdır. Bu nedenle eklentinizin fonksiyonlarında, fonksiyon adından önce bir ön ek iyi bir fikirdir. Daha da iyi bir fikir ise eklenti fonksiyonlarınızı bir sınıf’ın içinde tanımlamaktır (sınıfın tekil bir ada sahip olması gerekir)
  3. Eklentilerinizdei, WordPress tablo adı ön eklerini doğrudan kodunuza yazmayın (genellikle ‘wp_‘). Bunun yerine $wpdb->prefix değişkenini kullandığınızdan emin olun. Okumaya devam et “WordPress Eklenti Geliştiricilerine Tavsiyeler”

WP MySQL Console Plugin

Click for English Translation

WP MySQL Console Nedir?

MySQL veritabanı sunucusu ile beraber gelen  komut kabuğunu çoğu kişi bilir. Komut kabuğu dediğim aslında MySQL’in standart veritabı istemci aracı (mysql.exe ./mysql). Bu araç ile SQL komutları kullanarak veritabanı sorguları çalıştırırz. Bu komut satırı aracının yerine birçok görsel istemci yazılımı geliştirilmiş olmasına rağmen, komut satırına uzun uzun SQL komutları yazmak da ayrı bir zevktir. Bilenler bilir ;) Ayrıca sözünü ettiğim görsel araçlar ile herzaman herşeyi yapmak da mümkün değil. Bu araçları kullanırken önünde sonunda komut satırına düşüp kendi SQL sorgularınızı çalıştırmanız gerekir.

Okumaya devam et “WP MySQL Console Plugin”

Call to a member function register_handler() hatası

WordPress alt yapısını blog dışından kullanabiliyoruz. Böylece WP sisteminin tüm fonksiyonları harici bir php sayfası ile entegre etmek mümkün olabiliyor. Bunun için wp-blog-header.php veya wp-load.php‘yi aşağıdaki şekilde include etmenin yeterli olduğu belirtilmiş.

Gel gelilim ki yukarıdaki include’u (require) bir fonksiyon içinden dahil ettiğinizde aşağıdaki gibi saçma bir hata alıyorsunuz. Bu durum WordPress Codex’de dökümante edilmemiş.

Kodu yukarıdaki gibi fonksiyon içerisinde kullandığınızda oluşan hata şöyle:

Teknik olarak nedenini hala daha anlayabilmiş değilim. Fikri olan varsa açıklar ise sevinirim.

Php hakkında doğru bilinen 10 yanlış

  1. PHP derlenen bir programlama dili değildir.
  2. PHP bellek erişimi, donanım kontrolü vb. alışılmadık kontroller yapamaz.
  3. PHP X programlama dilinin yaptıklarını yapamaz.
  4. PHP sadece web geliştirmek için kullanılır.
  5. PHP sadece bir şirket tarafından kontrol edilir. (zend)
  6. PHP dökümantasyonu kötü ve yetersizdir.
  7. PHP projeleri yeniden kullanılabilir değildir çünkü nesne tabanlı değildirler.
  8. PHP Ruby On Rails, Python Django, vs. den daha kötüdür.
  9. PHP yüksek performanslı ve ölçeklenebilir web siteleri ve uygulamalar için uygun değildir.
  10. PHP geliştiricileri ucuzdur çünkü nitelikli değildir.

Delphi’de IE (Internet Explorer)’ın Giriş Sayfası Kilidini Açmak

Bilgisayarınıza bulaşan Malware tabir edilen ve bilgisayarınızı tabiri caizse bir “mal”a çeviren zararlılar, IE (Internet Explorer)’ın giriş sayfasına kendi adresini yazar ve burayı kilitler. Böylece tarayıcıyı her açtığınızda sörfe malware’in sitesi ile başlarsınız. IE’ın giriş sayfası kilidini kaldırmak için aşağıdaki aracı kullanabilirsiniz. Ayrıca kaynak kodlarını da indirebilirsiniz.

Okumaya devam et “Delphi’de IE (Internet Explorer)’ın Giriş Sayfası Kilidini Açmak”

ASP vb.net dilinde file_get_contents ve file_put_contents karşılığı

PHP’nin dahili fonksiyonları olan file_get_contents ve file_put_contents basitçe dosya okuma ve dosyaya veri yazma işleri için çokça tercih edilir. file_get_contents 1. parametresinde belirtilen dosyayı okuyarak bir değişkene geri döndürür. file_put_contents birinci parametrede belirtilen dosya adına, ikinci parametre ile verilen veriyi yazar. Aşağıdaki  file_put_contents kodunun 3. parametresinde yer alan append verinin yazılacağı dosyaya ekleme mi yapılacak yoksa verilen veri ile yeni bir dosya mı oluşturulacak sorusunu cevaplar. Append (ekle) true ise 2. parametredeki veri dosyanın sonuna eklenir değilse dosya boş olarak oluşturulduktan sonra veri yazılır. Dosyanın içerisinde sadece belirtilen veri bulunmuş olur, önceki veri kaybolur.

WordPress Temalarındaki Gizli Tehlike

WordPress temelli bir site kurdunuz, sıra sitenize uygun bir görsel düzen bulmaya geldi. Şanslısınız, çünkü yüzlerce tema ücretsiz olarak emrinizde. Peki, her şey bu kadar harika mı? Ücretsiz sunulan bu temalar, beraberlerinde bazı tatsız sürprizler getiriyor olmasın? Evet, bu gerçekten de dikkate alınması gereken bir tehlike. TeknoSeyir’in bu bölümünde, WordPress konusunda önemli deneyime sahip olan editörümüz Özkan Erden, Murat Gamsız ile birlikte ücretsiz sunulan temaların taşıyabilecekleri tehlikeleri dile getiriyor.

PHP ile MAC<->IP<->HostName dönüşümü yapmak

PHP uygulamasının yalnızca belli bilgisayarlar tarafından kullanılmasını sağlamak için MAC (ethernet adresi) adresi kontrolü yapabilirsiniz. Benzer kontrol IP adresi ve Hostname kontrolü ile de gerçekleştirilebilir. Ancak güvenlik açısından kritik bir uygulamaya erişim sağlatıyorsanız söz konusu kontrollerin tamamen yetersiz olduğunu bilmek gerekir.Çünkü MAC, IP ve Hostname gibi adresler kullanıcı tarafından kolayca değiştirilebilir. Ancak bu kontrolleri kullanıcıyı rahatsız etmeden mevcut kimlik doğrulama prosedürüne  ekleyebilirsiniz. Ayrıca MAC adresi sadece yerel ağlarda geçerli olan bir parametredir, internet ortamında var olmadığını ve kontrol edemeyeceğinizi hatırlamalısınız.

Okumaya devam et “PHP ile MAC<->IP<->HostName dönüşümü yapmak”

Windows XP’ye Apache & PHP Kurulumu Yapmak

Windows XP işletim sistemine Apache & PHP kurulumunu ve temel yapılandırma ayarlarını anlattığım bir eğitim filmi kaydettim. Film en güncel Apache ve PHP sürümlerinin sitelerinden indirilmesiyle başlıyor, kurulumun ardından httpd.conf ve php.ini dosyalarında gerekli ayarların yapılıp, sunucunun test edilmesi ile sonlanıyor. Umarım yararlı olur. Değerli eleştiri ve önerilerinizi esirgemeyeceğinize eminim.

PHP ile Flashget’e download uyartımı göndermek

Flashget indirme yöneticisi olarak çokça tercih edilen bir program. Flashget sistem tepsisinde (system tray) beklerken aynı zamanda web tarayıcınızı da indirme görevleri için izler. Flashget bu sayede bir dosyayı indirmeye başlamadan önce ekranda belirerek indirmeyi Flashget ile yapmak isteyip istemediğinizi sorar. Bu özellik bazı durumlarda çalışmayabiliyor.  Yani, flashget tarayıcıdan bir download gerçekleştiği halde olaya müdahil olmayabiliyor. Çözüm için PHP tarafından göndereceğiniz header satırları ile  Flashget’e tetiklenmesi için uyartım gönderebilirsiniz.

Dosya ismini vermeden download adresi oluşturmak

Download sistemleriyle ilgilenenler için faydalı olacağını düşündüğüm bir uygulama.

http://site.com/download.php?id=4 dedik, dosya inmeye başladı ama, kaynağına baktığımızda dosyanın nerede olduğu ve dosya ismi yazıyor. Belki de biz bunu göstermek istemiyoruz. :) Basit uygulamalarda download.php sayfasında şu kod kullanılıyor;

Ama biz bunu yapmayacağız. Çünkü dosya ismini linkte göstermek istemiyoruz.

Fazla gevezelik etmeden uygulamaya geçeyim…

İşte bu kadar. Bu kodları download.php olarak kaydedin. download.php?id=1 dediğinizde 1 numaralı verinin dosya ismini alır, files klasöründen bulur ve kullanıcının indirmesine izin verir. Dosyanızın ismi hiçbir şekilde görünmez. Geliştirmek ve güzelleştirmek size kalmış arkadaşlar. Kolay gelsin.

Kaynak: http://www.ilhankaraoglu.com/dosya-ismini-vermeden-download-sayfasi-olusturmak

WordPress’in SQL Performansını İncelemek

WordPress‘in yüklenme hızı çalıştırdığı SQL komutlarının tamamlanma süresiyle doğrudan ilişkilidir. Bazen hasarlı bir MySQL tablosu, bazen bozulmuş bir indeks ve bazen de yanlış kodlanmış bir eklenti MySQL performasını çok ciddi ölçülerde düşürebilir (Hatta bu durumdan dolayı hosting firmanız tarafından uyarılabilirsiniz). SQL başarımının (performans) düşmesi sayfanızın geç açılmasına neden olur. Aşağıda anlatacağım yöntem ile WordPress’in hangi SQL’leri nekadar süre ile çalıştırdığını görebileceğiz. SQL’lerin çalışma süresi bize, başarım soruna daha iyi odaklanabilmek için kılavuzluk yapacak.

Okumaya devam et “WordPress’in SQL Performansını İncelemek”

LKD’nin SEÇSİS konusunda Basın Açıklaması

İnternet Tekonolojileri Derneği,
INETD’nin ve Linux Kullanıcıları Derneği,
LKD’nin SEÇSİS konusunda Basın Açıklaması

SEÇSİS’e  Denetim ve Daha Katılımcı bir Yapı Gerekir!

Seçimler, demokratik sistemin önemli bir parçasıdır. Anayasamız, 79. maddede “seçimin düzen içinde yönetimi ve dürüstlüğü ile ilgili bütün işlemleri yapma ve yaptırma görevinin” bağımsız bir yargı organı olan YSK tarafından yürütülmesi emretmektedir.
Daha önceki seçimlerde seçmen kütüklerinde bazı hatalar, son yerel seçimde de seçim sonuçlarının merkeze aktarımı ve  değerlendirilmesi sırasında bazı tıkanıklar yaşanmıştır.
Tüm bunlar, toplumda kaygıların doğmasına neden olmuştur. Bilişim alanındaki sivil toplum kuruluşları  olarak bu kaygıların giderilmesi ve daha saydam bir seçim yapılması konusunda görüş ve önerilerimizi paylaşmayı, toplumsal görevimiz sayıyoruz.
Okumaya devam et “LKD’nin SEÇSİS konusunda Basın Açıklaması”