8/24 (수) (후기) 김변수와 시작하는 코딩생활 with 파이썬 스터디를 마치며...
먼저 스터디에 참가하게 된 계기는 취업 준비를 위해서입니다.
위의 사진은 삼성전자의 Foundry 사업부 반도체 공정기술 부서의 Job Discriprtion 입니다.
Pluses에 Big data, 통계 분석 tool 활용 가능자 (R, Python 등)이 제 가슴을 두들겼습니다.
저는 좋은 스펙을 가지고 있지도, 좋은 성적을 가지고 있지도 않기 때문에 무엇이라도 해야겠다는 마음을 먹고 뒤늦게 뛰어든 취업시장인 만큼 누구보다 열심히 최대한 많은 경험을 이번 방학에 하려고 했습니다.
그 과정에서 김변수와 시작하는 코딩생활 with 파이썬 스터디 3기를 수강하게 되었습니다.
먼저 2학년 때(19년도)를 마지막으로 코딩은 지긋지긋해 하고 한번도 안 쳐다봤습니다.
거의 3년이 지난 지금 이제와서 다시 시작하려니까 너무 막막하기도 하고 코딩이랑 안친했기 때문에 친해지는데 시간도 오래 걸릴거라고 생각했습니다. 하지만 옛날에 쪼끔은 해서 그런지 초반부에 쉽게쉽게 넘어가더라고요.
그러다 보니 생각보다 친해지는데 빨리 걸렸습니다.
그리고 제가 15일만에 한권을 다 봤다는거에 좀 많이 놀랐습니다!
이런 커리큘럼이 없었더라면... 살면서 이렇게 교육적인 도서를 한번도 15일 내로 안읽어봤을거 같아요 ㅎㅎ(자랑은 아니지만...)
열심히 한 자에게 기회가 온다는 말 아시나요?
제 목표가 이번 방학에 한 활동 혹은 스터디를 모두 우수 스터디원으로 마치고 싶어 엄청 열심히 했습니다.
하지만 9일차에 난이도 상 문제가 와다다다 와서 제가 블로그에는 글을 정성스레 올렸지만 카페에는 안올렸더라고요....ㅠ.ㅠ 눙물...
그래서 사실 우수 스터디원으로 뽑힐지, 안 뽑힐지는 모르겠습니다.
하지만! 저는 열심히 했기 때문에 꼭 이번이 아니더라도 다음에 기회가 찾아올거라 믿습니다. ㅎㅎ
스터디를 하면서 단체톡에 물어보기도 하고 너무 늦었을 때는 코뮤니티 카페에 가서 물어보고 했습니다.
사실 스터디의 장점이 이게 아닌가 싶어요.
모르는 사람이 지식을 얻기 위해 질문을 올리면, 모르는 사람은 지식을 얻고,
아는 사람이 모르는 사람에게 알려주면, 그에 따른 복습 효과를 얻을 수 있고,
선순환 구조가 만들어져 좋은것 같습니다.
사실 커리큘럼에 대해서는 할말이 조금 있기는 합니다.
과제 중 1로 시작하는 과제는 난이도가 하, 2로 시작하는 과제는 난이도가 중, 3으로 시작하는 과제는 난이도가 상입니다.
매일매일 몇일 먼저 블로그작성하고, 예약글로 올려놓았습니다. 최소 하루전에는요.
하지만 9일차 부터 깨지기 시작했습니다.
갑자기 난이도 상인 문제가 4개가 와다다다 오니까 너무 당황스럽고, 미리 하지 않았다면 다 하지 못했을거 같다는 생각을 했습니다.
심지어 저는 최대한 예제를 보지 않고, 조금 둘러가더라도 천천히 저만의 코드를 작성하기 위해 노력했는데 9일 정말 힘들다고 생각했습니다.
몇 일밤을 샜는지 모를정도로 힘들었습니다. 문제를 조금 분배할 필요가 있을거 같습니다.
11일차도 비슷하게 난이도가 상인 문제가 4개지만 그래도 10일차에 난이도 하, 중을 먼저 풀어보고 들어갔기 때문에 생각했던 것보다 빨리 풀게 되었습니다.
이렇듯 9일도 난이도 하, 중 문제로 워밍업을 하고 시작을 했으면 어떨까 하는 생각입니다.
스터디 진행 중 보완되어야 하는 점은 출석체크를 해주지만 뒤에서 받쳐주지 않는 부분도 약간 서운했습니다.
저는 보통 그 전날에 미리 끝내놓고 새벽(12시 - 2시)에 올리고 신경을 안쓰는 타입이었는데 9일째에도 문제를 새벽에 풀고 올렸어야 했는데 난이도 상짜리가 4문제나 와다다다 오니까 정신이 없어서 블로그에만 올리고 카페에 올리지 못했습니다.
사실 제 불찰입니다만 매니저님도 출석이 안된 회원님들을 @태그를 활용해서 불러준다면 조금 더 효율이 높아지지 않을까 하는게 제 생각입니다.
물론 일이 많아지는 매니저님들에게는 유감이라고 생각합니다.
(제 9일차 출첵이 넘넘 아까워요 ㅠ.ㅠ)
스터디를 운영해 주셨던 매니저님들, 같이 공부 열심히한 동기들 너무 감사합니다.
사실 제 의지가 더 크지만 앞서 말씀 드린 분들이 아니었으면, 누구도 보지 않았더라면, 과연 했을까? 하는 생각이 듭니다.
같이 한곳을 바라보고 같이 함께 달리니까 조금 더 오래, 길게 올 수 있었다고 생각합니다.
제가 이러한 스터디를 이번 방학에 거의 4~5개를 했는데 함께하니까, 그리고 관리를 해주니까 이 두가지 이유가 저를 움직이게 했던 원동력이었던 것 같습니다.
끝으로 제가 마지막으로 뿌듯하게 마무리 했던 프로젝트 사진을 올리고 가겠습니다.
첫 번째로 반올림 계산기 입니다.
제가 작성한 코드입니다. 아직 배우지 않은 if(조건문)을 사용했지만 제가 아는 선에서는 이렇게밖에 할 수 없었습니다.
아래는 예시 중 하나입니다. 예시가 더 깔끔하게 잘 한 것 같습니다. + 0.5라는 아이디어를 잘 활용한것 같습니다.
지금 보면 별거 아니라고 생각할 수 있지만 이때 당시 어떻게 했으면 이런 생각을 할 수 있었을까? 하는 생각이 듭니다.
저의 뇌를 말랑말랑 쫀득쫀득하게 시작하게 해준 코드가 이 코드였기 때문에 인상이 깊었습니다.
두 번째로 가위바위보 게임 입니다.
import random
def wingababo():
print("축하합니다. 당신이 이겼습니다.")
def drawgababo():
print("비겼습니다.")
def losegababo():
print("졌습니다.")
result = random.randint(1, 3)
user = input("가위바위보 게임입니다. 무엇을 낼지 입력해 주세요. : ")
if result == 1:
result = "가위"
if result == 2:
result = "바위"
if result == 3:
result = "보"
print(f"사용자 : {user}")
print(f"computer : {result}")
if user == "바위" and result == "가위" or user == "가위" and result == "보" or user == "보" and result == "주먹":
wingababo()
elif user == "바위" and result == "보" or user == "가위" and result == "바위" or user == "보" and result == "가위":
losegababo()
elif user == result:
drawgababo()
else:
print("잘못된 입력입니다.")
원래 제일 처음에 Class를 사용하려 했지만 그냥 함수를 쓰는게 더 편할거 같아 Class를 지웠습니다.
랜덤 함수를 이런식으로 사용해보니 정말 재밌었습니다.
예제는 입력 값이랑 랜덤 값이랑 빼서 차이를 통해 뺀 값이 0이 나오면 비기고 숫자 차이가 1 또는 -2일 때 이긴다고 되어있었는데 새로운 관점이었습니다.
제가 짠 코드 같은 경우에는 각 경우의 수가 3개밖에 없어서 다 and와 or로 코드를 쳤는데 새로운 관점을 얻어간 것 같습니다.
마지막으로 가위바위보 게임을 선택한 이유는 마지막으로 끝낸 프로젝트이기도 하고, 이것도 예제와 제가 짠 코드와 생각의 갭차이가 좀 컸기 때문입니다.
제 생각은 어떻게 해야 1과 -2를 생각을 했는지 조금 신기했습니다.
그 외에도 영화 예매 프로젝트, 음료수 자판기, 2022년 a월 b일, 끝말잇기, "영어 대소문자 올바르게 사용하기"(요친구도 상당히 싸우는데 힘들었습니다. ㅎㅎ) 등등 쓰다보면 정말 다 쓸거 같을 정도로 많이 기억에 남습니다.
대부분 제가 제 코드를 짜기 위해 노력했기 때문에 이런 결과를 얻었다고 생각합니다.
예제만 보고 그냥 따라만 쓰고 채우기에만 급급했다면 안그랬을거 같습니다.
이상 긴 후기를 읽어주셔서 감사합니다!
제가 애정을 가지고 한 스터디인 만큼 더 길고 장황하게 써버렸네요 ㅎㅎ