* 표준 입/출력과 리다이렉션 - 리눅스는 키보드를 표준 입력장치로 모니터를 표준 출력장치로 사용하며, 이러한 표준 입/출력 장치가 아닌 파일을 입/출력 장치로 사용할 수 있다. 입/출력 리다이렉션 - cat a.tx..
* 파이프(Pipe) 와 필터(Filter) - 파이프와 필터를 이용하면 편리하게 명령어를 구현할 수 있으며, 시스템 내부의 데이터를 검색하는데 유용하게 활용할 수 있다. 파이프 - 파이프( | )는 명령어에서 나온 결과값..
* 시스템 정보 - 리눅스 시스템을 관리하려면 현재 시스템이 어떻게 설정되어 있으며, 어떤 명령어를 통해 시스템을 관리하며, 해당 정보는 어디에 저장되는지 알아야 한다. CPU 정보 - cpu에 대한 정보는 uname..
* 기본 명령어 ls - ls 명령어는 디렉토리 내의 파일 목록을 보기 위한 명령어이다. 이 명령을 사용하면 현재 디렉토리에 존재하는 파일 목록을 볼 수 있다. - 명령어를 입력할 때 옵션을 함께 입력하면 여러 기능..
* 프로세스 - 우리는 쉘을 통해서 여러 개의 프로그램(프로세스)을 동시에 실행할 수 있다. 하지만 이때 하나의 프로그램만이 키보드 입력을 받을 수 있는데, 앞에 나와있는 프로세스가 그것에 해당한다. 이것을..
* Shell Script (쉘 스크립트) 란? - 쉘 스크립트를 이해하려면 먼저 스크립트(Script)가 무엇인지 이해해야 한다. 스크립트란 일반적으로 인터프리트(interpret) 방식으로 동작하는 컴파일되지 않은 프로그램이라..
* Shell(쉘) 의 정의 - 쉘은 운영체제에서 사용자가 입력하는 명령을 읽고 해석하여 대신 실행해주는 프로그램이다. 쉘은 Unix 나 Linux 에만 있는 것이 아니라 Windows 나 다른 운영체제에도 필수적으로 존재한다..
* 리눅스란? - 리눅스는 멀티유저, 멀티캐스킹을 지원하는 유닉스처럼 보이는 운영체제이다. 하지만 리눅스는 유닉스와는 독립적으로 개발되었으므로 유닉스 계열 운영체제가 아니라 유닉스 클론(Clone) 운영체제..
* 파일/디렉토리 관련 명령어 ls : 디렉토리/파일 목록보기 ls -al : 숨겨진 디렉토리/파일 목록까지 정렬된 형태로 보기 cd (디렉토리이름) : 해당 디렉토리로 이동 cd : 최상위 디렉토리로 이동 pwd : 현재 디렉..
* Struts2 - Struts2는 자바기반의 Web Application을 개발하는데 사용되는 Framework 이다. Apache Struts의 업그레이드된 Framework 이다. - Apche Struts 는 자바 Web Application Framwork의 대표로 자리 매김..
* Struts2의 배경 - 2000년도에 아파치 재단에 기증되었으며, 대표적인 웹 애플리케이션 개발 프레임워크로 거듭났다. - 웹 개발의 가이드 역할이라 할 수 있고, POJO(Plain Old Java Object)기반에 MVC 패턴 적용..
* web.xml - <url-pattern>/*</url-pattern> 때문에 클라이언트의 모든 요청은 struts2를 기반으로 작동하게 된다. struts index.html index.htm index.jsp default.html default.htm default.jsp struts2 org.apa..
* 쿠키 읽어서 가져오기 (자동 로그인 처리) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String id = ""; try{ Cookie[] cookies = request.getCookies(); //..
* 쿠키(Cookie) 의 개요 - HTTP 프로토콜은 상태가 없다. 즉, 이전에 무엇을 했고, 지금 무엇을 했는지에 대한 정보를 갖고 있지 않는 특성을 가지고 있다. 이는 웹 브라우저(클라이언트)의 요청에 대한 응답을 하..
.attr() - 인자에 따라 2가지로 사용할 수 있다. 하나의 인자만 있다면 속성값을 가져오는 것이고 2개의 인자를 쓰면 속성값을 요소에 부여한다. - attr( attributeName ) - attr( attributeName, value ) - 개요..
* :eq(index) - 선택된 요소들을 인덱스 번호로 찾을 수 있는 선택자. - 마치 배열의 인덱스로 값(value)를 찾는 것과 같은 효과를 낸다. * :eq(), :lt(), :gt(), :even, :odd 와같은 인덱스와 관련된 선택자는 찾..
앱(App)에서는 window.open 이 실행되지 않는다. 웹쪽에서 location.href 를 사용하거나 앱쪽에서 소스를 수정해야 한다.
1. 입력값에 특정 문자(chars)가 있는지 체크 특정 문자를 허용하지 않으려 할 때 사용 ex) if (containsChars(form.name,"!,*&^%$#@~;")) { alert("이름 필드에는 특수 문자를 사용할 수 없습니다."); } function..
* Controller 에서 message 받아서 jsp 에서 뿌려주기 - MessageUtil 을 이용하여 session 에 message 를 담고 jsp 에서 뿌려주기 <% String message = (String)request.getSession().getAttribute("message"); if..
* 함수 종속 (Functional Dependency) - 데이터 종속성 (Data Dependency) - 관계형 모델을 설계할 때 가장 중요한 요소 - 데이터 종속성에는 3가지 종속이 존재하며, 그 중 대표젹인 종속은 함수 종속이다. : 함..
* 트랜잭션이란? - 하나의 논리적 작업 단위를 구성하는 일련의 연산들의 집합. - 하나 이상의 SQL 이 수행된 후 마지막에 Commit 또는 Rollback 이 수행되는 단위. - 다양한 데이터 항목들을 엑세스하고 갱신하는..
* Index - 데이터베이스 내의 테이블에서 원하는 데이터를 좀 더 빨리 찾을 수 있게 데이터의 위치정보를 모아놓은 데이터베이스내의 객체(Object)로 데이터 처리를 최적화하기 위해 사용하는 물리적 구조. - SQL..
* Index 란? - 인덱스는 테이블의 값을 빠르게 엑세스 하도록 하는 데이터베이스 객체이다. - 데이터를 빠르게 찾기 위해 B*트리를 써서 디스크 입출력 횟수를 줄인다. - 인덱스를 만들면 사용자가 직접 조작할 필..
~ (비트 NOT) * , / , % +(양수) , -(음수) , +(더하기), +(연결), -(빼기), & (비트 AND), ^(배타적 비트 OR), | (비트 OR) =, >, <, >=, <=, <> , !=, !>, !< (비교 연산자) NOT AND ALL, ANY, BETWEEN, IN, LIK..
* 옵티마이저란? - 옵티마이저(Optimizer)는 SQL을 가장 빠르고 효율적으로 수행할 최적(최저비용)의 처리경로를 생성해주는 DBMS 내부의 핵심엔진이다. 사용자가 구조화된 질의언어(SQL)로 결과집합을 요구하면,..
* jqFancyTransitions - HTML body 영역 - script - js파일내 설정 // default values $.fn.jqFancyTransitions.defaults = { width: 500, // width of panel height: 332, // height of panel strips: 10, // nu..
1. substring - String substring ( int begin ) - String substring ( int begin, int end ) - 한 문자열에서 내용의 일부를 추출하는 메서드 - 주어진 시작위치(begin)부터 끝 위치(end) 범위에 포함된 문자열을..
* 빈의 스코프 (scope) - 스프링이 관리하는 오브젝트, 즉 빈이 생성되고, 존재하고, 적용되는 범위. - 스프링 빈의 기본 스코프는 싱글톤이다. - 싱글톤 스코프는 컨테이너 내에 한개의 오브젝트만 만들어져서,..
* 제어의 역전 (Inversion Of Control) - 일반적으로 프로그램의 흐름은 main() 메서드와 같이 프로그램이 시작되는 지점에서 다음에 사용할 오브젝트를 결정하고, 결정한 오브젝트를 생성하고, 만들어진 오브젝트..
* 전략패턴 (Strategy Pattern) - 자신의 기능 맥락(Context)에서 필요에 따라 변경이 필요한 알고리즘을 인터페이스를 통해 통째로 외부로 분리시키고, 이를 구현한 구체적인 알고리즘 클래스를 필요에 따라 바꿔..
* 높은 응집도와 낮은 결합도 (high coherence and low coupling) - 객체지향 프로그래밍 언어를 사용하여 소프트웨어를 개발할 때는 낮은 결합도와 높은 응집도를 가지는 코드를 작성해야 좋은 프로그래밍 코드가..
* 개방 폐쇄 원칙 (OCP, Open-Closed Principle) - 소프트웨어 개체 ( 클래스, 모듈, 함수 등등 ) 은 확장에 대해 열려 있어야 하고, 변경에 대해서는 닫혀 있어야 한다. 1) 확장에 대해 열려 있다. - 이것은 모듈..
* DAO - DAO(Data Access Object) 는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다. * 자바빈 - 자바빈(JavaBean)은 원래 비주얼 툴에서 조작 가능한 컴포넌트를 말한다...
* 웹페이지에서 SSL 없이 RSA 암호화 로그인 하기 * 기본 작동 원리 [서버] 서버측에서 RSA 공개키와 개인키(비밀키)를 생성하여, 개인키는 세션에 저장하고 공개키는 자바스크립트 로그인 폼이 있는 페이지로 출..
* page 디렉티브 <%@ page 속성 %> - JSP 페이지에 대한 정보를 page 디렉티브의 속성들을 사용해서 정의한다. - 속성들 속성명 속성의 기본값 사용법 속성 설명 info info="설명.." 페이지를 설명해 주는 문자열..
* 디자인 패턴이란? - 클래스 구조를 갖는 프로그래밍을 하다보면 클래스간에 구조가 짜여지고 다양한 방법으로 객체가 생성되며 관계에 따라 여러가지 형태의 행동들이 나타난다. 그런데 기초 설계가 제대로 되어..
* LIKE 는 WHERE 정에서 사용되는 인스트럭션중 하나이다. LIKE 를 사용하면 하나의 양식(pattern)에 따라 필요한 데이터를 찾을수 있다. SELECT "필드명" FROM "도표명" WHERE "단락명" LIKE {양식}; {양식} 의..
* SELECT 인스트럭션은 도표중의 하나 또는 여러개 필드의 모든 데이터를 읽을 수 있게 한다. 때문에 데이터 중복여부와 관계없이 모든 데이터를 찾아낼 수 있다. 데이터 처리 과정중 도표내의 부동한 데이터수치..
관계형 데이터베이스 RDB ( Relational DataBase ) - 간결하고 수학적인 표현으로 가장 보편적으로 사용되는 데이터베이스 모델 RDBMS ( Relational DataBase Management System ) - 관계형 데이터베이스를 관리하..
데이터베이스 현대사회에서 관리 대상이 되는 데이터의 양이 점점 많아지고 같은 데이터를 여러 사함이 동시에 여러 용도로 사용하게 되면서 단순히 엑셀 같은 개인이 관리하는 소프트웨어만으로는 한계에 부딪히..
http://www.dbguide.net/
데이터베이스 database DB - 여러 사람들이 공유하고 사용할 목덕으로 통합 관리되는 정보의 집합이다. 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율화를..
http://www.itworld.co.kr/slideshow/87785?slide=1#stage_slide 우연히 발견한 곳인데 흥미로움
Servlet 인터페이스 init ( config : ServlerConfig ) service ( req : ServletRequeset, res : ServletResponse ) destroy() getServletConfig() : ServletConfig - 서블릿 초기화에 관련된 변수를 가지고 있는 S..
* XML 의 정의 - eXtensible Markup Language 의 약자로 확장성 있는 마크업 언어 - W3C가 인간과 응용프로그램간, 혹은 응용프로그램 간에 정보를 쉽게 교환하기 위해 만든 데이터 교환 포멧 - eXtensible : 데이..
* Ajax 란? - 비동기 JavaScript 와 XML 을 말한다. 간단히 말하면, 서버측 Scripts 와 통신하기 위한 XMLHttpRequest 객체를 사용하는 것을 말한다 서버측으로 다양한 형식(JSON, XML, HTML 및 일반 텍스트 형식..
* 코드 분석을 하면서 SessionStatus 를 봤는데 이게 정확히 뭘 하는 녀석인지 모르겠어서 구글링을 해보았더니..생각보다 심오하다 그냥 대충 봐서는 안될 내용인거 같아서 굉장히 정리가 잘된 블로그의 글을 퍼..
* Controller 에 해당하는 Servlet을 만든 후 web.xml 에 mapping하기 board net.javajigi.model2board.BoardServlet board *.m2 * JSP 파일 만들기 <html> <body> 이동할 페이지의 명령어를 입력하세요. (명령어..
* Controller 부분 - 요청시 전달되는 action 에 따라 다른 작업을 하도록 구현. * BoardServlet 클래스 package net.javajigi.model2board; import java.io.IOException; import javax.servlet.ServletException;..
* Model2로 게시판 만들어보기 예제가 있길래 MVC 패턴을 확실히 이해하는데 도움이 되지않을까 해서 퍼옴. * 필요한 작업 1. 사용자가 입력한 글의 삽입(insert) 2. 기존의 게시물의 수정(update) 3. 기존의 게시..
* Model1 은 JSP 가 다 한다. 말그대로 다한다. 프리젠테이션 로직과 비지니스 로직이 모두 JSP에 같이 존재한다. 개발 속도가 빠르고 배우기가 쉬워 쉽게 적용할 수 있다는 장점이 있다고는 하지만,, 일단 무엇보..
클라이언트의 요청에 의한 최초 진입지점은 Dispatcher Servlet이 담당 한다. 대부분의 MVC를 지원하는 프레임워크가 메인 Servlet을 갖는 것처럼 Spring MVC 또한 메인 Servlet이 최초 진입지점으로 다음의 작업..
* position - 몇번 배웠는데 도저히 외워지질 않아서...정리하기로 함 1) static - static 은 기본값이다. position : static 이 설정된 엘리먼트는 그다지 특별한 방식으로 위치가 지정된 것이 아니다. 정적(stat..
* duration : (오래) 계속, 지속, 존속 * determine : 알아내다, 밝히다, (무엇의 방식 유형을) 결정하다, (공식적으로) 확정하다. * indicate : (사실임/존재함을) 나타내다, (조짐/가능성을) 나타내다, 명시하다..
* 경로 - 한 문서에서 다른 문서로 링크를 하거나 문서 안에 그림을 넣는다거나 할 때는 연결하고자 하는 문서나 파일의 위치를 브라우저에세 알려주어야 한다. 링크를 할 때는 href 속성을 사용해서 클릭했을 때..
* SyntaxHighlighter 사용방법 <pre class="brush:brush_name"> 소스코드 </pre> * brush_name 목록
* DBMS_RANDOM 패키지를 사용하면 숫자와 문자의 랜덤 데이터를 생성 할 수 있으며, 테이블 데이터를 랜덤한 순서로 정렬하여 조회할 수 있다. * DBMS_RANDOM.VALUE - 랜덤한 숫자를 생성한다. - Syntax : DBMS_RA..
* Java 란? - 자바라는 언어는 오크(Oak)라는 언어로부터 탄생되었다. 오크라는 언어는 1991년 미국 썬(SUN) 마이크로시스템즈의 컴퓨터 과학자인 제임스 고슬링에 의해 개발된 언어로서 가전 제품의 기능을 프로..
* JSP 란 - 자바스크립트와 같은 방식으로 HTML 태그 내에서 자바 코드를 삽입하고 컴파일시켜 서블릿으로 변환하는 방식 - 웹 서버에서 동적으로 브라우저를 관리하는 언어 - JSP 는 HTML 안에 자바코드를 넣는..
* WAS 를 통해 컴파일 된 후 메모리에 적재되어 클라이언트의 HTTP Get, Post 등의 요청을 처리하는 자바 프로그램이다. - 다시한번 정리를 하자면... Client 가 요청을 보내면 (request), WAS(아파치)가 자체적으..
* Servlet의 동작 과정 사용자(Client)의 URL 요청 어떤 사용자의 URL 요청이 서블릿 요청이라는 것을 웹 서버가 알기 위해서는 사전에 웹 서버 측에 URL과 서블릿 클래스를 미리 매핑(Mapping)시켜 놓은 배포 서..
* 자바 서블릿(Java Servlet) - 자바 플랫폼에서 동적인 웹을 개발할 때 사용하는 기반 기술로서 웹에서 Java 프로그래밍을 할 수 있다. - 사용자의 요청(Request)을 받아 요청한 대로 처리해주는 ( doGet() / doP..
1) Protocol - 정보기기 사이 즉, 컴퓨터 간에 또는 컴퓨터와 단말기 간에 정보 교환을 하려는 경우 이를 원활하게 하기 위하여 정한 규칙과 방법에 대한 약속, 통신 규약을 의미한다. 2) IP(Internet Protocol) A..
* 인터페이스(Interface) 란 - 단일 상속의 불편함을 보완하기 위해 만든 다중 상속이 가능한 클래스의 대안. - 다형성에 의한 클래스 제어 - 추상 클래스의 극단적인 경우라고 생각하면 쉽다. - 상수와 추상 메서..
* 상속(Inheritance) 이란 말그대로 '부모의 유산을 물려받다'를 의미한다. 객체지향 프로그래밍에서는 부모 클래스에 정의된 멤버를 자식 클래스가 물려받는 것을 말한다. 즉, 상속을 통해 기존에 있던 클래스(부..
* 상속(extends), 추상(abstract), 인터페이스(interface) 모두 많이 들어본 단어들인데, 이게 뭐냐- 라고 누군가 물어본다면 확실히 설명은 못하겠다. 사실 내가 이걸 정확히 알고 쓰는지도 모르겠고... 그래서..
* Collection 이란 같은 타입의 참조값을 여러개 저장하기 위한 자바 라이브러리이다. Set : 중복을 허용하지 않고 순서도 가지지 않는다. List : 중복을 허용하고 순서를 가진다. Map : key 와 value 의 형태로..
* 일반적으로 배열을 선언하면 배열의 인덱스를 다 채우거나 인텍스를 못채울 수도 있는데 만약 다 채웠다면 더이상 배열에 값을 넣지 못할 것이고 다 못채웠다면 그만큼 메모리가 낭비되는 현상이 일어난다. 자바..
* 예외처리(try~catch~finally) - 예외(Exception)이 발생한 메소드 내에서 직접 처리하는 방법. - try { 예외 발생 가능성이 있는 문장들 ; } catch ( 예외 타입 1 매개변수명 ) { 예외타입 1의 예외가 발생할 경..
* group by 문은 동일한 값을 가진 데이터를 집계해서 조회하고자 할 때 사용하는 문장이다. 조회, 분석용 SQL에서 가장 많이 사용되는 구문이다. * 작성방법 - SELECT USER_NM FROM TBL1 GROUP BY USER_NM ; - 집..
* getElementById - 특정 아이디의 요소 노드에 직접 접근할 수 있는 메서드 - document.getElementById(ID); * getElementByTagName - 특정 태그를 사용하는 요소들을 배열로 얻어낼 수 있는 메서드. 단, 특정 태..
단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다. 오류!!! SQL 쿼리에서 발생하는 오류다. 서브쿼리가 단일행(1개의 행)을 불러와야하는데 2개 이상의 행을 불러올 경우 발생하는 오류. 서브쿼리가 어떻게 데..
* 스프링 크레임워크 소개 - 스프링 프레임워크는 자바 어플리케이션 개발을 위한 포괄적인 인프라 스트럭쳐를 제공하는 자바 플랫폼이다. 스프링은 우리가 어플리케이션에 집중할 수 있도록 인프라 스트럭쳐를 다..
* Validator 란? - 스프링에서 범용적으로 사용할 수 있는 오브젝트 검증기를 정의할 수 있는 API. - Controller로 HTTP 요청을 @ModelAttribute 모델에 바인딩할 때 주로 사용된다. - Validator 인터페이스는 sup..
* DOM 이란 - 문서를 객체로 표현하기 위한 표준으로서 HTML이나 XML등의 문서를 객체로 표현할 때 사용하는 API 이다. - HTML 내에 들어있는 요소를 구조화 객체 모델로 표현하는 양식. - HTML과 XML 문서에 대하..
* jQuery 란 - 자바스크립트의 생산성을 향상시켜주는 자바스크립트 라이브러리이다. - DOM 형식의 JavaScript 코드는 복잡하고 긴 편이지만, jQuery는 좀 더 직관적으로 보이게 하도록 짧고 단순하게 되어있다. -..
회원관리에 있어서 필수적인 정규식 검사. - 비밀번호 (영문 소문자, 숫자를 조합하여 6~20자리) var regType = /^[a-zA-Z0-9]{6,20}$/g; var regType2 = /[0-9]/g; var regType3 = /[a-zA-Z]/g; if(!regType.test..
렌더링 엔진은 웹 브라우저 화면에 컨텐츠를 보여주는 일을 담당한다. 기본적으로 렌더링 엔진은 HTML, XML 문서와 이미지를 보여준다. 플러그인 또는 브라우저 확장기능을 통해 다른 유형의 컨텐츠를 보여줄 수도..
'(파일명).java'라는 이름을 가진 파일을 작성하게 되었을 때 이것을 자바가 이해할 수 있는 언어의 형태인 바이트 코드(Byte-Code)로 변환하는 것이 컴파일러이다. 이때 컴파일 명령어로 javac라는 명령어를 사용..
* Java Script 란? - 객체기반의 스크립트 프로그래밍언어, 동적인 웹페이지를 만들기 위해 사용하는 언어이다. * 정적 웹페이지와 동적 웹페이지 - 정적 : 사용자의 행동에 반응을 하지 않는다. - 동적 : 사용자..
- 컴퓨터 프로그래밍의 패러다임의 하나. 객체지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것. 각각의 객체는..
- 객체(object)란 효율적으로 정보를 관릴하기 위해 사람들이 의미를 부여하고 분류하는 논리적인 단위다. 프로그래밍에서는 클래스에 정의된 내용대로 메모리에 생성된 것을 말한다. - 클래스(class)란 어떤 특정..
1. 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야 하는 것에 static을 붙인다. - 인스턴스를 생성하면, 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다. 경우에 따라서..
* 객체는 메모리를 조작하는 코드로 묶여진 메모리 덩어리다. 메모리에서, 객체는 생존시간동안 객체가 변화하는 등의 상태(인스턴스 변수들의 값)를 유지한다. 정상적으로 새롭게 생성된 객체를 얻으려면, 객체에..
JVM은 메모리상에만 존재하는 가상컴퓨터이다. 자바의 소스코드를 컴파일 하게 되면 바이트 코드로 변환되는데, JVM은 이러한 바이트 코드를 읽어서 실행할 수 있도록 해주는 도구이다. 바이트 코드를 해석한 JVM..