이랜서, AI '씨름' 동작 분석 알고리즘 과기정통부 NIA 우수과제 선정

프리랜서 장*화

믿을 수 있는 장*화입니다.
기타 장*화 | ★ ★ ★ ★ ☆ 4.3점 | 경력 05년
  • 이랜서인증
    기술력 우수
  • 이랜서인증
    성실성 우수
  • 이랜서인증
    팀워크 우수

장*화

활동평가 4.3

전문성 80%

일정준수 60%

적극성 80%

의사소통 100%

재고용 의사 100%

...

기타 장*화

팀장

ARM 기반의 embedded linux 네트워크 스택 수정

2005.05 ~ 2005.06
이 프로젝트는 학교 텀 프로젝트로 요구사항은 다음과 같았습니다. 1. arm 리눅스의 시스템 콜 수정으로 시스템 콜 프로파일링 시스템 콜 추가 2. UDP 에 sequence 기능을 추가한 프로토콜 추가 (SSP) 3. 2 의 프로토콜을 이용하여 MP3 스트리밍 클라이언트 작성 이를 위해서 arm assembly 를 익혔고, 시스템 콜 앞뒷단에 적절한 코드를 삽입하여 모든 시스템 콜의 profiler 를 작성하였습니다. 또한 리눅스 커널의 네트웍 스택에서, transport 레이어에 TCP/UDP 이외에 시퀀스 기능을 추가한 SSP 프로토콜을 추가로 작성하였고, 헤더 파일과 커널을 배포하였습니다. 마지막으로 정수 연산만으로 이루어진 mp3 decoder 인 libmad 를 해당 시스템에 포팅한 후, SSP 프로토콜로 스트리밍을 하여, 성공적으로 arm 보드의 4MB 플래시 디스크에서 mp3 player 을 작성할 수 있었습니다."

기획, 전체설계, 메인 파트 프로그래밍

게임 보안 모듈 프로그램 작성

2003.12 ~ 2004.12
이 프로젝트는 게임프로세스 메모리 임의열람, 매크로 등이 난무하는 유저의 컴퓨터 환경에서, 게임 프로그램이 안전하게 실행될 수 있도록 하는 것을 목표로 진행된 프로젝트입니다. 이 프로젝트는 제가 처음부터 기획/연구/초기 코어 구현 등 핵심적인 부분을 담당하였습니다. 프로젝트 결과물은 dll 파일로, 해당 게임 프로그램에서 링크시 이 파일을 포함시키면, 이후 시스템 전반의 kernel32.dll, user32.dll 등을 변경시켜서 OpenProcess(), ReadProcessMemory() 등 보안에 좋지 않은 win32api 가 게임 프로세스 이외에 사용되는 것을 감지하여, 이를 막아 주는 역할을 합니다. 또한 softice, windbg 등의 디버깅 프로그램/ netbus 등의 해킹 프로그램이 떠 있는지를 감지하여 게임에 통보하고, 패킷 변조를 막기위해 주요 network 관련 API 의 변조 또한 체크합니다. 이를 위해 로직에는 C++, 핵심 부분은 inline assembly 로 작성하였고, 비표준적인 방법이 win98 부터 xp 까지 동작해야 함에 따라 안정성을 제일 목표로 삼았습니다. 6개월의 연구, 3개월의 구현, 3개월의 테스트 끝에 성공적으로 전사적인 게임에 탑재되었고, 덕분에 막대한 nProtect 의 라이센스 절감 효과를 체험할 수 있게 되었습니다.

개발메인

온라인게임 자동 업그레이드 시스템

2003.05 ~ 2003.11
이 프로젝트는, 패치가 빈번하게 일어나는 온라인 게임의 특성상, 전사적인 게임 패치 관리 / 업그레이드 시스템이 필요하다는 판단아래 패치파일 작성부분(server) 과 ActiveX 로 이루어진 패치파일 클라이언트에 적용 부분(client) 으로 나누어진 프로젝트입니다. 제가 맡은 부분은 기획보조, 서버부분 작성 이였습니다. 패치 파일의 특성상 MD5 로 무결성을 체크하고, indexing, gzip 압축 등이 사용되었으며, 다운로드 서버로는 apach2, DB 로는 MSSQL 을 사용하였습니다. 중반 이후로는 클라이언트 부분까지 제가 작성하게 되었고, 에러시 신속히 대응할 수 있도록 하는 것을 첫째 목표로 개발되었습니다. 포탈메인사이트/게임개발자/DB/업데이트서버 등이 연동되는 커다란 프로젝트였지만, 위의 목표를 성공적으로 만족시켜서 3개월여의 개발과 3개월여의 테스트 끝에 전사적으로 채택되어 현재까지 사용되고 있습니다. "

NAS 엔진 제작

Embedded Linux 를 이용한 NAS

2001.05 ~ 2002.11
이 프로젝트는 IDE 기반의 일종의 전용 저장장치인 NAS (Network Attached Storage) 를 만드는 것입니다. Fasttrack raid card 로 IDE Harddisk 네 대를 하나로 묶고 Flash Disk 상에 Embedded linux 로 이루어 진 NAS Engine 을 탑재하여, 1U 짜리 240 ~ 400 GB 크기의 NAS 를 만드는 프로젝트입니다. 제가 담당한 일은 시스템 엔지니어로, 크게 Flash Disk 상에서 Nas Engine 을 구현하는 일이였습니다. 우선 웹을 통한 사용자 인터페이스를 설계한 다음 이의 내부적 구현을 위해 linux kernel(2.4.19)을 커스터미징 하고, samba, nfs, appletalk 등의 파일 공유 프로토콜을 적절히 이에 올려서, 외부에서 web 를 통해 손쉽게 NAS 의 동작을 제어할 수 있게 만드는 일이었습니다. 이를 위해 각종 커널별 / 파일시스템 별 (XFS, ext3, reiserfs, ...) / 프로토콜 별(NFS, CIFS, ..) 로 벤치마크를 수행하였으며, 튜닝을 진행하였습니다. 각종 에러 복구에 대응하기 위해 가능한 시나리오를 작성하고 이에 대응하는 스크립트를 작성하였고(bash), icmp 프로토콜을 변형하여 IP 주소 없이도 네트웍 상에서 이 NAS 에 접근할 수 있게 하는 서버/클라이언트 프로그램을 작성하였습니다. (서버:linux-gcc, 클라이언트:windows-visual studio) 또한 시리얼 포트를 통해 장비의 IP address, password 등을 변경하는 서버 프로그램을 작성하였으며, 제품 매뉴얼 작성 역시 담당하였습니다. 2001년 가을 성공적으로 릴리즈 한 다음, 2001.11월 중국에서 열린 NetChina etStorage/SAN 2001 expo 에 출품하였고, 수원시청 등에 납품되었습니다

학력

  • 1999.03 ~ 2005.08 고려 (대학교(4년))

경력

  • 2003-05 ~ 2004-12 (주) CCR(사원)
  • 2001-05 ~ 2003-04 (주) 트론웰(사원)

자격증

  • 2001-06-04 정보처리산업기사, 한국산업인력공단

보유기술

  • Linux
  • Visual C++(MFC/ATL)
  • Active-X
  • C/C++
  • Assembler
  • 보안 프로그래밍
  • 프로그래밍(TCP/IP)

  

상세 이력서 보기 인터뷰 요청하기

인터뷰 요청
공유하기