일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OAuth2
- 리소스핸들러
- 정적 리소스
- Application Argument
- 브루트포스
- Spring Security
- 다익스트라
- 백기선
- 스프링부트
- HttpMessageConverters
- AuthenticationPrincipal
- application.properties
- 스프링 부트
- HATEOAS
- rest api
- 백트래킹
- 알고리즘
- 리소스 서버
- Application Runner
- @Profile
- JsonSerializer
- cors
- 백준
- EnableAutoConfiguration
- @ConfigurationProperties
- Application Event
- 외부설정
- WebApplication Type
- JPA
- webjar
- Today
- Total
목록분류 전체보기 (114)
아카이브
세션(Session) 1. 특성- 일정 시간동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술- 일정 시간 = 브라우저를 통해 웹 서버에 접속 ~ 브라우저 종료- "방문자가 웹서버에 접속해있는 상태" = 한 단위의 세션- HTTP 프로토콜은 비접속형 프로토콜 - > 세션이 연결 유지를 가능하게 함- 클라이언트가 웹서버에 request하면, 서버가 클라이언트에 유일한 session_id를 부여- 서버에 저장되기떄문에, 서버의 부하와 별도의 공간이 필요함2. 원리- session_id를 서버가 클라이언트에 발급- session_id를 쿠키를 사용해서 저장 (JSESSIONID)- 클라이언트가 재접속시, JSESSIONID를 이용해서 session_..
OSI ?다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신규약(Protocol)프로토콜 기능별로 7개의 계층으로 물리계층,데이터링크계층,네트워크계층.전송계층,세션계층,응용계층으로 구분 A.물리계층(Physical Layer)- 전송에 필요한 두 장치 간의 실제 접속과 절단 등에 필요한 전송매체의 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙 정의 B.데이터 링크계층(Data Link Layer)- 2개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송- 흐름제어, 프레임 동기화, 오류제어, 순서 제어 등을 관리 C. 네트워크 계층(Network Layer)- 개방 시스템들 간의 네트워크 연결 관리(네트워크ㅏ 연결을 설정, 유지, 해제) 데이터의 교환 및 중계- ..
NoSQL ?- 관계형 데이터 모델을 지양 하며 대량의 분산된 데이터를 저장하고 조회하는 데 특화- 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소- SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조한다는 면에서 "Not only SQL"로 불리기도 함 NoSQL 종류1. Key-Value Model가장 기본적인 형태의 NoSQL키 하나로 데이터 하나를 저장하고 조회할 수 있는 단일 키-값 구조를 갖는다. 대표적인 예시 : Redis 2. Document Model키-값 모델을 개념적으로 확장한 구조로 하나의 키에 하나의 구조화된 문서를 저장하고 조회논리적인 데이터 저장과 조회 방법이 관계형 데이터베이스와 유사키는 문서에 대한 ID로 표현또한 저장된 문서를 컬렉션으로 관리하며 문서 저장..
정규화 ?- 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스- 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것- DB 설계를 재구성하는 기술- 높은 차수로 갈 수록 낮은 차수의 정규화를 만족해야 함- '도부이결다조' (1) 제1정규형 (1NF = 1 Nomal Form)- 중복되는 항목이 없어야 한다 (도메인이 원자값만으로 되어 있어야 함) (2) 제2정규형 (2NF) - 부분 함수적 종속 관계를 제거해야 함 (3) 제3정규형 (3NF) - 이행 함수적 종속 (x -> y ->z) 제거 (4) BC(Boyce-codd) 정규형 (BCNF) - 결정자이면서 후보키가 아닌 것 제거 (5) 제4정규형 - 다치 종속 제거 (6) 제5정규형 - 조인 ..
JOIN ? - DB 내의 여러 테이블의 레코드를 조합하여 하나의 결과 집합으로 만드는 것- INNER JOIN, OUTER JOIN- OUTER JOIN의 경우 LEFT, RIGHT, FULL로 그 종류가 있음- FULL OUTER JOIN은 일부 DBMS에서만 지원 INNER JOIN과 OUTER JOIN의 차이점- INNER JOIN의 경우 교집합으로, JOIN 대상이 되는 컬럼에서 A/B 양쪽 다 있는 경우 - OUTER JOIN의 경우는 각 종류에 따라 그 결과물이 조금씩 달라짐 ● LEFT OUTER JOIN : A의 모든 열과 B에 있는 공통 부분을 얻게 되고, A에 있지만 B에는 없는 내용의 경우 우측은 NULL로 처리 ● RIGHT OUTER JOIN : B의 모든 열과 A에 있는 공통 ..
트랜잭션 (Transaction) ?- DB 내에서 한번에 수행되어야할 일련의 연산들- 시스템에서 사용되는 쪼갤 수 없는 업무처리의 단위- 전부 COMMIT 되거나, 전부 ROLLBACK 되거나- ex) 쇼핑몰 결제 시, 예상치 못한 오류로 금액만 지불되고 주문 처리가 안됐으면 ? 전부 ROLLBACK을 시켜야 함- 트랜잭션의 4가지 특성 (ACID)1) Atomicity - 원자성 : All or Nothing2) Consistency - 일관성 : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미 ex) 무결성 제약을 위반하는 트랜잭션은 중단3) Isolation - 격리성 : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것..
INDEX ?- DB에서 사용하는 색인- 특정 TABLE에 SELECT를 할때 WHERE나 JOIN에 빈번하게 참조되는 컬럼들을 색인으로 하여 정렬된 트리 목록을 만들고,이를 이용하여 full scan이 일어나는 일을 줄이고 속도를 빠르게 하기 위함- 읽기 성능을 향상시키기 위한 일종의 자료구조- 중복이 많은 컬럼(성별처럼 타입이 적은 경우) 비효율적이므로 INDEX를 걸지 않음- JOIN에 자주 사용되는 컬럼에 걸면 효율적 ※ 모든 컬럼에 INDEX를 걸면 빨라지나요? - SELECT의 경우 이득이 있지만- INSERT/ UPDATE /DELETE의 경우 INDEX로 인하여 성능이 감소할 수 있음 (DML에 취약함) ● 왜 ? INDEX를 생성하면 내부적으로 B+Tree를 이용한 데이터 색인이 생김☞ ..
1. DDL- Data Definition Language- CREATE, ALTER, DROP2. DML- Data Manipulation Laguage- SELECT, INSERT, UPDATE, DELETE 3. DCL- Data Control Language- GRANT, REVOKE, COMMIT, ROLLBACK
우선 OOP 란?- Object-Oriented Programming- 컴퓨터 프로그래밍의 패러다임- 프로그램을 명렁어의 목록이 아닌, 독립된 "객체"들의 모임으로 바라봄- Class, Object, Method, Message 등으로 구성특징1. 추상화 (Abstraction)- 대상의 특성 중 불필요한 부분을 무시하고 필요한 공통점만을 다루어, 현실의 복잡성을 극복하고 목적에 집중할 수 있도록 하는 것- 공통의 속성이나 기능을 묶어 이름을 붙이는 것- Class를 정의하는 것- ex) Class Human {String nameint age} 2. 캡슐화 (Encapsulation)- 객체 스스로가 자신의 상태를 책임지게 하여, 해당 객체의 역할 수행에 집중할 수 있도록 자율성을 높이는 것- 데이터 ..
interface와 abstract class의 목적- 구현하는 인터페이스나 상속받는 클래스 안에 있는 추상 메소드를 구현하도록 '강제'- 상호 보완적인 면 ● 자바는 다중 상속을 지원하지 않음 ● class A extends B implements C 등으로 사용 (다중상속을 가능하게 함) abstract class- 목적 : 상속받아 기능을 이용하고, 확장- class에 abstarct 메소드가 하나 이상 포함 interface- 목적 : 메소드의 구현을 강제하여, 구현한 객체들에 대해 동일한 동작을 약속, 다형성- 모든 메소드에 대한 명세만 존재- 자바 8에서 default keyword로 일반 메소드 구현 가능