http://www.w3im.com/ko/howto/howto_js_dropdown.html


여기 있는 내용을 토대로 하여 웹서비스 메뉴바를 바꾸려 하였다.

그리고 이틀동안 뻘짓을 하였다.

그리고 실패하였다.


위 사진을 보면 코드 그대로 큰 변화없이 사용하는데

메뉴 버튼 모양을 바꾸고 싶어서 이것저것 만지던 중 드랍기능이 작동이 안되었다.

무엇때문인가 싶어서 모든 경우를 다 찾으며 했는데... 

정답은 저 빨간색 부분에 클래스였다.


저 부분이 없으면, 즉 클래스가 설정이 안되면 기능이 작동을 안한다.

정확히 말하면 드롭다운 메뉴가 발생하게 되는 classList.toggle("show") 기능이 작동을 안하였다.


아직도 왜 그런지 모르겠다.


그리고 이를 다 수정하여 내 코드에 옮기면 또 안된다.

매번 안된다.

자바스크립트 연습 겸 튜토리얼을 통해 게임 기능을 붙였다.

물론 이것도 미완성이다.


게임 성적을 기록하기 위해 자바스크립트 코드만을 사용하려 하는데

매우 이상하고 원하는 대로 안들어가진다.

게다가 너무 덕지덕지 느낌이 많이 나서 정리를 하고 싶은데 도저히 감이 안잡힌다.


확실히 자바스크립트를 써보니 제이쿼리가 얼마나 좋은지 뼈저리게 느낀다.

당분간은 제이쿼리를 안쓰고 이를 사용해서 코드를 짜보려 하는데 얼마만큼 될런지 ...



충격과 공포의 게임...

언어에 대한 이해는 프로젝트 란 생각으로

간단한 게임 한두개 만드는 중..

완성되면 미니게임으로 올려야지 

위는 못난 호야 맞추기(2초동안...원래는 도둑 잡기...)

위는 벽돌 부시기, 현재 공까지만 구현됨


계속 서비스를 만들어 나가다 보니 마주하는 문제는 역시나 자바스크립트!!

제이쿼리는 그래도 나름 익숙해졌다 생각했지만 결국 이는 라이브러리를 활용하는 것이고

오리지널인 자바스크립트도 할줄 알아야 한다는 생각이 들다보니

지금은 계속 이쪽을 집중하고 있다.


오늘 중으로 마무리 짓고 얼른 스케줄러 개발로 넘어가야지

자바의 예외처리,

이전부터 고민해왔는데 막상 찾아보기는 이번이 처음이다.


예외처리를 하는 이유...

빨간줄이 떠서...(과거..)


지금은 만약에 발생할지 모르는 로직상의 오류를 잡기 위해서라 말하고 싶다.

(문법적 오류는 에러라고 한다)


예외처리 방법은 3가지가 있다.

1. 예외복구(try/catch/finally)

2. 예외처리회피(throws)

3. 예외전환(catch / throw)


보통 1번, 2번 방법을 많이 썻던거 같다.


두번째 프로젝트에선 항상 1번 방법을 썻고 이번 프로젝트는 2번 방법을 쓰고 있다.


왜 2번을 쓰냐고? 이건 대답 못하겠다.

단순히 호출한 주체에게 예외를 던진다 라고 말하기에는 좀 민망하다..


결국 예외는 에러를 처리(기록) 하기 위함이고 어떻게 발생할지 모르기에 항시 준비해야한다..

이러한 고민 없이 계속 프로젝트를 진행하다보니 예외처리가 어렵고 어색할 수 밖에 없었는 듯 하다.


여기서 더 나아가 결국 이를 처리하기 위해선 이러한 내용을 로그로 저장을 해야하는 것이 필수적이란 말이기 때문에..

로그로 저장하는 방법을 고민해야할 때가 왔다..

6일째 개발하는게 아니기에 횟수로 변경.


드디어 게시판에 댓글 기능을 추가하고 완료하였다.

댓글기능은 사실상 ajax의 천국 + jquery ...


