모든 글

283 편

2025

2편
  • 2024 - 2025 회고

    2024-2025 회고. LG CNS 인턴, 교생실습, 토스 합격과 입사, 직장 생활로 바빴던 2년을 분기별로 돌아본 글.

  • 2026 새해 목표

    2026년 새해 목표. PS 재시작, 운전과 자동차, 운동, CodeCrafters, 독서 계획을 정리하고 지난 목표를 돌아본 글.

2024

6편

2023

61편
  • OSTEP 37 Hard Disk Drives

    OSTEP Hard Disk Drives 정리. 디스크의 트랙, 섹터, 탐색 시간, 회전 지연, 전송 시간과 디스크 스케줄링의 기본을 요약한다.

  • OSTEP 36 IO Devices

    OSTEP IO Devices 정리. 장치 인터페이스, polling과 interrupt, DMA, 운영체제가 I/O 장치를 다루는 기본 구조를 설명한다.

  • OSTEP 32 Concurrency Bugs

    OSTEP Concurrency Bugs 정리. deadlock과 non-deadlock bug의 유형, 발생 조건, 예방과 회피 방법을 설명한다.

  • OSTEP 30 Condition Variables

    OSTEP Condition Variables 정리. 조건이 만족될 때까지 스레드를 재우고 깨우는 wait, signal, producer-consumer 패턴을 설명한다.

  • OSTEP 31 Semaphores

    OSTEP Semaphores 정리. 세마포어의 wait/post 연산으로 lock, condition variable, 생산자-소비자 문제를 표현하는 방법을 요약한다.

  • Beanstalk 환경변수 추출

    Beanstalk 환경변수 추출 기록. AWS Elastic Beanstalk에서 설정된 환경변수를 확인하고 필요한 값을 추출하는 과정을 정리한다.

  • OSTEP 27 Thread API

    OSTEP Thread API 정리. pthread_create, pthread_join, lock, condition variable 등 스레드 프로그래밍 API 사용법을 요약한다.

  • OSTEP 28 Locks

    OSTEP Locks 정리. 상호 배제를 위한 lock의 필요성과 spin lock, test-and-set, compare-and-swap, OS 지원 방식의 특징을 설명한다.

  • OSTEP 29 Locked Data Structures

    OSTEP Locked Data Structures 정리. counter, linked list, queue, hash table에 lock을 적용할 때의 정확성과 성능 trade-off를 설명한다.

  • OSTEP 20 Advanced Page Tables

    OSTEP Advanced Page Tables 정리. 선형 페이지 테이블의 공간 비용을 줄이기 위한 multi-level page table 등 개선 방식을 설명한다.

  • OSTEP 21 Swapping Mechanisms

    OSTEP Swapping Mechanisms 정리. 메모리가 부족할 때 페이지를 디스크로 내보내고 다시 가져오는 swap 공간과 page fault 처리를 설명한다.

  • OSTEP 22 Swapping Policies

    OSTEP Swapping Policies 정리. FIFO, Random, LRU 계열 페이지 교체 정책과 locality를 활용한 캐시 교체 전략을 요약한다.

  • OSTEP 17 Free Space Management

    OSTEP Free Space Management 정리. free list, splitting, coalescing과 best-fit, worst-fit, first-fit 등 메모리 할당 정책을 요약한다.

  • OSTEP 18 Introduction to Paging

    OSTEP Paging 정리. 주소 공간과 물리 메모리를 고정 크기 페이지로 나누는 방식, page table과 주소 변환 과정을 설명한다.

  • OSTEP 14 Memory API

    OSTEP Memory API 정리. stack과 heap, malloc과 free, 동적 메모리 할당의 메타데이터와 흔한 메모리 오류를 설명한다.

  • OSTEP 15 Address Translation

    OSTEP Address Translation 정리. 가상 주소를 물리 주소로 바꾸는 base/bounds 방식과 제한적 직접 실행의 메모리 보호를 요약한다.

  • OSTEP 16 Segmentation

    OSTEP Segmentation 정리. 주소 공간을 코드, 스택, 힙 세그먼트로 나누어 배치하는 방식과 단편화 문제를 설명한다.

  • OSTEP 09 Lottery Scheduling

    OSTEP Lottery Scheduling 정리. 티켓 기반 비례 배분, 티켓 양도와 팽창, stride scheduling과의 차이를 설명한다.

  • OSTEP 10 Multi-CPU Scheduling

    OSTEP Multi-CPU Scheduling 정리. 캐시 일관성, 동기화, 캐시 친화성, 단일 큐와 멀티 큐 스케줄링의 장단점을 요약한다.

  • OSTEP 13 Address Spaces

    OSTEP Address Spaces 정리. 멀티프로그래밍과 시분할을 배경으로 주소 공간 추상화, 투명성, 효율성, 보호 목표를 설명한다.

  • OSTEP 04 Process

    OSTEP Process 정리. 프로세스의 개념, 주소 공간과 레지스터 상태, 프로세스 생성 과정, 상태 전이와 운영체제 자료구조를 요약한다.

  • OSTEP 07 CPU Scheduling

    OSTEP CPU Scheduling 정리. FIFO, SJF, STCF, Round Robin을 반환 시간과 응답 시간 관점에서 비교한다.

  • Bulk Insert

    Bulk Insert 성능 개선 기록. JPA TABLE 키 생성 전략과 배치 삽입 병목을 JDBC 기반 insert로 줄인 과정을 정리한다.

  • JOIN

    SQL JOIN 정리. Cross, Natural, Inner, Outer, Self Join의 문법과 주의점을 예시 중심으로 정리한다.

  • OSTEP 05 Process API

    OSTEP Process API 정리. fork, wait, exec 시스템 콜과 쉘, 파이프, 시그널 등 프로세스 API의 동작을 요약한다.

  • OSTEP 06 Direct Execution

    OSTEP Direct Execution 정리. 제한적 직접 실행, 사용자/커널 모드, trap, timer interrupt와 context switch를 설명한다.

  • OSTEP 교재

    OSTEP 운영체제 교재와 한국어 번역, KAIST 강의 자료 링크를 모아둔 참고 자료 글.

  • SELECT

    SQL SELECT 실행 흐름 정리. WHERE, GROUP BY, HAVING, ORDER BY의 역할과 조건 적용 순서를 간단히 요약한다.

  • 백준 1062번 가르침

    백준 1062번 가르침 풀이. 배운 알파벳과 단어 구성을 비트마스크로 표현해 읽을 수 있는 단어 수를 최대화한다.

  • 백준 10986번 나머지 합

    백준 10986번 나머지 합 풀이. 누적합의 나머지가 같은 두 지점을 고르면 구간 합이 M으로 나누어떨어진다는 성질을 이용한다.

  • 백준 13489번 Vještica

    백준 13489번 Vještica 풀이. 단어 집합을 비트마스크로 나누고 공통 prefix를 공유하는 Trie 최소 노드 수를 DP로 계산한다.

  • 백준 13711번 LCS 4

    백준 13711번 LCS 4 풀이. 한 수열의 위치 정보를 기준으로 다른 수열을 인덱스 배열로 바꾸고 LIS로 LCS 길이를 구한다.

  • 백준 1588번 수열

    백준 1588번 수열 풀이. 3분할 재귀 구조를 이용해 큰 수열을 직접 만들지 않고 특정 구간의 1, 2, 3 개수를 계산한다.

  • 백준 17297번 Messi Gimossi

    백준 17297번 Messi Gimossi 풀이. 피보나치처럼 이어지는 문자열 길이를 이용해 M번째 문자가 어느 이전 문자열에 속하는지 줄여 간다.

  • 백준 2629번 양팔저울

    백준 2629번 양팔저울 풀이. 추를 왼쪽과 오른쪽에 놓는 경우를 모두 고려해 음수와 양수 무게 상태를 DP로 만든다.

  • 비트마스크

    비트마스크 정리. AND, OR, XOR, shift 연산과 원소 추가·삭제·토글, 부분집합 순회 등 PS에서 자주 쓰는 패턴을 요약한다.

  • 전역 후기

    전역 후기. 21개월 군 생활을 마친 뒤의 실감, 감사함, 아쉬움과 앞으로 더 나은 사람이 되고 싶다는 마음을 남긴 글.

  • 2023 새해 목표

    2023년 새해 목표. 백준 다이아, 코드포스, 개발 동아리, 개인 프로젝트, ML 공부, 면허와 운동 계획을 정리했다.

2022

73편

2021

141편