Feeds:
Posts
Comments

Archive for May, 2009

Can 3D be like real?

Hi all;

This article can be some of stupid. In fact, this artical is not my subject and i don’t know anything about 3d. I explain my sight. It can be true or false it is just a foresight.

Ok now we come back our high school age, remember the miror from the physics lessons. convex mirror, concave mirror, etc.. Very important suggestion about mirror,  a basic rule of the mirror is, it’s reflect in front of the objects. I thing, now switch on the lights on your mind.

If you approximate to the mirror your reflection is approximate to you, if you move away from the mirror your reflection is move away too.

Today , some films in Turkey’s cinemas are showing with 3d but they use a glass for show 3d. And it is not successful enough. They are not like 3d.

I thing, if we can use the reflection attribute of the mirror, we can simulate the images like a real.

Read Full Post »

Some Ubuntu Tips!!!

Hi all;

I want to give some tips about the ubuntu.

The first one is;

When you install the ubuntu in your computer, somethings could bored you. For example, when you shutdown the system, pc speaker could play too loudly. This could be a problem, if u reset your computer regulary. If you don’t want to hear this voice you should disable it. But how?

Open the console and write this;

sudo modprobe -r pcspkr

This’ll disable the soun of pc speaker, but it isn’t finish yet. This command run for only that session. If you want to do this for all sessions you should do these;

Open console and write these;

sudo kate /etc/profile i have kate word processor on my own system.

and write this command at the end of the lines;

sudo modprobe -r pcspkr

after this you could use your ubuntu peace of mind.

And the second;

You enjoy the watch film before sleep and you want shutdown the system when you give the time. This is too easy. You can use shutdown command.Ok but how can you use this;

Open the console;

$ sudo shutdown -h now For immediately

$ sudo shutdown -h 18:45 For shutdown at 06:45 PM

This two tips are enought for this article. See you at upcoming articles.

Read Full Post »

Merhaba sevgili okuyucular;

Bu yazımla birlikte bir karar verdim ve artık blogumda yeni makalelerimi İngilizce olarak yayınlayacağım. Türkiye ve diğer ülkelerden blogumu ziyaret eden bireyler için; ilerisi için düşündüğüm bazı fikirlerim var, o zamana kadar google tarafından sağlanan bir çeviri hizmeti olan http://translate.google.com adresini yazılarımı çevirmek için kullanabilirsiniz.Aklınıza takılan bir şey olursa sormaktan çekinmeyin lütfen.

Hi dear readers;

With this article i made a decision. From now on  i’ll publish my new article in English. For individuals who visit my blog from Turkey and the other nations; i have some idea for the future, until then a translation service provided by google http://translate.google.com adress that you can use to translate my articles.If something obsesses you, please don’t hasitate to ask.

Read Full Post »

Fantazi sqller!!!

Başlık normalden değişik bir başlık fakat bu başlığın nedenini soracak olursanız birazdan anlatacağım sql sorguları normalde yazdığımız sqllerden bir miktar farklı şöyleki;

Farz edelim 1 den 20 ye kadar sayıların olduğu bir sql sorgusuna ihtiyacımız oluğunu düşünelim. Bunun için değişik yollar izleyebiliriz, bunların en basiti bir tablo sorgularken rownum kullanarak 20 veya daha fazla kayıt olan tabloda 1’den 20’ye kadar sayılıarı listeleyebiliriz.

Örnek :

select rownum sayi from all_tables where rownum<=20;

Sistemde bulunan all_tables view’i ile 1 den 20 ye kadar sayıları almak için bir sorgu çektik. sonuç olarak bize sorguyu getiriyor. Fakat performans olarak düşünürsek bize maliyeti 264 gibi bir rakam olacaktır. Bunun yerine aşağıdaki sorguyu çektiğimizde elde ettiğimiz cost 2’dir. Arada ciddi bir fark mevcuttur. Bununla birlikte birkaç tablo joinlediğimiz zaman cost (yani maliyet) daha da artacaktır.

select rownum sayi from dual connect by rownum<=20;

Şimdi de dbms_random paketinden bahsedelim. Bu paket içinde belirli fonksiyon ve prosedurleri içeren bir pakettir. Kullanımı ile ilgili birkaç örnek verelim;

select dbms_random.value(1,100) from dual;

Şeklinde bir kullanım bize 1 ile 100 arasında bir değer verecektir. fakat bu değer ondalıklı bir değer olacaktır. bu nedenle direk tam sayı alabilmek için;

