2월, 2019의 게시물 표시

[JSON] Build Nested ObjectNode

다음과 같이 object가 중첩된 json을 만들어 보자. { "employee" : { "company" : "MyCom" , "teams" : { "team1" : { "name" : "AAAA" , "location" : "sector-a" }, "team2" : { "name" : "BBBB" , "location" : "sector-b" } } } } Jackson 코드는 아래와 같다. ObjectMapper mapper = new ObjectMapper (); ObjectNode root = mapper . createObjectNode (); ObjectNode employee = root . putObject ( "employee" ); emplyee . put ( "compayn" , "MyCom" ); ObjectNode teams = employee . putObject ( "teams" ); ObjectNode team1 = teams . putObject ( "team1" ); team1 . put ( "name" , "AAAA" ); team1 . put ( "location" , ...

[ReactJS] Persistance Redux

Redux의 state는 브라우져를 refresh하면 사라진다. 세션 정보(ex. jwt token)등을 유지 하기 위해서는 redux state를 저장해 둘 필요가 있어 redux-persis npm module을 사용해 구현해 보았다. * 설치 $> npm install redux-persist * 사용법 1. persist store 생성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import { createStore } from 'redux' ; import { persistStore, persistReducer } from 'redux-persist' ; import storage from 'redux-persist/lib/storage/session' ; import rootReducer from './reducers' ; // storage는 session storage로 설정. const persistConfig = { key: 'root' , storage }; // 기존 redux에 사용하던 root reducer를 persist reducer로 설정. const persistedReducer = persistReducer(persistConfig, rootReducer); // 기존 redux store를 root reducer가 아닌 persist reducer로 생성. let store = createStore(persistedReducer); // 기존 redux에 없던 부분인데 생성된 store로 persistor 생성. let persistor = persistStore(store); export { store, persistor }; ...

[Spring Boot] Open Session In View (OSIV)

이미지
Spring에서 ORM을 사용하여 개발을 하며,  Transaction 을 이해할 때 쯔음 닥쳐온 혼란이 있습니다. 지인에게 자신있게  Transaction 을 설명해주기 위해 Spring Boot로 빠르게 어플리케이션을 올렸고 @GetMapping ( "/member/{memberIdx}" ) public String member ( @PathVariable Long memberIdx , Model model ) { Member member = memberRepository . findOne ( memberIdx ); model . addAttribute ( "name" , member . getName ()); model . addAttribute ( "team" , model . getTeam (). getName ()); return "index" ; } Transaction 이 끝난 상태에서  Team 을 조회하니까  LazyInitializationException 이 발생할꺼야! 하는 순간 페이지가 정상적으로 노출되는 당황스러운 순간이,,! 본 내용은  Open Session In View Pattern 의 내용을 기반으로 내용을 정리하였습니다.(본 내용을 이해하는데  레이어 아키텍쳐 를 알면 더 이해가 빠를 수 있습니다.) 이번 포스팅에서는  Spring Boot 에서  Default 로 설정해주고 있는  Open Session In View Pattern 에 대하여 설명해보도록 하겠습니다. 해당 패턴은 객체-관계 매핑(ORM, Object-Relational Mapping)의 사용으로 등장하게 된 패턴이며, 예제를 구성하는데에 JPA(Java Persistence API)의 구현체 프레임워크인 Hibernate를 사용할 것 입니다. 시작 전  Open S...