21 Mayıs 2015 Perşembe

Android Programlama- Mesaj Gelen veya Giden Kutusuna Erişim - (Android Programming - Access to Inbox or Sendbox)

Android işletim sistemli mobilinize bir uygulama yazarken uygulama içinde cihazın inbox (gelen mesaj kutusu) ya da sendbox (gönderilen mesaj kutusu)'na erişim ihtiyacı duyabilirsiniz. Burada öncelikle AndroidManifest.xml dosyasında gerekli izni belirlemeniz gerekmektedir. O izinler şöyledir:



Daha sonra java kodlarını yazdığınız bölümde aşağıdaki işlemleri gerçekleştirmelisiniz. Aşağıdaki işlemlerin çok yeni sürümlü Android cihazlarında çalışıp çalışmadığını test etmedim fakat LG G3 Beat telefonumda inbox ve sendbox uzantıları farklı dizinler olarak gerçekleştirilmiş.


Burada mesajlara erişerek mesajın içeriğini ve gönderici-alıcı numarasını ekrana yazdırmayı gösterdim. Dikkat ederseniz kullanıcı kimliğine dair sadece numara bilgisine ulaşılıyor. Eğer o kullanıcının telefon rehberinde kayıt edildiği ismi de göstermek isteseydik AndroidManifest.xml dosyasında rehbere okuma erişimi isteyecek ve işlemleri farklı şekilde gerçekleştirecektik.
Not: 2. ve 4. satırlardan herhangi biri tercih edilmelidir. Inbox erişimi ise 2. satır olmalı, sendbox erişimi ise 4. satırı kullanmalısınız. Resimde de elimden geldiğince açıklamalarda bulundum. Kolay gelsin.

12 Mart 2015 Perşembe

Windows İşletim Sisteminden Github'a Dosya Yüklemek (Push to Github)


  1.  İlk olarak https://windows.github.com/ adresinden GitHub'ı indirin ve kurun.
  2. Masaüstüne gelen GitHub isimli simgeye çift tıklayarak açın ve Github kullanıcı adı ve parolanız ile burada oturum açın. Cofiguration (yapılandırma) ayarlarını skip edin, bunu daha sonra ayarlayabilirsiniz.
  3. Şimdi dosyalarınızı aktaracağınız bir depoya ihtiyacınız var. Çünkü Github belli bir hiyerarşi gerektirmektedir. Bunun için GitHub arayüzünde;



 şeklinde repo oluşturuyoruz. Local Path alanında repositorry'nin nereye oluşacağı görünüyor. O yoldaki dosyaya bakarsak eğer;


şeklinde bir içerik görmeliyiz. İşte buraya Githuba push edeceğimiz (yükleyeceğimiz) dosya veya dosyaları atmalıyız. Mesela ben Java ile yazdığım bir uygulamayı (AlgorithmAnalysisExample ismindeki klasör) githuba atayım. Resimde görüldüğü gibi klasör içine sürükledim projemi.


  Sonra yüklemiş olduğum Github uygulamasına baktığımda değişlik otomatik algılanmış olacaktır ve eklediğim dosya bilgilerini göreceğim. Onu da gösterirsem;


Hide olarak görünen buton normalde Show şeklindeydi. Show'a tıkladığımda yukarıdaki Summary ve Description alanı ile ve sağ tarafta içerik bilgilerini göreceğim. Burada Summary alanına bir şeyler yazma zorunluluğu vardır. Çünkü bu yazı Github üzerinde gösterilecek. (Örneğin: Herhangi bir dosyada güncelleme yaptıysan bu alana şu dosyayı güncelledim falan yazabiliriz bu yazı Github'ta kullanıcı bilgisine sunulur). Description alanını boşta geçebiliriz, bilgiler de girebiliriz. Bunları hallettikten sonra altta Commit seçeneğine ve sonra sağ üst köşedeki Publish Repository alanına tıklıyoruz. Aynı alanda Sync seçeneği çıkacak. Onuda gösterirsem;


Sağ üstteki Sync'e tıkladığımızda dosyamız githubta paylaşılacaktır. Onu da gösterirsem:



şeklinde dosyalarımızı başarıyla github'a yüklüyoruz.




Bootstrap -Giriş

     


        Bu yazıyı yazmamdaki amacım Bootstrap ile uğraşmaya hevesi olan arkadaşların Github üzerinden bootstrap web sayfasını nasıl oluşturacağını göstermektir. Aslına bakılırsa bu işe hevesli olan kişilerin araştırıp bu işi yapmaları çok zamanlarını almayacaktır fakat en ufak bir zaman kaybının da çok önemli olduğunu düşünerek bu yazıyı yazmaya ihtiyaç duydum.
        Öncelikle bootstrap hakkında çok kısa bir bilgi vereyim. Bootstrap; büyük ölçüde günümüz teknolojisine uyumlu, HTML, CSS ve JS bileşenlerini içinde barındıran, web sitelerini hızlı, kaliteli hale getiren son derece popüler bir web teknolojisidir. Yani bootstrap ile oluşturulan web uygulamaları veya siteleri son derece efektif ve kullanışlıdır. Bootstrap'ı indirmek için http://getbootstrap.com/ tıklayarak ilgili adrese gidebilirsiniz.
       Github kullanıcılarına kullanıcı isimleri ile birlikte .github.io uzantılı olacak şekilde bir domain oluşturma hakkı tanıyor. Github kullanıcıları buradan çeşitli paylaşımlar ve benim şimdi yapacağım gibi bir web sitesi servisi sağlayabilir.
       Bootstrap'ı indirdikten sonra (ben distrubition 3.3.2 yi indirdim siz farklı sürümünü indirmiş olabilirsiniz) .zip dosyasını bir klasöre çıkartın.




        Normalde resimdeki .html uzantılı dosya hariç diğer 3 dosyayı göreceksiniz. İşte dosyaların hepsi bootstrap'in en sade şekliyle kendisidir. Yazılımcı'nın kullanacağı bileşenler buradadır. İhtiyaca göre dışardan ek dosyalar da eklenebilir. index.html dosyası tarayıcıdan sizin adresini yazan birinin karşılaşacağı içeriğin oluşturulduğu dosyadır. O yüzden sizde aynı şekilde bir dosya oluşturun. Bu index.html dosyasını açmak için size tavsiyem Sublime Text2'yi tavsiye ederim. Kodlarınız bu editör yardımıyla daha anlaşılır yazabilirsiniz. Konuya dönersek içeriği çok sade bir biçimde;





yaptım. Burada temel HTML içeriğinin yanında örnek olsun diye yine aynı dosya içine script kullanıp hedef gösterilerek hedefteki dosyayı kullanacağımı belirttim. Böylelikle sayfa belirtilen hedef içeriklerine ulaşabilecektir. Bunu binevi köprü olarak nitelendirebiliriz. index.html gibi fakat farklı isimde birden fazla .html dosyası oluşturup kullanıcılara görünteleyebilirsiniz. Ama unutmamak gerekir ki tarayıcıya sizin adresinizi yazan kişi ilk olarak index.html dosyasının içeriği ile karşılaşır. O yüzden index.html dosyasını oluşturmak önemlidir. Şimdi bu içerikleri web sunucuda çalıştırmak için Github hesabınızda kendi kullanıcıadınız.github.io isminde bir repository(depo) oluşturun. Buradaki kritik nokta kesinlikle kullanıcı adınızı kullanmanızdır. Aksi takdirde servisi veremezsiniz. Oluşturduğunuz bu repo'ya tüm bootstrap içeriğinizi (ilk resimdeki tüm dosya ve klasörleri) push edin ve kaydedin. Artık hemen hemen tüm tarayıcıdan kullanıcıadnız.github.io adresini aratan kişiler index.html sayfanızın içeriğini görüntüleyecektir. Bootstrap'ı iyi öğrenmek ve ayrıntılı bilgiler için http://www.w3schools.com/bootstrap/default.asp adresinden yararlanabilirsiniz. 

21 Ocak 2015 Çarşamba

UniSales yazılımını kaldırma (Remove uniSales)


Bu yazımda kısa fakat yararlı olabileceğini düşündüğüm bir konudan bahsedeceğim. Herhangi bir şekilde tarayıcınızda yaptığınız arama sonuçlarında ilk 4 veya 5 arama sonucu reklam siteleri oluyor ise ve her arama sonrasında bu sonuçlar dönüyor ise büyük ihtimal tarayıcınızda eklenti olarak virüs olarak da tabir edebileceğimiz bir yazılım çalışmaktadır. Ben bizzat böyle bir sıkıntı ile karşılaştım ve tarayıcı eklentilerine göz attığımda uniSales isminde bir eklentinin çalıştığını fark ettim. Buradan kaldırsam da  tarayıcıyı her yeni başlatışımda yine aktif görünüyordu. Bu yazılımın nasıl kaldırılacağı hakkında internette biraz araştırmam sonucu çeşitli anti-virüs yazılımları tavsiye edilmiş (adwcleaner gibi). Bu anti-virüs yazılımını indirdim fakat çalıştırdığımda silinecek listesinde ihtiyaç duyacağım verileri silebileceğinden korktuğum için silmesine izin vermedim. Soruna şu şekilde çare buldum.

* İlk olarak Denetim Masası (Control Panel) > Program Kaldır (Program Unisntall) ve gelecek liste üzerinde eğer varsa uniSale dosyasını kaldırın.

* C > Program Data klasörü içinde bulunan dosya ismi anlamsız bir şekilde rakamlardan ve harflerden olan klasörler olacak (18834244162332827158 ve bbgjoikaccajpnoamliohaplelogbmip dizinleri gibi) bunları kaldırın. Burada gerekli dosyalar da olabilir, dikkatli olmakta fayda var. 

Sorununuz büyük olasılıkla bu iki kısa adım ile çözülmüş olacaktır. 

4 Aralık 2014 Perşembe

Singleton Class (Tek Örneğe Sahip Sınıf)

Singleton class'lar kodlama yaparken performans açısından sıkıntı verebilecek durumların önüne geçmeye ve ayrıca oluşabilecek karmaşıklığı engellemeye yarayan bir kodlama tercihidir. Bu class'ın örneği (instance) en fazla bir tane olur. Kodlama esnasında bu class'ın ihtiyaç duyulan bileşenleri bu örnek üzerinden gerçekleştirilir.



Görüldüğü üzere sınıfın constructor'unun erişilebilirliği private olarak belirlenmiştir. Bu sayede dışarıdan yapılan yeni bir nesne oluşturma istekleri erişim sağlayamayacağından dolayısıyla nesne oluşturulamayacak ve hata alınacaktır. Ben bu örnekte en yalın halini gösterdiğim için constructor (yapıcı)'un içini boş bıraktım.


Burada görüldüğü gibi singleton class'a ait yeni bir nesne oluşmasına izin verilmemiştir.


Bu tek olan nesneyi oluşturmak için tipinin static olması gerekir ki (burada static değişkeni döndüren metodumuz da değişken static olduğu için static yapılmıştır) dışarıdan sınıfın ismini kullanarak erişelim. Bu erişim eğer sağlanan ilk erişim ise tek nesne yaratılacak ve referans değişken belirtmemiz üzere bize döndürülecektir. İlk erişim değilde sonraki erişimlerde ilk erişimde yaratılmış olan nesne bize döndürülecektir. Yukarıdaki resimde bu sınıf içindeki bir public metoda erişimin sağlanabileceği tek yöntem görülmektedir. Singleton class kodlama, bir sınıftaki her işlemin tek bir nesne üzerinde olması gerektiği zamanlarda tercih edilir.

2 Aralık 2014 Salı

Microsoft SQL Server 2012 Kaldırma İşlemi (MSSQL Uninstall)

Microsoft SQL Server  microsoft kullanıcıları için ihtiyaç duyulduğunda iyi iş gören bir veritabanı yönetim sistemi olsa da bazı nedenlerden dolayı kaldırılması istenebilir ya da gerekli olabilir. Microsoft SQL Server'ın (ya da daha kısaca MSSQL olarak da adlandırabiliriz) kaldırılma işlemi aslına bakılırsa kritik ve nasıl kaldıracağınızı bilmiyorsanız sancılı bir işlemdir. Uninstall programını bulamamışsanız ve direkt olarak Control Panel > Uninstall Program (Denetim Masası > Program Kaldır) bölümünden MSSQL ile alakalı gösterilen her şeyi kaldırma işine girişmiş iseniz bu bazı sıkıntıları yaşayacaksınız anlamına gelir. MSSQL'i bu şekilde kaldırma kesinlikle doğru bir yöntem değildir. Tekrar ihtiyaç durumunda aynı bilgisayara MSSQL'i yüklemeye çalıştığınızda garip hatalar ile karşılaşma ihtimaliniz çok yüksektir. Bunun nedeni programın bütünü ile kaldırılmış olmamasıdır. Bizzat kendim bu hatalara düşerek doğru yolu zor da olsa bulabildim. Kısaca yaptığım işten bahsedersem MSSQL 2012 Enterprise kurulumu yaparken Management Studio henüz çözemediğim bir nedenden dolayı sisteme kurulamadı. Ben de programı tamamen kaldırarak tekrardan kurulum yapmak istedim. Uninstall programını aradım fakat bulamadım (kapsamlı bir arama yapmayarak en büyük hataya burada düştüm halbuki internette de bununla ilgili bir arama yapsaydım her şey daha kolay olabilirdi). Program Ekle veya Kaldır menüsünden MSSQL adına herşeyi kaldırdım ve yeniden yükleme işlemine başlamak istediğimde setup dosyası kuruluma başlamadı bile. İnternetten araştırdığımda uninstall dosyasını da diğer MSSQL Server dosyaları ile kaldırdığımı anladım. Bu uninstall dosyasını geri getirmekte kolay olmadı. Bunun çözümünü setup dosyasından repair seçeneğini kullanarak buldum. Eğer sizde bu durumu yaşıyorsanız buradaki onarım işlemini sağlam bir setup dosyasını göstererek gerçekleştirmelisiniz. Doğru onarım gerçekleştirdiğinizde MSSQL dosyalarınızın tekrar Program Uninstall listesine geldiğini göreceksiniz. İşte bu dosyalar arasında MSSQL'i kaldıracağınız dosya da yüklenmiş olacaktır. Eğer o dosya da hazırsa kaldırma işlemine artık başlayabiliriz.
NOT: Bazı ayarları yapabileceğiniz yolunu bulmakta zorluk çekebileceğiniz konfigürasyon dosyasını yolunda bulabilirsiniz.



Yukarıda şeçili görünen dosya bizim kullanacağımız uninstall programıdır. Buna sağ tık yapıyoruz.


Remove seçeneğini seçiyoruz. Eğer burada ilgili arayüzü açamama problemi yaşamış iseniz setup'ınızın uyumluluk ayarını değiştirmeniz gerekecektir. Bunu setup'a sqğ click properties (Özellikleri) açarak Compability (Uyumluluk) alanından Windows Vista Service Pack 2 olarak ayarlamalısınız. Şimdi açacaktır.


Bu ekran ile karşılaştığınızda sorunsuz ilerliyorsunuz demektir. OK seçeneğine tıklıyoruz.


Burada kurulu olan sunucularınızın listesini göreceksiniz. Eğer siz birden fazla kurmuş iseniz bu işlemleri en baştan diğer sunucu veya sunucular için gerçekleştirmelisiniz. Seçerek Next diyoruz.


Select all (Hepsini seç) diyoruz, tümünü sileceğimiz için.


Next'e tıklayarak ilerliyoruz. 


Remove diyerek silme işlemini başlatıyoruz.


Silme işlemi tamamlandığında bu ekran ile karşılaşacaksınız. Close diyerek işlemi bitirmiş oluyoruz. Son işlem olarak Control Panel > Program Uninstall bölümünden SQL Server adına olan bileşenleri kaldırmalısınız. Bu kaldırma işlemini sorun yaşamadan anlattığım şekilde gerçekleştirmiş iseniz artık Microsoft SQL Server'ı sisteminize temiz bir şekilde yeniden kurabilirsiniz.