본문 바로가기
내일배움캠프 TIL - Spring MVC 이모저모 스프링 강의를 수강하면서 스프링에대해 하나하나 알아가고 있다. 그중 하나가 SpringMVC라는 것으로 카테고리가 하나가 있다. 기본적으로 MVC라는 것은 Model View Controller라는 구조로 소프트웨어를 만들기 위한 디자인 패턴 중 하나이다. 이렇 듯 Model View Controller는 각자의 역할을 맡아 소프트웨어를 구성하게 된다. Model 데이터와 비즈니스 로직을 담당한다.. 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행한다. View 사용자 인터페이스를 담당한다. 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현한다. Controller Model과 View 사이의 상호작용을 조정하고 제어한다. 사용자의 입력을 받아 Model에 전달하고, Model의 .. 2024. 1. 18.
내일배움캠프 TIL - Gradle에 관해서 스프링 입문강의를 시작하면서 인텔리 제이를 이용하여 Spring Initializr로 스프링 프로젝트를 생성하면 Type이라는 설정에서 Gradle-Groovy, Gradle-kotlin, Maven 이라는 선택지가 있다. 나는 여기서 Gradle이라는 것을 처음보게되었는데. 이 Gradle이라는 것이 무엇인지에 대해 알아보겠다. Gradle이란 무엇인가? Gradle이란 Gradle은 빌드 자동화 시스템이다. 우리가 작성한 Java 코드를 설정에 맞게 자동으로 Build해준다.. Build란 소스 코드를 실행 가능한 결과물로 만드는 일련의 과정을 뜻한다. Gradle을 사용하면 간편하게 Java 소스 코드를 실행한 가능한 jar 파일로 만들어 준다. build.gradle build.gradle은 Gr.. 2024. 1. 17.
내일배움캠프 TIL - Java 예외처리에 관하여 팀과제를 하다보니 기능을 구현하던 중에서 사용자가 입력을 하는 것이 꼭 있을 것이다. 사용자는 개발자가 원하는 대로 흘러가게 인풋값을 매번 주지는 않을 것이다. 그런 것에 있어 과제에는 예외처리가 필요한 상황이 있는데 예외처리에 대해 적용을 못한게 아쉬어 제대로 알아보고자 한다. 오류( Error) vs 예외 (Exception) 오류(Error)는 일반적으로 회복이 불가능한 문제이다. 이는 시스템 레벨에서, 또는 주로 환경적인 이유로 발생한다. 코드의 문제로 발생하는 경우도 있지만, 일단 발생하는경우 일반적으로 회복이 불가능하다. 에러가 발생한 경우 우리는 어떠한 에러로 프로그램이 종료되었는지를 확인하고 대응한다. 예외(Exception)는 일반적으로 회복이 가능한 문제이다. 회복이 가능하다는 전제는 .. 2024. 1. 16.
내일배움캠프 TIL - git pull 에러에 대처해보자 팀과제를 겪으면서 git을 통하여 프로그램 형상유지를 위하여 push를 하거나 pull을 하다보면 오류를 겪을 때가 있다. 오늘은 git Merge로 내 브랜치에 pull 하면서 Merge가 안되는 오류로 인해서 찾아보았던 에러들을 해결하는 몇가지 방법을 알아 보겠다. 힌트: You have divergent branches and need to specify how to reconcile them. 힌트: You can do so by running one of the following commands sometime before 힌트: your next pull: 힌트: 힌트: git config pull.rebase false # merge 힌트: git config pull.rebase true .. 2024. 1. 15.
프로그래머스Java - 자연수를 뒤집어서 배열만들기 문제설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5, 4, 3, 2, 1] class Solution { public int[] solution(long n) { int size = 0; long num = n; while(n > 0){ size++; n = n/10; } int[] answer = new int[size]; for(int i = 0 ; i < size ; i ++){ answer[i] = (int)(num % 10); num = num / 10; } return answer; } } 2024. 1. 12.
[프로그래머스] 자릿수더하기 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; while(n > 0){ answer += n % 10; n = n / 10; } return answer; } } 자릿수더하기 문제설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 입출력 예 N answer 123 6 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로.. 2024. 1. 11.
내일배움캠프 12일차 TIL - Java stream 간략하게 알아보기 오늘의 키워드 Stream, filter, forEach(), map() 오늘 배운 내용 정리 스트림은 Java8부터 제공되는, 한번 더 추상화된 자료구조와 자주 사용하는 프로그래밍 API를 제공한 것이다. 자료구조를 한 번 더 추상화 했기 때문에, 자료구조의 종류에 상관없이 같은 방식으로 다룰 수 있다. 쉽게 비유 하자면, 자료구조의 "흐름"을 객체로 제공하고, 그 흐름 동안에 사용할 수 있는 메서드(행위)들을 api로 제공해주고 있다는 것이다. 쉽게 더 설명하면 자료구조(리스트, 맵, 셋 등)의 흐름이라고 비유하면 된다. 특징 원본의 데이터를 변경하지 않는다. 자바 컬렉션으로부터 스트림(해당 컬렉션의 흐름)을 받아서 한 번 사용한다. 일회용이다. 한 번 사용한 스트림은 어디에도 남지 않는다. 예시 L.. 2024. 1. 9.
내일배움캠프 11일차 TIL - 제너릭에 대하여 오늘의 키워드 Generic, 타입 오늘 배운 내용 정리 Generic 제너릭이란 단어는 사전적 의미로는 포괄적인 , 총칭의 , 일반적으로 라는 의미가 있다. 자바에서의 Generic이란 중복되거나 필요없는 코드를 줄여주는 것, 데이터 형식에 의존하지 않고, 값이 여러 다른 타입들을 가질 수 있도록 하는 방법으로 타입을 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것이다. 보통 자바스크립트나 파이썬과 같은 약타입 언어에서는 타입을 지정해 줄 필요가 없기에 하나의 함수만 구현하면 끝이다. 더보기 function plusReturnFunction(a, b) { return a + b; } const a = 1; const b = 2; const c = 1.1; const d = "he.. 2024. 1. 8.
내일배움 캠프 10일차 TIL - 개인과제 (자바 키오스크 구현) 진행중 오늘의 키워드 키오스크, MVC, 클래스 오늘배운내용 3주차 강의를 완강을 하게되고 개인과제를 진행하게 되었다. 개인과제는 자바로 만드는 내가좋아하는 가게 키오스크 구현이였다. 요구사항으로는 Java 클래스 설계 시 필수 요구사항! 메뉴 클래스는 이름, 설명 필드를 가지는 클래스로 만들어주세요. 상품 클래스는 이름, 가격, 설명 필드를 가지는 클래스로 만들어주세요. 상품 클래스의 이름, 설명 필드는 메뉴 클래스를 상속받아 사용하는 구조로 개발해주세요. 주문 클래스도 만들어서 상품 객체를 담을 수 있도록 해주세요. 이것과 여러 메뉴화면과 화면에서 메인메뉴판과 상품메뉴 선택시 상품메뉴판 구매화면 및 장바구니 주문화면을 구현하는 것이 었다. 그 외에 선택 요구사항으로 주문개수 기능 추가, 상품 옵션 기능 추가.. 2024. 1. 5.