2016년 11월 15일 화요일

포트폴리오 작성요령

포트폴리오 작성요령

1. 표지


1-1 포트폴리오
1-2 타이틀
1-3 작성자
1-4 소속(or 작성일)

+배경 Layout /그림 : 음영처리
                   꾸미기 : 원색금지

2. Index


2-1. 사이트 이름 + (사이트 종류 , 사이트 설명(기능에 맞춰서) ,


2-2. 개발환경  (★ 개발도구 이미지 규격화
                         아이콘 + 도구이름 + 버전

2-3 Structure
     (페이즈구성)

2-4 AI ( Spring Framwork Structure )

2-5 로그인 기능

2-6 게시판 기능[질의응답 기능(QnA Board)]

2-7 추가 기능


3. 맺음

이러한 기술을 바탕으로 미래에 ? 서비스나 사이트를 만들어 보겠다 !


-----------------
login/out

board

------

session

crud + paging + search + upload

---------------

responseEntity
ajax

-------------

@Transactional
@Repositony
@controller
@RestController
@Service
@Inject 


2016년 11월 1일 화요일

SPRING 프로젝트 시작
2016-11-1 (화)


ORACLE

ID : projectspr
PW : oracle

2016년 10월 28일 금요일

이클립스(Eclipse)에서 유용한 단축키 일람

----- 소스 네비게이션 -----
Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때
Alt + LeftAlt + Right : 이후이전
Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때
F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.

Alt + <-(->) : 이전(다음) 작업 화면
 
----- 문자열 찾기 -----
Ctrl + K : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다.
Ctrl + Shift + K : 역으로 찾고자 하는 문자열을 찾아감.
Ctrl + J : 입력하면서 찾을 수 있음.
Ctrl + Shift + J : 입력하면서 거꾸로 찾아갈 수 있음.
Ctrl + F : 기본적으로 찾기

----- 소스 편집 -----
Ctrl + Space : 입력 보조장치(Content Assistance) 강제 호출 => 입력하는 도중엔 언제라도 강제 호출 가능하다.
F2 : 컴파일 에러의 빨간줄에 커서를 갖져다가 이 키를 누르면 에러의 원인에 대한 힌트를 제공한다.
Ctrl + L : 원하는 소스 라인으로 이동
   로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능하다.
Ctrl + Shift + Space : 메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수 있다.
Ctrl + D : 한줄 삭제
Ctrl + W : 파일 닫기
Ctrl + I : 들여쓰기 자동 수정
Ctrl + Shift + / : 블록 주석(/* */)
Ctrl + Shift + \ : 블록 주석 제거
Ctrl + / : 여러줄이 한꺼번에 주석처리됨주석 해제하려면 반대로 하면 된다.
Alt + Up(Down) : 위(아래)줄과 바꾸기
Alt + Shift + 방향키 : 블록 선택하기
Ctrl + Shift + Space : 메소드의 파라메터 목록 보기
Ctrl + Shift + O : 자동으로 import 하기
Ctrl + Shift + F4 : 열린 파일 모두 닫기
Ctrl + M : 전체화면 토글
Ctrl + Alt + Up(Down) : 한줄(블럭복사
Ctrl + , or . : 다음 annotation(에러워닝북마크 가능)으로 점프
Ctrl + 1 : 퀵 픽스
F3 : 선언된 변수로 이동, 메소드 정의부로 이동
Ctrl + T : 하이어라키 �b업 창 띄우기(인터페이스 구현 클래스간 이동시 편리)
Ctrl + O : 메소드나 필드 이동하기
Ctrl + F6 : 창간 전환, UltraEdit  Editplus  Ctrl + Tab 과 같은 기능

----- 템플릿 사용 -----
sysout 입력한 후 Ctrl + Space 하면 System.out.println(); 으로 바뀐다.
try 입력한 후 Ctrl + Space 하면 try-catch 문이 완성된다.
for 입력한 후 Ctrl + Space 하면 여러가지 for 문을 완성할 수 있다.
템플릿을 수정하거나 추가하려면 환경설정/자바/편집기/템플릿 에서 할 수 있다.

----- 메소드 쉽게 생성하기 -----
클래스의 멤버를 일단 먼저 생성한다.
override 메소드를 구현하려면, 소스->메소드대체/구현 에서 해당 메소드를 체크한다.
기타 클래스의 멤버가 클래스의 오브젝트라면, 소스->위임메소드 생성에서 메소드를 선택한다.

----- organize import -----
자바파일을 여러개 선택한 후 소스->가져오기 체계화 해주면 모두 적용된다.

----- 소스 코드 형식 및 공통 주석 설정 -----
환경설정 -> 자바 -> 코드 스타일 -> 코드 포멧터 -> 가져오기 -> 프로파일.xml 을 불러다가 쓰면 된다.
또한 다수의 자바파일에 프로파일을 적용하려면 패키지 탐색기에서 패키지를 선택한 후 소스 -> 형식화를 선택하면 된다.
환경설정 -> 자바 -> 코드 스타일 -> 코드 템플리트 -> 가져오기 -> 템플리트.xml 을 불러다가 쓰면 된다.

----- 에디터 변환 -----
에디터가 여러 파일을 열어서 작업중일때 Ctrl + F6 키를 누르면 여러파일명이 나오고 F6키를 계속 누르면 아래로
Ctrl + Shift + F6 키를 누르면 위로 커서가 움직인다.
Ctrl + F7 : 뷰간 전환
Ctrl + F8 : 퍼스펙티브간 전환
F12 : 에디터로 포커스 위치





이클립스 자주쓰는 단축키 -

Ctrl + / : 주석 처리 - 한 라인/블록에 대해 주석 처리 (추가 및 제거)
Ctrl + L : 특정 라인으로 이동
Ctrl + F6 : Editor 창간의 이동
Ctrl + F7 : View 이동 메뉴
Ctrl + F8 : Prespectives 이동 메뉴
Ctrl + D : 한라인 삭제 - 커서가 위치한 라인 전체를 삭제 한다.
Ctrl + J : Incremental find 이클립스 하단 상태 표시줄에 Incremental find 라고 표시되어 한 글자자씩 누를 때 마다 코드내의 일치하는 문자열로 이동 , 다시 Ctrl + J 를 누르면 그 문자열과 일치 하는 부분을 위/아래 방향키로 탐색이 가능하다.
Ctrl + N : 새로운 파일 / 프로젝트 생성
Ctrl + 1 (빠른교정) - 문 맥에 맞게 소스 교정을 도와 준다변수를 선언하지 않고 썼을경우 빨간색 에러 표시되는데 이 단축키를 적용하면 변수에 맞는 선언이 추가 되도록 메뉴가 나타난다.
Ctrl + 0 : 클래스 구조를 트리로 보기
Ctrl + Space :  Cotent Assist - 소스 구문에서 사용 가능한 메소드멤버들의 리스트 메뉴를 보여준다.
Ctrl + PageUp , Ctrl + PageDown : Edit 창 좌우 이동 - Edit 창이 여러개 띄워져 있을경우 Edit 창간의 이동 한다.
Ctrl + Shift + Down : 클래스 내에서 다음 멤버로 이동
Ctrl + Shift + M : 해당 객체의 Import 문을 자동 생성 - import 추가 할 객체에 커서를 위치 시키고 단축키를 누르면 자동적으로 import 문이 생성
Ctrl + Shift + O : import 문을 자동 생성 - 전체 소스 구문에서 import 안된 클래스의 import 문을 생성해 준다.
Ctrl + Shift + G : 해당 메서드 / 필드를 쓰이는 곳을 표시 - View 영역에 Search 탭에 해당 메서드 / 필드를 사용하는 클래스를 표시 해준다.
Alt + Shift + R : Refactoring (이름변경) - Refactoing 으로 전체 소스에서 이름변경에 의한 참조 정보를 변경해 준다.
F3 선언 위치로 이동
F11 : 디버깅 시작
F8 : 디버깅 계속
F6 : 디버깅 한줄씩 실행(step over)
F5 : 디버깅 한줄씩 실행 함수 내부로 들어감 (step into)
F12 : Editor 창으로 이동 (Debugging 등 자동적으로 포커스가 이동 됐을경우 편리)
Alt + Up , Alt + Down : 줄 바꿈 - 해당 라인을 위 / 아래로 이동 시킨다.
Alt + Shift + S : Source Menu - 소스메뉴 (Import 추가 , Comment 추가 , 각종 Generator 메뉴가 나타난다.
Alt + Shift + Up : 블록설정 - 소스 코드를 블록 단위로 설정해 준다.
Alt + Shift + Down : 블록해제 - 소스 코드를 블록 단위로 해제한다.
Alt + Shift + J : 주석 생성 - 해당 메서드/클래스에 대한 주석을 템플릿을 생성해 준다.
sysout + (Ctrl + Space) : System.out.println() 문장 삽입 - 코드 템플릿을 이용해서 소스 구문을 추가
(Windows -> Preferences -> JAVA -> Editor -> Templates 에서 자주 쓰는 소스 구문을 추가시키면 <템플릿 이름> + (Ctrl + Space) 로 소스 문장을 완성 시킬 수 있다.)
Alt + Shift + Z : Surround With 메뉴 - try / catch 문이나 for , do , while 등을 해당 블록에 감싸주는 메뉴가 나타난다.
Ctrl + Shift + F : 코드 포맷팅 - 코드 내용을 문법 템플릿에 맞게 포맷팅(들여쓰기해준다.
Ctrl + Alt + Down한줄 복사후 아래에 복사 넣기 - Copy&Paste 대체하는 단축키커서가 위치한 라인을 복사해 밑줄에 생성해 준다.
Ctrl + Shift +X : 대문자로 변환
Ctrl + Shift + Y : 소문자로 변환
Ctrl + Shift + L : 모든 단축키의 내용을 표시해준다.
Ctrl + Shift + B : 현재 커서 라인에 Break point 설정
Ctrl + Shift + T : 클래스 찾기

2016년 10월 26일 수요일

AJAX란 ?

1.AJAX란 무엇인가?
  1. AJAX는 Asynchronos Javascript And XML이다.
    쉽게 말하면, 자바스크립트를 통해서 서버에 데이터를 요청하는 것이다. HTML form 태그가 아니라 자바스크립트를 통해서! 따라서 우리는 서버에서 로딩된 데이터를 페이지에 보여주기 위해 새로운 HTML페이지로 갈 필요도 없고 '새로고침'을 할 필요가 없는 것이다. 부분 부분만 로딩되므로 속도가 빠르다.
      1. Asynchronos? 
        1. 해석하면 '비동기적'이다.
        2. '비동기적'이라는 것은, 클라이언트에서 서버에 요청을 보낼 때 요청을 보내놓고 프로그램은 계속 돌아간다는 의미이다. 즉, 먼저 요청한 것에 대한 콜백1 함수가 먼저 실행되지 않는다는 것이다.
      2. Javascript?
        1. 자바스크립트는 웹 브라우저에 대한 스크립트 언어로 만들어진 언어이다. 웹 브라우저에서 출발했기 때문에 본래 서버와 소통하는 기능은 없었으나 AJAX는 가능하다.
      3. .XML? 
        1. XML은 데이터 형식의 일종이다.
        2. XML은 'Extensible Markup Language'의 준말이다. 즉 확장가능한 '표시' 언어 라는 것이다.
          1. 그렇다면 markup language는 무엇인가? 이것은 데이터에 태그로 항목 표시를 해준다는 것이다. HTML도 마크업 랭귀지의 일종이다.
          2. 만약 사람의 키, 나이 등을 표현하고 싶다면 XML에서는
            1. <person>
            2. <height></height><age></age></person>
            3. 이런식으로 작성할 것이다.
    1. 웹 서버 
      1. AJAX는 웹 서버가 있어야만 동작하므로, 그저 HTML페이지처럼 브라우저만 있는다고 돌아가는것이 아니다.
      2. 따라서 로컬에서는 Node.js를 설치해서 연습해보는 방식이 좋을 것이다.
      3. c9.io 같은 웹 프레임워크 사이트에서 express등으로 쉽게 서버를 구현해주니 그것으로 해도 편할것이다.
    2. AJAX의 본래 명칭
      1. AJAX의 본래 명칭은 XHR(XML Http Request)이다. 즉 HTTP2 request를 서버에 보낸다는 것이다.
    3. JSON
      1. JSON도 일종의 데이터 형태이다. XML은 자바스크립트에서 사용하기 불편하기 때문에 자바스크립트로 서버에 요청을 보낼때에는 주로 JSON을 많이 쓴다.
      2. JSON은 자바스크립트 객체, 또는 배열, 또는 둘 다를 이용해 표현된다.
    4. AJAX 4가지 과정
      1. XMLHTTP request object를 만든다.
        1. request를 보낼 준비를 브라우저에게 시키는 과정이다. 
        2. 이것을 위해서 필요한 method를 갖춘 object가 필요하다.
      2. callback 함수를 만든다.
        1. 서버에서 response가 왔을 때 실행시키는 함수이다
        2. html 페이지를 업데이트한다.
      3. Open a request
        1. 여기서 브라우저에게 두 가지 정보를 넘긴다.
          1. 브라우저가 request를 보내기 위해 사용할 method(ex:post)
          2. 그리고 request가 갈 URL
      4. send the request

    5.  코드 예시


  1. AJAX는 XHR객체를 형성하고 이 객체의 콜백을 만들고, 그리고 html메소드와 url을 결정한 뒤 XHR객체의 메소드로 정보를 보내는 방식이다.
    var xhr= new XMLHttpRequest();
    로 시작한다.
    callback function을 만드는 것이 가장 복잡한 부분이다.  이것이 ajax의 핵이다.  이 함수는 browser response를 얻었을 때 작동하는 함수이다. *만약 당신이 여러 ajax request를 날렸다면, 어떤 것이 먼저 돌아올지 알 수 없다. 따라서 어떤 callback이 먼저 실행될지 알 수 없음.
     AJAX에서 event는 무엇일까? user가 form을 제출하는 것은 일종의 event이다. 이 form이 제대로 입력되었는지를 check하는것은 이 event에 대응되는 프로그램이다. AJAX에 어떠한 변화가 일어났을 때, 이에 대응해서 일어나는 프로그램이 바로 onreadystatechange이다.(callback function을 포함하고 있다고 생각하면 된다.) 이벤트는 AJAX Request에 어떠한 변화라도 있으면 작동된다.

    XHR object는 response가 돌아왔는지 아닌지를 추적하는 property를 가지고있다. 이 property가 바로 readyState 이다. 만약 이 property의 숫자가 4면 response가 돌아왔다는 것이다.

    xhr. onreadystatechange = function(){
     if(xhr.readyState===4){

    document.getElementById(‘ajax’).innerHTML= xhr.responseText;(/response이다.)

         }
    }
    xhr.open(‘GET’,”sidebar.html”);  html메소드와 URL을 보낸다.
    open함수는 준비를 시키는것이지 보내는 것은 아니다.
    xhr.send(); 

2016년 10월 25일 화요일

에러

에러

No mapping found for HTTP request with URI [/replies] in DispatcherServlet with name 'appServlet'

- URI[/replies] 가 잘못 설정 되었다. URI를 다시 설정해서 고쳤슴

웹 페이지에 계획한 것

웹 페이지에 계획한 것


----할 일----

-한국인 , 외국인 전용 번역

-환률 and 다른사이트 연결

+중고 물품 판매

-유튜브

-송금

-관련 카페를 리스트로 보여주기

-소모임

-접속 위치 확인

-검색기능 ( 제목 , 내용 )

-인기글

--------한 일------

-지도 O

-서블릿 mybtis 사용 O

-개인정보 변경 O
update

-게시판 이용 , 댓글 O

-공지사항 O

2016년 10월 20일 목요일

SPRING 컨피그레이션

SPRING 컨피그레이션

------ 필수 세팅 -------

1. WAS(Tomcat)

2. project (legacy - mvc project )

3. pom.xml

4. web.xml

5. jre(1.8 se)

6.DB선택에 따른 lib 설정

7. Servlet - context.xml

8. root-context.xml

9. Mybatis.xml

------ 필수 세팅 -------