220718 SSAFY 정식 일정을 시작하였다.내가 듣는 과정은 자바 Track으로 웹 풀스택 과정이다.새로 배우는 내용도 많고 제대로 알지 못했던 부분도 많기 때문에배우는 내용들을 따로 정리하려고 합니다!10)
쉬어가는 파트 스니펫 : [등록한 이름] 타이핑 후 ctrl + space 코드 정렬 : ctrl + a -> ctrl + shift + i (ctrl + shift + f) 등등.. 유용한 기능들이 있음..
변수(Variable) : 타입 변수명 = 값자료를 저장하기 위한 메모리 공간.메모리 공간에 값을 할당(assign) 후 사용.타입에 따른 분류기본형(Primitive Type) \- 미리 정해진 크기의 메모리로 표현. 변수 자체에 값 저장. \- Overf
연산자의 종류산술 연산자 특징산술 연산자의 기본형 : int형.byte형과 같이 범위가 작은 타입일 경우 명시적 형 변환 필요.피연산자의 데이터 타입 중 범위가 큰 데이터 타입으로 묵시적 형 변환 후 진행된다.따라서, 필요에 따라 명시적 형 변환을 통해 조정해야한다.비
배열(Array) : 동일한 타입의 데이터 0개 이상을 하나의 연속된 메모리 공간에 관리하는 데이터 타입.배열의 특징요소에 접근하는 속도가 매우 빠름.(인덱스 활용, O(1))한 번 생성하면 크기 변경 불가.(새로운 배열에 복사하여 할당하는 방법으로 크기 변경.)참조형
주변의 많은 것들을 객체화(추상화)하여 프로그래밍 하는 것.객체 : 주체가 아닌 것. 주체가 활용하는 것.OOP의 장점 : 블록 형태의 모듈화된 프로그래밍신뢰성 높은 프로그래밍 가능.추가/수정/삭제 용이.재사용성 높음.현실 세계 객체, 클래스, 프로그램 객체의 관계현실
◾ OOP is A P.I.E1\. Abstraction(추상화) : 현실의 객체를 추상화하여 클래스 구성.2\. Polymorphism(다형성) : 하나의 객체를 여러 가지 타입(형)으로 참조.3\. Inheritance(상속) : 부모 클래스의 자산을 물려받아 자식
하나 이상의 추상 메서드를 포함하는 클래스. 공통 모듈을 추출해 구현하고 세부적인 조정이 필요한 부분은 추상 메서드로 구현.추상 메서드 : 구현부없이 선언부만 남긴 메서드. abstract 키워드 사용.자손 클래스에서 반드시 재정의되어야 하므로 구현이 무의미한 메메서드
제너릭(Generics) : 다양한 타입의 객체를 다루는 메서드, 컬렉션 클래스에서 컴파일 시에 타입 체크미리 사용할 타입을 명시해서 형 변환을 하지 않아도 되게한다.객체의 타입에 대한 안전성 향상 및 형 변환의 번거로움 감소.표현클래스 또는 인터페이스 선언 시 <
에러와 예외 : 어떤 원인에 의해 오동작하거나 비정상적으로 종료되는 경우.에러(Error) : 메모리 부족, stack overflow와 같이 일단 발생하면 복구할 수 없는 상황. (심각도 높음)프로그램의 비정상적 종료를 막을 수 없음. -> 디버깅 필요.예외(Exce
✔Collection Framework ✔List
특징순서없이 주머니에 구슬(데이터)를 넣는 형태.순서가 없으므로 데이터를 구별할 index가 없어 중복 불가.효율적인 중복 데이터 제거 수단.동일한 데이터는 추가되지 않음.index가 없으므로 객체를 삭제하기 위해서 객체와 동일한 값을 전달.동일한 데이터의 기준객체의
함수형 인터페이스(람다식 인터페이스) : 1개의 추상 메서드를 갖는 인터페이스.제약 조건 : 오직 하나의 추상 메서드만 정의되어 있어야 한다.static 메서드와 default 메서드의 개수에는 제약이 없다.람다식 표현시 데이터 추론이 가능하여 매개변수 데이터 타입 생
데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소1) 연속된 요소 : filter, sorted, map 등 데이터 처리를 위한 계산식이 주를 이룸.2) 데이터 처리 연산 : filter, map, find, match, sort 등 함수형 프로그래밍, 데이터
✔I/O 데이터의 입력(input)과 출력(output) 한쪽에서 주고 한쪽에서 받는 구조. 입력과 출력의 끝단 : 노드(Node) 두 노드를 연결하고 데이터를 전송할 수 있는 개념 : 스트림(Stream) 이전에 작성한 스트림과는 다른 개념 데이터를
공공 데이터 : 공공기관이 만들어내는 모든 공적인 정보각 공공기관이 보유한 데이터를 개방하여 누구나 원하는 기능에 활용 가능.개별키를 발급 받아 사용.데이터의 종류 : CSV, XML, JSON 등XML(Extensible Markup Language)Markup La
✔표준 입출력 표준 입출력 System.in System.out System.err : 오류를 따로 출력하기 위해서 사용. 표준 입출력의 대상 변경 System.setIn() System.setOut() System.setErr() 1. Scan
반복과 재귀는 유사한 작업 수행 가능반복은 수행하는 작업이 완료될 때까지 반복(for, while)재귀은 주어진 문제의 해를 구하기 위해 동일하면서 더 작은 문제의 해를 이용하는 방법(분할 정복)하나의 큰 문제를 해결할 수 있는(해결하기 쉬운) 작은 문제로 쪼개고 결과
완전 검색 1. 순열 순열(Permutation) : 서로 다른 n개의 원소 중 r개를 순서있이 골라낸 것. $nPr = n \times (n-1) \times ... \times (n-r+1) (n >= r)$ 순서가 다르다면 다른 경우. (ex) 1, 2 와
선형 구조 : 자료간의 관계가 1대1의 관계 (ex) 배열, 리스트, 스택, 큐, ...비선형 구조 : 자료간의 관계가 1대N의 관계 (ex) 트리스택(Stack) : 후입 선출 구조(LIFO, Last in First Out) 선형 자료 구조.후입 선출 구조 : 마지
리스트(List) : 순서를 가진 데이터의 집합을 가리키는 추상 자료형(abstract data type)데이터 중복 허용, 순서 => 순서는 index를 통해 관리. 삽입하는 순서.구현 방법순차 리스트 : 배열을 기반으로 구현된 리스트물리적 공간 연속적(offset
트리의 개념비선형 구조원소들 간에 1:n 관계를 가지는 자료구조원소들 간에 계층 관계를 가지는 계층형 자료구조상위 원소에서 하위 원소로 내려가면서 확장되는 트리(나무)모양의 구조정의 : 한 개 이상의 노드로 이루어진 유한 집합이며 다음 조건 만족.노드 중 최상위 노드를
힙(Heap) : 완전 이진 트리에 있는 노드 중에서 키 값이 가장 큰 노드나 키 값이 가장 작은 노드를 찾기 위해 만든 자료구조각 힙의 조건은 트리의 모든 노드에 적용키 값이 가장 큰 노드를 찾기 위한 완전 이진 트리부모 노드의 키 값 >= 자식 노드의 키 값루트 노
지금까지 boolean\[] 을 통해 정보 저장정수와 비트 연산자를 사용해 해당 원소에 대한 비트 정보 표현
현 순열에서 사전순으로 다음 순열 생성.배열을 오름차순으로 정렬.뒤쪽부터 탐색하며 교환 위치(i-1)찾기 (i : 꼭대기)뒤쪽부터 탐색하며 교환 위치(i-1)와 교환할 큰 값 위치(j) 찾기두 위치의 값(i-1, j) 교환꼭대기 위치(i)부터 맨 뒤까지 오름차순 정렬단
최적해를 구하는데 사용되는 근시안적인 방법가능한 해들 중 가장 좋은(최대 또는 최소) 해를 찾는 문제.일반적으로 떠오르는 생각을 검증없이 구현하면 Greedy 접근.단순하며, 제한적인 문제들에 적용.각 선택 시점에서 이루어지는 결정은 지역적으로 최적, 최종적인 해답이
유래전력이 우세한 연합군을 공격하기 위해 나폴레옹은 연합군의 중앙부로 쳐들어가 연합군을 둘로 나눔.둘로 나뉜 연합군을 한 부분씩 격파.설계 전략분할(Divide) : 해결할 문제를 여러 개의 작은 부분으로 나눔.정복(Conquer) : 나눈 작은 문제를 각각 해결.통합
✔백트래킹(Backtracking) 퇴각 검색 모든 조합을 시도 (해을 얻을 때 까지 모든 가능성을 시도 기본은 완전 탐색에서 출발. 불가능한 경우를 버리면서 진행. 모든 가능성은 하나의 트리로 구성 가능. 여러 가지 중 알맞은 가지를 선택
✔ 그래프(Graph) 아이템(사물 또는 추상적 개념)들과 이들 사이의 연결 관계 표현. 그래프(Graph) : 정점의 집합과 간선의 집합으로 구성된 자료 구조 V : 정점의 개수, E : 간선의 개수, 무향 그래프. V개의 정점을 가지는 그래프는 최대 [(V
서로소 혹은 상호 배타 집합서로 중복으로 포함하는 원소(공통 원소)가 없는 집합집합에 속한 하나의 특정 멤버를 통해 각 집합들을 구분하고 이를 대표자(representative)라고 함집합 구성 요소(원소) 표현연결 리스트트리Make-Set(x): 집합 생성(x를 원소
최단 경로 : 간선의 가중치가 있는 그래프에서 두 정점 사이의 경로들 중에 간선의 가중치의 합이 최소인 경로.가중치가 없다면 BFS로 구현 가능.하나의 시작 정점에서 끝 정점까지의 최단 경로다익스트라(dijkstra) 알고리즘 : 음의 가중치를 허용하지 않음.벨만-포드
0항과 1항으로 시작하고 이전의 두 수 합을 다음 항으로 하는 수열0, 1, 1, 2, 3, 5, 8, 13, ...$F0 = 0, F1 = 1$$Fi = F{i-1} + F\_{i-2}$ (단, i >= 2)문제점 : 숫자가 커지면 중복 호출의 수가 기하급수적으로 증
Frame Work : 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조. 간단히 뼈대.Client : Front-EndBrowser : 일반적으로 http 프로토콜 사용HTML : 구조, 뼈대, 틀, 레이아웃 => 눈에 보이는 것.CSS : 꾸미는 역할
HTML : Hypertext Markup Language1990년도 이후 웹(Web, World Wide Web)에서 사용하는 문서 양식.문서에 하이퍼텍스트, 표, 목록, 비디오 등을 포함할 수 있을 tag 사용.수많은 플러그인들로 인한 Browser간의 부작용을 막
HTML : 마크업 언어, 웹 문서 작성(tag를 사용하여 문서 구조 기술)html {head, body} : <html> tag는 HTML 문서 전체 정의head {meta, title}body {p, div, form, ...}HTML 전체 구성 : html
css 1. css 기본. ◾ css 개요. Cascading Style Sheets의 약자. 웹 페이지 표현을 위해 스타일 규칙을 모아 놓은 문서. 스타일 사용 이유 웹 문서의 내용과 상관없이 디자인만 바꿀 수 있음. https://www.w3scho
JavaScript : 프로토타입 기반의 스크립트 프로그래밍 언어.객체지향 개념 지원.대부분의 JAvaScript Engine은 ECMAScript 표준 지원.(ES6)프로토타입 기반으로 클래스가 없었지만 Edition 6에서 Class 개념 지원.HTML, CSS와
JS Window 객체 Window 객체 : 웹 브라우저에서 작동하는 JavaScript 최상위 전역 객체. 브라우저와 관련된 여러 객체, 속성, 함수 포함 JavaScript에서 기본 제공하는 프로퍼티, 함수 포함.(Number 객체, setInterval() 함수 등) BOM(Browser Object Model) 1. Window 객체 사용...
DOM(Document Object Model) : HTML과 XML 문서 구조를 정의하는 API 제공.문서 요소 집합을 트리 형태의 계층 구조로 HTML 표현.최상위 노드 : document이하 태그나 요소들을 표현하는 노드와 문자열 표현하는 노드.HTML 문서의 조
✔ 비동기(AJAX) AJAX : Asynchronous JavaScript and XML 비동기로 자바 스크립트 실행하며 서버와 통신을 XML로 진행. 1. AJAX 언어나 프레임워크가 아닌 구현하는 방식. 웹에서 화면을 갱신하지 않고 데이터를 서버로부터 가져와
✔ RDBMS 관계형(Relational) 데이터베이스 시스템 테이블 기반의 DBMS 데이터를 테이블 단위로 관리. 하나의 테이블은 여러 개의 컬럼(Column)으로 구성 중복 데이터 최소화. 같은 데이터가 여러 컬럼 또는 테이블에 존재할 경우
✔ SQL(Structured Query Language) 1. Aggregation Function 집계(그룹, 집합) 함수는 하나 이상의 행을 그룹으로 묶어 연산하여 총합, 평균 등의 결과 반환 sum : 그룹의 누적 합계. avg : 그룹의 평균. co
View : 관점하나의 테이블 혹은 여러 테이블에 대하여 특정 사용자나 조직의 관점에서 데이터를 바라볼 수 있도록 해주는 수단.가상 테이블일반 테이블 : 실제로 물리적인 데이터를 가지고 있음.View : 물리적인 데이터를 갖지 않고, 이미 정의돈 일반 테이블로부터 데이
JDBC(Java DataBase Connectivity)자바 프로그래밍 언어로 만들어진 클래스와 인터페이스로 이루어진 API. ANSI SQL(1999) 지원. (표준)SQL 문을 실행할 수 있는 함수 호출 인터페이스DBMS 종류에 독립적인 자바 프로그래밍 가능.데이
데이터가 존재 하는지 또는 업무에 필요한 정보는 무엇인지 분석하는 방법.관계형 데이터베이스(RDB) : 표 개념을 사용하여 데이터를 구성하는 방법.imageEntity간의 관계를 정의하여 ER-Diagram 정의업무 분석 단계에서 얻은 내용을 토대로 Entity 추출.
✔ Web Architecture ◾ Web 동작 흐름. 1.Client 요청. 2.Web Server 접속. 3.Application Server Logic 처리(필요하다면 DB와 연동). 4.Web Server 응답 처리. 5.Client 확인. ◾ Projec
Web Application Architecture JSP로 구성할 수 있는 Web Application Architecture Model1 Model2 : MVC(Model-View-Controller) client의 요청에 대한 Logic 처리와 resp
http Ptotocol의 특징client가 server에 요청server는 요청에 대한 처리 후 client에 응답.응답 후 연결 해제 >> stateless지속적인 연결로 인한 자원낭비를 줄이기 위해 연결 해제.client와 server가 연결 상태를 유지해야하는
엔터프라이즈 급 애플리케이션을 만들기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션.JEE(Java Enterprise Edition)가 제공하는 다수의 기능 지원. JEE를 대체하는 Framework로 자리잡고 있음.JEE가 제공하는 기능 뿐 아니라, DI(D
✔AOP(Aspect Oriented Programming) 1. AOP(Aspect Oriented Programming) 핵심 관심 사항과 전체에 적용되는 공통관심 사항을 기준으로 프로그래밍 함으로서 공통 모듈을 여러 코드에 쉽게 적용할 수 있도록 지원 ◾AOP
✔Spring MVC 1. MVC ◾MVC(Model-View-Controller) Pattern 어플리케이션의 확장을 위해 Model, View, Controller 세가지 영역으로 분리. 유지 보수 용이 : 컴포넌트의 변경이 다른 영역에 영향을 끼치지 않음.
Controller가 요청을 처리하기 전/후 처리.Business Logic과 분리되어 처리해야 하는 기능에 유용로깅, 모니터링 정보 수집, 접근 제어 처리 등.여러 개를 설정할 수 있으나 순서를 주의해야함.boolean preHandle(HttpServletReque
Java Object와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM FrameworkSQL을 별도의 파일로 분리해서 관리.Object-SQL 사이의 parameter mapping 작업을 자동으로 해줌.SQL을 그대로 이용하며 도메인 객체나 VO 객체를
2000년도 로이 필딩의 박사 학위 논문에 최초로 소개.URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념 + 전송 방식URI + (GET/POST/PUT/DELETE)웹의 장점을 최대한 활용할 수 있는 아키텍처.HTTP URI를 통해 제어할 자원 명시. HTT