인쇄시 프린트에 적합한 화면으로 표시됩니다.
반드시 인쇄 미리보기에서 배경 이미지 관련 옵션을 체크하고 인쇄해주세요.
반드시 인쇄 미리보기에서 배경 이미지 관련 옵션을 체크하고 인쇄해주세요.
프로필
| 이름 | 김학연 |
|---|---|
| 소속 |
숭실대학교 소프트웨어학부 (2018.03 ~) SW마에스트로 10기 (2019.06 ~ 2019.12) |
| 이메일 | [email protected] |
| Git 저장소 | github.com/aooen |
개발분야
| Web Frontend | HTML5, jQuery, React, Redux |
|---|---|
| Web Backend | Node.js (Express, Nest.js), JAVA (Spring) |
| System | Linux, Docker, Kubernetes |
| Desktop App | Electron, C# (WPF) |
METAPLAD (2023.11 ~ 2024.8)
- 당시 공동 창업자로 참여하여 CTO로 재직
- 엣지 디바이스로의 AI 모델 최적 배포 및 엣지 디바이스 운영 시스템 연구 (관련 특허)
- LLM 모델 등 생성형 AI 적용 사례(Demo) 다수 개발
- K8S 멀티 클러스터 구성 및 GitOps 배포 환경 구성(ArgoCD)
- AWS, NCP 인프라 구성 - Terraform 적용 및 VPC 구성 등
- 풀스택으로 React, React-Native, Nest.js, Spring 등을 활용하여 주요 기능 개발
엘리스 (2023.07 ~ 2023.11)
기능 추가 / UX 개선
- WebRTC 기반 화상 채팅에서 사용자 배경화면을 변경하거나 흐리게 적용할 수 있도록 ML 라이브러리 도입
- Monaco 에디터에서 Python, C/C++ Intellisense 적용(Language Server 백엔드 구축 및 연동) 및 그 외 코드 에디터 개선 주도
- react-pdf 사용 부분을 pdf.js 제로베이스로 새로 작성하여 속도 향상 및 번들 사이즈 축소
- Entry 플랫폼으로 작성된 블록 코드를 채점하는 기존 코드 문제 확인 및 개선
개발 환경 개선 - MSA 개선 작업: CRACO 환경에서 Module Federation 도입 및 컨벤션 셋업 - Webpack 4 → Webpack 5 / Vite 마이그레이션 리서치 - I18n 적용 유틸리티 작성(JS) 및 HashiCorp Vault를 백엔드로 한 개발 환경 통합 관련 툴 작성(CLI) - 새 ESLint Rule 작성 / Cypress E2E 테스트 환경 개선
개발 환경 개선 - MSA 개선 작업: CRACO 환경에서 Module Federation 도입 및 컨벤션 셋업 - Webpack 4 → Webpack 5 / Vite 마이그레이션 리서치 - I18n 적용 유틸리티 작성(JS) 및 HashiCorp Vault를 백엔드로 한 개발 환경 통합 관련 툴 작성(CLI) - 새 ESLint Rule 작성 / Cypress E2E 테스트 환경 개선
채널코퍼레이션 (2020.03 ~ 2023.06)
Lv5 직급으로서 3~4명 단위 Cell을 리딩하는 피플 매니징 및 태스크 매니징 경험 보유
중요 Feature 및 데이터 시각화 Feature의 Front-end 부분 개발 다수 리딩 - 화면에 2개 이상의 챗을 띄울 수 있도록 하는 스레드 / 사이드 뷰 기능 - 검색 기능 레이아웃 구조 및 자동완성 UX 개편 - 알림톡 템플릿 등록·검수 및 알림톡 자동화 메시지 발신 및 통계 기능 - 서포트봇(챗봇)에 대한 고객 행동 트래킹 통계 시각화 기능
코어 로직 개발, 하루 수천 건의 대화를 백그라운드 상에서 안정적으로 처리할 수 있도록 성능 튜닝 - React의 reconciliation 과정을 전체적으로 이해하며, Redux-Saga / Immutable.js / Reselect를 자유자재로 이용함. - 사이드 뷰, 오버레이 검색 모달 등 root reducer에 영향을 미치지 않고 기존 reducer 형태를 그대로 사용하여 별개의 데이터를 저장하는 local reducer 형태 고도화 - 메시지 형식 Antlr 파싱 과정을 Web Worker화하여 논블로킹으로 수행되도록 변경 - 메시지 Lazy mount (dynamic size element에 대한 windowing 수행) - Web Socket Connection·Handler를 관리하는 Redux Middleware를 Redux-Saga화 및 일정 시간동안 들어온 Action을 Batch 처리하는 부분 고도화 진행
개발 환경 및 팀 개선 - 팀챗, 유저챗, 메시지 등 핵심 로직 Selector를 리팩토링하고, Selector 별 파편화된 캐싱 로직 등 공통 부분을 Util화하여 코드 가독성을 높임. - 원하는 컨벤션을 lint화하기 위한 ESLint 플러그인 셋업 (channel-io/eslint-plugin) - 모듈 Import시 파일 이름을 명시하지 않아도 되는 TypeScript Plugin 셋업 (channel-io/directory-named-typescript-plugin) - 신입 채용을 위한 새로운 과제 전형 개발 (Node.js API 서버, e2e 자동 채점 툴, 지원자의 능력을 심도있게 알아볼 수 있는 지문 제작) - 그 외 팀원들의 코드 유지보수 효율을 늘리는 방안을 꾸준히 생각해 적용함. - 내부 로직 작성에 사용되는 핵심 라이브러리인 redux-saga에서 타입이 잡히지 않는 점에 의문을 느끼고 이 부분이 개선된 typed-redux-saga를 도입하여 팀원들이 build-time에 코드의 오류를 찾을 수 있도록 함. - RTK, DI 등 내부 코드 리팩토링 TF에 활발히 참여하고 유의미한 의견을 제시함.
고객의 소리를 듣고 기획에 적극 참여 - 채널코퍼레이션은 개발자도 고객의 문의에 참여하도록 하는 문화를 가지고 있음 - CX적인 마인드와 오퍼레이션, 비즈적 기법 습득 - 기획자가 없고, 주별 스크럼으로 적극적으로 기획에 참여하는 팀 문화 - 버그에 대한 일시적 해결이 아닌 버그가 생긴 이유에 대해 깊이있게 탐구하여 재발 방지 리서치
팀 내 테크톡을 통한 기술 공유 및 아티클 작성 - Functional Thinking in Kotlin - React DnD Tips & Tricks
중요 Feature 및 데이터 시각화 Feature의 Front-end 부분 개발 다수 리딩 - 화면에 2개 이상의 챗을 띄울 수 있도록 하는 스레드 / 사이드 뷰 기능 - 검색 기능 레이아웃 구조 및 자동완성 UX 개편 - 알림톡 템플릿 등록·검수 및 알림톡 자동화 메시지 발신 및 통계 기능 - 서포트봇(챗봇)에 대한 고객 행동 트래킹 통계 시각화 기능
코어 로직 개발, 하루 수천 건의 대화를 백그라운드 상에서 안정적으로 처리할 수 있도록 성능 튜닝 - React의 reconciliation 과정을 전체적으로 이해하며, Redux-Saga / Immutable.js / Reselect를 자유자재로 이용함. - 사이드 뷰, 오버레이 검색 모달 등 root reducer에 영향을 미치지 않고 기존 reducer 형태를 그대로 사용하여 별개의 데이터를 저장하는 local reducer 형태 고도화 - 메시지 형식 Antlr 파싱 과정을 Web Worker화하여 논블로킹으로 수행되도록 변경 - 메시지 Lazy mount (dynamic size element에 대한 windowing 수행) - Web Socket Connection·Handler를 관리하는 Redux Middleware를 Redux-Saga화 및 일정 시간동안 들어온 Action을 Batch 처리하는 부분 고도화 진행
개발 환경 및 팀 개선 - 팀챗, 유저챗, 메시지 등 핵심 로직 Selector를 리팩토링하고, Selector 별 파편화된 캐싱 로직 등 공통 부분을 Util화하여 코드 가독성을 높임. - 원하는 컨벤션을 lint화하기 위한 ESLint 플러그인 셋업 (channel-io/eslint-plugin) - 모듈 Import시 파일 이름을 명시하지 않아도 되는 TypeScript Plugin 셋업 (channel-io/directory-named-typescript-plugin) - 신입 채용을 위한 새로운 과제 전형 개발 (Node.js API 서버, e2e 자동 채점 툴, 지원자의 능력을 심도있게 알아볼 수 있는 지문 제작) - 그 외 팀원들의 코드 유지보수 효율을 늘리는 방안을 꾸준히 생각해 적용함. - 내부 로직 작성에 사용되는 핵심 라이브러리인 redux-saga에서 타입이 잡히지 않는 점에 의문을 느끼고 이 부분이 개선된 typed-redux-saga를 도입하여 팀원들이 build-time에 코드의 오류를 찾을 수 있도록 함. - RTK, DI 등 내부 코드 리팩토링 TF에 활발히 참여하고 유의미한 의견을 제시함.
고객의 소리를 듣고 기획에 적극 참여 - 채널코퍼레이션은 개발자도 고객의 문의에 참여하도록 하는 문화를 가지고 있음 - CX적인 마인드와 오퍼레이션, 비즈적 기법 습득 - 기획자가 없고, 주별 스크럼으로 적극적으로 기획에 참여하는 팀 문화 - 버그에 대한 일시적 해결이 아닌 버그가 생긴 이유에 대해 깊이있게 탐구하여 재발 방지 리서치
팀 내 테크톡을 통한 기술 공유 및 아티클 작성 - Functional Thinking in Kotlin - React DnD Tips & Tricks
참여 논문 & 특허
- 엣지 단말에 인공지능 모델 배포를 위한 시스템 및 이를 위한 방법, 2023년 12월, 특허등록번호 1026836950000
- 휴대용 근적외선 피하지방 측정기기 및 애플리케이션 개발, 2019년 12월, 한국정보과학회 (학술대회논문)
- 측정 대상체의 피하지방 두께를 측정하는 장치 및 방법, 2019년 8월, 특허등록번호 1023075400000
- 시각 장애인용 경로 유도 로봇 및 방법, 2019년 3월, 특허등록번호 1021582450000
이력
| 2019. 12. 12. | '제12회 TOPCIT 정기평가' 성적우수자 특별상(해군참모총장상, 숭실대총장상) |
|---|---|
| 2019. 7. 16. | '제11회 TOPCIT 정기평가' 성적우수자 은상(정보통신기획평가원장상), 대학생 3위 |
| 2018. 12. 13. | '제10회 TOPCIT 정기평가' 성적우수자 특별상(한국SW산업협회장상, 숭실대총장상) |
| 2018. 9. ~ 11. | 덕수고등학교 방과후특강 'Java와 VBA 프로그래밍' 강사 |
| 2018. 7. 13. | '제9회 TOPCIT 정기평가' 성적우수자 특별상(육군참모총장상, 숭실대총장상) |
| 2017. 9. 25. | 서울특별시교육청 '제 7회 전국상업경진대회 사무행정부문' 은상 |
| 2016. 11. 22. | 전자신문 '2016 IT교육지원 컨퍼런스' 장학생 |
| 2016. 9. 28. | 한양공업고등학교 '서울직업교육발전을 위한 제1회 프로그래밍경진대회' 은상 |
| 2015. 11. 19. | '제 9회 i-TOP 경진대회 그래픽기술분야' 대상 (산업통상자원부 장관상) |
운영 사이트
LL.ME.KR
| 주소 | ll.me.kr |
|---|---|
| 코드 | GitHub |
| 기간 | 2025-03-03 ~ |
| 개발 | 공동 개발 (팀장) |
| 설명 |
외국어 콘텐츠 단어 추출: 텍스트나 자막이 있는 유튜브 영상에서 외국어 단어를 추출 플래시 카드 퀴즈: 각 단어를 학습하기 좋게 플래시 카드 형태로 퀴즈 제공 영상을 통한 학습: 자막의 원문, 번역문, 단어의 뜻을 유튜브 영상과 같이 시청할 수 있게 제공 LLM 활용: 번역, 단어 추출, 어근 추출에 LLM 활용하여 뛰어난 맥락 이해 제공 |
짤 생성기
| 주소 | jjal.download |
|---|---|
| 기간 | 2016-01-17 ~ |
| 개발 | 공동 개발 |
| 설명 | GIF, 이미지를 간단하게 합성해주는 사이트입니다. 플레이스토어 공식 어플리케이션 다운로드수 100,000명을 돌파하였습니다. 본 사이트는 유호건님과 공동 개발하였습니다. | 관련기사 |
TABLINE
| 주소 | tab.aooen.com |
|---|---|
| 기간 | 2016-01-01 ~ |
| 개발 | 1인 개발 / HTML, CSS, JavaScript(jQuery) |
| 설명 | 검색엔진 및 바로가기를 직접 추가할 수 있는 새 탭 페이지입니다. 여러 브라우저에서 이용할 수 있으며, 앱 캐시, 로컬 스토리지 등 최신 HTML5 기술을 이용하여 인터넷 사용이 적어 속도가 빠릅니다. |