회사, 학교, 사람, 채용공고

K

개인정보와 약관

기업용 서비스

지원센터

본 서비스에서 제공하는 사용자의 개인정보 데이터를 포함하여 각 정보주체의 동의 없이 데이터를 무단으로 수집하는 행위를 금지 및 거부합니다. 공개된 데이터도 크롤링 등 기술적 장치를 이용해 허가 없이 수집하는 경우 개인정보 보호법에 따라 형사처벌 될 수 있음을 알려드립니다.

© 2025 Rocketpunch, 주식회사 더블에이스, 홍원표, 대한민국 서울특별시 성동구 성수일로10길 12, 12층 1호, 04793, support@rocketpunch.com, +82 10-2710-7121

사업자등록번호 206-87-09615

더보기

user-banner-image
image

심만섭

게시물

1

팔로워

64

팔로잉

52

무덤에 들어가기 전까지 개발만 하고 싶어하는 사람입니다. 리눅스 커널, OS, 시스템 보안, 클라우드, 서버 개발, 머신러닝등에 관심이 있습니다. 오픈소스에도 관심이 있어 소소하지만, 리눅스 커널과 .NET 등에 컨트리뷰션한 경험이 있습니다. 최근에는 웹 백엔드 개발에 관심을 가지고 있습니다.

커리어

게시물

경력

image

백엔드 서버 개발자

하이퍼커넥트

2021년 5월 - 현재 · 4년 2개월

아자르 백엔드 개발

image

서비스 : 모바일(안드로이드/iOS) 성능분석 모니터링 솔루션(Mobile Performance Monitoring, 제니퍼 모바일 버전) 사용 스킬 : node.js, MySQL, Android, BCI(Bytecode Instrument), nginx, rabbitMQ, redis, javascript 관여한 핵심기술 안드로이드 모바일 성능분석 SDK 개발 HTTP, XHR(Ajax) 성능 정보 선별 수집 제한 기능 개발 ANR 타임아웃 설정 기능 개발 OS 버전 별 SDK ON/OFF 기능 개발 RxFragment 렌더링 정보 수집 기능 개발 BCI를 이용한 화면 정보 수집 코드 삽입 자동화 기능 개발 및 버그 수정 Volley HTTP 응답속도 정보 수집기능 개발 2. 웹뷰 성능 분석 Agent 개발 HTTP, XHR(Ajax) 성능 정보 선별 수집 기능 개발 3. 성능정보 수집 서버 개발 SDK ON/OFF 기능 버그 개발 및 유지보수 데이터 전처리 기능(개발 중) 4. 솔루션 버그 수정 웹뷰 성능 정보 수집 버그 수정 애플리케이션 사용자 행동분석 기능 버그 수정 성능 분석 수집 서버 버그 수정 5. Non-Root 기반 솔루션 재 구성 OS별(CentOS6,7 Ubuntu 16.04, 18.04)로 인프라 커스텀 컴파일 haproxy, nginx, node.js, pm2 컴파일 프로젝트 수행시 경험한 것 대규모 트래픽(TPS 200 이상)에 대한 경험 MSA 아키텍처 기반의 서비스에 대해 장애대응 및 개발 경험을 해 볼 수 있었음. CQRS 패턴, 메시지 패싱, Shared Database 패턴을 경험 메시지 큐 기반의 서비스를 경험해볼 수 있었음 다양한 형태의 데이터 구조를 RDB에 저장하는 방법을 배울 수 있었음(트리, 그래프, 성능정보) 회사 솔루션을 분석하면서 BCI(Java Bytecode Instrument)에 대해 학습 할 수 있었음 프로젝트 수행시 느낀 점 솔루션 제작시에, 다른 솔루션들 사이에서도 호환이 잘되게 만들어야 한다는 사실을 깨달음 On-Premise 솔루션에는 MSA 아키텍처가 적합하지 않다는 사실을 깨달음 실제 상용 제품을 만들때는, 관리포인트를 최대한 줄이는게 핵심이라는 사실을 깨달음 그래프나 트리 형태의 자료구조는 RDB에 저장하기 부적절한 구조라는 사실을 깨달음 대규모 데이터나 예상하지 못한 데이터에 대해서, 예외 처리를 고려한 코드를 작성해야 한다는 사실을 깨달음 장애 발생시, Tracking이나 Logging이 가능한 구조를 고려해야 한다는 사실을 깨달음

더보기

image

서버/웹 개발자, 안드로이드 개발자

소프트웨어 마에스트로

2019년 5월 - 2019년 12월 · 8개월

개요 : 사용자 근처 위치에 있는 도전과제(퀘스트)들을 수행하면서, 보상을 챙기는 어플리케이션 역할 : 안드로이드 앱 개발 사용스킬 : android, kotlin 관여한 핵심기술 1. 안드로이드 앱 개발 1-1. 도전과제 목록 표시 페이지 개발 먼저, RecyclerView에서 아이템을 복잡한 모양으로 만드는 기능을 지원하지 않는것을 알게 됨 안드로이드 Drawable을 이용하여 복잡한 모양의 아이템 모양을 만들고 아이템의 배경으로 지정하는 방식으로 해결. 도전과제 목록을 클릭했을시 나오는 CustomInfoWindow로는 복잡한 모양을 만들수 없는 문제가 발생 구글맵에서 지원하는 기능을 이용해서 마커의 상대좌표를 계산한 뒤에, 해당위치에 Popup Window를 띄워주는 방식으로 해결 1-2. 도전과제 등록 페이지 & 리뷰페이지 개발 안드로이드 Room(ORM 라이브러리)을 이용해서 데이터를 등록하는데 테이블을 조인해서 가져오는 경우 Entity와 실제 DB테이블이 제대로 대응이 안되는 문제가 발생함 ColumnInfo 어노테이션을 이용하여 컬럼 이름을 전부 지정해주고, DAO의 SQL문에 있는 wildcard를 삭제 후 어노테이션을 이용해 지정한 컬럼이름들을 전부 적어줘서 가져오는 방식으로 해결 함. 1-3. 도전과제 조회 및 수행페이지 개발 서로 다른 데이터 소스(DAO)에서 데이터들을 가져온뒤 합쳐서 보여주어야 하는데 비동기적으로 데이터가 업데이트 되서 합치는데 문제가 발생함. MediatorLiveData를 이용해서 데이터를 합친뒤 도전과제 조회를 수행할 수 있었음 1-4. 진행중인 도전과제 페이지 개발 복잡한 모양의 RecyclerView를 개발 해야하는 난관에 봉착함 바닥부터 새로 개발 하는것 보다, 기존의 라이브러리를 가져다 쓰는것이 효율적이라고 생각하여 Epoxy라는 라이브러리를 가져다 써서 해결함 Epoxy라이브러리를 이용하여 실제 ViewModel과 View를 매핑하는데, ViewModel의 attribute들을 찾을 수 없는 문제가 발생함 빌드 목록 초기화 후, 리빌딩을 하여 해결 1-5. 스타 충전 페이지 개발 충전금액을 선택하는 컨트롤러를 만들어야 하는데 기본 컴포넌트나 외부 라이브러리 중에서 적합한 라이브러리가 없어서 직접 만들어야 하는 문제가 발생 RadioButtonGroup과 RadioButton을 상속하여 ”스타 충전 금액 선택 커스텀 컨트롤러”를 만들어서 해결 이 과정에서, jvmOverload Annotation과, 커스텀 뷰를 어떤 방식으로 만드는지에 대해서 학습 함 프로젝트 수행시 경험한 것 1. Stetho 와 같은 디버깅 도구들을 이용하여 효율적으로 디버깅을 수행하면서 앱 개발을 진행 함 2. MediatorLiveData를 이용하여 서로 다른 Data source에서 데이터를 받아와서 합치는 구현을 해볼수 있는 기회를 가짐 3. zeplin을 이용해서 디자이너와 협업하는 경험을 가질 수 있었음 4. Google Map API를 이용하여 위치 정보를 이용한 어플리케이션을 만들어보는 경험을 해 봄 5. Repository Pattern 및 MVVM 아키텍처 를 프로젝트에 적용해 봄 프로젝트 수행시 느낀 점 1. 명확한 목표 1가지를 가져야 한다. 2. 명확한 목표 1개를 정하고, 그에 해당하는 핵심시나리오를 1차적으로 구현해야한다는 것을 깨달을 수 있었음. 또한, 너무 한꺼번에 많은것을 하려고 하면 안된다 Ex) SNS서비스 3. 세부 도메인 분야를 구체적으로 정해야 한다 4. 프로젝트 수행시 기획의 비중이 엄청나게 높다 5. 모든것을 수치화 할 정도로 기획 을 구체화 해야한다 6. 처음 만드는 서비스들은 시나리오 별로 기획을 구성한다 7. 일단 우선순위가 가장높은 1~2개 시나리오정도만 프로토타입을 빠르게 구현해서 시장에 내놓는 방식으로 프로젝트를 진행해야 한다는 것을 깨달음 8. 팀원이 잘못된 방향으로 간다 싶으면 강한 피드백, 최악의 경우에는 싸움을 통해서라도 뜯어 말려야 한다 관련 자료 : https://github.com/tlqaksqhr/FlexExample

더보기

image

인턴 연구원

래블업

2018년 12월 - 2019년 2월 · 3개월

Backend.ai — On-Premise & 클라우드 PaaS 머신러닝 분산처리 솔루션 프로젝트 소개 : On-Premise & 클라우드 PaaS 머신러닝 분산처리 솔루션 사용 스킬 : python3, asyncio, golang, system programming, libseccomp 관여한 핵심기술 1. 도커 컨테이너별 스크래치 폴더 용량 제한 기능 추가 도커 API에는 특정 폴더에만 용량을 제한하는 기능이 지원되지 않아서 해당 기능을 직접 구현해야 했음. 가상 디스크 파일을 생성해서 마운트 시키는 방법과 tmpfs를 이용한 방법 2가지를 제안하고 각 방식별 장/단점에 대해 조사 및 연구를 수행 이때 tmpfs를 사용하는 경우 치명적인 버그가 발생하여 해당 방식을 폐기 컨테이너가 시작되면 도커 api를 이용하여 Mkfs 명령어를 이용해서 ext4fs디스크 파일을 생성한뒤, 컨테이너의 스크래치 폴더와 마운트 시키고 컨테이너가 종료되면 해당 ex4fs디스크 파일을 삭제하는 방식으로 구현 해당 구현은 전부 PEP-8 규칙을 준수하면서 개발하였고, I/O작업을 전부 비동기로 처리 2. 솔루션 버그 픽스 컨테이너 내부에서 특정 경로에 0바이트 파일을 계속 생성하는 경우 컨테이너를 띄우는 서버의 inode자원이 고갈되는 버그를 발생하여 패치 함 프로젝트 수행시 경험한 것 1. 원격으로 다른 사람과 영어로 코드 리뷰를 주고받으면서 개발 하는 경험을 해볼 수 있었음 2. 사내 코딩규칙과 PEP8 규칙을 준수하면서 개발할 수 있는 경험을 하였음 3. async하게 동작 하고 있는 코드에 sync하게 동작하는 코드를 넣으면 blocking이 되어서 퍼포먼스가 저하 된다는 사실을 학습 함 4. 모든 I/O 코드가 100% 비동기적으로 동작하는 솔루션의 코드를 학습하고 개발할 수 있는 경험을 하게 됨 프로젝트 수행시 느낀 점 어떤 어려운 기술적인 문제가 발생했을때 관련 문제에 대한 연관된 내용을 전부 도출한뒤 각 레이어별로 특정 문제를 여러문제로 쪼갠 뒤 분석하여 문제를 해결하는 경우 상대적으로 편하게 문제를 해결 할 수 있다는 사실을 알게 됨 관련 자료 : https://github.com/lablup/backend.ai-agent/issues/86

더보기

image

BoB 5기 교육생

차세대 보안리더 양성 프로그램(BoB, 주관: KITRI)

2016년 7월 - 2017년 3월 · 9개월

차세대 보안리더 양성프로그램 5기 취약점 분석 트랙에서 네트워크 프로그래밍, 네트워크 보안, 리버스 엔지니어링, 임베디드 해킹, 웹 해킹, 시스템 프로그래밍 등을 학습하였고, 프로젝트로 웹기반의 안드로이드 APK 분석 및 분석정보 시각화 서비스 개발을 수행 하였습니다. 프로젝트(웹기반의 안드로이드 APK 분석 및 분석정보 시각화 서비스 개발)에서 담당한 부분 - 안드로이드 난독화 해제 모듈 연동 - 서비스 프론트앤드 - 서비스 백엔드 - 인프라 구성 일부 - 데이터베이스 모델링 아쉬웠던 점 - pubsub 패턴으로 구현을 못한점이 아쉬웠습니다. - 개발당시에 비동기에 대한 이해를 잘하지 못해서 백엔드와 난독화 해제 모듈간의 연동을 제대로 못한점이 아쉬웠습니다. 배운점 - 비동기 I/O에 대해서 이해 할 수 있었습니다. - 데이터베이스 정규화에 대해서 학습할 수 있었습니다. - 리눅스 프로세스와 통신하는 IPC에 대해서 학습 할 수 있었습니다. - 메시지큐에 대해서 학습할 수 있었습니다.

더보기

학력

image

재학

2015년 1월 - 2019년 1월 · 4년

전공 공부 및 프로젝트 수행

언어

영어

중급 (업무상 의사소통)

Loading...

이 프로필의 소유자이신가요?

인증을 통해 현재 프로필에 병합하거나 삭제할 수 있습니다. 만약 인증할 수 없는 경우 본인임을 증빙하는 서류 제출 후 프로필 관리 권한을 취득할 수 있습니다.

Loading...