Ağustos 2014

Bikaç yıldır katılmayı isteyip bir türlü katılamadığım Linux Yaz Kampı’na bu yıl katılma fırsatı buldum ve kamptan beklediğimin çok daha fazlasını buldum. Her yönüyle mükemmel bir kamp süreci geçirdim. Bilmeyenler için kamptan kısaca bahsedelim.

Okumaya devam edin…

Bremen Üniversitesinde düzenlenen Informatica Feminale 18-29 Ağustos 2014 tarihleri arasında Almanya’nın hepimizin Bremen Mızıkacıları ile tanıdığı kuzeydeki şehri Bremen’de düzenlendi. Türk ve Almanlar başta olmak üzere hem öğrenci hem de eğitmen kadrosu çok farklı milletleri ve insanları bir araya getirdi. Bu yılın Türk-Alman bilim yılı olmasından güç alarak Veronika Oechtering, Zeynep Demir ve beraberindeki kocaman bir ekip her şeyi bizim için baştan sona organize ederek bıkmadan, usanmadan, güler yüzle dolu 2 haftayı bize hediye ettiler. En başından sonuna kadar gerçekten tüm organizasyon kusursuzdu.

Bremen Almanya’nın bir çok şehri gibi yemyeşildi. Hava çok soğuk ve sürekli yağmurlu olmasına rağmen şehrin içinde olmak bile bizi çok mutlu etti. Şehir içerisinde ulaşım inanılmaz kolaydı, eğer şehri daha iyi biliyor olsaydık tıpkı şehrin çoğunluğu gibi her yere biz de bisikletle giderdik diye düşünüyorum. Bir çoğumuzun 2 hafta boyunca istisnasız her gün dersi vardı. Dersler bittikten sonra çoğu zaman ya bir mekanda toplanıp sohbet ediyor yada Bremen’in gezilecek yerlerini geziyorduk (Şehir Merkezi, Beck’s Fabrikası…). 2 haftalık ders sürecine dönecek olursak ben 3 adet ders aldım: Network Simülasyon ve Modelleme, Akademik Amaçlı İngilizce Konuşma ve Sunum ve Çevik Yazılım Geliştirme: 1 haftada NodeJS uygulaması.

Okumaya devam edin...

Geleceği Yazanlar projesi Android, iOS ve Windows Phone eğitimleriyle mobil yazılım geliştirmek isteyen ve bilişim dünyasına adım atmak isteyen herkes için büyük bir fırsat. Hiç programlama bilgisi olmayan biri bile bu proje sayesinde çok fazla şey öğrenebilir.

Okumaya devam edin...

PostgreSQL’de sürekli erişilebilir (HA) bir küme yapılandırması (cluster configuration) kurmak, çeşitli replikasyon (replication) metodları ile mümkündür. Sıklıkla Warm Standby veya Log Shipping şeklinde anılan replikasyon modellerinde sürekli arşivleme (continuous archiving); birincil/ana (primary/master) sunucu başarısız olursa işlemleri devralmaya hazır bir ya da daha fazla yedek (replica) sunucu olması ile sağlanır.

Bu yazıda, ana (master) sunucuyu çeşitli sebeplerden dolayı kaybedersek (fail scenarios) replika (yedek) sunucuyu nasıl birincil/ana sunucuya yükseltebileceğimizi (promote) göreceğiz.

Öncelikle yük dağıtma (failover) senaryosunun düzgün tamamlanabilmesi için ana sunucudaki postgresql servisinin durmuş olduğundan emin olmalıyız. Aynı anda çift master rolü olan bir replikasyon beklenmedik sonuçlar doğuracaktır. O yüzden imkan varsa -sunucu erişilmez hale gelmiş olabilir; donanımsal sorunlar vs-, önce ana (master) sunucudaki postgresql servisini durdurmalıyız.

Okumaya devam edin...

Cron, Unix tabanlı işletim sistemlerinde zaman bazlı çalışan bir görev planlayıcısıdır (job scheduler). Sistem tarafında yaptırmak istediğimiz görevi belirlediğimiz zaman aralıklarında çalıştırır. /etc dizini altındaki crontab dosyası ise cronların çalışma zamanını ve görevlerini barındıran yapılandırma dosyasıdır. Windows’ taki karşılığı ise zamanlanmış görevlerdir.

Okumaya devam edin...

İşlerin sistematik olarak yürütülmesinin istendiği her çalışmanın bir proje analiz süreci vardır. Proje analiz sürecinde yapılacak işin net olarak belirlenmemesinin doğuracağı kafa karışıklıkları, işin ortasında gelecek revizyon taleplerinin sizi X yolundan çıkarıp Y yoluna sokmasının yaşatacağı zaman kayıpları ve tasarım sürecinde istenilen işlevlere sahip bir ürünün ortaya konulamaması gibi durumlar muhtemelen can sıkıcı olacaktır.

Wireframe, tek satır kod yazmadan, tabiri caizse tasarımın ‘T’ sine dahi dokunmadan projenin kurgusu ve işlevselliği hakkında hem yazılımcıya hem de müşteriye fikir sahibi olma imkanı sağlayan proje ön hazırlık aşamasıdır. Proje hakkında düşündüklerinizin görsel taslağı niteliğindedir ve projenin özellikleri ve fonksiyonalitesi hakkında bilgi verir. Proje içeriğinin nasıl konumlandırılacağını, neyin ne kadar yer kaplayacağını aşağı yukarı ortaya koyacağı için planlamanın doğru oranlarla yapılmasını sağlar.

Okumaya devam edin...