나를 안아줘요! 조 태 문.

Slides:



Advertisements
Similar presentations
자기소개서 만들기. 2 4) 자기소개서 작성방법 [ 데이터 수집 ] - 지원하는 업무는 어떤 업무인가 ? - 그 일을 왜 하고 싶은가 ? - 그 업무는 나의 전공과 관련이 있는 업무인가 ? - 그 업무를 수행하기 위해 미리 알아야 할 사항은 무엇인가 ? - 필요한 직무능력을.
Advertisements

Term Project Hints Topics Keep-alive CGI Multi-thread Multi-process Event-based.
더존다스 경영전략과 비젼 1 ERP 개발부문
Page 1 Android Programming November 04 / 2009 S/W Junhyuk Jang.
J-Stream part1 (Software streaming service) ▪ 팀명 : Jukdori ▪ 팀원 : 16 th 윤병호 (PL) 15 th 송인규 16 th 김영진.
인터넷 쇼핑몰 구축 제안서.
IF(Infinite Fork) 유닉스 시스템 / 정상훈 / 이재형
OS 소개 Introduction 설계목표 기본 용어 Resource Management History.
CDMA SW 구조 AIITQC 서울본원교육장 양 종 윤.
MO/MT를 활용한 Call Center 제안
나를 안아줘요!.
2009년 IT인재개발원 [연수생 모집요강]
Next SMS서비스 소개서 다음인터넷세상.
Introduction to Django
PC와 인터넷 정강수 컴퓨터 구조와 웹의 이해 PC와 인터넷 정강수
Network Lab. Yong bae, Kim
Web Server (JSP, Servlet 지원)
Understanding of Socket and File I/O
통합단말 UI Framework 컨설팅 - 디자인 시안 설명회
통합 접근 권한 관리의 모든 것.
Safecode® 3.0 ㈜코드원 웹 애플리케이션 취약점 제거 및 관리 솔루션
개발자에게 SharePoint Services 란 무엇인가?
멀티 디바이스 컨텐츠 제공을 위한 안드로이드 동기화 시스템
Web Programming 강의 소개
공개소프트웨어란? “Open Source Software(공개SW)는 저작권자가 소스 코드를 개방하여 소스 코드의 수정, 재 배포가 자유로운 SW로 규정한다 공개소프트웨어는 전세계 개발자 누구나 참여하고 있는 커뮤니티 프로젝트로 개발되며, 브랜드를 달고.
TCP/IP Socket Cover Slide 조태문.
오목게임 W32 로봇시스템제어(하) GROUP 7 노성동, 하선웅, 김관준
NFS, FTP coearth, george.
IPCC Full Solutions Billit All IP Contact Center llllBillit -IP_PBX
컴퓨터 소프트웨어.
Chapter 32 Analyzing Web Traffic
팀 명: Con Spirito 팀 원: 경주리 김다정 김소담 최은미
Wi-Fi 기반 NATE 서비스 제공 -설명회-
동호회 구축 제안서 인터넷전문가그룹 4biz.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
Shopping + Game Server 조태문 박한범
Linux를 이용한 Embedded 장비 개발
NTAS 소개 (Network Transaction Application Server)
임베디드 프로그래밍 Lecture #
(PROJECT명: Web Server관리)
Embeded 기초 다지기 2015년 10월 26일 intern Sally
(Network Transaction Application Server)
Web상에서의 Network Management
운영체제 (Operating Systems) (Multi-Thread Programming)
객체 지향 프로그래밍.
네트워크와 소켓 프로그래밍 Chapter 01. * 학습목표 TCP/IP 프로토콜의 동작 원리를 개관 소켓의 기본 개념을 이해
KRISTAL 2006 워크숍 KRISTAL 개발 업체 발표
CGI (Common Gateway Interface)
김 정 석 Web Programming 김 정 석
AIMS 2016 설비.물류 통합 모니터링 솔루션 Advanced Integrated Monitoring Solution
NTAS 소개 (Network Transaction Application Server)
User Datagram Protocol (UDP)
MTS 구조분석 Cover Slide 조태문.
Linux/UNIX Programming APUE (Thread Programming)
myfood.com 상명대 맛집 홈페이지 구축 제안서
윤성우의 열혈 TCP/IP 소켓 프로그래밍 윤성우 저 열혈강의 TCP/IP 소켓 프로그래밍 개정판
Operating System Multiple Access Chatting Program using Multithread

