タケユー・ウェブ日報

Webシステム受託会社の業務の中での気づきや調べごとのメモ。

Amazon Cognito + AWS JavaScript SDKで作るサーバ不要のアップローダ

ずっと気になってたAmazon Cognitoを使ってみました。 Cognitoを使うと、アプリ側だけでAWSへのアクセス権を与えることができます。 これを利用して、サーバインスタンスなしにいろいろなことができるようになります。 ありがちな例ですが、今日はブラウザか…

Refileを使ってハイテクなアップローダ(機能を利用したサンプル)を作ってみたのでメモ

昨日知ったのですが、Refileというファイルアップロード用のgemがとてもナウい感じです。

CentOS 7 + VMware Workstation のファイル共有(HGFS)で苦しんだのでメモ

バージョン等 CentOS Linux release 7.1.1503 (Core) kernel 3.10.0-229.el7.x86_64 VMware Workstation 11.1.2 VMwareTools-9.9.3-2759765.tar.gz メモ $(uname -r) yum install open-vm-toolsではvmhgfsカーネルモジュールは入らない vmware-tools-patches…

OpsWorks + Rails でロールモデル的な役割分担をインスタンスにもたせるBK

OpsWorks + Rails OpsWorksでRailsアプリを運用しようとした場合、通常の方法では、すべてのRailsアプリインスタンスが同じ設定になり、たとえば つねに1つのインスタンスでのみcronを実行する バックグラウンドタスク専用のインスタンス群を用意したい とい…

Rails + Globalize + Microsoft Translator API で他言語化するテスト

やりたかったこと 表示 言語の判別 ブラウザの言語を判別 URLのパスから言語を判別 言語に応じて表示内容を変える 自動翻訳 入力された言語以外でも表示できるように、他の言語版を機械翻訳で自動的に作成 日本語ロケールで保存すると、英語版を自動翻訳して…

ActiveRecordでサブクエリのJOIN

たとえば 「ユーザー1がコメントした記事の中で、コメントのlike数が1以上の記事を検索する」 SELECT `posts`.* FROM `posts` INNER JOIN ( SELECT `comments`.* FROM `comments` WHERE `comments`.`user_id` = 1 AND `comments`.`likes_count` >= 1 ) liked…

VBoxManage: error: Code NS_ERROR_FACTORY_NOT_REGISTERED (0x80040154)

ArchLinuxにVirtualBoxをwikiに従ってインストールしたけど、仮想マシン作成段階でエラーになったり、VBoxManage listが動かなかったりといった問題が発生。 $ sudo VBoxManage list extpacks VBoxManage: error: Failed to create a session object! VBoxMa…

サマルトリアではなくランプのまおうになりたい

「私には特技がない。でも...」女性WEBデザイナーが10年以上フリーランス活躍してきた秘訣www.huffingtonpost.jp 僕も割と色々やる方ですが、それぞれは専門の一線級の人たちに比べると落ちるとは思ってます。 とはいえ、1人で設計からバックエンド実装、フ…

react-rails のprerender(サーバサイドレンダリング)のとき、コンポーネント中で他のJavaScriptライブラリを使う

僕はjs-routesをよく使うのですが、Reactコンポーネント内で、Routes.hoge_url(this.props.id)とかやってると、そのままではサーバサイドレンダリングするときにこけます。 render_component 'EntryListItem', { entry: entry.to_jbuilder.attributes! }, pr…

OpsWorks で使うunicornのバージョンを変更する

プロジェクト固有のOpsWorks設定は、カスタムJSONよりもカスタムCookbookでの管理の方がバージョン管理できること、設定の一元管理ができること、などで有利だと思います。

オライリー Ebook Store + タブレット + Kindle の具合がとてもよかった件について

私の環境について 今はこちらの環境で落ち着いています。 iPad Air Kindle 電子書籍リーダー メイン i文庫HD 自炊PDF用(OCR済) あまり分散させても気持ち悪いのでなるべく少ないアプリにまとめる方針で使っています。 端末 技術書の場合文字数が多いので、…

Z21とArchLinuxとSynergyと

VAIO Z21がここのところメモリ不足でしんどかったので買い換えを検討していたのですが、思い切ってArchLinux入れました。

Undefined subroutine &Sub::Util::set_subname

WebService::PayPal::NVPというCPANモジュールを試そうとすると、エラー。 Undefined subroutine &Sub::Util::set_subname Sub::Util 1.41 Paul Evans / Scalar-List-Utils-1.41 - search.cpan.org パッチが出てた。 Bug #100863 for Scalar-List-Utils: Sub…

Movable Type を使いこなすためのテクニックや知見を紹介するブログを作りました

今日で31歳のタケユー・ウェブ竹内です。 きりもいいので、予てより考えていたMovable Type マニアックスというブログをはじめることにしました。 これまでも備忘録としてごちゃ混ぜにこのブログに残していましたが、先日ナナエフのマネタイズ部で敷田さんの…

