본문 바로가기
728x90
반응형

공부215

[Algorithm] 컨벡스 헐 만들기(Convex Hull), Graham Scan 아래 그림과 같은 점들이 있다고 하자. 모든 점들을 이어서 다각형을 만들고 싶다면 어떻게 할 수 있을까? 1. 가장 먼저 y 좌표가 가장 작은 점을 기준으로 잡고 다른 점들과 모두 연결한다. 2. 기준으로 잡은 점을 관통하는 x축에 수평인 직선을 긋고 각도를 계산한 후 작은 순서대로 번호를 매긴다. 3. 번호 순서대로 연결한다. 위와 같은 방식으로 모든 점을 지나는 다각형이 완성되었다. 물론 당연하게도 이 다각형 외에도 여러 모양의 다각형을 만들 수 있다. 각도 알아내기 점들을 각도 순서대로 정렬하려면 각도를 알아낼 수 있어야 한다. 각도를 알아내는 방법은 탄젠트 값을 구한 다음에 탄젠트의 역 함수인 아크 탄젠트 함수에 넣으면 구할 수 있다. 그런데 여기서는 정확한 각도를 알아내는 것이 중요한 것이 아니.. 2023. 6. 2.
[Spring] 스프링 OAuth2 카카오 로그인 (OAuth2 스프링 6편) https://growth-coder.tistory.com/187 이전 포스팅에서 카카오에서 어떻게 카카오 로그인 기능을 제공해주는지 알아보았다. 이번 시간에는 스프링을 사용해서 간편하게 카카오 로그인을 진행해보려고 한다. 이전에 스프링 OAuth2로 네이버 로그인을 구현해보았는데 이 때 사용한 프로젝트에 카카오 로그인을 추가해 볼 예정이다. https://growth-coder.tistory.com/142 [Spring] 스프링 OAuth2 네이버 로그인 (OAuth2 스프링 4편) https://growth-coder.tistory.com/141 [Spring] 스프링 OAuth2 페이스북 로그인 (OAuth2 스프링 3편) 이전 구글 로그인에 이어서 페이스북 로그인도 진행해보려 한다. https:/.. 2023. 6. 1.
[Network] IP fragmentation IP 데이터그램의 형식은 다음과 같다. 데이터 그램은 transport layer의 세그먼트에 header로 감싸 만든 것이라고 배웠다. 그래서 보다싶이 데이터 그램의 data에 해당하는 부분이 segment이고 나머지 부분이 header가 된다. IP fragmentation 만약 IP 데이터 그램의 사이즈가 크다면 여러 데이터 그램을 쪼개게 되는데 이러한 과정을 IP fragmentation이라고 한다. 아래 그림과 같이 라우터에서 라우터로 이동할 때는 link layer를 거치게 되는데 link layer는 MTU(Maximum Transmission Unit)이라는 최대 전송 단위를 가지고 있다. 만약 데이터 그램의 사이즈가 link layer의 MTU보다 크다면 network layer에서 li.. 2023. 5. 31.
[AWS] HTTPS로 서버 배포하기 4편 (ALB와 private EC2 인스턴스 연결) https://growth-coder.tistory.com/181 이전 포스팅에서 Route53에 도메인 설정을 마쳤다. 이제 ALB와 private EC2를 연결할 환경이 마련된 것이다. 이제 ALB를 통해서 외부 요청을 private subnet에 존재하는 EC2로 보내고 응답을 받아서 외부로 반환해주는 설정을 할 것이다. 1. public subnet 생성 ALB가 위치할 public subnet을 생성한다. 외부 요청을 받아야하므로 public subnet에 ALB가 존재해야한다. 이전 포스팅과 동일하기 때문에 설명은 생략한다. 참고로 서로 가용 영역이 다른 public subnet 두 개를 생성해야한다. ALB를 생성할 때 최소한 두 개의 가용 영역을 선택해야한다. 이전 포스팅에서 가용 영역 a.. 2023. 5. 30.
728x90
반응형