1. 증상

 - java에서 HTTPS로 Remote Site에 연결할 경우 아래와 같은 Exception이 발생한다.

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


2. 원인

 - $JAVA_HOME/jre/lib/security 폴더(인증기관 인증서 목록(keystore)) 내에 접속하고자 하는 IP or HOST의 SSL 서버에서 유효한 인증서가 존재하지 않을 경우 발생함.


3. 해결

 - 아래 소스를 복사해서 넣는다.



 - 또는 아래 링크를 통해 소스를 받는다.

git clone https://gist.github.com/64ca41fe18ae1ed85659c49adb866d3f.git

 

 - InstallCert.java를 컴파일 한다.

cd  ./InstallCert

javac InstallCert.java 

 

 - InstallCert.class를 실행한다.

java -cp ./ InstallCert  IP or HOST(ex. google.com)


 - 아래 메시지가 나오면 1을 눌러 저장한다.

Enter certificate to add to trusted keystore or 'q' to quit: [1]


 -아래 메시지와 같이 나오면 저장된거다.

Added certificate to keystore 'jssecacerts' using alias 'IP or HOST(ex. google.com)'


 - 해당 파일을 아래 경로로 복사해 넣는다.

$JAVA_HOME/jre/lib/security


4. TIP

 - $JAVA_HOME/jre/lib/security 하위로 복사하지 않고 소스에서 바로 임포트 시킬수도있다.

System.setProperty("javax.net.ssl.trustStore", "인증서 경로");


'프로그래밍 > JAVA' 카테고리의 다른 글

Java에서 Tuple 사용하기.  (0) 2018.04.11
try-catch-resources  (0) 2018.04.11
public static void main(String[] args){}  (0) 2018.04.03
javax.net.ssl.SSLHandshakeException에 대한 해결방법  (0) 2017.02.14
websocket 사용 간단 채팅  (0) 2016.08.23
URL Image DownLoad  (0) 2016.08.14

1. Github Page 란? 

 - HTML, Css, Javascript 등으로 이루어진 Static 호스팅 서비스

 - <username>.github.io로 URL 접속 가능

 - custom domain 사용 할 수 있음.

 - git만 사용할 줄 안다면, 편리하게 사용 가능.


2. Github Page 만들기

 - Github에 <username>.github.io Repository를 만들고 해당 Repository에 index.html을 만들면 끝!

 1) Github에 가입을 한다.

 2) <username>.github.io Repository를 만든다.

 


 3) <username>.github.io Repository에 index.html을 추가해 놓는다.

 4) http://<username>.github.io/ URL을 입력하여, 접속한다.


3. Domain 설정 하기

 - DNS에서 test.xxxx.xx를 CNAME 설정에 <username>.github.io 를 추가한다.

 - test.xxxx.xx을 호출한다. 잘된다. 끝!

'프로그래밍 > 개인프로젝트' 카테고리의 다른 글

[AppStore Viewer] 1. 세팅하기.  (0) 2018.04.17
[Github] Github 페이지 활용하기.  (0) 2017.02.06
텔레그램 봇 활용하기 -1  (0) 2016.08.23

1. Redmine 이란?

 - 오픈소스

 - 웹기반 프로젝트 및 버그 트레킹 기능을 제공하는 도구

 - 일정관리 및 형상관리 기능도 제공

 - 기능이 많아서 좋다.



2. 설치하기

 - 작업폴더 이동

cd /usr/local


 1) 관련 프로그램 설치

sudo yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel readline-devel ImageMagick-devel subversion git


 2) 루비 설치

  (1) 다운로드

wget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz


  (2) 빌드

tar -xzf ./ruby-2.3.0.tar.gz

rm -rf ./ruby-2.3.0.tar.gz

cd ./ruby-2.3.0/

./configure --disable-install-doc

make

sudo make install

make clean


  (3) 확인

ruby -v

ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]


 3) bundler 설치

sudo /usr/local/bin/gem install bundler --no-rdoc --no-ri


 4) Redmine 3.1.6 설치

  (1) 다운로드 및 설치

wget http://www.redmine.org/releases/redmine-3.1.6.tar.gz

tar -xzf ./redmine-3.1.6.tar.gz


  (2) 설정 변경하기

cd /usr/local/redmine/config

cp database.yml.example database.yml

vi database.yml


production:

adapter: mysql

database: redmine

host: localhost

username: redmine

password: redmine

encoding: utf8


 5) Gem Package 설치

bundle install --without development test


 6) database init

  - 테이블 생성 및 초기 데이터 입력

cd /usr/local/redmine

rake generate_secret_token

RAILS_ENV=production rake db:migrate

RAILS_ENV=production rake redmine:load_default_data

#한국어 ko 입력


 7) email 세팅

cp ./configuration.yml.example ./configuration.yml


production:

email_delivery:

delivery_method: :smtp

smtp_settings:

address: “test”

port: 25

domain: ’example.com’


 8) 구동

bundle exec rails server webrick -e production -d -b 0.0.0.0


3. 확인

 - http;//localhost:3000 접속

'OpenSource > Others' 카테고리의 다른 글

[Atom] 사용해보기. part. 1 : 설치(win, mac)  (0) 2018.04.10
[Readmine] 1. 설치하기(linux)  (0) 2017.01.26
[Ghost] 1. Ghost Blog 소개 및 설치  (0) 2016.08.06


* 시작전 필요사항

 - Elastic Stack에 대한 사전 지식

 - ElasticSearch가 설치되어 있어야함. ( https://www.google.co.kr/search?q=elasticsearch+install )

 - Logstash가 설치되어 있어야함. (https://www.google.co.kr/search?q=logstash+install)

 - Kibana가 설치되어 있어야함.(https://www.google.co.kr/search?q=kibana+install)


 - 해당 자료는 6.2.4 Set로 수정되었습니다.


1. 구성

  - ELB 로그를 S3에 저장한다.

  - Logstash로 간단하게 가지고와서, ElasticSearch에 넣는다.

  - Kibana로 간단하게 본다.


2. AWS Elb Log `ON`

 - AWS Console에서 쉽게 켤 수 있다.

 - https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/classic/access-log-collection.html

- 위에 S3 Location에 원하는 버킷 정보를 넣으면 된다.



3. Logstash Config 파일

 - config 파일



 - 실행 명령어

{LOGSTASH_PAHT}/logstash -f ''elb-access-logstash-conf.conf


4. ElasticSearch Index 확인하기

 - Rest API로 확인

curl -X GET 'http://localhost:9200/_cat/indices?v='


 - logstash-{날짜} 형태로 추가되어 있는지를 확인함.


5. Kibana 꾸미기

 1) Index Pattern 생성

  - Management에서 생성하면됨.

  - logstash-* 형태로 생성될 index들의 맵핑을 만들어 주면된다.


 2) Visualize 설정

  - 원하는 차트를 고르면된다.


  - Vertical Bar 로 표현할 예정



3) 차트 보기

 - 아래와 같이 설정하면 기본적인 차트를 볼 수 있음.

 - 필요한 형태로 변경하여 보면 됨.


6. 추가

 1) logstash로 생성한 모든 index 삭제

curl -X DELETE http://localhost:9200/logstash-%2A


 2) GeoIP

  - logstash Config 파일을 보면 Geoip 기능을 추가해놓음.

  - Map 으로 그려보면 재미남.


 3) 차트 꾸밀때 일정 설정...

  - 초기에 특정일자의 데이터만 수집해서 보는데, 데이터가 안나와서 삽질을 했다.

  - 시간을 최근 5분꺼만으로 세팅해놔서였다... 삽질하지말자!!



* 참고페이지

 - https://logz.io/blog/aws-elb-log-analysis/

 - https://medium.com/sharmin-anee/aws-elb-logs-from-s3-on-elk-stack-c463e2e2ec0

1. 기능

 - HTML에서 특정 시간 카운트 다운

 - HTML에 카운트 되는 시간 출력


2. Code

 1) HTML Source

 <div id="timerTxt"></div> <!-- 타이머를 노출할 Div -->


 2) Javascript Source

var timerId;

var timerSec = 3;


window.onload= function() {

timerId = setInterval('timer()', 1000);

}


function timer() {

var min = Math.floor(timerSec / 60)

var sec = timerSec % 60;

var msg = (min < 10 ? "0"+ min : min) + ":" + (sec < 10 ? "0"+ sec : sec);

timerSec--;

if (timerSec < 0) { /* time End*/

msg += "<br>Timer End!"

clearInterval(timerId);

}

document.getElementById("timerTxt").innerHTML = msg;

}


 3) Full Source

<!DOCTYPE html>

<html lang="ko">

<head>

<meta charset="UTF-8">

<title>타이머 샘플 소스</title>

</head>

<body>

<div id="timerTxt"></div>


<script type="text/javascript">

var timerId;

var timerSec = 3;

window.onload= function() {

timerId = setInterval('timer()', 1000);

}

function timer() {

var min = Math.floor(timerSec / 60)

var sec = timerSec % 60;

var msg = (min < 10 ? "0"+ min : min) + ":" + (sec < 10 ? "0"+ sec : sec);

timerSec--;

if (timerSec < 0) { /* time End*/

msg += "<br>Timer End!"

clearInterval(timerId);

}

document.getElementById("timerTxt").innerHTML = msg;

}

</script>

</body>

</html>


0:0:0:0:0:0:0:1은 IPv6로 IPv4의 경우 127.0.0.1(localhost)


윈도우 7 이상에서는 IPv6가 디폴트(was 세팅변경 필요)


RUN -> RUN Configurations -> VM Arguments -> -Djava.net.preferIPv4Stack=true 



0. ImageMagicK란?

