2) slf4j 설정하기 SLF4J란? logging 관련 라이브러리는 다양하다. 이러한 라이브러리들을 하나의 통일된 방식으로 사용할 수 있는 방법을 SLF4J는 제공한다. SLF4J는 로깅 Facade이다. 로깅에 대한 추상 레이어를 제공하는 것이고 interface의 모음이다. SLF4J를 이용해 로깅 라이브러리 사용하기 녹색의 application들은 하늘색의 SLF4J를 사용하고 있습니다. application은 SLF4J를 사용함으로써 로깅 라이브러리로 어떤 것을 사용하던지 같은 방법으로 로그를 남길 수 있게 됩니다. 이런 방식의 장점은 나중에 더 좋은 로그 라이브러리가 등장하게 돼서 로그 라이브러리를 교체한다고 하더라도 application의 코드는 변경될 필요가 없습니다. maven에 SLF..
1) 로깅이란? 로깅(Logging)이란? 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동 프린트 줄 넣기(printlining)는 간단한, 보통은 일시적인, 로그를 생성하기만 한다. 시스템 설계자들은 시스템의 복잡성 때문에 로그를 이해하고 사용해야 한다. 로그가 제공하는 정보의 양은, 이상적으로는 프로그램이 실행되는 중에도, 설정 가능해야 한다. 일반적으로 로그 기록의 이점 - 로그는 재현하기 힘든 버그(예: 개발이 완료된 환경에서는 발생하지만 테스트 환경에서는 재현할 수 없는 버그)에 대한 유용한 정보를 제공할 수 있다. - 로그는 성능에 관한 통계와 정보(예: 구문들 사이에 걸리는 시간)를 제공할 수 있다. - 설정이 가능할 때, 로그는 예기치 못한 특정 문제들을 디..
2) file upload의 확장자 검사 및 썸네일 노출 이미지 파일 확장자 유효성 검사 파일에 제한을 둬서 서버에서 쉽게 처리할 수 있도록 또는 어떤 UX 적인 이유로 사용자에게 이런 이미지만 보여줘야 하는 경우 파일의 확장자를 제한할 수 있습니다. file의 확장자 검사는 HTML input 태그의 accept 속성으로 쉽게 필터링할 수 있습니다. 이렇게 하면, file선택 창에서 지정한 확장자 파일만 선택할 수 있도록 자동으로 브라우저가 돕습니다. 그런데, accept 속성의 브라우저 지원상황이 깔끔한 상태가 아니므로, 아래에서 더 많은 브라우저에서 동작하는 코드에 대해 알아보겠습니다. file을 업로드 하면, change 이벤트를 통해서 input type의 변화를 감지할 수 있습니다. 그리고 c..
1) file upload방법의 이해 file upload form태그의 데이터를 보낼 때, file도 input 방식으로 업로드가 가능합니다. file type에도 name으로 이름을 지정해야 서버에서 이를 인식해서 데이터를 얻을 것입니다. 이전처럼 문자열 기반의 데이터를 보내는 것과는 다르게 file은 바이너리 형태의 데이터를 보냅니다. 아래는 input type이 file인 경우 예제입니다. 클라이언트 입장에서는 file을 올린다고 해서 크게 다르진 않습니다. input의 type을 file로 설정하고 name설정을 해서 클라이언트/서버 간의 보낼 데이터의 이름을 지어주면 됩니다. 그리고 서버는 해당 name을 기준으로 클라이언트가 보낸 데이터들을 구분해서 처리합니다. id는 클라이언트에서만 처리하..