* 내부 연동 프로젝트 진행 중 크로스 도메인 메시징(Cross-Domain Messaging) 문제에 봉착했다. A 시스템의 페이지에서 IFRAME 또는 팝업의 형태로 B 시스템의 페이지를 호출하는 구조인데 A에서 B의 JavaScript 메써드를 실행하도록 되어 있다. 문제는 A 시스템과 B 시스템의 도메인이 서로 틀리기 때문에 A와 B의 window 객체는 서로 접근이 불가능하여 오류가 발생한다. * 각 시스템의 도메인이 일치하고 추후에 도메인이 변경될 가능성이 없다면 각 시스템의 페이지에 window.domain 프라퍼티를 명시적으로 일치시켜주면 문제는 간단히 해결된다. * 하지만 각 시스템의 도메인이 일치하지 않는다면 다른 방법을 찾아야 한다. 구글링을 통해 window.postMessage 메..
* Java에서 Hibernate와 같은 ORM을 사용하지 않으면서 RDBMS에 대한 DAO 클래스를 작성하는 일은 상당한 고통과 번거로움이 따른다. 대부분 국내 실무 프로젝트에서는 iBATIS를 사용하지만 개인적으로 규모가 작은 내부 프로젝트에 사용하기에는 SQL 맵 파일 작성을 위해 XML을 다루는 것 조차 번거로워 MyBatis의 SqlBuilder 클래스를 개량한 Non-ThreadLocal SqlBuilder 클래스를 사용하여 DAO 클래스를 작성하고 있다. 그러던 중 흥미있는 2가지 라이브러리를 발견하여 소개한다. ElSql - Library/DSL to manage SQL http://blog.joda.org/2012/10/elsql-librarydsl-to-manage-sql.htmlhtt..
새로운 언어를 공부할 때 가장 중요한건 전세계 개발자들의 글로벌 표준 코딩 가이드라인을 익히는 것이라고 생각된다. 확실하게 주도적인 표준은 존재하지 않지만 전세계 개발자들의 시행착오 끝에 얻어진 공통된 여러 노하우들을 정리하였다. * 날짜 시간 라이브러리로 유명한 Joda-Time의 개발자인 Stephen Colebourne가 쓴 Java Naming Convention에 대한 글을 소개한다. Implementations of interfaces - prefixes and suffixes http://blog.joda.org/2011/08/implementations-of-interfaces-prefixes.html More Java prefixs and suffixes http://blog.joda.o..
* Java에서 날짜와 시간을 다루기 위해서는 JDK에서 기본 제공되는 java.util.Date 및 java.util.Calendar 클래스를 이용해야 하는데 코드 구현이 상당히 불편하고 번거롭다. Joda-Time 라이브러리가 제공하는 org.joda.time.DateTime 클래스를 이용하면 상당히 직관적이고 적은 코드로 날짜와 시간을 다룰 수 있다. 예를 들어 현재 날짜의 주차 숫자를 알고 싶다면 다음과 같이 한줄의 코드로 끝낼 수 있다. int week = DateTime.now().weekOfWeekyear().get(); Joda-Time 공식 사이트 http://joda-time.sourceforge.net/ Joda-Time 소스 코드 (GrepCode) http://grepcode.co..
- Total
- Today
- Yesterday
- 자전거
- Eclipse
- bootstrap
- node.js
- jpa
- DynamoDB
- jsp
- 알뜰폰
- JavaScript
- Spring Boot
- maven
- java
- Spring MVC 3
- Kendo UI Web Grid
- MySQL
- graylog
- 평속
- spring
- Tomcat
- Kendo UI
- Docker
- CentOS
- 태그를 입력해 주세요.
- kotlin
- jstl
- 로드바이크
- JHipster
- 구동계
- 로드 바이크
- chrome
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |