Monthly Archives: August 2012

Windows Server 2008 Oracle 설치

설치전에 윈도우 버전에 따라 설정해줘야 하는 부분
databasestageprereqdbrefhost.xml…..비슷한파일

Scott계정 활성화
alter user scott identified by tiger account unlock;

Grant connect, resource, unlimited tablespace to scott identified by tiger;
alter user scott default tablespace users;
alter user scott temporary tablespace temp;

윈도우즈 서버에는 기본적으로 설치가 다 된다.

방화벽 열어주고.

mac osx에서의 라이브러리 관리 port, curl, rvm

기본적으로 설치해야 할 것은 macport 우분투의 apt-get과 비슷한 역할을 하는 녀석..

http://www.macports.org/

 

그리고 추가적으로 루비버전관리 rvm.

curl을 이용해서 ruby, rvm을 설치해주고 rvm을 이용해 루비 버전관리를 해준다.

 

* 패키지 검색
port search [패키지면]

* 패키지 정보 확인
port info [패키지명]

* 설치시 선택가능한 옵션 보기
port variants [패키지명]

* 이 패키지에 의존하는 패키지
port deps [패키지명]

* 이 패키지가 의존하는 패키지
port dependents [패키지명]

 

* 설치하기
sudo port install [패키지명]

*설치가능한 패키지 목록 업데이트
sudo port selfupdate

* 업데이트 가능한 패키지의 목록
port outdated

* 설치된 패키지 업그레이드
sudo port -u upgrade outdated

* 설치된 패키지 의존성 업그레이드
sudo port upgrade makedepend

* 설치된 패키지 목록 보기
port installed

* 버전 확인하기
port -v

* 패키지 삭제
sudo port uninstall [패키지명]
sudo port -f uninstall -f [패키지명] –강제삭제

* 의존성 패키지 삭제
sudo port uninstall makedepend [패키지명]

 

https://rvm.io//rvm/install/

Install RVM with ruby:

Additionally with rails:

Or with rubinius, rails and puma:

Finally, to install without the “rubygems-bundler” or “rvm” gems:

설치 완료 후 루비 버전 선택
$ rvm –default ruby-1.9.2

Ubuntu12.04에 Apache Thrift 0.8.0 설치하기

먼저 의존성 패키지들을 설치해준다.
http://thrift.apache.org/docs/install/ubuntu/

나머지는 다 그대로 설치되고 12.04에서 패키지명이 바뀐게 하나있다.
libmono-dev -> libmono-2.0-dev

나머지는 그대로 다 잘 설치된다.
옵션이니까 설치하지 않아도 되지만… C#을 쓸거라면 설치해야한다.

루비도 꼭 쓰고싶은데… 루비는 잘 호환이 안되는 것 같다.
버전별로도 호환이 안되는놈이니까…
기본적으로 깔려있는 버전과 뛰리프트에서 지원하는 버전이 다른 것 같다.
./configure –without-ruby
과감하게 포기하고 진행
포기를 안하면 시간이 너무 많이 갑니다.

비슷한? 뭐 그렇게 사용할 수 있을듯한 프로젝트..
http://msgpack.org/

쓰리프트는 생각했던것과 많이 구조가 달랐다.
자바의 인터페이스 기반 설계처럼 인터페이스를 설계하는 정도의 기능만 제공하는 것을 기대했었다. 같은 구조의 프로그램을 호출할 수 있도록… 그리고 그 인터페이스 안에 코드를 삽입하는 간단한 구조의 기능일 줄 알았는데… 생각보다 복잡한 기능을 지원하고 있는 것 같다.

SSH, SFTP, FTP … Client 비교 및 추천

Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/

가장 유명한 녀석으로 많이 사용된다.

드래그 복사에 익숙해지기 전의 불편함
전체화면 설정도 불편함
한글을 보기 위해 매번 UTF-8로 변경해줘야하는 귀찮음

이런 불편함이 있긴하지만 많이 사용된다.

 

xshell http://www.netsarang.co.kr/

