프로필 이미지

이상우

Staff Back-end Engineer L6-2 IC

#백엔드 #개발자 #소프트웨어엔지니어 #끊임없이배우기 #독서 #블로거 #워라밸

스킬

Ansible

Jenkins

MySQL

Java

Spring

경력 ・ 23년 2개월

- Staff Back-end Engineer L6-2 IC

2023.11 ~ 2024.11

산업 분야: 이커머스, 플랫폼

Inventory, Promise and Fulfillment Optimization (IPFO) / Staff Back-end Engineer L6-2 IC [2023/11 ~현재] * 테크 인터뷰어 * Q3 Tech OKR Engineering Leader

- Senior Software Developer

2019.05 ~ 2023.10

산업 분야: 커뮤니티 / 소셜네트워킹, 플랫폼

스킬: Java, Docker, Kubernetes, C++, Spring, Ansible

톡플랫폼개발팀/톡메시징 파트 [2019/10 ~ 현재] • 2023 공채 코드 리뷰어, 공통 면접관<br /> 카카오톡 메시징 서버의 대규모 리팩토링과 배포 고도화, 그리고 운영 중인 DB와 Cache의 key type 개선 작업을 무중단으로 수행하고, 메시징 서버의 배포 기능 개선과 스케일 아웃 기능을 추가하였으며, 개발 환경 또한 개선하였습니다. 마지막으로 메시징 서버의 운영 업무를 수행하였습니다.<br /> 리팩토링 작업 내용 일반화하여 공유: <br /> https://tech.kakao.com/2023/08/01/techmeet-java-app-server-refactoring/<br /> https://tech.kakao.com/2023/01/19/kakaotalk-java-app-server-refactoring/<br /> <br /> 캐시 마이그레이션 작업 내용 일반화하여 공유 : <br /> https://prostars.net/313<br /> https://prostars.net/317<br /> <br /> 통합검색팀/통합검색 프론트 [2019/05 ~ 2019/09]<br /> 통합검색 프론트를 리팩토링하여 코드의 가독성과 유지보수성을 향상시키고, 통합검색 프론트의 기능을 검증하기 위한 시나리오 기반 통합 테스트 툴을 개발하여, 테스트 프로세스를 자동화하고 검증 결과를 효율적으로 분석할 수 있도록 했습니다. 통합검색 프론트 설정 파일 편집 툴을 개발하여, 설정 파일을 쉽게 편집할 수 있도록 했습니다. 통합검색 프론트의 유지보수를 병행하였습니다.<br /> <br /> 각 프로젝트에 대한 세부 사항은 경력 기술서에 있습니다.

- 책임

2016.05 ~ 2019.04

산업 분야: 게임, 블록체인

스킬: Java, MySQL, C++, Jenkins, Go

런칭은 하지 못했지만, 페블 블록체인 개발에 메인넷 개발에 참여하였습니다. 카지노 보드 게임 로직을 총괄하는 엔진을 개발하였고, 한게임 카지노 게임 서버 개발 유지보수를 병행하였습니다. 각 프로젝트에 대한 세부 사항은 경력 기술서에 있습니다.

The Workshop - Inventors of Play - Technical Leader / Senior Developer

2013.09 ~ 2016.03

산업 분야: 게임

스킬: Scala

스칼라와 아카를 적극 활용한 함수형 패러다임으로 EGN Poker Server 신규 프로젝트를 진행하였습니다. BDD를 활용한 시나리오 기반 단위/통합 테스트를 구축과 더불어 QA에서 활용할 수 있는 Bot System도 구축하여 테스트 용이성을 추가 확보하였습니다. 각 프로젝트에 대한 세부 사항은 경력 기술서에 있습니다.

RUSHMO - Senior Developer

2011.10 ~ 2013.08

산업 분야: 게임

Rushmo Poker http://apps.facebook.com/rushmopoker http://www.devkorea.co.kr/bbs/board.php?bo_table=m01_project&wr_id=423 개발 기간 : 12개월 개발 인원 : 5명 역할 게임 클라이언트 로비, 페이스북 연동 담당 개발 환경 운영체제 : Windows 개발 툴 : Web Storm 6 언어/프레임웍 : HTML5, JavaScript, Qooxdoo 버전 관리 : SVN 이슈 관리 : TeamForge 담당 개발 부분 요약 메이저 브라우저 호환성을 유지하면서 게임 로비 구현 게임 런처 처리 페이스북 클라이언트 사이드 연동 처리 Rushmo Poker의 슬롯 게임 서버 재개발 개발 기간 : 2개월 개발 인원 : 1명 역할 잘못 구현된 기능과 수많은 버그를 안고 있지만 유지 보수가 불가능한 슬롯 게임 서버를 폐기하고 재개발 개발 환경 운영체제 : Windows 개발 툴 : Web Storm 6 언어/프레임웍 : JavaScript, Node.js, PHP 버전 관리 : SVN 이슈 관리 : TeamForge 담당 개발 부분 요약 게임 총괄, 슬롯 확률 설정 관리, 슬롯 룰 관리 등 각 책임 별로 모듈화 하여 서로 간의 종속성을 최소화하여 유지 보수가 용이하도록 설계 SweepStakes Farkle (http://apps.facebook.com/sweepstakesfarkle) 개발 기간 : 5개월 개발 인원 : 4명 역할 페이스북 연동 모듈 개발 페이스북 결재 처리 개발 환경 상동 담당 개발 부분 요약 페이스북 클라이언트, 서버 사이드 연동 모듈 개발 페이스북 구 결재 방식과 현지 통화 방식 처리

