2024/05/01 7

[Git]commit username이 root로 설정되는 이유

실제 실 서버 내부에서 개발 작업 후에 commit & push를 하는 경우는 많이 없겠지만 가끔씩 모종의 이유로 작업을 해야 되는 경우가 있다.  이때, 아래 사진과 같이 Git 커밋에 사용되는 전역 사용자 정보가 올바르지 않게 설정되지 않았을 경우 다음과 같은 경고 문구가 나타난다. 클라우드를 대여해서 처음 os 세팅을 하거나 컨테이너 내부에 git을 설치하고 commit을 할 때, 종종 이런 경고문을 확인할 수 있다.   실제 원격 레퍼지토리에 가보면 실제 사용중인 시스템 사용자 이름을 기반으로 로그가 남겨있는 걸 확인할 수 있다.  해결 방법은 간단하다. 본인의 깃헙 username과 email을 등록하면 된다. 이후 전역으로 설정된 정보에 따라 위와 같은 문구가 나오지 않고 정상적으로 올라가는 ..

Git 2024.05.01

[Authentication] 인증/인가란?

개요서비스에서 사용자의 신원을 검증하고 식별된 사용자에 맞춰 서비스를 제공하기 위해서는 별도의 검증 프로세스가 필요하다.예를 들어 아이디, 패스워드를 입력해서 사용자가 서비스에 가입된 유저인지 검증하는 로그인 기능이 그 예시이다.서비스에서 이러한 절차를 인증/인가 방식이라고 한다.인증(Authentication):신원을 확인하는 프로세스를 말함사용자가 특정 시스템에 로그인하거나 특정 서비스에 접근할 때, 실제 유저인지 인증하는 개념EX) 핸드폰 본인인증, ID, PW를 통한 로그인 행위인가(Authorization):인증된 사용자가 특정 리소스에 대한 접근 권한을 부여받는 개념사용자가 접근 가능한 작업의 범위를 결정EX) 관리자 권한으로 실행, 파일 시스템 접근 여부정리하면 인증은 사용자의 신원을 확인하..

Server 2024.05.01

[JS] 가비지 컬렉션(Garbage Collection)

현재 회사에 주 백엔드가 node로 되어있기 때문에, 자바스크립트, 타입스크립트에 대한 기본적이지만 핵심적인 내용들을 다뤄볼까 한다.(그 밖에 기본 CS 적인 부분들도 하나씩 다룰예정 )그중 오늘은 가비지 컬렉션에 대해서 알아보고 자바스크립트에서 가비지 컬렉션이 어떻게 발생하는지 알아보겠다.가비지 컬렉션이란(GC)이후 글은 가비지 컬렉션을 GC라고 칭한다. c, c++와 같은 저수준의 언어를 사용해 개발하면 malloc과 free 함수를 사용해서 직접 메모리를 할당하고 해제하며 개발할 수 있다. 직접적인 메모리 관리를 통해서 성능 최적화나 하드웨어의 코어적인 개발에 있어서 장점을 제공하지만, 메모리 관리는 개발자 본인이 해야 되기 때문에 메모리 오류나 누수가 발생할 우려가 있다.저수준언어란?컴퓨터가 직접..

Language/JS & TS 2024.05.01

[AWS] 도메인 구매 없이 Node 환경에서 TLS(SSL) 빠르게 인증하기 (EC2+ Open SSL)

오늘은 AWS 의 EC2 인스턴스에서 빠르게 TLS(SSL) 인증을 하는 방식에 대해서 소개하겠다. 도메인 없이 Public IP 를 발급받은 EC2 인스턴스에서 간단한 테스트를 위한 개발을 할 때, 주로 사용하는 방식이다.(실제 배포하는 서비스에서는 사용하기 좋은 방식이 아니기 때문에 테스트용으로만 사용하면 좋을 것 같다.) AWS에서 Route53, ACM(Amzone Certification Manager)를 사용해서 인증을 받을 수 있지만, 도메인 구매와 약간의 비용이 발생하기 때문에, 이전에 사이드 프로젝트로 스트리밍 관련된 서비스를 개발 했을 때, 이 방식을 적용했었다.  Route 53, ACM을 통한 인증방식은 나중에 정리해서 업로드 하겠다.    Amazon Route 53 | DNS 서..

카테고리 없음 2024.05.01

[AWS] EC2 시작하기

AWS의 다양한 서비스 중에서 VMware나 virtualbox와 같이 가상 서버를 구축하고 사용할 수 있는 서비스인 EC2(Amazon Elastic Compute Cloud)를 빠르게 세팅하고 설정하는 법에 대해서 정리하려고 한다. 우선 AWS 계정에 가입 및 로그인을 하면 다음과 같은 화면이 나온다. 이후, 아래 이미지에 표기된 것처럼 서비스-검색-EC2를 검색하고 클릭하여 들어간다.  이후 인스턴스 시작 버튼 클릭.   본인이 사용할 인스턴스의 이름 및 사용할 OS를 선택한다. 본인이 사용할 OS 선택 후, 해당 OS의 버전을 선택하면 된다.(본인은 Ubuntu 20.04 LTS 버전을 선택)   이후, 인스턴스 유형을 선택한다. 인스턴스 유형은 대여할 인스턴스의 CPU, 메모리, 스토리지 및 네..

Devops/AWS 2024.05.01

[AWS] Intro

내가 다니고 있는 회사는 본인포함 개발자가 2명뿐인 교육 계열 스타트업이다.  시니어 없이 프론트엔드 개발자 분과 함께 스타트업에서 서비스 운영을 위해서 경험하고 다루었던 AWS 서비스들에 대해서 하나씩 다루어보고자 한다!  AWS 카테고리에 있는 테마들은 회사 및 개인 프로젝트에서 이미 사용했던 경험이 있는 내용과 앞으로 AWS 클라우드 환경에서 적용시켜 나갈 항목들이 될 것 같다.

Devops/AWS 2024.05.01

[Trouble Shooting] Express PayloadTooLarge 413 Error 해결

현재 우리 회사의 백엔드 서비스는 Express + PM2 기반으로 서버들로 구성되어 있다.(상세한 서비스 인프라 구성은 다음에 설명하겠다!) 최근 서비스 출시에 앞서 MVP 형태의 서비스를 출시했는데, 푸시를 담당하는 백엔드 서버 단에서 Express Payload Too Large 413 에러가 발생했다. 해당 에러가 발생한 원인과 문제 해결 방식에 대해서 작성하려고 한다.  문제상황  문제 상황을 말하기에 앞서서 현재 회사에서 운영중인 서비스는 B2B, B2C 기반의 초등학교 방과 후 시스템을 관리해 주는 시스템이다.학교 내부에 강사, 코디분들이 주로 사용하며 주요기능으로는 학생, 수업 관리 학교 방과 후 전반의 시스템을 관리해 주는 시스템의 일종이다. 이 많고 많은 기능 중 에서 특히 민감(?)한..

Error Log 2024.05.01