Arşiv

Sitemi takip edenler için bir Ramazan hediyesi hazırladım :)

Ramazanın hikmetlerinin anlatıldığı küçük bir kitapçık. Sayfaları çevirebilirsiniz.

 

 

Silverlight ile hazırlandığı için bilgisayarınızda silverlight yüklü olmalı. Silverlight'ı

http://www.microsoft.com/silverlight/resources/install.aspx

adresinden indirebilirsiniz.

Uygulamanın linki:

http://www.volkanaktas.com/silverlight/RamazanRisalesi/index.html

 

Uygulama kodları içerisinde aşağıdaki değişiklikleri yaparak kendinize göre düzenlemeler yapabilirsiniz.

Assets klasörü içerisine resim dosyalarımız ekliyoruz. Burada önemli olan nokta kod yapımıza göre sayfalarımızın çift sayıda olması 8,10,12 gibi.

pageGenerator.js dosyası içerisinde yapılacak değişiklikler

retStr =  "<Canvas>";
    if (pageNumber == 10)
  {
    retStr += "  <Image Height='570' Width='420' Source='assets/page"+getTwoDigitInt(pageNumber)+".jpg'/>";
  }


buradaki 10 sayfa sayısını temsil eder. Bunu sayfa sayısına göre istediğiniz gibi değiştirebilirsiniz. 570 ve 420 ise resimlerin genişlik ve yükseklik değerlerini temsil eder. Siz de resimlerinizin boyutuna göre bu değerleri değiştirebilirsiniz.

 

createsilverlight.js dosyası içerisinde yapılacak değişiklikler

var scene = new PageTurn(10);

buradaki 10 değeri sayfa çevirme efekti uygulanacak sayfa sayısıdır. Siz de bu değeri sayfa sayınıza göre değiştirebilirsiniz.

 

mainpage.js dosyası içerisinde yapılacak değişiklikler

Daha sonra tasarımımızda bulunan ingilizce ifadelerden Annotate ve Clear Annotations yazılarını Türkçeye çevirdim. Javascript dosyalarından mainpage.js dosyasını alalım ve aşağıdaki gibi değiştirelim.  

var _annotateToggleButton = new InkToggleButton(this.plugIn, "Not Al", Silverlight.createDelegate(this.inkManager, this.inkManager.toggleInkMode), Silverlight.createDelegate(this.inkManager, this.inkManager.toggleInkMode));

var _clearAnnotationButton = new InkButton(this.plugIn, "Notları Sil", Silverlight.createDelegate(this.inkManager, this.inkManager.clearInk));

 

navigationManager.js dosyası içerisinde yapılacak değişiklikler


if (type == "showFold")
  {
    if (this.nextOddPage < this.maxNumPages)
    {
      this.pageAnimationType = "showFold";
      this.pageAnimationTarget = 840;
      this.pageAnimationDelta = 5;
      this.timer.begin();
    }
  }

bölümündeki


this.pageAnimationDelta = 5;

sayfanın köşesindeki kulakçığın aktifleşme hızını belirler

 

 Dosyanın aslı

http://silverlight.net/samples/1.0/Page-Turn/default.html

adresinde bulunmaktadır. Aslını oradan indirerek gerekli değişiklikle bu dosya üzerinden de gerçekleştirebilirsiniz.

Etiketler : Silverlight Ramazan
Kategoriler : Diğer Konular Silverlight
Yorumlar : 2 Yorum Yorum Yaz

Uzun bir ayrılık oldu. Tatil boyunca siteye pek ekleme yapamadım. Tatilimi Mersin'in Soğucak köyünde geçirdim. İnternet olmaması nedeni ile siteye ekleme yapamadım. Ancak dinlenme açısından güzel oldu. Televizyon ve internet olmaması nedeni ile bolca dinlendim. Bol kitap okudum. Orada kaldığımız ev bahçelerin ortasında olması nedeni ile zihnen ve bedenen dinlendim.

Yukarıdaki Soğucaktan bir resim görülüyor.

Bilgisayar konusunda boş durmadım elbette :) VBA, VSTO, WPF, OpenXML gibi konular üzerine çalışmalar yaptım, makaleler yazdım. Bunları sizlerle sırası ile paylaşacağım İnşaAllah.

Bu arada bir İstanbul seyahatim oldu. Türkiye Bilişim Güvenliği Derneği'nin toplantısına katıldım. Derneğe üye oldum. Güzel bir fikir paylaşım ortamı oldu. Bilişim alanında uzman olan arkadaşlar ve firmalarla buluştuk. Buradaki görüşmelerimizin sonuçlarından da okul olarak faydalanacağız İnşaAllah. İlerleyen aylar için bir seminer sözü aldım :)

Yukarıdaki İstanbul Eyüp Sultan'dan bir resim görülüyor. Arkadaşlar sağolsun epey gezdirdiler bizi.

Bu arada sitemin server'ını da değiştirdim. Artık sitemiz ASP.NET 3.5 destekli. Bunun ilk yararı silverlight teknolojisini sitemizde kullanabilmek olacak. Bunu da ilerleyen zamanlarda tasarım ve eklentiler şeklinde sitede göreceğiz İnşaAllah.

 

 

Etiketler : Etiket Yok
Kategoriler : Diğer Konular
Yorumlar : 0 Yorum Yorum Yaz

1 Arayüzler
Arayüz, yazılımdaki en önemli konsept. Yazılım geliştirirken problemleri mümkün olduğunca basit modellemek ve bu modellere mümkün olduğunca basit ve anlaşılır arayüzler sunmak gerekiyor.

2 Kurallar ve Şablonlar
İsimlendirme kuralları ve şablonlar üzerinde en çok durulan ve muhtemelen en önemli tasarım desenleri.
İsimlendirme kuralları yazılım geliştirilirken kullanılan tüm isimlendirmelerin ortak kurallara dayanmasını gerektiriyor. Örneğin JUnit adlı java bileşeni, test metodlarını, isimlerinin başında yer alan test kelimesi sayesinde tanıyor.

Şablonlar ise verilerin gösterimlerinin verilerden bağımsız bir şekilde yapılması ile ilgili. Örneğin XML verilerini göstermek için XSL şablonları kullanılır.

3 Katmanlı Mimari
Katmanlı mimari, bir yazılımın çalışması için gereken bileşenlerin piramit şeklinde yapılandırılması gerektiğini ifade ediyor. Piramitin her katmanındaki bileşenin çalışması, kendi altında bulunan bileşenlere bağlı olabilir ancak kendi üzerinde çalışanlara bağlı olamaz.
Bu konuda bilgi alınabilecek Structure 101 ve SA4J adlı iki güzel kaynak var.

4 Algoritmik Karmaşıklık Seviyesi
Çok yaygın olarak büyük O harfi notasyonuyla ifade edilen karmaşıklık seviyesi, bir algoritmanın hızının, algoritmanın işlediği veri miktarına göre değişimini belirliyor. Örneğin O(n) ile ifade edilen bir algoritma, n tane veriyi t zamanda işliyorsa 2n tane veriyi 2t zamanda işler. O(n^2) ile ifade edilen algoritma ise n tane veriyi t zamanda işlerken 2n tane veriyi t’nin karesi kadar zamanda işler. İşlenen veri miktarları çok büyük olunca, bunları işleyen algoritmanın karmaşıklığı çok büyük önem kazanıyor.

5 Hashing
Hashing, verilere hızlı ulaşmak için başka bir yöntem. Bu yöntemde, her verinin içeriğine bakılarak bu veriye özel daha kısa bir veri üretiliyor ve bu kısa veriler index olarak kullanılıyor. Index içerisinde arama yapmak da çok daha hızlı oluyor.

Hashing yapılırken her verinin farklı bir hash kodunun olması ve bu hash kodlarının hızlı ulaşımı mümkün olduğu kadar kolaylaştıracak şekilde ayarlanması farklı bir uzmanlık gerektiriyor.

6 Caching
Hafif uyku’nun kaşeleme dediği caching, normalde veritabanında tutulan verilerden çok sık kullanılanların hızlı ulaşılabilecek bir yere alınması ve buradan hızla kullanılması anlamına geliyor. Örneğin bir kitap siteniz varsa ve geçen haftanın popüler kitaplarını listeleyen bir kısım mevcutsa, bu verileri her gerektiğinde hesaplamak yerine haftada bir kez hesaplayıp uygun bir yere kaydediyor ve gerektiğinde buradan okuyorsunuz.
Cache’lenen verilerin tamamını bellekte tutmak maliyetli bir işlem olduğu için, bellekte tutulacak verilerin seçilmesi için uygulanacak yöntemleri seçmek yine uzmanlık gerektiriyor.
Facebook’un da aralarında olduğu bir çok modern uygulama, Brad Firzpatrick tarafından geliştirilen memcached adlı sistemi kullanıyor.

7 Eş Zamanlılık
Eş zamanlılık, birden fazla işin bir programın kendi içinde aynı anda yapılması ile alakalı. Örneğin java ile yazılan uygulamalarda bunun için thread’ler kullanılıyor.

Üretici / Tüketici modeli tipik bir örnek. Üretici durumunda olan kısım sürekli olarak işlenecek verileri üretiyor, tüketici olan kısım ise sürekli olarak bu verileri alıp işliyor. Bu iki kısım aynı anda çalışıyor. Her thread’in kendi içinde çalışma mantığı ayrı olsa da thread’ler verileri aynı anda ve ortak olarak kullandığı için çalışırlarken yapabilecekleri hataları önlemek uzmanlık gerektiriyor. En karmaşık thread kütüphanelerinden birisi Doug Lea tarafından üretilmiş ve java çekirdeğinde yerini almış.

8 Cloud Computing
Cloud Computing, bir işin daha hızlı yapılması için aynı anda birden fazla bilgisayarın çalıştırılması esasına dayanan paralel programlamadan yola çıkılıp geliştirilmiş bir yöntem. Yararlananılabilecek hizmetlerin zaman, kullanıcı yoğunluğu gibi parametrelere bağlı olarak değişmesi esasına dayanıyor.

9 Güvenlik
Hack olayları ve veri güvenliği önem kazandıkça güvenlik bilgisinin de önemi artıyor. Veri güvenliği; kullanıcı yönetimi, yetkilendirme, bilgi aktarımı gibi pek çok kavram içeren geniş bir konu.
Kullanıcı yönetimi, bir sistemde her kullanıcının kendisini ilgilendiren bilgilerle muhattap olması ve diğer kullanıcıların bilgilerini görememesi ile alakalı. Yetkilendirme, kullanıcıların yalnızca izin verilen işlemleri yapabilmeleriyle alakalı. Daha çok şirketleri ve iş akışı bulunduran sistemleri ilgilendiriyor. Yeni geliştirilen OAuth protokolü, web servislerde güvenliği sağlamak konusunda yardımcı oluyor. Bu sistemi flickr kullanıyor.

10 İlişkilsel Veritabanları
İlişkisel veritabanları, çok büyük web servislerinde kötü performanslar sergilediği için son zamanlarda sevilmiyor. Ancak yazılım dünyası daha uzun bir süre onları kullanmaya devam edecek. İlişkisel veritabanlarında veriler tablolarda kayıtlar olarak tutuluyor ve genellikle SQL adı verilen dil ile bu veriler sorgulanıyor. SQL’in veri ekleme, silme, güncelleme, filtreleme ve birden çok tablodaki verileri bir arada getirme gibi güzel yetenekleri var.
İlişkisel veritabanlarında veri yazıp okuma işini performanslı bir şekilde halledebilmek için SQL, stored procedure’ler (yerleşik yordamlar), constraint’ler (kısıtlamalar) gibi pek çok konuya hakim olmak gerekiyor.

Kaynak: bildirgec.org

Etiketler : Yazılım
Kategoriler : Diğer Konular
Yorumlar : 0 Yorum Yorum Yaz

Arama
  Ara
Takvim
<September 2010>
SMTWTFS
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
Tag Bulutu