C’de Fonksiyon Oluşturma / Fonksiyon Tanımlama

 Merhaba arkadaşlar yine bilgisayar başındayız yine program yazma telaşındayız 🙂 Bugün sizlerle birlikte C’de fonksiyon tanımlamayı öğreneceğiz. Öncelikle fonksiyon nedir dediğinizi duyar gibiyim. Şöyle izah edeyim: Fonksiyonlar programlamada bir dizi işlemleri yerine getirmede kullandığımız küçük program parçacıklarıdır. Ana fonksiyonu kod karmaşasından kurtarmak adına da yararlanılabilecek güzel bir yöntemdir. Tanımlandığı tipte geriye değer döndüren veyahut döndürmeyen –void tipinde tanımlanmışsa şayet- küçük programcıklardır. Fonksiyon tanımlamanın nasıl yapıldığını öğrendikten sonra önceki yazımda ele aldığım toplama işlemini bir de tanımladığımız fonksiyonla yapacağız. Başlayalım isterseniz…

Öncelikle fonksiyon nasıl oluşturulur, fonksiyonun tipi nasıl belirlenir, ne gibi argümanlar içerir buna bir göz atalım.

FonksiyonTipi FonksiyonAdı(argumanın adı arguman tipi)
{
  Fonksiyon içerisinde gerçekleştirilecek işlemler...
}

İlk yapacağımız iş fonksiyonun geriye değer döndürüp döndürmeyeceğini belirlemek olacaktır. Aynı zamanda bu işlem yazacağımız fonksiyonun tipini belirlerken karşımıza çıkacak olası bir durumdur. Eğer fonksiyonun bir tipi olacaksa;

int sayi_topla(int sayi1,int sayi2)
{
  Fonksiyon içerisinde gerçekleştirilecek işlemler...
}

Şeklinde yukarıda da görüldüğü gibi fonksiyon adından önce bir tip –int gibi- belirlememiz gerekecektir. Şayet fonksiyonumuzun geri dönüş değeri olmayacaksa;

void fonksiyon_adi()
{
  Fonksiyon içerisinde gerçekleştirilecek işlemler...
}

Şeklinde bir tanım yapmamız gerekecektir. Fonksiyonun tipini belirledikten sonra fonksiyona gönderilecek değerler olan argüman isimlerini ve tiplerini belirlememiz gerekecektir. Bütün bu işlemlerden sonra geriye fonksiyonun içerisinde yapılacak işlemleri tanımlamaya geldi. Hazırladığınız fonksiyonun işlevine yönelik olarak -toplamaysa toplama, çıkarmaysa çıkarma- istenilen işlemi gerçekleştirecek şekilde fonksiyon programlanmalıdır. Hadi gelin şimdi de kendi fonksiyonumuzu oluşturalım…

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int SayiTopla()

{

  int s1,s2,sum;

  printf("C'de Girilen Iki Sayiyi Toplama Programi - Fonksiyon Hali V.2.0\n\n");

  printf("Birinci sayiyi giriniz:");

  scanf("%d",&s1);

  printf("Ikinci sayiyi giriniz:");

  scanf("%d",&s2);

  sum=s1+s2;

  printf("\nIki sayinin toplami = %d\n",sum);

  return 0;

}

int main() // Ana fonksiyonumuz. //

{

  SayiTopla(); // Yukarıda yazdığımız fonksiyonu çağırmış olduk. //

}

Not: “//” işaretleri arasındaki ifadeler açıklama satırıdır. Birçok programlama dilinde de kullanılan bu yöntemin programcıya çok büyük getirisi vardır. Açıklama satırı oluşturmanın birkaç yöntemi daha vardır. Bunu da başka bir yazımda sizlerle paylaşayım olur mu? Şimdi konuya devam 🙂

 Yukarıda anlattıklarımdan farklı olarak ben fonksiyonu parametresiz tanımladım arkadaşlar. Kafanızın karışmasını gerektirecek hiçbir şey yok çünkü return komutuyla geriye bir sonuç döndürmeyecekseniz fonksiyonu bu şekilde de tanımlayabilirsiniz. Aksi takdirde ana fonksiyonda çağırdığımız bu fonksiyona parametre girmemiz gerekecek. Bunu da fonksiyonun öncesinde kullanıcıdan veri girişi yapmasını isteyerek veya programı çalıştırma aşamasında verileri kendimiz girerek de yapabiliriz. Ben sadece ana fonksiyonda ayriyeten  kod fazlalığı olsun istemedim. Gördüğünüz gibi ana fonksiyonda SayiTopla(); yazarak fonksiyonumuzu kolaylıkla çağırabiliriz.

 Görünüş itibarı ile bu işlem size daha uzunmuş gibi gelebilir ancak kod yoğunluğu fazla olan programlarınızda fonksiyonlarla çalışmak size yarar sağlayacaktır.

 Önceki yazımda toplama işlemi programını yazıp anlattığım için tekrardan burada detaya girmek istemedim. Sizler de şimdi çıkarma işlemini gerçekleştiren bir fonksiyon yazıp neden ana fonksiyonda çağırmıyorsunuz? Hadi bakalım sıvayın kolları kolay gelsin 🙂 … Ha bu arada kafanıza takılan bir şey olursa bana yazmaktan hiç çekinmeyin. İletişim için: Kadir YÜZEN / İletişim

C’de Girilen İki Sayıyı Toplama Programı

Merhaba arkadaşlar bugün sizlerle C programlama dilinde girilen iki sayının toplamını hesaplayan programı yazacağız. Hatta siz hiiiç yorulmayın diye ben sizler için yazdım. Gelin birlikte programı inceleyelim. Programın kod satırları aşağıdaki gibidir:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()

