달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'전체 보기'에 해당되는 글 215건

  1. 2023.08.10 아파치 톰캣(java) 세션 클러스터링 설정
  2. 2023.05.22 AbuseMark 2k - config.txt 설정
  3. 2023.05.02 타 도메인간 IFRMAE 스크립트 호출
  4. 2023.04.21 Java PKIX path building failed/Unable to find valid certification path to requested target
  5. 2022.04.11 스톤 스피커 만들기
  6. 2021.03.16 OMV 5 NAS - OMV 설치
  7. 2021.03.16 OMV 5 NAS - Armbian 설치 (ARM SBC)
  8. 2020.10.07 루분투 사용자 sudo 암호입력 없이 사용
  9. 2020.10.07 루분투 화면진입 자동 로그인 처리
  10. 2020.10.07 LUBUNTU 시작
  11. 2020.09.18 Docker 명령어 정리
  12. 2020.07.30 ORACLE - 최근 실행 쿼리 확인하기
  13. 2020.04.21 TVHeadend 최신버전 빌드 작업 설치[펌]
  14. 2020.04.09 자바에서 ltrim과 rtrim 구현하기(1줄로 간단하게)
  15. 2020.04.09 웹에서 앱 설치 여부를 확인하자
  16. 2020.02.19 C# 디컴파일 프로그램
  17. 2019.09.25 IIS에서 URL Rewrite를 사용해서 HTTP요청을 HTTPS로 리다이렉트하기[펌]
  18. 2019.09.17 PHP Client Ip 얻기
  19. 2019.09.17 JAVA Client IP 얻기
  20. 2019.03.14 tvheadend 우분투 버전 설치
  21. 2019.02.28 Object 프로퍼티스 확인
  22. 2019.02.22 mysql root 패스워드 분실시
  23. 2019.02.11 드래곤볼 슈퍼 : 브로리-간단 후기???
  24. 2019.01.01 LattePanda Alpha 800 구매기록
  25. 2018.11.26 자바 엑셀 내리기 BigGrid 10만 라인 약 2초
  26. 2018.11.16 JAVA 바코드 생성
  27. 2018.10.12 10.6 인치 ALLDOCUBE iwork11 Stylus 윈도우10 & 피닉스 OS 설치
  28. 2018.10.11 JAVA AES128 암호화 복호화 소스
  29. 2018.10.11 C# AES128 암호화 복호화 소스
  30. 2018.10.08 10.6 인치 ALLDOCUBE iwork11 Stylus Tablet PC 구매

Server.xml 에 내용 추가

 <Engine defaultHost="localhost" name="Catalina" jvmRoute="was-com">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> 
    <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> 

    <Manager className="org.apache.catalina.ha.session.BackupManager" /> 
    <Channel className="org.apache.catalina.tribes.group.GroupChannel"> 
        <Membership className="org.apache.catalina.tribes.membership.McastService" 
            address="228.0.0.4" 
            port="45564" 
            frequency="500" 
            dropTime="3000"/>
        <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
            address="auto"
            port="4000" 
            autoBind="10" 
            selectorTimeout="5000" 
            maxThreads="6"/> 
        <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> 
            <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> 
        </Sender> 
        <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> 
        <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/> 
    </Channel> 
    <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> 
    <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> 
    <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> 
</Cluster>
      

web.xml 내용 추가

<distributable/>

Posted by 타카스 류지
|

http://abusemark.com/store/index.php?main_page=product_info&products_id=58

2048x1536 LCD to HDMI Adapter

 

*********************************************************************************
●AbuseMark 기판의 스위치 조작

→스위치 눌러 전원 온→파랑 LED 점등
→파란색 LED 점등에서 스위치 눌러 슬립 상태로 → 빨간색 LED 점등
→적색 LED 점등에서 스위치 눌러 복귀 →청색 LED 점등
→파란색 LED 점등에서 스위치 길게 눌러 LED가 청색→황색→보라색을 반복한다
→황색 LED 점등에서 스위치를 눌러 휘도를 낮춘다
→ 보라색 LED 점등에서 스위치를 눌러 휘도를 올린다
→파란색 LED 점등에서 스위치 길게 눌러서 청색→황색→보라색→청색과 일주시킨 후, 스위치 눌러 잠자기 상태가 되고 적색 LED 점등→다시 스위치 눌러 LED 소등으로 전원 OFF

*********************************************************************************

 

 

config.txt 설정 내용 

 


overscan_scale=1
max_framebuffer_width=2048
max_framebuffer_height=1536
hdmi_cvt=2048 1536 30 1 0 0 1
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=87
hdmi_drive=2

 

 

 

 

 

 

 

 

 

hikari_vcom.zip
0.01MB

Posted by 타카스 류지
|


■ 부모 기본 onload 설정
window.onload = function(){
        window.addEventListener('message', function(e) {
            console.log("parent message");
            console.log(e.data);
            console.log("e.origin : " +e.origin);
            
            if(e.data.childData === ' test data'){
                alert("iframe in data");
            }
        });
        
    }

■ 부모에서 iframe 메세지 전송
  var iframe = document.getElementById('child_iframe').contentWindow;
    iframe.postMessage({parentData : 'test parent data'}, "*");
        


■ 자식 기본 onload 설정
window.onload = function(){
        window.addEventListener('message', function(e) {
            console.log("child message");
            console.log(e.data);
            console.log("e.origin : " +e.origin);
            
            if(e.data.parentData === ' test parent data'){
                alert("parent in data");
            }
        });        
        
    }


■ 자식 iframe 에서 부모창으로 메세지 전송
  var iframe = document.getElementById('child_iframe').contentWindow;
    iframe.postMessage({parentData : 'test parent data'}, "*");
        
window.parent.postMessage({childData : 'test data'}, "*");
        

Posted by 타카스 류지
|

Unable to find valid certification path to requested target
Java PKIX path building failed

 

아래 처럼 크롬 브라우저로 해당 등록할 사이트 인증서를 내보내기로 저장한다.

사용하는 JDK 폴더의 BIN 폴더에 들어가 CMD 명령어로 아래 내용을 작성

 

keytool -importcert -file "c:\등록할사이트인증서.crt" -keystore C:\Java\jdk1.8.0_361\jre\lib\security\cacerts -storepass changeit -noprompt

 

끝!

Posted by 타카스 류지
|

스피커를 받고 재료 준비~ 가조립을 해봅니다.

쟌...대충 이렇게 나옵니다. 0-0;ㅎ

 

 
 

포맥스로 커터칼 노가다에 띄어듭니다. 여백까지 생각해서 자르고 홀커터로 구멍도 빵~ 뚤어봤어요~

 
 

뚜껑은 빛이 나올수있게 얼마전에 플럼킷에서 주문한 자석으로 마무리 해주고

뚜껑을 촵~!

 

Posted by 타카스 류지
|
  • 환경: Odroid SBC + various HDDs
  • 최초 작성: 2020-09-01
  • 마지막 업데이트: 2020-09-10
  • 글을 퍼가실 땐 꼭 출처를 남겨주세요. :)

OMV 5 설치

Odroid에 Armbian이 준비되었으면, 이제 OMV 5를 설치할 수 있습니다.

두 가지 방법이 있습니다. 두 방법 모두 ARM SBC, x86 PC 상관 없이 Debian 기반이라면 동일하게 사용할 수 있습니다.

OMV 설치 스크립트를 이용한 설치 방법

먼저, Armbian 초기 설정 시 설정했던 root 비밀번호를 이용해 root로 Odroid에 접속합니다.

Armbian OS 를 사용한 SBC를 위한 공식 가이드가 준비되어 있습니다.

ARM SBC 용 OMV 설치 공식 가이드: github.com/OpenMediaVault-Plugin-Developers/docs/blob/master/Adden-A-Installing_OMV5_on_Armbian.pdf

 

OpenMediaVault-Plugin-Developers/docs

