전체 글
-
올해 초부터 블로그를 좀 열심히 쓰고 있는데, 아직 24년에 대한 회고를 하지 않아 가볍게 지난 1년 그리고 이번 겨울방학에 뭘 했는지, 그리고 KPT 방식으로 리뷰를 한번 해보려고 한다. 24년 3월 개강 전, 2월에 졸업을 위한 토익 시험을 쳤었다. 대략 2주 동안 매일 도서관에 출퇴근하며 토익 문제집을 풀었던 기억이 난다. 정말 이때 영어를 너무 오랜만에 해서 문법도 기억이 안 나고 많은 고난이 있었다. 이때 영어가 부족하단걸 알아차렸어야 하는데... 아무튼, 그래도 옛날 영어했던 짬바가 좀 있어서인지 생각보다 점수가 잘 나왔다. LC 470에 RC 390으로 총 860이 나왔었는데, 역시 RC가 많이 부족... 하다고 생각이 된다. 아무래도 문법 때문인 듯. 그리고 이때까지만 해도 진로가 확실히 ..
열정 가득했던 2024년, 하이라이트와 반성점 회고해보기올해 초부터 블로그를 좀 열심히 쓰고 있는데, 아직 24년에 대한 회고를 하지 않아 가볍게 지난 1년 그리고 이번 겨울방학에 뭘 했는지, 그리고 KPT 방식으로 리뷰를 한번 해보려고 한다. 24년 3월 개강 전, 2월에 졸업을 위한 토익 시험을 쳤었다. 대략 2주 동안 매일 도서관에 출퇴근하며 토익 문제집을 풀었던 기억이 난다. 정말 이때 영어를 너무 오랜만에 해서 문법도 기억이 안 나고 많은 고난이 있었다. 이때 영어가 부족하단걸 알아차렸어야 하는데... 아무튼, 그래도 옛날 영어했던 짬바가 좀 있어서인지 생각보다 점수가 잘 나왔다. LC 470에 RC 390으로 총 860이 나왔었는데, 역시 RC가 많이 부족... 하다고 생각이 된다. 아무래도 문법 때문인 듯. 그리고 이때까지만 해도 진로가 확실히 ..
2025.03.02 -
일단 메모이제이션을 통한 dp가 생각나긴 했는데 지금 방문가능한 오락실이 오름차순으로 허용되고, 또 방문 횟수에 따라 출력을 해야 하기 때문에 dp 배열을 몇 차원으로, 어떻게 관리를 해줘야 할지 고민을 많이 했다. 지금 그런데 좌표의 제한이 50이고 오락실 번호도 그리고 방문 가능한 횟수의 제한도 50이기 때문에 이 모든 정보(y, x, 방문 횟수, 이전에 방문한 오락실 번호)를 다 넣어서 4차원 배열을 사용해 보기로 했다. 어차피 뭐 다 해봤자 50^4=6250000 이니까... int dp[54][54][54][54]; // y,x,최근에 방문한 오락실 번호,지난 오락실 수 일단 초기에 값을 받으며 dp 테이블을 세팅해 주는 작업을 진행하였다. void init() { cin >> n >> m ..
백준 1513 - 경로 찾기 (C++)일단 메모이제이션을 통한 dp가 생각나긴 했는데 지금 방문가능한 오락실이 오름차순으로 허용되고, 또 방문 횟수에 따라 출력을 해야 하기 때문에 dp 배열을 몇 차원으로, 어떻게 관리를 해줘야 할지 고민을 많이 했다. 지금 그런데 좌표의 제한이 50이고 오락실 번호도 그리고 방문 가능한 횟수의 제한도 50이기 때문에 이 모든 정보(y, x, 방문 횟수, 이전에 방문한 오락실 번호)를 다 넣어서 4차원 배열을 사용해 보기로 했다. 어차피 뭐 다 해봤자 50^4=6250000 이니까... int dp[54][54][54][54]; // y,x,최근에 방문한 오락실 번호,지난 오락실 수 일단 초기에 값을 받으며 dp 테이블을 세팅해 주는 작업을 진행하였다. void init() { cin >> n >> m ..
2025.03.01 -
트랜잭션은 데이터베이스에서 작업이 수행되는 하나의 단위로 이러한 작업들이 안전하게 수행되는 것을 보장하기 위한 ACID라는 성질이 존재한다. ACID는 순서대로 Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성)을 의미한다.Atomicity Atomicity(원자성)은 트랜잭션 내부 연산들이 모두 성공하던지 혹은 모두 실패해야 한다는 것이다. 예를 들어 A 계좌에서 1000원 출금B 계좌로 1000원 입금 위와 같은 트랜잭션이 존재한다면 출금과 입금이 모두 성공하던지 혹은 모두 실패해야 한다.Consistency Consistency(일관성)은 트랜잭션이 성공하면 해당 데이터베이스가 일관된 상태로 유지되는 것을 보장하는 것이다. 만약 트랜..
ACID란?트랜잭션은 데이터베이스에서 작업이 수행되는 하나의 단위로 이러한 작업들이 안전하게 수행되는 것을 보장하기 위한 ACID라는 성질이 존재한다. ACID는 순서대로 Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성)을 의미한다.Atomicity Atomicity(원자성)은 트랜잭션 내부 연산들이 모두 성공하던지 혹은 모두 실패해야 한다는 것이다. 예를 들어 A 계좌에서 1000원 출금B 계좌로 1000원 입금 위와 같은 트랜잭션이 존재한다면 출금과 입금이 모두 성공하던지 혹은 모두 실패해야 한다.Consistency Consistency(일관성)은 트랜잭션이 성공하면 해당 데이터베이스가 일관된 상태로 유지되는 것을 보장하는 것이다. 만약 트랜..
2025.02.27 -
REST(Representational State Transfer)는 자원의 표현을 이용하여 상태를 주고받는 것으로, 자원은 소프트웨어가 관리하는 모든 것, 자원의 표현은 자원을 나타내기 위한 이름을 의미한다. 예를 들어 서버가 관리하는 회원 데이터는 Member라 표현할 수 있고, 최근에는 일반적으로 자원의 상태를 나타내기 위해 JSON을 사용한다. 즉, REST는 네트워크 상에서 클라이언트와 서버가 통신하는 방법 중 하나이며 HTTP를 사용한다. 이때 HTTP URI를 사용하여 자원을 명시하고 HTTP METHOD를 통해 CRUD 연산을 적용한다. URI는 Uniform Resource Identifier, 즉 리소스 그 자체를 말하는 것이고, URI는 URL(Uniform Resource Locat..
REST란?REST(Representational State Transfer)는 자원의 표현을 이용하여 상태를 주고받는 것으로, 자원은 소프트웨어가 관리하는 모든 것, 자원의 표현은 자원을 나타내기 위한 이름을 의미한다. 예를 들어 서버가 관리하는 회원 데이터는 Member라 표현할 수 있고, 최근에는 일반적으로 자원의 상태를 나타내기 위해 JSON을 사용한다. 즉, REST는 네트워크 상에서 클라이언트와 서버가 통신하는 방법 중 하나이며 HTTP를 사용한다. 이때 HTTP URI를 사용하여 자원을 명시하고 HTTP METHOD를 통해 CRUD 연산을 적용한다. URI는 Uniform Resource Identifier, 즉 리소스 그 자체를 말하는 것이고, URI는 URL(Uniform Resource Locat..
2025.02.26 -
캐시는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소로, 이를 통해 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 이러한 캐시를 통해 성능을 향상하고 부하를 감소할 수 있지만 캐시를 사용하는 방식에 따라 서비스에 다른 영향을 미칠 수도 있다.Cache Aside(Lazy Loading) Cache Aside(Lazy Loading) 방식은 캐시 히트, 즉 캐시에 데이터가 존재하면 캐시에서 데이터를 불러오고 그렇지 않으면(캐시 미스) 원본 데이터베이스에서 조회하여 반환하는 방식으로 이때 조회한 데이터를 캐시에 적재한다. 해당 방식은 실제 요청된 데이터만 캐시에 저장하므로 불필요한 캐싱을 줄일 수 있지만, 초기에 대량의 캐시 미스로 인해 데이터베이스에 부하가 발생할 수 있다..
캐싱 전략에 대해캐시는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소로, 이를 통해 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 이러한 캐시를 통해 성능을 향상하고 부하를 감소할 수 있지만 캐시를 사용하는 방식에 따라 서비스에 다른 영향을 미칠 수도 있다.Cache Aside(Lazy Loading) Cache Aside(Lazy Loading) 방식은 캐시 히트, 즉 캐시에 데이터가 존재하면 캐시에서 데이터를 불러오고 그렇지 않으면(캐시 미스) 원본 데이터베이스에서 조회하여 반환하는 방식으로 이때 조회한 데이터를 캐시에 적재한다. 해당 방식은 실제 요청된 데이터만 캐시에 저장하므로 불필요한 캐싱을 줄일 수 있지만, 초기에 대량의 캐시 미스로 인해 데이터베이스에 부하가 발생할 수 있다..
2025.02.25 -
아... 너무 어렵다 DP 기존에 DP문제는 뭔가 특정 시점의 상태값에 대해 더 더하거나 빼거나 해서 다음 상태값을 결정하는 거였는데, 이건 새로운 느낌의 DP문제였다. 우선 큰 그림은몸무게들의 총합을 구해서 (총 사람수 n / 2) 명으로 최대한 (몸무게의 총합 / 2)에 가깝게 만들기이다. 일단 dp 테이블은 dp [한 팀에 최대로 들어갈 수 있는 사람 수][최대 몸무게]로 정했다. 각 dp [i][j]에서 값은 해당 사람 수(i)에서 무게(j)를 만들 수 있으면 1, 없으면 0으로 정했다. 이때 dp [0][0] 즉 0명으로 무게 0을 만들 수 있으므로 dp[0][0]=1로 잡고 시작했다. 그다음에 입력받은 무게들에 대해 dp를 돌려줘야 하는데, 우선 입력값은 다음과 같다. 41235 이러면 정답..
백준 4384 - 공평하게 팀 나누기 (C++)아... 너무 어렵다 DP 기존에 DP문제는 뭔가 특정 시점의 상태값에 대해 더 더하거나 빼거나 해서 다음 상태값을 결정하는 거였는데, 이건 새로운 느낌의 DP문제였다. 우선 큰 그림은몸무게들의 총합을 구해서 (총 사람수 n / 2) 명으로 최대한 (몸무게의 총합 / 2)에 가깝게 만들기이다. 일단 dp 테이블은 dp [한 팀에 최대로 들어갈 수 있는 사람 수][최대 몸무게]로 정했다. 각 dp [i][j]에서 값은 해당 사람 수(i)에서 무게(j)를 만들 수 있으면 1, 없으면 0으로 정했다. 이때 dp [0][0] 즉 0명으로 무게 0을 만들 수 있으므로 dp[0][0]=1로 잡고 시작했다. 그다음에 입력받은 무게들에 대해 dp를 돌려줘야 하는데, 우선 입력값은 다음과 같다. 41235 이러면 정답..
2025.02.24 -
로드 밸런싱이란? [매일메일] 다중 서버 환경에서 세션 기반 인증 방식을 사용하는 경우 발생할 수 있는 문제점은?세션 불일치 문제란? 기존 서버의 사양을 업그레이드하여 시스템을 확장하는 방식인 스케일 업(Scale-Up)과는 달리 서버를 여러 대 추가하여 시스템을 확장하는 방식인 스케일 아웃(Scale-Out) 사dockerel.tistory.com 이전에 올렸던 다중 서버 환경에서 스티키 세션 방식의 경우 로드 밸런서에 의해 요청이 각 서버에 분배되게 된다. 이를 로드 밸런싱이라 하는데, 이는 애플리케이션에 들어오는 네트워크 요청(트래픽)을 균등하게 분산시키는 것을 말한다. 위 사진과 같이 로드 밸런서는 서버들의 앞단에 존재하며 이를 통해 애플리케이션의 가용성, 확장성 그리고 보안 및 성능을 확보할..
로드 밸런싱에 대해...로드 밸런싱이란? [매일메일] 다중 서버 환경에서 세션 기반 인증 방식을 사용하는 경우 발생할 수 있는 문제점은?세션 불일치 문제란? 기존 서버의 사양을 업그레이드하여 시스템을 확장하는 방식인 스케일 업(Scale-Up)과는 달리 서버를 여러 대 추가하여 시스템을 확장하는 방식인 스케일 아웃(Scale-Out) 사dockerel.tistory.com 이전에 올렸던 다중 서버 환경에서 스티키 세션 방식의 경우 로드 밸런서에 의해 요청이 각 서버에 분배되게 된다. 이를 로드 밸런싱이라 하는데, 이는 애플리케이션에 들어오는 네트워크 요청(트래픽)을 균등하게 분산시키는 것을 말한다. 위 사진과 같이 로드 밸런서는 서버들의 앞단에 존재하며 이를 통해 애플리케이션의 가용성, 확장성 그리고 보안 및 성능을 확보할..
2025.02.21 -
세션 불일치 문제란? 기존 서버의 사양을 업그레이드하여 시스템을 확장하는 방식인 스케일 업(Scale-Up)과는 달리 서버를 여러 대 추가하여 시스템을 확장하는 방식인 스케일 아웃(Scale-Out) 사용 시 각 서버(WAS)는 각각 세션 저장소를 독립적으로 가지기 때문에 데이터 불일치 문제가 발생할 수 있다. 예를 들어 유저의 요청으로 유저의 세션 아이디가 서버 WAS1의 세션 저장소에 저장된다. 하지만 그 후 유저의 요청이 서버 WAS2로 보내진 경우 WAS2의 세션 저장소에는 유저의 세선 정보가 존재하지 않기 때문에 데이터 불일치 문제가 발생한다. 이를 세션 불일치 문제라 하고 이는 크게 3가지 방식(스티키 세션 방식, 세션 클러스터링 방식, 스토리지 분리 방식)으로 해결할 수 있다. 해결 방..
[매일메일] 다중 서버 환경에서 세션 기반 인증 방식을 사용하는 경우 발생할 수 있는 문제점은?세션 불일치 문제란? 기존 서버의 사양을 업그레이드하여 시스템을 확장하는 방식인 스케일 업(Scale-Up)과는 달리 서버를 여러 대 추가하여 시스템을 확장하는 방식인 스케일 아웃(Scale-Out) 사용 시 각 서버(WAS)는 각각 세션 저장소를 독립적으로 가지기 때문에 데이터 불일치 문제가 발생할 수 있다. 예를 들어 유저의 요청으로 유저의 세션 아이디가 서버 WAS1의 세션 저장소에 저장된다. 하지만 그 후 유저의 요청이 서버 WAS2로 보내진 경우 WAS2의 세션 저장소에는 유저의 세선 정보가 존재하지 않기 때문에 데이터 불일치 문제가 발생한다. 이를 세션 불일치 문제라 하고 이는 크게 3가지 방식(스티키 세션 방식, 세션 클러스터링 방식, 스토리지 분리 방식)으로 해결할 수 있다. 해결 방..
2025.02.20