글쓰기 메뉴
Blank

에필로그.어둠소녀

제목:저는 오늘 입학식이라 등교 중인데요?

오늘은 SWAPE 고등학교 입학식이다.

'이 학교는 언니따라 많이 왔었지....'

나는 옆집 언니인 루나 언니를 따라 SWAPE 고등학교에 많이 와보았다.
루나 언니는 책을 좋아하는 나를 위해 이 학교의 도서실에 자주 데려왔었다.

'여기는 책이 많아서 좋아...'

나는 익숙한 책 냄새를 맡으며 도서실 안으로 들어왔다.

'뭘 읽을까... 역시 이 책을 더 읽어 보는 게 좋겠어'

내가 고른 책(이라 해야 하나?...)은 사람들이 잘 보지 않는 (당연하지만) 문서를 빌렸다.
사서 선생님은 여기 있는 책이나 문서를 다봤냐며 나를 알아보시고는 물으셨다.

나는 그런 질문을 억지웃음으로 회피하고는 문서를 챙겼다.

'솔직히.. 내가 이걸 봐야 하는 이유는 따로 있지만.....

To Be completed 


다른 글들
3 0

디지털오션은 사랑이지

"바나나가 왜 멸종위기 과일인가요?" 따위의 질문은 네이버 지식in 이 꽉 잡고 있고,
"OpenCV로 뒤집어진 얼굴이 인식이 안돼요" 따위의 질문은 Stackoverflow 형님이 꽉 잡고 계시지.
그리고 "우분투 14.04에 Elasticsearch, Logstash, Kibana 설치" 따위의 문서 영역은 디지털오션 커뮤니티가 조만간 다 잡수시지 않을까 싶네.
지난 1년동안 서버에 관련된 문제나 새로운 시도들 중 디지털오션 문서를 통해 해결한 비율이 60%는 넘는 것 같아. 그렇게 계속 보다보니까 엊그제는 뉴스레터도 가입하게 됐고.. 생각해보면 서버 운영 및 설정 관련 문서와 튜토리얼, 커뮤니티야 말로 클라우드 호스팅 업체가 가질 수 있는 가장 강력한 경쟁력인 것 같아. 
새삼스러운 생각도 아니지. 커머스가 커뮤니티를 갖는다는거 아주 이상적인 그림이자나. 단지 현실에서 그렇게 되기가 생각보다 드럽게 힘들다는 문제가 있는건데.. 디지털오션이 어찌 그리 잘 해내고 있는지 좀 공부하고 배워서 씬디에 써먹어야겠어!
0 0

아픔

난 진짜억울하면 눈물부터 난다. 
이성적으로 차분하게 말하고 싶은데 그게 잘안됨 목소리가 너무 떨리니까.
최근에 정말 억울한일이 있었는데 도리어 내가 사과하는 일이 벌어졌다 
같이 일하는 또라이가 있는데 나한테 황당한일 덤팅이 씌우길래 내가 문서 링크 주면서 그거 내일도 아닐뿐더러 내가 업무 외적인 시간들여서 부서를 위해서 하는 일인건데 그런식으로 말하는건 좀 아니지 않냐는 식으로 말했더니만 아무말도 못함.
근데 중간에 있는 사람이 나한테 사과해 달라고 부탁하길래
사과는 했지만 사과하고 나서 진짜 억울해서 반차냄
니 딸도 너같은 상사 만나서 똑같이 당해보면 어떨찌.. 심은대로 거둔다고 했다.
인과응보라고 했다.
2 0
Square

나의 글씨

나의 글씨는 한글로
휘갈겨졌지만 선의 미려함을 유지하여
결국엔 원을 그려낸다.
그러나 그의 글씨는 영문으로
또박또박 타자기마냥 문서로 남아서
결국엔 큰 직사각형을 그려낸다.
물려받은 것이 다른 것인가
내 글씨에는 지금까지의 고난과
앞으로의 고난들이 담겨서
이리 꺾이고 저리 꺾여 말라 비틀어진듯 보이지만
결코 부러지지는 않을 것이다.
그의 글씨에 담긴 고난이 아무리 험해도
그 글씨는 틀에 맞춰 꺾어 만든
공산품이나 다름없음에
결국 소모되는 것이거늘
그러나 나는 내가 물려받은 것에
아쉬움을 갖고 있다.
어쩌면 이는 증오이다.
사회에 대해 발언하던 그는
내 눈에는
동정심이라는 이름으로
부잣집 어린 아들이 미제 개미집을 보며
그 안에 있는 물에 빠진 개미를 보며
그 개미를 꺼내는 방법을 생각하는 것 같았다.
필요 없다.
우리의 옳음은
우리가 악착같이
찾아내서 기필코 얻어낼 것이다.
내 글씨는 내 영혼까지 담고 있는 것이다.
3 0
Square

