Skip to content

eomttt/read-contents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 

Repository files navigation

BookMarks

๋งค์ผ๋งค์ผ ์ธ์‚ฌ์ดํŠธ ์–ป๊ธฐ

Development References

  • ๊ณ ํ€„๋ฆฌํ‹ฐโšก๊ฐœ๋ฐœ ์ปจํ…์ธ  ๋ชจ์Œ

  • 30 seconds of code

    • ์‹ฌ์‹ฌํ• ๋•Œ ๋งˆ๋‹ค ์งง๊ฒŒ ์งง๊ฒŒ ํ•œ๋ฒˆ์”ฉ ๋ณด๋ฉด ์žฌ๋ฏธ์žˆ์„๋“ฏ
  • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋˜๊ณ  ์‹ถ๋‹ค๊ณ ?

    • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๊ณ  ๋Œ€๋žต์ ์ธ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋žจ์ด ๋ฌด์—‡์ธ๊ฐ€์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋˜์–ด์žˆ๋‹ค
  • ๊ธฐ์ˆ ๋ฉด์ ‘ ์ค€๋น„ํ•˜๊ธฐ

    • JAVA ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ธ€์ด ์จ์ ธ์žˆ์œผ๋‚˜, ์ „๋ฐ˜์ ์ธ ์›น์— ๋Œ€ํ•œ ์„ค๋ช…์ด๋ผ์„œ ํ•œ๋ฒˆ์”ฉ ์ƒ๊ฐ๋‚  ๋•Œ ์ฝ์œผ๋ฉด ์ข‹๋‹ค
  • ๊ฐœ๋ฐœ ๋„์„œ ๊ด€๋ จ NOTION

  • SOLID ์›์น™

  • Web developer roadmap

  • [IT ๊ฐœ๋ฐœ์ž์™€ ์ผํ•  ๋•Œ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฐœ๋ฐœ์ง€์‹] A to Z ์ž๋ฃŒ ๋ชจ์Œ์ง‘

  • My Top5 APIs For New Developers

    • ๊ฐ€์ง€๊ณ  ๋†€๋ฉด ์žฌ๋ฐŒ์–ด ๋ณด์ด๋Š” API ๋“ค์ด ์žˆ๋‹ค. ํฌ์ผ“๋ชฌ, ํ™•์–ธ, Countries ์ •๋ณด ๋ญ ๋ฒˆ์—ญ ๊ฐ™์€๊ฒƒ๋„ ์žˆ๋Š”๋ฐ ํŠน์ดํ•œ ๋ฒˆ์—ญ๋„ ์กด์žฌํ•œ๋‹ค (์š”๋‹ค์–ด, ์—˜ํ”„์–ด , ๊ทธ๋ฅดํˆฌ์–ด ๋“ฑ)
  • Lerna(๐Ÿ‰)๋กœ ๋ชจ๋…ธ๋ ˆํฌ ํ•ด๋ณด๋Ÿฌ๋‚˜?

    • ๋ชจ๋…ธ๋ ˆํฌ์— ๊ถ๊ธˆํ•œ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ ๊ฐœ๋… ์„ค๋ช…์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•œ๋“ฏ. ํŠนํžˆ Learna ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚˜๋ˆ„๋Š”๋ฐ facebook/react, babel ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด์ฃผ๋ฉด์„œ ๋Œ€๋žต์ ์ธ ๊ฐœ๋…์„ ์•Œ๋ ค์คŒ
  • ์นด์นด์˜ค ์–ด๋“œ๋ฏผ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ชจ๋…ธ๋ ˆํฌ๋กœ ๊ฐœ๋ฐœํ•˜์—ฌ ์–ป์€ ๊ฒƒ๋“ค

  • The Architecture of Open Source Applications

    • ๊ฑด์ถ•๊ฐ€๋“ค์€ ์ˆ˜์ฒœ๊ฐœ์˜ ๊ฑด๋ฌผ์„ ๋ณด๊ณ , ๊ฑฐ์žฅ๋“ค์ด ๋งŒ๋“  ๊ฑด๋ฌผ์— ๋Œ€ํ•œ ๋น„ํ‰๋“ค์„ ์—ฐ๊ตฌํ•˜๋Š”๋ฐ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋“ค์€ ์ง์ ‘ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋งŒ ์ž˜ ์•Œ๊ณ , ์—ญ์‚ฌ์ ์œผ๋กœ ์œ„๋Œ€ํ•œ ํ”„๋กœ๊ธˆ๋“ค์„ ์—ฐ๊ตฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ฌธ์ œ์˜์‹์ด ์žˆ๋‹ค. ๋‚˜๋Š” ์ด์— ๋Œ€ํ•˜์—ฌ ๊ฑฐ์˜ 100ํ”„๋กœ ๋™์˜ํ•˜๊ฒŒ ๋˜๊ณ  ์ด ํŽ˜์ด์ง€๋Š” ์œ ๋ช…ํ•œ ์˜คํ”ˆ ์†Œ์Šค ํ„ฐํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์™œ ์ด๋Ÿฐ ์„ค๊ณ„๋ฅผ ํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค.
  • App ideas

    • ์ข‹์€ ํ† ์ดํ”„๋กœ์  ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์„๋“ฏ
  • 2018๋…„, ๋‚ด๊ฐ€ ๋ชจ๋ฅด๋Š” ๊ธฐ์ˆ ๋“ค

    • React maintainer ์ธ Dan Abramov ๊ฐ€ ์“ด ๊ธ€์„ ๋ฒˆ์—ญํ•œ ๊ธ€, ์ด์ „์— ํŠธ๋ Œ๋””ํ•œ ๊ฐœ๋ฐœ์ž ๋ณด๋‹ค ํ•˜๋‚˜์— ๋Œ€ํ•ด์„œ ๊นŠ๊ฒŒ ์•„๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ธ€์„ ๋ณธ์ ์ด ์žˆ๋Š”๋ฐ, ๋น„์Šทํ•œ ๋งฅ๋ฝ ๋˜ํ•œ ๋‚˜๋„ ์€๊ทผ ๊ฐ€๋ฉด ์ฆํ›„๊ตฐ์ด ์žˆ๋Š”๊ฒƒ ๊ฐ™์€๋ฐ ์ž๋งŒ์‹ฌ์€ ์•„๋‹ˆ์—ฌ๋„ ์ž์‹ ๊ฐ์€ ํ•„์š”ํ• ๋“ฏ
  • Realworld example

    • ๋‹จ์ˆœํ•œ ๊ฒŒ์‹œํŒ, ์นด์šดํ„ฐ๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์Šคํƒ์œผ๋กœ ์‹ค์ œ ์„œ๋น„์Šค ์ •๋„์˜ ์˜ˆ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” Repo. ์–ด๋–ค ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ์— ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„๋“ฏ, ๋˜๋Š” ๋‚ด๊ฐ€ ํ•ด๋ณธ ํ”„๋กœ์ ํŠธ ์Šคํƒ์„ ์˜ฌ๋ ค๋ณผ ์ˆ˜๋„...
  • what happens when

    • ์ด ์ €์žฅ์†Œ๋Š” ๊ณ ์ „์ ์ธ ์ธํ„ฐ๋ทฐ ์งˆ๋ฌธ์ธ "๋‹น์‹ ์˜ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— google.com์„ ์น˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์–ด๋–ค ์ผ์ด ์ƒ๊ธธ๊นŒ์š”?"์— ๋Œ€ํ•ด ๋‹ตํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.
  • More challenging projects every programmer should try

    • ๊ฐœ๋ฐœ์ž๊ฐ€ ๋„์ „์ ์œผ๋กœ ํ•ด๋ณผ ๋งŒํ•œ ํ”„๋กœ์ ํŠธ, ์ถ”ํ›„์— text web browser ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ฉด ์žฌ๋ฏธ์žˆ์„๋“ฏ
  • ๊ธฐ์—… ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๋ชจ์Œ

    • ๊ธฐ์—… ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๋ชจ์Œ๋“ค, ํ•˜๋ฃจ์— ํ•˜๋‚˜์ •๋„ ๋ณด๋ฉด ์ข‹์„๋“ฏ
  • RN Java -> Kotlin, Object C -> Swift

    • RN ์€ ํ”„๋กœ์ ํŠธ ์„ธํŒ…์ด Java, Object C๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ ์ด๋ฅผ Kotlin, Swift๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํฌ์ŠคํŒ…
  • ๋ฐ์ดํ„ฐ ๋กœ๊ทธ ์„ค๊ณ„, ๋ฐ์ดํ„ฐ ๋กœ๊น…, ์ด๋ฒคํŠธ ๋กœ๊ทธ ์„ค๊ณ„, ๋ฐ์ดํ„ฐ QA์˜ ๋ชจ๋“  ๊ฒƒ

    • ๋‚˜์ค‘์— ๋ฐ์ดํ„ฐ ์„ค๊ณ„ํ•˜๋Š” ์‹œ์ ์ด ์˜ค๊ฒŒ ๋˜๋ฉด ํ•„์š”ํ• ๊ฒƒ ๊ฐ™์Œ
    • ํ˜„์žฌ๋Š” ๋‹ค๋ฅธ ํŒ€์›์ด ํ•˜๋Š” ์ค‘
  • DOM event visualize

    • DOM ์ด๋ฒคํŠธ๋ฅผ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ํ‘œํ˜„
  • ์‹ค์‹œ๊ฐ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ”Œ๋žซํผ ์˜คํ”ˆ์†Œ์Šค

    • ์‹ค์‹œ๊ฐ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”Œ๋žซํผ, ๋ผ์ด๋ธŒ์ฑ„ํŒ…, ํ™”์ƒํ†ตํ™” ๊ฐ™์€๊ฑฐ ๋งŒ๋“ค๊ธฐ ์ซŒ ํž˜๋“ค๊ฒƒ ๊ฐ™์€๋ฐ ์ด๊ฑฐ ์ด์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๋“ฏ.
    • ์ด๋Ÿฐ๊ฑฐ ๊ฐ–๊ณ  ํ† ์ดํ”„๋กœ์ ํŠธ ํ•˜๋‚˜ํ•˜๋ฉด ์žฌ๋ฏธ์žˆ์„๋“ฏ
  • Journey of a web page ๐Ÿ›ฃ๏ธ - How browsers work

    • ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์›น ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋กœ ์ถœ๋ ฅ๋˜๋Š” ์‚ฌ์ด์— ์ผ์–ด๋‚˜๋Š” ์ผ๋“ค์„ ์„ค๋ช…ํ•ด์ฃผ๋Š” ๊ธ€
  • Knowre ์›น๊ฐœ๋ฐœ ์ปค๋ฆฌํ˜๋Ÿผ

    • ํ‹ˆํ‹ˆํžˆ ๋ณด๋ฉด ์ข‹์„ ๊ธฐ์ดˆ์ ์ธ ๊ฒƒ๋“ค
  • sindresorhus/awesome

    • ๐Ÿ˜Ž Awesome lists about all kinds of interesting topics
    • ๊ถ๊ธˆํ•œ๊ฒŒ ์žˆ์œผ๋ฉด ์—ฌ๊ธฐ์„œ ์ฐพ์•„๋ด๋„ ๋ ๋“ฏ
  • What happens when...

    • URL ์ฐฝ์— ์ฃผ์†Œ๋ฅผ ํด๋ฆญํ–ˆ์„๋–„์— ์ƒ๊ธฐ๋Š” ์ผ...
  • ํด๋ฆฐ ์ฝ”๋“œ(Clean Code) ์š”์•ฝ

    • ์•„์ง ์ฝ์–ด๋ณด์ง€ ๋ชปํ–ˆ๊ณ  ์ง‘์—๋Š” ์žˆ๋Š” ์ฑ…
    • ์ฝ์–ด๋ณด๊ณ  ์š”์•ฝ๋ณธ ๋น„๊ตํ•ด๋ณด๋ฉด ์ข‹์„๋“ฏ
    • ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ž€?
    • ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„
    • ํ•จ์ˆ˜
    • ์ฃผ์„
    • ๊ฐ์ฒด์™€ ์ž๋ฃŒ๊ตฌ์กฐ
      • '์ž๋ฐ”๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋‹ˆ๊นŒ ๋ฌด์กฐ๊ฑด ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ์ฝ”๋”ฉํ•ด์•ผ์ง€!'๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋Š”๋ฐ, ์ด ์ฑ…์—์„œ๋Š” ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ˆ์ฐจ ์ง€ํ–ฅ์ ์ธ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์—ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์ธ์ƒ ๊นŠ์–ด์„œ ์˜ˆ์ œ ์ฝ”๋“œ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฅผ ํ•ด๋‘์—ˆ๋‹ค. (์ธ์ƒ์ ์ž„)
    • ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ
    • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ
    • ๋™์‹œ์„ฑ
  • Learn RegEx step by step, from zero to advanced.

    • ์Šคํ… ๋ฐ”์ด ์Šคํ…์œผ๋กœ RegEx ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š”๊ณณ
  • JWT: Ultimate How-To Guide With Best Practices In JavaScript

    • JWT ํ† ํฐ ๊ฐ€์ด๋“œ
    • ํ”„๋ก ํŠธ/๋ฐฑ์—”๋“œ ํ•  ๋•Œ๋Š” ์„ธ์…˜์„ ์ด์šฉํ•˜๋˜ ๋ถ„์‚ฐ ์„œ๋ฒ„๋ฅผ ํ•  ์‹œ์—๋Š” JWT ํ† ํฐ์„ ์ด์šฉํ•˜๋ฉด ์ข‹์Œ
    • access token ์„ ์•”ํ˜ธํ™” ํ•˜์—ฌ ๋งŒ๋“ฌ
    • sub ์— ์‚ฌ์šฉ์ž ์•„์ด๋””๋ฅผ ์ €์žฅํ•˜๊ณ  ๋‚˜๋จธ์ง€ ํ•ญ๋ชฉ์€ ๋ฐ”๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๊ฒƒ์ด ์ข‹์Œ
    • refresh token ์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์„ ์ถ”์ฒœ
    • access token ์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฉ”๋ชจ๋ฆฌ์— refresh token ์€ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€๋‚˜ ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ
    • access token ์„ authorize header ์— ํฌํ•จํ•˜์—ฌ ์š”์ฒญ
    • access token ๋งŒ๋ฃŒ์‹œ refresh token ์‚ฌ์šฉํ•˜์—ฌ ์žฌ๋ฐœ๊ธ‰
    • access token ์žฌ๋ฐœ๊ธ‰์‹œ ๋‹น์—ฐํžˆ refresh token ๋„ ์žฌ๋ฐœ๊ธ‰
    • ๋กœ๊ทธ์•„์›ƒ์‹œ ๋‘ token invalidate image
  • API Architecture โ€” Design Best Practices for REST APIs

    • Learn basic of HTTP
    • Do not return plain text
    • Do not use verbs in uri
    • Use plural nouns for resources (๋ณต์ˆ˜ํ˜• ์‚ฌ์šฉ)
    • Return the error details in the response body
    • Pay special attention to HTTP status codes
    • You should use HTTP status codes consistently
      • GET: 200 OK
      • PUT: 200 OK
      • POST: 201 Created
      • PATCH: 200 OK
      • DELETE: 204 No Content
    • Do not nest resources
    • Handle trailing slashes gracefully
    • Make use of the querystring for filtering and pagination
    • Know the difference between 401 Unauthorized and 403 Forbidden
      • Has the consumer not provided authentication credentials? Was their SSO Token invalid/timed out? ๐Ÿ‘‰ 401 Unauthorized.
      • Was the consumer correctly authenticated, but they donโ€™t have the required permissions/proper clearance to access the resource? ๐Ÿ‘‰ 403 Forbidden.
    • Make good use of HTTP 202 Accepted
    • Use a web framework specialized in REST APIs
  • ํ”„๋ก ํŠธ์—”๋“œ์™€ THE TWELVE-FACTOR APP

    • ์ตœ๊ทผ ๋ดค๋˜ ๊ธ€ ์ค‘์— ๊ทธ๋‚˜๋งˆ ๊ฐ๋ช…๊นŠ์Œ
    • ์ฝ”๋“œ๋ฒ ์ด์Šค
      • ๋ฒ„์ „๊ด€๋ฆฌ๋˜๋Š” ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋ฒ ์ด์Šค์™€ ๋‹ค์–‘ํ•œ ๋ฐฐํฌ
      • ์„œ๋น„์Šค ๊ฐ„ ์˜์กด์„ฑ์„ ๋‚ฎ์ถ”๊ณ  ๋…๋ฆฝ๋œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜๊ณ , ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ•จ
      • ๋ชจ๋…ธ๋ ˆํฌ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฐฐํฌ์‹œ์— ๋‹ค๋ฅธ๋ฐ ์ข…์†์„ฑ์ด ์žˆ์œผ๋ฉด ์•ˆ๋œ๋‹ค๋Š” ์ด์•ผ๊ธฐ
    • ์ข…์†์„ฑ
      • ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธ๋˜๊ณ  ๋ถ„๋ฆฌ๋œ ์ข…์†์„ฑ
      • ์ข…์†์„ฑ์—์„œ ๊ฐ•์กฐํ•˜๋Š”๊ฒƒ์€ ์™ธ๋ถ€ ์‹œ์Šคํ…œ์œผ๋กœ๋ถ€ํ„ฐ์˜ ๋…๋ฆฝ
      • FE์—์„œ๋Š” ์‹คํ–‰์— ๊ด€๋ จ๋œ ์˜์กด์„ฑ์„ package.json์— ์„ ์–ธํ•˜๋ฉด ์˜์กด์„ฑ ๊ด€๋ฆฌํˆด(npm, yarn) ์„ ํ†ตํ•ด ์†์‰ฝ๊ฒŒ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
      • ๋” ๋„“์€ ๋ฒ”์œ„์˜ ์ข…์†์„ฑ์„ ์ด์•ผ๊ธฐํ•˜๊ธดํ•จ node version ๊ฐ™์ด
    • ์„ค์ •
      • ํ™˜๊ฒฝ(environment)์— ์ €์žฅ๋œ ์„ค์ •
      • ๊ฐœ๋ฐœ, ์Šคํ…Œ์ด์ง•, ํ”„๋กœ๋•์…˜ ๋“ฑ์— ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ๋ถ„๋ฆฌ๊ฐ€ ํ•„์š”
      • ์ด๋Ÿฌํ•œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ฝ”๋“œ ๋‚ด๋ถ€์— ๋‘์ง€ ์•Š๊ณ  ์™ธ๋ถ€๋กœ ๋ถ€ํ„ฐ ์ฃผ์ž…๋ฐ›์Œ์œผ๋กœ์จ ํ™˜๊ฒฝ์œผ๋กœ ๋ถ€ํ„ฐ ๋…๋ฆฝ์„ ์™„์„ฑํ•จ
    • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค
      • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐ๋œ ๋ฆฌ์†Œ์Šค๋กœ ์ทจ๊ธ‰
      • ์—ฌ๊ธฐ์„œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ž‘ ์„œ๋“œํŒŒํ‹ฐ ์„œ๋น„์Šค๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ. ์˜ˆ๋ฅผ ๋“ค์–ด Sentry์—์„œ ๋กœ์ปฌ ๊ฐœ๋ฐœ์‹œ์—” ๊ฐœ๋ฐœ ์„ค์น˜๋œ Sentry๋ฅผ ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ์‹œ์—” ํด๋ผ์šฐ๋“œ์šฉ Sentry๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•จ
    • ๋นŒ๋“œ, ๋ฆด๋ฆฌ์ฆˆ, ์‹คํ–‰
      • ์ฒ ์ €ํ•˜๊ฒŒ ๋ถ„๋ฆฌ๋œ ๋นŒ๋“œ์™€ ์‹คํ–‰ ๋‹จ๊ณ„
      • ์ด ์›์น™์„ ๋งŒ์กฑํ•ด์•ผ ๊ฐœ๋ฐœ๊ณผ ์šด์˜์˜ ๋…๋ฆฝ์ด ์‹คํ˜„ ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•จ
    • ํ”„๋กœ์„ธ์Šค
      • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ•˜๋‚˜ ํ˜น์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฌด์ƒํƒœ ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰
      • ๋Œ€๋ถ€๋ถ„์˜ FE ํ™˜๊ฒฝ์—์„œ๋Š” HTTP ์š”์ฒญ์€ stateless ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์€ ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ์ง€์ผœ์ง€๊ณ  ์žˆ์Œ
    • ํฌํŠธ ๋ฐ”์ธ๋”ฉ
      • ํฌํŠธ ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•ด์„œ ์„œ๋น„์Šค๋ฅผ ๊ณต๊ฐœํ•จ
    • ๋™์‹œ์„ฑ
      • ํ”„๋กœ์„ธ์Šค ์›์น™์„ ์ง€์ผฐ๋‹ค๋ฉด ๋™์‹œ์„ฑ ์›์น™๋„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ์Œ.
      • ํ”„๋กœ์„ธ์Šค ์›์น™์œผ๋กœ ๋‚ด๋ถ€์— ์ƒํƒœ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜ํ‰์œผ๋กœ ํ™•์žฅ(scale out) ์ด ๊ฐ€๋Šฅํ•จ
    • ํ๊ธฐ ๊ฐ€๋Šฅ
      • ๋น ๋ฅธ ์‹œ์ž‘๊ณผ ๊ทธ๋ ˆ์ด์Šคํ’€ ์…ง๋‹ค์šด์„ ํ†ตํ•ด ์•ˆ์ •์„ฑ ๊ทน๋Œ€ํ™”
      • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ข…๋ฃŒ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์„ ๊ทธ๋ ˆ์ด์Šคํ’€ ์…ง๋‹ค์šด์ด๋ผ๊ณ ํ•จ
    • ๊ฐœ๋ฐœ/ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ ์ผ์น˜
      • ๊ฐœ๋ฐœ, ์Šคํ…Œ์ด์ง•, ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์„ ์ตœ๋Œ€ํ•œ ๋น„์Šทํ•˜๊ฒŒ ์œ ์ง€
    • ๋กœ๊ทธ
      • ๋กœ๊ทธ๋ฅผ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ทจ๊ธ‰
    • ์–ด๋“œ๋ฏผ ํ”„๋กœ์„ธ์Šค
      • admin/maintenance ์ž‘์—…์„ ์ผํšŒ์„ฑ ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰
      • ๋ฐฐํฌ ๊ด€๋ จ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋™์ผ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๋†“๊ธฐ
      • ์—ฌ๋Ÿฌ ์œ ํ‹ธ๋ฆฌ์„ฑ ์Šคํฌ๋ฆฝํŠธ(codegen, git, eslint) ๋ฅผ ๊ฐ™์€ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๋†“๊ธฐ
  • [๋ฒˆ์—ญ] ์„ฑ๊ธ‰ํ•œ ์ถ”์ƒํ™”์— ๊ด€ํ•˜์—ฌ - AHA Programming (Kent C. Dodds)

    • '์ค‘๋ณต์€ ์ž˜๋ชป๋œ ์ถ”์ƒํ™”๋ณด๋‹ค ๋น„์šฉ์ด ๋‚ฎ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ž˜๋ชป๋œ ์ถ”์ƒํ™”๋ณด๋‹ค๋Š” ์ค‘๋ณต์„ ์„ ํ˜ธํ•˜์ž.'
    • ์˜คํžˆ๋ ค ์„ฑ๊ธ‰ํ•˜๊ฒŒ ์ถ”์ƒํ™” ํ•˜๊ธฐ ๋ณด๋‹ค ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋ฉด ์ƒ๊ฐ ๋ณด๋‹ค ์ถ”์ƒํ™”๊ฐ€ ์•ˆ๋  ์ˆ˜๋„ ์žˆ๊ณ  ๋”์šฑ ์ข‹์€ ์ถ”์ƒํ™”๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.
  • ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋„˜์–ด - ๋ฌธ์ œ์˜ ๊ทผ๋ณธ์ ์ธ ์›์ธ ์ฐพ์•„๊ฐ€๊ธฐ Part 1 | ์นด์นด์˜ค์—”ํ„ฐํ…Œ์ธ๋จผํŠธ FE ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

    • ๋ฌธ์ œ์˜ ๊ทผ๋ณธ ์›์ธ์„ ์ฐพ์•„์„œ..
    • ํ•˜๋ฉด ํ•  ์ˆ˜๋ก ์ด๊ฒƒ์ด ์ฐธ ์ค‘์š”ํ•œ๊ฑฐ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.
    • ๋‹จ์ˆœํžˆ ํ•ด๊ฒฐ ํ•˜๊ธฐ ๋ณด๋‹จ ์ด ๋ฌธ์ œ๊ฐ€ ์™œ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ณ  ์ •ํ™•ํ•œ ์›์ธ ๊ทœ๋ช…์ด ๋˜๋ฉด, ๋‚˜์— ์ง€์‹์ด ๋˜๊ณ  ํ•œ์ธต ๋” ๋ฐœ์ „ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ ๊ฐ™๋‹ค
    • ์—ฌ๊ธฐ์„œ ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ทผ๋ณธ ์›์ธ์„ ์ฐพ์•„๊ฐ€๋ฉด์„œ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์šฐ๊ฒŒ ๋œ๊ฒƒ๋“ค๋„ ๋งŽ์•„์ง€๊ฒŒ ๋œ๋‹ค

CS

  • ์ปดํ“จํ„ฐ๊ณผํ•™ ์Šค์Šค๋กœ ํ•™์Šตํ•˜๊ธฐ

    • ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก  ํ•™์Šต์„ ์œ„ํ•œ ๋ ˆํฌ. ๊ฐ€๋”์”ฉ ํ•œ๋ฒˆ์”ฉ ๋ณด๋ฉด ์ข‹์„๋“ฏ. ์—ญ์‹œ ๊ธฐ๋ณธ์ด ํƒ„ํƒ„ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ
  • javascript-algorithms

  • javascript-algorithms korean

    • ์–ธ์  ๊ฐ€๋Š” ๋ณด๊ฒ ์ง€..... ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • JavaScript๋กœ ํŠธ๋ฆฌ, BFS, DFS ๊ตฌํ˜„ํ•˜๊ธฐ

    • ๋„ˆ๋น„ ์šฐ์„ ํƒ์ƒ‰, ๊นŠ์ด ์šฐ์„ ํƒ์ƒ‰
  • OSI 7๊ณ„์ธต ๋ชจ๋ธ

    • ์•„์ฃผ ์‰ฝ๊ฒŒ ์„ค๋ช…์„ ์ž˜ ํ•ด๋†“์Œ
    • Application Layer: ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋ชฉ์ ์ด ๋‹ฌ๋ผ์„œ ๊ฐ๊ฐ์˜ ๋ชฉ์ ์— ๋งž๊ฒŒ ํ†ต์‹  ๊ทœ์•ฝ ์ •๋ฆฌ (HTTP, SMTP)
    • Presentation Layer: ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ํ‘œํ˜„์„ ํ‘œ์ค€ํ™”
    • Session Layer: ์‚ฌํšŒ์ž! ํ†ต์‹ ์˜ ์ง„ํ–‰๋ฐฉ๋ฒ•๊ณผ ์—ฐ๊ฒฐ์„ ๋‹ด๋‹น
    • Transport Layer: ๋ฐ์ดํ„ฐ ์ „์†ก ํ–‰์œ„์˜ ์ดˆ์ ์„ ๋งž์ถค - ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ (TCP/UDP) - ์šฐ์ฒด๊ตญ ๊ฐ™์€ ์„œ๋น„์Šค
    • Network Layer: ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๊ฐ„์— ํšจ์œจ์ ์ธ ํ†ต์‹ ์„ ์œ„ํ•ด์„œ IP, Subnet, Routing ๊ธฐ์ˆ  ์ด์šฉ
    • DataLink Layer: ๊ณ ์œ ์ฃผ์†Œ์ธ MAC ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•ด์„œ ์ •ํ™•ํ•œ ์ฃผ์†Œ๋กœ์˜ ์ „์†ก์„ ์ฑ…์ž„์ง€๊ณ , ๋ฐ์ดํ„ฐ ํ๋ฆ„ ์ œ์–ดํ•˜๋Š” ์‹ ํ˜ธ์ฒด๊ณ„ ๊ฐ™์€ ์—ญํ• 
    • Physical Layer: ์‹ค์ œ ์ „์†ก์„ ์œ„ํ•œ ์žฅ์น˜๋ฅผ ์ด์šฉํ•ด์„œ ์ „์†ก

Network

Frontend

JavaScript

React

  • Styled-component ์— props ๋กœ style ์ ์šฉ

  • React + Firebase Realtime Database

  • CRA eslint, prettier ์ ์šฉํ•˜๊ธฐ

  • CRA TypeScript ์ ์šฉํ•˜๊ธฐ

  • root๋กœ import ํ•˜๊ธฐ (์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ import)

  • ํ”„๋กœ์ ํŠธ์— module resolver ์ ์šฉํ•˜๊ธฐ

  • React JS interview questions

  • Redux ์ ์šฉํ•˜๊ธฐ (ํ•จ์ˆ˜ํ˜•, Class ํ˜•)

  • Redux ๋ฏธ๋“ค์›จ์–ด ์ ์šฉํ•˜๊ธฐ (Thunk, Saga)

  • Saga Pattern๊ณผ redux-saga

  • redux-saga ๊ฐ€ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ

  • ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์ปดํฌ๋„ŒํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ์ปดํฌ๋„ŒํŠธ

  • Component ๋ถ„๋ฆฌ์˜ ๋ฏธํ•™

    • ๋„๋ฉ”์ธ ์ค‘์‹ฌ์˜ ์ปดํฌ๋„ŒํŠธ -> Atomic Design -> Container/Presentational ๋ถ„๋ฆฌ -> Custom hooks๋ฅผ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๊นŒ์ง€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‚˜๋ˆŒ ๋•Œ ๊ณ ๋ฏผํ•˜๋Š” ๋ถ€๋ถ„์ด ๋งŽ์ด ๋‹ด๊ฒจ ์žˆ๋‹ค
  • When to useMemo and useCallback

  • useCallback๊ณผ React.Memo์„ ํ†ตํ•œ ๋ Œ๋”๋ง ์ตœ์ ํ™”

    • useCallback์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์„œ ๋ Œ๋”๋ง ์ตœ์ ํ™”๊ฐ€ ์–ด๋–ป๊ฒŒ ์ผ์–ด๋‚˜๋Š”์ง€ ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค
  • 22 Amazing open source React projects

  • ๋ฆฌ์•กํŠธ(React)๋Š” ์™œ ์“ฐ๋Š” ๊ฑด๋ฐโ‰

    • React ๊ฐœ๋…์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์ •๋ฆฌ
  • React Context ์‚ฌ์šฉ๋ฒ•

  • 5 Recommended Tools for Optimizing Performance in ReactJS

  • react-use

  • ReactJS Roadmap ๐Ÿ—บ For Developers

  • React ํ†บ์•„๋ณด๊ธฐ

    • ์ „๋ฐ˜์ ์ธ React ์„ค๋ช…(?) ์–ด๋–ป๊ฒŒ React ๊ฐ€ ๋™์ž‘ํ•˜๋Š”์ง€ ๋‚˜์™€์žˆ์–ด์„œ ์žฌ๋ฏธ์žˆ์–ด ๋ณด์ž„ ๋ฆฌ์•กํŠธ๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•œ ๊ฒฝํ—˜์ด ์žˆ๊ณ  ๋™์ž‘ ๋ฐฉ์‹์„ ์–ด๋ ดํ’‹์ด ์ดํ•ดํ•˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ฆฌ์•กํŠธ๊ฐ€ ๋งˆ๋ฒ•์ฒ˜๋Ÿผ ๋Š๊ปด์ง€๊ณ  ์‘์šฉ, ์—๋Ÿฌ ๋””๋ฒ„๊น… ๋“ฑ์— ์–ด๋ ค์›€์„ ๊ฒช๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • 30 Days Of React

  • Recoil - ๋˜ ๋‹ค๋ฅธ React ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ?

    • ์ด๋ฒˆ๋…„๋„ ๊ด€์‹ฌ์žˆ๊ฒŒ ๋ณธ ๊ธฐ์ˆ , ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋ฐ”๋ฅผ ์ด๋ฃจ์–ด์ค€๊ฒƒ ๊ฐ™๋‹ค. contextAPI ๋Š” ๋ญ”๊ฐ€ ์„ฑ๋Šฅ์ ์œผ๋กœ ์žก๊ธฐ ํž˜๋“ ๊ฒƒ ๊ฐ™๊ณ , redux, mobx ๋Š” ๋ญ”๊ฐ€ ๋ณต์žกํ•˜๋‹ค. ํŠนํžˆ redux, store, action ์ด๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ์กฐ๊ธˆ ํž˜๋“ค์—ˆ๋˜๊ฒƒ ๊ฐ™๋‹ค. recoil ๊ธฐ๋Œ€๊ฐ€ ๋œ๋‹ค. ์ถ”ํ›„ concurrent mode ์—ญ์‹œ
  • Debug Why React (Re-)Renders a Component

    • React render component ๋””๋ฒ„๊น… ๋ฐฉ๋ฒ•, ์ปดํฌ๋„ŒํŠธ ๋ฆฌ๋ Œ๋”๋ง ๋ ๋•Œ ํ•˜์ด๋ผ์ดํŠธ ํ•˜๋Š” ๋ถ€๋ถ„์€ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์‹ค์ œ๋กœ DOM์ด ์—…๋ฐ์ดํŠธ ๋˜๋Š” ๋ถ€๋ถ„๋„ ์žก์„์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • Stop Using Atomic Design Pattern

    • ์ƒ๋‹น๋ถ€๋ถ„ ๋™์˜ํ•˜๋Š”๊ธ€
    • ์‹ค์ œ๋กœ ์•„ํ† ๋ฏน ๋””์ž์ธ์„ ์ ์šฉํ•˜๋‹ค ๋ณด๋ฉด ์ด๊ฒƒ์ด ์›์ž์ธ์ง€ ๋ถ„์ž์ธ์ง€ ์œ ๊ธฐ์ฒด์ธ์ง€ ์• ๋งคํ• ๋•Œ๊ฐ€ ๋งŽ์Œ
    • ์ด๋Ÿฐ๊ฒƒ๋“ค์„ ๋นก์„ธ๊ฒŒ ์ง€์ผœ๋‚˜๊ฐ€๊ธฐ ์œ„ํ•ด ์‹œ๊ฐ„ ์†Œ๋น„๋„ ์ƒ๋‹นํ•จ
    • ์ ์ ˆํ•˜๊ฒŒ ์ƒํ™ฉ์— ๋งž๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒํ™ฉ์— ๋งž๊ฒŒ ๊ทธ๋ฃนํ•‘ ํ•˜๋Š”๊ฒƒ์ด ๋” ํšจ์œจ์ ์ž„
    • ํ์Œ... ๊ทธ๋ฆฌ๊ณ  ์ •๋ง ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋“ค์ด ์žˆ๊ธด ํ•œ๊ฐ€์— ๋Œ€ํ•œ ์˜๋ฌธ๋„ ๋“ค๊ธดํ•จ
    • ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋˜๋ ค๋ฉด ๋””์ž์ธ์‹œ์Šคํ…œ์ด ์ •๋ง ์ž˜ ๋˜์–ด ์žˆ์–ด์•ผํ• ๊ฒƒ ๊ฐ™์Œ (ํ† ์Šค ์ฒ˜๋Ÿผ)
    • ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋„๋ก ๋Š˜ ์ฃผ์˜ํ•ด์•ผ๊ฒ ๋‹ค.
  • ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•œ ์ปดํฌ๋„ŒํŠธ

    1. ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์„ค๊ณ„
    • ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌํ•˜๊ธฐ (์ฃผ์†Œ๋ชฉ๋ก, ์ฃผ์†Œ ์•„์ดํ…œ์œผ๋กœ ๋ถ„๋ฆฌ)
    • ์—ญํ•  ์ค‘์‹ฌ์œผ๋กœ ๋ถ„๋ฆฌ (์ฃผ์†Œ ์•„์ดํ…œ ํด๋ฆญ์‹œ handler ๋ฅผ ์ฃผ์†Œ ์•„์ดํ…œ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€๋กœ ์˜ฎ๊น€)
    1. ์ผ๋ฐ˜์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„
    • ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์‚ฌ์šฉํ•˜๋Š” ์ชฝ์„ ์œ„ํ•œ๊ฒƒ์ž„, ์‚ฌ์šฉํ•˜๋Š” ์ชฝ์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณด๊ณ  ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ์ง€ ์˜ˆ์ƒ ๊ฐ€๋Šฅํ•ด์•ผํ•จ, ์™ธ๋ถ€์™€์˜ ์˜์กด์„ฑ์„ ๋งŒ๋“ฌ
    1. ๋„๋ฉ”์ธ์„ ๋ชจ๋ฅด๋Š” ์ปดํฌ๋„ŒํŠธ (์ฃผ์†Œ ์•„์ดํ…œ ๋ณด๋‹ค๋Š” ํ”Œ๋ ‰์Šค ์•„์ดํ…œ์œผ๋กœ ์ด๋ฆ„์„ ์ง“๋Š”๊ฒƒ์ด ๋” ์ผ๋ฐ˜์ ์ธ ์ด๋ฆ„)

    2. ์‘์ง‘๋„ ์žˆ๋Š” ์ปดํฌ๋„ŒํŠธ (๊ตฌํ˜„์„ ์บก์Šํ™” ํ•˜์—ฌ ๋‚ด๋ถ€์˜ ๋ณ€๊ฒฝ์ด ์™ธ๋ถ€์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋„๋ก ํ•จ)

      • button, text props ๋ณด๋‹ค๋Š” ์œ„์น˜๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” right, left props ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์™ธ๋ถ€์™€์˜ ์˜์กด์„œ์„ ๋งŒ๋“ค๊ณ  ๋‚ด๋ถ€ ์‘์ง‘๋„๋ฅผ ๋†’์ž„
      • ํ”Œ๋ ‰์Šค ์•„์ดํ…œ ๋ณด๋‹ค๋Š” ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์Šคํƒ€์ผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค๊ฑฐ๋‚˜, ๋ฒ„ํŠผ ์œ„์น˜๋ฅผ ๋ช…๋ช…ํ•˜๋Š” right props๋ฅผ ๋งŒ๋“ค์–ด์„œ ์™ธ๋ถ€์™€์˜ ์˜์กด์„ฑ์„ ๋งŒ๋“ฌ
  • React ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๋ฉฐ ์•Œ๊ฒŒ๋œ ๊ฒƒ๋“ค

    • Webpack loader ์ ์šฉ ์ˆœ์„œ
      • ์šฐ -> ์ขŒ
      • ํ•˜ -> ์ƒ
    • babel loader vs babelrc
      • .babelrc ํŒŒ์ผ ๋งŒ๋“ค์–ด์„œ ํ•˜๋Š”๊ฒƒ์ด ๋” ํŽธํ•จ
    • babel preset, plugin ์ ์šฉ ์ˆœ์„œ
      • plugin -> preset
      • plugin ์€ ์ˆœ์„œ๋Œ€๋กœ preset ์€ webpack ํ•˜๊ณ  ๊ฐ™์€ ์ˆœ์„œ๋กœ
    • Tree shaking ์— ์ ํ•ฉํ•œ ์„ธํŒ…
      • ํŠธ๋ฆฌ์‰์ดํ‚น์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ •์ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•œ ESM ํ˜•ํƒœ์ธ ๊ฒฝ์šฐ ๊ฐ€๋Šฅ
      • ๋”ฐ๋ผ์„œ ESM ์œผ๋กœ ์ž‘์„ฑ๋œ ์ƒํƒœ๋ฅผ, webpack terser ๊ฐ€ ํŠธ๋ฆฌ์‰์ดํ‚น ํ•˜๊ณ  minify ํ• ๋•Œ๊นŒ์ง€ ์œ ์ง€ํ•ด์•ผํ•จ
      • tsconfig ์—์„œ module: ESNext, @babel/preset-env์˜ modules: false
      • ์ด๋Ÿฌ๋ฉด ๋ฒˆ๋“ค๋ง ๊ฒฐ๊ณผ๋ฌผ์ด ESM ์œผ๋กœ ๋‚˜์™€ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š”๊ฒƒ ์•„๋‹Œ๊ฐ€ ์‹ถ์ง€๋งŒ ์›นํŽ™์ด ์•Œ์•„์„œ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•ด์คŒ
    • ์„ ํƒ์˜ ์—ฌ์ง€ (babel, tsc, webpack)
      • TypeScript : tsc vs @babel/preset-typescript
        • babel/preset-typescript ๋Š” ํŠธ๋žœ์ŠคํŒŒ์ผ์‹œ ๊ทธ๋ƒฅ type ํŒŒ์ผ ๋ฌด์‹œ, tsc ๋Š” type ํŒŒ์ผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค ํ™•์ธ
        • ๋”ฐ๋ผ์„œ ์†๋„๋Š” babel/preset-typescript ๊ฐ€ ๋” ๋น ๋ฆ„
      • JSX : tsconfig vs @babel/preset-react
        • JSX ๋ณ€ํ™˜์„ TypeScript ํŠธ๋žœ์ŠคํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ํ•˜๋Š๋ƒ, @babel/preset-react๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•˜๋Š๋ƒ์˜ ์ฐจ์ด
      • ES5 : ๊ทธ๋ƒฅ Babel
        • ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ babel์„ ์“ฐ์ง€ ์•Š๊ณ  tsc๋งŒ ์“ฐ๋Š” ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
        • @babel/preset-env๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ ์˜ต์…˜์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜, ํŠธ๋ฆฌ ์‰์ดํ‚น์— ์ ํ•ฉํ•œ ์„ค์ •์„ ํ•˜๋Š” ๋“ฑ ์›น ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ์š”.

React Native

Node

-๋ชจ๋‘ ์•Œ์ง€๋งŒ ๋ชจ๋‘ ๋ชจ๋ฅด๋Š” package.json

  • Package.json ์— ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•œ ์„ค๋ช…

  • Node.js ์ด๋ฒคํŠธ ๋ฃจํ”„(Event Loop) ์ƒ…์ƒ…์ด ๋ถ„์„ํ•˜๊ธฐ

  • ์ง€๊ธˆ ๋ณด๋‹ˆ ์กฐ๊ธˆ ์˜ค๋ž˜๋œ ๊ธ€์ด์ง€๋งŒ ์•„์ฃผ ์ƒ…์ƒ…์ด ์„ค๋ช… ๋˜์–ด์žˆ์–ด์„œ ์ข‹์Œ

  • ์ด๋ฒคํŠธ ๋ฃจํ”„๊ฐ€ ๊ฐ Phase ๋ฅผ ๋Œ๋ฉด์„œ ๊ฐ Phase ์˜ Queue ์— ์Œ“์—ฌ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•จ

  • ๊ทธ๋Ÿฐ๋ฐ nextTickQueue, microTaskQueue ์— ์‹คํ–‰ํ•  ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ phase ๋กœ ๋„˜์–ด๊ฐ€์ง€ ์•Š๊ณ  ์ž‘์—… ๋๋‚œ ํ›„ ํ™•์ธ ํ›„ ์‹คํ–‰

  • Node.js ์ด๋ฒคํŠธ ๋ฃจํ”„, ํƒ€์ด๋จธ, process.nextTick()

  • ์—ญ์‹œ ์ดํ•ด๊ฐ€ ์•ˆ๋  ๋•Œ์—๋Š” ๊ณต์‹๋ฌธ์„œ๋ฅผ...

  • timers: ์ด ๋‹จ๊ณ„๋Š” setTimeout()๊ณผ setInterval()๋กœ ์Šค์ผ€์ค„๋งํ•œ ์ฝœ๋ฐฑ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • pending callbacks: ๋‹ค์Œ ๋ฃจํ”„ ๋ฐ˜๋ณต์œผ๋กœ ์—ฐ๊ธฐ๋œ I/O ์ฝœ๋ฐฑ๋“ค์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • idle, prepare: ๋‚ด๋ถ€์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • poll: ์ƒˆ๋กœ์šด I/O ์ด๋ฒคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. I/O์™€ ์—ฐ๊ด€๋œ ์ฝœ๋ฐฑ(ํด๋กœ์ฆˆ ์ฝœ๋ฐฑ, ํƒ€์ด๋จธ๋กœ ์Šค์ผ€์ค„๋ง๋œ ์ฝœ๋ฐฑ, setImmediate()๋ฅผ ์ œ์™ธํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ์ฝœ๋ฐฑ)์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ์‹œ๊ธฐ์— node๋Š” ์—ฌ๊ธฐ์„œ ๋ธ”๋ก ํ•ฉ๋‹ˆ๋‹ค.

  • check: setImmediate() ์ฝœ๋ฐฑ์€ ์—ฌ๊ธฐ์„œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

  • close callbacks: ์ผ๋ถ€ close ์ฝœ๋ฐฑ๋“ค, ์˜ˆ๋ฅผ ๋“ค์–ด socket.on('close', ...).

Svelte

TypeScript

Rust

  • Rust Programming

    • Rust ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ž˜ ์ •๋ฆฌํ•ด๋†“์€ ๋ธ”๋กœ๊ทธ ๊ธ€
  • Microsoft Rust learn

    • Microsoft ์ œ๊ณตํ•œ rust ํ•™์Šต ์ž๋ฃŒ
  • Roll your own JavaScript runtime

    • Rust js module ๋กœ JS runtime ๊ตฌํ˜„

Go

Swift

Python

  • Understanding all of Python, through its builtins
    • builtin์œผ๋กœ ํŒŒ์ด์ฌ์˜ ๋ชจ๋“ ๊ฒƒ์„ ์ดํ•ดํ•˜๊ธฐ
    • builtin ๋ชจ๋“ˆ์— ์žˆ๋Š” ๋‚ด์žฅ ๊ฐ์ฒด๋“ค์„ ํ•˜๋‚˜์”ฉ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์„ ํŒŒ์ด์ฌ์„ ์ดํ•ดํ•˜๋„๋ก ๊ตฌ์„ฑํ•œ๊ธ€
    • ๋‚˜์ค‘์— ํŒŒ์ด์ฌ ๊ณต๋ถ€ํ• ์ผ์ด ์ƒ๊ธฐ๋ฉด ๋ณด๋ฉด ์ข‹์„๋“ฏ

Kotlin

HTML

CSS

Webpack

GraphQL

DevOps

  • Knowre ๋ฐ๋ธŒ์˜ต์Šค ์ปค๋ฆฌํ˜๋Ÿผ

    • ์‹œ๊ฐ„๋‚ ๋•Œ ํ•˜๋‚˜์”ฉ ๋ณด๋ฉด ์ข‹์€ ์ฃผ์ œ๋“ค
  • zero

    • SaaS ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ธฐ์ดˆ ์ธํ”„๋ผ๋ฅผ ํ•œ๋ฒˆ์— ์…‹์—…ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค
      • AWS ํ† ํฐ๋งŒ ์ž…๋ ฅํ•˜๋ฉด ์ „์ฒด ์„ค์ • ์ž๋™ ์ง„ํ–‰
      • ์•ˆ์ •์„ฑ : ๋ฉ€ํ‹ฐ AZ , AWS ELB + Nginx, Terraform
      • ํ™•์žฅ์„ฑ : ASG + EKS, S3 + CloudFront
      • ๋ณด์•ˆ : AWS Secret Manager, Let's Encrypt ์ž๋™ ์ธ์ฆ์„œ ๊ด€๋ฆฌ, DB ์•”ํ˜ธํ™”, VPN ์ง€์›

    ์ž๋™ ์„ค์ • ๋˜๋Š” ํ™˜๊ฒฝ๋“ค

    • Infrastructure
      • Staging, Production ํ™˜๊ฒฝ๋ณ„ VPC (์„œ๋ธŒ๋„ท, ์‹œํ๋ฆฌํ‹ฐ ๊ทธ๋ฃน ์„ค์ •)
      • ํ™˜๊ฒฝ๋ณ„ EKSํด๋Ÿฌ์Šคํ„ฐ (Cert-manager, external-dns, nginx-ingress-controler ๋“ฑ ์ž๋™ ์„ค์ •)
      • RDS (Postgres/MySQL)
      • S3 ๋ฒ„ํ‚ท ๋ฐ CloudFront distribution
      • ๋กœ๊น… ๊ณผ ๋ฉ”ํŠธ๋ฆญ : CloudWatch / Prometheus + Grafana / ElasticSearch + Kibana
      • Wireguard ์ด์šฉํ•œ VPN
      • ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๋ฐ Identy / Access Proxy : Ory Kratos, Oathkeeper ๊ฐœ๋ฐœํŒ€์ด ์‰ฝ๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋“ค
      • Telepresence ๋ฅผ ์ด์šฉํ•œ ๋กœ์ปฌ/ํด๋ผ์šฐ๋“œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฐœ๋ฐœ์ž ํ™˜๊ฒฝ
    • Backend
      • Golang ๋˜๋Š” Node.js ๋กœ ๋งŒ๋“ค์–ด์ง„ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ. ์ž๋™ ์…‹์—…๋ฐ Dockerํ™” ๋˜์–ด K8s ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌ ๊ฐ€๋Šฅ
      • CircleCI / GitHub Actions ๋ฅผ ์ด์šฉํ•œ CI Pipeline. PR ๋จธ์ง€ํ•˜๋ฉด ๋ฐ”๋กœ ๋ฐฐํฌ ์‹œ์ž‘
      • CloudFront URL์„ ์ด์šฉํ•œ ํŒŒ์ผ ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ ์ง€์›
      • SendGrid / AWS SES ๋ฅผ ์ด์šฉํ•œ ์ด๋ฉ”์ผ ์ง€์›
      • ์•Œ๋ฆผ ์ง€์› (์›น,๋ชจ๋ฐ”์ผ,SMS,์ด๋ฉ”์ผ) - ๊ฐœ๋ฐœ์ค‘
      • Kratos ์™€ Oathkeeper๋ฅผ ์ด์šฉํ•œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ง€์› (์ง์ ‘ ๋กœ๊ทธ์ธ/๊ฐ€์ž…/์ธ์ฆ ๊ด€๋ฆฌํ•  ํ•„์š”์—†์Œ)
    • Frontend
      • React ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ. ์ž๋™ ์…‹์—… ๋ฐ ๋ฐฐํฌ ๊ฐ€๋Šฅ
      • CircleCI / GitHub Actions ๋ฅผ ์ด์šฉํ•œ CI Pipeline. PR ๋จธ์ง€ํ•˜๋ฉด ๋ฐ”๋กœ ๋ฐฐํฌ ์‹œ์ž‘
      • CloudFront URL์„ ์ด์šฉํ•œ ํŒŒ์ผ ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ ์ง€์›
      • Kratos ์™€ Oathkeeper๋ฅผ ์ด์šฉํ•œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ง€์› (์˜ˆ์ œ ๋กœ๊ทธ์ธ/๊ฐ€์ž… ํ”Œ๋กœ์šฐ๋ฅผ ์Šคํƒ€์ผ๋ง๋งŒ ํ•˜๋ฉด ๋จ)
      • Gastby ๋ฅผ ์ด์šฉํ•œ Static Site ์˜ˆ์ œ๋กœ ์‰ฝ๊ฒŒ ๋žœ๋”ฉ ํŽ˜์ด์ง€ ์ƒ์„ฑ ๊ฐ€๋Šฅ. CI ์—ฐ๋™ ์ง€์›
  • ๋ฐ๋ธŒ์˜ต์Šค์˜ ํ™•์žฅ ๋ชจ๋ธ โ€“ ๊นƒ์˜ต์Šค(GitOps) ์ดํ•ดํ•˜๊ธฐ

    • ๊ธฐ์กด์— ๋ฐ๋ธŒ์˜ต์Šค์— ๋Œ€ํ•˜์—ฌ ์ž˜ ๋ชฐ๋ž๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด๊ณผ ๋‹ค๋ฅธ์ ์ด ๋ฌด์—‡์ธ์ง€ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์—†์ง€๋งŒ ๊นƒ์˜ต์Šค์˜ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ์™€ ์šด์˜์— ๊ด€๋ จ๋œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ฝ”๋“œํ™” ํ•˜์—ฌ ๊นƒ(Git)์—์„œ ๊ด€๋ฆฌ(Ops)ํ•˜๋Š” ๊ฒƒ์ด ๊นƒ์˜ต์Šค์˜ ํ•ต์‹ฌ
    • ๊นƒ์˜ต์Šค์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
        1. ๋ฐฐํฌ์— ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ฒƒ์„ ์„ ์–ธํ˜• ๊ธฐ์ˆ ์„œ(Declarative Descriptions) ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•˜์—ฌ Config Repository(ํ˜น์€ Environment Repository)์—์„œ ๊ด€๋ฆฌํ•œ๋‹ค.
        1. Config Repository์˜ ์„ ์–ธํ˜• ๊ธฐ์ˆ ์„œ์™€ ์šด์˜ ํ™˜๊ฒฝ ๊ฐ„ ์ƒํƒœ ์ฐจ์ด๊ฐ€ ์—†๋„๋ก ์œ ์ง€์‹œ์ผœ์ฃผ๋Š” ์ž๋™ํ™” ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•œ๋‹ค.

AWS

  • AWS ์ž์Šต์„œ

  • AWS VPC

    • [AWS] ๊ฐ€์žฅ์‰ฝ๊ฒŒ VPC ๊ฐœ๋…์žก๊ธฐ
    • AWS VPC ๊ธฐ๋ณธ ๊ฐœ๋… ์ •๋ฆฌ - VPC๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ ์›๋ฆฌ
    • ์ธํ”„๋ผ ์ชฝ์„ ๋ณด๊ฒŒ ๋˜๋ฉด์„œ AWS VPC ์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด๋Š”์ค‘
    • ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ฒฉ๋ฆฌ๋œ ๊ณต๊ฐ„์„ ํ”„๋กœ๋น„์ €๋‹ํ•˜์—ฌ ๊ณ ๊ฐ์ด ์ •์˜ํ•˜๋Š” ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ์—์„œ AWS ๋ฆฌ์†Œ์Šค๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • IP ์ฃผ์†Œ ๋ฒ”์œ„ ์„ ํƒ, ์„œ๋ธŒ๋„ท ์ƒ์„ฑ, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๋ฐ ๋„คํŠธ์›Œํฌ ๊ฒŒ์ดํŠธ์›จ์ด ๊ตฌ์„ฑ ๋“ฑ ๊ฐ€์ƒ ๋„คํŠธ์›Œํ‚น ํ™˜๊ฒฝ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ œ์–ด
    • VPC, Subnet, Route Table, Internet Gateway, Network ACL ๋“ฑ์„ ์„ค์ • ๋ฐ ์ œ๊ณต

