BLOG BLOG

Monthly January 2017
Progressive Web Apps nedir?

Kısaca dertlerden kurtulma olarak tanımlayabilirim. Tamam tamam kendi içinde dertleri olabilir ama 5 yıllık Android geliştirme hayatımda bir türlü isteyerek ve severek yapmadığım design modundan kurtulmamı sağlayacak nane gibi gözüküyor.

Bilgisayar Bilimleri okuma listesi

Veritabanı Yönetim Sistemleri 

  • Database System Concepts 6e By Abraham Silberschatz, Henry Korth and S Sudarshan
The Man Who Knew Infinity

Bir psikopatın hikayesi daha. Gerçek manada psikopattan bahsetmiyorum; aklı gidik, kafası yanmıs, nevi sahsına münhasır psikopatlardan bahsediyorum. Bu zat-i aliniz ünlü matematikçi Srinivasa Ramanujan. Yalnız ünlü olduğunu filmi izledikten sonra ögrendim. O kadar çok bilim adamlarının hayatlarını okurum ki, Ramanujan’ı bilmedigim için utandım resmen.

Her seferinde GoPath mi ayarlayacağım

Hayır tabiki!

Bash profile da default olarak tanımlayabilirsiniz. Tanımladıktan sonra huzura erersiniz.

Golang Yükselen Diller Arasında

Tiobe nin 2016 verilerine baktığımızda Go programlama dili +2 yükselişle en iyi çıkışı yakalayanlar arasında. Bu şekilde büyümeye devam ederse ilerleyen yıllarda en iyi diller arasında yerini alacağa benziyor.

R Kurulum

Ben OsX kullandığım için osx ye yönelik kurulumu analtacağım. Eğer windows platformu kullanıyorsanız web de yeteri kadar kurulum linkleri mevcut, kurulum adımlarını oradan takip edebilirsiniz.

https://cran.r-project.org/bin/macosx/

adresine giriyoruz.

Derin Öğrenme (Deep Learning)

Size ilk önce Tesla desem. İlk aklınıza gelen nedir diye sorsam? Nikola Tesla mı yoksa Elon Musk’ın Tesla arabaları mı? Hangisi gelirse gelsin farketmez. İkisinde de hayır vardır. Yalnız bizim burada değineceğimiz Tesla arabaları.

Büyük Veri (Big Data)

Büyük veri kavramına girmeden önce  veri boyutlarını ele almakta fayda var.

Öğrenilmesi Gereken 10 Programlama Dili

Öncelikli olarak öğrenilmesi gereken 10 programlama dili

  1. Java
  2. C
  3. Golang
  4. Python
  5. C#
  6. Objective C
  7. Javascript
  8. Php
  9. Ruby
  10. C++
Hadoop

Hadoop bir java paketidir. Açık kaynaktır. Apache tarafından geliştirilmiştir.

Büyük verileri işlemek için kullanılır.

HDFS ve Mapreduce’den oluşur.

HDFS (Hadoop Distributed File System)  = Dağıtık dosyalama sistemi
Mapreduce = Veri Analiz Yöntemi

Burada projenin geliştiricilerinden Tom White’ın kitabı bulunmaktadır. https://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/0596521979

Tabi hadoop u anlamak için Büyük Veri (Big Data) ve Map Reduce kavramlarına da bakmak gerekiyor.

Sıralama Algoritmaları

Basit tanımıyla bir liste halinde verilen karışık sayıları sıralamak için kullanmış olduğumuz algoritmalardır. Bu kadar basit tanımdan sonra sayıları sıralamak için neden bu kadar uğraştığımızı düşünecek olursanız nedeni şöyle; sıralama algoritmaları çoğu algoritmaların temelinde kullanılırken aynı zamanda kişilerin algoritmik düşünme yeteneğini de artıracaktır.

Çoğu algoritmaların temelinden kullanmak?

Bilgisayar bilimlerinden elimizdeki veriler çoğu zaman düzensizdir ve gelişigüzel elde edilmiştir. Bu elde ettiğimiz verileri yada veritabanından çektiğimiz bilgileri belirli bir düzen içinde görmeyi isteriz. Düzen kavramını çoğu durumda kullanılan bir kavramdır ve sıralama algoritmaları bize bu düzeni en verimli nasıl sağlayabiliriz onu önerecektir.

Algoritmik düşünme yeteneğini artırmak ?

