Avi. Labs Ver.1.1

October 5, 2009

Proje Yönetimi Üzerine

Filed under: Proje Yönetimi — avilabs @ 8:34 am

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.

Serdar Günizi(Niye Projelerin Çoğu Başarısız Olur)

October 4, 2009

Sun GlassFish Enterprise Server 2.1 Admin Konsolu login sorunu

Filed under: Java, Javaee — avilabs @ 6:26 pm

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

Filed under: Haber — avilabs @ 8:21 am

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ı”

Filed under: Haber — avilabs @ 2:54 pm

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)

Filed under: Çeşitli — avilabs @ 2:27 pm

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.

Makalenin orjinali

Avilabs.
[avicennasoftwarelabs@gmail.com]

September 24, 2009

JDBC (Java Database Connectivity)

Filed under: Java Kavramlar — avilabs @ 1:11 pm

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ığı)

Filed under: Java — avilabs @ 5:05 pm

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.

600px-Process_states.svg

  • Ö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

Albüm

Filed under: Çeşitli — avilabs @ 10:41 am

Paylaşmak istedim.. güzel bir albüm..

The Shanghai Restoration Project

Albümden bir parça…

August 3, 2009

SIP nedir?

Filed under: Voip/SIP — avilabs @ 3:06 pm

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]

Create a free website or blog at WordPress.com.