파이썬은 모든 것이 객체(Object)이어서, 그 속성이 mutable(가변) 과 immutable(불변)으로 구분된다. 

 mutable - 변경되는 객체 (객체의 상태를 변경할 수 있음)
 immutable - 변경되지 않는 객체 (객체의 상태를 변경할 수 없음

 변경이 되는 mutable 객체의 종류는 list, set, dictionary 정도가 있고
 변경이 되지 않는 immutable 객체의 종류는 int, float, tuple, str, bool 이 있습니다.

 이러한 개념을 잘 이해해야하는 이유는 깊은복사와 얕은복사를 이해하는데 필수적이기 때문이다. 파이썬에서는 immutable 객체의 값이 같은 경우에 변수에 상관없이 동일한 곳을 참조합니다. mutable (값이 변경될 수 있는) 객체의 경우에는 모든 객체를 각각 생성해서 참조해 줍니다.

mutable(가변)

 

Mutable 데이터 타입

  • 사용자 정의 객체
  • list
  • dictionary
  • set
## List

>>> a = [1,2]         #a = [1,2]
>>> id(a)
1985209849032
>>> a.append(3)       #a = [1,2,3]
>>> id(a)
1985209849032



## Dict

>>> a = {1:'a'}       #a = {1:'a'}
>>> id(a)
1985209931096
>>> a[2] = 'b'        #a = {1:'a', 2:'b'}
>>> id(a)
1985209931096

 mutable에 속한 객체들은 값이 변경될 때 객체 값도 변경되는 것을 확인할 수 있다.

## List

>>> a = [1,2]
>>> b = a             #b = [1,2]
>>> a == b            #a = [1,2] , b = [1,2]
True
>>> b.append(3)       #b = [1,2,3]
>>> a == b            #a = [1,2,3] , b = [1,2,3]
True


## Dict

>>> a = {1:'a'}
>>> b = a             #b = {1:'a'}
>>> a == b            #a = {1:'a'} , b = {1:'a'}
True
>>> b[2] = 'b'        #b = {1:'a',2:'b'}
>>> a == b            #a = {1:'a',2:'b'} , b = {1:'a',2:'b'}
True

mutable 객체들은 값이 변경될 때 주소가 참조하는 값도 변경되는것을 확인할 수 있었다.

 

 

immutable(불변)

 

Immutable 데이터 타입

  • int
  • float
  • demical
  • bool
  • string
  • tuple
  • range
## Int

a = 1                 #1
>>> id(a)
140729439544144
>>> a += 1            #2
>>> id(a)
140729439544176

## String

a = 'a'               #a
>>> id(a)
1985199052704
>>> a += 'b'          #ab
>>> id(a)
1985209620944


## Tuple

>>> a = (1,2)         #(1,2)
>>> id(a)
1985209935624
>>> a += (3,)         #(1,2,3)
>>> id(a)
1985209858448

  immutable 에 속한 객체들은 값이 변경이될떄 객체가 변하는것을 확인 할 수 있습니다.  여기에 속한 객체들은 call by value 의 속성을 띄고있습니다.

## Int

>>> a = 1
>>> b = a             #b = 1
>>> a == b            #a = 1 , b = 1
True
>>> b += 1            #b = 2
>>> a == b            #a = 1 , b = 2
False


## String

>>> a = 'a'
>>> b = a             #b = 'a'
>>> a == b            #a = 'a' , b = 'a'
True
>>> b += 'b'          #b = 'ab'
>>> a == b            #a = 'a' , b = 'ab'
False


## Tuple

>>> a = (1,2)
>>> b = a             #b = (1,2)
>>> a == b            #a = (1,2) , b = (1,2)
True
>>> b += (3,)         #b = (1,2,3)
>>> a == b            #a = (1,2) , b = (1,2,3)
False

  immutable 객체들은 값이 변경되는것이 새로운 객체로생성이 되기떄문에 변경이 일어날떄 기존 객체는 변하지 않습니다.

'Python 프로그래밍' 카테고리의 다른 글

[Python] Future  (0) 2022.06.01
[Python] Object Reference  (0) 2022.05.27
[Programming] 암호화 알고리즘 (Encryption Algorithms)  (0) 2022.05.22
[Python(Web)] Robots.txt  (1) 2022.05.21
[Python] Decorator  (0) 2022.05.20
Nothing shows a man's character more than what he laughs at.

 

 


 이윤극대화 (Profit Maximization)

 한계수입과 한계비용이 일치하는 생산량 수준에서 기업은 이윤을 극대화 시킬 수 있다는 원칙

 기업 활동 목표 가운데 총수익에서 총비용을 뺀 나머지인 이윤을 극대화 하기 위하여 한계수입과 한계비용이 같아지도록 의사결정을 하는 것이다.

 한계수입은 생산물 한 단위를 추가로 판매할 때 얻는 수입, 즉 제품 한 단위를 더 판매할 때 얻어지는 총수입의 증가분이다. 한계비용은 기업이 생산물 한 단위를 추가로 생산할 때 추가되는 총비용의 증가분을 의미한다. 만약 추가된 생산물의 한계비용이 한계수입보다 작으면 생산량을 한 단위 더 생산할 때 들어가는 비용이 그 한 단위를 판매하여 얻는 수입보다 작으므로 한 단위 더 생산하는 것이 그 차액만큼 이윤을 늘릴 수 있다. 그러므로 기업은 한계수입이 한계비용과 같게 될 때까지 계속해서 생산을 증가시키면 이윤극대화를 이룰 수 있게 된다. 반면에 한계비용이 한계수입보다 큰 시점부터는 생산을 한 단위 증가시킬 때 오히려 손해를 보게 되므로 한계수입이 한계비용과 같게될 때 까지 생산을 감소시키는 것이 유리하다. 결국 한계수입과 한계비용이 일치하게 될 때 균형을 이루게 되고, 이때 기업은 이윤을 극대화 시킬 수 있다.


 이자보상배율 (ICR, Interest Coverage Ratio)

 영업이익 / 이자비용

 기업이 부채에 대한 이자지급 의무를 이행할 수 있는 능력을 보기 위한 지표로써 채무상환능력을 나타낸다. 이자보상배율이 1보다 작으면 기업이 벌어들인 영업이익보다 갚아야 할 이자비용이 더 많다는 뜻으로, 이자지급능력에 문제가 있는 상태로 볼 수 있다. 반면 숫자가 높을수록 기업의 여유자금이 많다는 의미이다.


 유상증자

 주식회사가 실질적인 자본금을 증가시키기 위하여 현금이나 현물을 납입시켜 증자하는 것

 유상증자는 신주를 발행할 경우 그 인수가액을 현금이나 현물로 납입시켜 신주자금 또는 재산이 기업에 들어오는 경우를 말한다. 유상증자를 하면 발행주식수와 함께 회사 자산이 늘어나는 효과가 있다. 대출이나 채권발행에 비해 상환부담이나 이자부담이 없이 선호되는 자본조달 방법이다.


 무상증자

 주식회사가 무상으로 신주를 발행해 배정 및 교부하는 것

 주금의 납입 없이 이사회의 결의로 준비금 또는 자산재평가적립금을 자본에 전입하고 증가된 자본금에 해당되는 만큼의 신주를 발행하여 구 주주에게 소유주식수에 비례하여 무상으로 배정 및 교부하는 방법을 말한다. 유상증자와 달리 실질적인 총 자산은 변하지 않는다. 단지 재무제표상 항목 간의 변동을 통해 신주식을 발행하는 형식적 증자이다.


 자본잉여금

 회사의 영업이익 이외의 원천에서 발생하는 잉여금

 기업회계상 회사의 순자산액이 법정자본액을 초과하는 부분을 잉여금이라고 하는데, 그 중 자본거래에 의한 재원을 원천으로 하는 잉여금을 말한다. 그 종류로는 주식발행시의 액면초과한 금액, 자본감소의 경우 감소액이 반환액을 초과한 금액, 회사합병의 경우 소멸된 회사의 순자산액, 재평가적립금, 자본적 지출에 충당한 국고보조금 및 공사부담금, 보험차익, 자기주식처분이익 등이 있다.


 자본잠식

 회사의 누적 적자폭이 커져서 잉여금이 바닥나고 납입자본금까지 잠식되기 시작한 상태

 자본은 납입자본금과 잉여금으로 구성되나 영업 부진으로 회사의 적자폭이 커져 잉여금이 바닥나고 납입자본금까지 까먹기 시작한 상태를 말한다. 50% 이상의 자본잠식은 관리종목 지정사유가 되며, 전액잠식은 퇴출사유가 되므로 자본잠식 상태에 있는 기업은 매우 위험한 상태에 있다고 볼 수 있다.


 잔여청구권

 기업의 종업원, 사채권자, 사채형 우선주의 주주 등에게 약속된 금액을 지불하고 남은 현금흐름 및 자산에 대한 청구권으로서 주식회사의 경우 주주가 갖는 권리

 회사나 조합이 해산한 경우 등 일정한 재산이 청산된 후에 남는 적극재산에 대하여 주주, 사원, 조합원 등이 분배를 청구할 수 있는 권리를 말한다. 


 리니언시 (Leniency)

공정거래위원회가 담합을 자진 신고한 기업에 과징금을 감면해주고 검찰 고발을 면제해주는 제도

 담합행위를 한 기업이 자진신고를 할 경우 처벌을 경감하거나 면제하는 제도로써 상호간의 불신을 자극하여 담합을 방지하는 효과를 얻을 수 있다. 기업 간 담합은 그 특성상 내부자 고발이나 담합행위를 한 기업들의 협조 없이는 혐이를 입증하기 어렵기 때문에 이 제도가 도입되었다. 


 재무제표

 재무상태표, 포괄손익계산서, 자본변동표, 현금흐름표와 주석으로 이루어진 일정 기간 동안의 경영성과와 특정 시점의 재무상태를 나타내주는 보고서 

  기업경영에 수반되는 재무상황을 기록, 계산, 정리하여 경리 내용을 명확히 하고 이해 관계자들에게 보고하기 위해 기업이 작성하는 각종의 계산표를 말한다. 오늘날 주식회사는 모든 이해관계자에게 경영상태를 공개보고 할 책임이 있는데 이러한 기업회계 보고기능의 실행과 공개원칙의 준수가 재무제표에 의하여 표현된다고 할 수 있다. 

① 재무상태표 : 회계기간 마지막 날을 기준으로 기업의 재무상태(자산, 부채, 자본)가 어떠한지를 보여주는 보고서

② 포괄손익 계산서 : 한 회계기간 동안 기업의 경영성과(수익, 비용) 를 보여주는 보고서

③ 자본변동표 : 한 회계기간 동안 기업의 자본이 어떻게 변화하였는지를 보여주는 보고서

④ 현금흐름표 : 한 회계기간 동안 발생한 현금흐름(현금의 유입 및 유출)이 어떠하였는지를 보여주는 보고서

⑤ 주석 : 위 네가지 보고서를 더 잘 이해하기 위한 추가정보(제무제표 작성기준, 감가상각 방법에 대한 설명, 차입금의 세부내용 등)를 제시하는 보고서


 당기순이익

 당기순이익 = 영업수익 - 영업비용 + 기타손익 + 금융손익 - 법인세비용

 해당 기간의 매출액에서 매출원가, 판매비, 관리비 등 영업비용을 빼고 여기에 영업외 수익과 비용, 특별이익과 손실을 가감한 후 법인세를 뺀 것이다. 또는 다음과 같이 표현할 수 있다.  당기순이익 = 영업수익 - 영업비용 + 기타손익 + 금융손익 - 법인세비용, 공헌이익은 판매 한 단위당 발생하는 이익(단위변동비를 차감한 것)을 말한다.


 독립채산제

 특정 사업에 필요한 비용을 외부에 의존하지 않고 자체 수입으로 해결하는 방식

 독립채산제는 산하기관의 재정을 모기관의 재정으로부터 분리하여 운영하는 제도를 말한다. 운영에 전권을 부여받고 자산, 부채, 자본까지도 독립적으로 운영한다. 독립채산제는 ①수지적합의 원칙, ②자본 자기조달의 원칙, ③이익금의 자기처분 원칙을 모두 충족할 경우에 성립된다. 대기업에서는 전략사업유닛(SBU)을 독립채산제 형태로 두는 경우가 많다.


매출채권회전율

 매출액 / 매출채권

 기말의 매출채권잔액이 1년간의 영업활동을 통하여 현금인 매출액으로 회전되는 속도를 나타낸다. 매출채권회전율이 높다는 것은 한 회계기간 동안 외상으로 판매한 금액을 현금으로 회수한 횟수가 많다는 의미이므로 기업이 외상 신용 정책을 잘 수립하였고 효율적으로 현금을 회수하고 있다고 평가할 수 있다. 지나치게 높으면 과도하게 보수적인 신용정책을 사용하는 것으로 자본을 효율적으로 이용하지 못한다고도 평가할 수 있다.

 매출채권회전율은 매출채권회수기간으로 표시되기도 하는데 이는 365일을 매출채권회전율로 나눈 것으로 매출채권을 회수하는 데에 평균 며칠이 걸리느냐를 나타내는 것이다. 

 * 매출채권회전율 = 매출액 / 매출채권

 * 매출채권회수기간 = 365 / 매출채권회전율


 제조원가명세서

 제조원가보고서, 일정기간동안 물건을 만드는 데 든 비용을 재료비, 노무비 및 경비로 나누어 자세하게 정리한 표

 당기 총제조비용을 재료비, 노무비, 경비 등으로 구분한 것에다 기초 제공품 원가를 더한 것에서 기말 제공품 원가를 공제하는 형식으로 행한다. 원가관리나 가격설정 등에 대한 내부보고용의 제조원가명세의 양식, 내용은 관리목적에 따라 각기 다르다. 총 제조비용 중 재료비의 구성비가 같은 업종이 다른 회사보다 높을 땐 원재료나 부품의 구매관리를 개선해야 할 필요가 있고, 노무비나 경비의 구성비가 다른 회사보다 높다하면 생산직 종업원의 생산능력 관리 및 물자의 소비 측면에서 개선되는 점이 있는 것이다. 


총 비용 (Total Cost)

 기업의 생산활동에 사용된 모든 비용

 총 비용은 고정비용과 가변비용으로 구분할 수 있다. 고정비용은 기업의 생산수준과 관계없이 발생하는 비용이다. 설비 투자를 위해 빌린 돈의 이자, 땅을 빌려 공장을 세웠다면 생길 지대, 건물을 빌렸을 때 지급하는 임대료 등은 생산량의 증감과 상관없이 언제나 일정한 금액을 지급해야 한다. 따라서 이 비용들은 생산과정에서 고정적으로 지출되므로 고정비용이라고 한다. 가변비용은 생산과정에서 생산수준에 따라 증감이 발생하는ㄴ 비용이다. 생산량이 증가함에 따라 노동의 고용을 증가시킨다면 노동에 대한 임금비용이 증가하게 되고, 원재료비 및 연료비 등도 증가하게 된다. 생산량이 감소하게 되면 고용이 감소하여 임금비용이 줄어들게 되고 원재료비가 줄어들게 된다.


선입선출법 (FIFO, First in First out)

장부상으로 먼저 입고된 것이 먼저 출고되는 것으로 간주해 출고단가를 결정하는 방법

 상품, 제품, 원재료 등의 재고 자산의 불출(소비) 단가 및 대차대조표 가액 결정의 방법 중 하나로 매입순법이라고도 한다. 먼저 받아들인 것 부터 순차 불출(소비)이 이루어진다. 디플레이션 때 이익이 과대 계상(계산하여 올림) 되지 않는다는 장점이 있으나 인플레이션때 이익은 과대 계상한다는 단점이 있다.

💬 내용 요약

 소비자가 예상하는 향후 1년의 소비자물가 상승률인 기대 인플레이션율이 지난달에 이어 2개월 연속 3%를 넘으면서 10년 만에 최고 수준을 나타냈으며 금리수준전망 역시 지난달에 이어 사상 최대 수준을 기록했다. 24일 한국은행이 발표한 ‘소비자동향 조사’ 결과에 따르면 기대 인플레이션율은 3.3%로 집계됐다. 지난달 3.1%보다 0.2%p 상승한 것으로 이는 2012 10월(3.3%) 이후 10년 만에 가장 높은 수치다.

 향후 1년간 소비자물가 상승에 영향을 미칠 주요 품목의 응답비중은 석유류제품(70.8%), 농축수산물(38.7%), 공공요금(35.1%) 순으로 나타났다. 전월 대비 공업제품(+1.7%p), 농축수산물(+1.6%p)의 응답비중이 증가한 반면, 석유류제품(4.4%p) 비중은 감소했다.

 한은은 “현재 체감 물가가 상승하고 있고 대외불확실성 확대됨에 따라 기대 인플레이션이 높게 나타났다”고 분석했다. 금리수준전망CSI(146)는 기준금리 추가 인상 기대, 인플레이션 우려 등으로 전월 대비 5p 상승하며 역대 최고 수준을 기록했다.

 한국은행주택가격전망CSI(111)는 전국 아파트매매 가격이 보합세를 보이는 가운데 다주택자 양도세 중과 한시 배제에 따른 공급 증가 기대 등으로 3p 하락했다. 한은은 “양도세 한시 배제 등이 하락의 주 요인으로 보고 있지만 앞으로 정부 규제 수준과 이후의 정책 등 주택가격 변동에 따라 변화될 것으로 보인다”고 설명했다.

 소비자심리지수(CCSI)는 전월 대비 1.2p 하락한 102.6으로 3개월 만에 하락 전환됐다. CCSI는 올해 3월 103.2에서 지난달 103.8로 2개월 연속 상승한 바 있다. 거리두기 해제에 따른 소비심리 개선에도 불구하고 물가상승세 지속과 금융시장 불확실성 확대, 우크라이나 사태 장기화 등의 영향이다. CCSI는 소비자동향지수(CSI)를 구성하는 15개 지수 가운데 현재생활형편·생활형편전망·가계수입전망·소비지출전망·현재경기판단·향후경기전망 6개 지수를 이용해 산출한 지표다. 100보다 높으면 장기평균(20032021년)과 비교해 소비 심리가 낙관적이라는 뜻이다.

 지난달과 비교해 CCSI를 구성하는 6개 구성지수 중 소비지출전망(116,+2p)은 상승, 현재경기판단(74)은 동일, 현재생활형편(89,-3p), 생활형편전망(93,-1p), 가계수입전망(98,-1p), 향후경기전망(84,-3p)은 떨어졌다.

💭 생각 정리

 세계적인 불확실성과 높은 물가상승의 우려 등의 영향으로 금리수준전망 및 기대 인플레이션율이 최대치를 기록하고 있다. 이러한 상황에서 한국은행은 미국의 금리인상 정책을 따라가지 않고 독자적인 정책을 펼치겠다고 하였다. 즉, 미국이 금리를 인상한다고 해서 무작정 따라 금리를 인상하는 것이 아니라, 한국의 상황에 맞게 정책을 펼치겠다는 것이다. 

 하지만 기대인플레이션율이 높아지면서 미래에도 물가가 더 상승할 것으로 예측한 소비자들은 미래가격 상승에 대비해 현재 소비를 늘리고 기업은 원자재의 가격이 상승할 것을 대비해 미리 제품가격을 올려 계속적으로 물가가 상승하는 악순환에 빠질 가능성이 있다. 그렇다고 해서 물가가 상승하고있는 상황에서 금리를 가파르게 상승한다면 물가도 상승하고 경제는 침체되는 스태그플레이션 즉, 저성장 고물가 시대를 초래할 수 있다. 하지만 금리 인상으로 인해 부동산의 거품이 사라져 부동산 가격은 하락하는 효과를 거둘 수 있다. 하지만 코로나 시대에 가계부채가 급격하게 늘어났기 때문에 금리 인상으로 인해 가계부담이 크게 증가할 수 있어 금리를 인상하는 정책에는 신중을 기해야 할 것이다. 

📌 용어 정리  

  • 소비자동향지수 [CSI, Consumer Servey Index]

 소비자태도지수. 장래의 소비지출 계획이나 경기전망에 대한 소비자들의 설문조사 결과를 지수로 환산해 나타낸 지표. 경제상황과 생활형편, 가계수입, 소비지출, 고용, 물가 등에 대한 소비자의 응답을 가중평균해 작성한 이 지수는 일반 소비자들의 체감경기를 보여 주는 대표적 지표로서 경기동향 파악 및 예측에 유용한 정보로 사용된다.

 매월 한국은행이 소비자의 경제상황에 대한 인식과 향후 소비지출전망 등을 조사하여 지수화한 것으로, 지수가 100보다 크면 경기 전망에 대한 긍정적 인식이 더 높다는 것을 의미한다. 

  • 소비자심리지수 [CCSI, Consumer Composite Sentiment Index]

 우리나라 가계부문의 현재생활형편, 생활형편전망, 가계수입전망, 소비지출전망, 현재경기판단, 향후경기전망 총 6개의 주요 개별지수를 표준화하여 합성한 지수.

 한국은행이 매월 전국 2,200가구를 대상으로 실시하는 소비자동향조사에서 산출하는 소비자동향지수 중 현재생활형편, 생활형편전망, 가계수입전망, 소비지출전망, 현재경기판단, 향후경기전망에 대한 6개의 개별지수를 표준화하여 합성한 지수로, 소비자심리를 종합적으로 판단하는 데 이용된다. 2008년 9월까지는 통계청의 소비자전망조사에서, 이후에는 한국은행에서 소비자동향조사에서 본 지표를 산출하고 있다. 소비자심리지수가 편제·공표된 것은 2005년부터이며, 편제주기가 분기 조사에서 월 조사로 전환된 것은 2008년 9월부터다. 한국은행에서 제공하는 우리나라 100대 통계지표 중의 하나이다.

 소비자동향조사의 조사항목은 크게 경제인식, 경제전망, 소비지출전망, 가계저축 및 부채, 물가전망으로 구성되어 있으며, 이를 통해 현재생활형편, 현재경기판단, 생활형편전망, 향후경기전망, 취업기회전망, 금리수준전망, 가계수입전망, 소비지출전망, 현재가계저축, 가계저축전망, 현재가계부채, 가계부채전망, 물가수준전망, 주택가격전망, 임금수준전망, 물가인식, 기대인플레이션에 대한 총 17개의 개별 소비자동향지수가 산출된다.

 

[출처]

https://n.news.naver.com/mnews/article/119/0002606401?sid=101 

https://www.mk.co.kr/dic/

https://terms.naver.com/entry.naver?docId=3440308&ref=y&cid=40942&categoryId=31813 

 

Money can't buy happiness, but neither can poverty.

 

 


GE 매트릭스 (GE-McKinsey Matrix)

맥킨지 컨설팅과 GE가 함께 만든 전략분석도구

 맥킨지(McKinsey & Company)와 GE(General Electronics)가 함께 만든 포트폴리오로서 3 X 3매트릭스를 사용해 사업을 분석한다. 가로축을 시장경쟁력(사업강도), 세로축을 시장 매력도로 놓고 지표에 따라 각 사업을 분석할 수 있다. 시장매력도 측정에 쓰이는 지표는 시장규모 및 성장률, 업계평균 이익률, 거시환겨으이 영향, 진입장벽과 철수장벽, 필요한 기술 수준 및 자본규모 등이다. 시장경쟁력에 해당하는 것들은 시장점유율, 가격경쟁력, 기술력, 제품 및 서비스의 품질, 유통시스템 등이다.


 아웃소싱(Outsourcing)

 기업 내부의 프로젝트나 활동을 기업 외부의 제 3자에게 위탁하여 처리하는 것

 경영 효과 및 효율의 극대화를 위한 방안으로 기업 업무의 일부 프로세스를 제 3자에게 위탁해 처리하는 것을 말한다. 시장의 급격한 변화와 경쟁력 심화에 따라 기존의 인소싱에 주력하던 기업들도 경영자원을 집중시키고 핵심역량을 강화하기 위한 수단으로 아웃소싱을 선택했다. 아웃소싱을 하는 하청업체가 국내에 있지 않고 외국에 있을 경우는 이를 오프쇼오링(Offshoring)이라고 한다.


 변혁적 리더십(Transfromational Leadership)

 주어진 목적의 중요성과 의미에 대한 하위자의 인식 수준을 제고하고, 하위자가 개인적 이익을 넘어서서 자신과 집단, 조직 전체의 이익을 위해 일하도록 만드는 리더십

 조직구성원들로 하여금 리더에 대한 신뢰를 갖게 하는 카리스마는 물론, 조직변화의 필요성을 감지하고 그러한 변화를 이끌어 낼 수 있는 새로운 비전을 제시할 수 있는 능력이 요구되는 리더십으로 전통적 리더십인 거래적 리더십과 많은 차이가 있다. 변혁적 리더십의 특징은 ①구성원을 리더로 개발한다. ②낮은 수준의 신체적인 필요에 대한 구성원들의 관심을 높은 수준의 정신적인 필요로 끌어올린다. ③구성원들이 본래 기대했던 것보다 더 넘어설 수 있도록 고무시킨다. ④요구되는 미래 수준의 비전을 가치있게 만드는 변화의 의지를 만드는 방법을 의사소통한다는 점이다.


 앤소프 매트릭스 (Ansoff Matrix)

 제품과 시장에 따른 기업의 성장전략 유형

 기업이 지속 성장을 위해 제품과 시장에 대해 어떤 전략을 선택할 것인지 의사결정 하기 위한 도구로서 ①시장침투(기존시장 경쟁사 고객 공략) ②제품개발(기존 시장에서 신제품 개발 및 출시) ③시장개발(기존 제품 새로운 시장에 판매) ④다각화(새로운 제품으로 새로운 시장 개척) 등 네가지 유형이 있다.


 전략적 제휴(Strategic Aliance)

 여러 기업이 자사 특유의 핵심 역량을 바탕으로 상호 협력 관계를 유지함으로써 다른 경쟁 기업에 비하여 경쟁 우위를 확보하고자 하는 새로운 기업 경영전략

 상호 분 참여나 기술 공여, 공동 유통 채널 이용, 공동 연구 개발 따위의 다양한 협력을 통해 기업의 국제 경쟁력과 경영 관리 능력을 높이려는 기업 협력의 한 방식이다. 변화하는 환경에 적응할 수 있고, 고객에 대한 서비스의 질적 향상, 국제적 업무 능력의 향상 등의 효과를 기대할 수 있다.


BSC (Balanced Score Card)

 균형성과관리, 균형성과평가제도

 BSC(균형성과관리)는 1992년 미국의 하버드 대학의 카플란과 노틍에 의해 개발된 전략적 성과관리기법이다. 조직의 비전, 전략을 기반으로 하여 엄선된 성과지표들의 균형된 조합이다. 조직의 리더들은 BSC를 통하여 조직의 전략을 전 조직원에 걸쳐 공유하고, 조직의 변화를 이끌어 낼 수 있다. 

 조직의 미션과 비전, 전략목표와 성과목표, 성과지표 등으로 전략체계를 구성하고 ①재무관점, ②고객관점, ③내부프로세스관점, ④학습과 성장관점 등에 의하여 장단기, 원인과 결과, 외부와 내부 등을 균형있게 관리 가능하도록 하는 성과 모형이다.


 ABS(Asset Backed Securities)

 자산 유동화 증권, 미래의 현금흐름을 바탕으로 현재 시점에서 자금을 조달하는 금융기법의 일종

 미래의 현금흐름이 있는 자산(예: 채권 등) 의 소유자가 신용보강 등을 통해 새로운 증권을 발행함으로써 자금을 조달하는 방법으로서, 신용보강으로 인해 원자산보다 새로운 증권의 신용등급이 높은 것이 일반적이다. 자산유동화 증권의 신용보강 방법에는 후순위채권 발행, 보증, 추가현금 적립 등의 방법이 있다. 

 채권을 자산으로 유동화하는 경우에는 CBO(Collateralized Bond Obligation), 금융기관의 대출채권(Loan)을 담보로 유동화 하는 경우 CLO(Collateralized Loan Obligation), 부동산을 자산으로 유동화 하는 경우 MBS(Mortgage Backed Securities)로 불리기도 한다. 또한 신규 발행되는 회사채를 자산으로 할 경우에는 Primary CBO, 기발행되어 유통되는 회사채를 대상으로 할 경우에는 Secondary CBO라고 한다. 


사회적 기업 (Social Enterprise)

 사회적 가치를 우위에 두고 재화나 서비스의 생산과 판매, 영업 활동을 수행하는 기업

 취약계층에 사회서비스 또는 일자리를 제공하거나 지역사회에 공헌함으롰 지역 주민의 삶의 질을 높이는 등의 사회적 목적을 추구하면서 재화 및 서비스의 생산, 판매 등 영업활동을 하고 사회적 기업으로 인증을 받은 기업을 말한다. 

 사회적 기업으로 인증받기 위해서는 사회적 기업 육성법에 따라 민법상 법인, 조합, 상법상회사 또는 비영리 민간단체 등 조직 형태를 갖출 것, 유급근로자를 고용해 영업활동을 수행할 것, 당해 조직의 주된 목적이 사회적 목적을 실현하는 것일 것, 서비스 수혜자 , 근로자 등 이해관계자가 참여하는 의사결정구조를 갖출 것, 영업활동을 통하여 얻는 수입이 대통령령으로 정하는 기준 이상일 것, 이윤의 3분의 2 이상을 사회적 목적을 위하여 사용할 것 등의 요건을 갖추어야 한다. 


 사회책임투자 (SRI, Social Responsibility Investment)

 투자분석이나 선택에 있어 재무 중심으로 판단했던 기존 방식과 달리, 사회 환경과 같은 사안에 대한 평가를 포함하는 투자 방식

 사회적책임투자(SRI)는 자본시장에서 투자자들의 투자원칙에 가치와 윤리 신념을 도입해 실행하는 방식이다. 도덕적이고 투명한 기업, 환경친화적인 기업에는 투자하지만 비도덕적이고 환경파괴를 일삼는 기업에는 투자하지 않음으로써 자본시장이 기업의 변화와 노력을 이끌어내는 효과를 가져온다. 

 투자분석이나 선택에 있어 재무 중심으로 판단했던 기존 방식과 달리, 사회나 환경과 같은 사안에 대한 평가를 포함하는 투자 방식이다. 친환경이나 사회공헌 등 기업의 지속가능성에 영향을 미치는 비재무적 요인을 기업 평가에 고려하여 장기적인 관점에서 투자한다. 투자자들이 윤리적 기준을 제시하여 기업 행동을 개선하고, 이를 통해 기업의 건전한 성장과 장기적인 투자 이익을 추구하는 것이 목적이다. 


 기업의 사회적 책임 (CSR, Corporate Social Responsibility)

 기업이 지속적으로 존속하기 위한 이윤추구활동 이외에 법령과 윤리를 준수하고, 기업의 이해관계자의 요구에 적절히 대응함으로써 사회에 긍정적 영향을 미치는 책임 있는 활동

 오늘날 기업의 활동은 사회적으로 큰 영향을 미치게 되었으며, 이로 인해 기업의 사회적 우치ㅣ가 커지고 그만큼 기업에 대해 요구하는 사회적 책임도 커지게 되었다. 

 CSR은 각국의 경제, 사회 상황이 서로 상이하고 각 기업마다 사회적 책임에 대한 인식의 차이가 존재해 국제적으로 통일된 정의는 없다. 하지만 일반적으로 다음과 같은 4단계로 구분된다. 제 1단계는 경제적인 책임으로, 이윤 극대화와 고용 창출 등의 책임을 말한다. 제 2단계는 법적인 책임으로, 회계의 투명성, 성실한 세금납부, 소비자의 권익 보호 등의 책임이다. 제 3단계는 윤리적인 책임으로, 환경과 운리경영, 제품안전, 여성과 현지인 그리고 소수인종에 대한 공정한 대우 등의 책임을 말한다. 마지막으로 제 4단계는 자선적인 책임으로, 사회공헌 활동 또는 자선과 교육, 문화 체육활동 등에 대한 기업의 지원을 의미한다. 


 STP (Segmentation, Targeting, Positioning)

 시장을 나누고, 핵심고객을 선정하고, 그들에게 맞는 대응방법을 찾아가는 마케팅 전략 수립과정

 시장변화에 따른 마케팅 전략의 수립과정, 마케팅 전략에 있어 가장 기초가 되는 시작점으로, 시장세분화(Segmentation), 목표시장선정(Targeting), 포지셔닝(Positioning) 의 전략수립과정이다. 시장을 분석해 소비자층을 파악한 후, 진출할 시장을 정하여 조사하고, 제품을 분석하여 시장에 어떻게 어필할 것인가를 정하는 단계를 거치는 것이다. 

 S는 시장세분화(Segmentation)로 시장을 특정한 기준으로 나누는 것을 말한다. 가장 많이 쓰이는 인구통계학으로 나누는 시장세분화는 고객의 연령, 성별, 교육과정, 취업정도 등이 있다.

 T는 타깃시장 선정(Targeting)이다. 시장을 세분화 한 것 중 집중할 시장을 선정하고 그곳을 대상으로 마케팅 전략을 펼친다. 크게 집중화 전략과 차별화 전략으로 나누어져 있다. 집중화 전략은 세분화된 하나의 시장을 이용해 꾸준한 마케팅 활동을 펼치는 것을 말한다. 반대로 차별화 전략은 이질적인 각 집단들에 마케팅전략을 펼치는 것이다. P는 포지셔닝(Positioning)이다. 고객이 제품을 어떻게 인식할지에 대한 고민이다. 


PERT / CPM (Program Evaluation and Review Technique / Critical Path Method)

 프로젝트 일정을 네트워크 형태로 나타낸 것

 PERT/CPM 이란 '프로젝트를 구성하는 각 분야를 보다 세분화된 작업으로 분할하여 작업의 순서, 소요기간, 기타 제반 사항들을 네트워크 형태로 표시함으로써 일차적으로 주공정 및 여유공정을 산출하여 중점관리 대상작업을 명확히 하고, 전체적인 작업일정을 세분화함으로써 공기 지연의 사전예방, 공기 단축 등의 효율적인 일정관리를 도모하기 위한 것'으로 정의될 수 있다. 1962년 PERT와 CPM은 양자의 장점만을 취합하여 PERT/CPM으로 발표되었으며, 오늘날 프로젝트 관리의 일반 이론으로 널리 사용되고 있다.

  • PERT(Program Evaluation and Review Technique) : 1958년 미국 해군 군수국 특별기획실의 계획평가무분에 의해 폴라리스 함대 탄도미사일 계획의 개발과정에 따르는 일정의 계측, 제어의 기술로 개발되어 당초에는 단순한 일정만을 계확, 관리하는 기법으로 성립된 것이다.
  • CPM(Critical Path Method) : 1957년 듀퐁(Dupon)사에서 개발되었는데, 실험용의 모델 플랜트에 의하여 분해검사와 유지관리를 위하여 플랜트를 일시 폐쇄하는 프로젝트의 일정과 원가의 관리에 적용되었다. 

 PERT와 CPM은 각각 독립하여 개발된 것인데, 기법, 용어와 함게 매우 다른 것이었다. 그러나 양자는 그 후 서로 뒤섞이고 종합되어서 현재에는 PERT/CPM 관리라고 할 만큼 일반화되었다. 

 PERT/CPM의 장점은 다음과 같다. ①네트워크를 작성하여 분석하므로 상세한 계획을 수립하기 쉽고 변화나 변경에 대처 ②네트워크를 사용하여 전체 활동을 파악하여 활동 착수 전에 네트워크상의 문제점을 종합적 파악 ③네트워크상의 애로사항과 여유활동을 명확히 구별할 수 있으므로 총 소요 기간의 신뢰 정도가 높아짐 ④인원 및 특수시설 등 사용에 제한이 있는 자원들을 주공정 활동으로 우선순위를 주거나 시점이 가까운 활동 사이에 자원계획의 수립으로 자원의 효율화 ⑤주공정이 들어간 네트워크는 계획내용을 상대방에게 설명하는 데 유력한 자료가 될 뿐만 아니라 상호간의 유력한 의사소통의 수단 ⑥세부계획단계의 순위와 조립관계를 유기적으로 파악할 수 있으므로 정확한 계획분석이 가능 ⑦시간을 단축하고 비용을 절감 ⑧관계자 전원이 참가하게 되므로 의사소통이나 정보교환이 용이하며 아울러보고 제도 확립 ⑨경험이 적은 사람들에 대하여 계획 내용을 표시하는 계획공정표는 교육적 효과에 기여

 

 


 VaR (Value at Risk)

발생가능한 최대 손실금액

 내용을 작성하세요 ①②③④

기본 용어 정의

  • 평문(Plaintext) : 해독 가능한 형태의 메시지(암호화전 메시지)
  • 암호문(Cipertext) : 해독 불가능한 형태의 메시지(암호화된 메시지
  • 암호화(Encryption) : 평문을 암호문으로 변환하는 과정
  • 복호화(Decryption) : 암호문을 평문으로 변환하는 과정
  • 전자서명
    • 송신자의 Private Key로 메시지를 서명하여 전달
    • 수신자측에서는 송신자의 Public Key를 이용하여 서명값을 검증
  • 양방향암호화 : 암호화와 복호화과정을 통해 송.수신간 주고받는 메시지를 안전하게 암.복호화하는 과정
  • 단방향암호화 : 해싱(Hashing)을 이용한 암호화 방식으로 양방향과는 다른 개념으로, 평문을 암호문으로 암호화는 가능하지만 암호문을 평문으로 복호화 하는 것은 불가능.

양방향 암호화(대칭/비대칭 Key)

  • 대칭키 : 같은 키를 이용하여 메시지를 암.복호화 하는 것
  • 비대칭키 : 메시지를 암호화 하는 키와 복호화 하는 키가 다름
    - 암호화 알고리즘에 따라 사용방식이 다를수도 있다
    - 전자서명을 위한 알고리즘에서는 Private Key로 메시지를 서명하고, Public Key로 검증
    - 메시지 교환에서는 Public Key로 메시지를 암호화하고 Private Key로 복호화한다.

1. 대칭키 암호화

  • 종류 : AES128, AES256, SEED(국내표준)
  • 암.복호화 키가 같음
  • 문제점은 수신측에 키를 전달하는 과정에서 유출될 우려가 있음
  • 스트림기반, 블록기반의 암호화로 나눌수 있음

1-1. 스트림기반 암호화

  • 비트단위로 암호화하는 방식.
  • LFFSR, MUX generator 등의 스트림기반 암호화 알고리즘
  • 속도가 빠르고 오류 전파 현상이 없다는 장점
  • 주로 오디오/비디오 스트리밍 시 사용

1-2. 블록기반 암호화

  • 블록 단위로 암호화를 수행하는 방식
  • 문자열 단어 하나하나를 블록으로 나누어 암호화하는 과정
  • DES, AES, IDEA, SEED 등의 블록기반 암호화 알고리즘

2. 비대칭키 암호화

  • 종류 : DSA(전자서명), RSA(메시지 암.복호화)
  • 대칭키에 비해서는 느리다는 단점이 있음
  • 키생성시 Private Key와 Public Key 2개의 키가 도출되며, Public Key는 공개해도 문제가 되지 않는다.
  • 인수분해, 이산대수, 타원곡선 암호화로 나뉨

2-1. ECC(Elliptic Curve Cryptography)

  • 타원곡선 암호화로써 RSA에 비해 짧은 길이의 키를 사용하면서도 비슷한 수준의 안정성을 제공
  • 비트코인 및 이더리움에서 ECC알고리즘을 이용

2-2. ECC 기반의 암호화

  • ECDSA(Elliptic Curve Digital Signature Algorithm)
    : 전자서명(ECC 암호화 알고리즘을 전자서명에 사용한 것)
  • ECDH(Elliptic Curve Diff-Hellman)
    : 키교환 알고리즘(자신의 Private Key와 상대방의 Public Key를 사용하여 공통된 Secret 키를 도출)
  • ECIES(Elliptic Curve Integreated Encryption Scheme)
    : 통합 암호화 방식(Public Key로 암호화하고 Private Key로 복호화)

 

단방향 암호화

  • Hash를 이용하여 암호화하는 과정
  • 평문을 암호화할순 있지만, 복호화는 불가능하다
  • 데이터의 진위여부는 확인하고 싶으나, 본 데이터의 Privacy를 지키고 싶은 경우 사용
  • ex) Bcrypt-JWT (참고:인증(Authentication) & 인가(Authorization))
  • hash할 때, hash 값은 크기와 알고리즘에 따라 암호문의 결과가 완전 상이함

단방향 Hash 알고리즘

알고리즘분류알고리즘명MD 길이블록 길이최대 메시지 길이

MD5 MD5 128bit 512bit 무한
RIPEMD RIPEMD-160 160bit 512bit 2^64-1bit
SHA-1 SHA-1 160bit 512bit 2^64-1bit
SHA-2 SHA-224 224bit 512bit 2^64-1bit
SHA-2 SHA-256 256bit 512bit 2^64-1bit
SHA-2 SHA-384 384bit 1024bit 2^128-1bit
SHA-2 SHA-512 512bit 1024bit 2^128-1bit
SHA-3 SHA-2와 디자인이 달리짐      

 

'Python 프로그래밍' 카테고리의 다른 글

[Python] Object Reference  (0) 2022.05.27
[Python] mutable과 immutable  (0) 2022.05.26
[Python(Web)] Robots.txt  (1) 2022.05.21
[Python] Decorator  (0) 2022.05.20
[Python] Example of Magic Method  (0) 2022.05.13

Robots.txt 란

 robots.txt는 웹사이트에서 크롤링하며 정보를 수집하는 검색엔진 크롤러(또는 검색 로봇)가 액세스 하거나 정보수집을 해도 되는 페이지가 무엇인지, 해서는 안 되는 페이지가 무엇인지 알려주는 역할을 하는 .txt (텍스트) 파일입니다. robots.txt 파일은 검색엔진 크롤러가 웹사이트에 접속하여 정보 수집을 하며 보내는 요청(request)으로 인해 사이트 과부하되는 것을 방지하기 위해 사용됩니다. 그리하여 robots.txt에서 액세스가 허용되지 않은 디렉토리라면 원칙적으로 크롤링하지 않습니다.

 

Robots.txt를 왜 적용해야 할까?

 검색엔진 최적화 측면에서 보았을 때 robots.txt 파일을 적용해야 하는 이유는 크게 세 가지가 있습니다. 첫 번째는 앞서 간략하게 언급한 것 같이, 검색엔진 크롤러의 과도한 크롤링 및 요청으로 인한 과부하 방지를 위해서입니다. 크롤러의 정보 수집 및 크롤링을 제한함으로써 불필요한 요청을 줄이고, 서버에서 처리해야 하는 요청을 줄여 과부하로 인한 문제가 생기는 것을 방지할 수 있습니다.

 두 번째는 검색엔진 크롤러의 일일 요청 수를 뜻하는 크롤 버짓 (또는 크롤링 예산 – Crawl budget) 낭비 방지를 위해서입니다. 검색엔진은 웹사이트에 방문해 정보를 수집할 때 웹사이트의 규모를 포함한 여러 가지 요소들을 고려하여 하루에 얼마나 많은 페이지를 방문 및 수집할지 설정합니다. 예를 들어 웹사이트에 1,000개의 페이지가 있고, 검색엔진이 일간 2,000 건의 요청 수를 보낸다고 한다면, 웹사이트에서 새로운 콘텐츠가 발행되거나, 업데이트가 있었을 경우 반나절이면 검색엔진이 변경사항에 대해 인지를 하게 된다고 볼 수 있습니다. 만약 robots.txt 파일에서 크게 중요하지 않거나 크롤링되지 말아야 하는 페이지를 지정하지 않는다면, 일일 크롤 버짓이 낭비될 수 있습니다. 결과적으로 정작 중요한 업데이트 또는 새로운 페이지가 검색엔진 결과에 반영되지 않거나 빠르게 색인되는데 불리합니다.

세 번째는 robots.txt를 이용해 검색엔진 크롤러에게 사이트맵 (sitemap.xml)의 위치를 제공하여 웹사이트의 콘텐츠가 검색엔진에게 더 잘 발견될 수 있도록 하기 위해서입니다. 물론 구글 서치 콘솔이나 네이버 서치 어드바이저와 같은 웹마스터 도구를 이용해 사이트맵을 검색엔진에 제출할 수 있지만, robots.txt에 사이트맵 디렉토리를 언급함으로써 사이트맵이 구글과 네이버를 포함한 다른 검색 검색엔진 크롤러에게 빠르게 발견될 수 있습니다.

추가적으로, SEO 측면에서의 이유는 아니지만 robots.txt를 창의적으로 이용하여 브랜딩 측면에서 좋은 이미지를 구축할 수 있습니다. 검색엔진 크롤러는 robots.txt의 표준 구문을 인식하고, 주석 처리된 문자열을 무시하기 때문에 이 특성을 이용하여 몇몇 글로벌 웹사이트들은 긍정적인 브랜드 이미지를 만드는데 robots.txt 파일을 사용하기도 합니다. 대표적으로는 에어비앤비 홈페이지를 예로 들 수 있다.

 

Robots.txt 작성

 

1. Robots.txt 작성방법

 robots.txt 작성에 앞서, 먼저 robots.txt 파일은 어떤 형식으로 작성되어야 하는지 짚고 넘어가야 합니다. ” .txt”로 끝나는 명칭에서 이미 눈치채셨을지 모르겠지만, robots.txt은 기본적으로 텍스트 파일( .txt )로 작성이 되어야 합니다. 그러기 위해서는 텍스트 파일을 편집할 수 있는 툴 (메모장, 텍스트 편집기, MS 워드) 등으로 robots.txt 파일을 작성한 뒤, .txt 파일 형식으로 저장하여야 합니다. 또한 robots.txt는 사람이 아닌 검색엔진 크롤러 (예: 구글봇, 네이버 예티, 빙봇 등)가 읽고 인식해야 하는 파일이기 때문에 정해진 형식과 문법에 따라 작성해야 합니다. 검색엔진 크롤러 별로 robots.txt 파일을 해석하는 방식이 조금씩 차이가 있다고 알려져 있으나, 기본적인 문법은 다르지 않습니다. 가장 기본적인 robots.txt 파일은 아래와 같은 형식을 가집니다.

#robots.txt 예시 - 기본 형식

User-agent: *
Disallow: /forbidden/

 robots.txt 는 기본적으로 두 가지의 정보를 포함합니다. 위의 robots.txt 예시처럼 어떤 검색엔진 크롤러를 지정할 것인지 (User-agent 값), 그리고 어떤 디렉토리를 제한할 것인지 (Disallow 값)에 대한 정보를 지정할 수 있습니다. 위의 robots.txt 기본 형식 예시는 모든 검색엔진 크롤러를 (User-agent: *) 모든 /forbidden/ 서브 폴더 이하 디렉토리의 크롤링을 제한한다 (Disallow: /forbidden/)라는 의미입니다.

 robots.txt를 구성하는 요소는 크게 네 가지가 있습니다. 각각의 구성 요소를 모두 포함할 필요는 없지만 “User-agent”는 반드시 포함되어야 합니다.

  1. User-agent: robots.txt 에서 지정하는 크롤링 규칙이 적용되어야 할 크롤러를 지정합니다.
  2. Allow: 크롤링을 허용할 경로입니다 (/ 부터의 상대 경로).
  3. Disallow: 크롤링을 제한할 경로입니다 (/ 부터의 상대 경로).
  4. Sitemap: 사이트맵이 위치한 경로의 전체 URL입니다 (https:// 부터 /sitemap.xml 까지의 전체 절대경로 URL).

 User-agent 이름은 검색엔진마다 모두 다릅니다. 가장 대표적으로 알려져 있는 구글 (Googlebot), 네이버 (Yeti), 빙(Bingbot), 야후 (Slurp) 외에도 각 검색엔진마다 User-agent 이름을 확인하여야 합니다. 아래는 자주 쓰이거나 영향력이 있는 서치 엔진별 크롤러 User-agent 이름 모음입니다. 웹사이트 크롤링 규정을 적용할 검색엔진 크롤러명을 지정하실 때 참고하시길 바랍니다.

  • 구글: Googlebot
  • 네이버: Yeti
  • 다음: Daum
  • : Bingbot
  • 덕덕고: DuckDuckBot

 위 리스트에 포함된 검색엔진 크롤러 말고도 검색엔진별 크롤러의 이름은 모두 다르며, 검색엔진 업데이트 또는 리브랜딩의 이유로 크롤러 이름이 바뀌는 경우도 드물지만 종종 있는 일입니다. 그렇기에 robots.txt를 작성하기 전에 검색을 통해 검색엔진별 크롤러 이름을 먼저 확인이 필요할 것이다.

 

 

2. Robots.txt 문법과 예시

 앞서 잠시 언급했지만, robots.txt는 사람이 아닌 검색엔진 크롤러를 위한 파일이기 때문에 특정한 형식과 문법을 지켜 작성해야 합니다. 가장 기본적인 형태의 “User-agent”와 “Disallow”를 기본 뼈대로 여러 조합을 통해 특정 크롤러 별, 특정 디렉토리 별로 크롤링 제한을 적용할 수 있습니다. 

 robots.txt 파일을 작성할 때 가장 기본적으로 명심하셔야 할 것은, robots.txt 파일에서 특정하게 명시하지 않은 크롤러와 디렉토리는 모두 크롤링이 가능한 것으로 간주됩니다. 그렇기 때문에 특별한 이유가 있는 것이 아니라면 따로 크롤링이 가능한 검색엔진 크롤러 또는 디렉토리를 지정할 필요가 없습니다. 

 아래 robots.txt 예제는 가장 기본적인 형식인 모든 또는 특정 크롤러의 특정 폴더 이하 제한 문법입니다. 아래와 같이 모든 크롤러 (*) 또는 특정 크롤러명을 입력하면 됩니다.

# 대상: 모든 크롤러
# 제한 디렉토리: /do-not-crawl-this-folder/ 이하

User-agent: * 
Disallow: /do-not-crawl-this-folder/
# 대상: 네이버 크롤러 (Yeti)
# 제한 디렉토리: /not-for-naver/ 이하

User-agent: Yeti
Disallow: /not-for-naver/

 위의 기본 형식에서는 한 가지, 또는 모든 크롤러를 한 가지 디렉토리만 제한하는 문법이었는데요, 만약 복수의 크롤러가, 특정 디렉토리에서 크롤링하는 것을 제한하고 싶다면 아래 예제와 같이 한 줄에 하나의 User-agent를 여러 개 적고, 제외할 디렉토리를 지정하면 됩니다. 여기서 주의해야 할 점은, 제한하고자 하는 크롤러를 모두 적은 뒤 디렉토리를 지정하는 “Disallow” 라인을 작성해야 한다는 점입니다.

# 대상: 네이버 크롤러 (Yeti) & 덕덕고 크롤러 (DuckDuckBot) & 다음 크롤러(Daum)
# 제한 디렉토리: /not-for-naver-and-duckduckgo-and-daum/ 이하

User-agent: Yeti
User-agent: DuckDuckBot
User-agent: Daum
Disallow: /not-for-naver-and-duckduckgo-and-daum/

 그렇다면 다수의 크롤러를 제한하되, 제한하는 크롤러마다 다른 디렉토리를 차단하고 싶은 경우는 아래 예제와 같이 User-agent를 지정해준 뒤 개별적인 디렉토리를 지정해주면 됩니다.

# 대상: 네이버 크롤러 (Yeti)
# 제한 디렉토리: /not-for-naver/ 이하
# 대상: 덕덕고 크롤러 (DuckDuckBot)
# 제한 디렉토리: /not-for-duckduckgo/ 이하

User-agent: Yeti
Disallow: /not-for-naver/

User-agent: DuckDuckBot
Disallow: /not-for-duckduckgo/

 예를 들어 네이버와 덕덕고는 같은 디렉토리 세 가지를 제한하고, 다음(Daum)은 두 가지 디렉토리를 제한하고 싶다면 아래와 같이 작성하여야 합니다. 

# 대상: 네이버 크롤러 (Yeti) & 덕덕고 크롤러 (DuckDuckBot)
# 제한 디렉토리 1: /not-for-naver-and-duckduckgo-1/ 이하
# 제한 디렉토리 2: /not-for-naver-and-duckduckgo-2/ 이하
# 제한 디렉토리 3: /not-for-naver-and-duckduckgo-3/ 이하
# 대상: 다음 크롤러 (Daum)
# 제한 디렉토리 1: /not-for-daum-1/ 이하
# 제한 디렉토리 2: /not-for-daum-2/ 이하

User-agent: Yeti
User-agent: DuckDuckBot
Disallow: /not-for-naver-and-duckduckgo-1/
Disallow: /not-for-naver-and-duckduckgo-2/
Disallow: /not-for-naver-and-duckduckgo-3/

User-agent: Daum
Disallow: /not-for-daum1/
Disallow: /not-for-daum2/

 앞서 robots.txt 에 지정되지 않은 크롤러와 디렉토리는 크롤링이 가능한 것으로 간주되기에 따로 “Allow” (크롤링 가능 디렉토리) 지정을 하지 않아도 된다고 하였습니다. Allow 디렉토리 지정의 경우 아래 예제와 같이 크롤링이 제한된 상위 서브 폴더 이하의 디렉토리 중, 특정 세부 디렉토리를 따로 크롤링 허용하고 싶을 때 사용하여야 합니다. 

# 대상: 네이버 크롤러 (Yeti)
# 제한 디렉토리: /not-for-naver/ 이하
# 허용 디렉토리: /not-for-naver/only-allow-here/ 이하

User-agent: Yeti
Disallow: /not-for-naver/
Allow: /not-for-naver/only-allow-here/

 위의 세부 디렉토리 허용 예제에서 눈치채셨을지도 모르지만, Allow (디렉토리 허용)은 Disallow (디렉토리 차단) 보다 우선권을 갖습니다. 따라서 Allow를 사용하여 세부 디렉토리 크롤링 허용을 지정하게 될 때에는 의도치 않게 Disallow와 상충되지는 않는지 잘 살펴보아야 합니다. 아래는 잘못된 Allow 사용으로 Disallow 지정이 상충된 예시입니다. 아래와 같이 제한 디렉토리보다 상위 디렉토리를 허용하게 된다면, 지정된 제한 디렉토리는 허용 디렉토리와 상충되어 무효 처리됩니다.

# 대상: 네이버 크롤러 (Yeti)
# 제한 디렉토리: /folder-depth-1/folder-depth-2/ 이하
# 허용 디렉토리: /

User-agent: Yeti
Disallow: /folder-depth-1/folder-depth-2/
Allow: /

 원하는 크롤링 제한 크롤러와 디렉토리 지정을 마쳤다면, 마지막으로는 사이트맵 위치를 명시해야 합니다. 사이트맵은 “Sitemap:”이라는 형식으로 포함할 수 있으며, 복수의 사이트맵 위치를 명시할 수 있습니다. 사이트맵 위치는 상대 주소를 사용하는 Disallow 또는 Allow 디렉토리와는 다르게, 절대 주소 (전체 URL) 포함해야 합니다. 아래는 사이트맵을 포함한 기본형 robots.txt 파일의 작성 예시입니다.

User-agent: *
Disallow: /do-not-crawl-here/
Sitemap: https://www.example.com/sitemap.xml

 상황과 목적에 맞게 robots.txt 작성을 모두 마쳤다면 텍스트 파일 (.txt) 로 저장해야 하는데요, 이때 파일명은 반드시 robots.txt 여야 합니다. 또한 업로드는 반드시 웹사이트의 루트 디렉토리 (웹사이트 주소에서 첫번째 '/' 바로 뒤) 에 업로드 되어야 한다. 네이버의 예를 들어보면 https://www.naver.com/robots.txt 에 업로드 되어있다.

데코레이터(Decorator)

 데코레이터(Decorator)란 사전적 의미로는 “장식가” 또는 “인테리어 디자이너” 등의 의미를 가지고 있습니다. 이름 그대로, 자신의 방을 예쁜 벽지나 커튼으로 장식을 하듯이, 기존의 코드에 여러가지 기능을 추가하는 파이썬 구문이라고 생각하면 된다. 

 즉, 함수를 받아 명령을 추가한 뒤 이를 다시 함수의 형태로 반환하는 함수이다. 함수의 내부를 수정하지 않고 기능에 변화를 주고 싶을 때 사용한다. 일반적으로는 함수의 전처리나 후처리에 대한 필요가 있을 때 사용한다. 또한 데코레이터를 이용해, 반복을 줄일고 메소드나 함수의 책임을 확장한다. 본인의 경우에는 파이썬을 학습하면서 새로 정의한 함수의 기능을 측정할 때 사용했다. 즉, 해당 함수가 시작될 때 시간을 측정하고 함수의 기능이 모두 종료된 후에 시간을 측정하여 그 값의 차를 구해 함수의 총 수행시간을 계산하여 출력하는 데코레이터를 만들어 활용했었다.

 

데코레이터의 구조

 함수로 만드는 데코레이터는 일반적으로 아래와 같은 구조를 가지고 있다.

def out_func(func):  # 기능을 추가할 함수를 인자로
    def inner_func(*args, **kwargs):
        return func(*args, **kwargs)
    return inner_func
def decorator(func):
    def wrapper(*args, **kwargs):
       
        print('전처리')   
        print(func(*args, **kwargs))
        print('후처리')
    return wrapper
@decorator
def example():
    return '함수'
example()
'''''''''
전처리
함수
후처리
'''''''''

 

 또한, 클래스로 만드는 데코레이터 구조는 다음과 같다.

class Decorator:

    def __init__(self, function):
        self.function = function

    def __call__(self, *args, **kwargs):
        return self.function(*args, **kwargs)
class Decorator:

    def __init__(self, function):
        self.function = function

    def __call__(self, *args, **kwargs):
        print('전처리')
        print(self.function(*args, **kwargs))
        print('후처리')
@Decorator
def example():
    return '클래스'
example()
'''''''''
전처리
클래스
후처리
'''''''''

 

 

함수형 데코레이터 사용 예제

import datetime


def datetime_decorator(func):
        def decorated():
                print datetime.datetime.now()
                func()
                print datetime.datetime.now()
        return decorated



@datetime_decorator
def main_function_1():
        print "MAIN FUNCTION 1 START"


@datetime_decorator
def main_function_2():
        print "MAIN FUNCTION 2 START"


@datetime_decorator
def main_function_3():
        print "MAIN FUNCTION 3 START"

 

  • 먼저 decorator 역할을 하는 함수를 정의하고, 이 함수에서 decorator가 적용될 함수를 인자로 받는다. python 은 함수의 인자로 다른 함수를 받을 수 있다는 특징을 이용하는 것이다. 
  • decorator 역할을 하는 함수 내부에 또 한번 함수를 선언(nested function)하여 여기에 추가적인 작업(시간 출력) 을 선언해 주는 것이다. 
  • nested 함수를 return 해주면 된다. 

 

클래스형 데코레이터 사용 예제

import datetime


class DatetimeDecorator:
        def __init__(self, f):
                self.func = f

        def __call__(self, *args, **kwargs):
                print datetime.datetime.now()
                self.func(*args, **kwargs)
                print datetime.datetime.now()


class MainClass:
        @DatetimeDecorator
        def main_function_1():
                print "MAIN FUNCTION 1 START"

        @DatetimeDecorator
        def main_function_2():
                print "MAIN FUNCTION 2 START"

        @DatetimeDecorator
        def main_function_3():
                print "MAIN FUNCTION 3 START"


my = MainClass()

my.main_function_1()
my.main_function_2()
my.main_function_3()

 decorator를 class로 사용하고 싶다면 위와 같이 __call__ 함수로 decorator 형식을 정의해 주면된다.  class의 __call__ 함수로 정의해주는게 nested 함수 형식으로 정의한 것 보다 더 깔끔해 보인다. 

 

데코레이터 실 사용 예제

학생들의 평균을 계산하는 코드를 일단 아래와 같이 작성하였다.

score = [(100, 100), (95, 90), (55, 60), (75, 80), (70, 70)]

def get_avg(score:list):
	# 리스트와 반복문을 사용
    # 학생별 평균
    for index, point in enumerate(score):
    	print(f'{index+1}번, 평균 : {sum(point)/len(point):.1f}')

만약 위의 함수가 교내 교직원만 사용되어야 하는 함수라서 교직원의 코드를 입력해야만 사용할 수 있다고 가정한다면 교내에서만 사용하는 코드를 확인하고 실행할 수 있는 데코레이터 함수를 선언할 수 있다.

def need_code(func):
	def wrapper(*args, **kwargs):
    	code = "1234"
        input_pw = input("비밀번호를 입력하세요 : ")
        if input_code == code:
        	result = func(*args, **kwargs)
        else:
        	result = "잘못된 코드입니다.
        return result
    return wrapper

 위에서 설명했듯 데코레이터를 선언하고 사용하면 결과적으로 wrapper 함수가 실행되는 것이다. input으로 코드를 입력받고 코드가 맞으면 데코레이터를 함수로 전달한 func 죽, get_avg() 함수를 실행하고, 코드가 맞지 않으면 "잘못된 코드입니다." 를 반환한다. 

 

Truly great madness cannot be achieved without significant intelligence.

 

 


BCG 매트릭스 (BCG Matrix)

 시장전략 수립을 돕기 위한 사고툴로 BCG(Boston Consulting Group)에서 개발했다.

 성장-점유율 매트릭스(Growth-share Matrix)라고도 부르며, 시장 성장률과 상대적 시장 점유율이란 기준을 활용한다. 이를 네 영역으로 나누어 해당 사업에 대한 추가 투자와 철수 여부 등을 결정할 수 있도록 돕는다. 시장 성장률 기준은 10%, 상대적 시장점유율 기준은 (log값)1이 쓰이나 국가, 시장별 산업분석 시 이 기준에 따른 한계가 제기된다.

  • 스타(Star)사업 : 수익성과 성장성이 크므로 지속적인 투자가 필요하다.
  • 캐시카우(Cash Cow)사업 : 기존의 투자에 의해 수익이 계속적으로 실현되므로 자금의 원천사업이 된다.
  • 물음표(Question Mark)사업 : 신규사업으로 기업의 행동에 따라서는 차후 스타트업이 되거나, 도그사업이 될 수 있다.
  • 도그(Dog) 사업 : 사양사업, 성장성과 수익성이 없는 사업으로 철수해야 한다.


엔젤투자 (Angel Investment)

 벤처기업이 필요로 하는 자금을 개인 투자자들이 지원해주고 그 대가로 주식을 받는 투자

 기업 초기에 투자하는 방식으로, 기업을 창업하는 사람들 입장에서는 천사같은 투자라고 해서 붙여진 이름이다. 통상 여럿의 돈을 모아 투자하는 투자클럽의 형태로, 창업하는 벤처기업에 필요한 자금을 대고 주식으로 그 대가를 받는다. 다음의 두 가지 경우가 있다. ①(직접투자) 개인이 기업과 직접 접촉해 투자하거나 여럿이 모여 정보를 공유하고 기업설명회(IR) 등을 함께 듣는 엔젤클럽 활동을 통해 자기 책임하에 투자하는 방법이다. ②(간접투자) 49명 이하의 개인이 모여 결성하는 개인투자조합(펀드)에 출자하는 방식으로 투자 대상 선정은 펀드매니저 역할을 하는 업무집행조합원(GP)이 담당하는 방법이다. 


 린스타트업 (Lean Startup)

 단기간 동안 제품을 만들고 성과를 측정해 제품 개선에 반영하는 것을 반복하며 시장에서의 성공 확률을 높이는 경영 방법론

 아이디어를 빠르게 최소요건제품(시제품)으로 제조한 뒤 시장의 반응을 통해 다음 제품 개선에 반영하는 전략으로, 일단 시제품을 제조해서 시장에 내놓고 반응을 살펴 제품을 수정해 나가는 것이 핵심이다. 미국 벤처기업가 리스(Eric Ries)가 만들어 낸 개념이다.


 MBO (Management Buy-Out)

 경영자매수, 기업 매각 시 해당 기업에서 근무하고 있는 경영진이 중심이 돼 기업이나 일부 사업부를 인수하는 것

 기업이 계속해서 적자를 내거나 기업 경영에 한계가 드러나 이를 팔 경우, 해당 기업의 경영진이 기업의 전부 또는 일부 사업부나 계열사를 인수하는 기업 구조조정의 한 방법이다. MBO는 자금조달이 쉽고 성공 확률이 높으며, 정리해고를 완전히 피할 수는 없다 하더라도 다른 방법보다는 해고의 비율이 적다는 이점 때문에 한국에서도 국제통화기금(IMF) 체제 이후 많은 관심을 모았다.


 MBO (Management By Objectives)

 근로 의욕을 향상시키기 위한 목표 관리 방법

 상사와 직원의 지속적인 면담 및 피드백 방식을 활용하는 것이며 이를 통해 목표 설정단계부터 직원이 개입하면서 목표 지표 및 수준을 지속적으로 수정해가면서 목표를 달성하는 방법이다.


SWOT 분석

 기업의 강점, 약점, 기회, 위협요인을 규정하고 이를 토대로 경영전략을 수립하는 것

 기업의 내부환경과 외부환경을 분석하여 강점(Strength), 약점(Weekness), 기회(Opportunity), 위협(Threat) 요인을 규정하고 이를 토대로 경영전략을 수립하는 기법으로, 미국의 경영컨설턴트인 험프리에 의해 고안되었다. SWOT분석은 방법론적으로 간결하고 응용범위가 넓은 일반화된 분석기법이기 때문에 여러 분야에서 널리 사용되고 있다. 개인에게도 적용 가능하다. 


적대적 인수합병(M&A)과 방어전략

 어느 한편이 상대 기업의 의사에 반하여 강제적으로 경영권을 탈취하고자 하는 것과 이에 대한 방어 전략

 우호적 M&A는 협상을 통해 진행되므로 그 진행 과정이 공개되는 반면, 적대적 M&A에서는 매수자가 인수 대상 기업의 경영건을 완전히 장악한 뒤에야 전면에 등장하기 때문에 적대적 M&A 여부는 사후적으로 혹은 M&A가 시도되면서 표면화된다. 적대적 M&A방어전략은 사전, 사후, 또는 매수비용증가, 재무전략, 정관개정의 방법으로 나눌 수 있다. 대부분 건전한 기업지배구조에 반하는 방법들이기 때문에 주의를 요한다.

 사전전략 독약조항(Poison pill, 포이즌필), 법이나 정관의 개정 촉구, 시차이사제(Staggered Board), 의결권 제한, 합병 시 초과다수 의결제 채택, 공정가 수정, 황금낙하산(Golden Prachutes)
 사후전략 전면거부, 법적소송, 녹색메일(GreenMail), 자사주매입 후 우호주주에게 판매, 레버리지의 인위적 증가, 핵심사업부를 제 3자에게 매각 시도(Crown Jewel Defense), 팩맨(Pac Man)방어, 백기사(White Knight)방어, 백지주(White Squire) 방어

황금 낙하산 (Golden Parachutes)

 적대적 M&A를 방어하기 위해 인수 대상 기업의 이사가 임기 이전에 물러나게 될 경우 거액의 이득을 주도록 한 것

 기업을 인수하려면 비싼 낙하산을 투입해야 한다는 뜻을 담고 있다. 적대적 M&A의 공격에서 살아남은 월가의 방식을 설명하는 것으로 최고경영자가 적대적 M&A에 대비하여 다소 높게 책정해 놓은 거액의 퇴직금, 스톡옵션, 명예퇴직 등을 전제로 한다. 기업 인수 비용을 높게 함으로써 사실상 M&A를 어렵게 만들어 경영권을 지키기 위한 방어수단으로 도입되었다. 


 팩맨 방어 (Pac Man Defence)

 방어자가 공격자의 주식을 매입하는 방법으로 적대적 M&A에 맞서 대결하는 방법

 비디오게임 중 하나인 팩맨(Pac Man)의 게임방식에서 유래된 적대적 M&A에 대한 방어전략이다. 유령을 두려워하던 게임 속 주인공이 유령을 잡아먹으면 오히려 강해지는 것처럼, 적대적 M&A를 시도하는 기업이 공개매수를 해올 때 여기에 맞서 매수대상 기업이 역으로 적대적 인수기업의 주식을 매수하는, 적극적 매수방어책을 말한다. M&A를 시도하는 회사가 상장법인 등일 때 상대 회사의 주식을 10%이상 매집함으로써 상호 의결권을 행사할 수 없게 하는 것이다. 


 승자의 저주(Winner's Curse)

 경쟁에서는 이겼지만, 승리에 이르기까지 지나치게 많은 것을 쏟아 부음으로써 결과적으로 너무 많은 것을 잃게 되는 것

M&A를 할 때 너무 높은 가격에 인수함으로써 인수 주체의 발목을 잡는 현상을 이야기 할 때 종종 사용된다. 기업가치 추정치의 평균값이 진정한 가치와 같다 하더라도 우연적 요소를 포함하여 최고가를 제시한 참여자가 경매의 승자가 되므로 경매의 승자는 손해를 보는 것이 일반적이라는 것이다. 이 말은 1950년대 미국 텍사스 주의 해양 석유채굴권 경매에서 과도하게 달아오른 경매 분위기로 인해 낙찰가가 실제 가치보다 과도하게 결정된 사례에서 유래했다. 


 포이즌필 (Poison Pill)

 기존 주주들이 손쉽게 주식 지분을 늘릴 수 있도록 해주고 반대로 적대적 M&A를 시도하는 공격자가 충분한 주식 지분을 획득하기 어렵게 만드는 것

 적대적 M&A나 경영권 침해 시도 등 특정 사건이 발생하였을 때 기존 주주들에게 회사 신주를 시가보다 훨씬 산 가격으로 매입할 수 있는 콜옵션을 부여함으로써 적대적 M&A 시도자로 하여금 지분확보를 어렵게 하여 경영권을 방어할 수 있도록 하는 것이다. 콜옵션을 사용한 플립오버필이나 플립인필, 전환옵션이나 상환옵션을 가진 백엔드필도 이에 해당한다. 


 그린메일 (Green Mail)

 기존 대주주에게 M&A를 포기하는 조건으로 일정한 프리미엄을 얻어 주식을 매입하도록 요구하는 행위

 보유주식을 팔기 위한 목적으로 대주주에게 편지를 보낼 때 초록색인 달러화를 요구한다는 의미에서 이 용어가 유래되었다. M&A 위협을 통해 주식의 시세차익을 노리는 것이 목적인 경우가 많으며, 이것을 수락할 경우 경영권을 방어할 수 있으나 자금 부담이 매우 크고, 일반 주주와의 형평성 문제가 발생할 수 있다. 경영권이 취약한 대주주에게 보유주식을 높은 가격에 팔아 프리미엄을 챙기는 투자자들을 그린메일러 (Green Mailer)라고 한다. 


 섀도보팅 (Shadow Voting)

 정수 미달로 주주총회가 무산되지 않도록 하기 위해 참석하지 않은 주주들의 투표권을 행사할 수 있는 일종의 의결권 대리행사 제도

 주주총회 참석 주주의 찬성과 반대 비율을 그대로 적용해 의결한다. 정족수가 모자라면 주총 자체가 성립되지 않기 때문에 참석인원 미달로 주총이 무산되는 것을 막기 위한 취지로 도입되었지만 실제로는 소수 경영진이나 대주주의 경영권 강화 수단으로 악용돼 '주주우선 경영원칙'에 위배된다는 비판을 받았다. 기업들이 소액주주들의 주주총회 참여를 독려하기보다는 섀도보팅을 이용해 보다 쉽게 정족수 확보를 꾀하려 하기 때문이다. 국내에선 2017년에 폐지되었다.


 집중투표제 (Cumulativae Voting)

 이사를 선임함에 잇어 선임하고자 하는 이사의 수만큼 의결권을 1주식의 주주에게 부여하는 제도

 집중투표제는 1주 1의결권의 원칙에 대한 에외이며 소수파 주주도 자기가 적당하다고 생각하는 사람을 이사로서 선임하여 이사회에 진출시킬 수 있도록 한 제도이다. 이 제도에 따르면 2명 이상의 이사 선임을 목적으로 열리는 주주총회에서 주주는 1주마다 선임에정 이사와 같은 수의 의결권을 가지며 (의결권 = 보유주식수 * 이사후보 수) 이 의결권을 후보자 한 사람 또는 몇 명에게 집중적으로 행사하여 득표 수에 따라 차례로 이사를 선임하게 된다. 기업에서 2명 이상의 이사를 뽑을 때 3%이상의 지분을 보유한 주주가 요청하면 시행할 수 있는데, 각 주주는 선임할 이사 수에 자신이 보유한 주식의 수를 곱한 만큼의 의결권을 갖는다. 예를 들면 5명의 이사를 선출할 때 1만주를 가진 주주의 의결권은 5만주가 되는 것이다. 집중 투표제는 누적투표제라고도 한다.


 빅배스 (Big Bath)

 경영진 교체 시기에 앞서 부실자산을 한 회게연도에 반영해 실적 부진 책임을 전임자에게 넘기는 것으로 목욕을 깨긋이 해서 더러운 것을 없앤다는 뜻에서 유래

 새로운 최고경영자 (CEO)가 취임했을 때 많이 일어나는 현상이다. 과오를 이전 CEO에게 모두 돌리고 앞으로의 향후 실적향상과 같은 긍정적인 요소는 자기의 공으로 돌릴 수 있다. 자산처리항목의 비용처리, 감가상각 변경, 재고산출 변경 등의 방법이 있다.


 크림 스키밍 (Cream Skimming)

 기업의 이익이 많이 창출될 것으로 판단되는 시장에만 진입하려는 현상

 기업들이 서비스나 상품을 유리한 시장만 골라 제공하거나 진입하려고 서로 겨루는 현상이다. 원유(우유) 중에서 맛있는 크림(유지, 유피 등) 만을 분리, 채집하는 데서 유리되었다. '단맛 골라 먹기'라고도 한다. 경제학에서는 쉽게 돈을 벌 수 있는 시장에 사업자들이 서로 달려든다는 의미로 쓰이기도 한다.

+ Recent posts