Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Hipchat(Slack)上でHubotを使い、開発中のレポジトリでOpenしているPull Requestの一覧を取得する。 準備 HubotをHipchatで動かす(インストール手順は省略) GitHubのPersonal access tokenを取得(https://github.com/settings/applications から取得可能) 手順 hubot-scripts GitHub社が公式でHubotスクリプト集を公開している。 github/hubot-scripts Hubot Script Catalog その中の、hubot-scripts/github-pulls.coffee を利用する。 Hubotインストール時に上記スクリプト群は同梱されている(/path/to/hubot/node_modules/hubot-scripts/src/scripts/
障害発生の際など、やむをえず自宅で就寝中の社長を起こさないといけないことがある。インターネット時代においても遠隔地にいる人間の意識を強制的に遮る有効な方法は一つである。電話だ。 普通の人間なら順番にただ電話すれば良いのだが、我々は電話恐怖症を患うエンジニアである。過去のトラウマから誰かに電話をかけることが不安で仕方ない。 さらにはリモートワークの環境だと、アメリカ西海岸にいる社員が日本の電話番号に電話するのは色々と敷居の高さがある。素早く簡単に社長に電話し不機嫌にすることなく即座に目覚めさせる方法が必要だ。 このような課題を、我々が対処する方法はただひとつ「自動化」である。機械に電話させればよい。行末スペースをただひとつも許せないほど繊細な心を持つ我々と比べて、機械は感情がないので不機嫌な人間に当たられても何も感じない。 今回は、感情のないロボットに社長に電話させる方法を紹介する。 Twi
Hubot で外部コマンドを実行する 概要 Hubot で外部コマンドを実行します。 検証はWindows環境で行います。 node.js の child_process を利用します。 サンプルコード Windows の date コマンドの結果を取得してみます # Description # Output external command # # Dependencies: # None # # Configuration: # None child_process = require 'child_process' module.exports = (robot) -> say = (message) -> user = { room : id : 6 # Other } robot.send user, message robot.respond /date/i, (msg) ->
ついにTrelloが公式にSlackとLinkするようになったので、Hubotを使わなくてもTrelloにチケットが作成できるようになりました。ボードの切り替えなどはHubotを使ったほうが簡単にできるなど、いくつかメリットは残っています。 http://help.trello.com/article/1049-slack-app 現在CafeSnapというアプリをプロデューサー2人 + エンジニア2人で開発しています。 去年の4月にスタートしてからはSlack + GoogleDocs + Redmineなどでコミュニケーション・タスク管理をしていましたが、お互いのタスクの漏れを防ぐためにこれらのツールを試験的に使っています。 これらのツールでタスク管理を行うメリット Slack上でタスクを作成することができるため、簡単にタスクが作成できる 今までチャット上でやりとりしていて、そのまま流
久々にheroku上にいるhubotをデプロイしたら botが動かなくなってしまったので色々調べてたら slack <-> hubot 連携がバージョンアップしてたらしい。 そしてプライベートチャンネルでも普通にhubotが動くようになってた。 さらに、世に出ているSlackとHubotの設定記事 のようなものも 古いバージョンの設定が多いので 最新版という位置づけでここにメモしておく。 (2015/4/15時点) 手順まとめ Slack上の Hubot Integration を新バージョンにする hubot-slackを3.xにアップグレードする Herokuの環境変数を設定し直す hubotインテグレーションしたいチャンネルにhubotユーザをinviteする Slack上の Hubot Integration を作り直す ここからHubotインテグレーションの新規追加を行います(新
概要 1年間Ruby on Railsのプロジェクトをやってきて、ためになった書籍やサイトをまとめてみた。 他に何かオススメがあったら教えてください。 書籍 初めてのruby 配属されて初の業務前に先輩に進められた本がこれ。 初めてと名が付いているが、難しかった記憶がある。 パーフェクト Ruby on Rails part1,2はある程度わかっていたが、part3,4辺り…特に9章はまとまった資料がなかったので、すごく参考になった。 少しだけ書けるようになった自分にとっては、次の段階にあがるための良いきっかけとなった。 Everyday Rails - RSpecによるRailsテスト入門 ある程度プロジェクトに慣れてきたあたりの時に、日本語訳が発売されたので購入した。 今までは、プロジェクト内の既存のテストを模倣するように書いていたが、読んでからは意図をもって書けるようになったと思う。
概要 改めて基本を学ぶ。 Rubyによるデザインパターン第1章。 デザインパターンとは プログラミングにおいて繰り返し現れる問題に対する、適切解のパターン。 無駄無く設計されたオブジェクト指向プログラムの実現をサポート。 パターンとしてカタログ化されていることで 車輪の再発明を防ぐ デザインパターンの根底にある5つの考え 変わるものを変わらないものから分離する プログラムはインターフェイスに対して行う(実装に対して行わない) 継承より集約 委譲、委譲、委譲 必要になるまで作るな(YAGNI) 変わるものを変わらないものから分離する ソフトウェアの仕様には必ず変更が加わるもの。 変わるものと変わらないものを分離しておくことで、 「仕様の変更」に対して「システムの変更」を出来る限り局所的にする。 プログラムはインターフェイスに対して行う(実装に対して行わない) 可能な限り「一般的・抽象的なもの
Rubyは手続き型の言語であるが、LispやSmalltalkの影響も受けているため関数型言語の側面も持つ。 Wikipediaのアクセス解析プログラムを例に、両者の違いを比べてみる。元の手続き型のコードは、いがいがさん作のRuby講義資料から。 Ruby 講義 第6回 Wikipediaアクセス解析 Ruby 講義 第7回 Wikipediaアクセス解析 アクセス解析のプログラムは以下の処理を実施している。 CSV形式のログ(ページ名とアクセス数が記録されている)を読み込む jaで始まる行のみを対象にする ログの1行からページ名とアクセス数を抽出 アクセス数が多い順に並び替え トップ20行を表示 手続き型 元のコードはこちら。処理を順番に書いているところが手続き型。CやJavaで書いても同じ書き方になりそう。 require "cgi" filename = "20120301-0000
みなさん、おはこんばんにちはでス。普段は動画処理とかffmpegまわりの記事を投稿してます。「ス」です。2014年もあとわずか 年末年始とのんびり過ごしたいものです のんびり過ごすなら、やっぱり、画像処理・動画処理が定番ですよね?そこにあるCPUを何故100%まで使い切らないのか?山があるから登るのが登山家の心がけなら、CPUがあるなら使い切るのがプログラマーとしての正しい心がけです。使い切る中で最適化を目指す!では、使い切るにはどうしたらいいのか? 画像処理だ!!! 動画つくるだ!!! 最近は使えるCPUの数が増えてきましたね。少し背伸びをすれば、かつては想像できなかったほど使えそうです。Hadoopです 分散処理です。プログラミング楽しいですね。夢は広がります。CPUは寝かせただけ計算機会を失っているのです。とにかく計算。え?プログラミングができない?それなら、3Dバリバリのオンライン
これは,mruby advent calendar 2013の6日目の記事です. ネタですが,Herokuでテキストを返すだけのHTTPサーバを構築してみます. 手順ですが,ローカルでビルドしてサーバを動かしてみてから,その手順をbuildpackに移植しています.今回書いたコードは,mruby-buildpackとmruby-test-serverにpushしてあるので,必要でしたら参照してください. ちなみに,node.jsをよく引き合いにだすのは,今回はmruby-uvを使っているからと,わたしがnode.jsでしかherokuにdeployしたことがないからです. まず,ローカルでの動作確認ですが,mruby-uvとmruby-httpの使い方の確認からはじめて,自前のbuild_config.rbでビルドして,mrubyでサンプルを元に書いたスクリプトを動かすといった流れでした.
目次 ごあいさつ 必要なもの Raspberry Piとハードウェアの準備 各種ツールのインストール プロジェクトを作成する Raspberry Piで実行する JTAGを使ってデバッグする ごあいさつ こんにちは、yamanekkoです。この記事はmruby Advent Calendar 2013の23日目のエントリになります。 本記事では、Raspberry Pi で、あえてLinuxはもちろんRTOS等も使わずに(いわゆるbare metal環境で)mrubyでLチカをしてみます。JTAGとEclipseを使用することにより、GDBを視覚的に使ってデバッグしながら開発することができます。 私たちはふだんはMac OS Xを使用しています。なのでスライド等で公開している情報はMacに偏りがちなのですが、今回はRubyConf 2013で発表したネタをWindowsで試してみました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く