Wednesday, December 12, 2012

Programci olmaq ucun ilk addim.

                                                           Master ITM  (16/12/2012)

Nece programci olaq?

                AZƏRBAYCAN DÖVLƏT NEFT AKADEMİYASI (ADNA) Seminer (10/12/2012)




Önemli olan hangi dili bildiğin değil bildiğin dilin en iyisi olmak.




Her zaman şöyle bir yanliş yapar yazilim dunyasına giren arkadaşlar bütün dilleri öğrenmek ister yada bir dili öğrenmeye çalışır bakarki olmuyor başka dile geçer ama "sorun dilde değil". Yazilimci olmak elbeteki kolay değil seçtiğiniz dil sizi zorladiğinda hemen kaçmayin ve mucadele edin inaninki sonunda siz kazanacaksiniz.

Java ogrenmek icin faydali formlar



Sunday, November 18, 2012

Copy/Paste Programcı (Yazar :Özcan Acar)


Ayrintili bilgi icin tikla

Internetin bu kadar büyümesi ve özellikle Google gibi arama motorlarının günlük iş hayatımızın bir parçası haline gelmesi biz programcılar için ne kadar hayırlı oldu, bilemiyorum. Pek te hayırlı olmadığı kanısındayım. Açıklamaya çalışayım.

Çalıştığım projede bir çalışma arkadaşımın masasında algoritmalarla ilgili kalınca bir kitap gördüm. Havadan, sudan konuşurken kendisi böyle kitapların artık gereksiz olduğunu, çünkü internette istediğin algoritmayı bulup, kullanabildigini söyledi. Doğru, haklıydı.
Bugünlerde Pratik Spring Core 3 isminde yeni kitabım üzerinde çalışmalarımı sürdürüyorum. Spring ile XML bazlı deklaratif transaksiyon yönetimi konfigürasyonu nasıl yapılır diye internette araştırma yaparken, birkaç klasik blog sayfasına rastladım. Bu klasik blog yazılarını tanırsınız. Basit bir örnek üzerinde belli bir konfigürasyonun nasıl yapıldığını gösterirler. Bu örnekleri copy/paste yaparak programcının kendi uygulamasına eklemesi zor değildir. Zamanında az yapmadık. Copy/paste işlemi esnasında insan keşfettiği örneğin altındaki konseptlerin ne olduğunu sorgulamıyor. Programcı için önemli olan bir şeyleri çalışır hale getirebilmek. Ve bunu başardıktan sonra, “ya, bunu çalışır hale getirdim ama, bu işin temelindeki konseptler nelerdir” şeklinde bir sonuca varmıyor ya da varamıyor. İşte internet üzerinden bilgiye bu kadar hızlı, sorgusuz ve sualsiz erişmenin getirdiği hayırsızlıkta bu noktadan itibaren başlıyor. Programcı bir bilgiyi edindi ve kullandı. Ama o bilginin neyi temsil ettiğini, yani temelinde neler olduğunu bilmiyor. Spring ile XML bazlı deklaratif transaksiyon yönetimi konfigürasyonu örneğinde 3 satırlık copy/paste edilen XML konfigürasyonunun altında AOP (Aspect Oriented Programming) ve Proxy tasarım şablonu gibi konseptler var. İki satırlık konfigürasyonu kopyaladım, ama temelinde yatan bu bilgileri kopyalayamadım. Bunlar internette kalmaya devam etti. Benim kopyaladığım cansız, iki satırlık kod parçası.
Kod örneğiyle, kodun temelindeki konseptlerin zahmetsiz bir şekilde beyne nasıl kopyalandığını Matrix filmede gördük. Neo anında Karate-Kid olmuştu. Bizim böyle bir imkanımız yok. Böyle bir şeyin gelecekte mümkün olacagını da düşünmüyorum. Geriye kalan, kaynağını bulup, copy/paste yaptığımız bilgilerin temelinde yatan konseptleri ögrenmek ve uygulamak. O zaman hayırsız olarak tabir ettiğim işlemi hayırlı bir işleme dönüştürebiliriz.
Copy/paste zihinlere o kadar yerleşmiş ki, bilgiye sahip olmanın değil de, bilgiye nasıl ulaşabileceğini bilmenin daha önemli olduğunu savunanlar var. Bu artık copy/paste filozofisinin mükemmelleştirilerek, getirildiği en son noktadır, yani bu akımın en tepesindeki noktadır. Bu filozofiye sahip olanların, iş görüşmelerinde bu tür ifadelerde bulunmamalarını tavsiye ediyorum, çünkü iş verenin en sevmediği ve iş görüşmesini anında sonlandırabileceği durumların başında, iş görüşmesi yaptığı şahsın “ufak bir internet araştırması ile bu sorunu çözebilirim” tarzı söylemlerde bulunmasıdır. Böyle bir şey söyleyen şahıs aslında “ben bu bilgiye sahip değilim, başkaları sahip, ama bir bakayım, bakalım, bir yerlerden bulabilir miyim” demektedir. Böyle bir şey söyleyen bir programcıyı siz olsanız işe alır mıydınız?
İyi bir programcı olabilmek için iyi bir temele sahip olmak gerekir. Bu temel edinilmiş ve zaman içinde edinilen bilgiden oluşur. Programcı tüm yeteneklerini bu temel üzerine inşa eder. Zaman zaman internetten bir şeyleri copy/paste etmek suç ya da günah değildir. Bu hepimizin yaptığı bir şeydir. Lakin programcı copy/paste yaptıktan sonra, copy/paste yaptığı kod parçasının temelinde yatan bilgiyi sahip olduğu temele eklemekle yükümlüdür. Aksi taktirde bu bakkaldan bir sakız alıp, parasını ödememek gibi bir şey olur. Copy/paste yapılan şeyin bedeli ödenmelidir. Copy/paste edilen kodun üzerinde fiyat etiketi olmadığı için beleş sananlar vardır. Hayır, beleş değildir. Bedeli ödenmeden kullanılan bilgi, temeli sağlam olmayan bir binanın en ufak bir rüzgar esintisinde sallanması misali programcıya zarar verir.
Copy/paste yapalm, ama bedelini ödeyerek…


Ayrintili bilgi icin tikla



EOF (End Of Fun)
Özcan Acar



Tuesday, November 13, 2012

Monday, November 12, 2012

Maven Nedir?



         Maven, Jakarta Turbine projesinin geliştirilme sürecinde, proje aşamalarını basitleştirmek için kullanılmıştır. Maven ile standart bir yol ile projeleri geliştirmek, anlaşılır bir açıklama ile hangi proje ne içeriyor, projeleri kolayca yayınlamak ve JAR dosyalarını projeler arasında paylaştırmak için tasarlanmıştır.

         Sonuç olarak, bu araç herhangi bir Java tabanlı projenin geliştirilmini ve yöneyimini sağlayabilmektedir. Umulan Maven ile Java geliştiricilerine daha rahat bir ortam yaratmakla birlikte, Java tabanlı projelerin anlaşılabilirliğini arttırmaktır.

          Maven’ın temel amacı, projenin bütün durumlarını en kısa biçimde programcıya anlatabilmektir. Maven bu amaca bir kaç değişik yolla ulaşır:

               • Projenin geliştirme adımlarını kolaylaştırmak
               • Tek bir geliştirme standardı sağlamak
               • Projenin niteliklerini bilgi olarak sağlamak
               • Projenin geliştirilmesinde iyi çözümleri yol göstermek
               • Projenin yeni özelliklerine anlaşılır bir geçiş sağlamak                                                                                                   Yazinin devamini bu linkten okuyabilirisniz.

Saturday, September 8, 2012

MySQL hakkında bilmeniz gereken her şey


Tarihçesinden bahsedecek olursak, şuan MySQL’in 6. sürümünün piyasaya çıkartılması için çalışmalar devam etmektedir, ilk olarak Michael Widenius ve David Axmark bu yazılıma 1994 yılında başlamışlardır. İlk sürüm 23 mayıs 1995′de yayınlanmıştır, ardından 8 ocak 1998 senesinde yazılımın ilk windows uyarlaması windows 95 ve NT sürümleri için yapılmıştır. İlk sürümün çıktığı tarihi ve windows uyarlamalarını saymaz isek, MySQL ilk hali ile yaklaşık 5 sene kullanılmıştır. Version 3.23 adı ile haziran 2000′de beta sürüm çıkarılmış yapılan testler sonucunda Version 3.23 sürümü temmuz 2001′de yayınlanmıştır. Bu sürümün hemen ardından Versiyon 4′ün beta çalışmalarına başlanılmış ilk beta sürüm ağustos 2002′de duyurulmuş kararlı sürüm ise bundan 6 ay sonra mart 2003′de çıkarılmıştır. 5 ay sonra yapımcılar 4.0.1 sürümünün beta çalışmalarını başlatmış, ağustos 2003 de beta sürüm yayınlanmıştır. Versiyon 4.1 ise haziran 2004 de test edilmeye başlanmış, ekim 2004 de yayınlanmıştır. 2005 yılında versiyon 5 için kolları sıvayan yapımcılar, mart 2005 de beta, ekim 2005 de ise kararlı sürümü yayınlamışlardır. Bu sürede yapımcı Sun Microsystems MySQL AB  firmasını 26 şubat 2008 yılında satın almıştır. Böylelikle MySQL’in geliştirilmesi için daha çok imkan bulunabilecek ve sürümler daha da iyi olabilecektir. Sun Microsystems’in MySQL AB’yi satın almasından sonra ilk sürüm 27 kasım 2008′de çıkartılmış olan 5.1 sürümüdür.
MySQL’in bu kadar çok yaygın kullanılmasında şüphesiz yazılımın kolay kullanıma sahip olmasının büyük bir önemi söz konusudur. Böyle bir yazılımın yıllar içinde bu kadar gelişerek kullanılacağı ve yazılım şirketinin de milyon dolarlık bir şirket halini alacağını başlarda kimse tahmin edemezdi. C ve C++ dillerinde yazılan MySQL sistemi 23 mayıs 1995′den beri aktif olarak kullanılmaktadır, bugün günümüzde dünyanın en çok kullanılan cms platformları olan WordPress, PhpBB dahil birçok platform MySQL’i tercih etmektedir. Ayrıca dünyanın en büyük web siteleri olarak lanse edilen, facebook, wikipedia, google ve drupal’inde alt yapısını MySQL oluşturmaktadır. Php’nin MySQL ile harmanlanmasından ortaya çıkan o muhteşem olay günümüzde alternatifi olmayan bir yazılıma dönüşmüştür.
MySQL birçok farklı platformda da çalışmaktadır, sadece web sitelerinin dışında ve yukarıda bahsettiğimiz telekomünikasyon şirketlerinin dışında, HP-UX, Linux, Mac OS X, OpenBSD, OpenSolaris, eComStation, OS/2 Warp, QNX, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos, Tru64 and Microsoft Windows gibi yazılım, işletim sistemlerinde MySQL kullanılmaktadır.


Kaynak: daha net
Nisan 2009′da MySQL’in son sürümü olan, MySQL 5.1 iki farklı türde piyasaya sunulmuştur; MySQL Community Server and Enterprise Server yani MySQL toplum sunucuları ve şirket sunucuları için iki farklı şekilde yayınlanmıştır.


5.1 sürümünün özelliklerinden bahsedecek olursak,
ANSI SQL 99 ile uyum konusunda kusursuz bir hale getirilmiştir,
Çapraz platform desteği sunulmuştur,
Tüm prosedürler depolanabilir hale getirilmiştir,
# Triggers
# Cursors adı verilen iki özellik daha eklenmiştir, (arızalı veya kritik konumda olan veritabanı kümelerini dağıtmak için sunulmuştur)
Bilgi şeması eklenmiştir,
Katı bir modül halini almıştır,
SSL desteği sunulmuştur,
Sorgu önbelleği oluşturulmuştur,
Veritabanı kütüphanesi gömülü olarak sunulmuştur.


MySQL ürünleri nelerdir? Ne işe yararlar?
MySQL’in sunduğu diğer ürünlere bakacak olursak,
MySQL Enterprise, MySQL’in şirketler için sunmuş olduğu bir sistemdir, sistemde monitoring tools yani izleme araçları bulunmaktadır bunun yanı sıra, MySQL Enterprise ürünü, MySQL Enterprise Server ve MySQL Production Support içermektedir.


MySQL Cluster
MySQL Cluster, arızalı veya kritik konumda olan veritabanı kümelerini dağıtmak ve mimari olarak kümeleri oluşturmak için MySQL tarafından üretilmiştir.


MySQL Embedded Database
MySQL’i en çok tercih eden OEMs/ISVs sistemleri için üretilmiştir, veritabanı ve performans ilişkilerini görmek isteyen kullanıcılar için yapılmıştır.


MySQL ürünlerine nasıl sahip olabilirim?
MySQL kendi sitesi üzerinden download seçeneği sunmaktadır, http://dev.mysql.com/downloads/ bu adrese girerek MySQL Community Server, MySQL Cluster, MySQL Workbench, MySQL Proxy, MySQL Connectors, Connector/ODBC, Connector/J, Connector/Net, Connector/MXJ, Connector/C++,  MySQL native driver for PHP (Php için MySQL sürücüsü) yani mysqlnd, uygulamalarının son sürümlerini indirebilirsiniz.


MySQL’i nasıl satın alabilirim? Ücretleri nelerdir?
MySQ’i yine MySQL’in kendi sitesinden satın almanız mümkün, http://shop.mysql.com/ bu adrese girerek MySQL’in şirketler için sunduğu temel paketi ve MYSQL WORKBENCH’i satın alabilirsiniz. Şirketler için sunulan enterprise paketinin ücreti, $599.00 workbench’in ücreti ise $99/1 yıl. MySQL Workbech’i windows, linux ve mac os işletim sistemlerinde kullanabilirsiniz.
Ödeme konusunda ise, kredi kartınız ile güvenli bir şekilde alışveriş yapabilmeniz mümkün. Diğer ürünleri satın almak istiyorsanız öncelikle ürün departmanı ile iletişime geçmeniz gerekmektedir.
http://www.mysql.com/buy-mysql/ bu adresten departmanları ve iletişim adreslerini görmeniz mümkün.

 bu yazi www.teknikdata.com-dan alintidir daha ayrinili bilgi icin tikla

Thursday, September 6, 2012

Java EE


Servlet
            - Servlet Nedir?
            -  Dinamik sayfa ?
            - Servlet Nasıl Çalışır?
            -  HttpServlet (GET,POST,HEAD,PUT,OPTIONS,DELETE,TRACE ...)
            -  HttpServletRequest
            -  HttpServletRequest
            -  Servlet'in oluşturulması
            -  Form ve kullanıcı verilerinin alınması ( request.getParameter("") , request.getParameterValues() ,  request.getParameterNames() ,  request.getParameterMap()  )
            -  Servlet 'den başka sayfaya yönlendirme ( response.sendRedirect("") )
            -  Servlet 'in Excel sayfası göndermesi
            -  ServletContext nesnesi ( 1 - web.xml   ,  2 - setAttribute  , getAttribute   , 3- web.xml  )
            -  RequestDispatcher
            -  Cookie
            -  Session
JSP
            -  Basit JSP Sözdizilimleri
            -  JSP de tanımlı olan değişkenler (request,response,session,out,application)
           - Java kodunu yazılma sekli
           - Değişken ya da metotbildirimi
           - page errorPage ve isErrorPage özellikleri
           - istek anında başka jsp sayfalarını çıktıya dahil etmek (include)
           - include edilen sayfaya parametre göndermek
           - JavaBean nesnelerinin JSP'de kullanılması
           - JSP de Etiketin Kullanımı (<%@ taglib uri=”...” prefix=”...” %>)
           - JSP İfade Dili (Expression Language)
JSF
           - JSF form bileşenler
           - JSF ve Bean ilişkisi
           - Action ve ActionListener
           - Sayfa yönlendirme
           - Datatable
           - Datatable satır seçme
           - selectItems
           - valueChangeListener
           - Doğrulama
           - Özel doğrulama
           - Dönüştürücü
           - Özel dönüştürücü
           - jsf şablon kullanımı
           - ui:repeat
           - sayfalar arası değer geçişi
           - Message Resource Bundle
           - jsf i18n yerelleştirme
           - jsf2 view scope
           - jsf2 ajax
WebService         
EJB

Monday, September 3, 2012

Port-u dolu veya bos olmasini kontrol etmek

cmd aciyoruz.

telnet ip port

telnet 170.30.30.32 8080

Wednesday, August 22, 2012

Java Application-dan Baglanti Kurulmadan Once MS SQL Server Ayarlar

Merhaba arkadaslar bizler MSSQL Server kurduktan sonra Java Application-dan Database ulamak istedigimizde oncelikle asagidaki ayarlari yapmamiz gerekiyor.















Asagidaki resimde goruldugu uzer butun IP-lerde
     Active       : Yes
     Enabled    : Yes
     TCP Port  : 1433

olarak ayarlandikran sonra.












Iyi gunler.