분류 전체보기

C언어/홍정모 C언어

5.8 증가, 감소 연산자 예제

#include int main() { //int a = 0; //a++; // a = a + 1 or a += 1; //printf("%d\n", a); //++a; // a = a + 1 or a += 1; //printf("%d\n", a); /*double b = 0; b++; printf("%f\n", b); ++b; printf("%f\n", b);*/ //int count = 0; //while (count < 10) // ++count or count++ //{ //printf("%d ", count++); // ++count or count++ ////count; //} /*int i = 1, j = 1; int i_post, pre_j; i_post = i++; pre_j = ++j; ..

C언어/홍정모 C언어

운영체제 시스템 비트에 따른 size_t, 메모리 크기 차이(4.2 sizeof 연산자_

1. size_t size_t의 툴팁을 보면 타입이 unsigned long long으로 강의와는 다르게 나온다. size_t 자료형은 다양한 플랫폼과 환경 간의 호환성을 위한 자료형으로, 플랫폼과 환경마다 다르게 정의된다. 즉 이식성이 좋도록 size_t를 만들었고, 위를 보면 X64 시스템을 사용하기 때문에 자료형의 타입이 다르게 나온다. X86으로 바꾸면 unsigned int로 타입이 바뀐다. 2. 메모리 크기 위와 같은 이유로 포인터의 크기가 4bytes가 아니라 8bytes로 출력된다. 64 비트 시스템에서 포인터의 크기는 8byte가 맞다. X86으로 바꾸면 4byte로 나온다.

C언어/홍정모 C언어

0.01f 값 커서 툴팁 출력 안될 때(3.12 부동소수점형의 한계)

round-off error (ex2)에서 0.01f에 마우스 커서를 올려놓으면 값이 나타나지 않는다. 버전이 달라서? 그런가 툴팁이 인터넷 검색으로 이어진다. 이를 해결하기 위해 1. 해당 코드 line을 클릭해서 빨간점을 만든다. 2. ctrl+F5가 아니라 F5로 디버그 모드로 실행한다. 값이 잘 출력된다.

스프링의 정석/Ch. 02 Spring MVC

22. redirect와 forward

1. redirect와 forward의 처리 과정 비교 1.1 redirect /ch2/write.jsp를 요청 했고, 응답으로 상태코드 302번으로 응답했다. 300번대는 Redirect이다. 다른 URL로 재요청하라는 말이다. 응답에 헤더는 있고 바디는 없다. 응답 헤더에 Location:/ch2/login.jsp로 브라우저가 자동으로 새로운 요청을 한다. 사용자가 아니라 브라우저가 자동으로 한다. 첫 번째 요청은 수동이지만 두 번째 요청은 자동이기 때문에 둘은 다른 객체이다. 첫 번째 객체가 GET, POST 상관 없이 redirect한 요청은 무조건 GET 요청이다. 1.2 forward 클라이언트가 /ch2/write.jsp를 요청했을 때 자기가 처리할 요청이 아닐때 혹은 일부만 처리하고 /ch..

스프링의 정석/Ch. 02 Spring MVC

21. @GetMapping, @PostMapping (2)

1. @GetMapping, @PostMapping @RequestMapping(value="/register/add", method=RequestMethod.GET)은 @GetMapping("/register/add")로 POST 요청은 @PostMapping으로 간단히 쓸 수 있다. URL이 같으면 충돌이 나지만 method가 다르면 충돌이 발생하지 않는다. 2. 클래스에 붙이는 @RequestMapping URL이 "/register/add"로 같으면 공통으로 @RequestMapping("/register")로 빼낼 수 있다. 클래스 안의 모든 메서드의 URL에 "/register"가 붙는다. spring은 mapping을 클래스 단위가 아니라 메서드 단위로 하는데 하나의 클래스에 모든 메서드를 ..

스프링의 정석/Ch. 02 Spring MVC

20. @GetMapping, @PostMapping (1)

입력을 POST로 설정했지만 위처럼 URL에 직접 입력해서 회원가입을 할 수 있다. 이렇게 되면 회원가입을 자동으로 할 수 있는 위험이 있어서 GET요청을 막아야한다. 위처럼 코드를 수정한다. @PostMapping을 써서 간략하게 작성할 수 있는데, PostMapping은 spring 4.3부터 적용되었다. Maven Dependencies의 spring 버전을 보면 3.1.1이다. pom.xml의 org.springframework-version을 5.0.7로 바꾼다. 바꾼 후에 Maven 업데이트를 해야 한다. 버전이 바뀐 것을 확인할 수 있다. @PostMapping 어노테이션이 추가된다. @RequestMapping("/register/add")을 @RequestMapping(value="/re..

스프링의 정석/Ch. 02 Spring MVC

19. 회원가입 화면 작성하기

1. 회원가입 - HTML, jsp registerForm.html : https://github.com/castello/spring_basic/blob/main/ch2/registerForm.html 정적 파일은 webapp-resources에 만든다. URL의 resources를 지우자. webapp->WEB-INF->spring 경로에 2개의 xml파일이 있다. root-contet.xml은 non-web관련 설정 파일이고 servlet-context.xml은 web관련 설정 파일이다. servlet-context파일에서 mapping에 있는 "/resources"를 지운다. URL에 resources 붙이지 않아도 출력된다. Form을 입력을 하고 우클릭으로 소스 보기를 하면 위와 같이 나온다. ..

스프링의 정석/Ch. 02 Spring MVC

18. @RequestMapping

2. @ModelAttribute ModelAttribute 어노테이션은 Model에 data를 자동으로 저장한다. 매개변수, 반환 타입에 적용할 수 있다. mian 메서드의 매개변수에 @ModelAttribute MyDate date를 적으면 m.addAttribute("myDate", date);를 적지 않아도 된다. 자동으로 Model 객체에 key, value인 map 형태로 key값인 "myDate"에 value로 date의 주소가 들어간다. @ModelAttribute("myDate") MyDate date에 key값을 적지 않으면 변수 타입의 첫 글자를 소문자로 바꿔서 key로 사용한다. 즉 @ModelAttribute MyDate date에서 Mydate의 첫 글자를 소문자로 바꾼 myDa..

스프링의 정석/Ch. 02 Spring MVC

17. @RequestParam과 @ModelAttribute

1. @RequestParam 1-1. 매개 변수 String @RequestParam은 요청한 parameter와 매개변수를 연결하는 애너테이션이다. main2 메서드에 매개변수 String year만 썼는데 @RequestParam(name="year", required=false)이 생략됐다. name="year"는 parameter이고 required=false는 필수여부이다. false이므로 필수가 아니다. url에 parameter, parameter 값을 쓰지 않아도 된다. 요청에 parameter이 없다면 null이 들어가고 parameter는 있지만 값이 없다면 빈 문자열("")이 들어간다. @RequestParam String year는 required=true와 같다. 요청에 para..

스프링의 정석/Ch. 02 Spring MVC

16. 서블릿과 JSP (4)

11. JSTL(JSP Standard Tag Libaray) c는 접두사로 jstl/core 라이브러리를 쓰는 것이다. fmt는 formatting으로 형식화 라이브러리 jstl/fmt를 사용하겠다는 것이다. 기본적으로 두 줄은 넣는다. 접두사가 있어야 c가 붙어있는 jstl tag(태그는 를 말한다.)를 사용할 수 있다. , 등 이 정의돼있는 JSTL이 Tag Libaray이다. 만약 JSP문서에서 if문을 쓰려면 위와 같이 써야한다. if문은 Java이고, msg=${param.msg}, "메세지가 없습니다." 는 HTML이다. 두 가지를 섞어 쓰려면 으로 나눠서 코드가 쪼개진다. 작업하다 보면 괄호는 빼먹기 쉬워 코드가 망가질 수 있다. 이를 보완하기 위해 생겨난 것이 JSTL이다. 을 간편히 한..

돌맹이떼굴떼굴
'분류 전체보기' 카테고리의 글 목록 (8 Page)