반응형

web 82

Django 웹 프로젝트 만들기

▶ 가상환경 venv에 진입하여 first-django 디렉터리 내에서 실행함 ▶ django-admin : django에서 제공하는 프로젝트를 시작할 수 있도록 도와주는 명령어 ▶ django-admin startproject firstdjango . : django-admin 명령어를 통해 firstdjango라는 새로운 프로젝트를 .(현재 디렉터리)에 시작 ▶ dir : 디렉터리 확인 명령어 → firstdjango 프로젝트가 생성되었음을 확인 ▶ python manage.py runserver : 프로젝트 실행 명령어 → http://127.0.0.1:8000에 실행됨을 확인 ▶ http://127.0.0.1:8000에 접속한 모습

Django/inflearn 2022.09.15

Django 설치하기

▶ cmd 창을 열어 Virtualenv 셋업 작업을 시작 ▶ dir : 디렉터리 확인 명령어 ▶ cd Documents : Documents 디렉터리로 이동 ▶ mkdir projects : Documents 디렉터리 내에 projects 디렉터리 생성 ▶ cd projects : projects 디렉터리로 이동 ▶ pip install virtualenv : virtualenv 설치 → 파이썬 기반의 프레임워크나 라이브러리, 개발 툴들을 설치하기 전에 서로 다른 개발 환경 마다 프로그램 버전이 꼬이는 것을 방지하기 위해 python을 사용하는 개발 환경마다 분리하고자 virtualenv를 사용 → pip는 파이썬의 프로그램들을 간단한 명령어로 설치할 수 있도록 도와주는 프로그램 ▶ virtualenv..

Django/inflearn 2022.09.14

회원 서비스 테스트

▶ private final MemberRepository memberRepository = new MemoryMemberRepository() : 기존에는 회원 서비스가 메모리 회원 repository를 직접 생성하게 했음 ▶ 회원 repository 코드가 회원 서비스 코드를 DI(Dependency Insertion) 가능하게 변경함 private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; } ▶ src/test/java/hello.hellospring.service 패키지 아래 MemberSe..

Spring/inflearn 2022.08.25

회원 서비스 개발

▶ memberRepository.findByName(member.getName()).ifPresent(m -> {throw new IllegalStateException("이미 존재하는 회원입니다.");}) : memberRepository에서 이름을 찾아 존재한다면 "이미 존재하는 회원입니다." 출력 → IllegalStateException : 메소드를 호출하기 위한 상태가 아닐 때 사용 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMembe..

Spring/inflearn 2022.08.24

회원 repository 테스트 케이스 작성

▶ src/test/java/hello.hellospring.repository 패키지를 생성하고 MemoryMemberRepositoryTest 파일 생성 ▶ @AfterEach : 한번에 여러 테스트를 실행하면 메모리 DB에 직전 테스트의 결과가 남아 다음 테스트가 실패할 수 있는데, 이 문제점을 해결하고자 테스트가 종료될 때마다 기능을 수행하고 메모리 DB에 저장된 데이터를 삭제함 ▶ Assertions.assertThat(member).isEqualTo(result) : member에 저장된 값과 result에 저장된 값이 동일(참)한지 판단 package hello.hellospring.repository; import hello.hellospring.domain.Member; //import ..

Spring/inflearn 2022.08.23

회원 domain과 repository 만들기

비즈니스 요구사항 - 데이터 : 회원 ID, 이름 - 기능 : 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 회원 객체 ▶ hello.hellospring.domain 패키지 아래 Member 클래스 파일을 생성해 회원 객체 선언 package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() {..

Spring/inflearn 2022.08.22

API

@ResponseBody 문자 반환 ▶ @ResponseBody : HTTP의 body에 문자 내용을 직접 반환함 → viewResolver를 사용하지 않음 ▶ localhost:8080/hello-string?name=spring!!을 요청하면 hello 뒤에 name으로 입력한 spring!!이 출력됨 ▶ viewResolver와의 차이점 → 소스 코드를 확인 해보면 문자열 자체만 출력됨 @ResponseBody 객체 반환 ▶ @ResponseBody를 사용하고 객체를 반환하면 JSON으로 변환됨 ▶ Getter / Setter 단축키 : Alt + Insert package hello.hellospring.controller; import org.springframework.stereotype.Co..

Spring/inflearn 2022.08.21

thymeleaf 템플릿 엔진

컨트롤러에서 return 값으로 문자 반환 ↓ viewResolver가 화면을 찾아서 처리 ↓ 스프링 부트 템플릿엔진 기본 viewName 매핑 ↓ resources:templates/ + {ViewName} + .html ▶ main/java/hello.hellospring 아래 controller 패키지를 생성하고 HelloController 파일을 생성 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller ..

Spring/inflearn 2022.08.18
반응형