Go Kurulumu ve PATH Ayarları (Windows)

Selam,

Windows üzerinde Go programlama ortamını kurmak için aşağıdaki adımları takip edelim.

1. Kurulum

  • Buradan en son GO versiyonunu indirelim. (Yaklaşık 92mb).
  • Yükleme adımlarını takip ederek kurulumu tamamlayalım.
  • Kurulum sırasında farklı bir yer seçmezseniz Go ortamı C:\Go olarak kurulacaktır. Farklı bir dizine kurmak isterseniz o yerin adresini girin örneğin ben T:\Go olarak değiştirdim.

2. Ortam Değişkenlerini Ayarlama

  • Go kurulumu başarılıyla tamamlandıktan sonra test için Windows PowerShell’i açalım.
  • go yazıp enter’a basalım. Kurulum düzgün bir şekilde yapıldıysa sonuç ekrandaki gibi olacaktır.

Go kurulurken “GOROOT” isimli ortam değişkenini kurduğunuz dizine atayacaktır. Buna ek olarak çalışma dizinini ayarlamamız gerekiyor.

Ortam değişkenleri -> Sistem Değişkenlerine “GOPATH” değişkenini ekleyelim.

Çalışmak istediğiniz dizinde go workspace klasörü oluşturun. Örneğin ben “GoWorkspace” adını verdim.Siz de istediğiniz adı verebilirsiniz.

3. Test

GOROOT ve GOPATH değişkenlerini ayarladıktan sonra şimdi go ortamını örnek bir uygulamayla test edelim.

Daha önce oluşturduğumuz workspace için /src/hello/ adında yeni dizin açalım ve aşağıdaki kodu bu hello.go olarak kaydedelim

 

Programımızı kaydedip çıkalım ve dosyayı oluşturduğumuz klasörde powershell’i açalım.

“go build” yazalım. Böylece programımız derlenecek ve hello.exe oluşacaktır. Daha sonra hello.exe‘yi çalıştırarak aşağıdaki sonucu görelim.

 

Artık go ortamımız hazır. İyi kodlamalar 🙂

Kaynak:  https://golang.org/doc/install

9 total views, no views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Fastboot Flash Hatası ((bootloader) Data size exceeds download buffer) Çözümü

Merhaba,

Fastboot scripti ile image atarken bazı durumlarda aşağıdaki hata  ile karşılaşırsanız kesin çözüm için fastboot scriptini güncellemeniz gerekiyor.

Öncelikle android sdk’yı güncelleyelim. Daha sonra sdk/platform-tools/ içerisindeki fastboot scriptine sembolik link yapalım .

#sudo ln -sf [FULL_PATH_TO_ANDROID_SDK]/platform-tools/fastboot  /usr/local/bin/fastboot

komutunu çalıştıralım.

Örneğin benim bilgisayarım için:

sudo şifrenizi girdikten  sonra atacağınız image içerisindeki flash-all.sh komutunu kullanabilirsiniz. Artık hata vermeyecektir.

Windows içinse güncel sdk içerisindeki fastboot’u PATH’e eklemeniz yeterli olacaktır.

İyi çalışmalar,

71 total views, no views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Android Things Raspberry Pi 3 Pin Dizilimi ve Desteklediği Arayüzler

Merhaba arkadaşlar,

Android Things OS ile Raspberry Pi 3’ü kullanırken pin adlandırması Raspbian OS’e göre farklı. GPIOx isimlendirmesi yerine BCMx isimlendirmesi kullanılıyor.
Android Things ile kullanılması gereken pin dizilimi:

GPIO arayüzünü kullanırken seçtiğimiz pine erişmek için “BCMx” şeklinde kullanmalıyız.

Raspberry Pi 3’te bir adet I2C arayüzü mevcut. 3 numaralı pin SDA, 5 numaralı pin ise SCL olarak kullanılıyor. Aynı arayüzü kullanarak I2C destekli 127 cihaz bağlayabilirsiniz. Peripheral Manager Apisini kullarak I2C arayüzüne erişmek için “I2C1” isimlendirmesini kullanacağız. Örneğin;

Raspberry Pi 3’te 2 adet donanımsal PWM arayüzü mevcut. PWM0 arayüzü 12. pin olan BCM18 ile ortak olarak kullanılıyor. PWM1 araüyüzü ise BCM13 ile ortak olarak kullanılıyor. Bu arayüzlere erişmek içinse “PWM0” ve “PWM1” adlandırmasını kullanabiliriz. Örnek erişim :

