SyuchiNikuRingの備忘録

お勉強したことをまとめておく場所。中の人の理解や感覚で書いているから不正確なことも多いかも。

環境構築のお話~フィナーレ

やっほー。

環境構築で朝から奮闘していたわけですが、無事に終了しました。

うまくいかなかったので、中途半端にインストールしたものはすべてアンインストールしました。

 

うまくいかなかった原因は、セキュリティソフトが外部へのネットワーク接続をキャンセルしたことにありました。

なので、セキュリティソフトをいったんオフにしてやり直しました。

 

ほぼ半日かかりました。

 

とにかく、これで仮想環境上でのJavaの勉強環境が整いました。

 

よかった…

 

とはいえ、今日はこのまま徹夜コースかな…

Java入門of入門をやってみた。season1~条件分岐~

やっほー。ローカル環境の構築の間にJavaの入門をやってみた。

 

初めて触れるんですよねJava。season1とかテキトーに言っているだけなので気にしないでください。

 

そんなこんなで初めて知った内容をまとめておきます。備忘録なので。

 

Javaに対するイメージは「『;』大好き言語でしょ?」というものでした。(Cなどもみんなそうですが)

別に間違ってはいないのですが、なんと!

条件分岐の際に「;」が不要になるときがあるのです。

 

Javaの条件分岐はほかの言語と同じように書いていきます。

 

if(条件){

(実行文);

}else{

(実行文);

}

 

なんとブロック最後には「;」をつける必要なし!

しかも、これだけではなく、構文にはswitch文があり、これを使うとさらにシンプルに書けるわけなのです。

素晴らしい。

switch構文はどんなのかというと、こんな感じ。

 

switch(条件文){

case 値:←まさかのコロン

(実行文);

break;

case 値:

(実行文);

break;

}

ここにきて「;」ではなく「:」が使われています。それに必ずbreakをつけます。

switch文は上から順に実行していきます。したがって、breakを書かないと、全ての処理を行ってしまうのです。条件に合致した場合の処理を行わせるためにもbreakは必要不可欠です。

ところで、条件分岐において、もし全ての条件に合致しない場合はそうするのでしょうか。

if文ではelseを使えば良いのでですが、switch文のときはどうするのか。elseに相当するものがあるのでしょうか。

 

あります。それは"default"です。

 

switch(条件式){

case 値:

(実行文);

break;

case 値:

(実行文);

break;

default:

(実行文);

break;

}

こんな感じ。構造的にはif文と何ら変わらないですね。

 

C++をかじってからJavaをやると様々な点で戸惑います。

例えば、真偽値。

C++ではbool (変数名)で定義しますが、Javaはboolean (変数名)で定義します。

なんか微妙に名前が違いますね…

 

 

ローカル環境整えてみた。続き

やっほー。午前中にローカル環境整えると張り切っていたよ。

 

……整わない!

 

途中からエラーが発生しセキュリティレベル下げてからやり直したものの,どうやら外部ネットワークに繋げられず,インストール作業が停滞してしまいました。

 

困ったので,一旦アンインストールしてやり直しているのですが,一向に終わる気配がない!

 

環境構築にはいつも手間取ります。

 

どうしたものか。

 

流れ的には…

 

Vagrantインストール

Vagrant起動してfile内のIPアドレス部分がコメントになっているのでそれを直す

powershellでフォルダを作る

puttyインストール

puttyからvirtual環境にログイン

・gitインストール←ここで失敗

 

セキュリティ設定を緩めてリトライするも撃沈。

ローカル環境整えてみたよ。

やっほー。プリキュアで「始末書上等,残業歓迎」というブラックなセリフが飛び出した日曜の朝ですね。

 

さてさて,今日は朝からローカル環境整えてるよ。

 

何してるのかっていうと,

 

Vagrantをインストールしてる

 

終わり。

 

Virtual Boxは既に入れていたので,Vagrant を入れるだけで済みました。

 

これらによって,仮想環境に自分のサーバ環境を作って実際に動かせるようになります。

 

手っ取り早い話,よそでサーバ借りると高いから自分専用のやつを作っちゃえってことです。

 

コマンドを実行するのでPowershellを使うのですが,人生で初めて触った…

 

そんなこんなでローカル環境は無事に構築できそうです。

ハッシュ値,計算してみた。

やっほー。暑さが続いていますね。

 

今日はハッシュ値を計算したよ。セキュリティの勉強していると必ず通る道よね。

 

そもそも「ハッシュ値って何?」って人はこれを読みましょう。

用語解説辞典|【公式】NTTPC

 

ではさっそく本題にレッツゴー。

 

まずメモ帳を開きます。そしてテキトーなテキストを書きます。(なんでもいいです。)

f:id:SyuchiNikuRing:20180825170327p:plain

これをデスクトップに保存しておきます。(まあ別にどこでもいいですが。)

保存したら閉じます。

次に『HashCalc』をインストールします。インストールが無事終了したら起動します。

f:id:SyuchiNikuRing:20180825170603p:plain『Data』のところに『...』のアイコンがあります。ここをクリックして、先ほどのテキストファイルを選択します。

これで準備は整いました。

『Calculate』をクリックすると、チェックボックスで選択されているMD5の値が得られます。

f:id:SyuchiNikuRing:20180825171038p:plain…もとのテキストとは打って変わってわけのわからない文字列になりました。

さすがハッシュ値

次に、元のテキストを少しだけ変えてみます。

先ほどのテキストにカンマを一つ入れました。

f:id:SyuchiNikuRing:20180825171328p:plain

