Nedir bu Pelin Batun’un Murat Bardakçı’dan çektiği

Tarih: Pazar, Nisan 19, 2009 Kategori: Bilgisayar

pelin-batuAçık yazmam gerekirse televizyonlardaki bu kadar dizi, şov vs. eğelence programlarının karşısına böyle kültürel bir programla çıkmak her yiğidin harcı değil, bu yüzden Murat Bardakçı, Fatih Altaylı ve diğer hepsini tekrardan tebrik etmek istiyorum.

Ben Murat Bardakçı’nın ve Fatih Altaylı’nın Habertürk’deki bu programları yapmaya başladığından beri takip ederim, taa ki dün abiler Bakırköy’de saat 03:00 de yaptıkları bir kazı ile tüm ilçenin elektiriklerini kesene kadar.

Programın en cafcaflı yerini maalesef ki seyredemedim, Pelin Batu’uya Murat Bardakçı’nın takılması çok hoşumuza gidiyor. Pelin Batu hanfendinin o kültürlü ve muhteşem hali, sinirlendiğinde bile nezaketi, hanfendiliğini kaybetmemesi çok hoşuma gidiyor. Yalnız Murat Bardakçı çok sinirli bir abimiz, olsun ama onu da öyle kabul ettik biz.

pelin-batu-2

Dün gece işte tam bizim burada elektirikler kesildiğinde aşağıdaki durum yaşanmış, saolsun Habertürk’çü arkadaşlar internet sitelerine koymuşlar benim için.

preview image

Ünlü çi ve gazeteci Murat Bardakçı’nın hazırlayıp sunduğu “Tarihin Arka Odas” programı renkli görüntülere sahne oldu. Cumartesi gecesi yapılan programın bitmesine yakın dakikalarda bir izleyicinin sorduğu soru sonrasında hoş bir sohbet ortaya çıktı. Murat Bardakçı, Pelin Batu’yu bu kez fena korkuttu.

İşte Pelin Batu’yu “Hayır hayır” dedirterek, masa üzerine çıkartan o diyalog:

Pelin Batu daha önce de eylemci ruhunu göstermişti. blog.wolkanca.com/pelin-batu-eylemci-ruhunu-tarihin-arka-odasinda-gosterince

© 2005 – 2009 wolkanca. Bu yazi blog.wolkanca.com adresinde yazildi, sitenin yazilari yalnizca izin alinmak kaydi ile alinti yapilabilir ve yayinlanabilir.


Etiket: , , , , , , , ,

Bunu okuyan şunları da okur;

Yorumlar kapalı

MVC (Model View Controller, Model Bakış Kontrolcü)

Tarih: Cuma, Nisan 17, 2009 Kategori: Bilgisayar, Bilgisayar Kavramları

Yazan : Şadi Evren ŞEKER

Yazılım mühendisliğinde kullanılan bir mimari yaklaşımdır. Basitçe yazılımın tasarımı ve geliştirilmesi aşamalarında etkili olan bir bakış açısını yansıtır.

Bu bakış açısına göre kullanıcı ara yüzü (user interface) ile iş mantığı (business logic) birbirinden ayrı olmalıdır. Yani kullanıcıların önündeki ekranların tasarlanması ve geliştirilmesi sırasında kullanıcı gözüyle analiz yapılmalı ve bu analize göre kullanıcıya en kullanışlı (user friendly) ekran tasarımı yapılarak geliştirilmelidir. Arka tarafta ise iş mantığı (business logic) gözetilmeli ve kullanıcı ara yüzlerinden bu mantığa bağlantı kurulmalıdır.

MVC yaklaşımı 3 parçadan oluşur bu parçalar isminde de geçen :

  • Model (Model)
  • View (Bakış)
  • Conroller (Kontrolcü)

parçalarıdır.

Bu parçalardan model, bilgiyi (information) veya veriyi (data) göstermek için kullanılır. View (Bakış) ise kullanıcı ara yüzünü ve kullanıcının sistem ile olan iletişimini ele alır. Controller (Kontrolcü) ise sistemin veri akışını ve bu verinin model ile olan bağlantısını kontrol etmek amacıyla kullanılır.

Yukarıdaki şekilde bu parçalar arasındaki bağlantı görülmektedir. Model parçasında modellenen veriye view(Bakıştan) doğrudan erişim bulunurken kontrolcü parçası iki parçaya da erişerek kontrolü sağlamaktadır.

MVC yaklaşımını gerçek hayattan bir örnek ile anlatmak gerekirse. Örneğin bir web sayfasının geliştirilemsi sırasında Bakış katmanı genelde HTML dilinde üretilir. HTML dilindeki bu sayfaları üreten sunucu tarafında bir kodlama (örneğin PHP, JSP veya ASP gibi) bir katman bulunur ki bu katmana kontrolcü (controller) ismi verilir. Son olarak verinin tutulduğu ve modellendiği bir katman da bulunur ki bu katmanada Model ismi verilir. Dolayısıyla MVC yaklaşımına göre bazı teknolojilerin katmanlandırılması aşağıdaki şekilde olabilir:

Yukarıdaki katmanlar birer örnek olarak düşünülüp farklı teknolojilerinde burada kullanılabileceği unutulmamalıdır.

Günümüzde .NET J2EE gibi ortamları MVC mimarisine uygun geliştirme ortamları olarak görmek mümkündür. Ayrıca bu ortamlarda birden fazla MVC alternatifi çerçeve (Framework) de bulunmaktadır. Örneğin J2EE ortamı için JSF (Java Server Faces) , Structs, JSP gibi alternatifler sayılabilir.

Web Tasarımında sıkça karşılaşılan hatalar

Tarih: Cuma, Nisan 10, 2009 Kategori: Teknoloji, İnternet Haberleri

Bir site tasarlamak sanıldığı kadar kolay bir iş değildir. Tasarımın güzelliği ayrıntılarda gizlidir ve o ayrıntılar web tasarımında o kadar fazladır ki bazen gözümüzden kaçan hatalar başkasının gözüne çok batabilir. Bu makalede sıkça yapılan hatalara dikkat çekilmiş ve tasarımda bize kolaylık sağlayacak öğelere değinilmiştir.

Tipografi
Web sayfalarında en çok göze hitap eden öğeler yazı karakterleridir. Uygun font’ların kullanılması tasarımlarımızı daha da çekici kılar. Fontların değişik işletim sistemlerindeki görünüşüne buradan bakabilirsiniz. Buradaki listede kullanıcı memnuniyetini en üst düzeye çıkarmak için “yazı tipi ailelerini” (font family) nasıl ayarlamanız gerektiğini bulabilirsiniz.

\

İkiden fazla Font Kullanmayın!
Tasarımlarda çok fazla sayıda font kullanmak sakıncalı olmaktadır. Eğer farklı font kullanmak istiyorsanız, başlıklar için ayrı düz yazılarınız için ayrı olmak üzere toplam 2 font belirleyin ve kullanın. Örneğin Başlıklar için “IMPACT” yazılar için “ARIAL” kullandıysanız, diğer sayfalarda da bu seçimleri kullanın. Ayrıca her font değişik alt, üst değerler ve satır yüksekliği kullanmaktadır. Bu değerleri karşılaştırmak için TypeTester programını kullanabilirsiniz.

devamını oku »

ilgili yazılar

bu yazı basarozcan tarafından bildirgec.org adresli sitede yayımlanmak üzere yazılmıştır. kaynak gösterilmeksizin kopyalanamaz.

etiketler: , , , , , , , , , , , , , , , , , , , , , , , , , ,

Wordpress’te Arşiv Sayfası Nasıl Yapılır?

Tarih: Cuma, Nisan 3, 2009 Kategori: Bilgisayar

Geçenlerde bir ziyaretçim bana iletişim formu aracılığıyla arşiv sayfasını nasıl yaptığımı sordu. Ben de ona bu sorunun cevabını blogumda bütün ziyaretçilerle paylaşmamın daha iyi olacağını düşündüğümü söyledim. Şimdi bu yazımda blogumdaki arşiv sayfasının nasıl yapılabileceğini anlatacağım.

Öncelikle şunu söylemem gerekir ki burada bahsettiğim yöntem Dejan Cancarevic‘in kendi blogunda arşiv sayfasının yapımında izlediği yöntemi esas alıyor. Bu yöntem ile herhangi bir eklenti kullanmadan, Wordpress’in bizlere sunduğu imkanlar içinde arşiv sayfamızı oluşturabiliyoruz. Harika değil mi?

Arşiv Yapısı

Daha önce muhakkak arşiv sayfama uğrayıp nasıl birşey olduğunu görmüşsünüzdür ama yine de arşiv sayfamızın nasıl göründüğünü aşağıda göstermek istiyorum:

Evet, yukarıda görebildiğiniz üzere üst kısımda bir arama kutusu bulunmakta. Bunun burada olmasının nedeni ziyaretçilerimizin arşivi taramak yerine hemen aklında olan bir terimi aramak isteyebilir (tembel ziyaretçileri de düşünmemiz lazım değil mi? xD). Alt kısımda da arşivimizdeki yazıların yazı/tarih biçiminde listelendiğini göreceksiniz. Gördüğünüz üzere arşivimizin yapısı gayet sade bir şekilde olacak.

Gösteri Zamanı

Şimdi yukarıdaki yapıyı oluşturmak için anahtar niteliğinde üç kod parçamız bulunmakta.

Wordpress’e Özel Şablon Tanımlamak İçin:

Wordpress’de özel şablonlar oluşturup istedimiz sayfada kullanabileceğimizi biliyor muydunuz? Burada anlattığım arşiv sayfasını da özel şablon sayesinde oluşturacağız. Özel şablonu Wordpress’e tanıtmak çok kolay. Sadece aşağıdaki gibi bir kod parçasını kullanmanız yeterli oluyor.

1
2
3
4
5
<?php
/*
Template Name: Arşiv Sayfası
*/
?>

Arama Kutusunu Oluşturmak İçin:

Arama kutusunu oluşturmak için de aşağıdaki kod parçasını kullanıyoruz. Buradaki yapıyı siz kendi blogunza özel olarak ayarlayabilirsiniz.

1
2
3
4
5
6
7
8
9
<!--SEARCH-->
<form action="<?php bloginfo('url'); ?>/" method="get">
	<div>
		<label for="search_term">Arama Yapın:</label>
		<input type="text" id="search_term" name="s" />
	</div>
	<div><button type="submit">Ara</button></div>
</form>
<!--/SEARCH-->

Arşiv Listesini Oluşturmak İçin:

Ve geldik en önemli kod parçamıza. Buradaki kod parçamız sayesinde bütün yazıları tarihe göre sıralayıp gösterebiliyoruz.

1
2
3
4
5
6
7
8
9
<!--ARCHIVE LIST-->
<h2>Yazılar</h2>
<ul>
	<?php $myposts = get_posts('numberposts=-1&offset=0');
	foreach($myposts as $post) : ?>
		<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?><span><?php the_time('d F Y H:i') ?></span></a></li>
	<?php endforeach; ?>
</ul>
<!--/ARCHIVE LIST-->

Bakın size burada bir ipucu vereyim. Eğer arşiv listenizde bir kategoriye ait yazıların gösterilmemesini istiyorsanız (mesela ben çalışmalarım kategorisi altındaki yazıları göstermiyorum çünkü o kategori altında çalışmalarım sayfasındaki öğeler mevcut ve arşivde bunlar görüntülenmemesi gerekiyor) aşağıdaki 4. satırda yer alan get_posts() adlı fonksiyondaki argümana &cat=-8‘ı ekleyebilirsiniz.

Buradaki 8 değerini sizin engellemek istediğiniz kategori ID numarası ile değiştirmeniz gerekiyor. ID’yi bulmak için Wordpress panelinizden Yönet>Kategoriler bölümüne girip burada hangi kategorinin ID numarasını öğrenmek istiyorsanız onun üzerine gelince tarayıcınızın altındaki durum çubuğunda bu numarayı görebiliyorsunuz (buradaki ekran görüntüsüne bakabilirsiniz). Bu arada birden çok kategoriyi engellemek için bu argümana birden fazla ID numarası girebiliyorsunuz. Yani &cat=-8,-10,-15 gibi kullanabilirsiniz.

Şimdi siz de bu kod parçalarını kullanarak arşiv sayfanızı oluşturup arsiv_sayfasi.php adıyla temanızın bulunduğu dizine kaydedin (mesela ben wp-content/themes/emerald/ klasörü altında bu dosyayı kaydettim).

Sonuç olarak ben kendi blogumun tema yapısını da dikkate alarak arsiv_sayfasi.php adlı dosyamı aşağıdaki kodları içerecek şekilde ile sunucuma kaydettim. Ama bütün işlemler bununla da bitmiyor. Okumaya devam edin. :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
/*
Template Name: Arşiv Sayfası
*/
?>
 
<?php get_header(); ?>
 
<!--CENTER-->
<div id="center">
 
	<!--CONTENT-->
	<div id="content">
 
		<?php if (have_posts()) : ?>
		<?php while (have_posts()) : the_post(); ?>
 
		<!--ENTRY-->
		<div class="entry page">
			<div class="entry_content">
				<h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
				<p>Aşağıdaki arama formunu kullanarak veya arşivden eski yazılarıma ulaşabilirsiniz.</p>
 
				<!--SEARCH-->
				<form action="<?php bloginfo('url'); ?>/" method="get">
					<div>
						<label for="search_term">Arama Yapın:</label>
						<input type="text" id="search_term" name="s" />
					</div>
					<div><button type="submit">Ara</button></div>
				</form>
				<!--/SEARCH-->
 
				<!--ARCHIVE LIST-->
				<h2>Yazılar</h2>
				<ul>
					<?php $myposts = get_posts('numberposts=-1&offset=0');
					foreach($myposts as $post) : ?>
						<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?><span><?php the_time('d F Y H:i') ?></span></a></li>
					<?php endforeach; ?>
				</ul>
				<!--/ARCHIVE LIST-->
			</div>
 
		</div>
		<!--/ENTRY-->
 
		<?php endwhile; ?>
		<?php endif; ?>
 
	</div>
	<!--/CONTENT-->
 
<?php get_sidebar(); ?>
 
<?php get_footer(); ?>

Son olarak da Wordpress yönetim panelinizden Yaz>Sayfa bölümüne girip sayfanın başlığına “Arşiv” yazın ardından da aşağıdaki görüntüdeki gibi sayfa şablonu olarak Arşiv Sayfasını seçin. Ve tabii ki bu sayfayı yayımlıyoruz.

İşte bu kadar! Eğer herşeyi doğru yapmışsanız blogunuzun adresinin sonuna /arsiv/ yazarak arşiv sayfanıza erişebilirsiniz (Örneğin: fatihturan.com/arsiv/).

Eğer herhangi bir sorunla karşılaşırsanız bunu çekinmeden burada yorum yazarak belirtebilirsiniz.


Bu yazı Fatih Turan tarafından 28 Eylül 2008 19:05 tarihinde yazıldı. 15 yorum var.

sIFR’i Optimum Şekilde Kullanın

Tarih: Cuma, Nisan 3, 2009 Kategori: Bilgisayar

Image Replacement teknikleri arasında en popüleri sIFR‘dir. Her tarafta gördüğümüz ve bazı projelerde uyguladığımız bu teknikle kullandığımız işletim sistemindeki standart yazıtiplerine bağlı olmadan herhangi bir yazıtipini başlıklarımızda kullanabiliyoruz. Hem de daha düzgün bir Anti-Alias tekniği ile. Aşağıdaki görüntüde sonuca dair bir örnek görebilirsiniz. Veya sIFR 3′ün demosuna bakıp canlı olarak görmeniz de mümkün.

sIFR Kullanımı

Bu yazımda size sIFR‘in temelde nasıl kullanılacağını değil, bu tekniği nasıl daha optimum bir şekilde kullanabiliriz buna değineceğim. Zaten etrafta yeterince kullanımı anlatan yazılar var. Mesela bunun için sevgili dostum Muhammet Sevim‘in yazdığı sIFR 3 Kullanım Kılavuzu adlı makaleyi okuyabilirsiniz. Ayrıca sIFR Tutorial: Use Your Own Fonts, This is How You Get sIFR to Work ve sIFR 3 Documentation & FAQ adlı makaleleri de okuyabilirsiniz.

Eğer sIFR ile daha önce hiç tanışmamışsanız mutlaka yukarıda bağlantılarını verdiğim yazılardan en azından birini okumanızı ve sIFR‘in kullanımına aşina olmanızı öneririm.

sIFR‘in yukarıdaki makalelerde anlatılan normal kullanımlarında HTML dosyamıza birçok dosya eklememiz gerektiğini söylüyorlar. Ben sIFR‘i projelerimde kullanırken böyle yapmıyorum. Genelde mümkün olduğunca az dosyayı HTML sayfamdan çağırıyorum.

Yani normal kullanımda HTML dosyanızda aşağıdaki CSS dosyalarını;

1
2
<link rel="stylesheet" href="sIFR-screen.css" type="text/css" media="screen">
<link rel="stylesheet" href="sIFR-print.css" type="text/css" media="print">

ve aşağıdaki dosyaları JS dosyalarını çağırmamız gerekiyor:

1
2
<script src="sifr.js" type="text/javascript"></script>
<script src="sifr-config.js" type="text/javascript"></script>

Toplamda 4 dosyayı çağırıyoruz. Sizce çok değil mi? Peki şimdi burada ben size sadece üstteki <script src="sifr.js" type="text/javascript"></script> dosyasını HTML sayfamıza ekleyerek sIFR‘i kullanabileceğimizi söylesem nasıl olur? İyi olur değil mi? :)

Böyle bir yöntem izleyince sunucuya daha az istek göndermiş ve ayrıca kullanımı daha da basitleştirmiş olacağız.

Neden daha az istek göndermemiz gerektiğini ise daha önce Siberkültür‘de Sitenizin Performansını Arttırın adlı yazıdaki aşağıdaki paragrafta gayet iyi bir şekilde açıklanmıştı:

Sayfanızda ne kadar çok öğe bulunuyorsa, sunucuya gidecek istek de o kadar fazlalaşacaktır. Sunucuya giden her istek ise milisaniyelerle talep/cevap paralelini uzatacaktır. Sayfanızdaki öğelerden kastım tabiki de CSS dosyaları, JavaScript dosyaları ve imaj gibi harici dosyalar.

Hareket Vakti

Şimdi ilk olarak sifr.js dosyasını ve web sayfamız için diğer gerekli fonksiyonları taşıyan functions.js dosyasını aşağıdaki şekilde HTML sayfanıza ekleyin.

1
2
<script src="scripts/sifr.js" type="text/javascript"></script>
<script src="scripts/functions.js" type="text/javascript"></script>

Bakın ben yukarda bütün JS veya gerekli olabilecek küçük PHP betiklerini scripts adlı klasörde tutuyorum. Siz hangi klasörde bu dosyaları tutuyorsanız yukarıdaki kodu ona göre düzenlemeniz gerekir.

Az önce tek bir JS dosyası ile bu işi halledebileceğimizi söyledim. Evet bu doğru. Çünkü çoğu web sayfasında ufak tefekte olsa muhakkak JS kodları kullanıyoruz. Ben genelde yukarıdaki örnekteki gibi bu dosyamın ismini functions.js veriyor ve kodlarımı o dosya içinde tutuyorum.

Sonra functions.js dosyanızı açın, aşağıdaki örnek kodu yapıştırın ve tabi ki kendi kullanım ihtiyacınıza göre yeniden düzenleyin:

1
2
3
var agora_regular = {src: 'images/swf/agora_regular.swf' };
sIFR.activate(agora_regular);
sIFR.replace(agora_regular, {selector: 'div#content h1, div#content h2', css: ['.sIFR-root { color: #3e3e3e; font-weight:bold; letter-spacing:-1 }'], wmode: 'transparent', tuneHeight: '-5'});

Yine burada ilk satırda Flash’da ürettiğim Agora Regular adlı yazıtipini barındıran agora_regular.swf dosyasını images/swf klasöründen çağırıyorum. Yine siz kendi gereksinimlerinize göre yuarıdaki kodu düzenleyebilirsiniz.

Son olarak varsayılan olarak kullandığınız CSS dosyanızı açıp aşağıdaki kodları dosyanızdaki uygun bir yere yapıştırın:

1
2
3
4
5
6
7
8
9
10
11
12
.sIFR-flash { visibility:visible !important; margin:0; padding:0 }
.sIFR-unloading .sIFR-flash { visibility:hidden !important }
.sIFR-replaced, .sIFR-ignore { visibility:visible !important }
.sIFR-alternate { position:absolute; left:0; top:0; width:0; height:0; display:block; overflow:hidden }
.sIFR-replaced div.sIFR-fixfocus { margin:0pt; padding:0pt; overflow:auto; letter-spacing:0px; float:none }
 
@media print {
 .sIFR-flash { display:none !important; height:0; width:0; position: absolute; overflow:hidden; }
 .sIFR-alternate { visibility:visible !important; display:block !important; position:static !important; left:auto !important; top:auto !important; width:auto !important; height:auto !important }
}
 
.sIFR-active div#content h1 { visibility:hidden; font-size:30px; line-height:1em }

Yukarıdaki kodda 1. satırdan 5. satıra kadar sIFR için gerekli CSS kodlarını (yani standart kurulumdaki sifr-screen.css dosyasındaki gerekli satırları), 7. satırdan 10. satıra kadar normalde sifr-print.css adlı sIFR için gerekli dosyadaki kodları ve 12. satırda da sIFR tekniği uyguladığımız başlığın boyutunu belirliyoruz.

Yukarıda @media print kodu sayesinde gereksiz yere sifr-print.css dosyasını HTML sayfamıza gömmekten kurtardık. Ama burada dikkat etmemiz gereken birşey var. Yukarıdaki kodu eklediğiniz ana CSS dosyasını (ben genelde screen.css olarak adlandırırım) HTML dosyasına gömerken <link href="styles/screen.css" rel="stylesheet" type="text/css" media=”screen” /> şeklinde media="screen" özelliğini kullanarak verirseniz az önce bahsettiğim @media print arasındaki kodlar çalışmayacaktır. Çünkü bu CSS dosyasını tanımlarken sadece ekran için çalışmasını söylediniz.

Dolayısıyla web sayfanızı yazdırırken sIFR‘in ürettiği .SWF dosyaları yüzünden kimi boşluklar veya birtakım gariplikler görebilirsiniz.

Kısacası HTML sayfamıza ana stil sayfamızı çağırırken media="screen" özelliğini kullanmamamız gerekir.

Ayrıca eğer hali hazırda yazıcı için bir CSS dosyası kullanıyorsanız yukarıdaki örnekte yer alan @media print {} arasındaki kodları o dosya içine de atabilirsiniz.

Sonuç olarak web sayfalarımızı kodlarken mümkün olduğunca az dosya kullanmamız iyi olacaktır. Gerektiğinde bu yazımda anlattığım tarzda bir değişiklik yapmamız da optimizasyon adına iyi olacaktır.


Bu yazı Fatih Turan tarafından 19 Eylül 2008 23:52 tarihinde yazıldı. 13 yorum var.