씬디 업데이트 - 파일로 글쓰기

1. 노트와 연습장, 연필과 펜으로 작성된 아날로그 컨텐츠를 디지털로 변환시키는 최초의 소프트웨어가 뭘까?
  - 접근성과 가벼움으로 승부하는 - 메모장
  - 전통의 워드 프로세서 - MS워드, 아래아한글, 오픈오피스
  - 디지털 네이티브 - 구글 독스, 에버노트, 블로깅 툴 등
2. 한글이나 워드로 작성한 기사를 메모장에 붙여넣었다가 다시 CMS 기사 입력기에 붙여넣고 있어요.
  - 기자들한테 진짜 많이 들은 얘기. 주로 앞뒤의 다른 문제를 설명하기 위한 기초 설명이지.
3. 메모장에 작성한 글을 복사해서 씬디에 올렸는데 앞부분이 잘렸어요.
  - 씬디 사용자에게 받은 피드백. 2번과 같은 구조. 
  - 앞부분이 잘리는 문제는 당연히 코드를 수정해야겠지만 "메모장 복붙" < 이거 해결해야겠다.

그래서 씬디에다가 "파일로 글쓰기"라는 기능을 추가해봤지!
아직까지는 오로지 문서 파일에 있는 "텍스트"만 발라내는 용도로 쓰이고 있어.
하지만 기능이 유용하다고 생각되면 - 사용자의 글쓰기 과정 & 디지털 퍼블리싱 과정에 알맞은 기능이라고 생각되면 - 엑셀 파일을 올릴 경우 표나 차트를 자동으로 만들어준다거나, 문서에 포함된 사진, 비디오 같은 멀티미디어도 옮겨준다거나 하는 쓰임이 추가될 수 있겠지. 
글쓰기 화면 하단에 있는 업로드 영역에 드래그&드랍으로 파일을 떨구거나 "글 불러오기" 버튼을 사용해 파일을 업로드하면 끝!
복붙에서 발생되는 문제와는 또 다른 무시무시한 문제가 있지.
인코딩.
아! 좌절스러워 ㅋㅋㅋ
일단은 문서의 인코딩을 추측해서 자동으로 변환하고 있지만 컨텐츠가 발라지지 않거나 문자가 깨지는 문서들이 꽤 있을 것 같아.
그렇지만! 서비스와 기능은 오픈시켜 사용되지 않으면 발전할 수 있는 기회도 없다는걸 잘 알고 있기 때문에 과감하게 적용! 은 사용자가 적으니 위험부담없이 적용
컴퓨터에 잠자고 있는 글들 올려보세요!
2 1
Square

foo, bar - Metasyntactic variable
메타구문변수라니.. 번역해도 뭔말인지...

개발자들은 foo, bar 라는 단어가 아주 친숙하지.

그냥 "무엇이든 지칭할 수 있는 의미없는 단어"로 예제코드나 문서에서 매우 자주 쓰이니까.
그래서 개발 시작한지 얼마안되는 초보시절(!)에 foo, bar (합쳐서 foobar 라고도 많이 부름) 의 어원이나 정확한 의미를 찾아보는 시간을 갖지. 나 역시 찾아봤었고.
영문은 위키피디아에서 보면 되고,
한글로는 이게 제일 그럴듯해. (군대 은어 - FUBAR 에 대한 설명만 빠져있음)
다만 foo 를 한글의 "홍길동" 이라고 이해하지는 말자. "홍길동"은 지칭되는 사람이 없는 사람을 뜻하는 단어지만 foo 는 사람이든 사물이든 가리지 않고 무엇이든 지칭할 수 있으니까. 
그런데 foo, bar 다음은 뭔지 알어? 다음 단어가 있긴 있을까?
이게 메타구분 변수 목록이야 ㅋㅋㅋㅋ 너무 재밌고 신기하고 신나서 글 써봄 ㅋㅋㅋ
2001년 만우절에 작성된 RFC3092 문서에 나와있네.  RFC3092
근데 형들 RFC 가 무슨 약자인줄 알어? 이것도 재밌는데 ㅋㅋㅋ
1 1

댄스댄스 上

1.
 나는 불치병을 앓고 있다. 음악이 들리면 몸이 멋대로 춤을 추는 병이다. 웃지 마라. 이것은 아주 좆같은 일이다. 나는 가족, 이웃, 선생님, 같은 반 아이들, 그 외 길 가던 행인 모두를 당혹스럽게 만들면서 자라왔다.
 이 병은 내가 다섯 살 무렵부터 발병했다. 우리 애는 끼가 많군! 핫핫 웃었던 부모님의 입가에는 곧 어두운 주름이 졌다. 이 정체 모를 병은 수도꼭지처럼 물의를 쏟아냈고 두 분은 그로 인해 신음했다. 불행 중 다행인 것은 우리 집이 돈에 관해서는 꽤 여유로웠다는 점이다. 그러나 많은 문제를 해결해준 돈도 고통을 줄여주지는 못했다. 세상 곳곳이 전쟁터였고 사람들이 아무렇지도 않게 터트리는 음악에 나는 만신창이가 되기 일쑤였다.
 발병 이후 열다섯이 될 때까지 수많은 의사와 목사와 신부와 무당과 그 외 민간의학 사이비를 만났다. 그들이 하는 말은 하나같이 달콤한 희망을 품고 있었다. 이것은 무의식의 발현입니다. 어린 시절 억압된 트라우마가 나도 모르게 춤으로 나타나는 거죠. 하지만 치료할 수 있습니다. 악마가 들렸군요. 구마 의식으로 쫓아내야 합니다. 체온이 1도 높아지면 모든 병을 치료할 수 있습니다. 몸에 자철석을 지니고 있으면 나쁜 기운이…… 전부 실패했다. 헛된 희망에 끌려다니다 너절해진 나는 열여섯이 되자 모든 것이 귀찮아졌다. 안 할래요. 우리 이제 그만 포기해요. 나를 설득하려 했던 부모님은 되려 설득당해 결국 고개를 끄덕이고 말았다. 가족 모두가 지칠 대로 지쳐 있었다.
 2.
 말도 안 되는 치료와 의식에 끌려다니지 않게 되자 시간이 많아졌다. 내 방은 부모님이 집에서 특히 공을 들인 곳으로, 방음벽과 차음벽을 몇 겹으로 둘러 바깥의 소리가 한 틈도 새어 들어오지 못하게 시공했다. 나는 집에 오면 거기 틀어박혀 책을 읽고 글을 썼다. 영고라는 이름을 지은 것도 그 무렵이다. 내 이름을 소리 내어 부르면, 이름 석 자를 다 붙여 윽박지르던 목소리들이, 거기에 담긴 기겁과 짜증이, 오랜 시간 밟혀 까맣게 굳고 더러워진 어감이 나를 짓눌렀다. 평범한 이름마저 염증이 되는 게 버거웠던 나는 자조하듯 새 이름을 지었다. 영고. 영원히 고통받는 김영고. 그리고 그 이름을 아는 사람이 딱 한 명 있었다.
 “영고야.”
 수업 종이 울릴 때마다 벌떡 일어나 탭댄스를 추는 미친놈에게 유일하게 말을 걸던 사람. 얇은 은테 안경을 쓰고, 사춘기를 지나는 아이답지 않게 피부가 깨끗했던 A.
 “고등학교 어디 가?”
 “안 가.”
 “에이 알려줘. 난 고고고. 거기 교복 예쁘더라.”
 “진짜 안 가. 검정고시 치기로 했거든.”
 “헐. 존나 부럽다.”
 “뭐라는 거야… 학교 안 간다고 노는 줄 아냐?”
 나는 유일하게 아는척하는 A가 낯설고 불편했다. 친구가 없는 것도 아닌데 왜 나한테 치근덕대지. 그럼에도 새 이름을 알려준 것은 걔가 달라붙은 뒤로 본명을 더 자주 들어야 했기 때문이다. 김땡땡! 땡땡! 땡땡아! 돌아볼 때까지 지치지도 않고 불러대는 바람에. 그럼 평균적으로 바닥을 치던 기분이 외핵 내핵까지 뚫고 들어갔으니까.
 “영고.”
 “응?”
 “이름 말고 영고라고 불러.”
 “별명이야?”
 “어. 너만 알려주는 거야.”
 사족이 마음에 들었는지 그 뒤로는 착실하게 영고라고 불렀다. 진짜 이상한 애였다. A는 내가 매번 데면데면하게 굴고 가끔 무시하는데도 꼭 와서 인사를 받아가고는 했다. 시간이 좀 지나서는 친해졌다고 생각했는지 이런 개 같은 질문도 했다.
 “야야. 그럼 너 섹스할 때 뮤뱅 틀면 박자 맞춰서 하냐?”
 “……미친놈아…. 박자대로 털리고 싶냐?”
 중학생답게 태양처럼 밝고 개념 없었던 A. 배시시 웃는 얼굴에 티 하나 없는 것이 천진해 보이던 A. 내 인생에 그런 사람은 그 애가 처음이자 마지막이었다. 부모님의 설득에 떠밀려 억지로 나간 중학교 졸업식 날, A가 한 말을 아직도 기억한다.
 “네 인생이 뮤지컬이라고 생각해.”
 그게 뭐야. 멱살이라도 잡아 비웃어주고 싶었지만 어쩐지 아무 말도 할 수가 없었다. A의 하얀 얼굴 대신 감색 융으로 덮인 졸업장만 뚫어지게 쳐다보다가, A는 떠들썩한 친구들의 물결에, 나는 부모님의 손에 이끌려 헤어졌다. 이후로는 만난 적이 없다. 창업한 스타트업이 크게 잘 되었다는 소식을 아주 멀리서 들었을 뿐이다.
 3.
 전장이나 마찬가지였던 학교를 졸업하자 나는 꽤 살만해졌다. 과외 수업을 듣거나 공부를 하거나 놀거나 쉬는 모든 것이 내 방 안에서 가능했다. 바깥에 나가지 않아도 된다니. 안전이 가져다주는 평온함은 거짓말처럼 달콤했다. 내 삶은 조금씩 좋은 방향으로 나아가는 것처럼 보였다. 그러나 그건 아주 짧은 시간이었다. 기껏해야 일 년쯤. 내 삶에 불행을 쏟아부었던 악마는 겨우 숨을 틔운 나를 다시 진흙탕 속에 처박았고, 나는 그제야 이 평화가 태풍의 눈이었다는걸 깨닫는다.
 부모님이 교통사고를 당한 것은 막 열여덟 살이 된 겨울밤이었다. 눈길에 미끄러지던 트럭과 부딪혀 차가 완전히 박살이 났다고 했다. 너무 갑작스러워서 슬픔보다 황망함이 앞섰다. 내가 뭘 실감하기도 전에 친척 어른들이 달려와 이런저런 절차를 밟았다. 그때까지도 비교적 덤덤한 상태였던 나는, 그들이 나를 추스르겠다고 한마디씩 건넬 때마다 오히려 죽음을 감각했다. 사람과 사람을 갈라놓는 것. 영영 볼 수 없게, 저 세상으로 데려가는 것. 그건 갑자기 찾아온 만큼 터무니없이 무겁고 까마득해서, 나는 점차 제정신을 잃어갔다. 몸속의 수분을 모조리 짜낼 것처럼 눈물을 쏟아냈다. 영정 앞에 엎드려 목놓아 우는 나 대신 큰아버지가 상주 노릇을 했다.
 시간이 얼마나 지났는지 모른다. 완전히 탈진해 벽에 간신히 기대어 있었다. 그제야 식장 안이 눈에 들어왔는데, 온 친척과 부모님의 지인들이 모여 떠들썩했다. 그중에는 큰아버지의 아들이자 내게는 사촌인 B도 있었다. 나보다 두 살이 어린 B는 비죽 뻗친 머리와 개구지게 올라간 눈매, 그리고 직선적이라 무심해 보이는 큰아버지의 턱을 가졌다. B는 아마 장례식이 지루했을 것이다. 자기 부모님도 아니고, 얼굴은 일 년에 한두 번 보는 게 고작이고, 가끔 명절에 만나면 용돈을 많이 줘서 좋은 친척분이 돌아가셨구나, 그 정도의 감상이 전부였겠지. 그걸 이해하지 못하는 것은 아니다. 다만 B를 포함한 온 일가족은 내 병을 알고 있었다. 불치병인지 정신병인지 관심병인지 누구 하나 제대로 아는 사람은 없었지만 어쨌든 알고는 있었다.
 그러니까, 구석에서 핸드폰이나 만지작거리던 B가 내 옆에 와서 댄스곡을 재생한 것은 명백히 새빨간 고의였다.
 새빨갛다고 표현한 것은 기억 속 시야가 터진 토마토처럼 붉었기 때문이다. 사실 이때의 기억은 정확하지 않다. 그때 나는 제발 멈춰달라고 애원하던 빨간 구두였지만, 그 많은 이들 중 내 다리를 잘라줄 자비로운 나무꾼은 없었다. 영문 따위 알 리 없는 문상객들과 영문을 아는 일가족들은 한 몸처럼 나를 물어뜯었다. 아는 것은 이게 전부다. 눈을 떠보니 장례식은 끝났고, 나는 왜인지 이마가 찢어져 커다란 반창고를 붙이고 있었다.
 주변은 여전히 쑥대밭이었다. 내가 물려받게 될 재산에 눈이 돌아간 어른들은 온갖 법률 용어로 뒤덮인 문서를 들이밀었고 저들끼리도 개처럼 싸웠다. 내 의사는 아무도 중요하게 생각하지 않았다. 나는 깨어있는 순간에도 악몽에 시달렸다. 장례식 날 몸을 뒤덮었던 통증이 종종 다시 살아나 나를 끝없이 잘게 조각내었다.
 B를 죽여야겠다. 그런 생각이 숨 쉬듯 자연스럽게 떠올랐다. 부모님이 죽었으니 B도 죽어야 공평한 것 같았다. 분노는 맥락 없는 비약을 논리로 만든다. 주방에서 식칼을 골라 칼집을 빼고 신문지를 채운 가방 속에 넣었다. 큰집은 아버지를 따라 몇 번 가 본 적이 있었다. 옆 동네의 주공 아파트. 택시로는 20여 분. 머리가 식기에는 모자란 시간이다. 나는 기어코 집에 찾아가 초인종을 눌렀다. 이 시간에 어쩐 일이니? 의아한 표정으로 문을 열어준 큰어머니 뒤로 큰아버지가 반갑게 목소리를 높였다. 어어, 우리 조카님 왔네! 들어 와. 춥지? 커다란 손에 떠밀려 안으로 들어오자 따듯한 음식 냄새가 훅 끼쳤다.
 “밥은 먹었어?”
 힘겹게 고개를 저었다. 큰아버지는 특유의 사람 좋아 보이는 웃음을 지어 보였다. 저녁 먹고 가. 그러면서도 왜 굳이 여기까지 찾아왔는지 살피는 기색이었다. 나는 머뭇거리는 척 뜸을 들이다 입을 열었다.
 “그, 말씀하셨던 거 있잖아요. 미성년 후견개시…”
 그의 눈이 짐승처럼 반짝인다. 할 수만 있다면 아마 군침도 삼켰을 것이다.
 “…생각해 봤는데, 역시 큰아버지 말씀대로 하는 게 좋을 것 같아서요.”
 남자는 징그러울 만큼 활짝 웃었다. 잘 생각했다고, 몇 번이고 내 어깨를 두드렸다. 큰어머니도 한껏 누그러진 목소리로 잠깐 기다리라며 나를 소파에 앉혔다. 그들은 주방으로 들어가 식사를 준비하며 음모를 꾸미는 이들처럼 속닥거렸다. 내내 이 모든 상황을 껄끄럽게 쳐다보고 있던 B는 안절부절못하다 내 가방에 뭐가 있냐고 질문했다. 어색함을 모면하기 위해 굳은 얼굴로 애써 웃고 있었다. 어차피 걷힐 미소인데 헛수고였다.
 “궁금해? 자, 봐.”
 지퍼를 열고 칼을 꺼내자 B가 비명을 질렀다. 발버둥 치는 B를 잡아 찌르는 것과 동시에 귀 옆을 세게 얻어맞았다. 옆으로 이미터쯤 날아가 벽에 반대쪽 머리를 부딪쳤다. 큰아버지가 멱살을 잡아 흔들었다. 무언가 터진 듯 얼얼한 머리 위로 상스러운 욕들이 쏟아졌다. 새된 소리로 우는 B와 겁에 질린 큰엄마의 목소리가 들려왔다.
 “아가, 어떡해, 어쩌면 좋아……”
 좋겠다. 걱정도 해 주고. 그 와중에 그게 부러웠다.
 시야가 흘러내리고 이명이 세상을 뒤덮었다. 대자로 누워 빙빙 도는 천장을 보다 눈을 감았다.
1 1
Square

홈택스 11월 11일 장애관련 팝업

어제 (11월 10일) 밑도 끝도 없는 홈택스의 전자세금계산서 장애로 1시간+ 새로고침을 하며 누군가에게 "잠시 후"란 이것보다 몇배 더 긴 시간일 수도 있겠다는 시간의 상대성을 깨닫고 결단력있게 관련업무를 오늘로(11월 11일) 미뤄놨지.
오전 중 처리하려고 홈택스에 접속해보니 "현재 ... 원할하지 못해 현재 수정 조치 중에 있습니다".
헛!? 이게 말이 되나 싶어 살펴보니 메시지가 작성 시점인 어제의 "현재".
연 이틀 짜증나는 문서!
단어를 훑으며 시제를 파악해야하는 문서를 만들었다는 것도 웃기고, 
어제 장애로 인해 매우 불편했고 대충 대충 작성한 장애 처리 문구로 더욱 짜증났었는데 이거 설마 아무 언급도 없이 넘어가는거냐? 공지에도 아무 글도 없고 심지어 장애 사실조차 안남아있네....
이거 혹시... 공지로 작성하면 기록이 남으니까 항상 팝업으로 대충 떼우고 있었던거 아녀??
그러고보니 올해 초 시스템 도입 이후 지금까지 장애나 사고에 대한 고지가 하나도 없구나?
없어도 되는거 맞나?
이상한거 같은데?
다른 정부 시스템과 서비스도 이렇게 문제나 장애에 대해서 공개 기록없이 운영되고 있나?

거지같은 팝업 문구 캡처나 하자는 마음이었는데 이거 좀 알아보고 싶어지네.

하지만 결론은 여전히 나에게 불편함을 주고 있어.. 돈내고 쓰는거면 당장 갈아치웠을꺼야.
1 0

우분투 몽고DB 설치 및 부팅 시 자동 실행 - Install MongoDB on Ubuntu & Start MongoDB on system start

설치는 매우 간단하고 MongoDB 공홈에 최신 버전으로 갱신된 문서가 있어 해당 페이지를 참고하면 된다.
공홈 설치 문서 링크:

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
GPG Key
리스트파일 생성 (16.04. 기타 버전은 공홈 참조)

패키지 디비 갱신
MongoDB 설치

근래의 대부분의 배포본은 Upstart  대신 Systemd를 사용하기 때문에 위와 같이 설치된 MongoDB 역시 init 스크립트를 제공하지 않는다.
service 커맨드로 시작, 중지, 재시작 등의 관리가 가능하나 systemctl 커맨드를 익히는게 바람직하다고 본다.
systemd 를 사용해 MongoDB 를 초기 실행 시키기 위해 다음의 파일을 작성한다.
/etc/systemd/system/mongodb.service

Unit 섹션의 Description 은 서비스에 대한 간단한 설명을 포함한다.
같은 섹션의 After 는 네트워크 연결 후 구동하겠다는 의미
Service 섹션의 User 는 서비스 실행 사용자를 지정하고 ExecStart 는 실제 구동 커맨드를 입력한다.
Install 섹션의 WantedBy 는 실행 타깃을 구분하는데 multi-user.target 은 기존 런레벨 2,3,4 로 일반적인 부팅 시에 동작된다.
구동
상태 확인
정지
부팅 시 실행
systemd 의 target 에 대해 보다 자세히 알고 싶다면 아래의 링크를 참조.
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Targets.html
systemd 에 대해 보다 자세히 알고 싶다면 아래의 링크를 참조
http://lunatine.net/about-systemd/
0 0
Square

