용어 Hamwoo 2025. 3. 12. 14:13
해시(Hash)란?해시(Hash)란 임의의 크기를 가진 데이터를 고정된 크기의 값(해시값)으로 변환하는 과정 또는 그 결과를 의미합니다. 주로 해시 함수(Hash Function)를 사용하여 데이터를 변환하며, 보안, 데이터 무결성 검사, 검색 최적화 등의 다양한 분야에서 활용됩니다.1. 해시의 주요 개념해시 함수(Hash Function)입력값(데이터)을 고정된 크기의 출력값(해시값)으로 변환하는 함수동일한 입력값에 대해 항상 같은 출력값을 반환비밀번호 저장, 디지털 서명, 블록체인 등에서 사용됨해시값(Hash Value, Hash Code, Digest)해시 함수의 결과물로, 특정 데이터를 대표하는 고유한 값보통 16진수로 표현되며, 출력 길이는 해시 함수마다 다름해시 테이블(Hash Table)해시..
용어 Hamwoo 2025. 3. 10. 13:42
3-Way Handshake란?3-Way Handshake는 **TCP(Transmission Control Protocol)**에서 신뢰성 있는 연결을 수립하기 위해 사용하는 과정이다. 클라이언트와 서버 간에 데이터 전송을 시작하기 전에 서로 통신할 준비가 되었음을 확인하는 절차로, 3단계에 걸쳐 진행된다.3-Way Handshake 과정SYN (Synchronize)클라이언트가 서버에게 연결 요청을 보낸다.이때, TCP 패킷의 SYN 플래그를 1로 설정하고, Sequence Number(seq)를 포함한다.예: 클라이언트 → 서버 (SYN, seq=100)SYN-ACK (Synchronize-Acknowledge)서버가 클라이언트의 요청을 수락하면, SYN + ACK 패킷을 보낸다.ACK 플래그와 함..
GIT Hamwoo 2025. 3. 10. 12:24
🚀 Git 브랜치(Branch)란?Git에서 브랜치(Branch) 는 독립적으로 개발을 진행할 수 있도록 만들어진 별도의 작업 공간입니다.쉽게 말해 "기본 코드(main)"를 복사해서 안전하게 실험하거나, 새로운 기능을 개발할 수 있도록 하는 기능" 입니다.📌 브랜치를 왜 사용할까?기본 코드(main)를 안전하게 유지→ 새로운 기능을 추가할 때, 기존 코드(main)를 직접 수정하면 문제가 발생할 수 있음→ 브랜치를 만들어 따로 개발하고, 완성되면 main에 합침여러 개발자가 동시에 작업 가능→ 서로 다른 기능을 동시에 개발 가능→ 개발이 끝난 후 합치면 충돌 없이 깔끔한 코드 유지실험하고 롤백 가능→ 새로운 기능을 테스트하다가 문제가 생기면 쉽게 되돌릴 수 있음✏️ Git 브랜치 기본 명령어💡 m..
Linux Hamwoo 2025. 3. 6. 14:20
MySQL 전체 메모리 사용량 확인 (OS 수준)먼저 MySQL 프로세스가 시스템에서 사용 중인 메모리 총량을 확인MySQL 프로세스의 메모리 사용량 확인ps aux --sort=-%mem | grep mysqld%MEM: 전체 시스템 메모리 중 MySQL이 차지하는 비율RSS: 실제 물리 메모리 사용량VIRT: MySQL이 예약한 가상 메모리sudo smem -t -p | grep mysqldRSS(Resident Set Size): MySQL이 실제 사용하는 메모리VSS(Virtual Set Size): MySQL이 할당한 총 메모리 (Swap 포함)예제 출력mysql 1234 23.5 4.6 2500000 189000 ? Ssl 10:00 120:05 /usr/sbin/my..
용어 Hamwoo 2025. 3. 5. 10:58
스테이징(Staging)은 여러 분야에서 다양한 의미로 사용되는 용어입니다. 주로 소프트웨어 개발, 데이터베이스 관리, 공연 예술 등에서 사용되며, 아래에 각 분야에서의 의미를 정리했습니다.소프트웨어 개발스테이징 환경: 소프트웨어의 개발 및 테스트 프로세스에서, 프로덕션 환경(실제 운영 환경)과 유사한 환경을 구성하여 테스트를 수행하는 단계입니다. 스테이징 환경은 실제 사용자의 환경을 모방하여, 소프트웨어의 기능과 성능을 검증하는 데 사용됩니다. 이를 통해 버그나 문제를 사전에 발견하고, 운영 환경에 배포하기 전에 안정성을 확인할 수 있습니다.데이터베이스스테이징 영역: 데이터 웨어하우스에서 데이터가 최종 저장소로 이동하기 전에 임시로 저장되는 공간을 의미합니다. 데이터가 여러 출처에서 수집되고 정제되기 ..
용어 Hamwoo 2025. 3. 5. 10:57
오버헤드(Overhead)란 컴퓨터 과학 및 경영학 등 다양한 분야에서 사용되는 용어로, 어떤 작업이나 프로세스가 수행될 때 발생하는 추가적인 비용이나 리소스를 의미합니다. 일반적으로 목표한 작업 외에 소요되는 자원이나 시간을 가리킵니다. 아래는 여러 분야에서의 오버헤드의 구체적인 의미와 예시입니다:컴퓨터 과학CPU 오버헤드: 특정 작업을 처리하는 데 필요한 CPU 사이클 외에 추가로 소모되는 시간을 말합니다. 예를 들어, 메모리 접근, 스레드 전환, 메모리 할당 등의 작업은 본래 수행하고자 하는 작업에 비해 추가적인 CPU 자원을 요구합니다.네트워크 오버헤드: 데이터 전송을 위한 프로토콜이나 패킷 헤더가 추가적으로 요구되는 부분입니다. 데이터의 실제 내용 외에도 전송과 관련된 메타데이터가 포함되므로, ..
Linux Hamwoo 2025. 3. 4. 16:36
1. 크론(cron)과 크론탭(crontab)의 관계cron 데몬: 시스템 백그라운드에서 항상 실행되며, 예약된 작업(크론잡)을 확인하고 실행하는 역할을 합니다.crontab 파일: 사용자가 예약하고자 하는 작업의 목록을 저장하는 파일입니다. 각 사용자는 개별적인 crontab 파일을 가질 수 있습니다.2. 크론탭 파일의 기본 구성크론탭 파일의 각 줄은 하나의 작업(크론잡)을 나타내며, 다음과 같은 형식을 따릅니다.분 시 일 월 요일 명령어분: 0부터 59까지의 숫자시: 0부터 23까지의 숫자 (24시간제)일: 1부터 31까지의 숫자 (월 중 날짜)월: 1부터 12까지의 숫자요일: 0부터 7까지의 숫자 (0 또는 7은 일요일, 1은 월요일 등)명령어: 실행할 스크립트나 명령어예를 들어, 다음 라인은 매일..
Tencent Hamwoo 2025. 3. 4. 16:36
요구사항 DB 슬레이브 인스턴스에서 주기적으로 생성되는 DB 백업 파일을 Tencent Cloud COS로 자동 전송하여, 백업 데이터를 안전하게 보관하고 운영 부담을 줄일 수 있도록 환경을 구축 라이브에 영향을 주는 장비는 아니였지만 cosfs로 cos를 마운트하고 파일을 이동했을 때 시스템 디스크에 캐시 할당을 하여 위험을 줄 수 있을 것 같아 cli로 업로드하는 방법을 선택구현 목표DB 백업 파일의 COS 자동 업로드: 백업 파일이 특정 디렉터리에 저장될 때, 이를 감지하여 COS로 업로드하는 자동화 프로세스 설계업로드 후 무결성 검증: COS로 전송된 파일의 무결성을 확인하여 데이터 유실 방지스토리지 최적화: 업로드 완료 후 일정 기간이 지난 백업 파일을 CVM에서 자동 삭제하여 CBS 공간 절약..
공지 Hamwoo 2025. 2. 21. 12:14
회사에서 업무를 하면서 발견한 새로운 것들과 궁금증이 생긴 것들을 노션에 정리해두는 편이다. 그렇게 쌓이고 쌓다보니 지금은 하나에 업무 데이터베이스가 되어 큰 도움을 주고있다. 이런 기록들을 조금이나마 공유하고 싶어서 블로그를 시작한다. 필력이 좋은 편은 아니지만 최대한 필자분들께서 편하게 읽으실 수 있도록 그리고 제 블로그를 통해 도움받으실 수 있도록 노력하며 블로그를 운영할 것 이다. 25 . 02 . 21 시작