サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
ecpplus.net
Posted on 2013年3月29日 Posted by ちゅう コメントする Posted in Development Tags: Rails ActiveRecord で、条件によってカラムが変わったりするのを serialize した列にテキトウにぶっ込んでおくというありがちな実装の時に、実カラムのように透過的に扱えて validation とかも簡単にかけられる ActiveRecord::Store ちゃん便利。 例えば、SNSのアカウントを sns_accounts 列に Serialize して入れる場合(普通入れないが…) ActiveRecord::Store を使わない時 class User serialize :sns_accounts, Hash end とかして、以下のような感じにします。 user = User.new user.sns_accounts
Posted on 2013年3月20日 Posted by ちゅう 1件のコメント Posted in Development Tags: iOS, Mac, Objective-C magicalpanda/MagicalRecord CoreData の ORMである MagicalRecord の導入メモ。 メソッド名は Rails に近い感じです。何より MagicalRecord っていう名前がお気に入りなので使っています。 導入 動作条件は、 MagicalRecord Platform Requirements: iOS5.x or newer, or Mac OS 10.7 and newer ARC とのことです。 CocoaPods が使えます。Podfile に追加してインストール。 Podfile platform :ios, '6.1' pod 'Magical
Posted on 2007年8月30日 Posted by ちゅう コメントする Posted in Development Tags: Ruby RubyもしくはRailsで配列を扱う時のtips Rubyのメソッド each_with_index eachと同じ感じなんだけど、何番目かっていう数字を一緒に取れる。ループの外で i = 0 と定義して、ループの中で i += 1 とかやらなくておk。ブロックの第一引数が配列の要素で、第二引数が配列のインデックスです。 %w(a b c d).each_with_index do |value, index| p value p index end 実行結果 "a" 0 "b" 1 "c" 2 "d" 3 all? ブロックをとって、各要素に対して条件を指定して、全てが true だったら true を返す。 [1,2,3,4].all?
Posted on 2011年4月14日 Posted by ちゅう コメントする Posted in Development Tags: Linux, nginx Nginx がついに version1.0.0 でリリースされましたね!Nginx は速いのと設定ファイルが書きやすいので大好きです。 Nginx で特定IPアドレスからのアクセスを許可するには、allow, deny を使う。初めにマッチしたところで評価が終了するようなので、deny all; と先頭に書いてしまうと誰も見られなくなってしまうので注意。サブネットでの指定も、単一IPアドレスでの指定もいけます。 server { listen 443; server_name ecpplus.net; allow 192.168.1/24; allow 111.111.111.111; deny all; ... } のように
Posted on 2011年4月14日 Posted by ちゅう コメントする Posted in Development Tags: Linux, nginx Nginx のデフォルトの設定だと、レスポンスヘッダに Nginxのバージョンが含まれているので、セキュリティ的には外した方がベターです。 Server nginx/0.8.53 みたいになっています。 設定で、下記のように server_token off; と書けばバージョンが外れて Server nginx という表記になります。デフォルトの4xx, 5xx のページの下部にあるNginxの表記からもバージョンが外れます。古いバージョンだと、エラーページのバージョンは外れないかも。 http { server_tokens off; ... } とすれば全体で有効になり、server ディレクティブの中に記載すれば、その
東大受験記 from38 ぼくが高校生のとき、高2の最後に偏差値38を取ってから、現役で東大へ合格した時の様子を書いたものです。当時やっていた勉強を時系列で書いてあります。実際に参考にして頂いてご連絡を下さった方もいるので、何かの参考になれば嬉しいです。 合格発表の数日後に書いたものなので、拙い文章の部分が多々ありますが、そのままにしてあります。参考書のタイトルにリンクがはってあるものは、Amazonへのリンクになっています。 もくじ 合格までの軌跡 高2の最後に偏差値38を取ってから、東大へ合格するまでの軌跡です。 オススメ参考書 僕が実際に使った参考書について、どのように使ったかを紹介してあります。 Z会の通信教育 受けていた講座、どうやって使用したかを書きました。 受講を検討している方、現在受講していて活用のヒントを得たい方に役立つ情報です。 オススメ受験対策法 科目別に、僕が良いと
アーカイブ 2024年3月 (1) 2022年7月 (1) 2021年7月 (8) 2021年6月 (28) 2021年1月 (6) 2020年7月 (8) 2020年6月 (12) 2020年5月 (2) 2016年10月 (5) 2016年9月 (3) 2016年4月 (7) 2016年1月 (3) 2015年11月 (2) 2015年6月 (1) 2015年5月 (1) 2014年7月 (3) 2013年4月 (6) 2013年3月 (7) 2013年2月 (3) 2013年1月 (1) 2011年9月 (2) 2011年8月 (6) 2011年7月 (1) 2011年6月 (1) 2011年5月 (1) 2011年4月 (2) 2010年11月 (3) 2010年10月 (1) 2010年9月 (1) 2010年8月 (2) 2010年7月 (3) 2010年6月 (3) 2010
Posted on 2007年1月14日 Posted by ちゅう 1件のコメント Posted in Development Tags: Linux, Rails apt-get で ruby を入れると、stable では 1.8.2 が入るので、mongrelを入れようとすると、バージョンが足りなくて入らない。自分でmake していれると、デフォでは zlib がなくて、No such file to load -- zlib (LoadError) って怒られるので、対処法。一度Rubyを入れたあとに実行すればOKです。 まず、zlibをインストールします。以下のパッケージを入れると zlib も入ります。 $ sudo apt-get install zlib1g-dev 次に、zlib を Ruby から使うための準備 rubyforge から ruby 落として、解凍すると
Posted on 2010年11月22日 Posted by ちゅう コメントする Posted in Development Tags: nginx, Rails Nginx で認証つきで大容量ファイルをダウンロードさせたい時は、X-Accel-Redirect を使います。Rails のファイル操作を介さず、Nginxで直接クライアントへデータを送れます。Lighttpd とか Apache でいうところの、X-sendfile と同じような感じでしょうか。 Lighttpd の場合はこちら -> Rails&Lighttpdで大容量ファイルをダウンロード【変なヤバいもんログ内】 ヘッダに、X-Accel-Redirect でパスを指定して、そのパスを Nginx 側で受けるだけですinternal って付けるのがポイントです。そうすると、このように内部からしか参照できなくなります。
東大受験オススメ参考書 僕が使った参考書について書きました。まず言いたいのですが、良い参考書、悪い参考書っていうのは人によって違います。悪い参考書ならこれは悪い!って言えるものもあるかもしれないけど、良い参考書っていうのは自分に合ってるかどうかで決まるものだと思うからです。なんで、他人がこの参考書はこんな感じだから良いよ。って言っても、その人自信が使いにくいと思ったら、それはその人にとって悪い参考書なのです。以下、悪い→悪いと思う、良い→良いと思う、と読み替えてください。悪い参考書はいくら能率が上がらないので、無理に使わないほうがいいと思います。なので、折角買った参考書でも、悪いと感じたらもったいないと思わずにやるのをやめた方がよいです。お金と時間だったら、時間のほうが大切ですから。なので、以下に書いたことは、あくまで僕が使ってみての感想ですので、参考までに留めておいてください。 僕は、参
Posted on 2021年7月2日 Posted by ちゅう 単数形と複数形で変化する言語の単語を I18n で出し分ける方法です。 en.yml 単数時 (one) とそれ以外を例えば下記のように定義します。 en: apple: zero: no apple one: appl […]
Posted on 2010年7月17日 Posted by ちゅう コメントする Posted in Development Tags: Linux, nginx ログインページや管理画面など、セキュアにしたいページにだけSSLをかける。というのを nginx でやる方法。 たとえば、/admin 以下、 /login 以下をSSLにして、それ意外のページは非SSLにしたい場合です。細かい設定は端折って、upstream appserver でバックエンドのサーバが設定されてるときです。 # HTTP setting server { listen 80; server_name localhost; location ~ ^/(admin|login) { rewrite ^(.*) https://$http_host$1; break; } location / { proxy_p
Posted on 2010年6月17日 Posted by ちゅう コメントする Posted in Development Tags: HTML5, Ruby, Sinatra, WebSocket WebSocketを使って、@projecthl2先生といっしょにリアルタイム連動お絵かきチャットを作ってみました。 おえかきちゃっと♥ WebSocket 速いです!リアルタイムで同期しているので、数人でやると、毎秒サーバと50回とかやりとりしてるのだけど (1回の通信はおそらく100bytesくらい)、サーバ側はほとんどCPU食ってないみたいですね。すごぃ。もし AJAX とか使うとすると、毎秒50回とかサーバにリクエスト飛ばそうとか絶対考えないよ。2窓開いてみると、遅延はほぼ0で通信できてることが分かります。 WebSocket は、やってみたところでは文字列しか送れなさそうなので、
Posted on 2007年12月10日 Posted by ちゅう コメントする Posted in Development Tags: Linux, Mac SuseLinux10.3(chihaya) をサーバにして、 LAN内のSuseLinux10.2(mingosu) からディレクトリを NFS でマウントしてみた。 前提 chiyaha(サーバー)のIPアドレスは 192.168.1.10 で、 mingosu(クライアント) のIPアドレスは 192.168.1.20 とする。 今、 chihaya の /home/test/nfs_test を mingosu の /home/test/nfs_test_mnt にする。システム上でのユーザIDが同一でないとエラーになる ということだったのだけど、たまたま同じIDのユーザがいたので、そのユーザで作業を行う。 サーバ側の設
Posted on 2010年5月13日 Posted by ちゅう コメントする Posted in Development Tags: scala まずは環境構築のメモ。 優しい Scala の育て方を参考に、新しめのバージョンを入れてみた。 scalaのインストール Macならportでもインストール出来るが2010-05-13現在2.7が入るので、Scala公式サイトから2.8RCをソースからインストールする。 % curl -O http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.RC2.tgz 解凍したら、 bin に PATH を通す。 scala と打つと、起動されます。 % scala Picked up _JAVA_OPTIONS: -Duser.language=en Welcome to Sca
Posted on 2007年8月26日 Posted by ちゅう コメントする Posted in Development Tags: Linux Linuxでアプリケーションを自動起動したいときは起動スクリプトかいて chkconfig -add してみたいなことをする。 どんなディストロでも起動スクリプトの書き方は同じなんだろうか(´・ω・`) Redhat, Suse, Debian, CentOSなら行けると思う。例えばPoundはインストールしても起動スクリプトは勝手に出来ないので書く。 普通な場合 # chkconfig [起動レベル] [起動時の優先度] [停止時の優先度] 自分でいれたものだったら、起動レベルは345,45あたりでおk。正直どのレベルに何を置いたらいいのか良く分かってない。起動時の優先度は、低めでいいと思う。逆に停止時は一番最初に止めたいので高めで。 下
Posted on 2009年7月26日 Posted by ちゅう コメントする Posted in Development Tags: Ruby Windows の Ruby で、Thread 内で新規プロセスを立ち上げようとすると、Thread 内で全体の動作を止めてしまうらしい。たとえば、 Thread.new do `something.exe` end とやってみると、something.exe の処理が終わるのを待っているようだ。 Windows+Rubyで外部プロセスを立ち上げる時の注意 にまさにその情報が載っていた。Windows は、Windows::Process 等を使う必要があるみたいです。 require 'rubygems' require 'win32/process' require 'windows/synchronize' require 'windo
Posted on 2008年6月10日 Posted by ちゅう コメントする Posted in Development Tags: Mac, tool Macでzshを使ってみた。漢のzsh っていうのを参考に設定してみた。 まず、デフォルトのログインシェルを変更する。 システム環境設定 -> アカウント -> 自分のアカウントで Ctrl + Click -> 詳細オプション -> ログインシェルを /bin/zsh とすればおk。 上記URLをもとに設定ファイルを書いてみたけど、よく分かってない。デフォで Bash の Ctrl + R みたいな感じな設定なんだけど、慣れたら速そう。慣れるまでストレスになりそう。 autoload colors colors case ${UID} in 0) PROMPT="%B%{${fg[red]}%}%/#%{${reset_color
Posted on 2008年1月2日 Posted by ちゅう コメントする Posted in Development Tags: Rails, tool, Vim Vimで使用するRailsプラグインでよく使うコマンドのまとめ。 ファイルツリー一覧 project.vim が入っていれば、 :Rproject で、ファイルツリー一覧を左側に表示することができます。 ファイルへの移動 :Rcontroller [コントーラ名] 該当のコントローラ(app/controllers/[コントーラ名])へ移動 :Rmodel [モデル名] 該当のモデル(app/models/[モデル名])へ移動 :Rview [viewファイル名] 該当のView(app/views/[view名)ファイルへ移動 :Rlaout [layoutファイル名] 該当のLayout(app/layouts/[レ
Posted on 2008年10月27日 Posted by ちゅう 1件のコメント Posted in Development Tags: Linux, Mac 並び順を変えるのは、 o と打ったあと primary key [+rsize]: と聞かれるので、そのあとに列名を入れればいいようだ。 %CPU でソートする場合は primary key [+rsize]:cpu として、 RSIZE(メモリ使用量)でソートする場合は primary key [+rsize]:rsize とする。 複数列でソートしたい時は、O と打って 2番目に使用するソート列を決める。O と打つと secondary key [+rsize]: と聞かれるので、また列名を入れる。 SUSEの場合は、> とか < で変わってくれる。 o とすると列の入れ替えが出来ます。下の画面で、CPUを一番左に持ってき
Posted on 2008年8月18日 Posted by ちゅう コメントする Posted in Development Tags: ActionScript, Rails, Ruby よりよい家計簿を目指して、RubyAMFを使ってみる。Rails + Flex3.0 でやろうと。 インストール(Rails側) $ script/plugin install --force http://rubyamf.googlecode.com/svn/trunk/rubyamf/ 設定 インストールすると config/rubyamf_config.rb が出来るので、ここで設定を行う。 無視したいフィールドがあったら、下記のように指定する。 ClassMappings.ignore_fields = ['created_at','created_on','updated_at','upda
Posted on 2008年9月24日 Posted by ちゅう コメントする Posted in Development Tags: Rails Railsはデフォルトで UTF-8 だけれども、たまに何ページか Shift_JIS で出したいみたいなことがあって、そういうのは after_action で処理すればよい。 Controller に以下のように書いておけばよい。上位のとこで書いといて、必要なとこで呼ぶ感じに。 after_filter :change_charset_to_sjis, :only => [:sjis_page] def change_charset_to_sjis response.body = NKF::nkf('-Ws', response.body) headers['Content-Type'] = 'text/html; charset=CP
Posted on 2007年7月2日 Posted by ちゅう コメントする Posted in Development Tags: Linux Pound2.3.2 をインストールしたら、前と設定の仕方が若干変わっていた。 昔は、ListehHTTPとListenHTTPSの中にそれぞれ Service を書けば動いたんだけど。公式サイトみたら、若干変わってたような感じがした。 以下の様に、まずListenHTTPSとListenHTTPを書く。その後にServiceを書き始める。SSLの判別はアプリ側でやったほうがよさげ。 ListenHTTPS Address 192.168.1.1 Port 443 Cert "/usr/local/etc/example.pem" AddHeader "X-Forwarded-Proto: https" HeadRemove "X-Forwa
Posted on 2009年5月20日 Posted by ちゅう コメントする Posted in Development Tags: Rails Rails の ActiveRecord で、save! とかすると保存に失敗したとき例外を投げてくれる。例えば、User.create!(params[:user]) とかして、失敗すると、ActiveRecord::RecordInvalid を投げてくれるのだけど、エラーをどうやって取るのか調べたのでメモ。 よくある例で、ユーザが作れたら index へ遷移して、作れなかったら new で再入力させるという場合。 createを使う場合 def create if @user = User.create(params[:user]) flash[:notice] = 'ユーザ作成しました' redirect_to action: :i
ファイルの最終アクセス日を記録しないように以前設定をして、書き込み頻度を下げましたが、/tmp を Ramdisk にして更に書き込み頻度を下げてみようと思います。 Mac OS XでRAMDiskを参考にして設定しました。 で、128MBのRAMDiskが出来ます。/dev/disk1 のデバイスとして認識されています。 ram://xxx の数字は、 512バイトのブロックをいくつ作るかということらしいです。今回は、128MB作りたかったので、128 x 1024 x 1024 / 512 = 262144 を指定しました。 その後、HFS+で作ったRamdiskをフォーマットします。
Posted on 2009年4月22日 Posted by ちゅう コメントする Posted in Development Tags: Rails プログラム中にコメントで # TODO 退会のフローについてメール確認待ち 090420 とか書いたりするのだけど、Rails で使ってると rake で一覧を抽出出来る。 % rake notes app/models/user.rb: * [267] [TODO] 退会のフローについてメール確認待ち 090420 よく見てみたら、TODO以外も拾ってくれるようだ。 % rake --tasks rake notes # Enumerate all annotations rake notes:fixme # Enumerate all FIXME annotations rake notes:optimize # Enumerate a
Posted on 2008年6月25日 Posted by ちゅう コメントする Posted in Development Tags: Linux, nginx, Rails Railsを起動するとき、いつもPoundの後ろで複数ポートで振り分けっていうのをよくやっていたのだけど、unix socket で nginx の後ろで thin を動かすと早いらしいとのことで、試してみた。 環境はOSX thinのインストール $ sudo gem install thin $ sudo gem install eventmachine --source http://code.macournoyer.com 2行目は、thinをsocket指定して動かす時に eventmachin の 0.11.0 以上が必要とのことで、OSXでデフォルトで入らなかったので入れた。 インストールはこれで完
Posted on 2008年2月12日 Posted by ちゅう コメントする Posted in Development Tags: Linux Webalizserなどのログ解析ソフトを使いたい時、たいていはApache互換のログが必要となる。pound をフロントに置いて、裏でlighttpdを動かしている環境では、アクセス元ホストの情報がpoundのIPアドレスになってしまって都合が悪い。lighttpdは各機能がモジュールになっているので、accesslogというモジュールを有効にする。以下のような感じで、追加する。 server.modules = ( "mod_accesslog", "mod_rewrite", "mod_redirect" ) そうしたら、ログファイルを吐く場所とフォーマットを指定する。poundのヘッダ情報に X-FORWARDED-FOR っていう
Posted on 2009年2月10日 Posted by ちゅう 2件のコメント Posted in Development Tags: Linux, Rails Rails&Lighttpdの環境で動画とか大容量ファイルを高速にダウンロードさせるとき、Rails の send_file を使わずに Lighttpd の X-sendfile という仕組みを使うと良いようです。 lighttpd-1.4.15 で試しました。 通常のsend_file send_file '/tmp/movie.wmv' Lighttpdを使ったx-sendfile # X_SENDFILE する path = '/tmp/movie.wmv' response.headers['Content-Type'] = "application/force-download" response.headers
次のページ
このページを最初にブックマークしてみませんか?
『ecpplus.net (by @ecpplus)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く