iBATIS 접견 그 이후.
작년 이맘때쯤 미투데이를 이용하다가 펭도님에게 thinkgeek 에서 구입한 Shower Shock Caffeinated Soap을 선물하기 위해 가볍게 만들기 시작했던 OpenID 귓속말 백엔드에 iBATIS를 적용했습니다.
몇가지 아쉬운 점이라면!
첫번째
sqlmap.xml 파일에 문법 오류가 있을 때.. 왜 라인수는 안가르켜주는 겁니까 ㅡ,.ㅡ
샵 열고 샵 안닫았다가 발생하는 오류 NoSuchElementException .. 열고 안닫았다고 알려주면 좋을텐데, 뭐 google 의 도움으로 # 안닫았은거라는 거 까지는 알 수 있었지만 (좀 더 오류메시지가 친절했더라면) 문제는 900라인에 가까운 sqlmap.xml 파일에서 그놈을 찾기란 -_-...
게다가 아주 간단히 property 를 proeprty로 오타쳤다고 했을 때도, property 속성이 꼭 있어야 한다는 친절한 메시지까지는 좋은데.. 라인 수 좀 알려달라고요 T_T
두번째
cacheModel 관련된 것입니다. 이건 어디까지나 iBATIS 적용 대상 서비스가 귓속말이여서 그런 것이지만 flushOnExecute에 update, delete, insert 의 id가 들어가는 것이 보통인데, 전체 이용자가 함께 공유해서 보는 view 가 없다보니.. 사용자별 cache를 할 수가 없습니다.
A란 사용자의 '새로 도착한 메시지 개수' api인 /api/hasunread (이것은 귓속말 API 문서에는 없고 Firefox Extension 에서만 사용하는 API 입니다
) 의 경우 콜수가 초당 xx개에 육박하기 때문에 cache가 적용되면 참 좋을 녀석인데, B에게 새로운 메시지가 도착해도 A의 cache가 날라가 버리니 원.. ToT
iBATIS의 cache는 충분히 훌륭하지만, 약간만 머리를 굴리면 지금의 iBATIS에도 프로퍼티별(?) cache를 가능하게 할 수 있을 듯 해서 많이 아쉽습니다.
그래도 너무너무 좋아요! 아직 Hibernate 세상에는 안들어갔지만 이렇게 배우기 쉽고 쓸만한 sql mapper를 알게 되어 기쁩니다 ![]()
Continue Reading
Discover more thoughts and insights
Android 2.0 SDK 출시를 기념하며
며칠전 구글 안드로이드 SDK에 Android 2.0 지원이 들어갔습니다. 안드로이드가 나왔을 때부터 그들을 유심히 살펴보고 있었지만, SDK 설치 후 Hello World를 만들어 본다거나 하는 등의 수동적인
프로그래머가 창의적이기 힘든 이유
쇼펜하우어는 그의 저서 문장론에서 독서란 스스로 해야할 생각을 타인에게 떠넘기는 행위라 하였다. 독서는 글을 읽는 것이지만 소스코드를 읽는 것으로 확장하여 사상해보겠다. 프로그래머는 읽어야 할 책이 대단히 많다.
Discord가 RN 개발자를 까는 건 아니겠지만
Discord 서버를 Go에서 Rust로 바꾼 썰 푸는 걸 재밌게 읽어서 다른 글도 읽어봤는데 충격을 받았고 꽤 실망했다. 저자가 의도했을 리는 없겠지만 RN 개발자들 까는 글이 된 느낌이다. RN 잘 쓰면