ํฌ์ŠคํŠธ

๐Ÿ๏ธ ๊ณต๋ถ€

๐Ÿ—ฟ ๋ฆฌ๋งˆ์ธ๋“œ


  • ๊ด€์ฐฐ

  • Job์„ Task๋กœ, ํ•œ ์ž… ๊ฑฐ๋ฆฌ๋กœ ๋‚˜๋ˆ„๊ธฐ
  • ์ž˜ ๊ธฐ๋กํ•˜๊ธฐ, ๋‚ ์งœ๋ฅผ ํฌํ•จํ•ด์„œ์–ธ์ œ ๋‚ด๊ฐ€ ์–ผ๋งŒํผ ํ–ˆ๋Š”์ง€ ์•ˆํ–ˆ๋Š”์ง€, ๊ฐ๊ด€์ ์œผ๋กœ ํŒ๋‹จํ•˜๊ธฐ
  • ๋ง์ฃผ๋ณ€

  • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/์•Œ๊ณ ๋ฆฌ๋“ฌ
  • CS/๋ฉด์ ‘
  • ์œ ๋ฐ๋ฏธ ์–ธ๋ฆฌ์–ผ ๊ฐ•์˜
  • ๊ฒŒ์ž„ ์ˆ˜ํ•™, ๋ฌผ๋ฆฌ, ์˜์–ด
    • ๊ธฐ๋ณธ์ ์ธ ํ–‰๋ ฌ, ๋ฒกํ„ฐ์˜ ๋‚ด์ ๊ณผ ์™ธ์ 
    • ๊ธฐ๋ณธ ๋‰ดํ„ด ์—ญํ•™์ •๋„๋Š” -> ์„ ํ˜•๋Œ€์ˆ˜ ๊ฐœ๋… ์—†์ด ๋ฒกํ„ฐ์™€ ์Šค์นผ๋ผ๋ฅผ ํฌ๊ธฐ์™€ ๋ฐฉํ–ฅ, ํฌ๊ธฐ๋งŒ ์žˆ๋Š” ๋ฌผ๋ฆฌ๋Ÿ‰์œผ๋กœ๋งŒ ์ดํ•ด X

๐Ÿ—ฟ ํ”„๋กœ์ ํŠธ


  • WM : 2D/3D, Unity, ์ถœ์‹œ ๊ฒฝํ—˜, ์œ ๋‹ˆํ‹ฐ ์—๋””ํ„ฐ, ๋‚ด์žฅ/์™ธ์žฅํˆด,
  • WIA : 3D, Unity, ํฌํ†ค/์„œ๋ฒ„, ์œ ๋‹ˆํ‹ฐ ์—๋””ํ„ฐ, ๋‚ด์žฅ/์™ธ์žฅํˆด, ํ•™๊ต ์บก์Šคํ†ค
  • IPARI : 2D, Unity, ํ˜‘์—… ๊ฒฝํ—˜
  • Diece Dungeon : ํ•™๊ต ๋™์•„๋ฆฌ, ํ˜‘์—… ๊ฒฝํ—˜
  • `` : 3D, Unreal, Udemy ๊ฐ•์˜

  • ๋ฉด์ ‘, ํฌํด ๊ด€๋ จ ์งˆ๋ฌธ ์ค€๋น„
  • โ€œ์ด ๊ธฐ๋Šฅ์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜์…จ๋‚˜์š”?โ€, ๋‹จ์ˆœ ์—ด๊ฑฐ ๋ณด๋‹ค๋Š” ๊ฒฝํ—˜๊ณผ ํ•จ๊ป˜ ์„ค๋ช…. โ€œ~๋ฅผ ๋ชฐ๋ž๋Š”๋ฐ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹คโ€
  • ์–ด๋–ค ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์ ์šฉํ–ˆ๋Š”์ง€

  • ํ•˜๋‚˜์˜ ๊ธฐ์Šน์ „๊ฒฐ ์™„์„ฑ์ž‘๋ณด๋‹ค๋Š” ํšจ์œจ์  ๋กœ์ง, ๊ธฐ๋Šฅ๊ตฌํ˜„์— ํฌ์ปค์‹ฑ
  • ๊ฒŒ์ž„ ์—”์ง„ ๊ฒฝํ—˜์€ ํ”„๋กœ์ ํŠธ์˜ ํ•ต์‹ฌ์ด ์•„๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ•์กฐํ•  ์ ์€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์ „๋ฐ˜์ ์ธ ๊ฒŒ์ž„ ์ œ์ž‘ ํ”„๋กœ์„ธ์Šค์™€ ํƒ€ ํŒŒํŠธ๊ฐ€ ํ•˜๋Š” ์—…๋ฌด๋ฅผ ์ดํ•ด, ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ์Šฌ๊ธฐ๋กญ๊ฒŒ ๋Œ€์ฒ˜ํ•œ ๊ฒฝํ—˜.
  • -> ๋ฌธ์ œ ํ•ด๊ฒฐ์ž๋กœ์„œ ํŒ€์— ๊ธฐ์—ฌํ•œ ๋‚ด์šฉ๋“ค์„ ์ž˜ ๊ธฐ๋ก.
    • ์ฝ˜ํ…์ธ  ์ œ์ž‘/์—”์ง„ ํ™œ์šฉ๋ณด๋‹ค ํ”„๋กœ๊ทธ๋ž˜๋จธ๋กœ์„œ ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ผผ๊ผผํ•œ ๊ด€๋ฆฌ, ํšจ์œจ์„ฑ ์ถ”๊ตฌ์— ๋Œ€ํ•œ ๋งˆ์ธ๋“œ๊ฐ€ ์ค‘์š”
    • i.e. ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์œ„ํ•ด ๋…ธํŠธ ์ •๋ฆฌ๋ฅผ ๊ผผ๊ผผํ•˜๊ฒŒ ํ•˜๊ณ  ๊ณต์œ ํ•œ ๊ฒฝํ—˜, ์‹ค์ˆ˜์— ์˜ํ•œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ์ด์ค‘ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ
    • ํ™•์žฅ์„ฑ, ๊ธฐํš์ž๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ๋งŒ๋“ , ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฑฐ์˜ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์ด ๋ชจ๋“  ๊ฐ’์„ ์กฐ์ • ๊ฐ€๋Šฅํ•œ, ์—๋””ํ„ฐ/์—‘์…€ ํŒŒ์‹ฑ
  • ๊นƒ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ฝ”๋“œ ๋ถ„์„
  • ๊ฒŒ์ž„ ์—”์ง„ ํ™œ์šฉ ๋Šฅ๋ ฅ
    • ์—”์ง„ ๋Šฅ๋ ฅ์€ ์–ด์ฐจํ”ผ ๋‹ค์‹œ ๋ฐฐ์šด๋‹ค. ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ์— ๋”ฐ๋ผ์„œ ์žฌ์กฐ๋ฆฝ๋œ๋‹ค. -> ๊ธฐ๋ณธ์— ์ถฉ์‹คํ•˜์ž
    • ๊ธฐ์ˆ ์ ์œผ๋กœ ์–ดํ•„ํ•  ์ˆ˜ ์žˆ๋Š”. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ํฌํด ์ •๋ฆฌ, ๊ณ„์† ์ž๊ทธ๋งŒํ•œ ์‹œ์Šคํ…œ๋“ค์„ ๋งŒ๋“ค์–ด๋‚˜๊ฐ€์•ผ ํ•œ๋‹ค.
    • ๊ฒŒ์ž„ ์—”์ง„ ํ™œ์šฉ ๊ธฐ์ˆ ์„ ์–ดํ•„ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ์—๋””ํ„ฐ ํˆด ํ™•์žฅ. ํˆด์„ ํ™œ์šฉํ•ด ์ƒ์‚ฐ์„ฑ ๊ฐœ์„  ๊ณ ๋ฏผํ•ด๋ณด๋Š” ๊ฒฝํ—˜.

๐Ÿ—ฟ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/์•Œ๊ณ ๋ฆฌ๋“ฌ


  • ์ฝ”ํ…Œ -> CS์˜ ๊ธฐ๋ณธ
  • ๋” ๋น ๋ฅธ ์ฝ”๋“œ, ํž™/์Šคํƒ

  • ์ •๋‹ต์œจ ๋†’์€ ๋ฌธ์ œ ํ’€๊ธฐ 50%/35%, ๋‚ฎ์€๊ฑด ๋ณธ์งˆ์—์„œ ๋ฒ—์–ด๋‚˜ ๊ผผ์ˆ˜/ํ•จ์ •์ด ๋“ค์–ด๊ฐ„ ๋ฌธ์ œ์ผ ๊ฐ€๋Šฅ์„ฑ ๋†’์Œ
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด ์ฐพ์•„๋ณด๊ธฐ, ์ •๋‹ต์ด ์—†์œผ๋‹ˆ๊นŒ
  • ๋ฐ˜๋ณตํ•ด์„œ ํ’€๊ธฐ
    • Like ๋‚ด์‹  ์ˆ˜ํ•™
    • ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ (์ด์ „ ๋ฌธ์ œ์™€ ์—ฐ๊ฒฐ์ง“๊ธฐ, ์ดํ›„์—๋„ ์‘์šฉํ•˜๊ธฐ)
      • ์–ด๋–ป๊ฒŒ ํ’€์—ˆ๋Š”์ง€ ๊ธฐ์–ตํ•˜๋ ค๋ฉด, ์‘์šฉํ•˜๋ ค๋ฉด ๋ฐ˜๋ณต ํ•™์Šต์ด ์ค‘์š”ํ•˜๋‹ค
  • ์‹œ๊ฐ„๋ณต์žก๋„
    • 1์ดˆ์— ๋ช‡ ๋ฒˆ ์—ฐ์‚ฐํ•˜๋Š”๊ฐ€?
    • ๋ฐ์ดํ„ฐ ์ˆ˜๋ฅผ ๋ณด๊ณ  ์ ์ ˆํ•œ ์‹œ๊ฐ„ ๋ณต์žก๋„์˜ ์•Œ๊ณ ๋ฆฌ๋“ฌ ๋– ์˜ฌ๋ฆฌ๊ธฐ (์–ด๋–ค ์•Œ๊ณ ๋ฆฌ๋“ฌ์„ ์“ธ์ง€๋ณด๋‹ค๋„ ๊ฑฐ๋ฆ„๋ง)
  • ์†์ฝ”๋”ฉ ๋จผ์ € ํ•˜๊ธฐ (๋ฐฉ๋ฒ•๋ก ์„ ๋จผ์ €)
    • ์‹œ๊ฐ„๋ณต์žก๋„ ์ค‘์‹ฌ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ๋“ฌ๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ณต๋ถ€ํ•œ๋‹ค
  • ๊ณจ๋“œ 3~4 ์•ˆ์ •์ ์œผ๋กœ, ์–ด๋–ป๊ฒŒ ํ‘ธ๋Š” ์ง€ ๋ฐ”๋กœ ์ƒ๊ฐ๋‚  ์ •๋„๋กœ, ์™ธ์šธ ์ •๋„๋กœ, ์–ด๋ ค์šด ๊ฒŒ ์žˆ์œผ๋ฉด ๋” ํ’€์–ด
  • ๋ฐฑ์ค€ Class ๋‚œ์ด๋„ ๋ณ„๋กœ
  • ๋ถ„์•ผ : ๋ชปํ•ด๋„ 11๊ฐ•, ๊ทธ๋ฆฌ๋””, ํƒ์ƒ‰ (์™„์ „ ํƒ์ƒ‰/BFS/DFS), ๊ทธ๋ž˜ํ”„, DP, ๋ฐฑํŠธ๋ž˜ํ‚น/์‹œ๋ฎฌ๋ ˆ์ด์…˜, ์ข€ ๋”? (ํฌ๋ฃจ์Šค์นผ, ๋‹ค์ต์ŠคํŠธ๋ผ/์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ, ํŠธ๋ผ์ด)
  • ์ž๋ฃŒ๊ตฌ์กฐ : ํ•ด์‹ฑ, ํŒŒ์‹ฑ, ์Šคํƒ, ํž™, ํŠธ๋ฆฌ, ๋ฌธ์ž์—ด

  • ๋ฐฑ์ค€ : 10816, 1439, 10799, 1992, 9012, 2447, 10101, 14503, 3040, 11403, 11651, 1789, 15649, 15650, 11497, 9663, 2630, 1446, 1094, 4307, 4485, 1520, 9084, 11758, 1991, 17779, 11053, 13869, 9251, 1766, 11725, 10845, 1004, 4256, 11724, 1337, 7490, 2022, 1340, 17140, 1389, 1158, 1316, 10815, 17266, 7795, 11054, 8958, 7576, 1912, 9020, 16236, 1167, 2437, 15686, 9095, 1194, 25644, 2170, 1922, 17070, 1525, 18352, 1918, 14725, 7569, 2887, 12015, 1007, 1197, 10942, 1509, 1194, 1562, 1799, ์‚ผ์ „ Sw ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : 42895, ๊ธฐ์ถœ
  • ์ฝ”๋“œํฌ์Šค (๋ธ”๋ฃจ)

