GNB LNB SNB FNB 용어 정리


GNB ( Global Navigation Bar ) : 글로벌

사이트 최상위 전체 공통네비게이션.
메인메뉴, 대분류 메뉴, 전체 사이트에서 사용되는 공통메뉴바


LNB ( Local Navigation Bar ) : 로컬
현재 서비스 영역(Local)만 해당되는 네비게이션.
서브메뉴, 중분류 메뉴, 각 서브분류 별 사용되는 메뉴바
 
SNB ( Side Navigation Bar ) : 사이드
메인메뉴, 서브메뉴를 제외한 나머지 사이드메뉴, 기타메뉴바
 
FNB ( Foot Navigation Bar ) : 풋

하단메뉴, 하단로고, 주소, 카피라이팅 영역 


SNB( Side Navigation Bar ) 를 Sub Navigation Bar 로 혼동할수있다... 조심하자

반응형

[MySQL] 모든 공백 제거 

 

일반 적으로 공백제거에는 TRIM() 을 많이 사용하는데 TRIM()을 사용하면 앞, 뒤 공백만 제거 됩니다. 

 

그래서 모든 공백을 제거 하기 위해서는 REPLCAE()를 사용하세요.

 

 

select replace(필드명,' ',''

 

 

 

TRIM() 은 특정 위치에 문자나 공백을 제거하는데 더 효율적입니다.  

반응형

vi 에디터 자주쓰는 명령어 


학교 다닐때는 리눅스를 쓸일이 없었는데... 회사를 다니면서 쑬 일이 부쩍 많아졌다. 


정리중.... 


vi의 종료

먼저 <ESC>키로 명령모드로 전환 한후 종료 명령

<ZZ> 버퍼를 파일에 기록하고 종료

:wq 버퍼를 파일에 기록하고 종료

:q! 버퍼의 내용을 파일에 기록하지 않고 무조건 종료

:q 버퍼의 내용과 파일의 내용이 일치하는 경우 종료

 

텍스트 편집 명령

a 커서 뒤에 삽입

A 줄의 마지막에 삽입

i 커서 앞에 삽입

I 줄의 시작에 삽입

o 현재 커서의 다음에 빈 라인을 생성

O 현재 커서의 앞에 빈 라인을 생성

 

파일에 관한 명령

:r [파일명] 파일의 내용을 읽어와서 현재의 커서 아래에 삽입

:e! [파일명] 편집중인 파일을 무시하고 새로운 파일을 작성, 편집

:e [파일명] 새로운 파일을 작성, 편집

:n 파일 목록의 다음 파일로 이동

:w 현재 편집중인 파일을 저장

:w [파일명] 현재 편집중인 파일을 새로운 파일명으로 저장

w! [파일명] 현재 편집중인 파일을 현존하는 파일명으로 저장


커서의 이동 명령

1. 문자 단위 이동

h 한 문자 왼쪽으로

j 한 문자 아래로

k 한 문자 위로

l 한문자 오른쪽으로

→←↑↓ 화살표 발향으로 이동

[BackSpace] 한 문자 왼쪽으로

[Enter] 다음 라인의 시작으로


2. 라인에서의 이동

^ 또는 0 라인의 시작위치로

$ 라인의 끝 위치로

 

3. 페이지 단위 이동

[Ctrl]-f 한 페이지 위로

[Ctrl]-b 한 페이지 아래로

[Ctrl]-u 반 페이지 위로

[Ctrl]-d 반 페이지 아래로


4. 단어 단위 이동

w 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식

W 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치

b 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식

B 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치

e 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치,구두점을 한 단어로 인식

E 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치


5. 파일에서의 이동

G 파일의 끝으로 이동

nG 또는 :n n번째 라인으로 이동


6. 화면에서의 이동

H 화면의 첫줄로 이동

L 화면의 끝으로 이동

M 화면의 중간으로 이동

 

삭제 명령

1) 문자 단위 삭제

x 커서가 위치한 곳의 한 문자 삭제

nx n 개의 문자 삭제

X 커서가 위치한 곳 앞의 한 문자 삭제

nX n 개의 문자 삭제

2) 라인 단위 삭제

dd 한 라인 삭제

ndd n개의 라인 삭제

d0 또는 d^ 커서 위치부터 라인의 처음 까지 삭제

d$, D 커서 위치부터 라인의 끝 까지 삭제

3) 단어 단위 삭제

dw 커서 위치에서 오른쪽 한 단어 삭제

db 커서 위치에서 왼쪽 한 단어 삭제

4) d+이동명령

dh,dj,dk,dl,d0,d$

 

5) 파일에서의 삭제

dG 커서 위치부터 파일의 끝 까지 삭제

dnG 커서 위치부터 n번째 라인까지 삭제

   

복사 명령

1) 라인 단위 복사

yy 한 라인 복사

nyy n개의 라인 복사

y0 또는 y^ 커서 위치부터 라인의 처음 까지 복사

y$, Y 커서 위치부터 라인의 끝 까지 복사

2) 단어 단위 복사

yw 커서 위치에서 오른쪽 한 단어 복사

yb 커서 위치에서 왼쪽 한 단어 복사

3) 붙여 넣기

p 커서 위치에서 오른쪽에 붙여 넣기

P 커서 위치위 윗 줄에 붙여 넣기

 

수정 명령

(1) 문자 단위 수정

r 한 문자 수정후 명령 모드

nr n개의 문자를 수정후 명령 모드

R 한 문자 수정후 편집 모드

nR n개의 문자를 수정후 편집 모드

(2) 한 문자를 여러 문자로 수정

s 커서 위치에서 한문자 삭제 후 편집 모드

(3) 여러 문자를 수정

명령 수행 후 [ESC] 키로 마감

cw 현재 커서위치에서 오른쪽 단어 수정

cb 현재 커서위치에서 왼쪽 단어 수정

c0 또는 c^ 커서가 위치한 라인의 시작에서 커서 위치까지 수정

c$또는 C 커서의 위치에서 라인의 끝까지 수정

cc 한 줄을 모두 수정


라인의 결합

J 커서의 다음 줄을 커서가 있는 줄에 결합

 

명령 실행 취소 명령

u 직전의 한 명령 실행 취소(undo), 일부 시스템에서는 여러 명령 취소 가능

U 현재 라인에서의 명령들의 실행 취소

[Ctrl]-r 취소명령의 취소(redo), 일부 시스템에서만 지원


검색

/[패턴] 앞으로 이동하면서 [패턴]을 검색

?[패턴] 뒤로 이동하면서 [패턴]을 검색

n 반복 해서 이전에 지정된 [패턴]을 검색(next search)

 

기타 명령

:!command - 쉘로 나가지 않고 쉘명령을 수행

:sh - 쉘로 잠시 나감, 복귀하려면 exit

. - 직전 명령어 재수행

[CTRL]-g : 전체 줄수와 현재 커서가 위치한 줄 번호

~ - 대소문자 변경

vi 편집기의 환경 설정

:set nu - 라인번호 표시 설정

:set nonu - 라인번호 표시 설정 해제




반응형

[MyBatis] 동적 쿼리 생성시 삽질 주의

 

 

MyBatis로 동적 쿼리 생성시 주의 해야 할 점. 
MyBatis 문법은 RDBMS 별로 쿼리가 조금 씩 달라지며, 
자신이 사용하는 디비에 맞지 않게 사용하면 하루종일 삽질하고 자신의 있는 모습을 볼 수 있을거다. 
 
다 같은 구문을 사용할 줄 알았는데. 이거 때문에 몇시간을 날려 먹었는지.. 
 
 

 

LIKE 문 

 

# SQL 에서 LIKE 문 은 아래와 같이 사용된다.

 

SELECT * FROM TABLE_NAME

WHERE COLUMN_NAME LIKE PATTERN 

 

 

SELECT FROM SAMPLE

 

WHERE TAG LIKE 'Sa%' 

 

OR WHERE TAG LIKE '%am' 

OR WHERE TAG LIKE '%am%'  

 

 

# Mybatis에서는 DBMS 종류 별로 차이가 있다.

 

# MySql

 

SELECT FROM TABLE_NAME

WHERE COLUMN_NAME LIKE CONCAT(‘%’, #{searchKeyword}, ‘%’)

 

# ORACLE

 

SELECT FROM TABLE_NAME

WHERE COLUMN_NAME LIKE '%'||#searchKeyword#||'%' 

 

 

# Ms-Sql

 

SELECT FROM TABLE_NAME

WHERE COLUMN_NAME LIKE '%' + #searchKeyword# + '%'

 

이 처럼 미묘하게 다르니깐, 꼭 확인후 사용 하자.  

 

 

 

 

추가 

 

# # 대신 $ 를 붙여서 SQL 에서 쓰던식으로 써도 된다고는 하는데 해보지는 않았다. 

 

SELECT FROM TABLE_NAME

WHERE COLUMN_NAME LIKE 

'%${

searchKeyword

}%' 

 

