키오스크 만들기 19

KPT 24.11.22-24.11.28 '키오스크 만들기' (개인 프로젝트)

[What I've Done]1. 프로젝트 이름: 키오스크 만들기2. 한 일: 요구사항에 맞게 키오스크 제작3. 사용한 언어: Java [Keep]1. 어려운 부분이 생기면 일단 스스로 해보고 안 될 때 튜터님 찾아가기 2. 트러블슈팅(Troubleshooting)은 모아 두었다가 한꺼번에 쓰지 않고 문제를 해결한 날 작성한 성실성3. 과제 제출 마감일을 고려하여 현재 아는 지식과 개념으로 문제와 과제를 해결한 점 4. 매일 짧게라도 TIL을 작성하고 제출한 성실성 5. 튜터님들이 과제 속의 과제 같은 숙제를 주셨을 때 한 번도 못 하겠다고 하지 않고 무조건 해보겠다고 한 태도6. 깃 커밋 메시지(Git commit message)를 작성하거나 변수명을 지을 때 챗GPT를 자주 활용하여 영어 문법 부분을..

KPT 24.11.22-24.11.28 '키오스크 만들기' (개인 프로젝트)

[What We've Done]1. 프로젝트 이름: 키오스크 만들기2. 한 일: 요구사항에 맞게 키오스크 제작3. 사용한 언어: Java [Keep]1. 퇴실하기 전 항상 팀 전체에 학습 시간이 12시간을 넘었는지 확인하고 퇴실 버튼을 누르라고 공지한 점2. 데일리 스크럼(Daily Scrum) 때 팀 전체에 특강같이 일정이 있으면 몇 시인지 미리 알려주어 상기한 점3. 참고할 만한 자료나 링크를 팀 전체에 공유한 점 4. 쉬는 시간 또는 스터디룸에서 공부하거나 튜터님께 방문할 때 팀 프라이빗 채팅방뿐만 아니라 프로필에 '(~10:00 휴식)'같이 적어둔 점  [Problem]1. 충분하지 않은 시간 안에 강의를 듣고 과제를 하느라 팀원이 한두 명씩 지각하는 일이 발생함[해결] 팀 노션(Notion) 문..

Spring 본캠프 Day 053 - 5단계 키오스크 완료, 과제 제출, 기초 Spring 1주차 완강, Transfer vs Transmit

[인용 및 참고 출처]1. 강의: 스파르타코딩클럽, "기초 Spring", 부트캠프 소개, (2024.11.28) 2. 구글 검색: Stack Exchange, "What is the difference between transfer and transmit", Word Usage - Transfer vs Transmit, (2024.11.28)수정에 수정에 수정을 거쳐 마침내 과제를 제출했다. 사실 링크 제출이라 이후에 더 고칠 수는 있지만, 리드미(README)를 고치는 시점에서 이미 체력이 바닥났다. 얼마나 바닥났는지는 컨벤션(convention) 하나도 안 지킨 'Update README.md'만 봐도 알 수 있다. 생각해 보니까 깃 커밋 메시지(Git commit message)만 80개가 넘는데..

Spring 본캠프 Day 052 - 4단계 키오스크 완료, 줄을 맞출 수 없다면 글자 수를 맞춘다!

"이럴 수가! 찐 광기 인정합니다!"오후 9시에 퇴실 버튼을 누른 후 꾸미기에 푹 빠졌다. 아직 객체 지향이 감이 잘 안 와서 여러 튜터님께 여쭤보았는데, '추상화'와 '구조화' 연습을 정말 많이 해야겠다는 생각이 들었다. 어떤 종류의 글을 쓰든 틀과 흐름을 잡고 쓰는데, 글쓰기와 같은 코딩을 할 땐 그게 될 듯 말 듯 한다. 이 와중에 연습용 패키지(package)와 제출용 패키지를 번갈아 사용하다가 어느 순간 오류가 나서 파일이 싹 지워졌다! 사실 파일은 노트북에 있으니까 그렇다 쳐도, 꼼꼼히 기록해둔 깃 커밋 메시지(Git commit message)가 통으로 날아간 줄 알고 냅다 튜터님께 달려갔다. 10분 동안 천국과 지옥을 오갔다.오늘은 점심 때 10분 운동만 하고 남은 시간은 오롯이 코딩에 쏟..

4단계: "get() 메서드에 가장 적절한 인덱스(index)는?"

[문제]package com.example.kiosk.level4;// 메인(main)import java.util.*;public class KioskLvFour { public static void main(String[] args) { System.out.println(); System.out.println("[MAIN MENU]"); List allMenus = new ArrayList(); Menu menuBurger = new Menu("Burgers", new ArrayList()); Menu menuDrink = new Menu("Drinks", new ArrayList()); Menu menuSide = ne..

Spring 본캠프 Day 051 - 리스트에 싹이 나서 잎이 나서 리스트! 무한 굴레!

4단계 키오스크는 마치 열어도 열어도 계속 나오는 마트료시카 인형 같았다.MenuItem 클래스에 도달할 때까지 계속 리스트(List)가 나오니까 정신이 혼미해졌다. 원래는 오늘 5단계 키오스크 과제까지 마치려고 했으나, 너무 헷갈려서 4단계 키오스크 과제에 시간을 더 쏟기로 했다. 딱 한 단계만 높아졌을 뿐인데 난도 차이가 얼마나 심한지는 깃허브(GitHub)만 봐도 알 수 있었다.오늘 4단계 키오스크를 만들면서 보낸 깃 커밋 메시지(Git commit message) 수가 어제보다 두 배 넘게 더 많았다. '일단 눌러보자'라는 심산으로 이런 메서드(method)도 써보고 저런 메서드도 써보면서 틈틈이 기록했더니 어제보다 잔디 빛깔이 짙었다. 장바구니 기능은 무슨, 필수 과제만이라도 잘 하자고 목표를 ..

Spring 본캠프 Day 050 - 3단계 키오스크 완료, 깃모지(Gitmoji) 🔧 vs 🎨, 깃모지(Gitmoji) 🚀 vs ✨, 내일은 꼭 4단계 키오스크 끝낸다!

[인용 및 참고 출처]1. 사전: "readability", " elegant", " clean up", "authentication", " fine-tuning ", "tooltip", 네이버 영어사전, 네이버 영어사전 (2024.11.25)2. 구글 검색: 네이버 블로그, "nice-to-have 의미", must-have vs nice-to-have, (2024.11.25) '키오스크에 장바구니 기능을 넣고 싶다.' '메뉴판이 줄 맞춰져서 출력되면 좋겠다.' '뒤로 가기 기능도 할 수 있으면 해볼까?' 자바(Java) 공부가 절대 쉽지 않지만, 과제를 하는 내내 왜 해야 하는지 이해가 간다. 어떤 기능을 넣고 싶으면 방법을 알아야 하니까 자연스레 공부한다. 오늘은 3단계 키오스크 만들기를 마쳐서 목..

3단계: "Variable 'menuItems' initializer 'new ArrayList<>()' is redundant"

[인용 및 참고 자료 출처]1. 사전: "redundant", 네이버 영어사전, 네이버 영어사전, (2024.11.25) [문제] (링크: 첫 번째 노란 경고 해결 과정)package com.example.kiosk.level3;import java.util.*;// Kiosk 클래스public class Kiosk { Scanner sc = new Scanner(System.in); List menuItems = new ArrayList(); // [문제] 위의 코드 한 줄에서 노란 전구가 깜빡였다. public Kiosk(List menuItems) { this.menuItems = menuItems; } public void start() { ..

3단계: "Field can be converted to a local variable"

[문제]package com.example.kiosk.level3;// Kiosk 클래스import java.util.*;public class Kiosk { Scanner sc = new Scanner(System.in); List menuItems = new ArrayList(); private int index; // [문제] 위의 코드 두 줄에서 노란 전구가 깜빡였다. public Kiosk(List menuItems) { this.menuItems = menuItems; } public void start() { for (index = 0; index = 5 || index == 0) { System.out..

3단계: "아이고, 믿는 sout에 발등 찍힌다더니!"

[문제]package com.example.kiosk.level3;import java.util.*;public class Kiosk { Scanner sc = new Scanner(System.in); List menuItems; public Kiosk(List menuItems) { this.menuItems = menuItems; } public void start() { int index; for (index = 0; index = 5 || index == 0) { System.out.println("메뉴 번호 외에 다른 숫자를 입력했습니다. 프로그램을 종료합니다."); break..