Knife-Zero まとめ

前回のData Bagの記事に加え、サーバー構成管理ツールKnife-Zeroおよび関連ツールの使い方を備忘録として記します。 なおRecipeの書き方については今回割愛させていただきます。

Knife-Zeroについて

Chef-Serverなどを介さずに直接サーバーにChefのインストール、Cookbook(サーバーをよしなにセットアップしてくれるやつ)を実行してくれるものです。素でChefを使うよりも楽に管理できると先輩氏から聞いています。

www.atmarkit.co.jp

弊社のサーバー構成管理ツール群の中でのKnife-Zeroの立ち位置は以下となります。

  1. CapistranoRailsの管理
  2. Knife-Zero…AWSで定義したサーバーの中で動くソフトウェア(nginxなど)の管理
  3. Terraform…AWSの管理
続きを読む

JavaScriptによる画像のペースト

f:id:koyamay:20150511061806p:plain

HipchatやSlackのWebアプリ版で便利な機能の一つとして、画像のペースト機能があります。 クリップボードに保持されている画像をテキスト入力欄でペーストし、アップロードすることができます。

JavaScriptでこの画像のペーストをどのようにやっているのか、その詳細について調べてみました。

tl;dr

  • Clipboard API
  • Hipchat, Slackにおけるペースト機能
  • paste.jsによるFirefoxの対応
続きを読む

Kobitoのエントリーを一度にエクスポートするワンライナー

Kobitoのエントリー全てを.mdファイルとして一度にエクスポートするワンライナーです。

Kobitoのエントリーを複数PCで共有したい機会がありました。OSXの場合はQiitaで紹介されているKobito.db等を共有する方法で問題ないのですが、自分の場合OSXWindowsマシンで共有したいという。しょうがないのでMarkdownファイルをDropboxに書き出す方法を選択しました。

現在Kobito for Windowsが開発中とのことです。リリースされたらOSXと同じ方法で共有できるかも。楽しみです。

続きを読む

Katana + log4netによるWeb APIのロギング

ASP.NET MVCRails::Rack::Loggerみたいなことできないかなという話。Katana + log4netでの実装とtipsについて以下述べていきます。

tl;dr

  • Katanaを使ってログ用のカスタムミドルウェアを作る
  • リクエストからの一連の処理を一意に識別するためにGUIDを使う

ASP.NETミドルウェア

ASP.NETRubyでいうRackのようなものであるOwinが搭載されました。

OWINは Open Web Interface for .Netの略で、 Webサーバに依存しないWebアプリを実現するための規格のようです。 この規格を満した開発を実現するため、Microsoft複数コンポーネントを提供しています。 このコンポーネント群をKatana Projectと呼んでいます。

(via yamamotoさん@社内Advent Calendar)

Owin&KatanaによりASP.NETでもRackミドルウェアのようなものが差し込め、認証やロギング周りの実装がいい感じにできるようになりました。

続きを読む

社内アドベントカレンダーradventについて

社内用アドベントカレンダーradventを作ってから色んなことが起きたのでまとめておきます。

tl;dr

  • きっかけは社内SNSから
  • 実際に作って運営してみてわかったこと
  • 軽く発表した
  • 紹介された

radventとは

f:id:koyamay:20150116100819j:plain

nanonanomachine/radvent · GitHub

Qiita様のアドベントカレンダーを社内のイントラネットでできるようにしたRuby on Rails製のアプリです。markdown形式で記事を投稿することができ、リアルタイムプレビューや画像アップロード機能などがあります。Qiita様と違い、日付が過ぎると登録記事が自動公開されます。

続きを読む