글쓰기 메뉴

맥 시에라 vi / vim 클립보드 사용하기

1~4 단계의 과정이 필요할 수 있다.


1. ~/.vimrc

아래 내용을 사용자 홈디렉토리 아래 .vimrc 파일에 추가한다 (없으면 만든다)

$ set clipboard=unnamed


2. +clipboard 로 컴파일 됐는지 확인한다

$ vim --version | grep clipboard


clipboard 옵션 없이 컴파일 된 경우

$ /usr/bin/vim --version | grep clipboard
-clipboard       +iconv           +path_extra    -toolbar
+eval    -mouse_dec    +startuptime    -xterm_clipboard

clipboard 옵션이 포함된 경우

$ vim --version | grep clipboard
+clipboard       +job             +path_extra      +user_commands
+eval            +mouse_dec       +statusline      -xterm_clipboard

2-1. clipboard 옵션이 없는 경우 brew 로 vim 을 설치한다

맥에는 기본으로 vim 이 설치되어 있다.

아래와 같이 brew 로 vim 을 설치하여 시스템 디폴트 vim 교체할 수 있다 (실제로 교체되지는 않고 path 설정 바꿔주는 듯)


$ brew install vim --with-override-system-vim


3. 어떤 vim 이 호출되는지 확인한다

$ which vim
/usr/local/bin/vim


3-1. /usr/bin/vim 이 잡힌다면 /etc/paths 파일을 수정하여 /usr/local/bin 이 /usr/bin 보다 위에 나오도록 한다

/usr/local/bin
/usr/bin


4. 여기까지해도 동작되지 않는다면 

client-server 옵션으로 설치하면 동작하는 경우가 있다고 한다.


$ brew options vim
$ brew install vim --with-client-server


4-1. .vimrc 설정

1번의 설정으로 충분하나 아래와 같이 설정할 수 있다 (참조)


if has("clipboard")
    set clipboard=unnamed " copy to the system clipboard     if has("unnamedplus") " X11 support
        set clipboard+=unnamedplus
    endif
endif

 


어디서 왔지?
[["synd.kr", 21], ["unknown", 83], ["www.google.co.kr", 4]]
다른 글들
1 0

Vim - Pug(구 Jade) 템플릿 Syntax Highlight

템플릿 pug(구 jade)가 vim (version 7.4.1689) 에서 구문강조 (syntax highlight) 가 되지 않아 코딩에 어려움이 있다.
pathogen 플러그인을 사용해 vim-pug 로 pug 파일의 구문강조를 지원하는 방법은 다음과 같다.
pathogen 설치
https://github.com/tpope/vim-pathogen

vim 구동 파일 수정
vim-pug 설치
https://github.com/digitaltoad/vim-pug
0 1

Vim with the Syntastic plugin and ESLint (feat Vundle)

나는 nerdtree 라든지 하는 플러그인 안쓰고 날것의 vim 을 좋아하는데 syntax 나 eslint 는 필수기 때문에 써야지.
플러그인 관리 대세가 pathogen 에서 vundle 로 넘어간 듯.. 대세는 또 따라줘야지.
Vundle: https://github.com/VundleVim/Vundle.vim
Syntastic: https://github.com/vim-syntastic/syntastic
깃허브에 아주 잘 설명되어 있고.. 아래는 내 설치 히스토리.
소스 받기
.vimrc 에 다음 내용 추가 - Syntastic(만) 포함됨
설정된 플러그인 인스톨
플러그인 인스톨하면 화면 쪼개지고 설치 진행됨. 당황하지 말고 Vim 상태표시줄에 다 끝났다는 메시지 나오면 끄면 됨.
ESLint 는 글로벌로 설치해놓고 
사용하고 있는 .eslintrc 가 없다면 프로젝트 root path 에서
eslint 설정 파일이 있다면 아무 파일이나 돌려보면 eslint-plugin-react 등 필요한 것들 설치해줌
글로벌로 npm 설치해도 물론 됨
끝.
0 0

Nginx 301 리디렉션 설정

301 리디렉션은 URL 의 영구이전을 의미한다. www.synd.kr 이 synd.kr 로 301 리디렉션 된다면 www.synd.kr 로 인덱싱된 콘텐츠는 모두 synd.kr 로 변경된다는 의미다.
도메인을 이전하거나 선호도메인을 설정하는 경우 이용될 수 있으며 Nginx 환경에서는 아래처럼 같단히 설정할 수 있다.
끝.
0 2

Rails4, MySQL 4바이트 유니코드
(아이폰 특수문자 등의 Emoji) 지원 설정