그렇기에 서버에 익숙해져있던 나에게는 가장 어려운 산이 아니었나 싶다.


댓글 역시 기본 원리는 게시물이랑 똑같다.

그렇기에 DB도 게시물이랑 구조가 같다.

게시물과 구조가 같다는 뜻은 결국 페이징 처리도 필요로 하다는 뜻이기에

지난번 사용했던 페이징 개념을 재사용하였다.


많이 어려웠던 부분은 역시나 jquery

셀렉터가 많이 헷갈리나 이제는 꽤 익숙해졌다.

다만 이번 부분에서 스크립트의 기능들이 다 세분화 되어있다 보니 이걸 그냥 이해하려 한다면 매우 힘들것이다..



운동하자친구야.pdf



위 pdf 의 경우 수기로 정리한 내용인데, 나같은 경우 전체적 흐름을 확인할때는 수기로 쓰고 보는게 좋아서 자주 이렇게 한다.


# modal을 사용할때 동작이 되더라도 회색빛깔로 뜨는 경우가 있는데 

모달의 경우 위치가 고정되어있지않으면 이러한 경우가 많기에 되도록 </body> 태그 바로 앞에서 사용하는게 좋다고 한다.

# 스크립트 상에서 클래스나 아이디 값을 확인할때는 null로 비교하는 것이 아닌 ""로 비교해야한다.


게시물 댓글 기능까지 빨리 마무리 하려고 하는데

생각보다 더디다.


Rest와 ajax를 같이 사용하다보니 좀 손에 안익은 것도 있고

여러모로 힘들다..


갑작스레 접속이 안되는 상황이 발생


오늘은 따로 업데이트도 안했는데 문제가 발생해서 당황..

war를 재배포 하기위해 톰캣을 끄니까


java.net.ConnectException: Connection refused (Connection refused)

라고 에러가 발생..


원인 불명이다.

다시 새로키니까 잘 되긴 하는데 찝찝하다

게시판을 대략적으로 만든 후에

검색 기능은 뒤로 미루고 댓글부터 하기로 결심!!


다행히도 최초에 DB 설계까지 다 해놨기에 DB는 건드릴 일이 없었다.


댓글 처리는 Ajax를 사용


지금 내가 만드는 서비스도 RESTful 하게 만드는 것이 목적이고,

댓글 기능 역시 REST를 이용하여 기능을 구성하였다.

(아직 서버 업데이트 전)


스프링에서 REST 방식을 사용하기 위해선

해당 컨트롤러 위에 어노테이션으로 @RestController을 사용해야한다.

Rest의 핵심은 기존의 컨틀로가 view, 즉 jsp 페이지까지의 이동 역할을 담당했다면

Rest는 오로지 데이타(json)만 주고 받는다. 그렇기에 ajax와 같이 사용하는 비동기적 응답에 안성맞춤이다


물론 이를 위해서 porm.xml에 jackson-databind 라이브러리를 추가해야한다

이게 없으면 charset :utf-8 not suppoted 에러가 발생한다.


Rest에서 리턴 타입은 ResponseEntity를 사용한다

Data와 상태 코드를 같이 줄 수 있기때문!


3일차 라기 보단 3회차가 더 맞는 말인듯..


이번주 파이썬때문에 정신이 팔렸는지 많이 못했다.

겨우 게시글 등록, 조회, 수정 정도만 완료 할 수 있었다.


이전에 연습 삼아서 게시판을 만들어 보긴 했지만

새로 할려니 정말 새롭다.


물론 아직 검색처리나, 댓글, 조회수 등 중요한 기능들이 많이 남았기에 이제 시작이라 할 수 있다..으..


게시판을 만들때 핵심은 페이지 갯수를 계산하는 유틸리티 메서드를 따로 제작해야 한다는 점, 단순 등록, 조회 등은 쉽다.


추가적으로 오늘 한시간 해맨 부분이 세션값이 안불러져올때였는데

이런 경우에는 jsp 페이지 가장 위에 page session =false가 적혀져 있는지 확인하면 된다.

+ Recent posts