Reason why I chose Nightmare over phantomjs, casperjs, selenium and ...

테스트용이 아니라 자동화, 스크랩핑(automation, scraping) 용도로 헤드리스 브라우저 - headless browser: 그래픽 인터페이스가 없고 프로그래밍으로 컨트롤 가능한 브라우저 - 를 살펴보고 있는데 종류도 많고 문서 읽어보면 각각의 장점도 분명해서 선택이 어렵다.
이럴땐 사용자도 많고 소스도 오랜시간 검증된 안전한 선택이 좋겠다.
하지만 ㅋㅋㅋ 결론적으로 이번 플젝에 Nightmare 를 선택한 이유는..
Nightmare 공홈이 너무 귀여워서 ㅋㅋㅋㅋ
ㅋㅋㅋ 개귀염
phantomjs 를 엔진으로 쓰다가 2배가량 빠르다는 Electron 으로 엔진을 교체했다는 솔깃한 얘기는 덤.
콜백지옥을 경험하지 않아도 되는 코딩 스타일도 덤.
react 로 작성된 웹페이지와 같이 특정 노드를 대기할 수 있는 메소드가 있는 것도 덤.
- 끝 -
http://www.nightmarejs.org/

http://www.seleniumhq.org/

http://casperjs.org/
http://phantomjs.org/
https://electron.atom.io/