MySQL의 utf8 문자셋은 3-Byte UTF-8 Unicode Encoding 을 지원하지.
3 bytes 면 사실 대부분의 글자가 다 표현되거든. 한중일, 중동, Latin 및 특수문자 다 포함해서 말이야.
그런데 원래 UTF-8 은 4 bytes 까지 기록할 수 있어. (그보다 더 옛날 스펙은 6 bytes 까지)
하지만 별로 쓸일도 없고 해서 MySQL 같은 몇몇 소프트웨어는 UTF-8 을 3 bytes 까지만 지원하는겨.
꽤 오랫동안 별 문제없었지만 아이폰의 특수문자 - Emoji 가 4 bytes 유니코드라서 이거 지원 안되는 DB에는 데이터가 제대로 안들어가는 문제가 생긴거지.
아이폰 사용자도 많고 이모지 사용도 꽤 잦기 때문에 - 인스타그램 이딴건 글자보다 이모지가 더 많아! - 이제는 우리도 4 bytes 유니코드를 지원해야 하는거지.
지금 서비스에서 이모지가 저장되는지 아닌지는 다음 문장을 복사해서 저장해보면 알 수 있지.
제대로 저장이 안된다면 이제 설정을 시작해보자.
준비물
MySQL 버전 5.5.3 이상!
차사고와 DB 사고는 항상 일어날 수 있지. 한 백번쯤 백업해놔.
1. database.yml 에서 인코딩 등 수정
2. MySQL 인덱스 길이 수정
3. 데이터베이스 재생성 또는 테이블 수정
이제 긴장 좀 때리자.
3-1 디비를 전부 삭제하고 다시 만들어도 되는 경우
3-2 디비 재성성이 불가능한 경우
1) 데이터베이스 수정
2) 테이블 수정
3) 컬럼 수정
3-3 점검걸고 데이터 백업하고 디비 재성성 후 restore
이거 편하긴하겠지만 무슨일이 생겨도 난 책임 못 진다.
진짜 책임 못 진다. 백업 백번하고 로컬 PC랑 다른 서버에 여기저기 보관해라.
뭔지 잘 모르겠으면 그냥 하지마라.
1) 일단 데이터만 백업
2) 디비 재생성
3) 데이터 리스토어
끝!
1 0

건의사항 반영 - 0922

맥에서 나눔이나 말근(맑은) 고딕 꼴보기 싫다는 말에 반박할 수 없어서 맥에서 "sans-serif" 만으로 설정.
justify 설정을 에디팅 시 끌 수도 없고 케바케로 더럽게 보인다는 점 반박할 수 없어서 수정.
백스페이스로 이전 페이지 이동되버리는 문제... Turbolinks 끔 (아 진짜 터보링크 계륵!)
글 수정 시 완료 버튼에 표기되는 명칭을 "수정 완료"로 변경
이상.
나머지는 또 다음에~ 여러분 안늉~!
0 0

Rails 모든 연결 SSL 로 변경하기 + Nginx Redirect

Let's encrypt 와 EFF 그리고 여러 스폰서들과 개인기부자들 덕분에 간단하게 SSL 을 적용했으니 이제 모든 http 연결을 ssl 로 돌려보자.
Rails 에서는 Controller 단위에서 force_ssl 을 사용할 수도 있고 보다 와이드하게 전체 설정에서 다룰 수도 있다.
씬디는 https 변경에 다른 별 이슈가 없기때문에 config/environments/production.rb 에 force_ssl 을 설정했다.
이렇게 설정하면 route 룰을 포함해 모두 ssl 연결로 변경된다.
NginX 나 Apache 등을 리버스 프락시로 구성하여 백단에 서버들에게 넘겨준다면 다음의 헤더를 반드시 포함시켜야한다.
Rack 서버는 1) 443 포트로 연결되었는지 2) ENV['HTTPS'] 값이 "on" 인지 3) X-Forwarded-Proto 헤더가 "HTTPS" 인지 3 가지를 보고 판단하기 때문에 리버스 프락시 뒤에 있는 puma 나 unicorn 등은 443 포트가 아닌 다른 포트나 유닉스소켓으로 통신하기 때문에 HTTPS 연결인지 확인하지 못하고 계속 리디렉션 시키게 된다.
NginX 나 Apache 단에서 301 리디렉션으로 연결 프로토콜을 변경할 수도 있겠다.
80 포트를 수신하는 서버 설정을 넣고 해당 설정에서는 http 를 https 로 변경하여 리디렉션시키면 443 을 리스닝하고 있는 아래의 설정이 요청을 수신하게 된다. 
끝.
1 3

가방

가방 들고 다니는거 너무 귀찮다.
옛날 커피숍 "보디가드"에 있던 하이텔 단말기처럼 아무데서나 사용할 수 있는 디바이스들이 있으면 좋겠다.
음.. 환경설정이 너무 오래걸리려나?
음.. 그냥 스마트폰 성능이 좋아지면 끝인가?
으음.. 당분간은 그냥 가방을 들고 다녀야겠군.
으으음.. 나 초딩같다 ㅋㅋㅋ
2 1

