5 Nisan 2017 Çarşamba

C Programlama Örnek Armstrong Sayılar

Tüm basamaklarındaki rakamların sayı değerlerinin küpleri toplamı, kendisine eşit olan sayılara "Armstrong sayı" denir. Diğer bir deyişle her bir basamağın o sayının basamak sayısı kadar üssü alınarak toplanmasıdır. Eğer toplam bu sayıyı veriyorsa o sayı Armstrong Sayıdır.

Bazı Armstrong sayıları: 0, 1, 2, 3, 153, 370, 407, 1634, 8208

153 = 13 + 53  33
1634 = 14 + 64 + 34 + 44

#include <stdio.h>

int pw(int, int);

int main()
{
   int s, sonuc = 0, gecici, bdeger, basamak = 0;

   printf("LUTFEN BIR SAYI GIRINIZ\n");
   scanf("%d", &s);

   gecici = s;
   while (gecici != 0) {
      basamak++;
      gecici = gecici/10;
   }

   gecici = s;

   while (gecici != 0) {
      bdeger = gecici%10;
      sonuc = sonuc + pw(bdeger, basamak);
      gecici = gecici/10;
   }

   if (s == sonuc)
      printf("%d ARMSTRONG SAYIDIR.\n", s);
   else
      printf("%d ARMSTRONG SAYI DEGILDIR.\n", s);

   return 0;
}

int pw(int s, int r) {
   int c, p = 1;

   for (c = 1; c <= r; c++)
      p = p*s;

   return p;

C Programlama Örnek Palindrome Sayılar

Tersten ve düzden okunduğu zaman okunuş yönüyle aynı olan sayılara Palindromik Sayılar denir.

Örnek: 3,5,8,101,232,3663,8008,12431 vb.

Asal palindromik sayılar:  2, 3, 5, 7, 11, 101, 131, 151, 181, 191,….
Karesel palindromik sayılar: 0, 1, 4, 9, 121, 484, 676, 10201, 12321, 14641, 40804, 44944,….
Küpsel palindromik sayılar: 0, 1, 8, 343, 1331, 1030301, 1367631, 1003003001,....

#include <stdio.h>

int main()
{
   int n, t = 0, temp;

   printf("LUTFEN BIR SAYI GIRINIZ\n");
   scanf("%d",&n);

   temp = n;

   while( temp != 0 )
   {
      t = t * 10;
      t = t + temp%10;
      temp = temp/10;
   }

   if ( n == t )
      printf("%d PALINDROMIK BIR SAYIDIR\n", n);
   else
      printf("%d PALINDROMIK DEGILDIR\n", n);

   return 0;
}


1 Nisan 2017 Cumartesi

Linux SCP Komutu ve Kullanımı

SCP (Secure Copy) isimli bu güzel komut sayesinde ssh protokolü üzerinden iki Linux arasında dosya transferi yapabiliyoruz. Sadece uzak bir bilgisayardaki dosyayı yerele indirmek için değil, yereldekini de uzaktaki bilgisayara yüklemek içinde kullanabiliyorsunuz. SCP ile dilerseniz kendi sunucunuza farklı bir sunucudan dosya çekebilir, dilerseniz kendi sunucunuzdan farklı bir sunucuya dosya transfer edebilirsiniz. SCP veri aktarımı için Güvenli Kabuk (SSH) kullanması nedeniyle, transit verilerin doğruluğunu ve gizliliğini sağlar ve kimlik doğrulama için aynı mekanizmalarını kullanır. İsteğe bağlı temel nitelikleri (izinler, zaman tanımları dahil), bir sunucuya (upload) veya bir sunucudan download imkanı sağlar.

SCP Aracının Kurulumu

Linux dağıtımlarında öntanımlı olarak scp bulunmamaktadır. SCP paketi Openssh-client ile gelmektedir. SCP kurmak için:
# apt-get install openssh-client -y  (Debian/Ubuntu)
# yum install openssh-client -y      (RHEL/CentOS/Fedora/Suse) 

SCP Parametreleri
-p = Hedef port bilgisi girmek için
-q = Yüzdelik olarak gösterilen transferi disable eder. İşlem devam eder arayüzde görünmez.
-r = Klasörleri kopyalamak için kullanılır. Alt Klasörler Dahil
-c = Veri aktarımında şifreleme metodunu "-c blowfish cipher" olarak değiştirir. 
-i = Ortak anahtar kimlik doğrulaması veya özel anahtar (ssh key) dosyasını kullanmak için kullanılır.
-l = Bandwidth limitlemek için kullanılabilir. Kbit/s.
-v = Hata ayıklama iletilerini görüntüler.
-C = Sıkıştırmayı etkinleştirir.

SCP ile Sunucudan Farklı Bir Sunucuya Dosya Gönderme Nasıl?
scp -P 55 dosya.zip root@192.168.1.15:/home

SCP ile Sunucumuza Farklı Bir Sunucudan Dosya Alma Nasıl?
scp -P 55 root@192.168.1.15:/var/www/dosya.zip /home

SCP ile Uzak Sunucudan Klasör Alma Nasıl?
scp -r belgeler root@192.168.1.15:/var/www

SCP ile Çoklu Dosya Transferi Yapmak Nasıl?
scp -P 55 root@192.168.1.15:/home/\{belgeler.zip,kitaplar.tar.gz,notlar.rar\}

NOT: Varsayılanda scp ile veri aktarımı Triple-DES şifreleme metodu kullanır. Fakat daha performanslı olduğu savunulan Blowfish Cipher ile de kullanmak mümkündür. Bunun için "-c blowfish” parametresi kullanılır.

31 Mart 2017 Cuma

Ubuntu 16.10 üzerine Oracle XE 11g R2 ve Oracle Sql Developer Kurulumu

Merhaba, Bu makalemde Oracle Database Express Edition 11g Release 2 kurulumunu Ubuntu 16.10 (Yakkety Yak) üzerinde gerçekleştireceğiz. Ubuntu, Oracle belgelerine göre desteklenen işletim sistemleri listesinde değil. Mevcut Oracle XE 11g kurulum dosyası rpm (Red Hat Package Manager) türünde olduğu için Windows işletim sisteminde olduğu gibi next next - finish şeklinde kurulamıyor. Bu nedenle kurulum zor olmamakla birlikte belirli adımlar izlenerek gerçekleştirilebiliyor. Oracle Database Express Edition 11g  Release 2 tamamen ücretsizdir, projelerinizde telif hakkı problemi olmadan kullanabilirsiniz.

Oracle resmi web sitesinden kurulum için gerekli paketimizi ve uygun sürümü indirelim.

Download işlemi için Oracle Account hesabıyla login olmanız istenecektir. Eğer Oracle hesabınız yok ise https://profile.oracle.com/myprofile/account/create-account.jspx adresinden bir hesap oluşturabilirsiniz. Kurulum dosyamızı indirdikten sonra zip içerisinden çıkaralım ve sırasıyla aşağıdaki işlemleri ve komutları uygulayalım. 

Başlarken ilk yapmamız gereken rpm (Red Hat Package Manager) yapısındaki kurulum paketi dosyamızı Alien programcığı ile Debian paket türüne çevirmek olacak. Bu işlem için öncelikle Alien programcığını kuralım. Bunun için konsola aşağıdaki kodu yazın ve enter'a basın.

$ sudo apt-get install alien libaio1 unixodbc

$ sudo apt-get install alien libaio1 unixodbc
$ cd Downloads (Sizin download klasörünüz)
$ unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
$ cd Disk1 
$ sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm 
$ sudo gedit /sbin/chkconfig

chkconfig için scripti oluşturalım.

5 Şubat 2017 Pazar

Linux Dosya Sistemlerine Windows'dan Erişim Nasıl?

Merhaba
Bu yazımda Windows işletim sistemlerinde UNIX/LINUX Disk bölümlerine erişim için kullandığım küçük bir freeware (ücretsiz) yazılımdan bahsedeceğim.

Sizde Windows ve Linux'u çift önyükleme olarak birlikte kullanıyorsanız veya mevcut sisteminiz sadece Windows tabanlı bir işletim sistemiyse ve Unix/Linux disk bölümlerine sahip bir disk içeriğinden veri almanız yada okumanız gerekiyorsa ne yapabiliriz. Malum Linux üzerinde Windows NTFS veya FAT bölümleri için yerleşik destek çoğu dağıtımda mevcut olmayanlarda ise minik programcıklar vasıtasıyla sorunsuz ve güvenli bir şekilde mount edilip içeriğe erişilebiliyor ancak bu destek henüz Windows için sadece üçüncü parti yazılımlar ile yapılabiliyor. Benzer yazılımlar ile test tecrübelerim üzerinden DiskInternals firmasının üretmiş olduğu Linux Reader isimli minik bir yazılımın rahat ve hızlı bir şekilde bu ihtiyacımı karşıladığını deneyimledim. Bu küçük programcık Windows ve Ext2 / Ext3 / Ext4, HFS ve ReiserFS dosya sistemleri arasında bir tür köprü görevi görmekte. Erişilecek diskte aktif bir Linux kurulu olması durumunda program salt okunur erişim sağladığından dolayı dosya sistemi bölümlerinde kayıt yapmanıza izin vermeyecek ve mevcut Linux yapısını etkileyebilecek hiç bir değişiklik yapmadan istenilen disk bölümünden istenilen dosyaya erişim sağlanabilecek. Program kendi yapısında Windows Explorer benzeri bir yapıyla kolaylıkla dosya filtreleme ve istenildiğinde aktif çalışılan Windows disk alanına aktarım yapabilmemizi sağlıyor.

Desteklenen Dosya Sistemleri: 
Ext2/3/4, ReiserFS, Reiser4, HFS, HFS+ FAT, exFAT, NTFS, ReFS, UFS2 

Lisans: Freeware
İndirme sayfası için tıklayın

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü