sözlük ve tavsiye etme işlemi

bi kaç ay önce bir tercüman arkadaşla bir proje yapalım dedik benim bir sitenin içeriğine ayıracak zamanım yok ama projeler arası değişik kod görmek kafamı dinlendiriyor. sonra karar verdik bir sözlük yapalım sonuçda zargan seslisozluk falan var benim bildiğim çok yok. dedim bende içerik gireceksen yapalım. sonra bana bi mdb yolladı o başlangıç noktamız oldu access her ne kadar kıl da olsa 2 ay güzel çalışdı artık yeni özelliklere ihtiyacımız vardı misal başlıkda belirtildiği gibi yazım hatası falan yapıldığında ses olarak yakın olan kelimeleri tavsiye etmek gibi.

bunu fatih ilk söyledi ben bi korkdum sonuçda daha önce hiç düşünmediğim bilmediğim bi alandı. bu konu aslında spell checkerların içinde geçermiş. ünlü bir algorithma metaphone önce bunu nasıl uygulasam diye bakarken birde ne görim meğersem eski dost mysqlde bu algoritmayla olmasada bu işi gören bir fonksiyon var imiş soundex deneme yapmam gerekdi olaydan pek bişey anlamadım ama anladığım şuydu bu işi db ye yıkarsam karlı çıkarım. bu çok klasikdir eğer herhangi bir işlemi db ye yıkarsanız daha hızlı çözersiniz ve çalışır.

mdb yi aldım mysql e sokacam mysql migration tool var biraz nazlandı utf8 le bi şekil gömçürdüm sonuçda db vardı elimde artık çalışmalıydı ama bir karakter problemi varki kol kadar saçma sapan işler dönüo dedim html den kaynaklanıyordur bu cins karakteri browser gösteremiyor ama bilakis mesele tamamen mysql migration tool un dandikliğiymiş. tabii bunu çözmem saatler aldı hostinge db yi kopyalamak ayrı bir dert shared hosting de yani ucuz işde mysql direk bağlantı vermiolar tabii güvenlik amaçlı. phpmyadmin de 2mb dan büyük dosya almam diye ayarlanmışki sadece sql dosyasıda alabilio epey uzun sürdü velhasılı sonuç. navicat sağlam bir araç aynı şekil utf8 alt yapıya onla insert yaptığımda karakter problemleri çözüldü.

soundex konusuna gelince şu benzeri bir sql istediğimizi yakalıyor.

select kelime from kelimeler where soundex(‘aranan ve bulunamamış kelime’)=soundex(kelime)

ses olarak db de aranan kelimeye yakın olan bütün kelimeleri diziyor.
örnek sayfanın ortasına dizio yiğit mysql 🙂

bu işlem diğer dblerdede mevcut sanırım bi ara onlarıda test etsem neşeli olur. yoksa bu garip fonksiyonları kullanacak yer yok.

alanyaya vardık

evet belekden çıkdık alanyaya vardık hava sıcak, suyu pis özellikle liman tarafı fakat ortam kaynıyor :))

alanya da güneş otelde kaldık bi kaç otelin daha müşterisi bizim binaya yemeğe geliyordu. ortamı personeli gayet güzel bir yerdi. gençliğe ilk hedefiniz akdeniz derim 🙂 özellikle alanya. yaş ortalaması 23 civarı fena bi yer olmuş fena.

dedelerimiz dünya kadar savaş tutmuş o kadar yer almışlar şu güzel hatunları anadoluya getirmemişler ayıp.

tatilde ilk gun side

Manavgata vardık otogarı şehir merkezine bi minibüs ordan bi minibüsle side deyiz sıcak yanıo bi turlarsanız fazla zaman kaybetmeden otellere girer sorarsınız kıyı şeridi 60 lira kadar denizden uzaklaşınca 40 civarına düşer heral 2 otel gezdik 2. otelde semoris di süper ben sevdim. ismail bey otel sahibi gayet sıcak bir ortamdı. full kontak bir tatil için günlük 45 lira ki oda uygun sonuçda ne yersen ye ne içersen iç 🙂

denizi kumlu ve akdeniz biraz ılıcak. velhasıl kumlu deniz çok sevmem dalga yapınca ki akdeniz dalga yapar fazla çamurlu havası yapmıo dalgasıda adam boyu olmuo sonuçda güzeldi fekat abazan arkadaşlar için yaş ortalaması azcık yüksek gerçi plajda böyleydi. bar diskoyu gezemedim. ama türkü bar falan çokdu zaten beni açmaz.

ordan çıkdık belek de lagonya otele geldik oda servisi yok. bu arada animatörler çocuk eğlendiriyor populasyonu varın siz tahmin edin allahdan kısa kısa gezioz yoksa buraya ne kadar dayanılır bilmiom 🙂

bundan sonra ya alanya ya bodrum bakam nere varcaz

aget compile problem

aget enderunix in güzel projelerinden birisi. olayı flashget gibi multi kanallı download yapma. derliom derliom derlenmio saçma bi hata veriodu verdiği hata:
gcc -o aget main.o Aget.o Misc.o Head.o Signal.o Download.o Resume.o -pthread -include /usr/include/errno.h
/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in main.o
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [all] Error 1

bakınca fazla bi anlam ifade etmiyor bana sonuçda gerçek bir hata yok piyasada sonuçda aradım buldumki meğersem include larda errno.h ı koymak gerekiomuş CC satırına.

CC = gcc -include /usr/include/errno.h

Makefile da bu değişikliği yapınca aget exeside piyasaya çıkdı. denedim görüntüde çok bi anlatmıo program kendini 8 e böldüm çekiom dio -n ve -f ile bu thread sayılarını değiştirebiliyoruz. kget ile çalışsa tam süper olurdu.