Posts

Showing posts from 2012

11 km lik süper yürüyüş yolu

jsp compress

you can combine and merge all your JS files into one in java. here is how

http://code.google.com/p/granule/

enjoy and if you share your experience with granule I will enjoy to read those :)

eclipse juno slow solved

you will see the end of this page

https://bugs.eclipse.org/bugs/show_bug.cgi?id=385272


1) Help>Install New Software

2) use the site: http://download.eclipse.org/eclipse/updates/junoSR1Patch-tmp

3) select Eclipse UI Juno SR1 Optimizations, install, and restart

this will make eclipse 4.2 work faster when you change tabs in xml files. that was bugging me for a long time.

cheers :)

javada duplike loglar görmek

genelde log4j ayarları dosyası şişmesinden kontrolden çıkmasından kaynaklanır. xml ile configuration ayrı bir hatadır ya neyse. şimdi xml leri gezdin pathlerde gerekenleri ayarladın ama çözümlenmiyormu o zaman java koduyla

static { Logger rootLogger = Logger.getRootLogger(); rootLogger.setLevel(Level.INFO); rootLogger.removeAllAppenders(); rootLogger.addAppender(new ConsoleAppender(new PatternLayout("%p;%d;%m;%c%n"))); }

bu bütün loggerları silip bi tanecik konsol appender eklememizi sağlar. veya tamamen bütün loggerlarımı kapatıcaz o zamanda before bölgesine aşağıdaki eklenir


@BeforeClass public static void setUp() throws Exception { // System.out.println("closing out"); System.setOut(new PrintStream(new ByteArrayOutputStream())); System.setErr(new PrintStream(new ByteArrayOutputStream()));
 aslında logu kapamıoda rama gidiobuild bitince silinir ramdende rahat olun :) junit testlerinde bu kodlar bana gerekti.

my first technologic toy

Image
I started games with this



then I turn to this(commodore 64)
nowadays I dont play any games just watch e-sports and enjoy star craft mostly

spring circular reference bean problemi

spring de service ler reporsitoryler derken heryerimiz bean olmuş durumda ve uygulama bi şekilde çalışıyor. çok da nasıl çalıştığına önem vermeden kodlamaya devam ediyorum. javasimon için aop enable edip server start ediyorum birden şöyle bir exception alıyorum.

Error creating bean with name 'membershipProvider': Bean with name 'membershipProvider' has been injected into other beans [roleProvider] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.

daha evvelinde aop enable ettiğimde daoUtils can not be set $Proxy180 gibi exceptionlarda görmüştüm onları geçmek için springin root context xmlinde şöyle birşey yapmıştım
<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBea…

8.5 km güzel yürüme yolu

kimler jenkins kullanıyor

java telnet gibi

gün içinde sıkça
telnet ipadresi port

diyip bir makinenin diğer makineye bağlı olup olmadığını belirli porttan kontrol etmemiz gerekiyor. fakat bugün root olmadığımız bir linuxde telnet kurulu olmadığını fark ettim. hemen java classımı kondurdum buyrun ihtiyaç olursa
derlemek için
javac telnet.java
kullanımı
java telnet 10.210.60.55 22

yukardaki ipnin portuna bağlanmaya çalışır bağlanırsa success değilse problem ve sebebini yazar. koduda şöyle


import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.Socket; public class telnet { public static void main(String[] args) { Socket soc; try { soc = new Socket(args[0], Integer.valueOf(args[1])); System.out.println("connection success"); soc.close(); } catch (Exception e) { System.out.println("connection problem. reason:"); e.printStackTrace(); } } }

güzel bir yürüme yolu daha 3.1km

etiler ferikoy reasonable walking path 8,3km

levent ferikoy reasonable walking path 6.2 km

oracle constraint bulma

gelen exceptionlar şu şekilde

ORA-00001: unique constraint (SCHEMA.SYS_C0067078) violated

sağolsun hibernate veya oracle create ederken çok nadide isim seçmiş SYS_C0067078 velhasılı bunu görücne insan bişey anlamıyor. constraintin ilişkili olduğu tablo ve detayı için oracle da

select * from all_constraints
where owner = 'SCHEMA'
and constraint_name = 'SYS_C0067078';

çalıştırmak yeterli.

linuxde çalışan javaların kaç gündür çalıştığını görmek

ps -ef|grep java|awk '{print $2}'|xargs ps -o pid,etime,command -p
yukardaki satır sistemdeki javaların kaç gündür çalıştığını gösterir. örnek çıktı

 PID ELAPSED COMMAND
16149 19-04:27:43 uzun komut
24767 12-04:55:26 komut

bold olanlar gün adedi sağdakide saat ve dakika ilk satırın anlamı: 19 gün 4 saat 27 dakikadır çalışıyor demek.