MailMug がユーザによるメルマガ購読登録・解除に対応

MailMugにメルマガ購読登録・解除フォームを付けました。 takeyuweb/mt-plugin-MailMuggithub.com 利用者が自分でメールアドレスの登録・解除を行えます。 自分で登録したユーザに対して適用するロールは変更できます。(デフォルトは メールマガジン購読者…

OpsWorks + Whenever

cron設定をバージョン管理に含めることができるのでありがたいWheneverをOpsWorksで使ったときのメモです。

Movable Type メールマガジンプラグイン MailMug がメルマガ送信用SMTPサーバの設定に対応

このアップデートにより、Amazon SESなどのクラウドメール配信サービスを利用できるようになり、一層安定的に配信できるようになります。

ActiveJob エンキューされることをテスト

test用のアダプタがあるのでそれを使うとActiveJob::Base.queue_adapter.enqueued_jobsでキューイングされたジョブを取得できるっぽい。 rails/test_adapter.rb at master · rails/rails · GitHub で、それを利用して特定のジョブクラスが引数付きでエンキュ…

ActiveJob::Base#perform のブラックボックステスト

作法として正しいかどうかはわからないですが、queue_adapter = :inlineにしてperform_laterすればすぐ実行されるからブラックボックステストはできそう require 'rails_helper' RSpec.describe SendToChatworkJob, :type => :job do before :all do SendToC…

AngularJS cookieにセットしたAPIトークンをHTTPヘッダーに面倒のないように入れたい

Interceptorsを使う方向で落ち着いた。 angular.module('app').config(['$httpProvider', ($httpProvider)-> $httpProvider.interceptors.push 'httpRequestInterceptor' ]) angular.module('app').factory('httpRequestInterceptor', ['ipCookie', (ipCooki…

AngularJS ngResourceでパラメータにtokenを付ける

有名なstackoverflow javascript - AngularJS: How to send auth token with $resource requests? - Stack Overflow がresource.$saveなケースでうまくいかなかったので var tokenWrapper = function (resource, action) { resource['_'+action] = resource[…

CarrierWave + TinyPNG によるお手軽画像最適化gem

CarrierWaveにTinyPNG APIによる画像最適化Processorを追加するgemを作りました。

S3 あるディレクトリ(プレフィクス)のオブジェクトを一括削除(AWS SDK for Ruby)

railsのaws-sdk gemを使ってs3のフォルダ(folder)を削除する 上記記事の方法はSDK v1のものなので。 削除対象のkeyのリスト作成回りとが非常にダサいですが、取り急ぎこんな感じでしょうか。 s3 = Aws::S3::Client.new pager = s3.list_objects(bucket: buck…

Elastic Transcoder ジョブをキャンセルする(AWS SDK for Ruby)

Elastic Transcoder ジョブをキャンセルする http://docs.aws.amazon.com/ja_jp/elastictranscoder/latest/developerguide/canceling-a-job.html ステータスがまだ [Submitted] になっているジョブをキャンセルできます。このステータスは、Elastic Transcod…

Movable Type メールマガジンプラグイン MailMug

昨年末よりちょこちょこ作っていた Movable Type で本格的なメールマガジンを運用するためのプラグイン「[MailMug](https://github.com/takeyuweb/mt-plugin-MailMug)(メールマグ)」のアルファ版を公開しました。

aws-flow-ruby でheartbeartを使ってタスクの進捗率を把握したり死活監視できるようにしておく

Amazon Simple Workflow Service (SWF) from Amazon Web Services Japan 実⾏行行時間の長いアクティビティのサポート ・定期的なハートビートの実⾏ というわけでその方法を調べたのでメモ。 default_task_heartbeat_timeout Activityクラスでハートビート…

AWS::SimpleWorkflow::Errors::ValidationException 1 validation error detected: Value '' at 'decisions.1.member.scheduleActivityTaskDecisionAttributes.activityType.version' failed to satisfy constraint: Member must have length greater than or equal to 1

[AWS SimpleWorkflow 400 0.470025 0 retries] respond_decision_task_completed(:decisions=>[{:decision_type=>"ScheduleActivityTask",:schedule_activity_task_decision_attributes=>{:activity_id=>"Activity7",:activity_type=>{:name=>"EncodeActivit…

aws-flow-ruby で失敗したタスクを失敗の種類に応じて繰り返す

SWFでタスクが実行できなかった場合はリトライ、エラーならそこで終了など、コントロールしたい。

KetaiPostで記事テンプレートをカスタマイズする

KetaiPostでは、メールを受け付けたときに記事本文に設定されるHTMLをMovable Typeテンプレートでカスタマイズできます。 これにより著作権表示を消したり好みのレイアウト、CSSクラスなどを設定できます。

MTクラウドでKetaiPostを使ってメール投稿を使う手順まとめ(Gmail)

この記事は移動しました。 MTクラウドでKetaiPostを使ってメール投稿を使う手順まとめ(Gmail)mt.maniax.xyz