๐Ÿ‘จ‍๐Ÿ’ป kimtongting
article thumbnail
[Git] Git branch & Naming

Branch ์ƒ์„ฑ ๋ฐฉ์‹๊ณผ ๋„ค์ด๋ฐ ๊ทœ์น™ ํด๋ก  ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•˜๋ ค๋Š”๋ฐ, ํ˜„์—…์—์„œ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ ์„œ ํ•˜๋ ค๋‹ˆ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์—๋„ ๊ทœ์น™์ด ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์–ด ์ฐพ์•„๋ณด๊ณ  ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋”๋ถˆ์–ด, ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ์„ ์•Œ๊ธฐ์— ์•ž์„œ ๋ธŒ๋žœ์น˜ ์ข…๋ฅ˜๋Š” ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋Š”์ง€ ๋จผ์ € ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Branch ์˜ ์ข…๋ฅ˜ Main branch ์ค‘์•™ ์ €์žฅ์†Œ์—๋Š” ์ˆ˜๋ช…์ด ๋ฌดํ•œํ•œ ๋‘ ๊ฐ€์ง€ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๊ฐ€ ์žˆ๋‹ค. ๋ฐ”๋กœ, master ๋ธŒ๋žœ์น˜์™€ develop ๋ธŒ๋žœ์น˜์ด๋‹ค. 1. master branch ์ œํ’ˆ์œผ๋กœ ์ถœ์‹œ๋  ์ˆ˜ ์žˆ๋Š” ๋ธŒ๋žœ์น˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋งŒ์„ ๊ด€๋ฆฌํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋ฐฐํฌ(release) ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰, ํ•จ๋ถ€๋กœ master ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ(merge) ํ•˜๊ฒŒ ๋˜๋ฉด ํƒ•๋น„์‹ค์— ๋Œ๋ ค๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ํ•ญ์ƒ master ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…..

article thumbnail
[Markdown] ๋งˆํฌ๋‹ค์šด(Markdown) ์‚ฌ์šฉ๋ฒ• ๋ฐ ์˜ˆ์ œ / ๋งˆํฌ๋‹ค์šด README.md / README ์–‘์‹ / ๋งˆํฌ๋‹ค์šด ์ž‘์„ฑ๋ฒ•

๋งˆํฌ๋‹ค์šด ๋งˆํฌ๋‹ค์šด ๊ทœ๊ฒฉ์€ ํšŒ์‚ฌ/๋ถ€์„œ/ํŒ€ ์—์„œ ์ •ํ•˜๊ณ  ์žˆ๋‹ค. PM ์ด๋‚˜ PL ์ด README ๋งˆํฌ๋‹ค์šด์˜ ํ‹€์„ ์žก์•„๋†“๊ณ  ๊ฐœ๋ฐœ์ž๋“ค์€ ํ•˜๋‹จ์— ์ด์–ด๋ถ™์—ฌ ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค. ๋น„๋ก ์‚ฌ์šฉํ•˜๋Š” ํฌ๋งท์€ ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ ๋งˆํฌ๋‹ค์šด ์–‘์‹์„ ๊ณต์œ ํ•˜๊ณ ์ž ์ด ๊ธ€์„ ๋‚จ๊ธด๋‹ค. [๊ณตํ†ต] ๋งˆํฌ๋‹ค์šด markdown ์ž‘์„ฑ๋ฒ• 1. ๋งˆํฌ๋‹ค์šด์— ๊ด€ํ•˜์—ฌ 1.1. ๋งˆํฌ๋‹ค์šด์ด๋ž€? Markdown์€ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ๋งˆํฌ์—…์–ธ์–ด๋กœ 2004๋…„ ์กด๊ทธ๋ฃจ๋ฒ„์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ ์‰ฝ๊ฒŒ ์“ฐ๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ HTML๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํŠน์ˆ˜๊ธฐํ˜ธ์™€ ๋ฌธ์ž๋ฅผ ์ด์šฉํ•œ ๋งค์šฐ ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ์˜ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น์—์„œ๋„ ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ปจํ…์ธ ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋ณด๋‹ค ์ง๊ด€์ ์œผ๋กœ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งˆํฌ๋‹ค์šด์ด ์ตœ๊ทผ ๊ฐ๊ด‘๋ฐ›๊ธฐ ์‹œ์ž‘ํ•œ ์ด์œ ๋Š” ๊นƒํ—™(https://github.com) ๋•๋ถ„์ด๋‹ค. ๊นƒํ—™์˜ ์ €์žฅ์†ŒReposi..

article thumbnail
Why do we modularize our applications?

๋ชจ๋“ˆํ™”๋ฅผ ํ•˜๋Š” ์ด์œ ? ํ™•์žฅ์„ฑ(extensibility) ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ๋Š” ์‹œ์Šคํ…œ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ํ™•๋ฅ ์ด ๋†’๋‹ค. (์ฐจ์„ธ๋Œ€๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์ด์œ  ์ค‘ ํ•˜๋‚˜์ด๋‹ค.) ์žฌ์‚ฌ์šฉ์„ฑ(reusability) ๋ฐ˜๋ณต๋˜๋Š” ๋กœ์ง์„ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ์ฝ”๋“œ์ƒ์˜ ์žฌ์‚ฌ์šฉ์„ฑ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์šฐ๋ฆฌ๊ฐ€ ์„ค๊ณ„ํ•œ ๊ตฌ์กฐ๊ฐ€ ์žฌ์‚ฌ์šฉ ๋˜์–ด์•ผ ํ•œ๋‹ค. ์œ ์ง€-๋ณด์ˆ˜ ๊ฐ€๋Šฅ์„ฑ(maintability) ์—ฌ๋Ÿฌ ๋กœ์ง์ด ๋’ค์—‰์ผœ ์žˆ๋Š” ์ฝ”๋“œ๋Š” ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์•ˆ๋œ๋‹ค. (๋‹น์‹œ ์ตœ์‹  ๊ธฐ์ˆ ์„ ํ˜„์žฌ ์ตœ์‹  ๊ธฐ์ˆ ๋กœ ๋ณ€๊ฒฝ ์‹œ ์šฉ์ดํ•˜๋‹ค.) ๊ฐ€๋…์„ฑ(readability) ์–ด๋ ค์šด ๋กœ์ง ์ผ์ˆ˜๋ก ๋” ๊ฐ€๋…์„ฑ์ด ๋†’์•„์•ผ ํ•œ๋‹ค. ์–ด๋ ค์šด ๋กœ์ง์„ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ์ฝ”๋“œ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์กฐ ๋˜ํ•œ ํ•œ ๋ˆˆ์— ๊ทธ๋ ค์ ธ์•ผ ํ•˜๋ฉฐ, ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ด๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค. ํ…Œ์ŠคํŠธ..

OOP์˜ 5๋Œ€ ์›์น™ (SOLID)

SOLID ์›์น™ ํ•ญ์ƒ ๊ธฐ์–ตํ•˜์ž S: ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP, Single Responsibility Principle) ๊ฐ์ฒด๋Š” ๋‹จ ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. O: ๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™(OCP, Open Closed Principle) ๊ธฐ์กด์˜ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค. L: ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™(LSP, Liskov Substitution Principle) ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฉฐ, ์ž์‹ ํด๋ž˜์Šค๋Š” ์ตœ์†Œํ•œ ์ž์‹ ์˜ ๋ถ€๋ชจ ํด๋ž˜์Šค์—์„œ ๊ฐ€๋Šฅํ•œ ํ–‰์œ„๋Š” ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. I: ์˜์กด ์—ญ์ „ ์›์น™(DIP, Dependency Inversion Principle) ์˜์กด ๊ด€๊ณ„๋ฅผ ๋งบ์„ ๋•Œ ๋ณ€ํ™”ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ ๋˜๋Š” ์ž์ฃผ ๋ณ€ํ™”ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ๋ณ€ํ™”ํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒƒ, ๊ฑฐ์˜ ๋ณ€ํ™”๊ฐ€ ์—†๋Š” ๊ฒƒ์—..

article thumbnail
Teachable machine / teachable machine ์‚ฌ์šฉํ•˜๊ธฐ

https://teachablemachine.withgoogle.com/train Teachable Machine Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required. teachablemachine.withgoogle.com Teachable Machine ๊ตฌ๊ธ€์—์„œ ๋งŒ๋“  ๋ฌด๋ฃŒ ๋จธ์‹ ๋Ÿฌ๋‹ ์‚ฌ์ดํŠธ์ด๋‹ค.. ํ˜„์žฌ ์›น์บ ๊ณผ ์ด๋ฏธ์ง€๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ๋Š”๋ฐ ๊ต‰์žฅํžˆ ์žฌ๋ฐŒ๋‹ค. Teachable Machine ๋Œ€์‹œ๋ณด๋“œ Class1 ๊ณผ Class2๋Š” ๋ถ„๋ฅ˜๋ผ๊ณ  ๋ณด๋ฉด๋˜๊ณ ..