SKN/Family AI camp 3기 회고록

SKN Family AI 3기 회고록 4주 차

coiljuice 2024. 8. 5. 00:17
  • 회고(Retrospective) 목적
회고는 우리가 진행하고 있는 방향을 점검하고, 이후 진행할 방향성을 확인하기 위함이다.
또한, 스스로 느꼈던 감정, 했던 일을 통해 Action Item에 대한 아이디어를 생각하는 것이다
  • 회고에 대한 마음가짐
    • 모두에서 이야기할까 말까? 하던 것을 회고를 통해 이야기를 하면서 개선하기
    • 이전 회고를 참고하여 현재 진행하는 프로젝트에 대한 생각과 감정을 정리하기
      • "특정 상황에 내가 어떤 감정이 들었는가?"라는 본인을 되돌아보고 그 당시 어떤 감정을 느꼈는지
      • 만약, 그때에는 많이 힘들었다면 어떤 상황이 힘들었는지, 어떻게 했으면 달라졌는지
      • 문제가 되었던 부분을 비판적으로 분석하고, 어떻게 개선할  수 있는지 
    • 제시되었던 아이디어, 내가 가진 아이디어에 대해 열린 시선으로 바라보기
    • 수동적으로(하라고 해서 한다) 하는 것은 좋지 않으니 적극적으로 하기
    • 가장 중요한 것으로 회고를 꾸준히 하기

 


 

SKN Family AI 3기 회고록 4주 차 (5F 회고 방법론)

 

  • Facts : 사실. 무슨 일이 있었는가?
날짜 Facts 비고
07.29 1. docker 이미지 생성
2. docker / 네트워크 강의
3. docker hub에 자료 올리기
4. docker 이용해서 streamlit에 자료 올리기
 
07.30 1. docker를 이용하여 리눅스 언어 사용해보기
2. 리눅스 권한/계정 사용법 강의
3. 리눅스 shell 문자 강의
4. 리눅스 I/O 관련 메타문자 강의
5. 리눅스 환경변수 강의
 
07.31 1. HTML 강의
2. CSS 강의
3. 각각의 태그를 지정하는 방법 게임으로 접근
4. HTML과 CSS를 이용하여 간단하게 웹페이지 꾸며보기
3. 의 게임 사이트
https://flukeout.github.io/
08.01 1. Javascript 자료구조 학습
2. Javascript 연산자 학습
3. Window 루트 객체 학습
 
08.02 1. Javascript 학습한 내용 복습
2. Javascript를 이용하여 몇가지 게임 만들어 보기
 

 

  • Feeling : 느낀 점, 감정. 어떤 느낌이 들었는가?
    • 리눅스와 Docker까지는 따라갈만 했다고 생각했습니다.
    • 이후 HTML, CSS, Javascript의 경우 한꺼번에 정보가 쏟아져서 자료를 소화하는 데에 어려움이 있었습니다.
    • 정말 배웠던 명령어만 가지고 웹 페이지가 생성되고 변화하는 것은 신기했지만, 태그 분류와 꾸미기 위한 명령어, 움직임이나 웹페이지 안에서 움직이게 만들고 화면이 바뀌게 만드는 것, script로 인해 깨지는 것까지 한꺼번에 몰려와서 정리하면서 진행하기 어려웠습니다.
    • 이런 구간이 생긴 이유가 이후 배울 ML/DL의 커리큘럼을 확보하기 위함이란 것을 알기에 어쩔 수 없다는 점은 아쉬울 따름입니다.
  • Finding : 배운 점, 인사이트. 어떤 것을 기억하고 싶은가?
    • Docker가 기존에 알고있는 프로그램보다 많이 다른 프로그램인 것을 알게 되었지만, 구체적으로 어떻게 다른지는 확실하지 않습니다. 다만, 데이터를 저장하고 데이터를 분석하기 위해 하나의 저장공간(서버)를 구축한다는 점과 이 공간은 내가 가진 PC와 독립적으로 움직인다는 점, 가상 환경에서 움직이기 때문에 기존 윈도우 환경임에도 리눅스로 사용할 수 있다는 점이 인상적이었습니다.
    • 이후 자연스럽게 리눅스를 배웠으며, 해당 언어는 간단한 약어와 명확한 변수의 선언, 실행 시 필요한 설정 등 어떻게 보면 파이썬과 대비해서 엄격한 문법이 필요하지만, 이 부분만 익숙해진다면 매우 이해하기 쉬운 언어였습니다.
    • 그리고 HTML, CSS, Javascript를 이틀에 걸쳐서 배우고 마지막 날에 통괄적으로 복습과 예제를 진행하였습니다. 이 부분에서 조금 더 언어와 구조에 익숙해지고 싶은 마음이 들었지만, 이후 배울 장고와 데이터 분류, 분석법이 더 중요하기 때문에 아쉽지만 다음에 더 자세하게 독학을 해 볼 생각입니다.
  • Future Action : 향후 액션 아이템. 앞으로 무엇을 할 것인지?
    • 요즘 자료의 알고리즘에 대해 학습하고 있습니다. 더욱 효율적으로 코딩을 하고, 만든 코드를 더욱 최적화하고 싶은 욕심이 생겨서 조금씩 공부를 하고 있지만, 다소 이해하기 어려운 구간이 많아서 진척이 늦어지고 있습니다.
    • 이런 부분을 해결하기 위해 다른 인강을 추가로 들을 필요성을 느끼고 있으며, 주말을 이용해서 조금씩 이해하고 코드도 직접 짜보는 시간을 가지려고 합니다.
    • 또한, 곧 다가오는 데이터 처리 기법에 대한 지식이 필요하기 때문에 어떤 구간의 지식이 필요한지 자료 정리가 필요하다고 생각합니다.
  • Feedback : 피드백. Future Action에서 정한 액션 아이템을 실행하고 어떤 피드백을 받았는가?
    • AWS의 강의가 너무 추상적이어서 이해하기 어려우며, 기능을 강의하는 것이 아닌 AWS가 무엇인가에 대한 이론 강의에 가깝다는 피드백을 받았습니다. 다른 강의가 있는지 확인해보고 해당 강의는 당분간 보류하는 것으로 결정하였습니다.

 


 

  • docker / strealit을 진행하면서 오해하고 진행한 것
    • 이로 인해 전체적인 프로세스나 코드가 말려서 제대로 실행되지 않음
    • 따라서 다음에 시도할 때, 해매지 않도록 정리

 

  • 연결이 안되던 이유
    • streamlit 실행 py가 필요 → 커넥션 객체 만들어서 해당 객체가 데이터를 긁어서 띄운다
      • 또한 자동으로 streamlit 웹 페이지가 생성되는 streamlit run과 달리 docker에서 포트로 들어가야 한다.
    • docker file에서 ubuntu로 streamlit을 실행하려서 하지 말고 python을 이용해서 streamlit을 실행시켜야 한다. → ubuntu로 되는 줄 알았음…
    • secrets.toml은 아래와 같다.

  • docker-compose.yml은 mysql에서 주고받을 포트를 생성해야 한다.
  • requirements.txt는 아래와 같다.

  • docker 파일은 아래와 같다.

 

  • 오해하고 있던 것
    • streamlit 창이 docker-compose up -d 하면서 자동으로 띄워질 줄 알았다.
    • docker에서 EXPOSE를 두었으나, compose에서 port를 설정하지 않아서 주고 받을 포트가 생성되지 않았다.
    • toml에서 커넥션 이름은 중요하지 않다. 중요한 건 호스트에 대입할 값
          1.  

 

이번 주는 많은 것을 한 번에 배워서 정보량을 따라가지 못한 구간이 종종 발생했습니다. 그렇지만 복습을 해보면 따라갈 수 있는 수준의 양이었지만, 이후 배운 것을 써보자! 라고 했을 때, 과연 잘 기억하면서 사용할 수 있을지는 의문이 듭니다.

 

결국 남는 건 기록이고 이런 기록을 남겨서 이후 같은 실수를 하지 않도록 꾸준히 회고도 남기고 오류 리포트도 남겨야 겠다는 생각이 듭니다.

 

다만 오류 리포트는 notion에서 따로 관리하고 있어서 해당 블로그에 작성이 필요할지 필요하지 않을지는 잘 모르겠습니다.

 

어쨋든 이번 주도 아무 탈 없이 끝났고 8월부터 시작하는 데이터 부분은 놓치는 것 없이 잘 배웠으면 좋겠습니다.