Sayfalar

22 Mayıs 2011 Pazar

Java Thread - ExecutorService Örneği - Seri / Paralel

0 yorum
Aşağıda, Java 1.5 ile birlikte gelen ExecutorService arayüzünü kullanarak oluşturduğum bir multithread uygulama örneğini paylaşmak isterim. Bu örnekte, işlemlerin paralel ve seri olarak çalıştırılması ve sonuçlarının dönülmesini görebilirsiniz:

package karalama.thread;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

class TaskResult {
private String resultStr;
public TaskResult(String resultStr) {
this.resultStr = resultStr;
}
public String getResultStr() {
return resultStr;
}

}

public class ExecuterTester {

private static final class CallableTask implements Callable<TaskResult> {
private String name ;
private long waitTime;

public CallableTask(String name, long waitTime) {
this.name = name;
this.waitTime = waitTime;
}

@Override
public TaskResult call() throws Exception {
System.out.println(name
+ " started");
long t = System.currentTimeMillis();
Thread.sleep(waitTime);
String result
= name + " ended - " + (System.currentTimeMillis()-t) / 1000 + " sn geçti.";
//System.out.println(result);
return new TaskResult(result);
}
}

public static void main(String args[]) {
ExecutorService executorService
= Executors.newCachedThreadPool();
List
<Callable<TaskResult>> tasks = new ArrayList<Callable<TaskResult>>();

tasks.add(
new CallableTask("task1", 1000));
tasks.add(
new CallableTask("task2", 2000));
tasks.add(
new CallableTask("task3", 3000));
tasks.add(
new CallableTask("task4", 4000));
tasks.add(
new CallableTask("task5", 5000));

try {
System.out.println(
"Paralel İşlem");
long t = System.currentTimeMillis();
List
<Future<TaskResult>> futureList = executorService.invokeAll(tasks);
for (Future<TaskResult> future : futureList) {
TaskResult taskResult
= future.get();
System.out.println(taskResult.getResultStr());
}
System.out.println(
"Toplamda " + (System.currentTimeMillis()-t) / 1000 + " sn geçti.");
}
catch (InterruptedException e) {
e.printStackTrace();
}
catch (ExecutionException e) {
e.printStackTrace();
}

System.out.println(
"\nSeri İşlem");
long t = System.currentTimeMillis();
for (Callable<TaskResult> task : tasks) {
Future
<TaskResult> future = executorService.submit(task);
try {
TaskResult taskResult
= future.get();
System.out.println(taskResult.getResultStr());
}
catch (InterruptedException e) {
e.printStackTrace();
}
catch (ExecutionException e) {
e.printStackTrace();
}

}
System.out.println(
"Toplamda " + (System.currentTimeMillis()-t) / 1000 + " sn geçti.");
}



}


Uygulama Çıktısı:

Paralel İşlem
task1 başladı
task2 başladı
task3 başladı
task4 başladı
task5 başladı
task1 bitti - 1 sn geçti.
task2 bitti - 2 sn geçti.
task3 bitti - 3 sn geçti.
task4 bitti - 4 sn geçti.
task5 bitti - 5 sn geçti.
Toplamda 5 sn geçti.

Seri İşlem
task1 başladı
task1 bitti - 1 sn geçti.
task2 başladı
task2 bitti - 2 sn geçti.
task3 başladı
task3 bitti - 3 sn geçti.
task4 başladı
task4 bitti - 4 sn geçti.
task5 başladı
task5 bitti - 5 sn geçti.
Toplamda 15 sn geçti.


ali kemal taşçı

19 Mayıs 2011 Perşembe

Görmediğimiz Türkiye Fotoğrafları Sergisi

0 yorum


Bugün, National Geographic'in 10. yılı şerefine, arşivinden çıkarttığı, Türkiye`nin bugüne kadar görülmemiş fotoğrafları sergisindeydim. Cumhuriyetin ilk yıllarına kadar uzanan fotoğraf sergisinde Türkiye`den çok özel fotoğrafları görebilirsiniz. Sergi, İstanbul Modern Müzesi`nin yanında bulunan Atrepo 3'te, 11 Haziran'a kadar ziyaret'e açık olacak.



İlgimi çeken bazı kareleri aşağıda paylaşmak isterim:


















