2017年12月6日水曜日
2017年10月21日土曜日
Java SE 9/EE 8リリースイベント 兼 JavaOne 2017 報告会 @ 東京に行って来た
台風接近前アナウンスが流れる地下鉄に揺られながら、参加してきましたので書き残しておきます。
ヤフーオフィスでの開催でしたが、会場では飲食自由ということでうちの会社ではあと10年は実現しなさそうw
あくまで個人的な備忘録的なメモなのであしからず、、、
◾︎JavaOne 2017 Overview & Announcements
by 伊藤 敬さん (日本オラクル)
JavaOne概要説明がはじめにありました。
Mark氏はJavaSE9発表ということで、上機嫌であった話。
JavaChampionも増えてるし、応援している人たちも増えてるよ!
世界ナンバーワン1200万人の開発者。前回は1000万人。
軽量化している(今までとは違う)
JavaEE8、JavaSE9
JDK変更について
MillingCoin、Jigsawリリースと順次反映されている。
リリースモデルについて
○現行リリースモデル
★新しいリリースモデル
<機能リリース>
○2年に一度(目標)。まず遅れるので、、、
★6ヶ月に一度
<更新リリース>
○3ヶ月ごと。メンテ用と限定的機能アップデート
★3ヶ月ごと
JDK8
→2018年9月まで。商用サポート 2025年3月まで。
OpenJDKとOracleJDKのソースコード管理
→今後は一本で管理していく。
Java商用サポートについては、常に注視しておいたほうがいい。他のソフトも同様だが。
新しいリリースモデルが遅延ばかりだと結局破綻してしまうので、追っかけしたいと思います。
来年の開催
2018.10.28〜
◾︎JDK9, Release Cadence & Future
by 久保田 祐史さん (inc. JShell Demo by @bitter_fox) (@sugarlife)
久保田さんは難聴者とのこと。障害有無に関係なく立派ですね。
雑誌 WEB+DB
情報収集の仕方
追加機能については、JEPを見ることで分かる。
メジャーバージョンのマイグレーション時に注意すべき点はオラクルのマイグレーションガイドを参照する。
ざっくり知りたい方はこちら
↓↓↓↓
メリット
1、モジュール化(Jigsaw)
2、JShell
3、ライブラリ改善
4、セキュリティ強化
5、付属ツールの刷新
6、G1 GCやコンパイラなどの性能改善
上の3つが新機能。
デモしてくれました。
JavaのREPLツール
→Lisp、Phython
→教育分野ではREPLツールないと不人気になる。
Java9入れなくてもJShell試せる
https://tryjshell.org
補完機能が豊富
import簡単。Shift+iで候補出てくるので選択すればok!これは便利だわな。
フェイルセーフ
→NPE(NullPointerException、IAE。
StreamAPI強化
→Stream.Iterator for文的な使い方できる。
JavaSE18.3
→管理場所 JDK Project
→2018.3.20 リリース予定(Java9から半年後)
ローカル変数の型推論が実装されることで、
頭でクラス名を書く必要なく、すべて
var A
var B
みたいに書ける。
◾︎Intel's Persistent Memory
by 吉田 真也さん(@bitter_fox)
立命館大学 大学院2回
OpenJDKコミッター
Persistent Memory知ってる人??
→知らん、、、
最近アナウンスされた、新しいタイプのメモリ。安くて良いもの。大容量メモリ。
面白いのは、電源切れても内容が保持される!今までのメモリ概念を覆す。来年リリース?!
オラクルがIntelを意識している。
どれくらい改善される?割愛。
レスポンスタイムの改善。
今後10、20年後を見据えるキーワードになるのでは?!
IntelがJavaに力入れている。
◾︎Java EE 8
by 西川 彰広さん (日本オラクル)
①JavaEE8
9.21リリース
GitHubに移管されました。
Glassfish5.0
WebLogic Server来年次期バージョンのリリース予定。
②EE4J(Eclipse Enterprise for Java)
Open、Evolving、Nimble(より速く動く?!)、Scalable
JavaEE
現代にあわせて成長。追随できる仕組み必要。JavaEEをEclipseファンデーションへの移管する。
EE4J→移管プロジェクトの名前です。
なぜ移管したの?!
メリットは、要はテクノロジーへの追随を実現するための移管である。
Open→OracleはJavaスペックリードする立場から降りる。スポンサーはEclipseファンデーション。
Compatible→移管はスポンサーシップも移管する。ドキュメントの資産はOracle所有という扱い。
Flexible→メモできなかった、、、
Nimble→クイックで早く。
EE4Jとは?
→FAQに詳しくあります。
ではオラクルはJavaEE7とかはどのようにサポートしていくの?
既存契約は継続。
既存(〜9/12)は継続。
MVC1.0とかはEE4Jで扱う。
@EclipseEE4J サブスクライブ
◾︎Microservices Topic & Approach
by 森下 大介さん(ヤフー株式会社)
参加したセッション等。
システムにあわせて、組織や文化も変化していった。
コンウェイの法則
→組織のコミュニケーション構造がシステムに反映
Autonomy(自主・自立性)
→スクワッド(分隊)と呼ぶチームにメンバーが所属。一人一人が考え、どのように開発するかを検討議論し決めていく。
マイクロサービスを取り巻く仕組みについて
キーワード
→コンテナ、オーケストレーション
フォールトトレラント
→一部のエラーで全体が影響でないようにする
議論の対象が変化
フレームワークやライブラリは自前開発するものではない。サービスという部品をどう協調動作させるかがポイント。
同期<非同期
2017年10月8日日曜日
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開催など、タスクの線引をせずに進めていく。
まあ、どうなるかわからんけど楽しみではある。
そんな甘くないと思うけど。仕事ですから。。。
ウォーターフォールは割愛し、
スクラム開発では下記のタスク?みたいなものが定義されている。
デイリースクラム(朝会)
→朝会、なるほど。そのままですね。
リリースプランニング(プロダクトバックログ)
→リリース順番を決めていくプロセス
スプリントプランニング(スプリントバックログ)
→機能開発の予実管理し、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/
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構文対応表
http://qiita.com/icoxfog417/items/97fc26a1b23aa831595f
同僚から聞いたOracleとSQLServerの違い、in句で複数カラム指定したい場合
上記サイトにもあるように、結合する項目がNULLを許容するときには注意が必要。
<その他参考>
開発者必見! Windows Server&SQL Server 2016テクニカルガイド―IT提案セミナーレポート
ここからはじめる SQL Server の状態取得
2017年8月30日水曜日
Oracle numberの精度について
以前の職場で、
ORA-01438: 指定した精度を超えた値が列に指定されています"
のエラーが発生。
内容を確認したところ、どうやらテーブルにあるnumber型項目に格納できる精度を超えたためエラーとなっていた。
number型について復習しておく。
参考サイト
number型は、全体の桁数と小数点以下の桁数を指定することもできます。
テーブル定義でいうとnumber(8,3)みたいな場合、全体桁数が8で、そのうち小数桁数が3桁となる。つまり、整数部は8-3=5桁となる。
しかし、今回の発生した内容はこの整数部5桁の項目に6桁を格納(Insert)してエラーとなっていた。
まあ、本来は入口(アプリ)でチェックしてそのような値を許さないようにしないといけませんね。
2017年8月26日土曜日
Oracleバックアップについて
<まとめ>
無停止でバックアップ取得したい場合にはRMAN。
日次10分程度?!の停止が許容される場合にはスナップショットで十分か。
スナップショットでは、スナップショット取得後の本番DBに更新があった場合
更新前データをスナップショットキャッシュと呼ばれる領域に退避する。
バックアップからリストアするときには、上記キャッシュとスナップショットをもとに
データを復旧する。
Recovery Managerを使ったバックアップ方法
※記事古い
http://www.atmarkit.co.jp/ait/articles/0604/21/news115.html
リストアとリカバリー
https://www.google.co.jp/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwiCgujY1OnVAhWKzbwKHX7eDWkQjhwIBQ&url=https%3A%2F%2Fwww.slideshare.net%2Fryotawatabe%2F2016715-jpoug-rdbms-backup-architecture&psig=AFQjCNG0bWKHH2Fr3aEJTPeLTuZRp_5Gxw&ust=1503450748900437
<参考>
ストレージの便利な機能『スナップショット』
https://japan.emc.com/microsites/japan/techcommunity/learn/foundation/snapshot1.htm
Amazon Redshift クラスター(仕様)
http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/working-with-clusters.html
[AWS Black Belt Online Seminar] Amazon Redshift Update – 最近追加された新機能と Redshift Spectrum レポート
※RedshiftからS3に直接クエリ発行可能
http://dev.classmethod.jp/cloud/aws/aws-blackbelt-redshift-spectrum/
無停止でバックアップ取得したい場合にはRMAN。
日次10分程度?!の停止が許容される場合にはスナップショットで十分か。
スナップショットでは、スナップショット取得後の本番DBに更新があった場合
更新前データをスナップショットキャッシュと呼ばれる領域に退避する。
バックアップからリストアするときには、上記キャッシュとスナップショットをもとに
データを復旧する。
Recovery Managerを使ったバックアップ方法
※記事古い
http://www.atmarkit.co.jp/ait/articles/0604/21/news115.html
リストアとリカバリー
https://www.google.co.jp/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwiCgujY1OnVAhWKzbwKHX7eDWkQjhwIBQ&url=https%3A%2F%2Fwww.slideshare.net%2Fryotawatabe%2F2016715-jpoug-rdbms-backup-architecture&psig=AFQjCNG0bWKHH2Fr3aEJTPeLTuZRp_5Gxw&ust=1503450748900437
<参考>
ストレージの便利な機能『スナップショット』
https://japan.emc.com/microsites/japan/techcommunity/learn/foundation/snapshot1.htm
Amazon Redshift クラスター(仕様)
http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/working-with-clusters.html
[AWS Black Belt Online Seminar] Amazon Redshift Update – 最近追加された新機能と Redshift Spectrum レポート
※RedshiftからS3に直接クエリ発行可能
http://dev.classmethod.jp/cloud/aws/aws-blackbelt-redshift-spectrum/
2017年8月4日金曜日
セルフBIとSIerにおけるスキルアップについて
日経SYSTEMSを久しぶりに読んだので、 いくつか書き残しておく。
本日のお題
・セルフサービスBIについて
・SIerエンジニアのスキルアップについて
<セルフサービスBI>
データ準備フェーズにおけるデータアナリストの費用はどうなのか ?
費用対効果に見合うのか不明だが、スモールスタートし、 ある程度の結果を残せるのか等
業務改善的に継続していかないとノウハウの問題とかで一瞬利便性 が上がったとしても、業績アップにどこまで貢献できるかは、 業務部門と一体になり運用含めて取り組まないといけない。
記事にあった「 コンピュータが人に変わって意思決定するのではなく、 人がより良い意思決定をできるようにする」
→これが的を得ている気がするし、しっくりくる表現だと思う。 あくまで現状の日本企業の話だが。
<SIerエンジニアのスキルアップについて>
基本的には
・勉強会やセミナーで学んだことをアウトプットする
・とにかく手を動かす(サービスを使ってみる)
というか、エンジニアとして基本的なことでした。。。
実際、ユーザ企業におけるIT企業に求めるスピード感は上がっていると思う。
2017年6月1日木曜日
LINE Bot体験してみた
下記のサイトにある手順にそって実際にLINE Bot作ってみました。
誰でも簡単にできる! LINE Botの作り方
https://codezine.jp/article/detail/9810?p=5
とりあえず全般の感想としては、今回はサンプルとして
HEROKUを使いphpでアプリ作成し、dropbox上にDeployして
動かしてみましたが、Javaエンジニアなので次回?!は言語を変えて
何かできればな~と思いました。
それでは、手順にそってコメントを残しておきます。
<インストール>
基本的に手順通り進めればOK。
composerとかphp超初心者なので、はじめてインストしました。
<HEROKUアカウント設定など>
はじめてのサインイン、その後トップ?!ページに
複数言語のロゴが表示され、なんだか少しテンションあがったw
むかーし、はじめてeclipseを起動したときを思い出しました。
<Dropboxとの連携>
実はこんな使い方したのも初めてで新鮮!
そして、Deploy。はやっ!
<LINE bot作成、設定>
ここも手順通り進めれば、あら不思議いつものLINEに友達追加できる状態に
<動作確認>
1時間ちょいでサンプル完成。
アプリ仕様としては、こちらが送ったメッセージをおうむ返ししてくる。
ちなみにスタンプは返してきません。
<今後>
今回は既に完成されたプログラムをDeployして動かしただけなので
時間あるときにロジックを覗いて、さらに時間あればJavaで
応用したいと思います。
2017年5月22日月曜日
JJUG CCC 2017 Springへ行ってきた
JJUGイベントは3回目くらいかと思います。
いつも通り覚書+気づき的なものをアップしておく。
<セッション前に思ったこと>
社内研修みたいなものも担当しているので、
計画見直しのための情報収集ができたら尚良い。
あとは技術ノウハウの享受と今後に活かすため。
<ふつうのJavaコーディング>
資料はあとでアップ
説明できる=良いコード
→現在仕事で保守している.netアプリも??がいっぱいで深く頷ける。
コードは読まれる時間のほうが長い(保守)
メソッド引数増やすくらいならメソッド作成する
→保守引き継ぐと思想が分からなかったり、複数の人で作成されたモジュールだと
なおさら分からなくなり、趣味の世界に入っていき、引き継いだ側は大変に 汗)
and or箇所はメソッド抽出を検討
→今はユーザ企業情報シス支援の立場での業務なので
規約やルールを作成・徹底することが難しいが方針はやはり作成すべき。
イミュータブルオブジェクト
openした場所でcloseする。
× メインから渡した先のメソッド内でclose
メソッドリファレンス
ギリギリまで文字列に頼らない
文字列便利なので使いがち(区分など)
enum使い倒す
<エンプラ開発におけるレガシーアプリケーションの巻き取りとモジュール分割の戦い>
IT技術を活用することでビジネス拡大を支援
→モジュール分割により制約を最小化?!
隔週でKPTを実施
http://qiita.com/netetahito/items/8cae1ab27ef010e45270
Atlassianツール活用
https://ja.atlassian.com/try
参考 Selenide~Javaで超簡単・簡潔にUIテストを書く~
http://qiita.com/tatesuke/items/589e30ab9b3dc7037e26
段階的な再構築
→メリット リスク回避、スモールスタート
デメリット 既存課題が残る
自分ができる準備とは??
<新しいTERASOLUNA Batch Frameworkとは>
http://www.terasoluna.jp/product/framework/batch_framework.html
https://ja.osdn.net/projects/terasoluna/wiki/download
http://terasolunaorg.github.io/
OSSなので公開されているのは認識していたが
ドキュメント関連も読み切れないほど充実している印象。
普通にプロジェクトでも使えそう。
<Javaエンジニアに知って欲しいRDBアンチパターン>
たしかに納得という内容が多い印象。
Javaコミュニティだが、DB関連で苦労している人も多いのか
満席、立ち見状態だった。自分も。。
いつも通り覚書+気づき的なものをアップしておく。
<セッション前に思ったこと>
社内研修みたいなものも担当しているので、
計画見直しのための情報収集ができたら尚良い。
あとは技術ノウハウの享受と今後に活かすため。
<ふつうのJavaコーディング>
資料はあとでアップ
説明できる=良いコード
→現在仕事で保守している.netアプリも??がいっぱいで深く頷ける。
コードは読まれる時間のほうが長い(保守)
メソッド引数増やすくらいならメソッド作成する
→保守引き継ぐと思想が分からなかったり、複数の人で作成されたモジュールだと
なおさら分からなくなり、趣味の世界に入っていき、引き継いだ側は大変に 汗)
and or箇所はメソッド抽出を検討
→今はユーザ企業情報シス支援の立場での業務なので
規約やルールを作成・徹底することが難しいが方針はやはり作成すべき。
イミュータブルオブジェクト
openした場所でcloseする。
× メインから渡した先のメソッド内でclose
メソッドリファレンス
ギリギリまで文字列に頼らない
文字列便利なので使いがち(区分など)
enum使い倒す
<エンプラ開発におけるレガシーアプリケーションの巻き取りとモジュール分割の戦い>
IT技術を活用することでビジネス拡大を支援
→モジュール分割により制約を最小化?!
隔週でKPTを実施
http://qiita.com/netetahito/items/8cae1ab27ef010e45270
Atlassianツール活用
https://ja.atlassian.com/try
参考 Selenide~Javaで超簡単・簡潔にUIテストを書く~
http://qiita.com/tatesuke/items/589e30ab9b3dc7037e26
段階的な再構築
→メリット リスク回避、スモールスタート
デメリット 既存課題が残る
自分ができる準備とは??
<新しいTERASOLUNA Batch Frameworkとは>
http://www.terasoluna.jp/product/framework/batch_framework.html
https://ja.osdn.net/projects/terasoluna/wiki/download
http://terasolunaorg.github.io/
OSSなので公開されているのは認識していたが
ドキュメント関連も読み切れないほど充実している印象。
普通にプロジェクトでも使えそう。
<Javaエンジニアに知って欲しいRDBアンチパターン>
たしかに納得という内容が多い印象。
Javaコミュニティだが、DB関連で苦労している人も多いのか
満席、立ち見状態だった。自分も。。
2017年4月26日水曜日
APEX User Group - 第1回Meetup@東京へ行ってきた
1.T字形ER手法×Oracle APEX=超高速開発
沖電グローバルシステムズ 鹿川さん、仲地さん、岩村さん
社内情報システムをAPEXで開発
→WBSなど、一元管理が目的。
4年前から着手
2014年2月~開発
→2016年4月本番稼働
Hinemos
APEX
→仕様変更に強い
→1,2weekで反映を繰り返し
社内システム
→1年運用した状態
T字形ER手法
→ビジネスモデルの解析
事業解析ができるとDB設計完了となる
https://www.its-inc.co.jp/T-formed-ERD.html
http://www.sdi-net.co.jp/
設計工数を削減できるのではないか?!
T字形ER手法と画面実装のパターン化
TMD-Maker
沖縄ではkintone(クラウド)のほうが流行っている。
APEX(オンプレ可)。
実装はPL/SQL
利用ユーザー数:200,300
デザインに関する変更要件について
→アンチパターン
→標準は簡単、標準外だと難しい
HTML5のCanvasで対応
http://www.html5.jp/canvas/ref.html
APEXよりもT字形ER手法に注目した印象
2.APEX5.1.1 ( Oracle Database Cloud Service ) アップグレードよもやま話
株式会社フルエナジー 木原隆文さん/松本昭史さん
HTML DB
→APEXの前身
https://apex.oracle.com/jp
DBAでもAPEXなら開発可能
→eclipseとか不要
エンタープライズ開発には開発要員に対して、啓蒙・教育期間がとても必要な印象。
現行の開発スタイルを維持しつつ、少しずつ新開発スタイルへシフトできると嬉しい。
Excelで行っているQA管理、案件管理は代替に向いている。
アプリケーションの種類によっては、使う言語やAPEXを適用する。
3.大変便利なAPEX、ORDSの実業務での活用例を見て!(日本オラクルさんアピール不足ですよ!)
フジミインコーポレーテッド(社内情報シス) 鈴木 達さん
製造業.社員数800名 情シス4名
パッケージ+OSS
APEX
→SQL+画面操作
基幹システムのマスタ管理、機能を補完する役割として
APEXを導入。
ORDS
→SQLだけでRESTサービス構築可能
http://www.oracle.com/technetwork/jp/developer-tools/rest-data-services/overview/index.html
AngularJS入門者必見!作りながら覚えて10分で理解
http://udemy.benesse.co.jp/development/angularjs.html
AngularJSが軽快そうな印象で楽しそう。
→経営ダッシュボード
ORDS
→RESTだと検索条件の数だけパラメータ必要
→SQL CASE文で対応
4.Wrap-upと次回告知
日本オラクル 新井さん、中嶋さん
次回 ハンズオン
6/1(木)19:00-21:00
1.APEX概要説明
2.アプリ2個作成
http://qiita.com/nkjm/items/2d12beaf9c1b868476f6
沖電グローバルシステムズ 鹿川さん、仲地さん、岩村さん
社内情報システムをAPEXで開発
→WBSなど、一元管理が目的。
4年前から着手
2014年2月~開発
→2016年4月本番稼働
Hinemos
APEX
→仕様変更に強い
→1,2weekで反映を繰り返し
社内システム
→1年運用した状態
T字形ER手法
→ビジネスモデルの解析
事業解析ができるとDB設計完了となる
https://www.its-inc.co.jp/T-formed-ERD.html
http://www.sdi-net.co.jp/
設計工数を削減できるのではないか?!
T字形ER手法と画面実装のパターン化
TMD-Maker
沖縄ではkintone(クラウド)のほうが流行っている。
APEX(オンプレ可)。
実装はPL/SQL
利用ユーザー数:200,300
デザインに関する変更要件について
→アンチパターン
→標準は簡単、標準外だと難しい
HTML5のCanvasで対応
http://www.html5.jp/canvas/ref.html
APEXよりもT字形ER手法に注目した印象
2.APEX5.1.1 ( Oracle Database Cloud Service ) アップグレードよもやま話
株式会社フルエナジー 木原隆文さん/松本昭史さん
HTML DB
→APEXの前身
https://apex.oracle.com/jp
DBAでもAPEXなら開発可能
→eclipseとか不要
エンタープライズ開発には開発要員に対して、啓蒙・教育期間がとても必要な印象。
現行の開発スタイルを維持しつつ、少しずつ新開発スタイルへシフトできると嬉しい。
Excelで行っているQA管理、案件管理は代替に向いている。
アプリケーションの種類によっては、使う言語やAPEXを適用する。
3.大変便利なAPEX、ORDSの実業務での活用例を見て!(日本オラクルさんアピール不足ですよ!)
フジミインコーポレーテッド(社内情報シス) 鈴木 達さん
製造業.社員数800名 情シス4名
パッケージ+OSS
APEX
→SQL+画面操作
基幹システムのマスタ管理、機能を補完する役割として
APEXを導入。
ORDS
→SQLだけでRESTサービス構築可能
http://www.oracle.com/technetwork/jp/developer-tools/rest-data-services/overview/index.html
AngularJS入門者必見!作りながら覚えて10分で理解
http://udemy.benesse.co.jp/development/angularjs.html
AngularJSが軽快そうな印象で楽しそう。
→経営ダッシュボード
ORDS
→RESTだと検索条件の数だけパラメータ必要
→SQL CASE文で対応
4.Wrap-upと次回告知
日本オラクル 新井さん、中嶋さん
次回 ハンズオン
6/1(木)19:00-21:00
1.APEX概要説明
2.アプリ2個作成
http://qiita.com/nkjm/items/2d12beaf9c1b868476f6
2017年4月18日火曜日
【クラウド×IoT】IoTクラウドプラットフォーム勉強会第2回へ行ってきた
オープニング)
CUPAの紹介
http://www.cloud.or.jp/
参考(前回):【クラウド x IoT】IoTクラウドプラットフォーム勉強会 第1回
https://connpass.com/event/49639/
1)NTT Com のAEP「Things Cloud」!
NTT Com IoT推進室 佐々木 勇祐様
1.IoT導入に向けたコムの課題認識
IoT導入ステップについて
IoTではPoCが効果的
→解決したい課題は?
→どんなデータか?、、、
実際やろうとすると、難しい。壁にぶつかる。
→デファクトスタンダードがないのが現状
→規格がさまざま。BLE,Wi-Fi、RDB、、、
IoTあるある
→データは取れても、期待したデータではない
仕方ない事実。
→試行錯誤をスピーディーに進める必要がある。
→そこで「Things Cloud」
■Things Cloud
AEP=アプリ開発を支援するPlatform
SaaSに近いサービス。
4/5ニュースリリース
→http://www.ntt.com/about-us/press-releases/news/article/2017/0405.html
■データモデル
中心となるオブジェクト「デバイス」
→ラズパイ、IoTセンサ
デバイスのデータベース「インベントリ」
「メジャーメント」
→計測値(温度、湿度)
「オペレーション」
→再起動、開錠
「アラーム」
→通信異常、バッテリー低下
「イベント」
→アラーム、イベント
基本的にサービス紹介がメインでした。
2)「いま増えてます。スタートアップ企業で採用するBluemix IoTとWatsonはコレだ。」
IBM BlueHub クラウドエバンジェリスト 佐々木 志門様
IBM bue hub
→スタートアップ企業支援
→技術支援
IBM Bluemix
→AI(Watson)利用できる
オープンイノベーション
→企業間コラボして社会的課題を解決
hatapuro
http://hatapro.co.jp/service/
→日産、ホンダから最高評価
小型ペットボトルより小さいロボット
「初めてのWatson」著)井上研一
Watsonできないこと
→数値の分析
Watson
DSX
→R言語での分析をクラウドサービスで提供している
Apache Spark
→ある程度無償なのでおすすめ
https://datascience.ibm.com/
3)Azure で IoT ~デバイスのSDKから、蓄積、可視化までマルッとお任せ!(仮)
大平 かづみ様
クラウドの普及理由
→スケール性(多くのデータ)、並列・高速処理ができる等
■入力
Event Hub、IoT Hub
Event Hub
→単方向(デバイスからのデータを受け取る)
IoT Hub
→Event Hubより後にローンチされた万能
→デバイス管理
→ファイルアップロード
Node-RED(ノードレッド)
→OSS
FaaS
→Azure Functions
http://www.itmedia.co.jp/enterprise/articles/1701/16/news026.html
PaaS(Platform as a Service)との違いは、PaaSがリクエストごとにアプリケーション全体を
起動・終了させる「リクエストリプライ方式」を、
FaaSは必要なサービス毎に起動・終了させる「イベントドリンブン方式」を狙ったものであることです。
そのため、FaaSであらゆるアプリケーションを作れるというわけではなく、
ECサイトやマーケティングサイトのように負荷予測が難しく、
ダイナミックな負荷の変動に対応しなければならないアプリケーションに向いているといえるでしょう。
CUPAの紹介
http://www.cloud.or.jp/
参考(前回):【クラウド x IoT】IoTクラウドプラットフォーム勉強会 第1回
https://connpass.com/event/49639/
1)NTT Com のAEP「Things Cloud」!
NTT Com IoT推進室 佐々木 勇祐様
1.IoT導入に向けたコムの課題認識
IoT導入ステップについて
IoTではPoCが効果的
→解決したい課題は?
→どんなデータか?、、、
実際やろうとすると、難しい。壁にぶつかる。
→デファクトスタンダードがないのが現状
→規格がさまざま。BLE,Wi-Fi、RDB、、、
IoTあるある
→データは取れても、期待したデータではない
仕方ない事実。
→試行錯誤をスピーディーに進める必要がある。
→そこで「Things Cloud」
■Things Cloud
AEP=アプリ開発を支援するPlatform
SaaSに近いサービス。
4/5ニュースリリース
→http://www.ntt.com/about-us/press-releases/news/article/2017/0405.html
■データモデル
中心となるオブジェクト「デバイス」
→ラズパイ、IoTセンサ
デバイスのデータベース「インベントリ」
「メジャーメント」
→計測値(温度、湿度)
「オペレーション」
→再起動、開錠
「アラーム」
→通信異常、バッテリー低下
「イベント」
→アラーム、イベント
基本的にサービス紹介がメインでした。
2)「いま増えてます。スタートアップ企業で採用するBluemix IoTとWatsonはコレだ。」
IBM BlueHub クラウドエバンジェリスト 佐々木 志門様
IBM bue hub
→スタートアップ企業支援
→技術支援
IBM Bluemix
→AI(Watson)利用できる
オープンイノベーション
→企業間コラボして社会的課題を解決
hatapuro
http://hatapro.co.jp/service/
→日産、ホンダから最高評価
小型ペットボトルより小さいロボット
「初めてのWatson」著)井上研一
Watsonできないこと
→数値の分析
Watson
DSX
→R言語での分析をクラウドサービスで提供している
Apache Spark
→ある程度無償なのでおすすめ
https://datascience.ibm.com/
3)Azure で IoT ~デバイスのSDKから、蓄積、可視化までマルッとお任せ!(仮)
大平 かづみ様
クラウドの普及理由
→スケール性(多くのデータ)、並列・高速処理ができる等
■入力
Event Hub、IoT Hub
Event Hub
→単方向(デバイスからのデータを受け取る)
IoT Hub
→Event Hubより後にローンチされた万能
→デバイス管理
→ファイルアップロード
Node-RED(ノードレッド)
→OSS
FaaS
→Azure Functions
http://www.itmedia.co.jp/enterprise/articles/1701/16/news026.html
PaaS(Platform as a Service)との違いは、PaaSがリクエストごとにアプリケーション全体を
起動・終了させる「リクエストリプライ方式」を、
FaaSは必要なサービス毎に起動・終了させる「イベントドリンブン方式」を狙ったものであることです。
そのため、FaaSであらゆるアプリケーションを作れるというわけではなく、
ECサイトやマーケティングサイトのように負荷予測が難しく、
ダイナミックな負荷の変動に対応しなければならないアプリケーションに向いているといえるでしょう。
登録:
投稿 (Atom)