반응형

 

[MyBatis] 동적 쿼리  

 

 

쿼리를 짜다보면 동적 쿼리를 만들어야 할 때 가 있다. 싫다 

 

마이바티스에서는 동적 쿼리를 처리하는 방법이 존재한다.

 

 

1. if 문

 

# keyword 가 null 이 아니면  AND KEYWORD LIKE #{keyword} 

 

<select id="dynamicSql" resultType="EgovMap">

    SELECT * FROM MAP

    WHERE POIX = '100'

    <if test="keyword != null">

        AND KEYWORD LIKE #{keyword}

    </if>

</select>

 

# if문 안에서 문자열 비교 

# 파라미터.equals('keyword')# (파라미터 eq 'A'.toString())

 

# 파라미터 == 'A'

 

 <if test="keyword != null and keyword.equals('서울') ">

        AND KEYWORD LIKE #{keyword}

 </if>

 

 

 

2. choose, when, otherwise

 

# if - else 구문 처럼 쓸 수 있다 

 

<select id="dynamicSql" resultType="EgovMap">

  SELECT * FROM MAP

  WHERE POIX = '100'

  <choose>

    <when test="keyword != null and keyword.equals('서울')">

      AND KEYWORD LIKE #{keyword}

    </when>

    <when test="keyword != null and keyword.equals('부산')">

      AND KEYWORD LIKE #{keyword}

    </when>

    <otherwise>

      AND KEYWORD = '경기'

    </otherwise>

  </choose>

</select>

 

 

3. foreach

 

# 마이바티스는 반복문도 가능하다

foreach 를 사용하여 collection 에 대해 반복처리와 IN 조건에 사용한다 

 

<select id="dynamicSql" resultType="EgovMap">

SELECT * FROM MAP

WHERE KEYWORD IN

<foreach item="item" index="index" collection="list" open="(" separator="," close=")">

        #{item}

</foreach>

</select>

 

반응형

vi 에디터 비정상 종료시




어제 vi 에디터로 열심히 작업이였는데 누군가 서버를 재부팅 해버렸다....   


vi 에서 작업중 비정상 종료시 작업 내용을 swap 파일로 자동을 보관 된다고 하네요


그래서 vi 로 문서를 열때 해당 스왑파일이 있는지 알려줍니다 


이걸 복구해서 사용 하면 됩니다 


■ 복구 명령어


#vi -r file.txt 




그리고 복구하고 나서는 swap 파일을 지워주세요 (ls -a 로 확인할수 있습니다~)



■ swap 파일 삭제 명령어


#vi .file.txt.swap



반응형

리눅스 기본 명령어

명령어 도움말 보기

#리눅스에서 사용되는 도움말 명령어는 두가지가 있다
#1
명령어 --help
※ --help 를 붙인다고 해서 모든 명령어의 도움말이 나오지는 않고 간단한 명령어는 내용이 없을 수 있다
cp --help

#2
man 명령어
위로 이동 : page down 또느 스페이스바
아래로 이동 : page up 또는 b
종료 : q

man cp

디렉토리를 변경

cd webapps       : 하위 폴더인 webapps로 이동
cd .. : 상위 폴더로 이동
cd || cd ~ : root 폴더로 이동
cd /tomcat7/logs : 현재 작업중인 폴더가 아닌 다른 폴더로 이동, /로 시작해서 경로를 입력

#절대 경로
절대경로는 경로에 절대 값을 의미 합니다.
시작위치와 상관 없이 경로에 모든 디렉토리를 적어주면 됩니다.
절대경로에 시작은 / 에서 부터 시작을 합니다.

#상대 경로
상대 경로는 현재 작업중인 폴더를 기준으로 주는 경로 값입니다.

#설정되어 있는 경로
. : 현재 작업중인 폴더를 의미 합니다.
.. : 현재 작업중인 폴더의 바로위의 상위 폴더를 의미 합니다.
~ : 홈 디렉토리의 경로를 의미 합니다.
- : 이전 폴더를 의미 합니다.

