목록전체 글 (220)
코딩마을방범대
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. 구글 ..
참고 application.yml에서 가져오기 1. yml에 필요한 정보 기입 aes: key: "secreyKey" 2. build.gradle에 dependency 추가 annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" 3. yml 정보를 가져다 쓸 클래스 생성 getter, setter가 필요하므로 Data 어노테이션으로 대체 @Configuration 적용이 필요함 @ConfigurationProperties의 prefix에 그룹변수명 기입 @Configuration @Data @ConfigurationProperties(prefix = "aes") public class ApplicationSett..
톰캣 시작 전 자바 설치 1. 설치// 설치 프로그램 업그레이드$ sudo apt-get upgrade$ sudo apt-get install openjdk-8-jdk 2. 설치 확인$ java -version 삭제$ sudo apt-get purge openjdk*관리자 권한 얻기$ sudo su root 💡 설치되어 있는 자바 버전 변경 방법! 명령어 입력 후 설치되어 있는 자바 버전들이 출력되는데, 여기서 기본으로 설정하고 싶은 버전의 인덱스를 입력해주면 된다!$ sudo update-alternatives --config javaThere are 2 choices for the alternative java (providing /usr/bin/java). Selection ..
서버 '제공한다'는 뜻을 가진 'serve'에 사람이라는 뜻을 나타내는 'er'을 붙인 단어 클라이언트의 요청을 받으면 서비스, 데이터를 제공하는 컴퓨터 혹은 프로그램 SaaS(Software as a Service) 사용자 클라우드 서비스 서비스 소프트웨어, 클라우드 환경에서 운영되는 어플리케이션 Paas(Platform as a Service) 개발자 클라우드 서비스 운영을 위한 플랫폼 서비스를 제공 IaaS(Infrastructure as a Service) 개발자 클라우드 서비스 서버, 스토리지, 네트워크 장비 등 IT 인프라 대여 MOU(Memorandum Of Understanding) 정식 계약을 체결하기 전에 당사자들끼리 논의한 내용을 문서화한 것 IT용어 컴파일 작성한 소스코드를 바이너리..
포트(Port)란 하드웨어 컴퓨터의 주변 장치와 연결하기 위한 연결단 (물리적 통로) 소프트웨어 네트워크 서비스나 특정 프로세스를 식별하는 논리적 단위 (논리적 통로) 호스트 내부적으로 프로세스가 할당받는 고유한 값 소프트웨어적 의미 NIC(Network Interface Card) 이더넷 카드 및 네트워크 어댑터라고도 하며, 응용프로그램에서 받은 데이터를 네트워크 형식에 맞게 변환하여 전송해 주는 기능을 하는 하드웨어 장치 데이터 송수신시, Datalink 계층에서는 호스트의 NIC로 MAC Address를 판별하고, Network 계층에서는 IP Address로 목적지를 판별함. Mac Address와 IP Address를 통해 목적지 호스트까지 도달한 후에는 포트 번호를 이용해 어떤 프로세스에서 데..