29 Mayıs 2014 Perşembe

Ubuntu 14.04 Numix Tema Yüklenmesi ve Unity Tweak Tool Kullanımı


      Ubuntu 14.04 varsayılan olarak Ambiance teması ile yüklü gelir. Bunun yanında Radiance ve High Contrast temaları kullanılabilir durumdadır. Aslında Ambiance teması gayet hoş. İnsanı bunaltmıyor. Ancak zamanla değişik temalarda deneyebilirsiniz ubuntu üzerinde. Bunu bütün ubuntu dağıtımlarında (Ubuntu,Xubuntu,Lubuntu vs.)yapmanız mümkün. Ben size kendi ubuntu 14.04 üzerinde biraz önce yüklediğim Numix temasını nasıl yüklediğimi anlatacağım. Olay aslında gayet basit. Ne kadar basit olursa olsun bir rehberin zararı olmaz değilmi?

     Öncelikle Uçbirim/Terminal/konsol ne diyorsanız adına onu açıyoruz. Kısayolu Ctr + Alt + T tuş bileşimidir. Uçbirimi açtıktan sonra şunları yazalım ve her satırı teker teker yazıp enter layalım.

sudo add-apt-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-gtk-theme numix-icon-theme-circle
sudo apt-get install numix-wallpaper-notd

        Bu satırları uyguladığımızda Numix temamız yüklenmiş durumda. Yalnız bu tema seçimi, icon set seçimi için “Unity Tweak Tool” a ihtiyacımız var. Bunu da isterseniz Ubuntu yazılım Merkezinden yükleyelim. Arama kısmında arattığınızda hemen gelecektir. Yükleye tıklayarak işlemi tamamlayalım. Yükleme bittiğinde Başlatıcıda simgesini göreceksiniz. Hemen tıklayalım. Görünüm kısmından temayı tıklayalım. Gördüğünüz üzere kullanılabilir temalar listelenecek. Burada tema isimlerine tıklayarak pencere ve diğer nesnelerdeki değişimleri anlık görebilirsiniz. Burada tabiki Numix i seçiyoruz. Sonrasında simgeler sayfasına geçip zevkimize uygun simge setini de seçiyoruz. Ben Numix-Circle seçtim. Gayet hoş bir simge seti. İmleç, Yazıtipleri ve pencere denetimlerini ayarlayabildiğimiz sayfalar var. Dilerseniz oralarıda kurcalayın, zararı olmaz. Başka bir yazıda görüşmek üzere hoşçakalın.


Durali Kiraz
Yazılım Gelişitirici
duralikiraz.blogspot.com

Kaynak:







24 Mayıs 2014 Cumartesi

Ubuntuda Otomatik Bağlanmayan(mount olmayan) Disklerin otomatik bağlanır hale Getirilmesi

      Xubuntuyu geçenlerde bir arkadaşımın makinasına kurmuştum. Çünkü windows ortamında bilgisayara takılı aletlerin yarısını tanımıyor yada çalıştıramıyordu. Ayrıca Windwos Xp de Makine adeta sürünüyordu. Ayrıca windows virüsleri artık insanı çileden çıkaracak boyuta ulaştırmışlardı. Neyseki külüstür makinasını camdan aşağı atmaya karar vermişken Ender abiye xubuntu kurmayı önerdim. O da kendisini viruslerden kurtarmam kaydı ile ne yüklersem yükleyim kabul edeceğini söylemişti. Geçen gün gittim Clevo tipi 1,5 GB Ram bellek 1,7 Ghz tek çekirdek dizüstü bilgisayarına başarılı bir şekilde Xubuntuyu kurduk. Dikkat edin başarılı bir şekilde diyorum çünkü şu an elimde Windows XP Home lisansı ile kurulu gelmiş “Acer TravelMate 233VX” makinaya hiçbir şekilde hiçbir ubuntu dağıtımını kuramadım. Ayrıca diğer linux dağımlarınıda yükletmiyor, bilgisayar takılıp kalıyor. Artık bilgisayar üreticisi nasıl bir kısıtlama koyduysa sistemine acer kullanıcısını windowsa mahkum etmiş. Mahkum ettiği bir şey değil, artık xp desteği de yok bilgisayarlarda. Bunun artık nasıl bir sağlıklı tüketici hakları kriterine uygun olduğunu siz düşünün. Zavallı Acer kullanıcı bu bilgisayarında XP dışında bir işletim sistemini kullanamayacak. Üstüne birde antivirus programının hantallığı da binince gerisini siz düşünün. Tabi makinayı at çöpe yenisi al kardeşim denilebilir. Zaten son kullanıcıya yapılmak istenilen kapitalist tuzakda bu zaten.

     Yine konuyu fazla dağıtmadan esas konumuza dönelim. Ender abinin külüstür laptopuna Xubuntuyu başarılı bir şekilde kurmuştum. Teamviewer, skype, libreoffice, adobe flashplugin vs. programlarıda ubuntu yazılım merkezi aracılığı ile kurduktan sonra ikincil yedek sürücüsündeki klasörüne rahat erişebilmesi için masaüstüne kısayol bağlantısını oluşturdum. Fakat bilgisayarı kapatıp açınca masaüstündeki kısayol bağlantısının geçersiz olduğu uyarısını alıyoruz. Bilgisayar sahibinden biraz müsaade isteyerek olayı araştırdım. Gördümki kısayol bağlantısını oluşturduğumuz klasörün diski işletim sistemine otomatik bağlanma(mount) işlemini yapmıyor. Belliki varsayılan olarak işlem yükü binmesin diye bağlantısız(unmount) olarak gözüküyor. Biraz araştırmadan sonra bu işin çözümünün “pysdm” isimli programla çözülebileceğini keşfettim. Bu program sayesinde sisteminize bağlı olan diskleri yönetebiliyorsunuz. Henüz alfa aşamasında olmasına rağmen program benim işimi gördü. Zaten yapmak istediğim de sadece otomatik bağlanma(mount) işlemini yapmaktı. Şimdi basitçe bu işlemini yapılışını göstermek istiyorum.

      Öncelikle “pysdm_0.4.1-ubuntu3_all.deb” isimli paketi ubuntu paket depolarından indiriyoruz. Bunu artık wget lemi yaparsınız yoksa yazılım merkezini mi kullanırsınız bu size kalmış. Daha sonra Uçbirim(Terminal) ekranını açarak

sudo dpkg -i pysdm_0.4.1-ubuntu3_all.deb

yazarak enterladığımızda parolayı girer ve yüklemeyi yaptırırız. Yükleme bitiminde


sudo pysdm


yazıp enterladığımızda artık program kullanıma hazırdır. Karşımıza çıkan ekranda sol yan tarafta sistemdeki sabit diskler “sda” grup olarak gözükmektedir. Üzerine tıkladığımızda Sabit diskler gözükecektir, aşağıdaki ekranda olduğu gibi.


           Benim kurduğum sistemimde sda3 diski yada disk bölümü(partition) diyelim otomatik olarak sisteme bağlanmıyordu. Bu disk bölümünü (sda3 ü) seçerek ekranın sağ orta tarafında gördüğünüz Assistant butonuna basılınca aşağıdaki ekranı elde ettim.


        Bu ekranda görüldüğü üzere “The file system is mounted at boot time” seçeneğini işaretleyip tamam butonuna bastığımda artık sistemim her açılışında disk bölümümü otomatik olarak sisteme bağlayacaktır. Bu şekilde maksat hasıl olmuştur. Başka bir yazıda görüşmek üzere hoşçakalın.


Durali Kiraz
Yazılım Geliştirici
duralikiraz.blogspot.com



Ekleme (03.01.2016) :

Bu paket geliştirilmesi durduğu için bazı ubuntu sürümlerinde kurulumda sıkıntı çıkarabilir. Bunun yerine ubuntu içerisinde bu işi disk işlemlerinden kolayca yapabilmek için aşağıdaki bağlantıda anlatılan yol izlenebilir.
http://www.liberiangeek.net/2013/05/mounting-external-storage-devices-in-ubuntu-13-04-raring-ringtail-is-a-lot-easier-with-disks-tool/

23 Mayıs 2014 Cuma

