전체보기

 

케이윌 소극장 콘서트 "이대로"를 보기 위해 이화여대 삼성홀로 고고. 삼성홀을 아무리 찾아봐도 보이지 않길래 어딨는건가 했더니 바로 여기 였다

 

좌측으로 들어가면 삼성홀이다

도서관 이런데인 줄 알았는데 이 안에 공연장이 있을 줄이야..

 

지하인듯 지하아닌 곳에 있는 삼성홀
좌석 배치도
Will 이라 해에~
1층 E열 7번 자리

 

자리에서 본 시야 동영상

 

어케 하다보니 꽤 앞자리를 선점했는데 소극장은 언제나 그랬듯이 막상 가보면 굉장히 가깝다. 그래도 사이드라 약간 기대는 안했는데 상당히 만족스러운 자리였다. 물론 가운데 구역이었다면 더욱 금상첨화. 단 B열 맨 앞자리는 무대 단상보다 아래에 있어서 약간 올려다보는 느낌이 들었다. D열이 가장 명당으로 보였다.

 

콘서트는 약 2시간 40분 정도 한 것 같고 짤막하게 후기를 쓰자면 케이윌의 타이틀 곡들은 이번 소극장에서 들을 수 없다. 짤막하게 잠깐 들을 수 있는 곡이 있긴하다. 케이윌도 숨은 명곡들 위주로 선곡했다고 했고 개인적으로는 1집 그립고 그립고 그립다 앨범에 있는 수록곡들을 굉장히 좋아했었는데 일부 수록곡들을 실제로 들을 수 있어서 좋았다. 

 

또 한가지 의외였던 점은 발라드에서 이제 분위기를 띄우기 위한 선곡들의 편곡이 상당히 괜찮았다. 이 노래가 또 이렇게도 바뀌는 구나 싶은 곡도 있었고 케이윌하면 발라드가 생각나는 가수이긴 하지만 발라드가 아닌 곡들도 꽤 많았구나 느낄 수 있던 무대였다. 케이윌 본인도 연말 콘서트에서는 빵빵 터지면서 시작하다가 소극장에서 하려니 분위기 잡기 힘들다고 했다. 

 

확실히 소극장 콘서트는 가수도 가까이서 보고 몰입감도 훨씬 깊은 공연이라 그런지 후회되는 콘서트는 없는 것 같다.

 

 

 

 

 

https://youtu.be/7S-HGkmxJIU

 

 

갤럭시 버즈 케이스를 우연히 보았는데..

 

생활기스가 ㅠㅠ

화이트 케이스에 생활기스가 꽤 있었다.. 생애 첫 무선 이어폰인데 관리 좀 해야겠따 싶어서 케이스를 찾아보았따. 대부분 스티커형으로 케이스에 붙이는 방식이었는데 이 제품은 케이스로 끼우면 되는 방식이라 맘에 들었다.

 

영롱한 순백의 화이트
그냥 이안에 버즈만 넣어주면 된다.
버즈도 처음에 새하얀색이었는데 ㅠㅠ
장착샷

 

오오 마치 버즈를 처음 받았을 때의 느낌이 물씬난다. 

 

뚜껑을 보면 걸쇠같은게 있어서 케이스가 안전하게 장착된다.

 

그런데 마침 케이스를 찾다가 커스텀 케이스를 제작하는 곳도 볼 수 있었는데 갑자기 나도 뭔가 해보고 싶다는 생각이 들었다. 나만의 버즈케이스를 갖고 싶어진 것. 그래서 무엇을 할까 고민 하던 중 하얀색이니 토트넘이 괜찮겠다 싶었다. 나름 시안을 제작하여 미리 맛보기를 해보았따.

 

이미지 합성을 해보면서 가로가 나을지 세로가 나을지 고민하다가 세로로 하기로 결정. 네이버에 검색하면 커스텀케이스를 해주는 업체가 있긴한데 여긴 하단케이스는 무조건 검정이었고 케이스고 스티커로 붙이는 형식이라 패스. 다른 커스텀 해주는 업체를 검색해보고 괜찮은거 같아서 의뢰하였다. 

 

이 업체는 케이스가 아니라 그냥 버즈 자체에 커스텀을 해주는 업체였다. 그래서 케이스도 가능한지 문의해보니 실리콘 케이스보다는 솔리드 케이스 같은 재질을 추천하길래 딱 이 케이스와 맞아서 의뢰하였다. 가격은 도색 2만, 유/무광 코팅 2만 총 4만원

 

커스텀이니 감안하고 의뢰하였다. 다행히 그냥 단순 하얀 케이스에 로고만 새기는거라 이정도 가격이었떤 것 같다. 

 

케이스를 보내고 중간에 시안 한번 확인해보고 작업. 약 1주일 정도 걸려서 도착

 

 

 

 

 

 

유광으로 주문했는데 막상 받아보니 로고가 너무 큰가 싶기도 하고 무광도 괜히 궁금해졌다. 

 

케이스자체는 나무랄 곳 없이 만족스러웠다

 

만족도를 별 5개라 치면 4개 정도? 디자인 측면에서 뭔가 더 꾸미기에는 번잡하기만 할 것 같았다. 그리고 왠지 무광 실물을 한번 보고 싶어진다. 

 

버즈 이어팁도 컨셉에 맞게 파란색 주문을 했는데 국내업체들은 제품보다 배송비가 더 비싼 터라 배송까지는 꽤 걸리겠지만 알리 익스프레스에서 무료배송으로 주문했다. https://ko.aliexpress.com/item/33043851412.html?spm=a2g0s.9042311.0.0.59a14c4drWw3b3 약 3주 정도 걸린듯 하다.

 

