C dili ile haşır neşir olanlar veya php konsol programlayalar bilirler system diye bir komut vardır. MS bu komuta muadil olarak çoğu zaman shell komutunu kullanmak zorunda bırakır.
genel olarak system komutu, bulunduğunuz program içerisinden konsol çekirdeğine komut göndermenize yarar.
yine bu komutun python ile müdaili varmı diye araştırdığımda bire bir aynısının os kütüphanesi içerisinde bulunduğunu öğrendim.
genelde bir program dili öğrenirken diğer bildiğim dil veya dil kümelerinde bulunan komutların karşılıklarını araştırarak öğrenmeye çalışırım.(ustalarımdan tavsiye)
import os,sys
# Sistem konsol (windows için CMD.exe) başlığını değiştiriyoruz.
os.system('Bu benim başlığım olsun,selam olsun,merhaba dünya olsun,hayat bayram olsun.')
# konsol rengini değiştiriyoruz.
os.system('color 0a')
# harici bir program çağırıyoruz.
os.system('harici.py')
os.sytem komutu ile konsol ekranındaki komutları kullanabilirsiniz. ben biraz uç noktalarda olması için bu komutları kullandım, bunun yerine dir,md,rd,del gibi komutlarıda kullanabilirsiniz. amaç system prosüdürünün nasıl çalıştığını anlatmak.
Sleep fonksiyonu her programlama dilinin olmazsa olmaz bir fonksiyonudur. (komutudur)
acaba python ile sleep komutunun muadili neymiş diyerek araştırdığımda gördüm ki,time isimli kütüphane’nin içerisinde program akışını belirtilen saniye kadar uyutan bir fonksiyon mevcutmuş.
lafı fazla uzatmadan kendisi ile tanıştırayım sizi :
import time
print "Şimdi uyuyorum 10 saniye sonra görüşürüz"
time.sleep(10) #on saniye uyu
print "Günaydın (:"
giriş :
Uzun süredir böyle bir yazı yazmak istiyordum ,bugüne nasipmiş,
web siteleri,barındığı sunuculardan sizin bilgisayarınıza geldiği anda içerisinde html kodlarını getirir,
web sitesi hangi dille yazılırsa yazılsın,size html olarak gelir,gelmek zorundadır.Çünkü sizin web sitelerini görüntülemek için kullandığınız tarayıcılar (firefox,chrome os,internet explorer,safari) aslında birer html yorumlayıcısıdır.Birbirlerinden ayrıldıkları tek noktada bu html kodlarını yorumlama hızlarıdır.
** benim yukarıda bahsettiğim html terimi aslında salt html değil (javascript,embed,css) gibi html 4 ve üstü teknolojiler bütünüdür.
Nasıl oluyor ? :
kodlarınızda en iyi korumayı sağlamak için,kodların size ve ziyaretcinize hangi aşamalardan geçerek geldiğini iyi bilmek gerekir.Siz ne kadar iyi bilirseniz,o kadar iyi önlem alabilirsiniz.
kullanıcı / ziyaretçi, sizin site adresinizi tarayıcısına yazıp sayfayı çağırdığı andan itibaren,tarayıcınız sizin sitenizi kendi üzerine çekerek yorumlamaya başlar.
bu süreç içerisinde web siteninize bağladığınız tüm css ve js komut dosyaları da tarayıcıya yüklenir.hatta resim dosyalarıda bu yüklenme kervanı içerisindedir.
hal böyle olunca yazmış olduğunuz ve web sayfasına etki etmesini istediğiniz css ve js kodları önce tarayıcının ön havuzuna alınıyor ardındanda işleme konuluyor.
buraya kadar anlattığım olaylardan çıkacak sonuç şu; sizin kodlarınızın işlenebilmesi için kısmende olsa ziyaretçi bilgisayarına yüklenmesi gerek.
Peki ya sonra ? :
sizin yazmış olduğunuz kodların bulunduğu tüm dosyalar (css – js ) ziyaretçinin bilgisayarına tarayıcı vasıtası ile yüklendikten sonra tarayıcı bu kodları okuyarak ne yapacağına karar veriyor ve kullanıcının tarayıcı ayarlarında yapmış olduğu ziyaret edilmiş sayfaların artık dosyalarını silme aralığına göre sizin kodlarınızın bulunduğu artık dosyalar siliniyor.(tempory internet files,firefox cache vb.) kimi kullanıcı bu ayarları hiç değiştirmediği için uzun bir süre sizin kodlarınız kullanıcı bilgisayarında kalabiliyor.
Sorunu kavradık peki çözümü yok mu ?
yazdığınızın ve yayınladığınız kodların (php ve asp kodları gibi sunucu tarafında yorumlanan kodlar değil,js css gibi ziyaretçi tarafında yorumlanan kodlar) ziyaretçinin bilgisayarına yüklenmemesini engelleyemediğimizi öğrendik.peki yüklenen kodlara tarayıcı dışında kimse erişmesin diyebilir miyiz, tabiki hayır diyemeyiz.
bunca işlem süreci içerisinde biz kod yazarlarının kodlarını saklaması için hiç mi bir önlem alınmamış ? cevap yine hayır. eğer hala bu soruyu sorabiliyorsak zaten işin özünü anlamamışız demektir.
Çözüm olarak kullanılabilecek yöntemler ?
Son söz:
Web 2.0 felsefesi ile birlikte,amaç görsellikten çok içeriğe döndüğü için artık çoğu şeyi saklamanın manası kalmamıştır.
web sitelerinin hepsi görsel birbirine benzese bile içerik olarak birbirini tutmamaktadır.işin amacı ve doğası bu yöndedir. Eğer çok iyi yazdığınıza inandığınız bir js kodunu saklamak istiyorsanız bunu başaramaz,beyhude çabalamış olursunuz.siz sadece önlem alabilirsiniz.
Python ile komut satırından yan argümanları almak istiyoruz.
# test Python komut satırı yancıları
import sys
if (len(sys.argv) >= 2):
yancilar = sys.argv[1:] #0 numaralı argümandan sonrasını seç, sıfırı geç
print( yancilar )
raw_input("van tu tri foro ...") # bekle
Bu kod kümesi ile komut satırndan gelen bilgileri ekrana dökebilirsiniz.
Örnek uygulama :
C:\Documents and Settings\CeaSeR\Desktop>c:\Python26\python.exe bpk_py_1.py hala
y basi kirvem ceker
['halay', 'basi', 'kirvem', 'ceker']
vat tu tir forro
başlık biraz uzun oldu ancak anlatmak istediğim olay şu iç içe döngüler ile ilgili bir örnek;
bizden sütun ve satır sayısını isteyecek, ve girilen değerlere göre ekrana * işareti ile bir dikdörtgen oluşturacak.
kodlarımız :
#include<stdio.h>
int main(){
int boy, en, i, j;
printf("Sutun sayisini yaziniz: ");
scanf("%d",&en);
printf("Satir sayisini yaziniz: ");
scanf("%d",&boy);
printf("\n");
for(i=0; i<boy; i++){
for(j=0; j<en; j++){
printf("*");
}
printf("\n");
}
printf("\n");
return 0;
}
açıklamalar :
#include<stdio.h>
bize lazım olan kütüphaneyi içeri aktardık,
int boy, en, i, j;
kullanacağımız değişkenleri cinslerine göre tanımladık,
printf("Sutun sayisini yaziniz: ");
scanf("%d",&en);
printf("Satir sayisini yaziniz: ");
scanf("%d",&boy);
satır ve sütun sayılarını kullanıcıdan isteyerek en boy değişkeni içerisine aktardık,
for(i=0; i<boy; i++){
for(j=0; j<en; j++){
printf("*");
}
printf("\n");
}
işin can alıcı kısmı bu iç içe kullanılan döngüler,
burada ilk sıradaki döngü satır, sonraki (içerideki) döngü ise sütun kadar döner,
kaç satır varsa o sayıya ulaşana kadar sütun karakterleri için döner.
umarım anlatabilmişimdir.
Sağlık Bakanı : “domuz gribinden bilmem kaç bin kişi ölebilir” diyor,
Turizm Bakanı : “bu kadar panik yapmayın” diyor,
Sağlık Bakanı : “aşıya engel olanlara suç duyurusunda bulunacağım” diyor ve
Başbakan : “kimse kimseyi aşı olmaya zorlayamaz, ben aşı olmayacağım” diyor.
akp = istikrar
hadi ordan.
Firefox ayar bilgilerini regedit kayıt defterinde değilde, kendi profil klasörü altında sqlite database dosyaları yada javascript değişken dosyaları içerisinde tutar ve okur.
Firefox’un herhangi bir ayarını dışarıdan (firefox programı dışında başka bir yazılım ile) değiştirmek istenildiğinde izlenmesi gereken dosya yolu gereken yol şu
C:\Documents and Settings\CeaSeR\Application Data\Mozilla\Firefox\Profiles\xhaquz7i.default\prefs.js
yalnız burada dikkat edilmesi gereken kısım şu kalın puntolarla belirttiğim kısımlar (klasörler) her bilgisayarda veyahut her windows sisteminde (xp – vista – 7) farklılık gösterir.
birinci kalın kısım ceaser windows kullanıcı adıdır.
ikinci kalın kısım ise firefox’un varsayılan profil klasörüdür. ancak burada bir ip ucu vereyim firefox varsayılan klasör dosyaları sonu hep .default olarak biter
firefox’un ayar dosyası olan prefs.js dosyasına nasıl ulaştığını anlattıktan sonra gelelim bu dosyanın içeriği hakkında bilgi vermeye,
prefs.js bir javascript dosyasıdır ve firefox kullanacağı bilgileri (değişkenleri) bu dosya yardımı ile kendi sistemine aktarmaktadır. bu dosya ile firefox’un kullandığı proxyden açılış sayfalarına kadar herşeyi düzenlemen mümkündür. (firefox dışından yada içinden)
bu dosya içerisinde (prefs.js) değişkenler ve değerleri şu şekilde yazılır
user_pref("DEĞİKEN ADI", DEĞER);
dosya içerisindeki mevcut değişkenleri düzenleyip firefox’u yeniden başlattığınızda tüm ayarların değişmiş olduğunu görürsünüz.
bu blog gönderisi bu adreste sorulan bir soruya verdiğim bir cevabtan yola çıkarak oluşturulmuştur.
malum alfabede C harfine gelmiştik,
temelde çok az şey öğrenmişim, şimdi aldığım notlara baktımda çok az not tutmuşum, ya ben not tutmayı sevmiyorum yada çok yavaş ilerliyorum. :gülücük:
Php ile sayfaya bilgi basarken yada php çekirdeğine bilgi gönderirken dizgisel bilgileri tırnak işareti ile gösteriyoruz. bu kimi zaman ” işareti olurken kimi zamanda ‘ işareti oluyor.
peki php’de hangisini kullanmakta fayda var ?
cevap ikiside ancak php;
” ” çift tırnakları arasında kalan dizgiyi yordamlar ve sonra basar,
‘ ‘ tek tırnak arasında kalan dizgiyi ise yordamlamadan basar.
bu da şu demek
$isim = “Ali”;
$soyisim = “Gündoğdu”;
echo “$isim $soyisim”;
//sayfaya Ali Gündoğdu yazar.
aynı örneği tek tırnak ile yaparsak
$isim = “Ali”;
$soyisim = “Gündoğdu”;
echo ‘$isim $soyisim’;
//sayfaya $isim $soyisim yazar.
php tek tırnağı çift tırnaktan daha hızlı işler ve döndürür bu yüzden mecbur kalmadıkça çift tırnağa bulaşmayın derim.