전체보기 (286) 썸네일형 리스트형 AWS S3 시작하기 - 버킷 생성, 접근 권한 설정 S3로 할 수 있는 것에 대해 정리하기 앞서 버킷을 만드는 방법에 대해서 설명한다. S3의 버킷을 만드는 방법은 간단하다. S3 서비스로 들어가서 버킷 만들기 버튼을 클릭하면 된다. s3.console.aws.amazon.com/s3/home?region=ap-northeast-2 (S3 버킷을 만드는 방법은 아래 매뉴얼을 참고하자.) docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html 버킷 이름에 고유한 이름과 Region을 서울로 설정한다. 다음 링크를 참고해서 어떤 형식으로 이름을 작성할지 참고하자. docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamin.. MySQL 각종 오류 해결법 기록 1. node 실행시 다음 에러가 발생했다. Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client MySQL Workbench에서 다음을 실행한다. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; flush privileges; 위의 password 대신 사용할 암호를 설정한다. stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authenti.. 타입스크립트 기본 자바스크립트는 변수에 다른 타입의 값을 넣을 수 있다. let any = '문자'; any = 1; 유연한 언어라고도 할 수 있지만 변수가 저렇게 자꾸 바뀌면 문제가 발생할 수 있다. any라는 변수가 숫자로 바뀌었는데 문자인줄 알고 문자에서만 사용할 수 있는 메소드를 사용하면 에러가 발생한다. 때문에 변수의 타입을 유지하는 게 바람직하고 타입스크립트는 이를 강제해준다. let a: any = 1; let b: string; let c: number; let d: []; let e: {}; 설정한 변수에 다른 타입의 값을 넣으려고 하면 에러가 발생한다. 변수는 위와 같이 타입을 명시하고 함수는 아래와 같이 타입을 명시한다. function addOne(number: number): number { ret.. Unit Test에 대한 오해 풀기 유닛 테스트의 개념을 잘못 알아 테스트를 위한 테스트 코드가 되는 순간 새로운 기능을 구현할 때마다, 에러가 발생하는 테스트 코드를 다시 짜야하는 뻘짓을 하게 된다. 테스트 코드를 제대로 구현하기 위해 유닛 테스트에 대해 알아보고자 한다. 유닛 테스트의 유닛은 함수 하나를 가리키는 게 아니다. 유닛을 어떻게 정의 하느냐에 따라서 단순한 함수 하나를 테스트할 수도 있고 하나 이상의 함수 등이 합쳐진 코드를 테스트할 수도 있다. 예를 들어 전자렌지의 성능을 높인다고 해보자. 시작 버튼을 눌렀을 때 좀 더 효율적으로 돌아가도록 트렌지스터를 교체한다고 하자. 이 과정에서 어떤 트렌지스터를 쓸지, 몇개나 쓸지 등의 직접적인 코드 구현은 어떻게 해도 상관이 없다. 중요한 것은 시작 버튼을 눌렀을 때 이전과 동일하게.. Redux의 코드를 간결하게 해주는 @reduxjs/toolkit redux를 사용하면 코드가 복잡해지는 단점이 있다. @reduxjs/toolkit를 쓰면 이를 해결 할 수 있다. Basic @reduxjs/toolkit을 쓰는 간단한 예제다. github.com/socratone/simple-redux-toolkit configure.js는 redux의 store에 해당한다. configureStore 메소드를 써서 store를 생성하면 redux dev tools 설정을 자동으로 해주고 dispatch를 비동기적으로 처리할 수 있다. bugs.js는 redux의 reducer에 해당한다. createSlice 메소드를 써서 보다 간결하게 reducer를 구현할 수 있다. 각 action을 처리하는 함수에서 원래는 state를 deep copy 해야 하지만 내부적으.. AWS EC2 인스턴스를 생성하고 원격으로 접속하는 방법 인스턴스 생성 AWS EC2의 인스턴스에 들어가서 ec2의 인스턴스 시작을 클릭한다. ap-northeast-2.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-2#Instances: 아래의 7단계 설정을 해서 생성한다. 1. AMI 선택 어떤 컴퓨터를 쓸 것인지 선택한다. (가능하다면 ubuntu 프리티어 사용) 2. 인스턴스 유형 선택 컴퓨터의 성능을 선택한다. 3. 인스턴스 구성 고급 사용자만 설정할만한 세부적인 설정을 한다. 4. 스토리지 추가 컴퓨터에서 쓸 하드 디스크를 선택한다. 5. 태그 추가 인스턴스를 설명할 수 있는 태그를 추가할 수 있다. 6. 보안 그룹 구성 인스턴스의 접속 권한을 설정한다. 리눅스의 경우 SSH로 원격 접속을 해야 하.. SQLite 시작하기 - 테이블 생성 SQLite는 MySQL과 달리 데이터베이스 파일을 얻을 수 있고 가볍게 쓸 수 있어서 혼자 작은 프로젝트를 하기에는 딱이다. node에서 sqlite3를 써보니 코드가 너무 예쁘지 않긴 하지만 부담스러운 MySQL을 제끼고 쓸 수 있어서 좋다. SQLite를 시작하려면 먼저 데이터베이스 파일을 만들어야 한다. 터미널에서 다음 명령어로 database.sqlite3라는 파일을 생성한다. 파일이 이미 존재한다면 열게 되고 없다면 테이블을 만들고 종료했을 때 새로 생성한다. sqlite3 database.sqlite3 테이블은 아래와 같은 방식으로 생성할 수 있다. 위 명령어를 입력해 터미널이 sqlite>에 들어간 상태에서 아래 전체를 복붙하면 한 번에 실행된다. create table user(id, n.. import, export가 쓰인 파일을 jest로 테스트하는 방법 앱을 구현하다가 재사용 빈도가 높을 모달을 만들게 됐고 회사에서 조금 끄적여본 테스트 코드를 적용해보고 싶어졌다. 하나만 손대더라도 다양한 방법으로 사용될 모달 클래스에 문제가 생길 우려가 있었기 때문이다. 또한 모달은 다른 구현체에 비해 복잡도가 높지 않아 만만해 보이기도 했다. 그러나 jest가 import가 붙은 파일을 테스트하지 못했다. test 명령을 입력할 때마다 모르는 문법이라고 짜증을 냈다. 노드는 기본적으로 import와 export를 모른다. 노드 기반의 jest를 올바로 동작하게 하려면 바벨 형님을 이용해 변환 작업이 필요했다. 먼저 필요한 devDependencies는 다음과 같다. 전부 설치하자. "devDependencies": { "@babel/core": "^7.12.7", .. 이전 1 ··· 9 10 11 12 13 14 15 ··· 36 다음