오늘은 이를 쉽게 가능하게 해준 inquirer 라이브러리에 대해 이야기할까 합니다.
inquirer on ruby
inquirer은 Interactive user prompt를 구현을 위한 라이브러리로 루비, 파이썬, 자바스크립트 등 여러가지 언어를 지원하고 일반적인 사용자 입력 구현, 체크박스, 라디오 버튼 등 구현이 편리합니다.전 Ruby를 많이 사용하기 때문에 Ruby 중점적으로 이야기를 드리겠습니다.
우선 gem을 통해 라이브러리를 설치해줍니다.
#> gem install inquirer
코드안에서 inquirer 로드 후 Ask class를 이용하여 user prompt를 구현하면 됩니다. 많이 사용하는 체크박스와 리스트를 보면..
require 'inquirer'
idx = Ask.list "선택해주세요", [ # 단일 선택
"XSS",
"CSRF",
"XXE"
]
require 'inquirer'
idx = Ask.checkbox "선택해주세요", [ # 다중 선택 가능
"XSS",
"CSRF",
"XXE"
]
< list > |
< checkbox > |
이런식으로 Ask의 checkbox, list 메소드를 이용해서 아래와 같이 커맨드라인에 구성할 수 있습니다. 여기서 list는 단일 선택만(마리 라디오 버튼처럼), checkbox는 다중 선택이 가능합니다.
선택은 space 키로 하며 enter 키로 confirm할 수 있습니다.
추가로 사용자로 부터 선택된 데이터는 idx에 array 형태로 저장됩니다. 이를 가지고 처리 로직에 활용하면 됩니다.
관련해서 추가적인 API 정보나 라이브러리 코드는 rubydoc이랑 github 웹 참고해주세요 :)
https://www.rubydoc.info/gems/inquirer/0.2.1
https://github.com/arlimus/inquirer.rb
python..
루비랑 비슷비슷합니다. pip로 설치해주고 inquirer 객체에서 메소드로 실행하믄 됩니다.#> pip install inquirer
import inquirer
questions = [inquirer.Checkbox(
'interests',
message="선택해주세요?",
choices=['XSS', 'CSRF', 'SQLI', 'XXE', 'Deserialization', 'SSRF'],
)]
answers = inquirer.prompt(questions) # returns a dict
print(answers['interests'])
HAHWULSecurity engineer, Gopher and H4cker! |
0 개의 댓글:
Post a Comment