현재 디렉토리 확인

pwd : 현재 작업중인 폴더의 위치 확인

디렉토리 목록/정보 출력

ls : 디렉토리 목록 출력
ll : 디렉토리 목록 / 정보 출력

옵션
-a : 숨겨진파일을 포함해서 모든 내용을 출력 합니다.
-l : 자세한 내용을 표시 합니다.
-r : 내림차순 정렬 (기본은 오름차순 정렬)
-m : 가로로 출력
-f : 디스크에 저장된 순서대로 출력
-c : 최근 변경된 파일 부터 정렬해서 출력
-R : 하위 디렉토리 출력

#기본 사용
ls -al : 모든 파일을 자세히 보기

#grep 과 같이 쓰면 필요한 파일만 볼수 있음
ls -al | grep tomcat

폴더 생성 / 삭제

# 생성
mkdir 옵션 디렉토리명

옵션
-p : 생성하려는 디렉토리에 상위 디렉토리가 필요할경우 같이 만듭니다.
-m : 생성하는 디렉토리의 권한을 설정합니다. 설정시 umask 를 사용해서 설정 됩니다.

mkdir upload

#삭제
rmdir 옵션 디렉토리명

옵션
-f : 삭제 확인없이 바로 삭제
-r : 포함된 하위 디렉토리도 모두삭제

rmdir upload


반응형

jQuery 로 핸드폰 번호 입력시 하이푼(-) 자동으로 넣고 빼기 : 


jQuery event 와 

정규식과 substr 이용 


<script>

$(document).ready(function(){ 

    $("input#phone").blur(function(){

    var num = $("#phone").val();

    blur(num)

    });

    $("input#phone").click(function(){

    var num = $("#phone").val();

    focus(num);

    });

});


function focus(num) {

num = num.replace(/[^0-9]/g, '');

$("#phone").val(num);

}


function blur(num) {

num = num.replace(/[^0-9]/g, '');

var tmp = '';

tmp += num.substr(0, 3);

tmp += '-';

tmp += num.substr(3, 4);

tmp += '-';

tmp += num.substr(7);

$("#phone").val(tmp);

}


</script>



<body>

<input type="text" name="phone" id="phone" placeholder="phone number" maxlength="13"  />

</body>




참고 : http://www.w3schools.com/jquery/jquery_ref_events.asp

반응형


twitter-korean-text


트위터에서 만든 한국어 처리기


스칼라로 쓰여진 한국어 처리기입니다. 현재 텍스트 정규화와 형태소 분석, 스테밍을 지원하고 있습니다. 짧은 트윗은 물론이고 긴 글도 처리할 수 있습니다. 개발에 참여하시고 싶은 분은 Google Forum에 가입해 주세요. 사용법을 알고자 하시는 초보부터 코드에 참여하고 싶으신 분들까지 모두 환영합니다.


... 중략 



트위터에서 제공하는 한국어 형태소 분석기 입니다. 


정규화, 토큰화, 어근화, 어구 추출 까지 4단계로 이루어 집니다.  깃허브(GitHub)  twitter 페이지로 가면 다운받을 수 있어요.


https://github.com/twitter/twitter-korean-text

그리고 메이븐(Maven)을 이용하고 있다면 pom.xml 에 


       <dependency>

     <groupId>com.twitter.penguin</groupId>

     <artifactId>korean-text</artifactId>

     <version>4.4</version>

    </dependency>


를 추가 해주면 됩니다. 


다른 형태소 분석기 보다 속도가 아래 그림과 같습니다.

빨간색 - Twitter


<출처 : github.com/twitter/twitter-korean-text>





반응형


웹에서 작업을 하다보면 한글이 깨질 때가 종종 있다.


자바, jsp 페이지에 request.setCharacterEncoding("utf-8"); 를 열심히 추가 해봤자 소용이 없는 경우가 있었는데 


Sever - Tomcat - sever.xml 을 수정해주면 해결 된다. 


아래 그림처럼 URIEncoding="UTF-8" 를 추카 해주자 







그리고 전자정부프레임워크를 사용하고 있다면 web.xml 파일에


        <filter>

<filter-name>encodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>


를 등록 해주면 된다. 근데 이미 되어있을 거에요. 






반응형

+ Recent posts