Arşivler: 2009

SQLCMD Aracı

Yorum Yapılmamış

26/11/2009 at 12:37Kategori:.Net

MSSQL ve .NET ile projeler üretirken işimizi kolaylaştıracak araçlar ve sihirbazlar arasında tabiki komut satırından çalışan araçlara ihtiyacımız olmuyordu. Dün müşterilerden birisinin bilgisayarına teamviewer ile bağlanıp bilgisayarda SQL Management Studio olmadığını anlayınca ilk olarak uzaktan SQL Management Studio ile bağlanmayı denedim. Modemden kaynaklanan sorunlar nedeniyle bir türlü ateş duvarını aşamadık. İnternetten herhangi bir yönetim aracı indirmek yavaş internet bağlantısı nedeniyle imkansız gibi görünüyordu ve  o anda aklıma Oracle SQLPLUS geldi. SQLCMD i bilmeden görmeden SQLPLUS ile tanışmam biraz da Microsoft’un bu tür araçlara bakış açısından kaynaklanıyor olabilir çünkü SQLCMD artık kullanılmayan bir araç olarak görünüyor internette.   Ama oracle ile uğraşırken SQLPLUS aracının komut satırından çalışan ve çok marifetli bir araç olduğunu öğrenmiştim. SQLCMD ile bağlanıp veritabanını oluşturmam ve veritabanı tablolarını ve ilişkilerini düzenleyen SQL scriptini çalıştırmam gerekiyordu. Biraz araştırma sonrasında benim işimi görecek komutları toparladım.

Önce veritabanı dosyasını oluşturmak gerekli. Bunun için komut satırını açarak SQLCMD ile giriş yapıyoruz.

> sqlcmd –S .\SQLEXPRESS

burada .\SQLEXPRESS kısmına SQL Servisinin ismini yazmamız gerekli.

> create database TREEM
> GO

Burada veritabanının ismini vererek veritabanı oluşturduk. GO deyimi transact-SQL için ifadenin bittiğini ve buraya kadar olanı uygula anlamında kullanılan bir anahtar sözcük. Örnek olarak bundan sonra yaptığımız işlemlerin TREEM veritabanı üzerinde uygulanmasını istiyorsak

> USE TREEM
> GO

ile bunu sağlayabiliriz.

Veritabanı hazır olduktan sonra SQL Scriptini çalıştırma vakti geldi. Bunun için de yeni bir komut satırında

> sqlcmd –S .\SQLEXPRESS -i C:\SqlScript.sql

Burada script dosyasının yerini belirtmemiz gerekiyor.

SQLCMD ile  2. Round

Tam kurtuldum dediğim anda client programının biryerinde tarih formatından kaynaklanan bir hata baş gösterdi ve tüm uğraşlarıma rağmen bir daha SQL Datetime kullanmamaya yemin ettikten sonra client programındaki SQLDatetime kullanan alanları string kullanacak şekle getirdim ve veritabanında küçük bir değişiklik yapma gereksinimi böylece ortaya çıkmış oldu. İşlemler tablosundaki datetime olan islemTarihi alanı varchar(50) olarak değiştirilmeliydi ve ben yine SQLCMD ile başbaşaydım. Bu kez yine eksik Oracle çalışmalarımın meyvesini yemeye başladım ve benim de kendime hayret ettiğim bir alter table komutu ile bu sorunu da bertaraf ettim.

> SQLCMD –S .\SQLEXPRESS –U sa –P 1111
> USE treem
> GO

>alter table tbl_islemler alter column islemTarihi VARCHAR(50)
>GO

bu komutlarla önce süper user olarak kullanıcı girişi yaptım. –U parametresinden sonra kullanıcı adı ve –P parametresinden sonra da parola girilmeli. tbl_islemler tablosundaki islemTarihi kolonunun veri tipini de VARCHAR(50) olarak değiştirdim. Burada ilginç bir nokta olarak belirtmek gerekirse, eğer SQL Management Studio ile bu işlemi gerçekleştiriyor olsaydım bu veritipi değişikliğine izin vermeyecekti ve önce tbl_islemler tablosundaki tüm veriyi silmem gerekecekti. SQLCMD ile yaptığım işlem sonucunda programdan sorgu sonuçlarına göre bu komutlar sonrasında tablodaki veriler zaten otomatik olarak silinmişler.

SQLCMD ile ilgili güzel bir deneyim yaşamış oldum. Artık elimin altındaki bu aracı hep kullanmaya çalışacağım.

Glassfish Server Kurulumu

Yorum Yapılmamış

24/11/2009 at 16:33Kategori:GNU/Linux | Java

