Skip to content

Feat/week4 essential#9

Open
jihyun0v0 wants to merge 12 commits intodevelopfrom
feat/week4_essential
Open

Feat/week4 essential#9
jihyun0v0 wants to merge 12 commits intodevelopfrom
feat/week4_essential

Conversation

@jihyun0v0
Copy link
Copy Markdown
Contributor

📌𝘐𝘴𝘴𝘶𝘦𝘴

📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯

  • 회원가입, 로그인 API구현
  • open API로 친구 목록 구현하기

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

Recording_2023-11-16-13-08-55.mp4

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴

감사합니다 모두들 꾸벅
그 뭐냐 선택 과제는 늦게 봐서 못했어요,,,, 하지만 해보도록 하겠습니다. 심화에 도전도 해보겠숩니다.

@jihyun0v0 jihyun0v0 added the 필수과제 DOSOPT 필수과제 label Nov 16, 2023
@jihyun0v0 jihyun0v0 self-assigned this Nov 16, 2023
Copy link
Copy Markdown

@lsakee lsakee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생했습니두

Comment on lines +35 to +38
inline fun <reified T> create(url: String): T {
this.url = url
return retrofit.create<T>(T::class.java)
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

url생성을 구분하여 생성하는거 좋은거 같습니다!

Comment on lines +29 to +41
data class ResponseGetFollwerDto(
@SerialName("page")
val page: Int,
@SerialName("per_page")
val per_page: Int,
@SerialName("total")
val total: Int,
@SerialName("total_pages")
val total_pages: Int,
@SerialName("data")
val data: List<ResponseData>,
@SerialName("support")
val support: ResponseSupport
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

별건아닌데 순서땜에 가독성이 안좋아보여요 ㅠ

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수정하겠습니다!

Comment on lines +14 to +15
private val homeViewModel by viewModels<HomeViewModel>()
private val viewModel by viewModels<EditMyPageViewModel>()
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

homeViewModel처럼 네이밍하면 좋을덧

android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:text="@string/nickName_title"
android:text="@={viewModel.nickName}"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

양방향데바!

Comment on lines +14 to +16
Glide.with(binding.root)
.load(friendData.reqresData?.avatar)
.into(ivProfile)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

coil이란것도 공부하면 좋을덧

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coroutine Image Loader 좋은 정보감사합니다!

}

private fun processLogin(response: Response<ResponseLoginDto>) {
val data: ResponseLoginDto = response.body()!!
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!!안쓰고 해보셈!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

흐음 requireNotNull사용하면 괜찮으려나요??

Copy link
Copy Markdown

@stellar-halo stellar-halo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생했어요! 양방향까지 적용하다니 최고👍🏻

app/build.gradle Outdated
Comment on lines +23 to +24


Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

삭제해주세요~

import retrofit2.http.GET

interface FollowerService {
@GET("https://reqres.in/api/users?page=2")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

왜 여기에 url이 전부 들어갔을까요?
Base url 따로 분리해주세요!

? 이 있는 경우 사용하는 어노테이션이 있습니다. 지금은 2번 페이지만 고정으로 받아오고 있네요!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네엡...!

@SerialName("page")
val page: Int,
@SerialName("per_page")
val per_page: Int,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Camel, snake 중 하나만 골라서 적용해볼까요? 다른 data class는 카멜이네요!

Comment on lines +33 to +36
// var music: Music?,
val type: Int,
val MBTI: String?,
val intro: String?,
val id: String?
// var MBTI: String?,
// var intro: String?,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 주석들은 뭘까요?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

흠흠 그러게요 뭘까요?? 얼렁 삭제하겠습니다..

R.drawable.img_monkey,
null,
nickname,
// null,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

주석 삭제해주세요~

musicArtist = "데이식스",
id = "jihyune_hi",
nickname = "경지현",
musicTitle = "숲",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♥️

fun getProfile(index: Int): Profile = mockProfileList[index]
fun getMockProfileLIst() = mockProfileList

// fun getResponseDataList(): MutableList<Profile> = _responseDataList
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

;-)

Comment on lines +44 to +46
Profile(getName(data), data.email, data.avatar, data.id)

private fun getName(data: ResponseData): String = data.first_name + " " + data.last_name
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getName()보다는
val fullName = data. ~
변수로 쓰고 convertDataToProfile함수 안에 넣어주는 건 어떤가요?
단순히 취향차이지만 함수가 중간에 껴있는 것보단 전부 파라미터가 변수인게 어떨까 싶습니다!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

더 깔끔할 것 같습니다! 감사합니다

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

두 줄이네요!
한 줄 삭제 부탁드립니다

android:hint="@string/pw_hint"
android:inputType="textPassword"
android:text = "@={viewModel.password}"
android:text="@={viewModel.password}"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

양방향 좋아요

Copy link
Copy Markdown
Member

@chattymin chattymin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이번주도 고생하셨습니다 :)

binding = ActivityHomeBinding.inflate(layoutInflater)
setContentView(binding.root)
binding = DataBindingUtil.setContentView(this, R.layout.activity_home)
binding.lifecycleOwner = this
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 코드는 왜 매번 설정해주는걸까요??? 무슨 기능을 하는지 모르겠어요

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 알고 싶습니다!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좀만 더 공부해서 톡방에 올리겠숩니다.>!

Copy link
Copy Markdown

@crownjoe crownjoe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요번주도 수고 많으셨습니다!! 합세도 파이팅입니닷👍👍

import android.widget.Toast
import androidx.lifecycle.MutableLiveData

object ToastMaker {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이렇게 토스트를 유틸로 빼서 쓰는거군요! 오늘도 한 수 배워갑니닷!

binding = ActivityHomeBinding.inflate(layoutInflater)
setContentView(binding.root)
binding = DataBindingUtil.setContentView(this, R.layout.activity_home)
binding.lifecycleOwner = this
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 알고 싶습니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

필수과제 DOSOPT 필수과제

Projects

None yet

Development

Successfully merging this pull request may close these issues.

week4 필수과제

5 participants