Junit5의 @DisplayName 으로 표시한 이름이 Intellij 실행 탭에 표시되지 않는 문제 수정

|

백기선님의 인프런 강의를 듣는 도중..
각각의 테스트에 이름을 표기하기 위해 @DisplayName을 사용하는 부분이 있었는데 적용이 되지 않고 이전처럼 메소드명이 테스트 이름 그대로 나옴을 확인하여 찾아보았다.

현상

  • @DisplayName 을 지정한 테스트 실행

해결

아래 방법 적용 후 정상적으로 실행탭에 @DisplayName으로 지정한 이름이 정상 표기됨을 확인하였다.

1. Build, Execution, Deployment -> Build Tools -> Gradle로 이동한 다음 Run tests using 을 Gradle -> Intellij IDE 로 수정

2. 수정 후 테스트를 재 실행.

출처 :

  • https://medium.com/@sorravitbunjongpean/fix-junit5-display-name-did-not-show-in-run-tab-intellij-a00c94f39679

IntelliJ IDEA 에서 빌드시 Command line is too long. Shorten command line for .. 에러 발생 문제 해결

|

현상 : 인텔리제이 빌드 시 Command line is too long. Shorten command line for .. 메세지 뜨고 난 후 빌드 진행되지 않음.

Error 메세지:

Error running 'All in project-name': Command line is too long. Shorten command line for All in project-name or also for JUnit default configuration.

해결 방법

 - 프로젝트 루트 경로에서 .idea/workspace.xml에서 파일을 열어
 <component name = "PropertiesComponent"> 섹션 안에  <property name="dynamic.classpath" value="true" /> 태그 추가.
  • 아래와 같은 모양이면 된다.
<component name="PropertiesComponent">
    <property name="dynamic.classpath" value="true" /> <!-- 추가 한 태그 -->
    <property name="WebServerToolWindowFactoryState" value="false" />
    <property name="aspect.path.notification.shown" value="true" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$/pom.xml" />
    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
</component>

출처 :

  • https://devis.cool/quick-fix/quickfix-intellij-idea-command-line-is-too-long-shorten-command-line-for/

macOS 에서 aws cli 실행 시 ImportError: cannot import name ‘ssl’ from ‘urllib3.util.ssl_’ 발생 문제 해결.

|

현상

  • mac os awscli 실행을 위해 스크립트를 실행 하였는데 아래 에러가 발생하였다.
adminui-iMac:.aws jmlim$ aws
Traceback (most recent call last):
  File "/Users/jmlim/Library/Python/3.7/bin/aws", line 19, in <module>
    import awscli.clidriver
  File "/Users/jmlim/Library/Python/3.7/lib/python/site-packages/awscli/clidriver.py", line 17, in <module>
    import botocore.session
  File "/Users/jmlim/Library/Python/3.7/lib/python/site-packages/botocore/session.py", line 30, in <module>
    import botocore.credentials
  File "/Users/jmlim/Library/Python/3.7/lib/python/site-packages/botocore/credentials.py", line 42, in <module>
    from botocore.utils import InstanceMetadataFetcher, parse_key_val_file
  File "/Users/jmlim/Library/Python/3.7/lib/python/site-packages/botocore/utils.py", line 31, in <module>
    import botocore.httpsession
  File "/Users/jmlim/Library/Python/3.7/lib/python/site-packages/botocore/httpsession.py", line 7, in <module>
    from urllib3.util.ssl_ import (
ImportError: cannot import name 'ssl' from 'urllib3.util.ssl_' (/Users/jmlim/Library/Python/3.7/lib/python/site-packages/urllib3/util/ssl_.py)

urllib3.util.ssl_ 에러 이름을 호출할 수 없다는데..뭐지?

아래 참조 링크를 건 블로그 확인 결과 pip 이 고장 났기 때문이라고 한다.
기존 파이선 버전을 업그레이드 후에 pip를 최신버전으로 적용하면 된다고 하여 그대로 진행하였다.
실제 아래 명령어를 실행하여 업그레이드 및 설치 결과 이후 위 에러는 발생하지 않았다.

파이선 업그레이드

$ brew install python3

pip 설치

  • 내 경우엔 pip 명령어 실행 시 실행명령어를 찾지 못했었다.
sudo easy_install pip

aws 명령어 실행 결과 정상작동 확인.

adminui-iMac:.aws jmlim$ aws
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
aws: error: the following arguments are required: command
adminui-iMac:.aws jmlim$

참고:

  • https://www.nickkou.me/2019/12/importerror-cannot-import-name-ssl-from-urllib3-util-ssl_/
  • https://howchoo.com/g/mze4ntbknjk/install-pip-python

git stash 사용하기. (Intellj 포함)

|

git stash 란?

아직 마무리하지 않은 작업을 잠시 저장할 수 있도록 하는 명령어이다.

  • 이를 통해 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내와 마무리할 수 있다.

SYNOPSIS

git stash list [<options>]
git stash show [<options>] [<stash>]
git stash drop [-q|--quiet] [<stash>]
git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
git stash branch <branchname> [<stash>]
git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
	     [-u|--include-untracked] [-a|--all] [-m|--message <message>]
	     [--] [<pathspec>…​]]
