あんパン

こしあん派

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

ActiveRecordでSTIとrelationを組み合わせる

Rails(ActiveRecord)にはSTI(単一継承テーブル)があって,テーブルは1つだけどtypeというカラムでモデルを出し分けることができる.例えば,アンケートの項目には単一/複数選択があり,これらを保存する先のテーブルは1つにまとめたいがプログラム上では別の…

Ridgepoleでfk設定するときはnameが必要

Railsで $ rails g model Hoge fuga:references $ rake db:migrate $ rm -rf db/migrate みたいな感じでモデル新規作成時だけ一旦マイグレーションファイル作ってからRidgepoleのSchemafileにdumpして… みたいな運用してたら詰まった. ActiveRecordのrefere…

RailsでPOSTリクエストのbodyをJSONで受け取る

application/jsonを受け取りたい場合 def params @params ||= JSON.parse(request.body.read, {:symbolize_names => true}) end 書いとくとapplication/x-www-form-urlencodedの場合と同じ感じでparamsを受け取ることができる.APIつくるときに便利. skip_b…

今年のFirefox OS活動

これは Firefox OS Advent Calendar 2015 21日目の記事です。 去年も一昨年も21日に書いていたので今年も21日、と思って今日書きます。 本当はちゃんと開発記事を書こうかと思っていたのですが、卒論その他で余裕がなく今年やったFirefox OS関連の活動とか感…

高専カンファでScratchXの話をしました

昨日、高専カンファの複数トラック発表でScratchXの話をしました。 長引く体調不良と睡眠不足によりスライドが雑なのはご容赦ください。 ScratchXの開発環境の話が雑に終わってしまったので、新しく記事を書きました。この話を期待していた人は以下をご覧い…

ScratchXのExtensionsをES2015で開発できるテンプレートを作りました

これは Scratch Advent Calendar 21日目の記事です。 こんにちは、id:masawadaともうします。普段は京都クリエイティブワークショップというところでScratchなどを扱ったワークショップの企画運営を行なっている人間です。 ScratchXとは ScratchXはScratch 2…

オブジェクトストレージ Minioで遊ぶ

これはKMC Advent Calendar 2015 15日目の記事です。 昨日は id:jf712 さんの @uiureo さん誕生日おめでとうございます - 霊安日記 でした。 目次 目次 はじめに Minioとは Minioの使い方 サーバを起動する サーバを叩く Node.jsから叩く Rubyから叩く Amazo…

RTX1100初期設定

これはmasawada Advent Calendar 2015 4日目の記事です。 初期化 RTX1100の後方にinitボタンがあるので、押しながら起動すれば初期化できる。 DHCPサーバの設定まで telnetする RTX1100はデフォルトでIPv4のDHCPサーバとなっていないのでなにもできない。IPv…

高専カンファ100で発表します

高専生ではないのですが、スタッフに高専生じゃない人もいるということで、高専カンファレンス100 in 東京で発表させていただくことになりました。 まだタイムテーブルなどは出ていないのですが、そのうち出るような気がします。高専カンファ100自体は12/19…

dokku上で動作する係り受け解析APIサーバの作り方

係り受け解析はあくまで例なので、これに関して詳しく知りたい人は他をあたってください。本稿はdokku(Bashスクリプトで作られたHerokuライクなオンプレミスPaaS環境)上でCaboChaを用いて係り受け解析をする簡単なAPIを作成する、というシナリオで、システム…

Android版Firefoxでは文字選択後にtouchendが発火しない

というかマジかこれ Android版Firefoxで文字選択をすると、まずselectionchangeが発火しない。これ自体は標準でそうなっているので仕方ないという感じがする。 Event reference | MDN 571294 - Add selection events 詳細はここらへんを見るとわかる気がする…

AndroidではCSSの:activeが使いづらい話

割と一般的なのかもしれないけどつい最近知ったネタなので共有します。 CSSには:activeという擬似セレクタがあって、要素をクリックしている間だけ特定のスタイルを有効にすることができます。スマートフォンのブラウザにも当然この:activeは存在しており、…

iOSのSafariはselection.removeAllRangesの挙動がおかしい

selectionはwindow.getSelection()で取得することができます。 通常のウェブブラウザだとselection.removeAllRanges()を実行すると選択範囲が解除されます。iOSのSafariではこれが解除されずに残ります。 また、selectionはrangeCountという選択範囲の数を保…

jQueryでtext-overflow: ellipsisの中抜きみたいなことをする

CSSでボックスに収まりきらないテキストを三点リーダとかで省略するやつあって、文字列の先頭か末尾しか省略できない。真ん中を省略したかったのでjQueryのプラグインとして書いた。 github.com 割と雑で、なんとなくコード読んだら使えると思う。 こういう…

dokku環境を作ってStartSSLでhttps化するまで

Heroku使ってますか。Heroku便利なんですけど、最近無料版だとコンテナを24時間upし続けることができなくなりました。 まぁたいていの実験的なWebAppならなんとかなるんですけど、Twitterのupdate-name(なんかのツイートをトリガーに自分の名前変えるやつ)と…

GitLabをOmnibusからmanual installに移行する

サーバまるごと移行する話です。 社のサーバでGitLabを運用しているのですが、GitLabとGitLab CI以外にもSlackのロガーやwiki等のサービスが走りまくっており常にスワップが発生する状態でした。加えてGitLab CIの機能の少なさ、障害が発生した時にGitLab Om…

VimとSyntasticでECMAScript 6の構文チェックをする

Syntasticを使うと良い感じに構文チェックをしてくれる。JavaScriptの構文をチェックするのにいままでjshint使ってたんだけど、いろいろ調べてたらeslintの方が良いのではないかという気持ちになってきたので乗り換えた。(jshintでもES6対応それなりにされて…

iOSとAndroidのブラウザにおけるタッチイベントの発火タイミング

事前説明 iOS 8.4 Android 4.4.4 TL;DR iOSは妥当な動きをする Androidはタップ操作のときtouchendの後に何故かselectionchangeが発火する Android標準ブラウザには不具合があって、touchmoveが走るとtouchendが発火しない 修正方法: http://qiita.com/ooyab…

父親のブログをWordPressからはてなブログに移行した

staff.hatenablog.com ↑いいの出たので画像を移行したくてこのページをご覧になった方はこの機能をご利用ください!!!! 結構前から父親のブログをWordPressでやっていて、最近ずっとメンテがだるいと思っていた。 staff.hatenablog.com この前はてなブログがW…

はてなフォトライフにAtomAPIから画像をアップロードする

はてなフォトライフははてなの画像アップローダ。はてなブログの画像もフォトライフに溜まっていく。先日無料版ユーザの月間アップロード制限がいい感じに緩くなって最高。 staff.hatenablog.com フォトライフにはAPIがあって、画像を投げつけることができる…

pecoでいい感じにgit addするやつ作った

git addするときに階層深いといろいろだるい。peco使うとインタラクティブにaddできる。 gist19c360bf83a2b66a39a0 このシェルスクリプトを実行権限つけて適当なところにgit-paddみたいな名前で放り込むとgit paddで使えるようになる。もちろんpecoがインス…

夜フクロウからpic.twitter.comとかGyazoに写真をアップロードするやつ作った

今日のGyaPC::Asia Tokyo 2015のLTネタです。 YoruFukurouからpic.twitter.comに投稿したりとか、Gyazoに投稿したりとかが現状ではできないのでプロキシを作って、いい感じにアップロードしようみたいな勢いです。 YoruFukurouには画像投稿先をカスタムする…

GyaPC::Asia Tokyo 2015に参加します

明日の晩に行われるGyaPC::Asia Tokyo 2015に参加します。 nota.connpass.com GyaPCは全世界で使われているGyazoというスクリーンショットアップローダサービスのカンファレンスで、中でもGyaPC::Asia Tokyoは世界最大級の規模という噂です。僕はまだ行った…

SOCKS使って電通大の学内コンテンツを参照する

いままでssh hostname -Xみたいな感じで学内の端末につないでX転送してたんだけど、SOCKS使うとこれが要らなくなる。ということを教えていただいた。 @masawada X転送よりは-DオプションでSOCKSプロキシにして手元のブラウザを使うほうがスマートかも— ろ。…

Rails 4.2からのActiveJobでSidekiqをバックエンドにバックグラウンド実行する

Sidekiqとかdelayed_jobとかResqueとかいろいろあって、いままではそれぞれ書き方が違ったけどRails 4.2からできたActiveJobを使うと全て共通の書き方になりアダプタを変更するだけでバックエンドを変更できる。 だいたいここ通りにやれば動く。 tnakamura.h…

VPSとかに一発でWordPress建てられるやつ作った

github.com Debian/Ubuntu専用。Ubuntuでは試していない。specもない。 Itamaeで一気にnginxとphp5-fpmとMySQLとWordPressをインストールする。conf類をがっつり置き換えるのでクリーンな環境で実行すると良い。 nodes/node.jsonを望みの感じに書き換えて(パ…

Android(Chrome)とiOS(Safari)でe.touchesの挙動が違う

touchstart等のtouchイベントの引数eにe.touchesが含まれていて、その中にタッチしている指の情報が順次入る。 指Aを押下 指Bを押下 指Aを離す 指Aを押下 以上の操作をするとiOSでは [指A] [指A, 指B] [指B] [指B, 指A] と情報が入るのに対してAndroidは [指…

ブラウザ上でJavaScript実行するやつ作った

ブラウザ上でJavaScript実行するやつ雑に作った。お前は何を言ってるんだって感じだと思うけど、Developer Toolsの複数行版みたいな感じを想像してもらえば分かるかと。 Developer Toolsで複数行書けるけどミスって履歴のコードに置き換わったりタブが使えな…

BGM for Firefox OS作った

ひとでくんさんが作ったbgm.rbが便利なのでFirefox OSアプリ化して便利になった。 hitode909.hatenablog.com 昨日 Firefox OS大喜利ハッカソン #2 : ATND があって5時間くらいの制約で作った。 前に作ろうとしたときにaudio/mp4再生できないみたいな問題にぶ…

Apple Watchはもう古い

AppleWatchは古い— Masayoshi Wada (@masawada) 2015年4月10日 4/10からApple Watchの予約が始まったが、もちろんぼくは予約していない。シュッと買うには高い。Apple Watchは古くて時代はPebble。4/10にPebbleが届いた。 AppleWatch試着しています pic.twit…