전체 글(108)
-
20231220 (수) 스프링 TIL
오늘은 직접 코딩을 하는거보다 강의 영상을 보고 기본 프로그램 설치, 세팅 및 개념공부에 좀더 몰두했다. 그리고 다음주 금요일까지 낼 과제의 기초과정같은 것도 살짝 해봤다. DDD(Domain Driven Design) 라고 내가 앞으로 짤 코드의 설계도 같은거다. 오늘의 한마디 : 일단 오늘은 복습 위주로 해서 적을게 많이 없다. 내일부터는 다시 새로배울게 생길 예정
2023.12.20 -
20231219 (화) 피드백 반영 코딩
오늘은 이미 내야할 설문을 어제 제출해놨기에 남는시간에 피드백을 반영해서 코딩해보고있었다. 내가 잘한 부분 1. 일단 구현을 했다는 것 2. 클래스관의 상속관계는 어느정도 이해를 하고있다는 것 내가 못한 부분 1. 객체지향코딩이 일부분 있지만 결국엔 절차지향으로 코드가 1900줄이 넘어가버린 것 2. 코드가 길어지고 반복되는 게 많아서 수정, 변경 등이 어려운 것 실천한 부분 1. 예외 처리 일단 나는 예외처리를 하려고 readln() 아래쪽에 전부 if (!해당변수이름.isNumeric()) { System.err.println("메뉴 입력은 숫자만 가능합니다") continue } 이런식으로 전부 붙여놨었다. 하지만 이를 fun getPureNumber(): Int { var userInput: St..
2023.12.19 -
20231218 (월) 스프링 입문 시작 + 저번주차 과제물 피드백 반영
새주차가 시작되면서 스프링이란 것을 배우기 시작했다. SPRING 이란? JAVA / Kotlin 기반의 Application Framework 이다. 내가 이해한대로 써보자면 개발자가 개발에만 몰두할수 있도록 다양한 요소들을 제공하는 프로그램인 듯 하다. 프레임워크와 비슷한 개념으로 라이브러리라는게 있는데.. 라이브러리는 "개발시에 활용가능한 코드 모음" 이라고 이해하면 편하다. 그래서 Framework과 Library의 차이가 뭘까요? Application을 기준으로 Application을 호출하는지, 호출을 당하는지 여부로 구분을 할 수 있습니다. 즉, Caller 와 Callee의 차이라고 말할 수 있습니다. Framework는 Application을 호출하는 Caller 역할을하고, Librar..
2023.12.18 -
20231214 (금) 키오스크 프로젝트 제출 및 코딩공부
오전에 코드카타를 진행하고 우리조는 수정할만한게 없어서 제출먼저 했다. 이후에는 12시에 해설영상을 보며 각자의 공부를 진행했다. 나는 일단 우리 조가 짠 코드를 다시 제출하긴 힘들다고 생각해서 (코드가 너무 길기도하고 해설영상 내용을 우리조 코드에 맞출려면 거의 처음부터 다시짜야하는 수준이였다.) 해설 영상을 보고 만약 내가 키오스크 프로젝트를 다시 한다고치면 어떤부분을 이용해볼지 연습?하였다. 나중에 써볼만한 코드 1.디스플레이메뉴 fun displayMenu() { println("아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.") println("[ 버거킹 메뉴 ]") // 메뉴 이름의 여백을 맞추기 위함 // 가장 긴 이름의 길이 얻어옴 val maxNameLength = menus.maxOfO..
2023.12.15 -
20231214 (목) 키오스크 프로젝트 마무리
오늘은 오류해결할일은 거의 없엇고 레벨4와 5를 만들어보기위해 공부, 코드제작에 시간을 쏟았다. 주로 비동기프로그래밍과 딜레이넣기, 현재시각과 비교하여 키오스크에 제한걸기 등을 해봤다. 1. 비동기 프로그래밍 예시 thread(start = true) { while (true) { println("현재 장바구니 갯수 : ${basketlist.size}" ) runBlocking { launch { delay(20000) } } } } 2. 딜레이넣기 예시 runBlocking { launch { delay(20000) //이곳에 코드를 짜넣거나 } } //이 이후에 짜넣어도 된다. 어느곳에 코드를 넣느냐에따라 결과물이 살짝 달라진다. 3. 현재시각으로 제한걸기 예시 fun String.isTime():..
2023.12.14 -
20231213 (수) 키오스크 프로젝트 이어서..
어제랑 오늘의 가장큰 차이점은 장바구니기능의 유무이다. 개인적인 욕심으로 데이타클래스를 활용하여 구현해보고 싶었으나 일정에는 안맞을것 같아서 최대한 비슷하게라도 구현해봤다. 오늘 이 기능을 구현하면서 가장 뼈저리게 느낀점 어떤 방법을 쓰는지도 중요하지만 순서도 중요하다!! 1 -> { //결제 var mon = money - cost if (mon >= 0) { var basket = " ${w.name} | ${w.price} | " basketlist.add(basket) println("장바구니에 ${w.name} 추가 완료!\n" +"추가로 담을수 있는 금액은 ${mon}원 입니다. 감사합니다.\n") continue } else { cost -= w.price println("잔액이 부족합니다...
2023.12.13