728x90
반응형

Controller -> JSP 데이터 전달

 

1. Model 클래스 활용

 

In Controller

 

public String function(Model model){

             model.addAttribute("test", "myTest");

             return "view"

}

 

In JSP

 

<body>

     test : ${test}       <!-- "test : myTest" -->

</body>

 

2. ModelAndView 클래스 활용

 

In Controller

 

public ModelAndView function(){

             ModelAndView mv = new ModelAndView();

             mv.addObject("test", "myTest");

             mv.setViewName("view");

 

             return mv

}

 

In JSP

 

<body>

     test : ${test}       <!-- "test : myTest" -->

</body>

728x90
반응형

'Java' 카테고리의 다른 글

[Spring Boot] Eclipse 내 Lombok 설치  (0) 2019.07.05
[Spring Boot] 개발 환경 세팅  (2) 2019.07.05
[Spring] JUnit 적용하기  (0) 2018.10.23
[spring] Spring Security 커스터마이징  (0) 2018.10.18
[Spring] Spring Security 적용  (0) 2018.10.17
728x90
반응형

Failure to transfer commons-cli:commons-cli:pom:1.0 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact commons-cli:commons-cli:pom:1.0 from/to central (http://repo.maven.apache.org/maven2): Failed to create a selector. to http://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.pom

 

1. .m2/repository 폴더를 삭제 후 ( default User/.m2 )

2. STS 프로젝트 우클릭 > Maven > Update Project... > Force update of Snapshots/Releases 

 

728x90
반응형
728x90
반응형

작성일시 : 2019.06.23

 

이클립스 실행이 안되는 상황 발생

 

 

런처가 없다하여 해당 경로 확인

 

 

Plugin 내 jar 파일들이 전부 KMFJTXCUM 파일로 되어있는 것을 확인

KMFJTXCUM은 랜섬웨어 확장자 중 하나

 

 

사진 내 readme 파일

 

 

왜 특정 드라이브만 암호화 된건지 의문

다행히 개발용으로 사용하는 드라이브라 개발환경만 다시 세팅했고, 폴더공유 방화벽 설정과 net share해서 나오는 공유 삭제 조치

 

 

---

 

사진 내 내용 원문

 

 ALL YOUR DOCUMENTS PHOTOS DATABASES AND OTHER IMPORTANT FILES HAVE BEEN ENCRYPTED!
 ====================================================================================================
 Your files are NOT damaged! Your files are modified only. This modification is reversible.

 The only 1 way to decrypt your files is to receive the private key and decryption program.

 Any attempts to restore your files with the third party software will be fatal for your files!
 ====================================================================================================
 To receive the private key and decryption program follow the instructions below:

 1. Download "Tor Browser" from https://www.torproject.org/ and install it.

 2. In the "Tor Browser" open your personal page here:


 http://7478a440f6f0c6a0kmfjtxcum.tmw2mb37epapjbfm.onion/kmfjtxcum


 Note! This page is available via "Tor Browser" only.
 ====================================================================================================
 Also you can use temporary addresses on your personal page without using "Tor Browser":


 http://7478a440f6f0c6a0kmfjtxcum.refits.top/kmfjtxcum

 http://7478a440f6f0c6a0kmfjtxcum.howthat.top/kmfjtxcum

 http://7478a440f6f0c6a0kmfjtxcum.sendown.icu/kmfjtxcum

 http://7478a440f6f0c6a0kmfjtxcum.astopic.icu/kmfjtxcum


 Note! These are temporary addresses! They will be available for a limited amount of time!

728x90
반응형

'일기' 카테고리의 다른 글

sqld 후기  (0) 2021.01.01
1901 리눅스 마스터 1급 후기  (4) 2019.06.08
728x90
반응형

리눅스를 자주 만지는 환경이라 공부 겸사겸사 자격증이라도 하나 따자 생각하여 관련 자격증 검색

 

LPIC 등 국제자격증이 더 인정받으나 유효기간이 존재했고 무엇보다 비싸다..

 

무난만만한 리눅스 마스터 1급을 따기로 결정

 

2급은 도저히 알량한 자존심이 허락하지 않았다

 

 

1802 필기

 

접수비 : 40,000 원

 

필기 시험 접수 후 이왕 하는거 제대로 해보자는 생각으로 책 구입

 

당시 H사에서 근무 중이었고 업무가 힘들다는 등 이런저런 핑계로 시험 한달 전까지 진도를 절반도 안나감

 

취소할까 하다가 무작정 기출문제 풀기 시작

 

3년치를(15, 16, 17 + 1801) 풀기로 생각하고, 그 중 1501을 처음으로 풀었는데 57점( 합격컷트 60점)

 

엥? 할만한데? 싶어 기출만 풀기로 결심. 1501 기출 점수 미달 이후로 나머지 시험 60 ~ 70점 사이로 합격컷

 

처음 푸는 문제가 합격컷이 간당간당하니 오답까지하면 붙긴하겠다 싶었음 

 

심도있는 공부는 천천히하자 하고 내내 기출만 돌림. 일단 돈 아까우니까 붙여만두자..고 생각

 

70 초반으로 무난히 합격 

 

 

1802 실기

 

접수비 : 60,000 원

 

모든 자격증의 실기는 딱히 공부법이 없다고 생각하고 기출부터 시작

 

마찬가지로 3년치 풀어봤는데 문제가 죄다 거기서 거기였고 똑같은 문제가 주기적으로 반복

 

뭐 없네 하고 기출만 적당히 품

 

그러나 시험 결과는 40점대, 변명이겠지만 너무 괴랄하게 나왔다 생각

 

이전 기출에서 아파치 관련 문제는 내내 서비스 포트 옵션 키워드 및 값은? Listen 80 이 정도 물어보다가

 

듣도보도 못한 htpasswd 명령어가 답으로 나온거 보고 분노

 

관둘까 하다가 그래도 필기 붙여놓은게 아까워서 1901 기약

 

 

1901 실기

 

시험장소 : 성동글로벌경영고등학교

시험일정 : 2019.05.11

시험환경 : Fedora 13

 

접수비 : 60,000 원

 

1802만 괴랄했는지 아니면 점점 난이도를 올리려한건지 확신이 없어서 열심히 하고자 했으나

 

이거 자격증 하나를 위해 모든 영역을 건드리고 싶진 않았음

 

5년치 (14~) 기출 싹 풀고 문제 내 관련 옵션에 해당하는 man page까지 싹 읽음

 

리마 실기 기출 해설한 블로그가 몇개 있는데 거기서 해설 한줄한줄 다 읽음

 

이전에 출제되었던 문제는 최대한 빠르게 문제만 보고 풀어 시간을 많이 확보하고 신유형에 집중하기로 생각

 

시험 당일, 이전보다도 많이 긴장함. 돈 생각에 합격이 간절해짐

 

이전 유형과 비슷했던 문제는 문제만보고 슥슥 풀고 나중에 확인 차 man 페이지를 확인

 

신유형중 단순 명령어 문제는 compgen -c 이나 Tab을 활용하면 쉘 상에서 칠 수 있는 명령어를 확인할 수 있는데

 

이를 활용하여 문제에서 요구하는 내용에 최대한 그럴듯한 명령어를 찾아 찾은 명령어의 man 페이지를 읽으며

 

해당 명령어가 문제에서 요구하는 작업을 실제로 수행하는지를 확인

 

모르는 옵션 설정 문제는 설정 파일 내 그럴듯한 옵션을 먼저 찾고 주석 및 옵션 키워드를 좀 더 자세히 읽으며 답 도출

 

1901도 이전시험에 비해 많이 괴랄했고 66점으로 겨우 합격

 

생각보다 낮은 점수에 조금 실망했으나 그래도 합격했으니 됐다며 스스로를 위로

 

 

 

괴랄했다는 말은 문제의 재활용성이 낮았다는 얘기

 

신유형이 점점 늘어나 기출'만' 으로 합격하기는 힘들것 같고

 

man 활용력과 명령어 및 옵션 키워드를 유추하는 센스가 필요하다 생각

 

문제의 재활용성이 낮아져서 이전에 비해 체감 난이도가 상승한거지 여전히 자격증 자체의 난이도는 높은편은 아님

 

728x90
반응형

'일기' 카테고리의 다른 글

sqld 후기  (0) 2021.01.01
랜섬웨어  (0) 2019.06.23
728x90
반응형

한글 인코딩

 

한글 인코딩이란?

 한글을 기계가 이해할 수 있는 형태로 변환하는 것

 

종류

 

1. 조합형

  자음, 모음 등을 하나의 문자로 인식하여 초성, 중성, 종성에 코드를 부여한 후 조합하는 방법

  한글의 창제 원리를 잘 반영하나, 타 문자 체계와 호환이 안되는 등의 이유로 사용 X

  ex) (ㅈ+ㅗ) + (ㅎ+ㅏ+ㅂ) + (ㅎ+ㅕ+ㅇ) - 8개의 문자

  

 

2. 완성형

  각 글자를 독립된 문자로 인식하여 각 글자에 코드를 부여하는 방법

  ex) ‘’ + ‘’ + ‘’ - 3개의 문자

 

  2.1 완성형 인코딩 종류

    EUC-KR(Extend unix code)

    - 1 Byte 단위의 문자(한글, 한자의 경우 2 Byte) 인코딩으로 한글, 한자, 영문 표현 가능

 

    UTF-8(Unicode Transformation Format)

    - 유니코드를 위한 1~4 Byte 문자 인코딩, 전 세계 문자 표현 가능

 

----

 

유니코드 : 세계 문자 인코딩을 위한 기준 및 협약 ( 알파벳, 한글을 포함한 모든 언어 + 기타)

아스키코드 : 문자 인코딩을 위한 기준 ( 알파벳 + 아라비아 숫자 + 기타 )

 

728x90
반응형

'이론 정리' 카테고리의 다른 글

Blocking/Non-blocking, Sync와 Async: 개념과 예시  (0) 2023.08.17
[OOP] 객체지향 프로그래밍  (0) 2021.02.27
가상화 ( IO )  (0) 2018.02.11
가상화 ( 서버 )  (0) 2018.02.11
TCP/IP  (0) 2018.02.10
728x90
반응형

