Selam verme

Vibe.d ile ilk uygulama

Giriş

Bu dersleri oldukça uzun süre önce hazırlamıştık.

Yararlı olabileceği düşüncesi ile elimizden geldiği kadar güncellemeye karar verdik.

Gerekli yazılımlar

D ile sunucu uygulamaları geliştirebilmek için, D derleyicisine ve dub isimli paket yazılımına ihtiyacımız olacak.

Ubuntu ve Debian altında kurulum

1- Bir tane terminal açarak ilk önce gerekli yazılım kaynağını ekliyoruz.

sudo wget https://netcologne.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list

2- Paket listesini güncelliyoruz.

sudo apt-get update --allow-insecure-repositories

3- Yazılım kaynağının anahtarını kuruyoruz.

sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring

4 - Son olarak da d derleyicisi ve paket aracını kuruyoruz.

sudo apt-get update && sudo apt-get install dmd-compiler dub git

Windows için kurulum

Windows için D derleyicisini bu bağlantıdan indirip, ekrandaki yönergeleri izleyerek kurabilirsiniz.

Selam verme

İlk önce kiraz isimli bir dizin oluşturalım.

mkdir kiraz

Sonra bu dizinin içine giriniz.

cd kiraz

Kiraz dizininin içinde iken dub.sdl isimli bir kütük oluşturunuz.

touch dub.sdl

İçine şunları giriniz :

name "kiraz"
dependency "vibe-d" version="~>0.9"
targetType "executable"
mainSourceFile "kaynak/ana.d"

Bu kütüğü kaydettikten sonra kaynak isminde yeni bir dizin oluşturalım ve içine girelim.

mkdir kaynak
cd kaynak

Bu dizinin içinde iken ana.d isimli bir kütük oluşturalım.

touch ana.d

İçine aşağıdakileri girip, kaydediniz.

import vibe.vibe;

void selam(HTTPServerRequest istek, HTTPServerResponse yanıt)
{
    yanıt.writeBody("Selamun Aleyküm!");
}

void main()
{
    auto ayarlar = new HTTPServerSettings;
    ayarlar.port = 8080;
    ayarlar.bindAddresses = ["::1", "127.0.0.1"];
    listenHTTP(ayarlar, &selam);

    logInfo("Lütfen tarayıcınızla http://127.0.0.1:8080/ adresini açınız.");
    runApplication();
}

Tekrar bir üst dizin olan kiraz dizinine geri dönüyoruz.

cd ..

Uygulamayı derlemek ve çalıştırmak için basitçe dub komutunu veriyoruz.

dub

Bu aşamada kendinize bir çay koymaya gidebilirsiniz ;-)

Kütüphane ilk kez derlendiği için bu aşama biraz uzun sürüyor.

Eğer işlem başarılı olduysa http://127.0.0.1:8080 adresini tarayıcınızla açın. Ekranda

Selamun Aleyküm!

yazdığını görmelisiniz.

Böylece ilk sunucu uygulamanızı geliştirmiş oldunuz.

Uygulamayı Türkçeleştirmek

Kaynak dizininde bulunan ana.d kütüğünü değiştirelim.

import vibe.http.server : İstek = HTTPServerRequest;
import vibe.http.server : Yanıt = HTTPServerResponse;
import vibe.http.server : sunucuyuBaşlat = listenHTTP;
import vibe.http.server : SunucuAyarları = HTTPServerSettings;
import vibe.core.log : bilgiVer = logInfo;
import vibe.core.core: çalıştır = runApplication;

void selam(İstek istek, Yanıt yanıt)
{
    yanıt.writeBody("Selamun Aleyküm!");
}

void main()
{
    auto ayarlar = new SunucuAyarları;
    ayarlar.port = 8080;
    ayarlar.bindAddresses = ["::1", "127.0.0.1"];
    sunucuyuBaşlat(ayarlar, &selam);

    bilgiVer("Lütfen tarayıcınızla http://127.0.0.1:8080/ adresini açınız.");
    çalıştır();
}

D dilinde bir işlev için takma isim kullanabiliyoruz.

Örneğin bilgiVer = logInfo; komutuyla bu işleve bilgiVer ismini verdik.

Kiraz dizininin içinde iken dub komutu ile uygulamayı tekrar derleyip, çalıştırabilirsiniz.

Uygulamayı sonlandırmak

Eğer uygulamayı Ctrl - Z tuşları ile sonlandırmayı denerseniz, bir dahaki sefere çalışmıyor.

Bunu çözmek için aşağıdaki komutu verebiliriz.

killall -9 kiraz

Ama her seferinde böyle uğraşmak istemeyiz.

Bu nedenle koş isminde bir betik yazdık. Bunu ~/bin dizinine kaydediniz ve chmod +x ile çalıştırma hakları veriniz.

CALISIYORMU=$(pgrep "kiraz")

if [ -z "$CALISIYORMU" ]
then
      echo "Çalışmıyor"
      ~/Programlar/kiraz/kiraz
else
      echo "Çalışıyor"
      kill -9 $CALISIYORMU
fi

Şimdi eğer iki tane pencere açar ve birisinden koş komutunu başlatarak sunucuyu başlatabilirsiniz. Sunucuyu sonlandırmak için diğer pencereden tekrar ¨koş` komutu verebilirsiniz.

Betik için kısayol

Eğer Gnome ya da Xfce gibi bir pencere yöneticisi kullanıyorsanız yazdığımız betik için bir kısayol oluşturabilirsiniz.

Kiraz dizininin içindeyken betiği çalıştırmak için koş yazınız. Betiği sonlandırmak için ise kısayol kullanabilirsiniz.

Eğer Allah'ın izni ile geliştirdiğimiz Kaptan uygulamasını kullanıyorsanız, yollar.txt kütüğüne aşağıdakine benzer bir ekleme yapabilirsiniz.

Koş, /home/erdem/bin/koş, Ctrl-Alt-K

Burada ismi kendi kullanıcı adınızla değiştiriniz.

Eğer betik çalışmazsa

Eğer betik çalışmazsa ve aşağıdaki komutu verdiğinizde

ps -ef | grep defunct

kiraz uygulamasını bu listede görürseniz, sonlandır uygulamasını aşağıdaki gibi veriniz.

kill -9 1237 1235

Bu komut hem süreci, hem de ana süreci sonlandırıyor.

Linux altında bağlama işlemini hızlandırma

Kaynak kodu yazdıktan sonra derleyici yazılım parçaları oluşturuyor. Bağlayıcı ise bu yazılım parçalarını birleştirerek, yazılımın çalıştırılabilir sürümünü oluşturuyor.

İşte Linux altında bu bağlama işlemi varsayılan bağlayıcı ile oldukça uzun sürüyor.

Aşağıdaki komut ile bağlayıcılar arasında geçiş yapıyoruz.

sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20
sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10

İstersek elle de bağlayıcıyı seçebiliyoruz.

sudo update-alternatives --config ld

ld.gold bağlayıcısını seçtiğimizde bağlama süresi neredeyse yarı yarıya düşüyor.

Uygulamanın kaynak kodunu indirmek

Uygulamanın kaynağını buradan indirebilirsiniz.

Eğer git kullanarak indirmek indirmek isterseniz

git clone https://codeberg.org/erdem/kiraz.git --branch Ders1

komutu ile ilk dersi indirebilirsiniz.

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.