readmee dergisi ocak 2012 sayısı

25
e -Dergisi Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü OCAK 2012 | Yıl: 2 | Sayı: 17 | www.readmee.com Ayın Web Siteleri Ayın Web Siteleri NEED FOR SPEED FACEBOOK UYGULAMASI YAPMAK FIFA 12’de Türkiye Süper Ligi ASSEMBLY PROGRAMLAMA DİLİ VİRÜS TANIMI VE ÇEŞİTLERİ BATMAN: ARKHAM CİTY ALGORİTMA NEDİR? PROGRAMLAMA DİLLERİ YENİ! YENİ! Readmee İnternet Zirvesi ‘12 Ayrıntılar için readmee.com/riz12 Konu başlıklarına tıklayarak ilgili makaleye direk gidebilirsiniz.

Upload: yusuf-kesgin

Post on 21-Feb-2016

255 views

Category:

Documents


0 download

DESCRIPTION

Eskişehir Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü e-Dergisi

TRANSCRIPT

Page 1: Readmee Dergisi Ocak 2012 Sayısı

e-Dergisi

Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü

OCAK 2012 | Yıl: 2 | Sayı: 17 | www.readmee.com

Ayın Web SiteleriAyın Web Siteleri

NEED FOR SPEED

FACEBOOK UYGULAMASI YAPMAK

FIFA 12’de Türkiye Süper Ligi

ASSEMBLY PROGRAMLAMA DİLİ

VİRÜS TANIMI VE ÇEŞİTLERİ

BATMAN: ARKHAM CİTY

ALGORİTMA NEDİR?

PROGRAMLAMA DİLLERİ

YENİ!

YENİ!

Readmee İnternet Zirvesi ‘12 Ayrıntılar için readmee.com/riz12

Konu başlıklarına tıklayarak ilgili makaleye direk

gidebilirsiniz.

Page 2: Readmee Dergisi Ocak 2012 Sayısı

Readmee | Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü eReadmee | Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü e --DergisiDergisi

YazarlarYazarlar

Tolga AVCITolga AVCI

Fırat KOYUNCUFırat KOYUNCU

Sezai SEVİNÇSezai SEVİNÇ

Cemile SARICAOĞLUCemile SARICAOĞLU

Pelinsu ÖNALPelinsu ÖNAL

Ali AŞKINAli AŞKIN

Gamze KARADAĞGamze KARADAĞ

Abdullah AZARKANAbdullah AZARKAN

Dergi TasarımDergi Tasarım Cemile Sarıcaoğlu Cemile Sarıcaoğlu

Pelinsu ÖnalPelinsu Önal

@ Readmee

@ Readmee

Editörden... Sevgi ve saygıyla selamlar readmee okurları,

Bu ay da elimizden geldiğince bir şeyler hazırladık. Ayrıca

yavaş yavaş bizi heyacan sarmaya başladı. Çünkü azıcık

ucundan tüyo vermek gerekirse yeni yaşımıza girmemize az kaldı. Biz de yeni yaşımızın ilk sürprizlerinden RİZ ’12’yi bu

ayki sayımız ile sizlerin takdirine sunuyoruz.

Değinmek istediğim bir diğer nokta da; geçen ayki sayıya

gelen eleştiriler... Eleştirilerinize çok ihtiyacımız var ve tenkitleriniz için de

teşekkür ederiz. Dergimizde mühendislik disiplinleri ile alakalı

(daha çok bilgisayar mühendisliği) teknik makalelere yer

veriyoruz.

Öncelikli olarak hazırlık, 1.sınıf veya 2.sınıf arkadaşlarımızın

dergide yazmasını önemsiyoruz. Çünkü benim her zaman

sözünü ettiğim gibi “Biz profesyonel ruhlu, amatör bir

dergiyiz.” bu cümleden hareketle alt sınıflardan gelen

arkadaşlarımızın bilmediği bir konu hakkında kendi başına

araştırma, bilgi edinme, sorma gibi yetiler kazanmalarını istiyor

ve tüm bu eylemlerden elde ettikleri verileri kendi cümleleri ile

ifade edebilme özelliği kazanmalarını istiyoruz. Ayrıca okulumuzdan kendi alanlarında özel uğraşları olan

arkadaşlarımızın çalışmalarını sizlerle paylaşma gayreti

güdüyoruz.

Faydalı olması dileğiyle, hoşçakalın.

Yusuf Kesgin

İçindekiler NEED FOR SPEED…..……....................................s3

FACEBOOK UYGULAMASI YAPMAK…...............s5

FIFA 12’DE TÜRKİYE SÜPER LİGİ….…....s10

ASSEMBLY PROGRAMLAMA DİLİ……...s13

VİRÜS TANIMI VE ÇEŞİTLERİ….………..s16

BATMAN: ARKHAM CİTY………………..s18

ALGORİTMA NEDİR?..................................s20

PROGRAMLAMA DİLLERİ……………….s22

Dergide yayımlanan yazı, fotoğraf, illüstrasyon ve

görsellerin sorumluluğu yazarlarına ait olup Readmee

Dergisi’nde yayımlanan içeriğin her hakkı saklıdır. Hiçbir

içerik izinsiz yayımlanamaz. Readmee Dergisi,

www.readmee.com sitesinden yayın yapmaktadır. Tüm

soru, görüş ve önerileriniz için web sitemizi ve sosyal ağ

profillerimizi kullanabilirsiniz.

________________________________________________

Readmee Dergisi’nde siz de yazar olmak ve bildiklerinizi

paylaşmak isterseniz [email protected] e-posta

adresi ile veya web sitemizin iletişim sayfasından bize

ulaşabilirsiniz.

Page 3: Readmee Dergisi Ocak 2012 Sayısı

Need For Speed : The Run(XBOX360)

Hayatın için yarış!

anadalı EA BlackBox’ un geliştirmiş olduğu Need For Speed : The Run, serinin 18. oyunu olarak karşımıza çıkıyor.

Her sene farklı amaçlar ve kişiler için yaptığımız yarışlarda bu sefer odak noktası biz oluyoruz. Jack Rourke adlı karakteri

canlandırdığımız NFS : The Run’ da, başımız mafyayla derde giriyor. Mafyadan kurtulmak ve 25 milyon dolarlık büyük

ödülü kazanmak için 3000 millik San Francisco - New York yarışını yaklaşık 200 yarışçıyı geçerek lider tamamlamamız

gerekiyor. Bunun için Sam adlı bir bayan arkadaşımız da bize yardım ediyor. Bildiğiniz üzere BlackBox yetkilileri, NFS :

Run ‘ın senaryosunun derin ve ayrıntılı olacağını söylemişti. Ancak oyunda o kadar kalıp ve basit bir senaryoyla

karşılaşıyoruz ki keşke senaryo olmasaymış dediğiniz anlar oluyor.

San Francisco’ dan New York’a kadar süren bu 3000 millik yarış ne yazık ki bir uzun yol yarışı değil. Yarışlarımızı

bölümler halinde yapıyoruz. Bu nedenle benim gibi maraton yarışı sevenler The Run ile istedikleri tadı alamayabilirler

özellikle de aniden biten bölümleri gördüklerinde. Bazı bölümler o kadar kısa sürüyor ki yarışa tam alıştığınız anda bitiş

çizgisine gelmiş oluyorsunuz. Uzun yarışlar konusunda aradığımı bulamasam da yarış modları gerçekten iyi. Oyunda

çeşitli yarış modları mevcut ve bu modlar karışık olarak karşımıza çıkıyor. Kimi zaman belli bir sayıdaki rakibi geçmeniz

gerekirken, kimi zaman size verilen sürede yarışı tamamlamaya çalışıyorsunuz. Başka bir modda ise size verilen sürede

sizden önünüzdeki aracı geçmeniz isteniyor. Bu sayede oyun sıradan olmaktan çıkıyor.

Geri al, oynat bakalım

Uğur’cum! Yarışa ilk olarak şehirde başlasak da New

York’a kadar birçok farklı yerde

yarışıyoruz.Dağlarda, tepelerde, uzun

düzlüklerde kısacası yarış yapılabilecek her

türlü zeminde The Run bize yarışma imkanı

vermiş. Bunun yanında hava koşulları ve yol

tipleri yarıştığımız yerlere göre değişiklik

gösteriyor. Özellikle de Rocky Dağları’nda

yapacağınız yarışın sizi gerçekten

zorluyacağını düşünüyorum. NFS The

Run’dan kesinlikle durağan bir çevre

beklemeyin. Şehirlerde karşımıza aniden çıkan araçlar, dağlarda çığ sonucu yolumuza dökülen kayalar - bize her ne kadar

Split / Second’ ı hatırlatsa da- oyuna biraz daha gerçekçilik katıyor. Bu kadar zorluk arasında elbette kaza yapıp,

uçurumdan atlıyoruz. Burada ise Dirt3’ ten ve birçok yarış oyunundan aşina olduğumuz flashbackler(geçmişe dönüş)

yardımımıza koşuyor. Bizi kazadan önceki son kontrol noktasına geri götüren flashbackler sayesinde yarışımıza devam

ediyoruz. Ancak her bölümde yalnızca 5 flashback kullanma hakkımız bulunuyor.

TOLGA AVCI

Readmee Dergisi | 01 / 2012 3

Page 4: Readmee Dergisi Ocak 2012 Sayısı

Onun Arabası Var! Bir yarış için gereken ilk şey nedir? Tabii ki hızlı bir araba. Oyunumuzun başında bizden bir araç seçmemiz isteniyor.

Yarışlarda hız ve kontrol dengesi iyi olan bir araç kullanmanız işinizi kolaylaştıracaktır o yüzden seçiminizi buna göre

yapmanızda yarar var. Seçtiğimiz arabayı değiştirmek için ise yarışlardaki benzin istasyonlarını kullanıyoruz. Ancak

şöyle bir şey var ki yarıştığımız her parkurda benzin istasyonu bulunmuyor. O yüzden bazı bölümler sizin için güç bir

hal alıyor. Araç çeşitliliği yıllardır bildiğimiz NFS kalitesini koruyor. Spor arabalardan klasik arabalara kadar birçok

araba oyuna dahil edilmiş durumda. Bunun yanında her yarış sonunda tecrübe puanı kazanıyoruz. Bu puan kullandığımız

