실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
Portfolio
1. Coerfolio
2019
김명석
MyeongSeok KIM
+82 010 9295 3570
1995.04.30
msnodeve@gmail.com
https://github.com/msnodeve
https://msnodeve.github.io/
Coerfolio?
‘Coer’ 는 제가 지은 별명입니다.
대학을 오고 함께 프로젝트를 하는 제 자신의 모습을
보며 협력하다의 Co와 –하는 사람의 –er를 생각해 만든
별명입니다.
다양한 분야에 관심이 많고, 넓게 보려고 노력하는
개발자 김명석 ‘코어폴리오’를 소개합니다.
3. About me학력 사항
2011
2014
2015
부산 용인 고등학교 입학
부산 용인 고등학교 졸업
군 휴학 (해병대 입대)
2017 복학
2020
김해 인제대학교 컴퓨터공학부 입학
김해 인제대학교 컴퓨터공학부 졸업예정
경력 사항 2017 Database Lab 재직
2018 ETRI 한국 전자 통신연구원 하계 연구연수생
‘우리는 동물입니다’ 게임 앱 제작 및 출시
2019 ‘외국어 습득을 위한 웹/앱 서비스’ 제작 및 출시
‘아이엠송(I am song)’ 플랫폼 제작
‘립모션을 활용한 마우스’ 프로그램 제작
‘Git for developers’ 제작 및 출시
2017
2018
LINC+ 창업동아리 활동
‘ODI’ 팀장
프리 캡스톤 대회 참가
개발 담당
중학생 대상 영재교육원 활동
Programming 조교
2019 AWS SUMMIT SEOUL 참가
GDG go-lang 릴리즈 노트 참석
캡스톤 디자인 경진 대회 참가
은상, 인기상
2019 국제 컨퍼런스 참가
아이디어 혁신상
활동 사항
자격 사항 2016 정보처리 기능사
최종합격
2019 생활코딩과 함께하는 AWS 탐구생활 수료
‘Architecting with Google Kubernetes Engine’ 수료
사용 프레임워크
사용 언어
5. 인터랙티브 미디어 창작 플랫폼
개발기간 / 개발인원
2018.06 ~ 2018.08 / 4명
분야
JavaScript, GUI, Web app
개발 언어 / 개발 환경
JavaScript, PHP, SQL / Atom
역할
JavaScript기반 LeapMotion 연동 및 Web
미디어 인식 모듈 개발
프로젝트 소개
- ETRI 한국전자통신 연구원의 융합기술연구소에서
연구연수생으로 2달의 기간 동안 활동하면서 개발한 프로젝트
개발 기능 및 사용 기술
• LeapMotion JavaScript API를 이용해 개발 진행
• Web에서 MP4 파일 미디어 재생
- HTML5 video player 사용
• CentOS6.9 MySQL 설치 후 이미지 URL 저장
- PHP를 이용해 Database 연동
• Git과 Source Tree GUI 이용해 버전 관리
• 사용자 모션 인식 구현
- ‘화면 터치’, ‘밀기’, ‘펀치’, ‘주먹 쥐기’, ‘스냅 샷’, ‘총 쏘기’, ‘타이핑’,
‘손바닥 뒤집기’, ‘박수’, ‘흔들기’, ‘집기’, ‘주먹을 쥐고 돌리기’, ‘받기’
• Front-End
- Ajax를 이용해 페이지 변화 구현
- 서버에서 미디어 불러오기 구현
8. WowSup!? 플랫폼
개발기간 / 개발인원
2019.01 ~ 2019.04 / 5명
분야
Android app, Web
개발 언어 / 개발 환경
Java, PHP /
Android Studio, Notepad++
역할
Back-End 개발 및 Android app 개발
Firebase를 이용한 채팅 구현
프로젝트 소개
- 종합설계 프로젝트로 3달의 기간 동안 5명을 한팀으로 팀장의 역할
을 맡아 진행
- App 내의 번역기능 제공으로 타 펜팔 App의 불편한 점 해결
- SNS 글처럼 익명으로 카드 작성 및 친구 요청하여 대화 가능
개발 기능 및 사용 기술
• Android app
- http 통신을 위해 Retrofit2 라이브러리 사용 및 서버와 데이터(JSON)를
주고받도록 개발
- Firebase 실시간 Database를 사용해 1:1 채팅 개발
- Android SDK 제공, CardView를 사용해 SNS 형식 카드 포스트 구현
- google-service.json 종속성 추가해 구글 결제 구현
- Naver Papago API를 사용해 번역 기능 제공
• Back-End
- AWS EC2와 RDS(MySQL) 연결 및 서비스 사용
- image 저장을 위해 S3 서비스 사용
- 인증된 이메일 전송을 위해 SES 서비스 사용
- PHP를 사용하여 클라이언트의 request 요청에 response 응답 개발
Link
Project location
Android - https://github.com/msnodeve/flask-frontend-board
9. 상세 설명
- App 내의 회원가입을 위해 AWS SES(Simple Email Service) 서비스를
사용하여 요청한 Email로 인증 번호 전송(PHP로 구현)
- ‘www.heywowsup.com’ 도메인 사용
- Timer를 사용해 5분의 시간 동안만 입력 구현
주요 소스 코드 위치
Retrofit2 HTTP 통신 및 SES 이메일 전송
Timer Dialog
https://github.com/msnodeve/WowSup/blob/master/WowSUP/app/src/
main/java/com/seok/seok/wowsup/login/RegisterActivity.java
WowSup!? 플랫폼(Android app)
10. 상세 설명
- Firebase, Realtime 데이터베이스를 사용하여 1:1 채팅 구현
- 친구 Adapter와 Recyclerview를 이용하여 데이터 리스트화
- Papago API를 사용하여 번역기능 구현
주요 소스 코드 위치
Papago 번역 API
https://github.com/msnodeve/WowSup/blob/master/WowSUP/app/src/
main/java/com/seok/seok/wowsup/dialog/TranslateDialog.java
Firebase 연동 및 1:1 채팅 데이터베이스 사용
https://github.com/msnodeve/WowSup/blob/master/WowSUP/app/src/
main/java/com/seok/seok/wowsup/wowsup/ChatActivity.java
WowSup!? 플랫폼(Android app)
11. 상세 설명
- 사용자 및 익명의 사용자가 작성한 포스트를 GridLayout을 이용해 UI 배치
- Glide 라이브러리를 사용해 서버 이미지의 URL을 받아와 적용
- 받은 좋아요, 친구, 토큰의 개수 확인 가능
- Keyword 검색 기능
주요 소스 코드 위치
GridLayout, CardView UI 배치 및 Glide 사용
https://github.com/msnodeve/WowSup/blob/master/WowSUP/app/src/main/
java/com/seok/seok/wowsup/fragments/fragprofile/ProfileFragment.java
Search Keyword
https://github.com/msnodeve/WowSup/blob/master/WowSUP/app/src/main/
java/com/seok/seok/wowsup/fragments/fragstory/StoryFragment.java
WowSup!? 플랫폼(Android app)
12. 상세 설명
- 1:1 채팅에서 제일 많이 사용한 단어(트랜드) UI 그래프 구현
MPAndroidChart 3.1.0 version
- Token을 구입하기 위한 Google 결제 서비스 구현
주요 소스 코드 위치
MPAndroidChart를 사용해 서버 데이터 리스트화
https://github.com/msnodeve/WowSup/blob/master/WowSUP/app/src/main/
java/com/seok/seok/wowsup/fragments/fragglobal/GlobalFragment.java
Google 결제 서비스
https://github.com/msnodeve/WowSup/blob/master/WowSUP/app/src/main/
java/com/seok/seok/wowsup/wowsup/StoreActivity.java
WowSup!? 플랫폼(Android app)
보완할 점
PHP CodeIgniter 프레임워크를 사용해 RESTFul API로 구축
14. 게시판 CRUD REST API 개발
개발기간 / 개발인원
2019.07 ~ 2019.08 / 1명
분야
Back-End, Python Flask Web app, BootStrap
개발 언어 / 개발 환경
Python(Flask), JavaScript /
vscode, Docker, pipenv
역할
게시판 REST API 개발 및
SQLAlchemy, MySQL Database 설계
프로젝트 소개
- 프레임워크, Back-End, REST API를 중점적으로
경험하기 위해 진행
- API Swagger 및 게시판 UI를 통해 API를 호출할 수 있도록 함
개발 기능 및 사용 기술
• Front-End
- BootStrap을 이용해 게시판 웹 UI 구현 및 반응형 Web 개발
- JavaScript와 Ajax를 이용하여 페이지 변화 구현
• Back-End
- Python의 경량화 프레임워크 Flask를 사용하여 MVC 개발과 REST API
개발 및 Swagger 작성
- 게시판 회원가입, 로그인, 글쓰기 삭제 및 수정 API 기능 구현
• Database
- Docker, MySQL Container 사용
- SQLAlchemy 라이브러리를 이용해 ORM으로 Database 설계
- Local 환경에서 구현
Link
How to make Project? : ‘게시판 CRUD’ App
Project location
FrontEnd - https://github.com/msnodeve/flask-frontend-board
BackEnd - https://github.com/msnodeve/flask-backend-RESTPlus
15. 상세 설명
- BootStrap을 이용해 반응형 Web 개발
- ‘회원 가입’, ‘로그인‘, ‘로그 아웃’, ‘글쓰기’, ‘게시판 목록’ UI 개발
- Cookie, Session을 이용해 로그인 유지 구현
주요 소스 코드 위치
Router를 이용해 URL 이동, 로그인 세션, Back-End로 request 요청
https://github.com/msnodeve/flask-frontend-board/blob/master/app/
__init__.py
각 게시판 UI 템플릿
https://github.com/msnodeve/flask-frontend-board/tree/master/app/
templates
게시판CRUDRESTPlus API개발(Front-End)
16. 상세 설명
- 사용자 회원정보, 게시글 관리를 위해 Python, REST API 구현
REST API swagger 작성
- MVC 패턴으로 개발 진행
- Docker Container를 사용하여 MySQL Database 구축
- Makefile로 Database migration 자동화 구현
- API Authorization 구현
주요 소스 코드 위치
SQLAlchemy, Marshmallow를 사용해 Database 생성
https://github.com/msnodeve/flask-backend-RESTPlus/blob/master/app/
api/database.py
JWT, Basic Auth 사용
https://github.com/msnodeve/flask-backend-RESTPlus/blob/master/app/
api/auth_type.py
회원정보 및 게시글 REST API MVC 패턴 개발
https://github.com/msnodeve/flask-backend-RESTPlus/tree/master/app
게시판CRUDRESTPlus API개발(Back-End)
18. 개발기간 / 개발인원
2019.07 ~ 진행중 / 1명
분야
Android, SpringBoot app
개발 언어 / 개발 환경
Kotlin(Android, SpringBoot) /
Android Studio, IntelliJ, vscode, Docker
역할
Kotlin으로 Github 크롤링
SpringBoot RestFul API,
Android app 개발 및 출시
https://play.google.com/store/apps/details?id=com.seok.gfd
프로젝트 소개
- Android 스마트폰에서 Github Contribution을 확인 하기 위해
브라우저 접속이 필요 불편한 점을 해소
- Github를 사용하는 개발자(사용자) 획득을 위해 금일
Contribution 랭킹 시스템 구축해 재미요소 추가
개발 기능 및 사용 기술
• Android app
- http 통신을 위해 Retrofit2 라이브러리를 사용하여 Github API 및
서버와 데이터(JSON)를 주고받도록 개발
- Jsoup 라이브러리를 사용하여 사용자 Github Contribution 정보 크롤링
- Contribution 기반으로 랭킹 시스템 구축
- 각 Activity 및 Fragment MVVM 패턴으로 개발
• Back-End
- Java/Kotlin의 프레임워크 SpringBoot를 사용하여 MVC 개발과 RESTFul API
개발 및 Swagger 작성
• Database
- Android app에서 Android Architecture Components, Room ORM으로
Database 설계하여 인터넷이 불안정한 상태에서도 내부 데이터를
들고오도록 구현
- Back-End에서 CentOS7 8080 port Systemd에 데몬 등록 후, Docker, MySQL
Container를 사용해 JPA로 설계해 사용자 획득과 랭킹시스템 구축
Link
How to make Project? : ‘Git for developers’ App
Project location
Android - https://github.com/msnodeve/Github-for-Developer
BackEnd - https://github.com/msnodeve/SpringBoot-backend-RESTful
Git for developers플랫폼
19. 상세 설명
- 간편 및 자동 로그인 구현을 위해 Github OAuth 사용
- 사용자 프로필을 표시하기 위해 Github API 사용
- Jsoup 라이브러리를 사용해 ‘https://github.com/[사용자 id]’
의 Contribution의 날짜, 색상, 카운트 데이터 크롤링
- 받아온 데이터를 Android Room Database 및 서버 Database에
저장
- Retrofit2 라이브러리를 사용해 서버에서 사용자들의 금일
Contribution을 가져와 랭킹 시스템 구축
주요 소스 코드 위치
Github Login OAuth
https://github.com/msnodeve/Github-for-Developer/blob/master/app/
src/main/java/com/seok/gfd/views/LoginActivity.kt
Room Database
https://github.com/msnodeve/Github-for-Developer/tree/master/app/
src/main/java/com/seok/gfd/database
Crawling 및 데이터 저장
https://github.com/msnodeve/Github-for-Developer/blob/master/app/
src/main/java/com/seok/gfd/viewmodel/MainViewModel.kt
Git for developers(Androidapp)
20. 상세 설명
- CentOS7 8080 Port로 ‘gfd-api’ Application Systemd 데몬 등록
- Docker MySQL Container 3308 Port로 Database 구축
- MySQL, SpringBoot 환경 변수는 Systemd 환경 변수로 등록
주요 소스 코드 위치
Docker Compose
https://github.com/msnodeve/SpringBoot-backend-RESTful/blob/master/
docker-compose.yml
MySQL 환경변수 숨김
https://github.com/msnodeve/Github-for-Developer/tree/master/app/src/
main/java/com/seok/gfd/database
Git for developers(Back-End)
21. 상세 설명
- 사용자 회원정보 및 랭킹 시스템을 위한 RESTFul API 구현
- 개인 서버를 이용해 http://203.241.228.111:8080/swagger-ui.html
REST API Swagger 작성
- 인증된 사용자만이 API 호출하기 위해 Basic Auth 구현
- MVC 패턴을 사용하여 유지보수가 용이하도록 개발
주요 소스 코드 위치
Swagger UI API Swagger
https://github.com/msnodeve/SpringBoot-backend-RESTful/blob/master/
src/main/kotlin/com/seok/gfd/config/SwaggerConfig.kt
특정 REST URL Basic Auth
https://github.com/msnodeve/SpringBoot-backend-RESTful/blob/master/
src/main/kotlin/com/seok/gfd/config/SecurityConfig.kt
MVC 패턴 사용
https://github.com/msnodeve/SpringBoot-backend-RESTful/tree/master/
src/main/kotlin/com/seok/gfd
Git for developers(Back-End)
23. 손동작을 이용한 마우스 제어 시스템
개발기간 / 개발인원
2019.09 ~ 2019.10 / 4명
분야
C# App, LeapMotion
개발 언어 / 개발 환경
C#(.NET FrameWork) / Visual Studio
역할
제공되는 Leap SDK를 이용해 .NET 연동 및
사용자 제스쳐 마우스 인식, 화면 스케일링 조절 구현
프로젝트 소개
- 마우스와 키보드로 컴퓨터를 제어하는 부분을 손의 제스쳐로 제어
- 마우스 이용 범위가 제한적이기에 비효율적인 발표진행 문제 해결
- 손목, 팔 통증의 신체적 장애 등으로 마우스 사용의 불편함 해결
개발 기능 및 사용 기술
• LeapMotion C# API 및 SDK를 이용해 개발 진행
- 디바이스로 들어오는 사용자 손을 매 프레임 체크해 모션
제스쳐 이벤트 구현
• 시작 프로그램으로 등록 및 삭제
- 윈도우 시작 프로그램 레지스트리에 프로세스를 등록해 자동실행 구현
• 백그라운드 프로세스
- 프로그램 시작 시 윈도우 백그라운드 프로세스로 등록
• 모니터 화면 스케일 조절
- Enum을 이용해 모니터 해상도에 맞춰 Scale Algorithm 구현
• 사용 설명서 UI 구현
Link
Project location
https://github.com/Inje-Database-Lab/DB-Leap
news
https://www.inje.ac.kr/kor/Template/Bsub_page.asp?Ltype=5&Ltype2=1
&Ltype3=0&Tname=S_TodayInje&Ldir=board/S_Focus&d1n=5&d2n=2&
d3n=1&d4n=0&Lpage=Tboard_R&board_idx=1781&page=1
24. 상세 설명
- 시작프로그램으로 등록하기 위해 레지스트리
‘SOFTWAREMicrosoftWindowsCurrentVersionRun’ 위치에 등록
- SetStartup(string AppName, bool enable) 함수를 이용해 레지스트리
등록 및 삭제를 구현
- 프로그램 시작 시 백그라운드 프로세스(아이콘)로 실행
주요 소스 코드 위치
시작 프로그램 등록 및 삭제
https://github.com/Inje-Database-Lab/DB-Leap/blob/master/leap/leap/
hidemain.cs
백그라운드 프로세스 실행
https://github.com/Inje-Database-Lab/DB-Leap/blob/master/leap/leap/
Program.cs
손동작을 이용한 마우스 제어 시스템
25. 상세 설명
- Leap C# API 및 SDK를 이용해 사용자 제스쳐 인식 구현
‘Left / Right Click’, ‘Move’, ‘Drag’, ‘Scroll Up / Down’, ‘Detail Control’
- LeapCSharp.NET4.5 서비스 참조, LeapC.dll을 이용해 디바이스 연동
- Enum을 이용, 모니터 해상도에 맞춰 Scale Algorithm을 해서 마우스
포인터와 손바닥(Palm Position)의 (x, y, z) 값 매칭
- 사용 설명서 UI 제작
주요 소스 코드 위치
디바이스 연동
https://github.com/Inje-Database-Lab/DB-Leap/blob/master/leap/leap/
LeapControllerListener.cs
사용자 제스쳐 및 마우스 구현
https://github.com/Inje-Database-Lab/DB-Leap/blob/master/leap/leap/
MotionFuntion.cs
손동작을 이용한 마우스 제어 시스템
29. 생활코딩과 함께하는 AWS 탐구생활
소개
- 개인 서버를 사용하게 되면 금전적 시간적 비용이
많이 든다고 생각됨
- AWS 기초를 이해하기 위해 ‘생활코딩과 함께하는
AWS 탐구생활’ 수료
느낀점
• 클라우드에 호기심이 생기기 시작함
30. AWS SUMMIT SEOUL 참가
소개
- 클라우드 생태계에 많은 관심이 생겨 AWS
SUMMIT 참가
느낀점
• 현재까지 개발해 온 플랫폼을 Migration 하기로
다짐
• 지금까지 알고 있는 서비스보다 AWS에서
제공하는 서비스가 많아 필요한 서비스를
사용해보고자 함
31. 2019 클라우드 스터디 잼 수료
소개
- 클라우드 인프라에 관심이 생김
- 스터디 잼 그룹에 가입하여 Google Kubernetes,
GCP 사용방법에 대해 습득 하고자 함
느낀점
• 서비스 측면에서 AWS UI가 좀 더 잘 되어있다고
생각함
• GCP를 사용하기에 많은 어려움이 있었음
• 클라우드 인프라에 대해 기본적인 이해
32. 감사합니다.
:)
귀한 시간 내어 끝까지 봐주셔서 감사합니다.
열정을 가지고 언제나 프로페셔널한 개발자의
자질을 갖추기 위해 끊임없이 노력하겠습니다.
지금까지, 코어폴리오였습니다.