Size elimizde 8,3,4,1,5 şeklinde bir sıralı sayılar var desem ve bunu sıralayın desem; hemen orada 1 gözümüze çarpacak ve en başa koyacağız ardından 3,4 ve böyle giderek 1,3,4,5,8 şeklinde hiç de zor olmayan bir beyin aktivitesi ile bunu başarırız. Peki bunu bilgisayara yaptırın desem?

Bilgisayar için aslolan kıyaslamadır. birbirleri ile kıyaslayıp sayıların büyüklüğünü küçüklüğüne bulacağız. Tıpkı beynimizde yaptığımız ve farketmediğimiz şekliyle.

Velhasıl siz bunların nasıl kıyaslanarak sıralanacağını düşündüğünüzde muhtemelen bir iki yol bulacaksınız. Ama aşağıda sıralama için oldukça farklı algoritmalar var ve bunları incelemenizi tavsiye ederim.

Zamanla aşağıdaki sıralama algoritmalarının tek tek içeriğine bakacağız.

  • Araya sokma sıralaması (Insertion Sort)
  • Seçerek Sıralama (Selection Sort)
  • Hızlı Sıralama (Quick Sort)
  • Birleştirme Sıralama (Merge Sort)
  • Yığın Sıralama (Heap Sort)
  • Sayarak Sıralama (Counting Sort)
  • Kabarcık Sıralama (Bubble Sort)
  • Taban Sıralama (Radix Sort)
Golang – Değişkenler

Go Programlama dilinde değişkenleri 3 farklı şekilde tanımlayabiliyoruz. Aşağıdaki üç tanımlama şeklide geçerlidir.

Go dynamic typing dediğimiz. Değişkenin türünü kendi belirleyen yapıya sahiptir.

C# – Anahtar Kelimeler
absractasbasebool
breabytecasecatch
charcheckedclassconst
continuedecimaldefaultdelegate
dodoubleelseenum
eventexplicitexternfalse
finallyfixedfloatfor
foreachgotoifimplicit
inin (generic modifier)*intinterface
internalislocklong
namespacenewnullobject
operatoroutout (generic modifier)*override
paramsprivateprotectedpublic
readonlyrefreturnsbyte
sealedshortsizeofstackalloc
staticstringstructswitch
thisthrowtruetry
typeofunitulongunchecked
unsafeushortusingvirtual
voidvolatilewhile
Golang – Anahtar Kelimeleri

Anahtar kelimeler demek programı yazarken o kelimeleri tanımlama amaçlı kullanamazsınız demek.

Neden kodlama öğrenmeliyiz?

O kadar çok madde sıralayabilirim ki? Şimdilik birazını sıralayayım ;

  1. Şu an bu yazıyı yazmış olduğum alete para verdiğim için,
  2. Senin okumuş olduğun bu yazıyı okumak için kullandığın alete para verdiğin için,
  3. Ve bu aletlerin kodlama olmadan hiçbir işe yaramayacağını bildiğimiz için,
  4. Her gün kullandığın sosyal medyalar ile ülkenin kaynaklarını, onları yapanlara aktardığın için.
  5. Bir yerde geçiyordu

    21. yy’ın bilim dili olacağı için.

  6. Seninde hep tüketmeyip bir şeyler üretebilmen için,
  7. Diğer ülkelerin bizim bilgimize muhtaç kalıp kaynak aktarması için,
  8. Daha rahat yaşayabilmek için,
  9. Analitik zekanı artıracağını ve problemlere çözüm bulmanı kolaylaştıracağı için,
  10. Kodlama bilen kişinin bir şeyleri organize etmekte hiç zorluk çekmeyeceğini bildiğim için,
  11. Kendi yazılımımızı üretip geleceğin savaşları siber saldırlardan korunmak için,
  12. Sadece bir bilgisayar ve internet ile üretim yapabileceğin için,
  13. Günümüzde artık bilgi değerli olduğu için.
Mr. Church

Bazı filmler vardır filmin sonunda oha demezsiniz ama sıkılmadan da izlersiniz ve sizde bi naiflik uyandırır.

– Hah iste, tam da böyle bir film bu.

Lindsey Stirling

Bugüne kadar nasıl kaçır mışım ben bunu dediğim nadir arkadaşlardan biri oldu Lindsey Stirling.

vi editör kullanımı

Biliyorsunuz vi editör unix sistemler içinde standart olarak gelmektedir.

İşte bu yüzdendir ki, pek kullanışlı olmasada hayat kurtardığı olmuştur.

Bi ara fırsat bulursam vi editör kullanımı video olarak anlatıcam fakat şu anda bulmuş olduğum şu siteyi sizlerle paylaşayım.

http://www.openvim.com