유연한 함수를 만들어라
·
개발독서
Tip 01 테스트하기 쉬운 함수를 작성하라 🧪 테스트는 왜 중요할까?테스트가 있으면 코드를 자신 있게 리팩토링할 수 있다테스트는 오래된 코드 이해하는 데도 도움이 된다근데… 개인적으로는 솔직히 아직 잘 모르겠다🧠 현실적인 생각"개발할 것도 많은데 테스트 코드까지?""심지어 테스트 하기도 어려운 코드인데?" 이런 생각 100% 공감 간다.나도 그렇게 생각했었고, 지금도 솔직히 항상 테스트부터 짜진 않는다.테스트 하기 쉬운 코드는테스트만 쉬운 게 아니라, 전체적으로 구조가 좋은 코드인 경우가 많다. ❌ 테스트하기 어려운 코드의 예function fetchUserName() { const config = require('./config.json'); // 설정 파일 읽기 return fetch(`${..
매개변수와 return문을 정리하라
·
개발독서
Tip 01 매개 변수 기본값을 생성해라. 매개변수에 기본값을 설정하면 함수 호출 시 값이 없더라도 에러 없이 동작할 수 있다.특히 단위 변환 함수처럼 자주 호출되는 함수에 유용하다. 다음은 매개 변수를 사용하지 않을때:조건문 많고, 수식 중복되고, 읽기 귀찮음숫자 포맷 로직도 반복되고 재사용 어려움function convert(pound, unit) { if (!unit) unit = 'kg'; let result; if (unit === 'kg') { result = Math.round(pound * 0.453592 * 100) / 100; } else if (unit === 'oz') { result = Math.round(pound * 16 * 100) / 100; } els..
vimeo에서 mux로
·
nest
처음엔 진짜 아무 생각 없었다. 팀원 한 명이 “Vimeo에 영상 올리면 되지 않을까요?” 라길래, “ㅇㅋㅇㅋ~” 하고 작업 시작했는데… 아니 이게 뭐냐프리티어 용량 찔끔고화질 제한업로드 제한까지?프론트에서 영상 업로드까지 시키고 싶었는데, 이 구조로는 도저히 못 버틸 것 같았다.S3로 하자니 너무 손이 많이 감잠깐 AWS S3도 생각했는데,그건 단순 저장소일 뿐이고…영상 인코딩은?썸네일 생성은?스트리밍은?이걸 전부 직접 하려면Lambda + ffmpeg + CloudFront + 사후 처리 = 지옥그래서 결국 다시 찾아봤다. 그게 바로…왜 Mux로 갔는가?업로드, 인코딩, 썸네일, 스트리밍까지 그냥 다 해줌Vimeo보다 개발자 문서가 훨씬 친절함가격도 사용량 기반이라 유연하게 컨트롤 가능프론트에서 직..
vimeo 연동하기
·
nest
🎥 Vimeo Live API 써보려고 함일단 링크부터 박고 시작한다.👉 Vimeo Live API 개발자 문서 🙋 배경: 이런 흐름으로 작업 중지금 프론트로 들어온 사이드 프로젝트에서내가 하고 싶은 기능이 하나 있었다.백엔드는 기존에 Spring으로 구성돼 있음인증, 계정, 기타 설정은 기존 백엔드 담당나는 NestJS 서버 하나 세워서 프론트에서 받은 토큰 검증하고 Vimeo 관련 작업만 처리하려고 함근데…처음이다 보니 고민이 많다.정리도 안 되고, 뭘 먼저 해야 할지도 막막했음.그래서 지금부터 정리 시작 ✍️ 1️⃣ Vimeo 앱 등록하기 (OAuth 준비)Vimeo에서 API를 쓰려면 앱을 등록해야 한다.https://developer.vimeo.com/apps앱 만들고Redirect UR..
JWT로 마이그레이션 해봅시다.
·
nest
🧠 세션에서 JWT로 넘어가면서 느낀 것들세션 키 기반 인증 쓰면서 느낀 건 이거다.Redis에 세션 저장하면 검증은 빠름프론트 요청이 끊기지 않게 해주는 건 좋음근데 말이지...이미 서버에 부하 주는 애들이 너무 많음(예: 실시간 채팅, 푸시 알람 등)그래서 결국 결정했다.JWT로 넘어가 보자. 🛠️ JWT 관련 패키지 셋업이건 그냥 받아놔라. (귀찮으니까 나중에 또 찾지 말고)# 이거는 다운받아라잉npm i @nestjs/jwt @nestjs/passport passport passport-jwtnpm i -D @types/passport-jwt# 이거는 스웨거 써야되니께..npm i @nestjs/swagger swagger-ui-express 🤯 삽질 포인트: 로그인 코드를 너무 분산시킴처음..
반복문을 단순하게 만들어라
·
개발독서
01. 화살표 함수로 반복문을 단순하게 만들어라화살표 함수(Arrow Function)는 ES6(ECMAScript 2015)에서 도입된 JavaScript의 중요한 기능으로, 함수를 더 간결하게 작성할 수 있게 해줍니다. 기존의 함수 선언 방식에 비해 많은 부분을 생략하여 코드를 더 읽기 쉽고 관리하기 쉽게 만들어줍니다.화살표 함수의 기본 문법기존의 함수 선언 방식과 화살표 함수를 비교해보면 차이점이 명확히 드러납니다:// 기존 함수 선언 방식function capitalize(name) { return name[0].toUpperCase() + name.slice(1);}// 화살표 함수 방식const capitalize = (name) => { return name[0].toUpperCa..
PGI
초보개발자의 개발개발