🌱 4달 간의 일일 커밋 회고
나름의 새해 결심으로 1일 1커밋을 진행하고 있다. 커밋을 할 수록 느끼는 것이다. 잔디밭을 채우는 것보다도 가치 있는 커밋 로그를 남기는 것이 중요하다는 것이다. 더 자세히 커밋 메세지를 쓰도록 신경쓰게 되었고, 더 작은 단위로 과정을 커밋에 남기려고 노력하게 되었다.
1월 9일 한 번은 까먹어서, 4월 하루는 레포를 삭제했더니 하루치 커밋이 비게 되어서 빈 구멍이 2개 있다. 처음에는 하루에 한 번 습관적으로 코딩하거나 공부하는 습관을 들이고자 시작했다. 그러나 지금은 습관이 된 것 이상으로 하루의 중요한 일과가 되었다. 하루를 마무리하기 전에 너무 졸려도 노트북을 켜고 오늘 한 분량을 커밋하거나 공부한 것을 정리하게 됐다. 다마고치를 키운다는 느낌으로, 매일매일 깃 로그를 남기는 과정을 요즘은 즐겁게 하고 있다. 😄
🐣 2달 간의 자바 기초 과정 회고
정확히 말하자면 2주간의 리눅스, 6주간의 자바 기초 과정이 오늘 끝났다. 자바스크립트를 하는 것과 자바를 하는 것은 많은 부분 다르다고 느껴질 때도 있었고, 언어라는 선상에서 상당히 유사하다고 느낀 점도 많다. 객체지향, 클래스와 자료구조, 인터페이스 등등 생소한 개념들을 익히면서 어려웠던 것보다 즐겁게 공부했던 시간들이 더 기억에 남는다. 타입에 대해서 좀 더 자세히 공부하면서 자바스크립트를 할 때와 다른 생각들을 하게 되고, 조금 더 꼼꼼하게 코드를 작성하게 된 것 같다. 가장 재밌었던 것은 환전계산기를 만들었던 것을 바탕으로 🎠 놀이공원 티켓발매기 🎡 를 만든 미니 프로젝트다.
- 콘솔에서 티켓을 판매하는 키오스크처럼 사용자의 입력을 받고
- 파일에 티켓 판매 현황을 저장하고,
- 저장한 파일을 불러와서 일간, 우대권별, 연령별 매출 통계를 낸다.
- 발전시켜서 bitnami의 SQL 서버로 데이터를 보내고 가져오는 실습도 했다.
- 프로젝트를 하면서 처음으로 클래스를 조금 더 세세하게 분리해보고, 환전계산기 코드리뷰를 받았던 것을 바탕으로 static 변수와 메소드 사용을 자제하도록 했다.
- private변수와 생성자를 적극 사용해서 자료구조에 사용할 클래스를 만들고, ArrayList로 데이터를 관리하도록 했다.
- 한 클래스 내에서 여러 생성자를 사용할 수도 있고, 그것을 한번에 불러오는 메소드도 만들 수 있다는 것을 알게 되면서 데이터를 다루는 다양한 방법에 대해서 생각해보게 되었다.
- 연령별 데이터는 1, 2, 3 같이 숫자로 입력을 받는데 데이터를 저장하거나 출력할 때는 유아, 어린이, 청소년 같이 String형태로 사용해야 했다. 이 문제는 getter에서 return값을 string으로 주면서 getter에서 if문이나 switch문으로 값을 변환시키도록 했는데, 다른 방법이 있는지 궁금하다.
- 지금 짠 코드도 리팩토링할 구석이 많으니, 조금씩 리팩토링을 해보아야겠다는 생각을 한다.
자바를 공부하기 전까지의 우려와 달리 자바는 재밌다. 자바도 재밌고, 사람들과 학교에 다니는 것도 재밌고, 생각해서 무언가를 만든다는 과정 자체도 재밌다. 그런 것을 좋아해서 글재주가 없어도 회고를 남기고, 미니오븐과 씨름을 하며 빵을 굽기도 한다. 일주일 전에는 끙끙거리면서 잘 못 풀었던 문제도, 일주일 뒤에 다시 펴보면 새로운 시각으로 해결하곤 한다. 하루하루 성장속도가 빨라지고 있음을 느끼는 순간이다. 요즘은 새로운 것을 알아가는 재미로 매일매일 즐겁게 배우고 있다!