30 Mart 2012 Cuma

Özgür Yazilim ve Linux Günleri 2012

İstanbul Bilgi Üniversitesi - Dolapdere kampüsünde düzenlenen etkinliğin ilk oturumunda "Bilgisayar Bilimcileri Haklıymış: Programlama Dillerindeki Son Gelişmeler" konu başlığıyla Chris Stephenson'u dinledim. Programlama dillerinin neden kendilerini yenilemek zorunda kaldıklarından, programlama dillerinin geleceğinden, eksikliklerinden ve benzeri birçok konu üzerine bilgiler edindim. Başarılı bir sunumdu. 

Diğer bir oturumda "Maven Derleme Sistemi ile Proje Hayat Döngüsü" konu başlığıyla Hakan Uygun'u dinledim. Gerçekten konusuna çok hakim ve biraz bana göre teknikte kalsada en azından maven'i tanımış oldum. Daha sonra ki oturumda "Büyük Veri" konu başlığıyla Özgür Yılmazel ve Gökhan Çapan'ı dinledim. Bu oturumda çok keyifli ve düşündürücü geçti. Büyük datalar hakkında inanılmaz bilgiler edindik, düşünsenize bir dakika içerisinde internete ne kadar bilgi yağıyor?

Öğleden sonra "Sunucu Ayarlarının Sürümlendirilmesi" konu başlığıyla Doruk Fişek'i dinledim. Bu oturumda çok faydalıydı, sunucuda yapılan değişiklikleri sürümlendirip saklayabiliyorsunuz. Bir çeşit sunucuda değişiklik yapmadan önce sistem backup'ını almak gibi birşey ama çok farklı tabi ki. 

Özellikle birden fazla sistem yöneticisinin bulunduğu yerlerde bu tarz uygulamaların yapılması çok gerekli. Son oturumda da "Android ile İletişim Uygulamaları Geliştirme" konu başlığıyla Ramazan Ferhat Ölgün ve Erhan Tepe'yi dinledim. Son oturumu mu atölyede tamamladığım için burada da faydalı bilgiler edinebildim. Etkinlik yarın devam ediyor, katılmak isteyenler mutlaka gelmeliler.

Bilgi: http://ozguryazilimgunleri.org/

26 Mart 2012 Pazartesi

Flash Bellek Güvenliği Nasıl Sağlanır?

Sandisk

Sandisk

Yeni aldığım sandisk flash belleğimin içerisinde secureaccess yazılımı bulunuyordu. Pek alışık olmadığım bir program özellikle flashbellek için. Ancak kullanmaya başladığım andan itibaren çok faydasını gördüm diyebilirim. Verilerin şifrelenerek saklanması ve belleğin kaybolması halinde bilgilerin başkaları tarafından ulaşılabilirliğini ortadan kaldırması çok faydalı. Sandisk'in kendi yazılımını kullanmak için uygulamayı bellek üzerinden çalıştırıyorsunuz, ilk defa açıyorsanız bir şifre belirliyorsunuz. Daha sonra size ait depoya ulaşabiliyorsunuz. Bir explorer gibi verileri sürükleyerek bırakabilir, yada dosya ekle ekranını kullanarak verileri şifreleyerek saklayabilirsiniz.

20 Şubat 2012 Pazartesi

Console Komutlarıyla Tanışıyorum

Linux Console

Sonunda Ubuntu server 11.10’u bilgisayarıma kurdum. Çok fazla zorlanmadım diyebilirim, aksine kurulumu çok zevkliydi. Yalnız ubuntu server’da görselliğin olmadığını, direk console ile çalıştığını öğrendiğimde “vay be” dedim. Çünkü siyah bir ekran var önünüzde ve o bir server. Nasıl yönetebileceksiniz ki, tabi ki console’u çok iyi kullanarak. Linux tarafında çok fazla eksiğim olmasına rağmen merakım ve birazda hevesim var açıkcası. Merak ettiğim Linux dağıtımları arasında Ubuntu, BackTrack, Fedora, Debian ve Gobol Linux var. Hayırlısıyla hepsiyle bir tanışacağım.

Console kullanarak bilgisayarı kapatma, yeniden başlatma gibi basit işlemler nasıl yapılır?


Bilgisayarı kapatma komutları


sudo shutdown –h now //Bilgisayar hemen kapatılır
sudo shutdown –h 0 //Bilgisayar hemen kapatılır.
sudo shutdown –h 10 //Bilgisayar 10 dakika sonra kapanacak.
sudo shutdown –h 18:28 “Server 18:28’de kapanacak” //Bilgisayar belirlenen saatte kapanacak.

Bilgisayarı yeniden başlatma komutları


Sudo reboot
sudo shutdown –r 0

Diğer komutlar


sudo halt
sudo poweroff

6 Şubat 2012 Pazartesi

Java'da Break ve Continue Kullanımına Bir Örnek

Break ve Continue deyimleri döngü içerisinde belirli şartlar sağlandığında kullanılırlar. Break’ı translate ile çevirdiğimde “kırmak” kelimesi çıkıyor karşıma. O halde derleyici break deyimiyle karşılaştığında döngüyü kırarak içinden çıkıyor diyebilirim? Continue içinse translate abi “devam etmek” anlamını veriyor. O halde continue içinde döngü içerisinde belirli şartlar sağlandığında yola devam ediyor diyebilirim? Daha iyi anlamak için tabi ki kod parçacığı lazım, yoksa ben bile anlamayacağım. 

Aşağıda ki programda break kullanımına örnek bulabilirsiniz; blue 7’ye eşit olduğunda program ekrana yazdırmayı break komutu ile durduracaktır. Dolayısıyla ekrana 6 defa “YAZDIM” yazdırılır. Peki break yerine continue kullansaydık? O zamanda program blue=7 olduğunda ekrana yazmayacak, blue=8 ile yazmaya devam edecektir.

package denemetahtasi;

public class BreakDeneme {

public static void main (String Args[]){

for(int blue = 1; blue<20 blue="" br="">
if(blue==7) {break;}

System.out.println("YAZDIM");

}
}
}

5 Şubat 2012 Pazar

Malware İçerikli Facebook Paylaşımlarına Dikkat

Geçtiğimiz günlerde facebook gibi sosyal medya sitelerinde Amerika Birleşik Devletlerinin, İran ve Suudi Arabistan’a saldırdığına dair paylaşımlar yer aldı. Bu paylaşımlar tabi ki de fake bilgiler içeriyordu ve merak edenleri sahte bir CNN haber sayfası bekliyordu. Haber sayfasında ki ilgili video linkine tıklayarak görüntüyü izlemek isteyenlerin karşısına Adobe flash güncelleştirmesini yüklemek için onay ekranı çıkıyordu. Burada ki flash tahmin ettiğiniz gibi gerçek bir flash güncelleştirmesi değildi ve ziyaretçinin bilgisayarına kötü amaçlı yazılımlar ve rootkit’ler yükleniyordu. En basit haliyle bilgisayarlara izinsiz erişim yetkilerini alıyorlar.

Facebook profillerinde insanlar dikkat etmeden nasıl bu tarz paylaşımları yapabiliyorlar, ayrı bir merak konusu ancak şuda bilinmelidir ki; kötü amaçlar uğruna sahte facebook profilleride bu tarz eylemler için mutlaka kullanılıyordur. Kullandığımız anti-virüs yazılımının güncel tutulmasına dikkat etmeliyiz. Sophos tarafından tespit edilen Troj/Rootkit-KK, Troj/Rootkit-JV, Hpsus/FakeAV-J gibi zararlıların bilgisayarınızda olup olmadığını araştırabilirsiniz.

Bu ve benzeri ataklardan nasıl korunabilirim?


Alınması gereken iki önlem vardır. Öncelikle flash güncelleştirmeleri üzerinden gelen saldırıların önüne geçmenin kesin çözümü, güncelleştirmeleri video üzerinden değil, adobe’un resmi web sitesinden yüklemek olacaktır. İkinci bir koruma yöntemi de Rootkit gibi karşı tarafa erişim yetkilerimizi vermemek için kullandığımız bilgisayarda admin olarak değil user olarak oturum açmış olmamızdır. User oturumuyla açıkken bizden admin yetkimizi alamazlar ve rootkitlerden basit bir çözüm ile korunmuş olacağızdır.

22 Ocak 2012 Pazar

Java'da For Döngüsüne Bir Örnek

Döngüler sayesinde belirli kod parçaları tekrar tekrar çalıştırılır. Java’da while, do while, for ve özelleşmiş for döngüsü olmak üzere 4 çeşit döngü kullanılmaktadır. Bu döngülerden for döngüsüne ait bir kullanım örneğini aşağıda paylaşalım. Programda i değişkeni 0 değeriyle birlikte tanımlanır, ardından i değişkeninin 10000’den küçük yada eşit olup olmadığına bakılır ve i değişkeninin değeri +1 olarak arttırılarak ekrana "pcdunyasi.org" yazdırılır.

package denemetahtasi;
public class whiledongusu {
public static void main (String Args[]){

for (int i = 0; i<=10000; i++)
System.out.println("Pirazizli.com");
}
}

Programımızı çalıştırdığımızda koşul yok kural yok ekrana sürekli olarak pirazizli.com yazdıracaksak eğer programımızda küçük bir değişiklik yapıyoruz.

package denemetahtasi;
public class whiledongusu {
public static void main (String Args[]){

for (;;)
System.out.println("pcdunyasi.org");
}
}

Dizilerin Kullanılmasına Örnek Bir Program

Java Diziler


Bazı durumlarda benzer tipteki verilerin toplu olarak bir arada tutulup kullanılmasına ihtiyaç duyulabilir. Örneğin 100 tane int değer almamız gerekiyor, yada 500’tane. Bu gibi durumlarda değişkenleri tek tek tanımlamaktansa toplu olarak tanımlamak işlerimizi kolaylaştıracaktır. Dizilerin kullanılmasına küçük bir örnek aşağıda ki programcıkta verilmiştir. Diziler, tek boyutlu ve iki boyutlu diziler olarak iki farklı şekilde kullanılabilir.

package denemetahtasi;

public class dizilersinifi {
public static void main (String Args[]){

int[]kumeler = new int[50];
kumeler[2]=15;

int[][] hakan = new int [40][40];
hakan[1][1]=16;

System.out.println(kumeler[2]);
System.out.println(hakan[1][1]);
}
}

16 Ocak 2012 Pazartesi

Wampserver ile Joomla Kurulumu Nasıl Yapılır?

Logo

Local bir makinada joomla kurulumu yapabilmek için öncelikle wampserver yazılımını indirip bilgisayarımıza kuruyoruz. (Yükleme işlemleri oldukça basittir. Wampserver ile sisteminizde MySQL, PHP çalıştırabilir ve veritabanı işlemlerini gerçekleştirebilirsiniz.) Daha sonra joomla sistemini http://www.joomla.org/ adresinden bilgisayarımıza indirmemiz ve wampserver ile çalışacağımız C:\wamp\www altına joomla klasörünü kopyalamamız gerekmektedir. Buraya kadar geldikten sonra temel veritabanı işlemlerini ve birkaç ayar değişikliğini yapacağız. Wampserver kısayolunu çalıştırıp phpMyAdmin sayfasına gidiyoruz, burası herhangi bir kullanıcı işlemleri yapmadığımız için default root olarak açılacaktır. Bu sayfada veritabanları kısmından yeni bir veritabanı oluşturabiliriz. Bizim yapmamız gereken genel ayarlar sekmesinden MySQL bağantı karşılaştırmasını utf8_turkish_ci olarak seçmemizdir. Daha sonra bu sayfayı kapatıp yine wampserver üzerinden localhost’u çalıştırmamız gerekmektedir.

Localhost çalıştırılınca karşımıza your project altında bizim kopyalamış olduğumuz joomla klasörünü göreceğiz ve bu klasöre tıklayınca joomla kurulumunu başlatmış olacağızdır. İlk sayfada dil seçeneği geliyor ve burayı Türkçe seçerek ilerliyorum. Daha sonra ki adımda uyumluluk denetimleri yapılıyor ve tekrar ilerliyorum. Sonra ki adımda GNU genel kamu lisansı karşıma çıkıyor ve ilerliyorum. Şimdi ise veritabanı bağlantısını yapacağım ekran geliyor, bu sayfada veritabanı türü mysql seçili olarak geliyor, sunucu kısmına localhost, kullanıcıya root, şifre kısmını boş bırakıp, daha önce oluşturmuş olduğum database ismini yazdıktan sonra veritabanı adımınıda geçiyorum. Sırada ftp bağlantı ayarları var, şimdilik localde çalışmak istediğim için bu sayfayı da geçiyorum. Ana yapılandırma kısmında sitemizin ismini, yönetici e-mail, yönetici şifre belirleme işlemlerini gerçekleştiriyoruz. Dilersek örnek veriyi kur seçeneğiyle örnek bir çalışma ile joomla’ya başlayabiliyoruz. İşlemlerimiz bittikten sonra www/joomla altında ki install klasörünü silmemiz gerekecektir. Ve joomla kurulumumuz bitti, hadi hayırlısı..

13 Ocak 2012 Cuma

Switch-Case Kullanımına Örnek Bir Program

Switch-Case kullanımı if-else ile çok benzemektedir ve aynı işi if-else ilede yapabiliriz ancak kullanımında biraz farklılık olmaktadır. İhtiyaç olduğunda kullanmamız gerekebilir. Burada bir değişkeni şalter gibi düşünebiliriz, alabileceği tüm durumlar için bir case sıralaması yapıyoruz. Böylelikle şalter açıksa lambalarımız yanıyor, kapalıysa elektrik kesiliyor vs. Aşağıda ki programcıkta switch-case kullanımına bir örnek göreceksiniz, öncelikle 0’dan 3’e kadar bir random değer alınıyor. Daha sonra kullanıcının girdiği değer bu random değer ile toplanıyor, toplama işleminin sonucuna göre case değerlendirmeleri yapılıyor. Eğer uygun bir case yoksa default işlem çalışıyor.

package denemetahtasi;
// Switch-Case kullanımına örnek bir program

import java.util.Random;
import java.util.Scanner;

public class switchcase {

public static void main (String Args[]){

Random sayi = new Random();
int rakam = sayi.nextInt(3);
System.out.println("1'den 5'e kadar bir rakam giriniz: ");
Scanner s = new Scanner(System.in);
int rakam2 = s.nextInt();
System.out.println("Random gelen değer: "+rakam +"\n"+"Sizin girdiğiniz değer: "+ rakam2);
int toplam = rakam+rakam2;

switch(toplam) {

case 1: System.out.println("Toplam 1"); break;
case 2: System.out.println("Toplam 2"); break;
case 3: System.out.println("Toplam 3"); break;
case 4: System.out.println("Toplam 4"); break;
case 5: System.out.println("Toplam 5"); break;
case 6: System.out.println("Toplam 6"); break;

default: System.out.println("\nError !");
}
}
}