일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Varchar
- text
- jpa
- 스프링
- iterator
- 데이터 타입
- 동시성
- Atomic Type
- db
- java
- gc
- 가비지 컬렉터
- Locking Read
- 동시성 문제
- Synchronized
- reflection
- 가비지 컬렉션
- Di
- MVCC
- foreach
- 자바
- 백엔드
- Lock
- CAS
- iterable
- MySQL
- Today
- Total
목록DevOps (3)
과정을 즐기자
프로젝트를 진행하면서 서비스를 배포하는 방법에는 여러 가지가 있습니다.먼저 단순한 방법으로는 내 로컬 PC에서 프로젝트를 빌드하여 scp 명령어로 운영 서버로 파일을 전송하고 서버에 들어가서 해당 파일을 실행 시키는 방법이 있습니다. 하지만 매번 이러한 과정을 수행하는 것은 굉장히 번거로운 작업입니다. 이를 개선하기 위해서 운영 서버에서 github에 있는 코드를 가져와서 프로젝트를 빌드하고 프로젝트를 실행하도록 하는 쉘 스크립트를 작성할 수도 있습니다. 하지만 이러한 경우도 여전히 단점이 존재합니다. 우선 개발자가 운영 서버에 직접 접속하여 쉘 스크립트를 실행해야 합니다.또한 운영 서버에서 프로젝트를 빌드하기 때문에 운영 서버의 리소스를 낭비할 수 있다는 단점도 있습니다.이러한 단점들은 개발자가 많아질..
원하는 분야의 CS 면접 질문을 이메일로 전송해주는 서비스를 만들고 있었습니다. React 기반의 프론트, Spring 기반의 백엔드를 배포할 때 구매한 도메인을 적용하고 Https도 적용 해보겠습니다. 같은 EC2 서버에서 프론트, 백엔드 모두 배포를 진행하였습니다. EC2 인스턴스는 이미 만들었다는 가정을 하고 진행하겠습니다. 도메인 구매 후 EC2와 연결하기 저는 가비아에서 도메인을 구매하였습니다. 구매 후 DNS 관리에서 레코드 수정에 들어가 EC2 인스턴스의 ip 주소를 입력합니다. 값/위치 부분에 ip 주소를 적으면 됩니다. Backend 배포하기 github에 올라와 있는 프로젝트를 clone해서 가져왔습니다. 폴더 구조는 sendQuiz 아래 frontend, backend가 있습니다. 먼..
마주친 문제 프로젝트를 진행하면서 서비스를 배포하기위해 클라우드 서비스인 AWS EC2를 사용하였습니다. 스크립트를 만들고 gradle build를 하는데... 배포 도중 멈춤현상이 발생하였습니다. 실행을 중지하려고 해도 잘 되지 않았습니다. 결국 EC2를 종료하고 다시 시작하기를 반복하였습니다. 검색을 해보다가 대여한 EC2가 프리 티어이기 때문에 RAM을 1GB만 사용해서 메모리 부족현상이라는 사실을 알게되었습니다. 가상 메모리 운영체제가 하는 대표적인 역할 중 하나가 메모리 관리입니다. 컴퓨터 내의 한정된 메모리를 효율적으로 사용해야 합니다. 가상 메모리는 메모리 관리 기법 중 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것..