( 경영전략,사업전략 ) 마이클 포터의 가치사슬 분석(Value Chain Analysis) 이론

이미지
( 경영전략,사업전략 ) 마이클 포터의 가치사슬 분석(Value Chain Analysis) 이론 ​ ​ #경영전략 #기업혁신전략 #가치창출전략 #생산유통전략 #가치사슬이론 #오픈이노베이션 #개방혁신전략 ​ ​ ​ 신사업을 하려면 사업 전략 기획 뿐아니라 프로그램을 개발하는 개발자도 경영 전략에 대한 인사이트가 필요 합니다. ​ ​ 시장에 대한 기회요인과 필요한 기술을 찾고 투입 되는 생산 비용과 효율성을 확보하는 것은 디지털 기업이 성공하는 필수적이고 핵섬적인 전략 요소가 될 것입니다. (실패하지 않으려면) (경영전략.사업전략) 기업의 가치 창출 전략 이론 ​ (1) 마이클 포터의 가치사슬 분석(Value Chain Analysis) (2) 자원 기반 관점 (Resource-Based View, RBV) 역량 확보 전략 (3) 헨리 체스브로(Henry Chesbrough) 개방형 혁신(Open Innovation) 이론 (4) 블루 오션 전략 (Blue Ocean Strategy) https://couplewith.tistory.com/668 마이클 포터의 가치사슬 분석(Value Chain Analysis) 이론 마이클 포터의 가치사슬 분석(Value Chain Analysis)은 기업의 활동을 여러 단계로 나누어 각 단계에서 가치를 창출하는 방식을 분석하는 도구입니다. ​ 이 기법은 1985년 마이클 포터가 제안한 것으로, 기업 내부의 활동을 기본 활동과 지원 활동으로 구분하여 분석합니다. 이를 통해 기업은 각 활동에서 발생하는 비용과 가치를 파악하여 경쟁력을 강화할 수 있습니다. ​ ​ 1. 기본 활동 (Primary Activities) 2. 지원 활동 (Support Activities) ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 1. 기본 활동 (Primary Activities) ​ ​ 1.1.내부 물류 (Inbound Logistics) ​ 설명: 원재료의 수급 및 저장, 재고 관리 등을 포함합니다. 예시: 자동차 제조업체...

Memcached를 이용한 php - 설치와 예제

 

Memcached를 이용한 php - 설치와 예제


Memcached 의 활용

웹서버 같은 트래픽이 많은 서비스에서 memcache를 사용하면 DB부하나 불필요한 I/O를 줄일수 있습니다.

예를 들어 홈페이지 메인의 HTML에 노출되는 Data를 웹캐싱으로 처리하면 대량의 트레픽이 발생 하더라도 DB의 부하를 주지 않을 수 있습니다.

특정 Interval간 변하지 않는 데이터를 memcache에 캐싱하면 DB를 읽지 않아 부하를 경감할 수 있습니다.

주로 Data를 DB에 넣지 않고 사용자 끼리 통신을 하는 채팅이나 메시지서비스 등에 활용하면 효과적입니다.

 

 

Memcached 설치

 

1. install_memcached.sh 를 아래 내용으로 만들어 Root 계정으로 실행 

 

# 다음과 같이 소스 다운로드와 설치 옵션을 함께 스크립트로 작성합니다.

 VER="1.4.15"

arc_name="memcached-$VER.tar.gz"


if [ ! -f "$arc_name" ]
then
    wget http://memcached.googlecode.com/files/memcached-$VER.tar.gz -O $arc_name
fi


yum install -y "libevent*"  # 필요한 패키지 설치

tar xvzf "$arc_name"



cd "memcached-$VER"

OPTIONS=" --with-libevent=/usr "
./configure $OPTIONS && make && sudo make install



cp -p scripts/memcached.sysv /etc/rc.d/init.d/memcached
chmod 755 /etc/rc.d/init.d/memcached
ls -al /etc/rc.d/init.d/memcached


/etc/rc.d/init.d/memcached stop

 

 

 

2. memcached 서비스 실행 파일 수정 

 

memcached 실행을 위해서  "/etc/rc.d/init.d/memcached"  파일을 수정합니다.  # by cdr

 

다음과 같이 memcached 서비스 파일을 수정하여 memcached를 시작하고 종료 할수 있도록 설정합니다.

#> /etc/rc.d/init.d/memcached start
#> /etc/rc.d/init.d/memcached stop

 

 

start () {
    echo -n $"Starting $prog: "
    # insure that /var/run/memcached has proper permissions
   ls /var/run/memcached 2>/dev/null || mkdir -p  /var/run/memcached   # Added
    chown $USER /var/run/memcached
    daemon $memcached -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached
}

 

 

 

3. [예시] Memcached를 이용한 PHP 소스 

 

[php 샘플]

 

<?

   function memcached_handle($DEBUG=0){
       $memcache = new Memcache;
       $memcache->connect('localhost', 11211) or die ("Could not connect");

       $version = $memcache->getVersion();

       // Server Connect
       if($version != '' ){
           debug("memcached_handle", "version:$version", $DEBUG);
           return $memcache;
       }else{
           return '';
       }
   }

   function memcached_set($memcache, $m_key="key", $m_msg="test", $ttl=20, $DEBUG=0){

       $memcache->set($m_key, $m_msg, MEMCACHE_COMPRESSED, 10) or die ("Failed to save data at the server");
       $get_result = $memcache->get($m_key);

       debug(" > memcached_set::","Store data in the cache (data will expire in 10 seconds)", $DEBUG);
       debug(" > func->memcached_set", " Make m_key : $m_key  time:[$ttl] sec------>", $DEBUG);
       //debug(" > func->memcached_set", $get_result, $DEBUG);

       return $get_result;
   }



   function memcached_get($memcache, $m_key="key", $DEBUG=0){

       $get_result = $memcache->get($m_key);
       debug(" > func->memcached_get", " Get Cache [$m_key] ", $DEBUG);

       return $get_result;
   };



   function memcached_getSet($memcache, $m_key="key", $m_msg="test", $ttl=20, $DEBUG=0){

       $msg_get = memcached_get($memcached, $service_key, $DEBUG);

       $mem_set = memcached_set($memcache, $m_key, $m_msg,  $ttl, $DEBUG);

       $get_result = memcached_get($memcached, $service_key, $DEBUG);

       debug("memcached_getSet->memcached_get", "[#1]=====================", $DEBUG);
       debug("memcached_getSet->memcached_set", "[#2]====================", $DEBUG);
       debug( ">> memcached_getSet :",$get_result,  $DEBUG);

       return $get_result;
   }



   // 특정 URL의 XML 데이터를 로딩한다.

   function get_service_data($service_name="http_result", $DEBUG=0){
       $service_url ="http://localhost/grid_exe/_lib/load_{$service_name}.php";
       $service_msg = file_get_contents($service_url);
       return $service_msg;
   }



  // Main 함수  : 캐시가 없으면 Data를 로드하여 캐시에 담고 리턴한다.

   function memcached_Cache( $service_name="http_result", $service_ttl=30, $DEBUG=0){

        $service_key = "key_".$service_name;

        $memcached = memcached_handle( $DEBUG);
        // Check cache data exists
        $msg_get = memcached_get($memcached, $service_key, $DEBUG);

        debug("memcached_Cache-> memcached_handle::","[# memcached.connect]", $DEBUG);
        debug(" > memcached_handle::", $memcached, $DEBUG);
        debug(" > memcached_get ","[# $service_key.key] ", $DEBUG);
        debug(" > memcached_get", $mem_get, $DEBUG);

        if( ! $msg_get ){

             // 특정 URL의 XML 데이터를 로딩한다.

            debug("memcached_Cache :::[ MAKE NEW CACHE  ]===================>> ", $DEBUG);

            $service_msg = get_service_data($service_name);
            $mem_set = memcached_set($memcached, $service_key, $service_msg, $service_ttl, $DEBUG);

                          debug(" ++ get_service_data XML ","[# $service_name : service_name]===", $DEBUG);
            debug(" >>>> memcached_set ","[# $service_key:service_key]=========", $DEBUG);
            //debug(" >>>> memcached_set ", $mem_set, $DEBUG);

            return $service_msg;
        }else{
             // With Cached Data
             return $msg_get;
        }
  }

?>

 

.

댓글

이 블로그의 인기 게시물

SSL/TLS 인증서 오류를 해결- 리눅스명령모음 - SSL certificate problem

(truffle 환경 설정) 스마트 계약 배포 와 truffle deploy 오류 해결 - Error: Could not find artifacts for SimpleStorage from any sources

자기주권 신원 (SSI Self-Sovereign Identity) 인증의 발전 그리고 정보 민주화 (Information Democratization)