πŸŽ„ μ„±μž₯일지 3.1

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌳 ν‚€μ›Œλ“œ (1.0)
μ΅œλŒ€ν•œ κ°„λ‹¨ν•˜κ²Œ 정리, 좔후에 λ³΄λ©΄μ„œ 슀슀둜 μ„€λͺ…
πŸ‰ κ²½ν—˜ μœ„μ£Όλ‘œ (2.0)
λ‹¨μˆœ 정보λ₯Ό μ „λ‹¬ν•˜κΈ°λ³΄λ‹€ 무엇을 λ°°μ› κ³  μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆλŠ”μ§€ 짧고 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±
❄️ 정해진 ν…œν”Œλ¦Ώμ— λ§žμΆ°μ„œ (3.0)
ν‚€μ›Œλ“œ, κ²½ν—˜ λͺ¨λ‘ μ’‹λ‹€. λ‹€λ§Œ 맀일 μž‘μ„±ν•˜κΈ°λ‘œ 마음 λ¨Ήμ€λ§ŒνΌ ν•΅μ‹¬λ§Œ κ°„κ²°ν•˜κ²Œ 정리할 수 있게 ν…œν”Œλ¦Ώμ„ μž‘μ„± (3.1) 230102λΆ€ν„° μ‹œμž‘λ˜λŠ” ν•™μŠ΅μ— κ΄€ν•œ λ‚΄μš© μΆ”κ°€

πŸ”‘ 였늘의 ν‚€μ›Œλ“œ

가상 λ¨Έμ‹ (Virtual Machine)κ³Ό μš°λΆ„νˆ¬ λ¦¬λˆ…μŠ€(Ubuntu Linux)

  • 가상 λ¨Έμ‹ : 물리적 μ»΄ν“¨ν„°μ˜ 디지털 버전. μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” ν˜„μ‹€μ˜ 컴퓨터가 있고 κ°€μƒμœΌλ‘œ κ·Έ 컴퓨터λ₯Ό κ΅¬ν˜„ν•œ 것이 가상 머신이닀. 가상 λ¨Έμ‹ μ—μ„œ 가상 머신을 λŒλ¦¬λŠ” 것도 κ°€λŠ₯ν•˜λ‹€.(λΉ„νš¨μœ¨μ μ΄μ§€λ§Œ)
    • ν•œνŽΈ, JVM(JAVA Virtual Machine)처럼 νŠΉμ • μ–Έμ–΄λ‘œ 쓰여진 ν”„λ‘œκ·Έλž¨μ„ 돌리기 μœ„ν•œ 인터프리터λ₯Ό 가리킀기도 ν•œλ‹€.
  • μš°λΆ„νˆ¬ λ¦¬λˆ…μŠ€
    • λ¦¬λˆ…μŠ€: μœˆλ„μš°, λ§₯ λ‹€μŒμœΌλ‘œ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” 운영체제(OS). 사싀상 λ¬΄λ£Œμ΄λ‹€.(자유둭게 κ³΅μœ ν•˜κ³  개발이 κ°€λŠ₯ν•˜λ‹€. ꡉμž₯ν•œ μž₯점.) μœ λ‹‰μŠ€λ₯Ό 기반으둜 ν•œλ‹€.
    • μš°λΆ„νˆ¬: λ¦¬λˆ…μŠ€μ˜ μ—¬λŸ¬ 배포판 쀑 ν•˜λ‚˜. 개인용, λ°μŠ€ν¬νƒ‘ ν™˜κ²½μ— μ΅œμ ν™”λ˜μ–΄μžˆμœΌλ©° λ§ˆμ°¬κ°€μ§€λ‘œ 자유 μ†Œν”„νŠΈμ›¨μ–΄μ— κΈ°λ°˜ν•œλ‹€.(λ¬΄λ£ŒλΌλŠ” μ–˜κΈ°)

