サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
tyn-imarket.hatenadiary.org
RubyでZIPファイルを扱う場合、ziprubyとrubyzipがあるみたいですね。ziprubyは開発が止まってるので今回はrubyzipを使用しました。 require 'zip' doc = Zip::File.open("081220120514033218.zip") do |zip| zip.find {|entry| /tdnet-.+sm-.+\.xbrl/ =~ entry.name } .get_input_stream {|is| is.read.force_encoding "UTF-8" } end p doc # => ファイルの内容
ActiveRecordだけ使う場合config.〜という設定が出来ないので直接指定します。 Time.zone_default = Time.find_zone! 'Tokyo' # config.time_zone ActiveRecord::Base.default_timezone = :local # config.active_record.default_timezone Time.zone_defaultはDBから値を取得した時、ActiveRecord::Base.default_timezoneはDBに値を保存する時のタイムゾーンの設定です。
rbenvを/usr/local/rbenvにインストールし、ruby-buildをpluginsディレクトリに配置して、さてインストールしようと思いコマンドを叩くと怒られるわけです。 一瞬ポカーンとなりますよね。( ゚д゚)ポカーン 原因なんですが、rbenvのデフォルトのルートディレクトリが~/.rbenvだからでした。それが今は/usr/local/rbenvになっててruby-buildを読み込めていないと。 これを export PATH="/usr/local/rbenv/bin:$PATH" RBENV_ROOTを設定して、環境変数を読みこめばOKです。 export RBENV_ROOT="/usr/local/rbenv" export PATH="$RBENV_ROOT/bin:$PATH"
稼働中のWebアプリで一旦メンテナンス画面を表示させて、その間に新しいバージョンをデプロイしたいことがあります。 Apacheだとmod_rewriteを使い全てのリクエストに対してメンテナンス画面のURLに書き換えるか、メンテナンス画面のURLにリダイレクトさせれば良いです。 URLを書き換える単純な例だとこんな感じに。 RewriteEngine on RewriteRule .* /maintenance.html こちらはリダイレクトする例。リダイレクトする場合はRewriteRuleのオプションに[R]を指定します。 同一ドメインにリダイレクトする場合、RewriteCondでリダイレクト先のパスを除外しないとリダイレクトループが発生するので注意です。 RewriteEngine on RewriteCond %{REQUEST_URI} !=/maintenance.html
引き続きAngularJSのDeveloper Guideを読んで勉強しています。 今回はInjecting Services Into Controllersのサンプルコードで、Serviceが登録されてからControllerの中で利用されるまでAngularJSの中では何が起こっているのか、関係のあるところだけ辿って見てみました。 サンプルコードは以下の通り。 angular. module('MyServiceModuleDI', []). factory('notify', ['$window', function(win) { var msgs = []; return function(msg) { msgs.push(msg); if (msgs.length == 3) { win.alert(msgs.join("\n")); msgs = []; } }; }]);
コントローラのメソッドに@ResponseBodyアノテーションを付けるとメソッドの返り値がそのままレスポンスボディになります。返り値がStringの場合StringHttpMessageConverterがMessageConverterとして使用されますが、デフォルトの設定ではレスポンスヘッダのContent-Typeの値が「text/plain;charset=ISO-8859-1」になってしまいます。 「text/plain;charset=UTF-8」にするための簡易な方法として、@RequestMappingのパラメータにproducesを設定することができます。 @RequestMapping(value="/put1", method=RequestMethod.PUT, produces="text/plain;charset=UTF-8") @ResponseBody
※内容に不正確な部分があったため、修正しました(7月14日) Bean定義に値を直接書くのではなく外部のプロパティファイルから取得したい、ついでに設定ファイルからBean定義もなくしたいという場合。 方法は色々あるのでしょうけど、とりあえず設定追加して@Value("${duration.start}")とか@Value("#{duration.start}")とすると取れるみたい。 例えば以下のように設定値を取得するためのBeanを用意します。 @Configuration public class DurationConfig { // 開始年月日 @Value("${duration.start}") private String start; // 終了年月日 @Value("#{durationProps.end}") private String end; public Str
このページを最初にブックマークしてみませんか?
『tyn-iMarketの技術メモ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く