채용공고 올리기

김은오님을 응원해보세요!

이직/구직 중이에요
책임감
협업 지향
목표 지향적

미리보기

기본 정보

이름
김은오
직업
안드로이드 개발자
간단 소개

기술 스택

기술 스택

Jetpack, Kotlin, Java, Android Compose, XML

자기소개

자기소개

이런 것들에 자신이 있습니다!

  • Jetpack compose를 이용하여 구현하기 까다로운 뷰를 설계 및 구현할 수 있습니다.

  • 빌드 파일들을 최적의 상태로 설정하여 앱의 용량과 빌드 속도를 효율적으로 관리할 수 있습니다.

  • 적극적인 PR리뷰를 통해 성장하고 서비스의 품질을 높일 수 있습니다.

  • 프로젝트의 아키텍처를 준수하여 깔끔한 코드를 유지할 수 있습니다.

포트폴리오

URL

link

기타 프로젝트

깃허브
link

안드로이드 공부 내용

노션
link

github

깃허브

프로젝트

프로젝트명

Jobis

소속/기관명

대덕소프트웨어마이스터고등학교

프로젝트 기간

2022.11. ~ 진행 중

프로젝트 내용

Jobis는 교내 학생들이 모집의뢰서 및 기업체 목록을 확인하고 지원을 할 수 있는 서비스 입니다.
소프트웨이브 출품과 함께 교내에서 실사용되어 기업과 학생을 연결시켜 실제 채용 사례를 만드는 기여를 하였습니다.

적극적인 코드 리뷰가 오고 갔으며 서로의 지식을 공유하여 성능을 개선시키고 버그를 예방할 수 있었습니다.
디자인 시스템 도입으로 UI개발에 최소한의 시간 소요를 경험하였고 비즈니스 로직에 집중할 수 있었습니다.
플레이스토어 링크→
github

스킬

Kotlin Kotlin Coroutines Jetpack Compose Hilt Retrofit2 MVVM multi module architecture CI FCM

도전해본 것

  • 모집의뢰서 검색 및 필터 기능 개발

  • 디자인 시스템 문서화 및 애니메이션 개발

  • 페이지네이션 로직의 리컴포지션 개선 초당 10번 -> 페이징 시 3번

    • 기존의 페이징 로직이 lazyState를 참조하기 때문에 리컴포지션이 무한하게 발생

    • 마지막 인덱스인지 Boolean으로 판단 후 페이징 진행하여 리컴포지션 최소화

  • 테스트 코드 작성

    • 디자인시스템에서 ui테스트를 통해 click, displayed, style 등의 뷰의 기본적인 요소 검증

    • lifecycleOwner를 이용하여 composable 함수의 수명주기 관찰

    • HiltAndroidTest를 활용해 viewmodel 테스트 코드 컨벤션 구축

  • Moshi를 사용하여 직렬화 속도 개선 약10%

    • 기존 Gson 라이브러리는 reflection이 빈번하여 성능 저하

    • 다른 선택지인 Jackson에 비해 Kotlin의 Nullable 형식을 자동으로 처리하는등의 이점이 있음

  • 적극적인 PR리뷰 문화 만들기

    • 선후배간 맨토링을 진행하며 서로의 의견을 자유롭게 표현할 수 있도록 함

    • dependabot도입을 통한 의존성 버전 관리 및 생산성 증가

  • github action을 이용한 생산성 향상

    • 기존 직렬 방식은 ktlint -> gradle 순으로 ci가 동작하기 때문에 시간 소요가 심함

    • 파이프라인 병렬화를 통해 ci 소요 시간 단축

  • 빌드 파일 최적화 앱 용량 50% 축소

    • 축소와 난독화 최적화를 통한 앱 용량 감소

    • dex파일 25개 -> 2개로 감소

프로젝트명

XQUARE

소속/기관명

대덕소프트웨어마이스터고등학교

프로젝트 기간

2023.03. ~ 2023.12.

프로젝트 내용

XQUARE는 대덕소프트웨어마이스터고등학교만을 위한 통합 서비스로 지금까지 사용되었던 DMS(기숙사 관리 시스템), PiCK(학생 출결 관리 시스템) 등을 합쳐 탄생한 서비스입니다.

agile스크럼을 따르고 스프린트 주기를 맞춰 개발을 진행하는 상황에서 일정관리의 중요성을 느꼈고 개발자로서 어떻게 하면 더 좋은 서비스를 사용자에게 제공할 수 있을지 고민하게 해주는 프로젝트였습니다.

Jetpack Compose, Jetpack Room, Webview, Hilt등 다양한 기술들이 적용되어 이후 여러 프로젝트를 진행하며 기술을 정확히 이해하고 왜 필요한가를 고민하며 사용할 수 있게 되었습니다.
플레이스토어 링크→
github

스킬

Kotlin Coroutines Jetpack Compose Hilt Retrofit2 CI Jetpack Room MVVM clean architecture webView

도전해본 것

  • 화면로딩 개선 네트워크 사용량 감소 & 로딩 속도 개선

    • saveState, launchSingleTop를 통해 화면 로딩 속도 개선

    • 의미없이 반복되는 서버와의 통신 방지

    • 바텀 네비게이션간 네비게이션 스택 최적화

  • 상태 호이스팅 적용

    • 버그 제보를 할 때 이미지를 추가해도 리컴포지션이 일어나지 않아 사진이 안뜨는 경우 발생

    • 상태 호이스팅을 적용하여 상태 업데이트가 원하는 범위 내에서 수행되도록 개선

  • 로컬DB인 Jetpack Room을 사용하여 다양한 타입의 데이터 저장

    • 시간표 정보, 급식 정보, 유저 정보

  • 예외 처리

    • 서버와의 통신 도중 갑작스럽게 작업이 중지될 때 요청작업을 중단하여 앱의 비정상 종료 방지

    • 공휴일에 예외가 발생하는 시간표 로직 개선

      • Pager의 아이템 개수를 서버에서 받아온 값과 같도록 변경

      • 오늘과 날짜 비교 후 같으면 initPage로 설정

  • 외출증을 설정하는 webview bridge 개발

    • 잘못된 url 참조 수정

  • V2 XML디자인 시스템

    • checkbox switch 등의 뷰를 class 단위로 Custom View 경험

  • 중첩되는 레이아웃 최소화

    • Row, Column등의 레이아웃을 통해 뷰를 배치하기보단 Box를 통해 뷰의 위치를 유동적으로 조절

    • 코드 및 초기 컴포지션 감소 & 리컴포지션시 컴포지션 범위 감소

대외활동

활동명

전공 동아리(정)

소속/기관명

대덕소프트웨어마이스터고등학교

연도

내용

유성구청에서 진행하는 보훈수당 자동화 관리 프로그램 개발에 참여하였습니다. 기존에 수기로 진행되는 보훈수당 대상자 기입을 프로그램을 통해 자동화 하는 프로젝트로 안드로이드(테블릿) 개발을 하였습니다.

배운점

  • 유성구청 담당자 분들의 요구사항에 맞춰 개발을 진행하는 과정에서 협업의 중요성을 배웠습니다.

  • 엑셀 모양의 뷰와 데이터를 직접 관리하며 라이브러리에 의존하지 않고 개발하는 능력을 키우게 되었습니다.

활동명

Android Study

소속/기관명

대덕소프트웨어마이스터고등학교

연도

내용

안드로이드를 공부하는 학생들이 모여 만든 스터디 입니다. 프로젝트를 발전시키기 위한 여러 지식들을 습득할 수 있었습니다.

배운점

  • Gradle Version Catalog의 사용방법 학습

  • Jetpack Compose UI 상태 관리 학습

  • Kotlin, Kotlin Coroutines, Jetpack Compose, Dagger-Hilt, Retrofit2

github

자격증

자격증명

정보기기운용기능사

점수 | 발급기관

합격 | 한국산업인력공단

취득연월

2024.07.

댓글