About Me
POST
Development
Post
Search

ํด๋ฆฐ ์ํคํ
์ฒ: ์ค๊ณ์์น(SOLID)
book
book>IT
development
development>์ค๊ณ&์ธํ๋ผ
2020/09/15
Intro
Project Eulerย ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์ํ์ ์ธ ์ฌ๊ณ ์ ์๋ก์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ํ์ตํ๊ณ ์ตํ๊ฐ์ต๋๋ค. ์ํ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ ์ข์ํ๊ณ ํ์์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ ์ข์ํ๊ธฐ์ ์ ํฉํ ๋์ด๋ ์์ต๋๋ค. ์ด๋ฐ์ ๋์จ ๋ฌธ์ ๋ค์ ์ํ์ ์ผ๋ก ๋ง์ ์ฌ๊ณ ๋ฅผ ์๊ตฌํ์ง ์์ต๋๋ค. ๊ทธ๋์ ์๋ก์ด ์ธ์ด๋ฅผ ์ตํ ๋ โ์ด๋ค ์์ ๋ฅผ ์ง๋ณผ๊นโ ๊ณ ๋ฏผ์ ๋ง์ด ํ๊ฒ ๋๋๋ฐ, ๊ฐ์ธ์ ์ผ๋ก ์ฌ๊ธฐ์ ๋์ค๋ ๋ฌธ์ ๋ค์ด ๊ทธ๋ฌํ ๊ณ ๋ฏผ์ ๋ง์ด ํด์ํด์ฃผ์์ต๋๋ค.
Solution
์์ง ๋ฌธ๋ฒ์ ์ผ๋ก ๋ฏธ์ํ ์ํ์์ ํ์ด๊ฐ๊ธฐ์ ๋ถ์กฑํ ์ ์ด ๋ง์ด ๋ณด์ผ ์ ์์ต๋๋ค. ์ข ๋ ๊ฐ์ ํ ์ ์๋ ๋ถ๋ถ์ด ๋ณด์ด๋ฉด ์ด๊ธ์ ๋๊ธ์ด๋, ๋งํฌ์ ์๋ github issue์ ์ฌ๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค ๐
Project Euler Solutions
development
2019/08/19
terraform์ ์ด์ฉํด์ ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ๋ค๊ฐ ๋ณด๋ฉด ๋
ธ์ถ๋๋ฉด ์๋๋ ๊ฐ์ ์ฝ๋๋ก ์์ฑํด์ผ ๋ ์ํฉ์ด ์๊ธด๋ค. ์๋ฅผ ๋ค์ด, terraform์ผ๋ก RDS๋ฅผ ์์ฑํ ๋ ๋ง์คํฐ์ ๋น๋ฐ๋ฒํธ๊ฐ ํ ์์ด๋ค. terraform์ ์๋์ ๊ฐ์ด ์์ฑํด ๋ฒ๋ฆฌ๋ฉด ํด๋น ์ฝ๋๋ ๊ด๋ จ ์ ์ฅ์๋ฅผ ๋ณผ ์ ์๋ ๋ชจ๋๊ฐ DB์ ๋ง์คํฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์๊ฒ๋์ ๋ณด์์ ์ทจ์ฝํ๊ฒ ๋๋ค
resource "aws_db_instance" "db-sample" {
...
password = "master-password123!"
...
}
๊ทธ๋์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด AWS์์ ์ ๊ณตํ๋ KMS๋ฅผ ํตํด ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํํ๋ ๋ฐฉ๋ฒ์ ๊ณต์ ํ๊ณ ์ ํ๋ค.
1. KMS Key ์์ฑ
KMS ์ํธํ๋ฅผ ํ๋๋ฐ ์ฌ์ฉ๋ key๋ฅผ ์์ฑํด์ผ ํ๋ค. AWSย ๊ณต์๋ฌธ์๋ฅผ ๋ฐ๋ผํ๋ฉด ์ฝ๊ฒ ๋ง๋ค์ ์๋ค.
2. ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํ
ํฐ๋ฏธ๋์ฐฝ์ ์ด๊ณ ์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๋ ํ์ผ๋ก ๋ง๋ค์ด๋๋ค.
$ echo -n 'master-password123!' > plaintext-password
๊ทธ๋ฆฌ๊ณ ์๋ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ค. ์ด๋ย $key_id๋ 1๋ฒ์์ KMS key๋ฅผ ์์ฑํ๊ณ ๋์ ์์ฑ๋ key์ id๋ฅผ ๋ฃ์ด์ค์ผ ํ๋ค. ํน์ ํฐ๋ฏธ๋์ AWS CLI ๊ตฌ์ฑ์ด ์๋์ด ์์ผ๋ฉดย ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋ค.
$ aws kms encrypt \
--key-id $key_id \
--plaintext fileb://plaintext-password \
--output text --query CiphertextBlob
์คํํ๊ณ ๋๋ฉด ์๋์ ๊ฐ์ด ์ํธํ๋ ๋ฌธ๊ตฌ๊ฐ ์ถ๋ ฅ์ด ๋๋ค.
$ aws kms encrypt \
--key-id $key_id \
--plaintext fileb://plaintext-password \
--output text --query CiphertextBlob
AQICAHi1tzJHZQT30hQmf3yueEfl/t9tZ2L+7jqr6IcHddQEV1guYe/AlotboEYBuPA
์ด๊ฒ์ terraform์์ ์๋์ ๊ฐ์ด ์ถ๊ฐํ์ฌ ์ธํ
ํด์ฃผ๋ฉด ๋๋๋ค.
data "aws_kms_secret" "db" {
secret {
name = "master_password"
payload = "AQICAHi1tzJHZQT30hQmf3yueEfl/t9tZ2L+7jqr6IcHddQEV1guYe/AlotboEYBuPAAAAajBoBgkqhkiG9w0BBwagAzPleEZAgEAMFQGCSqGSIb3DwEQQMYzETfPvyHhzpT8tvGAntNu/P2fexBnxRTa2L6T4w/d3z/5mxeTGk/aM="
}
}
resource "aws_db_instance" "db-sample" {
...
password = "${data.aws_kms_secret.db.master_password}"
...
}
Terraform์์ KMS Encryption ์ฌ์ฉ๋ฒ
development
development>AWS
2018/04/04
Book
Post
Search
My Life
Post
Search
์ด๋๋ง ๋ฆฌ๋์ ์
์ฌํ์ง 3์ฃผ๋
์ด ๋์๋ค. ๊ธธ๋ค๋ฉด ๊ธธ๊ณ ์งง๋ค๋ฉด ์งง์ 3๋
์ด๋ ์๊ฐ ๋์ ๋์ ๋ณํ๋ค์ ๊ธฐ๋กํด๋ณด๋ ค๊ณ ํ๋ค. ๋ฆฌ๋์ ์๋ 3๋
๋์ย PM๋ ํด๋ณด๊ณ ์งง์ ๊ธฐ๊ฐย ๋งค๋์ ๋ ํด๋ณด๊ณ ๋ค์ํ ๊ฒฝํ์ ํด๋ณธ ๊ฒ ๊ฐ๋ค. ๋๋ถ์ด ๊ฐ๋ฐ์ ์ธ ๋ถ๋ถ๋ ๋ง์ด ์ฑ์ฅํ๊ฒ ๋ ๊ฒ ๊ฐ๋ค. PHP, Python, Node๋ฅผ ํฌํจํ ๋ค์ํ ์ธ์ด์ ํ๋ ์์ํฌ๋ฅผ ์จ๋ณผ ๊ธฐํ๊ฐ ์์๊ณ AWS ECS, DynamoDB, Lambda ๋ฑ ์ฌ๋ฌ ์ธํ๋ผ๋ฅผ ์ง์ ์จ๋ณด๋ฉฐ ๊ด๋ฆฌํ ์๋ ์์๋ค. DevOps๋ก์จ ๋ง์ ๊ฒฝํ์ ์์๋ ๊ฒ ๊ฐ๋ค.
3๋
์ ์ ๋์ ๋ชจ์ต
์ฌ์ค ์ง๊ธ ๋์ด์ผ ์๊ฐํด๋ณด๋ฉด, ์ด๋ป๊ฒ ์
์ฌ๋ฉด์ ์ ํต๊ณผํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค. 3๋
์ ์ ๋๋ ๋ฐฑ์๋ ๊ฐ๋ฐ ๊ฒฝํ์ด ์ ๋ฌดํ์๋ค. ์ ๋๋ก๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ํด๋ณธ ์ ์ด ์์ ๋ฟ๋๋ฌ DB์ฌ์ฉ๋ ํด๋ณธ์ ์ด ์์ด์ ๊ธฐ๋ณธ์ ์ธ SELECT, INSERT๋ฌธ ์ธ์๋ ์จ๋ณธ ์ ์ด ์์๋ค.
3๋
์ ๋๋ ๋ณํน์ด ๋ ํ6๊ฐ์๋ง์ ์ด์ง์ ์ค๋นํ๊ณ ์์๋ค. ์ด์ ์ง์ฅ์์๋ PDF ์น ๋ทฐ์ด๋ฅผ ๋ง๋๋ ์์
์ ์ฃผ๋ก ํ์๊ธฐ ๋๋ฌธ์, C++์ ์ด์ฉํ PDF ํ์์ ํ๋ก ํธ์๋์์ SVG๋ฅผ ์ด์ฉํ ์ฃผ์ ๊ทธ๋ฆฌ๋ ๊ฒ์ด ์ฃผ์ ์
๋ฌด์๋ค. ์ด์ ์ง์ฅ์์์ ๊ฒฝ๋ ฅ์ด ์์์ง๋ง ๋ฐฑ์๋ ์
๋ฌด์๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ์์๋ค.
3๋
์ด ์ง๋ ์ง๊ธ์ ๋ชจ์ต
์๋์์ ์งง๊ฒ ์ธ๊ธํ ๊ฒ์ฒ๋ผ ์ฌ๋ฌ ๊ฒฝํ์ ํ๊ณ , ์ฌ๋ฌ ๊ฐ๋ฐ์ ์ธ ๋ถ๋ถ๋ ์ฑ์ฅํ๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฌ๋ ์ด๋ฒ ๊ธ์์๋๊ธฐ์ ์ ์ธ ์ฑ์ฅ ๋ณด๋ค๋ย ์ํํธ์คํฌ์ด๋ผ๊ณ ์๊ฐ๋๋ ๋ถ๋ถ์ ๋ํด ๋ค๋ค๋ณด๋ ค๊ณ ํ๋ค. ์์ผ๋ก ๋๋ ๋ถ๋ถ์ ๊ฐ์ธ์ ์ผ๋ก ํ์ฌ์์ ๋ฟ๋ง์ด ์๋๋ผ ๊ธฐํ ๋ค๋ฅธ ๋ชจ์์์์ ๋์ธ๊ด๊ณ์์๋ ๊ธ์ ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์ณค๋ค.
1. ์ค์๋ฅผ ๊ด๋ฆฌํ๊ฒ ๋์๋ค.
๋๋ ๋ฆฌ๋์์ ๋ง์ ์ค์๋ค์ ํ์๋ค. ์ค๋ ์๊ฐ์ด ์ง๋ ์ง๊ธ์์ ์์ผ๋ฉฐ ์๊ธฐํ ์ ์๋ ์ผํ ํ๊ฐ์ง๋ฅผ ์๊ฐํ์๋ฉด, ํ
์คํธ๋ฅผ ์ํ ๊ฐ๋ฐ์ฉ AWS RDS ์ ์ผ ๋์ ํ์
(๊ธฐ์ต์ผ๋ก db.m4.16xlarge ์๋ ๊ฒ ๊ฐ๋ค. ์๊ฐ๋น 5.6 USD)์ ์ผ๋๊ณ ํด๊ทผํ ์ ์ด ์๋ค. ํด๊ทผ ํ์๋ ๋๋ง์นจ ๊ธด ์ถ์ ์ฐํด๊ธฐ๊ฐ(2017.09.30 ~ 2017.10.09)์ด์์๋ค. ์ด๋ ๊ฒ ์ฐ์ง๋ ์๋ RDS์ ์ผ๋๊ณ ๊ฐ๋ฒ๋ฆฐ ํ์ ์๊ธ ํญํ์ ๋ฐ๊ณ ํ์ฅ๋๊ป ๋ถ๋ ค๋๊ฐ ์ ์ด ์์๋ค. (๋ฌผ๋ก AWS์ ์ฌ์ ์ ๋งํ๊ณ ํฌ๋ ๋ง์ ๋ฐ๊ธด ํ๋ค..) ์ด ์ธ์๋ ๋ฐฐํฌํ๋๋ฐ ์์ด์ ์์ ๋๋๊ฒ ๋๋ ํฌ๊ณ ์์ ์ค์๋ค์ ๋ง์ด ํ์๋ค. ํ์ง๋ง ์ด๋ฐ ๋ง์ ์ค์๋ค์ ํ ๋๋ง๋ค ๋น๋๋ณด๋ค๋ ๊ฒฉ๋ ค๋ฅผ ๋ ๋ง์ด ๋ฐ์์๊ณ , ๋ค์์๋ ์ค์ํ์ง ์๋๋ก ๋ฐฉ๋ฒ์ ํจ๊ป์๊ฐํ๋ ๋ถ์๊ธฐ๊ฐ ์์๋ค. ์ด๋ก ์ธํด ๋๋ ์ฃผ๋
๋ค์ง ์๊ณ ์คํ๋ ค ์ค์๋ฅผ ๋๋ ค์ํ์ง ์๊ฒ ๋์๋ค. ๊ทธ๋ ๊ฒ ๋๋ ์ค์๋ฅผ ๊ด๋ฆฌํ ์ ์๋๋ฐ์ ๊ด์ฌ์ ๋๋ ์ฌ๋์ผ๋ก ์ฑ์ฅํ ์ ์์๋ค. ๊ด๋ จํด์๋ย ๊น์ฐฝ์ค์จ๊ฐ ์ด ๊ธ์ ์ฝ์ด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
2. ์ปค๋ฎค๋์ผ์ด์
์ ์ค์์ฑ์ ์๊ฒ ๋๋ค.
3๋
์ ๋ถํฐ ๋๋ ๊พธ์คํ ์ข์ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด ๋ฌด์์ ๊ณต๋ถํด์ผ ํ ์ง ๊ณ ๋ฏผ์ด ๋ง๋ค. ๊ทธ๋ฌ๋ โ์ข์ ๊ฐ๋ฐ์๋ ๋ฌด์์ธ๊ฐ?โ์ ๋ํด์๋ ์ฌ๋๋ง๋ค ์ ๊ฐ๊ฐ ์ธ ๊ฒ ๊ฐ๋ค. ์ธํฐ๋ท์ ์ฌ๋ผ์ค๋ ์ฌ๋ฌ ๊ธ๋ง ๋ด๋ ๊ธฐ์ค์ด ๋ค ๋ค๋ฅด๋ค. ์์ง๋ ์ข์ ๊ฐ๋ฐ์์ ๋ํ ๋ฌผ์์ด ๋ง์ง๋ง, ๊ฐ์ธ์ ์ผ๋ก ๊ฐ์ฅ ํฐ ๋๋ชฉ์ ์ปค๋ฎค๋์ผ์ด์
๋ฅ๋ ฅ์ธ ๊ฒ ๊ฐ๋ค. ์ค์ ์
๋ฌด๋ฅผ ํ๋ค๋ณด๋ฉด ์ฝ๋๋ฅผ ์ง๋ ์๊ฐ ๋งํผ ์ฌ๋ฌ ํ๋ค๊ณผ์ ๋ฏธํ
, ์ฝ๋๋ฆฌ๋ทฐ, ์์ฌ๋, ์ฌ๋ ๋ฑ ๋ง์ ์๊ฐ ์ปค๋ฎค๋์ผ์ด์
์ ํ๋๋ฐ ์๊ฐ์ ์ด๋ค. ์ด๋ก ์ธํด ๊ฐ๋ฐ์ค๋ ฅ์ ๋์ด๋ ๊ฒ ๋งํผ์ด๋ ๋ ๋์ ์ปค๋ฎค๋์ผ์ด์
์ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ๊ณผ ๋ฅ๋ ฅ์ ํค์ฐ๊ณ ์ ๋
ธ๋ ฅํ๊ฒ ๋์๋ค.
3. ๋๋ฃ์ ์ค์์ฑ์ ์๊ฒ ๋๋ค.
๊ฐ๋ฐ์ ํผ์ ํ๋ ๊ฒ์ด ์๋๋ผ ๋๋ฃ์ ํจ๊ป ํ๋์ ์ ํ์ ๋ง๋ค์ด ๊ฐ๋ ๊ฒ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ปค๋ฎค๋์ผ์ด์
์ด ์ค์ํ๋ฏ์ด ๊ฐ์ด ์ผํ๋ ๋๋ฃ๋ค ๋ํ์ค์ํ๋ค. ์๋ํ๋ฉด ๊ฐ๋ฐํ๋ค๊ฐ ์ด์๊ฐ ์๊ฒผ์ ๋ ๋๋ฃ์ ํด๊ฒฐ์ฑ
์ ๊ณ ๋ฏผํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ณ , ์๋ก์ด ๊ธฐ์ ์ ์ตํ ๋์๋ ๋๋ฃ๋ค์ ํตํด ๋ฐฐ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฌํ ๊ฒฝํ์ ํตํด ๋๋ ๋๋ฃ๋ค์ ์ค์์ฑ์ ๋ง์ด ๊นจ๋ฌ์ ์ ์์๋ค. ์ฃผ๋ณ์ ์ข์ ๋๋ฃ๋ค์ด ๋ง๋ค๋ณด๋ ๋๋ ์ข์ ๋๋ฃ๊ฐ ๋์ด์ฃผ๊ธฐ ์ํด ๋
ธ๋ ฅ ์ค์ด๋ค.
์ ๋ฆฌ
๋ฆฌ๋์์์ 3๋
๋์ ๊ฐ์ธ์ ์ผ๋ก ๋ง์ ์ฑ์ฅ์ ํ๋ค๊ณ ์๊ฐํ๋ค. ๋ค์ํ ๊ธฐ์ ์คํ์ ์ฌ์ฉํด๋ณด๊ณ ์ํํธ์จ์ด ์ค๊ณ๋ฅผ ๋์ด ์ธํ๋ผ ์ค๊ณ๊น์ง ๋ง์ ๊ฒฝํ์ ํ๊ณ ํ๊ณ ์๋ ์ค์ด๋ค. ์ด๋ฌํ ๊ฒฝํ๋ค์ ํตํด โ๊ฐ๋ฐ๋ง ์ํ๋ฉด ๋๋คโ๋ผ๋ ์๊ฐ์ด ๋ง์ด ๋ฐ๋๊ฒ ๋์๋ค. ์ฐ๋ฆฌ๋ ๋ณดํตย ํ์
์ ํตํด ํจ๊ปย ํ๋์ ์ ํ์ ๋ง๋ค์ด ๊ฐ๋ค. ์์ผ๋ก๋ ์ด ์ ์ ์์ง ๋ง๊ณ ๋ด๊ฐ ๋งก์ ์ผ์๋ง ์ง์คํ๊ธฐ ๋ณด๋ค๋ ์์์ ๊ณ ๋ฏผํ๊ณ ์๋ ๋๋ฃ๋ฅผ ๋์ธ ์ ์๋ ๋ง์๊ฐ์ง์ ๊ฐ์ง๋ ค ํ๋ค.
๋ฆฌ๋์์ 3๋
๊ฐ ๋ฐฐ์ด ๊ฒ
my life
my life>ํ๊ณ
2019/07/17
1. ์๋ก
2018๋
๋๋ ๋์๊ฒ ๋ง์ ์ผ์ด ์์๋ ํด์๋ค. ์์์ ์ด์์ง๋ง 5๋ช
์ ๋ ๋๋ ํ์ ์ด๋๋ ๋งค๋์ ๊ฐ ๋์์๊ณ , 2๋
์ ๋ ํจ๊ป ํ๋ ํ(์คํ ์ดํ)์์ ๋ค๋ฅธ ํ(๋ทฐ์ดํ)์ผ๋ก์ ์ธ์ฌ์ด๋๋ ์์๋ค. ํ์ฌ์์์ ๋ณํ์ ๋๋ถ์ด ํ๊ต์ ๋ณตํํ์ฌ ์ผ๊ณผ ํ์
์ 1ํ๊ธฐ ์ ๋ ๋ณํํ๊ฒ ๋์๋ค. ์ด ์ธ์๋ ๋ง์ ์ผ๋ค์ด ์์์ง๋ง, ๋ด๊ฒ ๊ฐ์ฅ ์๋ฏธ์๋ย ๋งค๋์ ๊ฐ ๋ ์ด์ผ๊ธฐ์ย ํ ์ธ์ฌ์ด๋์ ๋ํ ์ด์ผ๊ธฐ ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ธ ๋ถ์์ ์ธ ์ด์ผ๊ธฐ๋ก ํ๊ณ ํ๋ ค ํ๋ค.
2. ๋ณธ๋ก
2-1. ์ฃผ๋์ด๊ฐ ๋งค๋์ ๊ฐ ๋๋ค
๋จผ์ , ๋งค๋์ ๊ฐ ๋๊ฒ ๋ ๋ฐฐ๊ฒฝ์ ์ ์ด ๋ณด๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค. ์คํ ์ดํ์ ํฌ๊ฒ ๋ฐฑ์๋ ํํธ์ ํ๋ก ํธ์๋ ํํธ๋ก ๋๋๋ค. ๋น์ ์ ํํ ๊ธฐ์ต์ ์ ๋์ง๋ง ๋ฐฑ์๋ ํํธ๋ 10๋ช
์ ๋ ์์๋ ๊ฒ ๊ฐ๋ค. ๋ฐฑ์๋ ํํธ๋ ๊ฒ์ผ๋ก ๋ณด์์ ๋๋ ์ ๊ตด๋ฌ๊ฐ๋(?) ๊ฒ ์ฒ๋ผ ๋ณด์์ง๋ง,ย ๊ฒฐ์ ๊ด๋ จ ์ฝ๋์ ๋ณต์ก์ฑ์ด ๋๋ค๋ผ๋ ํฐ ๋ฌธ์ ๊ฐ ์์๋ค. ์ฌ๋ฌ ํด๋์ค๋ค์ด ์ฝํ์์๊ณ , ์ถ์ํ๊ฐ ๋์ง ์์ ๊ฒฐ์ ์๋จ์ด๋ ์ํ ํ์
(๋จ๊ถ๋์์ธ๊ฐ ์ธํธ๋์์ธ๊ฐ ๊ฐ์)์ ๋ฐ๋ผ if-else์ ํฅ์ฐ์ด์๋ค. ์ด๋ฅผ ์ํด ๋ฆฌํฉํ ๋ง์ด ํ์ํ๋ค๋ ์ธ์์ ์ค๋ ์ ๋ถํฐ ํ๊ณ ์์๊ณ , ๋งค ๋ถ๊ธฐ ๋ง๋ค ๋ง์ผ์คํค์ผ๋ก ์กํ์์์ง๋ง, ๊ณ์ ๋๋ ์๋น์ค ์๊ตฌ์ฌํญ์ ๋์์ 1๋
๋์ ์งํ์ ํ์ง ๋ชปํ๊ณ ์์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐฑ์๋ ํํธ๋ฅผย ๊ฒฐ์ ์ค์ฟผ๋์ย ์๋น์ค ์ค์ฟผ๋๋ก ๋๋ ์ ์ข ๋ ๊ฒฐ์ ๋๋ฉ์ธ์ ์ง์คํ ์ ์๋๋ก ํ์๋ค. ์ด๋ ๊ฒ ๋๋๊ณ ๊ฒฐ์ ๋๋ฉ์ธ์ ๋ํ ์ง์ค๋๊ฐ ๋์์ง๋ฉด์ ๋ฆฌํฉํ ๋ง๋ ์งํ๋๊ฒ ๋๊ณ , ์ง๊ธ์ย ๋ฆฌ๋ํ์ด๊ฐ ๋์ฌ ์ ์์์ง ์๋ ์๊ฐ์ด ๋๋ค. ๋๋ ์ด๋ ๊ฒ ๋๋ ์ง ์๋น์ค ์ค์ฟผ๋์ ์์ ๋งค๋์ ๋ฅผ ๋งก๊ฒ ๋์๋ค.
2-1-1. ๋๋ ๋ฌด์์ ๋ฐฐ์ ๋
๋๋ต 5๊ฐ์ ์ ๋์ ์งง์ ๊ธฐ๊ฐ์ด์์ง๋ง ๋ง์ ๊ฒ์ ๋ฐฐ์ด ์๊ธฐ์๋ ๊ฒ ๊ฐ๋ค. ํนํ๋ ๊ฐ๋ฐ ์ธ์ ์ธ ๋ถ๋ถ์์ ๋ง์ด ๋ฐฐ์ธ ์ ์์๋ ์๊ฐ์ด์๋ค. ํ ํ๊ณผ ์ปค๋ฎค๋์ผ์ด์
ํ๋ ๋ฐฉ๋ฒ, ํ์๋ค์๊ฒ ์ ์ ํ ํ์คํฌ ๋ถ๋ฐฐ, ํ๋ก์ ํธ ์ผ์ ๊ด๋ฆฌ ๋ฑ ๋ง์ ๊ฒ๋ค์ด ๊ณ ๋ฏผ์ ์ฐ์์ด์์ง๋ง, ์ด ๊ณ ๋ฏผ๋ค์ ํด๊ฒฐ ํด๋๊ฐ๋ฉด์ ์ค์ค๋ก ๋ต์ ์ฐพ์๊ฐ๋ ๊ฒ์ด ํฐ ๊ณต๋ถ๊ฐ ๋์๋ค. ์ฒ์์๋ ์ ๋ง ํญํ ๊ฐ์๋ค. ์ฆ์ ํ์์ ํ์๋ค์ด ์์๋ด๋ ํ์คํฌ๋ค(์๋ฅผ ๋ค์ด ๋ฐฐํฌ๋ ์ฝ๋๋ฆฌ๋ทฐ์ ๊ฐ์) ๋๋ฌธ์ ์ ์ ๋ด๊ฐ ํด์ผ ๋ ์
๋ฌด๋ฅผ ํ ์๊ฐ์ด ์์๋ค. ํ๋ฃจ ์ข
์ผ Asana๋ฅผ ํตํ ํ ํ๊ณผ์ ์ปค๋ฎค๋์ผ์ด์
๊ณผ ํ์๋ค์ ํ์คํฌ ๊ด๋ฆฌ๋ฅผ ํ๋๋ผ ์ฝ๋ํ์ค ์ ์ง ๋ชปํ ์ฑ ํด๊ทผํ ์ ๋ ๋ง์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ฒ ๋์์ค ๋์๊ฐ ์๋๋ฐ,ย ๋ชฝํค ๋น์ฆ๋์ค๋ผ๋ ์ฑ
์ด๋ค. ๋งค๋์ ๋ฅผ ๋งก๊ฒ ๋๋ฉด์ ์ฝ์ด๋ณด๋ผ๊ณ ์ถ์ฒ๋ฐ์ ๋์์ธ๋ฐ, ์ฌ๊ธฐ์ ์์ญ์ด๋ฅผ ํ๋์ ํ์คํฌ๋ก ์ ์ํ๊ณ ์๋ค. ์ด ์ฑ
์ ํตํด ๋งค๋์ ๋ก์ ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์์๋ ๊ฒ ๊ฐ๋ค. ์ฌ๊ธฐ์ ์ด ์ฑ
์ ๋ด์ฉ์ ์ค๋ช
ํ ์ ์์ง๋ง, ์ด๋ฅผ ํตํด ํ์์๊ฒ ๋ถ๋ฐฐ๋ ํ์คํฌ๊ฐ ์ ์งํ๋๊ณ ์๋ ์์๋ก ๋ชจ๋ํฐ๋ง ํ์ง ์๊ฒ ๋์๊ณ , ๋์ ์
๋ฌด์ ์กฐ๊ธ ๋ ์ง์คํ ์ ์๊ฒ ๋์๋ค.
2-1-2. ์งง์ ๊ธฐ๊ฐ์ ์์ฌ์
๋งค๋์ ์ญํ ์ ํ๋ฉด์ ๊ฐ์ฅ ํฐ ์์ฌ์์ ๋งค๋์ ๋ฅผ ํ ์ ์์๋ ๊ธฐ๊ฐ์ด ๋๋ฌด ์งง์๋ค๋ ๊ฒ์ด๋ค. ๋ฌผ๋ก ๋ด๊ฐ ํ๊ต ๋ณตํ์ ํ์ง ์๊ณ ๋ฏธ๋ฃจ์๋ค๋ฉด ๊ณ์ํ ์ ์์๊ฒ ์ง๋ง ๊ทธ๋๋ ์์ฌ์์ด ๋ง์ด ๋จ๋๋ค. ํนํ ๋ด๊ฐ ํ์๋ค์๊ฒ ํ์คํฌ๋ฅผ ๋ถ๋ฐฐํ๋ฉด์ ๊ฐ์ฅ ๋ง์ด ํ๋ ์ค์๊ฐ ์์๋๋ฐ ๊ทธ ํด๊ฒฐ์ฑ
์ ์์ง๋ ๋ชป ์ฐพ์ ๊ฒ์ด ์์ฝ๋ค. ๊ทธ ์ค์๋ ํ์๋ค์๊ฒ ๊ฐ๋จํ๋ค๊ณ ์๊ฐ๋๋ ํ์คํฌ๋ฅผ ์ฃผ์๋๋ฐ, ๋ง์ ์ฝ๋๋ฅผ ์์ ํ๋ค๋ณด๋ ์ผ์ด ์ปค์ง๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ ๊ฒ์ด๋ค. 2์ฃผ๊ฐ ๋๊ฒ ํ์คํฌ๋ฅผ ์งํํ๋ค๊ฐ ์ผ์ด ๋๋ฌด ์ปค์ ธ์ ํ๋ฉ ๋๋ ๊ฒฝ์ฐ๋ ์์๊ณ , ๋ด๊ฐ ์๋ชป๋ ํด๊ฒฐ๋ฐฉ์์ ์ ์ํด์ ์ฒ์๋ถํฐ ๋ค์ ๊ฐ๋ฐ์ ํ๊ฒ ๋๋ ๊ฒฝ์ฐ๋ ์์๋ค. ๋ด๊ฐ ์ข ๋ ๋๋ฉ์ธ ๋ถ์์ ์ํ๊ณ ํ์คํฌ๋ฅผ ์คฌ๋ค๋ฉด ์ด๋ฐ ์ค์๊ฐ ์ ๋์์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐ๋ ๋ค์ง๋ง ์ฌ์ค ์ด๊ฒ ์ ๋ต์ ์๋ ๊ฒ ๊ฐ๋ค. ๋ด๊ฐ ์ ์ํ ๋ฐฉํฅ๋๋ก ๊ฐ๋ฐํ๋ ๊ฒ์ด ์๋๋ผ ์ค์ค๋ก ๊ณ ๋ฏผํด๋ณด๊ณ ๋ถ์ํด์ ๋๋ณด๋ค ๋ ์ข์ ์ ์๋ฅผ ํ๋ ๊ฒ์ด ์ ๋ต์ธ ๊ฒ ๊ฐ์๋ฐ, โํ์ ์ค์ค๋ก๊ฐ ๊ทธ๋ ๊ฒ ํ ์ ์๋๋ก ์ด๋ป๊ฒ ๋ง๋ค๊นโ์ ๋ํ ํด๋ต์ ์์ง ์ฐพ์ง ๋ชปํ์๋ค.
2-1-3. ๊ทธ๋๋ ์ํ ๊ฒ
๊ทธ๋๋ ์ ํ๋ค๊ณ ์๊ฐํ๋ ๊ฒ ํ ๊ฐ์ง๋ฅผ ๋ฝ์๋ฉด, ๋๋ฉ์ธ ์ง์์ ์ด์คํ์ธ ๊ฒ ๊ฐ๋ค. ์๋น์ค ์์ ํ๋ฅผ ์ํด ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ ์ด์คํ๋ DB ์ด์คํ๋ฅผ ํ๋ฏ, ํ์๋ค์ด ๊ฐ๊ณ ์๋ ๋๋ฉ์ธ ์ง์์ ๋ํ ์ด์คํ๋ ํ์์ ์ด๋ผ๊ณ ์๊ฐํ๋ค. ์ค์ ๋ก ๋น์์ CRM(๊ณ ๊ฐ ๊ด๊ณ ๊ด๋ฆฌ, ์๋ฆผ์ผํฐ๋ ์ฑํธ์ ์ด๋ฉ์ธ ์ ์ก)์ ๋ํ ์์ ํ๋ฅผ ์งํ ํ๊ณ ์๋ ์ค์ด์๋๋ฐ, ์ฅ์ ๊ฐ ๋ฐ์ํ์ ์์ ๋์ํ ์ ์๋ ํ์์ด 1๋ช
๋ฟ์ด์๋ค. ๊ทธ๋์ ํญ์ CRM ์ฅ์ ๊ด๋ จ ๋์ ํ์คํฌ๋ ํ ๋ช
์๊ฒ๋ง ์ ๋ ค ์์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, CRM๊ณผ ๊ฐ์ด ํฐ ๋๋ฉ์ธ์ ๊ฒฝ์ฐ์ ๋๋ฉ์ธ ์ง์์ ๊ณต์ ํ๋ ์๋ฆฌ๋ฅผ ๋ณ๋๋ก ๋ง๋ค์ด ์ฑํฌ๋ฅผ ๋ง์ถ์๋ค. ๋๋ถ์ด, ๋ ๋ช
์ด ํ ์์ ์ด๋ค์ CRM ๊ด๋ จ ๋ค์ํ ํ์คํฌ๋ฅผ ํจ๊ป ํด๊ฒฐํ๋๋ก ํ์๋ค. ๋ํ, ํน์ ๋๋ฉ์ธ์ ๋ํ ์ดํด๋๊ฐ ๋์ ํ์์๊ฒ ์ฃผ๋ฉด ํจ์จ์ ์ผ๋ก ๋นจ๋ฆฌ ๋๋ผ ์ ์์ ํ์คํฌ๋ ๋๋๋ก์ด๋ฉด ์ต์ํ์ง ์์ ๋ค๋ฅธ ์ด์๊ฒ ์ฃผ๋ ค๊ณ ์ ์ ํ ํ์คํฌ ๋ถ๋ฐฐ๋ฅผ ํ์๋ค.
2-2. ์๋ก์ด ํ์ผ๋ก ์ด๋ํ๋ค
ํ๊ต ๋ณตํ ์์ ๊ณผ ๋์์ ํ ํ์ผ๋ก์ ์ธ์ฌ์ด๋ ๊ธฐํ๋ฅผ ์ป๊ฒ ๋์๋ค. ์คํ ์ดํ์์ ๊ฐ๊ณ ์๋ ์ฌ๋ฌ ๋๋ฉ์ธ(๋ณ์ /๋ฆฌ๋ทฐ, ์ ํธ์ํ ๋ฑ)์ด ํ ํ์ผ๋ก ์ค๋์ฝ์ด ๋์ด๊ฐ๊ฒ ๋์๊ณ ๊ทธ ์์
์ ์๋ก์ด ํ์ผ๋ก ์ด๋ํ์ฌ ์งํํ ์ ์๊ฒ ๋์๋ค. ๋ฌผ๋ก ๋ด๊ฐ ๊ฑฐ์ ํ๊ณ ์คํ ์ดํ์ ๊ณ์ ๋จ์ ์๋ ์์์ง๋ง, ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์์๋ค. ์ด ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ฒ ๋ 2๊ฐ์ง ์ด์ ๊ฐ ์์๋ค. ์ฒซ ์งธ๋ก๋ 2๋
์ด๋ ๊ธด ์๊ฐ์ ํ ํ์ ์๋ค ๋ณด๋ ๋ด๊ฐ โ์ฐ๋ฌผ ์ ๊ฐ๊ตฌ๋ฆฌ๋ ์๋๊นโ๋ผ๋ ์๊ฐ์ด ๋ค๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์คํ ์ดํ์์ ๋ง์ ๊ฒ์ ๋ฐฐ์ฐ๊ณ , ํด๋ดค์ง๋ง โ์ด๊ฒ ์ ๋ง ๋ง๋ ๊ฑธ๊นโ, โ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์์๊นโ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ๊ทธ๋์ ์๋ก์ด ํ์์ ์๋ก์ด ์ฌ๋๋ค๊ณผ ํจ๊ป ์ผํ๋ฉด์ ์ต์ํจ์์ ๋ฒ์ด๋๊ณ ์ ํ๋ค. ๋ ๋ฒ์งธ๋ ์๋ก ์ฎ๊ฒจ์ง๋ ํ์์ ๋งก๊ฒ ๋ ์
๋ฌด๊ฐ ๋ง์กฑ์ค๋ฌ์ ๋ค. ํ๋์ ์๋น์ค๋ฅผ ์ฒ์๋ถํฐ ์ญ ๋ง๋ค์ด ๋ณธ ๊ฒฝํ์ด ์์๋๋ฐ, โ์ธ์ด๋ฅผ ๋ฌด์์ ์ฐ๊ณ ์ด๋ค ํ๋ ์์ํฌ๋ฅผ ์ธ์งโ๋ถํฐ ์์ํด์ ์ธํ๋ผ ๊ตฌ์ฑ, CI/CD ๊ตฌ์ถ๊น์ง ๋ชจ๋ ํผ์ ํ ์ ์๋ ๊ธฐํ๋ฅผ ์ป๊ฒ ๋์๋ค. ๋๊ตฌ๋ ์คํ ์ด ํ์์ ์กฐ๊ธ์ฉ ํด๋ณด์๋ ๊ฒ๋ค์ด๋ผ, ํฌ๊ฒ ๋ถ๋ด๊ฐ์ด ๋๊ปด์ง์ง ์์๋ค. ์์ง๊น์ง ์ด๋์ ์ ํ์ ํํํ์ง ์๋๋ค. ์๋ง ์์ผ๋ก๋ ํํํ์ง ์์ ๊ฒ ๊ฐ๋ค. ์ด ํ์คํฌ์ ๊ด๋ จํ ํ๊ณ ๋ ์ด๋ ์ ๋ ์๋ฃ๋ ํ์ ํ๋๋ก ํ๊ฒ ๋ค.
2-3. ๋๋ ์ฌํด ์ฑ์ฅํ๊ธฐ ์ํด ๋ฌด์์ ํ๋
๋๋ ์ค์ค๋ก ์ฑ์ฅํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ฃผ๋ก ์ฑ
์ ์ฝ๋๋ค. ์ฌํด ์ฝ์๋ ์ฑ
์ ์๋์ ๊ฐ๋ค.
2018๋
๋ ํ๊ณ
my life
my life>ํ๊ณ
2018/12/31
์๊ฐ
์ด ๊ธ์ ๋ชจ๋ ๋ด์ฉ์ ๋ด๊ฐ ์ถ์ํ๊ณ ์๋ ๊ตํ๋ด์ ์๋ย โ์ฌ์ ํ๊ตโ๋ผ๋ ํ๋ จ์ ๋ฐํ์ผ๋ก ๊ธฐ๋กํ์๋ค. ์ด ๊ธ์ ์์ฑ ์ค์ธ ์์ ์ ์์ง ํ๋ จ์ ๋ฐ๊ณ ์๋ ์ค์ด๋ผ ๋ด๊ฐ ์ ๋ชป๋ ์ดํด๋ก ์์ฑ๋์์ ์๋ ์๊ณ , ๊ฐ์ ๋ง์์ ์ฝ์ด๋ ๊ฐ๊ฐ์ธ์ด ๋ค๋ฅธ ์๊ฐ์ผ๋ก ์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์ย ๋จ์ ์ฐธ๊ณ ์ฉ์ผ๋ก๋ง ๋ฐ์๋ค์ด๊ธธย ๋ฐ๋๋ค. ์ด ๊ฒ์ ๋ด๊ฐ ์ด๋ ๊ฒ ์์ฝํด์ ๊ณต์ ํ๋ ์ด์ ๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค. ์์ง ํ๋ จ์ ์ด๋ฐ๋ถ์์๋ ๋ถ๊ตฌํ๊ณ ๋๋ง ์๊ณ ์๊ธฐ์ ์๊น๋ค๋ ์๊ฐ์ด ๋ ๊ฒ์ด ์ฒซ๋ฒ์งธ์ด๊ณ , ๊ทธ ๋ค์์ผ๋ก๋ ์์ฆ ๊ธ์์ , ์์์ , โฆ, ํ์์ ๋ผ๋ ๋ง์ด ๋์ค๋ ์๋ ๊ฐ์ด๋ฐ์ ๋์ ๋๋(9x๋
์)์๊ฒ ์ฌ์ , ๋, ์ฌ์ฐ์ ์ด๋ป๊ฒ ๊ด๋ฆฌํ๊ณ ๋ฐ๋ผ๋ด์ผ ํ ์ง ์ด๋ ค์ธ๊ฑฐ๋ ์๊ฐ์ด ๋ค์ด์์ด๋ค. ์ด ๊ธ์ด ์ฌ๋ฌ ๊ทธ๋ฆฌ์ค๋์ธ์๊ฒ ๋์์ด ๋๊ณ ๋์ ์ด ๋๊ธธ ๋ฐ๋๋ค. ๋๋ถ์ด ํ์ฌ ์ด ๊ธ์ ์ฝ๊ณ ์๋ ์์ ์ด ๊ธฐ๋
๊ต์ธ์ด ์๋๋ผ๋ ํ์ฌ ์ฌ์ ์ ์ธ ์ด๋ ค์๊ณผ ๊ณ ๋ฏผ์ด ์๋ค๋ฉด ํ ๋ฒ์ด๋ผ๋ ํ์ด๋ณด๊ธธ ๊ถํ๋ค.
๋ชฉ์ฐจ
์ปดํผ์ค ๋จธ๋๋งต
์๋ ํ๋ฅผ ๋ณด๊ณ ์์ ์ ํ์ฌ ์์น๋ฅผ ํ์
ํ๊ณ , ์ฐธ๋ ์ฌ์ ์ ์์ ๋ฅผ ์ด๋ฃจ๊ธฐ ์ํด ๋ค์ ์คํ
์ด ๋ฌด์์ธ์ง ํ์ธํด ๋ณด์.
์ฐธ๊ณ ๋์
์ฒญ์ง๊ธฐ ์ฑ๊ฒฝ์ ์ฌ์ ๊ต์ก(ํ์๋ ๋ฐ์ดํผ ์ ์ / ํ๊ตญ์ฒญ์ง๊ธฐ์์นด๋ฐ๋ฏธ ๋ฒ์ญ / ํ๊ตญ์ฒญ์ง๊ธฐ์์นด๋ฐ๋ฏธ)ย ๋์ ๋์ด์ง ์ฑ๊ฒฝ์ ์ฌ๋๋ค(์ฒ ๋ฒคํ๋ฆฌ ์ง์ / ์์ง๋ฌด ์ฎ๊น / ํ๊ตญ์ฒญ์ง๊ธฐ์์นด๋ฐ๋ฏธ)
*ํน์ ์์ ์ด ์ข ๋ ์์ธํ ๋์์ ์ป๊ณ ์ ํ๋ค๋ฉด ์๋ ์ฌ์ดํธ๋ฅผ ํตํด ๋์์ ์ป์ ์ ์๋ค.ย (http://www.koreasa.org/)
์ฑ๊ฒฝ์ ์ฌ์ ๊ด๋ฆฌ๋ ๋ฌด์์ผ๊น?
my life
my life>์ ์
2017/01/27
Recent Post
Post
Search
<Copyright 2020. Ryan Park. All right reserved.>