분류 전체보기

TLB와 MMU를 이해하려면 기본적으로 가상메모리, 페이지테이블 개념에 대해서 알아야 한다.이 부분을 먼저 복습하고, 알아보도록 하자. 😋 우리가 프로그램을 실행하면?프로그램의 실행 파일은 드라이브에서 메모리로 로드된 뒤 CPU가 이를 실행하게 된다. 하지만 여기에는 중요한 문제가 있다. 메모리 용량의 한계예를 들어, 어떤 프로그램이 16GB의 메모리를 사용한다고 가정해보자. 그러나 실제로 실행되는 여러 프로그램을 합치면 메모리 사용량이 30GB를 넘길 수도 있다. 물리적인 메모리 용량(예: 16GB)이 초과되면 메모리가 부족해질 수밖에 없다. 그렇다면, 이런 상황에서 프로그램 실행이 불가능 할까? 그렇지 않다. 운영체제는 가상메모리라는 기법을 통해 물리 메모리의 한계를 극복한다. 가상메모리가상메모리는..
최종 프로젝트가 끝난 지 딱 일주일이 지났다. 그동안 면접도 보고, MT도 다녀오고, 밀린 잠도 푹 잤다.그렇게 바쁘게 지내다 보니 이제야 프로젝트 생각이 들었다.사실 처음엔 “꼭 해야 하니까 어쩔 수 없지”라는 마음으로 참여했는데, 돌이켜보니 아쉬움이 많이 남는다.“프로젝트 하나에만 집중할 수 있었더라면…” 하는 아쉬움도 있고,“그동안 시도해보지 않았던 것들을 좀 더 해볼걸” 하는 생각도 든다.하지만 어쩌겠어ㅎ~ㅎ 아직 기회는 많으니까 천천히 다른것도 시도해보자 😊싸피 최종 관통 프로젝트 회고 싸피에서는 1학기 프로젝트로 주제가 2가지가 있다. 부동산과 여행. 나는 부동산을 선택했다. 여행은 흔한 주제이기도 하고, 앞으로 내가 부동산 주제를 다룰 일이 없을 것 같아서였다. 그렇다면 부동산 주제를 선택..
배경프로젝트에서 사용한 머신러닝 모델(LightGBM)은 실시간 예측과 분석을 제공하기 위해 활용되었다.따라서 이 모델을 배포(서빙)하는데 있어 효율성, 응답 속도, 그리고 확장성이 중요한 고려 요소였다.특히, 서비스 사용자가 많아지면 요청을 처리하는 서버의 성능이 모델 서빙 전체 시스템의 병목 지점이 될 수 있기에모델 서빙을 무엇으로 할지 고민이 되었다. 🤔 Flask와 FastAPI먼저, Flask는 간단하고 빠르게 REST API를 사용할 수 있고, 사용해본 경험이 있기에 결정FastAPI는 비교적 최근 나온 프레임워크로, 비동기 기능과 자동화된 API 문서화의 장점이 있었다.그리고 얼마나 성능 차이가 많이 나는지 궁금하기에 Locust로 실험을 해보기로 하였다. Locust란?이 실험에서 사용한..
· 전공
인턴 당시 "IDS/IPS 기반 네트워크 모니터링" 을 했지만, 인턴이 끝난지 1년이 넘었기도 하고 이 이론들에 대해 자세히 기록해보고자 한다. IDS (Intrusion Detection System)IDS는 말 그대로 "탐지"에 초점이 맞추어져있다. IDS는 네트워크나 시스템의 트래픽과 활동을 모니터링해 악의적이나 의심스러운 활동을 탐지하는 시스템이다. 단독으로 위협을 차단하는 것을 불가능하지만, 발견된 위협을 보안 관리자에게 경고하거나 SIEM 같은 중앙 보안 툴로 경고를 보내 대응을 돕는다. 탐지 방식은 뭐가 있을까?시그니처 기반 탐지: 미리 알려진 공격 패턴(시그니처)을 기반으로 악성 활동을 탐지한다. 새로운 공격 시그니처가 없는 경우에는 탐지가 어려운 단점이 있지만, 이미 알려진 공격에 대해서..
퍼즐게임챌린지문제설명난이도, 현재시간이 입력값으로 주어진다.그때 가지고 있는 숙련도가 있는데 숙련도보다 난이도가 높다면 (이전시간+현재시간) * 차이나는 횟수 + 현재 시간을 총 더했을 때 제한 시간보다 작아야한다. 그때의 숙련도의 최소값을 구하면 된다문제 해결 방법나는 처음에 단순 구현으로 숙련도를 1부터 늘려가서 총 시간이 제한시간보다 작을 때까지 while문을 돌렸다.그랬더니 시간초과가 났다... 그래서 숙련도의 최솟값을 찾는것, 그리고 1부터 늘려나가는건 비효율 적이라고 생각해서 그럴 때는 이진탐색 방법을 사용해야 한다고 깨달았다. start와 end 는 최솟값이랑 최대값으로 설정을 해준다.int start = Integer.MAX_VALUE;int end = Integer.MIN_VALUE;//..
삼성 코테를 준비하면서 코드트리를 써봤는데, 문제별로 유형이 다양해서 매번 문제를 고르는 나한테 딱이었다..그래서 요즘은 백준, 프로그래머스 보다 코드트리를 쓰는 중.. 코드트리 모든 문제를 푸는 게 목표(?)  BackTracking: 가능한 수열 중 최솟값 구하기문제설명4,5,6으로 만들 수 있는 수열 중에서 인접한 연속 부분 수열 중에서, 사전순으로 (오름차순)에서 가장 앞에 있는 수열을 출력하기 해결방법1. 중복 순열을 만든다.2. check()함수를 만들어서 만든 중복 순열이 인접한 부분이 있는지 없는지 확인해준다. ==> 결론: 시간초과 ㅜ_ㅜ 내가 했던거는 대강 3^(n^3)이정도 인듯하다. 인접한 수열을 확인하는 부분에서 3중배열로 돌렸기에 이런 결과가 난듯하다. 그래서 다른 해결 방법을 ..
BackTracking: 아름다운 수 문제설명n자리 아름다운 수가 몇 개 있는지 출력한다.여기서 "아름다운 수"란 각 숫자마다 반복되는 숫자가 일치하는 것을 말한다. 만약 1이 나오면 1이 1번 반복되어야 하고, 3이 나오면 3이 3번 나와야 한다. 이것을 모두 만족 하는 것이 아름다운 수이다. 해결방법1. n자리 숫자를 중복 순열로 만들어준다. (완전탐색을 하는 것)2. 순열로 만든 숫자를 모두 검사해서 "아름다운 수" 인지 아닌지를 판별한다.3. 만든 순열이 아름다운 수인지 만족하는 것만 개수를 세서 출력한다.  중복순열을 만든 것까지 코드를 짰는데 아름다운 수를 판별하는 방법이 좀 이해가 안갔다.판별하는 방법은 시작점(시작하는 위치: i)부터 그 시작점이 가리키는 값(arr[i])까지 같은 숫자를 ..
MVC란MVC 패턴이란 model, view, controller의 약자로 소프트웨어 디자인 패턴이다. 개발할 때, 3가지 형태로 나누어 개발하는 방법론이다.비지니스 처리 로직과 사용자 인터페이스 요소들을 분리시켜 서로 영향없이 개발하기 수월하다는 장점이 있다.      ModelModel은 시스템의 비지니스 로직과 데이터를 관리하는 부분이다. 비지니스 로직: 프로그램이 수행해야 할 핵심적인 업무 처리이다. 예를 들어, 상품 주문 처리 시스템이라면 Model은 주문을 저장하고, 재고를 감소시키며, 결제 정보를 기록하는 등의 역할을 한다.데이터 처리: Model은 데이터베이스와의 상호작용을 통해 데이터를 저장, 갱신, 삭제, 조회 등의 작업을 수행한다. 여기서는 데이터베이스와의 직접적인 통신을 담당하는 D..
한덩이
'분류 전체보기' 카테고리의 글 목록