Previous
Next

JAVA - Access specifiers(Erişim belirleyicileri) nedir?

by Cem Kefeli 20. Mayıs 2010 07:16

JavaÇoğu zaman, hayatın her alanında bazı kısıtlamalar ile karşılaşıyoruz. Eğer bir şeylere sahiplik varsa onun saklanması, korunması da çok doğal bir istektir. Herkes, her zaman herşeyini birileri ile paylaşmak istemeyebilir. Daha da ötesi paylaşmasının çok da uygun olmayabileceğini düşünebilir. İzinsiz kullanımın, yetkisiz kullanımın önüne geçilmesi için de böyle bir yapı şarttır aslında. Programlama dillerindeki access specifiers(erişim belirleyicileri) kavramı da tamamen bu doğal dürtünün sonucunda ortaya çıkmıştır. Ben bir sınıf yazıp bunu bir pakatin içerisinde başkaları ile paylaşabilirim. Başkalarının da yazdığım kod parçacıklarından faydalanamasını sağlayabilirim. Fakat sınıf içerisinde yer alan bazı değişkenlerin kimse tarafından değiştirilememesini, bazı yordamların override edilememesini isteyebilirim. Kodun sahibi olarak bunları isteyebilmek benim en doğal hakkımdır aslında. Şöyle toparlayabiliriz bu kısmı; erişim belirleyicileri, programcı tarafından oluşturulan her bir yazılım öğesinin paylaşım sınırlarını belirlemek için kullanılmaktadır. Şimdi bu konuyu biraz daha açmanın zamanı geldi...

Java Access Specifiers - Erişim Belirleyicileri Öncelikle şunu söyleyeyim, yandaki şekil gözünüzü korkutmasın. İş hiç de şekilde görüldüğü gibi karışık ve öğrenilmesi güç bir sey değil. Aslında bu şekli gördükten sonra üzerinde konuşmaya da çok fazla gerek yok. Çünkü bu şekil ne var ne yok gayet güzel bir şekilde açıklıyor olayı. Yine arada ekleyeceğimiz kısa notlar olacaktır. Bizim bu belirteçlerden özellikle üzerinde duracağımız public, friendly, private, protected erişim belirleyicileridir.

İlk önce friendly erişim belirleyicisi ile başlamak istiyorum. Friendly erişim belirleyicisi java dili için standart erişim belirleyicisidir. Yani eğer herhangi bir erişim belirteci yoksa friendly olarak kabul edilir. Bu erişim belirleyicisi metodlara, sınıflara ve alanlara uygulanabilmektedir. Özelliği ise aynı paket içerisindeki tüm sınıflardan bu üyelere erişilebilirken, paket dışı üyelerden bu üyelere erişilememektedir. Burada enteresan olan ise bu erişim belirleyicisinin kullanılmasının istenmemesidir. Yani bir metodun, sınıfın ya da alanın başına friendly anahtar sözcüğünün yazılması istenmemektedir. Yazarsanız hata ile karşılaşabilirsiniz. Eğer bir üyeyi friendly olarak tanımalamak isterseniz yapmanız gereken o alanı boş bırakmaktır.

Public erişim belirleyicsi tüm üyeler tarafından herhangi bir sınırlama olmadan erişilebilmektedir. Hem sınıflara, hem metodlara, hem de alanlara uygulanabilmektedir bu erişim belirleyicisi. Public erişim belirleyicisine sahip bir üyeye hem paket içinden hem paket dışından, hem tanımlandığı sınıftan hem tanımlandığı sınıf dışından, kullanıldığı sınıftan türetilen tüm sınıflardan erişilebilmektedir.Fazlası...

HTML 5.0 nedir? Flash'ın yerini alabilir mi?

by Cem Kefeli 2. Mayıs 2010 02:09

Adobe Flash Player Logo

Geçenlerde şurada (Habertürk - Kedi uzanamadığı ciğere mundar dermiş) bir yazı okudum ve oldukça da ilgimi çekti. Yazı HTML 5.0'ın Steve Jobs tarafından nasıl yorumlandığı üzerine kurulu. Yazının başlığı oldukça dikkat çekici ve iddialı. Peki gerçekten Apple, yani bir anlamda da Steve Jobs için durum gerçekten kedinin ciğere uzanamaması olayı mı? Yani durum Apple'ın flash'ı çekememesinden mi kaynaklanıyor yoksa internetin belki de şimdiye kadar kullanıcılarına sunduğu en büyük güzelliklerinden birisi olan Flash'ın altın devri gerçekten bitiyor mu? Ya da artık Flash devri kapanıp yerini çok daha güncel bir teknolojiye bırakmalı mı?

İlk önce Flash'ın geçmişinden biraz bahsetmek istiyorum. Flash WEB'in altın çocuğu olduğu için şuradaki yazımda (Bayanlar ve Baylar!!! WEB 3.0 karşınızda...) Flash konusuna değinmiştim. Dileyenler Flash'ın WEB dünyasındaki konumunu öğrenmek için detaylı okuyabilirler. Hatırladığım kadarıyla Flash ile ilk olarak Macromedia'nın 1996 yılında Flash'ı duyurması sayesinde tanıştık. O zamanlar flash'ı Macromedia'nın geliştirdiği ve tüm haklarının Macromedia'ya ait olduğu zamanlardı. Hatta ismi de Flash olarak değil de "FutureSplash Animator" olarak biliniyordu. Macromedia aynı sene içerisinde FutureSplash Animator isminden vazgeçip "Macromedia Flash 1" ismini benimsedi. İşte Macromedia için 2005 yılında duyurulan Macromedia Flash 8'e kadar uzanacak Flash yolculuğu da bu isimle birlikte başlamış oldu. Hatırlıyorum da Flash ile yapılmış imam-sayko filan gibi çok ilginç animasyonlar da yapıldı o yıllarda. Laughing Fakat yıllar içerisinde Flash'ın cazibesi arttıkça müşterileri de artmaya başladı. Yıl 2008'i gösterdiğinde Adobe Macromedia'yı satın alarak yeni versiyon olan "Adobe Flash CS3 Professional" ı duyurdu. Şu an sene 2010 ve Adobe'nin kullanıcılarına sunduğu 2010 tarihli son Flash versiyonu Adobe Flash CS5 Professional ismi ile anılıyor. İlk günlerden bu yana Flash hala C++ dili ile yazılıyor ve her zaman vektörel çalışmayı benimsemiş durumda. Yani normalde bir animasyonu video gibi düşünürseniz ard arda geçen video karelerini de birer resim olarak düşünebilirsiniz. Yani videolarda ard arda gelen resimlerin oynatılması durumu vardır. Bu da veri boyunun çok yüksek olması ve her bir resim çerçevesinin sıkıştırma algoritmaları ile sıkıştırılmasını zorunlu kılar. Fakat Flash'ın vektörel çalışma prensibi bu video mantığı ile uyuşmaz. Vektörel çalışma nesnelerin uzam-zamansal konumları ile ilgilenir. Örneğin ekranda bir kare şekli vardır, flash bu kareyi bir nesne olarak yorumlar ve (t) anındaki karenin konumu (x1,y1) ise (t+t0) anındaki konumunu (x2,y2) olmasını sağlar. Böylece karenin ekranda hareketi oluşturulmuş olur. Bu aşamayı sayısal işaret işlemeciler çok daha kolay anlayacaktır, çok da üzerinde durulması gereken bir konu değil... Fazlası...

Blogengine admin paneli giriş şifremi unuttum ne yapmalıyım? - Blogengine password recovery

by Cem Kefeli 7. Şubat 2010 03:14

