GoLang ve Python üzerinden Basit Dosya Sunucu – simple file server

Selamün Aleyküm;

Zaman zaman lazım olur ve Python üzerinden Basit Dosya Sunucu (simple file server) kullanırdım. Go dili (go lang) “net/http” paketini kullanarak bunun yapılabileceğini gördüm.

Basit dosya sunucusunu (simple file server), bilgisayarlar arası, geçici süreyle, dosya veya html/yazı tabanlı ( la negada zormuş Türkçe sini bulmak! text/html based ) bilgi paylaşımı amacıyla kullanılır. Python dakini tecrübe ettim, çok kişi aynı anda kullandığımızda bazen hizmet – cevap vermediğini gördüm fakat, GoLang üzerindekini henüz çok kişi ile deneyemedim !

Öncelikle bilgisayarınızda Python ve/veya GoLang kurulu olduğunu varsayıyorum. Eğer Python kurulu değilse

sudo apt-get install -y python

satırı ile kurulum yapabilirsiniz. GoLang kurulu değilse, “Debian türevleri (Ubuntu-LinuxMint vb) üzerinde GoLang kurulumu ve Merhaba Dünya !” yazımıza bakarak kurulum yapabilirsiniz.

Terminali açın, paylaşım vermek istediğiniz dosyaya gidin.

  1. Python da çalıştırmak için, direk terminalde iken;
    sudo python -m SimpleHTTPServer 81

    yazın ve Enter e basın.

  2. Go dilinde bu işi yapmak için yeni bir dosya açalım;
    nano basitDosyaSunucu.go
  3. Aşağıdaki kodları yapıştırın.
    package main
    
    import "net/http"
    
    func main() {
            http.ListenAndServe(":81", http.FileServer(http.Dir(".")))
    }
    
    

    Kaydedip kapatmak için, “Ctrl ve X” tuşlarına bastıktan sonra, kaydedeyim mi diye sorar. Olumlu cevap verin üzülmesin 🙂 “Y” veya “E” tuşuna bastıktan sonra iki kere Enter tuşuna basın.

  4. Terminaliniz açıkken
    go run basitDosyaSunucu.go

    yazıp Enter tuşuna basın.

Hepsi bu kadar. Artık internet tarayıcınızın adres satırına http://0.0.0.0:81 ( veya bu makine ağ da ise, o makinanın ip adresini) yazın ve Enter e basın. Bulunduğunuz dizini ve içeriğini, tarayıcınız üzerinde görmelisiniz.

Aşağıdaki görsel benim Rasberry Pi cihazım üzerindeki, Raspbian a ait. Ağımdaki cihazın ip adresini tarayıcıya yazdım. Soldaki Python için ve sağdaki go lang için göründüğü hali. Sizdeki çıktıda görsel ( dosyaların listelenmesi vb ) olarak bunlara benzemeli.

Bunun gibi diğer Go yardımcılarını toparladığım yazıma ( “GoLang ile yazdığım yardımcı methodlar (helper function)” ) bakabilirsiniz. Github linki –> https://github.com/makseli/goLang_yardimcilar

Sorunuz varsa, yorum bölümünü kullanabilirsiniz. Diğer içeriklerde görüşmek üzere…

Beego MVC framework giriş | GoLang web :)

Daha önce .net ve php ile MVC ler üzerinde çalışmalarım oldu. GoLang için web mvc olarak Beego yu tercih ettim. Zaten şuan (2017 mart gibi) pek az [ 2 tanecik ].

Beego çalışma yapısının ( yaw böyle de bi acayip oluyor, framework işte ) “bee” isimli yardımcısı var. Paket olarak indiriliyor. Beego yu kullanmak üzere görevleri yerine getiren bir yarımcı olarak düşünebilirsiniz.

Öncelikle dizin yapısını görelim;
Okumaya devam et Beego MVC framework giriş | GoLang web 🙂

GoLang ile yazdığım yardımcı methodlar (helper function)

Selamün Aleyküm;

GoLang çalışmalarım devam etmekte. Sha256 kutuphanesi ile şifreleme yapmam gerekti. Bu vesile ile ele aldığım durumlardaki yardımcı methodları bir yere toplayayım dedim. Mail gönderme felan olmayacak 🙂 o başka bir iş.

Hakkında Github üzerinde açtığım repo linki –> https://github.com/makseli/goLang_yardimcilar

Yazdıkça bu başlık altına giriş yaparım. Linklerini verdiklerim tamamlananlardır.
Okumaya devam et GoLang ile yazdığım yardımcı methodlar (helper function)

GoLang çalışma dizinleri! GOPATH ve GOROOT nedir, nasıl tanımlanır ?

Bu yazıda, Go dili için çalışma dizinlerinin ne olduğu ve ( Linux üzerinde ) nasıl tanımlanacağını göreceğiz.

Peki bu GOPATH ve çalışma dizinlerinin tanımlanması neden önemlidir ? Kendi paketlerinizi oluşturmak ve dışardan harici paketleri kullanabilmek için gereklidir. “Abicim ben yeni başlıyorum, bi kaç deneme yapıp çıkıcam” diyorsanız, bu yazıyı es geçin 🙂
Okumaya devam et GoLang çalışma dizinleri! GOPATH ve GOROOT nedir, nasıl tanımlanır ?

Debian türevleri (Ubuntu-LinuxMint vb) üzerinde GoLang kurulumu ve Merhaba Dünya !

Bu yazıda, Debian türevleri ( UbuntuLinuxMint, Raspbian vb) üzerinde Go dili kurulumu ve “Merhaba dünya” uygulamasını yapacağız !

Önce repo listemizi güncelliyoruz.

sudo apt-get update

Kurulum için terminali açın ve şu satırı çalıştırın !

sudo apt-get install -y golang

Bu kadar. Kurulum bitti !
Kullanabileceğiniz diğer paketleri görüntülemek için şu satırı çalıştırabilirsiniz !

apt-cache search golang

Şimdi ilk go dosyamızı oluşturalım. Yine terminalden şu satırı çalıştırın;
Okumaya devam et Debian türevleri (Ubuntu-LinuxMint vb) üzerinde GoLang kurulumu ve Merhaba Dünya !

GoLang çalışmalarım

Selamün Aleyküm;

Bize göre yeni de olsa, temelleri eskiye dayanan bir dil ile tanışmanın heyecanı içerisindeyim. Şuana kadar diğer dillere pek benzemesede ben baya keyif aldım.

“Go nedir, kim yazmış abi geçmişi ne geleceği ne” diye soru sorabilirsiniz. Sizi şu adrese yönlendireyim, Cuma Tahiroğlu ‘nun derlemesini güzelce bi okuyun 😉

Hakkında bir linkedin grubu ( GoLang Türkiye ! ) kurdum ve blogger üzerinde yazıyordum. Okumaya devam et GoLang çalışmalarım