01. CI/CD란?CI/CD는 Continuous Integration, Continuous Deployment 의 약자로, 지속적 통합, 지속적 배포 라는 의미를 가진다.지속적 통합은 여러 개발자들이 작성한 코드를 지속적으로 병합하며, 그 과정에서 발생할 수 있는 문제를 발견하는 테스트 과정을 포함한다.지속적 배포는 개발된 코드를 실시간으로 운영 환경에 배포하는 과정을 이야기 한다.예시로 여러명의 개발자들과 협업하는 경우를 생각해보자.각 개발자들이 작성한 코드를 main branch에 병합하는 과정에서, 아마 높은 확률로 Conflict가 발생할 것이고, 이를 직접 검토하며 통합하는 적업은 꽤나 많은 시간을 소모할 것이다.또한, 이렇게 작성된 코드를 배포하는 과정도 꽤나 복잡하다. 서버 PC에 접속 ..
분류 전체보기
로그 : 프로그램 개발 및 운영 과정에서 발생한 오류 또는 처리 과정을 출력하는 텍스트로그 레벨 :로그 메세지의 중요도 별로 등급을 매긴 레벨, 로그 레벨을 필터링 하여 필요한 로그만 볼 수 있다.FATAL: 아주아주 치명적인 에러 상황에 사용되는 로깅 레벨ERROR: 운영에 치명적인 에러 또는 개발자가 의도하지 않은 에러가 발생했을 때 사용되는 로깅 레벨WARN: 위험할 수 있는 상황을 경고하는데 사용되는 로깅 레벨INFO: 운영에 필요한 정보를 기록하는데 사용되는 로깅 레벨DEBUG: 디버깅 목적으로 사용되는 로깅 레벨TRACE: 가장 상세한 로깅 레벨, 모든 로그 메시지를 기록함이 외에도 ALL, OFF 등의 레벨도 존재하지만, 일반적으로는 위의 6가지로 레벨을 구분위에서 아래의 레벨 순으로 로그를..
01. SSH(Secure Shell)란SSH: 네트워크 상에서 다른 컴퓨터를 통해 PC를 원격으로 조작할 수 있게 해주는 프로토콜 Shell을 사용하여 원격으로 외부 PC를 조작한다. 이때 PC를 조작하는 명령들은 대칭키와 비대칭키를 활용하여 암호화 된다. 때문에 기존의 Telnet 프로토콜보다 보안상 뛰어나다. 02. SSH 통신 사용 사례 및 예시 SSH 통신은 주로 서버 PC를 원격으로 조작하기 위해 사용된다. 운영 환경에서 서버 PC는 별도의 서버실에 존재하거나, 또는 클라우드 플랫폼을 사용하여 구축된다. 이때 서버 PC를 조작하기 위해 매번 서버실에 출입하기에는 번거롭다. 이런 경우 SSH 프로토콜을 사용하여 개인 PC에서 원격으로 서버 PC를 조작할 수 있다. PuTTY, Xshell 등의 ..
00. 암호화통신과정에서 암호화는 매우 중요한 요소이다.HTTPS, SSH 등 여러 부분에서 사용된다.크게 대칭키 를 사용하는 암호화 방법, 비대칭키 를 사용한 암호화 방법으로 분류할 수 있다.01. 대칭키대칭키는 암호화에 사용되는 키와, 복호화에 사용되는 키가 동일한 키를 의미한다.대칭키를 사용한 암호화, 복호화 과정대칭키를 사용한 암호화 과정은 간단하자. 위 그림을 보자.왼쪽의 사람(A)이 오른쪽의 사람(B)에게 평문을 암호화 하여 전달하고자한다.A는 임의의 대칭키를 만들어서 평문을 암호화한다.이때 암호화에 사용된 대칭키를 사용하여, 암호문을 복호화 할 수 있다.A는 B에게 대칭키를 전달한다.A는 B에게 암호화된 문장을 전달한다.B는 A에게 받은 대칭키를 사용하여 전달받은 암호문을 복호화한다.대칭키의..
·알고리즘
문제문제 바로가기풀이입력은 연속된 세개의 숫자에 대한 문자열이 주어짐연속된 3개의 정수가 모두 3의 배수, 5의 배수일 경우는 존재하지 않음3의 배수 n이 한번 나오면, 다음 3의 배수가 나오기까지 n+1, n+2를 거쳐야 함5의 배수 x가 한번 나오면, 다음 5의 배수가 나오기까지 x+1, x+2 ... 등을 거쳐야 함그러므로 3개의 입력 중 최소 한가지는 i가 그대로 출력됨이를 가지고 다음에 올 정수를 예측 가능코드// Don't place your source in a packageimport java.util.*;import java.lang.*;import java.io.*;// Please name your class Mainclass Main { public static void mai..
·알고리즘
문제문제 바로가기풀이티셔츠 수각 사이즈 별로, t로 나누었을 때 나누어 떨어지는 수 + 1만약 딱 나누어 떨어질 경우는 예외펜 자루 수묶음 수: 전체 인원 / p자루 수: 전체 인원 % p코드// Don't place your source in a packageimport java.util.*;import java.lang.*;import java.io.*;// Please name your class Mainclass Main { public static void main (String[] args) throws java.lang.Exception { Scanner sc = new Scanner(System.in); // input int n = sc.next..