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

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

OutSystemsで検索エンジンを改造しよう!!(基礎トレ2.3)

はい。先に書いておきますが、このトレーニングは難しいです。
今回我々が作るのは

価格comで使われているこれ↓です。

f:id:neomatsudaira:20160225074449p:plain出典:価格comカメラ板満足度ランキング上位掲載

このフィルタリングはOutSystems Platformだから楽にできるとかではありません。
JavaでもC#でもみんなおんなじプログラミングです。
正確には検索エンジンを改造するというよりフィルタリング条件を追加するというのが適切です。

そして、この技術を覚えるとエンジニアとしてのレベルが1段階いや2段階は上昇します。
現在の東証1部上場企業で使われている技術をみなさんは体感することになります。
Javaの参考書でもこのレベルはそれほど載っていないです(調べてないけど)。

 

さて、高度なプログラミングを開始します!

f:id:neomatsudaira:20160225075038p:plain

説明が一切ないため、いきなり意味不明です。
分からないときは分からないままで模倣さえすれば、とりあえずは開発できます。

 

開発した後理解できることもあるから、藁にもしがみつく感じで食らいついていくことが大切です。 

f:id:neomatsudaira:20160225075451p:plain

オラオラオラオラオラオラオラオラ!!!!!!!!!

今回の検索コード

“CategoryId = NullIdentifier() or Product.CategoryId = CategoryId”

トレーニング動画の通りにコードは書いた。
書いたけど意味不明なり(笑)。
少しは説明しろやー!

そして、トレーニング動画では見事に完成していた

f:id:neomatsudaira:20160225075951p:plain

”すべてのカテゴリの商品も表示されました。”

これを見てやっとコードの意味が分かった!のです。

“CategoryId = NullIdentifier() or Product.CategoryId = CategoryId”

これは、フィルタリングの解除コードなのです。
このコードは

 

 CategoryId = NullIdentifier()・・・・・・・カテゴリー付けをしていない商品

 Or・・・・・・・・・・・・・・・・・と

 Product.CategoryId = CategoryId・・・カテゴリー付けをされた商品

 

という意味だから、つなげると「カテゴリー付けをしていない商品とカテゴリー付けをされた商品」、つまり、「全商品」という意味になる。
ALLの意味がやっと分かった。
いろんな検索をしたあとに元に戻してすべての商品を見たい時のフィルタリングコードだということが分かった。

そして、内部プログラムを全部書き上げたため、アプリがすべて完成した。

 

完成画像1

とりあえず、レフトハンドソードとささにしきをエレクトロニクスに分類する設定をしてみる。

・レフトハンドソード

f:id:neomatsudaira:20160225080838p:plain

 

・ささにしき

f:id:neomatsudaira:20160225080958p:plain

ラリった画像である。

 

完成画像2

そして価格comで満足度上位検索をするみたいに、エレクトロニクスでフィルタリングしてみると

f:id:neomatsudaira:20160225081338p:plain

ちゃんと検索表示することができました。
検索エンジンのフィルタリングの設計がOutSystemsの勉強開始後約3週間でできてしまう。
感動した小林なのであった。

 

<アプリを作り終えた感想>
フィルタリング自体はローカル変数を実装するだけで自動的に設計できたけど、リセットのコードはプログラミングする必要があるため非常に難しかった。

トレーニングは最初コンボボックスの設計だけだから、ブルタウンメニューを画面に付けるだけでしょ?と思って、簡単にできると考えていたら、検索エンジンの設計もあって、かなり難しかった。 

ただ、初心者でもカテゴリ検索の内部プログラムを作れてしまうことから、これってECサイトや価格comでも普通に使われている技術のため、履歴書に「カテゴリ検索の内部プログラムを設計できます」とか「フィルタリングのコードを書けます」って書ける訳で、ものすごく就職に有利な技術なのでは?と思いました。

いや、自分既に就職してるので意味はないのですが、OutSystemsを使うと変更要求やアプリの拡張が簡単にできてしまえます。

あとやっていることのレベルがアホみたいに高いです。
普通のプログラミングでこのレベルの参考書となると相当に難しい部類に入ると思います。
それをポルトガル人の作った無料の動画でトレーニングできてしまえるので、インターネットってすごいなあって思いました。

こういう質実剛健なトレーニングを一人でも多くの若い人にやってもらいたいです。特に文系の人にやってもらいたいです。絶対環境変わるから。

企業に勤めている人には一つの変更要求をバグがほとんど存在しないで3分から5分で設計できてしまえるため、働き方や開発に関する予算の捉え方が大幅に変わると思います。

今回のトレーニングは良いトレーニングでした。
だけど、コンボボックスの開発というよりもフィルタリングを追加することで検索アルゴリズムの拡張のトレーニングといったほうが適切なのではないか?と感じました。

ていうか、このクオリティーの動画をタダで見せるなと言いたいです。いくら普及のためとはいえ、質が高すぎると感じました。
お金を払っていいレベルです。

(次のトレーニングに続く)