Thursday, November 09, 2006

stream ne garip bi kelime

stream diyince aklıma böyle oluk oluk akan veri geliyor. input stream olabiliyor output olabiliyor bunlar buffered hareket edebiliyorlar :) neyse gün boyunca yaklaşık 7mb lık bir zip dosyasını çekmeye çalıştım HTTP POST ile. POST diyip geçmeyin kıl bi durum GET olsa url nin sonuna ekleyeceğim parametreleri ama postda öyle değil işde :) açıon bir connection oraya push edion sonra getresponse edion mantığı söz konusu.

velhasılı gün boyu beceremedim c# ve java ile sonra okudum google amcamdan dünya kadar okudum, ama vardığım en başarılı nokta java ile aldığım zip oldu ki kendiside broken hatası veriyordu en azından c# daki gibi 3.8 mb ını alıp pırt diye connectionu kapamıodu. bu arada c# a daha aşina olduğum için orda epey kıvrandım ama fayda etmedi keep-alive denedim webrequest denedim webclient denedim zilyon obje kullandım ama bi türlü .net de 3.86 mb ı geçemedim habire koptu neyse java için kurcalanırken ofisde o sırada boşalmışdı saat 22 sularında :D

dedim eskiden irc serverlar vardı orlardan çokça böle danışıklı hareket kontra ataklar ederdik :) dalim bakim bi yol ve girmem le hatamın ne olduğunu çözmem yaklaşık 20 dk sürdü saolsun irc.freenode.net de #java odasında

kallavi bir amca:"ulen!!" dedi "read edion amma string read edion halbukine byte alıon bu sıçmazda ne sıçar uleyn" dedi.
bende dedimkine:"asiktir gerçekten haklı konuşuyorsun ama edebini topla aklını alırım" dedim :))))))

sonra oturdum byte okur kıvamında kodu değiştirince cokur cokur çalışan bir zipim oldu sonra onu daha önceden anlatmış olduğum xmlbeans zımbırtısıynan dandini dandini dostana danalar girmiş mysql e edip gömçürdüm mysql e.

burdan anlaşılacak kıssadan hisse oki http post ilen veri alırsan byte oku byte yaz aklını başına devşir.

Monday, November 06, 2006

mysql java türkçe problemleri

utf 16 gelen bir xmliniz var eşek kadar olsa bunu nası mysql e insert ederim diye hep sorarsınız dimi kendnize :D neyse çok zaman aldı bunu adam gibi çözmesi not alem dedim birininde işine yarayabilir.

XMLbeans diye bir proje var onla xml i parse edebiliriz. şimdi dicenizki ula koca java adam gibi xml parse edecek alet edevatı vardır zaten içinde:) nede güzel düşündün onuda çözersen bana yolla

inst2xsd aletiyle xmlimizden xsd alırız burda dikkat edilecek yada benim ayağıma dolanan konu xml in boyu büyük olunca alet memory den çatlıo inst2xsd.cmd dosyasında java -Xmx1024M -classpath "%cp%" değişikliği yapılır bu sayede memory de istediği gibi at koştursun java. ordan bir xsd dosyası çıkar ki bunun modelleride var ben russian seviom :) inst2xsd -help derseniz -design altında 3 model çıkarabilio alet bu modellerde aslında kodsal nasıl ulaşacağınıza karar veriyorsunuz.

scomp aletiylede xmlbeans den jar elde etmek gerekiyor buda bize bi sürü kodu oluşturuyor ve jar halinde veriyor bu adımı çok seviom bi dünya zahmetten kurtarıyor. sonra gir netbeans e ekle jar ını çatır çatır xml kullan.

84mb lık xml i parse etmesi yaklaşık 5 saniye alıo bende ki bu çok güzel bir rakam desktop makine için

mysql e java dan türkçe karakter insert etmek istiosan kodundaki connection stringe "&useUnicode=true&characterEncoding=UTF-8" ekle git mysql table kolonlarından column charset inide latin 5 yap.

hadi kolay gele