글쓰기 메뉴
0 2

아이디 없이도?

가능해?
4 1

이상한곳

여러사람이 같이쓰는 개인메모장 같은 이곳은 뭘까? 공개적으로 끄적이는 느낌? 봐도 안봐도 상관없고 신분노출 안되고 보여주기식의 글도 아닌데 욕쓰기는 뭐한 그런 이상한 곳 
근데 괜히 매력적인 느낌 아주심플한것에 끌림
1 0

터미널

김포공항에 앉아서 커피를 마시고 있다보니, 그냥 이대로 유랑하며 사는 것도 나쁘지 않을 것 같다는 생각이 든다.
터미널에만 오면 늘 이 생각이 뇌내에서 루프를 돈다.
뭐 그래도 결국 일정대로 다시 이 곳으로 돌아올테고, 또 다른 일정의 세상을 향해 터미널을 떠나겠지.
Au revoir.
0 2

실비집

워드프레스나 미디움까지 언급하지 않아도 씬디는 카카오의 브런치와 비교해 장점이 있을까?
있다라고 가정하고 살펴보면 미슐랭 쓰리 스타는 멀고 김밥천국은 가깝다는 정도. 레스토랑이라면 음식과 서비스 비용 그리고 거리의 차이로 사용자가 구분되지만 인터넷에선 그 차이가 크지않다는 점 때문에 큰 장점이 되지는 못할 듯.
그치만 실비집만의 감성적인 느낌이 어필된다면 모르겠지. 그러고보니 나도 실비집에서 끼니를 때우고 있네.
0 0

제목 폰트 Noto Sans CJK 웹 폰트로 변경

Noto Sans CJK 폰트는 구글과 어도비가 만든 폰트로 중국어 간체와 번체, 일본어와 한국어 폰트를 포함하고 있다. 예전에 비해 웹에서 사용할 수 있는 한국어 폰트가 꽤 많아졌지만 여전히 목마른 우리에겐 참 흐믓한 일이다. 라이센스는 Apache License, Version 2.0
하지만 다른 구글 폰트와 달리 엄청난 용량으로 google early access 에서 제공하지 않고 있는 관계로 (아니지, 왜 제공 안하는지는 나는 모르지) 웹에서는 여전히 사용하기 어려운 실정이다.
드디어 구글 폰트 얼리 억세스(Google Fonts Early Access)에서 Noto Sans KR 을 서빙하기 시작했습니다. 자세한 내용은 아래 링크를 참고하세요.
"훈민정음 반포 569돌을 맞이해서 자그마한 선물을 마련했습니다."
그! 런! 데! Coderifleman 님의 노력으로 (언급은 안하셨지만 이런 작업은 그냥 괴로운 노가다..) 매우 적당한 용량의 서브셋을 웹폰트로 사용할 수 있다.
관련된 내용이나 사용법 등이 매우 잘 정리되어 있고 Coderifleman 님의 노력에 감사하는 의미로 이 곳에서는 아무 설명없이 링크로 대체한다.
한글 웹 폰트 경량화해 사용하기
Noto Sans CJK KR 폰트 보기
Noto Sans CJK 다운로드 및 도움말 페이지
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 패킷만 허용할 경우
서브넷을 특정 포트에 허용할 경우
이 정도면 내가 써봤던 명령어는 다 정리한 것 같다.
3 1

다이어트

내일이야
이미글름
시간없음
이제끝남
2 2

가을

낙엽이 날아와 얼굴을 스치기에 바람인줄 알앗는데 세월이엿다...스치듯지나가는 세월이 둬돌아볼틈도  없이  훌쩍 쌓여  꼬박꼬박 쌓여진 추억과 함께  눈물로 모이네...
0 0

Nginx 301 리디렉션 설정

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

우분투 14.04 wkhtmltopdf 설치

wkhtmltopdf 는 HTML 페이지를 PDF 로 만들어주는 오픈소스 도구로 Qt WebKit 엔진을 사용한다. 자매품인 wkhtmltoimage 는 같은 방식으로 HTML 을 다양한 형식의 이미지로 변환시켜준다.
Ubuntu 14.04 에서 apt-get 으로 wkhtmltopdf 패키지를 설치할 수 있으나 Qt 가 wkhtmltopdf 에 맟춰 패치되지 않았다면 몇 가지 기능이 제한된다. 예를 들면 HTML 에 있는 링크가 PDF 에 사라지는 등의 오류가 있을 수 있다. 관련 옵션은 --enable-external-link 인데 Qt 가 패치되어 있지 않으면 해당 옵션을 켤 수 없다. 
그러니 wkhtmltopdf 홈페이지에서 컴파일되어 있는 바이너리를 다운받아 설치하도록 하자. 만사가 편하다.
* 우분투 서버를 사용하고 있을 경우 X 시스템과 폰트관련 패키지가 설치되어 있지 않다. 이럴 경우 먼저 필요한 패키지와 폰트를 설치하자.
폰트는 마음에 드는 패키지를 찾아 설치하면 되는데 별도의 설정없이 바로 사용할 수 있는 한글 폰트는 unfonts, baekmuk, nanum 정도 되겠다. 각각 패키지는 아래와 같다. (우분투위키에서 CJK 폰트 참고)
은폰트 - unfonts
백묵폰트 - baekmuk
나눔폰트 - nanum
폰트툴과 폰트가 설치 된 후 wkhtmltopdf 다운로드 페이지에서 Ubuntu Trusty (14.04.1) 버전(64-bit)의 .deb 파일을 다운받아 아래와 같이 설치한다. 
설치 후 아래와 같이 확인할 수 있다.
webpage/url 이라는 주소의 웹페이지를 save.pdf 로 변환하는 명령어 예제는 다음과 같다. 자세한 옵션은 man wkhtmltopdf 로 확인할 수 있다.
--print-media-type
스크린 타입이 아니라 프린트 미디어로 PDF를 렌더한다.
--page-size
페이지 사이즈를 지정한다. Letter, A4, A3 등의 형식으로 지정할 수 있다.
* 공식 홈페이지에서 전체 리스트 링크를 제공하고 있으나 현재 사용이 연결이 되지 않는다. 소스에서 확인한 전체 리스트는 이 곳에 적어둔다.
* --page-width, --page-height 로 페이지 크기를 지정할 수 있다 
--dpi
dpi (dots per inch) 값을 지정한다.
-T, -B, -L, -R
상(Top), 하(Bottom), 좌(Left), 우(Right) 여백을 지정한다.
요즘 웹페이지의 PDF 변환이나 이미지 캡처는 요즘 PhantomJS 를 사용한 방식이 훨씬 많이 소개되고 있다. 의존패키지에 대한 고려나 설정에 대한 부담감이 없기 때문일텐데 개인적으로 wkhtmlto* 를 오래전부터 사용하고 있어서 정리해봤다.
0 0

wkhtmltopdf --page-size 옵션 목록

깃허브에 등록된 wkhtmltopdf 소스에서 pageSizeMap 부분을 발췌
res["A0"] = QPrinter::A0;
res["A1"] = QPrinter::A1;
res["A2"] = QPrinter::A2;
res["A3"] = QPrinter::A3;
res["A4"] = QPrinter::A4;
res["A5"] = QPrinter::A5;
res["A6"] = QPrinter::A6;
res["A7"] = QPrinter::A7;
res["A8"] = QPrinter::A8;
res["A9"] = QPrinter::A9;
res["B0"] = QPrinter::B0;
res["B1"] = QPrinter::B1;
res["B10"] = QPrinter::B10;
res["B2"] = QPrinter::B2;
res["B3"] = QPrinter::B3;
res["B4"] = QPrinter::B4;
res["B5"] = QPrinter::B5;
res["B6"] = QPrinter::B6;
res["B7"] = QPrinter::B7;
res["B8"] = QPrinter::B8;
res["B9"] = QPrinter::B9;
res["C5E"] = QPrinter::C5E;
res["Comm10E"] = QPrinter::Comm10E;
res["DLE"] = QPrinter::DLE;
res["Executive"] = QPrinter::Executive;
res["Folio"] = QPrinter::Folio;
res["Ledger"] = QPrinter::Ledger;
res["Legal"] = QPrinter::Legal;
res["Letter"] = QPrinter::Letter;
res["Tabloid"] = QPrinter::Tabloid;
1 2

정말.

졸립다. 바닦에 몸을붙여 손베게를 만들어 잠을달랜다. 술이 마시고싶었다. 그래서 밤새 마실수있는 싸구려보드카를 한병샀다. 안주도없다. 빈속의 내장들이 꿈틀거렸다. 마티니가 생각났지만 생각으로 멈췄다.
밤새 동이틀때까지 마셨다. 먼지를덮고 자던 CDP를 틀었다. 오래전 탐사를위해떠나 고립된우주선처럼 희미한 불 빛과 소리가 들려온다.
radio head의 creep이 귓가에서 멈추지않고
기억속으로 흘러온다. 너무나 오래된기억을
갖고 목으로가슴으로타고들어온다. 
그랬던것처럼 음악을 안주삼아 술을마셨다.
시계가없어 아침이온줄모른게 아니라
시계가없어 아침이 오지않길바랬다.
술기운이떨어지기전에 잠들어야한다.
잠들어야 아침을 맞이할수있다.
2 0

인쇄 및 PDF 내려받기

