Sun NetBeans Python IDE'si

NetBeans Nedir?

Netbeans ve Eclipse şüphesiz ki Java’nın en güçlü IDE’leri. İkisi birbiriyle çok kıyaslansa da, birbirlerine göre artı veya eksileri olsa da Java programcılarının vazgeçilmezleri oldukları şüphesiz. Oysa ki NetBeans yalnızca Java IDE’si değil, aynı zamanda aşağıda ki teknolojileri de desteklemekte :

Ajax, C/C++, Databases, Debugger Desktop, Editor, Groovy, GUI Builder, Hudson, Java EE, JavaFX, Java ME, Java SE, JavaScript, Kenai, Maven, Mobile, PHP, Profiler, Python, Refactor, REST, Rich Client Platform, Ruby, SOAP, Web

Kısacası neredeyse tüm uygulama geliştirme işlemlerinizi NetBeans ile yapabilirsiniz. Ayrıca dehşet büyük bir plug-in kütüphanesi mevcut. Aynı şekilde Eclipse’in de plug-in desteği oldukça geniş. Şuan gözüme Html IDE’si çarptı, malum Html5’ten bir süredir bahsediyorum ve henüz bu dil için herhangi bir IDE yok. MS Expression Web 3 Html5 desteklemiyor. Adobe CS5 ise henüz yeni bir eklenti paketi çıkardı, bu paket sayesinde Html5’te destekleniyor ancak ben Dreamweaver kullanmayı sevmiyorum. Henüz NetBeans Html 5 destekleyen bir IDE çıkarmamış ancak çıkartırsa hiç düşünmeden kullanacağım kesin.

Web uygulamarı geliştirme de NetBeans’ın gücünü görmek için ;

http://netbeans.org/features/web/web-services.html ve http://netbeans.org/features/web/web-app.html sayfalarını ziyaret edebilirsiniz.

Java’yla uğraştığım günlerde Eclipse’yi biraz olsun anlatmıştım.

Bu adresten yazıya ulaşabilirsiniz.

NetBeans tamamen ücretsiz bir yazılım (Open-Source) ve ayrıca çok geniş bir komünite tarafından desteklenip geliştiriliyor. Ayrıca SUN resmi olarak bu IDE’yi desteklemekte.

Gelelim en güzel özelliklerinden birine; NetBeans Türkçe ! Bunu bende yeni keşfettim açıkcası, download sayfasında Türkçe seçeneği varmış. Ben direk download dediğim için İngilizce kullanıyorum, bir yandan da iyi oluyor aslında çünkü python İngilizce olmayan karakterlere biraz takıntılı bir dil.. Dolayısıyla python ile programlama yaparken neredeyse hiç Türkçe karakter kullanmıyorum desem yeridir.

http://netbeans.org/downloads/index.html

adresine girin, üst kısımdan IDE Language seçeneğinden Türkçe’yi seçin. Kullandığınız işletim sistemini seçin ve aşağıda ki sürümlerden herhangi birini indirin.

Burada hangi IDE’yi indirdiğiniz önemli değil, python ile programlama yapacaksanız zaten python bileşenini sonradan yükleyeceğimiz için şimdilik boyutu en ufak olan IDE’yi download edebilirsiniz.

Python Plug-in’ini Yüklemek

NetBeans’ı çalıştırdığınız zaman üst menüde ki “Tools (Araçlar)” kısmından “Plugins” seçeneğine tıklayın.

Üstte ki sekmelerden “Availible Plugins” sekmesine gelin. Search yani arama kutusuna python yazın, solda 3 adet plugin göreceksiniz. Bunları seçip “Install” butonuna tıklayın.

IDE’yi yeniden başlatın.

Artık IDE’niz python da desteklemete.

Python projesi başlatmadan önce bi kaç şeyden bahsetmek istiyorum.

Tools menüsünden “Python Platforms”a girin.

Burada python kurduğunuz dizini göreceksiniz, NetBeans bu dizini otomatik olarak tanımlayacaktır zaten ancak olurda tanımazsa manuel olarakta buradan değiştirebilirsiniz.

