OutSystemsエンジニアの猛勉強ブログ

初心者OutSystemsエンジニアのブログです(ぺこり)。

OutSystemsを使って在庫と売り場を連動させる・前編(基礎トレ4.1)

今日朝4時からこのアプリ作ってました。
難しいです。かなり。日本語だと超簡単なのに、英語でしか対応されていないため、ものすごく難しく感じました。

気が付いたら3時間で4,000文字も原稿を書いていました。
英語だとこれほどに説明が難解だということです。
日本語なら「在庫と売り場の商品数量を連動させる」で済むのに、英語だと、「メソッド内のロジックをカプセル化してアプリケーションを作成します。」になる。

なぜなのか?カプセル化とか意味不明過ぎます。
今回は、作り終えるまで何を作っているのかすらも分からなかったです。

それでは、基礎コース4.1のアプリを作っていきます。

 

4.1

f:id:neomatsudaira:20160301074508p:plain

 OutSystems基礎コース4.1のトレーニング内容は

   ”メソッド内のロジックの実装

    ロジックをカプセル化してアプリケーションを作成します。”

です。
ロジックとかカプセル化とかとりあえず、一切の説明がなかったです。終わってみて、何を作るトレーニングなのかと言えば、お客様が注文をキャンセルするとキャンセルした分だけ在庫が増えるプログラムです。

つまり、在庫と売り場の商品データベースを連動させるトレーニングです。
これ、絶対初心者には理解しながらでは作れないです。
とりあえず、模倣です。分からないところは分からないままでいいので、模倣しながら作る。

そうでないとほぼすべて分からない状態で作っていくためおかしくなってしまいます。

 

さて、作ります。

f:id:neomatsudaira:20160301074914p:plain

このレッスンでは、アプリケーションでロジックを再利用する方法を学びます。

 

・・・と、いきなり言われても全く理解できなかったです。理解できない文章は、そのままでとりあえず、読み進めていきます。

f:id:neomatsudaira:20160301075042p:plain

Screen Logicから削除し

 

ってその前にScreen Logicという言葉は初めて出てきた言葉なのに一切の説明がないです。ここも理解できないまま読んでいくことです。

f:id:neomatsudaira:20160301075239p:plain

Reusable Actionに置くことで再利用可能にします。

開始9秒にして意味不明なり。
日本語化されていないのです。字幕が。
あとReusable Actionという言葉も分からないままです。そのまま読み進めるべきです。

 

f:id:neomatsudaira:20160301075431p:plain

IT用語の「再利用可能」と言われてもやっているのは初心者のため何のことなのかさっぱりです。

 

でも、理解できないまま作るしかないです。

f:id:neomatsudaira:20160301075619p:plain

商品を削除するっていうのは分かる。
分かるのだけど、Screen Actionの説明がないから、何をしようとしているのかは分からない。

 

完全日本語化してしまえばもっと普及するのに、お金を払ってソフトを利用する側の人間にいきなりOutSystems Platformの中でしか存在しない専門用語が連発され、理解不能のまま模倣しなければいけない状態に陥ります。

 

トレーニング動画は普通に

f:id:neomatsudaira:20160301080000p:plain

OrderItemを削除し、ProductのQuantityInStockを更新します。

こうなので、これを読める初心者はまず存在しないと思います。難易度が高まると極端に説明が無くなるのです。説明不足のため、動画でトレーニングしていると、理解はできなくても模倣すれば作れるという感覚に捉われます。

インタラクティブ(双方向間でやり取りできる)動画でないともうここら辺の難易度を初心者にやらせるのはたぶん無理です。 

ただ、私はスーパー障害者ですので、不可能なことなど存在しません。気合でなんとかしてしまいます。ただ、これを私以外の初心者がやると地獄を見るためあまりお勧めしません(笑)。

 

分からないことがあったら、OutSystems社か代理店に逐一聞きまくった方が早く上達すると思います。

f:id:neomatsudaira:20160301080520p:plain

OutSystems Platformでは、ロジックはActionを使って実装されます。

その前にロジックの説明が一切ないため、何のことなのか分からないのです。でも、ここら辺は作った後に少し理解できる部分です。あれのことかー!って感じですね。

 

f:id:neomatsudaira:20160301080629p:plain

画面のPreparationまたはScreen Actionでビジネスロジックを実行することができます。

これとか、超難解です。PreparationとScreen Actionの説明さえまだされていないでトレーニングをやってきているため、PreparationとScreen Actionの意味が理解できないまま新しい機能であるビジネスロジックを覚えてもほんとうは意味がないのは分かっているのですが、初心者に対して作られた動画ではないため、初心者はすべてが分からないまま突き進まなければいけないのです。

 

この鬼のような超難易度になぜお金を支払うこちら側が慣れなければいけないのか?分からない部分が大半のため、そして、その原因は英語であるため、いつも通り模倣してしまいます。

 

f:id:neomatsudaira:20160301081025p:plain

説明が何もないまま何かを作ることになった。
Logic内のUser Actionを作ることだけは判明した。
意味及び機能はよく分からない(笑)。

 

が、初心者に残された選択は作るのみ、真似するのみである。がんばるぞ、小林。小林はいまモーレツにがんばるぞ! 

f:id:neomatsudaira:20160301081301p:plain

 (Logic内にUser Actionを作成した小林の開発画面)
ユーザーアクション名「RemoveOrderItem」は、もはや暗号にしか見えぬ。
「RemoveOrderItem」と言われても意味がまるで分からない。まさに無我の境地!

 

だけど、模倣すればとりあえずアプリは作れます。

f:id:neomatsudaira:20160301081506p:plain

意味不明すぎるwwwwwwwwwwwww

これ、多分、ユーザーアクションを使うとすべてのページで同じアルゴリズムを使うことができるっていう意味だと思います。

 

いままではページ毎にアルゴリズムを設計していたけど、同じアルゴリズムを何枚ものページに実装するのは面倒だから、Logic内のユーザーアクションっていうところに一つだけアルゴリズムを書いておけば、その論理演算を必要に応じて呼び出して、すべてのページで使えますよということをIT用語で「再利用」と言うのだと思う。

 

何も説明されてないけど、多分、そういうことだと小林は考える。ほら、やっぱりそう

f:id:neomatsudaira:20160301081958p:plain

ロジックの中にコードを書いてしまえば、それをすべてのページで呼び出し、使用することができる。Screen Actionの意味はいまだによく分かっていない。

 

f:id:neomatsudaira:20160301082156p:plain

つまり「再利用」とは、一度コードを書いてしまえば、何度でも呼び出すことのできるソースコードのこと。

 

少し理解できたところで

f:id:neomatsudaira:20160301082617p:plain

(データを受け取るため、Imput Parameterを実装した小林の開発画面)

そういえば、Imput Parameterも完全な意味は理解できていなかった。もったいないと思うのは「入力装置」とかって記述してしまえば日本人は一発で理解できるのに、それをしないことである。 

でも、それ以上に問題だと思うのがImput Parameterという言葉がIT用語ではないということです。これ、OutSystems Platformでしか使われない専門用語だということです。

正確な言葉の意味を理解できないままトレーニングしているのもある程度は問題なのだけれども、それ以上にITエンジニアですらOutSystems Platformでしか使えない新しい言葉を覚えていかないといけないということは、とても損をしていると考えます。

私は仕事で記事を書いているからいいものの主体的に初心者がIT用語でもない全く新しい言葉を一切の説明なしで覚えろと言われたら、IT専門の辞書を引いても載ってないですし、どういう行動を取るのか、考えてみれば分かると思います。

私だったらアホみたいに完全日本語訳してしまい、Word並に簡単なソフトウェアにしてしまいます。まあ、意味が理解できなくても模倣すれば問題ないのですが、理解できないままアプリが完成していくことになります。

それにしても今回のトレーニングはやっていることは簡単なのに、説明文章がやたらと難解です。ほぼすべての初心者エンジニアはここで挫折すると考えます。

そう。説明が難しくても作れないことはないのです。気合で開発可能です。やってできないことはない。ただ変に独学で覚えるよりも知っている人から聞いた方が正しく理解できると考えます。

 

(トレーニングは続きます)