my code archive
my code archive
article thumbnail
스프링부트 공부기록(8) - 게시판 프로젝트 :: 머스테치 사용, 게시판 글 등록 구현하기

지난번 포스팅에서 머스테치를 사용하여 첫 페이지까지 만들었다. 이제 만들어둔 머스테치에 URL을 매핑해야 한다. 1. IndexController 클래스 작성 머스테치 스타터 덕분에 컨트로러에서 문자열 반환 시 앞의 경로와 뒤의 파일 확장자는 자동으로 지정됨. 앞의 경로는 src/main/resources/templates , 확장자는 .mustache 로 전환되어 View Resolver가 처리하게 됨. 2. IndexControllerTest 클래스 작성 테스트 통과 🤍게시판 글 등록 화면 만들기 :: 부트스트랩 활용 1.레이아웃 파일 만들기 header.mustache footer.mustache 페이지 로딩 속도를 높이기 위해 css는 header, js는 footer에 위치함. HTML은 위에서..

article thumbnail
스프링부트 공부기록(7) - 머스테치(Mustache) 화면 구성하기

🤍서버 템플릿 엔진이란? 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 이야기함. JSP, Freemarker - 서버 템플릿 엔진 / 리액트, 뷰 - 클라이언트 템플릿 엔진 서버 템플릿 엔진은 서버에서 구동됨. 서버 템플릿 엔진을 이용한 화면 생성은 서버에서 Java 코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달함. 반대로 자바스크립트는 브라우저 위에서 작동하기 때문에 뷰,리액트를 이용한 SPA는 브라우저에서 화면을 생성함. 서버에서는 Json, Xml 형식의 데이터만 전달하고 클라이언트에서 조립합. 🤍머스테치란? 머스테치는 루비, 자바스크립트, 파이썬, PHP, 자바 등 현존하는 대부분 언어를 지원하는 가장 심플한 템플릿 엔진임..

article thumbnail
스프링부트 공부기록(6) - JPA Auditing으로 생성 시간/수정시간 자동화하기

보통 웹 개발을 할 때 해당 데이터의 생성 시간, 수정 시간을 포함한다. 이번 쇼핑몰 프로젝트를 진행할 때에도 상품 등록 날짜, 수정 날짜가 포함되어 있었다. 이처럼 언제 만들어졌고 언제 수정되었는지 등은 차후 유지 보수에 있어 굉장히 중요한 정보이기 때문이고 매번 DB에 삽입하기 전, 갱신하기 전에 날짜 데이터를 등록/수정하는 코드가 여기저기 들어가게 된다. Java8이 나오기 전에는 Data, Calendar 클래스를 사용했지만 몇 가지 문제점이 있었고, 이제는 Java8 이후부터 LocalDate, LocalDateTime을 사용할 수 있다. 🤍1. BaseTimeEntity 클래스 생성 모든 Entity의 상위 클래스가 되어 Entity들의 createdDate(생성 날짜), modifiedDat..

article thumbnail
스프링부트 공부기록(5) - 게시판 프로젝트 :: Dao 도메인 패키지, 글 등록, 수정, 조회 JPA 어노테이션, 테스트 코드 작성

domain 패키지 : 도메인을 담을 패키지, 여기에서 도메인이란? 게시글, 댓글, 회원, 결제 등 소프트웨어에 대한 요구사항 혹은 문제 영역에 해당됨. 기존 MyBatis에서 dao 패키지 역할과 비슷함. 단, 기존에는 xml에 쿼리를 작성하고 클래스에서 쿼리의 결과를 담았다면 이제 모든 것이 도메인 패키지에서 해결됨. Web, Sercice, Repository, Dto, Domain 5가지 레이어 중 비지니스 처리를 담당할 곳이 바로 Domain. 기존에는 모든 로직이 서비스 클래스 내부에서 처리됐기 때문에 서비스 계층이 무의미했으나 도메인 모델에서 처리할 경우 각자 본인의 이벤츠 처리를 하며 서비스 메소드는 트랜잭션과 도메인 간의 순서만 보장해 준다. 테스트 코드 작성 패키지 구조 🤍1. Post..

