본문 바로가기

□ 이론

(26)
JSP 개념 정리 ▶웹 프로그램웹 프로그램이란, 인터넷 서비스를 이용해서 서로 다른 구성요소들(PC 등)이 통신할 수 있는 프로그램이다.1. 브라우저 -> Web Server (Request : 정보 요청) 2. Web Server 에서 요청에 따른 데이터 생성3. Web Server -> 브라우저 (Response : 요청에 따른 정보 응답) ▶프로토콜인터넷 객체 -> Web Server (Request)Web Server -> 인터넷 객체 (Response)인터넷 객체 : 브라우저, 메일 등 프로토콜(Protocol) : 서로간에 통신을 하기 위한 규약으로 HTTP,FTP, SMTP, POP 등이 있다.HTTP : 브라우저와 웹서버 사이에서 응답과 요청을 위한 프로토콜FTP(File Transform Protocol)..
JavaScript 기초 개념 정리 ▶JavaScript객체 기반의 스크립트 프로그래밍 언어로,웹페이지를 동적, 프로그래밍적으로 제어하기 위해서 고안되었다.웹브라우저에서 유일하게 사용할 수 있는 프로그래밍 언어이다. ▶변수값을 담는 컨테이너로 값을 유지할 필요가 있을 때 사용한다.변수에 담긴 값은 변경이 가능하다. [선언]var str = "abcdefg";var를 생략할 수 있지만 유효 범위에 영향을 미친다. ▶배열[선언]var coworkers = ['earthk', 'zeroship'];[접근]alert( coworkers[0].toUpperCase() ); // EARTHK ▶객체순서는 없으나 이름이 있는 정리 도구객체는 프로퍼티와 메서드로 구성된다. [선언]var coworkers = {"programmer" : "earthk" ..
스프링 프레임워크 기본 개념 정리 ▶스프링(Spring)Web Application 개발에 주로 사용되는 JAVA 기반 프레임워크이다. ▶프레임워크편의를 위해 여러 기능들을 추상적으로 정의해놓은 틀.사용자는 필요한 기능을 가져와서 틀에 맞추어 구현하기만 하면 된다. 즉, 내비게이션과 비슷한 역할을 한다고 할 수 있다. (안내에 따라 안전운전 만 하면 됨) - 스프링 프레임워크 주요 기능1. DI : 의존 객체 주입2. AOP : 관점 지향 프로그래밍3. JDBC : Java Data Base Connector4. MVC : Model, View, Controller ▶MVC 패턴Model-View-Controller의 약자로 애플리케이션을 세 가지의 영역으로 구분한 개발 방법론이다.사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케..
조합 생성 알고리즘 ▶조합 (Combination)서로 다른 n개의 원소 중에서 순서에 상관 없이 r개를 취하는 것을 'n개에서 r개를 택하는 조합'이라고 한다. (표기 : nCr) ▶필요성문제를 해결하는 과정에서 n개의 숫자 중 r개를 선택할 때선택된 r개의 숫자들의 합이 최대/최소가 되는 경우를 찾아야 하는 경우가 있다. 불가피하게 모든 경우를 확인해보는 수밖에 없다면어떤 소스코드를 작성해서 문제를 해결해야할까? ▶예제 : 5C3의 모든 경우를 출력하라.[주어진 원소]15, 23, 5, 1, 42 [결과]15 23 515 23 115 23 4215 5 115 5 4215 1 4223 5 123 5 4223 1 425 1 42 ▶Hint재귀 함수로 구현하면 간단한 코드로 해결할 수 있게 된다.주어진 원소들을 저장할 길이 ..
Git 기초 명령어 정리 ▶설명 & 명령어 - 현재 디렉토리를 작업 공간(working directory)으로 초기화한다.git init [디렉토리명] - 현재 상태를 보여준다.git status - 해당 파일을 관리할 수 있도록 선언한다. 즉 commit 대기 상태로 전환된다. (파일이 staging area에 올라가게 됨)git add [파일명] - 버전을 만든다. 버전이란 의미있는 변화를 말한다. 변경 사항(commit 대기중인 파일들)을 repository에 commit ID로 저장한다.git commit -a : 모든 변경사항을 add한 뒤 commit 함 (한 번도 add된 적 없는 파일은 무시됨)-m "[commit message]" : commit message를 인라인에서 처리함 - history를 보여준다.gi..
패턴 매칭 알고리즘 ▶패턴 매칭본문에서 특정 string(패턴)을 찾아야 하는 경우에 유용하게 쓰일 수 있다. 예시)"asdgsadf" "a"를 찾아서 "AAA"로 변경하라. 위와 같은 문제가 있을 때, 문제 해결을 위해서 우선 "a"의 위치를 찾아야한다.이 때 본문이 되는 "asdgsadf"에서 "a"라는 패턴을 찾는 방법을 패턴 매칭이라고 한다. ▶패턴 매칭 알고리즘 - 고지식한 패턴 검색 알고리즘(Brute Force)본문 string을 처음부터 끝까지 차례대로 순회하면서 패턴 내의 문자들을 일일이 비교하는 방식으로 동작한다.(길이가 10000인 string에서 길이 80의 패턴을 찾는다면 10000*80 = 800000번의 비교가 일어남) - KMP 알고리즘: 불일치가 발생한 텍스트 스트링의 앞 부분에 어떤 문자가 ..
순열 생성 알고리즘 ▶순열 (순서가 있는 열) - 서로 다른 것들 중 몇 개를 뽑아서 한 줄로 나열하는 것 - 순서화된 요소들의 집합에서 최선의 경우를 찾는 문제와 관련이 있다. ▶반복문을 통한 순열 생성그리디하게 접근해서 바로 문제가 해결되는 경우도 있지만,결국 모든 경우의 수를 다 따져보지 않고서는 정답을 알 수 없는 문제들이 존재한다. 그럴 때, 나올 수 있는 모든 순열을 생성하는 코드를 응용하여 문제를 해결할 수 있다. 순열 생성에 필요한 요소의 수가 고정적인 경우간단히 반복문으로 모든 순열을 생성할 수 있다. - 슈도코드 : {1, 2, 3}을 포함한 모든 순열을 생성123456FOR i1 in 1->3 FOR i2 in 1->3 IF i2 != i1 FOR i3 in 1->3 IF i3 != i1 AND i3 !..
[Java] 배열(array) 배열(array) ▶배열(array) 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 일정한 자료형의 변수들을 하나의 이름으로 열거하여 사용하는 자료구조 ▶선언과 생성 방법 int[] age; // int타입의 배열을 다루기 위한 참조변수 age age = new int[7]; // new 연산자가 sizeof(int)*7 만큼의 메모리를 할당하고 시작주소 값을 반환한다. int[] age = new int[7]; 명시적으로 초기화 해주지 않으면 기본 초기화 값으로 초기화 된다. 타입 기본 초기화 값 int, float, double0 boolean false char null ('\u0000') 참조형null ▶초기화 방법 for(int i = 0 ; i < age.length ; i++) { //..