Bu yazıda bahsettiğim Kenai ile python projelerini online olarakta geliştirebilirsiniz.

NetBeans ile Python Projesi Oluşturmak

Üst menüden File/New Project/Python/Python Project seçerek Next diyoruz.

Karşınıza gelen 2. adım penceresinde projemize bir isim veriyoruz. Projemizin kaydedileceği yeri ve klasörü seçiyoruz.

Mevcut olan 2 checkbox’ı da işaretleyip Python platformumuzu seçelim.

Kutucuktan Python 2.6.4’ü seçtim ve finish dedim. Artık projemiz hazır.

Daha fazla python dosyası oluşturma için projenize sağ tıklayıp New/Empty Module seçebilirsiniz.

Kodlarınızı çalıştırmak için üstteki Play (Run Main Project) tuşuna tıklayabilir veya klavyeden F6’ya basabilirsiniz.

NetBeans IDE’sinin en güzel özelliklerinden biri ise import ettiğimiz modüllerin barındırdığı fonksiyonlar vb. durumlar için otomatik tamamlama özelliğinin olması, bu özellik işlerimizi oldukça kolaylaştırıyor.

Eğer geliştirme işlemlerinde sorun yaşıyorsanız, NetBeans’i daha iyi kavramaya çalışmanızı öneririm.

Şimdilik görüşmek üzere.

HTML5 Template

Html 5 ile hazırladığım template bitti.

smashingmagazine.com‘dan oldukça faydalandım, bir çok bilgi aldım, sonuç olarak paylaştığım uygulama tamamen Html 5 standardına göre hazırlanmıştır. Html5 hakkında diyebileceğim en kesin şey, smashmag’te yazdığı üzere “Html5 is not for everyone”.

Sayfaların sağ altında ufak bir JQuery eklentisi de kullandım. Yakın zamanda bloga da eklemeyi düşünüyorum aynısını.

İndex resmini Fireworks CS4’le hazırladım.

Geniş bir CSS dosyası kullandım.

Gördüğünüz template genel olarak 2 kısımdan oluşuyor. Bunlardan birincisi Fireworks desteği ile hazırlanmış index sayfası. Bu sayfayı hazırlamak için Fireworks kullanmak gibi bir zorunluluğunuz yok. Crop tool içeren herhangi bir araç kullanmanız da yeterli. Sayfadan seçtiğiniz konu başlığına göre, Html 5, Ajax, JQuery veya CSS 3 sayfalarından birine gidiyorsunuz.

Bu sayfalar aslında birbirinin tamamen kopyası. Footer’da kullanılan JQuery Mario eklentisi ise tamamen sayfaya renk katsın diye koyduğum bir şey. Beğenmezseniz footer dosyasını açarak silebilirsiniz.

Projeye https://github.com/msdundar/Html5-Template adresinden ulaşabilirsiniz.

HTML5 Nedir? HTML5'te ki Yenilikler Nelerdir?

Html 5 Nedir?

Html şüphesiz ki tek ve en güçlü front-end dili. Bu tabir son zamanlarda oldukça popüler, hatta ABD-Avrupa’da bulunan firmalar front-end developer bile istihdam ediyor. Ama iş artık eskisi gibi basit değil..

Önceden frontpage ile iyi veya kötü herkes basit html sayfalar tasarlayıp işvereni mutlu edebilirdi, oysa şimdi bu bahsettiğimiz eleman profili hem Html5 hem XHtml 1T hem CSS3 hemde Javascript ve JQuery üzerine uzman olmak zorunda. Hatta ve hatta DOM API’s diye anılan günümüzün popüler web teknolojilerinin de geliştiricisi ve kullanıcı olması gerekli.

Konumuzdan sapmadan Html5 neymiş, nası yenilikler getirmiş bi göz atalım.

HTML5 ile hayatımıza bir kaç yeni element girdi. Burada kullandığım “element” kelimesine dikkat. Bir kaç html imi veya tag’i girdi demiyorum, artık html’in üzerine eklenen şeyler birer element. Önceden de bizim im veya tag diye andığımız şeyleri W3C element diye anıyordu ancak benim için Html gerçek elementlerini 5.sürümünde kazandı.

Yeni Gelen Html Elementleri

<canvas>, <audio>, <video>, <progress>, <caption>, <header>, <nav>, <footer>, <article>, <aside>, <command>, <datalist>, <details>, <embed>, <figcaption>, <figure>, <hgroup>, <keygen>, <mark>, <meter>, <nav>, <output>, <rp>, <rt>, <ruby>, <section>, <source>, <summary>, <time>

Bu elementlerin bir çoğunun işlevlerini isimlerinden anlamışsınızdır büyük olasılıkla, ancak ileride detaylı bir şekilde hepsini tek tek inceleyeceğiz.

Html 5 Kaynakları

Html 5 hakkında tam anlamıyla bilgi sahibi olmak için W3C’yi ziyaret etmeniz yeterli.

http://dev.w3.org/html5/spec/Overview.html

Ayrıca bu adreste müthiş bilgiler var, illustrasyonlarla süslenmiş oldukça şık bir eğitim materyali. Teknik anlamda sorular-cevaplar için bu adresi ziyaret edebilirsiniz.

Html 5’e şüphesiz ki en büyük desteği youtube verdi. http://www.youtube.com/html5 adresinden ulaşabileceğiniz bilgilerin yanı sıra sayfanın altındaki “Join Html 5 Beta” linkini tıklayarak Html 5 deneyimine ortak olabilirsiniz.

Eğer dilerseniz aynı sayfadan işleminizi geri de alabilirsiniz.

HTML 5 ile artık video oynatmak için ActiveX elementleri ve Flash player gibi eklentilere gerek yok ! Sadece bir web tarayıcınızın olması yeterli.

Html 5’te artık desteklenmeyen Html elementleri :

<acronym>, <applet>, <basefont>, <big>, <center>, <dir>, <font>, <frame>, <frameset>, <noframes>, <s>, <strike>, <tt>, <u>, <xmp>

Html 5 ile Esnek Uygulamalar

Slaytlarınızı benim gibi slideshare vb. sitelerin eklentileri ile mi paylaşıyorsunuz? Artık hepsi bitti. Html 5 ile slaytlarınızı herhangi bir harici eklentiye veya uygulamaya ihtiyaç duymadan paylaşabilirsiniz.

Nasıl mı? http://apirocks.com/html5/html5.html#slide1 Slaytları ilerletmek için klavyenizde ki sağ yön ok tuşuna basmanız yeterli.

Çok Fazla <div> Etiketi ..

Üstte ki tablodan görebileceğiniz üzere 2002 yılından beri “tableless web design” yani “tablosuz web tasarımı” dönemini yaşıyoruz. <table> elementi yerini <div> elementine devr edeli tam 8 sene oluyor.

8 senedir sayfalarımızı nasıl dizayn ediyorduk peki? Genel olarak tasarlarsak aşağıdaki şekilde ki gibi ifade edebiliriz.

Tipik bir 2 sütunlu web sayfası tasarımı bu şekilde olacaktır. Gördüğünüz gibi çok fazla div elementi kullandık ve dahası sayfamızda yaratacağımız bir çok div elementi daha olacak. Html 5 üzerimizde ki yükü biraz hafifletiyor ve yeni getirdiği elementler sayesinde aşağıda ki kolay ön tasarımı yapıyoruz.

Kod halinde bakarsak ;

<section> elementi

Sayfaları bölümlere ayırmak ve bu bölümleri isimlendirmek ziyaretçiye sayfada ulaşmak istediği veriye daha kolay ulaşması açısından yardımcı olacaktır. Örneğin ziyaretçi kolayca bir makaleden diğerine “devam et” benzeri linklere ihtiyaç duymadan geçebilir. Sayfa tasarımcısı ise bir çok sayfa oluşturma derdinden kurtulacak ve <div>’ler arasında boğulmayacak.

<header> ve <footer> elementleri

Bu elementler sayesinde sayfaların başlık kısmı ve son kısımlaırnı kolayca işaretleyebiliriz.

<nav> elementi

<nav> elementi ile blogroll veya link kısmı şeklinde ki bölümlerinizi kolayca belirleyebilirsiniz.

<aside> elementi

<aside> elementi ile sidebar’larınızı kolayca belirtebilir, CSS ile tüm önce ki elementler gibi şekillendirebilirsiniz.

Tüm bu belirtme elementleri bizi karışık <div> elementlerinden kurtarıyor ve stil işlemlerimizde bize kolaylık sağlıyor.

<article> elementi

Bu element ile sayfamızda gireceğimiz content yani içerik kısmını kolayca belirtebilir, CSS ile şekillendirebiliriz.

<video> ve <audio> elementleri

Ses ve video içerikleri 56K modemleri çöpe attığımız günlerden beri hayatımızda oldukça fazla rol alıyor, facebook, youtube, dailymotion, last.fm gibi bir çok web uygulaması sayesinde internette geçen her saniyemizde yeni bir medya dosyası okuyoruz.

Html 4 ne yazık ki bu medya içeriklerini kendi içerisinde barındırmaktan acizdi. Bu yüzden web uygulamaları Flash, QuickTime, MediaPlayer gibi plug-in’ler sayesinde bu eksikliği gideriyordu.

Flash gibi plug-in’ler sayesinde yayıncılar kendi medya yürütme arayüzlerini şekillendirebiliyor, kullanıcıya farklı medya yürütme seçenekleri sunabiliyordu (farklı play-stop özellikleri, HD kalitesi, HQ-SQ kalite seçenekleri vb.

Yeni gelen <video> elementi ile tüm bunlar artık Html’in kendi özelliği haline geldi.

“poster” özelliği ile video başlamadan önce video ekranında görünecek resmi seçebilirsiniz. MPEG-4 gibi video formatları ise kendi “poster” gösterme özelliklerini içerilerinde barındırıyor.

Audio elementinin çalışma mantığı video elementiyle benzer.

Html 5’in video ve audio elementlerinin özellikler bunlarla da sınırlı değil, dilediğiniz video oynatma codec’lerini belirtme özgürlüğüne sahipsiniz.

Bu iki elementi detaylı bir biçimde öğrenmek için bu adresi ziyaret ediniz.

<input> elementine eklenen yeni özellikler

Html 5 bir çok input özelliğini de kendisiyle beraber getirdi.

  • tel
  • search
  • url
  • email
  • datetime
  • date
  • month
  • week
  • time
  • datetime-local
  • number
  • range
  • color

Html 4 ile Html 5 arasında ki farklar

Tüm farkları incelemek için bu adresi ziyaret etmenizi öneririm.

Microsoft Sysinternals AccessChk v.5.0

Öncelikle Sysinternals nedir kısaca bahsedeyim.

Mark Russinovich ve Bryce Cogswell adında 2 yazılımcı 1996 yılından 2006 yılına kadar yani 10 sene boyunca Microsoft Windows için çeşitli ufak sistem yazılımları hazırladılar. Bu yazılımlar oldukça pratik ve kullanışlıydı ve birçok kişi tarafından beklenenin üzerinde sevildi. Tüm bu gelişmelerden sonra Microsoft 2006 yılında Sysinternals‘i satın aldı.

Benim Sysinternals ile tanışmam ise sadece Windows üzerine geliştirilmiş, ufak, kurulum gerektirmeyen güvenlik pratiklerinde yardımcı programlar ararken oldu.

Kaldı ki benim sysinternals ile tanışmam seneler önceydi.. Bu grubun yazdığı yazılımlar ilgili 2 yazımda mevcut , bunlara “articles” bölümünden “IT Related” seçerek ulaşabilirsiniz.

AccessChk Nedir?

AccessChk ufak bir sistem yazılımıdır. Sistem yöneticilerinin işini kolaylaştırmak için kodlanmıştır. Sistemde ki kullanıcıların veya kullanıcı gruplarının hangi dizinlere, kayıt anahtarlarına (regedit), global nesnelere ve Windows servislerine erişim hakları olduğunu görmelerini sağlar.

AccessChk 5.0 sürümünü bu adresten indirebilirsiniz.

AccessChk kurulumsuz, executable bir programdır. Kullanmak için .exe dosyalarını çalıştırdığınız dizine taşımanız yeterlidir.

Bilgisayar:/SistemBirimi:/Windows şeklinde dizine taşıyın.

Komut istemi‘ni açıp, accesschk yazmanız programı çalıştırmak için yeterli.

Program çalıştığı zaman karşınıza aşağıda ki resimde gördüğünüz gibi program komutlarının listesi gelecek :

Kullanımı

accesschk [-s][-e][-u][-r][-w][-n][-v][[-a]|[-k]|[-p [-f] [-t]][-o [-t <object type>]][-c]|[-d]] [[-l [-i]]|[username]] <file, directory, registry key, process, service, object>

-a Bir Windows hesap yetkisi ismini belirtir. * karakterini bütün kullanıcı hesap yetkilerini kapsamasını istediğiniz zaman kullanın. Bir yetki ismi girdiğinizde sadece bu yetkiye sahip kullanıcı veya kullanıcı gruplarının listeleneceğini unutmayın.
-c SSdpsrv gibi herhangi bir Windows servisinin ismini belirtir.  Yıldız (*) karakterini kullanarak tüm servis isimlerini belirtebilir ve servis yöneticisinin de (scmanager) güvenlik yetkilerini sınayabilirsiniz.
-d Sadece işlem birimlerini veya üst düzey anahtarları belirtir.
-e Sadece net bir şekilde set-Integrity seviyelerini gösterir. (Sadece Windows Vista’da geçerli)
-f Kullanıcı grupları ve ayrıcalıklı gruplarırdan bilgi alan tüm işlermleri gösterir.
-i Tüm erişim kontrollerinin listesi ekrana dökülürken, ACE’den miras alınan nesnelerin gösterilmesini engeller.
-k Bir kayıt defteri satırının ismini belirtir. hklm\software
-l Tüm erişim kontrol listesini gösterir. -i ile ACE’den miras alınanların gösterilmesini engelleyebilirsiniz.
-n Sadece erişimin engelli olduğu nesneleri gösterir.
-o Nesne Yöneticisi isim uzayındaki ana dizin ismidir. (Default olarak root). -t ve -s kullanılabilir.
-p İşlem veya PID ismidir. cmd.exe gibi. Yıldız (*) karakteri ile tüm işlemleri kapsatabilirsiniz. -f ve -t kullanabilirsiniz. Bunlarında açıklamaları mevcut zaten.
-q Sembolleri görmezden gelir.
-r Sadece okuma iznine sahip dosyaları gösterir.
-s Recurse
-t Nesne tipi filtresidir.
-u Hataları engeller.
-v Verbose
-w Sadece yazma izni olunan nesneleri gösterir.

Örnekler

Aşağıda ki komut ile Windows\System32 içerisinde ki sistem dosyalarından hangilerine power userların erişebileceğini listeler.

accesschk “power users” c:\windows\system32

Bu komut ile hangi Windows servislerinin kullanıcı grup üyelerinde yazma izni olduğunu görebilirsiniz.

accesschk users -cw *

HKLM\CurrentUser altında ki hangi kayıt defteri anahtarlarının, belirtilen kullanıcıya göre erişim izni olmadığını gösterir.

accesschk -kns msdundar\mruss hklm\software

HKLM\Software anahtarının güvenlik yapılandırmasını gösterir.

accesschk -k hklm\software

Herkesin değiştirebileceği global yani evrensel nesneleri gösterir.

accesschk -wuo everyone \basednamedobjects

Örnek olarak HKLM\Software anahtarının güvenlik yapılandırmasının bir kısmına bakalım :

HKLM\software\Symantec anahtarına,

Users grubu R iznine yani READ (okuma) izniyle sahip,

Administrators grubu RW iznine yani Rewrite (yazma) izniyle sahip.

Default sistem kullanıcısı doğal olarak RW izniyle sahip.

Çeşitli örnekler ve denemeler ile keşfedilmesi kolay bir yazılım.

M.Serhat DÜNDAR