본문 바로가기

WEB개발

(69)
[DB] 테이블 논리단위, DDL TABLE (CREATE, ALTER, DROP) 1. 논리전 단위 (Logical Unit) 논리전 단위는 데이터베이스 내에서 사용자가 데이터를 다루는 기본적인 논리적인 단위입니다. 일반적으로 테이블이나 인덱스 등이 논리전 단위로 간주됩니다. 이러한 논리적 단위는 물리적인 저장 매체와는 별개로, 데이터를 논리적으로 구성하고 관리하는 단위입니다.예를 들어, 하나의 테이블은 논리적 데이터 단위입니다. 테이블 안에는 행(row)과 열(column)로 구성된 데이터가 논리적으로 저장됩니다.  2. 데이터 블록 (Data Block) 데이터 블록은 데이터베이스에서 가장 작은 물리적 저장 단위입니다. DBMS에서 데이터를 실제로 디스크에 저장할 때 데이터를 블록 단위로 저장합니다. 데이터 블록은 디스크에서 읽거나 쓸 때의 최소 단위입니다.예를 들어, Oracle..
[VUE] VUE개발 1. 환경구성 Nodejs설치 (https://nodejs.org/en) Visual Studio Code 설치 (https://code.visualstudio.com/) Vue설치npm install -g @vue/cli Vue프로젝트 생성vue create ${내가원하는 프로젝트 명} COMPONENT : 컴포넌트는 Vue의 가장 강력한 기능 중 하나입니다. 기본 HTML 엘리먼트를 확장하여 재사용 가능한 코드를 캡슐화하는 데 도움이 됩니다. Vue 컴포넌트는 Vue 인스턴스이기도 합니다. 그러므로 모든 옵션 객체를 사용할 수 있습니다 TEMPLATE:  뷰 템플릿은 HTML, CSS 등의 마크업 속성과 뷰 인스턴스에서 정의한 데이터 및 로직들을 연결하여 사용자가 브라우저에서 볼 수 있는 형태의 HT..
[Spring] 주석 1(Annotation) @Configuration, @Bean, @EnableAsync, @Async, @ExceptionHandler, @ResponseStatus, @ControllerAdvice, @Controller,  @Service,  @Repository, @RequestMapping,  @GetMapping,  @PostMapping ,  @DateTimeFormat    @Configuration, @Bean @Configuration은 Spring Framework에서 사용되는 어노테이션 중 하나로, 해당 클래스가 Spring 애플리케이션 컨텍스트를 구성하는 데 사용된다는 것을 나타냅니다. @Configuration이 붙은 클래스는 Spring의 Java 기반 구성 방식 중 하나인 Java Config를 사..
[DB] INDEX : 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 DBMS는 index를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 탐색할 수 있다. 그렇기 때문에 인덱스가 적용된 컬럼에 INSERT, UPDATE, DELETE가 수행된다면 각각 다음과 같은 연산을 추가적으로 해주어야 하며 그에 따른 오버헤드가 발생한다.CREATE INDEX index_nameON table_name (column1, column2, ...);DROP INDEX index_name;INSERT: 새로운 데이터에 대한 인덱스를 추가함DELETE: 삭제하는 데이터의 인덱스를 사용하지 않는다는 작업을 진행함UPDATE: 기존의 인덱스를 사용하지 않음 처리하고, 갱신된 데이터..
Proxy Pattern 프록시(Proxy) 패턴은 GoF(Design Patterns: Elements of Reusable Object-Oriented Software)에서 제안한 구조적 디자인 패턴 중 하나로, 대리자 객체를 통해 실제 객체에 접근하는 방법을 제공하는 패턴입니다. 이 패턴은 실제 객체에 대한 접근을 제어하거나 부가적인 기능을 제공하기 위해 사용됩니다. 프록시 패턴의 쓰임 가상프록시 꼭 필요로 하는 시점까지 객체의 생성을 연기하고, 해당 객체가 생성된 것처럼 동작하도록 만들고 싶을때 사용하는 패턴입니다. 프록시 클래스에서 자잘한 작업들을 처리하고 리소스가 많이 요구되는 작업들이 필요할 때에만 주체 클래스를 사용하도록 구현하며 위에서 예로 들었다시피 해상도가 아주 높은 이미지를 처리해야 하는 경우 작업을 분산하..
[JAVA] Thread-Safe, Concurrent Collection class, Double Checked Locking synchronized서버에 동시에 여러 request다 요청될 경우 data의 안정성과 신뢰성을 보장할 수 없습니다.따라서 data의 thread-safe 를 하기 위해 자바에서는 synchronized 키워드를 제공해 스레드간 동기화를 시켜 data의 thread-safe를 가능케합니다. Synchronized 키워드는 변수와 함수에 사용해서 동기화 할 수 있습니다.하지만 Synchronized 키워드를 너무 남발하면 오히려 프로그램 성능저하를 일으킬 수 있습니다.  동기화 메서드메서드 전체를 동기화하여 한 스레드가 메서드를 실행하는 동안 다른 스레드의 접근을 막습니다.public class Counter { private int count = 0; // synchronized 메서드 ..
Class Loader & Hot Deploy Class Loader란?Class Loader는 자바 바이트코드를 읽어들여 클래스 객체를 생성하는 역할을 담당한다.  클래스 로딩 방식에는 load-time dynamic loading과 run-time dynamic loading이 있다.load-time dynamic loading은 클래스를 로딩하는 과정에서 다시 필요한 클래스를 로딩한다. 예를 들어 HelloWorld 클래스 내에 System.out.println이 있다면 java.lang.System을 로딩할 것이다. run-time dynamic loading은 클래스 내 코드를 실행하는 과정에서 필요한 클래스를 로딩한다. Class.forName()을 사용하는 경우가 대표적이다. 클래스 로딩의 순서는?Bootstrap Class Loader..
JMX(MBean), JOLOKIA, SpringBoot, Actuator JMX(Java Management Extensions) JMX(Java Management eXtensions)는 응용 프로그램(소프트웨어)/객체/장치 (프린터 등) 및 서비스 지향 네트워크 등을 감시 관리를 위한 도구를 제공하는 자바 API이다.  JDK 1.5 이상부터 기본적으로 탑재된 기능 자바 어플리케이션의 모니터링과 관리 기능을 제공한다. Non-Java Resource와 하드웨어에 대해 wrapping한 인터페이스를 제공하며, API를 외부로 노출해 application 설정 및 통계데이터를 수집할 수 있는 기능을 제공한다. mBean으로 알려진 하나 이상의 사용자 JavaBean 오브젝트를 통해(혹은 리소스를 호출하는) 애플리케이션, 디바이스, 서비스를 원격으로 제어할 수 있다. mBean..