[Jekyll] Jekyll&github blog에서 latex 문법 사용하기

Jekyll&github blog에서 latex 문법 사용하기


Markdown을 이용하여 글을 작성하는 것은 직관적이면서도 편리한 방법이다. 하지만 markdown만으로는 수학 수식을 입력하기 쉽지 않기 때문에 다양한 플러그인을 사용해야 한다. 그중에서 latex을 사용하기 위한 방법을 소개한다.

자세한 내용은 여기를 참고.

MathJax

_includes/head.html 파일에 MathJax를 추가해 줌으로써 latex을 이용하여 수학 공식을 작성할 수 있다. head.html파일의 맨 위쪽에 다음의 code를 추가한다.

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

그리고 Matxjax가 정상적으로 동작하기 위해서는 _config.yml파일에서 markdown: kramdown 으로 되어 있어야 한다. 기본적으로 github & jekyll 에서는 기본적으로 kramdown으로 되어 있을 것이다.


DLL파일과 LIB파일 차이

DLL파일과 LIB파일 차이


<본 포스팅은 다음을 참고하였습니다>

라이브러리 만드는 이유는 소스의 외부 유출 없이, 자신이 만든 모듈을 외부와 공유하기 위해서다. 또한 미리 컴파일 되어 있어서 컴파일 시간도 단축된다.

이때 라이브러리는 동적 라이브러리와 정적 라이브러리가 있는데, 각각의 특징을 살펴보자.

아래의 특징을 보고 동적 라이브러리와 정적 라이브러리 중 어느 것을 사용할 지를 결정하면 된다.

1. 동적 라이브러리(Dynamic Link Library)

2. 정적 라이브러리(Static Link Library)

따라서 실행파일 자체의 크기를 비교하면 정적라이브러리를 포함한 프로그램의 크기가 더 크다.

참조 사이트




[Ubuntu] Ubuntu and Window Keyboard&Mouse sharing(Synergy)

Ubuntu and Window Keyboard&Mouse sharing


Synergy는 두 컴퓨터를 인터넷망으로 연결하여 Input device를 공유하도록 하는 프로그램이다. 이 프로그램의 장점은 윈도우와 리눅스에서 동시에 사용 가능하다는 점이다. 즉 데스크탑 한대(리눅스)와 노트북(윈도우)를 한개의 Input device로 control이 가능하다. 즉, 윈도우로 사용 가능한 여유분의 노트북이 있다면 리눅스에 kakao talk을 설치하려고 삽질하는 노력을 하지 않아도 된다는 뜻이다.

현재 Synergy는 유료프로그램으로 전환 되었으나 1.4.18버전을 사용한다면(구버전) 무료로 사용 가능하다. 최신 무료버전을 다운받고 싶으면 여기의 포스팅을 참고한다. 참고로 뒤에 얘기하지만 포스팅을 쓰고 있는 현 시점에 Synergy 1.4.18버전은 한글입력 문제를 위한 패치를 1.4.10버전에 비해 구하기 쉽지 않다.

현재 구성되어 있는 시스템은 리눅스(서버), 윈도우(클라이언트)인데 접속은 잘 되지만 윈도우에서 한글이 안되는 문제가 발생한다. 이 문제는 서버의 문제가 아닌 클라이언트 쪽의 문제이다. 아무리 찾아도 1.4.18버전의 한글 패치 버전을 찾기 힘들다. 직접 빌드를 해도 되지만 한글 패치가 있는 버전으로 내려서 설치하였다. 찾아보니 1.4.10버전의 한글패치가 가장 많은 듯 하여 1.4.10버전으로 설치하고 패치까지 완료하니 정상작동된다. 한글패치 파일을 클라이언트쪽(윈도우)의 경로에 붙여넣어준다. 보통 C:\Program Files\Synergy 이다. 자세한 내용은 다음 포스팅을 참고한다. 이 글을 보는 분들을 위해 synergy 1.4.10 window(64bit), ubuntu(64bit), 그리고 한글 패치파일 총 3개 파일 첨부한다.리눅스 파일을 설치할 때 오류가 뜨는데 무시하고 설치하니 잘 동작한다. 여기에서 파일을 다운 받을 수 있다.


[Ubuntu] Ubuntu VPN server

Ubuntu VPN server setting