기준

좋은 물건을 사려면,
좋은 사람을 만나려면,
좋은 일을 하려면,
애초에 선택에 대한 기준을 명확하게 세워놓아야한다.
요소간의 트레이드오프는 가능하겠지만 이조차도 기준이 범위로 설정이 가능한 경우에만 허용된다.
결정이 필요한 긴박한 순간에는 이성적인 사고가 불가능하다는걸 인정해야한다.
0 0

UFW 방화벽 사용하기 - 우분투 14.04

UFW 는 iptables 의 설정 도구로 Uncomplicated Firewall 이란 뜻이며 문자 그대로 복잡하지 않은 방화벽 설정을 위해 사용된다.
서버는 어떤 목적이든, 공인 IP가 있든 없든 외부에서 접근이 가능하다면 보안 위험에 노출될 수 밖에 없다. IDC 레벨이나 네트워크 구성에서 하드웨어/소프트웨어 방화벽이 이미 사용되고 있을 수 있지만 그런 경우에도 각 서버의 방화벽 설정은 매우 유용하다(고 생각한다)
이런 목적으로 사용하기에 iptables 가 매우 적합하나 설정과 관리가 꽤나 복잡하여 나 같은 사람은 필요할 때 검색으로 룰을 설정했다가 어느 순간 뭔가 동작이 이상하면 iptables 전체를 내려버리는 괴상한 방식으로 운영하게되니 계륵이 아닐수가...
그런 의미로 UFW는 신세계! 방화벽이 미적용된 서버가 있다면 당장 UFW를 올려보자!
설치
기본 정책 설정 (들어오는 패킷은 차단, 나가는 패킷은 허용)
ssh, http, https 허용 (ssh 포트를 변경해서 사용한다면 반드시 직접 포트를 입력하자)
포트를 변경해 사용하거나 특정 포트를 허용
방화벽 ON!
위의 명령을 실행하면 "현재 ssh 연결에 문제가 생길 수 있습니다. 적용하시겠습니까?" 뭐 이런 질문이 나온다. ssh 포트는 허용으로 변경했으니 "y" 를 입력해 진행할 수 있다.
확인
ufw 가 실행되고 있지 않다면 아래와 같은 결과가 리턴된다.
방화벽을 끌 때는 아래와 같은 명령어를 입력한다
등록된 규칙을 삭제할 때는 2가지 방법이 있다.
첫번째는 등록 시 사용한 규칙을 그대로 입력하는 방법
두번째는 각 규칙의 번호를 확인하고 번호로 지우는 방법
등록된 규칙의 번호는 줄 맨앞에 있는 [숫자]
2번 규칙 80/tcp 를 지우려면
새로운 규칙의 추가는 동일한 방식으로 가능하다
포트 뒤에 tcp 나 udp 를 지정할 수 있고 지정하지 않는다면 모두 적용된다
새로운 설정을 적용하려면 disable > enable 해도 좋고 아래와 같이 reload 가 가능하다
특정 IP만 허용할 경우 
특정 IP에게 특정 포트만 허용할 경우
포트의 범위를 규칙으로 사용할 경우
특정 아이피에만 일정 범위의 포트를 tcp 패킷만 허용할 경우
서브넷을 특정 포트에 허용할 경우
이 정도면 내가 써봤던 명령어는 다 정리한 것 같다.
0 0
Square

earth: windmap
어스 윈드맵으로 황사, 먼지 등 대기 상태 및 예보 보기

오늘은 정말 잠깐 밖에만 나가도 목이 칼칼하더군.
주변에 미세먼지와 황사의 강력한 조합으로 인해 목이 붓는 등 고통받고 계신분들도 꽤 보이고.
이놈의 황사는 언제 걷힐까 싶어 "어스"에 접속. 
은 노란 하늘 ㅋㅋ
저 두꺼운 먼지들이 언제쯤 걷힐까 예보화면을 확인함.
12일이 되면 한국 상공은 꽤나 투명하기에 주변인들에게 "어스"를 보여줬더니 "이게 머여?" 라는 반응.
미세먼지 예보는 앱들 설치 많이 했던데 "어스"는 잘 모르는 모양.
그래서 "어스" 에 대해 짧은 사용법을 작성하기로 함.
어스 윈드맵(earth: windmap)은 일본에 살고 있는 미국인 개발자 Cameron Beccario가 만든 웹사이트로 2013년 12월 11일 오픈했고 윈체스터 대학교에서 열린 The Graphical Web 2014 컨퍼런스에서 개발 배경 등에 대한 발표가 있었다.
일부에서 "어스"를 인디드(Indeed, 취업/채용 사이트)에서 만든 사이트라고 설명하는데 Cameron Beccario 는 위 컨퍼런스에서 개인 공부를 위해 시작한 개인적인 프로젝트였다고 밝혔다. (당시의 직장은 Indeed)
초기버전은 Air와 Ocean 두 개의 모드만 제공했으나 현재 Chem(케미컬)과 Particulates(dust, smoke, soot, clouds) 가 추가되었으며 GMAO/NASA 의 데이터를 사용한다.
대충 설명은 된 것 같고 짧은 사용법을 시작하기전에.. 진심으로 Cameron Beccario 의 수고와 노력에 감사한다.
여러분도 고마운 마음이 생긴다면 글 하단의 링크를 타고 Cameron Beccario 의 트위터에 인사를 남기거나, 어스의 아트웍을 구입해 직접적으로 도움을 줄 수 있다.
"어스" 사이트에 접속하면 기본값으로 설정된 지표면에 불고 있는 바람을 볼 수 있다.
https://earth.nullschool.net