Jenkins

K8S

Docker

Serverless

Git

Regex

Shell script

DataBase

  • READ UNCOMMITTED
    • ํ•œ ํŠธ๋žœ์žญ์…˜์˜ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ์ปค๋ฐ‹์ด๋‚˜ ๋กค๋ฐฑ๊ณผ ์ƒ๊ด€ ์—†์ด ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฉ๋ฆฌ ์ˆ˜์ค€
    • ๋ชจ๋“  ๋ถ€์ •ํ•ฉ ๋ฌธ์ œ ๋ฐœ์ƒ
  • READ COMMITTED
    • COMMIT์ด ์™„๋ฃŒ๋œ ๋ฐ์ดํ„ฐ๋งŒ ์กฐํšŒ ๊ฐ€๋Šฅํ•œ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€
    • ๋”ํ‹ฐ ๋ฆฌ๋“œ ํ•ด๊ฒฐ (undo ์˜์—ญ์— ์ ‘๊ทผํ•˜์—ฌ ํ•ด๊ฒฐ)
  • REPEATABLE READ
    • ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปค๋ฐ‹๋œ ๋‚ด์šฉ์— ๊ด€ํ•ด์„œ๋งŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฉ๋ฆฌ ์ˆ˜์ค€
    • NON-REPEATABLE-READ ํ•ด๊ฒฐ (transaction id ๋ฅผ ๋ฐœ๊ธ‰ํ•˜์—ฌ ํ•ด๊ฒฐ)
    • InnoDB์—์„œ๋Š” PHANTOM READ ํ•ด๊ฒฐ
  • SERIALIZABLE
    • ํ•œ ํŠธ๋žœ์žญ์…˜์„ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์œผ๋กœ๋ถ€ํ„ฐ ์™„์ „ํžˆ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒฉ๋ฆฌ ์ˆ˜์ค€
    • ๋ชจ๋“  ๋ถ€์ •ํ•ฉ ๋ฌธ์ œ ํ•ด๊ฒฐ

SQL

  • ๋น„์ „๊ณต์ž๋ฅผ ์œ„ํ•œ SQL
    • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ๊ด€ํ•˜์—ฌ ๊ธฐ์ดˆ์ ์ธ ํฌ์ŠคํŒ…
    • ๋‚˜๋„ ํšŒ์‚ฌ์—์„œ ์–ด๊นจ๋„ˆ๋จธ๋กœ ๋ฐฐ์› ๊ณ  ์ œ๋Œ€๋กœ ๋ณธ์ ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๋ฉด์„œ ๋„์›€์ด ๋งŽ์ด ๋ ๊ฒƒ ๊ฐ™๋‹ค.

Releases

No releases published

Packages

No packages published