Skip to content

๐™„๐™› ๐™ฎ๐™ค๐™ช'๐™ง๐™š ๐™ฃ๐™š๐™ฌ ๐™ฉ๐™ค ๐™‚๐™ค(๐™‚๐™ž๐™ฃ/๐™‚๐™Š๐™๐™ˆ), ๐™๐™š๐™ง๐™š'๐™จ ๐™– ๐™ง๐™ค๐™–๐™™๐™ข๐™–๐™ฅ ๐Ÿ›ซ

License

Notifications You must be signed in to change notification settings

HongJungWan/HongJungWan-goRoad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

35 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

HongJungWan-goRoad

๐™„๐™› ๐™ฎ๐™ค๐™ช'๐™ง๐™š ๐™ฃ๐™š๐™ฌ ๐™ฉ๐™ค ๐™‚๐™ค(๐™‚๐™ž๐™ฃ/๐™‚๐™Š๐™๐™ˆ), ๐™๐™š๐™ง๐™š'๐™จ ๐™– ๐™ง๐™ค๐™–๐™™๐™ข๐™–๐™ฅ ๐Ÿ›ซ

๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.

์ฃผ์–ด์ง„ ํ™˜๊ฒฝ์—์„œ ์ตœ๊ณ ์˜ ์ œํ’ˆ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ํ•™์Šตํ•ด ๋ด…์‹œ๋‹ค.



STEP #0, "Mind"

๋œฌ๊ธˆ์—†์ด, ๋ญ” ๋งˆ์ธ๋“œ๋ƒ ํ•˜์‹ค ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ Gopher์˜ ๊ธธ์€ ํ—˜๋‚œํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜์˜ ๋งํฌ๋ฅผ ๋ณด๋ฉด์„œ ์ž ๊น์ด๋‚˜๋งˆ ๊ทธ๋™์•ˆ ๋ถ€๋„๋Ÿฌ์›€ ์—†์ด ํ•™์Šต์„ ํ–ˆ๋Š”์ง€ ์ง€๋‚œ ์‹œ๊ฐ„์„ ๋˜๋Œ์•„๋ด…๋‹ˆ๋‹ค.


  • ์‹œ๊ฐ„์ด ์ง€๋‚œ๋‹ค๊ณ  ํ•ด์„œ ์‹ค๋ ฅ์ด ์ €์ ˆ๋กœ ํ–ฅ์ƒ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

  • ์ฃผ๋‹ˆ์–ด๋‹ˆ๊นŒ ๊ดœ์ฐฎ๋‹ค๋Š” ๋งˆ์Œ๊ฐ€์ง์„ ๊ฐ€์ง„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ๊ฐ€ ๋ฐ˜์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.

  • ๋‚จ ํƒ“, ํ™˜๊ฒฝ ํƒ“, ๊ธฐ์ˆ  ํƒ“์„ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ๊ฐ€ ๋ฐ˜์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.




STEP #1, "Tucker์˜ Go ์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์š”์•ฝ"

์šฐ์„ .. ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์„ ํ•™์Šตํ•ฉ์‹œ๋‹ค. ๐Ÿ“š

์•„๋ž˜ ๋ชฉ์ฐจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž์œจ์ ์œผ๋กœ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

์ œ๋ชฉ ์ •๋ฆฌ
#1, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด - ๊ฐœ์š” ์™„๋ฃŒ
#2, ๋ณ€์ˆ˜, ์—ฐ์‚ฐ์ž, ํ•จ์ˆ˜ - ๊ธฐ๋ณธ ์™„๋ฃŒ
#3, ์ƒ์ˆ˜, if, for, ๋ฐฐ์—ด ์™„๋ฃŒ
#4, ๊ตฌ์กฐ์ฒด ์™„๋ฃŒ
#5, ํฌ์ธํ„ฐ ์™„๋ฃŒ
#6, ๋ฌธ์ž์—ด ์™„๋ฃŒ
#7, ํŒจํ‚ค์ง€ ์™„๋ฃŒ
#8, ์Šฌ๋ผ์ด์Šค ์™„๋ฃŒ
#9, ๋ฉ”์„œ๋“œ ์™„๋ฃŒ
#10, ์ธํ„ฐํŽ˜์ด์Šค ์™„๋ฃŒ
#11, ํ•จ์ˆ˜ - ๊ณ ๊ธ‰ ์™„๋ฃŒ
#12, ์—๋Ÿฌ ๋ฐ˜ํ™˜ ์™„๋ฃŒ
#13, ๊ณ ๋ฃจํ‹ด ์™„๋ฃŒ
#14, ์ฑ„๋„ ์™„๋ฃŒ



๋งŒ์•ฝ, ์œ„์— ๋‚ด์šฉ์ด ๋„ˆ๋ฌด ์ด๋ก ์ ์ธ ๋‚ด์šฉ์ด๋‹ค ์‹ถ์œผ๋ฉด ์•„๋ž˜ ๋งํฌ์— ์ ‘์†ํ•ด ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œ์ผœ ๋ณด๋ฉด์„œ ๊ฐ€๋ณ๊ฒŒ Go๊ฐ€ ์ด๋Ÿฐ๊ฑฐ๊ตฌ๋‚˜ ๋Š๊ปด๋ด…์‹œ๋‹ค.



๋‚˜๋Š” ๊ฐ•์˜๊ฐ€ ๋“ฃ๊ณ  ์‹ถ๋‹คํ•˜๋ฉด, ์•„๋ž˜์˜ ์ธํ”„๋Ÿฐ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.



์ธํ”„๋Ÿฐ ๊ฐ•์˜๋Š” ๋„ˆ๋ฌด ๋ฌด๊ฒ๊ณ , ๊ถ๊ธˆํ•œ ๋ชฉ์ฐจ๋งŒ ๋“ฃ๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.



์•„๋ž˜๋Š” ํ•œ๊ตญ์—์„œ Go ๋ฐ”์ด๋ธ”์ธ ํ„ฐ์ปค๋‹˜์˜ ์œ ํŠœ๋ธŒ ๋งํฌ์ž…๋‹ˆ๋‹ค.



์•„ํ‹ฐํด์„ ์ฐธ๊ณ  ํ•ด์•ผ๋œ๋‹ค๋ฉด ์•„๋ž˜์˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.



STEP #2, ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค && ๋ฐฑ์ค€ - 100 ๋ฌธ์ œ

Go ์–ธ์–ด๋กœ PS(Problem Solving) ํ•˜๋ฉด์„œ ์ž์‹ ๊ฐ์„ ํ‚ค์›Œ๋ด…์‹œ๋‹ค. ๐Ÿง

์ œ๋ชฉ ๋งํฌ
๋ฌธ์ž์—ด ๋ฌธ์ œ ๋งํฌ
์™„์ „ ํƒ์ƒ‰ ๋ฌธ์ œ ๋งํฌ
DFS & BFS ๋ฌธ์ œ ๋งํฌ
๊ตฌํ˜„ & ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋งํฌ
ํˆฌ ํฌ์ธํ„ฐ ๋งํฌ



STEP #3, Deep Dive


๋‹ค๋“ค Effective Java๋ผ๋Š” ์ฑ…์„ ์•„์‹œ์ฃ ? ์•„๋ž˜์˜ ๋งํฌ๋Š” effective-go์˜ ํ•œ๊ธ€ ๋ฒˆ์—ญ๋ณธ์ž…๋‹ˆ๋‹ค.



์•„๋ž˜ ๋งํฌ๋Š” Go ํ•™์Šต ํ›„, Deep Dive๋ฅผ ์œ„ํ•ด ํ•œ๋ฒˆ ํ›‘์–ด ๋ณด๋ฉด ์ข‹์€ ์งˆ๋ฌธ๋“ค ์ž…๋‹ˆ๋‹ค.



Clean Code ๋„ˆ๋ฌด ์œ ๋ช…ํ•œ ์ฑ…์ด์ฃ . ์•„๋ž˜์˜ ๋งํฌ๋Š” Clean Code์˜ ๋‚ด์šฉ์„ ์–ด๋–ป๊ฒŒ Go์— ๋…น์—ฌ๋‚ผ ์ˆ˜ ์žˆ์„๊นŒ? ๊ณ ๋ฏผํ•œ ์•„ํ‹ฐํด์ž…๋‹ˆ๋‹ค.



๋‹จ์ˆœํžˆ Go ๋ฌธ๋ฒ•๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ํ•„์š”ํ•œ ์ œ๋ฐ˜ ์ง€์‹์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ๊ธฐ๋ณธ๊ธฐ๋Š” ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค..

Go ์–ธ์–ด๋ฅผ ํ™œ์šฉํ•œ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ



๋ฌธ๋ฒ•์„ ์ตํžˆ๋Š” ๋‹จ๊ณ„์—์„œ๋Š” ๋‹ค์†Œ ๋ฒ…์ฐฐ ์ˆ˜ ์žˆ๋Š” ์ฑ…์ด์ง€๋งŒ Deep Dive์— ์žˆ์–ด์„œ๋Š” ์ ์ ˆํ•œ ์„ ํƒ์ž…๋‹ˆ๋‹ค.

Cloud Native Go



50๋งŒ์› ์ƒ๋‹น์˜ ์œ ๋ฃŒ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

๋ˆ์ด ์•„๊น๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค๋ฉด, ์กด์ค‘ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ, Gopher๋Š” ๊ฐœ๋ฐœ์— ํˆฌ์ž๋ฅผ ์•„๋ผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Comento ์œ ๋ฃŒ ๊ฐ•์˜



STEP #4, GORM

์–ด์ค‘๊ฐ„ํ•œ ๋ธ”๋กœ๊ทธ ์•„ํ‹ฐํด ๋ณด๋‹ค ๊ณต์‹ ๋ฌธ์„œ๊ฐ€ ๋” ์ข‹์Šต๋‹ˆ๋‹ค.



STEP #5, Gin

์–ด์ค‘๊ฐ„ํ•œ ๋ธ”๋กœ๊ทธ ์•„ํ‹ฐํด ๋ณด๋‹ค ๊ณต์‹ ๋ฌธ์„œ๊ฐ€ ๋” ์ข‹์Šต๋‹ˆ๋‹ค.



About

๐™„๐™› ๐™ฎ๐™ค๐™ช'๐™ง๐™š ๐™ฃ๐™š๐™ฌ ๐™ฉ๐™ค ๐™‚๐™ค(๐™‚๐™ž๐™ฃ/๐™‚๐™Š๐™๐™ˆ), ๐™๐™š๐™ง๐™š'๐™จ ๐™– ๐™ง๐™ค๐™–๐™™๐™ข๐™–๐™ฅ ๐Ÿ›ซ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages