[플레이데이터 SK네트웍스 Family AI 캠프 6기] 1주차 회고

Yunazz·2024년 9월 29일
0

🗓️기간

24.09.20 - 24.09.27

🏁지원동기

AI 기술이 큰 화두로 계속 떠오르고 있다. 내가 웹 개발자로 일한 지 4년이 지났고, 그동안 많은 변화와 트렌드를 지켜봤다. 종종 '개발자의 수명'에 대해 이야기하는 사람들이 있다. 누구는 개발자가 사라질 것이라 말하고, 또 다른 사람들은 계속 존재할 거라 말한다. 그런 의견들을 들을 때마다 솔직히 아무런 감정이 없었다고 말할 순 없다.

ChatGPT가 처음 출시됐을 때 정말 기뻤다. 업무가 훨씬 수월해졌고, 예전처럼 몇 시간, 때로는 이틀씩 고민하던 문제 해결이 순식간에 가능해졌다. 그럼에도 불구하고, 이 기술의 빠른 발전을 보면서 약간의 위기감을 느낀 것도 사실이다. 점점 더 강하게 드는 생각은 '나만의 차별점'과 '강점'을 찾아야 한다는 것이다. 개발자는 끝없는 학습을 해야 하는 직업임을 다시 한번 느낀다.

지금까지 프론트엔드 개발을 시작으로 DB, 백엔드 서버, 배포까지 기술을 확장해 왔지만, 이제는 이런 스택조차도 기본이 되어버렸다. 물론 각 영역에 더 깊이 파고들 수 있는 여지는 많지만, 이번에는 '깊게'보다는 '넓게' 학습을 하기로 했다. 그래서 인공지능을 다음 목표로 설정했다.

최근 웹에 AI 기술이 활발하게 적용되고 있는 걸 보면서, 이제는 개발자가 아니더라도 AI 학습이 필수라는 생각이 든다. 예를 들어, brain.js 같은 라이브러리만 보더라도 웹 개발에 AI가 얼마나 많이 적용되는지 알 수 있다. 결국 인공지능과 딥러닝 공부는 더 이상 선택이 아니라 필수라고 생각하게 되었다.

이런 마음을 가지고 부트캠프를 찾았고, 현재 첫 주차를 마쳤다. 과정을 마치고 나서 내가 웹 개발자로 계속 남을지, 아니면 AI 개발자로 나아가게 될지는 아직 알 수 없다. 하지만 한 가지 확실한 건, 무엇이 되었든 개발자로서 중요한 역량을 쌓고 있다는 점이다. 앞으로 이 과정을 성실하게 임하며, 인공지능과 LLM에 대해 깊이 탐구할 예정이다.

👍Liked

이 캠프는 파이썬 학습으로 첫 주가 시작된다. 파이썬이라는 언어는 나에게 생소하다. 과거 업무에서 크롤링 기술이 필요해 잠깐 학습하고, 아주 기본적인 문법만 익힌 후 사용한 적은 있지만, 깊이 공부해 본 적은 없었다. 당시 사용하면서 자바스크립트와 크게 다르지 않다고 느껴 어려움을 겪지는 않았지만, 문법적으로 헷갈렸던 기억이 있다. 그래서 이번에 다시 배우게 되었을 때 큰 부담은 없었지만, 한편으로는 자바스크립트와 헷갈릴까 봐 걱정이 되었다. 대충 이해하고 넘어가면 나중에 더 큰 혼란을 겪을 수 있으니 이번에는 확실하게 짚고 넘어가야겠다고 마음먹었다.

다행히 강사님께서 파이썬에 대해 아주 꼼꼼하게 개념을 설명해 주셨다. 사용 예제도 다양하게 보여주시면서 문법적인 부분을 빠르게 습득할 수 있도록 도와주셔서, 걱정은 어느 정도 사라졌다.
그리고 변수, 조건문, 제어문, 함수 등 기본적인 개념을 알고 있었지만, 강사님만의 방식으로 설명을 듣고 나니 "오, 설명 정말 잘하신다"는 생각이 들었다. 앞으로 배우게 될, 내가 아직 모르는 개념들(당장 목요일부터 시작됨😐!)도 이렇게 잘 설명해 주신다면 충분히 이해할 수 있을 거라는 기대감과 함께, 강사님에 대한 신뢰도가 200%로 올라갔다.

첫주는 강의 철회가 가능한 기간으로 학생들에게 선택을 할 수 있게 하는데 강사님의 꼼꼼한 가르침 덕분에 계속 이 여정을 이어가겠다는 결정을 쉽게 내릴 수 있었다. 나는 6개월동안 이 길을 쭉 가기로 마음을 굳혔다.

