Developersland

Teknoloji ve Yazılım Blogu

  • Yazıtipi boyutunu arttır
  • Varsayılan yazıtipi boyutu
  • Yazıtipi boyutunu azaltır

Spring MVC 3.0 Eğitimi - 1 (Giriş)

spring mvc eğitimiBu eğtimde sizlere spring mvc yapısını tanıtmayı amaçlıyorum. Günümüzün en popüler framework'lerinden biri olan Spring ile ilgili Türkçe kaynak bulmak gerçekten zor bu nedenle bu eğitimle Türkçe kaynak sıkıntısını da bir nebze katkı sağlamış olmak istiyorum. Spring mvc, Spring framework'ün web bileşenidir. Spring mvc güçlü web uygulamaları geliştirmek için bir çok fonksiyonellik sunar. Spring mvc framework'ü tasarlanırken yapıyı oluşturan her bir parçanın yüksek derecede yapılandırılabilir olmasına dikkat edilmiştir. Ayrıca Spring diğer popüler web frameworkleriyle ( Struts, WebWork, Java Server Faces ve Tapestry) entegre edilebilmektedir. Spring'in bir diğer güçlü özelliği de kullanıcıya görüntü sunmak için servlet ve jsp kullanma zorunluluğunun olmamasıdır. Velocity, Freemarker, Excel veya Pdf gibi görüntü sunma teknolojileri de kullanılabilmektedir. Bu framework'ü kullanırken framework'ün sunduğu herhangi interface'i implemente etmek zorunluluğunuz yoktur.

 

Eclipse IDE performansını arttırmak için öneriler

Eclipse IDE performansEclipse IDE kullanırken yaşadığım performans problemleri, Eclipse IDE nin aşırı derecede yavaş çalışması ve sık sık donması beni bu konuda araştırma yapmaya itti. Yaptığım araştırmalar sonucu bir sürü faydalı yöntem öğrendim. Türkçe bu konuda internette herhangi kaynağa rastlamadığımdan bu yazıyı yazmaya karar verdim.


Uygulamanızı tavsiye ettiğim yöntemleri maddeler halinde açıklayacağım.

  • Herşeyden önce dikkat etmeniz gereken en önemli şey Eclipse ve JDK'nın son sürümlerini kullanmak. 
  • Bilgisayarınızda Eclipse dosyalarının içerisinde bulunan eclipse.ini isimli dosyayı açarak burada Eclipse için ayrılmış olan bellek boyutlarıyla ilgili ayarları değiştirebilirsiniz. Benim bilgisayarımdaki dosya aşağıdaki şekildedir. Burada -Xmx değeri önemlidir. Makinenizin RAM değeri ne kadar yüksekse bu değeri o kadar arttırabilirsiniz. Benim makinemin Ram değeri 2GB ben 512m olarak ayarladım bu değeri sizin makinenizin RAM değeri 4GB ise ve Eclipse'in çok rahat çalışmasını istiyorsanız bu değeri 1024 olarak ayarlayabilirsiniz. Sizin makinenizin RAM değerini tam olarak bilemediğimden kesin rakamlar vermem mümkün değil o yüzden bunları internetten araştırmanızı tavsiye ediyorum.
 

İyi Bir Programci Keşfetmenin En İyi Yolu

stack overflowDünyada programcılar tarafından en çok tutulan ve binlerce programcının ortak adresi olan Stack Overflow sitesi işverenler açısından da büyük bir hazine niteliğinde. Öncelikle bu sitenin nasıl işlediğinden bahsetmek istiyorum. Stack Overflow sitesi programlamayla ilgili bir soru cevap sitesidir. Sitede sorduğunuz sorunuların ve verdiğiniz cevapların kalitesine göre diğer üyelerden puan kazanırsınız. Bu puanlar sizin sitedeki itibarınızı temsil eden puanlardır. Bir kullanıcının itibar puanı arttıkça site tarafından ona daha fazla yetki verilir ve nihayetinde belli bir puana ulaştığınızda bir site yöneticisiyle hemen hemen aynı yetkilere sahip olursunuz.

Peki bir işveren bu siteden nasıl yetenekli programcıları keşfedebilir?

Stack Overflow bu amaçla işverenler için careers.stackoverflow.com isimli sitesini hizmete sunuyor. Bu sitede işveren aradığı niteliklere uygun yetenekleri gelişmiş arama ve filtreleme seçenekleriyle keşfedebiliyor. Böylece bu kişiyle iletişime geçerek ona iş teklifi yapabiliyor. Bu aramaların en büyük avantajı da bölge bazında yapılabiliyor olması. Örneğin Türkiyedeki bir işveren sadece Türkiye'den siteye giren kişileri keşfedebilir.

 

Steve Jobs - (Walter Isaacson)

Steve JobsDeneyimli bir biyografi yazarı olan Walter Isaacson gerçekten harika bir biyografi yazmış. Daha önce bir biyografi okumadığımdan biyografi kitaplarının sıkıcı olduğunu düşünüyordum ancak bu önyargım kitabın ilk sayfalarından itibaren eriyip gitti. Bu biyografi gerçekten sürükleyici. Steve Jobs'u tek cümleyle özetlemek gerekirse "İnanılmaz mükemmeliyetçi ve inanılmaz yaratıcı bir insan" derdim. Steve Jobs yarattığı tüm ürünlerde öncelikle sadeliğe önem veriyordu. Bir kişi onun yarattığı bir ürünü eline aldığında çok fazla kafa yormadan bütün özellikleri kolayca anlayabilmeliydi. ürünlerin tasarımı konusunda çok takıntılı olan Steve Jobs tasarımın en küçük ayrıntısı üzerine günlerce kafa yoruyordu. En iyi sonucu elde edene kadar bir ürünün tasarımını defalarce değiştirebiliyordu. Steve Jobs'un bu mükemmeliyetçi yapısı insanların hayatına damga vuran mükemmel ürünler ortaya çıkmasını sağlamıştır.

 

Aldatma Sanatı - KEVIN D. MITNICK

aldatma sanatıAldatma Sanatı dünyanın en ünlü hackerlerinden biri olan Kevin Mitnick tarafından yazılmış çok değerli bir kitap. Bu kitap hem sosyal mühendislik tekniklerini öğrenmek isteyen art niyetli kişiler için hem de sosyal mühendislik tekniklerini öğrenerek güvenliğini arttırmak isteyen herkes için çok faydalı olacaktır. Kitap çok sade bir dilde yazılmıştır ve herhangi teknik bilgi gerektirmiyor. Kitap sosyal mühendislik yöntemlerini olmuş olaylar üzerinden anlatmaktadır. Kevin Mitnick bu makalelerin çoğunda ana kahramanın kendisi olduğunu açıkça inkar etse de, ana kahramanın genellikle Kevin Mitnick olduğunu düşünüyorum. Kitaptaki hikayeleri okuduğumda dikkatimi çeken en önemli şey hacker diye de adlandırdığımız kişilerin düşündüğümüzün aksine kötü emellerini hiç de (yeşil ekranlı) bilgisayar başında oturarak gerçekleştirmediklerini bunun aksine daha çok insanların duygularını sömürerek telefonla veya yüz yüze konuşarak gerçekleştirdikleri oldu. Kevin D. Mitnick kitapta her anlattığı hikayeden sonra hikayede kullanılan aldatma yöntemlerinden nasıl korunulabileceğine de değinilmektedir. Bu sayede sosyal mühendislik yöntemlerinden korunmak isteyen şirket yöneticileri saldırıları önlemek adına neler yapmaları gerektiğini öğrenmektedirler.

 

Google da üst sıralarda çıkmak

googleBu yazımda sizlere google da üst sıralarda çıkma çalışması yaparken edindiğim tecrübeleri anlatmak istiyorum. Google da üst sıralarda çıkmak gerçekten çok kapsamlı bir çalışma gerektiriyor. Google da üst sıralarda çıkmak ve arama motorloruna dost siteler oluşturmak için yapılan çalışmaların tümüne SEO (search engine optimization –arama motoru optimizasyonu ) denilmektedir. Seo çalışmaları yaparken öncelikle unutmamanız gereken en önemli konu siteyi arama motorları için ziyaretçiler için yaptığınızı unutmamanızdır. Öncelikle hedef kitlenizi iyi tanımanız gerekiyor ve onların sizin verdiğiniz hizmete ulaşmak için google da yazacağı kelimeleri iyi tahmin etmeniz gerekiyor ve sitede bu kelimeleri bolca kullanmanız gerekiyor. Ayrıca değişik variyasyonlar da iyi tahmin edilerek google da kullanıcıların sizin verdiğiniz hizmetle ilgili yazabileceği en yaygın kelimeleri de sitede geçirilmeye çalışılmalıdır. Tabiki kelime geçirme işlemini yaparken sırf kullanmış olabilmek için olur olmaz yerlerde bu kelimeleri kullanarak sitenin kalitesini düşürmek yerine alanınızla ilgili bolva makale yazarak kullanıcıları sıkmamak en iyi yöntemdir. Domain isminizi seçerken iyi düşünmek gerekiyor.

 

Javada Oyun Programlaması. Part 1 (Threadler-1)

javaİlk dersimizde Java’da oyun programlamanın genel kavramlarından ve oyunlarda çok kullanacağımız Java Threadlerinden bahsedeceğim. Neden Java? Aslında doğru, bir çok başka dillerin oyun programlama alanında Java’dan daha çok avantajı vardır (C++ ve onun için hazırlanmış olan OpenGL gibi onlarla kütüphane). Ama Java’nın yavaş çalıştığı iddiaları da artık eskimiş, Java 1.4’ten sonra Java ortamında bayağı bir değişiklikler artık Java’nın oyun geleceğinin olduğuna da bir kanıttır. Ve artık kısa bir araştırmayla Java için de yapılmış olan oyun framework’larını kolaylıkla bulabiliyoruz. İleriki derslerimizde Java’da oyun programlama’da kullanacağımız, oyuna katabileceğimiz 2D ve 3D grafik ve animasyonlara da değineceğim.

 

Object Oriented Analysis and Design - Head First

Head First Object Oriented AnalysisStajda nesne yönelimli programlama tekniğini daha iyi anlamam için head first yayınlarının object oriented analysis and design kitabını okumam istendi. Kitap daha önce karşılaşmadığım bir anlatım tekniğiyle yazılmıştı. Kitapta bolca görsel öğeler kullanılarak anlatılacak konular okuyucuyu sıkmayacak bir şekilde aktarılmaya çalışılmıştır. Kitapta nesne yönelimli programlamanın önemini vurgulamak amacıyla çeşitli problemler tanımlanıyor. Problemler ilk başta nesne yönelimli programlama teknikleri kullanmadan da çözülebiliyor olmasına rağmen daha sonradan programa yeni bir şeyler eklenmek istendiğinde nesne yönelimli programlamanın önemi, yenilenebilirlilik kavramı açısından önemi daha iyi anlaşılıyordu.Bundan ilave kitap boyunca sürekli kullanıcıya sorular sorularak hem kullanıcılarla etkili iletişim kurulmuş hem de okuyucunun dikkati canlı tutulmaya çalışılmıştır.Kitap boyunca sürekli iyi bir yazılımın nasıl olması gerektiği hakkında çeşitli bilgiler verilimiştir. İyi bir yazılımın iyi tasarlanmış,iyi kodlanmış kolayca değiştirilebilir, kolayca yeniden kullanılabilir ve kolayca yenilikler eklenebilir olması gerektiği kitap boyunca üstüne basıla basıla çeşitli örnek problemler de ortaya atılarak vurgulanmıştır. Kitapta vurgulanan bir diğer önemli nokta iyi yazılımın müşterinin isteğine uygun yapılmış olması gerektiğidir. Yazılım tasarlarken nesne yönelimli programlama tekniğini düzgün kullanmamızın yazılımı sonradan müşterinin yeni isteklerine göre değiştirmemiz istendiğinde kolayca değiştirebileceğimizi göstermek amacıyla örnek bir problem tanımlanmıştır.

 

Interface ve Abstract Class

interface abstractHead First Java (Second Edition) kitabında gerçekten çok güzel örnek verilmiş interface ve abstract arasındaki farkı anlamak için. Elimizde kedi, köpek, aslan, kaplan, suaygırı, kurt gibi hayvanlar var ve bunları belli bir hiyerarşiye göre dizmemiz gerekiyor daha sonra polimorfizm gibi yöntemlerden rahatça faydalanabilmemiz için. Öncelikle bütün bu elimizdeki canlıların hayvan olduğu bilindiğinden ve hepsinin yemek, uyumak, acıkmak gibi hayvanlara özgü ortak özellikleri bulunduğundan öncelikle Hayvan adında abstract bir sınıf oluşturuyoruz. Daha sonra kedi, kaplan ve aslan gibi hayvanlarda ortak özelliklere sahip olduklarından dolayı Kedigiller adında abstract bir sınıf oluşturuyoruz ve kedi, kaplan ve aslanı bu abstract sınıftan extend ediyoruz. Aynı şekilde köpek ve kurt da birçok ortak özelliğe sahip olduğundan bu hayvanların ortak özelliklerini barındıran canine(köpek ve benzeri hayvanlar) adında abstract bir sınıf oluşturuyoruz. Kurt ve köpeği canine sınıfından extend ettikden sonra suaygırını da direk hayvan adlı abstract sınıftan extend ediyoruz.

 

Kevin David Mitnick

Kevin MitnickO bir tarih yazdı tüm Dünya'ya adını duyurdu istediği yere gelmeyi başardı, herkesin imkansız dediği şeyi başardı, bilgisayar denilince ilk akla gelen kişi oldu, arkasında tüm Dünya'da örnek alınacak bir Dünya yarattı. O EFSANE HACKER, o Kevin Mitnick. İşte Size Kevin Mitnick'in hayat biyografisi.. Tam adı Kevin David Mitnick, Condor olarak da bilinir 6 Ağustos, 1963'de doğdu, ilk bilgisayar korsanlarından olup en meşhurudur. 1990'lı yıllarda "hacker tehditi" manşetleriyle olay olan Kevin Mitnick 15 Şubat 1995'te FBI tarafından yakalanmıştır. Zamanında Fujitsu başta olmak üzere Motorola, Nokia ve Sun Microsystems gibi şirketlerin bilgisayar ağlarına izinsiz girmekten suçlu bulunarak 5 yıl hapis cezası almıştır. Cezası 21 Ocak 2000'de, bilgisayarlara dokunmama koşuluyla son buldu cezası sona eren Mitnick , hiçbir zaman bir hacker olduğu gerçeğini gizlemeye çalışmadı. Tam tersine bu gerçeğin farkında olduğunu her fırsatta da gösterdi. bilgisayarlara yaklaşma yasağı 21 Ocak 2003'te bitmiştir. Günümüzde, beyaz şapkalı bir bilgisayar korsanı olarak güvenlik danışmanlığı yapmakta ve dünya çapında kongrelere katılmaktadır.. Bir keresinde örnek olarak bilinmeyen numaralar servisini bir hakimin telefonuna yönlendirmişti. Bir kişinin telefonunun aylarca arıza görmesi ve bir kişinin de telefon faturasının binlerce dolar gelmesini sağlamıştı . Ailesi hakkında biraz bilgi vermiş olursak annesi ve babası Kevin 3 yaşındayken ayrılmışlar. Amcası madde bağımlısı, üvey kardeşi aşırı dozda eroin kullanmaktan vefat etmişti. Annesi lokanlatada çalışıyor ve sık sık arkadaş değiştiriyordu bu nedenle gerçek babasıyla pek arası yoktu. Kevin sık sık ev değiştiriyordu.

 

Türkiyede Şirketlerin Bilgi Güvenliği

bilgi-guvenligiİş hayatında büyük rekabetin yaşandığı bu dönemde, Türkiyede birçok büyük şirket bilgi güvenliğine önem vermemektedir. Şirketler arası rekabet açısından kilit rol oynayabilecek çok önmeli bilgiler böylece rakip şirketlerin eline geçebilmekte ve şirketler büyük zararlara uğrayabilmektedirler.  Büyük şirketlerde çalışan arkadaşlarımla yaptığım sohbetlerden arkadaşlarımın herhangi şekilde dış tehditlere karşı uyarılmadıkları konusunda bilgi aldım. Sadece çalışanların bilgisayarları çeşitli yazılımlarla korunmaya çalışılmaktadır. Bu yazılımlar bilgisayara herhangi yazılım yüklenmesini önlemektedirler. Arkadaşım Gtalk bile yükleyemediğinden bahsetmişti. Bu yöntemle belkide bilgisayar virüslerden ve çeşitli bilgi çalmaya yönelik olan yazılımlardan başarılı bir şekilde  korunabilir ancak şirketler sosyal mühendislik yöntemleriyle bilgi çalma yeteneği bulunan korsanlardan korunamazlar.

 

Purexml Nedir

pure xmlPUREXML IBM DB2 data serverde bulunan bir özelliktir XML verilerini yönetmeye yarar. Purexml xml verilerini yönetmek için çeşitli özellikler barındırmaktadır
bunlar: Query Dilleri, Depolama Teknolojileri, Indexleme Teknolojileri gibi teknolojilerdir. DB2 9.1 ile gelen PureXML teknolojisi bir ilk olmuştur.
IBM tarafından üretilen yeni saklama modülü sayesinde, XML dokümanlarının hiyerarşik yapısı bozulmadan saklanması sağlanmıştır. Bu hiyerarşik yapı bozulmadığı ve dokümanın yapısına müdahale edilmediği için "Pure"dur. Bu da performansı arttırarak kısa sürede işlemleri gerçekleştirmeyi kolaylaştırmıştır. PureXML ile gelen fonksiyonların kullanımı sayesinde yazılan kodlar daha okunabilir ve kısa olabilmektedir. Her tür veri ile XML verileri bir arada durabilmektedir.