bildirgec.org

Site arşivi: kodaman

Jquery ile Case-sensitive olmadan arama yapma

admin | 30 June 2010 11:54

Öncelikle efenim kodun örneğini http://jsbin.com/ucidi/3 adresinden görebilirsiniz. Hatta linke tıklayıp test de edebilirsiniz. Başlıkta da Niye case-sensitive ing. demeyin yoksa başlık aşırı uzun oluyordu 😀

Jquery’de bildiğiniz üzere contains kodu çalışırken büyük küçük uyumu olmadan çalışmaktadır ve standardı olmayan yazılarda böyle bir uyum olmayacağından düzgün çalışmıyor. Bende koca jquery için bunun kolay yolunu yapmamışlar mı derken bi baktım ki “custom selector” denilen bir velet eklenmiş framework’e. Bende bunu evirip çevirip (tabii gogıl’ında büyük yardımıyla) büyük küçük uyumu olmadan contains’i kullanmayı sağladım. Üstüne de dedim bunun soldan sağa olanı da olmalı ve alttaki iki kodu çıkarttım ortaya. http://www.west-wind.com/weblog/posts/519980.aspx adresinde çok iyi anlatılmış zaten soldanSaga kodunda hiçbir değişiklik yapmadım 😀

Web önyüzü nasıl olmalı?

admin | 30 June 2010 11:51

Web önyüzü(frontend) temel olarak üç öğeden oluşur.

İşaretleme dili
HTML, XHTML, WML gibi işaretleme dilleri. Bunlar sayfanın ana iskeletini oluşturur

Stil dosyaları
CSS. Bunlar ise iskeletin üzerine giydirilen görsel öğeleri belirler.

Dinamik öğeler
JavaScript . JavaScript ise sayfalarda, istemci(client) tarafında dinamik istekler yapmamıza yardımcı olur.

Web önyüz kodlamada yapılan en büyük yanlışlardan birisi de bu üç öğenin birbiri içersinde gereğinden fazla yer almasıdır. Bu üç öğenin etkileşimi kaçınılmaz olsa da, bu etkileşimi en aza indirmek, hem daha güzel/anlaşılır kodlar üretmek, hem de daha hızlı ve kararlı web önyüzleri üretmemizde faydalı olur.

Bu yazıda, nasıl daha standart, anlaşılabilir, güzel, sade web önyüz kodları üretebileceğinizi anlatmaya çalışağım. Bir web önyüzü;

Python Mouse Kontrolleri

admin | 28 June 2010 16:39

Python ile imlec kontrolü için bir kaç satır kod..
Gerekli modüller
Ctypes
Win32API

# -*- coding: cp1254 -*-
import win32api
import win32con
from ctypes import windll
import time

def m_tasi(x,y): #imleci verileren (x,y) koordinatlarına taşır.windll.user32.SetCursorPos(x,y)

def soltikla(x,y): # (x,y) koordinatlarına sol tıklar.

m_tasi(x,y) #imleci taşıyoruz..win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y) #Sol basılı tutuyoruz.time.sleep(0.05)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y) # 0.05 saniye sonra bıraktık.

php + xml = dil destekli sayfalar

admin | 28 June 2010 16:39

Merhabalar,

Bu ilk yazimda sizlerle pek cok projede kullandigim ve birden fazla dil ile calisan sistemlerde oldukca kolaylik saglayan bir yapiyi paylasmak istedim.

Bildiginiz gibi, birden fazla dilden olusan sistemlerde her dil icin sayfa iceriginin ya da sayfadaki sabit ogelerin (menuler, basliklar vb) degismesi mesakatli bir islemdir.

Daha once de php ile dil destegi hakkinda yazi gonderilmisti ancak bu sistem biraz daha farkli calismakta.

Oncelikle, elimizin altinda bir adet “Language” sinifinin oldugunu belirteyim. Bu sinifin temelde yaptigi islem, dogru dil dosyasini okuyarak kendi icerisinde tutmak ve daha sonra istenildigi zaman aranan sabitin dil dosyasindaki karsiligini getirmek.

Silverlight ‘da EasyFunction kullanımı

admin | 08 June 2010 14:28

Bu yazımda silverlight’da animasyon yaparken daha efektif animasyonlar hazırlamamıza yardımcı olan easy functionlardan bahsedicem.Silverlight’da herhangi bir nesnenin bir noktadan bir noktaya hareketi sırasında doubleAnimation kullandığımızda başlangıç noktasın’dan bitiş noktasına doğru doğrusal(düz) bir şeklide ilerliyecektir.ama bu ilerleme sirasında hareket eden nesnenin sağa sola hareket etmesi önce yavaşlayıp sonra hızlanması veya elastik bant gibi hedefe bir ileri bir geri şeklinde ulaşmasını istediğimizde easy functionlardan faydalanırız.okuduklarınızdan kafanızda bir şeyler oluşmadıysa sekil üzerinde daha iyi anlıcaksınızdır…

PHP ile Türkçe Gün ve Ay Gösterimi

admin | 26 May 2010 10:51

Merhaba arkadaşlar,
PHP ile günleri veya ayları yazdırdığımızda ekrana çıktısı İngilizce olarak gelmektedir. Fakat PHP nin str_replace(); fonksiyonunu kullanarak İngilizce gelen verileri Türkçe olarak değiştirip ekrana yazdırarak tamamen Türkçe tarih elde edebiliriz..Gelelim yapılışına:

Temel mantık array içindeki verilerin yerlerini değiştirmek..İlk önce array içinde aynı sırada İnglizce ve Türkçe tarihleri değişkene aktardık.Sonra yine bir değişkene tarih yazdırmak için date(“d-M-Y”);
fonksiyonunu atadık.En son str_replace(); ile gelen verileri değiştirdik.

Mesaj kuyruğu ve RabbitMQ

admin | 21 May 2010 16:55

rabbitmq

Neden gerekli?

Ölçeklenebilir bir web ortamı oluşturmak için anlık yapılmayan (asenkron) işlemler çok önemlidir. Bir mesaj kuyruğu imlementasyonu ile, işlemleri sıraya sokup, sırası geldiği zaman işlenmesini sağlayabilirsiniz.

Mesajları bir sıraya sokup işlem yaptırmaya aslında yabancı değiliz; bir çoğumuz kendi “mesaj kuyruğu” implementasyonunu biraz kötü bir şekilde yapmıştır. Örneğin, kullanıcılara gönderilecek e-postaları bir veritabanına(MySQL?) yazıp, , cron job’lar ile belli zaman aralıklarında bu veritabanından bir veriyi çekip, e-postayı gönderdikten sonra bu ilgili kaydı veritabanından silme işlemini yapmışızdır.

Ancak burada bazı sorunlarımız var:

Twitter @Anywhere Servisini Kullanmak

admin | 18 May 2010 10:51

Twitter yakın zamanda özelliklerini daha etkin bir şekilde kullanıcılarının kullanmasını sağlayacak anywhere servisini duyurdu. Servisin amacı Twitter’ın özelliklerini daha etkin bir şekilde kullanıcıların hizmetine sunmak ve bunu da birkaç satır kod ile kolaylıkla yapılmasıydı. İlk etapta bazı sitelere sunulan bu özelliği artık isteyen herkes kullanabiliyor. Bu uygulama ile yapabileceklerimize bir göz atacak olursak;

  • sadece @twitterkullanıcıadı yazarak o twitter profiline kolaylıkla link verebilir,
  • aynı şekilde @twitterkullanıcıadı yazarak hovercards fonksiyonu sayesinde sitenizden ayrılmadan kullanıcının profiline kısaca göz atabilir,
  • tek satır kod ile twitter takip butonu oluşturabilir,
  • sitenizden tweet‘leyebilirsiniz.
Uygulama Ekleme
Uygulama Ekleme

Anywhere uygulamasını kullanmak için öncelikle yeni bir uygulama oluşturmalısınız. Linke tıklayarak ulaşacağınız sayfada yapmanız gerekenleri anlatalım hemen;

  • Application Name kısmına uygulanızın adını,
  • Application Website kısmına http://siteniz.com şeklinde uygulamanızı kullanacağınız websitesini yazmalısınız.
  • Application Type kısmını ise sitenizde kullanacağınız için browser’ı seçin.
  • Callback Url kısmına ise yine anywhere uygulamanızı kullanacağınız sitenin adresini yazmalısınız.
  • Son olarak @anywhere uygulamalarının doğru bir şekilde çalışabilmesi için Default Access Type kısmında ise Read & Write seçili olmalı.
API Anahatarınız
API Anahatarınız

Bütün bunları doğru bir şekilde yaptıktan sonra yapmanız gereken Register Application‘a tıklamak ve anlaşmayı kabul etmek. Uygulamanız artık hazır ve inanın en zor kısmı bitti :). Şimdi açılacak olan sayfada size verilecek olan API anahtarınızı (API Key) bir yerlere kaydetmeniz gerekli ne olur ne olmaz diye.

Twitter Anywhere uygulamasını kullanmak için öncelikle sitenize küçük bir javasript kodu eklemelsiniz. Kodumuz;

DataGrid CSS3

admin | 13 May 2010 12:24

Merhabalar geçmiş sayfalardan örnek bir datagrid html modelinin sıfırdan html’e aktarılış hikayesini tüm incelikleriyle açıklamaya çalıştığımız bu yazımızı okuyanlarımız hatırlayacaktır.

O gün için CSS3 multiple background özelliğine destek veremeyen tarayıcıların kodumuza yansıttığı zahmeti belirtmişdik. Bu gün ise explorer haricindeki tarayıcılarımız bu zahmetleri, rahmete çevirecek desteklerine kavuşdukları görünmektedir.