21년 1월 8일

한 일

  • 어제 코드스쿼드 미션으로 나온 쉘 스크립트의 부족한 부분을 수정했다

    1. 현재 폴더에 위치한 day1 ~ day16 폴더의 .cs 파일만을 복사해야 하는데,

      어제의 스크립트는 현재 폴더 하위에 위치한 모든 .cs 파일을 압축했었다.

      • 변경전 쉘 스크립트

        for var in {1..16}
        do
          if [ ! -d "day$var" ]; then
            echo "day$var not exists"
          else
            if [ $(ls -a day$var | grep .cs | wc -l) -eq 0 ]; then
              echo "day$var is empty"
            fi
          fi
        done
               
        find . -name "*.cs" | xargs zip $NAME >> log.txt 2>&1
        
      • 변경후 쉘 스크립트

        targetFiles=()
               
        for var in {1..16}
        do
          if [ ! -d "day$var" ]; then
            echo "day$var not exists"
          else
            if [ $(ls -a day$var | grep .cs | wc -l) -eq 0 ]; then
              echo "day$var is empty"
            else
              targetFiles+=(day$var/*.cs)
            fi
          fi
        done
               
        NAME="backup_$(date +"%y%m%d").zip"
        zip $NAME ${targetFiles[@]} >> ./log.txt 2>&1
        
  • SCP명령어에서 패스워드 입력없이 바로 사용할 수 있도록 SSH Key 방식을 사용했다.

  • 공개키와 개인키로 이루어지는 SSH Key 인증 방식을 공부하고, 정리하여 포스팅했다.

잘못한 것

  • 계획에 없던 개인 스케줄로 인해, 목표한 책을 펴지도 않았고, 알고리즘 2문제를 풀지도 못했다.
  • 세운 계획이 구체적이지도 못하고 하루에 소화할만 한 양이 아닌 것 같다.

잘한 것

  • SSH key 인증이 어떻게 이루어지는지 찾아보고, 실제 적용하여 쉘 스크립트를 완전 자동화 하였다.

느낌

  • 계획을 어떤 식으로 세워야 할지가 고민이다.
    • 너무 대충 세운 계획이나 무리한 계획을 세우지 말고, 오늘 공부할 주제만 정하고 시간에 충실하게 공부하는게 어떨까 싶다.
    • 예를 들어, 프로그래머스 2문제를 푸는게 계획이면 어려운 문제가 걸리면 계획에 맞추기 힘들 수 있다.
    • 책 읽기도 하루에 몇페이지를 읽어야 한다기보다, 공부하는 시간에 충실하게 읽는 것을 목표로 하는게 어떨까?
  • 매일 공부한 것 중에 기억할 만한 개념을 글로 정리하고 있는데, 글 재주가 없어서 그런지 글로 정리하는데 시간이 너무 많이 쓰인다.
    • 내가 공부하고 공부한 것을 기억하는 것이 중요하기 때문에, 시간을 절약하려면 나만 알아볼 수 있는 수준만큼만 작성하는게 어떨까 싶다.

할 일

  • 알고리즘 공부
  • 자바의정석 책 공부
  • TCP/IP 공부