hatena dialy → hatena blog 重い腰あげました。 コンバート機能よくできてました。
いろいろ調べたことのメモ書きです。 runtime permissionを対応する。 Android Marshmallow対応!Permissions事始め http://qiita.com/chihiro/items/314c1a69d2f2e122aad6googleのサンプルソース https://github.com/googlesamples/android-RuntimePermissi…
aaptコマンドはパスを通す必要あり。 [androidSDKのパス]/build-tools/[version]/aapt # ビルド ./gradlew assembleStaging ./gradlew assembleRelease # バージョン名取得 versionName=`aapt dump badging app/build/outputs/apk/app-*-staging.apk | sed -…
トラッキングIDである設定xmlファイル中のga_trackingIdの値をbuild flavorごとに切り替えたい。 当たり前にできると思ったが標準でできなそうで結局hack地味たことした。 android開発って罠多すぎるんだけど大丈夫かねgoogleさん。。 対処方法 Tracker t = …
下記でできた。 LENGTH(col1) - INSTR(REVERSE(col1), '#') 指定文字列の前か後の文字列を抜き出す場合 対象文字列 : hoge#hoge2#endendを抜く (最後の#より後を抜くSQL) (簡単) SELECT SUBSTRING_INDEX(col1, '#', -1) FROM (SELECT 'hoge#hoge2#end' col1)…
なんで作ろうと思ったか C#のmemcachedセッションライブラリがバグってて無期限データ入れやがったー。 そのまま放置して130万件にもなりやがった。 くそー 消したい。flush_allすると全データ消えて既存ユーザーが強制timeout扱いなるからそれは避けたい。 …
はじめに 管理画面等で膨大なデータをcsvで落としたい時等に そのままDBから文字列を作って返すと反応がないままタイムアウトになると思います。(なんせ全部メモリに落とすのだから) こういう場合の回避方法(2パターン) db等にリクエストをキューイングし…
rails3.1でclass_inheritable_accessorがdeprecatedになりました。 warningメッセージ class_inheritable_attribute is deprecated, please use class_attribute method instead. Notice their behavior are slightly different, so refer to class_attribut…
更新履歴 2011/9/28 rails3.1対応 2011/6/27 ActiveModelImplの継承の継承したクラス対応。 2011/6/23 リリース 概要 ActiveModelを使うとDBに保持しないモデルが作れます(ある程度ActiveRecord互換の機能が動く) ただしそのままでは簡単に使えなそげ。機…
アクセサにしたい理由 viewで[]でアクセスするのはかっこわるい。ARと同様にアクセサがいい! 外部APIを叩いてJSONで返ってきたものをViewで使う場合など 実現方法 HashをStructに変換します 変換コード def self.hash_to_struct(hash) vals = *hash.values.…
<%= link_to "<b>あいうえお</b>", :action => :index %> 2.3.8+XSSプラグインの結果 <b>あいうえお</b> 2.3.5+XSSプラグインの結果 あいうえお bタグが適用されてます (ちなみにlink_toの問題を把握してない人のために言うと、XSSプラグイン関係なく2.3.5以前のrailsでも…
ActiveRecordは基本ずっと接続をはりっぱなしにします。なので長時間接続をはりっぱなしにするため タイムアウト等で接続がきれると問題がでます。 MySQLでDBの接続がきれるタイミング 状況別 Railsの場合 HTTPリクエストのあるたびに接続が切れてないかを確…
接続がきれるタイミング(環境によってはもっとあるでしょうが) MySQLのtimeout my.cnfのwait_timeout デフォルト値は8時間 SLBを経由してDB接続している場合はSLBのtimeout ipvsadm --set tcp tcpfin udp (set connection timeout values) デフォルト値は5…
見たくもないレガシーDBにアクセスする用事があるんですよこれが。(あー触りたくない) railsでは使うことのない複合プライマリキーが使われてたので これに対応するためにプラグインのcomposite_primary_keysを使いました。 ただちょいとバグがありで、rai…
当たり前といえば当たり前なaliasの挙動の話です。 わかってたはずなのに、とある状況だと気づかなかったのでメモります。 今回はまった部分は以下の部分の修正 ・railsでdb保存した場合に自動でcreated_at列に現在の時間が入る機能。 これををレガシーDBの…
昔のアプリのDBにActiveRecordで繋げる必要がでたので プライマリキーの名前を変更するset_primary_keyというメソッドを使いました。 そしたら動かない。。idはない列ですとでる。 なんでだろ。。 Railsレシピの通りに書いてたのに。 (間違い版) set_prima…
実行条件 100プロセス同時に5000行の書き込みを行う。 テストコード 100.times do pid = fork do open(File.join(File.dirname(File.expand_path(__FILE__)),"aaaaaaaaa.log"), 'a') do |f| f.sync = true # syncしないと文字列が途中でおかしくなる…
前書き 受信したデコメをパースしたいと思います。 パーサーにはTMailを使用します。 Railsは使用しません。 空メの受け取り部分については書いてません。空メの内容を受け取った後の処理になります。 別にデコメに限らずただのテキストメールのパース、携帯…
最近rubyを1.8.6p369にアップしたんですが capistrano2.5.5+ruby1.8.6p369 だと複数の設置先がある場合に固まりました。 (パスワード入力までいかなかったり、パスワード入れれてもその後で固まったり。設置先が1箇所の場合は問題なくできました) rubyをr…
作り方 例えば検索インデックス登録用バッチとしてcreate_search_indexというバッチを作る場合 ファイル構成 app/ batch/ ← このフォルダを追加 create_search_index/ create_search_index_batch.rb - railsバッチを定義する create_search_index.sh.sample …
設置の単位を分けたい場合があります。 例えばステージングと本番環境(プロダクション)や、ウェブアプリとバッチ等です。 やり方 deploy.rbファイルを用途別に作成する。 config/deploys/staging_web.rb(ステージングweb) config/deploys/production_web.r…
sshでgatewayに接続した後、そこを踏み台として他のpc(Webサーバー,DBサーバー等)に繋いで作業する場合があると思います。 (設置先が自社サーバーではなく、外部のサーバーを使う場合やレンタルサーバー等で仮想環境を使用している場合等でしょうか) capis…
ご存知の通りcronでは一番短い単位で1分ごとにしかアプリを実行できない。というわけで秒単位で起動できないかをググったら 30秒おきに稼動させたいならこうするらしい。 * * * * * myapp & sleep 30; myappけどこれだと5秒おきとかはcronの設定が大変なこと…
セッションをdbに格納してる場合は注意しないといけなそうです。例えば検索フォームを表示したままで放置して その後タイムアウトしてるのに検索をした場合(postする) InvalidAuthenticityTokenになりました。 挙動 セッションのストア先により動作が変わ…
問題 rails2.1のサイト(リバースプロクシ使用)をwillcomの高速化サービスのプロクシ(フロントプロクシ)を使うと IP spoofing attack?! というエラーになってしまいました。 (恐らくこのエラーを出すようになったのは2.1からっぽい。) 理由 ソースをお…
routesで切り替えられます。(本当は上流のリバプロとか、アプリに機能を組み込むのがいいと思いますが。簡易的な技ということで)routes.rbの上のほうに下記追加(上に書くのは一番最初に判定してもらうため) #map.connect "*anything", :controller=>"mai…
諸事情でセッションIDがクッキーで渡されなく、リクエストパラメータ(クエリーストリングやpost等) で渡される場合がたまーにあります。 (外部アプリとの連携をする場合等に発生するケースが多いかなと思います。) こういう場合はsessionメソッドで:cook…
日本最大規模のrailsを使ったサイトのクックパッドで改良して 使ってるとのことなので、そこそこ使えるのだろうとのことで 改良するの覚悟でチャレンジしてみました。下記がオフィシャルページ?(ただのblogの1ページだけども) http://revolutiononrails.…
先にいうと、あることはあるけど メンテされてなくて最新のrailsでは動きませんでし。 そのうち使えるようになるだろうと信じてのメモ書きです。 急いで使うなら自分で作るか、改良する必要になります。 magic multi connections findする際にモデルの頭に接…
前書き publicフォルダにswfをおいた場合に thinだとcontent-typeがtextになってしまうようです。 これだと携帯でのflash表示が失敗するので(mimeが違うとau,softbankは見れないっぽい。docomoは無視して表示するみたいだが) そのためflashのmimeをきちん…