Monthly Archives: October 2013

Intellij 유용한 단축키 목록

Ctrl Shift I : 클래스 안의 소스 ㅇ출력

Ctrl J : Insert Live Template

Ctrl W : 캐럿이 있는 위치르 ㄹ중심으로 블록 설정

Alt HomeKey : 현재 수정중인 파일의 위치 표시

Ctrl Shift R 리소스 파일 찾기

Ctrl Alt o : 임포트 정리

Ctrl Alt l : 코드포매팅

우분투 12.04 삼바 서버 설정:Ubuntu 12.04 Samba Server Setting

sudo apt-get install samba
간단히 sudo로 설치.

켄트오스는여물로 설치가될거고
다른리눅스 쓰는 사람들은 다 전문가니까
그리고 설치하는건 별로 어려울게 없으니 패스

 

 

세부설정

 

사용자 비밀번호 설정

sudo adduser userid(삼바에서 사용할 우분투 계정을 만든다)
sudo nano /etc/sudoers(수도추가)
root All=(ALL)ALL
[userid] ALL=(ALL)ALL(이거 추가)
sudo smbpasswd -a userid (계정을 삼바에 셋팅)
sudo nano /etc/samba/smb.conf(설정파일 에디트)

디렉토리 권한은 707로한다

윈도우에서 – Tom새끼 – 네트워크 드라이브 연결(상단메뉴에 있다) – \\서버주소\아까입력한폴더경로

위에서 설정한 아디비번쳐주면 셋

sudo service smbd restart

에스엠비디다. 에스엠디비로 치는 오타가 종종 발생….의외로 자주 생기는 실수

no transaction is in progress – jpa셋팅중에 만난 알수없는 메세지.

javax.persistence.TransactionRequiredException: no transaction is in progress

웹셋팅을 마치고 나니 이런 메세지가 뜨면서 addPost가 동작하지 않는다.

그래서 junit을 통해 테스트코드를 만드니까 돌아간다.

여기서 @transactional태그와 관련된 문제라는 판단.

한마디로 Junit에서는 @Transactional태그가 먹히고 Web에서는 먹히지 않는다.

Jpa의 셋팅이 DiapatcherServlet의 servlet-context에서 재 로딩되면서 발생하는 문제가 아닐까 싶었다.

 

해결방안으로 생각했던 것이… 모든 셋팅을 root로 옮기는것.

그러면 로딩할때 한꺼번에 해서 이런 문제가 안 생기지 않을까 싶었다

근데 귀찮아서 나랑 비슷한 상황이 있나 한번 더 검색해보니…

http://stackoverflow.com/questions/10633240/spring-jpa-transactions-works-only-in-junit-test-but-not-in-application/10869397#10869397

exactly same problem이 나왔다.

servlet에 <tx:annotation-driven/>을 추가해주랜다.

잘된다.

설정 깔끔하게 하려고 필요없는거 이것저것 제외하고 하다보면 이런 문제를 더 많이 겪는 것 같다. 옛날에 잘 할줄모를때는 이것저것 지저분하게 막 갖다껴놔가지고 그냥 대충 막 돌아갔었는데

Ubuntu14.04우분투 미러 리포지터리 만들기

우분투 버전 12.04, 14.04 테스트

필요대상 :
우분투 서버를 몇 개 이상 이용하는 사람

설치순서 :
—————-우분투 미러 생성 패키지 설치——————–
$ sudo apt-get install apt-mirror
설정파일 편집
/etc/apt/mirror.list

14.04에서 설정파일은 다음과 같다

– 리포지터리를 추가하려면 목록을 추가하면 된다
– basepath 등 윗쪽 설정을 변경하면 파일 저장경로를 변경할 수 있다. 파티션을 나눠놔서 용량이 부족할 수 있다변 필히 설정해줘야 할 부분. 디렉토리를 변경했다면 mkdir을 해준다. 자동으로 안되는 모양이다.
– 32/64 리포지터리를 두개다 저장하지 않고 한쪽만 하려면 이것을 명시해줄 수 있다. 그런데 이거 64비트로 깔고 써도 두개가 같이 깔리는게 있던데 호환성 문제가 발생 할 수 있지 않을까 싶다. (이런모양 deb-amd64 http://archive.ubuntu.com/ubun……….)

기본설정된거 쓰지말고 서버에서 사용되고있는 리포지터리 목록을 갖다붙이자
용량이 부족하면 src부분은 다 빼도된다? 되지 않을까?

 

미러링 시작!
$ sudo nano /etc/apt/mirror.list
명령을 입력하면 아래와 같은 모양으로 업데이트가 시작된다. 시간이 꽤 걸리는편이니 기다리지 말자

설정을 잘못하고 실행시킨 경우 다음과 같은 에러메세지를 보게 된다(고한다)
apt-mirror is already running, exiting at /usr/bin/apt-mirror line 187.
이런경우 설정파일을 고치고 다시 실행을 해도 실행이 되지 않으니 /spare/var/apt-mirror.lock이 파일을 먼저 지워줘야된다.

—————-/우분투 미러 생성 패키지 설치——————–
—————-미러 자동업데이트——————–
주의! 테스트서버가 아닌 실제운영 서버라면, 그중에서도 우분투 공식리포지터리가 아닌 개발자 리포지터리에서 패키지를 설치했다면 버전을 고정시킬 필요가 있다. 이런경우에는 미러를 운영용/테스트용으로 두개를 돌려서 테스트용에서 안정성이 확보된 이후에 사용하는게 좋다. 꼭 수동으로 할 필요는 없지만 안전장치는 필요하다. 운영서버의 10%만 최신업데이트를 해서 뻑이나면 그부분만 갈아엎는다던가 추가조치는 알아서~

위에 설정한 mirror.list를 기반으로 미러 업데이트 크론 설정
실행을 시킬 때 $ apt-mirror 만 치면 기본적으로 mirror.list를 쓴다

—————-/미러 자동업데이트——————–
—————-http서비스——————–
우분투 서버에 접속해봤을 때 아파치서버로 접속이 된다면 패쓰
아님 아파치 서버 설치
sudo apt-get install apache2
이렇게 하면 간편하긴한데… 아파치 설정할 줄 알면 따로 하는게 좋다.
sudo ln -s /spare/mirror/gb.archive.ubuntu.com/ubuntu/ /var/www/ubuntu
—————-/http서비스——————–
—————-apt-get소스목록수정——————–
/etc/apt/sources.list 요 파일을 수정해주면 이제 미러서버를 통해서 업데이트를 하게 된다. 속도가 한결 빠른걸 볼 수 있다.

deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
여기서 그냥 자기서버주소로 바꿔주면 된다.
deb http://localhost/ubuntu/ trusty universe
기본미러목록에 security는 없었으므로 security는 유지한다. 아니면 security도 미러링 해서 처리해도되고.. 하는사람마음.
—————-/apt-get소스목록수정——————–

참고사이트
http://www.danbishop.org/2011/03/11/create-your-own-local-mirror-of-the-ubuntu-repositories/

Hibernate 복합키 사용하기

pk여러개 달아놓고 쓰는 방법

pk 순서를 정하는건 잘 안된다.

이 부분을 수정하려면 하이버네이트 코드 커스터마이징을 하던가 해야할듯하다.

위 코드로 생성을 하면 아래의 쿼리가 나온다.

pk순서가 time, code, name이면 좋겠는데… 이 부분이 조절이 잘 안된다. abc순서로 순서가 잡히는거라면 이름을 바꿔서 짓는것도 고려해봐야겠다.

특별히 제공하는 방법은 없는 것 같으니… 하이버네이트에서 어노테이션을 스캔하는 코드를 찾아서 상속받아서 수정하고 다시 쑤셔넣어주는게 좋을듯하다.

소스코드를 찾아서 재컴파일해서 lib폴더나 개인용 mavenrepo에 넣는것보다는… 낫지않을까 하는 생각이다.

Ruby error모음

Could not find a JavaScript runtime.
루비 Javascript runtime 오류 발생시
(rake db:schema:dump 실행시 발생, rails server실행시에 발생하는 경우도 있는듯하다)

gem ‘therubyracer’
gem ‘execjs’

gem update

sudo apt-get install nodejs

이런 명령을 실행하면 된다는 해결책들이 제시되고 있다.
우분투인경우는 아래처럼 하면 되나본데 센트에서 하는중이라 확인을 못했다.

gem들은 Gemfile에 추가해줘야할것같다.

Python 2.7 – Useful modules

1. Nose

https://pypi.python.org/pypi/nose/1.1.2

nose extends unittest to make testing easier

2. Numpy

http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/

3. SciPy

http://sourceforge.net/projects/scipy/files/scipy/0.10.0/

4. MathPlotLib

http://matplotlib.org/

5. PyFtpdLib

https://code.google.com/p/pyftpdlib/

6. Paramiko

python ssh lib

7. BeautifulSoup4

MySql 백업Backup & 복구|복원Restore

백업의 대상

  1. 데이터베이스 파일
  2. 오류 로그 파일, 슬로쿼리 로그 파일
  3. 바이너리 로그 파일
  4. 설정파일 my.cnf
  5. 실행 파일
  6. 기타 공유 라이브러리, 지원 스크립트, 테스트 툴

 

콜드 백업

바이너리 로그 이용

온라인 백업 mysqldump

새로운 백업후 바이너리로그 삭제

 

기타 백업

lvm스냅샷

innodb의 경우 Xtrabackup