https://github.com/dhamaniasad/HeadlessBrowsers [헤드리스 브라우저 리스트 - outdated]

https://en.wikipedia.org/wiki/Headless_browser [헤드리스 브라우저 위키]
4 5
Square

5년전에 알았더라면 싶은 서비스와 스타트업에 대한 5가지 생각

내가 대중 음악 산업에 종사하던 90년대에 신인가수의 홍보기간은 암묵적으로 3개월이었다. 음반사나 기획사의 경제력에 따라 달라지지만 공중파 음악프로그램 1회~4회 출연이 가질 수 있는 모든 기회였다. 라디오나 공개방송은 공중파 출연을 위한, 홍보를 위한 홍보일 뿐.
오늘날 좋은 서비스는 반드시 무상으로 홍보된다. SNS든 메신저든 입소문이든 반드시 홍보된다. 반드시.
3개월 이상 양적 성장이 없었다면 앞으로도 없을게다.
후속곡을 들고 나오던지 리믹스를 하던지 뭐라도 해야 그나마 생명연장이 가능할게다.
문제를 해결하는건 제품이지 돈이 아니다.
돈으로 해결될 문제였다면 나에게 기회는 없다.
스타트업이 돈으로 해결할 수 있는건 단 하나. 멋진 사무실과 있어보이는 책걸상 뿐이다. 세.. 세가지네
투자자/투자사의 자본과 투자 금액, 경력과 포트폴리오. 전문 산업 분야와 네트워크. 적어도 지금은 나와 무관한 자원이다.
투자자의 관심이 내가 다루고 있는 문제와 얼마나 맞닿아있는지가 유일한 선택 기준이어야한다.
관계없다고? 풍부한 네트워크와 자본을 내가 이용하는 효율적인 관계라고?
내가 이용당하고 있을 뿐이다.
3개월이 열두번 반복돼도 성공은 보장되지 않는다.
남는건 사람과 경험.
그 중 끝까지 믿을 수 있는 사람과 온전히 얻을 수 있는 경험은 자기 자신과 자신의 경험 뿐이다.
허투루 실패하지 말자. 내 제품의 문제도 못찾는다면 어떤 문제를 해결할 수 있겠는가.
말이 필요한가? 문제가 입과 문서로 해결될 수 있었다면 애초에 문제가 아닌게다.
제품없이 말하지말자. 제품으로만 말하자.
1 0
Square

디저트

35세 평범한 회사원 '그'는 오늘도 회사에서 밤을 새야할 판이였다. 며칠째 야근 중인 그는 한숨을 쉬며 키보드만 치고 있었다. "아.. 망할.." 금세 졸음이 밀려온 그는 캔커피를 사러 밖으로 나갔다.
"지긋지긋한 핫X스.." 그는 웬수같은 캔커피 자판기를 보며 눈을 한껏 찌푸렸다. 아침에도 커피, 점심에도 커피, 저녁에도 커피라니! 그러다 카페인으로 죽을 것만 같던 그의 눈에는 옆건물 작은 카페가 보였다
매일 공사를 한답시고 그가 타자를 칠 때마다 머리를 울려대던 막 새로 개업한 카페였다.
'이런 캔커피나 먹지말고 다른 것좀 먹어볼까..'
푸짐하고 든든하게 먹을 수 있는 상황이 아니었던 그는 가볍게 옆 건물 카페로 가보았다.
"디저트 카페는 뭐야..카페면 그냥 카페지.."
그는 간판에 써져있는 디저트 카페라는 글자를 보고 크게 중얼거렸다. 매일 야근만 해보니 나오는 예민한 성격이였다. 그는 메뉴판에서 핫초코와 고구마 조각 케이크를 보았다. 시골에서 자라왔던 그는 유독 고구마 케이크가 입에 맞을 것만 같은 생각이 들었다. 카페 깊은 구석에서 노트북을 들고 문서 작성하던 그는 벨이 울리는 소리에 급하게 뛰어나갔다.
"와아."
따뜻한 핫초코와 고구마 조각케이크를 한참 보고 있었다. 그는 아주 조금 기대를 하며 고구마 조각케이크를 잘랐다. 푹신하고 매우 부드러운 고구마 케이크는 자르자마자 가루가 조금씩 부스러졌다. 맛도 제법 고구마 같았다. 어쨌든 그것이 맛이 있든 말든 며칠때 캔커피로 때운 그에겐 케이크는 천사만 같았다. 그는 케이크를 더욱 즐기고 싶은 마음에 오래 곱씹었다.
고구마 케이크 한조각에 퍽퍽해진 입을 달래려 달짝지근한  핫초코도 살짝 들이켰다. 입천장이 뜨거워지며 푸근한 느낌이 들었다. 저절로 '캬' 소리가 났다.
 그는 다시 회사로 돌아갔다.
