728x90

전체 글 202

스프링 HTTP 요청을 매핑(Mapping) 하는 여러가지 방법

HTTP 요청을 매핑하는 여러가지 방법 1) @GetMapping 2) @PostMapping 3) @PutMapping 4) @DeleteMapping ... 이 밖에도 @RequestMapping을 통하여도 매핑을 할 수 있다 @RequestMapping(values = "/hello" , method = {RequestMethod.GET, RequestMethod.PUT}) - GET요청 - 입력한 데이터를 URL에 붙혀서 전송을 한다 -> 데이터가 다 보임으로 취약 - 전송할 수 있는 데이터는 256바이트를 넘기지 못한다. - 캐싱을 할 수 있다. - 동일한 get요청은 항상 동일한 응답을 보내야 한다. - POST요청 - 입력한 데이터를 본문안에 포함해서 전송(URL에 대이터가 보이지 않음으로 ..

카테고리 없음 2022.12.10

스프링 @RestController

1. @RestController란? - 스프링프레임워크 4.x 버전 이상부터 사용가능한 어노테이션으로 @Controller에 @ResponseBody가 결합된 어노테이션입니다. 컨트롤러 클래스에 @ RestController를 붙이면, 컨트롤러 클래스 하위 메서드에 @ResponseBody 어노테이션을 붙이지 않아도 문자열과 JSON 등을 전송할 수 있습니다. 2. @Controller와 @RestController 차이점 *@Restcontroller는 Spring MVC Controller에 @ResponseBody가 추가된 것입니다. 따라서 @Controller와 달리 @RestController는 컨트롤러 클래스의 각 메서드마다 @ResponseBody를 추가할 필요가 없어졌습니다. 3. @Re..

스프링Spring 2022.12.10

스프링 @RequestBody , @ResponseBody

스프링에서 비동기 처리를 하는 경우 @RequestBody , @ResponseBody를 사용한다. 비동기 처리를 위해 이 어노테이션들은 어떻게 작동할까? 클라이언트와 서버의 비동기 통신 클라이언트에서 서버로 통신하는 메시지를 요청(request) 메시지라고 하며, 서버에서 클라이언트로 통신하는 메시지를 응답(response) 메시지라고 한다. 웹에서 화면전환(새로고침) 없이 이루어지는 동작들은 대부분 비동기 통신으로 이루어진다. 비동기통신을 하기위해서는 클라이언트에서 서버로 요청 메세지를 보낼 때, 본문에 데이터를 담아서 보내야 하고, 서버에서 클라이언트로 응답을 보낼때에도 본문에 데이터를 담아서 보내야 한다. 이 본문이 바로 body 이다. 즉, 요청본문 requestBody, 응답본문 respons..

스프링Spring 2022.12.10

AWS(두번째)(Amazon Web Servces)에서 제공하는 서비스 종류와 역할

최근 클라우드 서비스를 이해하는 것은 모든 IT 기술을 통틀어 가장 중요하다고 볼 수 있습니다. 특히 Public Cloud인 CSP 제품과 Private Cloud인 OpenShift & Kubernetes 등의 상용/오픈소스 제품들은 현재 클라우드 시장을 양분하고 있습니다. 현재까지 많은 사이트들이 클라우드로 전환하고 있으며, 전환된 대상은 Public 5 vs 5 Private라고 할 정도로 선호도가 양분되는 실정입니다. 따라서 클라우드 플랫폼을 사용할 또는 제공할 경우 양쪽을 모두 이해하고 필요에 의한 선택이 되어야 할 것입니다. 각 제품별 특징은 명백하지만, CSP(Cloud Service Provider) 3사 AWS, Google, Azure는 자사만의 기술로 모든 Cloud 구축 기술을 설..

클라우드 2022.12.09

형상관리 툴(CVS, SVN, Git)

CVS, SVN, Git 형상관리 툴 소스의 변화를 끊임없이 관리하는 툴 소스를 버전별로 관리할 수 있고, 실수할 경우 원복 가능하게 하는 툴 CVS 개념 GNU 라이센스 중앙에 위치한 Repository에 파일을 저장하고 모든 사용자가 접근 가능하도록 설계 checkout으로 파일 복사, commit으로 변경사항 저장 최종 버전의 소스만 관리 장점 오랫동안 사용이 되었으며 안정적 파일 전체를 저장하지 않고 변경사항만 저장하여 적은 용량 사용 단점 파일 이동이나 이름 변경은 버전 변경 미발생 버전 분기가 힘들고, 장기간 분기된 버전 운영에 대해 미설계 commit 실패 시 롤백 불가능 느린 속도 혼자 갭라할 경우 최종버전만 관리하는 CVS 툴 사용이 편리 SVN 개념 CVS와 높은 호환성을 유지하며 약간..

[스프링] ResponseEntity

ResponseEntity란? JSON 포멧을 쓸 때 즐겨쓰는 방식, 리턴되는 데이터 타입을 ↓ 이런 데이터 타입으로 만들어 주는것. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/ResponseEntity.html ResponseEntity (Spring Framework 6.0.2 API) Create a ResponseEntity with a body, headers, and a raw status code. docs.spring.io 우선 자바에서 구현체를 살펴보자. ResponseEntity public class ResponseEntity extends HttpEntity { pr..

스프링Spring 2022.12.09

국비지원 JAVA(자바) 프로그래밍 (메서드호출,오버라이딩,상속, 트라이캐치,집합,Thread,스트림)

자바 연습문제 Mytv 라는 서브클래스에 메서드를 만들고 메인클래스에서 메서드 호출하여 코딩하기 package 연습; public class MyTv { boolean isPowerOn; int channel; int volume; final int MAX_VOLUME = 100; final int MIN_VOLUME = 0; final int MAX_CHANNEL = 100; final int MIN_CHANNEL = 1; void turnOnOff() { // (1) isPowerOn의 값이 true면 false로, false면 true로 바꾼다 isPowerOn = !isPowerOn; } void volumeUp() { // (2) volume의 값이 MAX_VOLUME보다 작을 때만 값을 1증가..

국비지원 JAVA(자바) 프로그래밍 자바 연습문제 모음 주사위, 별찍기)

1+(1+2)+(1+2+3)...(1+2+3+..10)의 결과를 계산하시오 package 연습; // 1+(1+2)+(1+2+3)...(1+2+3+..10)의 결과를 계산하시오 public class Test01 { public static void main(String[] args) { int sum=0; for (int i = 0; i 80이라고 가정 // 숫자 입력 :50 -> 입력한 숫자보다크다, 숫자 입력: 90 입력한 숫자보다 작다 // 마지막에 정답을 입력하면 맞췄습니다. 총 시도 횟수는 3번입니다. import java.util.Scanner; public class Test05 { public static void main(String[] args) { int number = (int) ..

국비지원 JAVA(자바) 프로그래밍 (입출력 스트림)

입출력 스트림 (단방향) 큐-> FIFO (Fisrt IN First Out) 저장장치가 있을 때 들어오고 나가는 것을 저장하는 장치 먼저들어온것들이 먼저 나가는것 제일 많이 비유하는게 프링글스 통에 밑에 구멍난 경우! 스택-> FILO LIFO (스택쌓는다는 말) 프링글스 통에 넣어서 쌓게함 스택은 밑에 구멍이 안 뚫려있음. 그래서 먼저들어간게 나중에 나옴 단방향 한방향으로만 갈수있음 반이중 동시에 입출력이 안되고 한쪽이 입력중이면 반대쪽은 안됨 전이중 동시에 주고받음 스트림 처리방법 바이트 기반 처리 (1byte 단위로 처리(2진수 형태로 되어있음) ): 영상, 음악, 그림 ,사진 InputStream, OutputStream InputStream: fileinputstream, 문자 기반 처리 : ..

국비지원 JAVA(자바) 프로그래밍(Thread, 스레드, 람다, 익명함수, 상태 제어- sleep(), join() ,yield(), Thread동기화synchronized,데몬스레드 )

쓰레드(Thread)( 쓰레드 실행시킬 떄는 .start 이용! ) public void run() { } run 메서드도 구현해야함 ↑ 숫자가 높을 수록 우선순위가 큼/ (기본설정값 5) 메인이 끝났다고 무조건 스레드가 끝나는 것은아님 t1.interrupt(); // 정지중인 상태의 대한 스레드만 강제로 예외 발생 시켜서 중지 .join은 스레드가 종료될때까지 기다리라는 뜻 Thread.yield(); -> 쓰레드가 동시에 사용될때 하나가 필요없을 떄무의미한 반복시키는 것 (메모리 감소를 위해) package 준석; public class Yt extends Thread{ }-> 스레드 생성 다중처리 진행인데 앞전의 것을 기다리지 않고 먼저 실행(멀티태스킹한다고 생각) 이클립스하면서 노래를 켜놓으면 ..

728x90