5 Temmuz 2013 Cuma
İleri Algoritma Analizi Sunumu
Çalıştığım şirkette verdiğim "İleri Algortima Analizi" konulu sunumumu paylaşmak istedim. Sunum kapsamında, karmaşıklık analizi, Greedy Algoritmaları, Dinamik Programlama, Çizge Algoritmaları gibi konulara değinilmiştir.
21 Haziran 2013 Cuma
SAP BI Hata: Connection failed. The server has reached the maximum number of simultaneous connections. (RWI 00239)
Yeni rapor oluşturmak için "Document List- New- Web
Intelligence" girince söz konusu hatanın çıkması üzerine bu sorunu incelemeye başladık.
Bu hata hakkındaki bulgularım şöyle:
İlgili Hata Mesajı: Connection failed. The server has reached the maximum number of simultaneous connections. (RWI 00239)
Hata Açıklaması: Bu hata bir sunucuya belirtilen sayıdan fazla bağlantı oluşturulduğunda oluyor. Yani basit olarak anlatmak gerekirse, izin verilen bağlantı 5 ise ve 5 ayrı kullanıcı raporlama sunucusuna bağlıysa, gelen 6. kullanıcı bu hatayı alacaktır. Ayrıca browserda birden fazla tab açıp farklı raporlar çalıştırarak bir kullanıcı sunucuya daha fazla bağlantı oluşturabilir. Buna ek olarak schedule edilmiş raporlar da bu sayıya ekleniyor.
İzin verilen maksimum bağlantı sayısı bir parametre ile belirlenmekte. Aslında bu sunucuya aşırı yük oluşmasını engellemek için koyulmuş bir önlem. BI'ı ilk kullanmaya başladığımızda bu parametre 50'ydi. Zamanla kullanım oranı artınca bu parametreyi 300'e çıkarmıştık. Uzun zamandır da bu sayı bizim için yeterli gelmekteydi. Ancak son zamanlarda raporlama sisteminin şirket içinde kullanımının daha da artması ve sistemin müşterilere de açılmaya başlaması ile 300 sayısının, çok yoğun kullanım anlarında yetersiz kalıyor olabilir.
Önerilen Çözüm Yolları:
1-) İzin verilen maksimum bağlantı sayısını arttırmak (maximum_connections )
2-) Cluster kullanımı ile yükü birden fazla sunucuya dağıtmak. Ayrıca CPU Core başına bir Webi Rpt Server oluşturmak.
Bu hata ile ilgili daha ayrıntılı bilgiler için aşağıdaki linkler incelenebilir:
help.sap.com ...
businessobjectstips.com ...
90kts.com ...
wiki.sdn.sap.com ...
SAP Note 1
bobi.blog
12 Haziran 2013 Çarşamba
Yazılım Proje Yönetimi Hakkında
Çalıştığım firmada verdiğim Yazılım Proje Yönetimi eğitiminin sunumu:
6 Haziran 2013 Perşembe
Yazılımcının Suçu ne? - Yaşar Safkan
Yaşar Safkan’ın Özgür Yazılım Günleri 2013′teki konuşması
Kaynak: http://www.safkanyazilim.com/yasar-safkanin-ozgur-yazilim-gunleri-2013teki-konusmasi/
İlgili Yazılar:
1-) http://www.teknikodu.com/yazilimcinin-sucu-ne/
2-) http://www.teknikodu.com/yazilimcinin-sucu-ne-buraya-nasil-geldik/
3-) http://www.teknikodu.com/adam-gun-hangi-adam-hangi-gun/
Kaynak: http://www.safkanyazilim.com/yasar-safkanin-ozgur-yazilim-gunleri-2013teki-konusmasi/
İlgili Yazılar:
1-) http://www.teknikodu.com/yazilimcinin-sucu-ne/
2-) http://www.teknikodu.com/yazilimcinin-sucu-ne-buraya-nasil-geldik/
3-) http://www.teknikodu.com/adam-gun-hangi-adam-hangi-gun/
Etiketler:
BİLİŞİM SEKTÖRÜ,
YAZILIM MÜHENDİSLİĞİ,
YAZILIM YÖNETİMİ
12 Ekim 2011 Çarşamba
Business Objects'de Türkçe Verilerdeki Bazı Karakterlerin Düzgün Gösterilmemesi
Microsoft SQL Server 2000 veritabanına OLE DB ile bağlantı kuruyoruz. Bu veritabanında bazı türkçe verilerin düzgün görünmediğini farkettik. Örneğin "ADRES DOĞRULAMA" cümlesi "ADRES DOGRULAMA" olarak görünüyordu. Yani sorun "İ" ve "Ğ" gibi bazı Türkçe karakterlerde görülüyordu.
Aşağıdaki iki yazıda da bizim yaşadığımız soruna benzer durumlardan bahsedilmekte :
Çözüm1: Universe veritabanına OLEDB yerine ODBC ile bağlanmak
Yukarıda linkini verdiğim ilk yazıda OLEDB veritabanı bağlantısının ODBC olarak değiştirilmesi tavsiye edilmiş. Bu da sorunu çözüyor ama belirli sebeplerden (yavaşlık, ayrıca ODBC ayarları yapılması gerekmesi gibi) bu çözümü tercih etmedik.
Çözüm2: BI Server'ın kurulu olduğu sanal makinanın "Regional and Language Options>Advanced>Language for non-unicode programs" ayarını Türkçe yapmak
İlk başta biz de problemin veritabanı bağlantısından kaynaklandığını düşündük. Sonradan gördük ki bilgisayarım (local client) 'ın regional setting değerlerini Türkçe olarak değiştirdiğimde problem Universe Designer ve Web Intelligence Rich Client programlarında çözülüyordu fakat Web üzerinden InfoView ile bağlanınca problem sürmekteydi.
Bunun üzerine BI Server'ın kurulu olduğu sanal makinanın da regional setting ayarlarını Türkçe yaptım ve Web üzerinden InfoView ile bağlanınca da problemin çözüldüğünü gördüm.
Çözüm 3: Türkçe Karakter içeren alanların SQL Server'daki collation encodinglerinin Turkish_CI_AI yapmak.
Bu çözüm Universe veritabanına OLEDB ile bağlıyken bile Türkçe karakterlerin düzgün görünmesini sağlıyor.Bu farkın nerden kaynaklandığını anlayamadım. Microsoft'un sitesinde CI, CS, AI ve AS 'nin değerleri şöyle açıklanıyo
Aşağıdaki iki yazıda da bizim yaşadığımız soruna benzer durumlardan bahsedilmekte :
Business Objects ve Türkçe Karakterler - Enes KURTBu problem hakkında bulduğum 3 temel çözüm yolu var. Şimdi bunları açıklamaya çalışacağım.
Turkish Characters not showing correctly in universe/report - BOB Forum
Çözüm1: Universe veritabanına OLEDB yerine ODBC ile bağlanmak
Yukarıda linkini verdiğim ilk yazıda OLEDB veritabanı bağlantısının ODBC olarak değiştirilmesi tavsiye edilmiş. Bu da sorunu çözüyor ama belirli sebeplerden (yavaşlık, ayrıca ODBC ayarları yapılması gerekmesi gibi) bu çözümü tercih etmedik.
Çözüm2: BI Server'ın kurulu olduğu sanal makinanın "Regional and Language Options>Advanced>Language for non-unicode programs" ayarını Türkçe yapmak
İlk başta biz de problemin veritabanı bağlantısından kaynaklandığını düşündük. Sonradan gördük ki bilgisayarım (local client) 'ın regional setting değerlerini Türkçe olarak değiştirdiğimde problem Universe Designer ve Web Intelligence Rich Client programlarında çözülüyordu fakat Web üzerinden InfoView ile bağlanınca problem sürmekteydi.
Bunun üzerine BI Server'ın kurulu olduğu sanal makinanın da regional setting ayarlarını Türkçe yaptım ve Web üzerinden InfoView ile bağlanınca da problemin çözüldüğünü gördüm.
Çözüm 3: Türkçe Karakter içeren alanların SQL Server'daki collation encodinglerinin Turkish_CI_AI yapmak.
Bu çözüm Universe veritabanına OLEDB ile bağlıyken bile Türkçe karakterlerin düzgün görünmesini sağlıyor.Bu farkın nerden kaynaklandığını anlayamadım. Microsoft'un sitesinde CI, CS, AI ve AS 'nin değerleri şöyle açıklanıyo
CaseSensitivity CI specifies case-insensitive, CS specifies case-sensitive. AccentSensitivity AI specifies accent-insensitive, AS specifies accent-sensitive.
16 Ağustos 2011 Salı
15 Ağustos 2011 Pazartesi
SAP Business Objects Raporlama Aracı Kullanımı
Bu makalede SAP Business Objects Aracının Web Arayüzünden kullanımı ve Sorgulama veri yapıları basitçe ve kısaca anlatılmaktadır. Makalenin tamamı için okumaya devam edin.
Burada anlatılan konular SAP Business Objects ( BO3.1 Edge XI 3.1 Client SP4 ) ürünü için geçerlidir. Anlatılanlar diğer versiyonlar için farklılık gösterebilir.
Burada anlatılan konular SAP Business Objects ( BO3.1 Edge XI 3.1 Client SP4 ) ürünü için geçerlidir. Anlatılanlar diğer versiyonlar için farklılık gösterebilir.
26 Temmuz 2011 Salı
İş Zekası: SAP BusinessObjects
Çalıştığım şirketin SAP'nin BusinessObjects iş zekası ürünlerini kullanmaya başlamasıyla birlikte bu konuda yapılacak gerekli geliştirmelerin sorumluluğu bana verildi. Daha önceden hiç de aşina olmadığım bu dünyada öğrenme sürecinde faydalandığım bazı kaynakları buradan paylaşmak istedim. Umarım faydalı olur.
Öncelikle BO Hakkında bulduğum ender Türkçe makalelerden birini buradan inceleyebilirsiniz.
"Universe" kavramı
Basitçe anlatmak gerekirse "Universe" veri yapımızı kullanıcıya sunduğumuz bir ara katman. Burada kullanıcıya veriyi nasıl ve ne kadarını sunacağımızı belirliyor ve kullanıcının bu Universe üzerinden verilerimize erişip raporlamalar yapmasını sağlıyoruz. Kullanıcı bizim tanımladığımız "Obje"ler vasıtasıyla sorgular oluşturabiliyor.
ÖĞRENİLMESİ GEREKEN BAZI KAVRAMLAR
"Aggragate Awareness" kavramı
Karışık olduğu kadar faydalı bir konu olan "Aggragate Awareness" hakkında bulduğum en faydalı makalelerden biri :
Context kavramı
Context aslında tablolar arasında tanımladığınız bağlantıların (join'lerin) gruplanmasından ibarettir. Bu şekilde bir arada kullanılacak "join"leri belirtmiş olursunuz. ( NOT: "Multiple SQL Statements for each Context" seçeneğini açarak her context için ayrı sorgu oluşturulması sağlanabilir )
"Join"leri gruplayarak sorgu sonucunda oluşacak sql'in hangi bağlantılar üzerinden oluşacağını belirlemiş olursunuz. Genelde bu döngü ("loop") , tuzak ("trap") gibi hatalı durumları engellemek için kullanılır.
Ayrıntılı bilgi için Dave'in İş Zekası Maceraları :) bloguna bakabilirsiniz:

Öncelikle BO Hakkında bulduğum ender Türkçe makalelerden birini buradan inceleyebilirsiniz.
"Universe" kavramı
Basitçe anlatmak gerekirse "Universe" veri yapımızı kullanıcıya sunduğumuz bir ara katman. Burada kullanıcıya veriyi nasıl ve ne kadarını sunacağımızı belirliyor ve kullanıcının bu Universe üzerinden verilerimize erişip raporlamalar yapmasını sağlıyoruz. Kullanıcı bizim tanımladığımız "Obje"ler vasıtasıyla sorgular oluşturabiliyor.

Universe: Tablolar ve Objeler Arasındaki Bağlantılar [1]
ÖĞRENİLMESİ GEREKEN BAZI KAVRAMLAR
- Datawarehouse pattern'ları: Star schema, Snow flake
- "Fact" tablosu - "Dimension" tablosu
- "Aggregate Awareness" kavrami
- "Context" kavrami
- "Shortcut join" kavrami
"Aggragate Awareness" kavramı
Karışık olduğu kadar faydalı bir konu olan "Aggragate Awareness" hakkında bulduğum en faydalı makalelerden biri :
Aggregate-awareness-1
Aggregate-awareness-2
Context kavramı
Context aslında tablolar arasında tanımladığınız bağlantıların (join'lerin) gruplanmasından ibarettir. Bu şekilde bir arada kullanılacak "join"leri belirtmiş olursunuz. ( NOT: "Multiple SQL Statements for each Context" seçeneğini açarak her context için ayrı sorgu oluşturulması sağlanabilir )
"Join"leri gruplayarak sorgu sonucunda oluşacak sql'in hangi bağlantılar üzerinden oluşacağını belirlemiş olursunuz. Genelde bu döngü ("loop") , tuzak ("trap") gibi hatalı durumları engellemek için kullanılır.
Ayrıntılı bilgi için Dave'in İş Zekası Maceraları :) bloguna bakabilirsiniz:
What Is a Context Anyway?
Is “One Context Per Fact Table” a True Statement?
Designer SQL Traps
Do I Have a Fan Trap?
[1] http://alteksolutions.com/wp/index.php/2009/03/what-is-a-business-objects-universe/
30 Nisan 2011 Cumartesi
Developer Links of April 2011 / Nisan Ayı Bağlantıları
LEARNING / Öğrenme
MUST READS / Okunacaklar
TOOLS / Araçlar

USEFUL JAVA / Faydalı Java Bağlantıları
NO-CODE / Kod Dışı
NEWS / Haberler
Google Code University
Nosql Movement
High Performance Javascript
JEE6 Tutorial Recently Updated
SOAP vs REST
Core Java Questions with answers
MUST READS / Okunacaklar
Web Based IDEs
How do senior developers keep up to learning as much as a junior?
TOOLS / Araçlar
Amazon Web Services
Pastie: Past Code & Share

USEFUL JAVA / Faydalı Java Bağlantıları
Seam3
JDK7 Preview
ZK Ajax Framework
URL Rewrite Filter
NO-CODE / Kod Dışı
TED Talks
NEWS / Haberler
JQuery 1.5.2 is released
Lucene and SOLR Merge

2 Nisan 2011 Cumartesi
Apache SOLR
Popular, blazing fast open source enterprise search platform from the Apache Lucene project is a very powerful tool,especially for full text searching.

Recently Lucene and SOLR development is merged . Following this announcement, SOLR 3.1 is released and SOLR version number is synced with Lucene. Here is a small tutorial video about SOLR:
You can also check the latest reference guide from here.
You might want to watch the interview with Grant Ingersoll, a Apache Lucene and Solr committer and co-founder of Lucid Imagination about the merging of Lucene and SOLR.
LINKS
Recently Lucene and SOLR development is merged . Following this announcement, SOLR 3.1 is released and SOLR version number is synced with Lucene. Here is a small tutorial video about SOLR:
You can also check the latest reference guide from here.
You might want to watch the interview with Grant Ingersoll, a Apache Lucene and Solr committer and co-founder of Lucid Imagination about the merging of Lucene and SOLR.
LINKS
Lucene and SOLR Merge
SOLR 3.1 is released
SolrCloud is on the way
Solr Reference Guide
Etiketler:
DATABASE,
ENGLISH,
full text search,
solr
30 Mart 2011 Çarşamba
28 Mart 2011 Pazartesi
HTML5 ile Web Artık Eskisi Gibi Olmayacak
Gün geçmiyor ki HTML5 ile gerçekleştirilen harika şeylerle karşılaşmayalım. İşte bunlardan bazıları:
http://sinuousgame.com/
http://www.effectgames.com/demos/canvascycle/
http://mozillademos.org/demos/planetarium/demo.html
Bunlara da bakmadan etmeyin:
https://demos.mozilla.org/tr/

Peki nedir bu HTML5, ne işe yarar derseniz?
https://developer.mozilla.org/en/Firefox_4_for_developers
2008'de bloguma düşdüğüm şu notton bu yana html5 epey bir yol katetmiş görünüyor:
http://bilgisayardunyam.blogspot.com/2008/11/html5deki-yenilikler.html
http://sinuousgame.com/
http://www.effectgames.com/demos/canvascycle/
http://mozillademos.org/demos/planetarium/demo.html
Bunlara da bakmadan etmeyin:
https://demos.mozilla.org/tr/

Peki nedir bu HTML5, ne işe yarar derseniz?
https://developer.mozilla.org/en/Firefox_4_for_developers
2008'de bloguma düşdüğüm şu notton bu yana html5 epey bir yol katetmiş görünüyor:
http://bilgisayardunyam.blogspot.com/2008/11/html5deki-yenilikler.html
23 Mart 2011 Çarşamba
21 Mart 2011 Pazartesi
Developer Links of March 2011 / Mart Ayı Bağlantıları
Articles / Makaleler
Tools / Araçlar :
Technology / Teknoloji:
JQuery
Richfaces
Bağlantılar/Links
Unit Tests
When you ask a development team if they do unit testing, they always answer yes. When you dig, the meaning of the term “unit testing” is highly variable: manual tests specified by a document, automated testing of GUI, test of classes using a main()… Finally only few projects industrialize their unit testing with dedicated frameworks.
"If it ain't broke, don't fix it" vs. "Continuous improvement"
Bert Lance said that “That’s the trouble with government: Fixing things that aren’t broken and not fixing things that are broken.” But what about the improvement and “change for the better”?!. If there’s a potentially worthwhile pay off, if it’s reasonably cheap to try, maybe it is well worth changing things that aren’t especially broken.
http://www.dzone.com/links/r/java_generics_tutorial_part_i_basics.html
http://www.dzone.com/links/r/10_web_design_elements_that_you_shouldnt_overlook.html
http://www.dzone.com/links/r/exposing_a_database_as_a_web_service_developercom.html
Tools / Araçlar :
http://initializr.com/ HTML5 Templates Generator
http://guryjs.org/ HTML5 Canvas Utility JS Library
http://www.sproutcore.com/ HTML5 Application Framework
http://www.jformer.com/demos/ Beautiful Forms with JQuery
http://treesaverjs.com/ Magazine Layout Framework
http://sass-lang.com/ Easy CSS
Technology / Teknoloji:
http://click.apache.org/ Apache Web framework
http://www.microsoft.com/web/webmatrix/ MS Web Matrix
JQuery
8 jQuery Methods You Need to Know
Jquery Plugin: Expanding Image Menu
Portfolio Zoom Slider with jQuery
Sliding Door Effect
Web Dev Tools
8 Impressive Websites with Jquery Effects
10 Cool Websites with Amazing jQuery Effects
Richfaces
RF4 Early Showcase
RF4 in GoogleAppEngine
RF4 Overview
Bağlantılar/Links
Web Dev Tools
Cheat Sheets
15 Mart 2011 Salı
JSF 2 & Google App Engine
1.5 saatimi alsa da sonunda Google App Engine üzerinde basit bir JSF2 uygulaması çalıştırmayı başardım.

Sorunları çözmemde şu kaynakların oldukça yardımı oldu:
1-) GAE ile JSF2 arasında bazı uyuşmazlıklar olduğu için jsf kütüphaneleri olarak aşağıdaki libleri kullanın:
2-) Aşağıdaki hata için belirtilen çözüm yolunu uyguladım.
Ayrıca bakınız.

Sorunları çözmemde şu kaynakların oldukça yardımı oldu:
http://eriahit.wordpress.com/2010/01/19/gae-primefaces-spring-maven/
http://digitaljoel.nerd-herders.com/2009/12/21/jsf-2-0-2-and-google-app-engine/
http://javadocs.wordpress.com/2009/10/17/mojarra-jsf-2-0-rc2-and-google-app-engine-sdk-1-2-6/
1-) GAE ile JSF2 arasında bazı uyuşmazlıklar olduğu için jsf kütüphaneleri olarak aşağıdaki libleri kullanın:
http://joshjcarrier.googlecode.com/svn/trunk/Sun%20JSF%20GAE/jsf-impl-gae.jar
http://joshjcarrier.googlecode.com/svn/trunk/Sun%20JSF%20GAE/lib/jsf-api.jar
2-) Aşağıdaki hata için belirtilen çözüm yolunu uyguladım.
Error:
com.sun.faces.config.ConfigurationException: It appears the JSP version of the container is older than 2.1 and unable to
locate the EL RI expression factory, com.sun.el.ExpressionFactoryImpl. If not using JSP or the EL RI, make sure the co
ntext initialization parameter, com.sun.faces.expressionFactory, is properly set.
Solution:
Include el-api and el-impl from https://uel.dev.java.net/ (version 1.0. used)
Ayrıca bakınız.
Kaydol:
Kayıtlar (Atom)
