26 Ağustos 2014 Salı

Kullanıcı Hedef Kitlesi ve Mesaj Kalitesi

Merhabalar, Uzun bir aradan sonra tekrar bir şeyler karalama ihtiyacı duydum. Konu kısaca yazacağımız bir programda ve/veya hazırlayacağımız bir web sitesinde nasıl mesajlar vermeliyiz konusunda olacak Kullanıcı mesajları verirken dikkat edeceğimiz öğelerin başında kişiye özel bir mesaj verilmesi gerektiği ön planda olacak, öncelikle kullanıcının yerine kendimizi koyup ben acaba bu mesajdan "Anlatmak istediğim mesajı alır mıyım? Bu mesajda farklı manalar var mı? Kullanıcı kendini sistem kullanıcısı sayıyor mu?" Bir örnek ile mesajımızı açıklayalım. Örneğin bir posta istemcisi yazıyoruz ve kullanıcının kotası doluyor. "Kota dolu" gibi bir mesaj yalnış. Ne kotası, kimin kotası sorularına cevap vermiyor ve oldukça muğlak bir mesaj bunun yerine "Kullanmakta olduğunuz postanızın kotası doldu" Sistem beni tanıyor, benim postamın kotası doldu. Mesajı doğru verebiliyoruz. En önemlisi Türkçemiz çok zengin bir dil ve biz kullandığımız sürece bize en iyisini sağlayacaktır.

7 Mart 2013 Perşembe

How to install and configure a Liferay on mysql cluster ndb

Hi all, jdbc.default.url=jdbc:mysql:loadbalance://MYSQLSERVER1:3306,MYSQLSERVER':3306/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false loadBalanceBlacklistTimeout=5000 database.mysql.engine=ndb But when we run the liferay server It fail to create database and say that error no:140. When we googling the error 140, that say that if your database is utf-8 varchar can not be greater than 256 so before we start the liferay portal first we change the database structure. Download the liferay-portal-sql.**.zip then in create-minimal-mysql.sql script find “create table User_” then change “openId varchar(1024) null” to “openId varchar(200) null” and “engine InnoDB;” to “engine NDB;” and run the create script in one of the node. Lastly when you run the liferay portal it run normally. Dont afraid the first creating takes 10 minute or more. create table User_ ( uuid_ varchar(75) null, userId bigint not null primary key, companyId bigint, createDate datetime null, modifiedDate datetime null, defaultUser tinyint, contactId bigint, password_ varchar(75) null, passwordEncrypted tinyint, passwordReset tinyint, passwordModifiedDate datetime null, digest varchar(255) null, reminderQueryQuestion varchar(75) null, reminderQueryAnswer varchar(75) null, graceLoginCount integer, screenName varchar(75) null, emailAddress varchar(75) null, facebookId bigint, openId varchar(200) null, portraitId bigint, languageId varchar(75) null, timeZoneId varchar(75) null, greeting varchar(255) null, comments longtext null, firstName varchar(75) null, middleName varchar(75) null, lastName varchar(75) null, jobTitle varchar(100) null, loginDate datetime null, loginIP varchar(75) null, lastLoginDate datetime null, lastLoginIP varchar(75) null, lastFailedLoginDate datetime null, failedLoginAttempts integer, lockout tinyint, lockoutDate datetime null, agreedToTermsOfUse tinyint, active_ tinyint ) engine NDB;

9 Mart 2012 Cuma

Mülakat ve İncelikleri

Merhaba Arkadaşlar ,
Nicedir dertlendiğim bir konuyu açmak istiyorum. “Ezbercilerden nefret ederim.” Kısaca Mevlana Celaleddin Ruminin kitap taşıyan merkebe benzettiği ezberleyip hayata geçirmeme, Einstein‘nın herkesin Londra ile Paris arasındaki mesafeyi bilmesini ; fakat kendisinin bilmemesini kafamı boş şeyler ile dolduramam sözü ile özetliyorum. Birşeyler bilip hayata geçirip öğrenen arkadaşlar tamamen yazımın dışında kalmaktadırlar.
Yani kısaca herhangi bir arama motoru ile bulabileceğiniz bir konuyu kişilere sormak ve mülakat sonunda hehehe bilemedi türü saçma sapan hikaye parçacıkları canımı çok sıkmakta. Mühendislerin amacı madem ki çözüm yolu üretmek başkasının çözümünü kopyalamak değil . O zaman kişilere çözüm üretecekleri problemleri sorarak problemi nasıl ve hangi aşamalarda çözüm getirdiklerini görmek çok mantıklı olacaktır. Bu arada dikkat etmemiz gereken bir konu çözümün tek olmadığı doğal olarak herkesin farklı bir çözümü olabileceğidir. O zaman kişiye değer verip sonuna kadar dinlemek ve cevap veremediği durumlarda küçük yardımlarla ilerde istediğiniz ekip ruhunun yakalanması için de faydalı olacaktır. Her mülakat gibi yaptığınız veya yapacağınız tüm mülakatlar unutulacaktır. Bir mühendisle mülakat yaparken kişinin dirençlerini ve hangi koşullarda çalışabileceğini öğrenmek için sonuna kadar sıkın. Başıma gelen bir olay arkadaşın biri ile mülakattayız, bayağı sıkıştırdım arada bana bir küfür etti ;fakat kendi bile farkına varmadı. Müşterilerinizi sanırım böyle bir arkadaş ile başbaşa bırakmak istemezsiniz. Bu arada en önemli konulardan birisi de bağlılık; kişinin ailesi, vatanı , arkadaşları, dini, ahlakına ne kadar bağlı olduğudur. Yaşadığım bir örnek: staj yaptığım iş yerinde 2 arkadaş projenin son anında hiç haber vermeden direk olarak işten ayrıldılar, yeni büyüyen bu şirket olarak doğal olarak battı. Burdan da anlaşılacağı üzere projelerde asla kimseye bağlı kalmayın, ama size sadık ekip üyeleriniz olsun. İşinizi sahiplenmesi için sizinde onları sahipleneceğinizi gösterin. Bu arada eğer sana bağımlı kalacağımızı düşünüyorsan ya bize hiç gelme yada hiç durma gibi bir mesaj vermek doğru olabilir(Bu konunun nasıl olacağını deneyerek görebilirsiniz sanırım tam olarak test etmediğim için olabilir sözcüğünü kullandım).
En önem verdiğim cevaba gelince hızla gelişen teknolojinin her gün yeniden büyüdüğü dünyamızda en son olarak hangi teknolojiyi kullandığı veya en azından inceleği, hangi blok , kitap veya iş ile ilgili neler yaptığını öğrenmeniz. 2 sene öncenin teknolojisini bilen arkadaştan ne kendisine faydalı olması nede şirketinize faydalı olmasını bekleyemezsiniz.

Yazdığım kısa özet yazımın hem proje yöneticisi, insan kaynakları yöneticilerine hemde değerli arkadaşlarıma fayda getirmesini umarak yazıma son veriyorum. Sağlıcakla kalın, ülkemize ve dünyaya güzel projeler meydana getirmeniz dileğiyle

1 Şubat 2011 Salı

JAX-WS exception handling

In JAX-WS you can set connection timeout and read timeout several ways. I like the most common use one from System.properties or application server settings.

For example in tomcat you can set connection timeout and read timeout from env.bat/sh

"-Dsun.net.client.defaultConnectTimeout=100 -Dsun.net.client.defaultReadTimeout=10000" the problem is handling timeout exception from client side. You must throws IOException from your methot which call the webservice port.

Example

normally your client will be

private static String helloService() {
tr.murat.NewWebServiceService service = new tr.murat.NewWebServiceService();
tr.murat.NewWebService port = service.getNewWebServicePort();
return port.helloService();
}

when you add throws IOException you can handle the errors.

private static String helloService() throws IOException {
tr.murat.NewWebServiceService service = new tr.murat.NewWebServiceService();
tr.murat.NewWebService port = service.getNewWebServicePort();
return port.helloService();
}

9 Ağustos 2010 Pazartesi

Notepad ++ on ubuntu

Install wine first
sudo apt-get install wine

then download notepad ++

chmod 755 npp.x.x.Installer.exe

then right click and install with wine

29 Temmuz 2010 Perşembe

Open Portlet Container Portal gibi kullanılabilir mi?

Merhabalar,

Bu birkaç gün open portal container'ın portal container olarak kullanılıp kullanamayağına bakıyordum. Sun portal gibi getContent ile portlet çekebilen bir methot yaratmaya çalıştım. Action oluştuğunda birden fazla action oluşup render methotları çalıştığında bu işin olmayağı fikrine kapıldım. Çünkü getPortlet(Portletid) render sırasına göre render ediliyor ve örneğin 1,2,3,4 ve 5 numaralı portletler var ve 3 numaralı portlette action oluşuyorsa ve bu oluşan action sonucunda 1 numaralı portlet bir event yakalıyorsa; getPortlet() methodumun tüm çağrıları yakalaması gerekiyordu. Böyle bir şeyi ilk önce hook ile olabilir mi diye düşündüm. Hook olmazdı çünkü bir işlem yapılmadan önce yapılacak işlemleri belirliyordu.
Tam bu arada action oluştuktan sonra portallerin beni tekrar render url gönderdiğinin farkına vardım. Yani action oluşup gerekli değişiklikler, eventler handle ediliyor ardından tekrar render çağırılarak işlemin doğru şekilde yapılması sağlanıyor.



13 Temmuz 2010 Salı

Linux file operation


I love linux because It is really fast. I copy 200.000 of file in 20 minutes. I think in windows I must spent one day