본문 바로가기

분류 전체보기

(171)
23.12.19 스프링 2일차 우리가 사용할 패키지 구조 • domain o user  controller  service  repository  dto  model  exception o course  controller  service  repository  dto  model  exception • infra 이걸 이용해서 그대로 패키지를 만든다. 도메인을 최상위 패키지로, 하위로user, course, lacture, courseapplication을 만든다. 참고로, 하위 패키지를 만들면 하나로 합쳐지는데, 새로운 패키지를 만들때 패키지,하위패키지,에서 하위패키지, 부분을 지우고 새 패키지 이름넣으면 분리된다. course 밑에 controller, service, repository, dto, mode..
23.12.18 스프링 입문! 참고로 아래에 노란색은 답, 빨간건 내가 선택한 오답이다. 이것은 주말에 살짝 선행학습했던 스프링 기초에 대한 입문 문제다! 1. Library 와 FrameWork의 설명 중 틀린 것을 고르시오* ① 특정한 언어의 개발 환경에 기본적으로 포함된 것들은 대부분 표준 Library라고 불린다. ② Library는 Application을 호출하는 Caller 역할을 한다. ③ 이유: 프레임워크 어플 라이브러리 순이다. ④ FrameWork는 개발 시 목적에 따라 고민할 필요 없이 이용할 수 있도록 일괄로 가져다 쓰도록 만들어 놓은 틀이다. ⑤ Spring 은 Library가 아닌 FrameWork이다. 2. CSR(Client Side Rendering) 특징 중 올바른 것을 고르시오* ① SEO가 가능하다..
23.12.15 코틀린 끝? fun show menu 안을 println("[ MENU ]") menuItems.forEachIndexed { index, menuItem -> println("${index + 1}. ${menuItem.name} | 가격: ${menuItem.price} 원 | 설명: ${menuItem.description}") } val maxNameLength = menuItems.maxOfOrNull { it.name.length } ?: 0 println("[ MENU ]") menuItems.forEachIndexed { index, menuItem -> val padding = " ".repeat(maxNameLength - menuItem.name.length) println("${index + 1..
23.12.14 키오스크4 인터페이스를 클래스로 바꾸는 법을 알아냈다! interface MenuItem { val name: String val price: Int val description: String fun displayInfo() } 이걸 오픈 클래스로 바꾸려면, open class TheMenu( override val name: String, override val price: Int, override val description: String ) : MenuItem { override fun displayInfo() { println("음식 이름: $name") println("가격: $price 원") println("설명: $description") } } 이녀석을 메뉴아이템으로 바꿔치면 된다! open cla..
23.12.13 키오스크3 오늘은 먼저 오픈 클래스를 만들어 클래스들을 상속하려고 해봤는데, 먼저 부모를 정한게 아니라 나중에 추가하려고 해서인지 잘 되지 않고 계속 오류가 떠서 굉장히 고생했다. 그래서 우선 난잡한 클래스들을 정리하기 위해서 버거, 드링크 클래스를 버거메뉴, 드링크 메뉴에 집어넣었다. class Burger( override val name: String, override val price: Int, override val description: String ) : MenuItem { override fun displayInfo() { println("버거 이름: $name") println("가격: $price 원") println("설명: $description") } } 이녀석을 버거메뉴 안으로 옮기고 cl..
23.12.12 키오스크 2 어제에 이어서 오늘은 클래스를 만들고, 그 클래스들이 작동해서 메뉴를 가동시키고 메인파일은 중계만 하도록 만들어 본다! 버거메뉴 클래스 파일을 이렇게 만든다. class BurgerMenu { companion object { val menuItems = arrayOf( "와퍼 | W 8.0 | 불에 직접 구운 순 쇠고기 패티에 싱싱한 야채가 한가득~ 버거킹의 대표 메뉴!", "불고기와퍼 | W 8.0 | 불에 직접 구운 순 쇠고기 패티가 들어간 와퍼에 달콤한 불고기 소스까지!", "치즈와퍼 | W 8.6 | 불에 직접 구운 순 쇠고기 패티가 들어간 와퍼에 고소한 치즈까지!", "통새우와퍼 | W 8.8 | 불맛 가득 순쇠고기, 갈릭페퍼 통새우, 스파이시토마토소스가 더해진 프리미엄 버거!", ) } fu..
23.12.11 키오스크 만들기 오늘은 키오스크를 만드는 과제를 수행하게 됬다! 역시 시작은 뭘해야할지를 몰라서 굉장히 막막했지만, 어쨋든 해보기로 했다. 어짜피 겉모습만 흉내내는거니 어떻게든 될것이다. 우선 제목?을 println("========================================") println(" 버거킹에 오신걸 환영 합니다! ") println("========================================") 이렇게 메시지를 출력시킨 뒤 1번을 누르면 버거, 2번은 음료, 3번은 종료, 그리고 예외처리를 집어넣으라는 요구사항이 있었기 때문에 try catch를 이용해 1,2,3 외의 숫자를 입력하면 다시 입력하라는 메시지가 뜨도록 해봤다. while (true) { try { println(..
23.12.08계산기 보완 계산기의 정답 영상이 올라왔는데, 내가 했던 방식인 클래스는 연결만 해두고 메인파일에서 계산을 하는건 깔끔하지 못하고 불안정한 방식이였다. 깔끔하게 하려면 fun main() { val addCalc = Calculator(AddOperation()) println("10 더하기 20 결과는 : ${addCalc.operate(10,20)} 입니다") val subCalc = Calculator(SubstractOperation()) println("10 빼기 20 결과는 : ${subCalc.operate(10, 20)} 입니다") val mulCalc = Calculator(MultiplyOperation()) println("10 곱하기 20 결과는 : ${mulCalc.operate(10, 20)..