본문 바로가기

반응형

전체 글

(495)
[DRF] Django Rest Framework (0) Python - Django를 이용해 MunDeuk서비스를 리팩토링 해보려고 한다.Step은 크게 두가지로 잡았다.1. 단순 회원가입 및 로그인 구현2. JWT, OAuth2, CSRF를 이용한 보안 기능 활성화 Python은 처음 다뤄보기 때문에 일단 공식 홈페이지의 Quickstart로 프로젝트를 생성해 보았다.홈페이지 : https://www.django-rest-framework.org/tutorial/quickstart/#quickstart Quickstart - Django REST frameworkWe're going to create a simple API to allow admin users to view and edit the users and groups in the system. C..
[jQuery] 회고 7/8 1. jQuery 추가시 발생 에러이건 그냥 jQuery쓸줄만 알았지 추가할때 발생하는 에러가 무엇인지 무엇을 추가해야 했는지를 몰랐어서 발생했다. 기록을 위해 작성해본다. jQuery는 JavaScript의 라이브러리 중 하나로 CSS, JavaScript, Html을 보다 단순하게 구현하기 위해 사용한다.사용하는 방법은 간단하다. 라이브러리를 가져와서 JSP파일에서 불러와 사용하면 된다.공식홈페이지 ( https://jquery.com/download/ ) 에서 다운로드 가능하다. 내가 몰랐던 부분인데 map파일이 존재한다. 나는 잘 모르고 그냥 같이 사용하는 줄 알고 같이 넣었었다. because its MIME type ('~') is not executable  이 에러는 다음과 같은 원인으로 ..
[gitHub] GitHub기본 CLI 기본적인 업로드 작업 Flow# 변경 내용 업로드 준비git add .# 변경 내용 적용 상태git status# 업로드에 대한 코멘트 작성git commit -m “comment”# 수정 및 업로드 상태 변화 확인git log# 업로드 경로 확인git remote --v# 업로드 시작git push origin main Git branch작업# 브랜치 생성과 동시에 이동git checkout -b [브랜치 이름]# 브랜치 이동git checkout [브랜치 이름]# 브랜치 생성git branch [브랜치 이름]# 하위 브랜치 생성git branch [브랜치 이름] [상위 브랜치 이름] error: failed to push some refs to ~repository경로~원인 : push시 원격 rep..
[Noti] 알림 전송 방식 4가지 ( SMS, Email, Kakao, Push ) 알림 전송시 사용할 공통 VO선언import org.apache.commons.lang3.builder.ToStringBuilder;import com.fasterxml.jackson.annotation.JsonAlias;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class HmsNotiVO { @JsonAlias({"noti_type", "notiType"}) private String notiType; //1.sms 2. email 3.kakao 4.push @JsonAlias("msg") private String msg; @JsonAlias({"mobile_number", "mobileNumber"}) private Strin..
[보안 취약점] PRG 패턴 (Post-Redirect-Get Pattern) 로그 아웃 후 캐시를 초기화 하지 않아 로그인 되었던 화면이 남아있는 이슈가 있었다.필터에서 캐시 초기화 진행뒤로가기 해도 정보가 넘어가게(양식 다시 제출 방지용)근데 session이나 cookie에 담는 것은 왜 안했을까? PRG 패턴 (Post-Redirect-Get Pattern)PRG패턴은 Post를 이용해 리소스에 대한 변경 요청이 있을때 해당 요청에 대해 재요청시 Post가 아닌 Get으로 Redirect되는 패턴이다. 웹 개발시 권장되는 디자인 패턴이다.이게 왜 중요하냐면 Post를 이용해 데이터를 전송하게 되는데 그 요청을 계속해서 재요청하게되면 동일한 데이터를 계속해서 전송하게 되기 때문이다.예를 들면 상품등록시 상품을 등록하는 요청에 대해 새로고침만 해도 해당 데이터가 전달되게 된다. ..
[CI/CD] Virtualization vs Containerization 가상화와 컨테이너화는 컴퓨터 시스템에서 Application을 호스팅하는 가장 보편적인 방법이다.AWS를 이용하는 방법은 Virtualization방식 이고, Docker를 이용하는 방법은 Containerization방식이다. 1. Virtualization가상화 방식의 가장 큰 특징은 단일 컴퓨터 리소스 혹은 서버에서 VM으로 리소스를 분할하고 각 VM에 필요한 OS를 다르게 설정할 수 있다는 점이다. 각 VM은 독립적으로 격리되어 있어 높은 보안성을 제공한다. 그러나, 이 보안을 유지하기 위해서는 각 VM 간의 접근에 대한 강화된 보안조치가 필요로 한다. VM은 각자의 운영 체제와 커널을 포함하기 때문에 리소스 소모가 더 크다. 2. Containerization컨테이너화 방식의 가장 큰 특징은 각..
[Maven] 수동 배포 작업 BuildIntelliJ우측의 Maven탭이 있다. 만약 보이지 않는다면 메뉴탭에서 불러올 수 있다.해당 창에서 package를 수행하면 war파일이 생성된다.STSPackage를 우클릭하여 Run As \ Maven install을 수행한다.빌드가 성공적으로 이루어지면 war파일이 생성된다.배포배포는 간단하다.was가 동작하는 경로에 war파일을 unzip을 하고 was를 재시작 해주면 된다.실무에서 주로 tomcat8.5를 사용했는데 이를 기준으로 예시를 작성해보면 다음 순서와 같다.이렇게 경로가 되어있는데 war파일이 존재하는 디렉토리에 war파일을 풀어주면 된다.SFTP가 가능하다면 보는것과 같이 업로드하여 편하게 풀어주면 된다.unzip {파일명}.war -d /home/{Path1}/www/{..
[Gradle] Could not resolve all files for configuration ':classpath'. 보통은 Spring Boot 버전과 JAVA버전이 맞지 않아 발생하는 경우가 많다고 한다.만약 이런 에러를 만난다면 다음을 체크해 보는것이 좋다. 1. File\ProjectStructure의 SDK가 정상적으로 되어있나?2. File\settings\Build~\BuildTools의 Build도구에서 Build도구 JVM이 정상적인 버전으로 되어있는가? 나의 경우에는 SDK를 JAVA 17로 해놓았음에도 JAVA11로 빌드를 하려고하여 Gradle버전이 맞지 않아 에러가 발생했던 것이다.

반응형