분류 전체보기
-
멀티모듈 시행착오카테고리 없음 2025. 7. 31. 21:44
Spring Boot의 프로필(Profile) 기능특정 프로필이 활성화되었을 때만 해당 설정을 적용 1. Spring Profile 이란? * 애플리케이션을 실행하는 환경(예: 로컬 개발, 개발 서버, 운영 서버)마다 다른 설정을 적용해야 할 때가 많습니다. * 예를 들어, * 로컬 환경(`local`): 내 컴퓨터의 데이터베이스에 접속하고, 서버 포트는 8080을 사용. * 개발 환경(`dev`): 팀이 공유하는 개발용 데이터베이스에 접속하고, 포트는 8090을 사용. * 운영 환경(`prod`): 실제 서비스용 데이터베이스에 접속하고, 로그 레벨을 더 높게 설정. * 이렇게 환경별로 설정 파일을 분리하여 관리할..
-
Gemini CLI카테고리 없음 2025. 7. 24. 21:19
1. Node.js 버전 결정최신 LTS(Long-Term Support) 버전 > Node.js 22 2. 설치 방법Homebrew 비권장 (보안 문제)> curl 설치 스크립트 사용해서 nvm으로 설치 결정curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash nvm 활성화. "$HOME/.nvm/nvm.sh".source현재 셸에서 스크립트를 실행(source).이 POSIX 표준 명령어로 널리 호환되지만, 가독성을 위해 추가된 명령어 source"$HOME/.nvm/nvm.sh" : nvm 설치 시 생성된 초기화 스크립트 경로. 이 파일을 실행하면 nvm 명령어를 사용할 수 있다. 최신 LTS 설치nvm ins..
-
Spring MVC vs WebFlux카테고리 없음 2025. 7. 22. 22:23
Spring.io에서 제공하는서블릿/리액티브기반에 대한 웹 스택에 대한 비교 리액티브 기반은 스프링 부트2부터 지원 리액티브 스택프로젝트 리액터를 사용리액터? 리액티브 스트리밍 구현체스프링 세큐리티 리액티브, 스프링 웹플럭스, 스프링 데이타 리액티브 리포지토리즈까지 비동기 처리의 기반이 됨 서블릿 스택기본적으로 싱크로너스 블락킹 i/o 아키텍쳐로 동작One-request-per-thread 모델로 동작 동기적, 순차적 처리를 위해 웹 요청부터 비즈니스 로직까지 하나의 스레드가 점유 자바에서 서블릿 컨테이너를 구현한 것주로 사용되는 오픈소스 톰캣 Spring Security는 보안 인증 모듈Srping MVC 모델 뷰 컨트롤러 패턴을 제공하는 동기식 웹 프레임 워크Spring Data Repositori..
-
I/O Bound와 Context Switching공부 2025. 7. 18. 20:53
CPU bound vs I/O bound프로그램이나 작업의 병목이 어디에서 발생하는지를 설명하는 개념 CPU bound (CPU 제한): 프로그램의 실행 속도가 CPU의 연산 능력에 의해 제한되는 경우.I/O bound (입출력 제한): 프로그램의 실행 속도가 입출력 작업(I/O)에 의해 제한되는 경우. CPU BoundCPU 때문에 boundCPU 사용량 높음, 복잡한 계산, 반복문, 알고리즘 연산 등이 주 원인.CPU가 쉬지 않고 계속 연산을 수행해야 하므로, CPU 사용률이 높음.예시: 대규모 행렬 곱셈, 암호화/복호화, 머신러닝 모델 학습, 재귀 알고리즘을 이용한 수학 문제 계산해결: 더 빠른 CPU / 멀티스레딩 / 병렬 처리I/O BoundI/O 때문에 boundCPU는 대기 상태이고, 디..
-
정수론 공부공부 2025. 6. 23. 21:53
백준 6064 카잉 달력을 풀다가 정수론 공부함이하 출처 : https://dimenchoi.tistory.com/46 정수론정수론: 정수의 특징(약수와 배수, 몫과 나머지)에 대해 탐구왜 필요? 1) 현대 암호의 원리: 두 개의 큰 소수를 곱하는 건 쉽지만, 이 결과를 다시 소인수분해하는 것은 어렵다2) 컴퓨터를 이용한 계산, 메모리 설계 등에서 다양하게 쓰이고 있다. 최대공약수 GCD, Greatest Common Division최소공배수 LCM, Least Common MultipleA, B를 소인수분해 해서 공통된 소인수를 모두 곱하면 GCD, 두 수의 모든 소인수를 곱하면 LCM 벤다이어그램으로 표현하면 여러가지 정리를 유도하는 데 도움이 된다예를 들면, AB = LG정수론에서 GCD와 LCM는..
-
System.out.print()와 출력 스트림 병목 (Output Stream Bottleneck)질문을 하자 2025. 5. 15. 22:26
🔧 1. 출력 스트림과 버퍼란?Java에서 System.out.print()는 사실 표준 출력 스트림(System.out)을 통해 콘솔(표준 출력)에 출력하는 함수예요.✨ 버퍼링의 이유출력 연산(특히 콘솔/디스크 네트워크)은 상대적으로 매우 느립니다.그래서 System.out은 내부에 버퍼(buffer) 를 가지고 있어, 출력할 데이터를 모아두었다가 한 번에 내보내기(flush) 합니다.예시:java복사편집System.out.print("a"); // 실제로는 바로 콘솔에 안 찍힐 수도 있음 System.out.print("b"); // 아직도 버퍼 안에 있음 System.out.flush(); // 이제야 'ab'가 콘솔에 찍힘 🚨 2. flush()가 자주 일어나면?✔ flush가 발생하는 경우S..
-
DNS 공부질문을 하자 2025. 2. 27. 16:20
왜 호스팅 영역을 생성한다고 말하는 거야?AWS에서 Route 53 서비스는 도메인 이름에 대한 DNS 레코드를 관리하는 시스템입니다. "호스팅 영역(Hosted Zone)"은 도메인에 대한 모든 DNS 레코드를 포함하고 있는 하나의 컨테이너라고 생각하면 됩니다. 이 호스팅 영역을 생성하는 것은 도메인 이름에 대한 DNS를 AWS에서 관리하겠다고 선언하는 과정입니다.호스팅 영역이 필요한 이유DNS 레코드 관리: 도메인에 대해 다양한 DNS 레코드(A 레코드, CNAME 레코드 등)를 설정해야 하는데, 이 레코드들을 호스팅 영역 안에 저장합니다. 호스팅 영역을 생성해야만 해당 도메인에 대한 DNS 레코드를 추가하거나 변경할 수 있습니다.네임서버(NS) 설정: 호스팅 영역을 생성하면 AWS가 자동으로 네임서..