'분류 전체보기'에 해당되는 글 1583건

  1. 2021.01.28 [AWS] RBAC for Application 을 위한 참고 문서
  2. 2021.01.27 [Gradle] Dependency Lib 이상 할 때.
  3. 2021.01.27 [Chrome] https 강제 리다이렉팅
  4. 2021.01.21 [IoT] 참고 문서 링크.
  5. 2021.01.20 [Filebeat] registry 파일 내 offset 초기화.
  6. 2020.12.11 [Elasticsearch] Discovery Mode 정리.
  7. 2020.10.22 [Python] pyenv 구성 하기 on Mac
  8. 2020.10.20 [Similarity] Universal Sentence Encoder/4 - 링크.
  9. 2020.10.13 [Spring] WebSocket 관련 링크
  10. 2020.09.23 [Elasticsearch] 멀티노드 논리적 실행.

[AWS] RBAC for Application 을 위한 참고 문서

Cloud&Container/AWS 2021. 1. 28. 11:29

https://musma.github.io/2019/11/05/about-aws-iam-policy.html
https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/ec2-iam-roles.html
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html

 

위 문서를 보고 IAM 을 이해 하고 AWS Resources 에 RBAC 적용 하는 방법에 대해서 익히면 됩니다.

 

:

[Gradle] Dependency Lib 이상 할 때.

ITWeb/개발일반 2021. 1. 27. 14:25

가끔 제 맥북만 이상 할 때가 있습니다.

그래서 간혹 dependency 오류가 발생을 하게 되면..

  1. cd ~/.gradle 에 들어가서 rm -rf * 로 받아 놓은거 삭제 합니다.
  2. 주의 해서 rm -rf * 하세요… ㅋㅋㅋ
  3. 해당 브랜치에 가서 git stash; git pull 해서 최신 코드로 유지를 시켜 주세요.
  4. gradle refresh 해주시면 됩니다.
:

[Chrome] https 강제 리다이렉팅

ITWeb/개발일반 2021. 1. 27. 12:38

http://DOMAIN:PORT 와 같이 접속 해야 할 일이 있는데 크롬에서는 강제로 https 로 redirect 시켜 버립니다.

아래 페이지에서 강제 redirect 를 해제할 도메인을 등록 하고 사용 하면 문제를 해결 할 수 있습니다.

 

chrome://net-internals/#hsts

 

왼쪽 메뉴에서 "Domain Security Policy" 를 클릭 합니다. (위 링크로 들어 가면 바로 나옵니다.)

본문 제일 아래 "Delete domain security policies" 에서 Domain 입력 후 Delete 버튼을 누르면 추가 됩니다.

 

버튼 이름이 Delete 라 이게 된게 맞아? 할 수 있는데 된게 맞습니다.

www.xxxxx.com  이면 xxxxx.com 을 입력

123.xxxxx.com 이면 123.xxxxx.com 을 입력

 

참 쉽죠.

:

[IoT] 참고 문서 링크.

ITWeb/개발일반 2021. 1. 21. 13:13

https://mosquitto.org/
https://ko.wikipedia.org/wiki/CoAP
https://ko.wikipedia.org/wiki/MQTT

 

Message Broker 로 Mosquitto 를 사용 하면 되고, 아니면 Pub/Sub 기반 통신을 지원 하는 Kafka 를 사용 해도 되고...

CoAP 은 저전력 디바이스에서 사용하기 위해서 그냥 일반 HTTP 기반으로 통신 하면 되고...

 

굳이 잘 만들어서 제공 하고 있는 엔진들 많으니까 운영할 인력이 없다면 MSP 사업자들이 제공하는 서비스를 사용해도 됩니다.

잘 사용 하면 비용 많이 안나옵니다.

:

[Filebeat] registry 파일 내 offset 초기화.

Elastic/Beats 2021. 1. 20. 15:14

filebeat 의 registry 관련 설정 정보는 아래 공식 문서를 참고하세요.

www.elastic.co/guide/en/beats/filebeat/current/configuration-general-options.html

 

문서 설명에도 있지만, 

 

- 기본 경로는 아래와 같습니다.

The default is ${path.data}/registry

 

Registry 의 구조체를 확인해 보면 아래와 같은데요.

type Registry struct {
	Path          string        `config:"path"`
	Permissions   os.FileMode   `config:"file_permissions"`
	FlushTimeout  time.Duration `config:"flush"`
	CleanInterval time.Duration `config:"cleanup_interval"`
	MigrateFile   string        `config:"migrate_file"`
}

설정에서 path 를 잡아 주지 않으면, 코드 상으로는  "filebeat.py"

default_registry_path = 'registry/filebeat'

위 경로 아래 meta.json 과 log.json 두 개의 파일이 생기고 파일들에 대한 offset 관리가 이루어 집니다.

 

Logstash input file 의 sincedb 와 같이 offset  정보를 reset 하기 위해서는 

- log.json 에서 offset 설정을 다시 해주거나

- 걍 registry 삭제 하고 재 시작 하시면 됩니다.

 

tail_files 설정도 있고 해당 log file 삭제를 하는 것도 있고, 용도와 목적에 맞게 시도해 보시면 될 것 같습니다.

 

:

[Elasticsearch] Discovery Mode 정리.

Elastic/Elasticsearch 2020. 12. 11. 11:34

참고문서)

www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-discovery.html

 

 

1. 단독 구성

discovery.type=single-node

 

2. 클러스터 구성

discovery.seed_hosts=e1,e2,e3

cluster.initial_master_nodes=e1,e2,e3

 

1번과 같이 단독 구성은 어떤 형태로든 클러스터 환경 구성이 안됩니다.

또한, 단독 구성 노드를 동일 인스턴스, 로컬 환경에서 여러 개 실행이 되지 않습니다.

 

2번과 같은 클러스터 구성에서는 최소 2대 이상의 구성이 필요 하며,

Master 노드에 대한 자격을 가지는 노드도 또한 2대 이상 필요 합니다.

 

3개 노드 구성 시)
Master 노드가 죽게 되면, Master 노드 자격 노드가 Master 로 선출 되며 서비스가 가능 합니다.

2개 노드 구성 시)
Master 노드가 죽게 되면 서비스가 불가능 합니다.

Master 노드 이외 다른 노드가 죽어도 서비스는 불가능 합니다.

 

간혹, 클러스터 구성 시 Master 노드에 대한 쿼럼 구성을 오해 하시는 경우가 있어서 작성해 보았습니다.

 

:

[Python] pyenv 구성 하기 on Mac

ITWeb/개발일반 2020. 10. 22. 11:51

기존 Mac 에 설치 되어 있던 2.7.x 를 사용하지 않으려면 User 계정의 .bash_profile 이나 .zshrc 등에 alias 설정을 통해서 3.x 만 사용 하도록 하면 됩니다.

 

$ vi .zshrc

alias python=/usr/bin/python3
alias pip=/usr/bin/pip3


python 으로 개발 시 버전별로 다르게 해야 하는 경우가 많이 발생 합니다.

예전에는 virtualenv 를 사용 했었는데 pyenv 라는 좋은 툴이 있으니 이걸 그냥 사용하는게 좋겠죠.

 

# 설치하기

$ brew install pyenv
$ brew upgrade pyenv

# bash 환경

$ vi ~/.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"


eval "$(pyenv init -)"


$ source ~/.bash_profile

# zsh 환경
$ vi .zprofile or .zshrc
PYENV_ROOT="$HOME/.pyenv"
PATH="$PYENV_ROOT/bin:${PATH}"

export PYENV_ROOT
export PATH

eval "$(pyenv init -)"

 

$ source ~/.zprofile

$ pyenv install --list
$ brew install zlib
$ pyenv install 3.8.6
$ pyenv versions

# pyenv commands
https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-commands

# 버전 변경 쉘
$ pyenv shell 3.8.6
$ python3.8.6 --version

or

$ python --version

# shell 변경
$ python --version
Python 3.8.1


$ pyenv shell 3.8.6
$ python --version
Python 3.8.6


$ pyenv shell --unset
$ python --version
Python 3.8.1

# virtualenv 설치
$ brew install pyenv-virtualenv

# bash 환경
$ vi ~/.bash_profile

eval "$(pyenv virtualenv-init -)"

 

$ source ~/.bash_profile

# zsh 환경
$ vi .zprofile or .zshrc

eval "$(pyenv virtualenv-init -)"

 

$ source ~/.zprofile

# virtualenv 생성
$ pyenv virtualenv 3.8.6 helloworld
$ pyenv activate helloworld
(helloworld) $
$ pyenv deactivate helloworld

# virtualenv 삭제
$ pyenv virtualenvs
$ pyenv uninstall helloworld

 

:

[Similarity] Universal Sentence Encoder/4 - 링크.

ITWeb/검색일반 2020. 10. 20. 17:32

https://tfhub.dev/google/universal-sentence-encoder/4

https://www.elastic.co/blog/text-similarity-search-with-vectors-in-elasticsearch

 

Elasticsearch 내 dense_vector type 을 이용한 Similarity 검색을 하기 위해 필요한 거라 링크 걸어 둡니다.

:

[Spring] WebSocket 관련 링크

ITWeb/개발일반 2020. 10. 13. 12:08
https://spring.io/guides/gs/messaging-stomp-websocket/

https://stomp.github.io/stomp-specification-1.2.html

https://github.com/sockjs/sockjs-client

WebSocket 관련 개발 참고 문서 입니다.

:

[Elasticsearch] 멀티노드 논리적 실행.

Elastic/Elasticsearch 2020. 9. 23. 16:53

elasticsearch-version.tar.gz 을 받아서 압축 해제 한 후에 단일 인스턴스에서 여러개의 노드를 실행 시켜 클러스터 구성을 하기 위한 방법 입니다.

 

Case 1)

$ ES_PATH_CONF=config bin/elasticsearch -Epath.data=data1 -Epath.logs=logs1 -d -p 1.pid

$ ES_PATH_CONF=config bin/elasticsearch -Epath.data=data2 -Epath.logs=logs2 -d -p 2.pid

$ ES_PATH_CONF=config bin/elasticsearch -Epath.data=data3 -Epath.logs=logs3 -d -p 3.pid

 

Case 2)

$ ES_PATH_CONF=config1 bin/elasticsearch -Epath.data=data1 -Epath.logs=logs1 -d -p 1.pid

$ ES_PATH_CONF=config2 bin/elasticsearch -Epath.data=data2 -Epath.logs=logs2 -d -p 2.pid

$ ES_PATH_CONF=config3 bin/elasticsearch -Epath.data=data3 -Epath.logs=logs3 -d -p 3.pid

 

별다른건 하나도 없으며, 활용하는 방법에 대한 차이 정도로 보면 될 것 같습니다.

: