2017年9月28日木曜日

Java アノテーションについて

知りたいこと
①概要
②メリット、デメリット
③学習コスト
④参考サイト

---------------------------------
①概要
アノテーションとは?
アノテーションとは元々、注釈、注記といった意味を表す英語です。プログラミング用語でも、注意書きを追加する機能になり余白に文字を追加する機能、とのこと。

そして、アノテーションには3種類あります。
・名前だけでデータのないマーカー 
例:@Override
・データをひとつ持つ単一アノテーション
・複数のデータをもつフルアノテーション

②メリット、デメリット
メリット
これを記述した場合、その場所では指定した規則に従う必要があるので、例えばスペルミスやバグの発生を防止することになり便利なんです。

デメリット
・近年Java フレームワークではよくアノテーションが使われているが、(何事もそうだが)意図や標準をきちんとつくって展開していくことが大切である。、とまだ自分もそこまで使いこなせていないので何とも、、、というのが本音。^_^

③学習コスト
技術要素をあげるときりがないので、アノテーションに限らずJava 標準のテクノロジーをさわって一つ一つ自分のものにしていくしかないと思われる。

④参考サイト

【Java入門】アノテーションの使い方と作成する方法




2017年9月19日火曜日

git cloneコマンド実行で利用する通信プロトコルについて

①git cloneコマンドについて

いまさら聞けないgitの使い方http://qiita.com/mountcedar/items/682743c95fd3b8fc274b

②使用する通信プロトコル

Git サーバー - プロトコル

https://git-scm.com/book/ja/v1/Git-サーバー-プロトコル


2017年9月15日金曜日

jQuery基礎、その他雑談

jQueryを久しぶりに使いそうなので整理しておく。

(お断り)
個人的な意見がコメントでありますが、書いてて思ったことを残しているだけですので信憑性は不明です。

内容
1.jQueryとは
2.jQuery活躍どころ
3.JavaScriptとの比較(じゃあ全部jQueryで書けばいいの?という自問自答)

1.jQuery
JavaScriptを簡易に記述できるもの。
いまはWebデザイナーも使える必要がある。

昔はデザインはデザイナー、ロジックはプログラマーみたいに完全に分かれていたが、デザイナーもjQuery使えた方がよいというお話。

クラウドの普及により、業務アプリエンジニアとインフラエンジニアの領域がクロスオーバー(使いかたあってる?)してきてるよね、というのとイメージ似てる。

日々革新が進むIT業界において、一つ一つ技術要素へのハードルが全体的に下がるので自ずと今まで働いていたレイヤーより上でそれらコントロール、コーディネートするスキルが重要になってくる。

アプリエンジニアで言えば、業務ロジックのライブラリ化(部品化)が進み、それらをコントロールする(MVCのCみたいな)ところを如何に生産性高くできるかが大切。

インフラエンジニアで言えば、IaaSに代表されるメガクラウドの誕生で直接データセンターにいってケーブル地獄?!と格闘しなくていいよ、その代わりサーバーからネットワークからストレージと全体最適を実現できるシステム基盤をよろしくねー、みたいな難題を解決することを求められる?!

あとはサーバレスアーキテクチャを活用(PaaS、AWS Lambdaとか)して即座にアプリ作ってー
→了解でーす、できましたー。

とかAWSだとRedShiftのコストたかいんだけどー
→RedShiftから安価なS3に直接アクセスできるようになりまっせー

 こんな感じ、、、ってかなり脱線したw

2.jQuery活躍どころ
というかコード例。
下記サイトわかりやすい

3..JavaScriptとの比較(じゃあ全部jQueryで書けばいいの?という自問自答)
工事中、、、

2017年9月12日火曜日

アジャイル型開発技法(スクラム)について

今後で開発することも考えられるため調査しておく。

ウォーターフォールは割愛し、
スクラム開発では下記のタスク?みたいなものが定義されている。

デイリースクラム(朝会)
→朝会、なるほど。そのままですね。
リリースプランニング(プロダクトバックログ)
→リリース順番を決めていくプロセス
スプリントプランニング(スプリントバックログ)
→機能開発の予実管理し、PDCAをまわすプロセスっと言ったところか。
 間違っていたらすいません。
スプリント(イテレーション開発)
→目標達成に向けてガンバル
スプリントレビュー(デモ)
→全員でのレビューみたいな。
ふりかえり
→KPT法など。以前個人でやってた。

またスクラムの役割として以下の様なものが定義されています。
プロダクトオーナー
スクラムマスター
チーム