VPN(Virtual Private Network)은 IP를 우회할 수 있는 방법중에 하나이며 다양한 방법으로 응용가능하다. 예를들면 학교의 인터넷 망에서 자유롭게 논문을 볼 수 있지만(학교에서는 IEEE등에 논문을 구독할 수 있도록 지불을 했기 때문에) 외부 망에서는 동일하게 논문검색을 할 수 없다(물론 VPN을 이용하지 않고 논문을 검색하는 방법이 있긴 하다). 이럴 때 학교내 학교망에 연결되어 있는 컴퓨터에 VPN 설정을 하고 외부에서 이 컴퓨터 VPN server로 연결하여 외부로 접속을 한면 외부에서는 학교망에서 접속한 것으로 인식하기 때문에 학교내에서 접속한 것과 같은 효과를 볼 수 있다. Ubuntu 14.04에서 VPN server를 설정하는 방법은 다음과 같다.

1. pptpd 설치

sudo apt-get install pptpd

2. /etc/pptpd.conf 파일 수정

/etc/pptpd.conf 파일을 다음과 같이 설정한다. 이 아이피는 본인의 IP와는 상관없이 설정한다.

localiip 10.0.01
remoteip 10.0.0.100-200

3. DNS 서버 추가

/etc/ppp/pptpd-options 에 다음을 추가한다.

ms-dns 8.8.8.8
ms-dns 8.8.4.4

4. IP forwarding을 활성화

sudo vim /etc/sysctl.conf 로 config 파일을 열고 다음을 활성화(uncomment) 시킨다(주석을 제거 하라는 의미).

net.ipv4.ip_forward = 1

5. 변경 저장

sudo sysctl -p /etc/sysctl.config

6. VPN user 등록

/etc/ppp/chap-secrets을 열어 다음과 같이 user를 등록해 준다.

# Secrets for authentication using CHAP
# client    server  secret          IP addresses
username    pptpd    password              *

IP addresses에는 그냥 *를 입력한다.

7. 재 시작

service pptpd restart를 입력하여 재 시작한다.

설정 상태는 ifconfig를 입력하여 확인 할 수 있다.

8. iptable 변경

iptables-save > ~/iptables.save를 입력하여 iptable을 백업한다. 그 다음으로 변경된 iptable을 기본 인터페이스로 사용하기 위해 다음을 입력한다(sudo로 입력해야 할 수도 있다.)

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface br0 -j ACCEPT

이 설정을 reboot 후에도 유지하기 위해서 다음을 입력한다.

sudo apt-get install iptables-persistent

9. 옵션 설정

VPN 연결을 위해 Ubuntu 14.04를 사용하고 있다면, PPTP Advanced Option에서 (use Point to point encryption)을 클릭해야 한다.


[Ubuntu] SSH keygen 설정

ssh 접속 시 비밀번호를 묻지 않도록 key를 생성하는 방법


1. ssh 접속 방법

기본적으로 ssh 접속하는 방법은 다음과 같다

ssh user@hostname.example.com

위의 명령어로 ssh 접속을 했을 경우 접속 시 마다 password를 물어보게 된다. 만약 .sh 스크립트를 작성해서 어떤 동작을 시키려고 하거나 매번 접속할 때마다 password를 입력하는 것이 번거로울 때 ssh key를 생성하여 등록해 놓으면 매번 입력할 필요가 없다.

2. ssh key 생성

ssh key를 생성하기 위해서는 다음의 명령어를 입력한다

ssh-keygen

명령을 입력 후 파일 명 및 몇가지 질문을 할 것인데 모두 디폴트로 설정하고 넘어가면 /home/username/.ssh/id_rsa 파일이 생성된다. 위의 파일을 열어보면 ssh의 key가 생성된 것을 확인할 수 있다.

3. ssh key copy

이렇게 생성된 ssh key를 ssh 서버에 복사해야 한다.

ssh-copy-id user@hostname.example.com

copy명령어를 입력하면 password를 물어볼 것인데, 이때 정확한 password를 입력하면 ssh key가 서버로 복사된다. 복사가 정상적으로 이루어 졌다면, 다음 접속부터는 비밀번호를 다시 물어보지 않을 것이다.

4. “Agent admitted failure to sign using the key” Error

만약 ssh key 등록 후 ssh 접속 시 Agent admitted failure to sign using the key 의 error가 발생하며 password를 물어볼 경우 ssh-add 명령어를 통해 ssh key를 ssh agent로 load 함으로써 고칠 수 있다.


Pagination