전체 글
-
Mac에 Oracle 19c 버전 설치 (ORA-12526 오류 해결)카테고리 없음 2025. 2. 25. 23:54
제 맥은 M2 칩입니다.[1] Colima 설치[1-1] colima를 설치합니다.$ brew install colima사전에 brew가 설치되어 있어야 합니다.[1-2] Colima를 실행합니다.$ colima start --memory 4 --arch x86_64 → $ docker context ls 명령을 통해 colima 옆에 * 표시로 실행되고 있는지 확인해야 합니다. [2] oracle-19c 설치하기[2-1] docker image pull 받기$ docker pull doctorkirk/oracle-19c docker images 명령어를 통해 받은 이미지를 확인하실 수 있습니다. [3] 디렉토리 생성[3-1] 디렉토리 이동$ mkdir -p /{내가 원하는 디렉토리}/oracle-1..
-
브라우저에 네이버 URL을 입력했을 때 벌어지는 일CS 2025. 2. 16. 22:38
[요약]URL 파싱 → 캐싱된 DNS 기록 확인 → DNS 조회라우터를 통해 해당 서버의 게이트웨이까지 이동 -> ARP를 통해 IP 주소를 MAC 주소로 변환 네이버 서버 도달대상 서버와 TCP 소켓 연결 -> HTTP(HTTPS) 프로토콜 요청 & 응답 -> 브라우저에서 응답 해석해서 보여준다! [1] URL 파싱프로토콜, 호스트 이름, 경로, 포트 등으로 URL의 구조를 해석합니다.이때 파싱한 호스트 이름을 캐싱된 DNS 기록 확인 단계에서 사용합니다. [2] 캐싱된 DNS 기록 확인브라우저는 DNS 해석 과정을 단축하기 위해 캐싱된 DNS 기록을 먼저 확인합니다.캐시에 IP주소가 존재하면, DNS 쿼리를 추가하지 않고, 바로 연결을 시도합니다.- 브라우저 캐시 -> OS 캐시 -> 라우터 캐시 -..
-
PriorityQueue forEach() 는 정렬되어 조회되지 않는다?!JAVA 2025. 2. 13. 23:18
오늘의 주제는PriorityQueue의 forEach 메서드의 조회 순서입니다. 여느때와 같이 알고리즘 문제를 풀고 있었는데.. https://www.acmicpc.net/problem/12764- 문제 보고 오세용 자꾸 내 코드가 맞는데 틀렸다고~ 틀렸다고~ 하는거 아닙니까.진심으로다가 집 가야되는데 계속 틀렸다니까 집도 못 가고! 밥도 못 먹고! ㅠㅠ 아무튼 제가 작성했던 답은 아래와 같습니다.여러분들을 위해 주석을 꼼꼼히 달아봤어용.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { // 종료 시간 기준 후보 s..
-
[Django] 프로젝트 만들기Django 2025. 1. 3. 04:06
[1] 프로젝트 생성하기1. 깃허브에 레포를 하나 팠다.2. 해당 레포를 클론받고, 터미널에서 클론받은 로컬 위치로 이동한다.3. `python3 -m venv venv` 를 입력한다. (두번째 venv는 본인이 지정하면 된다.)4. `source venv/bin/activate` 를 입력한다. 이를 통해 가상환경을 활성화한다.5. `pip install django djangorestframework` 를 입력하여 drf 패키지를 설치한다.6. `django-admin startproject myapi .` 를 입력하여 프로젝트를 생성한다. ls 를 입력하여 확인해보면 아래와 같이 폴더가 생성된 것을 확인할 수 있다. 7. 장고를 설치한다. 새로운 터미널을 열어서 `pip install django` ..
-
[CS] 디자인 패턴과 프로그래밍 패러다임CS 2024. 10. 22. 17:37
디자인 패턴디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것이다.싱글톤 패턴싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다.보통 데이터베이스 연결 모듈에 많이 사용한다.예시 코드class Singleton { private static class singleInstanceHolder { private static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return singleInstanceHolder.INSTANCE; } } public class HelloWorld { ..
-
Spring Batch로 대용량 작업 처리하기Spring 2024. 8. 5. 17:46
문제 상황Scoop이라는 프로젝트에 매일 오전 6시와 12시에 네이버 뉴스 기사를 크롤링하는 로직이 있다. 이때, 크롤링한 뉴스를 요약까지 해야했고, 요약에는 GPT API를 사용했다. 또한, 이러한 GPT API는 FastAPI에 구현하여, 다른 서버에 존재한다. 간단한 흐름은 다음과 같다. 1. 네이버 뉴스의 각 카테고리의 뉴스들의 URL을 크롤링한다.2. 크롤링한 뉴스 URL을 사용하여 뉴스 본문을 크롤링한다.3. 크롤링한 뉴스 본문 내용 메시지를 publish 한다.4. FastAPI 서버에서 해당 메시지를 consume하여 뉴스 내용을 요약한다.5. 요약된 뉴스 내용 메시지를 publish 한다.6. Spring 서버에서 메시지를 consume하여 요약된 뉴스 내용을 DB에 저장한다. 하지만 위..
-
[백준] 26093 고양이 목에 리본 달기 (DP)코딩 테스트 2024. 6. 26. 19:18
https://www.acmicpc.net/problem/26093 제목외로운 윤제는 고양이를 키우기로 했다. 𝑁 마리의 고양이를 입양하기로 한 윤제는 고양이들에게 리본을 달아주기 위해 𝐾 종류의 리본을 충분히 준비했다. 즉, 각 리본의 개수는 무한하다. 각 고양이마다 리본의 종류에 따라 좋아하는 정도가 다르고, 이를 만족도로 나타낼 수 있다. 고양이들을 번호순으로 한 줄로 세우고 리본을 달아주려고 하는데, 각 고양이는 자신과 이웃한(왼쪽 혹은 오른쪽) 고양이와 같은 종류의 리본을 다는 것을 굉장히 싫어한다. 윤제는 고양이들이 싫어하는 상황을 피하면서 각 고양이의 리본에 대한 만족도의 총합을 극대화하고 싶다. 이 조건을 만족하는 만족도 합의 최댓값을 윤제에게 알려주자. 입력첫 번째 줄에는 고양이의 수 𝑁..
-
[트러블 슈팅] @InjectMocks @Mock vs. @Autowired @MockBeanSpring 2024. 6. 17. 06:42
단위 테스트를 구현하다가 아래와 같은 오류를 만났다.com.rollthedice.backend.domain.news.exception.NewsNotFoundException: 뉴스를 찾지 못했습니다. at java.base/java.util.Optional.orElseThrow(Optional.java:403) at com.rollthedice.backend.domain.news.service.NewsService.getDetailNews(NewsService.java:75) at ⬇️ 오류 로그 전체더보기com.rollthedice.backend.domain.news.exception.NewsNotFoundException: 뉴스를 찾지 못했습니다. at java.base/java.util.Optio..