7 Ağustos 2015 Cuma

Aşağıda işimizi kolaylaştıracak yararlı web siteler var
1- https://app.prntscr.com/tr/download.html - ekran alıntısı aracı linux, mac & win için. tarayıcılar için eklentileri de mevcut.
2- https://dictation.io/ - sesli mesaj, not yazma servisi.
3- http://zerodollarmovies.com/ - youtube'da uzun süreli film, video bulmanızı sağlar.
4- http://www.screenr.com/ - online olarak ekran videosu çekmenize yardım eder.
5- http://goo.gl/ - google url kısaltma servisi. detaylı raporlama sunar.
6- http://unfurlr.com/ - gezdiğiniz web sitesinin içinde zararlı link olup olmadığına bakar.
7- http://www.qlock.com/ - google map kullanarak bir şehrin yerel saati bulabilir.
8- http://copypastecharacter.com/ - klavyede olmayan özel karakterler bulun, buluşturun.
9- http://my.lovelycharts.com/ - akış şemaları, ağ diyagramları oluşturmanızı sağlar.
10- http://www.iconfinder.com/ - en iyi kalitedeki ikonları bulun, kullanın. faydalı eser.
11- http://www.office.com/- office belgeleri için hazır şablonlar bulmaya ne dersiniz? işte orası burası.
12- http://www.followupthen.com/ - kendinize ileri tarihli bir e-posta gönderin.
13- http://virusscan.jotti.org/en - şüpheli dosya veya e-posta eki tarayın.
14- http://wolframalpha.com/ - en doğru cevapları veren arama motoru. apple tarafından da destekleniyor.
15- http://www.printwhatyoulike.com/ - web sayfalarını kaydedin. mobil cihazınızda okuyun. sözlük yazarları arıyor böyle servisleri.
16- http://ctrlq.org/rss rss beslemeleri bulmak için arama motoru.
17- http://e.ggtimer.com/ - unutuyor musunuz? o halde bir de bunu deneyin.
18- http://www.pdfescape.com/ - pdf editlemek için ne yapması gerektiğini bilmeyenlere. online olarak edit yapar. süper!
19- http://scr.im/ - e-posta adresinizi online olarak paylaşanlar için büyük kolaylık. spam tehlikesi yok.
20- http://new.myfonts.com/whatthefont/ - görseldeki fontun ne olduğunu bilmenize yardımcı olur. yükleyin, bulun.
21- http://www.livestream.com/ - canlı yayın, paylaşın, izlenin. gerçi artık twitter periscope var.
22- http://iwantmyname.com/ - domain mi alacaksınız? hangi uzantıların boş olduğunu merak edenlere özel. tlds domain arama motoru.
23- http://www.homestyler.com/ - evinizin içini yeniden mi tasarlamak istiyorsunuz. size yardımcı olacaktır. test edildi.
24- http://hundredzeros.com/ - ücretsiz kindle kitapları okumak isteyenler için faydalı servis.
25- http://www.flightstats.com/ - uçakların bir harita üzerinden nereye uçtuğunu izleyin.
26- http://www.polishmywriting.com/ - gramer problemi olanlara yardımcı olur. ingilizcenize katkı yapar.
27- http://marker.to/ - sitelerde hoşunuza giden cümleleri sarıya boyayın ve paylaşın.
28- http://typewith.me/ - aynı dosya üzerinden birden fazla kişiyle çalışmanın keyfi.
29- http://whichdateworks.com/ - grup planları oluşturun ve kimse ne yapacağınızı unutmasın. basit ve güzel.
30- http://everytimezone.com/ - adından da anlaşılacağı üzere dünya saatlerini öğrenmenizi sağlar.
31- http://gtmetrix.com/ - web geliştiricileri için çok özel servis. sitenizdeki sorunları bulun ve düzeltin.
32- https://www.noteflight.com/ - tarayıcıda müzik notasyonu yapmak isteyenlere gelsin.
33- https://imo.im/ - bir çok chat servisi tek bir noktada.
34- http://kleki.com/ - online basit photoshop.
35- http://www.similarsites.com/ - benzer siteleri bulmak isteyenlere özel servis.
36- http://www.wordle.net/ - görsel etiket şovlar yapmaya ne dersiniz? java gerektirir.
37- http://kuler.adobe.com/ - en çok kullanılan renkler neler? ya da bir rengin rgb kodu nedir? hepsine cevap verir.
38- http://lmgtfy.com/ - bir google aramasını başkaları adına yapın ve paylaşın.
39- http://www.midomi.com/ - duyduğunuz ama adını bilmediğiniz şarkıları bulmaya ne dersiniz?
40- http://ge.tt/ - birine dosya göndermenin en hızlı yolu! gerçekten mükemmel.
41- http://www.privnote.com/ - daha sonra okumak için notlar yazın. siteyi yer imlerine ekleyin.
42- http://boxoh.com/ - kargo takip numarasını yazın ve kargonun nerede olduğunu öğrenin. çin'de işe yarıyor.
43- http://downforeveryoneorjustme.com/ - web sitelerinin durumunu öğrenin. kapanmış mı? açık mı? acaba??
44- http://www.whoishostingthis.com/ - hangi site hangi sunucuda barınıyor bilmek isteyenlere.
45- http://disposablewebpage.com/ - geçici olarak web sayfası yapmak isteyenlere özel.
46- https://www.aviary.com/ - adobe'nin fotoğraf düzenleme servisi. ücretsiz hemde.
47- http://www.urbandictionary.com/ - slogan bulamayanlara yardımcı olur. ilham verir.
48- http://www.sxc.hu/index.html - ücretsiz ve yüksek kalitede stok fotoğraflar edinin.
49- http://scribblemaps.com/ - google'da kolayca harita oluşturmanıza yardımcı olacak süper servis.
50- http://www.alertful.com/ - önemli olayları hatırlatan gerekli bir kaynak.
51- http://www.picmonkey.com/ - çevrimiçi resim editörü. deneyin ve görün.
52- http://www.sumopaint.com/app/ - katman katman görsellerle harikalar yaratmak isteyenlere.
53- http://studio.stupeflix.com/ - güzel anılarınızı bir video şovla renklendirin. animoto gibi.
54- http://safeweb.norton.com/ - web sayfalarını güvenle gezin. online internet security.
55- https://teuxdeux.com/ - hangi günde ne yapacağınızı planlayın. to-do listler yapın ki, hayat düzene girsin.
56- https://minutes.io/new/meeting - toplantıdasınız ve yanınızda bir kağıt yok mu? o halde bu siteye girin ve notlarınızı alın.
57- https://www.youtube.com/leanback - youtube'a tv ekranından bakmaya ne dersiniz?
58- http://pancake.io/ - dropbox hesabınızı kullanarak basit web sayfaları yapın. wix gibi.
59- http://otixo.com/ - cloud hesaplarınızı tek bir noktadan yönetmenizi sağlar. mükemmel bir araç.
60- https://ifttt.com/ - tek bir noktadan emir verin. mobil cihazlarınızı, sosyal hesaplarınızı, planlarınızı yaratın. internet hayatınızı kolaya çevirmenin en basit yolu.
61- http://add0n.com/ - tarayıcılar için mükemmel eklentiler. youtube'u en üst kalitede ziyaret edin, outlook, gmail, facebook, twitter, google+, icloud, için bildirimler alın, formları otomatik doludurun.
62- https://lastpass.com/ - artık şifreleri aklınızda tutmaya son. yaklaşık 7 yıldır premimum olarak kullandığım bu servisten herkes faydalanmalı. üst düzey koruma kalkanı ile şifrelerinizi koruyor ve saklıyor. masaüstü, (linux, mac, windows), mobil uygulamaları, tarayıcı eklentileri de mevcut.

