2020. 1. 12. 04:55
728x90

트위치 스트리머가 시청자 맵을 받아서 플레이 하고자 할 때 이를 도와주는 트위치 봇 중에서 Viewer Levels라는 봇이 있다. 이에 대해 간단한 사용 방법을 정리한 내용이다.
단, ViewerLevels는 봇의 활성화만 가능한 것으로 알고 있고, 별도의 커스터마이징은 안되는 것으로 알고 있다.
글쓴이는 현재 warp world에 대해 따로 알아보는 중임.



봇 작동하기

1. https://twitchbot.viewerlevels.com/ 에 들어간다.

2. Viewerlevels의 채팅창에 !join이라고 입력하면 자신의 채팅창에서 Viewer levels bot이 작동하기 시작한다.

3. Viewerlevels의 채팅창에 !leave라고 입력하면 자신의 채팅창에 더 이상 Viewer levels bot이 작동하지 않는다.


대기열(Queue) 열고 닫기

!openqueue - 대기열 열기

!wipequeue - 대기열을 모두 비운 상태로 열기

!closequeue - 대기열 닫기 (맵 추가가 더 이상 되지 않음)


스트리머 명령어

!next - 대기열에 있는 맵 중에서 가장 먼저 등록한 맵을 선택

!rand - 랜덤 맵을 선택

!subnext - 구독자 맵 중에서 next 맵을 선택

!subrand - 구독자 맵 중에서 랜덤 맵을 선택

!select (username) - username에 해당하는 시청자가 등록한 맵을 선택

!nexthere - 현재 채팅 중인 유저 중에서 next 맵 선택 (이건 작동 오류가 있어서 비추)

!randhere - 현재 채팅 중인 유저 중에서 랜덤 맵 선택 (이건 작동 오류가 있어서 비추)


!completed - 현재 선택된 맵을 완료 상태로 처리. 해당 맵은 재등록 불가.

!skip - 현재 선택된 맵을 건너뛴 것으로 처리. 해당 맵은 재등록 불가. (똥맵 거르는 용도)

!clear - 현재 선택된 맵을 대기열에서 제거. 해당 맵은 재등록 가능. (자동 실행되기 때문에 보통은 쓸 일이 없는 명령어)

!unmark (level code) - completed나 skip된 표시를 제거하여 재등록 가능하게 변경

!fix (level code) - 현재 선택된 맵의 코스ID를 변경한다. completed나 skip 표시를 올바르게 새겨야 할 때 사용.


!queuesize (1-500) - 대기열에 있을 수 있는 맵의 최대 수량

!modcontrol (on/off) - mod가 위의 모든 명령어를 사용 가능하게 할 것인지 설정

!subonly (on/off) - 구독자만 맵을 등록 가능하게 할 것인지 설정

!followonly (on/off) - 팔로워만 맵을 등록 가능하게 할 것인지 설정


시청자 명령어

!add (level code) - 맵을 대기열에 등록한다. 유저 당 1개만 등록할 수 있다. 등록한 맵을 다른 것으로 변경하고자 한다면 맵이 등록된 상태에서 이 명령어를 한 번 더 사용하면 된다.

!remove - 맵을 대기열에서 제거한다.

!list, !queue - 대기열에 맵이 몇 개 등록되어 있는지를 표시한다. 

!position - 자신의 맵이 대기열에서 몇 번째 위치에 있는지 보여준다.

!current - 현재 진행 중인 맵이 무엇인지 보여준다.

728x90
Posted by 아야카
2019. 12. 31. 03:19
728x90

참고: 2019년 12월 31일 새벽 3시 기준으로 작성되었습니다.


코스 전문가(주간) 

1위

PowerNongX

V3Y-XD9-50H

2위

=*Legend*=

W94-0Y7-FNG

3위

Kirdyファン

NYX-6MG-W3G

4위

Akki._."

545-H5N-DKF

5위

IMah Dummy

02Y-CTJ-2GG

6위

Ty :)

H5C-TJM-7DF

7위

ハハッwミッキーだよ

VYN-WWS-3MG

8위

とうふメンタル´ ∀`

D8T-95J-2WG

9위

Mysmoo

WFJ-PKM-JLF

10위

Armored103

B16-306-GVG


클리어 수

1위

DSteves

93499점

2위

SSXJOZXYQK

67317점

3위

(sBs)

63292점

4위

Molbi97

52974점

5위

Khadbraska

50000점

6위

jnu00m

47927점

7위

TheGamer91

35996점

8위

Tsubasa.Y

34789점

9위

こび

33981점

10위

Yazimodo

32018점


최초 클리어

1위

N-Mario84

16973점

2위

Markey97

13757점

3위

ろくもん

7451점

4위

マンチョフ

7386점

5위

*りっき*

7148점

6위

ただのルイージファン

6461점

7위

JoeyN

6429점

8위

Mike™

6107점

9위

WailedDuke

5720점

10위

Bosmoe

5390점


베스트 타임

1위

DSteves

14180점

2위

N-Mario84

13373점

3위

Diddleデッドル

10241점

4위

ローレス フライベ

9005점

5위

J-Bizzle

8701점

6위

Markey97

8319점

7위

マンチョフ

7275점

8위

ねむのき

6591점

9위

del*

6515점

10위

skto

6456점


어디까지 마리오 챌린지 (쉬움)

1위

DSteves

82666점

2위

SSXJOZXYQK

65822점

3위

Molbi97

52712점

4위

jnu00m

49051점

5위

Khadbraska

39000점

6위

Yazimodo

32450점

7위

Phenom21

30536점

8위

こび

30209점

9위

Cap'nEdgar

26060점

10위

bigger bob

25600점


어디까지 마리오 챌린지 (보통)

1위

メタチナSW

20965점

2위

Jaemz

20836점

3위

del*

16000점

4위

Verve

15175점

5위

TheGamer91

14175점

6위

MikeBroken

13693점

7위

DSPaterson

13625점

8위

Matexteu

13136점

9위

lalalei

12316점

10위

DefterLeo

12105점


어디까지 마리오 챌린지 (어려움)

1위

Z7

15515점

2위

SEPP KUN

13550점

3위

MK

10851점

4위

SlyHunter7

10000점

5위

おとをふ/Miner

8860점

6위

Dazran303

8330점

7위

lemonmelon

6920점

8위

キャックー

5203점

9위

Lewis41

4238점

10위

KDZK-CIB

4040점


어디까지 마리오 챌린지 (매우어려움)

1위

Celes!

5000점

2위

TAKE=たけ

2500점

3위

Nokduro

2019점

4위

Vins6708

1550점

5위

Dimitri_

866점

6위

Dy65l37.cn

452점

7위

Xarreno

410점

8위

Not Ron

395점

9위

をわり。

377점

10위

SeeTv

371점


함께 배틀

1위

iiPK

7006점

2위

ゆう:

6908점

3위

BttlickPK

6694점

4위

KawaiiPK

6629점

5위

WaitAtFlag

6622점

6위

SenpaiiPK

6606점

7위

るていん

6601점

8위

CN.IronLEO

6564점

9위

DYtv50l76l

6554점

10위

【Btls】なべやき

371점


728x90
Posted by 아야카
2019. 12. 23. 07:08
728x90

1. 테스팅은 결함이 있다는 것을 증명하는 것이다. (Testing shows the presence of bugs)

A라는 행동을 했을 때 나온 결과는 A라는 행동에 대한 결과만을 보장해준다는 의미. 가령 지문 인식을 엄지손가락으로만 테스팅 했다면 이 테스팅은 엄지손가락의 결과에 대해서만 보증을 하는 것이지, 다른 손가락으로 했을 때의 결과까지 보증해주는게 아니라는 것.


2. 완벽한 테스팅은 불가능하다. (Exhaustive testing is impossible)

일정은 제한 되어 있고, 복잡한 구조 때문에 모든 경우의 수를 확인할 수 없다는 의미.


3. 테스팅은 가능한 개발 초기에 시작해야 한다. (Early testing)

전체적인 일정으로 따져볼 때 테스트가 초반에 이뤄지는게 좋다는 의미. 다만 테스트 인력을 투입하는 것도 공짜는 아니고, 규모가 작을 때는 개발자가 업무와 테스트를 혼자서 해도 무리가 없어서 극초기에 별도의 테스트 인원이 투입될 일은 없다. 테스트 인원이 별도로 배정되는건 보통 정식 프로젝트로 승인된 이후부터.


4. 결함 집중 (Defect clustering)

새로 만드는 것, 다른 모듈과 상호작용이 많은 것에서 결함이 쏟아져 나온다는 의미. 그 외에 개발 실력이 부족한 사람이 담당한 곳에서도 결함이 많이 발견된다.


5. 살충제 패러독스 (Pesticide paradox)

같은 살충제만 쓰면 벌레가 대응력을 키워서 더 이상 그 살충제로는 죽지 않듯이, 똑같은 테스트로는 반복되는 테스트에서 새로운 결함을 발견할 수 없다는 의미. 즉, 테스트 문서를 꾸준히 갱신하고 업데이트 하라는 소리다. 히스토리를 쌓아감으로서 누락을 방지하고, 테스트 하는 사람에 상관 없이 동일한 커버리지를 달성하게 하려는 목적을 갖는 원칙이다.


6. 테스트는 정황에 의존적이다. (Testing is context dependent)

대상에 따라 테스트 내용이 달라지는 것을 의미한다. 가장 흔한 예시는 일정이 중요한 게임 vs 안전이 중요한 의료 분야. 


7. 오류-부재의 궤변 (Absence-of-errors fallacy)

목적에 맞는 테스팅을 하라는 의미. 기능 테스트 해야하는 상황에 호환성 테스트하면 의미가 없다. 



그 외 원칙

A. Testing must be done by an independent party. (테스트는 독립적인 조직에 의해 수행되어야 한다.)

개발자가 테스트를 할 경우 개발자의 시선으로 테스트하기 때문에 결과를 신뢰하기 어렵다는 의미. 따라서 개발과 동떨어진 이들이 테스트를 설계하고 수행해야 한다.


B. Assign best personnel to the task. (최고의 인력을 할당하라.)

당연한 이야기.


C. Test for invalid and unexpected input conditions as well as valid conditions.

유효 상태만큼이나 비유효 값 / 상태로도 테스팅을 수행하라는 의미. 다양한 관점에서 테스트 해보라는 의미이기도 하다.


D. Keep software static during test.

테스트가 진행되는 동안에는 빌드가 변경되지 않게 하라는 의미다. 테스트 도중에 빌드가 변경되면 테스트 결과를 신뢰할 수가 없다.


E. Provide expected test results if possible.

가능한 기대 결과를 제공하라는 의미. 기대 결과가 제공되지 않으면 테스팅 결과에 대해 정상인지 결함인지 판단할 수 없다.






참고 페이지: https://www.testingexcellence.com/seven-principles-of-software-testing/ 

728x90

'미분류 게시물' 카테고리의 다른 글

TimeZ - 彩虹 (Rainbow) 가사  (0) 2019.03.05
Posted by 아야카
2019. 12. 15. 13:27
728x90

1. Windows 기능 켜기/끄기에 진입한다.

 - 방법 1
   Windows 설정 > 앱 > (우상단) 프로그램 및 기능 클릭
   좌상단에 있는 Windows 기능 켜기/끄기 클릭


 - 방법 2
   실행 창에 OptionalFeatures.exe를 입력


2. '인터넷 정보 서비스'에서 아래 항목을 체크한다.

 - World Wide Web 서비스
 - 웹 관리 도구 > IIS 관리 콘솔


3. 응용 프로그램 개발 기능에서 자신에게 필요한 항목을 체크한다.
 - 인터넷 정보 서비스 > World Wide Web 서비스 > 응용 프로그램 개발 기능


4. 실행
 - 시작 > Windows 관리 도구 > IIS(인터넷 정보 서비스) 관리자 실행
 - 왼쪽 트리를 열어 Default Web Site 선택
 - 오른쪽 웹 사이트 관리에서 '시작' 클릭


728x90

'공부 > 기타' 카테고리의 다른 글

티스토리에서 syntaxhighlighter 3.0.83 설치하기  (2) 2019.10.01
자료구조 2장. 연습문제 05  (0) 2018.07.25
자료구조 2장. 연습문제 04  (0) 2018.07.25
자료구조 2장. 연습문제 01  (0) 2018.07.25
xor을 이용한 스왑  (0) 2018.03.20
Posted by 아야카
2019. 10. 11. 20:20
728x90

문제 번호: 15740

문제 제목: A+B - 9

문제 주소: https://www.acmicpc.net/problem/15740


문제 내용

입력받은 두 수 A, B를 합한 결과를 출력한다.


테스트 케이스

1 2

3

-60 40

-20

-999999999 1000000000

1

1099511627776 1073741824

1100585369600

123456789123456789123456789 987654321987654321987654321

1111111111111111111111111110


문제 풀이

 문자열로 입력 받아서 덧셈을 하는 코드를 짠다. 주의사항은 아래와 같다.
 - 양수에는 부호가 없지만, 음수에는 - 부호가 있다.
 - 부호가 같으면 덧셈, 부호가 다르면 뺄셈을 한다.
 - 0은 항등원이므로 입력값에 0이 포함되는 경우에는 연산을 할 필요가 없다.

 일단 양수, 0에는 부호가 없으므로 이런 숫자가 입력으로 들어오면 앞에 +를 붙여준다.

 덧셈은 각 자리를 합한 뒤 10이 넘으면 다음 자리에 +1을 하고, 현재 자리에 10을 빼기만 하면 된다.
 뺄셈은 계산 결과에 따라 추가적으로 처리해야 할 것들이 있다.내 경우에는 아래와 같은 순서로 진행하였다.
 1. 음수인 배열의 각 자리에 -1을 곱한다.
 2. A와 B의 각 자리를 합한다.
 3. 합한 결과의 맨 앞이 0인 경우 0이 아닌 수가 나올 때까지 제거한다.
 4. 맨 앞의 수가 0보다 작은 경우 부호를 -로 하고 각 자리에 -1을 곱한다. 아닌 경우에는 부호를 +로 한다.
 5. 일의 자리부터 시작하여 0보다 작은 경우 앞의 자리 수를 1 빼고, 현재 자리 수에 +10을 한다.
 6. 조정 후 3.의 처리를 추가로 진행한다.

마지막으로 결과 출력이 char로 이루어지므로 각 자리에 '0'을 더해줘 정상적으로 출력될 수 있게 하고, 부호가 +일 경우 이를 제거해준다.


2019. 11. 05 - 0에 대한 예외처리 추가
 기존: 값이 0일 때도 연산 진행
 변경: 입력 값에 0이 포함되는 경우 다른 값을 반환

2019. 10. 21 - 앞에 위치한 0 제거 코드 수정
 기존: 맨 앞이 0인지 확인하여 erase. 0의 개수만큼 erase 함수 반복.
 변경: 맨 앞이 0일 경우 연속으로 0이 나오는 수량을 확인하여 범위 삭제. erase 함수는 1회만 실행하는 대신 연속으로 확인하는 과정에서 for문이 돌아감


풀이 코드


728x90

'공부 > 문제풀기' 카테고리의 다른 글

팩토리얼에서 끝에 붙는 0의 개수 구하기  (0) 2020.06.19
백준 10953 - A+B - 6  (0) 2019.10.11
프로젝트 오일러 문제 19  (0) 2019.10.08
백준 2558 - A+B - 2  (0) 2019.09.24
백준 2156 - 포도주 시식  (0) 2019.08.26
Posted by 아야카
2019. 10. 11. 16:04
728x90

문제 번호: 10953

문제 제목: A+B - 6

문제 주소: https://www.acmicpc.net/problem/10953


문제 내용

A, B가 ,로 구분되어 N개만큼 주어진다. A+B의 값을 출력한다.


테스트 케이스

5
1,1
2,3
3,4
9,8
5,2


2
5
7
17
7


문제 풀이

입력은 세 글자로 제한된다. A, B의 값이 1~9로 제한되기 때문.
문자열로 입력 받아서 [0], [2]에 있는 값끼리 합하면 된다.
단, 이렇게 입력 받은 경우에는 [0]과 [2]에 저장된건 아스키코드 값인 48~57이므로 계산을 할 때 각 문자에 '0'만큼의 값을 뺀 후 계산해야 한다.

문제와는 별개로 A, B의 입력 값이 10 이상인 경우에는 ,의 위치를 특정할 수 없으므로 데이터의 형식에 맞춰 int, char, int 순서로 입력 받아야 한다. int를 읽어들일 때 숫자가 아닌 데이터가 나올 경우 stream 읽는 것을 중단하기 때문.


풀이 코드


728x90

'공부 > 문제풀기' 카테고리의 다른 글

팩토리얼에서 끝에 붙는 0의 개수 구하기  (0) 2020.06.19
백준 15740 - A+B - 9  (0) 2019.10.11
프로젝트 오일러 문제 19  (0) 2019.10.08
백준 2558 - A+B - 2  (0) 2019.09.24
백준 2156 - 포도주 시식  (0) 2019.08.26
Posted by 아야카
2019. 10. 8. 19:59
728x90

Counting Sundays

   

Problem 19

You are given the following information, but you may prefer to do some research for yourself.

  • 1 Jan 1900 was a Monday.
  • Thirty days has September, April, June and November.
    All the rest have thirty-one, Saving February alone,
    Which has twenty-eight, rain or shine. And on leap years, twenty-nine.
  • A leap year occurs on any year evenly divisible by 4, but not on a century unless it is divisible by 400.

How many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)?


1901년 1월 1일 ~ 2000년 12월 31일까지 매월 1일이 일요일인 달이 몇 개인지 세는 문제.

1900년 1월 1일은 월요일이며, 윤년 규칙은 기존과 동일하게 4년(윤년), 100년(평년), 400년(윤년)의 구분자를 갖는다.

 * 윤년 규칙에 따라 1900년 2월은 평년으로 28일이다.


1. 계산을 시작하는 해의 1월 1일의 요일을 구한다.

 * 시작하는 해의 1월 1일이 일요일인 경우 반환값에 이것이 누락되지 않도록 해야 한다.

2. 각 월에 해당하는 날짜만큼을 더한 후 요일을 구하여 일요일이면 반환값에 +1을 한다.

 * 2월인 경우에는 % 4, % 100, % 400 에 대한 처리를 하여 요일을 구한다.

3. 구한 결과값을 반환한다.




728x90

'공부 > 문제풀기' 카테고리의 다른 글

백준 15740 - A+B - 9  (0) 2019.10.11
백준 10953 - A+B - 6  (0) 2019.10.11
백준 2558 - A+B - 2  (0) 2019.09.24
백준 2156 - 포도주 시식  (0) 2019.08.26
백준 10844 - 쉬운 계단 수  (0) 2019.08.26
Posted by 아야카
2019. 10. 1. 19:27
728x90

설치

0. syntaxhighlighter를 다운로드 한 뒤 압축을 푼다.

SyntaxHighlighter_v3.0.83.zip


1. 블로그 관리 화면에서 꾸미기 - 스킨 편집으로 진입한다.
※ 블로그주소/manage/design/skin/edit#/


2. 우측 상단에 html 편집 버튼 클릭


3. 우측 상단에서 파일업로드 클릭 - 화면 하단에 [+추가] 버튼 클릭


4. syntaxhighlighter 폴더에서 scripts 폴더, styles 폴더 안에 있는 파일을 모두 업로드 한다.


5. HTML 탭으로 이동한다.

6. </head> 위에 아래 태그를 입력한 후 오른쪽 상단 구석에 있는 [적용] 버튼을 누른다.

<!-- SyntaxHighlighter 설정 시작-->
<script type="text/javascript" src="./images/shCore.js"></script>
<script type="text/javascript" src="./images/shLegacy.js"></script>
<script type="text/javascript" src="./images/shBrushBash.js"></script>
<script type="text/javascript" src="./images/shBrushCpp.js"></script>
<script type="text/javascript" src="./images/shBrushCSharp.js"></script>
<script type="text/javascript" src="./images/shBrushCss.js"></script>
<script type="text/javascript" src="./images/shBrushDelphi.js"></script>
<script type="text/javascript" src="./images/shBrushDiff.js"></script>
<script type="text/javascript" src="./images/shBrushGroovy.js"></script>
<script type="text/javascript" src="./images/shBrushJava.js"></script>
<script type="text/javascript" src="./images/shBrushJScript.js"></script>
<script type="text/javascript" src="./images/shBrushPhp.js"></script>
<script type="text/javascript" src="./images/shBrushPlain.js"></script>
<script type="text/javascript" src="./images/shBrushPython.js"></script>
<script type="text/javascript" src="./images/shBrushRuby.js"></script>
<script type="text/javascript" src="./images/shBrushScala.js"></script>
<script type="text/javascript" src="./images/shBrushSql.js"></script>
<script type="text/javascript" src="./images/shBrushVb.js"></script>
<script type="text/javascript" src="./images/shBrushXml.js"></script>
<link type="text/css" rel="stylesheet" href="./images/shCore.css">
<link type="text/css" rel="stylesheet" href="./images/shThemeDefault.css">
<script type="text/javascript">
SyntaxHighlighter.all();
</script>
<!-- SyntaxHighlighter 설정 끝-->



사용 방법

코드를 삽입하고 싶은 구간에 아래 내용을 입력한다.

<pre class="brush:언어">
</pre>

위와 같이 작성하면 본문에 아래와 같은 회색박스가 생긴다.
회색박스가 위치한 공간에 코드를 작성한 후 발행하면 된다.

html 모드에서 직접 코드를 작성할 경우 <, > 같이 태그에서 사용하는 특수문자가 제대로 표기되지 않으므로 코드는 에디터 모드에서 입력하는 것을 권장한다.

코드작성공간

참고로 일반 붙여넣기를 하거나 직접 작성하는 경우 <pre> 태그 사이에 <p> 태그가 추가되어 위에 출력되는 예제처럼 실제 출력 시에 <p></p> 태그가 출력된다. 글 작성 시 이 부분에 대해 체크할 필요가 있다.




참고 - 티스토리 코드블럭

티스토리의 새로운 글쓰기에는 코드블럭을 삽입할 수 있는 자체 기능이 있다.
티스토리에서 공식적으로 지원하는 기능인만큼 별도의 설치가 필요 없고 사용하기 쉽다는 장점이 있지만
새로운 글쓰기에서만 지원되는 기능이고, 별도의 커스터마이징을 할 수 없다.

사용 방법은 아래와 같다.

0. 블로그 설정에서 콘텐츠 - 설정으로 진입한 후 새로운 글쓰기를 [사용합니다]를 선택 후 [변경사항 저장]을 클릭한다.


1. 글쓰기 화면에 진입하면 상단 메뉴 중 […] 버튼을 클릭한 후 [<> 코드블럭]을 클릭한다.

2. 코드블럭 화면이 출력된다.
코드블럭 삽입에서 작성하고자 하는 언어선택한 뒤 본문에 코드를 작성한 후 확인을 클릭하면 본문에 코드가 삽입된다.

지원 언어: HTML, CSS, Javascript, Python, Java, C++, Kotlin, Swift, PHP, Go


본문에 삽입됐을 때의 모습 (C++ 기준)

포스팅 한 후의 모습 (C++ 기준)

728x90
Posted by 아야카