ついに日本語版もはじまったStackoverflow。そもそもプログラミング系の質問を日本語で行う必要があるのか(書いているのは英語ベースなので)という疑問はさておき、日本人同士でサポートできるのは良い仕組みです。 そんなStackoverflowから検索できるツールがstackitです。CLIから検索できるので手軽に使えることでしょう。

stackitの使い方

インストールはpipでできます。

$ pip install stackit

まずはヘルプ。

$ stackit --help
usage: stackit [-h] [-s QUERY] [-e EXECUTE] [-t TAG1 TAG2] [--verbose]
               [--version]

Parses command-line arguments for StackIt

optional arguments:
  -h, --help            show this help message and exit
  -s QUERY, --search QUERY
                        Searches StackOverflow for your query
  -e EXECUTE, --stderr EXECUTE
                        Runs an executable command (i.e. python script.py) and
                        automatically inputs error message to StackOverflow
  -t TAG1 TAG2, --tag TAG1 TAG2
                        Searches StackOverflow for your tags
  --verbose             displays full text of most relevant question and
                        answer
  --version             displays the version

基本はクエリを投げるだけです。

$ stackit -s "Rails"
Searching for: Rails ... 

Tags: 


1
Question: How can I rename a database column in a Rails migration?
Answer: ** Update: **
  :
5
Question: What is Node.js' Connect, Express and "middleware"?
Answer: 

[ ** Update: ** As of its 4.0 release, Express no longer uses Connect.
However, Express is still compatible with middleware written for Connect. My
original answer is below.]

Enter m for more, a question number to select, or q to exit:

こんな感じで回答が一覧で返ってきます。この中から詳しく見たい質問の番号を入力します。

-------------------------QUESTION------------------------
What is Node.js' Connect, Express and "middleware"?


Despite knowing JavaScript quite well, I'm confused what _ exactly _ these
three projects in Node.js ecosystem do. Is it something like Rails' Rack? Can
someone please explain?



-------------------------------ANSWER------------------------------------


[ ** Update: ** As of its 4.0 release, Express no longer uses Connect.
However, Express is still compatible with middleware written for Connect. My
original answer is below.]

  :
Enter b to launch browser, x to return to search, or q to exit: q

そうすると質問と回答が表示されます。Markdownフォーマットはそのまま展開されるようになっています。

文字がエンコードされていたりするのでデコードした方が見やすいとは覆います。Stackoverflowで質問したり、その回答をよく見る人はWeb検索の前に使ってみると便利ではないでしょうか。

stackitはPython製、MIT Licenseのオープンソース・ソフトウェアです。

lukasschwab/stackit