プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

23
プログラミング生放送勉強会#23 Salesforce ~いつもとちょっと違う クラウドプログラミング~ 2013.06.22 @nara_reimei

description

プログラミング生放送勉強会 第23回@大阪でSalesforceプログラミングの引っかかりどころについてLTやって来ました。これから始める方は一読していただければと思います @nara_reimei

Transcript of プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

Page 1: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

プログラミング生放送勉強会#23

Salesforce

~いつもとちょっと違う          クラウドプログラミング~

2013.06.22@nara_reimei

Page 2: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

1.Salesforceの良いところ

①必要な物がひと通り揃っている ・DB ・フレームワーク(Web、Ajax) ・IDE ・ワークフロー ・権限管理 ・チャート(グラフ)

②無償学習環境が提供されている ・Developerforce

Page 3: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

2.3つのプラットフォーム

①Force.com ・CRMアプリ+設定による構築

②Site.com ・CMS

③Visualforce.com ・Apex(Class)+ML(Page)  今日はこれの話をします。

Page 4: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

3.サンドボックス

本番環境とは別に開発検証用に3種類のサンドボックスが提供されている。

①開発者サンドボックス ・開発担当者一人ひとりに向けて  提供するもの。データは最大10MB

②設定のみサンドボックス ・定義は本番同様。データは500MB

Page 5: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

3.サンドボックス

③フルサンドボックス ・本番環境のフルコピー ・大量データを使うシステムはここで  本番と同じデータ量で検証する!  そうしないと後述のガバナ制限で  殺られること請け合い!

作成可能な個数はエディションによって決まる。追加購入も可能。

Page 6: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

4.開発環境

①オンライン(ブラウザ)<Pros> ・お手軽どこからでも利用できる ・開発者コンソール便利   SOQL、対話的プログラミング   ユニットテスト<Cons> ・全般遅い ・500ステップ越えてくる特に遅い

Page 7: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

4.開発環境

①オンライン(ブラウザ)

Page 8: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

4.開発環境

②Force.com IDE(Eclipse)<Pros> ・まあ使い慣れた感じ<Cons> ・インストールが上手くいかない ・同期作業などが必要 ・情報が少ない ・Eclipse別途Subversionなどでバージョン管理するならこれを使うことになる。

Page 9: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

4.開発環境

②Force.com IDE(Eclipse)

Page 10: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

4.開発環境

自分の場合は コーディング :SublimeText2 同期(ビルド):Eclipse

Page 11: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

5.開発環境(データ編)

①オンライン ・エンドユーザ向けの一覧、単票  形式での編集のみ

②Eclipse ・よく解らない

③DataLoader(Javaアプリ) ・CSVベースで一括CRUDする。 ・テストデータほおり込むならこれ。

Page 12: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

5.開発環境(データ編)

①オンライン

Page 13: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

6.ガバナ制限

1つのタスクがリソースを消費し過ぎないよう、多様な制約が設けられている。例えば1リクエストについて ・SOQLクエリ発行数   100 ・DML発行数       150 ・取得可能な総レコード数 50000  (Min/Max実施時の母集団数にも適用される)

 ・実行可能ステップ数   20万 ・コレクションの要素数  1000

※最新の値は確認してね。

Page 14: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

7.ユーザライセンス

エディション/ライセンスにより色々制限がある。

エンドユーザ向けの「One App」は利用できるカスタムオブジェクト(開発者が新たに作成するDBでいうところのテーブル)は

   5つのみ。

Page 15: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

7.データベース

①RDBに非ず ・オブジェクト関係データベース

②特徴 ・結合はない。  静的に関係を定義する。  OOのモデルと同じ。 ・SQLでなくSOQL。 ・インデックスもない(御幣あり)

Page 16: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

7.データベース

<結合の補足>参照関係:OOの参照と同じ主従関係:コンポジション

Page 17: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

8.データーベース(SOQL編)

①結合(参照) ・参照項目を定義することで参照

select name,age__c, dept__r.bname from emplyee__c     または select name,age__c, (select bname from dept) from emplyee__c

Page 18: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

8.データーベース(SOQL編)

②RDBでいう副問い合わせはない ・①の参照関係に従った親もしくは  子の参照のみ

③SELECT文中で計算式かけない ・[ダメ]select sales*1.05 form xx 

Page 19: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

9.デバッグ

ログは20件までしか保持されれない。(1件=1リクエスト分。20件保持した時点で記録が停止する。)

バッチジョブが連続的に動くような場合に最初に20件しか無くて困る。開発者コンソールから直接クラスを実行すると、その分のログはその場で閲覧できる。ちょっとお得テク!

Page 20: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

10.リリース

①開発作業はサンドボックスでのみ可能 ・本番環境では「開発」操作できない

②単体テストカバレッジ75%以上 ・単体テストの仕組みがある ・総体で75%を超えないと本番へ  リリース作業できない

※70%以上だったかも※何度も実施していると数字がおかしくなる。そんな時は一度カバレッジ結果のクリアを行うこと!

Page 21: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

10.リリース

③リリース時全てのテストが本番で 再実行される ・オールグリーン(※) ・カバレッジ75%以上 で合格!

※今のお客様の場合60-90分かかる。 緊急対応は不可能!!! 回避方法なし!!!!!!!!!!

Page 22: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

11.各種資格

各種資格が用意されている。情報が少ないのでセミナー受講(またはその資料)が望ましい。

資格取得後は、Salesforceの定期バージョンアップをフォローするためのリリース試験に合格することで維持していく仕組み。受験申し込みにはリリース試験(2回)分の費用が含まれる。それ以降は有償となる。

Page 23: プログラミング生放送勉強会 第23回@大阪 LT/ Salesforceプログラミング

プログラミング生放送勉強会#23

お疲れ様でした

m(_ _)m