Django Debug Toolbar, request/response (istek/yanıt)'larda arkada yapılan işlemlerin ne olduğunu hangi verilerin tutulduğu gibi çeşitli bilgilerin gösterildiği bir paneldir.
İshak Okutan
Bir Bilgisayarcının Düşünceleri...
5 Şubat 2018 Pazartesi
Django Debug Toolbar Nedir? Nasıl Kurulur?
Django Debug Toolbar, request/response (istek/yanıt)'larda arkada yapılan işlemlerin ne olduğunu hangi verilerin tutulduğu gibi çeşitli bilgilerin gösterildiği bir paneldir.
12 Şubat 2017 Pazar
AKADEMİK BİLİŞİM 2017
Türkiye'de yapılan en güzel, en yararlı etkinlik: Akademik Bilşim.
Bu sene Aksaray Üniversite'sinde düzenlendi.
Bu sene Aksaray Üniversite'sinde düzenlendi.
Tek cümleyle: "Motivasyon kaynağım".
Geçen sene AB'de tanıştığım 35 yaşlarında bi abi "Buraya ne kadar erken gelirsen gel, hep geç kalmış olduğunu hissedersin" demişti.
Geçen sene AB'de tanıştığım 35 yaşlarında bi abi "Buraya ne kadar erken gelirsen gel, hep geç kalmış olduğunu hissedersin" demişti.
Gene de daha fazla geç kalmadan gelin!
20 Nisan 2016 Çarşamba
Geleceği Görmenin Formülü
İnsanlığın
hayallerinden birisi; geleceği görebilmek. Yapılıp yapılmayacağı profesörlerden
köylü Mehmet’e kadar herkesi iştahlı tartışmalara sokan ender konulardan biri.
Yapılınca kimsenin
geleceğine bakmak istemeyeceği de tartışma konularından biri. Ancak şimdilik
biz bunları bir kenara bırakalım ve geleceği görebileceğimiz tüm teknolojiye
sahip olduğumuz bir zamanda yaşadığımızı varsayalım.
Teknolojik aletlere sahibiz ama bunu doğru bir şekilde harmanlamalıyız. Yemek yapar gibi.
Teknolojik aletlere sahibiz ama bunu doğru bir şekilde harmanlamalıyız. Yemek yapar gibi.
Peki! Neye
ihtiyacımız olurdu?
Geleceği
görecez ama nasıl? Ol diyince olmadığını
bilmemiz lazım. Arkasında bir ilim olması gerekiyor!
Gelin bir simülasyon
yapalım:
Karşımızda bir yol olduğunu hayal edin. Az sonra orda bir kaza
olacak. Bunu nasıl bilebiliriz? Veya kaza olup olmayacağı nelere bağlı?
Benim bulabildiğim bunlar tabi liste sadece bu kadar
değildir. (Yorum yaparak listeyi çoğaltmama yardımcı olabilirsiniz)
- Arabayı süren kişinin ruh hali
1. Hava durumu
2. Karakteri
3. Görev ve sorumlulukları
....
....
- Amacı(toplantıya geç kalmış olabilir)
- Refleksleri
- Yolun önce ki kaza raporu(yol sabıkalı olabilir)
- Arabanın bakımı
- İnsan psikolojisi
- ....
Ayrıca kazaya
karışan yayanın ve ortamdaki tüm kişilerin bu durumlarının bilinmesi gerekir.
Belki şoförün oğlu o an ters bişey yapıp şoförün dikkatini dağıtmış olabilir.
Burda çocuğunda az sonra ne yapacağını bilmemiz gerek.
Bunların tamamını bilip doğru şekilde analiz edersek geleceği görebiliriz. En azından ben öyle düşünüyorum.
Bunların tamamını bilip doğru şekilde analiz edersek geleceği görebiliriz. En azından ben öyle düşünüyorum.
Tabi şu anda bu bilgilerin tamamını tutacak hafıza ve
bilgilerin tamamını analiz edecek teknolojinin çok uzağındayız belki hiç
varamayabiliriz. Ancak varamayacağımız hayalini kuramayacağımız veya üzerinde
çalışamayacağımız anlamına gelmez.Değil mi?
25 Mart 2016 Cuma
Recursive Fonksiyon - Farklı Bir Örnek
Recursive fonksiyon örenekleri diye Google amcaya sorduğumuzda karşımıza çıkan sadece bir kaç tür örnek oluyor;recursive fonksiyon ile, faktöryel hesabı ve Fibonacci sayı dizisi yapmak.
Geçenlerde ihtiyaç duyduğum wordlists dosyasını netten indirmek yerine kendim yapmaya karar verdim.Recursive fonksiyon kullanmam gerektiğine karar verip yaptım.
Nette de böyle bi eksik olduğunu bildiğim için paylaşma gereği hissettim.
Recursive fonksiyonun ne olduğundan ziyade yaptığım programın nasıl çalıştığını anlatmak istiyorum.Umarım başarılı olurum.
Öncelikle ne yapmaya çalıştığımızdan bahsedeyim.Kendisine gelen metne sırayla farklı bir karakter ekleyip 45 farklı metin üreten bir fonksiyon yazacağız.Ardından bu 45 metni tekrar fonksiyona gönderip her birinden 45'er tane daha metin elde edeceğiz.Bu böyle 12 karakterle oluşabilecek tüm permitasyonlar tamamlanıncaya kadar devam etmeli.
Sadece 12 karakterle oluşacak metin sayısı; 45^12 (68952523554931640625) tane ve bizim buna ulaşmamız için öncesinde 1,2,3,4,...,11 karakterli metinleri oluşturmuş olmamız gerekiyor.
![]() |
| Wordlist oluşturma mantığı |
Kodu pythonda yazdım,zaten kısa bir kod bakınca python bilmeseniz dahi anlayacağınızı düşünüyorum.
#wordlist.py
import string
character= string.ascii_lowercase + string.numeric + "."
chtr_list = list(character)
file = open("wordlist.txt","w")
def harf(text):
if len(text)>12:
return 0
else:
for i in chtr_list:
new_text = text
new_text += str(i)
if len(new_text) >7 :
file.write("\n"+new_text)
harf(new_text)
i=""
harf(i)
file.close()
Kodları tek tek açıklamak gerekirse;
chtr_list = list(character)Tüm karakterleri listeye atamış olduk(['a','b','c',...'0','.'] şeklinde ).
file = open("wordlist.txt","w")
ürettiğimiz metinleri kaydedeceğimiz belgeyi açtık.(belge yoksa yenisini oluştur varsa tamamını silip baştan yazar).Gelelim fonksiyonumuza;
if len(text)>12:
return 0
Gelen metnin uzunluğu 12'den büyükse fonksiyonu durdurur.Recursive fonksiyonların olmazsa olmazı; ortamda sürekli aşırıya kaçmaya izin vermeyen arkadaş gibidir.
else:
for i in chtr_list:
new_text = text
new_text += str(i)
if len(new_text) >7 :
file.write("\n"+new_text)
harf(new_text)
Geldik en önemli kısma;for ile tüm karakterleri tek tek "i"değişkenine atıyoruz.Gelen texti yeni oluşturduğumuz değişkene atıyoruz.Aksi taktirde "ab" geldiğini varsayarsak, "a" eklediğimizde text "aba" olacaktır sonra ki kısımda "abb" yi üretmemiz gerekir ancak metin artık "aba" olacağından bunu yapamayız.
Yeni değişkenimize her for döngüsünde yeni bir karakter ekleyip sonrasında oluşturduğumuz metinlere tekrar karakter eklensin diye fonksiyonumuza tekrar gönderiyoruz.Yani anlayacağınız fonksiyonun tek yaptığı gelen texte bir harf takıp tekrar kendisine göndermek.
if len(new_text) > 7 ifadesi ise 8 ve 8'den büyük olan metinleri file.write ile dosyaya atıyoruz.
i="" harf(i) file.close()Boş(boşluk değil!) bir metin değişkeni oluşturup fonksiyona atıyoruz.
Kod üzerinde fazla çalışamadım,fonksiyonun karmaşıklığını azaltacak önerileriniz ,ekleme yapmak istediğiniz yerler veya makalenin şurası fazla olmuş sil dediğiniz yapıcı eleştirilerinizi beklerim.
Fonksiyonun aynısını başka dillerde yazıp göndermek isterseniz ayrıca mutlu olurum.
Not:Yorum yapmak için hiç bir şart yoktur.
Kaydol:
Kayıtlar (Atom)

