진이의 Developer Story
1. DB Browser for SQLite 를 다운받는다.2. 파일 > 데이터베이스 열기 > SVN DB (프로젝트 폴더내 .svn 폴더 밑 wc.db 파일) 선택3. SQL 실행 탭 선택 후 아래의 쿼리를 한번 씩 실행해준다. DELETE FROM WORK_QUEUE; DELETE FROM WC_LOCK; 질의가 성공적으로 실행되었습니다: DELETE FROM WORK_QUEUE(0ms, 1 행이 영향받았습니다 걸렸습니다.) 질의가 성공적으로 실행되었습니다: DELETE FROM WC_LOCK (0ms, 1 행이 영향받았습니다 걸렸습니다.) 위와 같이 "1 행이 영향받았습니다" 라고 뜨면 lock 이 해제된 상태이다. 4. 파일 > 변경사항 저장하기
포워드IP의 경우 제대로 걸러지지 않는 경우가 있다. 헤더에서 구분하여 IP값을 받아오자. public static String getClientIP() { HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); String ip = request.getHeader("X-FORWARDED-FOR"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.len..
저번에 만들어두었던 별풍선 수집기에 문제가 있음은 진작에 알고 있었다.잘못된 네티의 사용방법, 설계상의 문제로 하루에 한번은 재시작을 해주어야 했는데...이번에 다시 한번 새로 설계하여 제작해봤다. 한번도 사용해보지 않은 스프링 부트를 사용하며, 지금까지 스프링에 대한 이해가 얼마나 부족한지도 깨닫게 되더라.아무래도 웹어플리케이션이 아니다 보니, 스코프에 대한 이해가 부족하여 의존성 주입이 안되는다던지 등... 새롭게 공부를 한 느낌이 든다. 네티는 이번이 2번째 사용이다보니 저번보다 훨씬 수월하게 코딩이 되었다.아래는 스프링부트로 만들어본 새로운 버전의 수집기. 며칠돌려보고 에러가 없다면 좋을것 같지만...재부팅없이 며칠을 버텨줄지 모르겠다.