๐Ÿ—ฟ CS / ๋ฉด์ ‘


  • ๋Œ€๋‹ต์€ ์•Œ๊ณ ์žˆ๋Š” ์„ ์—์„œ, ๋ชจ๋ฅด๋Š”๊ฑด ๋ชจ๋ฅธ๋‹ค๊ณ 

  • Effective C++
  • C์™€ C++์˜ ์ฐจ์ด?
  • ์ฝ”ํ…Œ ์•Œ๊ณ ๋ฆฌ๋“ฌ ์งˆ๋ฌธ, ๊ฒŒ์ž„ ํŠนํ™” ์•Œ๊ณ ๋ฆฌ๋“ฌ ์ข…์ข… (A*, QuadTree, BSP)
  • ์ฝ”๋“œ์— ๋Œ€ํ•œ ํž™๊ณผ ์Šคํƒ์˜ ๋ ˆ์ด์•„์›ƒ์ด ๊ทธ๋ ค์ ธ์•ผ. ์ƒ์„ฑ์ž ์†Œ๋ฉธ์ž ํ˜ธ์ถœ ์ˆœ์„œ, ์ปดํŒŒ์ผ ํƒ€์ž„๊ณผ ๋Ÿฐํƒ€์ž„ ๊ด€์ ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํŒŒ์•….

  • ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ

  • ๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ(๋ฒกํ„ฐ)์˜ ์ฐจ์ด, ๋ณธ์ธ์ด ์•Œ๊ณ ์žˆ๋Š” ๊ฒŒ์ž„ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•
  • @ ๋ฉด์ ‘ ๋งˆ์ง€๋ง‰์— ๊ถ๊ธˆํ•œ๊ฑฐ ์žˆ๋ƒ๊ณ  ๋ฌผ์–ด๋ณผ๋•Œ๋Š” ์ด๋ก ์€ ์ข‹์€๋ฐ ์‹ค์ œ๋กœ ์ ์šฉํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฑธ ์–ด๋–ป๊ฒŒํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋ฌผ์–ด๋ณธ๋‹ค๋ฉด
    • ํด๋ผ์ด์–ธํŠธ์—์„œ ์œ ๋‹›ํ…Œ์ŠคํŠธ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€, A/B ํ…Œ์ŠคํŠธ๋ผ๋“ ์ง€, ์œ ๋‹ˆํ‹ฐ ์”ฌ ์ถฉ๋Œ๋‚˜๋ฉด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€

๐Ÿ—ฟ ํ•™์Šต


  • ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐฐ์›Œ์„œ ํ•  ์ค„ ์•Œ๊ฒŒ ๋œ๋‹ค
    • ์•ˆ๋‹ค, ๋จธ๋ฆฌ๋กœ ์•Œ๊ณ  ์žˆ์Œ X ์ˆ™๋‹ฌ๋˜์—ˆ๋‹ค O
    • ์ˆ™๋‹ฌ = ํ•™์Šต
    • Linking Chunking - ์—ฐ๊ฒฐ ๋ฉ์–ด๋ฆฌํ™”
  • Chunking
    • ์žฅ๊ธฐ๊ธฐ์–ต - ์˜ค๋ž˜ ๊ธฐ์–ต์— ๋‚จ์€๊ฒƒ : ์šฐ๋ฆฌ์ง‘์ฃผ์†Œ, ๋‚ด์ด๋ฆ„,โ€ฆ
    • ๋‹จ๊ธฐ๊ธฐ์–ต - ์ž ๊น ์šฐ๋ฆฌ ๋จธ๋ฆฟ์†์— ๋“ค์–ด์™”๋‹ค๊ฐ€ ๋น ์ ธ๋‚˜๊ฐ€๋ฒ„๋ฆฌ๋Š” ๊ธฐ์–ต : ๋ฒผ๋ฝ์น˜๊ธฐ, โ€ฆ
    • ์—ฐ์‚ฐ๊ธฐ์–ต - ์นดํŽ˜์—์„œ ๋…ธํŠธ๋ถ์— ์™€์ดํŒŒ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ ์ž…์œผ๋กœ ์ค‘์–ผ์ค‘์–ผ ๊ฑฐ๋ฆฌ๋ฉด์„œ ์™ธ์šฐ๊ณ  ๊นŒ๋จน๋Š”
      • 3๊ฐ€์ง€ (์šฐ๋ฆฌ ๋‡Œ์˜ ์—ฐ์‚ฐ ๊ณต๊ฐ„์ด 3๊ฐ€์ง€ ๊ธฐ์–ตํ•˜๋Š” ์ •๋„)
        • ๋„ˆ๋ฌด ๋ฉ์–ด๋ฆฌ๊ฐ€ ์ปค๋„, ๋„ˆ๋ฌด ๋ฉ์–ด๋ฆฌ๊ฐ€ ์ž‘์•„๋„
        • 0014243324, 001-424-3324, 00-14-24-33-24
      • ๋‚ฎ์€ ๋‹จ๊ณ„๋ถ€ํ„ฐ Chunkingํ•˜๊ธฐ, ํฌ๊ฒŒ Chunking ํ•˜๊ธฐ
      • ์ฝ”ํ…Œ
        • ๋ฌธ์ œ ์ดํ•ดํ•˜๊ธฐ
        • ๋ฐ์ดํ„ฐ์™€ ๋ฌธ์ œ์— ๋งž๋Š” ์•Œ๊ณ ๋ฆฌ๋“ฌ ์ฐพ๊ธฐ
        • ์•Œ๊ณ ๋ฆฌ๋“ฌ ์ ์šฉํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๊ธฐ
          • DFS ์“ธ ๋•Œ๋Š” ์Šคํƒ์“ฐ๊ธฐ
          • DFX ์“ธ ๋•Œ ์‹œ์ž‘์ง€์  stack์— ๋ฏธ๋ฆฌ ๋„ฃ๊ธฐ
  • Linking
    • ์‹ ์ง€์‹์„ ๊ตฌ์ง€์‹์— ์—ฐ๊ฒฐ์‹œํ‚ค๊ธฐ
    • ์•„๋Š” ๊ฒƒ์ด ์—†๋Š” ์ „ํ˜€ ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋ผ๋ฉด
      • ๊ณ„์† ๋ฐ˜๋ณตํ•ด๋ผ
      • ์–ด๋–ป๊ฒŒ๋“  ์ „ํ˜€ ์—ฐ๊ด€์ด ์—†๋Š” ๊ฒƒ์ด๋”๋ผ๋„ ํ™œ์šฉํ•ด์„œ ์—ฐ๊ฒฐ์‹œ์ผœ๋ผ

๐Ÿ—ฟ _


๐Ÿชจ ๋ฉด์ ‘์—์„œ ๋‹ตํ•  ์ •๋„์˜ ๊ทธ๋ž˜ํ”ฝ์Šค

  • ๊ทธ๋ž˜ํ”ฝ์Šค API
  • ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ / ์…ฐ์ด๋”
    • ๋Œ€๋งˆ์™• ์ฑ… 3๊ถŒ
  • _
    • ํŒŒ์ดํ”„๋ผ์ธ ์ญ‰ ํ›‘๊ณ  ํ…์Šค์ณ๋ง์ด๋ž‘ ์•ŒํŒŒ๋ธ”๋ Œ๋”ฉ ํ•ด๋ณด๋ฉด ์ถฉ๋ถ„?
    • ํฌ์›Œ๋“œ/๋””ํผ๋“œ ๋ Œ๋”๋Š” ๊ฐœ๋…๋งŒ ์ˆ™์ง€ํ•˜๊ณ  ๊ตณ์ด ๋””ํผ๋“œ๋กœ ๋งŒ๋“ค์–ด๋ณด๊ฑฐ๋‚˜ ํ•  ํ•„์š”๊นŒ์ง„
    • https://www.opengl-tutorial.org/ -> ๋ Œ๋”๋ง ๊ธฐ์ดˆ?

๐Ÿชจ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ๋ฉ€ํ‹ฐํ”Œ๋žซํผ ๋Œ€์‘์„ ๊ฒŒ์ž„ ์—”์ง„์ด ๋‹ค ํ•ด์ฃผ๋‹ค๋ณด๋‹ˆ..
  • ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง€์‹์ด ํ•„์ˆ˜์ ์ด๋ผ ์ค‘์š”

  • โ€˜๋‡Œ๋ฅผ ์ž๊ทนํ•˜๋Š” ์œˆ๋„์šฐ์ฆˆ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐโ€™, โ€˜Advenced! ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐโ€™, โ€˜OS, ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก โ€™

๐Ÿชจ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ์ด๊ฑด ๋ญ˜๋กœ ๊ณต๋ถ€ํ•˜์ง€..?

๐Ÿชจ ๋„คํŠธ์›Œํฌ

  • ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์ฒญ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•
    • Thread
      • Lock
      • DeadLock
    • Microthred (Coroutine, Fiber)
      • ์žฅ๋‹จ์ ์„ ์•„์•„์•ผ ๊ฒ ์ฃ 
  • ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ ์—ฐ๊ฒฐ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • IOCP
    • epoll
  • TCP, UDP
    • ์–ด๋–ป๊ฒŒ ๋™๊ธฐํ™”๋ฅผ ํ•  ๊ฒƒ์ธ๊ฐ€
    • ๋ฉ”์‹œ์ง€๋ฅผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋ณด๋‚ผ๊ฒƒ์ธ๊ฐ€ (Serialization)
  • ๋„คํŠธ์›Œํฌ๋ฅผ ์•„๋Š” ๊ฒƒ๊ณผ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋กœ์˜ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๋Š” ๊ฒƒ๊ณผ๋Š” ๊ฒฐ์ด ๋‹ค๋ฅธ ์ด์•ผ๊ธฐ
  • ์„œ๋น„์Šค ๊ด€์ ์—์„œ ๋„คํŠธ์›Œํฌ/DB ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์ดํ•ด ํ•„์š”. i.e. AWS ๊ธฐ๋ฐ˜ DB ์—ฐ๋™ ๊ฐ€๋ฒผ์šด ์›น์‚ฌ์ดํŠธ ๋ฐ ๊ด€๋ฆฌ๋„๊ตฌ
  • TCP์†Œ์ผ“ ๊ธฐ๋ฐ˜์˜ ์‹ค์‹œ๊ฐ„ ๊ฒŒ์ž„

  • ์†Œ์ผ“ (์œˆ๋„์šฐ์ฆˆ ๊ธฐ๋ฐ˜)
    • ๊ธฐ๋ณธ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, IOCP
    • boost::asio?
  • ์›น

