[DynamoDB] DynamoDB 로컬 연결
·
💻 CS/Database
1. NoSQL Workbench로 로컬 연결NoSQL Workbench 설치하기Download NoSQL Workbench for DynamoDB NoSQL Workbench 설치 후, DDB local 실행하기 8000포트로 DynamoDB 로컬 실행하기실행 후, 로컬 다이나모디비가 실행중인지 명령어로 확인lsof -i :8000실행후, 테스트 테이블 만들기테이블 생성 후로컬 다이나모디비에 생성된 테이블 리스트 확인aws dynamodb list-tables --endpoint-url --profile profile.id 로컬 다이나모디비에 아이템 넣기aws dynamodb put-item \ --endpoint-url http://localhost:8000 \ --table-name Test..
[DynamoDB] 키 디자인 패턴
·
💻 CS/Database
DynamoDB 테이블 구조아이템(보통 RDBMS에서는 로우라고 부름)어트리뷰트(보통 RDBMS에서는 컬럼이라고 부름)파티션키(PK) : PK가 있기때문에 테이블의 크기가 아무리 크더라도 동일한 시간에 특정 아이템을 검색할 수 있음.정렬키(SK) : SK를 통해서 1:N 관계 모델링을 할 수 있음.데이터베이스 스케일링트래픽이 증가할 때, 높은 성능이 필요한 경우 RDBMS는 스케일 업을 선택함. 하지만 NoSQL은 처음부터 대규모 트래픽을 목적으로 만들어졌기때문에 스케일 아웃 전략을 선택함.그렇다면 기본 전제는 수평으로 확장 가능한 데이터를 어떻게 설계할 것인가임.각 머신들을 골고루 잘 사용할 수 있도록 설계해야함.여러 개의 파티션이 골고루 사용될 수 있도록 키 디자인 하는 것이 중요함.제약 조건RCU ..
[JS] 데이터타입 / 원시 값과 객체의 비교
·
👨‍💻 Programming/JavaScript
데이터 타입 분류자바스크립트의 데이터 타입은 크게 두 가지로 분류됩니다.Primitive Type : String, Number, boolean, null, undefined, SymbolReference Type : Object - Array, function RegExp, Set, Map ...참고로 자바스크립트 메모리는 스택과 힙 영역으로 구분되어 있는데, Primitive Type은 스택 영역에 Reference Type은 힙 영역에 저장됩니다.
[AWS] SAM local 실행 중 오류 Address already in usePort 3000 is in use by another program.
·
⚙️ Tool/AWS
SAM 람다 함수를 테스트 하기 위해 로컬로 실행 시, 아래와 같은 메세지를 자주 봤습니다.Address already in usePort 3000 is in use by another program.3000 포트를 다른 프로그램이 사용하고 있다는 말이기 때문에 3000 포트 PID를 찾아 종료해주면 됩니다.❯ lsof -i :3000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsam 88428 jin 2314u IPv4 0xab2efde4a0974aa1 0t0 TCP localhost:hbci (LISTEN)❯ kill 88428혹은 다른 포트를 사용하면 됩니다.sam local start-api --po..
[AWS] AWS CLI 프로파일 목록 확인 및 삭제
·
⚙️ Tool/AWS
계정 확인 방법❯ aws configure list-profilesdefaultjinjin2jin3삭제 방법터미널에서 아래 명령어로 AWS 설정 파일을 엽니다.nano ~/.aws/credentials또는code ~/.aws/credentials # VS Code로 여는 경우삭제하고 싶은 프로파일의 항목을 찾고 아래와 같이 제거합니다[jin3]aws_access_key_id = AKIAXXXXXXXXXXXXXaws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX같은 방식으로 ~/.aws/config 파일도 열어서 해당 프로파일 항목이 있으면 삭제합니다:nano ~/.aws/config[profile jin3]region = ap-northeast-2outp..
[Next.js] Rendering
·
👨‍💻 Programming/Next.js
What is Rendering?Rendering is the process of transforming the component code you write into UI that users can see and interact withIn Next.js, the tricky part to building a performant application is figuring out when and where this transformation should happen.CSR, SSR and RSCs?Rendering in React → Rendering in Next.jsHow rendering works in React - CSRClient Side RenderingThis whole approach - ..
[Next.js] Next.js 소개
·
👨‍💻 Programming/Next.js
IntroductionNext.js is a React framework for building full-stack web application.리액트만으로 애플리케이션을 구축할 때 모든 기능을 갖춘 애플리케이션을 만드는 것은 실행 불가능합니다. 리액트는 유저 인터페이스를 구축하는 라이브러이고, 라우팅, 데이터 페칭 등등 과 같은 다른 기능에 대한 결정을 해야합니다.Next.js는 유저 인터페이스를 위해 리액트를 사용하고, 어플리케이션을 위한 추가적인 기능을 제공합니다. 그것에는 라우팅, 최적화된 렌더링, 데이터 페칭, 번들링, 컴파일링 등이 있습니다. Next.js는 필요한 패키지를 모두 제공하기 때문에 추가적인 패키지를 설치할 필요가 없습니다.하지만 이러한 특징들을 구현하기 위해 따라야할 컨벤션이 있..
[TanStack Query] TanStack Query란
·
👨‍💻 Programming/React
TanStack Query란네트워크에서 받아온 데이터의 상태를 관리할 수 있도록 도와주는 라이브러리입니다.공식문서TS/JS, React, Solid, Vue, Svelte를 위한 강력한 비동기 상태관리 라이브러리세부적인 상태관리, 수동적인 refetching 그리고 끊임없는 비동기 스파게티 코드를 토스해라. 텐스택 쿼리는 선언적이고, 최신의 자동화된 쿼리 그리고 mutation을 줄 것입니다. 그 결과 개발자와 사용자 경험을 향상시킬 수 있을 것입니다.선언적이고 자동적입니다.데이터 fetching 로직을 일일이 작성할 필요가 없습니다. TanStack Query에게 어디서 데이터를 가져오면 되는지 얼마나 데이터의 신선도를 유지할 것인지 말해주세요. 그러면 나머지는 자동적일것입니다. TanStack 쿼리는..
[git] private repository clone시 remote: Repository not found
·
⚙️ Tool/git
문제다른 사람의 private repository clone시 remote: Repository not found가 나와서 클론을 받을 수 없었습니다.해결책 1github.com의 앞에 유저이름@를 붙여줍니다.$ git clone https://유저이름@github.com/~~~~~~~.git해결책 2이후 권한을 부여받은 토큰을 발급받아 입력해줍니다.토큰 발급 받기프로필을 클릭하고, 세팅에 들어가면 아래와 같은 화면이 나옵니다.