project에서 spring-social을 사용중이다. 언젠가부터 연결된 facebook displayName이 null로 나오는 문제가 발생하기 시작했다. ConnectionRepository를 만들어서 사용할때는 초반이라 테스트를 많이 해서 그런지 null이 나오는 것을 대비해 두었는데 어느정도 익숙해진 이후에 만든 api 에서 이런 문제가 발생했다. 이유는 spring-social-facebook이 사용하는 api url 때문이다. spring-social-facebook 1.1.0.RELEASE 는 graph api를 사용하면서 /me 같이 version명시 없는 url을 사용한다. version 명시없는 이 api는 v2.2와 동일한 응답을 주게되고 graph api의 버전으 올라갈 수록 sp..
그동안 진행하던 프로젝트에서 angularjs를 사용하지 않고 handlebars를 사용하기로 했다. 그동안 angularjs 로 만든 곳을 jquery + handlebars로 변경해야하는데 그에 앞서 간단한 샘플앱을 만들어보기로 했다. 댓글 앱인데 모양새는 동일하고 내부만 조금씩 다르다. Angularjs angularjs는 template을 따로 저장한 후에 불러오기보다는 사용하고 싶은 곳에 직접 작성하는 것이 특징이다. 먼저 ng-app을 통해서 사용할 모듈을 지정하고 ng-controller로 사용할 컨트롤러를 지정한다. ng-init 으로 초기화할 액션을 수행할 수 있다. 보였다 안보였다 하는 부부은 ng-show, 클릭이 필요한 부분은 ng-click, 리스트는 ng-repeat 등 머리속에..
angularjs를 사용하다보니 jquery를 거의 사용할 일이 없다는 것을 알았다. 일단 모든 dom관련 코드가 template으로 처리되고 사용자 액션에 대한 반응도 ng- 속성으로 처리가 되니 jquery를 사용해서 dom을 조작할 일이 거의 없다. 그러나 거의 없는 것이지 완전히 없애기는 힘들다. 이유는 수많은 jquery의 플러그인들 때문이다. angularjs 용으로도 만들어진 것이 있으면 감사히 쓰면 되겠지만 그런게 없을 경우가 문제다지금 서비스의 댓글 관련 기능을 만들고 있는 중인데 누군가가 만든 에디터를 참고하면서 만들다보니 결국 jquery로 만들게 됐다. $.fn.editor(...) 이런식인데 당연히 안에선 jquery를 사용한 코드가 어마무지하게 들어가 있다. 에디터를 제일 먼저 ..
angularjs 의 controller는 $scope 변수를 통해서 내부에 사용하는 데이터를 관리한다. $scope는 각 controller간 공유되지 않으며 해당 controller의 scope 안에서만 사용된다. 표시할 데이터가 화면 여기저기 흩어져 있을때 곤란한 일이 생긴다. 하나의 controller로 처리하자니 controller의 커버범위가 너무 커지고 여러 controller로 쪼개자니 controller사이에 데이터를 주고 받아야 한다.어떤 방법이 좋을까 생각하다가 일단 하나의 controller로 처리해보기로 했다. 예상대로 controller의 커버범위가 너무 커져서 그 범위 안에 들어가는 기능이 controller에 추가되기 시작했다. controller가 엄청 커졌고 내부 변수가 ..
글을 선택하면 맥에선 배경색이 푸르스름한 색이 된다. 근데 회색의 글자에 푸르스름한 배경이 들어가니 잘 안보인다. 그래서 바꾸기로 했다. 사실 몰랐는데 찾아보니 ::selection 을 사용하면 되는거였다. 방법은 간단. ::selection { background:#F9DC41; color:#333; } 근데 아직 mozilla에선 지원을 안하는지 ::-moz-selection을 써야한다. webkit도 ::-webkit-selection을 썼던 것 같은데 지금은 된다. 주의할 점은 ::selection, ::-moz-selection 같이 둘을 동시에 지정할 수 없다는 것. 그래서 두번 적어줘야 한다. ::selection { background:#F9DC41; color:#333; } ::-moz-..