링크: https://teamnova0410-dev.tistory.com/2

 

[안드로이드 스튜디오] error: Cannot resolve symbol R - 해결법

# 사용중인 안드로이드 스튜디오 버전 : 3.1.2 Cannot resolve symbol R 문제는, 특히 안드로이드를 개발한지 얼마 안된 사람들이 많이 겪는 문제중 하나다. 일단 이건, "R.java" 파일에 무슨 문제가 생겼단

teamnova0410-dev.tistory.com

 

이거 보고 해결했구요 

잘도는 프로젝트를 복사해서 다른 폴더에 넣고 돌릴때 발생하더군요

 

 

 

File -> invalidate caches 메뉴로 가면 캐시 지울 수 있습니다.

이런메뉴가 있는지 초짜가 어떻게 알겠냐고 구굴에게 묻고 싶군요 ㅠㅠ

 

android java R. error


WRITTEN BY
SIDNFT
게임개발자에서 WEBGL 웹개발자로 전환중

,




안드로이드 + 자바로 했습니다.

튜터리얼은 이거구요: https://developer.android.com/guide/webapps/webview?hl=ko

 

WebView에서 웹 앱 빌드  |  Android 개발자  |  Android Developers

WebView에서 웹 앱 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경

developer.android.com

 

제가만들 앱은 웹페이지 하나만 달랑 있는것입니다.

이걸로 안드로이드기능도 쓰고 웹페이지로 컨텐츠 개발도하려구요

 

그럴려면 둘이 통신을 해야하는데 이방법의 튜터리얼을 찾았습니다.

 

주의점 몇개만 남겨둡니다.

 

첫번째

웹에서 호출할 함수는 이렇게 쓰는데요

 @JavascriptInterface
        public void showToast(String toast) {
            Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
        }

@JavascriptInterfac <-- 이거 들어가야합니다.

 

두번째

addJavascriptInterface 함수는 loadUrl 전에 호출합니다.

왠지 페이지 로드하고 add 해야할꺼 같은데 그렇치 않습니다.

 

세번째

android-17 이상해서 하라는데 이게 문제될 사람은 잘 없을꺼 같군요

 

 

추가로 App 에서 web 함수를 호출하려면 

            webview.evaluateJavascript("abc(`def`);"
                    , new ValueCallback<String>() {
                        @Override
                        public void onReceiveValue(String s) {
                            Log.d("myapp", "onReceiveValue: " + s);
                        }
                    });

이런식으로 스트링 하나 리턴 받는 코드구요

자바스크립트 쪽은

<script type="text/javascript">
      function abc(v) {
        return "abc" + v;
      }
</script>

이런식으로 찼습니다. 리턴값을 멋지게 오브젝트로 받을까 했는데...

 


WRITTEN BY
SIDNFT
게임개발자에서 WEBGL 웹개발자로 전환중

,




영상: https://www.youtube.com/watch?v=rk41rBXq3zQ

 

Future async await 

Stream yield

를 알려주는 영상입니다.

제가본거 중엔 제일 잘 설명한거 같군요

 

 


WRITTEN BY
SIDNFT
게임개발자에서 WEBGL 웹개발자로 전환중

,




ts 파일 빌드에서 js 파일을 만들다보니 검색을하면 두군데서 표시되는군요

js 파일을 검색 결과는 필요 없으니 제외해야하는데 이제 방법을 알았습니다.

 

검색어를 file ignore 이런식으로 했더니 exclude 라고 알려주더군요

exclude 는 들어올수 없게 하다 라는 뜻인거 같습니다.

 

 

ctrl + shift + f 로 검색하면 이런 창이 나옵니다.

여기에 [...] 버튼 누르면 제일 아레에 제외할 파일 이라고 있습니다.

*.js 를 쓰면 js 파일이 제외합니다.

*.js,*.php 이렇게 두개 이상을 제외할 수도 있습니다.

 

 

더 전문가적인 방법으로는 vscode 의 파일리스트에서 안보이게 제외하는 방법입니다.

vs 코드에서 안보이기 때문에 당연히 검색에서도 안나올꺼 같군요

내가 어떤걸 설정했는지 기억 못한다면 본인탓 입니다.

파일 -> 기본설정 에 가시면 이런 창을 열 수 있습니다.

여기에 쓰시면 폴더도 제외할 수 있고 파일도 제외할 수 있고 기타 등등입니다.

/dist 폴더 제외하니 좋군요

 

 

참고: https://bobbyhadz.com/blog/exclude-folders-from-search-in-vscode


WRITTEN BY
SIDNFT
게임개발자에서 WEBGL 웹개발자로 전환중

,




# 코드
import threading, time

def proc(res):
    print("start", res)
    time.sleep(3)
    print("end")

t = threading.Thread(target=proc, args=("abc"))
t.start()

# 결과
PS C:\project\unity\MyQuant\python> python3 .\pg.py
Exception in thread Thread-1 (proc):
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.1520.0_x64__qbz5n2kfra8p0\lib\threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.1520.0_x64__qbz5n2kfra8p0\lib\threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
TypeError: proc() takes 1 positional argument but 3 were given

간단한 코드인에 요런 에러가 발생합니다.

이 문제는 왜 발생하냐면요

t = threading.Thread(target=proc, args=("abc"))
 
부분이 문제입니다.

한개만 넣으면 정상적으로 처지가 되지 않나봅니다.

t = threading.Thread(target=proc, args=("abc", )) 

이런식으로 , 콤마가 필요합니다. 배열로 들어가야하나봅니다.

즐 코딩

 

 


WRITTEN BY
SIDNFT
게임개발자에서 WEBGL 웹개발자로 전환중

,




TMP 는 TextMesh Pro 의 약자구요

TMP 사용할때 마다 자주 찾는 메뉴인데 매번 까먹어서 적어둡니다.

default 에 넣어두면 별도로 폰트를 안넣어고 ui 만들면 알아서 들어가니 편합니다.

 


WRITTEN BY
SIDNFT
게임개발자에서 WEBGL 웹개발자로 전환중

,




출처: https://docs.microsoft.com/ko-kr/dotnet/iot/deployment

 

Raspberry Pi에 .NET 앱 배포

Raspberry Pi에 .NET 앱을 배포하는 방법을 알아봅니다.

docs.microsoft.com

 

빠르다곤 말할 수 없구요 명령어가 잘도는지 체크를 했는데 문제없이 잘돌아갔습니다.

먼저 스크립트로를 이용해 설치합니다. 스크립트가 변경될 수 있어서 본문제 적진 않겠습니다.
출처의 링크를 가서 봐주시구요 

root 가 아닌 유저라도 설치는 가능한데 설치 경로가 ~/.dotnet 이 됩니다.
내용 더 내려가시면 .bashrc 에 path 등록하는 부분도 있으니 진행하시구요

source .bashrc 는 해도 안먹히는군요 저는 ssh 다시 들어가니 되네요 (의문의 동작)

프로젝트 만들기 명렁어:
dotnet new console
현재 폴더에 만들어집니다. 당황하지 마시구요 새폴더 만들어서 안에 들어가서 입력하세요

실행 명령어:
dotnet run --project .\console1.csproj
헬로우 월드를 보실 수 잇습니다.

빌드 명령어:
dotnet msbuild
빌드파일의 경로가 bin/Debug/net6.0/console1
이런식으로 나옵니다. 중간에 net6.0 은 자신의 버전에 따라 5.0 일수도 있고 8.0 일수도 그렇습니다.

c# 으로 여러가지 해볼 수 있게 되었군요
하지만 dotnet run 으로 스크립트에서 바로 실행하는 명령어는 시작이 매우 느리군요.
하지만 제 컴에서 개발하고 빌드한걸 가져올꺼라 거의 쓸일은 없을것 같습니다.

이상 간단한 사용기 였습니다.


WRITTEN BY
SIDNFT
게임개발자에서 WEBGL 웹개발자로 전환중

,




출처: https://vueshowcase.com/question/vue-reactivity-transform-ref-not-defined

 

vue reactivity transform $ref not defined

 

vueshowcase.com

이 글을 보고 해결하였습니다. vite 필요한건 아니고
eslint 가 방해하는거 였군요

 

// .eslintrc.js
module.exports = {
  // (생략)
  globals: {
    $ref: "readonly",
    $computed: "readonly",
    $shallowRef: "readonly",
    $customRef: "readonly",
    $toRef: "readonly",
  },
};

global 변수 등록 해서 해결했습니다..

 


WRITTEN BY
SIDNFT
게임개발자에서 WEBGL 웹개발자로 전환중

,