特徴的だと感じたのはスクラムマスター、これは自分が昔いたプロジェクトで実施してきた
潤滑油的な役割にとても似ていてる。
目標達成に向けてコミュニケーションも含め開発が円滑にすすめるよう、見える化や
積極的なMT開催など、タスクの線引をせずに進めていく。

まあ、どうなるかわからんけど楽しみではある。
そんな甘くないと思うけど。仕事ですから。。。

OpenStackについて少し調べてみた

今後クラウドサービス関連の業務をする可能性が出てきたので
OpenStackについて調べてみた。

OpenStackとは
クラウド基盤。IaaSを実現する基盤ということ。
クラウドサービス(例えばAWSみたいなクラウドサービスを開発したい)構築するときに
つかうモジュール群みたいなもの。

ではOpenStack Novaって?
OpenStackは下記のように構成されているらしい。
(この構成単位をプロジェクトと言っている)
Nova(AWSでいう EC2)
→コンピュート:仮想マシン管理やハイパーバイザとの接続を提供
Swift(AWSでいう S3)
→オブジェクトストレージ:オブジェクトストレージサービスを提供
Glance
→イメージ:仮想マシンの起動イメージサービスを提供
Horizon(AWSでいう 管理コンソール)
→ダッシュボード:GUIのダッシュボードを提供
KeyStone(AWSでいう IAM?!)
→認証:認証サービスを提供
Neutron
→ネットワーク:L2/L3ネットワークと、ファイアウォールのネットワークサービスを提供
Cinder(AWSでいう EBS)
→ブロックストレージ:永続的なブロックストレージサービスを提供
Heat
→自動化:スクリプトによる仮想マシンの作成からアプリのインストール等を自動化
Ceilometer
→メータリング:各サーバからシステム情報を定期的に収集して保存
Trove
→データベース:データベースに関わるサービスを提供
Sahara
→ビッグデータ:ビッグデータに関わるサービスを提供 (Hadoop、Spark)

参考)ゼロから始めるOpenStack
http://news.mynavi.jp/series/openstack/001/

AWSを少しでも触ってて良かったいう印象。。

2017年9月8日金曜日

SQL 基礎(結合条件と抽出条件について)

もういい歳してですが、SQL に苦手意識があります。

今回は基礎ということで結合条件(JOIN)と抽出条件(WHERE句)のことを整理したいと思います。

そもそも、この苦手意識は何処から来てる?!みたいなことを考えると、、、
・新人配属されてから約1年、RDBMSを実務で触ってなかった(これアプリ開発現場からすると珍しくみえますが、たまたま配属先のプロジェクトではメールシステムの開発ということでLDAPだったんですね)
→LDAP検索/更新は沢山したよ〜、LDIFとか懐かしい。
・DB設計なるものを0から実施したことがない。
まあ、こんなとこです。
要は実戦不足からくるものが大きいです。

それはそれとして、仕事ではそうも言ってられない(というか関係ないので)進めます、、、

今回参考にしたサイト
図もありとてもわかりやすい。

イメージ的には、軸となるテーブル(もしくはデータ群)決めて
①肉付け・欲しいデータ精査
②絞り込み
ざっくりこんな感じでしょうか。

自分はこんな風に組み立ててます、とかご意見も色々知りたいとこですね。

2017年9月3日日曜日

フォールトトレラントについて

似た用語多くの覚えづらいので整理しておく。

◾︎フォールトトレラント
故障が発生しても本来の機能を維持しようとする『考え方』。考え方なので具体的な手法のことではないのがポイント。

具体的な手法は以下の通り。

◾︎フェールセーフ、フェールソフト
フェールセーフ→安全を優先し止める
フェールソフト→障害発生しても稼働できるように設計しておく

参考サイト

2017年9月1日金曜日

OracleとSQLServerの違い

以下のブログは、Microsoftパートナー向けなのであまり真に受けるのはどうかと思うが参考までに。コスト高は実感しているが、、、

【マイクロソフトを選ぶ理由】 Microsoft SQL Server と Oracle のデータベース比較 【 1/30 更新】



同僚から聞いたOracleとSQLServerの違い、in句で複数カラム指定したい場合

上記サイトにもあるように、結合する項目がNULLを許容するときには注意が必要。

<その他参考>

開発者必見! Windows Server&SQL Server 2016テクニカルガイド―IT提案セミナーレポート


ここからはじめる SQL Server の状態取得