들어가며 많은 장을 뛰어넘어 7장입니다. 4에서 5장의 경우 3장에서 요구사항을 보고 열심히 노력했다면 그다지 할 것이 많은 파트는 아닙니다. 해당 3장에서 정답을 알려주는 파트에 가깝기 때문입니다. 6장의 경우엔 이미 김영한님의 Spring MVC1을 수강하셨다면 익숙한 부분이라 따로 정리하지 않았습니다. 3장 ~ 6장에서 만들었던 서버는 클라이언트에게 http request를 받아 그에 따른 response를 내려주는 것에 집중했습니다. 하지만 대부분의 서버는 해당 요청에 따라 Database에 여러 데이터를 저장하고 관리합니다. (6장까지의 서버는 간단한 구현을 위해 HashMap을 통해 user 테이블을 관리하고 있습니다.) 7장에서는 회원 데이터를 DB에 저장하는 실습을 하게 됩니다. 이때 3장..
기초적인 웹 서버 프레임워크 만들기 이번 실습에서는 프레임워크 없이 java의 기본적인 라이브러리로 이루어진 웹 서버를 바탕으로 책의 요구사항을 만들어보게 됩니다. 아무것도 없는 환경에서 하나씩 기능구현을 해보면서 자연스럽게 웹 프레임워크 혹은 java 웹 표준 기술들이 왜 필요하게 되었는지 느끼게 됩니다. 결국 여러 기능을 구현하다보면 자연스럽게 공통 처리 로직을 묶어서 관리하게 되는데 이게 프레임워크의 가장 기초 뼈대로 수렴하기 때문입니다! 요구사항 1 - http://localhost:8080/index.html로 접속시 응답 요구사항 2 - get 방식으로 회원가입 요구사항 3 - post 방식으로 회원가입 요구사항 4 - redirect 방식으로 이동 요구사항 5 - cookie 요구사항 6 -..
들어가며 https://rawshrimpsushi.tistory.com/30 자바 웹 프로그래밍 next-step을 읽고 1. 들어가며 실전적으로 리팩토링, OOP에 맞는 코드를 짜보는 경험을 하게 해주는 책은 흔치 않습니다. 이론적으로 객체지향을 접근하거나 여러 디자인 패턴들을 소개시켜주면서 코드를 짜는 책 rawshrimpsushi.tistory.com 위 글에서 작년 Best 책으로 꼽았던 자바 웹 프로그래밍 Next-step을 단원 별로 정리하겠다고 했는데 그 일환입니다. :) 모든 단원을 정리하지는 않을 예정이고 실습하면서 인상깊고 꼭 기록에 남기고 싶었던 단원들만 위주로 기록할 예정입니다. 2장 - 문자열 계산기 구현 뒤에 불지옥 리팩토링...이 기다리고 있는 것에 비해 정말 부드러운 내용으로..
1. 들어가며 프로젝트 시연 영상 안녕하세요. 저번 학기에 진행했던 프로젝트를 소개하는 글을 쓰고자 합니다. 저희가 만든 앱은 부모와 아이가 함께 캐릭터를 그리고 ai에 의해 애니메이팅 된 캐릭터를 추억으로 공유할 수 있는 앱입니다. 스마트폰의 등장으로 부모와 아이가 함께 보내는 시간은 줄어들고 가족으로써 추억을 쌓을 일도 적어지고 있다고 생각합니다. 이러한 상황에서 스마트폰 사용 자체를 막기보단 아이들에게 더욱 친숙한 기기를 통해 부모님과 소통하고 같이 시간을 보낼 수 있는 어플리케이션이 있으면 어떨까 하여 만들게 되었습니다. 2. 프로젝트 설명 앱의 전반적인 플로우는 위의 데모 영상을 참고해주시면 좋을 것 같습니다. 부모와 아이가 각각 스마트폰으로 방에 참가하여 동시에 캐릭터를 그리면, 해당 캐릭터를..
1. 들어가며 Spring의 진입 장벽에는 여러가지가 있을 것 같습니다. AOP, JPA 등 다른 프레임워크보다 어렵게 느껴질 것들이 많습니다. 다른 언어와 비교해도 Python Django의 ORM이 처음 접하고 CRUD를 다루기까지 시간이 얼마 걸리지 않는 것에 비해 Spring은 처음부터 알 수 없는 에러들과 싸움을 하는 경우가 많습니다. 물론 Django도 DRF와 여러 복잡한 쿼리를 사용한다면 복잡도가 더 올라가겠지만요! 하지만 익숙해진다면 그만큼 강력한 프레임워크라고 생각합니다. 그리고 무엇보다 Spring에는 가장 큰 메리트가 있는데, 김영한님의 강의가 있다는 점이라고 생각합니다. 주변 지인들과 프레임워크 얘기를 할 때 난 Django가 더 어려웠어~ 라고 해서 당황한 적이 있는데, 그분 말..
1. 들어가며 들은지 한 학기가 지나서 정리하는 김영한 스프링 MVC 1편 강의입니다. 오랜만에 정리하려고 살펴보면서 전체적으로 모두 복습도 해야했고 그 김에 2회독을 한 셈이 되었으니 오히려 좋다고 할 수 있을 것 같습니다..지금까지 세 개의 강의를 정리했는데 사실 강의 내용을 그대로 쓰는 것은 지양하고 있습니다. 강의 내용을 그대로 옮긴다면 김영한님께 죄송한 일이라 생각이 들고, 무엇보다 "직접 강의 듣기"라는 가장 좋은 방법을 두고 블로그 글을 볼 필요는 없다고 생각합니다. 이 글에서 다루고 있는 것은 강의에서 어떤 것을 가르쳐 주는지를 통해 들을 지에 대한 판단과, 추후 복습을 위해 정리한 것입니다! 2. 강의 내용 2.1 웹 어플리케이션이란? 한때 면접 단골 질문으로 알려졌던 것 중 하나가 웹 ..