Tiny Star

📌TIL [Today I Learn]

[TIL] 23년 6월 01일 목요일

청크 2023. 6. 1. 22:12

23년 6월 01일 목요일

오늘의 목표 : 개인 과제 - 키오스크 시스템 만들기

 

오늘 공부한 내용🤓

과제 제출 D-1

어제까지 반쯤 포기상태였던 키오스크 개인과제

 

같은 부트캠프 팀원이었던 분께 힌트도 받고, 전직 개발자였던 지인에게 HashMap도 설명도 들었다.

그동안 코드 뒤엎으면서 혼자 고민해 본 것들을 바탕으로 과제 완성은 못하더라도

이 코드 저 코드 작성해서 해보는 데까지 해보자는 마음으로 아침에 눈뜨자마자 인텔리제이에서 새 패키지를 만들었다. (7번째 시도였다..)

 

가장 먼저 해야 하고, 하기 쉬운 요건에 맞는 클래스를 만들고 머릿속에서 객체지향이라는 단어 자체를 지워버렸다.

자꾸 간결한 객체지향이라는 것에 얽매여 코드가 길어지면 내가 잘 못쓰고 있는 것 같은 생각에 자신감이 떨어져서 더 나아갈 수가 없었기 때문이다.

 

6일 동안 매일같이 15시간 이상을 매달린 결과 드디어 70%쯤 내 힘으로 짠 키오스크 코드가 완성되었다.

물론 여기저기 도움은 많이 받았지만 내 코드를 타인에게 리뷰할 수 있을 만큼 100% 이해했다.

 

내가 도움 받은 것처럼, 아직 어려워하는 팀원 두 분께 코드리뷰하면서 알려드리고 또 그러는 과정에서 나 스스로 복습도 되는 하루였다.

(다들 코드 이해 최고 잘된다고 칭찬도해주시고, 내 코드 가져가셔서 완성해 보시겠다고 해주셔서 정말 행복한 하루! )

 

코드를 완성하며 오늘도 배움이 있는 하루였다.

 

1. HashMap처음에 그저 어렵게만 느껴졌던 Map.

아직 인터페이스까지 진도를 못 나간 상태라 튜터님이 Map을 쓰라하셨을 때도 "저걸 어떻게 써...." 이런 심정이었는데,

생각보다 어려운 개념은 아니었다.

 

Map은 Key값과 Value값이 하나의 쌍으로 이루어져있고, 이 한 쌍을 저장하는 방식이다.

 

Map의 특징은 저장 순서를 유지하지 않는다.

즉, 배열이나 리스트처럼 순차적으로 출력이 되는 게 아닌 사용자가 원하는 Key값을 호출하면 Value값이 출력되는 점에서

사용이 굉장히 자유로운 편이다.

 

Map은 Value값 중복은 허용이 되지만 Key값은 중복 허용이 되지 않으니 Key값이 겹치지 않도록 사용해야 한다.

//Map put하는 방법
import java.util.HashMap; // 사용 시 상단에 import는 필수

//<> 사이에는 Key값과 Value값으로 사용 할 타입을 적어준다.
// String, Interger 등등
// map1 = map의 이름(사용자가 편한 이름으로 저장 가능)

Map<String, String> map1 = new HaspMap<String, String>();
map1.put("Hello","안녕")
map1.put("Name","이름")

//Map get하는 방법
System.out.println(menuList.get(Key값));

2. 개인과제 코드-메서드

어렵게만 느껴졌던 메서드를 쓰고 호출하는 방법을 알게 되었다.

 

어려웠던 내용😵‍💫

 

궁금&부족한 내용❓

 

느낀 점💡

못썼다고 창피해서 코드를 공개하지 않거나 모른다는 것에 창피함을 느껴서 혼자 주저하는 건 발전이 없는 것 같다.

여러 사람들에게 물어보고 듣고 배우고 생각한 것들을 오류가 나더라도 일단은 한번 작성해 보니 책으로 공부하는 것보다 훨씬 빠른 습득이 되었다.

 

다른 무엇보다 내가 짠 코드라고 해서 누군가 뺏겨쓸까 손에 쥐고 공유하지 않는 것은 굉장히 바람직하지 않은 것 같다.

내가 짠 코드를 내어주고, 리뷰하는 과정은 잘난척하면서 알려주는 게 아닌 복습을 하는 과정이라고 생각한다.

실제로 오늘 코드를 완성하고 다 못한 팀원분들을 도와주면서 코드를 3번 정도 정독하면서 온전히 내 것이 된 하루였다.

 

 

 

 

 

'📌TIL [Today I Learn]' 카테고리의 다른 글

[TIL] 23년 6월 08일 목요일  (0) 2023.06.08
[TIL] 23년 6월 07일 수요일  (0) 2023.06.08
[TIL] 23년 5월 31일 수요일  (0) 2023.05.31
[TIL] 23년 5월 30일 화요일  (0) 2023.05.30
[TIL] 23년 5월 25일 목요일  (0) 2023.05.25