Blog EngineDaha önce "Acaba Blogengine şifremi unutursam bir daha bu değerli şeyi nasıl bulabilirim? Smile" diye kendi kendinize sordunuz mu bilmiyorum ama ben az önce sordum. Zira hostta kurulu bir sistemde bunu unutursanız bir daha yönetici panelinize nasıl girebilirsiniz ki Frown Çünkü Blogengine'de şu ana kadar çıkan sürümlerinde 'password recovery' gibi bir özellik yok bildiğim kadarı ile. "Eee o zaman, bu şifre veri tabanında bir yerlerde kaydedilmiyor mu zaten? Girer oradan düzeltir, yerine yenisini yazarım ya da bakar hatırlarım." diye bir düşünceye de kapılabilirsiniz hemen. Ama bu düşünce de bir işe yaramayacaktır. Şifre hem SqlServer, Hem MySQL Server, hem de XML database ve diğerlerini kullanan tüm sitemlerde veritabanında tutuluyor doğru. Ama cache'lenmiş ve şifrelenmiş bir şekilde tutuluyor. Dolayısı ile veritabanının ilgili yerlerine baktığınızda siz şifrenizi yine göremeyeceksiniz. Gördüğünüz yalnızca şifrenizin şifrelenmiş hali olacak. Veritabanından değiştirip oraya istediğinizi yazdığınızda da bu sefer panele girerken bu işe yaramayacak Smile. Çünkü o yazdığınız metnin şifresi çözüldüğünde sizin girmeniz gereken metin başka, abuk sabuk bir metin olacak. O halde ne yapmalıyız?

İlk önce bu şifrelerin veritabanında hangi alanlarda tutulduğuna bir bakalım. Biliyorsunuz ki Blogengine hali hazırda birçok veritabanı bağlantısı arayüzüne destek veriyor. Server tabanlı veritabanı kullanan(MSSql Server, MySQL Server vb.) ve XML tabanlı veritabanı kullanan sistemler olmak üzere iki ana başlıkta topluyorum şimdilik. Eğer XML kullanıyorsanız (XmlMembershipProvider) sisteminizin kök dizininden başlayarak /App_Data/users.xml yolunu izleyerek kullanıcılar için temel bilgilerin tutulduğu XML dosyasına erişebilirsiniz. Bu XML'in içerisinde Kullanıcı adı, şifrelenmiş-cachelenmiş şifre, e-posta adresi ve son giriş zamanı gibi bazı bilgiler bulunuyor. Aşağıda bu dosyanın içeriğine bir örnek veriyorum.

/App_Data/users.xml  |  Gizle  |  Göster
<Users>
   <User>
      <UserName>Admin</UserName>
      <Password>jGl25bVBBBW96Qi9Te4V37Fnqchz/Eu4qB9vKrRIqRg=</Password>
      <Email>post@example.com</Email>
      <LastLoginTime>2007-12-05 20:46:40</LastLoginTime>
   </User>
</Users>

4. satırdaki password alanı bizim ilgimizin odak noktasını oluşturuyor diyebilirim. Server tabanlı bir veritabanı da kullanıyorsanız XML tabanlı bir veritabanınız da varsa yapmanız gereken password field'ı içerisindeki şifrelenmiş-cachelenmiş veriyi temizleyip silmek. Böylece blogunuz default ayar olan 'admin' kullanıcısı için 'admin' şifresine geri dönecektir.
Eğer Server tabanlı bir veritabanı kullanıyorsanız ise yapmanız gereken be_Users tablosu içerisindeki uygun kullanıcıya ait ilgili kayıt satırını bulup yine password sütununun içeriğini temizlemektir.

Umarım okuyanların işinize yarar ve faydalı olur. Değişik yöntemler bilen ve atladığım noktaları yakalayan olursa yorum yaparak katkıda bulunabilirsiniz. 

Microsoft, Office 2010(codenamed Office 14) Beta'yı duyurdu

by Cem Kefeli 3. Aralık 2009 10:42

Office 2010 Microsoft Office 2010'un beta sürümünü duyurdu...
Tam sürüm ise yaz aylarına doğru piyasaya sürülecekmiş, kesin tarih olarak ise haziran ayı düşünülüyor. 2010 sürümünün kod adı da Office 14 olarak duyuruldu. Ofis paketi Windows XP SP3, Windows Vista ve Windows 7 üzerinde kullanılabilecek. Ayrıca 64 bitlik versiyonu da hazırlanacak fakat XP için 64 bit desteği verilmeyecekmiş. Bu nedendir çok anlayamadım aslında. Microsoft bu sefer birçok farklı sürüm düşünmüş tam sürüm için, tam altı farklı sürümden söz ediliyor. İlki MS Word ve MS Excel içeren, ücretsiz, içeriği azaltılmış, reklam içeren 'Starter' sürümü. Diğer sürümler ise tabiki ücretli olacak. Bu sürümler 'Home and student', 'Home and Business', 'Standard', 'Professional' ve 'Professional plus'. Adından da anlaşıldığı gibi en baba sürüm 'Professional Plus' gibi görünüyor Smile. Office 2010 paketi içerisinde Access 2010, Excel 2010, InfoPath Designer 2010, InfoPath Filler 2010, OneNote 2010, Outlook 2010, PowerPoint 2010, Publisher 2010, SharePoint Workspace 2010, Word 2010, Office Communicator 2010 araçları bulunuyor. Office 2010 ayrıca web üzerinden online olarak da hizmet verecek. Web üzerinden erişim için Internet Explorer, Mozilla Firefox, Google Chrome Apple Safari desteklenmesine rağmen Opera Browser desteklenmiyor. Microsoft'un da online hizmete başlaması SaaS uygulamaları konusunda oldukça büyük bir gelişme olacaktır diye düşünüyorum.

Table of Office 2010 EditionsYukarıda bahsettiğim Office araçların hepsi zaten daha önceki sürümlerde de var olan araçlar. Bu araçlar tabi ki sürümden sürüme değişecek. Her sürümde bu araçların tümünü görmek malesef mümkün değil. Yandaki grafik hangi sürümün hangi araçları barındırdığını güzelce gösteriyor. Microsoft tabiki hali hazırda Office 2007 kullananları da unutmamış. Onlar da dilerlerse sürümlerini 2007'den 2010'a yükseltebilecekler. Fakat önceki office sürümleri için de böyle bir yükseltme mümkün mü çok araştıramadım. Büyük ihtimalle mümkün olacaktır.  Bir diğer ayrıntı da Office 2010'un MAC kullanıcıları için de piyasaya sürülecek olması. MAC sürümü de yaz ayları içerisinde hazır olacakmış. Buraya kadar herşey iyi güzel de bir Microsoft klasiği olan sistem kaynaklarını sömürme olayı halen devam ediyor sanırım. Minimum gereksinimler için en az 500 MHz işlemci, En az 256 MB sistem belleği, 3 GB boş sabit disk alanı, En az 1024x768 piksel çözünürlüğü destekleyen bir monitör, Windows XP SP3 veya sonrasında çıkan bir Windows işletim sistemi öngörülüyor. Bu özellikler için çok fazla sorun yok ve bence gayet makul değerler fakat bazı özellikleri aktif ettiğinizde RAM gereksinimi ciddi oranlarda artıyor. Örneğin MS Word içerisindeki yazım denetimi araçları için ortalama 1GB RAM'in gerekli olduğundan bahsediliyor. Çok ciddi bir miktar bu. Altı üstü bir metin editörü olan bir program için çok çok fazla bence. Bir de bunun yanına Outlook açın. Outluk arşiv dosyası boyutunuz 1-2 GB olsun işler daha da karışacaktır. Ben henüz indirip kurup denemedim o yüzden ahkam kesmek istemiyorum fakar yorumlar ve testler bu sonuçları işaret ediyor.Fazlası...

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General