느낀 점 및 꿀팁들part1은 그냥 알고 있는 단어 및 숙어가 많다면 잘 맞출 수 있다. 반대로 문장에 모르는 단어가 있다면 뭔 소린지 알아들기 힘들다. 자주 나오는 단어와 숙어를 외워두는 것이 좋다. 해석이 불가한 문장이 나와도 당황하지말자. 어차피 정답 하나만 고르면 된다. 잘 모르겠다면 왠만하면 사진과 최대한 관련된 문항을 고르자. 사진에 사람이 없다면 being이 들어간 문장은 전부 오답이다. 왜냐하면 being이 들어간 문장은 어떤 동작이나 상태가 누군가에 행해지고 있음을 뜻하기 때문이다. been, being 서로 발음이 비슷해서 집중 안하면 틀리는 경우가 있다. been은 앞에 have(has)가 오고 being은 앞에 be동사가 온다걸 유의하고 듣자. putting on(trying on)..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/memzA/btsKKEKxOBW/4co9Na5wRkZsov9Cv5buc1/img.png)
개요 토익 공부하면서 단어 외우고 있는데 문장을 제데로 해석하려면품사의 개념을 정확하게 알고 가는 것이 좋을 것 같다는 생각이 들었다. 품사란?품사는 문장에서 단어의 역할을 분류한 것으로 각 단어가 문장에서 어떤 의미를 가지고 있는지를 나타내는 역할을 한다. 전통적으로 단어는 8개의 품사로 분류한다. (명사, 대명사, 동사, 형용사, 부사, 전치사, 접속사, 감탄사) 명사란? 명사는 사람, 사물, 장소, 개념 등과 같이 특정한 대상이나 개념을 나타내는 품사이다. 대명사란? 대명사는 체언(문장의 주체)를 대신하여 사용되는 품사이다.대명사는 반복을 피하고 문장을 더 간결하게 만들기 위해서 사용한다. 지시 대명사는 구체적인 대상을 가리키거나 지칭할 사용하고,부정대명사는 분명히 정해지지 않는 막연한 것을..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bDg1bN/btsKIRYQ841/W6eBL5VqPL2EgNBwlz2CB0/img.png)
회원가입 UI 회원가입을 하려면 이메일, 이름, 비밀번호를 입력해도록 구현했다. 회원가입 Flow1. 이메일 입력2. 인증 요청 버튼 클릭3. 입력한 이메일과 선언해둔 임시 비밀번호로 임시 계정 생성4. 파이어베이스는 회원가입 시 자동으로 로그인을 진행함5. 로그인된 사용자 정보 기반으로 이메일 인증 요청 메일 수신6. 이메일 인증 완료 혹은 가입 취소시 임시계정 삭제7. 모든 밸리데이션 통과 후 회원가입 버튼 누르면 실제 계정 생성8. 로그인 화면으로 라우팅파이어베이스는 이미 가입된 유저만이 이메일 인증을 할 수 있기에위와 같은 흐름으로 파이어베이스 이메일 회원가입을 구현할 것이다. 파이어베이스 설정 Authentication 탭에 들어가서 이메일/비밀번호 로그인을 활성화 해준다.그래야 이메일 인증..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bcjUWz/btsKDhQ1NY1/9hi0Jkob3b0cdqNgaU7IG1/img.png)
로그인 UI 먼저 로그인 화면부터 구현할 것이다. 로그인 Flow1. 로그인 진행2. 로그인 시 유저 이메일과 자동 로그인 여부를 로컬 저장소에 저장3. 저장된 값을 기반으로 초기 화면 라우팅 진행, 유저정보 가져오기로그인 진행 시 이메일 값을 기반으로 유저 정보를 가져오도록 한다.이메일을 키로 선택한 이유는 이메일은 계정의 고유한 값이기 때문이다. 의존성 추가plugins { ... id("com.google.gms.google-services") version "4.3.8" apply false}프로젝트 수준의 그래들 파일에 위와 같은 의존성을 추가한다. plugins { ... id("com.google.gms.google-services")}dependencies { ....
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bjlVoG/btsKDhCFN6e/wVAVOFN7JzUKwqzF1lc6HK/img.png)
커스텀 위젯을 만드는 이유UI를 구성하기 전에 커스텀 위젯을 만드는 것은 반필수적이라고 볼 수 있다.정의한 커스텀 위젯은 재사용이 가능하기에 UI의 일관성을 유지할 수 있다.또한 screen을 구성하는 코드가 확연하게 줄어들어 가독성이 향상된다. 커스텀 위젯 디자인 방식컴포저블 함수를 선언한 뒤 그 안에 기본위젯을 넣고 그 위젯의프로퍼티를 활용해 피그마 디자인과 동일하게 UI를 구성한 다음컴포저블 함수의 프로퍼티로 위젯의 디자인이나 동작을 제어하도록 한다. (버튼 활성화/비활성화 상태라던지, 텍스트필드 입력 모드라던지 등등..) 커스텀 위젯 네이밍커스텀 위젯의 이름은 컴포즈에서 기본적으로 제공하는 위젯과동일한 이름으로 해도 되지만 사용 시 커스텀 위젯이 아닌 기본 위젯이 import되는번거로운 문제..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bQ2l3r/btsKz4W4Ovf/gPInTdUPKiz3xEeTX6Ikl0/img.png)
레파지토리 전략main: 프로젝트의 최신 안정 버전을 유지하는 브랜치dev: 프로젝트의 개발이 이루어지는 브랜치dev 브랜치에서 기능 구현, 버그 수정, UX 개선 등의 작업을 진행하고,기능 개발이 완료 되었다면 dev 브랜치를 main 브랜치에 병합한다. main 브랜치는 프로젝트 백업 및 앱 배포를 진행하는데 사용되는 브랜치이다. 폴더 구조com.hamond.escapeanchovy/ (패키지명)│ ├── constants/: 전역적으로 사용할 상수들 모음│ ├── data/: 애플리케이션의 데이터 로직 및 API 호출 처리│ ├── model/: 데이터 모델│ ├── repository/: 데이터 관련 로직 │ │ └── ex/ (예시)│ │ ..