リア充爆発日記

You don't even know what ria-ju really is.

さくらのVPSにMySQL5.6をかんたんにインストールするメモ

まぁ、こまけーことはいいからすぐに最新が使いたいんだよ。という向きにはおすすめ。 http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.htmlMySQL本家が、yumリポジトリを提供している。 さすが本家ということで、5.6.15が最新のGAのと…

RubyでEnumを使いたかったらenumerize

追記)この記事古いので、Rail4.1以上を使う場合は、ActiveRecord::Enum使ったほうがいいと思います。https://github.com/brainspec/enumerize結論からいうと、これはいいです。 例えば職業や性別なんかのDBで管理するほどのもんじゃないものはコレで扱うと…

Redmine2.4をインストールしようとしてMysql2::Error: Index column size too large

Redmine2.4をCentOS6.4+MySQL5.5にインストールしようとして、ひさしぶりに以下のエラーをみた。 Mysql2::Error: Index column size too large. The maximum column size is 767 bytes.: CREATE INDEX `wiki_pages_wiki_id_title` ON `wiki_pages` (`wiki_i…

TitaniumでAndroidアプリをリリースビルドしたときだけ上手く動かなくて泣いた話

リリースビルドと開発ビルドで何が違うかというと、リリースビルドのときはJSにminifyがかかります。で、こういう配列があったとき,悲劇が起こります。 GENRE: "01": "ほげ", "02": "ふが", "03": "もが", minifyがかかると、"01"は1にされちゃいます。マジ…

rbenvで新しいrubyのバージョンをインストールしようとしてエラーが出たときのメモ

homebrewの人でrbenv intall 2.0.0-pxxxでこけてエラーログがこんなだったら・・・ 1 warning and 1 error generated. make[2]: *** [readline.o] Error 1 make[1]: *** [ext/readline/all] Error 2 make[1]: *** Waiting for unfinished jobs.... ~~~ ld: w…

MySQLでdatetimeをSQLで修正するときに便利で意外だったこと

5.6.13で確認。 | id | name | updated_at | created_at | +----+------------------+---------------------+---------------------+ | 1 | リア充 | 2013-10-04 16:26:47 | 2013-10-03 06:15:46 | こんなデータがあったとして、 update users set created_a…

TitaniumのAndroidでGoogle Mapv2を使った時、なぜか2回目以降のアクセスから真っ黒になってしまったときのメモ

検索用。https://developer.appcelerator.com/question/156521/timap---map-shows-only-after-clear-data-otherwise-is-emptyblackAndroidManifest.xmlのtargetSdkVersionが14以上だとそうなるらしい。。。もうわけわからないよ。こんなわけわからん設定でOK…

コマンドラインでのTitaniumのバージョンアップ方法

$ ti -v 3.1.2$ ti login Titanium Command-Line Interface, CLI version 3.1.2, Titanium SDK version 3.1.2.GA Copyright (c) 2012-2013, Appcelerator, Inc. All Rights Reserved.Please report bugs to http://jira.appcelerator.org/Username: Password…

Titaniumで[ERROR] Error generating R.java from manifest

ビルド中に以下のようなエラーがでたら・・・ [ERROR] Error generating R.java from manifest tiapp.xmlのIDがFQDN形式ではないtestのようになっていないか確認する。 com.example.textのようなかたちじゃないと、エラーになる。艦隊これくしょん~艦これ~(…

TitaniumでAndroidアプリを配信する手順メモ

Google playを経由してテスト用や本番用のアプリを配信する手続き。これの和訳。 http://docs.appcelerator.com/titanium/3.0/#!/guide/Distributing_Android_apps 手順 Google playへの登録 キーペアと証明書の生成 キーストアの確認 アプリが正しいキーで…

TitaniumのTableViewの中のImageViewの横幅が画面幅いっぱいにならなかったときの対策メモ

TableViewの中でリモートの画像を読み込むImageViewを画面幅いっぱいに表示しようとしたところ、どうにもこうにもランダムに画面幅にいっぱいにならず、両脇にスキマができるような状況が発生した。発現パターンがつかめず、対応にあぐねていたところ、Table…

Railsでバリデーション前に文字列の前後のスペースやタブを取り除くメモ

ベースにこれを使う。 https://github.com/holli/auto_strip_attributes gem "auto_strip_attributes", "~> 2.0" で、これだけだと全角スペースには対応してないけど、さいわい好きな処理を挟めるフィルター機能があるのでそれを使う。っていうか、これ使う…

RailsにJbuilderを導入したら、レスポンスが帰ってこなくって困ったでござるの巻

まず最初にJbuilderってJavaのなんかだと思った。富士通とかそういうところが出してるIDEとかなんかそういうの。10万くらいしそうな。で、そうじゃなくてレスポンスをjsonで組み立てるときに使うやつ。 https://github.com/rails/jbuilderWebAPIサーバなんか…

TitaniumでTabelViewからTableViewRowを全部消す方法

APIドキュメント見たらremoveAllChildrenとかあるのでそれかと思って使ってみたけど、びくともしない。で、俺は調べた。スタッフも一生懸命探しました。そして、見つかりました。 table = [] はぁ?『惡の華』Blu-ray 第一巻出版社/メーカー: キングレコード…

Railsでforce_sslしたらELBのヘルスチェックが通らなくて困ったときのメモ

いろいろ紆余曲折したけど、ELBからのリクエストヘッダにはHTTP_X_FORWARDED_FORがついているが、ヘルスチェックにはついてないので、これを利用する。environments/staging or production config.force_ssl = true config.ssl_options = { exclude: proc { …

Railsのmigrationで緯度経度をdecimalで設定する

http://guides.rubyonrails.org/migrations.html と http://dev.mysql.com/doc/refman/5.6/en/fixed-point-types.html と http://gis.stackexchange.com/questions/8650/how-to-measure-the-accuracy-of-latitude-and-longitude/8674#8674文系なんで、用語の…

rubyで2点間のランダムな緯度経度を生成する

http://stackoverflow.com/questions/12846099/create-a-random-set-of-latlngs-inside-a-boundingbox rng = Random.new(seed) lat = minLat + rng.rand * (maxLat - minLat) lng = minLng + rng.rand * (maxLng - minLng) 劇場版 魔法少女まどか☆マギカ [前…

RailsのDirtyはなぜDirtyというのか。

教えてください。http://api.rubyonrails.org/classes/ActiveModel/Dirty.html ActiveRecordの状態をトラッキングできる便利なモジュール。これを使うと、非公開から公開になったタイミングで公開日を入れる、的な処理がキレイに書ける。 before_save :publi…

Railsで管理用のアプリをnamespaceで同居させるときのメモ

やりたいこと 管理アプリもフロントアプリも同じプロジェクト内で共有するのがいいに決まってる。と思ってる とはいえフロントからアクセスされないようにネットワーク設定以外に、アプリ的にも対応しておきたい。 管理アプリは/adminというプレフィクスパス…

Paperclipでオレオレmasker

ImageMagickの参考サイト http://www.imagemagick.org/Usage/thumbnails/#border_overlay記念の残しておく。maskのための画像は別途用意しておくこと。 paperclipのgithubのドキュメントとthumbnailプロセッサーのソースを読んでがんばった。 https://github…

PaperClipでリサイズ指定

ありがたやありがたや・・・http://blog.rono23.org/12 '100' 横幅固定でリサイズ 'x100' 縦幅固定でリサイズ '300x200' 指定した値を最大値としてリサイズ '300x200^' 指定した値を最小値としてリサイズ '300x200>' 指定した値より、大きいときリサイズ '30…

strong parameterとaccepts_nested_attributes_forを併用する方法

こんな感じのとき class Parent < ActiveRecord::Base has_one :child accepts_nested_attributes_for :child こんな感じでやる params.require(:parent).permit( :name, :name_kana, child_attributes: [ :name, :name_kana, ] ) 福本作品もいいけど、甲斐…

Railsで検索フォームのバリデーションをかける

検索フォームの入力値もちゃんとバリデーションかけないと脆弱性のスクツになってしまいます。RailsCastにひとつの答えが載ってた。 http://railscasts.com/episodes/111-advanced-search-form-revised ※有料記事 かんたんにまとめると、検索をひとつのリソ…

TitaniumでTableViewにTableViewRowが追加できなくて死にたくなったメモ

RTFMだった件。 @articles.fetch( success: => for article in @articles c = Alloy.createController('row') c.articleTitle.text = article.title $.articleSection.add c.getView() Ti.App.fireEvent('onloadView') ) とかやってたんです。 Titanium Allo…

Titanium AlloyのSync Adapterでナイススケルトン2

前回で、サーバサイドとクライアントサイドの分業がしやすくなった!とおもったけど、あれだと1種類のmodelにしか対応できていない。articleの開発は問題なく進められても、author絡みの開発をするには、また別のアダプターをつくらないといけなくなっちゃ…

Titanium AlloyのModelをいじっててハマったメモ

記事を表示する記事画面のarticleという画面があった。 article.xml <Alloy> <Window> ~snip~ idを省略することによって、controller名が自動的につくので、このWindowのidはarticleとなる。 記事の内容を表すModelとしてやっぱりarticleというModelを作った。別にふつうの</window></alloy>…

Titanium AlloyのSync Adapterでナイススケルトン

http://docs.appcelerator.com/titanium/3.0/#!/guide/Alloy_Sync_Adapters_and_Migrations backboneに限らず、だいたいModelはDBなどのストレージとデータ構造の同期をとることによって永続化する。とかその逆とか。 backboneはBackbone.syncというメソッド…

Titanium AlloyのListViewに見事打ち砕かれたリア充のその後

あらすじ Titanium Alloyのレイアウトについていろいろ試したメモ2-画像編で絶望に打ちひしがれたリア充は、新しめの機能に調子に乗って手を出した己を恨む一方で、迫る納期に背中を押され、捨てたはずのTableViewに近づいていくのであった。 <Alloy> <Window backgroundColor="white"> <TableView id="table"> <TableViewSection> <TableViewRow> <ImageView image="/images/tmp_image/150x150.png" /> </TableViewRow> </tableviewsection></tableview></window></alloy>

Titanium Alloyのレイアウトについていろいろ試したメモ2-画像編

前回の続き。今度はラベルを画像にしてみた。とりあえずhorizontalとverticalの比較を。 <Alloy> <Window class="container"> <View id="wrapper"> <ImageView image="/images/tmp_image/150x150.png" /> <ImageView image="/images/tmp_image/150x150.png" /> <ImageView image="/images/tmp_image/150x150.png" /> </View> </Window> </Alloy> "Window": {…

Titanium Alloyのレイアウトについていろいろ試したメモ

ListViewでheightの設定がキマらない。そんな経験はありませんか? 今回はListViewでやや複雑なレイアウトを組んでたら、パニックになったので、初心に立ち返って仕様を確認してみる。まずは超シンプルなレイアウトについて再確認してみる。 <Alloy> <Window class="container"> <Label>1つめのラベル</Label></window></alloy>…