PyGithub λΉλκΈ° μ§μμ λν΄ μ΄λ»κ² μκ°νμλκΉ? λ΄κ° PyGithubμ λν λΉλκΈ° μ§μμ νλ€λ©΄ - μλ½νμκ² μ΅λκΉ?
μ΄λ€ λ°©μμΌλ‘ λΉλκΈ° μ§μμ μΆκ°νμκ² μ΅λκΉ? λλΆλΆμ μμ μ΄ GitHubμμ μ격μΌλ‘ μνλκ³ μ½λκ° μλ΅μ΄λ JSON λΈλ‘μ κΈ°λ€λ¦¬κ³ μλ€κ³ κ°μ ν λ μ΄λ»κ² λμμ΄ λ κΉμ?
λλΆλΆμ μμ μ΄ GitHubμμ μ격μΌλ‘ μνλκ³ μ½λκ° μλ΅μ κΈ°λ€λ¦¬κ³ μλ€λ μ μ κ°μν λ
μ΄κ²μ΄ λΉλκΈ° λμ
μ μ’μ μ΄μ μ
λλ€! λ΄ λ§μ... PyGithubμ API μ‘μΈμ€λ₯Ό μ½λ£¨ν΄μΌλ‘ μ²λ¦¬ν΄μΌ ν©λλ€. κ·Έλ μ§ μμΌλ©΄ λλΆλΆ μ μ©ν μμ
μ μννλ λμ μλ²μ μλ΅μ κΈ°λ€λ¦¬κ³ μμ΅λλ€. nodejsμ μΌλ°μ μΈ κ°λ
μ΄λ©° νμ¬ @octokit/rest.jsμμ μ§μλ©λλ€.
μ무λ μ μμ΄ κΈ°λ₯μ μꡬνμ§ μμλ€λ κ²μ λλμ΅λλ€ ...
Obs: PyGithubμ΄ νμ¬ μ΄λ»κ² μλνλμ§ μλͺ» μ΄ν΄νμ μλ μμ§λ§ μμ°¨ λ° λκΈ° API λνΌκ° λΉλκΈ° API λνΌλ³΄λ€ λ ν¨μ¨μ μ΄λΌκ³ μκ°ν©λλ€.
μλ‘μ΄ AsyncRequester ν΄λμ€λ₯Ό μΆκ°νκ³ λ Όλ¦¬λ₯Ό μ μ§νλ©΄μ μνΈ μμ©νκΈ° μν΄ λ€λ₯Έ λͺ¨λ ν΄λμ€μμ λΉλκΈ° λ©μλλ₯Ό λ§λ€ μ μμ΅λλ€.
λΉλκΈ° μ½λλ κ²μκ³Ό κ°μ΄ λ§μ μμ 쿼리λ₯Ό μμ±ν΄μΌ νλ μμ μ λμμ΄ λ μ μμ΅λλ€. λν Githubμμ μ¬λ¬ κ³μ μΌλ‘ λΉ λ₯΄κ² μμ ν μ μμ΅λλ€.
μ¬λ¬ κ³μ νμ©μ λν μ§μ μΆκ°μ ν¨κ» μμ ν μ¬μ€κ³μ²λΌ λ€λ¦½λλ€. λλ λΉμ μ μ΄μ μ μ¬λνμ§λ§ μΆ©λΆν μ΄μ΅μ μ»μ§ λͺ»νλ κ²μ λμ°νκ² λ§μ μΌμ΄λΌκ³ μκ°ν©λλ€.
λ§μ μμ μ΄ νμν μ μμ§λ§ ꡬνλλ κ²μ λ³΄κ³ μΆμ΅λλ€. νμ¬ μ λ @octokit/rest.js μ±λ₯μ΄ PyGithubλ₯Ό λ₯κ°νκΈ° λλ¬Έμ μ μ°κ΅¬μμ JSλ₯Ό μ¬μ©νκ³ μμ΅λλ€. λμμ΄ νμνλ€λ©΄ μ λ μ΄ μΌμ νκ² λμ΄ κΈ°μ©λλ€.
Btw μ¬λ¬ κ³μ μ§μμ΄ λ무 λ§μ κ² κ°μμ! asyncλ μ±λ₯ ν₯μμ μν μμ²λ 첫 λ²μ§Έ λ¨κ³κ° μλλκΉ?
λͺ¨λ μλμ μ λ§λ€κ³ ν 리νμ€νΈμμ 보μ¬μ€ μ μμκΉμ? ν μ€νΈμ©
Asyncioλ λ΄ μ¬μ© μ¬λ‘λ₯Ό κ°μν λ μ’μ μκ°μ²λΌ λ€λ¦½λλ€. μ μ₯μμ λͺ¨λ νμΌμ μ¬κ·μ μΌλ‘ μ½μΌλ €κ³ νλλ° λκΈ° μμ²μ΄ λ무 λ립λλ€.
GitHub APIλ₯Ό ν΅ν΄ λͺ¨λ κ²μ μμ²νλ κ²λ³΄λ€ GitPythonκ³Ό κ°μ κ²μ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
ν₯λ―Έλ‘μ΄ μ μμ ν΄μ£Όμ μ κ°μ¬ν©λλ€. κ·Έλ κ² νλ κ²μ΄ ν©λ¦¬μ μ΄κΈ° λλ¬Έμ μλν΄ λ³΄κ² μ΅λλ€.
λλ μ΄ λ¬Έμ λ₯Ό λ«μμΌ νλ€κ³ μκ°νμ§ μλλ€. IO λ°μΈλ© μμ
μ asyncio
λ₯Ό μ¬μ©νλ κ²μ΄ μλ²½ν μ¬μ© μ¬λ‘μ
λλ€.
κ°μ₯ μ μ©ν λκΈ
λλ μ΄ λ¬Έμ λ₯Ό λ«μμΌ νλ€κ³ μκ°νμ§ μλλ€. IO λ°μΈλ© μμ μ
asyncio
λ₯Ό μ¬μ©νλ κ²μ΄ μλ²½ν μ¬μ© μ¬λ‘μ λλ€.