분류 전체보기
-
[Jest] Jest로 단위테스트 시작하기framework/jest 2024. 12. 21. 12:28
Jest로 단위테스트 시작하기 단위테스트소스코드의 개별단위를 테스트하여 해당단위가 제대로 동작하는지 확인개발 라이프 사이클의 초기 단계에서 디버깅이 가능해지고 개발 시간을 크게 절약할 수 있다. 단위테스트의 조건1. 독립성테스트들은 독립적이어야하고 다른 테스트에 영향을 받으면 안된다2. 격리Ajax, axios등 외부 모듈에 의존해선 안된다 단위 테스트를 하는 이유1. 테스트 자동화 - 프로그램이 커질수록 로컬환경에서 모든 코드를 실행시켜보기 어렵다.2. 디버깅 용이 - 클래스간 종속성이 있는 상황에서도 쉽게 에러를 확인할 수 있다. Jest페이스북이만든 JS 테스트 프레임워크단위테스트를 위해 이용 Jest시작하기1. jest설치npm install jest -dev2. package.json 수정"s..
-
[WEB] AWS route53로 AWS CloudFront에 도메인 연결하기(+DNS )(+AWS SSL로 https까지 적용하기)web 2024. 12. 15. 13:10
AWS route53로 AWS CloudFront에 도메인 연결하기(+DNS )S3와 CloudFront를 이용해서 웹사이트를 배포하는 중에 CloudFront에서 기본제공하는 aws 도메인보다 자체 도메인이 필요하다 판단되었다. AWS Route 53이란?- AWS의 DNS서비스 (도메인을 발급하고 관리해주는 서비스)- DNS에서 사용하는 포트번호(53)에서 유래 클라이언트 입장에서 AWS서비스중 가장 먼저 만나게되는 서비스이다.그래서 Route 53 서비스에서 문제생기면 그 뒷부분의 모든 AWS서비스를 이용할 수 없기때문에 매우 높은 고가용성 서비스이다. 관련개념(도메인과 레코드) 도메인- 문자로 표현된 인터넷 주소 도메인을 사용하는 이유IP주소는 특정 컴퓨터를 가리키는 주소로 본래 숫자로만 ..
-
[WEB] https의 동작원리 (+대칭키 vs 비대칭키)(+AWS SSL로 https적용하기)web 2024. 12. 15. 12:09
https의 동작원리 (+대칭키 vs 비대칭키) 대칭키 vs 비대칭키 대칭키- 암호화와 복호화할때 같은 키를 사용한다.문제점- 적어도 한번은 키를 한쪽으로 전송해야하는데 그 과정에서 탈취당할 수 있음. 비대칭키(공개키)- A키로 암호화하면 B키로만 복호화할 수 있고, B키로 암호화하면 A키로만 복호화할 수 있는 방식 비대칭키로 서버와 클라이언트가 데이터를 주고받는 방식서버는 자신만의 개인키를 갖고, 공개키는 공개한다.클라이언트는 공개키로 암호화해서 서버에 전송.(서버가 가진 개인키로만 복호화가능하기 때문에 서버만 볼 수 있다.)(공개키로는 복호화할 수 없기때문에 외부에 유출되어도 안전하다.)서버에서 온 데이터는 서버 개인키로 암호화된 것이기 때문에 공개키로만 열어볼 수 있음.다른 피싱사이트에서 온 ..
-
[AWS] AWS S3 / CloudFront 를 이용해서 정적 웹서비스 배포하기AWS 2024. 12. 14. 18:20
AWS S3 / CloudFront 를 이용해서 정적 웹서비스 배포하기 S3는 무엇인가?- 파일 저장서비스하지만 추가적인 기능들이 있다. 그 중하나가 정적 웹사이트 호스팅 기능이다. 웹 서비스를 다른 사용자들도 쓸 수 있게 인터넷에 배포하는 것CloudFront는 무엇인가?- 컨텐츠(파일, 동영상등)를 빠르게 전송하게 해주는 서비스컨텐츠(파일, 동영상)는 S3에 저장된다. 하지만 실제 S3 저장소의 위치에 따라 위치가 먼 사용자가 이용한다면 이를 전송받는데 시간이 오래걸린다.이런 문제를 해결하고자 전 세계 곳곳에 컨테츠(파일, 동영상)의 복사본을 저장해놓을 수 있는 임시 저장소를 구축한다. 그러면 한국 S3저장소에 컨텐츠를 업로드해 놓고 미국 사용자가 컨텐츠를 다운로드한다면 미국 S3 저장소에서 가져오기..
-
[CI/CD] 컨테이너 환경에서 CI/CD 구축하기(+code deploy 적용)CICD 2024. 12. 14. 17:35
컨테이너 환경에서 CI/CD 구축하기(+code deploy 적용) code deploy 적용 시 장점 / 단점 / 언제 적용하면 좋은지?https://ki-ju.tistory.com/199 [CI/CD] github-actions를 이용한 CI/CD구축-3 (+AWS code deploy)github-actions를 이용한 CI/CD구축-3 (+AWS code deploy) code deploy를 사용하는이유 (장점)code deploy는 여러대의 ec2 서버에 자동 배포를 쉽게 구축할 수 있다쉽게 무중단 배포를 적용할 수 있다.그외 장점(둘kiju.pro 적용 1. Github Actions 코드 수정codedeploy를 적용함으로써 기존 SSH로 EC2에 직접 접속하는 로직이 사라지고,..
-
[CI/CD] 컨테이너 환경에서 CI/CD 구축하기CICD 2024. 12. 13. 17:31
컨테이너 환경에서 CI/CD 구축하기 CI/CD 흐름1. 깃허브푸시2. 깃허브액션에서 도커이미지 생성3. 도커 이미지를 ECR로 전달4.(깃허브액션이 EC2에게) ECR로부터 도커 이미지를 다운받아 배포진행하도록 명령5.(EC2가) 도커이미지 다운후 배포진행장점도커 컨테이너 기반의 서비스일때 가장 간단하게 구성할 수 있는 인프라 구조 단점무중단배포를 구현하거나 여러 EC2 인스턴승 배포해야하는 상황이라면 직접 깃허브액션 스크립트에 작성해서 구현해야한다. 꽤 복잡해진다. 언제쓰는방식인가?컨테이너 기반으로 인프라를 구성했을때 이방법을 많이 활용한다.서버 여러대 운영하지않을 정도의 소규모 프로젝트일때 주로 활용 준비사항 0. AWS CLI설치로컬, ec2모두에 설치 설치방법:https://ki-ju.tist..
-
[linux] linux 파일/디렉토리 권한OS 2024. 12. 11. 14:41
리눅스 파일/디렉토리 권한 rwx의미- read 읽기- write(생성, 삭제, 수정)- execute 실행ll # 파일/디렉토리 권한 확인-rw-r--r-- 1 ubuntu ubuntu 9488202 Dec 10 12:48 today-review-postgres-data.sql 1[파일타입] / 3[소유주 권한] / 3[소유그룹 권한] / 3[다른 사람들] [소유주] [소유그룹] [크기] [날짜] [파일명] 파일/디렉토리 권한 변경하기chmod (change mode)chmod [권한] [파일명] Read - 4Write - 2Execute -1data.sql에 사용자(rwx), 사용그룹(r), 다른사용자(r) 권한 부여.chmod 744 data.sql ※참고참고 : 디렉토리는 실행권한 x..
-
[linux] linux 명령어 팁OS 2024. 12. 11. 13:23
linux 명령어 팁 커맨드 도움말겹치는 명령어가 있다면 그 명령어들을 모두 보여주는 기능tab 두번누르기예시vi로 시작하는 명령어가 궁금하다면 vi치고 tab 두번 누르면 나타난다.폴더/파일들도 어떤 것들이 있는지 보여준다. 마지막 작업 디렉토리로 이동방금 있었던 디렉토리로 이동cd - 홈디렉토리로 이동cdcd ~ 이전 명령어 재실행이전명령어 목록보기hisotry이전명령어 재실행!명령어일부 /!숫자로 재실행 커맨드 줄의 처음/끝으로 이동Crtl + A/E 커서위치에서 앞/뒤 내용모두 삭제Crtl + U/K 디렉토리 자세히보기L # ls대신 l사용ll # ls -al 대신 ll사용 여러 명령어 재실행;명령어1; 명령어2; 명령어3;Ll; cd; 논리값을 이용한 명령어 실행명1이 성공적으로 실행되면 명령어..