2016-01-01から1年間の記事一覧

Redmine + view customize pluginで連続タスク入力を楽に

Redmineを使い始めたのですが、最初にどんどんタスクを入力したいんだけど、バージョンとか親タスクとか入力が面倒だし、入力を忘れるとガントチャートで変なところに表示されるので、テンポ良く入力できませんでした。 View customize pluginを使って、issu…

Futureパターン2

concurrent-rubyをつかうとfutureパターンが、かなりきれいに書ける。 github.com require 'concurrent-edge' Concurrent.future { raise "exception" if [true, false].sample true }.then {|m| puts "succeed #{m}" # 成功した時の処理、viewになげたり }.…

SlimでHTMLメールを送る

HTMLメールをrubyで送るのにslimテンプレートエンジンを使いたくて。 require 'mail' require 'slim' mail = Mail.new do from = 'foo@example.net' to = 'bar@example.net' subject = 'html mail' end @name1 = 'Sherlock Holmes' @name2 = 'John Watson' m…

Futureパターン

EventMachineでFuture(Promise)パターンするときの例文をメモ GitHub - cotag/em-promise: A promise/deferred implementation for EventMachine require 'em-promise' def testMethod deferred = EM::Q.defer EM.defer do begin # databaseなどを非同期処理…

Exchange serverでメールを送信

Microsoft Exchange serverをつかってrubyからメールを送る方法。みんなActionMailerつかってるけどRailsつかわないときは山ほどgemを入れられるのがつらいので、mail + ruby-ntlmでやる方法をメモ。 require 'mail' require 'ntlm/smtp' Mail.defaults do d…

NVD3.js

綺麗なチャートを表示するのにnvd3.jsを使ってるんだけど、ハマリどころが多いのでメモ。 nvd3.org 追記> こちらにちゃんとしたdocumentがありました。 Nvd3 - reusable charts for D3.js データは各シリーズでx値が一致して抜けがないように。抜けは0やnull…

AccelTCPで遅延削減

ラズパイVPNサーバの総仕上げとしてAccelTCPでレイテンシーを最小化してみた。 AccelTCPは”プロキシサーバ間のコネクションプーリングにより、TCPコネクションの確立時に発生する3Wayハンドシェイクのオーバーヘッドを削減し、比較的小さなデータのやりとり…