GlassFish uygulama sunucusunu kurmak için öncelikle ilgili adresten indirme yapıyoruz.
Burada Sun Glassfish 2.1.1 sürümünü kullanacağız. JAVA_HOME değerini JDK 5 veya 6 kurulumumuzun yolunu gösterecek şekilde ayarlıyoruz. Windows için environment variables ayarlarını sistem özelliklerinden ileri sistem ayarları bağlantısındaki Environment Variables kısmında JAVA_HOME değerini ekleyerek ya da değiştirerek benim bilgisayarımdaki kurulum için C:\Program Files\Java\jdk1.6.0_16\ değerine getirerek yaptım. Jdk yolu sisteme göre ve versiyona göre değişebilir. Ben eclipse, eclipse çalışma alanı ve uygulama sunucuları ile diğer modüller için diğer disk bölümünde oluşturduğum E:\development klasörüne kurulum yapacağım. İndirdiğim glassfish-installer-v2.1.1-windows-ml.jar dosyasını bu dizin altına kopyaladım. Shift tuşuna basılı tutarak development klasörü içinde bir yere sağ tıkladığımda Open Command Windows Here komutuyla bulunduğum dizinde bir komut penceresi açıyorum.
Komut satırında
java -Xmx256m -jar glassfish-installer-v2.1.1-windows-ml.jar
ile glassfish dosyaları aynı dizine açılıyor. Oluşan glassfish klasörü için komut satırında
cd glassfish
lib\ant\bin\ant -f setup.xml
(ANT_HOME değişkeninin ayarını da sistem değişkenleri kısmında tanımlayabilirsiniz. Benim kurulumumda E:\development\glassfish\lib\ant değerini ANT_HOME değişkenine ekledim.)
komutlarıyla sunucumuzu yapılandırıyoruz.
Bu adımlardan sonra domain1 adında yeni alanımız oluşturulmuş oldu.
cd glassfish
cd bin
asadmin start-domain domain1
komutuyla sunucumuzu başlatabiliriz.
Http://localhost:8080 adresinden sunucuya ve http://localhost:4848 adresinden yönetici girişine ulaşabiliriz.
Glassfish sunucumuzu durdurmak için
cd glassfish
cd bin
asadmin stop-domain domain1
komutunu kullanabiliriz. Bu adımlardan sonra deploy etmek istediğimiz projeyi http://localhost:4848
adresinden deploy edebiliriz.

Eclipse ve Visual Editor

Yorum Yapılmamış

23/11/2009 at 16:05Kategori:Java

Java ile haşır neşir olurken yapılan en büyük hatalardan birisi IDE ayrımına gitmek. Söylediklerimi bende başkalarından duyduğumda önemsiz olarak niteliyordum ve Netbeans'dan başka birşeye ihtiyacım olacağını sanmıyordum ama jBoss Seam konularında eclipse ile çalışmaya  ihtiyacım olacağını gördüm. Ek olarak eclipse görünüm olarak editörler arasında en rahatı diyebilirim. Linux ve windows üzerinde çok güzel çalışıyor. Önceden de birkaç defa eclipse denemelerim olmuş fakat Visual Editorün kurulumunun anlatımlardaki kadar kolay olmadığını düşünmüştüm. Bu kez hızlıca Eclipse Galileo for JavaEE yi indirdim ve önce jBoss AS ve jBoss seam ile uğraştıktan sonra visual editor kurarak asıl ilgilenmem gereken alana geçeyim dedim ama o da ne! Ne yaparsam yapayım visual editor için gerekli olan kurulumu yapamıyorum. Ne yaparsam yapayım IDE ile Visual editor'un bağımlılıkları çakıştığı için kurulum yapılamıyor hatasının ingilizcesini aldım ve kurmaktan vazgeçiyordum ki Visual Editor Project sayfasında dökümantasyonda Visual Editor 1.4 sürümünü Eclipse Galileo JavaEE üzerine kurmaya çalışmayın yazıyor. Tekrar eclipse indirmesi yaptım ve Eclipse Galileo for Java Developers sürümüne başarıyla kurdum. Kurulum için bilgi verecek olursak http://www.eclipse.org/vep/downloads/ adresinden  indirdiğiniz paketi Eclipse ->Help->Install New Software ->Add->Archive diyerek zor olan yoldan(!) ya da Add->Site adı kısmına VE, location kısmına da http://download.eclipse.org/tools/ve/updates/1.4/ yazarak gelen paketlerden Visual Editor'ü seçerek kurulumu tamamlayabilirsiniz. Daha sonra Visual Editor kullanarak sayfaları düzenlemek için açık olan J2SE projenizde Add->New->Other->Swing ya da SWT kısımlarındaki Visual Class sonekli dosyalardan oluşturabilirsiniz. Kurulum için bu saçmalıkları okumadan direk dökümantasyondan bilgi edinebilirsiniz.( http://wiki.eclipse.org/VE/Update )
Bol Visual Editörlü Günler!

