1. MySQL에서의 문자 데이터 타입 의문점 MySQL와 PostgreSQL에서는 String 데이터 타입으로 VARCHAR와 TEXT가 존재합니다. 전자는 가변길이 문자열로 고정된 길이 없이 자유자재로 길이가 달라지는 문자열의 데이터 타입을 의미합니다. 이와 반대로 고정 길이 문자열인 CHAR은 지정한 길이의 문자열을 튜플에 저장하게 됩니다. MySQL에서는 CHAR를 쓰는 게 VARCHAR 보다 성능이 조금 더 좋다고 하죠? 그 이유는 여러 가지가 있는데 조사한 바론 대표적으로 아래의 이유가 있었습니다. CHAR는 고정된 길이의 공간에서 값이 저장되므로, 값의 수정이 발생하는 경우 그 공간을 재활용할 수 있다. 하지만, VARCHAR의 경우 현재 저장된 값보다 긴 문자열로 수정이 될 때, 새로운 영..
PostgreSQL
AWS와 VSCode를 연결하여 SSH로 접속할 수 있게 됐습니다. 이제 기본 설정을 해보겠습니다. 패키지 관리자를 업데이트 합니다. 그다음 테스트해보기 위해서 nginx를 설치합니다. 그 후에 바로 AWS 인스턴스의 아이피로 접속하려고 하는데 접속이 바로 가능하지 않을 것입니다. 그래서 AWS EC2의 인스턴스로 들어갑니다. 그 다음 보안탭에 들어가서 인바운드 규칙을 추가해주도록 합니다. nginx는 80번 포트를 사용하는데, 80번 포트에 대한 규칙이 없었기 때문입니다. 보안 탭에 있는 보안 그룹을 눌러서 이동합니다. 인바운드 규칙 편집을 눌러줍니다. 규칙 추가를 누른 후에 HTTP를 선택해줍니다. 이제 HTTP 프로토콜로 AWS 인스턴스의 아이피로 접속하면 NGINX 웹 서버로 접속할 수 있습니다...
연결 수정 각 path마다 다른 모델의 쿼리를 실행하고자 모델을 새롭게 정의하겠습니다. 그렇기 때문에 기존 pool 말고 모델 생성하는 것을 목표로 코드를 수정했습니다. Sequelize config.json 파일을 작성하여 설정할 것을 저장해주었습니다. 위치는 루트 디렉터리 하위에 config 폴더를 만들어 저장했습니다. . │📄 기타 환경 파일들 ├── .env ├── package.json ├── package-lock.json ├── node_modules │ │💻메인 파일들 ├── app.js ├── config │ └── config.json ├── lib │ └── handler.js ├── models │ └── index.js ├── public │ ├── images │ │└── log..
데이터 베이스 서버의 데이터를 저장하기 위해서 데이터 베이스를 연결하여 관리하도록 합니다. 데이터베이스 중에서 일단 관계형 데이터 베이스를 사용할 예정이라서 RDBMS 툴을 사용하도록 하겠습니다. RDBMS 에는 MySQL, MsSQL, Oracle, PostgreSQL, MariaDB 등이 있지만, MySQL과 PostgreSQL이 가장 사용자가 많습니다. 둘 중 어떤 것을 고를지 고민이 됐었는데, Stackoverflow survey 2022에서 Loved vs Dreaded 중 1등, want에서도 1등이었기 때문에 PostgreSQL을 공부하도록 하겠습니다. 데이터베이스 적용 1. 설치 npm i pg 2. 메인 파일 작성 여러 가지 적용 방법이 있겠지만, 공식문서를 따라가는 것이 좋다고 생각하여..