전체 글

Node.js 백엔드 개발자의 개인 저장소
Linux

[Ubuntu] Please install all available updates for your release before upgrading 문제 해결

서버에 설치되어 있는 node.js 버전을 20으로 올리기 위해서 ubuntu 버전을 18 버전에서 20 버전으로 업그레이드하는 도중 "Please install all available updates for your release before upgrading" 라는 오류 메세지를 마주했다 이 글에서는 이 문제를 해결한 과정을 공유하고자 한다. 1. version 업데이트 전에 패키지 업데이트 및 업그레이드 sudo apt update sudo apt upgrade 2. mognodb 관련 패키지들이 업데이트 되지않음 3. 현재 ubuntu 버전 확인 및 업데이트 진행 lsb_release -a // 현재 버전 확인 sudo do-release-upgrade // 업그레이드 가능한 ubuntu 버전으로..

기타

[기타] 역기획 이란?

이 글에서는 제품과 서비스의 세계에서 굉장히 중요한 역할을 하는 "역기획"에 대해 이야기하려고 한다. 좋아하는 게임이나 사용하는 앱, 서비스가 어떻게 구성되었는지 궁금해하셨던 적이 있다면, 이런 호기심을 해결해 줄 도구가 바로 역기획입니다. 역기획이란? 역기획은 주로 게임, 소프트웨어, 서비스 등의 제품을 분석하여 그 제품의 기획 과정을 추정하거나 재구성하는 방법을 말한다. 제품이 어떻게 구성되었는지, 왜 그렇게 설계되었는지를 이해하는 것이 주 목적이다. 왜 역기획을 해야하는가? 경쟁 분석: 다른 회사의 제품을 분석하여 그 특징, 장단점을 파악하고, 자사의 제품과 비교하는데 사용될 수 있다. 학습 목적: 개발자나 디자이너들이 특정 기술이나 디자인 패턴을 배우기 위해 좋은 예시로 사용된다. 기능 개선 및 ..

Computer Science/Operating System

[OS] 가상 메모리(swap) 사용 시 CPU 점유율이 폭증하는 이유

연구팀을 위해 데이터를 뽑는 도중 큰 데이터를 뽑다가 서버를 터트렸다. 해당 원인에 대해서 공부했던 내용에 대해서 서술한다. 가상 메모리(swap)란? 가상 메모리는 물리적인 RAM이 부족할 때 디스크 공간의 일부를 RAM처럼 사용하는 시스템이다. 이는 임시 방편으로 RAM이 부족한 상황에서 프로세스를 계속 실행하게 해준다. 예를 들어, 사용자가 8GB RAM을 갖춘 컴퓨터에서 10GB의 메모리를 요구하는 대규모 응용 프로그램을 실행하려고 시도한다면, 실제 물리적인 RAM만으로는 충분하지 않다. 이때, 운영체제는 2GB의 데이터를 하드 디스크의 swap 영역에 저장하게 된다. 이로 인해 사용자는 마치 10GB의 RAM이 있는 것처럼 프로그램을 실행할 수 있다. 하지만, 디스크 I/O는 RAM보다 느리므로..

기타

[Shebang] Shebang(#!)이란?

개발자라면 한번쯤 파일 최상단에 #!로 시작하는 "#! /bin/bash" 또는 "#!/usr/bin/env node" 이런 형식의 문자열을 본적이 있을것이다. 이 글에서는 프로그래밍 스크립트에서 자주 볼 수 있는 ‘Shebang’이라는 특수한 기호에 대해 알아보자. Shebang이란? Shebang은 스크립트의 가장 윗부분에 위치하는 #!로 시작하는 라인을 말한다. 주로 Unix와 유사한 운영체제에서 사용되며, 이 라인은 스크립트를 실행할 때 어떤 인터프리터를 사용할 것인지 시스템에게 알려준다. 예시 #!/bin/bash echo "Hello, World!" 위 스크립트에서 #!/bin/bash는 이 스크립트를 bash 쉘로 실행하라는 것을 나타낸다. #!/usr/bin/env node console...

기타

[암호화 기법] 봉투 암호화 (Envelope encryption)

데이터 보안은 현대 디지털 환경에서 가장 중요한 주제 중 하나입니다. 봉투 암호화는 이 보안 전략의 핵심적인 부분으로 자리 잡았습니다. 이 기법을 통해 기업들은 중요한 정보를 안전하게 보호하면서도 효율적인 키 관리를 유지할 수 있습니다. 이 글에서는 봉투 암호화의 근본적인 원리부터 구체적인 작동 방식까지 한층 더 깊게 알아보겠습니다. 1. 봉투 암호화의 기본 원리 봉투 암호화는 이름에서 알 수 있듯이 '봉투'의 개념을 기반으로 합니다. 여기서 '봉투'는 마스터 키에 의해 암호화된 데이터 키를 의미하며, 이 데이터 키는 실제 데이터의 암호화와 복호화에 사용됩니다. 2. 봉투 암호화의 주요 구성요소 두 가지 주요 키로 구성됩니다. 데이터 키(Data Key): 이 키는 실제 데이터를 암호화하거나 복호화하는 ..

얼은펭귄
SY Storage