保存して閉じます。同じ手順でHashCalcでテキストファイルを選択します。

Calculateをクリックするとこんな感じに。

f:id:SyuchiNikuRing:20180825171519p:plain先ほどのハッシュ値とは全く違う値になりました。

これがハッシュ値の威力です。カンマの有無一つで値が全く異なるものになります。

ハッシュ値には,異なるデータで同じハッシュ値が生成されることはなく(ダブることがない)、ハッシュ値からは平文を再現できないという性質があります。

もちろん脆弱性が見つかっているものもありますが。 

ちなみに他のハッシュ値はこんな感じ。同じ平文でもこれだけ異なる値を得られます。

f:id:SyuchiNikuRing:20180825172039p:plain

 

今回はここまで。Hava a nice hash!

インターーーーーーーーーン‼︎まとめPart6

今回はコンサルから開発まで一手に担うことを売りにした会社に行ってきました。

 

配属先はあらゆる部署・プロジェクトの横串となる仕事をしているところ。

なので,その会社内では異色の存在であり,プロジェクトをいくつも並行して進めているところだそうです。(普通はプロジェクト単位で動くので,メンバーが掛け持ちしていることはあってもチームで複数のプロジェクトを持つことはない)

 

もちろん守秘義務のため,何をしたのかなどを具体的には言えませんが,非常に楽しい一週間でした。

 

そこに行かなければおそらくBIソリューションなんて触れることなく生きていました…

 

インターン中に実際にいくつかのツールを動かしていたのですが,これがまた面白い。

 

何が面白いって,出力したグラフが連動したり,クロステーブルが容易に作成できたりするのです。複数のインデックスで多角的に見ることができます。

 

前回エントリのCognosなんかはこの過程でググってる最中に見つけて試しにやってみようといじってみました。

 

今回は専門外であり未知の領域でした。…がしかし、いや、それゆえに、

「己のスキル不足・知識不足を再確認しボコボコにされることで立ち位置を確認する」という目標は達成できました。

 

ただ,「そんなに殴る?」ってくらい実力差や知識の差を痛感したので,「みんな強い…」というお気持ちでした。

 

他にも本物の仕様書や上流と下流の中間業務といった,中々学生が目にしないであろうものを間近で見ることができたので,非常に刺激的な一週間でした。

 

悔しかったです。正直。

 

「専門外だとこうも歯が立たないのか」とショックでしたし「何をすれば要求に応える挙動を得るのか」を手探りで探して,失敗を繰り返していくことで,自分の実力不足を嫌という程痛感しました…

 

BIツール"Cognos"を触ってみた。

台風すごいね。今年は天災多そうですね…

 

前回の投稿でpowerBIに触れた話をしたので、今回はIBMのCognosを触ってみようと思います。

 

ということで早速IBMのアカウントを作成し、Cognosに行きます。

f:id:SyuchiNikuRing:20180824001932p:plain

 分析にかけるデータがないので今回はサンプルデータで遊んでみることにしました。

サンプルデータのところから飛ぶとIBMがいくつかのサンプルデータセットを提供しているページに行きます。

f:id:SyuchiNikuRing:20180824002137p:plain今回はBanking loss eventsのデータセットを選びました。早速データセットを入れます。

データセットを公開しているページでデータセットをどうするのかを書いてくれているので安心です。書いてある通り最初のCognosのページ左下の『新規』から『ファイルをアップロード』します。これでCognosにデータセットをインポートできました。

f:id:SyuchiNikuRing:20180824003515p:plain

ここまでは簡単。前回のエントリでCognosは重いだのなんだの書きましたがここまでは順調です。データセットを入れるのに若干時間がかかったくらいです。

ここからは実際にデータをレポート・ダッシュボードとして出します。この部分でいかにエクセルより優れているのかを示さないとBIは御役目御免ですね。

インポートされたデータセットは最初のページにプロジェクトのように表示されます。

 

今回はチュートリアルということで、IBMが公開しているチュートリアルの動画に従ってやってみます。

丁寧に動画のライブラリページを作ってくれています。

www.ibm.com

ここの動画を順に見ていけば大丈夫です。もっと早く知りたかった…

 

さて気を取り直してさっそくレポートを作成します。

まずは『新規』→『レポート』といき、テンプレを選択します。この際、テーマも選択してデザインを決めます。選択出来たら、Source横のプラスアイコンを押してから『チーム・コンテンツ』→『データ』→『Banking loss events』を選択。まあ何を選んでも問題ないです。これでデータの追加はできました。

あとは、グラフを選択して好きなインデックスを軸にとるためダブルクリックします。その後、値にドラッグ&ドロップで好きなインデックスを持ってきます。これがすごいところ。使いやすさのポイントですよね。まあ説明なかったらそこにさえたどり着かないですが…

 

 

f:id:SyuchiNikuRing:20180824014128p:plain

いい感じですね。

このあとクロステーブルも同じような手順で作ります。詳しくは動画を見て下さい。めっちゃわかりやすい。

そんなこんなでチュートリアルを見ながらまねしたものがこちら。

f:id:SyuchiNikuRing:20180824015239p:plainそれっぽい!!

今回は棒グラフでしたが、様々な種類のグラフが出せます。

 

今回は自分のPCでやりましたが、別のところでやったときはいくつかのグラフを出して連携できた気がする。

 

正直、使いこなすには挙動になれるための十分な時間が必要でしょうね。操作は比較的簡単だとは思いますが…

 

個人的はPower BIの方がはるかに使いやすかったです。

今度はPowerBIをまとめます。多分。my PCでやる気になれば…