git stash clear
git stash create [<message>]
git stash store [-m|--message <message>] [-q|--quiet] <commit>

git stash 기본적인 사용법 (명령어)

  • git stash
    • 현재 작업을 stash 영역에 저장해두고 branch를 head로 리셋(git reset –hard)
    • 기본 명칭 WIP 로 저장됨
  • git stash -u
    • 새롭게 추가한 파일도 함께 stash 영역에 저장
  • git stash save 작업명
    • git stash 로 저장할 때 명칭을 주어 저장함
  • git stash list
    • stash들 보기.
    • 명시적으로 삭제하지 않으면 남아 있음
  • git stash apply
    • 가장 최근에 저장한 stash를 복원.
  • git stash apply stash@{숫자}
    • stash@{숫자} 의 임시 저장이 복원된다.
      • git stash list 명령어를 실행하면 리스트 앞에 stash@{0} 이렇게 개별적인 id 값이 있는데 이를 적용한다.
  • git stash drop
    • 가장 최근에 저장한 stash 삭제.
  • git stash drop stash@{숫자}
    • stash@{숫자} 리스트가 삭제된다.
  • git stash clear
    • stash 기록이 모두 제거된다.
  • git stash pop
    • stash를 복원하고 바로 제거 된다.
  • git stash branch
    • stash 할 당시의 커밋을 checkout 한 후 새로운 브랜치를 만들고 여기에 적용 후 stash를 제거한다.

인텔리제이에서 stash 기능 사용

stash 생성

1. 프로젝트 오른쪽 클릭 후 git -> Repository -> Stash Changes

또는 Find Action (shift 2번 클릭 후 상단바 선택) 후 Stash Changes 입력

2. 작업명 작성 후 Create Stash 클릭

stash 가져오기

1. 프로젝트 오른쪽 클릭 후 git -> Repository -> UnStash Changes

또는 Find Action (shift 2번 클릭 후 상단바 선택) 후 Unstash Changes 입력

2. 목록에서 가져올 stash 선택 후 Apply Stash 클

참고자료

  • https://gmlwjd9405.github.io/2018/05/18/git-stash.html
  • https://suwoni-codelab.com/git/2018/04/06/Git-stash/

Ansible(앤서블) 설치 및 서버 연결하기. (by Mac)

|

1. Ansible pip3 로 설치

pip3 를 통해 설치하였다.

adminui-iMac: jmlim$ pip3 install ansible

2. Ansible 설정하기.

  • /etc/ansible 폴더 추가 후 hosts 파일 생성
adminui-iMac: jmlim$ cd /etc
adminui-iMac:etc jmlim$ mkdir ansible
adminui-iMac:etc jmlim$ cd ansible
adminui-iMac:ansible jmlim$ cd ansible
adminui-iMac:ansible jmlim$ sudo vim hosts
.....
  • /etc/ansible/hosts 파일 수정
[jmlim]
10.30.175.66

3. 접속 테스트

  • Mac 에서 ansible 설치 및 /etc/ansible/hosts 에 타겟 서버 아이피까지 등록 후 ping 을 시도 하였는데 아래와 같이 에러가 발생하였다.
adminui-iMac:ansible jmlim$ ansible all -m ping -k
SSH password:
192.168.0.12 | FAILED! => {
    "msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"
}

위와 같이 IP는 설정해 주었지만 상대방 서버에서는 지금 ansible이 설치되어 있는 서버에서 접속한다고 그냥 받아주지 않는다고 한다. 지금 서버에서 해당 서버에 연결할 수 있도록 하기 위해 ansible 서버에 sshpass 설치가 필요하다.

다음과 같이 설치가능하다.

4. sshpass 설치

4.1 CentOS, Fedora 같은 Redhat 계열

yum install -y sshpass

4.2 Ubuntu와 같은 debian 계열

apt-get install -y sshpass

4.3 맥에서는 다음과 같이 설치

  • homebrew로 설치가능한데, 디폴트 저장소에는 존재하지 않아 다음의 명령으로 설치한다.
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
... 설치설치...

5. 재시도 결과 성공.

adminui-iMac:ansible jmlim$ ansible all -m ping -k --user 계정
SSH password: 패스워드
192.168.0.12 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

참고자료:

  • https://blog.naver.com/PostView.nhn?blogId=theswice&logNo=221551213336
  • http://egloos.zum.com/mcchae/v/11315324