반응형

삽질로그 117

웹 애플리케이션 보안 취약점과 강화 방법

자주 발생하는 웹 애플리케이션 보안 취약점XSS (Cross-Site Scripting)악성 스크립트를 웹 페이지에 삽입하는 공격사용자 입력값 검증 부재가 주 원인SQL Injection악의적인 SQL 쿼리 삽입으로 DB 조작입력값 필터링 미흡 때문CSRF (Cross-Site Request Forgery)사용자 모르게 권한 있는 작업 수행요청 출처 검증 없을 때 발생인증/세션 관리 취약점약한 비밀번호 정책부적절한 세션 타임아웃안전하지 않은 세션 저장소취약한 접근 제어URL 조작으로 무단 접근권한 검증 부실민감 데이터 노출암호화 없는 정보 저장HTTPS 미적용XXE (XML External Entity)XML 외부 엔티티 참조 허용서버 파일 접근 가능보안 설정 오류기본 계정/비밀번호 그대로 사용디버그 모..

개발환경 2025.05.13

Git 브랜치 전략과 효과적인 코드 리뷰 방법

[Git 브랜치 전략의 종류]# Git Flowmaster: 제품 출시용 브랜치develop: 개발 브랜치, 다음 출시 버전을 위한 코드가 여기 모임feature: 새 기능 개발용 브랜치, develop에서 분기해서 개발 후 다시 develop에 병합release: 출시 준비용 브랜치, develop에서 분기해서 출시 준비 후 master와 develop에 병합hotfix: 긴급 버그 수정용 브랜치, master에서 분기해서 수정 후 master와 develop에 병합장점: 역할이 명확하게 구분됨, 대규모 프로젝트에 적합단점: 브랜치 구조가 복잡함, 소규모 프로젝트에는 오버헤드 발생 가능# GitHub Flowmain(master): 항상 배포 가능한 상태 유지feature: 기능 개발용 브랜치, PR을..

개발환경 2025.05.12

RESTful API와 GraphQL 비교 및 API 문서 작성법에 관한 메모

RESTful API vs GraphQL 비교오늘 API 설계 관련 자료를 찾아보면서 RESTful API와 GraphQL의 차이점을 정리해봄두 방식 모두 자주 사용되는데, 각각의 특징과 장단점을 명확하게 이해하는 것이 중요할 것 같다. ■ RESTful API구조: 리소스 중심 구조로, URL 경로를 통해 리소스에 접근HTTP 메서드: GET, POST, PUT, DELETE 등을 사용해 CRUD 작업 수행엔드포인트: 리소스마다 다른 엔드포인트 사용 (예: /users, /posts)데이터 가져오기: 필요한 정보를 얻기 위해 여러 엔드포인트에 요청해야 할 수도 있음오버페칭/언더페칭: 종종 필요 이상의 데이터를 받거나, 필요한 데이터를 모두 받지 못하는 경우 발생GET /api/users/123 ..

개발환경 2025.05.11

GraphQL 개념 정리와 활용법

GraphQL 기본 개념GraphQL은 Facebook이 2015년에 공개한 API 쿼리 언어이자 런타임.모바일 앱 성능 향상을 위해 만들어졌다고 함.핵심 아이디어는 클라이언트가 필요한 데이터를 정확히 요청하고 그에 맞게 정확히 응답받는 것.# 쿼리 예시query { user(id: "123") { name email posts { title } }}REST API와 달리 단일 엔드포인트(/graphql)로 모든 요청을 처리하는 방식. REST vs GraphQL 차이점특성 ------------------------REST API ----------------------------------------GraphQL ------------------엔드포인트여러 개단일..

개발환경 2025.05.11

SQL vs NoSQL 데이터베이스 & 최적화 기법 정리

공부하면서 메모한 내용들.나중에 프로젝트할 때 참고하기.[SQL vs NoSQL 데이터베이스 차이점]구조적 차이SQL: 테이블 기반 구조. 스키마가 고정되어 있음. 행과 열로 데이터 표현NoSQL: 유연한 스키마. 주요 유형:키-값 저장소 (Redis, DynamoDB)문서형 (MongoDB, CouchDB)컬럼 기반 (Cassandra, HBase)그래프 기반 (Neo4j, ArangoDB)스케일링 방식 (확장성)SQL: '위로' 확장 - 더 강력한 서버로 업그레이드 (램/CPU 추가)예: 8GB RAM → 16GB RAM, 2코어 → 4코어로 업그레이드한계: 결국 한 대 서버 성능에 제한됨NoSQL: '옆으로' 확장 - 서버 대수를 늘림예: 서버 3대 → 10대로 확장, 부하 분산장점: 이론상 무제한..

DB 2025.05.09
반응형