[ELK] Kibana

작성일자 : 2019년 01월 29일




1. Kibana란?


Kibana는 Elasticsearch와 함께 작동하도록 설계된 오픈 소스 분석 및 시각화 플랫폼입니다. Kibana를 사용하여 Elasticsearch 색인에 저장된 데이터를 검색하고보고 상호 작용할 수 있습니다. 고급 데이터 분석을 쉽게 수행하고 다양한 차트, 테이블 및 맵에서 데이터를 시각화 할 수 있습니다.




2. 설치 및 실행


환경 : Windows 7, Elasticsearch 6.5.4, Kibana 6.5.4, JDK 1.8


설치파일 다운로드

https://www.elastic.co/kr/downloads/kibana




압축 해제로 설치 후 디렉터리 구조




설치 완료 후 %KIBANA_HOME%/bin/kibana.bat을 실행하여 kibana 실행

- Elasticsearch가 실행 중 이여야 합니다.



Status changed from yellow to green - Ready 문구가 보이면 성공 !!



※ 환경설정


%KIBANA_HOME%/config/kibana.yml을 통해 환경설정이 가능합니다.

아래는 기본 환경설정파일의 일부이며 Default 설정이 주석으로 적혀 있습니다.  


# Kibana is served by a back end server. This setting specifies the port to use.

..


#server.port: 5601

#server.host: "localhost"

#elasticsearch.url: "http://localhost:9200" 


...





3. 기본 사용법


3.1 Main

브라우저로 localhost:5601(default) 접근 시 메인화면 




현재 Elasticsearch에 저장된 데이터가 없기 때문에 kibana에서 제공하는 sample data를 추가하여 사용합니다.




적당한 데이터를 선택



Sampel을 추가하면 Elasticsearch에 해당 데이터셋이 저장되고 저장한 데이터를 kibana를 통해 시각화할 수 있습니다.

아래와 같이 추가된 Sample data를 확인할 수 있습니다.



- kibana


메인 > Management >Kibana > Index Patterns




kibana_sample_data_logs의 pattern 확인 !!



- Elasticsearch


elasticsearch index 확인 명령어(curl 사용)

curl -XGET 'localhost:9200/_cat/indices?v&pretty' 



kibana_sample_data_logs의 index 확인 !!



3.2 Discover 


데이터 셋을 raw한 json 형태로 확인할 수 있습니다.



3.3 Visualize


데이터 셋을 시각화 자료 추가 및 기존 시각화 자료 확인이 가능합니다.



기존의 시각화 자료




3.4 Dashboard


Visualize한 데이터를 토대로 자유롭게 커스터마이징 할 수있는 Dashboard입니다. Dashboard는 각각의 Panel로 이루어져 있습니다.





4. Reference


위 데이터 셋 및 시각화 자료는 Kibana에서 제공하는 Sample입니다. 

직접 자신의 데이터셋을 시각화 하고싶다면 아래 kibana user guide를 참고하시기 바랍니다.


Elastic kibana user guide : https://www.elastic.co/guide/en/kibana/6.5/index.html


728x90
반응형

'도구, 툴' 카테고리의 다른 글

GIT example  (0) 2020.05.01
[Spring boot] Logback 설정  (0) 2019.07.14
[ELK] Logstash  (0) 2019.01.28
[ELK] Elasticsearch  (0) 2019.01.24
[ELK] ELK 개요  (0) 2019.01.23
728x90
반응형

[ELK] Logstash

작성일자 : 2019년 01월 28일




1. Logstash란?


Logstash는 실시간 파이프라인 기능을 가진 오픈소스 데이터 수집 엔진입니다. Logstash는 서로 다른 소스의 데이터를 탄력적으로 통합하고 사용자가 선택한 목적지로 데이터를 정규화할 수 있습니다. 다양한 고급 다운스트림 분석 및 시각화 활용 사례를 위해 모든 데이터를 정리하고 대중화합니다.


logstash는 아래와 같은 아키텍처를 가지고 있습니다.



Input을 받아 커스텀 가능한 Filters로 가공하여 Output으로 내보내는 역할을 수행합니다.  Logstash는 Elasticsearch와 연동하여 많이 사용되며 이 경우 Logstash의 Output이 Elasticsearch의 Input이 되어 동작합니다.



Filters


필터는 아래와 같은 config 형식을 사용하여 커스텀이 가능합니다. 


input {

...

}


filter {

...

}


output {

...

}




2. 설치 및 실행


환경 : Windows 7, logstash 6.5.4, JDK 1.8


https://www.elastic.co/kr/downloads/logstash



ZIP 파일 다운로드 후 압축 해제로 간단하게 설치되며, 아래와 같은 디렉터리 구조 확인 가능



압축 해제한 폴더의 bin 아래의 logstash 실행파일을 CLI로 config 설정과 함께 실행


실행 명령어

$LOGSTASH_HOME ./bin/logstash.bat -e "input { stdin { } } output { stdout { } }"  


-e 옵션을 통해 config 설정을 명령어 라인으로 직접 입력할 수 있습니다.



Successfully started 문구가 보이면 실행 성공!




3. 기본 동작


Input Text(stdin) 입력 > Filter > Output Text(stdout)



현재 Filter를 따로 두지 않아 input이 자체 폼으로 변형 후 그대로 output으로 출력되는 모습을 확인할 수 있습니다.



  • config 파일 생성하기


-e 옵션을 통해 위와 같이 커맨드로 config 설정을 할 수 있지만, 매번 사용하기에는 번거로우니 config파일을 만들어서 적용시킬 수 있습니다.

-f 옵션을 통해 미리 만들어 놓은 config 파일을 사용할 수 있습니다.


logstash.conf Example

input{

 stdin{ }

}

filter{


}

output{

 stdout{ }

}


실행 명령어

$LOGSTASH_HOME ./bin/logstash.bat -f %CONFIG_HOME%/%CONFIG_FILE%





4. Logstash - Elasticsearch 연동


환경 : Windows 7, JDK 1.8, logstash 6.5.4, Elasticsearch 6.5.4

시나리오 : 동일 서버(localhost)에 있는 logstash와 Elasticsearch를 연동하여 logstash에 넣은 input을 가공하여 Elasticsearch에 저장 


4.1 Logstash config 설정


input {

  stdin {

  }

}

filter {

}

output {

  elasticsearch {

    hosts => ["localhost:9200"]

    index => "database"

    document_type => "table"

    document_id => "row"

  }

  stdout {

  }


- input text(stdin)을 입력 받아 필터링 없이 Elasticsearch에 저장 후 Output(stdout)을 출력

- 단순 Test를 위해 document_id를 고정

- Elasticsearch Default Port : 9200


4.2 확인


  • Logstash


"connectinTest" 직접 입력  >  Elasticsearch에 저장(로그 X)  >  stdout에 저장 내용 출력



message => connectingTest 확인 성공!!



  • Elasticsearch


Logstash에서 text 입력 후 conf 파일에 설정한 내용을 토대로 조회



message : connectingTest 확인 성공!!




5. Reference


본 과정은 필터가 없는 Input > Output의 시나리오로 진행 하였습니다.

보다 자세한 filter 사용법은 아래 User Guide를 참고하시기 바랍니다.


Logstash User Guide : https://www.elastic.co/guide/en/logstash/6.5/index.html

728x90
반응형

'도구, 툴' 카테고리의 다른 글

[Spring boot] Logback 설정  (0) 2019.07.14
[ELK] Kibana  (1) 2019.01.29
[ELK] Elasticsearch  (0) 2019.01.24
[ELK] ELK 개요  (0) 2019.01.23
R 설치  (0) 2019.01.07
728x90
반응형

[ELK] Elasticsearch


작성일자 : 2019년 01월 28일


1. Elasticsearch란?


Elasticsearch는 Elastic에서 제공하는 확장성이 뛰어난 오픈 소스 텍스트 검색 및 분석 엔진입니다. 대량의 데이터를 신속하고 거의 실시간으로 저장, 검색 및 분석 할 수 있습니다. 일반적으로 복잡한 검색 기능과 요구 사항이 있는 응용 프로그램을 구동하는 기본 엔진 / 기술로 사용됩니다.



2. 기본 개념


DB와 컨셉은 유사하고 DB와 비교하여 이해하면 이해하기 용이하다.


ElasticSearch 

DB 

Index

Database 

Type 

Table 

Document 

Row 

Field 

Column 

Mapping 

Schema 


다만 저장 방식은 DB와 차이를 보인다.

RDB의 경우 document=Item로 저장되어, 특정 Item을 검색하기 위해서는 모든 document를 조회하며 조건에 맞는 Item을 검색하는 반면,

Elasticsearch의 경우 Item=document의 방식으로 저장되어, 특정 Item을 가지는 document가 이미 저장 되어있어 검색시 매우 빠른 속도를 가진다. 

 

또한 Elasticsearch는 REST API를 기본으로 동작한다.



3. 설치 및 실행


환경 : Windows 7, Elasticsearch 6.5.4, JDK 1.8


3.1 설치파일 다운로드 


https://www.elastic.co/downloads/elasticsearch




3.2 알집 해제




3.3 elasticsearch.bat 실행




started 문구가 보이면 실행 성공!


3.4 확인


브라우저 접속 후 localhost:9200 접근 ( Elasticsearch Default port : 9200 )


4. 기본 동작


curl을 사용하여 CRUD 기본동작을 검증 ( Window에선 curl 사용을 위해선 추가 설치가 필요하며 본 과정에서는 Git Bash를 활용 )


  • Create (==Insert)


-XPOST localhost:9200/index/type/document -d "{"Item":"test"}" -H 'Content-Type: application/json'

( == INSERT INTO type (Item) VALUES ("test"); ) 

 


id가 "document"인 document에 { Item=test } JSON 형태의 값을 삽입 


  • Read (==Select)

-XGET localhost:9200/index/type/document

( == SELECT * FROM type WHERE id = "document"; ) 



id가 "document"인 document를 검색 -> Item=test 데이터 조회 성공


  • Update

-XPUT localhost:9200/index/type/document -d "{"Item":"ModTest"}" -H 'Content-Type: application/json'

( == UPDATE type set Item="ModTest" WHERE id = "document"; )



id가 "document"인 document의 Item의 값을 "ModTest"로 수정



  • Read (==Select)

-XGET localhost:9200/index/type/document

( == SELECT * FROM type WHERE id = "document"; ) 



id가 "document"인 document를 검색 -> Item=ModTest 수정된 데이터 조회 성공


  • Delete

-XDELETE localhost:9200/index/type/document

( == DELETE from type WHERE id="document"; ) 



id가 "document"인 document를 삭제 


  • Read (==Select)

-XGET localhost:9200/index/type/document

( == SELECT * FROM type WHERE id = "document"; ) 



id가 "document"인 document를 검색 -> 삭제 된 데이터의 조회 실패 ( 삭제 성공 )

728x90
반응형

'도구, 툴' 카테고리의 다른 글

[ELK] Kibana  (1) 2019.01.29
[ELK] Logstash  (0) 2019.01.28
[ELK] ELK 개요  (0) 2019.01.23
R 설치  (0) 2019.01.07
SVN 권한 설정  (1) 2018.02.10
728x90
반응형

[ELK] ELK 개요

작성일자 : 2019년 01월 30일



1. ELK란? 

ELK( ELK Stack )는 Elastic사 에서 제공하는 Elasticsearch, Logstash, Kibana의 세 가지 오픈 소스 프로젝트의 약자입니다. 

각 제품이 연동되어 데이터 수집 및 분석 툴로서 동작합니다. Elastic이라는 기업명에 걸맞게 높은 확장성과 뛰어난 이식성을 가지고 있어 다른 여러가지 툴과도 연동이 가능합니다.





Elasticsearch는 검색 및 분석 엔진입니다. RDB와 비슷하나 검색 및 분석 성능은 훨씬 뛰어납니다.




Logstash는 여러 소스의 데이터를 동시에 가져 와서 변환 한 다음 Elasticsearch와 같은 stash로 보내는 서버 측 데이터 처리 파이프 라인입니다. 




Kibana를 사용하면 Elasticsearch에서 차트와 그래프로 데이터를 시각화 할 수 있습니다.




+ Beats란?

단일 목적의 데이터 수집기 플랫폼인 Beats는 수백 수천 개의 장비와 시스템으로부터 Logstash나 Elasticsearch에 데이터를 전송합니다.



2. Architecture

1. 1개 이상의 Client( 수집할 Data 발생 서버 )에서 beats가 특정 트리거에 의해 logstash로 Data를 전송합니다. (각 Client마다 Beats 존재)

2. logstash로 전달 된 Data를 커스터마이징이 가능한 필터를 통해 가공하여 Elasticsearch로 전달 합니다.

3, Elasticsearch로 전달 받은 데이터를 서버(Elasticsearch)에 저장합니다.

4. kibana에서 연동되있는 Elasticsearch에 저장된 데이터 셋을 토대로 시각화를 제공 합니다.




3. Reference

주로 많이 함께 사용하는 제품들을 묶어 ELK( ELK Stack)이라 부르고 있으나, 앞서 말했듯이 각 제품은 확장성이 뛰어나기 때문에 모든 제품을 같이 사용할 필요는 없습니다. 적용할 상황에 따라 다른 제품으로 대체할 수도 있고 특정 제품은 제외시킬 수도 있습니다. 


Elastic ELK : https://www.elastic.co/kr/elk-stack

728x90
반응형

'도구, 툴' 카테고리의 다른 글

[ELK] Logstash  (0) 2019.01.28
[ELK] Elasticsearch  (0) 2019.01.24
R 설치  (0) 2019.01.07
SVN 권한 설정  (1) 2018.02.10
Eclipse/SVN 연동  (0) 2018.02.10
728x90
반응형

R 설치


작성일자 : 2019년 01월 07일

환경 : Win7, R 3.5.2


1. R이란?


R 프로그래밍 언어(줄여서 R)는 통계 계산[2]과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경 - 위키백과



2. R 설치


2.1 http://healthstat.snu.ac.kr/CRAN/ 접속

2.2 Download R for Windows > base > Download R 3.5.2 for Windows 순서로 설치파일 다운로드 후 설치



3. Hello World


R x64 3.5.2 실행


728x90
반응형

'도구, 툴' 카테고리의 다른 글

[ELK] Elasticsearch  (0) 2019.01.24
[ELK] ELK 개요  (0) 2019.01.23
SVN 권한 설정  (1) 2018.02.10
Eclipse/SVN 연동  (0) 2018.02.10
[Linux, Tomcat7] WAS 개념, 설치  (0) 2018.02.09

+ Recent posts