Repo for documents. Contribute to OpenMediaVault-Plugin-Developers/docs development by creating an account on GitHub.

github.com

Armbian 의 초기 설정이 완료되었다면, 간단히 다음 명령어를 입력해 OMV, OMV-Extras (추가 플러그인을 위한), Flashmemory (SD카드/eMMC 관련)까지 설치할 수 있습니다.

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

명령어 입력 후 조금 기다리시면 자동으로 설치가 완료됩니다. 연결된 PuTTY나 터미널 프로그램을 종료하지 말고 최대 30분까지 기다리셔야 합니다.

설치가 완료되면 자동으로 재부팅 됩니다

재부팅을 해주는 대신 재부팅을 하라는 메세지가 나올 수도 있습니다. 그 땐 reboot 을 입력해 재부팅하시면 됩니다.

패키지 설치를 통한 방법

OMV에서 Debian 위에 OMV 패키지를 설치하는 방법에 대한 공식 가이드가 제공되고 있으니 이대로 따라가시면 됩니다.

OMV 패키지 설치 공식 가이드: openmediavault.readthedocs.io/en/5.x/installation/on_debian.html

 

Installation on Debian — openmediavault 5.x.y documentation

© Copyright 2018 and onwards by the authors Revision ac56cc2c.

openmediavault.readthedocs.io

여기서 필요한 부분만 가져와보겠습니다. 아래 블럭 별로 복사/북여넣기해 OMV 설치를 진행합니다.

공식 가이드에선 3개의 블럭으로 나뉘어 있습니다. 이 코드들을 한 번에 복사/붙여넣기를 하면 꼬일 수 있으므로, 이 가이드에선 조금 더 나눴습니다. 번거롭더라도 가능한 한 아래 블럭별로 복사/붙여넣기 하시길 추천드립니다.

OMV Keyring 설치

apt-get install --yes gnupg

wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key

apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"

패키지 저장소 추가

cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb https://packages.openmediavault.org/public usul main
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul main
## Uncomment the following line to add software from the proposed repository.
# deb https://packages.openmediavault.org/public usul-proposed main
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul-proposed main
## This software is not part of OpenMediaVault, but is offered by third-party
## developers as a service to OpenMediaVault users.
# deb https://packages.openmediavault.org/public usul partner
# deb https://downloads.sourceforge.net/project/openmediavault/packages usul partner
EOF

OMV 패키지 설치

export LANG=C.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none

wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key

apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"

apt-get update

apt-get --yes --auto-remove --show-upgraded \
    --allow-downgrades --allow-change-held-packages \
    --no-install-recommends \
    --option Dpkg::Options::="--force-confdef" \
    --option DPkg::Options::="--force-confold" \
    install openmediavault-keyring openmediavault

OMV 초기화

apt-get install 명령어까지 완료하셨다면 아래 명령어로 OMV 를 초기화 시켜줍니다.

omv-confdbadm populate

마지막으로 재부팅해 줍니다.

reboot

웹으로 OMV 접속

재부팅 후, 정상적으로 OMV가 설치되었다면 이제 웹으로 접속할 수 있습니다.

웹 브라우저를 열어 Odroid 보드의 IP를 주소창에 입력해 접속합니다.

그리고 기본 로그인 정보를 사용해 로그인합니다.

  • ID: admin
  • PW: openmediavault

로그인이 완료되면 OMV 5 제어판이 나타납니다.

다음 챕터부터는 OMV 기본 설정과 Samba 등 여러가지 서비스 설정을 진행하도록 하겠습니다.

 

출처 : awesometic.tistory.com/243

'오드로이드 > OMV5(펌)' 카테고리의 다른 글

OMV 5 NAS - Armbian 설치 (ARM SBC)  (0) 2021.03.16
Posted by 타카스 류지
|
  • 환경: Odroid SBC + various HDDs
  • 최초 작성: 2020-08-31
  • 마지막 업데이트: 2020-09-01
  • 글을 퍼가실 땐 꼭 출처를 남겨주세요. :)

OMV 5

Odroid나 Raspberry Pi SBC에 OMV를 설치할 때, OMV 5 부터는 OMV가 사전 설치된 이미지 파일이 제공되는 게 아니라, 사용자가 직접 데비안 리눅스에서 OMV를 설치하게끔 바뀌었습니다.

x86-64 PC에 설치하시는 분들은 아래 링크에서 최신 이미지 파일을 받아 사용해주시면 됩니다.

OMV 다운로드 링크: https://sourceforge.net/projects/openmediavault/files/

이 가이드에선 x86 PC 에 설치하는 방법은 따로 설명드리지 않습니다.

Armbian 다운로드

Armbian은 ARM 기반의 SBC를 위한 OS입니다. 데비안 기반이며, 업데이트가 굉장히 활발합니다. 게다가 거의 모든 유명 SBC를 지원합니다.

ARM SBC용 OMV 이미지는 원래 Armbian을 기반으로 제작되어 왔었습니다. 지금은 OMV가 사전 설치된 이미지는 제공되지 않지만, Armbian을 설치한 후 OMV를 설치하시면 됩니다.

현재 모든 Odroid 제품군을 위한 Armbian OS가 준비되어 있습니다. 링크를 참고하세요.

Armbian이 없더라도, OMV 5 기준으로 Debian Buster 가 있으면 됩니다. 둘 다 없으면 설치가 어렵습니다.

암비안 다운로드 링크: www.armbian.com/download/?tx_maker=hardkernel

 

Download – Armbian

Armbian Cookies Policy Our Website uses cookies to improve your experience. Please visit our Download page for more information about cookies and how we use them. Close

www.armbian.com

사용하시는 Odroid 제품 페이지에 들어가서, Debian Buster 이미지를 받으시면 됩니다. 화면을 끝까지 내리신 후, 아래 스크린샷 화면에서 Buster minimal 또는 Buster server 를 다운받으세요.

SD카드 / eMMC 준비

파일을 다운받으면 이 이미지 파일을 SD카드나 eMMC에 구워서 사용해야 합니다.

Etcher 라는 툴을 사용하여 구울 수 있습니다.

Etcher 다운로드 링크: www.balena.io/etcher/

 

balena - The complete IoT fleet management platform

Infrastructure and tools to develop, deploy, and manage connected devices at scale. Your first ten devices are always free.

www.balena.io

설치 후 실행하여, 다운받았던 이미지 파일과 구울 SD카드를 선택해 굽습니다.

Odroid 보드 부팅 및 IP 찾기

Odroid 보드에 준비된 SD카드 (또는 eMMC) 와 이더넷 케이블을 연결한 후 전원을 연결해 부팅합니다.

Odroid는 보드 위에 빨간색과 파란색 LED가 있는데, 빨간색 LED가 켜져 있고 파란색 LED가 깜빡이면 무사히 부팅이 됐다고 보시면 됩니다.

이제 이 보드의 IP를 알아야 하는데, IP를 아는 방법은 크게 두 가지가 있습니다.

  1. 공유기 제어판에서 연결된 호스트들 확인
  2. IP 스캐너 프로그램을 통해 현재 같은 네트워크 대역의 살아있는 호스트들 확인

네트워크 구성에 익숙하신 분들은 편한 방법으로 Odroid의 IP를 찾아내시면 됩니다. 여기선 IP 스캐너 프로그램을 사용하는 방법을 설명하겠습니다.

Angry IP Scanner 라는 프로그램을 다운받아 설치합니다.

Angry IP Scanner 다운로드 링크: angryip.org/download/

 

Angry IP Scanner - Download for Windows, Mac or Linux

Download version 3.7.2 below or browse more releases or even older releases Running Make sure you have Java 8 or later installed. Newest OpenJDK (e.g. 14) is recommended for Dark Mode support. The zip file contains Mac application bundle: just save it and

angryip.org

자바 런타임 (JDK/JRE) 가 설치되어 있어야 합니다. 아래 링크에서 다운로드받아 설치하세요.
AdoptOpenJDK 다운로드 링크: https://adoptopenjdk.net/

설치 후 실행하면 아래와 같은 화면이 나타납니다.

먼저 Odroid 를 특정짓기 쉽도록 설정을 해줘야 합니다.

Angry IP Scanner는 열려있는 포트들도 검사할 수 있는데, Odroid에 OS를 설치했다면 22번 포트 (SSH)가 열려 있을 것입니다. 22번 포트를 감지할 수 있도록 설정해줍니다.

SSH를 통해 Odroid 에 접속해 시스템을 관리할 수 있습니다. OMV를 설치할 때도, SSH를 통해 접속해야만 합니다. 원격 접속으로 시스템을 관리할 수 있으므로 대부분의 SBC 전용 OS 에서는 SSH가 기본적으로 활성되어 있습니다.

Tools - Preference 메뉴로 들어가 Ports 탭으로 갑니다. 그리고 아래 스크린샷처럼 Port selection 22번을 추가합니다.

OK 버튼을 누른 후 빠져나옵니다.

기본값으로 IP Range가 잘 설정되어 있을 것입니다. 만약 아니라면, 보통 "192.168.0.1 ~ 192.168.0.255" 로 설정하시면 됩니다.

본 가이드의 경우, 현재 네트워크 환경은 192.168.11.1 ~ 192.168.11.255 입니다. 특별히 설정된 값이므로 보통 기본값으로 설정되는 192.168.0.1 대역을 사용하시면 됩니다.

Start 버튼을 누르면 몇 초 정도 지난 후 완료 창이 나타납니다.

위 스크린샷의 경우, 5개의 살아있는 호스트 (Hosts alive: 5) 를 찾았고, 4개의 지정된 포트가 열려있는 호스트 (With open ports: 4)를 찾았다고 합니다.

스크롤을 내려 22번 포트가 있는 호스트를 찾아냅니다.

제 경우 192.168.11.48 호스트가 22번 포트가 열려 있어 방금 설정된 Odroid 보드일 확률이 높습니다.

특정짓기 어려운 상황이라면, 가장 가능성이 높아 보이는 IP로 일단 가이드를 따라 진행하세요. 터미널을 통해 접속했을 때 Odroid가 맞는 지 확인 할 수 있습니다.

SSH로 Odroid 접속

IP를 찾았으니 SSH 접속 프로그램으로 Odroid에 접속해야 합니다. 진행하기에 앞서, Armbian의 기본 계정 정보는 이렇습니다.

  • ID: root
  • PW: 1234

macOS or Linux

macOS나 Linux를 사용하고 있다면 이미 설치되어 있는 Terminal 프로그램을 사용하면 됩니다.

위 계정 정보로 로그인합니다.

ssh root@192.168.11.48

Windows

만약 Windows 를 사용하고 있다면, PuTTY 라는 프로그램을 설치해 실행합니다.

PuTTY 다운로드 링크: www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Download PuTTY: latest release (0.74)

This page contains download links for the latest released version of PuTTY. Currently this is 0.74, released on 2020-06-27. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

실행하면 아래와 같은 창이 나타납니다.

Host Name (or IP address) 부분에 찾아냈던 IP 주소를 입력합니다.

Open 버튼을 누르면 PuTTY Security Alert 창이 나타나는데, Yes를 눌러 넘어가시면 됩니다.

정상적으로 연결되면 아래와 같은 로그인 화면이 나옵니다.

위의 계정 정보로 로그인을 진행합니다.

Armbian 초기 설정

접속하면 바로 새로운 root 계정에 대한 비밀번호를 설정하라고 알려줍니다. 인터넷에 연결된 서버로 사용할 것이므로 어려운 비밀번호로 설정해줍니다.

그리고 Time zone 설정, 새로운 사용자 계정 설정까지 마무리해 줍니다.

모든 작업이 완료되면 Shell이 하나 떨어집니다. 이제 OMV 5를 설치할 준비가 되었습니다.

 

 

출처 : awesometic.tistory.com/242

'오드로이드 > OMV5(펌)' 카테고리의 다른 글

OMV 5 NAS - OMV 설치  (0) 2021.03.16
Posted by 타카스 류지
|

수정시 사전 체크를 하는게 좋음

 

잘못 수정시에는 sudo 를 못사용하는 경우도 있어

 

root 계정으로 로그인후 visudo 로 수정하는게 좋음

 

일반 계정으로 사용시

sudo nano /etc/sudoers

 

 

맨 하단에 아래 내용 입력 후 저장

 

사용자계정      ALL=NOPASSWD: ALL

'리눅스' 카테고리의 다른 글

루분투 화면진입 자동 로그인 처리  (0) 2020.10.07
LUBUNTU 시작  (0) 2020.10.07
Posted by 타카스 류지
|

sudo nano /etc/lightdm/lightdm.conf

 

[Seat:*]

autologin-guest=false

autologin-user=사용자 계정명

autologin-user-timeout=0

'리눅스' 카테고리의 다른 글

루분투 사용자 sudo 암호입력 없이 사용  (0) 2020.10.07
LUBUNTU 시작  (0) 2020.10.07
Posted by 타카스 류지
|

LUBUNTU 시작

리눅스 2020. 10. 7. 09:58

lubuntu.net/downloads/

 

Get Lubuntu

Download lubuntu, a fast and lightweight Linux operating system. Lubuntu uses LXDE/LXQT and a selection of light applications. It focuses on speed and energy-efficiency. Because of this, Lubuntu ha…

lubuntu.net

 

cdimage.ubuntu.com/lubuntu/releases/

 

Index of /lubuntu/releases

 

cdimage.ubuntu.com

 

Posted by 타카스 류지
|

#도커 이미지 내려받기
https://hub.docker.com/?utm_source=docker4win_2.3.0.5&utm_medium=store&utm_campaign=referral

docker pull HUB도커명

# 도커 이미지 리스트 확인
docker images

# 컨테이너 리스트 확인
docker container ls -a


# 컨테이너 올리기(그냥 올리기)
docker run -i -t --name aaaa khipu/openjdk8-alpine /bin/bash

# 컨테이너 올리기(포트 포워딩 지정)
docker run -d -p 외부:내부 -i -t --name 사용할컨테이너명 이미지이름
docker run -d -p 80:8080 -i -t --name openJDK8 adoptopenjdk/openjdk8

# ssh 접속
docker attach 컨테이너명


# 파일복사 (PC -> 도커)
docker cp 복사할파일 컨테이너명:위치
docker cp c:\sample.war alpine:/home

# 파일복사 (도커 -> PC)
docker cp 컨테이너명:파일위치 내려받을위치
docker cp alpine:/home/sample.war c:\


# 컨테이너 중지
docker stop aaaa

# 컨테이너 삭제
docker rm aaaa

# 도커 이미지 삭제
docker rmi aaaa

# 도커 이미지 저장
docker save -o 파일명.tar adoptopenjdk/openjdk8

# 도커 이미지 로드
docker load -i c:\adoptopenjdk.tar

# 패키지 설치
apk add nano
apk add libuuid

# 도커 커밋
-a, --author="" : 생성자 정보
-m, --message="" : 이미지 메시지
-p, --pause=true/false : 이미지를 생성할 때 컨테이너를 중지(stop) 한 뒤 commit 여부
docker commit [options] [image name[:tag name]]
docker commit -a "생성자정보" -m "메세지" 컨테이너명 이미지:태그

# 도커 TAG 수정
docker tag Soure_image[:TAG] Targer_image[:TAG]

Posted by 타카스 류지
|

DB를 오라클을 사용시 DB 툴은 보통

Oracle SQL Developer 나 DBeaver 를 쓰는데

쿼리 실행 하다가 먹통 되서 강종을 할경우에

