Git Product home page Git Product logo

memorybread's Introduction

memoryBreadIcon

MemoryBread - 편리한 암기 생활, 암기빵!

App Store 다운로드 링크

[암기빵은 문장의 암기를 도와주는 앱입니다]

  • 직접 문장을 쓰고 종이로 가리는 건 이제 그만! 암기빵으로 쉽게 단어를 가려봐요.
  • 판례처럼, '길지만 정확하게 외워야 하는 문장'이 있을 때, 암기빵으로 단어를 가려가며 외워보세요.
  • 암기빵이 당신의 암기 생활을 도와줍니다.

[암기빵은 어떻게 사용하나요?]

  • 먼저 암기하고 싶은 문장을 적어요.
  • '편집' 버튼을 눌러서 색필터를 선택하고, 가리고 싶은 단어를 터치해서 선택해요.
  • 색필터 선택이 끝나면 '완료' 버튼을 누르고, 맨 아래 색필터를 선택해주면 단어를 가릴 수 있어요!
  • 가린 단어를 살짝 보고 싶으면, 단어를 직접 터치! 그러면 그 단어만 살짝 볼 수 있어요.

[서비스 이용 필수 사양]
iOS 14.0 이상

[필수 접근 권한]
암기빵은 요구하는 필수 접근 권한이 없습니다.

[개발자 연락처]
[email protected]

[개인정보처리방침]
암기빵 개인정보처리방침

프로젝트 세팅

SPM과 CocoaPods로 라이브러리 설치 후, 아래 두 이슈를 참고하여 일부 소스코드를 수정해야 합니다.
GoogleSignIn-iOS이 v6.0.0인 경우 additional scope 추가
GoogleAPIClientForREST/Drive를 추가하고 디버거가 동작하지 않음

memorybread's People

Contributors

sweethoneybee avatar

Watchers

 avatar

memorybread's Issues

형광펜 모드 추가

형광펜 모드란?

필터가 입혀진 단어를 누르면 peek 되는 기능을 전체 필터에 한 번에 적용하는 모드.

목표

622E8DCD-885B-4BBD-821B-36FCCC33FBC3

현재

필터 없음 -> 필터 있음 반복

변경

필터 없음 -> 형광펜모드 -> 필터 있음
or 필터 없음 -> 필터 있음 -> 형광펜몯,

폴더 생성할 때 생성순으로 정렬되지 않음

Folder 객체 생성후, 테이블뷰에서 정렬방식에 버그가 생길 여지가 있어서 수정해야함.

Folder 객체 생성하고 위에서 두 번째 위치에 위치하도록 index값을 음수로 계산해서 부여, 오름차순으로 정렬한다.
현재폴더개수현재뷰컨에서만든폴더수를 사용하여 계산 중인데, 폴더리스트뷰 우상단에 있는
편집 버튼을 누르지 않으면 index는 계속 음수를 유지한다. 그래서 폴더를 삭제하고 새로 생성하면
index값이 덜 작기 때문에 위에서 두 번째에 위치하지 못한다.

암기빵 글자의 크기 조절 기능 추가

색필터로 가리는 대상인 암기빵 글자는 앱의 핵심기능의 일부로 가독성이 아주 중요합니다. 그래서 유저가 자신의 필요에 맞게 글자의 크기를 조절할 수 있다면 가독성을 더 높일 수 있을 것입니다.

'+' 버튼을 눌러서 새로운 암기빵 생성 후 아무 행동 없이 편집 완료하면 삭제하기

현재는 '+' 버튼을 눌러서 새로운 암기빵을 생성하면 그대로 둔다.
다만 다른 앱은 내용이 없거나, 생성 후 아무런 행동 없이 뒤로 가면 해당 메모를 삭제한다.
iOS 기본 메모앱은 아무런 내용이 없거나, 타이틀이 없으면 해당 메모를 삭제하고
노타빌리티는 메모 생성 후 아무런 행동을 하지 않으면 해당 메모를 삭제한다(선긋고 지우개로 지우는 등 추가 행동 후 나가면 삭제 안함).
유사 앱들과 사용자 경험을 동일하게 하기 위해서 제목과 같은 기능을 추가하고자 함.

Core Data 구조 수정 or UI블록킹 원인 규명

현재구조: PSC <- WriteContext(private queue) <- ViewContext(main Queue)

객체 수정, 삭제, 저장 작업을 writeContext에서 수행하면서 UI 블로킹을 최소화하려는 전략이었음.
또한 ViewContext를 사용하여 객체 생성시 NSFetchedResultControllerDelegate의 스냅샷 관련 메소드를 활용하는 데에 문제가 있어서 이를 해결하기 위해 위의 구조를 가져갔었음(임시objectID영구objectID를 다른 아이템으로 봐서, row의 애니메이션이 여러 개 적용되는 현상. viewContext가 바로 PSC에 연결되지 않게 함으로써 해결함)

그런데

  1. UI 블로킹을 할 정도의 작업이 아직 없음
  2. 단순 테스트를 위해 10만개의 메모를 생성하여 테스트해보니, 예상보다 더 많은 메모리 사용 + UI블록킹이 존재함
  3. premature optimization에 너무 많은 시간 + 노력을 들이고 있음

따라서 PSC를 부모로 하는 ViewContext를 위주로 사용하도록 구조를 단순화 or 블로킹되는 원인 분석할 필요가 있음.

여러 기기 간 데이터 동기화 지원

현재 앱은 Core Data를 사용하여 앱의 Persistence를 구현하고 있습니다. 그래서 데이터가 설치된 로컬기기에 종속되어 있습니다.

여타 다른 노트, 메모앱처럼 암기빵이 아이패드-아이폰 혹은 여러 기기 간 데이터를 동기화할 수 있다면, 유저가 더 자주 암기빵 앱을 사용할 것입니다.

암기빵 복사 기능

같은 내용의 암기빵에 여러 다른 필터를 적용하고 싶을 때 복사 기능이 필요함.

아이패드 크래시 현상

모두삭제, 휴지통에서 모두삭제, 삭제, 암기빵이 있는 폴더 삭제 시 ActionSheet가 Alert으로 나오는데, 아이패드는 popoverPresentationController를 설정해주지 않아서 크래시가 나고 있음.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.