{
int s1,s2,sum;
printf(“C’de Girilen Iki Sayiyi Toplama Programi V.1.0\n\n”);
printf(“Birinci sayiyi giriniz:”);
scanf(“%d”,&s1);
printf(“Ikinci sayiyi giriniz:”);
scanf(“%d”,&s2);
sum=s1+s2;
printf(“\nIki sayinin toplami = %d\n”,sum);
return 0;
}

Hadi gelin şimdi adım adım programımızı inceleyelim. Gördüğünüz üzere öncelikle programın çalışması için gerekli olan kütüphaneleri programımıza dahil ettik. “include” komutu ile ilgili kütüphaneleri program içerisine dahil ettik.

Daha sonra ana fonksiyonumuzu oluşturduk ve “int” (integer) veri tipinde üç adet değişken oluşturduk. “s1” girilen birinci sayıyı karşılayan değişken, “s2” girilen ikinci sayıyı karşılayan değişken ve son olarak “sum” adında bu sayıların toplamını içerisine aktaracileceğimiz üçüncü bir değişken oluşturduk. Ha buna gerek var mıydı? Tabiki de yoktu. Neden diye merak ediyorsanız bir önceki yazımdan bunu öğrenebilirsiniz (Tıkla öğren!). Ben sizin için burada da tekrar edeceğim. Şöyle ki:

sum=s1+s2;

Yukarıdaki kod satırında yer alan ifadenin yerine biz;

printf(“\nIki sayinin toplami = %d\n”,s1+s2);

diyerek de bu işlemi üçüncü bir değişkene gerek kalmaksızın -aynı zamanda sum=s1+s2; kodu da olmaksızın- gerçekleştirebilirdik. İşte bu yüzden üçüncü bir değişkene ihtiyaç yoktur. Fakat bu uzun yöntemle -üçüncü değişkeni kullanarak- bir değişkene değer atama işleminin nasıl yapıldığını öğrendik. Buradaki “=” işareti gerçek anlamda bir eşitlik ifade etmez. Bu kullanımıyla programlamada “=” işareti atama görevi üstlenir. Yani soldaki değişkenin değerini sağdaki değişkenin içerisine aktarma görevini üstlenir (s1+s2 nin değerini sum adlı değişkene aktardık, yani atadık). Konumuza geri dönecek olursak devam eden satırlarda öncelikle ekrana birkaç mesaj yazdırdık ardından scanf() fonksiyonuyla iki kez kullanıcıdan veri aldık. Aldığımız bu verileri toplayıp “sum” adlı değişkene aktardık ve en son sonucu ekrana yazdırdık. Bir önceki konumuzda printf() ve scanf() komutlarını anlattığım için bildiğinizi varsayarak hızlıca geçtim. Eğer bu konularda bir sıkıntı yaşıyorsanız verdiğim linkten (Tıkla öğren!) ulaşabilirsiniz. Bir sonraki yazımda C’ de fonksiyon tanımlama konusunu ele alacağız. Takipte kalın 😉 İyi çalışmalar, kolay gelsin 🙂 …

C Programlama Dilinde printf() ve scanf() Fonksiyonları Nedir, Ne işe Yarar ve Nasıl Kullanılır?

Merhaba arkadaşlar bugün sizlerle printf() ve scanf() fonksiyonlarını ele alacağız. Nasıl kullanıldıkları ve ne işe yaradıklarını öğreneceğiz. Hadi başlayalım…

printf() Fonksiyonu: Ekrana çıktı vermede kullanılan temel C fonksiyonudur. Ekrana bir mesaj yazdırmak veya programda kullanılan bir değişkenin değerini yazdırmak amacıyla kullanılır. Kullanım şekilleri şöyledir:

> Ekrana mesaj yazdırırken:

printf(“Buraya mesajınızı yazınız!\n”); İletilmek istenen mesaj printf() komutu içerisinde “” işaretleri arasına yazılır. Burada “\n” bir alt satıra geçme komutudur.

> Bir değişkenin değerini yazdırırken:

printf(“\n x in değeri %d dir“,x); Mesajın içerisindeki “%d” kullanılan değişkenin (x) veri tipini (işaretli ondalık tamsayı; int, short gibi) ifade eder. Mesajın bitimindeki “,x” şeklinde ayrılan kısımdaki x ise programda kullanılan değişkenin adıdır.

Bazı tip karakterleri, anlamları ve bunlarla kullanılan tipler aşağıdaki gibidir:

Tip Karakteri Anlamı Tip
%c Tek bir karakter char
%d İşaretli ondalık tamsayı int, short
%ld Uzun işaretli ondalık tamsayı long
%u İşaretsiz ondalık tamsayı unsigned int, unsigned short
%f Gerçel sayı float, double
%s Karakter dizisi (string) char
%lu İşaretsiz uzun tamsayı unsigned long

Bazı karakterler ve anlamları ise şu şekildedir:

Karakter Anlamı
\a Ses üretir(alert)
\b İmleci bir sola kaydır(backspace)
\f Sayfa atla. Bir sonraki sayfanın başına geç(formfeed)
\n Bir alt satıra geç(newline)
\r Satır başı yap(carriage return)
\t Yatay TAB(Horizontal TAB)
\v Dikey TAB(vertical TAB)
\” Çift tırnak karakterini ekrana yaz
\’ Tek tırnak karakterini ekrana yaz
\\ \ karakterini ekrana yaz
%% % karakterini ekrana yaz

printf() fonksiyonu ile üçüncü bir değişkene ihtiyaç kalmadan çeşitli matematiksel işlemler gerçekleştirebiliriz. Aşağıdaki örneği inceleyelim.

a = b + c;

printf(“%d”,b+c);

Bu örnekte toplamları içerisine aktardığımız ‘a’ değişkenine hiç gerek kalmaksızın bir alt satırdaki “b+c” ifadesi ile de işlemi kolaylıkla gerçekleştirebiliriz.

scanf() Fonksiyonu: Klavyeden girilen verileri okumak için kullanılır. Yani kullanıcıdan değer -veri- alma fonksiyonudur. Örneğin girilen iki sayının toplamını bulan bir C programında bu iki sayıyı kullanıcıdan almak için scanf() komutu kullanılır. En temel kullanımı şu şekildedir:

scanf(“%d”,&x);

Yine buradaki “%d” veri tipini, “&” işareti adres operatörünü ve “x” ise alınan değerin aktarıldığı değişkenin ismini gösterir. Bundan sonraki fonksiyonları yazdığımız programlar üzerinde inceleyeceğiz. Görüşmek üzere… Kolay gelsin 🙂 …

 

Not! : Bu yazı oluşturulurken kadirga.k12.tr adlı siteden yararlanılmıştır.

C’de İlk Programım / Hello World!

 Merhaba arkadaşlar bugün sizlerle birlikte C Programlama Dilinde ilk programımızı yazacağız. Bunun için IDE olarak Code::Blocks programının son sürümünü kullanacağız (Bu programı nasıl ve nereden temin edebilirim? Tıkla ve öğren!).  Öncelikle programımıza, programın doğru bir şekilde çalışması için gerekli olan kütüphaneleri ekliyoruz. Bunun için ‘#’ diyez işaretini koyduktan sonra ‘include‘ yani içeri aktar komutunu yazıp sonra bir boşluk bırakıp ‘< >‘ işaretleri arasına ilgili kütüphanenin ismini yazarak kütüphaneyi programımıza dahil etmiş oluyoruz.

Not!: Kütüphanenin ve IDE’nin ne olduğunu merak ediyorsanız linkte vereceğim önceki yazımdan bunları kolaylıkla öğrenebilirsiniz (Tıkla ve öğren!).

 Daha sonra ana fonksiyonumuzu oluşturuyoruz. Ardından ekrana yazı yazdırma komutu olan printf(“Buraya Yazmak İsteğiniz Mesaj Gelecek“); komutuyla ekrana mesajımızı yazdırıyoruz. Aşağıda kod satırları arasında da göreceğiniz mesajdan sonraki “\n” komutu ile programımız bir alt satıra geçecektir. Hepsi bu kadar şimdi “F9” tuşuna basarak yazmış olduğumuz ilk programımızı rahatlıkla çalıştırabiliriz. İlk programımızın kod satırları aşağıdaki gibidir. Farklı mesajlarla da programınızı deneyebilirsiniz kolay gelsin 🙂 …

1
2
3
4
5
6
7
#include <stdio.h>
#include <stdlib.h>

int main()

{
printf(“Hello world!\n”);
}

Ek Bilgi: C’de Bazı Kütüphaneler ve İşlevleri!

Kütüphane İçeriği
stdio.h Standart giriş/çıkış fonksiyonları
conio.h DOS destekli giriş/çıkış fonksiyonları
math.h Matematiksel fonksiyonlar
stdlib.h Dönüşüm sıralam fonksiyonları
graphics.h Grafik fonksiyonları
dos.h DOS Fonksiyonları
ctype.h Karakter dönüşüm ve sınıflandırma
string.h Alfa sayısal

Ek Bilgi Kaynak: altinkaynak.biz

Code::Blocks Programının En Güncel Sürümünü İndirme ve Kurma!

Merhaba bu yazımda da Code::Blocks Programı nasıl indirilir ve nasıl kuruluru öğreneceğiz. Code::Blocks Programını öncelikle sitesinde ziyaret edelim. Her zaman en güncel sürümünü indirebilmek için bu siteyi takip etmeniz yeterli olacaktır. Şimdi linke TIKLAYIN ve beraber siteye gidelim. Ardından açılan pencerede aşağıda resimde gösterdiğim kısma dikkat edelim. Dikdörtgen içerisinde okla gösterilmiş alandaki linke tıklamanız programı indirmek için  yeterli olacaktır. Büyük resmi görmek için resmin üzerine tıklatalım. Daha sonra tekrar bu sayfaya dönmek için tarayıcınızın “Geri” tuşuna veyahut da klavyenizden “backspace” yani silme tuşuna basabilirsiniz.

CodeBlocks

Ardından indirdiğimiz programı varsayılan seçenekleriyle normal bir program kurar gibi kuralım. Program kurulumu bittikten sonra programı çalıştıralım. Karşımıza gelen menüde sırasıyla:

1. Resimde de görülen “Create a new project” seçeneğine tıklatalım.

Create a new project

2. Daha sonra gelen menüden “Console application” seçeneğine tıklatalım.

Console application

3. Bir sonraki menüden “C” seçeneğini seçip “Next” tuşuna tıklatalım.

4. Bu adımda da resimde gösterildiği gibi alanları doldurarak “Next” tuşuna basınız.

Console application2

5. Bu kısımda seçenekler aynı resimde gösterildiği gibi olmalıdır.

Console application3

6.Finish” tuşuna basarak ardından gelen pencereden ilk programınızı test edebilirsiniz. Programı çalıştırmak için “F9” kısayolunu kullanabilirsiniz. Ayrıca varsayılan olarak gelen ilk programı detaylı incelemek istiyorsanız linke TIKLATIN! Bir sonraki yazımda görüşmek üzere kolay gelsin 🙂 …

Tarih Mac Mahon’da Mı Tekerrür Ediyor?

