[백준] 1655번: 가운데를 말해요
📌 문제 https://www.acmicpc.net/problem/1655 📌 설명 수들을 순차적으로 받으면서 각 반복마다 수열의 중앙값을 출력하는 문제이다. 처음에 생각한 방법은 우선순위 큐나 set 자료구조를 통해 최대/최소값을 빠르게 찾은 다음, 선형적으로 탐색하여 중앙값을 찾는 방법이었다. 결과적으로 이 방법은 TLE이다. 현재 원소의 수...
📌 문제 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과 같은 자원...
📌 개요 Polling, Long Polling, SSE, WebSocket를 사용하여 채팅 기능을 구현하자. 명시된 기술들의 구현 방식에 초점을 맞추어 작성되었다. Polling은 클라이언트가 주기적으로 서버에 요청을 보내고, 서버는 클라이언트의 요청에 대한 응답을 리턴하는 방법이다. Long polling은 클라이언트가 서버에 요청을 보낸 후...
📌 문제 https://www.acmicpc.net/problem/17298 📌 설명 수열의 각 원소에 대하여 오른쪽에 있으면서 현재 원소보다 큰 수 중 가장 왼쪽에 있는 수(오큰수)를 찾는 문제이다. 이중 for문으로 풀 수 있으나 TLE이 발생한다. 더 효율적으로 찾는 방법을 구상해야 하는데, 스택을 사용한다. 📌 코드 #include ...