読者です 読者をやめる 読者になる 読者になる

TOKYO LIFE STYLE CORDINATION

おもしろきこともなき世をおもしろく

2016年がさり、2017年がやってきた

去年もあっという間にすぎて、気がついたら年が明けていました。恒例となりつつある、年に一回の更新を今回もしていこうと思います。

2016年は皆様に支えられた一年でした。プライベートや仕事、どちらもいろいろな方に助けてもらいながら、なんとか過ごせた一年のように感じます。
長い案件に携わるとどうしても、飽きてしまうところがあるのですが、いろいろな課題にぶつかる中でたくさんの新しい技術や考え方にふれることができ、自分の中で吸収しきれないほどのエネルギーを頂きました。

まず、仕事。2016年は適材適所という点については、かなり意識をさせられることがありました。
人は結局、一人でできることに限りがあります。自分がいくらその時、踏ん張ってみても、なかなかその道のスペシャリストに太刀打ちすることは難しい。だけど、それで諦めちゃだめなんです。やっぱり他の人より評価されるためには、貪欲になってガツガツいかないと結局自分自身を止めてしまうことになる。そのリスクをちゃんと秤にのせられるなら、0から学んでやっていくのも悪くないように思います。ベースはあるので、0からといっても本当の0というよりは、作法を学ぶことのほうが多いように思います。まったくわかりませんの状態から学び、0→1にしていくことは本質的に楽しいことがおおい。

また、仕事仲間というものはなかなか良いときもある。たまたまプロジェクトメンバに良い人材が集まっただけと言ったら身も蓋もないのですが、長く時間を過ごすと相手のやりたいこと、説明したいことなどがわかるようになります。とても効率が良いです。馴れ合いもよくないのですが、そこは仕事なので利害関係があり一線ひかれていて、とてもスムースなチーミングの中に組み込まれました。シニアな方たちが経験豊富で、そこに甘えていただけなのかもしれません。

技術的には世間とは一線離れた世界にいたように思います。そのため、自分にとっては新しいけど、技術的には古いものに触れる機会が多くありました。無差別に10年近く動いている基幹系システムの闇の深さは半端じゃない。うまい具合にラッピングして、蓋をしてしまうことも世の中を生きて行くには必要な手段であることを身をもってしりました。

プライベートは・・・いろいろとありました。2016年の春から今の今でも、自分の発した言葉の責任を取ることは容易ではないのです。その発言によって、ときに他人を傷つけることもありますが、それでもなんとかこーやって2017年になってしまったので、なんとかなるもんだなーって思い、時間の偉大さを感じます。時間は勝手に流れていきます。流れていった時間の過ごし方や密度といったものは、人それぞれだと思いますが、等しく24時間、それが1日となり、30回繰り返すと大体1ヶ月になります。またそれを12回繰り返すだけで1年になるのだから、世の中というのは良くできております。

さて2017年はどんな年にしようか、フラフラと思うこととしては、1人でも楽しく過ごしていきたいなーということです。仕事できついことがあるかもしれません、プライベートでどん底に落ちるような気持ちになることもあるでしょう。それでも、きっと生きている限りこーやってうだうだやっていくものですから、それならばせめて楽しく生きていけるようにそこに心血を注ぐべきなんだろうな、きっと。

2016年になってしまった。。。

年末整理のために書こう書こうと思っていたら、年も明けてしまった。
新年早々だらしないことこのうえないけど、やっぱり一年に一度ぐらいは自分のために書いておこうと思いました。

去年は緊急の障害対応やパフォーマンス問題などシステムのいろいろなことにぶつかったけど、その都度いろいろなことが勉強になりました。自分の力量ではお客様から評価いただけなかったこと、お客様にありがとうと言ってもらえたこともありました。本当の意味での提案活動にも少しながら協力できたことなど、非常にやりがいもあり、つらくもあり、ばたばたとした一年でした。

そんな一年を得て今年はもう少し無邪気に振る舞ってみようと思います。ここ2年ぐらい結構ノラリクラリとやってきたのですが、そろそろチャンスがあればやんちゃなことをしてみたいと思いました。いろいろと自分に足りないものや、未熟な点もあると思いますが、どこらへんが自分の中で落ち着ける場所なのか、探してみるのもわるくないかな〜って思えるようになりました。ここまでメンタルを持ってくるのに結構時間がかかっちゃったけど。

