전체 글 썸네일형 리스트형 [Spring Boot] Mock MVC란? 소개 스프링(Spring) 프레임워크에서 제공하는 테스트 유틸리티 중 하나로, 웹 애플리케이션의 컨트롤러를 테스트하는 데 사용됩니다. Mock MVC는 실제 서버나 네트워크 연결 없이도 컨트롤러의 동작을 시뮬레이션하고 테스트할 수 있도록 도와줍니다. 특징 가상의 HTTP 요청과 응답: Mock MVC는 HTTP 요청을 생성하고 가상의 HTTP 응답을 받는 환경을 제공합니다. 이를 통해 웹 애플리케이션의 컨트롤러 동작을 테스트할 수 있습니다. 컨트롤러 단위 테스트: 웹 애플리케이션에서 컨트롤러는 클라이언트로부터의 HTTP 요청을 받아 처리하고, HTTP 응답을 생성하는 역할을 합니다. Mock MVC를 사용하면 실제 서버를 기동하지 않고도 컨트롤러를 단위 테스트할 수 있습니다. HTTP 메서드 지원: Mo.. 더보기 [Coding Tip] 자주 하는 실수! 반복문에서의 변수 재사용 문제 소개 배열이 같은 값이 들어가는 문제로 완전 개발 뉴비일때 발견한적이 있습니다. 개발 중 자주 발생하는 오류 중 하나는 반복문에서 변수를 제대로 관리하지 못해 동일한 값이 반복해서 들어가는 문제입니다. 이번 글에서는 이러한 문제가 어떤 상황에서 발생하는지 알아보고, 어떻게 해결할 수 있는지 살펴보겠습니다. 이 문제는 어떤때 나오는 문제인가? 예를 들어 public void test() { List list = new ArrayList(); String ele = "Hyeon"; for (int i = 0; i < 5; i++) { ele = String.format("%s%d", "Hyeon", i); } // 결과 값: [Hyeon4, Hyeon4, Hyeon4, Hyeon4, Hyeon4] Syste.. 더보기 [Data Structures] 자료구조 힙(Heap)이란? 소개 Heap은 데이터에서 최댓값과 최솟값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree) 부모 노드의 인덱스는 1로, 왼쪽 자식 노드부터 2, 3 순서이다. (부모 노드의 인덱스) = (자식 노드 인덱스) // 2 (왼쪽 자식 노드의 인덱스) = (부모 노드의 인덱스) * 2 (오른쪽 자식 노드의 인덱스) = (부모 노드의 인덱스) * 2 + 1 힙을 사용하는 이유? 최솟값이나 최댓값을 찾기 위해 배열을 사용하면 Ο(n) 만큼 시간이 걸린다. 하지만 힙을 사용하면 O(logn) 만큼 소요되므로, 배열을 사용할 때보다 빠르게 최솟값과 최댓값을 구할 수 있다. 우선순위 큐와 같이 최댓값 또는 최솟값을 빠르게 찾아야하는 알고리즘 등에 활용된다. 특징 힙은 최대힙(Max he.. 더보기 [Spring Boot] Hibernate란? 소개 Hibernate는 자바 기반의 오픈 소스 ORM (Object-Relational Mapping) 프레임워크입니다. ORM은 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 데이터 매핑을 제공하여 개발자가 객체 지향 프로그래밍으로 데이터베이스를 다룰 수 있게 해줍니다. Hibernate는 데이터베이스 테이블과 객체 지향 언어 간의 매핑 작업을 간소화하고, 개발자가 데이터베이스에 대한 SQL 쿼리를 직접 작성하지 않고도 데이터를 조작할 수 있도록 지원합니다. Hibernate는 자바 객체와 데이터베이스 테이블 간의 매핑 규칙을 사용하여 객체와 데이터베이스 간의 변환을 처리하며, 이를 통해 개발자가 높은 수준의 추상화를 유지할 수 있습니다. Hibernate의 주요 특징과 이점은 다음과 같습니다.. 더보기 [SQL] Primary Key (Index) 소개 Primary Key (기본 키)는 데이터베이스 테이블의 특정 열(또는 열의 조합)에 대한 고유한 식별자로 사용되는 열입니다. 이를 통해 각 레코드는 테이블 내에서 고유하게 식별되며, Primary Key는 해당 테이블의 주요 식별 수단이 됩니다. Primary Key는 다음과 같은 특징을 가지고 있습니다: 고유성 (Uniqueness): Primary Key는 테이블 내의 각 레코드를 고유하게 식별해야 합니다. 즉, Primary Key 값은 중복되어서는 안됩니다. NULL 값 불허 (Non-Null): Primary Key 값은 NULL이 될 수 없습니다. 각 레코드는 반드시 Primary Key 값을 가져야 합니다. 불변성 (Immutability): Primary Key 값은 레코드가 추가,.. 더보기 [SQL] SQL 과 NoSQL 차이 SQL vs NoSQL SQL (관계형 데이터베이스) 데이터 모델: SQL은 정해진 스키마를 사용하며, 데이터의 구조가 사전에 정의됩니다. 테이블 간의 관계를 통해 데이터를 구성합니다. 확장성: 수직 확장(더 강력한 하드웨어로의 업그레이드)이 주로 사용됩니다. 수평 확장이 어렵거나 비용이 많이 들 수 있습니다. 트랜잭션: ACID 특성을 준수하여 데이터 일관성을 유지합니다. 트랜잭션의 복잡성 때문에 대량의 동시 쓰기 작업이 있을 때 병목 현상이 발생할 수 있습니다. 유연성: 데이터의 스키마가 미리 정의되어 있기 때문에 유연성이 상대적으로 낮습니다. 스키마 변경이 어려울 수 있습니다. 적합한 사용 사례: 정해진 스키마와 관계를 요구하는 경우 (예: 회계 시스템, 주문 처리 등) 복잡한 쿼리와 트랜잭션을 필.. 더보기 [SQL] RDB란? 소개 RDB는 "Relational Database"의 약어로, 관계형 데이터베이스를 나타냅니다. 관계형 데이터베이스는 테이블 간의 관계를 기반으로 데이터를 구성하고 관리하는 데이터베이스 시스템을 말합니다. 이러한 데이터베이스는 테이블, 행, 열로 이루어진 구조를 가지며, SQL(Structured Query Language)을 사용하여 데이터를 조작합니다. 주요 특징과 용어는 다음과 같습니다: 테이블(Table): 데이터가 저장되는 기본 단위로, 행과 열로 이루어진 2차원 구조입니다. 각 테이블은 특정 주제나 엔터티를 나타내며, 테이블 간에는 관계가 형성될 수 있습니다. 행(Row): 테이블에 저장된 개별 레코드를 나타냅니다. 행은 다양한 속성(열)의 값으로 구성됩니다. 열(Column): 테이블의 속.. 더보기 [Network] 호스팅이란? 호스팅은 웹사이트나 애플리케이션과 같은 디지털 콘텐츠를 저장하고 공개하기 위한 서버 및 인프라스트럭처를 제공하는 서비스를 말합니다. 간단히 말해, 호스팅은 온라인에서 컨텐츠를 저장하고 이를 공개하기 위한 서버를 제공하는 것입니다. 일반적으로 웹 호스팅은 웹사이트를 인터넷에 공개하기 위해 사용됩니다. 웹 호스팅 서비스 제공업체는 사용자에게 웹 서버의 공간을 임대해주고, 이를 통해 웹사이트의 파일, 데이터베이스, 이미지 등을 저장하고 관리할 수 있게 합니다. 주요 웹 호스팅 유형에는 다음과 같은 것들이 있습니다: 공유 호스팅 (Shared Hosting): 여러 사용자가 하나의 서버를 공유하는 형태로, 비용이 저렴하고 간단한 웹사이트에 적합합니다. VPS 호스팅 (Virtual Private Server H.. 더보기 이전 1 2 3 4 5 6 7 ··· 15 다음