전체 글 43

(AWS EC2)Linux Bun/Sudo Bun 실행 “command not found” 에러

문제 상황AWS ec2에 power shell script를 사용해서 bun+express 서버를 배포해서 서버를 실행하니깐Permission denied 에러가 발생했다.sudo로 다시 실행sudo bun run startcommand not found error 발생 왜 그런지 생각해보니, bun을 두가지 방법으로 설치 할 수 있었다. 나는 npm을 이용해서 설치했었고 다른 방법은 curl 명령어를 이용하는 방법이 있었다.그래서 지우고 다른 방법으로 설치하기로 결정했다. 먼저 npm으로 제거npm uninstall -g bun 그다음 curl로 다시 설치curl -fsSL https://bun.sh/install | bash 이번엔.. unzip이 필요하다는 에러 발생. unzip을 apt로 설치한다..

에러노트 2024.07.15

VSCode 터미널에서 PSSecurityException 오류 해결 방법

Windows에서 VSCode 터미널에서 발생하는 PSSecurityException 오류를 해결하는 방법을 설명합니다. PowerShell 실행 정책을 이해하고 변경하는 방법도 포함되어 있습니다.VSCode 터미널에서 PSSecurityException 오류 해결 방법 노트북을 새로 사서 환경설정을 다시 하던 도중…😂 VSCode 터미널에서 nest를 설치하려니 PSSecurityException 에러가 발생했습니다!처음 npm으로 라이브러리를 설치할 때 발생했던 이슈였죠. 이번에는 기억하기 위해 조금 더 근본적인 원인을 찾아보았습니다.Windows에서는 PowerShell을 악성 스크립트의 실행을 방지하기 위해 기본적으로 Restricted 정책으로 설정해 두었습니다.그래서 저번처럼 정책을 변경해야..

PowerShell 2024.07.04

Express 오류 처리 방법: 완벽 가이드 (2)

3부: Express 오류 처리 방법: 중앙 집중식 오류 처리이전 글:https://johnny-developer-story.tistory.com/13 Express 오류 처리 방법: 완벽 가이드Express 오류 처리 및 예외 처리 가이드 (1부)Express.js는 Node.js 환경에서 널리 사용되는 웹 애플리케이션 프레임워크입니다. 이 글에서는 Express 애플리케이션에서 발생할 수 있는 오류와 예외를 효johnny-developer-story.tistory.com 이 글에서는 Express.js 애플리케이션에서 중앙 집중식으로 오류를 처리하는 방법을 자세히 설명합니다.1. 중앙 집중식 오류 처리의 필요성대규모 애플리케이션에서는 오류 처리를 중앙 집중식으로 관리하는 것이 좋습니다. 이렇게 하면 ..

서버/Express 2024.07.02

Express-async-errors와 Promise Rejection Error 해결 방법

저번에 express-async-errors 관련해서 포스팅을 했었습니다.전에 포스팅에서는https://johnny-developer-story.tistory.com/11 Express 4.x에서 express-async-errors로 Rejected Promise 처리하기Bun, Express, TypeScript 환경에서 API를 개발할 때, 요청 헤더의 범위 설정이 잘못되어 오류가 발생할 수 있습니다. 이 경우 416 상태 코드 응답이 반환됩니다. 에러 핸들링 미들웨어를 사용해도 에러를johnny-developer-story.tistory.com개발 환경에서 express-async-errors를 적용하여 unhandledRejection, 즉 비동기 에러를 잡을 수 있었습니다. 그러나 bun으로 ..

카테고리 없음 2024.06.28

Express 오류 처리 방법: 완벽 가이드

Express 오류 처리 및 예외 처리 가이드 (1부)Express.js는 Node.js 환경에서 널리 사용되는 웹 애플리케이션 프레임워크입니다. 이 글에서는 Express 애플리케이션에서 발생할 수 있는 오류와 예외를 효율적으로 처리하는 방법을 알아보겠습니다.1. 오류 처리의 중요성애플리케이션이 성장함에 따라 다양한 오류 상황이 발생할 수 있습니다. 이러한 오류를 적절히 처리하지 않으면 사용자 경험이 저하되고, 보안 문제가 발생할 수 있습니다. 오류 처리는 애플리케이션의 안정성과 신뢰성을 보장하는 중요한 요소입니다.2. 기본 오류 처리Express에서는 기본적으로 다음과 같은 방법으로 오류를 처리할 수 있습니다.const express = require('express');const app = expr..

