채용공고 올리기

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

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

미리보기

기본 정보

이름
김태욱
직업
안드로이드 개발자
간단 소개

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

기술 스택

기술 스택

Android, Java, Kotlin, Flutter, iOS

프로젝트

프로젝트명

가상 e-Amusement Application

소속/기관명

개인

프로젝트 기간

2024.07. ~ 진행 중

프로젝트 내용

프로젝트 개요:

  • 앱 기능: 이 앱은 코나미사의 아케이드 게임에 사용하는 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.

프로젝트 내용

프로젝트 개요:

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

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

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

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

배운 점:

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

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

프로젝트 코드: GitHub Repository

프로젝트명

Passcode - 패스워드 저장 애플리케이션

소속/기관명

개인

프로젝트 기간

2021.01. ~ 2021.03.

프로젝트 내용

프로젝트 개요:

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

  • 주요 기술: 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.

프로젝트 내용

프로젝트 개요:

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

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

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

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

배운 점:

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

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

프로젝트명

Kok!

소속/기관명

개인

프로젝트 기간

2018.10. ~ 2018.11.

프로젝트 내용

프로젝트 개요:

  • 앱 기능: 특정 장소에 사용자가 방문했다는 흔적을 남기고, 이를 통해 다른 사용자와 소통할 수 있는 SNS 앱입니다.

  • 주요 기술: Android, Java, Kotlin, Node.js(백엔드), MongoDB, Retrofit2(GET 통신), Glide(이미지 처리).

  • 기억에 남는 작업: Node.js 서버를 작성하면서 이미지 저장 기능을 구현한 것이 가장 기억에 남습니다. 이전에 시도해보지 않았던 분야였지만, YouTube 영상 등을 참고하며 끝까지 시도하였고, 결국 기능 구현에 성공하였습니다.

배운 점:

  • 새로운 기술 영역에 도전하며 이미지 저장 처리와 서버 구현에 대한 지식을 쌓았습니다.

  • 프론트엔드와 백엔드의 상호작용을 깊이 이해하게 되었습니다.

프로젝트명

반려견 관리 앱 개발

소속/기관명

개인

프로젝트 기간

2018.07. ~ 2018.08.

프로젝트 내용

프로젝트 개요:

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

  • 주요 기술: Kotlin, Java, Retrofit2(서버 통신).

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

배운 점:

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

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

프로젝트명

네이버 안드로이드 부스트코스 과정 수료

소속/기관명

네이버 커넥트재단

프로젝트 기간

2018.06. ~ 2018.07.

프로젝트 내용

프로젝트 개요:

  • 프로젝트 단계: 이 프로젝트는 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

노션

교육

소속/기관명

평생교육진흥원

종류 | 전공

대학교(학사) | 컴퓨터공학과

재학 기간 | 재학 상태

2020.02. ~ 2024.08. | 졸업

자격증

자격증명

정보처리기능사

점수 | 발급기관

취득 | 한국산업인력공단

취득연월

2011.09.

외국어

외국어명

영어

점수

비즈니스 회화 가능

댓글