2015년 3월 27일 금요일

아파치에서 403 오류 나올때.

이것저것 했는데 403이 계속 나오면..


chcon -R --reference=/var/www /www/webroot

2015년 3월 24일 화요일

spring junit testcase 작성

maven에 아래 추가.


   org.springframework
   spring-test
   4.0.5.RELEASE
   test
  


test java코드 MemberServiceTest.java

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration( {
  "classpath:servlet-context.xml",
  "classpath:config/context-datasource.xml"
}
)
public class MemberServiceTest {

    @Autowired
    MemberService memberService;


    @Test
    public void testSr2002() throws Exception {
        RequestData req = new RequestData(null, new DbMap());
        ResponseData res = new ResponseData(new DbMap());

        memberService.sr2002(req, res);
    }

}



이때 디비를 jndi-lookup 를 이용하는 경우를 위해 test/resources/config/context-datasource.xml 을 넣어서 아래와 같이 기존 id를 덮었다.

test/resources/config/context-datasource.xml 파일





    





2015년 3월 10일 화요일

spring-rabbitmq 연동

설치는 그냥 rpm 으로 설치

# 서버 시작.
sbin/rabbitmq-server start

# 서버 중지
sbin/rabbitmqctl stop




--- spring-rabbit 연동 pom.xml


  org.springframework.amqp
  spring-rabbit
  1.4.1.RELEASE




context-rabbitmq.xml














    





MqService.java

@Service
public class MqService implements MessageListener {
    private static final Logger logger = LoggerFactory.getLogger(MqService.class);
    private static final String TASK_QUEUE_NAME = "simple_queue";

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void send(String message) throws IOException {
        rabbitTemplate.convertAndSend(TASK_QUEUE_NAME, message);

        logger.info("send message={}", message);
    }

    @Override
    public void onMessage(Message message) {
        String msg = null;
        try {
            msg = new String(message.getBody(), "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        logger.info("recv message=" + msg );
    }
}

2015년 3월 4일 수요일

git 관련 명령어 모음

// svn to git 마이그레이션
$ git svn clone --stdlayout --no-metadata -A users.txt svn://example.com/repository/projectname
$ cd projectname

// 아래 users.txt 만드는건데 perl 이 없어서 그런지.. 안되네요... ㅠ
//$ svn log ^/ --xml | grep -P "^<author" | sort -u | \ perl -pe 's/<author>(.*?)<\/author>/$1 = /' > users.txt

// ignore file처리
$ git svn show-ignore -i trunk > .gitignore

// remote git 지정
$ git remote add origin git@git.example.com:group/projectname.git

// tags 처리
$ git for-each-ref refs/remotes/tags | cut -d / -f 4- | grep -v @ | while read tagname; do git tag "$tagname" "tags/$tagname"; git branch -r -d "tags/$tagname"; done

// branches 처리
$ git for-each-ref refs/remotes | cut -d / -f 3- | grep -v @ | while read branchname; do git branch "$branchname" "refs/remotes/$branchname"; git branch -r -d "$branchname"; done

// push한다.
$ git push origin --all
$ git push origin --tags

// revert local commit
git reset —hard remotes/origin/HEAD


-----------

// backup
$ sudo gitlab-rake gitlab:backup:create

// restore (가장 최근꺼 복원)
$ sudo gitlab-rake gitlab:backup:restore

// restore OPTION (아래 지정한 타임스탬프로 복원시켜준다는건가.. 안해봄..)
BACKUP=timestamp_of_backup (required if more than one backup exists)



2015년 2월 10일 화요일

mysql, mariadb에서 유니코드(utf8mb4) 지원하기

1. 현재 설정된 상태 확인


MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
 +--------------------------+---------------------------------+
 | Variable_name            | Value                           |
 +--------------------------+---------------------------------+
 | character_set_client     | utf8                            |
 | character_set_connection | utf8                            |
 | character_set_database   | utf8                            |
 | character_set_filesystem | binary                          |
 | character_set_results    | utf8                            |
 | character_set_server     | utf8                            |
 | character_set_system     | utf8                            |
 | character_sets_dir       | /usr/local/mysql/share/charsets/|
 +--------------------------+---------------------------------+



2. sudo vi /etc/my.cnf 파일을 아래 부분 수정

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4



3. 서비스 재시작

service mysql restart


4. 확인

MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database   | utf8mb4_unicode_ci |
| collation_server     | utf8mb4_unicode_ci |
+----------------------+--------------------+
3 rows in set (0.00 sec)


마지막으로 실제 적용할 컬럼의 타입을 바꿔야 한다.

utf8mb4로 바꿔야 합니다.

2015년 2월 5일 목요일

blogger에 source code 를 올릴때

http://alexgorbatchev.com/SyntaxHighlighter/
아래 내용을 템플릿에 추가 한다.




CentOS 명령어 모음


#프로그램 설치위치 찾기
paper$ which java
/usr/bin/java

#오래된 로그파일만 찾아서 삭제함
find /logs/httpd/ -type f -mtime +180 -exec rm -f {} \;


#hosts 편집
vi /etc/hosts


#dns서버 수정
vi /etc/resolv.conf

#OS 비트 확인
getconf LONG_BIT

#OS 버전 확인
$ cat /etc/issue

#폰트목록
$ fc-list

#폰트 반영 (/usr/share/fonts 에 폰트 넣고)
$ fc-cache -fv