서버/Express 2024.06.26

Express 4.x에서 express-async-errors로 Rejected Promise 처리하기

Bun, Express, TypeScript 환경에서 API를 개발할 때, 요청 헤더의 범위 설정이 잘못되어 오류가 발생할 수 있습니다. 이 경우 416 상태 코드 응답이 반환됩니다. 에러 핸들링 미들웨어를 사용해도 에러를 잡지 못하는 상황이 발생할 수 있는데 그 이유와 해결 방법을 알아보았습니다.문제: Express 4.x에서 Rejected Promise문제의 핵심은 Express 4.x가 미들웨어나 에러 핸들러를 통해 rejected promises를 처리하지 않는다는 점입니다. 즉, 함수가 rejected promise를 반환할 때 미들웨어가 이를 잡지 못합니다. 대신, 이를 명시적으로 catch 블록을 사용하여 처리해야 하지만, 이는 코드를 더욱 더럽게..(?) 만듭니다.예시const rejec..

에러노트 2024.06.25

웹RTC 미디어 서버의 RESTful API 설계

웹RTC(Web Real-Time Communication) 기술을 활용한 실시간 화상회의 시스템에서 우리는 Media Server를 운영하고 있습니다. Media Server는 Node 환경에서 WebSocket을 이용해 실시간 미디어 처리를 담당하고 있으며, 클라이언트는 이 서버와의 통신을 통해 녹화 파일 데이터를 요청하고 있습니다. 이 블로그에서는 클라이언트가 녹화 파일을 효율적으로 가져가기 위한 RESTful API를 어디에 배치할지에 대한 고민과 해결 과정을 공유하려 합니다.문제 상황: RESTful API 배치 고민기존 미디어 서버에 RESTful API를 추가할지, 아니면 새로운 서버를 구성할지에 대한 결정이 필요했습니다. 각 방법의 장단점을 분석해보았습니다.1. 기존 미디어 서버에 REST..

서버 2024.06.19

Kotlin 기본 문법(1)

1. 변수 선언: var 대 valKotlin에서는 var 또는 val 키워드를 사용하여 변수를 선언합니다. 둘 사이의 선택은 선언하는 변수의 변경 가능성에 따라 달라집니다.var(변경 가능한 변수): var로 변수를 선언하면 변수의 값이 초기 할당 후에 변경될 수 있음을 나타냅니다.var name = "John Doe"name = "Jane Doe" // This is allowed.val(불변 변수): 반대로 val은 읽기 전용 변수를 선언하는 데 사용됩니다. 즉, 해당 값은 초기화되면 다시 할당할 수 없습니다. 이는 Java에서 최종 변수를 선언하는 것과 유사합니다.val pi = 3.14pi = 1.59 // This will result in a compilation error.가능할 때마다 '..

Language 2024.06.13

mediasoup 벤치마크

모든 테스트는 AWS(Amazon Web Services) EC2(Elastic Compute Cloud)를 사용하여 수행되었습니다. 연결된 각 웹 클라이언트 앱은 네트워크 변동 및 간섭을 방지하기 위해 동일한 AWS Virtual Private Cloud(VPC)의 개별 가상 머신(VM)에서 실행되었습니다. 사용되는 VM의 인스턴스 유형은 다음과 같습니다. VM의 인스턴스의 상세한 스펙은 다음과 같습니다.  다음은 이러한 미디어 서버를 테스트하는 데 사용된 매개변수입니다.   부하 테스트 결과는 다음과 같습니다. - Page loaded: 페이지가 클라우드 VM에서 실행 중인 클라이언트 측에 로드될 수 있으면 true입니다. - Sender video check: 보낸 사람의 비디오가 표시되고 정지 이..

Library 2024.06.12