INCA Internet - Senior Developer

2010.09 ~ 2011.09

산업 분야: 보안

nProtect Netizen 4.5 / 5.5 유지보수 기간 : 10개월 개발 인원 : 2명 역할 유지보수 : 디버깅, 기능 추가 개발 환경 운영체제 : Windows 개발 툴 : C++ Builder 5, Visual C++ 2005 버전 관리: SVN 담당 개발 부분 요약 4.5 유지보수 [디버깅, 기능 추가] 5.5 유지보수 [디버깅, 기능 추가] nProtect Netizen 6.0 Netizen 4.5 / 5.5를 유지보수 하며 6.0 개발 개발 기간 : 2개월 개발 인원 : 3명 역할 URL 모니터링, 메인 관리 모듈 담당 개발 환경 운영체제 : Windows 개발 툴 : Visual C++ 2005 언어 / 프레임웍 : C++, Windows API, DLL, Message Hooking 버전 관리 : SVN 담당 개발 부분 요약 IE와 오픈브라우저의 URL 모니터링 모듈 개발 Netizen 메인 모듈 등 기타 모듈의 관리 프로세스 개발

이놉스 - Senior Developer

2009.05 ~ 2010.06

산업 분야: B2B

CDMS 1.0 개발 기간 : 12개월 개발 인원 : 1명 역할 개발 메인 : 프로젝트 분석, 유지보수 개발 환경 운영체제 : Windows 개발 툴 : Visual C++ 2005, Visual C++ 6.0, Visual Basic 6.0 버전 관리 : SVN 담당 개발 부분 요약 1.0 유지보수 [디버깅, 기능 개선] CDMS 2.0 CDMS 1.0을 유지보수 하며 2.0 개발 개발 기간 : 12개월 개발 인원 : 1명 역할 개발 메인 : 프로젝트 관리, 분석/설계, 신기능 추가 개발 환경 운영체제 : Windows 개발 툴 : Visual C++ 2005 버전 관리 : SVN 담당 개발 부분 요약 시스템 분석/설계 1.0을 운용중인 시스템에 아무런 영향없이 2.0으로 교체할 수 있도록 외부 인터페이스 호환성 지원 캐드 제품 별로 제공되는 SDK에 종속되는 부분을 분리하여 확장성 확보 1.0에서 발견된 문제점들을 수정 보완

Visual Research - Senior Developer

2006.02 ~ 2009.03

산업 분야: 방송 / 엔터테인먼트

Darwin 1.0 10년쯤 전에 개발되어 운영중인 SD방송용 Combi를 HD방송용으로 재개발 개발 기간 : 15개월 개발 인원 : 1명 역할 개발 메인 : 프로젝트 분석, 유지보수 개발 환경 운영체제 : Windows 개발 툴 : Visual C++ 2005 언어 / 프레임웍 : C++, DirectX 8/9, Windows API 버전 관리 : SVN 담당 개발 부분 요약 송출 엔진을 새로 설계 여러 사람의 손을 거치면서 스파게티가된 소스를 리팩토링 UI를 최대한 유지하면서 내부를 모두 수정 버그 수정과 기능 추가를 하면서 안전성을 확보하고 HD방송용으로 업그레이드 Darwin 2.0 Darwin 1.0의 안전성 향상과 타임 라인, 3D 효과 등을 추가 개발 기간 : 12개월 개발 인원 : 2명 [PM/개발 메인, 개발 서브] 역할 PM/개발 메인 : 프로젝트 관리, 분석/설계, 신기능 추가 개발 환경 Darwin 1.0과 동일 담당 개발 부분 요약 시스템 분석/설계 기능 추가전 대규모 리팩토링 1.0에서 발견된 문제점들을 수정 보완 타임 라인을 도입하여 자막 제작의 자유도를 확보 레이어 인/아웃에 3D 효과를 도입하여 더욱 화려한 자막 제작이 가능 Tornado3D 2.0 Tornado3D 1.0을 유지보수 하며 2.0 개발에 참여 개발 기간 : 12개월 개발 인원 : 3명 [PM/개발 메인, 개발 서브 2명] 역할 개발 서브 : 1.0 유지보수, 송출 보드 이식, 2.0 개발 서브 개발 환경 운영체제 : Windows 개발 툴 : Visual C++ 2005 언어 / 프레임웍 : C++, DirectX 8/9, Windows API 통신 : TCP/IP, UDP, RS232, RS485 데이터베이스 : ODBC 소스 관리 : SVN 이슈 관리 : Trac 담당 개발 부분 요약 1.0 유지보수 [디버깅, 기능 개선] 송출 보드 이식 2.0 개발 UI 파트로 참여

