EC2환경에서 환경변수 적용하기(ubuntu)
2024. 3. 28. 00:24
etc
application.yml파일에서 보안이 필요시되는 정보는 다음과같이 환경변수를 이용해서 로컬에 환경변수를 추가해줫다. 배포시에도 이 환경변수를 추가해줘야 한다. EC2인스턴스의 .bashrc 파일에서 환경변수를 추가한다. home의 ububtu로 이동해서 ls -al 명령어를 입력해보면 .bashrc 파일이 있다. 이 파일에 환경변수를 추가할 것 1. /home/ubuntu 경로에서 다음 명령어를 실행한다. nano .bashrc 그럼 다음과 같은 창이 뜬다 2. 맨 아래로 이동하여 export 명령어로 환경변수를 추가한다. export GOOGLE_CLIENT_SECRET=123123123 3. 변경사항 저장 (ctrl X -> Y -> Enter) 4. .bashrc' 파일에서 설정한 환경 변수를..
Github Actions를 통한 배포 자동화 3
2024. 3. 4. 20:43
etc
멋쟁이 프로젝트때 배포 자동화를 끝내지 못했는데 이번에 새로운 프로젝트를 하면서 배포 자동화를 하게 되었당 이전 방법은 거의 동일하게 진행하여 main 브랜치에 push 시 S3에 빌드된 파일이 올라갈 수 있도록 하였다. 이제 이 빌드파일을 진짜 배포하고 실행해 볼 것이다. 먼저 프로젝트의 루트 경로에 appspec.yml을 작성해주어야 한다. 이 파일은 Code deploy가 수행할 일들을 작성하는 곳이다. 공식 메뉴얼을 참고하여 작성하면 좋을 것 같다. 공식 메뉴얼 AppSpec '후크' 섹션 - AWS CodeDeploy 배포의 시작 DownloadBundle, 설치 BlockTrafficAllowTraffic, 및 종료 이벤트는 스크립팅할 수 없으므로 이 다이어그램에서 회색으로 표시됩니다. 하지만..
Github Actions를 통한 배포 자동화
2023. 7. 28. 18:05
etc
GitHub Actions는 Github가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼이다. 레포지토리에서 Pull Request 나 push 같은 이벤트를 트리거로 GitHub 작업 워크플로우(Workflow)를 구성할 수 있다. 📌워크플로우 하나 이상의 작업이 실행되는 자동화 프로세스 각 작업은 자체 가상 머신 또는 컨테이너 내부에서 실행된다. .yml(혹은.yaml) 파일에 의해 구성되며, 테스트, 배포 등 기능에 따라 여러 개의 워크플로우도 만들 수 있다. 생성된 워크플로우는.github/workflows 디렉토리 이하에 위치하게 된다. 📌Github Actions를 통한 배포 Flow 📌Github Actions 설정 파일(.yml)에 따라 Gith..
[프로젝트] redis 적용
2023. 6. 23. 20:58
etc
yata project에서는 Github에서 클론받자마자 바로 사용할 수 있는 환경을 맞추기 위해 외부환경에 의존X => 외부 캐시 JWT 로그아웃 구현을 위해 redis를 사용 외부환경에 구속받지 않기 위해 embedded redis 사용 다음 세 가지를 사용 📌Spring Data Redis Redis를 JPA Repository를 이용하듯이 인터페이스를 제공하는 스프링 모듈 CrudRepository를 지원하기 때문에 좀 더 직관적으로 사용 가능 📌Lettuce Redis Java Client 현재 (Spring Boot 2.0.2) Spring Data Redis에서 공식지원하는 Client 📌Embedded Redis H2와 같은 내장 Redis 데몬 이를 이용하면 외부 Redis 서버를 설치하..
NoSQL과 RDBMS의 차이
2023. 6. 21. 14:20
etc
NoSQL과 RDBMS의 차이 DB 어플리케이션으로 RDBMS(Relational DataBase Management System)이 널리 쓰이고 있지만, 대용량 데이터 저장, 비정형 데이터 저장, 빠른 응답시간 등의 새로운 요구사항에 기존 RDBMS만으론 대응하기 어려울 때가 있다. 그래서 RDBMS와 차별적인 데이터베이스 관리 툴인 NoSql이 등장했다. 📌RDBMS vs. NoSQL RDBMS -> 2차원의 행과 열로 데이터의 관계를 관리하는 데이터베이스(테이블) 장점 : 스키마에 맞추어 데이터를 관리하기 때문에 데이터의 정합성(어떤 데이터들이 값이 서로 일치하는 상태)을 보장 단점 : 시스템이 커질수록 쿼리가 복잡해지고 성능이 저하되며, 수평적 확장이 어렵다. NoSQL ->RDBMS가 비대해짐에..
Redis란
2023. 6. 19. 19:15
etc
Redis Redis(Remote Dictionary Server)는 가장 인기있는 Key-value Store 중 하나이다. 데이터 저장소하면 보통 MySQL이나 PostgreSQL, MariaDB, Oracle 같은 RDBMS를 많이 떠올릴텐데 이러한 RDBMS와 달리 Redis는 NoSQL이다. 이 둘의 차이는 무엇일까? 다음 포스팅에 자세히 적어놓았다. https://develoyummer.tistory.com/99 NoSQL과 RDBMS의 차이 NoSQL과 RDBMS의 차이 DB 어플리케이션으로 RDBMS(Relational DataBase Management System)이 널리 쓰이고 있지만, 대용량 데이터 저장, 비정형 데이터 저장, 빠른 응답시간 등의 새로운 요구사항에 기존 RDBMS만으..
[mustache]spring boot 프로젝트에 mustache 템플릿 엔진 적용해보기
2023. 4. 10. 14:25
etc
화면을 구성하기 위해 템플릿 엔진 중 mustache를 사용하였다. 템플릿 엔진이란 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 말한다. 자바 진영에서는 JSP,Velocity,Freemarker,Thymleaf등의 템플릿 엔지니 존재하고 각 템플릿 엔진에는 장단점이 있다. JSP,Velocity : 스프링부트에서는 권장하지 않음 Freemarker: 기능이 많다. 자유도가 높다. 따라서 숙련도가 낮을 수록 Freemarker 안에 비즈니스 로직이 추가될 확률이 높다. Thymleaf: 스프링 진영에서 적극적으로 밀고 있음. 문법이 다소 어려움 . HTML 태그에 속성으로 템플릿 기증을 사용하는 방식이 높은 허들로 느껴지는 경우가 많다. Mustache: 문법이 간단하다. ..
development 기초
2022. 8. 24. 14:06
etc
간단한 프로그래밍 기초 지식을 정리해 보려고 한다. 주요내용 1.컴퓨터의 동작과정,컴퓨터의 구성요소 2.프로그래밍 관련 개념 3.웹 클라이언트와 웹 서버의 개념 1. 컴퓨터의 동작과정과 구성요소 컴퓨터란, 입력 받은 데이터를 정해진 규칙대로 처리해서 처리 결과를 저장하고 출력하는 전자 장치이다. 각각의 동작을 할때 어떤 구성요소들이 사용되는지 나누어 적어보자면 컴퓨터란, 입력 받은 데이터를 이 동작을 할 떄 사용되는 요소는 입력장치이다 ex) 키보드,마우스,마이크, 트랙패드 등 정해진 규칙대로 이떄 규칙을 프로그램이라 하고 프로그래밍 언어를 이용하여 작성한다. 처리해서 이때 사용되는 요소는 중앙처리장치(CPU)로 프로그램의 실행과 데이터 처리를 담당하는 핵심장치이다. ex)제어장치, 연산장치, 레지스터 ..