23. Unix 시스템 커널. 개요 커널의 기본 서비스 커널의 특징 참고서적 프로세스 관리 장치 관리 파일 관리 가상 메모리
JSP와의 첫 만남 간간한 JSP 프로그램을 작성하면서 앞으로 학습에 필요한 과정을 익힌다.
MONSTER CAR 구정재 한석우 김재형.
SIMPLE CALL Client 사용설명서
이번 시간에는... 지난 시간까지 제 1장을 통해 모바일의 정의와 개념, 시작과 발전, 기술과 서비스 및 그 전략을 살펴봄으로써 모바일 산업에 대한 전반적인 이해를 쌓았습니다. 이번시간 부터는 제 2장 모바일 기술을 통해, 무선 인터넷을 위한 컨텐츠 제작 기술, 네트워크.
10장 OSI 7 Layer 강원도립대학교 정보통신개론.
ASP 기초개념 ASP란? ActiveX 서버 컴포넌트.
웹 프로그래밍 기술 요약 Yang-Sae Moon Department of Computer Science
Windows System Programming
실시간 음성 채팅 서비스 (Voice Chatting Programe)
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
Presentation transcript:

나를 안아줘요! 조 태 문

Table of content Introduction Skill / Interesting Project ‘조태문’ 소개의 글 4 - 6 프로그래밍에 대한 철학 7 Skill / Interesting 보유기술과 관심분야 8 Project Web server 개발 9 - 14 HTTP library 개발 15 – 16 SKT MTS 구조분석 17 – 23 Department of appliance 지원분야 24 Self PR 자기홍보 25 2019-01-12

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 2019-01-12

Introduction 2/3 학 력 고등학교 검정고시(서울) 2003년 03월 대학교 인덕대학/소프트웨어개발 학 력 고등학교 검정고시(서울) 2003년 03월 대학교 인덕대학/소프트웨어개발 2004년 03월 ~ 현재 병 역 병장만기 2005년 11월 1일 ~ 2007년 10월 31일 육군 26사단 222포병대대 사격지휘병(COMP) 신체 / 취미 취미 신장 체중 시력 외모 174Cm ±70Kg 좌우/1.0 준수 복싱/농구 2019-01-12

Introduction 3/3 열정 좋아하는 몇 단어 성격 도전 진취적이고 호전적인 성향 낙천적이고 유머러스 좋아하는 몇 단어 성격 진취적이고 호전적인 성향 낙천적이고 유머러스 가려 사귀지 않는 폭넓은 대인관계 선호 임기응변에도 능함 도전/고행을 즐김 무지에 대한 두려움보다 왕성한 호기심! 시대를 읽고자 하는 전략적 마인드 땀 흘리는 것을 즐기는 스포츠인 풍류를 즐길 줄 아는 풍류랑 배움을 얻고자 하는 낮은 자세 해보고야 마는 경험주의자 도전 인내 창의 미래 열정 성장 의지 신념 희망 배움 사명 좌우명 No pain, No gain! 목표 세계적인 소프트웨어 디자이너 2019-01-12

philosophy 프로그램 동작 돌아가기만 하면 맞는 것이 아니라 맞을 때까지 돌아가지 않는다 코딩 Simple해야 한다. 간결한 문장은 나와 프로그램 코드를 보는 모든 사람을 빠르게 한다. 프로그래머 컴퓨터와 사람을 소통을 도와주는 통/번역사. 그러므로 좋은 프로그래머는 컴퓨터 뿐 이나라 사람과 자신을 잘 알고 있어야 한다. 사람과 프로그램 API를 하나 더 잘 쓰느냐 는 문제가 문제가 아니다. 정말 중요한 것은 사람에게 필요한 건 돈도 능력도 아니다. 사람에게 필요한 것은 사람이다. 2019-01-12

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에 대한 높은 관심 시스템 분석/설계 2019-01-12

Thread pool 기반 Web Server 개발 수행 프로젝트 소개 Thread pool 기반 Web Server 개발 2019-01-12

프로젝트 개요 Multithread & message queue based Simple Web(HTTP) Server 개발환경 : Redhat LINUX ent 4, GCC, GDB, Valgrind, VIM, POSIX Thread, BASH Shell scripting 필수 요구사항 “Get” method에 대한 응답을 처리할 수 있어야 함. thread pool mechanism (interactivy 보장) Boss & worker model 각 쓰레드간 자원 공유는 전역 변수(구조체)를 통함. 용도 및 목적에 따른 구조화 프로그래밍 source 분할 header는 통합 memory leakage 및 기타 서비스에 큰 영향이 없어야함. 쓰레드간 동기화는 mutex 사용 Busy wait 없음 : signal 사용. (조건변수로 변경) daemon화로 서비스에 등록 가능한 상태 2019-01-12

HTTP processing in Worker thread 서버 개요 OverView : Boss thread section : Shared queue section : Worker thread section Start run loop = 1 mutex_locking push mutex_unlocking Server initailize accept 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 2019-01-12

