Promise의 기초Promise의 장점Promise는 비동기 작업을 좀 더 편하게 구현할 수 있게 해준다. (콜백지옥에서 해방) 단순히 ajax를 하나만 사용한다면 Promise는 오히려 불편하게 느껴질수도 있다. 하지만, 여러개의 ajax를 직,병렬로 사용하게 된다면???예) 프론트 메인 페이지 메인 페이지 접근 시, 메인 화면 로딩과 회원정보 조회를 동시에 진행함. 회원 정보 조회 완료 시 (메인화면 로딩과 상관없이) 이벤트 정보 로딩하여 노출 위 모든 작업이 완료된 후에 버튼 이벤트 등록 (하나라도 미완료된 상태에서는 버튼 이벤트 등록하면 안됨)기본 구조new Promise(function(resolve, reject) { // 비동기 작업 완료 시 reslove 호출 // 비동기 작업 실패 시 ..
JPA 사용 시 DB에서 조회된 엔터티를 view 단에서 사용해야 할 경우가 많이 생깁니다. 보통 jackson을 이용하여 json으로 parsing 후 사용하게 되는데, 엔터티간의 관계가 복잡할 경우 문제가 생길 수 있습니다. 예를들어 순환관계(A > B > C > A)나 양방향 관계(A B)를 가질 경우 자칫 잘못하면 json parsing 시 무한루프에 빠지게 됩니다. (이클립스가 뻗어 버리더군요...) 이를 방지하기 위한 방법으로 몇 가지가 있지만, 제가 사용한 방법은 다음과 같습니다. 1. OSIV disableOSVI는 transaction 밖에서도 lazy loading을 사용할 수 있도록 해주는 기능입니다. 이 기능을 사용하면 개발 시 편리한 점이 있지만, 자신의 컨트롤 밖의 문제가 생길 ..
Restful API 개발 참고 사항 요약 1. URI 구성- URI를 통해 특정 리소스를 명확하게 표현한다. 컬렉션은 복수형, 도큐먼트는 단수형을 사용/members/1/bookmarks/products/321/comments/2- 행위는 HTTP method를 이용한다. URI에 행위를 표현하는 동사형 단어가 사용되어서는 안된다.POST : insertPUT : updateGET : readDELETE : delete- 소문자만 사용하며, 가독성을 위해서 '-' (하이픈)을 사용할 수 있다. 2. HTTP Header 사용하여 응답 형태 구성- Accept-Header응답 파일 형태 (json, xml, text)- User-Agent접속 Client (PC / Mobile) 확인- Accept-La..