*os버전 확인

dcans@dcans:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal

 

*unity-desktop install 하기

 

sudo apt update

sudo apt install ubuntu-unity-desktop

 

.....
light-themes (19.04-0ubuntu3) 설정하는 중입니다 ...
policykit-1-gnome (0.105-7ubuntu2) 설정하는 중입니다 ...
lightdm (1.30.0-0ubuntu4~20.04.1) 설정하는 중입니다 ...
그룹 `lightdm' (GID 138) 추가 ...
완료.
시스템 사용자 `lightdm' (130) 추가 ...
새로운 사용자 `lightdm' (130) 을(를) 그룹 `lightdm'(으)로 추가 ...
'/var/lib/lightdm' 홈 디렉터리를 생성하는 중...

.....

.....

 

*unity version 확인하기

dcans@dcans:~$ sudo apt install screenfetch
dcans@dcans:~$ screenfetch
                          ./+o+-       dcans@dcans
                  yyyyy- -yyyyyy+      OS: Ubuntu 20.04 focal
               ://+//////-yyyyyyo      Kernel: x86_64 Linux 5.11.0-37-generic
           .++ .:/++++++/-.+sss/`      Uptime: 16m
         .:++o:  /++++++++/:--:/-      Packages: 2526
        o:+o+:++.`..```.-/oo+++++/     Shell: bash
       .:+o:+o/.          `+sssoo+/    Resolution: 1920x1080
  .++/+:+oo+o:`             /sssooo.   DE: GNOME 3.36.5
 /+++//+:`oo+o               /::--:.   WM: Mutter
 \+/+o+++`o++o               ++////.   WM Theme: Adwaita
  .++.o+++oo+:`             /dddhhh.   GTK Theme: Yaru [GTK2/3]
       .+.o+oo:.          `oddhhhh+    Icon Theme: Yaru
        \+.++o+o``-````.:ohdhhhhh+     Font: Ubuntu 11
         `:o+++ `ohhhhhhhhyo++os:      Disk: 36G / 921G (5%)
           .o:`.syhhhhhhh/.oo++o`      CPU: AMD A8-6410 APU with AMD Radeon R5 Graphics @ 4x 2GHz
               /osyyyyyyo++ooo+++/     GPU: AMD KABINI (DRM 2.50.0, 5.11.0-37-generic, LLVM 12.0.0)
                   ````` +oo+++o\:     RAM: 3113MiB / 6887MiB
                          `oo++.      
dcans@dcans:~$ unity --version
unity 7.5.0

로그인시 Unity desktop 환경 선택해서 로그인 가능함

 

 

3D 개발하는 unity 설치가 아님^^ - user friendly 한 deskop 환경

참고)

https://wp.wwu.edu/karlewr491/2017/01/26/the-unity-desktop-environment/

 

The Unity Desktop Environment – Environmental Awareness

More often than not, Ubuntu is the very first distribution of Linux that many people ever use. As such, Ubuntu’s Unity desktop is the environment that these users first interact with. It is a very user-friendly desktop, especially for new Linux users. I

wp.wwu.edu

https://www.linuxbabe.com/ubuntu/install-unity-desktop-environment-ubuntu-20-04

 

How to Install Unity Desktop Environment on Ubuntu 20.04 LTS

This tutorial shows you how to install Unity Desktop on Ubuntu 20.04 LTS. We will also restore the nice-looking Unity login screen, in case you don’t like the GNOME login screen.

www.linuxbabe.com

 

dcans@dcans:~/다운로드$ ls -l Unity*
-rw-rw-r-- 1 dcans dcans 110404684 10월  3 10:32 UnityHubBeta.AppImage
dcans@dcans:~/다운로드$ chmod a+x UnityHubBeta.AppImage 
dcans@dcans:~/다운로드$ ls -l Unity*
-rwxrwxr-x 1 dcans dcans 110404684 10월  3 10:32 UnityHubBeta.AppImage
dcans@dcans:~/다운로드$ ./UnityHubBeta.AppImage 
r: 0

 

License accepted

Checking for update
Generated new staging user ID: 9e35567a-9e1d-5fb6-a4f4-5764ef158f3d
Checking for update (already in progress)
mesa: for the --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the --global-isel-abort option: may only occur zero or one times!
mesa: for the --amdgpu-atomic-optimizations option: may only occur zero or one times!
mesa: for the --structurizecfg-skip-uniform-regions option: may only occur zero or one times!
Update for version 3.0.0-beta.5 is not available (latest version: 3.0.0-beta.5, downgrade is disallowed).
(electron) Security Warning: A WebContents was just created with both webviewTag and contextIsolation enabled.  This combination is fundamentally less secure and effectively bypasses the protections of contextIsolation.  We strongly recommend you move away from webviews to OOPIF or BrowserView in order for your app to be more secure
Checking for update
Update for version 3.0.0-beta.5 is not available (latest version: 3.0.0-beta.5, downgrade is disallowed).

Sign in  이후 에러....

 

dcans@dcans:~$ wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
[sudo] dcans의 암호: 
OK

 

dcans@dcans:/$ sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
>     /etc/apt/sources.list.d/jenkins.list'

dcans@dcans:/etc/apt$ cd sources.list.d/
dcans@dcans:/etc/apt/sources.list.d$ ls -l
합계 12
-rw-r--r-- 1 root root 189  8월 29 11:04 google-chrome.list
-rw-r--r-- 1 root root 189  8월 29 11:04 google-chrome.list.save
-rw-r--r-- 1 root root  49  9월 12 13:25 jenkins.list

 

dcans@dcans:~$ cat /etc/apt/sources.list.d/jenkins.list
deb https://pkg.jenkins.io/debian-stable binary/

 

dcans@dcans:~$ sudo apt-get update
무시:1 https://pkg.jenkins.io/debian-stable binary/ InRelease
받기:2 https://pkg.jenkins.io/debian-stable binary/ Release [2,044 B]                                                                                                                                     
받기:3 https://pkg.jenkins.io/debian-stable binary/ Release.gpg [833 B]                                                                                                                                   
기존:4 https://dl.winehq.org/wine-builds/ubuntu focal InRelease                                                                                                                                           
기존:5 http://security.ubuntu.com/ubuntu focal-security InRelease                                                                                                                          
받기:6 https://pkg.jenkins.io/debian-stable binary/ Packages [20.6 kB]                                              
기존:7 http://kr.archive.ubuntu.com/ubuntu focal InRelease                                                     
기존:8 http://kr.archive.ubuntu.com/ubuntu focal-updates InRelease                                   
기존:9 http://dl.google.com/linux/chrome/deb stable InRelease                 
기존:10 http://kr.archive.ubuntu.com/ubuntu focal-backports InRelease
내려받기 23.4 k바이트, 소요시간 2초 (9,599 바이트/초)
패키지 목록을 읽는 중입니다... 완료
dcans@dcans:~$ sudo apt-get install jenkins
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
  daemon
다음 새 패키지를 설치할 것입니다:
  daemon jenkins
0개 업그레이드, 2개 새로 설치, 0개 제거 및 25개 업그레이드 안 함.
69.7 M바이트 아카이브를 받아야 합니다.
이 작업 후 72.6 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 daemon amd64 0.6.4-1build2 [96.3 kB]       
받기:2 https://pkg.jenkins.io/debian-stable binary/ jenkins 2.303.1 [69.7 MB]                              
내려받기 69.7 M바이트, 소요시간 48초 (1,443 k바이트/초)                                                                                                                                                   
Selecting previously unselected package daemon.
(데이터베이스 읽는중 ...현재 215140개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../daemon_0.6.4-1build2_amd64.deb ...
Unpacking daemon (0.6.4-1build2) ...
Selecting previously unselected package jenkins.
Preparing to unpack .../jenkins_2.303.1_all.deb ...
Unpacking jenkins (2.303.1) ...
daemon (0.6.4-1build2) 설정하는 중입니다 ...
jenkins (2.303.1) 설정하는 중입니다 ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3.11) ...

 

9090방화벽 활성화

dcans@dcans:~$ sudo systemctl restart jenkins
dcans@dcans:~$ 
dcans@dcans:~$ 

 

 

dcans@dcans:~$ sudo ufw status
상태: 비활성

dcans@dcans:~$ sudo ufw enable
방화벽이 활성 상태이며 시스템이 시작할 때 사용됩니다
dcans@dcans:~$ sudo ufw status
상태: 활성

 

dcans@dcans:~$ sudo ufw allow 9090
규칙이 업데이트됐습니다
규칙이 업데이트됐습니다(v6)

 

 

dcans@dcans:~$ sudo ufw status
상태: 활성

목적                         동작          출발
--                         --          --
9090                       ALLOW       Anywhere                  
9090 (v6)                  ALLOW       Anywhere (v6)  

 

 

 

dcans@dcans:~$ sudo service jenkins restart
dcans@dcans:~$ sudo systemctl status jenkins
● jenkins.service - LSB: Start Jenkins at boot time
     Loaded: loaded (/etc/init.d/jenkins; generated)
     Active: active (exited) since Sun 2021-09-12 13:54:50 KST; 9s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 8111 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)

 9월 12 13:54:49 dcans systemd[1]: Starting LSB: Start Jenkins at boot time...
 9월 12 13:54:49 dcans jenkins[8111]: Correct java version found
 9월 12 13:54:49 dcans jenkins[8111]:  * Starting Jenkins Automation Server jenkins
 9월 12 13:54:49 dcans su[8149]: (to jenkins) root on none
 9월 12 13:54:49 dcans su[8149]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
 9월 12 13:54:49 dcans su[8149]: pam_unix(su-l:session): session closed for user jenkins
 9월 12 13:54:50 dcans jenkins[8111]:    ...done.
 9월 12 13:54:50 dcans systemd[1]: Started LSB: Start Jenkins at boot time.



Unlock Jenkins, input Administrator password

dcans@dcans:~$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
******************************1a

initialAdminPassword를 웹화면의 Administrator password에 입력

 

 

Install suggested plugins >> admin계정생성 후 시작화면

'오픈소스' 카테고리의 다른 글

fullcalendar + 구글캘린더 연동하기  (0) 2022.05.11
"Nexus Repository" install/service  (0) 2021.09.07

dcans@dcans:~$ cd /opt
dcans@dcans:/opt$ sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

dcans@dcans:/opt$ ls -l
합계 199176
drwxr-xr-x 3 root root 4096 8월 28 17:11 google
-rw-r--r-- 1 root root 203934222 9월 1 00:28 latest-unix.tar.gz
drwxr-xr-x 6 root root 4096 8월 29 11:09 wine-stable
drwxrwxr-x 27 root root 12288 9월 3 08:30 zoom

dcans@dcans:/opt$ sudo tar -zxvf latest-unix.tar.gz

dcans@dcans:/opt$ ls -l
합계 199184
drwxr-xr-x 3 root root 4096 8월 28 17:11 google
-rw-r--r-- 1 root root 203934222 9월 1 00:28 latest-unix.tar.gz
drwxr-xr-x 10 root root 4096 9월 6 20:19 nexus-3.34.0-01
drwxr-xr-x 3 root root 4096 9월 6 20:19 sonatype-work
drwxr-xr-x 6 root root 4096 8월 29 11:09 wine-stable
drwxrwxr-x 27 root root 12288 9월 3 08:30 zoom

dcans@dcans:/opt$ sudo mv /opt/nexus-3.34.0-01 /opt/nexus
dcans@dcans:/opt$ ls -l
합계 199184
drwxr-xr-x 3 root root 4096 8월 28 17:11 google
-rw-r--r-- 1 root root 203934222 9월 1 00:28 latest-unix.tar.gz
drwxr-xr-x 10 root root 4096 9월 6 20:19 nexus
drwxr-xr-x 3 root root 4096 9월 6 20:19 sonatype-work
drwxr-xr-x 6 root root 4096 8월 29 11:09 wine-stable
drwxrwxr-x 27 root root 12288 9월 3 08:30 zoom

dcans@dcans:/opt$ cd nexus/
dcans@dcans:/opt/nexus$ ls
NOTICE.txt OSS-LICENSE.txt PRO-LICENSE.txt bin deploy etc lib public replicator system
dcans@dcans:/opt/nexus$ ls -l
합계 96
-rw-r--r-- 1 root root 651 8월 30 18:46 NOTICE.txt
-rw-r--r-- 1 root root 17321 8월 30 18:46 OSS-LICENSE.txt
-rw-r--r-- 1 root root 41954 8월 30 18:46 PRO-LICENSE.txt
drwxr-xr-x 3 root root 4096 9월 6 20:19 bin
drwxr-xr-x 2 root root 4096 9월 6 20:19 deploy
drwxr-xr-x 7 root root 4096 9월 6 20:19 etc
drwxr-xr-x 5 root root 4096 9월 6 20:19 lib
drwxr-xr-x 3 root root 4096 9월 6 20:19 public
drwxr-xr-x 2 root root 4096 9월 6 20:19 replicator
drwxr-xr-x 23 root root 4096 9월 6 20:19 system

dcans@dcans:/opt$ sudo adduser nexus
'nexus' 사용자를 추가 중...
새 그룹 'nexus' (1001) 추가 ...
새 사용자 'nexus' (1001) 을(를) 그룹 'nexus' (으)로 추가 ...
'/home/nexus' 홈 디렉터리를 생성하는 중...
'/etc/skel'에서 파일들을 복사하는 중...
새 암호:
새 암호 재입력:
passwd: 암호를 성공적으로 업데이트했습니다
nexus의 사용자의 정보를 바꿉니다
새로운 값을 넣거나, 기본값을 원하시면 엔터를 치세요
이름 []: nexusdcansjm
방 번호 []:
직장 전화번호 []:
집 전화번호 []:
기타 []:
정보가 올바릅니까? [Y/n] Y

dcans@dcans:/opt$ ls -l
합계 199184
drwxr-xr-x 3 root root 4096 8월 28 17:11 google
-rw-r--r-- 1 root root 203934222 9월 1 00:28 latest-unix.tar.gz
drwxr-xr-x 10 root root 4096 9월 6 20:19 nexus
drwxr-xr-x 3 root root 4096 9월 6 20:19 sonatype-work
drwxr-xr-x 6 root root 4096 8월 29 11:09 wine-stable
drwxrwxr-x 27 root root 12288 9월 3 08:30 zoom

dcans@dcans:/opt$ sudo visudo
>>> /etc/sudoers: 문법 오류 near line 9 <<<
>>> /etc/sudoers: 문법 오류 near line 10 <<<
어떻게 하시겠습니까?
사용할 수 있는 옵션:
sudoers 파일을 다시 편집합니다(E)
sudoers 파일을 바꾼 상태에서 저장하지 않고 나갑니다(X)
sudoers 파일을 바꾼 상태에서 저장하고 끝냅니다(Q) : 이상태로 저장하면 아래와 같이 에러발생

dcans@dcans:/opt$ sudo visudo
>>> /etc/sudoers: 문법 오류 near line 9 <<<
>>> /etc/sudoers: 문법 오류 near line 10 <<<
sudo: /etc/sudoers 9번째 줄에서 해석 오류
sudo: 올바른 sudoers 설정 원본이 없습니다. 나갑니다.
sudo: 정책 플러그인을 초기화할 수 없습니다

오류 visudo 수정하기 : dcans@dcans:/opt$ pkexec visudo

dcans@dcans:/opt$ sudo chown -R nexus:nexus /opt/nexus
dcans@dcans:/opt$ ls -l
합계 199184
drwxr-xr-x 3 root root 4096 8월 28 17:11 google
-rw-r--r-- 1 root root 203934222 9월 1 00:28 latest-unix.tar.gz
drwxr-xr-x 10 nexus nexus 4096 9월 6 20:19 nexus
drwxr-xr-x 3 root root 4096 9월 6 20:19 sonatype-work
drwxr-xr-x 6 root root 4096 8월 29 11:09 wine-stable
drwxrwxr-x 27 root root 12288 9월 3 08:30 zoom

dcans@dcans:/opt$ sudo chown -R nexus:nexus /opt/sonatype-work
dcans@dcans:/opt$ ls -l
합계 199184
drwxr-xr-x 3 root root 4096 8월 28 17:11 google
-rw-r--r-- 1 root root 203934222 9월 1 00:28 latest-unix.tar.gz
drwxr-xr-x 10 nexus nexus 4096 9월 6 20:19 nexus
drwxr-xr-x 3 nexus nexus 4096 9월 6 20:19 sonatype-work
drwxr-xr-x 6 root root 4096 8월 29 11:09 wine-stable
drwxrwxr-x 27 root root 12288 9월 3 08:30 zoom
dcans@dcans:/opt$ sudo nano /opt/nexus/bin/nexus.rc
dcans@dcans:/opt$ cat /opt/nexus/bin/nexus.vmoptions

-Xms2703m
-Xmx2703m
-XX:MaxDirectMemorySize=2703m
-XX:+UnlockDiagnosticVMOptions
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Dkaraf.log=../sonatype-work/nexus3/log
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
-Djdk.tls.ephemeralDHKeySize=2048
#
# additional vmoptions needed for Java9+
#
# --add-reads=java.xml=java.logging
# --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED
# --patch-module java.base=${KARAF_HOME}/lib/endorsed/org.apache.karaf.specs.locator-4.3.2.jar
# --patch-module java.xml=${KARAF_HOME}/lib/endorsed/org.apache.karaf.specs.java.xml-4.3.2.jar
# --add-opens java.base/java.security=ALL-UNNAMED
# --add-opens java.base/java.net=ALL-UNNAMED
# --add-opens java.base/java.lang=ALL-UNNAMED
# --add-opens java.base/java.util=ALL-UNNAMED
# --add-opens java.naming/javax.naming.spi=ALL-UNNAMED
# --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
# --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED
# --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
# --add-exports java.security.sasl/com.sun.security.sasl=ALL-UNNAMED
#
# comment out this vmoption when using Java9+
#
-Djava.endorsed.dirs=lib/endorsed
dcans@dcans:/opt$ sudo nano /etc/systemd/system/nexus.service
dcans@dcans:/opt$ sudo systemctl start nexus
dcans@dcans:/opt$ sudo systemctl enable nexus
Created symlink /etc/systemd/system/multi-user.target.wants/nexus.service → /etc/systemd/system/nexus.service.

dcans@dcans:/opt$ sudo systemctl status nexus
● nexus.service - nexus service
Loaded: loaded (/etc/systemd/system/nexus.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-09-06 20:43:27 KST; 24s ago
Main PID: 26791 (java)
Tasks: 45 (limit: 8190)
Memory: 817.0M
CGroup: /system.slice/nexus.service
└─26791 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -server -Dinstall4j.jvmDir=/usr/>

9월 06 20:43:27 dcans systemd[1]: Starting nexus service...
9월 06 20:43:27 dcans nexus[26584]: Starting nexus
9월 06 20:43:27 dcans systemd[1]: Started nexus service.

dcans@dcans:/opt$ tail -f /opt/sonatype-work/nexus3/log/nexus.log

nexus repository manager service starting...


refer to : https://www.fosstechnix.com/how-to-install-nexus-repository-on-ubuntu/

'오픈소스' 카테고리의 다른 글

fullcalendar + 구글캘린더 연동하기  (0) 2022.05.11
install jenkins  (0) 2021.09.12

'유투브 라이브',  

유투브 라이브 방송은 최초 사용 승인 프로세스가 있음. 

 개인 라이브 방송 신청 => youtube사 승인-24시간 안에 진행

 

PC 카메라로 라이브 방송 가능. 

(품질 및 라이브 성능을 높이려면 추가 하드웨어/소프트웨어를 사용하는 방법이 있음)

모바일 개인라이브 방송은 구독자 1천명 이상일때 가능.

 

테스트 : 라이브방송(5년된 노트북) - 휴대폰으로 라이브방송 시청시 (3~5초)의 시간차 있음.

 

 

참고 url)

 

[환경] :

  android studi 4.1.1

  dependencies { classpath "com.android.tools.build:gradle:4.1.0" }

  distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip

  에뮬레이터 실행시 아래 에러 발생

------------------------------------------------

> task :app:merge debugresources failed

[fatal error] aapt2-4.1.1-6503028.pom:2:1:

 

프롤로그에서는 콘텐츠가 허용되지 않습니다

------------------------------------------------

 

com.android.tools.build:gradle:4.1.1"로 update되었다고 studio 알림..

 

C:\Users\사용자아이디\.gradle\caches 폴더에 파일 충돌이 발생하는 것으로

caches 파일을 지우고 프로젝트 소스에 com.android.tools.build:gradle:4.1.1 로 세팅후 Sync 맞춤 

Mobile Native 와 Web Html의 상호 송수신 통신

 

 

MainActivity.java

더보기

WebView myWebView;

final public Handler handler = new Handler(); //android.os.Handler

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    Toolbar toolbar = findViewById(R.id.toolbar);

    setSupportActionBar(toolbar);

 

    myWebView = (WebView) findViewById(R.id.webView1);

    WebSettings setting = myWebView.getSettings();

 

    setting.setJavaScriptCanOpenWindowsAutomatically(true);

    setting.setJavaScriptEnabled(true);//자바스크립트 허용

    setting.setAllowFileAccess(true);//false => security reason

    setting.setAllowContentAccess(true);

    setting.setDomStorageEnabled(true);

 

    myWebView.addJavascriptInterface(new JsJavaBridge(this, myWebView), "oInterface");

    setting.setBuiltInZoomControls(true);

    setting.setDefaultFontSize(20);

    setting.setPluginState(WebSettings.PluginState.OFF);//no flash

    //load test.html from the assets folder

 

    myWebView.loadUrl("file:///android_asset/test.html");

 

    myWebView.setWebViewClient(new CustomWebViewClient());

    myWebView.setWebViewClient(new CustomWebViewClient(){

        public void onPageFinished(WebView viewString weburl){

            Log.d("PJM:""onPageFinished:"+weburl);

            String sJs = "javascript:testDraw('onPageFinished',1)";

 

            // view.loadUrl("javascript:alert('Javascript fire!');");

            //alert명령은 안됨.

            view.loadUrl(sJs);

    }

    });

}

// Navigation WebView with Back Button

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

    if ((keyCode == KeyEvent.KEYCODE_BACK) && this.myWebView.canGoBack()) {

    this.myWebView.goBack();

    return true;

    }

 

    return super.onKeyDown(keyCode, event);

}

 

public void javaCallHtml(int iArg){

    // Toast.makeText()

    Log.d("PJM","javaCallHtml : " + String.valueOf(iArg));

    // myWebView.loadUrl("javascript:testDraw()");

    String sJs = "javascript:testDraw('javaCallHtml', 3)";

    // https://nicgoon.tistory.com/192 참고

    //webview와 android는 비동기 상태이므로 쓰레드로 넣어전달해 주어야 한다.

    handler.post(new Runnable() {

        @Override

        public void run() {

        myWebView.loadUrl(sJs);

        }

        });

}

 

JsJavaBridge.java : html call java method

더보기

import android.util.Log;

import android.webkit.JavascriptInterface;

import android.webkit.WebView;

 

public class JsJavaBridge {

 

MainActivity mainActivity;

WebView webView;

public JsJavaBridge(MainActivity mainActivityWebView webView)  {

    this.mainActivity = mainActivity;

    this.webView = webView;

}

 

@JavascriptInterface

public void setResult(int val){

    Log.d("PJM","JavaScriptHandler.setResult is called : " + val);

    this.mainActivity.javascriptCallFinished(val);

}

@JavascriptInterface

public void calcSomething(int xint y){

 

    Log.d("PJM","calcSomething:" + String.valueOf(x) + " * " + String.valueOf(y));

    this.mainActivity.javaCallHtml( (x * y));

}

}

 

test.html

더보기

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>WebView1</title>
<meta forua="true" http-equiv="Cache-Control" content="max-age=0"/>
</head>

<body style="background-color:#212121">
<script type="text/javascript">
function testEcho(arg){
document.write(arg);
}

function testAlert(arg)
{
setTimeout(function() {
document.write(arg);
},5000);

}

 

function testDraw(arg, seq){
document.getElementById('divTag').innerHTML =arg+ seq;
}

</script>
</body>
<input type="button" onclick="window.oInterface.doSomething(1,2)" value="html call java method" />
<br>
<input type="button" onclick="testDraw('html onclick script', 2)" value="html drawing" />
<br>
<div id="divTag"></div>
</html>

 

시연)

Windows에 IBM DB2 express-c 설치 후

sqldeveloper, toad등으로 접속하여 sample database 테이블을 보려고 할때

테이블 스크마는 보이는데 테이블rows가 select가 안된다. 

 

windows의 administrator 계정에 select 권한이 없기때문이라는데..

계정생성을 db2admin으로 했고

해당계정으로 로그인 정보를 입력했는데

table 의 소유자가 administrator로 만들어져 있음을 확인함.

 

www.ibm.com/support/knowledgecenter/SSRMWJ_7.0.1/com.ibm.isim.doc/admin/tsk/tsk_ic_admin_pw4sysdb2.html

내용을 참고

서비스에서 db2 instance에 administrator계정을 추가함

 

toad나 sqldeveloper에서

dbOwner를 붙여 쿼리문 작성 하여 데이타 확인함

toad에서 db2 연결

 

 

sqldeveloper로 db2 연결

C:\Windows\System32>npm install -g cordova@latest
npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ECONNABORTED: request to https://registry.npmjs.org/debug failed, reason: write ECONNABORTED
npm WARN registry Using stale data from https://registry.npmjs.org/ due to a request error during revalidation.
npm ERR! code ECONNABORTED
npm ERR! errno ECONNABORTED
npm ERR! request to https://registry.npmjs.org/forwarded failed, reason: write ECONNABORTED

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\사용자계정\AppData\Roaming\npm-cache\_logs\2020-10-20T07_51_44_019Z-debug.log

C:\Windows\System32>npm config set registry http://registry.npmjs.org/
C:\Windows\System32>npm config set strict-ssl false

C:\Windows\System32>npm install -g cordova@latest
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
C:\Users\사용자계정\AppData\Roaming\npm\cordova -> C:\Users\사용자계정\AppData\Roaming\npm\node_modules\cordova\bin\cordova
+ cordova@10.0.0
added 396 packages from 248 contributors in 34.244s

'IT' 카테고리의 다른 글

유투브 라이브 방송  (0) 2021.05.09
before Starting of Machine Learning  (0) 2020.09.01
Syntaxhighlighter 설정하여 프로그램 코드 넣어 표현하기  (0) 2018.03.17
Pinterest에 대해서  (0) 2018.03.03
ELK에 대해서  (0) 2018.03.03

xe3로 홈페이지를 만든후 비밀번호재설정을 하려하면 메일발송으로 진행된다.

이때 smtp설정이 필요한데

gmail로 진행될 경우 2단계 인증으로 방식을 바꿔야 한다.

 

에러 로그를 잘 보고 판단하자. 

SMTP server with username "~~@~~~" using 3 possible authenticators

이런 에러나 난다면..... 2단계로 인증방식을 바꾸면 된다.

 

1. www.google.com/landing/2step/ 2단계인증방식 활성화

2. security.google.com/settings/security/apppasswords

    Select the app and device you want to generate the app password for.

    - others(custom name)으로 생성한후 패스워드를 등록하여 generate 

3. config/mail.php 항목

    usename -> 자신의gmail주소

    password -> generate된 패스워드

 

이렇게 세팅하고 비밀번호재설정하면 메일이 발송된다. 발송된 메일은 gmail 보낸편지함에서 확인가능하다

'오픈소스 > Xpress Engine' 카테고리의 다른 글

[XE3] 익스텐션 추가후 사이트 에러  (0) 2020.07.26
[xe3] .htaccess 파일, phpMyAdmin access확인하기  (0) 2020.07.09
XE3 설치  (0) 2020.05.26

+ Recent posts