천호정보시스템 - Junior Developer

2005.07 ~ 2006.02

산업 분야: 금융 / 핀테크

외국계 은행 유지보수 구축되어 운영중인 타행환 시스템의 유지보수 유지보수 기간 : 3개월 유지보수 인원 : 2명 개발 환경 운영체제 : 서버[AIX], 클라이언트[Windows] 개발 툴 : 서버[C / Pro*C], 클라이언트[Delphi] 통신 : TCP/IP, X.25 데이터베이스 : Oracle, DB2 소스 관리 : CVS BTM, UFJ 합병 작업 운영중인 두 은행의 합병으로 두개의 타행환 시스템을 하나로 묶음 개발 기간 : 2개월 개발 인원 : 2명 [PM, 개발] 역할 개발 메인 : DB의 통합과 그에 따른 유틸리티 프로그램 개발, 서버 수정 개발 환경 운영체제 : 서버[AIX], 클라이언트[Windows] 개발 툴 : 서버[C / Pro*C], 클라이언트[Delphi] 통신 : TCP/IP, X.25 데이터베이스 : DB2 소스 관리 : CVS 담당 개발 부분 요약 두 사이트의 타행환 시스템이 동일하여 통합하는데 큰 문제는 없었으며 버전이 다른 DB를 안전하고 손쉽게 통합하기 유틸리티 프로그램을 몇 가지 개발하여 진행을 수월하게 함 BTM OFT Server Performance Tuning 운영중인 OFT 시스템의 성능 문제로 튜닝을 함 개발 기간 : 1개월 개발 인원 : 1명 역할 개발 메인 : 성능 저하 부분을 찾아 개선 개발 환경 운영체제 : AIX 개발 툴 : C 통신 : TCP/IP, IPC 데이터베이트 : DB2 소스 관리 : CVS 담당 개발 부분 요약 로컬 프로세스간의 통신에서 성능 저하가 발견되어 기존 구현 부분을 버리고 IPC 통신으로 각 프로세스간의 통신을 처리

새론소프트 - Junior Developer

2000.12 ~ 2004.12

산업 분야: B2B

iKEN 웹기반 전력감시 시스템 [www.iken.co.kr] 클라이언트/서버 방식의 전력감시 시스템 개발 기간 : 13개월 개발 인원 : 4명 [PM, 서버 개발, DBA, 웹 개발] 역할 개발 메인 : BL Server, CS Server 개발 환경 운영체제 : Solaris 개발 언어 : C / Pro*C 통신 : TCP/IP 데이터베이스 : Oracle 미들웨어 : Coms, Jeus, WebToB 담당 개발 부분 요약 BL Server 설계/개발 CS Server에서 넘어오는 실시간 데이터를 Web Server에 바로 보여주기 위하여 간이 메모리 DB를 구축 Web Server의 데이터 검색 요청과 시스템 제어 요청에 대응 CS Server 설계/개발 전국에 설치된 클라이언트 장비에서 올라오는 실시간 데이터를 가공하여 BL Server로 전송 BL Server의 장비 제어 요청에 대응 사용 기술 요약 간이 메모리 DB 구축 대용량 메모리를 빠른 속도로 제어하기위해 필요한 메모리를 미리 확보하여 두고 메모리 할당/해제 요청에 대응하는 라이브러리를 개발 대용량 메모리 관리자 확보한 메모리의 할당/해제를 담당하며 해제되는 메모리는 주변 메모리와 병합하여 단편화를 없앤다. 시스템 메모리 할당/해제가 없기 때문에 성능이 향상 데이터 관리자 RB Tree를 사용하여 데이터를 제어/검색 하며 대용량 메모리 관리자를 사용 카운팅 세마포어를 사용하여 RB Tree 회전에 안전하도록 개발 대용량 전문처리 OOP가 지원되지 않는 C언어에서 구조체와 함수포인터를 활용하여 코드를 간소화

교육

학점은행제 - 컴퓨터공학 학사

2012.01 ~ 2012.01

한국산업기술대학교 - 컴퓨터공학 학사

2001.01 ~ 2007.01

링크

개발 트렌드부터 Q&A, 네트워킹까지

요즘 개발자들의 필수 커뮤니티, 커리어리