728x90
반응형

[TIL] QueryDSL의 경로 초기화 문제

매 주 업무를 수행하다보면 배우는 것이 꼭 작더라도 한두개는 생긴다.이러한 지식들을 나만 알고 넘기기에는 아쉬운 면도 있고, 시간이 지나면 까먹을 가능성도 있기에 TIL을 작성하려한다.원래는 Github Pages를 이용하여 깃헙 블로그를 만들어서 작성하려 했는데, 이미 티스토리가 방문자 수가 너무 잘 나와서.. ㅎㅎ아무리 똥글이어도 누군가 읽어주는 게 더 의미있는 글이지 않겠는가! 하는 생각으로 티스토리에 작성하기로 결정했다.근데 티스토리에서 마크다운 문법만 좀 기존 템플릿하고 호환되게 제공해주면 너무 잘 쓸텐데.. 커스텀 하기도 귀찮고 그런 상태이다. 문제 상황QueryDSL에서 Entity간 서로 필드로 Entity를 가지고 있다면 해당 Entity들의 QClass에도 부모를 타고갈 수 있게 경로가..

Today I Learned 2025.02.16 2

[C/C++] 17299번 - 오등큰수

https://www.acmicpc.net/problem/17299왠지 모르게 골드 3이라는 난이도 때문에 예전에 풀 의지를 느끼지 못했던 문제인데, 차근히 풀어보니 그렇게 어려운 문제는 아닌 스택 문제이다.문제 이해길이가 N인 수열이 있을 때 i번째 원소를 x원소라고 해보자.이 때, '자기랑 같은 숫자가 배열 안에 등장한 횟수'가 F(x)의 값이다.[1 1 2 3 4 2 1]이라는 배열이 있다면 x=1일 때, F(1) = 3이라는 것이다. (1이 배열에서 3번 등장했으므로)그렇다면 이 때 '오등큰수'는 배열에서 자기보다 오른쪽에 있으면서 F(x) 값이 자기보다 큰 최초의 x이다.만약 그러한 x가 없다면, 그 수의 '오등큰수'는 -1이 된다.위와 같은 조건을 가질 때, 배열의 모든 원소의 '오등큰수'를 ..

백준(BOJ) 2025.01.05 0

[Hello 2025] B. Gorilla and the Exam

문제 이해중복 가능한 정수가 나열된 길이가 N인 수열이 있을 때, 해당 수열에서 범위 l, r을 잡아서 그 범위 안에서 가장 작은 수를 전부 삭제할 수 있을 때, 최소 몇 번의 삭제 연산이 필요한지 계산하는 문제이다.여기서 중요한 것은 N과 함께 입력되는 K라는 입력값인데, 이 K값만큼 원하는 수들을 원하는 수로 변경시킬 수 있다.예를 들어 K = 1인 경우, [1 2 1]이라는 배열을 [1 1 1]로 변화시켜 1번의 삭제 연산으로 배열의 수를 전부 삭제할 수 있는 것이다. 문제 해설이 문제에서 주의할 점은 배열 안의 수가 배열된 순서가 큰 의미가 없다는 것이다.결국에는 모든 수를 삭제하려면 최소한남아있는 수의 종류만큼 삭제 연산이 필요하기 때문이다.즉, K를 이용하여 남아있는 수의 종류를 최소화하는게 ..

4학년부터 졸업 후 반년까지 취준 기록

안녕! 오랜만에 블로그에 글을 쓴다.누군가 내 글을 많이 읽어주는 것도 아니고, 나 또한 글을 잘 쓰는 편이 아니다 보니 글 작성을 차일피일 미루게 된다.특히 이런 글에서는 사진을 올려야 한다는 부담감이 큰데, 나는 사진을 많이 찍는 편도 아니고 하나하나 올리는 능력도 부족한 편이다.그렇게 별 것 없는 블로그이지만 매일 40명가량의 조회수가 나오는 것을 보면 나의 경험을 공유하는 것이 부질없는 일은 아니라는 생각이 든다.특히 편입에 대한 내 경험을 정리한 글은 꽤나 많은 분들에게 도움이 됐다고 느껴진다.그렇기에 이번에도 힘을 내서 지난 1년 반에 대해 기록하고자 한다. #1   2023년 6월 ~ 2024년 2월세종대학교에서의 마지막 학기편입 후 처음으로 내게 진짜 대학생활에 대해 알게 해 주었던 고마운..

일상 2024.09.04 11

[TIL] QueryDSL의 경로 초기화 문제

매 주 업무를 수행하다보면 배우는 것이 꼭 작더라도 한두개는 생긴다.이러한 지식들을 나만 알고 넘기기에는 아쉬운 면도 있고, 시간이 지나면 까먹을 가능성도 있기에 TIL을 작성하려한다.원래는 Github Pages를 이용하여 깃헙 블로그를 만들어서 작성하려 했는데, 이미 티스토리가 방문자 수가 너무 잘 나와서.. ㅎㅎ아무리 똥글이어도 누군가 읽어주는 게 더 의미있는 글이지 않겠는가! 하는 생각으로 티스토리에 작성하기로 결정했다.근데 티스토리에서 마크다운 문법만 좀 기존 템플릿하고 호환되게 제공해주면 너무 잘 쓸텐데.. 커스텀 하기도 귀찮고 그런 상태이다. 문제 상황QueryDSL에서 Entity간 서로 필드로 Entity를 가지고 있다면 해당 Entity들의 QClass에도 부모를 타고갈 수 있게 경로가..

Today I Learned 2025.02.16 2

[C/C++] 17299번 - 오등큰수

https://www.acmicpc.net/problem/17299왠지 모르게 골드 3이라는 난이도 때문에 예전에 풀 의지를 느끼지 못했던 문제인데, 차근히 풀어보니 그렇게 어려운 문제는 아닌 스택 문제이다.문제 이해길이가 N인 수열이 있을 때 i번째 원소를 x원소라고 해보자.이 때, '자기랑 같은 숫자가 배열 안에 등장한 횟수'가 F(x)의 값이다.[1 1 2 3 4 2 1]이라는 배열이 있다면 x=1일 때, F(1) = 3이라는 것이다. (1이 배열에서 3번 등장했으므로)그렇다면 이 때 '오등큰수'는 배열에서 자기보다 오른쪽에 있으면서 F(x) 값이 자기보다 큰 최초의 x이다.만약 그러한 x가 없다면, 그 수의 '오등큰수'는 -1이 된다.위와 같은 조건을 가질 때, 배열의 모든 원소의 '오등큰수'를 ..

백준(BOJ) 2025.01.05 0

[Hello 2025] B. Gorilla and the Exam

문제 이해중복 가능한 정수가 나열된 길이가 N인 수열이 있을 때, 해당 수열에서 범위 l, r을 잡아서 그 범위 안에서 가장 작은 수를 전부 삭제할 수 있을 때, 최소 몇 번의 삭제 연산이 필요한지 계산하는 문제이다.여기서 중요한 것은 N과 함께 입력되는 K라는 입력값인데, 이 K값만큼 원하는 수들을 원하는 수로 변경시킬 수 있다.예를 들어 K = 1인 경우, [1 2 1]이라는 배열을 [1 1 1]로 변화시켜 1번의 삭제 연산으로 배열의 수를 전부 삭제할 수 있는 것이다. 문제 해설이 문제에서 주의할 점은 배열 안의 수가 배열된 순서가 큰 의미가 없다는 것이다.결국에는 모든 수를 삭제하려면 최소한남아있는 수의 종류만큼 삭제 연산이 필요하기 때문이다.즉, K를 이용하여 남아있는 수의 종류를 최소화하는게 ..

4학년부터 졸업 후 반년까지 취준 기록

안녕! 오랜만에 블로그에 글을 쓴다.누군가 내 글을 많이 읽어주는 것도 아니고, 나 또한 글을 잘 쓰는 편이 아니다 보니 글 작성을 차일피일 미루게 된다.특히 이런 글에서는 사진을 올려야 한다는 부담감이 큰데, 나는 사진을 많이 찍는 편도 아니고 하나하나 올리는 능력도 부족한 편이다.그렇게 별 것 없는 블로그이지만 매일 40명가량의 조회수가 나오는 것을 보면 나의 경험을 공유하는 것이 부질없는 일은 아니라는 생각이 든다.특히 편입에 대한 내 경험을 정리한 글은 꽤나 많은 분들에게 도움이 됐다고 느껴진다.그렇기에 이번에도 힘을 내서 지난 1년 반에 대해 기록하고자 한다. #1   2023년 6월 ~ 2024년 2월세종대학교에서의 마지막 학기편입 후 처음으로 내게 진짜 대학생활에 대해 알게 해 주었던 고마운..

일상 2024.09.04 11

[AWS] 프리티어 VPC 과금 문제 해결법 (RDS Public IP 없이 MySQL 워크벤치 연결)

AWS 과금 정책의 변화비교적 최근 IPv4의 고갈 문제로 인해 AWS에서 IPv6사용을 권장함에 따라 2개 이상의 IPv4 할당에 대해 과금을 시작했습니다.이에 따라 1년가량 운영 중이던 저희 서버에도 과금이 진행됐는데요.이번에 AWS 계정간에 서버를 이전하며 과금 문제를 해결한 방법에 대해서 말씀드리도록 하겠습니다.2개의 IPv4를 할당받는다면 위와 같이 달에 4달러가량이 지출되게 됩니다. 과금이 되는 원리대부분의 사이드 프로젝트에서 2개의 IP는 다음과 같이 할당받습니다.1. EC2 인스턴스에 고정 IP를 할당하기 위해 등록한 탄력적 IP2. RDS 인스턴스를 외부에서 접근할 수 있게 열어둔 퍼블릭 액세스 가능이렇게 2개에 대해서 IPv4를 할당받는 경우가 대부분입니다.해결법이 문제를 해결하기 위해..

