9 Eylül 2009 Çarşamba

Dunning ve Kruger Etkisi

Justin Kruger and David Dunning isimli iki psikoloji profesörü 65 Cornell üniversite öğrencisi üzerinde bazı testler uygulamışlar. Gramer, mantık ve şaka içerikli testler yapmışlar ve öğrencilerden testlerdeki performanslarını tahmin etmelerini istemişler.

Testlerde en düşük %25 e girenler, performans ve yeteneklerini çok daha üzerinde tahmin etmişler. İlk %12 ye girenler ise kendilerini %58 lerde tahmin etmişler.

Çalışmaları ve deney sonuçları, Aralık 1999 da Journal of Personality and Social Psychology dergisi yayınlanmış. Makalede vardıkları sonuç ise:
    We propose that those with limited knowledge in a
    domain suffer a dual burden: Not only do they reach mistaken
    conclusions and make regrettable errors, but their incompetence
    robs them of the ability to realize it.
İlgilenenler için makale burada.

4 Eylül 2009 Cuma

Java client ile servlet kullanarak file upload (Bu cümleyi Türkçe yazmak mümkün mü?)

Diyelim ki java ugulamanız ile bir server'a dosya upload etmeniz gerekiyor.. Apache bunun için http client ve file upload kütüphaneleri oluşturmuş. Bu kütüphaneleri kullanarak basit bir şekilde işinizi halledebiliyorsunuz. Ben client tarafında httpclient-2.0 jar'ı, server tarafında ise fileupload-1.0 jar'ı kullandım. Bunların yeni sürümleri de var ama bunlar da işimi gördü.

Öncelikle client koda bakalım:

public static void upload(String sourceFilePath) {
String servletUrl = "http://some.url/servlet";
try {
HttpClient client = new HttpClient();
MultipartPostMethod mPost = new MultipartPostMethod(servletUrl);
// Connection timeout in milliseconds
client.setConnectionTimeout(8000);

File file = new File(sourceFilePath);
mPost.addParameter(file.getName(), file);

int statusCode = client.executeMethod(mPost);
mPost.releaseConnection();
if (statusCode == 2000) {
throw new Exception("Dosya upload edilemedi");
}
// diğer işlemler....
} catch (Exception ex) {
// hatayla ilgili kod...
}
}


Karşı tarafta da bu isteği karşılayacak bir servlet yazmak gerekiyor:

protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
String dosyaDizini="D:\\";
try {
DiskFileUpload diskFileUpload = new DiskFileUpload();
// Maksimum kabul edilebilecek dosya boyutu
diskFileUpload.setSizeMax(1000000);

List requestItems = diskFileUpload.parseRequest(request);
Iterator iterator = requestItems.iterator();

while (iterator.hasNext()) {
FileItem fileItem = (FileItem) iterator.next();
if (!fileItem.isFormField()) {
File file= new File(dosyaDizini,fileItem.getName());
fileItem.write(file);
// CLİENT'A BAŞARI MESAJI
response.sendError(1000);
}
}
} catch (Exception ioex) {
// HATA OLUŞTU MESAJI
response.sendError(2000);
}
}

Tabi ki bu api ile dosya dışında metinsel parametreler göndermek de mümkün.



3 Eylül 2009 Perşembe

Şiirler(!)