차지원
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 2/20 To-Do Android 개발 회고 - 공부 방식 - 개발 지식 - 기획 - Keep 장점은 유지하고, Problem 단점을 발견한 뒤 Try 극복 방안을 생각해봅니다. ## 공부 방식 - 1개월간 진행한 스터디 방식에서 개선점을 찾아봅니다. ### 블로그 & 기술공유 - 매 주 블로그를 정리해오고 공유하고 있습니다. - ex) 블로그에 투자하는 시간이 아깝지 않은지 작성 & 공유하는 과정에서 남는게 있었는지 등을 고민합니다. > 의도한 방향 > 내가 뭘 공부하는 중인지 깨닫고, 습득한 지식을 타인에게 설명할 수 있다. #### Keep - 새로 학습한 기술을 그냥 두면 쉽게 잊혀질 수 있지만, 블로그 포스팅을 통해 다시한번 상기시키고 기록에 남겨서 뒤 돌아봤을때 좋았다. - 블로그 정리하면서 다시 복습하고 기록할 수 있어서 도움이 되었고, 일주일에 한 번 정도라 큰 부담이 되지 않아 좋았다. - git 사용도 매주 하면서 익숙해졌고 사용 방법을 어느정도 알게된 것 같아 유익했다. - 이전에는 개념을 정리하자는 생각으로 정리했고, 이번에는 정리 자체에서 도움이 되었으면 좋겠다는 생각으로 정리했는데, 만족스러웠다. - 발표에 대한 부담없이, 블로그 내용을 보며 자신이 이해한대로 발표할 수 있어서 만족스러웠다. - 너무 컴퓨터만 쳐다보니까 말할 일이 얼마 없었는데, 기술공유 통해서 내가 배운 기술, 생각, 의견 등을 자유롭게 발표할 수 있는 시간가지면서 기술 외적으로 배워가는 것이 많았다. #### Problem - 부담을 줄이고자 발표자료 준비를 최소화시켰고, 어려운 내용 또는 개념적이지 않고 경험적인 내용을 공유할 때 어려움이 있었다. - 개념적인 학습을 많이 하지 않았을 때에는 1주일당 1개조차 포스팅하기 부담스러웠다. - 혼자 하다 보니 가끔 안할 때가 있었다. - 기술을 학습하고 블로그에 포스팅할때 몇가지는 완벽히 학습되지 않았던 것들이 있어서 아쉬웠다. #### Try - 스스로에게 블로그 포스팅을 허가할 기준을 둬야겠다는 생각이 들었다. - 해야할 일들이 많이 있어서 시간분배도 적절히하면 좋을것 같다. - 발표자료를 준비한다고 부담갖진 않는 것 같다. 그냥 하고싶은대로 하면 될 듯 - 1주일 1블로그도 좋지만 그냥 자유로운 기술공유도 괜찮은듯 - 만약 상황이 된다면 가끔 대면으로 하는 것도 괜찮을 것 같다. --- 준비를 하는 발표 -> 퀄리티가 좋아지고 청자가 이해가 잘된다. 준비를 안하는 발표 -> 퀄리티가 내려가지만 내 밑천을 알 수 있다. ### Git - Github를 적극 활용하여 할 일 정리, 코드리뷰를 진행하고 있습니다. - ex) Git의 난이도가 어떤지, 필요성을 느끼는지, 남는게 있었는지 코드리뷰가 도움이 되는지 등을 고민합니다. > 의도한 방향 > 1. 개인 프로젝트를 두 컴퓨터를 오가며 진행할 수 있다. <- 저번 Android Study Jam 스터디 > 2. 팀 프로젝트에서 작업 후 PR을 보내는데 무리가 없다. <- 이번 개발스터디 > 3. 팀 프로젝트에서 브랜치 전략을 적용할 수 있다. <- 이번 개발스터디 ~ 다음 유지보수스터디 > 4. 팀 프로젝트에서 conflict가 생겨도 당황하지 않고 해결할 수 있다. <- 다다음 팀프로젝트 #### Keep - 완벽한 깃허브 사용이 아닐지라도 본격적으로 깃허브를 사용하고 서로 코드를 확인하고 리뷰남기는 활동을 처음해보면서 새로운 기술을 알게된 점이 매우 좋았다. - 처음에는 오류가 많이 났는데, 계속 하다보니 어떻게 이루어지는지 이해가 되었고, 작업 후 PR을 보내는 데는 무리가 없게 되어서 유익했다. - 코드를 체계없이 작성하다보니 문제가 많았는데, 코드 리뷰를 받으며 도움이 많이 되었다. - 노트북과 데스크톱 나눠서 작업할 때가 많아 원래라면 코드를 이메일이나 드라이브에 옮기고 다시 다운받아 작업하는 번거러움이 있었는데, 깃허브 사용을 통해 이러한 번거러움이 획기적으로 줄어서 매우 좋았다. - 코드 리뷰를 받아보며 개념적인 부분을 설명하려 할 때 막히는걸 보고 부족한 개념을 다잡을 수 있었다. #### Problem - 브랜치 전략, fork 전략 등 여러 전략을 주입식으로 사용하지 않았을까 생각한다. #### Try - 코드스쿼드에서 사용하는 방식을 적용했기 때문에 난이도 외에는 문제가 없었을것이라 생각한다. 팀프로젝트에서 여러 전략을 적용해보면서 장점을 느껴보면 딱 좋을듯 - 더 적극적으로 막물어봐도 된다. -> 시간을 너무 쏟을 필요는 없다. 20분 ~ 1시간 (pr을 잘 쪼개는 사람들이니까) ### 개발 방식 - 같은 기획, 다른 브랜치에서 개발하고 코드리뷰를 진행하고 있습니다. - ex) 다음 스터디에서 유지보수를 진행할건데, 협업을 빨리 하고싶은 생각이 있는지 > 같은 기획으로 코딩한다면 서로의 코드를 읽기 수월할거라 생각했습니다. > 협업을 바로 진행하면 git에서 많은 부담을 느낄거라 생각했습니다. > 협업을 바로 진행하면 내 맘대로 코드를 작성하기 힘들거라 생각했습니다. - 유지보수 스터디 할건데, 혹시 다른 의견? - todo 완전 다 끝내고 팀프로젝트하면 이쁜 그림이 나오지 않을까 싶네요 하하 - 참여의사 (다음주부터 1~2개월?) - 남우진(O), 최정은(O) 부스트캠프 -> 1개월 cs, kotlin 공부 6주동안 개인 프로젝트 -> 안드로이드 배워가고 MVC -> MVP -> MVVM - 1주일은 개발 -> 1주일은 기능추가 2주동안 페어(2인 프로젝트) -> 페어 프로그래밍하고 6주동안 팀 프로젝트 -> 완전 자유롭게 ## 개발 지식 - 1개월간 진행한 스터디에서 어떤 지식을 얻어갔는지 고민합니다. - ex) 얻어가고 싶었지만 실패한 지식이 있는지, 찜찜하게 공부한 것이 있는지, Android Study Jam과 비교해서 실제 코딩하니까 수월했던게 있는지 #### Keep - Hilt, Base Class, Room 셋 다 이론만 공부하고 적용을 못해봤는데, 실제로 적용해봤다. - Room과 LiveData를 동시에 써보니 main Thread, bg Thread의 역할을 다시금 알게 되었다. -> android not responded ANR - MVVM, Room, RecyclerView를 직접 사용해보니 구조 파악이 이론으로 본거에 비해 훨씬 배운 것이 많았다. - 디자인 패턴 MVP에 대해 공부하고 적용해봤다. Room은 말로만 들어봤는데 직접 적용해봤다. - 리사이클러뷰를 안드로이드스터디잼에서 학습했을때보다 좀 더 익숙해지게 되었다. #### Problem - REST를 적용해보지 못했다. - test를 내 개성으로 삼으며 TDD 까지 적용하려 했는데, 거의 코드를 작성하지 않았다. - MVVM 패턴을 의도하였으나 이게 과연 맞는지 의문이 들었다. #### Try - 다음 스터디와 솔챌에서 Test코드를 적극적으로 적용할 것이다. - 뷰모델과 라이브데이터를 적용할 것이다. - 아키텍처 패턴에 대해서 유튜브 영상 등을 통해 다시한번 학습할 것이다. ## 기획 - 이전 구현, Android Study Jam을 기억하며 뭘 공부해볼지 고민합니다. - 새로운 방식이 있다면 제안합니다. ### 구현한 부분 - MVP, MVVM 아키텍쳐 패턴을 적용했습니다. - 화면 구성, 데이터 저장, 화면 이동 등을 구현했습니다. - 재밌었던 내용, 부족했던 내용, 수정할만한 내용 등을 고민합니다. - ex) DB, 아키텍쳐 구조 마이그레이션 성능 개선, 코드 개선 #### Keep - 아키텍처 패턴을 이해했고, 이제는 다른 패턴도 학습해보거나 마이그레이션 작업해도 괜찮을 것 같다는 생각이 든다. - navigation component를 적용해봤는데, 괜찮았다. 인텐트는 지양해야 될 것이라기보다는 그냥 액티비이에서 쓰는 것인듯 - hilt를 적용했고, 직접 사용해보니 di에 대해 더 이해할 수 있었다. (datasource를 싱글톤으로 사용해보며) - MVP 구조에 맞게 코드 수정이 더 필요할 것 같다. - navigation을 통해 화면 이동을 구현해볼 것이다. #### Problem - hilt 모듈은 거의 복붙이기 때문에 이해를 할 필요가 있다. - UI가 정말 너무 하찮다. - 데이터 저장에서 shared pref를 사용해보지 않은건 아쉽다. - 입력과 체크 등 최소 기능만 구현되어 있다. #### Try - test코드를 더 작성할 것이다. - 여러 기능을 더 추가해볼 것이다. - 최소 기능이 아닌 새롭게 추가할 기능을 기획해 볼것이다. -> 기존 코드 개선: 디자인 패턴 리팩토링 / 새 기획 ### 새 기획 - 추가할 내용을 고민합니다. 작성한 기획을 바로 다음주부터 적용합니다. - ex) DB적용, 서버 통신 구현, 비동기 구현 애니메이션 추가, 새 페이지 추가, 기능 추가 #### 의견 - 데이터베이스 마이그레이션해보기 - MVP -> MVVM or MVVM -> MVI로 마이그레이션 해보기 - 홈화면 정렬, 필터기능 추가하기 - 홈화면 좌측 드로어레이아웃 추가하기(스와이프 기능 추가) - 로그인, 정렬 기준(이름, 날짜 등), 뷰페이저 사용(작업한거 안한거 보이는 페이지), 체크 통계 만들기 - 삭제 기능, 로그인, 푸시알림, 완료한 일을 보여주는 페이지 추가 -> 정렬SQL문, 뷰페이저, 통계 -> 로그인 소셜로그인 firebase -> 날로먹겠따 -> 인증, 보안, 푸시알림 -> firbase FCM, 안드로이드 리시버 포그라운서비스 백그라운드서비스 -> 고급지식 ### 이전 회고 - [Android Study Jam 회고](https://hackmd.io/xW6lxXKgSfK6vbR-UUwmJA) > Keep이 아직 유지되고 있는지 > Try는 실행하고 있는지

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully