반응형

개발환경 19

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

자주 발생하는 웹 애플리케이션 보안 취약점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

그래서 DevOps가 뭐야?

- DevOps? 개발이랑 운영을 같이 한다고? DevOps라는 말을 들은 건 꽤 됐는데, 사실 제대로 찾아본 건 처음이었다.그냥 ‘개발이랑 운영을 잘 연결해주는 거겠지~’ 하는 막연한 느낌만 있었는데, 이번에 좀 제대로 정리해봤다. 처음엔 이름부터가 어렵게 느껴졌다.DevOps…? 알고 보니 이건 “Development”랑 “Operations”의 합성어였다.말 그대로 개발이랑 운영을 하나의 팀처럼 묶어서 자동화하고 협업하는 방법론이라고 한다. 핵심 목표는 단순했다.→ 좋은 소프트웨어를 더 빠르게, 더 자주 배포하자! - DevOps의 주요 개념통합과 협업→ 개발자랑 운영자가 따로따로 움직이지 않고 같이 문제 해결도 하고, 일도 함께하는 구조다.자동화→ 빌드, 테스트, 배포 같은 반복 작업들을 자동으..

개발환경 2025.05.06
728x90
반응형