본문 바로가기

전체 글

(53)
[성능 개선] 비동기 로직으로 전환하자 트랜잭션으로 충분한가? 평소, 테크 블로그 글을 종종 보곤 한다. 최근 동기, 비동기 로직 처리에 관심이 있어 이와 관련된 글들을 보다가, 우연히 [트랜잭션 내에 외부 리소스 요청이 담기게 되면 어떤 문제가 발생할까?] 글을 보게되었다. 해당 글의 요지는 트랜잭션은 꼭 필요한 로직만을 포함하고, 그 외의 로직은 서비스레이어상 분리함으로써 불필요한 트랜잭션의 범위를 줄이겠다는 것이다. 여기서 범위를 줄이는 이유는 병목 현상을 방지하고 데이터베이스 커넥션을 굳이 필요 없는 곳에 낭비하지 않기 위해서다.위의 글에서, 자바의 @Transactional 어노테이션을 사용함으로써, 하나의 트랜잭션을 유지하고, 그외의 로직은 상위 클래스로 분리하여 작성한다.나도 해당 글의 저자 분의 의견에 동의한다. 글에 쓰여져 있..
[Spring-AI] 오픈소스 기여 기록 2025.09.08생애 처음으로 오픈소스 기여를 했다.SpringAI main 브랜치에 내가 수정한 코드가 있는게 뭔가 이상하다.2025년도 1월 26일 다운된 Groq api를 재개한 코드이다. TODO로 써져있는 부분인 주석처리 된 부분을 수정하였고, 오픈소스 생태계에 익숙지 않아 조심스러웠다.
[인프라/AWS] NAT Gateway 대신 NAT Instance사용 / Nginx의 로드밸런서 NAT Gateway 대신 NAT Instance사용최근 [AWS로 시작하는 인프라 구축의 정석] AWS로 시작하는 인프라 구축의 정석쏙쏙쏙 따라 하며 배우는 AWS 인프라 구축 A to Z 도서구매 사이트(가나다순)[교보문고] [도서11번가] [알라딘] [예스이십사] [인터파크] [쿠팡] 전자책 구매 사이트(가나다순)교보문고 / 구글북스 /jpub.tistory.com이라는 책을 읽으며 실습을 하다가 NAT Gateway를 사용해 요금이 부과되는 상황이 생겼다.프리티어 범주 내에서 NAT Gateway는 무료로 사용되는게 아닌건지 모르고, 실습을 하다가 발생했다. ㅠㅠ사용하지 않아도 돈을 내야된다. credit을 제공받는 것으로 잘 마무리 되었지만 이번 기회에 NAT Gateway와 그외의 리소스에 ..
[운영체제] 페이지 교체 알고리즘1 (FIFO with Belady's Anomaly) 지난번, 가상 메모리와 페이지 폴트에 대해 정리해봤다. [메모리 관리해야지, 어떻게? 블로그 글]방금 운영체제 과목 중간 시험을 봐서 머리가 따끈따끈하다 ㅎㅎ 페이지 폴트시 이용하는 알고리즘 종류에 대해 정리해보자.페이지 교체 알고리즘 (page-replacement algorithm)FIFO가장 먼저 온 것을 교체한다.page frames가 3개이고, string이 위와 같이 주어질때,page fault가 일어나는 경우, page frames를 일종의 queue로 생각해, head에 있는 값을 Poll()한다.그러나 아래와 같은 문제점이 있다. [Belady's Anomaly(벨라디의 이상현상)] 이론상, 물리 메모리의 페이지 프레임을 늘려 페이지 수를 늘려준다면, 사용하려는 페이지가 물리 메모리에 ..
[데이터베이스] 쿼리의 구성요소 실행 순서 단순한 궁금증에서 시작되, 정리해놓으면 좋을 거 같아 짬을 내어 글을 쓰게 되었다. 데이터베이스 시험공부 문제를 풀며 감 익히고 있는데 Suppose that we have a relation marks(ID, sore) and we wish to assign grades to students based on the sore as follows: grade F if score 문제 출처 : Database System Concepts (Seventh Edition) Find the number of students with eah grade. 문제 해석 : 각 학생의 점수(score)를 기준으로 학점(grade)을 계산해서 출력해라. 즉, 문제에서 요구하는 것은각 학생들마다 받은 점수를 40점 미만은..
[운영체제] 메모리 관리해야지, 어떻게? 운영체제 중간고사 시험공부를 하고 있는데, 메모리 관리 관련 이해가 쏙쏙되는 15년전 블로그 글을 발견해서 토대로 한번 정리해보려고 한다.유일한 시험기간 딴짓 = 시험공부 내용 블로그 글 쓰기 ㅎㅎ...의외로 좀 재밌어서 정리하게 되었다.재밌자나 한잔해~메모리 관리가 필요한 이유원하는 작업을 컴퓨터에서 처리하기 위해서는 처리대상의 내용, 처리 결과를 잠시 기억하고 있어야 한다. 이것을 "메모리"라고 하고,따라서 하나의 프로세스를 실행할때 프로세스의 실행에 필요한 메모리가 할당되어야 한다. 대부분 시스템에서 여러 프로세스들이 서로 cpu를 차지하려고 경쟁하는 것과 같이 메모리 또한 차지하려고 경쟁하는 "멀티프로그래밍" 환경이다. 한정된 메모리 자원을 이용할 수 있도록 경쟁을 적절히 중재하기 위해 (얘네도 ..
삼성sds인턴서류합격 + sw역량테스트 준비과정 지난해 sdc2024를 본 경험과 인상깊었던 점,내가 평소에 생각하는 협업, 및 플젝 과정 중 고민했던 부분들을 자소서에 녹여냈었다.인턴 서류 합격을 해서sw역량테스트 준비과정기를 적어보려한다.sw역량테스트바로 인터넷을 찾아봤다.준비 방향성은 어렵지 않게 찾을 수 있었다.https://company-n-job.tistory.com/44[[삼성전자] 1. 코딩테스트 후기 및 꿀팁 feat."삼성전자 인재개발원 환경"우선 나는 삼성전자 DX (삼성리서치)에 지원하여, 오늘 용인에 있는 인재개발원에서 오전에 코딩시험을 보고 왔다. ps. 나는 2문제 중에 주로 1번이라고 표현하는 구현(시뮬레이션) 문제에 올인하company-n-job.tistory.com](https://company-n-job.tistory..
upper bound, lower bound 이분탐색 일반적인 이분탐색은 비내림차순, 비오름차순 으로 정렬된 상태가 아니고,아래와 같이 공통된 값 없이 하나씩만 존재하는 경우이다. 이분탐색에 필요한 left,  right값을 아래와 같이 정의하고,left = -1 (배열을 벗어난 가장 왼쪽에 가까운 값)과right = n (배열을 벗어난 가장 오른쪽에 가까운 값)  while문은 left +1 = right 가 되는 시점에 멈추게 되고, left는 항상 target보다 작은 값 중 최대 값을 가리킴right는 항상 target 이상인 값 중 최소 값을 가리킴이므로, 최종적인 right값을 반환한다. int left = -1;int right = n;binarysearch(left, right);public static int binarysearch(int ..