Ubuntu kurulu Tek disk bölümünün (disk partition) bölünmesi Nasıl Yapılır

       Bu yazıyı yazmama yine bir acı tecrübe vesile oldu. Genelde butür acı tecrübeleri paylaşıyorum ki insanlar sıkıntı çekmeden işlerini halledebilsinler. Sizde benim gibi ubuntu kurduğunuz bilgisayarda işletim sistemi kurulurken yedek dosyalar için ikinci bir disk bölümü ayırmadıysanız, tüm diski tek bölüm olarak yapıp işletim sistemini kurduğunuzda sonradan ikinci bölümü oluşturmak biraz problem olacaktır. Aslında problem demek yanlış olur. Çünkü Linux tabanlı sistemler veri güvenliğine azami önem veren bir mantıkla inşa edilmiştir. Bundan dolayı üzerinde işletim sisteminin kurulduğu ve tek disk olarak kullanımda olan bir disk üzerinde parçalama işlemi normal şartlarda yapamazsınız. Bunu yapamadığınız için ubuntu geliştiricilerine kızabilirsiniz :) Tabiki bu tür durumların ubuntu da her zaman çözümü vardır. En yakın başvuracağınız adres ubuntu-tr.net sitesi olacaktır. İngilizce biliyorsanız askubuntu gibi birinci el sitelere başvurup sorunuza anında yanıt alabilirsiniz.
Benim çözümüme gelince. Öncelikle Hiren's Boot Cd yi bilgisayarınıza indiriniz.(iso dosyası lazım bize). Eğer başlatılabilir bir cd ye oluşturacaksanız hiren boot cd yi zaten zip dosyasının içinde kalıbı cdye yazdırma programı var. Ancak benim külüstür Makine gibi dvd rom çalışmıyorsa bu aşamadan sonra anlatacaklarıma kulak verin. Sonrasında önceki yazılarımda anlattığım “Universal USB Installer” programını çalıştırınız. Bu program usb diskimizie hiren's boot cd iso dosyasını yazdırmamız ve başlatılabilir usb disk oluşturmamız için gerekli.


         Seçimlerimizi Hiren's boot cd için yukarıdaki gibi yapıyoruz. Create butonuna bastığımızda istediğimiz başlatılabilir USB hiren's boot cd yapılmış oluyor. Bundan sonraki aşama ise USB yi başlatılabilir olarak bios dan ayarlamak ve bilgisayarı usb den başlatmak. Bu başlatma kısmında ise disk tool kısmından linux modunda başlatılmalı. Yani Açılış ekranı geldiğinde “Linux Based rescue environment (Parted Magic 2012-10-10)” seçilmeli. Sonrasındaki “Start language (us)” kısmı geldiğinde Enter yapıp devam edin.



Yukarıdaki seçimin sonucunda sistem açıldığında aşağıdaki görüntü oluşur.





      Yukarıdaki ekranda gördüğünüz “Partition Editor” çift tıkladığınızda artık ubuntu ortamındaki kısıtlama olmadan disk yönetiminizi rahatlıkla yapabilirsiniz. Başka yazıda görüşmek üzere Hoşçakalın.



Durali Kiraz
Yazılım Geliştirici
duralikiraz.blogspot.com

22 Mayıs 2014 Perşembe

Ubuntu Dağıtımlarında DNS bilgilerinin Kalıcı Olarak Saklanması


     Normalde bu yazıyı okuyupta ubuntu üzerinde böyle sıkıntılı meselenin çözümü bazen insanı çileden çıkaracak boyuta getirir. Beni de 2-3 saat uğraştıran bir durum olduğu için çözümünü burada paylaşıyorum ki aynı sıkıntıya düşen arkadaşlar bir nebze çözüme ulaşabilsinler.

      Öncelikle ubuntu kullanıcıları olarak /etc/resolv.conf dosyası içerisindeki nameserver 127.0.1.1 bilgisinin örnek olarak nameserver 8.8.8.8 google dns yaptığında aktif açık oturumda şu an yasaklı youtube gibi sitelere rahatlıkla girebilirler. Ancak bilgisayarını kapatıp açtığında /etc/resolv.conf dosyasında her şeyin eski haline geldiğini görmeleri pek de uzun sürmeyecektir. Benim şu an itibariyle bu dosyadaki bilgileri kalıcı kılmak adına yapmadığım maymunluk kalmadı. İşin ilginci askubuntu, ubuntu-tr gibi sitelerde bu işe ne hikmetse (galiba gökten inme vahiy bu dosyanın değiştirilemezliği !) bir çare yok. En akıllıca önerilerden biri sistem açılışında bu resolv.conf dosyasını değiştiren bir betiğin yazılması önerisi olmuş. :)

      Bu kadar göz korkutucu bilgiden sonra basit çözüme gidiyoruz, merak buyurmayınız. Sorunu çözmek için tek çözüm yolu bu dosyayı değiştirmek değil arkadaşlar. Diğer çözüm yoluda http://webcodez.blogspot.com.tr/2008/12/ubuntu-dns-adresini-deitirmek.html adresinde belirtildiği gibi network bağlantınızı düzenlemek. Sağ üst köşedeki ağ bağlantı simgesini tıkladığınızda (ubuntu 14.04 de göre) açılan listenin en altında “Bağlantıları Düzenle” ye tıkladığınızda aşağıdaki görüntü gelir.



 
