분류 전체보기

지금까지는 HttpRequest에 대해서 다루는 방법을 알아보았다. Request를 통해 데이터가 들어오면 Controller에서는 매핑을 통해 제일 먼저, RequestParam이나 body의 json 데이터를 받고, 처리 후 view나(return "view") json, text 등(@ResponseBody)을 반환한다. 이때, 반환하는 view는 정적, 혹은 동적으로 반환될 수 있는데, 이것을 알맞게 응답해주는 방법을 알아볼 것이다. 1. 정적 resource(view) 스프링의 파일 구조를 보면, src/main/resources가 있다. resources아래에는 static과 templates가 있는데, -static : 정적 view가 들어갈 수 있음 -templates : 동적 view가 ..
HTML Form 형식의 데이터는 요청 파라미터로 인정되어 getParameter나, @RequestParam을 통해 받아줄 수 있었다. 하지만, HTTP 요청 메시지처럼 Body에 바로 담겨오는 데이터는 받을 수 없었다. 지금부터 위의 말처럼 Body에 바로 담겨오는 HTTP 요청 메시지를 다뤄보는 것을 배워보겠다. ============================================================================================ 1. 요청 메시지 -- 단순 텍스트 요청 메시지는 body에 포함되어 요청으로 오게 된다. 이때 body에 단순 텍스트가 오게 되면, 우리는 Stream의 형태로 받아주어야 한다. *************************..
지금까지 요청 매핑을 알아보았다. 1. 리소스와 HTTP 메소드를 통해 큰 틀을 설계해보았다. 2. GET, POST 등의 메소드 사용 방법을 알아보았다. 하지만, 실질적으로 그 메소드를 사용할 때 어떻게 데이터를 다루는지에 대해서는 아직 모른다. 이제부터 데이터를 다루는 방법을 알아본다. -데이터를 다루는 방법을 알아본 후 설계된 매핑과 같이 사용을 하는 방법을 알아보겠다.(이번 글은 데이터를 다루는 방법만) 코드를 보기에 앞서, 클라이언트에서 서버로 요청 데이터를 전달할 때 주로 사용하는 방법이 있다. 1. GET - 쿼리 파라미터를 통한 데이터 전달 ex)localhost:8080/mapping/users?username=jeong&age=20 -?뒤에 들어가는 부분이 쿼리 파라미터이다. -GET방..
· 알고리즘
문제: input.txt 파일에 있는 10만 개의 데이터를 읽어서 퀵 정렬을 한 후, 정렬된 데이터를 output.txt에 저장해라. 퀵 정렬이란? 1. 피벗을 기준으로 모든 배열안의 큰 수를 오른쪽, 작은 수를 왼쪽에 정렬한다. 2. 그 후 마지막 작은 수(피벗기준)의 위치와 피벗의 위치를 바꿔준다. 3. 0~(바뀐 위치 - 1), (바뀐 위치 +1)~마지막으로 분할 후 다시 퀵정렬을 각각해준다. i를 low+1이라 정의, j를 top이라 정의 여러 경우들 1. 1,2,3같이 이미 정렬이 되어 있는 경우 2. 2,1같이 i, j가 같은 곳에서 시작되는 경우 3. 1,2같이 i, j가 같은 곳에서 시작되고, 정렬이 되어있는 경우 ->i가 top을 넘어갈 수 있으면, 해결된다. #include void q..
클라이언트에서 요청이 들어올 때, 특정 url을 인식하고, 메소드를 실행시켜주는 것을 매핑이라고 한다. 보통 @RequestMapping("/url") public String Basic(){ log.info("Basic"); return "viewname"; } 위와 같은 형태의 코드로 이루어져 있다. -localhost:8080/url 시 Basic 메소드 실행 후(log 출력) viewname이라는 html 파일이나 뷰를 보여준다. @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/hello-basic") public Strin..
평소 input과 output의 확인을 위해서 System.out.println() 같은 콘솔을 통해 확인하는 방법을 사용한다. 하지만, 이는 결국 리소스를 사용해야하므로, 실무나 운영시스템에서는 사용하지 않는다. 우리는 input과 output을 사용하기 위해 logging을 사용할 수 있다. package hello.springmvc.basic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController //..
· 알고리즘
1. 조건문 파악(의미까지 다 파악해준다.) 2. 맨 마지막으로 쭉 따라가서 무엇을 해주는지 파악. 3. 반대로 쭉 따라가며 재귀함수 이해 *재귀 함수도 결국 스택임으로 후입 선출임을 이해하자. 4. 재귀함수는 문제의 규칙을 파악한다. 식이 나오면 식 안에서 반복되는 식을 찾아야 한다.
· 알고리즘
문제: 프로그램 동작 설명: input.txt 파일에 있는 10만 개의 데이터를 읽어서 선택 정렬을 통해 정렬을 한 후, 정렬된 데이터를 output.txt에 저장한다. 1. input.txt 파일에서 10만 개의 데이터를 배열에 담는다. 2. 선택 정렬을 통해 정렬 3. output.txt 파일에 출력 #include #include int main() { FILE* fp; fopen_s(&fp, "input.txt", "w"); int temp; int array[100000]; for (int i = 0; i < 100000; i++) { array[i] = i + 1; } for (int i = 0; i < 100000; i++) { int random = (rand() + rand() + ran..
쥐4
'분류 전체보기' 카테고리의 글 목록 (17 Page)