flashback sayısına, arabaları geçiş türümüze, kestirmeleri kullanmamıza ve daha başka bir çok durumlara göre değişiklik

gösteriyor. Tecrübe puanlarımızı Autolog’da yeni ikon ve arkaplan almak için kullanıyoruz Hot Pursuit’te de bulunan

Autolog sistemi The Run’da da mevcut. Autolog sayesinde yarış bitiş sürelerimizi arkadaşlarımızla karşılaştırıyor,

kıyasıya bir mücadeleye girişiyoruz.

Need For Speed: The Run, DICE’ın yeni oyun motoru olan Frostbite 2.0’ı kullanıyor. İlk olarak Battlefield 3 yapımında

kullanılan bu motor, Battlefield3’ te göstermiş olduğu gücü NFS: The Run’ da da hız kesmeden sürdürüyor. Yarışlardaki

manzaralar ve karakter modelleri Frostbite sayesinde o kadar gerçekçi hazırlanmış ki bazen kendinizi film izlermiş gibi

buluyorsunuz. Bunun yanında 2012 model Porche Carrera S ve 2012 model Lamborghini Aventador’ un tasarımına

bakarak oyun motorumuzun gücüne bir kez daha tanık oluyoruz.

Bütün kızlar toplandık! Oyunun senaryo modu beni her ne kadar hüsrana uğratmış olsa da çoklu oyuncu modu durumu biraz toparlıyor. Çoklu

oyuncu modunda birçok kilitli içerik bulunuyor. Yarış yaparak bu kilitleri açabiliyor ve daha geniş olanaklara sahip

olabiliyorsunuz. Çevre tasarımları ve arabalar frostbite 2.0 kullanılarak hazırlandığından senaryo moduyla bir farklılık

göremiyoruz. Eğer arkadaşlarınızla yarış yapmaktan zevk alıyorsanız, Need For Speed: The Run tam size göre.

Genel olarak NFS: The Run, grafik olarak yüksek ve aksiyonu bol bir oyun olsa da senaryo bakımından sınıfta

kalıyor. Bunun yanında oyunun senaryo modunun çok kısa sürdüğünü de üzülerek söylemek durumundayım. Senaryo

değil de çoklu oyuncu modunu oynarım ben diyenler için NFS: The Run sizi bekliyor.

İNCELEME NOTLARI

Grafik: 8.5 Ses: 9 Oynanabilirlik: 8 Genel: 8.5

NEED FOR SPEED Tolga Avcı

Readmee Dergisi | 01 / 2012 4

Page 5: Readmee Dergisi Ocak 2012 Sayısı

FACEBOOK UYGULAMASI YAPMAK Facebook Uygulamaları Hakkında Hepimizin bildiği gibi Facebook, bugün en gelişmiş web siteleri arasında kabul ediliyor. Bu muhteşem sistem kullanıcılarının bile kendisine ufak çapta modüler uygulamalar yazıp diğer kullanıcıların ya da belirli kullanıcıların faydalanmasına imkan veriyor. Oynadığımız oyunlar, kullandığımız fal ve oyun uygulamalarının hepsi Facebook’u diğer sosyal ağlardan öne çıkaran şeyler aslında. Bu makale sonunda hepimiz uygulama nasıl yapılıyor az çok fikir sahibi olmuş olacağız, hepimiz yazabileceğiz diyemiyorum çünkü 1 yazı okumakla olacak işler değil bunlar tahmin edersiniz ki. Ancak bu yazı ile birlikte ben bir uygulama oluşturacağım ve dilerseniz bu uygulamaya yazı sonunda erişebileceksiniz. Hemen uygulama oluşturmaya başlamadan önce şunları belirteyim: -Uygulamanız zararlı içerik barındıramaz. -Uygulamanız için Facebook’a ait bütün koşulları okumalısınız. -En önemlisi ise uygulama geliştiricisi olacaksanız eğer profilinizin onaylanmış olması gerekir eğer profiliniz onaylanmadıysa sizden onay isteyecektir ve cep telefonu numaranızı verene kadar açmayacaktır sistem hesabınızı bu yüzden denemeden önce dikkatli olun. Uygulamamızı yapmaya başlayalım, ben örnek bir uygulama yapacağım ve adım adım takip ederseniz siz de kendi uygulamanızı yazabilirsiniz.

Uygulama Adı: FK Uygulama Yazma Klavuzu

Uygulama Amacı: Facebook kullanıcıları bu uygulamayı kullanarak diledikleri zaman Türkçe bir Facebook Uygulama

yazma klavuzuna ulaşabilecekler.

Facebook Developers Sayfasına Giriş Yapıyoruz Yan tarafta görüldüğü gibi Facebook’ ta Uygulama Geliştir seçeneğini seçiyoruz.

Karşınıza gördüğünüz gibi bir sayfa gelecek aslında burası geliştiriciler için bir doküman sayfası çok yararlı bilgiler var okumanızı öneririm. Ben uygulamama somut adımlarla başlamak üzere hemen uygulamalar sekmesine tıklıyorum.

FIRAT KOYUNCU

Readmee Dergisi | 01 / 2012 5

Page 6: Readmee Dergisi Ocak 2012 Sayısı

Gördüğünüz gibi yeni uygulama oluştur a

tıklıyoruz.

Karşımıza çıkan ekranda ilk boşluk uygulamamızın adını, hemen altındaki ise adresinin uzantısını temsil eder yani benim uygulamam

apps.facebook.com/fkappguide adresinden erişilebiliyor olacak.

Şimdi bu sayfada bazı bilgileri girmemiz gerekecek.

Uygulama Ekran Adı : Uygulamamızın ismi

Uygulama Ad Alanı : apps.facebook.com/

yazacaginizicerik şeklinde bir adrese sahip olmanızı sağlar buraya / dan sonra ne yazılmasını istiyorsanız onu yazın.

İletişim E-Posta Adresi : Uygulama için

iletişim adresiniz.

Uygulama Alan Adı : Şimdi bu önemli,

uygulamanızı bir yerde konumlandırmanız gerekiyor ben bir Host(Web Alanı) ve Domain(Alan Adı) sahibi olduğunuzu varsayıyorum. Kendim buraya kendi web sitem olan fkdesigner.com adresini girdim. Yani uygulamamın dosyalarını kendi siteme yükleyeceğim facebook benim sitem ile etkileşimde bulunarak uygulamayı çalıştıracak.

Kategori : Uygulamanıza uygun bir kategori

seçin.

Hemen aşağı bölümde Facebook’ ta Bir Uygulama bölümüne tıklıyoruz ve çıkan bölüme uygulama dosyasını yerleştireceğimiz adresi yazıyoruz. Tuval ve Güvenli tuval http ve Https bağlantılarını kapsıyor. Yani muhtemelen host ve domaini olan arkadaşların tıpkı benim gibi SSL sertifikaları yoktur bu durumda https bağlantısı kullanarak Facebook’ ta gezinti yapan kullanıcılar bu bağlantıdan çıkıp normal http bağlantısına geçmedikleri sürece uygulamanızı kullanamayacaklar demektir. Değişiklikleri kaydet diyoruz her şeyi yazdıktan sonra.

FACEBOOK UYGULAMASI YAPMAK Fırat Koyuncu

Readmee Dergisi | 01 / 2012 6

Page 7: Readmee Dergisi Ocak 2012 Sayısı

Değişiklikler kaydedildikten sonra hemen sol taraftaki menüden izin penceresi seçeneğine tıklıyoruz. İşte burası önemli. Gerekli Türkçe alanları dolduruyoruz ama aşağıda Authenticated Referrals bağlantısına geliyoruz orada kullanıcı ve arkadaş istekleri ve genişletilmiş istekler yer alıyor. Burada _ karakterinin ardından mesela e yazarsak e ile olanlar listelenir ve email seçtiğimizde mail atma yetkisi ya da mail adresi alma yetkisini isteriz kullanıcıdan. İzin listelerinin tamamına ulaşmak için http://developers.facebook.com/docs/reference/api/permissions/#user_friends_perms adresini kullanabilirsiniz. Buna göre gerekli izinleri girip uygulamayı kullanabilir kullanıcılar. Şimdi bundan sonrasını olabildiğince teorik anlatmak zorundayım çünkü zaten başlı başına Facebookta Uygulama Yazmak bir ders olarak anlatılabilir. Neyse bulunduğumuz sayfada soldaki menüden ayarlar yapabiliriz, uygulamamıza logo yükleyebilir, mini ikon yükleyebilir, açıklama girebilir, sözleşme ve politika linkleri girebilir, yetkileri ayarlayabiliriz. Peki uygulamanın içeriğ i ne olacak onu da kendi web sitemize html bir tasarımla php olarak kodluyoruz. Facebook’un açılan penceresi içinde 760px standart içinde iframe yöntemi ile bizim web sitemizdeki uygulama dosyası açılıyor ve kullanıcılar orayı görüyorlar doğrudan. Bu şekilde uygulamaya giriş yapıp kullanıyorlar. Uygulamayı ilk onaylayan her kullanıcı Facebook’ta kendisine ait bir Access Token adlı bir değer yollarlar. Bu değer alfanümerik olup şifrelenmiş ve her üyeye ait her uygulama için özel bir değerdir. Bu değer size gelir bunu Facebook’un geliştiriciler sayfasında vermiş olduğu örnek kodlar ile çözüp görebilirsiniz. Bundan sonra da bu Access token ile kullanıcıya Facebook’ta işlemi komutlarla yaptırtabilir ya da Graph Api sayfasını kullanarak bu Access token ile manuel işlem yaptırabilirsiniz. Maalesef bu kadar kısa ve öz kesmek zorundayım çünkü dediğim gibi bu konu başlı başına bir ders niteliği taşıyor. Umarım hiç başlamamış olanlara bir yol gösterici nitelik taşır. Bu arada bu tür bilgileri bizimle paylaştığı ve benim de uygulama mantığını kavramama yardımcı olduğu için değerli abimiz Salih Toprak’a teşekkürlerimi, saygılarımı sunuyorum.

FACEBOOK UYGULAMASI YAPMAK Fırat Koyuncu

Readmee Dergisi | 01 / 2012 7

