Ana içeriğe atla

Kayıtlar

Ekim, 2016 tarihine ait yayınlar gösteriliyor

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 :)

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 ve…

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 olaca…

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ıklayara…

MongoDB'yi Windows Makinamıza Kurmak

Özellikle node.js ile proje geliştirirken kullandığımız veri tabanı MongoDB olmaktadır. Geliştirme ortamımızda MongoDB kurmak esasında çok zor değil. Bu makalede bu işlemi anlatıyor olacağım. Esasında indir ve kur olayından ibaret olan bu işlemi kısaca anlatmak istiyorum.

Bildiğiniz gibi MongoDB'nin sitesi : https://www.mongodb.com/ şeklindedir. Bu adrese girdikten sonra Download linkini tıklayarak indirme sayfasına geçiyoruz. Ben bu makaleyi yazdığımda 3.2.10 kararlı sürüm mevcut idi. Bende bunu kuruyorum.
Bu sayfada "Community Edition" altından "Windows Server 2008 R2 64-bit and later, with SSL support x64" seçeneğini seçip Download(msi) tuşuna basıyoruz. Böylece indirme işlemi başlıyor.

İndirme işlemi bittikten sonra inen dosyayı çalıştırarak kuruluma geçiyoruz. Next - Next lerle kurulumu tamamlıyoruz.

Hibernate HQL eager fetch şeklinde sorgu oluşturma

Hibernate veya NHibernate ile HQL sorguları oluştururken bazen sonuçta bağlı tablolarında sorgu sonucunda getirilmesi gerekmektedir. Bu durumda 2 yöntem kullanabiliyoruz :
1. Sorgu içinde fetch ifadesi ile bağlı kayıtlar alınabilir. Şöyle ki:
select distinct o from Order o left join fetch o.orderLines bu sorgudaki left join fetch ifadesi normal bir left join gibi çalışmanın yanında sorgunun sonucunda orderLines özelliğin değerleri de alınacaktır. Bu şekilde 2 ayrı sorgu ile sonuçlar alınacağına tek sorgu ile sonuç alınacaktır.

2. Sorguyu işe karıştırmayıp ama hibernate özellikleri ile bu bilgileri yükleyebiliriz:
Java: Query query = session.createQuery("from Order"); List result = query.list(Order.class); C#: Query query = session.CreateQuery("from Order"); IList<Order> result = query.List<Order>(); Bu sorgu ile sonucu aldıktan sonra tek tek elemanlar üzerinden orderLines elemanının yüklenmesi sağlanabilir.
Java: for(Order order : result) { Hibernat…

Java ve C# arasımdaki farklar : Out Parametreleri

Java ve C# arasındaki farkları karşıma çıktıkça sizlerle paylaşmak istiyorum. Dün kod yazarken böyle bir durum ile karşılaştım. Özellikle C# tarafında arasıra kullandığım out parametreleri maalesef java tarafında yok. Bu durumu ancak geri dönüş tipini sınıf haline getirerek java tarafında çözmeniz gerekiyor.

Şu sayfada bu konu ile ilgili bir örnekte bulabilirsiniz :
http://www.javacamp.org/javavscsharp/outparam.html

Sayfa görüntüsünü aşağıda bulabilirsiniz :

JDeveloper 12.1.2 'de web servis proxy yenilemesi sırasında hata

Merhaba eğer sizde benim gibi java ve jdeveloper kullanmak zorunda kaldıysanız başınıza böyle bir hata gelmesi mümkün. Problem jdeveloper'da web servis referansını güncellemek istediğinizde çıkıyor ve hiç bir şekilde servis referansı güncellenemiyor, üzerine üstlük önceden olan ve çalışan versiyonda bozuluyor. Bu problemi web'de arayınca problemin çözümünün bir yan yol ile çözüldüğünü öğrendim. Ki bende bu yöntemi kullanarak problemimi çözdüm.

Yan yol şöyle : JDeveloper'da yeni ve boş bir proje açıyorsunuz ve web referansınızı burada sıfırdan oluşturuyorsunuz. Sonrasında oluşan dosyaları eski projenin içine kopyalıyorsunuz. Ben işlem öncesi proje içindeki referans ile ilgili bütün dosyaları silip sonra kopyalama yaptım. Tek dosya oluşmadı. Onu'da source kontrol'den geri yükledim. Böylece problem çözülmüş oldu.

Geçmiş olsun :)

Çözüm için şu adresten yardım aldım : https://community.oracle.com/thread/2292064?start=0

Sayfa sonradan değişir veya kaybolur diye görüntüsü…