일상생활

linux 환경에서 구동되는 프로그램을 만들었는데 사용자의 요청에 의해서

리눅스가 처음 시작할때 자동으로 프로그램을 실행하도록 요청을 받을때 간단하게 사용합니다.

 

chkconfig 라는 명령으를 통하여 등록을 할 수도 있지만 리눅스의 부팅과정을 이해해야하며

런레벨에 대한 정보도 학습해야 합니다. 리눅스도 잘 모르는 사용자라 하면 복잡하게 느껴질수도 있습니다.

 

하지만 해당 방법은 crontab을 통하여 등록할 수 있으며 사용방법이 간답합니다.

 

사용법

 

1. 프로그램이 실행하고자 하는 계정으로 로그인 한 후 아래 명령어를 입력하여 편집모드로 들어갑니다.

crontab -e 

 

2. @reboot 명령을 통하여 실행하고 하는 명령어를 입력합니다.

예를 들어서 부팅시 어떤 프로그램을 를 자동으로 실행하기 위한 명령어를 등록하기 위해서서 아래와 같이 입력하였습니다.

 

@reboot /home/test/test/programstart.sh 

 

3. 저장한 후 vi를 닫습니다.

 

crontab은 일반적으로 사용하는것 외에 특정 몇가지 활성화 매계변수가 존재하는데 아래와 같은 것들이 있습니다.

직접 쳐도 되지만 간단하게 사용할 수도 있으니 유용하게 사용되었으면 합니다. 

@reboot = run at boot and reboot only

@yearly  = run at midnight Jan 1 each year (equiv to 0 0 1 1 *)
@annually  = run at midnight Jan 1 each year (equiv to 0 0 1 1 *)
@monthly  = run at midnight on the first day of each month (equiv to 0 0 1 * *)
@weekly  = run at midnight each Sunday (equiv to 0 0 * * 0)
@daily  = run at midnight each day (equiv to 0 0 * * *)
@ midnight  = run at midnight each day (equiv to 0 0 * * *)





@ hourly = run on the first second of every hour (equiv to 0 * * * *) 

'개발 > Linux' 카테고리의 다른 글

CentOS7 방화멱(firewalld) 설정  (0) 2017.04.24
[Linux] Proxy 서버 설정하기  (0) 2015.07.22
crontab 설명  (0) 2015.05.06
centos inotify install  (0) 2015.04.22
[SHELL] 특정 날짜를 입력받아 지정된 날짜까지 LOOP 실행하기  (0) 2015.01.28

crontab 설명

개발/Linux2015. 5. 6. 18:37

crontab format:
{activation parameters} {command #1} ; {optional command #2} ; {optional command #3} ; {etc, commands end on the line ending}

Example:
* * * * * ./folding
This would cause folding to be launched every minute, from your home folder. Very bad, you would end up with 60 copies running by the end of an hour.

Commands are shell commands. Separate multiple commands with a semicolon ";" and end on the line ending.

Activation parameters:
@reboot = run at boot and reboot only
@yearly = run at midnight Jan 1 each year (equiv to 0 0 1 1 *)
@annually = run at midnight Jan 1 each year (equiv to 0 0 1 1 *)
@monthly = run at midnight on the first day of each month (equiv to 0 0 1 * *)
@weekly = run at midnight each Sunday (equiv to 0 0 * * 0)
@daily = run at midnight each day (equiv to 0 0 * * *)
@ midnight = run at midnight each day (equiv to 0 0 * * *)
@ hourly = run on the first second of every hour (equiv to 0 * * * *)
- or -
1 2 3 4 5 = specific time tags
- where -
1 = Minute (of hour) to activate [0-59]
2 = Hour (of day) to activate [0-23]
3 = Day (of month) to activate [1-31 ... 29,30,31 may not activate during all months]
4 = Month (of year) to activate [1-12 or 3-letter names "Jan,Feb,Mar"]
5 = Weekday to activate [0-7 or 3-letter names "Mon,Tue,Wed"]

If 3-letter names are used on Month/Weekday instead of numbers, they are case-insensitive. "Mon" and "mON" are equally acceptable. If numbers are used for the weekday, "0" and "7" are both Sunday and are interchangeable.

Time tags are separated by spaces. Do not use spaces within a tag, this will confuse cron. All five tags must be present. They are a logical AND of each other. There is another space between the last time tag and the first command.

A time tag can be a wildcard "*", which means "all". It can be one value, several values, a range, or a fractional range.

Examples for the Hour column:
8 = one value: execute in the 8 AM hour
5,6,9 = multiple values: execute in the 5, 6, and 9 AM hours
5-8 = range: execute in each hour between 5-8 AM (inclusive)
*/2 = fractional: execute in every other hour. 0 (midnight), 2AM, 4AM, 6AM, etc
3-12/3 = fractional range: execute in every third hour between 3AM and 12PM: 3AM, 6AM, 9AM, 12PM

Example:
5 */3 * * 1-5 cd "desktop/fold1"; ./fold &
This will launch on the 5-minute mark, every third hour, every day, every month, but only on days of the work week (Mon-Fri). It cd's to the Desktop/Folding folder #1, then launches the launch script in nohup mode so folding will keep running.


파일 생성 여부를 모니터링 하기 위해 inotify를 사용하면 생성, 수정, 삭세 등을 모니터링 할 수 있다.
설치 방법은 아래와 같다.


yum install inotify-tools
하지만 알수 없는 에러를 내고 안된다.


해서 http://sourceforge.net/projects/inotify-tools/ 아래 사이트에 가서 inotify-tools-3.14.tar.gz 를 다운로드 받아서 설치를 한다.

설치 파일을 다운로드 한 후 차례대로 다음 명령어를 입력한다.

//wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

tar -zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure
make
make install
updatedb

설치 후
아래 명령어를 입력하여 실제 모니터링 되는지 여부를 확인해본다.
inotifywait -r -m -e modify,create,delete,move,moved_to --format '%:e %w%f' /감시할디렉터리명

해당 명령어는 수정,등록,삭제,이동일 경우 모니터링을 한다.


많은 원인이 있겠으나 그 중 하나의 해결책  


STS(Eclipse) - jsp 페이지에서 copy or paste 하면 validation 하면서 급격히 느려지는 현상


jsp 파일 내에서 copy 또는 paste 를 하는 경우 STS(Eclipse)가 급격히 느려지는 현상이 발생할 때가 있다.

이러한 현상은 매우 다양한 원인이 존재하는 데 나의 경우에는 jsp가 아닌 include 된 javascript 파일들을 validation 하는 과정에서 시간이 오래 걸린다는 것을 파악했다.


프로젝트에 마우스 오른쪽 버튼을 클릭한 뒤,

Properties > JavaScript > Include Path > Source[tab]으로 이동하여

Excluded 를 선택한 뒤 Edit 버튼을 클릭하여 **/*.* 을 추가하자.


[출처]http://hosang.tistory.com/archive/20131111

'개발 > IDE' 카테고리의 다른 글

Visual Studio Code 유용한 정보  (0) 2018.09.07
eclipse.ini 설정  (0) 2014.04.22
eclipse workspace 바로가기 링크 만들기  (0) 2010.11.17
Eclipse 유용한 PLUG-IN  (0) 2009.10.24
[eclipse] 자주쓰는 이클립스 단축키  (0) 2008.12.24


사용자의 특정 날짜를 입력 받아서 지정된 날짜까지 일별로 loop를 돌면서 처리해야 하는 경우 

해당 쉡을 사용한다.

간단하지만 변수에 담긴 date를 증가 및 감소 하는 법을 알지 못해 고생했다. 


실행방법은 ./dateLoopRunShell.sh 20101120 형태로 사용하면 인자는 yyyymmdd 형태의 시작일을 입력한다.


해당 쉘의 종료일은 쉘을 실행시키는 시점의 날짜가 되며 20101120 ~ 현재일까지 날짜를 출력한다.

20101120

20101121

20101122

20101123   

.

.

.

20150128


echo 부분을 주석처리 하고 해당 부분에 처리할 로직을 넣어서 실행한다.


dateLoopRunShell.sh

#!/bin/bash

echo "HELLO SHELL"


START=$(date --date=$1 +"%Y%m%d")

END=$(date +"%Y%m%d")


CURRENT="$START"


#echo `date -d "$CURRENT 1 day" +"%Y%m%d"`


while [ "$CURRENT" != "$END" ]; do

    echo $CURRENT


     #run shell job


     CURRENT=`date -d "$CURRENT 1 day" +"%Y%m%d"`

done


'개발 > Linux' 카테고리의 다른 글

crontab 설명  (0) 2015.05.06
centos inotify install  (0) 2015.04.22
windows OS 에서 port 및 프로세스 확인  (0) 2014.04.08
[linux]ssh 비밀번호 없이 접속하기  (0) 2013.04.25
centos 5.3 svn 설치  (0) 2012.06.01

서버가 가동중이면 서버를 중지한다.


shell> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin" -u root shutdown


서비스 등록

shell> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld" --install


설정파일을 지정하여 서비스 등록

shell> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld" --install MySQL --defaults-file=C:\my-opts.cnf


자동으로 서비스를 시작되게 하지 않고 수동으로 실행하기를 원한다면

shell> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld" --install-manual


서비스 삭제

shell> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld" --remove



참고 : http://dev.mysql.com/doc/refman/5.0/en/windows-start-service.html


1. 다운로드


해당 페이지로 가서 http://www.mongodb.org/downloads OS에 맞는 설치 버전을 다운로드 한다.



여기에선 64bit 윈도우에 설치를 하기 위해서 윈도우 버전을 다운로드 한다.

msi혁식의 설치 버전은 별로 선호하지 않기 때문에 zip로된 파일로 한다.


2. 설치


다운로드 받은 파일은 mongodb-win32-x86_64-2008plus-2.6.7.zip 파일로 압축을 풀어서 c:\에 옮겨 놓는다

해당 위치는 c:\mongodb-win32-x86_64-2008plus-2.6.7




몽고 db의 기본 디렉터리는 c:\data\db로 잡혀 있기때문에 해당 경로를 만들어 주도록 한다.

변경을 위해서는 시작시 옵션을 통해서 해당 db 경로를 지정 해줄 수 있다.




3. 실행


해당 디렉터리를 만들었다면 서버를 실행해본다.


서버를 실행하기 위해서는 cmd 창으로 들어가는데 서버 실행을 위해서는 일반 권한으로 들어가도 되지만 

추후 서비스 등록을 위해서 관리자 권한으로 cmd.exe 명령을 실행한다.


윈도우 시작 -> 모든프로그램 -> 보조프로그램 -> 명령프롬프트 메뉴를 마우스 우클릭하여 관리자 권한으로 실행을 선택한다.


실행 파일은 모두 설치경로\bin에 있으므로 해당 bin 폴더로 이동하거나 전체 경로로 입력한다.


cd C:\mongodb-win32-x86_64-2008plus-2.6.7\bin


여기에서는 c:\mongodb-win32-x86_64-2008plus-2.6.7\bin으로 이동했다고 가정하고

다음 명령어를 실행한다.


mongod


혹은 기본 db 저장경로를 변경하였다면 


mongod --dbpath c:\변경된 db경로



다음과 같은 창이 나타났다면 정상적으로 실행이 됐다.




4. 종료

실행이 정상적으로 된다면 종료도 해봐야 한다. 종료 하는 방법은 다음과 같다.

창을 닫거나..

Ctrl + C 혹은 Ctrl + D로 종료 한다.



5. 설정

해당 정보들을 설정파일로 관리를 할 수도 있는데 설정 파일은 config.cfg라는 파일을 만들어서 해당 내용을 복사하여 

C:\mongodb-win32-x86_64-2008plus-2.6.7\ 폴더에 config 폴더를 만들고 거기에 넣는다.


최종 config.cfg 위치는 C:\mongodb-win32-x86_64-2008plus-2.6.7\config\config.cfg가 된다


#db folder

dbpath = C:\data\db


#port

port = 27017


#log 

logpath = C:\data\logs\mongo.log


#web admin

rest = true



이렇게 설정된 config.cfg 파일은 다음가 같은 명령어로 실행을 하게 되면 해당 설정파일의 정보를 읽어 들여서 실행 할 수 있다.

실행 하기 전에는 설정 파일이 있는 경로가 정상적으로 존재 해야 한다. 


C:\mongodb-win32-x86_64-2008plus-2.6.7\bin>mongod -f C:\mongodb-win32-x86_64-2008plus2.6.7\config\config.cfg



정상적으로 구동이 되었다면 웹 브라우저에 
http://127.0.0.1:28017/를 통하여 로그 및 상태정보를 모니터링 할 수 있다.




6. 서비스 등록
윈도우 서비스를 등록하기 위해서는 다음과 같은 명령어로 서비스를 등록한다. 해당 서비스를 등록하기 위해서는 반드시 관리자 권한으로 실행을 해야 한다.

C:\mongodb-win32-x86_64-2008plus-2.6.7\bin>mongod -f C:\mongodb-win32-x86_64-2008plus-2.6.7\config\config.cfg -install



서비스가 정상적으로 등록이 되었다면 서비스에 정상적으로 등록이 된다.



6. 서비스 해제

등록된 서비스는 다음과 같이 해제할 수 있다.

C:\mongodb-win32-x86_64-2008plus-2.6.7\bin>mongod -f C:\mongodb-win32-x86_64-2008plus-2.6.7\config\config.cfg -remove



설치과정은 이렇게 하면 되고 설치가 정상적으로 완료되고 서비스가 실행이 되었다면 실제 쉘을 실행해 본다.
bin 폴더에 있다면 다음 명령어를 사용하요 접속한다.

monog




위에 화면과 같이 > 형태의 명령어를 입력 받을 수 있도록 되면 정상적으로 설치가 된 것이다.

help

db

show dbs 등의 명령으로 정상적으로 되는지 확인해본다. 

exit 명령어로 나온다.





JSTL 요약

개발/Java2014. 8. 5. 12:51
설정

web.xml

 

<taglib>
    <taglib-uri>jstl-c</taglib-uri>
    <taglib-location>/WEB-INF/tlds/jstl/c.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>jstl-fmt</taglib-uri>
    <taglib-location>/WEB-INF/tlds/jstl/fmt.tld</taglib-location>
</taglib>
<taglib>
    <taglib-uri>jstl-fn</taglib-uri>
    <taglib-location>/WEB-INF/tlds/jstl/fn.tld</taglib-location>
</taglib>


 

jsp 에서

 

<%@ taglib uri="jstl-c" prefix="c" %>

<%@ taglib uri="jstl-fmt" prefix="fmt" %>

<%@ taglib uri="jstl-fn" prefix="fn" %>


EL#

  1. 생존범위 속성 맵

    1. pageScope
    2. requestScope
    3. sessionScope
    4. applicationScope
  2. 요청 파라미터 맵

    1. param
    2. paramValues
  3. 요청 헤더 맵

    1. header
    2. headerValues
  4. 쿠키 맵

    1. cookie
  5. 컨텍스트 초기화 파라미터 맵(서블릿 초기화 파라미터 아님)

    1. initParam
  6. 실제 pageContext 객체에 대한 참조. 이것은 빈임

    1. pageContext

      1. pageContext 접근자

        1. getErrorData()
        2. getPage()
        3. getRequest()
        4. getResponse()
        5. getServletConfig)()
        6. getServletContext()
        7. getSession()
      2. JspContext로 부터 상속받은 접근자

        1. getAttribute()
        2. getAttributeNamesInScope()
        3. getAttributesScope()
        4. getExpression!Eval!uator()
        5. getOut()
        6. getVariableResolver()



스크립팅

  1. <$= request.getHeader("host") %>

EL 내장 객체

  1. ${header["host"]}
  2. ${header.host}
  3. ${headerValues.host[]}


스크립팅

  1. <%= request.getMethod() %>

EL 내장 객체

  1.  ${pageContext.request.method}

 

core

 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

  • 일반적인 것

    • <c:out>
    • <c:set>
    • <c:remove>
    • <c:catch>
  • 조건

    • <c:if>
    • <c:choose>
    • <c:when>
    • <c:otherwise>
  • URL 관련

    • <c:import!>
    • <c:url>
    • <c:redirect>
    • <c:param>
  • 반복

    • <c:forEach>
    • <c:forEachToken>


① set


     - JSP의 setAttribute()와 같은 역활
     - 기본형
       <c:set   var="변수명"
                    value="변수명에 할당된 값"
                    target="자바빈 객체명이나 Map 객체명"
                    property="자바빈 객체나 Map 객체의 값을 설정할 프로퍼티 명"
                    scope="변수의 공유 범위(유효기간)으로 page|request|session|application" />
     - 예제
          <c:set var="country" value="${'Korea'}" />
          <c:set var="intArray" value="<%=new int[] {1,2,3,4,5}%>" />
          <c:set var="sum" value="${sum+i}" />
 
② out


     - JSP의 표현식을 대체하는 것으로 많이 사용됨
     - 기본형
          <c:out var="변수명"
                    default="기본값"
                    escapeXML="true|false" />
 
     * escapeXML
     > 생략시 기본값은 true
     > true일 경우 값 중에 포함된 <>&'" 문자들을 각각 <, >, &, ', "로 출력

     - 예제
          <c:out value="${sum}" />
          <c:out value="${val}" />
 
③ remove


     - JSP의 removeAttribute()와 같은 역활
     - 기본형
          <c:remove var="변수명"
                              scope="변수의 공유 범위로 page(생략 시 기본)|request|session|application" />
     - 예제
          <c:remove var="browser" />
 
④ catch


     - body 위치에서 실행되는 코드의 예외를 잡아내는 역할
     - 기본형
          <c:catch var="에러가 발생할 때 에러 메세지가 포함될 변수명" />
     - 예제
          <c:catch var="errmsg">
               line 1~
               <%=1/0%>
               line 2~
          </c:catch>
          <c:out value="${errmsg}" />
 
⑤ if


     - 조건문에 사용
     - 기본형
          <c:if   test="조건 판별식"
                    var="변수명"
                    scope="변수의 공유범위 page|request|session|application"
     - 예제
          <c:if test="${country != null}">
               국가명 : <c:out value="${country}" />
          </c:if>
 
⑥ choose


     - 자바의 switch문과 동일
     - 조건에서 문자열 비교가 가능
     - 하나 이상의 <when>과 하나의 <otherwise> 서브 태그를 가짐
 
⑦ when


     - choose 태그의 서브태그
     - choose 태그내에서 여러번 사용될 수 있다.
     - 기본형
          <c:when test="조건 판별식" />
 
⑧ otherwise


     - choose 태그의 서브태그
     - choose 태그내에서 한번만 사용될 수 있다.
     - 예제 :
          <c:choose>
               <c:when test="${country == 'Korea'}">
               나라 : <c:out value="${country}" />
          </c:when>
 
          <c:when test="${country == 'Canada'}">
               나라 : <c:out value="${country}" />
          </c:when>
   
          <c:otherwise>
               선택된 나라가 없습니다.
          </c:otherwise>
     </c:choose>
 
⑨ forEach


     - 객체 전체에 걸쳐 반복 실행할 때 사용
     - 기본형
          <c:forEach   items="반복할 객체명"
                              begin="시작값"
                              end="종료값"
                              step="증가값"
                              var="변수명"
                              varStatus="별도의 변수" />

⑩ forTokens


     - 문자열을 주어진 구분자(delimiter)로 분할
     - 기본형
          <c:forTokens items="반복할 객체명"
                              delims="구분자"
                              begin="반복할 시작값"
                              end="반목 마지막값"
                              step="증가값"
                              var="변수명"
                              varStatus="별도의 변수"
     - 예제
          <c:forTokens var="color" items="빨강색,주황색.노란색.초록색,파랑색,남색.보라색" delims=",.">
               color : <c:out value="${color}" /><br>
          </c:forTokens>
 
⑪ import!


 - 웹 어플리케이션 내부의 자원 및 http, ftp와 같은 외부에 있는 자원에 대해 접근
 - 기본형
  <c:import! url="읽어올 URL"
     var="읽어올 데이터를 저장할 변수명"
     scope="변수의 공유 범위"
     varReader="리소스의 내용을 Reader 객체로 읽어올 때 사용"
     charEncoding="읽어온 데이터의 캐릭터셋 지정" />
 
⑫ redirect


     - response.sendRedirect()를 대체하는 태그로 지정한 다른 페이지로 이동
     - 기본형
          <c:redirect url="이동할 URL" />
 
⑬ url


     - 쿼리 파라미터로 부터 URL 생성
     - 기본형
          <c:url var="생성한 URL이 저장될 변수명"
                    value="생성할 URL"
                    scope="변수의 공유 범위" />
 
⑭ param


     - 기본형
          <c:param name="파라미터 명"
                         value="파라미터 값" />
               <c:url var="registrationURL" value="/customers/register">
               <c:param name="name" value="${param.name}" />
               <c:param name="country" value="${param.country}" />
          </c:url>


<c:set var="temp" value="Hello! World" />
<c:out value="${ temp }" default="value is null"/><br>
<c:out value="${ temp }" default="value is null" escapeXml="false" /><br>
<c:out value="${ temp2 }" default="value is null" /><br>

<c:remove var="timezone" scope="session"/>
<c:set var="timezone" scope="session">CST</c:set>

<c:out value="${cookie['tzPref'].value}" default=="CST"/>

 

function
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

${fn:substring(name, 1, 10)}


fn:contains(string, substring)  
string이 substring을 포함하면 true 리턴. 

fn:containsIgnoreCase(string,substring)
대소문자에 관계없이, string이 substring을 포함하면 true 리턴. 

fn:endsWith(string, suffix)   
string이 suffix로 끝나면 true 리턴. 

fn:escapeXml(string)    
string에 XML과 HTML에서 특별한 의미를 가진 문자들이 있으면, XML 엔티티 코드로 바꿔준 뒤 문자열 리턴. 

fn:indexOf(string,substring)  
string에서 substring이 처음으로 나타나는 인덱스 리턴. 

fn:join(array, separator)
  
array(배열) 요소들을 separator를 구분자로 하여 연결해서 리턴 

fn:length(item)
      
item 이 배열이나 컬렉션이면 요소의 갯수를, 문자열이면 문자의 갯수를 리턴. 

fn:replace(string, before, after)
 
string 내에 있는 before 문자열을 after 문자열로 모두 바꿔서 리턴. 

fn:split(string, separator)
   
string 내의 문자열을 separator에 따라 나누어서 배열로 구성해 리턴. 

fn:startsWith(string, prefix)
  
string이 prefix로 시작하면 true 리턴. 

fn:substring(string, begin, end)
 
tring에서 begin 인덱스에서 시작해서 end 인덱스에 끝나는 부분
(end 인덱스에 있는문자 포함)의 문자열을 리턴.

fn:substringAfter(string, substring)

string에서 substring이 나타나는 이후의 부분에 있는 문자열을 리턴. 

fn:substringBefore(string, substring)

string에서 substring이 나타나기 이전의 부분에 있는 문자열을 리턴. 

fn:toLowerCase(string)
    
string을 모두 소문자로 바꿔 리턴. 

fn:toUpperCase(string)
    
string을 모두 대문자로 바꿔 리턴. 

fn:trim(string)
      
string 앞뒤의 공백(whitespace)을 모두 제거하여 리턴.


fmt

 

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

  • 국제화

    • <fmt:message>
    • <fmt:setLocale>
    • <fmt:setTimeZone>
    • <fmt:bundle>
    • <fmt:setBundle>
    • <fmt:param>
    • <fmt:requestEncoding>
  • 포맷팅

    • <fmt:timeZone>
    • <fmt:setTimeZone>
    • <fmt:formatNumber>
    • <fmt:formatDate>
    • <fmt:parseNumber>
    • <fmt:parseData>
    • <fmt:parseNumber>



jstl fmt로 날짜보여줄때, pattern attribute에 의한 날짜 표현 방식들

pattern="yyyy-MM-dd aa h:mm:ss"    
2007-12-13 오전 9:36:48

pattern="yyyy-MM-dd aa hh:mm:ss"  
2007-12-13 오전 09:36:48

pattern="yyyy-MM-dd H:mm:ss"      
2007-12-13 9:36:48

pattern="yyyy-MM-dd HH:mm:ss"    
2007-12-13 09:36:48


<fmt:setLocale value="fr_CA" scope="session"/>
<fmt:setTimeZone value="Australia/Brisbane" scope="session"/>

<fmt:formatDate value="${blogEntry.created}" dateStyle="full"/>
<c:out value="${blogEntry.title}" escapeXml="false"/>
<fmt:formatDate value="${blogEntry.created}" pattern="h:mm a zz"/>
<fmt:formatNumber value="0.02" type="currency" currencySymbol="원"/>

<fmt:formatNumber value="9876543.61" type="number"/>

[type="{number|currency|percent}"]


<fmt:parseDate value="${usDateString}" parseLocale="en_US" type="both" dateStyle="short" timeStyle="short" var="usDate"/>

 

sql
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
  • 데이터베이스 접근

    • <sql:query>
    • <sql:update>
    • <sql:setDataSource>
    • <sql:param>
    • <sql:dataParam>



xml

<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

  • 코어 xml 액션

    • <x:parse>
    • <x:out>
    • <x:set>
  • xml 흐름 제어

    • <x:if>
    • <x:choose>
    • <x:when>
    • <x:otherwise>
    • <x:forEach>
  • 변환 액션

    • <x:transform>
    • <x:param>

http://blog.daum.net/sowebpro/7163216 --> 이곳에서 퍼왓습니다. 감사합니다.

eclipse.ini 설정

개발/IDE2014. 4. 22. 01:09
-vm
 C:\Program Files\Java\jdk1.6.0_41\bin\javaw.exe
-Dosgi.requiredJavaVersion=1.6
-Xms768m
-Xmx768m
-XX:MaxPermSize=256M

2. General - Appearance의 Use mixed fonts and colors for labels 체크해제

3. Console 창 버퍼크기 늘림

4. Validation 끔, 글자체 변경, 단축키변경

5. Search 옵션 변경

컨트롤 + H 로 검색창 띄우고 Customize.. 버튼 클릭 후 File Search 말고 전부 체크해제

General - Search 의 Reuse editors to show matches 체크해제 (검색한 내용 클릭시 무조건 새창에 뜨게하기)

 

7. General - Workspace - Local History 의 local history 보관기간, 갯수, 용량 늘리기.


 

 

SVN 사용법

개발/Server2014. 4. 13. 22:31

SVN 서버스 사용법



계정은 SVN 계정으로 합니다.


접속

svn://아이피/저장소명


기동 

svnserve -d -r /data/svn


종료

kill -9 프로세스번호


저장소 생성

-일반방식

svnadmin create --fs-type fsfs [저장소경로]


svnadmin create --fs-type bda [저장소경로]


초기 설정

각 저장소에서 conf 폴더로 이동 후 svnserve.conf 파일 수정 아래 부분 주석 해제

[general] 

# 익명 사용자 읽기 사용 여부

anon-access = read

# 인증 사용자 쓰기 사용 여부

auth-access = write

# 인증에 사용될 패스워드 설정 파일

password-db = passwd


사용자추가

각 저장소의 신규 사용자를 추가할때 사용하며 각 저장소의 conf 폴더로 이동하여 passwd 파일을 열어서 사용자를 추가한다.

[users] 

# svn 사용자의 비밀번호를 지정

# 사용자ID = 비밀번호

test=test123


프로세스 확인

ps -aux | grep svnserv



설치

yum install -y subversion


리눅시 시작시 자동 실행 

vi /etc/rc.d/init.d/subversion 을 이용하여 신규로 파일이 없다면 파일을 만들고 아래 내용을 입력한다.

입력이 완료되면 저장 후 종료하고 

chkconfig subversion on

명령을 입력한다.

#!/bin/bash 

. /etc/rc.d/init.d/functions

[ -x /usr/bin/svnserve ] || exit 1

RETVAL=0

prog="svnserve"

desc="Subversion server"

OPTIONS="--threads --root /home/svn"

start() {

        echo -n $"Starting $desc ($prog): "

        daemon $prog -d $OPTIONS

        RETVAL=$?

   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog

   echo

}

 

stop() {

          echo -n $"Shutting down $desc ($prog): "

   killproc $prog

   RETVAL=$?

   [ $RETVAL -eq 0 ] && success || failure

   echo

   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog

   return $RETVAL

}

 

case "$1" in

  start)

   start

   ;;

  stop)

   stop

   ;;

  restart)

   stop

   start

   RETVAL=$?

   ;;

  condrestart)

        [ -e /var/lock/subsys/$prog ] && restart

   RETVAL=$?

   ;;

  *)

   echo $"Usage: $0 {start|stop|restart|condrestart}"

   RETVAL=1

esac

 

exit $RETVAL

EOF