들어가며docker-compose를 이용하여 Spring Boot 애플리케이션과 MySQL 서버를 docker 컨테이너로 띄어보았다. 먼저 다음 두 파일은 같은 디렉토리에 있어야 한다.- docker-compose- Dockerfile 같은 위치에 있어야만 docker-compose.yml에서 Dockerfile 인식이 가능하다. 설정파일 다음으로 docker-compose.yml 내용을 살펴보겠다.version: '3' services: database: container_name: mysql_db image: mysql/mysql-server:5.7 restart: unless-stopped # 수동으로 종료하지 않는이상 계속 재시작 environment: ..
들어가며최근 Kubernetes(K8S)를 공부하면서 Udemy 강의를 통해 로컬 환경에서 Minikube를 사용해 다양한 명령어와 기능을 배우고 있습니다. 제 환경은 macOS에서 Minikube를 Docker 드라이버로 실행하고 있는데, 이러한 환경에서 강사와 달리 예상치 못한 에러가 발생했습니다. 특히, NodePort로 노출한 서비스에 외부에서 접근이 되지 않는 문제가 있어 이를 공유하고자 합니다. NodePortKubernetes에서 NodePort는 클러스터 외부에서 내부 서비스를 노출하기 위해 사용하는 가장 기본적인 방법 중 하나입니다. NodePort를 사용하면 클러스터 노드의 IP와 지정된 포트로 서비스를 노출할 수 있습니다. 이는 Kubernetes에서 가장 간단하게 서비스를 외부에 노..
들어가며DFS 알고리즘을 이용한 이진트리 순회과정을 코드로 구현하고 그림을 통해 이해하려고 한다. 순회의 방문 순서는 다음과 같다.전위순회 : root, left, right중위순회 : left, root, right후위순회 : left, right, root즉 root의 위치가 어딨는지에 따라 다르므로 root 기준으로 생각하면 된다. 코드 구현먼저 하나의 Node라는 객체를 생성해야 한다.Node 는 하나의 정점이라고 생각하면 된다.Node 는 field로 data, left, right 를 가지는데 left, right를 연결된 노드라고 생각하면 된다. class Node { int data; Node lt; Node rt; public Node(int data) { ..
들어가며캡스톤 프로젝트를 진행하면서 WebRTC를 이용한 비대면 화상채팅 기능을 개발하였다. 처음 만들어보는 기능이라 관련 용어가 생소하여 러닝커브가 있었기 때문에 이를 기록하고자 글을 작성한다.필자는 Signaling서버 구축을 담당하였기 때문에 Client 코드는 포함하지 않았다.WebRTC란?WebRTC (Web Real-Time Communication) 는 웹 브라우저나 모바일 애플리케이션에서 실시간 음성, 영상 및 데이터 통신을 가능하게 하는 중요한 구성 요소들이다. 주로 다음과 같은 기능을 제공한다.음성 통화 (Audio Calling): 브라우저 간에 음성 데이터를 교환영상 통화 (Video Calling): 브라우저 간에 영상 데이터를 교환데이터 채널 (Data Channel): 텍스트나..
들어가며최근 토이 프로젝트 진행 중에 발생한 CORS 이슈에 대해 원인과 해결 방법에 대해 정리한 내용을 글로 쓰고자 한다.React에서 한국투자증권 오픈 API를 이용하여 데이터를 보여주는 방식으로 진행하고자 하였다.하지만 오픈 API 서버에서 CORS 정책을 허용하지 않아서 React Client에서 직접적인 API호출이 불가능하다는 사실을 알게 되었다.여기서 CORS란 무엇인지 간단히 알아보자. CORS란?Cross-Origin Resource Sharing (CORS)는 웹사이트가 서로 다른 출처에서 리소스(데이터나 콘텐츠)를 요청하고 공유하는 방법을 의미한다. 그렇다면 CORS가 왜 필요할까? 예시를 들어보자. 1. 같은 출처인 경우https://mysite.com 해당 사이트에서 자바스크립트로..
Comparator vs Comparable처음엔 이해가 안될 수 있으니 밑에 예제들을 참고해주세요.특징ComparableComparator정의 위치클래스 내부클래스 외부정렬 기준의 수단일 정렬 기준다수의 정렬 기준주요 메서드compareTo(T o)compare(T o1, T o2)용도기본 정렬 기준을 정의할 때 사용다양한 정렬 기준을 정의할 때 사용구현 방식public class ClassName implements ComparableComparator comparator = new Comparator() { ... };자주 사용되는 경우자연스러운 순서를 정렬해야 할 때특정 상황에 따라 다른 기준으로 정렬할 때예시public int compareTo(Person other) { return this...