[Database] MYSQL - VARCHAR vs TEXT
·
개발/Database
게시글 작성시 DB저장시 내용부분의 타입은 뭘로 쓸지 VARCHAR로 하면 길이는 얼마나 줘야할지 고민했다. 이참에 VARCHAR와 TEXT의 차이를 알아보고 앞으로 어떤 타입을 적용시키는게 좋을까를 정리하려고 한다. 모든 테이블은 InnoDB를 기반으로 한다. 1. VARCHAR varchar은 variable character 즉 가변적인 캐릭터이다. char 타입과 비교해보면 char 타입은 고정 크기이고 varchar은 가변 크기인 것이다. varchar를 설정할때 항상 괄호 안에 있는 숫자가 글자 수인지 바이트 수 인지 헷갈렸다. -> 글자 수라고 한다. 즉 varchar(255) 라고 설정하면 255자 이하의 문자열을 사용할 수 있다. varchar은 최대 65535개의 문자열을 저장할 수 있..
[React] Redux vs Recoil
·
개발/React
모든 코드는 Github에 저장되어 있습니다. 나는 리액트로 개발을 할때 redux밖에 사용하지 않았었다. Redux는 검증되어있는 느낌이었고 커뮤니티 풀도 Redux가 우세했기 때문에 처음에 Redux를 공부하여 Redux만 사용했다. 최근 React-query를 사용하여 서버데이터와 클라이언트 내부데이터의 상태관리를 나누는 방법으로 개발을 하고 있다. 그래서 내부 상태저장을 할때 상대적으로 코드가 적은 recoil에 관심을 가지게 되었고 redux와 recoil의 차이점을 알아보려고 한다. 1. Redux 기존 양방향 데이터 흐름 Meta(전 Facebook)는 상태관리 문제를 해결하기 위해 Flux 패턴을 만들어 양방향 데이터 흐름에서 벗어나 단방향으로만 데이터를 변경할 수 있도록 만들었다. Red..
[Devops] spring boot 블루/그린 무중단 배포 (gitlab ci, docker, nginx)
·
개발/Devops
spring boot로 무중단 배포를 이용하려고 한다. spring boot도 code deploy, elastic beanstalk 등등 무중단 배포 방법은 많다. 그중에서도 블루/그린 방법으로 docker를 이용하고 nginx도 공부할겸 nginx로 배포하려고 한다. 먼저 배포 과정은 아래와 같다. (1) gitlab에 push (2) 8080에 실행되고 있는 spring boot 멈춘 후 업데이트 (3) 8080 업데이트 후 실행 (4) 8081 멈춘후 업데이트 이러한 배포 방식을 블루/그린 이라고 하며 블루 컨테이너를 주로 보여주고 업데이트시에만 그린 컨테이너를 이용하는 방법이다. 그렇게 하여 기존 제공되는 서비스는 멈추지 않고 변경사항을 적용할 수 있다. 나는 업데이트 적용 후 green을 멈추..
[Devops] react 무중단 배포 (gitlab ci, s3, cloudfront)
·
개발/Devops
react 프로젝트를 gitlab ci 를 이용하여 s3에 저장 후 cloudfront에 배포한 경험을 정리한다. 깃허브액션, 도커를 이용하여 자동배포는 설정해본적이 있지만 서비스가 중단되지 않는 무중단 배포는 아니었다. 이번엔 서비스가 중단되지 않는 무중단 배포를 설정해보려고 한다. react를 무중단 배포 하는 방법은 여러가지가 있다. Cloudfront로 ec2를 따로 관리 안해줘도 된다는 점과 protect 정책, cdn 등 많은 걸 지원해줘서 cloudfront로 결정했다. 배포 과정은 다음과 같다. 1. gitlab github와는 다르게 gitlab은 runner를 따로 설치해서 사용해야 한다. 그래서 먼저 gitlab runner를 등록해야 한다. 처음 이부분을 모르고 계속 실패했다가 나중..
[AWS] AMI로 EC2 인스턴스 공장 만들기
·
개발/AWS
최근 오토스케일링 그룹을 만드는 과정에서 애를 좀 많이 먹었다. 처음에 EC2인스턴스를 오토스케일링 그룹으로 만들어주면 알아서 되겠지~ 했다가 많은 삽질을 했다. 그래서 그 삽질한 부분을 정리하려고 한다. 오토스케일링 그룹이란 유동적으로 인스턴스의 수를 관리하는 것이다. 예를 들면 하나의 EC2 인스턴스로 홈페이지를 만들었다고 하자. 평소엔 잘 돌아가다가 갑자기 이벤트를 진행하여 사용자들이 몰렸다. 그래서 서버가 터졌다. 흔히 수강신청, 티켓팅 등 유저들이 몰리면서 서버가 터지는 경우가 있다. 만약 어느정도 유저들이 몰리면 새로운 EC2 인스턴스를 자동으로 생성하고 이벤트가 끝나면 생성했던 EC2를 종료한다면 가격적으로 금상첨화일것이다. 예는 들었지만 내 생각은 수강신청, 티켓팅은 단시간에 몰리는 경우는..