- AWS
- @transactional
- PYTHON
- spring mvc
- spring boot
- 1차원 배열
- 데이터베이스
- DI
- join
- springboot
- jpa
- 자바
- spring
- nginx
- 스프링부트
- spring security 6
- 프로그래머스
- sql
- java
- 문자열
- string
- SSL
- Django
- Docker
- static
- select
- 스프링
- mysql
- hibernate
- ORM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록Architecture & Tool (30)
개발하는 자몽
Docker image, container image 이미지는 도커 컨테이너 생성에 관한 명령이 담긴 템플릿(read-only)입니다. 애플리케이션을 실행하는데 필요한 소스 코드, 런타임 환경, 시스템 라이브러리 등 모든 설정들이 포함되어 있습니다. https://docs.docker.com/get-started/overview/#images container 도커 컨테이너는 이미지의 실행 가능한 인스턴스로, 도커 이미지를 기반으로 코드를 위해 격리된 공간을 의미합니다. https://docs.docker.com/guides/walkthroughs/what-is-a-container/ https://docs.docker.com/get-started/overview/#containers image와 con..
→😎Nginx의 로드 밸런싱 기능을 사용하게 된 이유는 아래 글을 참고😎 서버 부하 테스트 with Locust 개발 중인 애플리케이션에 대해서 조언받는 분에게 부하 테스트(Load Test)를 해보았냐는 질문을 받았다. 항상 개발을 하는 것과 해당 기능을 테스트하는 것에만 집중했지, 서버 그 자체를 테스트 backend-jaamong.tistory.com 위와 같은 이유로 로드 밸런싱을 적용하게 되었다. Nginx를 사용한 이유는 적용 방식이 간단하고 L4, L7 스위치로 하는 방법과 달리 비용이 들지 않기 때문이다. 그리고 Nginx를 도입하기 전 같은 기능을 제공하는 AWS의 ELB(Elastic Load Balancing)와도 비교해 보았다. 자세한 내용은 잘 정리해 둔 아래 글을 참고! AWS ..

개발 중인 애플리케이션에 대해서 조언해 주시는 분에게 부하 테스트(Load Test)를 해보았냐는 질문을 받았다. 항상 개발을 하는 것과 해당 기능을 테스트하는 것에만 집중했지, 서버 그 자체를 테스트한다는 생각은 못해봤던 것 같다. 해당 질문을 받으면서 부하 테스트란 무엇인지 찾아보게 되었고, 일정이 촉박할 때 간단하게 구성하여 테스트할 수 있는 도구인 Locust(https://locust.io/)를 알게 되었다. 부하 테스트 도구 중 유명한 것들을 사용하지 않고, Locust를 채택한 이유는 서버가 파이썬 기반의 Django로 구축되어 있는 상황으로, 일정이 촉박한 상황에서 빠르게 테스트를 진행할 수 있을 것이라 판단했기 때문이다. Locust 설치와 실행아래 명령어를 입력하면 `locust`..
`docker compose up`만 계속 써오다가 `down` 명령어를 알게 되어 정리해 본다. docker compose down$ docker-compoese down [OPTIONS] [SERVICES]실행 중인 컨테이너를 멈추고(stop) `up` 으로 생성된 컨테이너, 네트워크, 볼륨, 이미지들을 제거한다(remove).컨테이너가 삭제되는 것이므로 당연히 데이터도 다 지워진다. 디폴트로 제거되는 것들 `compose` 파일에 정의된 서비스에 대한 컨테이너`compose` 파일의 `network` 섹션에 정의된 네트워크기본 네트워크(사용되는 경우)단, 외부에서 정의된 네트워크와 볼륨은 절대 제거되지 않는다. docker compose stop/start컨테이너를 삭제하고 싶지 않고, 멈추고만 ..
항상 도커 컨테이너를 생성하고 삭제만 했지, 도커 이미지를 확인할 생각을 하지 않았다. 아래 명령어로 이미지 목록을 조회해 보니 엄청난 수의 `:` 이미지들이 있었다. $ docker images REPOSITORYTAGIMAGE IDCREATEDSIZE . . . 해당 이미지들은 많은 용량을 차지하고 있었기 때문에 지워줄 필요가 있었다. 하지만 `none`으로 태그 된 이미지들을 하나하나 지우기에는 좀... 그랬다... 그래서 바로 해당 태그들을 한 번에 지울 수 있는 방법을 검색해 봤는데, 역시나 다들 똑같은 생각을 하는 것 같다. 도커 이미지 삭제 도커 특정 이미지를 삭제할 때는 아래 명령어를 사용하면 된다. 이때 해당 이미지를 사용 중인 컨테이너가 있다면 삭제할 수 없다. $ docker rmi ..

실행 환경 : EC2 Instacne Ubuntu 22.04 LTS Glances는 Linux용 실시간 모니터링 도구이다. 서버에 Docker를 설치하고, 그 위에 프로젝트나 DB를 띄우다 보면 메모리가 가득 찰 수도 있다. 이러한 점들은 모니터링을 통해 미리미리 확인해둬야 한다. 이럴 때 사용할 수 있는 도구로 Glances가 있다. 터미널에 아래 명령어를 입력하여 설치를 진행해보자. apt install glances 설치가 완료되면 터미널에 아래 명령어를 입력하여 현재 서버 상태를 확인할 수 있다. 종료할 때는 아무키나 누르면 된다. glances 위 화면 기준으로는 현재 2개의 Docker Container가 띄워져 있고, 전체 메모리 1.89G 중 1.00G를 사용했다고 확인할 수 있다. 이 외..

이전 포스트 [Spring/EC2/MySQL] SpringBoot와 EC2 - Docker - MySQL 연동 이전 포스트 [AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기 목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 1. AWS backend-jaamong.tistory.com 이번에는 Docker에서 SpringBoot를 띄워보자. 띄울 SpringBoot에는 당연히 의존성에 spring web이 있어야 한다. implementation 'org.springframework.boot:spring-boot-starter-web' 1. Docke..

목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 ❗ 24년도에 인스턴스 생성 과정을 다룬 포스트를 다시 작성했으니, 최신 글을 원한다면 여기로! 1. AWS 로그인 후 EC2를 선택하고 아래 화면에서 인스턴스 시작을 클릭한다. 2. 원하는 이름을 입력한다. 3. 우분투 상에서 진행할 예정이므로 OS는 Ubuntu를 선택하고, 22.04 LTS 버전을 선택한다. 4. 인스턴스 유형 중에서 t2.micro는 프리티어로 사용할 수 있다. 하지만 Docker를 띄우고 애플리케이션까지 운영하려면 메모리가 부족할 가능성이 높아서 t3.small로 선택했다. 5. 키 페어가 없다면 새 키 페어 생성을 클릭하여 생성한..

Tomcat은 자바 실행환경에 있어야 하므로 JRE가 설치되어 있어야 한다. 따라서 JDK를 설치하고 Tomcat을 설치하자. 1. Tomcat 다운로드하기아래 링크에 접속한다. Apache Tomcat® - Welcome!The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of thetomcat.apache.org..

ERD(Entity Relationship Diagram) 직역하자면 '객체-관계' 모델이다. ERD는 존재하는 것(Entity)들의 관계(Relationship)을 나타낸 도표로 테이블간의 관계를 설명해주는 다이어그램이라고 할 수 있다. 이를 통해 프로젝트에서 사용되는 DB의 구조를 한 눈에 파악할 수 있다. 관계형 베이스 모델링 - 관계형 DB에서 주로 널리 사용된다. entity와 attribute를 table과 column으로 변환할 수 있다. table과 관계를 시각화 할 수 있기 때문에 설계 문제점을 파악할 수 있다. 소프트웨어 엔지니어링 - 소프트웨어 계획 단계에서 사용된다. 서로 다른 시스템 요소와 서로 간의 관계를 식별하는데 도움된다. data flow diagram의 기초로써 종종 사용..