oh-my-oop 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MCP_STRUCTURE.md +301 -0
- package/README.md +167 -0
- package/SCOPE.md +27 -0
- package/dist/application/discovery.d.ts +133 -0
- package/dist/application/discovery.js +62 -0
- package/dist/application/discovery.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +80 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +16 -0
- package/dist/config.js +32 -0
- package/dist/config.js.map +1 -0
- package/dist/domain/collaborators.d.ts +2 -0
- package/dist/domain/collaborators.js +26 -0
- package/dist/domain/collaborators.js.map +1 -0
- package/dist/domain/ids.d.ts +4 -0
- package/dist/domain/ids.js +23 -0
- package/dist/domain/ids.js.map +1 -0
- package/dist/domain/model.d.ts +71 -0
- package/dist/domain/model.js +2 -0
- package/dist/domain/model.js.map +1 -0
- package/dist/domain/schemas.d.ts +213 -0
- package/dist/domain/schemas.js +79 -0
- package/dist/domain/schemas.js.map +1 -0
- package/dist/domain/stereotypes.d.ts +7 -0
- package/dist/domain/stereotypes.js +65 -0
- package/dist/domain/stereotypes.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/io/classStore.d.ts +9 -0
- package/dist/io/classStore.js +39 -0
- package/dist/io/classStore.js.map +1 -0
- package/dist/io/collaborationStore.d.ts +7 -0
- package/dist/io/collaborationStore.js +32 -0
- package/dist/io/collaborationStore.js.map +1 -0
- package/dist/io/design.d.ts +3 -0
- package/dist/io/design.js +22 -0
- package/dist/io/design.js.map +1 -0
- package/dist/io/designIndex.d.ts +6 -0
- package/dist/io/designIndex.js +49 -0
- package/dist/io/designIndex.js.map +1 -0
- package/dist/io/frontmatter.d.ts +8 -0
- package/dist/io/frontmatter.js +31 -0
- package/dist/io/frontmatter.js.map +1 -0
- package/dist/io/history.d.ts +10 -0
- package/dist/io/history.js +38 -0
- package/dist/io/history.js.map +1 -0
- package/dist/io/useCaseStore.d.ts +8 -0
- package/dist/io/useCaseStore.js +36 -0
- package/dist/io/useCaseStore.js.map +1 -0
- package/dist/io/workspace.d.ts +14 -0
- package/dist/io/workspace.js +82 -0
- package/dist/io/workspace.js.map +1 -0
- package/dist/oop/commands.d.ts +446 -0
- package/dist/oop/commands.js +319 -0
- package/dist/oop/commands.js.map +1 -0
- package/dist/oop/conformance.d.ts +16 -0
- package/dist/oop/conformance.js +30 -0
- package/dist/oop/conformance.js.map +1 -0
- package/dist/prompts/discovery.d.ts +2 -0
- package/dist/prompts/discovery.js +41 -0
- package/dist/prompts/discovery.js.map +1 -0
- package/dist/prompts/imagineWithoutController.d.ts +2 -0
- package/dist/prompts/imagineWithoutController.js +75 -0
- package/dist/prompts/imagineWithoutController.js.map +1 -0
- package/dist/prompts/index.d.ts +2 -0
- package/dist/prompts/index.js +17 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/phasePressureTest.d.ts +2 -0
- package/dist/prompts/phasePressureTest.js +69 -0
- package/dist/prompts/phasePressureTest.js.map +1 -0
- package/dist/prompts/rddIntro.d.ts +2 -0
- package/dist/prompts/rddIntro.js +53 -0
- package/dist/prompts/rddIntro.js.map +1 -0
- package/dist/prompts/review.d.ts +2 -0
- package/dist/prompts/review.js +45 -0
- package/dist/prompts/review.js.map +1 -0
- package/dist/prompts/stateMachineIntrospect.d.ts +2 -0
- package/dist/prompts/stateMachineIntrospect.js +80 -0
- package/dist/prompts/stateMachineIntrospect.js.map +1 -0
- package/dist/prompts/tellDontAskRephrase.d.ts +2 -0
- package/dist/prompts/tellDontAskRephrase.js +66 -0
- package/dist/prompts/tellDontAskRephrase.js.map +1 -0
- package/dist/render/diff.d.ts +21 -0
- package/dist/render/diff.js +84 -0
- package/dist/render/diff.js.map +1 -0
- package/dist/render/mermaid.d.ts +24 -0
- package/dist/render/mermaid.js +53 -0
- package/dist/render/mermaid.js.map +1 -0
- package/dist/render/sideBySide.d.ts +14 -0
- package/dist/render/sideBySide.js +91 -0
- package/dist/render/sideBySide.js.map +1 -0
- package/dist/resources/index.d.ts +2 -0
- package/dist/resources/index.js +349 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +22 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/alternatives.d.ts +2 -0
- package/dist/tools/alternatives.js +9 -0
- package/dist/tools/alternatives.js.map +1 -0
- package/dist/tools/classes.d.ts +2 -0
- package/dist/tools/classes.js +13 -0
- package/dist/tools/classes.js.map +1 -0
- package/dist/tools/collaborations.d.ts +2 -0
- package/dist/tools/collaborations.js +8 -0
- package/dist/tools/collaborations.js.map +1 -0
- package/dist/tools/compare.d.ts +2 -0
- package/dist/tools/compare.js +9 -0
- package/dist/tools/compare.js.map +1 -0
- package/dist/tools/conformance.d.ts +3 -0
- package/dist/tools/conformance.js +11 -0
- package/dist/tools/conformance.js.map +1 -0
- package/dist/tools/diagram.d.ts +2 -0
- package/dist/tools/diagram.js +9 -0
- package/dist/tools/diagram.js.map +1 -0
- package/dist/tools/discovery.d.ts +2 -0
- package/dist/tools/discovery.js +23 -0
- package/dist/tools/discovery.js.map +1 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.js +27 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/init.d.ts +2 -0
- package/dist/tools/init.js +9 -0
- package/dist/tools/init.js.map +1 -0
- package/dist/tools/oop.d.ts +9 -0
- package/dist/tools/oop.js +26 -0
- package/dist/tools/oop.js.map +1 -0
- package/dist/tools/responsibilities.d.ts +2 -0
- package/dist/tools/responsibilities.js +13 -0
- package/dist/tools/responsibilities.js.map +1 -0
- package/dist/tools/state.d.ts +2 -0
- package/dist/tools/state.js +8 -0
- package/dist/tools/state.js.map +1 -0
- package/dist/tools/useCases.d.ts +2 -0
- package/dist/tools/useCases.js +18 -0
- package/dist/tools/useCases.js.map +1 -0
- package/dist/tools/validate.d.ts +2 -0
- package/dist/tools/validate.js +9 -0
- package/dist/tools/validate.js.map +1 -0
- package/dist/tradeoff/engine.d.ts +61 -0
- package/dist/tradeoff/engine.js +171 -0
- package/dist/tradeoff/engine.js.map +1 -0
- package/dist/tradeoff/heuristics/classSplit.d.ts +3 -0
- package/dist/tradeoff/heuristics/classSplit.js +94 -0
- package/dist/tradeoff/heuristics/classSplit.js.map +1 -0
- package/dist/tradeoff/heuristics/collaborationShape.d.ts +2 -0
- package/dist/tradeoff/heuristics/collaborationShape.js +82 -0
- package/dist/tradeoff/heuristics/collaborationShape.js.map +1 -0
- package/dist/tradeoff/heuristics/collectionShape.d.ts +2 -0
- package/dist/tradeoff/heuristics/collectionShape.js +113 -0
- package/dist/tradeoff/heuristics/collectionShape.js.map +1 -0
- package/dist/tradeoff/heuristics/dualSubjectComparison.d.ts +2 -0
- package/dist/tradeoff/heuristics/dualSubjectComparison.js +114 -0
- package/dist/tradeoff/heuristics/dualSubjectComparison.js.map +1 -0
- package/dist/tradeoff/heuristics/errorHandling.d.ts +2 -0
- package/dist/tradeoff/heuristics/errorHandling.js +110 -0
- package/dist/tradeoff/heuristics/errorHandling.js.map +1 -0
- package/dist/tradeoff/heuristics/responsibilitySplit.d.ts +23 -0
- package/dist/tradeoff/heuristics/responsibilitySplit.js +183 -0
- package/dist/tradeoff/heuristics/responsibilitySplit.js.map +1 -0
- package/dist/tradeoff/heuristics/stereotypeChoice.d.ts +2 -0
- package/dist/tradeoff/heuristics/stereotypeChoice.js +23 -0
- package/dist/tradeoff/heuristics/stereotypeChoice.js.map +1 -0
- package/dist/tradeoff/heuristics/strategyOrPolicy.d.ts +2 -0
- package/dist/tradeoff/heuristics/strategyOrPolicy.js +110 -0
- package/dist/tradeoff/heuristics/strategyOrPolicy.js.map +1 -0
- package/dist/tradeoff/heuristics/valueObjectShape.d.ts +2 -0
- package/dist/tradeoff/heuristics/valueObjectShape.js +111 -0
- package/dist/tradeoff/heuristics/valueObjectShape.js.map +1 -0
- package/dist/tradeoff/templates.d.ts +2 -0
- package/dist/tradeoff/templates.js +33 -0
- package/dist/tradeoff/templates.js.map +1 -0
- package/dist/util/log.d.ts +1 -0
- package/dist/util/log.js +7 -0
- package/dist/util/log.js.map +1 -0
- package/dist/util/mcp.d.ts +4 -0
- package/dist/util/mcp.js +18 -0
- package/dist/util/mcp.js.map +1 -0
- package/dist/validate/cohesion.d.ts +3 -0
- package/dist/validate/cohesion.js +88 -0
- package/dist/validate/cohesion.js.map +1 -0
- package/dist/validate/collectionWrapper.d.ts +3 -0
- package/dist/validate/collectionWrapper.js +131 -0
- package/dist/validate/collectionWrapper.js.map +1 -0
- package/dist/validate/coupling.d.ts +3 -0
- package/dist/validate/coupling.js +47 -0
- package/dist/validate/coupling.js.map +1 -0
- package/dist/validate/cycle.d.ts +3 -0
- package/dist/validate/cycle.js +101 -0
- package/dist/validate/cycle.js.map +1 -0
- package/dist/validate/dataDuplication.d.ts +3 -0
- package/dist/validate/dataDuplication.js +150 -0
- package/dist/validate/dataDuplication.js.map +1 -0
- package/dist/validate/dependencyDirection.d.ts +3 -0
- package/dist/validate/dependencyDirection.js +106 -0
- package/dist/validate/dependencyDirection.js.map +1 -0
- package/dist/validate/dualUseKnowing.d.ts +3 -0
- package/dist/validate/dualUseKnowing.js +137 -0
- package/dist/validate/dualUseKnowing.js.map +1 -0
- package/dist/validate/emptyObjectFill.d.ts +3 -0
- package/dist/validate/emptyObjectFill.js +119 -0
- package/dist/validate/emptyObjectFill.js.map +1 -0
- package/dist/validate/findings.d.ts +22 -0
- package/dist/validate/findings.js +12 -0
- package/dist/validate/findings.js.map +1 -0
- package/dist/validate/functionDecompositionExcess.d.ts +3 -0
- package/dist/validate/functionDecompositionExcess.js +120 -0
- package/dist/validate/functionDecompositionExcess.js.map +1 -0
- package/dist/validate/functionNotObject.d.ts +3 -0
- package/dist/validate/functionNotObject.js +80 -0
- package/dist/validate/functionNotObject.js.map +1 -0
- package/dist/validate/godObject.d.ts +6 -0
- package/dist/validate/godObject.js +76 -0
- package/dist/validate/godObject.js.map +1 -0
- package/dist/validate/presentationInDomain.d.ts +3 -0
- package/dist/validate/presentationInDomain.js +57 -0
- package/dist/validate/presentationInDomain.js.map +1 -0
- package/dist/validate/primitiveWrapper.d.ts +3 -0
- package/dist/validate/primitiveWrapper.js +106 -0
- package/dist/validate/primitiveWrapper.js.map +1 -0
- package/dist/validate/rules.d.ts +24 -0
- package/dist/validate/rules.js +269 -0
- package/dist/validate/rules.js.map +1 -0
- package/dist/validate/singletonStatefulHolder.d.ts +3 -0
- package/dist/validate/singletonStatefulHolder.js +128 -0
- package/dist/validate/singletonStatefulHolder.js.map +1 -0
- package/dist/validate/strategyAsymmetry.d.ts +3 -0
- package/dist/validate/strategyAsymmetry.js +131 -0
- package/dist/validate/strategyAsymmetry.js.map +1 -0
- package/dist/validate/testability.d.ts +5 -0
- package/dist/validate/testability.js +157 -0
- package/dist/validate/testability.js.map +1 -0
- package/dist/validate/vagueName.d.ts +3 -0
- package/dist/validate/vagueName.js +136 -0
- package/dist/validate/vagueName.js.map +1 -0
- package/dist/validate/validationLocation.d.ts +3 -0
- package/dist/validate/validationLocation.js +120 -0
- package/dist/validate/validationLocation.js.map +1 -0
- package/lessons/STYLE_GUIDE.md +304 -0
- package/lessons/woowacourse-kotlin-blackjack/2chang5/33-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +293 -0
- package/lessons/woowacourse-kotlin-blackjack/Choisehyeon/52-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +106 -0
- package/lessons/woowacourse-kotlin-blackjack/Choisehyeon/9-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +282 -0
- package/lessons/woowacourse-kotlin-blackjack/DYGames/14-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +182 -0
- package/lessons/woowacourse-kotlin-blackjack/DYGames/37-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +122 -0
- package/lessons/woowacourse-kotlin-blackjack/EmilyCh0/12-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +117 -0
- package/lessons/woowacourse-kotlin-blackjack/EmilyCh0/38-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +291 -0
- package/lessons/woowacourse-kotlin-blackjack/HANDOVER.md +1475 -0
- package/lessons/woowacourse-kotlin-blackjack/HamBeomJoon/119-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +251 -0
- package/lessons/woowacourse-kotlin-blackjack/HamBeomJoon/137-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +459 -0
- package/lessons/woowacourse-kotlin-blackjack/Hevton/100-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +282 -0
- package/lessons/woowacourse-kotlin-blackjack/Hevton/82-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +303 -0
- package/lessons/woowacourse-kotlin-blackjack/Hogu59/71-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +134 -0
- package/lessons/woowacourse-kotlin-blackjack/Hogu59/96-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +323 -0
- package/lessons/woowacourse-kotlin-blackjack/JoYehyun99/66-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +210 -0
- package/lessons/woowacourse-kotlin-blackjack/Junyoung-WON/101-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +191 -0
- package/lessons/woowacourse-kotlin-blackjack/Junyoung-WON/80-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +253 -0
- package/lessons/woowacourse-kotlin-blackjack/Leeyerin0210/108-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +516 -0
- package/lessons/woowacourse-kotlin-blackjack/Leeyerin0210/133-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +541 -0
- package/lessons/woowacourse-kotlin-blackjack/RightHennessy/22-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +278 -0
- package/lessons/woowacourse-kotlin-blackjack/RightHennessy/48-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +188 -0
- package/lessons/woowacourse-kotlin-blackjack/SeongHoonC/16-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +228 -0
- package/lessons/woowacourse-kotlin-blackjack/SeongHoonC/54-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +227 -0
- package/lessons/woowacourse-kotlin-blackjack/Yunseok-Nam/76-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +279 -0
- package/lessons/woowacourse-kotlin-blackjack/Yunseok-Nam/86-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +203 -0
- package/lessons/woowacourse-kotlin-blackjack/aprilgom/105-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +162 -0
- package/lessons/woowacourse-kotlin-blackjack/aprilgom/64-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +279 -0
- package/lessons/woowacourse-kotlin-blackjack/boogi-woogi/18-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +188 -0
- package/lessons/woowacourse-kotlin-blackjack/boogi-woogi/36-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +769 -0
- package/lessons/woowacourse-kotlin-blackjack/briandr97/19-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +226 -0
- package/lessons/woowacourse-kotlin-blackjack/briandr97/59-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +193 -0
- package/lessons/woowacourse-kotlin-blackjack/chaehyuns/70-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +175 -0
- package/lessons/woowacourse-kotlin-blackjack/chaehyuns/98-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +206 -0
- package/lessons/woowacourse-kotlin-blackjack/chanho0908/123-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +277 -0
- package/lessons/woowacourse-kotlin-blackjack/chanho0908/150-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +219 -0
- package/lessons/woowacourse-kotlin-blackjack/chws0508/26-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +259 -0
- package/lessons/woowacourse-kotlin-blackjack/chws0508/43-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +189 -0
- package/lessons/woowacourse-kotlin-blackjack/cucumber99/109-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +351 -0
- package/lessons/woowacourse-kotlin-blackjack/cucumber99/149-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +147 -0
- package/lessons/woowacourse-kotlin-blackjack/devfeijoa/121-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +168 -0
- package/lessons/woowacourse-kotlin-blackjack/devfeijoa/153-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +116 -0
- package/lessons/woowacourse-kotlin-blackjack/doabletuple/126-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +680 -0
- package/lessons/woowacourse-kotlin-blackjack/doabletuple/142-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +739 -0
- package/lessons/woowacourse-kotlin-blackjack/donghyun81/116-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +297 -0
- package/lessons/woowacourse-kotlin-blackjack/donghyun81/147-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +244 -0
- package/lessons/woowacourse-kotlin-blackjack/dpcks0509/78-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +232 -0
- package/lessons/woowacourse-kotlin-blackjack/dpcks0509/88-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +137 -0
- package/lessons/woowacourse-kotlin-blackjack/etama123/112-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +269 -0
- package/lessons/woowacourse-kotlin-blackjack/etama123/148-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +240 -0
- package/lessons/woowacourse-kotlin-blackjack/gaeun5744/102-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +146 -0
- package/lessons/woowacourse-kotlin-blackjack/gaeun5744/69-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +224 -0
- package/lessons/woowacourse-kotlin-blackjack/gahyunkim/118-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +397 -0
- package/lessons/woowacourse-kotlin-blackjack/gahyunkim/141-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +215 -0
- package/lessons/woowacourse-kotlin-blackjack/giovannijunseokim/106-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +395 -0
- package/lessons/woowacourse-kotlin-blackjack/giovannijunseokim/134-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +219 -0
- package/lessons/woowacourse-kotlin-blackjack/haeum808/62-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +230 -0
- package/lessons/woowacourse-kotlin-blackjack/haeum808/89-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +169 -0
- package/lessons/woowacourse-kotlin-blackjack/hwannow/110-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +221 -0
- package/lessons/woowacourse-kotlin-blackjack/hwannow/132-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +573 -0
- package/lessons/woowacourse-kotlin-blackjack/hxeyexn/103-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +188 -0
- package/lessons/woowacourse-kotlin-blackjack/hxeyexn/81-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +301 -0
- package/lessons/woowacourse-kotlin-blackjack/hyemdooly/21-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +613 -0
- package/lessons/woowacourse-kotlin-blackjack/hyemdooly/35-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +691 -0
- package/lessons/woowacourse-kotlin-blackjack/hyunji1203/13-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +206 -0
- package/lessons/woowacourse-kotlin-blackjack/ii2001/79-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +153 -0
- package/lessons/woowacourse-kotlin-blackjack/ii2001/85-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +318 -0
- package/lessons/woowacourse-kotlin-blackjack/ijh1298/128-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +250 -0
- package/lessons/woowacourse-kotlin-blackjack/ijh1298/135-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +269 -0
- package/lessons/woowacourse-kotlin-blackjack/inseonyun/28-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +346 -0
- package/lessons/woowacourse-kotlin-blackjack/inseonyun/49-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +360 -0
- package/lessons/woowacourse-kotlin-blackjack/ippnsj/30-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +152 -0
- package/lessons/woowacourse-kotlin-blackjack/ippnsj/42-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +213 -0
- package/lessons/woowacourse-kotlin-blackjack/jaeyeongjo/73-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +247 -0
- package/lessons/woowacourse-kotlin-blackjack/jaeyeongjo/87-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +900 -0
- package/lessons/woowacourse-kotlin-blackjack/jerry8282/125-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +248 -0
- package/lessons/woowacourse-kotlin-blackjack/jerry8282/151-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +243 -0
- package/lessons/woowacourse-kotlin-blackjack/jinuemong/63-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +281 -0
- package/lessons/woowacourse-kotlin-blackjack/jinuemong/92-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +283 -0
- package/lessons/woowacourse-kotlin-blackjack/jiyuneel/113-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +348 -0
- package/lessons/woowacourse-kotlin-blackjack/jiyuneel/140-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +265 -0
- package/lessons/woowacourse-kotlin-blackjack/junjange/61-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +270 -0
- package/lessons/woowacourse-kotlin-blackjack/junjange/93-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +465 -0
- package/lessons/woowacourse-kotlin-blackjack/junseo511/107-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +296 -0
- package/lessons/woowacourse-kotlin-blackjack/junseo511/145-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +316 -0
- package/lessons/woowacourse-kotlin-blackjack/ki960213/11-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +175 -0
- package/lessons/woowacourse-kotlin-blackjack/kimhm0728/72-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +458 -0
- package/lessons/woowacourse-kotlin-blackjack/kimhm0728/97-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +225 -0
- package/lessons/woowacourse-kotlin-blackjack/kkosang/68-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +221 -0
- package/lessons/woowacourse-kotlin-blackjack/kkosang/94-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +158 -0
- package/lessons/woowacourse-kotlin-blackjack/kmkim2689/65-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +252 -0
- package/lessons/woowacourse-kotlin-blackjack/kmkim2689/90-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +460 -0
- package/lessons/woowacourse-kotlin-blackjack/krrong/32-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +216 -0
- package/lessons/woowacourse-kotlin-blackjack/krrong/46-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +285 -0
- package/lessons/woowacourse-kotlin-blackjack/m6z1/122-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +177 -0
- package/lessons/woowacourse-kotlin-blackjack/m6z1/144-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +155 -0
- package/lessons/woowacourse-kotlin-blackjack/medAndro/130-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +683 -0
- package/lessons/woowacourse-kotlin-blackjack/medAndro/143-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +678 -0
- package/lessons/woowacourse-kotlin-blackjack/moondev03/114-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +262 -0
- package/lessons/woowacourse-kotlin-blackjack/moondev03/131-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +498 -0
- package/lessons/woowacourse-kotlin-blackjack/murjune/77-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +287 -0
- package/lessons/woowacourse-kotlin-blackjack/murjune/91-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +280 -0
- package/lessons/woowacourse-kotlin-blackjack/no1msh/31-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +250 -0
- package/lessons/woowacourse-kotlin-blackjack/otter66/24-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +302 -0
- package/lessons/woowacourse-kotlin-blackjack/otter66/58-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +391 -0
- package/lessons/woowacourse-kotlin-blackjack/oungsi2000/111-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +253 -0
- package/lessons/woowacourse-kotlin-blackjack/oungsi2000/136-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +540 -0
- package/lessons/woowacourse-kotlin-blackjack/parkjiminnnn/117-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +819 -0
- package/lessons/woowacourse-kotlin-blackjack/parkjiminnnn/139-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +683 -0
- package/lessons/woowacourse-kotlin-blackjack/pingu244/20-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +258 -0
- package/lessons/woowacourse-kotlin-blackjack/pingu244/41-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +171 -0
- package/lessons/woowacourse-kotlin-blackjack/re4rk/34-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +289 -0
- package/lessons/woowacourse-kotlin-blackjack/re4rk/8-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +297 -0
- package/lessons/woowacourse-kotlin-blackjack/rhkrwngud445/17-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +279 -0
- package/lessons/woowacourse-kotlin-blackjack/rhkrwngud445/50-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +145 -0
- package/lessons/woowacourse-kotlin-blackjack/rhthrhrl0/23-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +253 -0
- package/lessons/woowacourse-kotlin-blackjack/rhthrhrl0/39-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +238 -0
- package/lessons/woowacourse-kotlin-blackjack/rosemin928/129-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +726 -0
- package/lessons/woowacourse-kotlin-blackjack/rosemin928/138-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +845 -0
- package/lessons/woowacourse-kotlin-blackjack/s6m1n/67-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +220 -0
- package/lessons/woowacourse-kotlin-blackjack/s6m1n/99-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +229 -0
- package/lessons/woowacourse-kotlin-blackjack/s9hn/10-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +284 -0
- package/lessons/woowacourse-kotlin-blackjack/sh1mj1/75-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +224 -0
- package/lessons/woowacourse-kotlin-blackjack/songpink/74-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +238 -0
- package/lessons/woowacourse-kotlin-blackjack/songpink/95-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +216 -0
- package/lessons/woowacourse-kotlin-blackjack/sujin9/15-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +132 -0
- package/lessons/woowacourse-kotlin-blackjack/sujin9/47-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +265 -0
- package/lessons/woowacourse-kotlin-blackjack/tmdgh1592/29-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +305 -0
- package/lessons/woowacourse-kotlin-blackjack/tmdgh1592/51-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +278 -0
- package/lessons/woowacourse-kotlin-blackjack/tobae-time/115-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +305 -0
- package/lessons/woowacourse-kotlin-blackjack/tobae-time/154-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +298 -0
- package/lessons/woowacourse-kotlin-blackjack/whk06061/25-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +235 -0
- package/lessons/woowacourse-kotlin-blackjack/whk06061/53-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +130 -0
- package/lessons/woowacourse-kotlin-blackjack/wondroid-world/124-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +486 -0
- package/lessons/woowacourse-kotlin-blackjack/wondroid-world/152-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +482 -0
- package/lessons/woowacourse-kotlin-blackjack/yrsel/120-1/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +194 -0
- package/lessons/woowacourse-kotlin-blackjack/yrsel/146-2/353/213/250/352/263/204-/353/270/224/353/236/231/354/236/255.md +444 -0
- package/lessons/woowacourse-kotlin-lotto/2chang5/27-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +155 -0
- package/lessons/woowacourse-kotlin-lotto/2chang5/52-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +187 -0
- package/lessons/woowacourse-kotlin-lotto/Choisehyeon/14-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +206 -0
- package/lessons/woowacourse-kotlin-lotto/Choisehyeon/47-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +119 -0
- package/lessons/woowacourse-kotlin-lotto/DYGames/2-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +83 -0
- package/lessons/woowacourse-kotlin-lotto/DYGames/34-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +88 -0
- package/lessons/woowacourse-kotlin-lotto/EmilyCh0/12-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +107 -0
- package/lessons/woowacourse-kotlin-lotto/EmilyCh0/40-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +135 -0
- package/lessons/woowacourse-kotlin-lotto/HANDOVER.md +217 -0
- package/lessons/woowacourse-kotlin-lotto/HamBeomJoon/121-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +66 -0
- package/lessons/woowacourse-kotlin-lotto/HamBeomJoon/139-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +75 -0
- package/lessons/woowacourse-kotlin-lotto/Hevton/76-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +21 -0
- package/lessons/woowacourse-kotlin-lotto/Hevton/92-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +122 -0
- package/lessons/woowacourse-kotlin-lotto/Hogu59/100-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +110 -0
- package/lessons/woowacourse-kotlin-lotto/Hogu59/68-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +84 -0
- package/lessons/woowacourse-kotlin-lotto/JoYehyun99/60-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +176 -0
- package/lessons/woowacourse-kotlin-lotto/JoYehyun99/96-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +71 -0
- package/lessons/woowacourse-kotlin-lotto/Junyoung-WON/61-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +143 -0
- package/lessons/woowacourse-kotlin-lotto/Junyoung-WON/93-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +16 -0
- package/lessons/woowacourse-kotlin-lotto/Leeyerin0210/109-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +57 -0
- package/lessons/woowacourse-kotlin-lotto/Leeyerin0210/135-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +115 -0
- package/lessons/woowacourse-kotlin-lotto/PROGRESS.md +160 -0
- package/lessons/woowacourse-kotlin-lotto/README.md +77 -0
- package/lessons/woowacourse-kotlin-lotto/RightHennessy/32-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +178 -0
- package/lessons/woowacourse-kotlin-lotto/RightHennessy/5-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +149 -0
- package/lessons/woowacourse-kotlin-lotto/SUMMARY.md +369 -0
- package/lessons/woowacourse-kotlin-lotto/SeongHoonC/25-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +129 -0
- package/lessons/woowacourse-kotlin-lotto/SeongHoonC/37-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +27 -0
- package/lessons/woowacourse-kotlin-lotto/Yunseok-Nam/72-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +137 -0
- package/lessons/woowacourse-kotlin-lotto/Yunseok-Nam/86-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +17 -0
- package/lessons/woowacourse-kotlin-lotto/aprilgom/102-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +62 -0
- package/lessons/woowacourse-kotlin-lotto/aprilgom/64-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +146 -0
- package/lessons/woowacourse-kotlin-lotto/boogi-woogi/11-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +26 -0
- package/lessons/woowacourse-kotlin-lotto/boogi-woogi/29-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +26 -0
- package/lessons/woowacourse-kotlin-lotto/briandr97/26-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +52 -0
- package/lessons/woowacourse-kotlin-lotto/briandr97/51-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +123 -0
- package/lessons/woowacourse-kotlin-lotto/chaehyuns/71-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +115 -0
- package/lessons/woowacourse-kotlin-lotto/chaehyuns/97-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +107 -0
- package/lessons/woowacourse-kotlin-lotto/chanho0908/124-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +51 -0
- package/lessons/woowacourse-kotlin-lotto/chanho0908/129-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +149 -0
- package/lessons/woowacourse-kotlin-lotto/chws0508/24-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +117 -0
- package/lessons/woowacourse-kotlin-lotto/chws0508/50-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +167 -0
- package/lessons/woowacourse-kotlin-lotto/cucumber99/116-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +155 -0
- package/lessons/woowacourse-kotlin-lotto/cucumber99/147-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +223 -0
- package/lessons/woowacourse-kotlin-lotto/devfeijoa/125-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +68 -0
- package/lessons/woowacourse-kotlin-lotto/devfeijoa/153-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +107 -0
- package/lessons/woowacourse-kotlin-lotto/doabletuple/119-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +157 -0
- package/lessons/woowacourse-kotlin-lotto/doabletuple/138-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +77 -0
- package/lessons/woowacourse-kotlin-lotto/donghyun81/111-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +67 -0
- package/lessons/woowacourse-kotlin-lotto/donghyun81/152-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +124 -0
- package/lessons/woowacourse-kotlin-lotto/dpcks0509/80-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +141 -0
- package/lessons/woowacourse-kotlin-lotto/dpcks0509/87-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +134 -0
- package/lessons/woowacourse-kotlin-lotto/etama123/112-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +170 -0
- package/lessons/woowacourse-kotlin-lotto/etama123/148-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +183 -0
- package/lessons/woowacourse-kotlin-lotto/gaeun5744/101-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +21 -0
- package/lessons/woowacourse-kotlin-lotto/gaeun5744/78-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +158 -0
- package/lessons/woowacourse-kotlin-lotto/gahyunkim/107-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +83 -0
- package/lessons/woowacourse-kotlin-lotto/gahyunkim/136-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +51 -0
- package/lessons/woowacourse-kotlin-lotto/giovannijunseokim/106-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +171 -0
- package/lessons/woowacourse-kotlin-lotto/giovannijunseokim/137-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +111 -0
- package/lessons/woowacourse-kotlin-lotto/haeum808/67-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +52 -0
- package/lessons/woowacourse-kotlin-lotto/haeum808/95-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +97 -0
- package/lessons/woowacourse-kotlin-lotto/hwannow/113-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +235 -0
- package/lessons/woowacourse-kotlin-lotto/hwannow/132-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +149 -0
- package/lessons/woowacourse-kotlin-lotto/hxeyexn/77-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +141 -0
- package/lessons/woowacourse-kotlin-lotto/hxeyexn/98-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +162 -0
- package/lessons/woowacourse-kotlin-lotto/hyemdooly/17-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +19 -0
- package/lessons/woowacourse-kotlin-lotto/hyemdooly/28-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +23 -0
- package/lessons/woowacourse-kotlin-lotto/hyunji1203/15-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +171 -0
- package/lessons/woowacourse-kotlin-lotto/hyunji1203/48-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +150 -0
- package/lessons/woowacourse-kotlin-lotto/ii2001/62-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +104 -0
- package/lessons/woowacourse-kotlin-lotto/ii2001/88-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +20 -0
- package/lessons/woowacourse-kotlin-lotto/ijh1298/122-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +179 -0
- package/lessons/woowacourse-kotlin-lotto/ijh1298/133-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +153 -0
- package/lessons/woowacourse-kotlin-lotto/inseonyun/3-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +222 -0
- package/lessons/woowacourse-kotlin-lotto/inseonyun/49-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +166 -0
- package/lessons/woowacourse-kotlin-lotto/ippnsj/16-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +154 -0
- package/lessons/woowacourse-kotlin-lotto/ippnsj/55-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +145 -0
- package/lessons/woowacourse-kotlin-lotto/jaeyeongjo/59-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +68 -0
- package/lessons/woowacourse-kotlin-lotto/jaeyeongjo/83-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +53 -0
- package/lessons/woowacourse-kotlin-lotto/jerry8282/115-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +97 -0
- package/lessons/woowacourse-kotlin-lotto/jerry8282/134-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +145 -0
- package/lessons/woowacourse-kotlin-lotto/jinuemong/63-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +144 -0
- package/lessons/woowacourse-kotlin-lotto/jinuemong/89-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +148 -0
- package/lessons/woowacourse-kotlin-lotto/jiyuneel/128-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +52 -0
- package/lessons/woowacourse-kotlin-lotto/jiyuneel/144-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +149 -0
- package/lessons/woowacourse-kotlin-lotto/junjange/58-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +148 -0
- package/lessons/woowacourse-kotlin-lotto/junjange/81-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +178 -0
- package/lessons/woowacourse-kotlin-lotto/junseo511/120-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +153 -0
- package/lessons/woowacourse-kotlin-lotto/junseo511/131-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +188 -0
- package/lessons/woowacourse-kotlin-lotto/ki960213/43-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +24 -0
- package/lessons/woowacourse-kotlin-lotto/ki960213/8-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +159 -0
- package/lessons/woowacourse-kotlin-lotto/kimhm0728/74-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +50 -0
- package/lessons/woowacourse-kotlin-lotto/kimhm0728/94-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +176 -0
- package/lessons/woowacourse-kotlin-lotto/kkosang/85-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +145 -0
- package/lessons/woowacourse-kotlin-lotto/kmkim2689/70-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +97 -0
- package/lessons/woowacourse-kotlin-lotto/kmkim2689/82-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +157 -0
- package/lessons/woowacourse-kotlin-lotto/krrong/19-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +161 -0
- package/lessons/woowacourse-kotlin-lotto/krrong/41-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +73 -0
- package/lessons/woowacourse-kotlin-lotto/m6z1/105-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +67 -0
- package/lessons/woowacourse-kotlin-lotto/m6z1/151-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +104 -0
- package/lessons/woowacourse-kotlin-lotto/medAndro/127-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +186 -0
- package/lessons/woowacourse-kotlin-lotto/medAndro/130-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +132 -0
- package/lessons/woowacourse-kotlin-lotto/moondev03/110-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +66 -0
- package/lessons/woowacourse-kotlin-lotto/moondev03/141-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +155 -0
- package/lessons/woowacourse-kotlin-lotto/murjune/69-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +143 -0
- package/lessons/woowacourse-kotlin-lotto/murjune/90-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +177 -0
- package/lessons/woowacourse-kotlin-lotto/no1msh/20-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +69 -0
- package/lessons/woowacourse-kotlin-lotto/no1msh/46-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +143 -0
- package/lessons/woowacourse-kotlin-lotto/otter66/13-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +178 -0
- package/lessons/woowacourse-kotlin-lotto/otter66/53-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +160 -0
- package/lessons/woowacourse-kotlin-lotto/oungsi2000/126-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +71 -0
- package/lessons/woowacourse-kotlin-lotto/oungsi2000/149-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +56 -0
- package/lessons/woowacourse-kotlin-lotto/parkjiminnnn/117-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +129 -0
- package/lessons/woowacourse-kotlin-lotto/parkjiminnnn/146-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +173 -0
- package/lessons/woowacourse-kotlin-lotto/pingu244/33-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +21 -0
- package/lessons/woowacourse-kotlin-lotto/pingu244/54-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +30 -0
- package/lessons/woowacourse-kotlin-lotto/pingu244/7-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +19 -0
- package/lessons/woowacourse-kotlin-lotto/re4rk/31-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +143 -0
- package/lessons/woowacourse-kotlin-lotto/re4rk/4-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +66 -0
- package/lessons/woowacourse-kotlin-lotto/rhkrwngud445/23-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +26 -0
- package/lessons/woowacourse-kotlin-lotto/rhkrwngud445/38-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +129 -0
- package/lessons/woowacourse-kotlin-lotto/rhthrhrl0/21-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +146 -0
- package/lessons/woowacourse-kotlin-lotto/rhthrhrl0/36-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +150 -0
- package/lessons/woowacourse-kotlin-lotto/rosemin928/123-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +179 -0
- package/lessons/woowacourse-kotlin-lotto/rosemin928/140-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +126 -0
- package/lessons/woowacourse-kotlin-lotto/s6m1n/103-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +119 -0
- package/lessons/woowacourse-kotlin-lotto/s6m1n/66-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +118 -0
- package/lessons/woowacourse-kotlin-lotto/s9hn/18-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +112 -0
- package/lessons/woowacourse-kotlin-lotto/sh1mj1/75-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +104 -0
- package/lessons/woowacourse-kotlin-lotto/sh1mj1/91-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +140 -0
- package/lessons/woowacourse-kotlin-lotto/songpink/65-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +96 -0
- package/lessons/woowacourse-kotlin-lotto/songpink/99-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +64 -0
- package/lessons/woowacourse-kotlin-lotto/sujin9/10-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +20 -0
- package/lessons/woowacourse-kotlin-lotto/sujin9/35-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +124 -0
- package/lessons/woowacourse-kotlin-lotto/tmdgh1592/22-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +30 -0
- package/lessons/woowacourse-kotlin-lotto/tmdgh1592/30-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +20 -0
- package/lessons/woowacourse-kotlin-lotto/tobae-time/114-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +158 -0
- package/lessons/woowacourse-kotlin-lotto/tobae-time/145-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +120 -0
- package/lessons/woowacourse-kotlin-lotto/whk06061/42-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +21 -0
- package/lessons/woowacourse-kotlin-lotto/whk06061/9-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +89 -0
- package/lessons/woowacourse-kotlin-lotto/wondroid-world/118-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +100 -0
- package/lessons/woowacourse-kotlin-lotto/wondroid-world/150-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +142 -0
- package/lessons/woowacourse-kotlin-lotto/yrsel/108-1/353/213/250/352/263/204-/353/241/234/353/230/220.md +124 -0
- package/lessons/woowacourse-kotlin-lotto/yrsel/143-2/353/213/250/352/263/204-/353/241/234/353/230/220.md +108 -0
- package/lessons/woowacourse-racingcar/2chang5/33-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +56 -0
- package/lessons/woowacourse-racingcar/2chang5/75-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/CFalws/85-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +56 -0
- package/lessons/woowacourse-racingcar/Choisehyeon/46-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +61 -0
- package/lessons/woowacourse-racingcar/DYGames/49-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +62 -0
- package/lessons/woowacourse-racingcar/EmilyCh0/40-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +64 -0
- package/lessons/woowacourse-racingcar/EmilyCh0/57-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/HamBeomJoon/137-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/HamBeomJoon/170-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +50 -0
- package/lessons/woowacourse-racingcar/Hevton/106-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/Hevton/118-/353/246/254/355/214/251/355/204/260/353/247/201.md +51 -0
- package/lessons/woowacourse-racingcar/Hogu59/108-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +56 -0
- package/lessons/woowacourse-racingcar/Hogu59/125-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +59 -0
- package/lessons/woowacourse-racingcar/JoYehyun99/111-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +57 -0
- package/lessons/woowacourse-racingcar/JoYehyun99/88-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +45 -0
- package/lessons/woowacourse-racingcar/Junyoung-WON/127-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +49 -0
- package/lessons/woowacourse-racingcar/Junyoung-WON/90-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +49 -0
- package/lessons/woowacourse-racingcar/Leeyerin0210/133-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +50 -0
- package/lessons/woowacourse-racingcar/Leeyerin0210/159-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/PROGRESS.md +94 -0
- package/lessons/woowacourse-racingcar/README.md +69 -0
- package/lessons/woowacourse-racingcar/RightHennessy/51-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/RightHennessy/58-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +57 -0
- package/lessons/woowacourse-racingcar/RunaNam/81-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +44 -0
- package/lessons/woowacourse-racingcar/SUMMARY.md +339 -0
- package/lessons/woowacourse-racingcar/SeongHoonC/37-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +57 -0
- package/lessons/woowacourse-racingcar/SeongHoonC/66-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +48 -0
- package/lessons/woowacourse-racingcar/Songusika/84-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +60 -0
- package/lessons/woowacourse-racingcar/Yunseok-Nam/114-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +43 -0
- package/lessons/woowacourse-racingcar/Yunseok-Nam/96-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/aprilgom/130-/353/246/254/355/214/251/355/204/260/353/247/201.md +52 -0
- package/lessons/woowacourse-racingcar/aprilgom/97-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +49 -0
- package/lessons/woowacourse-racingcar/awesomeo184/23-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +48 -0
- package/lessons/woowacourse-racingcar/boogi-woogi/35-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +62 -0
- package/lessons/woowacourse-racingcar/boogi-woogi/59-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/briandr97/54-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +57 -0
- package/lessons/woowacourse-racingcar/chaehyuns/131-/353/246/254/355/214/251/355/204/260/353/247/201.md +49 -0
- package/lessons/woowacourse-racingcar/chaehyuns/99-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +52 -0
- package/lessons/woowacourse-racingcar/chanho0908/147-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/chanho0908/160-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +50 -0
- package/lessons/woowacourse-racingcar/chws0508/45-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +61 -0
- package/lessons/woowacourse-racingcar/chws0508/73-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +46 -0
- package/lessons/woowacourse-racingcar/cucumber99/132-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/cucumber99/177-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/devfeijoa/146-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +57 -0
- package/lessons/woowacourse-racingcar/doabletuple/149-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/doabletuple/175-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/donghyun81/154-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +58 -0
- package/lessons/woowacourse-racingcar/dpcks0509/103-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +48 -0
- package/lessons/woowacourse-racingcar/dpcks0509/112-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +48 -0
- package/lessons/woowacourse-racingcar/drunkenhw/82-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +60 -0
- package/lessons/woowacourse-racingcar/etama123/145-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +59 -0
- package/lessons/woowacourse-racingcar/gaeun5744/124-/353/246/254/355/214/251/355/204/260/353/247/201.md +53 -0
- package/lessons/woowacourse-racingcar/gaeun5744/93-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +60 -0
- package/lessons/woowacourse-racingcar/gahyunkim/134-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/gahyunkim/164-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/giovannijunseokim/140-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/haeum808/101-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/haeum808/129-/353/246/254/355/214/251/355/204/260/353/247/201.md +46 -0
- package/lessons/woowacourse-racingcar/hwannow/141-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +56 -0
- package/lessons/woowacourse-racingcar/hwannow/157-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +45 -0
- package/lessons/woowacourse-racingcar/hxeyexn/109-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +61 -0
- package/lessons/woowacourse-racingcar/hxeyexn/128-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +59 -0
- package/lessons/woowacourse-racingcar/hyemdooly/50-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +48 -0
- package/lessons/woowacourse-racingcar/hyemdooly/68-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/hyunji1203/29-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/hyunji1203/60-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +50 -0
- package/lessons/woowacourse-racingcar/ii2001/102-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +42 -0
- package/lessons/woowacourse-racingcar/ii2001/122-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +49 -0
- package/lessons/woowacourse-racingcar/ijh1298/144-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +57 -0
- package/lessons/woowacourse-racingcar/injoon2019/24-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +58 -0
- package/lessons/woowacourse-racingcar/inseonyun/44-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +60 -0
- package/lessons/woowacourse-racingcar/inseonyun/76-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/ippnsj/36-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/ippnsj/67-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +57 -0
- package/lessons/woowacourse-racingcar/jaeyeongjo/110-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +39 -0
- package/lessons/woowacourse-racingcar/jaeyeongjo/89-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +46 -0
- package/lessons/woowacourse-racingcar/jinuemong/104-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +49 -0
- package/lessons/woowacourse-racingcar/jinuemong/117-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +42 -0
- package/lessons/woowacourse-racingcar/jiyuneel/142-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +59 -0
- package/lessons/woowacourse-racingcar/junjange/113-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +41 -0
- package/lessons/woowacourse-racingcar/junjange/87-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +39 -0
- package/lessons/woowacourse-racingcar/junseo511/148-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +52 -0
- package/lessons/woowacourse-racingcar/junseo511/165-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +51 -0
- package/lessons/woowacourse-racingcar/ki960213/32-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/ki960213/63-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +51 -0
- package/lessons/woowacourse-racingcar/kimhm0728/100-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +52 -0
- package/lessons/woowacourse-racingcar/kimhm0728/116-/353/246/254/355/214/251/355/204/260/353/247/201.md +54 -0
- package/lessons/woowacourse-racingcar/kkosang/105-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/kkosang/126-/353/246/254/355/214/251/355/204/260/353/247/201.md +53 -0
- package/lessons/woowacourse-racingcar/kmkim2689/123-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +50 -0
- package/lessons/woowacourse-racingcar/kmkim2689/92-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/krrong/34-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +63 -0
- package/lessons/woowacourse-racingcar/m6z1/150-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/m6z1/156-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +40 -0
- package/lessons/woowacourse-racingcar/medAndro/153-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/moondev03/135-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +57 -0
- package/lessons/woowacourse-racingcar/moondev03/161-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +52 -0
- package/lessons/woowacourse-racingcar/murjune/121-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +50 -0
- package/lessons/woowacourse-racingcar/murjune/95-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/no1msh/43-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/no1msh/69-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +60 -0
- package/lessons/woowacourse-racingcar/otter66/48-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/otter66/77-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +52 -0
- package/lessons/woowacourse-racingcar/oungsi2000/152-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +56 -0
- package/lessons/woowacourse-racingcar/oungsi2000/187-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/parkjiminnnn/143-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +58 -0
- package/lessons/woowacourse-racingcar/parkjiminnnn/158-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/pingu244/38-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +58 -0
- package/lessons/woowacourse-racingcar/pingu244/62-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +59 -0
- package/lessons/woowacourse-racingcar/re4rk/28-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +60 -0
- package/lessons/woowacourse-racingcar/re4rk/55-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/rhkrwngud445/42-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/rhkrwngud445/74-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +47 -0
- package/lessons/woowacourse-racingcar/rhthrhrl0/31-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +43 -0
- package/lessons/woowacourse-racingcar/rosemin928/138-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/rosemin928/171-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +38 -0
- package/lessons/woowacourse-racingcar/s6m1n/120-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +54 -0
- package/lessons/woowacourse-racingcar/s6m1n/91-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +62 -0
- package/lessons/woowacourse-racingcar/s9hn/53-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +44 -0
- package/lessons/woowacourse-racingcar/s9hn/78-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +43 -0
- package/lessons/woowacourse-racingcar/sh1mj1/107-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/sh1mj1/115-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +61 -0
- package/lessons/woowacourse-racingcar/songpink/119-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +51 -0
- package/lessons/woowacourse-racingcar/songpink/98-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +55 -0
- package/lessons/woowacourse-racingcar/sujin9/52-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +48 -0
- package/lessons/woowacourse-racingcar/sujin9/61-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +47 -0
- package/lessons/woowacourse-racingcar/tmdgh1592/47-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +49 -0
- package/lessons/woowacourse-racingcar/tmdgh1592/64-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/tobae-time/151-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +51 -0
- package/lessons/woowacourse-racingcar/tobae-time/167-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +43 -0
- package/lessons/woowacourse-racingcar/whk06061/41-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +58 -0
- package/lessons/woowacourse-racingcar/wondroid-world/136-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +49 -0
- package/lessons/woowacourse-racingcar/wondroid-world/166-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +50 -0
- package/lessons/woowacourse-racingcar/yrsel/139-1/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +53 -0
- package/lessons/woowacourse-racingcar/yujamint/83-2/353/213/250/352/263/204-/354/236/220/353/217/231/354/260/250-/352/262/275/354/243/274.md +59 -0
- package/package.json +46 -0
- package/skills/oh-my-oop/SKILL.md +39 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# PR #71 — [블랙잭 1단계] 악어 미션
|
|
2
|
+
|
|
3
|
+
- **Reviewee:** [@Hogu59](https://github.com/Hogu59)
|
|
4
|
+
- **PR:** https://github.com/woowacourse/kotlin-blackjack/pull/71
|
|
5
|
+
- **단계:** 1단계
|
|
6
|
+
- **리뷰어:** [@malibinYun](https://github.com/malibinYun) (말리빈) — 2024 코호트 reviewer + 2단계 #96 동일 reviewer
|
|
7
|
+
- **라인 코멘트:** 10 스레드 — *간단 PR 본문 + Answer enum 확장성 (y/n vs yes/no vs 예/아니오 vs o/x) 학생 자가 *확장성 부족* 인정 + Hand 가 카드 + 덱 동시 자연성 (2단계 #96 PR 본문 자가 의문 결) + Judge = 심판 현실 메타포 회피 + 다이아 8 카드 인스턴스 테스트 용이성 + Hand ACE 점수 계산 응집 + 카드 소모 시 게임 graceful 처리*
|
|
8
|
+
- **양 단계 완성 reviewee** (2단계 #96 batch 22 분석 완료 + 1단계 #71 = batch 23 추가).
|
|
9
|
+
|
|
10
|
+
## 잘한 점 (설계 관점)
|
|
11
|
+
|
|
12
|
+
### 1. 간단 PR 본문 + 1단계 → 2단계 학습 시간성
|
|
13
|
+
|
|
14
|
+
PR 본문 (간단):
|
|
15
|
+
|
|
16
|
+
> *"리뷰어님 안녕하세요, 우테코 안드로이드 6기 크루 악어입니다! 블랙잭 미션 동안 잘 부탁드립니다! 🙇 감사합니다!"*
|
|
17
|
+
|
|
18
|
+
→ **간단 PR 본문** = PR #11·#13·#22·#33 결의 *간단 PR 본문* 합류.
|
|
19
|
+
|
|
20
|
+
다만 **2단계 #96 PR 본문에서 *손이 덱과 카드를 동시에 아는가* 자가 의문** = *1단계 reviewer Thread 3 권고 (Hand 가 카드 + 덱 동시 자연성)* → *2단계 자가 학습 시간성 정점*. **MCP `oh-my-oop` *학습 = 시간 두고 반복* 어휘 정점**.
|
|
21
|
+
|
|
22
|
+
### 2. Answer enum 확장성 학생 자가 인정 (Thread 2)
|
|
23
|
+
|
|
24
|
+
reviewer: *"입력 값이 y,n 뿐만 아니라, yes, no, 예, 아니오, o,x 등 요구사항이 추가된다면, 이 메서드는 어떤 변화를 맞이하게 될까요?"*
|
|
25
|
+
|
|
26
|
+
학생:
|
|
27
|
+
|
|
28
|
+
> *"앗 그러네요! 요구조건에만 부합하고 추가적인 확장성에 대한 생각이 많이 부족했던 것 같습니다. Answer는 상태만 들고 있는 enum class로 놔두고 해당 부분의 로직은 InputView에서 처리하도록 변경해두었습니다! 😄"*
|
|
29
|
+
|
|
30
|
+
→ **확장성 부족 자가 인지 + Domain (enum) ↔ View (입력 변환) 분리** = PR #96 (입력 다양성 통제 X 학생 자가 메타 학습) 결의 *동일 reviewer 1단계 발견 → 2단계 메타 학습*. **학습 시간성 정점**.
|
|
31
|
+
|
|
32
|
+
### 3. 학생 자가 학습 시간성 (1단계 #71 → 2단계 #96) — 메타 케이스
|
|
33
|
+
|
|
34
|
+
PR #71 1단계 (2024-03)의 reviewer 권고 → PR #96 2단계 (2024-03) 의 학생 자가 PR 본문 자가 의문 + 자가 메타 학습. **1년 늦은 2단계 = 학생이 사이 시간에 깊은 자가 학습**.
|
|
35
|
+
|
|
36
|
+
**MCP 룰 `multi-stage-self-learning-time-gap` 후보** — *학생 자가 1단계 → 2단계 사이 학습 시간 = 학습 깊이*.
|
|
37
|
+
|
|
38
|
+
## 못한 점 (설계 관점)
|
|
39
|
+
|
|
40
|
+
### 1. 게임 플레이 도메인 로직 = Controller 가 아닌 도메인 (Thread 1)
|
|
41
|
+
|
|
42
|
+
reviewer: *"게임을 플레이하는 이 로직은 도메인 로직이에요. 도메인 로직으로 분리해보는 건 어떨까요?"*
|
|
43
|
+
|
|
44
|
+
→ **business-logic-vs-controller-logic** = 누적 다수 PR.
|
|
45
|
+
|
|
46
|
+
### 2. Hand 가 카드 + 덱 동시 자연성 (Thread 3) — *2단계 #96 PR 본문 자가 의문 결*
|
|
47
|
+
|
|
48
|
+
§1 참조.
|
|
49
|
+
|
|
50
|
+
### 3. Judge = 심판 현실 메타포 회피 (Thread 5)
|
|
51
|
+
|
|
52
|
+
reviewer: *"현실 세계에도 심판 역할이 따로 존재할까요? 현실 세계를 조금 반영해서, 객체 간 메시지를 던져 결과를 반환할 수 있도록 구성해보는 건 어떨까요?"*
|
|
53
|
+
|
|
54
|
+
→ **현실 메타포 정합** = PR #117·#129·#130·#143·#109 결 합류 누적 13+ PR ⭐⭐⭐.
|
|
55
|
+
|
|
56
|
+
### 4. 다이아 8 카드 인스턴스 테스트 용이성 (Thread 6)
|
|
57
|
+
|
|
58
|
+
reviewer: *"다른 개발자가 테스트를 위해 다아이몬드 8 카드 인스턴스를 바로 만들고 싶을 때, 그 개발자는 그 카드를 손쉽게 꺼내올 수 있을까요?"*
|
|
59
|
+
|
|
60
|
+
학생: *"이 부분도 사용자친화적이지 못하게 설계한 것 같네요! 개인적으로 주생성자를 막는것을 좋아하는데, 이부분은 아래에서 적어두었습니다."*
|
|
61
|
+
|
|
62
|
+
→ **테스트 fixture 용이성 + 학생 자가 *주생성자 막기* 의견** = PR #126·#130·#141 (test-fixture-secondary-constructor) 결.
|
|
63
|
+
|
|
64
|
+
다만 **2단계 #96** 에서 *MarkType String 입력 다양성 ("A" vs "ACE")* 학생 자가 학습 → *1단계 reviewer 권고 자가 적용*.
|
|
65
|
+
|
|
66
|
+
### 5. ACE 점수 계산 = Hand 응집 (Thread 7)
|
|
67
|
+
|
|
68
|
+
reviewer: *"ACE에 대한 점수 계산은, 카드 점수를 계산하는 행위와 크게 다르지 않아보이네요! 카드 점수를 계산하는 곳으로 역할을 옮겨보는 건 어떨까요?"*
|
|
69
|
+
|
|
70
|
+
→ **god-class 회피 + Hand 응집** = PR #21·#117·#129·#138·#141 결 합류.
|
|
71
|
+
|
|
72
|
+
### 6. HumanName 생성자 vs 팩토리 (Thread 8)
|
|
73
|
+
|
|
74
|
+
reviewer: *"생성자를 직접 활용하지 않은 이유가 궁금해요!"*
|
|
75
|
+
|
|
76
|
+
→ **불필요한 추상화 자가 의문** = PR #109 결.
|
|
77
|
+
|
|
78
|
+
### 7. 카드 소모 시 게임 진행 (Thread 9)
|
|
79
|
+
|
|
80
|
+
reviewer: *"카드를 중간에 모두 소모하게 되면 게임은 어떻게 될까요?"*
|
|
81
|
+
|
|
82
|
+
학생:
|
|
83
|
+
|
|
84
|
+
> *"한 게임만 진행하고, 10명만 참여가 가능하게 했어서 덱에 카드가 0장이 된다는 생각은 못해본 것 같네요. 확실히 게임을 계속 진행하거나 인원이 늘어났을때를 생각해보면 소모되는 상황도 고려해보는게 좋을 것 같습니다."*
|
|
85
|
+
|
|
86
|
+
→ **카드 부족 처리** = PR #113·#118·#129·#138·#141·#130 결 합류. 학생 자가 *재 초기화 함수* 적용.
|
|
87
|
+
|
|
88
|
+
### 8. `run` 스코프 함수 배경 (Thread 4)
|
|
89
|
+
|
|
90
|
+
reviewer: *"run 스코프 함수를 활용하게된 배경이 궁금해요!"*
|
|
91
|
+
|
|
92
|
+
→ **Kotlin scope function 의도 학생 자가 의문** = PR #93·#117·#138 (Kotlin 어휘 자가 학습) 결.
|
|
93
|
+
|
|
94
|
+
### 9. 테스트 픽스처 외부글 (Thread 10)
|
|
95
|
+
|
|
96
|
+
reviewer: *"테스트 픽스처에 대한 좋은 글을 공유드릴게요 :) https://jojoldu.tistory.com/611"*
|
|
97
|
+
|
|
98
|
+
→ **외부글 (jojoldu)** = PR #36·#87·#117·#129·#138·#118 결 합류 누적 7+ PR.
|
|
99
|
+
|
|
100
|
+
## 대표 인용
|
|
101
|
+
|
|
102
|
+
> [malibinYun Thread 2]
|
|
103
|
+
> *"입력 값이 y,n 뿐만 아니라, yes, no, 예, 아니오, o,x 등 요구사항이 추가된다면, 이 메서드는 어떤 변화를 맞이하게 될까요?"*
|
|
104
|
+
|
|
105
|
+
→ **입력 다양성 통제 X 어휘** — *PR #96 (Hogu59 2단계) 자가 학습 어휘*. **MCP 룰 `input-diversity-uncontrollable` 강화** 누적 2+ PR (#71·#96).
|
|
106
|
+
|
|
107
|
+
> [malibinYun Thread 5]
|
|
108
|
+
> *"현실 세계에도 심판 역할이 따로 존재할까요? 현실 세계를 조금 반영해서, 객체 간 메시지를 던져 결과를 반환할 수 있도록 구성해보는 건 어떨까요?"*
|
|
109
|
+
|
|
110
|
+
→ **현실 메타포 어휘** — PR #117 (KwonDae) + PR #129 (KwonDae) + PR #130 (hyemdooly) + PR #143 (medAndro 자가 인용) + PR #109 (학생 자가) + PR #113 (학생 자가) 결 합류. 누적 14+ PR ⭐⭐⭐.
|
|
111
|
+
|
|
112
|
+
## 얻은 교훈 (보편)
|
|
113
|
+
|
|
114
|
+
1. **1단계 #71 → 2단계 #96 학생 자가 학습 시간성 (1년 늦은 2단계)** — **MCP 룰 `multi-stage-self-learning-time-gap` 후보**.
|
|
115
|
+
|
|
116
|
+
2. **Answer enum 확장성 학생 자가 부족 인정** — PR #96 (입력 다양성 통제 X) 결의 *시간 두고 반복 학습*.
|
|
117
|
+
|
|
118
|
+
3. **현실 메타포 정합 (Judge = 심판 회피)** — 누적 14+ PR ⭐⭐⭐.
|
|
119
|
+
|
|
120
|
+
4. **카드 부족 graceful 처리** — 누적 7+ PR.
|
|
121
|
+
|
|
122
|
+
5. **테스트 fixture 외부글 (jojoldu)** — 누적 7+ PR.
|
|
123
|
+
|
|
124
|
+
6. **Hand god-class 회피 + 응집** — 누적 다수.
|
|
125
|
+
|
|
126
|
+
## MCP 룰 후보 신규 + 강화 (PR #71)
|
|
127
|
+
|
|
128
|
+
| 룰 | 신규 / 강화 | 누적 PR |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| `multi-stage-self-learning-time-gap` | 신규 | 1 (#71→#96) |
|
|
131
|
+
| `input-diversity-uncontrollable` | 강화 | 2+ (#71·#96) |
|
|
132
|
+
| `metaphor-fidelity-locator` | 강화 | 14+ ⭐⭐⭐ |
|
|
133
|
+
| `card-shortage-handling-strategy` | 강화 | 7+ |
|
|
134
|
+
| `external-resource-reference` | 강화 | 7+ |
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# PR #96 — [블랙잭 2단계] 악어 미션
|
|
2
|
+
|
|
3
|
+
- **Reviewee:** [@Hogu59](https://github.com/Hogu59)
|
|
4
|
+
- **PR:** https://github.com/woowacourse/kotlin-blackjack/pull/96
|
|
5
|
+
- **단계:** 2단계
|
|
6
|
+
- **리뷰어:** [@malibinYun](https://github.com/malibinYun) (말리빈) — 2024 코호트 reviewer (PR #95·#23 등) + 2025 PR #118·#141 reviewer (다년 활동)
|
|
7
|
+
- **라인 코멘트:** 28 스레드 — *PR 본문 학생 자가 *손이 덱과 카드를 동시에 아는가* 의존성 흐름 자가 의문 + 학생 자가 의견 명시 + 모든 28 스레드 학생 자가 답변 + 자가 후속 의문 6+ 회 + Dealer-Player 비교 vs Human-Human 비교 (유연성) + 카드 재활용 (private constructor + 팩토리 메서드) + MarkType String 입력 다양성 ("A" vs "ACE") 자가 학습 + 매직 넘버 46 → 학생 자가 *팀의 코드* 어휘 학습 + BlackjackGame 객체 권유 + 명명 6+ 변경 (ResultType/ValueType/MarkType/isPossible/Hand.draw/Mark)*
|
|
8
|
+
- **양 단계 완성 reviewee** (1단계 #71 = 10 thread 적음 = **2단계 단독 가치**, 2024 코호트). batch 22 = Hogu59 2단계만 분석 (1단계 분석 보류).
|
|
9
|
+
|
|
10
|
+
## 잘한 점 (설계 관점)
|
|
11
|
+
|
|
12
|
+
### 1. PR 본문 자가 의존성 흐름 의문 + *손이 덱과 카드를 동시에 아는가*
|
|
13
|
+
|
|
14
|
+
PR 본문:
|
|
15
|
+
|
|
16
|
+
> *"`손`이 `덱`과 `카드`를 동시에 아는 것이 맞는가에 대한 코멘트를 보면서, 제가 생각했던 의존성 흐름과 실제로 제가 짠 코드가 다르다는 것을 발견하게 되었습니다. 그 부분에서부터 어떻게 하면 좋을까 고민이 좀 많아지다가 피드백 반영이 많이 늦어졌습니다.*
|
|
17
|
+
>
|
|
18
|
+
> *아래의 의존성 그래프에 맞춰 최대한 구현해보고자 노력해보았는데, 이런 흐름에 맞추다보니 결국 컨트롤러에서는 `Deck`에서 꺼낸 카드를 직접 `Player`의 `Hand`에 넣어주게 되는 부분이 필연적으로 생기게 되었고, 과연 이렇게 하는 것이 적절한가에 대한 의문이 들었습니다."*
|
|
19
|
+
|
|
20
|
+
→ **학생 자가 의존성 흐름 의식 + 자가 한계 인정 + 1단계 → 2단계 사이 학습 시간 지연 자가 사과** = *MCP `oh-my-oop` *학습 = 시간 두고 반복* 어휘 정점*. PR #138·#142·#143·#130·#118·#141 결 합류.
|
|
21
|
+
|
|
22
|
+
### 2. Dealer-Player vs Human-Human 비교 (유연성)
|
|
23
|
+
|
|
24
|
+
학생 자가 의견 (Thread 2):
|
|
25
|
+
|
|
26
|
+
> *"Human(Player, Dealer의 상위 인터페이스)으로 굳이 옮기지 않은 이유는, 과연 Player에게 비교하는 계산이 필요한가에 대한 생각이 들었기 때문입니다. 실제로 블랙잭 게임을 하게 된다면, 플레이어는 판단을 못하더라도 딜러는 가장 적절한 판단을 알아서 해서 플레이어에게 결과를 주기 때문에, 딜러만 판단에 대한 로직을 가지는게 적절하다고 생각했습니다!"*
|
|
27
|
+
|
|
28
|
+
reviewer 자가 후속:
|
|
29
|
+
|
|
30
|
+
> *"음~ 저는 Human이 Human 끼리 비교하는 것도 하나의 방법이라 생각이 드네요. 플레이어 중 한 명이 딜러가 되어서 게임을 이어가게 만드는 유연함을 제공해줄 수도 있으니까요.*
|
|
31
|
+
>
|
|
32
|
+
> *여러 방법에 대해 가능성을 열어두고, 장단점들을 잘 저울질 해보셔도 좋겠어요 :)"*
|
|
33
|
+
|
|
34
|
+
→ **유연성 어휘 + N 안 트레이드오프** = *플레이어 → 딜러 역할 전환 가정* 유연성. **MCP `oop_propose_alternatives` 핵심 가치 합류**.
|
|
35
|
+
|
|
36
|
+
**MCP 룰 `flexibility-vs-current-rule-tradeoff` 후보** — *현재 룰 vs 미래 유연성 트레이드오프*.
|
|
37
|
+
|
|
38
|
+
### 3. MarkType String 입력 다양성 학생 자가 학습 ("A" vs "ACE")
|
|
39
|
+
|
|
40
|
+
reviewer (Thread 7):
|
|
41
|
+
|
|
42
|
+
> *"다른 개발자들은 'A' 대신 'ACE'를 넣는다면, 또, 'S'대신 Spade, spade ,♠️를 넣는다면 어떻게 될까요? 이 부분을 모두 대응해주어야할까요? 또, 도메인 로직에 포함시키는 것이 적절할까요?*
|
|
43
|
+
>
|
|
44
|
+
> *생성에 대한 가짓수를 제공해주는 건 매우 좋지만, 그것은 도메인 로직을 해치지 않으며 누구나 이해 가능한 형태로 제작했을 때 빛을 바란다 생각해요 :)"*
|
|
45
|
+
|
|
46
|
+
학생 자가 답변 (메타 학습):
|
|
47
|
+
|
|
48
|
+
> *"1) 제가 생각하는 범주보다 더 다양한 경우의 수가 존재한다는 것에 대해서 간과하고 있었던 것 같습니다. (제가 모든 경우를 파악하거나 통제할 수 있다고 착각했습니다.)*
|
|
49
|
+
> *2) 도메인 로직을 지키면서 누구나 이해가능한(혹은 범용적인) 형태로 제작하는 것에 대해 앞으로도 더 고민해보도록 하겠습니다!"*
|
|
50
|
+
|
|
51
|
+
→ **학생 자가 *모든 경우 통제 못함* 메타 학습** = **MCP `oh-my-oop` 핵심 가치 (자가 한계 인지) 어휘 정점**. **MCP 룰 `input-diversity-uncontrollable` 후보** — *입력 다양성 = 모든 경우 통제 X*.
|
|
52
|
+
|
|
53
|
+
### 4. 매직 넘버 46 = *팀의 코드* 어휘 학생 자가 학습 (Thread 10)
|
|
54
|
+
|
|
55
|
+
reviewer:
|
|
56
|
+
|
|
57
|
+
> *"저는 저 이외에 아무도 이해할 수 없는 코드는 절대 작성하지 않아요. 또, 기능들은 필요에 의해 만드는 편입니다 :) 내가 작성한 코드더라도, 프로젝트에 들어가는 순간 그건 개인의 것이 아닌, 팀의 코드이니까요 :)"*
|
|
58
|
+
|
|
59
|
+
학생 자가 답변 (메타 학습):
|
|
60
|
+
|
|
61
|
+
> *"나의 코드가 아니라 팀의 코드로서 가치가 있는 코드인가.. 알려주셔서 감사합니다!*
|
|
62
|
+
>
|
|
63
|
+
> *모두가 같이 운용하는 어떠한 사업장이라면 나만 사용하는 어떤 물건을 공용공간에 함부로 두지 않는 것처럼 프로젝트 공간 내에서도 공유하여 사용되지 않을 부분은 과감히 삭제하는 것이 좀 더 옳다는 생각을 하게 되었습니다!"*
|
|
64
|
+
|
|
65
|
+
→ **팀의 코드 어휘 = maintainer perspective locator 정점** + **YAGNI 적용 학생 자가 학습** = *PR #146 (YAGNI 인용) 결 + PR #130 (YAGNI 위반 자가 인지) 결 강화*.
|
|
66
|
+
|
|
67
|
+
**MCP 룰 `team-code-vs-personal-code` 후보** — *팀의 코드 어휘*. PR #87·#76·#107·#82·#130 (maintainer perspective locator) 결 강화 누적 12+ PR.
|
|
68
|
+
|
|
69
|
+
### 5. 학생 자가 *엘레강트 오브젝트* 책 인용 (Thread 7)
|
|
70
|
+
|
|
71
|
+
학생:
|
|
72
|
+
|
|
73
|
+
> *"이부분은 엘레강트 오브젝트 책을 보면서 클래스는 충분히 많은 (부)생성자를 가져야한다는 생각에 공감해서 만든 팩토리 메서드였습니다."*
|
|
74
|
+
|
|
75
|
+
→ **외부 책 인용 (엘레강트 오브젝트)** = PR #136·#118·#108 결 합류. **MCP 룰 `external-book-reference` 후보** — *외부 책 자가 학습 인용*.
|
|
76
|
+
|
|
77
|
+
### 6. 카드 재활용 (private constructor + 팩토리 메서드) — PR #118 결 합류
|
|
78
|
+
|
|
79
|
+
reviewer (Thread 6): *"카드를 사용하는 경우는 얼마나 될까요? 한 번 만들어진 카드를 재활용해볼 수 있을까요?"*
|
|
80
|
+
|
|
81
|
+
학생 자가 적용: *팩토리 메서드 + private constructor*. PR #118 (Flyweight) 결 합류 누적 2+ PR.
|
|
82
|
+
|
|
83
|
+
### 7. 명명 6+ 변경 자가 적용
|
|
84
|
+
|
|
85
|
+
- `ResultType` → `GameResult` (Thread 13).
|
|
86
|
+
- `ValueType` → `Denomination` (Thread 9).
|
|
87
|
+
- `MarkType` → `Suit` (Thread 9).
|
|
88
|
+
- `isPossible` → `isHittable` (Thread 17).
|
|
89
|
+
- `Hand.draw()` → `Hand.add()` (Thread 12).
|
|
90
|
+
- `MarkType.of(String)` → 삭제 (Thread 7).
|
|
91
|
+
|
|
92
|
+
→ **이름 의미 정확성 자가 학습 정점** = PR #36·#117·#129·#130·#139·#109·#113·#118 결 합류 누적 9+ PR.
|
|
93
|
+
|
|
94
|
+
### 8. 학생 자가 의존성 그래프 그림 + 자가 의문 (PR 본문)
|
|
95
|
+
|
|
96
|
+
학생이 *의존성 그래프* 그림으로 의존성 흐름 시각화. **자가 시각화 학습 정점**. **MCP 룰 `student-self-dependency-graph-visualization` 후보**.
|
|
97
|
+
|
|
98
|
+
### 9. 모든 28 스레드 학생 자가 답변 + 자가 후속 의문 6+ 회 + 메타 학습 어휘
|
|
99
|
+
|
|
100
|
+
## 못한 점 (설계 관점)
|
|
101
|
+
|
|
102
|
+
### 1. Dealer.play(deck) 의존성 학생 자가 의문
|
|
103
|
+
|
|
104
|
+
학생 자가 의문 (Thread 1):
|
|
105
|
+
|
|
106
|
+
> *"그러면 `Dealer`는 `deck`에 의존해야만 구현이 가능하다고 생각이 됩니다. 물론, 현재 집중해야 할 문제가 아닐 수 있겠지만 혹시 `Dealer`가 `deck`에 의존하지 않고서 구현하는 방법은 없을까 고민이 있어서 질문했었습니다!"*
|
|
107
|
+
|
|
108
|
+
reviewer:
|
|
109
|
+
|
|
110
|
+
> *"dealer가 deck을 받지 않는다면, 어떤 것을 받아야할까요? 반드시 필요한 게 deck이라면, 다른 방법의 옵션은 없겠지요. 정말 deck말고 다른 것을 받을 수 있게 구성하는 방법은 없었나요?"*
|
|
111
|
+
|
|
112
|
+
→ **의존성 의식 + reviewer 의 *다른 인자 옵션* 어휘** = PR #138 (객체 소유 vs 매개변수 전달 자가 학습) 결 합류.
|
|
113
|
+
|
|
114
|
+
**MCP 룰 `parameter-options-exploration` 후보** — *함수 인자 옵션 다양성 의식*.
|
|
115
|
+
|
|
116
|
+
### 2. `cards as MutableList<Card>` 캐스팅 위험 — `cards.clear()` 시나리오
|
|
117
|
+
|
|
118
|
+
reviewer (Thread 3):
|
|
119
|
+
|
|
120
|
+
> *"아래 로직을 실행시키면 어떻게 될까요?*
|
|
121
|
+
> ```kotlin
|
|
122
|
+
> val hand = Hand()
|
|
123
|
+
> val cards = hand.cards as MutableList<Card>
|
|
124
|
+
> cards.clear()
|
|
125
|
+
> ```"
|
|
126
|
+
|
|
127
|
+
학생 자가 적용: `toList()` 방어적 복사.
|
|
128
|
+
|
|
129
|
+
→ **reviewer 문제 시나리오 코드 예시** = PR #118 (`reviewer-scenario-code-example`) 결 강화 누적 2+ PR.
|
|
130
|
+
|
|
131
|
+
### 3. `isBlackJack` 4장 21점 — 블랙잭 룰 정확성
|
|
132
|
+
|
|
133
|
+
reviewer (Thread 4): *"카드 4장을 가지고 있고, 총합이 21이라면, 이것은 블랙잭인가요?"*
|
|
134
|
+
|
|
135
|
+
학생: *"저 외에 다른 사람이 볼 때에는 모두 오해할 수 있는 네이밍이네요..!"* → 함수 삭제.
|
|
136
|
+
|
|
137
|
+
→ **블랙잭 룰 정확성** = PR #130·#138·#142 (초기 2장 + 21점 = 블랙잭) 결 합류 누적 11+ PR ⭐⭐⭐.
|
|
138
|
+
|
|
139
|
+
### 4. `applyProfitRate` 명명 — Money 메서드 시그니처 (Thread 5)
|
|
140
|
+
|
|
141
|
+
reviewer: *"옆의 동료에게 이 메서드 시그니처만 보고 어떤 일을 수행할 것 같은지 물어본다면, 바로 자신이 기대한 답변을 받을 수 있을까요?"*
|
|
142
|
+
|
|
143
|
+
학생: *"`applyProfitRate` 가 제가 생각할 수 있는 가장 이해가 쉬운 이름이라서 해당 이름으로 변경해두었습니다"*
|
|
144
|
+
|
|
145
|
+
→ **동료 시점 어휘** = PR #87·#76·#80·#82 결.
|
|
146
|
+
|
|
147
|
+
### 5. TestDeck 프로덕션 → test 패키지 (Thread 14)
|
|
148
|
+
|
|
149
|
+
reviewer: *"이 객체는 프로덕션 코드에 포함하는 것이 적절한 객체일까요?"*
|
|
150
|
+
|
|
151
|
+
학생 자가 적용: test 패키지 이동.
|
|
152
|
+
|
|
153
|
+
→ **production vs test 분리** = PR #130·#118 결 합류.
|
|
154
|
+
|
|
155
|
+
### 6. 16/17 매직 넘버 일관성 + 상수화 (Thread 15)
|
|
156
|
+
|
|
157
|
+
reviewer: *"어느곳은 16, 다른 곳은 17, 이 숫자들의 의미를 다르게 둘 필요가 있을까요? 또, 매직 넘버나 문자열은 상수화 시켜보는 건 어떨까요?"*
|
|
158
|
+
|
|
159
|
+
→ **블랙잭 룰 정확성 (`<= 16` vs `< 17`)** + 매직 넘버 상수화. PR #129·#138·#142·#143 결의 *블랙잭 hit 한계 명명* 결 합류 누적 13+ PR.
|
|
160
|
+
|
|
161
|
+
### 7. 객체 메시지 vs 값 꺼내기 (Thread 16) — Tell-Don't-Ask
|
|
162
|
+
|
|
163
|
+
reviewer: *"객체의 값을 꺼내 계산하기보다, 객체에게 메시지를 던져 물어보는 건 어떨까요?"*
|
|
164
|
+
|
|
165
|
+
→ **Tell-Don't-Ask 정공** = 누적 다수 PR.
|
|
166
|
+
|
|
167
|
+
### 8. HumanInfo 내부 상태 변경 vs 결과 객체 반환 (Thread 18)
|
|
168
|
+
|
|
169
|
+
reviewer: *"결과를 반영하기 위해 돈의 내부 상태를 변경해야할까요? 게임 결과를 위한 객체를 따로 만들어 결과만을 담은 객체를 반환하도록 구성해보는 건 어떨까요?"*
|
|
170
|
+
|
|
171
|
+
학생 자가 적용:
|
|
172
|
+
|
|
173
|
+
> *"내부 상태를 변경하는 로직이 조금 자연스럽지 못하다는 것을 다시 한번 생각하게 된것 같습니다! (...) HumanInfo 리스트를 감싸는 일급컬렉션을 만들어 `PlayersResult`로 구현해보았습니다!"*
|
|
174
|
+
|
|
175
|
+
→ **immutable 결과 객체 + 일급 컬렉션** = PR #141·#142·#143 결 합류.
|
|
176
|
+
|
|
177
|
+
### 9. CsvSource 활용 (Thread 19)
|
|
178
|
+
|
|
179
|
+
reviewer: *"CsvSource를 활용해보는 건 어떨까요?"*
|
|
180
|
+
|
|
181
|
+
→ **JUnit 파라미터화 테스트 어휘** = *Kotlin 어휘 자가 학습*. **MCP 룰 `parameterized-test-via-csvsource` 후보**.
|
|
182
|
+
|
|
183
|
+
### 10. BlackjackGame 객체 권유 (Thread 11) — PR #109·#113 결 합류
|
|
184
|
+
|
|
185
|
+
reviewer:
|
|
186
|
+
|
|
187
|
+
> *"컨트롤러가 여전히 게임 진행에 대한 도메인 로직을 알고 있어보여요. 게임을 관제하는 게임 객체를 만들어보는 건 어떨까요? 아래 형태처럼 코드를 구성해보셔도 좋겠어요 :)*
|
|
188
|
+
> ```kotlin
|
|
189
|
+
> val blackjackGame = BlackjackGame()
|
|
190
|
+
> val gameResult = blackjackGame.start()
|
|
191
|
+
> print(gameResult)
|
|
192
|
+
> ```"
|
|
193
|
+
|
|
194
|
+
학생 자가 적용 + 자가 한계 인정:
|
|
195
|
+
|
|
196
|
+
> *"기존의 로직 전부를 옮기기에는 도메인에서 InputView를 알아야하거나 OutputView를 알아야하는 상황이 발생할 것 같아 일부만 옮겨진 것 같습니다... 최대한 옮겨보려 했는데, 해당 내용에 대해서 조금 더 코멘트 주실 수 있으실까요..?"*
|
|
197
|
+
|
|
198
|
+
reviewer 답변 (Thread 20):
|
|
199
|
+
|
|
200
|
+
> *"이 부분은 여전히 도메인 로직이 보이네요! 람다나 인터페이스를 활용해서 View의 요소를 간접적으로 전달해주는 방법을 고민해보세요 :) 그리고, 코드 자동 정렬 단축키는 늘 생활화하세요!"*
|
|
201
|
+
|
|
202
|
+
→ **도메인 ↔ View 분리 + 고차함수 활용 + IDE 단축키 생활화** = PR #109·#113·#140 결 합류 + **개발 생산성 어휘**. **MCP 룰 `ide-shortcut-as-productivity` 후보**.
|
|
203
|
+
|
|
204
|
+
### 11. Dealer ↔ 여러 Player 비교 메서드 (Thread 21)
|
|
205
|
+
|
|
206
|
+
reviewer: *"딜러에게 한 플레이어와 비교하는 메서드도 있으니, 여러 플레이어와 비교하는 메서드가 있어도 자연스럽겠네요!"*
|
|
207
|
+
|
|
208
|
+
→ **단일 비교 vs 다중 비교 메서드 자연성** = PR #143 (Dealer.allPlayersMatchProfit) 결 합류.
|
|
209
|
+
|
|
210
|
+
### 12. Hand 초기값 생성자 (Thread 22) — 테스트 용이
|
|
211
|
+
|
|
212
|
+
reviewer: *"생성자로부터 초기 값을 받을 수 있게 구성해보는 건 어떨까요? 테스트 코드를 더욱 쉽게 작성할 수 있겠어요 :)"*
|
|
213
|
+
|
|
214
|
+
→ **테스트 = 도메인 설계 개선 어휘** = PR #87·#129·#142·#109·#140 결 합류 누적 5+ PR.
|
|
215
|
+
|
|
216
|
+
### 13. Card 인스턴스 재활용 (Thread 24)
|
|
217
|
+
|
|
218
|
+
reviewer: *"카드 인스턴스를 재활용해볼 수 있을까요?"*
|
|
219
|
+
|
|
220
|
+
→ **Flyweight 패턴** = PR #118·#138·#142 결 합류 누적 4+ PR.
|
|
221
|
+
|
|
222
|
+
### 14. `humanInfo open` 의미 (Thread 25)
|
|
223
|
+
|
|
224
|
+
reviewer: *"humanInfo가 open인 특별한 이유가 있었나요? 상속관계에서 자식이 부모의 어디까지 접근 가능한지 문법적으로 많이 공부해보셔도 좋겠네요 :)"*
|
|
225
|
+
|
|
226
|
+
→ **`open` 키워드 의미 의식** = PR #129·#126·#138·#142·#143·#113 (sealed vs open vs abstract) 결 합류.
|
|
227
|
+
|
|
228
|
+
### 15. Human.DEFAULT_CARD_COUNT + MAX_POINT 묻기 → 블랙잭 (Thread 26)
|
|
229
|
+
|
|
230
|
+
reviewer: *"`카드의 수가 DEFAULT_CARD_COUNT 개고, 카드 점수의 합이 MAX_POINT이면 무엇일까요?` 라고 다른 개발자에게 묻는다면, 블랙잭이겠네요! 라고 답할 수 있는 개발자는 몇이나 될까요?"*
|
|
231
|
+
|
|
232
|
+
→ **추상 상수 vs 도메인 어휘** — *추상화가 의미를 가리는 안티패턴*. **MCP 룰 `abstract-constant-hides-domain-meaning` 후보**.
|
|
233
|
+
|
|
234
|
+
### 16. 베팅 값 변경 vs 처음 생성 (Thread 27)
|
|
235
|
+
|
|
236
|
+
reviewer 자가 후속 (오해 후 정정):
|
|
237
|
+
|
|
238
|
+
> *"아하 이 부분은 초기 베팅 값을 초기화하는 로직이었군요? 이후에도 또 다시 변경이 일어날 거라는 오해가 먼저 들어서 이렇게 피드백을 남겼네요. 처음 입력받은 베팅 값을 이후에 변경하도록 구성하지 않고, 처음 생성할 때 넣어주도록 구성해보는 건 어떨까요?"*
|
|
239
|
+
|
|
240
|
+
→ **reviewer 자가 오해 후 정정** = PR #126·#130·#142·#109 결 합류 누적 5+ PR. **`var betAmount` vs `val betAmount`** = PR #139·#142·#141 결 합류.
|
|
241
|
+
|
|
242
|
+
### 17. assertAll 차이 (Thread 28)
|
|
243
|
+
|
|
244
|
+
reviewer: *"assertAll로 감싸는 것과 어떤 차이점이 있을까요?"*
|
|
245
|
+
|
|
246
|
+
→ **테스트 fail-fast vs fail-all** = PR #109 (assert-all-vs-multiple-assertions) 결 합류.
|
|
247
|
+
|
|
248
|
+
## 대표 인용
|
|
249
|
+
|
|
250
|
+
> [Hogu59 PR 본문]
|
|
251
|
+
> *"`손`이 `덱`과 `카드`를 동시에 아는 것이 맞는가에 대한 코멘트를 보면서, 제가 생각했던 의존성 흐름과 실제로 제가 짠 코드가 다르다는 것을 발견하게 되었습니다."*
|
|
252
|
+
|
|
253
|
+
→ **학생 자가 의존성 흐름 의식** — *학습 가시화 정점*.
|
|
254
|
+
|
|
255
|
+
> [malibinYun Thread 7]
|
|
256
|
+
> *"다른 개발자들은 'A' 대신 'ACE'를 넣는다면, 또, 'S'대신 Spade, spade ,♠️를 넣는다면 어떻게 될까요?"*
|
|
257
|
+
|
|
258
|
+
→ **입력 다양성 통제 X 어휘** — *동료 개발자 시점*.
|
|
259
|
+
|
|
260
|
+
> [Hogu59 Thread 7]
|
|
261
|
+
> *"제가 모든 경우를 파악하거나 통제할 수 있다고 착각했습니다."*
|
|
262
|
+
|
|
263
|
+
→ **학생 자가 메타 학습 어휘**.
|
|
264
|
+
|
|
265
|
+
> [malibinYun Thread 10]
|
|
266
|
+
> *"내가 작성한 코드더라도, 프로젝트에 들어가는 순간 그건 개인의 것이 아닌, 팀의 코드이니까요 :)"*
|
|
267
|
+
|
|
268
|
+
→ **팀의 코드 어휘** — *maintainer perspective locator 정점*.
|
|
269
|
+
|
|
270
|
+
> [Hogu59 Thread 10]
|
|
271
|
+
> *"나의 코드가 아니라 팀의 코드로서 가치가 있는 코드인가.. 알려주셔서 감사합니다!"*
|
|
272
|
+
|
|
273
|
+
→ **학생 자가 *팀의 코드* 메타 학습**.
|
|
274
|
+
|
|
275
|
+
> [malibinYun Thread 2]
|
|
276
|
+
> *"음~ 저는 Human이 Human 끼리 비교하는 것도 하나의 방법이라 생각이 드네요. 플레이어 중 한 명이 딜러가 되어서 게임을 이어가게 만드는 유연함을 제공해줄 수도 있으니까요."*
|
|
277
|
+
|
|
278
|
+
→ **유연성 어휘 + 미래 가능성 의식**.
|
|
279
|
+
|
|
280
|
+
## 얻은 교훈 (보편)
|
|
281
|
+
|
|
282
|
+
1. **학생 자가 의존성 흐름 의식 + 자가 시각화 (의존성 그래프 그림)** — **MCP 룰 `student-self-dependency-graph-visualization` 후보**.
|
|
283
|
+
|
|
284
|
+
2. **유연성 vs 현재 룰 트레이드오프 (Human-Human 비교)** — **MCP 룰 `flexibility-vs-current-rule-tradeoff` 후보**.
|
|
285
|
+
|
|
286
|
+
3. **입력 다양성 = 모든 경우 통제 X 학생 자가 메타 학습** — **MCP 룰 `input-diversity-uncontrollable` 후보**.
|
|
287
|
+
|
|
288
|
+
4. **팀의 코드 어휘** — **MCP 룰 `team-code-vs-personal-code` 후보**. maintainer perspective locator 정점 누적 12+ PR.
|
|
289
|
+
|
|
290
|
+
5. **외부 책 인용 (엘레강트 오브젝트)** — **MCP 룰 `external-book-reference` 후보**.
|
|
291
|
+
|
|
292
|
+
6. **추상 상수 vs 도메인 어휘** — *DEFAULT_CARD_COUNT + MAX_POINT 가 *블랙잭* 의미 안 드러남*. **MCP 룰 `abstract-constant-hides-domain-meaning` 후보**.
|
|
293
|
+
|
|
294
|
+
7. **함수 인자 옵션 다양성 의식** — **MCP 룰 `parameter-options-exploration` 후보**.
|
|
295
|
+
|
|
296
|
+
8. **IDE 단축키 = 개발 생산성** — **MCP 룰 `ide-shortcut-as-productivity` 후보**.
|
|
297
|
+
|
|
298
|
+
9. **JUnit 파라미터화 테스트 (CsvSource)** — **MCP 룰 `parameterized-test-via-csvsource` 후보**.
|
|
299
|
+
|
|
300
|
+
10. **reviewer 자가 오해 후 정정** — 누적 5+ PR.
|
|
301
|
+
|
|
302
|
+
11. **명명 6+ 변경 자가 적용 (ResultType/ValueType/MarkType/isPossible/draw/Mark)** — 누적 9+ PR.
|
|
303
|
+
|
|
304
|
+
12. **모든 28 스레드 학생 자가 답변 + 자가 후속 의문 6+ 회** — *2024 코호트 정점*.
|
|
305
|
+
|
|
306
|
+
## MCP 룰 후보 신규 + 강화 (PR #96)
|
|
307
|
+
|
|
308
|
+
| 룰 | 신규 / 강화 | 누적 PR |
|
|
309
|
+
|---|---|---|
|
|
310
|
+
| `student-self-dependency-graph-visualization` | 신규 | 1 (#96) |
|
|
311
|
+
| `flexibility-vs-current-rule-tradeoff` | 신규 | 1 (#96) |
|
|
312
|
+
| `input-diversity-uncontrollable` | 신규 | 1 (#96) |
|
|
313
|
+
| `team-code-vs-personal-code` | 신규 | 1 (#96) |
|
|
314
|
+
| `external-book-reference` | 신규 | 4+ (#96·#136·#118·#108) |
|
|
315
|
+
| `abstract-constant-hides-domain-meaning` | 신규 | 1 (#96) |
|
|
316
|
+
| `parameter-options-exploration` | 신규 | 1 (#96) |
|
|
317
|
+
| `ide-shortcut-as-productivity` | 신규 | 1 (#96) |
|
|
318
|
+
| `parameterized-test-via-csvsource` | 신규 | 1 (#96) |
|
|
319
|
+
| `reviewer-scenario-code-example` | 강화 | 2+ (#118·#96) |
|
|
320
|
+
| `function-name-vs-return-semantic-mismatch` | 강화 | 9+ |
|
|
321
|
+
| `blackjack-rule-fidelity-comparison` | 강화 | 13+ ⭐⭐⭐ |
|
|
322
|
+
| `flyweight-pattern-card-caching` | 강화 | 4+ |
|
|
323
|
+
| `lateinit-var-call-order-invariant` | 강화 | 12+ |
|