bayrak

  Tarih tekerrürden ibarettir diyerek başlamak istedim söze. Bir millet; gelecekte ne olacağını, başına neler gelebileceğini merak ediyorsa şayet tarihin tozlanmış sayfalarında kalan geçmişine bir göz atması gerektiğini düşünüyorum. Ne demişler: “Tarihini bilmeyenin coğrafyasını başkaları çizer.”. Gerçi tarih, bize yıllarca namerti mert, merti de namert diye tanıttı durdu. Kimi sevip kime söveceğimize karar veremez olduk. Korkumuzdan ağzımızı açıp iki kelam edemedik. Aczimizi fakrımızı, gidip bir başka acizden dilendik. Ne istemeyi bildik şu dünyada ne de istediklerimizi elde edebildik. Hani Osmanlı torunuyduk? Bu kez bir fermanla yakılıp yıkılan biz olduk. Kendi milletimize sahip çıkacağımıza kılıktan kılığa girip durduk. Ve yıllar yılı kendimize asıl sorulması gerekenin yerine hep yanlış sorularla muhatap olduk. Neymiş asıl sorulması gereken diyebilirsiniz. Sizi de çok fazla meraklandırmadan söyleyeyim: “Tamam mı devam mı?“. Biz tamam dediğimiz o günden bu yana hep sıkıntı içerisindeyiz bilmem farkında mısınız? Nasıl yani neye tamam neye devam? Şöyle izah edeyim: 29 Mayıs 1453, İstanbul’un Fethi, Fatih Sultan Mehmed (II. Mehmed), bir çağı kapayıp yeni bir çağı açan, Hadis-i Şerifte de Konstantiniyye elbet bir gün fethedilecektir. Onu fetheden komutan ne güzel komutandır! Onu fetheden asker ne güzel askerdir! bahsi geçen o muazzam hadise… Kelimelerle izahı çok zor ama akıllarda biraz olsun canlandırabildiysek ne ala. Damarlarında ‘İslam‘ ve ‘Fetih‘ den başka bir şey dolaşmayan bu millet İslam’ın kalesini işte o zaman dikmiştir. Fethin sona erdiği -tamam dediğimiz nokta- İslam’ın ise ‘ılımlaşmaya’ başladığı günden itibaren ise bu millette çatlaklar oluşmaya başlamıştır. Olaylar daha da derinleşmeden şunu belirtmek isterim ki maksadım tarih dersi falan vermek değil branşım da değil zaten. Sadece son günlerde yaşanan üzücü olayların ardından olaylara kayıtsız kalmamak, olayları geçmişin süzgecinden geçirip günümüzle mukayese etmek ve bu konudaki düşüncelerimi sizlerle paylaşmak. Katılıp katılmamak size kalmış. Saygı duyarım. Denemem tamamıyla kişisel görüşlerimden ibaret olup hiçbir kişi ya da kurumu hedef alma niteliği taşımamaktadır. Bu arada nerede kalmıştık? Tamam şimdi hatırladım oluşan çatlaklardan bahsediyorduk. Oluşan bu çatlaklardan sızan ne idüğü belirsiz dost görünümlü düşmanlara ister istemez fırsatlar vermiş olduk. Ardından senaryolar yazılmaya başlandı birbir… Hangi filmde başrol bu kadar ezilir?

  Hadi gelin şimdi de kameramızı I. Dünya Savaşı’na çevirelim. Başlangıç 28 Temmuz 1914, bitiş 11 Kasım 1918, Dünya devletlerinin kanlı hesaplaşması, milyonlarca ölü ve yaralı -şehitlerimizi ve gazilerimizi bunların dışında tutuyorum-, açlık, sefalet ve izlerini günümüze kadar taşıyan onca acı şey… Ne kadar kolay demi ‘I. Dünya Savaşı’ nın  üç kelimeyle izahı. Bir o kadar da kolay olsa yarasını sarması… Neyse gelelim şimdi asıl mevzuya. ‘Mac Mahon -Gizli- Anlaşması‘: İngilizler ve Araplar arasında olmuştur. Araplar Osmanlı’ya isyan ederse İngiltere onlara -sözde- bağımsızlık verecek. Sonrasında ne oldu? İsteyen istediğini zaten aldı -İngilizler- anlaşmayı imzalayan ise sürgüne yollandı. Ortada ne bağımsızlık kaldı ne de bağımsız olacak millet. Kısacası yıllardır bu milleti istemeyenler onları eşiyle dostuyla sevdiğiyle vurdu. Kaleyi dışardan fethedemeyenlerin içerden yıkmak oldu yeni stratejisi. Refah, huzur, birlik ve beraberlik içerisinde yaşayan onca ulusu -yıllar öncesinde-; “yok siz şöyle oldunuz, olmadı böyle oldunuz, yok bunlar sizi kulandı, hakkınızı yediler…” gibi fitne ve fesat tohumlarıyla aramıza ayrılık soktular. Hem düşünce hem de mesafe olarak. Ne güzel söylemiş Yunus Emre: “Bölüşürsek tok oluruz, bölünürsek yok oluruz” diye. Tok olmak varken yok olmayı tercih edenin vay haline!

  Bu konu eğitimle de yakından alakalıdır hatta hissedardır. Ve inanın ondan da bahsetmeye kalksam uzadıkça uzar. Tek bir cümleyle değinip geçeyim; her şey cahillikten, eğitimsizlikten, eğitememekten kaynaklanmaktadır. Sözün özü; tarih sürekli tekerrür ediyor ama ulus olarak hala bunun bilincine varamıyoruz. I. Dünya Savaşı’nda Arapların başına ne geldiyse Doğu’daki vatandaşlarımızın da başına aynı şeylerin geleceği endişesi içerisindeyim -Rabbim’den temennim her şeyin bir an önce yoluna girmesi, daha fazla hiç kimsenin zarar görmemesidir-. Kimsenin sizin haklarınızı falan savunduğu yok. Üzerinizdeki şu ölü toprağını atın artık. Kendinize gelin! Kime karşı kiminle –sözüm ona hak savunucuları mücadele ediyorsunuz! Son olarak Şanlı Bayrağımızı indirme cür’etinde bulunan şahıs!!!; üzerine şehitlerimizin kanı bulaştı, bu milletin ahı bulaştı bilesin! Gerçi Bayrağımızın ne anlama geldiğini bilseydin indirmeye cesaret bile edemezdin! “Türk Bayrağının Anlamı ve Önemi Bilmiyorsan oku!

Not!: Bilerek ve kasten “Bayrağımız” diyorum çünkü hiçbir kuruma ya da şahsa mal edilemez. O bayrak hepimize ait ve öyle de kalacaktır. Bu millet o bayrak dalgalandığı müddetçe ondan güç alacak, yarınlara umutla bakacaktır…

Her şey gönlünüzce olsun, Allah’a emanet olun. Bir sonraki denemede görüşmek üzere. Hoşçakalın…

Kadir YÜZEN / 12.06.2014 / 15:29

Asus K52JC Tüm Driverlar | Asus K52JC All Drivers

Asus K52JC

Şok Şok Şok!!!

Asus K52JC markalı laptopunuzun bütün driverları bu linkte hem de suya sabuna dokunmadan çok kısa bir süre ve işlemde hepsini yükleyebileceğiniz bir şekilde. Uzun zamandır uğraştığım proje nihayet sonuçlandı 🙂 Windowsumda default olarak yüklü gelen driverlarımı sizlerle paylaşmanın sevinci ve gururunu yaşıyorum arkadaşlar. Umarım bu paylaşımım sizler için faydalı olur.

 

Önemli birkaç nokta!

Birincisi: Driverlar Windows 7 64 Bit İşletim Sistemi için geçerlidir.

İkincisi: Driver kurulumundan önce eğer varsa oturum parolanızı kaldırmanızı öneririm. Neden diyecek olursanız yüklediği her driver için bilgisayarınızın kolaylıkla reboot yapabilmesi ve her defasında parola girme yükünden kurtulmanız içindir.

Her şey tamamsa;

Tüm driverlar tek part halinde tıkla ve indir! (linkte hiçbir problem yaşamamanız için disk.yandex.com.tr adresimden paylaşıyorum arkadaşlar.)

Şimdi yapmanız gereken tek şey driverları indirdikten sonra aşağıdaki resimde de gösterildiği üzere “InstAll” adlı uygulamayı başlatmak ve driverlarınız otomatik olarak kurulurken bir kahve hazırlayıp keyifle içmek 🙂 (Not! Açılan pencerede kurulmasını istemediğiniz yazılım veya driverın check yani onay işaretini kaldırmalısınız.)

ScreenShot

Bitmedi! Ayrıca önceleri yaşamakta olduğunuz kameranın görüntüyü ters gösterme sorunu -zamanında bu linkte onun da çözümünü anlatmıştım incelemek isterseniz linke tıklayınız– daha siz böyle bir sorunla karşılaşmadan otomatikman halledilmiş olacak.

Eğer bu konuya yönelik bir soru veya sorununuz olursa kdryzn@hotmail.com adresine mail atmaktan hiiiiiiç çekinmeyin. Kolay gelsin… 🙂

 

<< Mutlu olmanın yolu insanları mutlu etmekten geçer. >>

Kuru Kalabalık Sulu Yalnızlık

xfd

  Son yılların trendi olan sosyal medya araçları ve akıllı telefon kullanma hastalığı artık korkulacak boyutlara ulaşmıştır. Kullanan kesimin önde gelenlerinin gençler ve çocuklar olması ise meselenin endişe edilecek bir başka boyutudur. Eğer bir ülkede çocukların sokağa çıkmaları, sokakta oynamaları için ülke genelinde kampanyalar başlatılıyor, unutulan sokak oyunları üzerine araştırmalar yapılıp tezler yazılıyor ise gerçekten de ortada hafife alınamayacak kadar önemli bir problem var demektir. Hâl bu olunca gençler artık sosyal medyadan görüşüp konuşur, birbirleriyle oradan haberleşir oldu. Hatta orada uyuyup orada uyananlar bile var. “Günaydınlar herkeseeee” (rt). “İyi uykular panpişkolarımmmm” (like). Bir kısmı da orada yaşıyor herhalde. Umarım orada ölüp gitmezler. Yoksa cenaze defin işlemleri de sanal olarak gerçekleştirilir, ceset kokana kadar kimse cesede müdahale etmezdi herhalde. Bu bana üniversitedeyken eğitim amaçlı kullandığımız “Second Life” adlı programı hatırlattı doğrusu. Sanal karakterler üzerinden sanal ortamlarda yapılan bilumum işlemler… Yalnız tek farkla: Günümüz insanı ‘second’ ile ‘first’ ayrımını yapmada bir sıkıntı yaşıyor olsa gerek. Asıl sıkıntı bu da değil. Asıl sıkıntı; insanımızın kalabalık içinde yalnızlaşmaya başlaması. Yani toplumun içinde, toplumdan soyutlanarak yaşamaya başlamasıdır. Ve artık kalabalığın tabiri caizse kuru kalabalıktan ibaret olmasıdır.

  Geçenlerde yaşadığım bir olayı paylaşayım sizlerle: Yine bir gün dışarı dolaşmaya çıkmıştım ki gezerken kafede oturan bir çift gözüme ilişti. Erkek ve kız karşılıklı olarak oturuyorlar ama ne erkek kızla ne de kız erkekle konuşuyordu. Niye mi? Çünkü erkek elindeki akıllı telefonuyla kız ise laptopuyla uğraşıyordu. Çok da garipsemedim açıkçası ne de olsa alıştık ve bu gibi şeyler doğal karşılanacak bir hâl aldı. Sayılamayacak kadar çok artısı olmasına rağmen ne yazık ki teknoloji bizlere kalabalık içinde yalnız kalmayı da öğretti doğrusu. Helal olsun. Aslında olmasın; istemediğimiz bir şey çünkü bu. Oysaki yalnızlık insanın fıtratına aykırı bir şeydir. Ve inanın yalnızlık çoğu zaman da suludur. Neden mi derseniz yalnız kalmak insanı yoğunlaşmış düşünce bulutlarına doğru iter de ondan. Bir iki derken üçüncü seferde bulutlardan yağmur boşalmaya başlar. Mutsuzluğuna mı dersin, keşkelerine mi dersin? Olay gerçekleşsin yeter ki kılıfı bulunur elbet. Bu durumda bütün suçu teknolojiye atmakta insafsızlık olur doğrusu. Biraz da topluma yüklenelim isterseniz. Belki de insanımızı bu denli teknolojiye iten şey toplumdur hı ne dersiniz? Onun oğlu ne yapmış bunun kızı ne yapmamış, ne zaman okul bitecekmiş de ne zaman evlenecekmiş, bir Ali bir Ayşe gibi olamamış da… Ohooo daha neler neler. Bu durum ölene kadar böyle gider hatta öldükten sonra bile devamı gelir biliyor musunuz? “Şu dünyada bir dikili bir ağacı bile yoktu.” bu sadece bir örnek ha daha niceleri var. İnanın insanımız başkalarıyla bu denli uğraşmayı bırakıp biraz kendine baksa, kendisiyle ilgilense durum çok çok farklı olabilirdi. Bu noktada toplumdan uzaklaşan gençlere, çocuklara hak vermiyor değilim doğrusu. Aynı şeyleri sizler gibi ben de fazlasıyla yaşıyorum ve toplumun bu tutumundan ben de şikayetçiyim. İnsanımız haliyle kendisini soyutluyor toplumdan. Eeee toplum da gidince geriye ne kalıyor dersiniz 21. yüzyılda? Sizin de tahmin edeceğiniz üzre tabiki de internet, sosyal medya araçları ve akıllı telefonlar… Belli bir ölçüde kullanılması tamam da aşırıya kaçılması endişe verici doğrusu. Hayatında her olup biteni, acısını tatlısını paylaşmak -dostun fonksiyonelliği azaldı canım- ve aklıma gelmeyen ancak yapılan yüzlercesi…

  Ulan bu kadar eleştiriyorsun da sen sanki yapmıyor musun diyebilirsiniz. Bunu demekte haklısınız da. Bi kere akıllı telefonum yok kullanıcısı da değilim haliyle g Sosyal medyaya gelince o kadar aktif değilim ama saydıklarım ve sayamadıklarımın birçoğunu ne yazık ki ben de yapıyorum. Artık o kadar yerleşmiş ki sabah ilk kalktığınızda Facebook’a, Twitter’a vs. girip bildirim, mesaj, takipçi, arkadaş isteği… var mı yok mu diye bakıyoruz. Adamlar araştırmasını yapmış yahu insanın beğenilme güdüsünü artırıyormuş. Haklılar da. Sosyal medya sayesinde bilimsel olarak da incelendik ya daha ne olsun! Biliyorum çok uzattım kusuruma bakmayın. O değerli vaktinizi ayırıp denememi okuduysanız eğer sizlere bir teşekkür borçluyum, bilesiniz. Denememe son verirken şu temennilerde bulunmak istedim: Her şey gönlünüzce olsun, Allah’a emanet olun g Bir sonraki denemede -hangi konuda ne zaman yazıcam acaba bunu ben de merak ediyorum doğrusu- görüşmek üzere. Hoşçakalın…

Kadir YÜZEN / 30.05.2014 / 02:29

DİKKAT DİKKAT! 28.05.2014 ÇARŞAMBA, Büyük TWITTER Etkinliği, Bütün Bilişimcilere Çağrı!

1509832_785235401500706_2480930109664879463_n

Her kademede zorunlu bilişim dersi için yürüttüğümüz çabaların, emeklerin meyvelerini almak için artık son şanslarımız ve bu yüzden bu günleri çok iyi değerlendirmemiz gerekiyor. Afişlerimiz bugün itibariyle Ankara’nın en kritik noktalarında bilboardlardaki yerlerini aldı. Şimdi bunu sanal ortamda yaymalı ve gündeme gelmesini, haber olmasını sağlamalıyız. Bu da yine biz duyarlı bilişimcilerin elinde.

ALANINA, GELECEĞİNE SAHİP ÇIKAN HERKESİN ÇARŞAMBA AKŞAMI SAAT 21.00’DA BİLİŞİM GRUPLARINDAN DUYURUSUNU YAPACAĞIMIZ HASHTAGA TWEET ATMALARINI RİCA EDİYORUZ !!!

 

Bilgisayar Terminolojisindeki Merak Edilen Bazı Terimler

soru_isareti_3

Kütüphane , FLTK nedir?

Kütüphane: C ,  C++ gibi programlarda belli bir amaca ilişkin görev bakımından da birbirine benzerlik ve tuterlık gösteren komutların bir arada tutulduğu kitaplıktır diyebiliriz. Örneğin math.h (matemetik fonksiyonlarının bulunduğu kütüphane) gibi.İçerisinde sqrt() (karekök alma) pow() (üs alma) gibi komutların bir arada tutulması gibi.

FLTK (Fast Light Toolkit): Bill Spitzak tarafından C++ ile geliştirilmiş çapraz platform GUI (grafiksel kullanıcı arayüzü) kütüphanesidir. GNU LGPL ile özgür olarak dağıtılıp kullanılabilir. OpenGL ile üç boyutlu programlama yeteneklerini kullanır. Fakat genel GUI programlamasına da uygun olarak geliştirilmiştir. C++ ile geliştirildiğinden birincil programlama tercihide bu yönderdir. Fakat zaman içerisinde Lua, Python, Ruby gibi nesne yönelimli diller içinde uygun hale getirilmiştir.
Diğer benzer kütüphanelerin aksine FLTK son derece hafif tasarlandığından yalnızca GUI’ ye odaklanır ve program çıktılarındaki dosya boyutu oldukça küçüktür.

Biraz daha bilgi…

http://ufuksanli.blogspot.com/2009/10/fltk-m-sptk-m.html

http://ufuksanli.blogspot.com/2010/04/merhaba-qt-tesekkurler-fltk.html

Compiler Nedir?

Bir dilde kullanıcı tarafından girilen kodu (kaynak kodu yada source code) istenilen başka bir kod haline dönüştüren programdır. Genelde üretilen bu kod ortama göre çalıştırılabilir kod (executable code) olarak üretilmektedir. Ancak bir derleyicinin daha doğru tanımı bir dildeki kodu başka dile çeviren program olarak yapılabilir. Örneğin C dilinde yazılan bir programı PASCAL diline çeviren programlara derleyici adı verilebilir.

Diğer bir ifadeyle daha üst seviye bir dilden daha alt seviyeli bir dile tercüme olarak kabul edilebilir. Buna göre örneğin C dilinden Assembly veya makine dili gibi daha alt dillere tercüme ile derleyici kavramı daha da sınırlandırılmış olarak kabul edilebilir.

Derleyiciler günümüzde daha çok bir dilde yazılmış koddan, işletim sistemi ve donanım bağımlı kodların üretilmesinde kulllanılmaktadırlar.

GNU nedir? GPL (Genel Kamu Lisansı) Nedir?

Bu yazımda en çok karşılaşacağımız terimlerden biri hatta tüm yazılımlar için ortak bir özellik olan GNU lisansının ne anlama geldiğini de buraya eklemek istedim. GNU hakkında internette bir çok bilgiye ulaşabilirsiniz ancak bunların içinde en açıklayıcı olanı wikipedia kaynaklı olan aşağıdaki yazıdır.

GNU’nun açılımı, ‘GNU is Not Unix’tir. Yani GNU, ‘GNU, Unix değildir’ anlamına gelmekte olan özyinelemeli (rekürsif) bir kelimedir.

Richard M. Stallman, 1970’li yıllarda MIT (Massachusetts Institute of Technology)’nin Yapay Zeka laboratuvarlarında serbest yazılımı bir yaşam şekli olarak benimsemiş bir grupla beraber 1980’li yılların başına kadar yazılım geliştirici olarak çalışmıştır. Bu grup ile olan birlikteliğinin sona erişinin ardından kendisini o dönemlerde ivme kazanan bazı akımlardan dolayı benimsenmeye başlanılmış yeni bir sosyal sistem içerisinde bulmuştur, Stallman bir röportajında o günleri şu şekilde nitelendirmekte:

“Kendimi özgür olmayan (kaynak kodu kapalı olan) yazılımların hakim olduğu ve kullanıcıların yardımsız bırakıldığı, parçalanmış ve birlikte çalışmanın korsanlık olarak nitelendirildiği çirkin bir sosyal sistemin içinde buldum. Bu tür bir yaşantıyı reddettim. Ancak işimi özgürlüğe ve birlikte çalışmaya adadığım zaman yaptıklarımdan gurur duyabileceğime karar verdim.”

Ve 1984 yılında tamamen özgür yazılımların meydana getirdiği bir işletim sistemi ve işletim sistemine ait araçların geliştirilmesi çalışması böylece başlamış oldu. İşte bu çalışmanın adı GNU idi. Yazılan özgür yazılımların bir şemsiye altında toplanması için 1985 yılında yine Stallman tarafından FSF (Free Software Foundation) kuruldu ve GNU yazılımları korumak üzere GPL (General Public Licence- Genel Kamu Lisansı) adı verilen yazılım lisansı duyuruldu. GPL lisansı ile lisanslanan özgür yazılımların amaçları özgürlüklerini korumaktan başka bir şey değildir.

GPL (General Public Licence- Genel Kamu Lisansı)

GNU Genel Kamu Lisansı (GNU GPL ya da GPL) birçok yerde kullanılan ücretsiz yazılım lisansıdır ve özgün hali Richard Stallman tarafından GNU projesi için yazılmıştır. Bu lisansın en son sürümü (GPLv3), 29 Haziran 2007’de çıkmıştır. GNU Kısıtlı Genel Kamu Lisansı yani LGPL ise GPL’in bazı yazılım kütüphaneleri için yazılmış sürümüdür.

GPL’in Genel Nitelikleri

GPL lisans anlaşması, 1983 yılında Richard Stallman tarafından geliştirilmiş, çok akıllıca detaylarla bağlayıcılığı bulunan, teşvik edici, gerek kullanıcı gerekse üretici tarafa büyük olanaklar sağlayan bir lisans türüdür. GPL’in en çok üzerinde durduğu konu yazılımların kaynak kodu ile birlikte dağıtılmasının gerekliliğidir. Üretici firma yazılımını binary olarak dağıtsa bile kaynak kodunu da herkes tarafından erişilebilir bir yere bırakmak zorundadır. Kullanıcı, bu kaynak kodu alıp inceleyebilir, üzerinde istediği değişikliği yapabilir, kendi projelerinde, yazılımlarında kodun tamamını ya da bir parçasını kullanabilir. Hatta başkasının kod parçasını alıp birkaç değişiklik yapıp, satarak maddi kazanç da elde edebilir. Ama tek bir şartla, yeni üretilen program da GPL ile lisanslanmak zorundadır.

GPL, yazılımın ücretlendirilmesi hakkında hiçbir fikir beyan etmez. GPL yazılımları ücretsiz olmak zorunda değildir. Üretici firma ya da kuruluş, yazılımını GPL ile lisanslayıp, dağıtabilir ve karşılığında da bir ücret talep edebilir. Bu madde en baştan beri sözleşme içerisinde olmasına rağmen, GPL yazılımların çok büyük bir kısmı ücretsizdir. Genel yaklaşım yazılımdan değil, kullanıcıya sunulan kurulum, eğitim, yönetim ve ek modül yazma gibi süreçlerden para kazanılması şeklindedir. Bu özelliği ile GPL pek çok lisanstan ayrılmaktadır.


GPL’in Avantajları

Kullanıcı yazılımının içinde ne olduğunu bilir. Bazı üretici firmaların yaptığı öne sürülen arka kapı (backdoor) yerleştirme vakaları imkânsızdır. Bu özellikle askeri kurumlar için önemli olmaktadır. GPL ile lisanslanan yazılımın kaynak kodu ortada olduğu için gerekli inceleme yapıldıktan sonra rahatlıkla kullanılabilir.
Yazılım çok büyük bir kitle tarafından kullanılması sonucunda hataların keşfedilmesi ve yine çok büyük bir kitle tarafından geliştirildiği için düzeltilmesi süreci bazen dakikalarla sınırlı olur.
Üretici firma, kullanıcı kitlesini geliştirmek için büyük bir şans elde etmiş olur.
Kullanıcı yazılımda beğenmediği kısımları değiştirmekte hürdür. Bunu eğer kendisi yapamıyorsa bile yazılım çok büyük bir kitle tarafından kullanıldığı için, İnternet’te biraz aradıktan sonra büyük ihtimalle aynı yazılımın kendi istediği şekilde değiştirilmiş halini rahatlıkla bulur.
Üretici firma, dünyaca popüler bir GPL yazılımın üreticisi olarak büyük bir prestij elde eder. Referans listesinde onbinlerce kişi tarafından kullanılan bir programı geliştirmiş bir firma olmanın onurunu taşır. Bunun sonucunda bir sonraki geliştirdiği yazılıma dışarıdan bakışlar daha profesyonelce olur ve firmanın ismi duyulduğu için de hedef kitle daha büyük olur.
BSD gibi lisansların aksine GPL bir yazılımdan türetilen yazılım da GPL olmak zorunda olduğu için geliştiricinin kodunun çalınması riski yoktur.
GPL bir yazılımın kodunun üzerinde oynayan kişi sayısı bazen binleri bulmaktadır. Bu nedenle programlar çok hızlı bir şekilde çok büyük bir kitle tarafından geliştirilir. Bu da yazılımın kalitesinin artmasında büyük bir rol oynar.
GPL, yazılım sektöründe bir rekabet ortamı yaratmayı sağlar. Ücretli ve kapalı kod olarak sunulan yazılımların ücretsiz ve açık kodlu olanlara nispeten çok daha kaliteli olmasının gerekliliği ortaya çıkar. Bu da yazılımların kalitesini artırır ve sektörün ütopik tam rekabet piyasasına olabildiğince yaklaşmasını sağlar. Sektörü sadece arz değil, talep de yönlendirmeye başlar.
Kullanıcı ürünün gelişmesi için üretici firmaya bağımlı kalmaz. Özellikle kritik uygulamalarda kullanılan bir yazılımı üreten firmanın batması veya artık yazılıma destek vermemesi durumunda mağdur kalmaz. Kaynak kodu ortada olduğu için kullanıcı istenirse kendi bünyesinde isterse destek alarak yazılımı geliştirmeye devam edebilir.

GPL’in Dezavantajları 

GPL ile lisansladığınız yazılımların başkaları tarafından değiştirilerek geliştirilen türevlerinin elde ettiği gelire yönelik maddi bir talepte bulunamazsınız. Kamuya açtığınız kodları kullanan türev yazılımların ticari süreçlerde kullanılması durumunda karşı tarafı bir çeşit rüçhan/gelir paylaşımı anlaşması imzalamaya zorlayan Mozilla Kamu Lisansı, bu gibi durumlarda önerilebilir.

IDE NEDİR ?

Öncelikle IDE nedir bu konuda biraz bilgi vereyim. IDE “integrated development environment”, “integrated design environment ” veya “integrated debugging environment” gibi açılımlara sahip yazılım geliştiricilerinin proje geliştirmesinde onlara yardımcı olan yazılımlara denir.
Bir IDE yazılımını basit bir metin editöründen farklı kılan özelliklerin önemlilerini sıralayacak olursak.

Kaynak kod editörü : Basit metin editörlerinden farklı olarak kodları kullandığınız dile göre belirten (highlight) bir editörtür.

Derleyici ve Yorumlayıcı içermesi : Kaynak kodlarını bu sayede IDE üzerinde çalıştırabilirsiniz zamandan kazanmanız açısından size yardımcı olur.

Debugger (Hata Ayıklayıcı) : Adından da anlaşılacağı üzere programda herhangi bir hata var mı kontrol etmenize yarayan araç.
Önceden de söylediğim gibi bir IDE, yazılım geliştiricisinin işini kolaylaştıran çoğu bileşenden oluşur.