Ara 062016
 
2.515 views

Golang Notları 002

GOPATH
“Go” diliyle yeni uğraşmaya başlayanların çok sık karşılaştıkları bir hata – uyarı mesajı vardır: “GOPATH tanımı bulunamadı.”

“GOPATH”, go’nun sürekli kullandığı adreslerden biridir. Çünkü paket yönetim ve kullanım işlemleri bu klasör aracılığıyla yapılıyor.

Ubuntu’da bu klasör genellikle $HOME/go veya $HOME/golang olarak açılır. Ben, ikincisini tercih ettim.

Ubuntu’da bu adresi sisteme aşağıdaki gibi tanıtıyorsunuz:

Bilgisayarınızı yeniden açtığınızda aynı komutu vermek zorunda kalmamak için bu komutu $HOME/.bashrc dosyasının içine ekliyorsunuz.

Kontrol için “go env” komutunu kullanabilirsiniz:

Golang Notları 002

Paket kurma golang için çok kolay bir işlem:

Basit bir Scraper (Kazıyıcı) programı

“html” paketinin kullanıldığı bir de örnek vereyim. Örnekle ilgili açıklamaları https://schier.co/blog/2015/04/26/a-simple-web-scraper-in-go.html adresinde bulabilirsiniz:

Kod kolay anlaşılır olduğu için açıklamasını vermeyeceğim. Komut satırına eklediğiniz adresteki tüm tekil linkleri çıktı olarak alıyorsunuz.

Golang Notları 002

İnternet üzerinde çok sayıda “webscraper” örneği var. http://depado.markdownblog.com/2015-08-07-small-example-how-to-use-the-scrape-library-in-go adresindeki örnek kod, Paris’teki bir galeride bulunan eserleri listeliyor.

Ahmet Aksoy

Referanslar:

Kas 102016
 
1.909 views

Golang Notları 001

Bir yazılım dilini öğrenirken nasıl bir yol izlediğinizi bilemiyorum. Benimki biraz parçalı bulmaca çözmek gibidir. Tek bir kaynağı başından başlayarak düzenli şekilde izleyerek öğrenmek gibi bir alışkanlığım yoktur. Ben daha çok oradan buraya atlayarak, o an ilgimi çeken şeylere öncelik vererek öğrenmeyi tercih ederim. Bu amaçla, bulabildiğim, konuya ilişkin her türlü kaynağı bilgisayarıma depolarım. Artık internet yoksunluğu eskisi gibi değil. Ama, yine de kaynakların elimin altında olması bana güven duygusu verir.

Golang Notları

Tüm kaynakları yerel bilgisayara indirmek mümkün değil elbet. Zaten bu kadarına gerek te yok. Şahsen ben bile, bilgisayarıma heyecanla indirmiş olduğum bazı kaynakları aslında hiç kullanmamış olduğumu zaman zaman farkederim. (Özellikle sabit diskimde kıpırdayacak yerin kalmadığı zamanlarda… 🙂 )

İster indirin, isterseniz sadece linklerini not alın. Ya da link deposu olarak benim yazılarımı kullanın. Hiç farketmez!.. Ama zamanınızı iyi değerlendirin ve bulabildiğiniz her türlü kaynaktan olabildiğince yararlanın!

Bazıları için tutarsız gibi gelebilir ama, zaman içinde, bu bulmacanın parçaları yavaş yavaş tamamlanır ve tablo bir bütün olarak karşımıza çıkar. Benimki, bana göre, eğlenceli bir öğrenme yöntemidir.

Şimdi size benim listemdeki linklerden bir kaçını vereyim:

Bunlar da youtube üzerindeki bazı dersler:

Eğer facebook kullanıyorsanız, kısa bir süre önce Savaş Doğan arkadaşımızın kurduğu Golang Türkiye grubuna mutlaka katılın. En azından izleyici olun. Çok şey öğreneceğinizden eminim.

https://github/com üzerinde binlerce golang projesi bulabilirsiniz. Basit bir arama yapmanız yeterli olur.

Golang için uygun IDEler

Bir golang programının kaynak kodunu yazmak için -diğer pek çok dilde olduğu gibi- sadece basit bir metin düzenleyici yeterlidir. Ubuntuda gedit, vim, nano gibi programları kullanabilirsiniz.

Ama yazdığınız kodların otomatik olarak ve düzgün şekilde formatlanmasını isterseniz daha seçici olmanız, en azından go ile ilgili bir eklentiyi (plugini) metin düzenleyicinize yüklemeniz gerekir.

Go için kullanabileceğiniz bazı metin düzenleyici ve IDEler şunlardır:

  • Atom
  • Eclipse
  • Emacs
  • Gedit
  • Geany
  • IntelliJ IDEA
  • Net Beans 8.1
  • Vim
  • VisalStudio Code
  • GNU nano

Yukarıdakilerden “geany”, son sürümlerinde go eklentisi önceden yüklenmiş bir uygulamadır. Diğerlerine “go plugin” eklentisinin yüklenmesi gerekir. Ancak Net Beans 8.2 sürümü için uygun bir go eklentisi yoktur. Bu nedenle, isteniyorsa, sürüm 8.1 kullanılmalıdır.

Kullananların önerilerini dikkate aldığımızda, Intellij IDEA Community sürümü, go için en kullanışlı araçlardan biri olarak karşımıza çıkmaktadır.

Yine çok laf ettik. Arayı biraz kapatalım. Bir komut penceresi açın ve aşağıdaki komutları verin:

Bu komutu go sistem değişkenlerinin durumunu görmek için kullanıyoruz.

Go sürüm numaramızı öğrenmenin yolu.

Golang Notları

“merhaba.go” kod dosyamızı çalıştırma kodu (Aslında hem build, hem de run işlevi vardır.)

“merhaba.go” dosyasındaki kod satırlarının derlenerek çalıştırılabilir hale gelmesini sağlar. Derlenen dosya tek başına çalıştırılabilir hale gelir.

Şimdilik açıklama vermeyeceğim. Ama bu komutla, komut satırından hata denetimi yapabilen bir araca sahip olacaksınız. İleride “errcheck” komutunu oldukça çok kullanacağız.

Beni izlemeye devam edin. Yeni Golang Notları bölümlerinde daha fazla kod olacak.

Ahmet Aksoy

Golang Notları 001

Kas 092016
 
4.019 views

Golang Öğreniyorum

Yazılım üzerine asıl uzmanlık alanım Python. Hem basit, hem güçlü. Neredeyse bütün alanlarda çok etkili kütüphanelere sahip.

Golang Öğreniyorum

https://golang.org

Buna rağmen, “şeylerin interneti” (Internet of Things) gibi konularda henüz yeterince güçlü değil. Bu boşluğu aşmak üzere “micropython” gibi yeni girişimler var.

Python çalışmalarıma eskisi gibi, hatta daha da yoğunlaşarak devam edeceğim. Ancak bu durum, yeni alanlara da el atmama engel olacak değil!…
Golang, ya da kısaca go bu yeni alanlardan biri.

En etkin öğrenme yöntemlerinden birinin “öğretmek” olduğunu biliyorum. Çünkü bildiğiniz bir şeyi başkalarına aktarmak isterseniz, önce o bilgiyi içselleştirmek zorundasınız. Aksi halde sadece papağan tekrarı yapmış olursunuz ve konuyla ilgili çok basit soruları bile yanıtlayamazsınız.

Buna ilaveten, golang dilinin yakın gelecek açısından büyük bir potansiyel taşıdığını düşünüyorum. Golang bir yandan pythonun kullanım kolaylığını, bir yandan da javanın donanım sistemlerine yakınlığını bünyesine toplamış. Sınıf sistemlerini, “struct” yapılarıyla kolaylaştırmış. C’den pointer mekanizmasını devşirmiş. Aslında derlenen bir dil. Buna rağmen yorumlamalı bir dille çalışır gibi rahatsınız.

İşte bu nedenlerle, ara sıra da olsa go hakkında öğrendiklerimi burada sizlerle de paylaşacağım. Ama ders yapar gibi değil, bilgiyle harmanlanmış bir sohbet yapar gibi…

Eğer yazılım dillerine ilgi duyuyor ve kendinizi daha da geliştirmek istiyorsanız, ara sıra bu sayfalara sizi de beklerim.

Go, 2007 yılında Google bünyesinde geliştirilmeye başlanmış. İlk çıkışı, sistem programlamaya yönelik. 2009 yılı sonunda açık kaynaklı olarak genel kullanıma sunulmuş.

2015’te, mobil uygulamaları çok daha güçlü bir şekilde destekleyen kararlı sürüm go 1.5 yayınlanmış. Dil konusundaki gelişmeler hızını kesmeksizin devam ediyor.

Bu bir giriş yazısı olduğu için sözü fazla uzatmayacağım. Yine de Ubuntu 16.04 üzerine nasıl kurulduğunu tek bir satırla aktarayım:

Hoşçakal mesajımı da go ile vereyim:

Ahmet Aksoy

Golang Öğreniyorum