이토이로후 #irof_history
전날은, @datsuns 씨의 「 이로후 씨와 놀고 싶니? 그렇다면 vim이라면 네! #irof_history 」였습니다.
소개
전날까지의 Calendar를 되돌아 보면, 2차원으로부터 3차원까지 여러가지 사상에 존재하는 이로후씨입니다만, 우연히 원래 있는 사건에는 아직 계시지 않는다는 것을 깨달았습니다.
조금 구현화해 보려고 생각했습니다.
아스키 아트
사용 된 라이브러리는 여기 → h tp // w w. 로쿠. rg/지타 c/
maven 저장소에 없었습니다.
그래서 jar를 다운로드해야합니다.
라이브러리를 이용하여 jpeg에서 html로 변환해 보겠습니다.
아래의 쉘 스크립트를 실행하면 jpeg에서 변환합니다.
사용하는 파일은 여기
방금 다운로드한 라이브러리의 jar과 같은 위치에 설치하고 파일 이름을 'irof.jpeg'로 변경하십시오.
convert.sh
#!/bin/bash
echo 'convert start.'
noise_option="$1"
if [ -z $noise_option ]; then
noise_option=0
fi
echo "noise_option: [$noise_option]"
if [ -e irof.html ]; then
rm irof.html
fi
java -jar jitac-0.2.0.jar -H -o irof.html -n $noise_option irof.jpeg
if [ -e irof.html ]; then
echo "convert success!"
fi
exit 0
html로 해 보았으므로, HTTP 서버로 표시해 보겠습니다.
모처럼이므로 Groovy에서 HTTP 서버를 시작해 보겠습니다.
참고로 한 것은 여기 → Groovy의 간단한 HTTP 서버
단순히 표시하는 것만으로는 재미있지 않으므로 라이브러리에 있는 노이즈 기능을 이용해 보겠습니다.
irof_to_ascii.groovy
import com.sun.net.httpserver.HttpExchange
import com.sun.net.httpserver.HttpHandler
import com.sun.net.httpserver.HttpServer
class Converter {
void convert(int parcent = 0) {
def process = "./convert.sh ${parcent/100}".execute()
println "${process.text}"
}
}
def PORT = 9000
HttpServer server = HttpServer.create(new InetSocketAddress(PORT), 0)
server.createContext('/', new HttpHandler() {
@Override
public void handle(HttpExchange exchange) throws IOException {
def noise = [ 0, 10, 20]
def random = new Random().nextInt(noise.size)
new Converter().convert(noise[random])
def file = new File('irof.html')
assert file.canRead()
def bytes = file.text.bytes
exchange.getResponseHeaders().add("Content-Type", "text/html")
exchange.sendResponseHeaders(200, bytes.length)
exchange.getResponseBody().write(bytes)
exchange.close()
}
})
server.start()
server.sh
#!/bin/bash
groovy irof_to_ascii.groovy
이제 http://localhost:9000/에 액세스 할 때마다 표정이 바뀌 었습니까? 처럼 보입니다.
결론
이렇게 @irof 씨는 아스키 아트가 되어 버렸습니다.
다양한 형태로 변환자재인 @irof씨는, 다음에 어떤 식으로 우리를 놀라게 해 줄까요?
내일은 @tan_go238 님의 irof 명령을 brew로 설치해보기 입니다.
잘 부탁드립니다.
Reference
이 문제에 관하여(이토이로후 #irof_history), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/grimrose@github/items/c8144222abcad84532c7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)