본문 바로가기
728x90
반응형

분류 전체보기76

내 컴퓨터 메모리 속살 파헤치기: 가상 메모리 분석 탐험기 1. 가상 메모리 분석1.1 내 PC 가상 메모리 확인해보기(Mac OS 기준으로 작성된 글입니다.)우선 가장 먼저 확인해 본 방법은 Mac OS에 기본으로 내장된 방법입니다.(command + space)를 누른 후 "활성 상태 보기"를 검색해서 확인할 수 있습니다.1.1.1 메모리 탭메모리 탭에서는 창 하단에서 사용한 스왑 공간(Swap Used) 항목을 통해 현재 사용 중인 전체 가상 메모리 크기를 바로 알 수 있습니다.파악할 수 있는 정보는 다음과 같습니다.물리적 메모리사용된 메모리캐시된 파일사용된 스왑 공간앱 메모리와이어드 메모리압축됨(?)저기서 스왑 공간이 가상 메모리로써 사용될 수는 있지만 가상 메모리와는 다른 개념인 것을 깨닫게(?) 되었습니다.가상 메모리와 스왑 공간의 차이1.2 터미널 .. 2025. 7. 20.
코드의 속살 파헤치기: Lexer, Parser, AST 학습 로그 1. 모든 것의 시작: 어휘 분석 (Lexical Analysis)컴퓨터가 소스 코드를 한 번에 이해하는 것은 불가능합니다. 마치 우리가 외국어 문장을 볼 때, 먼저 단어 하나하나를 끊어 읽는 것처럼 컴퓨터도 비슷한 과정을 거칩니다. 이 첫 번째 단계를 어휘 분석(Lexical Analysis) 이라고 합니다.그리고 이 역할을 수행하는 프로그램을 렉서(Lexer) 또는 토크나이저(Tokenizer) 라고 부릅니다. 렉서는 우리가 작성한 복잡한 코드 덩어리를 더 이상 쪼갤 수 없는 의미 있는 최소 단위, 즉 '토큰(Token)' 의 연속으로 만들어주는 일을 하죠.예를 들어, let age = 20; 이라는 간단한 코드가 있다면 렉서는 이것을 다음과 같은 토큰들로 분해합니다.let (키워드)age (식별자,.. 2025. 7. 20.
가상 메모리 및 프로세스 메모리 가상 메모리 학습 노트 📝1. 가상 메모리와 실제 메모리 분석가상 메모리(Virtual Memory)는 실제 물리 메모리(RAM)보다 더 큰 주소 공간을 프로세스에 제공하여, 프로그램 전체가 RAM에 올라가지 않아도 실행될 수 있게 하는 기술입니다.macOS의 활성 상태 보기에서는 사용한 스왑 공간, 압축된 메모리 등의 지표를 통해 메모리 압박 상태를 확인할 수 있습니다.터미널 명령어 vm_stat는 page-in(디스크->RAM), page-out(RAM->디스크) 등의 활동을, sysctl vm.swapusage는 스왑 공간의 총량/사용량을 보여줍니다.vmmap 명령어를 사용하면 특정 프로세스가 예약한 거대한 가상 메모리 크기(Virtual Size)와 현재 실제 RAM에 올라와 있는 물리 메모리.. 2025. 7. 18.
[네이버 부트캠프 웹·모바일 10기] 베이직 회고 안녕하세요 오랜만에 글을 쓰게 되었습니다. 그동안 연구실에서 논문 준비도 하고 네이버 부트캠프 준비도 하다 보니 바빠져서 글을 자주 못올리게 되었습니다. 이번 시간에는 네이버 부트캠프 베이직을 참여하면서 회고를 쭉 해보려고 합니다. 1. 미션 난이도전체적으로 미션 난이도는 그리 높지는 않았던 것 같습니다. 난이도가 상, 중, 하 이렇게 3개로 나뉘어져있는데 개인적으로 상은 정말 어려웠고 중,하는 다들 쉽게 풀었을 거라 생각하고 있습니다.미션을 다 구현하고 나면 다른 동료들의 코드를 보고 피드백을 주고받을 수 있는데 개인적으로 피드백 시간이 제일 즐거웠습니다.다른사람의 코드를 보면서 어떻게 생각했는지 알 수 있었기 때문에 항상 문제를 일찍 풀고 다른 사람 코드를 들여다보곤 하였습니다. 2. 기간 총 2주를.. 2025. 7. 7.
프로그래머스 - 키패드 누르기 [Javascript] https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 풀이이 문제에서 사용된 핵심 개념은 BFS이다.BFS만 쓰였는데 뭔가 귀찮았다. 1.1 키패드 번호를 2차원 배열로 만들기BFS를 하기 위해 키패드 번호를 요구사항과 같이 2차원 배열로 만들어줬다. const arr = [[1,2,3], [4,5,6], [7,8,9], ['*', 0, '#']]; 1.2 고정 키패드 만들기번호 1, 4, 7과 3, 6, 9는 왼손 오른손 고정이므로 각 번호와 좌표가 담긴 객체를 생성한다. const leftN.. 2025. 6. 18.
프로그래머스 - 스킬트리 [Javascript] https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 풀이스킬트리를 입력받았을 때 해당 스킬트리가 선행 스킬 순서를 지키는지 검사하는 문제였다. 1.1 스킬트리에서 선행스킬만 뽑기문제 조건에서 선행 스킬은 중복이 없으며, 스킬 트리 역시 중복된 스킬이 없다 하였으므로 각 스킬 트리에서,선행스킬에 해당하는 스킬만 따로 배열에 넣어준다. for(let skil of skill_trees) { const skill_arr = skil.split(''); let temp = [.. 2025. 6. 14.
728x90
반응형