Page 8: Readmee Dergisi Ocak 2012 Sayısı

Zam

anım

ızın

büy

ük b

ir ç

oğun

u on

a ha

rcıy

oruz

. Tel

eviz

yon

izliy

or,

film

ler

indi

riyo

r, m

üzik

din

liyor

uz. D

ükka

nlar

, çif

tlik

ler,

ord

ular

, ül

kele

r ku

ruyo

r, p

aral

ar k

azan

ıyor

/kay

bedi

yor,

alış

veri

ş yap

ıyor

, ye

mek

sip

ariş

i ver

iyor

uz. B

ilet,

fatu

ra v

e ba

nka

işle

mle

rim

izi

gerç

ekle

ştir

iyor

uz. B

asılı

ola

rak

düny

adak

i küt

üpha

nele

re sı

ğmay

acak

an

sikl

oped

ilerc

e bi

lgi o

na s

ığıy

or. D

aha

kom

şum

uza

sela

m v

erm

ezke

n on

un a

racı

lığıy

la g

erçe

k ha

yatt

a ta

nışm

amız

ın im

kans

ız o

lduğ

u ki

şile

rle

diya

log

kuru

yoru

z. H

atta

evl

eniy

or, a

ile k

uruy

or y

aşay

ıp ö

lüyo

ruz.

Yer

i ge

liyor

ora

da ö

rgüt

leni

yor ç

eşit

li or

gani

zasy

onla

r dü

zenl

eyip

insa

nlar

a ya

rdım

edi

yor,

dev

let p

olit

ikal

arın

ı etk

iliyo

ruz.

Kıs

acas

ı bir

insa

nın,

ha

yatı

nda

olan

eyl

emle

rin

nerd

eyse

hep

sini

yap

ıyor

fark

ında

olm

adan

ke

ndim

ize

yeni

bir

dün

ya d

üzen

i kur

uyor

uz.

Am

acım

ız, R

eadm

ee İn

tern

et Z

irve

si '1

2 ile

bu

yeni

dün

ya d

üzen

inin

bir

pa

rças

ını s

izle

re su

nmak

ve

çeşi

tli k

onul

arda

sizl

eri b

ilgile

ndir

mek

ol

acak

tır.

Detaylı bilgi için readmee.com/riz12

Sen de onun bir parçasısın!

Page 9: Readmee Dergisi Ocak 2012 Sayısı

Readmee İnternet Zirvesi ‘12 29 Mart’ta!

Detaylı bilgi için readmee.com/riz12

Page 10: Readmee Dergisi Ocak 2012 Sayısı

.

FIFA 12’de Türkiye Süper Ligi

Futbol oyunları tutkunlarının en önemli tartışmalarından biridir

belki de Pro Evolution Soccer – FIFA karşılaştırması. Pro

Evolution Soccer ile en iyi futbol oyunu tahtını kapan ve yıllarca

orada oturan KONAMI geçtiğimiz sene sallanmaya başlayan

tahtını bu sene yeni çarpışma motoru ve geliştirilmiş oyun

dinamiğiyle gelen FIFA 12 ile yeniden EA Sports’ a kaptırmış

gibi görünüyor. Öyle görünüyor çünkü en büyük PES

tutkunlarından biri olan ben de tamamen FIFA tarafına geçmiş

bulunmaktayım. Bu iki oyunun birçok yönü karşılaştırılarak

tartışma konusu çıkarılabilir ama tartışılmayacak bir konu var. O

da lisans konusu. FIFA 12 serisine kadar 24 ülkeden 31 ligin

lisansını elinde bulunduran EA Sports, yeni oyununda 2 fire

verdi. Bunlar Türkiye Süper Ligi ve Çek Cumhuriyeti Ligi. Tabi

bizi ilgilendiren kısım Türkiye Süper Ligi’nin oyunda yer

almaması. Türkiye Futbol Federasyonu geçtiğimiz yıl olduğu

gibi toplu lisans anlaşması yapmak yerine bu yıl işi kulüplere

bırakması sonucu FIFA 12’ de Türk takımlarından sadece

Galatasaray yerini aldı. Bu durum birçok oyun severin canını

sıksa da “nasıl olsa birileri yama yaparak ligimizi ekler”

düşüncesi hâkimdi. Bu düşünce açıkçası bende de vardı. Daha

önce yama ekiplerinde görev alıp ufak tefek birçok yama yapmış

olsam da yıllar önce yama yapmayı bırakmıştım. Fakat bu oyun

beni etkilemişti ve Türkiye Ligi olmadan tam olarak tadını

vermiyordu. 2 ay kadar birilerinin ligi ekleme çalışmalarını

bekledim ama bu yönde hiçbir çalışmanın olmayışı sonucu

kolları sıvayıp değişen oyun sistemini ve dosya yapılarını

inceledim. İncelemekle kalmayıp oyuna hiçbir takımı silmeden

Fenerbahçe’yi ekleyip internette yayınladım. Duyulan ilgi ve

gelen yoğun istek doğrultusunda da diğer takımlarımızı ve

haliyle Türkiye Ligini yapmaya karar verdim. Tabi bu çapta bir

eklentiyi tek kişinin yapması gerçekten zor, bu yüzden çalışkan

ve güvenilir ekip arkadaşımla birlikte tamamlayıp yayınladık.

Yakın bir zamanda Bank Asya 1.Ligi de eklemeyi düşünüyoruz.

FIFA 12 için olan bu Türkiye Süper Ligi eklentisine

www.soccercenter.net adresinden ulaşabilirsiniz.

SEZAİ SEVİNÇ

Readmee Dergisi | 01 / 2012 8

Page 11: Readmee Dergisi Ocak 2012 Sayısı

Eklentinin İçeriğinde Neler Bulunuyor?

-Tüm gerçekçiliği ile Spor Toto Süper Lig Play-Off Statüsü

-Tüm gerçekçiliği ve statüsü ile Ziraat Türkiye Kupası

-Sezon öncesi lig şampiyonu ve Türkiye kupası şampiyonu ile TFF Süper Kupa maçı

-Gerçek Spor Toto Süper Lig logosu

-Spor Toto Süper Lig 2011-2012 Resmi Topu (Beyaz ve sarı olarak iki sürüm)

-Spor Toto Süper Lig'de 2011-2012 Sezonunda görev alan Türk hakemler

-İsteğe bağlı Türk hakem formaları

-Tüm takımlar için klasikleşmiş Türkçe tezahüratlar ve stat anonsları

-Gerçeğiyle birebir Lig TV skorboardu ve logosu

-Gerçeğiyle birebir NTV Spor skorboardu ve logosu (Alternatif seçenek)

-Avrupa kupası maçları için hazırlanan Şampiyonlar Ligi ve Avrupa Ligi modları

-Şampiyonlar Ligi modu için reklam panoları, futbol topu ve Star TV skorboardu.

-Avrupa Ligi modu için reklam panoları, futbol topu ve Euro Futbol skorboardu.

-Yeni kramponlar ve daha fazlası.

2011-2012 Sezonunda Spor Toto Süper Lig İçerisinde Mücadele Eden 18 Takımın;

-Logoları, transfer bütçeleri, gerçeğe en yakın stadyumları, eksiksiz kadroları ve teknik direktörleri

-Gerçeğiyle birebir iç saha, dış saha, kaleci ve bütün alternatif formaları (Tüm kombinasyonlarıyla beraber)

-Gerçeğiyle birebir forma numara stilleri, isim fontları, numara ve isim renkleri

-Gerçeğiyle birebir kaptanlık pazubantları

-Bayrakları ve Taraftar pankartları

-Reklam panoları

-Gerçeğe yakın oynadıkları maç saatleri

Kadrodaki oyuncuların;

-Gerçek menü fotoğrafları

-Gerçek mevkileri ve alternatif mevkileri

-Gerçek forma numaraları, sözleşme başlangıç ve bitiş tarihleri

-Gerçeğe en yakın güçleri

-İyi kullandığı ayakları ve özel yetenekleri

-Doğum tarihi, boy, kilo gibi gerçek özellikleri

-Gerçeğine en yakın generic yüz, saç, ten rengi, saç rengi ve sakalları

-Bazı oyuncuların EA tarafından yapılan özel yüzleri

-Spiker tarafından tüm takımların ve birçok oyuncunun isminin söylenmesi

FIFA 12’de Türkiye Süper Ligi Sezai Sevinç

Readmee Dergisi | 01 / 2012 9

Page 12: Readmee Dergisi Ocak 2012 Sayısı

Bunlar Nasıl Yapıldı? Oyunda bulunan tüm liglerin, takımların, oyuncuların, hakemlerin hatta futbol toplarının bile bilgileri bir database

dosyasında tablolar halinde bulunuyor. Tabi bu dosya oyuna özel bir dosya olduğu için bunu herhangi bir programla açıp

düzenleyemiyoruz. Yamayı hazırladığımız zaman bu dosya için yazılan oldukça kısıtlı DB Master adında bir program

mevcuttu. Bu program sayesinde onlarca tablo arasında id numaralarını birbirine bağlayıp binlerce veri ekleyerek işe

başlamak gerekiyor. Tabi eklenen verileri de sık sık oyun içinden kontrol etmek gerekiyor ki oyundan atma sorunuyla

karşılaşıldığında hata kolay bir şekilde bulunabilsin. Yamayı hazırladığımız süreçte işi oldukça kolaylaştıran yama yapım

araçları henüz çıkmadığı için bu konuda oldukça zorlandığımızı söyleyebilirim.

Ek olarak, bu database dosyasına eklenen verilerin bazılarına bağlı grafik dosyası olmak zorunda. Mesela bir takım eklendi,

bu takımın formaları olmak zorunda ve formaların verileri de eklendi diyelim. Sıra bu formaların grafik dosyasını

hazırlamakta. Oyunun grafik dosyalarını bilinen uzantılara (jpeg,png vb.) çeviren ve bu işin tersini yapan uygulamalar

mevcut. Oyundan alınan örnek dosyalar doğrultusunda biz de kendi dosyalarımızı hazırlayarak oyuna aktarıyoruz. Grafik

dosyaları hazırlanırken Photoshop veya aynı işi yapabilen programlar kullanılabilir. Dosyayı hazırladıktan sonra yardımcı