SSH(Secure SHell)

  • ssh: λ„€νŠΈμ›Œν¬ μƒμ˜ λ‹€λ₯Έ 컴퓨터에 λ‘œκ·ΈμΈν•˜κ±°λ‚˜ 원격 μ‹œμŠ€ν…œμ—μ„œ λͺ…령을 μ‹€ν–‰ν•˜κ³  λ‹€λ₯Έ μ‹œμŠ€ν…œμœΌλ‘œ νŒŒμΌμ„ 볡사할 수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” μ‘μš© ν”„λ‘œκ·Έλž¨ λ˜λŠ” κ·Έ ν”„λ‘œν† μ½œμ„ μ˜λ―Έν•œλ‹€. 즉, λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œ 쀑 ν•˜λ‚˜λ‘œ 컴퓨터와 컴퓨터가 인터넷과 같은 Public Networkλ₯Ό ν†΅ν•΄μ„œ μ„œλ‘œ 톡신할 λ•Œ λ³΄μ•ˆ 상 μ•ˆμ „ν•˜κ²Œ ν†΅μ‹ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” ν”„λ‘œν† μ½œμ΄λ‹€.

    • μ°Έκ³ ) κΈ°μ‘΄ 원격 접속은 ν…”λ„·(Telnet)μ΄λΌλŠ” 방식을 μ‚¬μš©ν–ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ•”ν˜Έν™”λ₯Ό μ œκ³΅ν•˜μ§€ μ•Šμ•„ λ³΄μ•ˆμƒ μ·¨μ•½ν•˜λ‹€λŠ” 단점이 μ‘΄μž¬ν•˜μ—¬ SSHλ₯Ό μ‚¬μš©ν•œλ‹€.
    • ssh의 μž‘λ™μ›λ¦¬
      • μ‚¬μš©μž(ν΄λΌμ΄μ–ΈνŠΈ)와 μ„œλ²„(호슀트)λŠ” 각각의 ν‚€(KEY)λ₯Ό λ³΄μœ ν•˜κ³  μžˆλ‹€. 이 ν‚€λ₯Ό μ΄μš©ν•΄ μ—°κ²° μƒλŒ€λ₯Ό μΈμ¦ν•˜κ³  μ•ˆμ „ν•˜κ²Œ 데이터λ₯Ό μ£Όκ³  받을 수 μžˆλ‹€. ν‚€λ₯Ό μƒμ„±ν•˜λŠ” 방식은 λŒ€ν‘œμ μœΌλ‘œ λŒ€μΉ­ν‚€μ™€ λΉ„λŒ€μΉ­ν‚€κ°€ μžˆλ‹€.
  • λΉ„λŒ€μΉ­ν‚€ 방식

    • κ°€μž₯ λ¨Όμ € μ‚¬μš©μžμ™€ μ„œλ²„κ°€ μ„œλ‘œμ˜ 정체λ₯Ό 증λͺ…ν•΄μ•Ό ν•œλ‹€. 이 λ•Œ μ‚¬μš©λ˜λŠ” 것이 λΉ„λŒ€μΉ­ν‚€ 방식이닀. μ„œλ²„ λ˜λŠ” μ‚¬μš©μžκ°€ ν‚€ νŽ˜μ–΄(ν‚€ 쌍)을 μƒμ„±ν•œλ‹€. 이 λ•Œ, ν‚€ νŽ˜μ–΄λŠ” κ³΅κ°œν‚€μ™€ κ°œμΈν‚€λ‘œ 이루어진 ν•œ μŒμ„ μ˜λ―Έν•œλ‹€. 보톡 κ³΅κ°œν‚€λŠ” .pub, κ°œμΈν‚€λŠ” .pem의 파일 ν˜•μ‹μ„ κ°–λŠ”λ‹€.
    • μ˜ˆμ‹œ) μ‚¬μš©μžκ°€ ν‚€ νŽ˜μ–΄λ₯Ό μƒμ„±ν•˜μ—¬ κ³΅κ°œν‚€λ₯Ό μ„œλ²„μ— μ „μ†‘ν•œλ‹€. μ„œλ²„λŠ” κ³΅κ°œν‚€λ₯Ό 톡해 μ–΄λ– ν•œ 값을 μƒμ„±ν•˜κ³  μ‚¬μš©μžμ—κ²Œ 보낸닀. 이 값은 κ³΅κ°œν‚€μ™€ νƒœμƒμ΄ 같은(ν‚€ νŽ˜μ–΄μΈ) κ°œμΈν‚€λ₯Ό ν†΅ν•΄μ„œλ§Œ μ•Œ 수 μžˆλ‹€. μ‚¬μš©μžλŠ” κ°œμΈν‚€λ₯Ό 톡해 이 값을 μ•Œμ•„λ‚΄κ³  값을 μ„œλ²„μ— 보낸닀. μ„œλ²„λŠ” 본인이 μƒμ„±ν–ˆλ˜ κ°’κ³Ό μ‚¬μš©μžκ°€ 보낸 값을 λΉ„κ΅ν•œλ‹€. 이 λ‘˜μ΄ κ°™λ‹€λ©΄ μ„œλ‘œ κ°„μ˜ 인증이 μ™„λ£Œλœλ‹€.
  • λŒ€μΉ­ν‚€ 방식

    • λΉ„λŒ€μΉ­ν‚€ 방식을 톡해 μ„œλ‘œ 인증이 μ™„λ£Œλœ(μ„œλ‘œκ°€ μ•ˆμ „ν•œ μƒλŒ€λΌλŠ” κ±Έ ν™•μΈν•œ) ν›„ 정보λ₯Ό μ£Όκ³  받을 λ•Œ μ‚¬μš©λ˜λŠ” 방식이닀. μ‚¬μš©μžμ™€ μ„œλ²„λŠ” ν•˜λ‚˜μ˜ λŒ€μΉ­ν‚€λ₯Ό λ§Œλ“€μ–΄μ„œ μ„œλ‘œ κ³΅μœ ν•œλ‹€.(μ„œλ‘œ 인증이 λ˜μ—ˆκΈ° λ•Œλ¬Έμ— ν‚€ νŽ˜μ–΄λ₯Ό λ‘˜ ν•„μš”κ°€ μ—†λ‹€.)
    • μ˜ˆμ‹œ) μ‚¬μš©μžκ°€ λŒ€μΉ­ν‚€λ₯Ό μƒμ„±ν•˜μ—¬ κ·Έ ν‚€λ₯Ό 톡해 μ–΄λ–€ 정보(κ°’)을 μ„œλ²„μ—κ²Œ μ „λ‹¬ν•œλ‹€. μ„œλ²„λ„ 이 λŒ€μΉ­ν‚€λ₯Ό μ‚¬μš©ν•˜μ—¬ κ·Έ 정보(κ°’)을 μ–»μ–΄λ‚Έλ‹€. μ΄λ ‡κ²Œ 정보λ₯Ό μ„œλ‘œ κ΅ν™˜ν•˜κ³  λ‚˜λ©΄ λŒ€μΉ­ν‚€λŠ” νκΈ°λœλ‹€. (접속 ν˜Ήμ€ 정보 κ΅ν™˜ λ•Œλ§ˆλ‹€ μƒˆλ‘œμš΄ λŒ€μΉ­ν‚€λ₯Ό μƒμ„±ν•˜μ—¬ μ‚¬μš©ν•œλ‹€.)

πŸ“ μš”μ•½ 및 ν•˜λ£¨ 간단 회고

μ˜€λŠ˜μ€ λ“œλ””μ–΄ μš°λΆ„νˆ¬ λ¦¬λˆ…μŠ€λ₯Ό μ„€μΉ˜ν•œ VM에 ssh둜 μ ‘κ·Όν•˜μ—¬ 직접 git, node, npm λ“±μ˜ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•΄μ„œ κ°œλ°œν™˜κ²½μ„ κ΅¬μ„±ν–ˆλ‹€. 또, rootκΆŒν•œμ„ λ‚΄ 개인 계정에도 ν—ˆλ½ν•¨μœΌλ‘œμ¨ μ ‘κ·ΌκΆŒν•œμ„ μ–»μ—ˆλ‹€. 사싀 μ•žμ˜ λ‚΄μš©λ“€μ€ κ΅¬κΈ€λ§ν•˜λ©΄μ„œ μ–΄λ–»κ²Œ μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆλŠ”λ°, 제일 성취감 있던 건 λ‘œμ»¬μ—μ„œ μ›κ²©μœΌλ‘œ VM에 μ ‘μ†ν•˜κ³  κ·Έ 둜컬 ν„°λ―Έλ„μ—μ„œ λ°”λ‘œ μžλ°”μŠ€ν¬λ¦½νŠΈ μž‘μ—…μ„ ν•œ κ²ƒμ΄μ—ˆλ‹€. 이게 μ™œ 기뢄이 쒋냐면, λ‹€λ₯Έ μ—λ””ν„°λ‚˜ IDE 없이 ν„°λ―Έλ„μ—μ„œλ§Œ (λ¬Όλ‘  μ—„λ°€νžˆλŠ” ν„°λ―Έλ„μ—μ„œ μ‚¬μš©ν•˜λŠ” nano 에디터(?)λ₯Ό μ‚¬μš©ν–ˆμ§€λ§Œ) μ½”λ“œλ₯Ό μž‘μ„±ν•œ 게 λ„ˆλ¬΄ μž¬λ―Έμžˆμ—ˆλ‹€. λ©”λͺ¨μž₯도 μ—†μ—ˆμ„ μ‹œκΈ°μ˜ κ°œλ°œμžλ“€μ΄ 이런 κΈ°λΆ„μ΄μ—ˆμ„κΉŒ? λΆ„λͺ… CLI둜만 μž‘μ—…ν•˜λŠ” 게 λΆˆνŽΈν•œλ°, μž¬λ―Έμžˆλ‹€.γ…‹γ…‹γ…‹ 그리고 더 웃긴건 μ΄λ ‡κ²Œ μž‘μ—…ν•˜λ‹€κ°€ λ‹€μ‹œ 둜컬 IDEλ₯Ό 보면 μ–Όλ§ˆλ‚˜ κ°μ‚¬ν•œμ§€β€¦ νŠΉνžˆλ‚˜ eslint, prettier 정말 μ΅œκ³ λ‹€γ…‹γ…‹γ…‹γ…‹γ…‹