子育てエンジニアブログ

子育てに励むシステムエンジニア(SE)のブログ

日本企業のバカだなあと思うところ3

日本企業のバカだなあと思うところ3

1はこちら
stsa.hatenablog.com
2はこちら
stsa.hatenablog.com

今回も日本の企業バカだなあと思うことがあるので書いてみたいと思います。
今回はタスクと残業と転職の関係について。

上「この作業しろ、あの作業もしろ、あ、これもよろしく。」
社畜「定常業務だけで作業多いのに、追加の作業多すぎる。残業しないと。」
上 「あ、残業は怒られるからしないでね。あと追加の作業は直接なんの利益にもならないけどやってね。」
社畜 ?????
社畜 仕方ないサービス残業するか。クソブラックすぎ。やめたろ。
上 「残業時間が少ないホワイト企業なのにどうしてみんなやめるんだ!また採用でコストがかかるし育成コストもかかるじゃないか。」
何も知らない新人「やった!残業が少ないホワイト企業に就職できたぞ!これで人生謳歌できる!」
(無限ループ)

こういうパターン多いと思う。
残業少ないですアピールしてる会社は結構残業してる気がする。
残業20時間は実体の残業時間は40時間くらいにうたがっておいた方がいいなあと思う今日この頃。
世の会社の残業時間が20時間〜30時間付近でそろって多いのはこういうカラクリだと思う。
小さい依頼もちりつも。何度も言いますがコスト意識を上の人は持って!
本当にこの流れを気づかずにやってるのバカだなあと思ってます。
コスト意識がなくあれもこれも依頼しているせいでみんなが苦しんでるんです。
残業を減らしたいなら負担を減らすことを考えましょう。

【Salesforce】Apexのデバッグ

本日は下記の内容の続きです。

stsa.hatenablog.com

上記で作成した内容をデバッグしていく。
今回は、開発者コンソールで行う。

ちなみに、開発者コンソールにはブレークポイントを設置してデバッグする機能がついている。
これを利用することによりSystem.debugを追加しなくてもその時点での値を確認することができる。

ただし、Eclipseなどのブレークポイントとは異なり、確認時に一時停止することはできない。
コードが実行された時点のHeap(変数の状態など)を保存し、後から参照出来る仕組みになっている。

Checkpointsタブを開き、ブレークポイント設定。

実行後、ダブルクリック。

ブレークポイントの値を取得できる。

んで、肝心のトリガークラスはどうやってデバッグするの?というところなのですが、
同じようにブレークポイントを設定したら同じようにみれる。

ただし、見にくいです。

次に、System.debugを使うやり方。下記のようなコードを何箇所か入れ込みます。
◆とか■を入れてあげることで見つけやすくなりますね。

Trigger

System.debug('◆AccountTrigger◆ START');

System.debug('◆AccountTrigger◆ con.Id = ' + con.Id); 

Apexテスト

System.debug('■Test■ u.Id = ' +  u.Id);

こんな感じで検索で引っ掛けられる。

【Salesforce】Apexトリガークラスの作成、Apexテストクラス作成、テストクラス実行をやってみた

SalesforceのApexトリガークラスの作成、Apexテストクラス作成、テストクラス実行をやってみたのでメモ。
今回はだいぶボリュームがあります。
ちなみに初めてやってます。

まずは、開発者コンソールを選ぶ。

そして、 File > New > Apexトリガーと選ぶ。

クラス名と対象とするオブジェクトを入力する。

すると、自動生成される。

Apexトリガーの画面からもみれる。

さて、ソースコードでいいサンプルがない。。
ということで
下記のQiitaを参考にさせていただいて作成。
あまりいいのがネットで調べて出てこなかったので感謝。
qiita.com


さて、Apexトリガーを作成したのは良いが、テストクラスはどこから作成するのか。。。
と調べた結果、またまた開発者コンソール File > New > Apexクラスから作成するらしい。

クラス名を入力する

作成される

では、作成したApexトリガーのテストクラスを実行する。
開発者コンソールのTestタブから実行していく。

作成した、テストクラスを選んでRunで実行する。

実行後

よくわからん、、、
なんか成功したと思い込んでいたけど、なんかエラーしてるっぽい?

とりあえず、ダブルクリックしてログを見ていく。
ということでログを見ていくと、最初のselectでデータ取れてないっぽい

なんか最初のProfileのところでデータ取れていないぽい。
なのでテストクラスのソースの一部を下記のように変更。

p = [select Id from Profile where Name = 'システム管理者'];

そして再度実行。成功の文字が出たので、うまくいったっぽい。

とりあえず、今日はここまで。
本当はデバッグとかもやりたかった。