Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[6주차 과제] 서버 통신 심화 #10

Open
5 of 6 tasks
leeeha opened this issue May 29, 2023 · 0 comments · Fixed by #11
Open
5 of 6 tasks

[6주차 과제] 서버 통신 심화 #10

leeeha opened this issue May 29, 2023 · 0 comments · Fixed by #11
Assignees
Labels
Advanced 심화 과제 Essential 필수 과제

Comments

@leeeha
Copy link
Member

leeeha commented May 29, 2023

필수 과제

문제 정의

  • ID/비밀번호 생성 조건을 아래와 같이 바꿉니다.
    • ID 조건: 영문, 숫자가 포함되어야 하고 6~10글자 이내
    • Password 조건: 영문, 숫자, 특수문자가 포함되어야 하고 6~12글자 이내
    • Hint : Regex
  • ID나 비밀번호 생성조건에 맞지 않을 시 회원가입 버튼은 비활성화 됩니다.
    • 클릭을 해도 회원가입 로직을 타지 않아야 하며 버튼의 색은 활성화 되었을 때의 색과 달라야 합니다.
  • 비밀번호 란에 입력된 값이 조건과 맞지 않는 경우, 입력창 하단에 경고문구 및 경고를 띄웁니다.
    • 경고문구는 개발자 본인이 자유롭게 설정해주시면 됩니다.
    • EditText에 밑줄이나 BackGround Drawable이 설정되어있는 경우 밑줄/Border 색을 빨간색으로 지정해주세요.
    • 아무것도 입력되지 않았을 때에는 어떠한 경고도 띄워져서는 안됩니다.
    • 입력조건에 적합한 경우 경고/경고문구가 보이지 않아야 합니다.

구현 Hint

  • LiveData의 map을 활용하시면 좋을 것 같습니다.

심화 과제

  • 기존에 작성된 코드를 UI Layer로 분리하기
  • 양방향 데이터바인딩으로 코드 로직 개선
  • 로딩뷰 구현

도전 과제

  • Data Layer 분리 (Repository, DataSource)

개인적으로 공부한 것

  • 코틀린 companion object의 정체
    • 클래스가 메모리에 적재될 때 함께 동반되는 객체 (싱글턴에 사용되는 object의 특수한 형태)
    • static과 달리, 하나의 독립된 객체로 여겨지며 이름을 지을 수 있다.
    • 한 클래스에 하나만 정의할 수 있다. (이름을 다르게 짓더라도 여러 개 정의 불가)
    • 인터페이스에서 정의할 수 있다.
    • 상속 관계에서 companion object 멤버의 이름이 같다면 자식 클래스에서 정의한 게 우선한다.
  • 중첩 클래스와 내부 클래스의 차이점
  • 안드로이드 앱은 어떻게 실행될까?
@leeeha leeeha added Essential 필수 과제 Advanced 심화 과제 Challenge 도전 과제 labels May 29, 2023
@leeeha leeeha self-assigned this May 29, 2023
@leeeha leeeha removed the Challenge 도전 과제 label Jun 4, 2023
@leeeha leeeha linked a pull request Jun 15, 2023 that will close this issue
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Advanced 심화 과제 Essential 필수 과제
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant