전체 글 54

IoC, DI

오늘 공부한 내용은 IoC와 DI에 대해서 공부하였다. 우선 IoC와 DI에 대해 간략하게 설명한 후에 실습한 내용을 작성하겠다. ​ IoC - 스프링에서는 일반적인 Java 객체를 new로 생성하여 개발자가 관리하는 것이 아닌 Spring Container에 모두 맡긴다. 즉 개발자에서 → 프레임워크로 제어의 객체 관리의 권한이 넘어 갔음 으로 “제어의 역전” 이라고 한다. DI - IoC는 개발자가 객체를 관리하는 것이 아니기 때문에 개발자는 어떻게 객체를 사용하여야 하는지 문제이다. 개발자가 Spring Container의 객체를 사용하기 위해 외부로 부터 주입을 하는것이 DI라고 할 수 있다. ​ DI의 장점으로는 총 4가지가 있다. 의존성으로 부터 격리시켜 코드 테스트에 용이하다. DI를 통하여..

Spring Boot 2023.04.22

Object Mapper에 모범사례 실습

정보처리산업기사 공부를 하고 시험을 보고 오랜만에 다시 Spring으로 돌아왔다!! 시험 결과에 대해서는 그냥 그렇지만 결과가 나와야 정확하게 알거같다... 암튼!! 결과가 나오기 전까지는 Spring에 집중을 하고 공부를 할 수 있을거같다!! 그럼 오늘 공부한 내용을 작성해보겠다 ​ 오늘 배운 내용은 마지막 시간에 이어서 Spring_Boot중에서 Object Mapper에 모범사례에 대해 실습을 하고 스프링 핵심에 대해 간략하게 공부하였다. 우선 Object Mapper에 모범사례에 대해 작성하겠다. ​ ObjectMapperApplicationTests package com.example.objectmapper; import com.fasterxml.jackson.core.JsonProcessing..

Spring Boot 2023.04.22

PUT, DELETE, Response내려주기 실습

오늘 공부한 내용은 저번시간에 이어서 put방식과 delete방식, Response내려주기에 대해 실습해 보았다. 우선 put방식에 대해 작성해보겠다. 우선 저번시간에 계속 보던 사진을 가져오겠다. PutApiController package com.example.put; import com.example.put.dto.PostRequestDto; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springfra..

Spring Boot 2023.04.22

GET(QueryParame ter), POST

오늘배운 내용은 저번시간에 배운 GET방식의 PathVariable 실습에 이어서 오늘은 GET방식의 QueryParame ter메소드에 대해 실습하고 POST방식의 메소드도 실습해보았다. 우선 GET방식의 PathVariable에 대해 설명하겠다. ​ GET방식의 QueryParame ter GET방식의 QueryParame ter에는 총 3가지 방법이 있다. 첫번째 방법은 Map을 이용하여 매핑하는 방법 package com.example.hello.controller; import com.example.hello.dto.UserRequest; import org.apache.catalina.User; import org.springframework.web.bind.annotation.*; impor..

Spring Boot 2023.04.22

GET API 실습

오늘 공부한 내용은 Spring_Boot에 대해 공부하였다. 오늘부터는 Spring에 대해서 쭉 공부할 예정이다. 오늘 공부한 내용에 대해 설명하겠다. 오늘은Spring_Boot에 대해 공부하였고 GET API에 대해서 실습을 하였다. ​ Spring_Boot Spring_Boot는 단순히 실행되며 프로덕션 제품 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있다. Spring Boot 어플리케이션에는 Spring 구성이 거의 필요 하지 않다. Spring Boot java -jar 로 실행하는 Java 어플리케이션을 만들 수 있다. ​ 주요목표 Spring 개발에 대해 빠르고 광범위하게 적용할 수 있는 환경 기본값 설정이 있지만 설정을 바꿀 수 있다. 대규모 프로젝트에 공통적인 비 기능 제공 (보안,..

Spring Boot 2023.04.22

깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)-java

오늘은 그래프 탐색에 속하는 깊이 우선 탐색(DFS)와 너비 우선 탐색(BFS)에 대해서 공부하였다. 우선 그래프를 만드는 방법을 matrix(매트릭스)로 표현을 해보겠다. package ch04.graph; public class UndirectedGraph{ private int count; //노드 수 private int[][] vertexMatrix; // matrix로 그래프 표시 public UndirectedGraph(int count){ this.count = count; vertexMatrix = new int[count][count]; } public void addEdges(int from, int to, int weight){ vertexMatrix[from][to] = weigh..

코딩테스트 2023.04.21

나열된 수에서 최솟값과 최대값 구하기 문제풀이(java)

나열된 수에서 최솟값과 최대값 구하기 문제정의 ● 여러 개의 수가 배열에 있을 때 그 중 가장 큰 값과 가장 작은 값을 찾는다. ● 배열의 몇 번째에 있는지 순서를 찾는다. ● 반복문을 한번만 사용하여 문제를 해결한다. ● 수의 예로는 [10, 55, 23, 2, 79, 101, 16, 82, 30, 45]이다. 문제해결 방법 ● 배열에 있는 수 중 맨 처음에 있는 값을 max와 min으로 가정하고 배열의 마지막 숫자까지 비교하면서 더 큰 수나 더 작은 수가 나올때 max와 min의 값을 바꾸도록 한다. ● 그 때의 위치를 변수에 저장한다. 문제풀이 코드 package ch01; public class MinMaxProblem { public static void main(String[] args) { ..

코딩테스트 2023.04.21

URI, URL, HTTP 프로토콜

오늘은 Web 개발 개론에 대해 마무리 공부를 하였다. 처음으로 설명할 내용은 URI 설계이다. ​ 1. URI - 인터넷에서 특정 자원을 나타내는 주소 값 해당 값은 유일하다. (응답은 달라질 수 있다.) - 요청 : https://www.fastcampus.co.kr/resource/sample/1 - 응답 : fastcampus.pdf, fastcampus.docx ​ 2. URL - 인터넷 상에서의 자원 특정 파일이 어디에 위치하는지 식별 하는 주소 - 요청 : https://www.fastcampus.co.kr/fastcampus.pdf - URL은 URI의 하위 개념이다. ​ 다음으로는 URI 설계 원칙(RFC-3986)에 대해 설명하겠다. URI 설계 원칙(RFC-3986)에는 총 18개가 ..

웹 개발, REST API

오늘은 저번 시간에 마저 마무리하지 못했던 디자인 패턴에 대해서 마무리를 하고 웹 개발 이론에 대해서 공부했다. 우선 디자인 패턴부터 설명을 마무리 하겠다. ​ Facade pattern Facade pattern이란 건물의 앞쪽 정면 이라는 뜻을 가진다. 여러 개의 객체와 실제 사용하는 서브 객체의 사이에 복잡한 의존관계가 있을 때 중간에 facade라는 객체를 두고 여기서 제공하는 interface만을 활용하여 기능을 사용하는 방식이다. Facade는 자신이 가지고 있는 각 클래스의 기능을 명확히 알아야 한다. Facade pattern의 예제 Client와 Ftp, Writer, Reader를 이용하여 Host, Path를 연결하고 FTP 연결을 종료하는 예제와 파일을 읽고 쓰는 예제를 실습하였다...

디자인 패턴(프록시 패턴)

오늘도 어김없이 디자인 패턴에 대해 공부하였다. 실습과 병행하다 보니 시간이 빠르게 지나가는거 같다.. 현재 정보처리산업기사 실기와 같이 준비하고 있어서 객체지향과 Spring공부의 진도가 빠르지는 않아 아쉽다. 오늘 공부한것에 대해 이야기를 해보겠다. ​ 오늘은 저번시간에 이어서 디자인 패턴(Proxy, Decorator, Observer pattern)에 대해 공부하였다. ​ 1. Proxy pattern Proxy는 대리인 이라는 뜻으로써 뭔가를 대신해서 처리하는 것이다. Proxy Class를 통해서 대신 전달 하는 형태로 설계되며 실제 Client는 Proxy로 부터 결과를 받는다. Cache의 기능으로도 활용이 가능 하다. SOLID중에서 개방폐쇄 원칙과 의존 역전 원칙을 따른다. Browse..