파란색이지만 사실상 네이비에 가깝다
이어팁 비교
윙팁만 버즈에 장착
충전 샷
이어팁 윙팁 모두 장착샷
화이트와 비교

 

어떤게 더 예뻐보이는지 잘 모르겠다. 이어팁 윙팁 모두 바꾼게 컨셉에는 맞는거 같은데 이어팁만 빼는 것도 괜찮은거 같고 어차피 귀에 꽂으면 이어팁은 보이지도 않긴하다. 일단은 이어팁+윙팁 조합으로 써보아야겠다. 사실 튜닝의 끝은 순정이라고 올 화이트가 제일 예쁘긴 하다. 어느 정도 쓰다가 다시 화이트로 돌아갈 수도 있을 것 같다. 욕심 같아서는 버즈도 커스텀 하고 싶긴한데 그냥 순정 버즈는 건드리기 뭐했다. 

 

터치 부분도 엠블럼 하나 이렇게 그려넣으면 예쁠거 같긴한데 어떻게 해야할지 모르겠다. 엠블럼 스티커를 주문 제작해서 붙일 수 있을 것 같긴한데 소량제작이 안되서 100장 만원어치를 사야 가능해서 포기.. 

 

1.5cm x 0.6cm / 1.3cm x 0.6cm / 1.2cm x 0.5cm 3가지 사이즈의 엠블럼을 인쇄해보았다. 스티커처럼 붙이기 위해 라벨지에 인쇄

 

스티커형 라벨지에 인쇄 1.3cm x 0.6cm을 오려내었다

 

프린터로 해서 인쇄 퀄리티가 좋진 않았고 작다보니 오려내어도 이쁘게 오려지지가 않았다.. 하지만 크기가 작아서 멀리서 보면 별로 티가 나지 않는다. 

 

버즈에 부착

사이즈는 알맞은 것 같다. 이제 스카치 테이프로 덮어주었따

 

발퀄리티..

 

가까이서보면 스카치테이프가 보이긴 한다.
발퀄 커스텀..

 

하지만 귀에 껴본다면?

엠블럼 선명도가 좀 아쉽

이제 이 세상 하나밖에 없는 버즈가 된 것이다! 토트넘을 아는 사람이라면 "아 저사람 토트넘 팬이네" 할 정도의 퀄리티는 뽑아낸 것 같다. 토트넘을 모르는 사람이 신기해한다면 토트넘을 알려주면 되는 일.

 

이번 커스텀을 해보면서 느낀 건 축구팬이라면 충분히 소장가치가 있을 만하다고 느꼈다. 케이스는 클럽 엠블럼으로 제작하고 버즈 색상과 이어팁,윙팁 색상 조합을 잘 맞추면 예쁠 것 같았다. 한가지 아쉬운 건 토트넘 엠블럼 이미지를 축소시키면서 화질이 나빠진 부분인데 이건 나중에 픽셀도 더 줄이면서 화질을 유지할 수 있는 방법이 있나 확인해봐야겠다.

 

갤럭시 버즈의 경우 색상이 화이트,블랙,노랑 3가지가 있는데 커스텀 해볼만한 클럽으로는 버즈 블랙+화이트로 조합하여 파리 생제르망 써드 컨셉도 괜찮아 보이고 버즈 노랑+검정 조합 또는 버즈 검정 + 노랑으로 도르트문트 컨셉도 괜찮아 보인다. 버즈 화이트 + 레드로 아스날도 괜찮아 보이고..

 

 

https://coupa.ng/biDoyF

 

 

큐빅스토어 갤럭시 버즈 이어팁 윙팁 모음

COUPANG

www.coupang.com

 

토트넘도 네이비 + 화이트 / 블랙 + 화이트 조합을 할까도 했지만 아무래도 홈 컨셉이 나을 것 같기도 하고 제작할 때도 엠블럼만 그려넣으면 되는거라 공수나 비용도 아낄 겸 화이트 네이비로 하게 되었다.  나름 소확행을 한 것 같아 뿌듯-

 

 

 

 

 

 

 

 

 

 

 

How to execute winappdriver Tutorial in eclipse with java (CalculatorTest Sample)

 

Winappdriver 공식 Github 주소

https://github.com/microsoft/WinAppDriver

 

microsoft/WinAppDriver

Windows Application Driver. Contribute to microsoft/WinAppDriver development by creating an account on GitHub.

github.com

공식 설명은 아래와 같다

Windows 응용 프로그램 드라이버는 Windows 응용 프로그램에서 Selenium과 유사한 UI 테스트 자동화를 지원하는 서비스입니다. 이 서비스는 Windows 10 PC 에서 UWP (유니버설 Windows 플랫폼) , WinForms (Windows Forms) , WPF (Windows Presentation Foundation)  Win32 (클래식 Windows)  테스트를 지원합니다 . Windows 애플리케이션 드라이버는 JSON 와이어 프로토콜 표준 및 Appium에서 정의한 일부 애플리케이션 관리 기능을 준수 합니다. Appium  사용하여 Windows 응용 프로그램을 테스트 하기위한 더 나은 지원을 찾고 있다면 이 서비스가 적합합니다.

Nodejs와 appium 설치가 필요하다


셋팅 및 사전 준비

1. Windows 10 개발자 모드 켜기

개발자 모드가 켜져있어야 실행이 가능하다. 왜 안되나 한참 삽질을 했었는데 개발자 모드를 안 킨게 문제였다 ;;

윈도우 10 설정 > 업데이트 및 보안 > 개발자용 메뉴에서 개발자 모드를 켜준다.

처음으로 키면 아마 패키지가 설치될 것이다. 설치를 완료되면 개발자 모드를 사용할 수 있다

개발자 모드 첫 실행시
개발자 모드 패키지가 설치된다


2. Winappdriver 설치하기

먼저 아래 링크에서 Winappdriver를 설치해준다

https://github.com/Microsoft/WinAppDriver/releases

 

microsoft/WinAppDriver

Windows Application Driver. Contribute to microsoft/WinAppDriver development by creating an account on GitHub.

github.com

글 작성 시점 1.1 버전을 설치

WindowsApplicationDrive.msi를 받아 설치한다

설치하면 C:\Program Files (x86)\Windows Application Driver 이 경로에 설치가 될 것이다. 해당 경로로 이동하여 WinAppDriver.exe 를 관리자 권한으로 실행해준다. 그럼 아래와 같은 터미널 창이 열린다.

 

Winappdriver.exe 실행 모습

그럼 설치 완료


3. Windows 10 SDK 설치

이건 Windows에서 응용프로그램 요소를 확인하려면 VisualUIVerifyNative를 실행해야한다. 이걸 설치하기 위해서 Windows10 SDK를 설치한다. 아래 링크로 이동하여 SDK를 설치한다. (이미 설치되어 있을 수도 있으니 C:\Program Files (x86)\Windows Kits 경로가 있는지 확인해본다)

https://developer.microsoft.com/ko-kr/windows/downloads/sdk-archive

 

Windows SDK 아카이브 - Windows 앱 개발

세션이 만료되었습니다. 계속하려면 다시 로그인하세요. 저장하지 않은 변경 내용은 손실됩니다.

developer.microsoft.com

SDK도 여러 버전이 있는데 최신 버전을 설치해도 될 것 같으나 현재 사용하고 있는 윈도우 10 버전과 같은 걸로 설치했다. SDK 설치를 클릭하여 설치파일을 받은 후 설치

 

10.0.17134 빌드로 설치

윈도우 버전 확인은 윈도우 검색창에 Windows version 으로 실행하면 시스템 정보 창이 뜨는데 거기서 확인할 수 있다.

 

윈도우 10 버전 확인

 

Windows 10 SDK 설치화면

별다른 설정없이 쭉 넘겨서 설치하였다.

 

이것도 그냥 전부 설치하였다.

 

설치를 하고 나면 C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86\UIAVerify  이 경로에서 VisualUIAVerifyNative.exe 이 파일을 찾을 수 있다. 실행해보면 아래와 같은 창이 뜬다.

 

VisualUIAVerifyNative.exe  실행 모습

여기서 프로그램의 요소를 확인해볼 수 있다. 그리고 프로그램의 요소를 확인해볼 수 있는 프로그램이 하나 또 있는데 inspect.exe 로 C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86 이 경로에서 실행가능하다. 이게 더 편리한 점은 마우스로 응용프로그램 요소에 이동하거나 클릭하면 자동으로 정보를 보여준다.

 

inspect.exe 실행모습

 

그래서 굳이 VisualUIVerifyNative 처럼 일일이 찾아볼 필요가 없긴 한데 이상하게 자꾸 다운 먹고 멈춰버린다. 원인은 모르겠다..


4. CalculatorTest Samples 예제 다운 받기

https://github.com/microsoft/WinAppDriver 에서 우측 상단 Clone or download 를 클릭하여 내려받는다.

 

Clone or download 클릭하여 내려받기

압축을 풀고 나면 WinAppDriver-1.1\Samples\Java 이 경로에 CalculatorTest 예제 프로젝트를 확인할 수 있다.

 


5. 필요한 라이브러리 다운 받기

※라이브러리 버전은 시점에 따라 다를 수 있음

appium 다운받기 - http://appium.io/downloads.html

Java 클릭 후 다운로드

그러면 java-client-7.2.0.jar 이 다운로드 받아진다.

 

Selenium 라이브러리 다운받기 - https://www.seleniumhq.org/download/

 

버전을 클릭하여 다운로드

selenium-server-standalone-3.141.59.jar이 다운로드 받아진다.


6. Eclipse 에서 프로젝트 셋팅하기

메뉴 [File > New > Java Project]를 선택하고 새로운 프로젝트를 생성.

 

이름만 적어주고 다른 옵션은 건드리지 않음

 

프로젝트 우클릭 > Properties > Java Build Path > Add External JARS.. 클릭하여 아까 받은 appium과 Selenium 라이브러리를 추가해준다.

 

 

그 다음에는 Add Library 클릭하여 Junit 라이브러리를 추가해준다. (Junit 버전은 환경마다 다를 수 있음)

 

JUnit 4 추가된 모습

 

File > New > Package 를 생성해준다.

 

패키지명은 자동으로 되어있다

전에 다운로드 받았던 Calculator 샘플코드를 복사해온다. 경로 WinAppDriver-master\Samples\Java\CalculatorTest\src\test\java\CalculatorTest.java

파일을 winappdriver 패키지 안에 붙여넣어 준다.

 

파일을 붙여넣기 해준다.

그럼 에러가 하나 뜨는데 패키지명이 없어 뜨는 에러이다. 패키지명을 직접 입력해주거나 에러 메시지를 보고 추가해주면 된다.

 

 Add Package 클릭하면 자동으로 패키지 추가하면 > 자동으로 패키지명 입력됨

 

그럼 에러가 사라진다


7. 실행해보기

먼저 Winappdriver.exe를 실행해준다. 경로 C:\Program Files (x86)\Windows Application Driver\Winappdriver.exe

 

Winappdriver.exe 실행 모습

CalculatorTest.java 우클릭 > Run As > JUnit Test 클릭

 

 

그럼 계산기가 실행되는데 만약 java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils 이런 에러가 뜬다면

 

에러 내용

 

http://commons.apache.org/proper/commons-lang/download_lang.cgi 여기 들어가서 파일을 설치해준다.

 

commons-lang3-3.9-bin.zip 다운로드

압축을 풀고 나면 아래 파일이 나오는데 commons-lang3-3.9.jar 파일을 프로젝트 Java Build Path에 추가해준다.

 

추가한 모습

그리고 다시 JUnit Test를 실행하면 계산기가 실행되고 에러가 발생하지 않는다.


8. 에러 수정하기

그런데 문제는 요소를 찾지 못한다는 에러가 뜨는데 

org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. 

 

 

이 원인은 코드가 영문판 계산기로 되어있기 때문이다. 그래서 코드를 한글 계산기로 수정해주어야 한다. 에러 코드 마지막에 보면 

 

51번째 줄 에러

51번째 줄 에러가 나오는데 그 줄이 바로 계산기의 지우기 버튼 부분이다.

 

에러가 발생한 지점

이게 영문 윈도우 계산기에서는 요소가 "Clear"로 표시되는건데 한글 윈도우에서는 다르게 나온다. 이를 확인하기 위해 C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86\UIAVerify  이 경로에서 VisualUIAVerifyNative.exe 를 실행해준다.

 

왼쪽 목록에서 계산기를 찾아 트리를 열어보면 해당 요소에 포커싱이 된다. 

 

지우기 버튼의 한글 요소명은 "지우기"

 

저 C버튼의 요소명이 영문은 "Clear"로 되어있는거였고 한글은 보다시피 "지우기"로 되어있다. 코드를 지우기로 바꿔준다.

 

지우기로 변경

 

다시 실행해보면 이제 51번째에서 에러가 발생하지 않는다. 이제 다음 코드에서 또 에러가 발생하는데

 

계산결과 출력부분 에러

이것도 같은 원인이다. 기대값과 실제값이 달라서 나오는 에러이다. 결과값 표시하는 부분의 요소를 확인해본다.

 

결과표시 부분의 요소가 "표시는 0"이라고 되어있다.

 

코드에서 결과값을 파싱하는 함수를 확인해보면

 

"Display is" 라고 되어있다.

 

이 함수는 결과값을 파싱해서 "Display is"를 잘라내는 기능을 가지고 있다. "Display is" 를 "표시는" 으로 수정해준다.

즉 이 함수는 "표시는 0" 결과값을 표시는은 잘라내어서 "0"만 출력해주는 함수로 Assert.assertEquals("0", _GetCalculatorResultText()); 이 코드의 Assert 기대 값과 일치하게 된다. 다시 실행해보면 에러가 해결되고 다음 에러가 또 발생한다.

 

 

이것 또한 역시 요소를 찾을 수 없다는 에러이다. 요소를 확인해보면

 

"One"은 "1" 되어있다

 

 

그래서 일단 숫자는 모두 아라비아 숫자로 수정해주면 되고 연산자 또한 한글에 맞게 수정해주어야 한다.

 

연산자는 요소명이 "곱하기" 로 되어있다.

 

숫자와 연산자를 모두 수정한 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package winappdriver;
 
 
import org.junit.*;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.util.concurrent.TimeUnit;
import java.net.URL;
import io.appium.java_client.windows.WindowsDriver;
 
public class CalculatorTest {
 
    private static WindowsDriver CalculatorSession = null;
    private static WebElement CalculatorResult = null;
 
    @BeforeClass
    public static void setup() {
        try {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("app""Microsoft.WindowsCalculator_8wekyb3d8bbwe!App");
            CalculatorSession = new WindowsDriver(new URL("http://127.0.0.1:4723"), capabilities);
            CalculatorSession.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
 
            CalculatorResult = CalculatorSession.findElementByAccessibilityId("CalculatorResults");
            Assert.assertNotNull(CalculatorResult);
 
        }catch(Exception e){
            e.printStackTrace();
        } finally {
        }
    }
 
    @Before
    public void Clear()
    {
        CalculatorSession.findElementByName("지우기").click();
        Assert.assertEquals("0", _GetCalculatorResultText());
    }
 
    @AfterClass
    public static void TearDown()
    {
        CalculatorResult = null;
        if (CalculatorSession != null) {
            CalculatorSession.quit();
        }
        CalculatorSession = null;
    }
 
    @Test
    public void Addition()
    {
        CalculatorSession.findElementByName("1").click();
        CalculatorSession.findElementByName("더하기").click();
        CalculatorSession.findElementByName("7").click();
        CalculatorSession.findElementByName("같음").click();
        Assert.assertEquals("8", _GetCalculatorResultText());
    }
 
    @Test
    public void Combination()
    {
        CalculatorSession.findElementByName("7").click();
        CalculatorSession.findElementByName("곱하기").click();
        CalculatorSession.findElementByName("9").click();
        CalculatorSession.findElementByName("더하기").click();
        CalculatorSession.findElementByName("1").click();
        CalculatorSession.findElementByName("같음").click();
        CalculatorSession.findElementByName("나누기").click();
        CalculatorSession.findElementByName("8").click();
        CalculatorSession.findElementByName("같음").click();
        Assert.assertEquals("8", _GetCalculatorResultText());
    }
 
    @Test
    public void Division()
    {
        CalculatorSession.findElementByName("8").click();
        CalculatorSession.findElementByName("8").click();
        CalculatorSession.findElementByName("나누기").click();
        CalculatorSession.findElementByName("1").click();
        CalculatorSession.findElementByName("1").click();
        CalculatorSession.findElementByName("같음").click();
        Assert.assertEquals("8", _GetCalculatorResultText());
    }
 
    @Test
    public void Multiplication()
    {
        CalculatorSession.findElementByName("9").click();
        CalculatorSession.findElementByName("곱하기").click();
        CalculatorSession.findElementByName("9").click();
        CalculatorSession.findElementByName("같음").click();
        Assert.assertEquals("81", _GetCalculatorResultText());
    }
 
    @Test
    public void Subtraction()
    {
        CalculatorSession.findElementByName("9").click();
        CalculatorSession.findElementByName("빼기").click();
        CalculatorSession.findElementByName("1").click();
        CalculatorSession.findElementByName("같음").click();
        Assert.assertEquals("8", _GetCalculatorResultText());
    }
 
    protected String _GetCalculatorResultText()
    {
        // trim extra text and whitespace off of the display value
        return CalculatorResult.getText().replace("표시는""").trim();
    }
 
}
 
cs

 

테스트 수행 영상

 

https://youtu.be/gyNe-ABwDkM

 

다음은 Maven 프로젝트에서 실행하기

Maven 프로젝트는 라이브러리를 다운받아 프로젝트에 추가할 필요 없이 pom.xml에서 Maven repository 설정만 해주면 실행이 가능하다.

 

File > New > Other 진입 후 Maven Project 선택

 

쭉 >> 진행

 

별다른 설정은 건드리지 않고 생성하였다. 위에 있는 코드 중 패키지 코드를 제외한 코드를 복사해서 AppTest.java에 붙여넣기 한다.

 

그럼 에러가 쫙 뜨는데 이건 Maven repository 설정을 해주어야 한다.

 

에러 투성이

 

예제 샘플 폴더에서 WinAppDriver-1.1\Samples\Java\CalculatorTest 경로로 이동하여 pom.xml 파일을 프로젝트에 덮어씌운다.

 

pom.xml 파일을 복사한다

 

아니면 아래 코드를 pom.xml에 붙여넣기 한다

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>CalculatorTest</groupId>
    <artifactId>CalculatorTest</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
        <dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>5.0.0-BETA6</version>
        </dependency>
    </dependencies>

</project>

 

붙여넣기 하고나면 에러가 모두 사라졌을 것이다. 클래스명 에러만 남았을 텐데 이건 파일명과 똑같이 맞춰주면 해결된다. 그리고 JUnit Test Run을 실행하면 계산기 자동화 테스트가 수행된다.

 

 

 

 

 

 

https://youtu.be/b7OBKWC-_wA

다빈치 리졸브에서 영상의 일부를 잘라내는 방법입니다.

 

crop 모드로 영상의 일부를 잘라낼 수 있습니다.

 

영상을 변형시킬 때에는 Tranform모드로 해주어야 변형이 가능합니다.

 

 

https://youtu.be/O0EHV5T_6bI

 

생애 첫 취켓팅에 성공하였다. 물론 아티스트의 차이가 있겠지만은 내가 보고 싶은 공연에서 취켓팅 성공은 처음이었고 아마도 지금껏 갔던 공연 중 가장 좋은 자리이지 않을까 싶다. 이번 [2019 윤종신 콘서트 ‘이방인’ - 서울] 공연은 7월 30일 오후 8시에 티켓팅이 오픈되었다. 이날도 미리 대기타서 예매를 했지만 그리 좋은 자리는 예매하지 못했고 계속 새로고침하면서 조금씩 앞자리로 나아갔지만 결국 중간자리가 한계였었다.

 

보통 콘서트 티켓팅을 하게되면 오픈 날에 성공하면 다행이고 실패했다면 두번째로 노리는게 취켓팅이라고 한다. 그런데 이게 각 예매 사이트마다 취소표 풀리는 시간이 다 다르다고 하는데 인터파크 티켓은 몇시에 풀리나 검색해보니 티켓 오픈일 포함 2일 후 새벽 2시 10분 쯤에 풀린다고 한다.

 

"7월 30일 티켓 오픈이면 30,31 지나고 8월 1일 새벽 2시 10분쯤"

 

그래서 2시 10분 쯤에 미리 로그인을 해두고 새로고침을 반복했다. 본격적으로 모니터링을 한 건 2시 15분쯤. 언제 풀릴지 모르는 기약없는 새로고침을 반복했다. PC로 할까하다가 지금까지 티켓팅을 해본 결과 새로고침 반영되는 속도가 모바일이 더 빠른 것 같다는 느낌을 받아서 인터파크 티켓 앱에서 시도하였다. 새로고침도 새로고침 버튼보다 좌석 구역을 변경하면서 하는게 더 편하고 빨랐다.

 

진짜 갑자기 좌석이 쫙 풀린다

 

진짜 한순간이었다. 미동도 없던 좌석에 갑자기 보라색 자리가 쫙 펼쳐지는데 당황하지 않고 재빠르게 자리 하나를 선점하여 예매에 성공했다. 물론 운이 없으면 다른 사람이 이미 선택된 좌석이라고 뜨면서 실패할 수도 있다. 그럼 점점 좌석은 뒤로 밀리게 되면서 악순환이 이어지게 되는데 다행히 이번에는 한번에 성공. 

 

