投稿

5月, 2015の投稿を表示しています

AWSの支払い情報をSlackに通知するLambda Function

最近は、既存の技術に対する調査などを行ったりしています。
今回は、その調査中に暇だったので作ったLambda Functionを紹介します。

どんなFunction?
AWSのBillingは特定のS3Bucketに対して支払い情報を置くことが出来ます。
そのうち、支払い情報のCSVファイルだったらサービスごとの集計値し、Slackへ通知するFunctionです。
すでにGithubに公開していますが、大分酷いコードなので自分で使う場合に綺麗にしていくことをオススメしますw

AWS Billing notifier

今後の課題
コード全体の流れを吟味せず適当に書いたので、リファクタリングして可読性をあげるのと
全体の集計値の表示、設定箇所を増やせるようにするのが課題かと思います。

Slacker公開しました!

StashからSlackへ通知するプラグインSlackerを公開しました!(英語が大分おかしいと思います)

まだAlphaリリース状態なので機能は多くありませんが、PullRequest周りのイベント通知機能はあります。
通知可能なPullRequest周りのイベントは、

PullRequest Opened(Created)PullRequest ReopenedPullRequest UpdatedPullRequest RescopedPullRequest MergedPullRequest DeclinedPullRequest Commented
になります。
この中でもPullRequest Commentedは特殊で、User Map JSONと設定で、StashのユーザIDとスラックのユーザIDを紐付けるMapped JSONを設定すると
そのMappingを元にプライベートメッセージを送るってコメントが来たことを通知します。※

他にも追加する予定の機能はありますが、Globalで使うWebhook URLを設定することはしません。
これには理由があり、Stashのリポジトリごとにチーム、ユーザーが異なり、意図しない通知を防ぐためでもあります。
もし、GlobalでWebhook URLを設定したいという要望が短期間に多くあれば対応しようと思います。

現時点のバージョンではFreeなので是非使ってみてください。(PullRequest機能しかないですが)
使ってみたらレビューして欲しいです。
改善するヒントにもなりますので。


※ 設定がない場合通知しません。

jqみたいなpup

HTMLの特定のタグの値を確認するためだけにブラウザを開いていたのですが、pupってgolangで書かれたjq likeなツールがあります。
これ便利です。
使い方はREADMEを見れば分かりますが、CSSセレクタでフィルターが出来ます。
TrueTypeからWOFFへの変換をやろうとしていてgolangに構造体に必要なプロパティ取るのも簡単です。



これでまずWOFFHeaderの構造体の基本部分が抽出出来たので、後は整形して書き直せば完成です。
こういったことの使い方も出来ますし、pupを使ってクローラの可読性を向上させるのもいいかもしれないですね!

これでブラウザ開かないでコンソールで出来る作業も増えて楽ですね。

Sassの関数を書いてみる

タイトル通りの記事になるのですが、Sass(今回はSCSS)で使う関数を書いてみようと思います。
関数と言っても@functionで書くものではなく、Ruby側で関数を定義します。

経緯

経緯は仕事で各システムが持つ固有値によって、特定のスタイルのみ変更したいというものでした。
通常ならば、各システムごとにスタイルを定義していくと思いますが、Rails Engineを使っていることや
各システムがほぼ共通のビューを使うという事情により仕方なくRubyで関数を定義することになりました。

実装

特に難しいことはなくsassのコードを追えば、どこにメソッドを追加すればSassで関数として使えるのかが分かります。
今回は、環境ごとのベースカラーを返す関数を作成します。



これをconfig/initializers/sass.rbとして保存します。
たった、これだけです。
これ以外に活用方法が未だに見つかりませんが、複雑な計算が必要な場合などに関数を定義して、Sassには計算式を書かないといった方法があるのかと思います。

おまけ

簡易evalが出来るメソッドです。
出力は、数値・真偽値・文字列にしか対応してないです。

KitematicっていうDockerのGUIツール

今回は全く中身がないですが、KitematicっていうDockerの比較的簡単に操作出来るGUIツールがあるみたいです。
Dockerを初めて触る人にはいいのかな?と。

私が使う用途には合わないかな.

DockerイメージのCentOS7にOrionを入れてみる

後輩が母校で勉強会を開いていたので行ってきました。
テーマは「Git」のようで、大分慣れない様子の参加者が多く見られましたが、何とかやっているようでした。
そこで使ったDockerをサッと紹介してきました。
Gitとは全く関係なさそうに見えますが、「Gitでサーバの構成をバージョン管理する」という体で一応話してきました。

内容に関しては薄いので割愛しますが、EclipseOrionが起ち上がるDockerfileを書いてみました。
Dockerをまともに触り始めて1週間も経っていないので汚いと思います。
ここはこうした方がいいよ?という部分があれば、教えていただけると幸いです。