미세먼지 및 대기 중 화학물질(일산화탄소와 이산화탄소, 황산화물)을 확인 하기 위해선 화면 좌하단의 "earth" 메뉴를 클릭해 설정을 변경해야한다.
[미세먼지 및 대기오염 물질 보기 설정] 
Height: Sfc (관측높이는 surface, 지표면으로 설정)
Mode: Chem
Overlay: COsc (일산화탄소)
Overlay: CO2sc (이산화탄소)
Overlay: SO2sm (이산화황)
Mode: Particulates
Overlay: DUex ((미세)먼지 = dust, smoke, soot, clouds 등으로 대기의 광학적 두께를 - 얼마나 불투명한지를 - 표현)
Overlay: SO4ex (황산화물)
[예보 및 지난 데이터 보기]
Control 메뉴
<< : 24시간 이전 데이터 확인
< : 3시간 이전 데이터 확인
> : 3시간 이후 데이터 확인
>> : 24시간 이후 데이터 확인
⊕ : 현재 위치를 중심으로 

Grid : 그리드 표시
▷ : 바람 표시
HD : 고해상도 설정
- 끝 -
https://earth.nullschool.net [어스]
https://twitter.com/cambecc [개발자 트위터]

http://memory.org/point.b/earth.html [아트웍 구매]
https://en.wikipedia.org/wiki/Cameron_Beccario [개발자 위키문서]

https://www.youtube.com/watch?v=QXNODLWhSbw [The Graphical Web 2014 발표]

https://gmao.gsfc.nasa.gov/GEOS/ [GEOS-5 - GMAO / NASA]
0 1

씬디를 만드는 이유 #2

Medium 은 트위터 공동 창업자 중 에반 윌리암스가 만든 글쓰기 플랫폼이지! 2012년도에 오픈했는데 한 2년 묵묵하게 굴러가다가 2014년도부터 한국에도 많이 알려진 것 같아. 요즘은 한국어로 글 등록하는 사람들도 꽤 보이더라고.
글 쓰기 협업툴을 초기 컨셉으로 들고 나왔었는데 - 그래서 단락별로 에디팅이나 코멘트가 잘 기획되어 있지 - 지금은 그것보단 "글 쓰기에만 집중할 수 있는 글 쓰기 플랫폼" 으로 어필되고 있는 것 같아. 물론 사람들이 스킨과 디자인은 잊고 글 쓰기에만 집중할 수 있도록 충분히 아름답고 정리된 디자인을 자랑하지.
기고자와 독자가 충분히 많아지니까 기존 미디어들에서도 미디엄에 채널을 만들어 콘텐츠를 유통시키는 모습도 자주 보이고, 팀이나 브랜드 단위의 채널들이 많이 생기고 콘텐츠 질도 점점 좋아지는 것 같아.
애니웨이, 미디엄에 대한 개인적인 불만이라면 단 하나.. 한국어로 글을 쓸 때 serif 폰트가 설정되어 있는데 이게 보기에 엄청 거시기해. 브라우저 설정에서 폰트를 지정해서 쓰면 되나? 되겠지 뭐.
지저분한 사심을 담백하게 털어놓자면 미디엄 같은 아름다운 플랫폼을 갖고 싶었어. 폰트 설정은 구차한 변명이지. 그냥 내껄 갖고 싶었어! 이게 씬디를 만든 두번째 이유.
2 5

SYND 바란다#2

1. 비공개 글의 경우 메타 로봇 설정으로 noindex 처리 필요
2. 해더스타일을 좀더 쉽게 사용 할수 있게 스타일속성에서 밖으로 나왔으면.
3. 해더 스타일에 따라 자동으로 H* Tag로 마크업 처리 필요