목록💡 백엔드 (147)
코딩마을방범대
로깅(Logging)이란? Log4j란? JAVA를 사용하여 Log를 남기는 도구 자바 기반의 로깅 유틸리티로 Apache에서 만든 오픈소스 라이브러리 log4j의 설정은 log4j.properties / log4j.xml 로 설정 Log 컴퓨터가 언제, 무슨 일을, 어떻게 했는지 남겨 놓은 기록 Log4j 구성 요소 요소 설명 Logger 출력할 메시지를 Appender에 전달 Appender 전달된 로그를 어디에 출력할지 결정(콘솔 출력, 파일 기록, DB 저장 등) Layout 로그를 어떤 형식으로 출력할지 결정 Appender 로그를 출력할 위치, 출력 형식 등을 지정 Appender태그는 Logger태그들보다 위에 있어야 함 요소 설명 ConsoleAppender org.apache.log4j...
Controller가 제대로 동작하지 않을 경우 확인해야하는 사항 1. 컨트롤러 클럐스의 최상단에 @Controller 어노테이션을 넣었는지 2. 컨트롤러가 메인 클래스(~Application.java)가 위치한 패키지 하위에 위치해있는지 메인 클래스에 붙어있는 @SpringBootApplication 어노테이션은 @Configuration, @EnableAutoConfiguration, @ComponentScan 3가지를 합친 것 @Configuration: 해당 클래스가 설정 파일임을 알려주는 용도 @EnableAutoConfiguration: 스프링의 다양한 설정이 자동으로 구성되고 완료됨 @ComponentScan: 자동으로 컴포넌트 클래스를 검색하여 컴포넌트와 빈 클래스를 Spring Appli..
APT를 이용해 tomcat을 설치한 경우 pwd: 현재 위치 확인 배포위치: /var/lib/tomcat9/webapps 1. 배포 위치로 war 파일 이동 $ sudo mv ./test.war /var/lib/tomcat9/webapps pwd: 현재 위치 확인 권한 부여 필요 $ sudo chown 계정명:계정명 폴더명 -R 2. user를 그룹에 추가하기 $ sudo usermod -aG tomcat 계정명 3. 재부팅 종료 1. fuser을 통해 pid번호 검색 $ sudo service tomcat9 stop $ sudo fuser -n tcp 포트번호 2. pid 번호를 이용해 프로세스 종료 $ sudo kill -9 pid번호 실행 $ sudo service tomcat9 start 4. ..
1. 우분투 서버 업데이트 $ sudo apt-get update 2. MySQL-Server 설치 $ sudo apt-get install mysql-server MySQL 기본 설정 방법 외부 접속 기능 설정 (포트 3306 오픈) $ sudo ufw allow mysql MySQL 실행 $ sudo systemctl start mysql Ubuntu 서버 재시작시 MySQL 자동 재시작 $ sudo systemctl enable mysql MySQL 접속 $ sudo /usr/bin/mysql -u root -p MySQL 비밀번호 변경 방법 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('바꿀비번'); MySQL 버전 확인 mysql> show v..
SMTP / POP3 / IMAP란? SMTP 편지를 쓰고 동네에 있는 우체통에 해당 편지를 넣는다. 우체통: SMTP 서버 웹 상에서 메일을 주고 받기 위해 이용되는 프로토콜(규약) 클라이언트 측에서 메일 서버로 메일을 보낼 때 사용 클라이언트가 이메일을 보내면 바로 상대편의 컴퓨터로 메일을 송신하는 것이 아니라, 중간에 메일 서버를 거치게 됨 POP3 집배원이 해당 우체통에 있는 모든 편지를 가져간다. 집배원: POP3 서버 사용자의 기기로 이메일을 다운로드하여 읽는 프로토콜(다운로드한 내용은 서버에서 삭제되기에 동일한 기기에서만 이메일 확인 가능) IMAP 받는이가 사는 동네 우체국으로 편지가 분배 된다. POP3 서버에 의해 해당 이메일이 전송 된다. 서버에서 이메일을 읽는 프로토콜(여러가지의 디..
참고사이트 Date 비교 Date는 안전하지 않은 Null 처리, 불안전한 스레드 처리, 메서드의 부재 등 다양한 문제가 있음 1. compareTo( ) 0: 값이 동일한 경우 0보다 작은 값: 호출한 Date(date1) 객체가 이전 날짜인 경우 0보다 큰 값: 이후 날짜인 경우 // date1이 date2 보다 작으면 0보다 작은값 date1.compareTo(date2); 2. before( ) true: 호출한 Date(date1) 객체가 인수로 전달된 Date(date1) 객체보다 이전 날짜인 경우 false: 호출한 Date(date1) 객체가 이후 날짜이거나 동일한 경우 date1.before(date2); 3. after( ) true: 호출한 Date(date1) 객체가 인수로 전달된 ..
Entity에서 암복호화 하는 방법 @ColumnTransformer 어노테이션 활용 read를 통해서 불러올 데이터를 복호화 write를 통해서 저장할 데이터를 암호화 @ColumnTransformer( read = "AES_DECRYPT(FROM_BASE64(HP), " + key + "," + iv)" // 칼럼 값을 가져올 때 write = "FUNCTION_ENCRYPT(?)") // 칼럼 값을 쓸 때 private String hp; JAVA 비동기 처리(Thread) 1. Config 파일을 이용해 스레드풀 사용하기 Executor 스레드풀을 구현하기 위한 인터페이스 Runnable만 개발자가 만들고 생성, 종료, 없애기 작업(일련의 작업)들은 Executors가 담당 스레드 (Thread)..
메일의 전송과정 danbi@naver.com -> danbi@gmail.com 으로 메일 발송 시 naver 메일 서버를 거친 후 gmail 서버를 거쳐서 전달됨 메일 프로토콜의 종류 1. SMTP Protocol(Simple Mail Transfer Protocol) 전자 메일 전송을 위한 표준 프로토콜. 클라이언트트가 서버에 이메일을 전달하는데 사용된다. 2. POP3 Protocol(Post Office Protocol) 서버에서 이메일을 수신할 수 있도록 한다. 서버의 이메일은 삭제됨. 3. IMAY Protocol(Internet Message Access Protocol) 서버에서 이메일을 수신할 수 있도록 한다. 서버에 이메일을 보관함. (트래픽 증가, CPU 사용 증가) 세팅법 1. 구글 ..