알고리즘 - 위상정렬
·
문제 풀이/백준 문제풀이
위상 정렬(Topological Sort)이란?위상 정렬(Topological Sort)은 방향 그래프에서 노드들을 선후관계를 따져 정렬하는 알고리즘입니다. 이 알고리즘은 DAG(Directed Acyclic Graph), 즉 사이클이 없는 방향 그래프에서만 동작합니다. 위상 정렬은 작업의 순서가 중요한 문제에서 자주 사용됩니다. 예를 들어, 프로젝트 관리에서 작업 간의 의존 관계를 정의하고, 작업을 어떤 순서로 수행해야 하는지를 결정할 때 사용할 수 있습니다.위상 정렬의 주요 개념방향 그래프: 그래프에서 간선이 방향을 가지며, 노드 간의 관계가 단방향인 그래프입니다.사이클 없음: 그래프 내에 자기 자신으로 돌아오는 경로가 없어야 합니다. 사이클이 존재하면 위상 정렬을 할 수 없습니다.진입 차수: 특정 ..
[Spring- LogBack] LogBack과 Log4j2 중 어떤걸 사용할까?
·
Spring
로깅의 필요성로깅이란, 시스템의 상태 및 동작 정보를 시간 경과에 따라 기록하는 것을 의미한다.로깅을 통해 개발자는 개발 과정 혹은 개발 후에 발생할 수 있는 애플리케이션의 문제를 진단하고 추적할 수 있다.로깅 과정에서 결정해야 할 사항 중 하나는 로그 수준을 어느정도로 제한하는가? 이다. 애플리케이션의 세부 내용까지 로깅하면 상세한 로그들이 지나치게 많이 출력되어 가독성도 떨어지고 처리도 어렵다.로깅 메시지는 대부분 파일 혹은 콘솔에 기록되기 대문에 I/O의 메모리를 잡아먹는다. 이러한 부분을 고려하여 수준을 정해야 한다.스프링에서의 로깅스프링의 강력한 장점중 하나인 PSA(Portable Service Abstraction)을 사용하여 JCL(Jakarta Commons Logging)을 사용해서 로..
[AWS / 사진첨부] 탄력적 IP가 무엇이고 어떻게 설정하지?
·
AWS
탄력적 IP는 왜 설정하는걸까? 이유를 알아보자. 1. 탄력적 IP (Elastic IP)란?EC2를 올리게되면 ENI(Elastic Network Interface)가 따라오게 된다. ENI는 가상의 랜카드이다. 가상이라고 하지만 MAC주소(물리 주소)와 보안그룹에 연결되어 있고 IP도 보유하고 있다.ENI를 EC2사이즈에 따라 여러대 달 수도 있다. ENI에 PublicIP를 달게되면 외부에서도 접속할 수 있게 된다.2. 왜 탄력적 IP를 사용하지?인스턴스의 Public IP는 Static IP(고정적 주소)가 아니라 Dynamic IP(동적 주소)이다.EC2 인스턴스를 중단하고 새로 실행하면 새로운 주소를 발급받는다. 만약 DNS 도메인에 EC2 인스턴스의 IP를 연결해놨는데 중단후에 다시 시작한다..
[AWS/ 사진첨부] EC2 서버 보안 그룹(인바운드/아웃바운드) 설정하기
·
AWS
이 부분 또한 왜 보안 그룹을 설정하는지, 인바운드/아웃바운드는 왜 설정하고 어떻게 설정해야 하는지 먼저 알아본 후에 사진을 보고 보안그룹을 설정해보자. 1. 인바운드인바운드는 자신의 서버에 누가 들어올 수 있는지 규칙을 명시하는 방법이다.기본적으로 인바운드는 모든 포트를 닫는 것을 전제로한다. 인바운드 규칙에서 설정하지 않는 포트들은 사용할 수 없는 포트들이다. 인바운드는 최소한의 포트만을 개방하여 서버에 관여할 수 있는 관리자 및 사용할 프로토콜들만 최소한으로 열어두는것이 원칙이다. 2. 아웃바운드서버에서 외부로 데이터를 전송할 때 규칙을 의미한다.모든 포트를 허용하는 것을 전제로 한다. 대부분의 아웃바운드에 대해 어느정도 트래픽을 무료로 제공하지만  일정 트래픽을 넘어가면 과금을 하는 형태이다.  ..
[AWS/ 사진첨부] EC2 서버 Free Tier로 개설하기
·
AWS
AWS 웹서비스의 EC2를 사용하기 이전에 왜 우리는 EC2를 사용하는가에 대해 고찰해볼 필요가 있다. AWS에서 단순히 프리 티어로 EC2를 제공하기 때문에 사용하기도 하지만 면접에서 그렇게 대답했다간 면접관들과 남은 시간에 냉장고안에서 마냥 싸늘한 면접시간을 보내야 하기 때문이기도 하다 ㅎㅎ 1. EC2란?Amazon Elastic Compute Cloud의 약자이다. 말 그대로 확장 가능한 컴퓨팅 용량을 제공한다.이를 통해 AWS환경을 컴퓨팅에 사용하고 리소스를 완전히 제어할 수 있다.일반적인 실패 시나리오를 방지하고 개발자가 장애 복구 능력이 뛰어난 모바일 응용 프로그램을 개발할 수 있는 도구를 제공한다.2. EC2의 장점은?다양한 운영 체제로 인스턴스를 시작할 수 있다.사용자 정의 애플리케이션 ..
백엔드 자바 CS 면접 빈출 질문 대비하기 - Security
·
면접 준비
https://sunro1994.tistory.com/230 백엔드 자바 면접 빈출 질문 대비하기 - 리스트 업어느날 한 취업준비를 하기 위해 여러 영상들을 보고 어떤 질문들을 주로 준비해야 하는지 하나씩 리스트로 추출하고 있었다. 리스트를 만들어본 결과 내가 가장 대답하기 곤란하고 생각지도sunro1994.tistory.com 이전에 적었던 질문들에 대한 답변을 적어보도록 하겠습니다. 추가적으로 중요한 개념들도 추가하여 적고 있습니다.아래 내용에서 추가되었으면 좋겠다! 싶은 내용들은 댓글에 리뷰와 함께 적어주세요 :)  [Security]1. 왜 Security를 사용했는가?- 핵심 키워드 : 인증, 권한 관리, 데이터 보호 기능- 의도 : 웹 개발 과정에서 자바 개발자들이 보안 기능을 추가할 때 필요..