수정 삭제 메뉴

지하철

이 글은 계정이 없는 손님이 작성한 글입니다.
* 시스템에 의해 이유없이 삭제될 수 있습니다.
* 글의 작성자라면 다음과 같이 관리가 가능합니다.
- 씬디 계정이 있다면 "소유권 주장" 클릭
- 계정이 없다면 "소유권 주장 및 계정만들기" 클릭

지하철은 타이밍

운 좋으면 앉을 수 있겠고

운이 없으면 서서 타겠지

난 운이 없는사람들을 위해

항상 서있어 주겠지

어디서 왔지?
[["synd.kr", 3], ["unknown", 14]]
다른 글들
1 1

지하철

그 안에서
우리는 서로에게 무관심한 듯
시선을 돌리지만
조금 멀리서 보면 어떨까?
철컹철컹
같은 박자에 맞추어 비슷하게 몸을 움직이고 
'다음 내리실 역은...'
들리는 소리에 같이 멈추고
다시 철컹철컹
한 방향으로 그렇게 간다
나와 다른 것 같은 너도
우리들과 다르게 보이려 한 껏 애쓴 너도
비슷한 춤을 추면서 
내릴 곳을 찾아 간다
그 안에서.
3 1

지하철

눈 밑과 어깨가 바닥에 질질 끌린다
올려놓고 다시 탈
퇴근길 1호선 신창행 열차
2 1
Square

독박육아

나를 두고 하는말
임신때도 바빠서 집에 많이 못와서
나혼자 태교하고
애낳을때도 타이밍 못맞춰서 나혼자 낳고
애낳고도 집에 잘 못들어와서
나혼자 하루종일 애기보고
게다가 이제 주말만 집에 올수도 있다는데
이정도면 정말 독박육아.
0 0
Square

안드로이드 앱 업데이트

씬디는 원래 웹 버전이 베이스라 (아.. 시대착오적...) 초기부터 쓰시던 분들은 앱이 있는지도 모르실텐데 몇달전에 안드로이드만 우선적으로 (제가 안드유저라) 등록했었습니다.
저조차도 앱은 설치했지만 설치하고 보니 '당겨서 새로고침' 이 안되기에 뭔가 어색해서 안쓰고 있었죠.
그런데 간간히 안드 앱으로 사용자분들이 들어오시더니 급기야는 누군가 플레이스토어에 무려 리뷰를 남기신겁니다!!
화면 회전 시키면 첫페이지로 돌아간다는 오류 리포트를요.
엄청나게 짜증나는 오류일텐데 그걸 리뷰로 남겨주신 정성과 애정에 무한한 감사를 느꼈지만 과연 내가 언제 업뎃 작업을 할 수 있을까하는 걱정도 있었습니다.
그러다가 오늘 아침 드디어!!! 꽤 이른시간에 출근하게되어 상큼한 기분으로 풀충전되어있는 그 타이밍을 놓치지 않고! 앱을 업데이트했습니다.
회전 시 초기페이지 이동 오류와 '당겨서 새로고침' 을 추가했습니다.
혹시나 씬디 사용하시다가 오류나 버그가 아니여도 불편한점이 있거나 추가되면 좋겠다는 내용이 있으면 아무곳으로나 알려주세요.
씬디에 글로 써주시면 제일 좋구요.
사족)
당겨서 새로고침을 직접 구현하지 않고 안드로이드 SDK 에서 제공하는 SwipeRefreshLayout 을 사용해버렸네요.
구버전 호환성을 꼼꼼하게 확인하지 않았는데.. 업댓은 했으나 마음의 짐은 또 하나 생겼네요 ㅠ.ㅠ
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 로 돔을 잡아 파싱하려면
이렇게 파싱하면 컨텐츠가 임베드된다.
1 1
Square

[3분 복붙] 기사면 랜딩 PV 2배로 올리기.
브라우저 뒤로가기 제어.
이딴거 만들지 말자.

대부분의 서비스가 보다 많은 활동 사용자를 목표로 함은 분명하다.
하지만 얼마나 많은 활동 사용자가 있는지를 가늠할 수 있는 지표에 대한 목표설정은 좀 다른 얘기라고 생각한다.
심지어 그 목표의 달성을 위한 실현 과정이 사용자들을 열받게 만든다면 이 얼마나 근시안적 추태인지...
PV (Page View, 페이지 조회수) 에 대해 강한 집착을 보이는 국내 언론사들이 근래 "뒤로가기"가 실행되는 경우 이전 페이지로 보내지 않고 메인페이지로 이동되도록 하는 기능을 속속 도입하고 있더라. (좀 됐지.. 내가 잠수였던거지..)
사용자 입장에선 개빡치는 UX. 
그렇지만 남들이 한다니까 자기들도 해달라는 클라이언트의 등장은 당연지사.
해당 기능을 도입한 사이트들을 둘러보니 대부분 광고대행사 등이 제공한 스크립트를 사용하는 것 같더라.
메인페이지를 거치는 것도 짜증나는데 그 중간에 광고까지 껴있으니 개짜증..
이딴거 누가 안만들면 좋겠는데 일개 개발자가 뭘 할 수 있겠냐 고민하다가...
클라이언트에게 만들어준 간단한 스크립트를 모두에게 제공하고 너도나도 다들 도입해서 더 많은 사용자들이 더 빠르게 빡돌게 만들면 슬슬 이딴 쓰레기 같은 기능을 버리지 않을까라는 골때리는 결론에 도달했다.
0.
jQuery 를 사용하고 있다고 가정한다.
1.
아래의 코드를 기사 페이지 등 기능이 동작될 페이지에서 로드되는 js 파일에 추가한다.
3번 라인 정규식 패턴안의 synd\.kr 부분은 자신의 도메인으로 변경한다.
2.
기능이 동작될 페이지 HTML 코드 사이에 아래의 코드를 삽입한다.
완성!
코드는 단순해서 쉽게 이해할 수 있겠지만 몇몇 부분을 설명해보자면...
1. pushState 이후에 replaceState 를 다시 콜하는 이유.
pushState 만으로 history 를 조작할 경우 firefox 에서 백버튼이 골때리게 반복된다.
external > page > main > page > main > external
replaceState 를 다시 콜하면 아래와 같이 의도한대로 동작된다.
external > page > main > external
2. popState 이벤트를 사용하지 않고 hashChange 를 사용하는 이유
페이스북 앱 등 in app browser 를 사용할 때 해쉬가 없는 경우 뒤로가기 실행시 popState 이벤트가 발생되지 않음
해쉬를 추가해야 뒤로가기 실행 시 기존 URL (해쉬없는) 로 페이지 변화없는 이동이 발생하고 이 타이밍에 hashChange 가 콜 됨.
또한, Safari 9버전 이하에서 popState 가 지멋대로 fire 됨.
3. 이건 좀 쓸데없는 설명이지만 location.href 는 history 에 기록되고 location.replace 는 history 에 남지 않기 때문에 replace 를 사용해야함.
지원브라우저
웹이고 모바일이고 html5 history api 를 지원하는 브라우저 (http://caniuse.com/#search=history) 에선 기본적으로 모두 동작된다고 기대할 수 있으나 아이폰 크롬에서 동작안됨.
그 외 페이스북 앱 등 인앱에서 웹뷰를 사용하는 경우도 정상 동작.
Tested.
Microsoft Edge.
Microsoft IE 11.
Firefox 52.x (Windows)
Firefox 47.x (Linux)
Firefox 52.x (Mac)

Firefox 52.x (Android)
Firefox 6.x (iOS)
Chrome 57.x (Windows)

Chrome 48.x (Linux)
Chrome 56.x (Mac)

Chrome 57.x (Android)
Chrome 57.x (iOS) *동작안됨
Safari 10.x (Mac)
Safari 10.x (iOS)
Android 6 browser 4.x
Facebook App
자 이제 자리에서 일어나서 팀장이든 부장이든 상사에게 "저희 PV 를 2배로 올리겠습니다!" 라고 보고하고 보다 많은 사용자들의 빡을 돌려(?) 주삼. 
0 2

프로그래머 아내가 알아야 할 97가지.

라는 글이 문득 생각나서 노트를 찾아보니 있어서 공유.
1. 딱 떨어지는 숫자는 2진수입니다.
2. 한 손으로 31까지 셀 수 있음
3. 만능이 아님
4. "컴퓨터"를 잘 하는게 아님
5. 프로그래머라고 Office 시리즈에 정통한 것이 아님
6. 아, 그 작업은 사무쪽 누님이 잘하실 겁니다.
7. 가나 입력으로 변환한 다음에는 반드시 로마자 입력으로 돌려놓을 것
8. 프로그램의 쓰레기 수집은 잘 하지만 자기 방의 쓰레기 수집은 잘 못함
9. 멀티스레드 처리 작성은 할 수 있지만 멀티스레드 처리는 못함
10. Amazon 에서 사는 건 기술서이므로, 딱히 포장물 내용을 확인할 필요는 없음
11. 쌓아놓은 책은 스택이므로 순번을 바꾸지 말것
12. 오라일리 책은 「같은 책」이 아님
13. 표지에 동물만 그려져 있는 책만 꽂혀있어도 그건 동물도감이 아님
14. 프로그래밍을 안하는 날도 있음
15. 프로그래밍 언어나 에디터에 대한 집착이 사라진다면 깨달음을 얻었거나 완전연소했거나 둘 중 하나
16. 언어로 바람피우는 것과 인생의 바람피우기는 다른 것
17. 「자식을 죽인다」는 말에 놀라지 말 것
18. 일 관계로 전화를 할 때, 자식이 죽지 않으면 부모를 죽여버리라는 대화를 들어도 놀라지 말것
19. 라이브러리라는 것은 도서관을 말하는 게 아님
20. 「사이드 이펙트(부작용)」는 부정적인 의미로 사용하는 것이 아님
21. 특히 「다이아몬드 상속」은 유산상속같은 이야기를 하는 것이 아님
22. 괜히 보석 이름 같은 것을 중얼거려도 보석에 대해 잘 아는 것이 아님
23. 루비와 펄 중에 뭐가 좋아? 라고 물어보면, 싱긋 웃으면서 펄이라고 대답할 것
24. 「조금만 더하면」「거의 끝났어」라는 말이 나오기 시작하면 당분간 끝나지 않을 것이라고 생각할 것
25. 갑자기 혼잣말을 하기 시작해도 정신이 이상해진 것이 아님
26. PC 를 보고 있는 남편에게 말을 걸어도 되는 타이밍인지 아닌지 외견으로 판단하는 것은 포기하는 것이 좋음
27. 23-24시 정도가 가장 활발함
28. HP 는 항상 0에 수렴함
29. 회사와 집의 구별이 그다지 없고, PC 앞에 있는가 없는가의 구별 밖에 없음
30. 스스로가 정보수집과 오락의 경계선을 이해하지 못함
31. 몬스터헌터는 업무
32. 애니메이션 보는 것은 업무
33. 일을 하는 것처럼 보이지만 실은 인터넷을 하는 것 뿐임
34. 주말에도 스터디에 간다고 하는 것은 공부를 열심히 한다는 증거, 가사가 싫어서 그러는 게 아님
35. 한밤에 긴급전화가 왔다면, 다음날부터의 예정은 캔슬이라고 생각합시다
36. 밤중에 갑자기 사라져도 그냥 장애 대응하러 간 것임
37. 오전중에 돌아오는 일이 많아져도 바람피우는 것이 아닌지 의심하지 말것
38. 주말에만 사복으로 「출근」했다고 바람피우는 것이라고 의심하지 말 것
39. 결혼식장에서 신랑이 사라져도 당황하지 말것. 고객이 호출한 것 뿐임
40. 정시퇴근은 도시전설
41. 「귀가한다」「귀가할 수 있다」라는 말은 별 도움이 안됨
42. 10일 정도 돌아오지 않아도 당황하지 말 것
43. 감금같은 걸 당해도 빚이 있어서 그러거나 한 게 아님
44. 가끔씩 일찍 돌아와도 잘렸을 걱정은 하지 말 것
45. 여름 휴가 언제야? 라고 묻지 말 것
46. Twitter 의 post 빈도 감소나 내용에서 상대가 얼마나 바쁜지 추측해서 위로할 것
47. 화재나 행진같은 것에 트라우마를 갖고 있을 것
48. 남편 급여의 직능급과 기본급과 잔업수당의 비율
49. 노동기준법
50. OA 기기라고 적힌 우편물은 절대로 OA 기기가 아님
51. PC 나 휴대폰, iphone 에 패스워드 락이 걸려있는 것은 보안대책을 위해서. 바람을 핀다거나 야한 것을 숨기고 있는게 아니랍니다( ^ω^)
52. 컴퓨터는 이미 집에 있잖아, 라고 하지 마시길. 당신이 갖고 있는 구두나 가방과 같은 것입니다.
53. 한밤중에 컴퓨터로 동영상을 보면서 싱글거리고 있다면, 그것은 분명 Apple 의 신제품 발표이므로 신용카드를 몰수하는 것이 좋음
54. 스티브 잡스의 프리젠테이션이 있는 다음날 아침에 갑자기 개최되는 가족회의에서 제출하는 안건에 대하여 「다른 집은 다른 집이고 우리 집은 우리 집이야!」라고 기각할 것
55. 뭐가 뭔지 알수 없는 T 셔츠를 남편이 계속 가져와도 적당히 버리거나 하지 말 것
56. 컴퓨터 책상에 놓여있는 피겨나 프라모델은 버리지 말 것
57. 그것은 잡동사니도 부서진 물건도 아님
58. 키넥트를 사려고 하는 것은 유저 인터페이스 연구 때문에
59. 러브 플러스를 하는 것은 유저 인터페이스 연구 때문에
60. 사용자 경험(UX)인지 뭔지 하는 주제에 CUI 를 좋아함
61. LCD 가 달려있는 작고 비슷하게 생긴 기계를 잔뜩 갖고 있어도 전부 다른 물건이며 각자 의미가 있습니다
62. 동작검증을 하기 위해서는 신제품이 필요하며, 그것은 Amazon 에서 배달됨
63. 옥션 사용방법을 숙지하고, 남편이 사온 장난감을 팔아치워 용돈으로 씁시다
64. 생일 선물은 원하는 물건을 미리 말해두지 않으면 신제품 디지털 가전(Gadjet)을 받게 됨
65. 깜짝 선물을 준비하고 싶다면 남편의 Amazon 위시 리스트를 조사함
66. iPhone 앱, Android 앱, Web 사이트를 만들었다는 이야기를 들으면 뭐가 뭔지 몰라도 상냥하게 대답해줄 것
67. 쓸데없이 하이텐션으로 의미를 알 수 없는 소리를 지껄일 때에는 단순히 흥미 깊은 기술이 나와서 텐션이 높아진 것 뿐이므로, "잘 모르겠지만, 대단하다는 건 알겠다"라고 대답해주세요
68. 갑자기 이상한 어휘가 늘었다면 니코니코 동화같은 데애서 유행하고 있는 것이라고 추측하시길
69. 남편의 HN 과 본명을 이어보려고 해서는 안됨
     남편의 블로그의 과거로그를 음독해서는 안됨 
     남편의 HN 으로 검색해서 흑역사를 알아서는 안됨
70. 「우리 마누라가…」라고 했을 때, 그것은 프로그래머 사이에서 통용되는 전문용어입니다. 당신을 말하는 것이 아닙니다
71. 오타쿠라고 하면 필요 이상으로 싫어하지만, 긱(Geek)이라고 말하면 기뻐합니다
72. 침울해하고 있을 때는 「컴퓨터를 조작해서 ○○할 때 마우스를 쓰지 않고 키보드만으로 하려면 어떻게 해야해?」라고 물으면 기뻐하면서 가르쳐 줄 것입니다
73. 「시뮬레이션」이라고 말하면 혼나므로 주의할 것
74. 이상, 이하, 미만, 보다 위, 보다 아래를 대충 섞어쓰면 기분이 나빠짐
75. 프로그래머는 「절대로」「뭔가 이상해졌어」「아무것도 안했어」같은 말에 과잉으로 반응합니다. 홧병, 쇼크사, 자살의 위험성이 있으므로 이런 말을 사용할 때에는 세심한 주의가 필요합니다
76. 부부싸움할 때 최대의 무기는 화이트 보드
77. 어쩌다 아내의 방식에 불만을 표시하면 「그건 사양(仕様)이예요」라고 대답함
78. 남편이 이건 사양이라고 말하면 그 사양은 변경되었습니다 라고 대답할 것
79. 싸워서 꼭지가 돌아버렸을 때에는, 네트워크 회선을 끊어버리는 것이 가장 손쉽고 효과적으로 분노를 표현하는 방법입니다.
80. 가능하면 아내와의 대화를 자동화시키고 싶어 함
81. 아내에게는 사양 변경이 붙는 법
82. 홈 서버를 가리키면서 쓰지도 않는데 왜 항상 전원이 켜져 있는 거야 라고 묻지 말 것
83. 연락수단은 전화
84. Google Calender 에서 상대의 스터디 스케쥴을 파악할 것
85. 집안 예정은 남편이 지정한 그룹웨어로 공유할 것. 구두(口頭)로의 통지만으로는 위험
86. 남편이 해야할 것은 데스마치(죽음의 행진)이 아닌 여유가 있을 때 기억시켜두지 않으면 답이 없음
87. 가정 내의 중요한 스케쥴을 끼워넣고 싶을 때에는 마감 근처의 주말은 피합시다. 어차피 집에 못 돌아옵니다
88. 남편이 전문분야인 화제에는 신중하게 접근할 것
89. 친구 관계의 잡담을 할 때에는 상관관계도를 그려주면 이해가 빨라집니다
90. 단순히 이야기를 들어주기 바랄 때에서는 그렇게 명시할 것
91. 동의해주기 바랄 때에 분석되어 정론을 들어도 화내지 마시기 바랍니다
92. 요건은 항목별로 적어서 전하지 않으면 프로그래머 스스로가 버그를 냄
93. 밤생활이 불만이면 Redbull 을 내밀어봄
94. 정기적으로 자식들에게 이게 아빠야 하면서 사진을 보여주세요
95. 남편이 「프로그래머의 아내가 알아야 할 97가지」같은 걸 트윗해도 신경쓰지 말 것
96. 읽어보라고 한 97가지의 절반 이상이 뭔 소리인지 몰라도 어쩔 수 없음
97. 이러니저러니 해도 아내를 사랑함. 하지만「쪽팔려서 말 못해」라고 생각해서 말로 표현하지 않을뿐.
출처: http://d.hatena.ne.jp/tt_clown/20101218/1292609206
0 0
Square

안녕?

난 마틸다라고 해.
뻥이야.
아무말 대잔치 만세!
1 0

내뱉어버렷더라

한방울씩 흐른다.
한방울.아픔
한방울.후회
한방울.미안
결국 난오늘도
혼자 눈물로 아픔을 씻었다.
-by.눈물샤워
0 1

😐

처음이자 마지막 경고입니다 제 계정해킹해서 이상한 홍보글 올리지 마세요 아이피 역추적하기전에.
한번만더 짜증나게 하시면 인생하직 시켜드릴게요