eğer javadan başka birşeyin kaç gündür çalıştığını görmek istiyorsanız yapmanız gereken aşağıdaki satırdaki bold bölgeyi taradığınız işlem adına çevirmek

ps -ef|grep java|awk '{print $2}'|xargs ps -o pid,etime,command -p

örnek kaç gündür makine açık

ps -ef|grep init|awk '{print $2}'|xargs ps -o pid,etime,command -p

görmek istediğim yerler

bazen içim bunaldığında açıom google maps i böyle sahil sahil bakınıyom. bu sayfayada ekleyip durcam işte nerelerde takılmak isterdim diye :) Daha Büyük Haritayı GörüntüleDaha Büyük Haritayı Görüntüle
Daha Büyük Haritayı Görüntüle
Daha Büyük Haritayı Görüntüle
Daha Büyük Haritayı Görüntüle

yürüyüş yolum / my walking path 5,6km

eclipse de junit test fail fonksiyonu kayboldu

Image
aşağıdaki class ı aldım junit testleri denemeye çalışıyorum. çokta bildiğim bir alan değil. neyse geliştirdim kendi servislerimi falan yazıyorum springle birleştirdim falan derken aşağıdaki fail("") fonksiyonu hata vermeye başladı. benim el alışkanlığımdır ctrl+shift+f ve ctrl+shift+o bakıom bakıom yok bu fonksiyon. ni olduki nere gitti bu derken aşağıdaki koddaki static import satırını gördüm hağ dedim. sonra test ettim eclipse silmiş onu hakkaten zira bende commentlemiştim o satırı :). neyse eclipse in bunu silmemesini sağlamak için gereken ayar şöle
import static org.junit.Assert.*; import org.junit.*; public class TemplateClassTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void templateMethod() throws Exception { fail("TODO: Write this test."); } }

maven ve jenkins

maven bilmek kullanmak javacı için artık sanırım kaçınılmaz bir gereklilik. Continuous delivery-with-maven from Wakaleo Consulting

how to select hibernate envers audited dates in mysql

just select dates is easy like this

SELECT FROM_UNIXTIME( revtstmp/1000 )   FROM revinfo;

if you want the detailed data result you can do like this.



SELECT r.rev,FROM_UNIXTIME( revtstmp/1000 ),pa.* FROM revinfo r
left join picture_aud pa on pa.rev=r.rev;

well you just need to change table name up there picture to what ever is your table name is.

I just love this game

galleria da fullscreen yok

galleria.io baya ünlü ve becerikli bir javascript imaj albümü kütüphanesi. bende denemeler yaparken gördümki imajların fullscreen olması veya büyük hallerini göstericek özellik classic gelen ve free olan versiyonda yok.

yapılması gereken javascripti buldum ama jsfiddlerdan kopyaladığımda sorunlar çıkardı çalışan hali şöyledir.

javascript

Galleria.ready(function() { var gallery = this; this.addElement('fscr'); this.appendChild('stage', 'fscr'); this.$('fscr').click(function() { gallery.toggleFullscreen(); }); this.addIdleState(this.get('fscr'), { opacity : 0 }); });

css için

.galleria-fscr{ width:16px; height:16px; position:absolute; bottom:0px; right:10px; background:white url('galeri/fullscreen.png'); z-index:4; cursor: pointer; opacity: .5; } .galleria-fscr:hover{ opacity:1; }

css deki fullscreenpng ye dikkat edin.

java kod kalitesi

java kod kalitesi çokda zor olmayan ama dikkatsizlik nedeniyle yada zaman olmaması sebebiyle en son bakılan noktalardan biridir.

findbugs veya PMD veya sonar gibi oto-matize kod tarayıcıları ile bu işlem sağlanabilir. eğer maven projesi geliştiriyorsanız lokalinize sonar server kurup sonrasında mvn sonar:sonar demeniz yeterlidir. sonar içinde findbugs ıda barındırır.

debian ve diğer linux distroları için sonar kurulum paketlerine aşağıdaki adresten ulaşabilirsiniz.

http://sonar-pkg.sourceforge.net/

hibernate ve kolon isimleri

hibernate ile uygulama geliştirenler artık pek database tarafınla ilgilenmeyebilirler. bir süre sonra hangi kolon hangi değişkene denk geliyor kodu yazan kişi tarafından bilinmez olmaya başlar.

özellike windows da uygulama geliştirirlip linux de mysql e deploy yapılıyorsa %90 kolon ismi büyük küçük harf bağımsızlığıyla ilişkili problemler çıkabilir. çünkü genelde class isimlerimi ClassForDeve gibi büyük küçük harfler barındırıyordur ve bunlar aslında windows daki mysql de sorun çıkarmazken linuxde sorunlara sebep olucaktır.

en güzel ve basit çözüm hibernate.properties veya persistence.xml e aşağıdaki satırı girmek:

<property name="hibernate.ejb.naming_strategy" value="org.hibernate.cfg.ImprovedNamingStrategy"></property>

bu sayede oluşturulacak tablo ve kolon isimleri class_for_deve şeklinde olucaktır. buda ister linux ister windows mysql versiyonu bağımsız çalışacaktır.

bir diğer çözümde her tablo ve kolon isminin java pojolarında @Column(name="bi…

şifresiz ssh

A makinesinden B makinesine ssh ile bağlanmanız gerekiyor. genelde scp de çıkar bu sorun. bi dosya kopyalicam habire şifre istemesi çileden çıkarır insanı. neyse kolay ve güzel çözüm şu.


A makinesine ssh ile login olunur"ssh-copy-id username@B" çalıştırılır artık A makinesinde ssh username@B diyerek B ye her daim login olunabilinir.

eğer şöyle bir hata alınırsa

/usr/bin/ssh-copy-id: ERROR: No identities found

aşağıdaki komut ile key oluşturulur

ssh-keygen -t rsa

apache shiro 404 and 500

in java web application you can easily set 400 and 500 error pages via web.xml like this

<error-page> <error-code>500</error-code> <location>/500.jsp</location> </error-page> <error-page> <error-code>400</error-code> <location>/404.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/404.jsp</location> </error-page>

this means when someone clicks on a url which is 404 or 500 server will show them the pages you got in your app. this is better then showing them default server error pages. you can see good 404 examples from here

anyway while I was developing a web application with apache shiro I could not show my 404 or 500 pages and it was throwing a no securitymanager at this thread exceptions. after I research on this I find out that the example of shiro is not enough. because there was just a filter and it points /*. I tough…

varnish performance problems

I was reading a forum post at linked in. and I saw someone having some performance issues at low level server. and I have one server too 4gb ram and 8 core cpu. anyway this is how he solved that problem .connect_timeout = 500s; .first_byte_timeout = 500s; .between_bytes_timeout = 500s; echo 'fs.file-max=1000000' >> /etc/sysctl.conf echo 'net.ipv4.ip_local_port_range = 1024 65535' >> /etc/sysctl.conf echo '* soft nofile 1000000' >> /etc/security/limits.conf echo '* hard nofile 1000000' >> /etc/security/limits.confecho 'session required pam_limits.so' >> /etc/pam.d/loginulimit -n 1000000 and another suggestion was DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -p thread_pools=8 \ -p thread_pool_max=2500 \ -p thread_pool_min=200 \ -p thread_pool_add_delay=2 \ -p listen_depth=2048 \ -p session_linger=100 \ -p connect_timeout=600 \ -s malloc,4G"…

garip bir benzerlik

aşşağıda vuran maymun dişi. aşşağıda vuran insan dişi

oracle coherence and clustering

I have been configuring this oracle coherence more then 2 weeks. and I must say its been a pleasure. I love clustered things. they mostly does not work and hard to figure out. but oracle coherence is not that complicated.

one thing. in our production environment I could not use multi casters and convert configuration to unicast stuff. its a p2p based tcmp network and solid work. I can say oracle coherence is something like memcached. and its easy to figure out. because it can run under tomcat and deployed to weblogic servers with our application.

while production tests I saw that if you change any simple detail in tangosol-coherence-override.xml I need to restart weblogic instances. because when coherence started it could not change its configuration on the fly. I think if we used coherence jar out of our war it would be more flexible. but our cache system does not need to configured every one day or so. so we keep those xmls(tangosol-coherence-override.xml,coherence-cache-config.xml)…

linuxde makine startına komut eklemek

hep unuttuğum hep tekrardan yazdığım bişeydir. neyse glassfishimi start eden bir bash scripti var. onu init.d ye kopyalıyoruz

cp startGlassfish.sh /etc/init.d/

sonrada

update-rc.d startGlassfish.sh defaults

hayırlı olsun artık o script her açılışta çalışacaktır.

akşam akşam hataya gel

Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 can't find
referenced pointcut

li bir exception alınıyor springin aop sinden beri patlıo. ulan altına bakıom üstüne bakıom yok. tomcati ipv4 ile çalıştırıom bind adresi olarak 127 li veriom yemio. derken derken buldum meğer makineye java 1.7 kurulmuş.

http://issues.opennms.org/browse/NMS-4350

burdada şikayetler listelenmiş. sonuçda 1.7 kapsar 1.6 olması gerekmezmiydi. neyse 1.6 kurduk geçti ama nedir bizim çilemiz :) güle güle 1 saat.

axis log4j

log4j ile axis gelen gidenleri görmenin en uygun yolu log4j.xml

buyrun örnek configürasyon:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "file://log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="logFile" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${ServLogDir}/admin/admin.log" /> <param name="DatePattern" value="'.'yyyy-MM-dd" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%p;%d;%m;%c%n" /> </layout> </appender> <appender name="axisLogFile" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${ServLogDir}/admin/axis.log" /> <param name=&qu…

mecidiyeköy şampiyon kokoreç

verdiğim siparişde ayvalık tostu vardı siz sucuklu kaşarlı tost yollamışsınız. allahtan etrafta başka eve servis tuzlama bulamıom yoksa töbe sizden bişe istemezdim :) neyse tuzlama yine iyiydi çok seviom sirke sarımsak limon sakatataı ya.

tuzlama dışında hiçbişey alınmicak dükkan mecidiyeköy şampiyon kokoreç bilgilerinize sunarım.

şişli rezene

az evel tavuk bonfile yedim rezeneden gerçekten sosuyla falan şok güzeldi. üstünede tarihi dolmak üzere olan nutelladan yidim kendimi iyi hissediom uleyn =)

burger kinge bu sıralar neler oluyor

şu anda maltepedeyim saat 8 de yakalamayı planladığım bir servis vardı. saat 7 de verdiğimiz sipariş tam 8 e beş kala geldi ve ben servisi kaçırdım.

 sonuç: burgerlerin güzel olsada servisiniz gerçekten rezalet. bu durumun aynısı şişli tarafındada oluyor. 1 saat 15 dk sonra gelen burgerleri almamak durumunda kalıyorum. sebep buza kesmiş olmaları. çok gıcık durum.

paranla rezil olmak bu =)

find all columns in oracle named as district_id

I had a problem today. it was about changing all district_id in a whole database. so I need to find who used district_id as column name in tables in oracle.

here is how I find it.
Select COLUMN_NAME,table_name from user_tab_columns where table_name in ( select object_name from user_objects where object_type='TABLE' ) and COLUMN_NAME ='DISTRICT_ID' and I changed all values from found tables.

test your disks in linux

I have a linux server which has 2 disks on it. one of them is SSD and other is SATA disk. I wondered how fast is ssd is here is the output :) root@mascix.com: ~ # hdparm -t /dev/sdc /dev/sdc: Timing buffered disk reads: 598 MB in 3.00 seconds = 199.03 MB/sec root@mascix.com: ~ # hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 266 MB in 3.00 seconds = 88.55 MB/sec I should say this test done when server has load on it. pretty nice

EndoSession

one of my dead project which was about endoscopic data capture and saving in mp4 format. which was using blackmagic card to capture all data and it was working in linux with power of QT and ffmpeg.

I was thinking I may publish in google code svn repo. but there is no development plan on it so no need to have any repo. people who need to capture data from blackmagic capture card and save it in video file may find this as helpfull example.

strange java hibernate story from today

today I was developing a new request from customer. its not a big issue just adding a new Boolean field will cover the request and will work happly ever after. I added my new "isActive" field into hbm xml then pojo. and started the app in windows with tomcat maven plugin. there was nothing wrong hibernate started up smoothly and update the table and added my new field into the persistent level. I like hibernate more, everyday :) its just like a dog. best friend of men. which helps for everything and expects only our love :D anyway I decided to deploy our new class to server which runs weblogic 11g. I went to ssh and run "svn up" then "mvn install" then went back to weblogic console for updating our big webapp. then I gave the path of war and said update then started the app. then started waiting log to come and make me smile :) and it said there is no getisactive function in the class. I just added and run in my laptop it was working fine. how the hell …

publishing and reading from jms

simple java class for reading and writing to weblogic jms. import java.net.URL; import java.rmi.RemoteException; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.MessageProducer; import javax.jms.ObjectMessage; import javax.jms.Queue; import javax.jms.QueueConnection; import javax.jms.QueueConnectionFactory; import javax.jms.QueueReceiver; import javax.jms.QueueSession; import javax.jms.Session; import javax.jms.TextMessage; import javax.naming.Context; import javax.naming.InitialContext; import org.apache.axis.AxisFault; public class ReadFromRemoteJms{ public static void main(String args[]) { try { Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); env.put(Context.SECURITY_PRINCIPAL, "weblogicusername"); env.put(Context.SECURITY_CREDENTIALS, "…

swt and maven example

Swt does not come from maven repo with the latest version. but you can use this pom to use latest swt version  from nexus testing repo.

pom.xml:
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>mascix</groupid> <artifactid>MavenSwt</artifactid> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupid>org.eclipse.swt</groupid> <artifactid>org.eclipse.swt.win32.win32.x86_64</artifactid> <version>3.6.2</version> </dependency> </dependencies> <repositories> <repository> <id>nexus-testing</id> <layout>default</layout> <url>http://maven.eclipse.org/nexus/content/re…