터덜터덜 걸어가면서도 머리는 개운했다.
'내 새끼 잘있나..'
그는 전화를 걸었다.
'뚜르르ㅡ르르'
"여보세요?"
"어...미안..오늘도 들어오긴 글렀어.."
"괜찮아! 얼마 안 남았다구."
"부장 빼고 다 야근할 거야."
"그보다 하윤이는 자?"
"자는구나.."
"여보, 사랑하고 내일은 꼭 퇴근할게."
"갈비찜 먹고싶어. 부탁해~"
뚝.
'이게 소소한 기쁨이다.'라고 그는 느꼈다.
그저 한잔의 핫초코와 한조각뿐인 케이크,
그리고 가족과의 따뜻한 전화로 그는 엄청난 응원이 된 것이다.
그는 의자에 앉으며 말했다.
"다들 오늘 밤도 잘해 봅시다!"
1 3

페이스북 임베드 URL,
소셜 플러그인 (XFBML) 파싱

임베드 대상 페이스북 콘텐츠는 "포스트", "비디오", "사진" 이렇게 종류별로, 웹과 모바일에서 각각 URL 형식이 조금씩 달라 프로그램으로 이를 처리하기 위해 동일한 형태의 주소가 필요하다.
SDK를 사용해 페북 컨텐츠를 임베드하는 경우 기준이 되는 URL 은 웹용 URL 이다.
뭐, URL은 딱보면 알겠지만 fbid 라는 고유ID만 빼오면 된다. 
모바일에서 포스트에 대한 주소만 URL 파라미터로 처리되어 있고 나머지는 전부 URL Path에 포함되어 있으니 아래와 같은 정규식으로 fbid부터 발라내자
정규식은 Ruby 2.x 버전에서만 동작을 확인했지만 look-behind 와 look-ahead 외에 정규식 엔진을 타는 내용이 없기 때문에 동작이 안된다면 그 부분만 수정하자.
사실 효율을 생각한다면 저딴 정규식으로 한방에 fbid 를 뽑는 것 보다 fbid 가 파라미터로 존재하는 케이스를 분리시키고 나머지 정규식도 2회로 나눠 돌리는게 더 좋지만... 귀찮으니 한 줄로 하자.
상식적으로 fbid 만 뽑아내면 될 것 같으나 페북 임베드에 사용되는 URL은 사용자 아이디가 버킷 이름처럼 포함되어 있다. 문제는 모바일 URL에 사용자 아이디-문자-가 없다는 점.
이 문제는 페이스북의 짧은 주소 fb.com 을 사용해 해결할 수 있다. http://fb.com/<fbid>의 형식으로 리퀘스트를 보내면 해당하는 완성된 주소로 리디렉션 시켜준다. - 임베드 코드 생성 시 fb.com 을 그냥 쓸 수 있으면 좋을텐데 안되더라.
curl 로 리디렉션된 최종 URL을 뽑는 코드는 아래와 같다.
내가 쓰는 Typhoeus 에선 아래처럼 최종 URL을 받으면 된다. 
이렇게 얻은 URL 로 
위와 같은 XFBML을 사용해 임베드가 가능하다. 다양한 옵션은 페북 문서 확인.
Javascript SDK 를 사용하는 경우 SDK 가 로드된 후 FB 객체를 initialize 하면서 페이지에 있는 모든 XFBML 을 파싱할 수 있고, 이와 다른 타이밍에 추가적으로 XFBML 을 파싱해야하는 경우는 아래의 코드로 가능하다.
특정 엘레먼트만 파싱하려면
jQuery 로 돔을 잡아 파싱하려면
이렇게 파싱하면 컨텐츠가 임베드된다.