Fedora28 ibus-hangul input problem

어느날부터 Fedora 터미널에서 한글 입력이 매우 불편해졌습니다. 한글 모드에서는 backspace, enter, esc 등의 특수키가 하나도 안먹힙니다. Vim 을 쓰는 입장에선 매우 불편하죠. 알고보니 ibus-hangul 버그인 것 같습니다[1]. 아래 커맨드로 ibus-hangul 을 문제 없던 버전으로 다운그레이드 시키고 세션을 재시작 하면 문제가 사라집니다. sudo dnf downgrade ibus-hangul-1.5.0-12.fc28.x86_64 [1] http://www.fedoralinux.or.kr/board-read.do?boardId=bbs3&boardNo=153170459823549&command=READ&page=1&categoryId=-1

April 26, 2019 · 1 min · 47 words · Me

I will have a talk at the Hotstorage'19

HotStorage'19 에 제출한 제 최근 연구에 대한 논문이 accept 되어 7월에 해당 워크샵에서 이에 대한 내용을 발표하게 되었습니다. 논문 제목은 “Automating Context Based Access Pattern Hint Injection for System Performance and Swap Storage Durability” 입니다.

April 18, 2019 · 1 min · 35 words · Me

I will have a talk at the Hotstorage'19

HotStorage'19 에 제출한 제 최근 연구에 대한 논문이 accept 되어 7월에 해당 워크샵에서 이에 대한 내용을 발표하게 되었습니다. 논문 제목은 “Automating Context Based Access Pattern Hint Injection for System Performance and Swap Storage Durability” 입니다.

April 18, 2019 · 1 min · 35 words · Me

Hooking Library Function Calls

LD_PRELOAD 환경변수를 사용하면 로더가 프로그램을 로드할 때 동적 로드해야 할 바이너리 코드를 해당 변수의 값의 디렉토리에서부터 뒤지도록 합니다. 따라서 이를 이용해 malloc(), free() 등의 일반적으로 사용하는 라이브러리 함수를 우리의 구현으로 대체하거나 후킹할 수 있습니다. 이 글은 이런 방법으로 malloc() 을 후킹하는 방법을 예제를 통해 간단히 설명합니다. Original Program 먼저 다음과 같은 프로그램이 있을 수 있을 겁니다: #include <stdio.h> #include <stdlib.h> int main(void) { char *abc; abc = (char *)malloc(8); printf("malloced address: %p\n", abc); sprintf(abc, "hello\n"); printf("%s\n", abc); free(abc); return 0; } 단순히 malloc() 을 통해 8바이트 메모리를 할당받아 그 영역을 표시하고 종료하는 프로그램입니다....

April 10, 2019 · 2 min · 333 words · Me

Backtrace on C language program

디버깅 과정에선 현재 어떤 코드가 어떤 함수를 거쳐 수행됐는지를 통한 컨텍스트 파악이 중요합니다. Java, Python, Go 등 대부분의 언어가 이를 위해 콜스택을 뽑을 수 있는 기능을 제공하죠. C 언어의 경우 gdb 등을 사용하면 쉽게 이를 볼 수 있지만 경우에 따라선 gdb 를 포기하고 printf() 등에만 의존해야 하기도 합니다. 이를 위한 기능이 c 라이브러리에도 있습니다, backtrace() 함수입니다. man 에도 이에 대한 설명이 있습니다만, 여기서도 간단히 소개해 봅니다. Example Source Code 예제로 설명하는게 가장 쉽죠....

April 9, 2019 · 2 min · 247 words · Me