Search Results for 'Interesting'

46 POSTS

  1. 2014.11.07 [펌]개발팀장 vs 프로젝트매니저(PM)
  2. 2013.12.19 원격지 컴퓨터 재부팅방법
  3. 2013.04.05 WordPress를 이용하여 Multisite 만들기 2
경력이 어느정도 되는 개발자들이 한번쯤 고민할 내용.

http://allofsoftware.net/m/post/196

========================================
오랫만에 찾아뵙니다.
요즘 워낙 바쁜 날을 보내고 있다는 핑계로 블로그 포스트를 자주 못하고 있습니다. 다시 힘을 내서 시작하려고 합니다.

최근에 컨설팅에 많은 시간을 보내고 있는데, 컨설팅을 하면서 주로 겪게 되는 현실적인 얘기 위주로 적어볼까 합니다. 그 중에서 가장 흔히 보게 되는 것이 개발팀장의 애매한 포지션입니다.

당신이 개발자라면 또는 개발팀장이라면 어떠한 일을 하고 있는지 잘 살펴 보시기 바랍니다. 제가 여러 회사를 컨설팅하면서 만나본 개발팀장의 역할은 천차만별이었습니다. 

공통점은 있습니다. 개발자로서 오랫동안 일을 하다가 개발팀장이 되었다는 것입니다. 
하지만 현재 하고 있는 일들은 천차 만별입니다.

어떤 개발팀장은 여전히 코딩에 90% 매진하고 있고, 어떤 사람은 프로젝트 관리만 하고, 어떤 사람은 회사 경영회의 쫒아다니면서 바쁜 나날을 보내고 있고, 어떤 사람은 코딩도 하고 관리도 하고 정신 없이 시간을 보내는 사람도 보았습니다.

개발팀장은 "개발팀"의 "장"이란 의미를 가지고 있어서 관리자로서의 역할을 요구하고 있는 듯하지만 대부분의 소프트웨어 회사에서는 가장 경험이 많고 뛰어난 개발자들이 맡고 있습니다.  

하지만 회사에서는 "장"이라는 의미에 따라서 개발자로서의 뛰어난 역할도 계속 해주기를 원하면서 관리도 하기를 원하는 경우가 많습니다. 개발팀에서 필요한 관리란 일반관리와 프로젝트관리인데, 보통 개발팀에서 일반관리는 할일이 별로 많지 않습니다. 일반관리 이슈가 매우 크다면 프로세스나 시스템을 개선해야 할 것입니다. 

따라서 이슈가 되는 것은 프로젝트 관리인데, 이것이 그렇게 만만한 일이 아닙니다. 즉, 개발팀장이 최고의 개발자로서 스펙도 잡고, 설계, 코딩도 하면서 할 수 있을 만큼 프로젝트관리가 간단하지 않습니다. 보통 어디하나 펑크가 나게 되어 있습니다. 

제 경험상 보통 프로젝트 관리에서 문제가 생기는 경우가 많습니다. 개발팀장은 개발자체는 원래 하던일이고 익숙하지만 프로젝트 관리는 경험도 적고 대부분 방법도 모르기 때문에 상식선에서 개발하느라고 바쁜 시간에 짬을 내서 하기 때문에 문제가 생기기 십상입니다.

그래서 필자는 개발팀장은 계속 최고의 개발자로서 개발 조직을 기술적으로 이끌고, 프로젝트 관리는 전문 PM(Project Manager)에게 맡기는 것을 권장합니다. 물론 개발자 출신으로 꼼꼼하고 관리를 좋아하는 사람이 PM으로 성장하는 것도 좋습니다.

개발조직이 10명 미만이고 대부분 소규모 프로젝트만을 진행한다고 하면 PM을 따로 두지 않아도 어떻게든 프로젝트가 진행이 될 수 있을 겁니다. 하지만 조직이 커지고 프로젝트가 복잡해지고 많은 프로젝트를 수행한다면 프로젝트의 성패는 요소기술에 달려 있지 않다는 것을 알게 될 것입니다. 이쯤되면 전문 PM이 없다면 가장 뛰어난 개발팀장들은 기술에 매진하지 못하고 잘하지도 못하는 프로젝트 관리에 허덕일 것입니다.

개발팀장은 쉽게 대체가 되지 않지만 PM은 외부에서 영입을 하는 것도 가능합니다. 즉 외부에서 영입한 사람이 할 수 있는 일을 회사에서 가장 바쁘고 가치 있는 일을 하는 개발팀장에게 맡기는 것은 비효율적입니다.

그렇다고 PM이 아무나 할 수 있다는 뜻은 아닙니다. 이또한 전문적인 일로서 전문가가 해야 하는 일입니다.

지금 일반관리자, 개발팀장, PM 등이 마구 섞여서 일을 하고 있다면 일단 임무를 나누어서 생각하는 습관을 들여야 할 것입니다. 그리고 현재 어느부분에서 문제가 생기고 있고 어느 역할을 보충해야 할지 계획을 세워서 조직을 튼튼하게 해야 합니다. 그렇지 않고 개발자 인원수만 늘여서는 현재의 많은 문제들이 해결되지 않습니다.


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




원격지 컴퓨터 재부팅방법

Posted 2013. 12. 19. 10:24

shutdown [-i | -s | -r | -a] [-m \\컴퓨터이름] [-t xx] [-c "메세지"] [-d (u)(p) xx:yy]

옵션을 설명하자면 아래와 같지요

  • -i : GUI를 표시합니다.
  • -s : 시스템을 종료합니다
  • -r : 시스템을 다시 시작합니다
  • -a : 현재 사용자에서 로그오프합니다.
  • -m : 원격 컴퓨터의 이름을 명시합니다. 지정하지 않으면 로컬 시스템이 대상이됩니다
  • -t : xx 초 만큼 대기합니다. 지정하지 않으면 30초가 지정됩니다
  • -d : 로그 코드를 지정합니다. 거의 쓸일이 없을 듯 합니다.

다음 예제를 보면 보다 쉽게 이해가 갈 듯 합니다

shutdown -r -m \\220.xxx.xxx.xxx -t 10 -c “바바이”

위의 명령은 원격 컴퓨터 220.xxx.xxx.xxx를 10초후에 강제 재부팅하도록 합니다.



wordpress를 이용해서 사이트를 제작할때 멀티사이트를 생성하는 과정입니다. 해당 워드프레스사이트 문서를 참고하면 어렵지 않게 작업이 가능합니다.

워드프레스는 국내 비슷한 제로보드, 그누보드와 비슷하지만 조금은 다른 설치형 블로그라고 볼수 있습니다. 제로보드, 그누보드등이 멀티 게시판위주의 사이트를 생성, 관리하는데 중점기능을 두었다고 한다면 워드프레스는 사이트외형관리에 더 중점기능을 두었다고 보여집니다.

 

그럼 설치를 하겠습니다.

설치는 OS에 상관없이 모두 가능합니다. 다만 설치과정은 조금 다르겠지요?

 

1.워드프레스 구동환경 구축하기

* 윈도우

윈도우에 설치하려면 윈도우에서 PHP를 구동하기 위한 가장 간편한 방법인 APMSetup을 이용하여 환경을 만들어 줍니다.

APMsetup은 아파치, PHP, MySQL을 간편하게 설치하고 관리하게 해줍니다. 설치후 DocumentRoot에 다운받은 워드프레스를 압축해제하면 됩니다.

 

* 리눅스

리눅스에서 php사이트를 구축하는 방법은 너무나도 많이 나와있습니다. 기본적으로 OS설치후, Apache, php module, Mysql을 설치합니다. 이부분에 대한 과정은 생략합니다. 다만 윈도우 환경에서 설치할때와 다른점이라고 한다면 리눅스의 특징인 파일 및 디렉토리 접근권한에 대한 부분을 살짝 염두해 두시고 접근하는게 필요합니다.

 

1.1 MySQL db 생성하기

MySQL이 버전 5.5 부터는 default storage engine이 Innodb이기 때문에 구동시 default storage engine 옵션을 MyISAM으로 추가해서 시작해 줍니다. 그러면 데이터 베이스 생성부터 테이블 생성까지 별도의 옵션을 주지 않아도 모두 MyISAM으로 생성됩니다.

/etc/init.d/mysqld start --default-storage-engine=MyISAM

CREATE DATABASE `wp` CHARACTER SET utf8 COLLATE utf8_general_ci;

GRANT ALL PRIVILEGES ON wp.* TO wp_user@'localhost' IDENTIFIED BY 'wp_password';

 

2. 워드프레스 설치하기

이제부터 본격적으로 워드프레스를 설치하도록 하겠습니다. 설치과정은 리눅스(CentOS6.2)기준으로 진행하도록 하겠습니다.

아파치 DocumentRoot에 압축을 풀어줍니다.

tar xvfz wordpress-3.5.1.tar.gz
cd /var/www/wp
mv ~/wordpress/* .

 

워드프레스 루트디렉토리로 이동해서 wp-config-sample.php를 wp-config.php로 변경후 설정값(db_name, db_user, db_password)을 넣어줍니다.

api auth key값은 https://api.wordpress.org/secret-key/1.1/salt/  에서 생성한뒤 넣어줍니다.

그리고 여기서 멀티사이트 생성을 위한 옵션을 추가합니다. 기본 옵션은 기본적으로 생성되어 있지 않기 때문에 추가해야 합니다.

cd /var/www/wp (document root로 사용한 디렉토리입니다.)

cp wp-config-sample.php wp-config.php  (나중을 위해 wp-config-sample.php는 유지하기 위해 복사를 합니다.)

define('WP_DEBUG', false);

define('WP_ALLOW_MULTISITE', true);   // 이부분이 멀티사이트를 사용하겠다고 설정하는부분입니다.

 

config파일 저장후 install화면으로 접속합니다. (http://192.168.1.135/wp-admin/install.php )

관리자 계정 생성과정을 마치면 설치는 기본적으로 끝입니다.

 

 

 

 

이제 멀티사이트를 위한 과정입니다.

 

2.1 도메인정책 설정하기

멀티사이트 설정이 추가된 상태에서 설치를 하게되면 Tools메뉴 하위에 Network Setup  이란 메뉴가 새롭게 추가가 됩니다.

이곳에서 도메인정책등을 설정하고 config.php에 추가할 설정도 생성해줍니다.

 

 

 

 Sub-domains 와 Sub-directories 두가지 모두를 지원합니다. 말 그대로 sub-domain은  www.abc.com 을 ko.abc.com, en.abc.com 등으로 구분해서 사용하겠다는 의미이고 sub-directories는 www.abc.com을 abc.com/ko/,   abc.com/en/ 으로 구분해서 사용하겠다는 의미입니다.

여기서 Sub-domains 정책을 사용하고자 한다면 기본 생성된 사이트의 도메인 생성시 주의 해야 합니다. Default 도메인을 한국어로 사용할 요량으로 ko.abc.com으로 설정하게 되면 영어사이트는 en.ko.abc.com으로 해야만 합니다.

그러므로 Default 도메인은 abc.com으로 하시고 ko.abc.com은 DNS설정에서 CNAME이나 포워딩으로 으로 처리하는게 좋을듯 합니다.

 

 

wp-config.php에 멀티사이트 관련 나머지 정보를 추가합니다.

 

그리고 DocumentRoot에 .htaccess 파일을 생성해서 위의 값을 넣어줍니다.

 

멀티사이트 기능이 추가된 설치와 그렇지 않은 설치는 테이블 정보도 다르게 됩니다.

우선 싱글로 설치된 테이블의 정보에 비해 6개의 테이블이 추가로 생성됩니다.

아래는 기본으로 설치되었을때의 테이블 리스트입니다.

 

 

 아래는 멀티사이트 기능을 켠 상태로 설치했을때 생성된 테이블 목록입니다.  v표시를 한부분이 추가됩니다. 이후 사이트를 생성할때마다 표시되지 않은 테이블에 번호가 붙으면서 세트단위로 추가생성이 됩니다. 

 

 

 

각 사이트는 Network Admin 에서 추가,삭제,관리합니다.

  

 

 

 이후부터는 각 기존 싱글사이트에서 관리하던 방식과 동일하게 사이트별로 테마등을 추가하고 관리합니다.

 

참고로 멀티사이트로 설치할 경우 기본적으로 제공되는 테마가 하나뿐입니다. 잘 알다시피 테마에 대한 추가는 wp-content밑에 themes 에 복사한 테마를 넣어주면 사이트 관리에서 테마선택시 보여지게 됩니다.

 

또한가지 리눅스에 설치하고 플러그인을 설치할때도 wp-content밑에 디렉토리는 쓰기권한을 추가해주는것이 좋습니다.

 

이상으로 워드프레스를 이용한 멀티사이트 생성과정에 대한 글을 마치겠습니다.

 



« PREV : 1 : ··· : 3 : 4 : 5 : 6 : 7 : 8 : 9 : ··· : 16 : NEXT »