Android Anlatımlar

Android Programlama

Bu bölümde Android çatısında programlama yaparken ihtiyacınız olabilecek bazı önemli konular hakkında anlatımlar bulabileceksiniz.

İncele

Android Problemler

Android Problemleri

Bu bölümde Android çatısında programlama yaparken karşılaşabileceğiniz sorunlardan bazılarına cevaplar bulabileceksiniz.

İNCELE

Android Yardımcı Kodlar

Android Programlama Yardımcı Kodlar

Bu bölümde Android çatısında programlama yaparken ihtiyacınız olabilecek küçük kod parçalarını bulabileceksiniz.

İNCELE

SQL ve Relational Algebra Bölüm-1

Bundan sonra her salı günü olacağımız quizler nedeniyle, sayın T.M. Murali ' nin http://courses.cs.vt.edu/~cs4604/Fall09/ linkindeki SQL and Relational Algebra başlıklı ders slaytının çevirisini yapmayı, çevirilerini yapmaya devam ettiğim VTYS-S serilerinin önüne almayı uygun gördüm. Umarım quizlerimiz için faydalı bir çalışma olur.

SQL ve Relational Algebra

SQL = Structured Query Language ("sequel" şeklinde okunur.)

İlişkisel bir veritabanı üzerinde sorgulanmış verinin tanımlanması için kullanılır.

İlişkisel bir veritabanı üzerindeki verinin sorgulanması ve modifiye edilmesi için birincil mekanizmadır.

SQL bildirimsel(declarative) bir dildir.

  • Yapılması gereken, nasıl yapılması gerektiği belirtilmeden söylenir.
  • İlişkisel veritabanlarının ticari başarısının ana nedenlerinden bir tanesidir.

SQL bir çok standart ve uygulamaya sahiptir:

  • ANSI SQL
    SQL-92/SQL2 (null operations, outerjoins)
    SQL-99/SQL3 (recursion, triggers, objects)
    Satıcıya özel çeşitler

Relational Algebra nedir?

Relational algebra ilişkilerin içerikleri hakkındaki sorguların belirtilmesi için kullanılan bir notasyondur.

Relational algebra sorgular hakkında akıl yürütme işlevini kolaylaştırır.

Relational algebradaki işlemlerin SQL üzerinde karşılıkları mevcuttur.

Bir sorguyu çalıştırmak için, bir VTYS SQL'i relational algebra ile benzer bir notasyona çevirir.

Bir algebra operatörler ve operandlar kümesidir.

  • Aritmetik : Operandlar değişkenler ve sabitler, operatörler +,-,X,%,/ vb. dir.
  • Set Algebra : Operandlar kümeler ve operatörler U(birleşim), -(fark) vb. dir.

SEO Backlink hakkında

SEO genel kavramlar makalemizde genel kavramları anlatıp, SEO pagerank hakkında makalemizde PageRank değerinin önemi üzerinde durduktan sonra, bu iki makalede de sıkça adından söz ettiren backlink kavramı neymiş onu açıklamaya çalışalım.

Dedik ki, eğer bizim bir web sitemiz var ise buna SEO yapmak istiyorsak, bu bize aramızı sürekli iyi tutmamız gereken bir arkadaş kazandıracak. Google. Google’ın bir çok iyi arkadaşı var. Bunlar PR’si yüksek olan insanlığa faydalı arkadaşlar. Eğer ki bu arkadaşlarından bir tanesi gidipte Google’a bizim için “Bak şurada şöyle bir arkadaşımız var, oda insanlığa faydalı, oda insanlığa iyi hizmet ediyor.” derse, Google bu iyi arkadaşlarına güvenecek ve bize olumlu bir bakış açısıyla bakacaktır. Google’ın bu bakış açısı ise bize mutlaka olumlu olarak geri dönecektir. Normal hayata uyarlanan bu olaya şimdide internet üzerindeki Google’ın gözüyle bakalım. Google internette yayına sunulan sayfaları botları aracılığı ile indexlemeye çalışır. Değer verdiği özelliklere göre, bu indexleme işlemini hızlı veya yavaş bir şekilde gerçekleştirir. Google PR değeri yüksek bir sitedeki bir sayfayı indexlerken dışarı verilen bir linkle karşılaştığında, derki “Bu sitenin PR değeri yüksek, iyi bir site, eğer bu site başka bir siteyi referans olarak gösteriyorsa, o sitede iyidir.” İşte bu şekilde gösterilen referans olarak gösterilen site bizim sitemiz olursa, bu hem bizim indexlenme hızımızı artıracaktır, hemde bize PR olarak geri dönecektir. PR’si yüksek olan sitelerden alınanbacklinkler çok değerlidir. Fakat PR’si düşük olan siteleride hemen, “ Bu site yaramaz, bundan backlink alsam ne olur almasam ne olur” diye bir kenara atmak yanlıştır. Çünkü bu tür sitelerde Google botlarını sitemize yönlendirecektir.

SEO Pagerank Hakkında

SEO Genel Kavramlar makalesinde genel olarak SEO’nun ne olduğu, neden bizim için önemli olduğu, ve bu kavram hakkında belli başlı bilinmesi gereken tanımlardan bahsettik. Şimdi bu tanımları biraz daha irdeleyelim.

Günlük hayatımızda çoğu zaman bazı şeyleri sıralama girişiminde bulunmuşuzdur. Bu sıralamamızı yaparken, birşeyleri dikkate almış, bizim için önemli olan özellikleri barındıran söz konusu nesneleri daha üst sıralara yerleştirmişizdir. Biz insan olarak böyle yapıyoruz, peki Google bu sıralamayı bilgisayar üzerinde nasıl yapıyor? Sonuçta bu aleti yapanda insan. Her ne kadar (programlamaya yabancı olmayanlar bilecektir) random() diye bir fonksiyon var olsada, bunun bile aslında random(rastgele) olmadığı, bir yerlerden beslenerek random() süsü verildiğini. Yani bilgisayar dünyasında hiçbir şeyin rastgele olmadığı ortadadır. Hele ki Google sonuçlarında (kendi adıma konuşuyorum) aradığım şeyi %99 bulabiliyorsam, demekki Google beni iyi yönlendiriyor, üst sıralardaki siteleri rastgele seçmiyor demektir. Peki nasıl yapıyor Google bu sıralamayı, bize tahsis edilen internet denilen bu büyük bilgisayar ağındaki alanımızı neye göre üst sırasına alıyor, nasıl değer biçiyor? İşte bunu anlamak için PageRank kavramını inceleyeceğiz.

PageRank Türkçe anlamı ile Sayfa Değeri, yani Google’ın yazmış olduğu algoritmaya göre bizim sitemize vermiş olduğu değer  demektir. Bu değer, bizim sitemizin daha üst sıralarda yer almasının başlıca nedenidir.

Page Rank Değerini artıran faktörler nelerdir?

SEO Genel Kavramlar

SEO ingilizcesi Search Engine Optimization olan, Türkçe’ye çevrildiği zaman, Arama motoru optimizasyonu denilebilen ifadedir.  Bu kavramı biraz daha açarsak, arama motorlarında daha üst sıralara çıkmak için kullanılan tekniklerin, yapılan ayarlamaların tümüdür diyebiliriz.  İyi bir SEO için herkesin kendine göre farklı yöntemleri, farklı düşünceleri olsada önemli olan, kimsenin aksini iddia edemeyeceği en çok kullanılan arama motoru Google’ın düşünceleridir. Google bu güne kadar siteleri seçmek için farklı ve genellikle güvenilir algoritmalar kullanılmıştır. Zaten Google’ı en fazla kullanılan arama motoru diye nitelendirmemizin asıl sebebi de bu değil midir ? SEO neden gereklidir peki? Çok mu önemli Google’da üst sıralara çıkmak? Bu sorunun cevabını bulabilmek için biraz geçmişe gidelim. İnternet ilk  icat edildiğinde amaç olarak farklı bir amaçla çıkmış olsada sonradan geniş kitlelere hitap edebilen bir araç haline gelmiştir. Bu araç bazen geniş kitlelere düşüncelerinizi iletmek için, bazen gelişen olayları kitlelere  anında duyurmak için, bazende eğlence alanında kullanılmıştır. Teknolojinin gelişmesi sürecinde, insanların internete olan güvenlerinin artması ve sağladığı kolaylıklar nedeniyle zamanla ticaret alanıda bu aractan büyük yardımlar almaya başlamıştır.  Arasıra bazı ticari sitelerin açıklamalarında görürüz; “Sitemiz aracılığı ile xxxx tutarında satış yapılmıştır.” Buradaki xxxx astronomik bir rakamdır. Peki insanları bu siteye ulaştıran nedir? Hadi bir kısmı doğrudan linki bilerek bu siteye erişti diyelim,  diğer kısım bu siteye nasıl ulaşıyor? İşte bu aşamada Google devreye giriyor, eğer sitemiz kaliteliyse ve Google bunu gördüyse bizi ödüllendiriyor, sitemizi aramalarda üst sıralara taşıyor. Buda bize doğal olarak “tık” olarak geri dönüyor. Hem biz memnun oluyoruz, hemde kaliteli sitemizi ziyaret eden kullanıcılar.  Bu alandaki genel kavramları biraz olsun açıklamaya çalışarak devam edeyim;

Temel Linux Konsol Komutları

Temel Linux Konsol Komutları

Burada anlatılan bilgiler çeşitli sitelerden yararlanılarak derlenmiştir.Linux temel olarak kullanıcıyla X Pencere Sistemi adı verilen (startx buyruğuyla başlatıldığını daha önce görmüştük.) bir pencere ortamı olmaksızın, komut satırından iletişim sağlayan bir sistemdir.Konsolda her komuttan sonra helpine bakarsanız o komutun tüm fonksiyonlarını görebilirsiniz.Örnek :

ls --h

veya : ls --help

root@aku: ~# _
tipik bir komut yorumlayıcı komut (prompt). Komutların biçim ya da yapısı kullanıcının isteğine göre oluşturulabilir. Bizim özel örneğimizde "@" iminden önceki etiket (root ) şu anda geçerli olan kullanıcıyı, aku ise sistemin konak adını belirtiyor. ~ karakteri, yöneticinin hesabı halinde /root olacak olan kullanıcıların anayerleşim (home) dizinini gösteriyor ve son olarak da "#" komutu bu özel hesabın süper kullanıcıya ait olduğunu belli ediyor. Kullanıcı şimdi hareketeden imleçten sonra herhangi bir komutu girebilir.

ls: dizin içeriğini listeler
Örneğin: root@aku:~$ ls
BasiliX/ dead.letter mail/
root@yonca:~# ls -l deneme
Bu örnekte kullanıcının nasıl bir komut (ls), bir komut seçeneği (-l) ve bir parametreden (deneme) oluşan bir deyim oluşturduğunu görebiliriz. Kullanıcı enter tuşuna bastığında, Linux deneme dosyasını listeleyecektir (dosyanın büyüklüğü, oluşturulduğu tarih, ve birkaç başka özelliğini görüntüleyecektir.) Bir kabuk deyiminin genel yapısı, bir karakter boşluktan sonra komut adını izleyen seçeneklerden oluşur.

ls -l -a deneme
Seçenekler aşağıdaki gibi birlikte de kullanılabirler:

ls -la deneme
Son olarak, komut dosya olarak birden fazla dosyaadı belirtilebilir, bunlar da birbirinden boşluk karakteriyle ayrılmalıdır.

ls deneme word yedek
Bu, deneme, word ve yedek dosyalarını ayrıntı vermeden listeler. Dosyaların daha ayrıntılı bir tanımlamasını almak isteyen daha önceki gibi -l seçeneğini kullanabilir.

ls -l deneme word yedek

Linux, sistemin nasıl kullanılacağı hakkında çok geniş ağiletişimli (online) bilgiye sahiptir. Bir komutun adını biliyor ve nasıl kullanıldığını öğrenmek istiyorsanız :
man [komut]
Bu, komutunun elyordam sayfasını oluşturacaktır. Hemen hemen tüm sistem komutları için elyordam sayfaları sistemde var durumdadır. man komutunun kendisinin seçenekleri hakkında daha çok bilgi almak isterseniz, yalnızca man man yazmanız yeterli. Bir UNIX buyruğunun seçeneklerini akılda tutmak asla gerekmez. Çünkü ağiletişimli elyordam sayfaları her zaman belleğimizi tazelemek için hızlı ve kolay bir yol sağlar. Öte yandan öğrenmek istediğiniz şeyin konusunu ya da bir açkı sözcüğünü biliyorsanız şunu deneyin:

apropos [subject]
Bu, konuyla ilişkili tüm komutların bir listesini verecektir. root@yonca:~$ apropos zip
atalkd (8) - AppleTalk RTMP, NBP, ZIP, and AEP manager
bzip2, bunzip2 (1) - a block-sorting file compressor, v1.0 bzcat - decompresses files to stdout bzip2recover - recovers data from damaged bzip2 files
explodepkg (8) - Extract the contents of a tar+GNUzip package (such as a Slackware software package) in the current directory.
funzip (1) - filter for extracting from a ZIP archive in a pipe
gzip, gunzip, zcat (1) - compress or expand files
jaztool, ziptool (1) - Tool for Iomega JAZ and ZIP drives
mzip (1) - change protection mode and eject disk on Zip/Jaz drive '" t TQ $1 ..
unzip (1) - list, test and extract compressed files in a ZIP archive
unzipsfx (1) - self-extracting stub for prepending to ZIP archives
zforce (1) - force a '.gz' extension on all gzip files
zip, zipcloak, zipnote, zipsplit (1) - package and compress (archive) files
zipgrep (1) - search files in a ZIP archive for lines matching a pattern
zipinfo (1) - list detailed information about a ZIP archive

Sosyal Profiller

Chart