Develop(개발) 2024.07.18 0

[C/C++] 26495번 - Big Number

https://www.acmicpc.net/problem/26495 26495번: Big Number One of the professors at PLU has had a lot of trouble reading student programs. He just cannot read that small print. Your job is to write a program that will read a positive integer and rewrite the number in large block format. The block format for each d www.acmicpc.net 문제 0 ~ 9를 각 숫자로 이루어진 큰 수 아스키아트로 만들어 출력하는 문제이다. 단순히 손으로 아스키코드를 찍던지 머리..

백준(BOJ) 2024.03.31 0

CGI와 Servlet, 그리고 WS와 WAS

CGI와 Servlet에 대해 이야기하기 전에 먼저 WS와 WAS의 차이에 대해서 이야기하도록 하겠습니다. 일반적으로 웹서버라고 하면 WS와 WAS를 모두 통칭하는 경우가 많지만 이 글에서는 정적인 웹 페이지만을 반환하는 WS와 동적인 요청또한 처리할 수 있는 WAS를 분리해서 설명하도록 하겠습니다. Web Server (WS) WS의 정의는 다음과 같습니다. 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램 또는 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터 즉 웹서버란 HTTP 프로토콜에 따른 요청을 받아서 HTML과 같은 정적인 웹 페이지를 반환하는 프로그램이나 컴퓨터를 의미한다고 이해할 수 있습니다. 결론적으..

CS(Computer Science) 2024.03.22 3

스프링 동시성 문제 해결법의 종류와 장단점

동시성 문제란 무엇인가?Concurrency problems occur when multiple transactions are being executed on the same database in unrestricted problems. 동시성 문제는 동일한 데이터베이스에서 여러 트랜잭션이 동시에 실행될 때 발생합니다. 즉, 동시성 문제는 동일한 데이터에 대해 여러 트랜젝션이 동시에 수행될 때 발생하는 문제입니다. 스프링에서 동시성 문제 해결의 분류스프링에서 동시성 문제를 해결할 수 있는 방법은 크게 3가지로 나눌 수 있습니다. 1. 코드단에서 지원하는 Lock을 이용한 Application 내부 스레드 동기화 2. MongoDB, Redis와 같은 인메모리 DB를 이용한 트랜젝션 동기화 3. DB자체에..

Develop(개발) 2024.03.17 4

스프링이 어떻게 여러 요청을 동시에 처리할 수 있을까?

스프링의 다중 요청 처리 우선 스프링은 멀티쓰레딩 환경입니다. 그렇기 때문에 동시에 발생하는 여러 요청에 대해서 여러 쓰레드로 나눠서 비동기로 요청을 처리할 수 있습니다. 그러면 스프링에서 멀티쓰레딩을 어떻게 지원할까요? 스프링 내장 서블릿 컨테이너 Tomcat 스프링은 기본적으로 설정된 서블릿 컨테이너로 내장 웹서버인 Tomcat을 사용합니다. 이 Tomcat에서 멀티쓰레딩을 지원하기 위한 쓰레드풀을 기본적으로 생성해서 관리합니다. 쓰레드풀이란 쓰레드를 생성하고 제거하는데 드는 컨텍스트 스위칭과 같은 오버헤드를 줄이기 위해 미리 쓰레드를 만들어두고 관리하는 패턴입니다. 이 쓰레드풀의 쓰레드들을 통해 비동기 요청을 처리합니다. Tomcat 쓰레드풀 기본 설정 server: tomcat: threads: ..

Develop(개발) 2024.03.10 0

Github Action에서 간단한 테스트 자동화 하기!

왜 Github Action? Github Action을 이용하면 여러 테스트를 자동화할 수 있습니다. 저는 42Seoul 과정을 진행하면서 팀 과제를 진행하며 Github Action을 통해 2개의 테스트 자동화를 구축하고 사용하고 있습니다. 1. Makefile의 make명령이 제대로 make가 되는지 여부 테스트 2. Norminnete(코딩 컨벤션)을 맞춰서 코드를 작성했는지 테스트 이러한 테스트들을 통해 Make가 가능한 코드만 master에 머지를 한다던지 등의 팀 내규를 만들어서 소스코드를 관리할 수 있어서 매우 편리합니다. 어떻게 작동하나요? (간단히) Github Action은 일시적으로 가상 환경을 띄워서 그 안에서 사전에 지정해둔 job들이 실행되는 순서로 작동합니다. 꼭 테스트뿐이 ..

Develop(개발) 2024.02.25 4
728x90
반응형