paypal이 얼마전에 language를 nodejs로 갈아탔다길래 방문해서 구경하다가 재밌는 것을 발견했다.


1. HTML 소스보기에 숨어있는 채용공고





2. HTTP HEADER에 숨어있는 채용공고





남이 짜놓은 소스에서 회사 욕하는건 간간히 보는 일이지만, 이렇게 채용공고를 걸어놓는 회사는 처음 보네요 ㅎㅎ

여러분 paypal이 사람을 구한다고 합니다 :D

저작자 표시 비영리 동일 조건 변경 허락
신고

'Life > 잡담' 카테고리의 다른 글

아이폰8을 지르다  (0) 2017.10.01
Chuwi Hi10 사용기  (5) 2016.04.02
윈도우10 시작버튼 먹통과 관련된 추측  (0) 2015.11.07
paypal의 숨은 채용공고  (0) 2015.11.01
일본 간사이지방 - 2015 가을여행  (0) 2015.10.24
직구한 아이폰6s, 휴대폰보험 가입되나?  (2) 2015.10.12
아이폰6s를 지르다  (4) 2015.09.24

PHP의 strtotime을 이용하여 이전 달, 다음 달 등의 월 정보를 가져오는 로직을 사용하다가 발견한 이슈입니다.


현재 날짜: 2012-10-31

 

echo date('Y-m-d', strotitme('-1 month'));

기대결과: 2012-09-30

실제결과: 2012-10-01

 

echo date('Y-m-d', strotitme('+1 month'));

기대결과: 2012-11-30

실제결과: 2012-12-01


이는 기준 일자보다 추출 대상의 일자가 적을때 +-1 day가 추가적으로 계산되면서 발생됩니다.


php 공식사이트 이슈리포트에 보면 많은 이들이 이슈제기를 했지만,

버그가 아니기때문에 다른 방법으로 사용하라고 명시하고 있더군요.


그래서 저는 다음과 같은 커스텀 펑션을 하나 만들어서 우회 사용하고 있습니다.


/**

 * php strtotime month 사용과 관련한 이슈 우회처리

 * @param sTime     string      date/time string

 * @param iTime     int         unixtimestamp

 */

function strtotimeMonth($sTime, $iTime=null)

{

    if (is_null($iTime) === TRUE || is_int($iTime) === FALSE) {

        $iTime = time();

    }

    $sTransDay = date('d', $iTime);

    $sLastDay = date('t', $iTime);

    if ($sTransDay == $sLastDay) {

        $iResTime = strtotime('last day of ' . $sTime, $iTime);

    } else {

        $iResTime = strtotime($sTime, $iTime);

    }

    return $iResTime;

}


저작자 표시 비영리 동일 조건 변경 허락
신고

O

정상 

X

alert에서 아니오 선택시 페이지 오류 발생 

alert에서 아니오 선택시 해당 이미지만 미출력 


* 테스트 내용
mainpageimgie6ie7ie8ie9ffchromesafari
일반
& 팝업
httphttpOOOOOOO
httpsOOOOOOO
httpshttpOOO
httpsOOOOOOO
framesethttphttphttpOOOOOOO
httpsOOOOOOO
httpshttpOOOOOOO
httpsOOOOOOO
httpshttphttpXXXXOOO
httpsXXXXOOO
httpshttpOOO
httpsOOOOOOO
iframehttphttphttpOOOOOOO
httpsOOOOOOO
httpshttpOOOOOOO
httpsOOOOOOO
httpshttphttpXXXXOOO
httpsXXXXOOO
httpshttpOOO
httpsOOOOOOO
framset
+ iframe
httphttphttpOOOOOOO
httpsOOOOOOO
httpshttpOOOOOOO
httpsOOOOOOO
httpshttphttpXXXXOOO
httpsXXXXOOO
httpshttpOOO
httpsOOOOOOO

저작자 표시 비영리 동일 조건 변경 허락
신고
  1. BlogIcon 청음 2012.09.05 11:29 신고

    역시 IE가 제일 멍멍이판이군요;

    • BlogIcon 꼬마얀 2012.09.10 18:32 신고

      그나마 다행인건 제일 골치아픈 ie6의 점유율이 상당히 줄어들었다는 겁니다 ==;

네이트(싸이월드)가 내 개인정보를 대충 관리하다가 대박으로 유출해버린 이후로 가뜩이나 잘 쓰지도 않는 놈이었지만, 그 이후로는 완전 손을 끊고 있었는데 어느날 들어가서 내 다이어리들을 백업하려고 보니까 백업기능도 제공하지 않더라.


고민하던 끝에 찾아보니 네이트에서 제공하는 API가 있길래 뚝딱뚝딱 만들어놓고 내친김에 공개까지 합니다.





* 바로가기http://dev.m-yan.net/cyworld


* 사용방법

1) 좌측 상단의 '싸이월드 로그인' 버튼을 통하여 싸이월드에 로그인

2) 좌측 중앙의 '목록 가져오기'를 통하여 다이어리의 목록을 가져온다

3) 페이스북으로 보내려면 '페북 로그인'을 통하여 페이스북에 로그인한후, 노트나 뉴스피드로 보내기

4) 클립보드에 저장해서 복사/붙여넣기를 통하여 PC에서 메모장같은걸 열어서 내 PC에 저장도 가능


--------------------


개인정보 유출같은건 저도 무지 민감한 편이라

서버에서는 일체의 내용도 저장하지 않고 있으니 이 점은 안심하셔도 됩니다.

저작자 표시 비영리 동일 조건 변경 허락
신고
  1. 냐랑냥 2012.06.21 15:20 신고

    정말 좋은 프로그램인데요 ㅜㅜ커플다이어리도 백업 가능하게 만들어 주시면 안될까요??
    아니면 관련 소스 주시면 제가 수정해볼게요 ㅜㅜ

    • BlogIcon 꼬마얀 2012.06.28 23:38 신고

      아, 커플다이어리는 가져오기가 안되나보군요;
      개인 다이어리는 정상적으로 잘 되시는지요?

      커플다이어리 부분은 네이트쪽에 한번 문의해보겠습니다 ^^

  2. dex 2012.07.09 21:26 신고

    다이어리 목록에서 불러오기까지는 되는데, 오른쪽 다이어리 내용에서 클립보드 저장에서 다이어리 내용 가져오기가 안되네요;;

  3. cryofrain 2012.07.17 13:54 신고

    'dex' 님과 같은 증상이네요. 다이어리의 글들이 너무 많아 일일이 옮기기는 힘든데... 꼬마얀님 다시 한 번 부탁드립니다. 다이어리 옮기면 싸이는 탈퇴합니다. ^^ 그럼 수고하세요.

    • BlogIcon 꼬마얀 2012.07.19 14:30 신고

      네이트측에서 오류 발생시 오류 문구가 출력되는 방식으로 변경해두었습니다.
      재시도해보시고 오류 문구가 출력된다면 해당 오류 내용을 알려주시면 감사하겠습니다.

  4. cryofrain 2012.07.20 22:33 신고

    지금은 너무 잘 되고 있습니다. 감사합니다. 글이 너무 많아서 며칠은 정리를 해야겠네요.
    제 개인정보도 유출되고 탈퇴 결심을 했는데 꼬마얀님 덕분에 이제서야 이루겠네요.
    본격적인 무더위에 건강 조심하시고, 다시한번 감사드립니다. ^^

    • BlogIcon 꼬마얀 2012.07.26 09:55 신고

      저도 사실 개인정보 유출때문에 탈퇴시키려고 하다가 만들게 되었는데, 아직 프로그램이 불안정해서 테스트하는것땜에 탈퇴를 못 하고 있네요 ㅎㅎ

      문제없이 잘 옮기셨다니 다행입니다 :)
      좋은 말씀감사합니다~

  5. ㅎㅎ 2012.08.12 23:18 신고

    너무너무감사해요 ㅠㅠㅠ 지금다이어리 다 받았네요 ..ㅎ
    커플다이어리는안되는듯하지만뭐.. 상관없죠 깨지는마당에 ㅠㅠ
    감사해요 정말 복받으실거에요 ^^ 하시는일마다다잘되시기를

  6. 궁금 2013.10.15 08:38 신고

    어제는 잘 되었는데, 오늘 다시 작동시켜보니 ERR 40 : 과도한 요청입니다. 잠시 후, 다시 시도해 주세요. 에러가 지속발생될 경우 다음 날 다시 시도해 주세요. 라는 메세지가 나타납니다.... 컴퓨터를 재부팅해도 안 되네요... 어떻게 하죠??

    • BlogIcon 꼬마얀 2013.10.26 16:33 신고

      1일별로 싸이월드에 요청할 수 있는 횟수가 제한되서 그렇습니다.
      다른 이용자분께서 과도하게 요청하셔서 그러니 다른 날짜에 재시도하시면 정상적으로 되실겁니다.

  7. poppyred09 2013.12.02 13:52 신고

    ERR 40 : 과도한 요청입니다. 잠시 후, 다시 시도해 주세요.
    이메세지가 떠서 내일 이어서 하려고 하는데, 제가 다이어리 수가 1233개라서 그중에 390개까지 했고
    391번째부터.. 해야하는데.. 여기서부터 하는 방법이 있을까요? 날짜를 지정할수 있는 기능이 따로 없어서요.

    • BlogIcon 꼬마얀 2014.01.28 18:59 신고

      제 싸이가 글이 얼마 없다보니 만들때 그런 부분에 대한 생각을 못했었네요 ==; 내용확인해보고 개선할 수 있도록 하겠습니다.

  8. ㅇㅇ 2014.01.01 21:04 신고

    40개까지 하니까 오류가 나네요ㅠㅠ 왜 더 안불러와지는거죠...ㅠㅠㅠㅠㅠ

    • BlogIcon 꼬마얀 2014.01.28 19:00 신고

      싸이월드쪽에 하루에 요청가능한 갯수가 정해져있는데, 다른 분들과 공유되다보니 다른분이 많이 요청하셨으면 그 날은 더이상 사용을 못하게 되십니다 ㅠㅠ

  9. daniel bm 2014.05.01 16:06 신고

    목록불러오기도 안되고 다 안되네요 ㅠㅠ 일기장 정말 ㅠㅠ 소장하고픈데요

  10. EJ 2014.09.10 23:49 신고

    안녕하세요, 싸이월드 다이어리 백업 보고 검색했다가 포스팅하신 게 나와서 글 남깁니다.

    http://helpdesk.nate.com/notice/cyworld/view.asp?id=3944&num=0
    여기 링크로 싸이 다이어리 백업하려니 잘 안되서, (다이어리 사용상태로 바꾸라고 뜹니다 ㅠㅠ)
    고객센터 찾아보니 우연찮게 open api 주소가 '14. 9. 4. 일자 이후로 바뀌었다고 하더라구요.
    그래서 혹시 그 주소가 바뀌면 백업이 가능할까 하여 글 남깁니다.

    번거롭게 하여 죄송합니다 ㅠㅠ

    • BlogIcon 꼬마얀 2014.09.21 14:47 신고

      제가 먼저 확인해보고 조치했어야했는데,
      불편드려 죄송합니다.

      API URL 변경하여 정상적으로 작동하는 것 확인하였습니다

  11. 아리엔 2014.10.28 16:38 신고

    아... 싸이 다이어리 백업방법 찾다가 발견해서 지금 백업 잘하고있습니다! 넘넘 감사합니다.
    얼마전에 제 친구가 감사하다고 메일까지 보내놓았다고 하더군요.. 하하..
    근데 혹시 다이어리갯수가 1000개가 되는데... 항상 처음부터 불러와야해서 양이 감당이 안되네요..
    무료로 쓰는 입장에서 민망하지만 혹시 날짜 선택이 가능하다거나 그런식으로는 많이 불가능한 개발일까요?
    그저 궁금하여 여쭤봅니다 ㅠ 감사합니다 :)

    • BlogIcon 꼬마얀 2014.11.20 17:47 신고

      무료라서 그렇게 만들어진건 아니고, 싸이월드쪽에서 그런식으로밖에 연동을 하지 못하게끔 제한을 둬서 그렇습니다.

      저도 꽤 불편하다고 생각하는데, 싸이월드쪽에서 제한을 풀어주지않으면 개선이 불가능하겠더라고요 ㅠ

  12. 지나가다 2015.09.12 14:04 신고

    정말 감사한 기능인데요ㅠㅠ
    총 300개까지 밖에 로드가 안되고...
    선택이 되는 것이 있고 안되는 것이 있는데 왜 그런가요ㅠㅠ
    싸이월드 방명록 등등 닫는다고 백업하다가 다이어리도 찾아보는 중이예요ㅠㅠ

  13. 이미아 2015.09.15 03:08 신고

    다이어리 수가 많아서 불러오기 자꾸눌렀는데 110번 이상되니까 과도한요청이라고 더 못누르네요 ㅜㅜ 이제 더 저장 못하는건가요??아니면 시간지나면 다시 요청수 0으로 되서 가져오기가능한가요??

    • BlogIcon 꼬마얀 2015.09.19 14:45 신고

      싸이월드쪽에서 제한을 거는것이며, 대체로 다음날 되면 정상작동 가능합니다.

안드로이드 ICS 에서부터 사용가능한 chrome 브라우저에서 띄우는 페이지에 대하여

데스크탑에서 사용하던 개발자도구를 사용할 수 있는 방법


필요사항

 - 안드로이드 SDK (http://developer.android.com/sdk/index.html)

 - 데스크탑용 크롬 브라우저 (https://www.google.com/chrome)



진행과정

1) (안드로이드폰) 크롬 브라우저에서 메뉴 버튼 => 설정 => 개발자도구 => USB 웹디버깅 사용에 체크

2) (데스크탑) cmd 창을 띄우고 SDK 가 설치된 곳으로 이동하여 다음 명령어 실행

  adb forward tcp:9222 localabstract:chrome_devtools_remote

3) (데스크탑) 크롬브라우저에서 주소창에 다음 주소를 입력

   localhost:9222

4) 원하는 페이지를 선택하여 디버깅 시작. 우왕 굿 ㅋ




출처: https://developers.google.com/chrome/mobile/docs/debugging?hl=ko-KR

저작자 표시 비영리 동일 조건 변경 허락
신고

회사에서 모바일용 사이트를 만들면서 황당했던 문제인데, 생각난 김에 정리해볼까 합니다.

아이폰(ios)에서는 발생되지 않는 문제이며 안드로이드 os 에서만 발생됩니다.

이외에 타 os는 테스트용 기기가 없어서 확인해보지 못했네요.


이 문제는 absolute 레이어로 페이지를 구성했음에도 하위 레이어의 엘리먼트가 터치 이벤트를 가로채는 현상입니다.

백문이 불여일견이라고 아래 스샷을 보면 이해가 쉬울겁니다.





이미 구글 안드로이드 포럼(링크)에 기재되어 있는 버그이나 아직도 수정되진 않았네요 -_-^


버그수정전까지는 웹 개발자가 임시방편을 취할 수 밖에 없는데요.

상위 레이어를 띄울때 하위 엘리먼트들을 hidden 처리해주어야 합니다.

이렇게 하면 하위 엘리먼트가 터치 이벤트를 가로채는 현상을 막을 수 있습니다.


저도 현재까지는 이 방법밖에 찾지못했네요. ==;

혹시라도 더 좋은 방법을 알고 계신분이 있으면 댓글남겨주세요 :)

저작자 표시 비영리 동일 조건 변경 허락
신고
  1. momo 2012.08.21 22:42 신고

    아 나도 이거땜에 미쳐버림 ㅠㅠ
    모바일로 접속을 안해봐서 몰랐는데 모바일 페이지 다시 만들어야할듯.

    • BlogIcon 꼬마얀 2012.08.22 21:32 신고

      레이어가 뜰때 하위 엘리먼트를 다 hidden 처리하는 편법으로 어느정도 땜빵가능함 ㅡㅡ

      jquery mobile 사이트 참조하면 모바일 쉽게 만들 수 있다

업무중에 필요에 의해 윈도우 환경하에서 xampp를 세팅하여 로그를 보고 있는데,
메모장으로 로그파일을 열어놓고 새로고침을 하고 있자니 내가 뭐하고 있는가 싶더군요 -__-

그래서 구글에 찾아보니까 쓸만한 프로그램이 있기에 정보공유차원에서 올려봅니다.

프로그램 설치후 실행을 하면 다음과 같은 창이 보이고 원하는 로그파일을 열면 리눅스에서 tail을 한 것과 동일하게
로그파일을 확인할 수 있습니다.


설명이 굳이 없는 프로그램이기에 다운받아서 그냥 설치만 하면 됩니다 :)

* 공식홈페이지: http://tailforwin32.sourceforge.net/

저작자 표시 비영리 동일 조건 변경 허락
신고



마켓을 돌아다니다가 신기한 놈을 발견했습니다.
제목에서 유추할 수 있듯이 안드로이드 폰에서 앱 개발을 할 수 있게끔 해주는 IDE 입니다.
막상 사용해보니까 화면이 좁은 핸드폰에서보다는 타블렛에서 좀 더 유용하게 사용할 수 있을듯 합니다.

하지만, 폰에서도 간단히 소스를 구동해본다거나 디버깅을 할 때 사용할 수 있어
개발자라면 한번쯤 써보는 것도 나쁘진 않을 것 같네요.

하단의 URL을 통하여 구글마켓에서 설치가능합니다 :)

https://play.google.com/store/apps/details?id=com.aide.ui&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5haWRlLnVpIl0.
저작자 표시 비영리 동일 조건 변경 허락
신고
아는 분들도 많을테지만, CURL 관련해서 2가지를 적어볼까 합니다. 

1) TIMEOUT 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $sUrl); 
curl_setopt($curl, CURLOPT_USERAGENT, 'CURL request'); 
curl_setopt($curl, CURLOPT_TIMEOUT, 5); 
if($method == 'post') { 
    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $aReq); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$sRes = curl_exec($curl); 
$sHttpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); 
curl_close($curl); 


위는 CURL 을 요청소스입니다. 

TIMEOUT 옵션을 대부분 1개만 사용중이실텐데, 
명확한 처리를 위해서 CURLOPT_CONNECTTIMEOUT 옵션을 추가해주시면 좋습니다. 

CURLOPT_TIMEOUT => curl 실행에 대한 timeout 
CURLOPT_CONNECTTIMEOUT => 서버연결에 대한 timeout 

----------------------- 

2) POST 방식전송시 유의사항 

POST 방식으로 전송시 위 소스에서처럼 array형 변수를 넘겨도 PHP에서는 정상적으로 받아서 처리하지만
jsp등 다른 언어에서는 처리가 되지않는 경우가 있습니다. 

단순히 array로 넘기게되면 Multipart/form data 로 전달되게 되기때문에, array형 변수를 그대로 넘기기보다는 http_build_query 함수등을 통하여 쿼리스트링형태로 변환하여 전달해주시는게 좋습니다.
저작자 표시 비영리 동일 조건 변경 허락
신고


PHP 함수중에 파일의 수정일자를 가져올 수 있는 filemtime 라는 펑션이 있는데,
이걸 활용해서 파일의 수정일을 체크하는 놈을 하나 만들었는데 계속 오동작 하더군요.

이상하다싶어서 공식사이트에 들어가서 검색해보니 다음과 같은 문구가 덩그러니...

The results of this function are cached.


헐...  -________________-

해당 캐쉬결과는 clearstatcache 함수로 날릴 수 있더란... 사실!!
캐쉬를 날리니까 문제가 해결.

괜한 뻘짓했네..; 
저작자 표시 비영리 동일 조건 변경 허락
신고
1

+ Recent posts