2018년 9월 5일 수요일

키위남님 블로그

http://liveonthekeyboard.tistory.com/

android ui thread handler

https://medium.com/@ankit.sinhal/handler-in-android-d138c1f4980e


요약
다른 메인 스레드에서 UI를 업데이트해야하는 경우 메인 스레드와 동기화해야합니다.이러한 제한과 복잡성 때문에 Android는 표준 Java, 즉 Handler 또는 AsyncTask와 비교하여 동시에 처리 할 수있는 추가 생성 클래스를 제공합니다.

안드로이드 -> dispatch

상황에 따라 의미가 다르겠지만
다중 프로그래밍 시스템에서 다음에 처리될 작업을 선택하여 실행시키는
것. 즉, 대기 열에서 기다리고 있는 프로세스를 선택하여 중앙 처리 장치
의 사용 권한을 부여하는 작업.



2018년 9월 4일 화요일

JSP 게시판 만들기 튜토리얼 - 진행중

https://www.youtube.com/watch?v=-Kbhn2TJGn4&list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6&index=4


현재 진행

-  loginAction.jsp

body....

이클립스 단축키

출처 : http://lymj1234.blog.me/221341830807


이클립스 단축키
 1.  단축키 확인
   - Window >Preference >General >Keys 메뉴에서 확인   - 단축키 보기 Hint : Ctrl + Shift + L 2. 실행    Ctrl + F11: 실행(바로 전에 실행했던 클래스(Run파일) 실행). 3. 디버그    1) F11 : 디버그 모드로 실행    2) Ctrl + Shift + B : 현재커서위치에 Break point설정 또는 해제    3) F5 : 한 스텝씩 진행한다. ( 진행하다보면 java가 제공하는 라이브러리 내부까지 들어가는 경우가 발생 적당히 들어가자 )    4) F6 : 주로 쓰게 된다.(한 스텝씩 진행대긴 하지만 메소드 안 영역까지는 안 간다. 현재 창의 라인만 진행)    5) F7 : 현재 메소드 끝까지 바로 가서 리턴한 후 메소드 호출부로 되돌아간다.    6) F8 : 멈추어 있던 쓰레드를 다시 진행 시키고 다음 브레이크포인트까지 실행. 4. 소스 네비게이션    1) Ctrl + 객체클릭(혹은 F3) : 클래스나 메소드 혹은 멤버를 정의한 곳으로 이동(Open Declaration)    2) Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때    3) F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.    4) F3 : 메소드 정의부로 이동    5) Alt + Shift + R : 변수 및 메소드 변경(변경할 변수 에서 단축키를 누르고 변경 후에 엔터를 누르면 변수명이 모두 변경) 5. 소스 편집    1) Ctrl + spacebar : 자동 완성 기능. 어휘의 자동완성(Content Assistance)    2) Ctrl + Shift + O: 자동으로 import 하기(사용하지 않는 Class는 삭제)    3) Ctrl + Shift + M : 캐럿이 위치한 대상에 필요한 특정클래스 import    4) Ctrl + Shift + G : 클래스의 메소드나 필드를 Reference하고 있는 곳으로 이동                             반대 : F3 (Reference하는 클래스로 이동)    5) Shift + Alt + S R: getter/setter 자동 생성    6) Ctrl + Shift + Space : 메소드 파라미터 힌트 (메소드에 입력해야 하는 파라미터 정보가 표시된다.)    7) F2 : 에러의 원인에 대한 힌트 (에러 라인에 커서를 위치시키고...)    8) Ctrl + Shift + / : 블록 지정한 후에 Ctrl + Shift + / 누른다. 주석(/*..*/) 추가    9) Ctrl + Shift + \ : 블록 지정한 후에 Ctrl + Shift + / 누른다. 주석 제거    10) Ctrl + / 또는 Ctrl + Shift + C : 한줄 또는 선택영역 주석처리 또는 제거(//)    11) Alt + Shift + J : 설정해 둔 기본주석 달기(JavaDoc 주석)    12) Ctrl + S : 저장 및 컴파일    13) Ctrl + Shift + F4 : 열린 파일 모두 닫기    14) Ctrl + Shift + W : 열린 파일 모두 닫기    15) Ctrl +W : 창 닫기    16) Ctrl + Q : 마지막 편집위치로 가기    17) Ctrl + L : 특정줄번호로 가기. 로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능    18) Ctrl + O : 현재 편집 화면의 메소드나 필드로 이동하기    19) CTRL + 휠 : 페이지 단위 이동    20) Ctrl + D : 한줄삭제    21) Ctrl + I : 들여쓰기 자동 수정    22) Ctrl + Shift + F : 소스 정리    23) Alt + Up(Down) : 위(아래)줄과 바꾸기    24) Ctrl + Alt + ↑↓(상/하) : 한줄(블럭) 복사    25) Alt + Shift + 방향키 : 블록 선택하기    26) Ctrl + M : 전체화면 토글    27) Ctrl + Z / Ctrl + Y : Undo / Redo    28) Ctrl + , or . : 이전 또는 다음 annotation(에러, 워닝, 북마크 가능)으로 점프     29) Ctrl + T : 하이어라키 팝업 창 띄우기(인터페이스 구현 클래스간 이동시 편리)    30) Ctrl + F6 (재정의 하는게 편리) : ULTRAEDIT나 EDITPLUS 의 Ctrl +TAB 과 같은 기능    31) Alt + ←→(좌/우) : 이후, 이전(뷰 화면의 탭에 열린 페이지 이동)    32) Ctrl + Shift + R : Open Resource    33) Ctrl + Shift + ↑↓(상/하) : 다음/이전 메소드로 이동    34) Ctrl + Shift + E : Switch to Editor (탭에 열려있는 Editor 이동)    35) Ctrl + Shift + G : 클래스의 메소드나 필드를 Reference하고 있는 곳으로 이동     36) Ctrl + 1  : Quick Fix(구현하지 않은 메소드 추가, 로컬 변수 이름 바꾸기, 행둘러싸기(if, while, for emd))    37) Ctrl + 2 + R : Rename(리팩토링) 6.  문자열 찾기    Ctrl + K : 찾고자 하는 문자열을 블럭으로 설정한 후 Ctrl + K 키를 누른다.    Ctrl + Shift + K : 역으로 찾고자 하는 문자열을 찾아감.    Ctrl + J : Ctrl + J누른 후 찾고자 하는 문자열을 입력. 입력하면서 찾을 수 있음.    Ctrl + Shift + J : 입력하면서 거꾸로 찾아갈 수 있음.    Ctrl + F : 기본적으로 찾기    Ctrl + H : Find 및 Replace 7.  템플릿 사용    1) sysout 입력한 후 Ctrl + Space 하면 System.out.println(); 으로 바뀐다.    2) try 입력한 후 Ctrl + Space 하면 try-catch 문이 완성된다.    3) for 입력한 후 Ctrl + Space 하면 여러가지 for 문을 완성할 수 있다.    4) 템플릿을 수정하거나 추가하려면 Window >Preference >Java >Editor >Templates 에서 할 수 있다. 8. 에디터 변환   1) 에디터가 여러 파일을 열어서 작업중일때 Ctrl + F6 키를 누르면 여러파일명이 나오고 F6키를 계속 누르면 아래로   2) Ctrl + Shift + F6 키를 누르면 위로 커서가 움직인다.   3) Ctrl + F7 : 뷰간 전환   4) Ctrl + F8 : 퍼스펙티브간 전환   5) Ctrl + E : 뷰 화면의 탭에 열린 페이지 이동   6) F12 : 에디터로 포커스 위치   7) Window > Reset Perspective : 윈도우 창 초기화






CMD창에서 D드라이브로 가는법











=======>>    D:  라고 입력하면 된다...

tomcat이란

https://m.blog.naver.com/ailov/60168292169



톰캣이란?

TomcatApachesoftware 재단에서 만든 JAVA Servlet & JSP 기술 구현을 위한 Open Source입니다.

Tomcat WAS(Web Application Server)과에 속하며 WAS 대체적으로 다음과 같은 역할을 합니다.
---------------------------------------------------------------------------------------------------------------------------
        제 blog중 WebLogic이란 게시글 내용
그럼 WAS  쓰느냐?
일반적인 html이나 사진플래시같은 정적인 컨텐츠 등은 WebServer 있어도 무방하지만 스크립트를 통해 동적인 페이지를 생성하게 해주고 태그 라이브러리등을 개발할  있는등 여러모로 활용도가 높은JSP ASP, PHP 같은 서버 스크립트들이 등장하게 되었어요그러한 스크립트들을 처리할  있는 WAS라는 제품들을 사용하는 거예요.
 
쉽게 말해서 우리가 네이버를 하기위해서 웹브라우저를 실행합니다그리고 http://www.naver.com 불러요그럼 네이버의 웹서버에서 요청을 받아서 HTML이나 오브젝트를 HTTP프로토콜을 이용해 사용자에게 보내줍니다하지만 JSP등을 처리를 하기 힘드니 WAS에게 요청을 합니다그럼 WAS에서 JSP같은 동적 컨텐츠를 처리하여 웹서버에게 다시 주면 우리에게 네이버라는 페이지가 보이게 됩니다.
---------------------------------------------------------------------------------------------------------------------------
기본적으로WebServer에서 처리하지 못하는 동적파일(JAVA, JSP)을처리하는 역할을 하며 기본적으로 Servlet Container를 포함하고 있으며 웹서버 역할도 합니다.

Servlet Container? 
 
서블릿컨테이너가 뭔지 궁금해 하실거 같아  여기서 짚고 넘어가도록 할게요~
일반적으로 컨테이너라 하면 컨테이너 박스 아시죠? 항구같은데 있는~ 그런 컨테이너에다가 서블릿이라는 물건들을 담아 놓았다고 생각하시면 되요~
compile해서 class파일로 변환하여 담아놓구 언제든 실행 종료 할 수 있게 servlet들을 관리합니다.
자체적으로 HTTP Server기능을 가지고 있으며 웹서버 역할도 수행할 수 있습니다.

여기서 궁금증이 생기시는 분도 있겠죠~
  톰캣 자체를 웹서버로 사용할  없는가 웹서버와 WAS 나누어 놓았는가?
 따로 나누어 놓는 이유가 있지요~ 


웹서버는 정적컨텐츠, WAS는 동적컨텐츠 담당입니다.
보통 클라이언트에서 요청이 들어오게되면 순서가

클라이언트 - 브라우저 - 웹서버 - WAS - DB의 순서입니다.

컴파일등이 필요없는 정적컨텐츠는 웹서버가 간단한 로직으로 처리할 수 있으니 굳이 WAS를 거쳐가지 않는게 BEST겠죠?

그리고 서비스별로 WAS를 두어 WebServer의 가상호스트를 사용하여 서비스별로 관리할 수 있는 장점이 있습니다!!

한마디로 말해 프로그램의 고유특성에 맞춰 그냥 각자 맡은것만 열심히 하여라... 라는 정도?