초기화 시나리오 initializing scenario 2019-01-12 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 2019-01-12

Boss & Worker & Shared queue 각부 별 연동 구조 Boss & Worker & Shared queue client request Connect() accept mutex_locking push Boss thread Click view! Worker thread destroy loop == 0 loop? Client socket queue (Shared) mutex_unlocking loop == 1 Search Idle woker thread Shared queue 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 Worker thread 2019-01-12

Test 결과 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 2019-01-12

HTTP Range Download Library 수행 프로젝트 소개 HTTP Range Download Library 2019-01-12

Project – Download module 1/2 요구사항 : GET method 사용 test용 server는 211.232.66.123:8888 싸이월드 동영상 서버의 Streamming 요청 규격에 부응할 것. 가능하면 라이브러리화(DLL) byte-range사용으로 해당 range만큼만 받아서 파일로 저장. init부와 전송부와 destroy부를 나눌 것. 파일로 저장하지 않아도 메모리로 가져올 것 Sample response 2019-01-12

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 2019-01-12

SKTelecom MTS - MediaTranscodingSystem 구조분석 수행 프로젝트 소개 SKTelecom MTS - MediaTranscodingSystem 구조분석 2019-01-12

개요 목적 : MTS1 유지보수 및 개발을 위한 내부구조 이해 배경지식 : UNIX system programming TCP/IP socket POSIX thread HP-UX system call 2019-01-12

Overview ADMN TIPB main TRPB main Childthreads Child processes CP TIPB thread TRPB child converter CP TIPB thread TRPB child converter CP TIPB thread TRPB child converter CP TIPB thread TRPB child converter 2019-01-12

SIGHUP SIGINT SIGQUIT SIGABRT SIGKILL SIGTERM ADMN flow chart start GetConfigurationShm InitDaemon is jumping? initialize jumper start_gen_process No Yes alarm(1) check_proc invoke (TIPB, TRPB) SIGALRM manage_child signal? wait() SIGHUP SIGINT SIGQUIT SIGABRT SIGKILL SIGTERM end kill_children to_exit to_exit 2019-01-12

send req to TRPB process TIPB flow chart start init_config signal? SIGHUP SIGINT SIGQUIT SIGABRT SIGKILL SIGTERM InitDaemon init_proc OpenServerSocket to_exit init_cptbl & init_mintbl end init_thread Init Mutex & Cond CreateThread proc_tipb send req to TRPB process thread section to_select send cond signal trans response & result data accept_cp_req CP trans request & source data accept loop 2019-01-12

TRPB flow chart start init_config wait signal? InitDaemon init_proc SIGCLD wait signal? SIGHUP SIGINT SIGQUIT SIGABRT SIGKILL SIGTERM InitDaemon init_proc OpenServerSocket to_exit AcceptSocket end fork() send response to TRPB thread child processing loop Created new child child_select skt_conv_req read_tipb_msg single etc lib. is multi? send_media_conv_resp skt_conv_req_1_N multi 2019-01-12

Department of appliance Multimedia Service 개발 (Streamming service 등 / Enterprise급 server app등 다량의 Traffic을 처리하는 Server) 언제나 관심을 가지고 있었던 Embededd linux 및 Application 개발 Web Solution 개발 (클라우드 컴퓨팅, Web based device control 등) 그 외 응용프로그램 개발 2019-01-12

Self PR 전 직장의 재직기간은 2년이 채 되지 않는 짧은 기간이었습니다만 본인의 자아와 새로운 목표와 방향을 확실하게 가지게 된 아주 유익한 시간이었습니다. 배움을 목적으로 하는 조직과는 느낌이 사뭇 다른 프로젝트를 처음 경험하고 놀라기도 했지만 곧 이윤을 목적으로 하는 조직에서의 프로젝트 참여에 대한 묘미를 느끼고 현실적인 시선 가지고 더 높은 이상을 바라보게 되었습니다. 업무 시간 외의 시간은 개인적인 관심분야에 대한 공부도 게을리 하지 않은 채 지속적인 스킬 업을 하고자 부단히 노력해 왔으며 자칫 루즈해지기 쉬운 주말에는 무료 공개 세미나 등에 참석하여 업계의 관심사에 대한 트렌드 및 현업적용 결과 등을 꾸준히 담아내고자 하였습니다. 지금까지의 시스템 개발/지원의 경험을 살리고 부족한 부분을 지속적으로 채워 나가며 보다 낳은 산출물을 내는 엔지니어가 되고자 하오니 선발에 유념해 주시길 바랍니다. 2019-01-12