uygulamalar ile oyunda bulanan dosyanın formatına çevirerek oyun dosyalarının yanına ekleniyor.

Fenerbahçe için hazırladığımız çubuklu formanın üst kısmının ve Süper Lig topunun doku dosyaları

Yama Yapımında Yaşanabilen Zorluklar Öncelikle karşılıksız olarak günlerini, haftalarını, aylarını vererek yapılan bir iş olduğundan aşırı motivasyon ve yanında da

yama yapmayı gerçekten sevmek gerekiyor. Daha önce yapılan benzer yamaların olması, yol göstermesi açısından kolaylık

sağlıyor. Yaptığımız eklentide de daha önceki tecrübelerimizi ve bazı kısımlar için önceki oyunlara yapılan yabancı

kaynaklı yamaları örnek alarak zorluk yaşamadık. Ancak bu seride değişen oldukça fazla yapı vardı ve önümüzde kaynak

yoktu. En çok oyunun bu kısımlarını düzenlemekte zorluk çektik ve birçok kişiye öncü olduk. Belirli bir yol kat edip

yayınlanacak sitede eklentinin tanıtımını yaptıktan sonra işten sıkılmaya başlamak karşılaşılan diğer bir zorluk olsa gerek.

Bu durumda verdiğin sözü aklına getirmek ve yamayı bekleyenlerden gelen olumlu yorumlar bir şekilde çalışmayı

tamamlatıyor. Tabi hep olumlu ve yapıcı yorumlar gelmiyor. Neyse ki yıkıcı yorumlar azınlıkta olduğu için dikkate

almamak gerekiyor. Asıl mesele yamayı tamamlayıp sunduktan sonra başlıyor belki de. Her ne kadar kurulumu detaylı bir

şekilde anlatsan da tipik kullanıcılar, kurulum için hazırladığınız yazıyı okuyup yapmak yerine kafasına göre davranıp

sorunlar yaşayabiliyor ve bu sorunlarla da uğraşmak zorunda kalınıyor. Yamayı yayınlamadan önce ne kadar test etseniz de

geniş çaplı çalışmalarda kullanıcılar tarafından bulunan hatalar ve eksiklikler oldukça fazla oluyor. Yaptığınız çalışmanın

binlerce kişi tarafından kullanılmasını istiyorsanız yapılan yapıcı eleştirilere kulak vererek çalışmanızı sürekli ileriye

taşımanız ve güncel tutmanız gerekiyor. Eksiklikleri ve hataları giderip güncelledikçe çalışmanız daha fazla kişi tarafından

keşfedilebiliyor. Eklentiyi yapıp yayınladıktan sonra en sıkıcı durumu yaratan ise emek hırsızları. Bu tür yamalarda

beklenti sadece karşılıksız olarak verilen emeğe saygı gösterilmesi ve kullanıcılardan gelen yapıcı yorumlar. Bunun

haricinde oyuna ilgi duyanlar tarafından sanal tanınmışlık dışında bir getirisi olmadığı halde emek hırsızları ile

karşılaşılabiliyor. Aylarınızı vererek yaptığınız çalışmanın başka sitelerde kendileri tarafından yapılmış gibi gösterilmesiy le

karşılaştığınızda keyfiniz gerçekten kaçabiliyor. Yaptığımız bu eklentide de en büyük sıkıntımız bu konu oldu. Örnek

vermek gerekirse, daha önce yapılmamış bir çalışmaya imza atarak oyuna Play-off statüsünü eklemiştim ve bu diğer Türk

yama yapımcıları tarafından yapılamadı. Bunun sonucunda ise çalışmam iznim olmadan alınarak kendileri tarafından

yapılmış gibi yayınlandı. Hâlbuki izin alınsa veya kaynak belirtilse hiçbir sorun olmayacaktı. Haberim doğrultusunda

çalışmam daha fazla kişiye ulaşmış olacak ve bu da beni mutlu edecekti. Yine de çoğunluğun verilen emeğin yanında

olduğu söylenebilir. Bunu bilmek yapımcıyı teşvik etmeli. Sonucunda binlerce kişinin çalışmayı indirip kullanması

mutluluk verecektir.

FIFA 12’de Türkiye Süper Ligi Sezai Sevinç

Readmee Dergisi | 01 / 2012 10

Page 13: Readmee Dergisi Ocak 2012 Sayısı

ASSEMBLY PROGRAMLAMA DİLİ Merhaba arkadaşlar bu ay ne yazsam diye düşünürken gelen maillerimde ikinci dönemki ders programı içerisinde

Assembly Dersi’nin varlığından haberdar oldum. Son zamanlarda ismini sıkça duyduğum Assembly’den( ki çoğu kişi

tarafından hala ne anlama geldiği bilinmeyen kodları olan bu dilden… ) elimden geldiğince bahsedeceğim. Umarım

faydalı olur. Assembly programlama dili düşük seviyeli bir dil olup C, C++, Pascal, Fortran, Cobol, Lisp, Basic gibi

yüksek seviyeli programlama dillerine göre anlaşılması biraz daha zordur. Bu dille program yazarken yazılan kodlar

çoğunlukla donanıma bağlı olduğundan bilgisayarların donanım özellikleri önemlidir.

Assembly ile program yazan programcı doğrudan bilgisayarın hafızası ve işlemcisi ile ilgilenir. Böylece hafızadaki

(RAM’ deki) ve işlemci gözlerindeki değerleri doğrudan değiştirme olanağına sahiptir. Bu dil ile bildiğiniz şekilde

değişken oluşturma ve yönetme şansınız yoktur. Örneğin ”int a=5;“ gibi komutlarınız yoktur. Çünkü yukarıda da

dediğimiz gibi birçok fonksiyon, değişken yönetimi gibi şeyleri programcı yapar. Bir değişkenin saklanacağı bellek

adresi, uzunluğu vs. tamamen programcının denetiminde ve sorumluluğundadır. Bilgisayarımızda çalıştırılan tüm

programlar önce bilgisayarımızın RAM’ ine yüklenir. Daha sonra RAM üzerinde çalıştırma işlemi gerçekleştirilir. RAM’e

yüklenen bilgi programımızın makine dili karşılığından başka bir şey değildir. Makine dilinin kullanıcı tarafından

anlaşılabilir şekline ise assembly dili

demek pek yanlış olmaz.

Evet eğer assembly dili ile uğraşacaksanız

2’ lik ve 16’ lık sistemleri iyi bilmeli ve bu

sistemler ile 10’ luk sistem arasındaki

dönüşümleri rahatça yapabilmelisiniz. Çünkü

bilgisayarlar ( aslında tüm elektronik cihazlar

dersek daha iyi olur ) binary sayı sistemi

dediğimiz ikilik sayı sistemini kullanır ki bu

sistemde sadece 0 ve 1 vardır. Bilgisayar için

0’ ın anlamı “ yanlış ” ( FALSE ) ve 1’ in

anlamı “ doğru” ( TRUE ) dur. Buna karşın

assembly programları yazılırken kullanılan

sayı tabanı hexadecimal olarak bilinen on altılık sayı tabanıdır. Assembly dili ile onaltılık sayı sisteminin kullanılmasını n

sebebi, bellek adresi gibi uzun rakamların ikilik sistem ile gösterilmesinin zorluğudur. Sayı tabanı büyüdükçe herhangi bir

sayıyı göstermek için gereken basamağın sayısının azalacağı açıktır. Mesela “1BA5:010F ” gibi bir bellek bölgesinin

adresini ikilik sistem ile göstermek isteseydik “0001101110100101:0000000100001111 ” şeklinde olacaktı ki bu hem

akılda tutması hem de yazması zor bir sayı.

CEMİLE SARICAOĞLU

Readmee Dergisi | 01 / 2012 11

Page 14: Readmee Dergisi Ocak 2012 Sayısı

Bilgisayarda saklanan ve işlenen verilerden bahsetmişken hemen bunların çalışan programlar için nerelerde yapıldığına

bakalım. Normal dillerle yazılan programların tamamı değişkenleri bellekte saklar. Her değişkene ait bir bellek adresi

vardır. Hatta pointerlar' la ilgilenenler bu bellek adresilerini biliyorlardır. Assembly kullanırken bu pointerlar bizim

değişkenlerimizi temsil edecek dersek eğer pek de yanlış sayılmaz. Ancak işlemci komutları genelde doğrudan bellek

üzerinde işlem yapmak yerine genelde register adı verilen işlemci çekirdeği üzerindeki sabit değişkenler üzerinde

değişiklikler yaparlar. Bu registerları Data registerları, Pointer ve Index registerları, Segment registerları, Instruction

Pointer (komut göstergeci) ve Program Status Word (Flag registerı) olarak gruplandırabiliriz.

Bellekle segmentlere ayrılmış şekildedir. Segment sözcüğünü dilimize katman olarak çevirebiliriz. Bu katmanlarda

benzer tip veriler bir arada tutulur. Örneğin Code Segment (CS)' ta programınızın kodları bulunurken Data Segment (DS)'

ta kullandığınız bazı değişkenlerin verileri tutulur. Bunların yanında Stack Segment (SS) ve Extra Segment (ES) gibi

başka katmanlar da bulunur. Tüm bu katmanların başlangıç adresleri yanlarında parantez içinde belirttiğim kısaltmalarla

aynı adlardaki özel registerlarda tutulur. Segmentlerin içindeki hücrelere ulaşmak için de adresleri (offsetleri) kullanırız.

Veri yazma ve oku işlemleri DS üzerinde yapılır. O zaman biz bir bellek okuması veya yazması yapacağımız zaman

sadece işlemi yapacağımız adresi bilmek zorundayız. İşlemci otomatik olarak DS' de tutulan değere bizim verdiğmiz

adres değerini ekler ve ilgili hücreye veriyi yazar yada bu hücreden veriyi okur.

Yan tarafta 8086 işlemcinin register yapısı yüzeysel olarak

gösterilmiştir.

Yukarıda da belirttiğimiz gibi işlemci, register adı verilen

bölmelerden oluşur. Registerlar işlemci çekirdeğinde

olduğundan zaman harcamadan istenen işleme göre

içerikleri kullanılabilmektedir. Normalde bellekteki verilere

ulaşmak belirli bir zaman gerektirir. Programların hızlı

çalışmaları assembly kodlarının sadeliğinden

kaynaklanmaktadır. Fakat günümüzde kullanılan yüksek

hızlı işlemciler ve büyük kapasitelere sahip sabit diskler

assembly programlarının bu özelliklerini önemsiz kılmaktadır.

Aşağıdaki örnekte ekrana “A” harfini basan bir program önce assembly dili ile daha sonra C ve Pascal dilleri ile

yazılmıştır. Programların yaptıkları işlerin aynı olmasına karşın boyutları arasındaki büyük farka dikkat edin.

Gördüğünüz gibi C ile yazılan programın boyu assembly ile yazılanınkinin boyunun 1000 katından daha büyüktür. Pascal

ile yazılan programın boyu ile assembly ile yazılanınkinin boyunu karşılaştırmaya bile gerek yok sanırım. Bu fark eski bir

bilgisayar için önemli olabilir fakat günümüz standartlarındaki bir bilgisayar için pek önemli değildir. Bu sebepten

assembly programlama dili günümüzde daha çok sistem programcıları tarafından ve inline olarak diğer programlama

dilleri içerisinde kullanılmaktadır. “inline assembly” ile kastedilmek istenen, assembly kodlarının olduğu gibi yüksek

seviyeli bir dil içerisinde kullanılmasıdır.

ASSEMBLY PROGRAMLAMA DİLİ Cemile Sarıcaoğlu

Readmee Dergisi | 01 / 2012 12

Page 15: Readmee Dergisi Ocak 2012 Sayısı

Şimdi biraz içeriğine girersek. Assembly dilindeki komutlar yani işlemcinin temel komutları genelde 2 parametre kullanır

ki bunlara operand deniliyor ve bunlar register adı, bellek bölgesi ya da sabit bir sayı olabiliyor. Burada komutlardan

sonra operand giriyorsunuz. Bazı komutlar operandsız da olabiliyor. Mesela MOV komutu 2 operand alır. İlk operand

atama yapılacak yeri belirtirken ikinci operand atama yapılacak değeri belirtir. Buraya sabit bir sayı yazabileceğiniz gibi

bir bellek bölgesi ya da register adı da yazabilirsiniz.

Burada PUSH komutu örnek olsun diye verebiliriz. PUSH komutu arkasından verilen operandın değerini bellek yığınına

atar ve arkasından çağırılan POP komutuyla bu değeri POP komutunun operandına geri yükler. Yanlız burada işlemin

sırayla olduğunu unutmamanız gerekiyor.Yani

PUSH EAX

PUSH EBX

.

POP EAX

POP EBX

gibi bir komut yazarsanız EAX' ın değeri EBX' e, EBX' in değeri de EAX' a atanmış olur. Çünkü en son EBX' in push

edilmesine rağmen ilk POP işleminde EAX kullanıldı. Özetlersek ilk giren son çıkar ya da son giren ilk çıkar diyebiliriz

ki bu da yığının mantığıdır.

Assembly’ de for ve while döngülerine karşılık LOOP komutu vardır. For ve while döngülerde kullandığımız değişkenler

mesela ” for int i=0;i<20;i++ “ buradaki i yerine assemblyde standart olarak ECX registerı kullanılır. . Bu registera

döngünün kaç kez çalıştırlacağı atadıktan sonra işletilecek komutların sonuna LOOP {adres} komutunu yazıp adres

olarak da komutların başlangıç adresini verirseniz eğer tam bir for döngüsü elde etmiş olursunuz.Burada dikkat etmeniz

gereken birkaç nokta var. Öncelikle döngü komutu içerisinde asla ECX' in değerini değiştirmemelisiniz. Değiştirmek

zorunda kalırsanız da mutlaka PUSH ve POP komutlarını gerekli şekilde kullanıp orijinal değerini geri döndürmeniz

gerekir.Aksi takdirde döngünün uzunluğu alakasız şekilde değişebilir. İkinci olarak, LOOP' a operand olarak verdiğiniz

adres ECX registerına döngü sayısını atadığınız yerden sonra olmazsa programınız sonsuz döngüye girer. LOOP' un 2

farklı versiyonu daha var: LOOPZ ve LOOPNZ. Bunlar da hem ECX' in değerine bakıyorlar hem de "Zero Flag"inin

değerine. LOOPZ, Loop if zero; LOOPNZ ise loop if not zero yani LOOPZ sıfır olduğu sürece, LOOPNZ de sıfır

olmadığı sürece döngüye devam et anlamına geliyor. Eğer döngü içinde bir CMP işlemi varsa bu komutlardan birini

kullanarak döngü sayısı bitmeden döngüden çıkılmasını sağlayabilirsiniz. Bu da döngü içinde kullandığımız "break;"

komutuna benziyor.

Evet arkadaşlar elimden geldiğince assemblyden bahsetmeye çalıştım. Çok çok iyi olmamış olabilir. Ama bu kadar geniş

kapsamlı bir konudan bahsetmek gerçekten de zormuş:)) Özellikle de neyden nasıl bahsedeceğimi belirleme aşaması

baya bir uğraştırdı.Umarım faydalı bir yazı olmuştur. Yazımıda bazı kısımlarını kullandığım http://www.enginkuzu.org/

kaynağından assembly hakkında daha fazla bilgi alabilirsiniz.

ASSEMBLY PROGRAMLAMA DİLİ Cemile Sarıcaoğlu

Readmee Dergisi | 01 / 2012 13

Page 16: Readmee Dergisi Ocak 2012 Sayısı

Virüs Tanımı ve Çeşitleri Bilgisayar virüsü deyince sizin aklınıza ne gelir tam olarak bilemiyorum

ama benim kendimce bir tanım yapmamı isterseniz geçenler de beni

bilgisayarıma format atmak zorunda bırakan, bilgisayarıma bulaştığı

andan itibaren onu kendi amaçları doğrultusunda doyasıya sömüren

programcıklar olduğunu söyleyebilirim. Neyse biz şimdi işin bilimsel,

mantıklı ve tarihi yanlarını ele alalım ve virüs tanımı, ufak bir geçmişi,

çeşitlerinden ve çalışma prensiblerinden biraz bahsedelim.

Bilgisayar virüsleri, bilgisayarın çalışmasını engelleyecek, verileri

kaydedecek, bozacak veya silecek ya da kendilerini Internet üzerinden

diğer bilgisayarlara yayarak yavaşlamalara veya başka sorunlara neden

olacak şekilde tasarlanmış yazılım programlarıdır. Gizlenir ve sürekli

değişik yollarla kendisini olabildiğince yaymaya çalışır. Neredeyse her

çeşit dosyaya kendisini ekleyebilir. İnternet bağlantınız varsa yayılmak

için çeşitli işletim sistemi açıklarını kullanırlar. Virüsler bir çeşit bilgisayar

uygulaması olarak da düşünülebilir, tek farkı kullanıcının isteği veya

haberi olmaksınız çalışmasıdır.

İlk virüs denemeleri; 1946 Yılında EDVAC' ın Yapımcısı Olan Dr. Von Neuman TOCA (Theory and Organization of Complicated Automata -

Karmaşık Özdevinirin Teorisi ve Organizasyonu) adı altında hazirlamış olduğu yazı dizisinde bilgisyar programlarının

kendilerini kopyalayabileceğini öne sürmüş.

1950 Yılında bell laboratuvarında bu teori hayat bulup, ”Core Wars” İsimli virüs(oyun) yazılmış.

Virüs denilemeyecek kadar basit olan Core Wars' in ardından ilk gerçek virüs 1981 yılında Elk Cloner adı İle ortaya çıktı.

Diğer öğrenciler zararlı olması muhtemel bilgisayar programları hakkında yazılı ödevler hazırlarken, Fred Cohen çalışan

bir virüs örneği geliştiren ilk kişi oldu.

Cohen, hazırladığı ödevde bilgisayar virüsünü "diğer programlara kendisinin bir versiyonunu bulaştıran bilgisayar

programı" olarak tanımlamıştı.

Öğrenci, hazırladığı virüsü, Vax adlı mini-bilgisayarı geliştirmek için yazılan bir grafik programına ekledi. VD adlı grafik

programının içine gizlenen virüsün, kullanıcıların bilgisayardaki hareketleriyle cihazdaki diğer programlara bulaşmasını

gözlemleyen Cohen, virüsün bütün sisteme bulaşma sürecini takip etti. Testleri sürdüren Cohen, virüsün sistemdeki

herhangi bir parçaya, bir saatten az bir sürede ulaştığını, en kısa sürenin de beş dakika olduğunu gördü.

Doktora öğrencisi, 10 Kasım 1983'te düzenlenen bir güvenlik konferansında deneyin sonuçlarını sundu. Bilgisayar

virüsünün ilk modelinin yarattığı şaşkınlığın ardından bu tür başka deneyler yapılması yasaklandı ancak Cohen, diğer

bilgisayar sistemlerini etkileyebilecek benzer virüs modelleri geliştirdi. "Virüsler bilgisayar şebekelerinde de tıpkı

bilgisayarda olduğu gibi yayılıyor. Bu da virüslerin mevcut şebekeler için bir tehdit olduğunu gösteriyor" diyen Cohen'in

sözleri bugün gerçekleşen bir kehanet olarak karşımıza çıkıyor.

Bu virüsün işlevi ise ekrana bir şiir yansıtması idi.

it will get all your disks / O Tüm Diskleri Alacak

it will infiltrate your chips / O Tüm Çiplerinize Girecek

yes it's cloner / Evet O cloner

it will stick to you like glue / O Size Zamp Gibi Yapışır

it will modify ram to / O ram'i de Değiştirir

send in the cloner / cloner'ı Gönderin

CIA enformasyon dairesinin kayıtlarına göre ilk zararlı virüsler 1985 tarihinde ortaya çıkıyor. 1983'te Cohen tarafından

yazılan, kendi kendini çoğaltan uygulamanın bu temel esasından faydalanarak hem bilgisayarın işletim sisteminde zararlı

değişiklikler yapan, hem de kendini kopyalayabilen uygulamalar yazan bazı geliştiriciler, isimlerini bu şekilde şöhret

listelerine yazdırmayı planlıyorlar. Bu uygulamaları değişik yollarla diğer kullanıcılara aldatıcı yöntemlerle ileterek

