23 Haziran 2017 Cuma

Babamın durumu

Babam Mart 2017 de zatüreden hastanede yatmıştı. Bu sırada ciğerlerde bir kanser görülmüş. Bu kanserin ne olduğu ile ilgili tetkikler de başlamış. Zatüreden sonra hemen kanser ile ilgili işlemlere yoğunlaşıldı. Kalçada görülen bir kitle vardı. Ona da baktılar ama temiz çıktı. Kanser tedavisi olan kemoterapi hemen başladı. 14 haziranda ilk kemoterapi dozunu aldı. İlk günler iyiydi. 19 hazirandan itibaren durumu kötülemeye başlamış. En son 21 Haziran gecesi çok kötü olunca önce Torbalı Devlet Hastanesine götürüldü. Burada vücudundaki sodyum'un çok azalmış olmasından dolayı hemen sodyum takviyesi yapıldı. Sodyum takviyesi ancak bir oranda etkili olduktan sonra yine kötü duruma geri dönüş yapmış. Bu yüzden Bozyaka araştırma hastanesine sevkedildi. Bozyaka da önce dahiliye yoğun bakıma alındı. Ancak burada bir süre kalbi durmuş ve kalp masajı ile geri getirmişler. Sonrada genel yoğun bakıma aldılar.
Şu an yoğun bakımda hipotermi durumunda tutuluyor. Bu uygulanan tedavilerden biri. Diğeri vücudun sodyum'unu arttırmak için sodyum vermeye devam ediyorlar. Bu arada da uyutmaktalar. 23 Haziran saat 17:30 gibi hipotermi ile uygulanan tedavi bitecek ama hastane de normal mesai bittiği için nöbet mesaisi başlayacak. Bayram süresince devam edecek gibi görünüyor. Uyandırma işleminin nöbette yapma riskinin alınmayacağı söyleniyor ama durum tam belli değil.
Babam yoğun bakımda olduğu için ondan sadece günde 1 defa bilgi alabilecekmişiz ve Oda sadece mesai günlerinde. Öğlen 13:00 da yoğunbakımın dışındaki oda da ekrandan gösteriyorlar. 13:30 gibi doktor bilgi veriyor. 14:30 gibi bir kişi 5 dakikalık yanına giriyor.

Kemoterapi için bir not düşmek istiyorum. Kemoterapi sonrası her ne olursa olsun vücudun tuzunu yani sodyum'unu kontrol etmek lazım. Özellikle böbreklerde bir fonksiyon problemi olur ise babamda olduğu gibi tuz oranı düşüyor ve kemoterapi veya kanser olmasa bile bu sodyum yetersizliği insanı öldürebilir.

Başka bilgiler aldıkça buraya ekleyeceğim.

25 Ekim 2016 Salı

C#'taki lock'ın Java karşılığı

C#'ta özellikle multi-thread uygulamalarda işimize çok yarayan bir özellik olan "lock" komutu benzer kullanım özellikleri ve "synchronized" ismi ile  java'da da mevcut.

C# kullanımı olarak :
public int Next() {
  lock (this) {
    return NextUnsynchronized();
  }
}

Birebir java karşılığı :
public int Next() {
    synchronized (this) {
        return NextUnsynchronized();
    }
}

veya Java'da olan ek bir kullanımı ise :
public synchronized int Next() {
    return NextUnsynchronized();
}

C# ve Java bazı konularda birbirlerine çok yakınlar, bazı konularda da taban tabana zıtlar :)

24 Ekim 2016 Pazartesi

Mongo DB İle Çalışmak

Mongo DB yi local bilgisayarınıza kurduktan sonra bazı durumlarda verilere uygulamanız haricinde bir araç ile ulaşmak gerekebiliyor. Şöyle ki nasıl sql Server da sqlcmd veya osql var ise Mongo DB içinde böyle bir araç var. Ben makalemde size local Mongo DB ye bağlanmak için kullanabileceğim ve Mongo DB kurulumu ile gelen bu araçtan bahsedeceğim. Mongo DB kurulumundan sonra command prompt ta mongo yazıp enter a bastığınızda karşımıza Mongo DB Client gelmektedir. Bu araç ile Mongo DB'yi yönetebiliriz. Ancak burada konsolda bir uygulama kullanmanın zorluklarını yaşayacağız. 

Gelelim komutlarımıza : 
> show dbs; 
Bu komut ile bu mongo db sunucusunda ki bütün veri tabanlarının adlarını görebiliriz. 

> use test;
Bu komut ile bir veri tabanına giriş yapabiliriz. Böylece yaptığımız bütün sorgular o veri tabanı için çalışacaktır. Ayrıca bu veri tabanı yok ise oluşturulmuş olur. Bu örneğimizde test ismindeki veri tabanına giriyoruz. 

> show collections;
Bu komut ile içinde olduğumuz veri tabanının bütün koleksiyonlarını görebiliriz. Yani elimizde ne var görmüş oluruz. 

> db.users.find ();
Bu komut ile bir koleksiyondaki bütün kayıtları görebiriz. 

> db.users.find().pretty();
Bir önceki yazımdan farkı .pretty()  ile çıktının formatlanıp daha rahat okunmasının sağlanmasıdır. 

> db.users.find({username : 'alper'});
Bu komut ile koleksiyon üzerinde filitreleme yapılmaktadır. Şöyle ki username alanı alper olan kayıtlar geri göndürülür.

> db.users.delete({});
Bu komut ile bir koleksiyondaki bütün veriler silinmektedir . 

> db.users.drop();
Bu komut ile koleksiyon silinmektedir . 



23 Ekim 2016 Pazar

MongoDB'yi Çalıştırmak

MongoDB'yi development makinamıza kurduktan sonra (kurulumu şu makalemde görebilirsiniz), artık onunla çalışmamız lazım. Ancak bunun için öncelikle mongo db 'nin çalışır hale gelmesi gerekiyor. Bu işlem 2 şekilde olabilir.
1. ihtiyaç olduğunda mongodb'yi elle çalıştırabilirsiniz
2. mongodb yi windows servis olarak çalıştırıp, bilgisayar her çalıştığında otomatik olarak çalışmasını sağlayabilirsiniz.

Öncelikle mongodb'yi command prompt'dan çalıştırabilmek için bir ayar yapmamız lazım. Bunun için önceki makaleme bakabilirsiniz : http://www.alperkonuralp.com/2016/10/mongodbyi-command-prompttan-calstrmak.html

