채용공고 올리기

김태욱님을 응원해보세요!

좋은 제안에 열려있어요
책임감
솔루션 지향
목표 지향적
기술적
참을성

미리보기

직업
안드로이드 개발자
이름
김태욱
이메일
kammat136@gmail.com
간단소개
안드로이드 개발자로서, 비동기 처리의 변화와 발전을 직접 경험했습니다. 초기에는 AsyncTask로 비동기 작업을 처리했지만, RxJava를 도입하며 더 간결한 코드와 뛰어난 가독성을 익혔습니다. 이후, Coroutine과 Flow를 적용해 보다 효율적이고 유지보수하기 쉬운 코드를 작성하며, 모든 프로젝트에 클린 아키텍처를 도입했습니다. 새로운 기술을 적극 수용하고 이를 통해 더 나은 결과를 만들어내는 것에 항상 열정을 가지고 있습니다.

기술 스택

기술 스택
Android
Java
Kotlin
Flutter
iOS

프로젝트

프로젝트명
가상 e-Amusement Application
소속/기관명
개인
프로젝트 기간
2024.07. - 진행 중
(11개월)
프로젝트 설명

프로젝트 개요:

  • 앱 기능: 이 앱은 코나미사의 아케이드 게임에 사용하는 e-Amusement PASS 카드를 스마트폰에서 가상으로 에뮬레이션

  • 주요 기술: NFC(HCE-F), Jetpack Compose, MVVM

  • 기술적 타협: 원칙적으로 ViewModel은 Android 플랫폼에 의존하지 않아야 하지만, NFC 기능을 사용하기 위해 Context를 View로부터 주입받는 구조를 선택하였습니다. 이 부분이 기술적으로 아쉽지만 불가피한 선택이었습니다.

  • 현재 상태: 지속적으로 개발을 진행중

배운 점:

  • 기존의 XML 기반 UI 개발은 XML과 코드 간의 Databinding 과정이 복잡했으나, Flutter나 SwiftUI와 같은 선언형 UI 방식인 Jetpack Compose를 사용하면서 UI를 코드에서 직접 선언할 수 있어 개발이 훨씬 수월해졌습니다. 가독성도 크게 개선되었습니다.

프로젝트명
Coinminer
소속/기관명
개인
프로젝트 기간
2022.07. - 2022.09.
(3개월)
프로젝트 설명

프로젝트 개요:

  • 앱 기능: 이 앱은 이더리움 채굴 풀의 현황을 모바일로 확인할 수 있도록 데이터를 파싱하여 표시해주는 애플리케이션입니다.

  • 주요 기술: Flutter, 채굴 풀 데이터 파싱, 블록체인.

  • 개발 배경: 이더리움이 POS로 전환되기 전에 GPU 기반 채굴을 진행한 경험이 있으며, 채굴 풀 현황을 모바일로 확인할 수 있는 앱이 없어서 이를 개발하게 되었습니다.

  • 현재 상태: Flutter를 이용해 모바일 앱으로 채굴 풀 데이터를 시각적으로 제공하는 기능을 구현하였습니다.

배운 점:

  • Flutter를 처음 도입하여 개발을 진행하면서 다양한 UI 구성과 네트워크 데이터 처리 방법에 대해 학습할 수 있었습니다.

  • 블록체인 기술의 발전 과정 중 POW에서 POS로의 전환을 직접 경험하며, 채굴 풀 데이터를 분석하는 방법에 대한 이해를 높였습니다.

프로젝트 코드: GitHub Repository

프로젝트명
Passcode - 패스워드 저장 애플리케이션
소속/기관명
개인
프로젝트 기간
2021.01. - 2021.03.
(3개월)
프로젝트 설명

프로젝트 개요:

  • 앱 기능: 이 앱은 개인 계정 및 패스워드를 암호화된 데이터베이스에 안전하게 저장하는 애플리케이션입니다.

  • 주요 기술: Kotlin, Room.

  • 기술적 고려사항: 애플리케이션의 특성상, 패스워드를 원문 그대로 저장하지 않고 암호화하여 저장해야 했습니다. 또한 메모리 내에서 패스워드 원문이 유출되지 않도록 보안에 많은 신경을 썼습니다.

  • 현재 상태: RSA 암호화 방식을 적용하여 패스워드를 안전하게 저장하는 기능을 구현하였으며, 지속적인 보안 개선을 목표로 하고 있습니다.

배운 점:

  • 패스워드와 같은 중요한 개인정보를 처리하는 과정에서 앱 보안의 중요성을 깊이 이해하게 되었습니다.

  • RSA 암호화 방식에 대해 공부하면서, 암호화된 데이터를 안전하게 저장하는 방법을 익혔습니다. 또한, "안드로이드 앱의 Persistent data를 제대로 암호화해 보자! (1/2)"와 같은 자료를 참고하며 개발을 진행했습니다.

참고:

안드로이드 앱의 Persistent data를 제대로 암호화해 보자! (1/2)

PASSCODE - password manager - Apps on Google Play

‎PASSCODE - password manager

프로젝트명
여행 관련 애플리케이션 리뉴얼
소속/기관명
개인
프로젝트 기간
2018.07. - 2018.09.
(3개월)
프로젝트 설명

프로젝트 개요:

  • 앱 기능: 이 앱은 저렴한 항공권을 조건에 맞게 검색하여 결과를 보여주는 여행 관련 애플리케이션입니다.

  • 주요 기술: RxJava2, Retrofit2, ViewPager, Glide, AirCalendar.

  • 기술적 도전: 외주 프로젝트였기 때문에 디자인이 이미 정해져 있었고, 그 디자인에 맞춰 프로그래밍하면서 다양한 어려움을 해결했습니다.

  • 특징적인 작업: AirCalendar라는 오픈소스 달력 라이브러리를 수정하여, CustomView를 클라이언트 요구에 맞게 구현했습니다. 또한, ViewPager를 이용해 각 지역에 맞는 특가 항공권을 표시했으며, 이미지 로딩에는 Glide 라이브러리를 활용했습니다. Glide는 타 라이브러리보다 무겁지만 확장성과 이미지 로드 성능 면에서 더 나은 선택이라고 판단했습니다.

배운 점:

  • 클라이언트의 요구에 맞춘 복잡한 UI를 구성하는 다양한 방법을 외주 프로젝트를 통해 알게 되었습니다.

  • 디자이너와의 협업을 위해 Zeplin을 사용하여 원활한 소통을 이루었습니다.

프로젝트명
반려견 관리 앱 개발
소속/기관명
개인
프로젝트 기간
2018.07. - 2018.08.
(2개월)
프로젝트 설명

프로젝트 개요:

  • 앱 기능: 이 애플리케이션은 애견인을 위한 앱으로, 사료 자동 배급, 원적외선 원격 제어, 애견과의 통화, 원격으로 음악 재생, 사료 자동 구매 등의 기능을 제공합니다.

  • 주요 기술: Kotlin, Java, Retrofit2

  • 역할 및 기여: 전체 코드의 약 45%를 담당하였으며, 서버 구현 일부, 레이아웃 및 UI 디자인, 그리고 날씨 정보를 가져오는 기능을 구현했습니다.

배운 점:

  • 애플리케이션의 서버와의 통신을 위해 Retrofit2를 사용하면서 안드로이드 네트워크 통신에 대해 더 깊이 이해하게 되었습니다.

  • 공동 개발 프로젝트에서 다양한 기능을 통합하고 조율하는 경험을 쌓았습니다.

프로젝트명
네이버 안드로이드 부스트코스 과정 수료
소속/기관명
네이버 커넥트재단
프로젝트 기간
2018.06. - 2018.07.
(2개월)
프로젝트 설명

프로젝트 개요:

  • 프로젝트 단계: 이 프로젝트는 1단계부터 8단계로 이루어져 있으며, 영화 상세 화면, 한줄평 화면, 영화 목록을 만드는 작업을 포함한 영화 관련 애플리케이션 개발 프로젝트입니다.

  • 초기 사용 기술: Sqlite, RecyclerView, Volley, Fragment, ViewPager.

  • 리팩토링 후 사용 기술: DataBinding, Retrofit2, Room, Coroutine, Kotlin, Dagger-Hilt.

배운 점:

  • 안드로이드 신입 개발자에게 필수적인 Activity, Fragment, RecyclerView, Java 등을 속성으로 배울 수 있는 좋은 기회였습니다.

  • 프로젝트 진행 시기 전후로 안드로이드 개발 패러다임이 많이 변하면서, 리팩토링을 통해 소스코드를 최신 방식으로 업데이트하는 과정에서 많은 것을 배웠습니다.

  • Volley 대신 Retrofit2를 사용하여 더 나은 확장성을 확보하였고, Room을 사용하여 체계적인 데이터 저장 방식을 도입했습니다.

  • 비동기 처리를 위해 Coroutine을 사용하고, DI를 위해 Dagger-Hilt를 도입하는 등 최신 안드로이드 개발 방식을 적용하였습니다.

포트폴리오

타입
URL
노션
link
https://neolabs123.notion.site/Mobile-Developer-480371983f3c42c5bb0cca3377e107ab?pvs=4

교육

소속/기관
경북대학교
종류 | 전공명/전공계열
대학교(학사) | 컴퓨터학부
재학 기간 (재학 상태)
2024.03. - 재학 중

자격증

자격증명
제28회 대구광역시정보올림피아드 공모부분
점수/급 | 발급 기관
은상 | 대구광역시교육연구정보원
취득월
2014.09
자격증명
제 25회 대구정보올림피아드 경시부분
점수/급 | 발급 기관
동상 | 대구광역시교육연구정보원
취득월
2011.09
자격증명
정보처리기능사
점수/급 | 발급 기관
취득 | 한국산업인력공단
취득월
2011.09

외국어

언어명
영어
수준
비즈니스 회화 가능
댓글