virüslerin yayılması sağlanıyor.

Bilgisayar ağları yaygınlaşmadan önce virüsler çeşitli taşınabilir depolama ortamları (disket, CD -ROM vs.) aracılığı ile

yayılırdı.

PELİNSU ÖNAL

Readmee Dergisi | 01 / 2012 14

Page 17: Readmee Dergisi Ocak 2012 Sayısı

Virüs çeşitlerinden bahsedecek olursak;

Bulaştıkları yapıya göre : Boot Virüsleri , Dosya Virüsleri , Makro Virüsleri

1.Boot Virüsleri : Sabit disklerin, ilk sektörüne bulaşan ve buradaki dosyalara zarar veren virüs türleridir.

Boot virüslerine örnek olarak : Michelangelo, Neardark ,Stealth

-Neardark : Diğer bilinen adları bloomington, No Int, Stoned, Stoned III, LastDirSect, NewZealand dir.Sabit diskin bölüm

tablolarına ve disketlerin açılış sektörüne bulaşır.

-Stealth : Aktif olarak kendini saklayabilen bir virüstür.Adını türünden alır ve Stealth.b Olarak Boot virüsleri diskimizin

içinde bulunur.

2-Dosya Virüsleri: Dosyaların kaynak kodlarına kendilerini ekleyen virüslerdir.

Dosya Virüslerine Örnek Olarak : Chernoby, Fun Love , Nimda

-Chernobyl : Adını nükleer kazasından alan , bu virüs nükleer kazanın olduğu tarihte çalışır ve çalıştığı an itibari ile Flash '

ını yazmayı dener. Büyük hasarlara yol açan Chernobyl bazı anakartlarda düzeltilmez hasarlar oluşturabilen bir virüstür.

-Fun Love : Fun Love virüsünün en şaşırtan yönü , Microsoft' un resmi sitesinden indirilen Update(Güncelleştirme)

dosyalarınada bulaşmış olmasıdır. Virüsün diğer özelliklerinden bahsetmek gerekirse hem 9x ve Nt sistemlerde

çalışabilmesidir. Exe, OCX dosya türlerine bulaşabilen bu tür ağdan yazma hakkının varolduğu klasorlerede

bulaşmaktadir.

-Nimda : Adını "Admin/Yönetici" kelimesinin tersten okunması ile alan Nimda Virüs’ ü ,worm virüs birleşiminden

oluşturmuştur. Bulaştığı sistemlerde Load.exe isimli bir dosya oluşturur ve bu dosyayi system.ini dosyasina yazdırır. Boot

kısma yazdırır. Explorer ve e-posta yolu ile yayilmasi, Nimda virüsün yayılma hızını arttırır.

3.Makro Virüsler : Word, excel gibi programların macro dili kullanılarak yazılan virüs türlerine macro virüsleri diyoruz.

Macro Virüsleri’ ne Örnek Olarak : Melissa, FormatC, Hot, Concept

-Melissa : 99 yılında çok büyük hasarlara yol açan Meslissa Virüs’ ü word dosyamızın içine kodlanir, belge açıldığı anda,

Outlook' u açarak Contact List' imizde bulunan ilk 50 kullanıcıya kendini e-posta aracılığı ile yollar.

-FormatC : Bu macro çalıştığı sistemlerde, Dos aracılığı ile c: diskini formatlamayı dener.

-Hot : Bu virüsün garip yönü, bulaştığı sistemlerde 14 gün beklemesidir. 14 gün sonunda aktifleşen bu virüs açılan ilk

word belgesinin içeriğini komple siler.

-Concept : Virüsü ilk ve en yaygın Macro Virüsü’ dür. Halen daha farklı isimler ve kodlar ile yaşamakta olan bu virüs,

bulaştığı belgede "1" mesajı verir.

Karakteristik Özelliklerine Göre : Polimorfik Virüsler, Stealth Virüsler, TSR Virüsler

1.Polimorfik Virüsler : Bulaştığı andan itibaren kendini kaynak kodlarını değiştiren virüs türleridir.

2.Stealth Virüsler : Buluşatıkları sistemlerde kendilerini geliştirebilen ve kodlarında değişiklik yapanbilen virüs türleridir.

3.TSR Virüsler : Kendilerini RAM' e yazanbilen virüs türleridir.

Virüsler nasıl çalışır?

Temel virüsler genelde yeterli bilgisi olmayan bilgisayar kullanıcıları tarafından

farkında olmadan paylaşılır veya gönderilir. Solucanlar gibi daha karmaşık olan

virüsler, bir e-posta paylaşma uygulaması gibi diğer yazılımları denetleyerek

kendilerini otomatik olarak çoğaltabilir ve diğer bilgisayarlara gönderebilir. Truva

atı adı verilen belirli virüsler (adlarını efsanevi Truva Atı'ndan alırlar), faydalı bir

program gibi görünerek kullanıcıların aldanıp onları karşıdan yüklemelerine yol

açabilir. Bazı Truva atları, beklenen işlemleri yerine getiriyor gibi görünürken bir

yandan da sisteminize veya ağa bağlı diğer bilgisayarlara zarar verebilir.

Bu farklı virüs türleri ve nasıl çalıştıkları konusunda bilgi sahibi olmak faydalı

olmasına rağmen, en önemli nokta, bilgisayarınızı en son güncelleştirmeler ve

virüsten koruma araçlarıyla güncel tutmanız, en son tehditler hakkında bilgi sahibi

olmanız ve Internet'te gezinirken, dosya karşıdan yüklerken veya ekleri açarken

birkaç temel kurala uymanızdır. Bilgisayarınıza bir virüs bulaştığında, virüsün

türü veya nasıl bulaşmış olduğu değil, onun temizlenmesi ve sonraki bulaşmaların

engellenmesini naslı yapacağımız daha önemlidir.

Virüs Tanımı ve Çeşitleri Pelinsu Önal

Readmee Dergisi | 01 / 2012 15

Page 18: Readmee Dergisi Ocak 2012 Sayısı

BATMAN: ARKHAM CİTY Evet arkadaşlar bir incelemeyle daha birlikteyiz. Bu sefer Gotham City'nin karanlıklarında doğan bir

kahramanın peşinden maceralara sürükleneceğiz. Batman’in Ready at Dawn Studios tarafından çıkarılan

2. Oyunuyla, Batman: Arkham City ile birlikteyiz. İlk oyunda seriyi tekrardan dirilten oyun firması,

bakalım bu sefer ne gibi hünerler sergilemiş. Oyun ilk oyundan sonra Gotham City’nin

bir bölümünün yasayla ayrılıp, bir hapishaneye çevrilmesiyle başlıyor. Şehrin en azılı suçluları

“Arkham City” olarak adlandırılan bu hapishaneye kapatılıyor. ”Bu suçlular yalnızken bile über

derecede tehlikeliyken, bunları biraraya koymak bariz salaklıktır” diyen Bruce Wayne

buna karşı çıkıyor. Bu yüzden yakalanıp bu şehir hapishanesine atılıyor. Bu andan itibaren

onlarca azılı suçlu arasında Batman olarak olayların arkasındaki entrikaları çözmeye

çalışıyoruz. Bir de bunun yanında Jokerle uğraşmak durumunda kalıyorsunuz.

Buna da ek olarak oyunun başında bir tuzakla size ölümcül bir virüs enjekte

ediliyor. Yani hem hikayeyi çözeceksiniz, hem Jokerle uğraşacaksınız, hem de

Batman’in gidişatına bir çözüm bulacaksınız.

Hikayemiz başta basit gibi gözükse de göründüğü kadar basit değil. İlerde öyle

dallanıp budaklanıyor ki film izliyormuşçasına sarılıyorsunuz hikayeye.

Çizgi romandan tanıdığımız çoğu karakteri de içinde barındırıyor oyun.

Haliyle onlar da hikayeye dahil olunca hikaye öyle sarıyor ki oyunu bir oturuşta

bile bitirebilme azmi aşılıyor.

Grafik, Sesler ve Atmosfer İlk oyunda olan grafikler geliştirilmiş. Gerçekten çok güzel duruyor. Kar yağışında

tanelerin Batman’in kostümüne düşüp erimesini bile görebiliyorsunuz. Bunun

dışında ilk oyundaki oyun sonlarına doğru Batman’in sakallarının uzaması,

pelerinin yırtılarak gitgide delik deşik olması gibi olaylara burada da

rastladım. Bu dinamik sistemi kullandıkları için yapımcıları kutlamalıyım.

Çoğu “Benim” diyen bazı günümüz oyunlarında hala bu sistem

mevcut değil. Tabii ki her şey grafik değil. Özellikle eski toprak

oyuncu arkadaşlar atmosfer arayacaklardır. Bence de atmosfer bir

oyunda grafikten daha önemli bir yapıdır. Hala Vice City’i deli gibi

oynarım mesela. Grafiklerinin günümüzde çok parlak olmadığı doğrudur

ama başlıca evladiyelik oynanabilirlik(bknz: yeni terim uydurma,sallama)

sebebi atmosferdir. Neyse bu başka bir yazının konusu. Oyuna dönersek

oyunda atmosfer süper arkadaşlar.Arkham City’i tam da hayallerimizdeki gibi karanlık ve kasvetli yaratmışlar. Batman bu

şehirle öyle bütünleşiyor ki bir an gerçek olabilir diye düşünüyorsunuz. Şehrin her tarafında bir ayrıntı sözkonusu. Örnek

vermek gerekirse dolaşırken

rastgele bir sokağa

girdim.Yerde tebeşirle 2

silüet çizili olduğunu

gördüm. Acaba dedim

yapmış olabilirler mi?

Mekan da benziyor. Gittim

baktım evet yapmışlar

arkadaşlar. Bruce Wayne

küçükken bir davet çıkışı

ara sokakta öldürülen

ailesine bir gönderme

yapmış yapımcılar. İzlerin

yanına gittiğimde Batman

diz çöktü ve ardından hüzünlü bir müzik girdi. Bu anda öyle bir hüzünleniyorsunuz ki sanırım ana karakterin yerine

kendini koymak bu olsa gerek. Nihayetinde atmosfer benden tam not aldı arkadaşlar.

Sesler ise yine oyuna puan katan derecede. Yaşanılan o ana göre sesler ve müzikler değişiyor. Şehirde aylak dolaşırken

sakin bir müzik ortamı süslerken, dövüşlerde gaza getirici hareketli müzikler çalıyor. Bu artık her oyunda var

diyebilirsiniz. Ama müzikler öyle bir oluşturulmuş ki, her ses puzzlelar gibi birbirine tam oturmuş diyebilirim. Ses ve

müziklerin atmosfere ciddi derecede katkısı olduğunu söylemeden geçemeyeceğim.

ALİ AŞKIN

Readmee Dergisi | 01 / 2012 16

Page 19: Readmee Dergisi Ocak 2012 Sayısı

İçerik.. Oyun içerikten taşıyor arkadaşlar. Yeni kostümlerden tutun da oynanabilir yeni karakterlere ekstra şeyler varken, yan

görevler de bir o kadar fazla. Gta’da klasik olan gizli paket tarzı belli miktarda Riddler Trophy’leri toplamaktan, şehrin

çeşitli yerlerinde sizi yukarılardan izleyen gizemli yabancının gizemini çözmeye kadar çeşitli görevler oyunda mevcut.

Bazen Gotham polislerine yardım ederken bazen Bane ile sırtsırta çarpışabiliyorsunuz. Dedektif tarzı, öldürülen

suçluların failini bulma gibi görevler de içeriyor oyun. Öyle çeşitli ve sıkmayan yan görevler var ki hepsini yapmaya

çalışırken ana hikayeyi unutturacak derecede iddialı kendileri. Bir de bu görevlere yan hikaye ve görev sonrası bir ödül

verilince (bazen önemli bir teçhizat bile olabiliyor) tadından yenmiyor.

Bu içeriklerden en önemlisi PC’ye ekstra olarak gelen(diğer platformlarda indirilebilir içerik olarak sunulan) Catwoman

oynanabilir karakteri. Bu karakterle Batman’in hikayesi bazı bölümlerde iç içe geçmiş. Bu da oyuna koca bir artı

vermemi sağlıyor. Mesela bir bölümde Catwoman olarak oynarken Two-Face ‘e yakalanıyorsunuz. Aynı mekandan

tesadüfi biçimde Batman ile geçerken Catwoman’ı Two-Face’ten kurtarıyorsunuz. Oyunda Catwoman’ın son görevine

bağlı 2 tane oyun sonu var. Bu seçilebilir oyun sonlarını görmek beni mutlu etti. Oyun bu konuda da benden güzel not

aldı.

Oyun serisi kapalı bir hapishaneden şehre geçince de uçuş sistemini elden geçirmek durumunda kalmışlar. Batman ile

şehrin üstünde süzülmek çok zevkli. Eğer grapnel boost

özelliğini de yan görevden kazanırsanız(bir an önce almanızı

tavsiye ederim) şehirde sıkılmadan dakikalarca

süzülebilirsiniz. Diğer yandan Catwoman ile oynarken şehirde

gezinmekte biraz zorlandım. Bu belki benim

beceriksizliğimden kaynaklanabilir, zaten Catwoman içindaha

başla türlü bir tırmanma/gezinme sistemi benim aklıma da

gelmiyor. Olabileceğinin en iyisini yapmışlar.

Bu kadar içerikten patlayacak bir oyuna bir de yeni Dlcler

eklenince(özellikle Robin ve Nightwing oynanabilir

karakterleri) oyun verilen parasını son kuruşuna kadar

hakediyor. Son dönem çıkan “Hikayeyi yap, grafiği bas,

gerisini boşver hacı” oyunlarına da “Oyun nasıl yapılır” dersi

veriyor adeta. Açıkça konuşmak gerekirse bu kadar çeşitli ve oturaklı görevi Gta serilerinde bile görmedim diyebilirim.

Bunun dışında genelde japon oyunlarında gördüğümüz “Bitirince geliştirdiğin özelliklerin kalsın, bir de öyle oyna usta”

başlangıcını Arkham City’e de koymuşlar, hoş olmuş.

Özetle dört dörtlük bir oyun var karşımızda. Kendisi yılın son dakika golü olarak benden “Game of the Year” ödülünü de

rahatça aldı. Bu kadar kaliteli rakibinin arasından içeriği ve atmosferi ile rahatça sıyrıldı. Çok ufak tefek eksikleri olsa da

bu eksiklerin lafını bile etmiyorsunuz. Bu efsaneyi hemen koşarak almanızı tavsiye ediyorum.Yalnız oyun öyle bir

bitiyor ki, hüzünlenmemeniz elde değil. Şahsen 1 hafta etkisinden çıkamadım, sizi de uyarayım. Sadece bu son bile

oyunun efsane olmasını sağlıyor.

Artılar: Geliştirilmiş combat sistemi, grafikler, sesler, oyunun içine çeken atmosfer,dolu dolu olan içerik

Eksiler: Ufak tefek bug’lar, Ana hikaye sonrası yaşanılan hüzün(Boş kalmasın diye yazdım, eksi bulamadım)

Not: 97

Dövüşlerden

bahsetmişken dövüş

sisteminden

bahsetmeden olmaz. İlk

oyundaki dövüş sistemi

daha akıcı hale

getirilmiş. Artık birden

fazla kişiyle aynı anda

dövüşebilir, counter

yapabilirsiniz. Özellikle

sessiz ilerlemeniz

gereken bölümlerde bu

özellik çok işinize

yarayacak.

BATMAN: ARKHAM CİTY Ali Aşkın

Readmee Dergisi | 01 / 2012 17

Page 20: Readmee Dergisi Ocak 2012 Sayısı

ALGORİTMA NEDİR? Adım adım işlem basamaklarının yazılmasıdır.

Programlamaya Giriş

Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Önceki bölümde bir problemin çözümü ile ilgili teknikler sunmuştuk. Bir problemi bilgisayar ile çözmek için

geliştireceğimiz programın yazımında izleyeceğimiz adımlar:

i) Problemin ne olduğunu kavra. Çözüm için gereksinimleri belirle.

ii) Problemin girdilerini, çıktılarını ve diğer kısıtlama ve gereksinimleri belirle ( bilgilerin giriş ve çıkış biçimlerinin

nasıl olacağına kadar)

iii) Problemin çözümünü veren algoritmayı yaz.

iv) Algoritmayı bir programla dili ile yaz.

v) Programın doğru çalışıp çalışmadığını test et. Bu testi değişik veriler (girdiler) için tekrarla.

Problem Çözme ve Algoritmalar

Algoritmalar

Belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.

İ.S. 9.yy da İranlı Musaoğlu Horzumlu Mehmet (Alharezmi adını araplar takmıştır) problemlerin çözümü için genel

kurallar oluşturdu. Algoritma Alharezmi'nin Latince okunuşu.

Her algoritma aşağıdaki kriterleri sağlamalıdır.

1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli.

2. Çıktı: En azından bir değer üretilmeli.

3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar

içermemeli.

4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda

bitmeli.

5. Etkinlik: Her komut kişinin kalem ve kağıt ile

yürütebileceği kadar basit olmalıdır.

PROGRAM YAZMAK SÜRECİ

1. Problemin farkına varmak,

2. Problemi analiz etmek,

3. Çözüm yolları düşünmek,

4. İyi çözüm yolları seçip algoritma oluşturmak,

5. Akış diyagramı çizmek,

6. Uygun bir dilde kodlamak,

7. Programı test etmek,

8. Programı dağıtmak.

Problem Çözme

Problem çözmede, soruna hemen girişmek yerine, dikkatli ve

sistematik yaklaşım ilke olmalıdır. Problem iyice anlaşılmalı ve mümkün olduğu kadar küçük parçalara ayırılmaladır.

Descartes tarafından "Discourse on Method" isimli kitabında anlatılan problem çözme teknikleri;[2]

1. Doğruluğu kesin olarak kanıtlanmadıkça, hiçbir şeyi doğru olarak kabul etmeyin; tahmin ve önyargılardan kaçının.

2. Karşılaştığınız her güçlüğü mümkün olduğu kadar çok parçaya bölün.

3. Düzenli bir biçimde düşünün; anlaşılması en kolay olan şeylerle başlayıp yavaş yavaş daha zor ve karmaşık olanlara

doğru ilerleyiniz.

4. Olaya bakışınız çok genel, hazırladığınız ayrıntılı liste ise hiçbir şeyi dışarıda bırakmayacak kadar kusursuz ve

eksiksiz olsun.

PROGRAMIN KALİTESİNİ BELİRLEYEN ÖLÇÜTLER

1. Program işini doğru yapmalı

2. Mümkün olduğunca hızlı çalışmalı

3. Sistem kaynaklarını gereksiz yere harcamamalı

4. Program kodu okunabilir ve anlaşılabilir olmalı

5. Birbirinden bağımsız modüllerin minimum inter aktivitesinden oluşmalı

6. Bakım ve güncellenmesi kolay olmalı

GAMZE KARADAĞ

Readmee Dergisi | 01 / 2012 18

Page 21: Readmee Dergisi Ocak 2012 Sayısı

7. Hatalar lokal olmalı. ( Bir bölümde oluşacak bir hata tüm programı etkilememeli)

8. Verilen süre içinde tamamlanmalı

9. Gerekli yazlı dokümanlar hazırlanmış olmalı. (Kullanma kılavuzu, yardım dosyaları vs.)

ÖNEMLİ ALGORİTMA TÜRLERİ

1.Sözderastsal sayı üreteci,

2.Sıralama Algoritmaları,

3.Kütük İşlemleri,

4.Grafik Algoritmaları,

5.Arama Algoritmaları,

6.Birleştirme Algoritmaları,

7.Kripto Algoritmaları,

8.Dijital Sinyal İşleme Algoritmaları,

9.Kombinasyon Algoritmaları.

AKIŞ ŞEMALARI(DİYAGRAMLARI)

Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile anlatıldığı

algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline "akış şemaları" veya FLOWCHART adı

verilir. Akış şemalarının algoritmadan farkı, adımların simgeler şeklinde kutular içine yazılmış olması ve adımlar

arasındaki ilişkilerin ve yönünün oklar ile gösterilmesidir. Programın saklanacak esas belgeleri olan akış şemalarının

hazırlanmasına, sorun çözümlenmesi sürecinin daha kolay anlaşılır biçime getirilmesi, iş akışının kontrol edilmesi ve

programın kodlanmasının kolaylaştırılması gibi nedenlerle başvurulur. Uygulamada çoğunlukla, yazılacak programlar

için önce programın ana adımlarını (bölümlerini) gösteren genel bir bakış akış şeması hazırlanır. Daha sonra her adım

için ayrıntılı akış şemalarının çizimi yapılır.

Akış şemalarının hazırlanmasında aşağıda yer alan

simgeler kullanılır.

ALGORİTMA NEDİR? Gamze Karadağ

Readmee Dergisi | 01 / 2012 19

Page 22: Readmee Dergisi Ocak 2012 Sayısı

PROGRAMLAMA DİLLERİ

Bu bölümde programlama dillerinin kullanıldıkları alanları ve özelliklerini inceleyeceğiz. Programlama dilleri

uygulama alanlarına göre dörde ayrılır:

1. Bilimsel ve Mühendislik Alanında : Üniversitelerde ve bilimsel kuruluşlarda mühendislik veya matematik

hesapları için kullanılan bu dillere örnek; Pascal, C, C++, Java dilleridir.

2. Veritabanı Kullanımında : Genellikle Personel kayıtları, fabrika stok veya depo denetimi gibi veritabanı

gerektiren işlemlerde kullanılan diller; DBASE, SQL, FOXPRO, PARADOX gibi veritabanı dilleridir.

3. Sistem Programcılığında : İşletim sistemlerinin ve sistem programlarının yazılımında kullanılan dillere

örnek, C , C++, Java ve makina dilleridir.

4. Genel Amaçlı kullanım : Çeşitli konularda uygulama geliştirmek için kullanılan dillere örnek, C , C++, Java,

VB ve Pascal' ı verebiliriz.

Son yıllarda programlama dillerinde nesneye yönelik tasarımlar yapılmış ve bu dillerin çoğunun nesneye yönelik

programlama yapabilen uyarlamaları çıkmıştır. Nesneye yönelik programlama, programcının kendi sınıfını ve

nesnesini oluşturup bunun üzerinde işlemler yapmasına olanak sağlayan ve programlama dillerinin geldiği son

aşamalardan birisidir. Bu konu oldukça kapsamlı olup bunun geniş açıklamasını burada yapmayacağım. OOP (Object

Oriented Programming) yani Nesneye Yönelik Programlama' nın kullanılmasıyla ve Visual programcılığın da

gelişmesi ile beraber ortaya oldukça güzel görünümlü ve kullanışlı programlar çıkmaya başladı. Bu bilgisayar

programlarına olan ilgiyi arttırdı ve bu konulardaki araştırmaları hızlandırdı. Sonuçta şu anda, pekçok dilin artık

nesneye yönelik olan ve visual özellikler içeren sürümleri kullanılmakta ve tercih edilmektedir.Örneğin: C++, Visual

C++, C++ Builder, Delphi, Java...

İnternet' in de yaygınlaşmasıyla programlama dillerine yeni özellikler eklendi ve internet'te kullanılabilecek nitelikte

görsel özellikli diller çıkarıldı. Örneğin HTML, kullanıcının dikkatini çeken renkli ve hareketli arabirimiyle her geçen

gün yeni ekler ile gelişmektedir. JavaScript ve VBScript iki script dili olarak HTML'ye getirdiği ek özelliklerle çokça

kullanılır oldu. Ve asp ile veri tabanını aktif kullanıma sunma, aktif sayfalar hazırlama olanağı elde edildi.

Görüldüğü gibi özellikle internet'in gelişmesi ile birlikte programlama dillerinin yapılacak işe veya kullanılacak

platforma göre değişik özellikler gösteren uyarlamaları çıktı. Bu durumda web teknolojisini izleyen ve internet

üzerinde yazılım geliştirmek isteyen bir programcının javascript ,vbscript ,java ,HTML gibi dilleri bilmesi ve bu

konularda kendini geliştirmesi gerekir. Uygulama programlarına ,ticari programlara, veya işletim sistemlerinin

kullanımına yönelik yazılım geliştirmek isteyen programcıların da C++ ,Java ,Delphi gibi son zamanların en popüler

dilleri üzerinde çalışması, bunları öğrenmesi gerekir.

Internet programcılığı, esnek mimari, OOP gibi konularda söylenmesi gereken önemli bir nokta da Java'nın

programlama dünyasına getirdiği önemli bir özelliktir. Java nın çıkması ile atılan önemli bir adım da platform'dan

yani işletim sisteminden bağımsız olarak çalışan, her sistemde çalışabilen, programların yazılabilmesidir. İleriye

yönelik bir bakış açısı ile bakıldığında cep bilgisayarlarının, kablosuz cihazların, cep telefonlarının sıklıkla

kullanılacağı ve artık PC lerin döneminin kapanmaya başladığı düşünülürse birçok cihazda çalışabilecek programların

yazılmasının önemi anlaşılabilir. Java son yıllarda programlama dünyasına gelmiş en iyi programlama aracıdır ve yeni

çıkacak programlama dillleri de Java'nın birçok özelliğinden esinlenmektedir.

Şimdi programlama dillerine özet bir bakış yapalım;

C Yapısal programlama dilleri arasındadır. Öğrenilmesi zaman almasına rağmen oldukça kullanışlı ve esnek yapısı ile

adından yıllarca bahsettirmiş, bilgisayar programcılığının temel dillerinden biridir. C ile bilgisayarınıza bir sistem

yazmaktan bir oyun yazmaya veya printer kontrolü yapmaya kadar her türlü işlem yapılabilir ve bu özelliği sayesinde

kullanım alanı çok geniş bir dildir.

C++ Nesneye yönelik programlama yapabilen diller arasındadır. C'nin saydığımız tüm özelliklerine ek olarak

güçlendirilmiş nesne yönetim özelliği ile şu anda bilgisayar dünyasının en çok kullanılan dillerinden biridir

ABDULLAH AZARKAN

Readmee Dergisi | 01 / 2012 20

Page 23: Readmee Dergisi Ocak 2012 Sayısı

C# Nesneye dayalıdır(OOP). C++ ın ve Java'nın pozitif yönlerini bünyesinde birleştirmiş yeni bir dildir. Programcıya

internet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar getirmiştir. İleriye dönük olarak microsoft'un java

teknolojisine rakip olarak ortaya sürdüğü bir programlama dilidir ve microsoft'un bu konulardaki (internet uygulamaları)

yelpazesini genişletmeye yönelik bir atılımdır. Microsoft teknolojileri kullanacak programcıların C#'ı öğrenmeleri

zamanla gerekecektir ve öncelikle öğrenilmeye başlanması da avantaj getireceği açıktır.

Java Nesneye yönelik dillerdendir. Son yıllarda geliştirilmiş bir dil olup modern ve yenlikçi altyapısı ve visual özellikleri ve

sürekli gelişen kütüphane (library) desteği ile gün geçtikçe kullanımı artan bir dil olmuştur. Java dili hemen hemen her

alanda kullanılabilen esnek ve güçlü bir dildir.

VB.NET Nesneye dayalı bir dildir. VisualBasic(VB) teki biçok özellik bu dilde yeniden yapılandırılarak değişmiştir. Yapısına

bakılırsa VB den ayrı yeni bir dil geliştirilmiş denilebilir. Eklenen bazı özellikler ile VB de yapılamayan birçok işlem

artık yapılabilmektedir ve OOP nin özellikleri desteklenerek daha verimli kod yazmaya olanak sağlanmıştır. VB

programcılarının VB.NET'e geçişleri kolay olmayacak olsa da VB yerine VB.NET kullanımı gün geçtikçe artacaktır.

VB.NET internet uygulamalarından yerel uygulamalara kadar kullanım imkanı geniş bir dildir.

Delphi Pascal tabanlı bir dil olup nesneye yönelik programlama yapabilme özelliği taşır. Öğreniminin çok zor olmayışı ve

üniversitelerde pascal eğitiminin ağırlıklı verilmesi nedenleriyle çoğu bilgisayar programlama öğrencisinin tercih ettiği

bir dildir.Visual programlama özelliği taşır.

Pascal Pascal Yapısal bir dildir, C 'ye benzerlik gösterir. Öğrenilmesinin zor olmayışı ve bilgisyar eğitimi veren okullarda

okutulan bir ders olması sebebiyle kullanım alanı genelde üniversiteler ve bilimsel hesaplamalar yapan kurumlardır.

VisualBasic Basic tabanlı bir dil olup öğrenilmesi kolay, kullanım alanı geniş bir dildir. Özellikle görsel uygulamalarda projenin

arabiriminin hızlı yazılmasını sağladığı için genelde kullanıcı arabirimi tasarımlarında kullanılır. Kapsamlı veya çok

kullanıcılı uygulamalarda kullanılmaz. Kullanıcı sayısı az olan veya kısa sürede bitmesi gereken küçük ölçekl projelerde

tercih edilen bir programlama aracıdır. Yoğun olarak kullanılmaktadır

Programlama dillerinin hepsini incelemeye imkan olmadığından çok kullanılan bir kısım dilden bahsettim. Her dilin

kullanım amacı ve yönelimi farklı olabilir önemli olan hedeflediğiniz konularda size yardımcı olacak dili seçip onunla

çalışmanızdır.

Yıllara

Göre

Şampiyonluk :

PROGRAMLAMA DİLLERİ Abdullah Azarkan

Readmee Dergisi | 01 / 2012 21

Page 24: Readmee Dergisi Ocak 2012 Sayısı

-SON-

Readmee Dergisi 12 / 2011

© Readmee Dergisi 2009 — 2012. Her hakkı saklıdır.

Ayın Web Siteleri

Beğendiğiniz web sitelerini, readmee okurlarıyla paylaşmak istiyorsanız, adreslerini [email protected] adresine e-posta göndererek sitelerin bu sayfada yer almasını sağlayabilirsiniz.

Readmee Dergisi | 07 / 2011 24

Page 25: Readmee Dergisi Ocak 2012 Sayısı

-SON-

Readmee Dergisi 12 / 2011

© Readmee Dergisi 2009 — 2012. Her hakkı saklıdır.