본문 바로가기
728x90
반응형

분류 전체보기279

[JPA] JPA Lock의 개념과 사용 JPA(Java Persistence API)에서의 락(Lock)은 동시에 여러 사용자가 같은 데이터를 수정할 때 데이터 일관성을 유지하기 위한 메커니즘이다. 이를 통해 여러 트랜잭션이 동시에 동일한 데이터를 수정할 때 발생할 수 있는 문제를 해결할 수 있다. 즉 트랜잭션에 포함되어 있는 개념이라고 할 수 있다. 이와 같이 하나의 Transaction이 특정 데이터에 접근하게 되면 해당 데이터에 대한 연산작업을 진행하는 동안 LOCK을 걸어 다른 트랜잭션에서 접근하지 못하게 한다. Optimistic Lock (낙관적 락): 낙관적 락은 데이터를 읽을 때 락을 걸지 않고, 데이터를 업데이트할 때 버전 번호 등을 체크하여 충돌이 발생하지 않도록 하는 방식이다. 버전 관리를 위한 필드에 @Version 어노.. 2023. 9. 11.
[Vue.js] vue.js 문법과 사용방법 Component : Vue.js에서 컴포넌트는 재사용 가능한 UI 요소를 의미합니다. 각 컴포넌트는 자체적으로 데이터, 메서드, 스타일 등을 포함할 수 있습니다. 컴포넌트를 사용하여 애플리케이션을 작은 조각으로 나누고 각 조각을 개별적으로 관리할 수 있습니다. Vue.component('my-component', { template: '{{ message }}', data: () => ({ message: 'Hello, World!' }) }); Computed : 계산된 속성은 의존하는 데이터의 값에 기반하여 동적으로 값을 계산하는 속성입니다. 계산된 속성은 종속성을 갖는 데이터가 변경될 때만 다시 계산됩니다. new Vue({ data: { message: 'Hello, World!' }, comp.. 2023. 9. 11.
[SpringCloud] Spring Cloud란? 💡 Spring Cloud 분산 시스템 개발에 효과적인 기능을 제공해주는 Spring Boot 기반의 프레임워크이다. 분산 시스템 : circuit breakers, routing, proxy, load balancing Spring Cloud Config Server 환경 설정을 독립적으로 관리할 수 있다. 위의 예시 이미지처럼 환경 설정을 Spring Cloud Config Server를 통해 외부 저장소(Git, S3 등)에 저장할 수 있다. 그렇게되면, 각 애플리케이션의 환경 설정을 따로 배포하지 않아도 되는 효과가 있다. 다시 말해 모든 서비스에 공통된 환경 설정을 Spring Cloud Config Server를 통해 한번에 할 수 있는 것이다. Naming Server (Eureka) & S.. 2023. 9. 10.
[Heroku] SpringBoot 프로젝트 배포 💡 Heroku를 이용하여 SpringBoot 프로젝트 배포하기 1. Heroku 설정하기 heroku(https://dashboard.heroku.com/apps)에서 회원가입 후 app생성 2. GitActions를 이용해 Heroku 배포 시나리오 만들기 heroku에서 Profile → Account Settings → API Key 복사 github에서 Repository → Settings → Secrets → Actions → New repository secret 클릭하여 heroku API Key 사용하여 secrets등록 프로젝트에서 .github\workflows\ 경로로 deploy.yml 파일 생성 및 작성 name: Deploy on: push: branches: [ main ].. 2023. 9. 10.
[Heroku] heroku란? 💡 Heroku Heroku 는 개발자들이 편리한 애플리게이션 배치, 스케일링scaling, 관리를 시행할 수 있게 해주는 신뢰할 수 있는 서비스로서의 플랫폼이다. Java, Ruby, PHP, Node.js, Python, Scala, Clojure와 같은 넓은 범위의 프로그래밍 언어를 지원하고 있으며, 가상 컨테이너를 통해 애플리케이션을 운영한다. PaaS(Platform-as-a-service) 클라우드 서비스이다. ※ Paas란? 장점 무료 시작, 쉬운 사용, 개발자 중심, 서버관리 최소화, 간편한 확장, 보안, 강력한 CLI, 뛰어난 플러그인, 기업지원 등 AWS vs Heroku Heroku 소규모 개인 프로젝트에 편리 (무료 dyno플랜 사용) 시스템 관리를 간편화 하는대신 세세한 설정 불가.. 2023. 9. 10.
[GoormIDE] Github 연동하기 💡 goormIDE에서 Github연동하기 Repository를 Clone하는 것은 메뉴가 있어 쉽지만 Commit & Push를 하려면 git 명령어 사용 해야 함. IDE의 터미널에서 진행 연결 방법 터미널 창에 git init입력 (git메뉴 확인) Git 메뉴 상단의 폴더 설정에서 ‘유저 정보’ 입력 후 저장 Git 명령어 입력 git git add . git commit -m "test commit" git remote add origin [자신의 깃 주소] git push origin master 참고 자료 구름(goorm) IDE에서 Github에 Commit 하고 push 하기 구름(goorm) IDE에서 Github에 Commit 하고 push 하기 요즘 구름 IDE를 사용해서 개발을 하.. 2023. 9. 10.
[GoormIDE] goorm ide 사용방법 💡 구름 IDE란? 웹 기반 클라우드 통합 개발 환경이다. 네트워크가 연결되어 있다면 Python, JavaScript, C, C++ 등 원하는 언어로 프로그래밍 할 수 있는 개발 환경을 쉽게 구축할 수 있다. 구름은 아마존에서 EC2를 이용하고 있으며 도커 컨테이너를 사용해서 빠르게 개발환경을 구축할 수 있게 지원하고 있다. 강력한 협업 기능을 제공한다. 개인은 프로젝트 개발, 단체는 오픈 소스 프로젝트 진행을 위해 사용할 수 있고, 다양한 기능을 통해 효율적인 협업이 가능하다 각종 소셜 계정, 이메일 등의 로그인을 지원한다. (나는 google) 컨테이너를 생성하여 프로젝트를 관리하고, 도메인(IP)를 세팅하여 서버를 실행한다. 💡사용 방법 아래 URL로 접속하여 로그인하면 된다. goormIDE -.. 2023. 9. 10.
[RDS] AWS RDS란? 💡 RDS(Relational Database Service) AWS RDS란 데이터베이스의 설치, 운영 그리고 관리 등의 서비스들을 지원하는 AWS의 관계형 데이터베이스이다. 간단히 말하면 관계형 데이터베이스를 제공하는 AWS의 서비스이다. 유저가 사용하기 쉽도록 인프라 등을 자동화 시켜주고 유저들은 앤드포인트로 접속할 수 있는 데이터베이스를 제공받는다. AWS에서 DB를 사용하는 방법 EC2에 직접 설치 EC2에 직접 데이터베이스를 설치할 경우, 사용자가 데이터베이스의 업데이트와 관리, 백업 등을 모두 관리해야 하는 나름의 장점이자 단점이 발생한다. RDS를 사용 RDS를 사용할 경우, AWS에서 모든 것을 관리하기 때문에, 데이터베이스 부분에 대해 신경을 쓰지 않고 개발을 진행할 수 있다는 장점이 .. 2023. 9. 10.
[EC2] Flask앱 배포 💡 구름IDE에서 Flask, MongoDB를 이용하여 개발한 chatbotAPI 프로젝트를 Nginx와 Gunicorn을 이용하여 배포한다. Nginx를 사용하면 지정 경로(포트)로 들어오는 요청을 받아 flask앱의 경로 localhost(5000)로 매핑하여 연결할 수 있지만 flask를 실행할 수 없어 문제가 발생한다. 그렇기 때문에 gunicorn을 이용하여 flask앱을 실행시켜주고 nginx는 gunicorn의 경로 localhost(8000)을 매핑하여 nginx → gunicorn → flask 순서로 작동하게 된다. 1. Gunicorn # Gunicorn 설치 > pip install gunicorn # Flask 앱 실행 (app는 flask앱의 파일이름) > gunicorn app.. 2023. 9. 10.
728x90
반응형