본문 바로가기

프로젝트 - Kupica/개발 과정9

[project-kupica] spring security 도입, use case 작성 현황 및 use case 생각할 부분 현황 및 use case 익명사용자 위주의 시스템은 구성이 되었습니다. 따로 허가와 인증 없이 관리자 페이지를 만드는 것은 위험하다 생각하여 관리자 페이지를 만드는 것이 미루다 보니 악의적인 공격 행위에 대해 빠르게 대처하기 힘들다는 점을 인식하게 되었습니다. 현재 게시글 관련 서비스가 잘 동작하고 있고 API 문서도 많이 만들어져 지금이 spring security를 적용해 보안적인 부분을 보완하자는 결론에 이르렀습니다. 그래서 가장 먼저 시도한 것이 회원, 비회원, 관리자의 사용자 권한이 나뉨으로 기존 게시글 서비스에 어떠한 변화가 생길 것인가를 use case로 표현하였습니다. 생각할 부분 보안이라 함은 web, 데이터 종속성 관련 라이브러리 만큼이나 핵심적인 .. 2023. 8. 13.
[kupica v1.1.0] 정규화와 post 테이블 분리 v1.0.3 ERD 정규화 post 테이블 분리 (post, image) v1.0.3 ERD 정규화 현재 Kupica 서비스는 게시글 당 하나의 사진만 등록할 수 있습니다. 따라서 후보키로는 post_id, source, cached_image_url, download_key가 있습니다. 이 중에서 post의 유일한 식별을 의도한 속성인 post_id를 기본키로 채택하였습니다. 제 1 정규화를 따졌을 때 속성명이 중복되지도 않고 모든 튜플들의 속성값에는 atomic한 단일값들이 들어가게 되어있습니다. 제 1 정규화에는 문제가 없어 2 정규화로 넘어가겠습니다. 제 2 정규화를 따졌을 때 후보키가 non prime atrributes인 pasword, caption, earsed_flag, created_d.. 2023. 7. 18.
[kupica v1.0.3] ERD (수정) 수정 caption -> nullable eraseFlag -> erasedFlag created_at -> created_date_time updated_at -> updated_date_time ERD 앞으로 일정 앞으로 추가될 회원, 댓글, 추천 등의 기능에 따라 테이블이 확장될 전망입니다. JPA에 대한 더 깊은 공부가 필요하다 느낍니다. tool : drawio 긴 글 읽어주셔서 감사합니다. 부족한 점이 있다면 부디 알려주시면 감사하겠습니다. 2023. 7. 11.
[kupica v1.0.3] AWS 아키텍처 AWS 아키텍처 릴리즈 과정 v1.0.0 ~ 1.0.2를 거치고 정식 출시에 성공하였습니다. 인프라로는 AWS를 사용 중입니다. 지금까지 AWS 아키텍처를 도표로 나타내었습니다. 사용된 아이콘들은 AWS 공식 사이트를 통해 얻었습니다. https://aws.amazon.com/ko/architecture/icons/ AWS 아키텍처 아이콘 아키텍처 다이어그램은 설계, 배포, 토폴로지에 관해 커뮤니케이션할 수 있는 유용한 방법입니다. 이 페이지에서 다이어그램을 구축하는 데 도움이 되는 AWS 제품 아이콘, 리소스 및 기타 도구가 aws.amazon.com 읽어주셔서 감사합니다. 부족한 점이 있다면 부디 알려주시면 감사하겠습니다. 2023. 7. 10.
[Kupica] 2023.06.01 일자 현황 현황 생각할 부분 앞으로 일정 현황 많은 부분에서 준비가 끝나가고 있습니다. 서비스 자체는 정상적으로 동작하나 디자인적으로 부족하고 예상치 못한 잔버그도 존재합니다. 사진마다 가로 세로의 비율이 다르니 그에 따른 템플릿을 따로 생성하려 합니다. ex) 그런데 사진 중 일부는 다음과 같이 가로가 더 긴데도 이러한 템플릿을 가집니다. 이미지의 가로와 세로가 더 긴 차이를 클라이언트 쪽 코드에서 판단을 하고 해당되는 요소를 만들게 구현하였습니다. 이러한 현상이 새로고침을 해서 새로 사진을 얻어올때마다 결과가 달라집니다. 이 부분에서 아직 버그가 잡히지 않습니다. 그리고 또 다른 문제로는 현재 aws 프리티어 모델들을 통해서 서비스를 운영하는데 질 좋은 사진을 다루자는 목표에 사진의 질을 지키려하니 사진 한 장.. 2023. 6. 1.
[kupica] 23.05.22 일자 현황 현황 생각할 부분 앞으로 일정 현황 전체적으로 서비스 준비를 마쳐가고 있습니다. 도메인도 하나 구매하여 aws의 리눅스 서버와 연결하였습니다. 하지만 생각보다 잔버그도 많고 디테일하게 개발해야하는 부분도 많이 남아있습니다. 현재까지 CRUD 중점적인 굵직한 로직은 다 구현되었고 product 환경에서도 문제 없이 동작을 합니다. 생각할 부분 서비스를 개발하면서 배포를 공부하니 생각보다 복잡한 부분이 많았습니다. springboot에선 여러 application 파일을 둬서 각 환경에 맞게 환경을 구성할 수 있습니다. 아직 배포에 대해 깊이있게 공부는 못하였지만 완전 자동화 방식으로 돌아가게 한다는 글을 읽은적이 있습니다. 그런 부분을 고려하며 github에 소스를 올리니 github에는 어떤 환경을 기준.. 2023. 5. 22.
보안에 민감한 문서 (application.yml) 윈도우환경에서 리눅스(ubuntu) 서버로 전송하기 (pscp 사용) 발단 정리 의견 발단 최근 서비스를 리눅스 서버에 (aws ec2) 배포를 하려하는데 실수로 aws 키 정보를 같이 github에 올려버렸습니다. 오래지나지 않아 aws쪽으로부터 key 유출에 대한 피드백 메일이 왔습니다. 정확히는 aws key 정보가 있는 application.yml 파일을 github에 push해버려서인데 그래서 이 부분을 개선하기 위해 방법을 모색하여야했습니다. 정리 환경 OS : windows 10 Home 22H2 PowerShell 버전 : 5.1.19041.2673 Linux Ubuntu (aws ec2) : 22.04 제가 채택한 방법으로는 application.yml 같은 보안적인 요소가 중요한 설정파일들을 리눅스 서버로 직접적으로 통신해 전달하는 것 입니다. 이 중에도.. 2023. 5. 19.
[Project Kupica] 기능 정리, 데이터베이스 설계. ERD 기능 정리 kupica는 흔하게 볼 수 있는 사진공유 서비스입니다. 그래도 다른 차별점이 있다면 캠퍼스내 사진을 모아보기 힘든 교내 환경을 대상으로 해결해보고자 하였고, 익명 사용자들 또한 수용하여 아주 쉬운 접근성을 제공하는 것에 두었습니다. 아직 개발단계이기는 하나, 정해진 기능으로는 1. 사진을 업로드, 수정, 삭제 등의 기능이 있습니다. 2. 게시된 사진을 메인화면에서 볼 수 있으며, 사진을 클릭 시 모달창이 나와 댓글 등을 작성할 수 있습니다. 현재까지 구상해둔 기능은 이 정도이며, 앞으로 추가적인 기능을 더해갈 생각입니다. ERD 생각해봐야할 점 익명 사용자를 수용한다는 점을 고려하여 DB를 설계하는 것이 어려웠습니다. DB를 설계한다는 것이 처음이기도 하였으며 DB 모델링에 대한 지식 조차 .. 2022. 9. 29.