Mac 에 Tomcat 설치 하기

Mac 2011. 4. 3. 02:11
반응형
1. /usr/local/apache-tomcat-7.0.11 에 설치

2. CATALINA_HOME 환경변수 세팅

3. conf/tomcat-users.xml 수정

    <role rolename="admin-gui"/>

    <role rolename="manager-gui"/>

    <user username="admin" password="password" roles="admin-gui,manager-gui"/> 

4. instance 폴더 생성
    mkdir $CATALINA_HOME/instances
    mkdir $CATALINA_HOME/instances/instance1
    mkdir $CATALINA_HOME/instances/instance1/conf
    mkdir $CATALINA_HOME/instances/instance1/logs
    mkdir $CATALINA_HOME/instances/instance1/temp
    mkdir $CATALINA_HOME/instances/instance1/webapps
    mkdir $CATALINA_HOME/instances/instance1/work

5. 파일 복사
    cp /usr/local/apache-tomcat-7.0.11/conf/server.xml $CATALINA_HOME/instances/instance1/conf
    cp /usr/local/apache-tomcat-7.0.11/conf/web.xml $CATALINA_HOME/instances/instance1/conf
    cp /usr/local/apache-tomcat-7.0.11/conf/context.xml $CATALINA_HOME/instances/instance1/conf
    cp /usr/local/apache-tomcat-7.0.11/conf/tomcat-users.xml $CATALINA_HOME/instances/instance1/conf
    cp -R /usr/local/apache-tomcat-7.0.11/webapps/* CATALINA_HOME/instances/instance1/webapps
 
6. server.xml 설정파일 수정
      <Server port="8006" shutdown="SHUTDOWN">

        
             <Connector port="8180" protocol="HTTP/1.1"   connectionTimeout="20000" 

                    redirectPort="8453" URIEncoding="UTF-8" />

 

           <!-- Define an AJP 1.3 Connector on port 8009 -->

           <Connector port="8109" protocol="AJP/1.3" redirectPort="8453" URIEncoding="UTF-8" />

7. webapps/ROOT 를 기본 디렉토리로 하고 싶지 않으면 <Context> 를 server.xml에 추가한다 
       <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"
   
             xmlValidation="false" xmlNamespaceAware="false">

             <Context docBase="" path=""/>

   이렇게 하지 않는 경우 CATALINA_HOME/webapps/와 소스를 공유함
 
8. classpath 를 추가하고 싶으면 instances/instance1/bin 밑에 setenv.sh 를 추가한다. 
반응형
Posted by seungkyua@gmail.com
,
반응형
.profile 에서 아래와 같이 설정

export JAVA_HOM=/System/Library/Frameworks/JavaVM.framework/Home

혹은 심볼릭 링크가 걸려있는 아래로 설정

export JAVA_HOM=/Library/Java/Home

두 디렉토리는 모두 같은 디렉토리임.. ^^

아.. 그리고 Maven 에서 컴파일 할 때 tools.jar 를 사용하는 경우가 있습니다.
예를 들어 native2ascii 같은 명령어를 쓸려면 필요하죠..

Mac 에서는 tools.jar 가 런타임에 포한되어 있습니다.
그러니 따로 패스로 잡을려고 하면 에러가 납니다.


JDK1.7 설치를 위해서는 다운받아 추가 설치한다.


cd /System/Library/Frameworks/JavaVM.framework/Versions/
sudo rm CurrentJDK
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents CurrentJDK





반응형
Posted by seungkyua@gmail.com
,
반응형
1. mysql-5.5.10-osx10.6-x86_64.dmg 를 다운받는다. (OS 버전에 맞춰)
2. 마운트하여  mysql-5.5.10-osx10.6-x86_64.pkg 를 설치한다.
3. mysql 설치 디렉토리는 /usr/local/mysql 이다.
4. 부팅시 자동으로 시작되게 하려면 MySQLStartupItem.pkg를 추가로 설치한다.
     /Library/StartupItems/MySQLCOM 디렉토리에 설치됨 
     
/etc/hostconfig 에 MYSQLCOM=-YES- 로 되어 있으며 자동으로 시작
  MYSQLCOM=-NO- 로 되어 있으면 자동으로 시작되지 않음

5.  MySQLStartupItem 이 설치되어 잇을 때 서버 start 및 stop
    shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM start 
    shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop 

6.  MySQL.prefPane 을 더블클릭하면 시스템환경설정에 추가할 수 있음
     Pane 에서도 자동 시작을 설정할 수 있음 

[encoding, characterset 적용]

1. mysql 서버설정을 위한 configuration file 생성
    shell> cd /usr/local/mysql/support-files/ 
    shell> sudo cp my-small.cnf /etc/my.cnf

2. innodb 로 설정

    [mysqld]
     default-storage-engine = INNODB
     # Uncomment the following if you are using InnoDB tables
     innodb_data_home_dir = /usr/local/mysql/data
     innodb_data_file_path = ibdata1:10M:autoextend
     innodb_log_group_home_dir = /usr/local/mysql/data
     # You can set .._buffer_pool_size up to 50 - 80 %
     # of RAM but beware of setting memory usage too high
     innodb_buffer_pool_size = 16M
     innodb_additional_mem_pool_size = 2M
     # Set .._log_file_size to 25 % of buffer pool size
     innodb_log_file_size = 5M
     innodb_log_buffer_size = 8M
     innodb_flush_log_at_trx_commit = 1
     innodb_lock_wait_timeout = 50

3. encoding, characterset 서버 환경 설정에 적용 
    
  [mysqld]
character-set-server=utf8 collation-server=utf8_general_ci

4. 트랜잭션 레벨 변경
    오라클의 기본 설정과 같이 READ-COMMITTED 로 적용한다.

[mysqld]
transaction_isolation = READ-COMMITTED

5. 테이블 대소문자 구분 없이 세팅
    
[mysqld]
lower_case_table_names=1

6. Auto Commit 설정
    클라이언트 접속시 디폴트는 autocommit=1 이다. 이것을 바꾸기 위해서는 설정파일에 다음과 같이 쓴다.
    0 은 autocommit 을 false 로 세팅한다.

[mysqld]
autocommit=0

7. client connection characterset 설정
    클라이언트 컨넥션의 디폴트 characterset을 설정한다.

[client]
default-character-set=utf8


[encoding 에 character set 적용]
- 데이터 베이스 생성시에 적용 - 해당 데이터베이스에 테이블을 생성할 때 모두 적용됨

     CREATE DATABASE mydb
  DEFAULT CHARACTER SET utf8 
DEFAULT COLLATE utf8_general_ci; 

[encoding characterset 확인]
mysql> use information_schema;
mysql> select * from GLOBAL_VARIABLES where VARIABLE_NAME like '%CHARACTER%';
mysql> select * from GLOBAL_VARIABLES where VARIABLE_NAME like '%COLLATION%';
mysql> select * from GLOBAL_VARIABLES where VARIABLE_NAME like '%AUTOCOMMIT%';

※ "Can't get hostname for your address" 에러가 나오면 서버 설정을 해주던지 hosts 파일에 등록한다.
1. [mysqld]
    skip-name-resolve

2. mysql 서버 hosts 파일에 mysql 을 호출하는 클라이언트 ip 를 등록

서버옵션확인
shell>mysqladmin -uroot -ppassword variables
반응형
Posted by seungkyua@gmail.com
,

macports 업데이트

Mac 2011. 4. 2. 21:05
반응형
[port tree 업데이트]
sudo port -d selfupdate

[port 명령어]
udo port activate 'package'     버전이 겹칠경우 deactive 해줌 
sudo port deactivate 'package'
sudo port clean 'package'         패키지 설치 도중 에러발생시 config 삭제
sudo port clean all                   모든 패키지 초기화
port deps 'package'                  패키지 의존성 검사 
sudo port fetch 'package'
port info 'package'                    패키지 정보 검색  
sudo port install 'package'
port list installed|grep 'arg'        설치된 패키지에서 검색 
port variants 'package'               패키지 variants 보기

[POSIX 계열의 OS에서 프로그램을 소스]
1. configure        make전에 컴파일 옵션과 다른 설정을 한다.
2. make              링크,컴파일
3. make install   바이너리,설정파일 정해진 경로에 설치
 
반응형
Posted by seungkyua@gmail.com
,
반응형
create database emprelation default character set utf8 collate utf8_general_ci;

//  사용자 접속가능 현황 보기
select user, host from user where user not like '';

// 모든 권한으로 생성
grant all privileges on *.* to 'emprelation'@'localhost' identified by 'password';

// 원격접속 가능
grant SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER on emprelation.* to emprelation@'%' identified by 'password';

// 로컬에서 접속 가능 
grant SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER on emprelation.* to emprelation@'localhost' identified by 'password';

// grant 작업 후 바로 적용
flush privileges;

create table EM_TRELATION (
  sourceEpId       varchar(100) NOT NULL,
  targetEpId       varchar(100) NOT NULL,
  point            BIGINT UNSIGNED default 0,
  CONSTRAINT EM_TRELATION_PK PRIMARY KEY (targetEpId, sourceEpId)
);

create table EM_TRELATION_DATA {
  sourceEpId       varchar(100) NOT NULL,
  targetEpId       varchar(100) NOT NULL,
  type             char(2) NOT NULL DEFAULT '00',
  count            BIGINT UNSIGNED default 0,
  latestDate       varchar(14),
  CONSTRAINT EM_TRELATION_DATA_PK PRIMARY KEY (sourceEpId, targetEpId, type)
);
CREATE INDEX EM_TRELATION_DATA_IDX01 ON EM_TRELATION_DATA(targetEpId, sourceEpId, type);
CREATE INDEX EM_TRELATION_DATA_IDX02 ON EM_TRELATION_DATA(latestDate);

create table EM_TEMPLOYEE_DATA {
  epId             varchar(100) NOT NULL,
  name             varchar(100),
  orgCode          varchar(100),
  orgName          varchar(100),
  subOrgCode       varchar(100),
  subOrgName       varchar(100),
  deptCode         varchar(100),
  deptName         varchar(100),
  titleCode        varchar(100),
  titleName        varchar(100),
  mail             varchar(100),
  nickName         varchar(100),
  mobile           varchar(100),
  picture          varchar(500),
  CONSTRAINT EM_TEMPLOYEE_DATA_PK PRIMARY KEY (epId)
);

// 데이터 베이스 및 사용자 삭제하기
1. 데이터 베이스 삭제
mysql>drop database emprelation;

2. 사용자 권한 삭제
mysql>revoke all privileges, grant option from emprelation;

3. 사용자 삭제
mysql>drop user 'emprelation'@'localhost';
mysql>drop user 'emprelation'@'%';


// maven 로컬 리파지토리에 저장하기
 mvn install:install-file -DgroupId=mysql \
                         -DartifactId=mysql-connector-java \
                         -Dversion=5.1.15 \
                         -Dpackaging=jar \
                         -Dfile=mysql-connector-java-5.1.15-bin.jar

반응형
Posted by seungkyua@gmail.com
,
반응형
1. NSUserDefault : 싱글톤으로 전역 접근이 가능 : NSMutableDictionary를 이용하여 주로 환경세팅에 사용
2. NSString, NSArray, NSDictionary, NSData 객체의 메소드를 이용 : writeToFile <-> initWithContectOfFile 
3. NSKeyedArchiver <-> NSKeyedUnarchiver
4. CoreData

객체를 저장할려면 NSCoding 프로토콜을 구현해야 함 

- (id)initWithCoder:(NSCoder *)aDecoder;
- (void)encodeWithCoder:(NSCoder *)aCoder; 

도큐먼트 디렉토리 찾기

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory NSUserDirectory, YES);

NSString *dir = [paths lastObject];

도큐먼트에 저장된 파일경로
NSString *file = [dir stringByAppendingPathComponent:@"Personnel.archive"]; 

 
반응형
Posted by seungkyua@gmail.com
,
반응형
[아이폰 애니메이션 방법 3가지]
1. UIView 의 property 를 이용한 애니메이션
2. UIImageView 의 property를 이용한 애니메이션
3. Core Animation 을 이용한 애니메이션


[코어 애니메이션을 적용하기 위한 기본 개념]
1. CALayer 는 UIView 와 같은 기본 판
2. CAAnimation 은 설계를 하고  CALayer 에 적용 

 [CALayer]




반응형
Posted by seungkyua@gmail.com
,
반응형
iTunes U : Standford CS 193    -> 아이폰 유용한 강좌

iPhone 3 : icon.png
iPhone 4 : icon@2x.png    -> 파일명에 @2x 를 붙히면 자동으로 인식

MFi : Made For iPhone -> 애플의 아이폰 액서서리 커넥트 핀 보장
FSK library :  아이폰 오디오 잭으로 연결한 라이브러리

[iPhoneSDK 3.0]
APNS : Apple Push Notification Service
StoreKit : 앱 내에서의 구매 기능
GameKit
AVFoundation
MapKit : 지도 표시
Core Data : 로컬 데이터 베이스

[iPhoneSDK 4.0]
Multitasking
iAd
GameCenter
Calendar

GCC 4.2 :  컴파일
GDC 4.2 :  디버깅

[메모리 관리]
alloc   : 리테인 카운트 1
retain :  리테인 카운트 +1
release : 리테인 카운트 -1
* 클래스 메소드 (+)를 호출하여 생성한 객체는 autorelease 가 자동으로 호출됨
* 콜렉션에 add 된 객체는 +1, remove 된 객체는 -1, 콜렉션 객체가 소멸되면 포함된 객체도 자동 release 됨. 


[Prefix 의 의미]
UI  : UIKit -> 화면
NS : Foundation (Core Service)
CA : Core Animation
CG : Core Graphics
CV : 
MP : 

1. ADC 가입
     - Agent  : 최초 애플과 계약 모든 릴리즈에 책임 (멤버와 어드민 초청)
     - Admin : 개발자 포털 관리, 프로파일 정보 수정가능 (멤버와 어드민 초청)
     - Member : 장치에 사이드로딩 방식으로 설치 가능
2. 인증서 발급 :  맥의 키체인 접근 프로그램을 통해서 인증서 발급 요청서를 받아 ADC 포털에서 요청
3. 인증서 다운로드
4. Xcode Organizer 에 디바이스 등록
5. App ID 만들기
    - URL의 역순으로 만듦
         ex) com.ahnseungkyu.livecoder
    - *문자를 사용하면 다수의 앱을 지칭할 수 있음
        ex) com.ahnseungkyu.*
    - APN, InAppPurchase, Keychain 공유등을 사용하려면 * 없이
    - 삭제불가
6. 프로비저닝 프로파일 만들기
7. 프로비저닝 등록 및 다운로드


 
반응형
Posted by seungkyua@gmail.com
,
반응형
1. 아이폰 디버깅 방법
2. Instruments 도구에서 메모리 누수 찾는 법 
반응형
Posted by seungkyua@gmail.com
,
반응형
테이블명 : tb_emprelation, 컬럼패밀리 source, target, read

hbase(main):001:0>create 'tb_emprelation', {NAME=>'source'}, {NAME=>'target'}, {NAME=>'read'}

source 컬럼패밀리에 mail 컬럼에 값을 넣을 경우
hbase(main):002:0>put 'tb_emprelation', 'source:email', 'skanddh@gmail.com'
반응형
Posted by seungkyua@gmail.com
,