SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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를 생각해 만든
별명입니다.
다양한 분야에 관심이 많고, 넓게 보려고 노력하는
개발자 김명석 ‘코어폴리오’를 소개합니다.
CoerFolio
인터랙티브미디어창작플랫폼
WowSup!?플랫폼
Flask게시판CRUDWeb개발
Gitfordevelopers플랫폼
손동작을이용한마우스제어시스템
외부활동
Aboutme
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’ 수료
사용 프레임워크
사용 언어
CoerFolio
인터랙티브미디어창작플랫폼
WowSup!?플랫폼
Flask게시판CRUDWeb개발
Gitfordevelopers플랫폼
손동작을이용한마우스제어시스템
외부활동
Aboutme
인터랙티브 미디어 창작 플랫폼
개발기간 / 개발인원
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를 이용해 페이지 변화 구현
- 서버에서 미디어 불러오기 구현
인터랙티브 미디어 창작 개발
CoerFolio
인터랙티브미디어창작플랫폼
WowSup!?플랫폼
Flask게시판CRUDWeb개발
Gitfordevelopers플랫폼
손동작을이용한마우스제어시스템
외부활동
Aboutme
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
상세 설명
- 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)
상세 설명
- 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)
상세 설명
- 사용자 및 익명의 사용자가 작성한 포스트를 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)
상세 설명
- 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로 구축
CoerFolio
인터랙티브미디어창작플랫폼
WowSup!?플랫폼
Flask게시판CRUDWeb개발
Gitfordevelopers플랫폼
손동작을이용한마우스제어시스템
외부활동
Aboutme
게시판 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
상세 설명
- 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)
상세 설명
- 사용자 회원정보, 게시글 관리를 위해 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)
CoerFolio
인터랙티브미디어창작플랫폼
WowSup!?플랫폼
Flask게시판CRUDWeb개발
Gitfordevelopers플랫폼
손동작을이용한마우스제어시스템
외부활동
Aboutme
개발기간 / 개발인원
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플랫폼
상세 설명
- 간편 및 자동 로그인 구현을 위해 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)
상세 설명
- 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)
상세 설명
- 사용자 회원정보 및 랭킹 시스템을 위한 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)
CoerFolio
인터랙티브미디어창작플랫폼
WowSup!?플랫폼
Flask게시판CRUDWeb개발
Gitfordevelopers플랫폼
손동작을이용한마우스제어시스템
외부활동
Aboutme
손동작을 이용한 마우스 제어 시스템
개발기간 / 개발인원
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
상세 설명
- 시작프로그램으로 등록하기 위해 레지스트리
‘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
손동작을 이용한 마우스 제어 시스템
상세 설명
- 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
손동작을 이용한 마우스 제어 시스템
캡스톤디자인은상,인기상-손동작을이용한마우스제어시스템
학생창업국제컨퍼런스혁신아이디어상-손동작을이용한마우스제어시스템
CoerFolio
인터랙티브미디어창작플랫폼
WowSup!?플랫폼
Flask게시판CRUDWeb개발
Gitfordevelopers플랫폼
손동작을이용한마우스제어시스템
외부활동
Aboutme
생활코딩과 함께하는 AWS 탐구생활
소개
- 개인 서버를 사용하게 되면 금전적 시간적 비용이
많이 든다고 생각됨
- AWS 기초를 이해하기 위해 ‘생활코딩과 함께하는
AWS 탐구생활’ 수료
느낀점
• 클라우드에 호기심이 생기기 시작함
AWS SUMMIT SEOUL 참가
소개
- 클라우드 생태계에 많은 관심이 생겨 AWS
SUMMIT 참가
느낀점
• 현재까지 개발해 온 플랫폼을 Migration 하기로
다짐
• 지금까지 알고 있는 서비스보다 AWS에서
제공하는 서비스가 많아 필요한 서비스를
사용해보고자 함
2019 클라우드 스터디 잼 수료
소개
- 클라우드 인프라에 관심이 생김
- 스터디 잼 그룹에 가입하여 Google Kubernetes,
GCP 사용방법에 대해 습득 하고자 함
느낀점
• 서비스 측면에서 AWS UI가 좀 더 잘 되어있다고
생각함
• GCP를 사용하기에 많은 어려움이 있었음
• 클라우드 인프라에 대해 기본적인 이해
감사합니다.
:)
귀한 시간 내어 끝까지 봐주셔서 감사합니다.
열정을 가지고 언제나 프로페셔널한 개발자의
자질을 갖추기 위해 끊임없이 노력하겠습니다.
지금까지, 코어폴리오였습니다.

Más contenido relacionado

La actualidad más candente

소셜 네트워크 앱 개발
소셜 네트워크 앱 개발소셜 네트워크 앱 개발
소셜 네트워크 앱 개발Kenu, GwangNam Heo
 
Ionic으로 모바일앱 만들기 #5
Ionic으로 모바일앱 만들기 #5Ionic으로 모바일앱 만들기 #5
Ionic으로 모바일앱 만들기 #5성일 한
 
오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5Taegon Kim
 
크롬 개발자 도구 소개 및 사용법
크롬 개발자 도구 소개 및 사용법크롬 개발자 도구 소개 및 사용법
크롬 개발자 도구 소개 및 사용법Gihyo Joshua Jang
 
하이브리드앱 성능 극복
하이브리드앱 성능 극복하이브리드앱 성능 극복
하이브리드앱 성능 극복sung hwan Park
 
my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a jobDeo Kim
 

La actualidad más candente (7)

소셜 네트워크 앱 개발
소셜 네트워크 앱 개발소셜 네트워크 앱 개발
소셜 네트워크 앱 개발
 
Ionic으로 모바일앱 만들기 #5
Ionic으로 모바일앱 만들기 #5Ionic으로 모바일앱 만들기 #5
Ionic으로 모바일앱 만들기 #5
 
오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5
 
크롬 개발자 도구 소개 및 사용법
크롬 개발자 도구 소개 및 사용법크롬 개발자 도구 소개 및 사용법
크롬 개발자 도구 소개 및 사용법
 
하이브리드앱 성능 극복
하이브리드앱 성능 극복하이브리드앱 성능 극복
하이브리드앱 성능 극복
 
Sm lab basic_04
Sm lab basic_04Sm lab basic_04
Sm lab basic_04
 
my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a job
 

Similar a Portfolio

Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1YoungSu Son
 
목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, VueGunhee Lee
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Channy Yun
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)Changhwan Yi
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기SeungYong Baek
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)CONNECT FOUNDATION
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론Hankyo
 
W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017Wonsuk Lee
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
Open source engineering
Open source engineeringOpen source engineering
Open source engineeringYoungSu Son
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for BeginnerOpenStack Korea Community
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with AngularJT Jintae Jung
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기성일 한
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
 
어그로월드 Season1 - Aggro World season 1
어그로월드 Season1 - Aggro World season 1어그로월드 Season1 - Aggro World season 1
어그로월드 Season1 - Aggro World season 1bingoori
 

Similar a Portfolio (20)

Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1
 
목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
Open source engineering
Open source engineeringOpen source engineering
Open source engineering
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
어그로월드 Season1 - Aggro World season 1
어그로월드 Season1 - Aggro World season 1어그로월드 Season1 - Aggro World season 1
어그로월드 Season1 - Aggro World season 1
 

Último

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 

Último (8)

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: 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. 감사합니다. :) 귀한 시간 내어 끝까지 봐주셔서 감사합니다. 열정을 가지고 언제나 프로페셔널한 개발자의 자질을 갖추기 위해 끊임없이 노력하겠습니다. 지금까지, 코어폴리오였습니다.