Skip to content

Instantly share code, notes, and snippets.

View YangSiJun528's full-sized avatar

sijun-yang YangSiJun528

View GitHub Profile
@YangSiJun528
YangSiJun528 / Java.md
Last active January 7, 2025 02:23
Java switch, switch expression - Kotlin when
  1. 전통적인 switch 문의 경우:
// 기존 switch 문
switch(value) {
    case A: 
        return "a";
    case B:
        return "b";
    // C가 나중에 추가되면 runtime에서 에러 발생
}
@YangSiJun528
YangSiJun528 / ELF 파일과 링킹 과정 상세 분석 가이드.md
Last active January 10, 2025 02:46
ELF 파일과 링킹 과정 상세 분석

ELF 파일과 링킹 과정 상세 분석 가이드

1. 소스 코드 작성

먼저 다음과 같이 3개의 C 소스 파일을 작성합니다:

main.c:

#include <stdio.h>
extern int add(int a, int b);
@YangSiJun528
YangSiJun528 / txt.md
Created January 14, 2025 04:25
프로세스 섹션 별 메모리 위치 C로 간단 테스트
#include <stdio.h>
#include <stdlib.h>
// 전역 변수 (Data segment)
int global_var = 42;
static int static_global_var = 100;
// 함수 선언
void sample_function() {
    printf("Inside sample_function()\n");
}
@YangSiJun528
YangSiJun528 / README.md
Last active February 7, 2025 02:43
[한국어 번역] UTF-8 Everywhere

이 글은 UTF-8 Everywhere을 한국어로 번역한 글입니다.

AI 모델 claude 3.5 sonnet을 사용하여 변역하였으여, 부정확한 내용이 있을 수 있습니다.


UTF-8 모든 곳에서

선언문

@YangSiJun528
YangSiJun528 / [한국어 번역] 베어 메탈 printf - OS 없이 C 표준 라이브러리 사용하기.md
Created May 8, 2025 10:14
[한국어 번역] 베어 메탈 printf - OS 없이 C 표준 라이브러리 사용하기.md

이 글은 Bare metal printf - C standard library without OS를 한국어로 번역한 글입니다.

AI 모델 deepseek r1을 사용하여 변역하였으여, 부정확한 내용이 있을 수 있습니다.


베어 메탈 printf - OS 없이 C 표준 라이브러리 사용하기

게시일: 2025년 4월 26일 오후 12:00

오늘은 Newlib을 활용하여 베어 메탈 시스템에서 사용할 수 있는 간결한 C 표준 라이브러리를 만드는 방법을 살펴보겠습니다. 작은 예제를 통해 UART 기본 기능을 구현하고 이를 Newlib에 전달하여 완전한 printf 기능을 구축하는 과정을 다룰 것입니다. 대상 플랫폼은 RISC-V이지만, 다른 플랫폼에도 동일한 개념이 적용될 수 있습니다.

@YangSiJun528
YangSiJun528 / NEW_README.md
Last active December 26, 2025 07:12
자바 배열 요소 접근은 정말 O(1)일까? - JVM 코드로 직접 확인하기

+++ title = "자바 배열의 인덱스 접근은 O(1)이 아닐수도 있다" description = "프로그래밍 언어의 명세와 구현" date = 2025-12-27

[extra] page_style = "blog-post" +++

2024년부터 2025년까지 함수형이나 프로그래밍 언어 컴파일러나 인터프리터 만들기나 그러한 것에 잠깐 관심을 가졌었다.

Svelte Store 종합 가이드

개요

Svelte의 Store는 컴포넌트 간 상태 공유와 반응형 데이터 관리를 위한 핵심 기능입니다. 이 가이드에서는 Svelte Store의 다양한 기능, SvelteKit이 제공하는 기본 store, 그리고 Svelte 5의 runes와의 관계에 대해 상세히 알아보겠습니다.

1. Svelte Store 기본 기능

1.1 writable - 읽기/쓰기 가능한 기본 스토어

@YangSiJun528
YangSiJun528 / 자바가 vtable과 itable을 사용해서 다형성을 구현하는 방법.md
Last active June 17, 2025 06:43
자바가 vtable과 itable을 사용해서 다형성을 구현하는 방법

1. VTable 구조와 다형성 구현

Java의 vtable클래스별 메서드 주소 테이블로, 런타임 다형성의 핵심 메커니즘입니다.

메서드 오버라이딩 처리

  • 부모-자식 클래스의 동일한 시그니처 메서드는 vtable 동일 인덱스에 배치
  • invokevirtual 바이트코드 실행 시 객체의 실제 타입을 확인 → 해당 클래스 vtable에서 메서드 주소 검색

예시

Animal animalDog = new Dog();