{"id":15878145,"url":"https://github.com/gnujoow/pycon-korea-2019","last_synced_at":"2026-01-15T23:10:17.480Z","repository":{"id":150526018,"uuid":"204837395","full_name":"gnujoow/pycon-korea-2019","owner":"gnujoow","description":"Pycon Korea 2019 Event","archived":false,"fork":false,"pushed_at":"2019-08-28T03:08:59.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-01T23:45:01.547Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gnujoow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-28T03:08:44.000Z","updated_at":"2019-08-28T07:08:43.000Z","dependencies_parsed_at":"2023-06-07T04:00:39.108Z","dependency_job_id":null,"html_url":"https://github.com/gnujoow/pycon-korea-2019","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"d50b6f4e06ee66b5a9803f79f6b40370b2cbeff6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gnujoow/pycon-korea-2019","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fpycon-korea-2019","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fpycon-korea-2019/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fpycon-korea-2019/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fpycon-korea-2019/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gnujoow","download_url":"https://codeload.github.com/gnujoow/pycon-korea-2019/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fpycon-korea-2019/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28473974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T22:27:41.514Z","status":"ssl_error","status_checked_at":"2026-01-15T21:54:47.910Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T02:21:08.017Z","updated_at":"2026-01-15T23:10:17.466Z","avatar_url":"https://github.com/gnujoow.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pycon Korea 2019 Event - 쿠나의 핸드폰 비밀번호를 찾아라!\n\n![kuna-icon](https://user-images.githubusercontent.com/40815423/63143786-e1be1100-c02a-11e9-8f0b-2c2ff08a6e37.png)\n\n안녕? 나는 하쿠나 1등 호스트인 쿠나라고해!\n\n이제 곧 방송을 시작해야하는데, 핸드폰이 바이러스에 걸리는 바람에 비밀번호가 1시간 마다 바뀌고 있지 뭐야..!\n\n내 핸드폰의 비밀번호를 열심히 찾아준 친구에게 나의 마음을 담아서 1등에게는 아이패드에어, 2등에게는 에어팟을 줄께! 꼭 도와줘!\n\n## 쿠나의 핸드폰 비밀번호를 찾는 방법\n\n비밀번호에 대한 힌트는 두가지 형식으로 번갈아가면서 나오고 있어!\n\n### 1. Up \u0026 Down\n\n입력을 시도한 비밀번호보다 실제 비밀번호의 값이 크면 **Up**, 작으면 **Down**이라는 힌트가 나와!\n\n예를 들어서, 실제 비밀번호가 1234이고 입력을 시도한 비밀번호가 `0123`이라면 `Up`이라는 힌트가 나오겠지?\n\n### 2. Baseball Game\n\n입력을 시도한 비밀번호와 실제 비밀번호가 비교되어서 힌트가 나오는 형식이야\n\n실제 비밀번호와 자리수까지 일치하면 **Strike(S)**, 자리수는 일치하지 않지만 사용되는 숫자라면 **Ball(B)** 힌트가 나와!\n\n예를 들어서, 실제 비밀번호가 1234이고 입력을 시도한 비밀번호가 `1023`이라면 `1S2B`이라는 힌트가 나오겠지? (1이 Strike, 2와 3이 Ball)\n\n## 추가 사항\n\n내 휴대전화의 비밀번호는 중복된 자리수가 없이 `0000~9999` 사이의 어떤 수로 1시간마다 계속해서 바뀌고 있어! 즉, `0001`처럼 같은 숫자(0)가 반복해서 사용되지 않아!\n\n비밀번호 입력을 시도할 때마다 5점씩 점수가 차감되고, 답을 맞으면 100점이 추가되는데, 파이콘이 끝나고 가장 높은 점수를 가진 사람에게 엄청난 상품을 줄게!\n\n## API\n\n- 직접 API를 호출해서 이벤트에 참여할 수 있어! 여기에 필요한 API들을 알려줄게!\n- 답은 1시간 마다 갱신되고, 높은 점수를 받은 사람에게 나의 마음을 담을 선물을 줄테니까! 긴장의 끈을 놓지마!\n\n### 게임 시작하기\n\n#### Request\n\n\u003e `[POST]` https://event.hpcnt.com/game/\n\n```python\nimport requests\n\n\nresponse = requests.post('https://event.hpcnt.com/game/', json={\n    'email': 'test@test.com',    # str\n    'phone_number': '01012345678',    # str\n    'username': 'test-username',    # str\n})\n```\n\n#### Response\n\n```python\n{\n    'id': '6wHm',    # 게임 진행에 꼭 필요한 정보니까 기억해둬! 이 ID를 통해서 너의 점수가 집계되거든!\n    'score': 0,\n    'username': 'test-username'\n}\n```\n\n### 현재 내 정보 확인하기\n\n\u003e `[GET]` https://event.hpcnt.com/game/{id}/\n\n#### Request\n\n```python\nimport requests\n\n\nresponse = requests.get('https://event.hpcnt.com/game/6wHm/')\n```\n\n#### Response\n\n```python\n{\n    'id': '6wHm',\n    'score': 0,\n    'username': 'test-username'\n}\n```\n\n### 답안 제출하기\n\n\u003e `[POST]` https://event.hpcnt.com/game/{id}/submit/\n\n#### Request\n\n```python\nimport requests\n\n\nresponse = requests.post('https://event.hpcnt.com/game/6wHm/submit/', json={\n    'number': '0239',    # str\n})\n```\n\n#### Response\n\n```python\n# Example 1\n{\n    'is_pass': False,    # bool\n    'updown': None,    # None | UP | DOWN\n    'baseball': {'strike': 0, 'ball': 3},\n    'score': -5   # int\n}\n\n# Example 2\n{\n    'is_pass': False,    # bool\n    'updown': 'UP',    # None | UP | DOWN\n    'baseball': None,    # None | {'strike: int, 'ball': int}\n    'score': -10   # int\n}\n\n# Example 3\n{\n    'is_pass': False,    # bool\n    'updown': None,    # None | UP | DOWN\n    'baseball': {'strike': 2, 'ball': 0},    # None | {'strike: int, 'ball': int}\n    'score': -15   # int\n}\n\n# Example 4\n{\n    'is_pass': False,    # bool\n    'updown': 'DOWN',    # None | UP | DOWN\n    'baseball': None,    # None | {'strike: int, 'ball': int}\n    'score': -20   # int\n}\n```\n\n### 게임 진행을 위한 ID 찾기\n\n만약에 ID를 까먹었다고 해서 당황하지 마! 이벤트에 참여하기 위해 입력한 정보를 통해서 다시 찾을 수 있어!\n\n\u003e `[POST]` https://event.hpcnt.com/game/find/\n\n#### Request\n\n```python\nresponse = requests.post('https://event.hpcnt.com/game/find/', json={\n    'email': 'test@test.com',    # str\n    'phone_number': '01012345678'    # str\n})\n```\n\n#### Response\n\n```python\n{\n    'results': [\n        {'id': 'Y0HX', 'score': 0, 'username': 'test-username'},\n        {'id': 'xWHW', 'score': 100, 'username': 'test-username'},\n        {'id': 'NKH6', 'score': -55, 'username': 'test-username'},\n    ]\n}\n```\n\n## 개인정보처리방침\n\n```\n㈜하이퍼커넥트는 파이콘 한국2019와 하이퍼커넥트 주관 이벤트에 참석하시분들을 대상으로 아래와 같이 개인정보를 수집, 이용하고 있습니다. 수집한 개인정보는 '정보통신망 이용촉진 및 정보보호 등에 관한 법률' 및 기타 관계 법령에 의거하여 보호됩니다.\n\n• 수집, 이용목적: 입사 및 이벤트 지원에 따른 본인확인, 고지사항의 전달, 문의사항에 대한 응대, 원활한 의사소통의 경로 확보\n\n• 수집하는 개인정보 항목: 이메일주소, 휴대폰번호\n\n• 개인정보 보유 및 이용기간: 제출일로부터 1년\n\n• 동의를 거부할 권리 및 동의 거부에 따른 불이익: 설문응답자는 개인정보의 수집, 이용 등과 관련한 위 사항에 대하여 원하지 않는 경우 동의를 거부할 수 있습니다. 다만, 수집하는 개인정보의 항목에서 필수정보에 대한 수집 및 이용에 대하여 동의하지 않는 경우는 향후 (주)하이퍼커넥트 주관행사 및 이벤트 당첨 안내 시 제한이 있을 수 있습니다. 그 밖의 사항은 개인정보처리관련법을 준수합니다.\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnujoow%2Fpycon-korea-2019","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgnujoow%2Fpycon-korea-2019","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnujoow%2Fpycon-korea-2019/lists"}