僕らがqiitaをゴリゴリ書く理由

62
ぼくらがQiitaを ゴリゴリ書く理由 リコーITソリューションズ株式会社 ITソリューション事業部 イノベーションデベロップメントセンター 第1イノベーション開発部 第1グループ 保木本将之(@oh_rusty_nail) 広島でソフトウェアテストの勉強会 2015/11/15

Upload: masayuki-hokimoto

Post on 13-Jan-2017

3.014 views

Category:

Software


0 download

TRANSCRIPT

ぼくらがQiitaをゴリゴリ書く理由

リコーITソリューションズ株式会社ITソリューション事業部

イノベーションデベロップメントセンター第1イノベーション開発部 第1グループ

保木本将之(@oh_rusty_nail)

広島でソフトウェアテストの勉強会 2015/11/15

Self-introduction

• 保木本 将之(ほきもと まさゆき)

• 家庭では2児の父親(29歳)

• 鳥取在住

• Twitter : @oh_rusty_nail

• RICOH THETAの開発に関するお仕事を

• Selenium 談話会 in Slack(オンライン勉強会)の運営

• 「Seleniumデザインパターン&ベストプラクティス」 本の読書会を2015年10月からはじめました

• 監訳者の方にも参加していただいております

• Qiitaで主にテスト関係な記事書いてます

• 趣味:パズドラ、卓球、飲酒

広島でソフトウェアテストの勉強会 2015/11/15

Tottori広島でソフトウェアテストの勉強会 2015/11/15

とっとるびー広島でソフトウェアテストの勉強会 2015/11/15

とっとるびー広島でソフトウェアテストの勉強会 2015/11/15

RICOH THETAhttps://theta360.com/ja/

広島でソフトウェアテストの勉強会 2015/11/15

What’s Selenium?

• SeleniumとはWebブラウザを使って

Webアプリケーションをテストするツール

•今まで人手を必要としていたWebブラウザを使ったテストが自動化できるもの

•単純なクリックやテキスト入力操作は勿論、テキストの表示やエラーメッセージの検証も行うことも可能

広島でソフトウェアテストの勉強会 2015/11/15

Selenium 談話会 in Slack

地方民族がSelenium

についてワイワイ

できる場がない>_<

広島でソフトウェアテストの勉強会 2015/11/15

Selenium 談話会 in Slack

…というか

オンラインでやれば

全国の人が集まれる

広島でソフトウェアテストの勉強会 2015/11/15

Selenium 談話会 in Slack広島でソフトウェアテストの勉強会 2015/11/15

ググった!

けど見当たらなかった

作ったら面白いカモ

Selenium 談話会 in Slack

作った!!

⇒+

広島でソフトウェアテストの勉強会 2015/11/15

Selenium 談話会 in Slack広島でソフトウェアテストの勉強会 2015/11/15

Selenium 談話会 in Slack

困った時に尋ねられる仲間⇒「ここで詰まっています。誰か助けてください!」

情報交換⇒「バージョンアップすると不具合があるらしいよ」

人と人とのつながり⇒つながりのおかげで今僕がこの場で発表することができました

広島でソフトウェアテストの勉強会 2015/11/15

本 題広島でソフトウェアテストの勉強会 2015/11/15

The Qiita ?広島でソフトウェアテストの勉強会 2015/11/15

Qiita organizations広島でソフトウェアテストの勉強会 2015/11/15

Qiita organizations

• http://qiita-orgs-rank.mat-aki.net/

• ストックランキングは5位

• 全181企業

広島でソフトウェアテストの勉強会 2015/11/15

Qiita organizations

• http://www.sasaplus1.com/qiita-organizations-graph/

• 投稿記事数ランキングでは1位

広島でソフトウェアテストの勉強会 2015/11/15

@oh_rusty_nail’s activity

• http://www.sasaplus1.com/qiita-organizations-graph/

• ストック数ランキングでは40位

広島でソフトウェアテストの勉強会 2015/11/15

@oh_rusty_nail’s activity

1000ストック

突破キターー

Technical Note is in the qiita広島でソフトウェアテストの勉強会 2015/11/15

Why write Qiita?

ぼくらがQiitaを

ゴリゴリ書く理由

広島でソフトウェアテストの勉強会 2015/11/15

Reason 1

社内に情報を

閉じ込めておくのは

もったいない※ もちろん、公開してもよい範囲で自宅からでも見られる

広島でソフトウェアテストの勉強会 2015/11/15

Reason 2

世の中の人の

役に立てる

絶好の機会である自分が書いた記事を見て、誰かが「なるほど!これ役に立った」「はまらずにすんだ」

とか言ってくれたら嬉しいでしょ♪ ♪

広島でソフトウェアテストの勉強会 2015/11/15

Reason 3

周りの人に伝わるから以下省略とならず

丁寧な文書になるチームメンバ間で残しておく文書なら「どうせわかるでしょ」と端折った文書を残しがちですが、

いざ必要になった時に見て「なんだっけ、これ?知りたいとこが書かれていない」ということも

広島でソフトウェアテストの勉強会 2015/11/15

Reason 4

閲覧者からの

フィードバックを

頂けることもある「ここはもっとこうしたほうが良い」「ココ間違ってるよ」といったご指摘を頂くこともあります

広島でソフトウェアテストの勉強会 2015/11/15

Reason 5

自分自身の

モチベーション

アゲアゲ↑↑どうせやるなら楽しく仕事したい!

広島でソフトウェアテストの勉強会 2015/11/15

Reason 6

自分や企業の

技術力アピール

にもつながるここの企業、この人よく見る人だ!いっぱい技術ネタもってるなぁ~

広島でソフトウェアテストの勉強会 2015/11/15

情報を

社内に置かず

キータ書け

書いた記事

誰かの役に

立てるカモ

人の目に

触れるとなると

丁寧に

「いい記事ね」

コメントもらい

アゲアゲに

ストックが

技術力を

物語る

広島でソフトウェアテストの勉強会 2015/11/15

以上です。是非皆さんも

活用してみてください。広島でソフトウェアテストの勉強会 2015/11/15

下 R 上 L Y B X A

広島でソフトウェアテストの勉強会 2015/11/15

Trick to collect more stock

下 R 上 L Y B X A のような裏ワザとまでは言えませんが

Qiitaでストック数を

稼ぐ方法をご紹介します

広島でソフトウェアテストの勉強会 2015/11/15

Trick to collect more stock

ストックランキング3位のsuinさんにも

ストック数を稼ぐ

コツを

キイテミマシタ!

広島でソフトウェアテストの勉強会 2015/11/15

Point 1

どんな小さなネタでも

遠慮なく投稿する• 自分としてはたいしたことないつもりでも

ほかの人が見れば収穫かもしれない

広島でソフトウェアテストの勉強会 2015/11/15

Point 2

Qiitaはタイトルが勝負!• なぜなら、一覧にはタイトルしか見えない

数字を含むとさらに良い• 「○○する7つの方法」 「○○を10時間かけて調べてみた」など

記事のボリューム感がタイトルだけで伝わるようにする

広島でソフトウェアテストの勉強会 2015/11/15

Point 2

「JavaScript開発者が一度は読むべきStackOverflow」(987)

「全国のSeleniumer必読」 (997)

「俺史上最強のiptablesをさらす」(854)

「Rubyはじめての人がRails開発に参加するときに

最初に知っておくべきこと」(730)

「RSpecのshouldはもう古い!新しい記法expectを使おう!」 (655)

「新人研修でドヤ顔で披露したらウケたEclipseのショートカット集」 (1094)

「新人プログラマに知っておいてもらいたい人類が

オブジェクト指向を手に入れるまでの軌跡」 (2490)

インパクト大事!!

広島でソフトウェアテストの勉強会 2015/11/15

Point 2

「脱初心者を目指すなら知っておきたい便利なVimコマンド25選」(1658)

「JavaScriptを読んでてなにこれ!?と思うけれど調べられない

記法8選。」(1658)

「【まとめ】これ知らないプログラマって損してんなって思う汎用的な

ツール 100超」(2984)

「WebAPIでエラーをどう表現すべき?15のサービスを調査してみた」(1477)

「Mac始めて6年目にして、使い続けている開発ツール73選」(1064)

「動的言語だけやってた僕が、38日間Go言語を書いて学んだこと」(926)

数字にすぐ目がいく

広島でソフトウェアテストの勉強会 2015/11/15

Point 3

タグは5つ(上限)まで

しっかり付けるべし• タグをフォローしている(投稿した記事の分野に興味がある)閲覧

者の目の付きやすいようにする

• ただ、関係のないタグを付けてしまうとノイズになるので注意!

広島でソフトウェアテストの勉強会 2015/11/15

Point 4

章立てをしましょう• まとめ記事など、ボリュームがある記事でも、

• 特定の章へのリンクを張ることができ、内容を把握しやすい

広島でソフトウェアテストの勉強会 2015/11/15

Point 5

記事を更新して

腐らせない• 新しいことが見つかれば追記する

• 「あぁ、この記事古いから信頼性できない」と思われないようにする

広島でソフトウェアテストの勉強会 2015/11/15

Point 6

宣伝活動!!

他人の記事に

コメントを書き込むなど• 「この記事参考になるかもしれません♪」(リンクぺたっ)

広島でソフトウェアテストの勉強会 2015/11/15

Point 7

自信作は

月曜朝に投稿すべし• 土日はQiitaが劇的に過疎る

• Qiitaの週間メルマガの「先週ストックが多かった投稿ベスト20」

の集計期間が月〜日だから

広島でソフトウェアテストの勉強会 2015/11/15

Point 7

Qiita閲覧者の

ほとんどが

ビジネスタイムに集中している(Google Analyticsの時間別ビュー より)

広島でソフトウェアテストの勉強会 2015/11/15

A good Qiita life広島でソフトウェアテストの勉強会 2015/11/15

テスト自動化の苦労話(おまけ)

リコーITソリューションズ株式会社ITソリューション事業部

イノベーションデベロップメントセンター第1イノベーション開発部 第1グループ

保木本将之(@oh_rusty_nail)

広島でソフトウェアテストの勉強会 2015/11/15

Automation tools広島でソフトウェアテストの勉強会 2015/11/15

VS Selenium Timeout Error

「お、テストが失敗してる…、なんだTimeoutErrorか。リトライしよっ」

「また、失敗してるや。どうせまたTimeoutだろ」

コードpush テスト実行(CI) 結果通知

広島でソフトウェアテストの勉強会 2015/11/15

VS Selenium Timeout Error

TimeoutError

が倒せない

広島でソフトウェアテストの勉強会 2015/11/15

VS Selenium Timeout Error

TimeoutErrorは

起こり得るものと捉える• Error発生時に、テスト側で自動でリトライさせて極力泣かせない

• 開発者がテストの失敗に慣れてしまうのは良くない

• テストが失敗することに焦りを感じさせるようにする

• CIツールを活用することで更に強化できる(後述)

広島でソフトウェアテストの勉強会 2015/11/15

VS Selenium on the Jenkins

• 提供しているサービスが利用できているか監視するテスト

• 頻繁に実行しているため、テスト側でリトライしても失敗することもある

• 同一のJenkinsジョブを複数並列に実行して、全てが失敗したらNGとする

• Jenkinsの提供されている機能はもちろん、プラグインを有効活用する

XX分毎に定期実行 SNSログインテスト 異常時にスマホに通知

広島でソフトウェアテストの勉強会 2015/11/15

VS Jenkins

Jenkinsって

構築もすごく簡単だし

すごく便利!!

広島でソフトウェアテストの勉強会 2015/11/15

VS Jenkins

•だけど、使っているうちにこんなことを経験

• 「なんだかJenkinsが最近固まるなぁ」

• 「プロキシめんどくせぇ」

• 「社内のネットワークがもっさりしてるせいでテストがまともにできない」

• 「大型連休に入るからサーバ停止しなきゃ」

•お世話が大変

広島でソフトウェアテストの勉強会 2015/11/15

VS Jenkins

を使い始めて不満が解消

• 「なんだかJenkinsが最近固まるなぁ」

• 再起動するなりインスタンスを起こしなおすなり

• 「プロキシめんどくせぇ」

• プロキシのない世界

• 「社内のネットワークがもっさりしてるせいでテストがまともにできない」

• 安定したネットワークが利用できる

• 「大型連休に入るからサーバ停止しなきゃ」

• 停止はボタンをポチるだけ

広島でソフトウェアテストの勉強会 2015/11/15

VS Travis CI

Jenkinsよりも手軽で

環境構築も必要なし

.travis.ymlを置くだけ

広島でソフトウェアテストの勉強会 2015/11/15

高速化にも取り組みました

VS Travis CI広島でソフトウェアテストの勉強会 2015/11/15

VS Travis CI

Dockerを使った高速化にも取り組みました

広島でソフトウェアテストの勉強会 2015/11/15

VS Travis CI

どうやらSeleniumの

テストと相性が悪い模様• ジョブ実行中に固まる現象がポツポツと発生

• 調査しようにもTravisCIはサーバにSSHで入れない

• はやくなったが安定しないのはNG

• Docker対応はアキラメマシタ(敗北)

広島でソフトウェアテストの勉強会 2015/11/15

In conclusion広島でソフトウェアテストの勉強会 2015/11/15

ご清聴ありがとうございました

リコーITソリューションズ株式会社ITソリューション事業部

イノベーションデベロップメントセンター第1イノベーション開発部 第1グループ

保木本将之(@oh_rusty_nail)

広島でソフトウェアテストの勉強会 2015/11/15