2021년 8월 29일 일요일

파이썬의 기본 문법

컴퓨터 공부는 '백물이 불여일타'. 어려운 말들 늘어놓고 이말 저말 암기하려고 하면 공부하기가 힘듭니다. 컴퓨터 공부는 일단 두드려 보고, 만들어 보는 것이 가장 빠르게 학습을 하는 길이라고 생각합니다. 파이썬 공부를 처음 시작하시는 분들을 위해서 만든 포스팅입니다. 파이썬 언어의 특징, 자료 구조 등등 이론적 토대는 별도로 공부를 하시길 바랍니다.

온라인 컴파일러


파이썬 문법 공부는 아래의 사이트를 통해서 진행하시면 됩니다. 실제로는 파이썬을 설치해서 사용해야 하지만 그것은 나중에 꼭 필요할 때 하시는 것으로 하고, 일단 문법 공부를 간단하게 하는 정도는 온라인 컴파일러를 사용하시는 것을 추천합니다. 

맥북이나 맥에는 파이썬이 기본적으로 깔려 있습니다. 터미널 사용법을 아시는 분은 터미널에서 파이썬을 구동해서 공부해도 됩니다.

일단 파이썬 설치를 못 하는 분들을 위해서 3개의 사이트를 추천해 드리겠습니다. 취향에 맞는 곳에서 공부하시면 됩니다.


기초문법


이제부터는 글을 평어체로 쓰겠습니다.

변수와 자료형


파이썬은 변수 선언을 할 때 데이터 타입을 명시하지 않는다. 또한, 자바스크립트의 변수 선언부처럼 'var'와 같은 것도 사용할 필요가 없다.
a = 10
위와 같이 사용하면 그만이다. 변수 a는 int값 10을 갖게 되었다.
a = 10
print(a)
print(type(a))
변수 a에 담긴 값과 데이터 타입을 확인해 보면 그 결과는 다음과 같다.




변수 a에는 숫자 10이라는 값이 담겨 있으며 데이터 타입은 int형임을 알 수 있다. 어디서나 이렇게 유연하게 변수 선언을 하면 된다.
count = 20
math, english = (90, 100)
name = "Jongsik"
option = True
memo = "Good morning"
score = 90.5
companies = ["LG", "Samsung", "Hyundai"]

print(count, math, name, option, memo, score, companies)
print(type(count), type(math), type(name), type(option), type(memo), type(score), type(companies))
자료형을 몇가지 더 사용해보았다. 위에서 아래로 count, math, name 등의 변수를 선언하였다. 순서대로 정수형, 정수형(튜플 이용), 문자열, 불리언, 문자열, 실수형, 리스트 형태의 자료가 사용되었다.

변수가 가진 값들을 그대로 print한 것과 각 변수의 자료형태를 print한 결과는 다음과 같다.


이처럼 파이썬은 자료형을 별도로 설정하지 않아도 들어가는 값에 따라 자동으로 자료형태가 설정된다.

주석

"""
파이썬입니다!
기본적인 변수 사용법에 대한 연습장
여러줄 주석은 이렇게 사용합니다
"""

# 리스트 타입 (한줄 주석)
companies = ["LG", "Samsung", "Hyundai", "Google", "Amazon"]

print(companies)
print(companies[0])
print(companies[2])
print(companies[3][0])
print(companies[3] + companies[4])
이번에는 주석문을 사용하였다. 한줄 주석은 #을 사용하면 된다. 주석문을 여러줄로 사용하고 싶은 경우에는 홑따옴표나 쌍따옴표를 3개 연속으로 사용하고 이것으로 감싸주면 된다. 보통 IDE를 사용할 경우에는 윈도우는 Ctrl + / 맥은 Option + / 키를 사용하면 편리하다.

리스트와 딕셔너리


리스트 타입을 다룰일이 많을테니 리스트 타입을 다루는 아주 기본적인 방법 몇가지만 짚고 넘어가보자. 위의 코드를 실행하면 5개의 print문이 아래와 같이 출력된다.





companies라는 변수는 5개의 회사 이름이 각각의 원소로 존재하는 리스트를 갖고 있다. 이것을 그냥 print문으로 출력하면 목록과 목록이 가진 원소값들 그러니까 회사 이름이 그대로 출력된다.

다른 언어들이 배열을 다룰 때 처럼 대괄호를 사용하면 특정한 원소값만 출력할 수 있다. 가장 앞에 있는 원소값 즉, companies[0]을 출력하면 목록에서 가장 앞에 있는 'LG'가 출력된다. 당연히 companies[2]를 출력하면 3번째에 있는 'Hyundai'가 출력된다.

companies[3][0] 이 부분이 재미있다. 다른 언어에서는 2차원 배열에 속한 원소값을 꺼내올 때 이렇게 사용한다. 위의 예제에서는 'G'가 출력된다. 4번째에 있는 원소 'Google'에서 다시 첫번째에 있는 글자인 'G'를 추출한 것이다.

마지막으로 4번째 원소와 5번째 원소를 단순히 더하기 하면 결과값은 'GoogleAmazon'이다. 위의 예제에서 리스트에 포함된 모든 원소는 문자열이기 때문에 문자열을 더하면 단순히 문자열이 합해진 값이 결과로 출력된다.
a = "We are Korean!"

print(a)
print(a[:])
print(a[0])
print(a[:5])
print(a[4:8])
변수 a에 담긴 값은 단순한 문자열이다. 파이썬은 유연해서 단순 문자열에 포함된 각 문자도 하나의 원소로 취급할 수 있다.

리스트를 다룰때와 마찬가지로 대괄호 []를 사용하여 문자열에 포함된 특정한 문자를 추출할 수 있다. 파이썬은 리스트에 포함된 원소를 추출하거나 슬라이싱 하기 위해서 콜론을 이용한다. 독특하고 편리하게 원하는 값을 추출할 수 있다.

[:]를 사용하면 리스트의 모든 값을 출력한다. [:5]는 [0:5]와 동일하다. 첫번째 글자부터 6번째 글자까지 슬라이스 하여 추출하라는 의미이다. [4:8]은 5번째 글자부터 9번째 글자까지 출력하라는 의미이다. [4:]라고 하면 5번째 글자부터 마지막까지 모두 출력하라는 의미이다. 위의 예제를 실행하면 결과값은 아래와 같다.






이상에서 소개한 자료형 외에도 파이썬은 다양한 자료형을 제공한다. 복소수 형태라던가 딕셔너리도 제공한다. 복소수는 사용할 일이 많을지 모르겠지만 딕셔너리는 이야기가 나온김에 간단하게 살펴보고 넘어가자.
user = { "name": "Jongsik", "age": 39, "sex": "male" }

print(user)
print(user["name"])
print(user["age"])
딕셔너리는 "키:밸류" 쌍으로 이루어진 값들의 집합이다. JSON을 많이 사용해 보았다면 익숙한 형태일 것이다. 파이썬의 딕셔너리는 JSON으로 다시 JSON은 딕셔너리로 입출력이 편리하다.




위의 예제를 출력한 결과값은 이와 같다. 다른 프로그래밍 언어에서 딕셔너리를 다루는 법과 거의 동일하다.

분기처리 제어문, if


이제 제어문의 기본적인 형태를 살펴보자.
a = True

if a == True:
    print("결과는 참")
else:
    print("결과는 거짓")
    
------------------------
>> 결과는 참
변수 a에 불리언 값 True를 주었다. if문을 사용해서 a의 값이 참이면 '결과는 참'이라는 문장을 출력하고 거짓이면 '결과는 거짓'이라는 문장을 출력하는 아주 간단한 코드이다.

다른 프로그래밍 언어와 별달리 다른 점은 없다. 다만, 파이썬만의 특성이 몇가지 있는데 그 부분만 짚고 넘어가면 되겠다.

우선 파이썬의 제어문에는 보통의 다른 언어와 달리 괄호가 없다. 그냥 조건문을 작성하고 콜론(:)을 사용하여 해당 문장을 마무리하면 된다. 콜론을 빠뜨리면 에러가 난다.

그리고 조건문 이후에 오는 문장은 인덴테이션을 받드시 해주어야 한다. 파이썬은 문장의 끝을 알리는 세미콜론(;)을 사용하지 않는 만큼 정확한 인덴테이션을 요구한다. 따라서, 인덴테이션을 제대로 해주지 않아도 구문 오류가 난다. 주석문 조차도 마음대로 달련 오류가 나니 인덴테이션을 제대로 맞춰주도록 한다.
age = 39

if age >= 10 and age <= 19:
    print("당신은 10대입니다")
elif age >= 20 and age <= 29:
    print("당신은 20대입니다")
elif age >= 30 and age <= 39:
    print("당신은 30대입니다")
else:
    print("당신은 청년은 아닙니다")
    
------------------------
>> 당신은 30대입니다
이번에는 변수 a에 39라는 정수를 어싸인하였다. 변수 a에 있는 값으로 현재 세대를 판정하는 간단한 if ~ elif ~ else 제어문이다.

이것도 다른 프로그래밍 언어와 별로 다른 부분은 없지만 파이썬의 특징이 몇가지 있다. 우선 파이썬은 &&, || 와 같은 연산자를 사용하지 않는다. 파이썬에서는 해당 연산자를 곧이 곧대로 and, or 라고 사용하면 된다.

그리고 조건이 여러가지인 경우에 다른 언어에서의 else if 문을 파이썬에서는 elif로 사용한다. 일단은 이 부분만 중점적으로 숙지하면 된다.
car = {"benz", "bmw", "audi"}

if "benz" in car:
    print("독일차 명단에 존재합니다")

--------------------------------
독일차 명단에 존재합니다
딕셔너리나 목록에 특정한 값이 포함되어 있는지 in 을 사용하여 간단하게 체크할 수 있다.
member = { "Jinsu", "Mihee", "Sohee" }

if "Jongsik" not in member:
    print("Jongsik은 멤버가 아닙니다")
위와 같이 not을 사용하여 목록에 포함되지 않은 값을 처리할 수도 있다. 다른 프로그래밍 언어 경험이 있다면 !in과 같은 방법을 시도하는 분도 있을텐데 이 구문은 잘못된 구문으로 오류를 뱉는다. not in이라고 정확하게 쓰자.

반복문, for


프로그래밍 언어에서 사용하는 제어문의 양대산맥 중 하나인 if문을 이용한 분기처리 문법에 대해서 수박 겉핥기로 알아보았다. 이제 나머지 한쪽 산맥인 반복문에 대해서 알아보자.

여러가지 형태의 반복문 중 단연 많이 쓰이는 것은 for문이다.
for i in range(0, 5):
    print(i)

결과:----------------------
0
1
2
3
4
가장 간단한 형태의 for문이다. 0에서 시작해서 4까지 총 5바퀴를 돌면서 i값을 출력하는 코드다. 다른 언어와는 조금 다른 점이 보이는데 하나씩 짚어보자.

우선 range라는 부분이 독특하게 여겨질 것이다. range는 다음과 같이 사용한다. range(시작숫자, 끝나는 숫자, 증가값). 여기서 시작숫자와 증가값은 생략할 수 있다. 시작숫자를 생략하면 0에서 끝 숫자까지 도는 것이고, 증가값을 제외하면 다른 언어의 ++과 비슷한 효과를 가지며 한바퀴 돌 때 마다 값을 1씩 증가시킨다.

for문도 if문과 마찬가지로 선언문이 끝나는 부분에 세미콜론(:)을 사용해주고, 그 다음줄부터는 들여쓰기(인덴테이션)를 제대로 맞추어 주저야 한다. 그렇지 않으면 구문 오류로 코드가 실행되지 않는다.

위의 예제는 for 문을 돌리면서 선언한 변수 i에 한바퀴 돌 때마다 0에서 4까지 숫자를 1씩 증가시키면서 i를 i++ 처리하는 예제다. range의 끝나는 숫자 바로 앞의 숫자까지 for문이 돈다.
numbers = [1, 3, 7, 9, 12]

for i in numbers:
    print(i)
    
결과:----------------------
1
3
7
9
12
리스트에 있는 원소의 숫자만큼 for문을 돌고 각 원소를 하나씩 꺼내서 뿌려주는 코드다.

반복문, while


while은 조건이 참인 경우에 루프를 도는 반복문이다. 기본적인 문법은 다음과 같다.

while 조건문:
    실행되는 코드
For 문과 달리 튜플을 돌거나 변수 생성을 하지 않느다. 조건문이 True인지 False인지를 체크하고 조건문의 결과가 True인 경우에만 루프를 돈다.
debt = 1000
due = 0
while debt > 0:
    debt = debt - 100
    due = due + 1
    print("상환 {0}개월차, 빚 100만원을 갚았습니다".format(due))
    print("남은 빚은 {0}만 원입니다".format(debt))
    
    if debt == 0:
        print("모든 빚을 갚았습니다")

결과: -----------------------------
상환 1개월차, 빚 100만원을 갚았습니다
남은 빚은 900만 원입니다
상환 2개월차, 빚 100만원을 갚았습니다
남은 빚은 800만 원입니다
상환 3개월차, 빚 100만원을 갚았습니다
남은 빚은 700만 원입니다
상환 4개월차, 빚 100만원을 갚았습니다
남은 빚은 600만 원입니다
상환 5개월차, 빚 100만원을 갚았습니다
남은 빚은 500만 원입니다
상환 6개월차, 빚 100만원을 갚았습니다
남은 빚은 400만 원입니다
상환 7개월차, 빚 100만원을 갚았습니다
남은 빚은 300만 원입니다
상환 8개월차, 빚 100만원을 갚았습니다
남은 빚은 200만 원입니다
상환 9개월차, 빚 100만원을 갚았습니다
남은 빚은 100만 원입니다
상환 10개월차, 빚 100만원을 갚았습니다
남은 빚은 0만 원입니다
모든 빚을 갚았습니다
빚 1000만 원을 변수 debt가 갖고 있다. while 문은 빚을 모두 값아서 0원이 될 때까지 루프문을 돈다. 루프를 한바퀴 돌 때 마다 빚을 100만원 씩 갚아 나가고, 기간을 1개월씩 증가시킨다. 최종적으로 빚을 모두 갚으면 빚을 모두 갚았다는 문구를 출력하고 루프문을 종료하는 간단한 코드이다.

continue, break, pass


continue : 반복문의 초반으로 돌아가서 다음 반복문을 계속 실행한다.
break : 반복문의 실행을 중단하고 빠져나간다.
pass : 처리될 구문은 있지만 처리할 일은 없을 때 익셉션을 방지하기 위해 사용한다.

먼저 break는 제어문을 탈출할 때 사용한다. 간단한 사용 방법은 다음과 같다.
for a in range(0 ,10):
    if a == 3:
        break
    print(a)

결과:--------------------
0
1
2
위의 구문은 변수 a에 0부터 9까지 총 10바퀴를 돌면서 숫자를 할당하고 출력하게 하는 코드이다. if 문 안에 break가 걸려있다. for문이 3바퀴를 돌고나면 break가 걸리면서 이 루프문은 종료된다. break는 이렇게 루프를 종료하고 빠져나가는 역할을 갖고 있다.
for a in range(0 ,10):
    if a == 3:
        continue
    print(a)
결과:--------------------
0
1
2
4
5
6
7
8
9
이 구문은  앞의 구문과 동일하다. break가 있던 부분에 continue가 들어간 것만 다르다. break와 달리 continue는 루프를 계속 돈다. 파이썬 인터프리터가 continue를 만나는 순간 아래에 있는 코드는 무시하고 곧장 다시 루프문의 다음 바퀴를 돌기 위해 올라간다. 그리고 다시 루프를 계속 돈다.

결과를 보면 0에서 9까지 10바퀴의 루프를 도는 동안 3번은 print가 되지 않은 것을 확인할 수 있다. 3바퀴째에 print 구문에 도달하기 전에 continue를 만났기 때문이다.
def test(a):
    
print (test("안녕!"))

결과:----------------------
File "<string>", line 3
    print (test("안녕!"))
    ^
IndentationError: expected an indented block
위의 코드는 test라는 함수를 만들어서 print 구문을 통해서 test 함수를 호출한다. test 함수 안에는 아무런 내용도 없다. 그래서 코드를 실행하면 블럭에 코드가 비어 있다고 에러를 뱉는다. 이런 에러를 방지하기 위해서 pass를 사용한다.
def test(a):
    pass
    
print (test("안녕!"))

결과:----------------------
None
함수 블럭은 생성되었지만 할 일이 없는 경우에 pass를 사용하여 indented block 익셉션을 방지하였다.

외부 모듈 불러오기(import)


자바나 타입스크립트와 같이 파이썬도 import라는 구문을 사용할 수 있다. import를 사용하면 외부의 모듈을 가져와서 사용할 수 있다.
import 모듈명
이렇게 사용하면 해당 모듈을 모두 가져온다.
from 모듈명 import 기능명
이렇게 사용하면 모듈안에 있는 특정한 기능만 꺼내서 가져온다. 모듈은 파이썬이 제공하는 기본 모듈들이 있고, 세계의 여러 개발자들이 만들어 둔 오픈소스 모듈들도 있을거고 또 우리가 만드는 확장자 .py 파일도 외부 모듈로써 필요할 때는 언제든 외부의 .py 파일을 import 해서 사용할 수 있다.

기본모듈


파이썬에는 수 많은 기본 모듈이 제공된다. 파이썬에 내장된 기본모듈이므로 별도로 설치를 할 필요가 없다. 파이썬에서 제공하는 기본 모듈을 잘 활용하면 프로그램을 만들 때 매우 유용하게 사용할 수 있다. 그 중에서 몇 가지 표준 모듈만 살펴보자.

우선 math 모듈을 사용한 예제다. math 모듈은 복잡한 수학 계산을 편리하게 처리할 수 있도록 도와주는 함수들을 제공한다. 복소수는 cmath 모듈에서 지원한다.
import math

print(math.fabs(-99))    # 절대값 반환
print(math.factorial(4)) # 팩토리얼값 반환
print(math.isnan(10))    # 숫자이면 False 반환
print(math.isqrt(16))    # 제곱근 반환
print(math.log(24))      # 자연로그 반환(밑 e)
print(math.pow(3, 3))    # 거듭제곱 반환

결과:-------------------------
99.0
24
False
4
3.1780538303479458
27.0
math 모듈에서 지원하는 함수 몇가지만 사용해 본 예제다. 위와 같이 사용하면 된다.

json을 인코딩/디코딩 할 때 매우 편리하게 사용할 수 있는 json 모듈 등 유용한 기본 모듈이 상당히 많이 지원되고 있다. 표준 라이브러리 목록과 사용 방법은 내용이 방대하므로 파이썬 공식 홈페이지에서 제공하는 매뉴얼을 참고하는 것을 추천한다. 

표준 라이브러리 매뉴얼 주소 : https://docs.python.org/ko/3/library/index.html

파이썬에는 멋진 외부 모듈도 많다. 대표적으로 선형대수 라이브러리인 넘파이와 같은 외부 모듈도 꼭 활용해보면 좋겠다. 파이썬의 기본 연산 속도가 느리다고 생각되면 이 모듈을 쓰면 대규모 숫자들의 빠른 연산이 가능하다. 그리고 표준편차, 분산, 푸리에 변환 등을 빠르고 편리하게 계산하고 사용할 수 있다.

넘파이에 대한 이야기가 나왔으니 넘파이에 대해서 정리를 잘 해둔 블로그가 있어서 링크를 해두니 참고하자.

f-string 포맷팅


파이썬2까지는 문자열을 다룰 때 C에서 썼던 %-포맷팅 방법을 쓰거나 위의 while문 예제에서 사용했던 {}.format() 포맷팅 방식을 썼다. 그러나 파이썬3에서는 가독성이 떨어지는 이런 방법을 쓰지 않고도 f-string 포맷팅 방법을 사용할 수 있게 되어서 가독성이 좋아졌다.

간단한 사용법은 다음과 같다.
name = "송종식"
age = 38
memo = f"안녕하세요. 제 이름은 {name}입니다. {age}살이에요."
print(memo)

결과:--------------------------
안녕하세요. 제 이름은 송종식입니다. 38살이에요.
리액트, Vue와 같은 프론트엔드 프레임워크에서 사용하는 보간자와 비슷한 방법으로 사용하면 된다.
price = 1000
amount = 5
memo = f"사과{amount}개에 {amount*price}입니다"
print(memo)

결과:--------------------------
사과5개에 5000입니다
이런식으로 f-string을 이용해서 바로 연산을 처리할 수도 있다.
profile = {"name": "Jongsik Song", "age": 38}
data = f'이름은 {profile["name"]}이고 나이는 {profile["age"]}살 입니다'
print(data)

결과:--------------------------
이름은 Jongsik Song이고 나이는 38입니다
리스트와 딕셔너리를 활용할 때는 이와 같이 처리하면 된다. 홑따옴표와 쌍따옴표 사용에 주의하자. f-string은 날짜처리를 비롯해서 더욱 다양한 기능을 지원한다. 잘 활용하면 정말 편리한 기능이니 숙지하자. 

f-string 포맷팅에 대한 더 많은 정보는 다음 링크를 통해서 확인하자.

형변환


파이썬은 형변환이 유연하다.
a = 10
print(type(a))
a = "10"
print(type(a))

결과:-----------------
<class 'int'>
<class 'str'>
변수에 들어가는 값의 자료형이 바뀌면 변수에 자료형 변경을 가하는 작업을 하지 않아도 자동으로 변수형이 변한다. 변수 a가 int형에서 string형으로 자료형이 변한 것을 확인할 수 있다.

이상으로 파이썬을 다루기 위한 가장 기초적인 문법에 대해서 다루어 보았다.


석유 고갈론

저는 1990년대에 초등학생(당시 국민학교) 시절을 보냈습니다. 시골에서도 한참 더 시골인 깡촌에서 초등학교를 다녔습니다. 그 당시엔 스마트폰과 같은 통신 장비가 있을리 만무했습니다. 대부분의 정보를 학교 도서관과 TV에서 얻었습니다. 그리고 집 밖으로 나오면 동네 어르신들과 학교 선생님들에게 얻는 정보가 전부였습니다.

당시에 시골 초등학교의 선생님들은 교과서에 있는 것들 말고도 어린 저희들에게 무언가 많이 주입시키고 가르치고 싶어 하셨습니다. 

돌이켜보면 세상물정을 하나도 모르는 아이들에게 정치적인 사상도 주입하려고 부던히 세뇌 작업을 하던 선생님들이 계셨습니다. 지금 생각하면 참 스승이 아니고 참 나쁜 어른이었다는 생각이 듭니다(물론 소수의 그런 분을 빼면 대부분의 선생님들은 현명하고 좋은 분들이셨습니다). 당시에는 너무 어렸으니 그런 개념조차 없었네요. 어쨌든 오늘은 그런 이야기를 하려는 것은 아닙니다.

당시에 몇몇 선생님들께서 귀에 딱지가 앉도록 경고를 하셨던 것들이 있습니다. 근래 그 중 두어가지가 기억에 남아서 계속 제 머리를 맴돕니다. 

너희가 어른이 되면 석유는 고갈되어 있을 것이다


제 또래분들은 이 이야기가 기억이 날것입니다. 정말 기름이 곧 고갈된다는 소리를 귀에 딱지가 앉도록 들었습니다. 그래서 우리는 항상 에너지를 아껴써야 한다는 이야기를 들으면서 자랐습니다.

저희에게 이런 이야기를 해주셨던 사람들은 선생님들이었습니다. 물론 선생님들께서 악의적으로 저희에게 이런 이야기를 한 것은 아닐것입니다.

석유 매장량 <자료 : 한국경제신문>

그때 자료들을 찾아보니 실제 그때는 석유고갈론이 실재했습니다. 우리나라에서만 떠돌던 이야기는 아니고 1960년대부터 1990년대까지 세계적으로 떠돌던 이야기였습니다. 석유는 앞으로 20~30년치 밖에 남지 않았다. 항상 이 이야기가 당시 사람들에게 큰 걱정을 안겼던 것 같습니다.

그러나 2020년대를 살아가는 지금 확인해보면 당시보다 석유 매장량은 훨씬 많이 늘어났습니다. 고갈되기는 커녕 우리가 살아가는 동안에 펑펑 쓰고도 남을 유전이 발견되고 석유가 생산되고 있습니다.

너희가 어른이 되면 물을 돈주고 사먹는 시대가 올것이다


사회시간이었나? 잘 기억은 안 나지만 어떤 선생님께서는 이렇게 말씀하셨습니다. "너희가 어른이 된 미래에는 물도 돈을 주고 사 먹어야 할지도 모른다. 이유는 환경오염이 걷잡을 수 없이 심해져서야. 그리고 물도 점점 말라서 없어 질지도 몰라."

이 선생님께서 해주셨던 이야기 중 원인은 틀렸고, 결과는 현재 맞아 떨어졌습니다. (국내 생수는 94년부터 시판)

자료 : 매일경제

일단 다른 나라의 사정은 잘 모르겠습니다. 나라마다 지역마다 처한 상황이 워낙 다를 것이기 때문입니다. 그러나 하나 확실한 것은 우리나라는 환경 때문에 물을 사먹는 것은 아니라는 점입니다.

저희가 어릴때도 수돗물에 불소가 들어있으니 충치가 예방된다고 그냥 먹으라고 했던 기억이 납니다. 근거가 있는 이야기였는지는 모르겠습니다. 그리고 2020년대인 지금도 서울에서는 아리수는 그냥 먹어도 된다고 홍보를 합니다. 문제는 노후상수관이지 넓은 범주에서 보면 일단 제 삶에서 환경 때문에 물을 사 먹는 것은 아닙니다.

다만, 건강과 기호를 위해서 설탕물 섭취를 줄이고 물을 사 먹는 경향이 더 큽니다. 그리고 물을 끓이거나 정수하기가 귀찮아서 편의를 위해서 생수를 사먹는 측면이 환경 때문에 먹을 물이 없다는 이유보다 더 큰 이유입니다.

과도한 공포마케팅에 현혹되지 말 것


위의 두 사례의 경우는 공통된 키워드가 있습니다. 그 키워드는 '미래에 대한 공포'입니다. 석유가 고갈될 것이라는 이야기는 나중에야 석유업자들과 국제 금융 권력이 만들어서 퍼트린 이야기라는 것이 정설이 되었습니다.

공포는 훌륭한 마케팅 수단입니다. 공포를 팔아 번영하는 분야는 대표적으로 보험과 종교가 있습니다. 

"살다가 병이 걸리거나 사고가 나면 막대한 돈이 지출돼. 그때는 감당이 안 될테니 보험하나 들어봐."
"우리 신을 믿지 않으면 너는 죽어서 평생 불구덩이 속에서 고통 받게 돼. 그러니 우리 신이 하는 이야기를 들어 봐"

또한, 공포는 분노와 결합하여 정치인들의 표 장사를 위해서도 중요한 도구로 사용됩니다. 자기와 생각이 다른 사람들이 권력을 장악하면 이 세상은 끝나고 말 것이라는 공포와 분노를 심어줍니다.

큰 틀에서는 어쩌면 우리 인생 거의 전체가 이 공포를 기반으로 한 불안이 삶 곳곳에 녹아 있습니다. 어느 정도의 미래에 대한 불안과 공포는 삶의 동력이 되기도 합니다. 그러나 너무 매몰되면 세상 모든 것을 부정적으로 볼 수 밖에 없게 됩니다. 일어나지도 않을 일을 일어난다고 믿으면서 엉뚱한 곳에 자원과 에너지를 소비하게 됩니다. 불필요한 과도한 공포를 갖지 않아도 해당 분야에서 열심히 문제해결을 위해 노력하는 사람들이 있습니다.

우리가 좋아하는 투자를 할 때도 그렇습니다. 리스크는 냉정하게 판단하고 관리 되어야 하지 미래를 온통 부정적으로만 보고 공포로만 보면 제대로 된 투자를 영위하기 어렵습니다.

물론, 미래에 대한 통찰과 전망을 꾸준히 할 수 있어야 하고 그래야만 합니다. 또한, 발생할 수 있는 일들에 대해서는 미리 생각과 준비를 해두고 언제든 대응은 할 수 있어야 합니다만, 100가지 일이 발생할 수 있는 사안 중에서 어떤 단 하나의 사안에만 매몰되어 편견을 갖고 의사결정을 내리는 것은 비합리적이라고 생각합니다.

선동 당하기 전에 생각하지 못했던 것


저희들에게 석유 고갈론을 설파하셨던 선생님들 역시 국제 투기자본 세력과 석유업자들에게 선동을 당한 것이었던 것입니다. 그러나, 지금에 와서는 결과론적인 이야기입니다만 생각의 거리를 한뼘만 더 늘려보았다면 의구심을 충분히 가질 수 있었습니다.

유전은 계속해서 새롭게 발견되며, 인류의 기술도 계속해서 발전합니다. 유전을 발견하는 기술, 시추 기술, 새로운 에너지원을 개발할 기술 그리고 에너지의 효율을 높일 기술 등이 있습니다.

물 오염 역시 마찬가지입니다. 애초에 물을 덜 오염시키는 쪽으로 발전할 수 있는 가능성, 그리고 오염된 물을 정수처리 할 수 있는 가능성 등 다양한 가능성의 문도 열어놓고 생각을 했어야 합니다.

그리고 물을 사 먹는 지금 시점에 생각해 볼 점도 있습니다. 지금은 당연하게도 누구나 공짜로 쓰고 있는 자원들. 그러니까 공기나 바람, 눈, 비와 같은 것을 파는 시장도 큰 시장이 될지도 모르겠습니다. 사실 공기를 사다 마신다는 이야기도 제가 태어나기 전 부터 나왔던 이야기고 이미 공기를 파는 업체들은 오래전부터 있어 왔습니다만, 아직 물 시장만큼 대규모 시장으로 키우지는 못하고 있습니다.

ESG, 기후변화 아젠다


원래 존재했건 존재하지 않았건 어떤 용어가 어느날 갑자기 사람들에게 급격하게 번지면서 회자되는 경우가 많습니다. 퍼뜩 떠오르는 단어 중에 웹2.0이 그랬습니다. 최근에 메타버스라는 단어도 그렇죠. 그리고 ESG도 그렇습니다.

메타버스나 ESG나 올해 들어서 갑자기 온 세상 사람들의 입에 오르내리고 있습니다. 그러나 이 단어들은 몇몇 소수의 사람들에 의해서 오랫동안 연구되고 다뤄지고 있던 것들입니다. 

특정 용어가 이렇게 갑자기 이슈가 되는것을 촉발하는 것은 언론입니다. 몇몇 언론에서 크고 굵은 폰트로 몇번만 대서특필하며 사람들에게 '마 이게 유행이다!'하고 논조를 밀어 붙이면 실제 그게 유행이 됩니다. 그리고 그 뒤에는 보통 자본가들이 있습니다.

이런 패러다임이나 유행어는 자세하게 까보면 대부분 크게 색다를 것이 없습니다. 그러나, 자본이 뭔가 이들이 색다른 것 처럼 포장을 하고 돈이 몰리도록 만듭니다.

기후변화? 무섭지 않아?


환경에 대한 경각심, 그 중에 특히 기후변화에 대한 부분은 정말 수 많은 사람들이 오래토록 경고를 해오고 있는 부분입니다. 방구석 일개 블로거인 저는 제 마음대로 글을 쓰지만 환경과 관련한 연구를 하는 수 많은 기관 소속 연구원 분들과 교수님들은 여러가지 근거와 팩트를 가지고 말씀을 하시죠. 그리고 그분들이 내놓는 연구 결과와 팩트들은 그분들의 화려한 스펙과 콜라보를 이루면서 위압감과 권위가 넘치는 자료가 되어 전세계에 타전되어 활용됩니다.

특히 그 자료는 새로운 먹거리를 찾는 세계의 대자본가들에게 요긴하게 쓰입니다. 위에서 했던 이야기를 연결해보면 기후변화도 사람들에게 과도한 공포를 심어주면서 자본가들이 원하는 방향으로 사람들을 이끌어가려는 시도중에 하나일 수도 있지 않을까 하는 내 안의 작은 음모론 하나가 있습니다.

과거에도 엄청난 대기근들은 많았습니다. 지구상의 거의 모든 생명체가 멸절할 정도의 대혼란도 있었습니다. 저는 지구에서 일어나는 변화들이 오롯이 인간들의 활동 때문인건지에 대한 의문이 많습니다. 학자들은 몇몇까지 과거와 다른 패턴들을 들어서 사람들을 설득합니다. (물론 이분들의 위대한 노력 덕분에 인간들의 삶이 더 나아지는 것도 사실이고 감사하게 생각합니다.)

최근의 환경 변화가 설령 사람들의 업보의 결과라 칩시다. 저는 그래서 발생하는 전염병의 증가, 기후의 변화 조차도 모두 우주와 지구의 자연 치유력이라고 생각합니다. 제가 가끔 블로그에서 언급하지만 인간들이 정말로 지구에 해를 끼치고 있다면 지구 입장에서 인간은 암세포와 같습니다(저 역시 지구에겐 암세포입니다). 인간을 때려 잡는 질병과 환경 요인들은 모두 지구 입장에서는 백신인 것이구요.

재미있는 것은 일단 지금까지 인간들은 여러가지 숱한 위기들을 넘기면서 인구를 불려왔습니다. 인간의 한계가 어디까지인지는 모르겠습니다. 그러나 일단은 지구 환경과 인간의 대결에서 인간이 승리하여 꽤 오랫동안 번영하리라 생각합니다.

그렇다고 환경을 마구 파괴하면서 살자는 이야기는 절대로 아니니 오해가 없으면 좋겠습니다.

ESG? 사다리 걷어차기?


개인적으로 최근 중국이 하는 행동들을 보면 참 비호감입니다. 그렇지만 ESG는 확실히 중국을 견제하기 위한 도구로 사용될 수 있다는 느낌을 받았습니다. 저만 그렇게 생각하는 줄 알았는데 의외로 이렇게 생각하는 분들이 많아서 놀랐습니다. 역시 사람들의 생각은 다 비슷하구나 싶었습니다.

ESG. 명분은 아주 좋습니다. 거역할 수 없는 명분들입니다. 그리고 당연히 저희 주식쟁이들 입장에서도 ESG 점수가 높은 기업에 투자하는 것이 좋겠구요. ESG는 전문분야입니다. 꽤 오래전 과거부터 존재하던 개념입니다. 과거에는 CSR이 주목을 받았고 ESG는 크게 주목을 못 받았습니다. CSR과 ESG가 아주 다르냐고 하면 그렇지는 않지만 결은 또 다릅니다.

어쨌든 아주 커다란 틀에서 보면 올해 들어서 갑자기 ESG가 급부상 하는 가장 큰 이유를 저는 미중패권 경쟁을 꼽습니다. 미중패권경쟁 나아가 서방권의 국가들과 범중화권의 힘 싸움 중에 튀어나와 사용되는 카드 중 하나가 ESG입니다. 중국은 E, S, G 모든 부문이 취약합니다.

글로벌 시장을 주무르는 몇몇 연기금들은 ESG 가이드라인을 철저히 지켜서 투자합니다. 여기서 벌써 많은 중국 기업이 탈락합니다. 중국 입장에서는 E, S, G 무엇하나라도 지키기가 힘든 실정입니다. 환경을 지키면 가격을 앞세우는 중국산 제품들의 경쟁력이 떨어집니다. 사회와 지배구조 문제는 정말 풀기 힘든 문제입니다.

개인적으로는 이런 관점에서 ESG를 바라보고 있습니다. 환경보호 같은 건 허울좋은 명분에 지나지 않는다고 보고 있습니다.

다만, 이익이 없으면 움직이지 않는 기업들에게 실제 ESG 지표가 투자 집행에 사용되는 것은 긍정적으로는 보고 있습니다. 그래서 기업들이 환경 문제에도 관심을 갖고, 나아가 지배구조 문제나 소액주주에 대해서도 부당한 행위를 할 가능성이 줄어들기 때문입니다. 그리고 무엇보다 ESG의 힘이 쎄져서 중국이 좀 변화했으면 좋겠습니다. 변할 가능성이 거의 없는 것을 알지만서도...

어쨌든, 실체적 진실이 무엇이 되었든 전 지구의 석학들과 자본가들, 그리고 큰 형님들이 똥을 된장이라고 주장하면 그것은 된장입니다. 투자자는 유연해야 합니다. 그래서 그렇게 받아들이고, 그 사람들이 주장하는 힘의 방향이 어느쪽을 향하고 있는지 더듬이를 세워두고 형님들에게 역행하지는 말아야 합니다.

형님들이 환경쪽에 돈을 쓸거라고 하면 저희 같은 소시민은 그 이야기에 잘 따르고 투자하면 됩니다.

기후변화에서 살아남는 법


곧장 내린 결론은 부자가 되는 것입니다. 고전 역사서를 보면 한 국가나 지역이 통으로 대기근을 겪는 경우를 많이 봅니다. 오랫동안 기근이 진행되면서 사람이 사람을 잡아 먹는 수준까지 도달하는 경우가 왕왕 서술되어 있습니다. 이 경우에도 그 지역의 통치자나 부자는 먹고 사는데 아무 지장이 없이 지냅니다. 대기근으로 백성들이 죽어 나가도 통치자는 맛있는 음식을 문제 없이 즐기며 평온하게 지냅니다.

이 사례만 놓고 봤을 때, '기후 변화로 환경이 아무리 변해도 부자들은 큰 문제가 없겠구나'하는 생각이 들었습니다. 실제로 벌써 그런 일들이 벌어지고 있습니다. 부자들은 맹렬한 폭염에도 하루종일 에어컨 바람을 맞으며 지냅니다. 그러나 에어컨을 돌릴 경제적 능력이 안되는 사람이나 국가의 사람들은 폭염에 쓰러져 갑니다. 

빙산이 녹으면서 해안저지대가 침수되기 시작하면 고지대의 땅 값이 당연히 올라갈테죠. 저도 생각한 부분인데 모 서울대 교수님께서 벌써 이 부분을 지적하셨습니다. 고지대의 땅값은 올라갈 것이고 자연적으로 해안가 저지대에서 주택 침수 피해를 입는 것은 가난한 사람들이 될 것이라고요. 뭐 이것 말고도 숱한 현상들이 생길 것입니다.

어쩌면 기후변화에 살아 남는 법으로 부자가 되시라고 말한 것은 매우 이기적이고 개인적인 생각일 수 있겠지만 사실 개인이 할 수 있는 가장 현실적인(?) 방법이기도 합니다.

급진적인 학자들은 지구가 이산화탄소로 뒤덮혀 가면서 금성처럼 죽음의 별이 될거라고 주장하기도 합니다. 그런 것에 공포를 느끼면서 지금을 살아가는데 스트레스를 받아가며 현재를 희생할 필요가 없습니다. 그렇게 되면 '그렇게 되는거지'라고 생각하고 현재에 충실하게 살아가는 것이 되레 현명합니다. 인류가 다 사라지고 다시 지구가 식으면서 새로운 생명체들이 지구의 주인이 되겠지요. 마음 편하게 생각하고 스트레스 없는 삶을 사는게 현명하다고 생각합니다.

500년 후 인류 멸망을 걱정하면서 현재 눈앞에 놓인 맛있는 음식을 즐기지 못하는 사람은 되지 않으면 좋겠습니다. 현재를 즐기면서 미래에 더 나은 삶을 후손들에게 물려주기 위해 공포보다는 냉철한 이성으로 대응해 나가면 좋겠습니다.

2021년 8월 29일
송종식 드림


2021년 8월 26일 목요일

누가 장사는 목이라고 했나?

한국 스타벅스의 출점전략은 그 유명한 자전거 바퀴살 전략(허브 앤 스포크)이었다. 서울의 유동인구가 많은 역세권에는 도로를 사이에 두고 스타벅스 매장 4~5개가 밀집하기도 했다. 그렇게 출점을 하더라도 모든 매장이 만석이 될 정도로 스타벅스의 인기는 좋았다. 

허브 앤 스포크 전략 도식
<출처: 인천항만공사 블로그>

그러나 폭발적으로 성장하던 스타벅스코리아의 외형 성장세와 이익률도 최근에는 점점 둔화되는 모양새다. 허브 앤 스포크 출점 전략이 한계점에 다다른 것이 아닌가 생각한다. 그래서 스타벅스는 최근에 출점전략을 묘하게 바꾼 듯 하다. 

기존에는 허브 앤 스포크 전략을 쓰기 위해 이미 상권이 만들어져 있고, 땅값이 비싼 지역에 매장을 냈다. 그러나 지금은 땅값이 싸고 외진 곳에 출점을 하고 거기에 사람들이 찾아오도록 만들어서 인근 지역의 가치도 높이고 영업마진도 방어하는 전략으로 선회한 것으로 보인다. 역시 스타벅스코리아는 영리하다. 명불허전이다.

사실 이번 포스팅은 오래전부터 작성을 하다가 완성을 못했다. 그러다가 어제 스타벅스의 출점 전략이 변경되었다는 기사를 보고 쓰던 글을 퍼뜩 마무리한다.

장사를 하는 사람들은 귀에 딱지가 않을 정도로 들었던 이야기가 있다. 장사는 첫째도 목, 둘째도 목, 셋째도 목이라던 이야기였다. 하지만 이제는 조심스럽게 그 이야기는 조금씩 들어맞지 않는 이야기가 되고 있다고 말하고 싶다.

<자료 : 매일경제신문>

서울만해도 아주 높은 권리금과 월세를 자랑하던 중심 상권들이 지금은 초죽음 상태다. 서울 상권의 핵심 중 하나였던 명동은 점심 시간에 임장을 나가보아도 길거리가 텅텅 비어있다. 거리 곳곳에는 '임대' 두 글자가 붙은 현수막과 플래카드만 쓸쓸하게 공실을 지키고 있다. 홍대와 같은 상권도 예전같지 않다.

서울의 중심 상권이 예전의 명성을 그리워 하며 죽어가는 동안 외곽이나 지방의 맛집과 카페, 호텔들은 호황을 누리고 있다. 이는 아주 신기한 모습이다. 

경기도, 강원도, 충청도, 부산 가릴 것 없다. 인스타그램이나 유튜브에서 입소문을 탄 맛집이나 카페는 지방 외진 곳에 꼭꼭 숨어 있더라도 사람들이 어떻게든 알고 찾아간다. 이런 곳엘 어떻게 알고 찾아왔나 싶을 정도로 인산인해를 이루는 지방의 식당과 카페를 정말 많이 목격한다. 

특히 이런 현상을 미리 예견이라도 한 듯이 강릉에 큰 자본을 쏟아부어 호텔을 지어 둔 사람들의 선견지명이 참 대단하다고 생각한다. 공사를 시작하는 단계일 때만 해도 도대체 왜 강릉에 저렇게 돈을 쏟아붓나 싶었는데.

어쨌든 지방의 호텔들도 유례없는 호황을 누리고 있다. 인천, 강릉, 부산, 경주 등 지역을 막론하고 조금만 네티즌들 사이에서 이름이 오르내렸다 싶으면 방을 구하기가 힘들 정도다. 특히, 연휴 기간에는 방을 구하지 못한다고 봐도 될 정도였다.

도심 공동화 현상이 생기고, 장사는 목(입지)이라던 선배 장사꾼들의 이야기가 무색해질 정도로 유명 상권은 초토화가 되었고, 반면에 서울 교외나 지방의 유명 가게들은 호황을 맞고 있다.

전에는 상상도 하기 힘들었던 일이다. 정말 공룡이 멸종하듯이 순식간에 벌어진 일이다. 어째서 이런 일이 생기는 것일까?

내가 생각하는 가장 큰 이유는 단연 코로나다. 말할것도 없이 코로나로 국가간 여행이 끊기면서 외국인 관광객으로 먹고 사는 상권은 큰 타격을 입었다. 그리고 많은 직장인들이 재택근무 형태로 일을 하게 되면서 CBD에서 장사를 하는 상인들이 올리는 수입도 예전같지 않게 되었다.

그 다음은 우리 사회를 서서히 그리고 빠르게 바꾸어 온 인터넷의 영향력이다. 코로나로 인해서 급격하게 트래픽을 늘린 배달 서비스는 지역 곳곳에 숨어있는 가게 어디든 배달만 가능하면 음식을 즐길 수 있도록 해주었다. 이런 배달주문 중심의 소비 패턴에서는 선배 장사꾼들이 말하는 목의 개념이 완전히 죽어버린다. 되레 목 좋은 곳에 높은 월세를 내는 가게는 리스크가 더 높아진 것이다.

인스타그램과 같은 곳에서 올라오는 사진들은 사람들의 눈길과 발길을 서울 중심 상권의 가게들이 아니라 지방에 있는 큼직하고 아기자기한 가게들로 향하게 했다. 

내 생각에 우리나라는 코로나가 끝나면 크고 아름다운 카페를 구경하기 좋은 카페 여행의 강국이 되지 않을까 싶기도 하다. 정말 우리나라에는 예쁘고 멋진 카페들이 끝도 없이 많다. 전국 어느 도시를 가더라도 멋진 카페들이 여행의 노곤함을 달래준다. 

그리고 땅값이 저렴한 지방에 있는 카페일수록 더욱 크고 웅장하며 멋진 인테리어와 위용을 자랑한다. 가뜩이나 해외여행도 못 가는 사람들을 달래주는 것이 그나마 국내여행이고 그 중에서도 전국 곳곳에 포진하고 있는 이런 멋진 카페들이 아닌가 생각된다.

지방 맛집과 카페들의 큰 장점은 또 있는데 그것은 바로 주차가 편리하다는 점이다. 서울에서는 차를 갖고 이동하는 것 자체가 스트레스다. 차가 많이 밀리고, 주차 스트레스도 정말 심하다. 어딜가도 사람과 차가 붐비는 곳에서 잠시 멀어져서 한적한 곳에서 드라이브를 즐기고, 지방 곳곳에 숨어 있는 맛있는 가게와 멋진 카페를 찾는 것은 이제 우리의 일상이 되었다. 코로나로 해외 여행이 막히자 숨 좀 쉬자고 사람들이 찾아낸 방편이다.

끝으로 방역을 위한 거리두기 단계가 상대적으로 수도권에 더 엄격한 레벨이 적용된다. 그래서 그것을 피해서 지방으로 내려가는 사람들도 꽤 된다. 덕분에 사람들은 지방을 재발견하고 있다.

온라인에서는 집콕을 하지 않고 돌아다니는 사람들에 대한 성토가 줄을 잇는다. 그러나 길거리에 나가보면 현실은 인터넷과 다르다. 드라이브를 하다가 연휴 날짜에 잘못 걸리면 고속도로 한 가운데에 갇히기 일쑤다. 진짜 차를 갖고 있는 사람들은 도로로 다 쏟아져 나오는 것 같다.

강력한 부익부 빈익빈 현상도 목격된다. 이름값이 있는 자영업자는 시골 구석에서 장사를 해도 늘 손님을 받느라 북적이고, 그렇지 않은 보통의 장사꾼은 아무리 서울 중심가에서 장사를 해도 가게에 파리만 날린다. 예전에는 목이 좋으면 중간은 했겠지만 이제는 자영업자들에게 조차도 극단적인 무형자산의 시대가 된 것 같다.

금융시장에서는 어떤 일이든 일어날 수 있다. 그리고 원래도 세상에 변하지 않는 것은 없다지만 우리가 정말 고정적인 상식으로 생각했던 것들이 2020년을 기점으로 아주 빠르게 변하고 바뀌고 있다. 설마? 그런일이 일어날까 싶었던 상상 속 일들도 이제는 아주 쉽게 현실에서 일어나는 시대가 되었다. 또 어떤 것이 어떤 모습으로 변할지 모른다. 항상 세상을 주시하고 관조해야 하는 이유이다. 

2021년 8월 26일
송종식


2021년 8월 24일 화요일

유행은 왜 돌고돌까

나이든 세대가 향유하는 문화를 젊은 세대는 '쉰내난다', '꼰대같다'고 하면서 놀리기도 한다. 세상은 항상 새로운 세대의 도전을 받고 있고 이것은 인간이 멸절하기 전 까지는 영원히 있을 일이니 이상할 것도 없다. 이건 너무나 당연하고 자연스러운 현상이다. 그런데 여기서 더 시간이 흐르면 재미있는 현상들이 목격된다. 

젊은 세대는 자신들이 태어나기도 전에 유행했던 문화를 다시 자신들이 유행하는 문화로 만들곤 한다. 이것은 이들이 과거의 문화에 대해서 스터디를 하거나 일부러 노리고 그러는 것이 아니다.

세상은 정반합이다. 힘의 추가 한쪽으로 기울면, 사람들은 의례 반발심이 생기고 그 반대쪽으로 눈을 돌리게 된다. 정반합과 정반합이 돌고 돌면서 세상의 유행도, 사람들의 생각도 이쪽으로 갔다가 저쪽으로 갔다가 하는 것이다. 인간은 지루함을 느끼는 존재이기 때문이기도 하다.

내가 어릴 때, 당시 우리 또래들에게는 매우 촌스럽다고 여겨졌던 것들이 있다. 음식, 음악, 패션은 물론 사고방식 심지어 직업들까지 모두 포괄해서 말이다. 그런데, 그런 것들이 현재 젊은 세대들 사이에서는 힙하고 쿨한 것으로 새롭게 떠오르는 것을 본다. 

우리가 어릴 때는 촌스러워서 아무도 하지 않던 패션을 지금 젊은 세대들은 그것을 다시 살려내 멋지게 소화한다. 우리가 어릴 때는 천시받던 직업들을 지금 젊은 세대들은 아주 힙하고 멋진 직업으로 바꿔 놓기도 한다. 옛날에 유행했던 노래나 머리 스타일을 다시 살려내서 복고풍의 문화를 현대식으로 아주 세련되게 살려 놓는 경우도 많이 본다.

유행이 돌고 도는 이유로 나는 먼저 세상의 정반합 이치를 꼽았다. 그 다음 내가 꼽는 이유는 인간의 기억력과 수명의 한계다. 인간의 기억력은 매우 짧다. 그리고 수명도 그리 길지 않다. 만약, 우리의 수명이 500년쯤 되고 살아가는 동안 모든 기억을 생생하게 해낼 수 있다면 한번 별로라고 생각한 것은 꽤 오랫동안 그렇게 생각될 것이다.

그러나 우리의 수명은 그리 길지 못하니, 옛 사람들 사이에 유행했던 것들도 새로이 태어나는 사람들에게 다시 수용될 공산이 크다. 왜냐하면 옛 사람들이 향유하던 것이라도 새롭게 태어나는 사람들에게는 그것이 경험하지 못한 완전히 새로운 것이기 때문이다. 새로운 것은 언제나 사람의 호기심을 자극한다. 새로운 것은 뭔가 남들과 다르게 여겨진다.

한때는 옛것을 소환해서 인기몰이 하는 것을 '복고풍'이라고 불렀고 요즘은 이것을 '레트로 감성'이라고 부른다. 
<사진출처 : 홈플러스>

그리고 우리의 기억력은 좋지 못하기 때문에 과거에 나빠 보였던 것이 지금은 좋아보일 수 있고, 과거에 좋아 보였던 것이 지금은 나빠보일 수 있다. 사람은 집단의 행동에 편승하면 과거의 기억쯤은 말끔하게 지우거나 바꿔버릴 수 있다. 또, 현재 살아가는 것이 팍팍하고 힘에 부치면, 과거를 그리워 하는 중노년 세대의 심리가 젊은 세대의 레트로 감성과 맞물리면서 유행이 발생하기도 한다.

끝으로 유행이 결국은 돌고 도는 이유로 내가 자주 꼽는 것이 있는데, 인간은 누구나 팔다리 두개가 달려 있는 것이 전부이기 때문이다. 그리고 이것은 1000년 전에도 그랬고, 1000년 후에도 변하지 않을 것이다. 이게 무슨 말이냐 하면 인간이 할 수 있는 물리적인 몸의 모양이나, 인간이 할 수 있는 물리적인 행위에는 상당한 제한이 있다는 뜻이다.

인간은 걷거나 달릴 수 있지만 날 수는 없다. 수영을 할 수는 있지만 물에서 살 수는 없다. 정신적 유희는 사색이나 게임으로 풀 수 있지만 그 이상 나아갈 수는 없다. VR/AR이 가져다 주는 정신적 즐거움의 시대에 살게 될 먼 미래에도 인간이 즐길 수 있는 가장 큰 쾌락은 섹스일 것이다. 그것을 넘어설 수 없다. 이런 점들도 유행이 돌고 돌게 만드는 이유라고 생각한다. 

결국 우리는 상당한 제약과 한계를 갖고 살아가는 동물들이기 때문이다.


그리고 유행이라는 것을 선도하는 것은 젊은 세대다. 어쩌면 젊음이라는 것 자체가 유행일지도 모른다. 여행 중에 잠깐 길에서 노숙 비슷한 것을 하면서 쉰다고 생각해보자. 나이든 사람이 그러고 있으면 측은하게 보일테지만, 젊은 여행객이 그러고 있으면 그 자체로 낭만적으로 보인다. 젊음은 그 자체로 값지고 아름답다고 여겨진다. 이런 것이 유행을 만드는 것과 관련된 우리의 편견이고 사고방식이다.

2021년 8월 24일
송종식


2021년 8월 15일 일요일

웹/앱서비스 개발, 보안 기초 - SALT는 왜 사용하는가?


어떤 웹사이트와 앱에 위와 같은 회원정보를 가진 데이터베이스가 있습니다. 가입된 회원들의 이름과 아이디, 그리고 비밀번호가 저장되어 있습니다.

데이터베이스에 자료가 저장되는 가장 기초적인 형태입니다. 그러나 개인정보를 위와 같이 저장하면 절대로 안됩니다. 왜냐하면 비밀번호가 평문 그대로 저장되어 있기 때문입니다. 민감한 개인정보를 평문 그대로 저장하는 것은 자살행위입니다. 해커의 입 속으로 소중한 정보들이 들어간 이후에는 돌이킬 수 없습니다.

요즘은 저런 기초적인 실수를 하는 개발자는 거의 없어졌지만, 예전엔 개인정보를 저렇게 저장하는 사례가 정말 많았습니다. 요즘도 몇몇 개인 쇼핑몰에서는 개인정보를 저런식으로 저장을 하다가 난리가 나기도 합니다.

그렇다면, 비밀번호를 해커와 내부의 직원들이 알아볼 수 없도록 한번의 암호화 과정을 거쳐야 합니다.


평문으로 저장되던 회원들의 비밀번호를 암호화하였습니다. 이제 한결 마음이 편해집니다. 해커나 직원들이 고객의 비밀번호 평문을 알아낼 수 없게 되었습니다. 위의 예제에서는 비밀번호 평문을 해시 함수 SHA-256을 이용해서 암호화하였습니다.

과거에는 평문을 암호화할 때 해시 함수 MD5를 많이 사용했습니다. 그러나 요즘은 거의 사용하지 않습니다. MD5는 이미 2000년대에 결함이 발견되었습니다. 그리고 MD5용 딕셔너리도 상당히 방대하게 구축되어 있어서 무차별 대입 공격(Brute Force)에도 매우 취약합니다. 또, 이제는 개인 PC로도 MD5의 해시 충돌을 발견할 수 있을 정도로 쓸모없는 알고리즘이 되었습니다.

그래서 이후에는 SHA 함수들을 보편적으로 사용하게 되었습니다. 그러나 SHA0과 SHA-1도 취약한 부분들이 발견되었기 때문에 일단 SHA-256 이상을 사용하여 암호화 하는 것이 권장되고 있습니다.

그러나 아무리 복잡한 해시 함수를 사용한다고 해도 딕셔너리가 구축되면 무차별 대입 공격에서 자유로울 수는 없습니다.


그래서 한 차례 더 안전장치를 만들게 되는데, 이때 사용되는 것이 바로 솔트(SALT)입니다. '소금을 친다'라는 은어로 표현하기도 합니다.

1차적으로 해시된 암호문에 소금을 쳐서 암호문을 한번 더 비꼬아 저장하는 것입니다. 위와 같이 회원 DB에는 SALT값을 저장할 애트리뷰트가 추가되었습니다. (SALT는 다른 곳에 보관하는 것을 추천)

소금을 치는 방식은 다음과 같습니다.

A9902!MGGA28356c7bd7b12c4c922d3e79666661d77d42473786f7547680354f3b014ae933

이렇게 단순하게 소금을 치는 것도 마음에 걸린다면 암호문의 7번째 문자의 뒤에 SALT를 결합한다는 식으로 응용을 해도 됩니다. 

A9902!MGGAmylove1934!!

또는, 처음부터 평문과 솔트를 합해서 해시 함수로 암호화를 하기도 합니다.

이와 같이 1차 암호문이나 평문에 SALT를 결합해서 해시 함수를 한바퀴 더 돌리면 됩니다. 너무나 당연하게도 이 작업은 서버에서 이루어져야 합니다. 클라이언트에 어떤 힌트도 노출이 되어서는 안됩니다. 그렇다면 손쉽게 해커에게 비밀번호가 노출되기 때문에 이런 작업을 하는 것 자체가 무용지물입니다.

솔트는 길면 길수록 좋습니다. 그리고 간혹 SALT를 하드코딩하여 전체 회원에게 동일하게 적용하는 경우가 있던데, 이러면 SALT를 쓰나마나입니다. 회원별로 별도의 난수를 생성해서 각기 다른 SALT를 저장해서 사용하는 것이 좋습니다.

너무나 당연하게도 데이터베이스에는 회원이 입력한 비밀번호 평문과 1차적으로 만들었던 암호문은 저장하지 않습니다. 암호문에 소금을 쳐서 다시 암호화 한 암호문만 저장하면 됩니다.

이렇게 해두면 해커가 DB까지 털어간다 하더라도 회원들의 비밀번호가 안전하게 보호되겠죠? 물론, 회원들의 비밀번호가 지나치게 간결하면 궁극적으로는 보안에 취약할 수 밖에 없으니 회원 가입을 받을 때, 최소 자릿수이상으로 가입을 받고 특수 문자 등을 섞어서 받으면 좋을 것입니다.

2021년 8월 15일
송종식 드림







2021년 8월 8일 일요일

헬조선은 어디로 갔나?

자살률은 감소했었다, 2017년까지는..


우리나라는 자살 공화국이라고 불릴 정도로 자살자가 많습니다. 그런데 많은 분들이 2010년대에 자살률이 지속해서 감소해 온 것을 알지 못합니다.

<자료 : 네이버, 통계청>

2011년까지 인구 10만 명당 31.7명이 자살을 선택하는 악명높은 자살공화국이었습니다. 그러던 것이 2017년까지는 완만하게 줄어드는 모습을 보여주었습니다. 2017년 저점을 찍었을 때 인구 10만 명당 자살률은 24.3명이었습니다. 이 숫자도 국제기준으로는 여전히 높은편에 속합니다. 그러나 그동안 정부와 사회의 노력으로 자살률이 꾸준히 낮아져 온 것을 핵심적으로 해석해야합니다.

문제는 이렇게 낮아지던 자살률이 2017년을 저점으로 다시 오르기 시작했습니다. 현재 통계는 2019년까지 밖에 제공이 되고 있지 않습니다만, 코로나 직격탄을 맞은 2020년과 2021년 통계가 나오면 이 수치는 심각할 정도로 치솟을 수 있습니다.

장례지도사들의 이야기를 들어보면 원래도 자살을 택하는 청년들이 많았지만 작년과 올해는 말도 못할 정도라고 합니다. 항공, 여행업은 말할 것도 없지만 자영업은 아예 영업금지라는 사형선고를 받았으니 더 말할것도 없습니다.

출산율은 반등하던 시기가 있었다


올해 상반기 출산율 잠정치는 가임기 여성 1인당 0.7명 대입니다. 충격적인 수치입니다. 작년에 0.9명 대라고 각 분야의 전문가들이 충격이라는 목소리를 냈는데 1년도 채 되지 않아서 0.7명대를 보게 되었습니다.

그러나 출산율은 줄곧 하락만 해 온 것은 아닙니다.

가임기 여성 1명당 합계출산율
<자료 : 통계청>

2005년까지 출산율은 가파른 속도로 급락했습니다. 그러다가 바닥을 찍고 반등해서 2012년까지 출산율은 다시 오르기 시작했습니다. 그러던 것이 2017년부터 다시 추세가 꺾이면서 출산율은 0.9명대로, 이윽고 올해 상반기는 0.7명대로 추락하면서 심각한 인구문제를 유발시키며 국가의 근간과 미래를 걱정해야 할 수준에 이르렀습니다.

<자료 : 연합뉴스>

작년부터 우리나라 인구는 자연감소를 시작하고 있습니다.

주택가격 변동추이


집값은 2010년대 중반까지 단기 조정을 끝냈습니다. 그러면서 턴어라운드하여 슬금슬금 오르던 것이 2019년부터는 급등하기 시작해서 현재까지 빠른 속도로 급등하고 있습니다.

코로나 팬데믹 이후 늘어난 유동성에 더해 공급과 거래량을 통제하는 정부 정책이 맞물리면서 집값은 끝을 모르고 폭등하고 있습니다.

자료 : 네이버 블로그 유나바머님
https://m.blog.naver.com/calmwaves

2000년부터 급등하던 집값은 2007년이 되어서야 안정세에 접어듭니다. 2000년대에 과도한 부채를 사용하여 집을 산 사람들이 대거 경제적 어려움에 빠지면서 2008년부터 2010년대 초반까지는 하우스푸어가 심각한 사회문제가 되기도 했습니다. 어쨌든 2010년대 중반까지 안정되었던 집값은 2010년대 후반으로 갈수록 다시금 꿈틀대기 시작합니다.

자료 : 중앙일보

위의 자료는 최근 집값이 초급등한 시기를 반영하지 못하고 있습니다. 그래서 비교적 최근 상황까지 반영하고 있는 자료도 가지고 왔습니다. 

집값이 무섭게 급등했던 2006년 고점의 두배가 넘어갑니다. 

갑자기 싹 사라진 단어 '헬조선'
혜성처럼 등장한 'K-시리즈'


한때 청년들은 물론 국민들 사이에서 자조섞인 단어 '헬조선'이라는 단어가 여기저기서 쓰이던 때가 있었습니다. 사람들도 입에 '헬조선'이라는 단어를 쉼없이 꺼냈고, 신문과 TV등 언론은 헬조선이라는 단어를 끝없이 다루었습니다. 그만큼 우리나라가 살기 힘들고 희망이 없다는 의미를 담은 사회현상이었습니다.

그런데 그 헬조선이라는 단어가 어느날부터 쏙 들어갔습니다. 언론은 더 이상 헬조선을 말하지 않습니다. 그래서인지 헬조선이라는 단어를 꺼내는 사람도 없어졌습니다.

이제는 사람들 사이에서 급격히 잊혀지고 있는 단어 '헬조선'
키워드 언급량, 자료 : 네이버 데이터랩

주변 사람들에게 요즘 헬조선이라는 단어가 없어졌는데, 확실히 더 살기가 좋아진 것이냐라고 물으면 대부분 비슷한 대답이 돌아옵니다.

"좋아지긴 무슨.. 다들 가슴속에 화가 폭발하기 직전이야. 무언가 알지 못할 압력에 의해서 눈치를 보느라 다들 쉬쉬하며 말을 안 할 뿐이야."

경제적으로 어려움을 겪는 사람이든, 부자든, 지식인이든 아니든, 장사를 하는 사람이든 직장인이든 이런 비슷한 대답이 많이 돌아옵니다.

체감하기로 헬조선은 사라진 것이 아니고 그 경향은 더욱 짙어졌다고 생각됩니다. 그리고 위의 지표를 통해서 보더라도 실제 더 헬조선으로 변해있습니다.

지표상으로는 되레 2007년부터 2015년 정도까지가 살기 괜찮은 헤븐조선이었습니다. 2017년부터 본격적으로 헬조선 불반도의 문이 열렸습니다.

그런데도 언론과 사람들의 입에서 헬조선이라는 단어는 감쪽같이 사라졌습니다. 반면, 'K-' 접두어가 붙은 단어들은 과하게 사용되고 있습니다. 처음에는 정부부처 몇군데서 쓰기 시작했습니다. 요즘은 아예 온갖 것에 K를 붙이는 소위 '대국뽕의 시대'를 지나고 있습니다.

유튜브 영상들도 사실 관계를 왜곡까지 해가면서 국뽕을 주입해주는 컨텐츠들이 엄청난 조회수를 기록하면서 떼돈을 벌고 있습니다.

이런 현상의 최상부에는 힘을 가진 누군가의 기획과 지시가 있을거라고 생각합니다. 이런 의심을 가지고만 있었는데, 예전 어떤 정부부처에서 사용한 예산을 보고 의심을 조금 더 확신으로 바꾸게 되었습니다.

어떤 문제 A를 해결하기 위한 예산안이었는데, 실제 문제 A를 해결하는데 사용하는 돈은 거의 없었습니다. 사용된 예산 대부분이 사람들이 문제 A가 해결되었다고 믿도록 홍보를 하고 광고를 만드는데 사용되었습니다. 현재 정부의 가장 큰 특징을 보여 준 상징적인 부분이 아닐까 생각하였습니다.

대부분의 사람들은 사실관계에 대한 파악을 하지 않습니다. 언론이나 타인, 대중다수의 대세론을 덜컥 믿어버립니다. 그러니 이런 현상이 생기고 위정자들도 이게 먹히니 이런 방법을 쓰는데 열을 올리는 것입니다. 누군가의 가공을 거친 말과 글에 현혹되기 보다는 반드시 현장을 파악해야 하는것이 그래서 중요합니다.

사회현상을 더 깊게 분석하려면 더 많은 시간과 조사를 통해서 결론을 내려야 합니다. 그러나 저는 사회학자는 아니니 여러가지 복잡한 사회현상의 결과물이라 볼 수 있는 청년자살률과 출산율만 놓고 이번 포스팅을 간략하게 작성해 보았습니다.

2021년 8월 8일
송종식 드림


2021년 8월 4일 수요일

배달오토바이들의 폭주는 플랫폼의 횡포 때문일까?


플랫폼 노동자라는 단어가 새로 생겼습니다. 특수고용직으로 분류되기도 합니다. 앱 플랫폼을 기반으로 한 일상 생활 속 서비스가 정말 많아 졌습니다. 그 중에서도 단연 최고의 비중을 차지하는 것은 배달입니다.

몇몇 언론에서는 플랫폼 노동자들의 열악한 근무 실태에 대해서 다루기도 했습니다. 플랫폼 노동의 특징은 비인간적이라는 것을 지적합니다. 그들의 노동은 1초의 낭비도 없이 모두 숫자로 기록됩니다. 업무를 처리한 개수, 처리하는데 들어간 시간, 건당 비용 등 모든 것이 칼처럼 기록됩니다. 혹자는 그래서 더 열심히 하는 만큼 많이 벌 수 있는 직업이라고 하고, 또 다른 누군가는 쉴 틈도 없는데다 조금만 도태되면 아예 퇴출되는 비인간적인 시스템이라고도 말합니다.

큰틀에서의 이런 주장에는 저도 일정부분 동의합니다. 플랫폼 노동자들이 사지로 내몰리지 않도록 제도적 장치가 필요하다는 부분도 큰 시각에서는 동의합니다.

그러나 이것을 핑계로 배달오토바이들이 교통법규를 무시하고, 위협운전을 하는 것은 전혀 동의를 할 수가 없습니다.

인터넷 커뮤니티에서 이슈가 되었던 배달오토바이의 1인칭 시점 영상

거리에서 수 많은 배달 오토바이들을 봅니다. 그들 중 교통신호를 잘 지키는 오토바이는 정말 살면서 한두대 볼까말까였습니다. 그만큼 거의 모든 배달오토바이들이 교통약속과 신호체계를 무시하며 돌아다니고 있는 실정입니다.

또한 이들은 도로, 횡단보도, 인도, 운동장 할 것 없이 들어갈 수 있는 곳은 가리지 않고 다 들어가서 달립니다. 인도에서는 걸어가는 시민들을 위협하기도 하고, 도로를 달리다 적색신호가 켜지면 곧장 사람으로 변신해서 횡단보도를 질주합니다.

비좁은 도로에서도 사람을 치려는 듯 위협하며 질주하고, 간혹 눌러대는 경적은 도로가 떠내려가라 시끄럽습니다.

운전중에 한번은 신호 대기중인 차량들 사이의 비좁은 공간을 지나려고 하던 배달 오토바이가 제 차를 긁고 간 적도 있습니다. 그 오토바이는 유유히 도망을 쳤습니다.

이들의 이런 행태는 시민들에게 불쾌감을 주는 것은 물론 심리적으로도 상당한 위협을 주고 있습니다.

시민들이 불쾌감과 불안함을 호소하면 이들이 의례 꺼내는 이야기가 이제는 저 플랫폼 노동 이야기입니다. 배달 시간은 정해져 있고, 늦으면 안되고 어쩌고 하면서 사회적 약자로 돌변합니다.

그러나 이들의 이런 논리를 전적으로 수용할 수 없는 이유는 아주 많습니다. 1) 배달 플랫폼이 생기기 훨씬 이전부터 이들의 오토바이 운행 행태는 이러하였다는 것, 2) 배달플랫폼에 항의를 해서 제도를 바꾸든가 해야지 마냥 플랫폼 탓이나 보채는 고객탓만 할 건 아니라는 것입니다.

궁극적으로는 누구하나의 편의를 위해서 사회가 만들어 놓은 규칙이나 법을 어겨도 된다는 논리가 만들어지면 배달오토바이 뿐만 아니라 그 누구라도 자신의 편의를 위해서 법과 규칙을 어겨도 된다는 논리도 성립됩니다. 

'저는 이러저러한 사유가 있으니 법과 규칙을 조금만 어길게요.' 애초에 이런 부분은 타협이 안되는 부분입니다. 특히, 도로교통과 관련한 규칙은 '나 하나쯤이야' 하는 생각으로 어기기 시작하면 도로에서 목숨을 잃는 사람들도 많이 나오게 되니 더 엄격하게 지켜져야 합니다.

또 하나 의문인 점이 있습니다. 과연 요즘 배달하는 분들이 사회적 약자인가 하는 부분입니다. 그들이 교통규칙을 어기는 것은 다른 사람 누구 때문도 아니고 당연히 공동체 모두를 위한 것은 더더욱 아닙니다. 오로지 빨리빨리 배달을 수행하여 돈을 벌기 위함입니다. 실제로 그들의 수입은 배달업 호황으로 상당히 높은 편에 속합니다. 요즘 너도나도 배달대행으로 몰리는 바람에 조선소에서는 일할 사람을 구하지 못해서 인력난에 빠진 상황이라는 우스갯 소리도 나옵니다.

소득 수준으로만 보아도 그들이 사회적 약자라는 것은 납득이 안됩니다. 그리고 도로위에서는 약자이기 보다는 더욱 강자에 속합니다. 젊은 사람들이 많기 때문에 완력으로도 강자에 속하지 약자는 아닙니다. 만약에 여성 운전자가 막무가내로 곡예 운행을 하는 배달 오토바이에게 경적이라도 한번 울렸다고 생각해보세요. 그 뒷일은 감당하기도 힘들것입니다. 이들과 도로 위에서 한번이라도 싸움이 붙어 본 사람들은 학을 뗀다고 합니다. 그러나 언론플레이를 할 때는 사회적 약자로 기가 막히게 둔갑하는 둔갑술도 잘 쓴다고 합니다. 과연 이들이 진정 사회적 약자일까요?

최근에는 몇몇 배달오토바이가 보복 운전을 일삼는 것은 물론, 아이들이 있는 뒷좌석에 벽돌을 던져서 문제가 되고 있습니다. 차량에 보복을 하겠답시고 벽돌을 던지고 도망가는 사례는 최근에 종종 발생하고 있어서 사회문제가 되고 있습니다.

요즘처럼 더운 날에도, 또 추운 겨울에도, 그리고 비가 오나 눈이 오나 고생하시는 것을 잘 알고 있습니다. 또, 배달을 해주시는 분들의 노고 덕분에 저희가 편안하게 집에서 음식을 즐기는 점도 감사하게 생각합니다. 그러나 정말 배달오토바이의 운행 질서나 교통문화는 근본적으로 바뀌어야 한다고 생각합니다. 이 부분은 그 어떤 논리와 핑계로도 납득이 안되는 부분들이 너무나 많습니다.

모두모두 안전한 운행으로 차량도, 보행자도 그리고 배달오토바이 운전자분들도 사고없이 건강하게 지냈으면 좋겠습니다. 

그게 안된다면 배달오토바이들의 교통법규 위반을 법과 행정력으로 강력하게 통제하자는 목소리가 나올 수 밖에 없습니다.

2021년 8월 4일
송종식 드림






2021년 8월 3일 화요일

저출산, 고령화 절대 수혜 산업: 반려동물 산업

"반려동물 산업이 성장하고 있다. 그리고 더 성장하여 얼마 후에는 국내에서만 6조 원 규모의 시장이 될 것이다."

이제 이런 이야기는 아주 식상할 정도가 되었습니다. 사실 반려동물 산업이 성장세를 구가한 건 꽤 오래되었습니다. 또, 반려동물 산업이 성장산업이라는 것에 반기를 들 사람도 없습니다.

그리고 무주공산인 이 분야에서 넓은 땅뙈기를 차지 하기 위해서 수 많은 회사들이 도전장을 내밀었습니다. 그 중에는 대기업들도 적지 않습니다. 그러나 아직까지도 이 분야에는 이렇다 할 국내 기업이 두각을 나타내지 못하고 있습니다.

당장, 멍냥이들이 쓰는 용품이나 먹는 음식들만 해도 대부분이 수입산이거나 난립한 군소업체들의 제품들입니다. 지금도 많은 대기업들이 이쪽 시장에 문을 두드리고는 있지만 그들이 판을 키워 살아남을지 기존의 다른 큰 자본들이 그랬던 것 처럼 힘도 못 쓰고 사라질지는 아무도 모릅니다.

반려동물 산업: 저출산, 고령화 수혜를 업고 수직이륙!


주변에 확실히 강아지나 고양이를 키우는 집이 늘었습니다. 아이없이 살기로 약속한 딩크족은 아이대신 반려동물을 자식삼아 키우는 경우가 아주 많습니다. 세상에서는 이미 이들을 딩펫족이라는 신조어를 만들어서 부르고 있습니다. 뿐만 아니라 연세가 지긋하신 어르신들도 강아지를 산책 시키거나 유모차에 태우고 산책 하는 모습을 이제는 정말 어렵지 않게 볼 수 있는 시대가 된 것 같습니다. 무엇보다 이제 우리나라 가구 형태의 대세는 1인+2인 가구인데 1인+2인 가구도 적적함과 외로움을 달래기 위해 펫을 키우는 가구가 아주 많이 늘어나고 있습니다.

자료 : KB경영연구소

올해 KB에서 조사한 자료를 보면 예상대로 아이가 있는 부부들의 반려동물을 키우는 만족도가 가장 낮습니다. 아무래도 이 계층은 아이를 키우기도 버겁고, 또 아이를 통해서 충분히 애정과 만족감을 느끼기 때문인 것으로 생각이 됩니다. 앞서 예상한대로 딩크족과 1인가구에서 만족도가 높게 나옵니다.

자료 : 시사캐스트

1인 가구의 경우 반려동물을 키우면서 얻는 만족도가 높습니다. 그러나 아직 1인 가구 중 반려동물을 키우는 가구는 10% 초반대 수준입니다. 나머지 반려동물을 키우지 않는 사람중 절반 조금 넘는 사람이 반려동물을 앞으로도 키울 의향이 없다고 하고 나머지는 키워 볼 의향은 있다고 하니 아직 반려동물의 절대적인 숫자는 더 증가할 여지가 큽니다.

자료 : 매일경제

1인가구가 늘어나는 건 누구나 아는 사실이고 너무나 당연하구요. 앞으로도 더 늘어나는 것이 기정 사실화 된 부분이죠. 2인가구도 딩크족이나 아이들을 분가시킨 노인 가구들이 많으니 펫펨족 편입 가능성에 무게를 두고 보아야 하는 계층이 아닌가 싶습니다. 이제는 1인 가구와 2인 가구가 한국의 표준적인 가구 형태가 되었습니다.

자료 : 동아일보

저출산, 고령화를 생각하면 나라의 미래가 걱정될 정도로 답답한 부분이 많지만 그래도 그 안에서도 특정 산업은 수혜를 입고 성장을 하겠죠?

벌써 치열한 시장 세그멘테이션


투자관점에서 반려동물 산업이 매력적인 부분은 많습니다. 

우선은 앞에서 살펴 본 대로 국내에서만 해도 절대적 Q 그러니까 키우는 사람, 키울 사람의 숫자가 늘어나고 있습니다. 그리고, 보통 고양이나 강아지 한마리를 키우다 보면 한두마리 더 키우고 싶은 욕구가 생기기도 합니다. 그렇다면 여기서 다시 Q가 증가합니다.

애견인, 애묘인 입장에서는 슬프지만 강아지나 고양이는 수명도 짧습니다. 그래서 고양이나 강아지를 아예 안 키워 본 사람은 있어도 일생 한마리만 키우는 사람은 거의 없다고 보셔도 될거라고 생각합니다.

이 아이들의 수명이 짧다보니, 펫산업은 더 활기차게 돌아갑니다. 아기때 먹던 것과 용품들은 나중에 또 사야되고, 혹시라도 아이가 죽으면 장례를 몇번이나 치러야합니다. 저도 최근에 사랑하는 강아지의 장례를 치르고 왔습니다. 주말 밤늦은 시간이었는데도 외진 곳에 있는 장례식장의 화장장은 풀가동 되고 있었습니다. 장례식장의 주차장은 만석이었습니다. 게다가 장례비용도 입이 떡 벌어질 정도로 비쌌습니다. 아이의 죽음은 슬펐지만 그 장례식장은 호황을 누리고 있었습니다.

반려동물 산업이 매력적인 또 하나의 이유는 시장이 갈수록 세분화 되고 있고 이 과정에서 고급화가 진행되고 있다는 점입니다. P와 Q가 함께 증가하고 있는 것입니다. 

자료 : KB경영연구소

개인적으로 아직 국내 반려동물 시장의 Q 업사이드는 상승할 수 있는 룸이 충분하다고 봅니다.

강아지를 키우지 않는 분들은 강아지들의 음식을 보면 깜짝 놀랄 것입니다. 강아지들이 먹는 음식은 이제는 종류만 많은 것이 아니라 재료도 정말 고급화 되었습니다. 또 강아지들이 이용하는 장남감과 씹을거리들도 정말 다채롭습니다.

강아지 전용 호텔과 미용실이 생긴 건 이미 오래되었고 프랜차이즈 유치원도 나올 조짐을 보이고 있습니다. 최근에는 강아지 전용 건강관리 IoT 기기를 비롯해서 다양한 서비스가 나오고 있고 강아지가 살기 좋게 설계된 빌라단지도 분양되어 팔리고 있습니다.

이제는 단순히 먹고, 입고, 씹고 아프면 병원가고의 수준을 넘어서 정말 사람들이 상상도 할 수 없는 다양하고 세분화된 시장과 제품들이 생겨나고 있습니다. 또 그것들은 가격도 비쌉니다.

강아지를 자식처럼 키우는 사람들이 적지 않습니다. 강아지에게 아낌없이 돈을 척척 쓰는 사람들을 보면서 저도 가끔 놀랍니다.

해외는 이미..


반려동물에 대한 인식수준이 우리보다 훨씬 선진적인 서구권에서는 이미 이쪽 산업의 성장성과 수익성은 충분히 입증이 된 상태입니다. 제가 관심을 갖고 트래킹하고 있는 회사들의 실적과 주가 추이는 놀랍습니다. 종목을 추천하는 것이 아닙니다. 그냥 우리보다 발빠르게 움직인 나라들과 회사들의 여정을 살짝만 지켜보자는 차원에서의 공유입니다.

조에티스의 실적추이 <자료: investing.com>
조에티스의 주가추이 <자료: 구글파이낸스>

위의 자료는 반려동물과 가축용 백신과 의약품을 만드는 조에티스의 실적과 장기 주가 추이입니다. 조에티스는 화이자에서 분사되어 나온 회사입니다. 탄탄한 이익률이 정말 환상적입니다.

츄이인코퍼레이션의 실적추이 <자료: investing.com>

츄이인코퍼레이션의 주가추이 <자료: 구글파이낸스>

츄이인코퍼레이션은 반려동물 사료와 용품계의 아마존이라고 불리는 회사입니다. 빅데이터를 활용한 고도의 맞춤 구독 서비스와 배송 서비스로 빠르게 두터운 팬층을 늘려가고 있습니다. 이익은 거의 내지 않고 있지만 매출 성장속도가 예전 아마존을 보는 듯 합니다.

국내 시장은 너무 세분화가 되고 있어서 펫푸드 시장만 간략하게 보겠습니다.

자료 : 유로모니터, 데일리벳

우리나라 펫푸드 시장은 아직 이렇다할 1인자가 없는 상황입니다. 로얄캐닌이 오래도록 1위의 자리를 유지하고 있습니다만, 점유율이 거의 비등비등한 상황입니다. 그리고 위의 그래프에는 나오지 않은 수 많은 군소업체들이 난립한 상황입니다. 특히 최근에는 OEM, ODM 열풍을 타고 개인사업자들도 이 시장에 대거 진입하고 있습니다.

자료 : 유로모니터, 데일리벳

유로모니터에 따르면 2020년에 부동의 1위 자리를 지키던 로얄캐닌을 제치고 ANF로 유명한 우리와가 업계 1위로 올라섰습니다. 그러나 앞서 말씀드렸지만 아직 확고한 1위 자리를 차지한 회사는 없는 상황입니다. 국내 펫푸드 사료 시장만 이제 1조원을 넘어섰습니다. 이 시장을 절반만 차지해도 연매출 5,000억이 넘는 대형 회사가 됩니다. 그런 회사를 찾고 있습니다.

아직은 해외 업체와 군소업체들이 난립하고 있지만 분명히 이 동네도 교통정리가 될텐데 어떤 회사가 왕좌에 오를지 골라내는 안목이 있으면 큰 돈을 벌 수 있으리라 생각합니다. 우리나라에서도 조에티스나 츄이와 같은 텐베거 기업들이 나와주리라 기대하고 또 믿습니다.

2021년 8월 3일
송종식 드림