전체 글47 4주차 WIL(ORM, SQL, MVC) 이노베이션 캠프 4주차를 마친 후 나의 멘탈은 와르르멘션 이였다. 실력이 더 낮아진 것 같고 자존감이 바닥치는 주차였다..! 하지만 포기하지 않고 끝까지 해본다 오로지 정신력으로 !! 이번 주차에서 배울 것은 ORM, SQL , MVC에 대해서 알아보자 먼저 ORM 이란 무엇일까 ? Object Relational Mapping, 객체-관계 매핑으로 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한며 객체 모델과 관계형 모델 간에 불일치가 존재한다. ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. 백엔드 개발자(Backend Developer): 웹 서버를 .. 이노베이션 캠프 WIL 2022. 7. 17. failed to parse configuration class nested exception 위 문구로 오류가 발생했을 때 가장 핵심 적인 원인은 중복된 파일명이 있어 오류가 발생하게 된다. 본인이 해결한 방법으로는 빌드에 클래스 파일을 들어가 보면 중복된 파일명이 있을 것이다. 그래서 클래스 파일 전체를 삭제하고 재 실행 시키면 오류가 해결되고 자동으로 다시 빌드에 클래스 파일은 생성 될 것이다 . 오늘도 오류 해결 완류 ~~!!! 오류 발생 시 2022. 7. 17. 스프링 MVC 동작원리 Client → DispatcherServlet 가장 앞 단에서 요청을 받아 FrontController 라고도 불림 DispatcherServlet → Controller API 를 처리해 줄 Controller 를 찾아 요청을 전달 Handler mapping 에는 API path 와 Controller 함수가 매칭되어 있음 Controller → DispathcerServlet Controller 가 Client 으로 받은 API 요청을 처리 'Model' 정보와 'View' 정보를 DispatcherServlet 으로 전달 DispatcherServlet → Client ViewResolver 통해 View 에 Model 을 적용 View 를 Client 에게 응답으로 전달 개발지식 2022. 7. 10. Controller 와 HTTP Response,Request 메시지 Response 메시지 Request 메시지 개발지식 2022. 7. 10. h2-console 연동하기 application.properties spring.h2.console.enabled=true spring.datasource.url=jdbc:h2:mem:db이름 localhost:8080/h2-console 개발지식 2022. 7. 10. 3주차 WlL(DI, IoC, Bean) 이번 시간에는 DI, IoC, Bean에 대해서 알아보자 먼저 위 3가지 단어들은 각각 따로 구분되는 것이아니라 연관되어 구분이 되기때문에 따로 설명하기보단 한 사이클을 통해서 알아 보도록 하자. 용어 정리부터 하자면 IOC는 Inversion of Control의 줄임말로 제어의 역전이라고 하고 di 는 Dependency Injection으로 스프링이 다른 프레임 워크와 차별화되어 제공하는 의존 관계 주입 기능으로서, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. di를 통해서 각 모듈 간의 결합도는 낮아지지만 유연성은 높아지는 장점이 있다. 두개의 각 예시를 코드로 나타내보자면 위에서는 클래스 a에서 사용자가 직접 객체 b를 생성한 모습이다. 두번째로는 b라는 객체는 .. 이노베이션 캠프 WIL 2022. 7. 10. 2주차 WIL (객체 지향 프로그래밍 , JVM) 항해 99 2주차 알고리즘을 주차를 마치고 난 후 나는 자바 문법에 대해서 알게 되었고 어떤식으로 적어야하는지 규칙은 무엇인지 지켜야할 암묵적인 룰은 무엇인지 알게 되었다. 먼저 중요한 객체 지향 프로그래밍 과 JVM 을 알아보자. 객체 지향 프로그래밍을 알기 앞서 언어별로 선호하는 프로그래밍 특징이 두가지로 나뉜다. 첫번째로 절차 지향 프로그래밍 같은 경우는 C언어가 대부분 이뤄지고 있으며 말 그대로 절차식 (순서에 의한) 프로그래밍으로 순서에 의해서 잘 정리되어 코딩을 쉽게 할 수있다고 생각이 되겠지만 코드의 량이 적을 경우는 절차식이 용이하지만 많은 기능이 발생을 하게 된다면 객체 지향 프로그래밍이 용이할 것이다. 객체 지향 프로그래밍은 말 그대로 기능별로 객체화 시켜 사용할 부분만 골라서 뽑아 쓰.. 이노베이션 캠프 WIL 2022. 7. 3. Spring ( JPA 사용2, week02application.java) 정보 업데이트 및 삭제 package com.sparta.week02; import com.sparta.week02.domain.Course; import com.sparta.week02.domain.CourseRepository; import com.sparta.week02.service.CourseService; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.. 개발지식 2022. 7. 1. Spring ( JPA 사용, 생성 수정 날짜 바로 업데이트 ) package com.sparta.week02; import com.sparta.week02.domain.Course; import com.sparta.week02.domain.CourseRepository; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.data.jpa.repository.config.Enab.. 개발지식 2022. 7. 1. JAVA 기초 지식 9 (Class) public class Main { // 아래의 main 과 아무 관계가 없는 Main 임. public 는 어디서나 접근할 수 있는 뜻. public static void main(String[] args) { // static은 프로그램이 시작될때 load 가 되는 곳. 해당 괄호안은 별도의 영역의 메모리를 차지 Person person = new Person(); Person person2 = new Person("홍길동", 10); System.out.println(person); System.out.println(person2); } } class Person { private String name; //private 접근지정자로 막아서 아무도 접근할 수 없게 하는 것. private int a.. 개발지식 2022. 6. 28. JAVA 기초 지식 8 (method, 오버로드) public class Main { public static void main(String[] args) { add(50, 10); // 순서2 다른 메서드에서 호출에서 자유롭게 사용할 수 가 있음. add(100, 150); } public static void add(int x, int y) { // 순서1 add 라는 이름의 메서드 parameter로 x와 y를 더함 System.out.println(x+y); } } public class Main { public static void main(String[] args) { System.out.println(add(50, 10)); // 다른 메서드에서 호출에서 자유롭게 사용할 수 가 있음. System.out.println(add(100, 150.. 개발지식 2022. 6. 28. JAVA 기초 지식 7(배열) int[] score: // 배열 선언 score = new int[5]; // 배열 초기화. int[] score = new int[] {10, 20, 30, 40, 50}; // 배열 선언 및 초기화 (기존 초기화된 값은 0인데 직접 설정해도됨 ) int count = score.length; // 배열의 길이 System.out.println(count); // 5 score[0] = 100; // 0번째의 값 초기화 완료 1번째 값 출력하면 20이나옴 System.out.println(score[score.length -1 ]); // 0번째부터 시작함으로 -1을 해줘야함. String [] names = new String[2]; System.out.println(names[0]); 자 그럼 위.. 개발지식 2022. 6. 28. 이전 1 2 3 4 다음