전체 글69 Spring REST Docs API 문서화 Spring REST DocsSpring REST Docs의 목적은 RESTful 서비스에 대한 정확하고 읽기 쉬운 문서를 작성하는 데 도움을 주고 테스트 코드를 통한 문서를 자동으로 생성해 줍니다. 기본적으로 Asciidoctor를 사용해 문서를 작성합니다.Asciidoctor는 일반 텍스트를 처리하여 사용자의 필요에 맞게 스타일과 레이아웃이 적용된 HTML을 생성합니다. 많이 사용하는 API 문서화 도구에는 Spring REST Docs와 Swagger가 있습니다. 둘 중에 Spring REST Docs를 사용한 이유는 다음과 같습니다.Swagger는 설정 및 사용 방법이 비교적 쉽고 "Postman"과 같이 문서에서 직접 요청을 보내 응답 값을 확인할 수 있습니다. 하지만 Swagger의 경우 제품.. 2025. 5. 9. 그래프 이론 & 인접행렬 & 인접리스트 BFS가 궁금하면 아래 글을 참조BFS (Breadth-First Search)DFS가 궁금하면 아래 글을 참조DFS (Depth-First Search)✔ 그래프 이론 그래프는 수학에서 객체 간에 짝을 이루는 관계를 모델링하기 위해 사용되는 수학 구조이다.그래프(graph)는 아래의 순서쌍으로 볼 수 있다.$$ G = (V, E) $$여기서 V는 정점(vertex) 혹은 노드(node)를 의미하고, E는 간선(edge) 혹은 변을 의미한다. 즉, 그래프는 정점 집합과 간선 집합으로 선으로 연결된 구조이다.✔ 그래프 종류 위 그림은 6개의 노드 7개의 간선을 가지는 그래프이고, 6번 노드의 차수는 1이고, 5번 노드의 차수는 3이다.이와 같은 그래프를 무향 그래프(무방향 그래프, undirected gr.. 2025. 4. 17. 단위 테스트(Unit Test) & 통합 테스트(Integration Test) 지금까지 테스트 작성을 거의 하지 않았다. 애플리케이션을 실행해서 직접 확인했는데 코드의 변경이 있을 때마다 많은 예외와 잦은 변경 시 처음부터 하나하나 다시 확인을 해봐야 하는 번거로움과 시간이 오래 걸린다는 문제로 테스트의 중요성을 많이 느꼈다. 그래서 현재 진행하고 있는 프로젝트는 실제 운용을 하기 때문에 필수적으로 테스트를 작성하기로 팀원들과 얘기를 했다. 테스트에 대해서 아는 내용이 없고 구현 경험이 적기 때문에 처음에는 구글 검색과 AI 등으로 간단히 구현했다. 그러다 보니 잘 구현한 게 맞는지 의문점과 단위 테스트(Unit Test), 통합 테스트(Integration Test)의 경계점이 많이 혼동 돼서 개념과 범위 등을 공부하고 기록을 남기려고 한다. 테스트의 중요성실제로 테스트 없이 개.. 2025. 4. 9. Nginx Let's Encrypt SSL 적용 AL2023 Nginx SSL 인증서 적용SSL/TLSSSL(Secure Socket Layer)/TLS(Transport Layer Security)은 전송계층 상에서 클라이언트, 서버에 대한 인증 및 데이터 암호화를 수행한다. 보안용 프로토콜이며 이 둘은 버전의 차이이다.Let's Encrypt무료로 SSL/TLS 인증서를 발급해 주는 비영리기관이다. 무료인 대신 만료기한이 90일로 기간 안에 매번 재발급을 진행해야 한다.1. Certbot 설치Certbot은 SSL/TLS 인증서를 자동으로 발급하고 갱신하는 도구이다.sudo dnf install -y certbot python3-certbot-dns-route53 python3-certbot-nginxpython3-certbot-dns-route5.. 2025. 3. 13. AWS Route 53 & 가비아 도메인 연결 AWS Route 53Amazon Route 53는 가용성과 확장성이 뛰어난 도메인 이름 시스템(DNS, Domain Name System) 웹 서비스이다.도메인 구입과 네임서버(NS) 등록까지 할 수 있고 게다가 모니터링 기능까지 제공한다. Route 53은 프리 티어 사용자여도 무료가 아니다. 호스팅 영역을 생성하면 월 0.50 USD를 지불해야 한다. Route 53에서 도메인을 구입하지 않고 가비아에서 도메인을 구매한 상태에서 글을 작성한다.1. Route 53 이동route 53을 검색해서 Route 53 페이지로 이동한다.2. 호스팅 영역 생성호스팅 영역은 DNS 레코드를 관리하는 컨테이너이다. 도메인 이름을 설정하면, 이 도메인에 대한 여러 설정 정보를 호스팅 영역에 추가한다. 이런 레코드들.. 2025. 3. 11. AWS EC2 Amazon Linux 2023 Nginx 설치 Nginx 설치1. nginx 설치 전 필수 구성 요소 설치sudo yum install yum-utils2. AL2023(Amazon Linux 2023)에 대한 yum 저장소를 설정"/etc/yum.repos.d/nginx.repo"라는 파일을 만들어 아래의 내용을 작성해야 한다.sudo vi /etc/yum.repos.d/nginx.repo[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/amzn/2023/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=truepriority=9[nginx-mainline]na.. 2025. 3. 10. AWS EC2 Amazon Linux 2023 Java 설치 Amazon Linux 2023 Java 설치처음 AL2023(Amazon Linux)를 생성하면 java가 설치되어 있지 않다.AL2023은 기반 워크로드를 지원하기 위해 여러 버전의 Amazon Corretto Java를 제공한다고 한다.다음의 명령어를 사용해서 Java 17을 설치한다.sudo yum install -y java-17-amazon-corretto-headless설치가 완료되면 설치가 정상적으로 됐는지 다음의 명령어로 확인한다.java 버전 확인java -versionJava 17 버전이 정상적으로 설치가 됐다. 🔗 ReferenceAmazon Corretto 17 User Guide 2025. 3. 5. AWS EC2 Ubuntu Nginx 설치 Nginx 설치Nginx 설치 전 필수 구성 요소 설치sudo apt install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyringapt가 패키지 진위를 확인할 수 있도록 공식 nginx 서명 키를 획득curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null올바른 키가 포함되어 있는지 확인gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-arc.. 2025. 3. 1. Windows 키보드 런처 Wox(feat. Alfred) 이전에 Linux Ubuntu에서 사용하는 Launcher 애플리케이션으로 Albert를 소개했었는데 오늘은 Windows 11에서 현재 사용하고 있는 Wox Launcher 애플리케이션 설치 방법을 알아보겠습니다.Wox 설치Windows에서 설치는 매우 간단합니다. exe 파일로 설치하면 됩니다.그런데 현재 Wox는 v2.0.0 버전까지 있는데 windows에서 사용하려면 v2 버전이 아닌 v1.x.x 버전으로 사용하라고 나와있습니다.v2 버전을 한 번 설치했었는데 동작을 안 하기 때문에 v1.x.x 버전으로 설치해야 합니다.Mac 사용자는 Homebrew로 설치할 수 있는데 자세한 내용은 참조 사이트에서 확인하시길 바랍니다. Wox 설치 리스트에 "Everything" 설치 파일이 있습니다. Ever.. 2025. 2. 26. 이전 1 2 3 4 ··· 8 다음