brew 설치하기터미널에 붙여넣기/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"환경 변수 설정 및 적용vi ~/.zshrcexport PATH=/opt/homebrew/bin:$PATHsource ~/.zshrciTerms2 설치brew install iterm2oh my zsh 설치커스텀 하기 위한 프레임워크sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"테마, 폰트 변경color theme 사용마음에 드는 테마 URL 복사https://iterm2colorsc..
전체 글
🧠 GitHub + CodeRabbit으로 자동 코드 리뷰 받기개인 프로젝트든 팀 프로젝트든, 코드 리뷰는 코드 품질을 유지하는 핵심 요소입니다.하지만 혼자 개발하거나 소규모 팀이라면 리뷰 프로세스를 유지하기가 쉽지 않습니다.CodeRabbit을 이용하여 시간을 단축시키고자 합니다.📌 CodeRabbit이란?CodeRabbit은 GitHub PR(Pull Request) 기반의 AI 코드 리뷰 도구입니다.PR이 생성되면 자동으로 코드를 분석하고,리팩토링 포인트나 버그 가능성 등을 제안해줍니다.⚙️ 1. CodeRabbit 설치하기 (GitHub Marketplace)👉 CodeRabbit 페이지 접속Log in 클릭소스코드 관리 플랫폼 선택 (GitHub, GitLab, Azure DevOps, B..
이 글은 클라이언트 환경에서 aws-sdk를 활용하여 S3에 있는 파일을 수정하거나, 새로 업로드, 삭제하는 기능에 대해 소개사전 준비 사항AWS IAM 권한에서 s3의 업로드, 읽기, 삭제에 대한 권한을 추가해야한다업로드, 수정: s3:PutObject삭제: s3:DeleteObject객체 존재 확인: s3:GetObject버킷 확인: s3:ListBucket (필요시)aws-sdk 설치npm i aws-sdkaws-sdk 세팅// awsConfig.jsimport AWS from "aws-sdk"const ACCESS_KEY = process.env.S3_ACCESS_KEY;const SECRET_KEY = process.env.S3_SECRET_KEY;const BUCKET_REGION = proc..
SPA(Single Page Application)는 빌드 후 정적 파일 형태이기 때문에 별도에 서버의 로직 없이 파일만 서빙하면 됨으로 정적 파일은 S3에 올리고 CloudFront를 통해 CDN을 통해 콘텐츠를 빠르고 안정적으로 전송한다.CDN이란(Content Delivery Network)콘텐츠를 전세계 여러 서버에 복제해놓고 사용자에게 더 빠르게 전달해주는 네트워크 시스템.S3 버킷 생성S3 버킷 생성퍼블릭 엑세스 차단 설정빌드 결과물 업로드CloudFrontAWS console CloudFront -> 배포 -> 배포 생성원본 -> 생성한 S3 버킷 선택 (만약 S3안에 폴더링이 되어 있을 경우 Origin path에 해당 폴더명 작성 ex) /admin )원본 엑세스 -> 원본 엑세스 제어 ..
서론Next.js로 개발하던 와중에 반응형 결과물을 확인하기 위해 IOS Safari로 접속하였는데 폰트 굵기가 내가 의도한것보다 더 굵게 나오는 상황을 맞딱드렸다. 크롬이나 mac으로 사파리로 열면 문제가 없는데 유독 핸드픈으로 접속할 경우에만 이상한 상황이 발생하였다.해결 방법해당 문제를 좀 찾아보니 IOS Safari에서는 폰트 합성이 문제가 되고 있다는것을 알게 되었고 특히 font-weight:600 & 700에서 문제가 발생하고 있다는것을 알게되었습니다. 해당 문제의 해결방법은 css 속성 중 브라우저가 폰트 합성을 막는걸로 해결이 되었습니다.body, html { font-synthesis: none;} font-synthesis 속성은 지정된 글꼴 패밀리에 굵게, 기울임꼴, 소문자 및/또..
호이스팅이란?호이스팅이란 사전적 의미로 끌어 올리기라는 의미입니다. 자바스크립트에서도 코드를 실행하기 전에 함수, 변수, 클래스 또는 import의 선언문을 해당 범위의 맨 위로 끌어올리는 현상입니다.변수 호이스팅변수는 var, let, const로 선언하는데 호이스팅되는 방식이 다릅니다. 변수의 생성과정은 선언 단계, 초기화 단계, 할당 단계 3가지입니다.var: 호이스팅과 동시에 undefinde로 변수를 초기화let, const: 선언 자체는 호이스팅은 되었지만 초기화가 되지 않으므로 초기화 전에 호출하게 되면 TDZ라는 일시적인 사각지대에 존재하기 때문에 참조에러가(ReferenceError) 발생console.log(a); // undefinedvar a = 1;console.log(b); //..