3G İle İnternet

2 Yorum

23/11/2009 at 15:22Kategori:Bilgisayar

Uzun zamandır blog yazmadığımı düşünüyorum ve yazmayı bırakınca her geçen gün daha da uzaklaştığımı hissediyorum. Bugün iki aydır kullanmakta olduğum 3g internet  hakkında bilgi vermek istedim. Birkaç gün araştırma yaptıktan sonra Vodafone üzerinde karar aldım ve uzun süren taksit ve taahhütnamelerden haz duymadığım için modem ücretini de peşin ödeyerek aylık 40 TL olan 5GB internet paketine abone oldum. İki ay önce bu yazıyı yazmayı düşünmüştüm fakat test aşamasından sonra yazarsam daha doğru bilgiyi paylaşabileceğimi düşündüm. Öncelikle 3g internetimle hiçbir zaman hız konusunda sıkıntı çekmedim. Şehir merkezlerinde en kötü ihtimalle 4.5 - 5 mbit indirme(download) ve 1.75-2.25 mbit gönderme(upload) hızlarına ulaşıyor.  3g hattı bulunmayan bölgelerde ise EDGE hızında bağlantı gerçekleştiriyorum. EDGE hakkında büyük bir önyargıya sahip olduğumu da bu zamanda farkettim çünkü bazen evdeki ADSL modemimin kablolu olmasından dolayı kabloyla uğraşmaktansa EDGE ile internete giriyorum. Çok yüksek miktarda indirme ihtiyacınız yoksa edge ile her işinizi görebilirsiniz.Ayrıca EDGE fiyatlarına dikkat etmek gerekli. Vodafone için bir paket aldıktan sonra EDGE ya da 3g ile bağlanmanızın bir farkı yok ama bazı operatorler edge üzerinden müşterilerinin canını yakıyormuş haberiniz olsun. Modem konusunda ek bir bilgi vermek gerekirse reklamlarda bolca gösterilen beyaz, kapaklı modemler pek de başarılı görünmüyor. Arada 50 tl fark ödeyeceğiniz siyah ve otomatik usb mekanizmalı modemler daha başarılı görünüyor. Yan yana duran iki bilgisayarda takılı olan beyaz ve siyah modemlerden beyaz 3g şebekesi bulamazken siyah modem iyi kalitede 3g şebekesi bulduğunu söylüyor. Bu arada modemlerin adı tabiki beyaz ve siyah modem değil. Siyah olan modemin adı K3715 HSPA USB Stick. Beyaz modemin adını bilemeyeceğim. Ayrıca upload hızını da beyaz modemle yakalayamazsınız çünkü o modemde upload için belirli bir sınır var.
Bu kadar yüksek miktarda upload yapaceğimi görünce 40 tlye ev sunucusu gibi şeyler benim de aklımdan geçti ama upload miktarının da kotaya dahil olduğunu anlayınca vazgeçmek zorunda kaldım.
Vodafone'u tercih etmemdeki sebeplerden birisi de yurtdışında bu işi yıllardan beri yapıyor olması ve linux için sürücüsünün de desteklenmesiydi. Abone olduktan sonra Türkiye'deki modeller için linux desteğinin olmadığını sonradan anladım. Destek derken istediğim kurumun sürücü ve teknik olarak linux'a destek vermesiydi. Linux çekirdeğinin modeme doğrudan destek verdiğini öğrendim. Ubuntu ya da başka bi dağıtım için modemi takar takmaz sistem ,kontorlü ya da faturalı seçeneklerinden birisini seçmenizi istiyor ve varsayılan ayarlarda vodafone için kullanıcı adı ve şifre telsim olarak geliyor bu ayarları vodafone yapmanız ve apn kısmını da internet olarak ayarlamanız gerekiyor. Tek sorun kotayı internetten kontrol edemediğiniz için linux üzerinde bi kota programı kullanmanız gerekiyor. Ayrıca modemin arayüzünü göremediğim için kurduğum tüm kota programlarında başarısız oldum. Diğer bir sorun ise Vodafone SMS ile sorgu gönderip kotanızın yaklaşık nerelerde olduğunu öğrenebiliyorsunuz fakat vodafone client programı yine linux için olmadığından  modem içindeki sim kartınızı bir telefona takıp sms göndermek ve gelen smslere bakmanız gerekiyor. Modemimi linux üzerinde kullanma fikrini biraz ertelemeye karar verdim.
Sonuç olarak 3g hakkında yazı yazmak benim için çok gereksiz birşeydi başta.  Fakat sonradan 3g hakkında yazılanları görünce yeni teknolojileri bizlerin öğrenip insanlara anlatmamız gerektiğini düşündüm ve bu yazıyı yazdım. Çünkü insanlar bazen yeni şeylere öcü gibi bakıyorlar. Bu düzen içinde yaşıyorsak gücümüz yettiğince yenilikleri kullanmalı ve kullandırmalıyız. Tarihte de artık icat edilecek herşeyin icat edildiğini bundan sonra adam akıllı bişey bulunamayacağını ya da otomobilin sadece  boş bir heves olduğunu ya da atların insanlar tarafından her zaman kullanılacağını söyleyen büyükler olmuştur. Büyük sözler söyleyenlere bu örnekleri hatırlatmak gerekir.

