[백준] 10775번: 공항
📌 문제 https://www.acmicpc.net/problem/10775 📌 설명 각 비행기에 대하여 가능한 게이트를 확인하는 방법(O(GP))은 시간 초과가 발생한다. 분리 집합을 통해 비행기가 들어갈 수 있는 게이트를 계속 초기화를 해야 한다. 구체적인 방법은 다음과 같다. 1. 각 게이트의 부모를 자신의 번호로 설정한다. 2. 비행기...
📌 문제 https://www.acmicpc.net/problem/10775 📌 설명 각 비행기에 대하여 가능한 게이트를 확인하는 방법(O(GP))은 시간 초과가 발생한다. 분리 집합을 통해 비행기가 들어갈 수 있는 게이트를 계속 초기화를 해야 한다. 구체적인 방법은 다음과 같다. 1. 각 게이트의 부모를 자신의 번호로 설정한다. 2. 비행기...
📌 Lombok이란? Lombok 이란 어노테이션 기반으로 자바 코드를 자동으로 생성해주는 라이브러리이다. 이를 통해 코드가 간결해지며 가독성을 향상시킬 수 있다. 또한 반복적으로 작성되는 보일러플레이트 코드가 감소하게 된다. 이는 개발자가 핵심 비즈니스 로직에 더 집중할 수 있도록 하는 효과를 가져오며, 유지보수가 쉬워진다. 실제로 Lomb...
📌 문제 https://www.acmicpc.net/problem/1655 📌 설명 수들을 순차적으로 받으면서 각 반복마다 수열의 중앙값을 출력하는 문제이다. 처음에 생각한 방법은 우선순위 큐나 set 자료구조를 통해 최대/최소값을 빠르게 찾은 다음, 선형적으로 탐색하여 중앙값을 찾는 방법이었다. 결과적으로 이 방법은 TLE이다. 현재 원소의 수...
📌 k6란? k6 는 Grafana Labs에서 개발한 오픈소스 성능 테스트 도구이다. 다양한 부하 테스트를 수행할 수 있으며, 테스트 시나리오는 JavaScript 또는 TypeScript로 작성되어 비교적 쉽게 작성할 수 있다. Go 언어로 작성되어 높은 성능을 보인다. 또한 다른 도구들에 비해 직관적이며 간단하다. 테스트 결과를 터미널이 출력하...
📌 JPQL이란? JPQL(Java Persistence Query Language) 는 JPA에서 사용하는 객체 지향 쿼리 언어이다. SQL을 추상화한 쿼리 언어이며, SQL과 비슷한 문법을 가지지만 SQL은 테이블을 대상으로 쿼리를 작성하는 반면 JPQL은 엔티티를 대상으로 쿼리를 작성한다. JPA에서 제공하는 기본 메서드로 복잡한 조건을 가진...
📌 GC(Garbage Collector)란? Garbage Collector란 JVM이 Heap 영역에서 더 이상 사용되지 않는 객체를 자동으로 탐지하고 해당 메모리를 회수하는 메모리 관리 기능을 의미한다. 따라서 개발자가 직접 메모리 해제를 하지 않아도 된다. 📌 JVM에서 Heap 메모리 구조 Young Generation ...
Spring Boot로 RESTful API를 사용한 OAuth 카카오 로그인을 구현하자. 📌 개발 환경 JDK: 21 Java: 21 Spring Boot: 3.4.4 📌 Kakao Developer https://developers.kakao.com/console/app 새로운 애플리케이션을 추가한다. ‘애플리케이션 추가하기’ 버튼...
📌 문제 https://www.acmicpc.net/problem/12100 📌 설명 보드의 크기와 이동 횟수가 충분히 작으므로 백트래킹으로 해결할 수 있다. 까다로웠던 부분은 상, 하, 좌, 우로 불록을 이동시키는 것이었다. 처음에는 모든 이동 방향에 대한 움직임을 일일히 작성했는데, 코드가 매우 길어졌다 .. 따라서 블록 움직임에 대한 코드는...
📌 JVM이란? JVM(Java Virtual Machine) 은 자바 애플리케이션을 실행하기 위한 가상 머신으로 자바 바이트코드(.class)를 운영 체제와 하드웨어에 독립적으로 실행할 수 있도록 하는 소프트웨어 계층이다. 즉, JVM이 설치된 OS에서는 별도의 작업 없이 자바로 작성된 프로그램(.java)을 실행할 수 있다. 📌 동작 방식 ...
📌 RESTful API란? REST(Representational State Transfer 는 자원을 이름으로 구분하여 자원의 상태를 주고받는 소프트웨어 아키텍처 스타일이다. REST는 웹에서 다루는 모든 데이터를 자원으로 보며, 각 자원은 고유한 URI로 식별한다. 자원을 주고받을 때, 자원 그 자체가 아니라 JSON, XML과 같은 자원...