技術的な話として、去年はSaasを押していたけど、それは変わらずサービス化はこれからもどんどん加速していくように思います。いろいろなものがSaasになって便利になっていく一方でインフラもクラウド化を止められない流れになっていくと、それはそれで粛々といけば良いと思うけど、2015年はAIがすごく注目された年だった。まさか今になって人工知能、そのおかげもあってなのか本もぺらぺらめくったけど、かなり地味でとてもアカデミックな世界だった。ただ、今すぐに何か勝手に考えて、いろいろとクリエイティブなことをできるようなものができるわけではないのはわかった気がします。でも、それ以外のものについては、これからどんどんコンピューターでまかなえるようになることは確かです。だから、違うところでちゃんと生きるすべを身につけなくちゃいけないんだろうなって感じます。ビックデータについては、蓋をあけてみるとどれも非定型な情報を定形的な形に収めるものばかりでちょっと残念です。こればかりは仕方のないことですが、もう少し便利になってほしいので、引き続き情報はチェックしていくつもりです。

2016年で自分の中で楽しそうに思う技術、それはデータ管理です。

いろいろなデータ管理方法が世の中では謳われているのですが、データが爆発的に増えて、どのように管理をしていけば良いのかわからなくなることや、データはあるけど、それを活かすすべが見当たらないなど、結局集めても使えないと意味がないという流れになるので、その点をもう少し掘り下げていきたいと思います。このスキルってものすごくニッチで脚光を浴びる世界ではないけど、必ずニーズがあるものなような気がします。データサイエンティストになるにはかなりの知識量と経験がないとなれないの、その手始めにデータ管理というのもそんなに悪くないように思えます。マイニングについても引続き粛々とやっていこう。

あとは、世間を騒がせているIoTももう少し身近になるとより生活が楽しくなる技術のように思えます。もっと家にセンサーとか増やしてサービスと連携させたくなるようなものがこれからどんどん出てきてほしい。

こんなところで新年早々思ったことです。このblogは自分ためのものですが、もう少し自分のために文章を残しても悪くないようにおもえてきました。

年末は何をしてくれようか…2014年

気づけば2014年も無事に仕事を納めた。2014年最初にして最後のPOST、全然更新できていないので、今年を少し振り返って来年をどうするか考えてみようと思う。

今年は新しいことへのチャレンジの年。
あまりにも実装と遠い世界、こんな上流の仕事が今後あるか、微妙だけどそういう仕事に携われる機会があって、それにチャレンジできて本当に良かった。いつも製品や技術のことを方式・物理・詳細設計でお客様と決めていく世界から、お客様のビジネスを一緒に描いていく世界。今まで過ごしてきたITの世界とはまた違ったITの世界を垣間みれた気がした。

来年は!!
もう少し今の世界を広く覗いてみたいと思う。

自分的に気になるものは…
もう少しうまくSaaSがでてきてもいいのかなと個人的には思う。制限がいろいろとついてきてしまうSaaSだけど、その恩恵もたくさんある。PasSとかIaaSとかあるけど、個人的にはSaaSがもう少し頑張ってほしい。今年盛り上がりをみせたDockerを筆頭としたコンテナまわりについては、きっと世の中が求めているんだろうな〜って素通りしておこう。ビッグデータは、何をビッグとするのかイマイチはっきりしていないのでなんとも、非正規化なデータをいろいろと分析できるようになるプラットフォームがお手軽になるならとっても良いように思える。すべてを分析や統計学でビジネスを語ることができるなら、経営者っていらないんじゃないかと考えてしまう。あくまでも分析した結果を参考にするのであって、判断をする人の経験やビジネスセンスも大切だと思う。人はひかれたレールに縛られて生きていくことを良しとする人と、レールからちょっとでてみようかな〜って思う人がいるから。

だからこそ、世の中は楽しくて便利になって、こんなにも便利になっているのにもっと便利になることを生み出していくクリエイタの人がいる。

そんなこんなで、今年もお疲れ様でした。来年も自分にとって、また皆様にとって良い一年になることを心より祈っております。

最後に
go言語
ruby言語
両言語のますますの繁栄を心より応援しております。
良いお年を!!

年末は何をしてくれようか…

