가끔 이클립스를 통해 톰캣을 돌리다 보면 서버가 실행되지 않을 때가 있다. 바쁜 상황에서 갑자기 이런 상황에 마주치게 되면 당황하기 마련이라 해결 방법을 알고 있는 것이 좋다. 오늘은 그 중 Several ports required by Tomcat Server at localhost are already in use. 라는 메세지가 떴을 때 해결 방법을 알아보자. 이클립스에서 뜬 경고창이다. Several ports required by Tomcat Server at localhost are already in use. 라는 메세지가 떠 있고 내가 사용해야 하는 포트 (8005, 8080, 8009) 세 가지가 떠 있다. 사실 이런 경우 제일 빠른 방법은 서버 설정 페이지에서 사용하는 포트 번호를 바꿔..
오늘 처리한 이슈는 사용자의 입력 내용과 출력 내용이 다른 부분에 관한 것이었다. 원인은 입력 내용을 text로 화면에 뿌리다 보니 개행문자가 무시되어서 한 줄로 표기 된 부분이다. 간단히 개행문자를 태그로 바꿔서 해결할 수가 있었다. 이렇게 코드를 바꾸면 문제없이 개행문자를 처리할 수 있다. 그런데 문제가 있다. 만약 사용자가 임의로 태그를 입력하게 된다면 어떻게 될까? 경우에 따라서는 페이지가 깨지거나 심각한 오류를 발생시키기도 할 것이다. 만약 스크립트를 삽입하게 된다면 이를통해 다른 사용자를 방해하거나 개인정보 등을 탈취하는 경우도 있을 수 있다. 이렇게 악의적인 스크립트에 의해 페이지가 깨지거나 다른 사용자의 사용을 방해하거나 쿠키 혹은 다른 개인정보를 빼 가는 공격을 Cross Site Scr..
프론트엔드에서 '만' 유효성 검사를 하는 것이 좋지 않다. 이에대해 자세하게 설명한 블로그가 있다. 내용을 요약하면 클라이언트의 개발자 도구로 유효성 검사 부분을 무력화 하는 것이 충분히 가능하기 때문에 반드시 서버에서 유효성 검사를 해 줘야 한다는 것이다. 그래서 유효성 검사를 하는 안전한 방법은 두 가지다. 프론트와 백엔드 양쪽에 모두 검증 코드를 작성한다. 백엔드에 검증 코드를 작성 후, 백엔드 결과에 따라 프론트는 메세지만 노출한다. 이런 사실은 미리 알고 있었기 때문에 나는 항상 백엔드에서 검증코드를 만들어 왔는데 실무에서 직접 유효성 검사 코드를 작성하다보니 역시 프론트단에서도 유효성 검사는 필요하다. 사실 개발자 도구를 통한 회피는 쉽게 발생하는 일이 아닌데 프론트엔드에서 쉽게 처리할 수 있..
프론트앤드에서 자바스크립트를 사용하다 보면 DOM에 접근해 사용하는 경우가 많다. 문서 객체 모델은 직관적이고 편리하지만 무분별하게 접근해서 사용하다 보면 나중에 유지보수에 문제가 생긴다. 가령 다음과 같은 코드를 보자. (JQuery가 사용되었다) if ($('#fileName').parents('div').prev().val() == '') { ... return false; } fileName 이라는 id를 가진 노드를 찾아서 상위에 있는 div 태그 노드의 바로 이전 노드의 value 값이 비어있는지를 판단하고 있다. 그냥 눈으로 보기만 해도 복잡하다. 만약 fileName 이라는 id를 가진 노드와 상위 div 노드 사이에 다른 div 태그가 삽입되거나, 상위 div 태그와 그 이전 태그 사이에..
알 수 없는 이유로 인해 DB에 중복된 값이 들어갔는지 확인하려면 어떻게 하는게 좋을까? 나는 데이터를 엑셀로 추출해서 비교해 봐야 하나 했는데 선배가 SQL로 아주 쉽게 찾는 방법을 알려줬다. 까먹기 전에 기록해 둔다. 비법은 GROUP BY 이다. GROUP BY를 이용해서 그룹을 묶은 후 COUNT 함수를 사용해서 개수를 세면 중복된 값이 검사가 된다. 원래 이런 목적으로 사용하는 쿼리는 아니지만 효율적으로 중복값을 셀 수 있다. SELECT COUNT(*) FROM tbl_table GROUP BY duplicated_column; 아쉽게 지금 생긴 오류의 원인은 DB에 중복된 값이 들어가서는 아니었다. 그래도 SQL 활용법을 하나 더 익힌걸로 만족한다.
- Total
- Today
- Yesterday
- 문장 생성기
- Warning
- 클린코드
- 크롬
- 마르코프 연쇄
- Count
- restful api
- Spring in Action
- was
- RESTful
- Markov
- 동적계획법
- 로그
- 유지보수
- 코딩의 기술
- java
- REST API
- 마르코프
- 디자인패턴
- 경고
- 전략패턴
- CONVENTIONS
- 야근
- DP
- 자바스크립트 개론
- 자바스크립트개론
- GROUP BY
- html
- 몰라서망신
- markov chain
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |