devlog of ShinJe Kim

[TIL] 2019-08-12 (월)

|

Today I Learned

  • Http Client 네트워크를 연동하기 위해 주로 사용하는 것 Android: OkHttp + Retrofit + Gson ios: Moya + Alamofire
  • 네트워크 통신 방식에는 크게 두 가지가 있음. 동기(synchronous)비동기(asynchronous)방식.
  • 동기/비동기 != blocking/non-blocking. 차이점 정리할 것
  • Kotlin에서는 람다에서 리턴을 사용할 때 기본적으로 비지역반환을 함. 함수형 프로그래밍을 할 때 for 루프에서 break가 작동하지 않는 문제점을 해결하기 위해서. 만약 지역반환을 하고싶다면 return@메소드이름을 하면 됨.
  • Kotlin에서는 기본적으로 null을 허용하지 않지만 아래와 같이 변수 타입 옆에 ?를 붙이면 nullable이 됨.

    var a: String? = "abc"

  • RecyclerView에서 각 아이템들에 마진을 준 채로 정렬을 하고 싶다면 GridLayoutManager를 사용하자(한 번에 보일 아이템들의 개수를 지정하고싶다면 spanCount속성을 사용하면 된다). 이 때 레이아웃매니저는 xml과 MainActivity.kt/java 모두에 지정해주어야 한다. 나는 코틀린 코드에 GridLayoutManager를 지정해야하는데 LenearLayoutManager로 지정되어있어서 한참을 삽질했다.

Comments