TBD (Türkiye Bilişim Derneğinin) ‘nin sitesinden okunabilen bilişim dergisinin 113. sayısında yazılım projelerinin başarısız olma sebeplerini inceleyen Serdar Günizi’nin makalesinin yazılımla ilgili olan herkes için faydalı bir kaynak olacağı inancındayım. Makaleye aşağıdaki linkten ulaşabilirsiniz.
October 5, 2009
October 4, 2009
Sun GlassFish Enterprise Server 2.1 Admin Konsolu login sorunu
Glassfish Server 2.1 yüklemesi sırasında yönetim ekranına giriş yaptığım zaman hata veriyordu ve yönetim ekranına ulaşabilmek için sayfayı tekrar yenilemeniz gerekiyordu. Bu arada belirtmeliyim ki sorun aldığım bilgisayarda “windows XP English” yüklü , bölgesel seçenekleri ise türkçe. Sorundan şu adımları izleyerek kurtulmamız mümkün.
1. Bilgisayarınızdan “D:\Sun\AppServer\domains\domain1\config” şu yola gidin.
2. “domain.xml” dosyasını açın ve jvmoptions yazan ayarları bulun şu satırları ekleyin.
“<jvm-options>-Duser.language=en_us</jvm-options>”
3. Serverı yeniden başlatın sorunun çözülmüş olması lazım. Zira benimki bu şekilde düzeldi.
Avilabs.
[avicennasoftwarelabs@gmail.com]
IV. Ulusal Yazılım Mühendisliği Sempozyumu
Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü ve Elektrik Mühendisleri Odası (EMO) İstanbul Şubesi, IV. Ulusal Yazılım Mühendisliği Sempozyumu‘nu (UYMS‘09) 8-10 Ekim 2009 tarihlerinde İstanbul‘da Yıldız Teknik Üniversitesi’nde gerçekleştireceklerdir.
2003 yılını takiben her iki yılda bir gerçekleştirilen UYMS, araştırma sonuçlarının paylaşıldığı bir ortam sağlamasının yanında, ulusal yazılım mühendisliği araştırma alanının geleceğinin şekillendiği bir platform oluşturmayı başarmıştır.
Sempozyum programı içerisinde iki Eğitim Semineri yer almaktadır. Gerekli bilgilere bu adresden ulaşabilirsiniz.
October 3, 2009
Bilişim ’09 Ankara , Tema: “Teknoloji Politikaları”
Bilişim alanında verimli ve güzel bir çalışma olduğuna inandığım Türkiye Bilişim Derneğinin öncülüğünde gerçekleştirilen etkinlik duyuruldu. Organizasyonun mesajı aşağıda;
Değerli Bilişimciler,
Her yıl 10 bine yakın katılımcı ve izleyici ile buluşan sektörümüzün en büyük bilişim etkinliği BİLİŞİM ‘09 Kasım ayında ANKARA da gerçekleştirilecektir.
BİLİŞİM‘09 etkinliğinin bu yılki ana teması TEKNOLOJİ POLİTİKALARI‘dır.
Teknoloji Politikaları, günümüz dünyasında ülkelerin refah seviyesini doğrudan etkileyen sosyal ve siyasi gidişatına yön veren, gelişim ve değişimin şartlarını ortaya çıkaran politikalar olmuş ve olmaya da devam etmektedir. devamı
Virtual Machine (Sanal Makine)
Bu yazımda sanal makinelerden bahsetmeye çalışacağım ve sanal makineler üzerine derleme bir yazı oluşturacağım. Beni bu yazıyı yazmaya yönlendiren şey ise heryerde karşımıza sık sık çıkan bu kavramının öneminin nereden geldiği ve nerelerde kullanıldığını anlama çabam. Yazının sonun bu merakımı gidermek ve aynı merakı paylaşan insanlara biraz olsun yardımcı olabilmek dileğiyle….
Sanal Makine nedir?
Sanal makine bir bilgisayar sistemine var olan işletim sistemin üzerine herhangi bir hardisk bölümlemesi yapmadan yeni bir işletim sistemi kurulabilmesine olanak veren bir yapı. Bahsetmiş olduğumuz bir sisteme iki farklı işletim sisteminin yüklenmesinden ziyade bir işletim sisteminin kaynaklarını kullanarak başka bir işletim sistemenin çalışmasına imkan vermek. Örneğin mevcut windows tabanlı sisteminin üzerine kurduğunuz bir sanallaştırma yazılımıyla linux tabanlı ya da istediğiniz herhangibir x86 mimarili işletim sistemini çalıştırabilirsiniz. Aslında bu benim ve birçoğumuzun bildiği ve kullandığı senaryo benim merak ettiğim daha çok sanal makine bundan başka nerelerde kullanılır ve neden önemlidire cevap bulmak. Bu arada sanal makine kuruluşuna ve kullanımına şuradan bakabilirsiniz.
Şimdi maddeler halinde kullanım alanlarını inceleyelim;
- Yeni işletim sistemleri denemek; sisteminize yeni bir sanal makine kuruyorsunuz ve eski işletim sisteminizi hiç riske atmadan istediğiniz işletim sisteminin kurulumunu test etme ve deneme imkanı
- Yazılımı test etmek; yazılımınlarınızı farklı işletim sistemlerinde test edebilme, yazılımılarınız o sistemler üzerinde nasıl çalıştığını izleyebilme imkanı.
- Ayarlamaları kolaylaştırmak; kompleks ayarları olan sistemler oluşturduğunuzu varsayalım ve bu ayarları yapmakta zorlanan müşterilerimiz olduğunu düşünelim.Bu durumda ayarları yapılmış kalıp işletim sistemi sanal makineye yükleniyor ve işler kolaylaşıyor. Değişik işletim sistemlerini ve kullanımı ve kurulumu zor olan programları düşünürsek daha anlamlı hale gelecektir.
- Geri yükleme; mevcut sisteminizin başına bişey geldiğinde eğer elinizde aynı sistemin sanal yedeği mevcut iste , anında sanal makine yüklü başka bir sisteme yedeğinizi yükleyerek bu sorununudan kurtulabilirsiniz.
- Sistem değişikliği; yeni bir sisteme geçmek istediğinizi düşünelim örneğin xp’den vistaya sanal makineyle bu geçişi yumuşatabilir ve geçiş zorluklarından kurtulabilirsiniz.
- Eski sistemlerin korunması; daha büyük ölçekli düşünecek olursak büyük yatırımlar yapılarak alınmış ancak üzerinde tek bir işletim sistemi barındırmasından dolayı bazı kısıtlamarı olan eski sistemler sanallaştırma yöntemiyle daha yetenekli hale gelmektedir.
Avilabs.
[avicennasoftwarelabs@gmail.com]
September 24, 2009
JDBC (Java Database Connectivity)
Java programlama dilinin çeşitli ilişkisel veritabanlarıyla birlikte çalışanabilirliği sağlayabilmek için geliştirdiği arayüzdür. Daha açık bir şekilde anlatmak istersek , her veritabanı sistemi JDBC arayüzünde belirtilen tanımlamaları sağlayarak java ile birlikte çalışabilirlik elde eder. Bu tanımlaması yapılmış ve javanın desteklediği veritabanı sistemlerine bu adresten ulaşılabilir.
September 23, 2009
Process(işlem) ve Thread(iş parçacığı)
Bu yazımda “process” kavramı ile “thread” kavramı arasındaki farkı anlatacağım.
Aynı zamanda işlem yapan(concurrent) uygulamalar geliştirmede iki temel işlem birimi karşımıza çıkmaktadır.Bunlar “processler” ve “threadler” dir. “Processlerin” önemine karşılık java programlama dili thread(iş parçacığı)lere odaklanmıştır.
Günümüzde bir bilgisayar sisteminde tek bir işlem birimi olsa dahi , bu tek bir işlem birimi (işlemci) işletim sisteminin kaynak kullanım stratejisine göre her birine belli bir zaman ayırma esasına göre işlem yapmaktadır. Dolayısıyla bilgisayar sisteminde aynı anda çok sayıda thread ve process bulunmaktadır.
Process(işlem)
“Process” kendisine ait kaynakları olan işlem birimidir.Örneğin her “process” kendisine ait hafıza alanına sahiptir.
“Process” genellikle uygulamanın kendisi olarak görülür ancak bir uygulama içinde birbirine bağımlı ve ya birlikte çalışan processlerden meydana gelmiş olabilir. Processlerin birlikte çalışabilirliğinin sağlanabilmesi için çoğu işletim sistemi Inter Process Communication (IPC) diye adlandırılan yapıyı desteklemektedir, bu yapı sadece aynı bilgisayardaki processlerin birlikte çalışabilmesini değil aynı ağdaki processlerin birlikte çalışabilmesine imkan sağlamaktadır.
- Öncelikle “process” oluştrulmuş(created) duruma geçer ve ikincil bir hafıza biriminde ana hafıza (ram) birimine yüklenir.Bu aşamadan sonra bekleme durumuna geçer “waiting” olur.
- “waiting” durumunda iken işlemcinin kendine ayıracağı zamanı bekler ve işleme koyulduğu anda “running” durumuna geçer.
- Processin eğer beklemeye ihtiyacı olursa (örneğin bir kullanıcı girdisi …), “blocked” durumuna geçirilir. Kullanıcı girdisi geldiğinde tekrar “waiting” durumuna geçirilir.
- Processin işlenmesi bittiği zaman ve ya işletim sistemi tarafından sonlandırıldığı zaman; “terminated” durumuna alınır.
Thread( iş parçacığı)
“Thread”ler de “Processler gibi” işlem birimleridir ve hafifsiklet processler (“lightweight processes”) olarak adlandırılırlar. Threadler daha az kaynağa ihtiyaç duymaktadırlar. “Thread”ler bir “process” içinde yer almaktadır. Her thread mutlaka bir procecesse sahiptir ve onun kaynaklarından faydalanabilir.
“Thread” ile “Process”
“Thread”ler de “process”ler gibi uygulamalarda paralellik elde etmek için kullanılırlar. Ancak “process”ler daha bağımsız işletim birimleridir, kendilerine ait durum bilgileri, kendilerine ait adres alanlarıdır ve birbirleriyle ancak IPC mekanizması ile haberleşirler. Bir “process” birçok “thread” barındırabilir, her bir “thread” mutlaka bir “process” in içinde yer almaktadır, aynı “process” içindeki tüm “thread”ler aynı hafıza alanını ve aynı durumu paylaşır birbirleriyler direk olarak haberleşebilir zaten aynı alanı paylaşırlar.
Kaynaklar
http://ibiblio.org/java/course/week11/02.html
http://java.sun.com/docs/books/tutorial/essential/concurrency/procthread.html
http://en.wikipedia.org/wiki/Process_%28computing%29
Düzeltme ve İlavelerniz için:[avicennasoftwarelabs@gmail.com]
September 2, 2009
August 3, 2009
SIP nedir?
SIP (Session Initiation Protocol) birden fazla kullanıcı arasında medya akışını kontrol etmek için standartlaştırılmış protokoldür. SIP protkolü IETF tarafından standartlaştırılmış ve bu standartlar RFC[3261] dökümanında belirtilmiştir.
Bilgisayar teknolojisi Sun Microsystems’in o çok meşhur “Network is the computer” sloganını gün geçtikçe haklı çıkarır şekilde, tüm cihazların birbiriyle haberleşmesi üzerine şekillenmektedir. İnternete erişimimiz daha mobil hale gelmiştir, internet bantgenişlikleri giderek artmaktadır. Bu tablo içinde iki ve ya daha fazla kaynağın arasındaki medya(ses,video, veri vs.) akışını kontrol etmeyi sağlayan SIP protokolünün önemi açıktır.
Bu giriş yazımızın ardından ileriki makalelerimde protokolü daha yakından tanıtmaya çalışacağım.
İyi çalışmalar.
AviLabs.
[avicennasoftwarelabs@gmail.com]