728x90

Type 'State<List?>' has no method 'getValue(Nothing?, KProperty<*>)' and thus it cannot serve as a delegate

 

아래의 두가지 상황일 경우, 에러 발생

Code

@Composable
fun UserScreen(userViewModel:UserViewModel){
    val items: List<User> by userViewModel.fetchUserList.observeAsState()
    UserList(userList = items)
}


@Composable
fun UserScreen(){
 	var value by remember { mutableStateOf("") }
   
}

 

 

방법1

import androidx.compose.runtime.getValue

import androidx.compose.runtime.livedata.observeAsState

 

 

방법2

// for a 'val' variable
import androidx.compose.runtime.getValue

// for a `var` variable also add
import androidx.compose.runtime.setValue

// or just
import androidx.compose.runtime.*

 

 

출처: https://stackoverflow.com/questions/63875411/type-statelistuser-has-no-method-getvaluenothing-kproperty-and-t

728x90
728x90

Ubuntu

명령어 종류 systemctl service
서비스 상태확인 systemctl status [서비스명] service [서비스명] status
서비스 시작 systemctl start [서비스명] service [서비스명] start
서비스 정지 systemctl stop [서비스명] service [서비스명] stop
서비스 재시작 systemctl restart [서비스명] service [서비스명] restart
서비스 리로드 systemctl reload [서비스명] service [서비스명] reload

 

REFERENCE

https://vtree.tistory.com/25

 

아파치, 우분투 서비스 상태 확인, 시작, 중지, 재시작 명령어

명령어 종류 systemctl service /etc/init.d/ httpd 우분투 (서비스명: apache2) 아파치 상태 확인 systemctl status apache2 service apache2 status /etc/init.d/apache2 status 아파치 시작 systemctl start ap..

vtree.tistory.com

 

728x90
728x90

출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=rnjsrldnd123&logNo=221515762155 

 

파일질라(FileZilla) "서버가 알 수 없는 주소와 수동형 응답을 보냈습니다." 해결 방법

FileZilla 사용 시 호스트 주소와 사용자명, 패스워드를 정확히 입력했음에도 불구하고 "서버가 알 ...

blog.naver.com

 

FileZilla 사용 시 호스트 주소와 사용자명, 패스워드를 정확히 입력했음에도 불구하고

"서버가 알 수 없는 주소와 수동형 응답을 보냈습니다. 대신 서버 주소를 사용합니다."라는 메시지와 함께

디렉터리 목록이 조회되지 않는 경우가 있습니다.

이러한 현상의 이유는 ftp 서버에 패시브 모드에 관한 설정을 해두지 않고, ftp 클라이언트에서 패시브 모드로 ftp 연결을 시도했기 때문입니다.

(패시브 모드에 관한 설명은 오른쪽 링크를 참고하세요. https://extrememanual.net/3504)

이를 해결하기 위한 간단한 방법으로는 ftp 클라이언트(FileZilla) 쪽에서 패시브 모드 사용을 비활성화해주면 됩니다. (액티브 모드를 사용하도록)

하지만, 액티브 모드를 개선해서 만들어진 것이 패시브 모드이고, 최근에는 대부분 패시브 모드를 이용하기 때문에

이 포스팅에서는 추가적으로 패시브 모드 관련 설정을 통해서 위 에러를 해결하는 방법을 알아보겠습니다.

먼저 ftp 서버에서 패시브 모드를 사용할 수 있도록 설정 파일을 수정해야 합니다.

vi 편집기로 vsftpd 설정 파일을 엽니다. (Ubuntu 16.04기준)

sudo vi /etc/vsftpd.conf

설정 파일 맨 위의

listen=NO

listen_ipv6=YES

부분을 다음과 같이

listen=YES

listen_ipv6=NO

로 수정합니다.

그리고 설정 파일의 맨 마지막에 아래 구문을 추가합니다. (패시브 모드를 사용할 수 있도록 설정하는 부분입니다.)

pasv_enable=YES pasv_min_port=1100 pasv_max_port=1110

저장 후 vsftpd 서비스를 재시작 합니다.

sudo systemctl restart vsftpd

추가로 iptables 및 EC2 보안 그룹(AWS를 사용하고 있다면)에서 ftp 포트(20,21)와 위에서 설정한 패시브 모드 연결 포트(1100 ~ 1110)가

차단되어 있지 않은지 확인하고, 차단되어 있다면 풀어줍니다.

여기까지 잘 설정하셨다면 이제 ftp 연결이 정상적으로 될 것입니다.

그런데, 위 설정을 모두 적용했음에도 불구하고 여전히 "서버가 알 수 없는 주소와 수동형 응답을 보냈습니다. 대신 서버 주소를 사용합니다."

가 표시되는 경우가 있습니다.

원인은 ftp 서버가 공유기에 연결되어있기 때문입니다. (AWS EC2에서도 동일한 문제가 발생합니다.)

이해를 돕기 위해 다음 그림을 보겠습니다.

3,4를 보면 ftp 서버가 공유기와 연결되어있기 때문에 ftp 클라이언트에게 사설 ip 주소를 보냅니다.

ftp 클라이언트는 분명 111.111.111.111이라는 ip로 요청을 보냈는데 응답이 192.168.219.101(사설 ip)로 돌아왔기 때문에

"서버가 알 수 없는 주소와 수동형 응답을 보냈습니다."가 표시되는 겁니다.

해결 방법은 vsftpd 설정 파일에 한 줄만 추가하면 됩니다.

pasv_address=111.111.111.111(ftp서버의 공인 ip주소)

이렇게 마지막 부분에 해당 구문을 추가한 후 vsftpd를 재시작합니다.

sudo systemctl restart vsftpd

이제 "서버가 알 수 없는 주소와 수동형 응답을 보냈습니다." 가 뜨지 않고 정상적으로 ftp 연결이 이뤄집니다.

728x90

'Dev > Linux' 카테고리의 다른 글

[Ubuntu] 서비스 확인, 시작, 중지, 재시작  (0) 2022.09.01
728x90

 

해결방법

 

1. Build > Clean Project 

2. File > Invalidate Caches / Restart Project

 
728x90

+ Recent posts