λ¬Έμ νκ³ μλ μ¬λλ€ λ³΄κΈ°
- ν루μ νλ² λ¬Έμ νμ΄ νν©μ΄ μ λ°μ΄νΈ λ©λλ€.
- νκ° μ΄μ λ¬Έμ λ₯Ό Pass νμ κ²½μ°μ νμ λ©λλ€.
- λ§μ΄ νΈμ λΆ μμλλ‘ νμλ©λλ€.
- λͺ¨λ 85κ° + 15κ° νΈμ€λ κΉμ§ νμ΄ν μ λλ€!
π 34 / 85 youngrongoh | π 32 / 85 tiaz0128 | π 16 / 85 dayaelee | π 10 / 85 Messe7654 | π 8 / 85 BGM-109 |
π 1 / 85 kshjessica |
β¨μ΄ μ μ₯μλ 'μ½λ© ν μ€νΈ ν©κ²©μ λκΈ°(νμ΄μ¬ νΈ)' μ μ°μ΅ ν μ μλ μ μ₯μμ λλ€.
β λ΄κ° νμλ λ¬Έμ λ₯Ό λ€μλ΄λ μ΄λ»κ² νμλμ§ κΈ°μ΅λμ§ μλμ?
β λ¬Έμ λ μ¬μ΄νΈμμ νκ³ , μ 리λ λΈλ‘κ·Έμ νκ³ ? λκ° λΉν¨μ¨μ μ΄μ§ μμλμ?
β κ°μ λ¬Έμ λ₯Ό νΌ μ¬λμ μ½λλ₯Ό λ΄λ, μ μ΄λ κ² νμλμ§ μκ³ μΆμ§ μλμ?
β μ νλ¦¬μ§ μλ λ¬Έμ λ μ‘°κΈμ λμμ λ°κ³ μΆμ§ μμλμ?
β
ν΄λΉ μ μ₯μλ μ±
μ 곡λΆνλ λꡬλ μ¬μ©ν μ μλ 곡κ°μ
λλ€.
β
μλ¬΄λ° μ‘°κ±΄λ μ μ½λ μλ μμ λ‘μ΄ μ μ₯μμ
λλ€.
β
μ±
μ νΌμ 곡λΆνμλ λΆλ€, μ±
μ μ€ν°λ μ€μΈ λΆλ€λ μ μ₯μλ₯Ό νμ©ν΄λ³΄μΈμ!
β
λ¬Έμ λ₯Ό νλμ© νκ³ μ 곡λ ν¬νλ¦ΏμΌλ‘ μ€μ€λ‘ λ¬Έμ λ₯Ό νλμ© μ 리 ν μ μμ΅λλ€.
β
νμ΄κ°λ κ³Όμ μ 컀λ°κ³Ό μ½λ©νΈλ₯Ό λ¬λ©΄μ κΈ°λ‘ ν μ μμ΅λλ€.
β
λμ κ°μ λ¬Έμ λ₯Ό λ€λ₯Έ μ¬λμ μ΄λ€ μκ°μΌλ‘ νμλμ§ μ°Ύμ λ³Ό μ μμ΅λλ€.
β
λ¬Έμ λ₯Ό νλ€κ° μ΄λ €μ°λ©΄ λμμ μμ²ν΄λ³΄μΈμ!
β
λ‘컬μμ λλ²κΉ
νλ©΄μ 곡λΆν μ μμ΅λλ€.
β
PR
(Pull Request)λ₯Ό μμ±νλ©΄ μλμΌλ‘ ν
μ€νΈκ° λμν©λλ€.
- ν
μ€νΈμ μ¬μ©νλ νμ΄μ¬ λ²μ μ νλ‘κ·Έλλ¨Έμ€μ λμΌν
python 3.8
λ²μ μ λλ€. - μλμ μ€λͺ μ 보면μ λ°λΌν΄λ΄ μλ€.
- λ°λμ μ ν΄μ§ κ·μΉμ λ°λΌμ
κ²½λ‘
,νμΌλͺ
λ°ν¨μλͺ
μ μμ±ν΄μΌ μ λλ‘ ν μ€νΈκ° λμν©λλ€. - β¨ λΈλμΉμ μ¬μ©λλ μ«μλ λ°λμ 3μλ¦¬λ‘ λΉμ리λ 0μΌλ‘ μ±μμΌ ν©λλ€! ex)
001
,010
,900
- μμ΄λλ κΉνλΈ μμ΄λλ₯Ό μλ―Έν©λλ€.
- λλ κ°μ λ¬Έμ λ₯Ό λ€λ₯Έ μ¬λμ΄ μ΄λ»κ² νμλμ§ μ°Έκ³ ν΄λ³΄μΈμ!
- λμμ΄ λλ€λ©΄ μ½λ§¨νΈλ μ΄λͺ¨ν°μ½μΌλ‘ κ°μ¬λ₯Ό ννν΄λ³΄μΈμ!
- μλ‘ μν΅ν΄ 보μΈμ! λ λ§μ΄ λ°°μ°κ³ λλ μ μμ΅λλ€!
- κΈ°λ³Έμ μΌλ‘ ν μ€νΈ λν μλκ³Ό μ΄λ©μΌμ΄ κ°λλ€.
- μμ£Ό μλμ΄ μ€κ±°λ νμμλ κ²½μ°μλ ν΄μ νμλ©΄ λ©λλ€.
- ν΄λΉ μ μ₯μ νλ©΄ μ€λ₯Έμͺ½ μλ¨μ
Notifications
μwatch
μμIgnore
λ‘ λ³κ²½ν΄μ£ΌμΈμ.
- π₯ ν μ€νΈλ₯Ό μΆκ°νκ±°λ λ³κ²½νκ³ μΆμ κ²½μ° λ°λΌνμλ©΄ λ©λλ€.
- κΈ°λ³Έμ΄ λλ λ² μ΄μ€λ₯Ό μμ±ν΄λ¨μ΅λλ€.
- μΆκ°λ‘ μμ±νλ ν μ€νΈλ ν μ€νΈκ° μ ν¨ν κ²½μ°μλ§ λμνκ² λ§λ€μ΄μ Έμμ΅λλ€.
git rm
λͺ λ Ήμ΄λ‘ commit λμμμ tests ν΄λλ₯Ό μ μΈν©λλ€.- λ μ΄μ tests ν΄λμ λ³κ²½ μ¬νμ ν¬ν¨λμ§ μμ΅λλ€.
- μ΄μ λ§μκ» ν μ€νΈλ₯Ό μΆκ° νλ©΄μ 곡λΆν΄ 보μΈμ!
$ git rm --cached tests
- π₯ μ€μ μ½λ© ν μ€νΈ νκ²½μ²λΌ μλ μμ± μμ΄ ν΄λ³΄κ³ μΆμ λΆλ§ λ°λΌ νμΈμ!
- μ΅μλ¨ κ²½λ‘
.vscode
ν΄λλ₯Ό μμ±ν©λλ€. - ν΄λ μμ
settings.json
νμΌμ λ§λ€κ³ μλμ μ€μ μ μΆκ°ν©λλ€. .vscode/settings.json
νμΌμ μλμ λ΄μ©μ΄ μμΌλ©΄ μ λλ‘ μ€μ λμ΅λλ€!
settings.json μ€μ κ° μμΈν
{
"editor.inlineSuggest.enabled": false,
"python.autoComplete.extraPaths": [],
"python.analysis.autoSearchPaths": false,
"python.analysis.diagnosticMode": "openFilesOnly",
"python.analysis.useLibraryCodeForTypes": false,
"python.languageServer": "None"
}
- λ¬Έμ μ 맀μΉλλ μ λ΅μ μ λ ν΄λ νμΌ κ΅¬μ± λ° λ§€κ°λ³μλ₯Ό λ°μμ€λ ν¨μλ₯Ό 미리 λ§λ€μ΄ λμμ΅λλ€.
- λ¬Έμ λ₯Ό νκΈ° μμ ν λ ν΄λΉνλ ν΄λμ νμΌμ κ°μ Έμμ μ¬μ©νμλ©΄ λ©λλ€.
- 맀μκ° λ§λ€ μμ μ PR μ€μμ π 리μ‘μ μ΄ λΆμ μ½λ©νΈλ μμ λ©λλ€.
- κΉνλΈ λ΄μ΄ μμ±ν μ½λ©νΈλ μ 리 κ°λ₯ν©λλ€.
- νμ μλ PR μ½λ©νΈλ μ 리νμΈμ!
- κΉνλΈ μ¬μ©μ μ΅μνμ§ μμΌμκ±°λ
- ν΄λΉ μ μ₯μλ₯Ό νμ©ν μ€ν°λ νμ© λ°©μ
- μ μ₯μμ μ¬μ© λ°©λ²μ λν λ¬Έμ ex) λ‘컬μμ λλ²κΉ λ°©λ²
- μΆκ° ν΄μ€¬μΌλ©΄ κΈ°λ₯, κ°μ νμΌλ©΄ κΈ°λ₯
μλ μ ν μλ λ¨ν‘λ°©μ΄λ λμ€μ½λ μ±λ ν΅ν΄ νΈνκ² λ§μ ν΄μ£Όμλ©΄ μ΅λν λμμ λλ¦¬κ² μ΅λλ€.
κ°μ¬ν©λλ€.
- μ± μ μλμ΄ μ§μ μ΄μνμλ μν΅ μ±λλ‘ μ μ₯ν΄μ£ΌμΈμ.
- 'ν΅λΆμ΄' λλ 'tiaz0128' λλ 'TO-BE μ μ₯μ' μ°Έμ¬νκ³ μΆλ€κ³ μλ €μ£ΌμΈμ.
- μ°Έμ¬ μμ¬κ° μμΌμ λΆμ κΉνλΈ μμ΄λλ₯Ό μλ €μ£ΌμΈμ.
- μ μ₯μ μ΄λ λ©μΌμ΄ κ°λ©΄ μΉμΈν΄μ£ΌμΈμ.
μ±λ | λ§ν¬ |
---|---|
μΉ΄μΉ΄μ€ν‘ λ¨ν‘λ°© | λ§ν¬ |
λμ€μ½λ | λ§ν¬ |
- κΉ cloneλΆν° μμνμλ©΄ λ©λλ€!
git clone https://github.com/to-be-pass/to-be-pass-python-coding-test.git
solutions
λΈλμΉλ‘checkout
ν©λλ€.solutions
λΈλμΉμμ λ€μμμ΄λ/λ¬Έμ λ²νΈ
λ‘ μμ±ν©λλ€.- μ¬κΈ°μ μμ±ν λΈλμΉ λ²νΈκ° ν μ€νΈκ° μ€νλλ λ¬Έμ λ²νΈ μ λλ€.
- β¨ μ«μλ λ°λμ 3μλ¦¬λ‘ λΉμ리λ 0μΌλ‘ μ±μμΌ ν©λλ€!
- ex)
tiaz0128/001
1λ² λ¬Έμ λ§ ν μ€νΈ ν©λλ€. - ex) 001, 010, 900
git checkout -t origin/solutions
git checkout -b μμ΄λ/λ¬Έμ λ²νΈ
src/μμ΄λ
κ²½λ‘ μλμ ν΄λΉ μ±ν° ν΄λλ₯Ό λ£μ΄μ€μΌ ν©λλ€. λ£λ λ°©λ²μ κ°λ¨ν©λλ€.solutions
μ κ° μ±ν°λ³λ‘ νμΌκ³Ό ν¨μκ° λ―Έλ¦¬ λ§λ€μ΄μ Έ μμ΅λλ€.src/μμ΄λ/ν΄λΉμ±ν°
λ₯Ό λ§λ€κ³solution_λ¬Έμ λ²νΈ.py
νμΌμ 볡μ¬ν΄μ λ£μΌμΈμ!src/μμ΄λ/ν΄λΉμ±ν°/solution_λ¬Έμ λ²νΈ.py
μΈν λλ€λ©΄ μ λλ‘ νμ ¨μ΅λλ€!
- λ¬Έμ λ²νΈμ λ§λ μ λ΅ ν¨μλ₯Ό μ‘°κΈμ μΈν
νλ
solution_λ¬Έμ λ²νΈ.py
νμΌμ μμ±ν©λλ€. - ν¨μλͺ
μ
solution
μ λλ€. - νλ‘κ·Έλλ¨Έμ€μ λμΌνκ² μ λ΅μ 리ν΄νλ ν¨μλ₯Ό μμ±ν©λλ€.
pytest
,python-dotenv
λ₯Ό μ€μΉν©λλ€.- /to-be-pass-python-coding-test ν΄λλ‘ μ΄λν©λλ€. (/ch_0*μ κ°μ ν΄λμμλ μ€λ₯κ° λ°μν©λλ€.)
- μλμ λͺ
λ Ήμ΄λ‘
pytest
λ₯Ό μ€νν©λλ€. - μ€ν μ΅μ μ μμ μ μμ΄λ μ ν΄λΉ μ±ν°μ λλ€.
- νΉμ λ¬Έμ λ§ ν μ€νΈ ν μλ μμ΅λλ€.
pip install pytest python-dotenv
# μ±ν° μ 체 λ¬Έμ test
pytest --id=μμ΄λ -m ch_μ±ν°λ²νΈ
# νΉμ λ¬Έμ λ§ test
pytest --id=μμ΄λ -k 'test_001'
π₯ ν μ€νΈ μ½λλ₯Ό μΆκ° μΆμΌμ κ²½μ° μλμ λͺ λ Ήμ΄λ₯Ό μ λ ₯ν΄μ£ΌμΈμ
$ git rm --cached tests
- λλ²κΉ νλ©΄μ 곡λΆν΄λ³΄μΈμ! μμ² λμμ΄ λ©λλ€!
- λ‘컬μμ μμ μ΄ μμ± μ½λλ₯Ό ν μ€νΈ νκ³ μΆμ κ²½μ° νμΌμ μμ ν΄μΌ ν©λλ€.
./tests/.env
νμΌμ μμ μ μμ΄λκ°μ λ£μ΄μ€λλ€.- λ€λ₯Έ μ¬λμ κΉνλΈ μμ΄λλ₯Ό λ£κ³ νμΈν΄ λ³Ό μλ μμ΅λλ€.
- π₯ λ¨, νμ¬ λΈλμΉμ ν΄λΉνλ μμ΄λμ ν΄λμ μ½λκ° μμ΄μΌ ν©λλ€.
- μ μ λ μμ΄λ
dremdeveloper
λ₯Ό μΈν νλ©΄ μ 체 ν μ€νΈλ₯Ό ν΅κ³Όνλ κ²μ νμΈν΄λ³΄μΈμ! - ν μ€νΈκ° μ λλ‘ λμνμ§ μλ κ² κ°μμ! -> tests/.env νμΌκ³Ό ν΄λ νμΌλͺ ν¨μ μΈμκ° λ±μ κΌ νμΈν΄μ£ΌμΈμ.
USER_ID=μμ΄λ
- λΈλμΉλͺ
μ΄
μμ΄λ/λ¬Έμ λ²νΈ
μΈμ§ νμΈνκ³push
ν©λλ€.
git push origin μμ΄λ/λ¬Έμ λ²νΈ
- PR μ μμ±νλ©΄ λ¬Έμ μ λν΄μ κΈ°λ‘μ λ¨κΈΈμ μλ ν¬νλ¦Ώμ΄ μ 곡 λ©λλ€!
- νμ§ λͺ»ν λ¬Έμ λ PR μ λ¨κΈ°κ³ μ€μ€λ‘ μ½λ©νΈλ₯Ό λ¬μκ°λ©΄μ νμ΄κ°λ κ³Όμ κΉμ§ κΈ°λ‘ ν΄λ³΄μΈμ!
solutions
λ₯Ό baseλ‘ μ§μ νκ³μμ΄λ/λ¬Έμ λ²νΈ
λ₯Ό compare λΈλμΉλ‘ μ§μ ν©λλ€.- PR μμ±νλ©΄ μλμΌλ‘ ν μ€νΈκ° λμνκ³ μ λ΅μ νμΈν©λλ€.
- PR μμ± ν
push
ν λλ§λ€ ν μ€νΈκ° λμν©λλ€. - μ΄λμ μ΄λ€ κ°λλ¬Έμ μ€ν¨νλμ§ λ‘컬μμ λλ²κΉ ν΄λ³΄κ³ μ€μ€λ‘ μ½λ©νΈλ₯Ό λ¨κ²¨λ΄ μλ€!
- λμμ΄ νμνλ©΄ λΌλ²¨μ λΆμ¬μ λ€λ€ μ¬λμκ² λμμ μμ²ν΄ 보μΈμ!
- ν
μ€νΈλ₯Ό ν΅κ³Όνλ©΄ κΉνλΈμμ
solutions
λΈλμΉμmerge
ν©λλ€. Merge pull request
λ²νΌμ ν΄λ¦ νλ©΄ λ©λλ€!- κ°μ λ¬Έμ λ₯Ό λ€λ₯Έ μ¬λμ μ΄λ»κ² νμλμ§ κ³΅λΆν΄λ³΄μΈμ!
- λ€λ₯Έ μ¬λμ μ½λλ₯Ό 보면μ μ΄ν΄κ° κ°μ§ μλ λΆλΆμ μ½λ©νΈλ₯Ό λ¨κ²¨μ μ§λ¬Έλ ν΄λ³΄μΈμ!
solutions
λΈλμΉμmerge
νμ λ΄μ©μmain
λΈλμΉμ λ³ν© ν΄λ립λλ€!
- λ€μ λ¬Έμ λ λ€μ
solutions
λΈλμΉλ‘ λκ°μμ νμλ©΄ λ©λλ€! - μ μΌ μ²μ
solutions
λΈλμΉλ₯Ό-t
μ΅μ μΌλ‘ λ§λ€μμΌλ λ°λ‘checkout
νλ©΄ λ©λλ€! - μ
λ°μ΄νΈκ° μμμ§ λͺ¨λ₯΄λ λ€μ λ¬Έμ λ₯Ό νκΈ°μ
pull
νμΈμ!
$ git checkout solutions
$ git pull origin solutions
$ git checkout -b μμ΄λ/λ€μλ¬Έμ
λ¬Έμ λ₯Ό νΈλ κ²μμ λλμ§ μκ³ μ»€λ°μΌλ‘ κΈ°λ‘νκ³ λ€μ νκ³ ν΄λ³΄μΈμ!
ν΄λΉ μ μ₯μλ PRμ΄ λͺ¨μ΄λ©΄ λͺ¨μΌμλ‘! μλ‘ ν¨κ»νλ©΄ ν μλ‘!
κ°λ°μλ‘μ¨ λμ± μ±μ₯ν μ μμ΅λλ€!
κ°μ¬ν©λλ€. π