www.yazilimsozluk.com dan alınmıştır.

eatj nedir

EATJ; J2EE destekleyen faydalı bir webhosting tir. 11 gün trial süresi vardır. Uygulamalarınızı kısa süreliğine test edebilirsiniz. Deploy ettiğiniz war dosyasının isminin ROOT.war olmasına dikkat edin.eatj help adresindeki ROOT.war ı indirip kendi war ınızı bunun gibi yaparsanız problem yaşamazsınız.

6 Ağustos 2015 Perşembe

Apache Cassandra nedir


Apache tarafından geliştirilen açık kaynaklı, yüksek ölçeklenebilirliğe sahip ve yüksek performanslı NoSQL veritabanı mimarisi yapısında olan dağıtık bir veritabanı sistemidir. İlk olarak Amazon’un Dynamo ve Google’ın Bigtable veri tabanları temel alınarak Facebook tarafından geliştirilmiştir. Facebook 2009 da Cassandra’yı açık kaynak olarak açıp Apache kuruluşuna devretmiştir. Kapasitesi oldukça yüksek olan Cassandra petabaytlarca veriyi tutabilir. Çoklu veri merkezlerinde ya da bulut ortamında bulunan yapısal veya yapısal olmayan verileri yönetmek için oldukça iyi bir sistemdir. Esnek, dinamik ve hızlı cevap süresine sahiptir. Yüzde seksenlere varan veri sıkıştırma (Google’ın Snappy algoritması ile) yeteneğine sahiptir. Güçlü memory cache yazılımlarına (memcache ...) olan ihtiyacı ortadan kaldırır. SQL kullanımına oldukça benzeyen ve öğrenilmesi kolay olan CQL dili ile sorgulama yapar. Platform ve dil desteği vardır. Cassandra’yı çalıştırmak için özel olarak tasarlanmış yazılım ve donanımlara ihtiyaç yoktur. Kullanım oranı yüksek olan Cassandra CERN, Comcast, eBay, GitHub, GoDaddy,Hulu, Instagram, Intuit, Netflix, Reddit ve daha 1500 den fazla kurum tarafından kullanılmaktadır. Cassandra’nın sağladığı kolaylıklar ve faydalar Elastik ölçeklenebilirlik (Elastic scalability) : İhtiyaç duyulduğu herhangi bir zamanda kapasiteyi kolayca artırmaya izin verir. Sürekli aktif (Always on architecture) : Geleneksel master/slave RDBMS ya da NoSQL çözümleri gibi esas bileşendeki bir hatadan (single point of failure ) dolayı sistemin çökmesi söz konusu değildir. Çünkü böyle bir mimarisi yoktur. Sürekli kullanılabilirlik esasına dayanır ve asla uygulamaların çökmesini göze almaz. Doğrusal ölçekli hızlı performans (Fast linear-scale performance) : Doğrusal ölçeklenebilirlik yapısı sayesinde cevap süresi saniyenin altındadır. Cevap süresini beklenen süre içinde tutmak için sonuçları iki nodetan, dört nodetan ya da bu şekilde mümkün olan nodelardan elde eder. Esnek veri depolama (Flexible data storage) : Tüm veri formatlarını (yapısal, yarı-yapısal, yapısal olmayan) kolayca barındırır. Günümüzdeki modern uygulamalar ile çalışır. Aynı zamanda dinamik olarak verinin ihtiyaç duyduğu yapısal değişiklikleri yaparak barındırır. Kolay veri dağıtımı (Easy data distribution) : Verinin ihtiyaç duyulduğu kadar çoklu veri merkezlerine, bulut ortamlarına ya da başka ortamlara dağıtılması ve kopyalanması için maksimum esneklik sağlar. Herhangi bir node üzerinde yapılan okuma ve yazma işlemindeki değişiklikler otomatik olarak cluster içindeki tüm nodelara yansıtılır. Operasyonel basitlik (Operational simplicity): Cluster içindeki tüm nodelar aynıdır. Karmaşık bir konfigurasyon yapısı yoktur. Yönetim işlemleri oldukça basitleştirilmiştir. Transaction desteği (Transaction support) : Cassandra transaction içinde “AID” (atomicity, isolated, durability) özelliklerini garanti eder. Tutarlılık ise ayarlanabilir. Cassandra Mimarisi Cassandra dağıtık veritabanı mimarisi üzerine kurulmuştur. Bir cluster ve bu clusterı oluştruan bir veya daha fazla nodelardan oluşur. Cluster birbirine bağlı sunuculardan oluşur. node ise bir veritabanı sunucusudur. Dolayısıyla veritabanı birden fazla sunucuda saklanır. Nodelarda saklanan verilerin kopyası başka nodelarda saklanabilmektedir. Tüm nodeların kopyasının olması zorunluluğu yoktur. Cassandra peer-to-peer dağıtık mimariye sahiptir. Bu da çok daha iyi, kurulumu ve bakımı kolay bir yapı oluşturur. Cassandra da tüm nodelar aynıdır. Bir master node konsepti yoktur. Tüm nodelar birbirleriyle iletişim halindedir ve iletişim için gossip protokolunu kullanmaktadır. Cassandra’nın yüksek ölçeklenebilir yapısı, petabaylarca veri saklanmasına ve saniyede binlerce kullanıcı operasyonlarının gerçekleştirilmesine olanak sağlar. İsteğe yönelik sürekli kullanılabilirlik (offer continuous availability) mantığında çalışır. Cassandra doğrusal ölçeklenebilirliğe sahiptir. Örneğin iki node ile saniyede 100.000 işlem gerçekleştirirken node artırılğında işlem kapasitesi de artmaktadır. Veri Dağıtma ve Kopyalama Cassandra veriyi otomotaik olarak cluster ya da “ring” içindeki nodelara dağıtır. Developerların ya da Cassandra adminlerinin cluster içinde veriyi dağıtmak için herhangi bir geliştirme yapmasına gerek yoktur. Veri transparan parçalar halinde nodelara ya rastgele seçilerek ya da sıralı bir şekilde gönderilir. Varsayılan olarak rasgele seçilir. Cassandra aynı zamanda bir Cassandra “ring” i içerisinde fazladan kopya tutmak için gömülü ve özelleştirileilir kopyalama sağlar. Bunun anlamı bir node down olduğunda bu nodeun verileri cluster içindeki diğer makinelerde durmaya devam eder. RDBMS ve NoSQL veritabanlarının içindeki karmaşık koplayalama düzenlerinin aksine Cassandra’da konfigurasyon son derece kolaydır. Developer ya da admin basitçe ne kadar veri kopyası istediğini belirtir ve Cassandra gerisini halleder. Cassandra da kopyalama seçenekleri aynı zamanda verinin otomatik olarak farklı fiziksel yerlerde, çoklu-data merkezlerinde ve bulut platformların saklanmasına izin verir. Çoklu-Veri Merkezi ve Bulut Desteği Cassandra çoklu-data merkezlerinde ve bulut platformlarından veri kopyalama işlemlerinde önde gelen ve başarısı kabul görmüş bir NoSQL veritabanıdır. Bir developer ya da admin çoklu-data merkezlerini ya da melez bulut sistemlerini içeren bir cluster oluşturabilir. Yeni bir veritabanı (keyspace) oluştururken ya da çağırırken kullanıcı basit bir şekilde tek komutla hangi veri merkezlerinden ya da bulut ortamından veriyi çekeceğini belirtir. bundan sonrasını Cassandra otomatik olarak ilerletir ve bakımını kendi halleder. Veri Okuma ve Yazma Cassandra veri okuma ve yazma işlemleri sırasında “location independent” mimarisini kullanır. Bunun anlamı cluster içindeki bir node okunurken ya da yazılırken herhangi bir yere yaz/oku dizaynı(read/write-anywhere design) aktif edilir. Cassandra’ya veri yazılırken, tüm verinin dayanıklılığını ve güvenliğini sağlamak için veri ilk olarak bir commit loga yazılır. Veri in-memory olarak memtable adı verilen yapıda saklanır. Memtable dolduğunda veri diske flush edilerek sstable (sorted strings table) yapısında saklanır. Eğer belirli bir veri kümesinden sorumlu olan bir veya daha fazla node down olursa, veri basitçe başka bir nodea geçici olarak yazılır. Bu sorumlu nodelar ilk kez tekrar geri geldiğinde otomatik olarak yönettikleri veriyi back up larının olduğu nodelardan alıp veriyi güncellerler. Böylece veri kaybı ortadan kalkmış olur. Veri okuma cluster içinde paralel olarak yapılır. Kullanıcı veriyi herhangi bir node tan ister. Kullanıcın sorgusu gerekli veriye sahip nodelardan veri alarak cevaplandırılır. Eğer istenen veriye sahip node down olursa Cassandra verinin kopyasına sahip olan diğer nodelardan veriyi çeker. Cassandra RDBMS (ilişkisel veri tabanları) lerde olduğu gibi işlemsel (transactinal) bir veritabanı değildir. Biraz daha farklı bir transaction yapısı vardır. RDBMS ler ACID (Atomicity, Consistency, Isolation, Durability) transaction sağlarken Cassandra AID (Atomicity, Isolation, Durability) transaction sağlar. Cassandra’da bütünlük tutarlılığına ait bir konsept ya da foreign key yoktur. Veri Tutarlılığı Cassandra veritabanı clusterı içinde ayarlanabilir veri tutarlılığı sunar. Bunun anlamı bir developer ya da admin veriyi nasıl istediğine(ne kadar güçlü ya da nihai olsun) karar verir. Örneğin tüm node lardan cevap alarak veriyi oluştur ya da bir veya bir kaç node tan cevap aldıktan sonra geri kalanları güncelle gibi bir kaç farklı seçenek kullanılabilir. tek ya da çoklu-veri merkezlerini de destekler. Ayrıca tutarlılık işlem bazlı olarak ayarlanabilir. Yani bir developer ya da admin her bir işlem (SELECT, INSERT, UPDATE ve DELETE) sırasında tutarlılık seçeneklerini ayarlayabilir. adresinden alınmıştır.

RabbitMQ nedir?

RabbitMQ (Open Source EnterPrise Messaging) Anlık yapılması gerekmeyen işlerimizi belli bir kuyruk yapısına sokarak async olarak yapmamızı sağlayan bir uygulamadır.

https://www.rabbitmq.com/download.html adresini kullanarak üstünde çalıştığımız ortama indirebilir ve tutorial lara bakarak işlerimizi görebiliriz. Birçok dile entegre edilebilir durumdadır.

10 Ekim 2014 Cuma

ITextSharp türkçe karakter problemi

ITextSharp Türkçe Karakter Sorunu

ITextSharp ile pdf çıktısı oluştururken Türkçe karakterler görünmeyebiliyor. Bu sorunu aşmak için yeni bir font tanımlayıp,

iTextSharp.text.pdf.BaseFont STF_Helvetica_Turkish = iTextSharp.text.pdf.BaseFont.CreateFont("Helvetica", "CP1254", iTextSharp.text.pdf.BaseFont.NOT_EMBEDDED);

iTextSharp.text.Font fontNormal = new iTextSharp.text.Font(STF_Helvetica_Turkish, 12, iTextSharp.text.Font.NORMAL); 



ekleyeceğin metinlerde de parametre olarak bu fontu eklemen gerekiyor. Örnek olarak pdftable adında bir tabloya yeni bir hücre eklerken;

pdftable.AddCell(new Phrase("ğüşıöç ĞÜŞİÖÇ" , fontNormal)); 
gibi.

http://www.canerkara.com/ dan alınmıştır.

20 Mart 2014 Perşembe

ms sql coklu sonuc donduren subquery i concat etmek

SELECT
.
.
.
(SELECT
Stuff(    (SELECT
N', ' + YTable.YArea2
FROM
YTable   
WHERE
XTable.Xarea = YTable.YArea    FOR XML PATH(''),TYPE)    .value('text()[1]',
'nvarchar(max)'),
1,
2,
N''))      AS Area,
FROM XTable
WHERE
.
.
.
.



ayrıca mysql de de group_concat adlı fonksiyon bu işlemi yapabilir.

20 Kasım 2013 Çarşamba

Sayıyı yazıya dönüştürme.

        var SayiYazdirma = function(yazdirilacakSayi){
            this.desteklenebilecekSayiBasamagi = 4;
            this.yazdirilacakSayi = parseInt(yazdirilacakSayi);
            this.sayininRakamlari = new Array();
            this.mevcutSayiBasamakSayisi = 0;
            this.enBuyukBolen = 0;
            this.sayininYaziHali = '';
            this.sayiSistemiHesapla = function(){
                if(this.desteklenebilecekSayiBasamagi == 1 || this.yazdirilacakSayi<10){
                    this.enBuyukBolen = 1;
                    this.mevcutSayiBasamakSayisi = 1;
                    return;
                }
                var bolen = 1;
                for(var i=0;i<this.desteklenebilecekSayiBasamagi;i++){
                    bolen *= 10;
                    if(Math.floor(this.yazdirilacakSayi)/bolen<10){
                        this.enBuyukBolen = bolen;
                        this.mevcutSayiBasamakSayisi = i+2;
                        return;
                    }
                }
                this.enBuyukBolen = bolen/10;
                this.mevcutSayiBasamakSayisi =  this.desteklenebilecekSayiBasamagi;
            };
            this.sayiSistemiHesapla();
            this.rakamlarinaAyir = function(){
                if(this.mevcutSayiBasamakSayisi == 1){
                    this.sayininRakamlari[0] = yazdirilacakSayi;
                }
                var bolen = this.enBuyukBolen;
                var sayiTemp = this.yazdirilacakSayi;
                for(var i=0;i<this.mevcutSayiBasamakSayisi;i++){
                    if(i==this.mevcutSayiBasamakSayisi-1){
                        this.sayininRakamlari[i] = sayiTemp;
                        break;
                    }
                    this.sayininRakamlari[i] = Math.floor(sayiTemp/bolen);
                    if(this.sayininRakamlari[i]!=0){
                        sayiTemp = sayiTemp - (this.sayininRakamlari[i]* bolen);
                    }
                    bolen = bolen/10;
                }
            };
            this.rakamlarinaAyir();

            this.rakamBasamakYaziKarsiligi = function(rakam,rakamIndexi){

                var deger = '';
                switch (rakam) {
                    case 1:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "bir";
                                break;
                            case 2:
                                deger = "on"
                                break;
                            case 3:
                                deger = "yuz"
                                break;
                            case 4:
                                deger = "bin"
                                break;
                        }
                        break;
                    case 2:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "iki";
                                break;
                            case 2:
                                deger = "yirmi"
                                break;
                            case 3:
                                deger = "ikiyüz"
                                break;
                            case 4:
                                deger = "ikibin"
                                break;
                        }
                        break;
                    case 3:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "üç";
                                break;
                            case 2:
                                deger = "otuz"
                                break;
                            case 3:
                                deger = "üçyüz"
                                break;
                            case 4:
                                deger = "üçbin"
                                break;
                        }
                        break;
                    case 4:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "dört";
                                break;
                            case 2:
                                deger = "kırk"
                                break;
                            case 3:
                                deger = "dörtyüz"
                                break;
                            case 4:
                                deger = "dörtbin"
                                break;
                        }
                        break;
                    case 5:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "beş";
                                break;
                            case 2:
                                deger = "elli"
                                break;
                            case 3:
                                deger = "beşyüz"
                                break;
                            case 4:
                                deger = "beşbin"
                                break;
                        }
                        break;
                    case 6:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "altı";
                                break;
                            case 2:
                                deger = "altmış"
                                break;
                            case 3:
                                deger = "altıyüz"
                                break;
                            case 4:
                                deger = "altıbin"
                                break;
                        }
                        break;
                    case 7:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "yedi";
                                break;
                            case 2:
                                deger = "yetmiş"
                                break;
                            case 3:
                                deger = "yediyüz"
                                break;
                            case 4:
                                deger = "yedibin"
                                break;
                        }
                        break;
                    case 8:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "sekiz";
                                break;
                            case 2:
                                deger = "seksen"
                                break;
                            case 3:
                                deger = "sekizyüz"
                                break;
                            case 4:
                                deger = "sekizbin"
                                break;
                        }
                        break;
                    case 9:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "dokuz";
                                break;
                            case 2:
                                deger = "doksan"
                                break;
                            case 3:
                                deger = "dokuzyüz"
                                break;
                            case 4:
                                deger = "dokuzbin"
                                break;
                        }
                        break;
                    case 0:
                        switch (rakamIndexi) {
                            case 1:
                                deger = "sıfır";
                                break;
                            case 2:
                                deger = ""
                                break;
                            case 3:
                                deger = ""
                                break;
                            case 4:
                                deger = ""
                                break;
                        }
                        break;
                }
                return deger;
            }

            this.sayiyiYaziyaDonustur = function(){
                var deger = '';
                for(var j= 1,i=this.mevcutSayiBasamakSayisi-1;i>=0;i--,j++){
                    deger = this.rakamBasamakYaziKarsiligi(this.sayininRakamlari[i],j) + ' ' + deger;
                }
                this.sayininYaziHali = deger;
                return deger;
            }
        }

var sayiYazdirmaNesnesi = new SayiYazdirma(95214); window.alert(sayiYazdirmaNesnesi.sayiyiYaziyaDonustur());


http://www.daltinkurt.com/Icerik/185/Sayiyi-yaziya-donusturme.aspx

http://www.hayatisahin.com/BlogEngine/?tag=/C%23+Say%C4%B1y%C4%B1+Yaz%C4%B1ya+%C3%87evirme