📚Learned

유경험자라고 해서 초반의 과정이 지루하지는 않냐고 물어본다면 "네 지루하지 않습니다."라고 대답할 것 같다. 처음 배우는 동기들보다 공부할게 적을거라고 생각하면 "No...방심 금물." 파이썬...매일매일 새로운 것 같다.

먼저, student = {age: 29} 객체를 하나 선언했고 age를 출력해야 했다. 나의 상식으로는 age를 출력하기 위해 console.log(student.age)를 입력하면 출력이 되어왔기에 아무 의심없이 강사님의 준비자료를 스윽 보고 print(student.age) 입력했는데..응? 출력이 안되잖아...? 준비자료를 다시 꼼꼼히 보는데 print(student['age'])를 입력하라고 써있었다..내 입장에서는 객체인데 배열처럼 그런데 문자열로 key를 조회한다라.. 한방 맞았다...둘째 날이었나..? 그때부터 한자 한자 또박또박 따라쓰기 시작했다.
그리고 null이 아니라 None, function 말고 def, true 말고 True... 비교하며 공부하다보니 때로는 습득하는데 더 오래걸리기도 하는 것 같다.

또 흥미롭게 배운 것은 decorator 였는데 클래스 개념에서 데코레이터(decorator)를 이용해 property 지정하는 개념을 배울때였다.

class Person:
    def __init__(self, name, age, address = None):
        self.name = name
        
    @property 
    def name(self): 
        return self.__name

    @name.setter
    def name(self, name): 
        if len(name) >= 2:
            self.__name = name
        else: 
            print("ERROR: 이름은 2글자 이상 넣으세요.")

__init__ 함수 안에서 self.name = name 이라... 뭐지? 오타인가..? 이해가 되지 않아 질문했는데 강사님께는 아예 생각하지 못한 답변을 주셨다. 여기서 name은 변수가 아니라 함수라는 것이다. 예??? self.name 이 변수가 아니라 함수라구요...?😵 잠시만...이게 뭐지 self.name(name)도 아니고 self.name = name 에서 name이라는 함수에 name 을 대입? 덮어씌운건 아닌거 같은데... 아니 이게 무슨 상황이지... 그러면서 구글링 스타트..

그래서 알게된 것은 @property는 사용하면 클래스가 정의될때 getter와 setter를 먼저 설정해준다. 그리고 인스턴스를 생성하는 시점(__init__ 함수 내)에서는 self.name이 setter라는 것을 알고 있는 덕에 self.name = name 은 이런 식으로 값을 받을 수 있게 되는 것이고, setter인 def name(self, name)를 통해 __name의 값을 초기화해주는 식으로 동작하게 된다.

property()함수를 써서 위 코드를 다음과 같이 사용도 할 수 있다고 하는데 아래 코드 또한 이해하는데 도움이 되었다.

class Person:
    def __init__(self, name):
        self._set_name(name)  # setter 호출하여 __name 초기화

    def _get_name(self):
        return self.__name  # getter 메서드

    def _set_name(self, name):
        if len(name) >= 2:
            self.__name = name  # 비공식적 속성 __name에 값 할당
        else:
            print("ERROR: 이름은 2글자 이상 넣으세요.")

    # property()를 사용하여 속성을 정의
    name = property(
        fget=_get_name,
        fset=_set_name,
    )

🚧Lacked

  • 늦게 자고 일찍 일어나는 나날들의 반복 > 피로도 증가 > 집중력 저하
  • 맹점 폭발

🎯Longed For

  • 일찍 자고 일찍 일어나는 생활 패턴
  • 코드 하나하나 꼼꼼하게 살피며 문법 익숙해지기
  • 단순히 외우기보다 이해를 하며 확실하게 익히기
profile
웹개발(프론트엔드,백엔드)

1개의 댓글

comment-user-thumbnail
2024년 9월 30일

안녕하세요 유나님!! 첫 회고부터 알찬 내용 잘 읽어봤습니다 🤩
개발자로 다양한 스택들 다루시면서 앞으로의 전망과 그 속에서의 나의 강점을 찾기 위해 많은 고민을 해오셨다는 점을 느낄 수 있었어요!
6개월 과정을 통해 장기적인 관점에서 개발자로서의 AI 역량 키워가실 수 있도록 많은 도움 받아가시면 좋을 것 같습니당 👏👏

답글 달기