Ocak 24th, 2011
Bana göre Xenserver de ISO dosyasindan bir VM olusturmak icin, en kolay yol bir depo olusturmak.
Bunun icin Linux Test serverimde bir Depo olusturup XenCenter e onu tanittim.
Bunu nasil yaptik hep beraber bakalim.
Baslarkan Internette calisan ve erisile bilinen bir Webserveriniz var sayiyoruz.
Linux Serverimizde smb.conf dosyamizi ayarliyalm
vim /etc/samba/smb.conf
bu satirlari ekleyip kayit edelim:
[ISOS]
comment = ISOs
path = /ISOS
browseable = yes
ardindan sambayi yeniden baslatalim
(daha fazla…)
Kategoriler: Linux
Etiketler:Linux, Xen
Aralık 10th, 2010
Bir projede lazim oldugunda yazmis oldugum Jquery eklentisini eklemek istiyorum.
Plugin input[type=text] alanlarinin title tagini okuyarak gri renkte varsayilan bir deger atiyor.
input alani aktiv oldugunda ise varsayilan deger kayboluyor alani bos birakip terkettiginizde ise varsayilan deger yine otomatik olarak ekleniyor.
Asagidaki resimdede görüldügü gibi,böylelikle kullanicilara o alana nasil bir deger girmeleri gerektiklerine dair ipucu veriliyor.

(function($) {
$.fn.watermark=function(options) {
opts = $.extend($.fn.watermark.defaults,options);
$('input[type="text"]').each(function() {
if($(this).attr('title')) {
$(this).val($(this).attr('title'));
$(this).addClass(opts.cssClass);
}
});
$("input[type='text']").focus(function() {
if($(this).val() == $(this).attr('title'))
{
$(this).val('');
$(this).removeClass('water') ;
}
});
$("input[type='text']").blur(function() {
if($(this).val() == '') {
$(this).val($(this).attr('title'));
$(this).addClass('water');
}
});
$('input[type="submit"]').click(function() {
$("input[type='text']").each(function() {
if($(this).val() == $(this).attr('title')) {
$(this).val('');
}
});
});
};
$.fn.watermark.defaults = {
cssClass: 'water'
};
})(jQuery);
eklentinin cagrilisi:
$('form').watermark({cssClass:"red"});
“red” eklenecek olan css sinifinin adi.
Eger su sekilde cagrirsaniz
$('form').watermark();
.water adinda bir css sinifi eklenecektir
sinifin icerigi su sekilde ola bilir:
.water {
color:#c0c0c0;
}
eklentiyi isteginize göre degistire bilirsiniz.
sorusu olan olursa asagidan sora bilir.
ÖRNEK icin tikla
Kategoriler: Javascript/Ajax/Jquery
Etiketler:Javascript/Ajax/Jquery, Jquery
Aralık 2nd, 2010
bu yazimizda Ubuntu veya herhangi bir Linux tabanli isletim sistemine, ssh üzeri sifresiz olarak nasil baglanabiliriz ona bakalim.
öncelikle baglanmak istedigimiz local makinada yapmamiz gerekenlere bakalim:
ssh-keygen -t rsa
komutunu calistiriyoruz ve söyle bir cikti elde ediyoruz.
Sorulan sorulari ENTER tusu ile gece bilirsiniz.
root@localhost:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
2a:a1:4b:a4:12:02:34:68:f5:ff:8a:76:b3:74:be:01 root@localhost
The key's randomart image is:
+--[ RSA 2048]----+
|.o.. |
|o.. . |
|o . |
|. . |
|o . . ES |
|.+ . . .o |
|o o . .. + |
|.. . ooo+ . |
| . ...ooo. |
+-----------------+
kullanicinizin home klasöründe .ssh adli bir klasör bulunuyor onun icinde iki tane dosya olusturuldu.
id_rsa ve id_rsa.pub
id_rsa gizli anahtar
id_rsa.pub acik anahtar
id_rsa.pub dosyasini baglanmak istedigimiz servere yükliyelim
scp -P34 /root/.ssh/id_rsa.pub root@85.xx.xx.xx:/home/backup/.ssh
benim id_rsa.pub dosyaim /root/.ssh/ klasörü icinde yüklemek istedigim yer ise serverde backup adli kullanicimin home klasöründe.
.ssh klasörü yoksa olusturun
simdi id_rsa.pub u yükledik bunu authorized_keys dosyasi icine yazmamiz gerekiyor.
servere baglanip /home/backup/ klasöründe bu komutu calistiriyoruz.
cat id_rsa.pub >> authorized_keys
//ardindan id_rsa.pub u siliyoruz
rm id_rsa.pub
simdi gerekli dosya ayarlarini yaparim
chown backup:users /home/backup/.ssh -R
chmod 700 /home/backup/.ssh
chmod 644 /home/backup/.ssh/authorized_keys
simdi sshd_config dosyamizda bir iki satiri aktif etmemiz gerekiyor
vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
bu satirlarin basinda # isaretlerini kaldiriyoruz ve kaydediyoruz.
ardindan
/etc/init.d/sshd restart
simdi local makinamizdan baglanmayi deniyelim:
ssh backup@85.xx.xx.xx
Last login: Fri Dec 3 10:47:49 2010 from .....
evet sorunsuzca baglandik.
suan hem bu yöntemle servere baglana bilirsiniz hemde normal sifreyi girerek
ssh ya sifreli baglantiyi tamamen kapatmak isteyenler ola bilir ozaman
sshd_config de su ayarlari yapmaniz gerekiyor
PermitRootLogin yes
PasswordAuthentication no
#UsePAM yes
ardindan sshd yi yeniden baslatin
hepsi bukadar, kolay gelsin.
Kategoriler: Linux
Etiketler:Linux
Kasım 18th, 2010
Google kisa zaman önce 20 nin üzerinde API si icin bir oyun alani piyasaya sundu.
Her API icin bircok örnek verilmis, edit ekranindan direk degistirip sonucu göre bilirsiniz.
http://code.google.com/apis/ajax/playground/
Kategoriler: Genel
Kasım 3rd, 2010
Biraz gec kalsamda, gece bitmeden utanc gününün kodunu ekliyorum.
Daha öncede yazdigim gibi Cem Derin bugunu kodcularin utanc günü ilan etti. Bizde payimiza düseni ekliyelim.
2006 da yapmis oldugum bir cms icinde bulunan bir kod parcacigi.
Ayni is icin iki ayri fonksiyon iki kezde ayri ayri yazmisim.
Bugun ikisinide kullanmazdim
function date2datetime($date) {
$preg="([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})";
if(preg_match("/$preg/",$date,$tarih))
return $tarih["3"]."-".$tarih["2"]."-".$tarih["1"];
}
function changeDatumtoMysqlDatum($datum) {
$d = substr($datum,0,2);
$m = substr($datum,3,2);
$y = substr($datum,-4);
$newdatum = "$y-$m-$d";
return $newdatum;
}
Aslinda 2005 de yazdigim bir c# Projesinin kodlarini ekliyecektim ama proje yi bulamadim.
Onda daha utanc verici satirlar vardi.
Kategoriler: diger Kodlar, PHP
Etiketler:PHP
Ekim 27th, 2010
JOBmich.ch hayata gecti.
Bildigimiz kariyer/Is arama sayfalarinin tam tersine burada is verenler iscileri teklif götürüyorlar.
Is arayanlar üye olup gerekli alanlari dolduruyorlar, ardindan bekliyorlar.
Is verenler geliyor aradiklari iscilerin kriterlerini giriyorlar ve ardindan tüm CV leri bilgisayarlraina pdf olarak indiriyorlar.
Hepsi bukadar.
http://www.jobmich.ch
Kategoriler: Genel
Ekim 27th, 2010

PHPHACKER adli blogda, Cem Derin programcilar icin bir utanc gününe davet ediyor.
Bu utanc gününe katilmak isteyen programcilar 3.11.2010 Carsamba günü, eskiden yazmis olduklari ve simdi o kod icin utanacaklari bir kodu, bloglarinda paylasmalari gerekiyor. Hangi dilde kac yil önce yazildiginin önemi yok, utanc verici bir kod olsun yeterli. bu yaziyi okuyupda katilmak isteyenlerin, o günki yazilarinin linklerini bildirmeleri rica olunur 
Bende hafta sonu utanc verici bir kod arayisina girecegim eski backuplari karistiracagim, bakalim neler cikicak ortaliga.
Yazinin orjinali Almanca
Kategoriler: diger Kodlar
Eylül 27th, 2010
öncelikle Xenserver ve bir Guest sistem kurulu olmasi lazim.
Bende Centos 5.5 kurulu, Xs-Tools yüklemek icin Xencenter de Guest sistmimizi seciniz, yukarida Consola tiklayiniz, DVD-Drive de xs-tools.iso seciniz ardindan
su komutlari calistirin
mkdir /mnt/cdrom
mount /dev/xvdd /mnt/cdrom/
cd /mnt/cdrom/
cd Linux/
./install.sh
ardindan sisteminizi yeniden baslatin.
/dev/xvdd bunu xs-tools sectiginiz kutucugun saginda yazan adresle degisiniz.
XenserverTools ne ise yarar?
XenServer tools yüksek performanslı Windows sürücüleri ve bir yönetim aracı saglar
Kategoriler: Linux
Etiketler:centos, Linux, Xen
Eylül 24th, 2010
bugünki yazimizda php ile bircok dosyayi bir zip arsiv i ile nasil indiririz ona bakacagiz.
$file_names = array("dosya1.pdf","dosya2.pdf","dosya3.pdf");
$archive_file_name = "download.zip";
//zip objesi olustur
$zip = new ZipArchive();
// dosyayi olustur
if ($zip->open($archive_file_name, ZIPARCHIVE::CREATE )!==TRUE) {
exit("cannot open < $archive_file_name>\n");
}
//zip e eklenecek olan dosyalari ekle
foreach($file_names as $files)
{
//$file_path.$files filepath dosya yolu, files ise dosya adi,
//ikinci $files parametresi zip deki dosya adi
$zip->addFile($file_path.$files,$files);
}
$zip->close();
//header ile download islemini baslattir
header("Content-type: application/zip");
header("Content-Disposition: attachment; filename=$archive_file_name");
header("Pragma: no-cache");
header("Expires: 0");
readfile("$archive_file_name");
exit;
ziparchive php 5.2 ye den sonra eklenmistir, bundan kücük sürüm kullananlar pecl extension u kurmalari gerekiyor.
Kategoriler: PHP
Etiketler:PHP
Ağustos 25th, 2010
Selamlar,
ben genelde formlarimi client tarafinda Jquery Validate Plugin i ile kontrol ettitirim.
Iki benzer formum var, ikincisinde ama baska alanlarda bulundugu icin onlari da ekstradan kontroll ettirmem gerekiyor.
Tüm js kodunu kopyalayip yeniden yaza biliriz ama, o tabiki güzel olmaz.
onun icin validator a yama yapalim. nasilmi iste böyle:
ana validator dosyamiz :
$(document).ready(function(){
$('form#regit div div.element').append('<div class="errormessage" style="display:inline;"></div>');
var validator = $("form#regit").validate({
ignore: "input[type=hidden]",
rules: {
reg_email: {
required: true,
email: true,
remote: "/an/checkemail/"
},
reg_password: {
required: true,
minlength:4
},
reg_password2:{
required:true,
minlength:4,
equalTo:"#reg_password"
},
agb: "required"
},
messages: {
reg_email: {
required: Message["email_required"],
email: Message["email_notok"],
remote: Message["email_exists"]
},
reg_password: {
required : Message["pass_required"],
minlength: Message["pass_length"]
},
reg_password2: {
required : Message["pass_required"],
minlength: Message["pass_length"],
equalTo: Message["pass_equal"]
},
agb:Message["agb_required"]
},
success: function(label) {
if(label[0].htmlFor=="agb")
label.removeClass('error');
else
label.addClass("valid");
},
errorPlacement: function(error, element) {
if ( element.is(":hidden") ){
element.next().next().html(error);
}
else{
element.next($('div.errormessage')).html(error);
}
}
});
});
yama yaptigimiz dosya:
$(document).ready(function(){
$('#reg_email').rules("add",{
remote: "/ag/checkemail/"
});
$('#company').rules("add",{
required: true,
minlength:4,
messages:{
required:Message["company_required"],
minlength: Message["company_length"]
}
});
$('#branch_id').rules("add",{
required: true,
messages: {
required: Message["branch_required"]
}
});
});
#reg_email de remote adresini degistiriyoruz,
ve iki extra kontrol alani daha ekliyoruz validatorumuza.
Bu satirlar bana özel: Message["email_required"] siz oralara kendi hata mesajlarinizi yaza bilirsiniz.
ps:
bir alana tamamiyle baska kurallar eklemek icinse remove metodunu kullanarak ekli olan kurallari sile bilirsiniz.
$('#reg_email').rules("remove");
Kategoriler: Javascript/Ajax/Jquery
Etiketler:Javascript/Ajax/Jquery, Jquery