posted by 귀염둥이채원 2019. 4. 29. 15:52

이클립스에서 ObjectAid라는 플러그인을 설치하면 UML 다이어그램을 자동으로 생성해준다.

ObjectAid: http://www.objectaid.com/download


ObjectAid UML Explorer는 Eclipse IDE를 위한 민첩하고 가벼운 코드 시각화 도구이다.

UML 표기법을 사용하여 텍스트 편집기만큼 정확하고 최신인 기존 Java 코드의 그래픽 표현을 보여주며 사용하기가 매우 쉽다.


설치 및 사용법은 아래 블로그를 참고해주세요.

https://niceman.tistory.com/134

https://all-record.tistory.com/128

'Tool > Eclipse' 카테고리의 다른 글

이클립스에서 자바 디버깅 방법  (0) 2019.03.01
이클립스 관련 정보 모음  (0) 2019.03.01
posted by 귀염둥이채원 2019. 3. 18. 15:10

ansible에서는 split()을 사용하여 문자열을 분할이 가능하다.

split()은 jinja2 필터가 아니고, python 함수입니다.


# example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- hosts: all
  vars:
    test: "This single line should be split based on white space"
  tasks:
  - debug:
      msg: "{{ test.split() }}"
 
output
------
ok: [localhost] => {
    "msg": [
        "This"
        "single"
        "line"
        "should"
        "be"
        "split"
        "based"
        "on"
        "white"
        "space"
    ]
}
cs


# jinja2 filter

http://jinja.pocoo.org/docs/2.10/templates/#filters


# ansible filter

https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#playbooks-filters


# 참고 사이트

http://www.mydailytutorials.com/how-to-split-strings-and-join-them-in-a%E2%80%8Bnsibl%E2%80%8Be/

'Tool > ansible' 카테고리의 다른 글

ansible role template 생성하기  (0) 2019.02.01
ansible handler란?  (0) 2019.02.01
serial keyword를 이용한 rolling update  (0) 2019.01.29
ansible-vault를 이용한 암호화  (0) 2019.01.29
ansible source build  (0) 2019.01.29
posted by 귀염둥이채원 2019. 3. 11. 11:33

# 디렉토리 삭제

$ git rm -r --cached {directory name}

* git rm --> 원격 저장소와 로컬 저장소에 있는 파일을 삭제한다.

* git rm --cached --> 원격 저장소에 있는 파일을 삭제한다. 로컬 저장소에 있는 파일은 삭제하지 않는다.


# git commit

$ git commit -m "remove {directory name} directory"


# git push

$ git push origin master

'Tool > git' 카테고리의 다른 글

Git commit --amend로 마지막 커밋 수정하기  (0) 2019.02.08
git submodule이란?  (0) 2019.02.08
git commit --amend 오류  (0) 2019.01.24
posted by 귀염둥이채원 2019. 3. 1. 18:16

이클립스에서 자바 디버깅하는 방법입니다.


1. 브레이크 포인트 설정

   -> 디버깅 라인 더블 클릭 (Ctrl + Shift + B)


2. 디버깅 시작

   -> 벌레 아이콘 클릭 (F11)


3. 디버깅 진행

* Step Into (F5): 한 스텝씩 진행 (다음 라인이 함수 안이면 함수 안으로 들어감)

* Step Over (F6):  함수 호출을 지나치고 현재 위치에서 한 스텝 진행

* Step Return (F7): 현재 함수 스텝 끝까지로 바로 가서 리턴한 후 함수 호출부로 되돌아감

* Resume (F8) 쓰레드 재진행. 다음 브레이크포인트까지 실행




4. 브레이크 포인트 해제

   -> 디버깅 라인 더블 클릭 (Ctrl + Shift + B)


5. 디버깅 종료

   -> Ctrl + F2


# 유투브 영상 참고

https://www.youtube.com/watch?v=6ONHEclZDYc

https://www.youtube.com/watch?v=MrUcB9i0N6o


# 참고사이트

https://codedragon.tistory.com/6137

https://myeonguni.tistory.com/1015

https://dev-jsh.tistory.com/6

'Tool > Eclipse' 카테고리의 다른 글

UML: ObjectAid 플러그인  (0) 2019.04.29
이클립스 관련 정보 모음  (0) 2019.03.01
posted by 귀염둥이채원 2019. 3. 1. 18:11

# 생활코딩: 이클립스의 기능과 예제의 사용방법

https://www.youtube.com/watch?v=yUru5Mk5mcI



# 이클립스 Console창 표시하기

이클립스를 설치해서 처음 시작하면 콘솔창이 나타나 있지 않는 경우가 있다. 

이클립스에서 콘솔창이 보이도록 설정하자


1) Window -> Show View -> Console 클릭

2) Window -> Perspective -> Reset Perspective 클릭


# 이클립스 디버깅 방법

https://palyoung.tistory.com/46

'Tool > Eclipse' 카테고리의 다른 글

UML: ObjectAid 플러그인  (0) 2019.04.29
이클립스에서 자바 디버깅 방법  (0) 2019.03.01
posted by 귀염둥이채원 2019. 2. 8. 18:19

마지막 커밋을 수정하는 것이 가장 자주 발생한다.

* 커밋 메시지를 수정하는 경우

* 파일 목록을 수정하는 경우


$ git commit --amend


이 명령은 자동으로 텍스트 편집기를 실행시켜서 마지막 커밋 메시지를 열어준다. 

여기에 메시지를 수정하고 편집기를 닫으면 편집기는 수정한 메시지로 마지막 커밋을 수정한다.


커밋하고 나서 새로 만들었거나 다시 수정한 파일을 마지막 커밋에 포함할 수 있다. 

기본적으로 방법은 같다. 

파일을 수정하고 git add 명령으로 Staging Area에 넣거나 git rm 명령으로 파일 삭제한다.

그리고 git commit --amend 명령으로 커밋하면 된다. 


이 명령어는 기존의 커밋을 수정하는 것이 아니고 새로운 커밋을 만들어냅니다.

만약 이미 해당 커밋이 push가 되어 있는 상황이라면 다른 사람들의 히스토리를 꼬이게 만들 수 있으므로 되도록 지양해야 합니다.

'Tool > git' 카테고리의 다른 글

파일 및 디렉토리 삭제: git rm --cached  (0) 2019.03.11
git submodule이란?  (0) 2019.02.08
git commit --amend 오류  (0) 2019.01.24
posted by 귀염둥이채원 2019. 2. 8. 17:26

프로젝트를 수행하다 보면 다른 프로젝트를 사용해야 하는 경우가 종종 있다.

보통 사용할 프로젝트들은 독립적으로 개발된 라이브러리들이다.


Git의 서브모듈은 이런 문제를 다루는 도구다. 

Git 저장소 안에 다른 Git 저장소를 디렉토리로 분리해 넣는 것이 서브모듈이다.

다른 독립된 Git 저장소를 Clone 해서 내 Git 저장소 안에 포함할 수 있으며 각 저장소의 커밋은 독립적으로 관리한다.


# submodule 추가하기

$ git submodule add https://github.com/chaconinc/DbConnector

Cloning into 'DbConnector'...

remote: Counting objects: 11, done.

remote: Compressing objects: 100% (10/10), done.

remote: Total 11 (delta 0), reused 11 (delta 0)

Unpacking objects: 100% (11/11), done.

Checking connectivity... done.


# submodule을 포함한 프로젝트 Clone

$ git clone --recurse-submodules https://github.com/chaconinc/MainProject

Cloning into 'MainProject'...

remote: Counting objects: 14, done.

remote: Compressing objects: 100% (13/13), done.

remote: Total 14 (delta 1), reused 13 (delta 0)

Unpacking objects: 100% (14/14), done.

Checking connectivity... done.

Submodule 'DbConnector' (https://github.com/chaconinc/DbConnector) registered for path 'DbConnector'

Cloning into 'DbConnector'...

remote: Counting objects: 11, done.

remote: Compressing objects: 100% (10/10), done.

remote: Total 11 (delta 0), reused 11 (delta 0)

Unpacking objects: 100% (11/11), done.

Checking connectivity... done.

Submodule path 'DbConnector': checked out 'c3f01dc8862123d317dd46284b05b6892c7b29bc'


# submodule 삭제하기

우선 서브디렉토리를 그냥 지우고 바로 서브모듈을 추가한다면 오류가 나타난다.

$ rm -Rf CryptoLibrary/

$ git submodule add https://github.com/chaconinc/CryptoLibrary

'CryptoLibrary' already exists in the index

위와 같은 오류를 해결하려면 우선 CryptoLibrary 디렉토리를 관리대상에서 삭제하고 나서 서브모듈을 추가한다.


$ git rm -r CryptoLibrary

$ git submodule add https://github.com/chaconinc/CryptoLibrary

Cloning into 'CryptoLibrary'...

remote: Counting objects: 11, done.

remote: Compressing objects: 100% (10/10), done.

remote: Total 11 (delta 0), reused 11 (delta 0)

Unpacking objects: 100% (11/11), done.

Checking connectivity... done.


# 참고 사이트

https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EC%84%9C%EB%B8%8C%EB%AA%A8%EB%93%88

https://blog.powerumc.kr/449

https://confluence.curvc.com/pages/viewpage.action?pageId=35586154

https://ohgyun.com/711

http://blog.naver.com/PostView.nhn?blogId=tommybee&logNo=220840604103&parentCategoryNo=&categoryNo=90&viewDate=&isShowPopularPosts=true&from=search


'Tool > git' 카테고리의 다른 글

파일 및 디렉토리 삭제: git rm --cached  (0) 2019.03.11
Git commit --amend로 마지막 커밋 수정하기  (0) 2019.02.08
git commit --amend 오류  (0) 2019.01.24
posted by 귀염둥이채원 2019. 2. 1. 15:54

ansible role은 ansible task의 공유와 재사용을 가능하게 해준다.

작업 수행에 필요한 모든 지원 가능한 파일, 변수, 템플릿, 핸들러가 Playbook 작업이 포함됩니다.

role은 재사용 및 공유 할 수있는 완전한 자동화 단위입니다.


role은 워크플로우를 자동화하는데 필요한 모든 파일, 변수, 핸들러, Jinja 템플릿 및 작업을 포함하는 디렉토리 구조입니다.

README.md

defaults/

    main.yml

files/

handlers/

    main.yml

meta/

    main.yml

tasks/

    main.yml

templates/

tests/

    inventory

    test.yml

vars/

    main.yml 



ansible-galaxy 명령어를 이용해서 test-role-1이라는 role template을 생성하는 방법입니다.

[ansible@1ff25a8ed818 test_role]$ ansible-galaxy init test-role-1

- test-role-1 was created successfully

[ansible@1ff25a8ed818 test_role]$ tree

.

└── test-role-1

    ├── defaults

    │   └── main.yml

    ├── files

    ├── handlers

    │   └── main.yml

    ├── meta

    │   └── main.yml

    ├── README.md

    ├── tasks

    │   └── main.yml

    ├── templates

    ├── tests

    │   ├── inventory

    │   └── test.yml

    └── vars

        └── main.yml 


아래 명령으로 ansible-playbook 테스트가 가능하다.

[ansible@1ff25a8ed818 test_role]$ ansible-playbook -i test-role-1/tests/inventory test-role-1/tests/test.yml


# 참고 사이트

https://galaxy.ansible.com/docs/finding/content_types.html#ansible-roles

https://galaxy.ansible.com/docs/contributing/creating_role.html

https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html?highlight=roles&extIdCarryOver=true&sc_cid=701f2000001OH7YAAW

'Tool > ansible' 카테고리의 다른 글

ansible에서 문자열 split 방법  (0) 2019.03.18
ansible handler란?  (0) 2019.02.01
serial keyword를 이용한 rolling update  (0) 2019.01.29
ansible-vault를 이용한 암호화  (0) 2019.01.29
ansible source build  (0) 2019.01.29
posted by 귀염둥이채원 2019. 2. 1. 15:53

# Handlers: Running Operations On Change

- task의 맨 뒤에 notify action 설정(handler의 이름으로 호출)

- 여러 번 조건을 만족해도 단 한번만 실행됨

- handler는 특별한 task의 list이며 이름으로 참조됨

- 대개 service restart 등에 쓰임


handler는 변경이 있을 때 작업을 수행하는 것이다.

'notify' action은 play의 각 task들이 끝날때 시작된다.

여러 작업으로 알림을 받더라도 한번만 트리거된다.


예를 들어, apche의 여러 설정 파일들이 변경된 경우 apache를 재시작해야합니다.

apache는 불필요한 재시작을 피해기 위한 한번만 재시작합니다.


다음은 /etc/foo.conf 파일이 변경된 경우,

memchched, apache를 재기동하는 예제입니다.

- name: template configuration file

  template:

    src: template.j2

    dest: /etc/foo.conf

  notify:

     - restart memcached

     - restart apache 



notify task 섹션에 나열된 항목을 핸들러라고합니다.

# example handlers section 

handlers:

    - name: restart memcached

      service:

        name: memcached

        state: restarted

    - name: restart apache

      service:

        name: apache

        state: restarted 


# 참고 사이트

https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html

https://moonstrike.github.io/ansible/2016/09/22/Ansible-Playbooks.html

'Tool > ansible' 카테고리의 다른 글

ansible에서 문자열 split 방법  (0) 2019.03.18
ansible role template 생성하기  (0) 2019.02.01
serial keyword를 이용한 rolling update  (0) 2019.01.29
ansible-vault를 이용한 암호화  (0) 2019.01.29
ansible source build  (0) 2019.01.29
posted by 귀염둥이채원 2019. 1. 31. 17:17


vim에서 여러행에 탭을 추가 및 제거가 필요한 경우가 있다.


# 여러 행에 탭 추가하기

- [N] >>

- v로 블럭을 잡고 '>'


# 여러 행에 탭 제거하기

- [N] <<

- v로 블럭을 잡고 '<'


# 참고

[N]: 현재 행 이하로 적용할 행의 범위를 숫자로 설정

>>: 행의 앞에 탭을 추가

<<: 행의 앞에 탭을 제거


# 탭사이즈 조정

- 기본 탭사이즈는 8칸이다

- 탭 사이즈 관련된 vim 변수는 ts, tw, sts가 존재함


- ts(tap stop) : 문서에 있는 '\t'문자를 몇 칸으로 보여줄지 결정하는 변수

- sw(shift width) : >> 또는 << 키로 탭 사이즈를 조절할때나 인덴트에서 자동 줄맞추기를 할때 사용되는 화면 표시 크기

- sts(soft tab stop) : Tap 키를 눌렀을 때 표시되는 간격을 지정해 주는 변수


# 명령라인 모드에서 탭사이즈 조정

:set ts=8

:set sw=4

:set sts=4


# 자동 들여쓰기

: 라인을 바꿀 때, 커서의 시작 위치를 설정 할 수 있다.


○ cindent

: C, C++, JAVA 스타일의 자동 들여쓰기 활성화. 

  블럭의 처음 시작 및 라인을 바꿀 때 자동 들여쓰기를 해준다.


○ smartindent

: cindent 와 비슷 하지만 #if, #ifdef, #define 등과 #으로 시작하는 전처리기 명령어에 대해서는 자동 들여쓰기를 무시하고

  다음 라인의 첫번째 열로 이동한다.


# VI 설정 파일에 적용

vim 에디터 실행시마다 적용되게 하려면 ~/.vimrc 파일에 적용

set ts=8

set sw=4

set sts=4

set smartindent

set cindent


# 참고 사이트

https://mintnlatte.tistory.com/189?category=431795

'Tool > vim' 카테고리의 다른 글

vi, vim에서 붙여넣기 할때 indent 깨지는 현상 해결  (0) 2019.01.29
vi, vim ^M 제거하는 방법  (0) 2019.01.29