예전에 한번 결제단계에서 다 끝났다 싶은 순간 결제 오류가 나서 좋은 자리를 놓친 적이 있어서 결제할 때도 조마조마 했었다. 다행히 이번에는 별 탈 없이 결제가 완료되었다. 물론 탑 아이돌의 콘서트 같은 경우 성공확률은 극히 드물었을 것이다. 그 곳에서의 티켓팅은 마치 전쟁같을테니 말이다.. 사람이 티켓팅하지 않는다는 소리도 있으니..

 

이번 윤종신 콘서트는 한국을 떠나기 전 마지막 콘서트라 꼭 가야겠다는 생각이 들었었다. 듣기만 했지 막연하게 언제 한번 공연 보러가야겠다 생각만 하고 있었는데 돌연 한국을 떠난다는 기사가 떴다.

 

윤종신은

"매일 같은 곳에서 눈을 뜨고, 같은 곳에서 밥을 먹고, 같은 곳에서 노래를 만드는 지금은 지극히 편안하고 행복하지만, 한 발짝 떨어진 공간에서의 새로운 감정을 마주해보고 싶었다"

 

당분간 한국에서는 볼 수 없을테고 월간 윤종신 또한 당분간 나오지 않겠다는 생각에 이번 공연은 꼭 가야겠다는 생각이 들었다. 유튜브로도 윤종신 공연 영상을 많이 보았는데 보면 볼 수록 이거 한번 가야겠다는 생각이 들었다. 특히 월간 윤종신에 참여한 가수들도 일부 콘서트 게스트로 오지 않을까 생각도 들었고 윤종신이 만든 노래지만 다른 가수가 부른 곡들을 윤종신이 불렀을 때 느낌은 또 색달랐다. 이번 공연에서도 윤종신 버전의 곡들을 들어볼 수 있다는게 공연의 포인트 일 것 같다.

 

우여곡절 끝에 성공한 취켓팅이 내 생애 가장 기억에 남는 콘서트가 되지 않을까 하는 기대감을 가져본다.

 




19/20 토트넘 핫스퍼 베이퍼 매치를 구매해보았다


참고로 토트넘 핫스퍼 공홈에서는 ELITE 라는 이름으로 되어있는데 Vapor Match와 같은 제품이다


Mens Elite Spurs Home Shirt 2019/20





일단 받아본 느낌은 얇다. 스타디움 셔츠보다 확실히 얇고 구멍이 송송 뚫려있다. 통풍 기능을 아주 극대화 했다. 전체적으로 거의 다 이런식이라고 보면 된다








전에 구매했던 17/18 어웨이 스타디움 셔츠와 어떤 차이가 있는지 비교해보았다



나이키 로고



엠블럼



일단 로고와 엠블럼도 차이가난다. 베이버 매치는 박음질 형태가 아닌 고무패킹? 같은 재질로 유니폼에 붙어 있었다.





원단 재질 비교





보다시피 베이퍼매치가 통풍이 더 잘되어 있다.



내부를 보면



색상의 차이가 있긴 하지만 베이퍼 매치가 훨씬 투과율이 높다





사이즈도 비교해보았다. 알고 있는 바로는 베이퍼 매치 제품은 슬림하고 좀 작게 나오는 걸로 알고 있었다. 그래서 살 때 스타디움 사이즈보다 한치수 크게 산다고 알고 있었다


19/20 베이퍼 매치 홈 사이즈는 L,  17/18 스타디움 어웨이 사이즈는 M 이다




기장 비교 19/20 베이버 매치는 약 75cm | 17/18 스타디움 어웨이는 약 72cm





가슴둘레 19/20 베이퍼 매치 홈은 약 53cm | 17/18 스타디움 어웨이는 약 50cm 




스타디움 셔츠의 L 사이즈는 모르겠지만 대략 비교해봤을 때 베이퍼매치 L과 스타디움 M은 큰차이는 없는 것 같다. 베이퍼 매치를 구매하게 된다면 스타디움 사이즈와 같은 사이즈여도 작진 않을 것 같다. 사이즈는 진짜 직접 입어보는 것 말고는 답이 없는듯..


베이퍼매치 셔츠 위에 스타디움 셔츠를 올려보았다




19/20 베이퍼매치 홈이 좀 더 크긴 하지만 큰 차이는 아니었다.



그리고 베이퍼 매치의 단점이 있다면 일단 얇아서 구김이 잘 가는 것 같고 아무래도 실축에서 입으면 좋겠지만 막 잡아당기고 그러면 쉽게 늘어나고 찢어질 것 같다.  얇은데다가 구멍도 많이 뚫려 있기 때문이다. 그에 반해 스타디움 셔츠는 두께감도 있어서 그런지 구김도 덜가고 잘 늘어나지 않는 편이었다.


개인적인 생각으로는 소장용/실착용 모두 스타디움 셔츠를 구입하는게 나을 것 같다. 

단순 소장용으로 베이퍼매치를 구매해도 상관은 없겠지만 겉으로 보기에 통풍구 없이 깔끔하게 떨어지는 건 스타디움 셔츠라고 본다.


또 베이퍼 매치는 가격 또한 만만치 않기 때문에 주머니 사정을 생각해서라도 스타디움 셔츠가 나아 보인다.

다음에는 19/20 어웨이 스타디움 셔츠 L을 구매해보아야겠다. 지금은 막 나온 시점이라 할인기간을 노려보아야 겠다






 

 

4년만이었다. 최근 새 앨범도 내면서 소극장 콘서트를 한다는 소식을 우연히 접하여 어찌어찌 중간자리1층 K열 10번 티켓팅에 성공. 2015 FINAL FANTASY 연말 콘서트 이후 다시 보러간 윤하의 공연이었다.

 

