<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2637297799347689341</id><updated>2024-10-24T20:04:30.103+09:00</updated><category term="Salesforce.com"/><category term="Design"/><category term="Mac OS X Lion"/><category term="force.com"/><category term="git"/><category term="github.com"/><category term="heroku.com"/><category term="rails"/><category term="ruby"/><category term="rvm"/><category term="ビューステート制限"/><title type='text'>Code de Go!</title><subtitle type='html'>プログラミング全般についてを思ったまま綴っています。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.s-parts.co.jp/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.s-parts.co.jp/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Coderian</name><uri>http://www.blogger.com/profile/17703540383585589893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2637297799347689341.post-8501800617510224115</id><published>2011-10-12T19:48:00.001+09:00</published><updated>2011-10-12T19:49:00.581+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="force.com"/><category scheme="http://www.blogger.com/atom/ns#" term="Salesforce.com"/><category scheme="http://www.blogger.com/atom/ns#" term="ビューステート制限"/><title type='text'>ビュースステートの最大表示サイズ制限(135 KB)</title><content type='html'>force.com/salesforce.comでページを表示する際に使用できるデータサイズの制限を超えると以下のエラーメッセージが表示されます。&lt;br /&gt;
&lt;br /&gt;
「ビューステートの最大表示サイズの制限(135KB)を超えています。このページのビューステートのサイズは XXX.XXX KBでした」&lt;br /&gt;
&lt;br /&gt;
この場合、どこの処理がデータサイズを消費しているかを確認する必要があるのですが&lt;br /&gt;
Visualforceページの開発モードが有効になっている場合 「View State」を見ることで確認ができます。&lt;br /&gt;
&lt;br /&gt;
確認出来る内容は、ページを構成する上で使用しているデータのサイズと比率になります。&lt;br /&gt;
&lt;br /&gt;
この情報を元に不要なデータを保持してるApexコードを修正することで問題を解決できる場合があります。&lt;br /&gt;
&lt;br /&gt;
もっとも、ページ自体が重すぎるということは否めないのですがcsv出力するような場合はどうしてもデータ量の多いページとなってしまいますね…&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.s-parts.co.jp/feeds/8501800617510224115/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://blog.s-parts.co.jp/2011/10/135-kb.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/8501800617510224115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/8501800617510224115'/><link rel='alternate' type='text/html' href='http://blog.s-parts.co.jp/2011/10/135-kb.html' title='ビュースステートの最大表示サイズ制限(135 KB)'/><author><name>Coderian</name><uri>http://www.blogger.com/profile/17703540383585589893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637297799347689341.post-2586933724231659458</id><published>2011-09-13T18:10:00.000+09:00</published><updated>2011-09-13T18:10:06.609+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="github.com"/><category scheme="http://www.blogger.com/atom/ns#" term="heroku.com"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="ruby"/><category scheme="http://www.blogger.com/atom/ns#" term="rvm"/><title type='text'>heroku.com de Go! part 1</title><content type='html'>&lt;h1&gt;










herokuを使ってみよう&lt;/h1&gt;
&lt;h2&gt;










はじめに&lt;/h2&gt;
&lt;a href=&quot;http://www.heroku.com/&quot;&gt;&lt;span id=&quot;goog_45065601&quot;&gt;&lt;/span&gt;heroku&lt;span id=&quot;goog_45065602&quot;&gt;&lt;/span&gt;&lt;/a&gt;は、簡単にいうとホスティングサービスです。&lt;br /&gt;
じゃぁ、なにが面白いかというと&lt;br /&gt;
サーバーの設定とかいらないからアプリのソースを&lt;a href=&quot;http://git-scm.com/&quot;&gt;git&lt;/a&gt;でpushしてよ実行しとくから&lt;br /&gt;
&lt;br /&gt;
なんとも、アプリ開発者にとってはすんばらしい世界がきたもんだ。&lt;br /&gt;
&lt;br /&gt;
いままでは、それサーバを準備してOSをセットアップして実行環境を準備してネットワークにつないで。。。ほかいろいろあったのですがー&lt;br /&gt;
&lt;br /&gt;
とまぁ、前置きはともかくとして使用するまでの準備&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;