Şimdide MongoDB'nin veri tabanı dosyalarını depolayabilmesi için gerekli olan dizinleri oluşturalım.
1. Command Prompt açılır. ( bunun için start tuşunda cmd yazıp enter'e basmanız yeterli olacaktır. Ancak yönetici yetkileri ile açmak daha iyi olacağı için cmd yazdığınızda görünen programa sağ tıklayıp yönetici olarak aç seçeneği ile açmanız daha iyi olacaktır.)
2. uygun göreceğiniz bir yerde aşağıdaki gibi dizinler oluşturulur. Burada ben C:\mongodb_data dizinini kullanmayı uygun gördüm. Aşağıda bu dizin üzerinden anlatım yapılacaktır ancak siz istediğiniz dizin ismini kullanabilirsiniz.
3. c: yazıp enter'a basılır. ( Bu ne olur ne olmaz diye. Eğer zaten c: diskindeyseniz bu adımı atlayabilirsiniz)
4. cd \ yazıp enter'a basılır. Bu şekilde root dizinine çıkmış oluyoruz.
5. mkdir mongodb_data  yazıp enter'a basılır. Bu şekilde mongo db için ana bir dizin oluşturmuş oluyoruz.
6. cd mongodb_data  yazıp enter'a basılır. Bu şekilde mongo db için oluşturduğumuz ana dizine giriyoruz.
7. mkdir db  yazıp enter'a basılır. Bu şekilde db için bir dizin oluşturmuş oluyoruz.
8. mkdir log  yazıp enter'a basılır. Bu şekilde loglar için bir dizin oluşturmuş oluyoruz.
sonuçta şöyle gözükecektir:


Son olarak mongodb için bir konfigürasyon dosyası hazırlayacağız. böylede bu bilgileri sürekli girmek zorunda kalmayacağız. 
bunun için açık olan command prompt'ta aşağıdaki satırı yazıp enter'e basıyoruz:
notepad "c:\Program Files\MongoDB\Server\3.2\bin\mongod.cfg" 

boş bir notepad açılacaktır:

içine şu satırları ekliyoruz:
systemLog:
    destination: file
    path: c:\mongodb_data\log\mongod.log
storage:
    dbPath: c:\mongodb_data\db

File -> Save ile dosyayı kaydettikten sonra çıkabiliriz.


Artık yöntemimizi seçme vakti geldi. 
1. İhtiyaç olduğunda mongodb'yi elle çalıştırmak
Bu iş için bir bat dosyası yazıp onunla mongodb'yi çalıştıracağız. 
notepad "c:\Program Files\MongoDB\Server\3.2\bin\run-mongo.bat" komutu ile bu bat dosyasını oluşturuyoruz. 

içine şu satırı ekliyoruz:
"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\3.2\bin\mongod.cfg"


ve dosyayı kaydedip çıkıyoruz. 

Eğer mongodb ye ihtiyacımız olursa tek yapmamız gereken command prompt'ta şunu yazmak :
run-mongo

durdurmak için ctrl+c tuşundan sonra y ile yapılmaktadır.
İsterseniz bu bat dosyasının kısa yolunu masa üstüne alarak oradan tıklayarak açmayı da sağlayabilirsiniz.


2. Windows Servis olarak çalıştırılmasını sağlamak için aşağıdaki adımları izlememiz gerekiyor.
Bu işlem için command prompt açıp şu satırı çalıştırmanız gerekiyor:
"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\3.2\bin\mongod.cfg" --install

Bu işlem ile mongodb servis olarak windows'a kurulmuş olacaktır. Servis'i görmek için Start menüsünde services.msc yazıp enter'a basınız. Karşınıza servisler penceresi gelecektir. Bu pencerede MongoDB yi aşağıdaki gibi görebilirsiniz.
Şu durumda servis otomatik çalışma için ayarlanmıştır ancak şu anda çalışmamaktadır. Servisin adının üzerine sağ tıklayıp çalıştır diyerek servisi çalışır hale getirebilirsiniz. Durdurmak için ise yine servisin üzerine sağ tıklayarak durdur u seçebilirsiniz.



MongoDB'yi Command Prompt'tan Çalıştırmak


MongoDB'yi command prompt'tan çalıştırmak için bir ayar yapmamız gerekiyor. Bu ayarların nasıl yapıldığını aşağıda görebilirsiniz :

1. MongoDB hangi dizine kurulu : Bende "c:\Program Files\MongoDB\Server\3.2\" dizinine kurulu durumda bu yüzden aşağıdaki anlatımlarda hep bu dizin'i kullanacağım.
2. Bilgisayarım (My Computer, Computer veya This PC) üzerine sağ tıklayıp, özellikler (Properties) ekranına giriyoruz.
3. Bu ekrandan Gelişmiş Sistem Ayarlarına (Advanced System Settings) giriyoruz.
4. Karşımıza gelen ekranın alt kısmında yer alan Ortam Değişkenlerine (Environment Variables)  giriyoruz.
5. Gelen Ortam Değişkenleri ekranında 2 bölüm bulunmaktadır. Üst kısım kullanıcıyı ifade ederken burada yapılacak değişiklikler sadece çalışılan kullanıcıda aktif olacaktır. Alt kısımda ise bilgisayarın tamamında geçerli olan değerleri ayarlarsınız. Ben her iki ortam içinde ayarlama yapacağım. Önce üst kısımdaki liste içinde Path ismindeki değişkeni bulup üzerine tıklayarak seçiyoruz. Sonrada listenin hemen altındaki Düzenle(Edit) tuşuna basıyoruz. 

6. Bu pencere windows 10 da böyle görünmeye başladı. önceden daha basit bir yapısı vardı ama anlaşılabilirliği önceye göre şu anda çok artmış durumda. Konumuza dönersek, Yeni tuşu ile yeni bir yol girişi yapacağız. Yol için  C:\Program Files\MongoDB\Server\3.2\bin adresini giriyoruz.
Ekleme Öncesi :
 Ekleme Sonrası:

7. Aynı işlemi sistem değişkenleri için tekrarlayacağız. Son durumda görüntü şöyle olmalı :

8. OK ile bütün ekranları sırayla kapatıyoruz.


Şimdi sıra doğru yaptık mı kontrol etmekte. Bunun için :
a) Command Prompt açılır. ( bunun için start tuşunda cmd yazıp enter'e basmanız yeterli olacaktır. Ancak yönetici yetkileri ile açmak daha iyi olacağı için cmd yazdığınızda görünen programa sağ tıklayıp yönetici olarak aç seçeneği ile açmanız daha iyi olacaktır.)

b) mongo --version yazıp enter'a basıyoruz. Ekran aşağıdaki gibi geldi ise problem yok demektir :


Geçmiş olsun :)