전체 글 13

[백준] 💡 백준 2577번 - 숫자의 개수

✅ 문제 설명세 개의 자연수 A, B, C가 주어진다.이 세 수를 곱한 결과에서 0부터 9까지의 숫자가 각각 몇 번 나오는지 구하는 문제다.📥 입력 예시150266427📤 출력 예시3 1 0 2 0 0 0 2 0 0위 예제의 경우, 150 × 266 × 427 = 17037300 → 이 숫자를 자릿수별로 보면 1, 7, 0, 3, 7, 3, 0, 0이며, 0은 3번, 1은 1번, 2는 0번, …, 7은 2번 등장한 걸 알 수 있다.내가 짠 코드import java.util.Scanner;public class Number2577 { public static void main(String[] args) { Scanner sc = new Scanner(System.in)..

백준 2025.04.14

[Spring Boot] JPA 영속성 컨텍스트 (Persistence Context)

영속성 컨텍스트란?영속성 컨텍스트(Persistence Context)는 JPA에서 엔티티 객체를 관리하는 메모리 상의 저장소이며, 영속성 컨텍스트를 통해 엔티티 객체의 생명 주기를 관리하고, 데이터베이스와의 동기화를 효율적으로 수행할 수 있다. 1차 캐시: 동일한 트랜잭션 내에서 같은 엔티티 조회 시, DB가 아닌 메모리에서 가져와 성능을 최적한다.변경 감지 (Dirty Checking): 엔티티 객체의 값이 변경되면 트랜잭션 종료 시 자동으로 변경 내용을 반영한다.지연 로딩 (Lazy Loading): 필요한 시점까지 쿼리를 실행하지 않고, 프록시 객체를 통해 데이터를 가져올 수 있다.쓰기 지연 (Write-Behind): 트랜잭션이 커밋될 때까지 SQL을 모아두고 한 번에 실행한다.영속성 컨텍스트의..

Spring Boot 2025.02.10

[Spring Boot] Servlet Filter 란?

보안, 로깅, 인코딩, 인증/인가 등 다양한 작업을 처리하기 위해 사용된다. 한마디로 클라이언트(Client)로 부터 서버(Server)로 요청이 들어오기 전에 서블릿(Servlet)을 거쳐서 필터링(Filtering) 하는 것을 말한다.특징Servlet Filer의 특징으로는공통 관심사 로직 처리로 재사용성이 높고 유지보수가 쉬우며, 요청을 처리하는데 있어 일관성을 유지한다.HTTP 요청 및 응답 필터링이 가능하다.Filter Chain을 통해 여러 개의 필터를 순차적으로 적용할 수있다.Servlet Filter 구현 Filter 를 implements 하고, doFilter를 오버라이드 하여 구현체를 만든다. 마지막에 filterChain.doFilter를 통해 다음 filter가 존재하지 않으면 서..

Spring Boot 2025.02.06

[Spring] Spring Container & Bean에 대해 알아보자

스파르타코딩클럽 부트캠프에서 공부한 스프링 컨테이너(Spring Container)와 스프링 빈(Spring Bean)에 대해 작성해보려 한다.Spring Cotainer 란?스프링 컨테이너는 스프링 프레임워크의 핵심 컴포넌트라고 한다.스프링에서는 자바의 객체를 빈(Bean)이라고 한다.스프링 컨테이너는 빈(Bean)의 생명주기(생성, 관리, 소멸 등)를 관리 하고 생성된 객체들에게 추가적인 기능을 제공해준다.  평소에 자바에서 객체를 사용하려면 그림과 같이 new를 사용하여 객체를 생성하여 사용했다. 하지만 객체를 직접 생성하는 경우, 객체 간의 의존성 및 결합도가 높아지며, OCP, DIP를 위반하게 된다. Spring Container 가 있다면. 그림과 같이 객체(Bean)을 생성 및 관리하고 의..

Spring Boot 2025.02.05

[부트캠프] 계산기 만들기 트러블슈팅 작성

계산기 만들기 Lv3를 진행하면서 요구사항에 제네릭과 Enum을 사용하라고 되어있었다. Enum은 강의 및 인터넷을 통해 어느정도 이해를 했지만 제네릭에관에서는 감이 잡히질 않았다. 그래서 튜터님과의 상담을 통해 이를 알게 되었고 바로 적용해 보았다.제네릭을 사용하여 클래스 구현public class ArithmeticCalculator { // calculator 클래스에 T로 선어되어있는 클래스는 반드시 넘버를 상속받은 클래스여야 한다. private final List results = new ArrayList(); public void calculate(T num1, T num2, OperatorType operator) { double operand1 = num1.doub..

부트캠프 2025.01.09

Java 객체에 대해 알아보자!

💡클래스는 객체가 아는 것과 객체가 하는 것을 기술한다.클래스는 객체에 설계도 입니다. 클래스를 만든다는 것은 JVM에서 어떻게 그 타입의 객체를 만드는지 기술하는 것 입니다.어떤 타입의 모든 객체는 서로 다른 인스턴스 변숫값을 가질수 있습니다. 하지만 메서드는 다릅니다.특정 클래스의 각 인스턴스는 동일한 메서드를 갖지만, 메서드의 행동은 인스턴스 변숫값에 따라 달라질수 있습니다.⭐메서드에 특정 값을 전달할 수 있다. [메서드의 매개변수]다른 프로그램밍 언어와 마찬가지로 자바도 메서드에 특정 값을 전달할 수 있다.메서드로 전달하는 값을 지칭할 때는 보통 매개변수(parameter) 또는 인자(argument)라고 쓴다.여기서는 호출하는 쪽에서 넘기는 것은 인자, 메서드에서 받는 것은 매개변수 입니다.그..

Java 2025.01.07

브랜치를 사용해서! 협업을 해보자!

브랜치(Branch)란?브랜치는 Git에서 프로젝트의 작업 공간을 분리해서 독립적으로 작업할 수 있도록 만들어주는 기능입니다. 새로운 기능 개발이나 버그 수정을 할 때, 기존 코드에 영향을 주지 않고 작업할 수 있어 매우 유용합니다.브랜치 명령어 정리브랜치 생성새로운 브랜치를 생성하지만, 생성 후 자동으로 이동하지는 않습니다.git branch [브랜치 이름]브랜치 이동또는git checkout [브랜치 이름]git switch [브랜치 이름]브랜치 생성과 동시에 이동git switch 를 사용할 경우git checkout을 사용할 경우git checkout -b [브랜치 이름]git switch -c [브랜치 이름]브랜치 병합작업이 완료된 브랜치를 현재 브랜치에 병합합니다.git merge \[브랜치 ..

Git 2025.01.06

Git & GitHub 정리

🙀Git 이란?깃(Git)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템 이다.⭐코드 변경점을 기록하는 용도이다!소프웨어의 변경사항을 체계적으로 추적하고 통제한다.GitHub 란?분산 버전 관리 툴인 깃 저장소 호스팅을 지원하는 웹 서비스이다. 깃 허브는 영리적인 서비스와 오픈 소스를 위한 무상 서비스를 제공하고 있다.백업과 공유가 가능하느 온라인 코드 저장소이다.온라인 백업, 공유, 협업 저장소 이다. 첫 번째! 기초적인 리눅스 명령어를 알아보자!pwd : 현재 작업 영역을 보여준다. [디렉토리 위치를 알려준다.]ls [옵션] : 현재 위치에서 폴더 & 파일 내역을 보여준다.-a 옵션을 적용하면 숨겨진 파일..

Git 2024.12.23

Elastic Load Balancing (ELB) & Auto Scaling Groups (ASG) 정리

1. Elastic Load Balancing (ELB)ELB는 애플리케이션 트래픽을 여러 대상(EC2 인스턴스 등)에 분산하여 고가용성과 확장성을 제공합니다.1.1 주요 기능트래픽 분산:사용자가 애플리케이션에 액세스할 때 트래픽을 여러 EC2 인스턴스로 분배.자동 확장 지원:Auto Scaling Groups와 함께 사용하여 동적으로 리소스를 확장/축소.내결함성:인스턴스가 비정상일 경우 트래픽을 자동으로 정상 상태의 인스턴스로 라우팅.1.2 ELB 유형Application Load Balancer (ALB):HTTP/HTTPS 요청을 처리.레벨 7(애플리케이션 레벨) 로드 밸런싱 제공.URL 경로나 호스트 이름에 따라 트래픽 라우팅 가능.사용 사례: 마이크로서비스, REST API.Network Loa..

AWS 2024.12.20

EC2 인스턴스 스토리지 섹션

EBS Volume 이란?Amazon EBS 볼륨은 인스턴스에 연결할 수 있는 내구성이 뛰어난 블록 수준 스토리지 디바이스 이다. 볼륨을 인스턴스에 연결하면 물리적 하드 드라이브 처럼 사용할 수 있다.특징인스턴스가 종료된 후에도 데이터를 유지할 수 있다.한 번에 하나의 인스턴스에만 마운트 할 수 있다. (단 CCP 레벨에서만.)네트워크를 사용하여 인스턴스를 전달하므로 약간의 지연 시간이 있다.EC2 인스턴스에서 분리하여 다른 인스턴스에 빠르게 연결할 수 있다.가용 영역(AZ)에 고정 되어 있다.EBS 볼륨을 이동 시키려면 스냅샷을 사용해야 한다.용량(GB 및 IOPS 단위)이 프로비저닝 되어 있다.모든 프로비저닝된 용량에 대해 요금이 부과된다.시간이 지남에 따라 드라이브 용량을 늘릴 수 있다. EBS 스..

AWS 2024.12.20