<div>구글에서 이제까지 없었던 새로운 방식으로 구인공고를 냈습니다.</div> <div>다들 만우절에 겹쳐서 웃고 넘기고 말은거 같은데.. 구글맵에 포켓몬 마스터 잡는거 추가된거 다들 아실겁니다.</div> <div><br /></div> <div>ㅎㅎㅎㅎㅎ</div> <div><br /></div> <div>포켓몬 주인공인 지우가 피카츄를 델구 다니는건 다들 아시겠지만 사실 원래는 처음에 꼬부기를 원했습니다.</div> <div>근데 포켓몬 받던 날에 늦잠을 자는 바람에 오박사 손자 오바람이 꼬부기를 델고 가버렸지요...</div> <div>뜬금없이 이게 뭔 말이냐면.. 일어판 원작에서는 오박사가 늘상 일찍 일어나는 새가 벌레를 잡는다는 말을 합니다.</div> <div>즉, 구글은 항상 깨어있고 민첩하게 대응할 수 있는 전문 인력을 만우절을 맞아 진행하고 있는거였습니다.</div> <div><br /></div> <div>영상을 보시면.. 영어 되시면 영어로 보시고 일본어 자막도 지원됩니다.</div> <div>중요한 장면의 일부를 대충 해석하자면</div> <div><br /></div> <div>- 구글은 특별한 인재를 원하고 있었다.</div> <div>- 오늘, 새로운 잡(Job)을 발표한다.</div> <div>- 디지털 맵의 전문가로서 구글맵을 레벨업 하는 것.</div> <div>- 구글 맵의 테크놀로지를 이용하여 ・・・중략・・・ 채용시험을 준비하였다.</div> <div><br /></div> <div>완전 암호 해독 수준이네요 ㅎㅎ 나머지는 다 포켓몬 얘기의 함정이고요~ 위의 내용이 진짜 핵심입니다.</div> <div>즉 구글 맵 API나 SDK등을 최대한 활용하여 남들보다 빠르게 모든 포켓몬을 잡아보라는 말입니다.</div> <div><br /></div> <div> <div style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, 굴림">그리고.....</div> <div style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, 굴림"><span style="font-size: 9pt; line-height: 1.5"> <div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201404/1396331921l7NW14JuA.jpg" width="479" height="270" alt="12e858e7.jpg" style="border: none" /></div></span></div> <div style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, 굴림"><span style="font-size: 9pt; line-height: 1.5">이번 입사자에 한해 특전으로 이 명함 진짜로 준다고 합니다 ㅋㅋㅋㅋㅋㅋㅋㅋ 아놔..</span></div></div> <div><br /></div> <div>무튼 결론 먼저 말씀드리자면 이번에 구글이 원한 방식으로 과제를 올바르게 수행한 결과,</div> <div>아시아에서 4번째로 완료하여 2014년도 상반기 구글 입사가 확정되었습니다. ^^</div> <div><br /></div> <div>그 험란했던 과정은...</div> <div><br /></div> <div>먼저 수행과제.</div> <div>전 세계에 퍼저있는 포켓몬들을 잡아라!</div> <div>그것도.. 기한은 한국 기준 4월 2일 오후 7시까지...</div> <div> <div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201404/1396331971no7n8Z1mm5u.jpg" width="480" height="269" alt="843150fb.jpg" style="border: none" /></div></div> <div><br /></div> <div>결코 길지 않은 시간이며, 기한에 아슬아슬하게 맞춰 과제를 수행한다고 해도 더 빨리 끝내는 약빨고 코딩하는</div> <div>족속들이 있어서 심장이 빠운스빠운스 하면서 코딩을 해나갔습니다. 결과적으로 아시아 4번째, 세계 17번째로 끝내</div> <div>겨우 성공했는데요.. 아시아 담당자에게 슬쩍 물어보니 지역별 제한은 없으나 아마 세계기준으로 2~30명선이</div> <div>되지 않겠냐고 하더라고요. 글을 쓰고 있는 지금은 아마 정원이 다 차지 않았을까 싶습니다.</div> <div><br /></div> <div> <div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201404/1396332010kqfEerGE7SGH2Xd17zu2H4rHQ9.png" width="640" height="1136" alt="IMG_3498.PNG" style="border: none" /></div><br /></div> <div><br /></div> <div>잡설이 길었는데 ㅎㅎ 무튼 이렇게 긴박한 촌각을 다투는 무한 경쟁 구인공고에서 일일이 구글맵을 여기저기 찾아가며</div> <div>포켓몬을 잡고 있자니 이건 진짜 만우절 같은 일이 아닐 수 없습니다.</div> <div>즉, 일일이 지도를 뒤져가며 찾아선 안됩니다. 그러지 않아도 될 방법을 창의적으로 생각해 내는게 이번 과제의 의도입니다.</div> <div><br /></div> <div>그래서 제가 해결한 방법을 살짝 설명을 드리자면 ㅎㅎ</div> <div><br /></div> <div>방법 0. 백문이 불여일견. 일단 함 해봄.</div> <div>- 구글 맵(모바일)로 포켓몬 잡기를 시작하니.. 롯폰기힐즈의 연구소로 이동하여 근처의 서너마리를 잡았다. 야호!</div> <div>- 주변을 둘러보니 몇 마리가 더 있어서 잡았으나, 이대로는 얼마의 시간이 걸릴 지 모르는 상황.</div> <div>- 유명지를 몇군데 검색해본 결과 역 주변이나 공원(풀 계열), 호수(물 계열), 화산(불/용 계열)등에 자주 출몰한다.</div> <div>- 포켓몬 연구소가 있는 장소에는 특히 더 많이 있다. 예를 들면 Googleplex 같은 장소. 올 하반기면 여기로 고고~ 진짜 연구소 있을라나 ㅋ</div> <div><br /></div> <div>방법 1. 크롬에서 구글맵을 띄운 후 포켓몬이 나오나 확인해 봄.</div> <div>- 맥용 크롬이나 사파리를 이용하여 크롬 애플리케이션을 만들거나 사파리 확장기능을 만들어 자동으로 지도를 탐색한 후, 포켓몬 발견시 클릭!</div> <div>- 이 경우 확장기능 제작에 대략 3시간정도, 디버깅 30분 정도, 전세계 지도 탐색에 2시간 정도로 대략 6시간 소요 예상</div> <div>- 음... 모바일 앱에서만 포켓몬이 보이고 맥용 크롬이나 사파리에선 포켓몬이 안 보임. 윈도는 확인 못했으나 동일할 것임. ㅠㅠ 불가!</div> <div><br /></div> <div>방법 2. iOS용 모바일앱을 제작하여 포켓몬 레이더 만들기.</div> <div>- Google Maps API에는 적당한 Method가 없기에 패스!</div> <div>- Google Places API를 이용하여 각 지역의 장소 태그를 수집하여 그 중 포켓몬이 포함되어 있는지를 확인.</div> <div>- Google Places API를 iOS Device에서 이용하기 위하여 API Key를 발급받음.</div> <div>- 일단 포켓몬이 있는 장소로.. 포켓몬 연구소가 있는 롯폰기힐즈와 Googleplex의 좌표를 이용하였다.</div> <div><br /></div> <div>방법 2-1. Nearby Search Requests</div> <div>-
https://maps.googleapis.com/maps/api/place/nearbysearch/output?parameters 로 주변정보 검색을 함. (상세한 파라메터는 매니저가 공개하지 말라네요)</div> <div>- 결과 : 포켓몬 정보가 없다?! 1차 패닉</div> <div><br /></div> <div>방법 2-2. Place Details Requests</div> <div>-
https://maps.googleapis.com/maps/api/place/details/output?parameters 로 주변정보를 다시 검색해 봄. (상세한 파라메터는 매니저가 공개하지 말라네요)</div> <div>- 야호! JSON 결과에 "types" : [ "pokemon" ] 인 녀석들이 쏟아지기 시작했다 ㅠㅠ</div> <div>- 이제 각 지역을 자동으로 돌면서 포켓몬이 발견되면 GIS 정보를 파일로 떨구기로 함.. 원래는 자동으로 잡는 처리까지 하려고 했으나..</div> <div>- 구글 맵 앱이 아니면 포켓몬을 잡는 리퀘스트는 처리 불가. 혹시나 해서 패킷 스푸핑을 해보았으나 https라 아무 소득없이 1시간 날림.. ㅠㅠ 2차 패닉</div> <div>- 무튼 다시금 마음을 잡고.. 떨구는 중에... 이게 왠 일!! 갑자기 Access Denied가 나기 시작함!! 3차 패닉...</div> <div><br /></div> <div>방법 2-3. 알고보니 1일 엑서스 제한 1000건 ㅠㅠ</div> <div>- 첨에는 구글이 내가 포켓몬 레이더를 만든걸 부정방법으로 막은건가 하고 쇼크를 받았으나...</div> <div>- 침착히 다시 알아보니 Google Places API는 1일 무료 엑서스 한도가 1000건이라고... 그래.. 구글도 돈 벌어야지.. 그래서 내 월급 줘야지...</div> <div>- 일단 여분의 다른 계정으로 새 API Key를 발급 받음..</div> <div>- 포켓몬 레이더가 뿌려준 데이터를 확인했으나 지구의 1/15도 확인을 못 함 ㅠㅠ 이대로가면 계정수도 바닥날 듯.</div> <div>- 일단 바다 제외 조건을 급히 만듬. 약간의 꼼수로 Google Maps API의 역지오코딩을 이용하여 주소가 존재하는지 본 후 존재하는 장소에 한하여 Google Places API를 호출.</div> <div>- 그리고 1회 리퀘스트 시 취득하는 지역 범위를 최대 한도까지 끌어올림.</div> <div>- 결과 : API Key 총 3개로 전 지구를 커버함 ㅋ 아싸 돈 굳었음.. 원래는 카드정보 넣고 유료 결제 할까도 심각히 고민했었음...</div> <div><br /></div> <div>최종. 완성된 포켓몬 레이더로 40분만에 전 지구의 포켓몬 리스트를 만들어냈다!</div> <div>- 이제 노가다. 닭튀김과 노가다로 점철되는 프로그래머... 리스트를 보고 일일이 구글맵에서 열자!.... 라고 3초 정도 생각하다가 안되지..</div> <div>- 레이더에 급히 유틸기능을 추가하여 리스트의 포켓몬 이름을 탭 하면 자동으로 구글맵으로 URL Scheme을 호출하도록 만들어버림 ㅋ</div> <div>- 이제 테이블 뷰에서 포켓몬 이름을 탭하기만 하면 구글맵에서 바로 포켓몬이 뜬다. 그럼 포켓몬 겟!! ㅎㅎㅎ</div> <div>- 노가다 시간을 1/4로 줄여서 15분만에 모든 포켓몬을 잡아냈다! 1분에 10마리씩! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ (중복되는 포켓몬이 있더라.. 이건 리스트에서 제외시킴)</div> <div><br /></div> <div>결과.</div> <div>- 초기 삽질 : 2시간, 시행착오 : 1시간, 코딩 : 4시간, 실행 및 노가다 : 1시간. 토탈 7시간만에 전 지구의 모든 포켓몬을 잡아냈다!</div> <div><br /></div> <div>다 잡고나면 첨부 이미지와 같은 사진이 뜨면서 구글 매니저로부터 지메일로 연락이 옵니다. 다 잡으신분은 혹시라도 모르니 반드시 메일 확인하시기 바라며,</div> <div>스펨메일로 들어갔을 수 도 있으나 꼭 메일부터 확인하세요~ 내일 종료시까지 답장이 없으면 무효처리 될 수 있다고 하네요..</div> <div>답장으로 자기가 해결한 방법에 대한 상세한 기술이 있어야 하고 필요시 구글 드라이브로 프레젠테이션 자료도 만드셔야 합니다.</div> <div><br /></div> <div>그리고 저처럼 코딩으로 해결한 경우 반드시 소스코드를 첨부하여야 합니다만, 주의사항은 소스가 공개되면 안되기에 Github 보다는 걍 구글 드라이브에 압축파일로 올리거나</div> <div>메일로 첨부하거나, BitBucket등을 이용하시기 바랍니다. 인터넷에 소스가 유포될 시 불이익이 있을 수 있다고 합니다.</div> <div><br /></div> <div>이상으로..</div> <div>만우절에 대처하는 구글과 할 일 없는 개발자의 뻘글이였습니다.</div> <div><br /></div> <div>즐거운 하루 되세요~ ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ</div>