잘 돌아가던 톰캣 서버에서 아래와 같은 Exception을 확인하였다. 잘 떠있던 놈이.. 갑자기 왜. 물론 재시작 하면서 이슈는 해결되었지만 원인을 찾기 위해서 삽질을 하고, 아래와 같은 로그를 드디어 재현하였다. 원인은, 프로세스가 떠 있는 상태에서 yum 업데이트로 jdk버전을 업데이트 해버려서, 이 프로세스에서 잡고 있던 java lib들을 알 수 없었기 때문에 오류가 났던 것이다. tomcat started -> yum update jdk* -> curl http://url -> occured Exception . java.lang.UnsatisfiedLinkError: no net in java.library.path at java.lang.ClassLoader.loadLibrary(Class..
웹사이트를 구축할때는 동적인 영역과 정적인 영역을 나누어, 정적인 데이터는 미리 캐싱해두었다가 사용자의 요청이 있을때 데이터를 전송하는 것이 효율적이다. 동적데이터 - 프로그램이 포함되는 jsp, php, asp 등 서버언어 정적데이터 - html, css, image 등 자주 변하지 않는 데이터 그래서 정적인 데이터는 주로 웹서버로만 따로 운영을 하게 된다. 하지만, 따로 분리해서 운영할만큼 큰 프로젝트가 아니라면 동적인영역에 정적데이터를 포함시켜야 할때가 있는데 이또한 작업 하다보면 크로스도메인문제로 어플리케이션 설정에 cors(cross origin access sharing)이 필요할때가 있다. 자바 스프링에서는 다음과 같이 추가해줄 수 있따. @Component public class CorsF..
Spring + Mybatis @MapperScan의 sqlSessionFactoryRef 속성지정시, Tomcat을 실행시키면 다음과 같은 WARN 메세지가 미친듯이 뜨고 start 된다. 실행이 안되는건 아니지만, 찝찝한 경고 메세지 2017-03-07 13:18:59.821 WARN 25580 [main] --- org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean:1480 : Bean creation exception on FactoryBean type check: org.springframework.beans.factory.BeanCreationException: Error creating bean ..
절차지향언어냐 객체지향언어냐 그것이 문제로다. 절차지향은 뭐고 객체지향은 뭘까. 이미 그 차이를 알고는 있지만 개념으로 딱 떨어지게 정의하기에는 좀 어려운 부분이 있어 이렇게 정리해본다. 절차지향이란.순차지향으로도 표현할 수 있다. 위에서 아래로 실행될 순서대로 코딩하는것을 말하며 쉽고 빠르고 간단하게 프로그래밍을 할 수 있지만 코드의 재사용은 어렵다. 객체지향이란. 객체중심으로 코드를 만들어 실제 필요한 부분에서 각 객체들을 호출해 사용한다. 캡슐화 상속 다형성 등의 특징이 있고 코드의 재사용성이 좋다. 하지만 설계를 하기까지는 그만큼 복잡하고 어려울 수 있다.
태그에 onclick 이벤트를 주고자 할때 클릭 function 함수명(url){실행코드;;;;;;location.href = url;return false;} 이렇게 작성해도 이상 없다고 생각했었고, 크롬과 IE10 이상에서도 문제가 없었다. 하지만 IE8과 IE10 사용자중 브라우저 속성을 변경했다고 하는 사용자의 요청을 확인해보니(일일히 브라우저속성을 다 파악하진 못했지만)일부사용자는 a 링크 클릭시 #none으로 이동되어 onclick이벤트가 안먹히는 현상이 발생되었다. 하여 코드를 다음과 같이 수정하였다. href 속성을 제거하고 마우스 커서를 변경시킬 스타일만 적용했다. 알림 function 함수명(url){실행코드;;;;;;location.href = url;return false;} 적용결..
개발을 하다보면 이런경우가 많이 생긴다. 동일한 데이터를 가지고 오지만 조회하고자 하는 컬럼에 따라 where 구문만 다르게 하고 싶을때. 예를들면 SELECT name, id FROM user Where name = ?SELECT name, id FROM user Where id = ? 각 동일한 select 구절이지만 Where 조건이 다르다. 이럴때 overload를 사용하면 되겠지라고 간단하게 생각했다가 낭패가 생겼다. SELECT name, id FROM user WHERE name = #{name} WHERE id = #{id} 다음과 같은 오류를 확인할 수 있다. org.mybatis.spring.MyBatisSystemException: nested exception is org.apach..
로컬에서 신규 프로젝트 생성하고 생각없이 호스트명을 http://my_project/~~ 언더하이픈을 포함하여 임시로 작명을 하였다. 헌데... 웹서블릿 호출시 GET방식으로는 문제 없으나 POST방식으로 호출시 아래와 같은 오류가 발생하였다. java.lang.IllegalStateException: Could not get HttpServletRequest URI: Illegal character in hostname at index 12: http://my_project/list at org.springframework.http.server.ServletServerHttpRequest.getURI(ServletServerHttpRequest.java:96) at org.springframework...
Aspectj로 공통로깅 만들기 개발을 하다보면 꼭 필요한것 중에 한가지가 디버깅에 필요한 로깅을 하는것이다. 그리고 자바, 스프링의 좋은것중 한가지가 다양한 라이브러리를 지원하고 개발자는 의존성만 주입하면 손쉽게 해당 기능을 가져다가 쓸수 있다는 것이 개인적으로 느꼈던 장점중 한가지였다. spring boot aspectjweaver library 의존성 추가 Java Config 방식 dependencies { // spring compile("org.springframework.boot:spring-boot-starter-web") compile("org.springframework:spring-context-support") compile("org.aspectj:aspectjweaver:1.8.8..
얼마전 오픈세미나에 다녀왔는데 그중 관심있었던 WebPayment API에 대하여 간단히 요약하였다. W3C에서 진행하는 웹결제 표준으로, 현재까지 진행중이며 합의에 다다랐다고 함. 왜 W3C에서 결제API를 표준으로 만드는 것일까. 조사에 따르면 유저는 장바구니에만 담아놓고 결제하지 않는 비율이 68%에 이르는데, 이중 모바일기기에서의 미결제율은 훨씬 높다는 통계자료가 있음.모바일기기에서 비율이 훨씬 높은 원인중에는 입력폼과 결제 과정이 복잡하고 어렵다는 의견이 많아 이를 해결하고자 표준으로 정하고자 함. 표준으로 정했을때의 User와 Merchant가 갖는 장점User 표준에 따른 친숙한 UI 결제정보는 한번만 저장하면 되므로 어렵거나 복잡한 과정이 없음 Merchant 결제관련 서버를 별도로 구축할..
Pooling이란?Wikipedia : Resource management https://en.wikipedia.org/wiki/Pooling_(resource_management) 자원을 일정갯수 미리 생성해두어 클라이언트의 요청이 있을때마다 해당자원을 꺼내쓰고 작업이 완료되면 자원을 반납하여 다음 요청이 있을때까지 대기하는 일련의 작업상태. 위키에서는 Resource management라는 의미로 해석을 했는데 우리말로 자원관리가 되려나? 좀 애매한 해석이다. Object Pool Pattern Pooling에 대한 기능은 소프트웨어 디자인패턴으로도 정의(?) 되어있다. Object Pool은 소프트웨어 디자인 패턴으로서, 객체를 필요에 따라 생성하고 파괴하는 방식이 아닌,적절한 개수의 객체를 미리 ..
- Total
- Today
- Yesterday
- mysql 인덱스
- jenkins remote api
- google vm ssh
- select count(*) performence
- spring mybatis
- springboot server header
- 작은거에소스라치게놀라는나
- mybatis overloading
- 젠킨스 윈도우 설치
- jenkins user list
- 스프링 크로스도메인
- 원격접속툴
- 원격접속 무료툴
- no net in java.library.path
- java.lang.UnsatisfiedLinkError
- 젠킨스 api
- oauth sso 차이
- 스프링 마이바티즈 연동오류
- response server header
- 객체지향언어 자바
- mysql count
- a태그 onclick이벤트
- common-dbcp
- mybatis overload
- BeanCreationException
- jenkins asyncpeople
- 인덱스 자료구조
- mysql count 성능
- nested exception is org.apache.ibatis.binding.BindingException\
- Google ssh console
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |