프로젝트/게시판 프로젝트12 [리펙토링] Session을 통한 로그인 처리 로그인 리펙토링..현재는 HttpSession을 사용하여, 세션이 있는지 없는지에 대한 값만 확인 후 로그인 처리를 진행하고 있으며,URL Mapping 에서 로그인 아이디를 통한 맵핑과정에서 사용자를 변경하면 있는 오류를 Interceptor에서 처리하고 있다. 여기서 문제는 사용자변경건에 대해서는 Interceptor로 방지하였지만 근본적인 해결책이 되지 않았다.. 그렇다면 내가 왜 그렇게 로직을 구성하였는가에 대해서 생각해보면,회원정보의 조회를 URL에서 간단하게 사용하려고 하다보니 URL에 로그인 아이디를 기입하여 사용하였다 이런 방식은 지금의 문제를 근본적으로 해결하기에 어려움이 있다 판단하여 리펙토링을 진행하고자한다1. URL 방식의 회원정보를 조회방법을 수정하고자 한다(현재 생각은, Filt.. 2025. 1. 4. [리펙토링] 개발 요구사항 (게시판 프로젝트) 프로젝트를 시작하며...개인 프로젝트로서 현재까지 배운내용을 통해서 사용해보고자 게시판 작업을 진행하려고 한다..이론적으로 많은 내용들을 배웠지만, 사용해본적이 없고 왜 사용해야하는지 모른다면 그건 그냥 글을 읽고 머리속에 주입한 것 밖에 안된다고 생각을 한다...그래서 이번 기회에 배운내용들에 대해서 사용해보고 왜 사용해야하는지에 대해 탐구해보고자 한다 요구사항을 적는 이유..매번 개발에 대한 주제(?)만 듣고서는 머릿속으로 대충 그리고 시작하는 습관이 생겨버렸다..이게 단기 프로젝트이고 프로토타입으로 잠깐 쓰고 안쓸거라면 빠른개발이 더 이점이 있겠지만, 결국엔 계속해서 리펙토링하고, 중간중간 샛길(?)로 새지 않기 위해서 방향성을 잡고 가야 흔들리지 않고 개발을 완성할 수 있다는걸 느끼면서도 그렇게 .. 2025. 1. 3. [리펙토링] 게시판 프로젝트 아키텍처 개인프로젝트의 진행..저는 이번 프로젝트를 통해서, 지금까지 배운것들에 대해 총체적으로 사용해보고 필요한 곳에 가능한 기술들을 사용해보며 많은 것을 느껴보려 합니다..프로젝트는 1차적으로 끝내었고, 다시 리펙토링을 진행해보며 블로그 글들도 수정작업에 진행하고 있습니다(현재 25.1.3) 벌써 작년...프로젝트라니... 실감이 나지는 않지만 시간이 가능할 때 차근히 전에 했던 실수는 무엇이었는지...아니면 굳이 사용안해도되는 기술들을 억지로 넣었는지, 너무 학습에 치중해서 개발을 진행하지 않았는지에 대해 다시 생각해보며 뺄건 빼고 넣을건 넣으면서 진행해볼까합니다..! 사용 도구들..- spring boot 3.3.5- java 17- H2 Database- Thymeleaf Application FlowC.. 2024. 11. 20. [기능구현#8] DataSource DataSource 란?DataSource는 JDBC를 이용하여 DB를 연결시에 도와주는 객체이다.DataSource는 DB연동을 위한 작업을 중간에서 도와주며, Connection Pool를 이용하여 커넥션 관리를 용이하게 도와준다.DataSourceUtils를 이용하면, 커넥션의 반환도 관리할 수 있어서 트랜잭션을 시행할때 많은 도움을 받을 수 있다/현재 프로젝트에 적용되어있으며, h2DataBase의 드라이버를 사용하지 않고도 DataSource를 이용하여 손쉽게 연결하며 ConnectionPool도 구성할 수 있었다. DataSource 구현DataSource ConfigDataSource는 인터페이스이고, Hikari를 이용하여 구현체를 사용public class DataSourceConfig .. 2024. 11. 20. [기능구현#7] 파일 업로드 파일 업로드기본적으로, 파일을 업로드하는 방식에는 파일 자체를 받아서 DB에 적재하는 방법이 있고, 파일경로만 저장을 한 후, spring server 에 저장되어있는 파일을 불러와서 사용하는 방식이 있다.DB에 파일을 적재하는 방식은 조회하는데에도 영향이 있고, DB사이즈가 커지는 부담도 있어서 2번째 방식인 파일경로를 저장하는 방식을 택했다.참고)spring의 경우, 기본적으로 파일업로드를 할 수 있는 제한 사이즈는 1MB이다.(spring.servlet.multipart.max-file-size=5MB) application.properties에서 수정 가능함 파일 도메인uploadFile의 이름은 업로드 당시에 사용한 이름storeFileName의 경우 서버에 적재할 파일 이름이다 구분한 이유 :.. 2024. 11. 20. [기능구현#5] AppConfig 구성 Repository 구성Repository로 의존성을 Interface로 두고, Memory 버전과 DB버전을 나누어서 진행Memory 버전으로 빠르게 개발하고, 후에 DB를 연결시켜서 필요한 부분만 Repository로 진행OCP / DI를 지켜가며 개발 구성 AppConfig@Configuration@ComponentScanpublic class AppConfig implements WebMvcConfigurer { @Bean public MemberRepository getMemberRepository() {// return new MemberMemRespository(); return new MemberDBRepository(DataSourceConfig.da.. 2024. 11. 20. 이전 1 2 다음