2013年の仕事納めまで残すところ僅かで、かなりテンションも低めで
気づけばクリスマスも終わってあっという間に年末モードに突入と…

年末年始は長期連休が取れそうなので、やっていきたいことをまとめておこう。
きっと年始に見て嫌な気持ちになると思うけどな

積ん読している本を片付けると!!
 ⇛これは読むということですw

・何か楽しい製品をみつける
 ⇛最近はDIばかりなので、もうそろそろ分析系のキャッチアップでもはじめよう
  マイニングとか格好いい言葉がたくさん世間では叫ばれているけど、本当に求められているのはそこなのか?

・何かプログラムを書こう
 ⇛最近はパワポとエクセルばかりでプログラムを書いてないぞってことで少しプログラム書こうぜ!!
  TopCoderとかでちょっとしたプログラムの問題をやったりと、基礎力をアップさせるようなやつでせめていこうかしら

・おまけ
 ⇛FINAL FANTASY X/X-2 HD Remaster TWIN PACK
  負けた気がするけど、FF13LRがあまり好きくなかったので、買ってやってみようかなっと。

どれぐらいこなせるかな…
少しづつやっていこう。ほらまずは0から1を足すことが大切と(・ω<)

気づけば年が終わる…

全然更新せずに年だけが終わっていく…今年は何をしていたのか!!
技術に対する情熱が徐々に薄れてきているのか…否、そんなことはない。なんだかんだ技術は楽しい。
残すところあと僅かだけど、一応少し振り返りをしていこう。

今年は殆どがデータインテグレーションな年でした。情報系もどんどん一般化が進み、BIでは飽きたらずマイニングにも手をだすようなところがぽちぽちと。思うのはBIって導入から数年のターンで見ていかないとちゃんと根付いて効果が発揮できているのか分からない。情報系は小さく産んで大きく育てるって言われているけど、案件に差し込まれるとほとんどが導入部分で小さく始めるところがターゲットになってしまうため、その後の活用に至ってはなかなかお目にかかることがないのが現実。ちょびっと寂しいけど、企業の上層部の方々がいろいろな判断をするなかでひとつの指標となるような活用に繋がってほしいと切に願ってます。ただ、少し目を離した隙にすごく格好いいレポートとかできちゃってるところを見ると少し嬉しくもなるよね。

話は戻りデータインテグレーション。
ハードの交換のためデータ移行したかったり、他のところでデータ使いたいからレプリケーションしたかったり、いろんなところで話が湧いてくる。扱うデータがでかくなってきて、徐々に身動きが取りづらくなっているから、こういうことをちゃんと考えないと先に進むことができない、でも、思うのは分散と統合は繰り返されるということ。ここらで統合してみよう!!それも良いとは思うけど、それってまた分散するんじゃないかな〜なんて思うこともある。それでも何かしないといけないという使命感がふつふつと湧いてくるのか。本当にそれが必要なのだろうか?!

特に結論もないけど、仮想化もクラウドもアプライアンスもどんどん増えていくけど、それっていいことなのか。年末年始の休みの時に少し考えてみるには良いかと思う。結局何が良かったなんか未来からしか見えないんだから、踊れるものに踊ってみるのも楽しいさ、きっと。

そんなことを漠然と思ってしまい、振り返りだころじゃないね、こりゃ(・ω<)

Oracle Endeca 2.3 インストール

Oracle Endeca(2.3)にインストールに挑戦!!
OSはEnterprise Linux Enterprise Linux Server release 5.5の64bitを利用します。

Endecaのインストールに必要となるツール群はとりあえずOSの設定とあわせて設定済みですが、基本的なソフトウェアしか使わないようなので、いつもの面倒な作業がないのは楽ちん

EndecaがOracleに買収されたのが2011年10月のため、Oracleの製品になって一年もたっていないプロダクトで、BIツールとのこと…開発元は米Endeca Technologiesで受け売りは『さまざまなソースから探索と分析をする』プロダクトだって…インターネットをテロテロとみていると、分析モデルの準備が楽にできるところが売りようですが、そこら辺は自分で使ってみて確認していくしかないか。

それにしても、OracleのBIツールがまた増えた。BIEEとEPMとEndeca…この3つが今後どのように住み分けされていくのか楽しみは楽しみだけどな〜、そんな悠長なことを言ってられない気もします。