이미지를 손 쉽게 자르고 붙이고 할 수 있게 도와주는 오픈소스.


1. Install 전 확인

sudo rpm -qa | grep ImageMagick

sudo yum list installed ImageMagick


2. Install 

sudo yum list ImageMagick


3. 설치확인

convert | head -2



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

Centos User Add(+Aws EC2)  (0) 2017.04.03
Maven 내부 Repo 만들기(Nexus install)  (0) 2017.02.17
ImageMagicK 설치  (0) 2016.12.20
Jdk 8 Install on AWS EC2  (0) 2016.11.17
[Pyton3] python 3.5.2 Install  (0) 2016.09.09
호스트 네임 변경하기  (0) 2016.08.23

1. 1차 베타 테스터 추가 모집에 신청하여 사용해봄.


2. 크로미움 기반이라 설정할 수 있는 내용들이 비슷해 보임.


3. 스페이스 기능은 자료 검색하고 할 때 편할거 같음.



4. 나중에 테마로 이것저것 나올 느낌. 



5. 확장앱

기존 크롬 확장앱을 그대로 사용 가능할지도 모르겠다. 그렇게 된다면 굉장히 좋을텐데....



6. 기타 기능






- 크롬을 자주 쓰는 난.... 네이버 브라우저 웨일로 넘어갈만한 큰 매력이 없다. 넘어가서 좋을 이유도 없을 것 같고... 부디 웹 개발을 주로하는 내게... 큰 시련을 주는 이상한 짓은 안해놨기를 바란다. (요건 나중에 테스트 해보고 리뷰 또 올릴게요)



'개인 > Review' 카테고리의 다른 글

chromecast  (0) 2018.07.17
네이버 웨일 리뷰  (0) 2016.12.09
앱코 k935p 무접점 키보드  (0) 2016.10.20

Exec Maven Plugin을 사용하여 java project 실행하기.


1. pom.xml 


<build>

<plugins>

<plugin>

<groupId>org.codehaus.mojo</groupId>

<artifactId>exec-maven-plugin</artifactId>

<version>1.5.0</version>

<executions>

<execution>

<goals>

<goal>java</goal>

</goals>

</execution>

</executions>

<configuration>

<mainClass>kr.geun.runTest.App</mainClass>

<arguments>

<argument>arg1</argument>

<argument>arg2</argument>

</arguments>

</configuration>

</plugin>

</plugins>

</build>



2. Main Class

package kr.geun.runTest;


/**

 * Maven Exec Project Main Class

 * 

 * @author geunspage

 *

 */

public class App {

public static void main(String[] args) {

for (String arg : args) {

System.out.println(arg + "\\n");

}


System.out.println("Maven Exec Project Run!!!!");

}

}



3. RUN


 1) Argument 없이 실행


 - 명령어

mvn exec:java


 - pom.xml 내 arguments 가 출력된다.


 - 결과


2) arguments 옵션 주기


 - 명령어

mvn exec:java  -Dexec.args="zzzz tawetawetawet"


 - 결과



참고페이지

http://www.mojohaus.org/exec-maven-plugin/usage.html

'프로그래밍 > Maven' 카테고리의 다른 글

Maven Test Skip 하는 법  (0) 2018.04.17
[Maven] Plugin 개발하기.  (0) 2018.04.09
Maven Central에 Library Upload하기!!  (0) 2017.02.21
[MAVEN] Exec Maven Plugin 사용하기  (0) 2016.12.01

1. Mysql에서 제공하는 암호화 함수

 

암호화

복호화 

비고 

 단방향

MD5

 -

 MD5, password은 같은 방법 입니다.

PASSWORD, OLD_PASSWORD

SHA1, SHA

 쌍방향

AES_ENCRYPT

AES_DECRYPT

 

DES_ENCRYPT

DES_DECRYPT

 

(이외에서 제공되는 암호화 함수가 있습니다.


2. 사용 예제

 1) 단방향

  (1) MD5

SELECT MD5('컬럼' or '문자열')


  (2) PASSWORD

SELECT PASSWORD('컬럼' or '문자열')


  (3) SHA1

SELECT SHA1('컬럼' or '문자열')


 2) 쌍방향

  (1) AES 암호화

SELECT HEX(AES_ENCRYPT('컬럼' or '문자열', '암호화키'))


  (2) AES 복호화

SELECT AES_DECRYPT(UNHEX('컬럼' or '문자열'), '암호화키')



'DataBase > Mysql & MariaDB' 카테고리의 다른 글

원격접속하기.  (0) 2018.08.24
현재 접속 계정 보기.  (0) 2018.08.23
[Mysql] Create Table like  (0) 2018.04.13
[Mysql] 기억하면 좋은 쿼리 모음  (0) 2018.04.03
[Mysql] 데이터의 암호화, 복호화  (0) 2016.11.17
[Mysql]ERROR 1045 (28000)  (0) 2016.08.23

+ Recent posts