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 – Hello World

 

C – Anahtar Kelimeler
char auto break sizeof
const extern case
double register continue
enum static default
float typedef do
int else
long for
short goto
signed if
struct return
union switch
unsigned while
void
volatile
C# – Anahtar Kelimeler
absract as base bool
brea byte case catch
char checked class const
continue decimal default delegate
do double else enum
event explicit extern false
finally fixed float for
foreach goto if implicit
in in (generic modifier)* int interface
internal is lock long
namespace new null object
operator out out (generic modifier)* override
params private protected public
readonly ref return sbyte
sealed short sizeof stackalloc
static string struct switch
this throw true try
typeof unit ulong unchecked
unsafe ushort using virtual
void volatile while
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