Site Structure

Jekyll + Minima remote theme 기반 GitHub Pages 개인 포트폴리오 사이트.

디렉토리 구조

Sangun-Choi.github.io/
├── _config.yml          # 사이트 설정 (메타, 플러그인, 테마, 네비게이션)
├── Gemfile              # Ruby 의존성
│
├── _layouts/            # 페이지 템플릿
│   ├── default.html     # 최상위 레이아웃 (head/header/footer 포함)
│   ├── page.html        # 정적 페이지용 (Research, Publications, CV, Posts)
│   ├── home.html        # 홈 페이지용 (포스트 목록 조건부 렌더링 포함)
│   └── post.html        # 블로그 포스트용 (날짜/저자 메타 포함)
│
├── _includes/           # 레이아웃에서 재사용하는 조각 파일
│   ├── head.html        # <head> 태그 (메타, CSS/JS 로드)
│   ├── header.html      # 사이트 헤더 & 네비게이션
│   └── footer.html      # 사이트 푸터 (이메일 연락처)
│
├── assets/
│   ├── main.scss        # 단일 SCSS 진입점 (Minima import + 전체 커스텀 스타일)
│   ├── js/
│   │   └── publications.js  # Publications 페이지 필터링 동작
│   └── images/          # 사이트에서 사용하는 이미지
│       ├── Sangun_nend.png   # 프로필 사진
│       ├── research_npu.png  # NPU 연구 섹션 이미지
│       ├── research_img.png
│       └── gpu_image.png
│
├── _posts/              # 블로그 포스트 (YYYY-MM-DD-title.md 형식)
│
├── index.md             # 홈 (About, Research Interests, Publications 요약, Links)
├── research.md          # Research 페이지
├── publications.md      # Publications 페이지 (paper-box 목록 + 필터 UI)
├── cv.md                # CV 페이지
│
└── cat_face_nobg.png    # 파비콘

파일별 역할

_config.yml

사이트 전역 설정. 수정이 필요한 주요 항목:

  • title, email, description — 사이트 메타
  • header_pages — 네비게이션에 표시할 페이지 목록 (현재: Research, Publications, CV)
  • theme: minimaremote_theme: jekyll/minima@v2.5.1 는 둘 다 필요하다. theme는 로컬 gem(v2.5.1)의 _sass 경로를 SASS load path에 추가해 @import "minima" 가 동작하게 하고, remote_theme 는 GitHub Pages에서 레이아웃/includes를 원격에서 가져온다. 두 버전을 반드시 일치시켜야 한다 — 불일치 시 SCSS 변수 충돌 빌드 에러 발생.

_layouts/default.html

모든 페이지의 뼈대. `<head>

Site Structure | SANGUN CHOI

</head>, <header class="site-header">

</header> , <footer class="site-footer h-card">

</footer> 를 조립하고 <article class="post">

Sustainable NPU Architecture

The proliferation of AI applications has made the efficient design of neural processing units (NPUs) crucial. As AI models diversify to serve a wide range of purposes, they exhibit substantial variation not only in size but also in operator types, data formats, and numeric formats. In response, both industry and academia have proposed customized solutions, designing new NPU chips tailored to each emerging model. This trend raises a fundamental question: is this approach sustainable?

  • Scalable on-chip memory systems and management techniques for scale-out NPU architectures
  • On-chip memory management technique for embedding vector operations
  • Energy- and cost-efficient heterogeneous off-chip memory systems for NPUs
  • Processing unit architectures supporting arbitrary numeric formats
  • Simulation infrastructure for NPUs

Future Memory Systems

  • Comprehensive analysis of CXL-based server memory systems
  • Data object-aware memory management for CXL-based memory systems
  • Software-based cache coherence for CXL-based memory systems

Software Techniques for GPUs

  • Automatic thread allocation technique for multi-tenant inference on embedded GPUs
  • Memory oversubscription-aware tensor migration scheduling technique
  • Accelerating K-means clustering algorithm on embedded GPUs

</article> `를 렌더링한다.

assets/main.scss

스타일의 유일한 진입점. 구조:

  1. @import "minima" — Minima 기본 스타일 로드
  2. SCSS 변수 재정의 ($base-font-family, $base-font-size, $content-width 등)
  3. 커스텀 컴포넌트 스타일 (.site-title, .paper-box, .research-flex, .profile-img 등)

assets/js/publications.js

Publications 페이지의 필터 버튼(All / Conference / Journal / Ongoing) 동작. head.html에서 defer로 로드된다.

publications.md

각 논문은 .paper-box div 패턴으로 작성:

<div class="paper-box" data-type="journal|conference|ongoing" data-subtype="top-tier|major">
  <div class="paper-tags"><span class="tag">...</span></div>
  <h3 class="paper-title"><a href="DOI">제목</a></h3>
  <div class="paper-authors">저자 목록 (<strong>본인</strong> 강조)</div>
  <div class="paper-venue">학술지/학회명, 연도</div>
</div>

자주 하는 작업

폰트 변경

두 곳을 함께 수정해야 한다:

  1. _includes/head.html — CDN <link> 태그를 원하는 폰트로 교체
  2. assets/main.scss$base-font-family 변수값 변경

논문 추가

publications.md에서 위의 .paper-box 패턴을 복제해 내용을 채운다.

  • data-type: journal / conference / ongoing 중 하나
  • data-subtype: Conference인 경우 top-tier 또는 major (선택)

네비게이션 항목 추가

  1. 루트에 새 .md 파일 생성 (layout: page, permalink: 설정)
  2. _config.ymlheader_pages 목록에 파일명 추가

블로그 포스트 작성

_posts/ 폴더에 YYYY-MM-DD-제목.md 형식으로 파일 생성. frontmatter에 layout: post 지정.

로컬 빌드

bundle install       # 최초 1회 또는 Gemfile 변경 후
bundle exec jekyll serve --livereload

브라우저에서 http://localhost:4000 접속.