본문 바로가기

전체 글70

쇼핑몰 개발시 주문번호 생성 방법 쇼핑몰 개발 시 **주문번호(order number)**는 중요한 고유 식별자입니다.사용자의 주문을 정확하게 구분하고 추적해야 하며, 중복 없이 **유일(unique)**해야 하고, 필요시에는 정렬이나 조회, 추적이 쉬운 형태여야 합니다.1. 타임스탬프 기반 + 고유값 조합 (실무에서 가장 흔함) ex) 20250722-153045-00123 또는 ORD20250722153045XYZ 예시 - ORD20250722102401A3F7 - 20250722-102401-0001 - 20250722102401 + user_id + random_string 장점 - 시간순 정렬 가능 - 중복 가능성 거의 없음 - 개발이 쉽고 디버깅이나 추적이 쉬움 단점 -.. 2025. 7. 24.
Rocky Linux에서 파일 복사 하는 CP 명령어 Rocky Linux에서 파일 복사는 주로 cp 명령어를 사용합니다.아주 기본적인 사용법부터 자주 쓰는 실무 예시까지 알려드리겠습니다. 1. 기본 문법cp [옵션] 원본 대상 2. 자주 쓰는 예시cp file1.txt /home/user/ - file1.txt를 /home/user/ 폴더로 복사 (일반 파일 복사)cp file1.txt file2.txt - file1.txt를 file2.txt 이름으로 복사 (이름 바꿔서 복사)cp file1.txt file2.txt /home/user/ - 여러 개의 파일을 한 폴더로 복사cp -r /etc/nginx /backup/nginx_backup - /etc/nginx 디렉토리와 그 안의 내용 전부를 /backup/nginx_backup.. 2025. 7. 22.
MySQL에서 사용하는 데이터 타입(Data Type) 정의 MySQL에서 사용하는 **데이터 타입(Data Type)**은 데이터를 효율적으로 저장하고 처리하기 위해 매우 중요합니다.아래에 전체 타입을 분류별로 정리하고, 각 타입의 세부 설명과 예시도 함께 제공할게요. 1. 정수 타입 (Integer Types)타입크기(바이트)범위(signed 기준)설명 TINYINT 1-128 ~ 127매우 작은 정수 SMALLINT 2-32,768 ~ 32,767작은 정수 MEDIUMINT 3-8,388,608 ~ 8,388,607중간 크기 정수 INT 또는 INTEGER 4-2,147,483,648 ~ 2,147,483,647일반적인 정수 BIGINT 8-9경 ~ 9경매우 큰 정수 - UNSIGNED 옵션 사용 시 범위가 0부터 시작 예: TINYINT UN.. 2025. 7. 21.
트랜잭션(Transaction) 이란? 트랜잭션(Transaction)은 데이터베이스에서 여러 작업을 하나의 단위로 묶어서 처리하는 기능입니다.특히, 신뢰성과 정합성이 중요한 은행, 쇼핑몰, 포인트 시스템 등에서 매우 중요하게 사용됩니다. 트랜잭션이란?트랜잭션은 하나의 논리적인 작업 단위로서, 모든 작업이 완전히 성공하거나, 전혀 반영되지 않아야 하는 작업 묶음입니다. 트랜잭션의 4대 특성 (ACID)약자의미설명AAtomicity (원자성)전부 성공하거나, 전부 실패해야 함CConsistency (일관성)작업 전후 DB 상태가 일관돼야 함IIsolation (격리성)동시에 여러 트랜잭션이 실행되어도 서로 간섭 없어야 함DDurability (지속성)성공한 트랜잭션은 영구적으로 반영됨 트랜잭션 관련 SQL명령어설명START TRANSACT.. 2025. 7. 17.
카테고리 구조(분류 체계)를 DB로 설계할 때 가장 일반적인 방법 웹/앱 개발에서 카테고리 구조(분류 체계)를 DB로 설계할 때, “가장 쉽고 편한 방법”을 원하신다면프로젝트 규모, 데이터 양, 조회/추가/수정/삭제 패턴을 고려해 적절한 방식을 쓰는 게 중요합니다.실제 현업에서 많이 쓰는 방법과 각각의 특징, 특히 개발이 쉽고 유지보수가 편한 순서로 정리해 드리겠습니다. 1. Adjacency List (가장 쉽고 직관적인 방식) - 가장 많이 쓰고, DB에서도 구현이 제일 단순합니다.idnameparent_id1전자제품NULL2컴퓨터13노트북24스마트폰15가전16세탁기5 * parent_id가 NULL이면 루트 카테고리. * 하위 카테고리는 parent_id로 부모 카테고리를 참조.장점구조 단순, 이해 쉽고 구현 빠름.수정/추가/삭제가 간단.단점트리.. 2025. 7. 16.
MySQL의 가장 기본이자 중요한 개념인 CRUD 설명 MySQL에서 가장 기본이자 중요한 개념인 CRUD는 데이터베이스에서 데이터를 생성(Create), 조회(Read), 수정(Update), 삭제(Delete) 하는 작업을 뜻합니다.아래에 각 단계별로 개념과 함께 실제 예제를 보여 드리겠습니다.약어의미SQL명령CCreateINSERTRReadSELECTUUpdateUPDATEDDeleteDELETE 예제CREATE DATABASE IF NOT EXISTS testdb;USE testdb;CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, email VARCHAR(100)); 1. Create - 데이터 생성(INSERT)INSERT INTO users.. 2025. 7. 9.
MySQL 사용자 생성 및 권한 설정 MySQL에서 사용자를 생성하고, 비밀번호 설정하고, 권한 부여 및 확인, 변경, 삭제까지 하는 과정을 단계별로 예제와 함께 설명해드리겠습니다.1. 사용자 생성-- 형식CREATE USER 'username'@'host' IDENTIFIED BY 'password';-- 예시: 로컬호스트에서만 접속 가능한 user1 생성CREATE USER 'user1'@'localhost' IDENTIFIED BY 'mypassword';-- 예시: 모든 IP에서 접속 가능한 user2 생성CREATE USER 'user2'@'%' IDENTIFIED BY 'securepass'; - host는 접속을 허용할 호스트 지정. > 'localhost': 서버 로컬에서만 접속 > '%': 모든 외부 .. 2025. 7. 8.
Rocky Linux의 파일을 찾거나 내용에서 특정 문자열 찾기 Rocky Linux(또는 CentOS/RHEL 계열 포함)에서 파일을 찾거나 / 파일 내용에서 특정 문자열을 찾는 가장 실용적인 방법을 단계별로 알려드리겠습니다.Rocky Linux는 RHEL 기반이라서, 일반적인 리눅스 명령어 (find, grep, locate 등)를 그대로 쓸 수 있습니다. 1. 파일 이름으로 찾기 (Find)# 현재 디렉토리 이하에서 파일 이름이 hello.txt인 파일 찾기find . -name "hello.txt"# 확장자가 .log인 파일 모두 찾기find /var/log -name "*.log"# 대소문자 무시find . -iname "*.txt"# 최근 1일 이내 수정된 파일 찾기find . -mtime -1# 특정 크기 이상 파일 찾기 (100MB 이상)find . -.. 2025. 7. 4.
Redis(Remote Dictionary Server) 이란? Redis 이란?메모리 기반의 초고속 Key-Value 저장소공식 이름: Remote Dictionary Server- 데이터를 RAM(메모리) 에 저장 → 디스크보다 수천 배 빠름 - Key와 Value를 다양한 형태(List, Set, Hash 등)로 저장 가능 - 단순 캐시를 넘어서, 메시지 큐, 세션 관리, 실시간 순위 집계 등 다양하게 사용됨 특징 요약1. 빠르다 - 모든 데이터가 메모리에 있어 조회/쓰기 속도가 1ms 미만 - 초당 수십만~수백만 건 처리 가능2. 다양한 자료구조 - String, List, Set, Sorted Set, Hash, HyperLogLog, Stream 등 - 단순 캐시 외에 순차 처리(큐), 순위(랭킹) 등도 구현 가능3. 단일 스레드 기.. 2025. 7. 1.
반응형