분류 전체보기7 하반기 준비 계획 하반기 준비 항목코딩테스트자소서, 이력서기술적인 역량CS 면접 준비4개밖에 되지 않지만 각각이 묵직한 준비 항목들입니다. 따로 메모를 해둘까 하다가 누군가에게 보이는 블로그에 작성해 보면 조금 더 계획을 체계적으로 작성할 수 있을 것 같아서 작성하는 글입니다. 코딩테스트일단 현재 내 상태는 골드 5정도로 판단이 되지만 실전에서 어떤 유형인지를 파악하기 위해 지난 반년 간 랜덤으로 문제를 풀어왔습니다. 하지만 실력 향상은 그렇게 크게 보이지 않았고, 앞으로는 각 유형별로 내공을 쌓기 위해 짧게는 1주, 길게는 2주 동안 하나의 유형만 풀면서 깊이 있게 유형을 내 것으로 만들 생각입니다. 서류 합격이 된다면 바로 이어져 오는 관문이기 때문에 시급도와 중요도 모두 높다고 판단이 됩니다.자소서자소서는 하반기동안.. 취준 2025. 6. 29. [Spring] S3 파일 업로드 멀티 스레드 방식의 비동기 처리 문제 상황지난해 개발한 서비스에서 운영 중 하나의 상품에 고용량 이미지를 10장을 업로드하여 timeout이 발생하는 문제가 있었습니다. 이로 인해 상품 등록이 완료되기 전에 동일 요청이 들어와 동일한 상품이 2개 DB 등록되기도 했습니다. 이 문제는 DB에서 제약조건을 걸어 해결하였고, 관련 포스팅은 다음 작성해서 링크를 걸어 놓으려고 합니다. 다시 본론으로 돌아와 timeout이 발생한 근본적인 이유는 무엇일까요? 상품 등록은 크게 3가지 과정을 거칩니다.1. 원본 이미지 S3 업로드2. 이미지 리사이징 (썸네일 이미지)3. 썸네일 이미지 S3 업로드 당시 코드는 동기적으로 모든 이미지를 1,2,3 번 과정을 거치고 있었고, 가장 수행 볼륨이 큰 1번에서 많은 시간이 소요된 것으로 보입니다. 당시에는.. Spring 2025. 5. 29. [Java] 2225번: 합분해 문제0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램을 작성하시오.덧셈의 순서가 바뀐 경우는 다른 경우로 센다(1+2와 2+1은 서로 다른 경우). 또한 한 개의 수를 여러 번 쓸 수도 있다.입력첫째 줄에 두 정수 N(1 ≤ N ≤ 200), K(1 ≤ K ≤ 200)가 주어진다.출력첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다.풀이완전탐색으로는 절대 불가능한 시간복잡도였다. 그래서 고려할 수 있는 건 분할정복, 이분탐색, 방문처리 이런 것들이 있지만 이 문제에는 적용되지 않는다. 그렇다면 시간복잡도를 줄일 수 있는 더 대표적인 방법 점화식을 활용한 DP기법이다. n=6, k=4 일 때, 직접 표를 그려보면 다음에 올 dp값에 대한 정보를 규칙을 통.. Algorithm/DP 2025. 5. 27. [Java] 8983번: 사냥꾼 문제KOI 사냥터에는 N 마리의 동물들이 각각 특정한 위치에 살고 있다. 사냥터에 온 사냥꾼은 일직선 상에 위치한 M 개의 사대(총을 쏘는 장소)에서만 사격이 가능하다. 편의상, 일직선을 x-축이라 가정하고, 사대의 위치 x1, x2, ..., xM은 x-좌표 값이라고 하자. 각 동물이 사는 위치는 (a1, b1), (a2, b2), ..., (aN, bN)과 같이 x,y-좌표 값으로 표시하자. 동물의 위치를 나타내는 모든 좌표 값은 양의 정수이다.사냥꾼이 가지고 있는 총의 사정거리가 L이라고 하면, 사냥꾼은 한 사대에서 거리가 L 보다 작거나 같은 위치의 동물들을 잡을 수 있다고 한다. 단, 사대의 위치 xi와 동물의 위치 (aj, bj) 간의 거리는 |xi-aj| + bj로 계산한다.예를 들어, 아래.. Algorithm/이분탐색 2025. 5. 22. 요청 매핑(RequestMapping) @RequestMapping("/hello-basic") /hello-basic URL 호출이 오면 이 메서드가 실행하도록 매핑한다. 대부분의 속성은 배열로 제공하므로 다중 설정이 가능하다. {"/hello-basic", "/hello-go"} Spring 2022. 1. 25. 로깅 로깅은 System.out.println()같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다. 로그 선언 private Logger log = LoggerFactory.getLogger(getClass()); private static final Logger log = LoggerFactory.getLogger(Xxx.class) 이 선언들을 대체하기 위해 @Slf4j 롬복 사용 로그 호출 log.info("hello") System.out.println("hello") 올바른 사용법 log.debug("data={}", data) log.debug("date=" + data) 더하기 연산이 발생하기 때문에 사용하지 않는다. 로그 사용시 장점 1.. Spring 2022. 1. 25. Chapter 1 관계형 모델 * 관계형 데이터베이스의 구조 - 관계형 데이터베이스는 테이블(고유한 이름을 가지고 있음)의 모임이다. - 관계형 모델에서의 릴레이션(투플들의 집합)은 테이블을 의미하는 단어로 사용된다. ※ 투플: 릴레이션의 행 - 릴레이션의 각 속성은 도메인이라고 하는 허가된 값의 집합을 가지고 있다. * 키 - 주어진 릴레이션 안에서 투플을 구별하는 방법이 있어야 한다. * 관계형 질의어 질의어는 사용자가 데이터베이스로부터 정보를 요청할 때 사용하는 언어이다. * 관계 연산 - 조인(join) 연산은 두 릴레이션을 합치는 연산이다. Database 2021. 6. 16. 이전 1 다음