Teknik

Ö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ı 
Okumaya devam edin...

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?

Okumaya devam edin...

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.

Okumaya devam edin...

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.

Okumaya devam edin...

Netcat Linux dünyasında önemli bir yazılımdır. Bilgisayarlarımız iletişimlerini sağlamak için portları kullanırlar. Portları kapılar gibi düşünebiliriz. Portlarda networkler arasında TCP ve UDP protokollerini kullanarak gerçekleşen veri okuma yazma işlemlerini taramak yani kısaca port taramak gibi işlemler için Netcat kullanıyoruz.
Okumaya devam edin…

Kaldığımız yerden hızla devam ediyoruz. Önceki yazımda Linq teknolojisinden ve faydalarından bahsetmiştim. Şimdi de Linq ile program yazmaya başlayacağız. Öncelikle Visual Studio 2010’da C# projesi açıyorum ve bu projeye linq to sql class’ını eklemek için aşağıdaki gerekli işlemleri yapıyorum.

Okumaya devam edin…

Her ne kadar android uygulama geliştirmek için favori ortamım eclipse olsa da, yeni bir ortam yayınlanınca kurcalamasam olmazdı. Beta sürümünde olmasına, eclipse’e alışanlar için garip gelebilecek bir yapısı olsa da IntelliJIDEA tabanlı Android Studio’yu buradan indirebilirsiniz.

Mevcut git repo’nuzdaki projenizi Android Studio ile kullanmak istediğinizde ise yapmanız gerekn bir kaç şey var :

Okumaya devam edin...

LINQ Teknolojisi

Ebru Demiryürek —  14 Ekim 2014 — 4 Comments

Merhaba arkadaşlar, size Linq teknolojisinden bahsedeceğim ve kısa bir giriş yapacağız. Diğer yazılarımda da Linq ile sorgular yazacağız.
Öncelikle Sql ve Linq to Sql’i kısaca tanımlayalım.

Sql Nedir?

Sql, veritabanı işlemlerini gerçekleştirmek için kullanılan komut dilidir. Sql ile veritabanı işlemleri yapılır.

Linq to Sql Nedir?

Linq, nesneler üzerinde bulunan ilişkisel veriyi hızlı bir şekilde sorgulamak için kullanılan sorgulama aracıdır. Linq to sql ise linq altyapısının sql veritabanı üzerine uyarlanmış halidir.

Okumaya devam edin...

Thread Kavramı

Ebru Demiryürek —  8 Eylül 2014 — 6 Comments

Thread (iplik) kavramı, aynı process ortamında birden fazla iş yürütme imkanı sağlar. Bir process’in çalışmaya başlaması ile birlikte bir thread (main thread) oluşturulur ve bu process içerisinde birden fazla iplik (multi-thread ) oluşturulabilir. Yaratılan iplikler aynı adres uzayında koşarlar. Her ipliğin kendine has program sayacı, saklayıcıları, yığını ve durumu(yok edilme, askıya alınma, önceliğinin değiştirilmesi) vardır. Bir iplikteki (thread) değişkeni aynı işlem tarafından üretilmiş bütün iplikler değiştirebilir veya okuyabilir.

Okumaya devam edin...

Linux Yaz Kampı 2014 – Web Uygulama Güvenliği ve Güvenli Kod Geliştirme eğitim notlarımı ve bazı bilgilerimi toparladığım bir kaynak belge hazırladım. Daha iyi hale getirmek için yorumlarınızı, önerilerinizi, github üzerinden pull-requestlerinizi bekliyorum.

Umarım faydalı olur.

Github: https://github.com/1zinnur9/wGuvenlik_LYK14
PDF’e ulaşmak için Web_Guvenligi_lyk2014_1zinnur9 tıklayınız.