인쇄버튼과 PDF 내려받기 기능이 추가됐습니다.
같은 방식으로 XML과 이미지 등 많이 쓰이는 형식으로 글을 내려받는 기능을 천천히(!) 추가할 계획입니다.
큰 쓰임이 없는 기능이겠으나 "입력"에만 집중하겠다는 씬디의 현재 컨셉과는 잘 맞는 기능인 것 같습니다. 생산된 콘텐츠의 유통과 사용은 기존방식과 망에 맡기는게 좋다는 (교체가 넘사벽) 생각입니다.
다음 업데이트는 손쉬운 조작을 위해 페북 공유를 OG로 변경하는 작업, 카톡이나 이메일 공유 등의 기초적인 공유 기능의 정리를 계획하고 있습니다.
쌓인 작업 중 우선 순위가 높은 작업은 "표 입력", "차트 입력", "폰트 및 디자인 수정", "파일 첨부" 등 입니다. 
끝!      
0 0

이곳

새롭기도 하고 익숙하기도 한 이곳
좋다
2 4

칠정이라.

감정을 칠정으로 나누고, 추가적으로 오욕을 넣는다.
희 노 애 락 애 오 욕. 모든 감정은 이 일곱가지 감정을 기반으로 일어나고, 좀 더 복잡한 상태로 변화한다. 문제는 감정에 대한 제대로 된 이해가 어렵기 때문에, 지금 내가 느끼는 감정이 도대체 어떤 상태에 속하는지 잘 알지 못한다는데 있다. 그래서, 이부분에 대한 제대로 된 이해를 시키는 것이 중요하다.
지금 내가 느끼는 이 감정은 기본적으로 욕(慾)에서 발현된 것이다. 그리고, 일부분 노(怒)와 애(愛)가 묻어 있다. 
0 1
Square 2f561b02a49376e3679acd5975e3790abdff09ecbadfa1e1858c7ba26e3ffcef

테스트

글을 쓰라고?
1 1

조회수 숨김

상세면에는 원래 보이지 않았지만 목록에서는 조회수가 노출되고 있었다. 눈에 보이니 관심도 생기고 평가도 하고.
그래서 숨겼음. ㅇㅇ 끝.
1 1
Square 2f561b02a49376e3679acd5975e3790abdff09ecbadfa1e1858c7ba26e3ffcef

담배 참 오래 태웠다.

예전에 세상에 이런일이 같은 티비 프로그램에서 하루에 담배 3갑씩 태우는 아저씨가 나왔었는데 병원가서 엑스레이 찍어봤더니 남들보다 폐가 좀 크기도했지만 엄청 깨끗하다고 의사가 놀라더라고. 그 아저씨 차가 코란도였는데 무지 터프하고 남자답다고 생각했었어.
그리고 나는 아무 근거도 없이 아마 나도 담배많이 피워도 폐가 깨끗하고 건강할꺼라고 생각했는데 미친거짘ㅋㅋ
현실은 당연히 Fail.
병원에서 의사가 담배 얼마나 폈어요 물어보는데 20년은 됐다고 말하기가 얼마나 창피하던지...
폐도 안좋고 가족들한테도 나쁘고 이제 그만 태워야지. 내가 담배 끊었으니까 담배인삼공사는 이제 신규 수익사업을 고민해야할꺼야.
1 0

리디렉션 페이지에 구글 아날리틱스 코드 집어넣기

리디렉션 되는 페이지에 구글 웹로그 분석기 추적 코드를 넣고 meta 태그나 스크립트로 페이지를 이동시키면 데이터 수집이 완료되지 않은 상태로 페이지가 종료되고 로그가 남지 않는 문제가 있지.
리디렉션을 5초 정도로 잡아도 무관하다면 그냥 5초로 잡고 돌려도 OK.
리디렉션 타깃 페이지가 같은 도메인 아래에 있다면 타깃 페이지에 추적 코드가 있는 것 만으로 레퍼러로 처리되어 데이터가 수집되니까 이것도 OK.
하지만 리디렉션을 외부 사이트로 보내야하고 1~5초 정도 사용자를 묶어두는게 부담스럽다면 추적 코드의 동작이 완료된 후 리디렉션을 실행하면 되겠지.
2013년부터 사용된 Google Universal Analytics 추적 코드라면 hitCallback 콜백을 사용하면 되고 혹시 2013년 이전 코드라면 글로벌 오브젝트인 _gaq 큐에 함수를 밀어넣으면 된다네.
추적 코드 어딘가에 _gaq 가 있으면 그냥 오래된 코드, _gaq 가 없고 다음과 같이 추적코드가 시작된다면 Universal.
오래된 버전에서는 아래처럼 리디렉션이 가능
Universal 버전에서는 아래처럼 hitCallback을 사용할 수 있음
이상 끝!
0 0

Re: 인간관계

잘난척하다 벌받음
어쩐지 찝찝하더라~
1 47 49 51 52