공배수, S3에서 이미지를 못 불러올 때

김민준·2023년 7월 8일
0
  1. 어제 보충
  2. AWS의 S3에서 이미지를 못불러 올 때
  3. CSV 파일?

공부하며 느낀 점
참조한 사이트

0. 어제 보충

어제 TIL

공배수 문제에서 추가로 더 고칠 점들이 있었다.

  • 자바스크립트의 모든 숫자는 double 타입이다.
    즉, 애초에 모든 숫자가 실수형이다.
  • parseInt(), parseFloat()는 string 타입의 숫자를 바꾸기 위한 것이다.
  • 소숫점을 없애고 싶다면 내림함수 Math.floor() 를 사용한다.
  • parseInt() 소숫점 없애기
    예) -12.22 > -12
    Math.floor() 내림처리
    예) -12.22 > -13

즉, 어제 만든 코드는 -값에서 문제가 생길 수 있는 코드였다. 물론, 조건상 마이너스 값으로 갈 일은 없다. 하지만, 조건내에서 더 빠르거나 안정적으로 되는게 아니라면, 조건이 바뀌어도 문제가 안생기게 짜는 것이 옳다고 생각된다.

그리고 한 가지 더 바꿀 점이 있다.

function solution(number, n, m) {
    (parseInt(number / n) === parseFloat(number / n) && parseInt(number / m) === parseFloat(number / m)) ? answer = 1 : answer = 0
    return answer
}

바로 너무 복잡해서 가독성이 떨어진다는 것이다.

function solution(number, n, m) {

    isMultipleOfN= (
        (number / n) === Math.floor(number / n)
        );
    isMultipleOfM = (        (number / m) === Math.floor(number / m)        );
    
    console.log((( isMultipleOfN  && isMultipleOfM ) ? 1 : 0 ));
}

연산식 (expression)(값을 만드는 부위) 않에서 값을 할당 (assignment) 하는 부분을 수정하고, 코드 가독성을 올렸다.

S3에서 이미지를 못 불러올 때

  1. 제대로 연결 되었는지 확인하자.
const s3Client = new S3Client({
  region: '접속할 지역',
  credentials: {
    accessKeyId: '엑세스 키 아이디',
    secretAccessKey: '엑세스 키',
  },
});

엑세스 키 와 아이디가 자기 AWS 계정의 소유가 맞는지 확인하자.

자신의 엑세스 키가 기억나지 않는다면...

AWS에 로그인 후 오른쪽 위의 닉네임 클릭
새로 뜬 창에서 보안 자격 증명 클릭

엑세스키 만들기를 누르자
본인 처럼 이미 키를 최대로 만들었고, 이전에 키를 저장해둔 rootkey.csv 파일 또는 이전 프로젝트의 미들웨어 등에서 찾을 수 없다면 이전 키를 삭제하고 새로 하나 만들어야한다.

삭제하고 싶은 키를 누르고, 작업 탭을 눌러 삭제를 누르자.
키를 삭제하면, 당연히 해당 키를 사용하던 서비스, 어플리케이션을 사용할 수 없게 되고 새로 발급 받은 키를 입력해야하므로 신중히 고르자.

비활성화 버튼을 누르고

입력 필드에 엑세스키의 이름을 입력한뒤(복사 붙여넣기해도 무방하다) 삭제 버튼을 누른다.

삭제가 되었다면 엑세스 키 만들기 버튼을 누를 수 있을 것이다.

위험 공지를 확인 후 체크하고 엑세스 키 만들기를 누르자.

엑세스 키와 비밀번호가 나오는데 외울 필요 없지 .csv 파일 다운로드를 누르면 엑셀 파일로 다운로드가된다.

만약 엑셀을 사용할 수 없다면, 구글 스프레드 시트등으로도 열 수 있으나, 역시 비밀 키를 인터넷에 올리는 것은 현명하지 못하다고 판단되므로...
차라리 메모장으로 열자, 쉼표 ,로 구분되어있다.

이게 없으면 본인이라도 내 DB에 접속 못하는 어처구니 없는 상황이 일어날 수 있으니 조심하자

개인적으로 셀을 클릭하고 복사하기보다는 위의 값을 드래그 또는 Ctrl+A 해서 복사하는 것을 추천한다.

셀을 복사하면 이렇게 줄이 바뀌지만

값을 드래그해서 복사하면 이렇게 한줄만 복사되기 때문에 키값 뒤의 괄호 따옴표 ' 가 다음 줄로 넘어가서 오류가 생기는 일을 막을 수 있다.

2. CSV 파일?

csv라는 파일이 대체 무엇인지, 왜 엑셀로 여는데 xlsx 가 아닌지 궁금해서 검색을 해보았다.
전문적인 영역에서 호환되지 않는 포맷의 프로그램끼리, 데이터를 주고 받을 때 사용하기 위한 파일 형식이라고한다.
즉, .xlsx 나 .txt 파일로 주어도 AWS가 우리에게 주는 데이터 자체는 같지만, .csv 파일 로 주면 사용하기에 더 편하기 때문에 이렇게 준 것이다.

공부하면 느낀 점들

  1. 수학과 논리의 중요성
    공배수 문제에 이틀이나(물론 전체를 쓴건 아니지만...) 써버렸다. 최소공배수라는걸 생각하지 못해서 처음에 이상하게 문제를 풀었다. 수학적 사고에 익숙해져서 직관적으로 나오게 해야겠다.
  2. 코드는 이쁘게
    코드의 컴파일, 수행은 컴퓨터가 하지만, 유지 보수하는것은 사람이다. 사람이 보기 편하게 만들자
  3. 작은 디테일
    AWS가 우리에게 접속키를 .csv 로 주듯이 간단하고 단순한거라도 호환성이 있게 만들어야한다고 느꼈다.

참조한 사이트

자바스크립트 자료형
실수 소수점 처리
parseInt() 와 Math.floor() 의 차이

자바스크립트 (연산)식
자바스크립트 할당

CSV 파일
CSV 파일

profile
node 개발자

0개의 댓글

관련 채용 정보