Eğer servo motor kontrol ediyorsanız doğrudan servo sürücüsü üzerinden de erişebilirsiniz. Örneğin;

UART arayüzünü sağlayan pinler ise 8. pin (TX) 10. pin (RX). UART arayüzüne erişmek için kullanacağımız isimlendirme ise “UART0”. Örneğin;

SPI için ise 2 adet arayüz mevcut bunlar SPI0.0 ve SPI0.1. Bu arayüzlere aşağıdaki şekilde ulaşabiliriz:

MOSI – 19. Pin
MISO – 21. Pin
SCLK – 23. Pin
SS0 – 24. Pin
SS1 – 26. Pin

Tüm arayüzler ise aşağıdaki gibi :

Kaynak: https://developer.android.com/things/sdk/pio/index.html

İyi çalışmalar,

347 total views, 1 views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Bilgisayar ve Zeka – A.M. Turing – 2

2. Yeni Problemin Eleştirileri ( Critique of the New Problem)

Önceki yazıda belirttiğimiz gibi sorunun yeni formundaki cevabı ne olacaktır ? Bazılarınız soruabilir : “Bu yeni öneri sorgulamaya değer mi?

Yeni problemin ilk soruya göre avantajı olayın fiziksel ve zihinsel sınırları hakkında oldukça belirgin bir çizgi çizmemizi sağlar. Hiç bir kimyager veya mühendis insan derisinden ayırt edilemeyecek bir madde üretemez. En azından şimdilik. Bu buluş yapılsa bile düşünen bir makine yapmanın en önemli adımı ona insan eti giydirmek olmayacaktır. Belirlediğimiz kurallara göre sorgulayıcının yarışmacıları görmesi, duyması, dokunması yasak olduğundan bu durum sorun teşkil etmeyecektir. Önerilen kriterlerin diğer avantajları ise aşağıdaki soru cevaplar ile gösterilebilir. Örneğin;

S: Forth Köprüsü ile ilgili bana bir mısra yazar mısın?
C: Beni geç. Ben asla şiir yazamam.

S: 34957 + 70764 toplamı kaçtır?
C: (30 Saniye bekler ve cevap verir : 105621) 

S: Satranç oynar mısın?
C: Evet.

S: Sadece K1(e1)’de şahım var. Senin ise sadece K6(e3)’da şahın ve R1(h8)’de kalen var. Hamle sırası sende.  Hamlen ne olurdu ?  (Notasyon İngiliz Notasyonu -K1,K6,R1 etc. )

C: 15 Saniye durakladıktan sonra Kale,R-R8 (h8->h1) MAT.

Soru ve cevaplardan görülebileceği gibi bu oyun herhangi bireyi dahil ederek oynanabilecek bir oyun. Makineyi güzel olmamasından dolayı cezalandırmak istemeyeceğimiz gibi bir insanı da uçakla olan  yarışı kaybetmesinden dolayı cezalandıramayız. Örnekteki gibi yetenek dışı şeylerden oyuncular sorumlu olmayacaktır. Oyuncular isterse kendi cazibeleri, kahramanlıkları, güçleri hakkında övünebilirler ancak sorgulayıcı bu konular hakkında somut deliller talep edemez.

Burada kuralların makine açısında oldukça ağır olduğunu düşünebilirsiniz. Eğer insan makine taklidi yapmaya çalışırsa aritmetik işlemlerdeki yavaşlığıyla ve tutarsızlığıyla kendini kolaylıkla ele verecektir. Ya makine düşünce olarak tanımlanacak bir şey yaparsa  veya bir insanın yaptığı şeylerden çok daha farklı şeyler yapabilirse bu durumda ne olacak ? Bu itiraz daha güçlüdür, ancak eğer makine gerçekten böyle bir şey yapabilirse zaten taklit etme oyununun hakkını vermiş demektir ki bu konuyu sorun etmeye gerek kalmaz.

Taklit etme oyununu oynarken makine için en iyi stratejinin insan davranışlarının taklit etmekten daha farklı bir şey olacağını düşünebiliriz. Bu geçerli olabilir ancak bence çok güçlü bir etki oluşturmayacaktır. Sonuçta burada oyun teorisine göre hareket etmeyeceğine göre en iyi strateji insanın verebileceği doğal cevapları üretebilmektir.

Makalenin tam versiyonuna buradan ulaşabilirsiniz.

427 total views, no views today

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Kod yazmak anlamaktır.