🗂️ Etc
카카오 공유하기 - imageUrl과 serverCallbackArgs 사용법
카카오 공유하기 Javascript 코드 예시 Kakao.init('~~'); Kakao.Link.createDefaultButton({ content: { imageUrl: ~~ }, serverCallbackArgs: '{"key":"value"}' }) Server to Server 통신 방식 imageUrl 내 서버에서 카카오 서버 호출 카카오 서버에서 내 서버를 호출 카카오 공유하기는 위와 같은 방식을 사용한다. 그러므로 imageUrl에는 localhost나 127.0.0.1과 같이 자기 자신을 식별하는 IP는 이미지 삽입이 불가능하다. 공인 IP를 적어줘야만 카카오 서버에서 나의 공인 아이피를 호출하기 때문이다. 더불어 imageUrl의 호출 Url은 카카오 서버에 1시간 동안 캐시로 남아있..
[Thymeleaf] Fragment vs thymeleaf-layout-dialect 차이
둘다 공통 Layout 처리를 하기 위해 사용한다. Fragment 1. index.html (스프링으로부터 redirect 된 실제 컨텐츠 페이지) 컨텐츠 내용 2. header.html 공통 헤더 파일 추가 index.html에 위와 같은 코드를 적으면 header.html의 fragment 값이 headerFragment인 것을 가져오는 코드. thymeleaf-layout-dialect Maven Or Gradle에 thymeleaf-layout-dialect 의존성을 추가해서 사용한다. 1. index.html (실제 컨텐츠 페이지) 2. 스프링으로부터 redirect 된 컨텐츠 페이지 컨텐츠 내용 스프링에서 redirect 된 컨텐츠 페이지에 layout:fragment="content"를 적..
SVN, GIT 장단점
SVN은 GIT보다는 단순하다. SVN를 쓴다는 것은 보통 commit, update만 사용하는 경우가 많다. 이 경우에 어떤 단점이 있는지 알아보자. 어떤게 개발이 끝난거고 어떤게 개발 중인거야? 개발이 끝난 것과 개발 중인 것에 대한 차이는 운영 업무를 할 때 중요하다. 남자, 여자 2명의 개발자가 존재한다. 남자는 14일짜리 업무가 잡혔고 여자는 7일짜리 업무가 잡혔다. 남자는 퇴근시간이 다가오자 습관처럼 소스를 커밋한다. 다음 날 여자도 습관처럼 개발 시작에 앞서 현재 소스를 맞추기 위해 업데이트를 받고 시작한다. 그리고 7일이 지났을 때 여자는 운영계에 소스를 배포하게 되었다. 그런데 운영계가 에러가 나버렸다. 이유가 뭘까? 여자는 남자가 아직 개발 중이었던 소스를 내려받아서 그 위에 개발을 하..
Rest Api는 쓰기 어렵다. 근데 Http Api도 어렵다.
Rest Api를 공부하다 보면 느끼는 것이 Restful하게 개발한다는 것은 굉장히 어렵다는 것이다. Rest Api. 지켜야 될게 왜 이렇게 많아? Rest Api를 구축할 때 딜레마에 빠진다. A 방법, B 방법 다 올바르지 않기 때문이다. 그리고 개발 과정에서 이 룰을 다 지키자니 개발 생산성이 떨어진다. 결국 Http Api 정도만 지키자란 식으로 갈아타게 된다. Http Api만 지킨다는 것은 프로젝트의 앞뒷단의 강결합된 단점은 내버려두고 알아먹기 좋은 코드, 클린 코드만 지켜보자라는 취지가 강한 것 같다. 그렇다고 Http Api는 쉽나? Http Api는 기존 RequestMapping 하나로 처리하던 것을 Http Method를 세분화해서 처리하자는 방식인데 이마저도 어렵다. Get 메소..