본문 바로가기

반응형

개발

[Concept] Spring과 Spring Boot의 차이점? 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 스프링이 사용되기 이전에는 초기 기업에서 EJB(Enterprise Java Bean) 방식의 기술을 이용해서 Web Application 을 서비스했습니다. EJB를 보완한 Spring Framework의 특징 가볍고 간편한 구조: Spring은 EJB에 비해 가볍고 간편한 구조를 가지고 있습니다. 불필요한 복잡성이 없으며, 설정이 간단하게 이루어져 개발 생산성을 높일 수 있습니다. 좋은 유연성과 확장성: Spring은 자체 컨테이너를 사용하며, 이는 EJB 컨테이너보다 더 빠르고 가볍습니다. 또한, Spring은 다양한 확장 기.. 더보기
[Security] Basic Token 과 Bearer Token의 차이 Basic과 Bearer는 HTTP 헤더에서 인증 정보를 전달하는 데 사용되는 두 가지 다른 인증 스킴(Scheme)입니다. 각각의 특징과 사용되는 상황에 대해 설명하겠습니다. 1. Basic Authentication: 헤더 형식: Authorization: Basic base64(username:password) 동작 방식: 사용자 이름과 비밀번호를 클리어 텍스트로 받아 Base64 인코딩합니다. 인코딩된 문자열을 "Basic" 스킴과 함께 HTTP 헤더의 "Authorization" 필드에 추가합니다. 이 정보는 클라이언트가 서버에게 로그인 정보를 전송하는 데 사용됩니다. 사용 사례: 주로 웹 서비스에서 사용자를 인증하는 데 사용됩니다. 주로 HTTPS와 함께 사용하여 보안을 강화합니다. 예시: A.. 더보기
[Java] 세 가지 주요 ORM 비교( jpa, ebean, hibernate ) JPA (Java Persistence API): 표준 인터페이스: JPA는 자바에서 관계형 데이터베이스와 상호 작용하는 표준 인터페이스를 제공합니다. JPA는 Java EE(Enterprise Edition)의 일부로서 정의되었으며, 여러 ORM 프레임워크가 JPA 표준을 구현합니다. Vendor 독립성: JPA는 벤더 독립성을 제공하여 다양한 데이터베이스에 대한 이식성을 높입니다. 애노테이션 기반 매핑: 주로 애노테이션을 사용하여 객체와 데이터베이스 스키마 간의 매핑을 정의합니다. Hibernate: 강력하고 완전한 기능: Hibernate는 JPA의 구현체 중 하나로, 강력하고 많은 기능을 제공합니다. 여러 고급 매핑 옵션과 성능 최적화 기능을 포함하고 있습니다. 확장성: Hibernate는 자체적.. 더보기
[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.. 더보기
[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] RDB란? 소개 RDB는 "Relational Database"의 약어로, 관계형 데이터베이스를 나타냅니다. 관계형 데이터베이스는 테이블 간의 관계를 기반으로 데이터를 구성하고 관리하는 데이터베이스 시스템을 말합니다. 이러한 데이터베이스는 테이블, 행, 열로 이루어진 구조를 가지며, SQL(Structured Query Language)을 사용하여 데이터를 조작합니다. 주요 특징과 용어는 다음과 같습니다: 테이블(Table): 데이터가 저장되는 기본 단위로, 행과 열로 이루어진 2차원 구조입니다. 각 테이블은 특정 주제나 엔터티를 나타내며, 테이블 간에는 관계가 형성될 수 있습니다. 행(Row): 테이블에 저장된 개별 레코드를 나타냅니다. 행은 다양한 속성(열)의 값으로 구성됩니다. 열(Column): 테이블의 속.. 더보기
[Network] 호스팅이란? 호스팅은 웹사이트나 애플리케이션과 같은 디지털 콘텐츠를 저장하고 공개하기 위한 서버 및 인프라스트럭처를 제공하는 서비스를 말합니다. 간단히 말해, 호스팅은 온라인에서 컨텐츠를 저장하고 이를 공개하기 위한 서버를 제공하는 것입니다. 일반적으로 웹 호스팅은 웹사이트를 인터넷에 공개하기 위해 사용됩니다. 웹 호스팅 서비스 제공업체는 사용자에게 웹 서버의 공간을 임대해주고, 이를 통해 웹사이트의 파일, 데이터베이스, 이미지 등을 저장하고 관리할 수 있게 합니다. 주요 웹 호스팅 유형에는 다음과 같은 것들이 있습니다: 공유 호스팅 (Shared Hosting): 여러 사용자가 하나의 서버를 공유하는 형태로, 비용이 저렴하고 간단한 웹사이트에 적합합니다. VPS 호스팅 (Virtual Private Server H.. 더보기

반응형