어느 언어를 하든 새로운 환경 설정을 하고 이를 통해 올바른 결과를 한번에 보기란 쉽지 않은 것 같네요. 기본적으로는 개발자로서의 아집과 선입견들이 일부 장애 요소가 된다고 생각하기도 하고.. 새것에 대한 개념이나 철학에 다소 맹목적이 되기도 하고.. 계속적으로 비슷한 감상이 계속되지는 않았나 싶네요. (계속 같은 실수를 반복했다는 것이죠) 이번에도 여지없이 비슷한 실수를 하곤 했는데.. 어쩌면 누구나 다 겪는 것일지도 모르겠네요.
1. 개념이나 원리에 대한 이해를 무시하고 무작정 시도를 해본다.
2. 위의 이해를 빼다보니 단순한 것에 쉽게 막히고 많은 시간을 허비한다.
3. 다 완료 하다보면 이게 정말 좋은 방식의 개발 방법인가보다 하고 금방 허상에 빠지고 만다. (종래의 것보다 좋다고만 느낀다)
이렇게 세가지 정도로 정리가 되었습니다. 저는 이번 과제를 수행하면서 가장 난관에 많이 봉착했던 것이 CORS (Cross-origin resource sharing) 에 대한 이해가 부족했던 것 인데, 이전에도 이런 이슈는 있었으나 근래 '표준' 으로 밀고있는 이 것에 대한 이해가 부족하여 왜? 어떻게? 에 대한 욕구를 해소하지 못했다. 결국은 차근차근 읽어보고 적용하여 해결하다보니 내 소스코드에 문제가 있었다는 점은 함정이지만.. 여튼 그러하다.
CORS 는 다른 도메인간의 통신을 위해서 헤더에 Access-Controll-Allow 등과 같은 것을 포함시는 것을 통한 허용을 하는 방식을 말합니다. 이는 아직은 몇몇 브라우저에서는 통용되지 않는 것이니 종래의 프록시를 이용한 방법이나 다른 것들을 사용하여 처리해야 하는 것으로 보입니다.
기본적으로 이번 예제는 Jersey + Tomcat 7.0 + Angular.js 를 사용하여 개발을 해보니 깨달은 것은 Jersey 의 사용은 무쟈게 쉬웠습니다. 하지만, Angular.js 는 정말 헬이었다. 매우매우 손이 많이 가고 어려웠습니다. 물론 초기라서 그런 느낌도 있지만 확실 한 것은 쉽지 않고요. 또한 버전 업 (2.x) 이 예정중인데 기존으 소스코드와 아예 다르다는 이야기가 있어서 여지껏 배워온 것이 무쓸모 해지는 것이 아니냐는 것에 대한 불안감 (지속적으로 하지도 않을 거면서) 또한 있구요.
하지만 얻어 간 것들이 더 많습니다. AWS SDK for Java 를 사용해보면서 생각보다 어렵지 않다. 혹은 매우 쉽다는 판단을 하게 되었죠. 이게 참 오묘한 것이 정말 안해보기 전까지는 모르다가 해보고 나면 별게 아니게 되는 것들이 참 많은것 같네요. 또한 Dynamo DB도 생각보다 쉽게 접근 할 수 있었고.. 이제 이를 통해서 할 수 있는 것이 참 많아진 것 같네요. 다른 서비스들 또한 이 SDK 로 접근과 제어가 가능하니까요.
이번 작업을 통해서 허와 실은 확실히 있지만 이 또한 실행을 통하여 얻고 잃은 성과가 아닌가 싶습니다.
이렇게 짤막한 후기를 남기고 다음 과제를 또 수행 해야겠네요.
뿅.
CORS 관련 읽을 거리
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
- http://www.html5rocks.com/en/tutorials/cors/#toc-introduction