でわ、さくっとインストールをしょ。
OSにはインストール用ユーザをDBにならって作りました。多分必要ないと思うけど、root使うのは気がひけるから

# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba,oper oracle

次にjavaをインストールして、$JAVA_HOMEと$PATHを設定。

$ export JAVA_HOME=/usr/local/jdk1.6.0_32
$ export PATH=$JAVA_HOME/bin:$PATH

Endeca Server システム要件

CPU:64bitで1.8GHz以上
Memory:3Gbyte以上
HDD:80Gbyte以上

サポートされているOS

Linuxでは、OEL5とRHEL5の64bitでWindowsではWindows 2008 R2 x64。結構せまき門で64bitしかないところが、かなり潔い感じです。Windows7の本番環境利用はサポートしないけど、小さい環境を開発する際には十分つかえよ〜、でも、XPはサポートしないとのこと…64bit時代の流れについていけなくなってきてるんですね。

Linuxで必要となるユーティリティ群
  • basename
  • cat
  • chgrp
  • chown
  • date
  • dd
  • df
  • mkdir
  • more
  • rm
  • sed
  • tar
  • true
  • awk
  • cksum
  • cut
  • dirname
  • expr
  • gzip
  • head
  • id
  • perl
  • printf
  • tail
  • tr
  • wc
  • which
ソフトウェア要件

Integrator,Studioの要件

Endecaサーバと殆どかわらないと…

Endeca Server インストール

インストールディレクトリを/optの下にしたいので、
一旦/optのパーミッションを変更

# chmod 777 /opt

次にEndeca Serverインストール用のシェルを実行

$ ./ES_2.3.sh --target /opt

インストールが終わるとメッセージがでてきます。

Installation complete!

あっという間にインストールは終わるので、なんだか面白みは全然ないけど、これぐらい簡単なインストールに全部のプロダクトがなると嬉しいんだけど…
/opt/Oracle/Endeca/Server/2.3.0
インストール後のパスはこんな感じになりますが、optの下にOracleってせめて小文字にしてもらいたかったし、FMWとの共存のときにも、ディレクトリの階層がずれそうだな

インストール後の確認

とりあえず、サーバを起動

$ cd /opt/Oracle/Endeca/Server/2.3.0/endeca-server
$ chmod 755 *.sh
$ ./start.sh &
[1] 7221
$ ===================================
Starting Endeca Server on port 7770
===================================
2012-06-05 21:25:02.943:INFO:oejs.Server:jetty-8.0.1.v20110908
2012-06-05 21:25:02.968:INFO:oejdp.ScanningAppProvider:Deployment monitor /opt/Oracle/Endeca/Server/2.3.0/endeca-server/jetty-distribution-8.0.1.v20110908/webapps at interval 1
・
・
・

どうやらEndeca Serverはjetty上で動くみたいです…ここはjavaでなくて、普通のデーモンのほうがいい気がするのは、もう昔の考え方なのかな、最近こういうのをサーバにしてることが多いよな〜

次にデータストアを用意します。マニュアルに従ってデータストア名は「adventureworks」にしてます。

$ cd /opt/Oracle/Endeca/Server/2.3.0/endeca-cmd
$ ./endeca-cmd create-ds adventureworks
357167 [qtp637148086-13] INFO   [MkMdexRunner] Creating data store '/opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks'
357171 [qtp637148086-13] INFO   [ProcessHandler] Executing: /opt/Oracle/Endeca/Server/2.3.0/endeca-server/dgraph/bin/mkmdex /opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks 
369898 [qtp637148086-13] INFO   [MkMdexRunner] Created data store '/opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks'
370018 [qtp637148086-13] INFO   [DGraph] Starting data store 'adventureworks'
370038 [qtp637148086-13] INFO   [ProcessHandler] Executing: /opt/Oracle/Endeca/Server/2.3.0/endeca-server/dgraph/bin/dgraph --out /opt/Oracle/Endeca/Server/2.3.0/endeca-server/logs/adventureworks.out --pidfile /opt/Oracle/Endeca/Server/2.3.0/endeca-server/logs/adventureworks.pid --log /opt/Oracle/Endeca/Server/2.3.0/endeca-server/logs/adventureworks.reqlog --port 7771 --bulk_load_port 7772 /opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks 
380718 [qtp637148086-13] INFO   [DGraph] Started data store 'adventureworks'

次に作成したデータストアの確認

$ ./endeca-cmd status-ds adventureworks
Current State: Started

Data Files: /opt/Oracle/Endeca/Server/2.3.0/endeca-server/data/adventureworks
WS Port: 7771
Bulk Load Port: 7772
Startup Timeout (s): 60
Shutdown Timeout (s): 60

どうやらちゃんと認識されているようです。
ついでにendeca-cmdは以下のようなことができる模様

Available commands:
   list-ds
   list-jobs
   status-ds
   stop-ds
   start-ds
   create-ds
   attach-ds
   detach-ds
   version

Integrator インストール

Integratorインストール用のシェルを実行

$ ./EID_2.3_Integrator_designer.sh --target /opt

インストールが終わるとさっきと同じメッセージがでてきます。

Installation complete!

インストールされたpathは/opt/Oracle/Endeca/Discovery/2.3.0/Integratorになります。

次にTomcatをインストールして、warの設定をするステップになるのですが、なんでここでTomcatが必要なのかいまいちつかみきれない…
この次に出てくるStudioのインストールでもjavaのコンテナが必要になるから、余計に理解しづらいです。
触っていくうちに解決するといいんだけどな…

tomcatってどこにインストールしてもいいと思うけど、どこにいれるのがわかりやすいのかな…/opt/Oracle/Endeca/Discovery/2.3.0/Integratorの下がいいと思うのですが、この配下ってどうやら、eclipseのディレクトリな気がするので、一階層上にtomcatを配置。

warファイルのデプロイをGUIでする場合には、tomcat-users.xml のタグにmanager roleと属するユーザの追加が必要

<tomcat-users>
  <role rolename="manager"/>
  <user username="tomcat" password="s3cret" roles="manager"/>
</tomcat-users>

Tomcatの起動(なんだかとっても懐かしい)

$ cd /opt/Oracle/Endeca/Discovery/2.3.0/tomcat-6.0.35/bin 
$ chmod 755 *.sh
$ ./catalina.sh start

Tomcatにアクセスして、以下のwarファイルのデプロイ

  • clover-license.war
  • clover.war

http://servername:port/clover/gui

上記URLでIntegrator Serverにアクセスできます。
デフォルトのユーザ/パスワードは『clover』
かっこいい感じのページが出現…なんとなく画面の文字をみてると、どんなことをしてくれそうか検討がつくGUIに好感を持ちました。
とりあえず、Integratorのインストール完了!!

Studio インストール

マニュアルをめくっていて、一番面倒くさそうな奴がStudioだったので、若干警戒して取り組んでいこう
Studioはアプリケーションサーバが結構選べるようです。
Tomcat 6とWAS 7とWeblogic 11gの3で、それぞれバージョンの意識が必要ぽい。
Tomcatの場合はStudioがバンドルされているものがあるようなので、楽チンそうですが、ここでもTomcatを利用すると8080ポートがデフォルトだとぶつかるね。

今回はOracleということでWeblogicでチャレンジ。若干道のりが長いですが
何はともあれ、Weblogicのインストールして、ドメインまでつくりましょう。

$ chmod 755 wls1036_generic.jar
$ java -jar -d64 wls1036_generic.jar
GUIでインストール開始
ドメイン作成
$ cd /opt/Oracle/Middleware/wlserver_10.3/common/bin
$ ./config.sh
Weblogic Serverの起動
$ cd /opt/Oracle/Middleware/user_projects/domains/endecastudio_domain
$ ./startWebLogic.sh(&をつける場合はboot.propertiesの設定をすること)
$ ./startManagedWebLogic.sh studio t3://10.74.1.171:7001(&をつける場合はboot.propertiesの設定をすること)

次にsetDomainEnv.shで設定されている$JAVA_OPTIONSに以下の4つのオプションを追加

-DUseSunHttpHandler=true
-XX:MaxPermSize=512m
-Xms256m
-Xmx1024m

endeca-portal-weblogic-2.3.earをGUIでデプロイするとliferay.homeが/opt/Oracle/Middleware/user_projects/domainsに設定されて、deploy,dataのディレクトリが生成されます。liferay.homeを変更するには、portal-ext.propertiesにディレクトリに設定すればいいよってマニュアルに書いてあるけど、どこにこのファイルを突っ込んでおけばよいかわからない…

このあとにデプロイしたアプリケーションを使って画面を確認するみたいなのですが、デフォルトのIDとパスワードがバンドル版じゃないから設定されていないとorz
なんんだかいきなりWeblogicでデプロイしたのが失敗だった気がします。もう少し慣れてきてからチャレンジしときゃよかった。とりあえず、Weblogicは眠らせておいて、バンドルTomcatで起動しよう

$ tar xzvf EID_2.3_Studio_portal.tgz
$ mv endeca-portal/ /opt/Oracle/Endeca/
$ cd /opt/Oracle/Endeca/endeca-portal/tomcat-6.0.29/conf
$ vi server.xml (portの変更)
$ cd /opt/Oracle/Endeca/endeca-portal/tomcat-6.0.29/bin
$ ./catalina.sh start

tomcatが起動したらhttp://server name : portにアクセス
ID/Passwordはadmin@oracle/admin

f:id:noririing:20120606123658p:image
f:id:noririing:20120606123659p:image

やっとの思いで画面がみれました。
慣れないせいか、結構長かったけど、かろうじて動くところまでできたので、今回はこれにて終了です。
お疲れ様です。

最後に

何ができるプロダクトなのかはわからないけど、とりあえず動かすことはできるようです。なんとなくIntegratorでデータを分析して、Integratorで生成したIndexなどをEndeca Serverで読み込んで、Portalで表示するとかの役割な気がしますが、どこにEndecaの強みがあるのかな…なんだかEPMと製品構造が似ている気がするのは気のせいです。

NUMBERSをやっとみた

アメリカドラマのNUMBERSをぼーってシーズン5までやっとみれた。どうやらシーズン6まであるみたいだけど、Huluには5までしかなかったから、とりあえず、一段落。
長かった…このために結構膨大な時間を使った気がするけど後悔しない。それぐらい面白かった。

詳細はNUMBERS 天才数学者の事件ファイル

ドラマに出てくる聞き覚えのあるアルゴリズムや計算式などが、いろいろな形で発展し捜査の支援をしていくところをみていると、ワクワクして次はどんな解決をしていくんだろう〜、なんて思ってしまい、見続けてしまった。
驚きなのがドラマの中で利用している数式は実際に利用できる数式という点。実際にFBIでこんな数式が利用されているかはおいておくとしても、確率・統計ってすごい。

大量データを分析に利用し、今後の計画を立てること。マーケティングも、犯罪調査も活用方法は違うものの、対象が違うだけでやっていることはあんまりかわらない。ドラマの中でも、データが不足しているから犯罪予測できないシーンなどあったし、実業務でもよくある。そのために大量のデータを貯めこむなんてことも実際に行われている。無駄なデータだな〜、なんて思っていたら、分析方法によって価値のあるデータに生まれ変わることもあるだろうし。

ドラマの中でよく使われる言葉はアルゴリズム。とっても便利な言葉である。

入力

アルゴリズム

出力

アルゴリズムはなんでもありだ、まさにブラックボックス。どんな複雑な式を使っていようが、アルゴリズムの一言で済む。アルゴリズムの定義にもよるが、プログラム全部がアルゴリズムだといえばそれでおしまいだが、狭義のなかでアルゴリズムを考えるとそれを書くことは意外に少ない気がする。業務アプリケーションの中でビジネスロジックを記載するプログラムをどれだけちゃんとコーディングすることができるのだろうか、なんて感じてしまう。

また、数式を実際に組み立てることができることは本当にすごいと思う。マイニングなどで利用する分析方法についても、本当に理解するには膨大な知識と時間がかかるけど、すでに証明されていることだから、製品に組み込まれて簡単に利用することができる。利用しているお客様に「なんでそうなるの?」と根拠を聞かれると、答えることは難しい。ただ、簡単に分析したいというニーズに答えるために製品もつくられている。そこまで知る必要はなく、そのロジック自体は製品が保証していて、そのロジックは偉い学者さんなどがすでに証明している。そんなことを思うとちょっと億劫になる。ただ、エンジニアって中身を知りたくなる生き物なんだよね。