article thumbnail
스프링부트 공부기록(4) - JPA로 데이터베이스 다루기

12월 중순부터 2월말까지 열심히 학원 팀프로젝트를 진행했다. 진행하면서 느낀 점은 웹 개발과 DB가 정말 뗄레야 뗄 수 없는 관계구나...생각했다...ㅎㅎ 코드 한줄 한줄 짜는 것만큼 쿼리문 한줄 한줄 짜는 것도 정말 어렵고 복잡했는데 스프링부트에서는 JPA라는 새로운 데이터베이스 기술을 사용하고 있다고 한다. 쿠팡, 우아한형제들 등 자사 서비스를 개발하는 곳에서는 SpringBoot&JPA를 전사 표준으로 사용하고 있다고 한다. 🤍JPA란? 기존 데이터베이스 방식은 객체지향 프로그래밍에서 조금 벗어난, 데이터베이스 모델링에만 집중하는 방향이었다. JPA는 이런 문제점을 해결하기 위해 등장했다. 관계형 데이터베이스 - 객체지향 프로그래밍 언어 2개 영역을 중간에서 패러다임 일치를 시켜주기 위한 기술. ..

article thumbnail
스프링부트 공부기록(3) - 롬복 사용하기

🔍롬복이란? 자바 개발 시 자주 사용하는 코드 Getter, Setter, 기본생성자 등을 어노테이션으로 자동으로 생성해줌. 인텔리제이에서는 플러그인 덕분에 쉽게 설정이 가능함. 1. build.gradle에 라이브러리 추가 implementation('org.projectlombok:maven-lombok-plugin:0.9.3.1') 2. Lombok 플러그인 설치 3. 롬복에 대한 설정 - settings - Annotation Processors - Enable annotation processing 체크 4. Dto 패키지 추가 4. 앞서 작성한 코드를 롬복 코드로 변경하기 위한 HelloResponseDto 생성 큰 규모의 프로젝트라면 롬복 전환이 어렵지만 테스트 코드 덕분에 쉽게 변경이 가능..

article thumbnail
노드&리액트 공부기록(5) - Body-parser, Postman 이용하여 회원가입 만들기

🤍Body-parser란? node.js의 Post 요청 데이터를 추출할 수 있도록 만들어주는 미들웨어. body-parser를 사용하게 되면 req에 body 프로퍼티를 사용할 수 있다. vscode 터미널에 아래 명렁어를 입력하고 설치해 준다. npm install body-parser --save 🤍회원가입 만들기 1. 지난번에 만들어둔 User 스키마를 가져와서 회원가입에 활용한다. 2. 데이터를 json 형태로 send할 것이고, 회원가입 성공하면 success:true 라고 출력. 3. Postman을 다운받는다. 4. 아래 화면에서 GET이 아닌 POST로 변경한다. 5. raw, json으로 선택하고 회원가입에 필요한 정보를 입력한다. 6. User 스키마에 필수값을 주지 않았기 때문에 모..

article thumbnail
노드&리액트 공부기록(4) - SSH 이용해 Github 연결하기

1. git --version 명령어를 쳐서 git이 설치되어 있는지 확인. 나는 이미 설치되어 있어서 설치 과정은 생략. 2. git init 명령어로 저장소를 만들어 준다. 3. git add . -> git statsus를 치면 node_modules로 인해 커밋해야 하는 너무 많은 파일이 나온다. 4. 그래서 node_modules는 제외하고 커밋하기로 한다. 5. git commit -m "커밋 메시지" 까지 해주면 완료이지만 Github에 올리기 전에 좀더 안전하게 올릴 수 있도록 SSH를 생성해 주어야한다. 6. 먼저 Github에 repository를 만들고, 7. cat ~/.ssh/id_rsa.pub 명령어로 SSH가 생성되어 있는지 확인. 나는 생성되어 있지 않아서 새로 생성해 주었다..

반응형
반응형