[FE/BE] HTTP 상태 코드 - '서버 오류'와 '리다이렉션' (5xx, 3xx)
·
Tech Archive/[FE & BE]
1. 들어가며: "내(서버) 잘못"이거나 "다른 곳으로 가"지금까지 2xx(성공), 4xx(클라이언트 오류)를 알아봤습니다. 마지막 3편에서는 크게 두 가지 그룹을 다룹니다.5xx (서버 오류): 4xx와 반대로, 클라이언트(FE)의 요청은 완벽했지만 "서버(BE) 쪽에서 문제가 발생해" 요청을 처리하지 못한 경우입니다.3xx (리다이렉션): 이것은 '오류'가 아닙니다. 서버가 클라이언트에게 "요청한 리소스의 위치가 변경되었으니, 다른 주소로 다시 요청해"라고 알려주는 것입니다.2. 5xx (Server Error) – 서버 오류FE 입장: "나는 요청을 제대로 보냈는데 서버가 아프다. 내가 할 수 있는 건 없고, 사용자에게 '잠시 후 다시 시도해 주세요'라고 안내해야겠다."BE 입장: "큰일 났다! 5..
[FE/BE] HTTP 상태 코드 - '클라이언트 오류' (4xx)
·
Tech Archive/[FE & BE]
1. 들어가며1편의 2xx(성공) 코드가 개발자를 웃게 한다면, 4xx(클라이언트 오류) 코드는 우리를 디버깅의 세계로 인도합니다. 😅4xx 오류 그룹은 서버가 요청을 이해했으나, "클라이언트(브라우저, 앱)가 보낸 요청 자체가 잘못되어" 처리를 거부했음을 의미합니다.FE 입장: "내가 요청을 잘못 보냈구나! URL, 파라미터, 권한 등을 확인해야겠다."BE 입장: "클라이언트가 이상한 요청을 보냈네. 명확한 4xx 코드로 응답해서 무엇이 잘못됐는지 알려줘야겠다."개발자가 가장 흔하게 마주치고, 또 반드시 잡아야 하는 오류들입니다.2. 4xx (Client Error) – 클라이언트 오류400 Bad Request (잘못된 요청)의미: 요청의 구문(Syntax) 자체가 잘못되었습니다. 서버가 요청을 이..
[FE/BE] HTTP 상태 코드 - 기본 개념 (1xx, 2xx)
·
Tech Archive/[FE & BE]
1. 들어가며: FE와 BE의 통신 언어, HTTP 상태 코드프론트엔드(FE)와 백엔드(BE)가 서로 데이터를 주고받을 때, 우리는 'HTTP 통신'을 사용합니다. 클라이언트(브라우저, 앱)가 서버에 "이거 해줘(Request)"라고 요청을 보내면, 서버는 요청을 처리한 뒤 "결과는 이래(Response)"라고 응답을 돌려줍니다.이때 서버가 돌려주는 응답의 '결과(상태)'를 표준화된 숫자로 표현한 것이 바로 HTTP 상태 코드입니다.FE 입장: 200번이 오면 '성공' 화면을, 404번이 오면 '페이지 없음' 화면을, 500번이 오면 '서버 오류' 알림을 띄우는 등 응답에 맞춰 적절한 처리를 해야 합니다.BE 입장: 요청을 처리한 결과에 따라 약속된 상태 코드를 정확히 반환해야 FE가 혼란 없이 작업을 ..
[Linux] 리눅스 활용 꿀팁 - 압축, 반복, 그리고 자동화
·
Tech Archive/[Linux]
1. 들어가며: 작업 효율을 높여주는 마법지금까지 리눅스 시스템을 탐색하고, 파일을 다루며, 시스템을 관리하는 필수 명령어들을 익혔습니다.이런 작업들의 효율을 극적으로 높여주는 '꿀팁' 명령어들을 모았습니다. 여러 파일을 하나로 묶어 압축하고, 자주 쓰는 긴 명령어를 짧게 줄이고, 특정 작업을 예약해 자동으로 실행하는 방법 등을 소개합니다.2. 압축하고 풀기: tar, zip / unzip, gzip / gunzip여러 파일을 하나로 묶거나(archive) 용량을 줄여(compress) 관리하고 전송할 때 사용합니다.tar (Tape Archive): (리눅스 표준)# 1. [압축] 'folder'를 'archive.tar.gz' 파일로 묶고 gzip 압축 (zcvf)# (z: gzip, c: creat..
[Linux] 리눅스 관리자의 기본 - 패키지 설치와 권한
·
Tech Archive/[Linux]
1. 들어가며: 관리자(Root)의 역할리눅스는 여러 사용자가 동시에 접속하는 '서버' 환경을 염두에 두고 만들어졌습니다. 그래서 일반 사용자가 시스템의 중요 파일을 함부로 수정하거나 프로그램을 설치할 수 없도록 권한(Permission)을 엄격하게 관리합니다.이번 게시글에서 프로그램을 설치하고, 시스템 설정을 변경하는 등 '관리자(root)'의 권한이 필요한 작업들과, 파일의 접근 권한을 제어하는 핵심 명령어들을 정리했습니다.2. sudo: 관리자 권한으로 명령어 실행 (필수)SuperUser DO (또는 Substitute User DO)의 약자입니다.'이 명령어는 일반 사용자가 아니라 관리자 권한으로 실행해 주세요'라고 요청하는 명령어입니다.시스템에 프로그램을 설치(apt install)하거나,시스..
[Linux] 리눅스 네트워크와 원격 접속
·
Tech Archive/[Linux]
1. 들어가며: 서버, 세상과 연결되다서버는 그 자체로 작동하기도 하지만, 대부분 인터넷(외부)이나 다른 서버(내부)와 네트워크 통신을 합니다.이번에는 내 서버가 외부와 잘 연결되어 있는지, 특정 파일을 다운로드할 수 있는지, 그리고 가장 중요하게 다른 리눅스 서버에 원격으로 접속하는 방법을 정리했습니다.2. ping: 저 서버에 신호가 닿나요?가장 기본적인 네트워크 연결 확인 명령어입니다. 지정한 호스트(도메인 주소나 IP)에 **'저기 살아있나요?'**라는 신호(패킷)를 보내고 응답을 받는지 확인합니다.네트워크가 끊겼는지 확인할 때 가장 먼저 사용합니다.(종료는 Ctrl+C)# 1. google.com에 핑을 보내 연결 상태 확인ping google.com# 2. [꿀팁] 3번만 신호를 보내고 자동으..
[Linux] 리눅스 시스템 정보 및 프로세스 관리
·
Tech Archive/[Linux]
1. 들어가며: 내 서버는 안녕할까?서버를 운영할 때 "디스크가 꽉 찼는지", "메모리가 부족하진 않은지", "어떤 프로그램이 CPU를 많이 쓰고 있는지" 실시간으로 확인하는 것은 매우 중요합니다.문제가 생겼을 때 원인을 파악하는 '서버 건강검진'에 해당하는 필수 명령어들을 정리했습니다.2. 디스크 용량 확인: df, du서버가 멈추는 가장 흔한 이유 중 하나가 '디스크 꽉 참'입니다.df (Disk Free): 전체 디스크의 남은 용량을 확인합니다. 마운트된 파티션(하드디스크 드라이브)별로 사용량과 여유 공간을 보여줍니다.du (Disk Usage): 특정 폴더나 파일이 차지하는 용량을 확인합니다.# 1. (필수) 시스템 전체 디스크 용량을 사람이 읽기 편하게(Human-readable) 확인df -h..
[Linux] 리눅스 명령어 - 텍스트 파일 다루기 (확인, 편집, 검색)
·
Tech Archive/[Linux]
1. 들어가며: 텍스트 파일을 왜 터미널에서?리눅스 시스템의 설정 파일(config), 프로그램 실행 기록(log) 등 대부분의 중요 정보는 텍스트 파일로 저장됩니다.GUI가 없는 서버 환경에서는 터미널 명령어를 통해 이 파일들을 직접 열어보고, 필요한 내용을 검색하고, 설정을 수정해야 합니다. 이전 게시글에는 파일과 폴더를 만들었다면, 이번 게시글에서는 그 파일 안의 내용을 다루는 방법을 정리했습니다. 2. 파일 내용 한 번에 출력하기: catCatenate(연결하다)의 약자입니다. 파일의 내용을 읽어서 터미널 화면에 모두 출력합니다. 파일이 짧을 땐 유용하지만, 파일이 길면 화면이 스크롤로 뒤덮여 버립니다.# 1. file.txt의 전체 내용을 화면에 출력cat file.txt# 2. [꿀팁] 두 개..
[Linux] 리눅스 명령어 - 파일과 디렉토리 탐색/관리
·
Tech Archive/[Linux]
1. 들어가며: 리눅스 터미널, 첫걸음리눅스(우분투 등) 환경이나 서버에 접속하면 가장 먼저 마주하는 것이 바로 이 검은색 터미널 창입니다.GUI(그래픽 인터페이스)가 없는 환경에서 원하는 폴더로 이동하고, 파일을 만들고, 복사하고, 삭제하는 모든 작업을 명령어로 수행해야 하죠.이번에는 리눅스 시스템을 '탐색'하고 '관리'하는 가장 기본적이면서도 필수적인 명령어들을 정리했습니다. 2. pwd: 내가 지금 어디에 있지?Present Working Directory (현재 작업 중인 디렉토리)의 약자입니다.파일 탐색기에서 내가 현재 어떤 폴더 안에 있는지 주소 표시줄을 보는 것과 같습니다.# 내가 현재 있는 경로(폴더)를 절대 경로로 보여줍니다.pwd 출력 예시:/home/aistandard/projects..
[GitHub] Git 브랜치(Branch) 핵심 가이드
·
Tech Archive/[Git]
1. 들어가며: 브랜치(Branch), 왜 필요할까?Git에서 브랜치(Branch)는 '가지'라는 뜻처럼, 기존의 안정적인 코드(예: main 브랜치)에서 새로운 가지를 뻗어 나가는 것입니다.안정성: 신기능 개발이나 버그 수정을 할 때, main 브랜치를 직접 건드리지 않고 **'독립된 작업 공간'**을 만들어 안전하게 테스트할 수 있습니다.동시 작업: A는 로그인 기능을, B는 결제 기능을 각자의 브랜치에서 동시에 작업한 뒤, 나중에 합칠(Merge) 수 있습니다.main (또는 master) 브랜치는 항상 '언제든 배포 가능한 깨끗한 상태'로 유지하는 것이 핵심입니다!2. 브랜치 기본 명령어 (생성, 목록, 이동)2-1. 브랜치 목록 확인: git branch현재 내 로컬 저장소에 있는 브랜치 목록을..