본문 바로가기

전체 글81

소프트웨어 개발 단계 (Pre-alpha ~ GA) 목차 Pre-alpha개발 범위: 내부 개발 초기 단계테스트 대상: 코어 개발팀안정성: 매우 불안정 (잦은 크래시)Alpha개발 범위: 핵심 기능 완성테스트 대상: 내부 QA팀 + 기술검증팀안정성: 불안정 (기능 오류 다수)Beta개발 범위: 전체 기능 구현테스트 대상: 선별된 베타 테스터안정성: 부분 안정 (일상 사용 가능)RC: Release Candidate (출시 후보)개발 범위: 기능/성능 최적화테스트 대상: 사전 출시 그룹안정성: 준안정 (경미한 이슈만 존재)GA: General Availability (일반 출시) 또는 Generally Available개발 범위: 상용화 완료테스트 대상: 전체 시장안정성: 완전 안정 (검증 완료) 2025. 1. 8.
Canary 테스트 개요정의: 소수 테스터들을 위한 테스트 버전과 일반 대중이 사용할 안정 버전을 동시 운영하는 테스트 방식어원:canary[kanalia] 새광부들은 기존 광산(stable)에선 안정적으로 채굴을 계속하지만, 신규 광맥을 찾아갈 때 새장에 카나리아 새를 넣어가서 위험을 탐지하는 방식을 사용하는데, 소프트웨어에서도 안정 버전을 유지하면서 새로운 변경사항을 제한된 사용자들에게 시험하는 방식을 Canary 테스트라고 한다.버전Canary 버전: 소수 사용자 그룹이 이용할 테스트 버전Stable 버전: 일반 사용자 그룹이 이용할 안정화 버전분리 처리 예시트래픽 분리: 로드 밸런서 활용, A/B 테스트 도구 등 활용사용자 분리: 지역, 디바이스, 계정 유형, 무작위 샘플링 등 활용 2025. 1. 8.
Cursor 규칙 지정 및 사용 방법 (.cursorrules) 목차Cursor 규칙1. 프로젝트 전체 규칙.cursorrules 파일포함 설정 필요# 서비스 개요# Next.js: Route Handler 우선- 별도 백엔드 서버가 있어 기본적으로 API 구성 불필요- 가끔 필요한 경우가 있다면 API 엔드포인트는 Route Handler를 사용하여 구현# Next.js 라우팅: App Router- 프로젝트 내 라우팅은 Pages Router 대신 App Router를 사용하세요.# 프로젝트 구조: 주요 폴더 구조 예시- 프로젝트 구조는 다음과 같이 설정하세요. src 폴더는 사용하지 않습니다.Project├─app/ # App Router & Page Layouts│ ├─ (auth)/ # 인증 관련 라우트 .. 2025. 1. 7.
포트에서 실행중인 프로세스 종료시키기 1. PID 찾기방법: netstat -ano | findstr :{종료시키고자 하는 포트 번호}예시: netstat -ano | findstr :3000 2. PID 제거 방법: taskkill -f -pid {찾은 PID}예시: taskkill -f -pid 22372 2025. 1. 3.
Visual Studio Code 추천 단축키 세팅 목차 1. 키 변경의 의의 및 방식IDE나 툴에서 제공하는 키를 왼손만으로 누를 수 있는 키로 바꾸는 것이 핵심이다.  두 손의 조합이 필요한 키 조합을 한 손으로 누를 수 있게 변경해준다. 일반적으로 왼손 기준 ctrl + 먼 키의 조합은 alt + 짧은 거리 키 조합으로 변경하여 빠르게 입력할 수 있도록 한다. 스타크래프트와 같은 실시간 전략 시뮬레이션 게임의 프로게이머들도 많이 택하는 방식이다. - 변경 대상: 두 손의 조합이 필요한 키 세팅- 수정 방법: 초록 + 빨간색 반경 내의 키로 변경   2. 추천 단축키 설정행 순서: [추천 키 - 설명 - ( 암기 팁 ) - 명령 ID]2.1 에디터 편집편집alt d: 한 줄 삭제 (delete) | editor.action.deleteLinesalt .. 2024. 9. 28.
[CICD] GitHub Actions 사용 가이드 목차   0. GitHub Actions 종합 가이드 서문GitHub Actions는 GitHub이 제공하는 지속적 통합 및 지속적 배포(CI/CD) 플랫폼이다. 이 플랫폼은 소프트웨어 개발 워크플로우를 자동화하고 사용자 정의할 수 있는 기능을 제공한다. 2018년에 베타 버전으로 처음 출시되었으며, 2019년 11월부터 모든 GitHub 저장소에서 사용 가능하게 되었다. GitHub Actions는 단순한 CI/CD 도구를 넘어서 소프트웨어 개발 lifecycle 전반을 자동화할 수 있는 확장성 있는 플랫폼이다. 이 가이드는 사용자가 GitHub Actions를 효과적으로 구현하고, 개발 프로세스를 최적화하는 데 필요한 정보를 제공한다. 하여 이 문서는 다음과 같은 내용을 안내하는 것을 목표로 하고 있.. 2024. 9. 24.
[리눅스] echo 커맨드 사용 가이드 목차  1. 개요echo는 UNIX 및 UNIX 계열 운영 체제에서 사용되는 기본적인 명령어 중 하나이다. 이 명령어의 주요 기능은 지정된 문자열이나 변수의 값을 표준 출력(일반적으로 터미널 화면)에 출력하는 것이다. echo는 간단한 메시지 출력부터 스크립트 내에서의 복잡한 문자열 조작까지 다양한 상황에서 유용하게 사용된다. echo 명령어는 1971년 최초의 UNIX 버전에서 소개되었으며, 이후 거의 모든 UNIX 및 Linux 시스템의 기본 유틸리티로 포함되어 왔다. 또한 Windows의 명령 프롬프트에서도 유사한 기능을 하는 echo 명령이 제공된다. echo의 간단함과 유용성으로 인해, 이 명령어는 시스템 관리, 쉘 스크립팅, 그리고 일반적인 명령줄 작업에서 광범위하게 사용되고 있다. 2. 기본.. 2024. 9. 23.
[JS] 리액트 웹 서비스 성능 최적화 기법 (키워드 모음) 목차 서문웹 애플리케이션의 성능은 사용자 경험과 비즈니스 성과에 직접적인 영향을 미치는 중요한 요소이다. 특히 자바스크립트와 리액트를 기반으로 한 현대적 웹 서비스에서 성능 최적화는 더욱 중요성을 갖는다. 다음 가이드는 자바스크립트 및 리액트 웹 서비스의 성능을 최적화하기 위한 다양한 기법들을 체계적으로 정리하여 제시한다.  1. 코드 최적화1.1 코드 분할 (Code Splitting)코드 분할은 애플리케이션의 코드를 여러 청크로 나누어 필요한 시점에 로드하는 기술이다.Dynamic Import: 필요한 시점에 모듈을 동적으로 로드하여 초기 번들 크기를 줄인다.React.lazy와 Suspense: 리액트 컴포넌트를 지연 로딩하여 초기 로드 시간을 단축한다.1.2 메모이제이션 (Memoization)메.. 2024. 8. 13.
[JS] 디바운싱과 쓰로틀링(2): 쓰로틀링(throttling)의 이해와 적용 목차 1. 쓰로틀링?쓰로틀링(throttling)은 컴퓨터 프로그래밍에서 사용되는 최적화 기법으로, 일정 시간 간격으로 함수의 실행 횟수를 제한하는 프로세스를 말한다. 주로 연속적으로 발생하는 이벤트의 처리 빈도를 조절하는 데 사용되며, 시스템 자원을 효율적으로 관리하는 데 효과적이다. 2. 어원"쓰로틀(throttle)"이라는 용어는 원래 기계 공학 분야에서 유래했다. 엔진의 연료 공급을 조절하는 장치를 의미하는 것으로, 엔진 출력을 제어하는 역할을 했다. 소프트웨어 엔지니어링에서는 이 개념을 차용하여 함수 호출이나 이벤트 처리의 빈도를 "조절"하는 기술을 지칭하게 되었다. 3. 작동 원리쓰로틀링의 기본 원리는 다음과 같다:함수 호출 시 마지막 실행 시간 확인.현재 시간과 마지막 실행 시간의 차이가 설.. 2024. 8. 12.