Today I Learned
- 선배님과 첫 수업?을 했다. 처음으로 짠 코드에 대해 리뷰를 해주시는데 괜히 '신'으로 불리시는 분이 아니었던 것 같았다. 내가 실행할 코드에서 예외는 해봤자 경로가 없을 때의 예외밖에 생각하지 못 했는데, Arguments의 갯수가 문제가 될 것이라고는 상상도 못 했다.
그리고 Solver라는 '클래스'를 만들어서 객체지향식으로 코딩을 했는데 피드백을 받아보니 굳이 객체로 만들어서 할 필요도 없었을 뿐더러 그리 했더라도 완전 그 사용법이 잘못 되었다는 것을 알았다.
아마 이 습관은 드림핵 문제를 풀 때(익스플로잇 코드를 짤 때) 거기서 코드가 대부분 이렇게 되어있어서 체화가 된 것에서 비롯된 것 같았다.
그리고 나름대로 함수의 행위를 잘 나누었다고 생각했는데 아니나 다를까 반복문 안에 같은 행위를 하는 코드를 적어놓고도 그것을 함수로 나눌 생각을 안 했다. 그리고 그것마저 잘 잡아주셨다. 마침 어제 친구들이 Functional Programming에 대해 보고 있길래 재미있어 보였는데 나중에 시간적 여유가 된다면 나도 한 번 맛만 봐야겠다.
그리고 파일입출력에 대해서도 문제가 많았는데 너무도 당연하게 열었던 파일은 닫아야하는데 그걸 close를 안 하고 있었다.
그래서 with open?을 습관으로 들이라는 좋은 말씀을 해주셨다.
이외에도 많은 피드백이 있었는데 그것은 밑에 적어놔야겠다.
첫 시간이었지만 그래도 얻어간 것이 많은 것 같다. 앞으로의 과제가 더 어려워질 것 같지만.. 아자아자!
피드백 내용들 요약
1. 더욱 세심한 예외처리 (더 많은 경우의 수를 바라보자) #stderr
2. 객체지향이 금기사항은 아니지만 할거면 제대로
3. 클래스명(을 비롯한 그냥 모든 '이름'들)을 의미있게 지어보는 연습필요
4. 함수로 행위를 나눌거면 더욱 세밀하게 나누어보자
-> 반복문을 다시 한번 볼 것이다.
5. 파일을 열었으면 '닫자' By with open?
※ 나중에 기본틀에 무엇을 추가하는 프로그램을 짤 때는 '템플릿'이라는 개념을 도입해 함수로 이걸 렌더링하고 거기에다가 데이터를 추가하자
- 그냥 막연히 유튜브에 nodejs 로그인 구현이라고 검색해서 첫번째로 뜬 약 41개의 강좌를 보고있다. 아직 본지 얼마 안 되어서 모르겠지만 이걸 계기로 로그인과 회원가입을 만들고 DB까지 건들어 볼 수 있었으면 좋겠다.
To do list tomorrow
- 학교가서 월요일 개인세미나 준비하기
- 이젠 진짜 랩실세미나 주제 선정해서 준비하기
- 시간될 때마다 보던 유튜브 백엔드 로그인 구현하는 강의 클론코딩 해보기