Merhaba, bu yazımda deneyimlerimden yola çıkarak Python’da sıklıkla kullandığım veri yapıları ve tiplerinden bahsedeceğim. Bu yapı ve tiplerin içerisinde “liste” (list) ilk sırada gelir, ikinci sırada ise “katar” (string) yer alıyor.

Liste

Listeyi basitçe, köşeli parantez içerisinde virgüllerle ayrılmış elemanlar listesi olarak tanımlamak mümkündür.
liste1 = [1, 4, 9, 16, 25] ve liste2 = ['a', 'b', 'c', 'd'] birer liste örneğidir.
Liste elemanlarının indexlenebilme özelliği bulunur, zaten listeyi bir dizi olarak düşünebiliriz.

l = [1, 34, 274, -89, 0, 5] listesinden -89 elemanını almak için l[3] kullanmak yeterli olacaktır. Konunun daha anlaşılır olması için python terminalinde yaptığım örnekleri ekleyerek devam edeceğim. (Linux veya MacOS X kullanıyorsanız terminale python yazarak python terminaline geçiş yapabilirsiniz.)

Continue Reading...

Bu mesleği seçerseniz, ne iş yaptığınızı anlatmakta biraz zorlanabilirsiniz. Umarım kendiniz anlamakta zorlanmazsınız. Bilgisayarda yazı yazmaktan, bilgisayar sistemlerini çökertmeye varan geniş bir yelpazede işler yapan esrarengiz biri olduğunuz düşünülür çoğu zaman. Bir de mutlaka format atabilmelisiniz, bakın bu önemli, yoksa, ” Ne biçim mühendissin sen” olursunuz.

Yazılım mühendisliği, diğer mühendislik dalları gibi sınırları, kuralları kesin belirlenmiş bir meslek değil. “Yazılım sanat mıdır, mühendislik midir” tartışması yazılım mühendisliği alanındaki gelişmeler sayesinde “mühendisliktir” yönüne doğru kaydı. Ancak yine de uzun süreli insan emeği gerektiren bir iş olarak yazılım üretme süreci, analitik olduğu kadar sanatsal bir yönünüz olmasını da gerektiriyor. Ürününüz, elle tutulur bir şey değil. Ürününüz, yaptığı işle değer kazanıyor.

Continue Reading...

Cumartesi günü Google Anita Borg Bursiyerleri Topluluğu’nun düzenlediği “Bilişimci Kadınları Dinliyoruz” etkinliği vardı. Organizasyonu GDG Istanbul yaptı. Nilay, Kadın Yazılımcı’nın da içinde olduğu için, ayrıca kibar bir insan olduğundan, bizi de organizatörlerin arasına koydu.

Etkinlik Google’dan Özge Kökçü’nün giriş konuşması ile başladı. Miray Kaş gelememiş. Onun yerine bir video ile etkinliğe katıldı. Aynı şekilde etkinlik için yazıştığım Suzan Bayhan da video ile katıldı.

Continue Reading...

İkincisini yazacağımı söylediğim Netcat yazımı sonunda yazıyorum Temel sözdizimini, opsiyonlarını anlatan yazım şuradaydı: http://www.kadinyazilimci.com/netcat-i/

  • Dosya Transfer İşlemleri:

– Client’dan Listener’a dosya göndermek için:

– [Port] üzerindeki [Hedef IP Adresi]ne [InFile] ı göndermek için:

– Listener haldeyken Client tarafından gelen dosyaları çekmek için:
( [InFile] ın gönderilmesine hazırlanılan [Local Port] dinleniyor.)

– [Port] üzerindeki [Hedef IP Adresi] ile bağlantı kurulup verinin [OutFile] ile çekilmesi:

(Karşıdan veri aktarma.)

Continue Reading…

RSMangler belli anahtar kelimeleriniz üzerinden permütasyon ile wordlist oluşturmanızı sağlayacak bir araçtır. RSMangler’ı buradan indirebilirsiniz. RSMangler sayesinde oluşturduğunuz listeyi kaba kuvvet saldırılarında kullanmanız mümkün. Eğer kaba kuvvet saldırısı yapılacak olan şifre ile alakalı bilginiz varsa örneğin Star Wars izleyicisi ise anahtar kelimeleriniz bununla alakalı kelimlerden oluşabilir. RSMangler da bu kelimeleri kullanarak her türlü kombinasyonu oluşturabilmenize yardımcı olacaktır. Web sitesinden aracı indirdiğinizde içerisinde göreceğiniz .rb uzantılı dosyayı çalıştırarak wordlist’i oluşturmanız mümkün.

Continue Reading...

Önceki yazımızda cihazların nasıl iletişim kurduğu ve iletişim kurallarından kısaca bahsetmiştik. Şimdi ise “Port Dinleyici” adını verdiğimiz sunucu programını yazmaya başlayacağız.
Her cihazın yönlendirildiği porta bıraktığı sinyalin formatı farklıdır. Bu sinyallerin formatının üreticiden üreticiye değiştiğine değinmiştik. Sinyaller genellikle String dizisi halinde gönderilir. Ve dizi içerisindeki değerler birbirinden ayraçlar ile ayrılır.
Duman dedektörümüzün sunucuya gönderiği sinyalin aşağıdaki dizi olduğunu varsayalım.

Örnek Sinyal : 
1234;1200;28032014;28.4;300;0;0;0;1100;300;50;25 
Parçalanmış Hali : 
1234= Cihaz Tanımlayıcısı 
1200 = Saat 
28032014 = Tarih (GünAyYıl) 
28.4= Sıcaklık 
300= Basınç (Bar) 
0 = Dedektör Açık/Kapalı(1/0) 
0 = Enerji Var/Yok(1/0) 
0 = SD Kart Takılı/Takılı Değil (1/0) 
1100 = Basınç Set Değeri (Yüksek) 
300 = Basınç Set Değeri (Düşük) 
50=Sıcaklık Set değeri (Yüksek) 
25 =Sıcaklık Set değeri (Düşük) 

; = Parçalama Ayıracı 
Continue Reading...

Teknolojinin başdöndürücü ilerleyişi sürerken cihazların birbiriyle haberleşmesi , veri iletişimi ve cihaz(Client) – sunucu(Server) etkileşimli yazılımların ön plana çıkması kaçınılmaz bi hal aldı. Bu yazılımlarla birlikte cihazlardan gelen verilerin arayüzden istatistiki veriler ve raporlara dönüştürülmesi sağlanmış ve her sektöre hitap eden cihaz – sunucu etkileşimli programlar ortaya çıkmıştır.

Peki ama nedir bu cihaz- sunucu etkileşimi?

Continue Reading...

JPA,Oracle tarafından desteklenen,bir veritabanındaki büyük ölçüde veriyi kalıcı olarak depolayan sınıflar ve metotların bir koleksiyonudur. İlişkisel nesne yönetimi(veritabanı) için kod yazım yükünü azaltır. Bunu JPA Provider çatısı sağlar. Peki neden veritabanı ile nesne arasındaki çevirimler bu kadar uğraştırıcıdır? Öncelikli olarak veritabanında ki veriler tablo formatında tutulurken, nesneler birbirlerine bağlanmış grafik formatında gösterilir. Aşağıdaki nedenlerden dolayı bu iki tür arasında uyumsuzluklar oluşmaktadır.

Continue Reading...

27 Kasım 2014’te IBM’in düzenlediği IBM Bluemix Girls Night Out etkinliğindeydim. Etkinlik Bilkent Cyberpark’ta yapıldı. IBM’in yeni bulut geliştirme ortamını tanıtmaya ve aynı zamanda sadece kızlara yönelik bir etkinlikti. Bu açıdan çok ilgimi çekti.

ibmblue1Etkinlikte öncelikle IBM’de birim müdürü Jale Akyel’le Bilkent Cyberpark yönetim kurulu başkanı Canan Çakmakcı açılış konuşmasını yaptı. Kadının ve teknolojinin birbirinden uzak sanılsa da ne kadar iç içe kavramlar olduğunu açıkladılar.
Continue Reading…

ORM; bir ilişkisel veritabanıyla nesneyi bağlamak için metadata (veri hakkında veri, üstbilgi) tanımlayan programlama tekniğidir. Nesne yani kod Java, C# gibi nesne yönelimli programlama(oop) dillerinde yazılır. ORM; ilişkisel veritabanı ve oop arasındaki veri dönüşümünü gerçekleştirir.Yüzeysel olarak bakıcak olursak ORM, yazılım ile veritabanı arasında bir köprü görevi görür.

Continue Reading...