Sanaldaki Linux Server

Yorum Yapılmamış

28/10/2009 at 19:19Kategori:GNU/Linux

Uzunca bir aradan sonra tekrar merhaba. Bugün benim çok hoşuma giden yeni bir linux macerasından söz edeceğim. Bu yazıdaki anlatılanları uygulayabilmeniz için sanal işletim sistemi çalıştırabilecek bir bilgisayara virtualbox ve ubuntu server 9.04 cd ye ihtiyacınız olacaktır. Amacımız gerçek bir Linux serverin bize verebileceklerini sanaldaki sistemimizden alabilmek. Filezilla, Putty ile bağlantı yapmak ve server üzerinde çalışan Apache sunucusunu bizim sistemimizden çalıştırabilmek.

Her zaman windows işletim sisteminden kopamayan ama elinin altında bir linux kurulumu olmasını isteyen birisi olmuşumdur. Üniversitede okutulan dersler ve sektördeki bazı işler windows kurulumunun olmasını zorunlu hale getirebiliyor. Hal böyle olunca linux üzerinde ihtiyacınız olan tüm programların düşük performanslı çalışan windows eşdeğerlerini bulmak zorunda kalıyorum. Bugün VirtualBox üzerinde ubuntu 9.04 kurulumu için kolları sıvadım. Kurulumu önceden defalarca yaptığım için fazla zorluk çekmedim.

Kurulum notu: Ubuntu server kurulumunda LAMP(Linux Apache mysql Php), Tomcat6, OpenSSH kurulumu yapmanız aşağıdaki örnekleri gerçekleştirmek için gerekli olacak.

VirtualBox üzerine bir Ubuntu Server kurduktan sonra ilk yapmamız gereken serveri kapatmak. Daha sonra
C:\Users\{user_name}\.VirtualBox\Machines\ altında servera verdiğiniz isimde bir XML dosyası olacaktır. bu dosyada
anahtarları arasına aşağıdaki anahtarları ekleyeceğiz.

<br /><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort"' value='"2222"'><br /></extradataitem><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort"' value='"22"'><br /></extradataitem><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol"' value='"TCP"'><br /></extradataitem><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort"' value='"8888"'><br /></extradataitem><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort"' value='"80"'><br /></extradataitem><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol"' value='"TCP"'><br /></extradataitem><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/tomcat/HostPort"' value='"9090"'><br /></extradataitem><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/tomcat/GuestPort"' value='"8080"'><br /></extradataitem><extradataitem name='"VBoxInternal/Devices/pcnet/0/LUN#0/Config/tomcat/Protocol"' value='"TCP"'><br />

Bu kodlar ile portları eşleştirmiş oluyoruz. anahtarlarda geçen tomcat- apache- ssh isimlerinin bir önemi yok. Yani istediğimiz kadar port eşleştirmesi yapabiliriz. Dikkat etmemiz gereken nokta host ve guest olarak verdiğimiz portların host değerlerinin bizim bilgisayarımıza, guest değerlerinin de server sistemin portlarına işaret ettiğini bilmek. Diğer bir konu da bilgisayarımızda kullanılan portları kullanmamak. Eğer sistemimizde bir tomcat kurulumu varsa 8080 portu boş olmayabilir. Bu durumda başka bir değerle değiştirmesiniz.

 

Sanal Ubuntu Serverı şimdi bu ayar dosyasına göre başlatırsak ve eğer hata mesajı ile server kapanmamışsa yaptığımız değişiklikler çalışıyor demektir.  İlk olarak 2222 portunu Putty ile test edelim.

Capture

Capture2

Host olarak her zaman 127.0.0.1 ya da localhost kullanacağız. Gördüğünüz gibi artık uzak bağlantımı sağladım. Sanal makina bana ne kadar da uzak değil mi :=)

Diğer işlem de yine SSH kullanarak Filezilla ile linux dosya yapısına erişmek.

Capture3

