API Meetup Tokyo #9 での発表資料です
メールを送るアプリケーションを作成していると、使われていないメールアドレスで登録された時や、携帯のメールアドレス変更によって登録されているメールアドレスが使えない状態になって、メール送信時にバウンスメールとして返ってくることがある。この時バウンスメールとして返ってくるメールアドレスをアプリケーション側で無効にするなどしておかないと、メール送信の無駄が発生する。また、AWS SESを使っている場合、バウンス率が高くなった場合、規制されることもある( https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/e-faq-bn.html )。 今回は、AWSを利用してバウンスメールとして返ってきたメールアドレスを自動的にハンドリングするというのをやってみたので、それを書いてみる。 前提 今回はAWS SESを利用して、メールを送信して
日本語でHiPEについて触れている文書が少ない気がしたので、自分が知っている範囲の情報を取り留めもなく書いてみた。 ※ 経験ベースで書いているため情報の網羅性や信頼性にはあまり期待しないでください HiPEって何? 「High Performance Erlang」の略。 HiPEコンパイラはOTPが提供する標準アプリケーションの中に含まれている(OTP17.3現在)。 HiPEコンパイラを使うと、ErlangのソースコードをVM(beam)のバイトコードとしてではなく、ネイティブコードとしてコンパイルしてくれる。 (JavaのJITコンパイラのように、実行時にネイティブコードへの変換を行なうわけではない) そのため、速度を重視したい(けどCで書く程ではない)モジュールを実装する場合に、HiPEが手軽な高速化の手段として重宝することがある。 HiPEを有効にするには ソースコードから自前で
PerfectQueue is a highly available distributed queue built on top of RDBMS. PerfectQueue provides similar API to Amazon SQS, while PerfectQueue focuses on reliability and flexible scheduling rather than scalability. PerfectQueue introduces following concepts: At-least-once semantics: Even if a worker node fails during processing a task, another worker takes over the task. Multiuser-aware fair sche
<追記>オリジナルのデザインスプリント文献翻訳はじめました</追記> THE GUILDのメンバーで、Google主催のプロトタイピングのワークショップ「デザインスプリント」に参加してくるなど。ご招待いただき多謝でございます。 デザインスプリントとは? デザインスプリントはグーグルによるデザイン教育メソッドとそのワークショップ。数時間から数日で一気に籠って、商品のコンセプトデザインやプロトタピングを仕上げてしまう高速なデザイン手法です。Googleのベンチャー機関Google Venturesがよく、投資先に行っているものです。 導入事例としては、最近に日本にも上陸したブルーボトルコーヒーのサイトブランディングで行われたのが有名でしょうか。GoogleX内部でも頻繁に行われているようです。本来は5日間でやるこのデザインスプリント、今回は入門編ということで圧縮して2時間で1つの企画を考えます
■ミニスカートの幾何学 32cmの攻防戦 早朝、東名高速で事故渋滞にはまってしまった。仕方がないので、TVを眺めていると、面白い話をやっていた。それは、ミニスカートの丈の話である。何でも、最近の流行はミニスカートの丈が32cmのものであるらしい。女子高生?などが言うには、 「34cmだと長いしぃ。」 「30cmだと下着が見えちゃうしぃ。」だから、32cmだと言うのだ。別に、オリンピック選手でもないのだから、ミニスカートの丈の限界まで挑戦しなくても良いだろう、と私などは思ってしまう。しかし、彼女たちはそう考えないらしい。人それぞれである。 それにしても、スカートの丈が32cmと30cmの間でそんなに、違いがあるものだろうか? 「見える・見えない」を決める分水嶺がその2cmの違いにあるものなのだろうか? 妙に不思議である。 そこで、ミニスカートの幾何学について考えてみることにした。題して「3
Hi all, Is there any difference between “block_given?” vs “defined? yield” ? I dug through the source a bit, but I had trouble finding the definition. Is the former just a wrapper for the latter? Thanks, Dan PS - Found the latter in open3.rb Hi, In message “Re: block_given? vs defined? yield” on Thu, 9 Feb 2006 01:42:30 +0900, Daniel B. [email protected] writes: |Is there any difference between “b
頭痛、首痛、吐き気、おまけに不眠。体調不良で3ヶ月ほど休職していたが本日をもって職場復帰することにした。体調不良の原因は、経営方針転換に伴う撤退交渉(数字が出ている事業や契約締結間もない仕事含む)と上層部の一部が画策する我が営業部の解散・外注化工作によるストレスと積み重ねられた疲労。じっさい、完調には程遠いが、それでも復帰を決めたのは「ゴミは分別して出しておいてくださいね。今日は可燃物ですからね」とため息をつきながらパートに出かけていく妻の背中を見るのはつらかったし、終日ドクターマリオでクスリ漬けの生活をしていてはダメ人間になると思ったからだ。 よーし、毒をもって毒を制してやる、僕が殺られるか、会社が殺るかだ!という仁義なき気概で出勤した午前9時、おかしいね、会社に入りたいのに入れない。社員カードが無効化されていてドアが開かない。パワハラか、モラハラか、セクハラか。すかさず僕は総務部長に電
git-diffでは通常は行単位の差分しか表示されないので、CSVファイルの特定の行の1列だけ変更された場合にも、どの列が変更されたのか確認するのが難しい。 $ git diff diff --git a/1.csv b/1.csv index 6cb4d44..3d84fd8 100644 --- a/1.csv +++ b/1.csv @@ -1,2 +1,2 @@ -a, b, c +a, d, c 1, 2, 3 そこでword-diffオプションを指定すると単語単位での変更を指定してくれるようになる。 $ git diff --word-diff diff --git a/1.csv b/1.csv index 6cb4d44..3d84fd8 100644 --- a/1.csv +++ b/1.csv @@ -1,2 +1,2 @@ a, [-b,-]{+d,+} c 1,
ひとでさんのこの前のYAPCでの発表(ベストスピーカーおめでとうございます)の はてなブログではドメイン駆動など使ってイケてるサービスを作り続けているぜっていう話、 オブジェクト指向やらドメイン駆動の話とかいろいろあったけれども、 結局のところイケてるサービスを作り続けるためには継続的にコードベースも良くしていかなければいけない っていうメッセージがあったのだったのだと勝手に解釈していてすごい共感している。 エリック・エヴァンスの本自体買って中途半端に読んで読みっぱなしなので、 ドメイン駆動設計については何も意見できるところはまだない。 でも最近思うのが、複雑な仕様を手続き的に実装すると確実に複雑なままになってしまうので、 やっぱりビジネス上に現れるルールは単語で表現してコードに起こすという作業をしないと ダメだと思って、ここ数日過去に作ったコードに手を加えるついでに大幅に書き直している。
Go and Ruby-FFI How to write a shared library in Go that can be loaded by Ruby-FFI. With the release of Go 1.5 we got access to a new buildmode called c-shared, which allows you to build shared libraries that Ruby-FFI can load. (Also, anything else that can load shared libraries) Inspiration Filippo Valsorda has already written a very nice article on Building Python modules with Go 1.5 but I natur
面白そうなネタがあったので、自分なりの考えをまとめてみる。 Ruby/Rails 用 DI コンテナ Dee をつくった、あるいは Ruby のカルチャーについて この記事はRuby用のDIコンテナの話題なんですが、DCIについても言及されているようです。比較軸はDIそのものというより、サービスとDCIだと思うので、それについてダラダラといくつか考えをまとめてみます。多分も返事になるようでならないかも。それと宗教上の都合でDDDの視点から書きます…。 サービスという言葉はあいまい まず、簡単に前提の整理から。単に”サービス”って言葉が何を指すのか結構曖昧です。 サービスは簡単にいうと手続きとか振る舞いのことですが、細かくいうと、PofEAAでいうサービスと、DDDいうサービスは、目的が異なります。前者はアプリケーションのためにドメインモデルを再利用するためのものです。後者はドメインの知識
このエントリは Ruby on Rails Advent Calendar 2014 の 7 日目のエントリです。 前日は seri_k さんの「Turbolinksさんと上手く付き合う10の方法」でした。 お詫び WIP です。公開期限に間に合わない可能性があるため、まだ途中ですが先に公開してしまいました。 サンプルコード等を後ほど追記する予定です。 → 12/08 18:10 追記しました。 Rails のファットモデル問題 Rails で構築したアプリケーションが大規模になり機能が増えていくにつれてモデルが大きくなり、そのうち手がつけられなくなる問題は古くから指摘されています。これについてはもはや詳細を述べるまでもないと思うので割愛しますが、この問題は 2014 年になった今でも多くの開発チームを悩ませていると感じています*1。 このエントリでは、普段 Rails を業務で使いながら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く