콘서트 장소는 동덕여대 100주년 기념관. 생각보다 거리가 먼 것 같았지만 지하철을 타니 그리 오래 걸리진 않았다

 

동덕여대 백주년 기념관
공연장 입구

 

입구에서는 MD 판매처가 있었고 응원봉을 하나 구매했다.

아크릴 응원봉 가격 13000원

 

콘서트장에서 윤하는 응원봉을 보고 여기서 보니 풀이 자라있는 것 같다는 소감을 밝히기도 했다

 

1층 K열 10번 자리

 

우선 소극장의 장점은 생각보다 거리가 가깝다는 것. 티켓팅할 때 보면 꽤 먼자리 같았지만 막상 가보면 대부분 생각보다 가깝다.

무엇보다 소극장이니 만큼 관객도 소규모라 이리저리 치이면서 보지 않아도 된다는 점이 가장 큰 장점이라 생각된다.

 

공연은 시작되었고 윤하가 소개하길 리듬악기?를 뺀 공연이라고 한다. 피아노,기타,첼로로만 연주되는 공연이었고 윤하가 혼자서 루프스테이션을 이용해 리듬을 만들어 노래를 부르기도 하였다.

 

중간에 찐 발라드 타임이라고 소개한 순서에서 봄은 있었다 - 미워하다 - 사랑하다 - 기다리다 4곡을 불렀는데 옛날 생각이 나면서 그래 윤하는 이거지 라는 생각이 들었다.  특히 미워하다 - 사랑하다 - 기다리다 이 3곡은 쉬는거 없이 1곡 처럼 쭉 이어갔는데 사실 곡이 발매된 순서는 기다리다 - 미워하다 - 사랑하다 였다. 가사도 실제로 이어지는 3부작 곡이었다.

 

그런데 윤하의 의도인지 모르겠지만 나의 뇌피셜로는 사랑하다의 마지막 가사가 이렇다

 

"내가 어떻게 널 잊을수가 있겠어 제발

 

기다리다 미워하다 사랑하다 죽겠어

돌아가길 바래 아직 사랑해"

 

정말 돌아가길 바라고 싶은 화자의 마음을 담은건지 시리즈의 첫 곡인 기다리다로 이어가면서 다시 처음으로 돌아간 상황을 보여주려고 한 것은 아닐까?

 

.

.

.

.

 

.

아님 말구요...

 

 

그리고 프로윤팅러 답게 공연할 때마다 피드백을 바로바로 확인해서 그런지 이번 공연에서 고맙게도 후반부 포토타임과 함께 우산-연애조건-My Song And.. 3곡의 공연 영상을 찍는 걸 허락해주었다. 

 

 

어느 콘서트든 팬들의 가장 불만이 콘서트가 끝나고 나면 다시는 콘서트 영상을 볼 수 없다는 점일 것이다. 극히 일부 가수는 콘서트 DVD나 블루레이를 내주긴 하지만 극소수.. 윤하는 이런 팬들의 심정을 꿰뚫어 보았는지 예쁘게 잘 찍어달라고 부탁하고 잘 안나오면 그냥 소장해달라고 했다.

 

https://youtu.be/he6aQG7LWUQ

포토타임 + 우산 + 연애조건 + My Song And..

 

더 좋은 화질로 찍고 싶었으나 스마트폰의 한계였다. (갤럭시S10) 줌을 땡기면 화질이 더 안좋아지는.. 가까이 앉는 수 밖에 없겠지만 그건 성공해본 적이 없다. 매크로를 인간이 이길 수는 없으니..

 

이제 아셨습니까 휴먼?

 

소극장 콘서트이다 보니 막 렛츠 파뤼타임 같은 순서는 없었다. 비밀번호 486을 부르지 않았다는 사실만으로도 충분히 분위기를 가늠할 수 있을 것이다. 또 새로운 소식을 전해주었는데 겨울에 앨범이 또 나온다고 한다. 그러면서 연말에 콘서트하면 또 보러와주실거죠 하고 묻는 윤하..

콘서트 초반 관객들에게 세포분열론을 펼친 이유가 이거였구나 큰 그림을 보았던 윤하였다

 

윤하의 세포분열론이란?

 

오늘 온 관객들이 다음에 다른 사람들을 데리고 오면 관객 수가 증가한다는 이론. 이를 바탕으로 콘서트 규모 증가하게 되는 기대효과를 누릴 수 있다

 

 

그렇게 앵콜 1곡을 포함한 약 2시간이 좀 넘는 공연을 마치고 윤하는 퇴장하였다. 오랜만에 윤하의 콘서트를 와보니 감회도 새로웠고 한창 윤하 덕질하던 시절도 떠올랐던 시간이었다. 아직도 생각나는 싸인회 순번 탈락의 순간... 싸인을 받을 수 있는 순간이 오려나 모르겠다.

출처 : 윤하 인스타그램

마지막으로 찍은 사진 전부 투척

 

 

 

 

 

 

 

 

 

 

일단 이날 날씨가 최악이였다. 아침부터 호우특보 메시지가 오질 않나.. 이 때까지만 해도 호날두가 오니까 호우가 오나보다 생각했다.

오후가 되니 비가 그치긴 했는데 날씨는 또 더워서 불쾌지수가 극악이라는 더위+습도의 콜라보가 결성되었다. 게다가 더욱 불쾌지수를 높이는 건.. 지옥철이었다.

 

경기 시작 2시간 전 2호선 합정역

와.. 이 푹푹 찌는 듯한 더위에 지하철은 발디딜틈이 없었다. 땀은 비오듯 흐르고 있고 지하철 냉방도 무용지물인 상태.. 6호선을 갈아타야하는데 지하철을 2번이나 보내고 탈 수 있었다.  겨우 겨우 월드컵경기장역에 내렸는데 비가 또 부슬부슬 오고 있었다.

 

경기장에 걸려있는 현수막.. 이 때까지만 해도 어떤 일이 벌어질지 몰랐다.

 

사람이 너무 많아서 겨우 입장을 했는데 이미 지칠대로 지친 상태였다.  마실거라도 살려고 했는데 사람들 줄이 너무 많아서 걍 포기.. 물이라도 미리 사서 챙겨갈 걸 하는 후회가 밀려왔다.

 

저녁 8시 경기라 저녁도 안 먹고 그냥 경기장 주변에서 먹을거 사서 먹으면서 볼까했는데 줄도 너무 많고 걍 모든 걸 포기했다. 빨리 경기보고 집에 가고픈 생각만 드는 그런 날씨였다.

 

 

경기장 입장

꽉 찬 관중들
[3등석 N-G구역 41열 49번]에서 본 시야

 

[3등석 N-G구역 41열 49번] 자리를 그나마 운좋게 예매했다. 맨 앞자리라 발 뻗고 볼 수 있었는데 앞 펜스가 시야를 좀 가린건 아쉬웠다. 그런데 경기 시작 8시가 다가와도 선수들이 몸을 풀러 나오지를 않았다. 뭐지?? 하고 기다리고 있는데..

 

경기 지연...

 

경기가 지연되고 있단다.. 물론 사정은 잘 알고 있었다. 이 날 오후 2~3시쯤 입국해가지고 팬미팅/사인회 참석하고 바로 경기뛰고 새벽 비행기로 떠난 다는 것을.. 그런데 호날두는 경기에 집중하기 위해 사인회도 참석하지 않았다는 기사도 봤었고 해서 그러려니 하고 있었다.

 

8시 30분쯤 선수들이 운동장에 나와 몸을 풀기 시작했다.

하지만 호날두는 몸을 풀지 않고 벤치에 앉았다
8시 50분쯤 경기가 시작되었다.

 

https://youtu.be/OcoZs-pU9ac

직관 영상

 

선발명단을 호명하는데 호날두는 교체명단에 올라있었고 다들 어리둥절한 반응이었다. 그렇지만 45분 출전 조항이 있다는 소식은 모두가 알고 있기에 후반전에는 나오겠지라는 생각을 하고 있었을 것이다. 나도 그랬고..

 

경기 초반부터 오스마르의 원더골과 바로 이어진 유벤투스의 동점골로 경기장 분위기는 한층 더 달아올랐다. 이후 3대1까지 앞서가던 k리그 올스타였다. 하지만..

 

 

https://youtu.be/IOy-z_8VgHs

호날두는 이날 이후로 날강두가 되었다..

 

경기는 끝나가는데 호날두는 계속 벤치에만 앉아있었다. 관중들은 연신 호날두를 외치면서 나오길 바랬지만 꿈쩍하지 않았다. 이에 열받은 관중들은 메시를 외치기 시작했다. 이순간 스크린에 잡힌 호날두는 짜증이 난 듯한 반응이었다. (알고보니 유벤투스가 슈팅찬스를 놓친 것에 대한 리액션이라고 한다)

 

여기 있는 모든 관중이 당신을 보러왔다는 사실을 모를린 없을 것이다. 꼭 45분이 아니더라도 늦게라도 교체투입하여 뛰는 모습만 보여주면 되는 것이었는데 왜 그랬는지 의문이다. 호날두가 안나올거라 예상한 관객들은 미리 자리를 뜨기도 했다.

 

결국 3대3 무승부로 경기는 끝나고 말았다. 휘슬이 울리자 관중들은 야유를 보내기 시작했다. 다행히 나는 가장 싼 3만원짜리 3등석을 예매해서 다행이란 생각이 들 정도 였으니..

 

다들 허무했을 이번 친선경기..

 

여론은 이미 난리가 났다. 호날두를 비난하는 반응이 쏟아졌고 주최측 유벤투스를 욕하기 바빴다. 도무지 이해가 되지 않았다. 위약금도 있었다고 하는데 뭐 얼마되지 않으니 내면 끝이다 이런 생각이었을까? 그럼 경기 뛴 유벤투스 선수들은 뭐가 되는건지.. 

 

무엇보다 호날두를 보기위해 만사 다 제쳐두고 멀리서 온 팬들, 비싼 돈을 주고 온 팬들은 전혀 생각하지 않았다는게 굉장히 섭섭했다.

 

인터넷에서 가슴 아픈 사연들을 보게되었는데 호날두 보고 싶다는 아이들을 데리고 상경한 부모님도 있었고 휴가도 써가며 40만원짜리 VIP좌석을 예매한 팬도 있었다. 글들을 보면 다들 기대에 부풀어있는 상태였었다. 이런 팬들이 한둘이 아닐텐데 경기 끝나고 얼마나 허무했을지 짐작이 가지 않는다.

 

 

이번 일로 호날두는 사실상 우리나라에서 더 이상 환대 받지 못할 선수가 되었다. 메시와 비교될 급도 아니게 되었다. 팬들에게 우리형으로 칭송받던 그였지만 그 팬들은 오늘부로 남남이 되고 말았다. 호날두에게 남은 건 조롱섞인 별명들 뿐..

 

날강두, 야반도두, 뽀송두...

 

이번 일로 주최측,유벤투스측 말이 많은데 판단은 팬들이 할테니 어서 빨리 사실들만 언급한 해명이 올라왔으면 좋겠다. 

 

 

 

+ Recent posts