๐Ÿชจ DB

  • Transaction
  • SQL
  • Stored Procedure
  • NoSQL
    • Redis

๐Ÿชจ _

  • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค
    • SQL ๋ฌธ
    • Index์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ƒ์‹
    • Redis?
  • ํ—คํ…Œ๋กœ์ง€๋‹ˆ์–ด์Šค
  • DApp
  • DTO
  • ๊ณ ํฌ๋ฅ˜

  • ์ฑ„ํŒ… ์„œ๋ฒ„ - ์‹ค์‹œ๊ฐ„? C++
  • ๋กœ๊ทธ์ธ - API ์„œ๋ฒ„? ์›น์„œ๋ฒ„? ๋น„์‹ค์‹œ๊ฐ„ ํ†ต์‹ ? ASP.Net Core Web API

  • Win32 API ๊ธฐ๋ณธ์€ ์•„๋Š”
  • ๋„คํŠธ์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ๊ฐ„๋‹จํ•œ ๊ฒƒ (์ฑ„ํŒ… ํ”„๋กœ๊ทธ๋žจ)

  • ์˜จ๋ผ์ธ ๋ณด๋“œ ๊ฒŒ์ž„ (์˜ค๋ชฉ, ์žฅ๊ธฐ๋“ฑ)
  • ์˜จ๋ผ์ธ ์•ก์…˜ ์บ์ฃผ์–ผ ๊ฒŒ์ž„

  • IOCP๋ฅผ ํ•ต์‹ฌ ํฌํด๋กœ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด
    • ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒŒ์ž„ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด์•ผ๋จ
    • ๋”๋ฏธ ํ…Œ์ŠคํŠธ ํ•„์š”
    • ๋ฒค์น˜๋งˆํฌ ์ˆ˜์น˜ ์ œ์‹œ
  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ Lock-Free
    • ์ด๋ฏธ ๋ฝ ํ”„๋ฆฌ ์•Œ๊ณ ๋ฆฌ๋“ฌ์„ ์‚ฌ์šฉํ•œ ์ปจํ…Œ์ด๋„ˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ๋‚˜์™€ ์žˆ์Œ, ์ง์ ‘ ๋งŒ๋“ค ํ•„์š” ์—†๊ณ , ๋งŒ๋“ค๋ฉด ๊ฒ๋‚จ
  • ์˜คํ”ˆ ์†Œ์Šค ์ฐธ๊ณ 

  • pure virtual function, smart pointer
  • ํž™๋ฉ”๋ชจ๋ฆฌ๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋˜๋ฉฐ ์–ด๋– ํ•œ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€
  • ์“ฐ๋ ˆ๋“œ์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

  • win32 api๋Š” ๋ฉ”์‹œ์ง€ ๋ฃจํ”„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ  ๋งˆ์šฐ์Šค ํ‚ค๋ณด๋“œ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๋ฉด ๋ฉ๋‹ˆ๋‹ค
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฒŒ์ž„ ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ win32์ง€์‹์€ ๋งํฌํ•˜์‹  ๊ฐ•์ขŒ ์ •๋„๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋” ํ•„์š”ํ•˜๋ฉด ์ฐพ์•„๋ณด๊ณ  ํ•™์Šตํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.