Profile

김희찬

이메일 : chan-@kakao.com
블로그 : heechan.kim

Projects

AUTOSQL
졸업작품
Terraform을 활용하여 프로젝트의 개발 환경 이관 및 Terraform 실습 2022.05 ~
(문제점) 현재 프로젝트의 프론트, 백엔드, DB는 모두 하나의 Instance에 구현되어 있어 지속적인 기능 개선이 어렵고, 많은 단일 장애 점이 존재합니다.
(개선) 애플리케이션을 Tier 별로 분리하여 프론트는 S3 bucket, 백엔드는 ECS, RDS로 인프라를 구축하였습니다.
Terraform을 사용하여 AWS 인프라를 구축해보면서 Terraform을 더 능숙하게 활용할 수 있게 되었습니다.
Github Action을 통해 배포 파이프라인을 구성하여 지속적인 기능 개선을 할 수 있게 되었고, 인프라의 단일 장애점들을 개선할 수 있었습니다.
React.js 프론트엔드 전체 개발, 인프라 전체 구축 2021.02 ~ 2021.05
컨테이너-프레젠테이션 컴포넌트 패턴으로 재사용을 고려하며 개발 진행.
Redux 스토어를 활용하여 상태관리 및 핵심 로직 스냅샷 기능 구현.
Oracle Instance에 Nginx와 PM2로 React(프론트), Node(API) 서버 운영.
현재 학과 동아리 common의 구성원을 포함한 60여 명이 서비스 이용 중.
테라폼 cli 를 간편하게 사용하기 위해 Bash Script 작성
(문제점) Terraform workspace 사용 시 휴먼에러로 인해 개발 환경의 인프라가 프로덕션 환경의 인프라로 배포될 가능성이 있다는 것을 알게 되었습니다. 또한 terraform을 CD 파이프라인으로 구축하면 apply 나 destroy에 따른 인프라의 최종 상태를 추적하기 어려웠습니다.
(개선) terraform 커맨드를 wrapping 하는 스크립트를 작성하여 workspace를 간편하게 사용할 수 있도록 하였고, 스크립트를 통해 사용한 terraform 커맨드를 S3 Bucket에 logging 하도록 하였습니다.
terraform 사용시 매번 불필요한 커맨드를 사용하지 않도록, 일관된 방법을 제공하는 스크립트를 통해 인프라를 구성할 수 있습니다.
스크립트를 통해 사용한 terraform 커맨드 log 파일을 통해 현재 배포되어 있는 인프라의 최종 상태를 추적할 수 있었습니다.

Skills

DevOps
Kubernetes v1.23, Terraform, Docker Container, Github Actions, AWS, GCP GKE
Linux Server & Database
VIM 9, Shell Script, CentOS 7, Ubuntu, Nginx, Mysql
Language
Python, C, YAML, SQL, JavaScript ES6, (Go)
Framework & Library
React 16.x, Redux, Material-UI

Work experiences

IAR Systems Korea
2021.04 ~ 2021.07
임베디드 시스템 개발 기술문서 영한번역 프로젝트
(문제점) 기술문서 영한 번역 프로젝트를 맡으면서 기존의 진행 방식은 외부의 한 번역 업체에 의존하는 방식으로 프로젝트가 진행되어, 정확한 목표 설정과 기한이 없이 진행되었습니다.
(개선) 기술적인 내용의 의존도가 높은 문서는 직접 번역을 진행하고, 번역 외주를 여러 업체에 동시 의뢰하는 방식으로 업무를 진행하였습니다.
(성과) 결과적으로 3개월의 단기 계획을 세워 번역 프로젝트를 진행하였으며 전체 문서의 90%가량을 한글 문서로 번역하는 데 성공하였습니다.
개발외주
2020.08 ~ 2020.10
외주 요청사의 업무 프로세스를 매주 3일 → 6시간으로 단축
(문제점) 네이버 카페를 기반으로 이루어지는 외주 요청 사의 업무 프로세스는 카페에 게시글 업로드와 댓글 작성을 수작업으로 하여 매주 3일의 시간이 소요되며, 잦은 휴먼에러가 발생합니다.
(개선) 외주 요청 사의 업무를 4주간 직접 수행해보면서 자동화 요소를 찾아 .NET 프로그램으로 작성하였고, 네이버 API 사용을 위한 인증 서버와 함께 EC2를 구축, RDS를 사용하여 인프라를 구축하였습니다.
(성과) 결과적으로 매주 3일간 소요되는 업무 시간을 주 6시간으로 단축할 수 있었고, 프로그램을 기반으로 한 업무 진행으로 인해 휴먼에러가 발생할 가능성을 낮추었습니다.
쇼핑몰 창업 준비 팀
2020.01 ~ 2020.08
Python xlrd, xlwt 라이브러리로 엑셀 업무 자동화 프로그램 개발
네이버 스마트스토어로 업로드할 상품 데이터 엑셀 파일들을 묶어 500개의 행을 포함하는 엑셀 파일로 변환하는 Python 프로그램을 제작하였습니다.
창업 준비 5개월 차에 쇼핑몰 월 매출 200만원 달성하였습니다.
뉴웨이넷
2015.12 ~ 2016.09
고객사의 웹사이트 호스팅을 위한 온프레미스 서버 구축
CentOS 상 APM 스택 구성 및 CMS 설치, 데이터베이스 마이그레이션 작업
PHP CMS 기반 고객사 웹 서버 개발 및 유지보수

Other experiences

TIL 를 작성하며 학습한 내용을 지속적으로 노션 블로그에 정리 ~ 2022.07
CKA, Certified Kubernetes Administrator 취득 2022.05
Coursera - DevOps on AWS 과정 수료 2022.05
[대학특강] 2022년 부천대학교 졸업생 특강 진행 2022.04
나의 재학 시절 학점 관리 방법과 시간 관리 방법을 재학생들에게 공유하여 재학생들의 학업 증진력을 도모하고 학기 생활 중 목표와 방향을 제시하는 특강을 진행.
[대학] 졸업작품전 대상 2021.11
[대학] ‘한길지식네트워크' 동영상 컨텐츠 공모전 최우수상 2019.12
부천대학교 재학생의 자기주도적 학습을 도모하기 위한 유니티 프로젝트 완성기 동영상 컨텐츠 제작
[대학] GDG Devfest seoul 2019 참여 2019
학과 입학 당시 현 개발 트렌드를 파악과 학업 자극을 받기 위해 참여.
[고등학교] LPIC, Linux Professional Institute Certificate -1 취득 (Inactive) 2012.03
[고등학교] IT Bank LinuxServer 과정 수료 2011
CentOS에 APM 스택 설치 및 간단한 웹 프로그램 배포 실습.
Cisco Packet Tracer를 활용하여 네트워크 학습.
윤성우 저, 열혈 C 자료구조를 학습하며 스택, 큐 등의 자료구조를 C 언어로 구현 및 학습.
[중학교] 윤성우 저, 열혈 C 프로그래밍으로 C언어 독학
NCurses 라이브러리를 활용하여 간단한 슈팅 게임 제작.