나를 안아줘요!
본 PPT는 유머러스한 표현을 사용했다고 하여 결코 ‘장난삼아’ 혹은 ‘재미로’로 작성한 것이 아니며 작성자의 홍보용도로 활용할 계획으로 작성되었음을 알려드립니다. 2. 본 문서와 문서에 연결해 놓은 프로그램 및 문서 등의 저작권은 모두 작성자에게 있습니다. 3. 지면 관계상 가급적 Souce code를 담지 않으려 Link를 활용했습니다. 등장하는 URL에 접근하시려면 프레젠테이션 모드 중에 Cntl키를 누른채 마우스로 클릭하십시오. 2017-03-04
Table of content 2017-03-04 Introduction 4 - 6 ‘조태문’ 소개의 글 Skill / Interesting 10 보유기술과 관심분야 Project Web server 개발 11 - 15 HTTP library 개발 16 - 17 Department of appliance 지원분야 Self PR 자기홍보 Resum 이력사항 2017-03-04
Introduction 1/3 Blog link Homepage Contact me! 전화 02-959-3900 이동전화 성명 조태문 국적 대한민국 성별 사나이 생년월일 1984년 12월 31일 Contact me! Click me! URL 전화 02-959-3900 Blog link Click me! 이동전화 010-9233-7440 Homepage E-mail whxoans@gmail.com 주소 서울시 동대문구 이문1동 135-47 2F 우)130-081 2017-03-04
Introduction 2/3 학 력 고등학교 검정고시(서울) 2003년 03월 대학교 인덕대학/소프트웨어개발 학 력 고등학교 검정고시(서울) 2003년 03월 대학교 인덕대학/소프트웨어개발 2004년 03월 ~ 현재 병 역 병장만기 2005년 11월 1일 ~ 2007년 10월 31일 육군 26사단 222포병대대 사격지휘병(COMP) 신체 / 취미 취미 신장 체중 시력 외모 174Cm ±70Kg 좌우/1.0 준수 복싱/농구 2017-03-04
Introduction 3/3 열정 성격 진취적이고 호전적인 성향 집착의 가까운 집념! 낙천적이고 유머러스 가려 사귀지 않는 폭넓은 대인관계 선호 목표 진행 시 계획적이고 냉철 임기응변에도 능함 평시 뜨거운 감성의 소유자 도전/고행을 즐김 무지에 대한 두려움보다 왕성한 호기심! 휴머니즘이 넘치는 인간 시대를 읽고자 하는 전략적 마인드 땀 흘리는 것을 즐기는 스포츠인 풍류를 즐길 줄 아는 풍류랑 클래식과 트렌드 모두 선호 배움을 얻고자 하는 낮은 자세 해보고야 마는 경험주의자 좋아하는 몇 단어 도전 인내 창의 미래 열정 성장 의지 신념 희망 배움 사명 좌우명 No pain, No gain! 목표 세계적인 소프트웨어 디자이너 2017-03-04
skill / Interesting Standard C/C++ UNIX system programming (POSIX thread, Shared object) TCP/IP (UNIX Network Programming) HTTP/SOAP ( Protocol stack processing - Client/Server) UML ( System architecture analysis / modeling ) Apache 2.0 frame work(handler 및 module 개발 가능) Apache + PHP + MySql / ASP.net / JSP + tomcat (그 외 Web service) Bourne-again Shell scripting MFC RTP/RTCP에 대한 높은 관심 시스템 분석/설계 2017-03-04
Project – Web Server 1/5 Multithread & message queue based Simple Web(HTTP) Server 필수 요구사항 “Get” method에 대한 응답을 처리할 수 있어야 함. thread pool mechanism (interactivy 보장) Boss & worker model 각 쓰레드간 자원 공유는 전역 변수(구조체)를 통함. 용도 및 목적에 따른 구조화 프로그래밍 source 분할 header는 통합 memory leakage 및 기타 서비스에 큰 영향이 없어야함. 쓰레드간 동기화는 mutex 사용 Busy wait 없음 : signal 사용. (조건변수로 변경) daemon화로 서비스에 등록 가능한 상태 개발환경 : Redhat LINUX ent 4, GCC, GDB, Valgrind, VIM 2017-03-04
HTTP processing in Worker thread Project – Web Server 2/5 Start run loop = 1 OverView mutex_locking push mutex_unlocking accept Server initailize Client socket queue (Shared) loop == 1 Main thread mutex_locking pop mutex_unlocking loop? HTTP processing in Worker thread Send HTML to client loop == 0 Server destroy loop = 0 SIG_INT signal? End 2017-03-04
Project – Web Server 3/5 initializing scenario 2017-03-04 Start Create listen socket SO_REUSEADDR Create clinet scoket queue Init socket queue Create worker thread Init work thread info thread detach Init thread pool All threads check worker thread suspend Init thread pool Init main(accept loop) thread thread detach SIG_INT wait 2017-03-04
Boss & Worker & Shared queue Project – Web Server 4/5 Boss & Worker & Shared queue client request Connect() accept mutex_locking push Click view Worker thread destroy loop == 0 pop mutex_unlocking loop? Client socket queue (Shared) loop == 1 Search Idle woker thread mutex_locking pop mutex_unlocking Main thread exit pthread_cond_signal going active pthread_cond_wait Click view! thread info = BUSY request read ( timeout 10 sec) HTTP parsing pop fail going suspend loop == 1 mutex_locking pop mutex_unlocking pop success Worker thread init loop? Click view! loop == 0 HTML read send HTML to client( timeout 10 sec ) thread info = IDLE Worker thread exit 2017-03-04
Project – Web Server 5/5 cpu usage rate 최대 20% 약 1200 이상 ESTABLISHED session 최대 38개 쓰레드 사용 memory leakage 없음 TPS : 2690+ response rate : 99.78% stress test client 환경 thread : 1200 request : "GET /", "GET /test.htm“ Client : MS Web Application tester 2017-03-04
Project – Download module 1/2 요구사항 : GET method 사용 test용 server는 211.232.66.123:8888 싸이월드 동영상 서버의 Streamming 요청 규격에 부응할 것. 가능하면 라이브러리화(DLL) byte-range사용으로 해당 range만큼만 받아서 파일로 저장. init부와 전송부와 destroy부를 나눌 것. 파일로 저장하지 않아도 메모리로 가져올 것 Sample response 2017-03-04
Project – Download module 2/2 개발환경 OS : Windows XP Compiler : MS Visual C++ Server : 싸이월드 CMS Util : LibCrul ( client개발용 open API ) Man page & download link 동작 중 packet dump Sample program 2017-03-04
Department of appliance Multimedia Service 개발 (Streamming service 등 / Enterprise급 server app등 다량의 Traffic을 처리하는 Server) 언제나 관심을 가지고 있었던 Embededd linux 및 Application 개발 3 . Web Solution 개발 (클라우드 컴퓨팅, Web based device control 등) 그 외 응용프로그램 개발 2017-03-04
Self PR 전 직장의 재직기간은 2년이 채 되지 않는 짧은 기간이었습니다만 본인의 자아와 새로운 목표와 방향을 확실하게 가지게 된 아주 유익한 시간이었습니다. 배움을 목적으로 하는 조직과는 느낌이 사뭇 다른 프로젝트를 처음 경험하고 놀라기도 했지만 곧 이윤을 목적으로 하는 조직에서의 프로젝트 참여에 대한 묘미를 느끼고 현실적인 시선 가지고 더 높은 이상을 바라보게 되었습니다. 업무 시간 외의 시간은 개인적인 관심분야에 대한 공부도 게을리 하지 않은 채 지속적인 스킬 업을 하고자 부단히 노력해 왔으며 자칫 루즈해지기 쉬운 주말에는 무료 공개 세미나 등에 참석하여 업계의 관심사에 대한 트렌드 및 현업적용 결과 등을 꾸준히 담아내고자 하였습니다. 지금까지의 시스템 개발/지원의 경험을 살리고 부족한 부분을 지속적으로 채워 나가며 보다 낳은 산출물을 내는 엔지니어가 되고자 하오니 선발에 유념해 주시길 바랍니다. 2017-03-04
Resume 1/3 < 주식회사 씬멀티미디어 (2007년11월 ~ 2009년9월) > 사업내용 : 유/무선 인터넷, 멀티미디어, IPTV, 모바일/광고 플랫폼 종업원수 : 75명 내외 설립년도 : 2001년 자본금 : 7억7,410만원 매출액 : 50억 (2008년 기준) < 현 쇼핑몰 개발 프리랜서 활동 중 > <상/수시 업무> SKT MTS/New MTS 유지보수 및 추가개발 연동 CP 문의 응대 및 Public interface SKT PKG 적용 및 연동 테스트 지원 사내 세미나를 위한 Study 서비스 상 Issue 처리 테스트 지원 2017-03-04
Resume 2/3 <2008년 2월 ~ 2008년 9월> 업무내용 SKT MTS 구조개선 프로젝트 참여 Apache frame work 분석 및 module(handler) 개발 Image process 분석 후 apache module로 변환 코딩 포팅 성능/기능 테스트 인수시험 진행 연동 라이브러리 테스트 CP 연동 테스트 지원 및 ClientAPI 배포/지원 환경 : Redhat LINUX Enterprise 4, Apache framework, JEUS(TMAX soft middleware), BASH script, JAVA, C, ImageMagicK(Image Processing Open API), ㈜바로비전/㈜네오엠텔/㈜디지털아리아 변환 라이브러리, HTTP/STI SOAP 멤버수 : 3명 2017-03-04
Resume 3/3 <2008년 9월 ~ 2009년 3월> 업무내용 MTS -> New MTS migration 지원 추가/변경 요구사항을 적용한 개발/수정 환경 : 이상과 동일함. <2009년 4월 ~ 2009년 6월> 업무내용 Capacity planning을 위한 지원 통계 및 HotSpot 분석을 통한 Bottle neck 도출 해결 방안 제시 및 관리 도구 추가 환경 : AWK, SED 및 이상과 동일함 2017-03-04