タケユー・ウェブ日報

Ruby on Rails や Flutter といったWeb・モバイルアプリ技術を武器にお客様のビジネス立ち上げを支援する、タケユー・ウェブ株式会社の技術ブログです。

技術

MovableTypeのダッシュボードウィジェットをプラグインから強制的に表示したり非表示にしたりする

ダッシュボードの表示・非表示設定は何処に入っているのか?ステータス切り替えアクションを追ってみた。 MT::App::update_widget_prefs を見ると、 $user->widgets であることがわかった。MT::Authorのwidgetsは 'widgets' => 'hash meta', のように定義さ…

EC2でRHEL6.4のAMIから起動したインスタンスに二度とSSH接続できなくなる恐怖のバグ

さんざんはまったのでメモ。 RHEL6.4のAMIからインスタンスを起動 再起動 sshdの起動に失敗し接続が不可能になる 何時間か浪費した後、イメージ側のバグだったことが判明orz

サーバ構築という仕事について

ーバ構築を自力または外注で考えている方は、 - 構築費用はピンキリ 単純に値段だけみないでその中身を確認する - サーバ会社または自社に置く場合は電気代・部品代等だけでなく、管理&運用の(人/時間)的コストも計算に入れる - 管理費をケチると犯罪の片棒…

MT::Object->search_by_meta() でカスタムフィールド以外での検索条件を追加する

MovableTypeでサイトを構築していると、カスタムフィールドを使ってあれやこれや結構ややこしいことをしたくなります。(JOINまみれになるのであんまりよくないのですが・・・) その場合、プラグインを作ったりするのですが、カスタムフィールドで検索するのに…

モバイルアプリケーションで使用するファイルを配置・利用する

Delphiでかんたん iOSアプリプログラミングのタイマー作成サンプルのところで、「配置」を使った例がありますが、これをそのままAndroidで試しても動きません。(「付録B.ローカルストレージについて」で説明があります)

ActiveRecord::Baseを別のDBに対して使う

以前Rails1で作ったアプリから、新しく作ったものへデータを移行することになりました。 規模もそこまで大きくないし、rakeでActiveRecord使って操作すればすむレベルです。 ただし、違うデータベース、DBMSも違います。定期的に接続方法を忘れるのでメモで…

nginxでPC/スマホ/ガラケー別にキャッシュする

こんなかんじで、これと組み合わせて、それぞれキャッシュするようにしてます。 判定条件はmt-plugin-httpuseragentと同じです。 set $ua pc; set $general 1; set $smartphone 0; set $featurephone 0; set $docomo 0; set $au 0; set $softbank 0; set $ip…

MovableType で.php書き出しをしてPC/スマホ/ガラケーの出し分けをする

DynamicMTMLとか使えない・使いたくないケースで。単にPHPでUAの判別してるだけです。 ただしPHPだけではプレビューできないので、拙作のmt-plugin-httpuseragentと組み合わせてます。 案件で使ってるので問題があれば修正。 UserAgent判定PHP テンプレート…

ダッシュボードの「サイト情報」に独自のグラフを追加する

MovableType 6.0 の新機能に「Site Stats」というものがありますね。 MTDDCの時「実はPlaggableでプラグインからグラフデータを追加することもできる」と聞いていたので、気になっていました。 Mtddc2013: Movable Type 6 Overview from Yuji Takayama …

プラグイン設定の入力チェックを行う方法メモ

必要になったので調べてみたメモ。

FTP PASV 使用時のiptables設定でわすれがちなこと

FTP PASV設定(vsftpd) http://centossrv.com/vsftpd.shtml iptables例 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT_COUNTRY でこれを動作させるには ip_conntrack_ftp カーネルモジュ…

PostgreSQLのWALの不整合

こんなエラーが。 Sep 20 10:02:07 system postgres[3044]: [97-1] LOG: archive command failed with exit code 1 Sep 20 10:02:07 system postgres[3044]: [97-2] DETAIL: The failed archive command was: cp -i pg_xlog/000000010000004E000000AF Sep 20…

GoogleAnalyticsのプロファイルIDが行方不明になったので捜索した結果

GoogleAnalytics連携プラグインなどでたまに設定することになる「プロファイルID」ですが、最近のアップデートで管理画面が新しくなりどこにいったのかわからなくなったので探しました。(UA-からはじまるのとは違う奴です)

記事に設定されたカテゴリのうち、あるカテゴリの子または子孫に属するもののみを表示する

たとえば、製品情報をMTのブログ記事で管理していて、カテゴリで製品の「分類」や「事業部」などを保持している場合に、ブログ記事アーカイブ中でその製品を管轄する「事業部」を表示したくなったときなど。(えらく具体的な例だ) カスタムフィールドで保持…

カスタムオブジェクトをカスタムフィールドの値で検索

対象バージョン MT5.2.7-PowerCMS3.22 MTEntriesみたいにfield:モディファイアかと思ったらだめだった。 <mt:Books field:hoge="fuga"> <$MTBookName escape="html"$> <mt:Books> オプションプラグイン「SearchCustomObjectField」で対応していました。 <mt:SearchCustomObjectField field="hoge" query="fuga" class="book"> <$MTCustomObjectName escape="html"$> </mt:searchcustomobjectfield></mt:books></mt:books>

CGI + Sinatra + jpmobile

手軽にやるときはただのCGIスクリプトとして作りたい。 テンプレート処理など面倒はSinatraにまかせつつ、jpmobileの各種フィルタ・ビュー振り分け、絵文字変換などを利用したい。(昔 rack-ketai というgemを書いたが、jpmobileがrack対応した時点で役割を…

Connection attempts using mod_proxy

Logwatchから以下のようなレポートが届いた。 --------------------- httpd Begin ------------------------ Connection attempts using mod_proxy: 111.241.36.22 -> mx3.mail2000.com.tw:25: 1 Time(s) 111.241.39.245 -> mx2.mail2000.com.tw:25: 1 Time(…

SugarSyncの暗号化について質問してみた

クラウドストレージサービスの「SugarSync」、セキュリティの強さを謳っていました。同様の解説をしているページもいくつかあります。 http://www.sugarsync.jp/world/biz.html クラウドというと、何かと心配なのがセキュリティ。 ファイルのアップロード・…

Rails RSpec のコントローラテストでデフォルトのパラメータを設定できるようにしてみる。

以前RSpecの拡張の練習がてら、こういうのを require 'spec_helper' describe Api::SpotsController do describe "GET 'index'" do it "returns http success" do get 'index', format: 'json' response.should be_success end end describe "GET 'show'" do…

Windows8 + IntelliJ IDEA(RubyMine) + Ruby 2.0 + Rails環境の整備

いろいろハマりましたが、だいぶすっきりインストールできたのでメモ。 環境 Windows 8 Pro 64bit Ruby 2.0.0 Ruby on Rails 4.0 / 3.2 IntelliJ IDEA 12 Ultimate + Ruby plugin 5.4.0.20130703

Gemfile中でplatformによる分岐をする

RUBY_PLATFORM定数を利用するのが多いみたい # Windows(MinGW版)ではunicornを使わ(え)ない unless RUBY_PLATFORM =~ /mingw32/ gem 'unicorn' end

AngularJS + MovableType Data API でインクリメンタル検索してみた

Movable Type 6の新機能「Data API」。 藤本さんをはじめ皆様がすでにいろいろ試されていますが、僕も少し触ったのでメモ。 プログラマな人には好感触ですが、デザイナーさんにはいまいちピンとこないのではないでしょうか。 Data API自体はこれまでとは違っ…