In this article, I'll re-write a simplified version of the very famous game "Snake" in JAVA programming language. You can easily find dozens of similar source code by googling around, however, a majority of them are far from being simple that the game requires, containing complex scripts and hard to read and to understand. Especially, the examples in JAVA are written by unskilled programmers who are anaware of what Object Oriented Programming is ... (more)
Yazılım Yazalım
Bu blog'da, JAVA ve C# programlama dilleri ağırlıklı olmak üzere, yazılım geliştirme teknikleri hakkında bilgiler paylaşılmaktadır.
1 Şubat 2014 Cumartesi
1 Aralık 2012 Cumartesi
C# İpuçları - #1 : İsim Uzayı Niteleyici
Yazılım geliştirme sürecinde bazen isim uzaylarının çakışması durumu ile karşılaşırız. Kullanmak istediğimiz sınıfın başka bir isim uzayındaki sınıf ile aynı ada sahip olması durumunda, derleyici tarafından belirsizlik olduğuna dair uyarı alırız. Örneğin :
20 Nisan 2012 Cuma
JAVA ile Yılan Oyunu Yapımı (Açıklamalı Kaynak Kodlar)
Bu yazımda, JAVA dilini kullanarak meşhur yılan oyununun basit bir
versiyonunu yeniden yazacağım. Aslında internette bir araştırma yaparak, buna
benzer onlarca kaynak kod bulabilirsiniz. Ancak bunların bir çoğu, oyunun gerektirdiği
basitlikten çok uzak, karmaşık kodlar içeren, okuması ve anlaması zor şekilde
hazırlanmış. Özellikle JAVA ile yazılan örnekler ise sanki nesneye yönelik
programlama (Object Oriented Programming) mantığından bihabercesine, kodların
alt alta birleştirilmesinden ibaret olacak şekilde yazılmışlar… (Devam)
Etiketler:
JAVA,
Oyun Programlama
5 Nisan 2012 Perşembe
JAVA Bytecode Ayrıntılı İnceleme - 2 (String Ekleme / Birleştirme / Concatenation)
JAVA Bytecode Nasıl Elde Edilir? başlıklı ve JAVA Bytecode Ayrıntılı İnceleme başlıklı önceki yazılarımda, hazırlamış olduğum ByteCodeTest isimli sınıfın JAVA bytecode'unu nasıl elde edeceğimizi ve JAVA kodlarına karşılık gelen JAVA bytecode'larını incelemiştim.
Şimdi ise ByteCodeTest.java sınıfına bir method daha ekleyip string ekleme / birleştirme (string concatenation) işlemini JAVA bytecode'ları yardımıyla inceleyeceğim ve basit ama önemli bir konudan bahsedeceğim... (Devam)
Şimdi ise ByteCodeTest.java sınıfına bir method daha ekleyip string ekleme / birleştirme (string concatenation) işlemini JAVA bytecode'ları yardımıyla inceleyeceğim ve basit ama önemli bir konudan bahsedeceğim... (Devam)
Etiketler:
JAVA,
JAVA bytecode
JAVA Bytecode Ayrıntılı İnceleme
JAVA Bytecode Nasıl Elde Edilir? başlıklı önceki yazımda, hazırlamış olduğum ByteCodeTest isimli sınıfın JAVA bytecode'unu nasıl elde edeceğimizi açıklamıştım. Bu yazımda ise, yazmış olduğum JAVA kodlarını ve karşılık gelen JAVA bytecode'larını inceleyeceğim.
Bu amaçla ilk önce ByteCodeTest.java sınıfını aynen kullanarak karşılaştırma yapacağım, daha sonra ise bu sınıfa bir method daha ekleyip string ekleme / birleştirme (string concatenation) işlemini JAVA bytecode'ları yardımıyla inceleyeceğim ve basit ama önemli bir konudan bahsedeceğim... (Devam)
Bu amaçla ilk önce ByteCodeTest.java sınıfını aynen kullanarak karşılaştırma yapacağım, daha sonra ise bu sınıfa bir method daha ekleyip string ekleme / birleştirme (string concatenation) işlemini JAVA bytecode'ları yardımıyla inceleyeceğim ve basit ama önemli bir konudan bahsedeceğim... (Devam)
Etiketler:
JAVA,
JAVA bytecode
JAVA Bytecode Nasıl Elde Edilir?
JAVA bytecode hakkında bir önceki yazımda yaptığımız girizgahtan sonra gelelim bu bytecode'u nasıl elde edeceğimize.
Bunun için ihtiyacımız olan şeyler herhangi bir konsol penceresi (Windows Command Prompt, Unix-Solaris Console vb.) ve sistemimizde kurulu olan JDK (JAVA Development Kit). Yapmamız gereken ise JDK'nın \bin klasörüne gidip javap dosyasını çalıştırmak... (Devam)
Bunun için ihtiyacımız olan şeyler herhangi bir konsol penceresi (Windows Command Prompt, Unix-Solaris Console vb.) ve sistemimizde kurulu olan JDK (JAVA Development Kit). Yapmamız gereken ise JDK'nın \bin klasörüne gidip javap dosyasını çalıştırmak... (Devam)
JAVA Bytecode nedir?
Bir byte'ın alabileceği 256 farklı değer olduğundan, 256 farklı komut vardır. Ancak bunlardan 51 tanesi rezerve edilmiş ve ihtiyaç duyulduğunda kullanılmak üzere boş bırakılmıştır... (Devam)
30 Nisan 2010 Cuma
Run Length Encoding (RLE) - Bölüm-1
Run Length Encoding ya da burada kullanacağımız kısa adıyla RLE, oldukça sık başvurulan, en basit veri sıkıştırma yöntemlerinden birisidir.
Kayıpsız veri sıkıştırma tekniğine dayanan bu yöntemde, birbirini tekrarlayan uzun sembol dizileri, bu sembolün bir örneği ve sembolün kaç kez tekrarlandığı yan yana yazılarak sıkıştırma yapılması amaçlanmıştır. Şöyle ki; bir sembol dizisi, 'L' tane 'S' sembolünün tekrarlanmasından oluşuyor ise, bu diziyi kısaca 'LS' şeklinde yazmak yeterli olacaktır... (Devam)
Kayıpsız veri sıkıştırma tekniğine dayanan bu yöntemde, birbirini tekrarlayan uzun sembol dizileri, bu sembolün bir örneği ve sembolün kaç kez tekrarlandığı yan yana yazılarak sıkıştırma yapılması amaçlanmıştır. Şöyle ki; bir sembol dizisi, 'L' tane 'S' sembolünün tekrarlanmasından oluşuyor ise, bu diziyi kısaca 'LS' şeklinde yazmak yeterli olacaktır... (Devam)
Etiketler:
C#,
Run Length Encoding,
Veri sıkıştırma
Neler Gelecek?
Bir süredir ilgi duyduğum veri sıkıştırma teknikleri konusunu ele alacağım bir yazıyı kısa bir süre içerisinde hazırlayıp burada paylaşmayı planlıyorum.
Bu teknikler arasında ilk bahsedeceğim, Run-Length-Encoding (RLE) tekniği olacak. Bu kolay tekniğin temellerinden, kullanım alanlarından, getirilerinden ve götürülerinden bahsedecek, C# kodlarıyla konuyu programa dökmeye çalışacağım.
Bu konuda İngilizce bir kaynak olarak http://en.wikipedia.org/wiki/Run-length_encoding adresini kullanabilirsiniz.
Bu teknikler arasında ilk bahsedeceğim, Run-Length-Encoding (RLE) tekniği olacak. Bu kolay tekniğin temellerinden, kullanım alanlarından, getirilerinden ve götürülerinden bahsedecek, C# kodlarıyla konuyu programa dökmeye çalışacağım.
Bu konuda İngilizce bir kaynak olarak http://en.wikipedia.org/wiki/Run-length_encoding adresini kullanabilirsiniz.
Etiketler:
C#,
Run Length Encoding,
Veri sıkıştırma
Blogger & Wordpress
Bir blog sayfası açmayı düşünmeye başladığımda, aklıma takılan ilk konulardan birisi, blog'umun Wordpress'te mi yoksa Blogger'da mı yayınlamam gerektiği konusuydu.
Hemen kısa bir araştırma yaptım ve Blogger'da karar kıldım. Bunun sebeplerinden en belirgin olanı, Wordpress'in blog'uma bazen de olsa reklam koyabileceğini söylemesiydi. Bunun yanında bazı özellikler için de ücret istemesiydi. Blogger ise tam tersine her şeyin ücretsiz olduğunu, istersem kendi reklamlarımı yayınlayabileceğimi söylüyordu.
Diğer taraftan, Wordpress'in görsellik konusunda daha gelişkin olduğunu, daha fazla tema seçeneği sunduğunu söylemeliyim. Blogger bu konuda bence sınıfta kalıyor. Ayrıca Wordpress'in sitenize kurabileceğiniz bir CMS olarak da kullanılabilmesi büyük bir artı. Ancak benim böyle bir planım şimdilik olmadığından, karar vermemde bu özelliğinin de etkisi olmadı.
Bakalım gelecek neler getirecek ve benim bu kararımı onaylayacak mı?
Hemen kısa bir araştırma yaptım ve Blogger'da karar kıldım. Bunun sebeplerinden en belirgin olanı, Wordpress'in blog'uma bazen de olsa reklam koyabileceğini söylemesiydi. Bunun yanında bazı özellikler için de ücret istemesiydi. Blogger ise tam tersine her şeyin ücretsiz olduğunu, istersem kendi reklamlarımı yayınlayabileceğimi söylüyordu.
Diğer taraftan, Wordpress'in görsellik konusunda daha gelişkin olduğunu, daha fazla tema seçeneği sunduğunu söylemeliyim. Blogger bu konuda bence sınıfta kalıyor. Ayrıca Wordpress'in sitenize kurabileceğiniz bir CMS olarak da kullanılabilmesi büyük bir artı. Ancak benim böyle bir planım şimdilik olmadığından, karar vermemde bu özelliğinin de etkisi olmadı.
Bakalım gelecek neler getirecek ve benim bu kararımı onaylayacak mı?
Kaydol:
Kayıtlar (Atom)