본문 바로가기

프로젝트 관련15

React: react-router-dom:v6에서 경로 설정 및 PathVariable(경로 변수) 가져오기 과거 프로젝트를 진행할 때 react-router-dom을 v5를 주로 사용했었다.하지만 새로운 프로젝트에서 버전을 따로 등록하지 않고 설치 시 v6으로 설치되어 v5와 다른 부분들 때문에 시간을 뺐긴 경험이 있다.간단하게 경로 설정, PathVarible(경로 변수)를 어떻게 가져오는지 비교해보자. 우선 v5에서다. // App.jsimport React from 'react';import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';import Home from './Home';import Profile from './Profile';function App() { return ( .. 2023. 6. 10.
sprigboot 프로젝트 진행중 리펙토링 적용 개발을 하는데 있어서 가장 중요하고 자주하는 것이 리펙토링이라 들었다. 지금 작성한 코드가 다른 사람이 볼때 충분히 가독성이 있을지, 객체지향적인 방식을 잘 활용하고 있는지를 확실치 못하고 있었다. 면접을 위한 cs전공지식노트(주홍철)에서 디자인 패턴 중 펙토리 패턴과 전략 패턴에 대해서 적용해보고자 리펙토링을 하게 되었다. 위 패턴들을 적용하려는 이유는 현재 진행중인 프로젝트 중 findArticles가 하나의 메서드로 되있지만 public, private, grouped에 따라 구분을 해야한다. 하나의 메서드로 3개를 경우에 따라 구분을 하는 것보다는 3개의 메서드로 가독성을 향상시키는 것이 좋다고 생각하였기 때문이다. 하지만 이 패턴들을 findArticleService에 막연히 적용하기에는 상당히.. 2023. 4. 1.
Postman API를 통한 API 문서 작성 백엔드 담당으로 팀 프로젝트를 담당하다보면 api를 만들고 프론트한테 api에 대한 것들을 설명해야 할 경우가 많다. 항상 노션이라던가 구두로 이건 어떻게 저건 어떻고 등 설명을 해왔는데 시간도 오래걸리고 프론트단이 한번에 이해못하는 경우가 많았다. 이를 어떻게 해야하나 고민하던 도중 'API문서'라는 것을 알게되었고 적용한 내용을 작성해보고자 한다. 어떤 api는 body안에 어떤 데이터를 제공해야하고 헤더는 어떻고 queryString과 pathVariable은 어떤지, 더욱이 response때 데이터나 헤더는 어떤지 API 유형은 어떤지 등 프론트 단에서는 모든 정보가 다 궁금할 것이다. 정보를 확실히 알아야 적용을 할 수 있으니까 말이다. 그렇기에 백엔드 단에서는 정보들을 문서화에서 제공을 해주는.. 2023. 3. 12.
AWS RDS를 통한 관계형 데이터베이스 구축 및 springboot 연동 들어가기 프로젝트를 진행함에 있어서 가장 중요한 것 중 하나는 데이터베이스이다. 간단히 로컬에서 프로젝트를 진행할 때는 h2를 사용하였고 배포까지 진행할 때는 배포서버 내부에 mariaDB를 설치하여 데이터를 삽입하였다. 그렇다면 aws 프리티어를 사용하고 있을 때는 어떻게할까? 프리티어로 진행한 서버는 내부 용량이 적기 때문에 데이터베이스 크기도 작을 수 밖에 없고 한눈에 데이터들을 파악하기도 힘들다. 그리고 배포 서버에 문제가 생기면 데이터베이스에 접근할 수 없다는 문제도 있다. 이럴때 유용한 것이 aws rds이다. aws rds는 aws에서 rds 전용 서버를 제공을 해주는 서비스이다. 즉, 배포서버에서 데이터를 rds 서버로 저장을 시켜서 데이터를 굳이 배포서버에 저장할 필요가 없어진다. 배포서.. 2023. 2. 22.
Jenkins를 활용한 React, Springboot CI,CD 구현(2) 들어가기 이 글은 Jenkins를 활용하여 React, Sprongboot를 배포하는 CI, CD를 구현하는 과정을 작성한 글이며, CD에 중점을 두어 작성하였다. 이전 내용은 아래의 주소를 참고하길 바란다. https://khdscor.tistory.com/67 aws jenkins(docker)를 활용한 react, springboot CI,CD 구현(1) 팀 프로젝트를 진행하다가 개발회사에 다니시는 분께서 개발 회사에서는 본격적으로 개발하기 전에 테스트 서버라는 것을 만들어서 디자이너, 기획 등 다같이 프로젝트 현황을 볼 수 있도록 한 khdscor.tistory.com Jenkins를 통한 CD 1. Jenkins 설정 이전 글까지 자동 빌드를 구현하였다. 이제 남은 것은 자동 배포이다. reac.. 2023. 1. 21.
Jenkins를 활용한 React, Springboot CI,CD 구현(1) 들어가기 팀 프로젝트를 진행하다가 개발회사에 다니시는 분으로부터 들은 얘기가 있다. 회사에서는 본격적으로 개발하기 전에 테스트 서버라는 것을 만들어서 디자이너, 기획 등 다같이 프로젝트 현황을 볼 수 있도록 한다고 하셨다. 확실히 다른 사람들도 모두 개발 현황을 볼 수 있어야 한다고 생각을 하기에 앞으로는 차후를 위해 프로젝트마다 테스트 서버를 항상 구현할 생각이다. 그리고 이를 위해서는 CI,CD 가 이뤄져있어야 편하게 진행을 할 수 있다고 생각한다. 이 글은 인터넷을 찾아보며 CI,CD 구현을 하고 내 생각에 맞춰 작성한 글이다. CI, CD에 대한 개념이 궁금하다면 https://seosh817.tistory.com/104 를 참고하길 바란다. [CI/CD] CI/CD란? - 지속적 통합(Conti.. 2023. 1. 18.