반응형

프로젝트 11

게시판 서비스 4 - 스프링부트로 프로젝트 시작

스프링부트 프로젝트 만들기언어 : Java빌드도구 : GradleJDK : Amazone Corretto 17Dependencies : Spring Boot DevTools, Lombok, Spring Web, Spring Boot Actuator 이제 스프링부트 프로젝트를 만들어서 개발을 시작해보자.Spring Initialzr 에서 프로젝트 셋업을 해준다.언어는 당연히 Java를 사용하고 빌드도구는 Gradle을 사용할 것이다.JDK는 아마존코레토 버전 17  Dependencies는Spring Boot DevToolsLombokSpring WebSpring Boot Actuator요렇게 4개만 우선 선택하고 프로젝트를 만들었다.  이렇게 스프링부트 프로젝트가 하나 만들어졌고, 밑에 보면 test도 ..

게시판 서비스3 - 유즈케이스, API 설계

유즈케이스(Use Case)는 시스템이 사용자와 상호작용하는 방식을 설명하는 것으로, 소프트웨어 개발의 요구사항을 구체화하는 중요한 단계입니다. -chat.GPT- 그렇다고 한다. 교육 초기에는 이게 뭔데 그림 그리는게 이리 중요한가 싶고 그랬었던것 같다.액터와 유즈케이스 간의 관계, 연관관계, 유즈케이스와 유즈케이스들 간의 관계 등등... 굉장히 헷갈렸고, 머리에 안들어왔고, 지금도 그렇다. 유즈케이스 작성 (UML 표준)연관관계(Association) : 액터와 유즈케이스 간의 관계표현 : 실선 포함관계(Include) : 한 유즈케이스가 다른 유즈케이스의 동작을 포함하는 경우표현 : 점선 + > 라벨방향 : 포함하는 유즈케이스에서 포함되는 유즈케이스로 화살표로그인 ----->-----▶ 인증게시글 ..

게시판 서비스2 - 깃 허브 프로젝트 생성, 깃 브랜치 전략

깃허브 신규 레포지토리 생성 신규 레포지토리를 생성하는것은 몇개월만이다.레포지토리 이름을 설정하고, 설명도 간략하게 추가하고.Public으로 만들고,README 파일은 나중에 뭐 하든말든 하는걸로하고,그리고 gitignore은... 여기서 Java로 설정해서 기본 템플릿을 지정해줘도 되는데,gitignore.io 라는 걸 사용하면 쉽다고 한다.오랜 기간동안 쌓여온 gitignore 템플릿 파일을 자동으로 생성해주는 서비스라고 한다. 아무튼 저렇게 레포지토리를 새로 만들어서, 깃크라켄을 통해서 레포지토리를 연동하고 관리를 하는걸 알려주고 있는데 강의에서... 깃크라켄은 역시 처음 사용해봐서 그런지 조금 생소하다. Git Issues 업무들을 작성하는 이슈란... 그래 그랬던것 같다.이슈들을 지정해서, 뭐 ..

게시판 서비스 1 - 개발 환경, 개발 목적, 필요기술

패스트 캠퍼스 '10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 초격차 패키지' 라는 거창한 이름의 온라인 강의를 하나 수강하게 되었다.  다른 건 모르겠고 제일 만만한(?) 게시판 서비스부터 차근차근 강의를 따라가 보기로 하였다. 게시판... 1월 쯤에 도저히 웹 애플리케이션을 만드는 구조가 이해가 안가서, 와닿지가 않아서 혼자서 대여섯번 만들어보았던 터라 그나마 익숙하고,그리고 사실 모든 프로젝트의 기본형이 되는 뭔가 그러한 그러한것이 아닐까, 하는 마음에. 아무튼 나는 지금 프로젝트 수행했던것도 기억이 희미해져가고 있는 시점이기 때문에, 최대한 세세히 강의 내용을 정리하면서 프로젝트도 만들어보도록 할까 한다. 게시판 서비스에 관련한 강의가 심화적인 개발 내용까지 포함하면 대략 49시..

실시간 식당 예약 프로그램 - 엑셀에서 데이터베이스로 넣기 + 테이블간 image_url 옮기기

식당 더미 데이터를 800개 정도 만들어두었었는데, 데이터의 출처는 서울시 열린데이터광장의 공공데이터였다.그곳에서 식당 이름과 주소, 연락처 등은 가져올 수 있었지만 이미지는 제공하지 않아서 가져올 수가 없었다.그래서 이미지를 수백장 정도 만든 다음 이미지 url을 해당 컬럼에 넣어주는 작업을 해놨었는데,팀원의 실수로 데이터베이스가 날아갔다고 한다. 해서 식당 테이블을 다시 채워넣어야했는데, 이미지url 컬럼은 varchar로 해두었는데, 자동으로 채울 수가 없었다.쿼리문을 작성하면 되지만 어차피 url 800개를 입력해서 쿼리문을 만들어야 하는데 그렇게 하는거나 직접 값을 집어넣는거나 비효율적이긴 매한가지라... 그래서 생각해낸 방안...을 공유코자 한다. 엑셀에서 데이터베이스로 옮기기우선 이미지 UR..

실시간 식당 예약 프로그램 - 네이버 Clova Sentiment 리뷰 감정 분석

기존에 구현하고자 했던 기능 구현을 마치고서 시간이 좀 남아서,챗봇을 두들겨볼까 하다가 고난이도에 주춤하고 리뷰에 대한 감정 분석 기능을 추가해보기로 하였다. 이역시 네이버 클로바에서 제공하는 Sentiment 서비스를 이용하여서 구현하였다. String 파라미터의 감정을 분석해주는 analyzeSentiment(String content)라는 메소드를 구성하였다.해당 메소드에 review의 content를 적용하여 리뷰의 감정을 분석하여 평가함→Positive, Negative, Neutral{ "document": { "sentiment": "negative", "confidence": { "neutral": 0.14525136640572725, ..

실시간 식당 예약 프로그램 - S3를 이용해서 이미지 처리하기

ncp를 이용해서 서버를 띄우는데, 이미지를 처리할 때 s3라는 스토리지 서비스를 이용해야 한다고 했다. S3Amazon S3로, aws에서 제공하는 객체 스토리지 서비스라고 한다.확장성, 내구성, 가용성, 강력한 보안 기능 등의 특징을 가지고 있다. 기본적으로 객체를 버킷(s3 bucket)에 저장한다. 각 객체는 고유한 key로 식별한다. 내가 맡아서 구현한 기능들 중에서는 식당 정보를 수정하는 메소드에서 사용했다. @PutMapping("/{restaurant-id}") public ResponseEntity updateRestaurant( @PathVariable("restaurant-id") Long id, @RequestPart("restaurant..

실시간 식당 예약 프로그램 - 프로젝트 구조 만들기

본격 프로젝트 시작백엔드는 intelliJ 에서, 프론트엔드는 vsCode에서 작업하기로 하였다.별다른 이유는 없고 배울 때 그렇게 배워서. 이번 프로젝트에서는 제시된 개발 환경이 있었다. 서버스프링부트JPA(하이버네이트) 클라이언트vue.jsajax를 사용하여 통신 데이터베이스MySQL 프론트 프로젝트 구조 만들기GPT한테 물어보거나 구글을 레퍼런스 해보면, 백엔드 개발 후 프론트엔드를 작업하라고 하는게 일반적인것 같다.하지만 교육 과정 중에 강사님께서 화면 설계 후 화면에 맞춰서 서버 개발을 하는게 더 쉬울 것이라며 그렇게 배웠고, 실제로도 그게 더 쉽게 느껴져왔기 때문에 우리팀은 클라이언트부터 설계하기로 하였다. 지난 2차 프로젝트 때 별다른 템플릿을 사용하지 않고 직접 UI를 만들었었는데, 나름 ..

실시간 식당 예약 프로그램 - 개발 단계 정리

나도 그렇고, 우리 팀원들도 그렇고 이러한 프로젝트에 대한 경험이 전무하고 지난 서브 프로젝트들의 경우 그저 팀원으로서 팀장이 짜주는 구조에 단순히 코드나 짜넣는 수준의 작업만 맡아서 하였으니, 직접 프로젝트를 구성하고 하는 일엔 서툴렀다.그래서 단계별로 목록화 해서 차근차근 진행해보기로 마음먹고 우선 to do list 를 만들어보기로 하였다. 백엔드 개발 (스프링부트 & JPA)단계 1: 프로젝트 설정스프링부트 프로젝트 초기화: Spring Initializr(https://start.spring.io/)를 사용하여 프로젝트를 생성. 필요한 의존성으로 'Spring Web', 'Spring Data JPA',  등을 선택.단계 2: 데이터 모델 구성엔티티 생성: 예약(Reservation), 식당(R..

반응형