반응형

삽질로그 144

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

테스트와 품질 보증: 단위 테스트, 통합 테스트, TDD 정리

단위 테스트 vs 통합 테스트단위 테스트작은 단위(함수/메서드/클래스)를 독립적으로 검증외부 종속성은 모킹/스텁으로 대체함빠른 실행 속도, 즉각적 피드백코드 정확성 확인이 주 목적// 단위 테스트 예시public class CalculatorTest { @Test public void testAdd() { Calculator calculator = new Calculator(); assertEquals(5, calculator.add(2, 3)); }}통합 테스트여러 모듈/컴포넌트가 함께 작동하는지 검증실제 외부 종속성(DB, API)과 연동 테스트단위 테스트보다 느림컴포넌트 간 상호작용 검증이 목적// 통합 테스트 예시@SpringBootTestpublic cl..

코딩:개발일지 2025.05.08

Java 코드 성능/메모리 사용량 최적화

■ 코드 성능 최적화 해보기 1. 프로파일링을 통한 병목 지점 파악시간 측정 코드long startTime = System.nanoTime();myMethod();long endTime = System.nanoTime();System.out.println("실행 시간: " + (endTime - startTime) / 1000000 + "ms");전문 프로파일링 도구: VisualVM, JProfiler, YourKit 활용핵심: 전체 코드의 10%가 90%의 성능 문제를 일으키는 경우가 많음2. 반복문 최적화// 최적화 전for (int i = 0; i 3. 계산 결과 캐싱public class CachedCalculator { private Map cache = new HashMap(); ..

Java 2025.05.07

그래서 DevOps가 뭐야?

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

개발환경 2025.05.06
728x90
반응형