일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- in-memory
- 실행 컨텍스트
- NoSQL
- document database
- 스프링 부트
- MongoDB
- 정처기
- 게시판
- Spring Boot
- 스프링 시큐리티
- SQL
- 정보처리기사
- spring security
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 영속성 컨텍스트
- 캐시
- 깃허브
- VMware
- 다이나믹프로그래밍
- 스프링부트
- 자바의 정석
- github
- 동적계획법
- 분할정복
- 레디스
- JPA
- Redis
- sqld
- 이벤트루프
- 호이스팅
- Today
- Total
목록분류 전체보기 (72)
FreeHand
변수나 인수이름 뒤에 타입 애너테이션을 붙여서 타입을 정의할 수 있다. 변수 const name: string = 'Jin'; const age: number = 25; 배열 const names: string[] = ['Jin', 'Hana']; const = ages: number[] = [25, 24]; 객체 const user: { name: string, age: number } = { name: 'Jin', age: 25 } 함수 function greeting(name: string): string { return `Hello ${name}`; } const greeting = (name: string): string => `Hello ${name}` 타입 추론(Type Inference) ..

ReactSPA 방식으로 UI를 구현할 수 있도록 지원하는 자바스크립트 라이브러리. 데이터의 변화에 따라 UI를 실시간으로 업데이트 할 때 전체 페이지를 렌더링하지 않고 업데이트가 발생하는 부분만 렌더링을 할 수 있다. Virtual DOM 리액트는 실제 DOM이 아닌 가상의 DOM을 활용하여 이전 상태를 메모리에 보관해두었다가 새롭게 변경될 부분과 비교하여 부분적으로 업데이트 할 수 있다. DOM이란 HTML의 element들을 트리 구조로 나타낸 것으로, DOM 트리에는 각 element에 상응하는 Node가 있다. DOM API를 사용하면 각 Node에 접근하여 조작할 수 있다. Javascript DOMDOM(Document Object Model, 문서 객체 모델): 웹 브라우저가 HTML 파일..
CPU는 정해진 흐름에 따라 명령어를 처리하고 이 흐름을 명령어 사이클이라고 한다.명령어 사이클은 메모리에 있는 명령어를 CPU의 레지스터로 가져오는 인출 사이클(fetch cycle)과 가져온 명령어를 실행하는 실행 사이클(execution cycle)이 반복하며 실행된다. 이때 CPU의 작업을 방해하는 신호를 인터럽트(interrupt)라고 한다. 인터럽트의 종류에는 동기 인터럽트와 비동기 인터럽트가 있다. 동기 인터럽트(예외)CPU가 명령어를 수행하다가 예상치 못한 상황을 마주쳤을 때 발생하는 인터럽트. 예외(exception)라고도 부른다. 비동기 인터럽트(하드웨어 인터럽트)주로 입출력창치에 의해 발생하는 알림과 같은 인터럽트. CPU가 입출력장치에 명령을 했을 때 입출력장치와의 속도 차이 때문에..

SRP(Single Responsibility Principle, 단일 책임 원칙) - What객체는 하나의 책임만 가져야 한다.여기서 책임이란 "할 수 있는 것" 또는 "해야 하는 것"을 의미한다.- Why하나의 클래스가 너무 많은 책임을 수행한다면 변경에 유리한 코드를 작성하기 힘들다.학생 클래스가 변경될 경우 학생 클래스의 역할을 필요로 하는 다른 코드 역시 변경해야 할 가능성이 높다. - How클래스들이 책임을 적절하게 분담하도록 변경한다.학생 클래스가 모든 책임을 가질 때는 하나의 책임에 변경이 있어도 학생 클래스를 사용하는 다른 클래스들을 다시 테스트해야 한다. 하지만 학생 클래스의 책임을 여러 클래스가 분담하면 해당 책임을 갖는 클래스와 그 클래스를 사용하는 클래스만 영향을 받는다. OCP..
스프링(서버)에서 응답 데이터를 만드는 방법 - 정적 리소스 정적인 HTML, CSS, Javascript를 제공할 때 정적 리소스를 사용한다. - 뷰 템플릿 사용 동적인 HTML을 제공할 때 뷰 템플릿을 사용한다. - HTTP 메시지 사용 HTTP API를 제공하는 경우 HTTP 메시지 바디에 JSON 등의 형식으로 데이터를 보낸다. 정적 리소스 src/main/resources/static 경로에 파일을 넣어두면 정적 리소스로 제공한다. 뷰 템플릿 src/main/resources/templates 경로를 기본 뷰 템플릿 경로로 사용한다. HTTP 메시지 바디에 직접 입력(HTTP API) @Slf4j @Controller //@RestController public class ResponseBody..

일반화 관계(상속 관계)한 클래스가 다른 클래스를 포함하는 상위 개념일 때를 말한다.자식 클래스는 부모 클래스의 속성과 연산(메서드)를 물려받을 수 있다.public abstract class HomeAppliancies { private int serialNo; private String manufacturer; private int year; public abstract void turnOn(); public abstract void turnOff();}public class Washer extends HomeAppliancies { @Override public void turnOn() { // ... } @O..
JOIN여러 개의 테이블을 사용해서 새로운 테이블을 만드는 것EQUI JOIN(등가 조인)SELECT * FROM emp, deptWHERE emp.deptno = dept.deptno;=를 사용해서 테이블을 연결한다. INNER JOINSELECT * FROM emp INNER JOIN deptON emp.deptno = dept.deptno;ON을 사용해서 테이블을 연결한다. INTERSECT 연산SELECT deptno FROM empINTERSECTSELECT deptno FROM dept;두 테이블의 교집합을 출력한다. Non-EQUI JOIN(비등가 조인)=을 사용하지 않고 >, =, 정확하게 일치하지 않는 것을 조인한다. OUTER JOINLEFT OUTER JOIN: 두 테이블에서 같은 것..
SQL데이터의 구조 정의, 데이터 조작, 데이터 제어 등을 할 수 있는 절차형 언어ANSI/ISO 표준을 따른다.SQL 종류DDL- 데이터베이스의 구조를 정의한다.- CREATE, DROP, ALTER, RENAMEDML- 데이터를 입력, 수정, 삭제, 조회한다.- INSERT, UPDATE, DELETE, SELECTDCL- 데이터베이스 사용자에게 권한을 부여하거나 회수한다.- GRANT, REVOKETCL- 트랜잭션을 제어한다.- COMMIT, ROLLBACK * SELECT문 실행 순서FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY 형변환명시적 형변환: 형변환 함수를 사용해서 데이터 타입을 일치시키는 것TO_NUMBER(문자열)- 문자열을 숫자로 변환T..

정규화데이터를 분해하는 과정이다.데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법이다.데이터 모델의 독립성 확보를 위한 방법이다.제1정규화부터 제5정규화까지 있지만, 실질적으로는 제3정규화까지만 수행한다.제1정규화- 속성의 원자성을 확보한다.- 기본키를 설정한다.제2정규화- 기본키가 2개 이상의 속성으로 이루어진 경우, 부분 함수 종속성을 제거한다.제3정규화- 기본키를 제외한 칼럼 간에 종속성을 제거한다. 즉, 이행 함수 종속성을 제거한다.BCNF- 기본키를 제외하고 후보키가 있는 경우, 후보키가 기본키를 종속시키면 분해한다.제4정규화- 여러 칼럼들이 하나의 칼럼을 종속시키는 경우 분해하여 다중 값 종속성을 제거한다.제5정규화- 조인에 의해서 종속성이 발생되는 경우 분해한다. ..

데이터 모델링현실세계를 데이터베이스로 표현하기 위해서 추상화한다.고객과 의사소통을 통해 고객의 업무 프로세스를 이해해야 한다.데이터 모델링 표기법을 사용해서 모델링한다.데이터 모델링 특징추상화: 현실세계를 간략하게 표현단순화: 누구나 쉽게 이해하도록 표현명확성: 명확하게 의미가 해석되고, 한 가지 의미를 가짐데이터 모델링 단계개념적 모델링- 전사적 관점에서 모델링- 추상화 수준이 가장 높은 모델링논리적 모델링- 식별자를 정의하고 관계, 속성 등을 표현- 정규화를 통해 재사용성을 높임물리적 모델링- 테이블, 인덱스 등을 생성하는 단계- 성능, 보안, 가용성 등을 고려하여 구축 - 개념적 모델링업무 전체에 대해서 모델링복잡하지 않게 중요한 부분 모델링엔터티(Entity)와 속성(Attribute)을 도출하고..