1 - Dizinde kelime aramak
Uygulamamızın verileri A sunucusundan çektiğini düşünelim. Zamanla B sunucusuna taşınmış olsun.
Sunucu ismini güncellemek için hangi kütükte bulunduğunu öğrenmek gerekebilir.
Dizindeki kütüklerde kelime aratmak için aşağıdaki komutu kullanabiliriz :
grep -Ril "aranan" .
2 - Uzak sunucu değişikliklerini geri almak
Uygulama kaynak kodunu bir önceki sürüme çekmek için aşağıdaki komutları kullanabiliriz:
git reset --hard HEAD^
git push -f
"ack", "grep"den daha maharetli...
Fish kabuğu (https://elektronik.vercel.app/isminin-manasi-turkce'de-balik-olan-bir-kabuk-kuralim) kullanıyoruz.
config.fish kütüğünde ack ile ilgili bu kadar kısaltma varmış.
alias bul="ack $argv[1]"
alias dara="ack --type=dkutuk $argv[1]"
alias valaara="ack --type=valakutuk $argv[1]"
alias vapiara="ack --type=vapi $argv[1]"
alias cara="ack --type=ckutuk $argv[1]"
alias başlıkara="ack --type=cbaslik $argv[1]"
alias pythonara="ack --type=piton $argv[1]"
alias jpgara="ack --type=jpgkutuk $argv[1]"
ack ile sadece belirli uzantılı kütüklerde arama yapabiliyorsunuz. Kütük uzantısı yoksa ekleyebilirsiniz.
~/.ackrc kütüğüne D ve Vala dosyalarını eklemişiz.
--type-set
dkutuk:ext:d,dkutuk
--type-set
valakutuk:ext:vala,valakutuk
--type-set
jpgkutuk:ext:jpg,jpgkutuk
Bazen bul yerine ara yazıyoruz. O da yeni paket arıyor :-[
grep ve ack'nin sonuçları getirmesi biraz farklıdır.
Aynı kelimeyi arayarak sonucu gözlemleyebilirsiniz.
Sanki konu başlığı ile içerik pek uyuşmamış, ya da kitabın direk ortasından başlanmış gibi :)
Yazılım geliştirmeden önce bazen hikayesi yazılıyor.
Olayı hikaye etmeye çalışalım.
Ali diye yazılım geliştirici bir arkadaş olsun. Bu arkadaş Kiraz isminde bir masaüstü yazılımı geliştiriyor. Kullanıcılar da mutlu mutlu kullanıyorlar.
Kiraz yazılımı verileri elma.net isimli bir sayfadan Json biçiminde çekiyor olsun.
Ali, 1 Ocak tarihinden itibaren elma.net'in yayınına son vereceğini ve bu tarihten sonra armut.net üzerinden verileri çekmesi gerektiğini öğreniyor.
Kaynak kod içerisinde hangi kütükte elma geçtiğini hatırlayamıyor. Bunun için ilk ipucunu kullanıyor.
grep -Ril "elma" .
Ana kaynak dizininde içerisinde elma geçen kütükleri armut yapıyor.
Uzaktaki git sunucuna yaptığı değişiklikleri gönderiyor.
Uygulamayı uzak sunucudan çekerek bilgisayarına kuruyor.
Ancak ne görsün? Uygulama çalışmıyor. Yeni sunucuda kiraz fiyatlarını veren GET işlevi çalışmıyor. Uygulamanın geliştiricisine haber veriyor.
Tekrar tüm yaptığı değişiklikleri geri almak için iki numaralı ipucunu kullanıyor.
Eyvallah Hocam. Herhal biz biraz geri kalmışız.
Hani başlığa bakınca insan ilk mesajlarda Hangi Linux dağıtımında, elma mı yoksa armut derleyicisinde mi geliştirme yapılıyor bilse bizim gibiler de belki daha kolay anlar belki.
Konu farklı bir arkadaşımıza cevaben başladıysa da araya girdiğimiz için kusura kalmayın.
Hâl-i hazırda ArcoLinux (https://elektronik.vercel.app/arcolinux-ve-budgie-masaustu) kullanıyoruz.
Bu ipuçları tüm Linux dağıtımlarında kullanılabilir.
Geliştirdiğimiz uygulama Archlinux, Manjaro, Ubuntu, Debian, Fedora, Red Hat, Open Suse, Pardus 23 üzerinde çalışıyor.
Uygulamayı geliştirdikten sonra önce Archlinux paketi haline getiriyoruz. Sonra bunu Debian ve Red Hat paketlerine çeviriyoruz.
Uygulama kaynağı Free Pascal (https://elektronik.vercel.app/ders/free-pascal-ile-pencereli-uygulamalar), Vala (https://elektronik.vercel.app/ders/vala-dersleri) ve kabuk betiği kullanıyor.
(https://live.staticflickr.com/8159/7590995744_39f6fda594_o_d.png)
Geliştirme ortamı olarak Emacs kullanıyoruz.