İSTANBUL ÇOCUKLARI

Yaşlar küçük, ifadeler yaşlı. Yan yana dizilmişler, endişe, şüphe ve merakla asılan yüzler kameraya bakıyor. Yıl 1924. İstanbul’un yoksul mahallelerinden kim bilir hangisi…

FOTOĞRAFÇI: MERL LA VOY






















BUZLU BOĞAZ

Takvimler tam olarak 1 Mart 1929’u gösteriyor. Rumeli Hisarı onca yıldır gözlediği Boğaz’dan geçen buz kütlelerinin tanığı, bu defa. Anadolu Hisarı karşı kıyıda.

FOTOĞRAFÇI: MAYNARD OWEN WILLIAMS


KÖY İMAMI JİMNASTİK HOCASI

1933 yılı, Bursa yakınlarında bir köy. “Bu küçücük köy bile modern jimnastik hareketlerinden bihaber değil.” Fotoğrafçı, “Türkiye Cumhuriyeti din ve devlet işlerini birbirinden ayırmış olsa da” diyor, “eğitmen eksikliği nedeniyle köy imamı hem öğretmen hem de jimnastik hocası olmuş.”

FOTOĞRAFÇI: KURT VE MARGOT LUBİNSKİ



















İlgili Bağlantılar:
Görmediğimiz Türkiye Sergisi
Görmediğimiz Türkiye
Görmediğimiz bir Türkiye


ali kemal taşçı

20 Nisan 2011 Çarşamba

Fotoğraf Dergileri

0 yorum
Faydalı bulduğum aşağıdaki bazı online fotoğraf dergilerini sizinle de paylaşmak isterim...


6GEN Fotoğraf Dergisi
Ekranınızda sayfalarını çevirerek okuyabileceğiniz bir diğer fotoğraf dergisi de 6GEN. İçeriğinde faydalı bilgilerin, röportajların ve portfolyoları bulabileceğiniz bu dergiyi de zevkle takip edeceğinizi söyleyebilirim.







fotoritim

Sayfalarını çeviremeseniz de zevkle takip edeceğiniz fotoğraf dizilerine bu dergi ile ulaşabilirsiniz. Birçok fotoğrafı hikayeleri ile okumanın zevkine varacağınızı söyleyebilirim.







fotoğraf dergisi

Zevkle takip edebileceğiniz yazıların yayınlandığı bir diğer dergi de adı üzerinde "fotoğraf dergisi"... Bu dergide de yine çok güzel makale, röportaj ve gezi notlarının yanında ustaların portfolyolarına ulaşabilirsiniz.






ANADOLU FOTOĞRAF DERGİSİ

"Bir Işık da Sen Yak Anadolu'da" sloganıyla yayın hayatına yeniden merhaba diyen "ANADOLU FOTOĞRAF DERGİSİ", daha ilk sayısından takip edilesi yazı dizilerine ve fotoğraflarına gebe olduğunu gösteriyor. Zevkle takip edeceğinizi umduğum bu dergide fotomakalelerinden, röportajlara ve yarışma duyurularına kadar ilginizi çekebileceğini düşündüğüm bir çok yazıya ulaşabilirsiniz.






FotoNO1

- FotoNO1, aslında bir fotoğraf paylaşım sitesi... Özellikle üye olduğunuzda(ücretsiz), uzmanların fotoğraf yorumlarına ve eğitici makalelerine ulaşabilirsiniz.


Aşağıdaki linklerden de, naçizane fotoğraf çekme denemelerime ulaşabilirsiniz:

http://www.flickr.com/photos/ali_kemal/



http://www.fotokritik.com/kullanici/Ali_Kemal/portfolyo/



ali kemal taşçı

24 Mart 2011 Perşembe

Iphone Resetleme

0 yorum
Geçen gün yeni şarj olmuş iphone telefonu üst kısmındaki düğmeyle stand by konumuna aldıktan sonra hiç bir şekilde açamadım.
Eğer siz de böyle bir sorunla karşılaşırsanız aklınızda bulunsun, aşağıdaki şekilde iphone'unuzu resetleyebilirsiniz:

Iphone'un ortasındaki yuvarlak tuşu ile beraber üst kısmındaki açma kapama tuşuna fotoğraftaki gibi aynı anda yaklaşık 10-15 sn kadar basılı tutunuz.






ali kemal taşçı

16 Şubat 2011 Çarşamba

class file has wrong version 50.0, should be 49.0

0 yorum
Java Derleme Hatası:

/view/boranbugfix/TEA_Revised/CustomerManagement/CustomerInformationManagement/src/com/frm/cusman/cusinfman/mvno/service/impl/DispatchSMSClientServiceImpl.java:10: cannot access com.frm.mvno.dispatchSMSClient.DispatchSMSLocator

bad class file: /view/boranbugfix/TEA_Revised/CustomerManagement/CustomerInformationManagement/cusinfman/WEB-INF/lib/DispatchSMS-Client.jar(com/frm/mvno/dispatchSMSClient/DispatchSMSLocator.class)

class file has wrong version 50.0, should be 49.0

Please remove or make sure it appears in the correct subdirectory of the classpath.

Bu tip hatalar, derleme sırasında kullandığımız .jar dosyalarındaki derlenmiş classlar'ın java versiyonu ile, kendi derleme ortamımızın Java versiyonunun uyumsuzluğundan kaynaklanır. Yukarıdaki örnekte; Java SDK 1.6.x ile derlenmiş "DispatchSMS-Client.jar" dosyası ile, Java SDK 1.5.x ortamında derleme işlemi yaparken hata alınmıştır.

Aşağıda bazı versiyon numaralarına karşılık gelen Java runtime versiyonlarını görebilirsiniz:

Version 50.0 = Java 1.6.x
Version 49.0 = Java 1.5.x
Version 48.0 = Java 1.4.x

Bu tip hataların çözümünde, mümkünse, kullandığımız .jar'ın daha düşük versiyonlarla derlenmiş versiyonlarını kullanmamız veya kullandığımız Java SDK versiyonu yerine daha yüksek bir versiyon(kullandığımız .jar'ın versiyonu veya daha yükseği) kullanmamız gerekir.

ali kemal taşçı



27 Kasım 2010 Cumartesi

SLR Fotoğraf Makinesi Simulatörü

0 yorum
Fotoğrafçılığı öğrenmek isteyenlerin, bu konu ile ilgili bazı kavramları bilmesi gerekir. Bu kavramlar, ilk başta karışık gelse de makinenin ayarları ile oynayıp denemeler yaparak anlaşılmaları mümkündür.

Bir makineniz olmadan da, bu ayarlarla oynayıp denemler yapabileceğiniz bir simülatör olduğunu biliyor muydunuz?

200912_simulator

Bu faydalı simulatör'e buradan ulaşabilirsiniz...


ali kemal taşçı



Fotoğrafçılık ve Temel Fotoğrafçılık Kavramları - Diyafram - Enstantane - ISO - Alan Derinliği

0 yorum


Fotoğrafçılık, kamerayla, ışığı hassas bir yüzey üzerine kaydederek görüntü oluşturma işidir.

Fotoğrafçılık, işlevsel uygulamaları nedeniyle bir zanaat olduğu gibi, estetik yönüyle de bir sanattır.





Fotoğrafçılığa başlarken, işe öncelikle bu işin temel kavramlarını öğrenmekle başlamak gerekir. Fotoğraf çekmeye yeni başlayanların bilmesi gereken bazı temel kavramları, gelin birlikte öğrenmeye çalışalım.

  • Diyafram(Işık Düzengeci)
Objektiflerin içinden geçecek olan ışığın miktarını ayarlayan mekanizmaya diyafram denir. Gözümüz değişik yoğunluktaki ışık koşullarında, ışığı denetlemek için iristen yararlanır. İris az ışıklı ortamlarda açılır ve içeriye daha fazla ışık girmesi sağlanır, tersi durumda iris çok ışıklı durumlarda kısılarak ışığın gözümüzü rahatsız etmesi engellenir. Diyaframda tıpkı iris gibi davranarak çok ışıklı durumlarda filmin yanmasını, az ışıklı durumlarda filmin ışıksız kalmasını engeller. Diyafram "f" harfi ile ifade edilir. Bu harf İngilizce "Focus", Fransızca "Foyer" kelimelerinin baş harfidir. Diyafram halkası objektif üzerinde bulunur. Diyafram değerleri: 1 - 1,2 - 1,4 - 2 - 2,8 - 4 - 5,6 - 8 - 11 - 16 - 22 - 32 olmak üzere gider. Farklı ara değerler de olabilir. İlk bakışta pek de simetrik görünmeyen diyafram değerleri bir basamak şeklinde düzenlenmiştir. Basamak oluşturan değerlerden her biri, bir sonraki (ya da bir önceki) sayısal değerin tam iki katı ışık aralığına işaret eder. Buna göre, örneğin 5.6 sayısı ile belirtlilen ışık aralığı, 8 sayısı ile belirtilen ışık aralığının tam iki katı ışık geçmesini sağlayan bir ışık aralığıdır. Diyafram değeri(f) artırıldıkça giren ışık miktarı azalır. Diyafram değerleri, mutlaka enstantane(ışıklama süresi) ile eşleştirilerek kullanılır. Geniş bir diyafram değeri seçildiğinde enstantane değerinin düşürülmesi, dar bir diyafram değeri seçildiğinde ise, enstantane değerinin arttırılması gerekir.






Açık(1)ve kapalı(2) konum


f/32 ile çekim
f/5.6 ile çekim

  • Enstantane(Işıklama Süresi)
Fransızca enstantane (instantané) "bir anlık; ansızın" anlamına gelir. Bir anlık görünüşü, durumu anlatmak için kullanılır. Obtüratör hızı ya da perde hızı olarak da geçebilen enstantane, deklanşör düğmesine (fotoğraf çekmek için bastığımız düğme) bastığımızda optik algılayıcıya ne kadar süre ile ışık düşürüleceğini belirtir. Bu süre algılayıcının kaç saniye pozlanacağını gösterir diyebiliriz. Perde, DSLR fotoğraf makinelerinde mekanik iken, kompakt makinelerde elektronik olabilmektedir ama her ikisinin yaptığı görev aynıdır; algılayıcıya ne kadar süre ile ışık düşeceğini belirlerler.



Windflower-05237-nevit.JPG

Enstantane değerleri aşağıdaki gibi olabilmektedir:

8000, 6400, 5000, 4000, 3200, 2500, 2000, 1600, 1250, 1000, 800, 640, 500, 400, 320, 250, 200, 160, 125,100, 80, 60, 50, 40, 30, 25, 20, 15, 13, 10, 8, 6, 5, 4, 0″3, 0″4, 0″5, 0″6, 0″8, 1″, 1″3, 1″6, 2″, 2″5, 3″2, 4″, 5″, 6″, 8″, 10″, 13″, 15″, 20″, 25″, 30″


Yukarıdaki bu değerler 1/3 duraklı enstantane değerleridir. Kalın yazılmış olanlar tam durak olup, 2 tam durak arasında 2 adet de 1/3 duraklık değer yer alır. Her bir değer, kendinden önceki değerin sağladığından 1/3 durak daha fazla ışık demektir. Mesela 1/4000, 1/8000′in 2 katı ışık sağlar. Ekranda gösterimi kolay olsun diye yukarıdaki değerler şeklinde görülürler. ” işareti barındırmayanlar 1/değer saniyedir yani 8000 değeri 1/8000 saniyedir. ” işaretini barındıranları okumanın en kolay yolu ise ” işaretini nokta olarak okumaktır yani 0″5 değeri 0.5 saniye, 8″ değeri de 8 tam saniyedir.

Aşağıdaki fotoğraflarda aynı objenin farklı enstantane değerleri ile çekilmesini görebilirsiniz:




  • ISO
‘International Organization for Standardization’ yani ‘Uluslararası Standartlık Örgütü’nün kısaltmasıdır. Bizim fotoğrafçılık terimlerinden ISO ile kastetmek istediğimizi aslında ‘ISO Speed’dir yani ‘ISO hızı’dır. ISO, optik algılayıcının ışığa duyarlılığını belirtir yani ISO arttırkça optik algılayıcı ışığa karşı daha hassas olacaktır. Filmli dönemde ISO 6 ile ISO 3200 arasında filmler bulunabiliyorken dijital makinalarda ISO 50-102,400 arasında seçeneklere sahibiz ve her geçen sene çıta biraz daha yükseliyor. DSLR makinelerin hem filmli SLR, hem de kompakt fotoğraf makinelerine göre asıl avantajı da burada ortaya çıkıyor: Işığın yetersiz olduğu ortamlarda da çekim yapabilmek.

ISO’nun kullanımı enstantane ve diyaframa destek olacak şekilde olmalıdır. Normal çekimlerinizde ISO değerini makinenin sahip olduğu doğal en düşük ISO değeri olarak kulanmalısınız. Bu değer makinenizin modeline göre değişmekte ama genelde ISO100 veya ISO200'dür. Eğer en düşük ISO değerinde, kullanmak istediğiniz enstantane ve/veya diyafram değeri az pozlamaya neden oluyorsa, yani fotoğraf olması gerektiğinden karanlık çıkıyorsa o zaman ISO değerini arttırarak doğru pozlama elde edebilirsiniz.

Buna bir örnek vererek kafamızda canlanmasını kolaylaştıralım. Diyelim A(Aperture-diyafram öncelikli) modunda gece çekim yapıyorsunuz. Diyaframınızı en küçük f değeri olarak ayarladınız ama poz ölçümü sonrasında makineniz enstantaneyi ISO 100′de 1/8 olarak veriyor. 50mm’lik lens kullanıyorsunuz ve gövdede ya da lensiniz de titreme engelleme sistemi mevcut değil. Bu durumda en azından 1/60 gibi bir enstantane kullanarak el titremesi kaynaklı bulanıklığın önüne geçmek istersiniz. 1/60 ise 1/8′e göre 3 durak daha fazla ışığa gereksinim duyacaktır (1/8, 1/15, 1/30, 1/60). Bu durumda diyaframınızı daha fazla açamayacağınız için ISO değerini 3 durak yükseltmeniz gerekir yani ISO100 yerine ISO800 kullanarak (ISO 100, ISO 200, ISO 400, ISO 800) fotoğrafı çekebilirsiniz.

Aşağıdaki fotoğraflarda, farklı ISO hızı değerlerinin fotoğraf üzerindeki etkisini görebilirsiniz:

En yüksek ISO değerinden genelde uzak durmak gerekir :) Sony Alpha 500'ün ISO başarımı beğendik ama ISO 12,800 fotorğaf makinesinin kapasitesini aşıyor. ISO 12,800 değerini unutup, ISO 6400'ü azami ISO değeri olarak düşünmek en sağlıklı yol olacaktır.


  • Alan Derinliği
Diyafram açıklıklarının, objektiften geçerek filme etki eden ışık miktarını ayarlaması yanında, ikinci bir görevi de alan derinliğini belirlemesidir. Alan derinliği, netliğin ayarlanmış olduğu noktanın önünde ve arkasında uzanan netlik bölgesidir. Yani fotoğrafta ön plandaki en net nokta ile arka plandaki en net nokta arasındaki uzaklıktır denebilir.



Alan derinliği sınırları, yani en öndeki net nokta ile en arkadaki net nokta arasındaki mesafe, istenilen netliğin sınırları, objektif odak uzaklığı, diyafram açıklığı ve konu ile fotoğraf makinesi arasındaki mesafe gibi birtakım etkenlere bağlıdır. Diyafram açıklığı küçüldükçe alan derinliği artar, yakındaki ve uzaktaki cisimlerin görüntüleri daha net olur. Diyafram açıklığı büyüdükçe alan derinliği azalır ve belli bir uzaklıktaki bütün cisimlerin, makina sonsuza ayar edilmedikçe kesin, belirli net bir görüntüsünü elde etmek olanaksızlaşır. Alan derinliğini sınırlamanın fotoğrafta üç boyutluluk duygusunu kazandırma gibi bazı önemli yararları vardır.



Aşağıdaki fotoğraflarda, aynı karenin farklı alan derinlikleri ile çekilmesini görebilirsiniz:

alan derinligi


Bir makineniz olmadan da bu kavramlar üzerinde deneme yapabilirsiniz.
Nasıl mı? Tabi ki bir slr fotoğraf makinesi sümulatörü ile...

Yararlandığım Kaynaklar:


ali kemal taşçı