Burada sftp:// protokolü ile erişildiğine dikkat etmelisiniz. Kullanıcı adı ve şifre linux oturum açma bilgileriyle aynı. Her alana yazamayacağınızı da hatırlamanız gerek. Eğer bir dizine yazma hakkı elde etmek istiyorsak chown kullanabiliriz.
(sudo chown -R kullaniciadi /var/www/  ) gibi.

Apache ile Php sayfalarını çalıştırmak için de Filezilla ile bağlanıp /var/www/ altına php dosyalarımızı atabilir ve http://localhost:8888 yolunu izleyerek windows sistemimizden sonuçları görebiliriz. Apache Tomcat için de yine aynı şekilde servlet çalışmalarımızı http://localhost:9090 adresinden tests edebiliriz.
Tomcat için jsp sayfalarımızın bulunması gereken adres:
var/lib/tomcat6/webapps/ROOT/
Benim bilgisayarımdan ekran görüntüleri:

Capture4

Capture5

Buradaki linux server sanallaştırmasının gerçeği ile herhangi bir farkı olmadığı düşüncesindeyim. Linux dolu günler dilerim :=)

Linux is like a tepee. It has no Windows, no Gates, and there is an Apache inside

Cloud Computing Nedir?

Yorum Yapılmamış

20/09/2009 at 02:48Kategori:Bilgisayar

images.jpgCloud Computing basit olarak düşünülürse bilgisayar programlarının ve sistemlerinin kısmen ya da tamamen web ortamına taşınmasıdır. Yani önceden hard diskimizde kurulu olan veya işyerindeki ağ üzerinde çalışan programlarımız web ortamına taşınıyor. Geniş kapsamlı olarak düşünürsek yazılımları servis olarak(software as service), servisleri platform olarak (Platform as a Service), alt yapıyı servis olarak (Infrastructure as a Service) sunan bir yapı ile karşı karşıyayız. Tabi tam olarak görüp denemeden anlatmak vizontele gibi bir komediye de yol açar mı bilmem ama zaten biz servisleri uygulamalarda kullanıyorduk. Burada sadece daha yaygınlaşmış ve standartlara göre düzenlenmiş , kurumsal alanda kullanımın ön plana çıktığı bir sistem oluşturuluyor. Burada google ofis programlarını örnek verebiliriz. Google servisleri tüm insanlığa açık olan bir sistem özelliği taşıyor. Cloud Computing kullanılarak oluşturulabilecek sistemler genel kullanıma açık ya da belirli bir kullanıcı grubuna açık olabileceği gibi bir güvenlik duvarının arkasında daha kısıtlı kullanıcıları da olabilir. Ayrıca bu tekniklerin tümü kullanılarak bazı kısımları genel, bazı kısımları ise daha özel kullanımlar için ayrılabilir.

Uygulaması ise çok daha güzel. Web barındırma hizmeti alır gibi , bu hizmeti veren şirketlerden Cloud Computing hizmetini satın alıyorsunuz. Hizmetleri almak kullanmak da kolay. İstediğiniz zaman bırakabiliyorsunuzve kullandığınız kadar ödüyorsunuz. Ölçeklendirmek de oldukça kolay. Yani bu işler genel olarak paraya bakıyor :) Paranız varsa bulutların üzerinde yürümek çok kolay. Şimdiden Amazon, Sun, Microsoft gibi şirketler reklamlarını yapmaya başladılar. Zaten bu yazıyı da Sun Microsystems 'in mail kutuma gönderdiği dökümanlardan derleyerek yazıyorum. Cloud Computing alanında da kesinlikle açık kaynak, kapalı sistem gibi ayrımlar olacağa benziyor. Tabi burada sistemle ilgilenen, servisi satan şirket olduğu için linux yada windows hosting almak arasında ne kadar fark varsa servisler arasında da o kadar fark edecektir. Platformlardan çok markalar ön plana çıkacak gibi duruyor.

Uygulamada sıkıntılar da yok değil. Bir şirket Cloud Computing hizmeti veren bir şirketle anlaştı ve tüm sistemini cloud computing standartlarında kullanıyor. Bir süre sonra bizim Bulut hizmeti veren şirketimiz yağmur olarak yeryüzüne düştü ve ortada servis de kalmadı veri de. Böyle senaryolar karşısında kurumlar mağdur olmamak için tabiki büyük yazılım şirketleriyle çalışmak isteyeceklerdir. Bu durumda da sorunlar ortaya çıkabilir. Bulut da olsa sonuçta bir bilgisayar topluluğundan bahsediyoruz ve burada alt yapıdaki işletim sistemi büyük rol oynayacaktır. Yazılım devi bir şirket kendi çalıştığı kurumların vazgeçilmezi olabilmek adına bazı kapalı sistemlere yöneleceklerdir. Bu durumda servis aldığınız şirketi bırakıp başka bir şirkete sisteminizi taşımanız da zorlaşacaktır. Bu gibi senaryolar için Open Cloud Manifestoyu imzalamış olan şirketlerle çalışmak ortaya çıkacak sorunları bertaraf edebilir.

Diğer bir alan ise yazılım lisanslama. Belki 10 yıl sonra değil ama 40 yıl sonra tüm yazılımları servis olarak aldığımızı düşünelim. Crack, warez, serial, keygen gibi hileler son bulacaktır, tüm dinlediğimiz mp3lerimiz, izlediğimiz filmlerimiz birer servis olacak, ödediğimiz kadar yararlanacak, yararlandığımız kadar ödeyeceğiz. Tüm bilgisayarımızın , dökümanlarımızın internete taşınması olarak düşünebiliriz bunu. Tabi bunların gerçeklenmesi zor değil ama yaygınlaşması zor. Hala bazı kuruluşlarda milattan kalma yazılımlar kullanılıyor, kullanan da memnun , kullandıran da. Bu durumlarda özgürlükler devreye giriyor ve hizmet olarak özgürlük( liberty as a service) diyip insanları kendi seçenekleriyle başbaşa bırakmak kalıyor.

Oracle Concept Guide

Yorum Yapılmamış

17/09/2009 at 02:09Kategori:Bilgisayar | Java

Oracle çalışmalarıma devam ederken SQL Fundamentals konusunda sadece SQL komutlarını görmekten sıkıldım ve daha effective(!) nasıl çalışılır diye araştırmaya başladım. Effective, efficiently, concurrency,consistency gibi kelimeleri Oracle çalışırken yüzlerce defa okuyorsunuz ve bir süre sonra olur olmadık yerlerde kullanmaya başlıyorsunuz. Oracle nasıl çalışılmalı konusunda yaptığım araştırmanın sonucu şöyle:

1. Oracle çok geniş bir konu. Örnek vermek gerekirse bir zamanlar microsoft.net frameworkün gerçekten çok geniş ve kapsamlı olduğunu düşünürdüm. Formlar ve uygulamalar Oracle denizinde sadece küçük bir ada. Bu kadar geniş bir konuda ve 20.000 sayfa döküman içerisinde çok okumak ve yaptığın işi seviyor olmak gerekli.

2. Başlangıç olarak önerilen ilk duraklardan birisi Oracle Concept Guide. Oracle dökümantasyonu içerisinde" A Guide to Guides" özelliğini taşıyor. Bağlantılarla konular hakkında derinlemesine bilgi alabileceğiniz gibi ilk etapta sistemi anlamak için okunması gereken 438 sayfalık mini kitap :)

3. Oracle Concept Guide okurken bir yandan da SQL Fundamentals sınavına hazırlanacak şekilde çalışmak mantıklı olabilir. Burası aslında bildiğimiz ya da bilmediğimiz SQL kısmı, üzerine oracle 'a özel konular da eklenmiş ve tam bir Oracle SQL kılavuzu.

4. Daha sonra ise Tom Kyte 'nin kitabı olan Effective Oracle by Design gelir demişler ve gerçekten inceleme imkanı bulduğum kitaba , bir an önce Concept Guide'ı bitirip başlamak istiyorum.

5. Effective Oracle by Design isimli kitabı okuduktan sonra yol haritası sıkıntımız ortadan kalkıyor çünkü kitap bu yönde de bilgi veriyor.

6. İş bu kadarla da bitmiyor. okuyorsunuz, okuyorsunuz , okuyorsunuz. Özellikle yanına biraz da Java katabilirsek çok daha güzel şeyler ortaya çıkacaktır. Bir de linux kısmı var tabiki. Oracle windows üzerinde tek thread olarak çalışıyor ve 300 mb kadar bellekte tek thread geziniyor. Linux işletim sisteminde ise parçalar halinde çok sayıda thread var. ilk görebildiğim izlenimlerim bunlar ama sanırım Oracle Uzmanı olmak , linux işletim sistemini de bilmeyi gerektiriyor.

Şimdilik bu kadar. Oracle çok büyük bir konu ve çok çalışma gerektiriyor. Bize de büyük işler lazım :) Oracle ve Java konusundaki yazılarıma yeri geldikçe devam edeceğim.

Sık Kullanılan Uygulamaları Ön Yükleme

Yorum Yapılmamış

13/09/2009 at 21:19Kategori:GNU/Linux

Linux işletim sisteminde de kullanılabilen bir ön yükleme mekanizması varmış. Böylece hergün kullandığımız uygulamaları kullanırken zaman kazanabiliriz. Bu özelliği etkinleştirmek için:

