Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
業務で使うIRC
Search
onozaty
June 05, 2014
Programming
0
450
業務で使うIRC
onozaty
June 05, 2014
Tweet
Share
More Decks by onozaty
See All by onozaty
リモートワーク中に買って良かったものベスト3
onozaty
0
130
情報を表現するときのポイント
onozaty
0
15
チームで開発するための環境を整える
onozaty
1
130
Selenium入門(2023年版)
onozaty
1
150
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
0
34
Java8から17へ
onozaty
0
14
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
0
91
Redmine issue assign notice plugin の紹介
onozaty
0
110
最近作ったもの
onozaty
0
19
Other Decks in Programming
See All in Programming
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
130
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
350
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
610
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
260
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
Amazon Qを使ってIaCを触ろう!
maruto
0
420
Jakarta EE meets AI
ivargrimstad
0
340
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
みんなでプロポーザルを書いてみた
yuriko1211
0
290
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
130
Quine, Polyglot, 良いコード
qnighy
4
650
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Into the Great Unknown - MozCon
thekraken
33
1.5k
Automating Front-end Workflow
addyosmani
1366
200k
Code Reviewing Like a Champion
maltzj
520
39k
Statistics for Hackers
jakevdp
796
220k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Scaling GitHub
holman
458
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Become a Pro
speakerdeck
PRO
25
5k
Transcript
業務で使うIRC 2013-06-12 onozaty
IRC
IRC Internet Relay Chat(インターネット・リ レー・チャット、略称 : IRC)とは、サー バを介してクライアントとクライアントが 会話をする枠組みの名称である。文章のみ をやり取りして会話を行い、DCCなどを利
用することでファイル転送も対応する。 Internet Relay Chat – Wikipedia
IRC すなわち、ネットワーク上で、複数人がテ キストで会話(+ファイルの転送)するため のシステム。 複数人におけるリアルタイムコミニケー ションをとるのにとても有用なツールであ る。
IRC メッセージ メッセージ入力欄 JOINしている メンバ一覧 JOINしている チャンネル一覧 いま表示している チャンネル
業務におけるIRC
業務におけるIRC プロジェクト内のコミニケーションツール として有用 • 近くにいない人とも簡単に会話。(ネットワーク がつながっていれば) • リアルタイムにやりとりができるので、物事を 早く進めやすい。(同じテキストでも、メールで のやり取りで時間かかるのは面倒…)
• 拘束されずらい。(IRCで会話しながら、他の作 業やったり、忙しいときは後で返事とか)
業務におけるIRC プロジェクト内のコミニケーションツール として有用 • 会話がオープンなところで行われるので、いろ いろな人の意見を聞きやすい。 • 情報共有しやすい。(他の人たちの会話から何か 得られたりとか)
導入方法
とても簡単 ※詳しくはWEBで
導入方法 1. IRCサーバを用意する オープンなものであるならば、freenode などの ようなインタネット上のIRCサーバーネットワー クを利用できるが、業務で使うとなると、閉じた ネットワーク内にサーバを構築するような形とな る。
導入方法 1. IRCサーバを用意する フリーのサーバはいくつもあり、構築も簡単。 • ircd-hybrid Linuxの多くのディストリビューションで利用可能 >& sudo yum
install ircd-hybrid • InspIRCd Windowsでも動くIRCサーバー Windows版はインストーラーあり
導入方法 2. クライアントをインストールする サーバーに接続するためのクライアントソフトが 必要。 プロトコルがオープンであり、さまざまなクライ アントが存在するが、その中でもLimeChatが秀逸。 Linux上で動作するものや、ブラウザに組み込まれ たクライアントもあり。
導入方法 2. クライアントをインストールする 設定内容などを統一するためにも、動作環境の違 いによる制約がなければ、クライアントは統一し ておいた方がよい。 LimeChatを使っておけば間違いなし。
導入方法 3. クライアントからサーバに接続する クライアントにサーバの情報と、自分自身のニッ クネーム(他の人が見てわかる 名前)を設定し、サーバに接続。 使用する文字コードは、各メン バであわせておかないと、お互 いのメッセージが文字化けする ことになるので要注意。
導入方法 4. チャンネルにJOINする チャンネルにJOINして、メッセージのやり取りを 行う。 チャンネルに対して送信したメッセージは、その チャンネルにJOINしているメンバ全員が目にする ことなる。
導入方法 4. チャンネルにJOINする メッセージ メッセージ入力欄 JOINしている メンバ一覧 JOINしている チャンネル一覧 いま表示している
チャンネル
よくある誤解
よくある誤解 Q. チャットって聞くと、遊んでいるように みえるけど A. 使い方次第です 複数人によるリアルタイムコミニケーションを取 るのに有用なツールなので、仕事でも遊びでも活 用可能。 実際、多くのOSSコミニティで、当たり前のよう
にIRCが利用されている。 また会社内での利用例も多々あり。Google検索:社内IRC
よくある誤解 Q. チャットをずっと見ていたら仕事になら ないんじゃない? A. ずっと見ている必要はありません 気になった時に見ればよい。 また、常に見ていることを強要すべきではなく、 あくまでコミニケーションの補助ツールととらえ るべき。
IRCですべてを解決し ようとしない
IRCですべてを解決しようとしない チャットにログインしているからといって、 チャットを見れる状況であるとは限らない。 チャットで反応をもらえないならば、直接 話(または連絡)をすべき。 チャットを見ていない=悪としてはいけな い。
IRCですべてを解決しようとしない チャットでの議論が収集つかないならば、 面と向かって話をした方が良い。(テキスト だけだと、相手に対して意図しない印象を あたえかねない場合もあり) あくまでコミニケーションの 補助ツールとしてとらえるべ き。※重要なので大きく記載
運用に関するTips
運用に関するTips 1. チャットクライアントがPC起動時に立ち 上がるようにしておく スタートアップにクライアントの起動を設定して おくことにより、チャットへの参加し忘れを防ぐ ことができる。
運用に関するTips 2. LimeChatのキーワード設定&バルーン 表示 LimeChatにて、自分の名前や、自分に関係するよ うなキーワードを設定しておくことにより、その キーワードを含む発言があった場合に、ハイライ トして表示させることができる。 これにより、関係する発言を見逃しずらくなる。
運用に関するTips 2. LimeChatのキーワード設定&バルーン 表示 タスクバーが点滅 キーワードに一致する 部分がハイライト チャンネルもハイライト
運用に関するTips 2. LimeChatのキーワード設定&バルーン 表示 また、バルーン表示により、常にクライアントを 開いておかなくても、IRCでの発言を眺めること ができる。 参考: LimeChatのキーワード設定とバルーン表示で、チャット(IRC)を効率 よく使う
- Enjoy*Study
運用に関するTips 3. プライベートメッセージ禁止 IRCではユーザに対してプライベートメッセージ を送ることができるが、プライベートメッセージ だと他の人が見ることができないので、情報共有 の妨げになる可能性がある。 何が有用な情報なのかは、個人で判断つかないこ とが多いので、仕事に関するやり取りでは、プラ イベートメッセージを禁止にしてみるのも、情報
共有を促進させるための手段かも。
IRCに情報を集約する
IRCに情報を集約する IRCにさまざまな情報を流すことにより、自 分から情報を取りにいくようなこともなく、 プロジェクトの状況を知ることができる。 たとえば、RedmineやTracなどのチケットが登録 されたことや、CIでのテスト結果、Subversionや Gitなどのコミットの情報をIRCに流すことにより、 プロジェクトの変化を簡単に知ることができる。
IRCに情報を集約する IRCと連携して、IRCに情報を流すための 様々なツールが存在し、それらを組み合わ せることにより、IRCの幅が広がる • IRC Plugin - Jenkins -
Jenkins Wiki • YappoLogs: App::Ikachan - 様々なサーバの バッチ処理の結果等を IRC のチャンネルに通知 するサーバ • IRCbot Console 他にもたくさんあり
IRCbot Console
Author: onozaty
IRCbot Console IRCbot Consoleは、ブラウザから操作でき る多機能なIRCボット。 • http://www.enjoyxstudy.com/ircbotconsole/ ※IRCボットとは、IRCにログインして、発言に自動応答 したり、定期的に発言するようなプログラム
IRCbot Console 下記のような機能を持っている。 • 各種設定を全てブラウザ上から操作可能 • RSSの新着エントリをIRCにメッセージとして送信 • 一定周期や決まった時間にIRCにメッセージを送信 •
IRC上の発言に対してメッセージを返信 • HTTPリクエストを受け付けて、IRCにメッセージ を送信 • ログを収集し、ブラウザ上で参照可能
IRCbot Console JavaScript(Rhino)で各処理を書けるので、 いろいろなことができる。 ※RhinoはJavaで作られたJavaScriptエンジンで、 JavaScriptからJavaのAPIなどを使用することもできる
いろいろな使い方
始業/昼休み/終業時間を通知 始業時間や昼休み、終業時間をIRCで通知す ることにより、チャイムがわりに。 IRCbot Consoleでは、決められた時間にIRC上に メッセージを流すことができる。 また、単純なメッセージだけでなく、他のWEB サービスから取得した情報を流すようなこともで きる。 たとえば朝の始業時間には、天気予報を流すなど。
Redmine上での活動をIRCで通知 Redmineでの活動(チケット登録/変更、コ ミット情報など)を、IRCに流すことにより、 プロジェクトの動きを簡単に知ることがで きる。
Redmine上での活動をIRCで通知 IRCbot Consoleでは、RSSのURLを登録するだけ で、新着エントリをIRC上に流すことができる。 Redmineではプロジェクトの活動をRSSとして配 信しているので、その情報を活用。(他のシステム でも活用 できる はず)
チケット番号を拾って、その内容を通知 Redmineのチケット番号が発言に含まれて いたら、そのチケットの内容を通知する。 これにより、そのチケットが何のチケット なのか、いちいちRedmine上で確認しなく ても済む。
チケット番号を拾って、その内容を通知 IRCbot Consoleでは、メッセージ内容を受け取っ て、スクリプトを実行することができる。 これを利用し、メッセージの中から、Redmineの チケット番号を抽出し、RedmineのREST APIを 使って、チケット内容を取得。
抽選により掃除当番を決める IRCbotによる厳選な抽選により、掃除当番 を決める。 担当を決める手間がなくなり、また不公平 感がなくなる。
抽選により掃除当番を決める IRCbot Consoleの周期実行にて、スクリプト (JavaScript)を書くことができるので、それを 使って、ログインユーザの一覧から、ランダムに ユーザを 決定する。
他にもいろいろできる • 土日の22時には、遅くまでお疲れ様と、終電案 内。 • JenkinsのJob結果を、Jobが実行された時間(人 がいない時間)ではなく、朝、みんながそろった くらいの時間に通知 • JOINしてきた人になると(オペレーション権限)
を自動付与 などなど
最後に
最後に ちょっとでもいいかなと思った方は、ぜひ IRCをお試しください。 あわせて、IRCbot Consoleをご利用くださ い。
おわり ご静聴ありがとうございました。