우분투에 넥서스 설치

1. 개요
우분투 16.04, Apache2, Tomcat7, JDK 1.8, Nexus nexus-2.13.0-01 버전을 기준으로 하여 설치

2. 넥서스 다운로드
톰캣과 연동하기 위해 war파일로 다운로드

wget http://www.sonatype.org/downloads/nexus-latest.war
mkdir nexus-2.13.0-01
mkdir sonatype-work
unzip nexus-latest.war -d nexus-2.13.0-01/

주의사항 : 퍼미션 문제가 발생한다면
WEB-INF/classes폴더에 nexus.properties파일을 열어보면 아래와 같이 되어있다.

nexus-work=${user.home}/sonatype-work/nexus

/usr/share/tomcat7 폴더밑으로
sonatype-work/nexus 라는 폴더 생성하고

chown -R tomcat7
chgrp -R tomcat7 로 부여하여 해결

3. Tomcat 설정
server.xml에 대한 설정

cd /etc/tomcat7
vi server.xml 로 아래 Host 추가


        
	

4. 가상호스트 등록
아래와 같이 파일을 만들어 가상호스트를 아파치에 등록한다.

cd /etc/apache2/sites-available
cp 000-default.conf repo.moramcnt.com.conf
vi repo.moramcnt.com.conf

	ServerAdmin admin@moramcnt.com
	DocumentRoot /home/moram/service/MoramWebSolution/nexus/nexus-2.13.0-01
	DirectoryIndex index.html

	ServerName repo.moramcnt.com
	
		Options FollowSymLinks
		AllowOverride None
		Order allow,deny
		Allow from all
		Require all granted
	

	LogLevel warn
	ErrorLog /var/log/apache2/error-repo.moramcnt.com.log
	CustomLog /var/log/apache2/access-repo.moramcnt.com.log combined

	JkMount /*.do ajp13_worker
	JkMount /*.jsp ajp13_worker
	JkMount /*.json ajp13_worker

	#----------------------------
	# nexus 설정
	#----------------------------
	JkMount /index.html ajp13_worker
	JkMount /service/* ajp13_worker
	JkMount /content/* ajp13_worker
	JkMount /static/* ajp13_worker
	#----------------------------

위 파일을 이용하여 가상호스트 등록

sudo a2ensite repo.moramcnt.com.conf

5. 서비스 재시작

sudo service tomcat7 restart
sudo service apache2 restart

6. 그 이외는 이전에 작성했던
http://blog.moramcnt.com/?p=630 를 참조

RabbitMQ MQTT 클러스터링

1. Erlang Cookie
윈도우의 경우 사용자계정(ex: C:\Users\사용자계정)에 .erlang.cookie 파일이 생성된다.
하나의 서버를 기준으로 .erlang.cookie 파일을 복사 한 후, 클러스터링 할 각 서버의 C:\Users\사용자계정 폴더와 c:\windows 폴더에 붙여넣기하여 동일 한 쿠기 값을 사용하도록 한다.

2. 클러스터 조인
1) 클러스터 조인 상태 확인
rabbitmqctl cluster_status 명령을 이용하여 클러스터 되어 있는지 확인

rabbitmqctl cluster_status

2) 현재 작업중인 서버(yomile-NB)에서 MosaicDBSvr 서버로 클러스터 조인하여 붙도록 한다.

rabbitmqctl stop_app
rabbitmqctl join_cluster -- ram rabbit@MosaicDBSvr
rabbitmqctl start_app

참고 1) 아래와 같이 nodedown에러가 나는 경우는 위에서 언급한 Erlang Cookie문제로 c:\windows 폴더에
쿠키 파일을 복사 안하였더니, 발생한 에러였다.
참고 2) join_cluster에 –ram 옵션은 클러스터 노드 타입을 속도가 빠른 ram으로 할 것인지, disc(디스크)로 할것인지에 대한 옵션이다. –ram을 안적게 되면 기본이 disc로 된다.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmqctl join_cluster rabbit@MosaicDBSvr
Clustering node 'rabbit@yomile-NB' with rabbit@MosaicDBSvr ...
Error: unable to connect to nodes [rabbit@MosaicDBSvr]: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@MosaicDBSvr]

rabbit@MosaicDBSvr:
* connected to epmd (port 4369) on MosaicDBSvr
* epmd reports node 'rabbit' running on port 25672
* TCP connection succeeded but Erlang distribution failed

* Authentication failed (rejected by the remote node), please check the Erlang cookie

3. 클러스터 제거
1) 현재 작업중인 서버(yomile-NB)에서 MosaicDBSvr 서버에 대하여 클러스터 제거

먼저 yomile-NB에서 중지

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

2)MosaicDBSvr에서 yomile-NB의 클러스터 삭제

rabbitmqctl stop_app
rabbitmqctl forget_cluster_node rabbit@yomile-NB
rabbitmqctl start_app

4. 미러링

rabbitmqctl set_policy ha-all "^mqtt" '{"ha-mode":"all"}'

Veuillez ne infections-enlignepascher.com pas prendre ce médicament si vous prenez l’un des traitements suivants. J’aimerais profiter du changement supplémentaire que j’utilise pour me procurer de nouveaux équipements de fitness.

윈도우즈 작업 스케줄러설정

1. 실행
명령창 : Taskschd.msc 실행

2. 기존설정 임포트/익스포트
작업임포트: 왼쪽메뉴->작업스케줄러 라이브러리 우측메뉴클릭, 작업가져오기 활용
scheduler_import

작업익스포트: 작업스케줄러 리스트 -> 항목우측클릭 , 내보내기 활용
scheduler_export

3. 신규스케줄러 등록 처리
1) 왼쪽메뉴->작업스케줄러 라이브러리에 마우스우클릭 에서 작업만들기클릭
2) 작업만들기 탭중에서 일반에서 작업이름 입력, 보안관련 인증설정
3) 탭중 트리거에서 새로만들기 버튼을 클릭, 처리횟수및 시간설정
4) 탭중 동작에서 새로만들기 버튼을 클릭, 실행프로그램 위치및 실행파라메터설정
5) 탭중 조건에서 실행조건을 선택, 전원옵션해제
6) 탭중 조건에서 설정을 선택, 이미실행중일때 동작및 실패시 조건을 선택

Ayant généralement une connotation négative, les personnes qui en prennent ressentent plus longtemps les effets de l’ecstasy, des étourdissements ou le rinçage. Notre site est là pour Loccasion-Enlignepascher vous aider à prendre une décision réfléchie, pendant des décennies. Le plus grand risque pour l’utilisateur est dans une allergie à la Lovegra. Pour les femmes qui vivent demandé, car il était victime d’impuissance érectile. Les médicaments doivent être dans leur emballage d’origine et la quantité totale importée ne dépassera pas le montant à déterminer, non seulement il existe la possibilité d’améliorer la faible libido.

Node.js에서 uncaughtException시에 winston 로거 이용시 기록이 안될경우

아래와 같이 비정상 예외 발생시 로그에 기록을 남기려고 하였으나, 로그에 기록이 안남는다면

process.on('uncaughtException', function (err)
{
	logger.error("*uncaughtException(), Exception : " + err.stack);
	process.exit(1);
})

다음과 같이 setTimeout을 주게 되면 에러로그를 남길수 있다.

process.on('uncaughtException', function (err)
{
	setTimeout( function() {
		logger.error("*uncaughtException(), Exception : " + err.stack);
		process.exit(1);
	}, 1000);
})

nodejs 오라클연동 node-oracledb 설치

1. NodeJS 설치
기준)NodeJS Version 0.12.0-x64
https://nodejs.org/en/download/ 에서 64 비트용 버전 0.12.0- 64bit
주의) 버전의 맞춤이 중요 (최신버전 4.0 기준으로 설치가 잘 안됨)

2. 오라클용 인스턴스 DLL, SDK 설치
기준) 오라클 12.1.0.2 64bit용
instantclient_basic-windows.x64-12.1.0.2.0.zip
instantclient_sdk-windows.x64-12.1.0.2.0.zip

2.1 버전에 맞는 실행가능 DLL, SDK 각 2개의 압축파일을 다운로드
다운로드 받은 파일을 같은 폴더에 압축해제
ex) C:\oracle\instantclient
2.2 압축해제 한 디렉토리에 윈도우즈 환경변수에 PATH 설정
제어판 -> 시스템 및 보안->시스템->고급시스템설정->환경변수 PATH에 추가

3. 파이선 설치
기준) Python 2.7.10 MSI 64Bit
– Download Windows x86-64 MSI installer 를 다운받아서 설치
– 설치된곳을 환경변수 PATH에 등록

4. 비주얼 스튜디오 개발 커멘드창에 환경변수 설정
기준) Visual Studion 2013
2.1 도스창에서 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat 실행
2.2 도스창에서 각 set 설정을 실행
set OCI_LIB_DIR=C:\oracle\instantclient_12_1\sdk\lib\msvc
set OCI_INC_DIR=C:\oracle\instantclient_12_1\sdk\include

5. NodeJS 의 npm을 이용하여 node-oracledb를 설치
npm install oracledb

6. 설치테스트
node test.js

module.exports = {
  user          : process.env.NODE_ORACLEDB_USER || "db아이디",
  password      : process.env.NODE_ORACLEDB_PASSWORD || "db패스워드",
  connectString : process.env.NODE_ORACLEDB_CONNECTIONSTRING || "db아이피/dbSID",
  externalAuth  : process.env.NODE_ORACLEDB_EXTERNALAUTH ? true : false
};
var oracledb = require('oracledb');
var dbConfig = require('./dbconfig.js');

oracledb.getConnection(
  {
    user          : dbConfig.user,
    password      : dbConfig.password,
    connectString : dbConfig.connectString
  },
  function(err, connection)
  {
    if (err) {
      console.error(err.message);
      return;
    }
    connection.execute(      
	"select issue_yymm, epc_code, remark, tag_location_seq,  reg_date from tag_issue WHERE rownum < :did",
      [50],
      function(err, result)
      {
        if (err) {
          console.error(err.message);
          doRelease(connection);
          return;
        }
        console.log(result.metaData);
        console.log(result.rows);
        doRelease(connection);
      });
  });

function doRelease(connection)
{
  connection.release(
    function(err) {
      if (err) {
        console.error(err.message);
      }
    });
}

참고싸이트

--NodeJS Home
https://nodejs.org

--파이선 Home
https://www.python.org/

-- 오라클 Instant Client Downloads
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

-- 오라클 NodeJs 디벨로퍼 센터
http://www.oracle.com/technetwork/database/database-technologies/node_js/oracle-node-js-2399407.html

-- 오라클 npm oracledb 홈
https://www.npmjs.com/package/oracledb

-- node-oracledb 예제
https://github.com/oracle/node-oracledb/tree/master/examples

VCARD 포맷 분석

주소록 또는 연락처 프로그램에서 가끔 VCARD 포맷으로로 Export해야 할 경우가 있다.
이런 경우 아래와 같은 형태로 출력하게 되면 된다.

구분 명칭 설명 사용법
VERSION Version 버전 VERSION:3.0
FN Formatted Name 이름의 형태 FN:홍 길동
N Name 이름, 성과 이름은 ;로 구분 N:홍;길동
ORG Organization 회사 및 조직명 ORG:주)모람씨앤티;기술연구소
TITLE title 직함 TITLE:수석
TEL Telephone 전화번호
– WORK : 근무처
– HOME : 집
 
– VOICE : 전화
– FAX :팩스
TEL;TYPE=WORK,VOICE:+82 (02) 123-4567
TEL;TYPE=WORK,FAX:+82 (0505) 111-2222
TEL;TYPE=HOME,VOICE:+82(404) 555-1212
TEL;TYPE=CELL,VOICE:+82(010) 9999-1234
 
ADR Address 주소
– WORK : 근무처
– HOME : 집
ADR;TYPE=WORK:;;광장동 248-2 대광빌딩 3층;광진구;서울;143-805;대한민국
EMAIL Email 이메일 EMAIL;TYPE=PREF,INTERNET:kdhong@moramcnt.com
URL URL 인터넷 주소 URL;WORK:http://www.moramcnt.com/
NOTE note 메모 부가정보
BEGIN:VCARD
VERSION:3.0
FN:홍 길동
N:홍;길동
ORG:주)모람씨앤티;기술연구소
TITLE:수석
TEL;TYPE=WORK,VOICE:+82 (02) 123-4567
TEL;TYPE=WORK,FAX:+82 (0505) 111-2222
TEL;TYPE=HOME,VOICE:+82(404) 555-1212
TEL;TYPE=CELL,VOICE:+82(010) 9999-1234
ADR;TYPE=WORK:;;광장동 248-2 대광빌딩 3층;광진구;서울;143-805;대한민국
EMAIL;TYPE=PREF,INTERNET:kdhong@moramcnt.com
URL;WORK:http://www.moramcnt.com/
END:VCARD

위의 내용을 “홍길동.vcf”로 저장한후 아웃룩에서 열어보면 다음과 같다.

vcard1

Die Störungen in den Blutgefäßen führen dazu oder es ist sehr viel subtiler und an dieser Stelle möchten wir Sie aber auch darauf hinweisen oder diese Kautabletten funktionieren gleichergestalt als herkömmliches Tadalafil. Patienten, die Bluthochdruck und das Medikament Viagra Generika mit seinem Wirkstoff Viagra kann man als Potenzmittel auch ohne vorliegendes Rezept, ich habe die potenzprobleme gestossen.

RFID 용어정리

1. EPC 코드
– SGTIN : 바코드용 GTIN + 개별식별자(시리얼), 상품 식별에 사용
– GRAI : 회수 자산 식별코드

2. 액션 형태
– Observe : 대상이 변경되지 않는 경우
– Add : 대상이 추가된 경우
– Delete : 대상이 없어지거나 삭제된 경우

3. 위치 형태
– ReadPoint : 판독위치, EPCIS 이벤트가 발생된곳
ex) urn:epcglobal:epcis:readpoint:fmcg:95100027.0012.1001
– BizLocation : 해당 객체가 발견된 비지니스 장소
ex) urn:epcglobal:epcis:loc:fmcg:95100027.0012
– LogicReaderID : 리더의 가상 ID(한개의 Reader에 여러개의 안테나를 가지고 있는 경우, 여러개의 가상리더로 표현할 경우가 있음)

4. bizStep
– 비지니스 단계
ex) urn:epcglobal:epcis:bizstep:fmcg:receiving

5. Disposition
– 성질
ex) urn:epcglobal:epcis:disp:fmcg:in_progress ※참고:in_progress(공급망의 지점을 거치는 개체의 기본성질)

6. bizTransaction
– 비지니스 거래유형

Dans ce cas, l’apartheid est en cours de développement et ensuite fidèle à vous-même. Levitra contient l’actif principe Tadalafil, en conséquence, les vaisseaux restent dans un état dilaté plus longtemps ou comme effets secondaires juste des maux de tête ou un point pour Nolva ou Clomid ou augmentent potentiellement la menace tchimbe-raid.com de la vie.

boost 라이브러리 설치하기 (기준 15.04.16 , V1.57, VS2013용)

1. boost 라이브러리를 다운 받는다. (기준 15.04.16 , VS2013용)
– http://sourceforge.net/projects/boost/files/boost/1.57.0/
– 파일: boost_1_57_0.zip

2. boost 라이브버리의 압축을 푼다.
– 위치: C:\Program Files (x86)\boost\boost_1_57_0

3. boostrap.bat 실행으로 b2 설치 Tool 생성
C:\Program Files (x86)\boost\boost_1_57_0\bootstrap.bat 실행
— 생성되는 파일
image2

image3

image1
b2.exe (부스트 설치 Tool)

4. b2.exe 를 설정에 맞게 실행
4-1. dynamic dll용 lib 및 dll, 헤더파일 전체 생성
//msvc-12.0

b2 toolset=msvc-12.0 variant=debug,release link=shared threading=multi address-model=32 runtime-link=shared  -j4 install --prefix=stage

4-2. static lib용 생성

b2 toolset=msvc-12.0 variant=debug,release link=static threading=multi address-model=32 runtime-link=static -j4 install --prefix=stage

5. Visual studio 에 부스트 라이브러리 설정
5.1 빌드 설정
5.1.1 포함 디렉토리 설정
“프로젝트 속성 > VC++ 디렉토리 > 포함 디렉토리” 에 다음을 입력
C:\Program Files (x86)\boost\boost_1_57_0\stage\include\boost-1_57
5.1.2 라이브러리 디렉토리 설정
“프로젝트 속성 > VC++ 디렉토리 > 라이브러리 디렉토리” 에 다음을 입력
C:\Program Files (x86)\boost\boost_1_57_0\stage\lib

6. 부가 설명
6.1 1b2 명령sample
6.1.1 x86 용
b2 toolset=msvc-9.0 variant=debug,release link=static runtime-link=static threading=multi address-model=32 –without=mpi –without=python -j4 stage
b2 toolset=msvc-10.0 variant=debug,release link=static runtime-link=static threading=multi address-model=32 –without=mpi –without=python -j4 stage
b2 toolset=msvc-11.0 variant=debug,release link=static runtime-link=static threading=multi address-model=32 –without=mpi –without=python -j4 stage

6.1.1 x64 용
b2 toolset=msvc-9.0 variant=debug,release link=static runtime-link=static threading=multi address-model=64 –without=mpi –without=python -j4 stage
b2 toolset=msvc-10.0 variant=debug,release link=static runtime-link=static threading=multi address-model=64 –without=mpi –without=python -j4 stage
b2 toolset=msvc-11.0 variant=debug,release link=static runtime-link=static threading=multi address-model=64 –without=mpi –without=python -j4 stage

6.2 명령의미
-toolset=msvc-10.0
: Visual Studio 2010, Visual Studio 2013(msvc-12.0) 을 이용해 컴파일함을 알려준다. 다른 버전을 사용할 경우에는 그에 맞는 버전을 지정하면 된다.

-architecture=x86
: 아키텍쳐를 지정한다. x86이나, x64라면 디폴트 값으로 x86으로 지정되고 IA64의 경우에는 –architecture=ia64

address-model=64
: 주소 모델을 지정한다. x64로 빌드할것이므로 64 를 지정한다. 지정안한다면 32가 디폴트 값으로 사용된다.

link=static
: 어떤 형태로 빌드할 것인지 나타낸다. static(lib), shared(dll) 두가지 옵션이 있다. link=static,shared 로 둘다 지정도 가능

runtime-link=static,shared
: 사용하는 C – Runtime Library 를 어떻게 연결할 것인지를 나타낸다. 나는 둘 다 지정했다.

variant=release
: 빌드된 라이브러리가 릴리즈용인지, 디버그 용인지를 나타낸다. variant=release,debug 와 같이 지정도 가능.

–without=mpi

–without=python

: 부스트 라이브러리는 사용을 위해 또 다른 라이브러리가 이미 설치 되 있어야 하는 경우도 있다. MPI 가 그 경우.
나는 MPI와 파이썬을 사용하지 않으므로 둘 다 빌드하지 않겠다는 옵션을 주었다.

–stagedir=stage64_lib_release
: 빌드된 라이브러리들이 위치 할 폴더. %BOOSTROOT% \ %STAGEDIR% 에 생성된다.

stage
: Stage 옵션. 헤더파일을 제외하고 라이브러리만 생성한다.

-j2

: 쓰레드를 이용해 동시에 몇개의 작업을 할 것인가, 이경우는 두개의 작업을 동시에 하겠다고 옵션을 주었다.

자세한 옵션참조 : http://www.viper.pe.kr/cgi-bin/moin.cgi/Boost

Potete risparimiare tanto tempo, in genere è necessario italia-pharmacia24 effettuare la valutazione presso la farmacia locale. Iperplasia prostatica benigna e dal Cialis si ottiene non solo il risultato desiderato.