Spring 웹 애플리케이션 마이그레이션: 파일 권한 문제 해결기
·
IT
Spring Boot 웹 애플리케이션 마이그레이션: 이미지 파일 권한 문제 해결기들어가며웹 애플리케이션 마이그레이션 작업 중 흔히 겪을 수 있지만, 원인을 파악하기 쉽지 않은 문제가 있습니다. 바로 파일 권한 문제입니다. 이번 글에서는 제가 최근 겪은 이미지 파일 접근 권한 문제와 그 해결 과정을 공유하고자 합니다.문제 상황기존 웹사이트의 데이터를 새로운 Spring Boot 애플리케이션으로 마이그레이션하는 작업을 진행했습니다. 데이터베이스 마이그레이션은 성공적으로 완료되었고, 게시글에 첨부된 이미지 파일들도 새 서버의 적절한 위치로 모두 복사했습니다.하지만 웹 애플리케이션을 실행하고 게시글을 열어보니 이미지가 전혀 표시되지 않는 문제가 발생했습니다. 개발자 도구로 확인해보니 이미지 요청에 대해 403 ..
팀 프로젝트 회고 [Pet Hub]
·
IT
프로젝트에서 배운 점MVC 패턴과 데이터베이스 접근 방법의 최적화  문제점프로젝트 진행 중, 트랜잭션 내 데이터 접근과 데이터베이스 조인 최적화에 관련된 두 가지 주요 문제를 겪었습니다.트랜잭션 내 데이터 접근 문제: MVC 패턴을 사용하며 MyBatis로 데이터베이스 접근을 하는 중, 서비스 레이어에 @Transactional을 적용하여 트랜잭션 내에서 작동하도록 설계했습니다. 회원가입 서비스에서, 주소(Address) 테이블이 회원(Member) 테이블을 참조하는 구조를 사용했습니다. 회원 테이블에 데이터를 먼저 삽입한 후 자동 증가된 PK 값을 주소 테이블에 삽입하려 했으나, 트랜잭션이 완료되기 전에 데이터를 조회하려다 보니 멤버의 ID를 정상적으로 얻을 수 없었습니다.데이터베이스 조인 최적화 문제..
팀 프로젝트 회고 [Smart Farm]
·
IT
프로젝트에서 배운 점로컬환경과 배포환경의 차이에 대한 고찰문제점프로젝트 배포 전, 모든 기능이 정상적으로 작동함을 확인했으나 AWS EC2에서 Docker로 빌드한 애플리케이션을 배포했을 때 두 가지 문제점이 발생했습니다.일부 페이지에 접속 시 에러 페이지가 나오며 렌더링되지 않는 현상아두이노 상태를 체크할 수 있는 apk 파일을 다운로드 페이지에서 정상적으로 다운로드할 수 없는 현상해결과정로컬 환경에서는 문제가 없었기에 배포 후에도 코드가 동일함에도 불구하고 문제가 발생한 것에 대해 이해하기 어려웠습니다. 강사님의 도움을 받으려 했으나, 즉각적인 해결이 어려워 스스로 문제를 해결하기로 했습니다.구글링을 통해 개발 환경과 배포 환경의 차이로 인해 발생할 수 있는 오류를 알게 되었습니다. 가장 직관적으로 ..
MVC 패턴의 낯선 세계
·
IT
MVC 패턴의 낯선 세계 MVC 패턴을 처음 접했을 때, 이 개념이 매우 낯설었다. 모델, 뷰, 컨트롤러가 무엇이고, 각각이 어떤 역할을 하는지 이해하기가 쉽지 않았다. 그러나 이론적인 부분을 넘어 실제로 코드를 작성하며 경험을 쌓을 때마다 조금씩 이해가 되기 시작했다. 게시판 만들기: 실전으로의 도전 간단한 게시판을 만들기 위해 MVC 패턴을 활용한 프로젝트를 시작했다. 이 프로젝트를 통해 몇 가지 중요한 개념을 배울 수 있었다. 1. 모델(Model): 데이터의 중심 모델은 게시판에서 데이터와 데이터를 처리하는 비즈니스 로직을 담당한다. 게시물 정보를 담고 있는 클래스를 만들고, 데이터베이스와의 상호작용을 담당하여 CRUD 작업을 수행한다. 2. 뷰(View): 사용자에게 정보 제공 뷰는 사용자에게 ..
객체지향의 5가지 원칙, SOLID에 대한 이해
·
IT
SOLID란? 이 포스팅에서는 객체지향 프로그래밍의 핵심적인 원칙인 SOLID에 대해 알아보겠다. SOLID는 단일 책임 원칙(SRP), 개방-폐쇄 원칙(OCP), 리스코프 치환 원칙(LSP), 인터페이스 분리 원칙(ISP), 의존성 역전 원칙(DIP)의 첫 글자를 따서 만든 약어다. 이 원칙들을 통해 더 효율적이고 관리하기 쉬운 코드를 작성하는 데 도움이 된다. 이 글에서는 보다 이해가 편하도록 비유를 해가며 설명해보도록 하겠다. 내가하는 비유가 적절하고 정확한 비유는 아닐 수 있으나 대충 이런 느낌이구나~ 정도로만 이해해주면 감사할 것 같다! 단일 책임 원칙(SRP) 단일 책임 원칙은 하나의 클래스가 하나의 책임만을 가져야 한다는 원칙이다. 즉, 모든 클래스는 하나의 기능만을 구현하도록 설계되어야 한..
CORS 에러에 대해 알아보자
·
IT
CORS란..? 현재 진행중인 국비과정에서 스프링으로 진입 전 MVC패턴에 대해 공부하고 또, JSP를 이용해서 Rest-API를 생성 후 html파일에서 API를 받아서 출력해보는 연습을 하게된 적이 있다. 학원에서 과제가 주어지면 내가 우물안의 개구리인건지 정말로 평균이상으로 개발에 적성이 잘맞는것인지는 잘 모르겠지만 어쨋든 항상 남들보다 빨리 끝내는 편이었다. API생성하는 것 까지는 누구보다 빠르게 완성하여 이제 출력만 시키면되는데 자꾸 Access어쩌고하는 에러가 뜬다... 도저히 혼자서 해결할 문제는 아닌거 같아서 열심히 구글링해서 이 에러가 CORS에러라는 사실을 알아냄. 그래서 CORS란 뭐냐? Cross Origin Resource Sharing CORS는 한 도메인 또는 Origin의 ..
연금저축 계산(정말 단순 계산)
·
IT/혼자 만들어 본거
""" 오늘은 연금저축펀드 계좌에 돈이 들어간 날이다. 나는 2021년부터 매달 65,000원씩 연금저축계좌에 돈을 넣어서 꾸준 매달 나스닥100 etf를 조금씩 사서 모으고 있다. 현재까지 32개월 납부했는데 원금이 2,080,000원. 평가금액이 250만원정도로 21.48% 상승했다. 연금 만기가 2065년이니까 대충 45년간 꾸준히 65,000원씩 납부하여 32개월을 3년으로 치고 3년에 상승률이 20퍼센트라고 가정했을 때, 연금 만기시 원금은 얼마나 들어가고 최종 평가액은 얼마정도일지 단순계산을 해보려한다. 계산기로 투닥투닥 두드리다 한번오타나서 처음부터 다시 계산해야되길래 귀찮음 + 코드로도 해볼 수 있겠다 싶은 생각들어서 만들어 봄... ㅋㅋ """ money = int(input("매달 납입..
계비 정산 계산기
·
IT/혼자 만들어 본거
시작에 앞서 나는 아직 학원에서 이제 프로그래밍 언어를 어떤식으로 쓴다 정도만 배운 이제 막 코딩을 시작한 사람이다. 그래서 코딩을 해서 프로그램을 완성형으로 만든다던지 그런거 아직 할 줄 모른다... 언젠가는 내가 짠 코드를 이용해서 프로그램으로써 활용할 수 있는 날이 오면 좋겠다. 급하게 파이썬exe파일 만들기 등을 검색해보았는데 무슨 말인지 전혀 알아먹을 수가 없었고 어떤식으로 작성,작동하는 건지 조차 감이 잡히지 않는다. 이제 시작한 참이니 당연할 수도 있겠다. 그래도 지금부터라도 이런거 하나하나 만들어가보면서 조금씩 어떤식으로 하면 완성형이 되는지 알아가 보려고 한다. 어떤 프로그램을 만들 것인가? 올해 초부터 아직까지 만남을 이어오고 있는 중학교떄 친구들과 함께 계를 시작했다. 계자체가 아에 ..