일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- jpa blog
- 데이터 베이스
- LV01
- 프로그래머스
- JPA
- 네트워크
- 이것이 자바다
- 연습문제
- 포트 폴리오
- 포트폴리오
- docker
- Java
- 디자인 패턴
- LV.02
- LV03
- SQL
- LV0
- mysql
- Til
- 알고리즘
- Spring Frame Work
- Redis
- LV1
- LV02
- 일정관리프로젝트
- Join
- CoffiesVol.02
- 코테
- Lv.0
- 배열
- Today
- Total
목록전체 글 (191)
코드 저장소.

목차1.개념: 이항계수란 무엇인가 2.적용: Java로 이항계수 계산하기 3.후기: 실제 코딩테스트 대비 1.개념: 이항계수란 무엇인가이항계수는 n개 중 r개를 순서 없이 고르는 방법의 수를 의미합니다.공식은 다음과 같습니다:이항계수는 고등학교 확률과 통계 과목에서 배우는 기본 개념입니다.코딩테스트에서는 조합 문제를 풀거나, 확률 계산 문제를 풀 때 필수적으로 등장합니다.이항계수는 작은 수에서는 손으로 구할 수 있지만, n이 커지면 효율적인 계산법이 필요합니다.2.적용: Java로 이항계수 계산하기이항계수를 Java로 계산하는 방법은 문제 조건에 따라 선택해야 합니다.2.1. 기본 방식: 팩토리얼로 직접 계산간단한 경우에는 팩토리얼을 사용해서 직접 계산할 수 있습니다.public static long f..
목차1.에라토네스의 체?2.작동원리3.예제 1.에라토네스의 체?에라토네스의 체는 대 그리스의 수학자 에라토스테네스가 고안한 소수 판별 알고리즘이다. 이 알고리즘은 2부터 N까지의 자연수 중에서 소수를 효율적으로 찾는 방법으로, 현재까지도 널리 사용되고 있다.2.작동원리에라토스테네스의 체는 배수 제거 방식을 사용하여 소수를 판별한다. 초기에는 2부터 N까지의 모든 정수를 소수라고 가정한 뒤, 각 수의 배수를 지워나가면서 최종적으로 소수만을 남기는 방식입니다. 작동원리는 다음과 같습니다. 만약에 n 이 30일 때2부터 30까지 나열→ [2, 3, 4, 5, ..., 30]가장 작은 수인 2는 소수니까 남기고, 2의 배수들 제거남은 수 중 다음 작은 수(3)는 소수니까 남기고, 3의 배수들 제거남은 수 중 ..

목차1.메시지 큐2.Kafka의 작동원리3.RabbitMq의 작동원리4.Kafka vs RabbitMq 1.메시지 큐일단은 Kafka와 RabbitMq를 알기 위해서는 메시지큐의 개념을 알아야 합니다. 우선은 아래의 사진을 보면 메시지 큐에 대한 개념을 알 수 있습니다. 위 사진의 용어를 보면 다음과 같습니다. Producer : 정보를 제공하는 자Queue: FIFO의 개념으로 Producer에서 보낸 메시지를 처리를 하는 방식으로 처리합니다.Consumer: 정보를 받는 자. 그래서 메시지큐의 작동순서를 다시 정리를 하자면 다음과 같습니다. 1.메시지를 보낸다.2. 보낸 메시지는 Producer가 받아서 Queue에 보낸다.3.해당 메시지는 consumer가 사용하기 전까지 Queue에서 저장한다...

목차1.사건의 발단2.println을 쓰면 안되는가?3.그래서? 어떻게 해야되는가?4.느낀점. 1.사건의 발단첨부파일 모듈에서 첨부파일 업로드에 관한 로직을 작성을 했고 pr을 올렸는데 다음과 같은 리뷰가 들어왔습니다. 업로드를 테스트를 하기 위해서 작성을 했던 System.out.println()이었는데 사용을 하면 안된다고 해서 왜 안돼는지에 관해서 알아보기로 했습니다.2.println을 쓰면 안되는가?사실 처음엔 크게 문제 될 거라 생각 안 했습니다. 그냥 테스트용으로 했거든요. 근데 찾아보니 이게 생각보다 심각했었습니다. 우선은 System.out.println()이 무엇인지를 알아보기로 했습니다. System.out.println()System.out.println은 Java개발할때 디버깅 ..
목차1.기존의 문제점2.코드 리팩토링 1.기존의 문제점 기존에 작성을 했던 회원의 위치의 위경도를 기준으로 해서 반경3km에 있는 가게를 보여주는 기능에서 리팩토링을 해야되는 부분이 발생을 해서 고쳐보기로 했다. 기존의 코드의 문제점은 다음과 같다. 1. 현재 @Retryable을 사용해서 API 호출이 실패하면 3번까지 재시도하도록 되어 있음. 하지만 3번 재시도 후에도 실패하면 null을 반환함. 2. @Recover에서 응답값이 null이라는 점. 3. URI 중복 요청 가능성 Set uris = new HashSet(); -> 현재 Set을 사용하지만, page가 1로 고정되어 있어 항상 한 개의 URI만 추가됨. 2.코드 리팩토링이러한 문제점을 해결하기 위해서 기존의 코드에 변경을 했습니다..

목차1.트랜잭션?2.스프링 내부에 있는 트랜잭션 구조 1.트랜잭션?우선 트랜잭션은 데이터베이스(DB)에서 하나의 논리적 작업 단위(작업 묶음)를 의미하며, 모두 성공하거나(Commit) 실패하면(Rollback) 원래 상태로 되돌리는(Atomic) 연산을 의미합니다. 그리고 트랜잭션을 나타내는 특징은 다음과 같습니다. 트랜잭션은 ACID 원칙을 따라야 한다.특성설명Atomicity (원자성)트랜잭션이 모두 성공하거나 모두 실패해야 한다.Consistency (일관성)트랜잭션 수행 전후 데이터의 무결성이 보장되어야 한다.Isolation (격리성)동시에 여러 트랜잭션이 실행될 때, 서로 간섭하지 않아야 한다.Durability (지속성)트랜잭션이 성공적으로 완료되면, 결과가 영구적으로 저장되어야 한다. ..