netsarang.co.kr에서 개인사용자용으로 무료로 배포하고 있다.
탭으로 분류되며 화면 드래그 복사 등이 자유롭다는 장점이 있다.
제대로 써보지는 않았는데 한번 써 보려고 생각중이다.

 

WinScp http://winscp.net

아직 제대로 써 보지는 않았지만 복사는 편리해보인다.
terminal 기능은 없지만 putty를 연결해서 사용할 수 있다.

 

FileZilla http://filezilla-project.org/

유명한 오픈소스 ftp클라이언트, 자잘한 gui버그가 많지만 그럭저럭 괜찮다.

 

Terminal

맥이나 리눅스에서는 그냥 터미널 ssh client를 사용하는게 편하다.
ssh 192.168.0.100
이렇게 하면 접속이 가능하다.

[펌]학생 프로젝트 진행시 팀장(PM)의 역할

학교의 조별 프로젝트는 개발 능력보다는 관리 능력이 더 중요함.

아래는 참고할 사례

[인원 편성]
조장(혼자서도 프로젝트 다 할 수 있는데, 교수가 조를 짜라고 해서 조장 하는 사람)
조원(인성 및 실력 다 쩌리라고 가정)

[프로젝트 진행 절차]
1. 조장은 프로젝트의 단위를 나눈다.
2. 나누어진 단위에 대해 조원에게 분배한다.
2.1. 이 때, 조장은 실무(프로그래밍)를 맡지 않는다.
3. 분배된 업무에 대해 마감을 설정한다.
3.1. 이 때, 1차 마감과 2차 마감을 설정한다.
4. 분배된 업무에 대해 1차 마감 전까지 조원이 일을 마친다.
4.1. 1차 마감 전까지 조원이 일을 마치지 못 했을 경우
조장은 이를 기록한다.
4.2. “4.1.”에 대해 2차 마감 전까지 조장이 대신 일을 마친다.
5. 분배된 업무를 모두 마치면 조장이 이를 합쳐서 프로젝트 결과물을 제출한다.
5.1. 이 때, “4.1.”의 기록 결과를 첨부하여 제출한다.

6. 조장은 “4.” 중인 조원이 잘 모르겠다고 하며 조장에게 도움을 요청할 경우
아래와 같이 판단하여 도와줄지 여부를 결정한다.
6.1. 도와줄 경우 1차 마감 전까지 마감을 끝낼 것이라고 판단되면 도와준다
6.2. 도와줘도 1차 마감 전까지 마감을 끝내지 못 할 것이라고 판단되면 도와주지 않는다.
6.2.1. 단, 조장에게 다른 업무가 하나도 없고 너무나 한가하면 도와줘도 무방하다.
6.2.2. 그러나 남을 가르쳐주면서 하는 것은 자기 혼자서 하는 것에 비해 몇 배는 더 힘들기에
차라리 나중에 자기 혼자서 하는 것이 나을 것이다.
6.2.2.1. 만약 다른 모든 조원들에 대해서도 이와 같은 현상이 나타나면
모두에 대해서 “1차 마감 못 지킴”으로 기록한 후, 조장 혼자서 개발한다.
6.2.2.2. 일부 조원만 이와 같은 현상이 나타나면, 1차 마감을 지킨 결과물을 사용하면서
1차 마감을 못 지킨 결과물만 자신이 개발한다.

7. 인성이 걸레 같은 조원들이 덤비면 조장은 아래와 같이 말하며 자신을 방어한다.
– 실제 회사에서는 위와 같이 프로젝트를 진행하고 있다.

8. 조장의 인성이 유약하여 위와 같이 할 수 없는 경우, 프로그래머를 할 수 있는 인성이 아닌 것이므로
때려치고 다른 학과를 알아본다.
8.1. 단, 회사에서 파트장이나 팀장(관리직)을 넘보지 않고 시키는 대로만 하면서 34살까지만 프로그래머를 할 것이라면
프로그래머를 해도 무방하다.
8.1.1. 34살은 관리직으로 올라가지 못 한 프로그래머의 마지노선으로 현재 업계에서 추정되는 나이이다.
8.1.2. 이 나이는 회사 및 프로젝트마다 다를 수 있다.

=======================

조장이 혼자서 프로젝트 다 할 수 있는 수준인데도 망하는 경우는 거의 없더라. (개발 + 관리)
단, 조장이 아니고 조원만 혼자서 프로젝트 다 할 수 있는 수준일 때는 망하는 경우 있음   (개발 only)
물론 조원이 입김이 좀 세서 프로젝트 매니징에 대해 관여할 수 있으면 이야기는 또 다름

 

===========================

몇 가지 극단적인 가정이 있지만 처음 프로젝트를 진행하는 사람에게 유용한 내용이 될듯하다.

Ubuntu 12.04, redmine 2.x 최신버전 수동 설치하기

루비 라이브러리 여기서 따라서 설치 : http://memo.polypia.net/?p=573

http://www.redmine.org/projects/redmine/wiki/Download

# cd /opt
# wget http://rubyforge.org/frs/download.php/76259/redmine-2.0.3.tar.gz
# tar xvfz redmine-2.0.3.tar.gz
# cd redmine-2.0.3

# mysql -uroot -p
mysql> create database redmine character set utf8;
mysql> create user ‘redmine’@’localhost’ identified by ‘my_password’;
mysql> grant all privileges on redmine.* to ‘redmine’@’localhost’;
Redmine config/database.yml 생성

# cp config/database.yml.example config/database.yml
# vim config/database.yml


production:
## adapter를 mysql2로 변경합니다.
adapter: mysql2
database: redmine
host: localhost
## 만약 포트가 다른 경우 port 항목 삽입
port: 3306
username: redmine
password: my_password
encoding: utf8

Gemfile 수정레드마인 디렉터리에 보면, Gemfile이 있는데, postgresql, sqllite까지 설정되어있는 상태라, install 시 에러가 발생할 수 있습니다.Gemfile을 수정하여, MySQL만 이용하도록 수정합니다.
(만약 sqllite나 postgresql을 사용하신다면 각각 상황에 맞게 수정합니다.)

# nano Gemfile

# Database gems
## postgresql, sqllite가 들어간 부분을 모두 제거 혹은 주석처리 합니다.

설정이 완료되었으니까 설치 시작
# bundle install

!!! mysql 에러가 발생하는 경우
# sudo apt-get install libmysqlclient-dev

!!! pg 에러가 발생하는 경우
# sudo apt-get install libpq-dev

패키지 설치후 다시 bundle install 시도
# bundle install

libmagickwand-dev 패키지를 설치후, bundle install
# sudo apt-get install libmagickwand-dev libmagick9-dev
# bundle install

Session Store 생성

deprecated
# rake generate_session_store
# rake generate_secret_token
신규 설치의 경우 DB생성과정, 업그레이드의 경우는 레드마인 홈페이지 참조
# RAILS_ENV=production rake db:migrate

!!! openssl이 없다고 에러가 발생한 경우
# rvm pkg install openssl
# rvm reinstall 1.9.3

DB생성 재시도
# RAILS_ENV=production rake db:migrate

성공했다면 기본 데이터 생성e
# RAILS_ENV=production rake redmine:load_default_data

## 이미 해당 디렉터리가 있다면 mkdir 과정 pass
# mkdir tmp public/plugin_assets
# chmod -R 755 files log tmp public/plugin_assets

webrick으로 레드마인을 구동하여, 제대로 설치되었는지 확인합니다.
# ruby script/server webrick -e production
3000번 포트로 접속 확인
확인후 ctrl+c로 종료

Passenger 설치
# sudo apt-get install libapache2-mod-passenger
이렇게 자동설치가 안되면… 할 수 없이 밑의 수동설치 시도

Apache와 Redmine 연동(Passenger 설치)
# gem install passenger
# passenger-install-apache2-module
발생하는 에러메세지 확인 후 해결
# sudo apt-get install libcurl4-openssl-dev
발생하는 에러메세지 확인 후 해결
# sudo apt-get install apache2-prefork-dev
이제 다시 passenger 설치를 시도합니다.
# passenger-install-apache2-module
# sudo vim /etc/apache2/mods-available/passenger.load

## 파일내용에 아까 위에서 나온 내용을 붙여넣어줍니다.
LoadModule passenger_module /home/사용자명/.rvm/gems/ruby-1.9.2-p320/gems/passenger-3.0.12/ext/apache2/mod_passenger.so
PassengerRoot /home/사용자명/.rvm/gems/ruby-1.9.2-p320/gems/passenger-3.0.12
PassengerRuby /home/사용자명/.rvm/wrappers/ruby-1.9.2-p320/ruby
PassengerDefaultUser www-data

파일 저장 후, /etc/apache2/mods-enabled 디렉터리에 위 파일을 링크를 걸어줍니다.
# cd /etc/apache2/mods-enabled
# sudo ln -s /etc/apache2/mods-available/passenger.load passenger.load

 

virtualhost 설정

ServerAdmin webmaster@localhost

RailsEnv production
RailsBaseURI /redmine

DocumentRoot /var/www

Options FollowSymLinks
AllowOverride None

Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
Options FollowSymLinks -MultiViews
AllowOverride All
Allow from all


ServerName www.yourhost.com
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /somewhere/public

# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews

링크 설정
# cd /var/www
# sudo ln -s /경로/redmine-2.0.3/public/ redmine

이제 마지막으로 passenger 를 load 및 apache를 재기동 합니다.
# sudo a2enmod passenger
# sudo /etc/init.d/apache2 restart

최종 apache2 + passenger + redmine 2.0.3 설치 확인

초기 계정 admin/admin

Ubuntu 12.04, Curl 이용해서 rvm, ruby, rails 설치

# sudo apt-get install curl

rvm을 실행시키려면 source를 해주라고 설명이 나온다.
둘중하나 하라고 한다.

# source ~/.rvm/scripts/rvm
# source /etc/profile
# rvm version
# rvm install 1.9.3
# rvm use 1.9.3 –default

# gem install rails

# gem install bundler

참조사이트 : https://rvm.io/rvm/install/

쭈루룩 따라하면 하고나면 알 수 있는것…

큐브리드 launchpad로 설치하기

비추천이다.

launchpad로 설치된다고 좋다고 설치했는데

오늘 업그레이드 하다가 뻑나서 디비 날라갔다.

테스트용으로만 쓰던거라서 다행이지 뭐라도 돌리고 있었으면 미쳐버렸을 거다.

그냥 평소처럼 아무렇지도 않고 sudo apt-get update, sudo apt-get upgrade 2콤보를 넣었을 뿐인데….

보안패치도 아니고 무슨 릴리즈 업그레이드를 시켜버린 것 같다.

디렉토리도 변경되어 있고 뭐 뿩이 나버렸다.

다음부터 DB는 꼭 수동설치하자… OS그룹에서 제공되는건 괜찮지만 launchpad같은 사후보장이 철저하지 못한 곳에서는 주의를 해야겠다.

 

테스트용으로 쓰고 말거라면 편리한 설치방법이기는하다. 운영용으로는 절대로 쓰지 말아야 할 방법.

http://www.cubrid.org/launchpad

 

설치 과정

리포지터리 추가하기
$ sudo add-apt-repository ppa:cubrid/cubrid
$ sudo apt-get update

add-apt-repository가 추가가 안되는 경우 이 방법 사용
$ sudo apt-get install python-software-properties

큐브리드 최신 등록버전 설치하기
$ sudo apt-get install cubrid
데모DB설치 쿼리문 연습할 때 사용하는거?
$ sudo apt-get install cubrid-demodb
cubrid를 php와 연결해서 사용할 때
$ sudo apt-get install php5-cubrid

cubrid 설치경로 설명
/opt/cubrid – all the files related to the cubrid execution that cannot be modified;
/etc/opt/cubrid – all the configuration files;
/var/opt/cubrid – the databases, log files and temporary files;
/etc/profile.d/cubrid.sh – script that sets the PATH variables;
/etc/init.d/cubrid – service used to start CUBRID on runtime;

설치 완료후 재부팅을 해 줘야 classpath가 설정된다.