2017년 8월 30일 수요일

javascript 정규식 정리

http://noritersand.tistory.com/90

2017년 8월 25일 금요일

Srping AOP와 proxy 관련 내용

Aop : aspect oriented programming
-비니지스 로직은 아니지만 반드시 해야하는 작업(로그,트랜잭션처리)
-개발의 핵심적인 비지니스 로직에만 집중하고 나머지 부가기능은 설정을 통해서 조정해라

 Aspect: 공통관심사(로깅, 보안, 트랜잭션)
 Advice: 실제로 기능을 구현한 객체
 Join points: 공통관심사를 적용할 대상. Spring AOP에서는 각 객체의 메소드가 이에 해당
                  (작성된 Advice가 들어갈 수 있는 메소드)
 Pointcuts : 여러 메소드 중 실제 Advice가 적용될 대상 메소드
                 (이것을 통해 Advice가 적용된 형태로 동작)
 target : 대상 메소드를 가지는 객체

 Aop에서의 proxy : Advice가 적용되었을때 만들어지는 객체]
 Introduction: target에는 없는 새로운 메소드나 인스턴스 변수를 추가하는 기능
 Weaving : advice와 target이 결합되어서 프록시 객체를 만드는 과정

proxy: 대리인, 바깥쪽 객체, 웹 클라이언트의 요청 URL를 해당 서버가 아닌 프록시 서버로 요청
- se.naver.com에 request 를 하면 내 IP를 가지고 그 웹서버에 바로 접속되는 것이 아니라
  '프록시 서버'로 요청을 전송하고 서버는 대리인을 데리고 웹서버에 가서 데이터를 주고 받고
  다시 '프록시 서버'를 통해 내 브라우져로 데이터를 가져옴

   clinet < - > proxy server < - > naver.com

Linux Unix 차이점

Linux
-Unix를 개인 컴퓨터에서 사용할 수 있도록 한것이 리눅스임
- ex) Cent OS

Unix
 - 안전성으로 포털이나 대기업같은 사이트에서 서버로 사용
 - ex) AIX

window
 - 낮은 보안성
 - 대량의 네트워크를 담당하지 못함
 - 비싼 가격

shell
 - 사용자와 OS 간의 중계 역할을 하는 명령어 해석기

2017년 8월 24일 목요일

linux ls, permission, group, rm

1. 리눅스 ls -altr
-a : --all숨겨진 파일까지 보여줌
-l  : --formant=long, 파일에 대한 자세한 정보를 보여줌
-t  : --수정된 날짜순으로 보여줌
-r  : --역순으로 보여줌

2. 리눅스 permission
 d          rwx        r-x          r-x            2    
파일타입 소유자    소유그룹  공개          링크수(바로가기 수)
root      root      4096      Apr 22 16:59    conory
소유자  소유그룹 용량      생성날짜          파일 이름

 파일타입: 맨앞글자 d->디렉토리, l ->링크파일, - -> 일반파일
 permission: r(읽기,4) w(쓰기,2) x(실행,1)
                 rwx -> 4+2+1=7
                 r-x -> 4+1 =5
                 r-x -> 4+1 =5
                 permission 파일변경 -> chmod 755 conory.txt 
                                디렉토리변경->chmod -R 777 conory (conory디렉토리 하위모두변경)

 3. 리눅스 그룹 확인
   -그룹확인  tail -f /etc/group 
                  cat /etc/group | grep 그룹명(그룹번호)
   -id <user_name> 
     uid=203(weblo), gid=202(was) groups=1(staff)
     uid: 고유한 아이디(학번)
     gid: 속한 그룹 아이디 학과   

 4. 리눅스 그룹 삭제
    -삭제
         rm 파일명
         rm -r 디렉토리명(디렉토리가 비어있지 않으면 -r 명령어 필수)
          
 delete file, directory
    

네트워크 용어

게이트웨이: 출입구, 랜카드마다 고유번호가 적혀있다

허브: 같은 IP 대역의 호스트를 하나의 네트워크로 연결

백본: 네트워크 장비의 척추. 허브들이 백본장비와 연결되어 데이터가 모아진다. 이 데이터가 라우터를 통해 나간다.

라우터: IP주소를 찾아 최단 경로로 보낸다

프락시서버: 웹페이지의 정보를 열어둘지 말지를 정하며 열어본 페이지를 캐쉬에 저장하며 다시 접근하면 보여줌

방화벽: 외부망과 내부방을 나눈다

로딩바 간단히 추가하기

간단하게 로딩바 이미지 넣는법
1. css 추가
#loading {
 width: 100%;  
 height: 100%;  
 top: 0px;
 left: 0px;
 position: fixed;  
 display: block;  
 opacity: 0.7;  
 background-color: #fff;  
 z-index: 99;  
 text-align: center; } 
  
#loading-image {  
 position: absolute;  
 top: 50%;  
 left: 50%; 

 z-index: 100; }

2. jsp에 추가
<div id="loading" style="display:none;" ><img id="loading-image" src="/asset/images/loadingbar/ajax-loader.gif" alt="Loading..." /></div>

2017년 8월 20일 일요일

ksh(aix) 명령어 관련

참조 블로그: http://egloos.zum.com/kunlaboranto/v/466836

command line 자동완성 기능

보통 bash 을 많이 사용하는 이유는 <TAB> 으로 수행하는 명령어나 대상 directory, file 들을 자동 완성해 주는
기능이 막강해서죠.
bash 은 아시다시피 <TAB> 으로 합니다.
csh 은 set filec 를 세팅하면 <ESC><ESC> 로 사용 가능합니다.
ksh 은 좀 일반화 되지 않은 듯 하여..
1.       set o vi 로 command line을 vi 모드로 변경.
2.       ls a <ESC> + = 를 하면
a1
a2
같은 선택의 범위가 보이고..
3.       ls a <ESC> + \ 를 하면 해당되는 곳까지 자동 완성합니다.

기존명령어 반복
esc키 누르고 k 키를 누르면 된다. 그 다음 이전 명령을 사용하려면 다시 반복하면 된다.


2017년 8월 18일 금요일

javascript onclick 이벤트에서 referenceError 발생한 경우

page_html += "<a href='#' onclick='javascript:load_page("+first_page+","+keyword_data+")'>";
이부분을
page_html += "<a href='#' onclick='javascript:load_page(#{first_page},#{keyword_data})'>";
page_html = page_html.replace(/#{first_page}/gi, '"' + first_page + '"').replace(/#{keyword_data}/gi, '"' + key
이렇게 정규식을 사용해서 치환해야지 정상 호출된다 하지만 스크립트 버그로 함수 변수에 공백이 들어가는 경우도 있어서 잘 확인해야함