Bu ekranda Düzenle butonuna bastığınızda Aşağıdaki ekranı elde edeceksiniz.




 
Yukardaki ekranı aşağıdaki şekile göre (örnek olarak google dns verilmiştir) düzenleyiniz.





 
      Kaydet butonuna tıkladığınızda artık ağ bağlantınız bu seçili dns leri kullanacaktır. Ben bilgilerin kalıcılığını test etmek için bigisayarı açıp kapattım. Sizde deneyin. Gördüğünüz üzere bilgiler kalıcı hale gelmiştir. Başka yazıda görüşmek üzere hoşçakalın.


Durali Kiraz
Yazılım Geliştirici
duralikiraz.blogspot.com


20 Mayıs 2014 Salı

Açılabilir USB Disk Oluşturma Programı - Universal USB Installer

        Bugün eski P-4 bilgisayarımı Yükseltme(upgrade) yaptım. Üstelik bu yeni makinanın usb den boot etme özelliği de var :) Bilemezsiniz nasıl çocuklar gibi şen vaziyetteyim. Üstelik birde Xubuntu kuruyorum ki sormayın gitsin. (Eski makinanın ne kadar vahim durumda olduğunu siz düşünün :) Dün Sentinel bilgisayar firmasındaki kardeşim Fatih ile yaptığım görüşmede hurda makinalardan bir şey varmı diye sormuştum. O da sağolsun abi gel birşeyler bakalım dedi. Velhasıl kelam benim eski bilgisayarı bir tarafa, fatihin çıkarttığı hurdayı bir tarafa koyduk. Benim hurda dan ekran kartını, sabit diski ve özel çift Cpu fan sistemini aldık. Diğer hurda dan çıkan kasaya montajını yaptık. Daha doğrusu Fatih yaptı. Yeni kasanın usb çıkışlarının çokluğu, SATA veriyolu portunun olması gibi avantajlarını değerlendirmeye karar verdik. Büyük bir uğraştan sonra elde daha işlevsel bir kasa oluştu. Satmaya kalksan kimse beş kuruş vermez o ayrı ama benim için yeni bir bilgisayar gibi oldu sanki :) DVD-RW aygıtı benim eski hurdadan çıktığı için cd leri çalıştırıp daha doğrusu boot edip, DVD media bootlarda sıkıntı çıkardı. Bir an için Xubuntu kuramayacağımı, bunun için 50 TL daha ödeyip Sata DVD almam gerektiğini düşünürken bir an için bios da usb den boot etme özelliğinin olup olmadığına bakmak geldi. Baktığımda var olduğunu gördüm. Hemen boş bir flash disk aramaya koyuldum. Elimde 16 GB lık var amma yarısından fazlası dolu. Şimdiki olayımızda usb flash diski boot edilebilir bir disk haline dönüştürme işi.

        Boot media oluşturma için internette baktığımda ilk aklıma gelen zaten boot edilebilir xubuntu iso uzantılı image dosyasını “iso to usb” programıyla usb ye yazmak geldi. İndirip çalıştırdığımda bu programın sadece boot edilebilir windows işletim sistemleri yapılabileceği gibi bir not düşünce yeni arayışlara da giriştim. Üstelik bu program iso atılacak flash diski tamamen formatlayarak iş yapıyordu. Ben her şeye rağmen flash diskimdeki dosyaları bilgisayarımın D:Depo sürücüsüne yedekledim. Yeni bir program ararken bu iş için “Universal USB Installer” programını gördüm. Anlatılan tanıtım yazısında açılabilir linux usb flash disklerini oluşturabileceği yazıyordu. Daha doğrusu bu programın Step 1 kısmındaki açılır kutuya tıklarsanız aşağıya doğru neredeyse windowstan her türlü linux dağıtımına kadar ne kadar işletim sistemi varsa desteklediğini göreceksiniz.


       Sonuç olarak yukardaki ekranda görüldüğü gibi Xubuntu işletim sistemini ve internetten indirdiğim Xubuntu iso dosyasını ayarladım. Daha sonra direkt create butonuna tıkladım ve program açılabilir (bootable) sistemi oluşturup flash diske yazdı. Flash Diski kontrol ettiğim de bir de ne göreyim. Benim eski dosyalar olduğu gibi duruyor. Yani mevcut dosyalarımı silmemiş. Kendisine islinux isimli bir klasör oluşturup benim flash diski açılabilir bir disk haline olduğu haliyle çevirmiş. Dolayısıyla flash diskimi hem sistem kurulumu hemde dosya yedekleme aracı olarak kullabiliyor olmamın mutluluğunu yaşadım. Üstelik ücretsiz olan bu program ile. İso to usb programında olduğu gibi format atmanıza ,yada sadece windows işletim sistemleri ile çalışmanıza gerek kalmıyor. Umarım işinize yaramıştır bu bilgiler. Başka bir yazıda görüşmek üzere hoşçakalın.

