지난 웹 페이지 만들기 - 1 (복습)에 이어서 상품 상세 페이지와 상품 등록(add) 그리고 상품 수정(edit) 페이지를 만들어봤다. 코드를 다시 들여다보면서 강의를 제대로 이해했는지(?) 나름대로 어떤 과정이 되는지 이해한대로 작성했다.. ^^.. 6. 상품 상세 페이지와 상세 등록 폼의 컨트롤러와 뷰 템플릿을 작성한다. 컨트롤러 전체 코드 → web/item/ItemController.java 더보기 package magazink.re.web.item; import lombok.RequiredArgsConstructor; import magazink.re.domain.item.Item; import magazink.re.domain.item.ItemRepository; import org.spri..
스프링 메세지 설정 중 메세지 프로퍼티(message.properties) 파일에 한글 설정 후 한글이 깨지는 오류 (인코딩 오류) 원인 메세지 프로퍼티(message.properties) 파일의 인코딩 설정이 잘못된 것 📌 해결 방법 (window 기준 단축키 Ctrl+Alt+S) File - Settings - Editor - File Encodings 에서 UTF-8 설정 후 Apply 인코딩 설정 후 서버를 재시작하면 메세지 프로퍼티에 작성한 한글이 알맞게 출력되는 것을 확인할 수 있다.
기술 면접에서 자주 등장하는 질문 중 '웹 브라우저에 구글을 검색하면 어떤 일이 벌어지나요?'를 쉽게 이해할수 있게 정리해 봤다. (참고로 깊이있는 정리글이 아니다.) (면접 때 이 질문을 받았는데.. ^^.. 답변을 잘하지 못했기 때문에 자기반성 겸 개념을 다시 정리하기로 했다.) 1.사용자가 웹 브라우저의 주소창에 "구글" 또는 "www.google.com"과 같이 구글의 도메인 주소를 입력한다. 2. 사용자가 입력한 도메인 주소를 바탕으로 브라우저는 먼저 로컬 DNS 캐시에 저장된 DNS 레코드를 검색한다. 3. 저장되어있는지 확인을 한 후 없으면 DNS(Domain Name System) 서버를 통해 구글의 IP 주소를 알아낸다. 4. 브라우저는 알아낸 IP 주소를 바탕으로 구글 서버에 HTTP ..
이번에는 인프런에서 수강한 스프링 강의를 토대로 간단한(?) 웹 페이지 만들기를 복습하면서 프로젝트에 기능들을 추가해 볼 예정이다. 그동안 공부했던 '초보 웹 개발자를 위한 스프링 5 프로그램 입문' 책의 스프링과 스프링 강의(인프런) 내용은 전체적인 결은 비슷하지만 인프런 강의가 최근이고 그에 맞게 트렌드도 최신이기 때문에 책보단 강의를 먼저 보는 게 더 좋을 것 같다. 1. 스프링 부트 프로젝트를 생성 스프링 부트 스타트 사이트를 사용하여 프로젝트를 만들어본다. (최근 실무에서는 Maven보다 Gradle을 사용한다고한다.) ※ 스프링이 버전 업 되면서 validation을 따로 dependencies에 추가해야 한다. 2. 프로젝트 열고 서버 정상 작동 확인하기 프로젝트를 열어 서버가 정상 작동하는..
Unit Test 작성 처음 만들어본 프로젝트를 리펙토링 하면서 구현했던 기능에 대해 테스트 코드를 작성해 보면서 어떤 방법으로 테스트 코드를 작성하는지 알아보았다. 장고 공식 문서를 살펴보면 친절하게 테스트 코드에 대해 작성해야 하는 이유, 작성 방법, 실행 방법, 버그 수정 방법을 안내해주고 있는데, 설명이 부족한 부분은 모질라를 보고 참고했다. Test의 종류는 3가지가 있지만 가장 작은 단위 테스트인 유닛 테스트(Unit test)를 작성하여 class 함수 단위로 작성했다. TestCase 기본 클래스 (django.test.TestCase) 이 테스트 클래스는 테스트가 실행되기 전에 하나의 데이터베이스를 생성하고 모든 과정을 테스트 한다. class YourTestClass(TestCase):..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 날짜를 이용한 회원 검색 기능과 회원 리스트를 볼 수 있는 뷰 구현 회원 가입 일자를 기준으로 검색하는 기능과 @PathVariable를 이용한 회원 조회 구현을 하면서 발생하는 익셉션처리까지 chap 14에서 다뤄본다. (Django에서 구현했던 패스 파라미터, 쿼리파라미터 구조랑 비슷한듯 복잡(?)한 것 같다.) 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap14 프로젝트 폴더 생성 + chap13의 src 파일 복붙 + chap13의 pom.xml 복붙 후 14로 변경 이클립스에서 sp5-chap14 폴더에 생성한 메이븐 프로젝트 import 1. MemberDao 클래스에..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 🍪 컨트롤러에서 쿠키 사용하기 사용자 편의를 위해 아이디를 기억해 두었다 다음 로그인할 때 아이디를 자동으로 넣어주는 이런 기능을 구현할 때 쿠키를 사용한다. 이번에는 이전 예제에 이어서 쿠키를 이용해서 로그인 시 이메일 기억하기 기능을 추가했다. 이메일 기억하는 기능을 구현하는 방식 - 로그인 폼에 '이메일 기억하기' 옵션 추가 - 로그인 시 '이메일 기억하기' 옵션을 선택했으면 로그인 성공 후 쿠키에 이메일 저장 (이때 쿠키는 웹 브라우저를 닫더라도 삭제되지 않도록 유효시간을 길게 설정한다) - 이후 로그인 폼을 보여줄 때 이메일을 저장한 쿠키가 존재하면 입력 폼에 이메일을 보여준다 1. l..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 비밀번호 변경 기능 구현 chap13 예제에 추가로 비밀번호 변경 기능을 추가하기 위해 1번부터 7번까지는 기능 구현을 위한 코드를 작성했고, 8번 부터 컨트롤러에서 로그인 상태를 유지하는 HttpSession를 사용한 코드를 변경하면서 작업했다. 옳지않은 경로로 바로 접속 시 어떻게 리다이렉트하는지 살펴봤다. 1. 비밀번호 변경에 사용할 커맨드 객체를 작성한다. 비밀번호를 변경할 때 현재 비밀번호와 새 비밀번호를 입력받도록 구현하므로 currentPassword와 newPassword 두개의 파라미터가 필요하다. → sp5-chp13/src/main/java/controller/ChangePw..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) chap13에서는 세션, 인터셉터, 쿠키에 대해 공부한다. 이번 글에서는 세션(HttpSession) 적용하는 방법을 선행해 보았다. 로그인 기능을 이용하기 때문에 1번부터 9번까지는 로그인 기능 및 뷰를 만들고 10번부터 컨트롤러에서 로그인 상태를 유지하는 HttpSession를 사용한 코드를 변경하였다. 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap13 프로젝트 폴더 생성 + chap12의 src 파일 복붙 + chap12의 pom.xml 복붙 후 13로 변경 이클립스에서 sp5-chap12 폴더에 생성한 메이븐 프로젝트 import 1. 로그인 성공 후 인증 상태 정보를 ..
🍃 스프링 프로젝트를 생성할 때 스프링 부트 스타터 사이트를 사용하여 프로젝트를 생성한다. Project → Gradle (Gradle로 넘어오는 추세이기 때문에 권장) Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다 Language → 개발 언어 선택 Spring Boot → SNAPSHOT, M1 같은 미정식 버전을 제외한 버전 선택 ※ 스프링 부트 버전 3.0 이상은 JAVA 17 이상 사용해야 한다. Project Metadata Group → 도메인명 (보통 기업 도메인 명을 사용하나 개인 프로젝트는 자유롭게 기입한다) Artifact → 빌드될 때 나오는 결과물 Name → 프로젝트명 Description → 프로젝트 설명 Package name → 패키지명 Packaging →..
- Total
- Today
- Yesterday
- Spring
- authenticate()
- Magazine K
- API
- django.contrib.auth
- Python
- 웹페이지
- 톰캣
- Django tutorial
- 면접을 위한 CS 전공 지식 노트
- 암호화
- 검색 결과 내 페이지네이션
- 커맨드 객체
- Java
- 회원 로그인
- git
- 디자인 패턴
- git 공부
- 배열
- git공부
- 한글 형태소 분석기
- django-environ
- django
- 혼자 공부하는 파이썬
- python3
- musma
- path variable
- error: failed to push some refs to 'https://github.com/
- 환경 변수 설정
- 회원가입
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |