Monday(04.07)
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํ๊ธฐ ํ์ด์ฌ(์)
Tuesday(04.08)
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํ๊ธฐ C์ธ์ด - ํจ์, ์์ ์, for ๋ฌธ
Wednesady(04.09)
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํ๊ธฐ C์ธ์ด - ์ฐ์ฐ์, while ๋ฌธ, ์ฌ๊ท, ์ ๋ ฌ
Thursday(04.10)
https://github.com/seongjju/test_aws
GitHub - seongjju/test_aws
Contribute to seongjju/test_aws development by creating an account on GitHub.
github.com
app = Flask(__name__)
def upload_file_to_s3(file):
s3 = boto3.client('s3',
aws_access_key_id=AWS_ACCESS_KEY,
aws_secret_access_key=AWS_SECRET_KEY,
region_name=REGION)
s3.upload_fileobj(file, BUCKET_NAME, file.filename)
return file.filename
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
filename = upload_file_to_s3(file)
return jsonify({'filename': filename})
@app.route('/image/<filename>')
def image(filename):
url = f"https://{BUCKET_NAME}.s3.{REGION}.amazonaws.com/{filename}"
return jsonify({'url': url})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)
- ํ์ผ ์
๋ก๋ API
- ์ฌ์ฉ์๊ฐ /upload ๊ฒฝ๋ก๋ก ํ์ผ์ ๋ณด๋ด๋ฉด
- ๊ทธ ํ์ผ์ AWS S3์ ์ ์ฅํ๊ณ
- ์ ์ฅ๋ ํ์ผ ์ด๋ฆ์ JSON์ผ๋ก ๋ฐํ
- ์ด๋ฏธ์ง URL ์ ๊ณต API
- ์ฌ์ฉ์๊ฐ /image/<ํ์ผ์ด๋ฆ> ๊ฒฝ๋ก๋ก ์์ฒญํ๋ฉด
- ํด๋น ํ์ผ์ S3 URL์ JSON์ผ๋ก ๋ฐํ


ํด๋น url์ ์ณ๋ณด๋ฉด ๋ด๊ฐ ์ฌ๋ฆฐ bear.png๊ฐ ๋ค์ด๋ฐ์์ง๋ ๊ฒ์ ํ์ธ ๊ฐ๋ฅ
์ ํจ์ค ์ค์ต


ec2๋ฅผ 2๊ฐ๋ฅผ ๋์ด๋จ๋ค.
- ํ๊ฐ๋ ์๊น ์์์ ์ฌ์ฉํ๋ ํ๋ก์ ํธ
- ํ๊ฐ๋ jenkins๋ฅผ ๋์ฐ๊ธฐ ์ํด
ํ์ดํ๋ผ์ธ์ ์๋์ ๊ฐ์ด ์งฐ๊ณ ๋ด A์๋ฒ์ ํด๋น ๊ฒฝ๋ก์ ์ ๋ค์ด๊ฐ๊ฒ ํ์ธ๊ฐ๋ฅ
pipeline {
agent any
stages {
stage('Git clone') {
steps {
git branch: 'main', url: 'https://github.com/seongjju/test_aws'
}
post {
failure{
error "Fail Cloned Repository"
}
}
}
stage('Deploy') {
steps {
sshagent(credentials: ['ec2-flask-server']) {
sh '''
ssh -o StrictHostKeyChecking=no ubuntu@15.165.231.114 "sudo mkdir -p /home/ubuntu/deploy && sudo chmod -R 777 /home/ubuntu/deploy"
scp -o StrictHostKeyChecking=no -r ./* ubuntu@15.165.231.114:/home/ubuntu/deploy/
'''
}
}
}
}
}
๋ณ๊ฒฝ์ฌํญ๋ ์ ์์ ์ผ๋ก ์ ์ฉ๋์๋ค.

Friday(04.11)
๊ฐ๋ฐ ์ทจ์ ์ ๋ต & ํฌํธํด๋ฆฌ์ค ์์ฑ ํต์ฌ ์ ๋ฆฌ
โํ์ฌ ์ํฉ๊ณผ ๋๋ฉ์ธ์ ๋ง๊ฒ ๊ธฐ์ ์ ์ผ๋ก ํ์ด๋๊ฐ๋ผโ
1. ์ทจ์ ํธ๋ ๋ ๋ถ์ & ์ฑ์ฉ๊ณต๊ณ ํด์๋ฒ
์ง๋ฌด ๊ณต๊ณ ๋ ์ ๋ต์๋ค
- ์ง๋ฌด ๋ด์ฉ์ด ๊ดํ ์ ํ์๋๊ฒ ์๋
- ๊ฐ๋ฐ, ์ธํ๋ผ, ์ ๋ณด๋ณดํธ๋ ๋ฝ๋ TO ์์ฒด๊ฐ ์ ์
- ์ง๋ฌด ์์ด ์ฐ๋ ์์์๋ ์ง์ (ํ ๋ถ์ผ ์ง์ค ์ถ์ฒ)
- ๊ฐ์ ์ฑ์ฉ์ด๋ผ๋ ์ง๋ฌด๋ณ TO๋ ๋ค๋ฅด๋ค
โ๋ฐฑ์๋/DevOps/๋ฐ์ดํฐ ๋ฑ ํ๋์ ์ง์คํ๋ ๊ฒ ์ ๋ฆฌโ
SI vs SM ์ดํด๋ ํ์
๊ตฌ๋ถ | ํน์ง | ์ฅ์ |
SI | ์์คํ ๊ตฌ์ถ ์ ๊ณผ์ ์ฐธ์ฌ | ๋ค์ํ ๊ธฐ์ ๊ฒฝํ |
SM | ์ด์ ๋ฐ ๊ฐ์ | ํน์ ๋๋ฉ์ธ ์ ๋ฌธ์ฑ |
๋ณธ์ธ์ด ์ํ๋ ์ปค๋ฆฌ์ด์ ๋ง์ถฐ ์ง๋ฌด ํฌ๋ง ์ด์ ๋ฅผ ์์ ํ ๊ฒ
2. ์ฑ์ฉ๊ณต๊ณ โ ์ ์ฐฐ๊ณต๊ณ โ ๊ธฐ์ ๋ถ์ ํ๋ก์ธ์ค
์ง์ง ๊ธฐ์ ๊ด์ฌ๋๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ๋ฒ
- ์ฑ์ฉ๊ณต๊ณ ๋ง ๋ณด์ง ๋ง๊ณ โ์ ์ฐฐ๊ณต๊ณ โ ํ์ธ
- ์ฌ์ ๋ด์ฉ, ์ํ ๊ธฐ๊ฐ, ์ฃผ์ ๊ธฐ์ ํํธ ํ๋ ๊ฐ๋ฅ
โ๋ง์ด๋ฐ์ดํฐ ํด๋ผ์ฐ๋ ๊ตฌ์ถโ โ ์คํ๋ฑ ํน, ๊ธ์ตAPI ํ์ฉ ๊ฒฝํ ์ฐ๊ฒฐ
3. ํฌํธํด๋ฆฌ์ค ๊ตฌ์ฑ ํต์ฌ
์ค์ ๊ธฐ์ค
- ๊ธฐ์ ์ ๋ฌธ์ ํด๊ฒฐ ์ค์ฌ ์์ฑ
- ์์น๋ ๋ฐ๋์ ๊ทผ๊ฑฐ ํ์ (๋์๋ณด๋, ์ค์ธก ๋ฐ์ดํฐ)
- ๊ตฌ์ฒด์ ์ธ ์ํฉ, ์ด์, ํด๊ฒฐ ๋ฐฉ๋ฒ ํ์
4. ์๊ธฐ์๊ฐ์ ์ ๊ฐ ๋ฐฉ๋ฒ (STAR ๊ธฐ๋ฒ ์ถ์ฒ)
์์ | ๋ด์ฉ | ํฌ์ธํธ |
Situation | ํ๋ก์ ํธ ์ฃผ์ | ๋๋ฉ์ธ, ๋ฐฐ๊ฒฝ |
Task | ๊ธฐ์ ์ ๋ฌธ์ ์ํฉ | ๋ฌธ์ ์์ธ ํ์ |
Action | ํด๊ฒฐ ๋ฐฉ๋ฒ | ๊ธฐ์ ์ ์ ๊ทผ ๋ฐฉ์ |
Result | ์ฑ๊ณผ | ์์น, ์๋ฏธ, ํผ๋๋ฐฑ |
5. ์ค์ ์ง๋ฌธ ๋ชจ์
Q. ํ๋ก์ ํธ ๋ช ๊ฐ ๋ฃ์ด์ผ ํ๋์?
- ๊ฐฏ์๋ ์ค์ํ์ง ์์ โ โ์ํฉํธ ์๋ ํ๋ก์ ํธ๋งโ
- ์์ ํ๋ก์ ํธ๋ผ๋ ๊ธฐ์ ์ ์ํผ์๋ ์ค์ฌ ์ ๊ฐ
Q. ํ๋ก์ ํธ ์์ ํ ๋ ๊ฐ์ฅ ์ค์ํ ๊ฑด?
- ๊ธฐ์ ์ ์ด์ ํด๊ฒฐ ๊ฒฝํ
- ์ ๋ฌด ํ๋ก์ธ์ค ๊ณ ๋ ค (๋๋ฉ์ธ ์ต์ ํ ๋ ธ๋ ฅ)
6. ์ถ๊ฐ ํ
- ์์์ URL ์ฒจ๋ถ ๊ฐ๋ฅ (ํฌํธํด๋ฆฌ์ค ์ฌ์ดํธ)
- ๋ฌธ์ฅ ๋ถ๋๋ฝ๊ฒ ์ ๋ฆฌ ํ ํ์ฌ ๋ง์ถคํ ์์ ์ถ์ฒ
'๐ฐ Woori FISA > ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 15์ฃผ์ฐจ ๊ณผ์ (0) | 2025.04.15 |
---|---|
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 13์ฃผ์ฐจ ๊ณผ์ (0) | 2025.04.01 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 12์ฃผ์ฐจ ๊ณผ์ (0) | 2025.03.24 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 11์ฃผ์ฐจ ๊ณผ์ (0) | 2025.03.17 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 9์ฃผ์ฐจ ๊ณผ์ (0) | 2025.03.03 |
Monday(04.07)
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํ๊ธฐ ํ์ด์ฌ(์)
Tuesday(04.08)
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํ๊ธฐ C์ธ์ด - ํจ์, ์์ ์, for ๋ฌธ
Wednesady(04.09)
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํ๊ธฐ C์ธ์ด - ์ฐ์ฐ์, while ๋ฌธ, ์ฌ๊ท, ์ ๋ ฌ
Thursday(04.10)
https://github.com/seongjju/test_aws
GitHub - seongjju/test_aws
Contribute to seongjju/test_aws development by creating an account on GitHub.
github.com
app = Flask(__name__)
def upload_file_to_s3(file):
s3 = boto3.client('s3',
aws_access_key_id=AWS_ACCESS_KEY,
aws_secret_access_key=AWS_SECRET_KEY,
region_name=REGION)
s3.upload_fileobj(file, BUCKET_NAME, file.filename)
return file.filename
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
filename = upload_file_to_s3(file)
return jsonify({'filename': filename})
@app.route('/image/<filename>')
def image(filename):
url = f"https://{BUCKET_NAME}.s3.{REGION}.amazonaws.com/{filename}"
return jsonify({'url': url})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)
- ํ์ผ ์
๋ก๋ API
- ์ฌ์ฉ์๊ฐ /upload ๊ฒฝ๋ก๋ก ํ์ผ์ ๋ณด๋ด๋ฉด
- ๊ทธ ํ์ผ์ AWS S3์ ์ ์ฅํ๊ณ
- ์ ์ฅ๋ ํ์ผ ์ด๋ฆ์ JSON์ผ๋ก ๋ฐํ
- ์ด๋ฏธ์ง URL ์ ๊ณต API
- ์ฌ์ฉ์๊ฐ /image/<ํ์ผ์ด๋ฆ> ๊ฒฝ๋ก๋ก ์์ฒญํ๋ฉด
- ํด๋น ํ์ผ์ S3 URL์ JSON์ผ๋ก ๋ฐํ


ํด๋น url์ ์ณ๋ณด๋ฉด ๋ด๊ฐ ์ฌ๋ฆฐ bear.png๊ฐ ๋ค์ด๋ฐ์์ง๋ ๊ฒ์ ํ์ธ ๊ฐ๋ฅ
์ ํจ์ค ์ค์ต


ec2๋ฅผ 2๊ฐ๋ฅผ ๋์ด๋จ๋ค.
- ํ๊ฐ๋ ์๊น ์์์ ์ฌ์ฉํ๋ ํ๋ก์ ํธ
- ํ๊ฐ๋ jenkins๋ฅผ ๋์ฐ๊ธฐ ์ํด
ํ์ดํ๋ผ์ธ์ ์๋์ ๊ฐ์ด ์งฐ๊ณ ๋ด A์๋ฒ์ ํด๋น ๊ฒฝ๋ก์ ์ ๋ค์ด๊ฐ๊ฒ ํ์ธ๊ฐ๋ฅ
pipeline {
agent any
stages {
stage('Git clone') {
steps {
git branch: 'main', url: 'https://github.com/seongjju/test_aws'
}
post {
failure{
error "Fail Cloned Repository"
}
}
}
stage('Deploy') {
steps {
sshagent(credentials: ['ec2-flask-server']) {
sh '''
ssh -o StrictHostKeyChecking=no ubuntu@15.165.231.114 "sudo mkdir -p /home/ubuntu/deploy && sudo chmod -R 777 /home/ubuntu/deploy"
scp -o StrictHostKeyChecking=no -r ./* ubuntu@15.165.231.114:/home/ubuntu/deploy/
'''
}
}
}
}
}
๋ณ๊ฒฝ์ฌํญ๋ ์ ์์ ์ผ๋ก ์ ์ฉ๋์๋ค.

Friday(04.11)
๊ฐ๋ฐ ์ทจ์ ์ ๋ต & ํฌํธํด๋ฆฌ์ค ์์ฑ ํต์ฌ ์ ๋ฆฌ
โํ์ฌ ์ํฉ๊ณผ ๋๋ฉ์ธ์ ๋ง๊ฒ ๊ธฐ์ ์ ์ผ๋ก ํ์ด๋๊ฐ๋ผโ
1. ์ทจ์ ํธ๋ ๋ ๋ถ์ & ์ฑ์ฉ๊ณต๊ณ ํด์๋ฒ
์ง๋ฌด ๊ณต๊ณ ๋ ์ ๋ต์๋ค
- ์ง๋ฌด ๋ด์ฉ์ด ๊ดํ ์ ํ์๋๊ฒ ์๋
- ๊ฐ๋ฐ, ์ธํ๋ผ, ์ ๋ณด๋ณดํธ๋ ๋ฝ๋ TO ์์ฒด๊ฐ ์ ์
- ์ง๋ฌด ์์ด ์ฐ๋ ์์์๋ ์ง์ (ํ ๋ถ์ผ ์ง์ค ์ถ์ฒ)
- ๊ฐ์ ์ฑ์ฉ์ด๋ผ๋ ์ง๋ฌด๋ณ TO๋ ๋ค๋ฅด๋ค
โ๋ฐฑ์๋/DevOps/๋ฐ์ดํฐ ๋ฑ ํ๋์ ์ง์คํ๋ ๊ฒ ์ ๋ฆฌโ
SI vs SM ์ดํด๋ ํ์
๊ตฌ๋ถ | ํน์ง | ์ฅ์ |
SI | ์์คํ ๊ตฌ์ถ ์ ๊ณผ์ ์ฐธ์ฌ | ๋ค์ํ ๊ธฐ์ ๊ฒฝํ |
SM | ์ด์ ๋ฐ ๊ฐ์ | ํน์ ๋๋ฉ์ธ ์ ๋ฌธ์ฑ |
๋ณธ์ธ์ด ์ํ๋ ์ปค๋ฆฌ์ด์ ๋ง์ถฐ ์ง๋ฌด ํฌ๋ง ์ด์ ๋ฅผ ์์ ํ ๊ฒ
2. ์ฑ์ฉ๊ณต๊ณ โ ์ ์ฐฐ๊ณต๊ณ โ ๊ธฐ์ ๋ถ์ ํ๋ก์ธ์ค
์ง์ง ๊ธฐ์ ๊ด์ฌ๋๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ๋ฒ
- ์ฑ์ฉ๊ณต๊ณ ๋ง ๋ณด์ง ๋ง๊ณ โ์ ์ฐฐ๊ณต๊ณ โ ํ์ธ
- ์ฌ์ ๋ด์ฉ, ์ํ ๊ธฐ๊ฐ, ์ฃผ์ ๊ธฐ์ ํํธ ํ๋ ๊ฐ๋ฅ
โ๋ง์ด๋ฐ์ดํฐ ํด๋ผ์ฐ๋ ๊ตฌ์ถโ โ ์คํ๋ฑ ํน, ๊ธ์ตAPI ํ์ฉ ๊ฒฝํ ์ฐ๊ฒฐ
3. ํฌํธํด๋ฆฌ์ค ๊ตฌ์ฑ ํต์ฌ
์ค์ ๊ธฐ์ค
- ๊ธฐ์ ์ ๋ฌธ์ ํด๊ฒฐ ์ค์ฌ ์์ฑ
- ์์น๋ ๋ฐ๋์ ๊ทผ๊ฑฐ ํ์ (๋์๋ณด๋, ์ค์ธก ๋ฐ์ดํฐ)
- ๊ตฌ์ฒด์ ์ธ ์ํฉ, ์ด์, ํด๊ฒฐ ๋ฐฉ๋ฒ ํ์
4. ์๊ธฐ์๊ฐ์ ์ ๊ฐ ๋ฐฉ๋ฒ (STAR ๊ธฐ๋ฒ ์ถ์ฒ)
์์ | ๋ด์ฉ | ํฌ์ธํธ |
Situation | ํ๋ก์ ํธ ์ฃผ์ | ๋๋ฉ์ธ, ๋ฐฐ๊ฒฝ |
Task | ๊ธฐ์ ์ ๋ฌธ์ ์ํฉ | ๋ฌธ์ ์์ธ ํ์ |
Action | ํด๊ฒฐ ๋ฐฉ๋ฒ | ๊ธฐ์ ์ ์ ๊ทผ ๋ฐฉ์ |
Result | ์ฑ๊ณผ | ์์น, ์๋ฏธ, ํผ๋๋ฐฑ |
5. ์ค์ ์ง๋ฌธ ๋ชจ์
Q. ํ๋ก์ ํธ ๋ช ๊ฐ ๋ฃ์ด์ผ ํ๋์?
- ๊ฐฏ์๋ ์ค์ํ์ง ์์ โ โ์ํฉํธ ์๋ ํ๋ก์ ํธ๋งโ
- ์์ ํ๋ก์ ํธ๋ผ๋ ๊ธฐ์ ์ ์ํผ์๋ ์ค์ฌ ์ ๊ฐ
Q. ํ๋ก์ ํธ ์์ ํ ๋ ๊ฐ์ฅ ์ค์ํ ๊ฑด?
- ๊ธฐ์ ์ ์ด์ ํด๊ฒฐ ๊ฒฝํ
- ์ ๋ฌด ํ๋ก์ธ์ค ๊ณ ๋ ค (๋๋ฉ์ธ ์ต์ ํ ๋ ธ๋ ฅ)
6. ์ถ๊ฐ ํ
- ์์์ URL ์ฒจ๋ถ ๊ฐ๋ฅ (ํฌํธํด๋ฆฌ์ค ์ฌ์ดํธ)
- ๋ฌธ์ฅ ๋ถ๋๋ฝ๊ฒ ์ ๋ฆฌ ํ ํ์ฌ ๋ง์ถคํ ์์ ์ถ์ฒ
'๐ฐ Woori FISA > ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 15์ฃผ์ฐจ ๊ณผ์ (0) | 2025.04.15 |
---|---|
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 13์ฃผ์ฐจ ๊ณผ์ (0) | 2025.04.01 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 12์ฃผ์ฐจ ๊ณผ์ (0) | 2025.03.24 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 11์ฃผ์ฐจ ๊ณผ์ (0) | 2025.03.17 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 9์ฃผ์ฐจ ๊ณผ์ (0) | 2025.03.03 |