Durali Kiraz
Yazılım Geliştirici
duralikiraz.blogspot.com

11 Mayıs 2014 Pazar

Firebird Veritabanı için Alias Kullanımı ve Lazarus Örneği

      Eski Delphi kullanıcıları hatırlayacaklardır BDE üzerinde Alias kullanımını. Açıkçası BDE üzerinden paradox ve interbase kullandığım zamanlar bilinçli veya bilinçsiz alias kullanım alışkanlığı oluşmuştu. Yıllardır nedense pek kullanma gereği hissetmedikmi nedir Firebird veritabanında alias kullanmadan veritabanına erişimi tercih ettim. Galiba kendimizi anlamsız bir şekilde veritabanına doğrudan yolunu yazarak erişmenin daha sağlam olduğunu düşündük. Aslında kısmen bu yersiz düşüncenin doğruluk payı olabilir. Şayet veritabanınız geliştirme aşamasında sürekli dizin değiştirme gibi bir işleme tabi tutuluyorsa biraz anlamlı olabilir. Ancak yine de yersiz bir düşünce.
Alias kullanımı firebird veritanımıza erişimde bize rahatlık sağlayacaktır. Verierişim bağlantı nesnelerinde (TIBconnection, Tdatabase vs.) uzun uzun veritabanı adı yazmak yerine sadece aliası yazmamız bize büyük bir pratiklik sağlayacaktır. Ayrıca veritabanımızın sırf fantezi olsun diye yerini değiştirip duruyorsak sadece “aliases.conf” dosyamızdaki aliasın veriyolunu değiştirmemiz yeterli olacaktır. Verierişim bağlantı nesnelerinde sadece alias olarak tanımladığımız kelimeyi veritabanı yolu + ismi yerine bir kere yazmamız sunucuda yeri zırt pırt değişsede veritabanı dosyamızın bizim erişimimize bir zarar vermeyecektir. Dolayısıyla bir ölçüde kararlı erişim sağlar diyebiliriz. Bu işin nasıl yapılacağını örneklemekte fayda var.

 Benim bilgisayarımdaki örnek firebird veritabanı dosyam
“D:\Components Delphi\Demo Databaseler\Demodatabase.fbd” şeklinde bulunmakta.

      İlk yapmam gereken bu veritabanı dosyasının uzun yoluna ve ismine karşılık bir Alias tanımlamak. Bunun için benim firebird 64bit sunucumun kurulu olduğu (windows için) “C:\Program Files\Firebird\Firebird_2_5\” dizini içindeki aliases.conf dosyasına ulaşıp Notepad ile düzenlemek üzere açarız.


















    






      Yukarıda gördüğünüz gibi “DEMODATA” isimli alias'ımı tanımladım. Bu pencereyi kaydet menüsüne tıklayarak kapatalım. Artık uzun veritabanı yolunu ve adını erişmek için yazmama gerek yok. Hadi buna birde Lazarus üzerinden yazacağımı basit verierişimi yapan bir uygulama ile örnek verelim.



      Lazarus formu üzerine bir adet Ibconnection1 isimli bir veri bağlantı nesnesi ekledim. Bu nesnenin kullanıcı adına 'SYSDBA' ve password kısmına 'masterkey' verilerini girdim. Connected kısmını true yaptığımda hata vermeden veritabanına bağlandığını gördüm. Bu veritabanı benim local (yerel) makinamda olduğu için dikkat ettiyseniz hostname parametresine hiçbirşey yazmadığım halde sıkıntı çıkarmadı. Bu veritanının başka bir sunucu üzerinde konuşlandığı ihtimalini göz önüne alırsak o zamanda hostname kısmına sunucunun adını yazmamız yeterli olacaktır. Diğer türlü çalışma anında veritabanı bilgisini girmemiz durumunda ise yazacağımız şey şu olacaktır:

'Sunucum:DEMODATA'

Diğer türlü olsaydı dosyanın sunucuda hangi klasörün altında hangi isimle tutulduğunu bilmemiz gerekecekti. O zaman şöyle yazacaktık :

'Sunucum:D:\Components Delphi\Demo Databaseler\DEMODATA.FDB'

       
Düşününki veritabanını farklı bir yere farklı bir isimli backup-restore yaptınız. Şayet alias kullanmıyorsanız yandınız demektir. Bu durumda bu veritabanına bağlanan tüm client(istemci) makinalarda yeni veritabanı yolunu ve ismini teker teker düzenlemeniz gerekecektir. Halbuki alias kullanmış olsanız istemci makinanın o veritabanın isminin ve yolunun değiştiğinden haberi bile olmayacaktır. Bir sürü istemcide veritabanı bağlantı betiğini(scriptini) değiştirmek yerine sadece suncudaki aliases.conf dosyasında tek satır düzenlemeniz yeterlidir. Umarım Alias (rumuz) kullanımının faydasını bir nebze olsun anlatabilmişimidir. “Kolaylaştırınız güçleştirmeyiniz.”

Ek Not: Bazı internet sitelerinde alias kullanımının performansı olumsuz yönde etkileyebileceği belirtilmiş. Nadirende olsa alias kullanımının faydalı olacağı da söylenmiş. Sonuçta deneme yanılma yapmakta fayda var derim.

Başka bir yazıda görüşmek üzere Hoşçakalın.

Durali Kiraz
Yazılım Geliştirici
duralikiraz.blogspot.com

4 Mayıs 2014 Pazar

