Truemag

  • PHP
  • Golang
  • Laravel
  • Linux
  • SQL
  • SEO
  • WordPress
  • Diğer
    • Yazılım
    • Javascript
    • Css/XHtml/W3C
    • Genel
    • Tanıtım
    • Ajax
  • Home
  • ANASAYFA
  • HAKKIMDA
  • SPONSORLUK
  • ARŞİV
  • İLETİŞİM
  • BENİMLE ÇALIŞMAK İSTER MİSİNİZ?

Golang 12

Go Programlama Dili (Golang) hakkında yazılmış eğitim niteliğinde yazılar ve örnek kodlarla dolu mini projeler

Go ile Nasıl Unit Test Yazılır

1 year ago Golang

Yazılım dünyasında test yazmak eskiden bir seçenek olarak görülürdü. Günümüzde ise DevOps süreçlerinin iyileşmesi ile artık testler deployment süreçlerinin birer parçası haline gelmiş durumda. Bugün herhangi bir projeyi git repomuza gönderdiğimizde, CI/CD kapsamında önce yazdığımız testler çalıştırılıyor, başarılı olanlar derlenip sunucuya gönderiliyor, başarısız olanların bu süreci o anda durduruluyor. Konu bu kadar önemliyken artık testleri görmezden gelmek, testsiz kodu kabul etmek malesef mümkün görünmüyor. Neyse ki Go programlama dili ile test yazmak da oldukça pratik.

Unit Test ve Go Testing Kütüphanesi

Unit test ile yazılımların bağımsız kod bloklarının (fonksiyon, method vb.) testleri yapılır. Bunu yaparken de aslında temel olarak fonksiyona giren ve çıkan değerler karşılaştırılır. Go ile bu testleri yaparken Go’nun kendi kütüphanesi olan Testing‘den faydalanırız (ek bilgi). Şimdi hızlıca örnek bir testi inceleyeylim. Bu sırada dosya ve fonksiyon isimlendirmeleri ile test komutu gibi temel bilgileri de edinelim.

Not: Bu makalede kullanılan tüm kodlara, şu Github reposundan ulaşabilirsiniz. devamı …

Selam hosting

Go ile Büyük JSON Dosyalarını Okuma

1 year ago Golang

Her geçen gün tüm altyapısını Go’ya geçiren yeni bir firma duyuyoruz. Bunun sebebi de tahmin edersiniz ki Go’nun sunmuş olduğu kolaylıklar. İşte bunlardan birisi de JSON Data Streaming. Bu özellik hangi problemi çözüyor derseniz başlıkta da belirttiğim gibi büyük boyutlu JSON dosyalarınızı dertsiz tasasız okumaya yarıyor.

Problem Tanımı

Go ile normal bir şekilde JSON dosyası okumak gerçekten kolaydır. Elinizde bir JSON verisi bulunur. Buna karşılık gelen struct’ı (model) oluşturursunuz. Ardından Go’nun kendi json kütüphanesini json.Unmarshal() diyerek çalıştırırsınız. Böylece tüm json verisi memory’ye alınır ve uygulamanızda kullanılmaya hazırdır.

Peki uygulama içerisinde memory’de kullanıma hazır hale gelen JSON verisinin 4KB değil de 4GB olduğunu düşünelim! Bilgisayarın RAM miktarına falan girip konuyu uzatmaya gerek yok, böyle bir durumda uygulamanız eninde sonunda tabiri caizse patlayacaktır. Çünkü standart json.Unmarshal() fonksiyonu JSON verisini bir bütün halinde okur ancak büyük boyutlu dosyaları doğru şekilde okumanın yolu, JSON Data Streaming ile onu obje obje okumaktır.
devamı …

Neden PHP’den Go’ya Geçtim?

1 year ago Golang, PHP

Uzun yıllar yazılım ile ilgilenmiş kişilerin özellikle yazmaktan keyif aldıkları birer programlama dili vardır. Bu dil benim için PHP‘dir. Elbette bunda 10 yıldan fazladır bu dil ile proje geliştirmenin etkisi büyük ama son yıllarda esas nedeni PHP’nin gerçekten çok iyi yerlere gelmiş olması. Bu sebeple yazı başlığında Go’ya geçtim desem de her zaman PHP ile proje geliştiremeye devam edeceğime inanıyorum ancak şimdilik konumuz bu değil, mesele Go.

PHP’den Go Programlama Dili’ne geçiş hikayemi Ankara Gophers Haziran etkinliğinde anlatmıştım. Öncelikle sunumu olduğu gibi paylaşmayı düşündüm (yazının sonunda paylaştım da) ancak sunum esnasında sözlü olarak yaptığım bazı yorumları da ekleyerek blog yazısı olarak paylaşmanın daha iyi olacağına inandım. Baştan söylemeliyim, başlıktaki sorunun bir genel, bir de özel cevabı var ;) devamı …

Go Dilinde Concurrency

2 years ago Golang

Geliştirilmekte olan hemen her yazılımda eş zamanlı olarak çalışması gereken işlemler vardır. Bunların aynı anda çalışması ve bazen de birbiriyle senkronize olarak üzerlerine düşen görevleri yapmaları beklenir. Go dili Concurrency (Eşzamanlılık) sayesinde eş zamanlı fonksiyon çalıştırmayı doğal olarak destekleyen bir programlama dilidir.

Concurrency yani eş zamanlılık denildiğinde herhangi bir program içerisinde (n) sayıda görevin aynı anda çalışması akla gelmelidir. Daha teknik bir ifadeyle fonksiyonların sırayla değil, aynı anda çalıştırıldığı anlaşılmalıdır.

Eşzamanlılık konusunda en yaygın örnek web sunucularıdır. Sunuculara gelen ziyaretçiler eş zamanlı olarak web sitelerine ulaşabilmektedir. Hiçbir ziyaretçi diğer ziyaretçiyi beklemez. Teknik anlamda sunucuya (server) istemcilerden (client) gelen istekler (request) eş zamanlı olarak ele alınıp işlenir ve gerekli cevap (response) gönderilir. Web sunucusu bu görevleri eş zamanlı olarak yürütür. Concurrency’deki temel amaç da zaten budur, görevleri aynı anda işletebilmek.

Go dilinde eş zamanlı görevleri yerine getirebilmek için Go Routine ve Channels (Kanallar) kullanılmaktadır.

devamı …

5 Kullanışlı Go Fonksiyonu

2 years ago Golang

Yazılım geliştiriciler bir süre sonra sürekli aynı işlemi gerçekleştiren fonksiyonlara ihtiyaç duyarlar. Kimisi geleceği düşünüp bunları her an elinin altında bulundurur ve hatta yeniden kullanılabilir birer paket haline getirir, kimisi ise yazıp geçer ve arkasına bir daha bakmaz :) Ben ise ilk örnekteki yazılımcı gibi Go projelerinde genellikle ihtiyaç duyduğum 10 fonksiyonu toparlayıp sizinle paylaşmak istedim. Sizin de olmazsa olmazlarınız varsa yorum olarak paylaşabilirseniz çok sevinirim ;)
devamı …

Go Projesini Derlemek

2 years ago Golang

Go programlama dili ile proje geliştirmeye başladınız diyelim, mesela bir web projesi. Her şey tamamlandığınızda aklınıza şimdi bunu nasıl yayına alacağım sorusu gelecektir. İşte bu noktada derleme işlemine geçilmektedir ve birkaç püf noktanın bilinmesi gerekir.

Öncelikle dikkat edilmesi gereken ilk konu derleyip deploy edeceğiniz yerdeki go sürümü ile deploy edeceğiniz yerdeki go sürümünün aynı olduğundan emin olmak. Bu nedenle apt install go gibi standart komutları kullanmak yerine aşağıdaki şekilde kurulum yapmanız gerekecektir.

devamı …

Page 1 of 212»
PHP CANDIR
Neden PHP’den Go’ya Geçtim?
Laravel Projelerde SEO Uygulamaları
Laravel Site Settings
Laravel Ajax Contact Form
Laravel ile Gmail Üzerinden Eposta Gönderme
İLETİŞİM

Address: Ankara

Email: yakuter@gmail.com

Sponsorlar

sponsor

sponsor

sponsor

sponsor
Bağlantılar
  • Beyazıt Kölemen
  • Domatessuyu
  • Lezzetli Robot Tarifleri
  • Ofizzo
  • PHP Dersleri
  • Wordpress Hosting
Random Posts
İdeal Form Kontrolü
19 Mayıs Atatürk’ü Anma Gençlik Ve Spor Bayramı
Varsın Kopyalasınlar
Linux Şenliği Değerlendirmesi
Javascript HTML Liste (ul, li) Fonksiyonu
sdafasdf
Hakkımda

Bilişim Teknolojileri alanında içerik üretmek üzere oluşturulmuş olan Yakuter.com 2006 yılında Erhan Yakut tarafından hayata geçirilmiştir. devamını okuyun…

CLOUD SUNUCU DESTEĞİ
2006-2020 © Yakuter