sudo apt-get install preload komutunu kullanabilir.

LİNUX ÇALIŞMA ORTAMINI GÜÇLENDİRMEK

4 Yorum

13/09/2009 at 03:30Kategori:GNU/Linux | Java

Linux ile bazı sebeplerden dolayı haşır neşir oluyorsanız linux vazgeçilmezlerinden olan LAMP, JAVA gibi paketleri de tanıyorsunuzdur. LAMP (linux – apache- mysql-php) gerçekten etkili bir uygulama geliştirme ortamı. PHP ile web geliştirme yapmasanız bile bilgisayarınıza fazla bir yük olmadığı için (IIS ile bu konuda kıyaslanamaz bile) kurmanızda fayda vardır. JAVA ise açık kaynak yazılımların lokomotifi diyebiliriz. Hızlı ve etkili bir framework ile desteklendiği için çok uzun projelerden tutun da kısa küçük programcıklar yazmak için bile uygun bir ortam. (Sadece 15 mb jre indirilmesi/kurulması gerekiyor ki bu çok küçük bir rakam.)
Ben de linux işletim sistemini kurduğumda ilk yaptığım işlerden birisi bu araçları kurmak oluyor. Tabi yanına GNU felsefesine uymadıkları için dağıtıma dahil edilmeyen paketleri de kurmak zorunda kalıyorum.Şimdi kurduğum programları ve uyguladığım ayarları kısaca aktaracağım.
1.Öncelikle yeni yüklediğimiz için sistemimizi son paket listelerini indirerek güncelleyelim.
sudo apt-get update
2.JAVA sanal makinasını ve geliştirme ortamını kuralım:
sudo apt-get install sun-java6-jre sun-java6-jdk
3.LAMP kurulumu için ubuntu 6.06 sürümünden itibaren yeni bir komut geliştirilmiş.
sudo tasksel install lamp-server
Böylece tek adımda apache-mysql-php kurulmuş oluyor.
4.Sıra geldi kısıtlı olduğumuz bazı konulara. Yazı tipleri, media codec paketleri ve flash oynatıcılar, mp3 codecleri. Neyseki tek bir paket ile hepsini halledebiliryoruz.
sudo apt-get install ubuntu-restricted-extras
5.Bu kadar kurulumu yaptıktan sonra sistem güncelleme aracı ile sistemimi güncelliyorum ve artık bilgisayarımı kendime göre dizayn etmeme az kaldı diyorum.
6.Sonraki adımım masaüstü simgelerini windowstan alıştığımız şekilde ayarlamaya geldi. Özellikle belgeler, geri dönüşüm kutusu, bilgisayar gibi öğeler alışkanlığa sahip biriyseniz işinizi kolaylaştırabiliyor. Bunun için konsolda
gconf-editor yazıyorum. Burada gelen tree-view den
apps->nautilus->desktop seçiyorum. Burada yanda gördüğüm computer-icon_visible, home_icon_visible gibi anahtarlardan istediklerimi seçiyorum ve pencereyi kapatıyorum.
7.Ubuntu ile tanımlı gelen 96 DPI çözünürlük kurduğum tüm bilgisayarlarda simgelerin ve yazıların alışılmışın aksine büyük görünmesine yol açıyor. Okumada yardımcı olsa da çalışma alanımızın daralmasını istemeyiz.
System->Appearance->Fonts->Details kısmından 96 değerini 85 değerine çekerek görüntüleri düzenliyorum.
Böylece sistemimi istediğim gibi ayarlamış oldum. Bu aşamadan sonra Add/Remove ile html düzenleyiciler, editorler, pdf araçları, gibi ekstra istediğim yazılımları ve kendi indirmiş olduğum ve kullanmak istediğim yazılımları (Oracle DB, Netbeans) kuruyorum. Netbeans IDE nin hep bir önceki sürümü depoda bulunuyor.
8.Sisteminiz o kadar sakin çalışıyor ki sistemi yormak ve ona yüklenmek isteyebilirsiniz. Bunun için de özelleşmiş araçlar bulunmakta. 3 gb ram belleğinizin yarısını kullanabilmek için ubuntunun kullandığı 300 mb bellek üzerine 2 adet (VirtualBox kullanarak) sistem yüklerseniz (özellikle windows ürünlerini seçiniz) bellek kullanımınız neredeyse 2.5 gb gibi bir rakama ulaşabiliyor. Ayrıca biraz daha zorlarsanız şirinleri de görebiliyorsunuz :)
Not: Paket yöneticisinde gelen VirtualBoxOSE(Açık kaynaklı olan versiyonu) bir yerden sonra sanal makinanıza işlemci gücü ayırmayı bırakıyor ve her ne iş ile uğraşıyorsanız o iş de öylece donakalıyor. Bu bir bug olabilir fakat open source hastası değilseniz VirtualBox sitesinden Ubuntu için indirmeyi yaparsanız ve .deb paketine çift tıklayarak kurarsanız sanal makinalarınızdan daha iyi performans alabilirsiniz. VirtualBox kurulduktan sonra menulerde görünmezse konsoldan VirtualBox yazarak çağırabilirsiniz ve menuleri düzenleyip virtualboxın menu altındaki yerini değiştirirseniz sorunu gidermiş olursunuz.