Yazılım Mutfağı -05 (İş Görüşmeleri ve Yapılması Gerekenler)

















       Bu yazımızda bir yazılımcının eğer bir yazılım firmasına dahil olarak çalışmıyorsa yapması gereken işlerden biri olan iş görüşmelerinden bahsedeceğiz. Bu işin püf noktalarını yine kitaplarda yazmayan hayat tecrübelerinden sizler için derleyemeye çalışacağım.

       Bir yazılımın hayat döngüsünü oluşturan unsurları tam olarak anlatan bir kitaba daha henüz rastlamadım. Son on yıl içerisinde “Yazılım Mühendisliği” başlığıyla sayısı bir elin on parmağını geçmeyen eser belki vardır. Bunların en popüler olanını incelediğimizde ise anlaşılması için “uzaylı Türkçesi” ni iyi bilen kişilerin anlaması için yazılımış eserler olduğunu görürüz. Yani hiçbir halt anlaşılmaz. Metodolojilerden bir başlarsınız ve diğer anlamsız ve faydasız gereksiz bilgi çöplüğünde bu işin kitabını nasıl anlasamda bu işi nasıl iyi yapsam endişesiyle kıvranır durursunuz. Batı bu işi çözmüş. Fakat bizde 1930~1940 lı yıllarda yapılan dil devrimi (arapça kelime ayıklama, öz hakiki türkçeye dönüş saçmalığı) gibi faysdasız işlerden dolayı maalesef bir işin kitabını yazmak ve onu okumak işkence halini almakta. İngilizce,Almanca, Fransızca vs. diller bilenler bu konuda biraz daha şanslı olmakta. Çünkü bu dilin sahipleri bizimkiler gibi saçmalıklar yapmamışlar. Neyse bu konuyu uzatmadan diğer hususlara geçiyorum. 

       Öncelikle öğretim görevlisi Gürhan Ustali arkadaşımın anlattığı şu anıyı sizlerle paylaşmak istiyorum. Bilirsiniz Türkiyedeki yazılım konusunda en profesyonel kurumlardan biriside Havelsandır. Bir üniversite öğrencisine hocası ödev vermiş, git bir yazılım firması yazılımı nasıl geliştirir? Hangi metodolojileri kullanır? Hangi iş-süreç vs. çalışmasını yapar diye öğrencisini doldurup salmış piyasaya. Tabi üniversite öğrencisi bakar bu işi Türkiyede en profesyonel yapan yer Havelsan, hemen bir randevu alır ve Yazılım Geliştirmenin başındaki sorumlu kişiyle görüşmeye gider. Öğrencimiz elinde kağıt kalemiyle yetkili kişiye sorularını sormaya başlar. İlk sorusu ise “Efendim siz yazılım geliştirirken en çok hangi metodolojiyi kullanıyorsunuz?” Adamın cevabı ise ilginçtir; “Kardeşim biz program yazıyoruz ne metodolijisinden bahsediyorsun sen?”. Zavallı öğrencimiz aldığı cevapla kuyruğunu kıstığı gibi alır oltasını ve bir an önce dayak yemeden sıvışır :). Tabi bu anlattığımdan herşeyin saçmalığı sonucuna varmayınız. Elbette bir UML tasarım konusu önemli bir konudur. Bunların tabiki öğrenilmesi lâzım. Ancak en önemli olan şey gerçek hayattaki geçerli olan şeyleri öğrenmek. 

        İlk bilinmesi gereken şey Algoritma. Bir akış planını (Flow-chart) çizebilmek size çok şeyler katacaktır. Ancak bundan daha önemli olanı ise bu akış planını kafanızın içinde çizebilmektir. Yani programı hayal edeceksiniz. UML ile ilgili konularda biraz kitap okuyun ve pratik yapın. Şekiller çizin. Bir kullanıcı temsil etmek için bir cin Ali çizin. Kullanıcının yazacağınız yazılımın hangi modüllerine müdahale ettiğini cin aliden çıkan oklarla çizerek gösterin. Basbayağı bildiğiniz ve anlayacağınız karalamaları bol bol yapın. Bunlar size pratik kazandırır. Şimdi gelelim şu iş görüşmeleri meselesine.

        İş görüşmeleri tüm işi tek başına göğüslemesi gereken yazılımcının yapması gereken en önemli aktivitelerden biridir. Öncelikle eğer okuldan yeni mezun oldunuz ve bu işi öğrenme aşamasındaysanız bilmeniz gereken kural fiyat seçimliliği yapmadan önünüze gelen basit işler olmak kaydıyla her işi almak. Zaten yeni biriyseniz size bir tanıdığınız vasıtasıyla iş ayarlanır ve sizde birşeyler yapmaya çalışırsınız. Bir aceminin kendi acemiliğini gizlemenin en iyi yolu görsel tasarıma/makyaja ağırlık vermesidir :) Çünkü program ne kadar süslü görünürse kullanıcının dikkati pek performansla ilgili olmayacaktır. Tabi bu da kişiden kişiye değişir. İlk ticari işiniz size çok şeyler öğretir. Ama bundan sonra bir kuruma iş görüşmesi için çağrıldığınızda artık profesyonel olmanın zamanı gelmiştir. Öncelikle bir ajanda ve yazan bir kalem almayı unutmayın. Kılık kıyafetinizi düzgün seçin. Maalesef müşterinin ilk bakacağı şey sizin kürkünüzdür. Paçoz vaziyette çıkmayın. İyi bir karşılma selamlaşma faslından sonra müşterinizi iyi bir şekilde dinleyin. Onun size derdini anlatmasına fırsat tanıyın. Adeta bir psikiyatrist olun. Uzunca bir koltuğa sırt üstü yatırsanızda olur :) (bu kısım şakaydı). O anlatırken siz elinizde kalem ve kağıtla onun isteklerini bir taraftan listeleyin. Diğer taraftan da cin ali şekilleri yani UML çizimlerini kendi anlayacağınız şekilde çizmeye başlayın. Bu esnada siz müşterinin talebi olan programı kağıt üzerinde planlıyorsunuz aslında. Müşterinin anlattıklarından anlamadığınız yerleri detaylandırmasını isteyin. Size yaptırmak istediği yazılımın tüm detayları belli olduktan sonra işin son ve can alıcı kısmına gelmiş bulunmaktasınız. Tabi firma sahibi insanların bütün gününü size hikaye anlatarak heba edeceğini düşünürseniz yanılırsınız. Bu da duruma göre değişkendir. Baz müşteri sizden hemen bir cevap ve fiyat ister. Bunları çok çabuk bir şekilde %90 doğruluğu olan bir tahminle karar vermelisiniz. Yani yapacağınız yazılıma kaç saat çalışacaksınız?, Bu iş kaç günde bitecek? Ve ne kadar paraya malolacak? En pis görüşme şeklide budur. Her şey görüşme sonundaki 5 dk içinde cevaplanması gerekebilir. Bazen sonraya bıraktığınızda işi alma şansınız kalmayabilir. Aynı zamanda işbitirici bir olduğunuzu karşınızdaki insana güven vererek hissettirmeniz gerekir. Burada yapılacak şey tahmini kaç saatlik bir çalışma yapacağınızı biraz fazla zaman koyarak hesaplarsınız. Saatlik geliştirme ücretini atıyorum 10 dolar koyarsınız. (Çalışma Saati X 10 dolar) + Lisans ücretleri = Yazılım Fiyatı. En basit formul bu olabilir. Tabi bu örnek olması açısından söylenen bir formul. Geliştireceğiniz yazılımı Ücretsiz geliştirme araçları (örneğin lazarus, code block, zeoslib, firebird) ile yaparsanız müşteriyi lisans ücretlerinden kurtarırsınız. Şansınız varsa işi kaparsınız.

       Bazende özel istek üzerine çağrılarak gidersiniz. Bu aşamaya geldiyseniz artık şöhret olmuşsunuz ve methinizi tüm alem öğrenmiş demektir. Bu şartlarda nazlanma hakkı sizde demektir :) Böyle bir görüşmeye daha rahat bir ruh haliyle gideceğiniz malumdur. İstediğiniz kadar ön görüşme yapabilir, dilediğiniz zaman sonra fiyatınızı verebilirsiniz. Ancak şunu unutmayın, yapamayacağınız şeylerin sözünü asla vermeyin. Örneğin adam sizden şirketinde kullanacağı masaüstü bir yazılım geliştirmenizi isterken daha sonrasında cep telefonuyla da bu yazılıma bağlanıp raporlar almak isteyebilir. Siz tabi yaparız abi deyip, sonrasında kullandığınız veritabanı sisteminin cep telefonu ile erişiminin kaf dağına ulaşmaktan zor bir hâl aldığını öğrenip, abi bu iş olmuyor derseniz tek kelimeyle “sıçarsınız”. Tutacağınız sözleri vermeye dikkat etmelisiniz.

         Bazı iş görüşmeleri de vardır ki çok sevdiğiniz bir arkadaşınızın hatrına kalkar görüşmeye gidersiniz. Fakat karşı tarafta sizinle görüşmek için bekleyen kötü niyetli bilgi işlem ekibiyle karşılaşma ihtimalinizde yok değil. Neden böyle peki? Bazen bilgi işlem servislerinde çalışan elemanlar aslında hiçbir halttan anlamayan, o makama torpil ve kayırma ile gelmiş kısacası bulunduğu yeri hak etmeyen bilgisiz çapsız tipler olabilir. Şayet bu tiplerin aklında işi vermek istediği başka bir “mefaatleneceği” yazılım firması varsa ve bunu da şirketin patronu bilmiyorsa o zaman yandınız demektir. Bu bilgi işlemcilerle yapacağınız iş görüşmesi fbi ya iş görüşmesinden daha sıkıntılı geçecek demektir. Size olmadık sorular sorarlar, bilginiz ölçme küstahlığında bulunurlar ve artık çileden çıkacak hale gelirsiniz. Yapılacak işle ilgili hiçbir şey konuşulmadığını, tamamem sizin ne bildiğiniz ile ilgili şeylerin konuşulduğunu görürsünüz. Bu durumu anladığınızda yapılacak şey ise amerikalıların deyimiyle “f*ck you” deyip o ortamdan uzaklaşmak olmalıdır. Çünkü böyle bir görüşmeden size asla iş çıkmayacaktır. Hatta ben yıllar böyle bir görüşmede o bilgi işlemcilerden “aferin sen bu işi bayağı biliyorsun” övgüsüne bile mazhar olmuştum :) Ama yine de o işi bana vermediler :)

        Bu konuda söylenecek çok şey var. Bu hususlarla igili yazdığım diğer yazılarda yer yer bahsediyorum. O yazılarıda okumanızı da tavsiye ederim. Sonrasında daha ne ilginç iş görüşmeleri olduki hepsini bir yazıda anlatmak zor olur. Başka bir yazıda görüşmek üzere hoşça kalın.

Durali Kiraz
Yazılım Geliştirici
duralikiraz.blogspot.com