select trunc(dbms_random.value(1,100)) from dual;

şeklinde kullanabilirsiniz.

Birbaşka kullanım şeklide sıralama yaparken order by kısmında kullanılabilmesidir. Bunun için şu şekilde bir örnek yapabiliriz, güncel bir örnek verecek olursak herhafta çekilen sayısal loto gayet güzel ve ilke örnekle bir bütün teşkil edecektir. gelin bir göz atalım;

select * from (
select rownum sayi from dual connect by rownum<=49
order by dbms_random.value)
where rownum<=6;

Burdaki 1’den 49’a kadar sıralı bir sayı dizisi getiriyoruz.Daha sonra order by dbms_random.value fonksiyonu ile bu sayıları rasgele bir şekilde sıralıyoruz ve içinden ilk 6 tanesini alıyoruz. bir örnek daha verecek olursak 4 * 4’lük rasgele sayılardan oluşan bir matris dizisi yaratmak istediğimizi düşünelim, bunun için;

SELECT TRUNC(dbms_random.value(1,100)) sayi1,
TRUNC(dbms_random.value(1,100)) sayi2,
TRUNC(dbms_random.value(1,100)) sayi3,
TRUNC(dbms_random.value(1,100)) sayi4
FROM dual connect by rownum<=4;

yukarıdaki sorgu size 1’den 100’e kadar rasgele sayılardan oluşan 4*4’lük bir matris dizisi verecektir.

Bana göre bu sql sorguları çok fazla kullanım alanları olmadığı için fantazi sql sorgularıdır, fakat öyle yerler gelir ki bu sqller sizin için hayat kurtarıcı olabilir, elinizde binlerce kayıt var ve deneme yapmak için rasgele değerler atmanız gerekiyor diyelim, veya maliyetlerle ilgili bir düzenleme yapacaksınız ve bir tabloyu milyonlarca kayıtla doldurmanız gerekiyor veya en extrem durum 1’den belli bir sayıya kadar sadece sayı ihtiyacınız oldu diyelim, örnekler daha da arttırılabilir.

Başka bir yazıda daha görüşmek üzere, hoşçakalın…

Read Full Post »

Pl/Sql Xml Ayrıştırma…

Farz edelim ki elinizde aşağıdaki şekilde bir xml dosyası var;

<?xml version=”1.0″?>
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”&gt;
<xsl:template match=”/”>
<html>
<body>
<h2>My CD Collection</h2>
<table border=”1″>
<tr>
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select=”catalog/cd”>
<tr>
<td><xsl:value-of select=”title”/></td>
<td><xsl:value-of select=”artist”/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

örnek xml üzerinde “My CD Collections” kısmını almak istediğimizi düşünürsek bunun için html->body->h2 şeklinde bir yol izlememiz gerekecektir. Fakat sadece bu yolu izlememiz yetmeyecek çünkü burda <xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”&gt; kısmında bir namespace verilmiş. Yani pl/sql’de bir sorgu hazırlarken bunu göz önünde bulundurmamız gerekecek. Gelin örneğe bir göz atalım;

with t as (
select xmltype(‘<?xml version=”1.0″?>
<xsl:stylesheet version=”1.0″
xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”&gt;
<xsl:template match=”/”>
<html>
<body>
<h2>My CD Collection</h2>
<table border=”1″>
<tr>
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select=”catalog/cd”>
<tr>
<td><xsl:value-of select=”title”/></td>
<td><xsl:value-of select=”artist”/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>’) x from dual)
select extractValue(x, ‘/xsl:stylesheet /xsl:template/html/body/h2/text()’,
‘xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”&#8216;) deger
from t
;

Bu sorgudaki ilk kısımda aslında bir xml tipi cast ediliyor, esas görev 2. sorguda extractValue komutu xml içindeki alanları ayırmamızı sağlayan bir komuttur.‘xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”&#8216; kısmında namespace’imizi extractValue komutuna tanımlıyoruz, ve ardından xml textimizde bulunan alanlarda sırası ile ilerliyoruz, xsl:stylesheet->xsl:template->html->body->h2->text() en son kısımdaki text() komutu XPATH’de içinde bulunduğumuz node’a ait text’i verecektir bize. Bu şekilde basitçe xml parse işlemi gerçekleştirebiliriz.

Sevgilerle…

Read Full Post »