전체 글
-
[C# .NET] static 함수에서 Control에 접근하기Desktop App/C#.Net 2021. 10. 19. 15:55
로그를 눈에 보이게 처리해야 해서 TextBox에 로그를 남기는 함수를 만들었다. 근데.. static 함수에서는 this를 사용할 수 없다... 고민하던 중 생각난 해결책은 아래와 같다. public partial class Form1 : Form { public static Form1 instance; public Form1(){ InitializeComponent(); instance = this; } public static void func1(){ instance.Log("message"); } private void Log(string Message) { this.Invoke(new Action(() => { try { tb_log.AppendText($"[{DateTime.Now.ToStri..
-
Cross-App Scripting Reject 해결방법Mobile App/Android 2021. 9. 12. 13:57
Intro SSL Handler가 구현되어있는 최초 버전 (버전코드 1번)이 테스트 트랙에 올라가 있다는 이유로 구글플레이에서 삭제되었다. 당장 해당 트랙을 비활성화 한 뒤 업데이트를 시도해 보았지만 Cross App Scripting Vulnerability로 리젝되어 클라이언트의 요청이 지속되는 상황이었다. Vulnerability APK Version(s) Past Due Date Cross-app Scripting Your app(s) are using a WebView that is vulnerable to cross-app scripting. To address this issue, follow the steps in this Google Help Center article. 33 August..
-
[Synology] Git Server / Gogs로 나만의 Git 구축하기ETC/Git 2021. 7. 23. 20:53
요즘들어 유니티 프로젝트의 의뢰가 많다. 유니티는 자체적으로 Collaborator라는 클라우드 스토리지 서비스를 지원하지만, commit log를 제외하면 git처럼 버전 관리할 수 있는 곳이 암만 찾아봐도 없다. Github는 파일당 100MB 제한이 있고, BitBucket은 파일당 용량 제한은 없지만 총 용량 제한이 있다. 그리고 매우 느리다.. 그래서 그냥 시놀로지 DSM에 있는 Git Server를 활용하기로 했다. 사전에 Git Server와 MariaDB 5 설치가 필요하지만, Git을 사용하고 서버를 구축하기 위해 여기까지 찾아온 여러분께는 구태여 설명할 필요가 없을 것 같으므로 생략합니다. *** 시놀로지에서 Docker를 지원하는 경우 여기를 참조하세요. 도커로 구성하는게 추후 관리가..
-
[Synology] ipkg 패키지매니저 설치하기ETC/Synology 2021. 7. 23. 09:48
DSM 패키지 센터 커뮤니티 소스 리스트 http://packages.synocommunity.com/ http://synology.sysco.ch/ http://www.cphub.net http://syno.dierkse.nl/ 인터넷에 떠돌아다니는 리스트 중 현재는 유효하지 않은 링크는 삭제했습니다 이 게시글의 패키지는 ARM 코어가 탑재된 보급형 Synology 기기에서도 사용이 가능합니다. 설치방법 Perl 패키지가 필요합니다. 시놀로지 공식 패키지센터에서 설치합니다. 패키지센터 우측 상단의 설정 버튼을 누르고, 패키지 소스 탭에 위 리스트를 추가합니다. ipkg만 설치하실거면 맨 아래 cphub 링크만 추가하셔도 됩니다. 패키지센터를 종료 후 다시 엽니다. 검색창에 ipkg를 검색 후 Easy ..
-
[Ubuntu] 우분투 초기세팅 (카카오 미러서버, zsh)ETC/Ubuntu 2021. 7. 21. 12:29
카카오 미러서버 - apt sudo sed -i -re 's/([a-z]{2}.)?archive.ubuntu.com|security.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list sudo apt update sudo apt upgrade -y 카카오 미러서버 - pip mkdir ~/.pip echo "[global] index-url=http://ftp.daumkakao.com/pypi/simple trusted-host=ftp.daumkakao.com" >> ~/.pip/pip.conf pip3 install --upgrade pip zsh 및 oh-my-zsh 설치 sudo apt install -y zsh curl git sh -c "$(curl -..
-
[Objective C] Javascript와 WKWebView 통신 시 리턴값 받기Mobile App/iOS 2021. 5. 28. 00:10
iOS 에서의 Javascript Interface Bridge는 단방향, JS -> Native로밖에 값을 전달하지 못한다. 따라서 js에 setValue() 등의 함수를 사용해야 한다.. 그러나 window.webkit.messageHandler.foo.postMessage(args) 를 호출하고, 네이티브에서 evalJavascript로 setFooValue(bar) 함수를 호출해 밸류를 지정해준다 한들, 완성된 js코드를 보는 후임 개발자 입장에서 코드가 쉽게 눈에 들어오지 않을 것이고, 예쁘지도 않다. 또 리턴받아야 하는 함수가 여러 개인 경우 setValue() 함수를 여러번 생성해야 하며, Android JavascriptInterface Bridge와 다른 방식으로 사용해야 한다. 안드로이..
-
하이브리드 앱 테스트 환경에서 카톡로그인 intent 처리Mobile App/Android 2021. 5. 24. 19:36
카톡로그인 인텐트를 아래와 같이 처리해줬다. @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("intent:")) { try { Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME); Intent existPackage = getPackageManager().getLaunchIntentForPackage(intent.getPackage()); if (existPackage!=null) { startActivity(intent); } else { Intent marketIntent = new Intent(Intent.ACTI..
-
안드로이드 웹뷰 뒤로가기 버튼 이벤트 만들기Mobile App/Android 2021. 5. 12. 15:42
MainActivity.java private long backKeyPressedTime = 0; private Toast toast; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { // 웹뷰 History상 이전 페이지가 있을 경우 if(mWebView.canGoBack()){ mWebView.goBack(); // 뒤로가기 return true; } // 없을 경우 앱 종료 전 Toast로 물어보기 else{ // 토스트메세지 출력 if (System.currentTimeMillis() > backKeyPressedTime + 2000) { backKeyP..