MongoDB 설치 1.ec2에 접속한다. 2. MongoDB public GPG key를 가져오고, APT 패키지 관리자에 추가한다. wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - 3. MongoDB를 위한 List 파일을 만든다. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list 4. MongoDB 설치 후 실행 sudo apt-get update sudo apt-get in..
이번 포스팅에서는 가장 대중적인 클라우드인 AWS EC2에 가장 대중적인 웹 프레임워크 조합인 스프링 부트 + 리액트 개발환경 구축하는 법을 다뤄보겠다. ➕ AWS 세팅 인스턴스 생성하기 aws의 ec2 대시보드에 들어가 인스턴스 시작 버튼을 눌러준다. 인스턴스 이름을 작성하고, OS 이미지로는 ubuntu 22.04 LTS를 선택해준다. (용도에 따라 이미지를 선택하면 된다.) 인스턴스 유형을 선택해준다. 비교적 최근에 나온 유형이 저렴하므로, t3 micro 버전을 선택해주었다. 프리티어를 사용할 경우 t2.micro를 선택해주어야 과금요소가 추가되지 않는다. 키페어를 생성해준다. 키페어는 후에 EC2 인스턴스에 원격으로 접속하기 위해 필수적으로 필요하고, 한 번 생성하면 다시는 다운할 수 없으므로 ..
25장 계층과 경계 시스템은 세가지 컴포넌트 (UI,업무 규칙, 데이터베이스)로 구성되어있다고 생각할 수 있지만, 실제로는 훨씬 많다. 움퍼스 사냥 게임 게임 규칙은 게임의 상태를 영속성을 가지는 특정한 데이터 구조로 저장한다. UI 컴포넌트가 어떤 언어를 사용해도 게임 규칙을 재사용 가능. 데이터 저장소 또한, 고수준인 게임 규칙을 의존하는 형태이다. 클린 아키텍처? 잠재된 아키텍쳐 경계를 존재할 수 있다. 이를 그림으로 나타내면 다음과 같다. 점선으로 된 테두리 : API를 정의하는 추상 컴포넌트 해당 API는 위나 아래의 컴포넌트가 대신 구현한다. 그리고 api는 구현하는 쪾이 아닌, 사용하는 쪽에 정의되고 소속된다. EX) Game Rules 내부 코드에서 사용하나 Language 내부 코드에서 ..
프로젝트를 진행하던 중 python 버전을 바꿀 일이 생겨서, 3.10 버전을 설치하려고 다음 명령어들을 사용하고 있었는데, sudo apt-get update sudo apt-get upgrade sudo apt install python3.10 etc.. 아래 에러가 공통적으로 발생했다. Setting up postgresql-common (190ubuntu0.1) ... dpkg: error processing package postgresql-common (--configure): installed postgresql-common package post-installation script subprocess returned error exit status 10 dpkg: dependency pro..
🪣S3 버킷 생성하기 AWS에서 S3 버킷을 생성하는 방법을 알아보도록 하자. 🎯S3란? Simple Storage Service의 약자로 인터넷용 스토리지이다. Amazon S3는 웹상에서 원하는 양의 데이터를 저장하고 검색하는데 사용할 수 있는 간단한 웹 서비스 인터페이스가 있다. 그리고 S3는 객체 스토리지인데, 객체로 된 파일을 저장한다. 🎯S3를 사용하는 이유 S3는 저장 용량이 무한대이고 파일 저장에 최적화되어 있다. 용량을 추가하거나 성능을 높이는 작업이 필요없다. 비용은 EC2와 EBS로 구축하는 것보다 훨씬 저렴하다 S3 자체가 수천 대 이상의 매우 성능이 좋은 웹 서버로 구성되어 있어서 EC2와 EBS로 구축했을 때 처럼 Auto Scaling이나 Load Balancing에 신경쓰지 ..
2부 xUnit이란? 이 책의 저자 켄트 백이 고안한 프레임워크인 Sunit으로부터 기능과 구조를 착안한, unit testing framework를 통틀어 칭하는 명칭이다. 파생상품으로는 Junit, Nnuit, xUnit.net 등이 있다. 18장 xUnit으로 가는 첫걸음 2부의 주제 TDD를 통해 실제 소프트웨어를 만드는 발전된 예제 자기 참조 프로그래밍에 대한 전산학 실습 이번 장에서 할 일 테스트 프레임워크를 테스트 주도 개발로 만들기. 테스트 메서드 호출하기 먼저 setUp 호출하기 나중에 tearDown 호출하기 테스트 메서드가 실패하더라도 tearDown 호출하기 여러 개의 테스트 실행하기 수집된 결과를 출력하기 테스트 메서드가 호출되면 true를 반환하는 원시테스트 작성 책에서는 tes..
mysql 관련 쿼리 작성 중 아무리 봐도 오류가 없는데 , 테이블에 데이터가 들어가지 않는 문제가 생겼었다. 이유는 테이블 설정을 utf8로 해주지 않아서였는데, 데이터 베이스를 여는 과정에서 return pymysql.connect( host='localhost', user='root', password=password, charset='utf8mb4') 다음과 같이 utf8mb4로 설정해주었기에 괜찮을 줄 알았다. 하지만 데이터베이스 뿐만 아니라 테이블의 charset 또한 utf8로 설정해주어야 한다는 것..! ALTER TABLE (테이블명) convert to charset utf8; mysql 콘솔에서 다음 명령어를 통해 변경을 해주자, 정상적으로 쿼리가 실행되고 데이터가 삽입되었다.
프로젝트 진행 중 분명히 라이브러리를 설치하고 , vscode에서 디버깅을 시도했는데 모듈을 참조하지 못하는 문제가 발생했다. 분명히 잘 됐었는데 싶은 마음에 열심히 원인을 분석하다가 , 이유를 보아하니 이전에 dataclasses 모듈에 대한 오류가 생겨 파이썬 버전을 기존 3.8를 사용하던 가상환경에서, 3.6으로 낮춘 가상환경을 새로 만들어 사용중이었다. 따라서 vscode 내에서 인터프리터 또한 해당 가상환경에 설치된 인터프리터를 사용해야 했던 것이다. vscode에서 ctrl+shift+p 이후 다음 명령을 검색한다. 이후 인터프리터로 내가 사용중인 가상환경을 선택해주자. 나는 현재 기본, python ps용 , 그리고 프로젝트용 가상환경 3가지를 돌려가며 사용중이다.