분류 전체보기 (35) 썸네일형 리스트형 AOP의 개념 및 사용 방법/주의사항 ■ AOP(Aspect-Oriented Programming)의 기본 개념AOP(Aspect-Oriented Programming)는 프로그램의 특정 측면을 모듈화하고 재사용 가능하게 만드는 프로그래밍 패러다임 입니다. AOP의 주요 개념은 횡단 관심사(Cross-Cutting Concerns)라는 개념입니다. 이것은 프로그램의 여러 부분에서 공통으로 사용되는 코드나 로직을 의미합니다. ※ 예를 들어, 로그 기록, 트랜잭션 관리, 보안 검사 등은 대부분의 애플리케이션에서 공통으로 사용되는 기능이지만, 각각의 비즈니스 로직과는 독립적으로 구현되어야 합니다.이를 통해 코드의 복잡성을 줄이고, 유지보수성을 향상 시킬 수 있습니다. ■ AOP의 주요 용어와 개념 이해하기- 횡단 관심사(Cross-Cutting.. AWS, Elastic Beanstalk에서 cloudFront이용한 https통신 2024.01.05 - [AWS] - Elastic Beanstalk에 SpringBoot배포하기2024.08.20 - [AWS] - ACM ssl 도메인 인증서 발급2024.01.04 - [AWS] - CloudFront와 S3연결하는 법일단 백엔드를 EB에 배포하고 프론트를 cloudFront로 배포를 한 상태이며, ssl인증서를 cloudFront와 연결하였을때 이야기이다. 백엔드와 cloudFront와 연결해주고 cloudFront 도메인 + api를 호출해준다면 https로 호출하고 cloudFront에서 백엔드로 http로 자동으로 넘겨주어 백엔드는 아무것도 구성하지 않아도 https통신이 가능케 해준다. 또한 CloudFront를 통해 API 요청을 프록시하면 API 응답도 캐싱할 수 있어 .. AWS 민감한 정보 호출 Lambda함수, Secrets Manager 사용 (+ 환경변수 ) 필자는 SpringBoot를 이용하여 application.properties에 들어가야할 민감한 정보인 API키, 데이터베이스 자격 증명, 등 해당 데이터를 AWS Secrets manager에 저장하여 lambda를 이용하여 데이터를 호출 하였다. 1. Secrets Manager에서 시크릿 생성 2. 다른 유형의 보안 암호를 클릭하여 키/값 구조인 JSON형태로 원하는 데이터를 저장- 이후 임의로 보안 암호 이름을 입력해주고 다음을 누른다- 교체는 건드리지 않고 다음을 누르고 검토부분에서 샘플코드를 복사한 후 저장 한다(이후에 해도 무관)- 이 코드는 이후 람다 함수 코드에 사용할 예정이다.- ARN을 복사해놓는다 3. AWS Lambda에서 함수를 생성한다- 임의로 함수 이름을 설정하고 런타임에 .. S3,cloudFront와 Router53연결하여 라우팅 지정하기 2024.08.20 - [AWS] - ACM ssl 도메인 인증서 발급이전에 ACM을 발급받는 게시글을 정리하였는데 이번엔 레코드를 생성하여 라우팅을 하도록 할 것 이다. 기본적으로 http방식과 https방식이 있는데 요즘은 거의 https방식을 많이 사용한다 이유는 데이터를 암호화하여 전달하는 방식의 차이인데 http방식 보다 https방식을 사용하여 사이트의 신뢰성과 데이터 보안을 높이기 위해서이다. S3 -> Router53을 통해 라우팅이 되면 httpS3 -> cloudFront -> Router53을 통해 라우팅이 되면 https로 연결이 된다 2024.01.04 - [AWS] - CloudFront와 S3연결하는 법S3 -> cloudFront는 이미 하였으니 오늘은 라우팅 작업만 진행 할.. ACM ssl 도메인 인증서 발급 1. certificate Manager에 들어가서 퍼블릭 인증서를 요청한다 2. 구매한 도메인을 입력하고 요청을 누른다- 만약 도메인을 한글로 구매했을시 punyCode로 변환하여 등록한다.※ 문자 인코딩 사이트 : https://dencode.com/ 3. 검증 대기 중인 도메인을 CNAME을 이용하여 인증해 준다- 빨간색 동그라미 부분을 복사해준다.- 구매해줬던 도메인 사이트에 들어가서 DNS 설정을 찾아 레코드를 수정한다- 필자는 가비아를 사용하여 도메인을 구매했다- 레코드 수정을 클릭- 레코드 추가를 하여 CNAME으로 아까 certificate manager에서 복사한 CNAME이름에서 도메인 부분을 제외한 부분을 기입 후 CNAME 값을 값/위치에 붙혀넣기를 한다.- 확인을 누른 후 저장 .. linux에 데이터베이스 mysql 및 redis 설치 및 연결 필자는 AWS의 RDS를 사용할 만큼 큰 서비스가 아니기에 비용을 줄이고자 mysql을 EC에 연결하여 Elb에 인스턴스에 배포된 어플리케이션을 접속하고자 연결하였다. MySQL1. 패키지 업데이트sudo apt update 2. mysql 서버 설치- 명령어를 입력후 y를 눌러 설치를 진행하여 설치sudo apt install mysql-server 3. MySQL 서비스 실행- 서비스가 잘 실행 되고 있는지 확인하려면 systemctl status mysql을 했을때 active라고 나타난다면 서비스가 실행이 잘 되고 있다는 뜻이다.sudo systemctl start mysqlsudo systemctl enable mysql 4. MySQL 보안 설정(자유 설정)- 이 명령어 실행시 루트 비밀번호.. ckeditor의 이미지 업로드 및 삭제 백엔드( SpringBoot ) front에서 editor를 세팅을 마치고 이미지를 업로드 하려고 할 시에 이미지는 백엔드 작업이 필요하다. ckeditor의 경우 글 작성을 등록 전 이미지를 ckeditor에 업로드시에 이미지를 백엔드에 서버의 정적 폴더에 저장 후 해당 경로를 url과 함께 호출 하는 방식으로 이미지 미리보기 및 이미지를 처리하는 것이 보통이다. 아래는 vue3를 이용하여 ckeditor사용 방식을 정리한 글이다2024.07.22 - [프론트/vue] - vue3에서 ckeditor 사용방법(바인딩, 이미지 업로드 포함) 프론트에서 작업했던 axios를 이용해 api를 백엔드에서 작성해 보자 1. controller 생성@PostMapping("api/editor/imgUpload") public Res.. vue3에서 ckeditor 사용방법(바인딩, 이미지 업로드 포함) 게시글을 작성시에 에디터는 필수로 들어가는 요소이다vue3와 어울리는 쓸만한 editor를 찾다 커스텀도 자유로이 가능한 ckeditor를 발견했다아래는 내가 사용한 ckeditor사용방법이다.1. ckeditor 패키지 설치npm install --save @ckeditor/ckeditor5-vue @ckeditor/ckeditor5-build-classic 2. ckeditor 설정import { createApp } from "vue";import { createPinia } from "pinia";import router from "@/routes";import CKEditor from '@ckeditor/ckeditor5-vue'import "@/assets/css/editor/content-s.. 이전 1 2 3 4 5 다음