Linux 라즈베리파이에 Real Time kernel 올리기 필자는 라즈베리파이에서 Timing 이 아주 중요한 application 을 개발하고 있었다. 프로세스가 context switching 되어 나가는 동안 데이터를 처리하지 못해 문제가 발생하는 상황이었다. 그래서, real time kernel 을 사용했다. 모든 kernel 관련된 작업이 마찬가지지만, 이 작업 또한 참 귀찮다. 한국어로 된 자료도 마땅한 것이 없기에 이 포스트를 작성한다. 배경 지식Real Time
Linux Wine은 어떻게 linux에서 windows app을 실행하나? 지난 포스트 에서 windows 와 linux의 차이를 알았다. 그렇다면, Wine 은 그 간극을 매꾸기 위해 어떻게 구현 하였는지 알아보자. 시작하기 전에 잡지식 얘기하자면, WINE은 Wine Is Not Emulator의 약자이다. (그런데 내 생각에는 emulator가 맞는 것 같다.;;) 1. Wine 의 구조 - Builtin / Native Dlls wine은 무엇을 구현했는가? 첫째로 PE binary
Linux 프로그램 실행 관점에서 본 windows 와 linux의 차이 본 포스트는 프로그램의 실행 관점에서 어떻게 windows 와 linux가 다른지에 대해 얘기하고자 한다. 그리고, 다음 포스트에서 그 차이를 어떻게 맞출 수 있는지에 대해 설명하고자 한다. Ubuntu와 같은 Linux 배포판을 처음으로 사용하게 되면, 너무도 당연하게 돌던 것들이 안돌아서 당황하기 마련이다. (Ex. 카톡, 게임, 오피스 등등.) 필자도 대학생때 처음으로 ubuntu 를 설치해보고
Linux 개발자(?) 3년 생활 돌아보기 필자는 2017.2 ~ 2019.3 까지 3년동안 Tmax 에서 개발자(사내에서는 연구원이라고 칭한다.) 생활을 하였다. 본 포스트는 3년간의 생활에 대한 소회이다. 일기 형식이니 그냥 읽고 싶은 사람만 읽어라. 기술적인 내용은 차차 하나하나 포스트하고자 한다. (예고 내용은 마지막에 있다.) 1. 입사 과정 -- 내 소개 페이지에도 써있지만 나는 2014년 부터 연대
Linux 첫 Linux 기여 Linux git 에 내 이름이 올라갔다! 하하 보통 말하는 contribute 을 한 것은 아니고, 그냥 bug report 이다. Linux git 에는 그래도 bug 가 해결되는 commit 이 올라가면 reporter 도 올려주더라. (Linux git 에서 볼 수 있다. ) 이런 사소한 것도, 사실 내가 다 한건 아니고 우리 팀 고수형(헌진이형 압도적
Linux Debian Packaging & Policy 본 포스트는 debian packaging과 policy(정책) 일부 대한 기본적인 지식을 소개하도록 함. Introduction Debian project 는 쉽게 말해 free OS 중 일종이고, 대표적인 예로 Ubutnu 가 debian 계열의 linux 배포판 중 하나이다. 개인적으로 내가 생각하는 Debian 의 가장 큰 장점은 package managing 이다. Ubuntu를 써본 사람이라면 apt install XXXXX 이런
Linux Command Line Interface dotfiles and materials available at @junhocho[1] GUI보다 좋은 CUI, CUI. Command Line Interface를 쓰시면 어디서든 쉽게, 인터넷만 있고, Terminal이나 Putty가 있으면 개발을 할 수 있다. 이런 팀뷰어 없이도 말이다. CLI. 그래서 어떻게? ( Tmux + VIM ) 를 사용하자 CLI를 사용하는 이유. Portable (인터넷이 구리면 팀뷰어는 힘들지) Simple Automated (원하는 기능은 다
Linux Pseudo Terminal (유사? 터미널) 본 포스트는 APUE chap.19 을 참고하여 작성함. Pseudo Terminal은 application 이 보기에는 터미널로 보이지만, 사실 진짜 터미널이 아닌 것이다. Pseudo Terminal의 구조, 예시, 사용법에 대해 설명하도록 함. Pseudo Terminal 개요 Pseudo terminal 을 사용하는 프로세스들의 전형적인 구조는 아래와 같다. 부모 프로세스가 pseudo terminal master를 open 하고 fork ->
Linux 데몬 프로세스 (daemon process) 본 포스트는 APUE chap.13 을 참고하여 작성함. 데몬은 오래사는 프로세스를 말하고, 보통은 시스템이 부팅될 때 같이 켜지고 종료될 때 같이 끝남. Controlling 터미널이 없어서 background에서 돈다라고 표현한다. 데몬의 구조, 작성법, 오류 로깅에 대해 설명하려고 함! 데몬의 특징 ps -efj 와 같은 명령어로 확인 controlling 터미널이 없는 프로세스 (데몬)을
Deep Learning TensorFlow-v1.0.0 + Keras 설치 (Windows/Linux/macOS) 참고 :https://groups.google.com/forum/#!topic/keras-users/_hXfBOjXow8 선요약: # export PATH=~/anaconda/bin:$PATH # MAC conda create -n tf python=3.5 # 17/3/1 기준으로 윈도우에서 3.5 버전만 TensorFlow/Keras가 지원 activate tf # Windows # source activate tf : Linux/macOS # 여기서부터 (tf) 환경. 설치 순서 중요 pip install