• Linux,  Programming

    [Linux] strace

    System call tracing을 하는데 사용하는 linux utility다. 특히 error log가 부족할 때 사용한다. ENOENT Example 위 프로그램을 실행시켰을 때 정상적으로 된지 안된지 출력이 되지 않는다. 이 때 strace를 사용하면 보다 쉽게 확인 가능하다.…

  • Linux,  Programming

    [Linux] ptrace

    Linux, unix 환경에서 process debugging에 사용되는 함수다. 특정 Process의 Register 정보 얻기 특정 process의 register 정보를 ptrace 함수를 통해 얻을 수 있다. 위 코드들은 우선 loop.c 프로세스를 무한히 실행시킬 때 해당 process를 attach하고,…

  • English,  Fancy Expression

    [English] 딴데로 / 딴걸로 표현법

    딴데로 보통 “딴데로”라는 말을 영어로 하면 other place라는 단어를 많이 사용하지만 틀린 말이다. “딴데로”라는 말을 위해선 somewhere else, some other place가 적합하다. Example 우리 식당에 갔는데 거기 사람 너무 많아서 우리 딴데로 갔어.We…

  • English,  Fancy Expression

    [English] for -ing 사용법

    일반적으로 for v-ing를 이해할 때 ~하기 위해 라는 뜻으로 알고 있는 사람이 많다. 그러나 이런 해석이 아니라 ~하기 위한 것 이라는 의미를 가진다. 즉 용도를 나타낼 때 사용한다. Example 이 버튼은 볼륨을 조절하기…

  • English,  Fancy Expression

    [English] by와 until 차이

    by는 어떤 기한을 나타내며 until은 그 날짜까지 지속적으로 행해야 할 때를 말한다. By 나 이거 수요일까지 제출해야 돼.I have to submit this by Wednesday. 나 이거 오늘까지 끝내야 돼.I ahve to finish this…

  • Linux,  Programming

    [Linux] NASM 사용법

    다른 운영체제에서 assembly code를 작성해서 수행하기 위한 assembler 중 하나인 NASM가 있다. 설치 사용법 Skeleton 기본적으로 C drive code와 본문이 있다.아래와 같이 asm_main function을 호출하는 구조를 C drive code라고 부르는데, 처음부터 모든 부분을…

  • Computer Architecture,  Study

    [Computer Arch.] Endian

    Memory에 data를 저장하는 방식은 크게 두 종류 1) Big endian 2) little endian으로 나뉜다. 기본적으로 register에 저장될 때는 모르지만 memory로 옮겨서 저장할 때는 endian 방식에 따라서 다르게 저장된다. Big Endian 사람이 이해하는 숫자를…

  • Linux,  Programming

    [Linux] Ubuntu (64-Bit) 에 32-Bit Library Install

    64-bit OS에 32-bit library를 pakage manager를 통해 설치하고자 했는데 다음과 같은 error가 발생했다. 이를 위해서 다음과 같은 설정이 필요하다. 그리고 각종 32-bit library를 설치하니 정상적으로 설치됐다. Reference https://techlog.gurucat.net/322

  • C / C++,  Programming

    [C++] undefined reference to template

    C++ programming을 하다보면 build 중 다음과 같은 error를 쉽게 겪을 수 있다. 기본적으로 C++에선 source file에선 template 형태의 함수를 가질 수 없다고 한다. Example 위와 같이 header와 source file을 분리해서 사용하고자 했는데, linking…

  • Programming,  Python

    [Python] Coding Convention (PEP 8)

    각 언어별로 coding guideline이 조금씩 다르다. 되도록이면 이 guideline을 지키면서 프로그램을 작성하면 추후에 다른 사람들이 봤을 때도 가독성이 높아질 것이다. 자세하게 설명하기 전에 요약하면 다음과 같다. Module과 package 이름은 짧고 lower_case_with_underscore 다른 모듈에서…