쿼리가 날라가버릴때 사용하면 좋음

 

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

SELECT
     MODULE AS PROGRAM_NM /* 실행 프로그램 */
    ,PARSING_SCHEMA_NAME AS USER_ID /* 접속 계정 */
    ,FIRST_LOAD_TIME AS LOAD_TIME /* 실행 시간 */
    ,SQL_FULLTEXT AS SQLTEXT /* 쿼리 */
FROM V$SQL 
WHERE MODULE like '%%' --'SQL Developer'
ORDER BY FIRST_LOAD_TIME DESC 

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

 

아래는 PROGRAM_NM  프로그램 실행명으로 찾을때 나온 항목들

각 프로젝트마다 사용하는 툴이 다르니 프로그램 명이나 버전등을 체크해서 

like 검색을 해주면 좋음~

 

DBeaver 6.3.0 - Main
DBeaver 6.3.0 - Metadata
DBeaver 7.1.0 - Main
DBeaver 7.1.0 - SQLEditor
DBeaver 7.1.2 - Metadata
DBeaver 7.1.2 - SQLEditor
DBeaver 7.1.3 - Main
DBeaver 7.1.3 - SQLEditor
DBeaver 7.1.3 - View sessions
QueryOne Client 2.1.8.24

SQL Developer
SQLGate 9.9.5.0

'Database > ORACLE' 카테고리의 다른 글

oracle LISTAGG 사용하기  (0) 2016.04.28
oracle 초성검색 function(mssql function 수정)  (0) 2016.04.19
세션 킬(Session Kill)  (0) 2015.02.24
패키지 생성 암호화 CRYPTO  (0) 2015.02.24
oracle 외부접속  (0) 2015.02.24
Posted by 타카스 류지
|

오드로이드-HC2(8TB)

OMV4버전 사용중

 

아래 11q.kr 에서 참조한 내용으로 간략하게 설치한 명령어 정리

 

~$ apt-get install build-essential git

~$ cd tvheadend/

~$ nano configure

 

"ffmpeg_static:yes"  -> "ffmpeg_static:no"  변경 저장

 

~$ git add .

 

~$ ./Autobuild.sh -t debian

 

의존성 에러시

~$ apt-get install debhelper pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev liburiparser-dev python python-requests cmake libpcre3-dev libdvbcsa-dev

설치

 

~$ ./Autobuild.sh -t debian

 

빌드 완료 상단 폴더에 컴파일 된 .deb 파일 생성됨

 

설치

~$ dpkg -i tvheadend_4.3-1852~gdea96e441-dirty_armhf.deb

 

시작

~$ service tvheadend start

 

http://192.168.0.100:9981

9981 포트로 접속 끝

 

------------------------       본문 내용         ----------------------------

 

tvheadend_4.3-1852~gdea96e441-dirty_armhf.deb

gt-mini-a 에서 작업 성공 파일 입니다

 

최신버전으로 빌드 컴파일 버전입니다

wget  링크주소 붙이세요
dpkg -i tvheadend_4.3-1804~gebb096804-dirty_armhf.deb 
apt install libdvbcsa1 
apt --fix-broken install 
service tvheadend restart

===================

누구나 빌드할 수 있는 TVHeadend 작업 진행

https://cafe.naver.com/mk802/31817

참조 작업 진행 합니다

기본 설치

update

aolupdate

apt install build-essential git

이제   tvheadend 사이트 접속 파일을 다운로드 합니다


TVHeadend 소스 받기

tvheadend 사이트 접속

https://github.com/tvheadend/tvheadend

에 접속 경로 복사

https://github.com/tvheadend/tvheadend.git

최종 파일은 

 apt install git

git clone https://github.com/tvheadend/tvheadend.git

 

빌드 설정

특정 빌드를 지정하고 싶으시면 웹사이트에서 커밋을 보고  지정

특정 버전 빌드시 Tags 를 기반이나 혹은 커밋 기반으로 선택

 

4.28 버전

f8caa16b829b9c5a662b3f6d56176392c4a93b07

경로 복사

파일이 받아 지면 

cd tvheadend/

경로 진입 가능

 

빌드버전  설정작업

최신버전은 

git checkout master


4.2.8버전은

f8caa16b829b9c5a662b3f6d56176392c4a93b07

경로복사

git checkout f8caa16b829b9c5a662b3f6d56176392c4a93b07


=======================

최신버전으로 빌드

git checkout master

기본 설정

TVH 에 기능을 넣고 빼는 작업

nano configure

잠자님 설정부분 비교결과 최종분 그대로 동일

 

 

 

.... 
"ffmpeg_static:no" 
...
수정

기본 옵션으로 진행

git checkout master

git add .

./Autobuild.sh -t debian

 

root@AOL-Debian:~/tvheadend# nano configure
root@AOL-Debian:~/tvheadend# ./Autobuild.sh -t debian
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
dpkg-buildpackage: info: source package tvheadend
dpkg-buildpackage: info: source version 4.3-1804~gebb096804
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Andreas Öman <andreas@tvheadend.org>
dpkg-buildpackage: info: host architecture armhf
 dpkg-source --before-build tvheadend
dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 7.0.50) pkg-config gettext libavahi-client-dev libssl-dev liburiparser-dev cmake libpcre2-dev | libpcre3-dev libdvbcsa-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
root@AOL-Debian:~/tvheadend#

 

의존성 팩키지 설치

<잠자님기준>
 debhelper (>= 7.0.50) pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev liburiparser-dev python python-requests cmake libpcre2-dev | libpcre3-dev libdvbcsa-dev
설치명령
apt install debhelper (>= 7.0.50) pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev liburiparser-dev python python-requests cmake libpcre2-dev | libpcre3-dev libdvbcsa-dev
설치명령 수정
apt install debhelper pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev liburiparser-dev python python-requests cmake libpcre2-dev libpcre3-dev libdvbcsa-dev

<저의 경우>
debhelper (>= 7.0.50) pkg-config gettext libavahi-client-dev libssl-dev liburiparser-dev cmake libpcre2-dev | libpcre3-dev libdvbcsa-dev
설치명령
apt install debhelper (>= 7.0.50) pkg-config gettext libavahi-client-dev libssl-dev liburiparser-dev cmake libpcre2-dev | libpcre3-dev libdvbcsa-dev
설치명령 수정
apt install debhelper pkg-config gettext libavahi-client-dev libssl-dev liburiparser-dev cmake libpcre2-dev libpcre3-dev libdvbcsa-dev

 

 

 

의존성 패키지 설치가 끝나게 되면 상기 명령을 재실행 하여 컴파일을 진행


apt install debhelper pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev liburiparser-dev python python-requests cmake libpcre3-dev libdvbcsa-dev

로 진행

 ./Autobuild.sh -t debian


2019년08월30일 오후 8시29분 컴파일시작 .........시간이 조금 걸리네요

gt-mini-a용 tvheaend 최종버전으로 만들어 봅니다.

20191103 17:10 ~ 컴파일시작 .......17:16

 

 

본게시물을 u5mini에서 컴파일 작업 1차 실패후
잠자님 배포 버전 ffmpeg 삭제 내용 보고 참조 "ffmpeg_static:no" 삭제
다시 하니 성공 
git checkout master 
nano configure 
.... 
"ffmpeg_static:no" 
...
수정
./Autobuild.sh -t debian
...감사 합니다 ....한수 배웠습니다.

 



 

빌드된 결과물 설치하기

cd ..

ls

...

-rw-r--r-- 1 root root 7299 Aug 30 21:32 tvheadend_4.3-1804~gebb096804-dirty_armhf.buildinfo
-rw-r--r-- 1 root root 1906 Aug 30 21:32 tvheadend_4.3-1804~gebb096804-dirty_armhf.changes
-rw-r--r-- 1 root root 9318296 Aug 30 21:32 tvheadend_4.3-1804~gebb096804-dirty_armhf.deb
-rw-r--r-- 1 root root 3966472 Aug 30 21:32 tvheadend-dbg_4.3-1804~gebb096804-dirty_armhf.deb

...

최신버전 tvheadend 빌드/컴파일한 파일 설치

dpkg -i tvheadend_4.3-1804~gebb096804-dirty_armhf.deb

 

dpkg -i tvheadend_4.3-1852~gdea96e441-dirty_armhf.deb

엔터

 

업데이트 기본으로 설치

service tvheadend start

재시작

 

http://192.168.0.7:9981

접속

버전 확인

 

2차  amlogsic gt-mini-a  tvheadend 최종버전 빌드


======

 

 

 

 

 

 

출처 : https://11q.kr/g5s/bbs/board.php?bo_table=s11&wr_id=8922#c_9443

'오드로이드' 카테고리의 다른 글

tvheadend 우분투 버전 설치  (0) 2019.03.14
Posted by 타카스 류지
|

자바에서 ltrim과 rtrim을 구현하려면

정규식을 사용하면 된다.(딱 1줄로 구현할 수 있다!)


소스는 다음과 같다.


String result = s.replaceAll("^\\s+",""); // ltrim
 예제
String result = s.replaceAll("\\s+$",""); // rtrim 예제


출처: https://nine01223.tistory.com/261 [스프링연구소(spring-lab)]

Posted by 타카스 류지
|

Web 에서 앱 설치 여부를 확인 하자

1. 내용

  • 인터벌 함수를 이용해서 hidden 을 계속 확인한다.
  • 타임아웃 함수를 이용해서 특정시간이 되면 앱이 설치 안되어있다고 판단한다.

2. 문제

  • 단순참고용 정도로 사용하면 좋을거 같습니다.
  • 많이 테스트 안해보았습니다.
  • document.webkitHidden || document.hidden 를 이용해서 설치 여부를 확인 하는 방법 입니다.
  • 크롬에서 지원하는 intent 방식을 사용하면 항상 마켓이 실행되서 체크하기 어려우니 꼭 커스텀 스킴으로 테스트 해야 합니다.

3. 코드

var appSchem = 'mayapp://launch?Data=abcdefg';


isMyApp();

location.href = appSchem;

function isMyApp() {
    function clearTimers() {
        clearInterval(heartbeat);
        clearTimeout(timer);
    }

    function intervalHeartbeat() {
        if (document.webkitHidden || document.hidden) {
            clearTimers();
            console.log('앱이 설치 되어 있습니다.');
        }
    }
    heartbeat = setInterval(intervalHeartbeat, 200);
    var deLay = 1000;
    timer = setTimeout(function() {
        console.log('앱이 없습니다.');
    }, deLay);
  }
}

 

출처 : https://pyeongho.github.io/app_check

Posted by 타카스 류지
|

1)  .Net Reflector (유료)

 

https://www.red-gate.com/products/dotnet-development/reflector/

 

 

2)  dotPeek(JetBrains)  (무료)

 

https://www.jetbrains.com/ko-kr/decompiler/download/download-thanks.html?platform=windowsWeb

 

3)  ILSpy (무료)

ILSpy_binaries_5.0.2.5153.zip
3.55MB

 

 

 

Posted by 타카스 류지
|

이 글은 Windows 10의 IIS에서 테스트 되었습니다. URL 재작성을 사용하기 위해서는 웹 플랫폼 인스톨러를 통해서 URL 재작성 기능을 설치해야 합니다.

 

웹 플랫폼 인스톨러가 설치되어 일지 않다면 "Web Platform Installer" 에서 다운로드하여 설치합니다.

 

웹 플랫폼 인스톨러에서 URL 재작성 기능을 검색하여 설치합니다.

 

 

 

IIS 관리자에서 웹사이트를 선택하고 가운데 화면에서 "URL 재작성"을 더블 클릭합니다.

 

 

 

오른쪽 화면에서 "규칙 추가..."를 클릭합니다.

 

 

 

인바운드 규칙의 "빈 규칙" 을 선택하고 "확인" 버튼을 누릅니다.(빈 규칙을 더블 클릭해도 됩니다.)

 

 

 

인바운드 규칙 편집 상단의 이름과 URL 검색에 다음과 같이 입력합니다.

 

 

 

* 이름 : Redirect to HTTPS

* URL 검색

 - 요청한 URL(R) : 패턴과 일치

 - 사용(S) : 정규식

 - 패턴(T) : (.*)

 - 대/소문자 무시(I) : 체크

 

 

조건 영역에서 "논리 그룹화(G)" "모두 일치" 를 선택하고 "추가..." 버튼을 누릅니다.

 

 

 

조건 추가 창에서 다음과 같이 입력합니다.

 

 

 

- 조건 입력(C): {HTTPS}

- 입력 문자열이 다음과 같은 경우 확인: 패턴과 일치

- 패턴(T): ^OFF$

- 대/소문자 무시 : 체크

 

 

작업 영역에서 다음과 같이 입력합니다.

 

 

 

- 작업 유형(Y): 리디렉션

- URL 리디릭션: https://{HTTP_HOST}/{R:1}

- 쿼리 문자열 추가(Q): 체크

- 리디렉션 유형: 기타 참조(303)

 

 

IIS관리자 오른쪽 화면에서 "적용"을 누르고 "규칙으로 돌아가기"를 누릅니다.

 

 

 

URL 재작성 룰이 추가된것을 확인할 수 있습니다.

 

 

 

이제 http:// 요청을 해보면 https:// 로 리다이렉트 되는 것을 확인할 수 있을 것입니다.



출처: https://offbyone.tistory.com/334 [쉬고 싶은 개발자]

Posted by 타카스 류지
|

function get_userip() { 

        $first_ip = getenv(REMOTE_ADDR);
        $second_ip = getenv(HTTP_X_FORWARDED_FOR); // 방화벽 + 사설아이피 
        $third_ip = getenv(HTTP_CLIENT_IP); // 방화벽 + 공인아이피 

        if (!$second_ip && !$third_ip) { 
                return $first_ip; 
        } else { 
                if($second_ip){ 
                        return "$first_ip/$second_ip"; 
                } else { 
                        return "$first_ip/$third_ip"; 
                
        

Posted by 타카스 류지
|

String ip = request.getHeader("X-Forwarded-For");

 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 

     ip = request.getHeader("Proxy-Client-IP"); 

 } 

 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 

     ip = request.getHeader("WL-Proxy-Client-IP"); 

 } 

 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 

     ip = request.getHeader("HTTP_CLIENT_IP"); 

 } 

 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 

     ip = request.getHeader("HTTP_X_FORWARDED_FOR"); 

 } 

 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 

     ip = request.getRemoteAddr(); 

 }

 

 

출처 : https://www.lesstif.com/pages/viewpage.action?pageId=20775886

Posted by 타카스 류지
|

APT Repositories

Official

Our official repository and packages are provided by Doozer on https://apt.tvheadend.org.

Status

(/) 03/04/2018 - OK

Please report any issues to: #5264

Build Types

Build TypeDescriptionVersionRepo Component
StableLatest release and fixesv4.2.7-*~githashstable
DevelopmentDevelopment buildsv4.3.*-*~githashunstable

(/) Stable is the recommended choice for most people.
(!) Development is for those who want to help develop and test the latest code.

But, where's release?!

We've decided not to offer "frozen" builds anymore, this is so that people get fixes much sooner. Those that are currently using release can modify their apt sources to stable, or continue as they are now, and move when they feel ready.

Supported Distros and Architectures

DistroCode-nameArchitecturesNotes
Debian Stretch 9stretchamd64, i386None
Debian Jessie 8jessieamd64, i386See footnote 11
Ubuntu Bionic 18.04bionicamd64, i386None
Ubuntu Xenial 16.04xenialamd64, i386, arm64See footnote 11 - applies to arm64 only
Ubuntu Trusty 14.04trustyamd64, i386None
Raspbian Stretch 9raspbian-stretcharmhfSee footnote 11
Raspbian Jessie 8raspbian-jessiearmhfSee footnote 11

1 Transcoding support is unavailable on these distros.

-

Usage

Here are some copy/paste examples on how to use the repo that should work for most2.

1. Install Required Packages and add the Repository PGP key

sudo apt-get -y install coreutils wget apt-transport-https lsb-release ca-certificates
sudo wget -qO- https://doozer.io/keys/tvheadend/tvheadend/pgp | sudo apt-key add -

2 We assume you have sudo installed. If not, and you're root, you can omit sudo, otherwise please ask your administrator to..

apt-get install sudo; usermod -aG sudo <your account name>

-

2. Create/Add the Sources List

Raspbian users (and anyone else who can't install/use lsb-release) please see the third footnote3.

Stable:

sudo sh -c 'echo "deb https://apt.tvheadend.org/stable $(lsb_release -sc) main" | tee -a /etc/apt/sources.list.d/tvheadend.list'

Unstable:

sudo sh -c 'echo "deb https://apt.tvheadend.org/unstable $(lsb_release -sc) main" | tee -a /etc/apt/sources.list.d/tvheadend.list'

3 Unfortunately you won't be able to use the command, at least not in the way it's shown, you need to replace " $(lsb_release -sc)" with "raspbian-stretch", "raspbian-jessie" or your distros code-name.

3001 Examples.. 

echo "deb http://apt.tvheadend.org/stable raspbian-jessie main" | sudo tee -a /etc/apt/sources.list.d/tvheadend.list
echo "deb http://apt.tvheadend.org/stable raspbian-stretch main" | sudo tee -a /etc/apt/sources.list.d/tvheadend.list

3002 Tip: If you want to use unstable, simply replace stable with unstable.

-

3. Update Sources and Install

sudo apt-get update
sudo apt-get install tvheadend

Tip: On some installs (generally fresh ones) you might be asked to enter some details. If you'd like to reconfigure these details later, you can run..

sudo dpkg-reconfigure tvheadend

and afterwards..

sudo service tvheadend restart

:)

Job done!

Help / Feedback

Please add to issue #5264 or join the IRC channel to report problems/give feedback.


Third-party

Third-party repositories are provided as-is and supported by the person who manages them, we cannot guarantee that we'll be able to help with issues relating to the use of these packages/repositories. The older official Bintray is exempt from this (Yes we know it's not technically third party ;) ).

In any case we'll try our best to help, or point you to where you can get some!

(Older) Official Bintray

This is our older official Bintray repository, packages are built using Doozer, the repository itself is provided by Bintray via https://bintray.com/tvheadend.

What Happened to the Bintray Repository?

Unfortunately due to rate-limiting we've decided to phase-out (SLOWLY) the use of Bintray. Don't worry the repository won't be disappearing4, it just won't be updated - sorry about that. :(

You can continue to use Bintray if you like, old instructions can be viewed here.

Tip: You can use both apt.tvheadend.org and bintray.com/tvheadend

4 mpmc's third-party Bintray repository will still be updated regularly, so Raspbian users don't panic - see the link above for usage. :) However, it's now recommended that you use the official repo.

-

Help

Please tell us here #5264, make sure you mention you're using Bintray. You can also join the IRC channel if you prefer.


Ubuntu PPA

Unofficial PPAs are provided by Michael Marley that provide packages for Artful, Zesty, Yakkety, Xenial and so on for the amd64, arm64, armhf, i386 and ppc64el architectures.

Status

Please see here and here for PPA status.

Usage

1. Pick a Build Type

For the stable PPA containing daily builds from the latest stable branch:

sudo apt-add-repository ppa:mamarley/tvheadend-git-stable

For the unstable PPA containing daily builds from master:

sudo apt-add-repository ppa:mamarley/tvheadend-git

2. Update Sources

sudo apt update

3. Install 

sudo apt install tvheadend

Help

If you experience issues with this PPA please contact Michael on IRC (mamarley in #hts on Freenode) or Launchpad.

'오드로이드' 카테고리의 다른 글

TVHeadend 최신버전 빌드 작업 설치[펌]  (0) 2020.04.21
Posted by 타카스 류지
|

alert(   Object.getOwnPropertyNames(오브젝트 변수)   ) ;

console.log(   Object.getOwnPropertyNames(오브젝트 변수)   ) ;

Posted by 타카스 류지
|

서비스 에서 MySQL 정지


CMD 창은 두개


1번창

C:\Program Files\MariaDB 10.2\bin\mysqld.exe --skip-grant


2번창

C:\Program Files\MariaDB 10.2\bin\mysqld.exe --skip-grant --explicit_defaults_for_timestamp


C:\Program Files\MariaDB 10.2\bin\mysql




mysql> use mysql


Database changed


mysql> update user set password=password('black') where user='root';


mysql> flush privileges;


CMD 창 두개는 종료


작업관리자에서 mysql 강제종료 후


서비스 에서 MySQL 시작


'Database > MYSQL' 카테고리의 다른 글

Mysql 초성 검색 function(mssql function수정)  (0) 2016.04.15
MYSQL 접속 프로그램  (0) 2016.02.24
MYSQL DB 덤프 방법  (0) 2010.12.07
Posted by 타카스 류지
|

눈에 밟히는 장면들.....



끝.....


손오공, 베지터, 오지터... 왜 이런것만 눈에 띄지...

Posted by 타카스 류지
|


윈도우 설치 준비


이미지는 디컴파일님의 이미지로 사용


https://decompiler.tistory.com/  윈도우 바람빼기


바람을 너무너무 빼주시는 이미지임.ㅋ


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

타무즈 M720 PRO M.2 2280 (256GB)



http://prod.danawa.com/info/?pcode=6405653&cate=11329810

구매 완료- 이쁘다


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


오늘 1월 31일 제품 도착 크~~~


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


으하 0-0새해...질렀네요~


제품 오면은 m2 ssd 로 하나 구매 해야겠네요 >.<


구매 URL : https://www.dfrobot.com/product-1727.html


금액 : $298




INTRODUCTION

The product is currently under the status of Pre-order and will be shipped around January 15th. All pre-orders will be sent along with two free gifts - Active cooling fan & 45w PD Power adapter.

Pre-order price is on Special Offer for a Limited Time. The price is summed up with the LattePanda Board Price plus shipping fee.




Alpha Edition - Generally refers to the leader in a wolf pack, α / Alpha. It will also be the leader in the LattePanda series, the most powerful in performance. Known as the leader of the Pandas, or "AlphaPanda" for short.



The Alpha Edition uses the same Intel 7th generation Core m3 processor as the latest MacBook. The Core m3 processor is the perfect choice for superior performance and low power consumption. 
We have shrunken this computing monster from a laptop to the size of a phone.


 


We are shipping Windows 10 Pro this time but we have also added Linux Compatibility, Windows and Linux dual OS support.

Because we saw the different needs of users from our 1st Gen products.










The Streaming Cable enables your Windows-enabled LattePanda device to act like a USB on a Mac or Linux system. Just plug & play into your Apple/Linux device! The PiP (Picture in Picture) form also eliminates the switching/use of dual mouse and HDMI to connect different systems for seamless interaction of two different systems. 

  

FEATURES

  • Solid Spec and Extreme Design
  • Dual OS Support – Windows / Linux Both
  • Ultimate Networking on Cloud and Things
  • Up to 42 Extendable Interfaces bring Rich Playabilities
  • Ultra-Thin Design, Minimizing Space Occupation
  • Rebuild How to Code Efficiently with Multiple OS
  • SPECIFICATION

  • CPU:Intel 7th Gen Core m3-7y30
  • Core:1.6-2.6GHz Dual-Core,Four-Thread
  • Benchmark (PassMark): Up to 3500, double computing power compared with same price range products in the market
  • Graphics:Intel HD Graphics 615, 300-900MHz
  • RAM:8G LPDDR3 1866MHz Dual-Channel
  • External Memory:
                1x M.2 M Key, PCIe 4x, Supports NVMe SSD and SATA SSD
                1x M.2 E Key, PCIe 2x,Supports USB2.0, UART, PCM
  • Connectivity:
                WIFI 802.11 AC, 2.4G & 5G
                Dual Band Bluetooth 4.2
                Gigabyte Ethernet
  • USB Ports:
                3x USB 3.0 Type A
                1x USB Type C, supports PD, DP, USB 3.0
  • Display:
                HDMI Output
                Type-C DP Support
                Extendable eDP touch displays
  • Co-processor:Arduino Leonardo
  • GPIO & Other Features:2x 50p GPIOs including I2C, I2S, USB, RS232, UART, RTC,Power Management,Extendable power button,everything you need
  • OS Support:
    Windows 10 Pro
    Linux Ubuntu
  • Dimension: 115mm * 78mm * 14 mm
  • DOCUMENTS

  • LattePanda Website
  • SHIPPING LIST

  • LattePanda Alpha 800  x1
  • Free Gift - Active cooling fan x1
  • Free Gift - 45w PD Power adapter x1

  • Posted by 타카스 류지
    |

    시트 하나당 10만라인 그리는고 저장하는데 약 10초 나옴~


    아래껀 원본....

    BigGridDemo.java


    이건 멀티 시트 추가할수 있게 카피하여 부분 수정함

    BigGridMultiDemo.java



    혹시나 해서 JAR 라이브러리 파일들이 필요할까 하여


    프로젝트로 하나 만들어 파일들 다 넣어둠 0-0


    Excel_Big.zip



    방식은 poi 는 구조만 만들고 실제 데이터는


    xml 파일로 텍스트 형식으로떨군후 합치기


    정말 빠름빠름~

    'Dev Language > JAVA' 카테고리의 다른 글

    자바에서 ltrim과 rtrim 구현하기(1줄로 간단하게)  (0) 2020.04.09
    JAVA Client IP 얻기  (0) 2019.09.17
    JAVA 바코드 생성  (0) 2018.11.16
    JAVA AES128 암호화 복호화 소스  (0) 2018.10.11
    숫자형식 포멧 방법  (0) 2017.07.13
    Posted by 타카스 류지
    |


    안녕하세요.


    일하면서 바코드 관련 개발을 하게 되어 다음에도 쓸수 있게 정리하여 올립니다.


    다만 정리는 제 기준으로 케이스별 로 만들었기 때문에


    필요하신건 파일안에 주석이 있으니 수정하여 활용하시면 될것 같습니다.



    Barbecue 오픈 API

    http://barbecue.sourceforge.net



    barbecue-1.5-beta1.zip




    1. 바코드 지원 Format


    Code128, Code128A, Code128B, Code128C, UCC128, EAN128, EAN13, Bookland, UPC-A, Standard 2 of 5, Interleave 2 of 5, PDF417, Code 39, Codabar, PostNet


    2. 바코드 저장 Format


    PNG, JPEG, GIF, SVG, and EPS




    ※  일반 적 파일로 저장


    ▶ 바코드 파일 생성 - barcode.saveBarcodeImage(텍스트, 경로);


    barcode.saveBarcodeImage("10000000", "c:/");




    ▶ 바코드 파일 생성(배경 투명 처리) - barcode.saveBarcodeImage(텍스트 , 경로, 투명 유무);


    barcode.saveBarcodeImage("20000000", "c:/", true);




    ▶ 바코드 파일 생성(확장자 지정 png, jpeg , gif) - barcode.saveBarcodeImage(텍스트, 경로, 확장자);


    barcode.saveBarcodeImage("30000000", "c:/", "png");




    ▶ 바코드 파일 생성(사이즈 변경) - barcode.saveBarcodeImage(텍스트, 경로, 바코드넓이, 바코드높이);


    barcode.saveBarcodeImage("40000000", "c:/", 1,30);






    ※ base64 이미지로 활용하여 파일로 저장하여 사용하지 않고 사로 HTML 코드로 활용



    ▶바코드 BASE64 텍스트 생성 - barcode.getBarcodeBase64(텍스트);


    barcode.getBarcodeBase64("1234567890");


     



    ▶ 바코드 BASE64 텍스트 생성(배경 투명 처리) - barcode.getBarcodeBase64(텍스트, 투명 유무);

    barcode.getBarcodeBase64("1234567890", true);

     



    ▶ 바코드 BASE64 텍스트 생성(사이즈 변경) - barcode.getBarcodeBase64(텍스트, 바코드넓이, 바코드높이);

    barcode.getBarcodeBase64("1234567890", 2, 60);




    ▶ 바코드 BASE64 텍스트 생성(배경 투명 처리, 사이즈 변경) - barcode.getBarcodeBase64(텍스트, 투명 유무, 바코드넓이, 바코드높이);

    barcode.getBarcodeBase64("1234567890", true, 3, 70);




    아래 파일은 사용할려고 예제로 따로 만들어준 파일


    이클립스에서 경로 맞춰서 지정해주시고

    ~ Main.java  파일에서 실행하시면 됩니다.


    Barcode39Image.java

    Barcode128Image.java

    BarcodeCreateMain.java





    'Dev Language > JAVA' 카테고리의 다른 글

    JAVA Client IP 얻기  (0) 2019.09.17
    자바 엑셀 내리기 BigGrid 10만 라인 약 2초  (0) 2018.11.26
    JAVA AES128 암호화 복호화 소스  (0) 2018.10.11
    숫자형식 포멧 방법  (0) 2017.07.13
    AES, SHA 암호화 1, JAVA  (0) 2017.03.30
    Posted by 타카스 류지
    |

    물건 오는데 한 2주 남짓 기다린것 같네요


    켜본 순간 중국어가 난무 -0-;;


    드라이버 백업을 하고 나서


    디컴파일러님의 윈도우10 인 win10x86superlite_home_rs5rtm_2018.9.29 빌드 를 설치하고


    피닉스 OS 설치해 듀얼 OS 를 사용하게 만들었다.


    문제는 이제 용량인데 태블릿이 32GB 까지 지원이 되서 속도 잘나오는걸로 찾아봐야겠다 ㅎ








    Posted by 타카스 류지
    |

    JAVA AES128 암호화 복호화 소스

    package test;
    
    import javax.crypto.Cipher;
    import javax.crypto.KeyGenerator;
    import javax.crypto.spec.SecretKeySpec;
    
    
    public class FirstApp {
    
     public static void main(String[] args) throws Exception {
      // TODO Auto-generated method stub
      
      FirstApp f = new FirstApp(); 
      
      System.out.println(f.encrypt("TEST08"));
      
     }
     private final String KEYNAME = "nfaator!plaeemo!";
    private final String ALGORITHM = "AES"; public static final String AES_ECB_NOPADDING = "AES/ECB/NoPadding"; public String encrypt(final String source) throws Exception { byte[] eArr = null; SecretKeySpec skeySpec = new SecretKeySpec(KEYNAME.getBytes(), ALGORITHM); Cipher cipher = Cipher.getInstance(AES_ECB_NOPADDING); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); eArr = cipher.doFinal(this.addPadding(source.getBytes())); return fromHex(eArr); } public byte[] encryptToByteArray(final String source) throws Exception { byte[] eArr = null; SecretKeySpec skeySpec = new SecretKeySpec(KEYNAME.getBytes(), ALGORITHM); Cipher cipher = Cipher.getInstance(AES_ECB_NOPADDING); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); eArr = cipher.doFinal(this.addPadding(source.getBytes())); return eArr; } public String GetEncryptString(String source) throws Exception { StringBuilder sbResult = new StringBuilder(); byte[] eArr = null; SecretKeySpec skeySpec = new SecretKeySpec(KEYNAME.getBytes(), ALGORITHM); Cipher cipher = Cipher.getInstance(AES_ECB_NOPADDING); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); eArr = cipher.doFinal(this.addPadding(source.getBytes())); for (byte b : eArr) { sbResult.append(String.format("%02x", b)); } return sbResult.toString(); } public String decrypt(final String source) throws Exception { Cipher cipher = Cipher.getInstance(AES_ECB_NOPADDING); SecretKeySpec skeySpec = new SecretKeySpec(KEYNAME.getBytes(), ALGORITHM); cipher.init(Cipher.DECRYPT_MODE, skeySpec); byte[] eArr = this.removePadding(cipher.doFinal(this.toBytes(source))); return new String(eArr); } private byte[] removePadding(final byte[] pBytes) { int pCount = pBytes.length; int index = 0; boolean loop = true; while (loop) { if (index == pCount || pBytes[index] == 0x00) { loop = false; index--; } index++; } byte[] tBytes = new byte[index]; System.arraycopy(pBytes, 0, tBytes, 0, index); return tBytes; } private byte[] toBytes(final String pSource) { StringBuffer buff = new StringBuffer(pSource); int bCount = buff.length() / 2; byte[] bArr = new byte[bCount]; for (int bIndex = 0; bIndex < bCount; bIndex++) { bArr[bIndex] = (byte) Long.parseLong(buff.substring(2 * bIndex, (2 * bIndex) + 2), 16); } return bArr; } private byte[] addPadding(final byte[] pBytes) { int pCount = pBytes.length; int tCount = pCount + (16 - (pCount % 16)); byte[] tBytes = new byte[tCount]; System.arraycopy(pBytes, 0, tBytes, 0, pCount); for (int rIndex = pCount; rIndex < tCount; rIndex++) { tBytes[rIndex] = 0x00; } return tBytes; } public String fromHex(byte[] pBytes) { int pCount = pBytes.length; StringBuffer buff = new StringBuffer(pCount * 2); for (int pIndex = 0; pIndex < pCount; pIndex++) { if (((int) pBytes[pIndex] & 0xff) < 0x10) { buff.append(0); } buff.append(Long.toString((int) pBytes[pIndex] & 0xff, 16)); } return buff.toString(); } }

    [출처] C# JAVA AES128 암호화 복호화 소스|작성자 실버캐슬

    'Dev Language > JAVA' 카테고리의 다른 글

    자바 엑셀 내리기 BigGrid 10만 라인 약 2초  (0) 2018.11.26
    JAVA 바코드 생성  (0) 2018.11.16
    숫자형식 포멧 방법  (0) 2017.07.13
    AES, SHA 암호화 1, JAVA  (0) 2017.03.30
    ResultSet을 컬렉션으로 반환  (0) 2016.06.16
    Posted by 타카스 류지
    |

    C# AES128 암호화 복호화 소스

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Security.Cryptography;
    using System.IO;
    
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                String s = "TEST08";
                String key = "nfaator!plaeemo!";
                Console.WriteLine(Encrypt(s, key));
                Console.WriteLine(Decrypt(Encrypt(s, key), key));
            }
            private static string Encrypt(string s, string key)
            {
                StringBuilder sbResult = new StringBuilder();
    
                byte[] KeyArray = UTF8Encoding.UTF8.GetBytes(key);
                byte[] EncryptArray = UTF8Encoding.UTF8.GetBytes(s);
    
                RijndaelManaged Rdel = new RijndaelManaged();
                Rdel.Mode = CipherMode.ECB;
                Rdel.Padding = PaddingMode.Zeros;
                Rdel.Key = KeyArray;
    
                ICryptoTransform CtransForm = Rdel.CreateEncryptor();
                byte[] ResultArray = CtransForm.TransformFinalBlock(EncryptArray, 0, EncryptArray.Length);
    
                foreach (byte b in ResultArray)
                {
                    sbResult.AppendFormat("{0:x2}", b);
                }
    
                return sbResult.ToString();
            }
    
            private static string Decrypt(string s, string key)
            {
                byte[] KeyArray = UTF8Encoding.UTF8.GetBytes(key);
                byte[] EncryptArray = HexToByte(s);
    
                RijndaelManaged Rdel = new RijndaelManaged();
                Rdel.Mode = CipherMode.ECB;
                Rdel.Padding = PaddingMode.Zeros;
                Rdel.Key = KeyArray;
    
                ICryptoTransform CtransForm = Rdel.CreateDecryptor();
                byte[] ResultArray = CtransForm.TransformFinalBlock(EncryptArray, 0, EncryptArray.Length);
                return UTF8Encoding.UTF8.GetString(ResultArray);
            }
    
            private static byte[] HexToByte(string msg)
            {
                msg = msg.Replace(" ", "");
                byte[] comBuffer = new byte[msg.Length / 2];
                for(int i = 0; i < msg.Length; i+=2)
                {
                    try
                    {
                        comBuffer[i / 2] = (byte)Convert.ToByte(msg.Substring(i, 2), 16);
                    }
                    catch(ArgumentOutOfRangeException ex)
                    {
                        Console.WriteLine(ex.ToString());
                    }
                }
                return comBuffer;
            }
    
        }
    
    }


    Posted by 타카스 류지
    |

    구매 :  10-6-inch-1920-1080-Cube-iwork11-Stylus-Tablet-PC-Windows10-Intel-Atom-x5-Z8300-Quad


    오래전 태블릿 PC (μPAD W8II DUO)  쓰다가 개조하다 날려먹은 적이 있었네요


    상시전원으로 개조하다가 ..납땜 실수로 흑흑 ㅜㅜ


    집에 노트북은 남아 돌고 하나 정리 후에


    저렴한 태블릿 PC 로 구매를 했네요 


    chuwi hi10 pro 모델을 눈여겨 보다가 


    적당한 가격이 안보여 iwork11 모델로 구매 했네요


    가격대비로는 잘나온것 같아요 0-0나온지는 좀 됬지만


    휴대요으로 들고 다니면서 사용하기에는 부담 없을것 같습니다.


    메모리 4기가에 저장공간 64기가 넉넉하네요 0-0


    일단 받으면 듀얼 부팅이나보니 디스크 백업부여 해야겠네요


    PHDM15 Premium w10-x32 이거로 디스크 전체 백업하고


    경험상 안드로이드는 잘 복원 되던데 윈도우가 뻥나는경우가 있어 고스트로 윈도우 파티션도 백업 해야겠네요 0-0









    Item specifics
    • Brand Name:ALLDOCUBE
    • Item Type:Tablet PC
    • Supporting Language:English,Hebrew,Greek,German,Turkish,Portuguese,Spanish,Swedish,Polish,French,Ukrainian,Chinese,Italian,Russian
    • Touch Screen Type:Capacitive Screen
    • Network Communiction:Wifi
    • Tablet Data Capacity:64GB
    • Operating System:Windows 10
    • Cell Capacity:Max 8600mAh
    • Feature:Dual Cameras,OTG
    • Extend Port:USB,HDMI,Earphone Jack,OTG,TF card
    • Processor Core:Quad Core
    • Item Condition:New
    • Panel Type:IPS
    • Display resolution:1920x1080
    • Other Model:iwork11 stylus
    • Second Webcam Pixels:5MP
    • Processor Manufacture:Intel
    • Processor Model:Atom x5-Z8300
    • Memory Capacity:4GB
    • Screen Size:10.6"
    • Camera:Second Webcam
    • Net Weight:720g
    • Package:Yes
    • Google Play:No
    • Processor Main Frequency:Quad Core
    • Feature:GPS, G Sensor, Multi Touch, HDMI
    • Network Communiction:Bluetooth, Wifi


    Posted by 타카스 류지
    |