環境&lt;/h2&gt;
ちなみに実施環境はMac Book Air de Mac OS X Lionです。&lt;br /&gt;
理由は、unix コマンドとの親和性がいいことがなんともGood!!!です。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;










準備&lt;/h2&gt;
まずは、&lt;a href=&quot;http://www.blogger.com/&quot;&gt;&lt;span id=&quot;goog_655621098&quot;&gt;&lt;/span&gt;Ruby&lt;span id=&quot;goog_655621099&quot;&gt;&lt;/span&gt;&lt;/a&gt;環境を準備ということなのですが。。。&lt;br /&gt;
Mac OS X LionはRubyがデフォルトで使えるんです&lt;br /&gt;
がよく調べてみるといろいろなバージョンがあるらしくそのまま使用するには危険を感じたところなんと便利なツールがあるじゃないですかー&lt;br /&gt;
&lt;a href=&quot;http://beginrescueend.com/&quot;&gt;rvm&lt;/a&gt; こと　&lt;a href=&quot;http://beginrescueend.com/&quot;&gt;Ruby Version manager&lt;/a&gt;&lt;br /&gt;
くわしくは、本家なりほかでご確認を&lt;br /&gt;
ということでrvmをインストール、ruby 1.8.7をインストールしようとしたらなんかエラーがでてしまって思わず&lt;a href=&quot;http://github.com/&quot;&gt;github.com&lt;/a&gt;の&lt;a href=&quot;https://github.com/wayneeseguin/rvm/issues/403&quot;&gt;issueコメント&lt;/a&gt;を確認したら同様のことが。。。&lt;br /&gt;
んでもって翌日確認したら直したよとのことらしいのでrvmをupdateしたら問題解消ー&lt;br /&gt;
ふぅ（汗）&lt;br /&gt;
&lt;br /&gt;
んでもってようやくRuby環境を再構築です。&lt;br /&gt;
herokuでのRuby推奨環境は今のところ以下でした。&lt;br /&gt;
&lt;br /&gt;
Ruby 1.9.2&lt;br /&gt;
Rails 3.0&lt;br /&gt;
&lt;br /&gt;
なので、&lt;br /&gt;
&lt;pre class=&quot;bash&quot;&gt;$ bash &amp;lt; &amp;lt;(curl -s https://rvm.beginrescueend.com/install/rvm)
$ rvm install 1.9.2
$ rvm use 1.9.2
$ rvm gemset create herokurails
$ rvm gemset use herokurails
$ gem install rails -v 3.0.5
$ rvm use 1.9.2@herokurails --default&lt;/pre&gt;
&lt;br /&gt;
ほかのツールとしてはgitが必須ですね。&lt;br /&gt;
これについてはgithub.comでmac os x用のGUI環境があったのでそちらを使いました。&lt;br /&gt;
&lt;br /&gt;
ほかにもJava,Node.js,Play!,Spring MVC Hibernateなどがあるらしいのですがあまりくわしくないのでほかの機会に&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;








やってみる&lt;/h2&gt;
この内容は、heroku.comの&lt;a href=&quot;http://devcenter.heroku.com/articles/rails3&quot;&gt;Getting Started with Rails 3.0 on Heroku/Cedar&lt;/a&gt;をやってみた内容になります。&lt;br /&gt;
&lt;br /&gt;
Herokuコマンドラインクライアントのインストール&lt;br /&gt;
&lt;pre class=&quot;shell&quot;&gt;$ gem install heroku&lt;/pre&gt;
&lt;h2&gt;








SSHに関して&lt;/h2&gt;
&lt;h3&gt;








public key作成&lt;/h3&gt;
&lt;pre class=&quot;shell&quot;&gt;$ ssh-keygen -t rsa &lt;/pre&gt;
&lt;h3&gt;








Herokuへのキーの追加&lt;/h3&gt;
&lt;pre class=&quot;shell&quot;&gt;$ heroku keys:add&lt;/pre&gt;
&lt;h3&gt;








Herokuに登録されているキーの確認&lt;/h3&gt;
&lt;pre class=&quot;shell&quot;&gt;$ heroku keys&lt;/pre&gt;
&lt;h3&gt;








動作確認&lt;/h3&gt;
&lt;pre class=&quot;shell&quot;&gt;$ ssh -T git@heroku.com

!  You can only access Heroku by ssh via git push and pull commands.

&lt;/pre&gt;
が出力されれば設定はOK&lt;br /&gt;
&lt;br /&gt;
あとは、&lt;a href=&quot;http://devcenter.heroku.com/articles/rails3&quot;&gt;Getting Started with Rails 3.0 on Heroku/Cedar&lt;/a&gt;にある通りでWebで動作するのが確認できましたー。&lt;br /&gt;
&lt;br /&gt;
詳しく part 2 にて…&lt;br /&gt;
&lt;br /&gt;
気を付けないいけないこと&lt;br /&gt;
Gemfile Procfileに加え Gemfile.lockもgit push しないとエラーになりますね&lt;br /&gt;
&lt;br /&gt;
なんともお手軽な時代♪</content><link rel='replies' type='application/atom+xml' href='http://blog.s-parts.co.jp/feeds/2586933724231659458/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://blog.s-parts.co.jp/2011/09/herokucom-de-go-part-1.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/2586933724231659458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/2586933724231659458'/><link rel='alternate' type='text/html' href='http://blog.s-parts.co.jp/2011/09/herokucom-de-go-part-1.html' title='heroku.com de Go! part 1'/><author><name>Coderian</name><uri>http://www.blogger.com/profile/17703540383585589893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637297799347689341.post-5651707298841378601</id><published>2011-08-29T17:51:00.000+09:00</published><updated>2011-08-29T17:51:45.706+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Salesforce.com"/><title type='text'>カスタムアプリケーションインストール後にエラーが発生</title><content type='html'>&lt;br /&gt;
開発環境ではテストの実行も問題がないのにパッケージングして&lt;br /&gt;
リリース環境へインストールした場合にエラーが発生する場合があります。&lt;br /&gt;
&lt;br /&gt;
理由は、バッチ処理や動的SOQLなどでSOQLを文字列で記述している場合にカスタムオブジェクト&lt;br /&gt;
への名前空間プレフィクスを記述漏れしている場合があります。&lt;br /&gt;
&lt;br /&gt;
Apexコードでカスタムオブジェクト使用している場合は名前空間プレフィクスがなくても&lt;br /&gt;
問題ないのですが文字列で記述してあるSOQLの場合は名前空間プレフィクスを入れ&lt;br /&gt;
ないと問題が発生します。&lt;br /&gt;
（そんな名前のフィールドはない旨のエラーが表示される）&lt;br /&gt;
&lt;br /&gt;
リリース環境へリリースするまでは発見されにくい内容となるので気をつけよう。&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.s-parts.co.jp/feeds/5651707298841378601/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://blog.s-parts.co.jp/2011/08/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/5651707298841378601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/5651707298841378601'/><link rel='alternate' type='text/html' href='http://blog.s-parts.co.jp/2011/08/blog-post.html' title='カスタムアプリケーションインストール後にエラーが発生'/><author><name>Coderian</name><uri>http://www.blogger.com/profile/17703540383585589893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637297799347689341.post-4996363020073875704</id><published>2011-08-24T20:05:00.000+09:00</published><updated>2011-09-13T18:10:48.039+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X Lion"/><title type='text'>DVDまたはCD共有 de MacBook Air</title><content type='html'>&lt;ul&gt;
&lt;li&gt;共有される側のPCのスペック&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Mac OS X v10.4.11以降またはWindows7/XP/Vista&lt;/li&gt;
&lt;li&gt;Mac OS X v10.5.3以降は「DVDまたはCD共有」はインストール済み&lt;/li&gt;
&lt;/ol&gt;
※一度に組み合わせることができるのは1台のみ&lt;br /&gt;
&lt;br /&gt;
「DVDまたはCD共有設定」ソフトウェアのダウンロード&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Windowsの場合&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;a href=&quot;http://support.apple.com/kb/DL112?viewlocale=ja_JP&quot;&gt;support.apple.com/kb/DL112?viewlocale=ja_JP&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Mac OS X v10.4.11-10.5.2の場合&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;a href=&quot;http://support.apple.com/kb/DL113?viewlocale=ja_JP&quot;&gt;support.apple.com/kb/DL113?viewlocale=ja_JP&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;設定方法&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;a href=&quot;http://support.apple.com/kb/HT1777?viewlocale=ja_JP&quot;&gt;support.apple.com/kb/HT1777?viewlocale=ja_JP&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;使い方&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;共有するPCにメデイアをセット&lt;/li&gt;
&lt;li&gt;MacBook AirのFinder のサイドバーの「デバイス」の下の「リモートディスク」が表示されたらそれを選択、「使用を依頼」ボタンが表示される場合はそれをクリックする。&lt;/li&gt;
&lt;li&gt;共有するPCで求められた場合は「了解」をクリックする。&lt;/li&gt;
&lt;li&gt;MacBook Airで利用可能になる。&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;以上、MacBook Airの小冊子からの抜粋&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.s-parts.co.jp/feeds/4996363020073875704/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://blog.s-parts.co.jp/2011/08/dvdcd-de-macbook-air.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/4996363020073875704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/4996363020073875704'/><link rel='alternate' type='text/html' href='http://blog.s-parts.co.jp/2011/08/dvdcd-de-macbook-air.html' title='DVDまたはCD共有 de MacBook Air'/><author><name>Coderian</name><uri>http://www.blogger.com/profile/17703540383585589893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637297799347689341.post-6633983442633346767</id><published>2011-08-19T16:26:00.000+09:00</published><updated>2011-09-13T17:50:32.606+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Design"/><title type='text'>住所class 設計</title><content type='html'>とある日に住所をオブジェクト指向設計したらどうなるという議論がありました。&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;ある人は、以下があるといいました。&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;都道府県クラス&lt;/li&gt;
&lt;li&gt;市区町村クラス&lt;/li&gt;
&lt;li&gt;番地クラス&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;ある人は、以下があるといいました。&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;住所クラス&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;ある人は、クラスではなくフィールドもしくはプロパティだといいました。&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;文字列&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;&lt;/ul&gt;&lt;br /&gt;
その時の議論では答えは出なかったと思います。&lt;br /&gt;
&lt;br /&gt;
今、思い返すと自分の回答は「場合による」になります。&lt;br /&gt;
何が場合によるかというと以下になると考えるからです。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;住所をどのように使用するかによって違ってくる。&lt;/li&gt;
&lt;/ul&gt;表示目的で特に機能を有しない場合&lt;br /&gt;
フィールドもしくはプロパティにする&lt;br /&gt;
&lt;pre&gt;class Contact
&amp;nbsp; &amp;nbsp; string address;
}
&lt;/pre&gt;
&lt;br /&gt;
それぞれに於いて機能が付加されるような場合&lt;br /&gt;
都道府県、市区町村、番地クラスを使用する&lt;br /&gt;
&lt;pre&gt;class Todoufuken
{
&amp;nbsp; &amp;nbsp; Todoufuken(string name);
&amp;nbsp; &amp;nbsp; number getArea(); //面積取得
}
&lt;/pre&gt;
&lt;br /&gt;
住所に機能が付加されるような場合&lt;br /&gt;
住所クラスにする&lt;br /&gt;
&lt;pre&gt;class Address
{
&amp;nbsp; &amp;nbsp; Address(string address);
&amp;nbsp; &amp;nbsp; string getTodoufuken( string address );
&amp;nbsp; &amp;nbsp; Todoufuken getTodoufuken( string address );
&amp;nbsp; &amp;nbsp; string getPostNumber(string adress);
}
&lt;/pre&gt;
or&lt;br /&gt;
&lt;pre&gt;class AddressHelper
{
&amp;nbsp; &amp;nbsp; static string getTodoufuken( string address );
&amp;nbsp; &amp;nbsp; static Todoufuken getTodoufuken( string address );
&amp;nbsp; &amp;nbsp; static string getPostNumber(string address);
}
&lt;/pre&gt;
&lt;br /&gt;
というように、場合によって目的のクラスを後々付加していくのがいいと思う今日この頃。&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.s-parts.co.jp/feeds/6633983442633346767/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://blog.s-parts.co.jp/2011/08/class.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/6633983442633346767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637297799347689341/posts/default/6633983442633346767'/><link rel='alternate' type='text/html' href='http://blog.s-parts.co.jp/2011/08/class.html' title='住所class 設計'/><author><name>Coderian</name><uri>http://www.blogger.com/profile/17703540383585589893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>