Arşivler – Aralık, 2008

Merry XMas

Aralık 31st, 2008

mc

Posted in Genel, Haberler | No Comments »

Schedule in Linux

Aralık 29th, 2008

Öğrenmişken bir de zamanlama mantığını öğrenelim;

Linuxda Crontab adında, süper bir zeka ürünü, harikalar ötesi, bir program mevcut. Öyleki zamanlama mantığı çok ileri çok hoş, mantık ve komut aşağıda ;

KOD:

sudo crontab -e

Mantık :

Kodu Çalıştırdığımızda

m h dom mth dow script şeklinde bir ifadeyle karşılaşırız.

Burada

  1. m – minute (0 — 59)
  2. h – hour (0 — 23)
  3. dom – day of month (1 — 31)
  4. mnt – month (1 — 12)
  5. dow – day of week (0 — 6) (0 = pazartesi)
  6. * = every (her)

şeklinde. Buradan da güzelliğin biraz farkına varmış olmanız lazım.

Bir örnek verecek olursak;

Dakika da bir çalışan zamanlayıcı;

* * * * * /script.sh

olur.

5.  Haftanın her günü

4. Her Ay

3. Ayın Her Günü

2. Günün Her Saati

1. Saatin Her Dakikası script.sh dosyasını çalıştır.

şeklinde bir anlamı olur.

Başka bir örnek;

Her Pazar Saat 05:05 de çalışan script;

5 5 * * 0 script.sh

5. Haftanın Pazar Günü

4. Her Ay

3. Ayın Her günü ( && Gün = Pazar tabi ki)

2. Saat 5

1. Dakika 5 olduğunda script.sh çalıştır.

şeklinde olur.

Tags: ,
Posted in Linux | No Comments »

Linux’da Executable Dosya

Aralık 29th, 2008

Bu dosya öyle bir dosya olmalı ki, windowstaki bat dosyaları gibi olmalı dedim ve birazcık arayınca dosya uzantısının “.sh” uzantısı olması gerektiğini öğrendim. Açılımı da zannedersem shell den gelmekte. Neyse maden dosyayı buldum, dosyayı açmak için edit benzeri bir console programı da vardır dedim. Evet o da varmış. “vi” diye terminalden çalışan bir program. Her şey iyi güzel, hemen

vi xxxx.sh

deyip varsa var olan dosya, yoksa yeni bir dosya açıyoruz. İçine bir önceki postumda yazdığım komutlardan tar ve gzip komutlarını yazıp kaydedelim.

tar -cf archive.tar file1

gzip archive.tar

Kaydedin dedim ama kaydedemiyeceğinizi düşünüyorum. Çünkü ben ilk aşamada kaydedemedim :) Çıkış yapar iken q! karakterlerini girip, öyle sayfayı kapatabiliyoruz, haberiniz olsun. Karakterlerin ne işe yaradığını veya ne anlama geldiğini bilmiyorum valla.

Artık çalıştırılabilir dosyamızı hazırladığımıza göre, sıra bunu çalıştırmaya geldi. Ama hemen halışmıyor bu meretler. Önce bu dosyalarımıza chmod komutuyla executable yetkisini vermemiz gerekmekteymiş :( Hemen verelim

chmod u+x archive.tar.gz

x ile executable yetkisini archive.tar.gz dosyamıza verdik. Şimdi aşağıdaki çalıştırma komutuyla, artık batch dosyamızı çalıştırabiliriz.

sh xxxx.sh

Note : Yukarıdaki komutları kullanırken, herhangi bir yetki problemi yaşarsanız komutun başına sudo (super user do) ekleyin.

Tags: , ,
Posted in Linux | No Comments »

Linux’a, Network’teki Windows Klasörünü Mount Etme

Aralık 29th, 2008

Komut tam anlamıyla aşağıdaki gibidir :

mount -t cifs //x.x.x.x/c$ /mnt/MountedWindows -0 username=username,password=password, iocharset=utf-8,file_mode=0777,dir_mode=0777

Yukarıdaki komut ile x.x.x.x ip li makinanın c klasörünü komple, linux makinamızdaki mnt klasöründeki MountedWindows klasörüne mount etmiş olduk. Italic olarak yazılmış olan yerleri kendinize göre değiştirmeyi unutmayın.

Tags: ,
Posted in Linux | No Comments »

Compress Files in Linux

Aralık 29th, 2008

Zip files are capable of archiving and compression. Unlike zip files, tar is for archiving only. In maths, this means :

Kb(file1) + Kb(file2) + Kb(File3) = Kb(file123.tar)

If you want to compress then you must gzip command. Gzip compress the file and reduces the size of file. In maths :)

Kb(file1.tar) > Kb(file1.tar.gz)

The tar Command :

tar -cf archive.tar file1

tar -cf archive.tar file1 file2 file3

tar -cf archive.tar Directory1

tar -cf /path/archive.tar /path/Directory1

The gzip Command :

gzip archived.tar

After archiving files or directorys, we get tar file, but after compression we get tar.gz file.

Tags: , , ,
Posted in Linux | No Comments »

Export DLL From Assembly

Aralık 28th, 2008

GAC Util de bulunan DLL’lerinizi assembly klasörünüzden başka bir klasöre çıkarmak, başka bir makinaya taşımak veya kopyalamak, normal klasörlerdeki benzer işlemlere nazaran çok daha zordur. Herhangi bir dll in üzerine sağ tıklarsanız şekildeki gibi bir ekranla karşılaşırsınız.

assembly

assembly

şekilde de görüldüğü üzere istediğiniz işlemleri bulamayabilirsiniz. CTRL+c ve CTRL+x i denediğinizi görür gibi oluyorum. Fakat bu işlem de işinize yaramayacaktır. Assembly klasörünü başka bir makinaya komple kopyalarsanız, bu işlemle de sadece o makinanın dll lerini kopyalamış olursunuz. Uzun lafın kısası bu iş kolayca olmuyor :)

Uzun Yol ile :

  1. Bir adet command prompt açın,
  2. c:\\Windows\Assembly\GAC veya c:\\Windows\Assembly\GAC_MSIL klasörlerinden birinde istediğiniz DLL dosyasını bulun
  3. Örneğin xyz.dll dosyasını, Gac_MSIL klasöründe bulduk. c:\\Windows\Assembly\GAC_MSIL\xyz\ dizinine gidin, Buradaki xyz dizini, dll adıyla birebir aynıdır.
  4. Daha sonra aşağıdaki şekildeki gibi xyz.dll dosyası Assembly klasöründe bulunur ve dosyanın özelliklerine gidilir.assembly1
  5. Yukarıdaki şekilde altı çizili versiyon ve public key token bilgilerindeki “versiyon__publickeytoken” şeklindeki bir alt klasöre geçilir. Resimdeki DLL için örnek verecek olursak klasör adı : 10.0.4504.0__31bf3856ad364e35  olacaktır.
  6. Son olarak da bu klasör içerisinde “copy xyz.dll c:\xyz.dll” komutula dosyamızı istediğimiz yere kopyalayabiliriz.

Gözünüz korktu di mi :) Düşünün bunlardan en az 200 tanesinin yedeğini almak istediğinizi,

Çözüm Kısa yolumuz :

  1. Basit olarak hazırladığım şu kodu kullanabilirsiniz :
  2. FileStream fs = new FileStream("c:\\dllisimleri.txt", FileMode.Open, FileAccess.Read);
    StreamReader sr = new StreamReader(fs);
    string arguments;
    string read = sr.ReadLine().Trim();
    string read1 = sr.ReadLine().Trim();
    while (read != null)
    {
    Console.WriteLine(read);
    try
    {
    File.Copy("c:\\\\WINDOWS\\assembly\\Gac_MSIL\\" + read + "\\"+read1+"\\" + read + ".DLL", "C:\\\\DLL\\" + read + ".dll");
    
    read = sr.ReadLine().Trim();
    read1 = sr.ReadLine().Trim();
    }
    catch (Exception ex)
    {
    break;
    }
    }
    
  3. dllisimleri.txt dosyasının içeriğini de aşağıdaki gibi yaparsanız, istediğiniz dosyaları hemen alabilirsiniz;
  4. xyz1
    1.0.0.0__916a267ef328a0b9
    xyz2
    1.0.0.0__b715a15ad90d37db
    xyz3
    1.0.0.0__f4df43ff1813a7d4
    xyz4
    1.0.0.0__71e9bce111e9429c

    buradaki xyz, kopyalamak istediğiniz dll dosyalarının ismi (.dll olmadan),
    1.0.0.0__916a267ef328a0b9 bilgilerini de yukarıda anlattığım gibi hazırlayabilirsiniz.

  5. Başka bir kolaylık olarak Gac_MSIL klasörüne girdiğinizde dir /p, komutuyla command prompt dan tüm isimleri tarayabilirsiniz. Bu sayede tek tek kopyalamak zorunda kalmaz, rahatınıza bakarsınız…

Tags: , , ,
Posted in .NeT 2008, Sharepoint | No Comments »

Bush

Aralık 16th, 2008

Bush’un reflekslerinin neden bu kadar iyi olduğu ortaya çıkar…

Evet evet Bush kırmızı hapı yutmamış, mavi hapı yutmuştur :)

bush

Posted in Geyik, Yaşam | No Comments »

Detektivbyrán

Aralık 16th, 2008

Ciddi anlamda süper müzik yapan bir grup, Aşağıda örnek bir müzik bulabilirsiniz. Ama tüm şarkılarının güzel olduğunu söylemeden geçemiycem. Beğenirseniz dinleyin bence…

Posted in Genel | No Comments »

Bush ve Ayakkabı Kişilikleri

Aralık 16th, 2008

Adam iyi atıo, ama bush da iyi kaçıo hakkını yemeyelim :)

Posted in Genel, Geyik, Yaşam | No Comments »

HTML Encode

Aralık 16th, 2008

Veritabanına kayıt eklerken, bazı dış mahlukatlar tarafından saldırıya uğramak istemiyorsanız (SQL Injection), ekleme yaptığınız değerleri bir kontrolden geçirmenizde fayda var. En kolay yol olarak da size HTMLEncode metodunu önerebilirim. Kullanımı

string veri= HttpUtility.HtmlEncode(TextBox1.Text);

şeklindedir ve ilgili saldırılardan uzak yaşam sürmenizi sağlayacaktır.

Tags: ,
Posted in .NeT 2008 | No Comments »