What I Learn Today

Start Date : 2022/02/07 ~

Learn/Company

[TIL #9] 출근 2주차, 오늘은 교육이 두 번! + Toy Project 상상

HannaDev 2022. 2. 19. 23:19

마지막 2주차 출근날 ! 오늘은 파이썬 이해도를 확인받는 시간과 이사님께 교육받는 시간을 가졌습니다.

 

파이썬에서 놓치고 있는 부분이 생각보다 많아서 당황스러웠습니다... ㅠ.ㅠ

공부할 때 '메타인지'가 가장 중요하다고 하는데 그저 공부만 하는 것이 아닌

백지 공부법, 다른 분들 코드 리딩 등 이해도를 확인하는 시간도 가져야겠습니다!

(+ 자신이 만들어보고 싶은 주제로 Toy Project 진행해 보는 것을 추천하셨습니다.)

 

이 외에도 오후 5시 쯤 프론트 단을 이끌고 계신 이사님께서 신입들을 모아 교육을 진행해주셨습니다.

질문을 통해 교육을 이끌어나가는 스타일이셔서 질문 생성기가 된 느낌이었지만 - ̗̀꒰ᐢ • ˕ • ᐢ꒱  ̖́-

회사 조직 구성도와 전반적인 앱 시스템 구성도 등의 이해도를 높일 수 있는 시간이었습니다!

 

업무 외적으로는 동기들과 저녁 식사 시간을 가졌습니다.

오랜만에 술도 마셨는데 신입인 만큼 커리어적인 고민들이 많아 이에 대한 이야기를 나누었습니다!

나중엔 해외로도 나가보고 싶네요. ꉂꉂ꒰•̤▿•̤*ૢ꒱

 

확실히 요즘에 커리어 고민을 많이 하게 되는 것 같습니다....

지금 생각하기로는 기회가 된다면 Back-end 역량을 높인 다음

로봇(임베디드) 분야 또는 메타버스(VR/AR) 분야로도 나가보고 싶습니다!

=> 몇 달 뒤 여유가 생기면 C++ or 어셈블리 언어 공부해볼 예정입니다. *+:꒰◍•ᴗ•◍꒱:+*

(요즘에는 하드웨어 쪽이 특히 궁금하네요!)


▶ 전체적인 스케쥴

  • 자리 세팅 (지하철 이슈로 평소보다 늦게 도착) - 0.1h
  • 개발 스크럼 회의 참관 - 0.5h
  • (Back-end) 개발 Tool 라이센스, 회사 branch 전략 회의 참석 - 0.5h
  • Python 언어 복습 (Jump to Python 책 복습) - 2h
  • 점심 + 커피 ⇒ 동기 분들과 대화 - 1h
  • Back-end 신입 교육 (파이썬 이해도, 다음 주 Mission) - 1h
  • Mission 정리 - 0.5h
  • 이메일 형식 조사 + SMTP 공부 - 2h
  • 신입 교육 (feat. 이사님) - 1h

▶ 세부 스케쥴

더보기
  • 개발 스크럼 회의 참관 + Back-end 회의 - 1h
- 주요 안건 : 갤럭시 S22 프로모션 관련 릴리즈 시나리오
- Branch 이슈 : 현재 master 와 develop 브랜치의 격차가 심하다.
    - develop을 브랜치 따서 head 를 바꾸고 develop 은 feature 로 격하시키면 어떠한가.
    - release 브랜치가 필요하다. 브랜치 전략을 다시 세울 필요가 있다.
  • Back-end 신입 교육 (파이썬 이해도, 다음 주 Mission) - 2h
[파이썬 이해도] - 부족한 부분
① PEP8 이 무엇인지 몰랐다.
what? 파이썬 개선 제안서, 파이썬 코드를 어떻게 구상할 지 알려주는 스타일 가이드.
=> 다른 사람과 원활하게 협업하려면 공통된 스타일 공유가 필요하다.
why? 공식 문서가 아닌 책, 구글링 자료들로만 공부하는 버릇. 시야가 좁았다.
how? 개발 관련해서 항상 공부할 때 공식 사이트를 확인하는 습관을 들이자!
memo 이게 첫 번째 문제였는데 답을 못 작성했다. 너무 부끄럽다 ㅠ.ㅠ 시야를 넓히자!!
=> 책으로만 공부하려는 사고관에 너무 갇혀있다. '공식 사이트, 공식 문서' 머리에 입력!

② 예외 처리 기법, all/any 함수, id 함수 등 내장 함수
why? 코딩 테스트 용으로만 파이썬을 공부한 것이 패착.
how? 실무에서는 클래스, 예외 처리, 내장 함수들이 많이 사용된다!
=> 실무를 고려하며 공부 범위를 세팅하고 drill down 하자.
memo 예외 처리 기법... try/catch 가 아니라 try/except/finally 이다...
[Mission] - 월요일 Mission
① 시간 값 변환 함수 만들기
② 이메일 형식 체크 함수 만들기
=> 포인트는 어떤 방식으로 접근해서 문제를 풀어나가는가
=> 각자의 코딩 스타일과 고민한 흔적들을 확인할 것
[Toy Project] - 개발자님의 추천!
- 다음 주부터 조금씩 연습용 함수로 시작해서 간단한 실무 과제까지 천천히 단계별로 나아갈 것이다.
- 그래서 Python 과 flask 에 관한 이해도가 필요하다.
- 업무 외적으로 각자 만들고 싶은 주제로 Toy Project 를 해볼 것을 추천한다.
- 예전에 Toy Project 하면서 공부했는데 그 때 많이 배운 것 같다.

*내가 만들고 싶은 Toy Project (with Python)*
① 슬랙봇 : 현재 달의 위치와 모양 + 현재 날씨에 따른 달을 볼 수 있는 확률을 알려주는 슬랙봇.
=> 서울 기준으로 이러한 데이터를 받을 수 있는 공공 기관 API 가 있는지 확인 필요.
=> 슬랙봇 개발 방법 조사 필요.
=> 나중에 점성학도 공부해보고 싶다.
② IT 기사 추천 프로그램 : 나에게 특화된 (흥미를 보일만한) IT 기사를 추천해주는 프로그램.
=> 크롤링과 약간의 추천 시스템 구현이 필요!
=> 요새 IT 기사 보는데 실질적으로 클릭해 들어가는 건 10% 정도인 것 같다.
=> 이 10% 를 프로그램이 선정해서 보여줬으면 좋겠다.

*취업 못했으면 만들려고 했던 Project*
[iPhone AR 미라클 모닝 앱]
=> 시각적인 효과로 미라클 모닝 하루를 시작하는 어플.
=> 재택 근무 시작 전 or 아침에 집에서 나가기 직전 사용.
=> 타겟은 ★나 자신★ + 미라클 모닝을 실천하고 시각적인 효과를 좋아하는 10-20대.
=> iPhone 카메라로 모니터를 바라보면 창문이 열리며 현재의 날씨를 애니메이션으로 보여준다.
(인식된 모니터 상에서 3D 애니메이션 진행.)
=> 그리고 미라클 모닝을 성공했다는 축포 애니메이션과 함께 긍정적인 문구가 뜬다.
=> 모니터를 누르면 빨려 들어가는 효과와 함께 커뮤니티 or 메모로 연동된다.
(커뮤니티에서는 미라클 모닝 동기부여 or 체감 날씨 공유 등이 이루어지면 좋을 것 같다. / 개발하기 빡세면 monthly board 뜨면서 출석 체크 + 간단히 메모할 수 있는 기능을 제공하면 좋을 것 같음)
=> 즉, AR 은 반짝이는 오프닝 요소, 실질적인 어플 기능은 커뮤 or 메모 구조로 이중화.

⑴ 검은색 네모 (꺼져있는 TV, Monitor) 을 인식.
⑵ 인식된 모니터 상에서 3D 애니메이션 출력.
⑶ 모니터를 누르는 상호작용 인식.
⑷ 애니메이션 효과와 함께 AR 종료 -> 커뮤 or 메모 앱으로 전환
(같은 앱 상에서 기능이 전환되는 것)
⑸ 개발 가능한 범위에서 나머지는 진행. 앱의 핵심 요소는 AR, 실질적인 기능은 커뮤 or 메모.

나중에 시간되면 만들어 봐야지 ٩(*'へ'*)و
한.... 7개월 뒤?? ㅎ 일단 기획하는 과정은 재밌다!
솔직히 AR 말고는 딱히 어려운 기능을 없어서 AR 만 잘 만들면 될 듯!
  • 신입 교육 (feat. 이사님) - 1h
6시 반 쯤 교육이 끝났다! (오늘은 늦은 퇴근...!)
은연 중에 질문하지 않으면 안될 것 같은 분위기가 있어서 질문 생성기가 되었다. - ̗̀꒰ᐢ • ˕ • ᐢ꒱  ̖́-
질문... 한 8개는 한 것 같다. 그런데 시계가 보이는 위치에 있어서
끝날 때 즈음에는 이사님보다 동기들 눈치가 더 보였... 나와서 바로 사과 들어갔다 ^ㅁ^;;;;;
그래도 질문을 통해 자사 앱에서 해외 유저가 5% 정도 있다는 사실을 알아냈다! (신기)

뭔가 TIL 작성하는게 너무 귀찮았는데... 막상 작성하니 재밌네요! _〆(。。)

역시 일단 컴퓨터 앞에 앉는 것이 중요한 것 같습니다.

 

토요일 오늘... 공부는 못했고! ㅋㅋㅋ

대청소가 있어서 이것저것 정리하고 밖에서 이것저것 하다 왔습니다.

이것도 새로운 TIL로 작성할 예정입니다. (오늘은 TIL 이 두 개!)


▶ To do Notion 링크

✤ 과제 포인트

  • Python 언어로 Function 을 작성할 때, 어떤 흐름으로 접근하는가.
  • 어떠한 방법으로 어떻게 코딩하는가.
  • 각자의 코딩 스타일과 고민한 흔적들을 확인할 것이다.
  • ⇒ Logical 하게 고민한 흔적들이 코드에 나타난다.
  • 과제의 세부적인 사항자유롭게 한 번 상상해서 만들어보라.
  • ⇒ 예외처리, 파라미터에 잘못된 값이 들어온 경우 등 등

✤ 과제

1. 시간 값 변환 함수 만들기

  • 파라미터는 총 3개
    • 현재 시각 now, 시간 출력 포맷 string, [선택] 시간대 타입 UTC/KST
    • 시간대 타입은 안 들어올 경우 Defalt = KST
    • 파라미터에 따라 적절한 시간 정보를 Print 하라
  • 만들어야 할 함수는 총 2개
    • UTC → KST 변환 함수 1개
    • 변환 함수를 이용한 시간 정보 출력 함수 1개

2. 이메일 형식 체크 함수 만들기

  • 파라미터로 들어온 문자열이 유효한 이메일 형식인지 판단하는 함수를 만들어라
  • 유효성 여부 Print 하기
  • 다양한 예외 처리가 필요할 것
  • 여러 가지 상황을 자유롭게 상상하여 한 번 만들어보라

 


 

대표 이미지 - 반드시 알아두어야 할 내용!