SLAM Engineer

🌈 μ›κ²©μž‘μ—…μ„ λ„μ™€μ£ΌλŠ” 2가지 방법


μ›κ²©μž‘μ—… 생산성 ν–₯상을 μœ„ν•˜μ—¬

  • 미래의 λ‚˜λ₯Ό μœ„ν•΄ .. μ›κ²©μž‘μ—…μ„ ν•  λ•Œ μ‹œκ°„κ³Ό λ…Έλ ₯을 μ ˆμ•½ν•΄μ€„ 수 μžˆλŠ” 방법듀에 λŒ€ν•΄ 정리해본닀.
    1. ssh 접속 ν›„ λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‹€ν–‰ ν›„ λΉ μ Έλ‚˜μ˜€κΈ°
    2. directory mount 와 vscodeλ₯Ό 이용

1. Using tmux: ssh 접속 ν›„ λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‹€ν–‰ ν›„ λΉ μ Έλ‚˜μ˜€κΈ°

  • (주둜 μ‹œκ°„μ΄ μ˜€λž˜κ±Έλ¦¬λŠ”) shell script λ₯Ό 싀행을 μ‹œμž‘μ‹œν‚€κ³ , λΉ μ Έλ‚˜μ˜€κΈ° μœ„ν•΄ μ‚¬μš©μ€‘μ΄λ‹€.
  • κ·Έ μ€‘μ—μ„œλ„, 도컀 μ»¨ν…Œμ΄λ„ˆμ™€ tmux λ₯Ό μ΄μš©ν•œ 방법을 μ‚¬μš© 쀑이닀.
  • μš”μ•½ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€.
    1. docker μ•ˆμ—μ„œλŠ” tmux λ₯Ό λ””νƒœμΉ˜λͺ¨λ“œλ‘œ μ‹€ν–‰ν•œλ‹€.
    2. docker λ₯Ό λ””νƒœμΉ˜ν•œλ‹€.
    3. ssh둜 μ ‘μ†ν•œ terminal을 exitν•œλ‹€.
  • Detail:
    • 예λ₯Ό λ“€μ–΄ (μ»€λ§¨λ“œμ˜ˆμ‹œ),
      $ ssh {ID}@{IP}
      $ # λ„μ»€μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰, 예λ₯Ό λ“€μ–΄ $ docker run ...
      $ tmux new-session -d -A -s {process_name} {command}
      • 이 λ•Œ command λŠ” 예λ₯Ό λ“€μ–΄ sh your_cmd.sh κ°™μ€κ²Œ 될 수 μžˆκ² λ‹€.
    • μ—¬κΈ°κΉŒμ§€ ν•˜λ©΄ 도컀 μ»¨ν…Œμ΄λ„ˆ μ•ˆμ—μ„œ tmux process κ°€ background 둜 μ‹€ν–‰λœλ‹€.
    • $ tmux ls ν•˜λ©΄ 방금 μ‹€ν–‰ν•œ tmux process κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ 확인할 수 μžˆλ‹€.
    • $ tmux attach -t {process_name} ν•˜λ©΄ 방금 μ‹€ν–‰ν•œ ν”„λ‘œμ„ΈμŠ€μ— λ‹€μ‹œ λ“€μ–΄κ°€μ„œ, κ±°κΈ°μ—μ„œ λ‚˜μ˜€λŠ” stdout 좜λ ₯을 λ³Ό 수 μžˆλ‹€.
      • λ‹€μ‹œ λΉ μ Έλ‚˜κ°€λ €λ©΄ control+b 이후 d λ₯Ό ν•΄μ£Όλ©΄ λœλ‹€.
    • λ”°λΌμ„œ 도컀 μ»¨ν…Œμ΄λ„ˆλ₯Ό 이제 λ””νƒœμΉ˜(==λ°±κ·ΈλΌμš΄λ“œλ‘œ μ‹€ν–‰ν•˜λ„λ‘ 놔두고 λ‚˜μ˜€κΈ°) ν•΄μ£Όλ©΄ λœλ‹€. λ””ν΄νŠΈλ‘œλŠ” control+p+q λ₯Ό ν•΄μ£Όλ©΄ λΉ μ Έλ‚˜μ˜¬ 수 μžˆλ‹€.
      • λ‹€μ‹œ λ“€μ–΄κ°€κ³  μ‹ΆμœΌλ©΄ $ docker exec -ti {your_ps_id} bash ν•΄μ£Όλ©΄ λœλ‹€ (이 λ•Œ the ps id λŠ” docker ps ν•˜λ©΄ μ•Œ 수 μžˆλ‹€).
  • μž‘μ—…μ΄ λ‹€ λλ‚˜λ©΄ mount ν•œ directory μ—μ„œ λ°”λ‘œ νŒŒμΌμ„ copy 해와도 되고,
    ν˜Ήμ€ $ scp -r {ID}${IP}:{ABSOLUTE_PATH} {YOUR_LOCAL_PATH} 와 같이 λ³΅μ‚¬ν•΄μ™€μ„œ 결과물을 확인할 수 μžˆκ² λ‹€.

2. vscode’s remote-ssh

  • μ›κ²©μ—μ„œ μ½”λ“œλ₯Ό λΉ λ₯΄κ²Œ 훑어보고 μž‘μ„±ν•˜κ³  μˆ˜μ •ν•  λ•Œ, Remote-SSH λ₯Ό μ‚¬μš©ν•œλ‹€. 그러면 μ›κ²©μ§€μ˜ 폴더λ₯Ό vscode μ—μ„œ λ°”λ‘œ λ§ˆμš΄νŠΈν•  수 μžˆλ‹€.