Son olarak benim masaüstü görüntüm şöyle:

Screenshot

Oracle 11g Kurulumum

Yorum Yapılmamış

08/09/2009 at 00:09Kategori:Bilgisayar

Oracle dökümantasyonunu indirip kurulum ve concepts kısmını okuyarak heyecanımı iyice artırdıktan sonra OracleXE kurulumunu indirip hızlıca yönetim paneline giriş yaptım. Fakat tam olarak aradıklarımı bulamadım. 11g dökümantasyonunu okuyarak Oracle10gExpress üzerinde çalışma yapmanın bazı eksiklikleri doğurabileceğini düşünerek bu kez Oracle 11g Enterprise indirdim. Oracle kurulumlarının en beğendiğim özelliği yazılımları indirip istediğiniz gibi deneyebiliyorsunuz. Ayrıca trial değil tam sürüm. Destek almak ve ticari olarak kullanmak istediğinizde lisans almanız gerekiyor. Ayrıca java geliştiricileri için jDeveloper tüm araçları içinde bulunduran güzel bir IDE.
Konuyu fazla uzatmadan benim ilgilendiğim kısma tekrar dönersek, Oracle konusunda yaptığım ikinci büyük hata Enterprise Kurulumunu dizüstü bilgisayarımda denemek oldu. 3gb ram ve centrino duo 2.0 işlemciye rağmen bilgisayarımın açılması için 2 dakika beklemek zorunda kaldım. Ayrıca 300 mb bellekteki kullanım artışı uzun süre çalışan bir bilgisayar için büyük yük getiriyor. Kısaca  bilgisayarınızı uzun süre yormak istemiyorsanız(ki pil ömrü de azalacaktır) oracle kurulumunu yapmamanız gerekiyor. OracleCommunity üzerinde açtığım konuya Sayın H. Tonguç Yılmaz bugün cevap vermiş ve sanal bir sistem üzerine kurulum yapmanın çözüm olabileceğini paylaşmış.  Sanal bir sistem üzerinde yapılan kurulum belki çalışırken 200 mb kadar fazla bellek ihtiyacı doğursa da her zaman  bilgisayarda Oracle Database kurulumu ile çalışmaktan daha iyidir diyerek oracle veritabanını sanal bir Windows XP SP2 üzerine kurdum. (Virtual Box kullanarak.)  Oracle kurulumu yapmak için dökümantasyondan öncelikle kurulum kısmını okudum. (Dökümantasyon linki burada: http://www.oracle.com/pls/db112/homepage) Ayrıca indirip local olarak da çalışıp geceyi gündüzü unutabilir iyice kafayı bozabilirsiniz. :) Oracle kurulumu için resimli anlatım: (http://www.oracle.com/technology/obe/11gr1_db/install/dbinst/windbinst2.htm). Burada oracle static IP atanmış bir ağ bağlantısı istiyor. Dinamik IP ile ya da daha farklı durumlar için Microsoft Loopback  Adapter kurulumu en sağlam çözümlerden birisi.  Loopback kurulumu için gereken işlemleri açıklayan kb yi okumak için http://support.microsoft.com/kb/839013 . Burada Loopback adapter kurulumundan sonra benim XP kurulumum yine dinamik atanan bir aygıt oluşturdu ve oracle uyarı verdi. Loopback adapter özelliklerinden tcp/ip özelliklerinde
IPAddress=192.168.5.10
SubnetMask=255.255.255.0
DefaultGateway=192.168.5.254    ve DNS için 4.2.2.1 ve 4.2.2.3 ya da Open DNS
düzeltmelerini yaptıktan sonra Oracle kurulumunum bu kez başarıyla sonuçlandı.

Böylece Oracle konusundaki ilk blog girdisini de oluşturmuş oldum. Oracle ile ilgili yazılarıma devam etmeyi düşünüyorum. Ayrıca Oracle alanında www.cagataycebi.com adresinden ileri seviye makalelere ulaşabilirsiniz.
Not: Kurulum öncesinde dil ve bölge ayarlarının İngilizce - UnitedStates olarak değiştirilmesi de oluşabilecek bir dizi hatadan korunmayı sağlayabilir.