| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 그리디
- BFS
- DFS
- 데이터베이스
- 트리
- 동적 프로그래밍
- 개발q&a
- BinarySearch
- SQL
- 그래프 이론
- Spring
- 브루트포스
- 완전탐색
- 알고리즘
- 학습기록
- Java
- DP
- 백트래킹
- 개발자취업
- 99클럽
- 개발qa
- 스프링
- 백준
- 항해99
- 정렬
- 자바
- Til
- 그래프
- 코딩테스트준비
- 스프링 핵심 원리 - 기본편
- Today
- Total
목록전체 글 (85)
AtraFelis's Develop Diary
Java에서 Checked Exception과 Unchecked Exception의 차이점을 설명하고, 각각의 대표적인 예시와 언제 사용해야 하는지 설명해주세요.내 답변잘 모르겠습니다. 피드백개선할 점기본 예외 처리 개념 학습: try-catch 문법과 Exception 계층 구조 이해 필요실무 예외 처리 패턴: 파일 입출력, 네트워크 처리 등에서 자주 마주치는 예외들 학습Spring Framework 예외 처리: 실무에서 많이 사용하는 @ExceptionHandler, @ControllerAdvice 등Java 기본서 복습: Effective Java나 Java 완벽 가이드 등으로 예외 처리 베스트 프랙티스 학습 모범 답변기본 차이점:Checked Exception: 컴파일 타임에 처리를 강제하는 예외..
Java에서 ArrayList와 LinkedList의 차이점을 설명하고, 각각 어떤 상황에서 사용하는 것이 더 효율적인지 시간복잡도와 함께 설명해주세요. 내 답변ArrayList는 배열을 이용하는 방식, LinkedList 노드 기반으로 각 노드가 다음 노드의 주소와 데이터를 가리키는 방식으로 구현됩니다.ArrayList는 조회가 빈번한 상황에서 사용하는 것이 좋습니다. 연속된 메모리에 위치하며, 배열 기반으로 구현되기에 O(1)의 시간복잡도를 갖기 때문입니다.LinkedList는 데이터의 삭제가 빈번한 상황에서 사용하는 것이 좋습니다. ArrayList와는 달리 데이터 삭제 시 노드가 가리키는 다음 노드의 주소만 변경하면 되기에 O(1)의 시간 복잡도를 가지기 때문입니다. 피드백잘한 점기본 구조 정확히..
RESTful API를 설계할 때 주요 HTTP 상태코드(200, 201, 400, 401, 404, 500)는 각각 언제 사용해야 하나요? 그리고 GET, POST, PUT, DELETE 메서드의 용도와 차이점도 함께 설명해주세요. 내 답변200: API 응답이 제대로 동작했을 때, 잘 완료되었다는 응답 표시201: API 응답이 제대로 동작하였고, 다른 페이지로 redirect가 필요할 때400: 사용자 측이 잘못된 요청을 보냈다는 응답표시로 Bad request를 의미401: 권한이 없는 사용자가 인가가 필요한 api 요청을 보냈을 때, 보내는 응답404: 사용자가 접근하고자 하는 페이지나 api가 존재하지 않는다는 의미500: 백엔드 서버측 문제로 발생한 에러라는 의미GET은 백엔드 서버가 가지고..
대용량 트래픽을 처리하는 웹 서비스에서 데이터베이스 성능을 향상시키기 위한 방법들을 3가지 이상 제시하고, 각각의 장단점을 설명해주세요. 내 답변데이터베이스를 이중화하여 로드밸런서를 이용해 트래픽을 분산시킵니다.- 장점: 트래픽 분산과 더불어 하나의 데이터베이스에 문제가 생겨도 다른 데이터베이스를 이용해 운영할 수 있으므로 가용성이 향상됩니다.- 단점: 추가 비용이 소모되며 구현이 복잡합니다.검색할 때 많이 사용되는 컬럼에 인덱스를 추가합니다.- 장점: 검색 속도가 빨라집니다.- 단점: 인덱싱 용도의 테이블이 추가되기 때문에, DB 용량이 추가로 필요합니다. N+1 문제가 발생하는 부분이 있는지 확인하고 이를 해결합니다.- 장점: N+1 문제가 해결되면 데이터베이스에 들어오는 트래픽이 줄어드므로 성능이 ..
https://www.acmicpc.net/problem/1865문제때는 2020년, 백준이는 월드나라의 한 국민이다. 월드나라에는 N개의 지점이 있고 N개의 지점 사이에는 M개의 도로와 W개의 웜홀이 있다. (단 도로는 방향이 없으며 웜홀은 방향이 있다.) 웜홀은 시작 위치에서 도착 위치로 가는 하나의 경로인데, 특이하게도 도착을 하게 되면 시작을 하였을 때보다 시간이 뒤로 가게 된다. 웜홀 내에서는 시계가 거꾸로 간다고 생각하여도 좋다.시간 여행을 매우 좋아하는 백준이는 한 가지 궁금증에 빠졌다. 한 지점에서 출발을 하여서 시간여행을 하기 시작하여 다시 출발을 하였던 위치로 돌아왔을 때, 출발을 하였을 때보다 시간이 되돌아가 있는 경우가 있는지 없는지 궁금해졌다. 여러분은 백준이를 도와 이런 일이 가..
Spring에서 @Transactional 어노테이션의 역할을 설명하고, 트랜잭션의 ACID 속성 중 하나를 선택해서 구체적으로 설명해주세요.내 답변@Transactional 어노테이션은 데이터베이스에 접근할 때 하나의 트랜잭션 지정하는 어노테이션입니다. 이 트랜잭션을 지정함으로서 어떤 작업 진행 중 버그가 발생하여 작업이 중단 되더라도 데이터가 일부 수정되는 등의 이상 현상이 발생하지 않게 할 수 있습니다. ACID에서 A는 원자성을 의미하며, 한 번에 하나의 작업만을 진행해야 한다는 규칙입니다. 한 번에 여러 개의 작업을 진행할 경우, 같은 데이터 A에 여러 작업이 동시에 진행되는 race condition이 발생할 수 있기 때문입니다. 피드백잘한 점@Transactional의 기본 역할: 데이터베..