!!!This content has not been translated yet!!!
yazmak ibadetimdir sana. yazmazsam günahkarım.
 

Counters

Dün: 2
Bugün: 3
Bu ay: 22
Toplam: 25308
 

linux sistemlerde şifre yazmadan ssh girişi (public key ile) PDF Print E-mail
Salı, 24 Ağustos 2010
!!!This content has not been translated yet!!!
  1. localhostta public private key ikilisi oluşturulur.
     
     ssh-keygen -t dsa

  2. remote hostta .ssh dizini yaratılır.
     
       mkdir .ssh

  3. localhosttaki public key remote hosttaki authorized_keys dosyasına eklenir.
     
       cat ~/.ssh/id_dsa.pub | ssh <user>@<remote-host> "cat >> ~/.ssh/authorized_keys"

  4. eğer çalışmıyorsa dosya izinleri kontrol edilir. gerekiyor ise chmod ile gerekli izinler verilir. olması gereken izinler:
     
       (remotehost)
       .ssh                    700
       .ssh/authorized_keys    600
     
       (localhost)
       .ssh                    700
       .ssh/id_dsa             600
       .ssh/id_dsa.pub         644
 
c/c++ için yüksek performanslı debug satırları PDF Print E-mail
Cumartesi, 24 Ekim 2009
!!!This content has not been translated yet!!!
bir yazımda gcc -D parametresi kullanarak debug satırlarının yalnızca debug modunda derlenmesini sağlayabileceğimizden bahsetmiştim. örnek olarak debug için kullanacağımız satırları aşağıdaki şekilde tanımlarsak:
 
#ifdef __debug__
printf("Uygulama modu: debug");
#endif

kodu gcc -D__debug__ parametresi ile derlediğimizde bu satır derlenecek ve çalışacak, aksi halde derlenmeyecektir. release modu için -D parametresini vermememiz yeterli olmakta. böylece release modunda bu satır hem boyut hem de performans açısından uygulamaya bir yük getirmiyor; çünkü bu modda bu satır derlenmiyor.

geçen zaman içerisinde debug loglarımı daha düzenli hale getirmek istedim. bu amaçla içinde bulunulan metod adını ve mesajı parametre olarak alan bir metod hazırladım. bu metod aldığı parametreleri uygun şekilde formatlayarak standart çıktıya yazıyor.

 
#ifdef __debug__
/*!
 * External method for debugging. Use this method to print out debug messages.
 */
extern void Debug(const char *aMethod, const char *aMessage){
    printf("\nCANAVAR.DEBUGGING.ENGINE: In Method '%s': %s", aMethod, aMessage);
}
#endif
Read more...
 
GNU/Linux sistemlerde boş klasörleri silmek PDF Print E-mail
Salı, 21 Ekim 2008
!!!This content has not been translated yet!!!
bulunulan klasörün altındaki boş klasörleri özyinelemeli olarak silmek için şu betik yeterli:

find -depth -type d -empty -exec rmdir {} \;

bazen boş klasörlerin içinde bazı gizli konfigurasyon dosyaları olabiliyor(.directory gibi). tüm alt klasörlerde bu dosyaları silmek için şu betik kullanılabilir:

find -depth -name ".directory" -exec rmdir {} \;

bu şekilde boş klasörler "gerçekten" boşaltıldıktan sonra ilk betik ile silinebilir.
 
gcc parametreleri PDF Print E-mail
Çarşamba, 11 Haziran 2008
!!!This content has not been translated yet!!!
hepimizin bildiği gibi gcc pek çok parametre alabiliyor ve bu parametrelere göre oluşan sonuç çok farklılık gösterebiliyor. bu parametrelerden belki de en önemlisi optimizasyon için kullanılan -O parametresi.

-O0
optimize etme. bu varsayılan ayardır. yani herhangi bir -O parametresi verilmezse -O0 kabul edilir.

-O ya da -O1
optimize et. bu durumda derleyici çok fazla zaman almayan optimizasyon işlemleri uygulayarak hem kod boyutunu, hem de çalışma zamanını optimize etmeye çalışır.

-O2
daha fazla optimize et. derleyici, boyut-hız trade-off'u olmayan bütün optimizasyonları gerçekleştirir. -O ile kıyaslandığında daha performanslı kod üretir.
Read more...
 
java.lang.OutOfMemoryError: PermGen space PDF Print E-mail
Perşembe, 05 Haziran 2008
!!!This content has not been translated yet!!!

son zamanlarda makinemde aynı anda netbeans, eclipse, jboss/tomcat/glassfish çalıştırmam gerekti. özellikle eclipse kullanırken java.lang.OutOfMemoryError: PermGen space hatasını sıkça almaya başlamıştım. nedir bu hata diye biraz araştırma yapınca ortaya şöyle bir sonuç çıktı:

bu hata permanent generation heap dolduğunda oluşuyor. permanent generation heap, sınıflar ve metodlar gibi nesneleri tutan bir heap'tir. MaxPermSize parametresi bu heap'in en yüksek boyutunu belirtir. Bu parametre için Java Virtual Machine(JVM) varsayılan değeri çok düşük olduğundan, bu değer artırılmalıdır. Örnek olarak bu değeri 512MB'a yükseltmek için -XX:MaxPermSize=512m kullanılır. Bu değer en yüksek değeri belirttiğinden, değeri artırmak uygulamanın gerçekten bu kadar belleğe ihtiyacı olup olmadığının bilinmediği durumlarda bile güvenlidir.

 
c'de structure ataması PDF Print E-mail
Cuma, 06 Haziran 2008
!!!This content has not been translated yet!!!
c derleyicisi structure atamasını desteklemez ve bir fonksiyon structure'ın kendisini döndüremez. örneğin c'de şunu yapamazsınız:

struct Canavar
{
int x,y;
} canavar1, canavar2;

canavar1 = canavar2; //structure ataması

structure'ı kopyalamak için bu kod şu şekle dönüştürülebilir:

memmove(&canavar1, &canavar2, sizeof(struct Canavar));
 
özgür yazılım lisansları PDF Print E-mail
Salı, 03 Haziran 2008
!!!This content has not been translated yet!!!

özgür yazılım:

"özgür yazılım" bir özgürlük meselesidir, fiyat değil. "özgür yazılım" kavramı, yazılım kullanıcıları için dört çeşit özgürlüğe dayanır:

* herhangi bir amaç için yazılımı çalıştırma özgürlüğü (özgürlük 0).
* yazılımın nasıl çalıştığını öğrenme ve ihtiyacınıza göre uyarlayabilme özgürlüğü (özgürlük 1). yazılımın kaynak koduna ulaşmak bu iş için ön koşuldur.
* kopyaları dağıtma özgürlüğü, böylece komşunuza yardım edebilirsiniz (özgürlük 2).
* tüm toplumun yarar sağlayabileceği şekilde programı geliştirme ve geliştirdiklerinizi yayınlama özgürlüğü, (özgürlük 3). kaynak koduna erişmek bunun için bir önkoşuldur.

Read more...
 
cpu load PDF Print E-mail
Perşembe, 22 Mayıs 2008
!!!This content has not been translated yet!!!
belki hala benim gibi cpu load nasıl hesaplanır bilmeyenler vardır diyerek bu konuyla ilgili küçük bir araştırma yapıp kısa bir özet yazdım.

unix/linux sistemlerde konsolda uptime yazdığımızda karşımıza gelen 3 tane load değeri var. bunlar benim düşündüğüm gibi min, avg, max değil son 1, 5 ve 15 dakikadaki cpu load ortalamalarıymış.

idle bir cpu'nun load sayısı sıfırdır. cpu'yu kullanan ya da bekleyen her bir süreç bu sayıya 1 ekler. unix sistemlerin aksine linux sistemlerde i/o bekleyen süreçler de buna dahil.

Read more...
 
atexit() fonksiyonu PDF Print E-mail
Perşembe, 05 Haziran 2008
!!!This content has not been translated yet!!!
int atexit ( void ( * function ) (void) );

Bu fonksiyon program normal şekilde sonlandığında çağrılacak olan fonksiyonu belirler. Eğer bu fonksiyon farklı yerlerde çağrılarak birden çok atexit fonksiyonu belirlenmişse, bu fonksiyonlar bir yığın yapısı şeklinde ters sırada çağrılır. Başka bir deyişle en son belirtilen fonksiyon en önce çağrılır. Aynı fonksiyon birden çok kez eklenebilir. Programın normal şekilde sonlandırılmasına exit() fonksiyonunun çağrılması da dahildir.
 
exec() fonksiyonları PDF Print E-mail
Perşembe, 05 Haziran 2008
!!!This content has not been translated yet!!!
exec() fonksiyonları herhangi bir çalıştırabilir dosyadan yeni bir süreç(process) yaratır. Başarılı bir exec() çağrısı asla geri dönmez çünkü çağıran süreç yaratılan yeni süreç ile değiştirilmiştir. Birden fazla thread içeren bir süreç içerisinden exec() fonksiyonu çağrıldığında bütün threadler sonlandırılır ve yeni dosya yüklenip çalıştırılır. Destructor fonksiyonları çağrılmaz.
 
Pardus+GP2X PDF Print E-mail
Perşembe, 06 Eylül 2007
!!!This content has not been translated yet!!!

Yazıyı indir: Pardus+GP2X.pdf
Pardus+GP2X.odt

Bu yazının amacı GP2X için yazılım geliştirmek isteyen fakat nereden başlaması gerektiğini bilmeyen geliştiricilere yardımcı olmaktır. Ayrıntılı bilgilerden öte bu yazıda, gerekli bilgilere nereden ve nasıl ulaşabileceğiniz sorularına yanıt vermeye ve sizler için kapıyı aralamaya çalıştım. Sorularınızı This e-mail address is being protected from spam bots, you need JavaScript enabled to view it e-posta adresine gönderebilir ya da çok daha iyisi http://forum.gp2xtr.com/ adresindeki GP2X Türkiye Forumlarına yazabilirsiniz. Bunun yanında aradığınız cevap belki de http://wiki.gp2xtr.com adresinde çoktan yerini almıştır.

Read more...
 
Creative Commons License
programmer: n. an organism that turns caffeine into software.
original solarflare design by rhuk
lunarized by joomlashack

My computer geek score is greater than 100% of all people in the world! How do you compare? Click here to find out!